@pinnacle0/web-ui 0.2.103 → 0.3.2-beta0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/admin/AdminApp/WithErrorBoundary.d.ts +2 -1
  2. package/admin/AdminApp/WithErrorBoundary.js +1 -1
  3. package/admin/AdminApp/WithErrorBoundary.js.map +1 -1
  4. package/core/DocumentTitle.d.ts +1 -1
  5. package/core/VirtualTable/index.d.ts +40 -0
  6. package/core/VirtualTable/index.js +123 -0
  7. package/core/VirtualTable/index.js.map +1 -0
  8. package/core/VirtualTable/index.less +133 -0
  9. package/core/VirtualTable/useRowSelection.d.ts +10 -0
  10. package/core/VirtualTable/useRowSelection.js +57 -0
  11. package/core/VirtualTable/useRowSelection.js.map +1 -0
  12. package/core/VirtualTable/useScrollToEdge.d.ts +8 -0
  13. package/core/VirtualTable/useScrollToEdge.js +41 -0
  14. package/core/VirtualTable/useScrollToEdge.js.map +1 -0
  15. package/core/VirtualizedFlatList/CellMeasurer.d.ts +17 -0
  16. package/core/VirtualizedFlatList/CellMeasurer.js +36 -0
  17. package/core/VirtualizedFlatList/CellMeasurer.js.map +1 -0
  18. package/core/VirtualizedFlatList/CellMeasurerCache.d.ts +16 -0
  19. package/core/VirtualizedFlatList/CellMeasurerCache.js +31 -0
  20. package/core/VirtualizedFlatList/CellMeasurerCache.js.map +1 -0
  21. package/core/VirtualizedFlatList/Footer.d.ts +8 -0
  22. package/core/VirtualizedFlatList/Footer.js +27 -0
  23. package/core/VirtualizedFlatList/Footer.js.map +1 -0
  24. package/core/VirtualizedFlatList/ListItem.d.ts +4 -0
  25. package/core/VirtualizedFlatList/ListItem.js +43 -0
  26. package/core/VirtualizedFlatList/ListItem.js.map +1 -0
  27. package/core/VirtualizedFlatList/Loading.d.ts +7 -0
  28. package/core/VirtualizedFlatList/Loading.js +9 -0
  29. package/core/VirtualizedFlatList/Loading.js.map +1 -0
  30. package/core/VirtualizedFlatList/index.d.ts +29 -0
  31. package/core/VirtualizedFlatList/index.js +182 -0
  32. package/core/VirtualizedFlatList/index.js.map +1 -0
  33. package/core/VirtualizedFlatList/index.less +59 -0
  34. package/core/VirtualizedFlatList/type.d.ts +29 -0
  35. package/core/VirtualizedFlatList/type.js +2 -0
  36. package/core/VirtualizedFlatList/type.js.map +1 -0
  37. package/core/VirtualizedFlatList/useLoadingWithDelay.d.ts +1 -0
  38. package/core/VirtualizedFlatList/useLoadingWithDelay.js +51 -0
  39. package/core/VirtualizedFlatList/useLoadingWithDelay.js.map +1 -0
  40. package/core/WithExplanation/index.d.ts +1 -1
  41. package/hooks/useSwipe/controller.d.ts +20 -0
  42. package/hooks/useSwipe/controller.js +126 -0
  43. package/hooks/useSwipe/controller.js.map +1 -0
  44. package/hooks/useSwipe/index.d.ts +3 -0
  45. package/hooks/useSwipe/index.js +9 -0
  46. package/hooks/useSwipe/index.js.map +1 -0
  47. package/hooks/useSwipe/type.d.ts +38 -0
  48. package/hooks/useSwipe/type.js +8 -0
  49. package/hooks/useSwipe/type.js.map +1 -0
  50. package/hooks/useTransform.d.ts +18 -0
  51. package/hooks/useTransform.js +50 -0
  52. package/hooks/useTransform.js.map +1 -0
  53. package/internal/ArrayUtil.d.ts +6 -0
  54. package/internal/ArrayUtil.js +41 -0
  55. package/internal/ArrayUtil.js.map +1 -1
  56. package/package.json +19 -12
  57. package/util/MediaUtil/index.js +7 -5
  58. package/util/MediaUtil/index.js.map +1 -1
  59. package/util/SwipeUtil.d.ts +8 -0
  60. package/util/SwipeUtil.js +26 -0
  61. package/util/SwipeUtil.js.map +1 -0
