@tanstack/table-core 8.9.7 → 8.9.8

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 (54) hide show
  1. package/build/lib/core/cell.js +1 -1
  2. package/build/lib/core/cell.js.map +1 -1
  3. package/build/lib/core/column.js +3 -3
  4. package/build/lib/core/column.js.map +1 -1
  5. package/build/lib/core/headers.js +182 -181
  6. package/build/lib/core/headers.js.map +1 -1
  7. package/build/lib/core/row.js +1 -1
  8. package/build/lib/core/row.js.map +1 -1
  9. package/build/lib/core/table.js +4 -3
  10. package/build/lib/core/table.js.map +1 -1
  11. package/build/lib/features/ColumnSizing.js +173 -179
  12. package/build/lib/features/ColumnSizing.js.map +1 -1
  13. package/build/lib/features/Expanding.js +119 -123
  14. package/build/lib/features/Expanding.js.map +1 -1
  15. package/build/lib/features/Filters.js +157 -165
  16. package/build/lib/features/Filters.js.map +1 -1
  17. package/build/lib/features/Grouping.js +71 -79
  18. package/build/lib/features/Grouping.js.map +1 -1
  19. package/build/lib/features/Ordering.js +32 -34
  20. package/build/lib/features/Ordering.js.map +1 -1
  21. package/build/lib/features/Pagination.js +112 -114
  22. package/build/lib/features/Pagination.js.map +1 -1
  23. package/build/lib/features/Pinning.js +120 -126
  24. package/build/lib/features/Pinning.js.map +1 -1
  25. package/build/lib/features/RowSelection.js +245 -247
  26. package/build/lib/features/RowSelection.js.map +1 -1
  27. package/build/lib/features/Sorting.js +163 -167
  28. package/build/lib/features/Sorting.js.map +1 -1
  29. package/build/lib/features/Visibility.js +60 -66
  30. package/build/lib/features/Visibility.js.map +1 -1
  31. package/build/lib/index.esm.js +1469 -1515
  32. package/build/lib/index.esm.js.map +1 -1
  33. package/build/lib/index.mjs +1469 -1515
  34. package/build/lib/index.mjs.map +1 -1
  35. package/build/umd/index.development.js +1469 -1515
  36. package/build/umd/index.development.js.map +1 -1
  37. package/build/umd/index.production.js +1 -1
  38. package/build/umd/index.production.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/core/cell.ts +5 -8
  41. package/src/core/column.ts +3 -3
  42. package/src/core/headers.ts +264 -280
  43. package/src/core/row.ts +1 -1
  44. package/src/core/table.ts +4 -3
  45. package/src/features/ColumnSizing.ts +220 -231
  46. package/src/features/Expanding.ts +132 -140
  47. package/src/features/Filters.ts +193 -206
  48. package/src/features/Grouping.ts +94 -110
  49. package/src/features/Ordering.ts +48 -51
  50. package/src/features/Pagination.ts +150 -154
  51. package/src/features/Pinning.ts +158 -178
  52. package/src/features/RowSelection.ts +280 -286
  53. package/src/features/Sorting.ts +196 -206
  54. package/src/features/Visibility.ts +98 -107
@@ -29,49 +29,45 @@ const Visibility = {
29
29
  };
30
30
  },
