@espresso-lab/mantine-data-table 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("react/jsx-runtime"),require("@mantine/core"),require("@mantine/dates"),require("@mantine/form"),require("@tabler/icons-react"),require("@mantine/hooks")):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`@mantine/core`,`@mantine/dates`,`@mantine/form`,`@tabler/icons-react`,`@mantine/hooks`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.MantineDataTable={},e.React,e.react_jsx_runtime,e.MantineCore,e._mantine_dates,e.MantineForm,e.TablerIconsReact,e.MantineHooks))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var c=Object.create,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty,m=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=d(t),a=0,o=i.length,s;a<o;a++)s=i[a],!p.call(e,s)&&s!==n&&l(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=u(t,s))||r.enumerable});return e};t=((e,t,n)=>(n=e==null?{}:c(f(e)),m(t||!e||!e.__esModule?l(n,`default`,{value:e,enumerable:!0}):n,e)))(t,1);var h=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(){}},g=new class extends h{#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`}},_={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},v=new class{#e=_;#t=!1;setTimeoutProvider(e){process.env.NODE_ENV!==`production`&&this.#t&&e!==this.#e&&console.error(`[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,{previous:this.#e,provider:e}),this.#e=e,process.env.NODE_ENV!==`production`&&(this.#t=!1)}setTimeout(e,t){return process.env.NODE_ENV!==`production`&&(this.#t=!0),this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!==`production`&&(this.#t=!0),this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function y(e){setTimeout(e,0)}var b=typeof window>`u`||`Deno`in globalThis;function x(){}function S(e){return typeof e==`number`&&e>=0&&e!==1/0}function C(e,t){return Math.max(e+(t||0)-Date.now(),0)}function w(e,t){return typeof e==`function`?e(t):e}function T(e,t){return typeof e==`function`?e(t):e}function E(e){return JSON.stringify(e,(e,t)=>j(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}var D=Object.prototype.hasOwnProperty;function O(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=A(e)&&A(t);if(!r&&!(j(e)&&j(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:D.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=O(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function k(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 A(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function j(e){if(!M(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!M(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function M(e){return Object.prototype.toString.call(e)===`[object Object]`}function N(e,t,n){if(typeof n.structuralSharing==`function`)return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!==`production`)try{return O(e,t)}catch(e){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${e}`),e}return O(e,t)}return t}function ee(e,t){return typeof e==`function`?e(...t):!!e}var P=(()=>{let e=()=>b;return{isServer(){return e()},setIsServer(t){e=t}}})();function te(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var ne=y;function re(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=ne,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 F=re(),ie=new class extends h{#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 ae(e){return(e??`online`)===`online`?ie.isOnline():!0}function oe(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ae(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}var se=class extends h{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=te(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),ce(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return le(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return le(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 T(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&&!k(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&ue(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||T(this.options.enabled,this.#t)!==T(t.enabled,this.#t)||w(this.options.staleTime,this.#t)!==w(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||T(this.options.enabled,this.#t)!==T(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return fe(this,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),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.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);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(x)),t}#g(){this.#b();let e=w(this.options.staleTime,this.#t);if(P.isServer()||this.#r.isStale||!S(e))return;let t=C(this.#r.dataUpdatedAt,e)+1;this.#d=v.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(P.isServer()||T(this.options.enabled,this.#t)===!1||!S(this.#p)||this.#p===0)&&(this.#f=v.setInterval(()=>{(this.options.refetchIntervalInBackground||g.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(v.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(v.clearInterval(this.#f),this.#f=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&&ce(e,t),o=i&&ue(e,n,t,r);(a||o)&&(l={...l,...oe(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.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=N(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=N(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0,x={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:de(e,t),refetch:this.refetch,promise:this.#o,isEnabled:T(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=x.data!==void 0,r=x.status===`error`&&!t,i=e=>{r?e.reject(x.error):t&&e.resolve(x.data)},a=()=>{i(this.#o=x.promise=te())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||x.data!==o.value)&&a();break;case`rejected`:(!r||x.error!==o.reason)&&a();break}}return x}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!k(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);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)})})()}))}#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()}#C(e){F.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function I(e,t){return T(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&T(t.retryOnMount,e)===!1)}function ce(e,t){return I(e,t)||e.state.data!==void 0&&le(e,t,t.refetchOnMount)}function le(e,t,n){if(T(t.enabled,e)!==!1&&w(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&de(e,t)}return!1}function ue(e,t,n,r){return(e!==t||T(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&de(e,n)}function de(e,t){return T(t.enabled,e)!==!1&&e.isStaleByTime(w(t.staleTime,e))}function fe(e,t){return!k(e.getCurrentResult(),t)}function pe(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var me=class extends h{#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),k(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&E(t.mutationKey)!==E(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}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??pe();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){F.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)})})}},he=t.createContext(void 0),ge=e=>{let n=t.useContext(he);if(e)return e;if(!n)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return n},L=({client:e,children:r})=>(t.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,n.jsx)(he.Provider,{value:e,children:r})),_e=t.createContext(!1),ve=()=>t.useContext(_e);_e.Provider;function ye(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var be=t.createContext(ye()),xe=()=>t.useContext(be),Se=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?ee(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Ce=e=>{t.useEffect(()=>{e.clearReset()},[e])},R=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||ee(n,[e.error,r])),we=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))}},Te=(e,t)=>e.isLoading&&e.isFetching&&!t,Ee=(e,t)=>e?.suspense&&t.isPending,De=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function z(e,n,r){if(process.env.NODE_ENV!==`production`&&(typeof e!=`object`||Array.isArray(e)))throw Error(`Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object`);let i=ve(),a=xe(),o=ge(r),s=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(s);let c=o.getQueryCache().get(s.queryHash);process.env.NODE_ENV!==`production`&&(s.queryFn||console.error(`[${s.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`));let l=e.subscribed!==!1;s._optimisticResults=i?`isRestoring`:l?`optimistic`:void 0,we(s),Se(s,a,c),Ce(a);let u=!o.getQueryCache().get(s.queryHash),[d]=t.useState(()=>new n(o,s)),f=d.getOptimisticResult(s),p=!i&&l;if(t.useSyncExternalStore(t.useCallback(e=>{let t=p?d.subscribe(F.batchCalls(e)):x;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),t.useEffect(()=>{d.setOptions(s)},[s,d]),Ee(s,f))throw De(s,d,a);if(R({result:f,errorResetBoundary:a,throwOnError:s.throwOnError,query:c,suspense:s.suspense}))throw f.error;return o.getDefaultOptions().queries?._experimental_afterQuery?.(s,f),s.experimental_prefetchInRender&&!P.isServer()&&Te(f,i)&&(u?De(s,d,a):c?.promise)?.catch(x).finally(()=>{d.updateResult()}),s.notifyOnChangeProps?f:d.trackResult(f)}function B(e,t){return z(e,se,t)}function Oe(e,n){let r=ge(n),[i]=t.useState(()=>new me(r,e));t.useEffect(()=>{i.setOptions(e)},[i,e]);let a=t.useSyncExternalStore(t.useCallback(e=>i.subscribe(F.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),o=t.useCallback((e,t)=>{i.mutate(e,t).catch(x)},[i]);if(a.error&&ee(i.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:o,mutateAsync:a.mutate}}var ke=(0,t.createContext)(void 0),Ae=async()=>({"Content-Type":`application/json`});function je({children:e,baseUrl:t,queryClient:r,getHeaders:i=Ae}){return(0,n.jsx)(ke.Provider,{value:{baseUrl:t,queryClient:r,getHeaders:i},children:(0,n.jsx)(L,{client:r,children:e})})}function V(){let e=(0,t.useContext)(ke);if(!e)throw Error(`useDataTable must be used within a DataTableProvider`);return e}function Me(e){if(typeof e==`string`)try{let t=JSON.parse(e);return{message:t.message||e,code:t.code,details:t.details}}catch{return{message:e}}return e instanceof Error?{message:e.message}:{message:`Unbekannter Fehler`}}async function H(e,t){let n=await fetch(e,t);if(n.status>=400){let e=await n.text();if(!e)throw Error(`HTTP ${n.status}: ${n.statusText}`);let t=null;try{t=JSON.parse(e)}catch{throw Error(e)}throw Error(t?.message??t?.error??e)}return n}var U=e=>e.map(e=>e.toString());async function Ne(e,t){return(await H(e,{method:`GET`,headers:await t()})).json()}async function W(e,t,n){return(await H(`${e}/${t}`,{method:`GET`,headers:await n()})).json()}async function Pe(e,t,n){await H(`${e}/${t}`,{method:`DELETE`,headers:await n()})}async function Fe(e,t,n){let r=await H(e,{method:`POST`,headers:await n(),body:JSON.stringify(t)});return r.status===204?t:r.json()}async function Ie(e,t,n,r){let i=await H(t,{method:e,headers:await n(),body:r?JSON.stringify(r):void 0});if(i.status!==204)return i.json()}async function Le(e,t,n){let r=await H(`${e}/${t.id}`,{method:`PUT`,headers:await n(),body:JSON.stringify(t)});return r.status===204?t:r.json()}function Re(e,t,n){let{baseUrl:r,getHeaders:i}=V();return B({queryKey:[...U(t),String(n?.toString())],queryFn:()=>W(`${r}${e}`,n,i),enabled:!!n})}function ze(e,t,n=!0){let{baseUrl:r,getHeaders:i}=V();return B({queryKey:U(t),queryFn:()=>Ne(`${r}${e}`,i),enabled:n})}function Be(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=V();return Oe({mutationKey:U(t),mutationFn:t=>Fe(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:U(t)})}})}function Ve(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=V();return Oe({mutationKey:U(t),mutationFn:t=>Le(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:U(t)})}})}function He(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=V();return Oe({mutationKey:U(t),mutationFn:t=>Pe(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:U(t)})}})}function Ue(e,t){return typeof e.required==`function`?e.required(t):!!e.required}function We(e){return e.reduce((e,t)=>(e[t.id]=t.type===`boolean`?t.defaultValue??!1:t.defaultValue??``,e),{})}function Ge(e){return e.filter(e=>e.required).reduce((e,t)=>(e[t.id]=(e,n)=>t.conditional&&!t.conditional(n)||!Ue(t,n)||e?null:`Pflichtfeld`,e),{})}function Ke(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t===``?void 0:t]))}function qe(e,t){let n={...e};return t.forEach(e=>{let t=e.id;e.type===`boolean`&&n[t]===null?n[t]=!1:e.type===`date`&&n[t]?n[t]=new Date(n[t]):n[t]===null&&(n[t]=``)}),n}function Je({fields:e,steps:o,record:s,recordId:c,submitting:l,error:u,onPersist:d,onClose:f}){let[p,m]=(0,t.useState)(0),[h,g]=(0,t.useState)(!1),_=(0,a.useForm)({mode:`uncontrolled`,initialValues:We(e),validate:Ge(e)});(0,t.useEffect)(()=>{if(s){let t=qe(s,e);_.initialize(t),_.setValues(t)}},[s]);let v=[...new Set(e.filter(e=>typeof e.step==`number`).map(e=>e.step))],y=v.length>0,b=p===v.length-1;function x(e){let t=_.getValues();if(e.conditional&&!e.conditional(t))return null;let a=Ue(e,t),o=_.getInputProps(e.id);switch(e.type){case`number`:return(0,n.jsx)(r.NumberInput,{decimalSeparator:`,`,thousandSeparator:`.`,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id));case`date`:return(0,n.jsx)(i.DateInput,{valueFormat:`DD.MM.YYYY`,clearable:!0,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id));case`boolean`:return(0,n.jsx)(r.Checkbox,{mt:`md`,label:e.column.title,required:a,..._.getInputProps(e.id,{type:`checkbox`})},_.key(e.id));case`textarea`:return(0,n.jsx)(r.Textarea,{minRows:3,autosize:!0,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id));case`custom`:return e.render?.({...t,...c!=null&&{id:c}},_.setValues,g,{error:o.error,required:a});default:return(0,n.jsx)(r.TextInput,{type:e.id.includes(`email`)?`email`:void 0,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id))}}let S=r=>(r===void 0?e:e.filter(e=>e.step===r)).map(e=>(0,n.jsx)(t.Fragment,{children:x(e)},e.id));return(0,n.jsxs)(n.Fragment,{children:[u?.message&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:u.name??`Fehler aufgetreten`,mb:`lg`,children:u.message}),(0,n.jsxs)(`form`,{onSubmit:_.onSubmit(async e=>{let t=Ke(e);await d(t)&&(y&&!b?m(e=>e+1):(_.setInitialValues(t),_.reset(),f()))}),children:[y?(0,n.jsx)(r.Stepper,{active:p,size:`sm`,children:v.map(e=>(0,n.jsx)(r.Stepper.Step,{...o?.[e-1]?{label:o[e-1].label}:{},children:S(e)},e))}):S(),!h&&(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{variant:`outline`,onClick:()=>y&&p>0?m(e=>e-1):f(),children:y&&p>0?`Zurück`:`Abbrechen`}),(0,n.jsx)(r.Button,{type:`submit`,loading:l,children:y&&!b?`Weiter`:`Speichern`})]})]})]})}function Ye({fields:e,onClose:r,queryKey:i,apiPath:a,steps:o,onCreated:s}){let[c,l]=(0,t.useState)(),{mutateAsync:u,isPending:d,error:f}=Be(a,i),{mutateAsync:p,isPending:m}=Ve(a,i);return(0,n.jsx)(Je,{fields:e,steps:o,recordId:c,submitting:d||m,error:f,onPersist:async e=>{try{if(c!=null)await p({...e,id:c});else{let t=await u(e);l(t.id),s?.(t.id)}return!0}catch{return!1}},onClose:r})}function Xe(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Xe(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function G(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Xe(e))&&(r&&(r+=` `),r+=t);return r}function K(e,t,n){return e?(0,r.parseThemeColor)({color:typeof e==`object`?e[n]:e,theme:t}).value:void 0}function Ze({theme:e,c:t,backgroundColor:n,borderColor:r,rowBorderColor:i,stripedColor:a,highlightOnHoverColor:o}){return{"--mantine-datatable-color-light":K(t,e,`light`),"--mantine-datatable-color-dark":K(t,e,`dark`),"--mantine-datatable-background-color-light":K(n,e,`light`),"--mantine-datatable-background-color-dark":K(n,e,`dark`),"--mantine-datatable-border-color-light":K(r,e,`light`),"--mantine-datatable-border-color-dark":K(r,e,`dark`),"--mantine-datatable-row-border-color-light":K(i,e,`light`),"--mantine-datatable-row-border-color-dark":K(i,e,`dark`),"--mantine-datatable-striped-color-light":K(a,e,`light`),"--mantine-datatable-striped-color-dark":K(a,e,`dark`),"--mantine-datatable-highlight-on-hover-color-light":K(o,e,`light`),"--mantine-datatable-highlight-on-hover-color-dark":K(o,e,`dark`)}}function Qe({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:n}){return{"--mantine-datatable-pagination-active-text-color-light":K(t,e,`light`),"--mantine-datatable-pagination-active-text-color-dark":K(t,e,`dark`),"--mantine-datatable-pagination-active-background-color-light":K(n,e,`light`),"--mantine-datatable-pagination-active-background-color-dark":K(n,e,`dark`)}}function $e({theme:e,color:t,backgroundColor:n}){return{"--mantine-datatable-row-color-light":K(t,e,`light`),"--mantine-datatable-row-color-dark":K(t,e,`dark`),"--mantine-datatable-row-background-color-light":K(n,e,`light`),"--mantine-datatable-row-background-color-dark":K(n,e,`dark`)}}var[et,tt]=(0,r.createSafeContext)(`useDataTableColumnsContext must be used within DataTableColumnProvider`),nt=e=>{let{children:r,columnsOrder:i,setColumnsOrder:a,columnsToggle:o,setColumnsToggle:s,columnsPinning:c,setColumnsPinning:l,resetColumnsOrder:u,resetColumnsToggle:d,resetColumnsPinning:f,setColumnWidth:p,setMultipleColumnWidths:m,resetColumnsWidth:h,beginResize:g,endResize:_,pinnedMap:v}=e,[y,b]=(0,t.useState)(``),[x,S]=(0,t.useState)(``);return(0,n.jsx)(et,{value:{sourceColumn:y,setSourceColumn:b,targetColumn:x,setTargetColumn:S,columnsToggle:o,setColumnsToggle:s,columnsPinning:c,setColumnsPinning:l,swapColumns:()=>{if(!i||!a||!y||!x)return;let e=v.get(y),t=v.get(x);if(e?.logicalSide!==t?.logicalSide)return;let n=i.indexOf(y),r=i.indexOf(x);if(n!==-1&&r!==-1){let e=[...i],[t]=e.splice(n,1);e.splice(r,0,t),a(e)}},resetColumnsOrder:u,resetColumnsToggle:d,resetColumnsPinning:f,setColumnWidth:p,setMultipleColumnWidths:m,resetColumnsWidth:h,beginResize:g,endResize:_},children:r})};function rt(){return(0,n.jsx)(`tr`,{className:`mantine-datatable-empty-row`,children:(0,n.jsx)(`td`,{})})}function it(){return(0,n.jsxs)(`svg`,{width:`24`,height:`24`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74`}),(0,n.jsx)(`path`,{d:`M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6`}),(0,n.jsx)(`path`,{d:`M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4`}),(0,n.jsx)(`path`,{d:`M3 3l18 18`})]})}function at({icon:e,text:t,active:i,children:a}){return(0,n.jsx)(r.Center,{className:`mantine-datatable-empty-state`,"data-active":i||void 0,children:a||(0,n.jsxs)(n.Fragment,{children:[e||(0,n.jsx)(`div`,{className:`mantine-datatable-empty-state-icon`,children:(0,n.jsx)(it,{})}),(0,n.jsx)(r.Text,{component:`div`,size:`sm`,c:`dimmed`,children:t})]})})}function ot({key:e,columns:n=[],getInitialValueInEffect:r=!0}){let i=(0,t.useMemo)(()=>n.map(e=>({accessor:e.accessor,defaultPinned:e.pinned,pinnable:!!e.pinnable,pinned:e.pinned})),[n]),[a,o]=(0,s.useLocalStorage)({key:e?`${e}-columns-pinning`:``,defaultValue:e?i:void 0,getInitialValueInEffect:r}),c=a??i;function l(t){e&&o(typeof t==`function`?e=>t(e??i):t)}let u=(0,t.useMemo)(()=>{if(!c)return i;let e=[];return c.forEach(t=>{n.find(e=>e.accessor===t.accessor)&&e.push(t)}),n.forEach(t=>{e.find(e=>e.accessor===t.accessor)||e.push({accessor:t.accessor,defaultPinned:t.pinned,pinnable:!!t.pinnable,pinned:t.pinned})}),e},[c,n,i]);(0,t.useEffect)(()=>{e&&c&&JSON.stringify(u)!==JSON.stringify(c)&&o(u)},[e,u,c,o]);let d=()=>{l(i)};return e?{columnsPinning:u,setColumnsPinning:l,resetColumnsPinning:d}:{columnsPinning:i,setColumnsPinning:l,resetColumnsPinning:d}}function st({key:e,columns:n=[],getInitialValueInEffect:r=!0}){let i=(0,t.useMemo)(()=>n?n.map(e=>e.accessor):[],[n]),[a,o]=(0,s.useLocalStorage)({key:e?`${e}-columns-order`:``,defaultValue:e?i:void 0,getInitialValueInEffect:r}),c=a??i;function l(t){e&&o(t)}let u=(0,t.useMemo)(()=>{if(!c)return i;let e=[];return c.forEach(t=>{n.find(e=>e.accessor===t)&&e.push(t)}),n.forEach(t=>{e.includes(t.accessor)||e.push(t.accessor)}),e},[c,n,i]);(0,t.useEffect)(()=>{e&&c&&JSON.stringify(u)!==JSON.stringify(c)&&o(u)},[e,u,c,o]);let d=()=>{l(i)};return e?{columnsOrder:u,setColumnsOrder:l,resetColumnsOrder:d}:{columnsOrder:c,setColumnsOrder:l,resetColumnsOrder:d}}function ct({key:e,columns:n=[],getInitialValueInEffect:r=!0,headerRef:i}){let a=(0,t.useMemo)(()=>n.some(e=>e.resizable&&!e.hidden&&e.accessor!==`__selection__`),[n]),o=(0,t.useCallback)(()=>n.filter(e=>e.accessor!==`__selection__`).map(e=>({[e.accessor]:e.width??`auto`})),[n]),[c,l]=(0,s.useLocalStorage)({key:e?`${e}-columns-width`:``,defaultValue:e?o():void 0,getInitialValueInEffect:r}),[u,d]=(0,t.useState)(()=>e&&c&&c.length>0?c:o()),[f,p]=(0,t.useState)(!1),m=(0,t.useRef)(!1);(0,t.useEffect)(()=>{e&&(!c||c.length===0||d(c))},[e,c]),(0,t.useEffect)(()=>{d(e=>{let t=new Set(n.filter(e=>e.accessor!==`__selection__`).map(e=>String(e.accessor))),r=e.filter(e=>t.has(Object.keys(e)[0])),i=new Set(r.map(e=>Object.keys(e)[0])),a=!1;for(let e of n){if(e.accessor===`__selection__`)continue;let t=String(e.accessor);i.has(t)||(r.push({[t]:e.width??`auto`}),a=!0)}return r.length!==e.length||a?r:e})},[n]);let h=(0,t.useCallback)(e=>{let t=e.filter(e=>e.accessor!==`__selection__`);t.length!==0&&(m.current=!0,d(e=>e.map(e=>{let n=Object.keys(e)[0],r=t.find(e=>e.accessor===n);return r?{[n]:r.width}:e})))},[]);(0,t.useEffect)(()=>{!e||!m.current||f||(m.current=!1,l(u))},[e,u,f,l]);let g=(0,t.useCallback)((e,t)=>{h([{accessor:e,width:t}])},[h]),_=(0,t.useCallback)(e=>{h(e)},[h]),v=(0,t.useCallback)(()=>{p(!0);let e=i?.current;if(!e)return;let t=Array.from(e.querySelectorAll(`th[data-accessor]`));if(t.length===0)return;let n=[];for(let e of t){let t=e.getAttribute(`data-accessor`);if(!t||t===`__selection__`)continue;let r=Math.round(e.getBoundingClientRect().width);n.push({[t]:`${r}px`})}m.current=!0,d(n)},[i]),y=(0,t.useCallback)(()=>{p(!1)},[]);return{columnsWidth:u,setColumnsWidth:h,setColumnWidth:g,setMultipleColumnWidths:_,resetColumnsWidth:(0,t.useCallback)(()=>{let e=o();m.current=!0,d(e),p(!1)},[o]),hasResizableColumns:a,allResizableWidthsInitial:(0,t.useMemo)(()=>{if(!a)return!1;let e=n.filter(e=>e.resizable&&!e.hidden&&e.accessor!==`__selection__`);return u.filter(t=>{let n=Object.keys(t)[0];return e.some(e=>e.accessor===n)}).every(e=>{let t=Object.values(e)[0];return t===`auto`||t===`initial`})},[a,n,u]),measureAndSetColumnWidths:(0,t.useCallback)(()=>{},[]),isResizing:f,beginResize:v,endResize:y}}function lt({key:e,columns:n=[],getInitialValueInEffect:r=!0}){let i=(0,t.useMemo)(()=>n?.map(e=>({accessor:e.accessor,defaultToggle:e.defaultToggle||!0,toggleable:e.toggleable,toggled:e.defaultToggle===void 0?!0:e.defaultToggle})),[n]),[a,o]=(0,s.useLocalStorage)({key:e?`${e}-columns-toggle`:``,defaultValue:e?i:void 0,getInitialValueInEffect:r}),c=a??i;function l(t){e&&o(t)}let u=(0,t.useMemo)(()=>{if(!c)return i;let e=[];return c.forEach(t=>{n.find(e=>e.accessor===t.accessor)&&e.push(t)}),n.forEach(t=>{e.find(e=>e.accessor===t.accessor)||e.push({accessor:t.accessor,defaultToggle:t.defaultToggle||!0,toggleable:t.toggleable,toggled:t.defaultToggle===void 0?!0:t.defaultToggle})}),e},[c,n,i]);(0,t.useEffect)(()=>{e&&c&&JSON.stringify(u)!==JSON.stringify(c)&&o(u)},[e,u,c,o]);let d=()=>{l(i)};return e?{columnsToggle:u,setColumnsToggle:l,resetColumnsToggle:d}:{columnsToggle:c,setColumnsToggle:l,resetColumnsToggle:d}}var ut=({key:e,columns:n=[],getInitialValueInEffect:r=!0,headerRef:i,scrollViewportRef:a})=>{let{columnsOrder:o,setColumnsOrder:s,resetColumnsOrder:c}=st({key:e,columns:n,getInitialValueInEffect:r}),{columnsToggle:l,setColumnsToggle:u,resetColumnsToggle:d}=lt({key:e,columns:n,getInitialValueInEffect:r}),{columnsPinning:f,setColumnsPinning:p,resetColumnsPinning:m}=ot({key:e,columns:n,getInitialValueInEffect:r}),{columnsWidth:h,setColumnsWidth:g,setColumnWidth:_,setMultipleColumnWidths:v,resetColumnsWidth:y,hasResizableColumns:b,allResizableWidthsInitial:x,measureAndSetColumnWidths:S,isResizing:C,beginResize:w,endResize:T}=ct({key:e,columns:n,getInitialValueInEffect:r,headerRef:i,scrollViewportRef:a}),E=(0,t.useMemo)(()=>{let e;e=o?o.map(e=>n.find(t=>t.accessor===e)).map(e=>{let t=f.find(t=>t.accessor===e?.accessor),n=e?.pinnable?t?.pinned:e?.pinned;return{...e,hidden:e?.hidden||!l.find(t=>t.accessor===e?.accessor)?.toggled,pinned:n}}):n;let t=e.filter(e=>e.pinned===`left`),r=e.filter(e=>!e.pinned),i=e.filter(e=>e.pinned===`right`);return[...t,...r,...i].map(e=>{if(e?.accessor===`__selection__`)return e;let t=e?.accessor,n=h.find(e=>t in e);if(!n)return e;let r=n[t];return r===void 0||r===`auto`||r===`initial`?e:{...e,width:r}})},[n,o,l,f,h]),D=(0,t.useMemo)(()=>{let e=E.filter(e=>!e.hidden&&e.accessor!==`__selection__`);return e.length===0?!1:e.every(e=>typeof e.width==`string`&&/px$/.test(e.width))},[E]);return{effectiveColumns:E,setColumnsOrder:s,columnsOrder:o,resetColumnsOrder:c,columnsToggle:l,setColumnsToggle:u,resetColumnsToggle:d,columnsPinning:f,setColumnsPinning:p,resetColumnsPinning:m,columnsWidth:h,setColumnsWidth:g,setColumnWidth:_,setMultipleColumnWidths:v,resetColumnsWidth:y,hasResizableColumns:b,allResizableWidthsInitial:x,measureAndSetColumnWidths:S,isResizing:C,isLocked:D,tableWidth:(0,t.useMemo)(()=>{if(!D)return null;let e=0;for(let t of E){if(t.hidden||t.accessor===`__selection__`)continue;let n=t.width;if(typeof n!=`string`)continue;let r=parseInt(n,10);Number.isNaN(r)||(e+=r)}return e>0?e:null},[D,E]),beginResize:w,endResize:T}},q=typeof window<`u`?t.useLayoutEffect:t.useEffect;function dt(e){let n=(0,t.useRef)(e);return n.current=e,n}var J=`--mantine-datatable-header-height`,ft=`--mantine-datatable-footer-height`,pt=`--mantine-datatable-selection-column-width`,mt=`--mantine-datatable-last-row-border-bottom`;function Y(e,t,n){e?.style.setProperty(t,n)}function ht(e){let t=e.borderBoxSize?.[0]||e.contentBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}}function gt(e,t,n){if(e){let r=new ResizeObserver(e=>{let n=e[0];n&&t(ht(n))});return r.observe(e),()=>{r.disconnect(),n()}}}function _t({scrollCallbacks:e,withRowBorders:n}){let i={root:(0,t.useRef)(null),table:(0,t.useRef)(null),scrollViewport:(0,t.useRef)(null),header:(0,t.useRef)(null),footer:(0,t.useRef)(null),selectionColumnHeader:(0,t.useRef)(null)},{root:a,table:o,scrollViewport:s,header:c,footer:l,selectionColumnHeader:u}=i,d=dt({withRowBorders:n}),f=dt(e),p=(0,t.useRef)(()=>{}),m=(0,t.useRef)(()=>{}),h=(0,t.useCallback)(e=>{f.current.onScroll?.(e),p.current()},[]);return(0,t.useEffect)(()=>gt(c.current,e=>{Y(a.current,J,`${e.height}px`)},()=>Y(a.current,J,`0`)),[c.current]),(0,t.useEffect)(()=>gt(l.current,e=>{Y(a.current,ft,`${e.height}px`)},()=>Y(a.current,ft,`0`)),[l.current]),(0,t.useEffect)(()=>gt(u.current,e=>{Y(a.current,pt,`${e.width}px`)},()=>Y(a.current,pt,`0`)),[u.current]),q(()=>{if(typeof window>`u`)return;let e={top:!0,bottom:!0,left:!0,right:!0},t={width:0,height:0},n={width:0,height:0};function i(t,n){let r=e[t];return e[t]=n,Y(a.current,`--mantine-datatable-${t}-shadow-opacity`,n?`0`:`1`),r}function c(){let e=t.height-n.height,r=e<0;Y(a.current,`--mantine-datatable-footer-position`,r?`relative`:`sticky`),Y(a.current,`--mantine-datatable-footer-bottom`,r?`${e}px`:`0`)}function l(){d.current.withRowBorders&&t.height<n.height?Y(a.current,mt,`${(0,r.rem)(`1px`)} solid var(--mantine-datatable-border-color)`):Y(a.current,mt,`unset`)}m.current=l;function u(){let e=f.current,r=s.current,a=r?.scrollTop??0,o=r?.scrollLeft??0,c=a===0,l=t.height-a-n.height<1,u=i(`top`,c),d=i(`bottom`,l);c&&c!==u&&e.onScrollToTop?.(),l&&l!==d&&e.onScrollToBottom?.();let p=r?getComputedStyle(r).direction===`rtl`:!1,m=(r?.scrollWidth??0)-n.width,h,g;if(p){let e=Math.abs(o);g=e<1,h=m-e<1}else h=o<1,g=t.width-o-n.width<1;let _=i(`left`,h),v=i(`right`,g);h&&h!==_&&e.onScrollToLeft?.(),g&&g!==v&&e.onScrollToRight?.()}p.current=u;let h=new ResizeObserver(e=>{for(let r of e)switch(r.target.tagName){case`TABLE`:t=ht(r);break;case`DIV`:n=ht(r);break}u(),c(),l()});return h.observe(o.current),h.observe(s.current),()=>{h.disconnect()}},[]),q(()=>{m.current()},[n]),{refs:i,onScroll:h}}function vt({columns:e,theadRef:n,tbodyRef:r,selectionColumnHeaderRef:i,selectionVisible:a,pinFirstColumn:o,pinLastColumn:s}){let[c,l]=(0,t.useState)(new Map),u=(0,t.useCallback)(()=>{if(!o&&!s&&!e.some(e=>e.pinned))return;let t=n.current??r.current;if(!t)return;let c=!!n.current,u=c?t.querySelector(`tr:last-of-type`):t.querySelector(`tr:first-of-type`);if(!u)return;let d=getComputedStyle(t).direction===`rtl`,f=new Map;if(c)u.querySelectorAll(`th[data-accessor]`).forEach(e=>{let t=e.dataset.accessor;if(t){let n=e.getBoundingClientRect().width;n>0&&f.set(t,n)}});else{let t=e.filter(e=>!e.hidden);u.querySelectorAll(`td:not(.mantine-datatable-row-selector-cell):not(.mantine-datatable-row-expansion-cell)`).forEach((e,n)=>{if(t[n]){let r=e.getBoundingClientRect().width;r>0&&f.set(String(t[n].accessor),r)}})}let p=0;if(a){let e=i.current??t.querySelector(c?`.mantine-datatable-header-selector-cell`:`.mantine-datatable-row-selector-cell`);e&&(p=e.getBoundingClientRect().width)}let m=e.filter(e=>!e.hidden&&f.has(String(e.accessor))).map(e=>String(e.accessor)),h=new Map;for(let t of e){let e=String(t.accessor);m.includes(e)&&(t.pinned?h.set(e,t.pinned):o&&e===m[0]&&!h.has(e)?h.set(e,`left`):s&&e===m[m.length-1]&&!h.has(e)&&h.set(e,`right`))}let g=m.filter(e=>h.get(e)===`left`),_=m.filter(e=>h.get(e)===`right`),v=new Map,y=p;g.forEach((e,t)=>{v.set(e,{position:d?`right`:`left`,logicalSide:`left`,offset:y,isBoundary:t===g.length-1}),y+=f.get(e)||0});let b=-.4,x=[..._].reverse();x.forEach((e,t)=>{v.set(e,{position:d?`left`:`right`,logicalSide:`right`,offset:b,isBoundary:t===x.length-1}),b+=f.get(e)||0}),l(e=>{if(e.size!==v.size)return v;for(let[t,n]of v){let r=e.get(t);if(!r||r.position!==n.position||r.logicalSide!==n.logicalSide||r.offset!==n.offset||r.isBoundary!==n.isBoundary)return v}return e})},[e,a,n,r,i,o,s]);return(0,t.useEffect)(()=>{if(!o&&!s&&!e.some(e=>e.pinned))return;let t=n.current??r.current;if(!t)return;let i=!!n.current,a=i?t.querySelector(`tr:last-of-type`):t.querySelector(`tr:first-of-type`);if(!a)return;let c=new ResizeObserver(u);return a.querySelectorAll(i?`th`:`td`).forEach(e=>{c.observe(e)}),()=>c.disconnect()},[n,r,u]),q(u,[u]),{pinnedMap:c,hasLeftPinned:[...c.values()].some(e=>e.logicalSide===`left`),hasRightPinned:[...c.values()].some(e=>e.logicalSide===`right`)}}function yt(e){let[n,r]=(0,t.useState)(null);return(0,t.useEffect)(()=>{r(null)},[e?.join(`:`)||``]),{lastSelectionChangeIndex:n,setLastSelectionChangeIndex:r}}function bt(e,t){let n=()=>{t(e.map(e=>e.matches))},r=e.map(e=>{try{return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)}catch{return e.addListener(n),()=>e.removeListener(n)}});return()=>{r.forEach(e=>{e()})}}function xt(e,t){return t||(typeof window<`u`&&`matchMedia`in window?e.map(e=>window.matchMedia(e).matches):e.map(()=>!1))}function St(e,n,{getInitialValueInEffect:r}={getInitialValueInEffect:!0}){let[i,a]=(0,t.useState)(r?n:xt(e,n)),o=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(`matchMedia`in window)return o.current=e.map(e=>window.matchMedia(e)),a(o.current.map(e=>e.matches)),bt(o.current,e=>{a(e)})},[e]),i}function Ct(e){let n=(0,r.useMantineTheme)();return St((0,t.useMemo)(()=>e.map(e=>(typeof e==`function`?e(n):e)??``),[e,n]),(0,t.useMemo)(()=>e.map(()=>!0),[e]))}function wt(e){let t=(0,r.useMantineTheme)();return(0,s.useMediaQuery)((typeof e==`function`?e(t):e)||``,!0)}function Tt(e){let t=e.replace(/([a-z\d])([A-Z]+)/g,`$1 $2`).replace(/\W|_/g,` `).trim().toLowerCase();return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function Et(e,t,n){return e.filter(e=>!t.map(n).includes(n(e)))}function Dt(e,t){return e.filter((e,n,r)=>n===r.findIndex(n=>t(e)===t(n)))}function Ot(e,t){return t?t.match(/([^[.\]])+/g).reduce((e,t)=>e&&e[t],e):void 0}function X(e,t){return typeof t==`string`?Ot(e,t):t(e)}function kt(e){return!e||e.length===0?0:Math.max(...e.map(e=>e.groups&&e.groups.length>0?1+kt(e.groups):1))}function At(e){let t=[];for(let n of e)n.columns&&n.columns.length>0?t.push(...n.columns.filter(e=>e!=null)):n.groups&&n.groups.length>0&&t.push(...At(n.groups));return t.filter(e=>e!=null)}function jt(e,t){return e.columns&&e.columns.length>0?e.columns.filter((e,n)=>e.hidden?!1:t?t[n]!==!1:!0).length:e.groups&&e.groups.length>0?e.groups.reduce((e,n)=>e+jt(n,t),0):0}function Z(e,t,n=0){if(n===t)return[...e];let r=[];for(let i of e)i.groups&&i.groups.length>0&&r.push(...Z(i.groups,t,n+1));return r}function Mt(e,t,n){return n?!e||t:!1}function Nt({rowExpansion:e,records:n,idAccessor:r}){let i=[];if(e&&n){let{trigger:t,allowMultiple:a,initiallyExpanded:o}=e;n&&t===`always`?i=n.map(e=>X(e,r)):o&&(i=n.filter((e,t)=>o({record:e,index:t})).map(e=>X(e,r)),a||(i=[i[0]]))}let a,o,s=(0,t.useState)(i);if(e){let{expandable:t,trigger:n,allowMultiple:i,collapseProps:c,content:l}=e;e.expanded?{recordIds:a,onRecordIdsChange:o}=e.expanded:[a,o]=s;let u=e=>o?.(a.filter(t=>t!==X(e,r)));return{expandOnClick:n!==`always`&&n!==`never`,isRowExpanded:e=>n===`always`?!0:a.includes(X(e,r)),isExpandable:({record:e,index:n})=>t?t({record:e,index:n}):!0,expandRow:e=>{let t=X(e,r);o?.(i?[...a,t]:[t])},collapseRow:u,collapseProps:c,content:({record:e,index:t})=>()=>l({record:e,index:t,collapse:()=>u(e)})}}}function Pt(e,n){let[r,i]=(0,t.useState)(e),[a,o]=(0,t.useState)(e),c=(0,s.useTimeout)(()=>i(!0),0),l=(0,s.useTimeout)(()=>o(!1),n||200);return(0,t.useEffect)(()=>{e?(l.clear(),o(!0),c.start()):(c.clear(),i(!1),l.start())},[c,l,e]),{expanded:r,visible:a}}var Ft=`mantine-datatable-nowrap`,It=`mantine-datatable-ellipsis`,Q=`mantine-datatable-pointer-cursor`,Lt=`mantine-datatable-context-menu-cursor`,Rt=`mantine-datatable-text-selection-disabled`,zt=`mantine-datatable-text-align-left`,$=`mantine-datatable-text-align-center`,Bt=`mantine-datatable-text-align-right`;function Vt({className:e,style:t,pinnedInfo:i,visibleMediaQuery:a,title:o,noWrap:s,ellipsis:c,textAlign:l,width:u}){return wt(a)?(0,n.jsx)(r.TableTh,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:G({[Ft]:s||c,[It]:c,[zt]:l===`left`,[$]:l===`center`,[Bt]:l===`right`},e),style:[{width:u,minWidth:u,maxWidth:u},t,i&&{position:`sticky`,[i.position]:i.offset,overflow:`visible`}],children:o}):null}function Ht({shadowVisible:e}){return(0,n.jsx)(r.TableTh,{className:`mantine-datatable-footer-selector-placeholder-cell`,"data-shadow-visible":e||void 0})}function Ut({className:e,style:t,columns:i,defaultColumnProps:a,pinnedMap:o,selectionVisible:s,selectorCellShadowVisible:c,ref:l}){return(0,n.jsx)(r.TableTfoot,{ref:l,className:G(`mantine-datatable-footer`,e),style:t,children:(0,n.jsxs)(r.TableTr,{children:[s&&(0,n.jsx)(Ht,{shadowVisible:c}),i.map(({hidden:e,...t})=>{if(e)return null;let{accessor:r,visibleMediaQuery:i,textAlign:s,width:c,footer:l,footerClassName:u,footerStyle:d,noWrap:f,ellipsis:p}={...a,...t};return(0,n.jsx)(Vt,{pinnedInfo:o.get(String(r)),className:u,style:d,visibleMediaQuery:i,textAlign:s,width:c,title:l,noWrap:f,ellipsis:p},r)})]})})}function Wt({group:{id:e,columns:i,groups:a,title:o,textAlign:s,className:c,style:l},pinnedInfo:u,maxDepth:d,currentDepth:f,previousGroups:p,isLastGroup:m,withColumnBorders:h=!1,totalTableColumns:g}){let _=(0,t.useMemo)(()=>i&&i.length>0?i:a&&a.length>0?At([{id:e,columns:i,groups:a}]):[],[i,a,e]),v=Ct((0,t.useMemo)(()=>_.map(({visibleMediaQuery:e})=>e),[_])),y=(0,t.useMemo)(()=>jt({id:e,columns:i,groups:a},v),[e,i,a,v]),b=(0,t.useMemo)(()=>p.reduce((e,t)=>e+jt(t,v),0),[p,v]),x=a&&a.length>0?1:d-f,S=Mt(m,b+y<g,h);return y>0?(0,n.jsx)(r.TableTh,{colSpan:y,rowSpan:x>1?x:void 0,"data-pinned":u?.position,"data-pinned-shadow":u?.isBoundary?u.position:void 0,className:G(`mantine-datatable-column-group-header-cell`,{[zt]:s===`left`,[$]:s===`center`,[Bt]:s===`right`,"mantine-datatable-column-group-header-cell--needs-border":S},c),style:[l,u&&{position:`sticky`,[u.position]:u.offset,overflow:`visible`}],children:o??Tt(e)}):null}function Gt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z`})]})}function Kt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M20 3h-16a1 1 0 0 0 -1 1v2.227l.008 .223a3 3 0 0 0 .772 1.795l4.22 4.641v8.114a1 1 0 0 0 1.316 .949l6 -2l.108 -.043a1 1 0 0 0 .576 -.906v-6.586l4.121 -4.12a3 3 0 0 0 .879 -2.123v-2.171a1 1 0 0 0 -1 -1z`,strokeWidth:`0`,fill:`currentColor`})]})}function qt({children:e,isActive:t,filterPopoverProps:i,filterPopoverDisableClickOutside:a}){let[o,{close:c,toggle:l}]=(0,s.useDisclosure)(!1),u=t?Kt:Gt,d=(0,s.useClickOutside)(c);return a&&(d=void 0),(0,n.jsxs)(r.Popover,{withArrow:!0,shadow:`md`,trapFocus:!0,...i,opened:o,onClose:c,onDismiss:c,children:[(0,n.jsx)(r.PopoverTarget,{children:(0,n.jsx)(r.ActionIcon,{className:`mantine-datatable-header-cell-filter-action-icon`,"data-active":t||void 0,size:`sm`,variant:`default`,onClick:e=>{e.preventDefault(),l()},onKeyDown:e=>e.stopPropagation(),children:(0,n.jsx)(u,{})})}),(0,n.jsx)(r.PopoverDropdown,{ref:d,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:typeof e==`function`?e({close:c}):e})]})}function Jt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M5 12l14 0`}),(0,n.jsx)(`path`,{d:`M5 12l6 6`}),(0,n.jsx)(`path`,{d:`M5 12l6 -6`})]})}function Yt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M5 12l14 0`}),(0,n.jsx)(`path`,{d:`M19 12l-6 6`}),(0,n.jsx)(`path`,{d:`M19 12l-6 -6`})]})}function Xt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M9 4v6l-2 4v2h10v-2l-2-4v-6`}),(0,n.jsx)(`path`,{d:`M12 16v5`}),(0,n.jsx)(`path`,{d:`M8 4h8`})]})}function Zt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M18 6l-12 12`}),(0,n.jsx)(`path`,{d:`M6 6l12 12`})]})}function Qt({currentPinned:e,onPinChange:i}){let[a,o]=(0,t.useState)(!1),s=(0,t.useRef)(null),[c,l]=(0,t.useState)(!1),u=(0,t.useCallback)(()=>{if(s.current){let e=getComputedStyle(s.current).direction;l(e===`rtl`)}},[]);q(()=>{u()},[u]),(0,t.useEffect)(()=>{a&&u()},[a,u]);let d=c?`right`:`left`,f=c?`left`:`right`,p=e===d,m=e===f;return(0,n.jsxs)(r.Popover,{opened:a,onChange:o,position:`bottom`,withArrow:!0,shadow:`sm`,children:[(0,n.jsx)(r.Popover.Target,{children:(0,n.jsx)(r.Center,{ref:s,className:`mantine-datatable-header-cell-pinnable-icon`,role:`button`,"aria-label":`Pin column`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:(0,n.jsx)(r.ActionIcon,{size:`xs`,variant:`light`,onClick:e=>e.stopPropagation(),children:(0,n.jsx)(Xt,{})})})}),(0,n.jsx)(r.Popover.Dropdown,{onClick:e=>e.stopPropagation(),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),className:`mantine-datatable-pinnable-dropdown`,children:(0,n.jsxs)(r.Group,{gap:4,children:[(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:p?`filled`:`light`,onClick:()=>i(p?void 0:d),"aria-label":`Pin left`,children:(0,n.jsx)(Jt,{})}),(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:m?`filled`:`light`,onClick:()=>i(m?void 0:f),"aria-label":`Pin right`,children:(0,n.jsx)(Yt,{})}),e&&(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:`light`,color:`red`,onClick:()=>i(void 0),"aria-label":`Unpin`,children:(0,n.jsx)(Zt,{})})]})})]})}var $t=50,en=e=>{let{accessor:i,columnRef:a}=e,[o,s]=(0,t.useState)(!1),c=(0,t.useRef)(0),l=(0,t.useRef)({current:0,next:0}),{dir:u}=(0,r.useDirection)(),d=u===`rtl`,{setMultipleColumnWidths:f,beginResize:p,endResize:m}=tt(),h=(0,t.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),!a.current)return;let t=a.current,n=t.nextElementSibling;for(;n;){let e=n.getAttribute(`data-accessor`);if(e&&e!==`__selection__`)break;n=n.nextElementSibling}if(!n)return;let r=n.getAttribute(`data-accessor`);if(!r)return;let o=t.offsetWidth,u=n.offsetWidth;p(),s(!0),c.current=e.clientX,l.current={current:o,next:u};let h=e=>{let t=e.clientX-c.current;d&&(t=-t);let n=l.current.current-$t,a=l.current.next-$t,o=Math.max(-n,Math.min(t,a)),s=l.current.current+o,u=l.current.next-o;f([{accessor:i,width:`${s}px`},{accessor:r,width:`${u}px`}])},g=()=>{s(!1),document.body.style.cursor=`initial`,document.body.style.userSelect=`initial`,m(),document.removeEventListener(`mousemove`,h),document.removeEventListener(`mouseup`,g)};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,h),document.addEventListener(`mouseup`,g)},[i,a,d,f,p,m]),g=(0,t.useCallback)(()=>{if(!a.current)return;let e=a.current.nextElementSibling,t=[{accessor:i,width:`auto`}];if(e){let n=e.getAttribute(`data-accessor`);n&&n!==`__selection__`&&t.push({accessor:n,width:`auto`})}f(t)},[i,a,f]);return(0,n.jsx)(`div`,{className:`mantine-datatable-header-resizable-handle`,style:{cursor:o?`col-resize`:void 0},onMouseDown:h,onDoubleClick:g,onClick:e=>e.stopPropagation(),title:`Drag to resize column, double-click to reset`})};function tn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M8 7l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M8 17l4 4l4 -4`}),(0,n.jsx)(`path`,{d:`M12 3l0 18`})]})}function nn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M12 5l0 14`}),(0,n.jsx)(`path`,{d:`M16 9l-4 -4`}),(0,n.jsx)(`path`,{d:`M8 9l4 -4`})]})}function rn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`})]})}function an({className:e,style:i,pinnedInfo:a,accessor:o,visibleMediaQuery:s,title:c,sortable:l,draggable:u,toggleable:d,pinnable:f,resizable:p,sortIcons:m,textAlign:h,width:g,sortStatus:_,onSortStatusChange:v,filter:y,filterPopoverProps:b,filterPopoverDisableClickOutside:x,filtering:S,sortKey:C}){let{setSourceColumn:w,setTargetColumn:T,swapColumns:E,columnsToggle:D,setColumnsToggle:O,columnsPinning:k,setColumnsPinning:A}=tt(),[j,M]=(0,t.useState)(!1),N=(0,t.useRef)(null),ee=k?.find(e=>e.accessor===o)?.pinned;if(!wt(s))return null;let P=c??Tt(o),te=typeof P==`string`?P:void 0,ne=l&&v?e=>{e?.defaultPrevented||v({sortKey:C,columnAccessor:o,direction:_?.columnAccessor===o?_.direction===`asc`?`desc`:`asc`:_?.direction??`asc`})}:void 0,re=e=>{e.stopPropagation(),w(o),M(!1)},F=e=>{e.preventDefault(),T(o),M(!0)},ie=()=>{T(o),M(!1),E()},ae=()=>{M(!0)},oe=()=>{M(!1)},se=e=>{e.stopPropagation(),O(D.map(e=>e.accessor===o?{...e,toggled:!1}:e))},I=e=>{A(t=>t.map(t=>t.accessor===o?{...t,pinned:e}:t))};return(0,n.jsxs)(r.TableTh,{"data-accessor":o,"data-pinned":a?.position,"data-pinned-shadow":a?.isBoundary?a.position:void 0,className:G({"mantine-datatable-header-cell-sortable":l,"mantine-datatable-header-cell-toggleable":d,"mantine-datatable-header-cell-pinnable":f,"mantine-datatable-header-cell-resizable":p},e),style:[{width:g,...p?{}:{minWidth:g,maxWidth:g}},i,a&&{position:`sticky`,[a.position]:a.offset,overflow:`visible`}],role:l?`button`:void 0,tabIndex:l?0:void 0,onClick:ne,onKeyDown:e=>e.key===`Enter`&&ne?.(),ref:N,children:[(0,n.jsxs)(r.Group,{className:`mantine-datatable-header-cell-sortable-group`,justify:`space-between`,wrap:`nowrap`,children:[(0,n.jsxs)(r.Flex,{align:`center`,w:`100%`,className:G({"mantine-datatable-header-cell-draggable":u,"mantine-datatable-header-cell-drag-over":j}),draggable:u,onDragStart:u?re:void 0,onDragEnter:u?ae:void 0,onDragOver:u?F:void 0,onDrop:u?ie:void 0,onDragLeave:u?oe:void 0,children:[u?(0,n.jsx)(r.Center,{role:`img`,"aria-label":`Drag column`,children:(0,n.jsx)(r.ActionIcon,{className:`mantine-datatable-header-cell-draggable-action-icon`,variant:`subtle`,size:`xs`,onClick:e=>{e.stopPropagation()},children:(0,n.jsx)(rn,{})})}):null,(0,n.jsx)(r.Box,{className:G(`mantine-datatable-header-cell-sortable-text`,{[zt]:h===`left`,[$]:h===`center`,[Bt]:h===`right`},Ft,It),title:te,children:P})]}),f?(0,n.jsx)(Qt,{currentPinned:ee,onPinChange:I}):null,d?(0,n.jsx)(r.Center,{className:`mantine-datatable-header-cell-toggleable-icon`,role:`img`,"aria-label":`Toggle column`,children:(0,n.jsx)(r.ActionIcon,{size:`xs`,variant:`light`,onClick:se,children:(0,n.jsx)(Zt,{})})}):null,l||_?.columnAccessor===o?_?.columnAccessor===o?(0,n.jsx)(r.Center,{className:G(`mantine-datatable-header-cell-sortable-icon`,{"mantine-datatable-header-cell-sortable-icon-reversed":_.direction===`desc`}),role:`img`,"aria-label":`Sorted ${_.direction===`desc`?`descending`:`ascending`}`,children:m?.sorted||(0,n.jsx)(nn,{})}):(0,n.jsx)(r.Center,{className:`mantine-datatable-header-cell-sortable-unsorted-icon`,role:`img`,"aria-label":`Not sorted`,children:m?.unsorted||(0,n.jsx)(tn,{})}):null,y?(0,n.jsx)(qt,{filterPopoverProps:b,isActive:!!S,filterPopoverDisableClickOutside:x,children:y}):null]}),p&&o!==`__selection__`?(0,n.jsx)(en,{accessor:o,columnRef:N}):null]})}function on({className:e,style:t,trigger:i,shadowVisible:a,checked:o,indeterminate:s,checkboxProps:c,onChange:l,rowSpan:u,ref:d}){let f=!c.disabled;return(0,n.jsx)(r.TableTh,{ref:d,className:G(`mantine-datatable-header-selector-cell`,{[Q]:i===`cell`&&f},e),style:t,rowSpan:u,"data-shadow-visible":a||void 0,"data-accessor":`__selection__`,onClick:i===`cell`&&f?l:void 0,children:(0,n.jsx)(r.Checkbox,{classNames:f?{input:Q}:void 0,checked:o,indeterminate:s,onChange:l,...c,disabled:!(l||c.onChange)||c.disabled})})}function sn(e,t){let n=(e.columns??[]).filter(e=>!e.hidden).map(e=>String(e.accessor)),r=n.map(e=>t.get(e)).filter(Boolean);if(r.length===0||r.length!==n.length)return;let i=new Set(r.map(e=>e.logicalSide));if(i.size>1)return;let a=[...i][0],o=a===`left`?n[0]:n[n.length-1],s=t.get(o);if(!s)return;let c=a===`left`?n[n.length-1]:n[0],l=t.get(c);return{...s,isBoundary:l?.isBoundary??!1}}function cn({selectionColumnHeaderRef:e,className:i,style:a,sortStatus:o,sortIcons:s,onSortStatusChange:c,columns:l,defaultColumnProps:u,groups:d,pinnedMap:f,selectionTrigger:p,selectionVisible:m,selectionChecked:h,selectionIndeterminate:g,onSelectionChange:_,selectionCheckboxProps:v,selectorCellShadowVisible:y,selectionColumnClassName:b,selectionColumnStyle:x,withColumnBorders:S=!1,ref:C}){let w=d?kt(d):0,T=w>0?w+1:1,E=m?(0,n.jsx)(on,{ref:e,className:b,style:x,trigger:p,shadowVisible:y,checked:h,indeterminate:g,checkboxProps:v,onChange:_,rowSpan:d?T:void 0}):null,{columnsToggle:D,setColumnsToggle:O}=tt(),[k,A]=(0,t.useState)(!1),j=l.some(e=>e.toggleable),M=j?Object.fromEntries(l.map(({accessor:e,title:t})=>[e,t??Tt(String(e))])):void 0,N=(0,n.jsxs)(r.TableThead,{className:G(`mantine-datatable-header`,i),style:a,ref:C,onContextMenu:j?e=>{e.preventDefault(),A(e=>!e)}:void 0,children:[d&&Array.from({length:w},(e,t)=>{let i=Z(d,t);return(0,n.jsxs)(r.TableTr,{children:[t===0&&E,i.map((e,r)=>(0,n.jsx)(Wt,{group:e,pinnedInfo:sn(e,f),maxDepth:w,currentDepth:t,previousGroups:i.slice(0,r),isLastGroup:r===i.length-1,withColumnBorders:S,totalTableColumns:l.length},e.id))]},`group-depth-${t}`)}),(0,n.jsxs)(r.TableTr,{children:[!d&&E,l.map(({hidden:e,...t},r)=>{if(e)return null;let{accessor:i,visibleMediaQuery:a,textAlign:d,width:p,title:m,sortable:h,draggable:g,toggleable:_,pinnable:v,resizable:y,titleClassName:b,titleStyle:x,filter:S,filterPopoverProps:C,filterPopoverDisableClickOutside:w,filtering:T,sortKey:E}={...u,...t};return(0,n.jsx)(an,{accessor:i,pinnedInfo:f.get(String(i)),className:b,style:x,visibleMediaQuery:a,textAlign:d,width:p,title:m,sortable:h,draggable:g,toggleable:_,pinnable:v,resizable:y&&r<l.length-1,sortStatus:o,sortIcons:s,sortKey:E,onSortStatusChange:c,filter:S,filterPopoverProps:C,filterPopoverDisableClickOutside:w,filtering:T},i)})]})]});return j?(0,n.jsxs)(r.Popover,{position:`bottom`,withArrow:!0,shadow:`md`,opened:k,onChange:A,children:[(0,n.jsx)(r.PopoverTarget,{children:N}),(0,n.jsx)(r.PopoverDropdown,{children:(0,n.jsx)(r.Stack,{children:D.filter(e=>e.toggleable).map(e=>(0,n.jsx)(r.Group,{children:(0,n.jsx)(r.Checkbox,{classNames:{label:`mantine-datatable-header-column-toggle-checkbox-label`},size:`xs`,label:M[e.accessor],checked:e.toggled,onChange:t=>{O(D.map(n=>n.accessor===e.accessor?{...n,toggled:t.currentTarget.checked}:n))}})},e.accessor))})})]}):N}function ln({fetching:e,customContent:t,backgroundBlur:i,size:a,type:o,color:s}){return(0,n.jsx)(r.Center,{className:G(`mantine-datatable-loader`,{"mantine-datatable-loader-fetching":e}),style:[{backdropFilter:i?`blur(${i}px)`:void 0}],children:e&&(t||(0,n.jsx)(r.Loader,{size:a,type:o,color:s}))})}function un(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M8 9l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M16 15l-4 4l-4 -4`})]})}var dn={xs:(0,r.rem)(22),sm:(0,r.rem)(26),md:(0,r.rem)(32),lg:(0,r.rem)(38),xl:(0,r.rem)(44)};function fn({size:e,label:t,values:i,value:a,activeTextColor:o,activeBackgroundColor:s,onChange:c}){return(0,n.jsxs)(r.Group,{gap:`xs`,children:[(0,n.jsx)(r.Text,{component:`div`,size:e,children:t}),(0,n.jsxs)(r.Menu,{withinPortal:!0,withArrow:!0,offset:2,classNames:{arrow:`mantine-datatable-page-size-selector-menu-arrow`},children:[(0,n.jsx)(r.MenuTarget,{children:(0,n.jsx)(r.Button,{size:e,variant:`default`,classNames:{section:`mantine-datatable-page-size-selector-button-icon`},rightSection:(0,n.jsx)(un,{}),style:[{fontWeight:`normal`},t=>({height:dn[e],paddingLeft:t.spacing[e],paddingRight:t.spacing[e]})],children:a})}),(0,n.jsx)(r.MenuDropdown,{children:i.map(t=>{let i=t===a;return(0,n.jsx)(r.MenuItem,{className:G({"mantine-datatable-page-size-selector-active":i}),style:[{height:dn[e]},i&&(o||s)?e=>Qe({theme:e,paginationActiveTextColor:o,paginationActiveBackgroundColor:s}):void 0],disabled:i,onClick:()=>c(t),children:(0,n.jsx)(r.Text,{component:`div`,size:e,children:t})},t)})})]})]})}function pn({className:e,style:t,fetching:i,page:a,onPageChange:o,paginationWithEdges:s,paginationWithControls:c,paginationActiveTextColor:l,paginationActiveBackgroundColor:u,paginationSize:d,loadingText:f,noRecordsText:p,paginationText:m,totalRecords:h,recordsPerPage:g,onRecordsPerPageChange:_,recordsPerPageLabel:v,recordsPerPageOptions:y,recordsLength:b,horizontalSpacing:x,paginationWrapBreakpoint:S,getPaginationControlProps:C,getPaginationItemProps:w,renderPagination:T}){let E;if(h){let e=(a-1)*g+1;E=m({from:e,to:e+(b||0)-1,totalRecords:h})}else E=i?f:p;let D=h&&g?Math.max(1,Math.ceil(h/g)):1,O=h?(a-1)*(g??0)+1:void 0,k=h?(O??1)+(b??0)-1:void 0,A=!wt(({breakpoints:e})=>`(min-width: ${typeof S==`number`?`${(0,r.rem)(S)}rem`:e[S]||S})`),j={Text:e=>(0,n.jsx)(r.Text,{component:`div`,className:`mantine-datatable-pagination-text`,size:d,...e,children:E}),PageSizeSelector:e=>y?(0,n.jsx)(fn,{activeTextColor:l,activeBackgroundColor:u,size:d,label:v,values:y,value:g,onChange:_,...e}):null,Pagination:e=>(0,n.jsx)(r.Pagination,{classNames:{root:G(`mantine-datatable-pagination-pages`,{"mantine-datatable-pagination-pages-fetching":i||!b}),control:`mantine-datatable-pagination-pages-control`},style:l||u?e=>Qe({theme:e,paginationActiveTextColor:l,paginationActiveBackgroundColor:u}):void 0,withEdges:s,withControls:c,value:a,onChange:o,size:d,total:D,getControlProps:C,getItemProps:w,...e})},M={state:{paginationSize:d,page:a,totalPages:D,totalRecords:h,recordsPerPage:g,recordsLength:b,fetching:i,from:O,to:k,isWrapped:A},actions:{setPage:e=>o?.(e),setRecordsPerPage:_?e=>_(e):void 0},Controls:j};return(0,n.jsx)(r.Box,{px:x??`xs`,py:`xs`,className:G(`mantine-datatable-pagination`,e),style:[{flexDirection:A?`column`:`row`},t],children:typeof T==`function`?T(M):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(j.Text,{}),(0,n.jsx)(j.PageSizeSelector,{}),(0,n.jsx)(j.Pagination,{})]})})}function mn({className:e,style:t,pinnedInfo:i,visibleMediaQuery:a,record:o,index:s,onClick:c,onDoubleClick:l,onContextMenu:u,noWrap:d,ellipsis:f,textAlign:p,width:m,accessor:h,render:g,defaultRender:_,customCellAttributes:v}){return wt(a)?(0,n.jsx)(r.TableTd,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:G({[Ft]:d||f,[It]:f,[Q]:c||l,[Lt]:u,[zt]:p===`left`,[$]:p===`center`,[Bt]:p===`right`},e),style:[{width:m,minWidth:m,maxWidth:m},t,i&&{position:`sticky`,[i.position]:i.offset,overflow:`visible`}],onClick:c,onDoubleClick:l,onContextMenu:u,...v?.(o,s),children:g?g(o,s):_?_(o,s,h):Ot(o,h)}):null}function hn({open:e,colSpan:t,content:i,collapseProps:a}){let{expanded:o,visible:s}=Pt(e,a?.transitionDuration);return s?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.TableTr,{}),(0,n.jsx)(r.TableTr,{children:(0,n.jsx)(r.TableTd,{className:`mantine-datatable-row-expansion-cell`,colSpan:t,children:(0,n.jsx)(r.Collapse,{expanded:o,...a,children:(0,n.jsx)(`div`,{className:`mantine-datatable-row-expansion-cell-content`,children:i()})})})})]}):null}function gn({className:e,style:t,record:i,index:a,trigger:o,onChange:s,withRightShadow:c,checkboxProps:l,getCheckboxProps:u,...d}){let f={...l,...u(i,a)},p=!d.disabled&&!f.disabled,m=e=>{e.stopPropagation(),o===`cell`&&p&&s?.(e)};return(0,n.jsx)(r.TableTd,{className:G(`mantine-datatable-row-selector-cell`,{[Q]:o===`cell`&&p},e),style:t,"data-shadow-visible":c||void 0,onClick:m,children:(0,n.jsx)(r.Checkbox,{classNames:p?{input:Q}:void 0,onChange:s,...d,...f})})}function _n({record:e,index:t,columns:i,defaultColumnProps:a,pinnedMap:o,defaultColumnRender:s,selectionTrigger:c,selectionVisible:l,selectionChecked:u,onSelectionChange:d,isRecordSelectable:f,selectionCheckboxProps:p,getSelectionCheckboxProps:m,onClick:h,onDoubleClick:g,onContextMenu:_,onCellClick:v,onCellDoubleClick:y,onCellContextMenu:b,expansion:x,customAttributes:S,color:C,backgroundColor:w,className:T,style:E,selectorCellShadowVisible:D,selectionColumnClassName:O,selectionColumnStyle:k,rowFactory:A}){let j=(0,n.jsxs)(n.Fragment,{children:[l&&(0,n.jsx)(gn,{className:O,style:k,record:e,index:t,trigger:c,withRightShadow:D,checked:u,disabled:!d||(f?!f(e,t):!1),onChange:d,checkboxProps:p,getCheckboxProps:m}),i.map(({hidden:r,hiddenContent:i,...c},l)=>{if(r||i)return null;let{accessor:u,visibleMediaQuery:d,textAlign:f,noWrap:p,ellipsis:m,width:h,render:g,cellsClassName:_,cellsStyle:x,customCellAttributes:S}={...a,...c};return(0,n.jsx)(mn,{pinnedInfo:o.get(String(u)),className:typeof _==`function`?_(e,t):_,style:x?.(e,t),visibleMediaQuery:d,record:e,index:t,onClick:v?n=>v({event:n,record:e,index:t,column:c,columnIndex:l}):void 0,onDoubleClick:y?n=>y({event:n,record:e,index:t,column:c,columnIndex:l}):void 0,onContextMenu:b?n=>b({event:n,record:e,index:t,column:c,columnIndex:l}):void 0,accessor:u,textAlign:f,noWrap:p,ellipsis:m,width:h,render:g,defaultRender:s,customCellAttributes:S},u)})]}),M=x&&(0,n.jsx)(hn,{colSpan:i.filter(({hidden:e})=>!e).length+ +!!l,open:x.isRowExpanded(e),content:x.content({record:e,index:t}),collapseProps:x.collapseProps}),N=vn({record:e,index:t,selectionChecked:u,onClick:h,onDoubleClick:g,onContextMenu:_,expansion:x,customAttributes:S,color:C,backgroundColor:w,className:T,style:E});return A?A({record:e,index:t,rowProps:N,children:j,expandedElement:M}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.TableTr,{...N,children:j}),M]})}function vn({record:e,index:t,selectionChecked:n,onClick:r,onDoubleClick:i,onContextMenu:a,expansion:o,customAttributes:s,color:c,backgroundColor:l,className:u,style:d}){return{className:G(`mantine-datatable-row`,{[Q]:r||i||o?.isExpandable({record:e,index:t})&&o?.expandOnClick},{[Lt]:a},typeof u==`function`?u(e,t):u),"data-selected":n||void 0,onClick:n=>{if(o){let{isExpandable:n,isRowExpanded:r,expandOnClick:i,expandRow:a,collapseRow:s}=o;n({record:e,index:t})&&i&&(r(e)?s(e):a(e))}r?.({event:n,record:e,index:t})},onDoubleClick:i?n=>i({event:n,record:e,index:t}):void 0,onContextMenu:a?n=>a({event:n,record:e,index:t}):void 0,style:[c||l?n=>{let r=c?.(e,t),i=l?.(e,t);return $e({theme:n,color:r,backgroundColor:i})}:void 0,d?.(e,t)],...s?.(e,t)??{}}}function yn({leftShadowBehind:e,rightShadowBehind:t,onScrollPositionChange:i,children:a,viewportRef:o,scrollAreaProps:s}){return(0,n.jsxs)(r.ScrollArea,{...s,viewportRef:o,classNames:{root:`mantine-datatable-scroll-area`,scrollbar:`mantine-datatable-scroll-area-scrollbar`,thumb:`mantine-datatable-scroll-area-thumb`,corner:`mantine-datatable-scroll-area-corner`},onScrollPositionChange:i,children:[a,(0,n.jsx)(r.Box,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-top-shadow`)}),(0,n.jsx)(`div`,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-left-shadow`,{"mantine-datatable-scroll-area-shadow-behind":e})}),(0,n.jsx)(`div`,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-right-shadow`,{"mantine-datatable-scroll-area-shadow-behind":t})}),(0,n.jsx)(r.Box,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-bottom-shadow`)})]})}function bn({withTableBorder:e,borderRadius:i,textSelectionDisabled:a,height:o=`100%`,minHeight:c,maxHeight:l,shadow:u,verticalAlign:d=`center`,fetching:f,columns:p,storeColumnsKey:m,groups:h,pinFirstColumn:g,pinLastColumn:_,defaultColumnProps:v,defaultColumnRender:y,idAccessor:b=`id`,records:x,selectionTrigger:S=`checkbox`,selectedRecords:C,onSelectedRecordsChange:w,selectionColumnClassName:T,selectionColumnStyle:E,isRecordSelectable:D,selectionCheckboxProps:O,allRecordsSelectionCheckboxProps:k={"aria-label":`Select all records`},getRecordSelectionCheckboxProps:A=(e,t)=>({"aria-label":`Select record ${t+1}`}),sortStatus:j,sortIcons:M,onSortStatusChange:N,horizontalSpacing:ee,page:P,onPageChange:te,totalRecords:ne,recordsPerPage:re,onRecordsPerPageChange:F,recordsPerPageOptions:ie,recordsPerPageLabel:ae=`Records per page`,paginationWithEdges:oe,paginationWithControls:se,paginationActiveTextColor:I,paginationActiveBackgroundColor:ce,paginationSize:le=`sm`,paginationText:ue=({from:e,to:t,totalRecords:n})=>`${e} - ${t} / ${n}`,paginationWrapBreakpoint:de=`sm`,getPaginationControlProps:fe=e=>e===`previous`?{"aria-label":`Previous page`}:e===`next`?{"aria-label":`Next page`}:{},getPaginationItemProps:pe,renderPagination:me,loaderBackgroundBlur:he,customLoader:ge,loaderSize:L,loaderType:_e,loaderColor:ve,loadingText:ye=`...`,emptyState:be,noRecordsText:xe=`No records`,noRecordsIcon:Se,highlightOnHover:Ce,striped:R,noHeader:we,onRowClick:Te,onRowDoubleClick:Ee,onRowContextMenu:De,onCellClick:z,onCellDoubleClick:B,onCellContextMenu:Oe,onScroll:ke,onScrollToTop:Ae,onScrollToBottom:je,onScrollToLeft:V,onScrollToRight:Me,c:H,backgroundColor:U,borderColor:Ne,rowBorderColor:W,stripedColor:Pe,highlightOnHoverColor:Fe,rowColor:Ie,rowBackgroundColor:Le,rowExpansion:Re,rowClassName:ze,rowStyle:Be,customRowAttributes:Ve,scrollViewportRef:He,scrollAreaProps:Ue,tableRef:We,bodyRef:Ge,m:Ke,my:qe,mx:Je,mt:Ye,mb:Xe,ml:K,mr:Qe,className:$e,classNames:et,style:tt,styles:it,rowFactory:ot,tableWrapper:st,...ct}){let lt=(0,t.useMemo)(()=>h?At(h):p,[p,h]),{refs:q,onScroll:dt}=_t({scrollCallbacks:{onScroll:ke,onScrollToTop:Ae,onScrollToBottom:je,onScrollToLeft:V,onScrollToRight:Me},withRowBorders:ct.withRowBorders}),J=ut({key:m,columns:lt,headerRef:q.header,scrollViewportRef:q.scrollViewport}),ft=J.effectiveColumns,pt=(0,s.useMergedRef)(q.table,We),mt=(0,s.useMergedRef)(q.scrollViewport,He),Y=(0,t.useRef)(null),ht=(0,s.useMergedRef)(Y,Ge),gt=Nt({rowExpansion:Re,records:x,idAccessor:b}),{pinnedMap:bt,hasLeftPinned:xt,hasRightPinned:St}=vt({columns:ft,theadRef:q.header,tbodyRef:Y,selectionColumnHeaderRef:q.selectionColumnHeader,selectionVisible:!!C,pinFirstColumn:g,pinLastColumn:_}),Ct=(0,t.useRef)(!1),wt=(0,t.useRef)(P),Tt=(0,t.useRef)(x),Ot=(0,t.useCallback)(e=>{Ct.current=!0,Tt.current=x,te(e)},[te,x]);(0,t.useEffect)(()=>{wt.current!==P&&(Ct.current=!0,Tt.current=x,wt.current=P)},[P,x]);let kt=x?.length;(0,t.useLayoutEffect)(()=>{if(!Ct.current||f||x===Tt.current)return;let e=q.scrollViewport.current;if(!e)return;let t=requestAnimationFrame(()=>{e.scrollTo({top:0,left:0}),Ct.current=!1});return()=>cancelAnimationFrame(t)},[f,x,q.scrollViewport]);let jt=x?.map(e=>X(e,b)),Z=!!C,Mt=C?.map(e=>X(e,b)),Pt=jt!==void 0&&Mt!==void 0&&Mt.length>0,Ft=D?x?.filter(D):x,It=Ft?.map(e=>X(e,b)),Q=Pt&&It.every(e=>Mt.includes(e)),Lt=Pt&&It.some(e=>Mt.includes(e)),zt=(0,t.useCallback)(()=>{C&&w&&w(Q?C.filter(e=>!It.includes(X(e,b))):Dt([...C,...Ft],e=>X(e,b)))},[Q,b,w,It,Ft,C]),{lastSelectionChangeIndex:$,setLastSelectionChangeIndex:Bt}=yt(jt),Vt=Z&&!xt,Ht={m:Ke,my:qe,mx:Je,mt:Ye,mb:Xe,ml:K,mr:Qe},Wt=(0,t.useCallback)(({children:e})=>st?st({children:e}):e,[st]);return(0,n.jsx)(nt,{...J,pinnedMap:bt,children:(0,n.jsxs)(r.Box,{ref:q.root,...Ht,className:G(`mantine-datatable`,{"mantine-datatable-with-border":e},$e,et?.root),style:[e=>({...Ze({theme:e,c:H,backgroundColor:U,borderColor:Ne,rowBorderColor:W,stripedColor:Pe,highlightOnHoverColor:Fe}),borderRadius:e.radius[i]||i,boxShadow:e.shadows[u]||u,height:o,minHeight:c,maxHeight:l}),tt,it?.root,{position:`relative`}],children:[(0,n.jsx)(yn,{viewportRef:mt,leftShadowBehind:Z||xt,rightShadowBehind:St,onScrollPositionChange:dt,scrollAreaProps:Ue,children:(0,n.jsx)(Wt,{children:(0,n.jsxs)(r.Table,{ref:pt,horizontalSpacing:ee,className:G(`mantine-datatable-table`,{[Rt]:a,"mantine-datatable-vertical-align-top":d===`top`,"mantine-datatable-vertical-align-bottom":d===`bottom`,"mantine-datatable-selection-column-visible":Z,"mantine-datatable-resizable-columns":J.hasResizableColumns,"mantine-datatable-resize-locked":J.isLocked,"mantine-datatable-resizing":J.isResizing},et?.table),style:{...it?.table,...J.isLocked?{tableLayout:`fixed`}:null,...J.tableWidth==null?null:{width:`${J.tableWidth}px`}},"data-striped":kt&&R||void 0,"data-highlight-on-hover":Ce||void 0,...ct,children:[we?null:(0,n.jsx)(nt,{...J,pinnedMap:bt,children:(0,n.jsx)(cn,{ref:q.header,selectionColumnHeaderRef:q.selectionColumnHeader,className:et?.header,style:it?.header,columns:ft,defaultColumnProps:v,groups:h,pinnedMap:bt,sortStatus:j,sortIcons:M,onSortStatusChange:N,selectionTrigger:S,selectionVisible:Z,selectionChecked:Q,selectionIndeterminate:Lt&&!Q,onSelectionChange:zt,selectionCheckboxProps:{...O,...k},selectorCellShadowVisible:Vt,selectionColumnClassName:T,selectionColumnStyle:E,withColumnBorders:ct.withColumnBorders})}),(0,n.jsx)(`tbody`,{ref:ht,children:kt?x.map((e,t)=>{let r=X(e,b),i=Mt?.includes(r)||!1,a;return w&&C&&(a=n=>{if(n.nativeEvent.shiftKey&&$!==null){let e=x.filter(t>$?(e,n)=>n>=$&&n<=t&&(D?D(e,n):!0):(e,n)=>n>=t&&n<=$&&(D?D(e,n):!0));w(i?Et(C,e,e=>X(e,b)):Dt([...C,...e],e=>X(e,b)))}else w(i?C.filter(e=>X(e,b)!==r):Dt([...C,e],e=>X(e,b)));Bt(t)}),(0,n.jsx)(_n,{record:e,index:t,columns:ft,defaultColumnProps:v,pinnedMap:bt,defaultColumnRender:y,selectionTrigger:S,selectionVisible:Z,selectionChecked:i,onSelectionChange:a,isRecordSelectable:D,selectionCheckboxProps:O,getSelectionCheckboxProps:A,onClick:Te,onDoubleClick:Ee,onCellClick:z,onCellDoubleClick:B,onContextMenu:De,onCellContextMenu:Oe,expansion:gt,color:Ie,backgroundColor:Le,className:ze,style:Be,customAttributes:Ve,selectorCellShadowVisible:Vt,selectionColumnClassName:T,selectionColumnStyle:E,idAccessor:b,rowFactory:ot},r)}):(0,n.jsx)(rt,{})}),ft.some(({footer:e})=>e)&&(0,n.jsx)(Ut,{ref:q.footer,className:et?.footer,style:it?.footer,columns:ft,defaultColumnProps:v,pinnedMap:bt,selectionVisible:Z,selectorCellShadowVisible:Vt})]})})}),!!(P&&kt)&&(0,n.jsx)(pn,{className:et?.pagination,style:it?.pagination,horizontalSpacing:ee,fetching:f,page:P,onPageChange:Ot,totalRecords:ne,recordsPerPage:re,onRecordsPerPageChange:F,recordsPerPageOptions:ie,recordsPerPageLabel:ae,paginationWithEdges:oe,paginationWithControls:se,paginationActiveTextColor:I,paginationActiveBackgroundColor:ce,paginationSize:le,paginationText:ue,paginationWrapBreakpoint:de,getPaginationControlProps:fe,getPaginationItemProps:pe,noRecordsText:xe,loadingText:ye,recordsLength:kt,renderPagination:me}),(0,n.jsx)(ln,{fetching:f,backgroundBlur:he,customContent:ge,size:L,type:_e,color:ve}),(0,n.jsx)(at,{icon:Se,text:xe,active:!f&&!kt,children:be})]})})}function xn({fields:e,onClose:t,queryKey:i,apiPath:a,id:o,steps:s}){let{data:c,isLoading:l}=Re(a,i,o),{mutateAsync:u,isPending:d,error:f}=Ve(a,i);return l||!c?(0,n.jsxs)(r.Stack,{gap:`md`,children:[(0,n.jsx)(r.Skeleton,{height:40}),Array.from({length:e.length}).map((e,t)=>(0,n.jsx)(r.Skeleton,{height:35},t)),(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Skeleton,{width:100,height:36}),(0,n.jsx)(r.Skeleton,{width:100,height:36})]})]}):(0,n.jsx)(Je,{fields:e,steps:s,record:c,recordId:o,submitting:d,error:f,onPersist:async e=>{try{return await u({...e,id:o}),!0}catch{return!1}},onClose:t})}function Sn({queryKey:e,apiPath:i,onClose:a,selectedRecords:o,confirmMessage:s}){let{mutateAsync:c,isError:l,error:u,isPending:d}=He(i,e),[f,p]=(0,t.useState)(o),[m,h]=(0,t.useState)(!1),g=m||d;return(0,t.useEffect)(()=>{f.length||a()},[a,f]),f.length?(0,n.jsxs)(n.Fragment,{children:[l&&u.message&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:u.name,children:u.message}),(0,n.jsx)(r.Text,{children:s?s(f):f.length===1?`Soll ${f.length} Eintrag wirklich gelöscht werden?`:`Sollen ${f.length} Einträge wirklich gelöscht werden?`}),(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{onClick:a,variant:`outline`,disabled:g,children:`Abbrechen`}),(0,n.jsx)(r.Button,{color:`red`,loading:g,onClick:async()=>{h(!0);try{await Promise.all(f.map(e=>c(e.id))),p([])}finally{h(!1)}},children:`Löschen`})]})]}):(0,n.jsx)(n.Fragment,{})}function Cn(e,n){let r=`use_persistent_storage_${n}`,[i,a]=(0,t.useState)(()=>{try{let t=localStorage.getItem(r);return t?JSON.parse(t):e}catch{return e}});return[i,e=>{a(t=>{let n=e instanceof Function?e(t):e;return localStorage.setItem(r,JSON.stringify(n)),n})}]}var wn=[/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/,/^\d{4}-\d{2}-\d{2}$/,/^\d{1,2}\/\d{1,2}\/\d{4}$/,/^\d{1,2}\.\d{1,2}\.\d{4}$/],Tn=(e,t)=>{let n=e.map(e=>e[t]).filter(e=>e!=null&&e!==``);if(n.length===0)return`string`;let r=n.slice(0,100),i={string:0,number:0,date:0};r.forEach(e=>{if(typeof e==`number`)i.number++;else if(typeof e==`string`){let t=e.trim();if(t!==``&&!isNaN(Number(t))&&!isNaN(parseFloat(t))){i.number++;return}if(wn.some(e=>e.test(t))){let e=new Date(t);if(!isNaN(e.getTime())){i.date++;return}}i.string++}else e instanceof Date?i.date++:i.string++});let a=i.string+i.number+i.date;return i.date/a>=.6?`date`:i.number/a>=.6?`number`:i.string/a>=.6?`string`:`mixed`};function En(e,t){switch(t){case`date`:if(typeof e==`string`){let t=new Date(e.trim());return isNaN(t.getTime())?null:t.getTime()}return e instanceof Date?e.getTime():null;case`number`:if(typeof e==`number`)return e;let t=parseFloat(String(e).trim());return isNaN(t)?null:t;case`string`:return(typeof e==`string`?e:String(e)).toLowerCase().trim();default:return String(e).toLowerCase().trim()}}var Dn=(e,t,n=`asc`)=>{if(!e||e.length===0)return[];let r=Tn(e,t);return[...e].sort((e,i)=>{let a=e[t],o=i[t],s=a==null||a===``,c=o==null||o===``;if(s&&c)return 0;if(s)return n===`asc`?-1:1;if(c)return n===`asc`?1:-1;let l=En(a,r),u=En(o,r);return l===null&&u===null?0:l===null?n===`asc`?1:-1:u===null||l<u?n===`asc`?-1:1:l>u?n===`asc`?1:-1:0})};function On(e){return!!e&&typeof e==`object`&&`id`in e}function kn(e,t){if(typeof e==`string`||typeof e==`number`)return t.includes(String(e));if(e&&typeof e==`object`){let n=e;return On(n)&&t.includes(n.id)?!0:Object.values(n).some(e=>typeof e==`string`&&t.includes(e)||On(e)&&t.includes(e.id))}return!1}function An(e,t){return Array.isArray(t)?Array.isArray(e)?e.some(e=>kn(e,t)):On(e)?t.includes(e.id):!1:typeof e==`string`&&e.includes(t)}function jn(e,[t,n]){if(!t&&!n||typeof e!=`string`)return!0;let r=e.split(` `)[0];return t&&n?r>=t&&r<=n:t?r>=t:r<=n}function Mn(e,t){if(t.value===void 0)return!0;let n=e[t.id];switch(t.type){case`query`:return An(n,t.value);case`date`:return jn(n,t.value);case`boolean`:return n===t.value}}function Nn(e,t){return!t||t.length===0?e:e.filter(e=>t.every(t=>Mn(e,t)))}function Pn({rows:e}){return(0,n.jsx)(n.Fragment,{children:e.map((e,t)=>(0,n.jsxs)(r.Box,{children:[t>0&&(0,n.jsx)(r.Divider,{}),(0,n.jsxs)(r.Group,{wrap:`nowrap`,justify:`space-between`,align:`flex-start`,gap:`md`,py:`xs`,px:`sm`,children:[(0,n.jsx)(r.Text,{fw:700,fz:`sm`,style:{flexShrink:0},children:e.label}),(0,n.jsx)(r.Box,{ta:`right`,fz:`sm`,style:{minWidth:0},children:e.value})]})]},typeof e.label==`string`?e.label:t))})}function Fn({rows:e}){return(0,n.jsx)(r.Box,{bg:`var(--mantine-color-gray-light)`,style:{borderRadius:`var(--mantine-radius-md)`,overflow:`hidden`},children:(0,n.jsx)(Pn,{rows:e})})}function In(e,t){return t.split(`.`).reduce((e,t)=>{if(e&&typeof e==`object`&&t in e)return e[t]},e)}function Ln(e,t){let i=t.column;if(i.render)return i.render(e,0);let a=In(e,i.accessor??t.id);return a==null?(0,n.jsx)(r.Text,{c:`dimmed`,children:`–`}):typeof a==`boolean`?(0,n.jsx)(r.Text,{fz:`sm`,children:a?`Ja`:`Nein`}):(0,n.jsx)(r.Text,{fz:`sm`,children:String(a)})}function Rn({records:e,fields:i,onRowClick:a,actions:s,canUpdate:c,canDelete:l,pagination:u,sort:d,rowExpansion:f}){let[p,m]=(0,t.useState)(new Set),h=f?.expanded,g=e=>h?h.recordIds.includes(e):p.has(e),_=e=>{if(h){let{recordIds:t,onRecordIdsChange:n}=h;n(t.includes(e)?t.filter(t=>t!==e):[...t,e])}else m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},v=i.filter(e=>e.list&&e.column&&!e.column.hidden),y=i.filter(e=>e.column&&e.column.filter!=null),b=y.filter(e=>e.column.filtering).map(e=>e.id),x=b.length>0,S=x?b:y.slice(0,1).map(e=>e.id),[C,w]=(0,t.useState)(!1),T=v.filter(e=>e.column.sortable!==!1).reduce((e,t)=>{let n=t.column.accessor??t.id;return e.some(e=>e.value===n)||e.push({value:n,label:t.column.title??t.id}),e},[]),E=(e,t,n)=>{a?.({record:e,index:t,event:n})};return(0,n.jsxs)(r.Stack,{gap:`sm`,my:`md`,children:[(d&&T.length>0||y.length>0)&&(0,n.jsxs)(r.Group,{gap:`xs`,wrap:`nowrap`,justify:`flex-end`,children:[d&&T.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Select,{data:T,value:d.field,onChange:e=>e&&d.onSortChange(e,d.direction),allowDeselect:!1,style:{flex:1}}),(0,n.jsx)(r.ActionIcon,{variant:`filled`,size:`input-sm`,onClick:()=>d.onSortChange(d.field,d.direction===`asc`?`desc`:`asc`),children:d.direction===`asc`?(0,n.jsx)(o.IconSortAscending,{size:18}):(0,n.jsx)(o.IconSortDescending,{size:18})})]}),y.length>0&&(0,n.jsxs)(r.Popover,{opened:C,onChange:w,position:`bottom-end`,withArrow:!0,shadow:`md`,trapFocus:!0,children:[(0,n.jsx)(r.Popover.Target,{children:(0,n.jsx)(r.Indicator,{inline:!0,disabled:!x,color:`green`,withBorder:!0,children:(0,n.jsx)(r.ActionIcon,{variant:x?`filled`:`default`,size:`input-sm`,onClick:()=>w(e=>!e),"aria-label":`Filter`,children:(0,n.jsx)(o.IconFilter,{size:18})})})}),(0,n.jsx)(r.Popover.Dropdown,{p:0,children:(0,n.jsx)(r.Accordion,{multiple:!0,defaultValue:S,style:{minWidth:260,maxWidth:320},children:y.map(e=>(0,n.jsxs)(r.Accordion.Item,{value:e.id,children:[(0,n.jsx)(r.Accordion.Control,{children:(0,n.jsxs)(r.Group,{gap:`xs`,children:[(0,n.jsx)(r.Text,{fw:600,fz:`sm`,children:e.column.title??e.id}),e.column.filtering&&(0,n.jsx)(r.Box,{w:8,h:8,bg:`green`,style:{borderRadius:`50%`}})]})}),(0,n.jsx)(r.Accordion.Panel,{children:typeof e.column.filter==`function`?e.column.filter({close:()=>w(!1)}):e.column.filter})]},e.id))})})]})]}),e.length===0&&(0,n.jsx)(r.Text,{c:`dimmed`,ta:`center`,py:`xl`,children:`Keine Einträge gefunden`}),e.map((e,i)=>{let u=e.id??i,d=!!f&&(!f.expandable||f.expandable(e)),p=d&&g(u);return(0,n.jsx)(t.default.Fragment,{children:(0,n.jsxs)(r.Box,{bg:`var(--mantine-color-body)`,bd:`1px solid var(--mantine-color-default-border)`,style:{borderRadius:`var(--mantine-radius-md)`,overflow:`hidden`},children:[(0,n.jsxs)(r.Box,{w:`100%`,style:{cursor:a||d?`pointer`:`default`},onClick:t=>{d&&!a?_(u):E(e,i,t)},children:[s&&s.length>0&&(0,n.jsx)(r.Group,{px:`sm`,pt:`sm`,justify:`flex-end`,children:(()=>{let t=s.filter(t=>!(t.label===`Bearbeiten`&&c&&!c(e)||t.label===`Löschen`&&l&&!l(e)));return t.length===0?null:(0,n.jsxs)(r.Menu,{shadow:`md`,position:`bottom-end`,children:[(0,n.jsx)(r.Menu.Target,{children:(0,n.jsx)(r.ActionIcon,{variant:`subtle`,color:`gray`,size:`sm`,onClick:e=>e.stopPropagation(),children:(0,n.jsx)(o.IconDotsVertical,{size:16})})}),(0,n.jsx)(r.Menu.Dropdown,{children:t.map((t,i)=>(0,n.jsx)(r.Menu.Item,{leftSection:t.icon,onClick:n=>{n.stopPropagation(),t.onClick([e])},children:t.label},`card_action_${i}`))})]})})()}),(0,n.jsx)(Pn,{rows:v.map(t=>({label:t.column.title??t.id,value:Ln(e,t)}))})]}),d&&(0,n.jsxs)(r.Collapse,{expanded:p,children:[(0,n.jsx)(r.Divider,{}),(0,n.jsx)(r.Box,{px:`sm`,py:`sm`,children:f.content(e,!0)})]})]})},u)}),u&&u.totalRecords>u.recordsPerPage&&(0,n.jsxs)(r.Stack,{gap:`xs`,mt:`sm`,children:[(0,n.jsx)(r.Group,{justify:`center`,children:(0,n.jsx)(r.Pagination,{total:Math.ceil(u.totalRecords/u.recordsPerPage),value:u.page,onChange:u.onPageChange,size:`sm`})}),u.recordsPerPageOptions&&u.onRecordsPerPageChange&&(0,n.jsxs)(r.Group,{justify:`center`,gap:`xs`,children:[(0,n.jsx)(r.Text,{fz:`xs`,c:`dimmed`,children:`Einträge pro Seite:`}),(0,n.jsx)(r.Select,{data:u.recordsPerPageOptions.map(e=>({value:String(e),label:String(e)})),value:String(u.recordsPerPage),onChange:e=>e&&u.onRecordsPerPageChange(Number(e)),allowDeselect:!1,size:`xs`,w:70})]})]})]})}var zn=[10,15,50,100,500];function Bn({title:e,queryKey:i,connectedQueryKeys:a,apiPath:s,mutationApiPath:c,buttons:l,fields:u,selection:d,pagination:f,filters:p,actions:m,steps:h,defaultSort:g,onSortChange:_,createButtonText:v,queryParams:y,tabs:b,defaultTab:x,activeTab:S,onActiveTabChange:C,canUpdate:w,canDelete:T,showRefresh:E=!0,rowExpansion:D,onRowClick:O,mobileCards:k=!1,deleteConfirmMessage:A,editRecordId:j,onEditRecordIdChange:M}){let[N,ee]=(0,t.useState)(x||(b&&b.length>0?b[0].value:null)),P=S===void 0?N:S,te=e=>{S===void 0&&ee(e),C&&C(e)},ne=b?.find(e=>e.value===P),re=ne?.queryParams||{},F=ne?.apiPath??s,ie=ne?.mutationApiPath??c??F,ae={...y,...re},oe=ae?`?`+Object.entries(ae).filter(([,e])=>e!=null).map(([e,t])=>`${e}=${encodeURIComponent(t??``)}`).join(`&`):``,se=P?[...i,P]:i,{data:I,isLoading:ce,isError:le,isRefetching:ue,refetch:de}=ze(F+oe,se),{queryClient:fe}=V();(0,t.useEffect)(()=>{!I||!Array.isArray(I)||a?.forEach(e=>fe.invalidateQueries({queryKey:e}))},[I,a,fe]);let pe=Nn(Array.isArray(I)?I:[],p),[me,he]=(0,t.useState)({columnAccessor:g?.field??u[0].id,direction:g?.direction??`desc`}),ge=e=>{he(e),_&&_(String(e.columnAccessor),e.direction)},L=Dn(pe,me.columnAccessor,me.direction),[_e,ve]=Cn(zn[1],`mantine-table-page-size`),[ye,be]=(0,t.useState)(1),xe=f?L.slice((ye-1)*_e,ye*_e):L,[Se,Ce]=(0,t.useState)([]),R=D?.expanded?.recordIds??Se,we=D?.expanded?.onRecordIdsChange??Ce,Te=e=>{R.includes(e)?we(R.filter(t=>t!==e)):we(D?.allowMultiple?[...R,e]:[e])},Ee=u.findIndex(e=>e.list&&e.column&&!e.column.hidden),De=D&&Ee>=0?u.map((e,t)=>{if(t!==Ee)return e;let i=e.column.render;return{...e,column:{...e.column,render:(t,a)=>(0,n.jsxs)(r.Group,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[!D.expandable||D.expandable(t)?(0,n.jsx)(r.Box,{component:`span`,"aria-label":`Aufklappen`,onClick:e=>{e.stopPropagation(),Te(t.id)},style:{display:`inline-flex`,flexShrink:0,cursor:`pointer`},children:(0,n.jsx)(o.IconChevronRight,{size:16,style:{color:`var(--mantine-primary-color-filled)`,transform:R.includes(t.id)?`rotate(90deg)`:void 0,transition:`transform 200ms ease`}})}):(0,n.jsx)(r.Box,{w:16,style:{flexShrink:0}}),i?i(t,a):String(Ot(t,e.column.accessor)??``)]})}}}):u,[z,B]=(0,t.useState)([]);(0,t.useEffect)(()=>{B([])},[P]);let[Oe,ke]=(0,t.useState)(!1),[Ae,je]=(0,t.useState)(!1),[Me,H]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(j&&L.length>0){let e=L.find(e=>e.id===j);e&&(B([e]),je(!0),M?.(null))}},[j,L]);let U=u.some(e=>e.update),Ne=u.some(e=>e.delete),W=[];return U&&W.push({icon:(0,n.jsx)(o.IconPencil,{size:14}),label:`Bearbeiten`,onClick:e=>{B(e),je(!0)}}),m&&W.push(...m),Ne&&W.push({icon:(0,n.jsx)(o.IconTrash,{size:14}),label:`Löschen`,onClick:e=>{B(e),H(!0)}}),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(r.Flex,{gap:`xs`,align:{base:`stretch`,sm:`center`},direction:{base:`column`,sm:`row`},justify:e?`space-between`:`flex-end`,wrap:`wrap`,children:[e&&(typeof e==`string`?(0,n.jsx)(r.Title,{order:4,children:e}):e),(0,n.jsxs)(r.Flex,{align:{base:`stretch`,sm:`center`},direction:{base:`column`,sm:`row`},gap:`xs`,wrap:`wrap`,justify:{base:`flex-start`,sm:`flex-end`},ml:{base:0,sm:`auto`},children:[E&&(0,n.jsx)(r.ActionIcon,{variant:`subtle`,onClick:()=>de(),"aria-label":`Neuladen`,children:(0,n.jsx)(o.IconRefresh,{})}),(u.some(e=>e.update)||d)&&(()=>{let e=u.find(e=>e.update)&&(!w||z.length>0&&w(z[0])),i=u.find(e=>e.delete)&&(!T||z.length>0&&T(z[0])),a=(m??[]).length>0,s=e||i||a;return(0,n.jsx)(r.Box,{...k?{visibleFrom:`sm`}:{},children:(0,n.jsxs)(r.Menu,{shadow:`md`,children:[(0,n.jsx)(r.Menu.Target,{children:(0,n.jsx)(r.Button,{variant:`outline`,rightSection:(0,n.jsx)(o.IconCaretDownFilled,{size:14}),disabled:!z.length||!s,children:`Aktionen`})}),(0,n.jsxs)(r.Menu.Dropdown,{children:[e&&(0,n.jsx)(r.Menu.Item,{leftSection:(0,n.jsx)(o.IconPencil,{size:14}),onClick:()=>je(!0),disabled:z.length!==1,children:`Bearbeiten`}),(m??[]).map((e,n)=>(0,t.createElement)(r.Menu.Item,{...e.icon&&{leftSection:e.icon},key:`custom_action_${n}`,onClick:()=>e.onClick(z),disabled:e.disabled?.(z)??!1},e.label)),i&&(0,n.jsx)(r.Menu.Item,{leftSection:(0,n.jsx)(o.IconTrash,{size:14}),onClick:()=>H(!0),color:`red`,children:`Löschen`})]})]})})})(),u.find(e=>e.create)&&(0,n.jsx)(r.Button,{onClick:()=>ke(!0),disabled:ce,children:v??`Erstellen`}),l]})]}),b&&b.length>0&&(0,n.jsx)(r.Tabs,{value:P,onChange:te,mt:`md`,children:(0,n.jsx)(r.Tabs.List,{children:b.map(e=>(0,n.jsx)(r.Tabs.Tab,{value:e.value,leftSection:e.icon,children:e.label},e.value))})}),le&&(0,n.jsx)(r.Alert,{mt:`md`,variant:`light`,color:`red`,title:`Es ist ein Fehler aufgetreten.`,icon:(0,n.jsx)(o.IconInfoCircle,{}),children:`Bitte versuche es später erneut oder sende eine Nachricht an unseren Support.`}),(ce||ue)&&(0,n.jsxs)(r.Stack,{my:`md`,children:[(0,n.jsx)(r.Skeleton,{height:40}),[,,,,,].fill(0).map((e,t)=>(0,n.jsx)(r.Skeleton,{height:35},`skeleton-${t}`))]}),!ce&&!ue&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Box,{...k?{visibleFrom:`sm`}:{},children:(0,n.jsx)(bn,{my:`md`,striped:!0,highlightOnHover:!0,minHeight:150,fetching:le,records:xe,sortStatus:me,onSortStatusChange:ge,...d&&{selectedRecords:z,onSelectedRecordsChange:B},...f&&xe.length&&{totalRecords:L.length,recordsPerPage:_e,onPageChange:be,page:ye,recordsPerPageOptions:zn,onRecordsPerPageChange:ve,recordsPerPageLabel:`Einträge pro Seite`},...D&&{rowExpansion:{allowMultiple:D.allowMultiple??!1,trigger:O?`never`:`click`,content:({record:e})=>D.content(e,!1),expanded:{recordIds:R,onRecordIdsChange:we},...D.expandable&&{expandable:({record:e})=>D.expandable(e)}}},columns:De.map(e=>e.column),noRecordsText:`Keine Einträge gefunden`,onRowClick:O,...O&&{style:{cursor:`pointer`}}})}),k&&(0,n.jsx)(r.Box,{hiddenFrom:`sm`,children:(0,n.jsx)(Rn,{records:xe,fields:De,onRowClick:O,sort:{field:String(me.columnAccessor),direction:me.direction,onSortChange:(e,t)=>{ge({columnAccessor:e,direction:t})}},...f&&xe.length&&{pagination:{totalRecords:L.length,recordsPerPage:_e,page:ye,onPageChange:be,recordsPerPageOptions:zn,onRecordsPerPageChange:e=>{ve(e),be(1)}}},...D&&{rowExpansion:{content:D.content,expanded:{recordIds:R,onRecordIdsChange:we},...D.expandable&&{expandable:D.expandable}}},...W.length>0&&{actions:W,canUpdate:w,canDelete:T}})})]}),(0,n.jsx)(r.Modal,{opened:Ae,onClose:()=>{je(!1),B([])},title:e??`Bearbeiten`,children:z.length>0&&(0,n.jsx)(xn,{fields:u.filter(e=>e.update),queryKey:i,apiPath:ie,id:z[0].id,onClose:()=>{je(!1),B([])},steps:h})}),z.length>0&&(0,n.jsx)(r.Modal,{opened:Me,onClose:()=>{H(!1),B([])},title:e??`Löschen`,children:(0,n.jsx)(Sn,{onClose:()=>{H(!1),B([])},queryKey:i,apiPath:ie,selectedRecords:z,confirmMessage:A})}),(0,n.jsx)(r.Modal,{opened:Oe,onClose:()=>{ke(!1)},title:e??`Anlegen`,children:(0,n.jsx)(Ye,{queryKey:i,apiPath:ie,onClose:()=>{ke(!1)},fields:u.filter(e=>e.create),steps:h})})]})}function Vn({mobile:e,columns:t,...i}){return e?(0,n.jsx)(r.Stack,{gap:`sm`,style:{fontVariantNumeric:`tabular-nums`},children:(i.records??[]).map((e,r)=>{let a=t.filter(t=>!t.hidden&&!t.hideOnMobile?.(e)).map(t=>({label:t.title??Tt(String(t.accessor)),value:t.render?t.render(e,r):Ot(e,t.accessor)})),o=i.idAccessor?X(e,i.idAccessor):r;return(0,n.jsx)(Fn,{rows:a},o)})}):(0,n.jsx)(bn,{columns:t,...i})}e.CreateModal=Ye,e.DataTable=Bn,e.DataTableProvider=je,e.DeleteModal=Sn,e.FieldCard=Fn,e.MobileCardList=Rn,e.SubTable=Vn,e.UpdateModal=xn,e.api=Ie,e.createOne=Fe,e.deleteOne=Pe,e.getAll=Ne,e.getOne=W,e.parseApiError=Me,e.sortData=Dn,e.updateOne=Le,e.useAddOne=Be,e.useDataTable=V,e.useDeleteOne=He,e.useGetAll=ze,e.useGetOne=Re,e.usePersistentState=Cn,e.useUpdateOne=Ve});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("react/jsx-runtime"),require("@mantine/core"),require("@mantine/dates"),require("@mantine/form"),require("@tabler/icons-react"),require("@mantine/hooks")):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`@mantine/core`,`@mantine/dates`,`@mantine/form`,`@tabler/icons-react`,`@mantine/hooks`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.MantineDataTable={},e.React,e.react_jsx_runtime,e.MantineCore,e._mantine_dates,e.MantineForm,e.TablerIconsReact,e.MantineHooks))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var c=Object.create,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty,m=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=d(t),a=0,o=i.length,s;a<o;a++)s=i[a],!p.call(e,s)&&s!==n&&l(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=u(t,s))||r.enumerable});return e};t=((e,t,n)=>(n=e==null?{}:c(f(e)),m(t||!e||!e.__esModule?l(n,`default`,{value:e,enumerable:!0}):n,e)))(t,1);var h=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(){}},g=new class extends h{#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`}},_={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},v=new class{#e=_;#t=!1;setTimeoutProvider(e){process.env.NODE_ENV!==`production`&&this.#t&&e!==this.#e&&console.error(`[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,{previous:this.#e,provider:e}),this.#e=e,process.env.NODE_ENV!==`production`&&(this.#t=!1)}setTimeout(e,t){return process.env.NODE_ENV!==`production`&&(this.#t=!0),this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!==`production`&&(this.#t=!0),this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function y(e){setTimeout(e,0)}var b=typeof window>`u`||`Deno`in globalThis;function x(){}function S(e){return typeof e==`number`&&e>=0&&e!==1/0}function C(e,t){return Math.max(e+(t||0)-Date.now(),0)}function w(e,t){return typeof e==`function`?e(t):e}function T(e,t){return typeof e==`function`?e(t):e}function E(e){return JSON.stringify(e,(e,t)=>j(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}var D=Object.prototype.hasOwnProperty;function O(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=A(e)&&A(t);if(!r&&!(j(e)&&j(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:D.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=O(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function k(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 A(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function j(e){if(!M(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!M(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function M(e){return Object.prototype.toString.call(e)===`[object Object]`}function N(e,t,n){if(typeof n.structuralSharing==`function`)return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!==`production`)try{return O(e,t)}catch(e){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${e}`),e}return O(e,t)}return t}function ee(e,t){return typeof e==`function`?e(...t):!!e}var P=(()=>{let e=()=>b;return{isServer(){return e()},setIsServer(t){e=t}}})();function te(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var ne=y;function re(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=ne,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 F=re(),ie=new class extends h{#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 ae(e){return(e??`online`)===`online`?ie.isOnline():!0}function oe(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ae(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}var se=class extends h{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=te(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),le(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ue(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ue(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 T(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&&!k(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&de(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||T(this.options.enabled,this.#t)!==T(t.enabled,this.#t)||w(this.options.staleTime,this.#t)!==w(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||T(this.options.enabled,this.#t)!==T(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return pe(this,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),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.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);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(x)),t}#g(){this.#b();let e=w(this.options.staleTime,this.#t);if(P.isServer()||this.#r.isStale||!S(e))return;let t=C(this.#r.dataUpdatedAt,e)+1;this.#d=v.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(P.isServer()||T(this.options.enabled,this.#t)===!1||!S(this.#p)||this.#p===0)&&(this.#f=v.setInterval(()=>{(this.options.refetchIntervalInBackground||g.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(v.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(v.clearInterval(this.#f),this.#f=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&&le(e,t),o=i&&de(e,n,t,r);(a||o)&&(l={...l,...oe(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.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=N(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=N(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0,x={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:fe(e,t),refetch:this.refetch,promise:this.#o,isEnabled:T(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=x.data!==void 0,r=x.status===`error`&&!t,i=e=>{r?e.reject(x.error):t&&e.resolve(x.data)},a=()=>{i(this.#o=x.promise=te())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||x.data!==o.value)&&a();break;case`rejected`:(!r||x.error!==o.reason)&&a();break}}return x}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!k(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);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)})})()}))}#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()}#C(e){F.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function ce(e,t){return T(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&T(t.retryOnMount,e)===!1)}function le(e,t){return ce(e,t)||e.state.data!==void 0&&ue(e,t,t.refetchOnMount)}function ue(e,t,n){if(T(t.enabled,e)!==!1&&w(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&fe(e,t)}return!1}function de(e,t,n,r){return(e!==t||T(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&fe(e,n)}function fe(e,t){return T(t.enabled,e)!==!1&&e.isStaleByTime(w(t.staleTime,e))}function pe(e,t){return!k(e.getCurrentResult(),t)}function I(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var me=class extends h{#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),k(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&E(t.mutationKey)!==E(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}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??I();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){F.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)})})}},he=t.createContext(void 0),L=e=>{let n=t.useContext(he);if(e)return e;if(!n)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return n},ge=({client:e,children:r})=>(t.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,n.jsx)(he.Provider,{value:e,children:r})),_e=t.createContext(!1),ve=()=>t.useContext(_e);_e.Provider;function ye(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var be=t.createContext(ye()),xe=()=>t.useContext(be),Se=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?ee(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},R=e=>{t.useEffect(()=>{e.clearReset()},[e])},Ce=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||ee(n,[e.error,r])),we=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))}},Te=(e,t)=>e.isLoading&&e.isFetching&&!t,Ee=(e,t)=>e?.suspense&&t.isPending,z=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function B(e,n,r){if(process.env.NODE_ENV!==`production`&&(typeof e!=`object`||Array.isArray(e)))throw Error(`Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object`);let i=ve(),a=xe(),o=L(r),s=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(s);let c=o.getQueryCache().get(s.queryHash);process.env.NODE_ENV!==`production`&&(s.queryFn||console.error(`[${s.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`));let l=e.subscribed!==!1;s._optimisticResults=i?`isRestoring`:l?`optimistic`:void 0,we(s),Se(s,a,c),R(a);let u=!o.getQueryCache().get(s.queryHash),[d]=t.useState(()=>new n(o,s)),f=d.getOptimisticResult(s),p=!i&&l;if(t.useSyncExternalStore(t.useCallback(e=>{let t=p?d.subscribe(F.batchCalls(e)):x;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),t.useEffect(()=>{d.setOptions(s)},[s,d]),Ee(s,f))throw z(s,d,a);if(Ce({result:f,errorResetBoundary:a,throwOnError:s.throwOnError,query:c,suspense:s.suspense}))throw f.error;return o.getDefaultOptions().queries?._experimental_afterQuery?.(s,f),s.experimental_prefetchInRender&&!P.isServer()&&Te(f,i)&&(u?z(s,d,a):c?.promise)?.catch(x).finally(()=>{d.updateResult()}),s.notifyOnChangeProps?f:d.trackResult(f)}function De(e,t){return B(e,se,t)}function Oe(e,n){let r=L(n),[i]=t.useState(()=>new me(r,e));t.useEffect(()=>{i.setOptions(e)},[i,e]);let a=t.useSyncExternalStore(t.useCallback(e=>i.subscribe(F.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),o=t.useCallback((e,t)=>{i.mutate(e,t).catch(x)},[i]);if(a.error&&ee(i.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:o,mutateAsync:a.mutate}}var ke=(0,t.createContext)(void 0),Ae=async()=>({"Content-Type":`application/json`});function je({children:e,baseUrl:t,queryClient:r,getHeaders:i=Ae}){return(0,n.jsx)(ke.Provider,{value:{baseUrl:t,queryClient:r,getHeaders:i},children:(0,n.jsx)(ge,{client:r,children:e})})}function V(){let e=(0,t.useContext)(ke);if(!e)throw Error(`useDataTable must be used within a DataTableProvider`);return e}var Me=class extends Error{status;violations;constructor(e,t,n){super(e),this.name=`ApiError`,this.status=t,this.violations=n}};function Ne(e){return e instanceof Me?e.violations:void 0}async function H(e,t){let n=await fetch(e,t);if(n.status>=400){let e=await n.text();if(!e)throw new Me(`HTTP ${n.status}: ${n.statusText}`,n.status);let t=null;try{t=JSON.parse(e)}catch{throw new Me(e,n.status)}let r=Array.isArray(t?.violations)?t.violations.filter(e=>e?.field&&e?.message).map(e=>({field:String(e.field),message:String(e.message)})):void 0;throw new Me(t?.message??t?.error??t?.title??e,n.status,r)}return n}var U=e=>e.map(e=>e.toString());async function Pe(e,t){return(await H(e,{method:`GET`,headers:await t()})).json()}async function Fe(e,t,n){return(await H(`${e}/${t}`,{method:`GET`,headers:await n()})).json()}async function Ie(e,t,n){await H(`${e}/${t}`,{method:`DELETE`,headers:await n()})}async function Le(e,t,n){let r=await H(e,{method:`POST`,headers:await n(),body:JSON.stringify(t)});return r.status===204?t:r.json()}async function Re(e,t,n,r){let i=await H(t,{method:e,headers:await n(),body:r?JSON.stringify(r):void 0});if(i.status!==204)return i.json()}async function ze(e,t,n){let r=await H(`${e}/${t.id}`,{method:`PUT`,headers:await n(),body:JSON.stringify(t)});return r.status===204?t:r.json()}function Be(e,t,n){let{baseUrl:r,getHeaders:i}=V();return De({queryKey:[...U(t),String(n?.toString())],queryFn:()=>Fe(`${r}${e}`,n,i),enabled:!!n})}function Ve(e,t,n=!0){let{baseUrl:r,getHeaders:i}=V();return De({queryKey:U(t),queryFn:()=>Pe(`${r}${e}`,i),enabled:n})}function He(e,t,n){return Promise.all([e.invalidateQueries({queryKey:U(t)}),...(n??[]).map(t=>e.invalidateQueries({queryKey:t}))])}function Ue(e,t,n){let{baseUrl:r,queryClient:i,getHeaders:a}=V();return Oe({mutationKey:U(t),mutationFn:t=>Le(`${r}${e}`,t,a),onSettled:()=>He(i,t,n)})}function We(e,t,n){let{baseUrl:r,queryClient:i,getHeaders:a}=V();return Oe({mutationKey:U(t),mutationFn:t=>ze(`${r}${e}`,t,a),onSettled:()=>He(i,t,n)})}function Ge(e,t,n){let{baseUrl:r,queryClient:i,getHeaders:a}=V();return Oe({mutationKey:U(t),mutationFn:t=>Ie(`${r}${e}`,t,a),onSettled:()=>He(i,t,n)})}function Ke(e,t){return typeof e.required==`function`?e.required(t):!!e.required}function qe(e){return e.reduce((e,t)=>(e[t.id]=t.type===`boolean`?t.defaultValue??!1:t.defaultValue??``,e),{})}function Je(e){return e.filter(e=>e.required).reduce((e,t)=>(e[t.id]=(e,n)=>t.conditional&&!t.conditional(n)||!Ke(t,n)||e?null:`Pflichtfeld`,e),{})}function Ye(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t===``?void 0:t]))}function Xe(e,t){let n={...e};return t.forEach(e=>{let t=e.id;e.type===`boolean`&&n[t]===null?n[t]=!1:e.type===`date`&&n[t]?n[t]=new Date(n[t]):n[t]===null&&(n[t]=``)}),n}var Ze=e=>e.split(`.`).pop()??e;function Qe(e,t){return Object.fromEntries((Ne(e)??[]).filter(e=>t.has(Ze(e.field))).map(e=>[Ze(e.field),e.message]))}function $e(e,t){let n=Ne(e);if(!n)return e?.message;let r=n.filter(e=>!t.has(Ze(e.field)));return r.length>0?r.map(e=>e.message).join(`, `):void 0}function et({fields:e,steps:o,record:s,recordId:c,submitting:l,error:u,onPersist:d,onClose:f}){let[p,m]=(0,t.useState)(0),[h,g]=(0,t.useState)(!1),_=(0,a.useForm)({mode:`uncontrolled`,initialValues:qe(e),validate:Je(e)});(0,t.useEffect)(()=>{if(s){let t=Xe(s,e);_.initialize(t),_.setValues(t)}},[s]);let v=new Set(e.map(e=>String(e.id))),y=$e(u,v),b=[...new Set(e.filter(e=>typeof e.step==`number`).map(e=>e.step))],x=b.length>0,S=p===b.length-1;function C(e){let t=_.getValues();if(e.conditional&&!e.conditional(t))return null;let a=Ke(e,t),o=_.getInputProps(e.id);switch(e.type){case`number`:return(0,n.jsx)(r.NumberInput,{decimalSeparator:`,`,thousandSeparator:`.`,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id));case`date`:return(0,n.jsx)(i.DateInput,{valueFormat:`DD.MM.YYYY`,clearable:!0,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id));case`boolean`:return(0,n.jsx)(r.Checkbox,{mt:`md`,label:e.column.title,required:a,..._.getInputProps(e.id,{type:`checkbox`})},_.key(e.id));case`textarea`:return(0,n.jsx)(r.Textarea,{minRows:3,autosize:!0,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id));case`custom`:return e.render?.({...t,...c!=null&&{id:c}},_.setValues,g,{error:o.error,required:a});default:return(0,n.jsx)(r.TextInput,{type:e.id.includes(`email`)?`email`:void 0,label:e.column.title,placeholder:e.placeholder??``,required:a,...o},_.key(e.id))}}let w=r=>(r===void 0?e:e.filter(e=>e.step===r)).map(e=>(0,n.jsx)(t.Fragment,{children:C(e)},e.id));return(0,n.jsxs)(n.Fragment,{children:[y&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:`Fehler aufgetreten`,mb:`lg`,children:y}),(0,n.jsxs)(`form`,{onSubmit:_.onSubmit(async e=>{let t=Ye(e);try{await d(t)}catch(e){let t=Qe(e,v);Object.keys(t).length>0&&_.setErrors(t);return}x&&!S?m(e=>e+1):(_.setInitialValues(t),_.reset(),f())}),children:[x?(0,n.jsx)(r.Stepper,{active:p,size:`sm`,children:b.map(e=>(0,n.jsx)(r.Stepper.Step,{...o?.[e-1]?{label:o[e-1].label}:{},children:w(e)},e))}):w(),!h&&(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{variant:`outline`,onClick:()=>x&&p>0?m(e=>e-1):f(),children:x&&p>0?`Zurück`:`Abbrechen`}),(0,n.jsx)(r.Button,{type:`submit`,loading:l,children:x&&!S?`Weiter`:`Speichern`})]})]})]})}function W({fields:e,onClose:r,queryKey:i,connectedQueryKeys:a,apiPath:o,steps:s,onCreated:c}){let[l,u]=(0,t.useState)(),{mutateAsync:d,isPending:f,error:p}=Ue(o,i,a),{mutateAsync:m,isPending:h,error:g}=We(o,i,a);return(0,n.jsx)(et,{fields:e,steps:s,recordId:l,submitting:f||h,error:p??g,onPersist:async e=>{if(l!=null)await m({...e,id:l});else{let t=await d(e);u(t.id),c?.(t.id)}},onClose:r})}function tt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=tt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function G(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=tt(e))&&(r&&(r+=` `),r+=t);return r}function K(e,t,n){return e?(0,r.parseThemeColor)({color:typeof e==`object`?e[n]:e,theme:t}).value:void 0}function nt({theme:e,c:t,backgroundColor:n,borderColor:r,rowBorderColor:i,stripedColor:a,highlightOnHoverColor:o}){return{"--mantine-datatable-color-light":K(t,e,`light`),"--mantine-datatable-color-dark":K(t,e,`dark`),"--mantine-datatable-background-color-light":K(n,e,`light`),"--mantine-datatable-background-color-dark":K(n,e,`dark`),"--mantine-datatable-border-color-light":K(r,e,`light`),"--mantine-datatable-border-color-dark":K(r,e,`dark`),"--mantine-datatable-row-border-color-light":K(i,e,`light`),"--mantine-datatable-row-border-color-dark":K(i,e,`dark`),"--mantine-datatable-striped-color-light":K(a,e,`light`),"--mantine-datatable-striped-color-dark":K(a,e,`dark`),"--mantine-datatable-highlight-on-hover-color-light":K(o,e,`light`),"--mantine-datatable-highlight-on-hover-color-dark":K(o,e,`dark`)}}function rt({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:n}){return{"--mantine-datatable-pagination-active-text-color-light":K(t,e,`light`),"--mantine-datatable-pagination-active-text-color-dark":K(t,e,`dark`),"--mantine-datatable-pagination-active-background-color-light":K(n,e,`light`),"--mantine-datatable-pagination-active-background-color-dark":K(n,e,`dark`)}}function it({theme:e,color:t,backgroundColor:n}){return{"--mantine-datatable-row-color-light":K(t,e,`light`),"--mantine-datatable-row-color-dark":K(t,e,`dark`),"--mantine-datatable-row-background-color-light":K(n,e,`light`),"--mantine-datatable-row-background-color-dark":K(n,e,`dark`)}}var[at,ot]=(0,r.createSafeContext)(`useDataTableColumnsContext must be used within DataTableColumnProvider`),st=e=>{let{children:r,columnsOrder:i,setColumnsOrder:a,columnsToggle:o,setColumnsToggle:s,columnsPinning:c,setColumnsPinning:l,resetColumnsOrder:u,resetColumnsToggle:d,resetColumnsPinning:f,setColumnWidth:p,setMultipleColumnWidths:m,resetColumnsWidth:h,beginResize:g,endResize:_,pinnedMap:v}=e,[y,b]=(0,t.useState)(``),[x,S]=(0,t.useState)(``);return(0,n.jsx)(at,{value:{sourceColumn:y,setSourceColumn:b,targetColumn:x,setTargetColumn:S,columnsToggle:o,setColumnsToggle:s,columnsPinning:c,setColumnsPinning:l,swapColumns:()=>{if(!i||!a||!y||!x)return;let e=v.get(y),t=v.get(x);if(e?.logicalSide!==t?.logicalSide)return;let n=i.indexOf(y),r=i.indexOf(x);if(n!==-1&&r!==-1){let e=[...i],[t]=e.splice(n,1);e.splice(r,0,t),a(e)}},resetColumnsOrder:u,resetColumnsToggle:d,resetColumnsPinning:f,setColumnWidth:p,setMultipleColumnWidths:m,resetColumnsWidth:h,beginResize:g,endResize:_},children:r})};function ct(){return(0,n.jsx)(`tr`,{className:`mantine-datatable-empty-row`,children:(0,n.jsx)(`td`,{})})}function q(){return(0,n.jsxs)(`svg`,{width:`24`,height:`24`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74`}),(0,n.jsx)(`path`,{d:`M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6`}),(0,n.jsx)(`path`,{d:`M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4`}),(0,n.jsx)(`path`,{d:`M3 3l18 18`})]})}function lt({icon:e,text:t,active:i,children:a}){return(0,n.jsx)(r.Center,{className:`mantine-datatable-empty-state`,"data-active":i||void 0,children:a||(0,n.jsxs)(n.Fragment,{children:[e||(0,n.jsx)(`div`,{className:`mantine-datatable-empty-state-icon`,children:(0,n.jsx)(q,{})}),(0,n.jsx)(r.Text,{component:`div`,size:`sm`,c:`dimmed`,children:t})]})})}function ut({key:e,columns:n=[],getInitialValueInEffect:r=!0}){let i=(0,t.useMemo)(()=>n.map(e=>({accessor:e.accessor,defaultPinned:e.pinned,pinnable:!!e.pinnable,pinned:e.pinned})),[n]),[a,o]=(0,s.useLocalStorage)({key:e?`${e}-columns-pinning`:``,defaultValue:e?i:void 0,getInitialValueInEffect:r}),c=a??i;function l(t){e&&o(typeof t==`function`?e=>t(e??i):t)}let u=(0,t.useMemo)(()=>{if(!c)return i;let e=[];return c.forEach(t=>{n.find(e=>e.accessor===t.accessor)&&e.push(t)}),n.forEach(t=>{e.find(e=>e.accessor===t.accessor)||e.push({accessor:t.accessor,defaultPinned:t.pinned,pinnable:!!t.pinnable,pinned:t.pinned})}),e},[c,n,i]);(0,t.useEffect)(()=>{e&&c&&JSON.stringify(u)!==JSON.stringify(c)&&o(u)},[e,u,c,o]);let d=()=>{l(i)};return e?{columnsPinning:u,setColumnsPinning:l,resetColumnsPinning:d}:{columnsPinning:i,setColumnsPinning:l,resetColumnsPinning:d}}function J({key:e,columns:n=[],getInitialValueInEffect:r=!0}){let i=(0,t.useMemo)(()=>n?n.map(e=>e.accessor):[],[n]),[a,o]=(0,s.useLocalStorage)({key:e?`${e}-columns-order`:``,defaultValue:e?i:void 0,getInitialValueInEffect:r}),c=a??i;function l(t){e&&o(t)}let u=(0,t.useMemo)(()=>{if(!c)return i;let e=[];return c.forEach(t=>{n.find(e=>e.accessor===t)&&e.push(t)}),n.forEach(t=>{e.includes(t.accessor)||e.push(t.accessor)}),e},[c,n,i]);(0,t.useEffect)(()=>{e&&c&&JSON.stringify(u)!==JSON.stringify(c)&&o(u)},[e,u,c,o]);let d=()=>{l(i)};return e?{columnsOrder:u,setColumnsOrder:l,resetColumnsOrder:d}:{columnsOrder:c,setColumnsOrder:l,resetColumnsOrder:d}}function dt({key:e,columns:n=[],getInitialValueInEffect:r=!0,headerRef:i}){let a=(0,t.useMemo)(()=>n.some(e=>e.resizable&&!e.hidden&&e.accessor!==`__selection__`),[n]),o=(0,t.useCallback)(()=>n.filter(e=>e.accessor!==`__selection__`).map(e=>({[e.accessor]:e.width??`auto`})),[n]),[c,l]=(0,s.useLocalStorage)({key:e?`${e}-columns-width`:``,defaultValue:e?o():void 0,getInitialValueInEffect:r}),[u,d]=(0,t.useState)(()=>e&&c&&c.length>0?c:o()),[f,p]=(0,t.useState)(!1),m=(0,t.useRef)(!1);(0,t.useEffect)(()=>{e&&(!c||c.length===0||d(c))},[e,c]),(0,t.useEffect)(()=>{d(e=>{let t=new Set(n.filter(e=>e.accessor!==`__selection__`).map(e=>String(e.accessor))),r=e.filter(e=>t.has(Object.keys(e)[0])),i=new Set(r.map(e=>Object.keys(e)[0])),a=!1;for(let e of n){if(e.accessor===`__selection__`)continue;let t=String(e.accessor);i.has(t)||(r.push({[t]:e.width??`auto`}),a=!0)}return r.length!==e.length||a?r:e})},[n]);let h=(0,t.useCallback)(e=>{let t=e.filter(e=>e.accessor!==`__selection__`);t.length!==0&&(m.current=!0,d(e=>e.map(e=>{let n=Object.keys(e)[0],r=t.find(e=>e.accessor===n);return r?{[n]:r.width}:e})))},[]);(0,t.useEffect)(()=>{!e||!m.current||f||(m.current=!1,l(u))},[e,u,f,l]);let g=(0,t.useCallback)((e,t)=>{h([{accessor:e,width:t}])},[h]),_=(0,t.useCallback)(e=>{h(e)},[h]),v=(0,t.useCallback)(()=>{p(!0);let e=i?.current;if(!e)return;let t=Array.from(e.querySelectorAll(`th[data-accessor]`));if(t.length===0)return;let n=[];for(let e of t){let t=e.getAttribute(`data-accessor`);if(!t||t===`__selection__`)continue;let r=Math.round(e.getBoundingClientRect().width);n.push({[t]:`${r}px`})}m.current=!0,d(n)},[i]),y=(0,t.useCallback)(()=>{p(!1)},[]);return{columnsWidth:u,setColumnsWidth:h,setColumnWidth:g,setMultipleColumnWidths:_,resetColumnsWidth:(0,t.useCallback)(()=>{let e=o();m.current=!0,d(e),p(!1)},[o]),hasResizableColumns:a,allResizableWidthsInitial:(0,t.useMemo)(()=>{if(!a)return!1;let e=n.filter(e=>e.resizable&&!e.hidden&&e.accessor!==`__selection__`);return u.filter(t=>{let n=Object.keys(t)[0];return e.some(e=>e.accessor===n)}).every(e=>{let t=Object.values(e)[0];return t===`auto`||t===`initial`})},[a,n,u]),measureAndSetColumnWidths:(0,t.useCallback)(()=>{},[]),isResizing:f,beginResize:v,endResize:y}}function ft({key:e,columns:n=[],getInitialValueInEffect:r=!0}){let i=(0,t.useMemo)(()=>n?.map(e=>({accessor:e.accessor,defaultToggle:e.defaultToggle||!0,toggleable:e.toggleable,toggled:e.defaultToggle===void 0?!0:e.defaultToggle})),[n]),[a,o]=(0,s.useLocalStorage)({key:e?`${e}-columns-toggle`:``,defaultValue:e?i:void 0,getInitialValueInEffect:r}),c=a??i;function l(t){e&&o(t)}let u=(0,t.useMemo)(()=>{if(!c)return i;let e=[];return c.forEach(t=>{n.find(e=>e.accessor===t.accessor)&&e.push(t)}),n.forEach(t=>{e.find(e=>e.accessor===t.accessor)||e.push({accessor:t.accessor,defaultToggle:t.defaultToggle||!0,toggleable:t.toggleable,toggled:t.defaultToggle===void 0?!0:t.defaultToggle})}),e},[c,n,i]);(0,t.useEffect)(()=>{e&&c&&JSON.stringify(u)!==JSON.stringify(c)&&o(u)},[e,u,c,o]);let d=()=>{l(i)};return e?{columnsToggle:u,setColumnsToggle:l,resetColumnsToggle:d}:{columnsToggle:c,setColumnsToggle:l,resetColumnsToggle:d}}var pt=({key:e,columns:n=[],getInitialValueInEffect:r=!0,headerRef:i,scrollViewportRef:a})=>{let{columnsOrder:o,setColumnsOrder:s,resetColumnsOrder:c}=J({key:e,columns:n,getInitialValueInEffect:r}),{columnsToggle:l,setColumnsToggle:u,resetColumnsToggle:d}=ft({key:e,columns:n,getInitialValueInEffect:r}),{columnsPinning:f,setColumnsPinning:p,resetColumnsPinning:m}=ut({key:e,columns:n,getInitialValueInEffect:r}),{columnsWidth:h,setColumnsWidth:g,setColumnWidth:_,setMultipleColumnWidths:v,resetColumnsWidth:y,hasResizableColumns:b,allResizableWidthsInitial:x,measureAndSetColumnWidths:S,isResizing:C,beginResize:w,endResize:T}=dt({key:e,columns:n,getInitialValueInEffect:r,headerRef:i,scrollViewportRef:a}),E=(0,t.useMemo)(()=>{let e;e=o?o.map(e=>n.find(t=>t.accessor===e)).map(e=>{let t=f.find(t=>t.accessor===e?.accessor),n=e?.pinnable?t?.pinned:e?.pinned;return{...e,hidden:e?.hidden||!l.find(t=>t.accessor===e?.accessor)?.toggled,pinned:n}}):n;let t=e.filter(e=>e.pinned===`left`),r=e.filter(e=>!e.pinned),i=e.filter(e=>e.pinned===`right`);return[...t,...r,...i].map(e=>{if(e?.accessor===`__selection__`)return e;let t=e?.accessor,n=h.find(e=>t in e);if(!n)return e;let r=n[t];return r===void 0||r===`auto`||r===`initial`?e:{...e,width:r}})},[n,o,l,f,h]),D=(0,t.useMemo)(()=>{let e=E.filter(e=>!e.hidden&&e.accessor!==`__selection__`);return e.length===0?!1:e.every(e=>typeof e.width==`string`&&/px$/.test(e.width))},[E]);return{effectiveColumns:E,setColumnsOrder:s,columnsOrder:o,resetColumnsOrder:c,columnsToggle:l,setColumnsToggle:u,resetColumnsToggle:d,columnsPinning:f,setColumnsPinning:p,resetColumnsPinning:m,columnsWidth:h,setColumnsWidth:g,setColumnWidth:_,setMultipleColumnWidths:v,resetColumnsWidth:y,hasResizableColumns:b,allResizableWidthsInitial:x,measureAndSetColumnWidths:S,isResizing:C,isLocked:D,tableWidth:(0,t.useMemo)(()=>{if(!D)return null;let e=0;for(let t of E){if(t.hidden||t.accessor===`__selection__`)continue;let n=t.width;if(typeof n!=`string`)continue;let r=parseInt(n,10);Number.isNaN(r)||(e+=r)}return e>0?e:null},[D,E]),beginResize:w,endResize:T}},mt=typeof window<`u`?t.useLayoutEffect:t.useEffect;function ht(e){let n=(0,t.useRef)(e);return n.current=e,n}var gt=`--mantine-datatable-header-height`,_t=`--mantine-datatable-footer-height`,vt=`--mantine-datatable-selection-column-width`,yt=`--mantine-datatable-last-row-border-bottom`;function Y(e,t,n){e?.style.setProperty(t,n)}function bt(e){let t=e.borderBoxSize?.[0]||e.contentBoxSize?.[0];return t?{width:t.inlineSize,height:t.blockSize}:{width:e.contentRect.width,height:e.contentRect.height}}function xt(e,t,n){if(e){let r=new ResizeObserver(e=>{let n=e[0];n&&t(bt(n))});return r.observe(e),()=>{r.disconnect(),n()}}}function St({scrollCallbacks:e,withRowBorders:n}){let i={root:(0,t.useRef)(null),table:(0,t.useRef)(null),scrollViewport:(0,t.useRef)(null),header:(0,t.useRef)(null),footer:(0,t.useRef)(null),selectionColumnHeader:(0,t.useRef)(null)},{root:a,table:o,scrollViewport:s,header:c,footer:l,selectionColumnHeader:u}=i,d=ht({withRowBorders:n}),f=ht(e),p=(0,t.useRef)(()=>{}),m=(0,t.useRef)(()=>{}),h=(0,t.useCallback)(e=>{f.current.onScroll?.(e),p.current()},[]);return(0,t.useEffect)(()=>xt(c.current,e=>{Y(a.current,gt,`${e.height}px`)},()=>Y(a.current,gt,`0`)),[c.current]),(0,t.useEffect)(()=>xt(l.current,e=>{Y(a.current,_t,`${e.height}px`)},()=>Y(a.current,_t,`0`)),[l.current]),(0,t.useEffect)(()=>xt(u.current,e=>{Y(a.current,vt,`${e.width}px`)},()=>Y(a.current,vt,`0`)),[u.current]),mt(()=>{if(typeof window>`u`)return;let e={top:!0,bottom:!0,left:!0,right:!0},t={width:0,height:0},n={width:0,height:0};function i(t,n){let r=e[t];return e[t]=n,Y(a.current,`--mantine-datatable-${t}-shadow-opacity`,n?`0`:`1`),r}function c(){let e=t.height-n.height,r=e<0;Y(a.current,`--mantine-datatable-footer-position`,r?`relative`:`sticky`),Y(a.current,`--mantine-datatable-footer-bottom`,r?`${e}px`:`0`)}function l(){d.current.withRowBorders&&t.height<n.height?Y(a.current,yt,`${(0,r.rem)(`1px`)} solid var(--mantine-datatable-border-color)`):Y(a.current,yt,`unset`)}m.current=l;function u(){let e=f.current,r=s.current,a=r?.scrollTop??0,o=r?.scrollLeft??0,c=a===0,l=t.height-a-n.height<1,u=i(`top`,c),d=i(`bottom`,l);c&&c!==u&&e.onScrollToTop?.(),l&&l!==d&&e.onScrollToBottom?.();let p=r?getComputedStyle(r).direction===`rtl`:!1,m=(r?.scrollWidth??0)-n.width,h,g;if(p){let e=Math.abs(o);g=e<1,h=m-e<1}else h=o<1,g=t.width-o-n.width<1;let _=i(`left`,h),v=i(`right`,g);h&&h!==_&&e.onScrollToLeft?.(),g&&g!==v&&e.onScrollToRight?.()}p.current=u;let h=new ResizeObserver(e=>{for(let r of e)switch(r.target.tagName){case`TABLE`:t=bt(r);break;case`DIV`:n=bt(r);break}u(),c(),l()});return h.observe(o.current),h.observe(s.current),()=>{h.disconnect()}},[]),mt(()=>{m.current()},[n]),{refs:i,onScroll:h}}function Ct({columns:e,theadRef:n,tbodyRef:r,selectionColumnHeaderRef:i,selectionVisible:a,pinFirstColumn:o,pinLastColumn:s}){let[c,l]=(0,t.useState)(new Map),u=(0,t.useCallback)(()=>{if(!o&&!s&&!e.some(e=>e.pinned))return;let t=n.current??r.current;if(!t)return;let c=!!n.current,u=c?t.querySelector(`tr:last-of-type`):t.querySelector(`tr:first-of-type`);if(!u)return;let d=getComputedStyle(t).direction===`rtl`,f=new Map;if(c)u.querySelectorAll(`th[data-accessor]`).forEach(e=>{let t=e.dataset.accessor;if(t){let n=e.getBoundingClientRect().width;n>0&&f.set(t,n)}});else{let t=e.filter(e=>!e.hidden);u.querySelectorAll(`td:not(.mantine-datatable-row-selector-cell):not(.mantine-datatable-row-expansion-cell)`).forEach((e,n)=>{if(t[n]){let r=e.getBoundingClientRect().width;r>0&&f.set(String(t[n].accessor),r)}})}let p=0;if(a){let e=i.current??t.querySelector(c?`.mantine-datatable-header-selector-cell`:`.mantine-datatable-row-selector-cell`);e&&(p=e.getBoundingClientRect().width)}let m=e.filter(e=>!e.hidden&&f.has(String(e.accessor))).map(e=>String(e.accessor)),h=new Map;for(let t of e){let e=String(t.accessor);m.includes(e)&&(t.pinned?h.set(e,t.pinned):o&&e===m[0]&&!h.has(e)?h.set(e,`left`):s&&e===m[m.length-1]&&!h.has(e)&&h.set(e,`right`))}let g=m.filter(e=>h.get(e)===`left`),_=m.filter(e=>h.get(e)===`right`),v=new Map,y=p;g.forEach((e,t)=>{v.set(e,{position:d?`right`:`left`,logicalSide:`left`,offset:y,isBoundary:t===g.length-1}),y+=f.get(e)||0});let b=-.4,x=[..._].reverse();x.forEach((e,t)=>{v.set(e,{position:d?`left`:`right`,logicalSide:`right`,offset:b,isBoundary:t===x.length-1}),b+=f.get(e)||0}),l(e=>{if(e.size!==v.size)return v;for(let[t,n]of v){let r=e.get(t);if(!r||r.position!==n.position||r.logicalSide!==n.logicalSide||r.offset!==n.offset||r.isBoundary!==n.isBoundary)return v}return e})},[e,a,n,r,i,o,s]);return(0,t.useEffect)(()=>{if(!o&&!s&&!e.some(e=>e.pinned))return;let t=n.current??r.current;if(!t)return;let i=!!n.current,a=i?t.querySelector(`tr:last-of-type`):t.querySelector(`tr:first-of-type`);if(!a)return;let c=new ResizeObserver(u);return a.querySelectorAll(i?`th`:`td`).forEach(e=>{c.observe(e)}),()=>c.disconnect()},[n,r,u]),mt(u,[u]),{pinnedMap:c,hasLeftPinned:[...c.values()].some(e=>e.logicalSide===`left`),hasRightPinned:[...c.values()].some(e=>e.logicalSide===`right`)}}function wt(e){let[n,r]=(0,t.useState)(null);return(0,t.useEffect)(()=>{r(null)},[e?.join(`:`)||``]),{lastSelectionChangeIndex:n,setLastSelectionChangeIndex:r}}function Tt(e,t){let n=()=>{t(e.map(e=>e.matches))},r=e.map(e=>{try{return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)}catch{return e.addListener(n),()=>e.removeListener(n)}});return()=>{r.forEach(e=>{e()})}}function Et(e,t){return t||(typeof window<`u`&&`matchMedia`in window?e.map(e=>window.matchMedia(e).matches):e.map(()=>!1))}function Dt(e,n,{getInitialValueInEffect:r}={getInitialValueInEffect:!0}){let[i,a]=(0,t.useState)(r?n:Et(e,n)),o=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(`matchMedia`in window)return o.current=e.map(e=>window.matchMedia(e)),a(o.current.map(e=>e.matches)),Tt(o.current,e=>{a(e)})},[e]),i}function Ot(e){let n=(0,r.useMantineTheme)();return Dt((0,t.useMemo)(()=>e.map(e=>(typeof e==`function`?e(n):e)??``),[e,n]),(0,t.useMemo)(()=>e.map(()=>!0),[e]))}function X(e){let t=(0,r.useMantineTheme)();return(0,s.useMediaQuery)((typeof e==`function`?e(t):e)||``,!0)}function Z(e){let t=e.replace(/([a-z\d])([A-Z]+)/g,`$1 $2`).replace(/\W|_/g,` `).trim().toLowerCase();return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function kt(e,t,n){return e.filter(e=>!t.map(n).includes(n(e)))}function At(e,t){return e.filter((e,n,r)=>n===r.findIndex(n=>t(e)===t(n)))}function jt(e,t){return t?t.match(/([^[.\]])+/g).reduce((e,t)=>e&&e[t],e):void 0}function Q(e,t){return typeof t==`string`?jt(e,t):t(e)}function Mt(e){return!e||e.length===0?0:Math.max(...e.map(e=>e.groups&&e.groups.length>0?1+Mt(e.groups):1))}function Nt(e){let t=[];for(let n of e)n.columns&&n.columns.length>0?t.push(...n.columns.filter(e=>e!=null)):n.groups&&n.groups.length>0&&t.push(...Nt(n.groups));return t.filter(e=>e!=null)}function Pt(e,t){return e.columns&&e.columns.length>0?e.columns.filter((e,n)=>e.hidden?!1:t?t[n]!==!1:!0).length:e.groups&&e.groups.length>0?e.groups.reduce((e,n)=>e+Pt(n,t),0):0}function Ft(e,t,n=0){if(n===t)return[...e];let r=[];for(let i of e)i.groups&&i.groups.length>0&&r.push(...Ft(i.groups,t,n+1));return r}function It(e,t,n){return n?!e||t:!1}function Lt({rowExpansion:e,records:n,idAccessor:r}){let i=[];if(e&&n){let{trigger:t,allowMultiple:a,initiallyExpanded:o}=e;n&&t===`always`?i=n.map(e=>Q(e,r)):o&&(i=n.filter((e,t)=>o({record:e,index:t})).map(e=>Q(e,r)),a||(i=[i[0]]))}let a,o,s=(0,t.useState)(i);if(e){let{expandable:t,trigger:n,allowMultiple:i,collapseProps:c,content:l}=e;e.expanded?{recordIds:a,onRecordIdsChange:o}=e.expanded:[a,o]=s;let u=e=>o?.(a.filter(t=>t!==Q(e,r)));return{expandOnClick:n!==`always`&&n!==`never`,isRowExpanded:e=>n===`always`?!0:a.includes(Q(e,r)),isExpandable:({record:e,index:n})=>t?t({record:e,index:n}):!0,expandRow:e=>{let t=Q(e,r);o?.(i?[...a,t]:[t])},collapseRow:u,collapseProps:c,content:({record:e,index:t})=>()=>l({record:e,index:t,collapse:()=>u(e)})}}}function Rt(e,n){let[r,i]=(0,t.useState)(e),[a,o]=(0,t.useState)(e),c=(0,s.useTimeout)(()=>i(!0),0),l=(0,s.useTimeout)(()=>o(!1),n||200);return(0,t.useEffect)(()=>{e?(l.clear(),o(!0),c.start()):(c.clear(),i(!1),l.start())},[c,l,e]),{expanded:r,visible:a}}var zt=`mantine-datatable-nowrap`,Bt=`mantine-datatable-ellipsis`,$=`mantine-datatable-pointer-cursor`,Vt=`mantine-datatable-context-menu-cursor`,Ht=`mantine-datatable-text-selection-disabled`,Ut=`mantine-datatable-text-align-left`,Wt=`mantine-datatable-text-align-center`,Gt=`mantine-datatable-text-align-right`;function Kt({className:e,style:t,pinnedInfo:i,visibleMediaQuery:a,title:o,noWrap:s,ellipsis:c,textAlign:l,width:u}){return X(a)?(0,n.jsx)(r.TableTh,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:G({[zt]:s||c,[Bt]:c,[Ut]:l===`left`,[Wt]:l===`center`,[Gt]:l===`right`},e),style:[{width:u,minWidth:u,maxWidth:u},t,i&&{position:`sticky`,[i.position]:i.offset,overflow:`visible`}],children:o}):null}function qt({shadowVisible:e}){return(0,n.jsx)(r.TableTh,{className:`mantine-datatable-footer-selector-placeholder-cell`,"data-shadow-visible":e||void 0})}function Jt({className:e,style:t,columns:i,defaultColumnProps:a,pinnedMap:o,selectionVisible:s,selectorCellShadowVisible:c,ref:l}){return(0,n.jsx)(r.TableTfoot,{ref:l,className:G(`mantine-datatable-footer`,e),style:t,children:(0,n.jsxs)(r.TableTr,{children:[s&&(0,n.jsx)(qt,{shadowVisible:c}),i.map(({hidden:e,...t})=>{if(e)return null;let{accessor:r,visibleMediaQuery:i,textAlign:s,width:c,footer:l,footerClassName:u,footerStyle:d,noWrap:f,ellipsis:p}={...a,...t};return(0,n.jsx)(Kt,{pinnedInfo:o.get(String(r)),className:u,style:d,visibleMediaQuery:i,textAlign:s,width:c,title:l,noWrap:f,ellipsis:p},r)})]})})}function Yt({group:{id:e,columns:i,groups:a,title:o,textAlign:s,className:c,style:l},pinnedInfo:u,maxDepth:d,currentDepth:f,previousGroups:p,isLastGroup:m,withColumnBorders:h=!1,totalTableColumns:g}){let _=(0,t.useMemo)(()=>i&&i.length>0?i:a&&a.length>0?Nt([{id:e,columns:i,groups:a}]):[],[i,a,e]),v=Ot((0,t.useMemo)(()=>_.map(({visibleMediaQuery:e})=>e),[_])),y=(0,t.useMemo)(()=>Pt({id:e,columns:i,groups:a},v),[e,i,a,v]),b=(0,t.useMemo)(()=>p.reduce((e,t)=>e+Pt(t,v),0),[p,v]),x=a&&a.length>0?1:d-f,S=It(m,b+y<g,h);return y>0?(0,n.jsx)(r.TableTh,{colSpan:y,rowSpan:x>1?x:void 0,"data-pinned":u?.position,"data-pinned-shadow":u?.isBoundary?u.position:void 0,className:G(`mantine-datatable-column-group-header-cell`,{[Ut]:s===`left`,[Wt]:s===`center`,[Gt]:s===`right`,"mantine-datatable-column-group-header-cell--needs-border":S},c),style:[l,u&&{position:`sticky`,[u.position]:u.offset,overflow:`visible`}],children:o??Z(e)}):null}function Xt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z`})]})}function Zt(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M20 3h-16a1 1 0 0 0 -1 1v2.227l.008 .223a3 3 0 0 0 .772 1.795l4.22 4.641v8.114a1 1 0 0 0 1.316 .949l6 -2l.108 -.043a1 1 0 0 0 .576 -.906v-6.586l4.121 -4.12a3 3 0 0 0 .879 -2.123v-2.171a1 1 0 0 0 -1 -1z`,strokeWidth:`0`,fill:`currentColor`})]})}function Qt({children:e,isActive:t,filterPopoverProps:i,filterPopoverDisableClickOutside:a}){let[o,{close:c,toggle:l}]=(0,s.useDisclosure)(!1),u=t?Zt:Xt,d=(0,s.useClickOutside)(c);return a&&(d=void 0),(0,n.jsxs)(r.Popover,{withArrow:!0,shadow:`md`,trapFocus:!0,...i,opened:o,onClose:c,onDismiss:c,children:[(0,n.jsx)(r.PopoverTarget,{children:(0,n.jsx)(r.ActionIcon,{className:`mantine-datatable-header-cell-filter-action-icon`,"data-active":t||void 0,size:`sm`,variant:`default`,onClick:e=>{e.preventDefault(),l()},onKeyDown:e=>e.stopPropagation(),children:(0,n.jsx)(u,{})})}),(0,n.jsx)(r.PopoverDropdown,{ref:d,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:typeof e==`function`?e({close:c}):e})]})}function $t(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M5 12l14 0`}),(0,n.jsx)(`path`,{d:`M5 12l6 6`}),(0,n.jsx)(`path`,{d:`M5 12l6 -6`})]})}function en(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M5 12l14 0`}),(0,n.jsx)(`path`,{d:`M19 12l-6 6`}),(0,n.jsx)(`path`,{d:`M19 12l-6 -6`})]})}function tn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M9 4v6l-2 4v2h10v-2l-2-4v-6`}),(0,n.jsx)(`path`,{d:`M12 16v5`}),(0,n.jsx)(`path`,{d:`M8 4h8`})]})}function nn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M18 6l-12 12`}),(0,n.jsx)(`path`,{d:`M6 6l12 12`})]})}function rn({currentPinned:e,onPinChange:i}){let[a,o]=(0,t.useState)(!1),s=(0,t.useRef)(null),[c,l]=(0,t.useState)(!1),u=(0,t.useCallback)(()=>{if(s.current){let e=getComputedStyle(s.current).direction;l(e===`rtl`)}},[]);mt(()=>{u()},[u]),(0,t.useEffect)(()=>{a&&u()},[a,u]);let d=c?`right`:`left`,f=c?`left`:`right`,p=e===d,m=e===f;return(0,n.jsxs)(r.Popover,{opened:a,onChange:o,position:`bottom`,withArrow:!0,shadow:`sm`,children:[(0,n.jsx)(r.Popover.Target,{children:(0,n.jsx)(r.Center,{ref:s,className:`mantine-datatable-header-cell-pinnable-icon`,role:`button`,"aria-label":`Pin column`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:(0,n.jsx)(r.ActionIcon,{size:`xs`,variant:`light`,onClick:e=>e.stopPropagation(),children:(0,n.jsx)(tn,{})})})}),(0,n.jsx)(r.Popover.Dropdown,{onClick:e=>e.stopPropagation(),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),className:`mantine-datatable-pinnable-dropdown`,children:(0,n.jsxs)(r.Group,{gap:4,children:[(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:p?`filled`:`light`,onClick:()=>i(p?void 0:d),"aria-label":`Pin left`,children:(0,n.jsx)($t,{})}),(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:m?`filled`:`light`,onClick:()=>i(m?void 0:f),"aria-label":`Pin right`,children:(0,n.jsx)(en,{})}),e&&(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:`light`,color:`red`,onClick:()=>i(void 0),"aria-label":`Unpin`,children:(0,n.jsx)(nn,{})})]})})]})}var an=50,on=e=>{let{accessor:i,columnRef:a}=e,[o,s]=(0,t.useState)(!1),c=(0,t.useRef)(0),l=(0,t.useRef)({current:0,next:0}),{dir:u}=(0,r.useDirection)(),d=u===`rtl`,{setMultipleColumnWidths:f,beginResize:p,endResize:m}=ot(),h=(0,t.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),!a.current)return;let t=a.current,n=t.nextElementSibling;for(;n;){let e=n.getAttribute(`data-accessor`);if(e&&e!==`__selection__`)break;n=n.nextElementSibling}if(!n)return;let r=n.getAttribute(`data-accessor`);if(!r)return;let o=t.offsetWidth,u=n.offsetWidth;p(),s(!0),c.current=e.clientX,l.current={current:o,next:u};let h=e=>{let t=e.clientX-c.current;d&&(t=-t);let n=l.current.current-an,a=l.current.next-an,o=Math.max(-n,Math.min(t,a)),s=l.current.current+o,u=l.current.next-o;f([{accessor:i,width:`${s}px`},{accessor:r,width:`${u}px`}])},g=()=>{s(!1),document.body.style.cursor=`initial`,document.body.style.userSelect=`initial`,m(),document.removeEventListener(`mousemove`,h),document.removeEventListener(`mouseup`,g)};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,h),document.addEventListener(`mouseup`,g)},[i,a,d,f,p,m]),g=(0,t.useCallback)(()=>{if(!a.current)return;let e=a.current.nextElementSibling,t=[{accessor:i,width:`auto`}];if(e){let n=e.getAttribute(`data-accessor`);n&&n!==`__selection__`&&t.push({accessor:n,width:`auto`})}f(t)},[i,a,f]);return(0,n.jsx)(`div`,{className:`mantine-datatable-header-resizable-handle`,style:{cursor:o?`col-resize`:void 0},onMouseDown:h,onDoubleClick:g,onClick:e=>e.stopPropagation(),title:`Drag to resize column, double-click to reset`})};function sn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M8 7l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M8 17l4 4l4 -4`}),(0,n.jsx)(`path`,{d:`M12 3l0 18`})]})}function cn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M12 5l0 14`}),(0,n.jsx)(`path`,{d:`M16 9l-4 -4`}),(0,n.jsx)(`path`,{d:`M8 9l4 -4`})]})}function ln(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,n.jsx)(`path`,{d:`M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`})]})}function un({className:e,style:i,pinnedInfo:a,accessor:o,visibleMediaQuery:s,title:c,sortable:l,draggable:u,toggleable:d,pinnable:f,resizable:p,sortIcons:m,textAlign:h,width:g,sortStatus:_,onSortStatusChange:v,filter:y,filterPopoverProps:b,filterPopoverDisableClickOutside:x,filtering:S,sortKey:C}){let{setSourceColumn:w,setTargetColumn:T,swapColumns:E,columnsToggle:D,setColumnsToggle:O,columnsPinning:k,setColumnsPinning:A}=ot(),[j,M]=(0,t.useState)(!1),N=(0,t.useRef)(null),ee=k?.find(e=>e.accessor===o)?.pinned;if(!X(s))return null;let P=c??Z(o),te=typeof P==`string`?P:void 0,ne=l&&v?e=>{e?.defaultPrevented||v({sortKey:C,columnAccessor:o,direction:_?.columnAccessor===o?_.direction===`asc`?`desc`:`asc`:_?.direction??`asc`})}:void 0,re=e=>{e.stopPropagation(),w(o),M(!1)},F=e=>{e.preventDefault(),T(o),M(!0)},ie=()=>{T(o),M(!1),E()},ae=()=>{M(!0)},oe=()=>{M(!1)},se=e=>{e.stopPropagation(),O(D.map(e=>e.accessor===o?{...e,toggled:!1}:e))},ce=e=>{A(t=>t.map(t=>t.accessor===o?{...t,pinned:e}:t))};return(0,n.jsxs)(r.TableTh,{"data-accessor":o,"data-pinned":a?.position,"data-pinned-shadow":a?.isBoundary?a.position:void 0,className:G({"mantine-datatable-header-cell-sortable":l,"mantine-datatable-header-cell-toggleable":d,"mantine-datatable-header-cell-pinnable":f,"mantine-datatable-header-cell-resizable":p},e),style:[{width:g,...p?{}:{minWidth:g,maxWidth:g}},i,a&&{position:`sticky`,[a.position]:a.offset,overflow:`visible`}],role:l?`button`:void 0,tabIndex:l?0:void 0,onClick:ne,onKeyDown:e=>e.key===`Enter`&&ne?.(),ref:N,children:[(0,n.jsxs)(r.Group,{className:`mantine-datatable-header-cell-sortable-group`,justify:`space-between`,wrap:`nowrap`,children:[(0,n.jsxs)(r.Flex,{align:`center`,w:`100%`,className:G({"mantine-datatable-header-cell-draggable":u,"mantine-datatable-header-cell-drag-over":j}),draggable:u,onDragStart:u?re:void 0,onDragEnter:u?ae:void 0,onDragOver:u?F:void 0,onDrop:u?ie:void 0,onDragLeave:u?oe:void 0,children:[u?(0,n.jsx)(r.Center,{role:`img`,"aria-label":`Drag column`,children:(0,n.jsx)(r.ActionIcon,{className:`mantine-datatable-header-cell-draggable-action-icon`,variant:`subtle`,size:`xs`,onClick:e=>{e.stopPropagation()},children:(0,n.jsx)(ln,{})})}):null,(0,n.jsx)(r.Box,{className:G(`mantine-datatable-header-cell-sortable-text`,{[Ut]:h===`left`,[Wt]:h===`center`,[Gt]:h===`right`},zt,Bt),title:te,children:P})]}),f?(0,n.jsx)(rn,{currentPinned:ee,onPinChange:ce}):null,d?(0,n.jsx)(r.Center,{className:`mantine-datatable-header-cell-toggleable-icon`,role:`img`,"aria-label":`Toggle column`,children:(0,n.jsx)(r.ActionIcon,{size:`xs`,variant:`light`,onClick:se,children:(0,n.jsx)(nn,{})})}):null,l||_?.columnAccessor===o?_?.columnAccessor===o?(0,n.jsx)(r.Center,{className:G(`mantine-datatable-header-cell-sortable-icon`,{"mantine-datatable-header-cell-sortable-icon-reversed":_.direction===`desc`}),role:`img`,"aria-label":`Sorted ${_.direction===`desc`?`descending`:`ascending`}`,children:m?.sorted||(0,n.jsx)(cn,{})}):(0,n.jsx)(r.Center,{className:`mantine-datatable-header-cell-sortable-unsorted-icon`,role:`img`,"aria-label":`Not sorted`,children:m?.unsorted||(0,n.jsx)(sn,{})}):null,y?(0,n.jsx)(Qt,{filterPopoverProps:b,isActive:!!S,filterPopoverDisableClickOutside:x,children:y}):null]}),p&&o!==`__selection__`?(0,n.jsx)(on,{accessor:o,columnRef:N}):null]})}function dn({className:e,style:t,trigger:i,shadowVisible:a,checked:o,indeterminate:s,checkboxProps:c,onChange:l,rowSpan:u,ref:d}){let f=!c.disabled;return(0,n.jsx)(r.TableTh,{ref:d,className:G(`mantine-datatable-header-selector-cell`,{[$]:i===`cell`&&f},e),style:t,rowSpan:u,"data-shadow-visible":a||void 0,"data-accessor":`__selection__`,onClick:i===`cell`&&f?l:void 0,children:(0,n.jsx)(r.Checkbox,{classNames:f?{input:$}:void 0,checked:o,indeterminate:s,onChange:l,...c,disabled:!(l||c.onChange)||c.disabled})})}function fn(e,t){let n=(e.columns??[]).filter(e=>!e.hidden).map(e=>String(e.accessor)),r=n.map(e=>t.get(e)).filter(Boolean);if(r.length===0||r.length!==n.length)return;let i=new Set(r.map(e=>e.logicalSide));if(i.size>1)return;let a=[...i][0],o=a===`left`?n[0]:n[n.length-1],s=t.get(o);if(!s)return;let c=a===`left`?n[n.length-1]:n[0],l=t.get(c);return{...s,isBoundary:l?.isBoundary??!1}}function pn({selectionColumnHeaderRef:e,className:i,style:a,sortStatus:o,sortIcons:s,onSortStatusChange:c,columns:l,defaultColumnProps:u,groups:d,pinnedMap:f,selectionTrigger:p,selectionVisible:m,selectionChecked:h,selectionIndeterminate:g,onSelectionChange:_,selectionCheckboxProps:v,selectorCellShadowVisible:y,selectionColumnClassName:b,selectionColumnStyle:x,withColumnBorders:S=!1,ref:C}){let w=d?Mt(d):0,T=w>0?w+1:1,E=m?(0,n.jsx)(dn,{ref:e,className:b,style:x,trigger:p,shadowVisible:y,checked:h,indeterminate:g,checkboxProps:v,onChange:_,rowSpan:d?T:void 0}):null,{columnsToggle:D,setColumnsToggle:O}=ot(),[k,A]=(0,t.useState)(!1),j=l.some(e=>e.toggleable),M=j?Object.fromEntries(l.map(({accessor:e,title:t})=>[e,t??Z(String(e))])):void 0,N=(0,n.jsxs)(r.TableThead,{className:G(`mantine-datatable-header`,i),style:a,ref:C,onContextMenu:j?e=>{e.preventDefault(),A(e=>!e)}:void 0,children:[d&&Array.from({length:w},(e,t)=>{let i=Ft(d,t);return(0,n.jsxs)(r.TableTr,{children:[t===0&&E,i.map((e,r)=>(0,n.jsx)(Yt,{group:e,pinnedInfo:fn(e,f),maxDepth:w,currentDepth:t,previousGroups:i.slice(0,r),isLastGroup:r===i.length-1,withColumnBorders:S,totalTableColumns:l.length},e.id))]},`group-depth-${t}`)}),(0,n.jsxs)(r.TableTr,{children:[!d&&E,l.map(({hidden:e,...t},r)=>{if(e)return null;let{accessor:i,visibleMediaQuery:a,textAlign:d,width:p,title:m,sortable:h,draggable:g,toggleable:_,pinnable:v,resizable:y,titleClassName:b,titleStyle:x,filter:S,filterPopoverProps:C,filterPopoverDisableClickOutside:w,filtering:T,sortKey:E}={...u,...t};return(0,n.jsx)(un,{accessor:i,pinnedInfo:f.get(String(i)),className:b,style:x,visibleMediaQuery:a,textAlign:d,width:p,title:m,sortable:h,draggable:g,toggleable:_,pinnable:v,resizable:y&&r<l.length-1,sortStatus:o,sortIcons:s,sortKey:E,onSortStatusChange:c,filter:S,filterPopoverProps:C,filterPopoverDisableClickOutside:w,filtering:T},i)})]})]});return j?(0,n.jsxs)(r.Popover,{position:`bottom`,withArrow:!0,shadow:`md`,opened:k,onChange:A,children:[(0,n.jsx)(r.PopoverTarget,{children:N}),(0,n.jsx)(r.PopoverDropdown,{children:(0,n.jsx)(r.Stack,{children:D.filter(e=>e.toggleable).map(e=>(0,n.jsx)(r.Group,{children:(0,n.jsx)(r.Checkbox,{classNames:{label:`mantine-datatable-header-column-toggle-checkbox-label`},size:`xs`,label:M[e.accessor],checked:e.toggled,onChange:t=>{O(D.map(n=>n.accessor===e.accessor?{...n,toggled:t.currentTarget.checked}:n))}})},e.accessor))})})]}):N}function mn({fetching:e,customContent:t,backgroundBlur:i,size:a,type:o,color:s}){return(0,n.jsx)(r.Center,{className:G(`mantine-datatable-loader`,{"mantine-datatable-loader-fetching":e}),style:[{backdropFilter:i?`blur(${i}px)`:void 0}],children:e&&(t||(0,n.jsx)(r.Loader,{size:a,type:o,color:s}))})}function hn(){return(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,strokeWidth:`2`,stroke:`currentColor`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`path`,{stroke:`none`,d:`M0 0h24v24H0z`,fill:`none`}),(0,n.jsx)(`path`,{d:`M8 9l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M16 15l-4 4l-4 -4`})]})}var gn={xs:(0,r.rem)(22),sm:(0,r.rem)(26),md:(0,r.rem)(32),lg:(0,r.rem)(38),xl:(0,r.rem)(44)};function _n({size:e,label:t,values:i,value:a,activeTextColor:o,activeBackgroundColor:s,onChange:c}){return(0,n.jsxs)(r.Group,{gap:`xs`,children:[(0,n.jsx)(r.Text,{component:`div`,size:e,children:t}),(0,n.jsxs)(r.Menu,{withinPortal:!0,withArrow:!0,offset:2,classNames:{arrow:`mantine-datatable-page-size-selector-menu-arrow`},children:[(0,n.jsx)(r.MenuTarget,{children:(0,n.jsx)(r.Button,{size:e,variant:`default`,classNames:{section:`mantine-datatable-page-size-selector-button-icon`},rightSection:(0,n.jsx)(hn,{}),style:[{fontWeight:`normal`},t=>({height:gn[e],paddingLeft:t.spacing[e],paddingRight:t.spacing[e]})],children:a})}),(0,n.jsx)(r.MenuDropdown,{children:i.map(t=>{let i=t===a;return(0,n.jsx)(r.MenuItem,{className:G({"mantine-datatable-page-size-selector-active":i}),style:[{height:gn[e]},i&&(o||s)?e=>rt({theme:e,paginationActiveTextColor:o,paginationActiveBackgroundColor:s}):void 0],disabled:i,onClick:()=>c(t),children:(0,n.jsx)(r.Text,{component:`div`,size:e,children:t})},t)})})]})]})}function vn({className:e,style:t,fetching:i,page:a,onPageChange:o,paginationWithEdges:s,paginationWithControls:c,paginationActiveTextColor:l,paginationActiveBackgroundColor:u,paginationSize:d,loadingText:f,noRecordsText:p,paginationText:m,totalRecords:h,recordsPerPage:g,onRecordsPerPageChange:_,recordsPerPageLabel:v,recordsPerPageOptions:y,recordsLength:b,horizontalSpacing:x,paginationWrapBreakpoint:S,getPaginationControlProps:C,getPaginationItemProps:w,renderPagination:T}){let E;if(h){let e=(a-1)*g+1;E=m({from:e,to:e+(b||0)-1,totalRecords:h})}else E=i?f:p;let D=h&&g?Math.max(1,Math.ceil(h/g)):1,O=h?(a-1)*(g??0)+1:void 0,k=h?(O??1)+(b??0)-1:void 0,A=!X(({breakpoints:e})=>`(min-width: ${typeof S==`number`?`${(0,r.rem)(S)}rem`:e[S]||S})`),j={Text:e=>(0,n.jsx)(r.Text,{component:`div`,className:`mantine-datatable-pagination-text`,size:d,...e,children:E}),PageSizeSelector:e=>y?(0,n.jsx)(_n,{activeTextColor:l,activeBackgroundColor:u,size:d,label:v,values:y,value:g,onChange:_,...e}):null,Pagination:e=>(0,n.jsx)(r.Pagination,{classNames:{root:G(`mantine-datatable-pagination-pages`,{"mantine-datatable-pagination-pages-fetching":i||!b}),control:`mantine-datatable-pagination-pages-control`},style:l||u?e=>rt({theme:e,paginationActiveTextColor:l,paginationActiveBackgroundColor:u}):void 0,withEdges:s,withControls:c,value:a,onChange:o,size:d,total:D,getControlProps:C,getItemProps:w,...e})},M={state:{paginationSize:d,page:a,totalPages:D,totalRecords:h,recordsPerPage:g,recordsLength:b,fetching:i,from:O,to:k,isWrapped:A},actions:{setPage:e=>o?.(e),setRecordsPerPage:_?e=>_(e):void 0},Controls:j};return(0,n.jsx)(r.Box,{px:x??`xs`,py:`xs`,className:G(`mantine-datatable-pagination`,e),style:[{flexDirection:A?`column`:`row`},t],children:typeof T==`function`?T(M):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(j.Text,{}),(0,n.jsx)(j.PageSizeSelector,{}),(0,n.jsx)(j.Pagination,{})]})})}function yn({className:e,style:t,pinnedInfo:i,visibleMediaQuery:a,record:o,index:s,onClick:c,onDoubleClick:l,onContextMenu:u,noWrap:d,ellipsis:f,textAlign:p,width:m,accessor:h,render:g,defaultRender:_,customCellAttributes:v}){return X(a)?(0,n.jsx)(r.TableTd,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:G({[zt]:d||f,[Bt]:f,[$]:c||l,[Vt]:u,[Ut]:p===`left`,[Wt]:p===`center`,[Gt]:p===`right`},e),style:[{width:m,minWidth:m,maxWidth:m},t,i&&{position:`sticky`,[i.position]:i.offset,overflow:`visible`}],onClick:c,onDoubleClick:l,onContextMenu:u,...v?.(o,s),children:g?g(o,s):_?_(o,s,h):jt(o,h)}):null}function bn({open:e,colSpan:t,content:i,collapseProps:a}){let{expanded:o,visible:s}=Rt(e,a?.transitionDuration);return s?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.TableTr,{}),(0,n.jsx)(r.TableTr,{children:(0,n.jsx)(r.TableTd,{className:`mantine-datatable-row-expansion-cell`,colSpan:t,children:(0,n.jsx)(r.Collapse,{expanded:o,...a,children:(0,n.jsx)(`div`,{className:`mantine-datatable-row-expansion-cell-content`,children:i()})})})})]}):null}function xn({className:e,style:t,record:i,index:a,trigger:o,onChange:s,withRightShadow:c,checkboxProps:l,getCheckboxProps:u,...d}){let f={...l,...u(i,a)},p=!d.disabled&&!f.disabled,m=e=>{e.stopPropagation(),o===`cell`&&p&&s?.(e)};return(0,n.jsx)(r.TableTd,{className:G(`mantine-datatable-row-selector-cell`,{[$]:o===`cell`&&p},e),style:t,"data-shadow-visible":c||void 0,onClick:m,children:(0,n.jsx)(r.Checkbox,{classNames:p?{input:$}:void 0,onChange:s,...d,...f})})}function Sn({record:e,index:t,columns:i,defaultColumnProps:a,pinnedMap:o,defaultColumnRender:s,selectionTrigger:c,selectionVisible:l,selectionChecked:u,onSelectionChange:d,isRecordSelectable:f,selectionCheckboxProps:p,getSelectionCheckboxProps:m,onClick:h,onDoubleClick:g,onContextMenu:_,onCellClick:v,onCellDoubleClick:y,onCellContextMenu:b,expansion:x,customAttributes:S,color:C,backgroundColor:w,className:T,style:E,selectorCellShadowVisible:D,selectionColumnClassName:O,selectionColumnStyle:k,rowFactory:A}){let j=(0,n.jsxs)(n.Fragment,{children:[l&&(0,n.jsx)(xn,{className:O,style:k,record:e,index:t,trigger:c,withRightShadow:D,checked:u,disabled:!d||(f?!f(e,t):!1),onChange:d,checkboxProps:p,getCheckboxProps:m}),i.map(({hidden:r,hiddenContent:i,...c},l)=>{if(r||i)return null;let{accessor:u,visibleMediaQuery:d,textAlign:f,noWrap:p,ellipsis:m,width:h,render:g,cellsClassName:_,cellsStyle:x,customCellAttributes:S}={...a,...c};return(0,n.jsx)(yn,{pinnedInfo:o.get(String(u)),className:typeof _==`function`?_(e,t):_,style:x?.(e,t),visibleMediaQuery:d,record:e,index:t,onClick:v?n=>v({event:n,record:e,index:t,column:c,columnIndex:l}):void 0,onDoubleClick:y?n=>y({event:n,record:e,index:t,column:c,columnIndex:l}):void 0,onContextMenu:b?n=>b({event:n,record:e,index:t,column:c,columnIndex:l}):void 0,accessor:u,textAlign:f,noWrap:p,ellipsis:m,width:h,render:g,defaultRender:s,customCellAttributes:S},u)})]}),M=x&&(0,n.jsx)(bn,{colSpan:i.filter(({hidden:e})=>!e).length+ +!!l,open:x.isRowExpanded(e),content:x.content({record:e,index:t}),collapseProps:x.collapseProps}),N=Cn({record:e,index:t,selectionChecked:u,onClick:h,onDoubleClick:g,onContextMenu:_,expansion:x,customAttributes:S,color:C,backgroundColor:w,className:T,style:E});return A?A({record:e,index:t,rowProps:N,children:j,expandedElement:M}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.TableTr,{...N,children:j}),M]})}function Cn({record:e,index:t,selectionChecked:n,onClick:r,onDoubleClick:i,onContextMenu:a,expansion:o,customAttributes:s,color:c,backgroundColor:l,className:u,style:d}){return{className:G(`mantine-datatable-row`,{[$]:r||i||o?.isExpandable({record:e,index:t})&&o?.expandOnClick},{[Vt]:a},typeof u==`function`?u(e,t):u),"data-selected":n||void 0,onClick:n=>{if(o){let{isExpandable:n,isRowExpanded:r,expandOnClick:i,expandRow:a,collapseRow:s}=o;n({record:e,index:t})&&i&&(r(e)?s(e):a(e))}r?.({event:n,record:e,index:t})},onDoubleClick:i?n=>i({event:n,record:e,index:t}):void 0,onContextMenu:a?n=>a({event:n,record:e,index:t}):void 0,style:[c||l?n=>{let r=c?.(e,t),i=l?.(e,t);return it({theme:n,color:r,backgroundColor:i})}:void 0,d?.(e,t)],...s?.(e,t)??{}}}function wn({leftShadowBehind:e,rightShadowBehind:t,onScrollPositionChange:i,children:a,viewportRef:o,scrollAreaProps:s}){return(0,n.jsxs)(r.ScrollArea,{...s,viewportRef:o,classNames:{root:`mantine-datatable-scroll-area`,scrollbar:`mantine-datatable-scroll-area-scrollbar`,thumb:`mantine-datatable-scroll-area-thumb`,corner:`mantine-datatable-scroll-area-corner`},onScrollPositionChange:i,children:[a,(0,n.jsx)(r.Box,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-top-shadow`)}),(0,n.jsx)(`div`,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-left-shadow`,{"mantine-datatable-scroll-area-shadow-behind":e})}),(0,n.jsx)(`div`,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-right-shadow`,{"mantine-datatable-scroll-area-shadow-behind":t})}),(0,n.jsx)(r.Box,{className:G(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-bottom-shadow`)})]})}function Tn({withTableBorder:e,borderRadius:i,textSelectionDisabled:a,height:o=`100%`,minHeight:c,maxHeight:l,shadow:u,verticalAlign:d=`center`,fetching:f,columns:p,storeColumnsKey:m,groups:h,pinFirstColumn:g,pinLastColumn:_,defaultColumnProps:v,defaultColumnRender:y,idAccessor:b=`id`,records:x,selectionTrigger:S=`checkbox`,selectedRecords:C,onSelectedRecordsChange:w,selectionColumnClassName:T,selectionColumnStyle:E,isRecordSelectable:D,selectionCheckboxProps:O,allRecordsSelectionCheckboxProps:k={"aria-label":`Select all records`},getRecordSelectionCheckboxProps:A=(e,t)=>({"aria-label":`Select record ${t+1}`}),sortStatus:j,sortIcons:M,onSortStatusChange:N,horizontalSpacing:ee,page:P,onPageChange:te,totalRecords:ne,recordsPerPage:re,onRecordsPerPageChange:F,recordsPerPageOptions:ie,recordsPerPageLabel:ae=`Records per page`,paginationWithEdges:oe,paginationWithControls:se,paginationActiveTextColor:ce,paginationActiveBackgroundColor:le,paginationSize:ue=`sm`,paginationText:de=({from:e,to:t,totalRecords:n})=>`${e} - ${t} / ${n}`,paginationWrapBreakpoint:fe=`sm`,getPaginationControlProps:pe=e=>e===`previous`?{"aria-label":`Previous page`}:e===`next`?{"aria-label":`Next page`}:{},getPaginationItemProps:I,renderPagination:me,loaderBackgroundBlur:he,customLoader:L,loaderSize:ge,loaderType:_e,loaderColor:ve,loadingText:ye=`...`,emptyState:be,noRecordsText:xe=`No records`,noRecordsIcon:Se,highlightOnHover:R,striped:Ce,noHeader:we,onRowClick:Te,onRowDoubleClick:Ee,onRowContextMenu:z,onCellClick:B,onCellDoubleClick:De,onCellContextMenu:Oe,onScroll:ke,onScrollToTop:Ae,onScrollToBottom:je,onScrollToLeft:V,onScrollToRight:Me,c:Ne,backgroundColor:H,borderColor:U,rowBorderColor:Pe,stripedColor:Fe,highlightOnHoverColor:Ie,rowColor:Le,rowBackgroundColor:Re,rowExpansion:ze,rowClassName:Be,rowStyle:Ve,customRowAttributes:He,scrollViewportRef:Ue,scrollAreaProps:We,tableRef:Ge,bodyRef:Ke,m:qe,my:Je,mx:Ye,mt:Xe,mb:Ze,ml:Qe,mr:$e,className:et,classNames:W,style:tt,styles:K,rowFactory:rt,tableWrapper:it,...at}){let ot=(0,t.useMemo)(()=>h?Nt(h):p,[p,h]),{refs:q,onScroll:ut}=St({scrollCallbacks:{onScroll:ke,onScrollToTop:Ae,onScrollToBottom:je,onScrollToLeft:V,onScrollToRight:Me},withRowBorders:at.withRowBorders}),J=pt({key:m,columns:ot,headerRef:q.header,scrollViewportRef:q.scrollViewport}),dt=J.effectiveColumns,ft=(0,s.useMergedRef)(q.table,Ge),mt=(0,s.useMergedRef)(q.scrollViewport,Ue),ht=(0,t.useRef)(null),gt=(0,s.useMergedRef)(ht,Ke),_t=Lt({rowExpansion:ze,records:x,idAccessor:b}),{pinnedMap:vt,hasLeftPinned:yt,hasRightPinned:Y}=Ct({columns:dt,theadRef:q.header,tbodyRef:ht,selectionColumnHeaderRef:q.selectionColumnHeader,selectionVisible:!!C,pinFirstColumn:g,pinLastColumn:_}),bt=(0,t.useRef)(!1),xt=(0,t.useRef)(P),Tt=(0,t.useRef)(x),Et=(0,t.useCallback)(e=>{bt.current=!0,Tt.current=x,te(e)},[te,x]);(0,t.useEffect)(()=>{xt.current!==P&&(bt.current=!0,Tt.current=x,xt.current=P)},[P,x]);let Dt=x?.length;(0,t.useLayoutEffect)(()=>{if(!bt.current||f||x===Tt.current)return;let e=q.scrollViewport.current;if(!e)return;let t=requestAnimationFrame(()=>{e.scrollTo({top:0,left:0}),bt.current=!1});return()=>cancelAnimationFrame(t)},[f,x,q.scrollViewport]);let Ot=x?.map(e=>Q(e,b)),X=!!C,Z=C?.map(e=>Q(e,b)),jt=Ot!==void 0&&Z!==void 0&&Z.length>0,Mt=D?x?.filter(D):x,Pt=Mt?.map(e=>Q(e,b)),Ft=jt&&Pt.every(e=>Z.includes(e)),It=jt&&Pt.some(e=>Z.includes(e)),Rt=(0,t.useCallback)(()=>{C&&w&&w(Ft?C.filter(e=>!Pt.includes(Q(e,b))):At([...C,...Mt],e=>Q(e,b)))},[Ft,b,w,Pt,Mt,C]),{lastSelectionChangeIndex:zt,setLastSelectionChangeIndex:Bt}=wt(Ot),$=X&&!yt,Vt={m:qe,my:Je,mx:Ye,mt:Xe,mb:Ze,ml:Qe,mr:$e},Ut=(0,t.useCallback)(({children:e})=>it?it({children:e}):e,[it]);return(0,n.jsx)(st,{...J,pinnedMap:vt,children:(0,n.jsxs)(r.Box,{ref:q.root,...Vt,className:G(`mantine-datatable`,{"mantine-datatable-with-border":e},et,W?.root),style:[e=>({...nt({theme:e,c:Ne,backgroundColor:H,borderColor:U,rowBorderColor:Pe,stripedColor:Fe,highlightOnHoverColor:Ie}),borderRadius:e.radius[i]||i,boxShadow:e.shadows[u]||u,height:o,minHeight:c,maxHeight:l}),tt,K?.root,{position:`relative`}],children:[(0,n.jsx)(wn,{viewportRef:mt,leftShadowBehind:X||yt,rightShadowBehind:Y,onScrollPositionChange:ut,scrollAreaProps:We,children:(0,n.jsx)(Ut,{children:(0,n.jsxs)(r.Table,{ref:ft,horizontalSpacing:ee,className:G(`mantine-datatable-table`,{[Ht]:a,"mantine-datatable-vertical-align-top":d===`top`,"mantine-datatable-vertical-align-bottom":d===`bottom`,"mantine-datatable-selection-column-visible":X,"mantine-datatable-resizable-columns":J.hasResizableColumns,"mantine-datatable-resize-locked":J.isLocked,"mantine-datatable-resizing":J.isResizing},W?.table),style:{...K?.table,...J.isLocked?{tableLayout:`fixed`}:null,...J.tableWidth==null?null:{width:`${J.tableWidth}px`}},"data-striped":Dt&&Ce||void 0,"data-highlight-on-hover":R||void 0,...at,children:[we?null:(0,n.jsx)(st,{...J,pinnedMap:vt,children:(0,n.jsx)(pn,{ref:q.header,selectionColumnHeaderRef:q.selectionColumnHeader,className:W?.header,style:K?.header,columns:dt,defaultColumnProps:v,groups:h,pinnedMap:vt,sortStatus:j,sortIcons:M,onSortStatusChange:N,selectionTrigger:S,selectionVisible:X,selectionChecked:Ft,selectionIndeterminate:It&&!Ft,onSelectionChange:Rt,selectionCheckboxProps:{...O,...k},selectorCellShadowVisible:$,selectionColumnClassName:T,selectionColumnStyle:E,withColumnBorders:at.withColumnBorders})}),(0,n.jsx)(`tbody`,{ref:gt,children:Dt?x.map((e,t)=>{let r=Q(e,b),i=Z?.includes(r)||!1,a;return w&&C&&(a=n=>{if(n.nativeEvent.shiftKey&&zt!==null){let e=x.filter(t>zt?(e,n)=>n>=zt&&n<=t&&(D?D(e,n):!0):(e,n)=>n>=t&&n<=zt&&(D?D(e,n):!0));w(i?kt(C,e,e=>Q(e,b)):At([...C,...e],e=>Q(e,b)))}else w(i?C.filter(e=>Q(e,b)!==r):At([...C,e],e=>Q(e,b)));Bt(t)}),(0,n.jsx)(Sn,{record:e,index:t,columns:dt,defaultColumnProps:v,pinnedMap:vt,defaultColumnRender:y,selectionTrigger:S,selectionVisible:X,selectionChecked:i,onSelectionChange:a,isRecordSelectable:D,selectionCheckboxProps:O,getSelectionCheckboxProps:A,onClick:Te,onDoubleClick:Ee,onCellClick:B,onCellDoubleClick:De,onContextMenu:z,onCellContextMenu:Oe,expansion:_t,color:Le,backgroundColor:Re,className:Be,style:Ve,customAttributes:He,selectorCellShadowVisible:$,selectionColumnClassName:T,selectionColumnStyle:E,idAccessor:b,rowFactory:rt},r)}):(0,n.jsx)(ct,{})}),dt.some(({footer:e})=>e)&&(0,n.jsx)(Jt,{ref:q.footer,className:W?.footer,style:K?.footer,columns:dt,defaultColumnProps:v,pinnedMap:vt,selectionVisible:X,selectorCellShadowVisible:$})]})})}),!!(P&&Dt)&&(0,n.jsx)(vn,{className:W?.pagination,style:K?.pagination,horizontalSpacing:ee,fetching:f,page:P,onPageChange:Et,totalRecords:ne,recordsPerPage:re,onRecordsPerPageChange:F,recordsPerPageOptions:ie,recordsPerPageLabel:ae,paginationWithEdges:oe,paginationWithControls:se,paginationActiveTextColor:ce,paginationActiveBackgroundColor:le,paginationSize:ue,paginationText:de,paginationWrapBreakpoint:fe,getPaginationControlProps:pe,getPaginationItemProps:I,noRecordsText:xe,loadingText:ye,recordsLength:Dt,renderPagination:me}),(0,n.jsx)(mn,{fetching:f,backgroundBlur:he,customContent:L,size:ge,type:_e,color:ve}),(0,n.jsx)(lt,{icon:Se,text:xe,active:!f&&!Dt,children:be})]})})}function En({fields:e,onClose:t,queryKey:i,connectedQueryKeys:a,apiPath:o,id:s,steps:c}){let{data:l,isLoading:u}=Be(o,i,s),{mutateAsync:d,isPending:f,error:p}=We(o,i,a);return u||!l?(0,n.jsxs)(r.Stack,{gap:`md`,children:[(0,n.jsx)(r.Skeleton,{height:40}),Array.from({length:e.length}).map((e,t)=>(0,n.jsx)(r.Skeleton,{height:35},t)),(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Skeleton,{width:100,height:36}),(0,n.jsx)(r.Skeleton,{width:100,height:36})]})]}):(0,n.jsx)(et,{fields:e,steps:c,record:l,recordId:s,submitting:f,error:p,onPersist:async e=>{await d({...e,id:s})},onClose:t})}function Dn({queryKey:e,connectedQueryKeys:i,apiPath:a,onClose:o,selectedRecords:s,confirmMessage:c}){let{mutateAsync:l,isError:u,error:d,isPending:f}=Ge(a,e,i),[p,m]=(0,t.useState)(s),[h,g]=(0,t.useState)(!1),_=h||f;return(0,t.useEffect)(()=>{p.length||o()},[o,p]),p.length?(0,n.jsxs)(n.Fragment,{children:[u&&d.message&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:d.name,children:d.message}),(0,n.jsx)(r.Text,{children:c?c(p):p.length===1?`Soll ${p.length} Eintrag wirklich gelöscht werden?`:`Sollen ${p.length} Einträge wirklich gelöscht werden?`}),(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{onClick:o,variant:`outline`,disabled:_,children:`Abbrechen`}),(0,n.jsx)(r.Button,{color:`red`,loading:_,onClick:async()=>{g(!0);try{await Promise.all(p.map(e=>l(e.id))),m([])}finally{g(!1)}},children:`Löschen`})]})]}):(0,n.jsx)(n.Fragment,{})}function On(e,n){let r=`use_persistent_storage_${n}`,[i,a]=(0,t.useState)(()=>{try{let t=localStorage.getItem(r);return t?JSON.parse(t):e}catch{return e}});return[i,e=>{a(t=>{let n=e instanceof Function?e(t):e;return localStorage.setItem(r,JSON.stringify(n)),n})}]}var kn=[/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/,/^\d{4}-\d{2}-\d{2}$/,/^\d{1,2}\/\d{1,2}\/\d{4}$/,/^\d{1,2}\.\d{1,2}\.\d{4}$/],An=(e,t)=>{let n=e.map(e=>e[t]).filter(e=>e!=null&&e!==``);if(n.length===0)return`string`;let r=n.slice(0,100),i={string:0,number:0,date:0};r.forEach(e=>{if(typeof e==`number`)i.number++;else if(typeof e==`string`){let t=e.trim();if(t!==``&&!isNaN(Number(t))&&!isNaN(parseFloat(t))){i.number++;return}if(kn.some(e=>e.test(t))){let e=new Date(t);if(!isNaN(e.getTime())){i.date++;return}}i.string++}else e instanceof Date?i.date++:i.string++});let a=i.string+i.number+i.date;return i.date/a>=.6?`date`:i.number/a>=.6?`number`:i.string/a>=.6?`string`:`mixed`};function jn(e,t){switch(t){case`date`:if(typeof e==`string`){let t=new Date(e.trim());return isNaN(t.getTime())?null:t.getTime()}return e instanceof Date?e.getTime():null;case`number`:if(typeof e==`number`)return e;let t=parseFloat(String(e).trim());return isNaN(t)?null:t;case`string`:return(typeof e==`string`?e:String(e)).toLowerCase().trim();default:return String(e).toLowerCase().trim()}}var Mn=(e,t,n=`asc`)=>{if(!e||e.length===0)return[];let r=An(e,t);return[...e].sort((e,i)=>{let a=e[t],o=i[t],s=a==null||a===``,c=o==null||o===``;if(s&&c)return 0;if(s)return n===`asc`?-1:1;if(c)return n===`asc`?1:-1;let l=jn(a,r),u=jn(o,r);return l===null&&u===null?0:l===null?n===`asc`?1:-1:u===null||l<u?n===`asc`?-1:1:l>u?n===`asc`?1:-1:0})};function Nn(e){return!!e&&typeof e==`object`&&`id`in e}function Pn(e,t){if(typeof e==`string`||typeof e==`number`)return t.includes(String(e));if(e&&typeof e==`object`){let n=e;return Nn(n)&&t.includes(n.id)?!0:Object.values(n).some(e=>typeof e==`string`&&t.includes(e)||Nn(e)&&t.includes(e.id))}return!1}function Fn(e,t){return Array.isArray(t)?Array.isArray(e)?e.some(e=>Pn(e,t)):Nn(e)?t.includes(e.id):!1:typeof e==`string`&&e.includes(t)}function In(e,[t,n]){if(!t&&!n||typeof e!=`string`)return!0;let r=e.split(` `)[0];return t&&n?r>=t&&r<=n:t?r>=t:r<=n}function Ln(e,t){if(t.value===void 0)return!0;let n=e[t.id];switch(t.type){case`query`:return Fn(n,t.value);case`date`:return In(n,t.value);case`boolean`:return n===t.value}}function Rn(e,t){return!t||t.length===0?e:e.filter(e=>t.every(t=>Ln(e,t)))}function zn({rows:e}){return(0,n.jsx)(n.Fragment,{children:e.map((e,t)=>(0,n.jsxs)(r.Box,{children:[t>0&&(0,n.jsx)(r.Divider,{}),(0,n.jsxs)(r.Group,{wrap:`nowrap`,justify:`space-between`,align:`flex-start`,gap:`md`,py:`xs`,px:`sm`,children:[(0,n.jsx)(r.Text,{fw:700,fz:`sm`,style:{flexShrink:0},children:e.label}),(0,n.jsx)(r.Box,{ta:`right`,fz:`sm`,style:{minWidth:0},children:e.value})]})]},typeof e.label==`string`?e.label:t))})}function Bn({rows:e}){return(0,n.jsx)(r.Box,{bg:`var(--mantine-color-gray-light)`,style:{borderRadius:`var(--mantine-radius-md)`,overflow:`hidden`},children:(0,n.jsx)(zn,{rows:e})})}function Vn(e,t){return t.split(`.`).reduce((e,t)=>{if(e&&typeof e==`object`&&t in e)return e[t]},e)}function Hn(e,t){let i=t.column;if(i.render)return i.render(e,0);let a=Vn(e,i.accessor??t.id);return a==null?(0,n.jsx)(r.Text,{c:`dimmed`,children:`–`}):typeof a==`boolean`?(0,n.jsx)(r.Text,{fz:`sm`,children:a?`Ja`:`Nein`}):(0,n.jsx)(r.Text,{fz:`sm`,children:String(a)})}function Un({records:e,fields:i,onRowClick:a,actions:s,canUpdate:c,canDelete:l,pagination:u,sort:d,rowExpansion:f}){let[p,m]=(0,t.useState)(new Set),h=f?.expanded,g=e=>h?h.recordIds.includes(e):p.has(e),_=e=>{if(h){let{recordIds:t,onRecordIdsChange:n}=h;n(t.includes(e)?t.filter(t=>t!==e):[...t,e])}else m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},v=i.filter(e=>e.list&&e.column&&!e.column.hidden),y=i.filter(e=>e.column&&e.column.filter!=null),b=y.filter(e=>e.column.filtering).map(e=>e.id),x=b.length>0,S=x?b:y.slice(0,1).map(e=>e.id),[C,w]=(0,t.useState)(!1),T=v.filter(e=>e.column.sortable!==!1).reduce((e,t)=>{let n=t.column.accessor??t.id;return e.some(e=>e.value===n)||e.push({value:n,label:t.column.title??t.id}),e},[]),E=(e,t,n)=>{a?.({record:e,index:t,event:n})};return(0,n.jsxs)(r.Stack,{gap:`sm`,my:`md`,children:[(d&&T.length>0||y.length>0)&&(0,n.jsxs)(r.Group,{gap:`xs`,wrap:`nowrap`,justify:`flex-end`,children:[d&&T.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Select,{data:T,value:d.field,onChange:e=>e&&d.onSortChange(e,d.direction),allowDeselect:!1,style:{flex:1}}),(0,n.jsx)(r.ActionIcon,{variant:`filled`,size:`input-sm`,onClick:()=>d.onSortChange(d.field,d.direction===`asc`?`desc`:`asc`),children:d.direction===`asc`?(0,n.jsx)(o.IconSortAscending,{size:18}):(0,n.jsx)(o.IconSortDescending,{size:18})})]}),y.length>0&&(0,n.jsxs)(r.Popover,{opened:C,onChange:w,position:`bottom-end`,withArrow:!0,shadow:`md`,trapFocus:!0,children:[(0,n.jsx)(r.Popover.Target,{children:(0,n.jsx)(r.Indicator,{inline:!0,disabled:!x,color:`green`,withBorder:!0,children:(0,n.jsx)(r.ActionIcon,{variant:x?`filled`:`default`,size:`input-sm`,onClick:()=>w(e=>!e),"aria-label":`Filter`,children:(0,n.jsx)(o.IconFilter,{size:18})})})}),(0,n.jsx)(r.Popover.Dropdown,{p:0,children:(0,n.jsx)(r.Accordion,{multiple:!0,defaultValue:S,style:{minWidth:260,maxWidth:320},children:y.map(e=>(0,n.jsxs)(r.Accordion.Item,{value:e.id,children:[(0,n.jsx)(r.Accordion.Control,{children:(0,n.jsxs)(r.Group,{gap:`xs`,children:[(0,n.jsx)(r.Text,{fw:600,fz:`sm`,children:e.column.title??e.id}),e.column.filtering&&(0,n.jsx)(r.Box,{w:8,h:8,bg:`green`,style:{borderRadius:`50%`}})]})}),(0,n.jsx)(r.Accordion.Panel,{children:typeof e.column.filter==`function`?e.column.filter({close:()=>w(!1)}):e.column.filter})]},e.id))})})]})]}),e.length===0&&(0,n.jsx)(r.Text,{c:`dimmed`,ta:`center`,py:`xl`,children:`Keine Einträge gefunden`}),e.map((e,i)=>{let u=e.id??i,d=!!f&&(!f.expandable||f.expandable(e)),p=d&&g(u);return(0,n.jsx)(t.default.Fragment,{children:(0,n.jsxs)(r.Box,{bg:`var(--mantine-color-body)`,bd:`1px solid var(--mantine-color-default-border)`,style:{borderRadius:`var(--mantine-radius-md)`,overflow:`hidden`},children:[(0,n.jsxs)(r.Box,{w:`100%`,style:{cursor:a||d?`pointer`:`default`},onClick:t=>{d&&!a?_(u):E(e,i,t)},children:[s&&s.length>0&&(0,n.jsx)(r.Group,{px:`sm`,pt:`sm`,justify:`flex-end`,children:(()=>{let t=s.filter(t=>!(t.label===`Bearbeiten`&&c&&!c(e)||t.label===`Löschen`&&l&&!l(e)));return t.length===0?null:(0,n.jsxs)(r.Menu,{shadow:`md`,position:`bottom-end`,children:[(0,n.jsx)(r.Menu.Target,{children:(0,n.jsx)(r.ActionIcon,{variant:`subtle`,color:`gray`,size:`sm`,onClick:e=>e.stopPropagation(),children:(0,n.jsx)(o.IconDotsVertical,{size:16})})}),(0,n.jsx)(r.Menu.Dropdown,{children:t.map((t,i)=>(0,n.jsx)(r.Menu.Item,{leftSection:t.icon,onClick:n=>{n.stopPropagation(),t.onClick([e])},children:t.label},`card_action_${i}`))})]})})()}),(0,n.jsx)(zn,{rows:v.map(t=>({label:t.column.title??t.id,value:Hn(e,t)}))})]}),d&&(0,n.jsxs)(r.Collapse,{expanded:p,children:[(0,n.jsx)(r.Divider,{}),(0,n.jsx)(r.Box,{px:`sm`,py:`sm`,children:f.content(e,!0)})]})]})},u)}),u&&u.totalRecords>u.recordsPerPage&&(0,n.jsxs)(r.Stack,{gap:`xs`,mt:`sm`,children:[(0,n.jsx)(r.Group,{justify:`center`,children:(0,n.jsx)(r.Pagination,{total:Math.ceil(u.totalRecords/u.recordsPerPage),value:u.page,onChange:u.onPageChange,size:`sm`})}),u.recordsPerPageOptions&&u.onRecordsPerPageChange&&(0,n.jsxs)(r.Group,{justify:`center`,gap:`xs`,children:[(0,n.jsx)(r.Text,{fz:`xs`,c:`dimmed`,children:`Einträge pro Seite:`}),(0,n.jsx)(r.Select,{data:u.recordsPerPageOptions.map(e=>({value:String(e),label:String(e)})),value:String(u.recordsPerPage),onChange:e=>e&&u.onRecordsPerPageChange(Number(e)),allowDeselect:!1,size:`xs`,w:70})]})]})]})}var Wn=[10,15,50,100,500];function Gn({title:e,queryKey:i,connectedQueryKeys:a,apiPath:s,mutationApiPath:c,buttons:l,fields:u,selection:d,pagination:f,filters:p,actions:m,steps:h,defaultSort:g,onSortChange:_,createButtonText:v,queryParams:y,tabs:b,defaultTab:x,activeTab:S,onActiveTabChange:C,canUpdate:w,canDelete:T,showRefresh:E=!0,rowExpansion:D,onRowClick:O,mobileCards:k=!1,deleteConfirmMessage:A,editRecordId:j,onEditRecordIdChange:M}){let[N,ee]=(0,t.useState)(x||(b&&b.length>0?b[0].value:null)),P=S===void 0?N:S,te=e=>{S===void 0&&ee(e),C&&C(e)},ne=b?.find(e=>e.value===P),re=ne?.queryParams||{},F=ne?.apiPath??s,ie=ne?.mutationApiPath??c??F,ae={...y,...re},oe=ae?`?`+Object.entries(ae).filter(([,e])=>e!=null).map(([e,t])=>`${e}=${encodeURIComponent(t??``)}`).join(`&`):``,se=P?[...i,P]:i,{data:ce,isLoading:le,isError:ue,isRefetching:de,refetch:fe}=Ve(F+oe,se),pe=Rn(Array.isArray(ce)?ce:[],p),[I,me]=(0,t.useState)({columnAccessor:g?.field??u[0].id,direction:g?.direction??`desc`}),he=e=>{me(e),_&&_(String(e.columnAccessor),e.direction)},L=Mn(pe,I.columnAccessor,I.direction),[ge,_e]=On(Wn[1],`mantine-table-page-size`),[ve,ye]=(0,t.useState)(1),be=f?L.slice((ve-1)*ge,ve*ge):L,[xe,Se]=(0,t.useState)([]),R=D?.expanded?.recordIds??xe,Ce=D?.expanded?.onRecordIdsChange??Se,we=e=>{R.includes(e)?Ce(R.filter(t=>t!==e)):Ce(D?.allowMultiple?[...R,e]:[e])},Te=u.findIndex(e=>e.list&&e.column&&!e.column.hidden),Ee=D&&Te>=0?u.map((e,t)=>{if(t!==Te)return e;let i=e.column.render;return{...e,column:{...e.column,render:(t,a)=>(0,n.jsxs)(r.Group,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[!D.expandable||D.expandable(t)?(0,n.jsx)(r.Box,{component:`span`,"aria-label":`Aufklappen`,onClick:e=>{e.stopPropagation(),we(t.id)},style:{display:`inline-flex`,flexShrink:0,cursor:`pointer`},children:(0,n.jsx)(o.IconChevronRight,{size:16,style:{color:`var(--mantine-primary-color-filled)`,transform:R.includes(t.id)?`rotate(90deg)`:void 0,transition:`transform 200ms ease`}})}):(0,n.jsx)(r.Box,{w:16,style:{flexShrink:0}}),i?i(t,a):String(jt(t,e.column.accessor)??``)]})}}}):u,[z,B]=(0,t.useState)([]);(0,t.useEffect)(()=>{B([])},[P]);let[De,Oe]=(0,t.useState)(!1),[ke,Ae]=(0,t.useState)(!1),[je,V]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(j&&L.length>0){let e=L.find(e=>e.id===j);e&&(B([e]),Ae(!0),M?.(null))}},[j,L]);let Me=u.some(e=>e.update),Ne=u.some(e=>e.delete),H=[];return Me&&H.push({icon:(0,n.jsx)(o.IconPencil,{size:14}),label:`Bearbeiten`,onClick:e=>{B(e),Ae(!0)}}),m&&H.push(...m),Ne&&H.push({icon:(0,n.jsx)(o.IconTrash,{size:14}),label:`Löschen`,onClick:e=>{B(e),V(!0)}}),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(r.Flex,{gap:`xs`,align:{base:`stretch`,sm:`center`},direction:{base:`column`,sm:`row`},justify:e?`space-between`:`flex-end`,wrap:`wrap`,children:[e&&(typeof e==`string`?(0,n.jsx)(r.Title,{order:4,children:e}):e),(0,n.jsxs)(r.Flex,{align:{base:`stretch`,sm:`center`},direction:{base:`column`,sm:`row`},gap:`xs`,wrap:`wrap`,justify:{base:`flex-start`,sm:`flex-end`},ml:{base:0,sm:`auto`},children:[E&&(0,n.jsx)(r.ActionIcon,{variant:`subtle`,onClick:()=>fe(),"aria-label":`Neuladen`,children:(0,n.jsx)(o.IconRefresh,{})}),(u.some(e=>e.update)||d)&&(()=>{let e=u.find(e=>e.update)&&(!w||z.length>0&&w(z[0])),i=u.find(e=>e.delete)&&(!T||z.length>0&&T(z[0])),a=(m??[]).length>0,s=e||i||a;return(0,n.jsx)(r.Box,{...k?{visibleFrom:`sm`}:{},children:(0,n.jsxs)(r.Menu,{shadow:`md`,children:[(0,n.jsx)(r.Menu.Target,{children:(0,n.jsx)(r.Button,{variant:`outline`,rightSection:(0,n.jsx)(o.IconCaretDownFilled,{size:14}),disabled:!z.length||!s,children:`Aktionen`})}),(0,n.jsxs)(r.Menu.Dropdown,{children:[e&&(0,n.jsx)(r.Menu.Item,{leftSection:(0,n.jsx)(o.IconPencil,{size:14}),onClick:()=>Ae(!0),disabled:z.length!==1,children:`Bearbeiten`}),(m??[]).map((e,n)=>(0,t.createElement)(r.Menu.Item,{...e.icon&&{leftSection:e.icon},key:`custom_action_${n}`,onClick:()=>e.onClick(z),disabled:e.disabled?.(z)??!1},e.label)),i&&(0,n.jsx)(r.Menu.Item,{leftSection:(0,n.jsx)(o.IconTrash,{size:14}),onClick:()=>V(!0),color:`red`,children:`Löschen`})]})]})})})(),u.find(e=>e.create)&&(0,n.jsx)(r.Button,{onClick:()=>Oe(!0),disabled:le,children:v??`Erstellen`}),l]})]}),b&&b.length>0&&(0,n.jsx)(r.Tabs,{value:P,onChange:te,mt:`md`,children:(0,n.jsx)(r.Tabs.List,{children:b.map(e=>(0,n.jsx)(r.Tabs.Tab,{value:e.value,leftSection:e.icon,children:e.label},e.value))})}),ue&&(0,n.jsx)(r.Alert,{mt:`md`,variant:`light`,color:`red`,title:`Es ist ein Fehler aufgetreten.`,icon:(0,n.jsx)(o.IconInfoCircle,{}),children:`Bitte versuche es später erneut oder sende eine Nachricht an unseren Support.`}),(le||de)&&(0,n.jsxs)(r.Stack,{my:`md`,children:[(0,n.jsx)(r.Skeleton,{height:40}),[,,,,,].fill(0).map((e,t)=>(0,n.jsx)(r.Skeleton,{height:35},`skeleton-${t}`))]}),!le&&!de&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Box,{...k?{visibleFrom:`sm`}:{},children:(0,n.jsx)(Tn,{my:`md`,striped:!0,highlightOnHover:!0,minHeight:150,fetching:ue,records:be,sortStatus:I,onSortStatusChange:he,...d&&{selectedRecords:z,onSelectedRecordsChange:B},...f&&be.length&&{totalRecords:L.length,recordsPerPage:ge,onPageChange:ye,page:ve,recordsPerPageOptions:Wn,onRecordsPerPageChange:_e,recordsPerPageLabel:`Einträge pro Seite`},...D&&{rowExpansion:{allowMultiple:D.allowMultiple??!1,trigger:O?`never`:`click`,content:({record:e})=>D.content(e,!1),expanded:{recordIds:R,onRecordIdsChange:Ce},...D.expandable&&{expandable:({record:e})=>D.expandable(e)}}},columns:Ee.map(e=>e.column),noRecordsText:`Keine Einträge gefunden`,onRowClick:O,...O&&{style:{cursor:`pointer`}}})}),k&&(0,n.jsx)(r.Box,{hiddenFrom:`sm`,children:(0,n.jsx)(Un,{records:be,fields:Ee,onRowClick:O,sort:{field:String(I.columnAccessor),direction:I.direction,onSortChange:(e,t)=>{he({columnAccessor:e,direction:t})}},...f&&be.length&&{pagination:{totalRecords:L.length,recordsPerPage:ge,page:ve,onPageChange:ye,recordsPerPageOptions:Wn,onRecordsPerPageChange:e=>{_e(e),ye(1)}}},...D&&{rowExpansion:{content:D.content,expanded:{recordIds:R,onRecordIdsChange:Ce},...D.expandable&&{expandable:D.expandable}}},...H.length>0&&{actions:H,canUpdate:w,canDelete:T}})})]}),(0,n.jsx)(r.Modal,{opened:ke,onClose:()=>{Ae(!1),B([])},title:e??`Bearbeiten`,children:z.length>0&&(0,n.jsx)(En,{fields:u.filter(e=>e.update),queryKey:i,connectedQueryKeys:a,apiPath:ie,id:z[0].id,onClose:()=>{Ae(!1),B([])},steps:h})}),z.length>0&&(0,n.jsx)(r.Modal,{opened:je,onClose:()=>{V(!1),B([])},title:e??`Löschen`,children:(0,n.jsx)(Dn,{onClose:()=>{V(!1),B([])},queryKey:i,connectedQueryKeys:a,apiPath:ie,selectedRecords:z,confirmMessage:A})}),(0,n.jsx)(r.Modal,{opened:De,onClose:()=>{Oe(!1)},title:e??`Anlegen`,children:(0,n.jsx)(W,{queryKey:i,connectedQueryKeys:a,apiPath:ie,onClose:()=>{Oe(!1)},fields:u.filter(e=>e.create),steps:h})})]})}function Kn({mobile:e,columns:t,...i}){return e?(0,n.jsx)(r.Stack,{gap:`sm`,style:{fontVariantNumeric:`tabular-nums`},children:(i.records??[]).map((e,r)=>{let a=t.filter(t=>!t.hidden&&!t.hideOnMobile?.(e)).map(t=>({label:t.title??Z(String(t.accessor)),value:t.render?t.render(e,r):jt(e,t.accessor)})),o=i.idAccessor?Q(e,i.idAccessor):r;return(0,n.jsx)(Bn,{rows:a},o)})}):(0,n.jsx)(Tn,{columns:t,...i})}e.CreateModal=W,e.DataTable=Gn,e.DataTableProvider=je,e.DeleteModal=Dn,e.FieldCard=Bn,e.MobileCardList=Un,e.SubTable=Kn,e.UpdateModal=En,e.api=Re,e.createOne=Le,e.deleteOne=Ie,e.getAll=Pe,e.getOne=Fe,e.sortData=Mn,e.updateOne=ze,e.useAddOne=Ue,e.useDataTable=V,e.useDeleteOne=Ge,e.useGetAll=Ve,e.useGetOne=Be,e.usePersistentState=On,e.useUpdateOne=We});
2
2
  //# sourceMappingURL=index.umd.js.map