@tanstack/react-table 8.0.0-alpha.7 → 8.0.0-alpha.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/react-table/src/index.js +133 -0
- package/build/cjs/react-table/src/index.js.map +1 -0
- package/build/cjs/table-core/build/esm/index.js +4049 -0
- package/build/cjs/table-core/build/esm/index.js.map +1 -0
- package/build/esm/index.js +3357 -4071
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +24 -783
- package/build/types/index.d.ts +16 -8
- package/build/umd/index.development.js +3396 -4080
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +11 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +5 -1
- package/src/index.tsx +113 -8
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/aggregationTypes.js +0 -130
- package/build/cjs/aggregationTypes.js.map +0 -1
- package/build/cjs/core.js +0 -552
- package/build/cjs/core.js.map +0 -1
- package/build/cjs/createTable.js +0 -122
- package/build/cjs/createTable.js.map +0 -1
- package/build/cjs/features/ColumnSizing.js +0 -317
- package/build/cjs/features/ColumnSizing.js.map +0 -1
- package/build/cjs/features/Expanding.js +0 -251
- package/build/cjs/features/Expanding.js.map +0 -1
- package/build/cjs/features/Filters.js +0 -445
- package/build/cjs/features/Filters.js.map +0 -1
- package/build/cjs/features/Grouping.js +0 -249
- package/build/cjs/features/Grouping.js.map +0 -1
- package/build/cjs/features/Headers.js +0 -549
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/features/Ordering.js +0 -86
- package/build/cjs/features/Ordering.js.map +0 -1
- package/build/cjs/features/Pagination.js +0 -198
- package/build/cjs/features/Pagination.js.map +0 -1
- package/build/cjs/features/Pinning.js +0 -149
- package/build/cjs/features/Pinning.js.map +0 -1
- package/build/cjs/features/RowSelection.js +0 -541
- package/build/cjs/features/RowSelection.js.map +0 -1
- package/build/cjs/features/Sorting.js +0 -327
- package/build/cjs/features/Sorting.js.map +0 -1
- package/build/cjs/features/Visibility.js +0 -166
- package/build/cjs/features/Visibility.js.map +0 -1
- package/build/cjs/filterTypes.js +0 -172
- package/build/cjs/filterTypes.js.map +0 -1
- package/build/cjs/index.js +0 -32
- package/build/cjs/index.js.map +0 -1
- package/build/cjs/sortTypes.js +0 -122
- package/build/cjs/sortTypes.js.map +0 -1
- package/build/cjs/utils/columnFilterRowsFn.js +0 -131
- package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/expandRowsFn.js +0 -38
- package/build/cjs/utils/expandRowsFn.js.map +0 -1
- package/build/cjs/utils/globalFilterRowsFn.js +0 -101
- package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/groupRowsFn.js +0 -155
- package/build/cjs/utils/groupRowsFn.js.map +0 -1
- package/build/cjs/utils/paginateRowsFn.js +0 -44
- package/build/cjs/utils/paginateRowsFn.js.map +0 -1
- package/build/cjs/utils/sortRowsFn.js +0 -94
- package/build/cjs/utils/sortRowsFn.js.map +0 -1
- package/build/cjs/utils.js +0 -141
- package/build/cjs/utils.js.map +0 -1
- package/build/types/aggregationTypes.d.ts +0 -22
- package/build/types/core.d.ts +0 -109
- package/build/types/createTable.d.ts +0 -52
- package/build/types/features/ColumnSizing.d.ts +0 -67
- package/build/types/features/Expanding.d.ts +0 -53
- package/build/types/features/Filters.d.ts +0 -98
- package/build/types/features/Grouping.d.ts +0 -82
- package/build/types/features/Headers.d.ts +0 -41
- package/build/types/features/Ordering.d.ts +0 -19
- package/build/types/features/Pagination.d.ts +0 -44
- package/build/types/features/Pinning.d.ts +0 -39
- package/build/types/features/RowSelection.d.ts +0 -66
- package/build/types/features/Sorting.d.ts +0 -78
- package/build/types/features/Visibility.d.ts +0 -47
- package/build/types/filterTypes.d.ts +0 -50
- package/build/types/sortTypes.d.ts +0 -18
- package/build/types/types.d.ts +0 -127
- package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
- package/build/types/utils/expandRowsFn.d.ts +0 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
- package/build/types/utils/groupRowsFn.d.ts +0 -2
- package/build/types/utils/paginateRowsFn.d.ts +0 -2
- package/build/types/utils/sortRowsFn.d.ts +0 -2
- package/build/types/utils.d.ts +0 -24
- package/src/aggregationTypes.ts +0 -115
- package/src/core.tsx +0 -1091
- package/src/createTable.tsx +0 -264
- package/src/features/ColumnSizing.ts +0 -453
- package/src/features/Expanding.ts +0 -406
- package/src/features/Filters.ts +0 -762
- package/src/features/Grouping.ts +0 -466
- package/src/features/Headers.ts +0 -912
- package/src/features/Ordering.ts +0 -133
- package/src/features/Pagination.ts +0 -325
- package/src/features/Pinning.ts +0 -198
- package/src/features/RowSelection.ts +0 -831
- package/src/features/Sorting.ts +0 -547
- package/src/features/Visibility.ts +0 -279
- package/src/filterTypes.ts +0 -251
- package/src/sortTypes.ts +0 -159
- package/src/types.ts +0 -331
- package/src/utils/columnFilterRowsFn.ts +0 -155
- package/src/utils/expandRowsFn.ts +0 -50
- package/src/utils/globalFilterRowsFn.ts +0 -122
- package/src/utils/groupRowsFn.ts +0 -194
- package/src/utils/paginateRowsFn.ts +0 -34
- package/src/utils/sortRowsFn.ts +0 -115
- package/src/utils.tsx +0 -195
package/build/cjs/createTable.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
-
var React = require('react');
|
|
17
|
-
var core = require('./core.js');
|
|
18
|
-
|
|
19
|
-
function _interopNamespace(e) {
|
|
20
|
-
if (e && e.__esModule) return e;
|
|
21
|
-
var n = Object.create(null);
|
|
22
|
-
if (e) {
|
|
23
|
-
Object.keys(e).forEach(function (k) {
|
|
24
|
-
if (k !== 'default') {
|
|
25
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
26
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
get: function () { return e[k]; }
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
n["default"] = e;
|
|
34
|
-
return Object.freeze(n);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
38
|
-
|
|
39
|
-
function createTable() {
|
|
40
|
-
return {
|
|
41
|
-
RowType: function RowType() {
|
|
42
|
-
return createTable();
|
|
43
|
-
},
|
|
44
|
-
FilterFns: function FilterFns() {
|
|
45
|
-
return createTable();
|
|
46
|
-
},
|
|
47
|
-
SortingFns: function SortingFns() {
|
|
48
|
-
return createTable();
|
|
49
|
-
},
|
|
50
|
-
AggregationFns: function AggregationFns() {
|
|
51
|
-
return createTable();
|
|
52
|
-
},
|
|
53
|
-
createColumns: function createColumns(columns) {
|
|
54
|
-
return columns;
|
|
55
|
-
},
|
|
56
|
-
createDisplayColumn: function createDisplayColumn(column) {
|
|
57
|
-
return _rollupPluginBabelHelpers["extends"]({}, column, {
|
|
58
|
-
__generated: true
|
|
59
|
-
});
|
|
60
|
-
},
|
|
61
|
-
createGroup: function createGroup(column) {
|
|
62
|
-
return _rollupPluginBabelHelpers["extends"]({}, column, {
|
|
63
|
-
__generated: true
|
|
64
|
-
});
|
|
65
|
-
},
|
|
66
|
-
createDataColumn: function createDataColumn(accessor, column) {
|
|
67
|
-
column = _rollupPluginBabelHelpers["extends"]({}, column, {
|
|
68
|
-
id: column.id
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
if (typeof accessor === 'string') {
|
|
72
|
-
var _column$id;
|
|
73
|
-
|
|
74
|
-
return _rollupPluginBabelHelpers["extends"]({}, column, {
|
|
75
|
-
id: (_column$id = column.id) != null ? _column$id : accessor,
|
|
76
|
-
accessorKey: accessor,
|
|
77
|
-
__generated: true
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (typeof accessor === 'function') {
|
|
82
|
-
return _rollupPluginBabelHelpers["extends"]({}, column, {
|
|
83
|
-
accessorFn: accessor,
|
|
84
|
-
__generated: true
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
throw new Error('Invalid accessor');
|
|
89
|
-
},
|
|
90
|
-
useTable: function useTable(options) {
|
|
91
|
-
var instanceRef = React__namespace.useRef(undefined);
|
|
92
|
-
var unsafeRerender = React__namespace.useReducer(function () {
|
|
93
|
-
return {};
|
|
94
|
-
}, {})[1];
|
|
95
|
-
var isMountedRef = React__namespace.useRef(false);
|
|
96
|
-
var rerender = React__namespace.useCallback(function () {
|
|
97
|
-
if (!isMountedRef.current) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
unsafeRerender();
|
|
102
|
-
}, []);
|
|
103
|
-
React__namespace.useLayoutEffect(function () {
|
|
104
|
-
isMountedRef.current = true;
|
|
105
|
-
return function () {
|
|
106
|
-
isMountedRef.current = false;
|
|
107
|
-
};
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
if (!instanceRef.current) {
|
|
111
|
-
instanceRef.current = core.createTableInstance(options, rerender);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
instanceRef.current.updateOptions(options);
|
|
115
|
-
return instanceRef.current;
|
|
116
|
-
},
|
|
117
|
-
types: undefined
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
exports.createTable = createTable;
|
|
122
|
-
//# sourceMappingURL=createTable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createTable.js","sources":["../../src/createTable.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Cell, Column, Row } from '.'\nimport { createTableInstance } from './core'\nimport {\n ReactTable,\n ColumnDef,\n AccessorFn,\n Options,\n Renderable,\n Header,\n} from './types'\nimport { Overwrite } from './utils'\n\nexport type TableHelper<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n RowType<TTData>(): TableHelper<\n TTData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n\n FilterFns: <TTFilterFns>(\n filterFns: TTFilterFns\n ) => TableHelper<TData, TValue, TTFilterFns, TSortingFns, TAggregationFns>\n\n SortingFns: <TTSortingFns>(\n sortingFns: TTSortingFns\n ) => TableHelper<TData, TValue, TFilterFns, TTSortingFns, TAggregationFns>\n\n AggregationFns: <TTAggregationFns>(\n aggregationFns: TTAggregationFns\n ) => TableHelper<TData, TValue, TFilterFns, TSortingFns, TTAggregationFns>\n\n createColumns: (\n columns: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n ) => ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n\n createGroup: (\n column: Overwrite<\n ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>,\n | {\n __generated?: never\n accessorFn?: never\n accessorKey?: never\n header: string\n id?: string\n }\n | {\n __generated?: never\n accessorFn?: never\n accessorKey?: never\n id: string\n header?:\n | string\n | Renderable<{\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n header: Header<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n }>\n }\n >\n ) => ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>\n\n createDisplayColumn: (\n column: Overwrite<\n ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>,\n { __generated?: never; accessorFn?: never; accessorKey?: never }\n >\n ) => ColumnDef<TData, unknown, TFilterFns, TSortingFns, TAggregationFns>\n\n createDataColumn: <TAccessor extends AccessorFn<TData> | keyof TData>(\n accessor: TAccessor,\n column: TAccessor extends (...args: any[]) => any\n ? // Accessor Fn\n Overwrite<\n ColumnDef<\n TData,\n ReturnType<TAccessor>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n {\n __generated?: never\n accessorFn?: never\n accessorKey?: never\n id: string\n }\n >\n : TAccessor extends keyof TData\n ? // Accessor Key\n Overwrite<\n ColumnDef<\n TData,\n TData[TAccessor],\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n {\n __generated?: never\n accessorFn?: never\n accessorKey?: never\n id?: string\n }\n >\n : never\n ) => ColumnDef<\n TData,\n TAccessor extends (...args: any[]) => any\n ? ReturnType<TAccessor>\n : TAccessor extends keyof TData\n ? TData[TAccessor]\n : never,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n\n useTable: <TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n\n types: {\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n columnDef: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n }\n}\n\nexport function createTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(): TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n RowType: () => createTable(),\n FilterFns: () => createTable(),\n SortingFns: () => createTable(),\n AggregationFns: () => createTable(),\n createColumns: columns => columns,\n createDisplayColumn: column => ({\n ...column,\n __generated: true,\n }),\n createGroup: column => ({\n ...column,\n __generated: true,\n }),\n createDataColumn: (accessor, column) => {\n column = {\n ...column,\n id: column.id,\n }\n\n if (typeof accessor === 'string') {\n return {\n ...column,\n id: column.id ?? accessor,\n accessorKey: accessor,\n __generated: true,\n }\n }\n\n if (typeof accessor === 'function') {\n return {\n ...column,\n accessorFn: accessor,\n __generated: true,\n }\n }\n\n throw new Error('Invalid accessor')\n },\n useTable: <TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ): ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> => {\n const instanceRef = React.useRef<\n ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >(undefined!)\n\n const unsafeRerender = React.useReducer(() => ({}), {})[1]\n\n const isMountedRef = React.useRef(false)\n\n const rerender = React.useCallback(() => {\n if (!isMountedRef.current) {\n return\n }\n\n unsafeRerender()\n }, [])\n\n React.useLayoutEffect(() => {\n isMountedRef.current = true\n return () => {\n isMountedRef.current = false\n }\n })\n\n if (!instanceRef.current) {\n instanceRef.current = createTableInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >(options, rerender)\n }\n\n instanceRef.current.updateOptions(options)\n\n return instanceRef.current\n },\n types: undefined as any,\n } as TableHelper<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n}\n"],"names":["createTable","RowType","FilterFns","SortingFns","AggregationFns","createColumns","columns","createDisplayColumn","column","__generated","createGroup","createDataColumn","accessor","id","accessorKey","accessorFn","Error","useTable","options","instanceRef","React","useRef","undefined","unsafeRerender","useReducer","isMountedRef","rerender","useCallback","current","useLayoutEffect","createTableInstance","updateOptions","types"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+KO,SAASA,WAAT,GAMmE;AACxE,SAAO;AACLC,IAAAA,OAAO,EAAE;AAAA,aAAMD,WAAW,EAAjB;AAAA,KADJ;AAELE,IAAAA,SAAS,EAAE;AAAA,aAAMF,WAAW,EAAjB;AAAA,KAFN;AAGLG,IAAAA,UAAU,EAAE;AAAA,aAAMH,WAAW,EAAjB;AAAA,KAHP;AAILI,IAAAA,cAAc,EAAE;AAAA,aAAMJ,WAAW,EAAjB;AAAA,KAJX;AAKLK,IAAAA,aAAa,EAAE,uBAAAC,OAAO;AAAA,aAAIA,OAAJ;AAAA,KALjB;AAMLC,IAAAA,mBAAmB,EAAE,6BAAAC,MAAM;AAAA,sDACtBA,MADsB;AAEzBC,QAAAA,WAAW,EAAE;AAFY;AAAA,KANtB;AAULC,IAAAA,WAAW,EAAE,qBAAAF,MAAM;AAAA,sDACdA,MADc;AAEjBC,QAAAA,WAAW,EAAE;AAFI;AAAA,KAVd;AAcLE,IAAAA,gBAAgB,EAAE,0BAACC,QAAD,EAAWJ,MAAX,EAAsB;AACtCA,MAAAA,MAAM,4CACDA,MADC;AAEJK,QAAAA,EAAE,EAAEL,MAAM,CAACK;AAFP,QAAN;;AAKA,UAAI,OAAOD,QAAP,KAAoB,QAAxB,EAAkC;AAAA;;AAChC,wDACKJ,MADL;AAEEK,UAAAA,EAAE,gBAAEL,MAAM,CAACK,EAAT,yBAAeD,QAFnB;AAGEE,UAAAA,WAAW,EAAEF,QAHf;AAIEH,UAAAA,WAAW,EAAE;AAJf;AAMD;;AAED,UAAI,OAAOG,QAAP,KAAoB,UAAxB,EAAoC;AAClC,wDACKJ,MADL;AAEEO,UAAAA,UAAU,EAAEH,QAFd;AAGEH,UAAAA,WAAW,EAAE;AAHf;AAKD;;AAED,YAAM,IAAIO,KAAJ,CAAU,kBAAV,CAAN;AACD,KAtCI;AAuCLC,IAAAA,QAAQ,EAAE,kBACRC,OADQ,EAEgE;AACxE,UAAMC,WAAW,GAAGC,gBAAK,CAACC,MAAN,CAElBC,SAFkB,CAApB;AAIA,UAAMC,cAAc,GAAGH,gBAAK,CAACI,UAAN,CAAiB;AAAA,eAAO,EAAP;AAAA,OAAjB,EAA6B,EAA7B,EAAiC,CAAjC,CAAvB;AAEA,UAAMC,YAAY,GAAGL,gBAAK,CAACC,MAAN,CAAa,KAAb,CAArB;AAEA,UAAMK,QAAQ,GAAGN,gBAAK,CAACO,WAAN,CAAkB,YAAM;AACvC,YAAI,CAACF,YAAY,CAACG,OAAlB,EAA2B;AACzB;AACD;;AAEDL,QAAAA,cAAc;AACf,OANgB,EAMd,EANc,CAAjB;AAQAH,MAAAA,gBAAK,CAACS,eAAN,CAAsB,YAAM;AAC1BJ,QAAAA,YAAY,CAACG,OAAb,GAAuB,IAAvB;AACA,eAAO,YAAM;AACXH,UAAAA,YAAY,CAACG,OAAb,GAAuB,KAAvB;AACD,SAFD;AAGD,OALD;;AAOA,UAAI,CAACT,WAAW,CAACS,OAAjB,EAA0B;AACxBT,QAAAA,WAAW,CAACS,OAAZ,GAAsBE,wBAAmB,CAMvCZ,OANuC,EAM9BQ,QAN8B,CAAzC;AAOD;;AAEDP,MAAAA,WAAW,CAACS,OAAZ,CAAoBG,aAApB,CAAkCb,OAAlC;AAEA,aAAOC,WAAW,CAACS,OAAnB;AACD,KA9EI;AA+ELI,IAAAA,KAAK,EAAEV;AA/EF,GAAP;AAiFD;;;;"}
|
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
-
var utils = require('../utils.js');
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
var defaultColumnSizing = {
|
|
20
|
-
width: 150,
|
|
21
|
-
minWidth: 20,
|
|
22
|
-
maxWidth: Number.MAX_SAFE_INTEGER
|
|
23
|
-
};
|
|
24
|
-
function getInitialState() {
|
|
25
|
-
return {
|
|
26
|
-
columnSizing: {},
|
|
27
|
-
columnSizingInfo: {
|
|
28
|
-
startOffset: null,
|
|
29
|
-
startSize: null,
|
|
30
|
-
deltaOffset: null,
|
|
31
|
-
deltaPercentage: null,
|
|
32
|
-
isResizingColumn: false,
|
|
33
|
-
columnSizingStart: []
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function getDefaultOptions(instance) {
|
|
38
|
-
return {
|
|
39
|
-
columnResizeMode: 'onEnd',
|
|
40
|
-
onColumnSizingChange: utils.makeStateUpdater('columnSizing', instance),
|
|
41
|
-
onColumnSizingInfoChange: utils.makeStateUpdater('columnSizingInfo', instance)
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function getInstance(instance) {
|
|
45
|
-
return {
|
|
46
|
-
setColumnSizing: function setColumnSizing(updater) {
|
|
47
|
-
return instance.options.onColumnSizingChange == null ? void 0 : instance.options.onColumnSizingChange(updater, utils.functionalUpdate(updater, instance.getState().columnSizing));
|
|
48
|
-
},
|
|
49
|
-
setColumnSizingInfo: function setColumnSizingInfo(updater) {
|
|
50
|
-
return instance.options.onColumnSizingInfoChange == null ? void 0 : instance.options.onColumnSizingInfoChange(updater, utils.functionalUpdate(updater, instance.getState().columnSizingInfo));
|
|
51
|
-
},
|
|
52
|
-
resetColumnSizing: function resetColumnSizing() {
|
|
53
|
-
var _instance$initialStat;
|
|
54
|
-
|
|
55
|
-
instance.setColumnSizing((_instance$initialStat = instance.initialState.columnSizing) != null ? _instance$initialStat : {});
|
|
56
|
-
},
|
|
57
|
-
resetHeaderSizeInfo: function resetHeaderSizeInfo() {
|
|
58
|
-
var _instance$initialStat2;
|
|
59
|
-
|
|
60
|
-
instance.setColumnSizingInfo((_instance$initialStat2 = instance.initialState.columnSizingInfo) != null ? _instance$initialStat2 : {});
|
|
61
|
-
},
|
|
62
|
-
resetColumnSize: function resetColumnSize(columnId) {
|
|
63
|
-
instance.setColumnSizing(function (_ref) {
|
|
64
|
-
_ref[columnId];
|
|
65
|
-
var rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_ref, [columnId].map(_rollupPluginBabelHelpers.toPropertyKey));
|
|
66
|
-
|
|
67
|
-
return rest;
|
|
68
|
-
});
|
|
69
|
-
},
|
|
70
|
-
resetHeaderSize: function resetHeaderSize(headerId) {
|
|
71
|
-
var header = instance.getHeader(headerId);
|
|
72
|
-
|
|
73
|
-
if (!header) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return instance.resetColumnSize(header.column.id);
|
|
78
|
-
},
|
|
79
|
-
getHeaderCanResize: function getHeaderCanResize(headerId) {
|
|
80
|
-
var header = instance.getHeader(headerId);
|
|
81
|
-
|
|
82
|
-
if (!header) {
|
|
83
|
-
throw new Error();
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return instance.getColumnCanResize(header.column.id);
|
|
87
|
-
},
|
|
88
|
-
getColumnCanResize: function getColumnCanResize(columnId) {
|
|
89
|
-
var _ref2, _ref3, _column$enableResizin;
|
|
90
|
-
|
|
91
|
-
var column = instance.getColumn(columnId);
|
|
92
|
-
|
|
93
|
-
if (!column) {
|
|
94
|
-
throw new Error();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return (_ref2 = (_ref3 = (_column$enableResizin = column.enableResizing) != null ? _column$enableResizin : instance.options.enableColumnResizing) != null ? _ref3 : column.defaultCanResize) != null ? _ref2 : true;
|
|
98
|
-
},
|
|
99
|
-
getColumnIsResizing: function getColumnIsResizing(columnId) {
|
|
100
|
-
var column = instance.getColumn(columnId);
|
|
101
|
-
|
|
102
|
-
if (!column) {
|
|
103
|
-
throw new Error();
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return instance.getState().columnSizingInfo.isResizingColumn === columnId;
|
|
107
|
-
},
|
|
108
|
-
getHeaderIsResizing: function getHeaderIsResizing(headerId) {
|
|
109
|
-
var header = instance.getHeader(headerId);
|
|
110
|
-
|
|
111
|
-
if (!header) {
|
|
112
|
-
throw new Error();
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return instance.getColumnIsResizing(header.column.id);
|
|
116
|
-
},
|
|
117
|
-
getColumnResizerProps: function getColumnResizerProps(headerId, userProps) {
|
|
118
|
-
var header = instance.getHeader(headerId);
|
|
119
|
-
|
|
120
|
-
if (!header) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
var column = instance.getColumn(header.column.id);
|
|
125
|
-
|
|
126
|
-
if (!column) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
var canResize = column.getCanResize();
|
|
131
|
-
|
|
132
|
-
var onResizeStart = function onResizeStart(e) {
|
|
133
|
-
if (isTouchStartEvent(e)) {
|
|
134
|
-
// lets not respond to multiple touches (e.g. 2 or 3 fingers)
|
|
135
|
-
if (e.touches && e.touches.length > 1) {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
var columnSizingStart = header.getLeafHeaders().map(function (d) {
|
|
141
|
-
return [d.column.id, d.getWidth()];
|
|
142
|
-
});
|
|
143
|
-
var clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;
|
|
144
|
-
|
|
145
|
-
var updateOffset = function updateOffset(eventType, clientXPos) {
|
|
146
|
-
if (typeof clientXPos !== 'number') {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
var newColumnSizing = {};
|
|
151
|
-
instance.setColumnSizingInfo(function (old) {
|
|
152
|
-
var _old$startOffset, _old$startSize;
|
|
153
|
-
|
|
154
|
-
var deltaOffset = clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0);
|
|
155
|
-
var deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);
|
|
156
|
-
old.columnSizingStart.forEach(function (_ref4) {
|
|
157
|
-
var columnId = _ref4[0],
|
|
158
|
-
headerWidth = _ref4[1];
|
|
159
|
-
newColumnSizing[columnId] = Math.max(headerWidth + headerWidth * deltaPercentage, 0);
|
|
160
|
-
});
|
|
161
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, {
|
|
162
|
-
deltaOffset: deltaOffset,
|
|
163
|
-
deltaPercentage: deltaPercentage
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
if (instance.options.columnResizeMode === 'onChange' || eventType === 'end') {
|
|
168
|
-
instance.setColumnSizing(function (old) {
|
|
169
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, newColumnSizing);
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
var onMove = function onMove(clientXPos) {
|
|
175
|
-
return updateOffset('move', clientXPos);
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
var onEnd = function onEnd(clientXPos) {
|
|
179
|
-
updateOffset('end', clientXPos);
|
|
180
|
-
instance.setColumnSizingInfo(function (old) {
|
|
181
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, {
|
|
182
|
-
isResizingColumn: false,
|
|
183
|
-
startOffset: null,
|
|
184
|
-
startSize: null,
|
|
185
|
-
deltaOffset: null,
|
|
186
|
-
deltaPercentage: null,
|
|
187
|
-
columnSizingStart: []
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
var mouseEvents = {
|
|
193
|
-
moveHandler: function moveHandler(e) {
|
|
194
|
-
return onMove(e.clientX);
|
|
195
|
-
},
|
|
196
|
-
upHandler: function upHandler(e) {
|
|
197
|
-
document.removeEventListener('mousemove', mouseEvents.moveHandler);
|
|
198
|
-
document.removeEventListener('mouseup', mouseEvents.upHandler);
|
|
199
|
-
onEnd(e.clientX);
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
var touchEvents = {
|
|
203
|
-
moveHandler: function moveHandler(e) {
|
|
204
|
-
if (e.cancelable) {
|
|
205
|
-
e.preventDefault();
|
|
206
|
-
e.stopPropagation();
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
onMove(e.touches[0].clientX);
|
|
210
|
-
return false;
|
|
211
|
-
},
|
|
212
|
-
upHandler: function upHandler(e) {
|
|
213
|
-
document.removeEventListener('touchmove', touchEvents.moveHandler);
|
|
214
|
-
document.removeEventListener('touchend', touchEvents.upHandler);
|
|
215
|
-
|
|
216
|
-
if (e.cancelable) {
|
|
217
|
-
e.preventDefault();
|
|
218
|
-
e.stopPropagation();
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
onEnd(e.touches[0].clientX);
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
var passiveIfSupported = passiveEventSupported() ? {
|
|
225
|
-
passive: false
|
|
226
|
-
} : false;
|
|
227
|
-
|
|
228
|
-
if (isTouchStartEvent(e)) {
|
|
229
|
-
document.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);
|
|
230
|
-
document.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);
|
|
231
|
-
} else {
|
|
232
|
-
document.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);
|
|
233
|
-
document.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
instance.setColumnSizingInfo(function (old) {
|
|
237
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, {
|
|
238
|
-
startOffset: clientX,
|
|
239
|
-
startSize: header.getWidth(),
|
|
240
|
-
deltaOffset: 0,
|
|
241
|
-
deltaPercentage: 0,
|
|
242
|
-
columnSizingStart: columnSizingStart,
|
|
243
|
-
isResizingColumn: header.column.id
|
|
244
|
-
});
|
|
245
|
-
});
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
var initialProps = canResize ? {
|
|
249
|
-
title: 'Toggle Grouping',
|
|
250
|
-
draggable: false,
|
|
251
|
-
role: 'separator',
|
|
252
|
-
onMouseDown: function onMouseDown(e) {
|
|
253
|
-
e.persist();
|
|
254
|
-
onResizeStart(e);
|
|
255
|
-
},
|
|
256
|
-
onTouchStart: function onTouchStart(e) {
|
|
257
|
-
e.persist();
|
|
258
|
-
onResizeStart(e);
|
|
259
|
-
}
|
|
260
|
-
} : {};
|
|
261
|
-
return utils.propGetter(initialProps, userProps);
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
function createColumn(column, instance) {
|
|
266
|
-
return {
|
|
267
|
-
getIsResizing: function getIsResizing() {
|
|
268
|
-
return instance.getColumnIsResizing(column.id);
|
|
269
|
-
},
|
|
270
|
-
getCanResize: function getCanResize() {
|
|
271
|
-
return instance.getColumnCanResize(column.id);
|
|
272
|
-
},
|
|
273
|
-
resetSize: function resetSize() {
|
|
274
|
-
return instance.resetColumnSize(column.id);
|
|
275
|
-
},
|
|
276
|
-
getResizerProps: function getResizerProps(userProps) {
|
|
277
|
-
return instance.getColumnResizerProps(column.id, userProps);
|
|
278
|
-
}
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
var passiveSupported = null;
|
|
282
|
-
function passiveEventSupported() {
|
|
283
|
-
if (typeof passiveSupported === 'boolean') return passiveSupported;
|
|
284
|
-
var supported = false;
|
|
285
|
-
|
|
286
|
-
try {
|
|
287
|
-
var options = {
|
|
288
|
-
get passive() {
|
|
289
|
-
supported = true;
|
|
290
|
-
return false;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
var noop = function noop() {};
|
|
296
|
-
|
|
297
|
-
window.addEventListener('test', noop, options);
|
|
298
|
-
window.removeEventListener('test', noop);
|
|
299
|
-
} catch (err) {
|
|
300
|
-
supported = false;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
passiveSupported = supported;
|
|
304
|
-
return passiveSupported;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
function isTouchStartEvent(e) {
|
|
308
|
-
return e.type === 'touchstart';
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
exports.createColumn = createColumn;
|
|
312
|
-
exports.defaultColumnSizing = defaultColumnSizing;
|
|
313
|
-
exports.getDefaultOptions = getDefaultOptions;
|
|
314
|
-
exports.getInitialState = getInitialState;
|
|
315
|
-
exports.getInstance = getInstance;
|
|
316
|
-
exports.passiveEventSupported = passiveEventSupported;
|
|
317
|
-
//# sourceMappingURL=ColumnSizing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import React, {\n ComponentProps,\n MouseEvent as ReactMouseEvent,\n PropsWithoutRef,\n PropsWithRef,\n TouchEvent as ReactTouchEvent,\n} from 'react'\nimport {\n Column,\n Getter,\n Header,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\n//\n\nexport type ColumnSizing = Record<string, number>\n\nexport type ColumnSizingInfoState = {\n startOffset: null | number\n startSize: null | number\n deltaOffset: null | number\n deltaPercentage: null | number\n isResizingColumn: false | string\n columnSizingStart: [string, number][]\n}\n\nexport type ColumnSizingTableState = {\n columnSizing: ColumnSizing\n columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport type ColumnSizingOptions = {\n enableColumnResizing?: boolean\n columnResizeMode?: ColumnResizeMode\n onColumnSizingChange?: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnSizingDefaultOptions = {\n columnResizeMode: ColumnResizeMode\n onColumnSizingChange: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnResizerProps = {\n title?: string\n onMouseDown?: (e: ReactMouseEvent) => void\n onTouchStart?: (e: ReactTouchEvent) => void\n draggable?: boolean\n role?: string\n}\n\nexport type ColumnSizingInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n setColumnSizing: (updater: Updater<ColumnSizing>) => void\n setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void\n resetColumnSizing: () => void\n resetColumnSize: (columnId: string) => void\n resetHeaderSize: (headerId: string) => void\n resetHeaderSizeInfo: () => void\n getColumnCanResize: (columnId: string) => boolean\n getHeaderCanResize: (headerId: string) => boolean\n getColumnResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n getColumnIsResizing: (columnId: string) => boolean\n getHeaderIsResizing: (headerId: string) => boolean\n}\n\nexport type ColumnSizingColumnDef = {\n enableResizing?: boolean\n defaultCanResize?: boolean\n}\n\nexport type ColumnSizingColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n resetSize: () => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n width: 150,\n minWidth: 20,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nexport function getInitialState(): ColumnSizingTableState {\n return {\n columnSizing: {},\n columnSizingInfo: {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnSizingDefaultOptions {\n return {\n columnResizeMode: 'onEnd',\n onColumnSizingChange: makeStateUpdater('columnSizing', instance),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', instance),\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnSizingInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> {\n return {\n setColumnSizing: updater =>\n instance.options.onColumnSizingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnSizing)\n ),\n setColumnSizingInfo: updater =>\n instance.options.onColumnSizingInfoChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnSizingInfo)\n ),\n resetColumnSizing: () => {\n instance.setColumnSizing(instance.initialState.columnSizing ?? {})\n },\n resetHeaderSizeInfo: () => {\n instance.setColumnSizingInfo(instance.initialState.columnSizingInfo ?? {})\n },\n resetColumnSize: columnId => {\n instance.setColumnSizing(({ [columnId]: _, ...rest }) => {\n return rest\n })\n },\n resetHeaderSize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n return\n }\n\n return instance.resetColumnSize(header.column.id)\n },\n getHeaderCanResize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnCanResize(header.column.id)\n },\n getColumnCanResize: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableResizing ??\n instance.options.enableColumnResizing ??\n column.defaultCanResize ??\n true\n )\n },\n getColumnIsResizing: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return instance.getState().columnSizingInfo.isResizingColumn === columnId\n },\n getHeaderIsResizing: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnIsResizing(header.column.id)\n },\n getColumnResizerProps: (headerId, userProps) => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n return\n }\n\n const column = instance.getColumn(header.column.id)\n\n if (!column) {\n return\n }\n\n const canResize = column.getCanResize()\n\n const onResizeStart = (e: ReactMouseEvent | ReactTouchEvent) => {\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n }\n\n const columnSizingStart: [string, number][] = header\n .getLeafHeaders()\n .map(d => [d.column.id, d.getWidth()])\n\n const clientX = isTouchStartEvent(e)\n ? Math.round(e.touches[0].clientX)\n : e.clientX\n\n const updateOffset = (\n eventType: 'move' | 'end',\n clientXPos?: number\n ) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n let newColumnSizing: ColumnSizing = {}\n\n instance.setColumnSizingInfo(old => {\n const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n const deltaPercentage = Math.max(\n deltaOffset / (old?.startSize ?? 0),\n -0.999999\n )\n\n old.columnSizingStart.forEach(([columnId, headerWidth]) => {\n newColumnSizing[columnId] = Math.max(\n headerWidth + headerWidth * deltaPercentage,\n 0\n )\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n instance.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n instance.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) => updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n document.removeEventListener('mousemove', mouseEvents.moveHandler)\n document.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onMove(e.touches[0].clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n document.removeEventListener('touchmove', touchEvents.moveHandler)\n document.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0].clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(e)) {\n document.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported\n )\n } else {\n document.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported\n )\n }\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize: header.getWidth(),\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: header.column.id,\n }))\n }\n\n const initialProps: ColumnResizerProps = canResize\n ? {\n title: 'Toggle Grouping',\n draggable: false,\n role: 'separator',\n onMouseDown: (e: ReactMouseEvent) => {\n e.persist()\n onResizeStart(e)\n },\n onTouchStart: (e: ReactTouchEvent) => {\n e.persist()\n onResizeStart(e)\n },\n }\n : {}\n\n return propGetter(initialProps, userProps)\n },\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnSizingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n getIsResizing: () => instance.getColumnIsResizing(column.id),\n getCanResize: () => instance.getColumnCanResize(column.id),\n resetSize: () => instance.resetColumnSize(column.id),\n getResizerProps: userProps =>\n instance.getColumnResizerProps(column.id, userProps),\n }\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\nfunction isTouchStartEvent(\n e: ReactTouchEvent | ReactMouseEvent\n): e is ReactTouchEvent {\n return e.type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","getInitialState","columnSizing","columnSizingInfo","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","getDefaultOptions","instance","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","getInstance","setColumnSizing","updater","options","functionalUpdate","getState","setColumnSizingInfo","resetColumnSizing","initialState","resetHeaderSizeInfo","resetColumnSize","columnId","rest","resetHeaderSize","headerId","header","getHeader","column","id","getHeaderCanResize","Error","getColumnCanResize","getColumn","enableResizing","enableColumnResizing","defaultCanResize","getColumnIsResizing","getHeaderIsResizing","getColumnResizerProps","userProps","canResize","getCanResize","onResizeStart","e","isTouchStartEvent","touches","length","getLeafHeaders","map","d","getWidth","clientX","Math","round","updateOffset","eventType","clientXPos","newColumnSizing","old","max","forEach","headerWidth","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","passiveIfSupported","passiveEventSupported","passive","addEventListener","initialProps","title","draggable","role","onMouseDown","persist","onTouchStart","propGetter","createColumn","getIsResizing","resetSize","getResizerProps","passiveSupported","supported","noop","window","err","type"],"mappings":"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"}
|