@popmenu/table 0.127.0 → 0.127.1

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 (138) hide show
  1. package/build/cjs/components/ColumnFilterChip/ColumnFilterChip.d.ts +0 -1
  2. package/build/cjs/components/ColumnFilterResetButton/ColumnFilterResetButton.d.ts +0 -1
  3. package/build/cjs/components/FilterPanel/FilterControl/FilterControl.d.ts +0 -1
  4. package/build/cjs/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.d.ts +0 -1
  5. package/build/cjs/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.d.ts +0 -1
  6. package/build/cjs/components/FilterPanel/FilterPanel.d.ts +0 -1
  7. package/build/cjs/components/FilterPanel/FilterPanelContext/FilterPanelContext.d.ts +1 -1
  8. package/build/cjs/components/FilterPanel/FilterPanelProps.d.ts +2 -2
  9. package/build/cjs/components/FilterPanel/Panel/Panel.d.ts +1 -2
  10. package/build/cjs/components/FilterPanel/Trigger/Trigger.d.ts +1 -1
  11. package/build/cjs/components/GlobalFilter/GlobalFilter.d.ts +0 -1
  12. package/build/cjs/components/GlobalFilter/index.d.ts +1 -1
  13. package/build/cjs/components/RowActions/RowActions.d.ts +0 -1
  14. package/build/cjs/components/RowActions/index.d.ts +1 -1
  15. package/build/cjs/components/Table/Table.d.ts +0 -1
  16. package/build/cjs/components/Table/TableStyles.d.ts +1 -1
  17. package/build/cjs/components/Table/index.d.ts +1 -1
  18. package/build/cjs/components/TableBody/TableBody.d.ts +1 -1
  19. package/build/cjs/components/TableCell/TableCell.d.ts +1 -1
  20. package/build/cjs/components/TableContext/index.d.ts +2 -3
  21. package/build/cjs/components/TableControlsContainer/TableControlsContainer.d.ts +0 -1
  22. package/build/cjs/components/TableControlsContainer/TableControlsContainerProps.d.ts +1 -1
  23. package/build/cjs/components/TableFooter/TableFooter.d.ts +1 -1
  24. package/build/cjs/components/TableHeader/TableHeader.d.ts +1 -1
  25. package/build/cjs/components/TableHeaderCell/TableHeaderCell.d.ts +0 -1
  26. package/build/cjs/components/TableHeaderCell/TableHeaderCellProps.d.ts +1 -1
  27. package/build/cjs/components/TableHeaderCell/index.d.ts +1 -1
  28. package/build/cjs/components/TableHeaderRow/TableHeaderRow.d.ts +1 -1
  29. package/build/cjs/components/TableRow/TableRow.d.ts +1 -1
  30. package/build/cjs/components/index.d.ts +6 -3
  31. package/build/cjs/hooks/useColumnFilters.d.ts +1 -1
  32. package/build/cjs/index.js +469 -451
  33. package/build/cjs/index.js.map +1 -1
  34. package/build/esm/components/ColumnFilterChip/ColumnFilterChip.d.ts +0 -1
  35. package/build/esm/components/ColumnFilterChip/ColumnFilterChip.js +5 -6
  36. package/build/esm/components/ColumnFilterChip/ColumnFilterChip.js.map +1 -1
  37. package/build/esm/components/ColumnFilterChip/ColumnFilterChipStyles.js +1 -1
  38. package/build/esm/components/ColumnFilterChip/ColumnFilterChipStyles.js.map +1 -1
  39. package/build/esm/components/ColumnFilterResetButton/ColumnFilterResetButton.d.ts +0 -1
  40. package/build/esm/components/ColumnFilterResetButton/ColumnFilterResetButton.js +3 -4
  41. package/build/esm/components/ColumnFilterResetButton/ColumnFilterResetButton.js.map +1 -1
  42. package/build/esm/components/FilterPanel/FilterControl/FilterControl.d.ts +0 -1
  43. package/build/esm/components/FilterPanel/FilterControl/FilterControl.js +5 -6
  44. package/build/esm/components/FilterPanel/FilterControl/FilterControl.js.map +1 -1
  45. package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.d.ts +0 -1
  46. package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.js +28 -30
  47. package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.js.map +1 -1
  48. package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilterStyles.js +2 -2
  49. package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilterStyles.js.map +1 -1
  50. package/build/esm/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.d.ts +0 -1
  51. package/build/esm/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.js +8 -8
  52. package/build/esm/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.js.map +1 -1
  53. package/build/esm/components/FilterPanel/FilterPanel.d.ts +0 -1
  54. package/build/esm/components/FilterPanel/FilterPanel.js +5 -5
  55. package/build/esm/components/FilterPanel/FilterPanel.js.map +1 -1
  56. package/build/esm/components/FilterPanel/FilterPanelContext/FilterPanelContext.d.ts +1 -1
  57. package/build/esm/components/FilterPanel/FilterPanelContext/FilterPanelContext.js +3 -3
  58. package/build/esm/components/FilterPanel/FilterPanelContext/FilterPanelContext.js.map +1 -1
  59. package/build/esm/components/FilterPanel/FilterPanelProps.d.ts +2 -2
  60. package/build/esm/components/FilterPanel/Panel/Panel.d.ts +1 -2
  61. package/build/esm/components/FilterPanel/Panel/Panel.js +21 -23
  62. package/build/esm/components/FilterPanel/Panel/Panel.js.map +1 -1
  63. package/build/esm/components/FilterPanel/Panel/PanelStyles.js +3 -3
  64. package/build/esm/components/FilterPanel/Panel/PanelStyles.js.map +1 -1
  65. package/build/esm/components/FilterPanel/Trigger/Trigger.d.ts +1 -1
  66. package/build/esm/components/FilterPanel/Trigger/Trigger.js +3 -3
  67. package/build/esm/components/FilterPanel/Trigger/Trigger.js.map +1 -1
  68. package/build/esm/components/FilterPanel/Trigger/TriggerStyles.js +1 -1
  69. package/build/esm/components/FilterPanel/Trigger/TriggerStyles.js.map +1 -1
  70. package/build/esm/components/GlobalFilter/GlobalFilter.d.ts +0 -1
  71. package/build/esm/components/GlobalFilter/GlobalFilter.js +6 -7
  72. package/build/esm/components/GlobalFilter/GlobalFilter.js.map +1 -1
  73. package/build/esm/components/GlobalFilter/GlobalFilterStyles.js +1 -1
  74. package/build/esm/components/GlobalFilter/GlobalFilterStyles.js.map +1 -1
  75. package/build/esm/components/GlobalFilter/index.d.ts +1 -1
  76. package/build/esm/components/RowActions/RowActions.d.ts +0 -1
  77. package/build/esm/components/RowActions/RowActions.js +14 -18
  78. package/build/esm/components/RowActions/RowActions.js.map +1 -1
  79. package/build/esm/components/RowActions/index.d.ts +1 -1
  80. package/build/esm/components/Table/Table.d.ts +0 -1
  81. package/build/esm/components/Table/Table.js +76 -56
  82. package/build/esm/components/Table/Table.js.map +1 -1
  83. package/build/esm/components/Table/TableStyles.d.ts +1 -1
  84. package/build/esm/components/Table/TableStyles.js +17 -22
  85. package/build/esm/components/Table/TableStyles.js.map +1 -1
  86. package/build/esm/components/Table/index.d.ts +1 -1
  87. package/build/esm/components/TableBody/TableBody.d.ts +1 -1
  88. package/build/esm/components/TableBody/TableBody.js +3 -4
  89. package/build/esm/components/TableBody/TableBody.js.map +1 -1
  90. package/build/esm/components/TableCell/TableCell.d.ts +1 -1
  91. package/build/esm/components/TableCell/TableCell.js +4 -5
  92. package/build/esm/components/TableCell/TableCell.js.map +1 -1
  93. package/build/esm/components/TableCell/TableCellStyles.js +4 -4
  94. package/build/esm/components/TableCell/TableCellStyles.js.map +1 -1
  95. package/build/esm/components/TableContext/index.d.ts +2 -3
  96. package/build/esm/components/TableContext/index.js +1 -1
  97. package/build/esm/components/TableContext/index.js.map +1 -1
  98. package/build/esm/components/TableControlsContainer/TableControlsContainer.d.ts +0 -1
  99. package/build/esm/components/TableControlsContainer/TableControlsContainer.js +26 -10
  100. package/build/esm/components/TableControlsContainer/TableControlsContainer.js.map +1 -1
  101. package/build/esm/components/TableControlsContainer/TableControlsContainerProps.d.ts +1 -1
  102. package/build/esm/components/TableFooter/TableFooter.d.ts +1 -1
  103. package/build/esm/components/TableFooter/TableFooter.js +1 -1
  104. package/build/esm/components/TableFooter/TableFooter.js.map +1 -1
  105. package/build/esm/components/TableHeader/TableHeader.d.ts +1 -1
  106. package/build/esm/components/TableHeader/TableHeader.js +3 -4
  107. package/build/esm/components/TableHeader/TableHeader.js.map +1 -1
  108. package/build/esm/components/TableHeaderCell/TableHeaderCell.d.ts +0 -1
  109. package/build/esm/components/TableHeaderCell/TableHeaderCell.js +13 -15
  110. package/build/esm/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  111. package/build/esm/components/TableHeaderCell/TableHeaderCellProps.d.ts +1 -1
  112. package/build/esm/components/TableHeaderCell/TableHeaderCellStyles.js +3 -6
  113. package/build/esm/components/TableHeaderCell/TableHeaderCellStyles.js.map +1 -1
  114. package/build/esm/components/TableHeaderCell/index.d.ts +1 -1
  115. package/build/esm/components/TableHeaderRow/TableHeaderRow.d.ts +1 -1
  116. package/build/esm/components/TableHeaderRow/TableHeaderRow.js +3 -4
  117. package/build/esm/components/TableHeaderRow/TableHeaderRow.js.map +1 -1
  118. package/build/esm/components/TableRow/TableRow.d.ts +1 -1
  119. package/build/esm/components/TableRow/TableRow.js +4 -5
  120. package/build/esm/components/TableRow/TableRow.js.map +1 -1
  121. package/build/esm/components/TableRow/TableRowStyles.js +4 -4
  122. package/build/esm/components/TableRow/TableRowStyles.js.map +1 -1
  123. package/build/esm/components/index.d.ts +6 -3
  124. package/build/esm/hooks/useColumnFilters.d.ts +1 -1
  125. package/build/esm/hooks/useColumnFilters.js +33 -35
  126. package/build/esm/hooks/useColumnFilters.js.map +1 -1
  127. package/build/esm/hooks/useStagedColumnFilters.js +22 -27
  128. package/build/esm/hooks/useStagedColumnFilters.js.map +1 -1
  129. package/build/esm/index.js +2 -2
  130. package/build/esm/util/coercedValueIncludesString.js +2 -2
  131. package/build/esm/util/coercedValueIncludesString.js.map +1 -1
  132. package/build/esm/util/getTableMinHeight.js +11 -11
  133. package/build/esm/util/getTableMinHeight.js.map +1 -1
  134. package/build/esm/util/tableConstants.js +1 -1
  135. package/build/esm/util/tableConstants.js.map +1 -1
  136. package/build/esm/util/validateRowAction.js +5 -5
  137. package/build/esm/util/validateRowAction.js.map +1 -1
  138. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sources":["../../../../src/components/TableRow/TableRow.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren } from 'react'\nimport { useTableRowStyles } from './TableRowStyles'\n\ntype TableRowProps = PropsWithChildren<HTMLAttributes<HTMLTableRowElement>>\n\nexport const TableRow = (props: TableRowProps) => {\n const { children, ...restProps } = props\n const { root } = useTableRowStyles(props)\n return (\n <tr data-table-element=\"body-row\" className={root} {...restProps}>\n {children}\n </tr>\n )\n}\n"],"names":[],"mappings":";;;;AAKO,IAAM,QAAQ,GAAG,UAAC,KAAoB,EAAA;IACnC,IAAA,QAAQ,GAAmB,KAAK,CAAxB,QAAA,EAAK,SAAS,GAAA,MAAA,CAAK,KAAK,EAAlC,CAA0B,UAAA,CAAA,CAAF;AACtB,IAAA,IAAA,IAAI,GAAK,iBAAiB,CAAC,KAAK,CAAC,KAA7B;AACZ,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAA,oBAAA,EAAuB,UAAU,EAAC,SAAS,EAAE,IAAI,EAAA,EAAM,SAAS,CAAA,EAC7D,QAAQ,CACN;AAET;;;;"}
