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.
- package/README.md +4 -0
- package/dist/cjs/index.js +32 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mui4Theme.js.map +1 -1
- package/dist/cjs/mui5Theme.js.map +1 -1
- package/dist/cjs/tableTheme.js +155 -154
- package/dist/cjs/tableTheme.js.map +1 -1
- package/dist/es/index.js +32 -16
- package/dist/es/index.js.map +1 -1
- package/dist/es/mui4Theme.js.map +1 -1
- package/dist/es/mui5Theme.js.map +1 -1
- package/dist/es/tableTheme.js +155 -154
- package/dist/es/tableTheme.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/theme/{defaultClasses.d.ts → defaultTheme/defaultClasses.d.ts} +0 -0
- package/dist/types/theme/{defaultColors.d.ts → defaultTheme/defaultColors.d.ts} +1 -1
- package/dist/types/theme/defaultTheme/defaultComponents.d.ts +2 -0
- package/dist/types/theme/{defaultIcons.d.ts → defaultTheme/defaultIcons.d.ts} +1 -1
- package/dist/types/theme/{defaultTexts.d.ts → defaultTheme/defaultTexts.d.ts} +1 -1
- package/dist/types/theme/defaultTheme/index.d.ts +1 -1
- package/dist/types/theme/mui4Theme/index.d.ts +2 -3
- package/dist/types/theme/mui5Theme/index.d.ts +2 -3
- package/dist/types/theme/tableTheme.d.ts +5 -6
- package/dist/types/types.d.ts +6 -1
- package/package.json +10 -13
- package/dist/types/misc/deepPartial.d.ts +0 -3
|
@@ -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 {
|
|
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 {
|
|
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;;;;;"}
|
package/dist/cjs/tableTheme.js
CHANGED
|
@@ -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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"}
|