@pinnacle0/web-ui 0.3.18-beta0 → 0.3.18
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/index.d.ts +3 -26
- package/core/FlatList/VirtualFlatList/index.js +29 -28
- package/core/FlatList/VirtualFlatList/index.js.map +1 -1
- package/core/FlatList/VirtualFlatList/type.d.ts +8 -3
- package/core/FlatList/index.js +5 -6
- package/core/FlatList/index.js.map +1 -1
- package/core/FlatList/shared/Wrapper/index.d.ts +3 -2
- package/core/FlatList/shared/Wrapper/index.js +4 -4
- package/core/FlatList/shared/Wrapper/index.js.map +1 -1
- package/core/FlatList/shared/Wrapper/index.less +7 -2
- package/package.json +1 -1
- package/util/PromptUtil/index.js +4 -2
- package/util/PromptUtil/index.js.map +1 -1
|
@@ -1,30 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { ItemRenderer } from "./type";
|
|
1
|
+
/// <reference types="react" />
|
|
3
2
|
import "./index.less";
|
|
4
|
-
|
|
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
|
-
}
|
|
3
|
+
import type { VirtualFlatListProps } from "./type";
|
|
27
4
|
/**
|
|
28
5
|
* 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
6
|
*/
|
|
30
|
-
export declare
|
|
7
|
+
export declare const VirtualFlatList: <T>(props: VirtualFlatListProps<T>) => JSX.Element;
|
|
@@ -24,19 +24,39 @@ 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 classNames from "classnames";
|
|
27
28
|
import { defaultRangeExtractor, useVirtual } from "react-virtual";
|
|
28
|
-
import { Item } from "./Item";
|
|
29
29
|
import { Wrapper } from "../shared/Wrapper";
|
|
30
|
+
import { Item } from "./Item";
|
|
30
31
|
import "./index.less";
|
|
31
32
|
/**
|
|
32
33
|
* 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
|
*/
|
|
34
|
-
export function
|
|
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,
|
|
36
|
-
var
|
|
35
|
+
export var VirtualFlatList = function (props) {
|
|
36
|
+
var data = props.data, renderItem = props.renderItem, _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, emptyPlaceholder = props.emptyPlaceholder, contentStyle = props.contentStyle, gap = props.gap, _c = props.autoLoad, autoLoad = _c === void 0 ? true : _c, _d = props.overscan, overscan = _d === void 0 ? 3 : _d, estimateSize = props.estimateSize, listRef = props.listRef, pullUpLoadingMessage = props.pullUpLoadingMessage, endOfListMessage = props.endOfListMessage, pullDownRefreshMessage = props.pullDownRefreshMessage;
|
|
37
|
+
var listWrapperRef = React.useRef(null);
|
|
37
38
|
var _e = __read(React.useState(null), 2), loadingType = _e[0], setLoadingType = _e[1];
|
|
38
39
|
var currentRangeRef = React.useRef();
|
|
39
40
|
var previousRangeRef = React.useRef();
|
|
41
|
+
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]);
|
|
42
|
+
var rangeExtractor = React.useCallback(function (range) {
|
|
43
|
+
var _a;
|
|
44
|
+
previousRangeRef.current = (_a = currentRangeRef.current) !== null && _a !== void 0 ? _a : range;
|
|
45
|
+
currentRangeRef.current = range;
|
|
46
|
+
return defaultRangeExtractor(range);
|
|
47
|
+
}, []);
|
|
48
|
+
var rowVirtualizer = useVirtual({
|
|
49
|
+
size: listData.length,
|
|
50
|
+
parentRef: listWrapperRef,
|
|
51
|
+
overscan: overscan,
|
|
52
|
+
estimateSize: estimateSize,
|
|
53
|
+
rangeExtractor: rangeExtractor,
|
|
54
|
+
});
|
|
55
|
+
var rowVirtualizerRef = React.useRef(rowVirtualizer);
|
|
56
|
+
rowVirtualizerRef.current = rowVirtualizer;
|
|
57
|
+
React.useImperativeHandle(listRef, function () { return ({
|
|
58
|
+
measure: rowVirtualizer.measure,
|
|
59
|
+
}); });
|
|
40
60
|
// the reason why onScroll event is used to simulate auto loading instead of rangeExtractor is rangeExtractor return a wrong range when on mount
|
|
41
61
|
var onAutoLoad = function () {
|
|
42
62
|
var previousRange = previousRangeRef.current;
|
|
@@ -52,29 +72,10 @@ export function VirtualFlatList(props) {
|
|
|
52
72
|
onPullUpLoading();
|
|
53
73
|
}
|
|
54
74
|
};
|
|
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
75
|
// TODO/Alvis loading more when item can not fill the whole viewport
|
|
74
|
-
return (React.createElement(Wrapper, { bounceEffect: bounceEffect,
|
|
75
|
-
React.createElement("div", { className: "list", style: {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
76
|
+
return (React.createElement(Wrapper, { className: classNames("g-virtual-flat-list", className), bounceEffect: bounceEffect, listWrapperRef: listWrapperRef, loading: loading, innerStyle: contentStyle, style: style, onPullDownRefresh: onPullDownRefresh, onPullUpLoading: onPullUpLoading, pullDownRefreshMessage: pullDownRefreshMessage, onScroll: onAutoLoad, onLoadingTypeChange: setLoadingType }, data.length === 0 ? (emptyPlaceholder) : (React.createElement("div", { className: "list", style: { height: rowVirtualizer.totalSize } }, rowVirtualizer.virtualItems.map(function (virtualItem) {
|
|
77
|
+
return (React.createElement("div", { key: virtualItem.index, className: "g-virtual-flat-list-item-wrapper", style: { transform: "translateY(".concat(virtualItem.start, "px)") }, ref: virtualItem.measureRef },
|
|
78
|
+
React.createElement(Item, { data: listData, index: virtualItem.index, itemRenderer: renderItem, measure: virtualItem.measureRef, gap: gap })));
|
|
79
|
+
})))));
|
|
80
|
+
};
|
|
80
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/FlatList/VirtualFlatList/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/FlatList/VirtualFlatList/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import type React from "react";
|
|
2
|
-
import type { FlatListItemProps } from "../type";
|
|
2
|
+
import type { FlatListItemProps, FlatListProps } from "../type";
|
|
3
3
|
export declare type Measure = (node: HTMLElement | null) => void;
|
|
4
|
-
export interface
|
|
4
|
+
export interface VirtualFlatListHandle {
|
|
5
|
+
measure: () => void;
|
|
6
|
+
}
|
|
7
|
+
export interface VirtualFlatListProps<T> extends Omit<FlatListProps<T>, "renderItem"> {
|
|
8
|
+
renderItem: ItemRenderer<T>;
|
|
9
|
+
estimateSize?: (index: number) => number;
|
|
5
10
|
overscan?: number;
|
|
6
11
|
gap?: {
|
|
7
12
|
top?: number;
|
|
@@ -9,7 +14,7 @@ export interface VirtualFlatListProps<T> extends FlatListItemProps<T> {
|
|
|
9
14
|
left?: number;
|
|
10
15
|
right?: number;
|
|
11
16
|
};
|
|
12
|
-
|
|
17
|
+
listRef?: React.RefObject<VirtualFlatListHandle>;
|
|
13
18
|
}
|
|
14
19
|
export interface VirtualFlatListItemProps<T> extends FlatListItemProps<T> {
|
|
15
20
|
measure: Measure;
|
package/core/FlatList/index.js
CHANGED
|
@@ -22,12 +22,11 @@ export var FlatList = function (props) {
|
|
|
22
22
|
var data = props.data, ItemRenderer = props.renderItem,
|
|
23
23
|
// TODO/Alvis add auto load to flat list
|
|
24
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
|
|
25
|
+
var listWrapperRef = React.useRef(null);
|
|
26
26
|
var _c = __read(React.useState(null), 2), loadingType = _c[0], setLoadingType = _c[1];
|
|
27
|
-
return (React.createElement(Wrapper, {
|
|
28
|
-
data.map(function (d, i) {
|
|
29
|
-
|
|
30
|
-
})
|
|
31
|
-
React.createElement(Footer, { loading: loading && loadingType === "loading", ended: !onPullUpLoading, endMessage: endOfListMessage, loadingMessage: pullUpLoadingMessage })))));
|
|
27
|
+
return (React.createElement(Wrapper, { listWrapperRef: listWrapperRef, 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" },
|
|
28
|
+
data.map(function (d, i) { return (React.createElement("div", { className: "g-flat-list-item" },
|
|
29
|
+
React.createElement(ItemRenderer, { data: d, index: i }))); }),
|
|
30
|
+
bounceEffect && React.createElement(Footer, { loading: loading && loadingType === "loading", ended: !onPullUpLoading, endMessage: endOfListMessage, loadingMessage: pullUpLoadingMessage })))));
|
|
32
31
|
};
|
|
33
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +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,
|
|
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,cAAc,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpD,IAAA,KAAA,OAAgC,KAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,IAAA,EAAhE,WAAW,QAAA,EAAE,cAAc,QAAqC,CAAC;IAExE,OAAO,CACH,oBAAC,OAAO,IACJ,cAAc,EAAE,cAAc,EAC9B,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;QAChB,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAChB,6BAAK,SAAS,EAAC,kBAAkB;YAC7B,oBAAC,YAAY,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CACjC,CACT,EAJmB,CAInB,CAAC;QACD,YAAY,IAAI,oBAAC,MAAM,IAAC,OAAO,EAAE,OAAO,IAAI,WAAW,KAAK,SAAS,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,GAAI,CACrK,CACT,CACK,CACb,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -3,10 +3,11 @@ import type { FlatListProps, LoadingType } from "../../type";
|
|
|
3
3
|
import "./index.less";
|
|
4
4
|
interface Props<T> extends Pick<FlatListProps<T>, "loading" | "bounceEffect" | "onPullUpLoading" | "onPullDownRefresh" | "className" | "style" | "pullDownRefreshMessage"> {
|
|
5
5
|
children: React.ReactNode;
|
|
6
|
-
|
|
7
|
-
onLoadingTypeChange?: (type: LoadingType) => void;
|
|
6
|
+
listWrapperRef: React.RefObject<HTMLDivElement>;
|
|
8
7
|
innerClassName?: string;
|
|
9
8
|
innerStyle?: React.CSSProperties;
|
|
9
|
+
onScroll?: (event: React.UIEvent) => void;
|
|
10
|
+
onLoadingTypeChange?: (type: LoadingType) => void;
|
|
10
11
|
}
|
|
11
12
|
export declare const Wrapper: <T>(props: Props<T>) => JSX.Element;
|
|
12
13
|
export {};
|
|
@@ -35,7 +35,7 @@ import { Loading } from "./Loading";
|
|
|
35
35
|
import { useLoadingWithDelay } from "../hooks/useLoadingWithDelay";
|
|
36
36
|
import "./index.less";
|
|
37
37
|
export var Wrapper = function (props) {
|
|
38
|
-
var children = props.children, bounceEffect = props.bounceEffect, _a = props.loading, loading = _a === void 0 ? false : _a,
|
|
38
|
+
var children = props.children, bounceEffect = props.bounceEffect, _a = props.loading, loading = _a === void 0 ? false : _a, listWrapperRef = props.listWrapperRef, onPullDownRefresh = props.onPullDownRefresh, onPullUpLoading = props.onPullUpLoading, className = props.className, innerClassName = props.innerClassName, style = props.style, innerStyle = props.innerStyle, pullDownRefreshMessage = props.pullDownRefreshMessage, onScroll = props.onScroll, onLoadingTypeChange = props.onLoadingTypeChange;
|
|
39
39
|
var startOffsetRef = React.useRef(0);
|
|
40
40
|
var animatedRef = React.useRef(null);
|
|
41
41
|
var loadingWithDelay = useLoadingWithDelay(loading, 250);
|
|
@@ -44,7 +44,7 @@ export var Wrapper = function (props) {
|
|
|
44
44
|
loadingTypeRef.current = loadingType;
|
|
45
45
|
var onLoadingTypeChangeRef = React.useRef(onLoadingTypeChange);
|
|
46
46
|
onLoadingTypeChangeRef.current = onLoadingTypeChange;
|
|
47
|
-
var isScrollable = useElementScrollState(
|
|
47
|
+
var isScrollable = useElementScrollState(listWrapperRef).isScrollable;
|
|
48
48
|
var transit = useTransform(animatedRef);
|
|
49
49
|
var transitRef = React.useRef(transit);
|
|
50
50
|
transitRef.current = transit;
|
|
@@ -53,7 +53,7 @@ export var Wrapper = function (props) {
|
|
|
53
53
|
}, []);
|
|
54
54
|
var handlers = useBounceSwipe({
|
|
55
55
|
axis: "vertical",
|
|
56
|
-
contentRef:
|
|
56
|
+
contentRef: listWrapperRef,
|
|
57
57
|
animatedRef: animatedRef,
|
|
58
58
|
onStart: function (_a) {
|
|
59
59
|
var _b = __read(_a.delta, 2), y = _b[1];
|
|
@@ -106,6 +106,6 @@ export var Wrapper = function (props) {
|
|
|
106
106
|
return (React.createElement("div", __assign({ className: "g-flat-list-wrapper".concat(className ? " ".concat(className) : ""), style: style }, (bounceEffect ? handlers : {})),
|
|
107
107
|
React.createElement("div", { className: "inner-container".concat(innerClassName ? " ".concat(innerClassName) : ""), style: innerStyle, ref: animatedRef },
|
|
108
108
|
React.createElement(Loading, { loading: loadingWithDelay && loadingType === "refresh", message: pullDownRefreshMessage }),
|
|
109
|
-
children)));
|
|
109
|
+
React.createElement("div", { className: "list-wrapper", ref: listWrapperRef, onScroll: onScroll }, children))));
|
|
110
110
|
};
|
|
111
111
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/Wrapper/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAC,2BAA2B,EAAC,MAAM,YAAY,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/Wrapper/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
position: relative;
|
|
5
5
|
display: flex;
|
|
6
6
|
flex-flow: column;
|
|
7
|
-
will-change: contents;
|
|
8
7
|
|
|
9
8
|
.inner-container {
|
|
10
9
|
flex: 1;
|
|
11
10
|
transition: all 300ms cubic-bezier(0, 0.61, 0.28, 1.22);
|
|
12
11
|
max-height: 100%;
|
|
12
|
+
will-change: transform;
|
|
13
|
+
|
|
14
|
+
.list-wrapper {
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
overflow: auto;
|
|
18
|
+
}
|
|
13
19
|
}
|
|
14
20
|
|
|
15
21
|
.g-flat-list-loading {
|
|
@@ -23,6 +29,5 @@
|
|
|
23
29
|
min-height: 50px;
|
|
24
30
|
will-change: transform;
|
|
25
31
|
transform: translateY(-100%);
|
|
26
|
-
z-index: 2;
|
|
27
32
|
}
|
|
28
33
|
}
|
package/package.json
CHANGED
package/util/PromptUtil/index.js
CHANGED
|
@@ -9,16 +9,18 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
import React from "react";
|
|
12
13
|
import { ModalUtil } from "../ModalUtil";
|
|
13
14
|
import { PromptBody } from "./PromptBody";
|
|
14
|
-
import
|
|
15
|
+
import { i18n } from "../../internal/i18n/util";
|
|
15
16
|
function createAsync(config) {
|
|
17
|
+
var t = i18n();
|
|
16
18
|
return new Promise(function (resolve) {
|
|
17
19
|
var ref = React.createRef();
|
|
18
20
|
ModalUtil.createSync({
|
|
19
21
|
title: config.title,
|
|
20
22
|
body: React.createElement(PromptBody, __assign({}, config, { ref: ref })),
|
|
21
|
-
okText: config.okText,
|
|
23
|
+
okText: config.okText || t.defaultConfirm,
|
|
22
24
|
onOk: function () {
|
|
23
25
|
return new Promise(function (closeModal, keepModal) {
|
|
24
26
|
if (ref.current) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/PromptUtil/index.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/PromptUtil/index.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAgB9C,SAAS,WAAW,CAAC,MAAoB;IACrC,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,OAAO,IAAI,OAAO,CAAe,UAAA,OAAO;QACpC,IAAM,GAAG,GAAgC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC3D,SAAS,CAAC,UAAU,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,oBAAC,UAAU,eAAK,MAAM,IAAE,GAAG,EAAE,GAAG,IAAI;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,cAAc;YACzC,IAAI,EAAE;gBACF,OAAA,IAAI,OAAO,CAAO,UAAC,UAAU,EAAE,SAAS;oBACpC,IAAI,GAAG,CAAC,OAAO,EAAE;wBACb,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,UAAA,MAAM;4BAClC,IAAI,MAAM,EAAE;gCACR,UAAU,EAAE,CAAC;gCACb,OAAO,CAAC,MAAM,CAAC,CAAC;6BACnB;iCAAM;gCACH,SAAS,EAAE,CAAC;6BACf;wBACL,CAAC,CAAC,CAAC;qBACN;gBACL,CAAC,CAAC;YAXF,CAWE;YACN,QAAQ,EAAE,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,EAAb,CAAa;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG;YAC1B,eAAe,EAAE,IAAI;SACxB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,WAAW,aAAA;CACd,CAAC,CAAC"}
|