@@ -0,0 +1,38 @@
1
+ import type React from "react";
2
+ export declare type TouchHandlers = Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "onTouchStart" | "onTouchMove" | "onTouchEndCapture" | "onTouchCancelCapture">;
3
+ export interface SwipeHookResult {
4
+ onTouchMove: React.TouchEventHandler;
5
+ onTouchStart: React.TouchEventHandler;
6
+ onTouchEnd: React.TouchEventHandler;
7
+ onTouchCancel: React.TouchEventHandler;
8
+ }
9
+ export interface SwipeState {
10
+ syntheticEvent: React.TouchEvent;
11
+ startTouch: React.Touch;
12
+ clientX: number;
13
+ clientY: number;
14
+ displacement: number;
15
+ delta: Vector2;
16
+ velocity: Vector2;
17
+ direction: Direction;
18
+ cancel: () => void;
19
+ }
20
+ declare type SwipeHookHandler = (event: SwipeState) => void;
21
+ export interface SwipeHookHandlers {
22
+ onStart?: SwipeHookHandler;
23
+ onEnd?: SwipeHookHandler;
24
+ onMove?: SwipeHookHandler;
25
+ onCancel?: SwipeHookHandler;
26
+ }
27
+ export interface SwipeHookConfig {
28
+ threshold?: (state: SwipeState) => boolean;
29
+ preventDefault?: boolean;
30
+ }
31
+ export declare enum Direction {
32
+ UP = "UP",
33
+ DOWN = "DOWN",
34
+ LEFT = "LEFT",
35
+ RIGHT = "RIGHT"
36
+ }
37
+ export declare type Vector2 = [number, number];
38
+ export {};
@@ -0,0 +1,8 @@
1
+ export var Direction;
2
+ (function (Direction) {
3
+ Direction["UP"] = "UP";
4
+ Direction["DOWN"] = "DOWN";
5
+ Direction["LEFT"] = "LEFT";
6
+ Direction["RIGHT"] = "RIGHT";
7
+ })(Direction || (Direction = {}));
8
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/hooks/useSwipe/type.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,sBAAS,CAAA;IACT,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;AACnB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ interface TransitionOption {
3
+ property?: string;
4
+ duration?: number;
5
+ delay?: number;
6
+ timingFunction?: string;
7
+ }
8
+ interface Option extends TransitionOption {
9
+ x?: number;
10
+ y?: number;
11
+ z?: number;
12
+ immediate?: boolean;
13
+ }
14
+ export declare const useTransform: (ref: React.RefObject<HTMLElement>, option?: Option | undefined) => {
15
+ to: (option: Option) => void;
16
+ clear: () => void;
17
+ };
18
+ export {};
@@ -0,0 +1,50 @@
1
+ import React from "react";
2
+ export var useTransform = function (ref, option) {
3
+ var optionRef = React.useRef(option);
4
+ optionRef.current = option;
5
+ var clearTransition = React.useCallback(function (el) {
6
+ el.style.transitionDuration = "";
7
+ el.style.transitionProperty = "";
8
+ el.style.transitionTimingFunction = "";
9
+ el.style.transitionDuration = "";
10
+ }, []);
11
+ var setTransition = React.useCallback(function (el) {
12
+ if (optionRef.current) {
13
+ var _a = optionRef.current, delay = _a.delay, duration = _a.duration, property = _a.property, timingFunction = _a.timingFunction;
14
+ delay && (el.style.transitionDelay = delay + "ms");
15
+ duration && (el.style.transitionDuration = duration + "ms");
16
+ property && (el.style.transitionProperty = property);
17
+ timingFunction && (el.style.transitionTimingFunction = timingFunction);
18
+ }
19
+ else {
20
+ clearTransition(el);
21
+ }
22
+ }, [clearTransition]);
23
+ var to = React.useCallback(function (option) {
24
+ if (ref.current) {
25
+ var el_1 = ref.current;
26
+ requestAnimationFrame(function () {
27
+ var _a, _b, _c;
28
+ el_1.style.transform = "translate3d(".concat((_a = option.x) !== null && _a !== void 0 ? _a : 0, "px, ").concat((_b = option.y) !== null && _b !== void 0 ? _b : 0, "px, ").concat((_c = option.z) !== null && _c !== void 0 ? _c : 0, "px) ");
29
+ option.immediate ? clearTransition(el_1) : setTransition(el_1);
30
+ });
31
+ }
32
+ }, [ref, setTransition, clearTransition]);
33
+ var clear = React.useCallback(function () {
34
+ if (ref.current) {
35
+ var el_2 = ref.current;
36
+ requestAnimationFrame(function () {
37
+ el_2.style.transform = "";
38
+ setTransition(el_2);
39
+ });
40
+ }
41
+ }, [ref, setTransition]);
42
+ React.useEffect(function () {
43
+ if (optionRef.current) {
44
+ to(optionRef.current);
45
+ }
46
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- only run on mount
47
+ }, []);
48
+ return { to: to, clear: clear };
49
+ };
50
+ //# sourceMappingURL=useTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTransform.js","sourceRoot":"","sources":["../../src/hooks/useTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,GAAiC,EAAE,MAAe;IAC3E,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAE3B,IAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,UAAC,EAAe;QACtD,EAAE,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACvC,EAAE,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACnC,UAAC,EAAe;QACZ,IAAI,SAAS,CAAC,OAAO,EAAE;YACb,IAAA,KAA8C,SAAS,CAAC,OAAO,EAA9D,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,cAAc,oBAAqB,CAAC;YACtE,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;YACnD,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC5D,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;YACrD,cAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,GAAG,cAAc,CAAC,CAAC;SAC1E;aAAM;YACH,eAAe,CAAC,EAAE,CAAC,CAAC;SACvB;IACL,CAAC,EACD,CAAC,eAAe,CAAC,CACpB,CAAC;IAEF,IAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CACxB,UAAC,MAAc;QACX,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,IAAM,IAAE,GAAG,GAAG,CAAC,OAAO,CAAC;YACvB,qBAAqB,CAAC;;gBAClB,IAAE,CAAC,KAAK,CAAC,SAAS,GAAG,sBAAe,MAAA,MAAM,CAAC,CAAC,mCAAI,CAAC,iBAAO,MAAA,MAAM,CAAC,CAAC,mCAAI,CAAC,iBAAO,MAAA,MAAM,CAAC,CAAC,mCAAI,CAAC,SAAM,CAAC;gBAChG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAE,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;SACN;IACL,CAAC,EACD,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,CACxC,CAAC;IAEF,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;QAC5B,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,IAAM,IAAE,GAAG,GAAG,CAAC,OAAO,CAAC;YACvB,qBAAqB,CAAC;gBAClB,IAAE,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,aAAa,CAAC,IAAE,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;SACN;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IAEzB,KAAK,CAAC,SAAS,CAAC;QACZ,IAAI,SAAS,CAAC,OAAO,EAAE;YACnB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACzB;QACD,4EAA4E;IAChF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC;AACvB,CAAC,CAAC"}
@@ -15,9 +15,15 @@ declare function toObject<T, V>(array: ReadonlyArray<T>, mapperCallback: (item:
15
15
  * @param callback Callback to transform item
16
16
  */
17
17
  declare function compactMap<T, V>(array: ReadonlyArray<T>, callback: (item: T, index: number) => V): Array<NonNullable<V>>;
18
+ /**
19
+ * If element exists in array, it will return a new array without this element.
20
+ * If element not exists in array, it will return a new array with this element in the last.
21
+ */
22
+ declare function toggleElement<T>(array: ReadonlyArray<T>, element: T): T[];
18
23
  export declare const ArrayUtil: Readonly<{
19
24
  intersectionPercentage: typeof intersectionPercentage;
20
25
  toObject: typeof toObject;
21
26
  compactMap: typeof compactMap;
27
+ toggleElement: typeof toggleElement;
22
28
  }>;
23
29
  export {};
@@ -1,3 +1,28 @@
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
+ };
1
26
  /**
2
27
  * Return b's the occurrence percentage in a.
3
28
  * The ordering of a & b matters.
@@ -27,9 +52,25 @@ function toObject(array, mapperCallback) {
27
52
  function compactMap(array, callback) {
28
53
  return array.map(callback).filter(function (_) { return _ !== null && _ !== undefined && (typeof _ !== "number" || !Number.isNaN(_)); });
29
54
  }
55
+ /**
56
+ * If element exists in array, it will return a new array without this element.
57
+ * If element not exists in array, it will return a new array with this element in the last.
58
+ */
59
+ function toggleElement(array, element) {
60
+ var index = array.indexOf(element);
61
+ if (index >= 0) {
62
+ var clonedArray = __spreadArray([], __read(array), false);
63
+ clonedArray.splice(index, 1);
64
+ return clonedArray;
65
+ }
66
+ else {
67
+ return __spreadArray(__spreadArray([], __read(array), false), [element], false);
68
+ }
69
+ }
30
70
  export var ArrayUtil = Object.freeze({
31
71
  intersectionPercentage: intersectionPercentage,
32
72
  toObject: toObject,
33
73
  compactMap: compactMap,
74
+ toggleElement: toggleElement,
34
75
  });
35
76
  //# sourceMappingURL=ArrayUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../../src/internal/ArrayUtil.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,SAAS,sBAAsB,CAAI,CAAM,EAAE,CAAM;IAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAChB,OAAO,CAAC,CAAC;KACZ;IACD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,QAAQ,CAAO,KAAuB,EAAE,cAAuD;IACpG,IAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;QACtB,IAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAO,KAAuB,EAAE,QAAuC;IACtF,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAA5E,CAA4E,CAA0B,CAAC;AAClJ,CAAC;AAED,MAAM,CAAC,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,sBAAsB,wBAAA;IACtB,QAAQ,UAAA;IACR,UAAU,YAAA;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../../src/internal/ArrayUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,SAAS,sBAAsB,CAAI,CAAM,EAAE,CAAM;IAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAChB,OAAO,CAAC,CAAC;KACZ;IACD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,QAAQ,CAAO,KAAuB,EAAE,cAAuD;IACpG,IAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;QACtB,IAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAO,KAAuB,EAAE,QAAuC;IACtF,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAA5E,CAA4E,CAA0B,CAAC;AAClJ,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAI,KAAuB,EAAE,OAAU;IACzD,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,IAAI,CAAC,EAAE;QACZ,IAAM,WAAW,4BAAO,KAAK,SAAC,CAAC;QAC/B,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,WAAW,CAAC;KACtB;SAAM;QACH,8CAAW,KAAK,YAAE,OAAO,UAAE;KAC9B;AACL,CAAC;AAED,MAAM,CAAC,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,sBAAsB,wBAAA;IACtB,QAAQ,UAAA;IACR,UAAU,YAAA;IACV,aAAa,eAAA;CAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinnacle0/web-ui",
3
- "version": "0.2.103",
3
+ "version": "0.3.2-beta0",
4
4
  "author": "Pinnacle",
5
5
  "license": "MIT",
6
6
  "sideEffects": [
@@ -19,14 +19,19 @@
19
19
  "run-script": "ts-node --project config/tsconfig.script.json",
20
20
  "build": "yarn run-script script/build.ts",
21
21
  "start": "yarn run-script script/start.ts",
22
+ "start:mobile": "yarn run-script script/start-mobile.ts",
22
23
  "format": "yarn run-script script/format.ts",
23
24
  "test": "jest --config config/jest.config.js"
24
25
  },
25
26
  "dependencies": {
26
27
  "@ant-design/icons": "4.7.0",
27
- "antd": "4.19.4",
28
+ "antd": "4.20.1",
28
29
  "braft-editor": "2.3.9",
29
- "moment": "2.29.2"
30
+ "moment": "2.29.3",
31
+ "react-virtual": "2.10.4",
32
+ "react-virtualized": "^9.22.3",
33
+ "react-virtualized-auto-sizer": "^1.0.6",
34
+ "react-window": "^1.8.6"
30
35
  },
31
36
  "peerDependencies": {
32
37
  "@babel/runtime": ">=7.12.1",
@@ -35,20 +40,22 @@
35
40
  "react-router-dom": ">=5.2.0"
36
41
  },
37
42
  "devDependencies": {
38
- "@babel/core": "7.17.8",
39
- "@babel/runtime": "7.17.8",
40
- "@testing-library/dom": "8.12.0",
41
- "@testing-library/jest-dom": "5.16.3",
42
- "@testing-library/react": "12.1.4",
43
- "@testing-library/user-event": "13.5.0",
43
+ "@babel/core": "7.17.9",
44
+ "@babel/runtime": "7.17.9",
45
+ "@testing-library/dom": "8.13.0",
46
+ "@testing-library/jest-dom": "5.16.4",
47
+ "@testing-library/react": "13.1.1",
48
+ "@testing-library/user-event": "14.1.1",
44
49
  "@types/draft-js": "0.11.9",
45
50
  "@types/history": "4.7.11",
46
- "@types/react": "17.0.43",
51
+ "@types/react": "18.0.8",
47
52
  "@types/react-dom": "17.0.14",
48
53
  "@types/react-router-dom": "5.3.2",
54
+ "@types/react-virtualized-auto-sizer": "^1.0.1",
55
+ "@types/react-window": "1.8.5",
49
56
  "less": "4.1.2",
50
- "react": "17.0.2",
51
- "react-dom": "17.0.2",
57
+ "react": "18.1.0",
58
+ "react-dom": "18.1.0",
52
59
  "react-router-dom": "5.3.0"
53
60
  }
54
61
  }
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import ReactDOM from "react-dom";
2
+ import ReactDOM from "react-dom/client";
3
3
  import CloseOutlined from "@ant-design/icons/CloseOutlined";
