@pinnacle0/web-ui 0.4.10-beta.2 → 0.4.10

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 (78) hide show
  1. package/admin/AdminApp/Navigator.js +12 -10
  2. package/admin/AdminApp/Navigator.js.map +1 -1
  3. package/admin/AdminApp/RouteSwitch.js +1 -1
  4. package/admin/AdminApp/RouteSwitch.js.map +1 -1
  5. package/core/FlatList/VirtualFlatList/Item.d.ts +11 -0
  6. package/core/FlatList/VirtualFlatList/Item.js +20 -0
  7. package/core/FlatList/VirtualFlatList/Item.js.map +1 -0
  8. package/core/FlatList/VirtualFlatList/index.d.ts +8 -0
  9. package/core/FlatList/VirtualFlatList/index.js +111 -0
  10. package/core/FlatList/VirtualFlatList/index.js.map +1 -0
  11. package/core/FlatList/VirtualFlatList/index.less +22 -0
  12. package/core/FlatList/VirtualFlatList/type.d.ts +20 -0
  13. package/core/FlatList/VirtualFlatList/type.js +2 -0
  14. package/core/FlatList/VirtualFlatList/type.js.map +1 -0
  15. package/core/FlatList/index.d.ts +1 -3
  16. package/core/FlatList/index.js +27 -76
  17. package/core/FlatList/index.js.map +1 -1
  18. package/core/FlatList/shared/Footer/index.d.ts +8 -0
  19. package/core/FlatList/shared/Footer/index.js +13 -0
  20. package/core/FlatList/shared/Footer/index.js.map +1 -0
  21. package/core/FlatList/{Content → shared}/Footer/index.less +3 -2
  22. package/core/FlatList/shared/GetRowKey.d.ts +2 -0
  23. package/core/FlatList/shared/GetRowKey.js +12 -0
  24. package/core/FlatList/shared/GetRowKey.js.map +1 -0
  25. package/core/FlatList/{Refresh → shared/Spinner}/index.d.ts +1 -1
  26. package/core/FlatList/shared/Spinner/index.js +10 -0
  27. package/core/FlatList/shared/Spinner/index.js.map +1 -0
  28. package/core/FlatList/shared/Spinner/index.less +13 -0
  29. package/core/FlatList/shared/Wrapper/Loading.d.ts +8 -0
  30. package/core/FlatList/shared/Wrapper/Loading.js +7 -0
  31. package/core/FlatList/shared/Wrapper/Loading.js.map +1 -0
  32. package/core/FlatList/shared/Wrapper/index.d.ts +14 -0
  33. package/core/FlatList/shared/Wrapper/index.js +109 -0
  34. package/core/FlatList/shared/Wrapper/index.js.map +1 -0
  35. package/core/FlatList/shared/Wrapper/index.less +33 -0
  36. package/core/FlatList/shared/hooks/useBounceSwipe.d.ts +22 -0
  37. package/core/FlatList/shared/hooks/useBounceSwipe.js +111 -0
  38. package/core/FlatList/shared/hooks/useBounceSwipe.js.map +1 -0
  39. package/core/FlatList/shared/hooks/useElementScrollState.d.ts +8 -0
  40. package/core/FlatList/shared/hooks/useElementScrollState.js +38 -0
  41. package/core/FlatList/shared/hooks/useElementScrollState.js.map +1 -0
  42. package/core/FlatList/shared/hooks/useLoadingWithDelay.d.ts +9 -0
  43. package/core/FlatList/shared/hooks/useLoadingWithDelay.js +52 -0
  44. package/core/FlatList/shared/hooks/useLoadingWithDelay.js.map +1 -0
  45. package/core/FlatList/type.d.ts +37 -69
  46. package/core/FlatList/type.js +1 -1
  47. package/core/FlatList/type.js.map +1 -1
  48. package/core/VirtualList.d.ts +2 -5
  49. package/core/VirtualList.js +7 -8
  50. package/core/VirtualList.js.map +1 -1
  51. package/hooks/useSwipe/controller.js +0 -1
  52. package/hooks/useSwipe/controller.js.map +1 -1
  53. package/hooks/useSwipe/type.d.ts +0 -1
  54. package/hooks/useSwipe/type.js.map +1 -1
  55. package/package.json +4 -6
  56. package/core/FlatList/Content/Footer/index.d.ts +0 -10
  57. package/core/FlatList/Content/Footer/index.js +0 -11
  58. package/core/FlatList/Content/Footer/index.js.map +0 -1
  59. package/core/FlatList/Content/index.d.ts +0 -9
  60. package/core/FlatList/Content/index.js +0 -71
  61. package/core/FlatList/Content/index.js.map +0 -1
  62. package/core/FlatList/Loader/index.d.ts +0 -3
  63. package/core/FlatList/Loader/index.js +0 -9
  64. package/core/FlatList/Loader/index.js.map +0 -1
  65. package/core/FlatList/Loader/index.less +0 -39
  66. package/core/FlatList/Refresh/index.js +0 -8
  67. package/core/FlatList/Refresh/index.js.map +0 -1
  68. package/core/FlatList/Refresh/index.less +0 -22
  69. package/core/FlatList/index.less +0 -38
  70. package/core/FlatList/useGap.d.ts +0 -2
  71. package/core/FlatList/useGap.js +0 -12
  72. package/core/FlatList/useGap.js.map +0 -1
  73. package/core/FlatList/util.d.ts +0 -8
  74. package/core/FlatList/util.js +0 -35
  75. package/core/FlatList/util.js.map +0 -1
  76. package/internal/polyfill/IntersectionObserver.d.ts +0 -1
  77. package/internal/polyfill/IntersectionObserver.js +0 -5
  78. package/internal/polyfill/IntersectionObserver.js.map +0 -1
