schummar-table 0.16.5 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
1
2
  import { Button, IconButton, Checkbox, Badge, TextField, CircularProgress, useTheme } from "@material-ui/core";
2
3
  import { useMemo } from "react";
3
4
  import { P as Popover, m as mergeThemes, T as TableThemeContext } from "./tableTheme.js";
4
- import { jsx } from "@emotion/react/jsx-runtime";
5
5
  import "react-dom";
6
6
  import "@emotion/react";
7
7
  function _EMOTION_STRINGIFIED_CSS_ERROR__() {
@@ -18,36 +18,17 @@ var _ref = process.env.NODE_ENV === "production" ? {
18
18
  };
19
19
  const mui4Theme = {
20
20
  components: {
21
- Button: (props) => /* @__PURE__ */ jsx(Button, {
22
- ...props,
23
- size: "small",
24
- fullWidth: true,
25
- css: _ref,
26
- color: props.variant === "contained" ? "primary" : "inherit"
27
- }),
28
- IconButton: (props) => /* @__PURE__ */ jsx(IconButton, {
29
- ...props,
30
- size: "small",
31
- color: "inherit"
32
- }),
33
- Checkbox: (props) => /* @__PURE__ */ jsx(Checkbox, {
34
- ...props,
35
- color: "primary",
36
- size: "medium"
37
- }),
21
+ Button: (props) => /* @__PURE__ */ jsx(Button, { ...props, size: "small", fullWidth: true, css: _ref, color: props.variant === "contained" ? "primary" : "inherit" }),
22
+ IconButton: (props) => /* @__PURE__ */ jsx(IconButton, { ...props, size: "small", color: "inherit" }),
23
+ Checkbox: (props) => /* @__PURE__ */ jsx(Checkbox, { ...props, color: "primary", size: "medium" }),
38
24
  Popover,
39
25
  Badge,
40
26
  TextField: ({
41
27
  endIcon,
42
28
  ...props
43
- }) => /* @__PURE__ */ jsx(TextField, {
44
- ...props,
45
- InputProps: {
46
- endAdornment: endIcon
47
- },
48
- size: "small",
49
- variant: "outlined"
50
- }),
29
+ }) => /* @__PURE__ */ jsx(TextField, { ...props, InputProps: {
30
+ endAdornment: endIcon
31
+ }, size: "small", variant: "outlined" }),
51
32
  Spinner: CircularProgress
52
33
  }
53
34
  };
@@ -62,12 +43,9 @@ function Mui4TableThemeProvider({
62
43
  primary: muiTheme.palette.primary,
63
44
  secondary: muiTheme.palette.secondary
64
45
  }
65
- }, mui4Theme, theme != null ? theme : {});
46
+ }, mui4Theme, theme ?? {});
66
47
  }, [muiTheme, theme]);
67
- return /* @__PURE__ */ jsx(TableThemeContext.Provider, {
68
- value: _theme,
69
- children
70
- });
48
+ return /* @__PURE__ */ jsx(TableThemeContext.Provider, { value: _theme, children });
71
49
  }
72
50
  export {
73
51
  Mui4TableThemeProvider,
@@ -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 { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ 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","variant","IconButton","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","CircularProgress","Mui4TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;AAI+D,IAAA,OAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAExD,MAAMA,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAAC,oBAAC,QAAM;AAAA,MAAA,GACDD;AAAAA,MACJ,MAAK;AAAA,MACL,WAAS;AAAA,MACT,KAA4C;AAAA,MAC5C,OAAOA,MAAME,YAAY,cAAc,YAAY;AAAA,IAAA,CAEtD;AAAA,IACDC,YAAaH,CAAU,UAAAC,oBAAC,YAAU;AAAA,MAAA,GAAKD;AAAAA,MAAO,MAAK;AAAA,MAAQ,OAAM;AAAA,IAAA,CAAY;AAAA,IAC7EI,UAAWJ,CAAU,UAAAC,oBAAC,UAAQ;AAAA,MAAA,GAAKD;AAAAA,MAAO,OAAM;AAAA,MAAU,MAAK;AAAA,IAAA,CAAW;AAAA,IAC1EK;AAAAA,IACAC;AAAAA,IACAC,WAAW,CAAC;AAAA,MAAEC;AAAAA,SAAYR;AAAAA,IAAAA,0BAAa,WAAS;AAAA,MAAA,GAAKA;AAAAA,MAAO,YAAY;AAAA,QAAES,cAAcD;AAAAA,MAAQ;AAAA,MAAG,MAAK;AAAA,MAAQ,SAAQ;AAAA,IAAA,CAAa;AAAA,IACrIE,SAASC;AAAAA,EACX;AACF;AAEO,SAASC,uBAAuB;AAAA,EAAEC;AAAAA,EAAOC;AAA6D,GAAG;AAC9G,QAAMC,WAAWC;AAEXC,QAAAA,SAASC,QAAQ,MAAM;AAC3B,WAAOC,YACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA,MAC9B;AAAA,IAAA,GAEF1B,WACAgB,wBAAS,CAAA,CAAE;AAAA,EAAA,GAEZ,CAACE,UAAUF,KAAK,CAAC;AAEb,SAAAZ,oBAAC,kBAAkB,UAAQ;AAAA,IAAC,OAAOgB;AAAAA,IAAO;AAAA,EAAA,CAAwC;AAC3F;"}
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 } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ 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","variant","IconButton","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","CircularProgress","Mui4TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;AAI+D,IAAA,OAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAExD,MAAMA,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAA4C,MAC5C,OAAOA,MAAMC,YAAY,cAAc,YAAY,WAEtD;AAAA,IACDC,YAAaF,WAAW,oBAAA,YAAA,EAAeA,GAAAA,OAAO,MAAK,SAAQ,OAAM,UAAY,CAAA;AAAA,IAC7EG,UAAWH,WAAW,oBAAA,UAAA,EAAaA,GAAAA,OAAO,OAAM,WAAU,MAAK,SAAW,CAAA;AAAA,IAC1EI;AAAAA,IACAC;AAAAA,IACAC,WAAW,CAAC;AAAA,MAAEC;AAAAA,SAAYP;AAAAA,IAAY,MAAA,oBAAC,WAAU,EAAA,GAAIA,OAAO,YAAY;AAAA,MAAEQ,cAAcD;AAAAA,IAAW,GAAA,MAAK,SAAQ,SAAQ,WAAa,CAAA;AAAA,IACrIE,SAASC;AAAAA,EACX;AACF;AAEO,SAASC,uBAAuB;AAAA,EAAEC;AAAAA,EAAOC;AAA6D,GAAG;AAC9G,QAAMC,WAAWC;AAEXC,QAAAA,SAASC,QAAQ,MAAM;AAC3B,WAAOC,YACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA,MAC9B;AAAA,IAAA,GAEFzB,WACAe,SAAS,CAAA,CAAE;AAAA,EAAA,GAEZ,CAACE,UAAUF,KAAK,CAAC;AAEpB,6BAAQ,kBAAkB,UAAlB,EAA2B,OAAOI,QAASH,SAAS,CAAA;AAC9D;"}
@@ -1,7 +1,7 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
1
2
  import { Button, IconButton, Checkbox, Badge, TextField, CircularProgress, useTheme } from "@mui/material";
2
3
  import { useMemo } from "react";
3
4
  import { P as Popover, m as mergeThemes, T as TableThemeContext } from "./tableTheme.js";
4
- import { jsx } from "@emotion/react/jsx-runtime";
5
5
  import "react-dom";
6
6
  import "@emotion/react";
7
7
  function _EMOTION_STRINGIFIED_CSS_ERROR__() {
@@ -27,40 +27,18 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
27
27
  };
28
28
  const mui5Theme = {
29
29
  components: {
30
- Button: (props) => /* @__PURE__ */ jsx(Button, {
31
- ...props,
32
- size: "small",
33
- fullWidth: true,
34
- css: _ref,
35
- color: props.variant === "contained" ? "primary" : "inherit"
36
- }),
37
- IconButton: (props) => /* @__PURE__ */ jsx(IconButton, {
38
- ...props,
39
- size: "small",
40
- css: _ref2,
41
- color: "inherit"
42
- }),
43
- Checkbox: (props) => /* @__PURE__ */ jsx(Checkbox, {
44
- ...props,
45
- color: "primary",
46
- size: "small"
47
- }),
30
+ Button: (props) => /* @__PURE__ */ jsx(Button, { ...props, size: "small", fullWidth: true, css: _ref, color: props.variant === "contained" ? "primary" : "inherit" }),
31
+ IconButton: (props) => /* @__PURE__ */ jsx(IconButton, { ...props, size: "small", css: _ref2, color: "inherit" }),
32
+ Checkbox: (props) => /* @__PURE__ */ jsx(Checkbox, { ...props, color: "primary", size: "small" }),
48
33
  Popover,
49
34
  Badge,
50
35
  TextField: ({
51
36
  endIcon,
52
37
  ...props
53
- }) => /* @__PURE__ */ jsx(TextField, {
54
- ...props,
55
- InputProps: {
56
- endAdornment: endIcon
57
- },
58
- size: "small"
59
- }),
60
- Spinner: (props) => /* @__PURE__ */ jsx(CircularProgress, {
61
- ...props,
62
- size: 20
63
- })
38
+ }) => /* @__PURE__ */ jsx(TextField, { ...props, InputProps: {
39
+ endAdornment: endIcon
40
+ }, size: "small" }),
41
+ Spinner: (props) => /* @__PURE__ */ jsx(CircularProgress, { ...props, size: 20 })
64
42
  }
