@espresso-lab/mantine-data-table 2.1.12 → 2.1.14
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.es.js +11 -10
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
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/form"),require("@mantine/dates"),require("@tabler/icons-react"),require("@mantine/hooks")):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`@mantine/core`,`@mantine/form`,`@mantine/dates`,`@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.MantineForm,e._mantine_dates,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 P(e,t){return typeof e==`function`?e(...t):!!e}var F=(()=>{let e=()=>b;return{isServer(){return e()},setIsServer(t){e=t}}})();function ee(){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 I=y;function te(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=I,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 L=te(),ne=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 re(e){return(e??`online`)===`online`?ne.isOnline():!0}function ie(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:re(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}var ae=class extends h{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=ee(),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),oe(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return se(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return se(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&&ce(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 ue(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(F.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,!(F.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&&oe(e,t),o=i&&ce(e,n,t,r);(a||o)&&(l={...l,...ie(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:le(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=ee())},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){L.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function R(e,t){return T(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&T(t.retryOnMount,e)===!1)}function oe(e,t){return R(e,t)||e.state.data!==void 0&&se(e,t,t.refetchOnMount)}function se(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&&le(e,t)}return!1}function ce(e,t,n,r){return(e!==t||T(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&le(e,n)}function le(e,t){return T(t.enabled,e)!==!1&&e.isStaleByTime(w(t.staleTime,e))}function ue(e,t){return!k(e.getCurrentResult(),t)}function de(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var fe=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??de();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){L.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)})})}},pe=t.createContext(void 0),me=e=>{let n=t.useContext(pe);if(e)return e;if(!n)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return n},z=({client:e,children:r})=>(t.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,n.jsx)(pe.Provider,{value:e,children:r})),he=t.createContext(!1),ge=()=>t.useContext(he);he.Provider;function _e(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var ve=t.createContext(_e()),ye=()=>t.useContext(ve),B=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?P(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},V=e=>{t.useEffect(()=>{e.clearReset()},[e])},be=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||P(n,[e.error,r])),xe=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))}},Se=(e,t)=>e.isLoading&&e.isFetching&&!t,Ce=(e,t)=>e?.suspense&&t.isPending,we=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Te(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=ge(),a=ye(),o=me(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,xe(s),B(s,a,c),V(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(L.batchCalls(e)):x;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),t.useEffect(()=>{d.setOptions(s)},[s,d]),Ce(s,f))throw we(s,d,a);if(be({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&&!F.isServer()&&Se(f,i)&&(u?we(s,d,a):c?.promise)?.catch(x).finally(()=>{d.updateResult()}),s.notifyOnChangeProps?f:d.trackResult(f)}function Ee(e,t){return Te(e,ae,t)}function De(e,n){let r=me(n),[i]=t.useState(()=>new fe(r,e));t.useEffect(()=>{i.setOptions(e)},[i,e]);let a=t.useSyncExternalStore(t.useCallback(e=>i.subscribe(L.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),o=t.useCallback((e,t)=>{i.mutate(e,t).catch(x)},[i]);if(a.error&&P(i.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:o,mutateAsync:a.mutate}}var H=(0,t.createContext)(void 0),Oe=async()=>({"Content-Type":`application/json`});function ke({children:e,baseUrl:t,queryClient:r,getHeaders:i=Oe}){return(0,n.jsx)(H.Provider,{value:{baseUrl:t,queryClient:r,getHeaders:i},children:(0,n.jsx)(z,{client:r,children:e})})}function U(){let e=(0,t.useContext)(H);if(!e)throw Error(`useDataTable must be used within a DataTableProvider`);return e}function Ae(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 je(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}async function Me(e,t){return(await je(e,{method:`GET`,headers:await t()})).json()}async function Ne(e,t,n){return(await je(`${e}/${t}`,{method:`GET`,headers:await n()})).json()}async function Pe(e,t,n){await je(`${e}/${t}`,{method:`DELETE`,headers:await n()})}async function Fe(e,t,n){let r=await je(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 je(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 je(`${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}=U();return Ee({queryKey:[...t.map(e=>e.toString()),String(n?.toString())],queryFn:()=>Ne(`${r}${e}`,n,i),enabled:!!n})}function ze(e,t,n=!0){let{baseUrl:r,getHeaders:i}=U();return Ee({queryKey:[...t.map(e=>e.toString())],queryFn:()=>Me(`${r}${e}`,i),enabled:n})}function Be(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=U();return De({mutationKey:[...t.map(e=>e.toString())],mutationFn:t=>Fe(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:[...t.map(e=>e.toString())]})}})}function Ve(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=U();return De({mutationKey:[...t.map(e=>e.toString())],mutationFn:t=>Le(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:[...t.map(e=>e.toString())]})}})}function He(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=U();return De({mutationKey:[...t.map(e=>e.toString())],mutationFn:t=>Pe(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:[...t.map(e=>e.toString())]})}})}function Ue({fields:e,onClose:o,queryKey:s,apiPath:c,steps:l,onCreated:u}){let[d,f]=(0,t.useState)(0),[p,m]=(0,t.useState)(!1),[h,g]=(0,t.useState)(),{mutateAsync:_,isError:v,error:y,isPending:b}=Be(c,s),{mutateAsync:x,isPending:S}=Ve(c,s),C=b||S,w=[...new Set(e.filter(e=>typeof e.step==`number`).map(e=>e.step))];function T(e,t){return typeof e.required==`function`?e.required(t??{}):!!e.required}let E=(0,i.useForm)({mode:`uncontrolled`,initialValues:e.reduce((e,t)=>(e[t.id]=t.type===`boolean`?!1:t.defaultValue??``,e),{}),validate:e.filter(e=>e.required).reduce((e,t)=>(e[t.id]=(e,n)=>t.conditional&&!t.conditional(n)||!T(t,n)||e?null:`Pflichtfeld`,e),{})});function D(e){let i=E.getValues();if(e.conditional&&!e.conditional(i))return null;let o=T(e,i);return(0,n.jsxs)(t.Fragment,{children:[(e.type===void 0||e.type==`text`)&&(0,n.jsx)(r.TextInput,{label:e.column.title,placeholder:e.placeholder??``,...E.getInputProps(e.id),type:e.id.includes(`email`)?`email`:void 0,required:o},E.key(e.id)),e.type===`number`&&(0,n.jsx)(r.NumberInput,{decimalSeparator:`,`,label:e.column.title,placeholder:e.placeholder??``,...E.getInputProps(e.id),required:o},E.key(e.id)),e.type===`date`&&(0,n.jsx)(a.DateInput,{label:e.column.title,placeholder:e.placeholder??``,valueFormat:`DD.MM.YYYY`,clearable:!0,...E.getInputProps(e.id),required:o},E.key(e.id)),e.type===`boolean`&&(0,n.jsx)(r.Checkbox,{mt:`md`,label:e.column.title,...E.getInputProps(e.id,{type:`checkbox`}),required:o},E.key(e.id)),e.type===`textarea`&&(0,n.jsx)(r.Textarea,{label:e.column.title,placeholder:e.placeholder??``,...E.getInputProps(e.id),minRows:3,autosize:!0,required:o},E.key(e.id)),e.type===`custom`&&e.render&&e.render({...E.getValues(),...h&&{id:h}},E.setValues,m,{error:E.getInputProps(e.id).error,required:o})]},e.id)}return(0,n.jsxs)(n.Fragment,{children:[v&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:y?.name??`Fehler aufgetreten`,mb:`lg`,children:y?.message??`Fehler aufgetreten`}),(0,n.jsxs)(`form`,{onSubmit:E.onSubmit(async e=>{let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t===``?void 0:t]));if(h)await x({...t,id:h});else{let e=await _(t);g(e.id),u?.(e.id)}w.length&&d<w.length-1?v||f(d+1):v||(E.setInitialValues(t),E.reset(),o())}),children:[w.length?(0,n.jsx)(r.Stepper,{active:d,size:`sm`,children:w.map(t=>(0,n.jsx)(r.Stepper.Step,{...l&&l[t-1]?{label:l[t-1].label}:{},children:e.filter(e=>e.step===t).map(e=>D(e))},t))}):e.map(e=>D(e)),!p&&(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{onClick:()=>w.length?d===0?o():f(d-1):o(),variant:`outline`,children:w.length?d===0?`Abbrechen`:`Zurück`:`Abbrechen`}),(0,n.jsx)(r.Button,{type:`submit`,loading:C,children:w.length?d===w.length-1?`Speichern`:`Weiter`:`Speichern`})]})]})]})}function We(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=We(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function W(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=We(e))&&(r&&(r+=` `),r+=t);return r}function G(e,t,n){return e?(0,r.parseThemeColor)({color:typeof e==`object`?e[n]:e,theme:t}).value:void 0}function Ge({theme:e,c:t,backgroundColor:n,borderColor:r,rowBorderColor:i,stripedColor:a,highlightOnHoverColor:o}){return{"--mantine-datatable-color-light":G(t,e,`light`),"--mantine-datatable-color-dark":G(t,e,`dark`),"--mantine-datatable-background-color-light":G(n,e,`light`),"--mantine-datatable-background-color-dark":G(n,e,`dark`),"--mantine-datatable-border-color-light":G(r,e,`light`),"--mantine-datatable-border-color-dark":G(r,e,`dark`),"--mantine-datatable-row-border-color-light":G(i,e,`light`),"--mantine-datatable-row-border-color-dark":G(i,e,`dark`),"--mantine-datatable-striped-color-light":G(a,e,`light`),"--mantine-datatable-striped-color-dark":G(a,e,`dark`),"--mantine-datatable-highlight-on-hover-color-light":G(o,e,`light`),"--mantine-datatable-highlight-on-hover-color-dark":G(o,e,`dark`)}}function Ke({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:n}){return{"--mantine-datatable-pagination-active-text-color-light":G(t,e,`light`),"--mantine-datatable-pagination-active-text-color-dark":G(t,e,`dark`),"--mantine-datatable-pagination-active-background-color-light":G(n,e,`light`),"--mantine-datatable-pagination-active-background-color-dark":G(n,e,`dark`)}}function qe({theme:e,color:t,backgroundColor:n}){return{"--mantine-datatable-row-color-light":G(t,e,`light`),"--mantine-datatable-row-color-dark":G(t,e,`dark`),"--mantine-datatable-row-background-color-light":G(n,e,`light`),"--mantine-datatable-row-background-color-dark":G(n,e,`dark`)}}var[Je,Ye]=(0,r.createSafeContext)(`useDataTableColumnsContext must be used within DataTableColumnProvider`),Xe=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)(Je,{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 Ze(){return(0,n.jsx)(`tr`,{className:`mantine-datatable-empty-row`,children:(0,n.jsx)(`td`,{})})}function Qe(){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 $e({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)(Qe,{})}),(0,n.jsx)(r.Text,{component:`div`,size:`sm`,c:`dimmed`,children:t})]})})}function et({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 tt({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 nt({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 rt({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 it=({key:e,columns:n=[],getInitialValueInEffect:r=!0,headerRef:i,scrollViewportRef:a})=>{let{columnsOrder:o,setColumnsOrder:s,resetColumnsOrder:c}=tt({key:e,columns:n,getInitialValueInEffect:r}),{columnsToggle:l,setColumnsToggle:u,resetColumnsToggle:d}=rt({key:e,columns:n,getInitialValueInEffect:r}),{columnsPinning:f,setColumnsPinning:p,resetColumnsPinning:m}=et({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}=nt({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}},K=typeof window<`u`?t.useLayoutEffect:t.useEffect;function at(e){let n=(0,t.useRef)(e);return n.current=e,n}var ot=`--mantine-datatable-header-height`,st=`--mantine-datatable-footer-height`,ct=`--mantine-datatable-selection-column-width`,lt=`--mantine-datatable-last-row-border-bottom`;function q(e,t,n){e?.style.setProperty(t,n)}function J(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 ut(e,t,n){if(e){let r=new ResizeObserver(e=>{let n=e[0];n&&t(J(n))});return r.observe(e),()=>{r.disconnect(),n()}}}function dt({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=at({withRowBorders:n}),f=at(e),p=(0,t.useRef)(()=>{}),m=(0,t.useRef)(()=>{}),h=(0,t.useCallback)(e=>{f.current.onScroll?.(e),p.current()},[]);return(0,t.useEffect)(()=>ut(c.current,e=>{q(a.current,ot,`${e.height}px`)},()=>q(a.current,ot,`0`)),[c.current]),(0,t.useEffect)(()=>ut(l.current,e=>{q(a.current,st,`${e.height}px`)},()=>q(a.current,st,`0`)),[l.current]),(0,t.useEffect)(()=>ut(u.current,e=>{q(a.current,ct,`${e.width}px`)},()=>q(a.current,ct,`0`)),[u.current]),K(()=>{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,q(a.current,`--mantine-datatable-${t}-shadow-opacity`,n?`0`:`1`),r}function c(){let e=t.height-n.height,r=e<0;q(a.current,`--mantine-datatable-footer-position`,r?`relative`:`sticky`),q(a.current,`--mantine-datatable-footer-bottom`,r?`${e}px`:`0`)}function l(){d.current.withRowBorders&&t.height<n.height?q(a.current,lt,`${(0,r.rem)(`1px`)} solid var(--mantine-datatable-border-color)`):q(a.current,lt,`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=J(r);break;case`DIV`:n=J(r);break}u(),c(),l()});return h.observe(o.current),h.observe(s.current),()=>{h.disconnect()}},[]),K(()=>{m.current()},[n]),{refs:i,onScroll:h}}function ft({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]),K(u,[u]),{pinnedMap:c,hasLeftPinned:[...c.values()].some(e=>e.logicalSide===`left`),hasRightPinned:[...c.values()].some(e=>e.logicalSide===`right`)}}function pt(e){let[n,r]=(0,t.useState)(null);return(0,t.useEffect)(()=>{r(null)},[e?.join(`:`)||``]),{lastSelectionChangeIndex:n,setLastSelectionChangeIndex:r}}function Y(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 mt(e,t){return t||(typeof window<`u`&&`matchMedia`in window?e.map(e=>window.matchMedia(e).matches):e.map(()=>!1))}function ht(e,n,{getInitialValueInEffect:r}={getInitialValueInEffect:!0}){let[i,a]=(0,t.useState)(r?n:mt(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)),Y(o.current,e=>{a(e)})},[e]),i}function gt(e){let n=(0,r.useMantineTheme)();return ht((0,t.useMemo)(()=>e.map(e=>(typeof e==`function`?e(n):e)??``),[e,n]),(0,t.useMemo)(()=>e.map(()=>!0),[e]))}function _t(e){let t=(0,r.useMantineTheme)();return(0,s.useMediaQuery)((typeof e==`function`?e(t):e)||``,!0)}function vt(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 yt(e,t,n){return e.filter(e=>!t.map(n).includes(n(e)))}function bt(e,t){return e.filter((e,n,r)=>n===r.findIndex(n=>t(e)===t(n)))}function xt(e,t){return t?t.match(/([^[.\]])+/g).reduce((e,t)=>e&&e[t],e):void 0}function X(e,t){return typeof t==`string`?xt(e,t):t(e)}function St(e){return!e||e.length===0?0:Math.max(...e.map(e=>e.groups&&e.groups.length>0?1+St(e.groups):1))}function Ct(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(...Ct(n.groups));return t.filter(e=>e!=null)}function wt(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+wt(n,t),0):0}function Tt(e,t,n=0){if(n===t)return[...e];let r=[];for(let i of e)i.groups&&i.groups.length>0&&r.push(...Tt(i.groups,t,n+1));return r}function Et(e,t,n){return n?!e||t:!1}function Dt({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 Ot(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 kt=`mantine-datatable-nowrap`,At=`mantine-datatable-ellipsis`,Z=`mantine-datatable-pointer-cursor`,jt=`mantine-datatable-context-menu-cursor`,Mt=`mantine-datatable-text-selection-disabled`,Q=`mantine-datatable-text-align-left`,$=`mantine-datatable-text-align-center`,Nt=`mantine-datatable-text-align-right`;function Pt({className:e,style:t,pinnedInfo:i,visibleMediaQuery:a,title:o,noWrap:s,ellipsis:c,textAlign:l,width:u}){return _t(a)?(0,n.jsx)(r.TableTh,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:W({[kt]:s||c,[At]:c,[Q]:l===`left`,[$]:l===`center`,[Nt]:l===`right`},e),style:[{width:u,minWidth:u,maxWidth:u},t,i&&{position:`sticky`,[i.position]:i.offset,overflow:`visible`}],children:o}):null}function Ft({shadowVisible:e}){return(0,n.jsx)(r.TableTh,{className:`mantine-datatable-footer-selector-placeholder-cell`,"data-shadow-visible":e||void 0})}function It({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:W(`mantine-datatable-footer`,e),style:t,children:(0,n.jsxs)(r.TableTr,{children:[s&&(0,n.jsx)(Ft,{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)(Pt,{pinnedInfo:o.get(String(r)),className:u,style:d,visibleMediaQuery:i,textAlign:s,width:c,title:l,noWrap:f,ellipsis:p},r)})]})})}function Lt({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?Ct([{id:e,columns:i,groups:a}]):[],[i,a,e]),v=gt((0,t.useMemo)(()=>_.map(({visibleMediaQuery:e})=>e),[_])),y=(0,t.useMemo)(()=>wt({id:e,columns:i,groups:a},v),[e,i,a,v]),b=(0,t.useMemo)(()=>p.reduce((e,t)=>e+wt(t,v),0),[p,v]),x=a&&a.length>0?1:d-f,S=Et(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:W(`mantine-datatable-column-group-header-cell`,{[Q]:s===`left`,[$]:s===`center`,[Nt]: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??vt(e)}):null}function Rt(){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 Bt({children:e,isActive:t,filterPopoverProps:i,filterPopoverDisableClickOutside:a}){let[o,{close:c,toggle:l}]=(0,s.useDisclosure)(!1),u=t?zt:Rt,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 Vt(){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 Ht(){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 Ut(){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 Wt(){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 Gt({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`)}},[]);K(()=>{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)(Ut,{})})})}),(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)(Vt,{})}),(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)(Ht,{})}),e&&(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:`light`,color:`red`,onClick:()=>i(void 0),"aria-label":`Unpin`,children:(0,n.jsx)(Wt,{})})]})})]})}var Kt=50,qt=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}=Ye(),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-Kt,a=l.current.next-Kt,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 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:`M8 7l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M8 17l4 4l4 -4`}),(0,n.jsx)(`path`,{d:`M12 3l0 18`})]})}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:`M12 5l0 14`}),(0,n.jsx)(`path`,{d:`M16 9l-4 -4`}),(0,n.jsx)(`path`,{d:`M8 9l4 -4`})]})}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 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 Zt({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}=Ye(),[j,M]=(0,t.useState)(!1),N=(0,t.useRef)(null),P=k?.find(e=>e.accessor===o)?.pinned;if(!_t(s))return null;let F=c??vt(o),ee=typeof F==`string`?F:void 0,I=l&&v?e=>{e?.defaultPrevented||v({sortKey:C,columnAccessor:o,direction:_?.columnAccessor===o?_.direction===`asc`?`desc`:`asc`:_?.direction??`asc`})}:void 0,te=e=>{e.stopPropagation(),w(o),M(!1)},L=e=>{e.preventDefault(),T(o),M(!0)},ne=()=>{T(o),M(!1),E()},re=()=>{M(!0)},ie=()=>{M(!1)},ae=e=>{e.stopPropagation(),O(D.map(e=>e.accessor===o?{...e,toggled:!1}:e))},R=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:W({"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:I,onKeyDown:e=>e.key===`Enter`&&I?.(),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:W({"mantine-datatable-header-cell-draggable":u,"mantine-datatable-header-cell-drag-over":j}),draggable:u,onDragStart:u?te:void 0,onDragEnter:u?re:void 0,onDragOver:u?L:void 0,onDrop:u?ne:void 0,onDragLeave:u?ie: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)(Xt,{})})}):null,(0,n.jsx)(r.Box,{className:W(`mantine-datatable-header-cell-sortable-text`,{[Q]:h===`left`,[$]:h===`center`,[Nt]:h===`right`},kt,At),title:ee,children:F})]}),f?(0,n.jsx)(Gt,{currentPinned:P,onPinChange:R}):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:ae,children:(0,n.jsx)(Wt,{})})}):null,l||_?.columnAccessor===o?_?.columnAccessor===o?(0,n.jsx)(r.Center,{className:W(`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)(Yt,{})}):(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)(Jt,{})}):null,y?(0,n.jsx)(Bt,{filterPopoverProps:b,isActive:!!S,filterPopoverDisableClickOutside:x,children:y}):null]}),p&&o!==`__selection__`?(0,n.jsx)(qt,{accessor:o,columnRef:N}):null]})}function Qt({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:W(`mantine-datatable-header-selector-cell`,{[Z]: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:Z}:void 0,checked:o,indeterminate:s,onChange:l,...c,disabled:!(l||c.onChange)||c.disabled})})}function $t(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 en({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?St(d):0,T=w>0?w+1:1,E=m?(0,n.jsx)(Qt,{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}=Ye(),[k,A]=(0,t.useState)(!1),j=l.some(e=>e.toggleable),M=j?Object.fromEntries(l.map(({accessor:e,title:t})=>[e,t??vt(String(e))])):void 0,N=(0,n.jsxs)(r.TableThead,{className:W(`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=Tt(d,t);return(0,n.jsxs)(r.TableTr,{children:[t===0&&E,i.map((e,r)=>(0,n.jsx)(Lt,{group:e,pinnedInfo:$t(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)(Zt,{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 tn({fetching:e,customContent:t,backgroundBlur:i,size:a,type:o,color:s}){return(0,n.jsx)(r.Center,{className:W(`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 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:`M8 9l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M16 15l-4 4l-4 -4`})]})}var rn={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 an({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)(nn,{}),style:[{fontWeight:`normal`},t=>({height:rn[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:W({"mantine-datatable-page-size-selector-active":i}),style:[{height:rn[e]},i&&(o||s)?e=>Ke({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 on({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=!_t(({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)(an,{activeTextColor:l,activeBackgroundColor:u,size:d,label:v,values:y,value:g,onChange:_,...e}):null,Pagination:e=>(0,n.jsx)(r.Pagination,{classNames:{root:W(`mantine-datatable-pagination-pages`,{"mantine-datatable-pagination-pages-fetching":i||!b}),control:`mantine-datatable-pagination-pages-control`},style:l||u?e=>Ke({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:W(`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 sn({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 _t(a)?(0,n.jsx)(r.TableTd,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:W({[kt]:d||f,[At]:f,[Z]:c||l,[jt]:u,[Q]:p===`left`,[$]:p===`center`,[Nt]: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):xt(o,h)}):null}function cn({open:e,colSpan:t,content:i,collapseProps:a}){let{expanded:o,visible:s}=Ot(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 ln({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:W(`mantine-datatable-row-selector-cell`,{[Z]:o===`cell`&&p},e),style:t,"data-shadow-visible":c||void 0,onClick:m,children:(0,n.jsx)(r.Checkbox,{classNames:p?{input:Z}:void 0,onChange:s,...d,...f})})}function un({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)(ln,{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)(sn,{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)(cn,{colSpan:i.filter(({hidden:e})=>!e).length+ +!!l,open:x.isRowExpanded(e),content:x.content({record:e,index:t}),collapseProps:x.collapseProps}),N=dn({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 dn({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:W(`mantine-datatable-row`,{[Z]:r||i||o?.isExpandable({record:e,index:t})&&o?.expandOnClick},{[jt]: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 qe({theme:n,color:r,backgroundColor:i})}:void 0,d?.(e,t)],...s?.(e,t)??{}}}function fn({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:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-top-shadow`)}),(0,n.jsx)(`div`,{className:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-left-shadow`,{"mantine-datatable-scroll-area-shadow-behind":e})}),(0,n.jsx)(`div`,{className:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-right-shadow`,{"mantine-datatable-scroll-area-shadow-behind":t})}),(0,n.jsx)(r.Box,{className:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-bottom-shadow`)})]})}function pn({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:P,page:F,onPageChange:ee,totalRecords:I,recordsPerPage:te,onRecordsPerPageChange:L,recordsPerPageOptions:ne,recordsPerPageLabel:re=`Records per page`,paginationWithEdges:ie,paginationWithControls:ae,paginationActiveTextColor:R,paginationActiveBackgroundColor:oe,paginationSize:se=`sm`,paginationText:ce=({from:e,to:t,totalRecords:n})=>`${e} - ${t} / ${n}`,paginationWrapBreakpoint:le=`sm`,getPaginationControlProps:ue=e=>e===`previous`?{"aria-label":`Previous page`}:e===`next`?{"aria-label":`Next page`}:{},getPaginationItemProps:de,renderPagination:fe,loaderBackgroundBlur:pe,customLoader:me,loaderSize:z,loaderType:he,loaderColor:ge,loadingText:_e=`...`,emptyState:ve,noRecordsText:ye=`No records`,noRecordsIcon:B,highlightOnHover:V,striped:be,noHeader:xe,onRowClick:Se,onRowDoubleClick:Ce,onRowContextMenu:we,onCellClick:Te,onCellDoubleClick:Ee,onCellContextMenu:De,onScroll:H,onScrollToTop:Oe,onScrollToBottom:ke,onScrollToLeft:U,onScrollToRight:Ae,c:je,backgroundColor:Me,borderColor:Ne,rowBorderColor:Pe,stripedColor:Fe,highlightOnHoverColor:Ie,rowColor:Le,rowBackgroundColor:Re,rowExpansion:ze,rowClassName:Be,rowStyle:Ve,customRowAttributes:He,scrollViewportRef:Ue,scrollAreaProps:We,tableRef:G,bodyRef:Ke,m:qe,my:Je,mx:Ye,mt:Qe,mb:et,ml:tt,mr:nt,className:rt,classNames:K,style:at,styles:ot,rowFactory:st,tableWrapper:ct,...lt}){let q=(0,t.useMemo)(()=>h?Ct(h):p,[p,h]),{refs:J,onScroll:ut}=dt({scrollCallbacks:{onScroll:H,onScrollToTop:Oe,onScrollToBottom:ke,onScrollToLeft:U,onScrollToRight:Ae},withRowBorders:lt.withRowBorders}),Y=it({key:m,columns:q,headerRef:J.header,scrollViewportRef:J.scrollViewport}),mt=Y.effectiveColumns,ht=(0,s.useMergedRef)(J.table,G),gt=(0,s.useMergedRef)(J.scrollViewport,Ue),_t=(0,t.useRef)(null),vt=(0,s.useMergedRef)(_t,Ke),xt=Dt({rowExpansion:ze,records:x,idAccessor:b}),{pinnedMap:St,hasLeftPinned:wt,hasRightPinned:Tt}=ft({columns:mt,theadRef:J.header,tbodyRef:_t,selectionColumnHeaderRef:J.selectionColumnHeader,selectionVisible:!!C,pinFirstColumn:g,pinLastColumn:_}),Et=(0,t.useRef)(!1),Ot=(0,t.useRef)(F),kt=(0,t.useRef)(x),At=(0,t.useCallback)(e=>{Et.current=!0,kt.current=x,ee(e)},[ee,x]);(0,t.useEffect)(()=>{Ot.current!==F&&(Et.current=!0,kt.current=x,Ot.current=F)},[F,x]);let Z=x?.length;(0,t.useLayoutEffect)(()=>{if(!Et.current||f||x===kt.current)return;let e=J.scrollViewport.current;if(!e)return;let t=requestAnimationFrame(()=>{e.scrollTo({top:0,left:0}),Et.current=!1});return()=>cancelAnimationFrame(t)},[f,x,J.scrollViewport]);let jt=x?.map(e=>X(e,b)),Q=!!C,$=C?.map(e=>X(e,b)),Nt=jt!==void 0&&$!==void 0&&$.length>0,Pt=D?x?.filter(D):x,Ft=Pt?.map(e=>X(e,b)),Lt=Nt&&Ft.every(e=>$.includes(e)),Rt=Nt&&Ft.some(e=>$.includes(e)),zt=(0,t.useCallback)(()=>{C&&w&&w(Lt?C.filter(e=>!Ft.includes(X(e,b))):bt([...C,...Pt],e=>X(e,b)))},[Lt,b,w,Ft,Pt,C]),{lastSelectionChangeIndex:Bt,setLastSelectionChangeIndex:Vt}=pt(jt),Ht=Q&&!wt,Ut={m:qe,my:Je,mx:Ye,mt:Qe,mb:et,ml:tt,mr:nt},Wt=(0,t.useCallback)(({children:e})=>ct?ct({children:e}):e,[ct]);return(0,n.jsx)(Xe,{...Y,pinnedMap:St,children:(0,n.jsxs)(r.Box,{ref:J.root,...Ut,className:W(`mantine-datatable`,{"mantine-datatable-with-border":e},rt,K?.root),style:[e=>({...Ge({theme:e,c:je,backgroundColor:Me,borderColor:Ne,rowBorderColor:Pe,stripedColor:Fe,highlightOnHoverColor:Ie}),borderRadius:e.radius[i]||i,boxShadow:e.shadows[u]||u,height:o,minHeight:c,maxHeight:l}),at,ot?.root,{position:`relative`}],children:[(0,n.jsx)(fn,{viewportRef:gt,leftShadowBehind:Q||wt,rightShadowBehind:Tt,onScrollPositionChange:ut,scrollAreaProps:We,children:(0,n.jsx)(Wt,{children:(0,n.jsxs)(r.Table,{ref:ht,horizontalSpacing:P,className:W(`mantine-datatable-table`,{[Mt]:a,"mantine-datatable-vertical-align-top":d===`top`,"mantine-datatable-vertical-align-bottom":d===`bottom`,"mantine-datatable-selection-column-visible":Q,"mantine-datatable-resizable-columns":Y.hasResizableColumns,"mantine-datatable-resize-locked":Y.isLocked,"mantine-datatable-resizing":Y.isResizing},K?.table),style:{...ot?.table,...Y.isLocked?{tableLayout:`fixed`}:null,...Y.tableWidth==null?null:{width:`${Y.tableWidth}px`}},"data-striped":Z&&be||void 0,"data-highlight-on-hover":V||void 0,...lt,children:[xe?null:(0,n.jsx)(Xe,{...Y,pinnedMap:St,children:(0,n.jsx)(en,{ref:J.header,selectionColumnHeaderRef:J.selectionColumnHeader,className:K?.header,style:ot?.header,columns:mt,defaultColumnProps:v,groups:h,pinnedMap:St,sortStatus:j,sortIcons:M,onSortStatusChange:N,selectionTrigger:S,selectionVisible:Q,selectionChecked:Lt,selectionIndeterminate:Rt&&!Lt,onSelectionChange:zt,selectionCheckboxProps:{...O,...k},selectorCellShadowVisible:Ht,selectionColumnClassName:T,selectionColumnStyle:E,withColumnBorders:lt.withColumnBorders})}),(0,n.jsx)(`tbody`,{ref:vt,children:Z?x.map((e,t)=>{let r=X(e,b),i=$?.includes(r)||!1,a;return w&&C&&(a=n=>{if(n.nativeEvent.shiftKey&&Bt!==null){let e=x.filter(t>Bt?(e,n)=>n>=Bt&&n<=t&&(D?D(e,n):!0):(e,n)=>n>=t&&n<=Bt&&(D?D(e,n):!0));w(i?yt(C,e,e=>X(e,b)):bt([...C,...e],e=>X(e,b)))}else w(i?C.filter(e=>X(e,b)!==r):bt([...C,e],e=>X(e,b)));Vt(t)}),(0,n.jsx)(un,{record:e,index:t,columns:mt,defaultColumnProps:v,pinnedMap:St,defaultColumnRender:y,selectionTrigger:S,selectionVisible:Q,selectionChecked:i,onSelectionChange:a,isRecordSelectable:D,selectionCheckboxProps:O,getSelectionCheckboxProps:A,onClick:Se,onDoubleClick:Ce,onCellClick:Te,onCellDoubleClick:Ee,onContextMenu:we,onCellContextMenu:De,expansion:xt,color:Le,backgroundColor:Re,className:Be,style:Ve,customAttributes:He,selectorCellShadowVisible:Ht,selectionColumnClassName:T,selectionColumnStyle:E,idAccessor:b,rowFactory:st},r)}):(0,n.jsx)(Ze,{})}),mt.some(({footer:e})=>e)&&(0,n.jsx)(It,{ref:J.footer,className:K?.footer,style:ot?.footer,columns:mt,defaultColumnProps:v,pinnedMap:St,selectionVisible:Q,selectorCellShadowVisible:Ht})]})})}),!!(F&&Z)&&(0,n.jsx)(on,{className:K?.pagination,style:ot?.pagination,horizontalSpacing:P,fetching:f,page:F,onPageChange:At,totalRecords:I,recordsPerPage:te,onRecordsPerPageChange:L,recordsPerPageOptions:ne,recordsPerPageLabel:re,paginationWithEdges:ie,paginationWithControls:ae,paginationActiveTextColor:R,paginationActiveBackgroundColor:oe,paginationSize:se,paginationText:ce,paginationWrapBreakpoint:le,getPaginationControlProps:ue,getPaginationItemProps:de,noRecordsText:ye,loadingText:_e,recordsLength:Z,renderPagination:fe}),(0,n.jsx)(tn,{fetching:f,backgroundBlur:pe,customContent:me,size:z,type:he,color:ge}),(0,n.jsx)($e,{icon:B,text:ye,active:!f&&!Z,children:ve})]})})}function mn({fields:e,onClose:o,queryKey:s,apiPath:c,id:l,steps:u}){let[d,f]=(0,t.useState)(0),[p,m]=(0,t.useState)(!1),{data:h,isLoading:g}=Re(c,s,l),{mutateAsync:_,isError:v,error:y,isPending:b}=Ve(c,s),x=[...new Set(e.filter(e=>typeof e.step==`number`).map(e=>e.step))],S=(0,i.useForm)({mode:`uncontrolled`,initialValues:e.reduce((e,t)=>(e[t.id]=t.type===`boolean`?t.defaultValue??!1:t.defaultValue??``,e),{}),validate:e.filter(e=>e.required).reduce((e,t)=>(e[t.id]=(e,n)=>t.conditional&&!t.conditional(n)||!(typeof t.required==`function`?t.required(n):t.required)||e?null:`Pflichtfeld`,e),{})});(0,t.useEffect)(()=>{if(h){let t={...h};e.forEach(e=>{let n=e.id;e.type===`boolean`&&t[n]===null?t[n]=!1:e.type===`date`&&t[n]?t[n]=new Date(t[n]):t[n]===null&&(t[n]=``)}),S.initialize(t),S.setValues(t)}},[h]);function C(e,t){return typeof e.required==`function`?e.required(t??{}):!!e.required}function w(e){let i=S.getValues();if(e.conditional&&!e.conditional(i))return null;let o=C(e,i);return(0,n.jsxs)(t.Fragment,{children:[(e.type===void 0||e.type==`text`)&&(0,n.jsx)(r.TextInput,{label:e.column.title,placeholder:e.placeholder??``,...S.getInputProps(e.id),type:e.id.includes(`email`)?`email`:void 0,required:o},S.key(e.id)),e.type===`number`&&(0,n.jsx)(r.NumberInput,{decimalSeparator:`,`,label:e.column.title,placeholder:e.placeholder??``,...S.getInputProps(e.id),required:o},S.key(e.id)),e.type===`date`&&(0,n.jsx)(a.DateInput,{label:e.column.title,placeholder:e.placeholder??``,valueFormat:`DD.MM.YYYY`,clearable:!0,...S.getInputProps(e.id),required:o},S.key(e.id)),e.type===`boolean`&&(0,n.jsx)(r.Checkbox,{mt:`md`,label:e.column.title,...S.getInputProps(e.id,{type:`checkbox`}),required:o},S.key(e.id)),e.type===`textarea`&&(0,n.jsx)(r.Textarea,{label:e.column.title,placeholder:e.placeholder??``,...S.getInputProps(e.id),minRows:3,autosize:!0,required:o},S.key(e.id)),e.type===`custom`&&e.render&&e.render({...S.getValues(),id:l},S.setValues,m,{error:S.getInputProps(e.id).error,required:o})]},e.id)}return(0,n.jsxs)(n.Fragment,{children:[v&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:y?.name??`Fehler aufgetreten`,mb:`lg`,children:y?.message??`Fehler aufgetreten`}),g?(0,n.jsxs)(r.Stack,{gap:`md`,children:[(0,n.jsx)(r.Skeleton,{height:40}),Array(e.length).fill(0).map((e,t)=>(0,n.jsx)(r.Skeleton,{height:35},`skeleton-field-${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.jsxs)(`form`,{onSubmit:S.onSubmit(async e=>{let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t===``?void 0:t]));await _({...t,id:l}),x.length&&d<x.length-1?v||f(d+1):v||(S.setInitialValues(t),S.reset(),o())}),children:[x.length?(0,n.jsx)(r.Stepper,{active:d,size:`sm`,children:x.map(t=>(0,n.jsx)(r.Stepper.Step,{...u&&u[t-1]?{label:u[t-1].label}:{},children:e.filter(e=>e.step===t).map(e=>w(e))},t))}):e.map(e=>w(e)),!p&&(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{onClick:()=>x.length?d===0?o():f(d-1):o(),variant:`outline`,children:x.length?d===0?`Abbrechen`:`Zurück`:`Abbrechen`}),(0,n.jsx)(r.Button,{type:`submit`,loading:b,children:x.length?d===x.length-1?`Speichern`:`Weiter`:`Speichern`})]})]})]})}function hn({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 gn(e,n){let[r,i]=(0,t.useState)(()=>{let t=localStorage.getItem(`use_persistent_storage_${n}`);return t?JSON.parse(t):e});return[r,e=>{i(e),localStorage.setItem(`use_persistent_storage_${n}`,JSON.stringify(e))}]}var _n=[/^\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}$/],vn=(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(_n.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 yn(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 bn=(e,t,n=`asc`)=>{if(!e||e.length===0)return[];let r=vn(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=yn(a,r),u=yn(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 xn(e,t){return t.split(`.`).reduce((e,t)=>{if(e&&typeof e==`object`&&t in e)return e[t]},e)}function Sn(e,t){let i=t.column;if(i.render)return i.render(e,0);let a=xn(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 Cn({field:e,record:t}){return(0,n.jsxs)(r.Group,{wrap:`nowrap`,justify:`space-between`,align:`center`,py:`xs`,px:`sm`,children:[(0,n.jsx)(r.Text,{fw:700,fz:`sm`,children:e.column.title??e.id}),(0,n.jsx)(r.Box,{ta:`right`,fz:`sm`,children:Sn(t,e)})]})}function wn({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 e.length===0?(0,n.jsx)(r.Text,{c:`dimmed`,ta:`center`,py:`xl`,children:`Keine Einträge gefunden`}):(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,{disabled:!x,color:`blue`,size:8,offset:4,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:`blue`,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.map((e,i)=>{let u=e.id??i,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||f?`pointer`:`default`},onClick:t=>{f&&!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}`))})]})})()}),v.map((i,a)=>(0,n.jsxs)(t.default.Fragment,{children:[a>0&&(0,n.jsx)(r.Divider,{}),(0,n.jsx)(Cn,{field:i,record:e})]},i.id))]}),f&&(0,n.jsxs)(r.Collapse,{expanded:d,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 Tn=[10,15,50,100,500];function En({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,P]=(0,t.useState)(x||(b&&b.length>0?b[0].value:null)),F=S===void 0?N:S,ee=e=>{S===void 0&&P(e),C&&C(e)},I=b?.find(e=>e.value===F),te=I?.queryParams||{},L=I?.apiPath??s,ne=I?.mutationApiPath??c??L,re={...y,...te},ie=re?`?`+Object.entries(re).filter(([,e])=>e!=null).map(([e,t])=>`${e}=${encodeURIComponent(t??``)}`).join(`&`):``,ae=F?[...i,F]:i,{data:R,isLoading:oe,isError:se,isRefetching:ce,refetch:le}=ze(L+ie,ae),{queryClient:ue}=U();(0,t.useEffect)(()=>{!R||!Array.isArray(R)||a?.forEach(e=>ue.invalidateQueries({queryKey:e}))},[R,a,ue]);let de=!R||!Array.isArray(R)?[]:!p||p.length===0?R:R.filter(e=>p.every(t=>{if(t.value===void 0)return!0;let n=t.id;if(t.type===`query`){let r=e[n];return Array.isArray(t.value)?Array.isArray(r)?r.some(e=>{if(typeof e==`string`||typeof e==`number`)return t.value.includes(String(e));if(e&&typeof e==`object`){let n=e;if(`id`in n&&t.value.includes(n.id))return!0;for(let e in n){let r=n[e];if(typeof r==`string`&&t.value.includes(r)||r&&typeof r==`object`&&`id`in r&&t.value.includes(r.id))return!0}}return!1}):r&&typeof r==`object`&&`id`in r?t.value.includes(r.id):!1:typeof r==`string`&&r.includes(t.value)}else if(t.type===`date`){let r=t.value;if(!r)return!0;let[i,a]=r;if(!i&&!a)return!0;let o=e[n];if(typeof o==`string`){let e=o.split(` `)[0];if(i&&a)return e>=i&&e<=a;if(i&&!a)return e>=i;if(!i&&a)return e<=a}return!0}else if(t.type===`boolean`)return e[n]===t.value;return!0})),[fe,pe]=(0,t.useState)({columnAccessor:g?.field??u[0].id,direction:g?.direction??`desc`}),me=e=>{pe(e),_&&_(String(e.columnAccessor),e.direction)},z=bn(de,fe.columnAccessor,fe.direction),[he,ge]=gn(Tn[1],`mantine-table-page-size`),[_e,ve]=(0,t.useState)(1),ye=f?z.slice((_e-1)*he,_e*he):z,[B,V]=(0,t.useState)([]);(0,t.useEffect)(()=>{V([])},[F]);let[be,xe]=(0,t.useState)(!1),[Se,Ce]=(0,t.useState)(!1),[we,Te]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(j&&z.length>0){let e=z.find(e=>e.id===j);e&&(V([e]),Ce(!0),M?.(null))}},[j,z]);let Ee=u.some(e=>e.update),De=u.some(e=>e.delete),H=[];return Ee&&H.push({icon:(0,n.jsx)(o.IconPencil,{size:14}),label:`Bearbeiten`,onClick:e=>{V(e),Ce(!0)}}),m&&H.push(...m),De&&H.push({icon:(0,n.jsx)(o.IconTrash,{size:14}),label:`Löschen`,onClick:e=>{V(e),Te(!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:()=>le(),"aria-label":`Neuladen`,children:(0,n.jsx)(o.IconRefresh,{})}),(u.some(e=>e.update)||d)&&(()=>{let e=u.find(e=>e.update)&&(!w||B.length>0&&w(B[0])),i=u.find(e=>e.delete)&&(!T||B.length>0&&T(B[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:!B.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:()=>Ce(!0),disabled:B.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(B),disabled:e.disabled?.(B)??!1},e.label)),i&&(0,n.jsx)(r.Menu.Item,{leftSection:(0,n.jsx)(o.IconTrash,{size:14}),onClick:()=>Te(!0),color:`red`,children:`Löschen`})]})]})})})(),u.find(e=>e.create)&&(0,n.jsx)(r.Button,{onClick:()=>xe(!0),disabled:oe,children:v??`Erstellen`}),l]})]}),b&&b.length>0&&(0,n.jsx)(r.Tabs,{value:F,onChange:ee,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))})}),se&&(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.`}),(oe||ce)&&(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}`))]}),!oe&&!ce&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Box,{...k?{visibleFrom:`sm`}:{},children:(0,n.jsx)(pn,{my:`md`,striped:!0,highlightOnHover:!0,minHeight:150,fetching:se,records:ye,sortStatus:fe,onSortStatusChange:me,...d&&{selectedRecords:B,onSelectedRecordsChange:V},...f&&ye.length&&{totalRecords:z.length,recordsPerPage:he,onPageChange:ve,page:_e,recordsPerPageOptions:Tn,onRecordsPerPageChange:ge,recordsPerPageLabel:`Einträge pro Seite`},...D&&{rowExpansion:{allowMultiple:D.allowMultiple??!1,content:({record:e})=>D.content(e,!1),...D.expanded&&{expanded:D.expanded}}},columns:u.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)(wn,{records:ye,fields:u,onRowClick:O,sort:{field:String(fe.columnAccessor),direction:fe.direction,onSortChange:(e,t)=>{me({columnAccessor:e,direction:t})}},...f&&ye.length&&{pagination:{totalRecords:z.length,recordsPerPage:he,page:_e,onPageChange:ve,recordsPerPageOptions:Tn,onRecordsPerPageChange:e=>{ge(e),ve(1)}}},...D&&{rowExpansion:{content:D.content,...D.expanded&&{expanded:D.expanded}}},...H.length>0&&{actions:H,canUpdate:w,canDelete:T}})})]}),(0,n.jsx)(r.Modal,{opened:Se,onClose:()=>{Ce(!1),V([])},title:e??`Bearbeiten`,children:B.length>0&&(0,n.jsx)(mn,{fields:u.filter(e=>e.update),queryKey:i,apiPath:ne,id:B[0].id,onClose:()=>{Ce(!1),V([])},steps:h})}),B.length>0&&(0,n.jsx)(r.Modal,{opened:we,onClose:()=>{Te(!1),V([])},title:e??`Löschen`,children:(0,n.jsx)(hn,{onClose:()=>{Te(!1),V([])},queryKey:i,apiPath:ne,selectedRecords:B,confirmMessage:A})}),(0,n.jsx)(r.Modal,{opened:be,onClose:()=>{xe(!1)},title:e??`Anlegen`,children:(0,n.jsx)(Ue,{queryKey:i,apiPath:ne,onClose:()=>{xe(!1)},fields:u.filter(e=>e.create),steps:h})})]})}function Dn(e){return(0,n.jsx)(En,{...e})}e.CreateModal=Ue,e.DataTable=Dn,e.DataTableProvider=ke,e.DeleteModal=hn,e.MobileCardList=wn,e.UpdateModal=mn,e.api=Ie,e.createOne=Fe,e.deleteOne=Pe,e.getAll=Me,e.getOne=Ne,e.parseApiError=Ae,e.sortData=bn,e.updateOne=Le,e.useAddOne=Be,e.useDataTable=U,e.useDeleteOne=He,e.useGetAll=ze,e.useGetOne=Re,e.usePersistentState=gn,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/form"),require("@mantine/dates"),require("@tabler/icons-react"),require("@mantine/hooks")):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`@mantine/core`,`@mantine/form`,`@mantine/dates`,`@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.MantineForm,e._mantine_dates,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 P(e,t){return typeof e==`function`?e(...t):!!e}var F=(()=>{let e=()=>b;return{isServer(){return e()},setIsServer(t){e=t}}})();function ee(){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 I=y;function te(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=I,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 L=te(),ne=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 re(e){return(e??`online`)===`online`?ne.isOnline():!0}function ie(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:re(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}var ae=class extends h{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=ee(),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),oe(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return se(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return se(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&&ce(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 ue(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(F.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,!(F.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&&oe(e,t),o=i&&ce(e,n,t,r);(a||o)&&(l={...l,...ie(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:le(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=ee())},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){L.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function R(e,t){return T(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&T(t.retryOnMount,e)===!1)}function oe(e,t){return R(e,t)||e.state.data!==void 0&&se(e,t,t.refetchOnMount)}function se(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&&le(e,t)}return!1}function ce(e,t,n,r){return(e!==t||T(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&le(e,n)}function le(e,t){return T(t.enabled,e)!==!1&&e.isStaleByTime(w(t.staleTime,e))}function ue(e,t){return!k(e.getCurrentResult(),t)}function de(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var fe=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??de();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){L.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)})})}},pe=t.createContext(void 0),me=e=>{let n=t.useContext(pe);if(e)return e;if(!n)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return n},z=({client:e,children:r})=>(t.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,n.jsx)(pe.Provider,{value:e,children:r})),he=t.createContext(!1),ge=()=>t.useContext(he);he.Provider;function _e(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var ve=t.createContext(_e()),ye=()=>t.useContext(ve),B=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?P(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},V=e=>{t.useEffect(()=>{e.clearReset()},[e])},be=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||P(n,[e.error,r])),xe=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))}},Se=(e,t)=>e.isLoading&&e.isFetching&&!t,Ce=(e,t)=>e?.suspense&&t.isPending,we=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Te(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=ge(),a=ye(),o=me(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,xe(s),B(s,a,c),V(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(L.batchCalls(e)):x;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),t.useEffect(()=>{d.setOptions(s)},[s,d]),Ce(s,f))throw we(s,d,a);if(be({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&&!F.isServer()&&Se(f,i)&&(u?we(s,d,a):c?.promise)?.catch(x).finally(()=>{d.updateResult()}),s.notifyOnChangeProps?f:d.trackResult(f)}function Ee(e,t){return Te(e,ae,t)}function De(e,n){let r=me(n),[i]=t.useState(()=>new fe(r,e));t.useEffect(()=>{i.setOptions(e)},[i,e]);let a=t.useSyncExternalStore(t.useCallback(e=>i.subscribe(L.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),o=t.useCallback((e,t)=>{i.mutate(e,t).catch(x)},[i]);if(a.error&&P(i.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:o,mutateAsync:a.mutate}}var H=(0,t.createContext)(void 0),Oe=async()=>({"Content-Type":`application/json`});function ke({children:e,baseUrl:t,queryClient:r,getHeaders:i=Oe}){return(0,n.jsx)(H.Provider,{value:{baseUrl:t,queryClient:r,getHeaders:i},children:(0,n.jsx)(z,{client:r,children:e})})}function U(){let e=(0,t.useContext)(H);if(!e)throw Error(`useDataTable must be used within a DataTableProvider`);return e}function Ae(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 je(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}async function Me(e,t){return(await je(e,{method:`GET`,headers:await t()})).json()}async function Ne(e,t,n){return(await je(`${e}/${t}`,{method:`GET`,headers:await n()})).json()}async function Pe(e,t,n){await je(`${e}/${t}`,{method:`DELETE`,headers:await n()})}async function Fe(e,t,n){let r=await je(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 je(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 je(`${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}=U();return Ee({queryKey:[...t.map(e=>e.toString()),String(n?.toString())],queryFn:()=>Ne(`${r}${e}`,n,i),enabled:!!n})}function ze(e,t,n=!0){let{baseUrl:r,getHeaders:i}=U();return Ee({queryKey:[...t.map(e=>e.toString())],queryFn:()=>Me(`${r}${e}`,i),enabled:n})}function Be(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=U();return De({mutationKey:[...t.map(e=>e.toString())],mutationFn:t=>Fe(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:[...t.map(e=>e.toString())]})}})}function Ve(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=U();return De({mutationKey:[...t.map(e=>e.toString())],mutationFn:t=>Le(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:[...t.map(e=>e.toString())]})}})}function He(e,t){let{baseUrl:n,queryClient:r,getHeaders:i}=U();return De({mutationKey:[...t.map(e=>e.toString())],mutationFn:t=>Pe(`${n}${e}`,t,i),onSettled(){return r.invalidateQueries({queryKey:[...t.map(e=>e.toString())]})}})}function Ue({fields:e,onClose:o,queryKey:s,apiPath:c,steps:l,onCreated:u}){let[d,f]=(0,t.useState)(0),[p,m]=(0,t.useState)(!1),[h,g]=(0,t.useState)(),{mutateAsync:_,isError:v,error:y,isPending:b}=Be(c,s),{mutateAsync:x,isPending:S}=Ve(c,s),C=b||S,w=[...new Set(e.filter(e=>typeof e.step==`number`).map(e=>e.step))];function T(e,t){return typeof e.required==`function`?e.required(t??{}):!!e.required}let E=(0,i.useForm)({mode:`uncontrolled`,initialValues:e.reduce((e,t)=>(e[t.id]=t.type===`boolean`?!1:t.defaultValue??``,e),{}),validate:e.filter(e=>e.required).reduce((e,t)=>(e[t.id]=(e,n)=>t.conditional&&!t.conditional(n)||!T(t,n)||e?null:`Pflichtfeld`,e),{})});function D(e){let i=E.getValues();if(e.conditional&&!e.conditional(i))return null;let o=T(e,i);return(0,n.jsxs)(t.Fragment,{children:[(e.type===void 0||e.type==`text`)&&(0,n.jsx)(r.TextInput,{label:e.column.title,placeholder:e.placeholder??``,...E.getInputProps(e.id),type:e.id.includes(`email`)?`email`:void 0,required:o},E.key(e.id)),e.type===`number`&&(0,n.jsx)(r.NumberInput,{decimalSeparator:`,`,label:e.column.title,placeholder:e.placeholder??``,...E.getInputProps(e.id),required:o},E.key(e.id)),e.type===`date`&&(0,n.jsx)(a.DateInput,{label:e.column.title,placeholder:e.placeholder??``,valueFormat:`DD.MM.YYYY`,clearable:!0,...E.getInputProps(e.id),required:o},E.key(e.id)),e.type===`boolean`&&(0,n.jsx)(r.Checkbox,{mt:`md`,label:e.column.title,...E.getInputProps(e.id,{type:`checkbox`}),required:o},E.key(e.id)),e.type===`textarea`&&(0,n.jsx)(r.Textarea,{label:e.column.title,placeholder:e.placeholder??``,...E.getInputProps(e.id),minRows:3,autosize:!0,required:o},E.key(e.id)),e.type===`custom`&&e.render&&e.render({...E.getValues(),...h&&{id:h}},E.setValues,m,{error:E.getInputProps(e.id).error,required:o})]},e.id)}return(0,n.jsxs)(n.Fragment,{children:[v&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:y?.name??`Fehler aufgetreten`,mb:`lg`,children:y?.message??`Fehler aufgetreten`}),(0,n.jsxs)(`form`,{onSubmit:E.onSubmit(async e=>{let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t===``?void 0:t]));if(h)await x({...t,id:h});else{let e=await _(t);g(e.id),u?.(e.id)}w.length&&d<w.length-1?v||f(d+1):v||(E.setInitialValues(t),E.reset(),o())}),children:[w.length?(0,n.jsx)(r.Stepper,{active:d,size:`sm`,children:w.map(t=>(0,n.jsx)(r.Stepper.Step,{...l&&l[t-1]?{label:l[t-1].label}:{},children:e.filter(e=>e.step===t).map(e=>D(e))},t))}):e.map(e=>D(e)),!p&&(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{onClick:()=>w.length?d===0?o():f(d-1):o(),variant:`outline`,children:w.length?d===0?`Abbrechen`:`Zurück`:`Abbrechen`}),(0,n.jsx)(r.Button,{type:`submit`,loading:C,children:w.length?d===w.length-1?`Speichern`:`Weiter`:`Speichern`})]})]})]})}function We(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=We(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function W(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=We(e))&&(r&&(r+=` `),r+=t);return r}function G(e,t,n){return e?(0,r.parseThemeColor)({color:typeof e==`object`?e[n]:e,theme:t}).value:void 0}function Ge({theme:e,c:t,backgroundColor:n,borderColor:r,rowBorderColor:i,stripedColor:a,highlightOnHoverColor:o}){return{"--mantine-datatable-color-light":G(t,e,`light`),"--mantine-datatable-color-dark":G(t,e,`dark`),"--mantine-datatable-background-color-light":G(n,e,`light`),"--mantine-datatable-background-color-dark":G(n,e,`dark`),"--mantine-datatable-border-color-light":G(r,e,`light`),"--mantine-datatable-border-color-dark":G(r,e,`dark`),"--mantine-datatable-row-border-color-light":G(i,e,`light`),"--mantine-datatable-row-border-color-dark":G(i,e,`dark`),"--mantine-datatable-striped-color-light":G(a,e,`light`),"--mantine-datatable-striped-color-dark":G(a,e,`dark`),"--mantine-datatable-highlight-on-hover-color-light":G(o,e,`light`),"--mantine-datatable-highlight-on-hover-color-dark":G(o,e,`dark`)}}function Ke({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:n}){return{"--mantine-datatable-pagination-active-text-color-light":G(t,e,`light`),"--mantine-datatable-pagination-active-text-color-dark":G(t,e,`dark`),"--mantine-datatable-pagination-active-background-color-light":G(n,e,`light`),"--mantine-datatable-pagination-active-background-color-dark":G(n,e,`dark`)}}function qe({theme:e,color:t,backgroundColor:n}){return{"--mantine-datatable-row-color-light":G(t,e,`light`),"--mantine-datatable-row-color-dark":G(t,e,`dark`),"--mantine-datatable-row-background-color-light":G(n,e,`light`),"--mantine-datatable-row-background-color-dark":G(n,e,`dark`)}}var[Je,Ye]=(0,r.createSafeContext)(`useDataTableColumnsContext must be used within DataTableColumnProvider`),Xe=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)(Je,{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 Ze(){return(0,n.jsx)(`tr`,{className:`mantine-datatable-empty-row`,children:(0,n.jsx)(`td`,{})})}function Qe(){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 $e({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)(Qe,{})}),(0,n.jsx)(r.Text,{component:`div`,size:`sm`,c:`dimmed`,children:t})]})})}function et({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 tt({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 nt({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 rt({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 it=({key:e,columns:n=[],getInitialValueInEffect:r=!0,headerRef:i,scrollViewportRef:a})=>{let{columnsOrder:o,setColumnsOrder:s,resetColumnsOrder:c}=tt({key:e,columns:n,getInitialValueInEffect:r}),{columnsToggle:l,setColumnsToggle:u,resetColumnsToggle:d}=rt({key:e,columns:n,getInitialValueInEffect:r}),{columnsPinning:f,setColumnsPinning:p,resetColumnsPinning:m}=et({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}=nt({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}},K=typeof window<`u`?t.useLayoutEffect:t.useEffect;function at(e){let n=(0,t.useRef)(e);return n.current=e,n}var ot=`--mantine-datatable-header-height`,st=`--mantine-datatable-footer-height`,ct=`--mantine-datatable-selection-column-width`,lt=`--mantine-datatable-last-row-border-bottom`;function q(e,t,n){e?.style.setProperty(t,n)}function J(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 ut(e,t,n){if(e){let r=new ResizeObserver(e=>{let n=e[0];n&&t(J(n))});return r.observe(e),()=>{r.disconnect(),n()}}}function dt({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=at({withRowBorders:n}),f=at(e),p=(0,t.useRef)(()=>{}),m=(0,t.useRef)(()=>{}),h=(0,t.useCallback)(e=>{f.current.onScroll?.(e),p.current()},[]);return(0,t.useEffect)(()=>ut(c.current,e=>{q(a.current,ot,`${e.height}px`)},()=>q(a.current,ot,`0`)),[c.current]),(0,t.useEffect)(()=>ut(l.current,e=>{q(a.current,st,`${e.height}px`)},()=>q(a.current,st,`0`)),[l.current]),(0,t.useEffect)(()=>ut(u.current,e=>{q(a.current,ct,`${e.width}px`)},()=>q(a.current,ct,`0`)),[u.current]),K(()=>{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,q(a.current,`--mantine-datatable-${t}-shadow-opacity`,n?`0`:`1`),r}function c(){let e=t.height-n.height,r=e<0;q(a.current,`--mantine-datatable-footer-position`,r?`relative`:`sticky`),q(a.current,`--mantine-datatable-footer-bottom`,r?`${e}px`:`0`)}function l(){d.current.withRowBorders&&t.height<n.height?q(a.current,lt,`${(0,r.rem)(`1px`)} solid var(--mantine-datatable-border-color)`):q(a.current,lt,`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=J(r);break;case`DIV`:n=J(r);break}u(),c(),l()});return h.observe(o.current),h.observe(s.current),()=>{h.disconnect()}},[]),K(()=>{m.current()},[n]),{refs:i,onScroll:h}}function ft({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]),K(u,[u]),{pinnedMap:c,hasLeftPinned:[...c.values()].some(e=>e.logicalSide===`left`),hasRightPinned:[...c.values()].some(e=>e.logicalSide===`right`)}}function pt(e){let[n,r]=(0,t.useState)(null);return(0,t.useEffect)(()=>{r(null)},[e?.join(`:`)||``]),{lastSelectionChangeIndex:n,setLastSelectionChangeIndex:r}}function Y(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 mt(e,t){return t||(typeof window<`u`&&`matchMedia`in window?e.map(e=>window.matchMedia(e).matches):e.map(()=>!1))}function ht(e,n,{getInitialValueInEffect:r}={getInitialValueInEffect:!0}){let[i,a]=(0,t.useState)(r?n:mt(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)),Y(o.current,e=>{a(e)})},[e]),i}function gt(e){let n=(0,r.useMantineTheme)();return ht((0,t.useMemo)(()=>e.map(e=>(typeof e==`function`?e(n):e)??``),[e,n]),(0,t.useMemo)(()=>e.map(()=>!0),[e]))}function _t(e){let t=(0,r.useMantineTheme)();return(0,s.useMediaQuery)((typeof e==`function`?e(t):e)||``,!0)}function vt(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 yt(e,t,n){return e.filter(e=>!t.map(n).includes(n(e)))}function bt(e,t){return e.filter((e,n,r)=>n===r.findIndex(n=>t(e)===t(n)))}function xt(e,t){return t?t.match(/([^[.\]])+/g).reduce((e,t)=>e&&e[t],e):void 0}function X(e,t){return typeof t==`string`?xt(e,t):t(e)}function St(e){return!e||e.length===0?0:Math.max(...e.map(e=>e.groups&&e.groups.length>0?1+St(e.groups):1))}function Ct(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(...Ct(n.groups));return t.filter(e=>e!=null)}function wt(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+wt(n,t),0):0}function Tt(e,t,n=0){if(n===t)return[...e];let r=[];for(let i of e)i.groups&&i.groups.length>0&&r.push(...Tt(i.groups,t,n+1));return r}function Et(e,t,n){return n?!e||t:!1}function Dt({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 Ot(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 kt=`mantine-datatable-nowrap`,At=`mantine-datatable-ellipsis`,Z=`mantine-datatable-pointer-cursor`,jt=`mantine-datatable-context-menu-cursor`,Mt=`mantine-datatable-text-selection-disabled`,Q=`mantine-datatable-text-align-left`,$=`mantine-datatable-text-align-center`,Nt=`mantine-datatable-text-align-right`;function Pt({className:e,style:t,pinnedInfo:i,visibleMediaQuery:a,title:o,noWrap:s,ellipsis:c,textAlign:l,width:u}){return _t(a)?(0,n.jsx)(r.TableTh,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:W({[kt]:s||c,[At]:c,[Q]:l===`left`,[$]:l===`center`,[Nt]:l===`right`},e),style:[{width:u,minWidth:u,maxWidth:u},t,i&&{position:`sticky`,[i.position]:i.offset,overflow:`visible`}],children:o}):null}function Ft({shadowVisible:e}){return(0,n.jsx)(r.TableTh,{className:`mantine-datatable-footer-selector-placeholder-cell`,"data-shadow-visible":e||void 0})}function It({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:W(`mantine-datatable-footer`,e),style:t,children:(0,n.jsxs)(r.TableTr,{children:[s&&(0,n.jsx)(Ft,{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)(Pt,{pinnedInfo:o.get(String(r)),className:u,style:d,visibleMediaQuery:i,textAlign:s,width:c,title:l,noWrap:f,ellipsis:p},r)})]})})}function Lt({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?Ct([{id:e,columns:i,groups:a}]):[],[i,a,e]),v=gt((0,t.useMemo)(()=>_.map(({visibleMediaQuery:e})=>e),[_])),y=(0,t.useMemo)(()=>wt({id:e,columns:i,groups:a},v),[e,i,a,v]),b=(0,t.useMemo)(()=>p.reduce((e,t)=>e+wt(t,v),0),[p,v]),x=a&&a.length>0?1:d-f,S=Et(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:W(`mantine-datatable-column-group-header-cell`,{[Q]:s===`left`,[$]:s===`center`,[Nt]: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??vt(e)}):null}function Rt(){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 Bt({children:e,isActive:t,filterPopoverProps:i,filterPopoverDisableClickOutside:a}){let[o,{close:c,toggle:l}]=(0,s.useDisclosure)(!1),u=t?zt:Rt,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 Vt(){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 Ht(){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 Ut(){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 Wt(){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 Gt({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`)}},[]);K(()=>{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)(Ut,{})})})}),(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)(Vt,{})}),(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)(Ht,{})}),e&&(0,n.jsx)(r.ActionIcon,{size:`sm`,variant:`light`,color:`red`,onClick:()=>i(void 0),"aria-label":`Unpin`,children:(0,n.jsx)(Wt,{})})]})})]})}var Kt=50,qt=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}=Ye(),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-Kt,a=l.current.next-Kt,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 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:`M8 7l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M8 17l4 4l4 -4`}),(0,n.jsx)(`path`,{d:`M12 3l0 18`})]})}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:`M12 5l0 14`}),(0,n.jsx)(`path`,{d:`M16 9l-4 -4`}),(0,n.jsx)(`path`,{d:`M8 9l4 -4`})]})}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 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 Zt({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}=Ye(),[j,M]=(0,t.useState)(!1),N=(0,t.useRef)(null),P=k?.find(e=>e.accessor===o)?.pinned;if(!_t(s))return null;let F=c??vt(o),ee=typeof F==`string`?F:void 0,I=l&&v?e=>{e?.defaultPrevented||v({sortKey:C,columnAccessor:o,direction:_?.columnAccessor===o?_.direction===`asc`?`desc`:`asc`:_?.direction??`asc`})}:void 0,te=e=>{e.stopPropagation(),w(o),M(!1)},L=e=>{e.preventDefault(),T(o),M(!0)},ne=()=>{T(o),M(!1),E()},re=()=>{M(!0)},ie=()=>{M(!1)},ae=e=>{e.stopPropagation(),O(D.map(e=>e.accessor===o?{...e,toggled:!1}:e))},R=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:W({"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:I,onKeyDown:e=>e.key===`Enter`&&I?.(),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:W({"mantine-datatable-header-cell-draggable":u,"mantine-datatable-header-cell-drag-over":j}),draggable:u,onDragStart:u?te:void 0,onDragEnter:u?re:void 0,onDragOver:u?L:void 0,onDrop:u?ne:void 0,onDragLeave:u?ie: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)(Xt,{})})}):null,(0,n.jsx)(r.Box,{className:W(`mantine-datatable-header-cell-sortable-text`,{[Q]:h===`left`,[$]:h===`center`,[Nt]:h===`right`},kt,At),title:ee,children:F})]}),f?(0,n.jsx)(Gt,{currentPinned:P,onPinChange:R}):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:ae,children:(0,n.jsx)(Wt,{})})}):null,l||_?.columnAccessor===o?_?.columnAccessor===o?(0,n.jsx)(r.Center,{className:W(`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)(Yt,{})}):(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)(Jt,{})}):null,y?(0,n.jsx)(Bt,{filterPopoverProps:b,isActive:!!S,filterPopoverDisableClickOutside:x,children:y}):null]}),p&&o!==`__selection__`?(0,n.jsx)(qt,{accessor:o,columnRef:N}):null]})}function Qt({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:W(`mantine-datatable-header-selector-cell`,{[Z]: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:Z}:void 0,checked:o,indeterminate:s,onChange:l,...c,disabled:!(l||c.onChange)||c.disabled})})}function $t(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 en({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?St(d):0,T=w>0?w+1:1,E=m?(0,n.jsx)(Qt,{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}=Ye(),[k,A]=(0,t.useState)(!1),j=l.some(e=>e.toggleable),M=j?Object.fromEntries(l.map(({accessor:e,title:t})=>[e,t??vt(String(e))])):void 0,N=(0,n.jsxs)(r.TableThead,{className:W(`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=Tt(d,t);return(0,n.jsxs)(r.TableTr,{children:[t===0&&E,i.map((e,r)=>(0,n.jsx)(Lt,{group:e,pinnedInfo:$t(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)(Zt,{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 tn({fetching:e,customContent:t,backgroundBlur:i,size:a,type:o,color:s}){return(0,n.jsx)(r.Center,{className:W(`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 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:`M8 9l4 -4l4 4`}),(0,n.jsx)(`path`,{d:`M16 15l-4 4l-4 -4`})]})}var rn={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 an({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)(nn,{}),style:[{fontWeight:`normal`},t=>({height:rn[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:W({"mantine-datatable-page-size-selector-active":i}),style:[{height:rn[e]},i&&(o||s)?e=>Ke({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 on({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=!_t(({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)(an,{activeTextColor:l,activeBackgroundColor:u,size:d,label:v,values:y,value:g,onChange:_,...e}):null,Pagination:e=>(0,n.jsx)(r.Pagination,{classNames:{root:W(`mantine-datatable-pagination-pages`,{"mantine-datatable-pagination-pages-fetching":i||!b}),control:`mantine-datatable-pagination-pages-control`},style:l||u?e=>Ke({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:W(`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 sn({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 _t(a)?(0,n.jsx)(r.TableTd,{"data-pinned":i?.position,"data-pinned-shadow":i?.isBoundary?i.position:void 0,className:W({[kt]:d||f,[At]:f,[Z]:c||l,[jt]:u,[Q]:p===`left`,[$]:p===`center`,[Nt]: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):xt(o,h)}):null}function cn({open:e,colSpan:t,content:i,collapseProps:a}){let{expanded:o,visible:s}=Ot(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 ln({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:W(`mantine-datatable-row-selector-cell`,{[Z]:o===`cell`&&p},e),style:t,"data-shadow-visible":c||void 0,onClick:m,children:(0,n.jsx)(r.Checkbox,{classNames:p?{input:Z}:void 0,onChange:s,...d,...f})})}function un({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)(ln,{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)(sn,{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)(cn,{colSpan:i.filter(({hidden:e})=>!e).length+ +!!l,open:x.isRowExpanded(e),content:x.content({record:e,index:t}),collapseProps:x.collapseProps}),N=dn({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 dn({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:W(`mantine-datatable-row`,{[Z]:r||i||o?.isExpandable({record:e,index:t})&&o?.expandOnClick},{[jt]: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 qe({theme:n,color:r,backgroundColor:i})}:void 0,d?.(e,t)],...s?.(e,t)??{}}}function fn({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:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-top-shadow`)}),(0,n.jsx)(`div`,{className:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-left-shadow`,{"mantine-datatable-scroll-area-shadow-behind":e})}),(0,n.jsx)(`div`,{className:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-right-shadow`,{"mantine-datatable-scroll-area-shadow-behind":t})}),(0,n.jsx)(r.Box,{className:W(`mantine-datatable-scroll-area-shadow`,`mantine-datatable-scroll-area-bottom-shadow`)})]})}function pn({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:P,page:F,onPageChange:ee,totalRecords:I,recordsPerPage:te,onRecordsPerPageChange:L,recordsPerPageOptions:ne,recordsPerPageLabel:re=`Records per page`,paginationWithEdges:ie,paginationWithControls:ae,paginationActiveTextColor:R,paginationActiveBackgroundColor:oe,paginationSize:se=`sm`,paginationText:ce=({from:e,to:t,totalRecords:n})=>`${e} - ${t} / ${n}`,paginationWrapBreakpoint:le=`sm`,getPaginationControlProps:ue=e=>e===`previous`?{"aria-label":`Previous page`}:e===`next`?{"aria-label":`Next page`}:{},getPaginationItemProps:de,renderPagination:fe,loaderBackgroundBlur:pe,customLoader:me,loaderSize:z,loaderType:he,loaderColor:ge,loadingText:_e=`...`,emptyState:ve,noRecordsText:ye=`No records`,noRecordsIcon:B,highlightOnHover:V,striped:be,noHeader:xe,onRowClick:Se,onRowDoubleClick:Ce,onRowContextMenu:we,onCellClick:Te,onCellDoubleClick:Ee,onCellContextMenu:De,onScroll:H,onScrollToTop:Oe,onScrollToBottom:ke,onScrollToLeft:U,onScrollToRight:Ae,c:je,backgroundColor:Me,borderColor:Ne,rowBorderColor:Pe,stripedColor:Fe,highlightOnHoverColor:Ie,rowColor:Le,rowBackgroundColor:Re,rowExpansion:ze,rowClassName:Be,rowStyle:Ve,customRowAttributes:He,scrollViewportRef:Ue,scrollAreaProps:We,tableRef:G,bodyRef:Ke,m:qe,my:Je,mx:Ye,mt:Qe,mb:et,ml:tt,mr:nt,className:rt,classNames:K,style:at,styles:ot,rowFactory:st,tableWrapper:ct,...lt}){let q=(0,t.useMemo)(()=>h?Ct(h):p,[p,h]),{refs:J,onScroll:ut}=dt({scrollCallbacks:{onScroll:H,onScrollToTop:Oe,onScrollToBottom:ke,onScrollToLeft:U,onScrollToRight:Ae},withRowBorders:lt.withRowBorders}),Y=it({key:m,columns:q,headerRef:J.header,scrollViewportRef:J.scrollViewport}),mt=Y.effectiveColumns,ht=(0,s.useMergedRef)(J.table,G),gt=(0,s.useMergedRef)(J.scrollViewport,Ue),_t=(0,t.useRef)(null),vt=(0,s.useMergedRef)(_t,Ke),xt=Dt({rowExpansion:ze,records:x,idAccessor:b}),{pinnedMap:St,hasLeftPinned:wt,hasRightPinned:Tt}=ft({columns:mt,theadRef:J.header,tbodyRef:_t,selectionColumnHeaderRef:J.selectionColumnHeader,selectionVisible:!!C,pinFirstColumn:g,pinLastColumn:_}),Et=(0,t.useRef)(!1),Ot=(0,t.useRef)(F),kt=(0,t.useRef)(x),At=(0,t.useCallback)(e=>{Et.current=!0,kt.current=x,ee(e)},[ee,x]);(0,t.useEffect)(()=>{Ot.current!==F&&(Et.current=!0,kt.current=x,Ot.current=F)},[F,x]);let Z=x?.length;(0,t.useLayoutEffect)(()=>{if(!Et.current||f||x===kt.current)return;let e=J.scrollViewport.current;if(!e)return;let t=requestAnimationFrame(()=>{e.scrollTo({top:0,left:0}),Et.current=!1});return()=>cancelAnimationFrame(t)},[f,x,J.scrollViewport]);let jt=x?.map(e=>X(e,b)),Q=!!C,$=C?.map(e=>X(e,b)),Nt=jt!==void 0&&$!==void 0&&$.length>0,Pt=D?x?.filter(D):x,Ft=Pt?.map(e=>X(e,b)),Lt=Nt&&Ft.every(e=>$.includes(e)),Rt=Nt&&Ft.some(e=>$.includes(e)),zt=(0,t.useCallback)(()=>{C&&w&&w(Lt?C.filter(e=>!Ft.includes(X(e,b))):bt([...C,...Pt],e=>X(e,b)))},[Lt,b,w,Ft,Pt,C]),{lastSelectionChangeIndex:Bt,setLastSelectionChangeIndex:Vt}=pt(jt),Ht=Q&&!wt,Ut={m:qe,my:Je,mx:Ye,mt:Qe,mb:et,ml:tt,mr:nt},Wt=(0,t.useCallback)(({children:e})=>ct?ct({children:e}):e,[ct]);return(0,n.jsx)(Xe,{...Y,pinnedMap:St,children:(0,n.jsxs)(r.Box,{ref:J.root,...Ut,className:W(`mantine-datatable`,{"mantine-datatable-with-border":e},rt,K?.root),style:[e=>({...Ge({theme:e,c:je,backgroundColor:Me,borderColor:Ne,rowBorderColor:Pe,stripedColor:Fe,highlightOnHoverColor:Ie}),borderRadius:e.radius[i]||i,boxShadow:e.shadows[u]||u,height:o,minHeight:c,maxHeight:l}),at,ot?.root,{position:`relative`}],children:[(0,n.jsx)(fn,{viewportRef:gt,leftShadowBehind:Q||wt,rightShadowBehind:Tt,onScrollPositionChange:ut,scrollAreaProps:We,children:(0,n.jsx)(Wt,{children:(0,n.jsxs)(r.Table,{ref:ht,horizontalSpacing:P,className:W(`mantine-datatable-table`,{[Mt]:a,"mantine-datatable-vertical-align-top":d===`top`,"mantine-datatable-vertical-align-bottom":d===`bottom`,"mantine-datatable-selection-column-visible":Q,"mantine-datatable-resizable-columns":Y.hasResizableColumns,"mantine-datatable-resize-locked":Y.isLocked,"mantine-datatable-resizing":Y.isResizing},K?.table),style:{...ot?.table,...Y.isLocked?{tableLayout:`fixed`}:null,...Y.tableWidth==null?null:{width:`${Y.tableWidth}px`}},"data-striped":Z&&be||void 0,"data-highlight-on-hover":V||void 0,...lt,children:[xe?null:(0,n.jsx)(Xe,{...Y,pinnedMap:St,children:(0,n.jsx)(en,{ref:J.header,selectionColumnHeaderRef:J.selectionColumnHeader,className:K?.header,style:ot?.header,columns:mt,defaultColumnProps:v,groups:h,pinnedMap:St,sortStatus:j,sortIcons:M,onSortStatusChange:N,selectionTrigger:S,selectionVisible:Q,selectionChecked:Lt,selectionIndeterminate:Rt&&!Lt,onSelectionChange:zt,selectionCheckboxProps:{...O,...k},selectorCellShadowVisible:Ht,selectionColumnClassName:T,selectionColumnStyle:E,withColumnBorders:lt.withColumnBorders})}),(0,n.jsx)(`tbody`,{ref:vt,children:Z?x.map((e,t)=>{let r=X(e,b),i=$?.includes(r)||!1,a;return w&&C&&(a=n=>{if(n.nativeEvent.shiftKey&&Bt!==null){let e=x.filter(t>Bt?(e,n)=>n>=Bt&&n<=t&&(D?D(e,n):!0):(e,n)=>n>=t&&n<=Bt&&(D?D(e,n):!0));w(i?yt(C,e,e=>X(e,b)):bt([...C,...e],e=>X(e,b)))}else w(i?C.filter(e=>X(e,b)!==r):bt([...C,e],e=>X(e,b)));Vt(t)}),(0,n.jsx)(un,{record:e,index:t,columns:mt,defaultColumnProps:v,pinnedMap:St,defaultColumnRender:y,selectionTrigger:S,selectionVisible:Q,selectionChecked:i,onSelectionChange:a,isRecordSelectable:D,selectionCheckboxProps:O,getSelectionCheckboxProps:A,onClick:Se,onDoubleClick:Ce,onCellClick:Te,onCellDoubleClick:Ee,onContextMenu:we,onCellContextMenu:De,expansion:xt,color:Le,backgroundColor:Re,className:Be,style:Ve,customAttributes:He,selectorCellShadowVisible:Ht,selectionColumnClassName:T,selectionColumnStyle:E,idAccessor:b,rowFactory:st},r)}):(0,n.jsx)(Ze,{})}),mt.some(({footer:e})=>e)&&(0,n.jsx)(It,{ref:J.footer,className:K?.footer,style:ot?.footer,columns:mt,defaultColumnProps:v,pinnedMap:St,selectionVisible:Q,selectorCellShadowVisible:Ht})]})})}),!!(F&&Z)&&(0,n.jsx)(on,{className:K?.pagination,style:ot?.pagination,horizontalSpacing:P,fetching:f,page:F,onPageChange:At,totalRecords:I,recordsPerPage:te,onRecordsPerPageChange:L,recordsPerPageOptions:ne,recordsPerPageLabel:re,paginationWithEdges:ie,paginationWithControls:ae,paginationActiveTextColor:R,paginationActiveBackgroundColor:oe,paginationSize:se,paginationText:ce,paginationWrapBreakpoint:le,getPaginationControlProps:ue,getPaginationItemProps:de,noRecordsText:ye,loadingText:_e,recordsLength:Z,renderPagination:fe}),(0,n.jsx)(tn,{fetching:f,backgroundBlur:pe,customContent:me,size:z,type:he,color:ge}),(0,n.jsx)($e,{icon:B,text:ye,active:!f&&!Z,children:ve})]})})}function mn({fields:e,onClose:o,queryKey:s,apiPath:c,id:l,steps:u}){let[d,f]=(0,t.useState)(0),[p,m]=(0,t.useState)(!1),{data:h,isLoading:g}=Re(c,s,l),{mutateAsync:_,isError:v,error:y,isPending:b}=Ve(c,s),x=[...new Set(e.filter(e=>typeof e.step==`number`).map(e=>e.step))],S=(0,i.useForm)({mode:`uncontrolled`,initialValues:e.reduce((e,t)=>(e[t.id]=t.type===`boolean`?t.defaultValue??!1:t.defaultValue??``,e),{}),validate:e.filter(e=>e.required).reduce((e,t)=>(e[t.id]=(e,n)=>t.conditional&&!t.conditional(n)||!(typeof t.required==`function`?t.required(n):t.required)||e?null:`Pflichtfeld`,e),{})});(0,t.useEffect)(()=>{if(h){let t={...h};e.forEach(e=>{let n=e.id;e.type===`boolean`&&t[n]===null?t[n]=!1:e.type===`date`&&t[n]?t[n]=new Date(t[n]):t[n]===null&&(t[n]=``)}),S.initialize(t),S.setValues(t)}},[h]);function C(e,t){return typeof e.required==`function`?e.required(t??{}):!!e.required}function w(e){let i=S.getValues();if(e.conditional&&!e.conditional(i))return null;let o=C(e,i);return(0,n.jsxs)(t.Fragment,{children:[(e.type===void 0||e.type==`text`)&&(0,n.jsx)(r.TextInput,{label:e.column.title,placeholder:e.placeholder??``,...S.getInputProps(e.id),type:e.id.includes(`email`)?`email`:void 0,required:o},S.key(e.id)),e.type===`number`&&(0,n.jsx)(r.NumberInput,{decimalSeparator:`,`,label:e.column.title,placeholder:e.placeholder??``,...S.getInputProps(e.id),required:o},S.key(e.id)),e.type===`date`&&(0,n.jsx)(a.DateInput,{label:e.column.title,placeholder:e.placeholder??``,valueFormat:`DD.MM.YYYY`,clearable:!0,...S.getInputProps(e.id),required:o},S.key(e.id)),e.type===`boolean`&&(0,n.jsx)(r.Checkbox,{mt:`md`,label:e.column.title,...S.getInputProps(e.id,{type:`checkbox`}),required:o},S.key(e.id)),e.type===`textarea`&&(0,n.jsx)(r.Textarea,{label:e.column.title,placeholder:e.placeholder??``,...S.getInputProps(e.id),minRows:3,autosize:!0,required:o},S.key(e.id)),e.type===`custom`&&e.render&&e.render({...S.getValues(),id:l},S.setValues,m,{error:S.getInputProps(e.id).error,required:o})]},e.id)}return(0,n.jsxs)(n.Fragment,{children:[v&&(0,n.jsx)(r.Alert,{variant:`outline`,color:`red`,title:y?.name??`Fehler aufgetreten`,mb:`lg`,children:y?.message??`Fehler aufgetreten`}),g?(0,n.jsxs)(r.Stack,{gap:`md`,children:[(0,n.jsx)(r.Skeleton,{height:40}),Array(e.length).fill(0).map((e,t)=>(0,n.jsx)(r.Skeleton,{height:35},`skeleton-field-${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.jsxs)(`form`,{onSubmit:S.onSubmit(async e=>{let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t===``?void 0:t]));await _({...t,id:l}),x.length&&d<x.length-1?v||f(d+1):v||(S.setInitialValues(t),S.reset(),o())}),children:[x.length?(0,n.jsx)(r.Stepper,{active:d,size:`sm`,children:x.map(t=>(0,n.jsx)(r.Stepper.Step,{...u&&u[t-1]?{label:u[t-1].label}:{},children:e.filter(e=>e.step===t).map(e=>w(e))},t))}):e.map(e=>w(e)),!p&&(0,n.jsxs)(r.Group,{mt:`md`,justify:`end`,children:[(0,n.jsx)(r.Button,{onClick:()=>x.length?d===0?o():f(d-1):o(),variant:`outline`,children:x.length?d===0?`Abbrechen`:`Zurück`:`Abbrechen`}),(0,n.jsx)(r.Button,{type:`submit`,loading:b,children:x.length?d===x.length-1?`Speichern`:`Weiter`:`Speichern`})]})]})]})}function hn({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 gn(e,n){let[r,i]=(0,t.useState)(()=>{let t=localStorage.getItem(`use_persistent_storage_${n}`);return t?JSON.parse(t):e});return[r,e=>{i(e),localStorage.setItem(`use_persistent_storage_${n}`,JSON.stringify(e))}]}var _n=[/^\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}$/],vn=(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(_n.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 yn(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 bn=(e,t,n=`asc`)=>{if(!e||e.length===0)return[];let r=vn(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=yn(a,r),u=yn(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 xn(e,t){return t.split(`.`).reduce((e,t)=>{if(e&&typeof e==`object`&&t in e)return e[t]},e)}function Sn(e,t){let i=t.column;if(i.render)return i.render(e,0);let a=xn(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 Cn({field:e,record:t}){return(0,n.jsxs)(r.Group,{wrap:`nowrap`,justify:`space-between`,align:`center`,py:`xs`,px:`sm`,children:[(0,n.jsx)(r.Text,{fw:700,fz:`sm`,children:e.column.title??e.id}),(0,n.jsx)(r.Box,{ta:`right`,fz:`sm`,children:Sn(t,e)})]})}function wn({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=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||f?`pointer`:`default`},onClick:t=>{f&&!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}`))})]})})()}),v.map((i,a)=>(0,n.jsxs)(t.default.Fragment,{children:[a>0&&(0,n.jsx)(r.Divider,{}),(0,n.jsx)(Cn,{field:i,record:e})]},i.id))]}),f&&(0,n.jsxs)(r.Collapse,{expanded:d,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 Tn=[10,15,50,100,500];function En({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,P]=(0,t.useState)(x||(b&&b.length>0?b[0].value:null)),F=S===void 0?N:S,ee=e=>{S===void 0&&P(e),C&&C(e)},I=b?.find(e=>e.value===F),te=I?.queryParams||{},L=I?.apiPath??s,ne=I?.mutationApiPath??c??L,re={...y,...te},ie=re?`?`+Object.entries(re).filter(([,e])=>e!=null).map(([e,t])=>`${e}=${encodeURIComponent(t??``)}`).join(`&`):``,ae=F?[...i,F]:i,{data:R,isLoading:oe,isError:se,isRefetching:ce,refetch:le}=ze(L+ie,ae),{queryClient:ue}=U();(0,t.useEffect)(()=>{!R||!Array.isArray(R)||a?.forEach(e=>ue.invalidateQueries({queryKey:e}))},[R,a,ue]);let de=!R||!Array.isArray(R)?[]:!p||p.length===0?R:R.filter(e=>p.every(t=>{if(t.value===void 0)return!0;let n=t.id;if(t.type===`query`){let r=e[n];return Array.isArray(t.value)?Array.isArray(r)?r.some(e=>{if(typeof e==`string`||typeof e==`number`)return t.value.includes(String(e));if(e&&typeof e==`object`){let n=e;if(`id`in n&&t.value.includes(n.id))return!0;for(let e in n){let r=n[e];if(typeof r==`string`&&t.value.includes(r)||r&&typeof r==`object`&&`id`in r&&t.value.includes(r.id))return!0}}return!1}):r&&typeof r==`object`&&`id`in r?t.value.includes(r.id):!1:typeof r==`string`&&r.includes(t.value)}else if(t.type===`date`){let r=t.value;if(!r)return!0;let[i,a]=r;if(!i&&!a)return!0;let o=e[n];if(typeof o==`string`){let e=o.split(` `)[0];if(i&&a)return e>=i&&e<=a;if(i&&!a)return e>=i;if(!i&&a)return e<=a}return!0}else if(t.type===`boolean`)return e[n]===t.value;return!0})),[fe,pe]=(0,t.useState)({columnAccessor:g?.field??u[0].id,direction:g?.direction??`desc`}),me=e=>{pe(e),_&&_(String(e.columnAccessor),e.direction)},z=bn(de,fe.columnAccessor,fe.direction),[he,ge]=gn(Tn[1],`mantine-table-page-size`),[_e,ve]=(0,t.useState)(1),ye=f?z.slice((_e-1)*he,_e*he):z,[B,V]=(0,t.useState)([]);(0,t.useEffect)(()=>{V([])},[F]);let[be,xe]=(0,t.useState)(!1),[Se,Ce]=(0,t.useState)(!1),[we,Te]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(j&&z.length>0){let e=z.find(e=>e.id===j);e&&(V([e]),Ce(!0),M?.(null))}},[j,z]);let Ee=u.some(e=>e.update),De=u.some(e=>e.delete),H=[];return Ee&&H.push({icon:(0,n.jsx)(o.IconPencil,{size:14}),label:`Bearbeiten`,onClick:e=>{V(e),Ce(!0)}}),m&&H.push(...m),De&&H.push({icon:(0,n.jsx)(o.IconTrash,{size:14}),label:`Löschen`,onClick:e=>{V(e),Te(!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:()=>le(),"aria-label":`Neuladen`,children:(0,n.jsx)(o.IconRefresh,{})}),(u.some(e=>e.update)||d)&&(()=>{let e=u.find(e=>e.update)&&(!w||B.length>0&&w(B[0])),i=u.find(e=>e.delete)&&(!T||B.length>0&&T(B[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:!B.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:()=>Ce(!0),disabled:B.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(B),disabled:e.disabled?.(B)??!1},e.label)),i&&(0,n.jsx)(r.Menu.Item,{leftSection:(0,n.jsx)(o.IconTrash,{size:14}),onClick:()=>Te(!0),color:`red`,children:`Löschen`})]})]})})})(),u.find(e=>e.create)&&(0,n.jsx)(r.Button,{onClick:()=>xe(!0),disabled:oe,children:v??`Erstellen`}),l]})]}),b&&b.length>0&&(0,n.jsx)(r.Tabs,{value:F,onChange:ee,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))})}),se&&(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.`}),(oe||ce)&&(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}`))]}),!oe&&!ce&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Box,{...k?{visibleFrom:`sm`}:{},children:(0,n.jsx)(pn,{my:`md`,striped:!0,highlightOnHover:!0,minHeight:150,fetching:se,records:ye,sortStatus:fe,onSortStatusChange:me,...d&&{selectedRecords:B,onSelectedRecordsChange:V},...f&&ye.length&&{totalRecords:z.length,recordsPerPage:he,onPageChange:ve,page:_e,recordsPerPageOptions:Tn,onRecordsPerPageChange:ge,recordsPerPageLabel:`Einträge pro Seite`},...D&&{rowExpansion:{allowMultiple:D.allowMultiple??!1,content:({record:e})=>D.content(e,!1),...D.expanded&&{expanded:D.expanded}}},columns:u.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)(wn,{records:ye,fields:u,onRowClick:O,sort:{field:String(fe.columnAccessor),direction:fe.direction,onSortChange:(e,t)=>{me({columnAccessor:e,direction:t})}},...f&&ye.length&&{pagination:{totalRecords:z.length,recordsPerPage:he,page:_e,onPageChange:ve,recordsPerPageOptions:Tn,onRecordsPerPageChange:e=>{ge(e),ve(1)}}},...D&&{rowExpansion:{content:D.content,...D.expanded&&{expanded:D.expanded}}},...H.length>0&&{actions:H,canUpdate:w,canDelete:T}})})]}),(0,n.jsx)(r.Modal,{opened:Se,onClose:()=>{Ce(!1),V([])},title:e??`Bearbeiten`,children:B.length>0&&(0,n.jsx)(mn,{fields:u.filter(e=>e.update),queryKey:i,apiPath:ne,id:B[0].id,onClose:()=>{Ce(!1),V([])},steps:h})}),B.length>0&&(0,n.jsx)(r.Modal,{opened:we,onClose:()=>{Te(!1),V([])},title:e??`Löschen`,children:(0,n.jsx)(hn,{onClose:()=>{Te(!1),V([])},queryKey:i,apiPath:ne,selectedRecords:B,confirmMessage:A})}),(0,n.jsx)(r.Modal,{opened:be,onClose:()=>{xe(!1)},title:e??`Anlegen`,children:(0,n.jsx)(Ue,{queryKey:i,apiPath:ne,onClose:()=>{xe(!1)},fields:u.filter(e=>e.create),steps:h})})]})}function Dn(e){return(0,n.jsx)(En,{...e})}e.CreateModal=Ue,e.DataTable=Dn,e.DataTableProvider=ke,e.DeleteModal=hn,e.MobileCardList=wn,e.UpdateModal=mn,e.api=Ie,e.createOne=Fe,e.deleteOne=Pe,e.getAll=Me,e.getOne=Ne,e.parseApiError=Ae,e.sortData=bn,e.updateOne=Le,e.useAddOne=Be,e.useDataTable=U,e.useDeleteOne=He,e.useGetAll=ze,e.useGetOne=Re,e.usePersistentState=gn,e.useUpdateOne=Ve});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|