@nokecy/designer-shared 0.0.0-stage → 2.0.0-beta.12
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.
- package/LICENSE +21 -0
- package/LICENSE.md +21 -0
- package/PROVENANCE.json +35 -0
- package/README.md +9 -2
- package/esm/animation.d.ts +2 -0
- package/esm/animation.js +34 -0
- package/esm/animation.js.map +1 -0
- package/esm/array.d.ts +37 -0
- package/esm/array.js +112 -0
- package/esm/array.js.map +1 -0
- package/esm/clone.d.ts +4 -0
- package/esm/clone.js +106 -0
- package/esm/clone.js.map +1 -0
- package/esm/compose.d.ts +1 -0
- package/esm/compose.js +8 -0
- package/esm/compose.js.map +1 -0
- package/esm/coordinate.d.ts +106 -0
- package/esm/coordinate.js +485 -0
- package/esm/coordinate.js.map +1 -0
- package/esm/element.d.ts +6 -0
- package/esm/element.js +138 -0
- package/esm/element.js.map +1 -0
- package/esm/event.d.ts +81 -0
- package/esm/event.js +214 -0
- package/esm/event.js.map +1 -0
- package/esm/globalThisPolyfill.d.ts +1 -0
- package/esm/globalThisPolyfill.js +23 -0
- package/esm/globalThisPolyfill.js.map +1 -0
- package/esm/index.d.ts +17 -0
- package/esm/index.js +18 -0
- package/esm/index.js.map +1 -0
- package/esm/instanceof.d.ts +1 -0
- package/esm/instanceof.js +12 -0
- package/esm/instanceof.js.map +1 -0
- package/esm/keycode.d.ts +147 -0
- package/esm/keycode.js +151 -0
- package/esm/keycode.js.map +1 -0
- package/esm/lru.d.ts +73 -0
- package/esm/lru.js +294 -0
- package/esm/lru.js.map +1 -0
- package/esm/observer.d.ts +9 -0
- package/esm/observer.js +30 -0
- package/esm/observer.js.map +1 -0
- package/esm/request-idle.d.ts +10 -0
- package/esm/request-idle.js +9 -0
- package/esm/request-idle.js.map +1 -0
- package/esm/scroller.d.ts +10 -0
- package/esm/scroller.js +83 -0
- package/esm/scroller.js.map +1 -0
- package/esm/subscribable.d.ts +14 -0
- package/esm/subscribable.js +49 -0
- package/esm/subscribable.js.map +1 -0
- package/esm/types.d.ts +13 -0
- package/esm/types.js +22 -0
- package/esm/types.js.map +1 -0
- package/esm/uid.d.ts +1 -0
- package/esm/uid.js +10 -0
- package/esm/uid.js.map +1 -0
- package/lib/animation.d.ts +2 -0
- package/lib/animation.js +39 -0
- package/lib/animation.js.map +1 -0
- package/lib/array.d.ts +37 -0
- package/lib/array.js +126 -0
- package/lib/array.js.map +1 -0
- package/lib/clone.d.ts +4 -0
- package/lib/clone.js +111 -0
- package/lib/clone.js.map +1 -0
- package/lib/compose.d.ts +1 -0
- package/lib/compose.js +12 -0
- package/lib/compose.js.map +1 -0
- package/lib/coordinate.d.ts +106 -0
- package/lib/coordinate.js +514 -0
- package/lib/coordinate.js.map +1 -0
- package/lib/element.d.ts +6 -0
- package/lib/element.js +146 -0
- package/lib/element.js.map +1 -0
- package/lib/event.d.ts +81 -0
- package/lib/event.js +219 -0
- package/lib/event.js.map +1 -0
- package/lib/globalThisPolyfill.d.ts +1 -0
- package/lib/globalThisPolyfill.js +26 -0
- package/lib/globalThisPolyfill.js.map +1 -0
- package/lib/index.d.ts +17 -0
- package/lib/index.js +34 -0
- package/lib/index.js.map +1 -0
- package/lib/instanceof.d.ts +1 -0
- package/lib/instanceof.js +16 -0
- package/lib/instanceof.js.map +1 -0
- package/lib/keycode.d.ts +147 -0
- package/lib/keycode.js +155 -0
- package/lib/keycode.js.map +1 -0
- package/lib/lru.d.ts +73 -0
- package/lib/lru.js +298 -0
- package/lib/lru.js.map +1 -0
- package/lib/observer.d.ts +9 -0
- package/lib/observer.js +34 -0
- package/lib/observer.js.map +1 -0
- package/lib/request-idle.d.ts +10 -0
- package/lib/request-idle.js +14 -0
- package/lib/request-idle.js.map +1 -0
- package/lib/scroller.d.ts +10 -0
- package/lib/scroller.js +89 -0
- package/lib/scroller.js.map +1 -0
- package/lib/subscribable.d.ts +14 -0
- package/lib/subscribable.js +53 -0
- package/lib/subscribable.js.map +1 -0
- package/lib/types.d.ts +13 -0
- package/lib/types.js +30 -0
- package/lib/types.js.map +1 -0
- package/lib/uid.d.ts +1 -0
- package/lib/uid.js +13 -0
- package/lib/uid.js.map +1 -0
- package/package.json +46 -4
- package/src/animation.ts +38 -0
- package/src/array.ts +301 -0
- package/src/clone.ts +105 -0
- package/src/compose.ts +7 -0
- package/src/coordinate.ts +640 -0
- package/src/element.ts +144 -0
- package/src/event.ts +395 -0
- package/src/globalThisPolyfill.ts +19 -0
- package/src/index.ts +17 -0
- package/src/instanceof.ts +10 -0
- package/src/keycode.ts +150 -0
- package/src/lru.ts +322 -0
- package/src/observer.ts +38 -0
- package/src/request-idle.ts +22 -0
- package/src/scroller.ts +113 -0
- package/src/subscribable.ts +60 -0
- package/src/types.ts +27 -0
- package/src/uid.ts +10 -0
package/lib/clone.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clone = exports.shallowClone = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
const instanceof_1 = require("./instanceof");
|
|
6
|
+
const NATIVE_KEYS = [
|
|
7
|
+
['Map', (map) => new Map(map)],
|
|
8
|
+
['WeakMap', (map) => new WeakMap(map)],
|
|
9
|
+
['WeakSet', (set) => new WeakSet(set)],
|
|
10
|
+
['Set', (set) => new Set(set)],
|
|
11
|
+
['Date', (date) => new Date(date)],
|
|
12
|
+
'FileList',
|
|
13
|
+
'File',
|
|
14
|
+
'URL',
|
|
15
|
+
'RegExp',
|
|
16
|
+
[
|
|
17
|
+
'Promise',
|
|
18
|
+
(promise) => new Promise((resolve, reject) => promise.then(resolve, reject)),
|
|
19
|
+
],
|
|
20
|
+
];
|
|
21
|
+
const isNativeObject = (values) => {
|
|
22
|
+
for (let i = 0; i < NATIVE_KEYS.length; i++) {
|
|
23
|
+
const item = NATIVE_KEYS[i];
|
|
24
|
+
if (Array.isArray(item) && item[0]) {
|
|
25
|
+
if ((0, instanceof_1.instOf)(values, item[0])) {
|
|
26
|
+
return item[1] ? item[1] : item[0];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
if ((0, instanceof_1.instOf)(values, item)) {
|
|
31
|
+
return item;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
// Shared designer primitives must not add a React runtime dependency.
|
|
37
|
+
const isReactElement = (value) => value &&
|
|
38
|
+
typeof value === 'object' &&
|
|
39
|
+
(value.$$typeof === Symbol.for('react.element') ||
|
|
40
|
+
value.$$typeof === Symbol.for('react.transitional.element') ||
|
|
41
|
+
('$$typeof' in value && '_owner' in value));
|
|
42
|
+
const shallowClone = (values) => {
|
|
43
|
+
if (isReactElement(values))
|
|
44
|
+
return values;
|
|
45
|
+
let nativeClone;
|
|
46
|
+
if (Array.isArray(values)) {
|
|
47
|
+
return values.slice(0);
|
|
48
|
+
}
|
|
49
|
+
else if (isNativeObject(values)) {
|
|
50
|
+
nativeClone = isNativeObject(values);
|
|
51
|
+
return (0, types_1.isFn)(nativeClone) ? nativeClone(values) : values;
|
|
52
|
+
}
|
|
53
|
+
else if (typeof values === 'object' && !!values) {
|
|
54
|
+
return {
|
|
55
|
+
...values,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.shallowClone = shallowClone;
|
|
60
|
+
const clone = (values, filter) => {
|
|
61
|
+
let nativeClone;
|
|
62
|
+
if (Array.isArray(values)) {
|
|
63
|
+
return values.map((item) => (0, exports.clone)(item, filter));
|
|
64
|
+
}
|
|
65
|
+
else if (isNativeObject(values)) {
|
|
66
|
+
nativeClone = isNativeObject(values);
|
|
67
|
+
return (0, types_1.isFn)(nativeClone) ? nativeClone(values) : values;
|
|
68
|
+
}
|
|
69
|
+
else if (typeof values === 'object' && !!values) {
|
|
70
|
+
if (isReactElement(values)) {
|
|
71
|
+
return values;
|
|
72
|
+
}
|
|
73
|
+
if (values._isAMomentObject) {
|
|
74
|
+
return values;
|
|
75
|
+
}
|
|
76
|
+
if (values._isJSONSchemaObject) {
|
|
77
|
+
return values;
|
|
78
|
+
}
|
|
79
|
+
if ((0, types_1.isFn)(values.toJS)) {
|
|
80
|
+
return values;
|
|
81
|
+
}
|
|
82
|
+
if ((0, types_1.isFn)(values.toJSON)) {
|
|
83
|
+
return values;
|
|
84
|
+
}
|
|
85
|
+
if (Object.getOwnPropertySymbols(values || {}).length) {
|
|
86
|
+
return values;
|
|
87
|
+
}
|
|
88
|
+
const res = {};
|
|
89
|
+
for (const key in values) {
|
|
90
|
+
if (Object.hasOwnProperty.call(values, key)) {
|
|
91
|
+
if ((0, types_1.isFn)(filter)) {
|
|
92
|
+
if (filter(values[key], key)) {
|
|
93
|
+
res[key] = (0, exports.clone)(values[key], filter);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
res[key] = values[key];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
res[key] = (0, exports.clone)(values[key], filter);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return res;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return values;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
exports.clone = clone;
|
|
111
|
+
//# sourceMappingURL=clone.js.map
|
package/lib/clone.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"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","sourcesContent":["import { isFn } from './types'\nimport { instOf } from './instanceof'\ntype Filter = (value: any, key: string) => boolean\n\nconst NATIVE_KEYS = [\n ['Map', (map: any) => new Map(map)],\n ['WeakMap', (map: any) => new WeakMap(map)],\n ['WeakSet', (set: any) => new WeakSet(set)],\n ['Set', (set: any) => new Set(set)],\n ['Date', (date: any) => new Date(date)],\n 'FileList',\n 'File',\n 'URL',\n 'RegExp',\n [\n 'Promise',\n (promise: Promise<any>) =>\n new Promise((resolve, reject) => promise.then(resolve, reject)),\n ],\n]\n\nconst isNativeObject = (values: any): any => {\n for (let i = 0; i < NATIVE_KEYS.length; i++) {\n const item = NATIVE_KEYS[i]\n if (Array.isArray(item) && item[0]) {\n if (instOf(values, item[0])) {\n return item[1] ? item[1] : item[0]\n }\n } else {\n if (instOf(values, item)) {\n return item\n }\n }\n }\n}\n\n// Shared designer primitives must not add a React runtime dependency.\nconst isReactElement = (value: any) =>\n value &&\n typeof value === 'object' &&\n (value.$$typeof === Symbol.for('react.element') ||\n value.$$typeof === Symbol.for('react.transitional.element') ||\n ('$$typeof' in value && '_owner' in value))\n\nexport const shallowClone = (values: any) => {\n if (isReactElement(values)) return values\n let nativeClone: (values: any) => any\n if (Array.isArray(values)) {\n return values.slice(0)\n } else if (isNativeObject(values)) {\n nativeClone = isNativeObject(values)\n return isFn(nativeClone) ? nativeClone(values) : values\n } else if (typeof values === 'object' && !!values) {\n return {\n ...values,\n }\n }\n}\n\nexport const clone = (values: any, filter?: Filter) => {\n let nativeClone: (values: any) => any\n if (Array.isArray(values)) {\n return values.map((item) => clone(item, filter))\n } else if (isNativeObject(values)) {\n nativeClone = isNativeObject(values)\n return isFn(nativeClone) ? nativeClone(values) : values\n } else if (typeof values === 'object' && !!values) {\n if (isReactElement(values)) {\n return values\n }\n if (values._isAMomentObject) {\n return values\n }\n if (values._isJSONSchemaObject) {\n return values\n }\n\n if (isFn(values.toJS)) {\n return values\n }\n if (isFn(values.toJSON)) {\n return values\n }\n if (Object.getOwnPropertySymbols(values || {}).length) {\n return values\n }\n const res = {}\n for (const key in values) {\n if (Object.hasOwnProperty.call(values, key)) {\n if (isFn(filter)) {\n if (filter(values[key], key)) {\n res[key] = clone(values[key], filter)\n } else {\n res[key] = values[key]\n }\n } else {\n res[key] = clone(values[key], filter)\n }\n }\n }\n return res\n } else {\n return values\n }\n}\n"]}
|
package/lib/compose.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const compose: (...fns: ((payload: any) => any)[]) => (payload: any) => any;
|
package/lib/compose.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compose = void 0;
|
|
4
|
+
const compose = (...fns) => {
|
|
5
|
+
return (payload) => {
|
|
6
|
+
return fns.reduce((buf, fn) => {
|
|
7
|
+
return fn(buf);
|
|
8
|
+
}, payload);
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
exports.compose = compose;
|
|
12
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,GAAG,GAA8B,EAAE,EAAE;IAC3D,OAAO,CAAC,OAAY,EAAE,EAAE;QACtB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YAC5B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC,EAAE,OAAO,CAAC,CAAA;IACb,CAAC,CAAA;AACH,CAAC,CAAA;AANY,QAAA,OAAO,WAMnB","sourcesContent":["export const compose = (...fns: ((payload: any) => any)[]) => {\n return (payload: any) => {\n return fns.reduce((buf, fn) => {\n return fn(buf)\n }, payload)\n }\n}\n"]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export interface IPoint {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
}
|
|
5
|
+
export interface ISize {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ILineSegment {
|
|
10
|
+
start: IPoint;
|
|
11
|
+
end: IPoint;
|
|
12
|
+
}
|
|
13
|
+
export interface IRectEdgeLines {
|
|
14
|
+
v: ILineSegment[];
|
|
15
|
+
h: ILineSegment[];
|
|
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;
|
|
20
|
+
export declare class Point implements IPoint {
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
constructor(x?: number, y?: number);
|
|
24
|
+
}
|
|
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;
|
|
35
|
+
}
|
|
36
|
+
export declare class LineSegment {
|
|
37
|
+
start: IPoint;
|
|
38
|
+
end: IPoint;
|
|
39
|
+
constructor(start: IPoint, end: IPoint);
|
|
40
|
+
}
|
|
41
|
+
export interface IRect {
|
|
42
|
+
x: number;
|
|
43
|
+
y: number;
|
|
44
|
+
width: number;
|
|
45
|
+
height: number;
|
|
46
|
+
}
|
|
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"
|
|
56
|
+
}
|
|
57
|
+
export interface IPointToRectRelative {
|
|
58
|
+
quadrant: RectQuadrant;
|
|
59
|
+
distance: number;
|
|
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;
|
|
66
|
+
/**
|
|
67
|
+
* 计算点在矩形的哪个象限
|
|
68
|
+
* @param point
|
|
69
|
+
* @param rect
|
|
70
|
+
*/
|
|
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
|
+
/**
|
|
76
|
+
* 计算点鱼矩形的相对位置信息
|
|
77
|
+
* @param point
|
|
78
|
+
* @param rect
|
|
79
|
+
*/
|
|
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 | undefined;
|
|
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];
|