schummar-table 0.25.0 → 0.26.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.
@@ -244,7 +244,7 @@ function mergeThemes(...themes) {
244
244
  return {
245
245
  text: Object.assign({}, ...themes.map((theme) => theme.text)),
246
246
  classes: Object.assign({}, ...themes.map((theme) => theme.classes)),
247
- css: Object.assign({}, ...themes.map((theme) => theme.css)),
247
+ styles: Object.assign({}, ...themes.map((theme) => theme.styles)),
248
248
  components: Object.assign({}, ...themes.map((theme) => theme.components)),
249
249
  icons: Object.assign({}, ...themes.map((theme) => theme.icons)),
250
250
  colors: {
@@ -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","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 [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, height: popperHeight = 0 } =\n 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 if (next.top + popperHeight > viewportHeight - MARGIN) {\n next.top = viewportHeight - MARGIN - popperHeight;\n }\n\n if (next.left !== last?.left || next.top !== last?.top) {\n setPosition(next);\n }\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: document.documentElement.clientHeight - 2 * MARGIN,\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 css: Object.assign({}, ...themes.map((theme) => theme.css)),\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","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","MARGIN","MAX_OFFSET","_ref","Popover","anchorEl","open","hidden","onClose","children","className","backdropClassName","align","popper","useRef","setPosition","useState","zIndex","setZIndex","useLayoutEffect","undefined","last","check","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","height","popperHeight","current","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","next","Math","min","Number","POSITIVE_INFINITY","top","handle","setInterval","clearInterval","updateZIndex","div","ancestors","node","parentElement","push","reverse","value","defaultView","getComputedStyle","getPropertyValue","isNaN","createPortal","right","maxHeight","overflowY","visibility","body","globalTableTheme","Store","configureTableTheme","tableTheme","set","TableThemeContext","createContext","TableThemeProvider","theme","mergeThemes","themes","Object","assign","classes","css","components","icons","colors","primary","secondary","spacing","find","x"],"mappings":"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"}
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","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 [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, height: popperHeight = 0 } =\n 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 if (next.top + popperHeight > viewportHeight - MARGIN) {\n next.top = viewportHeight - MARGIN - popperHeight;\n }\n\n if (next.left !== last?.left || next.top !== last?.top) {\n setPosition(next);\n }\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: document.documentElement.clientHeight - 2 * MARGIN,\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","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","MARGIN","MAX_OFFSET","_ref","Popover","anchorEl","open","hidden","onClose","children","className","backdropClassName","align","popper","useRef","setPosition","useState","zIndex","setZIndex","useLayoutEffect","undefined","last","check","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","height","popperHeight","current","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","next","Math","min","Number","POSITIVE_INFINITY","top","handle","setInterval","clearInterval","updateZIndex","div","ancestors","node","parentElement","push","reverse","value","defaultView","getComputedStyle","getPropertyValue","isNaN","createPortal","right","maxHeight","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":";;;;;;;;AAEO,MAAMA,QAAQ;AACd,MAAMC,YAAY;AAClB,MAAMC,OAAO;AACb,MAAMC,WAAW;AAExB,MAAMC,OAAW,oBAAA;AAAA,EACfC,SAAU;AAAA,EACVC,SAAS;AAAA,EACTC,YAAY;AAAA,EACZC,cAAe;AAAA,EACfC,YAAY;AAAA,EACZC,UAAU;AAAA,EACVC,YAAY;AACd,GAACC,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,gBAAAA,QAAAC,IAAAC,aAAC,eAAA,KAAA,68FAAA;AAEK,MAAMC,iBAAiB;AAAA,EAC5BC,OAAKJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,IAAAG,MAAA;AAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAD,MAAA;AAAA,IAAAC,QAAA;AAAA,IAAAC,KAAA;AAAA,IAAAC,UAAAC;AAAAA,EAAA;AAAA,EAKLjB;AAAAA,EAEAkB,UAAc,oBAAA;AAAA,IACZd,cAAe,aAAYP;AAAAA,EAC5BW,GAAAA,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,oBAAAA,QAAAC,IAAAC,aAAC,eAAA,KAAA,68FAAA;AAAA,EAEFS,gCAAgBnB,MAAM;AAAA,IACpBC,SAAU;AAAA,IACVG,cAAe;AAAA,EAChBI,GAAAA,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,sBAAAA,QAAAC,IAAAC,aAAC,eAAA,KAAA,68FAAA;AAAA,EAEFU,gCAAgBpB,MAAM;AAAA,IACpBC,SAAU;AAAA,IACVoB,WAAY;AAAA,IACZjB,cAAc;AAAA,EACfI,GAAAA,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,sBAAAA,QAAAC,IAAAC,aAAC,eAAA,KAAA,68FAAA;AAAA,EAEFY,WAASd,QAAAC,IAAAC,aAAA,eAAA;AAAA,IAAAG,MAAA;AAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAD,MAAA;AAAA,IAAAC,QAAA;AAAA,IAAAC,KAAA;AAAA,IAAAC,UAAAC;AAAAA,EAAA;AAAA,EAITM,QAAMf,QAAAC,IAAAC,aAAA,eAAA;AAAA,IAAAG,MAAA;AAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAD,MAAA;AAAA,IAAAC,QAAA;AAAA,IAAAC,KAAA;AAAA,IAAAC,UAAAC;AAAAA,EAAA;AAAA,EAMNO,cAAYhB,QAAAC,IAAAC,aAAA,eAAA;AAAA,IAAAG,MAAA;AAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAD,MAAA;AAAA,IAAAC,QAAA;AAAA,IAAAC,KAAA;AAAA,IAAAC,UAAAC;AAAAA,EAAA;AAAA,EAMZQ,YAAgB,oBAAA;AAAA,IACdrB,cAAe;AAAA,IACfG,YAAYX;AAAAA,EACbY,GAAAA,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,sBAAAA,QAAAC,IAAAC,aAAC,eAAA,KAAA,68FAAA;AAAA,EAEFgB,YAAgB,oBAAA;AAAA,IACdL,WAAY;AAAA,IACZd,YAAYX;AAAAA,EACbY,GAAAA,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,sBAAAA,QAAAC,IAAAC,aAAC,eAAA,KAAA,68FAAA;AAAA,EAEFiB,MAAInB,QAAAC,IAAAC,aAAA,eAAA;AAAA,IAAAG,MAAA;AAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAD,MAAA;AAAA,IAAAC,QAAA;AAAA,IAAAC,KAAA;AAAA,IAAAC,UAAAC;AAAAA,EAAA;AAAA,EAMJW,MAAIpB,QAAAC,IAAAC,aAAA,eAAA;AAAA,IAAAG,MAAA;AAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAD,MAAA;AAAA,IAAAC,QAAA;AAAA,IAAAC,KAAA;AAAA,IAAAC,UAAAC;AAAAA,EAAA;AAAA,EAMJY,oBAAwB,oBAAA;AAAA,IACtB5B,SAAU;AAAA,IACV6B,YAAY;AAAA,IACZC,UAAU;AAAA,IACVC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,YAAY;AAAA,IACZC,QAAQ;AAAA,MACNC,OAAO;AAAA,MACPC,QAAQ;AAAA,MACRC,aAAa;AAAA,MACbC,QAAQ;AAAA,IACV;AAAA,EACD/B,GAAAA,QAAAC,IAAAC,aAAA,eAAA,KAAA,8BAAAF,QAAAC,IAAAC,aAAA,eAAA,KAAA,i9FAAA;AACH;;;;ACvFA,MAAM8B,SAAS;AACf,MAAMC,aAAa;AAAG,IAAAC,OAAAlC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AAEf,MAAM0B,UAA+CA,CAAC;AAAA,EAC3DC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACF,MAAM;AACEC,QAAAA,SAASC,OAAuB,IAAI;AAC1C,QAAM,CAACtB,UAAUuB,WAAW,IAAIC,SAAyC;AACzE,QAAM,CAACC,QAAQC,SAAS,IAAIF,SAAS,CAAC;AAEtCG,kBAAgB,MAAM;AAChB,QAAA,CAACd,YAAY,CAACC,MAAM;AACtBS,kBAAYK,MAAS;AACrB;AAAA,IACF;AAEIC,QAAAA;AAEJ,aAASC,QAAQ;;AACf,UAAI,CAACjB;AAAU;AACT,YAAA;AAAA,QACJZ,MAAM8B;AAAAA,QACNC,QAAQC;AAAAA,QACRC,OAAOC;AAAAA,MAAAA,IACLtB,SAASuB;AACP,YAAA;AAAA,QAAEF,OAAOG,cAAc;AAAA,QAAGC,QAAQC,eAAe;AAAA,MACrDlB,MAAAA,YAAOmB,YAAPnB,mBAAgBe,4BAA2B,CAAA;AACvCK,YAAAA,gBAAgBC,SAASC,gBAAgBC;AACzCC,YAAAA,iBAAiBH,SAASC,gBAAgBG;AAEhD,YAAMC,OAAO;AAAA,QACX9C,MACEmB,UAAU,WACNW,aAAaI,cAAc,IAAIE,cAAc,IAC7CN,aACAiB,KAAKC,IAAIZ,cAAcA,cAAc,IAAIa,OAAOC,mBAAmBzC,UAAU;AAAA,QACnF0C,KAAKnB;AAAAA,MAAAA;AAGHc,UAAAA,KAAK9C,OAAOQ,QAAQ;AACtBsC,aAAK9C,OAAOQ;AAAAA,MACd;AACA,UAAIsC,KAAK9C,OAAOoC,cAAcI,gBAAgBhC,QAAQ;AAC/CR,aAAAA,OAAOwC,gBAAgBhC,SAAS4B;AAAAA,MACvC;AACIU,UAAAA,KAAKK,MAAM3C,QAAQ;AACrBsC,aAAKK,MAAM3C;AAAAA,MACb;AACA,UAAIsC,KAAKK,MAAMb,eAAeM,iBAAiBpC,QAAQ;AAChD2C,aAAAA,MAAMP,iBAAiBpC,SAAS8B;AAAAA,MACvC;AAEA,UAAIQ,KAAK9C,UAAS4B,6BAAM5B,SAAQ8C,KAAKK,SAAQvB,6BAAMuB,MAAK;AACtD7B,oBAAYwB,IAAI;AAAA,MAClB;AAEOA,aAAAA;AAAAA,IACT;AACO;AAEDM,UAAAA,SAASC,YAAYxB,OAAO,EAAE;AACpC,WAAO,MAAM;AACXyB,oBAAcF,MAAM;AAAA,IAAA;AAAA,EAErB,GAAA,CAACxC,UAAUC,MAAMM,KAAK,CAAC;AAE1B,WAASoC,aAAaC,KAA4B;;AAChD,UAAMC,YAAY,CAAA;AAClB,aAASC,OAAOF,2BAAKG,eAAeD,MAAMA,OAAOA,KAAKC,eAAe;AACnEF,gBAAUG,KAAKF,IAAI;AAAA,IACrB;AAEWA,eAAAA,QAAQD,UAAUI,WAAW;AACtC,YAAMC,SAAQrB,cAASsB,gBAATtB,mBAAsBuB,iBAAiBN,MAAMO,iBAAiB;AAE5E,UAAIH,SAAS,CAACb,OAAOiB,MAAMjB,OAAOa,KAAK,CAAC,GAAG;AAC/Bb,kBAAAA,OAAOa,KAAK,IAAI,CAAC;AAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAACjD;AAAa,WAAA;AAElB,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,OACC,EAAA,KAAK0C,cACL,KAAI7C,MAEF;AAAA,IAGHyD,aAEG,qBAAA,UAAA,EAAA,UAAA;AAAA,MAAA,oBAAC,OACC,EAAA,WAAWjD,mBACX,KACE,CAAA;AAAA,QACEnB,UAAU;AAAA,QACVC,MAAM;AAAA,QACNoE,OAAO;AAAA,QACPjB,KAAK;AAAA,QACLpB,QAAQ;AAAA,QACRP;AAAAA,SAEFV,UAAU;AAAA,QAAE5C,SAAS;AAAA,MAAA,GAAQM,QAAAC,IAAAC,aAAA,eAAA,KAAA,mBAAAF,QAAAC,IAAAC,aAAA,eAAA,KAAA,qlLAAA,GAE/B,SAAS,MAAMqC,WAAU;AAAA,MAG3B,oBAAC,SACC,KAAKK,QACL,WACA,KACEzC,CAAAA,eAAeiB,MACf;AAAA,QACEG,UAAU;AAAA,QACVE,UAAUwC,SAASC,gBAAgBC,cAAc,IAAInC;AAAAA,QACrD6D,WAAW5B,SAASC,gBAAgBG,eAAe,IAAIrC;AAAAA,QACvD,GAAGT;AAAAA,QACHyB,QAAQA,SAAS;AAAA,QACjB8C,WAAW;AAAA,SAEbxD,UAAU;AAAA,QAAE5C,SAAS;AAAA,MAAO,GAC5B,CAAC6B,YAAY;AAAA,QAAEwE,YAAY;AAAA,MAAA,GAAU/F,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,mBAAAA,QAAAC,IAAAC,aACrC,eAAA,KAAA,qlLAAA,GAEDsC,SACH,CAAA;AAAA,IAAA,GACF,GACAyB,SAAS+B,IAAI;AAAA,EAEjB,EAAA,CAAA;AAEJ;AC9IO,MAAMC,mBAAmB,IAAIC,MAAyB,EAAE;AAExD,SAASC,oBAAoBC,YAA+B;AACjEH,mBAAiBI,IAAID,UAAU;AACjC;AAEaE,MAAAA,oBAAoBC,cAAiC,EAAE;AAE7D,SAASC,mBAAmB;AAAA,EACjCC;AAAAA,EACAjE;AAIF,GAAG;AACD,6BAAQ,kBAAkB,UAAlB,EAA2B,OAAOiE,OAAQjE,SAAS,CAAA;AAC7D;AAEO,SAASkE,eAAkBC,QAAsD;AAC/E,SAAA;AAAA,IACLxF,MAAMyF,OAAOC,OAAO,CAAA,GAAI,GAAGF,OAAOpG,IAAKkG,CAAAA,UAAUA,MAAMtF,IAAI,CAAC;AAAA,IAC5D2F,SAASF,OAAOC,OAAO,CAAA,GAAI,GAAGF,OAAOpG,IAAKkG,CAAAA,UAAUA,MAAMK,OAAO,CAAC;AAAA,IAClExG,QAAQsG,OAAOC,OAAO,CAAA,GAAI,GAAGF,OAAOpG,IAAKkG,CAAAA,UAAUA,MAAMnG,MAAM,CAAC;AAAA,IAChEyG,YAAYH,OAAOC,OAAO,CAAA,GAAI,GAAGF,OAAOpG,IAAKkG,CAAAA,UAAUA,MAAMM,UAAU,CAAC;AAAA,IACxEC,OAAOJ,OAAOC,OAAO,CAAA,GAAI,GAAGF,OAAOpG,IAAKkG,CAAAA,UAAUA,MAAMO,KAAK,CAAC;AAAA,IAC9DC,QAAQ;AAAA,MACNC,SAASN,OAAOC,OAAO,CAAA,GAAI,GAAGF,OAAOpG,IAAKkG,CAAUA,UAAAA;;AAAAA,2BAAMQ,WAANR,mBAAcS;AAAAA,OAAO,CAAC;AAAA,MAC1EC,WAAWP,OAAOC,OAAO,CAAA,GAAI,GAAGF,OAAOpG,IAAKkG,CAAUA,UAAAA;;AAAAA,2BAAMQ,WAANR,mBAAcU;AAAAA,OAAS,CAAC;AAAA,IAChF;AAAA,IACAC,SAAST,OACNpG,IAAKkG,CAAAA,UAAUA,MAAMW,OAAO,EAC5B/B,QAAAA,EACAgC,KAAMC,CAAMA,MAAAA,MAAMnE,MAAS;AAAA,EAAA;AAElC;"}
@@ -1,3 +1,3 @@
1
1
  import type { MemoizedTableTheme } from '../types';
2
2
  export declare function calcClassNames<T>(classes: MemoizedTableTheme<any>['classes'] | undefined, item: T, index: number): (string | false | undefined)[];
3
- export declare function calcCss<T>(css: MemoizedTableTheme<any>['css'] | undefined, item: T, index: number): (false | import("@emotion/serialize").CSSObject | undefined)[];
3
+ export declare function calcCss<T>(styles: MemoizedTableTheme<any>['styles'] | undefined, item: T, index: number): (false | import("@emotion/serialize").CSSObject | undefined)[];
@@ -49,7 +49,7 @@ export interface TableTheme<T = unknown> {
49
49
  popover?: string;
50
50
  popoverBackdrop?: string;
51
51
  };
52
- css?: {
52
+ styles?: {
53
53
  table?: CSSObject;
54
54
  headerCell?: CSSObject;
55
55
  footerCell?: CSSObject;
@@ -133,9 +133,9 @@ export interface TableTheme<T = unknown> {
133
133
  export type PartialTableTheme<T = unknown> = {
134
134
  [K in keyof TableTheme<T>]?: TableTheme<T>[K] extends Record<string, any> ? Partial<TableTheme<T>[K]> : TableTheme<T>[K];
135
135
  };
136
- export type MemoizedTableTheme<T> = Omit<TableTheme, 'classes' | 'css' | 'text'> & {
136
+ export type MemoizedTableTheme<T> = Omit<TableTheme, 'classes' | 'styles' | 'text'> & {
137
137
  classes: MemoizedFunctions<TableTheme<T>['classes']>;
138
- css: MemoizedFunctions<TableTheme<T>['css']>;
138
+ styles: MemoizedFunctions<TableTheme<T>['styles']>;
139
139
  text: MemoizedFunctions<TableTheme<T>['text']>;
140
140
  };
141
141
  export interface TableProps<T> extends PartialTableTheme<T> {
@@ -303,7 +303,7 @@ export type Column<T, V> = {
303
303
  /** Provide css class names to override columns styles. */
304
304
  classes?: Omit<NonNullable<TableTheme<T>['classes']>, 'table'>;
305
305
  /** Provide css styles to override columns styles. */
306
- css?: Omit<NonNullable<TableTheme<T>['css']>, 'table'>;
306
+ styles?: Omit<NonNullable<TableTheme<T>['styles']>, 'table'>;
307
307
  };
308
308
  export type InternalColumn<T, V> = MemoizedFunctions<Required<Omit<Column<T, V>, 'id' | 'sortBy'>, 'header' | 'renderCell' | 'exportCell' | 'sortBy'> & {
309
309
  id: Id;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "schummar-table",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "repository": "schummar/schummar-table",