65
43
  };
66
44
  function Mui5TableThemeProvider({
@@ -74,12 +52,9 @@ function Mui5TableThemeProvider({
74
52
  primary: muiTheme.palette.primary,
75
53
  secondary: muiTheme.palette.secondary
76
54
  }
77
- }, mui5Theme, theme != null ? theme : {});
55
+ }, mui5Theme, theme ?? {});
78
56
  }, [muiTheme, theme]);
79
- return /* @__PURE__ */ jsx(TableThemeContext.Provider, {
80
- value: _theme,
81
- children
82
- });
57
+ return /* @__PURE__ */ jsx(TableThemeContext.Provider, { value: _theme, children });
83
58
  }
84
59
  export {
85
60
  Mui5TableThemeProvider,
@@ -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 { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <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","variant","IconButton","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","Mui5TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;AAI+D,IAAA,OAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAAA,IAAA,QAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAExD,MAAMA,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAAC,oBAAC,QAAM;AAAA,MAAA,GACDD;AAAAA,MACJ,MAAK;AAAA,MACL,WAAS;AAAA,MACT,KAA4C;AAAA,MAC5C,OAAOA,MAAME,YAAY,cAAc,YAAY;AAAA,IAAA,CAEtD;AAAA,IACDC,YAAaH,CAAU,UAAAC,oBAAC,YAAU;AAAA,MAAA,GAAKD;AAAAA,MAAO,MAAK;AAAA,MAAQ,KAA2B;AAAA,MAAC,OAAM;AAAA,IAAA,CAAY;AAAA,IACzGI,UAAWJ,CAAU,UAAAC,oBAAC,UAAQ;AAAA,MAAA,GAAKD;AAAAA,MAAO,OAAM;AAAA,MAAU,MAAK;AAAA,IAAA,CAAU;AAAA,IACzEK;AAAAA,IACAC;AAAAA,IACAC,WAAW,CAAC;AAAA,MAAEC;AAAAA,SAAYR;AAAAA,IAAAA,0BAAa,WAAS;AAAA,MAAA,GAAKA;AAAAA,MAAO,YAAY;AAAA,QAAES,cAAcD;AAAAA,MAAQ;AAAA,MAAG,MAAK;AAAA,IAAA,CAAU;AAAA,IAClHE,SAAUV,CAAU,UAAAC,oBAAC,kBAAgB;AAAA,MAAA,GAAKD;AAAAA,MAAO,MAAM;AAAA,IAAA,CAAG;AAAA,EAC5D;AACF;AAEO,SAASW,uBAAuB;AAAA,EAAEC;AAAAA,EAAOC;AAA6D,GAAG;AAC9G,QAAMC,WAAWC;AAEXC,QAAAA,SAASC,QAAQ,MAAM;AAC3B,WAAOC,YACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA,MAC9B;AAAA,IAAA,GAEFzB,WACAe,wBAAS,CAAA,CAAE;AAAA,EAAA,GAEZ,CAACE,UAAUF,KAAK,CAAC;AAEb,SAAAX,oBAAC,kBAAkB,UAAQ;AAAA,IAAC,OAAOe;AAAAA,IAAO;AAAA,EAAA,CAAwC;AAC3F;"}
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 } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes, TableThemeContext } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <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","variant","IconButton","Checkbox","Popover","Badge","TextField","endIcon","endAdornment","Spinner","Mui5TableThemeProvider","theme","children","muiTheme","useTheme","_theme","useMemo","mergeThemes","colors","primary","palette","secondary"],"mappings":";;;;;;;;;AAI+D,IAAA,OAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAAA,IAAA,QAAA,QAAA,IAAA,aAAA,eAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,IAAA;AAAA,EAAA,MAAA;AAAA,EAAA,QAAA;AAAA,EAAA,KAAA;AAAA,EAAA,UAAA;AAAA;AAExD,MAAMA,YAA+B;AAAA,EAC1CC,YAAY;AAAA,IACVC,QAASC,CACP,UAAA,oBAAC,QACC,EAAA,GAAIA,OACJ,MAAK,SACL,WAAS,MACT,KAA4C,MAC5C,OAAOA,MAAMC,YAAY,cAAc,YAAY,WAEtD;AAAA,IACDC,YAAaF,CAAU,UAAA,oBAAC,YAAW,EAAA,GAAIA,OAAO,MAAK,SAAQ,YAA4B,OAAM,UAAY,CAAA;AAAA,IACzGG,UAAWH,WAAW,oBAAA,UAAA,EAAaA,GAAAA,OAAO,OAAM,WAAU,MAAK,QAAU,CAAA;AAAA,IACzEI;AAAAA,IACAC;AAAAA,IACAC,WAAW,CAAC;AAAA,MAAEC;AAAAA,SAAYP;AAAAA,IAAY,MAAA,oBAAC,WAAU,EAAA,GAAIA,OAAO,YAAY;AAAA,MAAEQ,cAAcD;AAAAA,IAAAA,GAAW,MAAK,SAAU;AAAA,IAClHE,SAAUT,CAAU,UAAA,oBAAC,oBAAiB,GAAIA,OAAO,MAAM,IAAG;AAAA,EAC5D;AACF;AAEO,SAASU,uBAAuB;AAAA,EAAEC;AAAAA,EAAOC;AAA6D,GAAG;AAC9G,QAAMC,WAAWC;AAEXC,QAAAA,SAASC,QAAQ,MAAM;AAC3B,WAAOC,YACL;AAAA,MACEC,QAAQ;AAAA,QACNC,SAASN,SAASO,QAAQD;AAAAA,QAC1BE,WAAWR,SAASO,QAAQC;AAAAA,MAC9B;AAAA,IAAA,GAEFxB,WACAc,SAAS,CAAA,CAAE;AAAA,EAAA,GAEZ,CAACE,UAAUF,KAAK,CAAC;AAEpB,6BAAQ,kBAAkB,UAAlB,EAA2B,OAAOI,QAASH,SAAS,CAAA;AAC9D;"}
@@ -1,7 +1,7 @@
1
+ import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
1
2
  import { createContext, useRef, useState, useLayoutEffect, useContext, useMemo } from "react";
