@pinnacle0/web-ui 0.3.2 → 0.3.3-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.
Files changed (49) hide show
  1. package/core/VirtualTable/index.d.ts +2 -21
  2. package/core/VirtualTable/index.js +3 -5
  3. package/core/VirtualTable/index.js.map +1 -1
  4. package/core/VirtualTable/index.less +2 -3
  5. package/core/VirtualTable/useRowSelection.js +8 -35
  6. package/core/VirtualTable/useRowSelection.js.map +1 -1
  7. package/core/VirtualTable/useScrollToEdge.js +5 -9
  8. package/core/VirtualTable/useScrollToEdge.js.map +1 -1
  9. package/core/VirtualizedFlatList/CellMeasurer.d.ts +17 -0
  10. package/core/VirtualizedFlatList/CellMeasurer.js +36 -0
  11. package/core/VirtualizedFlatList/CellMeasurer.js.map +1 -0
  12. package/core/VirtualizedFlatList/CellMeasurerCache.d.ts +16 -0
  13. package/core/VirtualizedFlatList/CellMeasurerCache.js +31 -0
  14. package/core/VirtualizedFlatList/CellMeasurerCache.js.map +1 -0
  15. package/core/VirtualizedFlatList/Footer.d.ts +8 -0
  16. package/core/VirtualizedFlatList/Footer.js +27 -0
  17. package/core/VirtualizedFlatList/Footer.js.map +1 -0
  18. package/core/VirtualizedFlatList/ListItem.d.ts +4 -0
  19. package/core/VirtualizedFlatList/ListItem.js +43 -0
  20. package/core/VirtualizedFlatList/ListItem.js.map +1 -0
  21. package/core/VirtualizedFlatList/Loading.d.ts +7 -0
  22. package/core/VirtualizedFlatList/Loading.js +9 -0
  23. package/core/VirtualizedFlatList/Loading.js.map +1 -0
  24. package/core/VirtualizedFlatList/index.d.ts +29 -0
  25. package/core/VirtualizedFlatList/index.js +182 -0
  26. package/core/VirtualizedFlatList/index.js.map +1 -0
  27. package/core/VirtualizedFlatList/index.less +59 -0
  28. package/core/VirtualizedFlatList/type.d.ts +29 -0
  29. package/core/VirtualizedFlatList/type.js +2 -0
  30. package/core/VirtualizedFlatList/type.js.map +1 -0
  31. package/core/VirtualizedFlatList/useLoadingWithDelay.d.ts +1 -0
  32. package/core/VirtualizedFlatList/useLoadingWithDelay.js +51 -0
  33. package/core/VirtualizedFlatList/useLoadingWithDelay.js.map +1 -0
  34. package/hooks/useSwipe/controller.d.ts +20 -0
  35. package/hooks/useSwipe/controller.js +126 -0
  36. package/hooks/useSwipe/controller.js.map +1 -0
  37. package/hooks/useSwipe/index.d.ts +3 -0
  38. package/hooks/useSwipe/index.js +9 -0
  39. package/hooks/useSwipe/index.js.map +1 -0
  40. package/hooks/useSwipe/type.d.ts +38 -0
  41. package/hooks/useSwipe/type.js +8 -0
  42. package/hooks/useSwipe/type.js.map +1 -0
  43. package/hooks/useTransform.d.ts +18 -0
  44. package/hooks/useTransform.js +50 -0
  45. package/hooks/useTransform.js.map +1 -0
  46. package/package.json +8 -2
  47. package/util/SwipeUtil.d.ts +8 -0
  48. package/util/SwipeUtil.js +26 -0
  49. package/util/SwipeUtil.js.map +1 -0
