schummar-table 0.24.3 → 0.25.1
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 +126 -80
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mui4Theme.js.map +1 -1
- package/dist/cjs/mui5Theme.js.map +1 -1
- package/dist/cjs/tableTheme.js +1 -0
- package/dist/cjs/tableTheme.js.map +1 -1
- package/dist/es/index.js +129 -83
- package/dist/es/index.js.map +1 -1
- package/dist/es/mui4Theme.js.map +1 -1
- package/dist/es/mui5Theme.js.map +1 -1
- package/dist/es/tableTheme.js +1 -0
- package/dist/es/tableTheme.js.map +1 -1
- package/dist/types/misc/calcClassNames.d.ts +1 -0
- package/dist/types/theme/tableTheme.d.ts +2 -2
- package/dist/types/types.d.ts +16 -5
- package/package.json +19 -19
package/dist/es/mui4Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui4Theme.js","sources":["../../src/theme/mui4Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@material-ui/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n variant=\"outlined\"\n />\n ),\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n },\n },\n mui4Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableThemeContext.Provider value={_theme}>{children}</TableThemeContext.Provider>;\n}\n"],"names":["_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","mui4Theme","components","Button","props","variant","IconButton","Checkbox","Popover","Badge","TextField","startIcon","endIcon","startAdornment","endAdornment","Spinner","CircularProgress","Mui4TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;;AAa+D,IAAAA,OAAAC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AAExD,MAAMC,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAAIZ,MACJ,OAAOY,MAAMC,YAAY,cAAc,YAAY,WAEtD;AAAA,IACDC,YAAaF,WAAW,oBAAA,YAAA,EAAeA,GAAAA,OAAO,MAAK,SAAQ,OAAM,UAAY,CAAA;AAAA,IAC7EG,UAAWH,WAAW,oBAAA,UAAA,EAAaA,GAAAA,OAAO,OAAM,WAAU,MAAK,SAAW,CAAA;AAAA,IAC1EI;AAAAA,IACAC;AAAAA,IACAC,WAAWA,CAAC;AAAA,MAAEC;AAAAA,MAAWC;AAAAA,
|
|
1
|
+
{"version":3,"file":"mui4Theme.js","sources":["../../src/theme/mui4Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@material-ui/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n variant=\"outlined\"\n />\n ),\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n },\n },\n mui4Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableThemeContext.Provider value={_theme}>{children}</TableThemeContext.Provider>;\n}\n"],"names":["_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","mui4Theme","components","Button","props","variant","IconButton","Checkbox","Popover","Badge","TextField","startIcon","endIcon","startAdornment","endAdornment","Spinner","CircularProgress","Mui4TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;;AAa+D,IAAAA,OAAAC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AAExD,MAAMC,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAAIZ,MACJ,OAAOY,MAAMC,YAAY,cAAc,YAAY,WAEtD;AAAA,IACDC,YAAaF,WAAW,oBAAA,YAAA,EAAeA,GAAAA,OAAO,MAAK,SAAQ,OAAM,UAAY,CAAA;AAAA,IAC7EG,UAAWH,WAAW,oBAAA,UAAA,EAAaA,GAAAA,OAAO,OAAM,WAAU,MAAK,SAAW,CAAA;AAAA,IAC1EI;AAAAA,IACAC;AAAAA,IACAC,WAAWA,CAAC;AAAA,MAAEC;AAAAA,MAAWC;AAAAA,MAAS,GAAGR;AAAAA,IACnC,MAAA,oBAAC,WACC,EAAA,GAAIA,OACJ,YAAY;AAAA,MAAES,gBAAgBF;AAAAA,MAAWG,cAAcF;AAAAA,IACvD,GAAA,MAAK,SACL,SAAQ,WAEX,CAAA;AAAA,IACDG,SAASC;AAAAA,EACX;AACF;AAEO,SAASC,uBAAuB;AAAA,EACrCC;AAAAA,EACAC;AAIF,GAAG;AACD,QAAMC,WAAWC;AAEXC,QAAAA,SAASC,QAAQ,MAAM;AAC3B,WAAOC,YACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA,MAC9B;AAAA,IAAA,GAEF3B,WACAiB,SAAS,CAAA,CAAE;AAAA,EAAA,GAEZ,CAACE,UAAUF,KAAK,CAAC;AAEpB,6BAAQ,kBAAkB,UAAlB,EAA2B,OAAOI,QAASH,SAAS,CAAA;AAC9D;"}
|
package/dist/es/mui5Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui5Theme.js","sources":["../../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => (\n <IconButton {...props} size=\"small\" css={{ fontSize: '0.8em' }} color=\"inherit\" />\n ),\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n />\n ),\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n },\n },\n mui5Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableThemeContext.Provider value={_theme}>{children}</TableThemeContext.Provider>;\n}\n"],"names":["_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","mui5Theme","components","Button","props","variant","IconButton","Checkbox","Popover","Badge","TextField","startIcon","endIcon","startAdornment","endAdornment","Spinner","Mui5TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;;AAa+D,IAAAA,OAAAC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AAAA,IAAAC,QAAAR,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AAExD,MAAME,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAAIb,MACJ,OAAOa,MAAMC,YAAY,cAAc,YAAY,WAEtD;AAAA,IACDC,YAAaF,CACX,UAAA,oBAAC,YAAW,EAAA,GAAIA,OAAO,MAAK,SAAQ,KAAIJ,OAAwB,OAAM,UACvE,CAAA;AAAA,IACDO,UAAWH,WAAW,oBAAA,UAAA,EAAaA,GAAAA,OAAO,OAAM,WAAU,MAAK,QAAU,CAAA;AAAA,IACzEI;AAAAA,IACAC;AAAAA,IACAC,WAAWA,CAAC;AAAA,MAAEC;AAAAA,MAAWC;AAAAA,
|
|
1
|
+
{"version":3,"file":"mui5Theme.js","sources":["../../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => (\n <IconButton {...props} size=\"small\" css={{ fontSize: '0.8em' }} color=\"inherit\" />\n ),\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n />\n ),\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n },\n },\n mui5Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableThemeContext.Provider value={_theme}>{children}</TableThemeContext.Provider>;\n}\n"],"names":["_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","mui5Theme","components","Button","props","variant","IconButton","Checkbox","Popover","Badge","TextField","startIcon","endIcon","startAdornment","endAdornment","Spinner","Mui5TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;;AAa+D,IAAAA,OAAAC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AAAA,IAAAC,QAAAR,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AAExD,MAAME,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAAIb,MACJ,OAAOa,MAAMC,YAAY,cAAc,YAAY,WAEtD;AAAA,IACDC,YAAaF,CACX,UAAA,oBAAC,YAAW,EAAA,GAAIA,OAAO,MAAK,SAAQ,KAAIJ,OAAwB,OAAM,UACvE,CAAA;AAAA,IACDO,UAAWH,WAAW,oBAAA,UAAA,EAAaA,GAAAA,OAAO,OAAM,WAAU,MAAK,QAAU,CAAA;AAAA,IACzEI;AAAAA,IACAC;AAAAA,IACAC,WAAWA,CAAC;AAAA,MAAEC;AAAAA,MAAWC;AAAAA,MAAS,GAAGR;AAAAA,IACnC,MAAA,oBAAC,WACC,EAAA,GAAIA,OACJ,YAAY;AAAA,MAAES,gBAAgBF;AAAAA,MAAWG,cAAcF;AAAAA,IAAAA,GACvD,MAAK,SAER;AAAA,IACDG,SAAUX,CAAU,UAAA,oBAAC,oBAAiB,GAAIA,OAAO,MAAM,IAAG;AAAA,EAC5D;AACF;AAEO,SAASY,uBAAuB;AAAA,EACrCC;AAAAA,EACAC;AAIF,GAAG;AACD,QAAMC,WAAWC;AAEXC,QAAAA,SAASC,QAAQ,MAAM;AAC3B,WAAOC,YACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA,MAC9B;AAAA,IAAA,GAEF1B,WACAgB,SAAS,CAAA,CAAE;AAAA,EAAA,GAEZ,CAACE,UAAUF,KAAK,CAAC;AAEpB,6BAAQ,kBAAkB,UAAlB,EAA2B,OAAOI,QAASH,SAAS,CAAA;AAC9D;"}
|
package/dist/es/tableTheme.js
CHANGED
|
@@ -244,6 +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
|
+
styles: Object.assign({}, ...themes.map((theme) => theme.styles)),
|
|
247
248
|
components: Object.assign({}, ...themes.map((theme) => theme.components)),
|
|
248
249
|
icons: Object.assign({}, ...themes.map((theme) => theme.icons)),
|
|
249
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 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":"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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":"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"}
|
|
@@ -1,2 +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>(styles: MemoizedTableTheme<any>['styles'] | undefined, item: T, index: number): (false | import("@emotion/serialize").CSSObject | undefined)[];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import { Store } from 'schummar-state/react';
|
|
3
3
|
import type { PartialTableTheme } from '../types';
|
|
4
|
-
export declare const globalTableTheme: Store<PartialTableTheme
|
|
4
|
+
export declare const globalTableTheme: Store<PartialTableTheme>;
|
|
5
5
|
export declare function configureTableTheme(tableTheme: PartialTableTheme): void;
|
|
6
|
-
export declare const TableThemeContext: import("react").Context<PartialTableTheme
|
|
6
|
+
export declare const TableThemeContext: import("react").Context<PartialTableTheme>;
|
|
7
7
|
export declare function TableThemeProvider({ theme, children, }: {
|
|
8
8
|
theme: PartialTableTheme;
|
|
9
9
|
children?: ReactNode;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ComponentType, DependencyList, ReactNode, Ref } from 'react';
|
|
1
|
+
import type { CSSObject } from '@emotion/react';
|
|
3
2
|
import type React from 'react';
|
|
3
|
+
import type { CSSProperties, ComponentType, DependencyList, ReactNode, Ref } from 'react';
|
|
4
4
|
import type { TableStateStorage } from './internalState/tableStateStorage';
|
|
5
5
|
import type { CsvExportOptions } from './misc/csvExport';
|
|
6
6
|
export type Sort = {
|
|
@@ -49,6 +49,14 @@ export interface TableTheme<T = unknown> {
|
|
|
49
49
|
popover?: string;
|
|
50
50
|
popoverBackdrop?: string;
|
|
51
51
|
};
|
|
52
|
+
styles?: {
|
|
53
|
+
table?: CSSObject;
|
|
54
|
+
headerCell?: CSSObject;
|
|
55
|
+
footerCell?: CSSObject;
|
|
56
|
+
cell?: CSSObject | FunctionWithDeps<(item: T, index: number) => CSSObject>;
|
|
57
|
+
evenCell?: CSSObject;
|
|
58
|
+
oddCell?: CSSObject;
|
|
59
|
+
};
|
|
52
60
|
/** Define components to be used in the table. */
|
|
53
61
|
components: {
|
|
54
62
|
IconButton: ComponentType<{
|
|
@@ -125,8 +133,9 @@ export interface TableTheme<T = unknown> {
|
|
|
125
133
|
export type PartialTableTheme<T = unknown> = {
|
|
126
134
|
[K in keyof TableTheme<T>]?: TableTheme<T>[K] extends Record<string, any> ? Partial<TableTheme<T>[K]> : TableTheme<T>[K];
|
|
127
135
|
};
|
|
128
|
-
export type MemoizedTableTheme<T> = Omit<TableTheme, 'classes' | 'text'> & {
|
|
136
|
+
export type MemoizedTableTheme<T> = Omit<TableTheme, 'classes' | 'styles' | 'text'> & {
|
|
129
137
|
classes: MemoizedFunctions<TableTheme<T>['classes']>;
|
|
138
|
+
styles: MemoizedFunctions<TableTheme<T>['styles']>;
|
|
130
139
|
text: MemoizedFunctions<TableTheme<T>['text']>;
|
|
131
140
|
};
|
|
132
141
|
export interface TableProps<T> extends PartialTableTheme<T> {
|
|
@@ -292,7 +301,9 @@ export type Column<T, V> = {
|
|
|
292
301
|
*/
|
|
293
302
|
width?: string;
|
|
294
303
|
/** Provide css class names to override columns styles. */
|
|
295
|
-
classes?: TableTheme<T>['classes']
|
|
304
|
+
classes?: Omit<NonNullable<TableTheme<T>['classes']>, 'table'>;
|
|
305
|
+
/** Provide css styles to override columns styles. */
|
|
306
|
+
styles?: Omit<NonNullable<TableTheme<T>['styles']>, 'table'>;
|
|
296
307
|
};
|
|
297
308
|
export type InternalColumn<T, V> = MemoizedFunctions<Required<Omit<Column<T, V>, 'id' | 'sortBy'>, 'header' | 'renderCell' | 'exportCell' | 'sortBy'> & {
|
|
298
309
|
id: Id;
|
|
@@ -313,7 +324,7 @@ export type InternalTableState<T> = {
|
|
|
313
324
|
hiddenColumns: Set<Id>;
|
|
314
325
|
columnWidths: Map<Id, string>;
|
|
315
326
|
columnOrder: Id[];
|
|
316
|
-
columnStyleOverride: Map<Id,
|
|
327
|
+
columnStyleOverride: Map<Id, CSSProperties>;
|
|
317
328
|
activeColumns: InternalColumn<T, unknown>[];
|
|
318
329
|
items: TableItem<T>[];
|
|
319
330
|
itemsById: Map<Id, TableItem<T>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "schummar-table",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "schummar/schummar-table",
|
|
@@ -79,38 +79,38 @@
|
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@emotion/react": "11.10.
|
|
82
|
+
"@emotion/react": "11.10.6",
|
|
83
83
|
"dayzed": "3.2.3",
|
|
84
|
-
"immer": "
|
|
85
|
-
"nanoid": "4.0.
|
|
84
|
+
"immer": "10.0.0",
|
|
85
|
+
"nanoid": "4.0.2",
|
|
86
86
|
"schummar-state": "0.2.1-experimental-13"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
|
-
"@emotion/styled": "11.10.
|
|
89
|
+
"@emotion/styled": "11.10.6",
|
|
90
90
|
"@material-ui/core": "4.12.4",
|
|
91
|
-
"@mui/material": "5.
|
|
91
|
+
"@mui/material": "5.12.1",
|
|
92
92
|
"@schummar/eslint-config": "github:schummar/eslint-config",
|
|
93
93
|
"@schummar/prettier-config": "github:schummar/prettier-config",
|
|
94
|
-
"@schummar/runp": "1.
|
|
95
|
-
"@types/react": "18.0.
|
|
96
|
-
"@types/react-dom": "18.0.
|
|
97
|
-
"@vitejs/plugin-react": "3.
|
|
98
|
-
"eslint": "8.
|
|
99
|
-
"eslint-plugin-storybook": "0.6.
|
|
100
|
-
"prettier": "2.8.
|
|
94
|
+
"@schummar/runp": "1.12.0",
|
|
95
|
+
"@types/react": "18.0.37",
|
|
96
|
+
"@types/react-dom": "18.0.11",
|
|
97
|
+
"@vitejs/plugin-react": "3.1.0",
|
|
98
|
+
"eslint": "8.38.0",
|
|
99
|
+
"eslint-plugin-storybook": "0.6.11",
|
|
100
|
+
"prettier": "2.8.7",
|
|
101
101
|
"react": "18.2.0",
|
|
102
102
|
"react-dom": "18.2.0",
|
|
103
|
-
"rimraf": "
|
|
104
|
-
"semantic-release": "
|
|
105
|
-
"typescript": "
|
|
106
|
-
"vite": "4.
|
|
103
|
+
"rimraf": "5.0.0",
|
|
104
|
+
"semantic-release": "21.0.1",
|
|
105
|
+
"typescript": "5.0.4",
|
|
106
|
+
"vite": "4.2.1"
|
|
107
107
|
},
|
|
108
108
|
"workspaces": [
|
|
109
109
|
"docs"
|
|
110
110
|
],
|
|
111
111
|
"volta": {
|
|
112
|
-
"node": "16.
|
|
113
|
-
"npm": "
|
|
112
|
+
"node": "18.16.0",
|
|
113
|
+
"npm": "9.6.4"
|
|
114
114
|
},
|
|
115
115
|
"eslintConfig": {
|
|
116
116
|
"extends": [
|