31
31
  createColumn: (column, table) => {
32
- return {
33
- toggleVisibility: value => {
34
- if (column.getCanHide()) {
35
- table.setColumnVisibility(old => ({
36
- ...old,
37
- [column.id]: value != null ? value : !column.getIsVisible()
38
- }));
39
- }
40
- },
41
- getIsVisible: () => {
42
- var _table$getState$colum, _table$getState$colum2;
43
- return (_table$getState$colum = (_table$getState$colum2 = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum2[column.id]) != null ? _table$getState$colum : true;
44
- },
45
- getCanHide: () => {
46
- var _column$columnDef$ena, _table$options$enable;
47
- return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true);
48
- },
49
- getToggleVisibilityHandler: () => {
50
- return e => {
51
- column.toggleVisibility == null || column.toggleVisibility(e.target.checked);
52
- };
32
+ column.toggleVisibility = value => {
33
+ if (column.getCanHide()) {
34
+ table.setColumnVisibility(old => ({
35
+ ...old,
36
+ [column.id]: value != null ? value : !column.getIsVisible()
37
+ }));
53
38
  }
54
39
  };
40
+ column.getIsVisible = () => {
41
+ var _table$getState$colum, _table$getState$colum2;
42
+ return (_table$getState$colum = (_table$getState$colum2 = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum2[column.id]) != null ? _table$getState$colum : true;
43
+ };
44
+ column.getCanHide = () => {
45
+ var _column$columnDef$ena, _table$options$enable;
46
+ return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true);
47
+ };
48
+ column.getToggleVisibilityHandler = () => {
49
+ return e => {
50
+ column.toggleVisibility == null || column.toggleVisibility(e.target.checked);
51
+ };
52
+ };
55
53
  },
56
54
  createRow: (row, table) => {
57
- return {
58
- _getAllVisibleCells: utils.memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {
59
- return cells.filter(cell => cell.column.getIsVisible());
60
- }, {
61
- key: process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',
62
- debug: () => {
63
- var _table$options$debugA;
64
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
65
- }
66
- }),
67
- getVisibleCells: utils.memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], {
68
- key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',
69
- debug: () => {
70
- var _table$options$debugA2;
71
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
72
- }
73
- })
74
- };
55
+ row._getAllVisibleCells = utils.memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {
56
+ return cells.filter(cell => cell.column.getIsVisible());
57
+ }, {
58
+ key: process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',
59
+ debug: () => {
60
+ var _table$options$debugA;
61
+ return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
62
+ }
63
+ });
64
+ row.getVisibleCells = utils.memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], {
65
+ key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',
66
+ debug: () => {
67
+ var _table$options$debugA2;
68
+ return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
69
+ }
70
+ });
75
71
  },
76
72
  createTable: table => {
77
73
  const makeVisibleColumnsMethod = (key, getColumns) => {
@@ -85,33 +81,31 @@ const Visibility = {
85
81
  }
86
82
  });
87
83
  };
88
- return {
89
- getVisibleFlatColumns: makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns()),
90
- getVisibleLeafColumns: makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns()),
91
- getLeftVisibleLeafColumns: makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => table.getLeftLeafColumns()),
92
- getRightVisibleLeafColumns: makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => table.getRightLeafColumns()),
93
- getCenterVisibleLeafColumns: makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => table.getCenterLeafColumns()),
94
- setColumnVisibility: updater => table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater),
95
- resetColumnVisibility: defaultState => {
96
- var _table$initialState$c;
97
- table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {});
98
- },
99
- toggleAllColumnsVisible: value => {
100
- var _value;
101
- value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible();
102
- table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column) => ({
103
- ...obj,
104
- [column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value
105
- }), {}));
106
- },
107
- getIsAllColumnsVisible: () => !table.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible())),
108
- getIsSomeColumnsVisible: () => table.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible()),
109
- getToggleAllColumnsVisibilityHandler: () => {
110
- return e => {
111
- var _target;
112
- table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
113
- };
114
- }
84
+ table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns());
85
+ table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns());
86
+ table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => table.getLeftLeafColumns());
87
+ table.getRightVisibleLeafColumns = makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => table.getRightLeafColumns());
88
+ table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => table.getCenterLeafColumns());
89
+ table.setColumnVisibility = updater => table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater);
90
+ table.resetColumnVisibility = defaultState => {
91
+ var _table$initialState$c;
92
+ table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {});
93
+ };
94
+ table.toggleAllColumnsVisible = value => {
95
+ var _value;
96
+ value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible();
97
+ table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column) => ({
98
+ ...obj,
99
+ [column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value
100
+ }), {}));
101
+ };
102
+ table.getIsAllColumnsVisible = () => !table.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible()));
103
+ table.getIsSomeColumnsVisible = () => table.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible());
104
+ table.getToggleAllColumnsVisibilityHandler = () => {
105
+ return e => {
106
+ var _target;
107
+ table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
108
+ };
115
109
  };
116
110
  }
