schummar-table 0.5.0-beta-8 → 0.5.2

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 { Badge, Button, Checkbox, CircularProgress, IconButton, TextField, useTheme } from '@material-ui/core';\nimport { ReactNode, useMemo } from 'react';\nimport { DeepPartial } from '../../misc/deepPartial';\nimport { TableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui4Theme: Partial<TableTheme> = {\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: ({ endIcon, ...props }) => <TextField {...props} InputProps={{ endAdornment: endIcon }} size=\"small\" variant=\"outlined\" />,\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({ theme, children }: { theme?: DeepPartial<TableTheme>; children: ReactNode }) {\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","_jsx","justifyContent","variant","IconButton","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","CircularProgress","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary","TableThemeContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOaA,YAAiC;AAAA,EAC5CC,YAAY;AAAA,IACVC,QAASC,WACPC,eAACF,8CACKC;MACJ,MAAK;AAAA,MACL;MACA,KAAK;AAAA,QAAEE,gBAAgB;AAAA;AAAA,MACvB,OAAOF,MAAMG,YAAY,cAAc,YAAY;AAAA;AAAA,IAGvDC,YAAaJ,WAAUC,eAACG,kDAAeJ;MAAO,MAAK;AAAA,MAAQ,OAAM;AAAA;AAAA,IACjEK,UAAWL,WAAUC,eAACI,gDAAaL;MAAO,OAAM;AAAA,MAAU,MAAK;AAAA;AAAA,aAC/DM;WACAC;IACAC,WAAW,CAAC;AAAA,mBAAEC;AAAAA;AAAAA,UAAF,IAAcT,kBAAd,IAAcA;AAAAA,QAAZS;AAAAA;AAAwBR,4BAACO,iDAAcR;QAAO,YAAY;AAAA,UAAEU,cAAcD;AAAAA;AAAAA,QAAW,MAAK;AAAA,QAAQ,SAAQ;AAAA;AAAA;AAAA,IACxHE,SAASC;;;gCAI0B;AAAA,EAAEC;AAAAA,EAAOC;AAAAA,GAAsE;QAC9GC,WAAWC;QAEXC,SAASC,cAAQ,MAAM;WACpBC,uBACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA;AAAAA,OAGhC1B,WACAgB,wBAAS;AAAA,KAEV,CAACE,UAAUF;SAEPZ,eAACuB,6BAAkB;IAAS,OAAOP;AAAAA;;;;;"}
1
+ {"version":3,"file":"mui4Theme.js","sources":["../../src/theme/mui4Theme/index.tsx"],"sourcesContent":["import { Badge, Button, Checkbox, CircularProgress, IconButton, TextField, useTheme } from '@material-ui/core';\nimport { ReactNode, useMemo } from 'react';\nimport { PartialTableTheme, TableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui4Theme: Partial<TableTheme> = {\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: ({ endIcon, ...props }) => <TextField {...props} InputProps={{ endAdornment: endIcon }} size=\"small\" variant=\"outlined\" />,\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({ theme, children }: { theme?: PartialTableTheme; children: ReactNode }) {\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","_jsx","justifyContent","variant","IconButton","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","CircularProgress","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary","TableThemeContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAMaA,YAAiC;AAAA,EAC5CC,YAAY;AAAA,IACVC,QAASC,WACPC,eAACF,8CACKC;MACJ,MAAK;AAAA,MACL;MACA,KAAK;AAAA,QAAEE,gBAAgB;AAAA;AAAA,MACvB,OAAOF,MAAMG,YAAY,cAAc,YAAY;AAAA;AAAA,IAGvDC,YAAaJ,WAAUC,eAACG,kDAAeJ;MAAO,MAAK;AAAA,MAAQ,OAAM;AAAA;AAAA,IACjEK,UAAWL,WAAUC,eAACI,gDAAaL;MAAO,OAAM;AAAA,MAAU,MAAK;AAAA;AAAA,aAC/DM;WACAC;IACAC,WAAW,CAAC;AAAA,mBAAEC;AAAAA;AAAAA,UAAF,IAAcT,kBAAd,IAAcA;AAAAA,QAAZS;AAAAA;AAAwBR,4BAACO,iDAAcR;QAAO,YAAY;AAAA,UAAEU,cAAcD;AAAAA;AAAAA,QAAW,MAAK;AAAA,QAAQ,SAAQ;AAAA;AAAA;AAAA,IACxHE,SAASC;;;gCAI0B;AAAA,EAAEC;AAAAA,EAAOC;AAAAA,GAAgE;QACxGC,WAAWC;QAEXC,SAASC,cAAQ,MAAM;WACpBC,uBACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA;AAAAA,OAGhC1B,WACAgB,wBAAS;AAAA,KAEV,CAACE,UAAUF;SAEPZ,eAACuB,6BAAkB;IAAS,OAAOP;AAAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"mui5Theme.js","sources":["../../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import { Badge, Button, Checkbox, CircularProgress, IconButton, TextField, useTheme } from '@mui/material';\nimport { ReactNode, useMemo } from 'react';\nimport { DeepPartial } from '../../misc/deepPartial';\nimport { TableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui5Theme: Partial<TableTheme> = {\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\" css={{ fontSize: '0.8em' }} color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ endIcon, ...props }) => <TextField {...props} InputProps={{ endAdornment: endIcon }} size=\"small\" />,\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({ theme, children }: { theme?: DeepPartial<TableTheme>; children: ReactNode }) {\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","_jsx","justifyContent","variant","IconButton","fontSize","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","CircularProgress","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary","TableThemeContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOaA,YAAiC;AAAA,EAC5CC,YAAY;AAAA,IACVC,QAASC,WACPC,eAACF,kDACKC;MACJ,MAAK;AAAA,MACL;MACA,KAAK;AAAA,QAAEE,gBAAgB;AAAA;AAAA,MACvB,OAAOF,MAAMG,YAAY,cAAc,YAAY;AAAA;AAAA,IAGvDC,YAAaJ,WAAUC,eAACG,sDAAeJ;MAAO,MAAK;AAAA,MAAQ,KAAK;AAAA,QAAEK,UAAU;AAAA;AAAA,MAAW,OAAM;AAAA;AAAA,IAC7FC,UAAWN,WAAUC,eAACK,oDAAaN;MAAO,OAAM;AAAA,MAAU,MAAK;AAAA;AAAA,aAC/DO;WACAC;IACAC,WAAW,CAAC;AAAA,mBAAEC;AAAAA;AAAAA,UAAF,IAAcV,kBAAd,IAAcA;AAAAA,QAAZU;AAAAA;AAAwBT,4BAACQ,qDAAcT;QAAO,YAAY;AAAA,UAAEW,cAAcD;AAAAA;AAAAA,QAAW,MAAK;AAAA;AAAA;AAAA,IACxGE,SAAUZ,WAAUC,eAACY,4DAAqBb;MAAO,MAAM;AAAA;AAAA;AAAA;gCAIpB;AAAA,EAAEc;AAAAA,EAAOC;AAAAA,GAAsE;QAC9GC,WAAWC;QAEXC,SAASC,cAAQ,MAAM;WACpBC,uBACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA;AAAAA,OAGhC3B,WACAiB,wBAAS;AAAA,KAEV,CAACE,UAAUF;SAEPb,eAACwB,6BAAkB;IAAS,OAAOP;AAAAA;;;;;"}
1
+ {"version":3,"file":"mui5Theme.js","sources":["../../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import { Badge, Button, Checkbox, CircularProgress, IconButton, TextField, useTheme } from '@mui/material';\nimport { ReactNode, useMemo } from 'react';\nimport { PartialTableTheme, TableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui5Theme: Partial<TableTheme> = {\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\" css={{ fontSize: '0.8em' }} color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ endIcon, ...props }) => <TextField {...props} InputProps={{ endAdornment: endIcon }} size=\"small\" />,\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({ theme, children }: { theme?: PartialTableTheme; children: ReactNode }) {\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","_jsx","justifyContent","variant","IconButton","fontSize","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","CircularProgress","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary","TableThemeContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAMaA,YAAiC;AAAA,EAC5CC,YAAY;AAAA,IACVC,QAASC,WACPC,eAACF,kDACKC;MACJ,MAAK;AAAA,MACL;MACA,KAAK;AAAA,QAAEE,gBAAgB;AAAA;AAAA,MACvB,OAAOF,MAAMG,YAAY,cAAc,YAAY;AAAA;AAAA,IAGvDC,YAAaJ,WAAUC,eAACG,sDAAeJ;MAAO,MAAK;AAAA,MAAQ,KAAK;AAAA,QAAEK,UAAU;AAAA;AAAA,MAAW,OAAM;AAAA;AAAA,IAC7FC,UAAWN,WAAUC,eAACK,oDAAaN;MAAO,OAAM;AAAA,MAAU,MAAK;AAAA;AAAA,aAC/DO;WACAC;IACAC,WAAW,CAAC;AAAA,mBAAEC;AAAAA;AAAAA,UAAF,IAAcV,kBAAd,IAAcA;AAAAA,QAAZU;AAAAA;AAAwBT,4BAACQ,qDAAcT;QAAO,YAAY;AAAA,UAAEW,cAAcD;AAAAA;AAAAA,QAAW,MAAK;AAAA;AAAA;AAAA,IACxGE,SAAUZ,WAAUC,eAACY,4DAAqBb;MAAO,MAAM;AAAA;AAAA;AAAA;gCAIpB;AAAA,EAAEc;AAAAA,EAAOC;AAAAA,GAAgE;QACxGC,WAAWC;QAEXC,SAASC,cAAQ,MAAM;WACpBC,uBACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA;AAAAA,OAGhC3B,WACAiB,wBAAS;AAAA,KAEV,CAACE,UAAUF;SAEPb,eAACwB,6BAAkB;IAAS,OAAOP;AAAAA;;;;;"}
@@ -191,160 +191,6 @@ const defaultColors = {
191
191
  primary: { main: "#1976d2", light: "#42a5f5", contrastText: "#fff" },
192
192
  secondary: { main: "#9c27b0", light: "#ba68c8", contrastText: "#fff" }
193
193
  };
194
- const IconDefaultStyle = react.css({
195
- width: "1.5em",
196
- height: "1.5em",
197
- color: "inherit"
198
- });
199
- function Icon(svg) {
200
- return (props) => jsxRuntime.jsx(react.ClassNames, {
201
- children: ({
202
- css: css2
203
- }) => react$1.cloneElement(svg, __spreadProps(__spreadValues({}, props), {
204
- className: css2(IconDefaultStyle, props.className)
205
- }))
206
- });
207
- }
208
- const Settings = Icon(jsxRuntime.jsxs("svg", {
209
- xmlns: "http://www.w3.org/2000/svg",
210
- height: "24px",
211
- viewBox: "0 0 24 24",
212
- width: "24px",
213
- fill: "currentColor",
214
- children: [jsxRuntime.jsx("path", {
215
- d: "M0 0h24v24H0V0z",
216
- fill: "none"
217
- }), jsxRuntime.jsx("path", {
218
- d: "M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"
219
- })]
220
- }));
221
- const Export = Icon(jsxRuntime.jsxs("svg", {
222
- xmlns: "http://www.w3.org/2000/svg",
223
- enableBackground: "new 0 0 24 24",
224
- height: "24px",
225
- viewBox: "0 0 24 24",
226
- width: "24px",
227
- fill: "currentColor",
228
- children: [jsxRuntime.jsx("g", {
229
- children: jsxRuntime.jsx("rect", {
230
- fill: "none",
231
- height: "24",
232
- width: "24"
233
- })
234
- }), jsxRuntime.jsx("g", {
235
- children: jsxRuntime.jsx("path", {
236
- d: "M18,15v3H6v-3H4v3c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-3H18z M17,11l-1.41-1.41L13,12.17V4h-2v8.17L8.41,9.59L7,11l5,5 L17,11z"
237
- })
238
- })]
239
- }));
240
- const Clipboard = Icon(jsxRuntime.jsxs("svg", {
241
- xmlns: "http://www.w3.org/2000/svg",
242
- height: "24px",
243
- viewBox: "0 0 24 24",
244
- width: "24px",
245
- fill: "currentColor",
246
- children: [jsxRuntime.jsx("path", {
247
- d: "M0 0h24v24H0V0z",
248
- fill: "none"
249
- }), jsxRuntime.jsx("path", {
250
- d: "M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"
251
- })]
252
- }));
253
- const ChevronRight = Icon(jsxRuntime.jsxs("svg", {
254
- xmlns: "http://www.w3.org/2000/svg",
255
- height: "24px",
256
- viewBox: "0 0 24 24",
257
- width: "24px",
258
- fill: "currentColor",
259
- children: [jsxRuntime.jsx("path", {
260
- d: "M0 0h24v24H0V0z",
261
- fill: "none"
262
- }), jsxRuntime.jsx("path", {
263
- d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z"
264
- })]
265
- }));
266
- const Search = Icon(jsxRuntime.jsxs("svg", {
267
- xmlns: "http://www.w3.org/2000/svg",
268
- height: "24px",
269
- viewBox: "0 0 24 24",
270
- width: "24px",
271
- fill: "currentColor",
272
- children: [jsxRuntime.jsx("path", {
273
- d: "M0 0h24v24H0V0z",
274
- fill: "none"
275
- }), jsxRuntime.jsx("path", {
276
- d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
277
- })]
278
- }));
279
- const Clear = Icon(jsxRuntime.jsxs("svg", {
280
- xmlns: "http://www.w3.org/2000/svg",
281
- height: "24px",
282
- viewBox: "0 0 24 24",
283
- width: "24px",
284
- fill: "currentColor",
285
- children: [jsxRuntime.jsx("path", {
286
- d: "M0 0h24v24H0V0z",
287
- fill: "none"
288
- }), jsxRuntime.jsx("path", {
289
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
290
- })]
291
- }));
292
- const ArrowDropDown = Icon(jsxRuntime.jsxs("svg", {
293
- xmlns: "http://www.w3.org/2000/svg",
294
- height: "24px",
295
- viewBox: "0 0 24 24",
296
- width: "24px",
297
- fill: "currentColor",
298
- children: [jsxRuntime.jsx("path", {
299
- d: "M0 0h24v24H0V0z",
300
- fill: "none"
301
- }), jsxRuntime.jsx("path", {
302
- d: "M7 10l5 5 5-5H7z"
303
- })]
304
- }));
305
- const FilterList = Icon(jsxRuntime.jsx("svg", {
306
- viewBox: "0 0 24 24",
307
- children: jsxRuntime.jsx("path", {
308
- fill: "currentColor",
309
- d: "M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z"
310
- })
311
- }));
312
- const ArrowUpward = Icon(jsxRuntime.jsxs("svg", {
313
- xmlns: "http://www.w3.org/2000/svg",
314
- height: "24px",
315
- viewBox: "0 0 24 24",
316
- width: "24px",
317
- fill: "currentColor",
318
- children: [jsxRuntime.jsx("path", {
319
- d: "M0 0h24v24H0V0z",
320
- fill: "none"
321
- }), jsxRuntime.jsx("path", {
322
- d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"
323
- })]
324
- }));
325
- const defaultIcons = {
326
- Settings,
327
- Export,
328
- Clipboard,
329
- ChevronRight,
330
- Search,
331
- Clear,
332
- ArrowDropDown,
333
- FilterList,
334
- ArrowUpward
335
- };
336
- const defaultTexts = {
337
- selectColumns: "Select visible columns",
338
- noResults: "No results",
339
- exportTitle: "Export",
340
- exportCopy: "To clipboard",
341
- exportDownload: "Download",
342
- today: "Today",
343
- thisWeek: "This week",
344
- reset: "Reset",
345
- loading: "Loading",
346
- selected: (count) => `${count} selected`
347
- };
348
194
  function Spinner({
349
195
  className
350
196
  }) {
@@ -496,6 +342,7 @@ const Checkbox = (_c) => {
496
342
  padding: "calc(var(--spacing) * 1.8)",
497
343
  display: "flex",
498
344
  color: "currentcolor",
345
+ userSelect: "none",
499
346
  "& input": {
500
347
  appearance: "none",
501
348
  margin: 0
@@ -613,6 +460,160 @@ const defaultComponents = {
613
460
  TextField,
614
461
  Spinner
615
462
  };
463
+ const IconDefaultStyle = react.css({
464
+ width: "1.5em",
465
+ height: "1.5em",
466
+ color: "inherit"
467
+ });
468
+ function Icon(svg) {
469
+ return (props) => jsxRuntime.jsx(react.ClassNames, {
470
+ children: ({
471
+ css: css2
472
+ }) => react$1.cloneElement(svg, __spreadProps(__spreadValues({}, props), {
473
+ className: css2(IconDefaultStyle, props.className)
474
+ }))
475
+ });
476
+ }
477
+ const Settings = Icon(jsxRuntime.jsxs("svg", {
478
+ xmlns: "http://www.w3.org/2000/svg",
479
+ height: "24px",
480
+ viewBox: "0 0 24 24",
481
+ width: "24px",
482
+ fill: "currentColor",
483
+ children: [jsxRuntime.jsx("path", {
484
+ d: "M0 0h24v24H0V0z",
485
+ fill: "none"
486
+ }), jsxRuntime.jsx("path", {
487
+ d: "M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"
488
+ })]
489
+ }));
490
+ const Export = Icon(jsxRuntime.jsxs("svg", {
491
+ xmlns: "http://www.w3.org/2000/svg",
492
+ enableBackground: "new 0 0 24 24",
493
+ height: "24px",
494
+ viewBox: "0 0 24 24",
495
+ width: "24px",
496
+ fill: "currentColor",
497
+ children: [jsxRuntime.jsx("g", {
498
+ children: jsxRuntime.jsx("rect", {
499
+ fill: "none",
500
+ height: "24",
501
+ width: "24"
502
+ })
503
+ }), jsxRuntime.jsx("g", {
504
+ children: jsxRuntime.jsx("path", {
505
+ d: "M18,15v3H6v-3H4v3c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-3H18z M17,11l-1.41-1.41L13,12.17V4h-2v8.17L8.41,9.59L7,11l5,5 L17,11z"
506
+ })
507
+ })]
508
+ }));
509
+ const Clipboard = Icon(jsxRuntime.jsxs("svg", {
510
+ xmlns: "http://www.w3.org/2000/svg",
511
+ height: "24px",
512
+ viewBox: "0 0 24 24",
513
+ width: "24px",
514
+ fill: "currentColor",
515
+ children: [jsxRuntime.jsx("path", {
516
+ d: "M0 0h24v24H0V0z",
517
+ fill: "none"
518
+ }), jsxRuntime.jsx("path", {
519
+ d: "M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"
520
+ })]
521
+ }));
522
+ const ChevronRight = Icon(jsxRuntime.jsxs("svg", {
523
+ xmlns: "http://www.w3.org/2000/svg",
524
+ height: "24px",
525
+ viewBox: "0 0 24 24",
526
+ width: "24px",
527
+ fill: "currentColor",
528
+ children: [jsxRuntime.jsx("path", {
529
+ d: "M0 0h24v24H0V0z",
530
+ fill: "none"
531
+ }), jsxRuntime.jsx("path", {
532
+ d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z"
533
+ })]
534
+ }));
535
+ const Search = Icon(jsxRuntime.jsxs("svg", {
536
+ xmlns: "http://www.w3.org/2000/svg",
537
+ height: "24px",
538
+ viewBox: "0 0 24 24",
539
+ width: "24px",
540
+ fill: "currentColor",
541
+ children: [jsxRuntime.jsx("path", {
542
+ d: "M0 0h24v24H0V0z",
543
+ fill: "none"
544
+ }), jsxRuntime.jsx("path", {
545
+ d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
546
+ })]
547
+ }));
548
+ const Clear = Icon(jsxRuntime.jsxs("svg", {
549
+ xmlns: "http://www.w3.org/2000/svg",
550
+ height: "24px",
551
+ viewBox: "0 0 24 24",
552
+ width: "24px",
553
+ fill: "currentColor",
554
+ children: [jsxRuntime.jsx("path", {
555
+ d: "M0 0h24v24H0V0z",
556
+ fill: "none"
557
+ }), jsxRuntime.jsx("path", {
558
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
559
+ })]
560
+ }));
561
+ const ArrowDropDown = Icon(jsxRuntime.jsxs("svg", {
562
+ xmlns: "http://www.w3.org/2000/svg",
563
+ height: "24px",
564
+ viewBox: "0 0 24 24",
565
+ width: "24px",
566
+ fill: "currentColor",
567
+ children: [jsxRuntime.jsx("path", {
568
+ d: "M0 0h24v24H0V0z",
569
+ fill: "none"
570
+ }), jsxRuntime.jsx("path", {
571
+ d: "M7 10l5 5 5-5H7z"
572
+ })]
573
+ }));
574
+ const FilterList = Icon(jsxRuntime.jsx("svg", {
575
+ viewBox: "0 0 24 24",
576
+ children: jsxRuntime.jsx("path", {
577
+ fill: "currentColor",
578
+ d: "M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z"
579
+ })
580
+ }));
581
+ const ArrowUpward = Icon(jsxRuntime.jsxs("svg", {
582
+ xmlns: "http://www.w3.org/2000/svg",
583
+ height: "24px",
584
+ viewBox: "0 0 24 24",
585
+ width: "24px",
586
+ fill: "currentColor",
587
+ children: [jsxRuntime.jsx("path", {
588
+ d: "M0 0h24v24H0V0z",
589
+ fill: "none"
590
+ }), jsxRuntime.jsx("path", {
591
+ d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"
592
+ })]
593
+ }));
594
+ const defaultIcons = {
595
+ Settings,
596
+ Export,
597
+ Clipboard,
598
+ ChevronRight,
599
+ Search,
600
+ Clear,
601
+ ArrowDropDown,
602
+ FilterList,
603
+ ArrowUpward
604
+ };
605
+ const defaultTexts = {
606
+ selectColumns: "Select visible columns",
607
+ noResults: "No results",
608
+ exportTitle: "Export",
609
+ exportCopy: "To clipboard",
610
+ exportDownload: "Download",
611
+ today: "Today",
612
+ thisWeek: "This week",
613
+ reset: "Reset",
614
+ loading: "Loading",
615
+ selected: (count) => `${count} selected`
616
+ };
616
617
  const defaultTableTheme = {
617
618
  text: defaultTexts,
618
619
  components: defaultComponents,
@@ -1 +1 @@
1
- {"version":3,"file":"tableTheme.js","sources":["../../src/theme/defaultClasses.ts","../../src/theme/defaultTheme/popover.tsx","../../src/theme/defaultColors.ts","../../src/theme/defaultIcons.tsx","../../src/theme/defaultTexts.tsx","../../src/components/spinnner.tsx","../../src/theme/defaultTheme/badge.tsx","../../src/theme/defaultTheme/button.tsx","../../src/theme/defaultTheme/checkbox.tsx","../../src/theme/defaultTheme/iconButton.tsx","../../src/theme/defaultTheme/textField.tsx","../../src/theme/defaultTheme/index.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 // gridTemplateColumns: 'minmax(0, 1fr) max-content',\n background: white,\n // gap: 'var(--spacing)',\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 headerFill: css({\n borderBottom: `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","import React, { createContext, useContext, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { TableTheme } from '../../types';\nimport { defaultClasses } from '../defaultClasses';\n\nconst MARGIN = 10;\nconst MAX_OFFSET = 20;\n\nexport const PopoverContext = createContext({ depth: 0, visible: false });\n\nexport const Popover: TableTheme['components']['Popover'] = ({ anchorEl, open, hidden, onClose, children, className, align }) => {\n const popper = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState<{ left: number; top: number }>();\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 { left: anchorLeft, bottom: anchorBottom, width: anchorWidth } = anchorEl.getBoundingClientRect();\n const { width: popperWidth = 0, height: popperHeight = 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 - Math.min(popperWidth ? popperWidth / 2 : Infinity, MAX_OFFSET),\n top: anchorBottom,\n };\n\n if (next.left + popperWidth + MARGIN > viewportWidth) {\n next.left = viewportWidth - popperWidth - MARGIN;\n }\n if (next.top + popperHeight + MARGIN > viewportHeight) {\n next.top = viewportHeight - popperHeight - MARGIN;\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]);\n\n const { depth } = useContext(PopoverContext);\n const visible = !hidden && !!position;\n const context = useMemo(() => ({ depth: depth + 1, visible }), [depth, visible]);\n\n if (!open) return null;\n\n return (\n <PopoverContext.Provider value={context}>\n {createPortal(\n <>\n <div\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n zIndex: 1000 + depth * 2,\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,\n maxHeight: document.documentElement.clientHeight,\n ...position,\n zIndex: 1001 + depth * 2,\n },\n hidden && { display: 'none' },\n !position && { visibility: 'hidden' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </PopoverContext.Provider>\n );\n};\n","import { TableTheme } from '../types';\n\nexport const defaultColors: TableTheme['colors'] = {\n primary: { main: '#1976d2', light: '#42a5f5', contrastText: '#fff' },\n secondary: { main: '#9c27b0', light: '#ba68c8', contrastText: '#fff' },\n};\n","import { ClassNames, css } from '@emotion/react';\nimport { cloneElement, HTMLProps } from 'react';\nimport { TableTheme } from '../types';\n\nconst IconDefaultStyle = css({\n width: '1.5em',\n height: '1.5em',\n color: 'inherit',\n});\n\nfunction Icon(svg: JSX.Element) {\n return (props: HTMLProps<Element>) => (\n <ClassNames>\n {({ css }) =>\n cloneElement(svg, {\n ...props,\n className: css(IconDefaultStyle, props.className),\n })\n }\n </ClassNames>\n );\n}\n\nconst Settings = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z\" />\n </svg>,\n);\n\nconst Export = Icon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"currentColor\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <path d=\"M18,15v3H6v-3H4v3c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-3H18z M17,11l-1.41-1.41L13,12.17V4h-2v8.17L8.41,9.59L7,11l5,5 L17,11z\" />\n </g>\n </svg>,\n);\n\nconst Clipboard = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z\" />\n </svg>,\n);\n\nconst ChevronRight = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\" />\n </svg>,\n);\n\nconst Search = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>,\n);\n\nconst Clear = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\" />\n </svg>,\n);\n\nconst ArrowDropDown = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M7 10l5 5 5-5H7z\" />\n </svg>,\n);\n\nconst FilterList = Icon(\n <svg viewBox=\"0 0 24 24\">\n <path\n fill=\"currentColor\"\n d=\"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\"\n />\n </svg>,\n);\n\nconst ArrowUpward = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\" />\n </svg>,\n);\n\nexport const defaultIcons: TableTheme['icons'] = {\n Settings,\n Export,\n Clipboard,\n ChevronRight,\n Search,\n Clear,\n ArrowDropDown,\n FilterList,\n ArrowUpward,\n};\n","import { TableTheme } from '../types';\n\nexport const defaultTexts: TableTheme['text'] = {\n selectColumns: 'Select visible columns',\n noResults: 'No results',\n exportTitle: 'Export',\n exportCopy: 'To clipboard',\n exportDownload: 'Download',\n today: 'Today',\n thisWeek: 'This week',\n reset: 'Reset',\n loading: 'Loading',\n selected: (count) => `${count} selected`,\n};\n","import { css } from '@emotion/react';\n\nexport function Spinner({ className }: { className?: string }) {\n return (\n <div\n className={className}\n css={css`\n display: inline-block;\n position: relative;\n width: 1em;\n height: 1em;\n\n div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n width: 0.8em;\n height: 0.8em;\n margin: 0.1em;\n border: 0.1em solid #fff;\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: currentColor transparent transparent transparent;\n }\n div:nth-of-type(1) {\n animation-delay: -0.45s;\n }\n div:nth-of-type(2) {\n animation-delay: -0.3s;\n }\n div:nth-of-type(3) {\n animation-delay: -0.15s;\n }\n @keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n `}\n >\n <div />\n <div />\n <div />\n </div>\n );\n}\n","import { TableTheme } from '../../types';\n\nexport const Badge: TableTheme['components']['Badge'] = ({ badgeContent, children }) => {\n if (!open) return null;\n\n return (\n <span\n css={{\n display: 'inline-flex',\n position: 'relative',\n flexShrink: 0,\n verticalAlign: 'middle',\n }}\n >\n {children}\n\n <span\n css={[\n {\n top: 0,\n right: 0,\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n height: 20,\n display: 'flex',\n padding: '0 6px',\n zIndex: 1,\n position: 'absolute',\n flexWrap: 'wrap',\n minWidth: 20,\n transition: 'transform 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n alignItems: 'center',\n lineHeight: 1,\n alignContent: 'center',\n borderRadius: 10,\n justifyContent: 'center',\n fontSize: '0.8em',\n },\n !badgeContent && {\n transform: 'scale(0) translate(50%, -50%)',\n transition: 'transform 195ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n },\n ]}\n >\n {badgeContent}\n </span>\n </span>\n );\n};\n","import { TableTheme } from '../../types';\nimport { darkGray, lightGray } from '../defaultClasses';\n\nexport const Button: TableTheme['components']['Button'] = ({ startIcon, children, variant = 'text', ...props }) => {\n return (\n <button\n css={[\n {\n padding: `var(--spacing) calc(var(--spacing) * 2)`,\n display: 'inline-flex',\n alignItems: 'center',\n transition: 'background-color 150ms',\n border: 'none',\n cursor: 'pointer',\n background: 'transparent',\n borderRadius: 4,\n\n '&:active:not(:disabled)': {\n transform: 'scale3d(0.95, 0.95, 1)',\n },\n },\n variant === 'text' && {\n '&:hover': {\n background: 'rgba(0, 0, 0, 0.1)',\n },\n },\n variant === 'outlined' && {\n border: `1px solid ${darkGray}`,\n\n '&:disabled': {\n borderColor: lightGray,\n },\n },\n variant === 'contained' && {\n color: 'var(--primaryContrastText)',\n backgroundColor: 'var(--primaryMain)',\n boxShadow: '0px 3px 1px -2px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%), 0px 1px 5px 0px rgb(0 0 0 / 12%)',\n\n '&:hover': {\n filter: 'brightness(0.9)',\n },\n\n '&:disabled': {\n filter: 'grayscale()',\n opacity: 0.5,\n },\n },\n ]}\n {...props}\n >\n {startIcon && <span css={{ marginRight: `calc(var(--spacing) * 2)` }}>{startIcon}</span>}\n <span>{children}</span>\n </button>\n );\n};\n","import { TableTheme } from '../../types';\n\nexport const Checkbox: TableTheme['components']['Checkbox'] = ({ className, ...props }) => {\n return (\n <label\n css={[\n {\n padding: 'calc(var(--spacing) * 1.8)',\n display: 'flex',\n color: 'currentcolor',\n\n '& input': {\n appearance: 'none',\n margin: 0,\n },\n },\n props.disabled && { color: 'rgba(0, 0, 0, 0.26)' },\n ]}\n className={className}\n >\n <input type=\"checkbox\" {...props} />\n\n {props.checked ? (\n <svg\n css={{ fontSize: '1.25rem', width: '1em', height: '1em', fill: 'var(--primaryMain)' }}\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path d=\"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"></path>\n </svg>\n ) : (\n <svg\n css={{ fontSize: '1.25rem', width: '1em', height: '1em', fill: 'currentColor' }}\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"></path>\n </svg>\n )}\n </label>\n );\n};\n","import { TableTheme } from '../../types';\n\nexport const IconButton: TableTheme['components']['IconButton'] = (props) => {\n return (\n <button\n css={{\n padding: 'var(--spacing)',\n borderRadius: '50%',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n transition: 'background-color 150ms',\n border: 'none',\n cursor: 'pointer',\n color: 'inherit',\n background: 'transparent',\n\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n },\n\n '&:active': {\n transformColor: 'scale3d(0.95, 0.95, 1)',\n },\n }}\n {...props}\n />\n );\n};\n","import { useState } from 'react';\nimport { TableTheme } from '../../types';\nimport { darkGray } from '../defaultClasses';\n\nexport const TextField: TableTheme['components']['TextField'] = ({ endIcon, className, inputRef, ...props }) => {\n const [focus, setFocus] = useState(false);\n\n return (\n <div className={className} css={{ display: 'flex' }}>\n <span\n css={[\n {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n border: `1px solid ${darkGray}`,\n borderRadius: 4,\n },\n focus && { border: '2px solid var(--primaryMain)', margin: -1 },\n ]}\n >\n <input\n ref={inputRef}\n {...props}\n value={props.value ?? ''}\n onFocus={() => setFocus(true)}\n onBlur={() => setFocus(false)}\n css={{\n flex: 1,\n border: 'none',\n outline: 'none',\n borderRadius: 4,\n padding: 'calc(var(--spacing) * 2)',\n paddingRight: 0,\n transition: 'outline 500ms',\n }}\n />\n\n {endIcon}\n </span>\n </div>\n );\n};\n","import { Spinner } from '../../components/spinnner';\nimport { TableTheme } from '../../types';\nimport { Badge } from './badge';\nimport { Button } from './button';\nimport { Checkbox } from './checkbox';\nimport { IconButton } from './iconButton';\nimport { Popover } from './popover';\nimport { TextField } from './textField';\n\nexport const defaultComponents: TableTheme['components'] = {\n IconButton,\n Checkbox,\n Popover,\n Button,\n Badge,\n TextField,\n Spinner,\n};\n","import { createContext, ReactNode, useContext } from 'react';\nimport { DeepPartial } from '../misc/deepPartial';\nimport { InternalTableProps, TableTheme } from '../types';\nimport { defaultColors } from './defaultColors';\nimport { defaultIcons } from './defaultIcons';\nimport { defaultTexts } from './defaultTexts';\nimport { defaultComponents } from './defaultTheme';\n\nconst defaultTableTheme: TableTheme = {\n text: defaultTexts,\n components: defaultComponents,\n icons: defaultIcons,\n colors: defaultColors,\n spacing: '5px',\n};\n\nlet globalTableTheme: DeepPartial<TableTheme> = {};\nexport function configureTableTheme(tableTheme: DeepPartial<TableTheme>) {\n globalTableTheme = tableTheme;\n}\n\nexport const TableThemeContext = createContext<DeepPartial<TableTheme>>({});\n\nexport function TableThemeProvider({ theme, children }: { theme: DeepPartial<TableTheme>; children: ReactNode }) {\n return <TableThemeContext.Provider value={theme}>{children}</TableThemeContext.Provider>;\n}\n\nexport function mergeThemes<T>(...themes: DeepPartial<TableTheme<T>>[]): DeepPartial<TableTheme<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\nexport function useTableTheme<T>(props: InternalTableProps<T>): TableTheme<T> {\n const contextTableTheme = useContext(TableThemeContext);\n\n return mergeThemes(defaultTableTheme, globalTableTheme, contextTableTheme, props) as TableTheme<T>;\n}\n"],"names":["css","MARGIN","MAX_OFFSET","PopoverContext","createContext","depth","visible","Popover","anchorEl","open","hidden","onClose","children","className","align","popper","useRef","position","setPosition","useState","undefined","last","left","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","height","popperHeight","current","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","next","Math","min","Infinity","top","handle","setInterval","check","useContext","context","useMemo","_jsx","createPortal","_jsxs","right","zIndex","display","defaultClasses","card","maxWidth","maxHeight","visibility","body","IconDefaultStyle","color","svg","props","ClassNames","cloneElement","Settings","Icon","Export","Clipboard","ChevronRight","Search","Clear","ArrowDropDown","FilterList","ArrowUpward","defaultIcons","defaultTexts","selectColumns","noResults","exportTitle","exportCopy","exportDownload","today","thisWeek","reset","loading","selected","count","Badge","badgeContent","flexShrink","verticalAlign","transform","transformOrigin","padding","flexWrap","minWidth","transition","alignItems","lineHeight","alignContent","borderRadius","justifyContent","fontSize","Button","startIcon","variant","border","cursor","background","darkGray","borderColor","lightGray","backgroundColor","boxShadow","filter","opacity","marginRight","Checkbox","appearance","margin","disabled","checked","fill","IconButton","transformColor","TextField","endIcon","inputRef","focus","setFocus","flex","value","outline","paddingRight","defaultComponents","Spinner","defaultTableTheme","text","components","icons","colors","defaultColors","spacing","globalTableTheme","tableTheme","TableThemeContext","theme","themes","Object","assign","map","classes","primary","secondary","reverse","find","x","contextTableTheme","mergeThemes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEa,QAAQ;MACR,YAAY;MACZ,OAAO;MACP,WAAW;AAExB,MAAM,OAAOA,UAAI;AAAA,EACf,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA;MAGD,iBAAiB;AAAA,EAC5B,OAAOA,UAAI;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA;AAAA,EAGX;AAAA,EAEA,UAAUA,UAAI;AAAA,IACZ,cAAc,aAAa;AAAA;AAAA,EAG7B,YAAYA,UAAI,MAAM;AAAA,IACpB,SAAS;AAAA,IACT,cAAc;AAAA,IAEd,YAAY;AAAA;AAAA,EAId,WAAWA,UAAI;AAAA,IACb,gBAAgB;AAAA;AAAA,EAGlB,QAAQA,UAAI;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA;AAAA,EAGV,YAAYA,UAAI;AAAA,IACd,cAAc;AAAA,IACd,YAAY;AAAA;AAAA,EAGd,MAAMA,UAAI;AAAA,IACR,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA;AAAA,EAGhB,MAAMA,UAAI;AAAA,IACR,cAAc;AAAA,IACd,WAAW;AAAA,IACX,YAAY;AAAA;AAAA;ACxDhB,MAAMC,SAAS;AACf,MAAMC,aAAa;MAENC,iBAAiBC,sBAAc;AAAA,EAAEC,OAAO;AAAA,EAAGC,SAAS;AAAA;MAEpDC,UAA+C,CAAC;AAAA,EAAEC;AAAAA,EAAUC;AAAAA,EAAMC;AAAAA,EAAQC;AAAAA,EAASC;AAAAA,EAAUC;AAAAA,EAAWC;AAAAA,MAAY;QACzHC,SAASC,eAAuB;QAChC,CAACC,UAAUC,eAAeC;0BAEhB,MAAM;QAChB,CAACX,YAAY,CAACC,OAAM;kBACVW;;;QAIVC;qBAEa;;UACX,CAACb;;YACC;AAAA,QAAEc,MAAMC;AAAAA,QAAYC,QAAQC;AAAAA,QAAcC,OAAOC;AAAAA,UAAgBnB,SAASoB;YAC1E;AAAA,QAAEF,OAAOG,cAAc;AAAA,QAAGC,QAAQC,eAAe;AAAA,UAAMhB,mBAAOiB,YAAPjB,mBAAgBa,4BAAhBb,YAA2C;YAClGkB,gBAAgBC,SAASC,gBAAgBC;YACzCC,iBAAiBH,SAASC,gBAAgBG;YAE1CC,OAAO;AAAA,QACXjB,MACER,UAAU,WACNS,aAAaI,cAAc,IAAIE,cAAc,IAC7CN,aAAaiB,KAAKC,IAAIZ,cAAcA,cAAc,IAAIa,UAAUxC;AAAAA,QACtEyC,KAAKlB;AAAAA;UAGHc,KAAKjB,OAAOO,cAAc5B,SAASgC,eAAe;aAC/CX,OAAOW,gBAAgBJ,cAAc5B;AAAAA;UAExCsC,KAAKI,MAAMZ,eAAe9B,SAASoC,gBAAgB;aAChDM,MAAMN,iBAAiBN,eAAe9B;AAAAA;UAGzCsC,KAAKjB,SAASD,8BAAMC,SAAQiB,KAAKI,QAAQtB,8BAAMsB,MAAK;oBAC1CJ;AAAAA;aAGPA;AAAAA;;UAIHK,SAASC,YAAYC,OAAO;WAC3B,MAAM;oBACGF;AAAAA;AAAAA,KAEf,CAACpC,UAAUC;QAER;AAAA,IAAEJ;AAAAA,MAAU0C,mBAAW5C;QACvBG,UAAU,CAACI,UAAU,CAAC,CAACO;QACvB+B,UAAUC,gBAAQ;IAAS5C,OAAOA,QAAQ;AAAA,IAAGC;AAAAA,MAAY,CAACD,OAAOC;MAEnE,CAACG;WAAa;SAGhByC,eAAC,eAAe;IAAS,OAAOF;AAAAA,cAC7BG,sBACCC;iBACEF;QACE,KAAK,CACH;AAAA,UACEjC,UAAU;AAAA,UACVK,MAAM;AAAA,UACN+B,OAAO;AAAA,UACPV,KAAK;AAAA,UACLnB,QAAQ;AAAA,UACR8B,QAAQ,MAAOjD,QAAQ;AAAA,WAEzBK,UAAU;AAAA,UAAE6C,SAAS;AAAA;AAAA,QAEvB,SAAS,MAAM5C;AAAAA,UAGjBuC;QACE,KAAKnC;AAAAA,QACL;AAAA,QACA,KAAK,CACHyC,eAAeC,MACf;AAAA,UACExC,UAAU;AAAA,UACVyC,UAAUxB,SAASC,gBAAgBC;AAAAA,UACnCuB,WAAWzB,SAASC,gBAAgBG;AAAAA,WACjCrB,WAJL;AAAA,UAKEqC,QAAQ,OAAOjD,QAAQ;AAAA,YAEzBK,UAAU;AAAA,UAAE6C,SAAS;AAAA,WACrB,CAACtC,YAAY;AAAA,UAAE2C,YAAY;AAAA;AAAA;;QAMjC1B,SAAS2B;AAAAA;AAAAA;MCpGJ,gBAAsC;AAAA,EACjD,SAAS,EAAE,MAAM,WAAW,OAAO,WAAW,cAAc;AAAA,EAC5D,WAAW,EAAE,MAAM,WAAW,OAAO,WAAW,cAAc;AAAA;ACAhE,MAAMC,mBAAmB9D,UAAI;AAAA,EAC3B0B,OAAO;AAAA,EACPI,QAAQ;AAAA,EACRiC,OAAO;AAAA;AAGT,cAAcC,KAAkB;SACvB,CAACC,UACNf,eAACgB;cACE,CAAC;AAAA,MAAElE;UACFmE,qBAAaH,KAAK,iCACbC,QADa;AAAA,MAEhBpD,WAAWb,KAAI8D,kBAAkBG,MAAMpD;AAAAA;AAAAA;AAAAA;AAOjD,MAAMuD,WAAWC,KACfjB;EAAK,OAAM;AAAA,EAA6B,QAAO;AAAA,EAAO,SAAQ;AAAA,EAAY,OAAM;AAAA,EAAO,MAAK;AAAA,aAC1FF;IAAM,GAAE;AAAA,IAAkB,MAAK;AAAA,MAC/BA;IAAM,GAAE;AAAA;AAAA;AAIZ,MAAMoB,SAASD,KACbjB;EACE,OAAM;AAAA,EACN,kBAAiB;AAAA,EACjB,QAAO;AAAA,EACP,SAAQ;AAAA,EACR,OAAM;AAAA,EACN,MAAK;AAAA,aAELF;cACEA;MAAM,MAAK;AAAA,MAAO,QAAO;AAAA,MAAK,OAAM;AAAA;AAAA,MAEtCA;cACEA;MAAM,GAAE;AAAA;AAAA;AAAA;AAKd,MAAMqB,YAAYF,KAChBjB;EAAK,OAAM;AAAA,EAA6B,QAAO;AAAA,EAAO,SAAQ;AAAA,EAAY,OAAM;AAAA,EAAO,MAAK;AAAA,aAC1FF;IAAM,GAAE;AAAA,IAAkB,MAAK;AAAA,MAC/BA;IAAM,GAAE;AAAA;AAAA;AAIZ,MAAMsB,eAAeH,KACnBjB;EAAK,OAAM;AAAA,EAA6B,QAAO;AAAA,EAAO,SAAQ;AAAA,EAAY,OAAM;AAAA,EAAO,MAAK;AAAA,aAC1FF;IAAM,GAAE;AAAA,IAAkB,MAAK;AAAA,MAC/BA;IAAM,GAAE;AAAA;AAAA;AAIZ,MAAMuB,SAASJ,KACbjB;EAAK,OAAM;AAAA,EAA6B,QAAO;AAAA,EAAO,SAAQ;AAAA,EAAY,OAAM;AAAA,EAAO,MAAK;AAAA,aAC1FF;IAAM,GAAE;AAAA,IAAkB,MAAK;AAAA,MAC/BA;IAAM,GAAE;AAAA;AAAA;AAIZ,MAAMwB,QAAQL,KACZjB;EAAK,OAAM;AAAA,EAA6B,QAAO;AAAA,EAAO,SAAQ;AAAA,EAAY,OAAM;AAAA,EAAO,MAAK;AAAA,aAC1FF;IAAM,GAAE;AAAA,IAAkB,MAAK;AAAA,MAC/BA;IAAM,GAAE;AAAA;AAAA;AAIZ,MAAMyB,gBAAgBN,KACpBjB;EAAK,OAAM;AAAA,EAA6B,QAAO;AAAA,EAAO,SAAQ;AAAA,EAAY,OAAM;AAAA,EAAO,MAAK;AAAA,aAC1FF;IAAM,GAAE;AAAA,IAAkB,MAAK;AAAA,MAC/BA;IAAM,GAAE;AAAA;AAAA;AAIZ,MAAM0B,aAAaP,KACjBnB;EAAK,SAAQ;AAAA,YACXA;IACE,MAAK;AAAA,IACL,GAAE;AAAA;AAAA;AAKR,MAAM2B,cAAcR,KAClBjB;EAAK,OAAM;AAAA,EAA6B,QAAO;AAAA,EAAO,SAAQ;AAAA,EAAY,OAAM;AAAA,EAAO,MAAK;AAAA,aAC1FF;IAAM,GAAE;AAAA,IAAkB,MAAK;AAAA,MAC/BA;IAAM,GAAE;AAAA;AAAA;MAIC4B,eAAoC;AAAA,EAC/CV;AAAAA,EACAE;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA;MC1GWE,eAAmC;AAAA,EAC9CC,eAAe;AAAA,EACfC,WAAW;AAAA,EACXC,aAAa;AAAA,EACbC,YAAY;AAAA,EACZC,gBAAgB;AAAA,EAChBC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,UAAWC,WAAW,GAAEA;AAAAA;iBCVF;AAAA,EAAE7E;AAAAA,GAAqC;SAE3DuC;IACE;AAAA,IACA,KAAKpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAqCLkD,2BACAA,2BACAA;;;MC3COyC,QAA2C,CAAC;AAAA,EAAEC;AAAAA,EAAchF;AAAAA,MAAe;MAClF,CAACH;WAAa;SAGhB2C;IACE,KAAK;AAAA,MACHG,SAAS;AAAA,MACTtC,UAAU;AAAA,MACV4E,YAAY;AAAA,MACZC,eAAe;AAAA;AAAA,eAGhBlF,UAEDsC;MACE,KAAK,CACH;AAAA,QACEP,KAAK;AAAA,QACLU,OAAO;AAAA,QACP0C,WAAW;AAAA,QACXC,iBAAiB;AAAA,QACjBlE,QAAQ;AAAA,QACRyB,SAAS;AAAA,QACT0C,SAAS;AAAA,QACT3C,QAAQ;AAAA,QACRrC,UAAU;AAAA,QACViF,UAAU;AAAA,QACVC,UAAU;AAAA,QACVC,YAAY;AAAA,QACZC,YAAY;AAAA,QACZC,YAAY;AAAA,QACZC,cAAc;AAAA,QACdC,cAAc;AAAA,QACdC,gBAAgB;AAAA,QAChBC,UAAU;AAAA,SAEZ,CAACd,gBAAgB;AAAA,QACfG,WAAW;AAAA,QACXK,YAAY;AAAA;AAAA,gBAIfR;AAAAA;AAAAA;AAAAA;MCzCIe,SAA6C,CAAC,OAAwD;AAAxD,eAAEC;AAAAA;AAAAA,IAAWhG;AAAAA,IAAUiG,UAAU;AAAA,MAAjC,IAA4C5C,kBAA5C,IAA4CA;AAAAA,IAA1C2C;AAAAA,IAAWhG;AAAAA,IAAUiG;AAAAA;SAE9EzD;IACE,KAAK,CACH;AAAA,MACE6C,SAAU;AAAA,MACV1C,SAAS;AAAA,MACT8C,YAAY;AAAA,MACZD,YAAY;AAAA,MACZU,QAAQ;AAAA,MACRC,QAAQ;AAAA,MACRC,YAAY;AAAA,MACZR,cAAc;AAAA,iCAEa;AAAA,QACzBT,WAAW;AAAA;AAAA,OAGfc,YAAY,UAAU;AAAA,iBACT;AAAA,QACTG,YAAY;AAAA;AAAA,OAGhBH,YAAY,cAAc;AAAA,MACxBC,QAAS,aAAYG;AAAAA,oBAEP;AAAA,QACZC,aAAaC;AAAAA;AAAAA,OAGjBN,YAAY,eAAe;AAAA,MACzB9C,OAAO;AAAA,MACPqD,iBAAiB;AAAA,MACjBC,WAAW;AAAA,iBAEA;AAAA,QACTC,QAAQ;AAAA;AAAA,oBAGI;AAAA,QACZA,QAAQ;AAAA,QACRC,SAAS;AAAA;AAAA;AAAA,KAIXtD;eAEH2C,aAAa1D;MAAM,KAAK;AAAA,QAAEsE,aAAc;AAAA;AAAA,gBAA8BZ;AAAAA,QACvE1D;;;;;MCjDOuE,WAAiD,CAAC,OAA4B;AAA5B,eAAE5G;AAAAA;AAAAA,MAAF,IAAgBoD,kBAAhB,IAAgBA;AAAAA,IAAdpD;AAAAA;SAE7DuC;IACE,KAAK,CACH;AAAA,MACE6C,SAAS;AAAA,MACT1C,SAAS;AAAA,MACTQ,OAAO;AAAA,iBAEI;AAAA,QACT2D,YAAY;AAAA,QACZC,QAAQ;AAAA;AAAA,OAGZ1D,MAAM2D,YAAY;AAAA,MAAE7D,OAAO;AAAA;AAAA,IAE7B;AAAA,eAEAb;MAAO,MAAK;AAAA,OAAee,SAE1BA,MAAM4D,UACL3E;MACE,KAAK;AAAA,QAAEwD,UAAU;AAAA,QAAWhF,OAAO;AAAA,QAAOI,QAAQ;AAAA,QAAOgG,MAAM;AAAA;AAAA,MAC/D,WAAU;AAAA,MACV,SAAQ;AAAA,qBACI;AAAA,gBAEZ5E;QAAM,GAAE;AAAA;AAAA,SAGVA;MACE,KAAK;AAAA,QAAEwD,UAAU;AAAA,QAAWhF,OAAO;AAAA,QAAOI,QAAQ;AAAA,QAAOgG,MAAM;AAAA;AAAA,MAC/D,WAAU;AAAA,MACV,SAAQ;AAAA,qBACI;AAAA,gBAEZ5E;QAAM,GAAE;AAAA;AAAA;AAAA;AAAA;MCpCL6E,aAAsD9D,WAAU;SAEzEf;IACE,KAAK;AAAA,MACH+C,SAAS;AAAA,MACTO,cAAc;AAAA,MACdjD,SAAS;AAAA,MACTkD,gBAAgB;AAAA,MAChBJ,YAAY;AAAA,MACZD,YAAY;AAAA,MACZU,QAAQ;AAAA,MACRC,QAAQ;AAAA,MACRhD,OAAO;AAAA,MACPiD,YAAY;AAAA,iBAED;AAAA,QACTI,iBAAiB;AAAA;AAAA,kBAGP;AAAA,QACVY,gBAAgB;AAAA;AAAA;AAAA,KAGhB/D;AAAAA;MCrBGgE,YAAmD,CAAC,OAA+C;AAA/C,eAAEC;AAAAA;AAAAA,IAASrH;AAAAA,IAAWsH;AAAAA,MAAtB,IAAmClE,kBAAnC,IAAmCA;AAAAA,IAAjCiE;AAAAA,IAASrH;AAAAA,IAAWsH;AAAAA;;QAC/E,CAACC,OAAOC,YAAYlH,iBAAS;SAGjC+B;IAAK;AAAA,IAAsB,KAAK;AAAA,MAAEK,SAAS;AAAA;AAAA,cACzCH;MACE,KAAK,CACH;AAAA,QACEkF,MAAM;AAAA,QACN/E,SAAS;AAAA,QACT8C,YAAY;AAAA,QACZS,QAAS,aAAYG;AAAAA,QACrBT,cAAc;AAAA,SAEhB4B,SAAS;AAAA,QAAEtB,QAAQ;AAAA,QAAgCa,QAAQ;AAAA;AAAA,iBAG7DzE;QACE,KAAKiF;AAAAA,SACDlE;QACJ,OAAOA,YAAMsE,UAANtE,YAAe;AAAA,QACtB,SAAS,MAAMoE,SAAS;AAAA,QACxB,QAAQ,MAAMA,SAAS;AAAA,QACvB,KAAK;AAAA,UACHC,MAAM;AAAA,UACNxB,QAAQ;AAAA,UACR0B,SAAS;AAAA,UACThC,cAAc;AAAA,UACdP,SAAS;AAAA,UACTwC,cAAc;AAAA,UACdrC,YAAY;AAAA;AAAA,WAIf8B;AAAAA;AAAAA;AAAAA;MC7BIQ,oBAA8C;AAAA,EACzDX;AAAAA,EACAN;AAAAA,EACAlH;AAAAA,EACAoG;AAAAA,EACAhB;AAAAA,EACAsC;AAAAA,EACAU;AAAAA;ACRF,MAAMC,oBAAgC;AAAA,EACpCC,MAAM9D;AAAAA,EACN+D,YAAYJ;AAAAA,EACZK,OAAOjE;AAAAA,EACPkE,QAAQC;AAAAA,EACRC,SAAS;AAAA;AAGX,IAAIC,mBAA4C;6BACZC,YAAqC;qBACpDA;AAAAA;MAGRC,oBAAoBjJ,sBAAuC;4BAErC;AAAA,EAAEkJ;AAAAA,EAAO1I;AAAAA,GAAqE;SACxGsC,eAAC,kBAAkB;IAAS,OAAOoG;AAAAA;;;wBAGVC,QAAkE;SAC3F;AAAA,IACLV,MAAMW,OAAOC,OAAO,IAAI,GAAGF,OAAOG,IAAKJ,WAAUA,MAAMT;AAAAA,IACvDc,SAASH,OAAOC,OAAO,IAAI,GAAGF,OAAOG,IAAKJ,WAAUA,MAAMK;AAAAA,IAC1Db,YAAYU,OAAOC,OAAO,IAAI,GAAGF,OAAOG,IAAKJ,WAAUA,MAAMR;AAAAA,IAC7DC,OAAOS,OAAOC,OAAO,IAAI,GAAGF,OAAOG,IAAKJ,WAAUA,MAAMP;AAAAA,IACxDC,QAAQ;AAAA,MACNY,SAASJ,OAAOC,OAAO,IAAI,GAAGF,OAAOG,IAAKJ;;AAAUA,2BAAMN,WAANM,mBAAcM;AAAAA;AAAAA,MAClEC,WAAWL,OAAOC,OAAO,IAAI,GAAGF,OAAOG,IAAKJ;;AAAUA,2BAAMN,WAANM,mBAAcO;AAAAA;AAAAA;AAAAA,IAEtEX,SAASK,OACNG,IAAKJ,WAAUA,MAAMJ,SACrBY,UACAC,KAAMC,OAAMA,MAAM5I;AAAAA;AAAAA;uBAIQ6C,OAA6C;QACtEgG,oBAAoBlH,mBAAWsG;SAE9Ba,YAAYtB,mBAAmBO,kBAAkBc,mBAAmBhG;AAAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"tableTheme.js","sources":["../../src/theme/defaultTheme/defaultClasses.ts","../../src/theme/defaultTheme/popover.tsx","../../src/theme/defaultTheme/defaultColors.ts","../../src/components/spinnner.tsx","../../src/theme/defaultTheme/badge.tsx","../../src/theme/defaultTheme/button.tsx","../../src/theme/defaultTheme/checkbox.tsx","../../src/theme/defaultTheme/iconButton.tsx","../../src/theme/defaultTheme/textField.tsx","../../src/theme/defaultTheme/defaultComponents.ts","../../src/theme/defaultTheme/defaultIcons.tsx","../../src/theme/defaultTheme/defaultTexts.tsx","../../src/theme/defaultTheme/index.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 background: white,\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 headerFill: css({\n borderBottom: `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","import React, { createContext, useContext, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { TableTheme } from '../../types';\nimport { defaultClasses } from './defaultClasses';\n\nconst MARGIN = 10;\nconst MAX_OFFSET = 20;\n\nexport const PopoverContext = createContext({ depth: 0, visible: false });\n\nexport const Popover: TableTheme['components']['Popover'] = ({ anchorEl, open, hidden, onClose, children, className, align }) => {\n const popper = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState<{ left: number; top: number }>();\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 { left: anchorLeft, bottom: anchorBottom, width: anchorWidth } = anchorEl.getBoundingClientRect();\n const { width: popperWidth = 0, height: popperHeight = 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 - Math.min(popperWidth ? popperWidth / 2 : Infinity, MAX_OFFSET),\n top: anchorBottom,\n };\n\n if (next.left + popperWidth + MARGIN > viewportWidth) {\n next.left = viewportWidth - popperWidth - MARGIN;\n }\n if (next.top + popperHeight + MARGIN > viewportHeight) {\n next.top = viewportHeight - popperHeight - MARGIN;\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]);\n\n const { depth } = useContext(PopoverContext);\n const visible = !hidden && !!position;\n const context = useMemo(() => ({ depth: depth + 1, visible }), [depth, visible]);\n\n if (!open) return null;\n\n return (\n <PopoverContext.Provider value={context}>\n {createPortal(\n <>\n <div\n css={[\n {\n position: 'fixed',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n zIndex: 1000 + depth * 2,\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,\n maxHeight: document.documentElement.clientHeight,\n ...position,\n zIndex: 1001 + depth * 2,\n },\n hidden && { display: 'none' },\n !position && { visibility: 'hidden' },\n ]}\n >\n {children}\n </div>\n </>,\n document.body,\n )}\n </PopoverContext.Provider>\n );\n};\n","import { TableTheme } from '../../types';\n\nexport const defaultColors: TableTheme['colors'] = {\n primary: { main: '#1976d2', light: '#42a5f5', contrastText: '#fff' },\n secondary: { main: '#9c27b0', light: '#ba68c8', contrastText: '#fff' },\n};\n","import { css } from '@emotion/react';\n\nexport function Spinner({ className }: { className?: string }) {\n return (\n <div\n className={className}\n css={css`\n display: inline-block;\n position: relative;\n width: 1em;\n height: 1em;\n\n div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n width: 0.8em;\n height: 0.8em;\n margin: 0.1em;\n border: 0.1em solid #fff;\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: currentColor transparent transparent transparent;\n }\n div:nth-of-type(1) {\n animation-delay: -0.45s;\n }\n div:nth-of-type(2) {\n animation-delay: -0.3s;\n }\n div:nth-of-type(3) {\n animation-delay: -0.15s;\n }\n @keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n `}\n >\n <div />\n <div />\n <div />\n </div>\n );\n}\n","import { TableTheme } from '../../types';\n\nexport const Badge: TableTheme['components']['Badge'] = ({ badgeContent, children }) => {\n if (!open) return null;\n\n return (\n <span\n css={{\n display: 'inline-flex',\n position: 'relative',\n flexShrink: 0,\n verticalAlign: 'middle',\n }}\n >\n {children}\n\n <span\n css={[\n {\n top: 0,\n right: 0,\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n height: 20,\n display: 'flex',\n padding: '0 6px',\n zIndex: 1,\n position: 'absolute',\n flexWrap: 'wrap',\n minWidth: 20,\n transition: 'transform 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n alignItems: 'center',\n lineHeight: 1,\n alignContent: 'center',\n borderRadius: 10,\n justifyContent: 'center',\n fontSize: '0.8em',\n },\n !badgeContent && {\n transform: 'scale(0) translate(50%, -50%)',\n transition: 'transform 195ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n },\n ]}\n >\n {badgeContent}\n </span>\n </span>\n );\n};\n","import { TableTheme } from '../../types';\nimport { darkGray, lightGray } from './defaultClasses';\n\nexport const Button: TableTheme['components']['Button'] = ({ startIcon, children, variant = 'text', ...props }) => {\n return (\n <button\n css={[\n {\n padding: `var(--spacing) calc(var(--spacing) * 2)`,\n display: 'inline-flex',\n alignItems: 'center',\n transition: 'background-color 150ms',\n border: 'none',\n cursor: 'pointer',\n background: 'transparent',\n borderRadius: 4,\n\n '&:active:not(:disabled)': {\n transform: 'scale3d(0.95, 0.95, 1)',\n },\n },\n variant === 'text' && {\n '&:hover': {\n background: 'rgba(0, 0, 0, 0.1)',\n },\n },\n variant === 'outlined' && {\n border: `1px solid ${darkGray}`,\n\n '&:disabled': {\n borderColor: lightGray,\n },\n },\n variant === 'contained' && {\n color: 'var(--primaryContrastText)',\n backgroundColor: 'var(--primaryMain)',\n boxShadow: '0px 3px 1px -2px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%), 0px 1px 5px 0px rgb(0 0 0 / 12%)',\n\n '&:hover': {\n filter: 'brightness(0.9)',\n },\n\n '&:disabled': {\n filter: 'grayscale()',\n opacity: 0.5,\n },\n },\n ]}\n {...props}\n >\n {startIcon && <span css={{ marginRight: `calc(var(--spacing) * 2)` }}>{startIcon}</span>}\n <span>{children}</span>\n </button>\n );\n};\n","import { TableTheme } from '../../types';\n\nexport const Checkbox: TableTheme['components']['Checkbox'] = ({ className, ...props }) => {\n return (\n <label\n css={[\n {\n padding: 'calc(var(--spacing) * 1.8)',\n display: 'flex',\n color: 'currentcolor',\n userSelect: 'none',\n\n '& input': {\n appearance: 'none',\n margin: 0,\n },\n },\n props.disabled && { color: 'rgba(0, 0, 0, 0.26)' },\n ]}\n className={className}\n >\n <input type=\"checkbox\" {...props} />\n\n {props.checked ? (\n <svg\n css={{ fontSize: '1.25rem', width: '1em', height: '1em', fill: 'var(--primaryMain)' }}\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path d=\"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"></path>\n </svg>\n ) : (\n <svg\n css={{ fontSize: '1.25rem', width: '1em', height: '1em', fill: 'currentColor' }}\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"></path>\n </svg>\n )}\n </label>\n );\n};\n","import { TableTheme } from '../../types';\n\nexport const IconButton: TableTheme['components']['IconButton'] = (props) => {\n return (\n <button\n css={{\n padding: 'var(--spacing)',\n borderRadius: '50%',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n transition: 'background-color 150ms',\n border: 'none',\n cursor: 'pointer',\n color: 'inherit',\n background: 'transparent',\n\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n },\n\n '&:active': {\n transformColor: 'scale3d(0.95, 0.95, 1)',\n },\n }}\n {...props}\n />\n );\n};\n","import { useState } from 'react';\nimport { TableTheme } from '../../types';\nimport { darkGray } from './defaultClasses';\n\nexport const TextField: TableTheme['components']['TextField'] = ({ endIcon, className, inputRef, ...props }) => {\n const [focus, setFocus] = useState(false);\n\n return (\n <div className={className} css={{ display: 'flex' }}>\n <span\n css={[\n {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n border: `1px solid ${darkGray}`,\n borderRadius: 4,\n },\n focus && { border: '2px solid var(--primaryMain)', margin: -1 },\n ]}\n >\n <input\n ref={inputRef}\n {...props}\n value={props.value ?? ''}\n onFocus={() => setFocus(true)}\n onBlur={() => setFocus(false)}\n css={{\n flex: 1,\n border: 'none',\n outline: 'none',\n borderRadius: 4,\n padding: 'calc(var(--spacing) * 2)',\n paddingRight: 0,\n transition: 'outline 500ms',\n }}\n />\n\n {endIcon}\n </span>\n </div>\n );\n};\n","import { Spinner } from '../../components/spinnner';\nimport { TableTheme } from '../../types';\nimport { Badge } from './badge';\nimport { Button } from './button';\nimport { Checkbox } from './checkbox';\nimport { IconButton } from './iconButton';\nimport { Popover } from './popover';\nimport { TextField } from './textField';\n\nexport const defaultComponents: TableTheme['components'] = {\n IconButton,\n Checkbox,\n Popover,\n Button,\n Badge,\n TextField,\n Spinner,\n};\n","import { ClassNames, css } from '@emotion/react';\nimport { cloneElement, HTMLProps } from 'react';\nimport { TableTheme } from '../../types';\n\nconst IconDefaultStyle = css({\n width: '1.5em',\n height: '1.5em',\n color: 'inherit',\n});\n\nfunction Icon(svg: JSX.Element) {\n return (props: HTMLProps<Element>) => (\n <ClassNames>\n {({ css }) =>\n cloneElement(svg, {\n ...props,\n className: css(IconDefaultStyle, props.className),\n })\n }\n </ClassNames>\n );\n}\n\nconst Settings = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z\" />\n </svg>,\n);\n\nconst Export = Icon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"currentColor\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <path d=\"M18,15v3H6v-3H4v3c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-3H18z M17,11l-1.41-1.41L13,12.17V4h-2v8.17L8.41,9.59L7,11l5,5 L17,11z\" />\n </g>\n </svg>,\n);\n\nconst Clipboard = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z\" />\n </svg>,\n);\n\nconst ChevronRight = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\" />\n </svg>,\n);\n\nconst Search = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>,\n);\n\nconst Clear = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\" />\n </svg>,\n);\n\nconst ArrowDropDown = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M7 10l5 5 5-5H7z\" />\n </svg>,\n);\n\nconst FilterList = Icon(\n <svg viewBox=\"0 0 24 24\">\n <path\n fill=\"currentColor\"\n d=\"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\"\n />\n </svg>,\n);\n\nconst ArrowUpward = Icon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\" />\n </svg>,\n);\n\nexport const defaultIcons: TableTheme['icons'] = {\n Settings,\n Export,\n Clipboard,\n ChevronRight,\n Search,\n Clear,\n ArrowDropDown,\n FilterList,\n ArrowUpward,\n};\n","import { TableTheme } from '../../types';\n\nexport const defaultTexts: TableTheme['text'] = {\n selectColumns: 'Select visible columns',\n noResults: 'No results',\n exportTitle: 'Export',\n exportCopy: 'To clipboard',\n exportDownload: 'Download',\n today: 'Today',\n thisWeek: 'This week',\n reset: 'Reset',\n loading: 'Loading',\n selected: (count) => `${count} selected`,\n};\n","import { TableTheme } from '../../types';\nimport { defaultColors } from './defaultColors';\nimport { defaultComponents } from './defaultComponents';\nimport { defaultIcons } from './defaultIcons';\nimport { defaultTexts } from './defaultTexts';\n\nexport const defaultTableTheme: TableTheme = {\n text: defaultTexts,\n components: defaultComponents,\n icons: defaultIcons,\n colors: defaultColors,\n spacing: '5px',\n};\n","import { createContext, ReactNode, useContext } from 'react';\nimport { InternalTableProps, PartialTableTheme, TableTheme } from '../types';\nimport { defaultTableTheme } from './defaultTheme';\n\nlet globalTableTheme: PartialTableTheme = {};\nexport function configureTableTheme(tableTheme: PartialTableTheme) {\n globalTableTheme = tableTheme;\n}\n\nexport const TableThemeContext = createContext<PartialTableTheme>({});\n\nexport function TableThemeProvider({ theme, children }: { theme: PartialTableTheme; children: ReactNode }) {\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\nexport function useTableTheme<T>(props: InternalTableProps<T>): TableTheme<T> {\n const contextTableTheme = useContext(TableThemeContext);\n\n return mergeThemes(defaultTableTheme, globalTableTheme, contextTableTheme, props) as TableTheme<T>;\n}\n"],"names":["css","MARGIN","MAX_OFFSET","PopoverContext","createContext","depth","visible","Popover","anchorEl","open","hidden","onClose","children","className","align","popper","useRef","position","setPosition","useState","undefined","last","left","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","height","popperHeight","current","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","next","Math","min","Infinity","top","handle","setInterval","check","useContext","context","useMemo","_jsx","createPortal","_jsxs","right","zIndex","display","defaultClasses","card","maxWidth","maxHeight","visibility","body","Badge","badgeContent","flexShrink","verticalAlign","transform","transformOrigin","padding","flexWrap","minWidth","transition","alignItems","lineHeight","alignContent","borderRadius","justifyContent","fontSize","Button","startIcon","variant","props","border","cursor","background","darkGray","borderColor","lightGray","color","backgroundColor","boxShadow","filter","opacity","marginRight","Checkbox","userSelect","appearance","margin","disabled","checked","fill","IconButton","transformColor","TextField","endIcon","inputRef","focus","setFocus","flex","value","outline","paddingRight","IconDefaultStyle","svg","ClassNames","cloneElement","Settings","Icon","Export","Clipboard","ChevronRight","Search","Clear","ArrowDropDown","FilterList","ArrowUpward","defaultIcons","defaultTexts","selectColumns","noResults","exportTitle","exportCopy","exportDownload","today","thisWeek","reset","loading","selected","count","defaultTableTheme","text","components","defaultComponents","icons","colors","defaultColors","spacing","globalTableTheme","tableTheme","TableThemeContext","theme","themes","Object","assign","map","classes","primary","secondary","reverse","find","x","contextTableTheme","mergeThemes"],"mappings":"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"}