@mantou/gem 2.2.0 → 2.2.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.
- package/dist/gem.es.js +2007 -2020
- package/dist/gem.umd.js +15 -32
- package/elements/base/dialog.d.ts +1 -1
- package/elements/base/dialog.d.ts.map +1 -1
- package/elements/base/dialog.js +2 -2
- package/elements/base/dialog.js.map +1 -1
- package/elements/base/gesture.d.ts +1 -1
- package/elements/base/gesture.d.ts.map +1 -1
- package/elements/base/gesture.js +4 -4
- package/elements/base/gesture.js.map +1 -1
- package/elements/base/link.d.ts.map +1 -1
- package/elements/base/link.js +7 -12
- package/elements/base/link.js.map +1 -1
- package/elements/base/modal-factory.d.ts +23 -12
- package/elements/base/modal-factory.d.ts.map +1 -1
- package/elements/base/modal-factory.js +14 -14
- package/elements/base/modal-factory.js.map +1 -1
- package/elements/base/reflect.d.ts +1 -2
- package/elements/base/reflect.d.ts.map +1 -1
- package/elements/base/reflect.js +8 -10
- package/elements/base/reflect.js.map +1 -1
- package/elements/base/route.d.ts +17 -7
- package/elements/base/route.d.ts.map +1 -1
- package/elements/base/route.js +6 -6
- package/elements/base/route.js.map +1 -1
- package/elements/base/title.d.ts +1 -1
- package/elements/base/title.d.ts.map +1 -1
- package/elements/base/title.js +3 -3
- package/elements/base/title.js.map +1 -1
- package/elements/base/unsafe.d.ts +1 -1
- package/elements/base/unsafe.d.ts.map +1 -1
- package/elements/base/unsafe.js +1 -1
- package/elements/base/unsafe.js.map +1 -1
- package/elements/base/use.d.ts +1 -1
- package/elements/base/use.d.ts.map +1 -1
- package/elements/base/use.js +1 -1
- package/elements/base/use.js.map +1 -1
- package/elements/link.js +1 -1
- package/elements/link.js.map +1 -1
- package/elements/route.js +1 -1
- package/elements/route.js.map +1 -1
- package/helper/hmr.d.ts +11 -0
- package/helper/hmr.d.ts.map +1 -0
- package/helper/hmr.js +255 -0
- package/helper/hmr.js.map +1 -0
- package/helper/i18n.d.ts +2 -2
- package/helper/i18n.d.ts.map +1 -1
- package/helper/i18n.js +5 -4
- package/helper/i18n.js.map +1 -1
- package/helper/logger.d.ts +1 -1
- package/helper/logger.d.ts.map +1 -1
- package/helper/logger.js +8 -5
- package/helper/logger.js.map +1 -1
- package/helper/mediaquery.js +1 -1
- package/helper/mediaquery.js.map +1 -1
- package/helper/ssr-shim.d.ts.map +1 -1
- package/helper/ssr-shim.js +2 -0
- package/helper/ssr-shim.js.map +1 -1
- package/helper/theme.d.ts +3 -4
- package/helper/theme.d.ts.map +1 -1
- package/helper/theme.js +1 -1
- package/helper/theme.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.d.ts.map +1 -1
- package/index.js +1 -3
- package/index.js.map +1 -1
- package/lib/decorators.d.ts +5 -13
- package/lib/decorators.d.ts.map +1 -1
- package/lib/decorators.js +40 -42
- package/lib/decorators.js.map +1 -1
- package/lib/directive.d.ts +0 -18
- package/lib/directive.d.ts.map +1 -1
- package/lib/directive.js +1 -2
- package/lib/directive.js.map +1 -1
- package/lib/element.d.ts +8 -137
- package/lib/element.d.ts.map +1 -1
- package/lib/element.js +16 -481
- package/lib/element.js.map +1 -1
- package/lib/history.d.ts +67 -9
- package/lib/history.d.ts.map +1 -1
- package/lib/history.js +12 -12
- package/lib/history.js.map +1 -1
- package/lib/lit-html.d.ts +5 -104
- package/lib/lit-html.d.ts.map +1 -1
- package/lib/lit-html.js +73 -27
- package/lib/lit-html.js.map +1 -1
- package/lib/reactive.d.ts +123 -0
- package/lib/reactive.d.ts.map +1 -0
- package/lib/reactive.js +478 -0
- package/lib/reactive.js.map +1 -0
- package/lib/repeat.d.ts +3 -3
- package/lib/repeat.d.ts.map +1 -1
- package/lib/repeat.js +3 -3
- package/lib/repeat.js.map +1 -1
- package/lib/store.d.ts +13 -2
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +1 -0
- package/lib/store.js.map +1 -1
- package/lib/utils.d.ts +23 -11
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +20 -15
- package/lib/utils.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.d.ts.map +1 -1
- package/lib/version.js +1 -2
- package/lib/version.js.map +1 -1
- package/package.json +3 -3
- package/src/dist.ts +6 -8
- package/src/elements/base/dialog.ts +2 -2
- package/src/elements/base/gesture.ts +5 -5
- package/src/elements/base/link.ts +16 -22
- package/src/elements/base/modal-factory.ts +14 -14
- package/src/elements/base/reflect.ts +2 -3
- package/src/elements/base/route.ts +13 -14
- package/src/elements/base/title.ts +4 -4
- package/src/elements/base/unsafe.ts +1 -1
- package/src/elements/base/use.ts +1 -1
- package/src/elements/link.ts +1 -1
- package/src/elements/route.ts +1 -1
- package/src/helper/hmr.ts +305 -0
- package/src/helper/i18n.ts +7 -7
- package/src/helper/logger.ts +9 -5
- package/src/helper/mediaquery.ts +1 -1
- package/src/helper/ssr-shim.ts +3 -0
- package/src/helper/theme.ts +4 -4
- package/src/index.ts +1 -4
- package/src/lib/decorators.ts +56 -68
- package/src/lib/directive.ts +3 -5
- package/src/lib/element.ts +22 -600
- package/src/lib/history.ts +14 -15
- package/src/lib/lit-html.ts +86 -34
- package/src/lib/reactive.ts +596 -0
- package/src/lib/repeat.ts +5 -5
- package/src/lib/store.ts +1 -0
- package/src/lib/utils.ts +35 -30
- package/src/lib/version.ts +1 -2
- package/src/test/elements/link.test.ts +2 -2
- package/src/test/elements/reflect.test.ts +3 -3
- package/src/test/elements/title.test.ts +2 -2
- package/src/test/gem-element/advance.test.ts +10 -9
- package/src/test/gem-element/basic.test.ts +3 -3
- package/src/test/gem-element/decorators.test.ts +10 -10
- package/src/test/gem-element/multi.test.ts +2 -2
- package/src/test/history.test.ts +1 -2
- package/src/test/store.test.ts +2 -3
- package/src/test/utils.test.ts +4 -5
- package/src/test/utils.ts +2 -2
- package/helper/react-shim.d.ts +0 -15
- package/helper/react-shim.d.ts.map +0 -1
- package/helper/react-shim.js +0 -56
- package/helper/react-shim.js.map +0 -1
- package/lib/directives.d.ts +0 -4
- package/lib/directives.d.ts.map +0 -1
- package/lib/directives.js +0 -5
- package/lib/directives.js.map +0 -1
- package/lib/ref.d.ts +0 -1
- package/lib/ref.d.ts.map +0 -1
- package/lib/ref.js +0 -2
- package/lib/ref.js.map +0 -1
package/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
-
export declare function addMicrotask(func: () => void): void;
|
|
2
|
-
|
|
1
|
+
export declare function addMicrotask(func: () => void, isNodeForceMicrotask?: boolean): void;
|
|
2
|
+
type OverrideFn = {
|
|
3
|
+
name: never;
|
|
4
|
+
apply: never;
|
|
5
|
+
call: never;
|
|
6
|
+
bind: never;
|
|
7
|
+
toString: never;
|
|
8
|
+
prototype: never;
|
|
9
|
+
length: never;
|
|
10
|
+
arguments: never;
|
|
11
|
+
caller: never;
|
|
12
|
+
[Symbol.hasInstance]: never;
|
|
13
|
+
[Symbol.metadata]: never;
|
|
14
|
+
};
|
|
15
|
+
export declare function createUpdater<T, Fn = (payload?: Partial<T>) => any>(initState: T, fn: Fn): Fn & Omit<OverrideFn, keyof T> & T;
|
|
3
16
|
export declare function absoluteLocation(currentPath?: string, relativePath?: string): string;
|
|
4
17
|
export type NonPrimitive = object;
|
|
5
18
|
export declare function addListener<T extends EventTarget, A extends Parameters<T['addEventListener']>>(target: T, type: A[0], listener: A[1], options?: A[2]): () => void;
|
|
@@ -20,8 +33,14 @@ export declare class LinkedList<T = any> extends EventTarget {
|
|
|
20
33
|
get last(): LinkedListItem<T> | undefined;
|
|
21
34
|
isSuperLinkOf(subLink: LinkedList<T>): boolean;
|
|
22
35
|
find(value: T): LinkedListItem<T> | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* 添加到尾部,已存在时会删除老的项目
|
|
38
|
+
* 如果是添加第一个,start 事件会在添加前触发,避免处理事件重复的逻辑
|
|
39
|
+
*/
|
|
23
40
|
add(value: T): void;
|
|
41
|
+
/** 删除这个元素后没有其他元素时立即出发 end 事件 */
|
|
24
42
|
delete(value: T): LinkedListItem<T> | undefined;
|
|
43
|
+
/** 获取头部元素,会从链表删除 */
|
|
25
44
|
get(): T | undefined;
|
|
26
45
|
}
|
|
27
46
|
export declare class PropProxyMap<T extends NonPrimitive, V = unknown> extends WeakMap<T, Record<string, V>> {
|
|
@@ -29,7 +48,6 @@ export declare class PropProxyMap<T extends NonPrimitive, V = unknown> extends W
|
|
|
29
48
|
}
|
|
30
49
|
export declare class QueryString extends URLSearchParams {
|
|
31
50
|
#private;
|
|
32
|
-
constructor(param?: any);
|
|
33
51
|
concat(param: any): void;
|
|
34
52
|
setAny(key: string, value: any): void;
|
|
35
53
|
getAny(key: string): any;
|
|
@@ -52,18 +70,12 @@ export declare class GemError extends Error {
|
|
|
52
70
|
constructor(msg: string);
|
|
53
71
|
}
|
|
54
72
|
export declare function isArrayChange(newValues: any[], oldValues: any[]): boolean;
|
|
55
|
-
export declare function objectMapToString<T = any>(object: Record<string, T>, separate: string,
|
|
56
|
-
type StyleProp = keyof CSSStyleDeclaration | `--${string}` | '
|
|
73
|
+
export declare function objectMapToString<T = any>(object: Record<string, T>, separate: string, toStr: (key: string, value: T) => string): string;
|
|
74
|
+
type StyleProp = keyof CSSStyleDeclaration | `--${string}` | 'positionAnchor' | 'anchorDefault' | 'anchorName';
|
|
57
75
|
export type StyleObject = Partial<Record<StyleProp, string | number | false | undefined | null>>;
|
|
58
76
|
export declare function styleMap(object: StyleObject): string;
|
|
59
77
|
export declare function classMap(object: Record<string, string | number | boolean | undefined | null>): string;
|
|
60
78
|
export declare const partMap: typeof classMap;
|
|
61
79
|
export declare function exportPartsMap(object: Record<string, string | boolean | undefined | null>): string;
|
|
62
|
-
declare global {
|
|
63
|
-
interface PropertyIndexedKeyframes extends StyleObject {
|
|
64
|
-
}
|
|
65
|
-
interface Keyframe extends StyleObject {
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
80
|
export {};
|
|
69
81
|
//# sourceMappingURL=utils.d.ts.map
|
package/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
const { assign, fromEntries, entries, keys } = Object;
|
|
2
2
|
const microtaskSet = new Set();
|
|
3
|
-
export function addMicrotask(func) {
|
|
3
|
+
export function addMicrotask(func, isNodeForceMicrotask) {
|
|
4
4
|
if (microtaskSet.has(func))
|
|
5
5
|
return;
|
|
6
|
-
|
|
6
|
+
const next = () => {
|
|
7
7
|
microtaskSet.delete(func);
|
|
8
8
|
func();
|
|
9
|
-
}
|
|
9
|
+
};
|
|
10
|
+
if (isNodeForceMicrotask) {
|
|
11
|
+
process.nextTick(next);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
Promise.resolve().then(next);
|
|
15
|
+
}
|
|
10
16
|
microtaskSet.add(func);
|
|
11
17
|
}
|
|
12
18
|
// 注意 typeof state === 'function' 但是没有 Function 的方法和属性
|
|
@@ -17,7 +23,8 @@ export function createUpdater(initState, fn) {
|
|
|
17
23
|
delete state.name;
|
|
18
24
|
delete state.length;
|
|
19
25
|
assign(state, initState);
|
|
20
|
-
//
|
|
26
|
+
// ts 不允许直接 Omit 掉 Fn 上的属性
|
|
27
|
+
// 只能利用 ts plugin 移除多余的自动完成项
|
|
21
28
|
return state;
|
|
22
29
|
}
|
|
23
30
|
// 不编码 hash 用于比较
|
|
@@ -77,8 +84,10 @@ export class LinkedList extends EventTarget {
|
|
|
77
84
|
find(value) {
|
|
78
85
|
return this.#map.get(value);
|
|
79
86
|
}
|
|
80
|
-
|
|
81
|
-
|
|
87
|
+
/**
|
|
88
|
+
* 添加到尾部,已存在时会删除老的项目
|
|
89
|
+
* 如果是添加第一个,start 事件会在添加前触发,避免处理事件重复的逻辑
|
|
90
|
+
*/
|
|
82
91
|
add(value) {
|
|
83
92
|
if (!this.#lastItem) {
|
|
84
93
|
this.dispatchEvent(new CustomEvent('start'));
|
|
@@ -95,7 +104,7 @@ export class LinkedList extends EventTarget {
|
|
|
95
104
|
}
|
|
96
105
|
this.#map.set(value, item);
|
|
97
106
|
}
|
|
98
|
-
|
|
107
|
+
/** 删除这个元素后没有其他元素时立即出发 end 事件 */
|
|
99
108
|
delete(value) {
|
|
100
109
|
const deleteItem = this.#delete(value);
|
|
101
110
|
if (!this.#firstItem) {
|
|
@@ -103,8 +112,7 @@ export class LinkedList extends EventTarget {
|
|
|
103
112
|
}
|
|
104
113
|
return deleteItem;
|
|
105
114
|
}
|
|
106
|
-
|
|
107
|
-
// 会从链表删除
|
|
115
|
+
/** 获取头部元素,会从链表删除 */
|
|
108
116
|
get() {
|
|
109
117
|
const firstItem = this.#firstItem;
|
|
110
118
|
if (!firstItem)
|
|
@@ -124,9 +132,6 @@ export class PropProxyMap extends WeakMap {
|
|
|
124
132
|
}
|
|
125
133
|
}
|
|
126
134
|
export class QueryString extends URLSearchParams {
|
|
127
|
-
constructor(param) {
|
|
128
|
-
super(param);
|
|
129
|
-
}
|
|
130
135
|
// support `{ key: ObjectValue }`
|
|
131
136
|
concat(param) {
|
|
132
137
|
let query;
|
|
@@ -196,7 +201,7 @@ export function randomStr(len = 5) {
|
|
|
196
201
|
return str;
|
|
197
202
|
}
|
|
198
203
|
export function camelToKebabCase(str) {
|
|
199
|
-
return str.replace(/[A-Z]/g,
|
|
204
|
+
return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
|
200
205
|
}
|
|
201
206
|
export function kebabToCamelCase(str) {
|
|
202
207
|
return str.replace(/-(.)/g, (_substr, $1) => $1.toUpperCase());
|
|
@@ -223,10 +228,10 @@ export function isArrayChange(newValues, oldValues) {
|
|
|
223
228
|
}
|
|
224
229
|
return false;
|
|
225
230
|
}
|
|
226
|
-
export function objectMapToString(object, separate,
|
|
231
|
+
export function objectMapToString(object, separate, toStr) {
|
|
227
232
|
let result = separate;
|
|
228
233
|
for (const key in object) {
|
|
229
|
-
const s =
|
|
234
|
+
const s = toStr(key, object[key]);
|
|
230
235
|
result += s ? s + separate : '';
|
|
231
236
|
}
|
|
232
237
|
return result;
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;AAEtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAc,CAAC;AAC3C,MAAM,UAAU,YAAY,CAAC,IAAgB;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "2.2.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/lib/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/lib/version.js
CHANGED
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantou/gem",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "💎 使用自定义元素的轻量级 WebApp 开发框架",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"frontend",
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"build:lib": "vite build",
|
|
39
39
|
"build": "pnpm build:module && pnpm build:lib",
|
|
40
40
|
"start": "pnpm build:module --watch",
|
|
41
|
-
"test": "cross-env
|
|
41
|
+
"test": "cross-env wtr"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@gemjs/config": "^2.1.
|
|
44
|
+
"@gemjs/config": "^2.1.1",
|
|
45
45
|
"@types/chai": "^5.0.0",
|
|
46
46
|
"@types/mocha": "^10.0.7",
|
|
47
47
|
"@types/trusted-types": "^2.0.7",
|
package/src/dist.ts
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 导出所有内容,包括 gem 元素
|
|
3
3
|
*/
|
|
4
|
+
|
|
5
|
+
export * from '.';
|
|
6
|
+
export * from './elements/base/dialog';
|
|
7
|
+
export * from './elements/base/modal-factory';
|
|
4
8
|
export * from './elements/link';
|
|
9
|
+
export * from './elements/reflect';
|
|
5
10
|
export * from './elements/route';
|
|
6
11
|
export * from './elements/title';
|
|
7
|
-
export * from './elements/use';
|
|
8
12
|
export * from './elements/unsafe';
|
|
9
|
-
export * from './elements/
|
|
10
|
-
|
|
11
|
-
export * from './elements/base/modal-factory';
|
|
12
|
-
export * from './elements/base/dialog';
|
|
13
|
-
|
|
13
|
+
export * from './elements/use';
|
|
14
14
|
export * from './helper/i18n';
|
|
15
15
|
export * from './helper/logger';
|
|
16
16
|
export * from './helper/mediaquery';
|
|
17
17
|
export * from './helper/request';
|
|
18
18
|
export * from './helper/theme';
|
|
19
|
-
|
|
20
|
-
export * from '.';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { attribute, state, connectStore, aria, willMount } from '../../lib/decorators';
|
|
1
|
+
import { aria, attribute, connectStore, state, willMount } from '../../lib/decorators';
|
|
3
2
|
import { history } from '../../lib/history';
|
|
3
|
+
import { GemElement } from '../../lib/reactive';
|
|
4
4
|
|
|
5
5
|
const final = Symbol();
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { css, GemElement } from '../../lib/element';
|
|
2
1
|
import type { Emitter } from '../../lib/decorators';
|
|
3
2
|
import { adoptedStyle, attribute, emitter, mounted, state } from '../../lib/decorators';
|
|
3
|
+
import { css, GemElement } from '../../lib/reactive';
|
|
4
4
|
|
|
5
5
|
export type PanEventDetail = {
|
|
6
6
|
// movement
|
|
@@ -73,7 +73,7 @@ export class GemGestureElement extends GemElement {
|
|
|
73
73
|
@state grabbing: boolean;
|
|
74
74
|
|
|
75
75
|
#pressed = false; // 触发 press 之后不触发其他事件
|
|
76
|
-
#pressTimer = 0;
|
|
76
|
+
#pressTimer: ReturnType<typeof setTimeout> | number = 0;
|
|
77
77
|
|
|
78
78
|
#startEventMap: Map<number, PointerEvent> = new Map();
|
|
79
79
|
|
|
@@ -134,7 +134,7 @@ export class GemGestureElement extends GemElement {
|
|
|
134
134
|
this.#startEventMap.set(evt.pointerId, evt);
|
|
135
135
|
if (evt.isPrimary) {
|
|
136
136
|
this.#pressed = false;
|
|
137
|
-
this.#pressTimer =
|
|
137
|
+
this.#pressTimer = setTimeout(() => {
|
|
138
138
|
this.press(evt);
|
|
139
139
|
this.#pressed = true;
|
|
140
140
|
}, 251);
|
|
@@ -187,7 +187,7 @@ export class GemGestureElement extends GemElement {
|
|
|
187
187
|
Math.abs(move.clientX - startEvent.clientX) > accuracy ||
|
|
188
188
|
Math.abs(move.clientY - startEvent.clientY) > accuracy
|
|
189
189
|
) {
|
|
190
|
-
|
|
190
|
+
clearTimeout(this.#pressTimer);
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
};
|
|
@@ -205,7 +205,7 @@ export class GemGestureElement extends GemElement {
|
|
|
205
205
|
#onEnd = async (evt: PointerEvent) => {
|
|
206
206
|
evt.stopPropagation();
|
|
207
207
|
const { pointerId } = evt;
|
|
208
|
-
|
|
208
|
+
clearTimeout(this.#pressTimer);
|
|
209
209
|
|
|
210
210
|
if (this.movesMap.size === 1) {
|
|
211
211
|
this.grabbing = false;
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import { css, GemElement, html } from '../../lib/element';
|
|
2
1
|
import {
|
|
2
|
+
adoptedStyle,
|
|
3
|
+
aria,
|
|
3
4
|
attribute,
|
|
4
|
-
|
|
5
|
-
state,
|
|
6
|
-
part,
|
|
5
|
+
boolattribute,
|
|
7
6
|
connectStore,
|
|
8
|
-
shadow,
|
|
9
|
-
aria,
|
|
10
|
-
adoptedStyle,
|
|
11
|
-
mounted,
|
|
12
7
|
effect,
|
|
13
|
-
|
|
8
|
+
mounted,
|
|
9
|
+
part,
|
|
10
|
+
property,
|
|
11
|
+
shadow,
|
|
12
|
+
state,
|
|
14
13
|
template,
|
|
15
14
|
} from '../../lib/decorators';
|
|
16
|
-
import {
|
|
15
|
+
import { css, GemElement, html } from '../../lib/element';
|
|
16
|
+
import { basePathStore, history } from '../../lib/history';
|
|
17
17
|
import { absoluteLocation } from '../../lib/utils';
|
|
18
|
-
|
|
19
18
|
import type { RouteItem, RouteOptions } from './route';
|
|
20
|
-
import {
|
|
19
|
+
import { createHistoryParams, createPath, matchPath } from './route';
|
|
21
20
|
|
|
22
21
|
function isExternal(path: string) {
|
|
23
22
|
return !path.startsWith('/');
|
|
@@ -73,7 +72,9 @@ export class GemLinkElement extends GemElement {
|
|
|
73
72
|
return this.hint || 'on';
|
|
74
73
|
}
|
|
75
74
|
|
|
76
|
-
#onClick = async () => {
|
|
75
|
+
#onClick = async (e: MouseEvent) => {
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
|
|
77
78
|
const locationString = this._getLocationString();
|
|
78
79
|
|
|
79
80
|
if (!locationString) return;
|
|
@@ -122,8 +123,6 @@ export class GemLinkElement extends GemElement {
|
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
125
|
|
|
125
|
-
#preventDefault = (e: MouseEvent) => e.preventDefault();
|
|
126
|
-
|
|
127
126
|
#getHint = () => {
|
|
128
127
|
const locationString = this._getLocationString();
|
|
129
128
|
return isExternal(locationString)
|
|
@@ -146,13 +145,8 @@ export class GemLinkElement extends GemElement {
|
|
|
146
145
|
|
|
147
146
|
@template()
|
|
148
147
|
#content = () => {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
@click=${this.#preventDefault}
|
|
152
|
-
href=${this.#hint === 'off' ? null : this.#getHint()}
|
|
153
|
-
tabindex="-1"
|
|
154
|
-
><slot></slot
|
|
155
|
-
></a>`;
|
|
148
|
+
const href = this.#hint === 'off' ? null : this.#getHint();
|
|
149
|
+
return html`<a part=${this.link} href=${href} tabindex="-1"><slot></slot></a>`;
|
|
156
150
|
};
|
|
157
151
|
|
|
158
152
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { GemElement } from '../../lib/element';
|
|
2
|
-
import { connect, createStore } from '../../lib/store';
|
|
3
|
-
import { history } from '../../lib/history';
|
|
4
1
|
import { aria, mounted, shadow } from '../../lib/decorators';
|
|
2
|
+
import { history } from '../../lib/history';
|
|
3
|
+
import { GemElement } from '../../lib/reactive';
|
|
4
|
+
import { connect, createStore } from '../../lib/store';
|
|
5
5
|
|
|
6
6
|
const open = Symbol('open mark');
|
|
7
7
|
|
|
@@ -32,7 +32,7 @@ export function createModalClass<T extends Record<string, unknown>>(options: T)
|
|
|
32
32
|
|
|
33
33
|
/**@final */
|
|
34
34
|
static get isOpen() {
|
|
35
|
-
return
|
|
35
|
+
return ModalElement.store[open];
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -41,19 +41,19 @@ export function createModalClass<T extends Record<string, unknown>>(options: T)
|
|
|
41
41
|
* 浏览器 history 为异步 API,需要设置较长延迟;
|
|
42
42
|
*/
|
|
43
43
|
static open(opts: T) {
|
|
44
|
-
const instance = new
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
const instance = new ModalElement();
|
|
45
|
+
ModalElement.instance = instance;
|
|
46
|
+
ModalElement.inertStore = ([...document.body.children] as HTMLElement[]).filter((e) => !e.inert);
|
|
47
|
+
ModalElement.inertStore.forEach((e) => (e.inert = true));
|
|
48
48
|
document.body.append(instance);
|
|
49
|
-
const changeStore = () =>
|
|
49
|
+
const changeStore = () => ModalElement.store({ [open]: true, ...opts });
|
|
50
50
|
setTimeout(() => {
|
|
51
51
|
changeStore();
|
|
52
52
|
history.push({
|
|
53
53
|
title: instance.label,
|
|
54
54
|
open: changeStore,
|
|
55
|
-
close:
|
|
56
|
-
shouldClose:
|
|
55
|
+
close: ModalElement.closeHandle.bind(ModalElement),
|
|
56
|
+
shouldClose: ModalElement.shouldClose.bind(ModalElement),
|
|
57
57
|
});
|
|
58
58
|
}, 100);
|
|
59
59
|
return final;
|
|
@@ -73,9 +73,9 @@ export function createModalClass<T extends Record<string, unknown>>(options: T)
|
|
|
73
73
|
* history 中自动调用
|
|
74
74
|
*/
|
|
75
75
|
static closeHandle() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
ModalElement.inertStore.forEach((e) => (e.inert = false));
|
|
77
|
+
ModalElement.instance?.remove();
|
|
78
|
+
ModalElement.store({ [open]: false, ...options });
|
|
79
79
|
return final;
|
|
80
80
|
}
|
|
81
81
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* - ref 读取时需要用到 `target` `dataset`
|
|
3
2
|
* - 预渲染可能造成重复的元素,在序列化时可以用正则移除 GemReflectElement 渲染的从开始到结束连续的元素
|
|
4
3
|
* - `replaceAll(/<!--gem-reflect-start-->.*?<!--gem-reflect-end-->/gs, '')`
|
|
5
4
|
*
|
|
6
5
|
* 不能在在顶级代码块中清除这些元素,因为重复加载该代码时会把正常 reflect 元素清除,
|
|
7
6
|
* 比如 duoyun-ui 文档站加载示例元素时把 GemReflectElement 渲染的元素清除
|
|
8
7
|
*/
|
|
9
|
-
|
|
8
|
+
|
|
10
9
|
import { attribute, effect, property, willMount } from '../../lib/decorators';
|
|
10
|
+
import { GemElement } from '../../lib/reactive';
|
|
11
11
|
|
|
12
12
|
const START = 'gem-reflect-start';
|
|
13
13
|
const END = 'gem-reflect-end';
|
|
@@ -37,7 +37,6 @@ export class GemReflectElement extends GemElement {
|
|
|
37
37
|
@willMount()
|
|
38
38
|
#init = () => {
|
|
39
39
|
this.hidden = true;
|
|
40
|
-
this.dataset.gemReflect = '';
|
|
41
40
|
};
|
|
42
41
|
|
|
43
42
|
#startNode = createReflectFragmentTag(START);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { TemplateResult } from '../../lib/element';
|
|
2
|
-
import { createState, css, GemElement, html } from '../../lib/element';
|
|
3
1
|
import type { Emitter } from '../../lib/decorators';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { createStore, connect } from '../../lib/store';
|
|
2
|
+
import { adoptedStyle, boolattribute, effect, emitter, light, property, shadow, template } from '../../lib/decorators';
|
|
3
|
+
import { createState, css, GemElement, html } from '../../lib/element';
|
|
7
4
|
import type { UpdateHistoryParams } from '../../lib/history';
|
|
8
|
-
import {
|
|
5
|
+
import { history, titleStore } from '../../lib/history';
|
|
6
|
+
import type { TemplateResult } from '../../lib/lit-html';
|
|
7
|
+
import type { Store } from '../../lib/store';
|
|
8
|
+
import { connect, createStore } from '../../lib/store';
|
|
9
9
|
import type { QueryString } from '../../lib/utils';
|
|
10
10
|
import { addListener } from '../../lib/utils';
|
|
11
11
|
|
|
@@ -30,11 +30,10 @@ class ParamsRegExp extends RegExp {
|
|
|
30
30
|
|
|
31
31
|
type Params = Record<string, string>;
|
|
32
32
|
declare global {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
33
|
+
// https://bugzilla.mozilla.org/show_bug.cgi?id=1731418
|
|
34
|
+
// https://github.com/WebKit/standards-positions/issues/61
|
|
35
|
+
// eslint-disable-next-line no-var
|
|
36
|
+
var URLPattern: any;
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
/**
|
|
@@ -51,8 +50,8 @@ declare global {
|
|
|
51
50
|
* ```
|
|
52
51
|
*/
|
|
53
52
|
export function matchPath(pattern: string, path: string) {
|
|
54
|
-
if (
|
|
55
|
-
const urLPattern = new
|
|
53
|
+
if (globalThis.URLPattern) {
|
|
54
|
+
const urLPattern = new URLPattern({ pathname: pattern });
|
|
56
55
|
const matchResult = urLPattern.exec({ pathname: path }) || urLPattern.exec({ pathname: `${path}/` });
|
|
57
56
|
if (!matchResult) return null;
|
|
58
57
|
return matchResult.pathname.groups as Params;
|
|
@@ -171,7 +170,7 @@ export class GemLightRouteElement extends GemElement {
|
|
|
171
170
|
static findRoute = (target: RouteItem[] | RoutesObject = [], path: string) => {
|
|
172
171
|
let defaultRoute: RouteItem | null = null;
|
|
173
172
|
let routes: RouteItem[];
|
|
174
|
-
if (target
|
|
173
|
+
if (Array.isArray(target)) {
|
|
175
174
|
routes = target;
|
|
176
175
|
} else {
|
|
177
176
|
routes = Object.values(target);
|
|
@@ -12,16 +12,16 @@
|
|
|
12
12
|
* - `<gem-title>` 作为默认值设置
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { GemElement, html } from '../../lib/element';
|
|
16
15
|
import { attribute, boolattribute, effect, mounted, shadow, template } from '../../lib/decorators';
|
|
17
|
-
import { connect } from '../../lib/store';
|
|
18
16
|
import { titleStore } from '../../lib/history';
|
|
17
|
+
import { GemElement, html } from '../../lib/reactive';
|
|
18
|
+
import { connect } from '../../lib/store';
|
|
19
19
|
|
|
20
20
|
// 避免重定向时的中间状态标题
|
|
21
|
-
let timer = 0;
|
|
21
|
+
let timer: ReturnType<typeof setTimeout> | number = 0;
|
|
22
22
|
const setTitle = (documentTitle: string) => {
|
|
23
23
|
clearTimeout(timer);
|
|
24
|
-
timer =
|
|
24
|
+
timer = setTimeout(() => (document.title = documentTitle));
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
function setDocumentTitle(defaultTitle?: string | null, prefix = '', suffix = '') {
|
package/src/elements/base/use.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { css, GemElement, html } from '../../lib/element';
|
|
2
1
|
import { adoptedStyle, attribute, property, shadow, state, template } from '../../lib/decorators';
|
|
2
|
+
import { css, GemElement, html } from '../../lib/reactive';
|
|
3
3
|
|
|
4
4
|
const styles = css`
|
|
5
5
|
:host(:where(:not([hidden]))) {
|
package/src/elements/link.ts
CHANGED
package/src/elements/route.ts
CHANGED