@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.
Files changed (104) hide show
  1. package/core/FlatList/VirtualFlatList/Item.d.ts +17 -0
  2. package/core/FlatList/VirtualFlatList/Item.js +26 -0
  3. package/core/FlatList/VirtualFlatList/Item.js.map +1 -0
  4. package/core/FlatList/VirtualFlatList/index.d.ts +30 -0
  5. package/core/FlatList/VirtualFlatList/index.js +80 -0
  6. package/core/FlatList/VirtualFlatList/index.js.map +1 -0
  7. package/core/FlatList/VirtualFlatList/index.less +22 -0
  8. package/core/FlatList/VirtualFlatList/type.d.ts +17 -0
  9. package/core/FlatList/VirtualFlatList/type.js +2 -0
  10. package/core/FlatList/VirtualFlatList/type.js.map +1 -0
  11. package/core/FlatList/index.d.ts +3 -0
  12. package/core/FlatList/index.js +33 -0
  13. package/core/FlatList/index.js.map +1 -0
  14. package/core/FlatList/shared/Footer/index.d.ts +8 -0
  15. package/core/FlatList/shared/Footer/index.js +13 -0
  16. package/core/FlatList/shared/Footer/index.js.map +1 -0
  17. package/core/FlatList/shared/Footer/index.less +8 -0
  18. package/core/FlatList/shared/Spinner/index.d.ts +8 -0
  19. package/core/FlatList/shared/Spinner/index.js +10 -0
  20. package/core/FlatList/shared/Spinner/index.js.map +1 -0
  21. package/core/FlatList/shared/Spinner/index.less +13 -0
  22. package/core/FlatList/shared/Wrapper/Loading.d.ts +7 -0
  23. package/core/FlatList/shared/Wrapper/Loading.js +8 -0
  24. package/core/FlatList/shared/Wrapper/Loading.js.map +1 -0
  25. package/core/FlatList/shared/Wrapper/index.d.ts +12 -0
  26. package/core/FlatList/shared/Wrapper/index.js +111 -0
  27. package/core/FlatList/shared/Wrapper/index.js.map +1 -0
  28. package/core/FlatList/shared/Wrapper/index.less +28 -0
  29. package/core/FlatList/shared/hooks/useBounceSwipe.d.ts +22 -0
  30. package/core/FlatList/shared/hooks/useBounceSwipe.js +111 -0
  31. package/core/FlatList/shared/hooks/useBounceSwipe.js.map +1 -0
  32. package/core/FlatList/shared/hooks/useElementScrollState.d.ts +8 -0
  33. package/core/FlatList/shared/hooks/useElementScrollState.js +38 -0
  34. package/core/FlatList/shared/hooks/useElementScrollState.js.map +1 -0
  35. package/core/FlatList/shared/hooks/useFlatList.d.ts +14 -0
  36. package/core/FlatList/shared/hooks/useFlatList.js +86 -0
  37. package/core/FlatList/shared/hooks/useFlatList.js.map +1 -0
  38. package/core/FlatList/shared/hooks/useLoadingWithDelay.d.ts +9 -0
  39. package/core/FlatList/shared/hooks/useLoadingWithDelay.js +52 -0
  40. package/core/FlatList/shared/hooks/useLoadingWithDelay.js.map +1 -0
  41. package/core/FlatList/type.d.ts +34 -0
  42. package/core/FlatList/type.js +2 -0
  43. package/core/FlatList/type.js.map +1 -0
  44. package/core/VirtualTable/TableHeader.d.ts +3 -4
  45. package/core/VirtualTable/TableHeader.js +2 -2
  46. package/core/VirtualTable/TableHeader.js.map +1 -1
  47. package/core/VirtualTable/TableRow.d.ts +7 -6
  48. package/core/VirtualTable/TableRow.js +28 -19
  49. package/core/VirtualTable/TableRow.js.map +1 -1
  50. package/core/VirtualTable/{useColumnWidths.d.ts → hooks/useColumnWidths.d.ts} +0 -0
  51. package/core/VirtualTable/{useColumnWidths.js → hooks/useColumnWidths.js} +0 -0
  52. package/core/VirtualTable/hooks/useColumnWidths.js.map +1 -0
  53. package/core/VirtualTable/{useDebounce.d.ts → hooks/useDebounce.d.ts} +0 -0
  54. package/core/VirtualTable/{useDebounce.js → hooks/useDebounce.js} +0 -0
  55. package/core/VirtualTable/hooks/useDebounce.js.map +1 -0
  56. package/core/VirtualTable/{useLayout.d.ts → hooks/useLayout.d.ts} +5 -2
  57. package/core/VirtualTable/{useLayout.js → hooks/useLayout.js} +8 -1
  58. package/core/VirtualTable/hooks/useLayout.js.map +1 -0
  59. package/core/VirtualTable/hooks/useRowExpand.d.ts +7 -0
  60. package/core/VirtualTable/hooks/useRowExpand.js +20 -0
  61. package/core/VirtualTable/hooks/useRowExpand.js.map +1 -0
  62. package/core/VirtualTable/{useRowSelection.d.ts → hooks/useRowSelection.d.ts} +1 -1
  63. package/core/VirtualTable/{useRowSelection.js → hooks/useRowSelection.js} +2 -2
  64. package/core/VirtualTable/hooks/useRowSelection.js.map +1 -0
  65. package/core/VirtualTable/{useScrollBarSize.d.ts → hooks/useScrollBarSize.d.ts} +0 -0
  66. package/core/VirtualTable/{useScrollBarSize.js → hooks/useScrollBarSize.js} +0 -0
  67. package/core/VirtualTable/hooks/useScrollBarSize.js.map +1 -0
  68. package/core/VirtualTable/{useScrollToEdge.d.ts → hooks/useScrollToEdge.d.ts} +1 -1
  69. package/core/VirtualTable/{useScrollToEdge.js → hooks/useScrollToEdge.js} +1 -1
  70. package/core/VirtualTable/hooks/useScrollToEdge.js.map +1 -0
  71. package/core/VirtualTable/{useStickyPosition.d.ts → hooks/useStickyPosition.d.ts} +1 -5
  72. package/core/VirtualTable/{useStickyPosition.js → hooks/useStickyPosition.js} +1 -1
  73. package/core/VirtualTable/hooks/useStickyPosition.js.map +1 -0
  74. package/core/VirtualTable/hooks/useTransformColumn.d.ts +11 -0
  75. package/core/VirtualTable/hooks/useTransformColumn.js +9 -0
  76. package/core/VirtualTable/hooks/useTransformColumn.js.map +1 -0
  77. package/core/VirtualTable/index.d.ts +5 -4
  78. package/core/VirtualTable/index.js +15 -11
  79. package/core/VirtualTable/index.js.map +1 -1
  80. package/core/VirtualTable/index.less +14 -2
  81. package/core/VirtualTable/type.d.ts +17 -0
  82. package/hooks/useSwipe/controller.d.ts +20 -0
  83. package/hooks/useSwipe/controller.js +126 -0
  84. package/hooks/useSwipe/controller.js.map +1 -0
  85. package/hooks/useSwipe/index.d.ts +3 -0
  86. package/hooks/useSwipe/index.js +9 -0
  87. package/hooks/useSwipe/index.js.map +1 -0
  88. package/hooks/useSwipe/type.d.ts +38 -0
  89. package/hooks/useSwipe/type.js +8 -0
  90. package/hooks/useSwipe/type.js.map +1 -0
  91. package/hooks/useTransform.d.ts +18 -0
  92. package/hooks/useTransform.js +50 -0
  93. package/hooks/useTransform.js.map +1 -0
  94. package/package.json +5 -1
  95. package/util/SwipeUtil.d.ts +8 -0
  96. package/util/SwipeUtil.js +26 -0
  97. package/util/SwipeUtil.js.map +1 -0
  98. package/core/VirtualTable/useColumnWidths.js.map +0 -1
  99. package/core/VirtualTable/useDebounce.js.map +0 -1
  100. package/core/VirtualTable/useLayout.js.map +0 -1
  101. package/core/VirtualTable/useRowSelection.js.map +0 -1
  102. package/core/VirtualTable/useScrollBarSize.js.map +0 -1
  103. package/core/VirtualTable/useScrollToEdge.js.map +0 -1
  104. package/core/VirtualTable/useStickyPosition.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import type { FooterData } from "../type";
