schummar-table 0.33.1 → 0.35.0
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/cjs/index.js +240 -180
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mui4Theme.js +3 -3
- package/dist/cjs/mui5Theme.js +3 -3
- package/dist/cjs/tableTheme.js +478 -18
- package/dist/cjs/tableTheme.js.map +1 -1
- package/dist/es/index.js +144 -84
- package/dist/es/index.js.map +1 -1
- package/dist/es/mui4Theme.js +1 -1
- package/dist/es/mui5Theme.js +1 -1
- package/dist/es/tableTheme.js +465 -5
- package/dist/es/tableTheme.js.map +1 -1
- package/dist/types/components/dateFilter.d.ts +2 -2
- package/dist/types/components/datePicker.d.ts +9 -1
- package/dist/types/misc/defaults.d.ts +1 -0
- package/dist/types/types.d.ts +1 -0
- package/package.json +19 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableTheme.js","sources":["../../src/theme/defaultTheme/defaultClasses.ts","../../src/theme/defaultTheme/popover.tsx","../../src/theme/tableTheme.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nexport const white = '#ffffff';\nexport const lightGray = '#eeeeee';\nexport const gray = '#bdbdbd';\nexport const darkGray = '#777';\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 #dfe2e9`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n background: 'white',\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: `1px solid ${lightGray}`,\n }),\n\n headerCell: css(cell, {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n borderBottom: `1px solid #c9cfda`,\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: `1px solid #c9cfda`,\n borderBottom: 'none',\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 #c9cfda`,\n background: white,\n }),\n\n footerFill: css({\n borderTop: `1px solid #c9cfda`,\n background: white,\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: 'white',\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, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { TableTheme } from '../../types';\nimport { defaultClasses } from './defaultClasses';\n\nconst MARGIN = 10;\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 popper = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState<{ left: number; top: number }>();\n const [maxHeight, setMaxHeight] = useState(document.documentElement.clientHeight - 2 * MARGIN);\n const [zIndex, setZIndex] = useState(1);\n\n useLayoutEffect(() => {\n if (!anchorEl || !open) {\n setPosition(undefined);\n return;\n }\n\n let last: { left: number; top: number } | undefined;\n\n function check() {\n if (!anchorEl) return;\n const {\n left: anchorLeft,\n bottom: anchorBottom,\n width: anchorWidth,\n } = anchorEl.getBoundingClientRect();\n const { width: popperWidth = 0 } = popper.current?.getBoundingClientRect() ?? {};\n const viewportWidth = document.documentElement.clientWidth;\n const viewportHeight = document.documentElement.clientHeight;\n\n const next = {\n left:\n align === 'center'\n ? anchorLeft + anchorWidth / 2 - popperWidth / 2\n : anchorLeft -\n Math.min(popperWidth ? popperWidth / 2 : Number.POSITIVE_INFINITY, MAX_OFFSET),\n top: anchorBottom,\n };\n\n if (next.left < MARGIN) {\n next.left = MARGIN;\n }\n if (next.left + popperWidth > viewportWidth - MARGIN) {\n next.left = viewportWidth - MARGIN - popperWidth;\n }\n if (next.top < MARGIN) {\n next.top = MARGIN;\n }\n\n if (next.left !== last?.left || next.top !== last?.top) {\n setPosition(next);\n }\n\n setMaxHeight(viewportHeight - MARGIN - next.top);\n\n last = next;\n }\n check();\n\n const handle = setInterval(check, 16);\n return () => {\n clearInterval(handle);\n };\n }, [anchorEl, open, align]);\n\n function updateZIndex(div: HTMLDivElement | null) {\n const ancestors = [];\n for (let node = div?.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 setZIndex(Number(value) + 1);\n return;\n }\n }\n }\n\n if (!open) return null;\n\n return (\n <>\n <div\n ref={updateZIndex}\n css={{\n display: 'none',\n }}\n />\n\n {createPortal(\n <>\n <div\n className={backdropClassName}\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n zIndex,\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 maxWidth: document.documentElement.clientWidth - 2 * MARGIN,\n maxHeight,\n ...position,\n zIndex: zIndex + 1,\n overflowY: 'auto',\n },\n hidden && { display: 'none' },\n !position && { visibility: 'hidden' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </>\n );\n};\n","import type { ReactNode } from 'react';\nimport { createContext } from 'react';\nimport { 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 const TableThemeContext = createContext<PartialTableTheme>({});\n\nexport function TableThemeProvider({\n theme,\n children,\n}: {\n theme: PartialTableTheme;\n children?: ReactNode;\n}) {\n return <TableThemeContext.Provider value={theme}>{children}</TableThemeContext.Provider>;\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 },\n spacing: themes\n .map((theme) => theme.spacing)\n .reverse()\n .find((x) => x !== undefined),\n };\n}\n"],"names":["white","lightGray","gray","darkGray","cell","css","padding","display","alignItems","borderBottom","whiteSpace","overflow","background","process","env","NODE_ENV","defaultClasses","table","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","cellFill","headerCell","footerCell","borderTop","firstCell","sticky","stickyBottom","headerFill","footerFill","text","card","clearFiltersButton","fontWeight","position","left","maxWidth","gridColumn","button","color","border","borderColor","margin","details","MARGIN","MAX_OFFSET","_ref","Popover","anchorEl","open","hidden","onClose","children","className","backdropClassName","align","popper","useRef","setPosition","useState","maxHeight","setMaxHeight","document","documentElement","clientHeight","zIndex","setZIndex","useLayoutEffect","undefined","last","check","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","current","viewportWidth","clientWidth","viewportHeight","next","Math","min","Number","POSITIVE_INFINITY","top","handle","setInterval","clearInterval","updateZIndex","div","ancestors","node","parentElement","push","reverse","value","defaultView","getComputedStyle","getPropertyValue","isNaN","jsxs","Fragment","jsx","createPortal","right","overflowY","visibility","body","globalTableTheme","Store","configureTableTheme","tableTheme","set","TableThemeContext","createContext","TableThemeProvider","theme","mergeThemes","themes","Object","assign","classes","components","icons","colors","primary","secondary","spacing","find","x"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableTheme.js","sources":["../../node_modules/schummar-state/dist/es/store.js","../../node_modules/schummar-state/dist/es/react.js","../../src/theme/defaultTheme/defaultClasses.ts","../../src/theme/defaultTheme/popover.tsx","../../src/theme/tableTheme.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","import { css } from '@emotion/react';\n\nexport const white = '#ffffff';\nexport const lightGray = '#eeeeee';\nexport const gray = '#bdbdbd';\nexport const darkGray = '#777';\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 #dfe2e9`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n background: 'white',\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: `1px solid ${lightGray}`,\n }),\n\n headerCell: css(cell, {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n borderBottom: `1px solid #c9cfda`,\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: `1px solid #c9cfda`,\n borderBottom: 'none',\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 #c9cfda`,\n background: white,\n }),\n\n footerFill: css({\n borderTop: `1px solid #c9cfda`,\n background: white,\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: 'white',\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, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { TableTheme } from '../../types';\nimport { defaultClasses } from './defaultClasses';\n\nconst MARGIN = 10;\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 popper = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState<{ left: number; top: number }>();\n const [maxHeight, setMaxHeight] = useState(document.documentElement.clientHeight - 2 * MARGIN);\n const [zIndex, setZIndex] = useState(1);\n\n useLayoutEffect(() => {\n if (!anchorEl || !open) {\n setPosition(undefined);\n return;\n }\n\n let last: { left: number; top: number } | undefined;\n\n function check() {\n if (!anchorEl) return;\n const {\n left: anchorLeft,\n bottom: anchorBottom,\n width: anchorWidth,\n } = anchorEl.getBoundingClientRect();\n const { width: popperWidth = 0 } = popper.current?.getBoundingClientRect() ?? {};\n const viewportWidth = document.documentElement.clientWidth;\n const viewportHeight = document.documentElement.clientHeight;\n\n const next = {\n left:\n align === 'center'\n ? anchorLeft + anchorWidth / 2 - popperWidth / 2\n : anchorLeft -\n Math.min(popperWidth ? popperWidth / 2 : Number.POSITIVE_INFINITY, MAX_OFFSET),\n top: anchorBottom,\n };\n\n if (next.left < MARGIN) {\n next.left = MARGIN;\n }\n if (next.left + popperWidth > viewportWidth - MARGIN) {\n next.left = viewportWidth - MARGIN - popperWidth;\n }\n if (next.top < MARGIN) {\n next.top = MARGIN;\n }\n\n if (next.left !== last?.left || next.top !== last?.top) {\n setPosition(next);\n }\n\n setMaxHeight(viewportHeight - MARGIN - next.top);\n\n last = next;\n }\n check();\n\n const handle = setInterval(check, 16);\n return () => {\n clearInterval(handle);\n };\n }, [anchorEl, open, align]);\n\n function updateZIndex(div: HTMLDivElement | null) {\n const ancestors = [];\n for (let node = div?.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 setZIndex(Number(value) + 1);\n return;\n }\n }\n }\n\n if (!open) return null;\n\n return (\n <>\n <div\n ref={updateZIndex}\n css={{\n display: 'none',\n }}\n />\n\n {createPortal(\n <>\n <div\n className={backdropClassName}\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n zIndex,\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 maxWidth: document.documentElement.clientWidth - 2 * MARGIN,\n maxHeight,\n ...position,\n zIndex: zIndex + 1,\n overflowY: 'auto',\n },\n hidden && { display: 'none' },\n !position && { visibility: 'hidden' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </>\n );\n};\n","import type { ReactNode } from 'react';\nimport { createContext } from 'react';\nimport { 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 const TableThemeContext = createContext<PartialTableTheme>({});\n\nexport function TableThemeProvider({\n theme,\n children,\n}: {\n theme: PartialTableTheme;\n children?: ReactNode;\n}) {\n return <TableThemeContext.Provider value={theme}>{children}</TableThemeContext.Provider>;\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 },\n spacing: themes\n .map((theme) => theme.spacing)\n .reverse()\n .find((x) => x !== undefined),\n };\n}\n"],"names":["v","p","freeze","enableMapSet","enablePatches","produce","applyPatches","e","useCallback","useDebugValue","Store","useMemo","createContext","useContext","white","lightGray","gray","darkGray","cell","css","padding","display","alignItems","borderBottom","whiteSpace","overflow","background","process","env","NODE_ENV","defaultClasses","table","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","cellFill","headerCell","footerCell","borderTop","firstCell","sticky","stickyBottom","headerFill","footerFill","text","card","clearFiltersButton","fontWeight","position","left","maxWidth","gridColumn","button","color","border","borderColor","margin","details","MARGIN","MAX_OFFSET","_ref","Popover","anchorEl","open","hidden","onClose","children","className","backdropClassName","align","popper","useRef","setPosition","useState","maxHeight","setMaxHeight","document","documentElement","clientHeight","zIndex","setZIndex","useLayoutEffect","undefined","last","check","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","current","viewportWidth","clientWidth","viewportHeight","next","Math","min","Number","POSITIVE_INFINITY","top","handle","setInterval","clearInterval","updateZIndex","div","ancestors","node","parentElement","push","reverse","value","defaultView","getComputedStyle","getPropertyValue","isNaN","jsxs","Fragment","jsx","createPortal","right","overflowY","visibility","body","globalTableTheme","configureTableTheme","tableTheme","set","TableThemeContext","TableThemeProvider","theme","mergeThemes","themes","Object","assign","classes","components","icons","colors","primary","secondary","spacing","find","x"],"mappings":"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","x_google_ignoreList":[0,1]}
|