@@ -30,11 +30,12 @@ import { AdminAppContext } from "./context";
30
30
  import { i18n } from "../../internal/i18n/admin";
31
31
  import { Spin } from "../../core/Spin";
32
32
  import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
33
- import { useDidMountEffect } from "../../hooks";
34
33
  export function Navigator(_a) {
35
34
  var permissions = _a.permissions, superAdminPermission = _a.superAdminPermission, navigationGroups = _a.navigationGroups;
36
35
  var _b = __read(React.useState([]), 2), tabs = _b[0], setTabs = _b[1];
37
36
  var location = useLocation();
37
+ var locationRef = React.useRef(location);
38
+ locationRef.current = location;
38
39
  var history = useHistory();
39
40
  var t = i18n();
40
41
  var context = React.useContext(AdminAppContext);
@@ -87,18 +88,19 @@ export function Navigator(_a) {
87
88
  history.push("/");
88
89
  }
89
90
  };
90
- useDidMountEffect(function () {
91
- // Register context
91
+ React.useEffect(function () {
92
92
  context.registerTitleUpdater(function (title) {
93
- var url = location.pathname;
94
- var index = computeIndexByURL(url, tabs);
95
- if (index >= 0) {
93
+ setTabs(function (tabs) {
94
+ var url = locationRef.current.pathname;
95
+ var index = computeIndexByURL(url, tabs);
96
96
  var newTabs = __spreadArray([], __read(tabs), false);
97
- newTabs[index].customTitle = title;
98
- setTabs(newTabs);
99
- }
97
+ if (index >= 0) {
98
+ newTabs[index].customTitle = title;
99
+ }
100
+ return newTabs;
101
+ });
100
102
  });
101
- });
103
+ }, [computeIndexByURL, context]);
102
104
  React.useEffect(function () {
103
105
  setTabs(function (tabs) {
104
106
  var newTabs = __spreadArray([], __read(tabs), false);
@@ -1 +1 @@
1
- {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ var RouteSwitch = /** @class */ (function (_super) {
43
43
  return (React.createElement(AdminPage, null,
44
44
  React.createElement(AdminPage.Result, { type: "success", title: TextUtil.interpolate(t.welcome, name), subtitle: t.homePageSubtitle, hideButton: true })));
45
45
  };
46
- var enabledNavigationGroups = AdminNavigationUtil.groups(props.navigationGroups, props.permissions, props.superAdminPermission, false);
46
+ var enabledNavigationGroups = AdminNavigationUtil.groups(props.navigationGroups, props.permissions, props.superAdminPermission, true);
47
47
  _this.navigationModules = AdminNavigationUtil.modules(enabledNavigationGroups);
48
48
  return _this;
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAW1C;IAAiD,+BAA0C;IAOvF,qBAAY,KAA4B;QAAxC,YACI,kBAAM,KAAK,CAAC,SAGf;QAED,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,OAAO,KAAhB,CAAiB;YAC5B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CACH,oBAAC,SAAS;gBACN,oBAAC,SAAS,CAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,SAAG,CAClH,CACf,CAAC;QACN,CAAC,CAAC;QAZE,IAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACzI,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;;IAClF,CAAC;IAYD,4BAAM,GAAN;QACU,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,gBAAgB,sBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAc,CAAC;QACpE,OAAO,CACH,oBAAC,MAAM;YACH,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,gBAAgB,IAAI,IAAI,CAAC,aAAa,GAAI;YAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAgD;oBAA/C,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAiB,cAAc,mBAAA;gBAAM,OAAA,CAC9E,oBAAC,KAAK,IACF,KAAK,QACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,UAAC,KAAU,IAAK,OAAA,CACvB,oBAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB;wBACjD,oBAAC,cAAc,eAAK,KAAK,EAAI,CACb,CACvB,EAJ0B,CAI1B,GACH,CACL;YAXiF,CAWjF,CAAC;YACF,oBAAC,KAAK,IAAC,SAAS,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EAApC,CAAoC,GAAI,CAC3D,CACZ,CAAC;IACN,CAAC;IA1CM,uBAAW,GAAG,aAAa,CAAC;IAC5B,uBAAW,GAAG,eAAe,CAAC;IA0CzC,kBAAC;CAAA,AA5CD,CAAiD,KAAK,CAAC,aAAa,GA4CnE;SA5CY,WAAW"}
1
+ {"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAW1C;IAAiD,+BAA0C;IAOvF,qBAAY,KAA4B;QAAxC,YACI,kBAAM,KAAK,CAAC,SAGf;QAED,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,OAAO,KAAhB,CAAiB;YAC5B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CACH,oBAAC,SAAS;gBACN,oBAAC,SAAS,CAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,SAAG,CAClH,CACf,CAAC;QACN,CAAC,CAAC;QAZE,IAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACxI,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;;IAClF,CAAC;IAYD,4BAAM,GAAN;QACU,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,gBAAgB,sBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAc,CAAC;QACpE,OAAO,CACH,oBAAC,MAAM;YACH,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,gBAAgB,IAAI,IAAI,CAAC,aAAa,GAAI;YAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAgD;oBAA/C,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAiB,cAAc,mBAAA;gBAAM,OAAA,CAC9E,oBAAC,KAAK,IACF,KAAK,QACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,UAAC,KAAU,IAAK,OAAA,CACvB,oBAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB;wBACjD,oBAAC,cAAc,eAAK,KAAK,EAAI,CACb,CACvB,EAJ0B,CAI1B,GACH,CACL;YAXiF,CAWjF,CAAC;YACF,oBAAC,KAAK,IAAC,SAAS,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EAApC,CAAoC,GAAI,CAC3D,CACZ,CAAC;IACN,CAAC;IA1CM,uBAAW,GAAG,aAAa,CAAC;IAC5B,uBAAW,GAAG,eAAe,CAAC;IA0CzC,kBAAC;CAAA,AA5CD,CAAiD,KAAK,CAAC,aAAa,GA4CnE;SA5CY,WAAW"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import type { VirtualItem } from "react-virtual";
3
+ import type { ItemRenderer } from "./type";
4
+ import type { Gap } from "../type";
5
+ export interface ListItemProps<T> {
6
+ virtualItem: VirtualItem;
7
+ data: T;
8
+ renderItem: ItemRenderer<T>;
9
+ gap?: Gap;
10
+ }
11
+ export declare const Item: <T>(props: ListItemProps<T>) => JSX.Element;
@@ -0,0 +1,20 @@
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
+ export var Item = function (props) {
14
+ var data = props.data, virtualItem = props.virtualItem, gap = props.gap, ItemRenderer = props.renderItem;
15
+ var padding = React.useMemo(function () { return (gap ? (typeof gap === "number" ? { padding: gap } : { paddingLeft: gap.left, paddingRight: gap.right, paddingBottom: gap.bottom, paddingTop: gap.top }) : {}); }, [gap]);
16
+ return (React.createElement("div", { className: "g-virtual-flat-list-item-wrapper", style: { transform: "translateY(".concat(virtualItem.start, "px)") }, ref: virtualItem.measureRef },
17
+ React.createElement("div", { className: "g-virtual-flat-list-item", style: __assign({}, padding) },
18
+ React.createElement(ItemRenderer, { data: data, index: virtualItem.index, measure: virtualItem.measureRef }))));
19
+ };
20
+ //# 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;AAY1B,MAAM,CAAC,IAAM,IAAI,GAAG,UAAa,KAAuB;IAC7C,IAAA,IAAI,GAAgD,KAAK,KAArD,EAAE,WAAW,GAAmC,KAAK,YAAxC,EAAE,GAAG,GAA8B,KAAK,IAAnC,EAAc,YAAY,GAAI,KAAK,WAAT,CAAU;IAEjE,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CACzB,cAA2B,OAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,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,CAAC,EAAE,CAAC,EAA1J,CAA0J,EACrL,CAAC,GAAG,CAAC,CACR,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAE,EAAC,SAAS,EAAE,qBAAc,WAAW,CAAC,KAAK,QAAK,EAAC,EAAE,GAAG,EAAE,WAAW,CAAC,UAAU;QACnI,6BAAK,SAAS,EAAC,0BAA0B,EAAC,KAAK,eAAM,OAAO;YACxD,oBAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,UAAU,GAAI,CACrF,CACJ,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import "../../../internal/polyfill/ResizeObserver";
3
+ import type { VirtualFlatListProps } from "./type";
4
+ import "./index.less";
5
+ /**
6
+ * 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
7
+ */
8
+ export declare const VirtualFlatList: <T>(props: VirtualFlatListProps<T>) => JSX.Element;
@@ -0,0 +1,111 @@
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 "../../../internal/polyfill/ResizeObserver";
27
+ import React from "react";
28
+ import { defaultRangeExtractor, useVirtual } from "react-virtual";
29
+ import { classNames } from "../../../util/ClassNames";
30
+ import { useLoadingWithDelay } from "../shared/hooks/useLoadingWithDelay";
31
+ import { Wrapper } from "../shared/Wrapper";
32
+ import { Footer } from "../shared/Footer";
33
+ import { GetRowKey } from "../shared/GetRowKey";
34
+ import { Item } from "./Item";
35
+ import "./index.less";
36
+ /**
37
+ * 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
38
+ */
39
+ export var VirtualFlatList = function (props) {
40
+ var data = props.data, renderItem = props.renderItem, rowKey = props.rowKey, loading = props.loading, _a = props.bounceEffect, bounceEffect = _a === void 0 ? true : _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, hideFooter = props.hideFooter, estimateSize = props.estimateSize, listRef = props.listRef, pullUpLoadingMessage = props.pullUpLoadingMessage, endOfListMessage = props.endOfListMessage, pullDownRefreshMessage = props.pullDownRefreshMessage;
41
+ var listWrapperRef = React.useRef(null);
42
+ var _d = __read(React.useState(null), 2), loadingType = _d[0], setLoadingType = _d[1];
43
+ var currentRangeRef = React.useRef();
44
+ var previousRangeRef = React.useRef();
45
+ var loadingWithDelay = useLoadingWithDelay(loading !== null && loading !== void 0 ? loading : false, 300);
46
+ var listData = React.useMemo(function () {
47
+ return hideFooter
48
+ ? data
49
+ : __spreadArray(__spreadArray([], __read(data), false), [
50
+ {
51
+ loading: loadingWithDelay && loadingType === "loading",
52
+ ended: !onPullUpLoading,
53
+ endMessage: endOfListMessage,
54
+ loadingMessage: pullUpLoadingMessage,
55
+ __markedAsFooterData: true,
56
+ },
57
+ ], false);
58
+ }, [loadingWithDelay, loadingType, endOfListMessage, onPullUpLoading, pullUpLoadingMessage, data, hideFooter]);
59
+ var rangeExtractor = React.useCallback(function (range) {
60
+ var _a;
61
+ previousRangeRef.current = (_a = currentRangeRef.current) !== null && _a !== void 0 ? _a : range;
62
+ currentRangeRef.current = range;
63
+ return defaultRangeExtractor(range);
64
+ }, []);
65
+ var rowVirtualizer = useVirtual({
66
+ size: listData.length,
67
+ parentRef: listWrapperRef,
68
+ overscan: overscan,
69
+ estimateSize: estimateSize,
70
+ rangeExtractor: rangeExtractor,
71
+ });
72
+ var rowVirtualizerRef = React.useRef(rowVirtualizer);
73
+ rowVirtualizerRef.current = rowVirtualizer;
74
+ React.useImperativeHandle(listRef, function () { return ({
75
+ measure: rowVirtualizer.measure,
76
+ }); });
77
+ React.useEffect(function () {
78
+ if ((loading === undefined || loading === null) && (onPullDownRefresh || onPullUpLoading)) {
79
+ throw new Error("Loading must be specify when given either onPullDownRefresh or onPullUpLoading");
80
+ }
81
+ }, [onPullDownRefresh, onPullUpLoading, loading]);
82
+ // the reason why onScroll event is used to simulate auto loading instead of rangeExtractor is rangeExtractor return a wrong range when on mount
83
+ var onAutoLoad = function () {
84
+ var previousRange = previousRangeRef.current;
85
+ var currentRange = currentRangeRef.current;
86
+ if (previousRange &&
87
+ currentRange &&
88
+ autoLoad &&
89
+ onPullUpLoading &&
90
+ !loadingWithDelay &&
91
+ // check going downward
92
+ previousRange.end < currentRange.end &&
93
+ currentRange.end > data.length - 2 - (typeof autoLoad === "number" ? autoLoad : 3)) {
94
+ setLoadingType("loading");
95
+ onPullUpLoading();
96
+ }
97
+ };
98
+ // TODO/Alvis loading more when item can not fill the whole viewport
99
+ return (React.createElement(Wrapper, { className: classNames("g-virtual-flat-list", className), bounceEffect: bounceEffect, listWrapperRef: listWrapperRef, loadingType: loadingType, onLoadingTypeChange: setLoadingType, loading: loadingWithDelay, onPullDownRefresh: onPullDownRefresh, onPullUpLoading: onPullUpLoading, innerStyle: contentStyle, style: style, pullDownRefreshMessage: pullDownRefreshMessage, onScroll: onAutoLoad }, data.length === 0 && !loadingWithDelay ? (emptyPlaceholder) : (React.createElement("div", { className: "list", style: { height: rowVirtualizer.totalSize } }, rowVirtualizer.virtualItems.map(function (virtualItem) {
100
+ var _a;
101
+ var data = listData[virtualItem.index];
102
+ if (((_a = listData[virtualItem.index]) === null || _a === void 0 ? void 0 : _a["__markedAsFooterData"]) === true) {
103
+ var _b = data, loading_1 = _b.loading, loadingMessage = _b.loadingMessage, endMessage = _b.endMessage, ended = _b.ended;
104
+ return React.createElement(Footer, { key: virtualItem.index, loading: loading_1, ended: ended, loadingMessage: loadingMessage, endMessage: endMessage, measure: virtualItem.measureRef });
105
+ }
106
+ else {
107
+ return React.createElement(Item, { key: GetRowKey(rowKey, data, virtualItem.index), virtualItem: virtualItem, data: data, gap: gap, renderItem: renderItem });
108
+ }
109
+ })))));
110
+ };
111
+ //# 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,20 @@
1
+ import type React from "react";
2
+ import type { FlatListItemProps, FlatListProps } from "../type";
3
+ export type Measure = (node: HTMLElement | null) => void;
4
+ export interface VirtualFlatListHandle {
5
+ measure: () => void;
6
+ }
7
+ export interface VirtualFlatListProps<T> extends Omit<FlatListProps<T>, "renderItem" | "autoLoad"> {
8
+ renderItem: ItemRenderer<T>;
9
+ /** Automatic load new data when scroll to bottom, a number {X} mean: when to scroll to last {X} items, auto load is going to be triggered */
10
+ autoLoad?: boolean | number;
11
+ /** Must wrap with React.useCallback */
12
+ estimateSize?: (index: number) => number;
13
+ /** The amount of items to load both behind and ahead of the current window range, default = 3 */
14
+ overscan?: number;
15
+ listRef?: React.RefObject<VirtualFlatListHandle>;
16
+ }
17
+ export interface VirtualFlatListItemProps<T> extends FlatListItemProps<T> {
18
+ measure: Measure;
19
+ }
20
+ export 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":""}
@@ -1,5 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import type { FlatListProps } from "./type";
3
- import "./index.less";
4
- export * from "./type";
5
- export declare const FlatList: <T>({ renderItem, data, rowKey, gap, refreshing, loading, onPullDownRefresh, onPullUpLoading, emptyPlaceholder, Refresh, Footer, pullDownMessage, pullUpMessage, endOfListMessage, }: FlatListProps<T>) => JSX.Element;
3
+ export declare const FlatList: <T>(props: FlatListProps<T>) => JSX.Element;
@@ -26,84 +26,35 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  return ar;
27
27
  };
28
28
  import React from "react";
29
- import { Direction } from "../../hooks/useSwipe";
30
- import { useSwipe, useTransform } from "../../hooks";
31
- import { getBounaryFromStartDirection, isExceededBounary, isScrollBottom, isScrollTop } from "./util";
32
- import { Refresh as DefaultRefresh } from "./Refresh";
33
- import { Content } from "./Content";
34
- import "./index.less";
35
- export * from "./type";
36
- var PULL_DOWN_REFRESH_THRESHOLD = 50;
37
- export var FlatList = function (_a) {
38
- var renderItem = _a.renderItem, data = _a.data, rowKey = _a.rowKey, gap = _a.gap, refreshing = _a.refreshing, _b = _a.loading, loading = _b === void 0 ? false : _b, onPullDownRefresh = _a.onPullDownRefresh, onPullUpLoading = _a.onPullUpLoading, emptyPlaceholder = _a.emptyPlaceholder, Refresh = _a.Refresh, Footer = _a.Footer, pullDownMessage = _a.pullDownMessage, pullUpMessage = _a.pullUpMessage, endOfListMessage = _a.endOfListMessage;
39
- var scrollRef = React.useRef(null);
40
- var animtedRef = React.useRef(null);
41
- var refreshHeight = React.useRef(0);
42
- var previousBoundary = React.useRef(null);
43
- var _c = __read(React.useState(null), 2), startDelta = _c[0], setStartDelta = _c[1];
44
- var transit = useTransform(animtedRef, {
45
- timingFunction: "cubic-bezier(0, 0.89, 0.26, 1.02)",
46
- duration: 800,
47
- });
48
- var transitRef = React.useRef(transit);
49
- transitRef.current = transit;
50
- var threshold = function (_a) {
51
- var direction = _a.direction;
52
- var element = scrollRef.current;
53
- if (!element)
54
- return false;
55
- if (direction === Direction.DOWN && isScrollTop(element)) {
56
- return true;
57
- }
58
- else if (direction === Direction.UP && isScrollBottom(element)) {
59
- return true;
60
- }
61
- return false;
62
- };
63
- var clear = function () {
64
- transit.clear();
65
- setStartDelta(null);
66
- };
67
- var bind = useSwipe({
68
- onStart: function (_a) {
69
- var _b = __read(_a.delta, 2), y = _b[1], direction = _a.direction;
70
- setStartDelta(y);
71
- previousBoundary.current = getBounaryFromStartDirection(direction);
72
- },
73
- onMove: function (_a) {
74
- var _b = __read(_a.delta, 2), y = _b[1], cancel = _a.cancel;
75
- if (!startDelta || !previousBoundary.current)
76
- return;
77
- var transform = y - startDelta;
78
- transit.to({ y: transform, immediate: true });
79
- isExceededBounary(transform, previousBoundary.current) && cancel();
80
- },
81
- onEnd: function (_a) {
82
- var _b = __read(_a.delta, 2), y = _b[1];
83
- if (!startDelta)
84
- return;
85
- if (previousBoundary.current === "top" && onPullDownRefresh && y - startDelta >= PULL_DOWN_REFRESH_THRESHOLD && !refreshing) {
86
- onPullDownRefresh();
87
- }
88
- clear();
89
- },
90
- onCancel: clear,
91
- }, { threshold: threshold, preventDefault: true, stopPropagation: true });
92
- var onScroll = function () { return transit.clear(); };
93
- var updateRefreshHeight = function (node) { return node && (refreshHeight.current = node.getBoundingClientRect().height); };
29
+ import { Wrapper } from "./shared/Wrapper";
30
+ import { Footer } from "./shared/Footer";
31
+ import { useLoadingWithDelay } from "./shared/hooks/useLoadingWithDelay";
32
+ import { classNames } from "../../util/ClassNames";
33
+ import { GetRowKey } from "./shared/GetRowKey";
34
+ export var FlatList = function (props) {
35
+ var data = props.data, ItemRenderer = props.renderItem, rowKey = props.rowKey, loading = props.loading, _a = props.bounceEffect, bounceEffect = _a === void 0 ? true : _a, className = props.className, style = props.style, gap = props.gap, onPullDownRefresh = props.onPullDownRefresh, onPullUpLoading = props.onPullUpLoading, contentStyle = props.contentStyle, emptyPlaceholder = props.emptyPlaceholder, pullDownRefreshingMessage = props.pullDownRefreshingMessage, pullUpLoadMoreMessage = props.pullUpLoadMoreMessage, pullDownRefreshMessage = props.pullDownRefreshMessage, pullUpLoadingMessage = props.pullUpLoadingMessage, endOfListMessage = props.endOfListMessage, hideFooter = props.hideFooter;
36
+ var listWrapperRef = React.useRef(null);
37
+ var _b = __read(React.useState(null), 2), loadingType = _b[0], setLoadingType = _b[1];
38
+ var loadingWithDelay = useLoadingWithDelay(loading !== null && loading !== void 0 ? loading : false, 250);
94
39
  React.useEffect(function () {
95
- if (refreshing && previousBoundary.current === "top") {
96
- previousBoundary.current === null;
97
- transitRef.current.to({ y: refreshHeight.current });
40
+ if ((loading === undefined || loading === null) && (onPullDownRefresh || onPullUpLoading)) {
41
+ throw new Error("Loading must be specify when given either onPullDownRefresh or onPullUpLoading");
98
42
  }
99
- else {
100
- transitRef.current.clear();
43
+ }, [onPullDownRefresh, onPullUpLoading, loading]);
44
+ // Automatically loading new data when scroll near the bottom
45
+ var onScroll = function (e) {
46
+ if (!loadingWithDelay && onPullUpLoading) {
47
+ var _a = e.currentTarget, scrollHeight = _a.scrollHeight, scrollTop = _a.scrollTop, clientHeight = _a.clientHeight;
48
+ if (scrollHeight * 0.8 < clientHeight + scrollTop) {
49
+ setLoadingType("loading");
50
+ onPullUpLoading === null || onPullUpLoading === void 0 ? void 0 : onPullUpLoading();
51
+ }
101
52
  }
102
- }, [refreshing]);
103
- return (React.createElement("div", __assign({ className: "g-flat-list" }, bind),
104
- React.createElement("div", { className: "g-flat-list-inner-wrapper", ref: animtedRef },
105
- onPullDownRefresh && refreshing !== undefined && (React.createElement("div", { className: "g-flat-list-refresh", ref: updateRefreshHeight }, Refresh ? React.createElement(Refresh, { loading: refreshing }) : React.createElement(DefaultRefresh, { loading: refreshing, message: onPullUpLoading ? pullDownMessage : undefined }))),
106
- React.createElement("div", { className: "g-flat-list-scrollable", ref: scrollRef, style: { overflow: startDelta ? "hidden" : undefined }, onScroll: onScroll },
107
- React.createElement(Content, { data: data, rowKey: rowKey, renderItem: renderItem, gap: gap, emptyPlaceholder: emptyPlaceholder, Footer: Footer, loading: loading, endOfListMessage: endOfListMessage, hasNextPageMessage: pullUpMessage, onPullUpLoading: onPullUpLoading })))));
53
+ };
54
+ var margin = React.useMemo(function () { return (gap ? (typeof gap === "number" ? { margin: gap } : { marginLeft: gap.left, marginRight: gap.right, marginBottom: gap.bottom, marginTop: gap.top }) : {}); }, [gap]);
55
+ return (React.createElement(Wrapper, { className: classNames("g-flat-list", className), listWrapperRef: listWrapperRef, bounceEffect: bounceEffect, innerStyle: contentStyle, loadingType: loadingType, onLoadingTypeChange: setLoadingType, loading: loadingWithDelay, style: style, onPullDownRefresh: onPullDownRefresh, onPullUpLoading: onPullUpLoading, pullDownRefreshMessage: pullDownRefreshMessage, pullDownRefreshingMessage: pullDownRefreshingMessage, onScroll: onScroll }, data.length === 0 ? (emptyPlaceholder) : (React.createElement("div", { className: "list" },
56
+ data.map(function (d, i) { return (React.createElement("div", { className: "g-flat-list-item", key: GetRowKey(rowKey, d, i), style: __assign({}, margin) },
57
+ React.createElement(ItemRenderer, { data: d, index: i }))); }),
58
+ !hideFooter && (React.createElement(Footer, { loading: loadingWithDelay && loadingType === "loading", ended: !onPullUpLoading, loadMoreMessage: pullUpLoadMoreMessage, loadingMessage: pullUpLoadingMessage, endMessage: endOfListMessage }))))));
108
59
  };
109
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/FlatList/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/FlatList/index.tsx"],"names":[],"mappings":"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"}
@@ -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 Omit<FooterData, "__markedAsFooterData"> {
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, loadMoreMessage = props.loadMoreMessage, 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 && (typeof loadingMessage !== "object" ? React.createElement(Spinner, { loading: true, message: loadingMessage !== null && loadingMessage !== void 0 ? loadingMessage : "loading..." }) : loadingMessage),
10
+ ended && !loading && (endMessage !== null && endMessage !== void 0 ? endMessage : "All data loaded"),
11
+ !ended && !loading && (loadMoreMessage !== null && loadMoreMessage !== void 0 ? loadMoreMessage : "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,GAAiE,KAAK,QAAtE,EAAE,KAAK,GAA0D,KAAK,MAA/D,EAAE,eAAe,GAAyC,KAAK,gBAA9C,EAAE,cAAc,GAAyB,KAAK,eAA9B,EAAE,UAAU,GAAa,KAAK,WAAlB,EAAE,OAAO,GAAI,KAAK,QAAT,CAAU;IACrF,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,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAC,OAAO,IAAC,OAAO,QAAC,OAAO,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,GAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/H,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,iBAAiB,CAAC;QACtD,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,yBAAyB,CAAC,CACnE,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  .g-flat-list-footer {
2
+ width: 100%;
2
3
  display: flex;
3
- flex-flow: column nowrap;
4
+ flex-flow: row nowrap;
4
5
  justify-content: center;
5
6
  align-items: center;
6
- padding: 15px 0;
7
+ padding: 5px;
7
8
  }
@@ -0,0 +1,2 @@
1
+ import type { RowKey } from "../type";
2
+ export declare function GetRowKey<T>(rowKey: RowKey<T>, data: T, index: number): string | number;
@@ -0,0 +1,12 @@
1
+ export function GetRowKey(rowKey, data, index) {
2
+ if (rowKey === "index") {
3
+ return index;
4
+ }
5
+ else if (typeof rowKey === "function") {
6
+ return rowKey(data, index);
7
+ }
8
+ else {
9
+ return data[rowKey];
10
+ }
11
+ }
12
+ //# sourceMappingURL=GetRowKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetRowKey.js","sourceRoot":"","sources":["../../../../src/core/FlatList/shared/GetRowKey.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAI,MAAiB,EAAE,IAAO,EAAE,KAAa;IAClE,IAAI,MAAM,KAAK,OAAO,EAAE;QACpB,OAAO,KAAK,CAAC;KAChB;SAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;QACrC,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC9B;SAAM;QACH,OAAO,IAAI,CAAC,MAAM,CAAQ,CAAC;KAC9B;AACL,CAAC"}
@@ -4,5 +4,5 @@ interface Props {
4
4
  loading: boolean;
5
5
  message?: string;
6
6
  }
7
- export declare const Refresh: ({ loading, message }: Props) => JSX.Element;
7
+ export declare const Spinner: (props: Props) => JSX.Element;
8
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,8 @@
1
+ import React from "react";
2
+ interface Props {
3
+ loading: boolean;
4
+ message?: React.ReactElement | string;
5
+ loadingMessage?: React.ReactElement | string;
6
+ }
7
+ export declare const Loading: (props: Props) => JSX.Element;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { Spinner } from "../Spinner";
3
+ export var Loading = function (props) {
4
+ var loading = props.loading, message = props.message, loadingMessage = props.loadingMessage;
5
+ return (React.createElement("div", { className: "g-flat-list-loading" }, loading ? typeof loadingMessage !== "object" ? React.createElement(Spinner, { loading: loading, message: loadingMessage !== null && loadingMessage !== void 0 ? loadingMessage : "loading..." }) : loadingMessage : message !== null && message !== void 0 ? message : "Release to refresh"));
6
+ };
7
+ //# 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;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAQnC,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAY;IACzB,IAAA,OAAO,GAA6B,KAAK,QAAlC,EAAE,OAAO,GAAoB,KAAK,QAAzB,EAAE,cAAc,GAAI,KAAK,eAAT,CAAU;IACjD,OAAO,CACH,6BAAK,SAAS,EAAC,qBAAqB,IAC/B,OAAO,CAAC,CAAC,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,GAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,oBAAoB,CACvK,CACT,CAAC;AACN,CAAC,CAAC"}