schummar-table 0.51.1 → 0.51.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +17 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +17 -6
- package/dist/index.js.map +1 -1
- package/dist/mui4Theme.cjs +1 -1
- package/dist/mui4Theme.js +1 -1
- package/dist/mui5Theme.cjs +1 -1
- package/dist/mui5Theme.js +1 -1
- package/dist/{tableSettings-ClxJL29H.js → tableSettings-CCjCl2iG.js} +2 -1
- package/dist/{tableSettings-ClxJL29H.js.map → tableSettings-CCjCl2iG.js.map} +1 -1
- package/dist/{tableSettings-D1787qFp.cjs → tableSettings-D1MSPxbQ.cjs} +2 -1
- package/dist/{tableSettings-D1787qFp.cjs.map → tableSettings-D1MSPxbQ.cjs.map} +1 -1
- package/package.json +1 -1
package/dist/mui4Theme.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-pbleEpgJ.cjs');
|
|
2
|
-
const require_tableSettings = require('./tableSettings-
|
|
2
|
+
const require_tableSettings = require('./tableSettings-D1MSPxbQ.cjs');
|
|
3
3
|
require('./csvExporter-BGoiph1b.cjs');
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_chunk.__toESM(react);
|
package/dist/mui4Theme.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as mergeThemes, n as TableSettingsProvider, o as Popover } from "./tableSettings-
|
|
1
|
+
import { a as mergeThemes, n as TableSettingsProvider, o as Popover } from "./tableSettings-CCjCl2iG.js";
|
|
2
2
|
import "./csvExporter-CqTylAk9.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { jsx } from "@emotion/react/jsx-runtime";
|
package/dist/mui5Theme.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-pbleEpgJ.cjs');
|
|
2
|
-
const require_tableSettings = require('./tableSettings-
|
|
2
|
+
const require_tableSettings = require('./tableSettings-D1MSPxbQ.cjs');
|
|
3
3
|
require('./csvExporter-BGoiph1b.cjs');
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_chunk.__toESM(react);
|
package/dist/mui5Theme.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as mergeThemes, n as TableSettingsProvider, o as Popover } from "./tableSettings-
|
|
1
|
+
import { a as mergeThemes, n as TableSettingsProvider, o as Popover } from "./tableSettings-CCjCl2iG.js";
|
|
2
2
|
import "./csvExporter-CqTylAk9.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
@@ -447,6 +447,7 @@ const cell = css({
|
|
|
447
447
|
borderBottom: "1px solid var(--table-border-light-color)",
|
|
448
448
|
whiteSpace: "nowrap",
|
|
449
449
|
overflow: "hidden",
|
|
450
|
+
minHeight: 5,
|
|
450
451
|
"&:empty": { padding: 0 }
|
|
451
452
|
});
|
|
452
453
|
const defaultClasses = {
|
|
@@ -682,4 +683,4 @@ function TableSettingsProvider({ theme, exporters, additionalExporters, children
|
|
|
682
683
|
|
|
683
684
|
//#endregion
|
|
684
685
|
export { mergeThemes as a, throttle as c, globalTableTheme as i, Store as l, TableSettingsProvider as n, Popover as o, configureTableTheme as r, defaultClasses as s, TableSettingsContext as t, StoreScope as u };
|
|
685
|
-
//# sourceMappingURL=tableSettings-
|
|
686
|
+
//# sourceMappingURL=tableSettings-CCjCl2iG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableSettings-ClxJL29H.js","names":["v","p","throttle","Store","throttle$1","e","lastArgs: Args | undefined","timeout: ReturnType<typeof setTimeout> | undefined","Popover: TableTheme['components']['Popover']"],"sources":["../node_modules/schummar-state/dist/es/store.js","../node_modules/schummar-state/dist/es/react.js","../src/misc/throttle.ts","../src/theme/defaultTheme/defaultClasses.ts","../src/theme/defaultTheme/popover.tsx","../src/theme/tableTheme.tsx","../src/misc/tableSettings.tsx"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __restKey = (key) => typeof key === \"symbol\" ? key : key + \"\";\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { freeze, enableMapSet, enablePatches, produce, applyPatches } from \"immer\";\nconst isAncestor = (ancestor, path) => {\n return ancestor.length <= path.length && ancestor.every((v, i) => v === \"*\" || path[i] === \"*\" || String(v) === String(path[i]));\n};\nconst get = (value, path) => {\n for (const part of path) {\n if (value instanceof Object && part in value)\n value = value[part];\n else {\n value = void 0;\n break;\n }\n }\n return value;\n};\nconst split = (value, path) => {\n const [first, ...rest] = path;\n if (first === void 0)\n return [value, []];\n if (rest.length === 0) {\n if (first === \"*\")\n return [{}, Object.entries(value).map(([k, v]) => ({ path: [k], value: v }))];\n if (!(first in value))\n return [value, []];\n const _a = value, { [first]: subValue } = _a, newValue2 = __objRest(_a, [__restKey(first)]);\n return [newValue2, [{ path: [first], value: subValue }]];\n }\n const newValue = __spreadValues({}, value);\n const subValues = new Array();\n for (const key of first === \"*\" ? Object.keys(value) : [first]) {\n if (!(newValue[key] instanceof Object))\n return [value, []];\n const result = split(newValue[key], rest);\n newValue[key] = result[0];\n subValues.push(...result[1].map((s) => ({ path: [key, ...s.path], value: s.value })));\n }\n return [newValue, subValues];\n};\nclass StorePersist {\n constructor(store, storage, options = {}) {\n this.store = store;\n this.storage = storage;\n this.options = options;\n this.replayPatches = new Array();\n this.isInitialized = false;\n this.whenInitialized = this.load();\n this.isStopped = false;\n this.saveQueue = new Array();\n this.isSaving = false;\n if (!options.paths) {\n this.paths = [{ path: [], throttleMs: options.throttleMs }];\n } else {\n this.paths = options.paths.map((p) => {\n var _a;\n return {\n path: (typeof p === \"object\" ? p.path : p).split(\".\"),\n throttleMs: (_a = typeof p === \"object\" ? p.throttleMs : void 0) != null ? _a : options.throttleMs\n };\n });\n }\n this.paths.sort((a, b) => b.path.length - a.path.length);\n this.watch();\n }\n async load() {\n var _a;\n try {\n const storage = this.storage;\n let keys;\n if (\"keys\" in storage) {\n keys = await storage.keys();\n } else {\n const length = storage.length instanceof Function ? await storage.length() : storage.length;\n keys = new Array();\n for (let i = 0; i < length; i++) {\n const key = await storage.key(i);\n if (key !== null)\n keys.push(key);\n }\n }\n keys.sort((a, b) => a.length - b.length);\n const patches = new Array();\n for (const key of keys) {\n const value = await storage.getItem(key);\n if (value) {\n patches.push({\n path: key.split(\".\"),\n op: \"replace\",\n value: value === \"undefined\" ? void 0 : JSON.parse(value),\n persist: this\n });\n }\n }\n if (this.isStopped) {\n return false;\n }\n if (patches.length > 0) {\n this.store.applyPatches(patches);\n }\n this.isInitialized = true;\n if (this.replayPatches.length > 0) {\n this.store.applyPatches(this.replayPatches);\n this.replayPatches = [];\n }\n return true;\n } catch (e) {\n ((_a = this.options.log) != null ? _a : console.error)(\"Failed to load storePersist:\", e);\n return false;\n }\n }\n watch() {\n this.sub = this.store.subscribePatches((patches) => {\n for (const patch of patches) {\n if (patch.persist === this) {\n continue;\n } else if (this.isInitialized === true) {\n this.addToSaveQueue(patch.path);\n } else {\n this.replayPatches.push(patch);\n }\n }\n });\n }\n addToSaveQueue(path) {\n var _a;\n const match = this.paths.find((p) => isAncestor(p.path, path));\n if (!match)\n return;\n path = path.slice(0, match.path.length);\n const t = Date.now() + ((_a = match.throttleMs) != null ? _a : 0);\n if (this.saveQueue.some((i) => i.t <= t && isAncestor(i.path, path)))\n return;\n this.saveQueue.push({ path, t });\n this.saveQueue.sort((a, b) => a.t - b.t);\n this.run();\n }\n async run() {\n if (this.saveTimeout)\n clearTimeout(this.saveTimeout);\n const next = this.saveQueue[0];\n if (!next)\n return;\n if (next.t > Date.now()) {\n this.saveTimeout = setTimeout(() => this.run(), next.t - Date.now());\n return;\n }\n try {\n this.isSaving = true;\n this.saveQueue.shift();\n await this.save(next.path);\n } finally {\n this.isSaving = false;\n this.run();\n }\n }\n async save(path) {\n var _a, _b;\n const { store, storage } = this;\n let value = get(store.getState(), path);\n const subPaths = this.paths.filter((p) => isAncestor(path, p.path) && p.path.length > path.length).map((p) => p.path.slice(path.length));\n const subValues = new Array();\n for (const subPath of subPaths) {\n const result2 = split(value, subPath);\n value = result2[0];\n subValues.push(...result2[1].map((s) => ({ path: [...path, ...s.path], value: s.value })));\n }\n const result = storage.setItem(path.join(\".\"), (_a = JSON.stringify(value)) != null ? _a : \"undefined\");\n if (result instanceof Promise)\n await result;\n for (const { path: path2, value: value2 } of subValues) {\n const result2 = storage.setItem(path2.join(\".\"), (_b = JSON.stringify(value2)) != null ? _b : \"undefined\");\n if (result2 instanceof Promise)\n await result2;\n }\n }\n stop() {\n var _a;\n this.isStopped = true;\n (_a = this.sub) == null ? void 0 : _a.call(this);\n }\n}\nfunction hash(arg) {\n return JSON.stringify({ arg }, (_key, value) => {\n if (value instanceof Object && !(value instanceof Array)) {\n const obj = {};\n for (const key of Object.keys(value).sort()) {\n obj[key] = value[key];\n }\n return obj;\n }\n return value;\n });\n}\nvar react = function equal(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == \"object\" && typeof b == \"object\") {\n if (a.constructor !== b.constructor)\n return false;\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (!equal(a[i], b[i]))\n return false;\n return true;\n }\n if (a instanceof Map && b instanceof Map) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n for (i of a.entries())\n if (!equal(i[1], b.get(i[0])))\n return false;\n return true;\n }\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n return true;\n }\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (a[i] !== b[i])\n return false;\n return true;\n }\n if (a.constructor === RegExp)\n return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf)\n return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString)\n return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(b, keys[i]))\n return false;\n for (i = length; i-- !== 0; ) {\n var key = keys[i];\n if (key === \"_owner\" && a.$$typeof) {\n continue;\n }\n if (!equal(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n};\nfunction createSelector(stringSelector) {\n const parts = stringSelector.split(\".\");\n return (state) => parts.reduce((v, p) => v instanceof Object && p in v ? v[p] : void 0, state);\n}\nfunction setWithSelector(state, stringSelector, value) {\n const parts = stringSelector.split(\".\");\n const prefix = parts.slice(0, -1);\n const last = parts[parts.length - 1];\n for (const part of prefix) {\n if (state instanceof Object && part in state) {\n state = state[part];\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n }\n if (state instanceof Object) {\n state[last] = value;\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n}\nfunction throttle(fn, ms) {\n let last = 0;\n let lastArgs;\n let timeout;\n function run() {\n const args = lastArgs;\n last = Date.now();\n lastArgs = void 0;\n timeout = void 0;\n fn(...args);\n }\n return function(...args) {\n const now = Date.now();\n lastArgs = args;\n if (timeout)\n ;\n else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n };\n}\nconst RESTART_UPDATE = Symbol(\"RESTART_UPDATE\");\nclass Store {\n constructor(state, { log = (...data) => console.error(...data) } = {}) {\n this.state = state;\n this.subscriptions = new Set();\n this.batchCounter = 0;\n this.reactions = new Set();\n this.patches = new Array();\n freeze(state, true);\n enableMapSet();\n enablePatches();\n this.options = {\n log\n };\n }\n getState() {\n return this.state;\n }\n update(update) {\n this.checkLock();\n this.state = produce(this.state, (draft) => update(draft, this.state), (patches) => this.patches.push(...patches));\n this.notify();\n }\n set(state) {\n this.checkLock();\n this.state = produce(this.state, () => state, (patches) => this.patches.push(...patches));\n this.notify();\n }\n applyPatches(patches) {\n this.checkLock();\n this.state = applyPatches(this.state, patches);\n this.patches.push(...patches);\n this.notify();\n }\n batchUpdates(fn) {\n try {\n this.batchCounter++;\n fn();\n } finally {\n this.batchCounter--;\n if (this.batchCounter === 0) {\n this.notify();\n }\n }\n }\n subscribe(...args) {\n let selector, listener, options;\n if (args[1] instanceof Function) {\n [selector, listener, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, listener, options] = [(x) => x, ...args];\n }\n const { runNow = true, throttle: throttle$1 = 0, compare = react } = options != null ? options : {};\n const throttledListener = throttle$1 ? throttle(listener, throttle$1) : listener;\n let value = selector(this.state);\n const internalListener = (state, _patches, init) => {\n try {\n const oldValue = value;\n value = selector(state);\n if (!init && compare(value, oldValue))\n return;\n (init ? listener : throttledListener)(value, oldValue, this.state);\n } catch (e) {\n this.options.log(\"Failed to execute listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n if (runNow)\n internalListener(this.state, [], true);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n addReaction(...args) {\n let selector, reaction, options;\n if (args[1] instanceof Function) {\n [selector, reaction, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, reaction, options] = [(x) => x, ...args];\n }\n const { runNow = true, compare = react } = options != null ? options : {};\n let value = selector(this.state);\n const internalListener = (init) => {\n let hasChanged = false;\n try {\n this.lock = \"reaction\";\n const oldValue = value;\n value = selector(this.state);\n if (!init && compare(value, oldValue))\n return;\n this.state = produce(this.state, (draft) => reaction(value, draft, this.state, oldValue), (patches) => {\n hasChanged = true;\n this.patches.push(...patches);\n });\n } catch (e) {\n this.options.log(\"Failed to execute reaction:\", e);\n } finally {\n delete this.lock;\n }\n if (hasChanged && !init)\n throw RESTART_UPDATE;\n if (hasChanged && init)\n this.notify();\n };\n this.reactions.add(internalListener);\n if (runNow)\n internalListener(true);\n return () => {\n this.reactions.delete(internalListener);\n };\n }\n subscribePatches(listener) {\n const internalListener = (_state, patches) => {\n try {\n listener(patches);\n } catch (e) {\n this.options.log(\"Failed to execute patch listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n checkLock() {\n if (this.lock === \"reaction\") {\n throw Error(\"You cannot call update from within a reaction. Use the passed draft instead.\");\n }\n }\n notify() {\n if (this.batchCounter > 0 || this.patches.length === 0)\n return;\n try {\n for (const reaction of this.reactions) {\n reaction();\n }\n } catch (e) {\n return this.notify();\n }\n const patches = this.patches;\n this.patches = [];\n this.batchUpdates(() => {\n for (const subscription of this.subscriptions) {\n subscription(this.state, patches);\n }\n });\n }\n}\nexport { Store as S, StorePersist as a, createSelector as c, hash as h, react as r, setWithSelector as s };\n//# sourceMappingURL=store.js.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a2, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n }\n return a2;\n};\nimport { c as createSelector, r as react, s as setWithSelector, S as Store$1, h as hash } from \"./store.js\";\nexport { a as StorePersist } from \"./store.js\";\nimport React, { useCallback, useDebugValue, useMemo, createContext, useContext, useEffect } from \"react\";\nimport \"immer\";\nvar withSelector = { exports: {} };\nvar withSelector_production_min = {};\nvar shim = { exports: {} };\nvar useSyncExternalStoreShim_production_min = {};\n/** @license React vundefined\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar e = React;\nfunction h$1(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar k = typeof Object.is === \"function\" ? Object.is : h$1, l = e.useState, m = e.useEffect, n$1 = e.useLayoutEffect, p$1 = e.useDebugValue;\nfunction q$1(a2, b) {\n var d = b(), f = l({ inst: { value: d, getSnapshot: b } }), c = f[0].inst, g = f[1];\n n$1(function() {\n c.value = d;\n c.getSnapshot = b;\n r$1(c) && g({ inst: c });\n }, [a2, d, b]);\n m(function() {\n r$1(c) && g({ inst: c });\n return a2(function() {\n r$1(c) && g({ inst: c });\n });\n }, [a2]);\n p$1(d);\n return d;\n}\nfunction r$1(a2) {\n var b = a2.getSnapshot;\n a2 = a2.value;\n try {\n var d = b();\n return !k(a2, d);\n } catch (f) {\n return true;\n }\n}\nfunction t$1(a2, b) {\n return b();\n}\nvar u$1 = typeof window === \"undefined\" || typeof window.document === \"undefined\" || typeof window.document.createElement === \"undefined\" ? t$1 : q$1;\nuseSyncExternalStoreShim_production_min.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : u$1;\n{\n shim.exports = useSyncExternalStoreShim_production_min;\n}\n/** @license React vundefined\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar h = React, n = shim.exports;\nfunction p(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar q = typeof Object.is === \"function\" ? Object.is : p, r = n.useSyncExternalStore, t = h.useRef, u = h.useEffect, v = h.useMemo, w = h.useDebugValue;\nwithSelector_production_min.useSyncExternalStoreWithSelector = function(a2, b, e2, l2, g) {\n var c = t(null);\n if (c.current === null) {\n var f = { hasValue: false, value: null };\n c.current = f;\n } else\n f = c.current;\n c = v(function() {\n function a3(a4) {\n if (!c2) {\n c2 = true;\n d2 = a4;\n a4 = l2(a4);\n if (g !== void 0 && f.hasValue) {\n var b2 = f.value;\n if (g(b2, a4))\n return k2 = b2;\n }\n return k2 = a4;\n }\n b2 = k2;\n if (q(d2, a4))\n return b2;\n var e3 = l2(a4);\n if (g !== void 0 && g(b2, e3))\n return b2;\n d2 = a4;\n return k2 = e3;\n }\n var c2 = false, d2, k2, m2 = e2 === void 0 ? null : e2;\n return [function() {\n return a3(b());\n }, m2 === null ? void 0 : function() {\n return a3(m2());\n }];\n }, [b, e2, l2, g]);\n var d = r(a2, c[0], c[1]);\n u(function() {\n f.hasValue = true;\n f.value = d;\n }, [d]);\n w(d);\n return d;\n};\n{\n withSelector.exports = withSelector_production_min;\n}\nfunction useStoreState(store, ...args) {\n var _a, _b, _c, _d;\n let selector, options;\n if (args[0] instanceof Function) {\n selector = args[0];\n options = (_a = args[1]) != null ? _a : {};\n } else if (typeof args[0] === \"string\") {\n selector = createSelector(args[0]);\n options = (_b = args[1]) != null ? _b : {};\n } else {\n selector = (x) => x;\n options = (_c = args[0]) != null ? _c : {};\n }\n const subscribe = useCallback((listener) => {\n return store.subscribe((x) => x, listener, {\n throttle: options.throttle,\n runNow: false,\n compare: (a2, b) => a2 === b\n });\n }, [store, options.throttle]);\n const getSnapshot = useCallback(() => store.getState(), [store]);\n const value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, selector, (_d = options.compare) != null ? _d : react);\n useDebugValue(value);\n return value;\n}\nfunction useStoreProp(store, selector) {\n const value = useStoreState(store, selector);\n const update = (value2) => store.update((state) => setWithSelector(state, selector, value2));\n return [value, update];\n}\nclass Store extends Store$1 {\n useState(...args) {\n return useStoreState(this, ...args);\n }\n useProp(selector) {\n return useStoreProp(this, selector);\n }\n}\nclass StoreScope {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n this.Provider = ({ children, store }) => {\n const _store = useMemo(() => store != null ? store : new Store(this.defaultValue), [store]);\n return /* @__PURE__ */ React.createElement(this.context.Provider, {\n value: _store\n }, children);\n };\n this.withScope = (Component) => {\n return (args) => /* @__PURE__ */ React.createElement(this.Provider, null, /* @__PURE__ */ React.createElement(Component, __spreadValues({}, args)));\n };\n this.context = createContext(new Store(defaultValue));\n }\n useStore() {\n return useContext(this.context);\n }\n useState(...args) {\n const store = this.useStore();\n return useStoreState(store, ...args);\n }\n useProp(selector) {\n const store = this.useStore();\n return useStoreProp(store, selector);\n }\n}\nfunction useResource(resource, options) {\n const { compare, dormant, throttle, updateOnMount, watchOnly } = options != null ? options : {};\n useEffect(() => {\n if (updateOnMount && !dormant) {\n resource.invalidateCache();\n }\n }, []);\n const subscribe = useCallback((listener) => {\n if (dormant)\n return () => {\n };\n return resource.subscribe(listener, {\n watchOnly,\n throttle,\n runNow: false,\n compare\n });\n }, [resource.id, watchOnly, dormant, throttle]);\n const getSnapshot = useCallback(() => resource.getCache(), [resource.id]);\n let value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, (x) => x, react);\n if (dormant) {\n value = { state: \"empty\", isLoading: false };\n }\n useDebugValue(value);\n return value;\n}\nfunction useReadResource(resource, options) {\n const info = useResource(resource, options);\n if (info.state === \"error\") {\n throw info.error;\n }\n if (info.state === \"empty\") {\n throw resource.get();\n }\n useDebugValue(info.value);\n return info.value;\n}\nfunction combineResources(...resources) {\n return {\n id: hash(resources.map((resource) => resource.id)),\n invalidateCache() {\n for (const resource of resources) {\n resource.invalidateCache();\n }\n },\n subscribe(listener, options) {\n const handles = resources.map((resource) => resource.subscribe(listener, options));\n return () => {\n for (const handle of handles) {\n handle();\n }\n };\n },\n getCache() {\n var _a;\n const caches = resources.map((resource) => resource.getCache());\n const isStale = caches.some((cache) => cache.isStale);\n const isLoading = caches.some((cache) => cache.isLoading);\n if (caches.some((resource) => resource.state === \"error\")) {\n const error = (_a = caches.find((cache) => cache.error !== void 0)) == null ? void 0 : _a.error;\n return { state: \"error\", error, isStale, isLoading };\n }\n if (caches.every((resource) => resource.state === \"value\")) {\n const value = caches.map((cache) => cache.value);\n return { state: \"value\", value, isStale, isLoading };\n }\n return { state: \"empty\", isLoading };\n },\n get() {\n return Promise.all(resources.map((resource) => resource.get()));\n }\n };\n}\nexport { Store, StoreScope, combineResources, useReadResource, useResource, useStoreState };\n//# sourceMappingURL=react.js.map\n","export function throttle<Args extends any[]>(\n function_: (...args: Args) => void,\n ms: number,\n): { (...args: Args): void; flush(): void; cancel(): void } {\n let last = 0;\n let lastArgs: Args | undefined;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n function run() {\n const args = lastArgs;\n\n last = Date.now();\n lastArgs = undefined;\n timeout = undefined;\n\n function_(...args!);\n }\n\n return Object.assign(\n function (...args: Args) {\n const now = Date.now();\n lastArgs = args;\n\n if (timeout) {\n // do nothing\n } else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n },\n {\n flush() {\n if (lastArgs) {\n run();\n }\n },\n\n cancel() {\n if (timeout) {\n clearTimeout(timeout);\n }\n },\n },\n );\n}\n","import { css } from '@emotion/react';\n\nconst cell = css({\n padding: `calc(var(--spacing) * 0.1) calc(2 * var(--spacing))`,\n display: 'flex',\n alignItems: 'center',\n borderBottom: '1px solid var(--table-border-light-color)',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n\n '&:empty': {\n padding: 0,\n },\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n color: 'var(--table-text-color)',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: '1px solid var(--table-border-light-color)',\n }),\n\n headerCell: css(cell, {\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n\n '&:not(:empty)': {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n },\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: '1px solid var(--table-border-color)',\n borderBottom: 'none',\n background: 'var(--table-background-color)',\n }),\n\n firstCell: css({\n justifyContent: 'start',\n }),\n\n sticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 2,\n }),\n\n stickyBottom: css({\n position: 'sticky',\n bottom: 0,\n zIndex: 2,\n }),\n\n headerFill: css({\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n footerFill: css({\n borderTop: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n text: css({\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n\n card: css({\n borderRadius: 4,\n boxShadow: '0px 3px 14px 2px rgb(0 0 0 / 12%)',\n background: 'var(--table-background-color)',\n }),\n\n clearFiltersButton: css({\n padding: `0 calc(2 * var(--spacing))`,\n fontWeight: 'bold',\n position: 'sticky',\n left: 0,\n maxWidth: 'fit-content',\n gridColumn: '2/-1',\n button: {\n color: 'var(--primaryMain) !important',\n border: 'solid 1px',\n borderColor: 'var(--primaryMain) !important',\n margin: 'var(--spacing)',\n },\n }),\n\n details: css(cell, {\n gridColumn: '1 / -1',\n whiteSpace: 'normal',\n }),\n};\n","import { useLayoutEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { throttle } from '../../misc/throttle';\nimport type { TableTheme } from '../../types';\nimport { defaultClasses } from './defaultClasses';\n\nconst MAX_OFFSET = 20;\n\nexport const Popover: TableTheme['components']['Popover'] = ({\n anchorEl,\n open,\n hidden,\n onClose,\n children,\n className,\n backdropClassName,\n align,\n}) => {\n const probe = useRef<HTMLDivElement>(null);\n const backdrop = useRef<HTMLDivElement>(null);\n const popper = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n if (!open) {\n return;\n }\n\n function check() {\n const marginLeft = parseFloat(getComputedStyle(popper.current ?? document.body).marginLeft);\n const marginRight = parseFloat(getComputedStyle(popper.current ?? document.body).marginRight);\n const marginTop = parseFloat(getComputedStyle(popper.current ?? document.body).marginTop);\n const marginBottom = parseFloat(\n getComputedStyle(popper.current ?? document.body).marginBottom,\n );\n popper.current?.style.setProperty('--margin-x', `${marginLeft + marginRight}px`);\n popper.current?.style.setProperty('--margin-y', `${marginTop + marginBottom}px`);\n\n if (hidden) {\n popper.current?.style.setProperty('visibility', 'hidden');\n return;\n }\n\n const viewportWidth = window.visualViewport?.width ?? window.innerWidth;\n const viewportHeight = window.visualViewport?.height ?? window.innerHeight;\n const { width: popperWidth = 0, height: popperHeight = 0 } =\n popper.current?.getBoundingClientRect() ?? {};\n\n const next = {\n left: 0,\n top: 0,\n };\n\n if (anchorEl) {\n const bb = anchorEl.getBoundingClientRect();\n\n if (align === 'center') {\n next.left = bb.left + bb.width / 2 - popperWidth / 2;\n } else {\n next.left =\n bb.left -\n Math.min(popperWidth ? popperWidth / 2 : Number.POSITIVE_INFINITY, MAX_OFFSET);\n }\n\n next.top = bb.bottom;\n } else {\n next.left = (viewportWidth - popperWidth) / 2;\n next.top = (viewportHeight - popperHeight) / 2;\n }\n\n if (next.left > viewportWidth - popperWidth - marginLeft - marginRight) {\n next.left = viewportWidth - popperWidth - marginLeft - marginRight;\n }\n if (next.left < marginLeft) {\n next.left = marginLeft;\n }\n if (next.top > viewportHeight - popperHeight - marginTop - marginBottom) {\n next.top = viewportHeight - popperHeight - marginTop - marginBottom;\n }\n if (next.top < marginTop) {\n next.top = marginTop;\n }\n\n popper.current?.style.setProperty('left', `${next.left}px`);\n popper.current?.style.setProperty('top', `${next.top}px`);\n popper.current?.style.setProperty('visibility', 'visible');\n }\n const checkThrottled = throttle(check, 16);\n check();\n\n const handle = setInterval(checkThrottled, 1000);\n window.addEventListener('resize', checkThrottled);\n window.addEventListener('scroll', checkThrottled, true);\n\n return () => {\n clearInterval(handle);\n window.removeEventListener('resize', checkThrottled);\n window.removeEventListener('scroll', checkThrottled, true);\n };\n }, [anchorEl, open, hidden, align]);\n\n useLayoutEffect(() => {\n if (!open) return;\n\n const ancestors = [];\n for (let node = probe.current?.parentElement; node; node = node.parentElement) {\n ancestors.push(node);\n }\n\n for (const node of ancestors.reverse()) {\n const value = document.defaultView?.getComputedStyle(node).getPropertyValue('z-index');\n\n if (value && !Number.isNaN(Number(value))) {\n const newZIndex = Number(value) + 1;\n\n if (\n backdrop.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(backdrop.current).getPropertyValue('z-index'),\n ) > newZIndex\n )\n ) {\n backdrop.current?.style.setProperty('z-index', newZIndex.toString());\n }\n\n if (\n popper.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(popper.current).getPropertyValue('z-index'),\n ) >\n newZIndex + 1\n )\n ) {\n popper.current?.style.setProperty('z-index', (newZIndex + 1).toString());\n }\n return;\n }\n }\n }, [anchorEl, open]);\n\n if (!open) return null;\n\n return (\n <>\n <div\n ref={probe}\n css={{\n display: 'none',\n }}\n />\n\n {createPortal(\n <>\n <div\n ref={backdrop}\n className={backdropClassName}\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n hidden && { display: 'none' },\n ]}\n onClick={() => onClose()}\n />\n\n <div\n ref={popper}\n className={className}\n css={[\n defaultClasses.card,\n {\n position: 'fixed',\n width: 'max-content',\n maxWidth: [\n `calc(100vw - (100vw - 100%) - var(--margin-x))`,\n `calc(100dvw - (100dvw - 100%) - var(--margin-x))`,\n ],\n maxHeight: [\n `calc(100vh - (100vh - 100%) - var(--margin-x))`,\n `calc(100dvh - (100dvh - 100%) - var(--margin-x))`,\n ],\n margin: 10,\n zIndex: 1,\n overflowY: 'auto',\n color: 'var(--table-text-color)',\n visibility: 'hidden',\n },\n hidden && { display: 'none' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </>\n );\n};\n","import { Store } from 'schummar-state/react';\nimport type { PartialTableTheme } from '../types';\n\nexport const globalTableTheme = new Store<PartialTableTheme>({});\n\nexport function configureTableTheme(tableTheme: PartialTableTheme) {\n globalTableTheme.set(tableTheme);\n}\n\nexport function mergeThemes<T>(...themes: PartialTableTheme<T>[]): PartialTableTheme<T> {\n return {\n text: Object.assign({}, ...themes.map((theme) => theme.text)),\n classes: Object.assign({}, ...themes.map((theme) => theme.classes)),\n styles: Object.assign({}, ...themes.map((theme) => theme.styles)),\n components: Object.assign({}, ...themes.map((theme) => theme.components)),\n icons: Object.assign({}, ...themes.map((theme) => theme.icons)),\n colors: {\n primary: Object.assign({}, ...themes.map((theme) => theme.colors?.primary)),\n secondary: Object.assign({}, ...themes.map((theme) => theme.colors?.secondary)),\n blocked: Object.assign({}, ...themes.map((theme) => theme.colors?.blocked)),\n background: themes\n .map((theme) => theme.colors?.background)\n .reverse()\n .find((x) => x !== undefined),\n text: themes\n .map((theme) => theme.colors?.text)\n .reverse()\n .find((x) => x !== undefined),\n border: themes\n .map((theme) => theme.colors?.border)\n .reverse()\n .find((x) => x !== undefined),\n borderLight: themes\n .map((theme) => theme.colors?.borderLight)\n .reverse()\n .find((x) => x !== undefined),\n },\n spacing: themes\n .map((theme) => theme.spacing)\n .reverse()\n .find((x) => x !== undefined),\n };\n}\n","import { ReactNode, createContext, useContext } from 'react';\nimport CsvExporter from '../exporters/csvExporter';\nimport { ExporterEntry } from '../exporters/exporter';\nimport { PartialTableTheme } from '../types';\n\nexport interface TableSettingsContextType {\n theme: PartialTableTheme;\n exporters: ExporterEntry[];\n}\n\nexport const TableSettingsContext = createContext<TableSettingsContextType>({\n theme: {},\n exporters: [\n { action: 'copy', exporter: new CsvExporter() },\n { action: 'download', exporter: new CsvExporter() },\n ],\n});\n\nexport function TableSettingsProvider({\n theme,\n exporters,\n additionalExporters,\n children,\n}: Partial<TableSettingsContextType> & {\n additionalExporters?: ExporterEntry[];\n children?: ReactNode;\n}) {\n const inherited = useContext(TableSettingsContext);\n theme ??= inherited.theme;\n exporters ??= inherited.exporters;\n\n if (additionalExporters) {\n exporters = [...exporters, ...additionalExporters];\n }\n\n return (\n <TableSettingsContext.Provider\n value={{\n theme,\n exporters,\n }}\n >\n {children}\n </TableSettingsContext.Provider>\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableSettings-CCjCl2iG.js","names":["v","p","throttle","Store","throttle$1","e","lastArgs: Args | undefined","timeout: ReturnType<typeof setTimeout> | undefined","Popover: TableTheme['components']['Popover']"],"sources":["../node_modules/schummar-state/dist/es/store.js","../node_modules/schummar-state/dist/es/react.js","../src/misc/throttle.ts","../src/theme/defaultTheme/defaultClasses.ts","../src/theme/defaultTheme/popover.tsx","../src/theme/tableTheme.tsx","../src/misc/tableSettings.tsx"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __restKey = (key) => typeof key === \"symbol\" ? key : key + \"\";\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { freeze, enableMapSet, enablePatches, produce, applyPatches } from \"immer\";\nconst isAncestor = (ancestor, path) => {\n return ancestor.length <= path.length && ancestor.every((v, i) => v === \"*\" || path[i] === \"*\" || String(v) === String(path[i]));\n};\nconst get = (value, path) => {\n for (const part of path) {\n if (value instanceof Object && part in value)\n value = value[part];\n else {\n value = void 0;\n break;\n }\n }\n return value;\n};\nconst split = (value, path) => {\n const [first, ...rest] = path;\n if (first === void 0)\n return [value, []];\n if (rest.length === 0) {\n if (first === \"*\")\n return [{}, Object.entries(value).map(([k, v]) => ({ path: [k], value: v }))];\n if (!(first in value))\n return [value, []];\n const _a = value, { [first]: subValue } = _a, newValue2 = __objRest(_a, [__restKey(first)]);\n return [newValue2, [{ path: [first], value: subValue }]];\n }\n const newValue = __spreadValues({}, value);\n const subValues = new Array();\n for (const key of first === \"*\" ? Object.keys(value) : [first]) {\n if (!(newValue[key] instanceof Object))\n return [value, []];\n const result = split(newValue[key], rest);\n newValue[key] = result[0];\n subValues.push(...result[1].map((s) => ({ path: [key, ...s.path], value: s.value })));\n }\n return [newValue, subValues];\n};\nclass StorePersist {\n constructor(store, storage, options = {}) {\n this.store = store;\n this.storage = storage;\n this.options = options;\n this.replayPatches = new Array();\n this.isInitialized = false;\n this.whenInitialized = this.load();\n this.isStopped = false;\n this.saveQueue = new Array();\n this.isSaving = false;\n if (!options.paths) {\n this.paths = [{ path: [], throttleMs: options.throttleMs }];\n } else {\n this.paths = options.paths.map((p) => {\n var _a;\n return {\n path: (typeof p === \"object\" ? p.path : p).split(\".\"),\n throttleMs: (_a = typeof p === \"object\" ? p.throttleMs : void 0) != null ? _a : options.throttleMs\n };\n });\n }\n this.paths.sort((a, b) => b.path.length - a.path.length);\n this.watch();\n }\n async load() {\n var _a;\n try {\n const storage = this.storage;\n let keys;\n if (\"keys\" in storage) {\n keys = await storage.keys();\n } else {\n const length = storage.length instanceof Function ? await storage.length() : storage.length;\n keys = new Array();\n for (let i = 0; i < length; i++) {\n const key = await storage.key(i);\n if (key !== null)\n keys.push(key);\n }\n }\n keys.sort((a, b) => a.length - b.length);\n const patches = new Array();\n for (const key of keys) {\n const value = await storage.getItem(key);\n if (value) {\n patches.push({\n path: key.split(\".\"),\n op: \"replace\",\n value: value === \"undefined\" ? void 0 : JSON.parse(value),\n persist: this\n });\n }\n }\n if (this.isStopped) {\n return false;\n }\n if (patches.length > 0) {\n this.store.applyPatches(patches);\n }\n this.isInitialized = true;\n if (this.replayPatches.length > 0) {\n this.store.applyPatches(this.replayPatches);\n this.replayPatches = [];\n }\n return true;\n } catch (e) {\n ((_a = this.options.log) != null ? _a : console.error)(\"Failed to load storePersist:\", e);\n return false;\n }\n }\n watch() {\n this.sub = this.store.subscribePatches((patches) => {\n for (const patch of patches) {\n if (patch.persist === this) {\n continue;\n } else if (this.isInitialized === true) {\n this.addToSaveQueue(patch.path);\n } else {\n this.replayPatches.push(patch);\n }\n }\n });\n }\n addToSaveQueue(path) {\n var _a;\n const match = this.paths.find((p) => isAncestor(p.path, path));\n if (!match)\n return;\n path = path.slice(0, match.path.length);\n const t = Date.now() + ((_a = match.throttleMs) != null ? _a : 0);\n if (this.saveQueue.some((i) => i.t <= t && isAncestor(i.path, path)))\n return;\n this.saveQueue.push({ path, t });\n this.saveQueue.sort((a, b) => a.t - b.t);\n this.run();\n }\n async run() {\n if (this.saveTimeout)\n clearTimeout(this.saveTimeout);\n const next = this.saveQueue[0];\n if (!next)\n return;\n if (next.t > Date.now()) {\n this.saveTimeout = setTimeout(() => this.run(), next.t - Date.now());\n return;\n }\n try {\n this.isSaving = true;\n this.saveQueue.shift();\n await this.save(next.path);\n } finally {\n this.isSaving = false;\n this.run();\n }\n }\n async save(path) {\n var _a, _b;\n const { store, storage } = this;\n let value = get(store.getState(), path);\n const subPaths = this.paths.filter((p) => isAncestor(path, p.path) && p.path.length > path.length).map((p) => p.path.slice(path.length));\n const subValues = new Array();\n for (const subPath of subPaths) {\n const result2 = split(value, subPath);\n value = result2[0];\n subValues.push(...result2[1].map((s) => ({ path: [...path, ...s.path], value: s.value })));\n }\n const result = storage.setItem(path.join(\".\"), (_a = JSON.stringify(value)) != null ? _a : \"undefined\");\n if (result instanceof Promise)\n await result;\n for (const { path: path2, value: value2 } of subValues) {\n const result2 = storage.setItem(path2.join(\".\"), (_b = JSON.stringify(value2)) != null ? _b : \"undefined\");\n if (result2 instanceof Promise)\n await result2;\n }\n }\n stop() {\n var _a;\n this.isStopped = true;\n (_a = this.sub) == null ? void 0 : _a.call(this);\n }\n}\nfunction hash(arg) {\n return JSON.stringify({ arg }, (_key, value) => {\n if (value instanceof Object && !(value instanceof Array)) {\n const obj = {};\n for (const key of Object.keys(value).sort()) {\n obj[key] = value[key];\n }\n return obj;\n }\n return value;\n });\n}\nvar react = function equal(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == \"object\" && typeof b == \"object\") {\n if (a.constructor !== b.constructor)\n return false;\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (!equal(a[i], b[i]))\n return false;\n return true;\n }\n if (a instanceof Map && b instanceof Map) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n for (i of a.entries())\n if (!equal(i[1], b.get(i[0])))\n return false;\n return true;\n }\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n return true;\n }\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (a[i] !== b[i])\n return false;\n return true;\n }\n if (a.constructor === RegExp)\n return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf)\n return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString)\n return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(b, keys[i]))\n return false;\n for (i = length; i-- !== 0; ) {\n var key = keys[i];\n if (key === \"_owner\" && a.$$typeof) {\n continue;\n }\n if (!equal(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n};\nfunction createSelector(stringSelector) {\n const parts = stringSelector.split(\".\");\n return (state) => parts.reduce((v, p) => v instanceof Object && p in v ? v[p] : void 0, state);\n}\nfunction setWithSelector(state, stringSelector, value) {\n const parts = stringSelector.split(\".\");\n const prefix = parts.slice(0, -1);\n const last = parts[parts.length - 1];\n for (const part of prefix) {\n if (state instanceof Object && part in state) {\n state = state[part];\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n }\n if (state instanceof Object) {\n state[last] = value;\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n}\nfunction throttle(fn, ms) {\n let last = 0;\n let lastArgs;\n let timeout;\n function run() {\n const args = lastArgs;\n last = Date.now();\n lastArgs = void 0;\n timeout = void 0;\n fn(...args);\n }\n return function(...args) {\n const now = Date.now();\n lastArgs = args;\n if (timeout)\n ;\n else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n };\n}\nconst RESTART_UPDATE = Symbol(\"RESTART_UPDATE\");\nclass Store {\n constructor(state, { log = (...data) => console.error(...data) } = {}) {\n this.state = state;\n this.subscriptions = new Set();\n this.batchCounter = 0;\n this.reactions = new Set();\n this.patches = new Array();\n freeze(state, true);\n enableMapSet();\n enablePatches();\n this.options = {\n log\n };\n }\n getState() {\n return this.state;\n }\n update(update) {\n this.checkLock();\n this.state = produce(this.state, (draft) => update(draft, this.state), (patches) => this.patches.push(...patches));\n this.notify();\n }\n set(state) {\n this.checkLock();\n this.state = produce(this.state, () => state, (patches) => this.patches.push(...patches));\n this.notify();\n }\n applyPatches(patches) {\n this.checkLock();\n this.state = applyPatches(this.state, patches);\n this.patches.push(...patches);\n this.notify();\n }\n batchUpdates(fn) {\n try {\n this.batchCounter++;\n fn();\n } finally {\n this.batchCounter--;\n if (this.batchCounter === 0) {\n this.notify();\n }\n }\n }\n subscribe(...args) {\n let selector, listener, options;\n if (args[1] instanceof Function) {\n [selector, listener, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, listener, options] = [(x) => x, ...args];\n }\n const { runNow = true, throttle: throttle$1 = 0, compare = react } = options != null ? options : {};\n const throttledListener = throttle$1 ? throttle(listener, throttle$1) : listener;\n let value = selector(this.state);\n const internalListener = (state, _patches, init) => {\n try {\n const oldValue = value;\n value = selector(state);\n if (!init && compare(value, oldValue))\n return;\n (init ? listener : throttledListener)(value, oldValue, this.state);\n } catch (e) {\n this.options.log(\"Failed to execute listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n if (runNow)\n internalListener(this.state, [], true);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n addReaction(...args) {\n let selector, reaction, options;\n if (args[1] instanceof Function) {\n [selector, reaction, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, reaction, options] = [(x) => x, ...args];\n }\n const { runNow = true, compare = react } = options != null ? options : {};\n let value = selector(this.state);\n const internalListener = (init) => {\n let hasChanged = false;\n try {\n this.lock = \"reaction\";\n const oldValue = value;\n value = selector(this.state);\n if (!init && compare(value, oldValue))\n return;\n this.state = produce(this.state, (draft) => reaction(value, draft, this.state, oldValue), (patches) => {\n hasChanged = true;\n this.patches.push(...patches);\n });\n } catch (e) {\n this.options.log(\"Failed to execute reaction:\", e);\n } finally {\n delete this.lock;\n }\n if (hasChanged && !init)\n throw RESTART_UPDATE;\n if (hasChanged && init)\n this.notify();\n };\n this.reactions.add(internalListener);\n if (runNow)\n internalListener(true);\n return () => {\n this.reactions.delete(internalListener);\n };\n }\n subscribePatches(listener) {\n const internalListener = (_state, patches) => {\n try {\n listener(patches);\n } catch (e) {\n this.options.log(\"Failed to execute patch listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n checkLock() {\n if (this.lock === \"reaction\") {\n throw Error(\"You cannot call update from within a reaction. Use the passed draft instead.\");\n }\n }\n notify() {\n if (this.batchCounter > 0 || this.patches.length === 0)\n return;\n try {\n for (const reaction of this.reactions) {\n reaction();\n }\n } catch (e) {\n return this.notify();\n }\n const patches = this.patches;\n this.patches = [];\n this.batchUpdates(() => {\n for (const subscription of this.subscriptions) {\n subscription(this.state, patches);\n }\n });\n }\n}\nexport { Store as S, StorePersist as a, createSelector as c, hash as h, react as r, setWithSelector as s };\n//# sourceMappingURL=store.js.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a2, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n }\n return a2;\n};\nimport { c as createSelector, r as react, s as setWithSelector, S as Store$1, h as hash } from \"./store.js\";\nexport { a as StorePersist } from \"./store.js\";\nimport React, { useCallback, useDebugValue, useMemo, createContext, useContext, useEffect } from \"react\";\nimport \"immer\";\nvar withSelector = { exports: {} };\nvar withSelector_production_min = {};\nvar shim = { exports: {} };\nvar useSyncExternalStoreShim_production_min = {};\n/** @license React vundefined\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar e = React;\nfunction h$1(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar k = typeof Object.is === \"function\" ? Object.is : h$1, l = e.useState, m = e.useEffect, n$1 = e.useLayoutEffect, p$1 = e.useDebugValue;\nfunction q$1(a2, b) {\n var d = b(), f = l({ inst: { value: d, getSnapshot: b } }), c = f[0].inst, g = f[1];\n n$1(function() {\n c.value = d;\n c.getSnapshot = b;\n r$1(c) && g({ inst: c });\n }, [a2, d, b]);\n m(function() {\n r$1(c) && g({ inst: c });\n return a2(function() {\n r$1(c) && g({ inst: c });\n });\n }, [a2]);\n p$1(d);\n return d;\n}\nfunction r$1(a2) {\n var b = a2.getSnapshot;\n a2 = a2.value;\n try {\n var d = b();\n return !k(a2, d);\n } catch (f) {\n return true;\n }\n}\nfunction t$1(a2, b) {\n return b();\n}\nvar u$1 = typeof window === \"undefined\" || typeof window.document === \"undefined\" || typeof window.document.createElement === \"undefined\" ? t$1 : q$1;\nuseSyncExternalStoreShim_production_min.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : u$1;\n{\n shim.exports = useSyncExternalStoreShim_production_min;\n}\n/** @license React vundefined\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar h = React, n = shim.exports;\nfunction p(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar q = typeof Object.is === \"function\" ? Object.is : p, r = n.useSyncExternalStore, t = h.useRef, u = h.useEffect, v = h.useMemo, w = h.useDebugValue;\nwithSelector_production_min.useSyncExternalStoreWithSelector = function(a2, b, e2, l2, g) {\n var c = t(null);\n if (c.current === null) {\n var f = { hasValue: false, value: null };\n c.current = f;\n } else\n f = c.current;\n c = v(function() {\n function a3(a4) {\n if (!c2) {\n c2 = true;\n d2 = a4;\n a4 = l2(a4);\n if (g !== void 0 && f.hasValue) {\n var b2 = f.value;\n if (g(b2, a4))\n return k2 = b2;\n }\n return k2 = a4;\n }\n b2 = k2;\n if (q(d2, a4))\n return b2;\n var e3 = l2(a4);\n if (g !== void 0 && g(b2, e3))\n return b2;\n d2 = a4;\n return k2 = e3;\n }\n var c2 = false, d2, k2, m2 = e2 === void 0 ? null : e2;\n return [function() {\n return a3(b());\n }, m2 === null ? void 0 : function() {\n return a3(m2());\n }];\n }, [b, e2, l2, g]);\n var d = r(a2, c[0], c[1]);\n u(function() {\n f.hasValue = true;\n f.value = d;\n }, [d]);\n w(d);\n return d;\n};\n{\n withSelector.exports = withSelector_production_min;\n}\nfunction useStoreState(store, ...args) {\n var _a, _b, _c, _d;\n let selector, options;\n if (args[0] instanceof Function) {\n selector = args[0];\n options = (_a = args[1]) != null ? _a : {};\n } else if (typeof args[0] === \"string\") {\n selector = createSelector(args[0]);\n options = (_b = args[1]) != null ? _b : {};\n } else {\n selector = (x) => x;\n options = (_c = args[0]) != null ? _c : {};\n }\n const subscribe = useCallback((listener) => {\n return store.subscribe((x) => x, listener, {\n throttle: options.throttle,\n runNow: false,\n compare: (a2, b) => a2 === b\n });\n }, [store, options.throttle]);\n const getSnapshot = useCallback(() => store.getState(), [store]);\n const value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, selector, (_d = options.compare) != null ? _d : react);\n useDebugValue(value);\n return value;\n}\nfunction useStoreProp(store, selector) {\n const value = useStoreState(store, selector);\n const update = (value2) => store.update((state) => setWithSelector(state, selector, value2));\n return [value, update];\n}\nclass Store extends Store$1 {\n useState(...args) {\n return useStoreState(this, ...args);\n }\n useProp(selector) {\n return useStoreProp(this, selector);\n }\n}\nclass StoreScope {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n this.Provider = ({ children, store }) => {\n const _store = useMemo(() => store != null ? store : new Store(this.defaultValue), [store]);\n return /* @__PURE__ */ React.createElement(this.context.Provider, {\n value: _store\n }, children);\n };\n this.withScope = (Component) => {\n return (args) => /* @__PURE__ */ React.createElement(this.Provider, null, /* @__PURE__ */ React.createElement(Component, __spreadValues({}, args)));\n };\n this.context = createContext(new Store(defaultValue));\n }\n useStore() {\n return useContext(this.context);\n }\n useState(...args) {\n const store = this.useStore();\n return useStoreState(store, ...args);\n }\n useProp(selector) {\n const store = this.useStore();\n return useStoreProp(store, selector);\n }\n}\nfunction useResource(resource, options) {\n const { compare, dormant, throttle, updateOnMount, watchOnly } = options != null ? options : {};\n useEffect(() => {\n if (updateOnMount && !dormant) {\n resource.invalidateCache();\n }\n }, []);\n const subscribe = useCallback((listener) => {\n if (dormant)\n return () => {\n };\n return resource.subscribe(listener, {\n watchOnly,\n throttle,\n runNow: false,\n compare\n });\n }, [resource.id, watchOnly, dormant, throttle]);\n const getSnapshot = useCallback(() => resource.getCache(), [resource.id]);\n let value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, (x) => x, react);\n if (dormant) {\n value = { state: \"empty\", isLoading: false };\n }\n useDebugValue(value);\n return value;\n}\nfunction useReadResource(resource, options) {\n const info = useResource(resource, options);\n if (info.state === \"error\") {\n throw info.error;\n }\n if (info.state === \"empty\") {\n throw resource.get();\n }\n useDebugValue(info.value);\n return info.value;\n}\nfunction combineResources(...resources) {\n return {\n id: hash(resources.map((resource) => resource.id)),\n invalidateCache() {\n for (const resource of resources) {\n resource.invalidateCache();\n }\n },\n subscribe(listener, options) {\n const handles = resources.map((resource) => resource.subscribe(listener, options));\n return () => {\n for (const handle of handles) {\n handle();\n }\n };\n },\n getCache() {\n var _a;\n const caches = resources.map((resource) => resource.getCache());\n const isStale = caches.some((cache) => cache.isStale);\n const isLoading = caches.some((cache) => cache.isLoading);\n if (caches.some((resource) => resource.state === \"error\")) {\n const error = (_a = caches.find((cache) => cache.error !== void 0)) == null ? void 0 : _a.error;\n return { state: \"error\", error, isStale, isLoading };\n }\n if (caches.every((resource) => resource.state === \"value\")) {\n const value = caches.map((cache) => cache.value);\n return { state: \"value\", value, isStale, isLoading };\n }\n return { state: \"empty\", isLoading };\n },\n get() {\n return Promise.all(resources.map((resource) => resource.get()));\n }\n };\n}\nexport { Store, StoreScope, combineResources, useReadResource, useResource, useStoreState };\n//# sourceMappingURL=react.js.map\n","export function throttle<Args extends any[]>(\n function_: (...args: Args) => void,\n ms: number,\n): { (...args: Args): void; flush(): void; cancel(): void } {\n let last = 0;\n let lastArgs: Args | undefined;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n function run() {\n const args = lastArgs;\n\n last = Date.now();\n lastArgs = undefined;\n timeout = undefined;\n\n function_(...args!);\n }\n\n return Object.assign(\n function (...args: Args) {\n const now = Date.now();\n lastArgs = args;\n\n if (timeout) {\n // do nothing\n } else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n },\n {\n flush() {\n if (lastArgs) {\n run();\n }\n },\n\n cancel() {\n if (timeout) {\n clearTimeout(timeout);\n }\n },\n },\n );\n}\n","import { css } from '@emotion/react';\n\nconst cell = css({\n padding: `calc(var(--spacing) * 0.1) calc(2 * var(--spacing))`,\n display: 'flex',\n alignItems: 'center',\n borderBottom: '1px solid var(--table-border-light-color)',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n minHeight: 5,\n\n '&:empty': {\n padding: 0,\n },\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n color: 'var(--table-text-color)',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: '1px solid var(--table-border-light-color)',\n }),\n\n headerCell: css(cell, {\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n\n '&:not(:empty)': {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n },\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: '1px solid var(--table-border-color)',\n borderBottom: 'none',\n background: 'var(--table-background-color)',\n }),\n\n firstCell: css({\n justifyContent: 'start',\n }),\n\n sticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 2,\n }),\n\n stickyBottom: css({\n position: 'sticky',\n bottom: 0,\n zIndex: 2,\n }),\n\n headerFill: css({\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n footerFill: css({\n borderTop: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n text: css({\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n\n card: css({\n borderRadius: 4,\n boxShadow: '0px 3px 14px 2px rgb(0 0 0 / 12%)',\n background: 'var(--table-background-color)',\n }),\n\n clearFiltersButton: css({\n padding: `0 calc(2 * var(--spacing))`,\n fontWeight: 'bold',\n position: 'sticky',\n left: 0,\n maxWidth: 'fit-content',\n gridColumn: '2/-1',\n button: {\n color: 'var(--primaryMain) !important',\n border: 'solid 1px',\n borderColor: 'var(--primaryMain) !important',\n margin: 'var(--spacing)',\n },\n }),\n\n details: css(cell, {\n gridColumn: '1 / -1',\n whiteSpace: 'normal',\n }),\n};\n","import { useLayoutEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { throttle } from '../../misc/throttle';\nimport type { TableTheme } from '../../types';\nimport { defaultClasses } from './defaultClasses';\n\nconst MAX_OFFSET = 20;\n\nexport const Popover: TableTheme['components']['Popover'] = ({\n anchorEl,\n open,\n hidden,\n onClose,\n children,\n className,\n backdropClassName,\n align,\n}) => {\n const probe = useRef<HTMLDivElement>(null);\n const backdrop = useRef<HTMLDivElement>(null);\n const popper = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n if (!open) {\n return;\n }\n\n function check() {\n const marginLeft = parseFloat(getComputedStyle(popper.current ?? document.body).marginLeft);\n const marginRight = parseFloat(getComputedStyle(popper.current ?? document.body).marginRight);\n const marginTop = parseFloat(getComputedStyle(popper.current ?? document.body).marginTop);\n const marginBottom = parseFloat(\n getComputedStyle(popper.current ?? document.body).marginBottom,\n );\n popper.current?.style.setProperty('--margin-x', `${marginLeft + marginRight}px`);\n popper.current?.style.setProperty('--margin-y', `${marginTop + marginBottom}px`);\n\n if (hidden) {\n popper.current?.style.setProperty('visibility', 'hidden');\n return;\n }\n\n const viewportWidth = window.visualViewport?.width ?? window.innerWidth;\n const viewportHeight = window.visualViewport?.height ?? window.innerHeight;\n const { width: popperWidth = 0, height: popperHeight = 0 } =\n popper.current?.getBoundingClientRect() ?? {};\n\n const next = {\n left: 0,\n top: 0,\n };\n\n if (anchorEl) {\n const bb = anchorEl.getBoundingClientRect();\n\n if (align === 'center') {\n next.left = bb.left + bb.width / 2 - popperWidth / 2;\n } else {\n next.left =\n bb.left -\n Math.min(popperWidth ? popperWidth / 2 : Number.POSITIVE_INFINITY, MAX_OFFSET);\n }\n\n next.top = bb.bottom;\n } else {\n next.left = (viewportWidth - popperWidth) / 2;\n next.top = (viewportHeight - popperHeight) / 2;\n }\n\n if (next.left > viewportWidth - popperWidth - marginLeft - marginRight) {\n next.left = viewportWidth - popperWidth - marginLeft - marginRight;\n }\n if (next.left < marginLeft) {\n next.left = marginLeft;\n }\n if (next.top > viewportHeight - popperHeight - marginTop - marginBottom) {\n next.top = viewportHeight - popperHeight - marginTop - marginBottom;\n }\n if (next.top < marginTop) {\n next.top = marginTop;\n }\n\n popper.current?.style.setProperty('left', `${next.left}px`);\n popper.current?.style.setProperty('top', `${next.top}px`);\n popper.current?.style.setProperty('visibility', 'visible');\n }\n const checkThrottled = throttle(check, 16);\n check();\n\n const handle = setInterval(checkThrottled, 1000);\n window.addEventListener('resize', checkThrottled);\n window.addEventListener('scroll', checkThrottled, true);\n\n return () => {\n clearInterval(handle);\n window.removeEventListener('resize', checkThrottled);\n window.removeEventListener('scroll', checkThrottled, true);\n };\n }, [anchorEl, open, hidden, align]);\n\n useLayoutEffect(() => {\n if (!open) return;\n\n const ancestors = [];\n for (let node = probe.current?.parentElement; node; node = node.parentElement) {\n ancestors.push(node);\n }\n\n for (const node of ancestors.reverse()) {\n const value = document.defaultView?.getComputedStyle(node).getPropertyValue('z-index');\n\n if (value && !Number.isNaN(Number(value))) {\n const newZIndex = Number(value) + 1;\n\n if (\n backdrop.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(backdrop.current).getPropertyValue('z-index'),\n ) > newZIndex\n )\n ) {\n backdrop.current?.style.setProperty('z-index', newZIndex.toString());\n }\n\n if (\n popper.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(popper.current).getPropertyValue('z-index'),\n ) >\n newZIndex + 1\n )\n ) {\n popper.current?.style.setProperty('z-index', (newZIndex + 1).toString());\n }\n return;\n }\n }\n }, [anchorEl, open]);\n\n if (!open) return null;\n\n return (\n <>\n <div\n ref={probe}\n css={{\n display: 'none',\n }}\n />\n\n {createPortal(\n <>\n <div\n ref={backdrop}\n className={backdropClassName}\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n hidden && { display: 'none' },\n ]}\n onClick={() => onClose()}\n />\n\n <div\n ref={popper}\n className={className}\n css={[\n defaultClasses.card,\n {\n position: 'fixed',\n width: 'max-content',\n maxWidth: [\n `calc(100vw - (100vw - 100%) - var(--margin-x))`,\n `calc(100dvw - (100dvw - 100%) - var(--margin-x))`,\n ],\n maxHeight: [\n `calc(100vh - (100vh - 100%) - var(--margin-x))`,\n `calc(100dvh - (100dvh - 100%) - var(--margin-x))`,\n ],\n margin: 10,\n zIndex: 1,\n overflowY: 'auto',\n color: 'var(--table-text-color)',\n visibility: 'hidden',\n },\n hidden && { display: 'none' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </>\n );\n};\n","import { Store } from 'schummar-state/react';\nimport type { PartialTableTheme } from '../types';\n\nexport const globalTableTheme = new Store<PartialTableTheme>({});\n\nexport function configureTableTheme(tableTheme: PartialTableTheme) {\n globalTableTheme.set(tableTheme);\n}\n\nexport function mergeThemes<T>(...themes: PartialTableTheme<T>[]): PartialTableTheme<T> {\n return {\n text: Object.assign({}, ...themes.map((theme) => theme.text)),\n classes: Object.assign({}, ...themes.map((theme) => theme.classes)),\n styles: Object.assign({}, ...themes.map((theme) => theme.styles)),\n components: Object.assign({}, ...themes.map((theme) => theme.components)),\n icons: Object.assign({}, ...themes.map((theme) => theme.icons)),\n colors: {\n primary: Object.assign({}, ...themes.map((theme) => theme.colors?.primary)),\n secondary: Object.assign({}, ...themes.map((theme) => theme.colors?.secondary)),\n blocked: Object.assign({}, ...themes.map((theme) => theme.colors?.blocked)),\n background: themes\n .map((theme) => theme.colors?.background)\n .reverse()\n .find((x) => x !== undefined),\n text: themes\n .map((theme) => theme.colors?.text)\n .reverse()\n .find((x) => x !== undefined),\n border: themes\n .map((theme) => theme.colors?.border)\n .reverse()\n .find((x) => x !== undefined),\n borderLight: themes\n .map((theme) => theme.colors?.borderLight)\n .reverse()\n .find((x) => x !== undefined),\n },\n spacing: themes\n .map((theme) => theme.spacing)\n .reverse()\n .find((x) => x !== undefined),\n };\n}\n","import { ReactNode, createContext, useContext } from 'react';\nimport CsvExporter from '../exporters/csvExporter';\nimport { ExporterEntry } from '../exporters/exporter';\nimport { PartialTableTheme } from '../types';\n\nexport interface TableSettingsContextType {\n theme: PartialTableTheme;\n exporters: ExporterEntry[];\n}\n\nexport const TableSettingsContext = createContext<TableSettingsContextType>({\n theme: {},\n exporters: [\n { action: 'copy', exporter: new CsvExporter() },\n { action: 'download', exporter: new CsvExporter() },\n ],\n});\n\nexport function TableSettingsProvider({\n theme,\n exporters,\n additionalExporters,\n children,\n}: Partial<TableSettingsContextType> & {\n additionalExporters?: ExporterEntry[];\n children?: ReactNode;\n}) {\n const inherited = useContext(TableSettingsContext);\n theme ??= inherited.theme;\n exporters ??= inherited.exporters;\n\n if (additionalExporters) {\n exporters = [...exporters, ...additionalExporters];\n }\n\n return (\n <TableSettingsContext.Provider\n value={{\n theme,\n exporters,\n }}\n >\n {children}\n </TableSettingsContext.Provider>\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;AA6NA,IAAI,QAAQ,SAAS,MAAM,GAAG,GAAG;AAC/B,KAAI,MAAM,EACR,QAAO;AACT,KAAI,KAAK,KAAK,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;AAC1D,MAAI,EAAE,gBAAgB,EAAE,YACtB,QAAO;EACT,IAAI,QAAQ,GAAG;AACf,MAAI,MAAM,QAAQ,EAAE,EAAE;AACpB,YAAS,EAAE;AACX,OAAI,UAAU,EAAE,OACd,QAAO;AACT,QAAK,IAAI,QAAQ,QAAQ,GACvB,KAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CACpB,QAAO;AACX,UAAO;;AAET,MAAI,aAAa,OAAO,aAAa,KAAK;AACxC,OAAI,EAAE,SAAS,EAAE,KACf,QAAO;AACT,QAAK,KAAK,EAAE,SAAS,CACnB,KAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CACd,QAAO;AACX,QAAK,KAAK,EAAE,SAAS,CACnB,KAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAC3B,QAAO;AACX,UAAO;;AAET,MAAI,aAAa,OAAO,aAAa,KAAK;AACxC,OAAI,EAAE,SAAS,EAAE,KACf,QAAO;AACT,QAAK,KAAK,EAAE,SAAS,CACnB,KAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CACd,QAAO;AACX,UAAO;;AAET,MAAI,YAAY,OAAO,EAAE,IAAI,YAAY,OAAO,EAAE,EAAE;AAClD,YAAS,EAAE;AACX,OAAI,UAAU,EAAE,OACd,QAAO;AACT,QAAK,IAAI,QAAQ,QAAQ,GACvB,KAAI,EAAE,OAAO,EAAE,GACb,QAAO;AACX,UAAO;;AAET,MAAI,EAAE,gBAAgB,OACpB,QAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;AAChD,MAAI,EAAE,YAAY,OAAO,UAAU,QACjC,QAAO,EAAE,SAAS,KAAK,EAAE,SAAS;AACpC,MAAI,EAAE,aAAa,OAAO,UAAU,SAClC,QAAO,EAAE,UAAU,KAAK,EAAE,UAAU;AACtC,SAAO,OAAO,KAAK,EAAE;AACrB,WAAS,KAAK;AACd,MAAI,WAAW,OAAO,KAAK,EAAE,CAAC,OAC5B,QAAO;AACT,OAAK,IAAI,QAAQ,QAAQ,GACvB,KAAI,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG,KAAK,GAAG,CACnD,QAAO;AACX,OAAK,IAAI,QAAQ,QAAQ,IAAK;GAC5B,IAAI,MAAM,KAAK;AACf,OAAI,QAAQ,YAAY,EAAE,SACxB;AAEF,OAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CACxB,QAAO;;AAEX,SAAO;;AAET,QAAO,MAAM,KAAK,MAAM;;AAE1B,SAAS,eAAe,gBAAgB;CACtC,MAAM,QAAQ,eAAe,MAAM,IAAI;AACvC,SAAQ,UAAU,MAAM,QAAQ,KAAG,QAAMA,eAAa,UAAUC,OAAKD,MAAIA,IAAEC,OAAK,KAAK,GAAG,MAAM;;AAEhG,SAAS,gBAAgB,OAAO,gBAAgB,OAAO;CACrD,MAAM,QAAQ,eAAe,MAAM,IAAI;CACvC,MAAM,SAAS,MAAM,MAAM,GAAG,GAAG;CACjC,MAAM,OAAO,MAAM,MAAM,SAAS;AAClC,MAAK,MAAM,QAAQ,OACjB,KAAI,iBAAiB,UAAU,QAAQ,MACrC,SAAQ,MAAM;KAEd,OAAM,MAAM,iBAAiB,eAAe,gBAAgB,eAAe,gBAAgB;AAG/F,KAAI,iBAAiB,OACnB,OAAM,QAAQ;KAEd,OAAM,MAAM,iBAAiB,eAAe,gBAAgB,eAAe,gBAAgB;;AAG/F,SAASC,WAAS,IAAI,IAAI;CACxB,IAAI,OAAO;CACX,IAAI;CACJ,IAAI;CACJ,SAAS,MAAM;EACb,MAAM,OAAO;AACb,SAAO,KAAK,KAAK;AACjB,aAAW,KAAK;AAChB,YAAU,KAAK;AACf,KAAG,GAAG,KAAK;;AAEb,QAAO,SAAS,GAAG,MAAM;EACvB,MAAM,MAAM,KAAK,KAAK;AACtB,aAAW;AACX,MAAI;WAEK,MAAM,OAAO,GACpB,WAAU,WAAW,KAAK,OAAO,KAAK,IAAI;MAE1C,MAAK;;;AAIX,MAAM,iBAAiB,OAAO,iBAAiB;AAC/C,IAAMC,UAAN,MAAY;CACV,YAAY,OAAO,EAAE,OAAO,GAAG,SAAS,QAAQ,MAAM,GAAG,KAAK,KAAK,EAAE,EAAE;AACrE,OAAK,QAAQ;AACb,OAAK,gCAAgB,IAAI,KAAK;AAC9B,OAAK,eAAe;AACpB,OAAK,4BAAY,IAAI,KAAK;AAC1B,OAAK,UAAU,IAAI,OAAO;AAC1B,SAAO,OAAO,KAAK;AACnB,gBAAc;AACd,iBAAe;AACf,OAAK,UAAU,EACb,KACD;;CAEH,WAAW;AACT,SAAO,KAAK;;CAEd,OAAO,QAAQ;AACb,OAAK,WAAW;AAChB,OAAK,QAAQ,QAAQ,KAAK,QAAQ,UAAU,OAAO,OAAO,KAAK,MAAM,GAAG,YAAY,KAAK,QAAQ,KAAK,GAAG,QAAQ,CAAC;AAClH,OAAK,QAAQ;;CAEf,IAAI,OAAO;AACT,OAAK,WAAW;AAChB,OAAK,QAAQ,QAAQ,KAAK,aAAa,QAAQ,YAAY,KAAK,QAAQ,KAAK,GAAG,QAAQ,CAAC;AACzF,OAAK,QAAQ;;CAEf,aAAa,SAAS;AACpB,OAAK,WAAW;AAChB,OAAK,QAAQ,aAAa,KAAK,OAAO,QAAQ;AAC9C,OAAK,QAAQ,KAAK,GAAG,QAAQ;AAC7B,OAAK,QAAQ;;CAEf,aAAa,IAAI;AACf,MAAI;AACF,QAAK;AACL,OAAI;YACI;AACR,QAAK;AACL,OAAI,KAAK,iBAAiB,EACxB,MAAK,QAAQ;;;CAInB,UAAU,GAAG,MAAM;EACjB,IAAI,UAAU,UAAU;AACxB,MAAI,KAAK,cAAc,UAAU;AAC/B,IAAC,UAAU,UAAU,WAAW;AAChC,OAAI,OAAO,aAAa,SACtB,YAAW,eAAe,SAAS;QAGrC,EAAC,UAAU,UAAU,WAAW,EAAE,MAAM,GAAG,GAAG,KAAK;EAErD,MAAM,EAAE,SAAS,MAAM,UAAUC,eAAa,GAAG,UAAU,UAAU,WAAW,OAAO,UAAU,EAAE;EACnG,MAAM,oBAAoBA,eAAaF,WAAS,UAAUE,aAAW,GAAG;EACxE,IAAI,QAAQ,SAAS,KAAK,MAAM;EAChC,MAAM,oBAAoB,OAAO,UAAU,SAAS;AAClD,OAAI;IACF,MAAM,WAAW;AACjB,YAAQ,SAAS,MAAM;AACvB,QAAI,CAAC,QAAQ,QAAQ,OAAO,SAAS,CACnC;AACF,KAAC,OAAO,WAAW,mBAAmB,OAAO,UAAU,KAAK,MAAM;YAC3DC,KAAG;AACV,SAAK,QAAQ,IAAI,+BAA+BA,IAAE;;;AAGtD,OAAK,cAAc,IAAI,iBAAiB;AACxC,MAAI,OACF,kBAAiB,KAAK,OAAO,EAAE,EAAE,KAAK;AACxC,eAAa;AACX,QAAK,cAAc,OAAO,iBAAiB;;;CAG/C,YAAY,GAAG,MAAM;EACnB,IAAI,UAAU,UAAU;AACxB,MAAI,KAAK,cAAc,UAAU;AAC/B,IAAC,UAAU,UAAU,WAAW;AAChC,OAAI,OAAO,aAAa,SACtB,YAAW,eAAe,SAAS;QAGrC,EAAC,UAAU,UAAU,WAAW,EAAE,MAAM,GAAG,GAAG,KAAK;EAErD,MAAM,EAAE,SAAS,MAAM,UAAU,UAAU,WAAW,OAAO,UAAU,EAAE;EACzE,IAAI,QAAQ,SAAS,KAAK,MAAM;EAChC,MAAM,oBAAoB,SAAS;GACjC,IAAI,aAAa;AACjB,OAAI;AACF,SAAK,OAAO;IACZ,MAAM,WAAW;AACjB,YAAQ,SAAS,KAAK,MAAM;AAC5B,QAAI,CAAC,QAAQ,QAAQ,OAAO,SAAS,CACnC;AACF,SAAK,QAAQ,QAAQ,KAAK,QAAQ,UAAU,SAAS,OAAO,OAAO,KAAK,OAAO,SAAS,GAAG,YAAY;AACrG,kBAAa;AACb,UAAK,QAAQ,KAAK,GAAG,QAAQ;MAC7B;YACKA,KAAG;AACV,SAAK,QAAQ,IAAI,+BAA+BA,IAAE;aAC1C;AACR,WAAO,KAAK;;AAEd,OAAI,cAAc,CAAC,KACjB,OAAM;AACR,OAAI,cAAc,KAChB,MAAK,QAAQ;;AAEjB,OAAK,UAAU,IAAI,iBAAiB;AACpC,MAAI,OACF,kBAAiB,KAAK;AACxB,eAAa;AACX,QAAK,UAAU,OAAO,iBAAiB;;;CAG3C,iBAAiB,UAAU;EACzB,MAAM,oBAAoB,QAAQ,YAAY;AAC5C,OAAI;AACF,aAAS,QAAQ;YACVA,KAAG;AACV,SAAK,QAAQ,IAAI,qCAAqCA,IAAE;;;AAG5D,OAAK,cAAc,IAAI,iBAAiB;AACxC,eAAa;AACX,QAAK,cAAc,OAAO,iBAAiB;;;CAG/C,YAAY;AACV,MAAI,KAAK,SAAS,WAChB,OAAM,MAAM,+EAA+E;;CAG/F,SAAS;AACP,MAAI,KAAK,eAAe,KAAK,KAAK,QAAQ,WAAW,EACnD;AACF,MAAI;AACF,QAAK,MAAM,YAAY,KAAK,UAC1B,WAAU;WAELA,KAAG;AACV,UAAO,KAAK,QAAQ;;EAEtB,MAAM,UAAU,KAAK;AACrB,OAAK,UAAU,EAAE;AACjB,OAAK,mBAAmB;AACtB,QAAK,MAAM,gBAAgB,KAAK,cAC9B,cAAa,KAAK,OAAO,QAAQ;IAEnC;;;;;;ACreN,IAAI,YAAY,OAAO;AACvB,IAAI,sBAAsB,OAAO;AACjC,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,mBAAmB,KAAK,KAAK,UAAU,OAAO,MAAM,UAAU,KAAK,KAAK;CAAE,YAAY;CAAM,cAAc;CAAM,UAAU;CAAM;CAAO,CAAC,GAAG,IAAI,OAAO;AAC1J,IAAI,kBAAkB,IAAI,MAAM;AAC9B,MAAK,IAAI,QAAQ,MAAM,IAAI,EAAE,EAC3B,KAAI,aAAa,KAAK,GAAG,KAAK,CAC5B,iBAAgB,IAAI,MAAM,EAAE,MAAM;AACtC,KAAI,qBACF;OAAK,IAAI,QAAQ,oBAAoB,EAAE,CACrC,KAAI,aAAa,KAAK,GAAG,KAAK,CAC5B,iBAAgB,IAAI,MAAM,EAAE,MAAM;;AAExC,QAAO;;AAMT,IAAI,eAAe,EAAE,SAAS,EAAE,EAAE;AAClC,IAAI,8BAA8B,EAAE;AACpC,IAAI,OAAO,EAAE,SAAS,EAAE,EAAE;AAC1B,IAAI,0CAA0C,EAAE;;;;;;;;;AAShD,IAAI,IAAI;AACR,SAAS,IAAI,IAAI,GAAG;AAClB,QAAO,OAAO,MAAM,OAAO,KAAK,IAAI,OAAO,IAAI,MAAM,OAAO,MAAM,MAAM;;AAE1E,IAAI,IAAI,OAAO,OAAO,OAAO,aAAa,OAAO,KAAK,KAAK,IAAI,EAAE,UAAU,IAAI,EAAE,WAAW,MAAM,EAAE,iBAAiB,MAAM,EAAE;AAC7H,SAAS,IAAI,IAAI,GAAG;CAClB,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM;EAAE,OAAO;EAAG,aAAa;EAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE;AACjF,KAAI,WAAW;AACb,IAAE,QAAQ;AACV,IAAE,cAAc;AAChB,MAAI,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;IACvB;EAAC;EAAI;EAAG;EAAE,CAAC;AACd,GAAE,WAAW;AACX,MAAI,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AACxB,SAAO,GAAG,WAAW;AACnB,OAAI,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;IACxB;IACD,CAAC,GAAG,CAAC;AACR,KAAI,EAAE;AACN,QAAO;;AAET,SAAS,IAAI,IAAI;CACf,IAAI,IAAI,GAAG;AACX,MAAK,GAAG;AACR,KAAI;EACF,IAAI,IAAI,GAAG;AACX,SAAO,CAAC,EAAE,IAAI,EAAE;UACT,GAAG;AACV,SAAO;;;AAGX,SAAS,IAAI,IAAI,GAAG;AAClB,QAAO,GAAG;;AAEZ,IAAI,MAAM,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa,eAAe,OAAO,OAAO,SAAS,kBAAkB,cAAc,MAAM;AAClJ,wCAAwC,uBAAuB,EAAE,yBAAyB,KAAK,IAAI,EAAE,uBAAuB;AAE1H,KAAK,UAAU;;;;;;;;;AAUjB,IAAI,IAAI,OAAO,IAAI,KAAK;AACxB,SAAS,EAAE,IAAI,GAAG;AAChB,QAAO,OAAO,MAAM,OAAO,KAAK,IAAI,OAAO,IAAI,MAAM,OAAO,MAAM,MAAM;;AAE1E,IAAI,IAAI,OAAO,OAAO,OAAO,aAAa,OAAO,KAAK,GAAG,IAAI,EAAE,sBAAsB,IAAI,EAAE,QAAQ,IAAI,EAAE,WAAW,IAAI,EAAE,SAAS,IAAI,EAAE;AACzI,4BAA4B,mCAAmC,SAAS,IAAI,GAAG,IAAI,IAAI,GAAG;CACxF,IAAI,IAAI,EAAE,KAAK;AACf,KAAI,EAAE,YAAY,MAAM;EACtB,IAAI,IAAI;GAAE,UAAU;GAAO,OAAO;GAAM;AACxC,IAAE,UAAU;OAEZ,KAAI,EAAE;AACR,KAAI,EAAE,WAAW;EACf,SAAS,GAAG,IAAI;AACd,OAAI,CAAC,IAAI;AACP,SAAK;AACL,SAAK;AACL,SAAK,GAAG,GAAG;AACX,QAAI,MAAM,KAAK,KAAK,EAAE,UAAU;KAC9B,IAAI,KAAK,EAAE;AACX,SAAI,EAAE,IAAI,GAAG,CACX,QAAO,KAAK;;AAEhB,WAAO,KAAK;;AAEd,QAAK;AACL,OAAI,EAAE,IAAI,GAAG,CACX,QAAO;GACT,IAAI,KAAK,GAAG,GAAG;AACf,OAAI,MAAM,KAAK,KAAK,EAAE,IAAI,GAAG,CAC3B,QAAO;AACT,QAAK;AACL,UAAO,KAAK;;EAEd,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,KAAK,IAAI,OAAO;AACpD,SAAO,CAAC,WAAW;AACjB,UAAO,GAAG,GAAG,CAAC;KACb,OAAO,OAAO,KAAK,IAAI,WAAW;AACnC,UAAO,GAAG,IAAI,CAAC;IACf;IACD;EAAC;EAAG;EAAI;EAAI;EAAE,CAAC;CAClB,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG;AACzB,GAAE,WAAW;AACX,IAAE,WAAW;AACb,IAAE,QAAQ;IACT,CAAC,EAAE,CAAC;AACP,GAAE,EAAE;AACJ,QAAO;;AAGP,aAAa,UAAU;AAEzB,SAAS,cAAc,OAAO,GAAG,MAAM;CACrC,IAAI,IAAI,IAAI,IAAI;CAChB,IAAI,UAAU;AACd,KAAI,KAAK,cAAc,UAAU;AAC/B,aAAW,KAAK;AAChB,aAAW,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE;YACjC,OAAO,KAAK,OAAO,UAAU;AACtC,aAAW,eAAe,KAAK,GAAG;AAClC,aAAW,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE;QACrC;AACL,cAAY,MAAM;AAClB,aAAW,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE;;CAE5C,MAAM,YAAY,aAAa,aAAa;AAC1C,SAAO,MAAM,WAAW,MAAM,GAAG,UAAU;GACzC,UAAU,QAAQ;GAClB,QAAQ;GACR,UAAU,IAAI,MAAM,OAAO;GAC5B,CAAC;IACD,CAAC,OAAO,QAAQ,SAAS,CAAC;CAC7B,MAAM,cAAc,kBAAkB,MAAM,UAAU,EAAE,CAAC,MAAM,CAAC;CAChE,MAAM,QAAQ,aAAa,QAAQ,iCAAiC,WAAW,aAAa,aAAa,WAAW,KAAK,QAAQ,YAAY,OAAO,KAAK,MAAM;AAC/J,eAAc,MAAM;AACpB,QAAO;;AAET,SAAS,aAAa,OAAO,UAAU;CACrC,MAAM,QAAQ,cAAc,OAAO,SAAS;CAC5C,MAAM,UAAU,WAAW,MAAM,QAAQ,UAAU,gBAAgB,OAAO,UAAU,OAAO,CAAC;AAC5F,QAAO,CAAC,OAAO,OAAO;;AAExB,IAAM,QAAN,cAAoB,QAAQ;CAC1B,SAAS,GAAG,MAAM;AAChB,SAAO,cAAc,MAAM,GAAG,KAAK;;CAErC,QAAQ,UAAU;AAChB,SAAO,aAAa,MAAM,SAAS;;;AAGvC,IAAM,aAAN,MAAiB;CACf,YAAY,cAAc;AACxB,OAAK,eAAe;AACpB,OAAK,YAAY,EAAE,UAAU,YAAY;GACvC,MAAM,SAAS,cAAc,SAAS,OAAO,QAAQ,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC,MAAM,CAAC;AAC3F,UAAuB,sBAAM,cAAc,KAAK,QAAQ,UAAU,EAChE,OAAO,QACR,EAAE,SAAS;;AAEd,OAAK,aAAa,cAAc;AAC9B,WAAQ,SAAyB,sBAAM,cAAc,KAAK,UAAU,MAAsB,sBAAM,cAAc,WAAW,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;;AAErJ,OAAK,UAAU,cAAc,IAAI,MAAM,aAAa,CAAC;;CAEvD,WAAW;AACT,SAAO,WAAW,KAAK,QAAQ;;CAEjC,SAAS,GAAG,MAAM;AAEhB,SAAO,cADO,KAAK,UAAU,EACD,GAAG,KAAK;;CAEtC,QAAQ,UAAU;AAEhB,SAAO,aADO,KAAK,UAAU,EACF,SAAS;;;;;;AChMxC,SAAgB,SACd,WACA,IAC0D;CAC1D,IAAI,OAAO;CACX,IAAIC;CACJ,IAAIC;CAEJ,SAAS,MAAM;EACb,MAAM,OAAO;AAEb,SAAO,KAAK,KAAK;AACjB,aAAW;AACX,YAAU;AAEV,YAAU,GAAG,KAAM;;AAGrB,QAAO,OAAO,OACZ,SAAU,GAAG,MAAY;EACvB,MAAM,MAAM,KAAK,KAAK;AACtB,aAAW;AAEX,MAAI,SAAS,YAEF,MAAM,OAAO,GACtB,WAAU,WAAW,KAAK,OAAO,KAAK,IAAI;MAE1C,MAAK;IAGT;EACE,QAAQ;AACN,OAAI,SACF,MAAK;;EAIT,SAAS;AACP,OAAI,QACF,cAAa,QAAQ;;EAG1B,CACF;;;;;AC1CH,MAAM,OAAO,IAAI;CACf,SAAS;CACT,SAAS;CACT,YAAY;CACZ,cAAc;CACd,YAAY;CACZ,UAAU;CACV,WAAW;CAEX,WAAW,EACT,SAAS,GACV;CACF,CAAC;AAEF,MAAa,iBAAiB;CAC5B,OAAO,IAAI;EACT,UAAU;EACV,SAAS;EACT,OAAO;EACR,CAAC;CAEF;CAEA,UAAU,IAAI,EACZ,cAAc,6CACf,CAAC;CAEF,YAAY,IAAI,MAAM;EACpB,cAAc;EACd,YAAY;EAEZ,iBAAiB,EACf,SAAS,4DACV;EACF,CAAC;CAEF,YAAY,IAAI,MAAM;EACpB,SAAS;EACT,WAAW;EACX,cAAc;EACd,YAAY;EACb,CAAC;CAEF,WAAW,IAAI,EACb,gBAAgB,SACjB,CAAC;CAEF,QAAQ,IAAI;EACV,UAAU;EACV,KAAK;EACL,QAAQ;EACT,CAAC;CAEF,cAAc,IAAI;EAChB,UAAU;EACV,QAAQ;EACR,QAAQ;EACT,CAAC;CAEF,YAAY,IAAI;EACd,cAAc;EACd,YAAY;EACb,CAAC;CAEF,YAAY,IAAI;EACd,WAAW;EACX,YAAY;EACb,CAAC;CAEF,MAAM,IAAI;EACR,UAAU;EACV,UAAU;EACV,cAAc;EACf,CAAC;CAEF,MAAM,IAAI;EACR,cAAc;EACd,WAAW;EACX,YAAY;EACb,CAAC;CAEF,oBAAoB,IAAI;EACtB,SAAS;EACT,YAAY;EACZ,UAAU;EACV,MAAM;EACN,UAAU;EACV,YAAY;EACZ,QAAQ;GACN,OAAO;GACP,QAAQ;GACR,aAAa;GACb,QAAQ;GACT;EACF,CAAC;CAEF,SAAS,IAAI,MAAM;EACjB,YAAY;EACZ,YAAY;EACb,CAAC;CACH;;;;AChGD,MAAM,aAAa;AAEnB,MAAaC,WAAgD,EAC3D,UACA,MACA,QACA,SACA,UACA,WACA,mBACA,YACI;CACJ,MAAM,QAAQ,OAAuB,KAAK;CAC1C,MAAM,WAAW,OAAuB,KAAK;CAC7C,MAAM,SAAS,OAAuB,KAAK;AAE3C,uBAAsB;AACpB,MAAI,CAAC,KACH;EAGF,SAAS,QAAQ;GACf,MAAM,aAAa,WAAW,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,WAAW;GAC3F,MAAM,cAAc,WAAW,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,YAAY;GAC7F,MAAM,YAAY,WAAW,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,UAAU;GACzF,MAAM,eAAe,WACnB,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,aACnD;AACD,UAAO,SAAS,MAAM,YAAY,cAAc,GAAG,aAAa,YAAY,IAAI;AAChF,UAAO,SAAS,MAAM,YAAY,cAAc,GAAG,YAAY,aAAa,IAAI;AAEhF,OAAI,QAAQ;AACV,WAAO,SAAS,MAAM,YAAY,cAAc,SAAS;AACzD;;GAGF,MAAM,gBAAgB,OAAO,gBAAgB,SAAS,OAAO;GAC7D,MAAM,iBAAiB,OAAO,gBAAgB,UAAU,OAAO;GAC/D,MAAM,EAAE,OAAO,cAAc,GAAG,QAAQ,eAAe,MACrD,OAAO,SAAS,uBAAuB,IAAI,EAAE;GAE/C,MAAM,OAAO;IACX,MAAM;IACN,KAAK;IACN;AAED,OAAI,UAAU;IACZ,MAAM,KAAK,SAAS,uBAAuB;AAE3C,QAAI,UAAU,SACZ,MAAK,OAAO,GAAG,OAAO,GAAG,QAAQ,IAAI,cAAc;QAEnD,MAAK,OACH,GAAG,OACH,KAAK,IAAI,cAAc,cAAc,IAAI,OAAO,mBAAmB,WAAW;AAGlF,SAAK,MAAM,GAAG;UACT;AACL,SAAK,QAAQ,gBAAgB,eAAe;AAC5C,SAAK,OAAO,iBAAiB,gBAAgB;;AAG/C,OAAI,KAAK,OAAO,gBAAgB,cAAc,aAAa,YACzD,MAAK,OAAO,gBAAgB,cAAc,aAAa;AAEzD,OAAI,KAAK,OAAO,WACd,MAAK,OAAO;AAEd,OAAI,KAAK,MAAM,iBAAiB,eAAe,YAAY,aACzD,MAAK,MAAM,iBAAiB,eAAe,YAAY;AAEzD,OAAI,KAAK,MAAM,UACb,MAAK,MAAM;AAGb,UAAO,SAAS,MAAM,YAAY,QAAQ,GAAG,KAAK,KAAK,IAAI;AAC3D,UAAO,SAAS,MAAM,YAAY,OAAO,GAAG,KAAK,IAAI,IAAI;AACzD,UAAO,SAAS,MAAM,YAAY,cAAc,UAAU;;EAE5D,MAAM,iBAAiB,SAAS,OAAO,GAAG;AAC1C,SAAO;EAEP,MAAM,SAAS,YAAY,gBAAgB,IAAK;AAChD,SAAO,iBAAiB,UAAU,eAAe;AACjD,SAAO,iBAAiB,UAAU,gBAAgB,KAAK;AAEvD,eAAa;AACX,iBAAc,OAAO;AACrB,UAAO,oBAAoB,UAAU,eAAe;AACpD,UAAO,oBAAoB,UAAU,gBAAgB,KAAK;;IAE3D;EAAC;EAAU;EAAM;EAAQ;EAAM,CAAC;AAEnC,uBAAsB;AACpB,MAAI,CAAC,KAAM;EAEX,MAAM,YAAY,EAAE;AACpB,OAAK,IAAI,OAAO,MAAM,SAAS,eAAe,MAAM,OAAO,KAAK,cAC9D,WAAU,KAAK,KAAK;AAGtB,OAAK,MAAM,QAAQ,UAAU,SAAS,EAAE;GACtC,MAAM,QAAQ,SAAS,aAAa,iBAAiB,KAAK,CAAC,iBAAiB,UAAU;AAEtF,OAAI,SAAS,CAAC,OAAO,MAAM,OAAO,MAAM,CAAC,EAAE;IACzC,MAAM,YAAY,OAAO,MAAM,GAAG;AAElC,QACE,SAAS,WACT,EACE,OACE,SAAS,aAAa,iBAAiB,SAAS,QAAQ,CAAC,iBAAiB,UAAU,CACrF,GAAG,WAGN,UAAS,SAAS,MAAM,YAAY,WAAW,UAAU,UAAU,CAAC;AAGtE,QACE,OAAO,WACP,EACE,OACE,SAAS,aAAa,iBAAiB,OAAO,QAAQ,CAAC,iBAAiB,UAAU,CACnF,GACD,YAAY,GAGd,QAAO,SAAS,MAAM,YAAY,YAAY,YAAY,GAAG,UAAU,CAAC;AAE1E;;;IAGH,CAAC,UAAU,KAAK,CAAC;AAEpB,KAAI,CAAC,KAAM,QAAO;AAElB,QACE,8CACE,oBAAC;EACC,KAAK;EACL,KAAK,EACH,SAAS,QACV;GACD,EAED,aACC,8CACE,oBAAC;EACC,KAAK;EACL,WAAW;EACX,KAAK,CACH;GACE,UAAU;GACV,MAAM;GACN,OAAO;GACP,KAAK;GACL,QAAQ;GACT,EACD,UAAU,EAAE,SAAS,QAAQ,CAC9B;EACD,eAAe,SAAS;GACxB,EAEF,oBAAC;EACC,KAAK;EACM;EACX,KAAK;GACH,eAAe;GACf;IACE,UAAU;IACV,OAAO;IACP,UAAU,CACR,kDACA,mDACD;IACD,WAAW,CACT,kDACA,mDACD;IACD,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,YAAY;IACb;GACD,UAAU,EAAE,SAAS,QAAQ;GAC9B;EAEA;GACG,IACL,EACH,SAAS,KACV,IACA;;;;;ACrMP,MAAa,mBAAmB,IAAI,MAAyB,EAAE,CAAC;AAEhE,SAAgB,oBAAoB,YAA+B;AACjE,kBAAiB,IAAI,WAAW;;AAGlC,SAAgB,YAAe,GAAG,QAAsD;AACtF,QAAO;EACL,MAAM,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,KAAK,CAAC;EAC7D,SAAS,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,CAAC;EACnE,QAAQ,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,OAAO,CAAC;EACjE,YAAY,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,WAAW,CAAC;EACzE,OAAO,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,MAAM,CAAC;EAC/D,QAAQ;GACN,SAAS,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,QAAQ,CAAC;GAC3E,WAAW,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,UAAU,CAAC;GAC/E,SAAS,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,QAAQ,CAAC;GAC3E,YAAY,OACT,KAAK,UAAU,MAAM,QAAQ,WAAW,CACxC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAC/B,MAAM,OACH,KAAK,UAAU,MAAM,QAAQ,KAAK,CAClC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAC/B,QAAQ,OACL,KAAK,UAAU,MAAM,QAAQ,OAAO,CACpC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAC/B,aAAa,OACV,KAAK,UAAU,MAAM,QAAQ,YAAY,CACzC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAChC;EACD,SAAS,OACN,KAAK,UAAU,MAAM,QAAQ,CAC7B,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;EAChC;;;;;AC/BH,MAAa,uBAAuB,cAAwC;CAC1E,OAAO,EAAE;CACT,WAAW,CACT;EAAE,QAAQ;EAAQ,UAAU,IAAI,aAAa;EAAE,EAC/C;EAAE,QAAQ;EAAY,UAAU,IAAI,aAAa;EAAE,CACpD;CACF,CAAC;AAEF,SAAgB,sBAAsB,EACpC,OACA,WACA,qBACA,YAIC;CACD,MAAM,YAAY,WAAW,qBAAqB;AAClD,WAAU,UAAU;AACpB,eAAc,UAAU;AAExB,KAAI,oBACF,aAAY,CAAC,GAAG,WAAW,GAAG,oBAAoB;AAGpD,QACE,oBAAC,qBAAqB;EACpB,OAAO;GACL;GACA;GACD;EAEA;GAC6B"}
|
|
@@ -453,6 +453,7 @@ const cell = (0, __emotion_react.css)({
|
|
|
453
453
|
borderBottom: "1px solid var(--table-border-light-color)",
|
|
454
454
|
whiteSpace: "nowrap",
|
|
455
455
|
overflow: "hidden",
|
|
456
|
+
minHeight: 5,
|
|
456
457
|
"&:empty": { padding: 0 }
|
|
457
458
|
});
|
|
458
459
|
const defaultClasses = {
|
|
@@ -747,4 +748,4 @@ Object.defineProperty(exports, 'throttle', {
|
|
|
747
748
|
return throttle;
|
|
748
749
|
}
|
|
749
750
|
});
|
|
750
|
-
//# sourceMappingURL=tableSettings-
|
|
751
|
+
//# sourceMappingURL=tableSettings-D1MSPxbQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableSettings-D1787qFp.cjs","names":["react","v","p","throttle","Store","throttle$1","e","React","react","lastArgs: Args | undefined","timeout: ReturnType<typeof setTimeout> | undefined","Popover: TableTheme['components']['Popover']","CsvExporter"],"sources":["../node_modules/schummar-state/dist/es/store.js","../node_modules/schummar-state/dist/es/react.js","../src/misc/throttle.ts","../src/theme/defaultTheme/defaultClasses.ts","../src/theme/defaultTheme/popover.tsx","../src/theme/tableTheme.tsx","../src/misc/tableSettings.tsx"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __restKey = (key) => typeof key === \"symbol\" ? key : key + \"\";\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { freeze, enableMapSet, enablePatches, produce, applyPatches } from \"immer\";\nconst isAncestor = (ancestor, path) => {\n return ancestor.length <= path.length && ancestor.every((v, i) => v === \"*\" || path[i] === \"*\" || String(v) === String(path[i]));\n};\nconst get = (value, path) => {\n for (const part of path) {\n if (value instanceof Object && part in value)\n value = value[part];\n else {\n value = void 0;\n break;\n }\n }\n return value;\n};\nconst split = (value, path) => {\n const [first, ...rest] = path;\n if (first === void 0)\n return [value, []];\n if (rest.length === 0) {\n if (first === \"*\")\n return [{}, Object.entries(value).map(([k, v]) => ({ path: [k], value: v }))];\n if (!(first in value))\n return [value, []];\n const _a = value, { [first]: subValue } = _a, newValue2 = __objRest(_a, [__restKey(first)]);\n return [newValue2, [{ path: [first], value: subValue }]];\n }\n const newValue = __spreadValues({}, value);\n const subValues = new Array();\n for (const key of first === \"*\" ? Object.keys(value) : [first]) {\n if (!(newValue[key] instanceof Object))\n return [value, []];\n const result = split(newValue[key], rest);\n newValue[key] = result[0];\n subValues.push(...result[1].map((s) => ({ path: [key, ...s.path], value: s.value })));\n }\n return [newValue, subValues];\n};\nclass StorePersist {\n constructor(store, storage, options = {}) {\n this.store = store;\n this.storage = storage;\n this.options = options;\n this.replayPatches = new Array();\n this.isInitialized = false;\n this.whenInitialized = this.load();\n this.isStopped = false;\n this.saveQueue = new Array();\n this.isSaving = false;\n if (!options.paths) {\n this.paths = [{ path: [], throttleMs: options.throttleMs }];\n } else {\n this.paths = options.paths.map((p) => {\n var _a;\n return {\n path: (typeof p === \"object\" ? p.path : p).split(\".\"),\n throttleMs: (_a = typeof p === \"object\" ? p.throttleMs : void 0) != null ? _a : options.throttleMs\n };\n });\n }\n this.paths.sort((a, b) => b.path.length - a.path.length);\n this.watch();\n }\n async load() {\n var _a;\n try {\n const storage = this.storage;\n let keys;\n if (\"keys\" in storage) {\n keys = await storage.keys();\n } else {\n const length = storage.length instanceof Function ? await storage.length() : storage.length;\n keys = new Array();\n for (let i = 0; i < length; i++) {\n const key = await storage.key(i);\n if (key !== null)\n keys.push(key);\n }\n }\n keys.sort((a, b) => a.length - b.length);\n const patches = new Array();\n for (const key of keys) {\n const value = await storage.getItem(key);\n if (value) {\n patches.push({\n path: key.split(\".\"),\n op: \"replace\",\n value: value === \"undefined\" ? void 0 : JSON.parse(value),\n persist: this\n });\n }\n }\n if (this.isStopped) {\n return false;\n }\n if (patches.length > 0) {\n this.store.applyPatches(patches);\n }\n this.isInitialized = true;\n if (this.replayPatches.length > 0) {\n this.store.applyPatches(this.replayPatches);\n this.replayPatches = [];\n }\n return true;\n } catch (e) {\n ((_a = this.options.log) != null ? _a : console.error)(\"Failed to load storePersist:\", e);\n return false;\n }\n }\n watch() {\n this.sub = this.store.subscribePatches((patches) => {\n for (const patch of patches) {\n if (patch.persist === this) {\n continue;\n } else if (this.isInitialized === true) {\n this.addToSaveQueue(patch.path);\n } else {\n this.replayPatches.push(patch);\n }\n }\n });\n }\n addToSaveQueue(path) {\n var _a;\n const match = this.paths.find((p) => isAncestor(p.path, path));\n if (!match)\n return;\n path = path.slice(0, match.path.length);\n const t = Date.now() + ((_a = match.throttleMs) != null ? _a : 0);\n if (this.saveQueue.some((i) => i.t <= t && isAncestor(i.path, path)))\n return;\n this.saveQueue.push({ path, t });\n this.saveQueue.sort((a, b) => a.t - b.t);\n this.run();\n }\n async run() {\n if (this.saveTimeout)\n clearTimeout(this.saveTimeout);\n const next = this.saveQueue[0];\n if (!next)\n return;\n if (next.t > Date.now()) {\n this.saveTimeout = setTimeout(() => this.run(), next.t - Date.now());\n return;\n }\n try {\n this.isSaving = true;\n this.saveQueue.shift();\n await this.save(next.path);\n } finally {\n this.isSaving = false;\n this.run();\n }\n }\n async save(path) {\n var _a, _b;\n const { store, storage } = this;\n let value = get(store.getState(), path);\n const subPaths = this.paths.filter((p) => isAncestor(path, p.path) && p.path.length > path.length).map((p) => p.path.slice(path.length));\n const subValues = new Array();\n for (const subPath of subPaths) {\n const result2 = split(value, subPath);\n value = result2[0];\n subValues.push(...result2[1].map((s) => ({ path: [...path, ...s.path], value: s.value })));\n }\n const result = storage.setItem(path.join(\".\"), (_a = JSON.stringify(value)) != null ? _a : \"undefined\");\n if (result instanceof Promise)\n await result;\n for (const { path: path2, value: value2 } of subValues) {\n const result2 = storage.setItem(path2.join(\".\"), (_b = JSON.stringify(value2)) != null ? _b : \"undefined\");\n if (result2 instanceof Promise)\n await result2;\n }\n }\n stop() {\n var _a;\n this.isStopped = true;\n (_a = this.sub) == null ? void 0 : _a.call(this);\n }\n}\nfunction hash(arg) {\n return JSON.stringify({ arg }, (_key, value) => {\n if (value instanceof Object && !(value instanceof Array)) {\n const obj = {};\n for (const key of Object.keys(value).sort()) {\n obj[key] = value[key];\n }\n return obj;\n }\n return value;\n });\n}\nvar react = function equal(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == \"object\" && typeof b == \"object\") {\n if (a.constructor !== b.constructor)\n return false;\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (!equal(a[i], b[i]))\n return false;\n return true;\n }\n if (a instanceof Map && b instanceof Map) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n for (i of a.entries())\n if (!equal(i[1], b.get(i[0])))\n return false;\n return true;\n }\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n return true;\n }\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (a[i] !== b[i])\n return false;\n return true;\n }\n if (a.constructor === RegExp)\n return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf)\n return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString)\n return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(b, keys[i]))\n return false;\n for (i = length; i-- !== 0; ) {\n var key = keys[i];\n if (key === \"_owner\" && a.$$typeof) {\n continue;\n }\n if (!equal(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n};\nfunction createSelector(stringSelector) {\n const parts = stringSelector.split(\".\");\n return (state) => parts.reduce((v, p) => v instanceof Object && p in v ? v[p] : void 0, state);\n}\nfunction setWithSelector(state, stringSelector, value) {\n const parts = stringSelector.split(\".\");\n const prefix = parts.slice(0, -1);\n const last = parts[parts.length - 1];\n for (const part of prefix) {\n if (state instanceof Object && part in state) {\n state = state[part];\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n }\n if (state instanceof Object) {\n state[last] = value;\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n}\nfunction throttle(fn, ms) {\n let last = 0;\n let lastArgs;\n let timeout;\n function run() {\n const args = lastArgs;\n last = Date.now();\n lastArgs = void 0;\n timeout = void 0;\n fn(...args);\n }\n return function(...args) {\n const now = Date.now();\n lastArgs = args;\n if (timeout)\n ;\n else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n };\n}\nconst RESTART_UPDATE = Symbol(\"RESTART_UPDATE\");\nclass Store {\n constructor(state, { log = (...data) => console.error(...data) } = {}) {\n this.state = state;\n this.subscriptions = new Set();\n this.batchCounter = 0;\n this.reactions = new Set();\n this.patches = new Array();\n freeze(state, true);\n enableMapSet();\n enablePatches();\n this.options = {\n log\n };\n }\n getState() {\n return this.state;\n }\n update(update) {\n this.checkLock();\n this.state = produce(this.state, (draft) => update(draft, this.state), (patches) => this.patches.push(...patches));\n this.notify();\n }\n set(state) {\n this.checkLock();\n this.state = produce(this.state, () => state, (patches) => this.patches.push(...patches));\n this.notify();\n }\n applyPatches(patches) {\n this.checkLock();\n this.state = applyPatches(this.state, patches);\n this.patches.push(...patches);\n this.notify();\n }\n batchUpdates(fn) {\n try {\n this.batchCounter++;\n fn();\n } finally {\n this.batchCounter--;\n if (this.batchCounter === 0) {\n this.notify();\n }\n }\n }\n subscribe(...args) {\n let selector, listener, options;\n if (args[1] instanceof Function) {\n [selector, listener, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, listener, options] = [(x) => x, ...args];\n }\n const { runNow = true, throttle: throttle$1 = 0, compare = react } = options != null ? options : {};\n const throttledListener = throttle$1 ? throttle(listener, throttle$1) : listener;\n let value = selector(this.state);\n const internalListener = (state, _patches, init) => {\n try {\n const oldValue = value;\n value = selector(state);\n if (!init && compare(value, oldValue))\n return;\n (init ? listener : throttledListener)(value, oldValue, this.state);\n } catch (e) {\n this.options.log(\"Failed to execute listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n if (runNow)\n internalListener(this.state, [], true);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n addReaction(...args) {\n let selector, reaction, options;\n if (args[1] instanceof Function) {\n [selector, reaction, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, reaction, options] = [(x) => x, ...args];\n }\n const { runNow = true, compare = react } = options != null ? options : {};\n let value = selector(this.state);\n const internalListener = (init) => {\n let hasChanged = false;\n try {\n this.lock = \"reaction\";\n const oldValue = value;\n value = selector(this.state);\n if (!init && compare(value, oldValue))\n return;\n this.state = produce(this.state, (draft) => reaction(value, draft, this.state, oldValue), (patches) => {\n hasChanged = true;\n this.patches.push(...patches);\n });\n } catch (e) {\n this.options.log(\"Failed to execute reaction:\", e);\n } finally {\n delete this.lock;\n }\n if (hasChanged && !init)\n throw RESTART_UPDATE;\n if (hasChanged && init)\n this.notify();\n };\n this.reactions.add(internalListener);\n if (runNow)\n internalListener(true);\n return () => {\n this.reactions.delete(internalListener);\n };\n }\n subscribePatches(listener) {\n const internalListener = (_state, patches) => {\n try {\n listener(patches);\n } catch (e) {\n this.options.log(\"Failed to execute patch listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n checkLock() {\n if (this.lock === \"reaction\") {\n throw Error(\"You cannot call update from within a reaction. Use the passed draft instead.\");\n }\n }\n notify() {\n if (this.batchCounter > 0 || this.patches.length === 0)\n return;\n try {\n for (const reaction of this.reactions) {\n reaction();\n }\n } catch (e) {\n return this.notify();\n }\n const patches = this.patches;\n this.patches = [];\n this.batchUpdates(() => {\n for (const subscription of this.subscriptions) {\n subscription(this.state, patches);\n }\n });\n }\n}\nexport { Store as S, StorePersist as a, createSelector as c, hash as h, react as r, setWithSelector as s };\n//# sourceMappingURL=store.js.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a2, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n }\n return a2;\n};\nimport { c as createSelector, r as react, s as setWithSelector, S as Store$1, h as hash } from \"./store.js\";\nexport { a as StorePersist } from \"./store.js\";\nimport React, { useCallback, useDebugValue, useMemo, createContext, useContext, useEffect } from \"react\";\nimport \"immer\";\nvar withSelector = { exports: {} };\nvar withSelector_production_min = {};\nvar shim = { exports: {} };\nvar useSyncExternalStoreShim_production_min = {};\n/** @license React vundefined\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar e = React;\nfunction h$1(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar k = typeof Object.is === \"function\" ? Object.is : h$1, l = e.useState, m = e.useEffect, n$1 = e.useLayoutEffect, p$1 = e.useDebugValue;\nfunction q$1(a2, b) {\n var d = b(), f = l({ inst: { value: d, getSnapshot: b } }), c = f[0].inst, g = f[1];\n n$1(function() {\n c.value = d;\n c.getSnapshot = b;\n r$1(c) && g({ inst: c });\n }, [a2, d, b]);\n m(function() {\n r$1(c) && g({ inst: c });\n return a2(function() {\n r$1(c) && g({ inst: c });\n });\n }, [a2]);\n p$1(d);\n return d;\n}\nfunction r$1(a2) {\n var b = a2.getSnapshot;\n a2 = a2.value;\n try {\n var d = b();\n return !k(a2, d);\n } catch (f) {\n return true;\n }\n}\nfunction t$1(a2, b) {\n return b();\n}\nvar u$1 = typeof window === \"undefined\" || typeof window.document === \"undefined\" || typeof window.document.createElement === \"undefined\" ? t$1 : q$1;\nuseSyncExternalStoreShim_production_min.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : u$1;\n{\n shim.exports = useSyncExternalStoreShim_production_min;\n}\n/** @license React vundefined\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar h = React, n = shim.exports;\nfunction p(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar q = typeof Object.is === \"function\" ? Object.is : p, r = n.useSyncExternalStore, t = h.useRef, u = h.useEffect, v = h.useMemo, w = h.useDebugValue;\nwithSelector_production_min.useSyncExternalStoreWithSelector = function(a2, b, e2, l2, g) {\n var c = t(null);\n if (c.current === null) {\n var f = { hasValue: false, value: null };\n c.current = f;\n } else\n f = c.current;\n c = v(function() {\n function a3(a4) {\n if (!c2) {\n c2 = true;\n d2 = a4;\n a4 = l2(a4);\n if (g !== void 0 && f.hasValue) {\n var b2 = f.value;\n if (g(b2, a4))\n return k2 = b2;\n }\n return k2 = a4;\n }\n b2 = k2;\n if (q(d2, a4))\n return b2;\n var e3 = l2(a4);\n if (g !== void 0 && g(b2, e3))\n return b2;\n d2 = a4;\n return k2 = e3;\n }\n var c2 = false, d2, k2, m2 = e2 === void 0 ? null : e2;\n return [function() {\n return a3(b());\n }, m2 === null ? void 0 : function() {\n return a3(m2());\n }];\n }, [b, e2, l2, g]);\n var d = r(a2, c[0], c[1]);\n u(function() {\n f.hasValue = true;\n f.value = d;\n }, [d]);\n w(d);\n return d;\n};\n{\n withSelector.exports = withSelector_production_min;\n}\nfunction useStoreState(store, ...args) {\n var _a, _b, _c, _d;\n let selector, options;\n if (args[0] instanceof Function) {\n selector = args[0];\n options = (_a = args[1]) != null ? _a : {};\n } else if (typeof args[0] === \"string\") {\n selector = createSelector(args[0]);\n options = (_b = args[1]) != null ? _b : {};\n } else {\n selector = (x) => x;\n options = (_c = args[0]) != null ? _c : {};\n }\n const subscribe = useCallback((listener) => {\n return store.subscribe((x) => x, listener, {\n throttle: options.throttle,\n runNow: false,\n compare: (a2, b) => a2 === b\n });\n }, [store, options.throttle]);\n const getSnapshot = useCallback(() => store.getState(), [store]);\n const value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, selector, (_d = options.compare) != null ? _d : react);\n useDebugValue(value);\n return value;\n}\nfunction useStoreProp(store, selector) {\n const value = useStoreState(store, selector);\n const update = (value2) => store.update((state) => setWithSelector(state, selector, value2));\n return [value, update];\n}\nclass Store extends Store$1 {\n useState(...args) {\n return useStoreState(this, ...args);\n }\n useProp(selector) {\n return useStoreProp(this, selector);\n }\n}\nclass StoreScope {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n this.Provider = ({ children, store }) => {\n const _store = useMemo(() => store != null ? store : new Store(this.defaultValue), [store]);\n return /* @__PURE__ */ React.createElement(this.context.Provider, {\n value: _store\n }, children);\n };\n this.withScope = (Component) => {\n return (args) => /* @__PURE__ */ React.createElement(this.Provider, null, /* @__PURE__ */ React.createElement(Component, __spreadValues({}, args)));\n };\n this.context = createContext(new Store(defaultValue));\n }\n useStore() {\n return useContext(this.context);\n }\n useState(...args) {\n const store = this.useStore();\n return useStoreState(store, ...args);\n }\n useProp(selector) {\n const store = this.useStore();\n return useStoreProp(store, selector);\n }\n}\nfunction useResource(resource, options) {\n const { compare, dormant, throttle, updateOnMount, watchOnly } = options != null ? options : {};\n useEffect(() => {\n if (updateOnMount && !dormant) {\n resource.invalidateCache();\n }\n }, []);\n const subscribe = useCallback((listener) => {\n if (dormant)\n return () => {\n };\n return resource.subscribe(listener, {\n watchOnly,\n throttle,\n runNow: false,\n compare\n });\n }, [resource.id, watchOnly, dormant, throttle]);\n const getSnapshot = useCallback(() => resource.getCache(), [resource.id]);\n let value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, (x) => x, react);\n if (dormant) {\n value = { state: \"empty\", isLoading: false };\n }\n useDebugValue(value);\n return value;\n}\nfunction useReadResource(resource, options) {\n const info = useResource(resource, options);\n if (info.state === \"error\") {\n throw info.error;\n }\n if (info.state === \"empty\") {\n throw resource.get();\n }\n useDebugValue(info.value);\n return info.value;\n}\nfunction combineResources(...resources) {\n return {\n id: hash(resources.map((resource) => resource.id)),\n invalidateCache() {\n for (const resource of resources) {\n resource.invalidateCache();\n }\n },\n subscribe(listener, options) {\n const handles = resources.map((resource) => resource.subscribe(listener, options));\n return () => {\n for (const handle of handles) {\n handle();\n }\n };\n },\n getCache() {\n var _a;\n const caches = resources.map((resource) => resource.getCache());\n const isStale = caches.some((cache) => cache.isStale);\n const isLoading = caches.some((cache) => cache.isLoading);\n if (caches.some((resource) => resource.state === \"error\")) {\n const error = (_a = caches.find((cache) => cache.error !== void 0)) == null ? void 0 : _a.error;\n return { state: \"error\", error, isStale, isLoading };\n }\n if (caches.every((resource) => resource.state === \"value\")) {\n const value = caches.map((cache) => cache.value);\n return { state: \"value\", value, isStale, isLoading };\n }\n return { state: \"empty\", isLoading };\n },\n get() {\n return Promise.all(resources.map((resource) => resource.get()));\n }\n };\n}\nexport { Store, StoreScope, combineResources, useReadResource, useResource, useStoreState };\n//# sourceMappingURL=react.js.map\n","export function throttle<Args extends any[]>(\n function_: (...args: Args) => void,\n ms: number,\n): { (...args: Args): void; flush(): void; cancel(): void } {\n let last = 0;\n let lastArgs: Args | undefined;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n function run() {\n const args = lastArgs;\n\n last = Date.now();\n lastArgs = undefined;\n timeout = undefined;\n\n function_(...args!);\n }\n\n return Object.assign(\n function (...args: Args) {\n const now = Date.now();\n lastArgs = args;\n\n if (timeout) {\n // do nothing\n } else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n },\n {\n flush() {\n if (lastArgs) {\n run();\n }\n },\n\n cancel() {\n if (timeout) {\n clearTimeout(timeout);\n }\n },\n },\n );\n}\n","import { css } from '@emotion/react';\n\nconst cell = css({\n padding: `calc(var(--spacing) * 0.1) calc(2 * var(--spacing))`,\n display: 'flex',\n alignItems: 'center',\n borderBottom: '1px solid var(--table-border-light-color)',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n\n '&:empty': {\n padding: 0,\n },\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n color: 'var(--table-text-color)',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: '1px solid var(--table-border-light-color)',\n }),\n\n headerCell: css(cell, {\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n\n '&:not(:empty)': {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n },\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: '1px solid var(--table-border-color)',\n borderBottom: 'none',\n background: 'var(--table-background-color)',\n }),\n\n firstCell: css({\n justifyContent: 'start',\n }),\n\n sticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 2,\n }),\n\n stickyBottom: css({\n position: 'sticky',\n bottom: 0,\n zIndex: 2,\n }),\n\n headerFill: css({\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n footerFill: css({\n borderTop: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n text: css({\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n\n card: css({\n borderRadius: 4,\n boxShadow: '0px 3px 14px 2px rgb(0 0 0 / 12%)',\n background: 'var(--table-background-color)',\n }),\n\n clearFiltersButton: css({\n padding: `0 calc(2 * var(--spacing))`,\n fontWeight: 'bold',\n position: 'sticky',\n left: 0,\n maxWidth: 'fit-content',\n gridColumn: '2/-1',\n button: {\n color: 'var(--primaryMain) !important',\n border: 'solid 1px',\n borderColor: 'var(--primaryMain) !important',\n margin: 'var(--spacing)',\n },\n }),\n\n details: css(cell, {\n gridColumn: '1 / -1',\n whiteSpace: 'normal',\n }),\n};\n","import { useLayoutEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { throttle } from '../../misc/throttle';\nimport type { TableTheme } from '../../types';\nimport { defaultClasses } from './defaultClasses';\n\nconst MAX_OFFSET = 20;\n\nexport const Popover: TableTheme['components']['Popover'] = ({\n anchorEl,\n open,\n hidden,\n onClose,\n children,\n className,\n backdropClassName,\n align,\n}) => {\n const probe = useRef<HTMLDivElement>(null);\n const backdrop = useRef<HTMLDivElement>(null);\n const popper = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n if (!open) {\n return;\n }\n\n function check() {\n const marginLeft = parseFloat(getComputedStyle(popper.current ?? document.body).marginLeft);\n const marginRight = parseFloat(getComputedStyle(popper.current ?? document.body).marginRight);\n const marginTop = parseFloat(getComputedStyle(popper.current ?? document.body).marginTop);\n const marginBottom = parseFloat(\n getComputedStyle(popper.current ?? document.body).marginBottom,\n );\n popper.current?.style.setProperty('--margin-x', `${marginLeft + marginRight}px`);\n popper.current?.style.setProperty('--margin-y', `${marginTop + marginBottom}px`);\n\n if (hidden) {\n popper.current?.style.setProperty('visibility', 'hidden');\n return;\n }\n\n const viewportWidth = window.visualViewport?.width ?? window.innerWidth;\n const viewportHeight = window.visualViewport?.height ?? window.innerHeight;\n const { width: popperWidth = 0, height: popperHeight = 0 } =\n popper.current?.getBoundingClientRect() ?? {};\n\n const next = {\n left: 0,\n top: 0,\n };\n\n if (anchorEl) {\n const bb = anchorEl.getBoundingClientRect();\n\n if (align === 'center') {\n next.left = bb.left + bb.width / 2 - popperWidth / 2;\n } else {\n next.left =\n bb.left -\n Math.min(popperWidth ? popperWidth / 2 : Number.POSITIVE_INFINITY, MAX_OFFSET);\n }\n\n next.top = bb.bottom;\n } else {\n next.left = (viewportWidth - popperWidth) / 2;\n next.top = (viewportHeight - popperHeight) / 2;\n }\n\n if (next.left > viewportWidth - popperWidth - marginLeft - marginRight) {\n next.left = viewportWidth - popperWidth - marginLeft - marginRight;\n }\n if (next.left < marginLeft) {\n next.left = marginLeft;\n }\n if (next.top > viewportHeight - popperHeight - marginTop - marginBottom) {\n next.top = viewportHeight - popperHeight - marginTop - marginBottom;\n }\n if (next.top < marginTop) {\n next.top = marginTop;\n }\n\n popper.current?.style.setProperty('left', `${next.left}px`);\n popper.current?.style.setProperty('top', `${next.top}px`);\n popper.current?.style.setProperty('visibility', 'visible');\n }\n const checkThrottled = throttle(check, 16);\n check();\n\n const handle = setInterval(checkThrottled, 1000);\n window.addEventListener('resize', checkThrottled);\n window.addEventListener('scroll', checkThrottled, true);\n\n return () => {\n clearInterval(handle);\n window.removeEventListener('resize', checkThrottled);\n window.removeEventListener('scroll', checkThrottled, true);\n };\n }, [anchorEl, open, hidden, align]);\n\n useLayoutEffect(() => {\n if (!open) return;\n\n const ancestors = [];\n for (let node = probe.current?.parentElement; node; node = node.parentElement) {\n ancestors.push(node);\n }\n\n for (const node of ancestors.reverse()) {\n const value = document.defaultView?.getComputedStyle(node).getPropertyValue('z-index');\n\n if (value && !Number.isNaN(Number(value))) {\n const newZIndex = Number(value) + 1;\n\n if (\n backdrop.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(backdrop.current).getPropertyValue('z-index'),\n ) > newZIndex\n )\n ) {\n backdrop.current?.style.setProperty('z-index', newZIndex.toString());\n }\n\n if (\n popper.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(popper.current).getPropertyValue('z-index'),\n ) >\n newZIndex + 1\n )\n ) {\n popper.current?.style.setProperty('z-index', (newZIndex + 1).toString());\n }\n return;\n }\n }\n }, [anchorEl, open]);\n\n if (!open) return null;\n\n return (\n <>\n <div\n ref={probe}\n css={{\n display: 'none',\n }}\n />\n\n {createPortal(\n <>\n <div\n ref={backdrop}\n className={backdropClassName}\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n hidden && { display: 'none' },\n ]}\n onClick={() => onClose()}\n />\n\n <div\n ref={popper}\n className={className}\n css={[\n defaultClasses.card,\n {\n position: 'fixed',\n width: 'max-content',\n maxWidth: [\n `calc(100vw - (100vw - 100%) - var(--margin-x))`,\n `calc(100dvw - (100dvw - 100%) - var(--margin-x))`,\n ],\n maxHeight: [\n `calc(100vh - (100vh - 100%) - var(--margin-x))`,\n `calc(100dvh - (100dvh - 100%) - var(--margin-x))`,\n ],\n margin: 10,\n zIndex: 1,\n overflowY: 'auto',\n color: 'var(--table-text-color)',\n visibility: 'hidden',\n },\n hidden && { display: 'none' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </>\n );\n};\n","import { Store } from 'schummar-state/react';\nimport type { PartialTableTheme } from '../types';\n\nexport const globalTableTheme = new Store<PartialTableTheme>({});\n\nexport function configureTableTheme(tableTheme: PartialTableTheme) {\n globalTableTheme.set(tableTheme);\n}\n\nexport function mergeThemes<T>(...themes: PartialTableTheme<T>[]): PartialTableTheme<T> {\n return {\n text: Object.assign({}, ...themes.map((theme) => theme.text)),\n classes: Object.assign({}, ...themes.map((theme) => theme.classes)),\n styles: Object.assign({}, ...themes.map((theme) => theme.styles)),\n components: Object.assign({}, ...themes.map((theme) => theme.components)),\n icons: Object.assign({}, ...themes.map((theme) => theme.icons)),\n colors: {\n primary: Object.assign({}, ...themes.map((theme) => theme.colors?.primary)),\n secondary: Object.assign({}, ...themes.map((theme) => theme.colors?.secondary)),\n blocked: Object.assign({}, ...themes.map((theme) => theme.colors?.blocked)),\n background: themes\n .map((theme) => theme.colors?.background)\n .reverse()\n .find((x) => x !== undefined),\n text: themes\n .map((theme) => theme.colors?.text)\n .reverse()\n .find((x) => x !== undefined),\n border: themes\n .map((theme) => theme.colors?.border)\n .reverse()\n .find((x) => x !== undefined),\n borderLight: themes\n .map((theme) => theme.colors?.borderLight)\n .reverse()\n .find((x) => x !== undefined),\n },\n spacing: themes\n .map((theme) => theme.spacing)\n .reverse()\n .find((x) => x !== undefined),\n };\n}\n","import { ReactNode, createContext, useContext } from 'react';\nimport CsvExporter from '../exporters/csvExporter';\nimport { ExporterEntry } from '../exporters/exporter';\nimport { PartialTableTheme } from '../types';\n\nexport interface TableSettingsContextType {\n theme: PartialTableTheme;\n exporters: ExporterEntry[];\n}\n\nexport const TableSettingsContext = createContext<TableSettingsContextType>({\n theme: {},\n exporters: [\n { action: 'copy', exporter: new CsvExporter() },\n { action: 'download', exporter: new CsvExporter() },\n ],\n});\n\nexport function TableSettingsProvider({\n theme,\n exporters,\n additionalExporters,\n children,\n}: Partial<TableSettingsContextType> & {\n additionalExporters?: ExporterEntry[];\n children?: ReactNode;\n}) {\n const inherited = useContext(TableSettingsContext);\n theme ??= inherited.theme;\n exporters ??= inherited.exporters;\n\n if (additionalExporters) {\n exporters = [...exporters, ...additionalExporters];\n }\n\n return (\n <TableSettingsContext.Provider\n value={{\n theme,\n exporters,\n }}\n >\n {children}\n </TableSettingsContext.Provider>\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableSettings-D1MSPxbQ.cjs","names":["react","v","p","throttle","Store","throttle$1","e","React","react","lastArgs: Args | undefined","timeout: ReturnType<typeof setTimeout> | undefined","Popover: TableTheme['components']['Popover']","CsvExporter"],"sources":["../node_modules/schummar-state/dist/es/store.js","../node_modules/schummar-state/dist/es/react.js","../src/misc/throttle.ts","../src/theme/defaultTheme/defaultClasses.ts","../src/theme/defaultTheme/popover.tsx","../src/theme/tableTheme.tsx","../src/misc/tableSettings.tsx"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __restKey = (key) => typeof key === \"symbol\" ? key : key + \"\";\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { freeze, enableMapSet, enablePatches, produce, applyPatches } from \"immer\";\nconst isAncestor = (ancestor, path) => {\n return ancestor.length <= path.length && ancestor.every((v, i) => v === \"*\" || path[i] === \"*\" || String(v) === String(path[i]));\n};\nconst get = (value, path) => {\n for (const part of path) {\n if (value instanceof Object && part in value)\n value = value[part];\n else {\n value = void 0;\n break;\n }\n }\n return value;\n};\nconst split = (value, path) => {\n const [first, ...rest] = path;\n if (first === void 0)\n return [value, []];\n if (rest.length === 0) {\n if (first === \"*\")\n return [{}, Object.entries(value).map(([k, v]) => ({ path: [k], value: v }))];\n if (!(first in value))\n return [value, []];\n const _a = value, { [first]: subValue } = _a, newValue2 = __objRest(_a, [__restKey(first)]);\n return [newValue2, [{ path: [first], value: subValue }]];\n }\n const newValue = __spreadValues({}, value);\n const subValues = new Array();\n for (const key of first === \"*\" ? Object.keys(value) : [first]) {\n if (!(newValue[key] instanceof Object))\n return [value, []];\n const result = split(newValue[key], rest);\n newValue[key] = result[0];\n subValues.push(...result[1].map((s) => ({ path: [key, ...s.path], value: s.value })));\n }\n return [newValue, subValues];\n};\nclass StorePersist {\n constructor(store, storage, options = {}) {\n this.store = store;\n this.storage = storage;\n this.options = options;\n this.replayPatches = new Array();\n this.isInitialized = false;\n this.whenInitialized = this.load();\n this.isStopped = false;\n this.saveQueue = new Array();\n this.isSaving = false;\n if (!options.paths) {\n this.paths = [{ path: [], throttleMs: options.throttleMs }];\n } else {\n this.paths = options.paths.map((p) => {\n var _a;\n return {\n path: (typeof p === \"object\" ? p.path : p).split(\".\"),\n throttleMs: (_a = typeof p === \"object\" ? p.throttleMs : void 0) != null ? _a : options.throttleMs\n };\n });\n }\n this.paths.sort((a, b) => b.path.length - a.path.length);\n this.watch();\n }\n async load() {\n var _a;\n try {\n const storage = this.storage;\n let keys;\n if (\"keys\" in storage) {\n keys = await storage.keys();\n } else {\n const length = storage.length instanceof Function ? await storage.length() : storage.length;\n keys = new Array();\n for (let i = 0; i < length; i++) {\n const key = await storage.key(i);\n if (key !== null)\n keys.push(key);\n }\n }\n keys.sort((a, b) => a.length - b.length);\n const patches = new Array();\n for (const key of keys) {\n const value = await storage.getItem(key);\n if (value) {\n patches.push({\n path: key.split(\".\"),\n op: \"replace\",\n value: value === \"undefined\" ? void 0 : JSON.parse(value),\n persist: this\n });\n }\n }\n if (this.isStopped) {\n return false;\n }\n if (patches.length > 0) {\n this.store.applyPatches(patches);\n }\n this.isInitialized = true;\n if (this.replayPatches.length > 0) {\n this.store.applyPatches(this.replayPatches);\n this.replayPatches = [];\n }\n return true;\n } catch (e) {\n ((_a = this.options.log) != null ? _a : console.error)(\"Failed to load storePersist:\", e);\n return false;\n }\n }\n watch() {\n this.sub = this.store.subscribePatches((patches) => {\n for (const patch of patches) {\n if (patch.persist === this) {\n continue;\n } else if (this.isInitialized === true) {\n this.addToSaveQueue(patch.path);\n } else {\n this.replayPatches.push(patch);\n }\n }\n });\n }\n addToSaveQueue(path) {\n var _a;\n const match = this.paths.find((p) => isAncestor(p.path, path));\n if (!match)\n return;\n path = path.slice(0, match.path.length);\n const t = Date.now() + ((_a = match.throttleMs) != null ? _a : 0);\n if (this.saveQueue.some((i) => i.t <= t && isAncestor(i.path, path)))\n return;\n this.saveQueue.push({ path, t });\n this.saveQueue.sort((a, b) => a.t - b.t);\n this.run();\n }\n async run() {\n if (this.saveTimeout)\n clearTimeout(this.saveTimeout);\n const next = this.saveQueue[0];\n if (!next)\n return;\n if (next.t > Date.now()) {\n this.saveTimeout = setTimeout(() => this.run(), next.t - Date.now());\n return;\n }\n try {\n this.isSaving = true;\n this.saveQueue.shift();\n await this.save(next.path);\n } finally {\n this.isSaving = false;\n this.run();\n }\n }\n async save(path) {\n var _a, _b;\n const { store, storage } = this;\n let value = get(store.getState(), path);\n const subPaths = this.paths.filter((p) => isAncestor(path, p.path) && p.path.length > path.length).map((p) => p.path.slice(path.length));\n const subValues = new Array();\n for (const subPath of subPaths) {\n const result2 = split(value, subPath);\n value = result2[0];\n subValues.push(...result2[1].map((s) => ({ path: [...path, ...s.path], value: s.value })));\n }\n const result = storage.setItem(path.join(\".\"), (_a = JSON.stringify(value)) != null ? _a : \"undefined\");\n if (result instanceof Promise)\n await result;\n for (const { path: path2, value: value2 } of subValues) {\n const result2 = storage.setItem(path2.join(\".\"), (_b = JSON.stringify(value2)) != null ? _b : \"undefined\");\n if (result2 instanceof Promise)\n await result2;\n }\n }\n stop() {\n var _a;\n this.isStopped = true;\n (_a = this.sub) == null ? void 0 : _a.call(this);\n }\n}\nfunction hash(arg) {\n return JSON.stringify({ arg }, (_key, value) => {\n if (value instanceof Object && !(value instanceof Array)) {\n const obj = {};\n for (const key of Object.keys(value).sort()) {\n obj[key] = value[key];\n }\n return obj;\n }\n return value;\n });\n}\nvar react = function equal(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == \"object\" && typeof b == \"object\") {\n if (a.constructor !== b.constructor)\n return false;\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (!equal(a[i], b[i]))\n return false;\n return true;\n }\n if (a instanceof Map && b instanceof Map) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n for (i of a.entries())\n if (!equal(i[1], b.get(i[0])))\n return false;\n return true;\n }\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size)\n return false;\n for (i of a.entries())\n if (!b.has(i[0]))\n return false;\n return true;\n }\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (a[i] !== b[i])\n return false;\n return true;\n }\n if (a.constructor === RegExp)\n return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf)\n return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString)\n return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(b, keys[i]))\n return false;\n for (i = length; i-- !== 0; ) {\n var key = keys[i];\n if (key === \"_owner\" && a.$$typeof) {\n continue;\n }\n if (!equal(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n};\nfunction createSelector(stringSelector) {\n const parts = stringSelector.split(\".\");\n return (state) => parts.reduce((v, p) => v instanceof Object && p in v ? v[p] : void 0, state);\n}\nfunction setWithSelector(state, stringSelector, value) {\n const parts = stringSelector.split(\".\");\n const prefix = parts.slice(0, -1);\n const last = parts[parts.length - 1];\n for (const part of prefix) {\n if (state instanceof Object && part in state) {\n state = state[part];\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n }\n if (state instanceof Object) {\n state[last] = value;\n } else {\n throw Error(`Could not set ${stringSelector} because path ${stringSelector} doesn't exist`);\n }\n}\nfunction throttle(fn, ms) {\n let last = 0;\n let lastArgs;\n let timeout;\n function run() {\n const args = lastArgs;\n last = Date.now();\n lastArgs = void 0;\n timeout = void 0;\n fn(...args);\n }\n return function(...args) {\n const now = Date.now();\n lastArgs = args;\n if (timeout)\n ;\n else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n };\n}\nconst RESTART_UPDATE = Symbol(\"RESTART_UPDATE\");\nclass Store {\n constructor(state, { log = (...data) => console.error(...data) } = {}) {\n this.state = state;\n this.subscriptions = new Set();\n this.batchCounter = 0;\n this.reactions = new Set();\n this.patches = new Array();\n freeze(state, true);\n enableMapSet();\n enablePatches();\n this.options = {\n log\n };\n }\n getState() {\n return this.state;\n }\n update(update) {\n this.checkLock();\n this.state = produce(this.state, (draft) => update(draft, this.state), (patches) => this.patches.push(...patches));\n this.notify();\n }\n set(state) {\n this.checkLock();\n this.state = produce(this.state, () => state, (patches) => this.patches.push(...patches));\n this.notify();\n }\n applyPatches(patches) {\n this.checkLock();\n this.state = applyPatches(this.state, patches);\n this.patches.push(...patches);\n this.notify();\n }\n batchUpdates(fn) {\n try {\n this.batchCounter++;\n fn();\n } finally {\n this.batchCounter--;\n if (this.batchCounter === 0) {\n this.notify();\n }\n }\n }\n subscribe(...args) {\n let selector, listener, options;\n if (args[1] instanceof Function) {\n [selector, listener, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, listener, options] = [(x) => x, ...args];\n }\n const { runNow = true, throttle: throttle$1 = 0, compare = react } = options != null ? options : {};\n const throttledListener = throttle$1 ? throttle(listener, throttle$1) : listener;\n let value = selector(this.state);\n const internalListener = (state, _patches, init) => {\n try {\n const oldValue = value;\n value = selector(state);\n if (!init && compare(value, oldValue))\n return;\n (init ? listener : throttledListener)(value, oldValue, this.state);\n } catch (e) {\n this.options.log(\"Failed to execute listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n if (runNow)\n internalListener(this.state, [], true);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n addReaction(...args) {\n let selector, reaction, options;\n if (args[1] instanceof Function) {\n [selector, reaction, options] = args;\n if (typeof selector === \"string\") {\n selector = createSelector(selector);\n }\n } else {\n [selector, reaction, options] = [(x) => x, ...args];\n }\n const { runNow = true, compare = react } = options != null ? options : {};\n let value = selector(this.state);\n const internalListener = (init) => {\n let hasChanged = false;\n try {\n this.lock = \"reaction\";\n const oldValue = value;\n value = selector(this.state);\n if (!init && compare(value, oldValue))\n return;\n this.state = produce(this.state, (draft) => reaction(value, draft, this.state, oldValue), (patches) => {\n hasChanged = true;\n this.patches.push(...patches);\n });\n } catch (e) {\n this.options.log(\"Failed to execute reaction:\", e);\n } finally {\n delete this.lock;\n }\n if (hasChanged && !init)\n throw RESTART_UPDATE;\n if (hasChanged && init)\n this.notify();\n };\n this.reactions.add(internalListener);\n if (runNow)\n internalListener(true);\n return () => {\n this.reactions.delete(internalListener);\n };\n }\n subscribePatches(listener) {\n const internalListener = (_state, patches) => {\n try {\n listener(patches);\n } catch (e) {\n this.options.log(\"Failed to execute patch listener:\", e);\n }\n };\n this.subscriptions.add(internalListener);\n return () => {\n this.subscriptions.delete(internalListener);\n };\n }\n checkLock() {\n if (this.lock === \"reaction\") {\n throw Error(\"You cannot call update from within a reaction. Use the passed draft instead.\");\n }\n }\n notify() {\n if (this.batchCounter > 0 || this.patches.length === 0)\n return;\n try {\n for (const reaction of this.reactions) {\n reaction();\n }\n } catch (e) {\n return this.notify();\n }\n const patches = this.patches;\n this.patches = [];\n this.batchUpdates(() => {\n for (const subscription of this.subscriptions) {\n subscription(this.state, patches);\n }\n });\n }\n}\nexport { Store as S, StorePersist as a, createSelector as c, hash as h, react as r, setWithSelector as s };\n//# sourceMappingURL=store.js.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a2, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n }\n return a2;\n};\nimport { c as createSelector, r as react, s as setWithSelector, S as Store$1, h as hash } from \"./store.js\";\nexport { a as StorePersist } from \"./store.js\";\nimport React, { useCallback, useDebugValue, useMemo, createContext, useContext, useEffect } from \"react\";\nimport \"immer\";\nvar withSelector = { exports: {} };\nvar withSelector_production_min = {};\nvar shim = { exports: {} };\nvar useSyncExternalStoreShim_production_min = {};\n/** @license React vundefined\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar e = React;\nfunction h$1(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar k = typeof Object.is === \"function\" ? Object.is : h$1, l = e.useState, m = e.useEffect, n$1 = e.useLayoutEffect, p$1 = e.useDebugValue;\nfunction q$1(a2, b) {\n var d = b(), f = l({ inst: { value: d, getSnapshot: b } }), c = f[0].inst, g = f[1];\n n$1(function() {\n c.value = d;\n c.getSnapshot = b;\n r$1(c) && g({ inst: c });\n }, [a2, d, b]);\n m(function() {\n r$1(c) && g({ inst: c });\n return a2(function() {\n r$1(c) && g({ inst: c });\n });\n }, [a2]);\n p$1(d);\n return d;\n}\nfunction r$1(a2) {\n var b = a2.getSnapshot;\n a2 = a2.value;\n try {\n var d = b();\n return !k(a2, d);\n } catch (f) {\n return true;\n }\n}\nfunction t$1(a2, b) {\n return b();\n}\nvar u$1 = typeof window === \"undefined\" || typeof window.document === \"undefined\" || typeof window.document.createElement === \"undefined\" ? t$1 : q$1;\nuseSyncExternalStoreShim_production_min.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : u$1;\n{\n shim.exports = useSyncExternalStoreShim_production_min;\n}\n/** @license React vundefined\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar h = React, n = shim.exports;\nfunction p(a2, b) {\n return a2 === b && (a2 !== 0 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;\n}\nvar q = typeof Object.is === \"function\" ? Object.is : p, r = n.useSyncExternalStore, t = h.useRef, u = h.useEffect, v = h.useMemo, w = h.useDebugValue;\nwithSelector_production_min.useSyncExternalStoreWithSelector = function(a2, b, e2, l2, g) {\n var c = t(null);\n if (c.current === null) {\n var f = { hasValue: false, value: null };\n c.current = f;\n } else\n f = c.current;\n c = v(function() {\n function a3(a4) {\n if (!c2) {\n c2 = true;\n d2 = a4;\n a4 = l2(a4);\n if (g !== void 0 && f.hasValue) {\n var b2 = f.value;\n if (g(b2, a4))\n return k2 = b2;\n }\n return k2 = a4;\n }\n b2 = k2;\n if (q(d2, a4))\n return b2;\n var e3 = l2(a4);\n if (g !== void 0 && g(b2, e3))\n return b2;\n d2 = a4;\n return k2 = e3;\n }\n var c2 = false, d2, k2, m2 = e2 === void 0 ? null : e2;\n return [function() {\n return a3(b());\n }, m2 === null ? void 0 : function() {\n return a3(m2());\n }];\n }, [b, e2, l2, g]);\n var d = r(a2, c[0], c[1]);\n u(function() {\n f.hasValue = true;\n f.value = d;\n }, [d]);\n w(d);\n return d;\n};\n{\n withSelector.exports = withSelector_production_min;\n}\nfunction useStoreState(store, ...args) {\n var _a, _b, _c, _d;\n let selector, options;\n if (args[0] instanceof Function) {\n selector = args[0];\n options = (_a = args[1]) != null ? _a : {};\n } else if (typeof args[0] === \"string\") {\n selector = createSelector(args[0]);\n options = (_b = args[1]) != null ? _b : {};\n } else {\n selector = (x) => x;\n options = (_c = args[0]) != null ? _c : {};\n }\n const subscribe = useCallback((listener) => {\n return store.subscribe((x) => x, listener, {\n throttle: options.throttle,\n runNow: false,\n compare: (a2, b) => a2 === b\n });\n }, [store, options.throttle]);\n const getSnapshot = useCallback(() => store.getState(), [store]);\n const value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, selector, (_d = options.compare) != null ? _d : react);\n useDebugValue(value);\n return value;\n}\nfunction useStoreProp(store, selector) {\n const value = useStoreState(store, selector);\n const update = (value2) => store.update((state) => setWithSelector(state, selector, value2));\n return [value, update];\n}\nclass Store extends Store$1 {\n useState(...args) {\n return useStoreState(this, ...args);\n }\n useProp(selector) {\n return useStoreProp(this, selector);\n }\n}\nclass StoreScope {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n this.Provider = ({ children, store }) => {\n const _store = useMemo(() => store != null ? store : new Store(this.defaultValue), [store]);\n return /* @__PURE__ */ React.createElement(this.context.Provider, {\n value: _store\n }, children);\n };\n this.withScope = (Component) => {\n return (args) => /* @__PURE__ */ React.createElement(this.Provider, null, /* @__PURE__ */ React.createElement(Component, __spreadValues({}, args)));\n };\n this.context = createContext(new Store(defaultValue));\n }\n useStore() {\n return useContext(this.context);\n }\n useState(...args) {\n const store = this.useStore();\n return useStoreState(store, ...args);\n }\n useProp(selector) {\n const store = this.useStore();\n return useStoreProp(store, selector);\n }\n}\nfunction useResource(resource, options) {\n const { compare, dormant, throttle, updateOnMount, watchOnly } = options != null ? options : {};\n useEffect(() => {\n if (updateOnMount && !dormant) {\n resource.invalidateCache();\n }\n }, []);\n const subscribe = useCallback((listener) => {\n if (dormant)\n return () => {\n };\n return resource.subscribe(listener, {\n watchOnly,\n throttle,\n runNow: false,\n compare\n });\n }, [resource.id, watchOnly, dormant, throttle]);\n const getSnapshot = useCallback(() => resource.getCache(), [resource.id]);\n let value = withSelector.exports.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, (x) => x, react);\n if (dormant) {\n value = { state: \"empty\", isLoading: false };\n }\n useDebugValue(value);\n return value;\n}\nfunction useReadResource(resource, options) {\n const info = useResource(resource, options);\n if (info.state === \"error\") {\n throw info.error;\n }\n if (info.state === \"empty\") {\n throw resource.get();\n }\n useDebugValue(info.value);\n return info.value;\n}\nfunction combineResources(...resources) {\n return {\n id: hash(resources.map((resource) => resource.id)),\n invalidateCache() {\n for (const resource of resources) {\n resource.invalidateCache();\n }\n },\n subscribe(listener, options) {\n const handles = resources.map((resource) => resource.subscribe(listener, options));\n return () => {\n for (const handle of handles) {\n handle();\n }\n };\n },\n getCache() {\n var _a;\n const caches = resources.map((resource) => resource.getCache());\n const isStale = caches.some((cache) => cache.isStale);\n const isLoading = caches.some((cache) => cache.isLoading);\n if (caches.some((resource) => resource.state === \"error\")) {\n const error = (_a = caches.find((cache) => cache.error !== void 0)) == null ? void 0 : _a.error;\n return { state: \"error\", error, isStale, isLoading };\n }\n if (caches.every((resource) => resource.state === \"value\")) {\n const value = caches.map((cache) => cache.value);\n return { state: \"value\", value, isStale, isLoading };\n }\n return { state: \"empty\", isLoading };\n },\n get() {\n return Promise.all(resources.map((resource) => resource.get()));\n }\n };\n}\nexport { Store, StoreScope, combineResources, useReadResource, useResource, useStoreState };\n//# sourceMappingURL=react.js.map\n","export function throttle<Args extends any[]>(\n function_: (...args: Args) => void,\n ms: number,\n): { (...args: Args): void; flush(): void; cancel(): void } {\n let last = 0;\n let lastArgs: Args | undefined;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n function run() {\n const args = lastArgs;\n\n last = Date.now();\n lastArgs = undefined;\n timeout = undefined;\n\n function_(...args!);\n }\n\n return Object.assign(\n function (...args: Args) {\n const now = Date.now();\n lastArgs = args;\n\n if (timeout) {\n // do nothing\n } else if (now < last + ms) {\n timeout = setTimeout(run, last + ms - now);\n } else {\n run();\n }\n },\n {\n flush() {\n if (lastArgs) {\n run();\n }\n },\n\n cancel() {\n if (timeout) {\n clearTimeout(timeout);\n }\n },\n },\n );\n}\n","import { css } from '@emotion/react';\n\nconst cell = css({\n padding: `calc(var(--spacing) * 0.1) calc(2 * var(--spacing))`,\n display: 'flex',\n alignItems: 'center',\n borderBottom: '1px solid var(--table-border-light-color)',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n minHeight: 5,\n\n '&:empty': {\n padding: 0,\n },\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n color: 'var(--table-text-color)',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: '1px solid var(--table-border-light-color)',\n }),\n\n headerCell: css(cell, {\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n\n '&:not(:empty)': {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n },\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: '1px solid var(--table-border-color)',\n borderBottom: 'none',\n background: 'var(--table-background-color)',\n }),\n\n firstCell: css({\n justifyContent: 'start',\n }),\n\n sticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 2,\n }),\n\n stickyBottom: css({\n position: 'sticky',\n bottom: 0,\n zIndex: 2,\n }),\n\n headerFill: css({\n borderBottom: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n footerFill: css({\n borderTop: '1px solid var(--table-border-color)',\n background: 'var(--table-background-color)',\n }),\n\n text: css({\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n\n card: css({\n borderRadius: 4,\n boxShadow: '0px 3px 14px 2px rgb(0 0 0 / 12%)',\n background: 'var(--table-background-color)',\n }),\n\n clearFiltersButton: css({\n padding: `0 calc(2 * var(--spacing))`,\n fontWeight: 'bold',\n position: 'sticky',\n left: 0,\n maxWidth: 'fit-content',\n gridColumn: '2/-1',\n button: {\n color: 'var(--primaryMain) !important',\n border: 'solid 1px',\n borderColor: 'var(--primaryMain) !important',\n margin: 'var(--spacing)',\n },\n }),\n\n details: css(cell, {\n gridColumn: '1 / -1',\n whiteSpace: 'normal',\n }),\n};\n","import { useLayoutEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { throttle } from '../../misc/throttle';\nimport type { TableTheme } from '../../types';\nimport { defaultClasses } from './defaultClasses';\n\nconst MAX_OFFSET = 20;\n\nexport const Popover: TableTheme['components']['Popover'] = ({\n anchorEl,\n open,\n hidden,\n onClose,\n children,\n className,\n backdropClassName,\n align,\n}) => {\n const probe = useRef<HTMLDivElement>(null);\n const backdrop = useRef<HTMLDivElement>(null);\n const popper = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n if (!open) {\n return;\n }\n\n function check() {\n const marginLeft = parseFloat(getComputedStyle(popper.current ?? document.body).marginLeft);\n const marginRight = parseFloat(getComputedStyle(popper.current ?? document.body).marginRight);\n const marginTop = parseFloat(getComputedStyle(popper.current ?? document.body).marginTop);\n const marginBottom = parseFloat(\n getComputedStyle(popper.current ?? document.body).marginBottom,\n );\n popper.current?.style.setProperty('--margin-x', `${marginLeft + marginRight}px`);\n popper.current?.style.setProperty('--margin-y', `${marginTop + marginBottom}px`);\n\n if (hidden) {\n popper.current?.style.setProperty('visibility', 'hidden');\n return;\n }\n\n const viewportWidth = window.visualViewport?.width ?? window.innerWidth;\n const viewportHeight = window.visualViewport?.height ?? window.innerHeight;\n const { width: popperWidth = 0, height: popperHeight = 0 } =\n popper.current?.getBoundingClientRect() ?? {};\n\n const next = {\n left: 0,\n top: 0,\n };\n\n if (anchorEl) {\n const bb = anchorEl.getBoundingClientRect();\n\n if (align === 'center') {\n next.left = bb.left + bb.width / 2 - popperWidth / 2;\n } else {\n next.left =\n bb.left -\n Math.min(popperWidth ? popperWidth / 2 : Number.POSITIVE_INFINITY, MAX_OFFSET);\n }\n\n next.top = bb.bottom;\n } else {\n next.left = (viewportWidth - popperWidth) / 2;\n next.top = (viewportHeight - popperHeight) / 2;\n }\n\n if (next.left > viewportWidth - popperWidth - marginLeft - marginRight) {\n next.left = viewportWidth - popperWidth - marginLeft - marginRight;\n }\n if (next.left < marginLeft) {\n next.left = marginLeft;\n }\n if (next.top > viewportHeight - popperHeight - marginTop - marginBottom) {\n next.top = viewportHeight - popperHeight - marginTop - marginBottom;\n }\n if (next.top < marginTop) {\n next.top = marginTop;\n }\n\n popper.current?.style.setProperty('left', `${next.left}px`);\n popper.current?.style.setProperty('top', `${next.top}px`);\n popper.current?.style.setProperty('visibility', 'visible');\n }\n const checkThrottled = throttle(check, 16);\n check();\n\n const handle = setInterval(checkThrottled, 1000);\n window.addEventListener('resize', checkThrottled);\n window.addEventListener('scroll', checkThrottled, true);\n\n return () => {\n clearInterval(handle);\n window.removeEventListener('resize', checkThrottled);\n window.removeEventListener('scroll', checkThrottled, true);\n };\n }, [anchorEl, open, hidden, align]);\n\n useLayoutEffect(() => {\n if (!open) return;\n\n const ancestors = [];\n for (let node = probe.current?.parentElement; node; node = node.parentElement) {\n ancestors.push(node);\n }\n\n for (const node of ancestors.reverse()) {\n const value = document.defaultView?.getComputedStyle(node).getPropertyValue('z-index');\n\n if (value && !Number.isNaN(Number(value))) {\n const newZIndex = Number(value) + 1;\n\n if (\n backdrop.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(backdrop.current).getPropertyValue('z-index'),\n ) > newZIndex\n )\n ) {\n backdrop.current?.style.setProperty('z-index', newZIndex.toString());\n }\n\n if (\n popper.current &&\n !(\n Number(\n document.defaultView?.getComputedStyle(popper.current).getPropertyValue('z-index'),\n ) >\n newZIndex + 1\n )\n ) {\n popper.current?.style.setProperty('z-index', (newZIndex + 1).toString());\n }\n return;\n }\n }\n }, [anchorEl, open]);\n\n if (!open) return null;\n\n return (\n <>\n <div\n ref={probe}\n css={{\n display: 'none',\n }}\n />\n\n {createPortal(\n <>\n <div\n ref={backdrop}\n className={backdropClassName}\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n hidden && { display: 'none' },\n ]}\n onClick={() => onClose()}\n />\n\n <div\n ref={popper}\n className={className}\n css={[\n defaultClasses.card,\n {\n position: 'fixed',\n width: 'max-content',\n maxWidth: [\n `calc(100vw - (100vw - 100%) - var(--margin-x))`,\n `calc(100dvw - (100dvw - 100%) - var(--margin-x))`,\n ],\n maxHeight: [\n `calc(100vh - (100vh - 100%) - var(--margin-x))`,\n `calc(100dvh - (100dvh - 100%) - var(--margin-x))`,\n ],\n margin: 10,\n zIndex: 1,\n overflowY: 'auto',\n color: 'var(--table-text-color)',\n visibility: 'hidden',\n },\n hidden && { display: 'none' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </>\n );\n};\n","import { Store } from 'schummar-state/react';\nimport type { PartialTableTheme } from '../types';\n\nexport const globalTableTheme = new Store<PartialTableTheme>({});\n\nexport function configureTableTheme(tableTheme: PartialTableTheme) {\n globalTableTheme.set(tableTheme);\n}\n\nexport function mergeThemes<T>(...themes: PartialTableTheme<T>[]): PartialTableTheme<T> {\n return {\n text: Object.assign({}, ...themes.map((theme) => theme.text)),\n classes: Object.assign({}, ...themes.map((theme) => theme.classes)),\n styles: Object.assign({}, ...themes.map((theme) => theme.styles)),\n components: Object.assign({}, ...themes.map((theme) => theme.components)),\n icons: Object.assign({}, ...themes.map((theme) => theme.icons)),\n colors: {\n primary: Object.assign({}, ...themes.map((theme) => theme.colors?.primary)),\n secondary: Object.assign({}, ...themes.map((theme) => theme.colors?.secondary)),\n blocked: Object.assign({}, ...themes.map((theme) => theme.colors?.blocked)),\n background: themes\n .map((theme) => theme.colors?.background)\n .reverse()\n .find((x) => x !== undefined),\n text: themes\n .map((theme) => theme.colors?.text)\n .reverse()\n .find((x) => x !== undefined),\n border: themes\n .map((theme) => theme.colors?.border)\n .reverse()\n .find((x) => x !== undefined),\n borderLight: themes\n .map((theme) => theme.colors?.borderLight)\n .reverse()\n .find((x) => x !== undefined),\n },\n spacing: themes\n .map((theme) => theme.spacing)\n .reverse()\n .find((x) => x !== undefined),\n };\n}\n","import { ReactNode, createContext, useContext } from 'react';\nimport CsvExporter from '../exporters/csvExporter';\nimport { ExporterEntry } from '../exporters/exporter';\nimport { PartialTableTheme } from '../types';\n\nexport interface TableSettingsContextType {\n theme: PartialTableTheme;\n exporters: ExporterEntry[];\n}\n\nexport const TableSettingsContext = createContext<TableSettingsContextType>({\n theme: {},\n exporters: [\n { action: 'copy', exporter: new CsvExporter() },\n { action: 'download', exporter: new CsvExporter() },\n ],\n});\n\nexport function TableSettingsProvider({\n theme,\n exporters,\n additionalExporters,\n children,\n}: Partial<TableSettingsContextType> & {\n additionalExporters?: ExporterEntry[];\n children?: ReactNode;\n}) {\n const inherited = useContext(TableSettingsContext);\n theme ??= inherited.theme;\n exporters ??= inherited.exporters;\n\n if (additionalExporters) {\n exporters = [...exporters, ...additionalExporters];\n }\n\n return (\n <TableSettingsContext.Provider\n value={{\n theme,\n exporters,\n }}\n >\n {children}\n </TableSettingsContext.Provider>\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;;;;;;;AA6NA,IAAIA,UAAQ,SAAS,MAAM,GAAG,GAAG;AAC/B,KAAI,MAAM,EACR,QAAO;AACT,KAAI,KAAK,KAAK,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;AAC1D,MAAI,EAAE,gBAAgB,EAAE,YACtB,QAAO;EACT,IAAI,QAAQ,GAAG;AACf,MAAI,MAAM,QAAQ,EAAE,EAAE;AACpB,YAAS,EAAE;AACX,OAAI,UAAU,EAAE,OACd,QAAO;AACT,QAAK,IAAI,QAAQ,QAAQ,GACvB,KAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CACpB,QAAO;AACX,UAAO;;AAET,MAAI,aAAa,OAAO,aAAa,KAAK;AACxC,OAAI,EAAE,SAAS,EAAE,KACf,QAAO;AACT,QAAK,KAAK,EAAE,SAAS,CACnB,KAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CACd,QAAO;AACX,QAAK,KAAK,EAAE,SAAS,CACnB,KAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAC3B,QAAO;AACX,UAAO;;AAET,MAAI,aAAa,OAAO,aAAa,KAAK;AACxC,OAAI,EAAE,SAAS,EAAE,KACf,QAAO;AACT,QAAK,KAAK,EAAE,SAAS,CACnB,KAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CACd,QAAO;AACX,UAAO;;AAET,MAAI,YAAY,OAAO,EAAE,IAAI,YAAY,OAAO,EAAE,EAAE;AAClD,YAAS,EAAE;AACX,OAAI,UAAU,EAAE,OACd,QAAO;AACT,QAAK,IAAI,QAAQ,QAAQ,GACvB,KAAI,EAAE,OAAO,EAAE,GACb,QAAO;AACX,UAAO;;AAET,MAAI,EAAE,gBAAgB,OACpB,QAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;AAChD,MAAI,EAAE,YAAY,OAAO,UAAU,QACjC,QAAO,EAAE,SAAS,KAAK,EAAE,SAAS;AACpC,MAAI,EAAE,aAAa,OAAO,UAAU,SAClC,QAAO,EAAE,UAAU,KAAK,EAAE,UAAU;AACtC,SAAO,OAAO,KAAK,EAAE;AACrB,WAAS,KAAK;AACd,MAAI,WAAW,OAAO,KAAK,EAAE,CAAC,OAC5B,QAAO;AACT,OAAK,IAAI,QAAQ,QAAQ,GACvB,KAAI,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG,KAAK,GAAG,CACnD,QAAO;AACX,OAAK,IAAI,QAAQ,QAAQ,IAAK;GAC5B,IAAI,MAAM,KAAK;AACf,OAAI,QAAQ,YAAY,EAAE,SACxB;AAEF,OAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CACxB,QAAO;;AAEX,SAAO;;AAET,QAAO,MAAM,KAAK,MAAM;;AAE1B,SAAS,eAAe,gBAAgB;CACtC,MAAM,QAAQ,eAAe,MAAM,IAAI;AACvC,SAAQ,UAAU,MAAM,QAAQ,KAAG,QAAMC,eAAa,UAAUC,OAAKD,MAAIA,IAAEC,OAAK,KAAK,GAAG,MAAM;;AAEhG,SAAS,gBAAgB,OAAO,gBAAgB,OAAO;CACrD,MAAM,QAAQ,eAAe,MAAM,IAAI;CACvC,MAAM,SAAS,MAAM,MAAM,GAAG,GAAG;CACjC,MAAM,OAAO,MAAM,MAAM,SAAS;AAClC,MAAK,MAAM,QAAQ,OACjB,KAAI,iBAAiB,UAAU,QAAQ,MACrC,SAAQ,MAAM;KAEd,OAAM,MAAM,iBAAiB,eAAe,gBAAgB,eAAe,gBAAgB;AAG/F,KAAI,iBAAiB,OACnB,OAAM,QAAQ;KAEd,OAAM,MAAM,iBAAiB,eAAe,gBAAgB,eAAe,gBAAgB;;AAG/F,SAASC,WAAS,IAAI,IAAI;CACxB,IAAI,OAAO;CACX,IAAI;CACJ,IAAI;CACJ,SAAS,MAAM;EACb,MAAM,OAAO;AACb,SAAO,KAAK,KAAK;AACjB,aAAW,KAAK;AAChB,YAAU,KAAK;AACf,KAAG,GAAG,KAAK;;AAEb,QAAO,SAAS,GAAG,MAAM;EACvB,MAAM,MAAM,KAAK,KAAK;AACtB,aAAW;AACX,MAAI;WAEK,MAAM,OAAO,GACpB,WAAU,WAAW,KAAK,OAAO,KAAK,IAAI;MAE1C,MAAK;;;AAIX,MAAM,iBAAiB,OAAO,iBAAiB;AAC/C,IAAMC,UAAN,MAAY;CACV,YAAY,OAAO,EAAE,OAAO,GAAG,SAAS,QAAQ,MAAM,GAAG,KAAK,KAAK,EAAE,EAAE;AACrE,OAAK,QAAQ;AACb,OAAK,gCAAgB,IAAI,KAAK;AAC9B,OAAK,eAAe;AACpB,OAAK,4BAAY,IAAI,KAAK;AAC1B,OAAK,UAAU,IAAI,OAAO;AAC1B,oBAAO,OAAO,KAAK;AACnB,2BAAc;AACd,4BAAe;AACf,OAAK,UAAU,EACb,KACD;;CAEH,WAAW;AACT,SAAO,KAAK;;CAEd,OAAO,QAAQ;AACb,OAAK,WAAW;AAChB,OAAK,2BAAgB,KAAK,QAAQ,UAAU,OAAO,OAAO,KAAK,MAAM,GAAG,YAAY,KAAK,QAAQ,KAAK,GAAG,QAAQ,CAAC;AAClH,OAAK,QAAQ;;CAEf,IAAI,OAAO;AACT,OAAK,WAAW;AAChB,OAAK,2BAAgB,KAAK,aAAa,QAAQ,YAAY,KAAK,QAAQ,KAAK,GAAG,QAAQ,CAAC;AACzF,OAAK,QAAQ;;CAEf,aAAa,SAAS;AACpB,OAAK,WAAW;AAChB,OAAK,gCAAqB,KAAK,OAAO,QAAQ;AAC9C,OAAK,QAAQ,KAAK,GAAG,QAAQ;AAC7B,OAAK,QAAQ;;CAEf,aAAa,IAAI;AACf,MAAI;AACF,QAAK;AACL,OAAI;YACI;AACR,QAAK;AACL,OAAI,KAAK,iBAAiB,EACxB,MAAK,QAAQ;;;CAInB,UAAU,GAAG,MAAM;EACjB,IAAI,UAAU,UAAU;AACxB,MAAI,KAAK,cAAc,UAAU;AAC/B,IAAC,UAAU,UAAU,WAAW;AAChC,OAAI,OAAO,aAAa,SACtB,YAAW,eAAe,SAAS;QAGrC,EAAC,UAAU,UAAU,WAAW,EAAE,MAAM,GAAG,GAAG,KAAK;EAErD,MAAM,EAAE,SAAS,MAAM,UAAUC,eAAa,GAAG,UAAUL,YAAU,WAAW,OAAO,UAAU,EAAE;EACnG,MAAM,oBAAoBK,eAAaF,WAAS,UAAUE,aAAW,GAAG;EACxE,IAAI,QAAQ,SAAS,KAAK,MAAM;EAChC,MAAM,oBAAoB,OAAO,UAAU,SAAS;AAClD,OAAI;IACF,MAAM,WAAW;AACjB,YAAQ,SAAS,MAAM;AACvB,QAAI,CAAC,QAAQ,QAAQ,OAAO,SAAS,CACnC;AACF,KAAC,OAAO,WAAW,mBAAmB,OAAO,UAAU,KAAK,MAAM;YAC3DC,KAAG;AACV,SAAK,QAAQ,IAAI,+BAA+BA,IAAE;;;AAGtD,OAAK,cAAc,IAAI,iBAAiB;AACxC,MAAI,OACF,kBAAiB,KAAK,OAAO,EAAE,EAAE,KAAK;AACxC,eAAa;AACX,QAAK,cAAc,OAAO,iBAAiB;;;CAG/C,YAAY,GAAG,MAAM;EACnB,IAAI,UAAU,UAAU;AACxB,MAAI,KAAK,cAAc,UAAU;AAC/B,IAAC,UAAU,UAAU,WAAW;AAChC,OAAI,OAAO,aAAa,SACtB,YAAW,eAAe,SAAS;QAGrC,EAAC,UAAU,UAAU,WAAW,EAAE,MAAM,GAAG,GAAG,KAAK;EAErD,MAAM,EAAE,SAAS,MAAM,UAAUN,YAAU,WAAW,OAAO,UAAU,EAAE;EACzE,IAAI,QAAQ,SAAS,KAAK,MAAM;EAChC,MAAM,oBAAoB,SAAS;GACjC,IAAI,aAAa;AACjB,OAAI;AACF,SAAK,OAAO;IACZ,MAAM,WAAW;AACjB,YAAQ,SAAS,KAAK,MAAM;AAC5B,QAAI,CAAC,QAAQ,QAAQ,OAAO,SAAS,CACnC;AACF,SAAK,2BAAgB,KAAK,QAAQ,UAAU,SAAS,OAAO,OAAO,KAAK,OAAO,SAAS,GAAG,YAAY;AACrG,kBAAa;AACb,UAAK,QAAQ,KAAK,GAAG,QAAQ;MAC7B;YACKM,KAAG;AACV,SAAK,QAAQ,IAAI,+BAA+BA,IAAE;aAC1C;AACR,WAAO,KAAK;;AAEd,OAAI,cAAc,CAAC,KACjB,OAAM;AACR,OAAI,cAAc,KAChB,MAAK,QAAQ;;AAEjB,OAAK,UAAU,IAAI,iBAAiB;AACpC,MAAI,OACF,kBAAiB,KAAK;AACxB,eAAa;AACX,QAAK,UAAU,OAAO,iBAAiB;;;CAG3C,iBAAiB,UAAU;EACzB,MAAM,oBAAoB,QAAQ,YAAY;AAC5C,OAAI;AACF,aAAS,QAAQ;YACVA,KAAG;AACV,SAAK,QAAQ,IAAI,qCAAqCA,IAAE;;;AAG5D,OAAK,cAAc,IAAI,iBAAiB;AACxC,eAAa;AACX,QAAK,cAAc,OAAO,iBAAiB;;;CAG/C,YAAY;AACV,MAAI,KAAK,SAAS,WAChB,OAAM,MAAM,+EAA+E;;CAG/F,SAAS;AACP,MAAI,KAAK,eAAe,KAAK,KAAK,QAAQ,WAAW,EACnD;AACF,MAAI;AACF,QAAK,MAAM,YAAY,KAAK,UAC1B,WAAU;WAELA,KAAG;AACV,UAAO,KAAK,QAAQ;;EAEtB,MAAM,UAAU,KAAK;AACrB,OAAK,UAAU,EAAE;AACjB,OAAK,mBAAmB;AACtB,QAAK,MAAM,gBAAgB,KAAK,cAC9B,cAAa,KAAK,OAAO,QAAQ;IAEnC;;;;;;ACreN,IAAI,YAAY,OAAO;AACvB,IAAI,sBAAsB,OAAO;AACjC,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,mBAAmB,KAAK,KAAK,UAAU,OAAO,MAAM,UAAU,KAAK,KAAK;CAAE,YAAY;CAAM,cAAc;CAAM,UAAU;CAAM;CAAO,CAAC,GAAG,IAAI,OAAO;AAC1J,IAAI,kBAAkB,IAAI,MAAM;AAC9B,MAAK,IAAI,QAAQ,MAAM,IAAI,EAAE,EAC3B,KAAI,aAAa,KAAK,GAAG,KAAK,CAC5B,iBAAgB,IAAI,MAAM,EAAE,MAAM;AACtC,KAAI,qBACF;OAAK,IAAI,QAAQ,oBAAoB,EAAE,CACrC,KAAI,aAAa,KAAK,GAAG,KAAK,CAC5B,iBAAgB,IAAI,MAAM,EAAE,MAAM;;AAExC,QAAO;;AAMT,IAAI,eAAe,EAAE,SAAS,EAAE,EAAE;AAClC,IAAI,8BAA8B,EAAE;AACpC,IAAI,OAAO,EAAE,SAAS,EAAE,EAAE;AAC1B,IAAI,0CAA0C,EAAE;;;;;;;;;AAShD,IAAI,IAAIC;AACR,SAAS,IAAI,IAAI,GAAG;AAClB,QAAO,OAAO,MAAM,OAAO,KAAK,IAAI,OAAO,IAAI,MAAM,OAAO,MAAM,MAAM;;AAE1E,IAAI,IAAI,OAAO,OAAO,OAAO,aAAa,OAAO,KAAK,KAAK,IAAI,EAAE,UAAU,IAAI,EAAE,WAAW,MAAM,EAAE,iBAAiB,MAAM,EAAE;AAC7H,SAAS,IAAI,IAAI,GAAG;CAClB,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM;EAAE,OAAO;EAAG,aAAa;EAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE;AACjF,KAAI,WAAW;AACb,IAAE,QAAQ;AACV,IAAE,cAAc;AAChB,MAAI,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;IACvB;EAAC;EAAI;EAAG;EAAE,CAAC;AACd,GAAE,WAAW;AACX,MAAI,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;AACxB,SAAO,GAAG,WAAW;AACnB,OAAI,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;IACxB;IACD,CAAC,GAAG,CAAC;AACR,KAAI,EAAE;AACN,QAAO;;AAET,SAAS,IAAI,IAAI;CACf,IAAI,IAAI,GAAG;AACX,MAAK,GAAG;AACR,KAAI;EACF,IAAI,IAAI,GAAG;AACX,SAAO,CAAC,EAAE,IAAI,EAAE;UACT,GAAG;AACV,SAAO;;;AAGX,SAAS,IAAI,IAAI,GAAG;AAClB,QAAO,GAAG;;AAEZ,IAAI,MAAM,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa,eAAe,OAAO,OAAO,SAAS,kBAAkB,cAAc,MAAM;AAClJ,wCAAwC,uBAAuB,EAAE,yBAAyB,KAAK,IAAI,EAAE,uBAAuB;AAE1H,KAAK,UAAU;;;;;;;;;AAUjB,IAAI,IAAIA,eAAO,IAAI,KAAK;AACxB,SAAS,EAAE,IAAI,GAAG;AAChB,QAAO,OAAO,MAAM,OAAO,KAAK,IAAI,OAAO,IAAI,MAAM,OAAO,MAAM,MAAM;;AAE1E,IAAI,IAAI,OAAO,OAAO,OAAO,aAAa,OAAO,KAAK,GAAG,IAAI,EAAE,sBAAsB,IAAI,EAAE,QAAQ,IAAI,EAAE,WAAW,IAAI,EAAE,SAAS,IAAI,EAAE;AACzI,4BAA4B,mCAAmC,SAAS,IAAI,GAAG,IAAI,IAAI,GAAG;CACxF,IAAI,IAAI,EAAE,KAAK;AACf,KAAI,EAAE,YAAY,MAAM;EACtB,IAAI,IAAI;GAAE,UAAU;GAAO,OAAO;GAAM;AACxC,IAAE,UAAU;OAEZ,KAAI,EAAE;AACR,KAAI,EAAE,WAAW;EACf,SAAS,GAAG,IAAI;AACd,OAAI,CAAC,IAAI;AACP,SAAK;AACL,SAAK;AACL,SAAK,GAAG,GAAG;AACX,QAAI,MAAM,KAAK,KAAK,EAAE,UAAU;KAC9B,IAAI,KAAK,EAAE;AACX,SAAI,EAAE,IAAI,GAAG,CACX,QAAO,KAAK;;AAEhB,WAAO,KAAK;;AAEd,QAAK;AACL,OAAI,EAAE,IAAI,GAAG,CACX,QAAO;GACT,IAAI,KAAK,GAAG,GAAG;AACf,OAAI,MAAM,KAAK,KAAK,EAAE,IAAI,GAAG,CAC3B,QAAO;AACT,QAAK;AACL,UAAO,KAAK;;EAEd,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,KAAK,IAAI,OAAO;AACpD,SAAO,CAAC,WAAW;AACjB,UAAO,GAAG,GAAG,CAAC;KACb,OAAO,OAAO,KAAK,IAAI,WAAW;AACnC,UAAO,GAAG,IAAI,CAAC;IACf;IACD;EAAC;EAAG;EAAI;EAAI;EAAE,CAAC;CAClB,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG;AACzB,GAAE,WAAW;AACX,IAAE,WAAW;AACb,IAAE,QAAQ;IACT,CAAC,EAAE,CAAC;AACP,GAAE,EAAE;AACJ,QAAO;;AAGP,aAAa,UAAU;AAEzB,SAAS,cAAc,OAAO,GAAG,MAAM;CACrC,IAAI,IAAI,IAAI,IAAI;CAChB,IAAI,UAAU;AACd,KAAI,KAAK,cAAc,UAAU;AAC/B,aAAW,KAAK;AAChB,aAAW,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE;YACjC,OAAO,KAAK,OAAO,UAAU;AACtC,aAAW,eAAe,KAAK,GAAG;AAClC,aAAW,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE;QACrC;AACL,cAAY,MAAM;AAClB,aAAW,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE;;CAE5C,MAAM,oCAAyB,aAAa;AAC1C,SAAO,MAAM,WAAW,MAAM,GAAG,UAAU;GACzC,UAAU,QAAQ;GAClB,QAAQ;GACR,UAAU,IAAI,MAAM,OAAO;GAC5B,CAAC;IACD,CAAC,OAAO,QAAQ,SAAS,CAAC;CAC7B,MAAM,2CAAgC,MAAM,UAAU,EAAE,CAAC,MAAM,CAAC;CAChE,MAAM,QAAQ,aAAa,QAAQ,iCAAiC,WAAW,aAAa,aAAa,WAAW,KAAK,QAAQ,YAAY,OAAO,KAAKC,QAAM;AAC/J,0BAAc,MAAM;AACpB,QAAO;;AAET,SAAS,aAAa,OAAO,UAAU;CACrC,MAAM,QAAQ,cAAc,OAAO,SAAS;CAC5C,MAAM,UAAU,WAAW,MAAM,QAAQ,UAAU,gBAAgB,OAAO,UAAU,OAAO,CAAC;AAC5F,QAAO,CAAC,OAAO,OAAO;;AAExB,IAAM,QAAN,cAAoB,QAAQ;CAC1B,SAAS,GAAG,MAAM;AAChB,SAAO,cAAc,MAAM,GAAG,KAAK;;CAErC,QAAQ,UAAU;AAChB,SAAO,aAAa,MAAM,SAAS;;;AAGvC,IAAM,aAAN,MAAiB;CACf,YAAY,cAAc;AACxB,OAAK,eAAe;AACpB,OAAK,YAAY,EAAE,UAAU,YAAY;GACvC,MAAM,kCAAuB,SAAS,OAAO,QAAQ,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC,MAAM,CAAC;AAC3F,UAAuB,8BAAM,cAAc,KAAK,QAAQ,UAAU,EAChE,OAAO,QACR,EAAE,SAAS;;AAEd,OAAK,aAAa,cAAc;AAC9B,WAAQ,SAAyB,8BAAM,cAAc,KAAK,UAAU,MAAsB,8BAAM,cAAc,WAAW,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;;AAErJ,OAAK,mCAAwB,IAAI,MAAM,aAAa,CAAC;;CAEvD,WAAW;AACT,+BAAkB,KAAK,QAAQ;;CAEjC,SAAS,GAAG,MAAM;AAEhB,SAAO,cADO,KAAK,UAAU,EACD,GAAG,KAAK;;CAEtC,QAAQ,UAAU;AAEhB,SAAO,aADO,KAAK,UAAU,EACF,SAAS;;;;;;AChMxC,SAAgB,SACd,WACA,IAC0D;CAC1D,IAAI,OAAO;CACX,IAAIC;CACJ,IAAIC;CAEJ,SAAS,MAAM;EACb,MAAM,OAAO;AAEb,SAAO,KAAK,KAAK;AACjB,aAAW;AACX,YAAU;AAEV,YAAU,GAAG,KAAM;;AAGrB,QAAO,OAAO,OACZ,SAAU,GAAG,MAAY;EACvB,MAAM,MAAM,KAAK,KAAK;AACtB,aAAW;AAEX,MAAI,SAAS,YAEF,MAAM,OAAO,GACtB,WAAU,WAAW,KAAK,OAAO,KAAK,IAAI;MAE1C,MAAK;IAGT;EACE,QAAQ;AACN,OAAI,SACF,MAAK;;EAIT,SAAS;AACP,OAAI,QACF,cAAa,QAAQ;;EAG1B,CACF;;;;;AC1CH,MAAM,gCAAW;CACf,SAAS;CACT,SAAS;CACT,YAAY;CACZ,cAAc;CACd,YAAY;CACZ,UAAU;CACV,WAAW;CAEX,WAAW,EACT,SAAS,GACV;CACF,CAAC;AAEF,MAAa,iBAAiB;CAC5B,gCAAW;EACT,UAAU;EACV,SAAS;EACT,OAAO;EACR,CAAC;CAEF;CAEA,mCAAc,EACZ,cAAc,6CACf,CAAC;CAEF,qCAAgB,MAAM;EACpB,cAAc;EACd,YAAY;EAEZ,iBAAiB,EACf,SAAS,4DACV;EACF,CAAC;CAEF,qCAAgB,MAAM;EACpB,SAAS;EACT,WAAW;EACX,cAAc;EACd,YAAY;EACb,CAAC;CAEF,oCAAe,EACb,gBAAgB,SACjB,CAAC;CAEF,iCAAY;EACV,UAAU;EACV,KAAK;EACL,QAAQ;EACT,CAAC;CAEF,uCAAkB;EAChB,UAAU;EACV,QAAQ;EACR,QAAQ;EACT,CAAC;CAEF,qCAAgB;EACd,cAAc;EACd,YAAY;EACb,CAAC;CAEF,qCAAgB;EACd,WAAW;EACX,YAAY;EACb,CAAC;CAEF,+BAAU;EACR,UAAU;EACV,UAAU;EACV,cAAc;EACf,CAAC;CAEF,+BAAU;EACR,cAAc;EACd,WAAW;EACX,YAAY;EACb,CAAC;CAEF,6CAAwB;EACtB,SAAS;EACT,YAAY;EACZ,UAAU;EACV,MAAM;EACN,UAAU;EACV,YAAY;EACZ,QAAQ;GACN,OAAO;GACP,QAAQ;GACR,aAAa;GACb,QAAQ;GACT;EACF,CAAC;CAEF,kCAAa,MAAM;EACjB,YAAY;EACZ,YAAY;EACb,CAAC;CACH;;;;AChGD,MAAM,aAAa;AAEnB,MAAaC,WAAgD,EAC3D,UACA,MACA,QACA,SACA,UACA,WACA,mBACA,YACI;CACJ,MAAM,0BAA+B,KAAK;CAC1C,MAAM,6BAAkC,KAAK;CAC7C,MAAM,2BAAgC,KAAK;AAE3C,kCAAsB;AACpB,MAAI,CAAC,KACH;EAGF,SAAS,QAAQ;GACf,MAAM,aAAa,WAAW,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,WAAW;GAC3F,MAAM,cAAc,WAAW,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,YAAY;GAC7F,MAAM,YAAY,WAAW,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,UAAU;GACzF,MAAM,eAAe,WACnB,iBAAiB,OAAO,WAAW,SAAS,KAAK,CAAC,aACnD;AACD,UAAO,SAAS,MAAM,YAAY,cAAc,GAAG,aAAa,YAAY,IAAI;AAChF,UAAO,SAAS,MAAM,YAAY,cAAc,GAAG,YAAY,aAAa,IAAI;AAEhF,OAAI,QAAQ;AACV,WAAO,SAAS,MAAM,YAAY,cAAc,SAAS;AACzD;;GAGF,MAAM,gBAAgB,OAAO,gBAAgB,SAAS,OAAO;GAC7D,MAAM,iBAAiB,OAAO,gBAAgB,UAAU,OAAO;GAC/D,MAAM,EAAE,OAAO,cAAc,GAAG,QAAQ,eAAe,MACrD,OAAO,SAAS,uBAAuB,IAAI,EAAE;GAE/C,MAAM,OAAO;IACX,MAAM;IACN,KAAK;IACN;AAED,OAAI,UAAU;IACZ,MAAM,KAAK,SAAS,uBAAuB;AAE3C,QAAI,UAAU,SACZ,MAAK,OAAO,GAAG,OAAO,GAAG,QAAQ,IAAI,cAAc;QAEnD,MAAK,OACH,GAAG,OACH,KAAK,IAAI,cAAc,cAAc,IAAI,OAAO,mBAAmB,WAAW;AAGlF,SAAK,MAAM,GAAG;UACT;AACL,SAAK,QAAQ,gBAAgB,eAAe;AAC5C,SAAK,OAAO,iBAAiB,gBAAgB;;AAG/C,OAAI,KAAK,OAAO,gBAAgB,cAAc,aAAa,YACzD,MAAK,OAAO,gBAAgB,cAAc,aAAa;AAEzD,OAAI,KAAK,OAAO,WACd,MAAK,OAAO;AAEd,OAAI,KAAK,MAAM,iBAAiB,eAAe,YAAY,aACzD,MAAK,MAAM,iBAAiB,eAAe,YAAY;AAEzD,OAAI,KAAK,MAAM,UACb,MAAK,MAAM;AAGb,UAAO,SAAS,MAAM,YAAY,QAAQ,GAAG,KAAK,KAAK,IAAI;AAC3D,UAAO,SAAS,MAAM,YAAY,OAAO,GAAG,KAAK,IAAI,IAAI;AACzD,UAAO,SAAS,MAAM,YAAY,cAAc,UAAU;;EAE5D,MAAM,iBAAiB,SAAS,OAAO,GAAG;AAC1C,SAAO;EAEP,MAAM,SAAS,YAAY,gBAAgB,IAAK;AAChD,SAAO,iBAAiB,UAAU,eAAe;AACjD,SAAO,iBAAiB,UAAU,gBAAgB,KAAK;AAEvD,eAAa;AACX,iBAAc,OAAO;AACrB,UAAO,oBAAoB,UAAU,eAAe;AACpD,UAAO,oBAAoB,UAAU,gBAAgB,KAAK;;IAE3D;EAAC;EAAU;EAAM;EAAQ;EAAM,CAAC;AAEnC,kCAAsB;AACpB,MAAI,CAAC,KAAM;EAEX,MAAM,YAAY,EAAE;AACpB,OAAK,IAAI,OAAO,MAAM,SAAS,eAAe,MAAM,OAAO,KAAK,cAC9D,WAAU,KAAK,KAAK;AAGtB,OAAK,MAAM,QAAQ,UAAU,SAAS,EAAE;GACtC,MAAM,QAAQ,SAAS,aAAa,iBAAiB,KAAK,CAAC,iBAAiB,UAAU;AAEtF,OAAI,SAAS,CAAC,OAAO,MAAM,OAAO,MAAM,CAAC,EAAE;IACzC,MAAM,YAAY,OAAO,MAAM,GAAG;AAElC,QACE,SAAS,WACT,EACE,OACE,SAAS,aAAa,iBAAiB,SAAS,QAAQ,CAAC,iBAAiB,UAAU,CACrF,GAAG,WAGN,UAAS,SAAS,MAAM,YAAY,WAAW,UAAU,UAAU,CAAC;AAGtE,QACE,OAAO,WACP,EACE,OACE,SAAS,aAAa,iBAAiB,OAAO,QAAQ,CAAC,iBAAiB,UAAU,CACnF,GACD,YAAY,GAGd,QAAO,SAAS,MAAM,YAAY,YAAY,YAAY,GAAG,UAAU,CAAC;AAE1E;;;IAGH,CAAC,UAAU,KAAK,CAAC;AAEpB,KAAI,CAAC,KAAM,QAAO;AAElB,QACE,yGACE,qDAAC;EACC,KAAK;EACL,KAAK,EACH,SAAS,QACV;GACD,8BAGA,yGACE,qDAAC;EACC,KAAK;EACL,WAAW;EACX,KAAK,CACH;GACE,UAAU;GACV,MAAM;GACN,OAAO;GACP,KAAK;GACL,QAAQ;GACT,EACD,UAAU,EAAE,SAAS,QAAQ,CAC9B;EACD,eAAe,SAAS;GACxB,EAEF,qDAAC;EACC,KAAK;EACM;EACX,KAAK;GACH,eAAe;GACf;IACE,UAAU;IACV,OAAO;IACP,UAAU,CACR,kDACA,mDACD;IACD,WAAW,CACT,kDACA,mDACD;IACD,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,YAAY;IACb;GACD,UAAU,EAAE,SAAS,QAAQ;GAC9B;EAEA;GACG,IACL,EACH,SAAS,KACV,IACA;;;;;ACrMP,MAAa,mBAAmB,IAAI,MAAyB,EAAE,CAAC;AAEhE,SAAgB,oBAAoB,YAA+B;AACjE,kBAAiB,IAAI,WAAW;;AAGlC,SAAgB,YAAe,GAAG,QAAsD;AACtF,QAAO;EACL,MAAM,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,KAAK,CAAC;EAC7D,SAAS,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,CAAC;EACnE,QAAQ,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,OAAO,CAAC;EACjE,YAAY,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,WAAW,CAAC;EACzE,OAAO,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,MAAM,CAAC;EAC/D,QAAQ;GACN,SAAS,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,QAAQ,CAAC;GAC3E,WAAW,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,UAAU,CAAC;GAC/E,SAAS,OAAO,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,UAAU,MAAM,QAAQ,QAAQ,CAAC;GAC3E,YAAY,OACT,KAAK,UAAU,MAAM,QAAQ,WAAW,CACxC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAC/B,MAAM,OACH,KAAK,UAAU,MAAM,QAAQ,KAAK,CAClC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAC/B,QAAQ,OACL,KAAK,UAAU,MAAM,QAAQ,OAAO,CACpC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAC/B,aAAa,OACV,KAAK,UAAU,MAAM,QAAQ,YAAY,CACzC,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;GAChC;EACD,SAAS,OACN,KAAK,UAAU,MAAM,QAAQ,CAC7B,SAAS,CACT,MAAM,MAAM,MAAM,OAAU;EAChC;;;;;AC/BH,MAAa,gDAA+D;CAC1E,OAAO,EAAE;CACT,WAAW,CACT;EAAE,QAAQ;EAAQ,UAAU,IAAIC,iCAAa;EAAE,EAC/C;EAAE,QAAQ;EAAY,UAAU,IAAIA,iCAAa;EAAE,CACpD;CACF,CAAC;AAEF,SAAgB,sBAAsB,EACpC,OACA,WACA,qBACA,YAIC;CACD,MAAM,kCAAuB,qBAAqB;AAClD,WAAU,UAAU;AACpB,eAAc,UAAU;AAExB,KAAI,oBACF,aAAY,CAAC,GAAG,WAAW,GAAG,oBAAoB;AAGpD,QACE,qDAAC,qBAAqB;EACpB,OAAO;GACL;GACA;GACD;EAEA;GAC6B"}
|