3
+ import type { ItemRenderer, Measure } from "./type";
4
+ export interface Gap {
5
+ top?: number;
6
+ bottom?: number;
7
+ left?: number;
8
+ right?: number;
9
+ }
10
+ export interface ListItemProps<T> {
11
+ measure: Measure;
12
+ data: (T | FooterData)[];
13
+ index: number;
14
+ itemRenderer: ItemRenderer<T>;
15
+ gap?: Gap;
16
+ }
17
+ export declare const Item: <T>(props: ListItemProps<T>) => JSX.Element;
@@ -0,0 +1,26 @@
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 { Footer } from "../shared/Footer";
14
+ export var Item = function (props) {
15
+ var data = props.data, index = props.index, ItemRenderer = props.itemRenderer, gap = props.gap, measure = props.measure;
16
+ var padding = React.useMemo(function () { return (gap ? { paddingLeft: gap.left, paddingRight: gap.right, paddingBottom: gap.bottom, paddingTop: gap.top } : {}); }, [gap]);
17
+ if (index === data.length - 1) {
18
+ var _a = data[index], loading = _a.loading, loadingMessage = _a.loadingMessage, endMessage = _a.endMessage, ended = _a.ended;
19
+ return React.createElement(Footer, { loading: loading, ended: ended, loadingMessage: loadingMessage, endMessage: endMessage, measure: measure });
20
+ }
21
+ else {
22
+ return (React.createElement("div", { className: "g-virtual-flat-list-item", style: __assign({}, padding) },
23
+ React.createElement(ItemRenderer, { data: data[index], index: index, measure: measure })));
24
+ }
25
+ };
26
+ //# sourceMappingURL=Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/core/FlatList/VirtualFlatList/Item.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAmBxC,MAAM,CAAC,IAAM,IAAI,GAAG,UAAa,KAAuB;IAC7C,IAAA,IAAI,GAAqD,KAAK,KAA1D,EAAE,KAAK,GAA8C,KAAK,MAAnD,EAAgB,YAAY,GAAkB,KAAK,aAAvB,EAAE,GAAG,GAAa,KAAK,IAAlB,EAAE,OAAO,GAAI,KAAK,QAAT,CAAU;IAEtE,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,cAA2B,OAAA,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAA7G,CAA6G,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/K,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,IAAA,KAA+C,IAAI,CAAC,KAAK,CAAe,EAAvE,OAAO,aAAA,EAAE,cAAc,oBAAA,EAAE,UAAU,gBAAA,EAAE,KAAK,WAA6B,CAAC;QAC/E,OAAO,oBAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;KAC/H;SAAM;QACH,OAAO,CACH,6BAAK,SAAS,EAAC,0BAA0B,EAAC,KAAK,eAAM,OAAO;YACxD,oBAAC,YAAY,IAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CACtE,CACT,CAAC;KACL;AACL,CAAC,CAAC"}
@@ -0,0 +1,30 @@
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
+ overscan?: number;
14
+ emptyPlaceholder?: string | React.ReactElement;
15
+ contentStyle?: React.CSSProperties;
16
+ gap?: {
17
+ top?: number;
18
+ bottom?: number;
19
+ left?: number;
20
+ right?: number;
21
+ };
22
+ bounceEffect?: boolean;
23
+ pullUpLoadingMessage?: string;
24
+ endOfListMessage?: string;
25
+ pullDownRefreshMessage?: string;
26
+ }
27
+ /**
28
+ * 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
29
+ */
30
+ export declare function VirtualFlatList<T>(props: Props<T>): JSX.Element;
@@ -0,0 +1,80 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
25
+ };
26
+ import React from "react";
27
+ import { defaultRangeExtractor, useVirtual } from "react-virtual";
28
+ import { Item } from "./Item";
29
+ import { Wrapper } from "../shared/Wrapper";
30
+ import "./index.less";
31
+ /**
32
+ * 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
33
+ */
34
+ export function VirtualFlatList(props) {
35
+ var data = props.data, renderItem = props.renderItem, _a = props.loading, loading = _a === void 0 ? false : _a, className = props.className, style = props.style, onPullDownRefresh = props.onPullDownRefresh, onPullUpLoading = props.onPullUpLoading, emptyPlaceholder = props.emptyPlaceholder, contentStyle = props.contentStyle, gap = props.gap, _b = props.autoLoad, autoLoad = _b === void 0 ? true : _b, _c = props.overscan, overscan = _c === void 0 ? 3 : _c, _d = props.bounceEffect, bounceEffect = _d === void 0 ? true : _d, pullUpLoadingMessage = props.pullUpLoadingMessage, endOfListMessage = props.endOfListMessage, pullDownRefreshMessage = props.pullDownRefreshMessage;
36
+ var parentRef = React.useRef(null);
37
+ var _e = __read(React.useState(null), 2), loadingType = _e[0], setLoadingType = _e[1];
38
+ var currentRangeRef = React.useRef();
39
+ var previousRangeRef = React.useRef();
40
+ // the reason why onScroll event is used to simulate auto loading instead of rangeExtractor is rangeExtractor return a wrong range when on mount
41
+ var onAutoLoad = function () {
42
+ var previousRange = previousRangeRef.current;
43
+ var currentRange = currentRangeRef.current;
44
+ if (previousRange &&
45
+ currentRange &&
46
+ autoLoad &&
47
+ onPullUpLoading &&
48
+ !loading &&
49
+ // check going downward
50
+ previousRange.end < currentRange.end &&
51
+ currentRange.end > data.length - 2 - (typeof autoLoad === "number" ? autoLoad : 3)) {
52
+ onPullUpLoading();
53
+ }
54
+ };
55
+ var rangeExtractor = React.useCallback(function (range) {
56
+ var _a;
57
+ previousRangeRef.current = (_a = currentRangeRef.current) !== null && _a !== void 0 ? _a : range;
58
+ currentRangeRef.current = range;
59
+ return defaultRangeExtractor(range);
60
+ }, []);
61
+ var listData = React.useMemo(function () { return __spreadArray(__spreadArray([], __read(data), false), [{ loading: loading && loadingType === "loading", ended: !onPullUpLoading, endMessage: endOfListMessage, loadingMessage: pullUpLoadingMessage }], false); }, [loading, loadingType, endOfListMessage, onPullUpLoading, pullUpLoadingMessage, data]);
62
+ var rowVirtualizer = useVirtual({
63
+ size: listData.length,
64
+ parentRef: parentRef,
65
+ overscan: overscan,
66
+ rangeExtractor: rangeExtractor,
67
+ });
68
+ var rowVirtualizerRef = React.useRef(rowVirtualizer);
69
+ rowVirtualizerRef.current = rowVirtualizer;
70
+ React.useEffect(function () {
71
+ rowVirtualizerRef.current.measure();
72
+ }, [data]);
73
+ // TODO/Alvis loading more when item can not fill the whole viewport
74
+ return (React.createElement(Wrapper, { bounceEffect: bounceEffect, contentRef: parentRef, loading: loading, className: "g-virtual-flat-list", innerStyle: contentStyle, style: style, onPullDownRefresh: onPullDownRefresh, onPullUpLoading: onPullUpLoading, onLoadingTypeChange: setLoadingType, pullDownRefreshMessage: pullDownRefreshMessage }, data.length === 0 ? (emptyPlaceholder) : (React.createElement("div", { className: "list-wrapper", ref: parentRef, onScroll: onAutoLoad },
75
+ React.createElement("div", { className: "list", style: { height: rowVirtualizer.totalSize } }, rowVirtualizer.virtualItems.map(function (virtualItem) {
76
+ return (React.createElement("div", { key: virtualItem.index, className: "g-virtual-flat-list-item-wrapper", style: { transform: "translateY(".concat(virtualItem.start, "px)") }, ref: virtualItem.measureRef },
77
+ React.createElement(Item, { data: listData, index: virtualItem.index, itemRenderer: renderItem, measure: virtualItem.measureRef, gap: gap })));
78
+ }))))));
79
+ }
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/FlatList/VirtualFlatList/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ .g-virtual-flat-list {
2
+ .list-wrapper {
3
+ width: 100%;
4
+ height: 100%;
5
+
6
+ .list {
7
+ width: 100%;
8
+ position: relative;
9
+ }
10
+ }
11
+
12
+ .g-virtual-flat-list-item-wrapper {
13
+ width: 100%;
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ }
18
+
19
+ .g-virtual-flat-list-item {
20
+ width: 100%;
21
+ }
22
+ }
@@ -0,0 +1,17 @@
1
+ import type React from "react";
2
+ import type { FlatListItemProps } from "../type";
3
+ export declare type Measure = (node: HTMLElement | null) => void;
4
+ export interface VirtualFlatListProps<T> extends FlatListItemProps<T> {
5
+ overscan?: number;
6
+ gap?: {
7
+ top?: number;
8
+ bottom?: number;
9
+ left?: number;
10
+ right?: number;
11
+ };
12
+ renderItem: ItemRenderer<T>;
13
+ }
14
+ export interface VirtualFlatListItemProps<T> extends FlatListItemProps<T> {
15
+ measure: Measure;
16
+ }
17
+ export declare type ItemRenderer<T> = React.FunctionComponent<VirtualFlatListItemProps<T>>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../src/core/FlatList/VirtualFlatList/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { FlatListProps } from "./type";
3
+ export declare const FlatList: <T>(props: FlatListProps<T>) => JSX.Element;
@@ -0,0 +1,33 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ import React from "react";
18
+ import classNames from "classnames";
19
+ import { Wrapper } from "./shared/Wrapper";
20
+ import { Footer } from "./shared/Footer";
21
+ export var FlatList = function (props) {
22
+ var data = props.data, ItemRenderer = props.renderItem,
23
+ // TODO/Alvis add auto load to flat list
24
+ autoLoad = props.autoLoad, _a = props.loading, loading = _a === void 0 ? false : _a, _b = props.bounceEffect, bounceEffect = _b === void 0 ? true : _b, className = props.className, style = props.style, onPullDownRefresh = props.onPullDownRefresh, onPullUpLoading = props.onPullUpLoading, pullDownRefreshMessage = props.pullDownRefreshMessage, pullUpLoadingMessage = props.pullUpLoadingMessage, contentStyle = props.contentStyle, emptyPlaceholder = props.emptyPlaceholder, endOfListMessage = props.endOfListMessage;
25
+ var contentRef = React.useRef(null);
26
+ var _c = __read(React.useState(null), 2), loadingType = _c[0], setLoadingType = _c[1];
27
+ return (React.createElement(Wrapper, { contentRef: contentRef, bounceEffect: bounceEffect, innerStyle: contentStyle, className: classNames("g-flat-list", className), style: style, onPullDownRefresh: onPullDownRefresh, onPullUpLoading: onPullUpLoading, loading: loading, onLoadingTypeChange: setLoadingType, pullDownRefreshMessage: pullDownRefreshMessage }, data.length === 0 ? (emptyPlaceholder) : (React.createElement("div", { className: "list", ref: contentRef },
28
+ data.map(function (d, i) {
29
+ return React.createElement(ItemRenderer, { data: d, index: i });
30
+ }),
31
+ React.createElement(Footer, { loading: loading && loadingType === "loading", ended: !onPullUpLoading, endMessage: endOfListMessage, loadingMessage: pullUpLoadingMessage })))));
32
+ };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/FlatList/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAa,KAAuB;IAEpD,IAAA,IAAI,GAeJ,KAAK,KAfD,EACQ,YAAY,GAcxB,KAAK,WAdmB;IACxB,wCAAwC;IACxC,QAAQ,GAYR,KAAK,SAZG,EACR,KAWA,KAAK,QAXU,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,KAUA,KAAK,aAVc,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,SAAS,GAST,KAAK,UATI,EACT,KAAK,GAQL,KAAK,MARA,EACL,iBAAiB,GAOjB,KAAK,kBAPY,EACjB,eAAe,GAMf,KAAK,gBANU,EACf,sBAAsB,GAKtB,KAAK,uBALiB,EACtB,oBAAoB,GAIpB,KAAK,qBAJe,EACpB,YAAY,GAGZ,KAAK,aAHO,EACZ,gBAAgB,GAEhB,KAAK,iBAFW,EAChB,gBAAgB,GAChB,KAAK,iBADW,CACV;IAEV,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,IAAA,KAAA,OAAgC,KAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,IAAA,EAAhE,WAAW,QAAA,EAAE,cAAc,QAAqC,CAAC;IAExE,OAAO,CACH,oBAAC,OAAO,IACJ,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,cAAc,EACnC,sBAAsB,EAAE,sBAAsB,IAE7C,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACjB,gBAAgB,CACnB,CAAC,CAAC,CAAC,CACA,6BAAK,SAAS,EAAC,MAAM,EAAC,GAAG,EAAE,UAAU;QAChC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;YACX,OAAO,oBAAC,YAAY,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CAAC;QAC/C,CAAC,CAAC;QACF,oBAAC,MAAM,IAAC,OAAO,EAAE,OAAO,IAAI,WAAW,KAAK,SAAS,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,GAAI,CACpJ,CACT,CACK,CACb,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import type { Measure } from "../../VirtualFlatList/type";
3
+ import type { FooterData } from "../../type";
4
+ import "./index.less";
5
+ export interface Props extends FooterData {
6
+ measure?: Measure;
7
+ }
8
+ export declare const Footer: (props: Props) => JSX.Element;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { Spinner } from "../Spinner";
3
+ import "./index.less";
4
+ export var Footer = function (props) {
5
+ var loading = props.loading, ended = props.ended, loadingMessage = props.loadingMessage, endMessage = props.endMessage, measure = props.measure;
6
+ var measureRef = React.useRef(measure);
7
+ measureRef.current = measure;
8
+ return (React.createElement("div", { className: "g-flat-list-footer", ref: measure },
9
+ loading && React.createElement(Spinner, { loading: true, message: loadingMessage !== null && loadingMessage !== void 0 ? loadingMessage : "loading..." }),
10
+ ended && !loading && (endMessage !== null && endMessage !== void 0 ? endMessage : "All data loaded"),
11
+ !ended && !loading && "Pull up to loading more "));
12
+ };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/Footer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AACnC,OAAO,cAAc,CAAC;AAMtB,MAAM,CAAC,IAAM,MAAM,GAAG,UAAC,KAAY;IACxB,IAAA,OAAO,GAAgD,KAAK,QAArD,EAAE,KAAK,GAAyC,KAAK,MAA9C,EAAE,cAAc,GAAyB,KAAK,eAA9B,EAAE,UAAU,GAAa,KAAK,WAAlB,EAAE,OAAO,GAAI,KAAK,QAAT,CAAU;IACpE,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,OAAO,CACH,6BAAK,SAAS,EAAC,oBAAoB,EAAC,GAAG,EAAE,OAAO;QAC3C,OAAO,IAAI,oBAAC,OAAO,IAAC,OAAO,QAAC,OAAO,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,GAAI;QACvE,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,iBAAiB,CAAC;QACtD,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,0BAA0B,CAC/C,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ .g-flat-list-footer {
2
+ width: 100%;
3
+ display: flex;
4
+ flex-flow: row nowrap;
5
+ justify-content: center;
6
+ align-items: center;
7
+ padding: 5px;
8
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import "./index.less";
3
+ interface Props {
4
+ loading: boolean;
5
+ message?: string;
6
+ }
7
+ export declare const Spinner: (props: Props) => JSX.Element;
8
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Spin } from "../../../Spin";
3
+ import "./index.less";
4
+ export var Spinner = function (props) {
5
+ var loading = props.loading, message = props.message;
6
+ return (React.createElement("div", { className: "g-flat-list-spinner" },
7
+ React.createElement(Spin, { spinning: loading, size: "small" }),
8
+ React.createElement("div", { className: "message" }, message)));
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/Spinner/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,cAAc,CAAC;AAOtB,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAY;IACzB,IAAA,OAAO,GAAa,KAAK,QAAlB,EAAE,OAAO,GAAI,KAAK,QAAT,CAAU;IACjC,OAAO,CACH,6BAAK,SAAS,EAAC,qBAAqB;QAChC,oBAAC,IAAI,IAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,OAAO,GAAG;QACxC,6BAAK,SAAS,EAAC,SAAS,IAAE,OAAO,CAAO,CACtC,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ .g-flat-list-spinner {
2
+ position: relative;
3
+
4
+ .ant-spin {
5
+ position: absolute;
6
+ left: 0;
7
+ transform: translateX(-150%);
8
+
9
+ .anticon.ant-spin-dot {
10
+ font-size: 14px;
11
+ }
12
+ }
13
+ }
@@ -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,8 @@
1
+ import React from "react";
2
+ import { Spinner } from "../Spinner";
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(Spinner, { loading: loading, message: message !== null && message !== void 0 ? message : "Release to refresh" })));
7
+ };
8
+ //# sourceMappingURL=Loading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/Wrapper/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAOnC,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,oBAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,oBAAoB,GAAI,CACrE,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import type { FlatListProps, LoadingType } from "../../type";
3
+ import "./index.less";
4
+ interface Props<T> extends Pick<FlatListProps<T>, "loading" | "bounceEffect" | "onPullUpLoading" | "onPullDownRefresh" | "className" | "style" | "pullDownRefreshMessage"> {
5
+ children: React.ReactNode;
6
+ contentRef: React.MutableRefObject<HTMLElement | null>;
7
+ onLoadingTypeChange?: (type: LoadingType) => void;
8
+ innerClassName?: string;
9
+ innerStyle?: React.CSSProperties;
10
+ }
11
+ export declare const Wrapper: <T>(props: Props<T>) => JSX.Element;
12
+ export {};
@@ -0,0 +1,111 @@
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
+ var __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
28
+ import React from "react";
29
+ import { Direction } from "../../../../hooks/useSwipe";
30
+ import { useTransform } from "../../../../hooks/useTransform";
31
+ import { useBounceSwipe } from "../hooks/useBounceSwipe";
32
+ import { useElementScrollState } from "../hooks/useElementScrollState";
33
+ import { PULL_DOWN_REFRESH_THRESHOLD } from "../../type";
34
+ import { Loading } from "./Loading";
35
+ import { useLoadingWithDelay } from "../hooks/useLoadingWithDelay";
36
+ import "./index.less";
37
+ export var Wrapper = function (props) {
38
+ var children = props.children, bounceEffect = props.bounceEffect, _a = props.loading, loading = _a === void 0 ? false : _a, contentRef = props.contentRef, onPullDownRefresh = props.onPullDownRefresh, onPullUpLoading = props.onPullUpLoading, className = props.className, innerClassName = props.innerClassName, style = props.style, innerStyle = props.innerStyle, pullDownRefreshMessage = props.pullDownRefreshMessage, onLoadingTypeChange = props.onLoadingTypeChange;
39
+ var startOffsetRef = React.useRef(0);
40
+ var animatedRef = React.useRef(null);
41
+ var loadingWithDelay = useLoadingWithDelay(loading, 250);
42
+ var _b = __read(React.useState(null), 2), loadingType = _b[0], setLoadingType = _b[1];
43
+ var loadingTypeRef = React.useRef(null);
44
+ loadingTypeRef.current = loadingType;
45
+ var onLoadingTypeChangeRef = React.useRef(onLoadingTypeChange);
46
+ onLoadingTypeChangeRef.current = onLoadingTypeChange;
47
+ var isScrollable = useElementScrollState(contentRef).isScrollable;
48
+ var transit = useTransform(animatedRef);
49
+ var transitRef = React.useRef(transit);
50
+ transitRef.current = transit;
51
+ var reset = React.useCallback(function () {
52
+ startOffsetRef.current = 0;
53
+ }, []);
54
+ var handlers = useBounceSwipe({
55
+ axis: "vertical",
56
+ contentRef: contentRef,
57
+ animatedRef: animatedRef,
58
+ onStart: function (_a) {
59
+ var _b = __read(_a.delta, 2), y = _b[1];
60
+ startOffsetRef.current = y;
61
+ },
62
+ onEnd: function (_a) {
63
+ var delta = _a.delta, direction = _a.direction, boundary = _a.boundary;
64
+ if (loadingWithDelay) {
65
+ if (boundary !== "upper") {
66
+ transit.to({
67
+ y: PULL_DOWN_REFRESH_THRESHOLD,
68
+ });
69
+ }
70
+ }
71
+ else {
72
+ if (Math.abs(startOffsetRef.current - delta[1]) >= PULL_DOWN_REFRESH_THRESHOLD) {
73
+ var scrollable = isScrollable("vertical");
74
+ if (boundary === "upper" || (!scrollable && direction === Direction.DOWN)) {
75
+ setLoadingType("refresh");
76
+ onPullDownRefresh === null || onPullDownRefresh === void 0 ? void 0 : onPullDownRefresh();
77
+ }
78
+ else {
79
+ setLoadingType("loading");
80
+ onPullUpLoading === null || onPullUpLoading === void 0 ? void 0 : onPullUpLoading();
81
+ }
82
+ }
83
+ }
84
+ reset();
85
+ },
86
+ onCancel: reset,
87
+ });
88
+ React.useEffect(function () {
89
+ if (loadingWithDelay) {
90
+ if (loadingTypeRef.current === "refresh") {
91
+ transitRef.current.to({
92
+ y: PULL_DOWN_REFRESH_THRESHOLD,
93
+ immediate: false,
94
+ });
95
+ }
96
+ }
97
+ else {
98
+ transitRef.current.clear();
99
+ setLoadingType(null);
100
+ }
101
+ }, [loadingWithDelay]);
102
+ React.useEffect(function () {
103
+ var _a;
104
+ (_a = onLoadingTypeChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onLoadingTypeChangeRef, loadingType);
105
+ }, [loadingType]);
106
+ return (React.createElement("div", __assign({ className: "g-flat-list-wrapper".concat(className ? " ".concat(className) : ""), style: style }, (bounceEffect ? handlers : {})),
107
+ React.createElement("div", { className: "inner-container".concat(innerClassName ? " ".concat(innerClassName) : ""), style: innerStyle, ref: animatedRef },
108
+ React.createElement(Loading, { loading: loadingWithDelay && loadingType === "refresh", message: pullDownRefreshMessage }),
109
+ children)));
110
+ };
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/Wrapper/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ .g-flat-list-wrapper {
2
+ flex: 1;
3
+ overflow: hidden;
4
+ position: relative;
5
+ display: flex;
6
+ flex-flow: column;
7
+ will-change: contents;
8
+
9
+ .inner-container {
10
+ flex: 1;
11
+ transition: all 300ms cubic-bezier(0, 0.61, 0.28, 1.22);
12
+ max-height: 100%;
13
+ }
14
+
15
+ .g-flat-list-loading {
16
+ width: 100%;
17
+ padding: 8px;
18
+ display: flex;
19
+ justify-content: center;
20
+ align-items: center;
21
+ position: fixed;
22
+ left: 0;
23
+ min-height: 50px;
24
+ will-change: transform;
25
+ transform: translateY(-100%);
26
+ z-index: 2;
27
+ }
28
+ }
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import type { SwipeHookResult, SwipeState } from "../../../../hooks/useSwipe";
3
+ export declare type Boundary = "upper" | "lower" | null;
4
+ interface BounceSwipeState extends SwipeState {
5
+ boundary: Boundary;
6
+ }
7
+ export declare type BounceSwipeHandler = (state: BounceSwipeState) => void;
8
+ declare type BounceSwipeHookResult = SwipeHookResult;
9
+ interface BounceSwipeHandlers {
10
+ onMove?: BounceSwipeHandler;
11
+ onStart?: BounceSwipeHandler;
12
+ onEnd?: BounceSwipeHandler;
13
+ onCancel?: BounceSwipeHandler;
14
+ }
15
+ interface BounceSwipeOption extends BounceSwipeHandlers {
16
+ axis: "vertical" | "horizontal";
17
+ contentRef: React.RefObject<HTMLElement>;
18
+ animatedRef: React.RefObject<HTMLElement>;
19
+ baseOffset?: number;
20
+ }
21
+ export declare const useBounceSwipe: (options: BounceSwipeOption) => BounceSwipeHookResult;
22
+ export {};