@coveord/plasma-mantine 48.22.3 → 48.23.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.
Files changed (90) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +12 -12
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/code-editor/CodeEditor.js +1 -3
  5. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  6. package/dist/cjs/components/collection/Collection.js +15 -17
  7. package/dist/cjs/components/collection/Collection.js.map +1 -1
  8. package/dist/cjs/components/table/Table.js +48 -45
  9. package/dist/cjs/components/table/Table.js.map +1 -1
  10. package/dist/cjs/components/table/TableActions.js +4 -4
  11. package/dist/cjs/components/table/TableActions.js.map +1 -1
  12. package/dist/cjs/components/table/TableCollapsibleColumn.js +1 -1
  13. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
  14. package/dist/cjs/components/table/TableContext.js.map +1 -1
  15. package/dist/cjs/components/table/TableFilter.js +4 -0
  16. package/dist/cjs/components/table/TableFilter.js.map +1 -1
  17. package/dist/cjs/components/table/TableHeader.js +36 -4
  18. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  19. package/dist/cjs/components/table/TablePerPage.js +3 -2
  20. package/dist/cjs/components/table/TablePerPage.js.map +1 -1
  21. package/dist/cjs/components/table/TableSelectableColumn.js +46 -0
  22. package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -0
  23. package/dist/cjs/components/table/Th.js +5 -15
  24. package/dist/cjs/components/table/Th.js.map +1 -1
  25. package/dist/cjs/components/table/useRowSelection.js +58 -0
  26. package/dist/cjs/components/table/useRowSelection.js.map +1 -0
  27. package/dist/cjs/theme/Theme.js +15 -10
  28. package/dist/cjs/theme/Theme.js.map +1 -1
  29. package/dist/definitions/components/code-editor/CodeEditor.d.ts.map +1 -1
  30. package/dist/definitions/components/collection/Collection.d.ts.map +1 -1
  31. package/dist/definitions/components/table/Table.d.ts +12 -2
  32. package/dist/definitions/components/table/Table.d.ts.map +1 -1
  33. package/dist/definitions/components/table/TableActions.d.ts +3 -3
  34. package/dist/definitions/components/table/TableActions.d.ts.map +1 -1
  35. package/dist/definitions/components/table/TableCollapsibleColumn.d.ts +1 -1
  36. package/dist/definitions/components/table/TableContext.d.ts +6 -1
  37. package/dist/definitions/components/table/TableContext.d.ts.map +1 -1
  38. package/dist/definitions/components/table/TableFilter.d.ts.map +1 -1
  39. package/dist/definitions/components/table/TableHeader.d.ts.map +1 -1
  40. package/dist/definitions/components/table/TableSelectableColumn.d.ts +6 -0
  41. package/dist/definitions/components/table/TableSelectableColumn.d.ts.map +1 -0
  42. package/dist/definitions/components/table/Th.d.ts.map +1 -1
  43. package/dist/definitions/components/table/useRowSelection.d.ts +7 -0
  44. package/dist/definitions/components/table/useRowSelection.d.ts.map +1 -0
  45. package/dist/definitions/components/table/useTable.d.ts +2 -0
  46. package/dist/definitions/components/table/useTable.d.ts.map +1 -1
  47. package/dist/definitions/theme/Theme.d.ts.map +1 -1
  48. package/dist/esm/components/code-editor/CodeEditor.js +1 -3
  49. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  50. package/dist/esm/components/collection/Collection.js +15 -17
  51. package/dist/esm/components/collection/Collection.js.map +1 -1
  52. package/dist/esm/components/table/Table.js +48 -45
  53. package/dist/esm/components/table/Table.js.map +1 -1
  54. package/dist/esm/components/table/TableActions.js +4 -4
  55. package/dist/esm/components/table/TableActions.js.map +1 -1
  56. package/dist/esm/components/table/TableCollapsibleColumn.js +2 -2
  57. package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
  58. package/dist/esm/components/table/TableContext.js.map +1 -1
  59. package/dist/esm/components/table/TableFilter.js +4 -0
  60. package/dist/esm/components/table/TableFilter.js.map +1 -1
  61. package/dist/esm/components/table/TableHeader.js +38 -6
  62. package/dist/esm/components/table/TableHeader.js.map +1 -1
  63. package/dist/esm/components/table/TablePerPage.js +3 -2
  64. package/dist/esm/components/table/TablePerPage.js.map +1 -1
  65. package/dist/esm/components/table/TableSelectableColumn.js +38 -0
  66. package/dist/esm/components/table/TableSelectableColumn.js.map +1 -0
  67. package/dist/esm/components/table/Th.js +5 -15
  68. package/dist/esm/components/table/Th.js.map +1 -1
  69. package/dist/esm/components/table/useRowSelection.js +48 -0
  70. package/dist/esm/components/table/useRowSelection.js.map +1 -0
  71. package/dist/esm/theme/Theme.js +15 -10
  72. package/dist/esm/theme/Theme.js.map +1 -1
  73. package/package.json +1 -1
  74. package/src/components/code-editor/CodeEditor.tsx +1 -3
  75. package/src/components/collection/Collection.tsx +8 -10
  76. package/src/components/table/Table.tsx +91 -62
  77. package/src/components/table/TableActions.tsx +7 -7
  78. package/src/components/table/TableCollapsibleColumn.tsx +2 -2
  79. package/src/components/table/TableContext.tsx +6 -1
  80. package/src/components/table/TableFilter.tsx +7 -1
  81. package/src/components/table/TableHeader.tsx +24 -4
  82. package/src/components/table/TablePerPage.tsx +1 -1
  83. package/src/components/table/TableSelectableColumn.tsx +33 -0
  84. package/src/components/table/Th.tsx +6 -19
  85. package/src/components/table/__tests__/Table.spec.tsx +100 -7
  86. package/src/components/table/__tests__/TableActions.spec.tsx +21 -0
  87. package/src/components/table/__tests__/TableFilter.spec.tsx +48 -1
  88. package/src/components/table/__tests__/TablePerPage.spec.tsx +24 -0
  89. package/src/components/table/useRowSelection.ts +45 -0
  90. package/src/theme/Theme.tsx +14 -7
@@ -12,7 +12,9 @@ var _objectSpread = require("@swc/helpers/lib/_object_spread.js").default;
12
12
  var _objectSpreadProps = require("@swc/helpers/lib/_object_spread_props.js").default;
13
13
  var _objectWithoutProperties = require("@swc/helpers/lib/_object_without_properties.js").default;
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
+ var _plasmaReactIcons = require("@coveord/plasma-react-icons");
15
16
  var _core = require("@mantine/core");
