@thienvu18/designable-shared 2.0.0 → 2.0.2

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 (73) hide show
  1. package/esm/animation.d.ts +8 -2
  2. package/esm/animation.js +29 -30
  3. package/esm/array.d.ts +163 -37
  4. package/esm/array.js +104 -87
  5. package/esm/clone.d.ts +4 -4
  6. package/esm/clone.js +79 -86
  7. package/esm/compose.d.ts +3 -1
  8. package/esm/compose.js +6 -6
  9. package/esm/coordinate.d.ts +120 -76
  10. package/esm/coordinate.js +480 -411
  11. package/esm/element.d.ts +11 -6
  12. package/esm/element.js +123 -125
  13. package/esm/event.d.ts +162 -75
  14. package/esm/event.js +197 -197
  15. package/esm/globalThisPolyfill.d.ts +1 -1
  16. package/esm/globalThisPolyfill.js +14 -17
  17. package/esm/index.d.ts +17 -17
  18. package/esm/index.js +17 -17
  19. package/esm/instanceof.d.ts +1 -1
  20. package/esm/instanceof.js +9 -10
  21. package/esm/keycode.d.ts +145 -145
  22. package/esm/keycode.js +149 -149
  23. package/esm/lru.d.ts +50 -47
  24. package/esm/lru.js +236 -245
  25. package/esm/observer.d.ts +7 -7
  26. package/esm/observer.js +37 -40
  27. package/esm/request-idle.d.ts +9 -6
  28. package/esm/request-idle.js +6 -6
  29. package/esm/scroller.d.ts +24 -8
  30. package/esm/scroller.js +78 -75
  31. package/esm/subscribable.d.ts +10 -10
  32. package/esm/subscribable.js +39 -40
  33. package/esm/types.d.ts +13 -13
  34. package/esm/types.js +19 -20
  35. package/esm/uid.d.ts +1 -1
  36. package/esm/uid.js +7 -7
  37. package/lib/animation.d.ts +8 -2
  38. package/lib/animation.js +34 -35
  39. package/lib/array.d.ts +163 -37
  40. package/lib/array.js +129 -101
  41. package/lib/clone.d.ts +4 -4
  42. package/lib/clone.js +84 -91
  43. package/lib/compose.d.ts +3 -1
  44. package/lib/compose.js +10 -10
  45. package/lib/coordinate.d.ts +120 -76
  46. package/lib/coordinate.js +538 -440
  47. package/lib/element.d.ts +11 -6
  48. package/lib/element.js +139 -133
  49. package/lib/event.d.ts +162 -75
  50. package/lib/event.js +206 -202
  51. package/lib/globalThisPolyfill.d.ts +1 -1
  52. package/lib/globalThisPolyfill.js +17 -20
  53. package/lib/index.d.ts +17 -17
  54. package/lib/index.js +49 -33
  55. package/lib/instanceof.d.ts +1 -1
  56. package/lib/instanceof.js +13 -14
  57. package/lib/keycode.d.ts +145 -145
  58. package/lib/keycode.js +153 -153
  59. package/lib/lru.d.ts +50 -47
  60. package/lib/lru.js +240 -249
  61. package/lib/observer.d.ts +7 -7
  62. package/lib/observer.js +41 -44
  63. package/lib/request-idle.d.ts +9 -6
  64. package/lib/request-idle.js +14 -11
  65. package/lib/scroller.d.ts +24 -8
  66. package/lib/scroller.js +89 -81
  67. package/lib/subscribable.d.ts +10 -10
  68. package/lib/subscribable.js +43 -44
  69. package/lib/types.d.ts +13 -13
  70. package/lib/types.js +40 -28
  71. package/lib/uid.d.ts +1 -1
  72. package/lib/uid.js +11 -11
  73. package/package.json +15 -15
