@pinnacle0/web-ui 0.4.8 → 0.4.9-beta.1

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 (71) hide show
  1. package/core/FlatList/Content/Footer/index.d.ts +10 -0
  2. package/core/FlatList/Content/Footer/index.js +11 -0
  3. package/core/FlatList/Content/Footer/index.js.map +1 -0
  4. package/core/FlatList/{shared → Content}/Footer/index.less +2 -3
  5. package/core/FlatList/Content/index.d.ts +9 -0
  6. package/core/FlatList/Content/index.js +71 -0
  7. package/core/FlatList/Content/index.js.map +1 -0
  8. package/core/FlatList/Loader/index.d.ts +3 -0
  9. package/core/FlatList/Loader/index.js +9 -0
  10. package/core/FlatList/Loader/index.js.map +1 -0
  11. package/core/FlatList/Loader/index.less +39 -0
  12. package/core/FlatList/{shared/Spinner → Refresh}/index.d.ts +1 -1
  13. package/core/FlatList/Refresh/index.js +8 -0
  14. package/core/FlatList/Refresh/index.js.map +1 -0
  15. package/core/FlatList/Refresh/index.less +22 -0
  16. package/core/FlatList/index.d.ts +3 -1
  17. package/core/FlatList/index.js +76 -27
  18. package/core/FlatList/index.js.map +1 -1
  19. package/core/FlatList/index.less +36 -0
  20. package/core/FlatList/type.d.ts +69 -37
  21. package/core/FlatList/type.js +1 -1
  22. package/core/FlatList/type.js.map +1 -1
  23. package/core/FlatList/useGap.d.ts +2 -0
  24. package/core/FlatList/useGap.js +12 -0
  25. package/core/FlatList/useGap.js.map +1 -0
  26. package/core/FlatList/util.d.ts +8 -0
  27. package/core/FlatList/util.js +35 -0
  28. package/core/FlatList/util.js.map +1 -0
  29. package/hooks/useSwipe/controller.js +1 -0
  30. package/hooks/useSwipe/controller.js.map +1 -1
  31. package/hooks/useSwipe/type.d.ts +1 -0
  32. package/hooks/useSwipe/type.js.map +1 -1
  33. package/internal/polyfill/IntersectionObserver.d.ts +1 -0
  34. package/internal/polyfill/IntersectionObserver.js +5 -0
  35. package/internal/polyfill/IntersectionObserver.js.map +1 -0
  36. package/package.json +6 -4
  37. package/core/FlatList/VirtualFlatList/Item.d.ts +0 -11
  38. package/core/FlatList/VirtualFlatList/Item.js +0 -20
  39. package/core/FlatList/VirtualFlatList/Item.js.map +0 -1
  40. package/core/FlatList/VirtualFlatList/index.d.ts +0 -8
  41. package/core/FlatList/VirtualFlatList/index.js +0 -111
  42. package/core/FlatList/VirtualFlatList/index.js.map +0 -1
  43. package/core/FlatList/VirtualFlatList/index.less +0 -22
  44. package/core/FlatList/VirtualFlatList/type.d.ts +0 -20
  45. package/core/FlatList/VirtualFlatList/type.js +0 -2
  46. package/core/FlatList/VirtualFlatList/type.js.map +0 -1
  47. package/core/FlatList/shared/Footer/index.d.ts +0 -8
  48. package/core/FlatList/shared/Footer/index.js +0 -13
  49. package/core/FlatList/shared/Footer/index.js.map +0 -1
  50. package/core/FlatList/shared/GetRowKey.d.ts +0 -2
  51. package/core/FlatList/shared/GetRowKey.js +0 -12
  52. package/core/FlatList/shared/GetRowKey.js.map +0 -1
  53. package/core/FlatList/shared/Spinner/index.js +0 -10
  54. package/core/FlatList/shared/Spinner/index.js.map +0 -1
  55. package/core/FlatList/shared/Spinner/index.less +0 -13
  56. package/core/FlatList/shared/Wrapper/Loading.d.ts +0 -8
  57. package/core/FlatList/shared/Wrapper/Loading.js +0 -7
  58. package/core/FlatList/shared/Wrapper/Loading.js.map +0 -1
  59. package/core/FlatList/shared/Wrapper/index.d.ts +0 -14
  60. package/core/FlatList/shared/Wrapper/index.js +0 -109
  61. package/core/FlatList/shared/Wrapper/index.js.map +0 -1
  62. package/core/FlatList/shared/Wrapper/index.less +0 -33
  63. package/core/FlatList/shared/hooks/useBounceSwipe.d.ts +0 -22
  64. package/core/FlatList/shared/hooks/useBounceSwipe.js +0 -111
  65. package/core/FlatList/shared/hooks/useBounceSwipe.js.map +0 -1
  66. package/core/FlatList/shared/hooks/useElementScrollState.d.ts +0 -8
  67. package/core/FlatList/shared/hooks/useElementScrollState.js +0 -38
  68. package/core/FlatList/shared/hooks/useElementScrollState.js.map +0 -1
  69. package/core/FlatList/shared/hooks/useLoadingWithDelay.d.ts +0 -9
  70. package/core/FlatList/shared/hooks/useLoadingWithDelay.js +0 -52
  71. package/core/FlatList/shared/hooks/useLoadingWithDelay.js.map +0 -1
