@espresso-lab/mantine-data-table 2.1.7 → 2.1.9
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/DataTable/DataTableInner.d.ts +2 -1
- package/dist/DataTable/DeleteModal.d.ts +3 -1
- package/dist/index.es.js +222 -221
- 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.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","names":["#setup","#cleanup","#focused","#providerCalled","#provider","#setup","#cleanup","#online","#client","#selectError","#currentThenable","#currentQuery","#executeFetch","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","#updateQuery","#updateStaleTimeout","#computeRefetchInterval","#currentRefetchInterval","#updateRefetchInterval","#currentResult","#currentResultOptions","#currentResultState","#trackedProps","#staleTimeoutId","#refetchIntervalId","#currentQueryInitialState","#lastQueryWithDefinedData","#selectFn","#selectResult","#notify","#client","#updateResult","#currentMutation","#notify","#currentResult","#mutateOptions","React","React","React","React","React","Da","wa","$t","Sa","Xt","Ra","Ee","We","xa","ka","Ma","va","jt","Ea","qt","Ia","Yt","Z","Ha","en","Oa","ht","nn","_a","Ct","Wa","za","Ba","Y","Ga","Pt","Va","Xa","Fa","Qa","Ua","Ja","ja","Ka","Ya","fn","er","tr","nr","yn","Cn","or","lr","ar","rr","sr","ir","vt","cr","dr","mr","ur","Fe","br","pr","fr","gr","vn","Tr","kn","wr","Dr","Sr","Cr","$e","Pr","hr","yr","Rr","Xe","xr","Ue","vr","Qe","Mr","Mt","On","Nr","Lr","Ir","_n","kt","U","kr","je","Er","Or","Wn","Hr","zn","_r","Ar","Je","zr","qe","Wr","be","Xr","$r","Et","Fr","Ye","Gr","Vr","G","Ze","Xn","Br","Qn","Qr","Kr","Ur","ae","ol","et","tl","nl","jn","qr","Yr","Zr","el","Jr","jr","qn","rl","il","ll","sl","Lt","Ie","no","ul","ge","eo","dl","fl","cl","ml","pl","bl","hl","Te","Cl","Tl","ao","gl","Pl","yl","Sl","Dl","wl","Ml","vl","Ne","io","xl","Rl","co","El","Ll","kl","po","mo","tt","Il","Nl","_l","Ol","ot","bo","nt","Vl","It","at","Nt","F","ho","Al","To","zl"],"sources":["../node_modules/@tanstack/query-core/build/modern/subscribable.js","../node_modules/@tanstack/query-core/build/modern/focusManager.js","../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../node_modules/@tanstack/query-core/build/modern/utils.js","../node_modules/@tanstack/query-core/build/modern/environmentManager.js","../node_modules/@tanstack/query-core/build/modern/thenable.js","../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../node_modules/@tanstack/query-core/build/modern/retryer.js","../node_modules/@tanstack/query-core/build/modern/query.js","../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../node_modules/@tanstack/query-core/build/modern/mutation.js","../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../node_modules/@tanstack/react-query/build/modern/suspense.js","../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../node_modules/@tanstack/react-query/build/modern/useQuery.js","../node_modules/@tanstack/react-query/build/modern/useMutation.js","../src/Context/DataTableContext.tsx","../src/Hooks/useDataTable.ts","../src/Hooks/useApi.ts","../src/DataTable/CreateModal.tsx","../node_modules/clsx/dist/clsx.mjs","../node_modules/mantine-datatable/dist/index.mjs","../src/DataTable/UpdateModal.tsx","../src/DataTable/DeleteModal.tsx","../src/Hooks/usePersistentState.ts","../src/utils/sort.ts","../src/DataTable/MobileCardList.tsx","../src/DataTable/DataTableInner.tsx","../src/DataTable/DataTable.tsx"],"sourcesContent":["// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveQueryBoolean(option, query) {\n return typeof option === \"function\" ? option(query) : option;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/environmentManager.ts\nimport { isServer } from \"./utils.js\";\nvar environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n})();\nexport {\n environmentManager\n};\n//# sourceMappingURL=environmentManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar Query = class extends Removable {\n #queryType;\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get queryType() {\n return this.#queryType;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n if (options?._type) {\n this.#queryType = options._type;\n }\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state) {\n this.#dispatch({ type: \"setState\", state });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveQueryBoolean(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n const behavior = this.#queryType === \"infinite\" ? infiniteQueryBehavior(\n this.options.pages\n ) : this.options.behavior;\n behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && resolveQueryBoolean(options.retryOnMount, query) === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { environmentManager, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n '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'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.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`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","import { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { createContext, ReactNode } from \"react\";\n\nexport type GetHeaders = () => Promise<HeadersInit>;\n\nexport interface State {\n baseUrl: string;\n queryClient: QueryClient;\n getHeaders: GetHeaders;\n}\n\ninterface DataTableContextProps {\n baseUrl: string;\n queryClient: QueryClient;\n getHeaders: GetHeaders;\n children: ReactNode | ReactNode[];\n}\n\nexport const DataTableContext = createContext<State | undefined>(undefined);\n\nconst defaultGetHeaders: GetHeaders = async () => ({\n \"Content-Type\": \"application/json\",\n});\n\nexport function DataTableProvider({\n children,\n baseUrl,\n queryClient,\n getHeaders = defaultGetHeaders,\n}: DataTableContextProps) {\n return (\n <DataTableContext.Provider value={{ baseUrl, queryClient, getHeaders }}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </DataTableContext.Provider>\n );\n}\n","import { useContext } from \"react\";\nimport { DataTableContext, State } from \"../Context/DataTableContext.tsx\";\n\nexport function useDataTable(): State {\n const context = useContext(DataTableContext);\n\n if (!context) {\n throw new Error(\"useDataTable must be used within a DataTableProvider\");\n }\n\n return context;\n}\n","import { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { useDataTable } from \"./useDataTable.ts\";\nimport type { GetHeaders } from \"../Context/DataTableContext.tsx\";\n\nexport function parseApiError(error: unknown): { message: string; code?: string; details?: unknown } {\n if (typeof error === \"string\") {\n try {\n const parsed = JSON.parse(error);\n return {\n message: parsed.message || error,\n code: parsed.code,\n details: parsed.details,\n };\n } catch {\n return { message: error };\n }\n }\n if (error instanceof Error) {\n return { message: error.message };\n }\n return { message: \"Unbekannter Fehler\" };\n}\n\nasync function fetchWithError(url: string, init: RequestInit): Promise<Response> {\n const resp = await fetch(url, init);\n if (resp.status >= 400) {\n const responseText = await resp.text();\n if (!responseText) {\n throw new Error(`HTTP ${resp.status}: ${resp.statusText}`);\n }\n let errorJson: { message?: string; error?: string } | null = null;\n try {\n errorJson = JSON.parse(responseText);\n } catch {\n throw new Error(responseText);\n }\n throw new Error(errorJson?.message ?? errorJson?.error ?? responseText);\n }\n return resp;\n}\n\nexport interface BaseEntity {\n id: string | number;\n}\n\ntype AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;\n\nexport async function getAll<T extends BaseEntity>(\n path: string,\n getHeaders: GetHeaders,\n): Promise<T[]> {\n const resp = await fetchWithError(path, { method: \"GET\", headers: await getHeaders() });\n return resp.json();\n}\n\nexport async function getOne<T extends BaseEntity>(\n path: string,\n id: string | number,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(`${path}/${id}`, { method: \"GET\", headers: await getHeaders() });\n return resp.json();\n}\n\nexport async function deleteOne(\n path: string,\n id: string | number,\n getHeaders: GetHeaders,\n): Promise<void> {\n await fetchWithError(`${path}/${id}`, { method: \"DELETE\", headers: await getHeaders() });\n}\n\nexport async function createOne<C, T extends BaseEntity>(\n path: string,\n item: C,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(path, {\n method: \"POST\",\n headers: await getHeaders(),\n body: JSON.stringify(item),\n });\n if (resp.status === 204) return item as unknown as T;\n return resp.json();\n}\n\nexport async function api<R, U>(\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\",\n path: string,\n getHeaders: GetHeaders,\n payload?: U,\n): Promise<R> {\n const resp = await fetchWithError(path, {\n method,\n headers: await getHeaders(),\n body: payload ? JSON.stringify(payload) : undefined,\n });\n if (resp.status === 204) return undefined as R;\n return resp.json();\n}\n\nexport async function updateOne<T extends BaseEntity>(\n path: string,\n item: AtLeast<T, \"id\">,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(`${path}/${item.id}`, {\n method: \"PUT\",\n headers: await getHeaders(),\n body: JSON.stringify(item),\n });\n if (resp.status === 204) return item as T;\n return resp.json();\n}\n\nexport function useGetOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n id?: string | number,\n) {\n const { baseUrl, getHeaders } = useDataTable();\n return useQuery<T>({\n queryKey: [...queryKey.map((k) => k.toString()), String(id?.toString())],\n queryFn: () => getOne<T>(`${baseUrl}${apiPath}`, id!, getHeaders),\n enabled: !!id,\n });\n}\n\nexport function useGetAll<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n enabled: boolean = true,\n) {\n const { baseUrl, getHeaders } = useDataTable();\n return useQuery<T[]>({\n queryKey: [...queryKey.map((k) => k.toString())],\n queryFn: () => getAll<T>(`${baseUrl}${apiPath}`, getHeaders),\n enabled,\n });\n}\n\nexport function useAddOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<T, Error, Omit<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item) =>\n createOne<Omit<T, \"id\">, T>(`${baseUrl}${apiPath}`, item, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n\nexport function useUpdateOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<T, Error, AtLeast<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item) =>\n updateOne<T>(`${baseUrl}${apiPath}`, item, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n\nexport function useDeleteOne(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<void, Error, string | number>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (id) => deleteOne(`${baseUrl}${apiPath}`, id, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Stepper,\n Textarea,\n TextInput,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useAddOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\nimport { Fragment, useState } from \"react\";\n// @ts-expect-error - FormRule not publicly exported from @mantine/form\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface CreateModalProps<T> {\n fields: Field<T>[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n steps?: StepConfig[];\n onCreated?: (id: string | number) => void;\n}\n\nexport function CreateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n steps,\n onCreated,\n}: CreateModalProps<T>) {\n const [active, setActive] = useState(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n const [recordId, setRecordId] = useState<string | number>();\n\n const {\n mutateAsync: create,\n isError: isCreateError,\n error: createError,\n isPending: isCreatePending,\n } = useAddOne<T>(apiPath, queryKey);\n const { mutateAsync: update, isPending: isUpdatePending } = useUpdateOne<T>(\n apiPath,\n queryKey,\n );\n\n const isPending = isCreatePending || isUpdatePending;\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (false as T[keyof T])\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) return null;\n if (!resolveRequired(field, values)) return null;\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), ...(recordId && { id: recordId }) } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isCreateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={createError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {createError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n <form\n onSubmit={form.onSubmit(async (rawValues) => {\n const values = Object.fromEntries(\n Object.entries(rawValues as Record<string, unknown>).map(([k, v]) => [k, v === \"\" ? undefined : v]),\n ) as unknown as typeof rawValues;\n if (recordId) {\n await update({ ...values, id: recordId } as T);\n } else {\n const result = await create(values as T);\n setRecordId(result.id);\n onCreated?.(result.id);\n }\n\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isCreateError) {\n setActive(active + 1);\n }\n } else {\n if (!isCreateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n </>\n );\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","\"use client\";import{Box as Al,Table as zl}from\"@mantine/core\";import{useMergedRef as It}from\"@mantine/hooks\";import To from\"clsx\";import{useCallback as Nt,useEffect as Wl,useLayoutEffect as Bl,useMemo as Vl,useRef as at}from\"react\";import{parseThemeColor as Da}from\"@mantine/core\";function W(e,t,n){return e?Da({color:typeof e==\"object\"?e[n]:e,theme:t}).value:void 0}function Vt({theme:e,c:t,backgroundColor:n,borderColor:o,rowBorderColor:r,stripedColor:l,highlightOnHoverColor:a}){return{\"--mantine-datatable-color-light\":W(t,e,\"light\"),\"--mantine-datatable-color-dark\":W(t,e,\"dark\"),\"--mantine-datatable-background-color-light\":W(n,e,\"light\"),\"--mantine-datatable-background-color-dark\":W(n,e,\"dark\"),\"--mantine-datatable-border-color-light\":W(o,e,\"light\"),\"--mantine-datatable-border-color-dark\":W(o,e,\"dark\"),\"--mantine-datatable-row-border-color-light\":W(r,e,\"light\"),\"--mantine-datatable-row-border-color-dark\":W(r,e,\"dark\"),\"--mantine-datatable-striped-color-light\":W(l,e,\"light\"),\"--mantine-datatable-striped-color-dark\":W(l,e,\"dark\"),\"--mantine-datatable-highlight-on-hover-color-light\":W(a,e,\"light\"),\"--mantine-datatable-highlight-on-hover-color-dark\":W(a,e,\"dark\")}}function ze({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:n}){return{\"--mantine-datatable-pagination-active-text-color-light\":W(t,e,\"light\"),\"--mantine-datatable-pagination-active-text-color-dark\":W(t,e,\"dark\"),\"--mantine-datatable-pagination-active-background-color-light\":W(n,e,\"light\"),\"--mantine-datatable-pagination-active-background-color-dark\":W(n,e,\"dark\")}}function Gt({theme:e,color:t,backgroundColor:n}){return{\"--mantine-datatable-row-color-light\":W(t,e,\"light\"),\"--mantine-datatable-row-color-dark\":W(t,e,\"dark\"),\"--mantine-datatable-row-background-color-light\":W(n,e,\"light\"),\"--mantine-datatable-row-background-color-dark\":W(n,e,\"dark\")}}import{useState as $t}from\"react\";import{createSafeContext as wa}from\"@mantine/core\";var[Ft,ye]=wa(\"useDataTableColumnsContext must be used within DataTableColumnProvider\");import{jsx as Sa}from\"react/jsx-runtime\";var Tt=e=>{let{children:t,columnsOrder:n,setColumnsOrder:o,columnsToggle:r,setColumnsToggle:l,columnsPinning:a,setColumnsPinning:s,resetColumnsOrder:c,resetColumnsToggle:d,resetColumnsPinning:i,setColumnWidth:u,setMultipleColumnWidths:p,resetColumnsWidth:b,beginResize:m,endResize:S,pinnedMap:f}=e,[C,L]=$t(\"\"),[w,I]=$t(\"\");return Sa(Ft,{value:{sourceColumn:C,setSourceColumn:L,targetColumn:w,setTargetColumn:I,columnsToggle:r,setColumnsToggle:l,columnsPinning:a,setColumnsPinning:s,swapColumns:()=>{if(!n||!o||!C||!w)return;let h=f.get(C),g=f.get(w);if(h?.logicalSide!==g?.logicalSide)return;let v=n.indexOf(C),M=n.indexOf(w);if(v!==-1&&M!==-1){let T=[...n],[P]=T.splice(v,1);T.splice(M,0,P),o(T)}},resetColumnsOrder:c,resetColumnsToggle:d,resetColumnsPinning:i,setColumnWidth:u,setMultipleColumnWidths:p,resetColumnsWidth:b,beginResize:m,endResize:S},children:t})};import{jsx as Xt}from\"react/jsx-runtime\";function Ut(){return Xt(\"tr\",{className:\"mantine-datatable-empty-row\",children:Xt(\"td\",{})})}import{Center as xa,Text as va}from\"@mantine/core\";import{jsx as Ee,jsxs as Ra}from\"react/jsx-runtime\";function Qt(){return Ra(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Ee(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Ee(\"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\"}),Ee(\"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\"}),Ee(\"path\",{d:\"M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4\"}),Ee(\"path\",{d:\"M3 3l18 18\"})]})}import{Fragment as Ma,jsx as We,jsxs as ka}from\"react/jsx-runtime\";function Kt({icon:e,text:t,active:n,children:o}){return We(xa,{className:\"mantine-datatable-empty-state\",\"data-active\":n||void 0,children:o||ka(Ma,{children:[e||We(\"div\",{className:\"mantine-datatable-empty-state-icon\",children:We(Qt,{})}),We(va,{component:\"div\",size:\"sm\",c:\"dimmed\",children:t})]})})}import{TableTfoot as cr,TableTr as ur}from\"@mantine/core\";import dr from\"clsx\";import{TableTh as ar}from\"@mantine/core\";import rr from\"clsx\";import{useCallback as mi,useRef as pi,useState as fi}from\"react\";import{useLocalStorage as Ea}from\"@mantine/hooks\";import{useEffect as La,useMemo as jt}from\"react\";function Jt({key:e,columns:t=[],getInitialValueInEffect:n=!0}){let o=jt(()=>t.map(i=>({accessor:i.accessor,defaultPinned:i.pinned,pinnable:!!i.pinnable,pinned:i.pinned})),[t]),[r,l]=Ea({key:e?`${e}-columns-pinning`:\"\",defaultValue:e?o:void 0,getInitialValueInEffect:n}),a=r??o;function s(i){e&&l(typeof i==\"function\"?u=>i(u??o):i)}let c=jt(()=>{if(!a)return o;let i=[];return a.forEach(u=>{t.find(p=>p.accessor===u.accessor)&&i.push(u)}),t.forEach(u=>{i.find(p=>p.accessor===u.accessor)||i.push({accessor:u.accessor,defaultPinned:u.pinned,pinnable:!!u.pinnable,pinned:u.pinned})}),i},[a,t,o]);La(()=>{e&&a&&JSON.stringify(c)!==JSON.stringify(a)&&l(c)},[e,c,a,l]);let d=()=>{s(o)};return e?{columnsPinning:c,setColumnsPinning:s,resetColumnsPinning:d}:{columnsPinning:o,setColumnsPinning:s,resetColumnsPinning:d}}import{useLocalStorage as Ia}from\"@mantine/hooks\";import{useEffect as Na,useMemo as qt}from\"react\";function Zt({key:e,columns:t=[],getInitialValueInEffect:n=!0}){let o=qt(()=>t?t.map(i=>i.accessor):[],[t]),[r,l]=Ia({key:e?`${e}-columns-order`:\"\",defaultValue:e?o:void 0,getInitialValueInEffect:n}),a=r??o;function s(i){e&&l(i)}let c=qt(()=>{if(!a)return o;let i=[];return a.forEach(u=>{t.find(p=>p.accessor===u)&&i.push(u)}),t.forEach(u=>{i.includes(u.accessor)||i.push(u.accessor)}),i},[a,t,o]);Na(()=>{e&&a&&JSON.stringify(c)!==JSON.stringify(a)&&l(c)},[e,c,a,l]);let d=()=>{s(o)};return e?{columnsOrder:c,setColumnsOrder:s,resetColumnsOrder:d}:{columnsOrder:a,setColumnsOrder:s,resetColumnsOrder:d}}import{useLocalStorage as Ha}from\"@mantine/hooks\";import{useCallback as Z,useEffect as ht,useMemo as Yt,useRef as Oa,useState as en}from\"react\";function tn({key:e,columns:t=[],getInitialValueInEffect:n=!0,headerRef:o}){let r=Yt(()=>t.some(y=>y.resizable&&!y.hidden&&y.accessor!==\"__selection__\"),[t]),l=Z(()=>t.filter(y=>y.accessor!==\"__selection__\").map(y=>({[y.accessor]:y.width??\"auto\"})),[t]),[a,s]=Ha({key:e?`${e}-columns-width`:\"\",defaultValue:e?l():void 0,getInitialValueInEffect:n}),[c,d]=en(()=>e&&a&&a.length>0?a:l()),[i,u]=en(!1),p=Oa(!1);ht(()=>{e&&(!a||a.length===0||d(a))},[e,a]),ht(()=>{d(y=>{let h=new Set(t.filter(P=>P.accessor!==\"__selection__\").map(P=>String(P.accessor))),g=y.filter(P=>h.has(Object.keys(P)[0])),v=new Set(g.map(P=>Object.keys(P)[0])),M=!1;for(let P of t){if(P.accessor===\"__selection__\")continue;let R=String(P.accessor);v.has(R)||(g.push({[R]:P.width??\"auto\"}),M=!0)}return g.length!==y.length||M?g:y})},[t]);let b=Z(y=>{let h=y.filter(g=>g.accessor!==\"__selection__\");h.length!==0&&(p.current=!0,d(g=>g.map(v=>{let M=Object.keys(v)[0],T=h.find(P=>P.accessor===M);return T?{[M]:T.width}:v})))},[]);ht(()=>{!e||!p.current||i||(p.current=!1,s(c))},[e,c,i,s]);let m=Z((y,h)=>{b([{accessor:y,width:h}])},[b]),S=Z(y=>{b(y)},[b]),f=Z(()=>{u(!0);let y=o?.current;if(!y)return;let h=Array.from(y.querySelectorAll(\"th[data-accessor]\"));if(h.length===0)return;let g=[];for(let v of h){let M=v.getAttribute(\"data-accessor\");if(!M||M===\"__selection__\")continue;let T=Math.round(v.getBoundingClientRect().width);g.push({[M]:`${T}px`})}p.current=!0,d(g)},[o]),C=Z(()=>{u(!1)},[]),L=Z(()=>{let y=l();p.current=!0,d(y),u(!1)},[l]),w=Yt(()=>{if(!r)return!1;let y=t.filter(h=>h.resizable&&!h.hidden&&h.accessor!==\"__selection__\");return c.filter(h=>{let g=Object.keys(h)[0];return y.some(v=>v.accessor===g)}).every(h=>{let g=Object.values(h)[0];return g===\"auto\"||g===\"initial\"})},[r,t,c]),I=Z(()=>{},[]);return{columnsWidth:c,setColumnsWidth:b,setColumnWidth:m,setMultipleColumnWidths:S,resetColumnsWidth:L,hasResizableColumns:r,allResizableWidthsInitial:w,measureAndSetColumnWidths:I,isResizing:i,beginResize:f,endResize:C}}import{useMemo as Ct}from\"react\";import{useLocalStorage as _a}from\"@mantine/hooks\";import{useEffect as Aa,useMemo as nn}from\"react\";function on({key:e,columns:t=[],getInitialValueInEffect:n=!0}){let o=nn(()=>t?.map(i=>({accessor:i.accessor,defaultToggle:i.defaultToggle||!0,toggleable:i.toggleable,toggled:i.defaultToggle===void 0?!0:i.defaultToggle})),[t]),[r,l]=_a({key:e?`${e}-columns-toggle`:\"\",defaultValue:e?o:void 0,getInitialValueInEffect:n}),a=r??o;function s(i){e&&l(i)}let c=nn(()=>{if(!a)return o;let i=[];return a.forEach(u=>{t.find(p=>p.accessor===u.accessor)&&i.push(u)}),t.forEach(u=>{i.find(p=>p.accessor===u.accessor)||i.push({accessor:u.accessor,defaultToggle:u.defaultToggle||!0,toggleable:u.toggleable,toggled:u.defaultToggle===void 0?!0:u.defaultToggle})}),i},[a,t,o]);Aa(()=>{e&&a&&JSON.stringify(c)!==JSON.stringify(a)&&l(c)},[e,c,a,l]);let d=()=>{s(o)};return e?{columnsToggle:c,setColumnsToggle:s,resetColumnsToggle:d}:{columnsToggle:a,setColumnsToggle:s,resetColumnsToggle:d}}var an=({key:e,columns:t=[],getInitialValueInEffect:n=!0,headerRef:o,scrollViewportRef:r})=>{let{columnsOrder:l,setColumnsOrder:a,resetColumnsOrder:s}=Zt({key:e,columns:t,getInitialValueInEffect:n}),{columnsToggle:c,setColumnsToggle:d,resetColumnsToggle:i}=on({key:e,columns:t,getInitialValueInEffect:n}),{columnsPinning:u,setColumnsPinning:p,resetColumnsPinning:b}=Jt({key:e,columns:t,getInitialValueInEffect:n}),{columnsWidth:m,setColumnsWidth:S,setColumnWidth:f,setMultipleColumnWidths:C,resetColumnsWidth:L,hasResizableColumns:w,allResizableWidthsInitial:I,measureAndSetColumnWidths:y,isResizing:h,beginResize:g,endResize:v}=tn({key:e,columns:t,getInitialValueInEffect:n,headerRef:o,scrollViewportRef:r}),M=Ct(()=>{let R;l?R=l.map(D=>t.find(O=>O.accessor===D)).map(D=>{let O=u.find(A=>A.accessor===D?.accessor),z=D?.pinnable?O?.pinned:D?.pinned;return{...D,hidden:D?.hidden||!c.find(A=>A.accessor===D?.accessor)?.toggled,pinned:z}}):R=t;let k=R.filter(D=>D.pinned===\"left\"),H=R.filter(D=>!D.pinned),E=R.filter(D=>D.pinned===\"right\");return[...k,...H,...E].map(D=>{if(D?.accessor===\"__selection__\")return D;let O=D?.accessor,z=m.find(K=>O in K);if(!z)return D;let A=z[O];return A===void 0||A===\"auto\"||A===\"initial\"?D:{...D,width:A}})},[t,l,c,u,m]),T=Ct(()=>{let R=M.filter(k=>!k.hidden&&k.accessor!==\"__selection__\");return R.length===0?!1:R.every(k=>typeof k.width==\"string\"&&/px$/.test(k.width))},[M]),P=Ct(()=>{if(!T)return null;let R=0;for(let k of M){if(k.hidden||k.accessor===\"__selection__\")continue;let H=k.width;if(typeof H!=\"string\")continue;let E=parseInt(H,10);Number.isNaN(E)||(R+=E)}return R>0?R:null},[T,M]);return{effectiveColumns:M,setColumnsOrder:a,columnsOrder:l,resetColumnsOrder:s,columnsToggle:c,setColumnsToggle:d,resetColumnsToggle:i,columnsPinning:u,setColumnsPinning:p,resetColumnsPinning:b,columnsWidth:m,setColumnsWidth:S,setColumnWidth:f,setMultipleColumnWidths:C,resetColumnsWidth:L,hasResizableColumns:w,allResizableWidthsInitial:I,measureAndSetColumnWidths:y,isResizing:h,isLocked:T,tableWidth:P,beginResize:g,endResize:v}};import{rem as Va}from\"@mantine/core\";import{useCallback as Ga,useEffect as Pt,useRef as Y}from\"react\";import{useEffect as za,useLayoutEffect as Wa}from\"react\";var fe=typeof window<\"u\"?Wa:za;import{useRef as Ba}from\"react\";function yt(e){let t=Ba(e);return t.current=e,t}var rn=\"--mantine-datatable-header-height\",ln=\"--mantine-datatable-footer-height\",sn=\"--mantine-datatable-selection-column-width\",cn=\"--mantine-datatable-last-row-border-bottom\";function X(e,t,n){e?.style.setProperty(t,n)}function wt(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 Dt(e,t,n){if(e){let o=new ResizeObserver(r=>{let l=r[0];l&&t(wt(l))});return o.observe(e),()=>{o.disconnect(),n()}}}function un({scrollCallbacks:e,withRowBorders:t}){let n={root:Y(null),table:Y(null),scrollViewport:Y(null),header:Y(null),footer:Y(null),selectionColumnHeader:Y(null)},{root:o,table:r,scrollViewport:l,header:a,footer:s,selectionColumnHeader:c}=n,d=yt({withRowBorders:t}),i=yt(e),u=Y(()=>{}),p=Y(()=>{}),b=Ga(m=>{i.current.onScroll?.(m),u.current()},[]);return Pt(()=>Dt(a.current,m=>{X(o.current,rn,`${m.height}px`)},()=>X(o.current,rn,\"0\")),[a.current]),Pt(()=>Dt(s.current,m=>{X(o.current,ln,`${m.height}px`)},()=>X(o.current,ln,\"0\")),[s.current]),Pt(()=>Dt(c.current,m=>{X(o.current,sn,`${m.width}px`)},()=>X(o.current,sn,\"0\")),[c.current]),fe(()=>{if(typeof window>\"u\")return;let m={top:!0,bottom:!0,left:!0,right:!0},S={width:0,height:0},f={width:0,height:0};function C(h,g){let v=m[h];return m[h]=g,X(o.current,`--mantine-datatable-${h}-shadow-opacity`,g?\"0\":\"1\"),v}function L(){let h=S.height-f.height,g=h<0;X(o.current,\"--mantine-datatable-footer-position\",g?\"relative\":\"sticky\"),X(o.current,\"--mantine-datatable-footer-bottom\",g?`${h}px`:\"0\")}function w(){d.current.withRowBorders&&S.height<f.height?X(o.current,cn,`${Va(\"1px\")} solid var(--mantine-datatable-border-color)`):X(o.current,cn,\"unset\")}p.current=w;function I(){let h=i.current,g=l.current,v=g?.scrollTop??0,M=g?.scrollLeft??0,T=v===0,P=S.height-v-f.height<1,R=C(\"top\",T),k=C(\"bottom\",P);T&&T!==R&&h.onScrollToTop?.(),P&&P!==k&&h.onScrollToBottom?.();let H=g?getComputedStyle(g).direction===\"rtl\":!1,E=(g?.scrollWidth??0)-f.width,x,D;if(H){let A=Math.abs(M);D=A<1,x=E-A<1}else x=M<1,D=S.width-M-f.width<1;let O=C(\"left\",x),z=C(\"right\",D);x&&x!==O&&h.onScrollToLeft?.(),D&&D!==z&&h.onScrollToRight?.()}u.current=I;let y=new ResizeObserver(h=>{for(let g of h)switch(g.target.tagName){case\"TABLE\":{S=wt(g);break}case\"DIV\":{f=wt(g);break}}I(),L(),w()});return y.observe(r.current),y.observe(l.current),()=>{y.disconnect()}},[]),fe(()=>{p.current()},[t]),{refs:n,onScroll:b}}import{useCallback as Fa,useEffect as $a,useState as Xa}from\"react\";function dn({columns:e,theadRef:t,tbodyRef:n,selectionColumnHeaderRef:o,selectionVisible:r,pinFirstColumn:l,pinLastColumn:a}){let[s,c]=Xa(new Map),d=Fa(()=>{if(!l&&!a&&!e.some(T=>T.pinned))return;let p=t.current??n.current;if(!p)return;let b=!!t.current,m=b?p.querySelector(\"tr:last-of-type\"):p.querySelector(\"tr:first-of-type\");if(!m)return;let S=getComputedStyle(p).direction===\"rtl\",f=new Map;if(b)m.querySelectorAll(\"th[data-accessor]\").forEach(T=>{let P=T.dataset.accessor;if(P){let R=T.getBoundingClientRect().width;R>0&&f.set(P,R)}});else{let T=e.filter(R=>!R.hidden);m.querySelectorAll(\"td:not(.mantine-datatable-row-selector-cell):not(.mantine-datatable-row-expansion-cell)\").forEach((R,k)=>{if(T[k]){let H=R.getBoundingClientRect().width;H>0&&f.set(String(T[k].accessor),H)}})}let C=0;if(r){let T=o.current??p.querySelector(b?\".mantine-datatable-header-selector-cell\":\".mantine-datatable-row-selector-cell\");T&&(C=T.getBoundingClientRect().width)}let L=e.filter(T=>!T.hidden&&f.has(String(T.accessor))).map(T=>String(T.accessor)),w=new Map;for(let T of e){let P=String(T.accessor);L.includes(P)&&(T.pinned?w.set(P,T.pinned):l&&P===L[0]&&!w.has(P)?w.set(P,\"left\"):a&&P===L[L.length-1]&&!w.has(P)&&w.set(P,\"right\"))}let I=L.filter(T=>w.get(T)===\"left\"),y=L.filter(T=>w.get(T)===\"right\"),h=new Map,g=C;I.forEach((T,P)=>{h.set(T,{position:S?\"right\":\"left\",logicalSide:\"left\",offset:g,isBoundary:P===I.length-1}),g+=f.get(T)||0});let v=-.4,M=[...y].reverse();M.forEach((T,P)=>{h.set(T,{position:S?\"left\":\"right\",logicalSide:\"right\",offset:v,isBoundary:P===M.length-1}),v+=f.get(T)||0}),c(T=>{if(T.size!==h.size)return h;for(let[P,R]of h){let k=T.get(P);if(!k||k.position!==R.position||k.logicalSide!==R.logicalSide||k.offset!==R.offset||k.isBoundary!==R.isBoundary)return h}return T})},[e,r,t,n,o,l,a]);$a(()=>{if(!l&&!a&&!e.some(f=>f.pinned))return;let p=t.current??n.current;if(!p)return;let b=!!t.current,m=b?p.querySelector(\"tr:last-of-type\"):p.querySelector(\"tr:first-of-type\");if(!m)return;let S=new ResizeObserver(d);return m.querySelectorAll(b?\"th\":\"td\").forEach(f=>{S.observe(f)}),()=>S.disconnect()},[t,n,d]),fe(d,[d]);let i=[...s.values()].some(p=>p.logicalSide===\"left\"),u=[...s.values()].some(p=>p.logicalSide===\"right\");return{pinnedMap:s,hasLeftPinned:i,hasRightPinned:u}}import{useEffect as Ua,useState as Qa}from\"react\";function mn(e){let[t,n]=Qa(null),o=e?.join(\":\")||\"\";return Ua(()=>{n(null)},[o]),{lastSelectionChangeIndex:t,setLastSelectionChangeIndex:n}}import{useEffect as Ka,useRef as ja,useState as Ja}from\"react\";function qa(e,t){let n=()=>{t(e.map(r=>r.matches))},o=e.map(r=>{try{return r.addEventListener(\"change\",n),()=>r.removeEventListener(\"change\",n)}catch{return r.addListener(n),()=>r.removeListener(n)}});return()=>{o.forEach(r=>{r()})}}function Za(e,t){return t||(typeof window<\"u\"&&\"matchMedia\"in window?e.map(n=>window.matchMedia(n).matches):e.map(()=>!1))}function pn(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){let[o,r]=Ja(n?t:Za(e,t)),l=ja(null);return Ka(()=>{if(\"matchMedia\"in window)return l.current=e.map(a=>window.matchMedia(a)),r(l.current.map(a=>a.matches)),qa(l.current,a=>{r(a)})},[e]),o}import{useMantineTheme as Ya}from\"@mantine/core\";import{useMemo as fn}from\"react\";function bn(e){let t=Ya(),n=fn(()=>e.map(r=>(typeof r==\"function\"?r(t):r)??\"\"),[e,t]),o=fn(()=>e.map(()=>!0),[e]);return pn(n,o)}import{useMantineTheme as er}from\"@mantine/core\";import{useMediaQuery as tr}from\"@mantine/hooks\";function ee(e){let t=er(),n=typeof e==\"function\"?e(t):e;return tr(n||\"\",!0)}import{useState as nr}from\"react\";function Pe(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 gn(e,t,n){return e.filter(o=>!t.map(n).includes(n(o)))}function Be(e,t){return e.filter((n,o,r)=>o===r.findIndex(l=>t(n)===t(l)))}function St(e,t){return t?t.match(/([^[.\\]])+/g).reduce((o,r)=>o&&o[r],e):void 0}function B(e,t){return typeof t==\"string\"?St(e,t):t(e)}function os(e,t){let n=structuredClone(t),o=n[e.source.index];return e.destination&&(n.splice(e.source.index,1),n.splice(e.destination.index,0,o)),n}function as(e,t){let n=structuredClone(t),o=e.destination;if(!o)return n;let r=n[e.source.index],l=n[o.index];return n.splice(o.index,1,r),n.splice(e.source.index,1,l),n}function Rt(e){return!e||e.length===0?0:Math.max(...e.map(t=>t.groups&&t.groups.length>0?1+Rt(t.groups):1))}function Le(e){let t=[];for(let n of e)n.columns&&n.columns.length>0?t.push(...n.columns.filter(o=>o!=null)):n.groups&&n.groups.length>0&&t.push(...Le(n.groups));return t.filter(n=>n!=null)}function Ve(e,t){return e.columns&&e.columns.length>0?e.columns.filter((n,o)=>n.hidden?!1:t?t[o]!==!1:!0).length:e.groups&&e.groups.length>0?e.groups.reduce((n,o)=>n+Ve(o,t),0):0}function xt(e,t,n=0){if(n===t)return[...e];let o=[];for(let r of e)r.groups&&r.groups.length>0&&o.push(...xt(r.groups,t,n+1));return o}function Tn(e,t,n){return n?!e||t:!1}function hn({rowExpansion:e,records:t,idAccessor:n}){let o=[];if(e&&t){let{trigger:s,allowMultiple:c,initiallyExpanded:d}=e;t&&s===\"always\"?o=t.map(i=>B(i,n)):d&&(o=t.filter((i,u)=>d({record:i,index:u})).map(i=>B(i,n)),c||(o=[o[0]]))}let r,l,a=nr(o);if(e){let{expandable:s,trigger:c,allowMultiple:d,collapseProps:i,content:u}=e;e.expanded?{recordIds:r,onRecordIdsChange:l}=e.expanded:[r,l]=a;let p=b=>l?.(r.filter(m=>m!==B(b,n)));return{expandOnClick:c!==\"always\"&&c!==\"never\",isRowExpanded:b=>c===\"always\"?!0:r.includes(B(b,n)),isExpandable:({record:b,index:m})=>s?s({record:b,index:m}):!0,expandRow:b=>{let m=B(b,n);l?.(d?[...r,m]:[m])},collapseRow:p,collapseProps:i,content:({record:b,index:m})=>()=>u({record:b,index:m,collapse:()=>p(b)})}}}import{useTimeout as Cn}from\"@mantine/hooks\";import{useEffect as or,useState as yn}from\"react\";function Pn(e,t){let[n,o]=yn(e),[r,l]=yn(e),a=Cn(()=>o(!0),0),s=Cn(()=>l(!1),t||200);return or(()=>{e?(s.clear(),l(!0),a.start()):(a.clear(),o(!1),s.start())},[a,s,e]),{expanded:n,visible:r}}var De=\"mantine-datatable-nowrap\",we=\"mantine-datatable-ellipsis\",Q=\"mantine-datatable-pointer-cursor\",Ge=\"mantine-datatable-context-menu-cursor\",Dn=\"mantine-datatable-text-selection-disabled\",te=\"mantine-datatable-text-align-left\",ne=\"mantine-datatable-text-align-center\",oe=\"mantine-datatable-text-align-right\";import{jsx as lr}from\"react/jsx-runtime\";function wn({className:e,style:t,pinnedInfo:n,visibleMediaQuery:o,title:r,noWrap:l,ellipsis:a,textAlign:s,width:c}){return ee(o)?lr(ar,{\"data-pinned\":n?.position,\"data-pinned-shadow\":n?.isBoundary?n.position:void 0,className:rr({[De]:l||a,[we]:a,[te]:s===\"left\",[ne]:s===\"center\",[oe]:s===\"right\"},e),style:[{width:c,minWidth:c,maxWidth:c},t,n&&{position:\"sticky\",[n.position]:n.offset,overflow:\"visible\"}],children:r}):null}import{TableTh as ir}from\"@mantine/core\";import{jsx as sr}from\"react/jsx-runtime\";function Sn({shadowVisible:e}){return sr(ir,{className:\"mantine-datatable-footer-selector-placeholder-cell\",\"data-shadow-visible\":e||void 0})}import{jsx as vt,jsxs as mr}from\"react/jsx-runtime\";function Rn({className:e,style:t,columns:n,defaultColumnProps:o,pinnedMap:r,selectionVisible:l,selectorCellShadowVisible:a,ref:s}){return vt(cr,{ref:s,className:dr(\"mantine-datatable-footer\",e),style:t,children:mr(ur,{children:[l&&vt(Sn,{shadowVisible:a}),n.map(({hidden:c,...d})=>{if(c)return null;let{accessor:i,visibleMediaQuery:u,textAlign:p,width:b,footer:m,footerClassName:S,footerStyle:f,noWrap:C,ellipsis:L}={...o,...d};return vt(wn,{pinnedInfo:r.get(String(i)),className:S,style:f,visibleMediaQuery:u,textAlign:p,width:b,title:m,noWrap:C,ellipsis:L},i)})]})})}import{Checkbox as jr,Group as Jr,Popover as qr,PopoverDropdown as Zr,PopoverTarget as Yr,Stack as el,TableThead as tl,TableTr as jn}from\"@mantine/core\";import nl from\"clsx\";import{useState as ol}from\"react\";import{TableTh as pr}from\"@mantine/core\";import fr from\"clsx\";import{useMemo as Fe}from\"react\";import{jsx as br}from\"react/jsx-runtime\";function xn({group:{id:e,columns:t,groups:n,title:o,textAlign:r,className:l,style:a},pinnedInfo:s,maxDepth:c,currentDepth:d,previousGroups:i,isLastGroup:u,withColumnBorders:p=!1,totalTableColumns:b}){let m=Fe(()=>t&&t.length>0?t:n&&n.length>0?Le([{id:e,columns:t,groups:n}]):[],[t,n,e]),S=Fe(()=>m.map(({visibleMediaQuery:g})=>g),[m]),f=bn(S),C=Fe(()=>Ve({id:e,columns:t,groups:n},f),[e,t,n,f]),L=Fe(()=>i.reduce((g,v)=>g+Ve(v,f),0),[i,f]),I=n&&n.length>0?1:c-d,y=L+C<b,h=Tn(u,y,p);return C>0?br(pr,{colSpan:C,rowSpan:I>1?I:void 0,\"data-pinned\":s?.position,\"data-pinned-shadow\":s?.isBoundary?s.position:void 0,className:fr(\"mantine-datatable-column-group-header-cell\",{[te]:r===\"left\",[ne]:r===\"center\",[oe]:r===\"right\",\"mantine-datatable-column-group-header-cell--needs-border\":h},l),style:[a,s&&{position:\"sticky\",[s.position]:s.offset,overflow:\"visible\"}],children:o??Pe(e)}):null}import{ActionIcon as Xn,Box as Br,Center as Ze,Flex as Vr,Group as Gr,TableTh as Fr}from\"@mantine/core\";import Ye from\"clsx\";import{useRef as $r,useState as Xr}from\"react\";import{ActionIcon as hr,Popover as Cr,PopoverDropdown as yr,PopoverTarget as Pr}from\"@mantine/core\";import{useClickOutside as Dr,useDisclosure as wr}from\"@mantine/hooks\";import{jsx as vn,jsxs as gr}from\"react/jsx-runtime\";function Mn(){return gr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[vn(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),vn(\"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\"})]})}import{jsx as kn,jsxs as Tr}from\"react/jsx-runtime\";function En(){return Tr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[kn(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),kn(\"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\"})]})}import{jsx as $e,jsxs as Sr}from\"react/jsx-runtime\";function Ln({children:e,isActive:t,filterPopoverProps:n,filterPopoverDisableClickOutside:o}){let[r,{close:l,toggle:a}]=wr(!1),s=t?En:Mn,c=Dr(l);return o&&(c=void 0),Sr(Cr,{withArrow:!0,shadow:\"md\",trapFocus:!0,...n,opened:r,onClose:l,onDismiss:l,children:[$e(Pr,{children:$e(hr,{className:\"mantine-datatable-header-cell-filter-action-icon\",\"data-active\":t||void 0,size:\"sm\",variant:\"default\",onClick:d=>{d.preventDefault(),a()},onKeyDown:d=>d.stopPropagation(),children:$e(s,{})})}),$e(yr,{ref:c,onClick:d=>d.stopPropagation(),onKeyDown:d=>d.stopPropagation(),children:typeof e==\"function\"?e({close:l}):e})]})}import{ActionIcon as je,Center as kr,Group as Er,Popover as kt}from\"@mantine/core\";import{useCallback as Lr,useEffect as Ir,useRef as Nr,useState as On}from\"react\";import{jsx as Xe,jsxs as Rr}from\"react/jsx-runtime\";function In(){return Rr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Xe(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Xe(\"path\",{d:\"M5 12l14 0\"}),Xe(\"path\",{d:\"M5 12l6 6\"}),Xe(\"path\",{d:\"M5 12l6 -6\"})]})}import{jsx as Ue,jsxs as xr}from\"react/jsx-runtime\";function Nn(){return xr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Ue(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Ue(\"path\",{d:\"M5 12l14 0\"}),Ue(\"path\",{d:\"M19 12l-6 6\"}),Ue(\"path\",{d:\"M19 12l-6 -6\"})]})}import{jsx as Qe,jsxs as vr}from\"react/jsx-runtime\";function Hn(){return vr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Qe(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Qe(\"path\",{d:\"M9 4v6l-2 4v2h10v-2l-2-4v-6\"}),Qe(\"path\",{d:\"M12 16v5\"}),Qe(\"path\",{d:\"M8 4h8\"})]})}import{jsx as Mt,jsxs as Mr}from\"react/jsx-runtime\";function Ke(){return Mr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Mt(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Mt(\"path\",{d:\"M18 6l-12 12\"}),Mt(\"path\",{d:\"M6 6l12 12\"})]})}import{jsx as U,jsxs as _n}from\"react/jsx-runtime\";function An({currentPinned:e,onPinChange:t}){let[n,o]=On(!1),r=Nr(null),[l,a]=On(!1),s=Lr(()=>{if(r.current){let p=getComputedStyle(r.current).direction;a(p===\"rtl\")}},[]);fe(()=>{s()},[s]),Ir(()=>{n&&s()},[n,s]);let c=l?\"right\":\"left\",d=l?\"left\":\"right\",i=e===c,u=e===d;return _n(kt,{opened:n,onChange:o,position:\"bottom\",withArrow:!0,shadow:\"sm\",children:[U(kt.Target,{children:U(kr,{ref:r,className:\"mantine-datatable-header-cell-pinnable-icon\",role:\"button\",\"aria-label\":\"Pin column\",onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:U(je,{size:\"xs\",variant:\"light\",onClick:p=>p.stopPropagation(),children:U(Hn,{})})})}),U(kt.Dropdown,{onClick:p=>p.stopPropagation(),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),className:\"mantine-datatable-pinnable-dropdown\",children:_n(Er,{gap:4,children:[U(je,{size:\"sm\",variant:i?\"filled\":\"light\",onClick:()=>t(i?void 0:c),\"aria-label\":\"Pin left\",children:U(In,{})}),U(je,{size:\"sm\",variant:u?\"filled\":\"light\",onClick:()=>t(u?void 0:d),\"aria-label\":\"Pin right\",children:U(Nn,{})}),e&&U(je,{size:\"sm\",variant:\"light\",color:\"red\",onClick:()=>t(void 0),\"aria-label\":\"Unpin\",children:U(Ke,{})})]})})]})}import{useDirection as Hr}from\"@mantine/core\";import{useCallback as zn,useRef as Wn,useState as Or}from\"react\";import{jsx as _r}from\"react/jsx-runtime\";var Bn=50,Vn=e=>{let{accessor:t,columnRef:n}=e,[o,r]=Or(!1),l=Wn(0),a=Wn({current:0,next:0}),{dir:s}=Hr(),c=s===\"rtl\",{setMultipleColumnWidths:d,beginResize:i,endResize:u}=ye(),p=zn(m=>{if(m.preventDefault(),m.stopPropagation(),!n.current)return;let S=n.current,f=S.nextElementSibling;for(;f;){let h=f.getAttribute(\"data-accessor\");if(h&&h!==\"__selection__\")break;f=f.nextElementSibling}if(!f)return;let C=f.getAttribute(\"data-accessor\");if(!C)return;let L=S.offsetWidth,w=f.offsetWidth;i(),r(!0),l.current=m.clientX,a.current={current:L,next:w};let I=h=>{let g=h.clientX-l.current;c&&(g=-g);let v=a.current.current-Bn,M=a.current.next-Bn,T=Math.max(-v,Math.min(g,M)),P=a.current.current+T,R=a.current.next-T;d([{accessor:t,width:`${P}px`},{accessor:C,width:`${R}px`}])},y=()=>{r(!1),document.body.style.cursor=\"initial\",document.body.style.userSelect=\"initial\",u(),document.removeEventListener(\"mousemove\",I),document.removeEventListener(\"mouseup\",y)};document.body.style.cursor=\"col-resize\",document.body.style.userSelect=\"none\",document.addEventListener(\"mousemove\",I),document.addEventListener(\"mouseup\",y)},[t,n,c,d,i,u]),b=zn(()=>{if(!n.current)return;let S=n.current.nextElementSibling,f=[{accessor:t,width:\"auto\"}];if(S){let C=S.getAttribute(\"data-accessor\");C&&C!==\"__selection__\"&&f.push({accessor:C,width:\"auto\"})}d(f)},[t,n,d]);return _r(\"div\",{className:\"mantine-datatable-header-resizable-handle\",style:{cursor:o?\"col-resize\":void 0},onMouseDown:p,onDoubleClick:b,onClick:m=>m.stopPropagation(),title:\"Drag to resize column, double-click to reset\"})};import{jsx as Je,jsxs as Ar}from\"react/jsx-runtime\";function Gn(){return Ar(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Je(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Je(\"path\",{d:\"M8 7l4 -4l4 4\"}),Je(\"path\",{d:\"M8 17l4 4l4 -4\"}),Je(\"path\",{d:\"M12 3l0 18\"})]})}import{jsx as qe,jsxs as zr}from\"react/jsx-runtime\";function Fn(){return zr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[qe(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),qe(\"path\",{d:\"M12 5l0 14\"}),qe(\"path\",{d:\"M16 9l-4 -4\"}),qe(\"path\",{d:\"M8 9l4 -4\"})]})}import{jsx as be,jsxs as Wr}from\"react/jsx-runtime\";function $n(){return Wr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[be(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),be(\"path\",{d:\"M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"})]})}import{jsx as G,jsxs as Et}from\"react/jsx-runtime\";function Un({className:e,style:t,pinnedInfo:n,accessor:o,visibleMediaQuery:r,title:l,sortable:a,draggable:s,toggleable:c,pinnable:d,resizable:i,sortIcons:u,textAlign:p,width:b,sortStatus:m,onSortStatusChange:S,filter:f,filterPopoverProps:C,filterPopoverDisableClickOutside:L,filtering:w,sortKey:I}){let{setSourceColumn:y,setTargetColumn:h,swapColumns:g,columnsToggle:v,setColumnsToggle:M,columnsPinning:T,setColumnsPinning:P}=ye(),[R,k]=Xr(!1),H=$r(null),x=T?.find(_=>_.accessor===o)?.pinned;if(!ee(r))return null;let D=l??Pe(o),O=typeof D==\"string\"?D:void 0,z=a&&S?_=>{_?.defaultPrevented||S({sortKey:I,columnAccessor:o,direction:m?.columnAccessor===o?m.direction===\"asc\"?\"desc\":\"asc\":m?.direction??\"asc\"})}:void 0,A=_=>{_.stopPropagation(),y(o),k(!1)},K=_=>{_.preventDefault(),h(o),k(!0)},re=()=>{h(o),k(!1),g()},le=()=>{k(!0)},ie=()=>{k(!1)},se=_=>{_.stopPropagation(),M(v.map($=>$.accessor===o?{...$,toggled:!1}:$))},ce=_=>{P($=>$.map(j=>j.accessor===o?{...j,pinned:_}:j))};return Et(Fr,{\"data-accessor\":o,\"data-pinned\":n?.position,\"data-pinned-shadow\":n?.isBoundary?n.position:void 0,className:Ye({\"mantine-datatable-header-cell-sortable\":a,\"mantine-datatable-header-cell-toggleable\":c,\"mantine-datatable-header-cell-pinnable\":d,\"mantine-datatable-header-cell-resizable\":i},e),style:[{width:b,...i?{}:{minWidth:b,maxWidth:b}},t,n&&{position:\"sticky\",[n.position]:n.offset,overflow:\"visible\"}],role:a?\"button\":void 0,tabIndex:a?0:void 0,onClick:z,onKeyDown:_=>_.key===\"Enter\"&&z?.(),ref:H,children:[Et(Gr,{className:\"mantine-datatable-header-cell-sortable-group\",justify:\"space-between\",wrap:\"nowrap\",children:[Et(Vr,{align:\"center\",w:\"100%\",className:Ye({\"mantine-datatable-header-cell-draggable\":s,\"mantine-datatable-header-cell-drag-over\":R}),draggable:s,onDragStart:s?A:void 0,onDragEnter:s?le:void 0,onDragOver:s?K:void 0,onDrop:s?re:void 0,onDragLeave:s?ie:void 0,children:[s?G(Ze,{role:\"img\",\"aria-label\":\"Drag column\",children:G(Xn,{className:\"mantine-datatable-header-cell-draggable-action-icon\",variant:\"subtle\",size:\"xs\",onClick:_=>{_.stopPropagation()},children:G($n,{})})}):null,G(Br,{className:Ye(\"mantine-datatable-header-cell-sortable-text\",{[te]:p===\"left\",[ne]:p===\"center\",[oe]:p===\"right\"},De,we),title:O,children:D})]}),d?G(An,{currentPinned:x,onPinChange:ce}):null,c?G(Ze,{className:\"mantine-datatable-header-cell-toggleable-icon\",role:\"img\",\"aria-label\":\"Toggle column\",children:G(Xn,{size:\"xs\",variant:\"light\",onClick:se,children:G(Ke,{})})}):null,a||m?.columnAccessor===o?m?.columnAccessor===o?G(Ze,{className:Ye(\"mantine-datatable-header-cell-sortable-icon\",{\"mantine-datatable-header-cell-sortable-icon-reversed\":m.direction===\"desc\"}),role:\"img\",\"aria-label\":`Sorted ${m.direction===\"desc\"?\"descending\":\"ascending\"}`,children:u?.sorted||G(Fn,{})}):G(Ze,{className:\"mantine-datatable-header-cell-sortable-unsorted-icon\",role:\"img\",\"aria-label\":\"Not sorted\",children:u?.unsorted||G(Gn,{})}):null,f?G(Ln,{filterPopoverProps:C,isActive:!!w,filterPopoverDisableClickOutside:L,children:f}):null]}),i&&o!==\"__selection__\"?G(Vn,{accessor:o,columnRef:H}):null]})}import{Checkbox as Ur,TableTh as Qr}from\"@mantine/core\";import Kr from\"clsx\";import{jsx as Qn}from\"react/jsx-runtime\";function Kn({className:e,style:t,trigger:n,shadowVisible:o,checked:r,indeterminate:l,checkboxProps:a,onChange:s,rowSpan:c,ref:d}){let i=!a.disabled;return Qn(Qr,{ref:d,className:Kr(\"mantine-datatable-header-selector-cell\",{[Q]:n===\"cell\"&&i},e),style:t,rowSpan:c,\"data-shadow-visible\":o||void 0,\"data-accessor\":\"__selection__\",onClick:n===\"cell\"&&i?s:void 0,children:Qn(Ur,{classNames:i?{input:Q}:void 0,checked:r,indeterminate:l,onChange:s,...a,disabled:!(s||a.onChange)||a.disabled})})}import{jsx as ae,jsxs as et}from\"react/jsx-runtime\";function al(e,t){let o=(e.columns??[]).filter(u=>!u.hidden).map(u=>String(u.accessor)),r=o.map(u=>t.get(u)).filter(Boolean);if(r.length===0||r.length!==o.length)return;let l=new Set(r.map(u=>u.logicalSide));if(l.size>1)return;let a=[...l][0],s=a===\"left\"?o[0]:o[o.length-1],c=t.get(s);if(!c)return;let d=a===\"left\"?o[o.length-1]:o[0],i=t.get(d);return{...c,isBoundary:i?.isBoundary??!1}}function Jn({selectionColumnHeaderRef:e,className:t,style:n,sortStatus:o,sortIcons:r,onSortStatusChange:l,columns:a,defaultColumnProps:s,groups:c,pinnedMap:d,selectionTrigger:i,selectionVisible:u,selectionChecked:p,selectionIndeterminate:b,onSelectionChange:m,selectionCheckboxProps:S,selectorCellShadowVisible:f,selectionColumnClassName:C,selectionColumnStyle:L,withColumnBorders:w=!1,ref:I}){let y=c?Rt(c):0,h=y>0?y+1:1,g=u?ae(Kn,{ref:e,className:C,style:L,trigger:i,shadowVisible:f,checked:p,indeterminate:b,checkboxProps:S,onChange:m,rowSpan:c?h:void 0}):null,{columnsToggle:v,setColumnsToggle:M}=ye(),[T,P]=ol(!1),R=a.some(E=>E.toggleable),k=R?Object.fromEntries(a.map(({accessor:E,title:x})=>[E,x??Pe(String(E))])):void 0,H=et(tl,{className:nl(\"mantine-datatable-header\",t),style:n,ref:I,onContextMenu:R?E=>{E.preventDefault(),P(x=>!x)}:void 0,children:[c&&Array.from({length:y},(E,x)=>{let D=xt(c,x);return et(jn,{children:[x===0&&g,D.map((O,z)=>ae(xn,{group:O,pinnedInfo:al(O,d),maxDepth:y,currentDepth:x,previousGroups:D.slice(0,z),isLastGroup:z===D.length-1,withColumnBorders:w,totalTableColumns:a.length},O.id))]},`group-depth-${x}`)}),et(jn,{children:[!c&&g,a.map(({hidden:E,...x},D)=>{if(E)return null;let{accessor:O,visibleMediaQuery:z,textAlign:A,width:K,title:re,sortable:le,draggable:ie,toggleable:se,pinnable:ce,resizable:_,titleClassName:$,titleStyle:j,filter:J,filterPopoverProps:rt,filterPopoverDisableClickOutside:lt,filtering:it,sortKey:st}={...s,...x};return ae(Un,{accessor:O,pinnedInfo:d.get(String(O)),className:$,style:j,visibleMediaQuery:z,textAlign:A,width:K,title:re,sortable:le,draggable:ie,toggleable:se,pinnable:ce,resizable:_&&D<a.length-1,sortStatus:o,sortIcons:r,sortKey:st,onSortStatusChange:l,filter:J,filterPopoverProps:rt,filterPopoverDisableClickOutside:lt,filtering:it},O)})]})]});return R?et(qr,{position:\"bottom\",withArrow:!0,shadow:\"md\",opened:T,onChange:P,children:[ae(Yr,{children:H}),ae(Zr,{children:ae(el,{children:v.filter(E=>E.toggleable).map(E=>ae(Jr,{children:ae(jr,{classNames:{label:\"mantine-datatable-header-column-toggle-checkbox-label\"},size:\"xs\",label:k[E.accessor],checked:E.toggled,onChange:x=>{M(v.map(D=>D.accessor===E.accessor?{...D,toggled:x.currentTarget.checked}:D))}})},E.accessor))})})]}):H}import{Center as rl,Loader as ll}from\"@mantine/core\";import il from\"clsx\";import{jsx as qn}from\"react/jsx-runtime\";function Zn({fetching:e,customContent:t,backgroundBlur:n,size:o,type:r,color:l}){return qn(rl,{className:il(\"mantine-datatable-loader\",{\"mantine-datatable-loader-fetching\":e}),style:[{backdropFilter:n?`blur(${n}px)`:void 0}],children:e&&(t||qn(ll,{size:o,type:r,color:l}))})}import{Box as gl,Pagination as Tl,rem as hl,Text as Cl}from\"@mantine/core\";import ao from\"clsx\";import{Button as cl,Group as ul,Menu as dl,MenuDropdown as ml,MenuItem as pl,MenuTarget as fl,rem as Ie,Text as eo}from\"@mantine/core\";import bl from\"clsx\";import{jsx as Lt,jsxs as sl}from\"react/jsx-runtime\";function Yn(){return sl(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Lt(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Lt(\"path\",{d:\"M8 9l4 -4l4 4\"}),Lt(\"path\",{d:\"M16 15l-4 4l-4 -4\"})]})}import{jsx as ge,jsxs as no}from\"react/jsx-runtime\";var to={xs:Ie(22),sm:Ie(26),md:Ie(32),lg:Ie(38),xl:Ie(44)};function oo({size:e,label:t,values:n,value:o,activeTextColor:r,activeBackgroundColor:l,onChange:a}){return no(ul,{gap:\"xs\",children:[ge(eo,{component:\"div\",size:e,children:t}),no(dl,{withinPortal:!0,withArrow:!0,offset:2,classNames:{arrow:\"mantine-datatable-page-size-selector-menu-arrow\"},children:[ge(fl,{children:ge(cl,{size:e,variant:\"default\",classNames:{section:\"mantine-datatable-page-size-selector-button-icon\"},rightSection:ge(Yn,{}),style:[{fontWeight:\"normal\"},s=>({height:to[e],paddingLeft:s.spacing[e],paddingRight:s.spacing[e]})],children:o})}),ge(ml,{children:n.map(s=>{let c=s===o;return ge(pl,{className:bl({\"mantine-datatable-page-size-selector-active\":c}),style:[{height:to[e]},c&&(r||l)?d=>ze({theme:d,paginationActiveTextColor:r,paginationActiveBackgroundColor:l}):void 0],disabled:c,onClick:()=>a(s),children:ge(eo,{component:\"div\",size:e,children:s})},s)})})]})]})}import{Fragment as yl,jsx as Te,jsxs as Pl}from\"react/jsx-runtime\";function ro({className:e,style:t,fetching:n,page:o,onPageChange:r,paginationWithEdges:l,paginationWithControls:a,paginationActiveTextColor:s,paginationActiveBackgroundColor:c,paginationSize:d,loadingText:i,noRecordsText:u,paginationText:p,totalRecords:b,recordsPerPage:m,onRecordsPerPageChange:S,recordsPerPageLabel:f,recordsPerPageOptions:C,recordsLength:L,horizontalSpacing:w,paginationWrapBreakpoint:I,getPaginationControlProps:y,getPaginationItemProps:h,renderPagination:g}){let v;if(b){let x=(o-1)*m+1,D=x+(L||0)-1;v=p({from:x,to:D,totalRecords:b})}else v=n?i:u;let M=b&&m?Math.max(1,Math.ceil(b/m)):1,T=b?(o-1)*(m??0)+1:void 0,P=b?(T??1)+(L??0)-1:void 0,k=!ee(({breakpoints:x})=>`(min-width: ${typeof I==\"number\"?`${hl(I)}rem`:x[I]||I})`),H={Text:x=>Te(Cl,{component:\"div\",className:\"mantine-datatable-pagination-text\",size:d,...x,children:v}),PageSizeSelector:x=>C?Te(oo,{activeTextColor:s,activeBackgroundColor:c,size:d,label:f,values:C,value:m,onChange:S,...x}):null,Pagination:x=>Te(Tl,{classNames:{root:ao(\"mantine-datatable-pagination-pages\",{\"mantine-datatable-pagination-pages-fetching\":n||!L}),control:\"mantine-datatable-pagination-pages-control\"},style:s||c?D=>ze({theme:D,paginationActiveTextColor:s,paginationActiveBackgroundColor:c}):void 0,withEdges:l,withControls:a,value:o,onChange:r,size:d,total:M,getControlProps:y,getItemProps:h,...x})},E={state:{paginationSize:d,page:o,totalPages:M,totalRecords:b,recordsPerPage:m,recordsLength:L,fetching:n,from:T,to:P,isWrapped:k},actions:{setPage:x=>r?.(x),setRecordsPerPage:S?x=>S(x):void 0},Controls:H};return Te(gl,{px:w??\"xs\",py:\"xs\",className:ao(\"mantine-datatable-pagination\",e),style:[{flexDirection:k?\"column\":\"row\"},t],children:typeof g==\"function\"?g(E):Pl(yl,{children:[Te(H.Text,{}),Te(H.PageSizeSelector,{}),Te(H.Pagination,{})]})})}import{TableTr as Il}from\"@mantine/core\";import Nl from\"clsx\";import{TableTd as Dl}from\"@mantine/core\";import wl from\"clsx\";import{jsx as Sl}from\"react/jsx-runtime\";function lo({className:e,style:t,pinnedInfo:n,visibleMediaQuery:o,record:r,index:l,onClick:a,onDoubleClick:s,onContextMenu:c,noWrap:d,ellipsis:i,textAlign:u,width:p,accessor:b,render:m,defaultRender:S,customCellAttributes:f}){return ee(o)?Sl(Dl,{\"data-pinned\":n?.position,\"data-pinned-shadow\":n?.isBoundary?n.position:void 0,className:wl({[De]:d||i,[we]:i,[Q]:a||s,[Ge]:c,[te]:u===\"left\",[ne]:u===\"center\",[oe]:u===\"right\"},e),style:[{width:p,minWidth:p,maxWidth:p},t,n&&{position:\"sticky\",[n.position]:n.offset,overflow:\"visible\"}],onClick:a,onDoubleClick:s,onContextMenu:c,...f?.(r,l),children:m?m(r,l):S?S(r,l,b):St(r,b)}):null}import{Collapse as Rl,TableTd as xl,TableTr as io}from\"@mantine/core\";import{Fragment as vl,jsx as Ne,jsxs as Ml}from\"react/jsx-runtime\";function so({open:e,colSpan:t,content:n,collapseProps:o}){let{expanded:r,visible:l}=Pn(e,o?.transitionDuration);return l?Ml(vl,{children:[Ne(io,{}),Ne(io,{children:Ne(xl,{className:\"mantine-datatable-row-expansion-cell\",colSpan:t,children:Ne(Rl,{expanded:r,...o,children:Ne(\"div\",{className:\"mantine-datatable-row-expansion-cell-content\",children:n()})})})})]}):null}import{Checkbox as kl,TableTd as El}from\"@mantine/core\";import Ll from\"clsx\";import{jsx as co}from\"react/jsx-runtime\";function uo({className:e,style:t,record:n,index:o,trigger:r,onChange:l,withRightShadow:a,checkboxProps:s,getCheckboxProps:c,...d}){let i={...s,...c(n,o)},u=!d.disabled&&!i.disabled,p=b=>{b.stopPropagation(),r===\"cell\"&&u&&l?.(b)};return co(El,{className:Ll(\"mantine-datatable-row-selector-cell\",{[Q]:r===\"cell\"&&u},e),style:t,\"data-shadow-visible\":a||void 0,onClick:p,children:co(kl,{classNames:u?{input:Q}:void 0,onChange:l,...d,...i})})}import{Fragment as mo,jsx as tt,jsxs as po}from\"react/jsx-runtime\";function fo({record:e,index:t,columns:n,defaultColumnProps:o,pinnedMap:r,defaultColumnRender:l,selectionTrigger:a,selectionVisible:s,selectionChecked:c,onSelectionChange:d,isRecordSelectable:i,selectionCheckboxProps:u,getSelectionCheckboxProps:p,onClick:b,onDoubleClick:m,onContextMenu:S,onCellClick:f,onCellDoubleClick:C,onCellContextMenu:L,expansion:w,customAttributes:I,color:y,backgroundColor:h,className:g,style:v,selectorCellShadowVisible:M,selectionColumnClassName:T,selectionColumnStyle:P,rowFactory:R}){let k=po(mo,{children:[s&&tt(uo,{className:T,style:P,record:e,index:t,trigger:a,withRightShadow:M,checked:c,disabled:!d||(i?!i(e,t):!1),onChange:d,checkboxProps:u,getCheckboxProps:p}),n.map(({hidden:x,hiddenContent:D,...O},z)=>{if(x||D)return null;let{accessor:A,visibleMediaQuery:K,textAlign:re,noWrap:le,ellipsis:ie,width:se,render:ce,cellsClassName:_,cellsStyle:$,customCellAttributes:j}={...o,...O};return tt(lo,{pinnedInfo:r.get(String(A)),className:typeof _==\"function\"?_(e,t):_,style:$?.(e,t),visibleMediaQuery:K,record:e,index:t,onClick:f?J=>f({event:J,record:e,index:t,column:O,columnIndex:z}):void 0,onDoubleClick:C?J=>C({event:J,record:e,index:t,column:O,columnIndex:z}):void 0,onContextMenu:L?J=>L({event:J,record:e,index:t,column:O,columnIndex:z}):void 0,accessor:A,textAlign:re,noWrap:le,ellipsis:ie,width:se,render:ce,defaultRender:l,customCellAttributes:j},A)})]}),H=w&&tt(so,{colSpan:n.filter(({hidden:x})=>!x).length+(s?1:0),open:w.isRowExpanded(e),content:w.content({record:e,index:t}),collapseProps:w.collapseProps}),E=Hl({record:e,index:t,selectionChecked:c,onClick:b,onDoubleClick:m,onContextMenu:S,expansion:w,customAttributes:I,color:y,backgroundColor:h,className:g,style:v});return R?R({record:e,index:t,rowProps:E,children:k,expandedElement:H}):po(mo,{children:[tt(Il,{...E,children:k}),H]})}function Hl({record:e,index:t,selectionChecked:n,onClick:o,onDoubleClick:r,onContextMenu:l,expansion:a,customAttributes:s,color:c,backgroundColor:d,className:i,style:u}){return{className:Nl(\"mantine-datatable-row\",{[Q]:o||r||a?.isExpandable({record:e,index:t})&&a?.expandOnClick},{[Ge]:l},typeof i==\"function\"?i(e,t):i),\"data-selected\":n||void 0,onClick:p=>{if(a){let{isExpandable:b,isRowExpanded:m,expandOnClick:S,expandRow:f,collapseRow:C}=a;b({record:e,index:t})&&S&&(m(e)?C(e):f(e))}o?.({event:p,record:e,index:t})},onDoubleClick:r?p=>r({event:p,record:e,index:t}):void 0,onContextMenu:l?p=>l({event:p,record:e,index:t}):void 0,style:[c||d?p=>{let b=c?.(e,t),m=d?.(e,t);return Gt({theme:p,color:b,backgroundColor:m})}:void 0,u?.(e,t)],...s?.(e,t)??{}}}import{Box as bo,ScrollArea as Ol}from\"@mantine/core\";import nt from\"clsx\";import{jsx as ot,jsxs as _l}from\"react/jsx-runtime\";function go({leftShadowBehind:e,rightShadowBehind:t,onScrollPositionChange:n,children:o,viewportRef:r,scrollAreaProps:l}){return _l(Ol,{...l,viewportRef:r,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:n,children:[o,ot(bo,{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-top-shadow\")}),ot(\"div\",{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-left-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":e})}),ot(\"div\",{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-right-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":t})}),ot(bo,{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-bottom-shadow\")})]})}import{jsx as F,jsxs as ho}from\"react/jsx-runtime\";function Gl({withTableBorder:e,borderRadius:t,textSelectionDisabled:n,height:o=\"100%\",minHeight:r,maxHeight:l,shadow:a,verticalAlign:s=\"center\",fetching:c,columns:d,storeColumnsKey:i,groups:u,pinFirstColumn:p,pinLastColumn:b,defaultColumnProps:m,defaultColumnRender:S,idAccessor:f=\"id\",records:C,selectionTrigger:L=\"checkbox\",selectedRecords:w,onSelectedRecordsChange:I,selectionColumnClassName:y,selectionColumnStyle:h,isRecordSelectable:g,selectionCheckboxProps:v,allRecordsSelectionCheckboxProps:M={\"aria-label\":\"Select all records\"},getRecordSelectionCheckboxProps:T=(ue,V)=>({\"aria-label\":`Select record ${V+1}`}),sortStatus:P,sortIcons:R,onSortStatusChange:k,horizontalSpacing:H,page:E,onPageChange:x,totalRecords:D,recordsPerPage:O,onRecordsPerPageChange:z,recordsPerPageOptions:A,recordsPerPageLabel:K=\"Records per page\",paginationWithEdges:re,paginationWithControls:le,paginationActiveTextColor:ie,paginationActiveBackgroundColor:se,paginationSize:ce=\"sm\",paginationText:_=({from:ue,to:V,totalRecords:dt})=>`${ue} - ${V} / ${dt}`,paginationWrapBreakpoint:$=\"sm\",getPaginationControlProps:j=ue=>ue===\"previous\"?{\"aria-label\":\"Previous page\"}:ue===\"next\"?{\"aria-label\":\"Next page\"}:{},getPaginationItemProps:J,renderPagination:rt,loaderBackgroundBlur:lt,customLoader:it,loaderSize:st,loaderType:Co,loaderColor:yo,loadingText:Po=\"...\",emptyState:Do,noRecordsText:Ht=\"No records\",noRecordsIcon:wo,highlightOnHover:So,striped:Ro,noHeader:xo,onRowClick:vo,onRowDoubleClick:Mo,onRowContextMenu:ko,onCellClick:Eo,onCellDoubleClick:Lo,onCellContextMenu:Io,onScroll:No,onScrollToTop:Ho,onScrollToBottom:Oo,onScrollToLeft:_o,onScrollToRight:Ao,c:zo,backgroundColor:Wo,borderColor:Bo,rowBorderColor:Vo,stripedColor:Go,highlightOnHoverColor:Fo,rowColor:$o,rowBackgroundColor:Xo,rowExpansion:Uo,rowClassName:Qo,rowStyle:Ko,customRowAttributes:jo,scrollViewportRef:Jo,scrollAreaProps:qo,tableRef:Zo,bodyRef:Yo,m:ea,my:ta,mx:na,mt:oa,mb:aa,ml:ra,mr:la,className:ia,classNames:Se,style:sa,styles:Re,rowFactory:ca,tableWrapper:ct,...ut}){let ue=Vl(()=>u?Le(u):d,[d,u]),{refs:V,onScroll:dt}=un({scrollCallbacks:{onScroll:No,onScrollToTop:Ho,onScrollToBottom:Oo,onScrollToLeft:_o,onScrollToRight:Ao},withRowBorders:ut.withRowBorders}),q=an({key:i,columns:ue,headerRef:V.header,scrollViewportRef:V.scrollViewport}),xe=q.effectiveColumns,ua=It(V.table,Zo),da=It(V.scrollViewport,Jo),Ot=at(null),ma=It(Ot,Yo),pa=hn({rowExpansion:Uo,records:C,idAccessor:f}),{pinnedMap:ve,hasLeftPinned:_t,hasRightPinned:fa}=dn({columns:xe,theadRef:V.header,tbodyRef:Ot,selectionColumnHeaderRef:V.selectionColumnHeader,selectionVisible:!!w,pinFirstColumn:p,pinLastColumn:b}),He=at(!1),At=at(E),mt=at(C),ba=Nt(N=>{He.current=!0,mt.current=C,x(N)},[x,C]);Wl(()=>{At.current!==E&&(He.current=!0,mt.current=C,At.current=E)},[E,C]);let Me=C?.length;Bl(()=>{if(!He.current||c||C===mt.current)return;let N=V.scrollViewport.current;if(!N)return;let de=requestAnimationFrame(()=>{N.scrollTo({top:0,left:0}),He.current=!1});return()=>cancelAnimationFrame(de)},[c,C,V.scrollViewport]);let zt=C?.map(N=>B(N,f)),he=!!w,ke=w?.map(N=>B(N,f)),Wt=zt!==void 0&&ke!==void 0&&ke.length>0,pt=g?C?.filter(g):C,Oe=pt?.map(N=>B(N,f)),_e=Wt&&Oe.every(N=>ke.includes(N)),ga=Wt&&Oe.some(N=>ke.includes(N)),Ta=Nt(()=>{w&&I&&I(_e?w.filter(N=>!Oe.includes(B(N,f))):Be([...w,...pt],N=>B(N,f)))},[_e,f,I,Oe,pt,w]),{lastSelectionChangeIndex:Ae,setLastSelectionChangeIndex:ha}=mn(zt),ft=he&&!_t,Ca={m:ea,my:ta,mx:na,mt:oa,mb:aa,ml:ra,mr:la},ya=Nt(({children:N})=>ct?ct({children:N}):N,[ct]);return F(Tt,{...q,pinnedMap:ve,children:ho(Al,{ref:V.root,...Ca,className:To(\"mantine-datatable\",{\"mantine-datatable-with-border\":e},ia,Se?.root),style:[N=>({...Vt({theme:N,c:zo,backgroundColor:Wo,borderColor:Bo,rowBorderColor:Vo,stripedColor:Go,highlightOnHoverColor:Fo}),borderRadius:N.radius[t]||t,boxShadow:N.shadows[a]||a,height:o,minHeight:r,maxHeight:l}),sa,Re?.root,{position:\"relative\"}],children:[F(go,{viewportRef:da,leftShadowBehind:he||_t,rightShadowBehind:fa,onScrollPositionChange:dt,scrollAreaProps:qo,children:F(ya,{children:ho(zl,{ref:ua,horizontalSpacing:H,className:To(\"mantine-datatable-table\",{[Dn]:n,\"mantine-datatable-vertical-align-top\":s===\"top\",\"mantine-datatable-vertical-align-bottom\":s===\"bottom\",\"mantine-datatable-selection-column-visible\":he,\"mantine-datatable-resizable-columns\":q.hasResizableColumns,\"mantine-datatable-resize-locked\":q.isLocked,\"mantine-datatable-resizing\":q.isResizing},Se?.table),style:{...Re?.table,...q.isLocked?{tableLayout:\"fixed\"}:null,...q.tableWidth!=null?{width:`${q.tableWidth}px`}:null},\"data-striped\":Me&&Ro||void 0,\"data-highlight-on-hover\":So||void 0,...ut,children:[xo?null:F(Tt,{...q,pinnedMap:ve,children:F(Jn,{ref:V.header,selectionColumnHeaderRef:V.selectionColumnHeader,className:Se?.header,style:Re?.header,columns:xe,defaultColumnProps:m,groups:u,pinnedMap:ve,sortStatus:P,sortIcons:R,onSortStatusChange:k,selectionTrigger:L,selectionVisible:he,selectionChecked:_e,selectionIndeterminate:ga&&!_e,onSelectionChange:Ta,selectionCheckboxProps:{...v,...M},selectorCellShadowVisible:ft,selectionColumnClassName:y,selectionColumnStyle:h,withColumnBorders:ut.withColumnBorders})}),F(\"tbody\",{ref:ma,children:Me?C.map((N,de)=>{let bt=B(N,f),gt=ke?.includes(bt)||!1,Bt;return I&&w&&(Bt=Pa=>{if(Pa.nativeEvent.shiftKey&&Ae!==null){let Ce=C.filter(de>Ae?(me,pe)=>pe>=Ae&&pe<=de&&(g?g(me,pe):!0):(me,pe)=>pe>=de&&pe<=Ae&&(g?g(me,pe):!0));I(gt?gn(w,Ce,me=>B(me,f)):Be([...w,...Ce],me=>B(me,f)))}else I(gt?w.filter(Ce=>B(Ce,f)!==bt):Be([...w,N],Ce=>B(Ce,f)));ha(de)}),F(fo,{record:N,index:de,columns:xe,defaultColumnProps:m,pinnedMap:ve,defaultColumnRender:S,selectionTrigger:L,selectionVisible:he,selectionChecked:gt,onSelectionChange:Bt,isRecordSelectable:g,selectionCheckboxProps:v,getSelectionCheckboxProps:T,onClick:vo,onDoubleClick:Mo,onCellClick:Eo,onCellDoubleClick:Lo,onContextMenu:ko,onCellContextMenu:Io,expansion:pa,color:$o,backgroundColor:Xo,className:Qo,style:Ko,customAttributes:jo,selectorCellShadowVisible:ft,selectionColumnClassName:y,selectionColumnStyle:h,idAccessor:f,rowFactory:ca},bt)}):F(Ut,{})}),xe.some(({footer:N})=>N)&&F(Rn,{ref:V.footer,className:Se?.footer,style:Re?.footer,columns:xe,defaultColumnProps:m,pinnedMap:ve,selectionVisible:he,selectorCellShadowVisible:ft})]})})}),!!(E&&Me)&&F(ro,{className:Se?.pagination,style:Re?.pagination,horizontalSpacing:H,fetching:c,page:E,onPageChange:ba,totalRecords:D,recordsPerPage:O,onRecordsPerPageChange:z,recordsPerPageOptions:A,recordsPerPageLabel:K,paginationWithEdges:re,paginationWithControls:le,paginationActiveTextColor:ie,paginationActiveBackgroundColor:se,paginationSize:ce,paginationText:_,paginationWrapBreakpoint:$,getPaginationControlProps:j,getPaginationItemProps:J,noRecordsText:Ht,loadingText:Po,recordsLength:Me,renderPagination:rt}),F(Zn,{fetching:c,backgroundBlur:lt,customContent:it,size:st,type:Co,color:yo}),F(Kt,{icon:wo,text:Ht,active:!c&&!Me,children:Do})]})})}import{TableTr as Fl}from\"@mantine/core\";import{useMergedRef as $l}from\"@mantine/hooks\";import{useEffect as Xl,useRef as Ul}from\"react\";import{jsx as Kl}from\"react/jsx-runtime\";function Ql({className:e,children:t,isDragging:n,ref:o,...r}){let l=Ul(null),a=$l(l,o);return Xl(()=>{if(!l.current||!n)return;let i=l.current.parentElement.parentElement.children[0].children[0];for(let u=0;u<i.children.length;u++){let b=i.children[u].getBoundingClientRect(),m=l.current.children[u];m.style.height=`${b.height}px`,m.style.width=`${b.width}px`,m.style.minWidth=`${b.width}px`,m.style.maxWidth=`${b.width}px`}},[n,t]),Kl(Fl,{\"data-is-dragging\":n,ref:a,...r,className:e,children:t})}export{Gl as DataTable,Ql as DataTableDraggableRow,Ve as calculateColSpan,gn as differenceBy,Le as flattenColumns,xt as getGroupsAtDepth,Rt as getMaxGroupDepth,B as getRecordId,St as getValueAtPath,Pe as humanize,Tn as needsRightBorder,os as reorderRecords,as as swapRecords,Be as uniqBy,an as useDataTableColumns};\n//# sourceMappingURL=index.mjs.map","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Skeleton,\n Stack,\n Stepper,\n Textarea,\n TextInput\n} from \"@mantine/core\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useGetOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\n// @ts-expect-error - FormRule not publicly exported from @mantine/form\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface UpdateModalProps<T> {\n fields: Field<T>[];\n steps?: StepConfig[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n id: string | number;\n}\n\nexport function UpdateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n id,\n steps,\n}: UpdateModalProps<T>) {\n const [active, setActive] = useState<number>(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n\n const { data, isLoading: isDataLoading } = useGetOne<T>(\n apiPath,\n queryKey,\n id,\n );\n const {\n mutateAsync: update,\n isError: isUpdateError,\n error: updateError,\n isPending,\n } = useUpdateOne<T>(apiPath, queryKey);\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (field.defaultValue ?? (false as T[keyof T]))\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) return null;\n const isReq = typeof field.required === \"function\"\n ? field.required(values)\n : !!field.required;\n if (!isReq) return null;\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n useEffect(() => {\n if (data) {\n const values = { ...data } as T;\n fields.forEach((field) => {\n const key = field.id as keyof T;\n if (field.type === \"boolean\" && values[key] === null) {\n values[key] = false as T[keyof T];\n } else if (field.type === \"date\" && values[key]) {\n values[key] = new Date(values[key] as unknown as string) as unknown as T[keyof T];\n } else if (values[key] === null) {\n values[key] = \"\" as T[keyof T];\n }\n });\n form.initialize(values);\n form.setValues(values);\n }\n }, [data]);\n\n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), id } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isUpdateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={updateError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {updateError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n {isDataLoading ? (\n <Stack gap=\"md\">\n <Skeleton height={40} />\n {Array(fields.length)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-field-${index}`} height={35} />\n ))}\n <Group mt=\"md\" justify=\"end\">\n <Skeleton width={100} height={36} />\n <Skeleton width={100} height={36} />\n </Group>\n </Stack>\n ) : (\n <form\n onSubmit={form.onSubmit(async (rawValues) => {\n const values = Object.fromEntries(\n Object.entries(rawValues as Record<string, unknown>).map(([k, v]) => [k, v === \"\" ? undefined : v]),\n ) as unknown as typeof rawValues;\n await update({\n ...values,\n id,\n } as T);\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isUpdateError) {\n setActive(active + 1);\n }\n } else {\n if (!isUpdateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n )}\n </>\n );\n}\n","import { Alert, Button, Group, Text } from \"@mantine/core\";\nimport { BaseEntity, useDeleteOne } from \"../Hooks/useApi\";\nimport { useEffect, useState } from \"react\";\n\nexport interface DeleteModalProps<T> {\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n selectedRecords: T[];\n}\n\nexport function DeleteModal<T extends BaseEntity>({\n queryKey,\n apiPath,\n onClose,\n selectedRecords,\n}: DeleteModalProps<T>) {\n const {\n mutateAsync: del,\n isError: isDeleteError,\n error: deleteError,\n isPending: isDeletePending,\n } = useDeleteOne(apiPath, queryKey);\n\n const [records, setRecords] = useState<T[]>(selectedRecords);\n const [isDeleting, setIsDeleting] = useState(false);\n const isLoading = isDeleting || isDeletePending;\n\n useEffect(() => {\n if (!records.length) {\n onClose();\n }\n }, [onClose, records]);\n\n if (!records.length) {\n return <></>;\n }\n\n return (\n <>\n {isDeleteError && deleteError.message && (\n <Alert variant=\"outline\" color=\"red\" title={deleteError.name}>\n {deleteError.message}\n </Alert>\n )}\n\n <Text>\n {records.length === 1\n ? `Soll ${records.length} Eintrag wirklich gelöscht werden?`\n : `Sollen ${records.length} Einträge wirklich gelöscht werden?`}\n </Text>\n <Group mt=\"md\" justify=\"end\">\n <Button onClick={onClose} variant=\"outline\" disabled={isLoading}>\n Abbrechen\n </Button>\n <Button\n color=\"red\"\n loading={isLoading}\n onClick={async () => {\n setIsDeleting(true);\n try {\n await Promise.all(records.map((record) => del(record.id)));\n setRecords([]);\n } finally {\n setIsDeleting(false);\n }\n }}\n >\n Löschen\n </Button>\n </Group>\n </>\n );\n}\n","import { useState } from \"react\";\n\nexport function usePersistentState<T>(\n initialValue: T,\n key: string,\n): [T, (value: T) => void] {\n const [state, setState] = useState<T>(() => {\n const storedValue = localStorage.getItem(`use_persistent_storage_${key}`);\n return storedValue ? (JSON.parse(storedValue) as T) : initialValue;\n });\n\n const setStateWrapper = (newState: T) => {\n setState(newState);\n localStorage.setItem(\n `use_persistent_storage_${key}`,\n JSON.stringify(newState),\n );\n };\n\n return [state, setStateWrapper];\n}\n","type ColumnType = \"string\" | \"number\" | \"date\" | \"mixed\";\n\nconst DATE_PATTERNS = [\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/,\n /^\\d{4}-\\d{2}-\\d{2}$/,\n /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/,\n /^\\d{1,2}\\.\\d{1,2}\\.\\d{4}$/,\n];\n\nconst detectColumnType = <T>(data: T[], field: keyof T): ColumnType => {\n const nonNullValues = data\n .map((item) => item[field])\n .filter((value) => value !== null && value !== undefined && value !== \"\");\n\n if (nonNullValues.length === 0) return \"string\";\n\n const sample = nonNullValues.slice(0, 100);\n const types = { string: 0, number: 0, date: 0 };\n\n sample.forEach((value) => {\n if (typeof value === \"number\") {\n types.number++;\n } else if (typeof value === \"string\") {\n const trimmed = value.trim();\n if (trimmed !== \"\" && !isNaN(Number(trimmed)) && !isNaN(parseFloat(trimmed))) {\n types.number++;\n return;\n }\n if (DATE_PATTERNS.some((pattern) => pattern.test(trimmed))) {\n const dateValue = new Date(trimmed);\n if (!isNaN(dateValue.getTime())) {\n types.date++;\n return;\n }\n }\n types.string++;\n } else if (value instanceof Date) {\n types.date++;\n } else {\n types.string++;\n }\n });\n\n const total = types.string + types.number + types.date;\n if (types.date / total >= 0.6) return \"date\";\n if (types.number / total >= 0.6) return \"number\";\n if (types.string / total >= 0.6) return \"string\";\n return \"mixed\";\n};\n\nfunction toSortValue(value: unknown, columnType: ColumnType): string | number | null {\n switch (columnType) {\n case \"date\":\n if (typeof value === \"string\") {\n const d = new Date(value.trim());\n return isNaN(d.getTime()) ? null : d.getTime();\n }\n if (value instanceof Date) return value.getTime();\n return null;\n case \"number\":\n if (typeof value === \"number\") return value;\n const num = parseFloat(String(value).trim());\n return isNaN(num) ? null : num;\n case \"string\":\n return (typeof value === \"string\" ? value : String(value)).toLowerCase().trim();\n default:\n return String(value).toLowerCase().trim();\n }\n}\n\nexport const sortData = <T>(\n data: T[],\n field: keyof T,\n direction: \"asc\" | \"desc\" = \"asc\",\n): T[] => {\n if (!data || data.length === 0) return [];\n\n const columnType = detectColumnType(data, field);\n\n return [...data].sort((a, b) => {\n const aValue = a[field];\n const bValue = b[field];\n\n const aIsNull = aValue === null || aValue === undefined || aValue === \"\";\n const bIsNull = bValue === null || bValue === undefined || bValue === \"\";\n\n if (aIsNull && bIsNull) return 0;\n if (aIsNull) return direction === \"asc\" ? -1 : 1;\n if (bIsNull) return direction === \"asc\" ? 1 : -1;\n\n const aSortValue = toSortValue(aValue, columnType);\n const bSortValue = toSortValue(bValue, columnType);\n\n if (aSortValue === null && bSortValue === null) return 0;\n if (aSortValue === null) return direction === \"asc\" ? 1 : -1;\n if (bSortValue === null) return direction === \"asc\" ? -1 : 1;\n\n if (aSortValue < bSortValue) return direction === \"asc\" ? -1 : 1;\n if (aSortValue > bSortValue) return direction === \"asc\" ? 1 : -1;\n return 0;\n });\n};\n","import { ActionIcon, Box, Checkbox, Collapse, Divider, Group, Menu, Pagination, Select, Stack, Text } from \"@mantine/core\";\nimport { BaseEntity } from \"../Hooks/useApi\";\nimport { Action, Field } from \"./DataTableInner\";\nimport React, { useState } from \"react\";\nimport { IconChevronDown, IconDotsVertical, IconSortAscending, IconSortDescending } from \"@tabler/icons-react\";\n\ninterface SortConfig {\n field: string;\n direction: \"asc\" | \"desc\";\n onSortChange: (field: string, direction: \"asc\" | \"desc\") => void;\n}\n\ninterface MobileCardListProps<T extends BaseEntity> {\n records: T[];\n fields: Field<T>[];\n selection?: boolean;\n selectedRecords?: T[];\n onSelectedRecordsChange?: (records: T[]) => void;\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n actions?: Action<T>[];\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n pagination?: {\n totalRecords: number;\n recordsPerPage: number;\n page: number;\n onPageChange: (page: number) => void;\n recordsPerPageOptions?: number[];\n onRecordsPerPageChange?: (size: number) => void;\n };\n sort?: SortConfig;\n rowExpansion?: {\n content: (record: T) => React.ReactNode;\n };\n}\n\nfunction getNestedValue(record: Record<string, unknown>, accessor: string): unknown {\n return accessor.split(\".\").reduce<unknown>((obj, key) => {\n if (obj && typeof obj === \"object\" && key in (obj as Record<string, unknown>)) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, record);\n}\n\nfunction renderFieldValue<T extends BaseEntity>(record: T, field: Field<T>): React.ReactNode {\n const column = field.column;\n\n if (column.render) {\n return column.render(record, 0);\n }\n\n const accessor = (column.accessor ?? field.id) as string;\n const value = getNestedValue(record as unknown as Record<string, unknown>, accessor);\n\n if (value === null || value === undefined) {\n return <Text c=\"dimmed\">–</Text>;\n }\n\n if (typeof value === \"boolean\") {\n return <Text fz=\"sm\">{value ? \"Ja\" : \"Nein\"}</Text>;\n }\n\n return <Text fz=\"sm\">{String(value)}</Text>;\n}\n\nfunction MobileCardRow<T extends BaseEntity>({ field, record }: { field: Field<T>; record: T }) {\n return (\n <Group wrap=\"nowrap\" justify=\"space-between\" align=\"center\" py=\"xs\" px=\"sm\">\n <Text fw={700} fz=\"sm\">\n {(field.column.title as string) ?? field.id}\n </Text>\n <Box ta=\"right\" fz=\"sm\">\n {renderFieldValue(record, field)}\n </Box>\n </Group>\n );\n}\n\nexport function MobileCardList<T extends BaseEntity>({\n records,\n fields,\n selection,\n selectedRecords = [],\n onSelectedRecordsChange,\n onRowClick,\n actions,\n canUpdate,\n canDelete,\n pagination,\n sort,\n rowExpansion,\n}: MobileCardListProps<T>) {\n const [expandedIds, setExpandedIds] = useState<Set<string | number>>(new Set());\n\n const toggleExpansion = (id: string | number) => {\n setExpandedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n };\n const listFields = fields.filter((f) => f.list && f.column);\n\n const sortOptions = listFields\n .filter((f) => f.column.sortable !== false)\n .reduce<{ value: string; label: string }[]>((acc, f) => {\n const value = (f.column.accessor ?? f.id) as string;\n if (!acc.some((o) => o.value === value)) {\n acc.push({ value, label: (f.column.title as string) ?? f.id });\n }\n return acc;\n }, []);\n\n const isSelected = (record: T) =>\n selectedRecords.some((r) => r.id === record.id);\n\n const toggleSelection = (record: T) => {\n if (!onSelectedRecordsChange) return;\n if (isSelected(record)) {\n onSelectedRecordsChange(selectedRecords.filter((r) => r.id !== record.id));\n } else {\n onSelectedRecordsChange([...selectedRecords, record]);\n }\n };\n\n const handleCardClick = (record: T, index: number, event: React.MouseEvent) => {\n if (onRowClick) {\n onRowClick({ record, index, event });\n } else if (selection) {\n toggleSelection(record);\n }\n };\n\n if (records.length === 0) {\n return (\n <Text c=\"dimmed\" ta=\"center\" py=\"xl\">\n Keine Einträge gefunden\n </Text>\n );\n }\n\n return (\n <Stack gap=\"sm\" my=\"md\">\n {sort && sortOptions.length > 0 && (\n <Group gap=\"xs\" wrap=\"nowrap\">\n <Select\n data={sortOptions}\n value={sort.field}\n onChange={(value) => value && sort.onSortChange(value, sort.direction)}\n allowDeselect={false}\n style={{ flex: 1 }}\n />\n <ActionIcon\n variant=\"filled\"\n size=\"input-sm\"\n onClick={() => sort.onSortChange(sort.field, sort.direction === \"asc\" ? \"desc\" : \"asc\")}\n >\n {sort.direction === \"asc\" ? <IconSortAscending size={18} /> : <IconSortDescending size={18} />}\n </ActionIcon>\n </Group>\n )}\n\n {records.map((record, index) => {\n const selected = isSelected(record);\n const clickable = !!onRowClick || !!selection;\n\n const recordKey = record.id ?? index;\n const expanded = expandedIds.has(recordKey);\n\n return (\n <React.Fragment key={recordKey}>\n <Box\n bg={selected ? \"var(--mantine-primary-color-light)\" : \"var(--mantine-color-body)\"}\n bd={!selected ? \"1px solid var(--mantine-color-default-border)\" : undefined}\n style={{\n borderRadius: \"var(--mantine-radius-md)\",\n overflow: \"hidden\",\n }}\n >\n <Box\n w=\"100%\"\n style={{ cursor: clickable || rowExpansion ? \"pointer\" : \"default\" }}\n onClick={(e: React.MouseEvent) => {\n if (rowExpansion && !onRowClick) {\n toggleExpansion(recordKey);\n } else {\n handleCardClick(record, index, e);\n }\n }}\n >\n {(selection || rowExpansion || (actions && actions.length > 0)) && (\n <Group px=\"sm\" pt=\"sm\" justify=\"space-between\">\n <Group gap=\"xs\">\n {rowExpansion && (\n <Box\n c=\"var(--mantine-primary-color-filled)\"\n style={{ cursor: \"pointer\", display: \"flex\", alignItems: \"center\" }}\n onClick={(e: React.MouseEvent) => { e.stopPropagation(); toggleExpansion(recordKey); }}\n >\n <IconChevronDown\n size={16}\n style={{ transform: expanded ? \"rotate(0deg)\" : \"rotate(-90deg)\", transition: \"transform 200ms\" }}\n />\n </Box>\n )}\n {selection && (\n <Checkbox\n checked={selected}\n onChange={() => toggleSelection(record)}\n onClick={(e) => e.stopPropagation()}\n />\n )}\n </Group>\n {actions && actions.length > 0 && (() => {\n const filteredActions = actions.filter((action) => {\n if (action.label === \"Bearbeiten\" && canUpdate && !canUpdate(record)) return false;\n if (action.label === \"Löschen\" && canDelete && !canDelete(record)) return false;\n return true;\n });\n if (filteredActions.length === 0) return null;\n return (\n <Menu shadow=\"md\" position=\"bottom-end\">\n <Menu.Target>\n <ActionIcon\n variant=\"subtle\"\n color=\"gray\"\n size=\"sm\"\n onClick={(e: React.MouseEvent) => e.stopPropagation()}\n >\n <IconDotsVertical size={16} />\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n {filteredActions.map((action, actionIndex) => (\n <Menu.Item\n key={`card_action_${actionIndex}`}\n leftSection={action.icon}\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n action.onClick([record]);\n }}\n >\n {action.label}\n </Menu.Item>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n })()}\n </Group>\n )}\n {listFields.map((field, fieldIndex) => (\n <React.Fragment key={field.id}>\n {fieldIndex > 0 && <Divider />}\n <MobileCardRow field={field} record={record} />\n </React.Fragment>\n ))}\n </Box>\n {rowExpansion && (\n <Collapse expanded={expanded}>\n <Divider />\n <Box px=\"sm\" py=\"sm\">\n {rowExpansion.content(record)}\n </Box>\n </Collapse>\n )}\n </Box>\n </React.Fragment>\n );\n })}\n\n {pagination && pagination.totalRecords > pagination.recordsPerPage && (\n <Stack gap=\"xs\" mt=\"sm\">\n <Group justify=\"center\">\n <Pagination\n total={Math.ceil(pagination.totalRecords / pagination.recordsPerPage)}\n value={pagination.page}\n onChange={pagination.onPageChange}\n size=\"sm\"\n />\n </Group>\n {pagination.recordsPerPageOptions && pagination.onRecordsPerPageChange && (\n <Group justify=\"center\" gap=\"xs\">\n <Text fz=\"xs\" c=\"dimmed\">Einträge pro Seite:</Text>\n <Select\n data={pagination.recordsPerPageOptions.map((o) => ({ value: String(o), label: String(o) }))}\n value={String(pagination.recordsPerPage)}\n onChange={(v) => v && pagination.onRecordsPerPageChange!(Number(v))}\n allowDeselect={false}\n size=\"xs\"\n w={70}\n />\n </Group>\n )}\n </Stack>\n )}\n </Stack>\n );\n}\n","import { ActionIcon, Alert, Box, Button, Group, Menu, Modal, Skeleton, Stack, Tabs, Title } from \"@mantine/core\";\nimport { BaseEntity, useGetAll } from \"../Hooks/useApi\";\nimport React, { useEffect, useState } from \"react\";\nimport { CreateModal } from \"./CreateModal\";\nimport { IconCaretDownFilled, IconInfoCircle, IconPencil, IconRefresh, IconTrash } from \"@tabler/icons-react\";\nimport { DataTable as MantineDataTable, DataTableColumn, DataTableSortStatus } from \"mantine-datatable\";\nimport { UpdateModal } from \"./UpdateModal.tsx\";\nimport { DeleteModal } from \"./DeleteModal.tsx\";\nimport { useDataTable } from \"../Hooks/useDataTable.ts\";\nimport { usePersistentState } from \"../Hooks/usePersistentState.ts\";\nimport { sortData } from \"../utils/sort\";\nimport { MobileCardList } from \"./MobileCardList\";\n\ntype DatesRangeValue = [string | null, string | null];\n\ninterface DateFilter {\n id: string | number;\n type: \"date\";\n value?: DatesRangeValue;\n}\n\ninterface StringFilter {\n id: string | number;\n type: \"query\";\n value?: string | string[];\n}\n\ninterface BooleanFilter {\n id: string | number;\n type: \"boolean\";\n value?: boolean;\n}\n\ntype Filter = DateFilter | StringFilter | BooleanFilter;\n\nexport type FieldType =\n | \"text\"\n | \"number\"\n | \"boolean\"\n | \"custom\"\n | \"date\"\n | \"textarea\";\n\nexport interface Field<T> {\n id: string;\n defaultValue?: T[keyof T];\n required?: boolean | ((values: Partial<T>) => boolean);\n step?: number;\n list: boolean;\n create: boolean;\n update: boolean;\n delete: boolean;\n type?: FieldType;\n placeholder?: string;\n conditional?: (values: Partial<T>) => boolean;\n render?: (\n values: T,\n setValues: (values: Partial<T>) => void,\n hideButtons: (value: boolean) => void,\n validationProps?: {\n error?: string;\n required?: boolean;\n },\n ) => React.ReactNode;\n column: DataTableColumn<T>;\n}\n\nexport interface Action<T extends BaseEntity> {\n icon?: React.ReactNode;\n label: string;\n onClick: (records: T[]) => void;\n disabled?: (records: T[]) => boolean;\n}\n\nexport interface TabOption {\n value: string;\n label: string;\n icon?: React.ReactNode;\n queryParams?: Record<string, string | number | boolean | null>;\n apiPath?: string;\n mutationApiPath?: string;\n}\n\nexport interface StepConfig {\n label: string;\n description?: string;\n}\n\nexport interface DataTableProps<T extends BaseEntity> {\n title?: string | React.ReactNode;\n queryKey: (string | number)[];\n connectedQueryKeys?: (string | number)[][];\n apiPath: string;\n mutationApiPath?: string;\n queryParams?: Record<string, string | number | boolean | null>;\n filters?: Filter[];\n buttons?: React.ReactNode[];\n createButtonText?: string;\n actions?: Action<T>[];\n selection?: boolean;\n pagination?: boolean;\n steps?: StepConfig[];\n fields: Field<T>[];\n defaultSort?: {\n field: string;\n direction: \"asc\" | \"desc\";\n };\n onSortChange?: (field: string, direction: \"asc\" | \"desc\") => void;\n tabs?: TabOption[];\n defaultTab?: string;\n activeTab?: string | null;\n onActiveTabChange?: (tabValue: string | null) => void;\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n showRefresh?: boolean;\n rowExpansion?: {\n allowMultiple?: boolean;\n content: (record: T) => React.ReactNode;\n expanded?: {\n recordIds: unknown[];\n onRecordIdsChange: (recordIds: unknown[]) => void;\n };\n };\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n mobileCards?: boolean;\n}\n\nconst PAGE_SIZES = [10, 15, 50, 100, 500];\n\nexport function DataTableInner<T extends BaseEntity>({\n title,\n queryKey,\n connectedQueryKeys,\n apiPath,\n mutationApiPath,\n buttons,\n fields,\n selection,\n pagination,\n filters,\n actions,\n steps,\n defaultSort,\n onSortChange,\n createButtonText,\n queryParams,\n tabs,\n defaultTab,\n activeTab: controlledActiveTab,\n onActiveTabChange,\n canUpdate,\n canDelete,\n showRefresh = true,\n rowExpansion,\n onRowClick,\n mobileCards = false,\n}: DataTableProps<T>) {\n const [internalActiveTab, setInternalActiveTab] = useState<string | null>(\n defaultTab || (tabs && tabs.length > 0 ? tabs[0].value : null),\n );\n\n const activeTab =\n controlledActiveTab !== undefined ? controlledActiveTab : internalActiveTab;\n\n const handleTabChange = (value: string | null) => {\n if (controlledActiveTab === undefined) {\n setInternalActiveTab(value);\n }\n if (onActiveTabChange) {\n onActiveTabChange(value);\n }\n };\n\n const currentTab = tabs?.find((tab) => tab.value === activeTab);\n const currentTabParams = currentTab?.queryParams || {};\n const effectiveApiPath = currentTab?.apiPath ?? apiPath;\n const effectiveMutationApiPath = currentTab?.mutationApiPath ?? mutationApiPath ?? effectiveApiPath;\n const allQueryParams = { ...queryParams, ...currentTabParams };\n\n const queryString: string = allQueryParams\n ? \"?\" +\n Object.entries(allQueryParams)\n .filter(([, value]) => value !== null && value !== undefined)\n .map(([key, value]) => `${key}=${encodeURIComponent(value ?? \"\")}`)\n .join(\"&\")\n : \"\";\n\n const effectiveQueryKey = activeTab ? [...queryKey, activeTab] : queryKey;\n\n const {\n data: allData,\n isLoading,\n isError,\n isRefetching,\n refetch,\n } = useGetAll<T>(effectiveApiPath + queryString, effectiveQueryKey);\n\n const { queryClient } = useDataTable();\n\n useEffect(() => {\n if (!allData || !Array.isArray(allData)) return;\n\n connectedQueryKeys?.forEach((connectedQueryKey) =>\n queryClient.invalidateQueries({ queryKey: connectedQueryKey }),\n );\n }, [allData, connectedQueryKeys, queryClient]);\n\n const filteredData =\n (!allData || !Array.isArray(allData))\n ? []\n : (!filters || filters.length === 0)\n ? allData\n : allData.filter((record: T) => filters.every((filter) => {\n if (filter.value === undefined) return true;\n\n const key = filter.id as keyof T;\n if (filter.type === \"query\") {\n const recordValue = record[key];\n if (Array.isArray(filter.value)) {\n if (Array.isArray(recordValue)) {\n return recordValue.some((item: unknown) => {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return filter.value!.includes(String(item));\n }\n if (item && typeof item === \"object\") {\n const obj = item as Record<string, unknown>;\n if (\"id\" in obj && filter.value!.includes(obj.id as string)) {\n return true;\n }\n for (const prop in obj) {\n const propValue = obj[prop];\n if (\n typeof propValue === \"string\" &&\n filter.value!.includes(propValue)\n ) {\n return true;\n }\n if (\n propValue &&\n typeof propValue === \"object\" &&\n \"id\" in (propValue as Record<string, unknown>)\n ) {\n if (filter.value!.includes((propValue as Record<string, unknown>).id as string)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n }\n if (\n recordValue &&\n typeof recordValue === \"object\" &&\n \"id\" in recordValue\n ) {\n return filter.value.includes((recordValue as Record<string, unknown>).id as string);\n }\n return false;\n }\n return (\n typeof recordValue === \"string\" &&\n recordValue.includes(filter.value)\n );\n } else if (filter.type === \"date\") {\n const dateValue = filter.value as DatesRangeValue;\n if (!dateValue) return true;\n\n const [from, to] = dateValue;\n if (!from && !to) return true;\n const recordDate = record[key];\n if (typeof recordDate === \"string\") {\n const recordDateStr = recordDate.split(\" \")[0];\n if (from && to) {\n return recordDateStr >= from && recordDateStr <= to;\n } else if (from && !to) {\n return recordDateStr >= from;\n } else if (!from && to) {\n return recordDateStr <= to;\n }\n }\n return true;\n } else if (filter.type === \"boolean\") {\n const recordValue = record[key];\n return recordValue === filter.value;\n }\n return true;\n }));\n\n const [sortStatus, setSortStatus] = useState<DataTableSortStatus<T>>({\n columnAccessor: defaultSort?.field ?? fields[0].id,\n direction: defaultSort?.direction ?? \"desc\",\n });\n \n const handleSortChange = (newSortStatus: DataTableSortStatus<T>) => {\n setSortStatus(newSortStatus);\n if (onSortChange) {\n onSortChange(String(newSortStatus.columnAccessor), newSortStatus.direction);\n }\n };\n\n const sortedData = sortData(\n filteredData,\n sortStatus.columnAccessor as keyof T,\n sortStatus.direction,\n );\n\n const [pageSize, setPageSize] = usePersistentState(\n PAGE_SIZES[1],\n \"mantine-table-page-size\",\n );\n const [page, setPage] = useState(1);\n\n const records = pagination ? sortedData.slice((page - 1) * pageSize, page * pageSize) : sortedData;\n\n const [selectedRecords, setSelectedRecords] = useState<T[]>([]);\n\n useEffect(() => {\n setSelectedRecords([]);\n }, [activeTab]);\n\n const [createModalOpen, setCreateModalOpen] = useState(false);\n const [updateModalOpen, setUpdateModalOpen] = useState(false);\n const [deleteModalOpen, setDeleteModalOpen] = useState(false);\n\n const hasUpdateField = fields.some((field) => field.update);\n const hasDeleteField = fields.some((field) => field.delete);\n\n const mobileActions: Action<T>[] = [];\n if (hasUpdateField) {\n mobileActions.push({\n icon: <IconPencil size={14} />,\n label: \"Bearbeiten\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setUpdateModalOpen(true);\n },\n });\n }\n if (actions) {\n mobileActions.push(...actions);\n }\n if (hasDeleteField) {\n mobileActions.push({\n icon: <IconTrash size={14} />,\n label: \"Löschen\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setDeleteModalOpen(true);\n },\n });\n }\n\n return (\n <>\n <Group gap=\"xs\" justify={title ? \"space-between\" : \"end\"} align=\"center\" wrap=\"wrap\">\n {title &&\n (typeof title === \"string\" ? (\n <Title order={4}>{title}</Title>\n ) : (\n title\n ))}\n <Group align=\"center\" gap=\"xs\" wrap=\"wrap\" justify=\"end\" style={{ marginLeft: \"auto\" }}>\n {showRefresh && (\n <ActionIcon\n variant=\"subtle\"\n onClick={() => refetch()}\n aria-label=\"Neuladen\"\n >\n <IconRefresh />\n </ActionIcon>\n )}\n {(fields.some((field) => field.update) || selection) && (() => {\n const hasUpdateAction = fields.find((field) => field.update) && \n (!canUpdate || (selectedRecords.length > 0 && canUpdate(selectedRecords[0])));\n const hasDeleteAction = fields.find((field) => field.delete) && \n (!canDelete || (selectedRecords.length > 0 && canDelete(selectedRecords[0])));\n const hasCustomActions = (actions ?? []).length > 0;\n const hasAnyAction = hasUpdateAction || hasDeleteAction || hasCustomActions;\n\n return (\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n <Menu shadow=\"md\">\n <Menu.Target>\n <Button\n variant=\"outline\"\n rightSection={<IconCaretDownFilled size={14} />}\n disabled={!selectedRecords.length || !hasAnyAction}\n >\n Aktionen\n </Button>\n </Menu.Target>\n <Menu.Dropdown>\n {hasUpdateAction && (\n <Menu.Item\n leftSection={<IconPencil size={14} />}\n onClick={() => setUpdateModalOpen(true)}\n disabled={selectedRecords.length !== 1}\n >\n Bearbeiten\n </Menu.Item>\n )}\n {(actions ?? []).map((action, index) => (\n <Menu.Item\n {...(action.icon && { leftSection: action.icon })}\n key={`custom_action_${index}`}\n onClick={() => action.onClick(selectedRecords)}\n disabled={action.disabled?.(selectedRecords) ?? false}\n >\n {action.label}\n </Menu.Item>\n ))}\n {hasDeleteAction && (\n <Menu.Item\n leftSection={<IconTrash size={14} />}\n onClick={() => setDeleteModalOpen(true)}\n color=\"red\"\n >\n Löschen\n </Menu.Item>\n )}\n </Menu.Dropdown>\n </Menu>\n </Box>\n );\n })()}\n {fields.find((field) => field.create) && (\n <Button\n onClick={() => setCreateModalOpen(true)}\n disabled={isLoading}\n >\n {createButtonText ?? \"Erstellen\"}\n </Button>\n )}\n {buttons}\n </Group>\n </Group>\n\n {tabs && tabs.length > 0 && (\n <Tabs value={activeTab} onChange={handleTabChange} mt=\"md\">\n <Tabs.List>\n {tabs.map((tab) => (\n <Tabs.Tab\n key={tab.value}\n value={tab.value}\n leftSection={tab.icon}\n >\n {tab.label}\n </Tabs.Tab>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n\n {isError && (\n <Alert\n mt=\"md\"\n variant=\"light\"\n color=\"red\"\n title=\"Es ist ein Fehler aufgetreten.\"\n icon={<IconInfoCircle />}\n >\n Bitte versuche es später erneut oder sende eine Nachricht an unseren\n Support.\n </Alert>\n )}\n\n {(isLoading || isRefetching) && (\n <Stack my=\"md\">\n <Skeleton height={40} />\n {Array(5)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-${index}`} height={35} />\n ))}\n </Stack>\n )}\n\n {!isLoading && !isRefetching && (\n <>\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n {/* @ts-expect-error - conditional pagination spread not compatible with strict prop types */}\n <MantineDataTable\n my=\"md\"\n striped\n highlightOnHover\n minHeight={150}\n fetching={isError}\n records={records}\n sortStatus={sortStatus}\n onSortStatusChange={handleSortChange}\n {...(selection && {\n selectedRecords,\n onSelectedRecordsChange: setSelectedRecords,\n })}\n {...(pagination &&\n records.length && {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n onPageChange: setPage,\n page,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: setPageSize,\n recordsPerPageLabel: \"Einträge pro Seite\",\n })}\n {...(rowExpansion && {\n rowExpansion: {\n allowMultiple: rowExpansion.allowMultiple ?? false,\n content: ({ record }: { record: T }) => rowExpansion.content(record),\n ...(rowExpansion.expanded && {\n expanded: rowExpansion.expanded,\n }),\n },\n })}\n columns={fields.map((field) => field.column)}\n noRecordsText=\"Keine Einträge gefunden\"\n onRowClick={onRowClick}\n {...(onRowClick && { style: { cursor: \"pointer\" } })}\n />\n </Box>\n\n {mobileCards && (\n <Box hiddenFrom=\"sm\">\n <MobileCardList\n records={records}\n fields={fields}\n selection={selection}\n selectedRecords={selectedRecords}\n onSelectedRecordsChange={setSelectedRecords}\n onRowClick={onRowClick}\n sort={{\n field: String(sortStatus.columnAccessor),\n direction: sortStatus.direction,\n onSortChange: (field, direction) => {\n handleSortChange({ columnAccessor: field as keyof T, direction });\n },\n }}\n {...(pagination && records.length && {\n pagination: {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n page,\n onPageChange: setPage,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: (size: number) => { setPageSize(size); setPage(1); },\n },\n })}\n {...(rowExpansion && {\n rowExpansion: { content: rowExpansion.content },\n })}\n {...(mobileActions.length > 0 && {\n actions: mobileActions,\n canUpdate,\n canDelete,\n })}\n />\n </Box>\n )}\n\n\n </>\n )}\n\n <Modal\n opened={updateModalOpen}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Bearbeiten\"}\n >\n {selectedRecords.length > 0 && (\n <UpdateModal<T>\n fields={fields.filter((field) => field.update)}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n id={selectedRecords[0].id}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n steps={steps}\n />\n )}\n </Modal>\n\n {selectedRecords.length > 0 && (\n <Modal\n opened={deleteModalOpen}\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Löschen\"}\n >\n <DeleteModal<T>\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n selectedRecords={selectedRecords}\n />\n </Modal>\n )}\n\n <Modal\n opened={createModalOpen}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n title={title ?? \"Anlegen\"}\n >\n <CreateModal<T>\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n fields={fields.filter((field) => field.create)}\n steps={steps}\n />\n </Modal>\n </>\n );\n}\n","import { BaseEntity } from \"../Hooks/useApi.ts\";\nimport { DataTableInner, DataTableProps } from \"./DataTableInner.tsx\";\n\nexport function DataTable<T extends BaseEntity>(props: DataTableProps<T>) {\n return <DataTableInner<T> {...props} />;\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,25,26],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","names":["#setup","#cleanup","#focused","#providerCalled","#provider","#setup","#cleanup","#online","#client","#selectError","#currentThenable","#currentQuery","#executeFetch","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","#updateQuery","#updateStaleTimeout","#computeRefetchInterval","#currentRefetchInterval","#updateRefetchInterval","#currentResult","#currentResultOptions","#currentResultState","#trackedProps","#staleTimeoutId","#refetchIntervalId","#currentQueryInitialState","#lastQueryWithDefinedData","#selectFn","#selectResult","#notify","#client","#updateResult","#currentMutation","#notify","#currentResult","#mutateOptions","React","React","React","React","React","Da","wa","$t","Sa","Xt","Ra","Ee","We","xa","ka","Ma","va","jt","Ea","qt","Ia","Yt","Z","Ha","en","Oa","ht","nn","_a","Ct","Wa","za","Ba","Y","Ga","Pt","Va","Xa","Fa","Qa","Ua","Ja","ja","Ka","Ya","fn","er","tr","nr","yn","Cn","or","lr","ar","rr","sr","ir","vt","cr","dr","mr","ur","Fe","br","pr","fr","gr","vn","Tr","kn","wr","Dr","Sr","Cr","$e","Pr","hr","yr","Rr","Xe","xr","Ue","vr","Qe","Mr","Mt","On","Nr","Lr","Ir","_n","kt","U","kr","je","Er","Or","Wn","Hr","zn","_r","Ar","Je","zr","qe","Wr","be","Xr","$r","Et","Fr","Ye","Gr","Vr","G","Ze","Xn","Br","Qn","Qr","Kr","Ur","ae","ol","et","tl","nl","jn","qr","Yr","Zr","el","Jr","jr","qn","rl","il","ll","sl","Lt","Ie","no","ul","ge","eo","dl","fl","cl","ml","pl","bl","hl","Te","Cl","Tl","ao","gl","Pl","yl","Sl","Dl","wl","Ml","vl","Ne","io","xl","Rl","co","El","Ll","kl","po","mo","tt","Il","Nl","_l","Ol","ot","bo","nt","Vl","It","at","Nt","F","ho","Al","To","zl"],"sources":["../node_modules/@tanstack/query-core/build/modern/subscribable.js","../node_modules/@tanstack/query-core/build/modern/focusManager.js","../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../node_modules/@tanstack/query-core/build/modern/utils.js","../node_modules/@tanstack/query-core/build/modern/environmentManager.js","../node_modules/@tanstack/query-core/build/modern/thenable.js","../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../node_modules/@tanstack/query-core/build/modern/retryer.js","../node_modules/@tanstack/query-core/build/modern/query.js","../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../node_modules/@tanstack/query-core/build/modern/mutation.js","../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../node_modules/@tanstack/react-query/build/modern/suspense.js","../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../node_modules/@tanstack/react-query/build/modern/useQuery.js","../node_modules/@tanstack/react-query/build/modern/useMutation.js","../src/Context/DataTableContext.tsx","../src/Hooks/useDataTable.ts","../src/Hooks/useApi.ts","../src/DataTable/CreateModal.tsx","../node_modules/clsx/dist/clsx.mjs","../node_modules/mantine-datatable/dist/index.mjs","../src/DataTable/UpdateModal.tsx","../src/DataTable/DeleteModal.tsx","../src/Hooks/usePersistentState.ts","../src/utils/sort.ts","../src/DataTable/MobileCardList.tsx","../src/DataTable/DataTableInner.tsx","../src/DataTable/DataTable.tsx"],"sourcesContent":["// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveQueryBoolean(option, query) {\n return typeof option === \"function\" ? option(query) : option;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/environmentManager.ts\nimport { isServer } from \"./utils.js\";\nvar environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n})();\nexport {\n environmentManager\n};\n//# sourceMappingURL=environmentManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar Query = class extends Removable {\n #queryType;\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get queryType() {\n return this.#queryType;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n if (options?._type) {\n this.#queryType = options._type;\n }\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state) {\n this.#dispatch({ type: \"setState\", state });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveQueryBoolean(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n const behavior = this.#queryType === \"infinite\" ? infiniteQueryBehavior(\n this.options.pages\n ) : this.options.behavior;\n behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && resolveQueryBoolean(options.retryOnMount, query) === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { environmentManager, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n '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'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.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`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","import { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { createContext, ReactNode } from \"react\";\n\nexport type GetHeaders = () => Promise<HeadersInit>;\n\nexport interface State {\n baseUrl: string;\n queryClient: QueryClient;\n getHeaders: GetHeaders;\n}\n\ninterface DataTableContextProps {\n baseUrl: string;\n queryClient: QueryClient;\n getHeaders: GetHeaders;\n children: ReactNode | ReactNode[];\n}\n\nexport const DataTableContext = createContext<State | undefined>(undefined);\n\nconst defaultGetHeaders: GetHeaders = async () => ({\n \"Content-Type\": \"application/json\",\n});\n\nexport function DataTableProvider({\n children,\n baseUrl,\n queryClient,\n getHeaders = defaultGetHeaders,\n}: DataTableContextProps) {\n return (\n <DataTableContext.Provider value={{ baseUrl, queryClient, getHeaders }}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </DataTableContext.Provider>\n );\n}\n","import { useContext } from \"react\";\nimport { DataTableContext, State } from \"../Context/DataTableContext.tsx\";\n\nexport function useDataTable(): State {\n const context = useContext(DataTableContext);\n\n if (!context) {\n throw new Error(\"useDataTable must be used within a DataTableProvider\");\n }\n\n return context;\n}\n","import { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { useDataTable } from \"./useDataTable.ts\";\nimport type { GetHeaders } from \"../Context/DataTableContext.tsx\";\n\nexport function parseApiError(error: unknown): { message: string; code?: string; details?: unknown } {\n if (typeof error === \"string\") {\n try {\n const parsed = JSON.parse(error);\n return {\n message: parsed.message || error,\n code: parsed.code,\n details: parsed.details,\n };\n } catch {\n return { message: error };\n }\n }\n if (error instanceof Error) {\n return { message: error.message };\n }\n return { message: \"Unbekannter Fehler\" };\n}\n\nasync function fetchWithError(url: string, init: RequestInit): Promise<Response> {\n const resp = await fetch(url, init);\n if (resp.status >= 400) {\n const responseText = await resp.text();\n if (!responseText) {\n throw new Error(`HTTP ${resp.status}: ${resp.statusText}`);\n }\n let errorJson: { message?: string; error?: string } | null = null;\n try {\n errorJson = JSON.parse(responseText);\n } catch {\n throw new Error(responseText);\n }\n throw new Error(errorJson?.message ?? errorJson?.error ?? responseText);\n }\n return resp;\n}\n\nexport interface BaseEntity {\n id: string | number;\n}\n\ntype AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;\n\nexport async function getAll<T extends BaseEntity>(\n path: string,\n getHeaders: GetHeaders,\n): Promise<T[]> {\n const resp = await fetchWithError(path, { method: \"GET\", headers: await getHeaders() });\n return resp.json();\n}\n\nexport async function getOne<T extends BaseEntity>(\n path: string,\n id: string | number,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(`${path}/${id}`, { method: \"GET\", headers: await getHeaders() });\n return resp.json();\n}\n\nexport async function deleteOne(\n path: string,\n id: string | number,\n getHeaders: GetHeaders,\n): Promise<void> {\n await fetchWithError(`${path}/${id}`, { method: \"DELETE\", headers: await getHeaders() });\n}\n\nexport async function createOne<C, T extends BaseEntity>(\n path: string,\n item: C,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(path, {\n method: \"POST\",\n headers: await getHeaders(),\n body: JSON.stringify(item),\n });\n if (resp.status === 204) return item as unknown as T;\n return resp.json();\n}\n\nexport async function api<R, U>(\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\",\n path: string,\n getHeaders: GetHeaders,\n payload?: U,\n): Promise<R> {\n const resp = await fetchWithError(path, {\n method,\n headers: await getHeaders(),\n body: payload ? JSON.stringify(payload) : undefined,\n });\n if (resp.status === 204) return undefined as R;\n return resp.json();\n}\n\nexport async function updateOne<T extends BaseEntity>(\n path: string,\n item: AtLeast<T, \"id\">,\n getHeaders: GetHeaders,\n): Promise<T> {\n const resp = await fetchWithError(`${path}/${item.id}`, {\n method: \"PUT\",\n headers: await getHeaders(),\n body: JSON.stringify(item),\n });\n if (resp.status === 204) return item as T;\n return resp.json();\n}\n\nexport function useGetOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n id?: string | number,\n) {\n const { baseUrl, getHeaders } = useDataTable();\n return useQuery<T>({\n queryKey: [...queryKey.map((k) => k.toString()), String(id?.toString())],\n queryFn: () => getOne<T>(`${baseUrl}${apiPath}`, id!, getHeaders),\n enabled: !!id,\n });\n}\n\nexport function useGetAll<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n enabled: boolean = true,\n) {\n const { baseUrl, getHeaders } = useDataTable();\n return useQuery<T[]>({\n queryKey: [...queryKey.map((k) => k.toString())],\n queryFn: () => getAll<T>(`${baseUrl}${apiPath}`, getHeaders),\n enabled,\n });\n}\n\nexport function useAddOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<T, Error, Omit<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item) =>\n createOne<Omit<T, \"id\">, T>(`${baseUrl}${apiPath}`, item, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n\nexport function useUpdateOne<T extends BaseEntity>(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<T, Error, AtLeast<T, \"id\">>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (item) =>\n updateOne<T>(`${baseUrl}${apiPath}`, item, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n\nexport function useDeleteOne(\n apiPath: string,\n queryKey: Array<string | number>,\n) {\n const { baseUrl, queryClient, getHeaders } = useDataTable();\n return useMutation<void, Error, string | number>({\n mutationKey: [...queryKey.map((k) => k.toString())],\n mutationFn: (id) => deleteOne(`${baseUrl}${apiPath}`, id, getHeaders),\n onSettled() {\n return queryClient.invalidateQueries({\n queryKey: [...queryKey.map((k) => k.toString())]\n });\n },\n });\n}\n","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Stepper,\n Textarea,\n TextInput,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useAddOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\nimport { Fragment, useState } from \"react\";\n// @ts-expect-error - FormRule not publicly exported from @mantine/form\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface CreateModalProps<T> {\n fields: Field<T>[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n steps?: StepConfig[];\n onCreated?: (id: string | number) => void;\n}\n\nexport function CreateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n steps,\n onCreated,\n}: CreateModalProps<T>) {\n const [active, setActive] = useState(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n const [recordId, setRecordId] = useState<string | number>();\n\n const {\n mutateAsync: create,\n isError: isCreateError,\n error: createError,\n isPending: isCreatePending,\n } = useAddOne<T>(apiPath, queryKey);\n const { mutateAsync: update, isPending: isUpdatePending } = useUpdateOne<T>(\n apiPath,\n queryKey,\n );\n\n const isPending = isCreatePending || isUpdatePending;\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (false as T[keyof T])\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) return null;\n if (!resolveRequired(field, values)) return null;\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), ...(recordId && { id: recordId }) } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isCreateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={createError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {createError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n <form\n onSubmit={form.onSubmit(async (rawValues) => {\n const values = Object.fromEntries(\n Object.entries(rawValues as Record<string, unknown>).map(([k, v]) => [k, v === \"\" ? undefined : v]),\n ) as unknown as typeof rawValues;\n if (recordId) {\n await update({ ...values, id: recordId } as T);\n } else {\n const result = await create(values as T);\n setRecordId(result.id);\n onCreated?.(result.id);\n }\n\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isCreateError) {\n setActive(active + 1);\n }\n } else {\n if (!isCreateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n </>\n );\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","\"use client\";import{Box as Al,Table as zl}from\"@mantine/core\";import{useMergedRef as It}from\"@mantine/hooks\";import To from\"clsx\";import{useCallback as Nt,useEffect as Wl,useLayoutEffect as Bl,useMemo as Vl,useRef as at}from\"react\";import{parseThemeColor as Da}from\"@mantine/core\";function W(e,t,n){return e?Da({color:typeof e==\"object\"?e[n]:e,theme:t}).value:void 0}function Vt({theme:e,c:t,backgroundColor:n,borderColor:o,rowBorderColor:r,stripedColor:l,highlightOnHoverColor:a}){return{\"--mantine-datatable-color-light\":W(t,e,\"light\"),\"--mantine-datatable-color-dark\":W(t,e,\"dark\"),\"--mantine-datatable-background-color-light\":W(n,e,\"light\"),\"--mantine-datatable-background-color-dark\":W(n,e,\"dark\"),\"--mantine-datatable-border-color-light\":W(o,e,\"light\"),\"--mantine-datatable-border-color-dark\":W(o,e,\"dark\"),\"--mantine-datatable-row-border-color-light\":W(r,e,\"light\"),\"--mantine-datatable-row-border-color-dark\":W(r,e,\"dark\"),\"--mantine-datatable-striped-color-light\":W(l,e,\"light\"),\"--mantine-datatable-striped-color-dark\":W(l,e,\"dark\"),\"--mantine-datatable-highlight-on-hover-color-light\":W(a,e,\"light\"),\"--mantine-datatable-highlight-on-hover-color-dark\":W(a,e,\"dark\")}}function ze({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:n}){return{\"--mantine-datatable-pagination-active-text-color-light\":W(t,e,\"light\"),\"--mantine-datatable-pagination-active-text-color-dark\":W(t,e,\"dark\"),\"--mantine-datatable-pagination-active-background-color-light\":W(n,e,\"light\"),\"--mantine-datatable-pagination-active-background-color-dark\":W(n,e,\"dark\")}}function Gt({theme:e,color:t,backgroundColor:n}){return{\"--mantine-datatable-row-color-light\":W(t,e,\"light\"),\"--mantine-datatable-row-color-dark\":W(t,e,\"dark\"),\"--mantine-datatable-row-background-color-light\":W(n,e,\"light\"),\"--mantine-datatable-row-background-color-dark\":W(n,e,\"dark\")}}import{useState as $t}from\"react\";import{createSafeContext as wa}from\"@mantine/core\";var[Ft,ye]=wa(\"useDataTableColumnsContext must be used within DataTableColumnProvider\");import{jsx as Sa}from\"react/jsx-runtime\";var Tt=e=>{let{children:t,columnsOrder:n,setColumnsOrder:o,columnsToggle:r,setColumnsToggle:l,columnsPinning:a,setColumnsPinning:s,resetColumnsOrder:c,resetColumnsToggle:d,resetColumnsPinning:i,setColumnWidth:u,setMultipleColumnWidths:p,resetColumnsWidth:b,beginResize:m,endResize:S,pinnedMap:f}=e,[C,L]=$t(\"\"),[w,I]=$t(\"\");return Sa(Ft,{value:{sourceColumn:C,setSourceColumn:L,targetColumn:w,setTargetColumn:I,columnsToggle:r,setColumnsToggle:l,columnsPinning:a,setColumnsPinning:s,swapColumns:()=>{if(!n||!o||!C||!w)return;let h=f.get(C),g=f.get(w);if(h?.logicalSide!==g?.logicalSide)return;let v=n.indexOf(C),M=n.indexOf(w);if(v!==-1&&M!==-1){let T=[...n],[P]=T.splice(v,1);T.splice(M,0,P),o(T)}},resetColumnsOrder:c,resetColumnsToggle:d,resetColumnsPinning:i,setColumnWidth:u,setMultipleColumnWidths:p,resetColumnsWidth:b,beginResize:m,endResize:S},children:t})};import{jsx as Xt}from\"react/jsx-runtime\";function Ut(){return Xt(\"tr\",{className:\"mantine-datatable-empty-row\",children:Xt(\"td\",{})})}import{Center as xa,Text as va}from\"@mantine/core\";import{jsx as Ee,jsxs as Ra}from\"react/jsx-runtime\";function Qt(){return Ra(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Ee(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Ee(\"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\"}),Ee(\"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\"}),Ee(\"path\",{d:\"M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4\"}),Ee(\"path\",{d:\"M3 3l18 18\"})]})}import{Fragment as Ma,jsx as We,jsxs as ka}from\"react/jsx-runtime\";function Kt({icon:e,text:t,active:n,children:o}){return We(xa,{className:\"mantine-datatable-empty-state\",\"data-active\":n||void 0,children:o||ka(Ma,{children:[e||We(\"div\",{className:\"mantine-datatable-empty-state-icon\",children:We(Qt,{})}),We(va,{component:\"div\",size:\"sm\",c:\"dimmed\",children:t})]})})}import{TableTfoot as cr,TableTr as ur}from\"@mantine/core\";import dr from\"clsx\";import{TableTh as ar}from\"@mantine/core\";import rr from\"clsx\";import{useCallback as mi,useRef as pi,useState as fi}from\"react\";import{useLocalStorage as Ea}from\"@mantine/hooks\";import{useEffect as La,useMemo as jt}from\"react\";function Jt({key:e,columns:t=[],getInitialValueInEffect:n=!0}){let o=jt(()=>t.map(i=>({accessor:i.accessor,defaultPinned:i.pinned,pinnable:!!i.pinnable,pinned:i.pinned})),[t]),[r,l]=Ea({key:e?`${e}-columns-pinning`:\"\",defaultValue:e?o:void 0,getInitialValueInEffect:n}),a=r??o;function s(i){e&&l(typeof i==\"function\"?u=>i(u??o):i)}let c=jt(()=>{if(!a)return o;let i=[];return a.forEach(u=>{t.find(p=>p.accessor===u.accessor)&&i.push(u)}),t.forEach(u=>{i.find(p=>p.accessor===u.accessor)||i.push({accessor:u.accessor,defaultPinned:u.pinned,pinnable:!!u.pinnable,pinned:u.pinned})}),i},[a,t,o]);La(()=>{e&&a&&JSON.stringify(c)!==JSON.stringify(a)&&l(c)},[e,c,a,l]);let d=()=>{s(o)};return e?{columnsPinning:c,setColumnsPinning:s,resetColumnsPinning:d}:{columnsPinning:o,setColumnsPinning:s,resetColumnsPinning:d}}import{useLocalStorage as Ia}from\"@mantine/hooks\";import{useEffect as Na,useMemo as qt}from\"react\";function Zt({key:e,columns:t=[],getInitialValueInEffect:n=!0}){let o=qt(()=>t?t.map(i=>i.accessor):[],[t]),[r,l]=Ia({key:e?`${e}-columns-order`:\"\",defaultValue:e?o:void 0,getInitialValueInEffect:n}),a=r??o;function s(i){e&&l(i)}let c=qt(()=>{if(!a)return o;let i=[];return a.forEach(u=>{t.find(p=>p.accessor===u)&&i.push(u)}),t.forEach(u=>{i.includes(u.accessor)||i.push(u.accessor)}),i},[a,t,o]);Na(()=>{e&&a&&JSON.stringify(c)!==JSON.stringify(a)&&l(c)},[e,c,a,l]);let d=()=>{s(o)};return e?{columnsOrder:c,setColumnsOrder:s,resetColumnsOrder:d}:{columnsOrder:a,setColumnsOrder:s,resetColumnsOrder:d}}import{useLocalStorage as Ha}from\"@mantine/hooks\";import{useCallback as Z,useEffect as ht,useMemo as Yt,useRef as Oa,useState as en}from\"react\";function tn({key:e,columns:t=[],getInitialValueInEffect:n=!0,headerRef:o}){let r=Yt(()=>t.some(y=>y.resizable&&!y.hidden&&y.accessor!==\"__selection__\"),[t]),l=Z(()=>t.filter(y=>y.accessor!==\"__selection__\").map(y=>({[y.accessor]:y.width??\"auto\"})),[t]),[a,s]=Ha({key:e?`${e}-columns-width`:\"\",defaultValue:e?l():void 0,getInitialValueInEffect:n}),[c,d]=en(()=>e&&a&&a.length>0?a:l()),[i,u]=en(!1),p=Oa(!1);ht(()=>{e&&(!a||a.length===0||d(a))},[e,a]),ht(()=>{d(y=>{let h=new Set(t.filter(P=>P.accessor!==\"__selection__\").map(P=>String(P.accessor))),g=y.filter(P=>h.has(Object.keys(P)[0])),v=new Set(g.map(P=>Object.keys(P)[0])),M=!1;for(let P of t){if(P.accessor===\"__selection__\")continue;let R=String(P.accessor);v.has(R)||(g.push({[R]:P.width??\"auto\"}),M=!0)}return g.length!==y.length||M?g:y})},[t]);let b=Z(y=>{let h=y.filter(g=>g.accessor!==\"__selection__\");h.length!==0&&(p.current=!0,d(g=>g.map(v=>{let M=Object.keys(v)[0],T=h.find(P=>P.accessor===M);return T?{[M]:T.width}:v})))},[]);ht(()=>{!e||!p.current||i||(p.current=!1,s(c))},[e,c,i,s]);let m=Z((y,h)=>{b([{accessor:y,width:h}])},[b]),S=Z(y=>{b(y)},[b]),f=Z(()=>{u(!0);let y=o?.current;if(!y)return;let h=Array.from(y.querySelectorAll(\"th[data-accessor]\"));if(h.length===0)return;let g=[];for(let v of h){let M=v.getAttribute(\"data-accessor\");if(!M||M===\"__selection__\")continue;let T=Math.round(v.getBoundingClientRect().width);g.push({[M]:`${T}px`})}p.current=!0,d(g)},[o]),C=Z(()=>{u(!1)},[]),L=Z(()=>{let y=l();p.current=!0,d(y),u(!1)},[l]),w=Yt(()=>{if(!r)return!1;let y=t.filter(h=>h.resizable&&!h.hidden&&h.accessor!==\"__selection__\");return c.filter(h=>{let g=Object.keys(h)[0];return y.some(v=>v.accessor===g)}).every(h=>{let g=Object.values(h)[0];return g===\"auto\"||g===\"initial\"})},[r,t,c]),I=Z(()=>{},[]);return{columnsWidth:c,setColumnsWidth:b,setColumnWidth:m,setMultipleColumnWidths:S,resetColumnsWidth:L,hasResizableColumns:r,allResizableWidthsInitial:w,measureAndSetColumnWidths:I,isResizing:i,beginResize:f,endResize:C}}import{useMemo as Ct}from\"react\";import{useLocalStorage as _a}from\"@mantine/hooks\";import{useEffect as Aa,useMemo as nn}from\"react\";function on({key:e,columns:t=[],getInitialValueInEffect:n=!0}){let o=nn(()=>t?.map(i=>({accessor:i.accessor,defaultToggle:i.defaultToggle||!0,toggleable:i.toggleable,toggled:i.defaultToggle===void 0?!0:i.defaultToggle})),[t]),[r,l]=_a({key:e?`${e}-columns-toggle`:\"\",defaultValue:e?o:void 0,getInitialValueInEffect:n}),a=r??o;function s(i){e&&l(i)}let c=nn(()=>{if(!a)return o;let i=[];return a.forEach(u=>{t.find(p=>p.accessor===u.accessor)&&i.push(u)}),t.forEach(u=>{i.find(p=>p.accessor===u.accessor)||i.push({accessor:u.accessor,defaultToggle:u.defaultToggle||!0,toggleable:u.toggleable,toggled:u.defaultToggle===void 0?!0:u.defaultToggle})}),i},[a,t,o]);Aa(()=>{e&&a&&JSON.stringify(c)!==JSON.stringify(a)&&l(c)},[e,c,a,l]);let d=()=>{s(o)};return e?{columnsToggle:c,setColumnsToggle:s,resetColumnsToggle:d}:{columnsToggle:a,setColumnsToggle:s,resetColumnsToggle:d}}var an=({key:e,columns:t=[],getInitialValueInEffect:n=!0,headerRef:o,scrollViewportRef:r})=>{let{columnsOrder:l,setColumnsOrder:a,resetColumnsOrder:s}=Zt({key:e,columns:t,getInitialValueInEffect:n}),{columnsToggle:c,setColumnsToggle:d,resetColumnsToggle:i}=on({key:e,columns:t,getInitialValueInEffect:n}),{columnsPinning:u,setColumnsPinning:p,resetColumnsPinning:b}=Jt({key:e,columns:t,getInitialValueInEffect:n}),{columnsWidth:m,setColumnsWidth:S,setColumnWidth:f,setMultipleColumnWidths:C,resetColumnsWidth:L,hasResizableColumns:w,allResizableWidthsInitial:I,measureAndSetColumnWidths:y,isResizing:h,beginResize:g,endResize:v}=tn({key:e,columns:t,getInitialValueInEffect:n,headerRef:o,scrollViewportRef:r}),M=Ct(()=>{let R;l?R=l.map(D=>t.find(O=>O.accessor===D)).map(D=>{let O=u.find(A=>A.accessor===D?.accessor),z=D?.pinnable?O?.pinned:D?.pinned;return{...D,hidden:D?.hidden||!c.find(A=>A.accessor===D?.accessor)?.toggled,pinned:z}}):R=t;let k=R.filter(D=>D.pinned===\"left\"),H=R.filter(D=>!D.pinned),E=R.filter(D=>D.pinned===\"right\");return[...k,...H,...E].map(D=>{if(D?.accessor===\"__selection__\")return D;let O=D?.accessor,z=m.find(K=>O in K);if(!z)return D;let A=z[O];return A===void 0||A===\"auto\"||A===\"initial\"?D:{...D,width:A}})},[t,l,c,u,m]),T=Ct(()=>{let R=M.filter(k=>!k.hidden&&k.accessor!==\"__selection__\");return R.length===0?!1:R.every(k=>typeof k.width==\"string\"&&/px$/.test(k.width))},[M]),P=Ct(()=>{if(!T)return null;let R=0;for(let k of M){if(k.hidden||k.accessor===\"__selection__\")continue;let H=k.width;if(typeof H!=\"string\")continue;let E=parseInt(H,10);Number.isNaN(E)||(R+=E)}return R>0?R:null},[T,M]);return{effectiveColumns:M,setColumnsOrder:a,columnsOrder:l,resetColumnsOrder:s,columnsToggle:c,setColumnsToggle:d,resetColumnsToggle:i,columnsPinning:u,setColumnsPinning:p,resetColumnsPinning:b,columnsWidth:m,setColumnsWidth:S,setColumnWidth:f,setMultipleColumnWidths:C,resetColumnsWidth:L,hasResizableColumns:w,allResizableWidthsInitial:I,measureAndSetColumnWidths:y,isResizing:h,isLocked:T,tableWidth:P,beginResize:g,endResize:v}};import{rem as Va}from\"@mantine/core\";import{useCallback as Ga,useEffect as Pt,useRef as Y}from\"react\";import{useEffect as za,useLayoutEffect as Wa}from\"react\";var fe=typeof window<\"u\"?Wa:za;import{useRef as Ba}from\"react\";function yt(e){let t=Ba(e);return t.current=e,t}var rn=\"--mantine-datatable-header-height\",ln=\"--mantine-datatable-footer-height\",sn=\"--mantine-datatable-selection-column-width\",cn=\"--mantine-datatable-last-row-border-bottom\";function X(e,t,n){e?.style.setProperty(t,n)}function wt(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 Dt(e,t,n){if(e){let o=new ResizeObserver(r=>{let l=r[0];l&&t(wt(l))});return o.observe(e),()=>{o.disconnect(),n()}}}function un({scrollCallbacks:e,withRowBorders:t}){let n={root:Y(null),table:Y(null),scrollViewport:Y(null),header:Y(null),footer:Y(null),selectionColumnHeader:Y(null)},{root:o,table:r,scrollViewport:l,header:a,footer:s,selectionColumnHeader:c}=n,d=yt({withRowBorders:t}),i=yt(e),u=Y(()=>{}),p=Y(()=>{}),b=Ga(m=>{i.current.onScroll?.(m),u.current()},[]);return Pt(()=>Dt(a.current,m=>{X(o.current,rn,`${m.height}px`)},()=>X(o.current,rn,\"0\")),[a.current]),Pt(()=>Dt(s.current,m=>{X(o.current,ln,`${m.height}px`)},()=>X(o.current,ln,\"0\")),[s.current]),Pt(()=>Dt(c.current,m=>{X(o.current,sn,`${m.width}px`)},()=>X(o.current,sn,\"0\")),[c.current]),fe(()=>{if(typeof window>\"u\")return;let m={top:!0,bottom:!0,left:!0,right:!0},S={width:0,height:0},f={width:0,height:0};function C(h,g){let v=m[h];return m[h]=g,X(o.current,`--mantine-datatable-${h}-shadow-opacity`,g?\"0\":\"1\"),v}function L(){let h=S.height-f.height,g=h<0;X(o.current,\"--mantine-datatable-footer-position\",g?\"relative\":\"sticky\"),X(o.current,\"--mantine-datatable-footer-bottom\",g?`${h}px`:\"0\")}function w(){d.current.withRowBorders&&S.height<f.height?X(o.current,cn,`${Va(\"1px\")} solid var(--mantine-datatable-border-color)`):X(o.current,cn,\"unset\")}p.current=w;function I(){let h=i.current,g=l.current,v=g?.scrollTop??0,M=g?.scrollLeft??0,T=v===0,P=S.height-v-f.height<1,R=C(\"top\",T),k=C(\"bottom\",P);T&&T!==R&&h.onScrollToTop?.(),P&&P!==k&&h.onScrollToBottom?.();let H=g?getComputedStyle(g).direction===\"rtl\":!1,E=(g?.scrollWidth??0)-f.width,x,D;if(H){let A=Math.abs(M);D=A<1,x=E-A<1}else x=M<1,D=S.width-M-f.width<1;let O=C(\"left\",x),z=C(\"right\",D);x&&x!==O&&h.onScrollToLeft?.(),D&&D!==z&&h.onScrollToRight?.()}u.current=I;let y=new ResizeObserver(h=>{for(let g of h)switch(g.target.tagName){case\"TABLE\":{S=wt(g);break}case\"DIV\":{f=wt(g);break}}I(),L(),w()});return y.observe(r.current),y.observe(l.current),()=>{y.disconnect()}},[]),fe(()=>{p.current()},[t]),{refs:n,onScroll:b}}import{useCallback as Fa,useEffect as $a,useState as Xa}from\"react\";function dn({columns:e,theadRef:t,tbodyRef:n,selectionColumnHeaderRef:o,selectionVisible:r,pinFirstColumn:l,pinLastColumn:a}){let[s,c]=Xa(new Map),d=Fa(()=>{if(!l&&!a&&!e.some(T=>T.pinned))return;let p=t.current??n.current;if(!p)return;let b=!!t.current,m=b?p.querySelector(\"tr:last-of-type\"):p.querySelector(\"tr:first-of-type\");if(!m)return;let S=getComputedStyle(p).direction===\"rtl\",f=new Map;if(b)m.querySelectorAll(\"th[data-accessor]\").forEach(T=>{let P=T.dataset.accessor;if(P){let R=T.getBoundingClientRect().width;R>0&&f.set(P,R)}});else{let T=e.filter(R=>!R.hidden);m.querySelectorAll(\"td:not(.mantine-datatable-row-selector-cell):not(.mantine-datatable-row-expansion-cell)\").forEach((R,k)=>{if(T[k]){let H=R.getBoundingClientRect().width;H>0&&f.set(String(T[k].accessor),H)}})}let C=0;if(r){let T=o.current??p.querySelector(b?\".mantine-datatable-header-selector-cell\":\".mantine-datatable-row-selector-cell\");T&&(C=T.getBoundingClientRect().width)}let L=e.filter(T=>!T.hidden&&f.has(String(T.accessor))).map(T=>String(T.accessor)),w=new Map;for(let T of e){let P=String(T.accessor);L.includes(P)&&(T.pinned?w.set(P,T.pinned):l&&P===L[0]&&!w.has(P)?w.set(P,\"left\"):a&&P===L[L.length-1]&&!w.has(P)&&w.set(P,\"right\"))}let I=L.filter(T=>w.get(T)===\"left\"),y=L.filter(T=>w.get(T)===\"right\"),h=new Map,g=C;I.forEach((T,P)=>{h.set(T,{position:S?\"right\":\"left\",logicalSide:\"left\",offset:g,isBoundary:P===I.length-1}),g+=f.get(T)||0});let v=-.4,M=[...y].reverse();M.forEach((T,P)=>{h.set(T,{position:S?\"left\":\"right\",logicalSide:\"right\",offset:v,isBoundary:P===M.length-1}),v+=f.get(T)||0}),c(T=>{if(T.size!==h.size)return h;for(let[P,R]of h){let k=T.get(P);if(!k||k.position!==R.position||k.logicalSide!==R.logicalSide||k.offset!==R.offset||k.isBoundary!==R.isBoundary)return h}return T})},[e,r,t,n,o,l,a]);$a(()=>{if(!l&&!a&&!e.some(f=>f.pinned))return;let p=t.current??n.current;if(!p)return;let b=!!t.current,m=b?p.querySelector(\"tr:last-of-type\"):p.querySelector(\"tr:first-of-type\");if(!m)return;let S=new ResizeObserver(d);return m.querySelectorAll(b?\"th\":\"td\").forEach(f=>{S.observe(f)}),()=>S.disconnect()},[t,n,d]),fe(d,[d]);let i=[...s.values()].some(p=>p.logicalSide===\"left\"),u=[...s.values()].some(p=>p.logicalSide===\"right\");return{pinnedMap:s,hasLeftPinned:i,hasRightPinned:u}}import{useEffect as Ua,useState as Qa}from\"react\";function mn(e){let[t,n]=Qa(null),o=e?.join(\":\")||\"\";return Ua(()=>{n(null)},[o]),{lastSelectionChangeIndex:t,setLastSelectionChangeIndex:n}}import{useEffect as Ka,useRef as ja,useState as Ja}from\"react\";function qa(e,t){let n=()=>{t(e.map(r=>r.matches))},o=e.map(r=>{try{return r.addEventListener(\"change\",n),()=>r.removeEventListener(\"change\",n)}catch{return r.addListener(n),()=>r.removeListener(n)}});return()=>{o.forEach(r=>{r()})}}function Za(e,t){return t||(typeof window<\"u\"&&\"matchMedia\"in window?e.map(n=>window.matchMedia(n).matches):e.map(()=>!1))}function pn(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){let[o,r]=Ja(n?t:Za(e,t)),l=ja(null);return Ka(()=>{if(\"matchMedia\"in window)return l.current=e.map(a=>window.matchMedia(a)),r(l.current.map(a=>a.matches)),qa(l.current,a=>{r(a)})},[e]),o}import{useMantineTheme as Ya}from\"@mantine/core\";import{useMemo as fn}from\"react\";function bn(e){let t=Ya(),n=fn(()=>e.map(r=>(typeof r==\"function\"?r(t):r)??\"\"),[e,t]),o=fn(()=>e.map(()=>!0),[e]);return pn(n,o)}import{useMantineTheme as er}from\"@mantine/core\";import{useMediaQuery as tr}from\"@mantine/hooks\";function ee(e){let t=er(),n=typeof e==\"function\"?e(t):e;return tr(n||\"\",!0)}import{useState as nr}from\"react\";function Pe(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 gn(e,t,n){return e.filter(o=>!t.map(n).includes(n(o)))}function Be(e,t){return e.filter((n,o,r)=>o===r.findIndex(l=>t(n)===t(l)))}function St(e,t){return t?t.match(/([^[.\\]])+/g).reduce((o,r)=>o&&o[r],e):void 0}function B(e,t){return typeof t==\"string\"?St(e,t):t(e)}function os(e,t){let n=structuredClone(t),o=n[e.source.index];return e.destination&&(n.splice(e.source.index,1),n.splice(e.destination.index,0,o)),n}function as(e,t){let n=structuredClone(t),o=e.destination;if(!o)return n;let r=n[e.source.index],l=n[o.index];return n.splice(o.index,1,r),n.splice(e.source.index,1,l),n}function Rt(e){return!e||e.length===0?0:Math.max(...e.map(t=>t.groups&&t.groups.length>0?1+Rt(t.groups):1))}function Le(e){let t=[];for(let n of e)n.columns&&n.columns.length>0?t.push(...n.columns.filter(o=>o!=null)):n.groups&&n.groups.length>0&&t.push(...Le(n.groups));return t.filter(n=>n!=null)}function Ve(e,t){return e.columns&&e.columns.length>0?e.columns.filter((n,o)=>n.hidden?!1:t?t[o]!==!1:!0).length:e.groups&&e.groups.length>0?e.groups.reduce((n,o)=>n+Ve(o,t),0):0}function xt(e,t,n=0){if(n===t)return[...e];let o=[];for(let r of e)r.groups&&r.groups.length>0&&o.push(...xt(r.groups,t,n+1));return o}function Tn(e,t,n){return n?!e||t:!1}function hn({rowExpansion:e,records:t,idAccessor:n}){let o=[];if(e&&t){let{trigger:s,allowMultiple:c,initiallyExpanded:d}=e;t&&s===\"always\"?o=t.map(i=>B(i,n)):d&&(o=t.filter((i,u)=>d({record:i,index:u})).map(i=>B(i,n)),c||(o=[o[0]]))}let r,l,a=nr(o);if(e){let{expandable:s,trigger:c,allowMultiple:d,collapseProps:i,content:u}=e;e.expanded?{recordIds:r,onRecordIdsChange:l}=e.expanded:[r,l]=a;let p=b=>l?.(r.filter(m=>m!==B(b,n)));return{expandOnClick:c!==\"always\"&&c!==\"never\",isRowExpanded:b=>c===\"always\"?!0:r.includes(B(b,n)),isExpandable:({record:b,index:m})=>s?s({record:b,index:m}):!0,expandRow:b=>{let m=B(b,n);l?.(d?[...r,m]:[m])},collapseRow:p,collapseProps:i,content:({record:b,index:m})=>()=>u({record:b,index:m,collapse:()=>p(b)})}}}import{useTimeout as Cn}from\"@mantine/hooks\";import{useEffect as or,useState as yn}from\"react\";function Pn(e,t){let[n,o]=yn(e),[r,l]=yn(e),a=Cn(()=>o(!0),0),s=Cn(()=>l(!1),t||200);return or(()=>{e?(s.clear(),l(!0),a.start()):(a.clear(),o(!1),s.start())},[a,s,e]),{expanded:n,visible:r}}var De=\"mantine-datatable-nowrap\",we=\"mantine-datatable-ellipsis\",Q=\"mantine-datatable-pointer-cursor\",Ge=\"mantine-datatable-context-menu-cursor\",Dn=\"mantine-datatable-text-selection-disabled\",te=\"mantine-datatable-text-align-left\",ne=\"mantine-datatable-text-align-center\",oe=\"mantine-datatable-text-align-right\";import{jsx as lr}from\"react/jsx-runtime\";function wn({className:e,style:t,pinnedInfo:n,visibleMediaQuery:o,title:r,noWrap:l,ellipsis:a,textAlign:s,width:c}){return ee(o)?lr(ar,{\"data-pinned\":n?.position,\"data-pinned-shadow\":n?.isBoundary?n.position:void 0,className:rr({[De]:l||a,[we]:a,[te]:s===\"left\",[ne]:s===\"center\",[oe]:s===\"right\"},e),style:[{width:c,minWidth:c,maxWidth:c},t,n&&{position:\"sticky\",[n.position]:n.offset,overflow:\"visible\"}],children:r}):null}import{TableTh as ir}from\"@mantine/core\";import{jsx as sr}from\"react/jsx-runtime\";function Sn({shadowVisible:e}){return sr(ir,{className:\"mantine-datatable-footer-selector-placeholder-cell\",\"data-shadow-visible\":e||void 0})}import{jsx as vt,jsxs as mr}from\"react/jsx-runtime\";function Rn({className:e,style:t,columns:n,defaultColumnProps:o,pinnedMap:r,selectionVisible:l,selectorCellShadowVisible:a,ref:s}){return vt(cr,{ref:s,className:dr(\"mantine-datatable-footer\",e),style:t,children:mr(ur,{children:[l&&vt(Sn,{shadowVisible:a}),n.map(({hidden:c,...d})=>{if(c)return null;let{accessor:i,visibleMediaQuery:u,textAlign:p,width:b,footer:m,footerClassName:S,footerStyle:f,noWrap:C,ellipsis:L}={...o,...d};return vt(wn,{pinnedInfo:r.get(String(i)),className:S,style:f,visibleMediaQuery:u,textAlign:p,width:b,title:m,noWrap:C,ellipsis:L},i)})]})})}import{Checkbox as jr,Group as Jr,Popover as qr,PopoverDropdown as Zr,PopoverTarget as Yr,Stack as el,TableThead as tl,TableTr as jn}from\"@mantine/core\";import nl from\"clsx\";import{useState as ol}from\"react\";import{TableTh as pr}from\"@mantine/core\";import fr from\"clsx\";import{useMemo as Fe}from\"react\";import{jsx as br}from\"react/jsx-runtime\";function xn({group:{id:e,columns:t,groups:n,title:o,textAlign:r,className:l,style:a},pinnedInfo:s,maxDepth:c,currentDepth:d,previousGroups:i,isLastGroup:u,withColumnBorders:p=!1,totalTableColumns:b}){let m=Fe(()=>t&&t.length>0?t:n&&n.length>0?Le([{id:e,columns:t,groups:n}]):[],[t,n,e]),S=Fe(()=>m.map(({visibleMediaQuery:g})=>g),[m]),f=bn(S),C=Fe(()=>Ve({id:e,columns:t,groups:n},f),[e,t,n,f]),L=Fe(()=>i.reduce((g,v)=>g+Ve(v,f),0),[i,f]),I=n&&n.length>0?1:c-d,y=L+C<b,h=Tn(u,y,p);return C>0?br(pr,{colSpan:C,rowSpan:I>1?I:void 0,\"data-pinned\":s?.position,\"data-pinned-shadow\":s?.isBoundary?s.position:void 0,className:fr(\"mantine-datatable-column-group-header-cell\",{[te]:r===\"left\",[ne]:r===\"center\",[oe]:r===\"right\",\"mantine-datatable-column-group-header-cell--needs-border\":h},l),style:[a,s&&{position:\"sticky\",[s.position]:s.offset,overflow:\"visible\"}],children:o??Pe(e)}):null}import{ActionIcon as Xn,Box as Br,Center as Ze,Flex as Vr,Group as Gr,TableTh as Fr}from\"@mantine/core\";import Ye from\"clsx\";import{useRef as $r,useState as Xr}from\"react\";import{ActionIcon as hr,Popover as Cr,PopoverDropdown as yr,PopoverTarget as Pr}from\"@mantine/core\";import{useClickOutside as Dr,useDisclosure as wr}from\"@mantine/hooks\";import{jsx as vn,jsxs as gr}from\"react/jsx-runtime\";function Mn(){return gr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[vn(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),vn(\"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\"})]})}import{jsx as kn,jsxs as Tr}from\"react/jsx-runtime\";function En(){return Tr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[kn(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),kn(\"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\"})]})}import{jsx as $e,jsxs as Sr}from\"react/jsx-runtime\";function Ln({children:e,isActive:t,filterPopoverProps:n,filterPopoverDisableClickOutside:o}){let[r,{close:l,toggle:a}]=wr(!1),s=t?En:Mn,c=Dr(l);return o&&(c=void 0),Sr(Cr,{withArrow:!0,shadow:\"md\",trapFocus:!0,...n,opened:r,onClose:l,onDismiss:l,children:[$e(Pr,{children:$e(hr,{className:\"mantine-datatable-header-cell-filter-action-icon\",\"data-active\":t||void 0,size:\"sm\",variant:\"default\",onClick:d=>{d.preventDefault(),a()},onKeyDown:d=>d.stopPropagation(),children:$e(s,{})})}),$e(yr,{ref:c,onClick:d=>d.stopPropagation(),onKeyDown:d=>d.stopPropagation(),children:typeof e==\"function\"?e({close:l}):e})]})}import{ActionIcon as je,Center as kr,Group as Er,Popover as kt}from\"@mantine/core\";import{useCallback as Lr,useEffect as Ir,useRef as Nr,useState as On}from\"react\";import{jsx as Xe,jsxs as Rr}from\"react/jsx-runtime\";function In(){return Rr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Xe(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Xe(\"path\",{d:\"M5 12l14 0\"}),Xe(\"path\",{d:\"M5 12l6 6\"}),Xe(\"path\",{d:\"M5 12l6 -6\"})]})}import{jsx as Ue,jsxs as xr}from\"react/jsx-runtime\";function Nn(){return xr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Ue(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Ue(\"path\",{d:\"M5 12l14 0\"}),Ue(\"path\",{d:\"M19 12l-6 6\"}),Ue(\"path\",{d:\"M19 12l-6 -6\"})]})}import{jsx as Qe,jsxs as vr}from\"react/jsx-runtime\";function Hn(){return vr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Qe(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Qe(\"path\",{d:\"M9 4v6l-2 4v2h10v-2l-2-4v-6\"}),Qe(\"path\",{d:\"M12 16v5\"}),Qe(\"path\",{d:\"M8 4h8\"})]})}import{jsx as Mt,jsxs as Mr}from\"react/jsx-runtime\";function Ke(){return Mr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Mt(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Mt(\"path\",{d:\"M18 6l-12 12\"}),Mt(\"path\",{d:\"M6 6l12 12\"})]})}import{jsx as U,jsxs as _n}from\"react/jsx-runtime\";function An({currentPinned:e,onPinChange:t}){let[n,o]=On(!1),r=Nr(null),[l,a]=On(!1),s=Lr(()=>{if(r.current){let p=getComputedStyle(r.current).direction;a(p===\"rtl\")}},[]);fe(()=>{s()},[s]),Ir(()=>{n&&s()},[n,s]);let c=l?\"right\":\"left\",d=l?\"left\":\"right\",i=e===c,u=e===d;return _n(kt,{opened:n,onChange:o,position:\"bottom\",withArrow:!0,shadow:\"sm\",children:[U(kt.Target,{children:U(kr,{ref:r,className:\"mantine-datatable-header-cell-pinnable-icon\",role:\"button\",\"aria-label\":\"Pin column\",onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:U(je,{size:\"xs\",variant:\"light\",onClick:p=>p.stopPropagation(),children:U(Hn,{})})})}),U(kt.Dropdown,{onClick:p=>p.stopPropagation(),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),className:\"mantine-datatable-pinnable-dropdown\",children:_n(Er,{gap:4,children:[U(je,{size:\"sm\",variant:i?\"filled\":\"light\",onClick:()=>t(i?void 0:c),\"aria-label\":\"Pin left\",children:U(In,{})}),U(je,{size:\"sm\",variant:u?\"filled\":\"light\",onClick:()=>t(u?void 0:d),\"aria-label\":\"Pin right\",children:U(Nn,{})}),e&&U(je,{size:\"sm\",variant:\"light\",color:\"red\",onClick:()=>t(void 0),\"aria-label\":\"Unpin\",children:U(Ke,{})})]})})]})}import{useDirection as Hr}from\"@mantine/core\";import{useCallback as zn,useRef as Wn,useState as Or}from\"react\";import{jsx as _r}from\"react/jsx-runtime\";var Bn=50,Vn=e=>{let{accessor:t,columnRef:n}=e,[o,r]=Or(!1),l=Wn(0),a=Wn({current:0,next:0}),{dir:s}=Hr(),c=s===\"rtl\",{setMultipleColumnWidths:d,beginResize:i,endResize:u}=ye(),p=zn(m=>{if(m.preventDefault(),m.stopPropagation(),!n.current)return;let S=n.current,f=S.nextElementSibling;for(;f;){let h=f.getAttribute(\"data-accessor\");if(h&&h!==\"__selection__\")break;f=f.nextElementSibling}if(!f)return;let C=f.getAttribute(\"data-accessor\");if(!C)return;let L=S.offsetWidth,w=f.offsetWidth;i(),r(!0),l.current=m.clientX,a.current={current:L,next:w};let I=h=>{let g=h.clientX-l.current;c&&(g=-g);let v=a.current.current-Bn,M=a.current.next-Bn,T=Math.max(-v,Math.min(g,M)),P=a.current.current+T,R=a.current.next-T;d([{accessor:t,width:`${P}px`},{accessor:C,width:`${R}px`}])},y=()=>{r(!1),document.body.style.cursor=\"initial\",document.body.style.userSelect=\"initial\",u(),document.removeEventListener(\"mousemove\",I),document.removeEventListener(\"mouseup\",y)};document.body.style.cursor=\"col-resize\",document.body.style.userSelect=\"none\",document.addEventListener(\"mousemove\",I),document.addEventListener(\"mouseup\",y)},[t,n,c,d,i,u]),b=zn(()=>{if(!n.current)return;let S=n.current.nextElementSibling,f=[{accessor:t,width:\"auto\"}];if(S){let C=S.getAttribute(\"data-accessor\");C&&C!==\"__selection__\"&&f.push({accessor:C,width:\"auto\"})}d(f)},[t,n,d]);return _r(\"div\",{className:\"mantine-datatable-header-resizable-handle\",style:{cursor:o?\"col-resize\":void 0},onMouseDown:p,onDoubleClick:b,onClick:m=>m.stopPropagation(),title:\"Drag to resize column, double-click to reset\"})};import{jsx as Je,jsxs as Ar}from\"react/jsx-runtime\";function Gn(){return Ar(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Je(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Je(\"path\",{d:\"M8 7l4 -4l4 4\"}),Je(\"path\",{d:\"M8 17l4 4l4 -4\"}),Je(\"path\",{d:\"M12 3l0 18\"})]})}import{jsx as qe,jsxs as zr}from\"react/jsx-runtime\";function Fn(){return zr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[qe(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),qe(\"path\",{d:\"M12 5l0 14\"}),qe(\"path\",{d:\"M16 9l-4 -4\"}),qe(\"path\",{d:\"M8 9l4 -4\"})]})}import{jsx as be,jsxs as Wr}from\"react/jsx-runtime\";function $n(){return Wr(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[be(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),be(\"path\",{d:\"M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}),be(\"path\",{d:\"M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"})]})}import{jsx as G,jsxs as Et}from\"react/jsx-runtime\";function Un({className:e,style:t,pinnedInfo:n,accessor:o,visibleMediaQuery:r,title:l,sortable:a,draggable:s,toggleable:c,pinnable:d,resizable:i,sortIcons:u,textAlign:p,width:b,sortStatus:m,onSortStatusChange:S,filter:f,filterPopoverProps:C,filterPopoverDisableClickOutside:L,filtering:w,sortKey:I}){let{setSourceColumn:y,setTargetColumn:h,swapColumns:g,columnsToggle:v,setColumnsToggle:M,columnsPinning:T,setColumnsPinning:P}=ye(),[R,k]=Xr(!1),H=$r(null),x=T?.find(_=>_.accessor===o)?.pinned;if(!ee(r))return null;let D=l??Pe(o),O=typeof D==\"string\"?D:void 0,z=a&&S?_=>{_?.defaultPrevented||S({sortKey:I,columnAccessor:o,direction:m?.columnAccessor===o?m.direction===\"asc\"?\"desc\":\"asc\":m?.direction??\"asc\"})}:void 0,A=_=>{_.stopPropagation(),y(o),k(!1)},K=_=>{_.preventDefault(),h(o),k(!0)},re=()=>{h(o),k(!1),g()},le=()=>{k(!0)},ie=()=>{k(!1)},se=_=>{_.stopPropagation(),M(v.map($=>$.accessor===o?{...$,toggled:!1}:$))},ce=_=>{P($=>$.map(j=>j.accessor===o?{...j,pinned:_}:j))};return Et(Fr,{\"data-accessor\":o,\"data-pinned\":n?.position,\"data-pinned-shadow\":n?.isBoundary?n.position:void 0,className:Ye({\"mantine-datatable-header-cell-sortable\":a,\"mantine-datatable-header-cell-toggleable\":c,\"mantine-datatable-header-cell-pinnable\":d,\"mantine-datatable-header-cell-resizable\":i},e),style:[{width:b,...i?{}:{minWidth:b,maxWidth:b}},t,n&&{position:\"sticky\",[n.position]:n.offset,overflow:\"visible\"}],role:a?\"button\":void 0,tabIndex:a?0:void 0,onClick:z,onKeyDown:_=>_.key===\"Enter\"&&z?.(),ref:H,children:[Et(Gr,{className:\"mantine-datatable-header-cell-sortable-group\",justify:\"space-between\",wrap:\"nowrap\",children:[Et(Vr,{align:\"center\",w:\"100%\",className:Ye({\"mantine-datatable-header-cell-draggable\":s,\"mantine-datatable-header-cell-drag-over\":R}),draggable:s,onDragStart:s?A:void 0,onDragEnter:s?le:void 0,onDragOver:s?K:void 0,onDrop:s?re:void 0,onDragLeave:s?ie:void 0,children:[s?G(Ze,{role:\"img\",\"aria-label\":\"Drag column\",children:G(Xn,{className:\"mantine-datatable-header-cell-draggable-action-icon\",variant:\"subtle\",size:\"xs\",onClick:_=>{_.stopPropagation()},children:G($n,{})})}):null,G(Br,{className:Ye(\"mantine-datatable-header-cell-sortable-text\",{[te]:p===\"left\",[ne]:p===\"center\",[oe]:p===\"right\"},De,we),title:O,children:D})]}),d?G(An,{currentPinned:x,onPinChange:ce}):null,c?G(Ze,{className:\"mantine-datatable-header-cell-toggleable-icon\",role:\"img\",\"aria-label\":\"Toggle column\",children:G(Xn,{size:\"xs\",variant:\"light\",onClick:se,children:G(Ke,{})})}):null,a||m?.columnAccessor===o?m?.columnAccessor===o?G(Ze,{className:Ye(\"mantine-datatable-header-cell-sortable-icon\",{\"mantine-datatable-header-cell-sortable-icon-reversed\":m.direction===\"desc\"}),role:\"img\",\"aria-label\":`Sorted ${m.direction===\"desc\"?\"descending\":\"ascending\"}`,children:u?.sorted||G(Fn,{})}):G(Ze,{className:\"mantine-datatable-header-cell-sortable-unsorted-icon\",role:\"img\",\"aria-label\":\"Not sorted\",children:u?.unsorted||G(Gn,{})}):null,f?G(Ln,{filterPopoverProps:C,isActive:!!w,filterPopoverDisableClickOutside:L,children:f}):null]}),i&&o!==\"__selection__\"?G(Vn,{accessor:o,columnRef:H}):null]})}import{Checkbox as Ur,TableTh as Qr}from\"@mantine/core\";import Kr from\"clsx\";import{jsx as Qn}from\"react/jsx-runtime\";function Kn({className:e,style:t,trigger:n,shadowVisible:o,checked:r,indeterminate:l,checkboxProps:a,onChange:s,rowSpan:c,ref:d}){let i=!a.disabled;return Qn(Qr,{ref:d,className:Kr(\"mantine-datatable-header-selector-cell\",{[Q]:n===\"cell\"&&i},e),style:t,rowSpan:c,\"data-shadow-visible\":o||void 0,\"data-accessor\":\"__selection__\",onClick:n===\"cell\"&&i?s:void 0,children:Qn(Ur,{classNames:i?{input:Q}:void 0,checked:r,indeterminate:l,onChange:s,...a,disabled:!(s||a.onChange)||a.disabled})})}import{jsx as ae,jsxs as et}from\"react/jsx-runtime\";function al(e,t){let o=(e.columns??[]).filter(u=>!u.hidden).map(u=>String(u.accessor)),r=o.map(u=>t.get(u)).filter(Boolean);if(r.length===0||r.length!==o.length)return;let l=new Set(r.map(u=>u.logicalSide));if(l.size>1)return;let a=[...l][0],s=a===\"left\"?o[0]:o[o.length-1],c=t.get(s);if(!c)return;let d=a===\"left\"?o[o.length-1]:o[0],i=t.get(d);return{...c,isBoundary:i?.isBoundary??!1}}function Jn({selectionColumnHeaderRef:e,className:t,style:n,sortStatus:o,sortIcons:r,onSortStatusChange:l,columns:a,defaultColumnProps:s,groups:c,pinnedMap:d,selectionTrigger:i,selectionVisible:u,selectionChecked:p,selectionIndeterminate:b,onSelectionChange:m,selectionCheckboxProps:S,selectorCellShadowVisible:f,selectionColumnClassName:C,selectionColumnStyle:L,withColumnBorders:w=!1,ref:I}){let y=c?Rt(c):0,h=y>0?y+1:1,g=u?ae(Kn,{ref:e,className:C,style:L,trigger:i,shadowVisible:f,checked:p,indeterminate:b,checkboxProps:S,onChange:m,rowSpan:c?h:void 0}):null,{columnsToggle:v,setColumnsToggle:M}=ye(),[T,P]=ol(!1),R=a.some(E=>E.toggleable),k=R?Object.fromEntries(a.map(({accessor:E,title:x})=>[E,x??Pe(String(E))])):void 0,H=et(tl,{className:nl(\"mantine-datatable-header\",t),style:n,ref:I,onContextMenu:R?E=>{E.preventDefault(),P(x=>!x)}:void 0,children:[c&&Array.from({length:y},(E,x)=>{let D=xt(c,x);return et(jn,{children:[x===0&&g,D.map((O,z)=>ae(xn,{group:O,pinnedInfo:al(O,d),maxDepth:y,currentDepth:x,previousGroups:D.slice(0,z),isLastGroup:z===D.length-1,withColumnBorders:w,totalTableColumns:a.length},O.id))]},`group-depth-${x}`)}),et(jn,{children:[!c&&g,a.map(({hidden:E,...x},D)=>{if(E)return null;let{accessor:O,visibleMediaQuery:z,textAlign:A,width:K,title:re,sortable:le,draggable:ie,toggleable:se,pinnable:ce,resizable:_,titleClassName:$,titleStyle:j,filter:J,filterPopoverProps:rt,filterPopoverDisableClickOutside:lt,filtering:it,sortKey:st}={...s,...x};return ae(Un,{accessor:O,pinnedInfo:d.get(String(O)),className:$,style:j,visibleMediaQuery:z,textAlign:A,width:K,title:re,sortable:le,draggable:ie,toggleable:se,pinnable:ce,resizable:_&&D<a.length-1,sortStatus:o,sortIcons:r,sortKey:st,onSortStatusChange:l,filter:J,filterPopoverProps:rt,filterPopoverDisableClickOutside:lt,filtering:it},O)})]})]});return R?et(qr,{position:\"bottom\",withArrow:!0,shadow:\"md\",opened:T,onChange:P,children:[ae(Yr,{children:H}),ae(Zr,{children:ae(el,{children:v.filter(E=>E.toggleable).map(E=>ae(Jr,{children:ae(jr,{classNames:{label:\"mantine-datatable-header-column-toggle-checkbox-label\"},size:\"xs\",label:k[E.accessor],checked:E.toggled,onChange:x=>{M(v.map(D=>D.accessor===E.accessor?{...D,toggled:x.currentTarget.checked}:D))}})},E.accessor))})})]}):H}import{Center as rl,Loader as ll}from\"@mantine/core\";import il from\"clsx\";import{jsx as qn}from\"react/jsx-runtime\";function Zn({fetching:e,customContent:t,backgroundBlur:n,size:o,type:r,color:l}){return qn(rl,{className:il(\"mantine-datatable-loader\",{\"mantine-datatable-loader-fetching\":e}),style:[{backdropFilter:n?`blur(${n}px)`:void 0}],children:e&&(t||qn(ll,{size:o,type:r,color:l}))})}import{Box as gl,Pagination as Tl,rem as hl,Text as Cl}from\"@mantine/core\";import ao from\"clsx\";import{Button as cl,Group as ul,Menu as dl,MenuDropdown as ml,MenuItem as pl,MenuTarget as fl,rem as Ie,Text as eo}from\"@mantine/core\";import bl from\"clsx\";import{jsx as Lt,jsxs as sl}from\"react/jsx-runtime\";function Yn(){return sl(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[Lt(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),Lt(\"path\",{d:\"M8 9l4 -4l4 4\"}),Lt(\"path\",{d:\"M16 15l-4 4l-4 -4\"})]})}import{jsx as ge,jsxs as no}from\"react/jsx-runtime\";var to={xs:Ie(22),sm:Ie(26),md:Ie(32),lg:Ie(38),xl:Ie(44)};function oo({size:e,label:t,values:n,value:o,activeTextColor:r,activeBackgroundColor:l,onChange:a}){return no(ul,{gap:\"xs\",children:[ge(eo,{component:\"div\",size:e,children:t}),no(dl,{withinPortal:!0,withArrow:!0,offset:2,classNames:{arrow:\"mantine-datatable-page-size-selector-menu-arrow\"},children:[ge(fl,{children:ge(cl,{size:e,variant:\"default\",classNames:{section:\"mantine-datatable-page-size-selector-button-icon\"},rightSection:ge(Yn,{}),style:[{fontWeight:\"normal\"},s=>({height:to[e],paddingLeft:s.spacing[e],paddingRight:s.spacing[e]})],children:o})}),ge(ml,{children:n.map(s=>{let c=s===o;return ge(pl,{className:bl({\"mantine-datatable-page-size-selector-active\":c}),style:[{height:to[e]},c&&(r||l)?d=>ze({theme:d,paginationActiveTextColor:r,paginationActiveBackgroundColor:l}):void 0],disabled:c,onClick:()=>a(s),children:ge(eo,{component:\"div\",size:e,children:s})},s)})})]})]})}import{Fragment as yl,jsx as Te,jsxs as Pl}from\"react/jsx-runtime\";function ro({className:e,style:t,fetching:n,page:o,onPageChange:r,paginationWithEdges:l,paginationWithControls:a,paginationActiveTextColor:s,paginationActiveBackgroundColor:c,paginationSize:d,loadingText:i,noRecordsText:u,paginationText:p,totalRecords:b,recordsPerPage:m,onRecordsPerPageChange:S,recordsPerPageLabel:f,recordsPerPageOptions:C,recordsLength:L,horizontalSpacing:w,paginationWrapBreakpoint:I,getPaginationControlProps:y,getPaginationItemProps:h,renderPagination:g}){let v;if(b){let x=(o-1)*m+1,D=x+(L||0)-1;v=p({from:x,to:D,totalRecords:b})}else v=n?i:u;let M=b&&m?Math.max(1,Math.ceil(b/m)):1,T=b?(o-1)*(m??0)+1:void 0,P=b?(T??1)+(L??0)-1:void 0,k=!ee(({breakpoints:x})=>`(min-width: ${typeof I==\"number\"?`${hl(I)}rem`:x[I]||I})`),H={Text:x=>Te(Cl,{component:\"div\",className:\"mantine-datatable-pagination-text\",size:d,...x,children:v}),PageSizeSelector:x=>C?Te(oo,{activeTextColor:s,activeBackgroundColor:c,size:d,label:f,values:C,value:m,onChange:S,...x}):null,Pagination:x=>Te(Tl,{classNames:{root:ao(\"mantine-datatable-pagination-pages\",{\"mantine-datatable-pagination-pages-fetching\":n||!L}),control:\"mantine-datatable-pagination-pages-control\"},style:s||c?D=>ze({theme:D,paginationActiveTextColor:s,paginationActiveBackgroundColor:c}):void 0,withEdges:l,withControls:a,value:o,onChange:r,size:d,total:M,getControlProps:y,getItemProps:h,...x})},E={state:{paginationSize:d,page:o,totalPages:M,totalRecords:b,recordsPerPage:m,recordsLength:L,fetching:n,from:T,to:P,isWrapped:k},actions:{setPage:x=>r?.(x),setRecordsPerPage:S?x=>S(x):void 0},Controls:H};return Te(gl,{px:w??\"xs\",py:\"xs\",className:ao(\"mantine-datatable-pagination\",e),style:[{flexDirection:k?\"column\":\"row\"},t],children:typeof g==\"function\"?g(E):Pl(yl,{children:[Te(H.Text,{}),Te(H.PageSizeSelector,{}),Te(H.Pagination,{})]})})}import{TableTr as Il}from\"@mantine/core\";import Nl from\"clsx\";import{TableTd as Dl}from\"@mantine/core\";import wl from\"clsx\";import{jsx as Sl}from\"react/jsx-runtime\";function lo({className:e,style:t,pinnedInfo:n,visibleMediaQuery:o,record:r,index:l,onClick:a,onDoubleClick:s,onContextMenu:c,noWrap:d,ellipsis:i,textAlign:u,width:p,accessor:b,render:m,defaultRender:S,customCellAttributes:f}){return ee(o)?Sl(Dl,{\"data-pinned\":n?.position,\"data-pinned-shadow\":n?.isBoundary?n.position:void 0,className:wl({[De]:d||i,[we]:i,[Q]:a||s,[Ge]:c,[te]:u===\"left\",[ne]:u===\"center\",[oe]:u===\"right\"},e),style:[{width:p,minWidth:p,maxWidth:p},t,n&&{position:\"sticky\",[n.position]:n.offset,overflow:\"visible\"}],onClick:a,onDoubleClick:s,onContextMenu:c,...f?.(r,l),children:m?m(r,l):S?S(r,l,b):St(r,b)}):null}import{Collapse as Rl,TableTd as xl,TableTr as io}from\"@mantine/core\";import{Fragment as vl,jsx as Ne,jsxs as Ml}from\"react/jsx-runtime\";function so({open:e,colSpan:t,content:n,collapseProps:o}){let{expanded:r,visible:l}=Pn(e,o?.transitionDuration);return l?Ml(vl,{children:[Ne(io,{}),Ne(io,{children:Ne(xl,{className:\"mantine-datatable-row-expansion-cell\",colSpan:t,children:Ne(Rl,{expanded:r,...o,children:Ne(\"div\",{className:\"mantine-datatable-row-expansion-cell-content\",children:n()})})})})]}):null}import{Checkbox as kl,TableTd as El}from\"@mantine/core\";import Ll from\"clsx\";import{jsx as co}from\"react/jsx-runtime\";function uo({className:e,style:t,record:n,index:o,trigger:r,onChange:l,withRightShadow:a,checkboxProps:s,getCheckboxProps:c,...d}){let i={...s,...c(n,o)},u=!d.disabled&&!i.disabled,p=b=>{b.stopPropagation(),r===\"cell\"&&u&&l?.(b)};return co(El,{className:Ll(\"mantine-datatable-row-selector-cell\",{[Q]:r===\"cell\"&&u},e),style:t,\"data-shadow-visible\":a||void 0,onClick:p,children:co(kl,{classNames:u?{input:Q}:void 0,onChange:l,...d,...i})})}import{Fragment as mo,jsx as tt,jsxs as po}from\"react/jsx-runtime\";function fo({record:e,index:t,columns:n,defaultColumnProps:o,pinnedMap:r,defaultColumnRender:l,selectionTrigger:a,selectionVisible:s,selectionChecked:c,onSelectionChange:d,isRecordSelectable:i,selectionCheckboxProps:u,getSelectionCheckboxProps:p,onClick:b,onDoubleClick:m,onContextMenu:S,onCellClick:f,onCellDoubleClick:C,onCellContextMenu:L,expansion:w,customAttributes:I,color:y,backgroundColor:h,className:g,style:v,selectorCellShadowVisible:M,selectionColumnClassName:T,selectionColumnStyle:P,rowFactory:R}){let k=po(mo,{children:[s&&tt(uo,{className:T,style:P,record:e,index:t,trigger:a,withRightShadow:M,checked:c,disabled:!d||(i?!i(e,t):!1),onChange:d,checkboxProps:u,getCheckboxProps:p}),n.map(({hidden:x,hiddenContent:D,...O},z)=>{if(x||D)return null;let{accessor:A,visibleMediaQuery:K,textAlign:re,noWrap:le,ellipsis:ie,width:se,render:ce,cellsClassName:_,cellsStyle:$,customCellAttributes:j}={...o,...O};return tt(lo,{pinnedInfo:r.get(String(A)),className:typeof _==\"function\"?_(e,t):_,style:$?.(e,t),visibleMediaQuery:K,record:e,index:t,onClick:f?J=>f({event:J,record:e,index:t,column:O,columnIndex:z}):void 0,onDoubleClick:C?J=>C({event:J,record:e,index:t,column:O,columnIndex:z}):void 0,onContextMenu:L?J=>L({event:J,record:e,index:t,column:O,columnIndex:z}):void 0,accessor:A,textAlign:re,noWrap:le,ellipsis:ie,width:se,render:ce,defaultRender:l,customCellAttributes:j},A)})]}),H=w&&tt(so,{colSpan:n.filter(({hidden:x})=>!x).length+(s?1:0),open:w.isRowExpanded(e),content:w.content({record:e,index:t}),collapseProps:w.collapseProps}),E=Hl({record:e,index:t,selectionChecked:c,onClick:b,onDoubleClick:m,onContextMenu:S,expansion:w,customAttributes:I,color:y,backgroundColor:h,className:g,style:v});return R?R({record:e,index:t,rowProps:E,children:k,expandedElement:H}):po(mo,{children:[tt(Il,{...E,children:k}),H]})}function Hl({record:e,index:t,selectionChecked:n,onClick:o,onDoubleClick:r,onContextMenu:l,expansion:a,customAttributes:s,color:c,backgroundColor:d,className:i,style:u}){return{className:Nl(\"mantine-datatable-row\",{[Q]:o||r||a?.isExpandable({record:e,index:t})&&a?.expandOnClick},{[Ge]:l},typeof i==\"function\"?i(e,t):i),\"data-selected\":n||void 0,onClick:p=>{if(a){let{isExpandable:b,isRowExpanded:m,expandOnClick:S,expandRow:f,collapseRow:C}=a;b({record:e,index:t})&&S&&(m(e)?C(e):f(e))}o?.({event:p,record:e,index:t})},onDoubleClick:r?p=>r({event:p,record:e,index:t}):void 0,onContextMenu:l?p=>l({event:p,record:e,index:t}):void 0,style:[c||d?p=>{let b=c?.(e,t),m=d?.(e,t);return Gt({theme:p,color:b,backgroundColor:m})}:void 0,u?.(e,t)],...s?.(e,t)??{}}}import{Box as bo,ScrollArea as Ol}from\"@mantine/core\";import nt from\"clsx\";import{jsx as ot,jsxs as _l}from\"react/jsx-runtime\";function go({leftShadowBehind:e,rightShadowBehind:t,onScrollPositionChange:n,children:o,viewportRef:r,scrollAreaProps:l}){return _l(Ol,{...l,viewportRef:r,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:n,children:[o,ot(bo,{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-top-shadow\")}),ot(\"div\",{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-left-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":e})}),ot(\"div\",{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-right-shadow\",{\"mantine-datatable-scroll-area-shadow-behind\":t})}),ot(bo,{className:nt(\"mantine-datatable-scroll-area-shadow\",\"mantine-datatable-scroll-area-bottom-shadow\")})]})}import{jsx as F,jsxs as ho}from\"react/jsx-runtime\";function Gl({withTableBorder:e,borderRadius:t,textSelectionDisabled:n,height:o=\"100%\",minHeight:r,maxHeight:l,shadow:a,verticalAlign:s=\"center\",fetching:c,columns:d,storeColumnsKey:i,groups:u,pinFirstColumn:p,pinLastColumn:b,defaultColumnProps:m,defaultColumnRender:S,idAccessor:f=\"id\",records:C,selectionTrigger:L=\"checkbox\",selectedRecords:w,onSelectedRecordsChange:I,selectionColumnClassName:y,selectionColumnStyle:h,isRecordSelectable:g,selectionCheckboxProps:v,allRecordsSelectionCheckboxProps:M={\"aria-label\":\"Select all records\"},getRecordSelectionCheckboxProps:T=(ue,V)=>({\"aria-label\":`Select record ${V+1}`}),sortStatus:P,sortIcons:R,onSortStatusChange:k,horizontalSpacing:H,page:E,onPageChange:x,totalRecords:D,recordsPerPage:O,onRecordsPerPageChange:z,recordsPerPageOptions:A,recordsPerPageLabel:K=\"Records per page\",paginationWithEdges:re,paginationWithControls:le,paginationActiveTextColor:ie,paginationActiveBackgroundColor:se,paginationSize:ce=\"sm\",paginationText:_=({from:ue,to:V,totalRecords:dt})=>`${ue} - ${V} / ${dt}`,paginationWrapBreakpoint:$=\"sm\",getPaginationControlProps:j=ue=>ue===\"previous\"?{\"aria-label\":\"Previous page\"}:ue===\"next\"?{\"aria-label\":\"Next page\"}:{},getPaginationItemProps:J,renderPagination:rt,loaderBackgroundBlur:lt,customLoader:it,loaderSize:st,loaderType:Co,loaderColor:yo,loadingText:Po=\"...\",emptyState:Do,noRecordsText:Ht=\"No records\",noRecordsIcon:wo,highlightOnHover:So,striped:Ro,noHeader:xo,onRowClick:vo,onRowDoubleClick:Mo,onRowContextMenu:ko,onCellClick:Eo,onCellDoubleClick:Lo,onCellContextMenu:Io,onScroll:No,onScrollToTop:Ho,onScrollToBottom:Oo,onScrollToLeft:_o,onScrollToRight:Ao,c:zo,backgroundColor:Wo,borderColor:Bo,rowBorderColor:Vo,stripedColor:Go,highlightOnHoverColor:Fo,rowColor:$o,rowBackgroundColor:Xo,rowExpansion:Uo,rowClassName:Qo,rowStyle:Ko,customRowAttributes:jo,scrollViewportRef:Jo,scrollAreaProps:qo,tableRef:Zo,bodyRef:Yo,m:ea,my:ta,mx:na,mt:oa,mb:aa,ml:ra,mr:la,className:ia,classNames:Se,style:sa,styles:Re,rowFactory:ca,tableWrapper:ct,...ut}){let ue=Vl(()=>u?Le(u):d,[d,u]),{refs:V,onScroll:dt}=un({scrollCallbacks:{onScroll:No,onScrollToTop:Ho,onScrollToBottom:Oo,onScrollToLeft:_o,onScrollToRight:Ao},withRowBorders:ut.withRowBorders}),q=an({key:i,columns:ue,headerRef:V.header,scrollViewportRef:V.scrollViewport}),xe=q.effectiveColumns,ua=It(V.table,Zo),da=It(V.scrollViewport,Jo),Ot=at(null),ma=It(Ot,Yo),pa=hn({rowExpansion:Uo,records:C,idAccessor:f}),{pinnedMap:ve,hasLeftPinned:_t,hasRightPinned:fa}=dn({columns:xe,theadRef:V.header,tbodyRef:Ot,selectionColumnHeaderRef:V.selectionColumnHeader,selectionVisible:!!w,pinFirstColumn:p,pinLastColumn:b}),He=at(!1),At=at(E),mt=at(C),ba=Nt(N=>{He.current=!0,mt.current=C,x(N)},[x,C]);Wl(()=>{At.current!==E&&(He.current=!0,mt.current=C,At.current=E)},[E,C]);let Me=C?.length;Bl(()=>{if(!He.current||c||C===mt.current)return;let N=V.scrollViewport.current;if(!N)return;let de=requestAnimationFrame(()=>{N.scrollTo({top:0,left:0}),He.current=!1});return()=>cancelAnimationFrame(de)},[c,C,V.scrollViewport]);let zt=C?.map(N=>B(N,f)),he=!!w,ke=w?.map(N=>B(N,f)),Wt=zt!==void 0&&ke!==void 0&&ke.length>0,pt=g?C?.filter(g):C,Oe=pt?.map(N=>B(N,f)),_e=Wt&&Oe.every(N=>ke.includes(N)),ga=Wt&&Oe.some(N=>ke.includes(N)),Ta=Nt(()=>{w&&I&&I(_e?w.filter(N=>!Oe.includes(B(N,f))):Be([...w,...pt],N=>B(N,f)))},[_e,f,I,Oe,pt,w]),{lastSelectionChangeIndex:Ae,setLastSelectionChangeIndex:ha}=mn(zt),ft=he&&!_t,Ca={m:ea,my:ta,mx:na,mt:oa,mb:aa,ml:ra,mr:la},ya=Nt(({children:N})=>ct?ct({children:N}):N,[ct]);return F(Tt,{...q,pinnedMap:ve,children:ho(Al,{ref:V.root,...Ca,className:To(\"mantine-datatable\",{\"mantine-datatable-with-border\":e},ia,Se?.root),style:[N=>({...Vt({theme:N,c:zo,backgroundColor:Wo,borderColor:Bo,rowBorderColor:Vo,stripedColor:Go,highlightOnHoverColor:Fo}),borderRadius:N.radius[t]||t,boxShadow:N.shadows[a]||a,height:o,minHeight:r,maxHeight:l}),sa,Re?.root,{position:\"relative\"}],children:[F(go,{viewportRef:da,leftShadowBehind:he||_t,rightShadowBehind:fa,onScrollPositionChange:dt,scrollAreaProps:qo,children:F(ya,{children:ho(zl,{ref:ua,horizontalSpacing:H,className:To(\"mantine-datatable-table\",{[Dn]:n,\"mantine-datatable-vertical-align-top\":s===\"top\",\"mantine-datatable-vertical-align-bottom\":s===\"bottom\",\"mantine-datatable-selection-column-visible\":he,\"mantine-datatable-resizable-columns\":q.hasResizableColumns,\"mantine-datatable-resize-locked\":q.isLocked,\"mantine-datatable-resizing\":q.isResizing},Se?.table),style:{...Re?.table,...q.isLocked?{tableLayout:\"fixed\"}:null,...q.tableWidth!=null?{width:`${q.tableWidth}px`}:null},\"data-striped\":Me&&Ro||void 0,\"data-highlight-on-hover\":So||void 0,...ut,children:[xo?null:F(Tt,{...q,pinnedMap:ve,children:F(Jn,{ref:V.header,selectionColumnHeaderRef:V.selectionColumnHeader,className:Se?.header,style:Re?.header,columns:xe,defaultColumnProps:m,groups:u,pinnedMap:ve,sortStatus:P,sortIcons:R,onSortStatusChange:k,selectionTrigger:L,selectionVisible:he,selectionChecked:_e,selectionIndeterminate:ga&&!_e,onSelectionChange:Ta,selectionCheckboxProps:{...v,...M},selectorCellShadowVisible:ft,selectionColumnClassName:y,selectionColumnStyle:h,withColumnBorders:ut.withColumnBorders})}),F(\"tbody\",{ref:ma,children:Me?C.map((N,de)=>{let bt=B(N,f),gt=ke?.includes(bt)||!1,Bt;return I&&w&&(Bt=Pa=>{if(Pa.nativeEvent.shiftKey&&Ae!==null){let Ce=C.filter(de>Ae?(me,pe)=>pe>=Ae&&pe<=de&&(g?g(me,pe):!0):(me,pe)=>pe>=de&&pe<=Ae&&(g?g(me,pe):!0));I(gt?gn(w,Ce,me=>B(me,f)):Be([...w,...Ce],me=>B(me,f)))}else I(gt?w.filter(Ce=>B(Ce,f)!==bt):Be([...w,N],Ce=>B(Ce,f)));ha(de)}),F(fo,{record:N,index:de,columns:xe,defaultColumnProps:m,pinnedMap:ve,defaultColumnRender:S,selectionTrigger:L,selectionVisible:he,selectionChecked:gt,onSelectionChange:Bt,isRecordSelectable:g,selectionCheckboxProps:v,getSelectionCheckboxProps:T,onClick:vo,onDoubleClick:Mo,onCellClick:Eo,onCellDoubleClick:Lo,onContextMenu:ko,onCellContextMenu:Io,expansion:pa,color:$o,backgroundColor:Xo,className:Qo,style:Ko,customAttributes:jo,selectorCellShadowVisible:ft,selectionColumnClassName:y,selectionColumnStyle:h,idAccessor:f,rowFactory:ca},bt)}):F(Ut,{})}),xe.some(({footer:N})=>N)&&F(Rn,{ref:V.footer,className:Se?.footer,style:Re?.footer,columns:xe,defaultColumnProps:m,pinnedMap:ve,selectionVisible:he,selectorCellShadowVisible:ft})]})})}),!!(E&&Me)&&F(ro,{className:Se?.pagination,style:Re?.pagination,horizontalSpacing:H,fetching:c,page:E,onPageChange:ba,totalRecords:D,recordsPerPage:O,onRecordsPerPageChange:z,recordsPerPageOptions:A,recordsPerPageLabel:K,paginationWithEdges:re,paginationWithControls:le,paginationActiveTextColor:ie,paginationActiveBackgroundColor:se,paginationSize:ce,paginationText:_,paginationWrapBreakpoint:$,getPaginationControlProps:j,getPaginationItemProps:J,noRecordsText:Ht,loadingText:Po,recordsLength:Me,renderPagination:rt}),F(Zn,{fetching:c,backgroundBlur:lt,customContent:it,size:st,type:Co,color:yo}),F(Kt,{icon:wo,text:Ht,active:!c&&!Me,children:Do})]})})}import{TableTr as Fl}from\"@mantine/core\";import{useMergedRef as $l}from\"@mantine/hooks\";import{useEffect as Xl,useRef as Ul}from\"react\";import{jsx as Kl}from\"react/jsx-runtime\";function Ql({className:e,children:t,isDragging:n,ref:o,...r}){let l=Ul(null),a=$l(l,o);return Xl(()=>{if(!l.current||!n)return;let i=l.current.parentElement.parentElement.children[0].children[0];for(let u=0;u<i.children.length;u++){let b=i.children[u].getBoundingClientRect(),m=l.current.children[u];m.style.height=`${b.height}px`,m.style.width=`${b.width}px`,m.style.minWidth=`${b.width}px`,m.style.maxWidth=`${b.width}px`}},[n,t]),Kl(Fl,{\"data-is-dragging\":n,ref:a,...r,className:e,children:t})}export{Gl as DataTable,Ql as DataTableDraggableRow,Ve as calculateColSpan,gn as differenceBy,Le as flattenColumns,xt as getGroupsAtDepth,Rt as getMaxGroupDepth,B as getRecordId,St as getValueAtPath,Pe as humanize,Tn as needsRightBorder,os as reorderRecords,as as swapRecords,Be as uniqBy,an as useDataTableColumns};\n//# sourceMappingURL=index.mjs.map","import {\n Alert,\n Button,\n Checkbox,\n Group,\n NumberInput,\n Skeleton,\n Stack,\n Stepper,\n Textarea,\n TextInput\n} from \"@mantine/core\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { useForm } from \"@mantine/form\";\nimport { BaseEntity, useGetOne, useUpdateOne } from \"../Hooks/useApi\";\nimport { Field, StepConfig } from \"./DataTableInner.tsx\";\n// @ts-expect-error - FormRule not publicly exported from @mantine/form\nimport type { FormRule } from \"@mantine/form/lib/types\";\nimport { DateInput } from \"@mantine/dates\";\n\nexport interface UpdateModalProps<T> {\n fields: Field<T>[];\n steps?: StepConfig[];\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n id: string | number;\n}\n\nexport function UpdateModal<T extends BaseEntity>({\n fields,\n onClose,\n queryKey,\n apiPath,\n id,\n steps,\n}: UpdateModalProps<T>) {\n const [active, setActive] = useState<number>(0);\n const [hideButtons, setHideButtons] = useState<boolean>(false);\n\n const { data, isLoading: isDataLoading } = useGetOne<T>(\n apiPath,\n queryKey,\n id,\n );\n const {\n mutateAsync: update,\n isError: isUpdateError,\n error: updateError,\n isPending,\n } = useUpdateOne<T>(apiPath, queryKey);\n\n const stepsAvailable = [\n ...new Set(\n fields\n .filter((f) => typeof f.step === \"number\")\n .map((f) => f.step as number),\n ),\n ];\n\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: fields.reduce((acc, field) => {\n acc[field.id as keyof T] =\n field.type === \"boolean\"\n ? (field.defaultValue ?? (false as T[keyof T]))\n : (field.defaultValue ?? (\"\" as T[keyof T]));\n return acc;\n }, {} as T),\n validate: fields\n .filter((field) => field.required)\n .reduce(\n (acc, field) => {\n acc[field.id as keyof T] = (value: never, values: T) => {\n if (field.conditional && !field.conditional(values)) return null;\n const isReq = typeof field.required === \"function\"\n ? field.required(values)\n : !!field.required;\n if (!isReq) return null;\n return value ? null : \"Pflichtfeld\";\n };\n return acc;\n },\n {} as Partial<{ [Key in keyof T]: FormRule<T[Key], T> }>,\n ),\n });\n\n useEffect(() => {\n if (data) {\n const values = { ...data } as T;\n fields.forEach((field) => {\n const key = field.id as keyof T;\n if (field.type === \"boolean\" && values[key] === null) {\n values[key] = false as T[keyof T];\n } else if (field.type === \"date\" && values[key]) {\n values[key] = new Date(values[key] as unknown as string) as unknown as T[keyof T];\n } else if (values[key] === null) {\n values[key] = \"\" as T[keyof T];\n }\n });\n form.initialize(values);\n form.setValues(values);\n }\n }, [data]);\n\n function resolveRequired(field: Field<T>, values?: Partial<T>): boolean {\n if (typeof field.required === \"function\") {\n return field.required(values ?? ({} as Partial<T>));\n }\n return !!field.required;\n }\n\n function renderField(field: Field<T>) {\n const formValues = form.getValues();\n if (field.conditional && !field.conditional(formValues)) {\n return null;\n }\n const isRequired = resolveRequired(field, formValues);\n return (\n <Fragment key={field.id}>\n {(field.type === undefined || field.type == \"text\") && (\n <TextInput\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n type={field.id.includes(\"email\") ? \"email\" : undefined}\n required={isRequired}\n />\n )}\n\n {field.type === \"number\" && (\n <NumberInput\n decimalSeparator=\",\"\n label={field.column.title}\n key={form.key(field.id)}\n placeholder={field.placeholder ?? \"\"}\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"date\" && (\n <DateInput\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n valueFormat={\"DD.MM.YYYY\"}\n clearable\n {...form.getInputProps(field.id as string)}\n required={isRequired}\n />\n )}\n\n {field.type === \"boolean\" && (\n <Checkbox\n mt=\"md\"\n label={field.column.title}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string, { type: \"checkbox\" })}\n required={isRequired}\n />\n )}\n\n {field.type === \"textarea\" && (\n <Textarea\n label={field.column.title}\n placeholder={field.placeholder ?? \"\"}\n key={form.key(field.id)}\n {...form.getInputProps(field.id as string)}\n minRows={3}\n autosize\n required={isRequired}\n />\n )}\n\n {field.type === \"custom\" &&\n field.render &&\n field.render(\n { ...form.getValues(), id } as T,\n form.setValues,\n setHideButtons,\n {\n error: form.getInputProps(field.id as string).error,\n required: isRequired,\n },\n )}\n </Fragment>\n );\n }\n\n return (\n <>\n {isUpdateError && (\n <Alert\n variant=\"outline\"\n color=\"red\"\n title={updateError?.name ?? \"Fehler aufgetreten\"}\n mb=\"lg\"\n >\n {updateError?.message ?? \"Fehler aufgetreten\"}\n </Alert>\n )}\n\n {isDataLoading ? (\n <Stack gap=\"md\">\n <Skeleton height={40} />\n {Array(fields.length)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-field-${index}`} height={35} />\n ))}\n <Group mt=\"md\" justify=\"end\">\n <Skeleton width={100} height={36} />\n <Skeleton width={100} height={36} />\n </Group>\n </Stack>\n ) : (\n <form\n onSubmit={form.onSubmit(async (rawValues) => {\n const values = Object.fromEntries(\n Object.entries(rawValues as Record<string, unknown>).map(([k, v]) => [k, v === \"\" ? undefined : v]),\n ) as unknown as typeof rawValues;\n await update({\n ...values,\n id,\n } as T);\n if (stepsAvailable.length && active < stepsAvailable.length - 1) {\n if (!isUpdateError) {\n setActive(active + 1);\n }\n } else {\n if (!isUpdateError) {\n form.setInitialValues(values);\n form.reset();\n onClose();\n }\n }\n })}\n >\n {stepsAvailable.length ? (\n <Stepper active={active} size=\"sm\">\n {stepsAvailable.map((step) => (\n <Stepper.Step\n key={step}\n {...(steps && steps[step - 1]\n ? { label: steps[step - 1].label }\n : {})}\n >\n {fields\n .filter((f) => f.step === step)\n .map((field) => renderField(field))}\n </Stepper.Step>\n ))}\n </Stepper>\n ) : (\n fields.map((field) => renderField(field))\n )}\n {!hideButtons && (\n <Group mt=\"md\" justify=\"end\">\n <Button\n onClick={() =>\n stepsAvailable.length\n ? active === 0\n ? onClose()\n : setActive(active - 1)\n : onClose()\n }\n variant=\"outline\"\n >\n {stepsAvailable.length\n ? active === 0\n ? \"Abbrechen\"\n : \"Zurück\"\n : \"Abbrechen\"}\n </Button>\n <Button type=\"submit\" loading={isPending}>\n {stepsAvailable.length\n ? active === stepsAvailable.length - 1\n ? \"Speichern\"\n : \"Weiter\"\n : \"Speichern\"}\n </Button>\n </Group>\n )}\n </form>\n )}\n </>\n );\n}\n","import { Alert, Button, Group, Text } from \"@mantine/core\";\nimport { BaseEntity, useDeleteOne } from \"../Hooks/useApi\";\nimport { ReactNode, useEffect, useState } from \"react\";\n\nexport interface DeleteModalProps<T> {\n onClose: () => void;\n queryKey: (string | number)[];\n apiPath: string;\n selectedRecords: T[];\n confirmMessage?: (records: T[]) => ReactNode;\n}\n\nexport function DeleteModal<T extends BaseEntity>({\n queryKey,\n apiPath,\n onClose,\n selectedRecords,\n confirmMessage,\n}: DeleteModalProps<T>) {\n const {\n mutateAsync: del,\n isError: isDeleteError,\n error: deleteError,\n isPending: isDeletePending,\n } = useDeleteOne(apiPath, queryKey);\n\n const [records, setRecords] = useState<T[]>(selectedRecords);\n const [isDeleting, setIsDeleting] = useState(false);\n const isLoading = isDeleting || isDeletePending;\n\n useEffect(() => {\n if (!records.length) {\n onClose();\n }\n }, [onClose, records]);\n\n if (!records.length) {\n return <></>;\n }\n\n return (\n <>\n {isDeleteError && deleteError.message && (\n <Alert variant=\"outline\" color=\"red\" title={deleteError.name}>\n {deleteError.message}\n </Alert>\n )}\n\n <Text>\n {confirmMessage\n ? confirmMessage(records)\n : records.length === 1\n ? `Soll ${records.length} Eintrag wirklich gelöscht werden?`\n : `Sollen ${records.length} Einträge wirklich gelöscht werden?`}\n </Text>\n <Group mt=\"md\" justify=\"end\">\n <Button onClick={onClose} variant=\"outline\" disabled={isLoading}>\n Abbrechen\n </Button>\n <Button\n color=\"red\"\n loading={isLoading}\n onClick={async () => {\n setIsDeleting(true);\n try {\n await Promise.all(records.map((record) => del(record.id)));\n setRecords([]);\n } finally {\n setIsDeleting(false);\n }\n }}\n >\n Löschen\n </Button>\n </Group>\n </>\n );\n}\n","import { useState } from \"react\";\n\nexport function usePersistentState<T>(\n initialValue: T,\n key: string,\n): [T, (value: T) => void] {\n const [state, setState] = useState<T>(() => {\n const storedValue = localStorage.getItem(`use_persistent_storage_${key}`);\n return storedValue ? (JSON.parse(storedValue) as T) : initialValue;\n });\n\n const setStateWrapper = (newState: T) => {\n setState(newState);\n localStorage.setItem(\n `use_persistent_storage_${key}`,\n JSON.stringify(newState),\n );\n };\n\n return [state, setStateWrapper];\n}\n","type ColumnType = \"string\" | \"number\" | \"date\" | \"mixed\";\n\nconst DATE_PATTERNS = [\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/,\n /^\\d{4}-\\d{2}-\\d{2}$/,\n /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/,\n /^\\d{1,2}\\.\\d{1,2}\\.\\d{4}$/,\n];\n\nconst detectColumnType = <T>(data: T[], field: keyof T): ColumnType => {\n const nonNullValues = data\n .map((item) => item[field])\n .filter((value) => value !== null && value !== undefined && value !== \"\");\n\n if (nonNullValues.length === 0) return \"string\";\n\n const sample = nonNullValues.slice(0, 100);\n const types = { string: 0, number: 0, date: 0 };\n\n sample.forEach((value) => {\n if (typeof value === \"number\") {\n types.number++;\n } else if (typeof value === \"string\") {\n const trimmed = value.trim();\n if (trimmed !== \"\" && !isNaN(Number(trimmed)) && !isNaN(parseFloat(trimmed))) {\n types.number++;\n return;\n }\n if (DATE_PATTERNS.some((pattern) => pattern.test(trimmed))) {\n const dateValue = new Date(trimmed);\n if (!isNaN(dateValue.getTime())) {\n types.date++;\n return;\n }\n }\n types.string++;\n } else if (value instanceof Date) {\n types.date++;\n } else {\n types.string++;\n }\n });\n\n const total = types.string + types.number + types.date;\n if (types.date / total >= 0.6) return \"date\";\n if (types.number / total >= 0.6) return \"number\";\n if (types.string / total >= 0.6) return \"string\";\n return \"mixed\";\n};\n\nfunction toSortValue(value: unknown, columnType: ColumnType): string | number | null {\n switch (columnType) {\n case \"date\":\n if (typeof value === \"string\") {\n const d = new Date(value.trim());\n return isNaN(d.getTime()) ? null : d.getTime();\n }\n if (value instanceof Date) return value.getTime();\n return null;\n case \"number\":\n if (typeof value === \"number\") return value;\n const num = parseFloat(String(value).trim());\n return isNaN(num) ? null : num;\n case \"string\":\n return (typeof value === \"string\" ? value : String(value)).toLowerCase().trim();\n default:\n return String(value).toLowerCase().trim();\n }\n}\n\nexport const sortData = <T>(\n data: T[],\n field: keyof T,\n direction: \"asc\" | \"desc\" = \"asc\",\n): T[] => {\n if (!data || data.length === 0) return [];\n\n const columnType = detectColumnType(data, field);\n\n return [...data].sort((a, b) => {\n const aValue = a[field];\n const bValue = b[field];\n\n const aIsNull = aValue === null || aValue === undefined || aValue === \"\";\n const bIsNull = bValue === null || bValue === undefined || bValue === \"\";\n\n if (aIsNull && bIsNull) return 0;\n if (aIsNull) return direction === \"asc\" ? -1 : 1;\n if (bIsNull) return direction === \"asc\" ? 1 : -1;\n\n const aSortValue = toSortValue(aValue, columnType);\n const bSortValue = toSortValue(bValue, columnType);\n\n if (aSortValue === null && bSortValue === null) return 0;\n if (aSortValue === null) return direction === \"asc\" ? 1 : -1;\n if (bSortValue === null) return direction === \"asc\" ? -1 : 1;\n\n if (aSortValue < bSortValue) return direction === \"asc\" ? -1 : 1;\n if (aSortValue > bSortValue) return direction === \"asc\" ? 1 : -1;\n return 0;\n });\n};\n","import { ActionIcon, Box, Checkbox, Collapse, Divider, Group, Menu, Pagination, Select, Stack, Text } from \"@mantine/core\";\nimport { BaseEntity } from \"../Hooks/useApi\";\nimport { Action, Field } from \"./DataTableInner\";\nimport React, { useState } from \"react\";\nimport { IconChevronDown, IconDotsVertical, IconSortAscending, IconSortDescending } from \"@tabler/icons-react\";\n\ninterface SortConfig {\n field: string;\n direction: \"asc\" | \"desc\";\n onSortChange: (field: string, direction: \"asc\" | \"desc\") => void;\n}\n\ninterface MobileCardListProps<T extends BaseEntity> {\n records: T[];\n fields: Field<T>[];\n selection?: boolean;\n selectedRecords?: T[];\n onSelectedRecordsChange?: (records: T[]) => void;\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n actions?: Action<T>[];\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n pagination?: {\n totalRecords: number;\n recordsPerPage: number;\n page: number;\n onPageChange: (page: number) => void;\n recordsPerPageOptions?: number[];\n onRecordsPerPageChange?: (size: number) => void;\n };\n sort?: SortConfig;\n rowExpansion?: {\n content: (record: T) => React.ReactNode;\n };\n}\n\nfunction getNestedValue(record: Record<string, unknown>, accessor: string): unknown {\n return accessor.split(\".\").reduce<unknown>((obj, key) => {\n if (obj && typeof obj === \"object\" && key in (obj as Record<string, unknown>)) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, record);\n}\n\nfunction renderFieldValue<T extends BaseEntity>(record: T, field: Field<T>): React.ReactNode {\n const column = field.column;\n\n if (column.render) {\n return column.render(record, 0);\n }\n\n const accessor = (column.accessor ?? field.id) as string;\n const value = getNestedValue(record as unknown as Record<string, unknown>, accessor);\n\n if (value === null || value === undefined) {\n return <Text c=\"dimmed\">–</Text>;\n }\n\n if (typeof value === \"boolean\") {\n return <Text fz=\"sm\">{value ? \"Ja\" : \"Nein\"}</Text>;\n }\n\n return <Text fz=\"sm\">{String(value)}</Text>;\n}\n\nfunction MobileCardRow<T extends BaseEntity>({ field, record }: { field: Field<T>; record: T }) {\n return (\n <Group wrap=\"nowrap\" justify=\"space-between\" align=\"center\" py=\"xs\" px=\"sm\">\n <Text fw={700} fz=\"sm\">\n {(field.column.title as string) ?? field.id}\n </Text>\n <Box ta=\"right\" fz=\"sm\">\n {renderFieldValue(record, field)}\n </Box>\n </Group>\n );\n}\n\nexport function MobileCardList<T extends BaseEntity>({\n records,\n fields,\n selection,\n selectedRecords = [],\n onSelectedRecordsChange,\n onRowClick,\n actions,\n canUpdate,\n canDelete,\n pagination,\n sort,\n rowExpansion,\n}: MobileCardListProps<T>) {\n const [expandedIds, setExpandedIds] = useState<Set<string | number>>(new Set());\n\n const toggleExpansion = (id: string | number) => {\n setExpandedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n };\n const listFields = fields.filter((f) => f.list && f.column);\n\n const sortOptions = listFields\n .filter((f) => f.column.sortable !== false)\n .reduce<{ value: string; label: string }[]>((acc, f) => {\n const value = (f.column.accessor ?? f.id) as string;\n if (!acc.some((o) => o.value === value)) {\n acc.push({ value, label: (f.column.title as string) ?? f.id });\n }\n return acc;\n }, []);\n\n const isSelected = (record: T) =>\n selectedRecords.some((r) => r.id === record.id);\n\n const toggleSelection = (record: T) => {\n if (!onSelectedRecordsChange) return;\n if (isSelected(record)) {\n onSelectedRecordsChange(selectedRecords.filter((r) => r.id !== record.id));\n } else {\n onSelectedRecordsChange([...selectedRecords, record]);\n }\n };\n\n const handleCardClick = (record: T, index: number, event: React.MouseEvent) => {\n if (onRowClick) {\n onRowClick({ record, index, event });\n } else if (selection) {\n toggleSelection(record);\n }\n };\n\n if (records.length === 0) {\n return (\n <Text c=\"dimmed\" ta=\"center\" py=\"xl\">\n Keine Einträge gefunden\n </Text>\n );\n }\n\n return (\n <Stack gap=\"sm\" my=\"md\">\n {sort && sortOptions.length > 0 && (\n <Group gap=\"xs\" wrap=\"nowrap\">\n <Select\n data={sortOptions}\n value={sort.field}\n onChange={(value) => value && sort.onSortChange(value, sort.direction)}\n allowDeselect={false}\n style={{ flex: 1 }}\n />\n <ActionIcon\n variant=\"filled\"\n size=\"input-sm\"\n onClick={() => sort.onSortChange(sort.field, sort.direction === \"asc\" ? \"desc\" : \"asc\")}\n >\n {sort.direction === \"asc\" ? <IconSortAscending size={18} /> : <IconSortDescending size={18} />}\n </ActionIcon>\n </Group>\n )}\n\n {records.map((record, index) => {\n const selected = isSelected(record);\n const clickable = !!onRowClick || !!selection;\n\n const recordKey = record.id ?? index;\n const expanded = expandedIds.has(recordKey);\n\n return (\n <React.Fragment key={recordKey}>\n <Box\n bg={selected ? \"var(--mantine-primary-color-light)\" : \"var(--mantine-color-body)\"}\n bd={!selected ? \"1px solid var(--mantine-color-default-border)\" : undefined}\n style={{\n borderRadius: \"var(--mantine-radius-md)\",\n overflow: \"hidden\",\n }}\n >\n <Box\n w=\"100%\"\n style={{ cursor: clickable || rowExpansion ? \"pointer\" : \"default\" }}\n onClick={(e: React.MouseEvent) => {\n if (rowExpansion && !onRowClick) {\n toggleExpansion(recordKey);\n } else {\n handleCardClick(record, index, e);\n }\n }}\n >\n {(selection || rowExpansion || (actions && actions.length > 0)) && (\n <Group px=\"sm\" pt=\"sm\" justify=\"space-between\">\n <Group gap=\"xs\">\n {rowExpansion && (\n <Box\n c=\"var(--mantine-primary-color-filled)\"\n style={{ cursor: \"pointer\", display: \"flex\", alignItems: \"center\" }}\n onClick={(e: React.MouseEvent) => { e.stopPropagation(); toggleExpansion(recordKey); }}\n >\n <IconChevronDown\n size={16}\n style={{ transform: expanded ? \"rotate(0deg)\" : \"rotate(-90deg)\", transition: \"transform 200ms\" }}\n />\n </Box>\n )}\n {selection && (\n <Checkbox\n checked={selected}\n onChange={() => toggleSelection(record)}\n onClick={(e) => e.stopPropagation()}\n />\n )}\n </Group>\n {actions && actions.length > 0 && (() => {\n const filteredActions = actions.filter((action) => {\n if (action.label === \"Bearbeiten\" && canUpdate && !canUpdate(record)) return false;\n if (action.label === \"Löschen\" && canDelete && !canDelete(record)) return false;\n return true;\n });\n if (filteredActions.length === 0) return null;\n return (\n <Menu shadow=\"md\" position=\"bottom-end\">\n <Menu.Target>\n <ActionIcon\n variant=\"subtle\"\n color=\"gray\"\n size=\"sm\"\n onClick={(e: React.MouseEvent) => e.stopPropagation()}\n >\n <IconDotsVertical size={16} />\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n {filteredActions.map((action, actionIndex) => (\n <Menu.Item\n key={`card_action_${actionIndex}`}\n leftSection={action.icon}\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n action.onClick([record]);\n }}\n >\n {action.label}\n </Menu.Item>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n })()}\n </Group>\n )}\n {listFields.map((field, fieldIndex) => (\n <React.Fragment key={field.id}>\n {fieldIndex > 0 && <Divider />}\n <MobileCardRow field={field} record={record} />\n </React.Fragment>\n ))}\n </Box>\n {rowExpansion && (\n <Collapse expanded={expanded}>\n <Divider />\n <Box px=\"sm\" py=\"sm\">\n {rowExpansion.content(record)}\n </Box>\n </Collapse>\n )}\n </Box>\n </React.Fragment>\n );\n })}\n\n {pagination && pagination.totalRecords > pagination.recordsPerPage && (\n <Stack gap=\"xs\" mt=\"sm\">\n <Group justify=\"center\">\n <Pagination\n total={Math.ceil(pagination.totalRecords / pagination.recordsPerPage)}\n value={pagination.page}\n onChange={pagination.onPageChange}\n size=\"sm\"\n />\n </Group>\n {pagination.recordsPerPageOptions && pagination.onRecordsPerPageChange && (\n <Group justify=\"center\" gap=\"xs\">\n <Text fz=\"xs\" c=\"dimmed\">Einträge pro Seite:</Text>\n <Select\n data={pagination.recordsPerPageOptions.map((o) => ({ value: String(o), label: String(o) }))}\n value={String(pagination.recordsPerPage)}\n onChange={(v) => v && pagination.onRecordsPerPageChange!(Number(v))}\n allowDeselect={false}\n size=\"xs\"\n w={70}\n />\n </Group>\n )}\n </Stack>\n )}\n </Stack>\n );\n}\n","import { ActionIcon, Alert, Box, Button, Group, Menu, Modal, Skeleton, Stack, Tabs, Title } from \"@mantine/core\";\nimport { BaseEntity, useGetAll } from \"../Hooks/useApi\";\nimport React, { useEffect, useState } from \"react\";\nimport { CreateModal } from \"./CreateModal\";\nimport { IconCaretDownFilled, IconInfoCircle, IconPencil, IconRefresh, IconTrash } from \"@tabler/icons-react\";\nimport { DataTable as MantineDataTable, DataTableColumn, DataTableSortStatus } from \"mantine-datatable\";\nimport { UpdateModal } from \"./UpdateModal.tsx\";\nimport { DeleteModal } from \"./DeleteModal.tsx\";\nimport { useDataTable } from \"../Hooks/useDataTable.ts\";\nimport { usePersistentState } from \"../Hooks/usePersistentState.ts\";\nimport { sortData } from \"../utils/sort\";\nimport { MobileCardList } from \"./MobileCardList\";\n\ntype DatesRangeValue = [string | null, string | null];\n\ninterface DateFilter {\n id: string | number;\n type: \"date\";\n value?: DatesRangeValue;\n}\n\ninterface StringFilter {\n id: string | number;\n type: \"query\";\n value?: string | string[];\n}\n\ninterface BooleanFilter {\n id: string | number;\n type: \"boolean\";\n value?: boolean;\n}\n\ntype Filter = DateFilter | StringFilter | BooleanFilter;\n\nexport type FieldType =\n | \"text\"\n | \"number\"\n | \"boolean\"\n | \"custom\"\n | \"date\"\n | \"textarea\";\n\nexport interface Field<T> {\n id: string;\n defaultValue?: T[keyof T];\n required?: boolean | ((values: Partial<T>) => boolean);\n step?: number;\n list: boolean;\n create: boolean;\n update: boolean;\n delete: boolean;\n type?: FieldType;\n placeholder?: string;\n conditional?: (values: Partial<T>) => boolean;\n render?: (\n values: T,\n setValues: (values: Partial<T>) => void,\n hideButtons: (value: boolean) => void,\n validationProps?: {\n error?: string;\n required?: boolean;\n },\n ) => React.ReactNode;\n column: DataTableColumn<T>;\n}\n\nexport interface Action<T extends BaseEntity> {\n icon?: React.ReactNode;\n label: string;\n onClick: (records: T[]) => void;\n disabled?: (records: T[]) => boolean;\n}\n\nexport interface TabOption {\n value: string;\n label: string;\n icon?: React.ReactNode;\n queryParams?: Record<string, string | number | boolean | null>;\n apiPath?: string;\n mutationApiPath?: string;\n}\n\nexport interface StepConfig {\n label: string;\n description?: string;\n}\n\nexport interface DataTableProps<T extends BaseEntity> {\n title?: string | React.ReactNode;\n queryKey: (string | number)[];\n connectedQueryKeys?: (string | number)[][];\n apiPath: string;\n mutationApiPath?: string;\n queryParams?: Record<string, string | number | boolean | null>;\n filters?: Filter[];\n buttons?: React.ReactNode[];\n createButtonText?: string;\n actions?: Action<T>[];\n selection?: boolean;\n pagination?: boolean;\n steps?: StepConfig[];\n fields: Field<T>[];\n defaultSort?: {\n field: string;\n direction: \"asc\" | \"desc\";\n };\n onSortChange?: (field: string, direction: \"asc\" | \"desc\") => void;\n tabs?: TabOption[];\n defaultTab?: string;\n activeTab?: string | null;\n onActiveTabChange?: (tabValue: string | null) => void;\n canUpdate?: (record: T) => boolean;\n canDelete?: (record: T) => boolean;\n showRefresh?: boolean;\n rowExpansion?: {\n allowMultiple?: boolean;\n content: (record: T) => React.ReactNode;\n expanded?: {\n recordIds: unknown[];\n onRecordIdsChange: (recordIds: unknown[]) => void;\n };\n };\n onRowClick?: (params: { record: T; index: number; event: React.MouseEvent }) => void;\n mobileCards?: boolean;\n deleteConfirmMessage?: (records: T[]) => React.ReactNode;\n}\n\nconst PAGE_SIZES = [10, 15, 50, 100, 500];\n\nexport function DataTableInner<T extends BaseEntity>({\n title,\n queryKey,\n connectedQueryKeys,\n apiPath,\n mutationApiPath,\n buttons,\n fields,\n selection,\n pagination,\n filters,\n actions,\n steps,\n defaultSort,\n onSortChange,\n createButtonText,\n queryParams,\n tabs,\n defaultTab,\n activeTab: controlledActiveTab,\n onActiveTabChange,\n canUpdate,\n canDelete,\n showRefresh = true,\n rowExpansion,\n onRowClick,\n mobileCards = false,\n deleteConfirmMessage,\n}: DataTableProps<T>) {\n const [internalActiveTab, setInternalActiveTab] = useState<string | null>(\n defaultTab || (tabs && tabs.length > 0 ? tabs[0].value : null),\n );\n\n const activeTab =\n controlledActiveTab !== undefined ? controlledActiveTab : internalActiveTab;\n\n const handleTabChange = (value: string | null) => {\n if (controlledActiveTab === undefined) {\n setInternalActiveTab(value);\n }\n if (onActiveTabChange) {\n onActiveTabChange(value);\n }\n };\n\n const currentTab = tabs?.find((tab) => tab.value === activeTab);\n const currentTabParams = currentTab?.queryParams || {};\n const effectiveApiPath = currentTab?.apiPath ?? apiPath;\n const effectiveMutationApiPath = currentTab?.mutationApiPath ?? mutationApiPath ?? effectiveApiPath;\n const allQueryParams = { ...queryParams, ...currentTabParams };\n\n const queryString: string = allQueryParams\n ? \"?\" +\n Object.entries(allQueryParams)\n .filter(([, value]) => value !== null && value !== undefined)\n .map(([key, value]) => `${key}=${encodeURIComponent(value ?? \"\")}`)\n .join(\"&\")\n : \"\";\n\n const effectiveQueryKey = activeTab ? [...queryKey, activeTab] : queryKey;\n\n const {\n data: allData,\n isLoading,\n isError,\n isRefetching,\n refetch,\n } = useGetAll<T>(effectiveApiPath + queryString, effectiveQueryKey);\n\n const { queryClient } = useDataTable();\n\n useEffect(() => {\n if (!allData || !Array.isArray(allData)) return;\n\n connectedQueryKeys?.forEach((connectedQueryKey) =>\n queryClient.invalidateQueries({ queryKey: connectedQueryKey }),\n );\n }, [allData, connectedQueryKeys, queryClient]);\n\n const filteredData =\n (!allData || !Array.isArray(allData))\n ? []\n : (!filters || filters.length === 0)\n ? allData\n : allData.filter((record: T) => filters.every((filter) => {\n if (filter.value === undefined) return true;\n\n const key = filter.id as keyof T;\n if (filter.type === \"query\") {\n const recordValue = record[key];\n if (Array.isArray(filter.value)) {\n if (Array.isArray(recordValue)) {\n return recordValue.some((item: unknown) => {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return filter.value!.includes(String(item));\n }\n if (item && typeof item === \"object\") {\n const obj = item as Record<string, unknown>;\n if (\"id\" in obj && filter.value!.includes(obj.id as string)) {\n return true;\n }\n for (const prop in obj) {\n const propValue = obj[prop];\n if (\n typeof propValue === \"string\" &&\n filter.value!.includes(propValue)\n ) {\n return true;\n }\n if (\n propValue &&\n typeof propValue === \"object\" &&\n \"id\" in (propValue as Record<string, unknown>)\n ) {\n if (filter.value!.includes((propValue as Record<string, unknown>).id as string)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n }\n if (\n recordValue &&\n typeof recordValue === \"object\" &&\n \"id\" in recordValue\n ) {\n return filter.value.includes((recordValue as Record<string, unknown>).id as string);\n }\n return false;\n }\n return (\n typeof recordValue === \"string\" &&\n recordValue.includes(filter.value)\n );\n } else if (filter.type === \"date\") {\n const dateValue = filter.value as DatesRangeValue;\n if (!dateValue) return true;\n\n const [from, to] = dateValue;\n if (!from && !to) return true;\n const recordDate = record[key];\n if (typeof recordDate === \"string\") {\n const recordDateStr = recordDate.split(\" \")[0];\n if (from && to) {\n return recordDateStr >= from && recordDateStr <= to;\n } else if (from && !to) {\n return recordDateStr >= from;\n } else if (!from && to) {\n return recordDateStr <= to;\n }\n }\n return true;\n } else if (filter.type === \"boolean\") {\n const recordValue = record[key];\n return recordValue === filter.value;\n }\n return true;\n }));\n\n const [sortStatus, setSortStatus] = useState<DataTableSortStatus<T>>({\n columnAccessor: defaultSort?.field ?? fields[0].id,\n direction: defaultSort?.direction ?? \"desc\",\n });\n \n const handleSortChange = (newSortStatus: DataTableSortStatus<T>) => {\n setSortStatus(newSortStatus);\n if (onSortChange) {\n onSortChange(String(newSortStatus.columnAccessor), newSortStatus.direction);\n }\n };\n\n const sortedData = sortData(\n filteredData,\n sortStatus.columnAccessor as keyof T,\n sortStatus.direction,\n );\n\n const [pageSize, setPageSize] = usePersistentState(\n PAGE_SIZES[1],\n \"mantine-table-page-size\",\n );\n const [page, setPage] = useState(1);\n\n const records = pagination ? sortedData.slice((page - 1) * pageSize, page * pageSize) : sortedData;\n\n const [selectedRecords, setSelectedRecords] = useState<T[]>([]);\n\n useEffect(() => {\n setSelectedRecords([]);\n }, [activeTab]);\n\n const [createModalOpen, setCreateModalOpen] = useState(false);\n const [updateModalOpen, setUpdateModalOpen] = useState(false);\n const [deleteModalOpen, setDeleteModalOpen] = useState(false);\n\n const hasUpdateField = fields.some((field) => field.update);\n const hasDeleteField = fields.some((field) => field.delete);\n\n const mobileActions: Action<T>[] = [];\n if (hasUpdateField) {\n mobileActions.push({\n icon: <IconPencil size={14} />,\n label: \"Bearbeiten\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setUpdateModalOpen(true);\n },\n });\n }\n if (actions) {\n mobileActions.push(...actions);\n }\n if (hasDeleteField) {\n mobileActions.push({\n icon: <IconTrash size={14} />,\n label: \"Löschen\",\n onClick: (records: T[]) => {\n setSelectedRecords(records);\n setDeleteModalOpen(true);\n },\n });\n }\n\n return (\n <>\n <Group gap=\"xs\" justify={title ? \"space-between\" : \"end\"} align=\"center\" wrap=\"wrap\">\n {title &&\n (typeof title === \"string\" ? (\n <Title order={4}>{title}</Title>\n ) : (\n title\n ))}\n <Group align=\"center\" gap=\"xs\" wrap=\"wrap\" justify=\"end\" style={{ marginLeft: \"auto\" }}>\n {showRefresh && (\n <ActionIcon\n variant=\"subtle\"\n onClick={() => refetch()}\n aria-label=\"Neuladen\"\n >\n <IconRefresh />\n </ActionIcon>\n )}\n {(fields.some((field) => field.update) || selection) && (() => {\n const hasUpdateAction = fields.find((field) => field.update) && \n (!canUpdate || (selectedRecords.length > 0 && canUpdate(selectedRecords[0])));\n const hasDeleteAction = fields.find((field) => field.delete) && \n (!canDelete || (selectedRecords.length > 0 && canDelete(selectedRecords[0])));\n const hasCustomActions = (actions ?? []).length > 0;\n const hasAnyAction = hasUpdateAction || hasDeleteAction || hasCustomActions;\n\n return (\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n <Menu shadow=\"md\">\n <Menu.Target>\n <Button\n variant=\"outline\"\n rightSection={<IconCaretDownFilled size={14} />}\n disabled={!selectedRecords.length || !hasAnyAction}\n >\n Aktionen\n </Button>\n </Menu.Target>\n <Menu.Dropdown>\n {hasUpdateAction && (\n <Menu.Item\n leftSection={<IconPencil size={14} />}\n onClick={() => setUpdateModalOpen(true)}\n disabled={selectedRecords.length !== 1}\n >\n Bearbeiten\n </Menu.Item>\n )}\n {(actions ?? []).map((action, index) => (\n <Menu.Item\n {...(action.icon && { leftSection: action.icon })}\n key={`custom_action_${index}`}\n onClick={() => action.onClick(selectedRecords)}\n disabled={action.disabled?.(selectedRecords) ?? false}\n >\n {action.label}\n </Menu.Item>\n ))}\n {hasDeleteAction && (\n <Menu.Item\n leftSection={<IconTrash size={14} />}\n onClick={() => setDeleteModalOpen(true)}\n color=\"red\"\n >\n Löschen\n </Menu.Item>\n )}\n </Menu.Dropdown>\n </Menu>\n </Box>\n );\n })()}\n {fields.find((field) => field.create) && (\n <Button\n onClick={() => setCreateModalOpen(true)}\n disabled={isLoading}\n >\n {createButtonText ?? \"Erstellen\"}\n </Button>\n )}\n {buttons}\n </Group>\n </Group>\n\n {tabs && tabs.length > 0 && (\n <Tabs value={activeTab} onChange={handleTabChange} mt=\"md\">\n <Tabs.List>\n {tabs.map((tab) => (\n <Tabs.Tab\n key={tab.value}\n value={tab.value}\n leftSection={tab.icon}\n >\n {tab.label}\n </Tabs.Tab>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n\n {isError && (\n <Alert\n mt=\"md\"\n variant=\"light\"\n color=\"red\"\n title=\"Es ist ein Fehler aufgetreten.\"\n icon={<IconInfoCircle />}\n >\n Bitte versuche es später erneut oder sende eine Nachricht an unseren\n Support.\n </Alert>\n )}\n\n {(isLoading || isRefetching) && (\n <Stack my=\"md\">\n <Skeleton height={40} />\n {Array(5)\n .fill(0)\n .map((_, index) => (\n <Skeleton key={`skeleton-${index}`} height={35} />\n ))}\n </Stack>\n )}\n\n {!isLoading && !isRefetching && (\n <>\n <Box {...(mobileCards ? { visibleFrom: \"sm\" } : {})}>\n {/* @ts-expect-error - conditional pagination spread not compatible with strict prop types */}\n <MantineDataTable\n my=\"md\"\n striped\n highlightOnHover\n minHeight={150}\n fetching={isError}\n records={records}\n sortStatus={sortStatus}\n onSortStatusChange={handleSortChange}\n {...(selection && {\n selectedRecords,\n onSelectedRecordsChange: setSelectedRecords,\n })}\n {...(pagination &&\n records.length && {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n onPageChange: setPage,\n page,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: setPageSize,\n recordsPerPageLabel: \"Einträge pro Seite\",\n })}\n {...(rowExpansion && {\n rowExpansion: {\n allowMultiple: rowExpansion.allowMultiple ?? false,\n content: ({ record }: { record: T }) => rowExpansion.content(record),\n ...(rowExpansion.expanded && {\n expanded: rowExpansion.expanded,\n }),\n },\n })}\n columns={fields.map((field) => field.column)}\n noRecordsText=\"Keine Einträge gefunden\"\n onRowClick={onRowClick}\n {...(onRowClick && { style: { cursor: \"pointer\" } })}\n />\n </Box>\n\n {mobileCards && (\n <Box hiddenFrom=\"sm\">\n <MobileCardList\n records={records}\n fields={fields}\n selection={selection}\n selectedRecords={selectedRecords}\n onSelectedRecordsChange={setSelectedRecords}\n onRowClick={onRowClick}\n sort={{\n field: String(sortStatus.columnAccessor),\n direction: sortStatus.direction,\n onSortChange: (field, direction) => {\n handleSortChange({ columnAccessor: field as keyof T, direction });\n },\n }}\n {...(pagination && records.length && {\n pagination: {\n totalRecords: sortedData.length,\n recordsPerPage: pageSize,\n page,\n onPageChange: setPage,\n recordsPerPageOptions: PAGE_SIZES,\n onRecordsPerPageChange: (size: number) => { setPageSize(size); setPage(1); },\n },\n })}\n {...(rowExpansion && {\n rowExpansion: { content: rowExpansion.content },\n })}\n {...(mobileActions.length > 0 && {\n actions: mobileActions,\n canUpdate,\n canDelete,\n })}\n />\n </Box>\n )}\n\n\n </>\n )}\n\n <Modal\n opened={updateModalOpen}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Bearbeiten\"}\n >\n {selectedRecords.length > 0 && (\n <UpdateModal<T>\n fields={fields.filter((field) => field.update)}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n id={selectedRecords[0].id}\n onClose={() => {\n setUpdateModalOpen(false);\n setSelectedRecords([]);\n }}\n steps={steps}\n />\n )}\n </Modal>\n\n {selectedRecords.length > 0 && (\n <Modal\n opened={deleteModalOpen}\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n title={title ?? \"Löschen\"}\n >\n <DeleteModal<T>\n onClose={() => {\n setDeleteModalOpen(false);\n setSelectedRecords([]);\n }}\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n selectedRecords={selectedRecords}\n confirmMessage={deleteConfirmMessage}\n />\n </Modal>\n )}\n\n <Modal\n opened={createModalOpen}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n title={title ?? \"Anlegen\"}\n >\n <CreateModal<T>\n queryKey={queryKey}\n apiPath={effectiveMutationApiPath}\n onClose={() => {\n setCreateModalOpen(false);\n }}\n fields={fields.filter((field) => field.create)}\n steps={steps}\n />\n </Modal>\n </>\n );\n}\n","import { BaseEntity } from \"../Hooks/useApi.ts\";\nimport { DataTableInner, DataTableProps } from \"./DataTableInner.tsx\";\n\nexport function DataTable<T extends BaseEntity>(props: DataTableProps<T>) {\n return <DataTableInner<T> {...props} />;\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,25,26],"mappings":"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"}
|