@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.
@@ -1,30 +1,7 @@
1
- import React from "react";
2
- import type { ItemRenderer } from "./type";
1
+ /// <reference types="react" />
3
2
  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
- }
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 function VirtualFlatList<T>(props: Props<T>): JSX.Element;
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 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);
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, 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
- }
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":"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"}
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 VirtualFlatListProps<T> extends FlatListItemProps<T> {
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
- renderItem: ItemRenderer<T>;
17
+ listRef?: React.RefObject<VirtualFlatListHandle>;
13
18
  }
14
19
  export interface VirtualFlatListItemProps<T> extends FlatListItemProps<T> {
15
20
  measure: Measure;
@@ -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 contentRef = React.useRef(null);
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, { 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 })))));
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,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"}
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
- contentRef: React.MutableRefObject<HTMLElement | null>;
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, 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;
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(contentRef).isScrollable;
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: 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":"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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinnacle0/web-ui",
3
- "version": "0.3.18-beta0",
3
+ "version": "0.3.18",
4
4
  "author": "Pinnacle",
5
5
  "license": "MIT",
6
6
  "sideEffects": [
@@ -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 React from "react";
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,KAAK,MAAM,OAAO,CAAC;AAgB1B,SAAS,WAAW,CAAC,MAAoB;IACrC,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;YACrB,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"}
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"}