@@ -5,34 +5,18 @@ export declare type VirtualTableRowSelection<RowType extends object> = {
5
5
  width: number;
6
6
  selectedRowKeys: React.Key[];
7
7
  onChange: (selectedRowKeys: React.Key[], selectedRows: RowType[]) => void;
8
- /**
9
- * Can only sticky in left
10
- */
11
8
  fixed?: boolean;
12
- isDisabled?: (data: RowType, rowIndex: number) => boolean;
13
- isSelectAllDisabled?: boolean;
14
- /**
15
- * Attention:
16
- * If title is provided, the select all checkbox wil be overridden
17
- */
9
+ disableSelection?: (data: RowType, rowIndex: number) => boolean;
10
+ disableSelectAll?: boolean;
18
11
  title?: React.ReactElement | React.ReactChild;
19
12
  };
20
13
  export declare type VirtualTableColumn<RowType extends object> = {
21
14
  title: React.ReactElement | React.ReactChild;
22
15
  width: number;
23
- /**
24
- * Attention:
25
- * If renderData return null, the corresponding table cell will not render
26
- */
27
16
  renderData: (record: RowType, rowIndex: number) => SafeReactChildren | undefined;
28
17
  align?: "left" | "right" | "center";
29
18
  display?: "default" | "hidden";
30
19
  fixed?: "left" | "right";
31
- /**
32
- * Attention:
33
- * The overridden cell should return null in renderData props:
34
- * e.g. [{colSpan: 3, renderData: () => <div />}, {renderData: () => null}], {renderData: () => null}
35
- */
36
20
  colSpan?: (record: RowType, rowIndex: number, colIndex: number) => number;
37
21
  };