117
111
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport {\n Cell,\n Column,\n OnChangeFn,\n Table,\n Updater,\n Row,\n RowData,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type VisibilityState = Record<string, boolean>\n\nexport interface VisibilityTableState {\n columnVisibility: VisibilityState\n}\n\nexport interface VisibilityOptions {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport interface VisibilityDefaultOptions {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport interface VisibilityInstance<TData extends RowData> {\n getVisibleFlatColumns: () => Column<TData, unknown>[]\n getVisibleLeafColumns: () => Column<TData, unknown>[]\n getLeftVisibleLeafColumns: () => Column<TData, unknown>[]\n getRightVisibleLeafColumns: () => Column<TData, unknown>[]\n getCenterVisibleLeafColumns: () => Column<TData, unknown>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n resetColumnVisibility: (defaultState?: boolean) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityHandler: () => (event: unknown) => void\n}\n\nexport interface VisibilityColumnDef {\n enableHiding?: boolean\n}\n\nexport interface VisibilityRow<TData extends RowData> {\n _getAllVisibleCells: () => Cell<TData, unknown>[]\n getVisibleCells: () => Cell<TData, unknown>[]\n}\n\nexport interface VisibilityColumn {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),\n }\n },\n\n createColumn: <TData extends RowData, TValue>(\n column: Column<TData, TValue>,\n table: Table<TData>\n ): VisibilityColumn => {\n return {\n toggleVisibility: value => {\n if (column.getCanHide()) {\n table.setColumnVisibility(old => ({\n ...old,\n [column.id]: value ?? !column.getIsVisible(),\n }))\n }\n },\n getIsVisible: () => {\n return table.getState().columnVisibility?.[column.id] ?? true\n },\n\n getCanHide: () => {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (table.options.enableHiding ?? true)\n )\n },\n getToggleVisibilityHandler: () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): VisibilityRow<TData> => {\n return {\n _getAllVisibleCells: memo(\n () => [row.getAllCells(), table.getState().columnVisibility],\n cells => {\n return cells.filter(cell => cell.column.getIsVisible())\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): VisibilityInstance<TData> => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TData, unknown>[]\n ): (() => Column<TData, unknown>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n )\n }\n\n return {\n getVisibleFlatColumns: makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => table.getAllFlatColumns()\n ),\n getVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => table.getAllLeafColumns()\n ),\n getLeftVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => table.getLeftLeafColumns()\n ),\n getRightVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => table.getRightLeafColumns()\n ),\n getCenterVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => table.getCenterLeafColumns()\n ),\n\n setColumnVisibility: updater =>\n table.options.onColumnVisibilityChange?.(updater),\n\n resetColumnVisibility: defaultState => {\n table.setColumnVisibility(\n defaultState ? {} : table.initialState.columnVisibility ?? {}\n )\n },\n\n toggleAllColumnsVisible: value => {\n value = value ?? !table.getIsAllColumnsVisible()\n\n table.setColumnVisibility(\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getIsAllColumnsVisible: () =>\n !table.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n table.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityHandler: () => {\n return (e: unknown) => {\n table.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","columnVisibility","getDefaultOptions","table","onColumnVisibilityChange","makeStateUpdater","createColumn","column","toggleVisibility","value","getCanHide","setColumnVisibility","old","id","getIsVisible","_table$getState$colum","_table$getState$colum2","getState","_column$columnDef$ena","_table$options$enable","columnDef","enableHiding","options","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","cells","filter","cell","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","_table$options$debugA2","createTable","makeVisibleColumnsMethod","getColumns","d","map","join","columns","_table$options$debugA3","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","updater","resetColumnVisibility","defaultState","_table$initialState$c","initialState","toggleAllColumnsVisible","_value","getIsAllColumnsVisible","reduce","obj","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler","_target"],"mappings":";;;;;;;;;;;;;;;;AAyDA;;AAEO,MAAMA,UAAwB,GAAG;EACtCC,eAAe,EAAGC,KAAK,IAA2B;IAChD,OAAO;MACLC,gBAAgB,EAAE,EAAE;MACpB,GAAGD,KAAAA;KACJ,CAAA;GACF;EAEDE,iBAAiB,EACfC,KAAmB,IACU;IAC7B,OAAO;AACLC,MAAAA,wBAAwB,EAAEC,sBAAgB,CAAC,kBAAkB,EAAEF,KAAK,CAAA;KACrE,CAAA;GACF;AAEDG,EAAAA,YAAY,EAAEA,CACZC,MAA6B,EAC7BJ,KAAmB,KACE;IACrB,OAAO;MACLK,gBAAgB,EAAEC,KAAK,IAAI;AACzB,QAAA,IAAIF,MAAM,CAACG,UAAU,EAAE,EAAE;AACvBP,UAAAA,KAAK,CAACQ,mBAAmB,CAACC,GAAG,KAAK;AAChC,YAAA,GAAGA,GAAG;AACN,YAAA,CAACL,MAAM,CAACM,EAAE,GAAGJ,KAAK,IAAA,IAAA,GAALA,KAAK,GAAI,CAACF,MAAM,CAACO,YAAY,EAAC;AAC7C,WAAC,CAAC,CAAC,CAAA;AACL,SAAA;OACD;MACDA,YAAY,EAAEA,MAAM;QAAA,IAAAC,qBAAA,EAAAC,sBAAA,CAAA;QAClB,OAAAD,CAAAA,qBAAA,IAAAC,sBAAA,GAAOb,KAAK,CAACc,QAAQ,EAAE,CAAChB,gBAAgB,KAAjCe,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAoCT,MAAM,CAACM,EAAE,CAAC,KAAA,IAAA,GAAAE,qBAAA,GAAI,IAAI,CAAA;OAC9D;MAEDL,UAAU,EAAEA,MAAM;QAAA,IAAAQ,qBAAA,EAAAC,qBAAA,CAAA;QAChB,OACE,CAAA,CAAAD,qBAAA,GAACX,MAAM,CAACa,SAAS,CAACC,YAAY,KAAAH,IAAAA,GAAAA,qBAAA,GAAI,IAAI,OAAAC,qBAAA,GACrChB,KAAK,CAACmB,OAAO,CAACD,YAAY,KAAAF,IAAAA,GAAAA,qBAAA,GAAI,IAAI,CAAC,CAAA;OAEvC;MACDI,0BAA0B,EAAEA,MAAM;AAChC,QAAA,OAAQC,CAAU,IAAK;AACrBjB,UAAAA,MAAM,CAACC,gBAAgB,IAAvBD,IAAAA,IAAAA,MAAM,CAACC,gBAAgB,CACnBgB,CAAC,CAAgBC,MAAM,CAAsBC,OACjD,CAAC,CAAA;SACF,CAAA;AACH,OAAA;KACD,CAAA;GACF;AAEDC,EAAAA,SAAS,EAAEA,CACTC,GAAe,EACfzB,KAAmB,KACM;IACzB,OAAO;MACL0B,mBAAmB,EAAEC,UAAI,CACvB,MAAM,CAACF,GAAG,CAACG,WAAW,EAAE,EAAE5B,KAAK,CAACc,QAAQ,EAAE,CAAChB,gBAAgB,CAAC,EAC5D+B,KAAK,IAAI;AACP,QAAA,OAAOA,KAAK,CAACC,MAAM,CAACC,IAAI,IAAIA,IAAI,CAAC3B,MAAM,CAACO,YAAY,EAAE,CAAC,CAAA;AACzD,OAAC,EACD;QACEqB,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,yBAAyB;AACpEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAC,qBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,qBAAA,GAAMrC,KAAK,CAACmB,OAAO,CAACmB,QAAQ,KAAAD,IAAAA,GAAAA,qBAAA,GAAIrC,KAAK,CAACmB,OAAO,CAACoB,SAAS,CAAA;AAAA,SAAA;AAChE,OACF,CAAC;AACDC,MAAAA,eAAe,EAAEb,UAAI,CACnB,MAAM,CACJF,GAAG,CAACgB,mBAAmB,EAAE,EACzBhB,GAAG,CAACiB,qBAAqB,EAAE,EAC3BjB,GAAG,CAACkB,oBAAoB,EAAE,CAC3B,EACD,CAACC,IAAI,EAAEC,MAAM,EAAEC,KAAK,KAAK,CAAC,GAAGF,IAAI,EAAE,GAAGC,MAAM,EAAE,GAAGC,KAAK,CAAC,EACvD;QACEd,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAqB;AACpEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAW,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAM/C,KAAK,CAACmB,OAAO,CAACmB,QAAQ,KAAAS,IAAAA,GAAAA,sBAAA,GAAI/C,KAAK,CAACmB,OAAO,CAACoB,SAAS,CAAA;AAAA,SAAA;OAElE,CAAA;KACD,CAAA;GACF;EAEDS,WAAW,EACThD,KAAmB,IACW;AAC9B,IAAA,MAAMiD,wBAAwB,GAAGA,CAC/BjB,GAAW,EACXkB,UAA0C,KACL;AACrC,MAAA,OAAOvB,UAAI,CACT,MAAM,CACJuB,UAAU,EAAE,EACZA,UAAU,EAAE,CACTpB,MAAM,CAACqB,CAAC,IAAIA,CAAC,CAACxC,YAAY,EAAE,CAAC,CAC7ByC,GAAG,CAACD,CAAC,IAAIA,CAAC,CAACzC,EAAE,CAAC,CACd2C,IAAI,CAAC,GAAG,CAAC,CACb,EACDC,OAAO,IAAI;AACT,QAAA,OAAOA,OAAO,CAACxB,MAAM,CAACqB,CAAC,IAAIA,CAAC,CAACxC,YAAY,oBAAdwC,CAAC,CAACxC,YAAY,EAAI,CAAC,CAAA;AAChD,OAAC,EACD;QACEqB,GAAG;AACHI,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAmB,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAMvD,KAAK,CAACmB,OAAO,CAACmB,QAAQ,KAAAiB,IAAAA,GAAAA,sBAAA,GAAIvD,KAAK,CAACmB,OAAO,CAACqC,YAAY,CAAA;AAAA,SAAA;AACnE,OACF,CAAC,CAAA;KACF,CAAA;IAED,OAAO;MACLC,qBAAqB,EAAER,wBAAwB,CAC7C,uBAAuB,EACvB,MAAMjD,KAAK,CAAC0D,iBAAiB,EAC/B,CAAC;MACDC,qBAAqB,EAAEV,wBAAwB,CAC7C,uBAAuB,EACvB,MAAMjD,KAAK,CAAC4D,iBAAiB,EAC/B,CAAC;MACDC,yBAAyB,EAAEZ,wBAAwB,CACjD,2BAA2B,EAC3B,MAAMjD,KAAK,CAAC8D,kBAAkB,EAChC,CAAC;MACDC,0BAA0B,EAAEd,wBAAwB,CAClD,4BAA4B,EAC5B,MAAMjD,KAAK,CAACgE,mBAAmB,EACjC,CAAC;MACDC,2BAA2B,EAAEhB,wBAAwB,CACnD,6BAA6B,EAC7B,MAAMjD,KAAK,CAACkE,oBAAoB,EAClC,CAAC;AAED1D,MAAAA,mBAAmB,EAAE2D,OAAO,IAC1BnE,KAAK,CAACmB,OAAO,CAAClB,wBAAwB,IAAtCD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAACmB,OAAO,CAAClB,wBAAwB,CAAGkE,OAAO,CAAC;MAEnDC,qBAAqB,EAAEC,YAAY,IAAI;AAAA,QAAA,IAAAC,qBAAA,CAAA;QACrCtE,KAAK,CAACQ,mBAAmB,CACvB6D,YAAY,GAAG,EAAE,IAAAC,qBAAA,GAAGtE,KAAK,CAACuE,YAAY,CAACzE,gBAAgB,KAAA,IAAA,GAAAwE,qBAAA,GAAI,EAC7D,CAAC,CAAA;OACF;MAEDE,uBAAuB,EAAElE,KAAK,IAAI;AAAA,QAAA,IAAAmE,MAAA,CAAA;AAChCnE,QAAAA,KAAK,GAAAmE,CAAAA,MAAA,GAAGnE,KAAK,KAAAmE,IAAAA,GAAAA,MAAA,GAAI,CAACzE,KAAK,CAAC0E,sBAAsB,EAAE,CAAA;AAEhD1E,QAAAA,KAAK,CAACQ,mBAAmB,CACvBR,KAAK,CAAC4D,iBAAiB,EAAE,CAACe,MAAM,CAC9B,CAACC,GAAG,EAAExE,MAAM,MAAM;AAChB,UAAA,GAAGwE,GAAG;AACN,UAAA,CAACxE,MAAM,CAACM,EAAE,GAAG,CAACJ,KAAK,GAAG,EAACF,MAAM,CAACG,UAAU,IAAjBH,IAAAA,IAAAA,MAAM,CAACG,UAAU,EAAI,CAAGD,GAAAA,KAAAA;AACjD,SAAC,CAAC,EACF,EACF,CACF,CAAC,CAAA;OACF;MAEDoE,sBAAsB,EAAEA,MACtB,CAAC1E,KAAK,CAAC4D,iBAAiB,EAAE,CAACiB,IAAI,CAACzE,MAAM,IAAI,EAACA,MAAM,CAACO,YAAY,IAAA,IAAA,IAAnBP,MAAM,CAACO,YAAY,EAAI,CAAC,CAAA;MAErEmE,uBAAuB,EAAEA,MACvB9E,KAAK,CAAC4D,iBAAiB,EAAE,CAACiB,IAAI,CAACzE,MAAM,IAAIA,MAAM,CAACO,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAnBP,MAAM,CAACO,YAAY,EAAI,CAAC;MAEnEoE,oCAAoC,EAAEA,MAAM;AAC1C,QAAA,OAAQ1D,CAAU,IAAK;AAAA,UAAA,IAAA2D,OAAA,CAAA;AACrBhF,UAAAA,KAAK,CAACwE,uBAAuB,CAAAQ,CAAAA,OAAA,GACzB3D,CAAC,CAAgBC,MAAM,KAAzB0D,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAAgDzD,OAClD,CAAC,CAAA;SACF,CAAA;AACH,OAAA;KACD,CAAA;AACH,GAAA;AACF;;;;"}
1
+ {"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport {\n Cell,\n Column,\n OnChangeFn,\n Table,\n Updater,\n Row,\n RowData,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type VisibilityState = Record<string, boolean>\n\nexport interface VisibilityTableState {\n columnVisibility: VisibilityState\n}\n\nexport interface VisibilityOptions {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport interface VisibilityDefaultOptions {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport interface VisibilityInstance<TData extends RowData> {\n getVisibleFlatColumns: () => Column<TData, unknown>[]\n getVisibleLeafColumns: () => Column<TData, unknown>[]\n getLeftVisibleLeafColumns: () => Column<TData, unknown>[]\n getRightVisibleLeafColumns: () => Column<TData, unknown>[]\n getCenterVisibleLeafColumns: () => Column<TData, unknown>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n resetColumnVisibility: (defaultState?: boolean) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityHandler: () => (event: unknown) => void\n}\n\nexport interface VisibilityColumnDef {\n enableHiding?: boolean\n}\n\nexport interface VisibilityRow<TData extends RowData> {\n _getAllVisibleCells: () => Cell<TData, unknown>[]\n getVisibleCells: () => Cell<TData, unknown>[]\n}\n\nexport interface VisibilityColumn {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),\n }\n },\n\n createColumn: <TData extends RowData, TValue>(\n column: Column<TData, TValue>,\n table: Table<TData>\n ): void => {\n column.toggleVisibility = value => {\n if (column.getCanHide()) {\n table.setColumnVisibility(old => ({\n ...old,\n [column.id]: value ?? !column.getIsVisible(),\n }))\n }\n }\n column.getIsVisible = () => {\n return table.getState().columnVisibility?.[column.id] ?? true\n }\n\n column.getCanHide = () => {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (table.options.enableHiding ?? true)\n )\n }\n column.getToggleVisibilityHandler = () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): void => {\n row._getAllVisibleCells = memo(\n () => [row.getAllCells(), table.getState().columnVisibility],\n cells => {\n return cells.filter(cell => cell.column.getIsVisible())\n },\n {\n key: process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n )\n row.getVisibleCells = memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n )\n },\n\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TData, unknown>[]\n ): (() => Column<TData, unknown>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n )\n }\n\n table.getVisibleFlatColumns = makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => table.getAllFlatColumns()\n )\n table.getVisibleLeafColumns = makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => table.getAllLeafColumns()\n )\n table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => table.getLeftLeafColumns()\n )\n table.getRightVisibleLeafColumns = makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => table.getRightLeafColumns()\n )\n table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => table.getCenterLeafColumns()\n )\n\n table.setColumnVisibility = updater =>\n table.options.onColumnVisibilityChange?.(updater)\n\n table.resetColumnVisibility = defaultState => {\n table.setColumnVisibility(\n defaultState ? {} : table.initialState.columnVisibility ?? {}\n )\n }\n\n table.toggleAllColumnsVisible = value => {\n value = value ?? !table.getIsAllColumnsVisible()\n\n table.setColumnVisibility(\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n }\n\n table.getIsAllColumnsVisible = () =>\n !table.getAllLeafColumns().some(column => !column.getIsVisible?.())\n\n table.getIsSomeColumnsVisible = () =>\n table.getAllLeafColumns().some(column => column.getIsVisible?.())\n\n table.getToggleAllColumnsVisibilityHandler = () => {\n return (e: unknown) => {\n table.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","columnVisibility","getDefaultOptions","table","onColumnVisibilityChange","makeStateUpdater","createColumn","column","toggleVisibility","value","getCanHide","setColumnVisibility","old","id","getIsVisible","_table$getState$colum","_table$getState$colum2","getState","_column$columnDef$ena","_table$options$enable","columnDef","enableHiding","options","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","cells","filter","cell","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","_table$options$debugA2","createTable","makeVisibleColumnsMethod","getColumns","d","map","join","columns","_table$options$debugA3","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","updater","resetColumnVisibility","defaultState","_table$initialState$c","initialState","toggleAllColumnsVisible","_value","getIsAllColumnsVisible","reduce","obj","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler","_target"],"mappings":"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"}