4
4
  import "./index.less";
5
5
  function openImage(url) {
@@ -10,9 +10,10 @@ function openImage(url) {
10
10
  bodyElement.removeChild(divElement);
11
11
  resolve();
12
12
  };
13
- ReactDOM.render(React.createElement("div", { onClick: closeModal, className: "g-media-modal" },
13
+ bodyElement.appendChild(divElement);
14
+ ReactDOM.createRoot(divElement).render(React.createElement("div", { onClick: closeModal, className: "g-media-modal" },
14
15
  React.createElement("img", { src: url }),
15
- React.createElement(CloseOutlined, null)), divElement, function () { return bodyElement.appendChild(divElement); });
16
+ React.createElement(CloseOutlined, null)));
16
17
  });
17
18
  }
18
19
  function openVideo(url) {
@@ -23,9 +24,10 @@ function openVideo(url) {
23
24
  bodyElement.removeChild(divElement);
24
25
  resolve();
25
26
  };
26
- ReactDOM.render(React.createElement("div", { onClick: closeModal, className: "g-media-modal" },
27
+ ReactDOM.createRoot(divElement).render(React.createElement("div", { onClick: closeModal, className: "g-media-modal" },
27
28
  React.createElement("video", { src: url, autoPlay: true, controls: true, controlsList: "nodownload", muted: true }),
28
- React.createElement(CloseOutlined, null)), divElement, function () { return bodyElement.appendChild(divElement); });
29
+ React.createElement(CloseOutlined, null)));
30
+ bodyElement.appendChild(divElement);
29
31
  });