38
22
  export interface VirtualTableProps<RowType extends object> {
@@ -42,9 +26,6 @@ export interface VirtualTableProps<RowType extends object> {
42
26
  rowHeight: number | ((rowIndex: number) => number);
43
27
  className?: string;
44
28
  rowClassName?: string;
45
- /**
46
- * if scrollX is not provided, width: 100% will be used
47
- */
48
29
  scrollX?: number;
49
30
  loading?: boolean;
50
31
  emptyPlaceholder?: SafeReactChild;
@@ -42,7 +42,6 @@ import { useRowSelection } from "./useRowSelection";
42
42
  import { useScrollToEdge } from "./useScrollToEdge";
43
43
  import "./index.less";
44
44
  var headerHeight = 50;
45
- // TODO/David: handle for different size of scrollbar
46
45
  var scrollBarSize = 10;
47
46
  export var VirtualTable = Object.assign(function (_a) {
48
47
  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, scrollX = _a.scrollX, _b = _a.rowKey, rowKey = _b === void 0 ? "index" : _b;
@@ -50,7 +49,7 @@ export var VirtualTable = Object.assign(function (_a) {
50
49
  var scrollContentRef = React.useRef(null);
51
50
  var estimateSize = React.useCallback(function (rowIndex) { return (typeof rowHeight === "function" ? rowHeight(rowIndex) : rowHeight); }, [rowHeight]);
52
51
  var transformedColumns = useRowSelection({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey });
53
- var _c = useVirtual({ size: size, parentRef: scrollContentRef, estimateSize: estimateSize }), virtualItems = _c.virtualItems, totalSize = _c.totalSize;
52
+ var _c = useVirtual({ size: size, parentRef: scrollContentRef, estimateSize: estimateSize, paddingStart: headerHeight }), virtualItems = _c.virtualItems, totalSize = _c.totalSize;
54
53
  var _d = useScrollToEdge(scrollContentRef), onScroll = _d.onScroll, isScrollToLeft = _d.isScrollToLeft, isScrollToRight = _d.isScrollToRight;
55
54
  var _e = __read(React.useState([]), 2), colWidths = _e[0], setColWidths = _e[1];
56
55
  var headersRef = React.useRef(null);
@@ -105,10 +104,9 @@ export var VirtualTable = Object.assign(function (_a) {
105
104
  }, [isScrollable]);
106
105
  return (React.createElement("div", { className: ["g-virtual-table", className].join(" "), style: { width: scrollX || "100%" } }, React.createElement("div", { className: "scroll-content", ref: scrollContentRef, style: { height: scrollContainerHeight }, onScroll: onScroll },
107
106
  React.createElement("div", { className: "table", style: { height: totalSize } },
108
- React.createElement("div", { className: "table-headers", ref: headersRef, style: { height: headerHeight } }, transformedColumns.map(function (_a, columnIndex) {
107
+ React.createElement("div", { className: "table-headers", ref: headersRef, style: { height: headerHeight, width: isScrollable && !isReady ? "calc(100% - ".concat(scrollBarSize, "px)") : "100%" } }, transformedColumns.map(function (_a, columnIndex) {
109
108
  var title = _a.title, width = _a.width, align = _a.align, fixed = _a.fixed, display = _a.display;
110
- var headerStyle = __assign({ display: display !== "hidden" ? "flex" : "none", flex: !isReady ? "1 0 ".concat(width, "px") : undefined, width: !isReady ? undefined : colWidths[columnIndex], textAlign: align }, getFixedColStyle(fixed, columnIndex));
111
- return (React.createElement("div", { className: __spreadArray(["table-header"], __read(getFixedColClassNames(fixed, columnIndex)), false).join(" "), key: columnIndex, style: headerStyle }, title));
109
+ return (React.createElement("div", { className: __spreadArray(["table-header"], __read(getFixedColClassNames(fixed, columnIndex)), false).join(" "), key: columnIndex, style: __assign({ display: display !== "hidden" ? "flex" : "none", flex: "1 0 ".concat(width, "px"), textAlign: align }, getFixedColStyle(fixed, columnIndex)) }, title));
112
110
  })),
113
111
  React.createElement("div", { className: "table-body", style: { height: "calc(100% - ".concat(headerHeight, "px)") } }, loading ? (React.createElement(Spin, { spinning: loading })) : dataSource.length === 0 ? (emptyPlaceholder || "暂无数据") : (isReady &&
114
112
  virtualItems.map(function (virtualItem) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
@@ -26,9 +26,11 @@
26
26
  position: relative;
27
27
 
28
28
  .scroll-content {
29
+ width: 100%;
29
30
  overflow: auto;
30
31
 
31
32
  .table {
33
+ position: relative;
32
34
  min-height: 100%;
33
35
 
34
36
  .table-headers {
@@ -37,8 +39,6 @@
37
39
  position: sticky;
38
40
  top: 0;
39
41
  z-index: 10;
40
- min-width: 100%;
41
- width: max-content;
42
42
 
43
43
  .table-header {
44
44
  display: flex;
@@ -89,7 +89,6 @@
89
89
  display: flex;
90
90
  justify-content: center;
91
91
  align-items: center;
92
- position: relative;
93
92
 
94
93
  .table-row {
95
94
  display: flex;
@@ -32,47 +32,20 @@ export var useRowSelection = function (_a) {
32
32
  if (!rowSelection) {
33
33
  return __spreadArray([], __read(columns), false);
34
34
  }
35
- var width = rowSelection.width, onChange = rowSelection.onChange, selectedRowKeys = rowSelection.selectedRowKeys, fixed = rowSelection.fixed, isDisabled = rowSelection.isDisabled, isSelectAllDisabled = rowSelection.isSelectAllDisabled, title = rowSelection.title;
36
- var allSelectionRowKeys = [];
37
- var allSelectionRows = [];
38
- var unAllSelectionRowKeys = [];
39
- var unAllSelectionRows = [];
40
- var enabledRowKeys = [];
41
- var enabledCheckedRowKeys = [];
42
- dataSource.forEach(function (data, rowIndex) {
43
- var key = rowKey === "index" ? rowIndex : data[rowKey];
44
- var isSelected = selectedRowKeys.findIndex(function (_) { return _ === key; }) !== -1;
45
- var isDisabledRow = (isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(data, rowIndex)) || false;
46
- if (isDisabledRow) {
47
- if (isSelected) {
48
- allSelectionRowKeys.push(key);
49
- allSelectionRows.push(data[rowIndex]);
50
- unAllSelectionRowKeys.push(key);
51
- unAllSelectionRows.push(data[rowIndex]);
52
- }
53
- }
54
- else {
55
- enabledRowKeys.push(key);
56
- isSelected && enabledCheckedRowKeys.push(key);
57
- allSelectionRowKeys.push(key);
58
- allSelectionRows.push(data[rowIndex]);
59
- }
60
- });
35
+ var width = rowSelection.width, onChange = rowSelection.onChange, selectedRowKeys = rowSelection.selectedRowKeys, fixed = rowSelection.fixed, disableSelectAll = rowSelection.disableSelectAll, disableSelection = rowSelection.disableSelection, title = rowSelection.title;
61
36
  var onSelectAll = function (val) {
62
- return val ? onChange(allSelectionRowKeys, allSelectionRows) : onChange(unAllSelectionRowKeys, unAllSelectionRows);
37
+ var allSelectedRowKeys = dataSource.map(function (_, idx) { return (rowKey === "index" ? idx : _[rowKey]); });
38
+ val ? onChange(allSelectedRowKeys, dataSource) : onChange([], []);
63
39
  };
64
- var isAllSelectionDisabled = isSelectAllDisabled || enabledRowKeys.length === 0;
65
- var isAllSelected = enabledRowKeys.length === enabledCheckedRowKeys.length;
66
- var isIndeterminate = enabledCheckedRowKeys.length > 0 && !isAllSelected;
67
40
  var rowSelectionColumn = {
68
41
  width: width,
69
42
  fixed: fixed ? "left" : undefined,
70
- title: title || React.createElement(Checkbox, { disabled: isAllSelectionDisabled, indeterminate: isIndeterminate, onChange: onSelectAll, value: isAllSelected }),
43
+ title: title || (React.createElement(Checkbox, { disabled: disableSelectAll || dataSource.length === 0, indeterminate: selectedRowKeys.length >= 1 && selectedRowKeys.length !== dataSource.length, onChange: onSelectAll, value: dataSource.length !== 0 && selectedRowKeys ? selectedRowKeys.length === dataSource.length : false })),
71
44
  renderData: function (data, rowIndex) {
72
- var key = rowKey === "index" ? rowIndex : data[rowKey];
73
- var toggledSelectedRowKeys = ArrayUtil.toggleElement(selectedRowKeys, key);
74
- var isChecked = selectedRowKeys.findIndex(function (_) { return _ === key; }) !== -1;
75
- return (React.createElement(Checkbox, { disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(data, rowIndex), value: isChecked, onChange: function () {
45
+ var dataKey = rowKey === "index" ? rowIndex : data[rowKey];
46
+ var isChecked = selectedRowKeys.includes(dataKey);
47
+ var toggledSelectedRowKeys = ArrayUtil.toggleElement(selectedRowKeys, dataKey);
48
+ return (React.createElement(Checkbox, { disabled: disableSelection === null || disableSelection === void 0 ? void 0 : disableSelection(data, rowIndex), value: isChecked, onChange: function () {
76
49
  return onChange(toggledSelectedRowKeys, dataSource.filter(function (_, idx) { return toggledSelectedRowKeys.includes(rowKey ? _[rowKey] : idx); }));
77
50
  } }));
78
51
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelection.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/useRowSelection.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRowSelection.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/useRowSelection.tsx"],"names":[],"mappings":"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"}
@@ -14,13 +14,13 @@ var __read = (this && this.__read) || function (o, n) {
14
14
  }
15
15
  return ar;
16
16
  };
17
- import React, { useEffect } from "react";
17
+ import React from "react";
18
18
  export var useScrollToEdge = function (scrollContentRef) {
19
- var _a = __read(React.useState(false), 2), isScrollToLeft = _a[0], setIsScrollToLeft = _a[1];
19
+ var _a = __read(React.useState(true), 2), isScrollToLeft = _a[0], setIsScrollToLeft = _a[1];
20
20
  var _b = __read(React.useState(false), 2), isScrollToRight = _b[0], setIsScrollToRight = _b[1];
21
- var _c = __read(React.useState(false), 2), isScrollToTop = _c[0], setIsScrollToTop = _c[1];
21
+ var _c = __read(React.useState(true), 2), isScrollToTop = _c[0], setIsScrollToTop = _c[1];
22
22
  var _d = __read(React.useState(false), 2), isScrollToBottom = _d[0], setIsScrollToBottom = _d[1];
23
- var isScrollToEdge = React.useCallback(function () {
23
+ var onScroll = React.useCallback(function () {
24
24
  var isScrollLeft = scrollContentRef.current ? scrollContentRef.current.scrollLeft <= 1 : false;
25
25
  var isScrollRight = scrollContentRef.current ? scrollContentRef.current.scrollLeft >= scrollContentRef.current.scrollWidth - scrollContentRef.current.clientWidth : false;
26
26
  var isScrollTop = scrollContentRef.current ? scrollContentRef.current.scrollTop <= 1 : false;
@@ -30,12 +30,8 @@ export var useScrollToEdge = function (scrollContentRef) {
30
30
  setIsScrollToTop(isScrollTop);
31
31
  setIsScrollToBottom(isScrollBottom);
32
32
  }, [scrollContentRef]);
33
- // initialize
34
- useEffect(function () {
35
- isScrollToEdge();
36
- }, [isScrollToEdge]);
37
33
  return {
38
- onScroll: isScrollToEdge,
34
+ onScroll: onScroll,
39
35
  isScrollToLeft: isScrollToLeft,
40
36
  isScrollToRight: isScrollToRight,
41
37
  isScrollToTop: isScrollToTop,
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollToEdge.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/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,IAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjG,IAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5K,IAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/F,IAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9K,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC9B,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACxC,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,QAAQ,EAAE,cAAc;QACxB,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACnB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"useScrollToEdge.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/useScrollToEdge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,gBAA8C;IACpE,IAAA,KAAA,OAAsC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,EAAzD,cAAc,QAAA,EAAE,iBAAiB,QAAwB,CAAC;IAC3D,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,IAAI,CAAC,IAAA,EAAvD,aAAa,QAAA,EAAE,gBAAgB,QAAwB,CAAC;IACzD,IAAA,KAAA,OAA0C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA9D,gBAAgB,QAAA,EAAE,mBAAmB,QAAyB,CAAC;IAEtE,IAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC;QAC/B,IAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjG,IAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5K,IAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/F,IAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9K,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC9B,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO;QACH,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACnB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import type { VariableSizeList } from "react-window";
3
+ import type { CellMeasurerCache } from "./CellMeasurerCache";
4
+ import type { Measure } from "./type";
5
+ export declare type RegisterChild = (instance: HTMLElement | null) => void;
6
+ export interface CellMeasurerChildProps {
7
+ registerChild: RegisterChild;
8
+ measure: Measure;
9
+ }
10
+ interface Props {
11
+ rowIndex: number;
12
+ cache: CellMeasurerCache;
13
+ children: React.FunctionComponent<CellMeasurerChildProps>;
14
+ parent: React.RefObject<VariableSizeList>;
15
+ }
16
+ export declare function CellMeasurer(props: Props): React.ReactElement<any, any> | null;
17
+ export {};
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ export function CellMeasurer(props) {
3
+ var cache = props.cache, rowIndex = props.rowIndex, children = props.children, parent = props.parent;
4
+ var childRef = React.useRef();
5
+ var calculateSize = React.useCallback(function (node) {
6
+ var originalStyleHeight = node.style.height;
7
+ node.style.height = "auto";
8
+ var height = node.getBoundingClientRect().height;
9
+ node.style.height = originalStyleHeight;
10
+ return height;
11
+ }, []);
12
+ var measure = React.useCallback(function () {
13
+ var _a;
14
+ if (childRef.current) {
15
+ var height = calculateSize(childRef.current);
16
+ cache.set(height, rowIndex);
17
+ (_a = parent.current) === null || _a === void 0 ? void 0 : _a.resetAfterIndex(rowIndex);
18
+ }
19
+ }, [cache, parent, calculateSize, rowIndex]);
20
+ var registerChild = function (node) {
21
+ var _a;
22
+ if (node) {
23
+ childRef.current = node;
24
+ var height = calculateSize(node);
25
+ if (!cache.has(rowIndex)) {
26
+ cache.set(height, rowIndex);
27
+ (_a = parent.current) === null || _a === void 0 ? void 0 : _a.resetAfterIndex(rowIndex);
28
+ }
29
+ }
30
+ else {
31
+ childRef.current = null;
32
+ }
33
+ };
34
+ return children({ registerChild: registerChild, measure: measure });
35
+ }
36
+ //# sourceMappingURL=CellMeasurer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellMeasurer.js","sourceRoot":"","sources":["../../../src/core/VirtualizedFlatList/CellMeasurer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,MAAM,UAAU,YAAY,CAAC,KAAY;IAC9B,IAAA,KAAK,GAAgC,KAAK,MAArC,EAAE,QAAQ,GAAsB,KAAK,SAA3B,EAAE,QAAQ,GAAY,KAAK,SAAjB,EAAE,MAAM,GAAI,KAAK,OAAT,CAAU;IAClD,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAsB,CAAC;IAEpD,IAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,UAAC,IAAiB;QACtD,IAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,IAAA,MAAM,GAAI,IAAI,CAAC,qBAAqB,EAAE,OAAhC,CAAiC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;QACxC,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,OAAO,GAAY,KAAK,CAAC,WAAW,CAAC;;QACvC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAClB,IAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5B,MAAA,MAAM,CAAC,OAAO,0CAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC7C;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7C,IAAM,aAAa,GAAG,UAAC,IAAwB;;QAC3C,IAAI,IAAI,EAAE;YACN,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,IAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACtB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC5B,MAAA,MAAM,CAAC,OAAO,0CAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;aAC7C;SACJ;aAAM;YACH,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,EAAC,aAAa,eAAA,EAAE,OAAO,SAAA,EAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,16 @@
1
+ interface CellMeasurerCacheOptions {
2
+ defaultHeight: number;
3
+ }
4
+ export declare class CellMeasurerCache {
5
+ private cellHeightCache;
6
+ private defaultHeight;
7
+ constructor(options: CellMeasurerCacheOptions);
8
+ private createCacheKey;
9
+ clearAll(): void;
10
+ has(index: number): boolean;
11
+ set(height: number, index: number): void;
12
+ clear(index: number): void;
13
+ getKey(index: number): string;
14
+ itemSize(index: number): number;
15
+ }
16
+ export {};
@@ -0,0 +1,31 @@
1
+ var CellMeasurerCache = /** @class */ (function () {
2
+ function CellMeasurerCache(options) {
3
+ this.defaultHeight = options.defaultHeight;
4
+ this.cellHeightCache = {};
5
+ }
6
+ CellMeasurerCache.prototype.createCacheKey = function (index) {
7
+ return "key-".concat(index);
8
+ };
9
+ CellMeasurerCache.prototype.clearAll = function () {
10
+ this.cellHeightCache = {};
11
+ };
12
+ CellMeasurerCache.prototype.has = function (index) {
13
+ return this.cellHeightCache[this.createCacheKey(index)] !== undefined;
14
+ };
15
+ CellMeasurerCache.prototype.set = function (height, index) {
16
+ this.cellHeightCache[this.createCacheKey(index)] = height;
17
+ };
18
+ CellMeasurerCache.prototype.clear = function (index) {
19
+ delete this.cellHeightCache[this.createCacheKey(index)];
20
+ };
21
+ CellMeasurerCache.prototype.getKey = function (index) {
22
+ return this.createCacheKey(index);
23
+ };
24
+ CellMeasurerCache.prototype.itemSize = function (index) {
25
+ var cachedHeight = this.cellHeightCache[this.createCacheKey(index)];
26
+ return cachedHeight !== null && cachedHeight !== void 0 ? cachedHeight : this.defaultHeight;
27
+ };
28
+ return CellMeasurerCache;
29
+ }());
30
+ export { CellMeasurerCache };
31
+ //# sourceMappingURL=CellMeasurerCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellMeasurerCache.js","sourceRoot":"","sources":["../../../src/core/VirtualizedFlatList/CellMeasurerCache.ts"],"names":[],"mappings":"AAIA;IAII,2BAAY,OAAiC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEO,0CAAc,GAAtB,UAAuB,KAAa;QAChC,OAAO,cAAO,KAAK,CAAE,CAAC;IAC1B,CAAC;IAED,oCAAQ,GAAR;QACI,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,+BAAG,GAAH,UAAI,KAAa;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;IAC1E,CAAC;IAED,+BAAG,GAAH,UAAI,MAAc,EAAE,KAAa;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC;IAC9D,CAAC;IAED,iCAAK,GAAL,UAAM,KAAa;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,kCAAM,GAAN,UAAO,KAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,oCAAQ,GAAR,UAAS,KAAa;QAClB,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,CAAC,aAAa,CAAC;IAC9C,CAAC;IACL,wBAAC;AAAD,CAAC,AArCD,IAqCC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import type { FooterData, Measure } from "./type";
3
+ interface Props extends FooterData {
4
+ style: React.CSSProperties;
5
+ measure: Measure;
6
+ }
7
+ export declare const Footer: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
8
+ export {};
@@ -0,0 +1,27 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from "react";
13
+ import { Spin } from "../Spin";
14
+ export var Footer = React.forwardRef(function (props, ref) {
15
+ var loading = props.loading, ended = props.ended, loadingMessage = props.loadingMessage, endMessage = props.endMessage, style = props.style, measure = props.measure;
16
+ var measureRef = React.useRef(measure);
17
+ measureRef.current = measure;
18
+ React.useEffect(function () {
19
+ measureRef.current();
20
+ }, [loading, loadingMessage, endMessage, ended]);
21
+ return (React.createElement("div", { style: __assign({}, style), ref: ref, className: "g-flat-list-footer" },
22
+ loading && (React.createElement("div", null,
23
+ React.createElement(Spin, { spinning: true, size: "small" }),
24
+ React.createElement("div", null, loadingMessage !== null && loadingMessage !== void 0 ? loadingMessage : "loading..."))),
25
+ ended && !loading && (endMessage !== null && endMessage !== void 0 ? endMessage : "All data loaded")));
26
+ });
27
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/core/VirtualizedFlatList/Footer.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAQ7B,MAAM,CAAC,IAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAwB,UAAC,KAAK,EAAE,GAAG;IAC9D,IAAA,OAAO,GAAuD,KAAK,QAA5D,EAAE,KAAK,GAAgD,KAAK,MAArD,EAAE,cAAc,GAAgC,KAAK,eAArC,EAAE,UAAU,GAAoB,KAAK,WAAzB,EAAE,KAAK,GAAa,KAAK,MAAlB,EAAE,OAAO,GAAI,KAAK,QAAT,CAAU;IAC3E,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,KAAK,CAAC,SAAS,CAAC;QACZ,UAAU,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjD,OAAO,CACH,6BAAK,KAAK,eAAM,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,oBAAoB;QAC3D,OAAO,IAAI,CACR;YACI,oBAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,EAAC,OAAO,GAAG;YAC9B,iCAAM,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,CAAO,CACzC,CACT;QACA,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,iBAAiB,CAAC,CACrD,CACT,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import type { ListItemData } from "./type";
3
+ import type { ListChildComponentProps } from "react-window";
4
+ export declare const ListItem: <T>(props: ListChildComponentProps<ListItemData<T>>) => JSX.Element;
@@ -0,0 +1,43 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from "react";
13
+ import { CellMeasurer } from "./CellMeasurer";
14
+ import { Footer } from "./Footer";
15
+ var ItemRendererWrapper = React.forwardRef(function (props, ref) {
16
+ var style = props.style, data = props.data, index = props.index, measure = props.measure, Item = props.itemRenderer;
17
+ var measureRef = React.useRef(measure);
18
+ measureRef.current = measure;
19
+ React.useEffect(function () {
20
+ measureRef.current();
21
+ }, [data]);
22
+ return (React.createElement("div", { style: style, ref: ref, className: "g-flat-list-item-wrapper" },
23
+ React.createElement(Item, { data: data, index: index, measure: measure })));
24
+ });
25
+ export var ListItem = function (props) {
26
+ var data = props.data, index = props.index, style = props.style;
27
+ var cache = data.cache, parent = data.parent, rawData = data.data, itemRenderer = data.itemRenderer, gap = data.gap;
28
+ var padding = React.useMemo(function () {
29
+ return gap ? { paddingLeft: gap.left, paddingRight: gap.right, paddingBottom: gap.bottom, paddingTop: gap.top } : {};
30
+ }, [gap]);
31
+ return (React.createElement(CellMeasurer, { cache: cache, rowIndex: index, parent: parent }, function (_a) {
32
+ var registerChild = _a.registerChild, measure = _a.measure;
33
+ var data = rawData[index];
34
+ if (index === rawData.length - 1) {
35
+ var _b = data, loading = _b.loading, loadingMessage = _b.loadingMessage, endMessage = _b.endMessage, ended = _b.ended;
36
+ return React.createElement(Footer, { ref: registerChild, loading: loading, ended: ended, loadingMessage: loadingMessage, endMessage: endMessage, style: style, measure: measure });
37
+ }
38
+ else {
39
+ return (React.createElement(ItemRendererWrapper, { ref: registerChild, style: __assign(__assign({}, style), padding), data: rawData[index], index: index, itemRenderer: itemRenderer, measure: measure }));
40
+ }
41
+ }));
42
+ };
43
+ //# sourceMappingURL=ListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../src/core/VirtualizedFlatList/ListItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface Props {
3
+ loading: boolean;
4
+ message?: string;
5
+ }
6
+ export declare const Loading: (props: Props) => JSX.Element;
7
+ export {};
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { Spin } from "../Spin";
3
+ export var Loading = function (props) {
4
+ var loading = props.loading, message = props.message;
5
+ return (React.createElement("div", { className: "g-flat-list-loading" },
6
+ React.createElement("div", null,
7
+ React.createElement(Spin, { spinning: loading, size: "small" }), message !== null && message !== void 0 ? message : "Release to refresh")));
8
+ };
9
+ //# sourceMappingURL=Loading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/core/VirtualizedFlatList/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAO7B,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAY;IACzB,IAAA,OAAO,GAAa,KAAK,QAAlB,EAAE,OAAO,GAAI,KAAK,QAAT,CAAU;IAEjC,OAAO,CACH,6BAAK,SAAS,EAAC,qBAAqB;QAChC;YACI,oBAAC,IAAI,IAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,OAAO,GAAG,EACvC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,oBAAoB,CAC9B,CACJ,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import type { ItemRenderer } from "./type";
3
+ import "./index.less";
4
+ export interface Props<T> {
5
+ data: T[];
6
+ renderItem: ItemRenderer<T>;
7
+ loading?: boolean;
8
+ className?: string;
9
+ style?: React.CSSProperties;
10
+ onPullUpLoading?: () => void;
11
+ onPullDownRefresh?: () => void;
12
+ autoLoad?: boolean | number;
13
+ emptyPlaceholder?: string | React.ReactElement;
14
+ contentStyle?: React.CSSProperties;
15
+ gap?: {
16
+ top?: number;
17
+ bottom?: number;
18
+ left?: number;
19
+ right?: number;
20
+ };
21
+ bounceEffect?: boolean;
22
+ pullUpLoadingMessage?: string;
23
+ endOfListMessage?: string;
24
+ pullDownRefreshMessage?: string;
25
+ }
26
+ /**
27
+ * VirtualizedFlatList currently only work with item without and size related animation and transition since it break the layout. This will be improve in the future
28
+ */
29
+ export declare function VirtualizedFlatList<T>(props: Props<T>): JSX.Element;