package/esm/clone.js CHANGED
@@ -1,97 +1,90 @@
1
- import { isFn } from './types';
2
- import { instOf } from './instanceof';
1
+ import { instOf } from './instanceof'
2
+ import { isFn } from './types'
3
3
  const NATIVE_KEYS = [
4
- ['Map', (map) => new Map(map)],
5
- ['WeakMap', (map) => new WeakMap(map)],
6
- ['WeakSet', (set) => new WeakSet(set)],
7
- ['Set', (set) => new Set(set)],
8
- ['Date', (date) => new Date(date)],
9
- 'FileList',
10
- 'File',
11
- 'URL',
12
- 'RegExp',
13
- [
14
- 'Promise',
15
- (promise) => new Promise((resolve, reject) => promise.then(resolve, reject)),
16
- ],
17
- ];
4
+ ['Map', (map) => new Map(map)],
5
+ ['WeakMap', (map) => new WeakMap(map)],
6
+ ['WeakSet', (set) => new WeakSet(set)],
7
+ ['Set', (set) => new Set(set)],
8
+ ['Date', (date) => new Date(date)],
9
+ 'FileList',
10
+ 'File',
11
+ 'URL',
12
+ 'RegExp',
13
+ [
14
+ 'Promise',
15
+ (promise) =>
16
+ new Promise((resolve, reject) => promise.then(resolve, reject)),
17
+ ],
18
+ ]
18
19
  const isNativeObject = (values) => {
19
- for (let i = 0; i < NATIVE_KEYS.length; i++) {
20
- const item = NATIVE_KEYS[i];
21
- if (Array.isArray(item) && item[0]) {
22
- if (instOf(values, item[0])) {
23
- return item[1] ? item[1] : item[0];
24
- }
25
- }
26
- else {
27
- if (instOf(values, item)) {
28
- return item;
29
- }
30
- }
20
+ for (let i = 0; i < NATIVE_KEYS.length; i++) {
21
+ const item = NATIVE_KEYS[i]
22
+ if (Array.isArray(item) && item[0]) {
23
+ if (instOf(values, item[0])) {
24
+ return item[1] ? item[1] : item[0]
25
+ }
26
+ } else {
27
+ if (instOf(values, item)) {
28
+ return item
29
+ }
31
30
  }
32
- };
31
+ }
32
+ }
33
33
  export const shallowClone = (values) => {
34
- let nativeClone;
35
- if (Array.isArray(values)) {
36
- return values.slice(0);
34
+ let nativeClone
35
+ if (Array.isArray(values)) {
36
+ return values.slice(0)
37
+ } else if (isNativeObject(values)) {
38
+ nativeClone = isNativeObject(values)
39
+ return isFn(nativeClone) ? nativeClone(values) : values
40
+ } else if (typeof values === 'object' && !!values) {
41
+ return {
42
+ ...values,
37
43
  }
38
- else if (isNativeObject(values)) {
39
- nativeClone = isNativeObject(values);
40
- return isFn(nativeClone) ? nativeClone(values) : values;
44
+ }
45
+ }
46
+ export const clone = (values, filter) => {
47
+ let nativeClone
48
+ if (Array.isArray(values)) {
49
+ return values.map((item) => clone(item, filter))
50
+ } else if (isNativeObject(values)) {
51
+ nativeClone = isNativeObject(values)
52
+ return isFn(nativeClone) ? nativeClone(values) : values
53
+ } else if (typeof values === 'object' && !!values) {
54
+ if ('$$typeof' in values && '_owner' in values) {
55
+ return values
41
56
  }
42
- else if (typeof values === 'object' && !!values) {
43
- return {
44
- ...values,
45
- };
57
+ if (values._isAMomentObject) {
58
+ return values
46
59
  }
47
- };
48
- export const clone = (values, filter) => {
49
- let nativeClone;
50
- if (Array.isArray(values)) {
51
- return values.map((item) => clone(item, filter));
60
+ if (values._isJSONSchemaObject) {
61
+ return values
52
62
  }
53
- else if (isNativeObject(values)) {
54
- nativeClone = isNativeObject(values);
55
- return isFn(nativeClone) ? nativeClone(values) : values;
63
+ if (isFn(values.toJS)) {
64
+ return values
56
65
  }
57
- else if (typeof values === 'object' && !!values) {
58
- if ('$$typeof' in values && '_owner' in values) {
59
- return values;
60
- }
61
- if (values._isAMomentObject) {
62
- return values;
63
- }
64
- if (values._isJSONSchemaObject) {
65
- return values;
66
- }
67
- if (isFn(values.toJS)) {
68
- return values;
69
- }
70
- if (isFn(values.toJSON)) {
71
- return values;
72
- }
73
- if (Object.getOwnPropertySymbols(values || {}).length) {
74
- return values;
75
- }
76
- const res = {};
77
- for (const key in values) {
78
- if (Object.hasOwnProperty.call(values, key)) {
79
- if (isFn(filter)) {
80
- if (filter(values[key], key)) {
81
- res[key] = clone(values[key], filter);
82
- }
83
- else {
84
- res[key] = values[key];
85
- }
86
- }
87
- else {
88
- res[key] = clone(values[key], filter);
89
- }
90
- }
91
- }
92
- return res;
66
+ if (isFn(values.toJSON)) {
67
+ return values
68
+ }
69
+ if (Object.getOwnPropertySymbols(values || {}).length) {
70
+ return values
93
71
  }
94
- else {
95
- return values;
72
+ const res = {}
73
+ for (const key in values) {
74
+ if (Object.hasOwnProperty.call(values, key)) {
75
+ if (isFn(filter)) {
76
+ if (filter(values[key], key)) {
77
+ res[key] = clone(values[key], filter)
78
+ } else {
79
+ res[key] = values[key]
80
+ }
81
+ } else {
82
+ res[key] = clone(values[key], filter)
83
+ }
84
+ }
96
85
  }
97
- };
86
+ return res
87
+ } else {
88
+ return values
89
+ }
90
+ }
package/esm/compose.d.ts CHANGED
@@ -1 +1,3 @@
1
- export declare const compose: (...fns: ((payload: any) => any)[]) => (payload: any) => any;
1
+ export declare const compose: (
2
+ ...fns: ((payload: any) => any)[]
3
+ ) => (payload: any) => any
package/esm/compose.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export const compose = (...fns) => {
2
- return (payload) => {
3
- return fns.reduce((buf, fn) => {
4
- return fn(buf);
5
- }, payload);
6
- };
7
- };
2
+ return (payload) => {
3
+ return fns.reduce((buf, fn) => {
4
+ return fn(buf)
5
+ }, payload)
6
+ }
7
+ }
@@ -1,106 +1,150 @@
1
1
  export interface IPoint {
2
- x: number;
3
- y: number;
2
+ x: number
3
+ y: number
4
4
  }
5
5
  export interface ISize {
6
- width: number;
7
- height: number;
6
+ width: number
7
+ height: number
8
8
  }
9
9
  export interface ILineSegment {
10
- start: IPoint;
11
- end: IPoint;
10
+ start: IPoint
11
+ end: IPoint
12
12
  }
13
13
  export interface IRectEdgeLines {
14
- v: ILineSegment[];
15
- h: ILineSegment[];
14
+ v: ILineSegment[]
15
+ h: ILineSegment[]
16
16
  }
17
- export declare function isRect(rect: any): rect is IRect;
18
- export declare function isPoint(val: any): val is IPoint;
19
- export declare function isLineSegment(val: any): val is ILineSegment;
17
+ export declare function isRect(rect: any): rect is IRect
18
+ export declare function isPoint(val: any): val is IPoint
19
+ export declare function isLineSegment(val: any): val is ILineSegment
20
20
  export declare class Point implements IPoint {
21
- x: number;
22
- y: number;
23
- constructor(x: number, y: number);
21
+ x: number
22
+ y: number
23
+ constructor(x: number, y: number)
24
24
  }
25
25
  export declare class Rect implements IRect {
26
- x: number;
27
- y: number;
28
- width: number;
29
- height: number;
30
- constructor(x: number, y: number, width: number, height: number);
31
- get left(): number;
32
- get right(): number;
33
- get top(): number;
34
- get bottom(): number;
26
+ x: number
27
+ y: number
28
+ width: number
29
+ height: number
30
+ constructor(x: number, y: number, width: number, height: number)
31
+ get left(): number
32
+ get right(): number
33
+ get top(): number
34
+ get bottom(): number
35
35
  }
36
36
  export declare class LineSegment {
37
- start: IPoint;
38
- end: IPoint;
39
- constructor(start: IPoint, end: IPoint);
37
+ start: IPoint
38
+ end: IPoint
39
+ constructor(start: IPoint, end: IPoint)
40
40
  }
41
41
  export interface IRect {
42
- x: number;
43
- y: number;
44
- width: number;
45
- height: number;
42
+ x: number
43
+ y: number
44
+ width: number
45
+ height: number
46
46
  }
47
47
  export declare enum RectQuadrant {
48
- Inner1 = "I1",
49
- Inner2 = "I2",
50
- Inner3 = "I3",
51
- Inner4 = "I4",
52
- Outer1 = "O1",
53
- Outer2 = "O2",
54
- Outer3 = "O3",
55
- Outer4 = "O4"
48
+ Inner1 = 'I1',
49
+ Inner2 = 'I2',
50
+ Inner3 = 'I3',
51
+ Inner4 = 'I4',
52
+ Outer1 = 'O1',
53
+ Outer2 = 'O2',
54
+ Outer3 = 'O3',
55
+ Outer4 = 'O4',
56
56
  }
57
57
  export interface IPointToRectRelative {
58
- quadrant: RectQuadrant;
59
- distance: number;
58
+ quadrant: RectQuadrant
59
+ distance: number
60
60
  }
61
- export declare function isPointInRect(point: IPoint, rect: IRect, sensitive?: boolean): boolean;
62
- export declare function isEqualRect(target: IRect, source: IRect): boolean;
63
- export declare function getRectPoints(source: IRect): Point[];
64
- export declare function isRectInRect(target: IRect, source: IRect): boolean;
65
- export declare function isCrossRectInRect(target: IRect, source: IRect): boolean;
61
+ export declare function isPointInRect(
62
+ point: IPoint,
63
+ rect: IRect,
64
+ sensitive?: boolean
65
+ ): boolean
66
+ export declare function isEqualRect(target: IRect, source: IRect): boolean
67
+ export declare function getRectPoints(source: IRect): Point[]
68
+ export declare function isRectInRect(target: IRect, source: IRect): boolean
69
+ export declare function isCrossRectInRect(target: IRect, source: IRect): boolean
66
70
  /**
67
71
  * 计算点在矩形的哪个象限
68
72
  * @param point
69
73
  * @param rect
70
74
  */
71
- export declare function calcQuadrantOfPointToRect(point: IPoint, rect: IRect): RectQuadrant;
72
- export declare function calcDistanceOfPointToRect(point: IPoint, rect: IRect): number;
73
- export declare function calcDistancePointToEdge(point: IPoint, rect: IRect): number;
74
- export declare function isNearAfter(point: IPoint, rect: IRect, inline?: boolean): boolean;
75
+ export declare function calcQuadrantOfPointToRect(
76
+ point: IPoint,
77
+ rect: IRect
78
+ ): RectQuadrant
79
+ export declare function calcDistanceOfPointToRect(
80
+ point: IPoint,
81
+ rect: IRect
82
+ ): number
83
+ export declare function calcDistancePointToEdge(
84
+ point: IPoint,
85
+ rect: IRect
86
+ ): number
87
+ export declare function isNearAfter(
88
+ point: IPoint,
89
+ rect: IRect,
90
+ inline?: boolean
91
+ ): boolean
75
92
  /**
76
93
  * 计算点鱼矩形的相对位置信息
77
94
  * @param point
78
95
  * @param rect
79
96
  */
80
- export declare function calcRelativeOfPointToRect(point: IPoint, rect: IRect): IPointToRectRelative;
81
- export declare function calcBoundingRect(rects: IRect[]): Rect;
82
- export declare function calcRectByStartEndPoint(startPoint: IPoint, endPoint: IPoint, scrollX?: number, scrollY?: number): Rect;
83
- export declare function calcEdgeLinesOfRect(rect: IRect): IRectEdgeLines;
84
- export declare function calcRectOfAxisLineSegment(line: ILineSegment): Rect;
85
- export declare function calcSpaceBlockOfRect(target: IRect, source: IRect, type?: string): {
86
- type: string;
87
- distance: number;
88
- rect: Rect;
89
- };
90
- export declare function calcExtendsLineSegmentOfRect(targetRect: Rect, referRect: Rect): {
91
- start: {
92
- x: number;
93
- y: number;
94
- };
95
- end: {
96
- x: number;
97
- y: number;
98
- };
99
- };
100
- export declare function calcOffsetOfSnapLineSegmentToEdge(line: ILineSegment, current: IRect): {
101
- x: number;
102
- y: number;
103
- };
104
- export declare function calcDistanceOfSnapLineToEdges(line: ILineSegment, edges: IRectEdgeLines): number;
105
- export declare function calcCombineSnapLineSegment(target: ILineSegment, source: ILineSegment): ILineSegment;
106
- export declare function calcClosestEdges(line: ILineSegment, edges: IRectEdgeLines): [number, ILineSegment];
97
+ export declare function calcRelativeOfPointToRect(
98
+ point: IPoint,
99
+ rect: IRect
100
+ ): IPointToRectRelative
101
+ export declare function calcBoundingRect(rects: IRect[]): Rect
102
+ export declare function calcRectByStartEndPoint(
103
+ startPoint: IPoint,
104
+ endPoint: IPoint,
105
+ scrollX?: number,
106
+ scrollY?: number
107
+ ): Rect
108
+ export declare function calcEdgeLinesOfRect(rect: IRect): IRectEdgeLines
109
+ export declare function calcRectOfAxisLineSegment(line: ILineSegment): Rect
110
+ export declare function calcSpaceBlockOfRect(
111
+ target: IRect,
112
+ source: IRect,
113
+ type?: string
114
+ ): {
115
+ type: string
116
+ distance: number
117
+ rect: Rect
118
+ }
119
+ export declare function calcExtendsLineSegmentOfRect(
120
+ targetRect: Rect,
121
+ referRect: Rect
122
+ ): {
123
+ start: {
124
+ x: number
125
+ y: number
126
+ }
127
+ end: {
128
+ x: number
129
+ y: number
130
+ }
131
+ }
132
+ export declare function calcOffsetOfSnapLineSegmentToEdge(
133
+ line: ILineSegment,
134
+ current: IRect
135
+ ): {
136
+ x: number
137
+ y: number
138
+ }
139
+ export declare function calcDistanceOfSnapLineToEdges(
140
+ line: ILineSegment,
141
+ edges: IRectEdgeLines
142
+ ): number
143
+ export declare function calcCombineSnapLineSegment(
144
+ target: ILineSegment,
145
+ source: ILineSegment
146
+ ): ILineSegment
147
+ export declare function calcClosestEdges(
148
+ line: ILineSegment,
149
+ edges: IRectEdgeLines
150
+ ): [number, ILineSegment]