30
32
  }
31
33
  function playAudio(url, amplitude) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/MediaUtil/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,cAAc,CAAC;AAEtB,SAAS,SAAS,CAAC,GAAW;IAC1B,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;QAC5B,IAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAM,UAAU,GAAG;YACf,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,QAAQ,CAAC,MAAM,CACX,6BAAK,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,eAAe;YAC/C,6BAAK,GAAG,EAAE,GAAG,GAAI;YACjB,oBAAC,aAAa,OAAG,CACf,EACN,UAAU,EACV,cAAM,OAAA,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,EAAnC,CAAmC,CAC5C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC1B,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;QAC5B,IAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAM,UAAU,GAAG;YACf,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,QAAQ,CAAC,MAAM,CACX,6BAAK,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,eAAe;YAC/C,+BAAO,GAAG,EAAE,GAAG,EAAE,QAAQ,QAAC,QAAQ,QAAC,YAAY,EAAC,YAAY,EAAC,KAAK,SAAG;YACrE,oBAAC,aAAa,OAAG,CACf,EACN,UAAU,EACV,cAAM,OAAA,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,EAAnC,CAAmC,CAC5C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,SAAqB;IAArB,0BAAA,EAAA,aAAqB;IACjD,IAAI;QACA;;;;WAIG;QACH,IAAM,aAAa,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;QACxC,IAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,IAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAChE,IAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;KACxC;IAAC,OAAO,CAAC,EAAE;QACR,aAAa;KAChB;AACL,CAAC;AAED,MAAM,CAAC,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,SAAS,WAAA;IACT,SAAS,WAAA;IACT,SAAS,WAAA;CACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/MediaUtil/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,cAAc,CAAC;AAEtB,SAAS,SAAS,CAAC,GAAW;IAC1B,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;QAC5B,IAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAM,UAAU,GAAG;YACf,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,6BAAK,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,eAAe;YAC/C,6BAAK,GAAG,EAAE,GAAG,GAAI;YACjB,oBAAC,aAAa,OAAG,CACf,CACT,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC1B,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;QAC5B,IAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAM,UAAU,GAAG;YACf,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,6BAAK,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,eAAe;YAC/C,+BAAO,GAAG,EAAE,GAAG,EAAE,QAAQ,QAAC,QAAQ,QAAC,YAAY,EAAC,YAAY,EAAC,KAAK,SAAG;YACrE,oBAAC,aAAa,OAAG,CACf,CACT,CAAC;QACF,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,SAAqB;IAArB,0BAAA,EAAA,aAAqB;IACjD,IAAI;QACA;;;;WAIG;QACH,IAAM,aAAa,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;QACxC,IAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,IAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAChE,IAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;KACxC;IAAC,OAAO,CAAC,EAAE;QACR,aAAa;KAChB;AACL,CAAC;AAED,MAAM,CAAC,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,SAAS,WAAA;IACT,SAAS,WAAA;IACT,SAAS,WAAA;CACZ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Direction } from "../hooks/useSwipe";