1
+ {"version":3,"file":"TableRow.js","sources":["../../../../src/components/TableRow/TableRow.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren } from 'react'\nimport { useTableRowStyles } from './TableRowStyles'\n\ntype TableRowProps = PropsWithChildren<HTMLAttributes<HTMLTableRowElement>>\n\nexport const TableRow = (props: TableRowProps) => {\n const { children, ...restProps } = props\n const { root } = useTableRowStyles(props)\n return (\n <tr data-table-element=\"body-row\" className={root} {...restProps}>\n {children}\n </tr>\n )\n}\n"],"names":[],"mappings":";;;AAKa,MAAA,QAAQ,GAAG,CAAC,KAAoB,KAAI;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC;AACzC,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,oBAAA,EAAuB,UAAU,EAAC,SAAS,EAAE,IAAI,EAAA,GAAM,SAAS,EAAA,EAC7D,QAAQ,CACN;AAET;;;;"}
@@ -1,12 +1,12 @@
1
1
  import { makeStyles } from '@material-ui/core';
2
2
 
3
- var useTableRowStyles = makeStyles(function (theme) { return ({
4
- root: function () { return ({
3
+ const useTableRowStyles = makeStyles((theme) => ({
4
+ root: () => ({
5
5
  '&:nth-child(even)': {
6
6
  backgroundColor: theme.palette.grey[100],
7
7
  },
8
- }); },
9
- }); });
8
+ }),
9
+ }));
10
10
 