2
3
  import { createPortal } from "react-dom";
3
4
  import { css } from "@emotion/react";
4
- import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
5
5
  function _EMOTION_STRINGIFIED_CSS_ERROR__() {
6
6
  return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
7
7
  }
@@ -133,7 +133,7 @@ const Popover = ({
133
133
  }
134
134
  let last;
135
135
  function check() {
136
- var _a, _b;
136
+ var _a;
137
137
  if (!anchorEl)
138
138
  return;
139
139
  const {
@@ -144,7 +144,7 @@ const Popover = ({
144
144
  const {
145
145
  width: popperWidth = 0,
146
146
  height: popperHeight = 0
147
- } = (_b = (_a = popper.current) == null ? void 0 : _a.getBoundingClientRect()) != null ? _b : {};
147
+ } = ((_a = popper.current) == null ? void 0 : _a.getBoundingClientRect()) ?? {};
148
148
  const viewportWidth = document.documentElement.clientWidth;
149
149
  const viewportHeight = document.documentElement.clientHeight;
150
150
  const next = {
@@ -184,40 +184,30 @@ const Popover = ({
184
184
  }), [depth, visible]);
185
185
  if (!open)
186
186
  return null;
187
- return /* @__PURE__ */ jsx(PopoverContext.Provider, {
188
- value: context,
189
- children: createPortal(/* @__PURE__ */ jsxs(Fragment, {
190
- children: [/* @__PURE__ */ jsx("div", {
191
- css: [{
192
- position: "fixed",
193
- left: 0,
194
- right: 0,
195
- top: 0,
196
- bottom: 0,
197
- zIndex: 1e3 + depth * 2
198
- }, hidden && {
199
- display: "none"
200
- }, process.env.NODE_ENV === "production" ? "" : ";label:Popover;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkVZIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFRhYmxlVGhlbWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBkZWZhdWx0Q2xhc3NlcyB9IGZyb20gJy4vZGVmYXVsdENsYXNzZXMnO1xuXG5jb25zdCBNQVJHSU4gPSAxMDtcbmNvbnN0IE1BWF9PRkZTRVQgPSAyMDtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7IGRlcHRoOiAwLCB2aXNpYmxlOiBmYWxzZSB9KTtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXI6IFRhYmxlVGhlbWVbJ2NvbXBvbmVudHMnXVsnUG9wb3ZlciddID0gKHsgYW5jaG9yRWwsIG9wZW4sIGhpZGRlbiwgb25DbG9zZSwgY2hpbGRyZW4sIGNsYXNzTmFtZSwgYWxpZ24gfSkgPT4ge1xuICBjb25zdCBwb3BwZXIgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlPHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9PigpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhbmNob3JFbCB8fCAhb3Blbikge1xuICAgICAgc2V0UG9zaXRpb24odW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbGFzdDogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0gfCB1bmRlZmluZWQ7XG5cbiAgICBmdW5jdGlvbiBjaGVjaygpIHtcbiAgICAgIGlmICghYW5jaG9yRWwpIHJldHVybjtcbiAgICAgIGNvbnN0IHsgbGVmdDogYW5jaG9yTGVmdCwgYm90dG9tOiBhbmNob3JCb3R0b20sIHdpZHRoOiBhbmNob3JXaWR0aCB9ID0gYW5jaG9yRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB7IHdpZHRoOiBwb3BwZXJXaWR0aCA9IDAsIGhlaWdodDogcG9wcGVySGVpZ2h0ID0gMCB9ID0gcG9wcGVyLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpID8/IHt9O1xuICAgICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgICAgY29uc3QgbmV4dCA9IHtcbiAgICAgICAgbGVmdDpcbiAgICAgICAgICBhbGlnbiA9PT0gJ2NlbnRlcidcbiAgICAgICAgICAgID8gYW5jaG9yTGVmdCArIGFuY2hvcldpZHRoIC8gMiAtIHBvcHBlcldpZHRoIC8gMlxuICAgICAgICAgICAgOiBhbmNob3JMZWZ0IC0gTWF0aC5taW4ocG9wcGVyV2lkdGggPyBwb3BwZXJXaWR0aCAvIDIgOiBJbmZpbml0eSwgTUFYX09GRlNFVCksXG4gICAgICAgIHRvcDogYW5jaG9yQm90dG9tLFxuICAgICAgfTtcblxuICAgICAgaWYgKG5leHQubGVmdCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LmxlZnQgPSBNQVJHSU47XG4gICAgICB9XG4gICAgICBpZiAobmV4dC5sZWZ0ICsgcG9wcGVyV2lkdGggPiB2aWV3cG9ydFdpZHRoIC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQubGVmdCA9IHZpZXdwb3J0V2lkdGggLSBNQVJHSU4gLSBwb3BwZXJXaWR0aDtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LnRvcCA9IE1BUkdJTjtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCArIHBvcHBlckhlaWdodCA+IHZpZXdwb3J0SGVpZ2h0IC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQudG9wID0gdmlld3BvcnRIZWlnaHQgLSBNQVJHSU4gLSBwb3BwZXJIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0LmxlZnQgIT09IGxhc3Q/LmxlZnQgfHwgbmV4dC50b3AgIT09IGxhc3Q/LnRvcCkge1xuICAgICAgICBzZXRQb3NpdGlvbihuZXh0KTtcbiAgICAgIH1cblxuICAgICAgbGFzdCA9IG5leHQ7XG4gICAgfVxuICAgIGNoZWNrKCk7XG5cbiAgICBjb25zdCBoYW5kbGUgPSBzZXRJbnRlcnZhbChjaGVjaywgMTYpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7XG4gICAgfTtcbiAgfSwgW2FuY2hvckVsLCBvcGVuXSk7XG5cbiAgY29uc3QgeyBkZXB0aCB9ID0gdXNlQ29udGV4dChQb3BvdmVyQ29udGV4dCk7XG4gIGNvbnN0IHZpc2libGUgPSAhaGlkZGVuICYmICEhcG9zaXRpb247XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VNZW1vKCgpID0+ICh7IGRlcHRoOiBkZXB0aCArIDEsIHZpc2libGUgfSksIFtkZXB0aCwgdmlzaWJsZV0pO1xuXG4gIGlmICghb3BlbikgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9wb3ZlckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHR9PlxuICAgICAge2NyZWF0ZVBvcnRhbChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDAgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2xvc2UoKX1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXtwb3BwZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICBkZWZhdWx0Q2xhc3Nlcy5jYXJkLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIDIgKiBNQVJHSU4sXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gMiAqIE1BUkdJTixcbiAgICAgICAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDEgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgICAhcG9zaXRpb24gJiYgeyB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPixcbiAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICl9XG4gICAgPC9Qb3BvdmVyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0= */"],
201
- onClick: () => onClose()
202
- }), /* @__PURE__ */ jsx("div", {
203
- ref: popper,
204
- className,
205
- css: [defaultClasses.card, {
206
- position: "fixed",
207
- maxWidth: document.documentElement.clientWidth - 2 * MARGIN,
208
- maxHeight: document.documentElement.clientHeight - 2 * MARGIN,
209
- ...position,
210
- zIndex: 1001 + depth * 2,
211
- overflowY: "auto"
212
- }, hidden && {
213
- display: "none"
214
- }, !position && {
215
- visibility: "hidden"
216
- }, process.env.NODE_ENV === "production" ? "" : ";label:Popover;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEZZIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFRhYmxlVGhlbWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBkZWZhdWx0Q2xhc3NlcyB9IGZyb20gJy4vZGVmYXVsdENsYXNzZXMnO1xuXG5jb25zdCBNQVJHSU4gPSAxMDtcbmNvbnN0IE1BWF9PRkZTRVQgPSAyMDtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7IGRlcHRoOiAwLCB2aXNpYmxlOiBmYWxzZSB9KTtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXI6IFRhYmxlVGhlbWVbJ2NvbXBvbmVudHMnXVsnUG9wb3ZlciddID0gKHsgYW5jaG9yRWwsIG9wZW4sIGhpZGRlbiwgb25DbG9zZSwgY2hpbGRyZW4sIGNsYXNzTmFtZSwgYWxpZ24gfSkgPT4ge1xuICBjb25zdCBwb3BwZXIgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlPHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9PigpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhbmNob3JFbCB8fCAhb3Blbikge1xuICAgICAgc2V0UG9zaXRpb24odW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbGFzdDogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0gfCB1bmRlZmluZWQ7XG5cbiAgICBmdW5jdGlvbiBjaGVjaygpIHtcbiAgICAgIGlmICghYW5jaG9yRWwpIHJldHVybjtcbiAgICAgIGNvbnN0IHsgbGVmdDogYW5jaG9yTGVmdCwgYm90dG9tOiBhbmNob3JCb3R0b20sIHdpZHRoOiBhbmNob3JXaWR0aCB9ID0gYW5jaG9yRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB7IHdpZHRoOiBwb3BwZXJXaWR0aCA9IDAsIGhlaWdodDogcG9wcGVySGVpZ2h0ID0gMCB9ID0gcG9wcGVyLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpID8/IHt9O1xuICAgICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgICAgY29uc3QgbmV4dCA9IHtcbiAgICAgICAgbGVmdDpcbiAgICAgICAgICBhbGlnbiA9PT0gJ2NlbnRlcidcbiAgICAgICAgICAgID8gYW5jaG9yTGVmdCArIGFuY2hvcldpZHRoIC8gMiAtIHBvcHBlcldpZHRoIC8gMlxuICAgICAgICAgICAgOiBhbmNob3JMZWZ0IC0gTWF0aC5taW4ocG9wcGVyV2lkdGggPyBwb3BwZXJXaWR0aCAvIDIgOiBJbmZpbml0eSwgTUFYX09GRlNFVCksXG4gICAgICAgIHRvcDogYW5jaG9yQm90dG9tLFxuICAgICAgfTtcblxuICAgICAgaWYgKG5leHQubGVmdCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LmxlZnQgPSBNQVJHSU47XG4gICAgICB9XG4gICAgICBpZiAobmV4dC5sZWZ0ICsgcG9wcGVyV2lkdGggPiB2aWV3cG9ydFdpZHRoIC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQubGVmdCA9IHZpZXdwb3J0V2lkdGggLSBNQVJHSU4gLSBwb3BwZXJXaWR0aDtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LnRvcCA9IE1BUkdJTjtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCArIHBvcHBlckhlaWdodCA+IHZpZXdwb3J0SGVpZ2h0IC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQudG9wID0gdmlld3BvcnRIZWlnaHQgLSBNQVJHSU4gLSBwb3BwZXJIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0LmxlZnQgIT09IGxhc3Q/LmxlZnQgfHwgbmV4dC50b3AgIT09IGxhc3Q/LnRvcCkge1xuICAgICAgICBzZXRQb3NpdGlvbihuZXh0KTtcbiAgICAgIH1cblxuICAgICAgbGFzdCA9IG5leHQ7XG4gICAgfVxuICAgIGNoZWNrKCk7XG5cbiAgICBjb25zdCBoYW5kbGUgPSBzZXRJbnRlcnZhbChjaGVjaywgMTYpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7XG4gICAgfTtcbiAgfSwgW2FuY2hvckVsLCBvcGVuXSk7XG5cbiAgY29uc3QgeyBkZXB0aCB9ID0gdXNlQ29udGV4dChQb3BvdmVyQ29udGV4dCk7XG4gIGNvbnN0IHZpc2libGUgPSAhaGlkZGVuICYmICEhcG9zaXRpb247XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VNZW1vKCgpID0+ICh7IGRlcHRoOiBkZXB0aCArIDEsIHZpc2libGUgfSksIFtkZXB0aCwgdmlzaWJsZV0pO1xuXG4gIGlmICghb3BlbikgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9wb3ZlckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHR9PlxuICAgICAge2NyZWF0ZVBvcnRhbChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDAgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2xvc2UoKX1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXtwb3BwZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICBkZWZhdWx0Q2xhc3Nlcy5jYXJkLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIDIgKiBNQVJHSU4sXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gMiAqIE1BUkdJTixcbiAgICAgICAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDEgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgICAhcG9zaXRpb24gJiYgeyB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPixcbiAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICl9XG4gICAgPC9Qb3BvdmVyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0= */"],
217
- children
218
- })]
219
- }), document.body)
220
- });
187
+ return /* @__PURE__ */ jsx(PopoverContext.Provider, { value: context, children: createPortal(/* @__PURE__ */ jsxs(Fragment, { children: [
188
+ /* @__PURE__ */ jsx("div", { css: [{
189
+ position: "fixed",
190
+ left: 0,
191
+ right: 0,
192
+ top: 0,
193
+ bottom: 0,
194
+ zIndex: 1e3 + depth * 2
195
+ }, hidden && {
196
+ display: "none"
197
+ }, process.env.NODE_ENV === "production" ? "" : ";label:Popover;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkVZIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFRhYmxlVGhlbWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBkZWZhdWx0Q2xhc3NlcyB9IGZyb20gJy4vZGVmYXVsdENsYXNzZXMnO1xuXG5jb25zdCBNQVJHSU4gPSAxMDtcbmNvbnN0IE1BWF9PRkZTRVQgPSAyMDtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7IGRlcHRoOiAwLCB2aXNpYmxlOiBmYWxzZSB9KTtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXI6IFRhYmxlVGhlbWVbJ2NvbXBvbmVudHMnXVsnUG9wb3ZlciddID0gKHsgYW5jaG9yRWwsIG9wZW4sIGhpZGRlbiwgb25DbG9zZSwgY2hpbGRyZW4sIGNsYXNzTmFtZSwgYWxpZ24gfSkgPT4ge1xuICBjb25zdCBwb3BwZXIgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlPHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9PigpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhbmNob3JFbCB8fCAhb3Blbikge1xuICAgICAgc2V0UG9zaXRpb24odW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbGFzdDogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0gfCB1bmRlZmluZWQ7XG5cbiAgICBmdW5jdGlvbiBjaGVjaygpIHtcbiAgICAgIGlmICghYW5jaG9yRWwpIHJldHVybjtcbiAgICAgIGNvbnN0IHsgbGVmdDogYW5jaG9yTGVmdCwgYm90dG9tOiBhbmNob3JCb3R0b20sIHdpZHRoOiBhbmNob3JXaWR0aCB9ID0gYW5jaG9yRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB7IHdpZHRoOiBwb3BwZXJXaWR0aCA9IDAsIGhlaWdodDogcG9wcGVySGVpZ2h0ID0gMCB9ID0gcG9wcGVyLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpID8/IHt9O1xuICAgICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgICAgY29uc3QgbmV4dCA9IHtcbiAgICAgICAgbGVmdDpcbiAgICAgICAgICBhbGlnbiA9PT0gJ2NlbnRlcidcbiAgICAgICAgICAgID8gYW5jaG9yTGVmdCArIGFuY2hvcldpZHRoIC8gMiAtIHBvcHBlcldpZHRoIC8gMlxuICAgICAgICAgICAgOiBhbmNob3JMZWZ0IC0gTWF0aC5taW4ocG9wcGVyV2lkdGggPyBwb3BwZXJXaWR0aCAvIDIgOiBJbmZpbml0eSwgTUFYX09GRlNFVCksXG4gICAgICAgIHRvcDogYW5jaG9yQm90dG9tLFxuICAgICAgfTtcblxuICAgICAgaWYgKG5leHQubGVmdCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LmxlZnQgPSBNQVJHSU47XG4gICAgICB9XG4gICAgICBpZiAobmV4dC5sZWZ0ICsgcG9wcGVyV2lkdGggPiB2aWV3cG9ydFdpZHRoIC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQubGVmdCA9IHZpZXdwb3J0V2lkdGggLSBNQVJHSU4gLSBwb3BwZXJXaWR0aDtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LnRvcCA9IE1BUkdJTjtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCArIHBvcHBlckhlaWdodCA+IHZpZXdwb3J0SGVpZ2h0IC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQudG9wID0gdmlld3BvcnRIZWlnaHQgLSBNQVJHSU4gLSBwb3BwZXJIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0LmxlZnQgIT09IGxhc3Q/LmxlZnQgfHwgbmV4dC50b3AgIT09IGxhc3Q/LnRvcCkge1xuICAgICAgICBzZXRQb3NpdGlvbihuZXh0KTtcbiAgICAgIH1cblxuICAgICAgbGFzdCA9IG5leHQ7XG4gICAgfVxuICAgIGNoZWNrKCk7XG5cbiAgICBjb25zdCBoYW5kbGUgPSBzZXRJbnRlcnZhbChjaGVjaywgMTYpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7XG4gICAgfTtcbiAgfSwgW2FuY2hvckVsLCBvcGVuXSk7XG5cbiAgY29uc3QgeyBkZXB0aCB9ID0gdXNlQ29udGV4dChQb3BvdmVyQ29udGV4dCk7XG4gIGNvbnN0IHZpc2libGUgPSAhaGlkZGVuICYmICEhcG9zaXRpb247XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VNZW1vKCgpID0+ICh7IGRlcHRoOiBkZXB0aCArIDEsIHZpc2libGUgfSksIFtkZXB0aCwgdmlzaWJsZV0pO1xuXG4gIGlmICghb3BlbikgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9wb3ZlckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHR9PlxuICAgICAge2NyZWF0ZVBvcnRhbChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDAgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2xvc2UoKX1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXtwb3BwZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICBkZWZhdWx0Q2xhc3Nlcy5jYXJkLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIDIgKiBNQVJHSU4sXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gMiAqIE1BUkdJTixcbiAgICAgICAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDEgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgICAhcG9zaXRpb24gJiYgeyB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPixcbiAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICl9XG4gICAgPC9Qb3BvdmVyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0= */"], onClick: () => onClose() }),
198
+ /* @__PURE__ */ jsx("div", { ref: popper, className, css: [defaultClasses.card, {
199
+ position: "fixed",
200
+ maxWidth: document.documentElement.clientWidth - 2 * MARGIN,
201
+ maxHeight: document.documentElement.clientHeight - 2 * MARGIN,
202
+ ...position,
203
+ zIndex: 1001 + depth * 2,
204
+ overflowY: "auto"
205
+ }, hidden && {
206
+ display: "none"
207
+ }, !position && {
208
+ visibility: "hidden"
209
+ }, process.env.NODE_ENV === "production" ? "" : ";label:Popover;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEZZIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy90aGVtZS9kZWZhdWx0VGhlbWUvcG9wb3Zlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFRhYmxlVGhlbWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBkZWZhdWx0Q2xhc3NlcyB9IGZyb20gJy4vZGVmYXVsdENsYXNzZXMnO1xuXG5jb25zdCBNQVJHSU4gPSAxMDtcbmNvbnN0IE1BWF9PRkZTRVQgPSAyMDtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7IGRlcHRoOiAwLCB2aXNpYmxlOiBmYWxzZSB9KTtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXI6IFRhYmxlVGhlbWVbJ2NvbXBvbmVudHMnXVsnUG9wb3ZlciddID0gKHsgYW5jaG9yRWwsIG9wZW4sIGhpZGRlbiwgb25DbG9zZSwgY2hpbGRyZW4sIGNsYXNzTmFtZSwgYWxpZ24gfSkgPT4ge1xuICBjb25zdCBwb3BwZXIgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlPHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9PigpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhbmNob3JFbCB8fCAhb3Blbikge1xuICAgICAgc2V0UG9zaXRpb24odW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbGFzdDogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0gfCB1bmRlZmluZWQ7XG5cbiAgICBmdW5jdGlvbiBjaGVjaygpIHtcbiAgICAgIGlmICghYW5jaG9yRWwpIHJldHVybjtcbiAgICAgIGNvbnN0IHsgbGVmdDogYW5jaG9yTGVmdCwgYm90dG9tOiBhbmNob3JCb3R0b20sIHdpZHRoOiBhbmNob3JXaWR0aCB9ID0gYW5jaG9yRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB7IHdpZHRoOiBwb3BwZXJXaWR0aCA9IDAsIGhlaWdodDogcG9wcGVySGVpZ2h0ID0gMCB9ID0gcG9wcGVyLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpID8/IHt9O1xuICAgICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgICAgY29uc3QgbmV4dCA9IHtcbiAgICAgICAgbGVmdDpcbiAgICAgICAgICBhbGlnbiA9PT0gJ2NlbnRlcidcbiAgICAgICAgICAgID8gYW5jaG9yTGVmdCArIGFuY2hvcldpZHRoIC8gMiAtIHBvcHBlcldpZHRoIC8gMlxuICAgICAgICAgICAgOiBhbmNob3JMZWZ0IC0gTWF0aC5taW4ocG9wcGVyV2lkdGggPyBwb3BwZXJXaWR0aCAvIDIgOiBJbmZpbml0eSwgTUFYX09GRlNFVCksXG4gICAgICAgIHRvcDogYW5jaG9yQm90dG9tLFxuICAgICAgfTtcblxuICAgICAgaWYgKG5leHQubGVmdCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LmxlZnQgPSBNQVJHSU47XG4gICAgICB9XG4gICAgICBpZiAobmV4dC5sZWZ0ICsgcG9wcGVyV2lkdGggPiB2aWV3cG9ydFdpZHRoIC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQubGVmdCA9IHZpZXdwb3J0V2lkdGggLSBNQVJHSU4gLSBwb3BwZXJXaWR0aDtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCA8IE1BUkdJTikge1xuICAgICAgICBuZXh0LnRvcCA9IE1BUkdJTjtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0LnRvcCArIHBvcHBlckhlaWdodCA+IHZpZXdwb3J0SGVpZ2h0IC0gTUFSR0lOKSB7XG4gICAgICAgIG5leHQudG9wID0gdmlld3BvcnRIZWlnaHQgLSBNQVJHSU4gLSBwb3BwZXJIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0LmxlZnQgIT09IGxhc3Q/LmxlZnQgfHwgbmV4dC50b3AgIT09IGxhc3Q/LnRvcCkge1xuICAgICAgICBzZXRQb3NpdGlvbihuZXh0KTtcbiAgICAgIH1cblxuICAgICAgbGFzdCA9IG5leHQ7XG4gICAgfVxuICAgIGNoZWNrKCk7XG5cbiAgICBjb25zdCBoYW5kbGUgPSBzZXRJbnRlcnZhbChjaGVjaywgMTYpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7XG4gICAgfTtcbiAgfSwgW2FuY2hvckVsLCBvcGVuXSk7XG5cbiAgY29uc3QgeyBkZXB0aCB9ID0gdXNlQ29udGV4dChQb3BvdmVyQ29udGV4dCk7XG4gIGNvbnN0IHZpc2libGUgPSAhaGlkZGVuICYmICEhcG9zaXRpb247XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VNZW1vKCgpID0+ICh7IGRlcHRoOiBkZXB0aCArIDEsIHZpc2libGUgfSksIFtkZXB0aCwgdmlzaWJsZV0pO1xuXG4gIGlmICghb3BlbikgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9wb3ZlckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHR9PlxuICAgICAge2NyZWF0ZVBvcnRhbChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDAgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2xvc2UoKX1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXtwb3BwZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICBkZWZhdWx0Q2xhc3Nlcy5jYXJkLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIDIgKiBNQVJHSU4sXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gMiAqIE1BUkdJTixcbiAgICAgICAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDEgKyBkZXB0aCAqIDIsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGhpZGRlbiAmJiB7IGRpc3BsYXk6ICdub25lJyB9LFxuICAgICAgICAgICAgICAhcG9zaXRpb24gJiYgeyB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9LFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPixcbiAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICl9XG4gICAgPC9Qb3BvdmVyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0= */"], children })
210
+ ] }), document.body) });
221
211
  };
222
212
  let globalTableTheme = {};
223
213
  function configureTableTheme(tableTheme) {
@@ -228,10 +218,7 @@ function TableThemeProvider({
228
218
  theme,
229
219
  children
230
220
  }) {
231
- return /* @__PURE__ */ jsx(TableThemeContext.Provider, {
232
- value: theme,
233
- children
234
- });
221
+ return /* @__PURE__ */ jsx(TableThemeContext.Provider, { value: theme, children });
235
222
  }
236
223
  function mergeThemes(...themes) {
237
224
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"tableTheme.js","sources":["../../src/theme/defaultTheme/defaultClasses.ts","../../src/theme/defaultTheme/popover.tsx","../../src/theme/tableTheme.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nexport const white = '#ffffff';\nexport const lightGray = '#eeeeee';\nexport const gray = '#bdbdbd';\nexport const darkGray = '#777';\n\nconst cell = css({\n padding: `calc(var(--spacing) * 0.1) calc(2 * var(--spacing))`,\n display: 'flex',\n alignItems: 'center',\n borderBottom: `1px solid #dfe2e9`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n background: 'white',\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: `1px solid ${lightGray}`,\n }),\n\n headerCell: css(cell, {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n borderBottom: `1px solid #c9cfda`,\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: `1px solid #c9cfda`,\n borderBottom: 'none',\n }),\n\n firstCell: css({\n justifyContent: 'start',\n }),\n\n sticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 2,\n }),\n\n stickyBottom: css({\n position: 'sticky',\n bottom: 0,\n zIndex: 2,\n }),\n\n headerFill: css({\n borderBottom: `1px solid #c9cfda`,\n background: white,\n }),\n\n footerFill: css({\n borderTop: `1px solid #c9cfda`,\n background: white,\n }),\n\n text: css({\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n\n card: css({\n borderRadius: 4,\n boxShadow: '0px 3px 14px 2px rgb(0 0 0 / 12%)',\n background: 'white',\n }),\n\n clearFiltersButton: css({\n padding: `0 calc(2 * var(--spacing))`,\n fontWeight: 'bold',\n position: 'sticky',\n left: 0,\n maxWidth: 'fit-content',\n gridColumn: '2/-1',\n button: {\n color: 'var(--primaryMain) !important',\n border: 'solid 1px',\n borderColor: 'var(--primaryMain) !important',\n margin: 'var(--spacing)',\n },\n }),\n};\n","import 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 < MARGIN) {\n next.left = MARGIN;\n }\n if (next.left + popperWidth > viewportWidth - MARGIN) {\n next.left = viewportWidth - MARGIN - popperWidth;\n }\n if (next.top < MARGIN) {\n next.top = MARGIN;\n }\n if (next.top + popperHeight > viewportHeight - MARGIN) {\n next.top = viewportHeight - MARGIN - popperHeight;\n }\n\n if (next.left !== last?.left || next.top !== last?.top) {\n setPosition(next);\n }\n\n last = next;\n }\n check();\n\n const handle = setInterval(check, 16);\n return () => {\n clearInterval(handle);\n };\n }, [anchorEl, open]);\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 - 2 * MARGIN,\n maxHeight: document.documentElement.clientHeight - 2 * MARGIN,\n ...position,\n zIndex: 1001 + depth * 2,\n overflowY: 'auto',\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 { createContext, ReactNode } from 'react';\nimport { PartialTableTheme } from '../types';\n\nexport let 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"],"names":["white","lightGray","gray","darkGray","cell","padding","display","alignItems","borderBottom","whiteSpace","overflow","background","defaultClasses","table","cellFill","headerCell","footerCell","borderTop","firstCell","sticky","stickyBottom","headerFill","footerFill","text","card","clearFiltersButton","fontWeight","position","left","maxWidth","gridColumn","button","color","border","borderColor","margin","MARGIN","MAX_OFFSET","PopoverContext","createContext","depth","visible","Popover","anchorEl","open","hidden","onClose","children","className","align","popper","useRef","setPosition","useState","useLayoutEffect","undefined","last","check","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","height","popperHeight","current","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","next","Math","min","Infinity","top","handle","setInterval","clearInterval","useContext","context","useMemo","_jsx","createPortal","_jsxs","_Fragment","right","zIndex","maxHeight","overflowY","visibility","body","globalTableTheme","configureTableTheme","tableTheme","TableThemeContext","TableThemeProvider","theme","mergeThemes","themes","Object","assign","map","classes","components","icons","colors","primary","secondary","spacing","reverse","find","x"],"mappings":"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"}
1
+ {"version":3,"file":"tableTheme.js","sources":["../../src/theme/defaultTheme/defaultClasses.ts","../../src/theme/defaultTheme/popover.tsx","../../src/theme/tableTheme.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nexport const white = '#ffffff';\nexport const lightGray = '#eeeeee';\nexport const gray = '#bdbdbd';\nexport const darkGray = '#777';\n\nconst cell = css({\n padding: `calc(var(--spacing) * 0.1) calc(2 * var(--spacing))`,\n display: 'flex',\n alignItems: 'center',\n borderBottom: `1px solid #dfe2e9`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n background: 'white',\n});\n\nexport const defaultClasses = {\n table: css({\n position: 'relative',\n display: 'grid',\n }),\n\n cell,\n\n cellFill: css({\n borderBottom: `1px solid ${lightGray}`,\n }),\n\n headerCell: css(cell, {\n padding: `var(--spacing) 0 var(--spacing) calc(2 * var(--spacing))`,\n borderBottom: `1px solid #c9cfda`,\n }),\n\n footerCell: css(cell, {\n padding: `var(--spacing) calc(2 * var(--spacing))`,\n borderTop: `1px solid #c9cfda`,\n borderBottom: 'none',\n }),\n\n firstCell: css({\n justifyContent: 'start',\n }),\n\n sticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 2,\n }),\n\n stickyBottom: css({\n position: 'sticky',\n bottom: 0,\n zIndex: 2,\n }),\n\n headerFill: css({\n borderBottom: `1px solid #c9cfda`,\n background: white,\n }),\n\n footerFill: css({\n borderTop: `1px solid #c9cfda`,\n background: white,\n }),\n\n text: css({\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n\n card: css({\n borderRadius: 4,\n boxShadow: '0px 3px 14px 2px rgb(0 0 0 / 12%)',\n background: 'white',\n }),\n\n clearFiltersButton: css({\n padding: `0 calc(2 * var(--spacing))`,\n fontWeight: 'bold',\n position: 'sticky',\n left: 0,\n maxWidth: 'fit-content',\n gridColumn: '2/-1',\n button: {\n color: 'var(--primaryMain) !important',\n border: 'solid 1px',\n borderColor: 'var(--primaryMain) !important',\n margin: 'var(--spacing)',\n },\n }),\n};\n","import 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 < MARGIN) {\n next.left = MARGIN;\n }\n if (next.left + popperWidth > viewportWidth - MARGIN) {\n next.left = viewportWidth - MARGIN - popperWidth;\n }\n if (next.top < MARGIN) {\n next.top = MARGIN;\n }\n if (next.top + popperHeight > viewportHeight - MARGIN) {\n next.top = viewportHeight - MARGIN - popperHeight;\n }\n\n if (next.left !== last?.left || next.top !== last?.top) {\n setPosition(next);\n }\n\n last = next;\n }\n check();\n\n const handle = setInterval(check, 16);\n return () => {\n clearInterval(handle);\n };\n }, [anchorEl, open]);\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 - 2 * MARGIN,\n maxHeight: document.documentElement.clientHeight - 2 * MARGIN,\n ...position,\n zIndex: 1001 + depth * 2,\n overflowY: 'auto',\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 { createContext, ReactNode } from 'react';\nimport { PartialTableTheme } from '../types';\n\nexport let 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"],"names":["white","lightGray","gray","darkGray","cell","padding","display","alignItems","borderBottom","whiteSpace","overflow","background","defaultClasses","table","cellFill","headerCell","footerCell","borderTop","firstCell","sticky","stickyBottom","headerFill","footerFill","text","card","clearFiltersButton","fontWeight","position","left","maxWidth","gridColumn","button","color","border","borderColor","margin","MARGIN","MAX_OFFSET","PopoverContext","createContext","depth","visible","Popover","anchorEl","open","hidden","onClose","children","className","align","popper","useRef","setPosition","useState","useLayoutEffect","undefined","last","check","anchorLeft","bottom","anchorBottom","width","anchorWidth","getBoundingClientRect","popperWidth","height","popperHeight","current","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","next","Math","min","Infinity","top","handle","setInterval","clearInterval","useContext","context","useMemo","createPortal","right","zIndex","maxHeight","overflowY","visibility","body","globalTableTheme","configureTableTheme","tableTheme","TableThemeContext","TableThemeProvider","theme","mergeThemes","themes","Object","assign","map","classes","components","icons","colors","primary","secondary","spacing","reverse","find","x"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ComponentType } from 'react';
2
2
  import { TableTheme } from '../types';
3
- declare type Props = TableTheme['components']['TextField'] extends ComponentType<infer T> ? T : never;
3
+ type Props = TableTheme['components']['TextField'] extends ComponentType<infer T> ? T : never;
4
4
  export declare function AutoFocusTextField(props: Omit<Props, 'inputRef'>): import("@emotion/react/jsx-runtime").JSX.Element;
5
5
  export {};
@@ -1,13 +1,13 @@
1
1
  import { ReactNode } from 'react';
2
- export declare type DateRange = {
2
+ export type DateRange = {
3
3
  min: Date;
4
4
  max: Date;
5
5
  };
6
- export declare type DatePickerQuickOption = {
6
+ export type DatePickerQuickOption = 'today' | 'thisWeek' | 'thisMonth' | 'thisYear' | 'lastSevenDays' | 'lastThirtyDays' | {
7
7
  label: ReactNode;
8
8
  value: Date | DateRange | (() => Date | DateRange);
9
- };
10
- export declare type DatePickerProps = {
9
+ } | ((onChange: (value: Date | DateRange | null) => void) => ReactNode);
10
+ export type DatePickerProps = {
11
11
  /** Currently selected day or range of days. */
12
12
  value: Date | DateRange | null;
13
13
  /** Callback for when the day (range) changes. */
@@ -23,14 +23,45 @@ export declare type DatePickerProps = {
23
23
  /** Which month to show initially */
24
24
  defaultDateInView?: Date;
25
25
  /** Show buttons to quickly select suggested dates or date ranges */
26
- quickOptions?: DatePickerQuickOption[] | ((onChange: (value: Date | DateRange | null) => void) => ReactNode);
26
+ quickOptions?: DatePickerQuickOption[];
27
27
  };
28
28
  /** Rounds a date down to the start of the day. */
29
29
  export declare const startOfDay: (d: Date) => Date;
30
30
  /** Rounds a date up to the end of the day. */
31
31
  export declare const endOfDay: (d: Date) => Date;
32
+ export declare const lastDays: (days: number) => DateRange;
32
33
  export declare const today: () => DateRange;
34
+ export declare const lastSevenDays: () => DateRange;
35
+ export declare const lastThirtyDays: () => DateRange;
33
36
  export declare const thisWeek: (firstDayOfWeek?: number) => DateRange;
37
+ export declare const thisMonth: () => DateRange;
38
+ export declare const thisYear: () => DateRange;
39
+ export declare const commonQuickOptions: {
40
+ today: {
41
+ label: import("@emotion/react/jsx-runtime").JSX.Element;
42
+ value: () => DateRange;
43
+ };
44
+ thisWeek: {
45
+ label: import("@emotion/react/jsx-runtime").JSX.Element;
46
+ value: (firstDayOfWeek?: number) => DateRange;
47
+ };
48
+ thisMonth: {
49
+ label: import("@emotion/react/jsx-runtime").JSX.Element;
50
+ value: () => DateRange;
51
+ };
52
+ thisYear: {
53
+ label: import("@emotion/react/jsx-runtime").JSX.Element;
54
+ value: () => DateRange;
55
+ };
56
+ lastSevenDays: {
57
+ label: import("@emotion/react/jsx-runtime").JSX.Element;
58
+ value: () => DateRange;
59
+ };
60
+ lastThirtyDays: {
61
+ label: import("@emotion/react/jsx-runtime").JSX.Element;
62
+ value: () => DateRange;
63
+ };
64
+ };
34
65
  /** Returns whether two dates and/or date ranges intersect. Intersection is considered per day. */
35
66
  export declare function dateIntersect(a: Date | null | DateRange, b: Date | null | DateRange): boolean;
36
67
  export declare function DatePicker({ value, onChange, rangeSelect, locale, firstDayOfWeek, defaultDateInView, quickOptions, }: DatePickerProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { TableTheme } from '../types';
2
+ export interface TextProps {
3
+ id: keyof TableTheme['text'];
4
+ }
5
+ export declare function Text({ id }: TextProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { Store } from 'schummar-state/react';
2
2
  import { InternalTableState } from '../types';
3
- export declare type TableStateStorage = {
3
+ export type TableStateStorage = {
4
4
  getItem: (key: string) => string | null | Promise<string | null>;
5
5
  setItem: (key: string, value: string) => unknown | Promise<unknown>;
6
6
  removeItem: (key: string) => unknown | Promise<unknown>;
@@ -1,4 +1,4 @@
1
- export declare type CsvExportOptions = {
1
+ export type CsvExportOptions = {
2
2
  sepPrefix?: boolean;
3
3
  separator?: string;
4
4
  quote?: string;
@@ -2,17 +2,17 @@ import { CSSInterpolation } from '@emotion/serialize';
2
2
  import React, { ComponentType, DependencyList, ReactNode, Ref } from 'react';
3
3
  import { TableStateStorage } from './internalState/tableStateStorage';
4
4
  import { CsvExportOptions } from './misc/csvExport';
5
- export declare type Sort = {
5
+ export type Sort = {
6
6
  columnId: string | number;
7
7
  direction: SortDirection;
8
8
  };
9
- export declare type SortDirection = 'asc' | 'desc';
10
- export declare type Id = string | number;
11
- export declare type KeyOfType<T, S> = {
9
+ export type SortDirection = 'asc' | 'desc';
10
+ export type Id = string | number;
11
+ export type KeyOfType<T, S> = {
12
12
  [K in keyof T]: T[K] extends S ? K : never;
13
13
  }[keyof T];
14
- export declare type FunctionWithDeps<F extends (...args: any[]) => any> = F | [function: F, ...deps: DependencyList];
15
- export declare type MemoizedFunctions<T> = {
14
+ export type FunctionWithDeps<F extends (...args: any[]) => any> = F | [function: F, ...deps: DependencyList];
15
+ export type MemoizedFunctions<T> = {
16
16
  [K in keyof T]: Exclude<T[K], [function: (...args: any[]) => any, ...deps: DependencyList]>;
17
17
  };
18
18
  export interface TableTheme<T = unknown> {
@@ -25,6 +25,10 @@ export interface TableTheme<T = unknown> {
25
25
  exportDownload: ReactNode;
26
26
  today: ReactNode;
27
27
  thisWeek: ReactNode;
28
+ thisMonth: ReactNode;
29
+ thisYear: ReactNode;
30
+ lastSevenDays: ReactNode;
31
+ lastThirtyDays: ReactNode;
28
32
  reset: ReactNode;
29
33
  loading: ReactNode;
30
34
  clearFilters: ReactNode;
@@ -108,10 +112,10 @@ export interface TableTheme<T = unknown> {
108
112
  /** Spacing. */
109
113
  spacing: string | number;
110
114
  }
111
- export declare type PartialTableTheme<T = unknown> = {
115
+ export type PartialTableTheme<T = unknown> = {
112
116
  [K in keyof TableTheme<T>]?: TableTheme<T>[K] extends Record<string, any> ? Partial<TableTheme<T>[K]> : TableTheme<T>[K];
113
117
  };
114
- export declare type MemoizedTableTheme<T> = Omit<TableTheme, 'classes' | 'text'> & {
118
+ export type MemoizedTableTheme<T> = Omit<TableTheme, 'classes' | 'text'> & {
115
119
  classes: MemoizedFunctions<TableTheme<T>['classes']>;
116
120
  text: MemoizedFunctions<TableTheme<T>['text']>;
117
121
  };
@@ -235,7 +239,7 @@ export interface TableProps<T> extends PartialTableTheme<T> {
235
239
  debugRender?: (...output: any) => void;
236
240
  onReset?: () => void;
237
241
  }
238
- export declare type InternalTableProps<T> = MemoizedFunctions<Omit<TableProps<T>, 'id' | 'parentId' | 'columns' | 'defaultColumnProps' | 'enableExport'> & {
242
+ export type InternalTableProps<T> = MemoizedFunctions<Omit<TableProps<T>, 'id' | 'parentId' | 'columns' | 'defaultColumnProps' | 'enableExport'> & {
239
243
  id: (item: T) => Id;
240
244
  parentId?: (item: T) => Id | undefined;
241
245
  columns: InternalColumn<T, unknown>[];
@@ -244,13 +248,13 @@ export declare type InternalTableProps<T> = MemoizedFunctions<Omit<TableProps<T>
244
248
  download?: CsvExportOptions;
245
249
  };
246
250
  }>;
247
- export declare type TableItem<T = unknown> = {
251
+ export type TableItem<T = unknown> = {
248
252
  id: Id;
249
253
  parentId?: Id;
250
254
  children: TableItem<T>[];
251
255
  value: T;
252
256
  };
253
- export declare type Column<T, V> = {
257
+ export type Column<T, V> = {
254
258
  /** Column id. If not provided, the index in the column array will be used.
255
259
  * An explicit id is better however for controlling column related states, persitance etc.
256
260
  */
@@ -280,14 +284,14 @@ export declare type Column<T, V> = {
280
284
  /** Provide css class names to override columns styles. */
281
285
  classes?: TableTheme<T>['classes'];
282
286
  };
283
- export declare type InternalColumn<T, V> = MemoizedFunctions<Required<Omit<Column<T, V>, 'id' | 'sortBy'>, 'header' | 'renderCell' | 'exportCell' | 'sortBy'> & {
287
+ export type InternalColumn<T, V> = MemoizedFunctions<Required<Omit<Column<T, V>, 'id' | 'sortBy'>, 'header' | 'renderCell' | 'exportCell' | 'sortBy'> & {
284
288
  id: Id;
285
289
  sortBy: ((value: V, item: T) => unknown)[];
286
290
  }>;
287
- declare type Required<T, S> = T & {
291
+ type Required<T, S> = T & {
288
292
  [P in keyof T as P extends S ? P : never]-?: T[P];
289
293
  };
290
- export declare type InternalTableState<T> = {
294
+ export type InternalTableState<T> = {
291
295
  props: InternalTableProps<T>;
292
296
  key: any;
293
297
  sort: Sort[];
@@ -307,7 +311,7 @@ export declare type InternalTableState<T> = {
307
311
  activeItemsById: Map<Id, TableItem<T>>;
308
312
  lastSelectedId?: Id;
309
313
  };
310
- export declare type CommonFilterProps<T, V, F, S extends SerializableValue> = {
314
+ export type CommonFilterProps<T, V, F, S extends SerializableValue> = {
311
315
  /** Filter by? By default the column value will be used. If filterBy returns an array, an items will be active if at least one entry matches the active filter. */
312
316
  filterBy?: FunctionWithDeps<(value: V, item: T) => F | F[]>;
313
317
  /** Preselected filter value. */
@@ -323,7 +327,7 @@ export declare type CommonFilterProps<T, V, F, S extends SerializableValue> = {
323
327
  */
324
328
  persist?: boolean;
325
329
  };
326
- export declare type FilterImplementation<T, V, F, S extends SerializableValue> = CommonFilterProps<T, V, F, S> & {
330
+ export type FilterImplementation<T, V, F, S extends SerializableValue> = CommonFilterProps<T, V, F, S> & {
327
331
  /** Unique filter id. Used to persist filter values. */
328
332
  id: string;
329
333
  /** Whether the filter is active currently. */
@@ -331,11 +335,11 @@ export declare type FilterImplementation<T, V, F, S extends SerializableValue> =
331
335
  /** When the filter is active, this function is used to filter the items to be displayed. */
332
336
  test: (filterValue: S, value: F) => boolean;
333
337
  };
334
- export declare type SerializableValue = string | number | boolean | null | Date | SerializableArray | SerializableObject | SerializableSet | SerializableMap;
335
- export declare type SerializableObject = {
338
+ export type SerializableValue = string | number | boolean | null | Date | SerializableArray | SerializableObject | SerializableSet | SerializableMap;
339
+ export type SerializableObject = {
336
340
  [key: string]: SerializableValue;
337
341
  };
338
- export declare type SerializableArray = SerializableValue[];
339
- export declare type SerializableSet = Set<SerializableValue>;
340
- export declare type SerializableMap = Map<SerializableValue, SerializableValue>;
342
+ export type SerializableArray = SerializableValue[];
343
+ export type SerializableSet = Set<SerializableValue>;
344
+ export type SerializableMap = Map<SerializableValue, SerializableValue>;
341
345
  export {};