2
+ declare function getDirection(start: [number, number], end: [number, number]): Direction;
3
+ declare function getDisplacement(start: [number, number], end: [number, number]): number;
4
+ export declare const SwipeUtil: Readonly<{
5
+ getDirection: typeof getDirection;
6
+ getDisplacement: typeof getDisplacement;
7
+ }>;
8
+ export {};
@@ -0,0 +1,26 @@
1
+ import { Direction } from "../hooks/useSwipe";
2
+ function getDirection(start, end) {
3
+ var vector = [end[0] - start[0], start[1] - end[1]];
4
+ var degree = (Math.atan2(vector[1], vector[0]) * 180) / Math.PI;
5
+ degree = degree < 0 ? degree + 360 : degree;
6
+ if ((degree >= 315 && degree < 360) || (degree >= 0 && degree < 45)) {
7
+ return Direction.RIGHT;
8
+ }
9
+ else if (degree >= 45 && degree < 135) {
10
+ return Direction.UP;
11
+ }
12
+ else if (degree >= 135 && degree < 225) {
13
+ return Direction.LEFT;
14
+ }
15
+ else {
16
+ return Direction.DOWN;
17
+ }
18
+ }
19
+ function getDisplacement(start, end) {
20
+ return Math.sqrt(Math.pow(start[0] - end[0], 2) + Math.pow(start[1] - end[1], 2));
21
+ }
22
+ export var SwipeUtil = Object.freeze({
23
+ getDirection: getDirection,
24
+ getDisplacement: getDisplacement,
25
+ });
26
+ //# sourceMappingURL=SwipeUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwipeUtil.js","sourceRoot":"","sources":["../../src/util/SwipeUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,SAAS,YAAY,CAAC,KAAuB,EAAE,GAAqB;IAChE,IAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAChE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5C,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,EAAE;QACjE,OAAO,SAAS,CAAC,KAAK,CAAC;KAC1B;SAAM,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,GAAG,GAAG,EAAE;QACrC,OAAO,SAAS,CAAC,EAAE,CAAC;KACvB;SAAM,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE;QACtC,OAAO,SAAS,CAAC,IAAI,CAAC;KACzB;SAAM;QACH,OAAO,SAAS,CAAC,IAAI,CAAC;KACzB;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAuB,EAAE,GAAqB;IACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AACD,MAAM,CAAC,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,YAAY,cAAA;IACZ,eAAe,iBAAA;CAClB,CAAC,CAAC"}