11
11
  export { useTableRowStyles };
12
12
  //# sourceMappingURL=TableRowStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowStyles.js","sources":["../../../../src/components/TableRow/TableRowStyles.ts"],"sourcesContent":["import { makeStyles } from '@material-ui/core'\n\nexport const useTableRowStyles = makeStyles((theme) => ({\n root: () => ({\n '&:nth-child(even)': {\n backgroundColor: theme.palette.grey[100],\n },\n }),\n}))\n"],"names":[],"mappings":";;AAEa,IAAA,iBAAiB,GAAG,UAAU,CAAC,UAAC,KAAK,EAAK,EAAA,QAAC;IACtD,IAAI,EAAE,YAAM,EAAA,QAAC;AACX,QAAA,mBAAmB,EAAE;YACnB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,SAAA;AACF,KAAA,IAAC;CACH,EAAC,EAAA;;;;"}
1
+ {"version":3,"file":"TableRowStyles.js","sources":["../../../../src/components/TableRow/TableRowStyles.ts"],"sourcesContent":["import { makeStyles } from '@material-ui/core'\n\nexport const useTableRowStyles = makeStyles((theme) => ({\n root: () => ({\n '&:nth-child(even)': {\n backgroundColor: theme.palette.grey[100],\n },\n }),\n}))\n"],"names":[],"mappings":";;AAEa,MAAA,iBAAiB,GAAG,UAAU,CAAC,CAAC,KAAK,MAAM;AACtD,IAAA,IAAI,EAAE,OAAO;AACX,QAAA,mBAAmB,EAAE;YACnB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,SAAA;KACF,CAAC;AACH,CAAA,CAAC;;;;"}
@@ -1,10 +1,13 @@
1
- export { Table, TableProps } from './Table';
2
- export { RowActions, RowActionsProps } from './RowActions';
3
1
  export { GlobalFilter } from './GlobalFilter';
2
+ export { RowActions } from './RowActions';
3
+ export type { RowActionsProps } from './RowActions';
4
+ export { Table } from './Table';
5
+ export type { TableProps } from './Table';
4
6
  export { TableBody } from './TableBody';
5
7
  export { TableCell } from './TableCell';
6
8
  export { TableFooter } from './TableFooter';
7
9
  export { TableHeader } from './TableHeader';
8
- export { TableHeaderCell, TableHeaderCellProps } from './TableHeaderCell';
10
+ export { TableHeaderCell } from './TableHeaderCell';
11
+ export type { TableHeaderCellProps } from './TableHeaderCell';
9
12
  export { TableHeaderRow } from './TableHeaderRow';
10
13
  export { TableRow } from './TableRow';
@@ -5,5 +5,5 @@ export declare const useColumnFilters: (table: Table<unknown>) => {
5
5
  hasColumnFilters: boolean;
6
6
  deselectColumnFilter: (columnFilter: ColumnFilter) => void;
7
7
  formatSelectedFilterText: (columnFilter: ColumnFilter) => [string, string];
8
- resetColumnFilters: (defaultState?: boolean | undefined) => void;
8
+ resetColumnFilters: (defaultState?: boolean) => void;
9
9
  };