17
+ var _useTable = require("./useTable");
16
18
  var useStyles = (0, _core.createStyles)(function(theme) {
17
19
  return {
18
20
  root: {
@@ -20,7 +22,7 @@ var useStyles = (0, _core.createStyles)(function(theme) {
20
22
  top: 0,
21
23
  zIndex: 13,
22
24
  backgroundColor: theme.colors.gray[1],
23
- borderBottom: "1px solid ".concat(theme.colors.gray[4])
25
+ borderBottom: "1px solid ".concat(theme.colors.gray[3])
24
26
  }
25
27
  };
26
28
  });
@@ -31,18 +33,48 @@ var TableHeader = function(_param) {
31
33
  "unstyled",
32
34
  "children"
33
35
  ]);
36
+ var _useTable1 = (0, _useTable.useTable)(), getSelectedRows = _useTable1.getSelectedRows, multiRowSelectionEnabled = _useTable1.multiRowSelectionEnabled, clearSelection = _useTable1.clearSelection;
34
37
  var classes = useStyles(null, {
35
38
  name: "TableHeader",
36
39
  classNames: classNames,
37
40
  styles: styles,
38
41
  unstyled: unstyled
39
42
  }).classes;
40
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Group, _objectSpreadProps(_objectSpread({
43
+ var selectedRows = getSelectedRows();
44
+ return multiRowSelectionEnabled ? /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_core.Group, {
45
+ position: "apart",
46
+ className: classes.root,
47
+ children: [
48
+ selectedRows.length > 0 ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Tooltip, {
49
+ label: "Unselect all",
50
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_core.Button, {
51
+ onClick: clearSelection,
52
+ ml: "lg",
53
+ variant: "subtle",
54
+ leftIcon: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_plasmaReactIcons.CrossSize16Px, {
55
+ height: 16
56
+ }),
57
+ children: [
58
+ selectedRows.length,
59
+ " selected"
60
+ ]
61
+ })
62
+ }) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Space, {}),
63
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Group, _objectSpreadProps(_objectSpread({
64
+ position: "right",
65
+ spacing: "lg",
66
+ px: "md",
67
+ py: "sm"
68
+ }, others), {
69
+ children: children
70
+ }))
71
+ ]
72
+ }) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Group, _objectSpreadProps(_objectSpread({
41
73
  position: "right",
42
74
  spacing: "lg",
43
- className: classes.root,
44
75
  px: "md",
45
- py: "sm"
76
+ py: "sm",
77
+ className: classes.root
46
78
  }, others), {
47
79
  children: children
48
80
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {createStyles, DefaultProps, Group, Selectors} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nconst useStyles = createStyles((theme) => ({\n root: {\n position: 'sticky',\n top: 0,\n zIndex: 13, // skeleton is 11\n backgroundColor: theme.colors.gray[1],\n borderBottom: `1px solid ${theme.colors.gray[4]}`,\n },\n}));\n\ntype TableHeaderStylesNames = Selectors<typeof useStyles>;\ninterface TableHeaderProps extends DefaultProps<TableHeaderStylesNames> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n}\nexport const TableHeader: FunctionComponent<TableHeaderProps> = ({\n classNames,\n styles,\n unstyled,\n children,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n return (\n <Group position=\"right\" spacing=\"lg\" className={classes.root} px=\"md\" py=\"sm\" {...others}>\n {children}\n </Group>\n );\n};\n"],"names":["TableHeader","useStyles","createStyles","theme","root","position","top","zIndex","backgroundColor","colors","gray","borderBottom","classNames","styles","unstyled","children","others","classes","name","Group","spacing","className","px","py"],"mappings":"AAAA;;;;+BAkBaA;;;eAAAA;;;;;;;oBAlB8C;AAG3D,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,MAAM;YACFC,UAAU;YACVC,KAAK;YACLC,QAAQ;YACRC,iBAAiBL,MAAMM,MAAM,CAACC,IAAI,CAAC,EAAE;YACrCC,cAAc,AAAC,aAAiC,OAArBR,MAAMM,MAAM,CAACC,IAAI,CAAC,EAAE;QACnD;IACJ;;AAOO,IAAMV,cAAmD,iBAM1D;QALFY,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWhB,UAAU,IAAI,EAAE;QAACiB,MAAM;QAAeN,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EG;IACP,qBACI,qBAACE,WAAK;QAACd,UAAS;QAAQe,SAAQ;QAAKC,WAAWJ,QAAQb,IAAI;QAAEkB,IAAG;QAAKC,IAAG;OAASP;kBAC7ED;;AAGb"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {Button, createStyles, DefaultProps, Group, Selectors, Space, Tooltip} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nimport {useTable} from './useTable';\n\nconst useStyles = createStyles((theme) => ({\n root: {\n position: 'sticky',\n top: 0,\n zIndex: 13, // skeleton is 11\n backgroundColor: theme.colors.gray[1],\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n}));\n\ntype TableHeaderStylesNames = Selectors<typeof useStyles>;\ninterface TableHeaderProps extends DefaultProps<TableHeaderStylesNames> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n}\nexport const TableHeader: FunctionComponent<TableHeaderProps> = ({\n classNames,\n styles,\n unstyled,\n children,\n ...others\n}) => {\n const {getSelectedRows, multiRowSelectionEnabled, clearSelection} = useTable();\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const selectedRows = getSelectedRows();\n return multiRowSelectionEnabled ? (\n <Group position=\"apart\" className={classes.root}>\n {selectedRows.length > 0 ? (\n <Tooltip label=\"Unselect all\">\n <Button onClick={clearSelection} ml=\"lg\" variant=\"subtle\" leftIcon={<CrossSize16Px height={16} />}>\n {selectedRows.length} selected\n </Button>\n </Tooltip>\n ) : (\n <Space />\n )}\n <Group position=\"right\" spacing=\"lg\" px=\"md\" py=\"sm\" {...others}>\n {children}\n </Group>\n </Group>\n ) : (\n <Group position=\"right\" spacing=\"lg\" px=\"md\" py=\"sm\" className={classes.root} {...others}>\n {children}\n </Group>\n );\n};\n"],"names":["TableHeader","useStyles","createStyles","theme","root","position","top","zIndex","backgroundColor","colors","gray","borderBottom","classNames","styles","unstyled","children","others","useTable","getSelectedRows","multiRowSelectionEnabled","clearSelection","classes","name","selectedRows","Group","className","length","Tooltip","label","Button","onClick","ml","variant","leftIcon","CrossSize16Px","height","Space","spacing","px","py"],"mappings":"AAAA;;;;+BAqBaA;;;eAAAA;;;;;;;gCArBe;oBACuD;wBAG5D;AAEvB,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,MAAM;YACFC,UAAU;YACVC,KAAK;YACLC,QAAQ;YACRC,iBAAiBL,MAAMM,MAAM,CAACC,IAAI,CAAC,EAAE;YACrCC,cAAc,AAAC,aAAiC,OAArBR,MAAMM,MAAM,CAACC,IAAI,CAAC,EAAE;QACnD;IACJ;;AAOO,IAAMV,cAAmD,iBAM1D;QALFY,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAoEE,aAAAA,IAAAA,kBAAQ,KAArEC,kBAA6DD,WAA7DC,iBAAiBC,2BAA4CF,WAA5CE,0BAA0BC,iBAAkBH,WAAlBG;IAClD,IAAM,AAACC,UAAWpB,UAAU,IAAI,EAAE;QAACqB,MAAM;QAAeV,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EO;IACP,IAAME,eAAeL;IACrB,OAAOC,yCACH,sBAACK,WAAK;QAACnB,UAAS;QAAQoB,WAAWJ,QAAQjB,IAAI;;YAC1CmB,aAAaG,MAAM,GAAG,kBACnB,qBAACC,aAAO;gBAACC,OAAM;0BACX,cAAA,sBAACC,YAAM;oBAACC,SAASV;oBAAgBW,IAAG;oBAAKC,SAAQ;oBAASC,wBAAU,qBAACC,+BAAa;wBAACC,QAAQ;;;wBACtFZ,aAAaG,MAAM;wBAAC;;;+BAI7B,qBAACU,WAAK,KACT;0BACD,qBAACZ,WAAK;gBAACnB,UAAS;gBAAQgC,SAAQ;gBAAKC,IAAG;gBAAKC,IAAG;eAASvB;0BACpDD;;;uBAIT,qBAACS,WAAK;QAACnB,UAAS;QAAQgC,SAAQ;QAAKC,IAAG;QAAKC,IAAG;QAAKd,WAAWJ,QAAQjB,IAAI;OAAMY;kBAC7ED;OAER;AACL"}
@@ -23,9 +23,10 @@ var TablePerPage = function(param) {
23
23
  var updatePerPage = function(newPerPage) {
24
24
  setState(function(prevState) {
25
25
  return _objectSpreadProps(_objectSpread({}, prevState), {
26
- pagination: _objectSpreadProps(_objectSpread({}, prevState.pagination), {
26
+ pagination: {
27
+ pageIndex: 0,
27
28
  pageSize: parseInt(newPerPage, 10)
28
- })
29
+ }
29
30
  });
30
31
  });
31
32
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {TableState} from '@tanstack/react-table';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './useTable';\n\ninterface TablePerPageProps {\n /**\n * The label displayed before the control\n *\n * @default Results per page\n */\n label?: string;\n /**\n * The per page choices to display\n *\n * @default [25, 50, 100]\n */\n values?: number[];\n}\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n}) => {\n const {state, setState} = useTable();\n\n const updatePerPage = (newPerPage: string) => {\n setState((prevState: TableState) => ({\n ...prevState,\n pagination: {...prevState.pagination, pageSize: parseInt(newPerPage, 10)},\n }));\n };\n\n return (\n <Group>\n <Text>{label}</Text>\n <SegmentedControl\n value={state.pagination.pageSize.toString() ?? values?.[1].toString()}\n onChange={updatePerPage}\n data={values.map((value) => value.toString())}\n color=\"action\"\n size=\"md\"\n />\n </Group>\n );\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","useTable","state","setState","updatePerPage","newPerPage","prevState","pagination","pageSize","parseInt","Group","Text","SegmentedControl","value","toString","onChange","data","map","color","size","DEFAULT_SIZE"],"mappings":"AAAA;;;;+BAqBaA;;;eAAAA;;;;;;oBArB+B;wBAIrB;AAiBhB,IAAMA,eAA8E,gBAGrF;6BAFFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI;IAEtB,IAA0BC,aAAAA,IAAAA,kBAAQ,KAA3BC,QAAmBD,WAAnBC,OAAOC,WAAYF,WAAZE;IAEd,IAAMC,gBAAgB,SAACC,YAAuB;QAC1CF,SAAS,SAACG;mBAA2B,qCAC9BA;gBACHC,YAAY,qCAAID,UAAUC,UAAU;oBAAEC,UAAUC,SAASJ,YAAY;;;;IAE7E;QAMmBH;IAJnB,qBACI,sBAACQ,WAAK;;0BACF,qBAACC,UAAI;0BAAEZ;;0BACP,qBAACa,sBAAgB;gBACbC,OAAOX,CAAAA,sCAAAA,MAAMK,UAAU,CAACC,QAAQ,CAACM,QAAQ,gBAAlCZ,iDAAAA,sCAAwCF,mBAAAA,oBAAAA,KAAAA,IAAAA,MAAQ,CAAC,EAAE,CAACc,QAAQ,EAAE;gBACrEC,UAAUX;gBACVY,MAAMhB,OAAOiB,GAAG,CAAC,SAACJ;2BAAUA,MAAMC,QAAQ;;gBAC1CI,OAAM;gBACNC,MAAK;;;;AAIrB;AAEArB,aAAasB,YAAY,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/table/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {TableState} from '@tanstack/react-table';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './useTable';\n\ninterface TablePerPageProps {\n /**\n * The label displayed before the control\n *\n * @default Results per page\n */\n label?: string;\n /**\n * The per page choices to display\n *\n * @default [25, 50, 100]\n */\n values?: number[];\n}\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n}) => {\n const {state, setState} = useTable();\n\n const updatePerPage = (newPerPage: string) => {\n setState((prevState: TableState) => ({\n ...prevState,\n pagination: {pageIndex: 0, pageSize: parseInt(newPerPage, 10)},\n }));\n };\n\n return (\n <Group>\n <Text>{label}</Text>\n <SegmentedControl\n value={state.pagination.pageSize.toString() ?? values?.[1].toString()}\n onChange={updatePerPage}\n data={values.map((value) => value.toString())}\n color=\"action\"\n size=\"md\"\n />\n </Group>\n );\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","useTable","state","setState","updatePerPage","newPerPage","prevState","pagination","pageIndex","pageSize","parseInt","Group","Text","SegmentedControl","value","toString","onChange","data","map","color","size","DEFAULT_SIZE"],"mappings":"AAAA;;;;+BAqBaA;;;eAAAA;;;;;;oBArB+B;wBAIrB;AAiBhB,IAAMA,eAA8E,gBAGrF;6BAFFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI;IAEtB,IAA0BC,aAAAA,IAAAA,kBAAQ,KAA3BC,QAAmBD,WAAnBC,OAAOC,WAAYF,WAAZE;IAEd,IAAMC,gBAAgB,SAACC,YAAuB;QAC1CF,SAAS,SAACG;mBAA2B,qCAC9BA;gBACHC,YAAY;oBAACC,WAAW;oBAAGC,UAAUC,SAASL,YAAY;gBAAG;;;IAErE;QAMmBH;IAJnB,qBACI,sBAACS,WAAK;;0BACF,qBAACC,UAAI;0BAAEb;;0BACP,qBAACc,sBAAgB;gBACbC,OAAOZ,CAAAA,sCAAAA,MAAMK,UAAU,CAACE,QAAQ,CAACM,QAAQ,gBAAlCb,iDAAAA,sCAAwCF,mBAAAA,oBAAAA,KAAAA,IAAAA,MAAQ,CAAC,EAAE,CAACe,QAAQ,EAAE;gBACrEC,UAAUZ;gBACVa,MAAMjB,OAAOkB,GAAG,CAAC,SAACJ;2BAAUA,MAAMC,QAAQ;;gBAC1CI,OAAM;gBACNC,MAAK;;;;AAIrB;AAEAtB,aAAauB,YAAY,GAAG"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "TableSelectableColumn", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TableSelectableColumn;
9
+ }
10
+ });
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _core = require("@mantine/core");
13
+ var TableSelectableColumn = {
14
+ id: "select",
15
+ enableSorting: false,
16
+ header: function(param) {
17
+ var table = param.table;
18
+ var label = table.getIsAllRowsSelected() ? "Unselect all from this page" : "Select all from this page";
19
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Tooltip, {
20
+ label: label,
21
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Checkbox, {
22
+ checked: table.getIsAllPageRowsSelected(),
23
+ indeterminate: table.getIsSomePageRowsSelected(),
24
+ onChange: table.getToggleAllPageRowsSelectedHandler(),
25
+ sx: {
26
+ display: "flex"
27
+ },
28
+ "aria-label": label
29
+ })
30
+ });
31
+ },
32
+ cell: function(param) {
33
+ var row = param.row;
34
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Checkbox, {
35
+ checked: row.getIsSelected(),
36
+ indeterminate: row.getIsSomeSelected(),
37
+ onChange: row.getToggleSelectedHandler(),
38
+ sx: {
39
+ display: "flex"
40
+ },
41
+ "aria-label": "Select row"
42
+ });
43
+ }
44
+ };
45
+
46
+ //# sourceMappingURL=TableSelectableColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableSelectableColumn.tsx"],"sourcesContent":["import {Checkbox, Tooltip} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\n\n/**\n * Generic column to use when your table needs multi selection of rows\n */\nexport const TableSelectableColumn: ColumnDef<unknown> = {\n id: 'select',\n enableSorting: false,\n header: ({table}) => {\n const label = table.getIsAllRowsSelected() ? 'Unselect all from this page' : 'Select all from this page';\n return (\n <Tooltip label={label}>\n <Checkbox\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={table.getToggleAllPageRowsSelectedHandler()}\n sx={{display: 'flex'}}\n aria-label={label}\n />\n </Tooltip>\n );\n },\n cell: ({row}) => (\n <Checkbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n sx={{display: 'flex'}}\n aria-label=\"Select row\"\n />\n ),\n};\n"],"names":["TableSelectableColumn","id","enableSorting","header","table","label","getIsAllRowsSelected","Tooltip","Checkbox","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","sx","display","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler"],"mappings":"AAAA;;;;+BAMaA;;;eAAAA;;;;oBANmB;AAMzB,IAAMA,wBAA4C;IACrDC,IAAI;IACJC,eAAe,KAAK;IACpBC,QAAQ,gBAAa;YAAXC,cAAAA;QACN,IAAMC,QAAQD,MAAME,oBAAoB,KAAK,gCAAgC,2BAA2B;QACxG,qBACI,qBAACC,aAAO;YAACF,OAAOA;sBACZ,cAAA,qBAACG,cAAQ;gBACLC,SAASL,MAAMM,wBAAwB;gBACvCC,eAAeP,MAAMQ,yBAAyB;gBAC9CC,UAAUT,MAAMU,mCAAmC;gBACnDC,IAAI;oBAACC,SAAS;gBAAM;gBACpBC,cAAYZ;;;IAI5B;IACAa,MAAM;YAAEC,YAAAA;6BACJ,qBAACX,cAAQ;YACLC,SAASU,IAAIC,aAAa;YAC1BT,eAAeQ,IAAIE,iBAAiB;YACpCR,UAAUM,IAAIG,wBAAwB;YACtCP,IAAI;gBAACC,SAAS;YAAM;YACpBC,cAAW;;;AAGvB"}
@@ -15,25 +15,15 @@ var _reactTable = require("@tanstack/react-table");
15
15
  var useStyles = (0, _core.createStyles)(function(theme) {
16
16
  return {
17
17
  th: {
18
- padding: "0 !important",
19
18
  fontWeight: "400 !important",
19
+ padding: "0 !important",
20
20
  color: theme.black + "!important",
21
- button: {
22
- padding: "8px 16px",
23
- div: {
24
- padding: "0px !important"
25
- }
26
- },
27
- div: {
28
- padding: "8px 16px"
29
- }
30
- },
31
- noSort: {
32
- padding: "".concat(theme.spacing.xs, "px ").concat(theme.spacing.md, "px")
21
+ verticalAlign: "middle"
33
22
  },
34
23
  control: {
35
24
  width: "100%",
36
- padding: "".concat(theme.spacing.xs, "px ").concat(theme.spacing.md, "px"),
25
+ padding: "".concat(theme.spacing.xs, "px ").concat(theme.spacing.sm, "px"),
26
+ whiteSpace: "nowrap",
37
27
  "&:hover": {
38
28
  backgroundColor: theme.colorScheme === "dark" ? theme.colors.gray[6] : theme.colors.gray[2]
39
29
  }
@@ -63,7 +53,6 @@ var Th = function(param) {
63
53
  width: width
64
54
  },
65
55
  children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Text, {
66
- className: classes.noSort,
67
56
  size: "xs",
68
57
  children: (0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext())
69
58
  })
@@ -83,6 +72,7 @@ var Th = function(param) {
83
72
  className: classes.control,
84
73
  children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_core.Group, {
85
74
  position: "apart",
75
+ noWrap: true,
86
76
  children: [
87
77
  /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Text, {
88
78
  size: "xs",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Th.tsx"],"sourcesContent":["import {ArrowHeadDownSize16Px, ArrowHeadUpSize16Px} from '@coveord/plasma-react-icons';\nimport {Center, createStyles, Group, Text, UnstyledButton} from '@mantine/core';\nimport {defaultColumnSizing, flexRender, Header} from '@tanstack/react-table';\n\nconst useStyles = createStyles((theme) => ({\n th: {\n padding: '0 !important',\n fontWeight: '400 !important' as any,\n color: theme.black + '!important',\n button: {\n padding: '8px 16px',\n div: {\n padding: '0px !important',\n },\n },\n div: {\n padding: '8px 16px',\n },\n },\n\n noSort: {\n padding: `${theme.spacing.xs}px ${theme.spacing.md}px`,\n },\n\n control: {\n width: '100%',\n padding: `${theme.spacing.xs}px ${theme.spacing.md}px`,\n\n '&:hover': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.gray[6] : theme.colors.gray[2],\n },\n },\n}));\n\ninterface ThProps<T> {\n header: Header<T, unknown>;\n}\n\nconst SortingIcons = {\n asc: ArrowHeadDownSize16Px,\n desc: ArrowHeadUpSize16Px,\n};\n\nconst SortingLabels = {\n asc: 'ascending',\n desc: 'descending',\n} as const;\n\nexport const Th = <T,>({header}: ThProps<T>) => {\n const {classes} = useStyles();\n const size = header.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th className={classes.th} style={{width}}>\n <Text className={classes.noSort} size=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Text>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted();\n const Icon = SortingIcons[sortingOrder || header.column.getFirstSortDir()];\n\n return (\n <th className={classes.th} style={{width}} aria-sort={sortingOrder ? SortingLabels[sortingOrder] : 'none'}>\n <UnstyledButton onClick={onSort} className={classes.control}>\n <Group position=\"apart\">\n <Text size=\"xs\">{flexRender(header.column.columnDef.header, header.getContext())}</Text>\n <Center sx={(theme) => ({color: sortingOrder ? theme.colors.action[8] : undefined})}>\n <Icon height={14} />\n </Center>\n </Group>\n </UnstyledButton>\n </th>\n );\n};\n"],"names":["Th","useStyles","createStyles","theme","th","padding","fontWeight","color","black","button","div","noSort","spacing","xs","md","control","width","backgroundColor","colorScheme","colors","gray","SortingIcons","asc","ArrowHeadDownSize16Px","desc","ArrowHeadUpSize16Px","SortingLabels","header","classes","size","column","getSize","defaultColumnSizing","undefined","isPlaceholder","getCanSort","className","style","Text","flexRender","columnDef","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","getFirstSortDir","aria-sort","UnstyledButton","onClick","Group","position","Center","sx","action","height"],"mappings":"AAAA;;;;+BAgDaA;;;eAAAA;;;;gCAhD4C;oBACO;0BACV;AAEtD,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,IAAI;YACAC,SAAS;YACTC,YAAY;YACZC,OAAOJ,MAAMK,KAAK,GAAG;YACrBC,QAAQ;gBACJJ,SAAS;gBACTK,KAAK;oBACDL,SAAS;gBACb;YACJ;YACAK,KAAK;gBACDL,SAAS;YACb;QACJ;QAEAM,QAAQ;YACJN,SAAS,AAAC,GAAwBF,OAAtBA,MAAMS,OAAO,CAACC,EAAE,EAAC,OAAsB,OAAjBV,MAAMS,OAAO,CAACE,EAAE,EAAC;QACvD;QAEAC,SAAS;YACLC,OAAO;YACPX,SAAS,AAAC,GAAwBF,OAAtBA,MAAMS,OAAO,CAACC,EAAE,EAAC,OAAsB,OAAjBV,MAAMS,OAAO,CAACE,EAAE,EAAC;YAEnD,WAAW;gBACPG,iBAAiBd,MAAMe,WAAW,KAAK,SAASf,MAAMgB,MAAM,CAACC,IAAI,CAAC,EAAE,GAAGjB,MAAMgB,MAAM,CAACC,IAAI,CAAC,EAAE;YAC/F;QACJ;IACJ;;AAMA,IAAMC,eAAe;IACjBC,KAAKC,uCAAqB;IAC1BC,MAAMC,qCAAmB;AAC7B;AAEA,IAAMC,gBAAgB;IAClBJ,KAAK;IACLE,MAAM;AACV;AAEO,IAAMxB,KAAK,gBAA8B;QAAxB2B,eAAAA;IACpB,IAAM,AAACC,UAAW3B,YAAX2B;IACP,IAAMC,OAAOF,OAAOG,MAAM,CAACC,OAAO;IAClC,IAAMf,QAAQa,SAASG,+BAAmB,CAACH,IAAI,GAAGA,OAAOI,SAAS;IAElE,IAAIN,OAAOO,aAAa,EAAE;QACtB,OAAO,IAAI;IACf,CAAC;IAED,IAAI,CAACP,OAAOG,MAAM,CAACK,UAAU,IAAI;QAC7B,qBACI,qBAAC/B;YAAGgC,WAAWR,QAAQxB,EAAE;YAAEiC,OAAO;gBAACrB,OAAAA;YAAK;sBACpC,cAAA,qBAACsB,UAAI;gBAACF,WAAWR,QAAQjB,MAAM;gBAAEkB,MAAK;0BACjCU,IAAAA,sBAAU,EAACZ,OAAOG,MAAM,CAACU,SAAS,CAACb,MAAM,EAAEA,OAAOc,UAAU;;;IAI7E,CAAC;IAED,IAAMC,SAASf,OAAOG,MAAM,CAACa,uBAAuB;IACpD,IAAMC,eAAejB,OAAOG,MAAM,CAACe,WAAW;IAC9C,IAAMC,OAAOzB,YAAY,CAACuB,gBAAgBjB,OAAOG,MAAM,CAACiB,eAAe,GAAG;IAE1E,qBACI,qBAAC3C;QAAGgC,WAAWR,QAAQxB,EAAE;QAAEiC,OAAO;YAACrB,OAAAA;QAAK;QAAGgC,aAAWJ,eAAelB,aAAa,CAACkB,aAAa,GAAG,MAAM;kBACrG,cAAA,qBAACK,oBAAc;YAACC,SAASR;YAAQN,WAAWR,QAAQb,OAAO;sBACvD,cAAA,sBAACoC,WAAK;gBAACC,UAAS;;kCACZ,qBAACd,UAAI;wBAACT,MAAK;kCAAMU,IAAAA,sBAAU,EAACZ,OAAOG,MAAM,CAACU,SAAS,CAACb,MAAM,EAAEA,OAAOc,UAAU;;kCAC7E,qBAACY,YAAM;wBAACC,IAAI,SAACnD;mCAAW;gCAACI,OAAOqC,eAAezC,MAAMgB,MAAM,CAACoC,MAAM,CAAC,EAAE,GAAGtB,SAAS;4BAAA;;kCAC7E,cAAA,qBAACa;4BAAKU,QAAQ;;;;;;;AAMtC"}
1
+ {"version":3,"sources":["../../../../src/components/table/Th.tsx"],"sourcesContent":["import {ArrowHeadDownSize16Px, ArrowHeadUpSize16Px} from '@coveord/plasma-react-icons';\nimport {Center, createStyles, Group, Text, UnstyledButton} from '@mantine/core';\nimport {defaultColumnSizing, flexRender, Header} from '@tanstack/react-table';\n\nconst useStyles = createStyles((theme) => ({\n th: {\n fontWeight: '400 !important' as any,\n padding: '0 !important',\n color: theme.black + '!important',\n verticalAlign: 'middle',\n },\n\n control: {\n width: '100%',\n padding: `${theme.spacing.xs}px ${theme.spacing.sm}px`,\n whiteSpace: 'nowrap',\n\n '&:hover': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.gray[6] : theme.colors.gray[2],\n },\n },\n}));\n\ninterface ThProps<T> {\n header: Header<T, unknown>;\n}\n\nconst SortingIcons = {\n asc: ArrowHeadDownSize16Px,\n desc: ArrowHeadUpSize16Px,\n};\n\nconst SortingLabels = {\n asc: 'ascending',\n desc: 'descending',\n} as const;\n\nexport const Th = <T,>({header}: ThProps<T>) => {\n const {classes} = useStyles();\n const size = header.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th className={classes.th} style={{width}}>\n <Text size=\"xs\">{flexRender(header.column.columnDef.header, header.getContext())}</Text>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted();\n const Icon = SortingIcons[sortingOrder || header.column.getFirstSortDir()];\n\n return (\n <th className={classes.th} style={{width}} aria-sort={sortingOrder ? SortingLabels[sortingOrder] : 'none'}>\n <UnstyledButton onClick={onSort} className={classes.control}>\n <Group position=\"apart\" noWrap>\n <Text size=\"xs\">{flexRender(header.column.columnDef.header, header.getContext())}</Text>\n <Center sx={(theme) => ({color: sortingOrder ? theme.colors.action[8] : undefined})}>\n <Icon height={14} />\n </Center>\n </Group>\n </UnstyledButton>\n </th>\n );\n};\n"],"names":["Th","useStyles","createStyles","theme","th","fontWeight","padding","color","black","verticalAlign","control","width","spacing","xs","sm","whiteSpace","backgroundColor","colorScheme","colors","gray","SortingIcons","asc","ArrowHeadDownSize16Px","desc","ArrowHeadUpSize16Px","SortingLabels","header","classes","size","column","getSize","defaultColumnSizing","undefined","isPlaceholder","getCanSort","className","style","Text","flexRender","columnDef","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","getFirstSortDir","aria-sort","UnstyledButton","onClick","Group","position","noWrap","Center","sx","action","height"],"mappings":"AAAA;;;;+BAqCaA;;;eAAAA;;;;gCArC4C;oBACO;0BACV;AAEtD,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,IAAI;YACAC,YAAY;YACZC,SAAS;YACTC,OAAOJ,MAAMK,KAAK,GAAG;YACrBC,eAAe;QACnB;QAEAC,SAAS;YACLC,OAAO;YACPL,SAAS,AAAC,GAAwBH,OAAtBA,MAAMS,OAAO,CAACC,EAAE,EAAC,OAAsB,OAAjBV,MAAMS,OAAO,CAACE,EAAE,EAAC;YACnDC,YAAY;YAEZ,WAAW;gBACPC,iBAAiBb,MAAMc,WAAW,KAAK,SAASd,MAAMe,MAAM,CAACC,IAAI,CAAC,EAAE,GAAGhB,MAAMe,MAAM,CAACC,IAAI,CAAC,EAAE;YAC/F;QACJ;IACJ;;AAMA,IAAMC,eAAe;IACjBC,KAAKC,uCAAqB;IAC1BC,MAAMC,qCAAmB;AAC7B;AAEA,IAAMC,gBAAgB;IAClBJ,KAAK;IACLE,MAAM;AACV;AAEO,IAAMvB,KAAK,gBAA8B;QAAxB0B,eAAAA;IACpB,IAAM,AAACC,UAAW1B,YAAX0B;IACP,IAAMC,OAAOF,OAAOG,MAAM,CAACC,OAAO;IAClC,IAAMnB,QAAQiB,SAASG,+BAAmB,CAACH,IAAI,GAAGA,OAAOI,SAAS;IAElE,IAAIN,OAAOO,aAAa,EAAE;QACtB,OAAO,IAAI;IACf,CAAC;IAED,IAAI,CAACP,OAAOG,MAAM,CAACK,UAAU,IAAI;QAC7B,qBACI,qBAAC9B;YAAG+B,WAAWR,QAAQvB,EAAE;YAAEgC,OAAO;gBAACzB,OAAAA;YAAK;sBACpC,cAAA,qBAAC0B,UAAI;gBAACT,MAAK;0BAAMU,IAAAA,sBAAU,EAACZ,OAAOG,MAAM,CAACU,SAAS,CAACb,MAAM,EAAEA,OAAOc,UAAU;;;IAGzF,CAAC;IAED,IAAMC,SAASf,OAAOG,MAAM,CAACa,uBAAuB;IACpD,IAAMC,eAAejB,OAAOG,MAAM,CAACe,WAAW;IAC9C,IAAMC,OAAOzB,YAAY,CAACuB,gBAAgBjB,OAAOG,MAAM,CAACiB,eAAe,GAAG;IAE1E,qBACI,qBAAC1C;QAAG+B,WAAWR,QAAQvB,EAAE;QAAEgC,OAAO;YAACzB,OAAAA;QAAK;QAAGoC,aAAWJ,eAAelB,aAAa,CAACkB,aAAa,GAAG,MAAM;kBACrG,cAAA,qBAACK,oBAAc;YAACC,SAASR;YAAQN,WAAWR,QAAQjB,OAAO;sBACvD,cAAA,sBAACwC,WAAK;gBAACC,UAAS;gBAAQC,MAAM;;kCAC1B,qBAACf,UAAI;wBAACT,MAAK;kCAAMU,IAAAA,sBAAU,EAACZ,OAAOG,MAAM,CAACU,SAAS,CAACb,MAAM,EAAEA,OAAOc,UAAU;;kCAC7E,qBAACa,YAAM;wBAACC,IAAI,SAACnD;mCAAW;gCAACI,OAAOoC,eAAexC,MAAMe,MAAM,CAACqC,MAAM,CAAC,EAAE,GAAGvB,SAAS;4BAAA;;kCAC7E,cAAA,qBAACa;4BAAKW,QAAQ;;;;;;;AAMtC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useRowSelection", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return useRowSelection;
9
+ }
10
+ });
11
+ var _objectSpread = require("@swc/helpers/lib/_object_spread.js").default;
12
+ var _objectSpreadProps = require("@swc/helpers/lib/_object_spread_props.js").default;
13
+ var _slicedToArray = require("@swc/helpers/lib/_sliced_to_array.js").default;
14
+ var _tableCore = require("@tanstack/table-core");
15
+ var _react = require("react");
16
+ var useRowSelection = function(table) {
17
+ var _useState = _slicedToArray((0, _react.useState)({}), 2), rowSelection = _useState[0], setRowSelection = _useState[1];
18
+ table.setOptions(function(prev) {
19
+ return _objectSpreadProps(_objectSpread({}, prev), {
20
+ onRowSelectionChange: function(rowSelectionUpdater) {
21
+ table.setState(function(old) {
22
+ var selectedRowsIds = (0, _tableCore.functionalUpdate)(rowSelectionUpdater, old["rowSelection"]);
23
+ setRowSelection(function(current) {
24
+ var currentRowsById = table.getRowModel().rowsById;
25
+ return Object.keys(selectedRowsIds).reduce(function(memo, rowId) {
26
+ if (current[rowId]) {
27
+ memo[rowId] = current[rowId];
28
+ } else {
29
+ memo[rowId] = currentRowsById[rowId].original;
30
+ }
31
+ return memo;
32
+ }, {});
33
+ });
34
+ return _objectSpreadProps(_objectSpread({}, old), {
35
+ rowSelection: selectedRowsIds
36
+ });
37
+ });
38
+ }
39
+ });
40
+ });
41
+ var clearSelection = function() {
42
+ table.resetRowSelection(true);
43
+ };
44
+ var getSelectedRows = function() {
45
+ return Object.values(rowSelection);
46
+ };
47
+ var _getSelectedRows_;
48
+ var getSelectedRow = function() {
49
+ return (_getSelectedRows_ = getSelectedRows()[0]) !== null && _getSelectedRows_ !== void 0 ? _getSelectedRows_ : null;
50
+ };
51
+ return {
52
+ clearSelection: clearSelection,
53
+ getSelectedRow: getSelectedRow,
54
+ getSelectedRows: getSelectedRows
55
+ };
56
+ };
57
+
58
+ //# sourceMappingURL=useRowSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/useRowSelection.ts"],"sourcesContent":["import {functionalUpdate, Table} from '@tanstack/table-core';\nimport {useState} from 'react';\n\nexport const useRowSelection = <T>(table: Table<T>) => {\n const [rowSelection, setRowSelection] = useState<Record<string, T>>({});\n\n table.setOptions((prev) => ({\n ...prev,\n onRowSelectionChange: (rowSelectionUpdater) => {\n table.setState((old) => {\n const selectedRowsIds = functionalUpdate(rowSelectionUpdater, old['rowSelection']);\n setRowSelection((current) => {\n const currentRowsById = table.getRowModel().rowsById;\n return Object.keys(selectedRowsIds).reduce((memo, rowId) => {\n if (current[rowId]) {\n memo[rowId] = current[rowId];\n } else {\n memo[rowId] = currentRowsById[rowId].original;\n }\n return memo;\n }, {} as Record<string, T>);\n });\n\n return {\n ...old,\n rowSelection: selectedRowsIds,\n };\n });\n },\n }));\n\n const clearSelection = () => {\n table.resetRowSelection(true);\n };\n\n const getSelectedRows = () => Object.values(rowSelection);\n\n const getSelectedRow = () => getSelectedRows()[0] ?? null;\n\n return {\n clearSelection,\n getSelectedRow,\n getSelectedRows,\n };\n};\n"],"names":["useRowSelection","table","useState","rowSelection","setRowSelection","setOptions","prev","onRowSelectionChange","rowSelectionUpdater","setState","old","selectedRowsIds","functionalUpdate","current","currentRowsById","getRowModel","rowsById","Object","keys","reduce","memo","rowId","original","clearSelection","resetRowSelection","getSelectedRows","values","getSelectedRow"],"mappings":"AAAA;;;;+BAGaA;;;eAAAA;;;;;;yBAHyB;qBACf;AAEhB,IAAMA,kBAAkB,SAAIC,OAAoB;IACnD,IAAwCC,2BAAAA,IAAAA,eAAQ,EAAoB,CAAC,QAA9DC,eAAiCD,cAAnBE,kBAAmBF;IAExCD,MAAMI,UAAU,CAAC,SAACC;eAAU,qCACrBA;YACHC,sBAAsB,SAACC,qBAAwB;gBAC3CP,MAAMQ,QAAQ,CAAC,SAACC,KAAQ;oBACpB,IAAMC,kBAAkBC,IAAAA,2BAAgB,EAACJ,qBAAqBE,GAAG,CAAC,eAAe;oBACjFN,gBAAgB,SAACS,SAAY;wBACzB,IAAMC,kBAAkBb,MAAMc,WAAW,GAAGC,QAAQ;wBACpD,OAAOC,OAAOC,IAAI,CAACP,iBAAiBQ,MAAM,CAAC,SAACC,MAAMC,OAAU;4BACxD,IAAIR,OAAO,CAACQ,MAAM,EAAE;gCAChBD,IAAI,CAACC,MAAM,GAAGR,OAAO,CAACQ,MAAM;4BAChC,OAAO;gCACHD,IAAI,CAACC,MAAM,GAAGP,eAAe,CAACO,MAAM,CAACC,QAAQ;4BACjD,CAAC;4BACD,OAAOF;wBACX,GAAG,CAAC;oBACR;oBAEA,OAAO,qCACAV;wBACHP,cAAcQ;;gBAEtB;YACJ;;;IAGJ,IAAMY,iBAAiB,WAAM;QACzBtB,MAAMuB,iBAAiB,CAAC,IAAI;IAChC;IAEA,IAAMC,kBAAkB;eAAMR,OAAOS,MAAM,CAACvB;;QAEfsB;IAA7B,IAAME,iBAAiB;eAAMF,CAAAA,oBAAAA,iBAAiB,CAAC,EAAE,cAApBA,+BAAAA,oBAAwB,IAAI;;IAEzD,OAAO;QACHF,gBAAAA;QACAI,gBAAAA;QACAF,iBAAAA;IACJ;AACJ"}
@@ -14,6 +14,7 @@ var _plasmaReactIcons = require("@coveord/plasma-react-icons");
14
14
  var _plasmaTokens = require("@coveord/plasma-tokens");
15
15
  var _plasmaColors = require("./PlasmaColors");
16
16
  var plasmaTheme = {
17
+ // These are overrides over https://github.com/mantinedev/mantine/blob/master/src/mantine-styles/src/theme/default-theme.ts
17
18
  colorScheme: "light",
18
19
  fontFamily: "canada-type-gibson, sans-serif",
19
20
  black: _plasmaTokens.color.primary.gray[9],
@@ -100,9 +101,7 @@ var plasmaTheme = {
100
101
  styles: function(theme, params) {
101
102
  return {
102
103
  root: {
103
- "&": {
104
- fontWeight: 400
105
- },
104
+ fontWeight: 400,
106
105
  backgroundColor: params.variant === "outline" ? "white" : undefined
107
106
  }
108
107
  };
@@ -134,21 +133,27 @@ var plasmaTheme = {
134
133
  InputWrapper: {
135
134
  defaultProps: {
136
135
  withAsterisk: false
137
- }
138
- },
139
- TextInput: {
140
- defaultProps: {
141
- radius: 8
142
136
  },
143
137
  styles: function(theme) {
144
138
  return {
139
+ label: {
140
+ marginBottom: theme.spacing.xs,
141
+ lineHeight: "20px"
142
+ },
145
143
  description: {
146
- fontSize: "inherit",
147
- paddingBottom: theme.spacing.xs
144
+ lineHeight: "20px",
145
+ fontSize: theme.fontSizes.sm,
146
+ color: theme.colors.gray[7],
147
+ marginBottom: theme.spacing.xs
148
148
  }
149
149
  };
150
150
  }
151
151
  },
152
+ TextInput: {
153
+ defaultProps: {
154
+ radius: 8
155
+ }
156
+ },
152
157
  Tooltip: {
153
158
  defaultProps: {
154
159
  color: "navy",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {ArrowHeadRightSize24Px, InfoSize24Px} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {ButtonStylesParams, MantineThemeOverride, ModalStylesParams} from '@mantine/core';\n\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = {\n colorScheme: 'light',\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 8,\n spacing: {\n xs: 8,\n sm: 16,\n md: 24,\n lg: 32,\n xl: 40,\n },\n primaryColor: 'action',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: 500,\n sizes: {\n h1: {fontSize: 48, lineHeight: '56px', fontWeight: undefined},\n h2: {fontSize: 32, lineHeight: '40px', fontWeight: undefined},\n h3: {fontSize: 28, lineHeight: '40px', fontWeight: undefined},\n h4: {fontSize: 24, lineHeight: '32px', fontWeight: undefined},\n h5: {fontSize: 18, lineHeight: '28px', fontWeight: undefined},\n h6: {fontSize: 16, lineHeight: '24px', fontWeight: undefined},\n },\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n colors: PlasmaColors,\n components: {\n Alert: {\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n color: 'navy',\n },\n styles: {\n title: {\n fontWeight: 500,\n },\n },\n },\n Title: {\n styles: (theme) => ({\n root: {\n '&:is(h1,h2,h3,h4,h5,h6)': {letterSpacing: '0.011em', color: theme.colors.gray[9]},\n },\n }),\n },\n Button: {\n styles: (theme, params: ButtonStylesParams) => ({\n root: {\n '&': {fontWeight: 400},\n backgroundColor: params.variant === 'outline' ? 'white' : undefined,\n },\n }),\n },\n Modal: {\n styles: (theme, {size, fullScreen}: ModalStylesParams) => ({\n modal: {\n width: fullScreen\n ? undefined\n : theme.fn.size({size, sizes: {xs: 320, sm: 440, md: '45%', lg: 1334, xl: '85%'}}),\n },\n }),\n defaultProps: {\n overlayColor: color.primary.navy[9],\n overlayOpacity: 0.9,\n },\n },\n InputWrapper: {\n defaultProps: {\n withAsterisk: false,\n },\n },\n TextInput: {\n defaultProps: {\n radius: 8,\n },\n styles: (theme) => ({\n description: {\n fontSize: 'inherit',\n paddingBottom: theme.spacing.xs,\n },\n }),\n },\n Tooltip: {\n defaultProps: {\n color: 'navy',\n withArrow: true,\n withinPortal: true,\n },\n },\n Breadcrumbs: {\n defaultProps: {\n separator: <ArrowHeadRightSize24Px height={24} />,\n },\n },\n Loader: {\n defaultProps: {\n variant: 'dots',\n color: 'action',\n },\n },\n DateRangePicker: {\n styles: {\n cell: {\n textAlign: 'center',\n },\n },\n },\n Anchor: {\n defaultProps: {\n color: 'action',\n },\n styles: (theme) => ({\n root: {\n ...theme.fn.hover({\n textDecoration: 'underline',\n color: theme.colors.action[8],\n }),\n },\n }),\n },\n Checkbox: {\n defaultProps: {\n radius: 'sm',\n },\n },\n List: {\n styles: () => ({\n root: {\n listStyleType: 'disc',\n },\n }),\n },\n Radio: {\n styles: {\n labelWrapper: {\n display: 'flex',\n alignItems: 'flex-start',\n },\n },\n },\n Popover: {\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n },\n Badge: {\n styles: {\n root: {\n textTransform: 'none',\n padding: '4px 8px',\n fontWeight: 500,\n },\n },\n },\n },\n};\n"],"names":["plasmaTheme","colorScheme","fontFamily","black","color","primary","gray","defaultRadius","spacing","xs","sm","md","lg","xl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","undefined","h2","h3","h4","h5","h6","shadows","colors","PlasmaColors","components","Alert","defaultProps","icon","InfoSize24Px","height","styles","title","Title","theme","root","letterSpacing","Button","params","backgroundColor","variant","Modal","size","fullScreen","modal","width","fn","overlayColor","navy","overlayOpacity","InputWrapper","withAsterisk","TextInput","radius","description","paddingBottom","Tooltip","withArrow","withinPortal","Breadcrumbs","separator","ArrowHeadRightSize24Px","Loader","DateRangePicker","cell","textAlign","Anchor","hover","textDecoration","action","Checkbox","List","listStyleType","Radio","labelWrapper","display","alignItems","Popover","shadow","Badge","textTransform","padding"],"mappings":"AAAA;;;;+BAMaA;;;eAAAA;;;;;gCANsC;4BAC/B;4BAGO;AAEpB,IAAMA,cAAoC;IAC7CC,aAAa;IACbC,YAAY;IACZC,OAAOC,mBAAK,CAACC,OAAO,CAACC,IAAI,CAAC,EAAE;IAC5BC,eAAe;IACfC,SAAS;QACLC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAC,cAAc;IACdC,UAAU;QACNb,YAAY;QACZc,YAAY;QACZC,OAAO;YACHC,IAAI;gBAACC,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DC,IAAI;gBAACH,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DE,IAAI;gBAACJ,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DG,IAAI;gBAACL,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DI,IAAI;gBAACN,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DK,IAAI;gBAACP,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;QAChE;IACJ;IACAM,SAAS;QACLlB,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAe,QAAQC,0BAAY;IACpBC,YAAY;QACRC,OAAO;YACHC,cAAc;gBACVC,oBAAM,qBAACC,8BAAY;oBAACC,QAAQ;;gBAC5B/B,OAAO;YACX;YACAgC,QAAQ;gBACJC,OAAO;oBACHrB,YAAY;gBAChB;YACJ;QACJ;QACAsB,OAAO;YACHF,QAAQ,SAACG;uBAAW;oBAChBC,MAAM;wBACF,2BAA2B;4BAACC,eAAe;4BAAWrC,OAAOmC,MAAMX,MAAM,CAACtB,IAAI,CAAC,EAAE;wBAAA;oBACrF;gBACJ;;QACJ;QACAoC,QAAQ;YACJN,QAAQ,SAACG,OAAOI;uBAAgC;oBAC5CH,MAAM;wBACF,KAAK;4BAACxB,YAAY;wBAAG;wBACrB4B,iBAAiBD,OAAOE,OAAO,KAAK,YAAY,UAAUxB,SAAS;oBACvE;gBACJ;;QACJ;QACAyB,OAAO;YACHV,QAAQ,SAACG;oBAAQQ,aAAAA,MAAMC,mBAAAA;uBAAoC;oBACvDC,OAAO;wBACHC,OAAOF,aACD3B,YACAkB,MAAMY,EAAE,CAACJ,IAAI,CAAC;4BAACA,MAAAA;4BAAM9B,OAAO;gCAACR,IAAI;gCAAKC,IAAI;gCAAKC,IAAI;gCAAOC,IAAI;gCAAMC,IAAI;4BAAK;wBAAC,EAAE;oBAC1F;gBACJ;;YACAmB,cAAc;gBACVoB,cAAchD,mBAAK,CAACC,OAAO,CAACgD,IAAI,CAAC,EAAE;gBACnCC,gBAAgB;YACpB;QACJ;QACAC,cAAc;YACVvB,cAAc;gBACVwB,cAAc,KAAK;YACvB;QACJ;QACAC,WAAW;YACPzB,cAAc;gBACV0B,QAAQ;YACZ;YACAtB,QAAQ,SAACG;uBAAW;oBAChBoB,aAAa;wBACTxC,UAAU;wBACVyC,eAAerB,MAAM/B,OAAO,CAACC,EAAE;oBACnC;gBACJ;;QACJ;QACAoD,SAAS;YACL7B,cAAc;gBACV5B,OAAO;gBACP0D,WAAW,IAAI;gBACfC,cAAc,IAAI;YACtB;QACJ;QACAC,aAAa;YACThC,cAAc;gBACViC,yBAAW,qBAACC,wCAAsB;oBAAC/B,QAAQ;;YAC/C;QACJ;QACAgC,QAAQ;YACJnC,cAAc;gBACVa,SAAS;gBACTzC,OAAO;YACX;QACJ;QACAgE,iBAAiB;YACbhC,QAAQ;gBACJiC,MAAM;oBACFC,WAAW;gBACf;YACJ;QACJ;QACAC,QAAQ;YACJvC,cAAc;gBACV5B,OAAO;YACX;YACAgC,QAAQ,SAACG;uBAAW;oBAChBC,MAAM,kBACCD,MAAMY,EAAE,CAACqB,KAAK,CAAC;wBACdC,gBAAgB;wBAChBrE,OAAOmC,MAAMX,MAAM,CAAC8C,MAAM,CAAC,EAAE;oBACjC;gBAER;;QACJ;QACAC,UAAU;YACN3C,cAAc;gBACV0B,QAAQ;YACZ;QACJ;QACAkB,MAAM;YACFxC,QAAQ;uBAAO;oBACXI,MAAM;wBACFqC,eAAe;oBACnB;gBACJ;;QACJ;QACAC,OAAO;YACH1C,QAAQ;gBACJ2C,cAAc;oBACVC,SAAS;oBACTC,YAAY;gBAChB;YACJ;QACJ;QACAC,SAAS;YACLlD,cAAc;gBACVmD,QAAQ;gBACRrB,WAAW,IAAI;YACnB;QACJ;QACAsB,OAAO;YACHhD,QAAQ;gBACJI,MAAM;oBACF6C,eAAe;oBACfC,SAAS;oBACTtE,YAAY;gBAChB;YACJ;QACJ;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {ArrowHeadRightSize24Px, InfoSize24Px} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {ButtonStylesParams, MantineThemeOverride, ModalStylesParams} from '@mantine/core';\n\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = {\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/src/mantine-styles/src/theme/default-theme.ts\n colorScheme: 'light',\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 8,\n spacing: {\n xs: 8,\n sm: 16,\n md: 24,\n lg: 32,\n xl: 40,\n },\n primaryColor: 'action',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: 500,\n sizes: {\n h1: {fontSize: 48, lineHeight: '56px', fontWeight: undefined},\n h2: {fontSize: 32, lineHeight: '40px', fontWeight: undefined},\n h3: {fontSize: 28, lineHeight: '40px', fontWeight: undefined},\n h4: {fontSize: 24, lineHeight: '32px', fontWeight: undefined},\n h5: {fontSize: 18, lineHeight: '28px', fontWeight: undefined},\n h6: {fontSize: 16, lineHeight: '24px', fontWeight: undefined},\n },\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n colors: PlasmaColors,\n components: {\n Alert: {\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n color: 'navy',\n },\n styles: {\n title: {\n fontWeight: 500,\n },\n },\n },\n Title: {\n styles: (theme) => ({\n root: {\n '&:is(h1,h2,h3,h4,h5,h6)': {letterSpacing: '0.011em', color: theme.colors.gray[9]},\n },\n }),\n },\n Button: {\n styles: (theme, params: ButtonStylesParams) => ({\n root: {\n fontWeight: 400,\n backgroundColor: params.variant === 'outline' ? 'white' : undefined,\n },\n }),\n },\n Modal: {\n styles: (theme, {size, fullScreen}: ModalStylesParams) => ({\n modal: {\n width: fullScreen\n ? undefined\n : theme.fn.size({size, sizes: {xs: 320, sm: 440, md: '45%', lg: 1334, xl: '85%'}}),\n },\n }),\n defaultProps: {\n overlayColor: color.primary.navy[9],\n overlayOpacity: 0.9,\n },\n },\n InputWrapper: {\n defaultProps: {\n withAsterisk: false,\n },\n styles: (theme) => ({\n label: {\n marginBottom: theme.spacing.xs,\n lineHeight: '20px',\n },\n description: {\n lineHeight: '20px',\n fontSize: theme.fontSizes.sm,\n color: theme.colors.gray[7],\n marginBottom: theme.spacing.xs,\n },\n }),\n },\n TextInput: {\n defaultProps: {\n radius: 8,\n },\n },\n Tooltip: {\n defaultProps: {\n color: 'navy',\n withArrow: true,\n withinPortal: true,\n },\n },\n Breadcrumbs: {\n defaultProps: {\n separator: <ArrowHeadRightSize24Px height={24} />,\n },\n },\n Loader: {\n defaultProps: {\n variant: 'dots',\n color: 'action',\n },\n },\n DateRangePicker: {\n styles: {\n cell: {\n textAlign: 'center',\n },\n },\n },\n Anchor: {\n defaultProps: {\n color: 'action',\n },\n styles: (theme) => ({\n root: {\n ...theme.fn.hover({\n textDecoration: 'underline',\n color: theme.colors.action[8],\n }),\n },\n }),\n },\n Checkbox: {\n defaultProps: {\n radius: 'sm',\n },\n },\n List: {\n styles: () => ({\n root: {\n listStyleType: 'disc',\n },\n }),\n },\n Radio: {\n styles: {\n labelWrapper: {\n display: 'flex',\n alignItems: 'flex-start',\n },\n },\n },\n Popover: {\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n },\n Badge: {\n styles: {\n root: {\n textTransform: 'none',\n padding: '4px 8px',\n fontWeight: 500,\n },\n },\n },\n },\n};\n"],"names":["plasmaTheme","colorScheme","fontFamily","black","color","primary","gray","defaultRadius","spacing","xs","sm","md","lg","xl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","undefined","h2","h3","h4","h5","h6","shadows","colors","PlasmaColors","components","Alert","defaultProps","icon","InfoSize24Px","height","styles","title","Title","theme","root","letterSpacing","Button","params","backgroundColor","variant","Modal","size","fullScreen","modal","width","fn","overlayColor","navy","overlayOpacity","InputWrapper","withAsterisk","label","marginBottom","description","fontSizes","TextInput","radius","Tooltip","withArrow","withinPortal","Breadcrumbs","separator","ArrowHeadRightSize24Px","Loader","DateRangePicker","cell","textAlign","Anchor","hover","textDecoration","action","Checkbox","List","listStyleType","Radio","labelWrapper","display","alignItems","Popover","shadow","Badge","textTransform","padding"],"mappings":"AAAA;;;;+BAMaA;;;eAAAA;;;;;gCANsC;4BAC/B;4BAGO;AAEpB,IAAMA,cAAoC;IAC7C,2HAA2H;IAC3HC,aAAa;IACbC,YAAY;IACZC,OAAOC,mBAAK,CAACC,OAAO,CAACC,IAAI,CAAC,EAAE;IAC5BC,eAAe;IACfC,SAAS;QACLC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAC,cAAc;IACdC,UAAU;QACNb,YAAY;QACZc,YAAY;QACZC,OAAO;YACHC,IAAI;gBAACC,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DC,IAAI;gBAACH,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DE,IAAI;gBAACJ,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DG,IAAI;gBAACL,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DI,IAAI;gBAACN,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;YAC5DK,IAAI;gBAACP,UAAU;gBAAIC,YAAY;gBAAQJ,YAAYK;YAAS;QAChE;IACJ;IACAM,SAAS;QACLlB,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAe,QAAQC,0BAAY;IACpBC,YAAY;QACRC,OAAO;YACHC,cAAc;gBACVC,oBAAM,qBAACC,8BAAY;oBAACC,QAAQ;;gBAC5B/B,OAAO;YACX;YACAgC,QAAQ;gBACJC,OAAO;oBACHrB,YAAY;gBAChB;YACJ;QACJ;QACAsB,OAAO;YACHF,QAAQ,SAACG;uBAAW;oBAChBC,MAAM;wBACF,2BAA2B;4BAACC,eAAe;4BAAWrC,OAAOmC,MAAMX,MAAM,CAACtB,IAAI,CAAC,EAAE;wBAAA;oBACrF;gBACJ;;QACJ;QACAoC,QAAQ;YACJN,QAAQ,SAACG,OAAOI;uBAAgC;oBAC5CH,MAAM;wBACFxB,YAAY;wBACZ4B,iBAAiBD,OAAOE,OAAO,KAAK,YAAY,UAAUxB,SAAS;oBACvE;gBACJ;;QACJ;QACAyB,OAAO;YACHV,QAAQ,SAACG;oBAAQQ,aAAAA,MAAMC,mBAAAA;uBAAoC;oBACvDC,OAAO;wBACHC,OAAOF,aACD3B,YACAkB,MAAMY,EAAE,CAACJ,IAAI,CAAC;4BAACA,MAAAA;4BAAM9B,OAAO;gCAACR,IAAI;gCAAKC,IAAI;gCAAKC,IAAI;gCAAOC,IAAI;gCAAMC,IAAI;4BAAK;wBAAC,EAAE;oBAC1F;gBACJ;;YACAmB,cAAc;gBACVoB,cAAchD,mBAAK,CAACC,OAAO,CAACgD,IAAI,CAAC,EAAE;gBACnCC,gBAAgB;YACpB;QACJ;QACAC,cAAc;YACVvB,cAAc;gBACVwB,cAAc,KAAK;YACvB;YACApB,QAAQ,SAACG;uBAAW;oBAChBkB,OAAO;wBACHC,cAAcnB,MAAM/B,OAAO,CAACC,EAAE;wBAC9BW,YAAY;oBAChB;oBACAuC,aAAa;wBACTvC,YAAY;wBACZD,UAAUoB,MAAMqB,SAAS,CAAClD,EAAE;wBAC5BN,OAAOmC,MAAMX,MAAM,CAACtB,IAAI,CAAC,EAAE;wBAC3BoD,cAAcnB,MAAM/B,OAAO,CAACC,EAAE;oBAClC;gBACJ;;QACJ;QACAoD,WAAW;YACP7B,cAAc;gBACV8B,QAAQ;YACZ;QACJ;QACAC,SAAS;YACL/B,cAAc;gBACV5B,OAAO;gBACP4D,WAAW,IAAI;gBACfC,cAAc,IAAI;YACtB;QACJ;QACAC,aAAa;YACTlC,cAAc;gBACVmC,yBAAW,qBAACC,wCAAsB;oBAACjC,QAAQ;;YAC/C;QACJ;QACAkC,QAAQ;YACJrC,cAAc;gBACVa,SAAS;gBACTzC,OAAO;YACX;QACJ;QACAkE,iBAAiB;YACblC,QAAQ;gBACJmC,MAAM;oBACFC,WAAW;gBACf;YACJ;QACJ;QACAC,QAAQ;YACJzC,cAAc;gBACV5B,OAAO;YACX;YACAgC,QAAQ,SAACG;uBAAW;oBAChBC,MAAM,kBACCD,MAAMY,EAAE,CAACuB,KAAK,CAAC;wBACdC,gBAAgB;wBAChBvE,OAAOmC,MAAMX,MAAM,CAACgD,MAAM,CAAC,EAAE;oBACjC;gBAER;;QACJ;QACAC,UAAU;YACN7C,cAAc;gBACV8B,QAAQ;YACZ;QACJ;QACAgB,MAAM;YACF1C,QAAQ;uBAAO;oBACXI,MAAM;wBACFuC,eAAe;oBACnB;gBACJ;;QACJ;QACAC,OAAO;YACH5C,QAAQ;gBACJ6C,cAAc;oBACVC,SAAS;oBACTC,YAAY;gBAChB;YACJ;QACJ;QACAC,SAAS;YACLpD,cAAc;gBACVqD,QAAQ;gBACRrB,WAAW,IAAI;YACnB;QACJ;QACAsB,OAAO;YACHlD,QAAQ;gBACJI,MAAM;oBACF+C,eAAe;oBACfC,SAAS;oBACTxE,YAAY;gBAChB;YACJ;QACJ;IACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAMH,YAAY,EAGZ,qBAAqB,EAErB,SAAS,EAKZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAK7D,QAAA,MAAM,SAAS;;;;CAQZ,CAAC;AAEJ,UAAU,eACN,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,EACvE,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChE,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qDAAqD;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAClC;AASD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CA6IzD,CAAC"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAMH,YAAY,EAGZ,qBAAqB,EAErB,SAAS,EAKZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAK7D,QAAA,MAAM,SAAS;;;;CAQZ,CAAC;AAEJ,UAAU,eACN,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,EACvE,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChE,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qDAAqD;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAClC;AASD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CA2IzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,YAAY,EAGZ,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EAIZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIhC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,UAAU,eAAe,CAAC,CAAC,CACvB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,EACvE,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC7C;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD,eAAO,MAAM,UAAU,+CAqHtB,CAAC"}
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,YAAY,EAGZ,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EAIZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIhC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,UAAU,eAAe,CAAC,CAAC,CACvB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,EACvE,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC7C;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD,eAAO,MAAM,UAAU,+CAmHtB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ColumnDef } from '@tanstack/react-table';
2
- import { InitialTableState } from '@tanstack/table-core';
2
+ import { CoreOptions, InitialTableState } from '@tanstack/table-core';
3
3
  import { ReactElement, ReactNode } from 'react';
4
4
  import { TableActions } from './TableActions';
5
5
  import { TableCollapsibleColumn } from './TableCollapsibleColumn';
@@ -16,6 +16,10 @@ interface TableProps<T> {
16
16
  * Data to display in the table
17
17
  */
18
18
  data: T[];
19
+ /**
20
+ * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.
21
+ */
22
+ getRowId?: CoreOptions<T>['getRowId'];
19
23
  /**
20
24
  * Columns to display in the table.
21
25
  *
@@ -70,6 +74,12 @@ interface TableProps<T> {
70
74
  * Action passed when user double clicks on a row
71
75
  */
72
76
  doubleClickAction?: (datum: T) => void;
77
+ /**
78
+ * Whether the user can select multiple rows in order to perform actions in bulk
79
+ *
80
+ * @default false
81
+ */
82
+ multiRowSelectionEnabled?: boolean;
73
83
  }
74
84
  interface TableType {
75
85
  <T>(props: TableProps<T>): ReactElement;
@@ -80,8 +90,8 @@ interface TableType {
80
90
  Pagination: typeof TablePagination;
81
91
  PerPage: typeof TablePerPage;
82
92
  Predicate: typeof TablePredicate;
83
- CollapsibleColumn: typeof TableCollapsibleColumn;
84
93
  DateRangePicker: typeof TableDateRangePicker;
94
+ CollapsibleColumn: typeof TableCollapsibleColumn;
85
95
  }
86
96
  export declare const Table: TableType;
87
97
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,EACH,SAAS,EAOZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAqB,YAAY,EAAE,SAAS,EAAmC,MAAM,OAAO,CAAC;AAEpG,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,kBAAkB,EAAgB,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAgDhD,UAAU,UAAU,CAAC,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CAC1C;AAED,UAAU,SAAS;IACf,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;IACxC,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,UAAU,EAAE,OAAO,eAAe,CAAC;IACnC,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,SAAS,EAAE,OAAO,cAAc,CAAC;IACjC,iBAAiB,EAAE,OAAO,sBAAsB,CAAC;IACjD,eAAe,EAAE,OAAO,oBAAoB,CAAC;CAChD;AAED,eAAO,MAAM,KAAK,EAAE,SA4JnB,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,EACH,SAAS,EAOZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAqB,YAAY,EAAE,SAAS,EAAmC,MAAM,OAAO,CAAC;AAEpG,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,kBAAkB,EAAgB,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AA4DhD,UAAU,UAAU,CAAC,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtC;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,UAAU,SAAS;IACf,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;IACxC,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,UAAU,EAAE,OAAO,eAAe,CAAC;IACnC,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,SAAS,EAAE,OAAO,cAAc,CAAC;IACjC,eAAe,EAAE,OAAO,oBAAoB,CAAC;IAC7C,iBAAiB,EAAE,OAAO,sBAAsB,CAAC;CACpD;AAED,eAAO,MAAM,KAAK,EAAE,SAmKnB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { ReactElement, ReactNode } from 'react';
2
2
  interface TableActionsProps<T> {
3
3
  /**
4
- * Function that return components for the selected row
4
+ * Function that return components for the selected row or selected rows when multi row selection is enabled
5
5
  *
6
- * @param datum the data of the selected row
6
+ * @param datum the data of the selected row(s)
7
7
  * @example
8
8
  * <Table.Actions<MyType>>
9
9
  * {(datum: MyType) => (
@@ -19,7 +19,7 @@ interface TableActionsProps<T> {
19
19
  * )}
20
20
  * </Table.Actions>
21
21
  */
22
- children: (datum: T) => ReactNode;
22
+ children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);
23
23
  }
24
24
  export declare const TableActions: <T>({ children }: TableActionsProps<T>) => ReactElement;
25
25
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TableActions.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAG9C,UAAU,iBAAiB,CAAC,CAAC;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,6CAA2C,YASnE,CAAC"}
1
+ {"version":3,"file":"TableActions.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAG9C,UAAU,iBAAiB,CAAC,CAAC;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,YAAY,6CAA2C,YASnE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ColumnDef } from '@tanstack/table-core';
2
2
  /**
3
- * Generic column to use when your table need collapsible rows
3
+ * Generic column to use when your table needs collapsible rows
4
4
  */
5
5
  export declare const TableCollapsibleColumn: ColumnDef<unknown>;
6
6
  //# sourceMappingURL=TableCollapsibleColumn.d.ts.map
@@ -37,9 +37,13 @@ type TableContextType = {
37
37
  */
38
38
  clearFilters: () => void;
39
39
  /**
40
- * Function that returns the selected row if any
40
+ * Function that returns the selected row if any.
41
41
  */
42
42
  getSelectedRow: () => any | null;
43
+ /**
44
+ * Function that returns an array of the selected rows. Most useful when multi row selection is enabled.
45
+ */
46
+ getSelectedRows: () => any[];
43
47
  /**
44
48
  * Function that clear the selected row
45
49
  */
@@ -52,6 +56,7 @@ type TableContextType = {
52
56
  * Table container ref
53
57
  */
54
58
  containerRef: RefObject<HTMLDivElement>;
59
+ multiRowSelectionEnabled: boolean;
55
60
  };
56
61
  export declare const TableContext: import("react").Context<TableContextType>;
57
62
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAgB,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEzD,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;AAE9E,MAAM,MAAM,aAAa,GAAG;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,SAAS,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC;IAC1D;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvC;;OAEG;IACH,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,YAAY,2CAA+C,CAAC"}
1
+ {"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAgB,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEzD,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;AAE9E,MAAM,MAAM,aAAa,GAAG;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,SAAS,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC;IAC1D;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,EAAE,CAAC;IAC7B;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvC;;OAEG;IACH,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC,wBAAwB,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,YAAY,2CAA+C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0B,SAAS,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAc,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAGrD,QAAA,MAAM,SAAS;;;;CAOZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IACnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CA0B3D,CAAC"}
1
+ {"version":3,"file":"TableFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0B,SAAS,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAc,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAGrD,QAAA,MAAM,SAAS;;;;CAOZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IACnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CAgC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAS,SAAS,EAAC,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEnD,QAAA,MAAM,SAAS;;;;CAQZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAEnE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AACD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CAa3D,CAAC"}
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuB,YAAY,EAAS,SAAS,EAAiB,MAAM,eAAe,CAAC;AACnG,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAInD,QAAA,MAAM,SAAS;;;;CAQZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAEnE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AACD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CA8B3D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ColumnDef } from '@tanstack/table-core';
2
+ /**
3
+ * Generic column to use when your table needs multi selection of rows
4
+ */
5
+ export declare const TableSelectableColumn: ColumnDef<unknown>;
6
+ //# sourceMappingURL=TableSelectableColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSelectableColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableSelectableColumn.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,OAAO,CA0BpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Th.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAkC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAgC9E,UAAU,OAAO,CAAC,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAC9B;AAYD,eAAO,MAAM,EAAE,4CAmCd,CAAC"}
1
+ {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Th.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAkC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAqB9E,UAAU,OAAO,CAAC,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAC9B;AAYD,eAAO,MAAM,EAAE,4CAiCd,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Table } from '@tanstack/table-core';
2
+ export declare const useRowSelection: <T>(table: Table<T>) => {
3
+ clearSelection: () => void;
4
+ getSelectedRow: () => T;
5
+ getSelectedRows: () => T[];
6
+ };
7
+ //# sourceMappingURL=useRowSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRowSelection.d.ts","sourceRoot":"","sources":["../../../../src/components/table/useRowSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAG7D,eAAO,MAAM,eAAe;;;;CAyC3B,CAAC"}