schummar-table 0.21.2 → 0.21.4

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.
@@ -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":["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,IAAA,OAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAExD,MAAMA,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAA4C,MAC5C,OAAOA,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,WAAW,CAAC;AAAA,MAAEC;AAAAA,MAAWC;AAAAA,SAAYR;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;"}
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,SAAYR;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;"}
@@ -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":["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,IAAA,OAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAAA,IAAA,QAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAExD,MAAMA,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAA4C,MAC5C,OAAOA,MAAMC,YAAY,cAAc,YAAY,WAEtD;AAAA,IACDC,YAAaF,CACX,UAAA,oBAAC,YAAW,EAAA,GAAIA,OAAO,MAAK,SAAQ,YAA4B,OAAM,UACvE,CAAA;AAAA,IACDG,UAAWH,WAAW,oBAAA,UAAA,EAAaA,GAAAA,OAAO,OAAM,WAAU,MAAK,QAAU,CAAA;AAAA,IACzEI;AAAAA,IACAC;AAAAA,IACAC,WAAW,CAAC;AAAA,MAAEC;AAAAA,MAAWC;AAAAA,SAAYR;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;"}
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,SAAYR;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;"}
@@ -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","defaultClasses","table","_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","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","map","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 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "schummar-table",
3
- "version": "0.21.2",
3
+ "version": "0.21.4",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "repository": "schummar/schummar-table",