@@ -1,56 +1,54 @@
1
- import { __spreadArray, __assign } from 'tslib';
2
-
3
- var useColumnFilters = function (table) {
4
- var selectedColumnFilters = getSelectedColumnFilters(table.getState());
5
- var columnFilters = getColumnFilters(table.getAllFlatColumns());
6
- var hasColumnFilters = columnFilters.length > 0;
7
- var deselectColumnFilter = makeDeselectColumnFilter(table);
8
- var formatSelectedFilterText = makeFormatSelectedFilterText(table);
9
- var resetColumnFilters = table.resetColumnFilters;
1
+ const useColumnFilters = (table) => {
2
+ const selectedColumnFilters = getSelectedColumnFilters(table.getState());
3
+ const columnFilters = getColumnFilters(table.getAllFlatColumns());
4
+ const hasColumnFilters = columnFilters.length > 0;
5
+ const deselectColumnFilter = makeDeselectColumnFilter(table);
6
+ const formatSelectedFilterText = makeFormatSelectedFilterText(table);
7
+ const resetColumnFilters = table.resetColumnFilters;
10
8
  return {
11
- selectedColumnFilters: selectedColumnFilters,
12
- columnFilters: columnFilters,
13
- hasColumnFilters: hasColumnFilters,
14
- deselectColumnFilter: deselectColumnFilter,
15
- formatSelectedFilterText: formatSelectedFilterText,
16
- resetColumnFilters: resetColumnFilters,
9
+ selectedColumnFilters,
10
+ columnFilters,
11
+ hasColumnFilters,
12
+ deselectColumnFilter,
13
+ formatSelectedFilterText,
14
+ resetColumnFilters,
17
15
  };
18
16
  };
19
17
  function getSelectedColumnFilters(state) {
20
- var columnFilters = state.columnFilters;
21
- var selectedColumnFilters = columnFilters.reduce(function (acc, columnFilter) {
22
- var id = columnFilter.id, value = columnFilter.value;
23
- var selections = [];
18
+ const { columnFilters } = state;
19
+ const selectedColumnFilters = columnFilters.reduce((acc, columnFilter) => {
20
+ const { id, value } = columnFilter;
21
+ const selections = [];
24
22
  if (value) {
25
23
  if (Array.isArray(value)) {
26
- value.forEach(function (innerValue) {
27
- selections.push({ id: id, value: innerValue });
24
+ value.forEach((innerValue) => {
25
+ selections.push({ id, value: innerValue });
28
26
  });
29
27
  }
30
28
  else if (typeof value === 'string' || typeof value === 'number') {
31
- selections.push({ id: id, value: value });
29
+ selections.push({ id, value });
32
30
  }
33
31
  }
34
- return __spreadArray(__spreadArray([], acc), selections);
32
+ return [...acc, ...selections];
35
33
  }, []);
36
34
  return selectedColumnFilters;
37
35
  }
38
36
  function getColumnFilters(columns) {
39
37
  return columns
40
- .map(function (column) {
41
- var meta = column.columnDef.meta;
42
- if (meta === null || meta === void 0 ? void 0 : meta.filter) {
43
- return __assign({ columnId: column.id }, meta.filter);
38
+ .map((column) => {
39
+ const { meta } = column.columnDef;
40
+ if (meta?.filter) {
41
+ return { columnId: column.id, ...meta.filter };
44
42
  }
45
43
  })
46
44
  .filter(Boolean);
47
45
  }
48
46
  function makeDeselectColumnFilter(table) {
49
47
  return function (columnFilter) {
50
- var column = table.getColumn(columnFilter.id);
51
- column.setFilterValue(function (prev) {
48
+ const column = table.getColumn(columnFilter.id);
49
+ column.setFilterValue((prev) => {
52
50
  if (Array.isArray(prev)) {
53
- return prev.filter(function (value) { return value !== columnFilter.value; });
51
+ return prev.filter((value) => value !== columnFilter.value);
54
52
  }
55
53
  else if (typeof prev === 'string' || typeof prev === 'number') {
56
54
  return null;
@@ -61,11 +59,11 @@ function makeDeselectColumnFilter(table) {
61
59
  }
62
60
  function makeFormatSelectedFilterText(table) {
63
61
  return function (columnFilter) {
64
- var column = table.getColumn(columnFilter.id);
65
- var meta = column.columnDef.meta;
66
- var name = (meta === null || meta === void 0 ? void 0 : meta.filter.name) || '';
67
- var optionMatch = meta === null || meta === void 0 ? void 0 : meta.filter.options.find(function (option) { return option.value === columnFilter.value; });
68
- var label = optionMatch === null || optionMatch === void 0 ? void 0 : optionMatch.label;
62
+ const column = table.getColumn(columnFilter.id);
63
+ const { meta } = column.columnDef;
64
+ const name = meta?.filter.name || '';
65
+ const optionMatch = meta?.filter.options.find((option) => option.value === columnFilter.value);
66
+ const label = optionMatch?.label;
69
67
  return [name, label];
70
68
  };
71
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useColumnFilters.js","sources":["../../../src/hooks/useColumnFilters.ts"],"sourcesContent":["import { Column, ColumnFilter, Table, TableState } from '@tanstack/react-table'\n\nexport const useColumnFilters = (table: Table<unknown>) => {\n const selectedColumnFilters = getSelectedColumnFilters(table.getState())\n const columnFilters = getColumnFilters(table.getAllFlatColumns())\n const hasColumnFilters = columnFilters.length > 0\n const deselectColumnFilter = makeDeselectColumnFilter(table)\n const formatSelectedFilterText = makeFormatSelectedFilterText(table)\n const resetColumnFilters = table.resetColumnFilters\n return {\n selectedColumnFilters,\n columnFilters,\n hasColumnFilters,\n deselectColumnFilter,\n formatSelectedFilterText,\n resetColumnFilters,\n }\n}\n\nfunction getSelectedColumnFilters(state: TableState) {\n const { columnFilters } = state\n const selectedColumnFilters = columnFilters.reduce((acc: Array<ColumnFilter>, columnFilter: ColumnFilter) => {\n const { id, value } = columnFilter\n const selections = []\n if (value) {\n if (Array.isArray(value)) {\n value.forEach((innerValue) => {\n selections.push({ id, value: innerValue })\n })\n } else if (typeof value === 'string' || typeof value === 'number') {\n selections.push({ id, value })\n }\n }\n return [...acc, ...selections]\n }, [])\n return selectedColumnFilters\n}\n\nfunction getColumnFilters(columns: Array<Column<unknown>>) {\n return columns\n .map((column) => {\n const { meta } = column.columnDef as { meta: any }\n if (meta?.filter) {\n return { columnId: column.id, ...meta.filter }\n }\n })\n .filter(Boolean)\n}\n\nfunction makeDeselectColumnFilter(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n column.setFilterValue((prev: unknown) => {\n if (Array.isArray(prev)) {\n return prev.filter((value) => value !== columnFilter.value)\n } else if (typeof prev === 'string' || typeof prev === 'number') {\n return null\n }\n return prev\n })\n }\n}\n\nfunction makeFormatSelectedFilterText(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n const { meta } = column.columnDef as {\n meta?: { filter: { name: string; options: Array<{ label: string; value: any }> } }\n }\n const name = meta?.filter.name || ''\n const optionMatch = meta?.filter.options.find((option) => option.value === columnFilter.value)\n const label = optionMatch?.label\n return [name, label] as [string, string]\n }\n}\n"],"names":[],"mappings":";;AAEO,IAAM,gBAAgB,GAAG,UAAC,KAAqB,EAAA;IACpD,IAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxE,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACjE,IAAA,IAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;AACjD,IAAA,IAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAK,CAAC;AAC5D,IAAA,IAAM,wBAAwB,GAAG,4BAA4B,CAAC,KAAK,CAAC;AACpE,IAAA,IAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB;IACnD,OAAO;AACL,QAAA,qBAAqB,EAAA,qBAAA;AACrB,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,gBAAgB,EAAA,gBAAA;AAChB,QAAA,oBAAoB,EAAA,oBAAA;AACpB,QAAA,wBAAwB,EAAA,wBAAA;AACxB,QAAA,kBAAkB,EAAA,kBAAA;KACnB;AACH;AAEA,SAAS,wBAAwB,CAAC,KAAiB,EAAA;AACzC,IAAA,IAAA,aAAa,GAAK,KAAK,CAAA,aAAV;IACrB,IAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,GAAwB,EAAE,YAA0B,EAAA;QAC9F,IAAA,EAAE,GAAY,YAAY,CAAA,EAAxB,EAAE,KAAK,GAAK,YAAY,CAAA,KAAjB;QACjB,IAAM,UAAU,GAAG,EAAE;AACrB,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,gBAAA,KAAK,CAAC,OAAO,CAAC,UAAC,UAAU,EAAA;AACvB,oBAAA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAA,EAAA,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC5C,iBAAC,CAAC;AACH;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACjE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAA,EAAA,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC;AAC/B;AACF;QACD,OAAW,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,GAAG,CAAK,EAAA,UAAU,CAAC;KAC/B,EAAE,EAAE,CAAC;AACN,IAAA,OAAO,qBAAqB;AAC9B;AAEA,SAAS,gBAAgB,CAAC,OAA+B,EAAA;AACvD,IAAA,OAAO;SACJ,GAAG,CAAC,UAAC,MAAM,EAAA;AACF,QAAA,IAAA,IAAI,GAAK,MAAM,CAAC,SAA0B,KAAtC;AACZ,QAAA,IAAI,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE;YAChB,OAAS,QAAA,CAAA,EAAA,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAK,EAAA,IAAI,CAAC,MAAM,CAAE;AAC/C;AACH,KAAC;SACA,MAAM,CAAC,OAAO,CAAC;AACpB;AAEA,SAAS,wBAAwB,CAAC,KAAqB,EAAA;AACrD,IAAA,OAAO,UAAU,YAA0B,EAAA;QACzC,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;AAC/C,QAAA,MAAM,CAAC,cAAc,CAAC,UAAC,IAAa,EAAA;AAClC,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAC,KAAK,EAAK,EAAA,OAAA,KAAK,KAAK,YAAY,CAAC,KAAK,CAA5B,EAA4B,CAAC;AAC5D;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC/D,gBAAA,OAAO,IAAI;AACZ;AACD,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;AACJ,KAAC;AACH;AAEA,SAAS,4BAA4B,CAAC,KAAqB,EAAA;AACzD,IAAA,OAAO,UAAU,YAA0B,EAAA;QACzC,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;AACvC,QAAA,IAAA,IAAI,GAAK,MAAM,CAAC,SAEvB,KAFW;AAGZ,QAAA,IAAM,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,MAAM,CAAC,IAAI,KAAI,EAAE;AACpC,QAAA,IAAM,WAAW,GAAG,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,MAAM,EAAK,EAAA,OAAA,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,CAAA,EAAA,CAAC;QAC9F,IAAM,KAAK,GAAG,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,MAAA,GAAA,MAAA,GAAA,WAAW,CAAE,KAAK;AAChC,QAAA,OAAO,CAAC,IAAI,EAAE,KAAK,CAAqB;AAC1C,KAAC;AACH;;;;"}
1
+ {"version":3,"file":"useColumnFilters.js","sources":["../../../src/hooks/useColumnFilters.ts"],"sourcesContent":["import { Column, ColumnFilter, Table, TableState } from '@tanstack/react-table'\n\nexport const useColumnFilters = (table: Table<unknown>) => {\n const selectedColumnFilters = getSelectedColumnFilters(table.getState())\n const columnFilters = getColumnFilters(table.getAllFlatColumns())\n const hasColumnFilters = columnFilters.length > 0\n const deselectColumnFilter = makeDeselectColumnFilter(table)\n const formatSelectedFilterText = makeFormatSelectedFilterText(table)\n const resetColumnFilters = table.resetColumnFilters\n return {\n selectedColumnFilters,\n columnFilters,\n hasColumnFilters,\n deselectColumnFilter,\n formatSelectedFilterText,\n resetColumnFilters,\n }\n}\n\nfunction getSelectedColumnFilters(state: TableState) {\n const { columnFilters } = state\n const selectedColumnFilters = columnFilters.reduce((acc: Array<ColumnFilter>, columnFilter: ColumnFilter) => {\n const { id, value } = columnFilter\n const selections = []\n if (value) {\n if (Array.isArray(value)) {\n value.forEach((innerValue) => {\n selections.push({ id, value: innerValue })\n })\n } else if (typeof value === 'string' || typeof value === 'number') {\n selections.push({ id, value })\n }\n }\n return [...acc, ...selections]\n }, [])\n return selectedColumnFilters\n}\n\nfunction getColumnFilters(columns: Array<Column<unknown>>) {\n return columns\n .map((column) => {\n const { meta } = column.columnDef as { meta: any }\n if (meta?.filter) {\n return { columnId: column.id, ...meta.filter }\n }\n })\n .filter(Boolean)\n}\n\nfunction makeDeselectColumnFilter(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n column.setFilterValue((prev: unknown) => {\n if (Array.isArray(prev)) {\n return prev.filter((value) => value !== columnFilter.value)\n } else if (typeof prev === 'string' || typeof prev === 'number') {\n return null\n }\n return prev\n })\n }\n}\n\nfunction makeFormatSelectedFilterText(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n const { meta } = column.columnDef as {\n meta?: { filter: { name: string; options: Array<{ label: string; value: any }> } }\n }\n const name = meta?.filter.name || ''\n const optionMatch = meta?.filter.options.find((option) => option.value === columnFilter.value)\n const label = optionMatch?.label\n return [name, label] as [string, string]\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,38 +1,33 @@
1
1
  import { useState } from 'react';
2
2
 
3
- var useStagedColumnFilters = function (selectedColumnFilters) {
4
- var _a = useState(function () {
5
- return selectedColumnFilters.reduce(function (acc, _a) {
6
- var id = _a.id, value = _a.value;
7
- if (acc.has(id)) {
8
- var existingValue = acc.get(id);
9
- // If the existing value is a string, convert it to an array and add the new value
10
- if (typeof existingValue === 'string') {
11
- acc.set(id, [existingValue, value]);
12
- }
13
- else {
14
- existingValue.push(value);
15
- }
3
+ const useStagedColumnFilters = (selectedColumnFilters) => {
4
+ const [columnInputValues, setColumnInputValues] = useState(() => selectedColumnFilters.reduce((acc, { id, value }) => {
5
+ if (acc.has(id)) {
6
+ const existingValue = acc.get(id);
7
+ // If the existing value is a string, convert it to an array and add the new value
8
+ if (typeof existingValue === 'string') {
9
+ acc.set(id, [existingValue, value]);
16
10
  }
17
11
  else {
18
- acc.set(id, value);
12
+ existingValue.push(value);
19
13
  }
20
- return acc;
21
- }, new Map());
22
- }), columnInputValues = _a[0], setColumnInputValues = _a[1];
23
- var filterState = {
24
- update: function (columnId, value) {
25
- return setColumnInputValues(columnInputValues.set(columnId, value));
26
- },
27
- get: function (columnId) { return columnInputValues.get(columnId); },
28
- clear: function () {
14
+ }
15
+ else {
16
+ acc.set(id, value);
17
+ }
18
+ return acc;
19
+ }, new Map()));
20
+ const filterState = {
21
+ update: (columnId, value) => setColumnInputValues(columnInputValues.set(columnId, value)),
22
+ get: (columnId) => columnInputValues.get(columnId),
23
+ clear: () => {
29
24
  columnInputValues.clear();
30
25
  setColumnInputValues(columnInputValues);
31
26
  },
32
- delete: function (columnFilter) {
33
- var values = columnInputValues.get(columnFilter.id);
27
+ delete: (columnFilter) => {
28
+ const values = columnInputValues.get(columnFilter.id);
34
29
  if (values && Array.isArray(values)) {
35
- var valueIndex = values.indexOf(columnFilter.value);
30
+ const valueIndex = values.indexOf(columnFilter.value);
36
31
  values.splice(valueIndex, 1);
37
32
  if (values.length > 0) {
38
33
  columnInputValues.set(columnFilter.id, values);
@@ -46,7 +41,7 @@ var useStagedColumnFilters = function (selectedColumnFilters) {
46
41
  }
47
42
  setColumnInputValues(columnInputValues);
48
43
  },
49
- exist: function () { return columnInputValues.size > 0; },
44
+ exist: () => columnInputValues.size > 0,
50
45
  };
51
46
  return filterState;
52
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useStagedColumnFilters.js","sources":["../../../src/hooks/useStagedColumnFilters.ts"],"sourcesContent":["import { ColumnFilter } from '@tanstack/react-table'\nimport { useState } from 'react'\n\nexport const useStagedColumnFilters = (selectedColumnFilters: ColumnFilter[]) => {\n const [columnInputValues, setColumnInputValues] = useState<Map<string, string | Array<string>>>(() =>\n selectedColumnFilters.reduce((acc, { id, value }) => {\n if (acc.has(id)) {\n const existingValue = acc.get(id)\n // If the existing value is a string, convert it to an array and add the new value\n if (typeof existingValue === 'string') {\n acc.set(id, [existingValue, value])\n } else {\n existingValue.push(value)\n }\n } else {\n acc.set(id, value)\n }\n return acc\n }, new Map()),\n )\n const filterState = {\n update: (columnId: string, value: string | Array<string>) =>\n setColumnInputValues(columnInputValues.set(columnId, value)),\n get: (columnId: string) => columnInputValues.get(columnId),\n clear: () => {\n columnInputValues.clear()\n setColumnInputValues(columnInputValues)\n },\n delete: (columnFilter: ColumnFilter) => {\n const values = columnInputValues.get(columnFilter.id)\n if (values && Array.isArray(values)) {\n const valueIndex = values.indexOf(columnFilter.value as string)\n values.splice(valueIndex, 1)\n if (values.length > 0) {\n columnInputValues.set(columnFilter.id, values)\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n setColumnInputValues(columnInputValues)\n },\n exist: () => columnInputValues.size > 0,\n }\n\n return filterState\n}\n"],"names":[],"mappings":";;AAGO,IAAM,sBAAsB,GAAG,UAAC,qBAAqC,EAAA;IACpE,IAAA,EAAA,GAA4C,QAAQ,CAAsC,YAAA;AAC9F,QAAA,OAAA,qBAAqB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAa,EAAA;gBAAX,EAAE,GAAA,EAAA,CAAA,EAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA;AAC5C,YAAA,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACf,IAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;;AAEjC,gBAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;oBACrC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACpC;AAAM,qBAAA;AACL,oBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B;AACF;AAAM,iBAAA;AACL,gBAAA,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;AACnB;AACD,YAAA,OAAO,GAAG;AACZ,SAAC,EAAE,IAAI,GAAG,EAAE,CAAC;AAbb,KAaa,CACd,EAfM,iBAAiB,QAAA,EAAE,oBAAoB,QAe7C;AACD,IAAA,IAAM,WAAW,GAAG;AAClB,QAAA,MAAM,EAAE,UAAC,QAAgB,EAAE,KAA6B,EAAA;YACtD,OAAA,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAAA;AAC9D,QAAA,GAAG,EAAE,UAAC,QAAgB,EAAA,EAAK,OAAA,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA,EAAA;AAC1D,QAAA,KAAK,EAAE,YAAA;YACL,iBAAiB,CAAC,KAAK,EAAE;YACzB,oBAAoB,CAAC,iBAAiB,CAAC;SACxC;QACD,MAAM,EAAE,UAAC,YAA0B,EAAA;YACjC,IAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACnC,IAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAe,CAAC;AAC/D,gBAAA,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AAC5B,gBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC;AAC/C;AAAM,qBAAA;AACL,oBAAA,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;AAC1C;AACF;AAAM,iBAAA;AACL,gBAAA,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;AAC1C;YACD,oBAAoB,CAAC,iBAAiB,CAAC;SACxC;QACD,KAAK,EAAE,cAAM,OAAA,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAA,EAAA;KACxC;AAED,IAAA,OAAO,WAAW;AACpB;;;;"}
1
+ {"version":3,"file":"useStagedColumnFilters.js","sources":["../../../src/hooks/useStagedColumnFilters.ts"],"sourcesContent":["import { ColumnFilter } from '@tanstack/react-table'\nimport { useState } from 'react'\n\nexport const useStagedColumnFilters = (selectedColumnFilters: ColumnFilter[]) => {\n const [columnInputValues, setColumnInputValues] = useState<Map<string, string | Array<string>>>(() =>\n selectedColumnFilters.reduce((acc, { id, value }) => {\n if (acc.has(id)) {\n const existingValue = acc.get(id)\n // If the existing value is a string, convert it to an array and add the new value\n if (typeof existingValue === 'string') {\n acc.set(id, [existingValue, value])\n } else {\n existingValue.push(value)\n }\n } else {\n acc.set(id, value)\n }\n return acc\n }, new Map()),\n )\n const filterState = {\n update: (columnId: string, value: string | Array<string>) =>\n setColumnInputValues(columnInputValues.set(columnId, value)),\n get: (columnId: string) => columnInputValues.get(columnId),\n clear: () => {\n columnInputValues.clear()\n setColumnInputValues(columnInputValues)\n },\n delete: (columnFilter: ColumnFilter) => {\n const values = columnInputValues.get(columnFilter.id)\n if (values && Array.isArray(values)) {\n const valueIndex = values.indexOf(columnFilter.value as string)\n values.splice(valueIndex, 1)\n if (values.length > 0) {\n columnInputValues.set(columnFilter.id, values)\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n setColumnInputValues(columnInputValues)\n },\n exist: () => columnInputValues.size > 0,\n }\n\n return filterState\n}\n"],"names":[],"mappings":";;AAGa,MAAA,sBAAsB,GAAG,CAAC,qBAAqC,KAAI;IAC9E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAsC,MAC9F,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAI;AAClD,QAAA,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACf,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;;AAEjC,YAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;gBACrC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;;iBAC9B;AACL,gBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;;aAEtB;AACL,YAAA,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;;AAEpB,QAAA,OAAO,GAAG;AACZ,KAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CACd;AACD,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,MAAM,EAAE,CAAC,QAAgB,EAAE,KAA6B,KACtD,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9D,GAAG,EAAE,CAAC,QAAgB,KAAK,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1D,KAAK,EAAE,MAAK;YACV,iBAAiB,CAAC,KAAK,EAAE;YACzB,oBAAoB,CAAC,iBAAiB,CAAC;SACxC;AACD,QAAA,MAAM,EAAE,CAAC,YAA0B,KAAI;YACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACnC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAe,CAAC;AAC/D,gBAAA,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AAC5B,gBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC;;qBACzC;AACL,oBAAA,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;;;iBAEtC;AACL,gBAAA,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;;YAE3C,oBAAoB,CAAC,iBAAiB,CAAC;SACxC;QACD,KAAK,EAAE,MAAM,iBAAiB,CAAC,IAAI,GAAG,CAAC;KACxC;AAED,IAAA,OAAO,WAAW;AACpB;;;;"}
@@ -1,6 +1,6 @@
1
- export { Table } from './components/Table/Table.js';
2
- export { RowActions } from './components/RowActions/RowActions.js';
3
1
  export { GlobalFilter } from './components/GlobalFilter/GlobalFilter.js';
2
+ export { RowActions } from './components/RowActions/RowActions.js';
3
+ export { Table } from './components/Table/Table.js';
4
4
  export { TableBody } from './components/TableBody/TableBody.js';
5
5
  export { TableCell } from './components/TableCell/TableCell.js';
6
6
  export { TableFooter } from './components/TableFooter/TableFooter.js';
@@ -1,7 +1,7 @@
1
- var coercedValueIncludesString = function (row, columnId, value) {
1
+ const coercedValueIncludesString = (row, columnId, value) => {
2
2
  if (value === '')
3
3
  return true;
4
- var cellValue = row.getValue(columnId);
4
+ const cellValue = row.getValue(columnId);
5
5
  return String(cellValue).toLowerCase().includes(value.toLowerCase());
6
6
  };
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"coercedValueIncludesString.js","sources":["../../../src/util/coercedValueIncludesString.ts"],"sourcesContent":["import { FilterFn } from '@tanstack/react-table'\n\nexport const coercedValueIncludesString: FilterFn<any> = (row, columnId, value) => {\n if (value === '') return true\n const cellValue = row.getValue(columnId)\n return String(cellValue).toLowerCase().includes(value.toLowerCase())\n}\n"],"names":[],"mappings":"IAEa,0BAA0B,GAAkB,UAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAA;IAC5E,IAAI,KAAK,KAAK,EAAE;AAAE,QAAA,OAAO,IAAI;IAC7B,IAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACxC,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AACtE;;;;"}
1
+ {"version":3,"file":"coercedValueIncludesString.js","sources":["../../../src/util/coercedValueIncludesString.ts"],"sourcesContent":["import { FilterFn } from '@tanstack/react-table'\n\nexport const coercedValueIncludesString: FilterFn<any> = (row, columnId, value) => {\n if (value === '') return true\n const cellValue = row.getValue(columnId)\n return String(cellValue).toLowerCase().includes(value.toLowerCase())\n}\n"],"names":[],"mappings":"AAEa,MAAA,0BAA0B,GAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,KAAI;IAChF,IAAI,KAAK,KAAK,EAAE;AAAE,QAAA,OAAO,IAAI;IAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACxC,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AACtE;;;;"}
@@ -1,15 +1,15 @@
1
- var getTableMinHeight = function (rootRef, pageSize) {
2
- var defaultBodyRowHeight = 56;
3
- var defaultHeaderRowHeight = 57;
4
- var defaultFooterHeight = 88;
5
- var minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight;
6
- if (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current) {
7
- var rootTableNode = rootRef.current;
8
- var headerRowNode = rootTableNode.querySelector("[data-table-element=\"header-row\"]");
9
- var bodyRowNode = rootTableNode.querySelector("[data-table-element=\"body-row\"]");
1
+ const getTableMinHeight = (rootRef, pageSize) => {
2
+ const defaultBodyRowHeight = 56;
3
+ const defaultHeaderRowHeight = 57;
4
+ const defaultFooterHeight = 88;
5
+ let minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight;
6
+ if (rootRef?.current) {
7
+ const rootTableNode = rootRef.current;
8
+ const headerRowNode = rootTableNode.querySelector(`[data-table-element="header-row"]`);
9
+ const bodyRowNode = rootTableNode.querySelector(`[data-table-element="body-row"]`);
10
10
  if (headerRowNode && bodyRowNode) {
11
- var headerRowHeight = headerRowNode.getBoundingClientRect().height;
12
- var bodyRowHeight = bodyRowNode.getBoundingClientRect().height;
11
+ const headerRowHeight = headerRowNode.getBoundingClientRect().height;
12
+ const bodyRowHeight = bodyRowNode.getBoundingClientRect().height;
13
13
  minHeight = headerRowHeight + bodyRowHeight * pageSize + defaultFooterHeight;
14
14
  }
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTableMinHeight.js","sources":["../../../src/util/getTableMinHeight.ts"],"sourcesContent":["import { RefObject } from 'react'\n\nexport const getTableMinHeight = (rootRef: RefObject<HTMLDivElement>, pageSize: number) => {\n const defaultBodyRowHeight = 56\n const defaultHeaderRowHeight = 57\n const defaultFooterHeight = 88\n let minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight\n if (rootRef?.current) {\n const rootTableNode = rootRef.current\n const headerRowNode = rootTableNode.querySelector(`[data-table-element=\"header-row\"]`)\n const bodyRowNode = rootTableNode.querySelector(`[data-table-element=\"body-row\"]`)\n if (headerRowNode && bodyRowNode) {\n const headerRowHeight = headerRowNode.getBoundingClientRect().height\n const bodyRowHeight = bodyRowNode.getBoundingClientRect().height\n minHeight = headerRowHeight + bodyRowHeight * pageSize + defaultFooterHeight\n }\n }\n return minHeight\n}\n"],"names":[],"mappings":"AAEa,IAAA,iBAAiB,GAAG,UAAC,OAAkC,EAAE,QAAgB,EAAA;IACpF,IAAM,oBAAoB,GAAG,EAAE;IAC/B,IAAM,sBAAsB,GAAG,EAAE;IACjC,IAAM,mBAAmB,GAAG,EAAE;IAC9B,IAAI,SAAS,GAAG,oBAAoB,GAAG,QAAQ,GAAG,sBAAsB,GAAG,mBAAmB;AAC9F,IAAA,IAAI,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;AACpB,QAAA,IAAM,aAAa,GAAG,OAAO,CAAC,OAAO;QACrC,IAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,qCAAmC,CAAC;QACtF,IAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,mCAAiC,CAAC;QAClF,IAAI,aAAa,IAAI,WAAW,EAAE;YAChC,IAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM;YACpE,IAAM,aAAa,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM;YAChE,SAAS,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,GAAG,mBAAmB;AAC7E;AACF;AACD,IAAA,OAAO,SAAS;AAClB;;;;"}
1
+ {"version":3,"file":"getTableMinHeight.js","sources":["../../../src/util/getTableMinHeight.ts"],"sourcesContent":["import { RefObject } from 'react'\n\nexport const getTableMinHeight = (rootRef: RefObject<HTMLDivElement>, pageSize: number) => {\n const defaultBodyRowHeight = 56\n const defaultHeaderRowHeight = 57\n const defaultFooterHeight = 88\n let minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight\n if (rootRef?.current) {\n const rootTableNode = rootRef.current\n const headerRowNode = rootTableNode.querySelector(`[data-table-element=\"header-row\"]`)\n const bodyRowNode = rootTableNode.querySelector(`[data-table-element=\"body-row\"]`)\n if (headerRowNode && bodyRowNode) {\n const headerRowHeight = headerRowNode.getBoundingClientRect().height\n const bodyRowHeight = bodyRowNode.getBoundingClientRect().height\n minHeight = headerRowHeight + bodyRowHeight * pageSize + defaultFooterHeight\n }\n }\n return minHeight\n}\n"],"names":[],"mappings":"MAEa,iBAAiB,GAAG,CAAC,OAAkC,EAAE,QAAgB,KAAI;IACxF,MAAM,oBAAoB,GAAG,EAAE;IAC/B,MAAM,sBAAsB,GAAG,EAAE;IACjC,MAAM,mBAAmB,GAAG,EAAE;IAC9B,IAAI,SAAS,GAAG,oBAAoB,GAAG,QAAQ,GAAG,sBAAsB,GAAG,mBAAmB;AAC9F,IAAA,IAAI,OAAO,EAAE,OAAO,EAAE;AACpB,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO;QACrC,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA,iCAAA,CAAmC,CAAC;QACtF,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA,+BAAA,CAAiC,CAAC;AAClF,QAAA,IAAI,aAAa,IAAI,WAAW,EAAE;YAChC,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM;YACpE,MAAM,aAAa,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM;YAChE,SAAS,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,GAAG,mBAAmB;;;AAGhF,IAAA,OAAO,SAAS;AAClB;;;;"}
@@ -1,4 +1,4 @@
1
- var tableConstants = {
1
+ const tableConstants = {
2
2
  tableTypography: 'body1',
3
3
  cellPaddingFactor: 2};
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"tableConstants.js","sources":["../../../src/util/tableConstants.ts"],"sourcesContent":["export const tableConstants = {\n tableTypography: 'body1',\n cellPaddingFactor: 2,\n headerBorder: 2,\n}\n"],"names":[],"mappings":"AAAa,IAAA,cAAc,GAAG;AAC5B,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,iBAAiB,EAAE;;;;"}
1
+ {"version":3,"file":"tableConstants.js","sources":["../../../src/util/tableConstants.ts"],"sourcesContent":["export const tableConstants = {\n tableTypography: 'body1',\n cellPaddingFactor: 2,\n headerBorder: 2,\n}\n"],"names":[],"mappings":"AAAa,MAAA,cAAc,GAAG;AAC5B,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,iBAAiB,EAAE;;;;"}
@@ -1,10 +1,10 @@
1
1
  import { isValidElement, createElement } from 'react';
2
2
 
3
- var validateAction = function (action) {
4
- var icon = action.icon, label = action.label, onClick = action.onClick;
5
- var onClickIsValid = typeof onClick === 'function';
6
- var labelIsValid = typeof label === 'string';
7
- var iconIsValid = icon && isValidElement(createElement(icon));
3
+ const validateAction = (action) => {
4
+ const { icon, label, onClick } = action;
5
+ const onClickIsValid = typeof onClick === 'function';
6
+ const labelIsValid = typeof label === 'string';
7
+ const iconIsValid = icon && isValidElement(createElement(icon));
8
8
  return onClickIsValid && labelIsValid && iconIsValid;
9
9
  };
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"validateRowAction.js","sources":["../../../src/util/validateRowAction.ts"],"sourcesContent":["import { RowAction } from '../components/RowActions/RowActionsProps'\nimport { createElement, isValidElement } from 'react'\n\nexport const validateAction = (action: Partial<RowAction>) => {\n const { icon, label, onClick } = action\n const onClickIsValid = typeof onClick === 'function'\n const labelIsValid = typeof label === 'string'\n const iconIsValid = icon && isValidElement(createElement(icon))\n return onClickIsValid && labelIsValid && iconIsValid\n}\n"],"names":[],"mappings":";;AAGO,IAAM,cAAc,GAAG,UAAC,MAA0B,EAAA;AAC/C,IAAA,IAAA,IAAI,GAAqB,MAAM,CAAA,IAA3B,EAAE,KAAK,GAAc,MAAM,CAAA,KAApB,EAAE,OAAO,GAAK,MAAM,QAAX;AAC5B,IAAA,IAAM,cAAc,GAAG,OAAO,OAAO,KAAK,UAAU;AACpD,IAAA,IAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ;IAC9C,IAAM,WAAW,GAAG,IAAI,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC/D,IAAA,OAAO,cAAc,IAAI,YAAY,IAAI,WAAW;AACtD;;;;"}
1
+ {"version":3,"file":"validateRowAction.js","sources":["../../../src/util/validateRowAction.ts"],"sourcesContent":["import { RowAction } from '../components/RowActions/RowActionsProps'\nimport { createElement, isValidElement } from 'react'\n\nexport const validateAction = (action: Partial<RowAction>) => {\n const { icon, label, onClick } = action\n const onClickIsValid = typeof onClick === 'function'\n const labelIsValid = typeof label === 'string'\n const iconIsValid = icon && isValidElement(createElement(icon))\n return onClickIsValid && labelIsValid && iconIsValid\n}\n"],"names":[],"mappings":";;AAGa,MAAA,cAAc,GAAG,CAAC,MAA0B,KAAI;IAC3D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM;AACvC,IAAA,MAAM,cAAc,GAAG,OAAO,OAAO,KAAK,UAAU;AACpD,IAAA,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ;IAC9C,MAAM,WAAW,GAAG,IAAI,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC/D,IAAA,OAAO,cAAc,IAAI,YAAY,IAAI,WAAW;AACtD;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popmenu/table",
3
- "version": "0.127.0",
3
+ "version": "0.127.1",
4
4
  "license": "MIT",
5
5
  "author": "Popmenu Design System Team",
6
6
  "description": "React components for all Popmenu apps on the web.",
@@ -29,8 +29,9 @@
29
29
  "@popmenu/common-ui": "^0.125.0",
30
30
  "@popmenu/web-icons": "^0.125.0",
31
31
  "@tanstack/react-table": "^8.7.4",
32
+ "classnames": "^2.5.1",
32
33
  "react": "17.x"
33
34
  },
34
35
  "sideEffects": false,
35
- "gitHead": "f751088de93963397e3f7525b1b8b3102f5538a0"
36
+ "gitHead": "242ebcb202433c083d77f6691b8ca8116900b72e"
36
37
  }