@@ -1,111 +0,0 @@
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 { useElementScrollState } from "./useElementScrollState";
30
- import { Direction, useSwipe } from "../../../../hooks/useSwipe";
31
- import { useTransform } from "../../../../hooks/useTransform";
32
- export var useBounceSwipe = function (options) {
33
- var contentRef = options.contentRef, animatedRef = options.animatedRef, axis = options.axis, _a = options.baseOffset, baseOffset = _a === void 0 ? 0 : _a, onStart = options.onStart, onMove = options.onMove, onEnd = options.onEnd, onCancel = options.onCancel;
34
- var _b = __read(React.useState(null), 2), boundary = _b[0], setBoundary = _b[1];
35
- var transform = useTransform(animatedRef, { duration: 300, timingFunction: "cubic-bezier(0, 0.61, 0.28, 1.22)", property: "transform" });
36
- var startOffsetRef = React.useRef(0);
37
- var isX = React.useMemo(function () { return axis === "horizontal"; }, [axis]);
38
- var isY = React.useMemo(function () { return axis === "vertical"; }, [axis]);
39
- var _c = useElementScrollState(contentRef), isScrollable = _c.isScrollable, isScrollTop = _c.isScrollTop, isScrollBottom = _c.isScrollBottom, isScrollLeft = _c.isScrollLeft, isScrollRight = _c.isScrollRight;
40
- var threshold = function (_a) {
41
- var direction = _a.direction;
42
- if (isY) {
43
- return (direction === Direction.DOWN && isScrollTop()) || (direction === Direction.UP && isScrollBottom());
44
- }
45
- else {
46
- return (direction === Direction.RIGHT && isScrollLeft()) || (direction === Direction.LEFT && isScrollRight());
47
- }
48
- };
49
- var clearSwipe = function () {
50
- startOffsetRef.current = 0;
51
- setBoundary(null);
52
- };
53
- React.useEffect(function () {
54
- // Changing overflow style to fixed laggy bounce swipe in chrome
55
- if (contentRef.current) {
56
- if (boundary) {
57
- contentRef.current.style.overflow = "hidden";
58
- }
59
- else {
60
- contentRef.current.style.overflow = "auto";
61
- }
62
- }
63
- }, [boundary, contentRef]);
64
- var getOffset = function (delta, boundary) {
65
- var resultOffset = [0, 0];
66
- var limitedOffset = delta[isX ? 0 : 1] - startOffsetRef.current + baseOffset;
67
- var computeResultOffset = function (value) { return [isX ? value : 0, isY ? value : 0]; };
68
- if (boundary === "upper") {
69
- resultOffset = limitedOffset < 0 ? null : computeResultOffset(limitedOffset);
70
- }
71
- else if (boundary === "lower") {
72
- resultOffset = limitedOffset > 0 ? null : computeResultOffset(limitedOffset);
73
- }
74
- else {
75
- resultOffset = computeResultOffset(limitedOffset);
76
- }
77
- return resultOffset;
78
- };
79
- var handlers = useSwipe({
80
- onStart: function (state) {
81
- var _a = __read(state.delta, 2), x = _a[0], y = _a[1], direction = state.direction;
82
- isScrollable(axis) && setBoundary(direction === Direction.DOWN ? "upper" : "lower");
83
- startOffsetRef.current = isX ? x : y;
84
- onStart === null || onStart === void 0 ? void 0 : onStart(__assign(__assign({}, state), { boundary: boundary }));
85
- },
86
- onMove: function (state) {
87
- var delta = state.delta, cancel = state.cancel;
88
- var offset = getOffset(delta, boundary);
89
- if (!offset) {
90
- cancel();
91
- }
92
- else {
93
- var _a = __read(offset, 2), x = _a[0], y = _a[1];
94
- transform.to({ x: x, y: y, immediate: true });
95
- onMove === null || onMove === void 0 ? void 0 : onMove(__assign(__assign({}, state), { boundary: boundary }));
96
- }
97
- },
98
- onEnd: function (state) {
99
- onEnd === null || onEnd === void 0 ? void 0 : onEnd(__assign(__assign({}, state), { boundary: boundary }));
100
- transform.clear();
101
- clearSwipe();
102
- },
103
- onCancel: function (state) {
104
- onCancel === null || onCancel === void 0 ? void 0 : onCancel(__assign(__assign({}, state), { boundary: boundary }));
105
- transform.clear();
106
- clearSwipe();
107
- },
108
- }, { threshold: threshold });
109
- return handlers;
110
- };
111
- //# sourceMappingURL=useBounceSwipe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBounceSwipe.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/hooks/useBounceSwipe.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- export declare const useElementScrollState: (ref: React.RefObject<HTMLElement | null>) => {
3
- isScrollTop: () => boolean;
4
- isScrollBottom: () => boolean;
5
- isScrollLeft: () => boolean;
6
- isScrollRight: () => boolean;
7
- isScrollable: (direction: "vertical" | "horizontal") => boolean;
8
- };
@@ -1,38 +0,0 @@
1
- import React from "react";
2
- // need to cache scrollable results
3
- // only change when window resize, data change, and css change
4
- export var useElementScrollState = function (ref) {
5
- var isScrollable = React.useCallback(function (direction) {
6
- if (ref.current) {
7
- var element = ref.current;
8
- return direction === "vertical" ? element.scrollHeight > element.clientHeight : element.scrollWidth > element.clientWidth;
9
- }
10
- else {
11
- return false;
12
- }
13
- }, [ref]);
14
- var isScrollTop = React.useCallback(function () { var _a; return ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollTop) === 0; }, [ref]);
15
- var isScrollBottom = React.useCallback(function () {
16
- var element = ref.current;
17
- if (element) {
18
- var scrollHeight = element.scrollHeight, scrollTop = element.scrollTop, clientHeight = element.clientHeight;
19
- return Math.ceil(scrollTop) + clientHeight >= scrollHeight;
20
- }
21
- else {
22
- return false;
23
- }
24
- }, [ref]);
25
- var isScrollLeft = React.useCallback(function () { var _a; return ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) === 0; }, [ref]);
26
- var isScrollRight = React.useCallback(function () {
27
- var element = ref.current;
28
- if (element) {
29
- var scrollWidth = element.scrollWidth, scrollLeft = element.scrollLeft, clientWidth = element.clientWidth;
30
- return Math.ceil(scrollLeft) + clientWidth >= scrollWidth;
31
- }
32
- else {
33
- return false;
34
- }
35
- }, [ref]);
36
- return { isScrollTop: isScrollTop, isScrollBottom: isScrollBottom, isScrollLeft: isScrollLeft, isScrollRight: isScrollRight, isScrollable: isScrollable };
37
- };
38
- //# sourceMappingURL=useElementScrollState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useElementScrollState.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/hooks/useElementScrollState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,mCAAmC;AAEnC,8DAA8D;AAE9D,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,GAAwC;IAC1E,IAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAClC,UAAC,SAAoC;QACjC,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;SAC7H;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,EACD,CAAC,GAAG,CAAC,CACR,CAAC;IAEF,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,sBAAM,OAAA,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,SAAS,MAAK,CAAC,CAAA,EAAA,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,IAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,EAAE;YACF,IAAA,YAAY,GAA6B,OAAO,aAApC,EAAE,SAAS,GAAkB,OAAO,UAAzB,EAAE,YAAY,GAAI,OAAO,aAAX,CAAY;YACxD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,IAAI,YAAY,CAAC;SAC9D;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,sBAAM,OAAA,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,UAAU,MAAK,CAAC,CAAA,EAAA,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,IAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC;QACpC,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,EAAE;YACF,IAAA,WAAW,GAA6B,OAAO,YAApC,EAAE,UAAU,GAAiB,OAAO,WAAxB,EAAE,WAAW,GAAI,OAAO,YAAX,CAAY;YACvD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,WAAW,CAAC;SAC7D;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,EAAC,WAAW,aAAA,EAAE,cAAc,gBAAA,EAAE,YAAY,cAAA,EAAE,aAAa,eAAA,EAAE,YAAY,cAAA,EAAC,CAAC;AACpF,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * This hook prevent loading state causing ui to flash
3
- * For instance, in real life loading only last for 50ms, so it make loading ui appear in a blink of an eye, which is not good
4
- * Hook will only delay the loading state change from true to false, it force loading ui at least appear for a period of time
5
- * @param loading
6
- * @param delay
7
- * @returns
8
- */
9
- export declare const useLoadingWithDelay: (loading: boolean, delay: number) => Readonly<boolean>;
@@ -1,52 +0,0 @@
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
- /**
19
- * This hook prevent loading state causing ui to flash
20
- * For instance, in real life loading only last for 50ms, so it make loading ui appear in a blink of an eye, which is not good
21
- * Hook will only delay the loading state change from true to false, it force loading ui at least appear for a period of time
22
- * @param loading
23
- * @param delay
24
- * @returns
25
- */
26
- export var useLoadingWithDelay = function (loading, delay) {
27
- var _a = __read(React.useState(loading), 2), loadingWithDelay = _a[0], setLoadingWithDelay = _a[1];
28
- var startTimeRef = React.useRef(null);
29
- var setLoadingRef = React.useRef();
30
- var setLoading = React.useCallback(function (value) {
31
- if (value) {
32
- setLoadingWithDelay(true);
33
- startTimeRef.current = Date.now();
34
- setTimeout(function () { return (startTimeRef.current = null); }, delay);
35
- }
36
- else {
37
- if (startTimeRef.current) {
38
- setTimeout(function () { return setLoadingWithDelay(false); }, Math.abs(delay - (Date.now() - startTimeRef.current)));
39
- }
40
- else {
41
- setLoadingWithDelay(value);
42
- }
43
- }
44
- }, [delay]);
45
- setLoadingRef.current = setLoading;
46
- React.useEffect(function () {
47
- var _a;
48
- (_a = setLoadingRef.current) === null || _a === void 0 ? void 0 : _a.call(setLoadingRef, loading);
49
- }, [loading]);
50
- return loadingWithDelay;
51
- };
52
- //# sourceMappingURL=useLoadingWithDelay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLoadingWithDelay.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/shared/hooks/useLoadingWithDelay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,OAAgB,EAAE,KAAa;IACzD,IAAA,KAAA,OAA0C,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAA,EAAhE,gBAAgB,QAAA,EAAE,mBAAmB,QAA2B,CAAC;IACxE,IAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IACvD,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,EAA4B,CAAC;IAE/D,IAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAChC,UAAC,KAAc;QACX,IAAI,KAAK,EAAE;YACP,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,UAAU,CAAC,cAAM,OAAA,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAA7B,CAA6B,EAAE,KAAK,CAAC,CAAC;SAC1D;aAAM;YACH,IAAI,YAAY,CAAC,OAAO,EAAE;gBACtB,UAAU,CAAC,cAAM,OAAA,mBAAmB,CAAC,KAAK,CAAC,EAA1B,CAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACvG;iBAAM;gBACH,mBAAmB,CAAC,KAAK,CAAC,CAAC;aAC9B;SACJ;IACL,CAAC,EACD,CAAC,KAAK,CAAC,CACV,CAAC;IAEF,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IAEnC,KAAK,CAAC,SAAS,CAAC;;QACZ,MAAA,aAAa,CAAC,OAAO,8DAAG,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC"}