@pinnacle0/web-ui 0.3.17 → 0.3.18-beta0
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/core/FlatList/VirtualFlatList/Item.d.ts +17 -0
- package/core/FlatList/VirtualFlatList/Item.js +26 -0
- package/core/FlatList/VirtualFlatList/Item.js.map +1 -0
- package/core/FlatList/VirtualFlatList/index.d.ts +30 -0
- package/core/FlatList/VirtualFlatList/index.js +80 -0
- package/core/FlatList/VirtualFlatList/index.js.map +1 -0
- package/core/FlatList/VirtualFlatList/index.less +22 -0
- package/core/FlatList/VirtualFlatList/type.d.ts +17 -0
- package/core/FlatList/VirtualFlatList/type.js +2 -0
- package/core/FlatList/VirtualFlatList/type.js.map +1 -0
- package/core/FlatList/index.d.ts +3 -0
- package/core/FlatList/index.js +33 -0
- package/core/FlatList/index.js.map +1 -0
- package/core/FlatList/shared/Footer/index.d.ts +8 -0
- package/core/FlatList/shared/Footer/index.js +13 -0
- package/core/FlatList/shared/Footer/index.js.map +1 -0
- package/core/FlatList/shared/Footer/index.less +8 -0
- package/core/FlatList/shared/Spinner/index.d.ts +8 -0
- package/core/FlatList/shared/Spinner/index.js +10 -0
- package/core/FlatList/shared/Spinner/index.js.map +1 -0
- package/core/FlatList/shared/Spinner/index.less +13 -0
- package/core/FlatList/shared/Wrapper/Loading.d.ts +7 -0
- package/core/FlatList/shared/Wrapper/Loading.js +8 -0
- package/core/FlatList/shared/Wrapper/Loading.js.map +1 -0
- package/core/FlatList/shared/Wrapper/index.d.ts +12 -0
- package/core/FlatList/shared/Wrapper/index.js +111 -0
- package/core/FlatList/shared/Wrapper/index.js.map +1 -0
- package/core/FlatList/shared/Wrapper/index.less +28 -0
- package/core/FlatList/shared/hooks/useBounceSwipe.d.ts +22 -0
- package/core/FlatList/shared/hooks/useBounceSwipe.js +111 -0
- package/core/FlatList/shared/hooks/useBounceSwipe.js.map +1 -0
- package/core/FlatList/shared/hooks/useElementScrollState.d.ts +8 -0
- package/core/FlatList/shared/hooks/useElementScrollState.js +38 -0
- package/core/FlatList/shared/hooks/useElementScrollState.js.map +1 -0
- package/core/FlatList/shared/hooks/useFlatList.d.ts +14 -0
- package/core/FlatList/shared/hooks/useFlatList.js +86 -0
- package/core/FlatList/shared/hooks/useFlatList.js.map +1 -0
- package/core/FlatList/shared/hooks/useLoadingWithDelay.d.ts +9 -0
- package/core/FlatList/shared/hooks/useLoadingWithDelay.js +52 -0
- package/core/FlatList/shared/hooks/useLoadingWithDelay.js.map +1 -0
- package/core/FlatList/type.d.ts +34 -0
- package/core/FlatList/type.js +2 -0
- package/core/FlatList/type.js.map +1 -0
- package/core/VirtualTable/TableHeader.d.ts +3 -4
- package/core/VirtualTable/TableHeader.js +2 -2
- package/core/VirtualTable/TableHeader.js.map +1 -1
- package/core/VirtualTable/TableRow.d.ts +7 -6
- package/core/VirtualTable/TableRow.js +28 -19
- package/core/VirtualTable/TableRow.js.map +1 -1
- package/core/VirtualTable/{useColumnWidths.d.ts → hooks/useColumnWidths.d.ts} +0 -0
- package/core/VirtualTable/{useColumnWidths.js → hooks/useColumnWidths.js} +0 -0
- package/core/VirtualTable/hooks/useColumnWidths.js.map +1 -0
- package/core/VirtualTable/{useDebounce.d.ts → hooks/useDebounce.d.ts} +0 -0
- package/core/VirtualTable/{useDebounce.js → hooks/useDebounce.js} +0 -0
- package/core/VirtualTable/hooks/useDebounce.js.map +1 -0
- package/core/VirtualTable/{useLayout.d.ts → hooks/useLayout.d.ts} +5 -2
- package/core/VirtualTable/{useLayout.js → hooks/useLayout.js} +8 -1
- package/core/VirtualTable/hooks/useLayout.js.map +1 -0
- package/core/VirtualTable/hooks/useRowExpand.d.ts +7 -0
- package/core/VirtualTable/hooks/useRowExpand.js +20 -0
- package/core/VirtualTable/hooks/useRowExpand.js.map +1 -0
- package/core/VirtualTable/{useRowSelection.d.ts → hooks/useRowSelection.d.ts} +1 -1
- package/core/VirtualTable/{useRowSelection.js → hooks/useRowSelection.js} +2 -2
- package/core/VirtualTable/hooks/useRowSelection.js.map +1 -0
- package/core/VirtualTable/{useScrollBarSize.d.ts → hooks/useScrollBarSize.d.ts} +0 -0
- package/core/VirtualTable/{useScrollBarSize.js → hooks/useScrollBarSize.js} +0 -0
- package/core/VirtualTable/hooks/useScrollBarSize.js.map +1 -0
- package/core/VirtualTable/{useScrollToEdge.d.ts → hooks/useScrollToEdge.d.ts} +1 -1
- package/core/VirtualTable/{useScrollToEdge.js → hooks/useScrollToEdge.js} +1 -1
- package/core/VirtualTable/hooks/useScrollToEdge.js.map +1 -0
- package/core/VirtualTable/{useStickyPosition.d.ts → hooks/useStickyPosition.d.ts} +1 -5
- package/core/VirtualTable/{useStickyPosition.js → hooks/useStickyPosition.js} +1 -1
- package/core/VirtualTable/hooks/useStickyPosition.js.map +1 -0
- package/core/VirtualTable/hooks/useTransformColumn.d.ts +11 -0
- package/core/VirtualTable/hooks/useTransformColumn.js +9 -0
- package/core/VirtualTable/hooks/useTransformColumn.js.map +1 -0
- package/core/VirtualTable/index.d.ts +5 -4
- package/core/VirtualTable/index.js +15 -11
- package/core/VirtualTable/index.js.map +1 -1
- package/core/VirtualTable/index.less +14 -2
- package/core/VirtualTable/type.d.ts +17 -0
- package/hooks/useSwipe/controller.d.ts +20 -0
- package/hooks/useSwipe/controller.js +126 -0
- package/hooks/useSwipe/controller.js.map +1 -0
- package/hooks/useSwipe/index.d.ts +3 -0
- package/hooks/useSwipe/index.js +9 -0
- package/hooks/useSwipe/index.js.map +1 -0
- package/hooks/useSwipe/type.d.ts +38 -0
- package/hooks/useSwipe/type.js +8 -0
- package/hooks/useSwipe/type.js.map +1 -0
- package/hooks/useTransform.d.ts +18 -0
- package/hooks/useTransform.js +50 -0
- package/hooks/useTransform.js.map +1 -0
- package/package.json +5 -1
- package/util/SwipeUtil.d.ts +8 -0
- package/util/SwipeUtil.js +26 -0
- package/util/SwipeUtil.js.map +1 -0
- package/core/VirtualTable/useColumnWidths.js.map +0 -1
- package/core/VirtualTable/useDebounce.js.map +0 -1
- package/core/VirtualTable/useLayout.js.map +0 -1
- package/core/VirtualTable/useRowSelection.js.map +0 -1
- package/core/VirtualTable/useScrollBarSize.js.map +0 -1
- package/core/VirtualTable/useScrollToEdge.js.map +0 -1
- package/core/VirtualTable/useStickyPosition.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLayout.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAUlD,MAAM,CAAC,IAAM,SAAS,GAAG,UAAkC,EAAqE;QAApE,UAAU,gBAAA,EAAE,gBAAgB,sBAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAA;IACrG,IAAA,KAAqC,eAAe,CAAC,UAAU,CAAC,EAA/D,kBAAkB,wBAAA,EAAE,YAAY,kBAA+B,CAAC;IACjE,IAAA,KAA0C,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAzF,sBAAsB,4BAAA,EAAE,aAAa,mBAAoD,CAAC;IAC3F,IAAA,KAAoD,eAAe,CAAC,gBAAgB,CAAC,EAApF,cAAc,oBAAA,EAAE,cAAc,oBAAA,EAAE,eAAe,qBAAqC,CAAC;IAC5F,IAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEhE,IAAM,2BAA2B,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpE,IAAM,+BAA+B,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC5E,IAAM,uBAAuB,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAE5D,IAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC7B,UAAC,KAAuC;QACpC,IAAI,KAAK,CAAC,aAAa,IAAI,eAAe,IAAI,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,OAAO,EAAE;YACrF,IAAM,OAAO,GAAG,KAAK,CAAC,aAA4B,CAAC;YACnD,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACzD,IAAI,MAAM,EAAE;gBACR,2BAA2B,EAAE,CAAC;gBAC9B,+BAA+B,EAAE,CAAC;gBAClC,uBAAuB,EAAE,CAAC;aAC7B;SACJ;IACL,CAAC,EACD,CAAC,2BAA2B,EAAE,+BAA+B,EAAE,UAAU,EAAE,uBAAuB,CAAC,CACtG,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO;YACH,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO;QACH,YAAY,cAAA;QACZ,aAAa,eAAA;QACb,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,eAAe,iBAAA;KAClB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VirtualTableRowExpand, VirtualTableColumn } from "../type";
|
|
2
|
+
interface Props<RowType extends object> {
|
|
3
|
+
columns: VirtualTableColumn<RowType>[];
|
|
4
|
+
rowExpand?: VirtualTableRowExpand<RowType>;
|
|
5
|
+
}
|
|
6
|
+
export declare const useRowExpand: <RowType extends object>({ columns, rowExpand }: Props<RowType>) => VirtualTableColumn<RowType>[];
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export var useRowExpand = function (_a) {
|
|
3
|
+
var columns = _a.columns, rowExpand = _a.rowExpand;
|
|
4
|
+
var transformedColumns = React.useMemo(function () {
|
|
5
|
+
var resultColumns = columns;
|
|
6
|
+
if (rowExpand) {
|
|
7
|
+
var width = rowExpand.width, fixed = rowExpand.fixed, title = rowExpand.title;
|
|
8
|
+
var rowExpandColumn = {
|
|
9
|
+
width: width,
|
|
10
|
+
title: title || "",
|
|
11
|
+
fixed: fixed ? "right" : undefined,
|
|
12
|
+
renderData: function () { return null; },
|
|
13
|
+
};
|
|
14
|
+
resultColumns.push(rowExpandColumn);
|
|
15
|
+
}
|
|
16
|
+
return resultColumns;
|
|
17
|
+
}, [columns, rowExpand]);
|
|
18
|
+
return transformedColumns;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useRowExpand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRowExpand.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useRowExpand.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,IAAM,YAAY,GAAG,UAAkC,EAAoC;QAAnC,OAAO,aAAA,EAAE,SAAS,eAAA;IAC7E,IAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;QACrC,IAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,IAAI,SAAS,EAAE;YACJ,IAAA,KAAK,GAAkB,SAAS,MAA3B,EAAE,KAAK,GAAW,SAAS,MAApB,EAAE,KAAK,GAAI,SAAS,MAAb,CAAc;YAExC,IAAM,eAAe,GAAgC;gBACjD,KAAK,OAAA;gBACL,KAAK,EAAE,KAAK,IAAI,EAAE;gBAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAClC,UAAU,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;aACzB,CAAC;YACF,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzB,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { VirtualTableColumn, VirtualTableRowSelection } from "
|
|
2
|
+
import type { VirtualTableColumn, VirtualTableRowSelection } from "../type";
|
|
3
3
|
interface Props<RowType extends object> {
|
|
4
4
|
columns: VirtualTableColumn<RowType>[];
|
|
5
5
|
dataSource: RowType[];
|
|
@@ -24,8 +24,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
24
24
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
25
|
};
|
|
26
26
|
import React from "react";
|
|
27
|
-
import { Checkbox } from "
|
|
28
|
-
import { ArrayUtil } from "
|
|
27
|
+
import { Checkbox } from "../../Checkbox";
|
|
28
|
+
import { ArrayUtil } from "../../../internal/ArrayUtil";
|
|
29
29
|
export var useRowSelection = function (_a) {
|
|
30
30
|
var columns = _a.columns, dataSource = _a.dataSource, rowSelection = _a.rowSelection, rowKey = _a.rowKey;
|
|
31
31
|
var transformedColumns = React.useMemo(function () {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRowSelection.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useRowSelection.tsx"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollBarSize.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useScrollBarSize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,gBAAiD,EAAE,YAAqB;IAC/F,IAAA,KAAA,OAAoC,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,IAAA,EAA5D,aAAa,QAAA,EAAE,gBAAgB,QAA6B,CAAC;IAEpE,IAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7C,IAAI,gBAAgB,CAAC,OAAO,EAAE;YACpB,IAAA,KAA6B,gBAAgB,CAAC,OAAO,EAApD,WAAW,iBAAA,EAAE,WAAW,iBAA4B,CAAC;YAC5D,gBAAgB,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;SAC/C;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,SAAS,CAAC;QACZ,IAAI,YAAY,IAAI,CAAC,aAAa,EAAE;YAChC,sBAAsB,EAAE,CAAC;SAC5B;IACL,CAAC,EAAE,CAAC,sBAAsB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1D,OAAO;QACH,sBAAsB,wBAAA;QACtB,aAAa,eAAA;KAChB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -38,7 +38,7 @@ export var useScrollToEdge = function (scrollContentRef) {
|
|
|
38
38
|
isScrollToEdge();
|
|
39
39
|
}, [isScrollToEdge]);
|
|
40
40
|
return {
|
|
41
|
-
|
|
41
|
+
isScrollToEdge: isScrollToEdge,
|
|
42
42
|
isScrollToLeft: isScrollToLeft,
|
|
43
43
|
isScrollToRight: isScrollToRight,
|
|
44
44
|
isScrollToTop: isScrollToTop,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollToEdge.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useScrollToEdge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEvC,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,gBAA8C;IACpE,IAAA,KAAA,OAAsC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA1D,cAAc,QAAA,EAAE,iBAAiB,QAAyB,CAAC;IAC5D,IAAA,KAAA,OAAwC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA5D,eAAe,QAAA,EAAE,kBAAkB,QAAyB,CAAC;IAC9D,IAAA,KAAA,OAAoC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAAxD,aAAa,QAAA,EAAE,gBAAgB,QAAyB,CAAC;IAC1D,IAAA,KAAA,OAA0C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA9D,gBAAgB,QAAA,EAAE,mBAAmB,QAAyB,CAAC;IAEtE,IAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,gBAAgB,CAAC,OAAO,EAAE;YACpB,IAAA,KAAgF,gBAAgB,CAAC,OAAO,EAAvG,UAAU,gBAAA,EAAE,WAAW,iBAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,YAAY,kBAA4B,CAAC;YAC/G,IAAM,YAAY,GAAG,UAAU,IAAI,CAAC,CAAC;YACrC,IAAM,aAAa,GAAG,UAAU,IAAI,WAAW,GAAG,WAAW,CAAC;YAE9D,IAAM,WAAW,GAAG,SAAS,IAAI,CAAC,CAAC;YACnC,IAAM,cAAc,GAAG,SAAS,IAAI,YAAY,GAAG,YAAY,CAAC;YAChE,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAChC,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAClC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9B,mBAAmB,CAAC,cAAc,CAAC,CAAC;SACvC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,aAAa;IACb,SAAS,CAAC;QACN,cAAc,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO;QACH,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACnB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import type { VirtualTableColumn } from "
|
|
2
|
-
export interface StickyPosition {
|
|
3
|
-
value: number;
|
|
4
|
-
isLast: boolean;
|
|
5
|
-
}
|
|
1
|
+
import type { VirtualTableColumn, StickyPosition } from "../type";
|
|
6
2
|
export declare const useStickyPosition: <RowType extends object>(columns: VirtualTableColumn<RowType>[], columnWidths: number[]) => Record<number, StickyPosition>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStickyPosition.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useStickyPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAGtD,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAyB,OAAsC,EAAE,YAAsB;IACpH,OAAO,KAAK,CAAC,OAAO,CAAC;QACjB,IAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,IAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,CAAC,EAAE,WAAW,IAAK,OAAA,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAC,WAAW,aAAA,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA7E,CAA6E,CAAC,CAAC;QACvJ,oDAAoD;QACpD,IAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,CAAC,EAAE,WAAW,IAAK,OAAA,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAC,WAAW,aAAA,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA9E,CAA8E,CAAC,CAAC,OAAO,EAAE,CAAC;QAEnK,aAAa,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,GAAG;YAC9B,IAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,GAAG;YAC/B,IAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACxE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { VirtualTableColumn, VirtualTableRowExpand, VirtualTableRowSelection } from "../type";
|
|
3
|
+
interface Props<RowType extends object> {
|
|
4
|
+
columns: VirtualTableColumn<RowType>[];
|
|
5
|
+
dataSource: RowType[];
|
|
6
|
+
rowKey: "index" | React.Key;
|
|
7
|
+
rowSelection?: VirtualTableRowSelection<RowType>;
|
|
8
|
+
rowExpand?: VirtualTableRowExpand<RowType>;
|
|
9
|
+
}
|
|
10
|
+
export declare const useTransformColumn: <RowType extends object>({ columns, dataSource, rowKey, rowExpand, rowSelection }: Props<RowType>) => VirtualTableColumn<RowType>[];
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useRowExpand } from "./useRowExpand";
|
|
2
|
+
import { useRowSelection } from "./useRowSelection";
|
|
3
|
+
export var useTransformColumn = function (_a) {
|
|
4
|
+
var columns = _a.columns, dataSource = _a.dataSource, rowKey = _a.rowKey, rowExpand = _a.rowExpand, rowSelection = _a.rowSelection;
|
|
5
|
+
var columnsWithRowSelection = useRowSelection({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey });
|
|
6
|
+
var transformedColumns = useRowExpand({ columns: columnsWithRowSelection, rowExpand: rowExpand });
|
|
7
|
+
return transformedColumns;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=useTransformColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTransformColumn.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useTransformColumn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAWlD,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAkC,EAAsE;QAArE,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA;IACrH,IAAM,uBAAuB,GAAG,eAAe,CAAC,EAAC,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,YAAY,cAAA,EAAE,MAAM,QAAA,EAAC,CAAC,CAAC;IAC7F,IAAM,kBAAkB,GAAG,YAAY,CAAC,EAAC,OAAO,EAAE,uBAAuB,EAAE,SAAS,WAAA,EAAC,CAAC,CAAC;IAEvF,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { SafeReactChild, StringKey } from "../../internal/type";
|
|
3
|
-
import type { VirtualTableColumn, VirtualTableRowSelection } from "./type";
|
|
3
|
+
import type { VirtualTableColumn, VirtualTableRowExpand, VirtualTableRowSelection } from "./type";
|
|
4
4
|
import "./index.less";
|
|
5
5
|
export interface VirtualTableProps<RowType extends object> {
|
|
6
6
|
dataSource: RowType[];
|
|
7
7
|
columns: VirtualTableColumn<RowType>[];
|
|
8
8
|
scrollY: number;
|
|
9
|
-
rowHeight: number
|
|
10
|
-
onRowClick?: (record: RowType, rowIndex: number) => number;
|
|
9
|
+
rowHeight: number;
|
|
11
10
|
className?: string;
|
|
12
11
|
rowClassName?: string;
|
|
13
12
|
/**
|
|
@@ -18,12 +17,14 @@ export interface VirtualTableProps<RowType extends object> {
|
|
|
18
17
|
loading?: boolean;
|
|
19
18
|
emptyPlaceholder?: SafeReactChild;
|
|
20
19
|
rowSelection?: VirtualTableRowSelection<RowType>;
|
|
20
|
+
onRowClick?: (record: RowType, rowIndex: number) => void;
|
|
21
21
|
/**
|
|
22
22
|
* Default: index
|
|
23
23
|
*/
|
|
24
24
|
rowKey?: StringKey<RowType> | "index";
|
|
25
25
|
headerHeight?: number;
|
|
26
|
+
rowExpand?: VirtualTableRowExpand<RowType>;
|
|
26
27
|
}
|
|
27
|
-
export declare const VirtualTable: (<RowType extends object>({ columns, rowHeight, scrollY, dataSource, className, rowClassName, loading, emptyPlaceholder, rowSelection, onRowClick, scrollX, rowKey, headerHeight, }: VirtualTableProps<RowType>) => JSX.Element) & {
|
|
28
|
+
export declare const VirtualTable: (<RowType extends object>({ columns, rowHeight, scrollY, dataSource, className, rowClassName, loading, emptyPlaceholder, rowSelection, onRowClick, scrollX, rowExpand, rowKey, headerHeight, }: VirtualTableProps<RowType>) => JSX.Element) & {
|
|
28
29
|
displayName: string;
|
|
29
30
|
};
|
|
@@ -26,26 +26,30 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
26
26
|
import React from "react";
|
|
27
27
|
import { useVirtual } from "react-virtual";
|
|
28
28
|
import { Spin } from "../Spin";
|
|
29
|
-
import {
|
|
30
|
-
import { useScrollToEdge } from "./useScrollToEdge";
|
|
31
|
-
import { useLayout } from "./useLayout";
|
|
29
|
+
import { useLayout } from "./hooks/useLayout";
|
|
32
30
|
import { TableRow } from "./TableRow";
|
|
33
31
|
import { TableHeader } from "./TableHeader";
|
|
34
32
|
import "./index.less";
|
|
33
|
+
import { useTransformColumn } from "./hooks/useTransformColumn";
|
|
35
34
|
export var VirtualTable = Object.assign(function (_a) {
|
|
36
|
-
var columns = _a.columns, rowHeight = _a.rowHeight, scrollY = _a.scrollY, dataSource = _a.dataSource, className = _a.className, rowClassName = _a.rowClassName, loading = _a.loading, emptyPlaceholder = _a.emptyPlaceholder, rowSelection = _a.rowSelection, onRowClick = _a.onRowClick, scrollX = _a.scrollX, _b = _a.rowKey, rowKey = _b === void 0 ? "index" : _b, _c = _a.headerHeight, headerHeight = _c === void 0 ? 50 : _c;
|
|
35
|
+
var columns = _a.columns, rowHeight = _a.rowHeight, scrollY = _a.scrollY, dataSource = _a.dataSource, className = _a.className, rowClassName = _a.rowClassName, loading = _a.loading, emptyPlaceholder = _a.emptyPlaceholder, rowSelection = _a.rowSelection, onRowClick = _a.onRowClick, scrollX = _a.scrollX, rowExpand = _a.rowExpand, _b = _a.rowKey, rowKey = _b === void 0 ? "index" : _b, _c = _a.headerHeight, headerHeight = _c === void 0 ? 50 : _c;
|
|
37
36
|
var size = dataSource.length;
|
|
38
37
|
var scrollContentRef = React.useRef(null);
|
|
39
38
|
var headersRef = React.useRef(null);
|
|
40
|
-
var estimateSize = React.useCallback(function (
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
|
|
39
|
+
var estimateSize = React.useCallback(function () { return rowHeight; }, [rowHeight]);
|
|
40
|
+
var overscan = rowExpand ? Math.floor(scrollY / rowHeight) : 1;
|
|
41
|
+
var _d = useVirtual({
|
|
42
|
+
size: size,
|
|
43
|
+
parentRef: scrollContentRef,
|
|
44
|
+
estimateSize: estimateSize,
|
|
45
|
+
overscan: overscan,
|
|
46
|
+
}), virtualItems = _d.virtualItems, totalSize = _d.totalSize;
|
|
47
|
+
var transformedColumns = useTransformColumn({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey, rowExpand: rowExpand });
|
|
44
48
|
var isScrollable = totalSize > scrollY;
|
|
45
49
|
var tableHeight = scrollY + headerHeight;
|
|
46
50
|
var tableBodyHeight = scrollY;
|
|
47
51
|
var emptyElement = emptyPlaceholder || "暂无数据";
|
|
48
|
-
var
|
|
52
|
+
var _e = useLayout({ headersRef: headersRef, scrollContentRef: scrollContentRef, isScrollable: isScrollable, columns: transformedColumns }), scrollBarSize = _e.scrollBarSize, stickyPosition = _e.stickyPosition, columnWidths = _e.columnWidths, isScrollToEdge = _e.isScrollToEdge, isScrollToLeft = _e.isScrollToLeft, isScrollToRight = _e.isScrollToRight;
|
|
49
53
|
var lastShownColumnIndex = React.useMemo(function () { return transformedColumns.length - 1 - __spreadArray([], __read(transformedColumns), false).reverse().findIndex(function (_) { return _.display !== "hidden"; }); }, [transformedColumns]);
|
|
50
54
|
// handle the edge position & shadow of the fixed columns
|
|
51
55
|
var getFixedColumnClassNames = React.useCallback(function (fixed, columnIndex) {
|
|
@@ -71,9 +75,9 @@ export var VirtualTable = Object.assign(function (_a) {
|
|
|
71
75
|
React.createElement(Spin, { spinning: loading }))),
|
|
72
76
|
React.createElement("div", { className: "scroll-content", ref: scrollContentRef, style: { height: tableBodyHeight, top: headerHeight }, onScroll: onScroll },
|
|
73
77
|
React.createElement("div", { className: "table", style: { height: totalSize } },
|
|
74
|
-
React.createElement(TableHeader, { headersRef: headersRef, headerHeight: headerHeight,
|
|
78
|
+
React.createElement(TableHeader, { headersRef: headersRef, headerHeight: headerHeight, columns: transformedColumns, stickyPosition: stickyPosition, getFixedColumnClassNames: getFixedColumnClassNames }),
|
|
75
79
|
React.createElement("div", { className: "table-body" }, dataSource.length === 0
|
|
76
80
|
? emptyElement
|
|
77
|
-
: virtualItems.map(function (virtualItem
|
|
81
|
+
: virtualItems.map(function (virtualItem) { return (React.createElement(TableRow, { key: virtualItem.index, rowHeight: rowHeight, onRowClick: onRowClick, virtualItem: virtualItem, data: dataSource[virtualItem.index], columns: transformedColumns, columnWidths: columnWidths, scrollBarSize: scrollBarSize, stickyPosition: stickyPosition, lastShownColumnIndex: lastShownColumnIndex, rowClassName: rowClassName, getFixedColumnClassNames: getFixedColumnClassNames, rowExpand: rowExpand })); }))))));
|
|
78
82
|
}, { displayName: "VirtualTable" });
|
|
79
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -108,17 +108,19 @@
|
|
|
108
108
|
height: 100%;
|
|
109
109
|
|
|
110
110
|
.table-row {
|
|
111
|
-
|
|
111
|
+
width: max-content;
|
|
112
112
|
position: absolute;
|
|
113
113
|
top: 0;
|
|
114
114
|
left: 0;
|
|
115
|
+
transition: transform 0.3s;
|
|
115
116
|
|
|
116
117
|
.table-cell {
|
|
117
|
-
display: flex;
|
|
118
|
+
display: inline-flex;
|
|
118
119
|
justify-content: center;
|
|
119
120
|
align-items: center;
|
|
120
121
|
background-color: #fff;
|
|
121
122
|
word-break: break-word;
|
|
123
|
+
vertical-align: bottom;
|
|
122
124
|
|
|
123
125
|
&.fixed {
|
|
124
126
|
position: sticky;
|
|
@@ -143,6 +145,16 @@
|
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
147
|
}
|
|
148
|
+
|
|
149
|
+
.expand-row {
|
|
150
|
+
display: block;
|
|
151
|
+
width: 100%;
|
|
152
|
+
max-height: 0;
|
|
153
|
+
|
|
154
|
+
&.expanded {
|
|
155
|
+
max-height: 400px;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
146
158
|
}
|
|
147
159
|
}
|
|
148
160
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { SafeReactChild, SafeReactChildren } from "../../internal/type";
|
|
3
3
|
export declare type ColumnFixedPosition = "left" | "right";
|
|
4
|
+
export interface StickyPosition {
|
|
5
|
+
value: number;
|
|
6
|
+
isLast: boolean;
|
|
7
|
+
}
|
|
4
8
|
/**
|
|
5
9
|
* Similar usage of Antd Table but only support partial features: fixed columns, row selection, on row click
|
|
6
10
|
*/
|
|
@@ -20,6 +24,19 @@ export declare type VirtualTableRowSelection<RowType extends object> = {
|
|
|
20
24
|
*/
|
|
21
25
|
title?: SafeReactChild;
|
|
22
26
|
};
|
|
27
|
+
export declare type VirtualTableRowExpand<RowType extends object> = {
|
|
28
|
+
width: number;
|
|
29
|
+
renderExpandRow: (record: RowType, rowIndex: number) => SafeReactChild;
|
|
30
|
+
ExpandButton: React.ComponentType<{
|
|
31
|
+
onClick: () => void;
|
|
32
|
+
}>;
|
|
33
|
+
title?: SafeReactChild;
|
|
34
|
+
/**
|
|
35
|
+
* Can only sticky in right
|
|
36
|
+
*/
|
|
37
|
+
fixed?: boolean;
|
|
38
|
+
isDefaultExpanded?: boolean;
|
|
39
|
+
};
|
|
23
40
|
export declare type VirtualTableColumn<RowType extends object> = {
|
|
24
41
|
title: SafeReactChild;
|
|
25
42
|
width: number;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SwipeHookConfig, SwipeHookHandlers, SwipeHookResult } from "./type";
|
|
2
|
+
export declare class Controller {
|
|
3
|
+
private startTime;
|
|
4
|
+
private startTouch;
|
|
5
|
+
private started;
|
|
6
|
+
private handlers;
|
|
7
|
+
private config;
|
|
8
|
+
constructor();
|
|
9
|
+
private onTouchStart;
|
|
10
|
+
private onTouchMove;
|
|
11
|
+
private onTouchEnd;
|
|
12
|
+
private onTouchCancel;
|
|
13
|
+
private testThreshold;
|
|
14
|
+
private cancel;
|
|
15
|
+
private computeEvent;
|
|
16
|
+
private matchTouches;
|
|
17
|
+
private reset;
|
|
18
|
+
update(handlers: SwipeHookHandlers, config?: SwipeHookConfig): void;
|
|
19
|
+
createHandlers(): SwipeHookResult;
|
|
20
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { SwipeUtil } from "../../util/SwipeUtil";
|
|
2
|
+
var SWIPE_START_THRESHOLD = 10;
|
|
3
|
+
var Controller = /** @class */ (function () {
|
|
4
|
+
function Controller() {
|
|
5
|
+
this.startTime = 0;
|
|
6
|
+
this.startTouch = null;
|
|
7
|
+
this.started = false;
|
|
8
|
+
this.handlers = {};
|
|
9
|
+
this.config = {};
|
|
10
|
+
}
|
|
11
|
+
Controller.prototype.onTouchStart = function (e) {
|
|
12
|
+
if (e.changedTouches[0] && !this.startTouch) {
|
|
13
|
+
this.startTouch = e.changedTouches[0];
|
|
14
|
+
this.startTime = Date.now();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
Controller.prototype.onTouchMove = function (e) {
|
|
18
|
+
var _a, _b, _c, _d;
|
|
19
|
+
var matchedTouches = this.matchTouches(e);
|
|
20
|
+
if (!matchedTouches) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
var state = this.computeEvent(matchedTouches.start, matchedTouches.changed, e);
|
|
24
|
+
if (!this.started && this.testThreshold(state)) {
|
|
25
|
+
this.started = true;
|
|
26
|
+
(_b = (_a = this.handlers).onStart) === null || _b === void 0 ? void 0 : _b.call(_a, state);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
else if (this.started) {
|
|
30
|
+
(_d = (_c = this.handlers).onMove) === null || _d === void 0 ? void 0 : _d.call(_c, state);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
Controller.prototype.onTouchEnd = function (e) {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
if (!this.started) {
|
|
36
|
+
this.reset();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
var matchedTouches = this.matchTouches(e);
|
|
40
|
+
if (!matchedTouches) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
var state = this.computeEvent(matchedTouches.start, matchedTouches.changed, e);
|
|
44
|
+
(_b = (_a = this.handlers).onEnd) === null || _b === void 0 ? void 0 : _b.call(_a, state);
|
|
45
|
+
this.reset();
|
|
46
|
+
};
|
|
47
|
+
Controller.prototype.onTouchCancel = function (e) {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
if (!this.started) {
|
|
50
|
+
this.reset();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
var matchedTouches = this.matchTouches(e);
|
|
54
|
+
if (!matchedTouches) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
var state = this.computeEvent(matchedTouches.start, matchedTouches.changed, e);
|
|
58
|
+
(_b = (_a = this.handlers).onCancel) === null || _b === void 0 ? void 0 : _b.call(_a, state);
|
|
59
|
+
this.reset();
|
|
60
|
+
};
|
|
61
|
+
Controller.prototype.testThreshold = function (state) {
|
|
62
|
+
var _a, _b, _c;
|
|
63
|
+
return state.displacement > SWIPE_START_THRESHOLD && ((_c = (_b = (_a = this.config).threshold) === null || _b === void 0 ? void 0 : _b.call(_a, state)) !== null && _c !== void 0 ? _c : true);
|
|
64
|
+
};
|
|
65
|
+
Controller.prototype.cancel = function (event) {
|
|
66
|
+
if (this.startTouch) {
|
|
67
|
+
this.onTouchCancel(event);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
Controller.prototype.computeEvent = function (start, changed, event) {
|
|
71
|
+
var _this = this;
|
|
72
|
+
var s = [start.clientX, start.clientY];
|
|
73
|
+
var e = [changed.clientX, changed.clientY];
|
|
74
|
+
var delta = [e[0] - s[0], e[1] - s[1]];
|
|
75
|
+
var timeElapsed = Date.now() - this.startTime;
|
|
76
|
+
return {
|
|
77
|
+
clientX: changed.clientX,
|
|
78
|
+
clientY: changed.clientY,
|
|
79
|
+
startTouch: start,
|
|
80
|
+
delta: delta,
|
|
81
|
+
direction: SwipeUtil.getDirection(s, e),
|
|
82
|
+
displacement: SwipeUtil.getDisplacement(s, e),
|
|
83
|
+
// TODO/Alvis, need to improve velocity calculation
|
|
84
|
+
velocity: [Math.abs(delta[0]) / timeElapsed, Math.abs(delta[1]) / timeElapsed],
|
|
85
|
+
syntheticEvent: event,
|
|
86
|
+
cancel: (function () { return _this.cancel(event); }).bind(this),
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
Controller.prototype.matchTouches = function (e) {
|
|
90
|
+
var _this = this;
|
|
91
|
+
if (!this.startTouch) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
var touch = Array.from(e.changedTouches).find(function (_) { return _.identifier === _this.startTouch.identifier; });
|
|
95
|
+
if (!touch) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return {
|
|
100
|
+
start: this.startTouch,
|
|
101
|
+
changed: touch,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
Controller.prototype.reset = function () {
|
|
106
|
+
this.startTime = 0;
|
|
107
|
+
this.startTouch = null;
|
|
108
|
+
this.started = false;
|
|
109
|
+
};
|
|
110
|
+
Controller.prototype.update = function (handlers, config) {
|
|
111
|
+
if (config === void 0) { config = {}; }
|
|
112
|
+
this.handlers = handlers;
|
|
113
|
+
this.config = config;
|
|
114
|
+
};
|
|
115
|
+
Controller.prototype.createHandlers = function () {
|
|
116
|
+
return {
|
|
117
|
+
onTouchStart: this.onTouchStart.bind(this),
|
|
118
|
+
onTouchMove: this.onTouchMove.bind(this),
|
|
119
|
+
onTouchEnd: this.onTouchEnd.bind(this),
|
|
120
|
+
onTouchCancel: this.onTouchCancel.bind(this),
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
return Controller;
|
|
124
|
+
}());
|
|
125
|
+
export { Controller };
|
|
126
|
+
//# sourceMappingURL=controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/hooks/useSwipe/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Controller } from "./controller";
|
|
3
|
+
export var useSwipe = function (handlers, config) {
|
|
4
|
+
var controller = React.useMemo(function () { return new Controller(); }, []);
|
|
5
|
+
controller.update(handlers, config);
|
|
6
|
+
return controller.createHandlers.apply(controller);
|
|
7
|
+
};
|
|
8
|
+
export * from "./type";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useSwipe/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAGxC,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,QAA2B,EAAE,MAAwB;IAC1E,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,cAAM,OAAA,IAAI,UAAU,EAAE,EAAhB,CAAgB,EAAE,EAAE,CAAC,CAAC;IAC7D,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
export declare type TouchHandlers = Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "onTouchStart" | "onTouchMove" | "onTouchEndCapture" | "onTouchCancelCapture">;
|
|
3
|
+
export interface SwipeHookResult {
|
|
4
|
+
onTouchMove: React.TouchEventHandler;
|
|
5
|
+
onTouchStart: React.TouchEventHandler;
|
|
6
|
+
onTouchEnd: React.TouchEventHandler;
|
|
7
|
+
onTouchCancel: React.TouchEventHandler;
|
|
8
|
+
}
|
|
9
|
+
export interface SwipeState {
|
|
10
|
+
syntheticEvent: React.TouchEvent;
|
|
11
|
+
startTouch: React.Touch;
|
|
12
|
+
clientX: number;
|
|
13
|
+
clientY: number;
|
|
14
|
+
displacement: number;
|
|
15
|
+
delta: Vector2;
|
|
16
|
+
velocity: Vector2;
|
|
17
|
+
direction: Direction;
|
|
18
|
+
cancel: () => void;
|
|
19
|
+
}
|
|
20
|
+
declare type SwipeHookHandler = (event: SwipeState) => void;
|
|
21
|
+
export interface SwipeHookHandlers {
|
|
22
|
+
onStart?: SwipeHookHandler;
|
|
23
|
+
onEnd?: SwipeHookHandler;
|
|
24
|
+
onMove?: SwipeHookHandler;
|
|
25
|
+
onCancel?: SwipeHookHandler;
|
|
26
|
+
}
|
|
27
|
+
export interface SwipeHookConfig {
|
|
28
|
+
threshold?: (state: SwipeState) => boolean;
|
|
29
|
+
preventDefault?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export declare enum Direction {
|
|
32
|
+
UP = "UP",
|
|
33
|
+
DOWN = "DOWN",
|
|
34
|
+
LEFT = "LEFT",
|
|
35
|
+
RIGHT = "RIGHT"
|
|
36
|
+
}
|
|
37
|
+
export declare type Vector2 = [number, number];
|
|
38
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/hooks/useSwipe/type.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,sBAAS,CAAA;IACT,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;AACnB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface TransitionOption {
|
|
3
|
+
property?: string;
|
|
4
|
+
duration?: number;
|
|
5
|
+
delay?: number;
|
|
6
|
+
timingFunction?: string;
|
|
7
|
+
}
|
|
8
|
+
interface Option extends TransitionOption {
|
|
9
|
+
x?: number;
|
|
10
|
+
y?: number;
|
|
11
|
+
z?: number;
|
|
12
|
+
immediate?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const useTransform: (ref: React.RefObject<HTMLElement>, option?: Option | undefined) => {
|
|
15
|
+
to: (option: Option) => void;
|
|
16
|
+
clear: () => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|