@mantou/gem 1.7.11 → 2.0.0-alpha.0

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 (127) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/gem.es.js +1962 -1689
  4. package/dist/gem.umd.js +52 -54
  5. package/elements/base/dialog.d.ts +0 -11
  6. package/elements/base/dialog.d.ts.map +1 -1
  7. package/elements/base/dialog.js +93 -66
  8. package/elements/base/dialog.js.map +1 -1
  9. package/elements/base/gesture.d.ts +1 -2
  10. package/elements/base/gesture.d.ts.map +1 -1
  11. package/elements/base/gesture.js +157 -96
  12. package/elements/base/gesture.js.map +1 -1
  13. package/elements/base/link.d.ts +5 -5
  14. package/elements/base/link.d.ts.map +1 -1
  15. package/elements/base/link.js +249 -145
  16. package/elements/base/link.js.map +1 -1
  17. package/elements/base/modal-factory.d.ts +147 -139
  18. package/elements/base/modal-factory.d.ts.map +1 -1
  19. package/elements/base/modal-factory.js +84 -25
  20. package/elements/base/modal-factory.js.map +1 -1
  21. package/elements/base/reflect.d.ts +0 -1
  22. package/elements/base/reflect.d.ts.map +1 -1
  23. package/elements/base/reflect.js +83 -38
  24. package/elements/base/reflect.js.map +1 -1
  25. package/elements/base/route.d.ts +12 -24
  26. package/elements/base/route.d.ts.map +1 -1
  27. package/elements/base/route.js +263 -164
  28. package/elements/base/route.js.map +1 -1
  29. package/elements/base/title.d.ts +3 -11
  30. package/elements/base/title.d.ts.map +1 -1
  31. package/elements/base/title.js +110 -59
  32. package/elements/base/title.js.map +1 -1
  33. package/elements/base/unsafe.d.ts +0 -1
  34. package/elements/base/unsafe.d.ts.map +1 -1
  35. package/elements/base/unsafe.js +82 -33
  36. package/elements/base/unsafe.js.map +1 -1
  37. package/elements/base/use.d.ts.map +1 -1
  38. package/elements/base/use.js +95 -47
  39. package/elements/base/use.js.map +1 -1
  40. package/helper/i18n.d.ts +4 -9
  41. package/helper/i18n.d.ts.map +1 -1
  42. package/helper/i18n.js +69 -65
  43. package/helper/i18n.js.map +1 -1
  44. package/helper/logger.js +10 -9
  45. package/helper/logger.js.map +1 -1
  46. package/helper/react-shim.d.ts +15 -0
  47. package/helper/react-shim.d.ts.map +1 -0
  48. package/helper/react-shim.js +56 -0
  49. package/helper/react-shim.js.map +1 -0
  50. package/helper/react-utils.d.ts +15 -0
  51. package/helper/react-utils.d.ts.map +1 -0
  52. package/helper/react-utils.js +50 -0
  53. package/helper/react-utils.js.map +1 -0
  54. package/helper/request.d.ts +17 -7
  55. package/helper/request.d.ts.map +1 -1
  56. package/helper/request.js +103 -53
  57. package/helper/request.js.map +1 -1
  58. package/helper/ssr-shim.d.ts.map +1 -1
  59. package/helper/ssr-shim.js +8 -1
  60. package/helper/ssr-shim.js.map +1 -1
  61. package/helper/theme.d.ts +14 -21
  62. package/helper/theme.d.ts.map +1 -1
  63. package/helper/theme.js +55 -38
  64. package/helper/theme.js.map +1 -1
  65. package/index.d.ts +4 -3
  66. package/index.d.ts.map +1 -1
  67. package/index.js +5 -3
  68. package/index.js.map +1 -1
  69. package/lib/decorators.d.ts +74 -41
  70. package/lib/decorators.d.ts.map +1 -1
  71. package/lib/decorators.js +324 -84
  72. package/lib/decorators.js.map +1 -1
  73. package/lib/directives.d.ts +4 -0
  74. package/lib/directives.d.ts.map +1 -0
  75. package/lib/directives.js +5 -0
  76. package/lib/directives.js.map +1 -0
  77. package/lib/element.d.ts +112 -110
  78. package/lib/element.d.ts.map +1 -1
  79. package/lib/element.js +431 -470
  80. package/lib/element.js.map +1 -1
  81. package/lib/history.d.ts +4 -0
  82. package/lib/history.d.ts.map +1 -1
  83. package/lib/history.js +12 -13
  84. package/lib/history.js.map +1 -1
  85. package/lib/store.d.ts +1 -1
  86. package/lib/store.d.ts.map +1 -1
  87. package/lib/store.js +4 -5
  88. package/lib/store.js.map +1 -1
  89. package/lib/utils.d.ts +3 -43
  90. package/lib/utils.d.ts.map +1 -1
  91. package/lib/utils.js +61 -246
  92. package/lib/utils.js.map +1 -1
  93. package/lib/version.d.ts +1 -1
  94. package/lib/version.d.ts.map +1 -1
  95. package/lib/version.js +2 -1
  96. package/lib/version.js.map +1 -1
  97. package/package.json +12 -11
  98. package/src/dist.ts +3 -2
  99. package/src/elements/base/dialog.ts +10 -20
  100. package/src/elements/base/gesture.ts +16 -14
  101. package/src/elements/base/link.ts +65 -44
  102. package/src/elements/base/modal-factory.ts +14 -14
  103. package/src/elements/base/reflect.ts +24 -32
  104. package/src/elements/base/route.ts +55 -68
  105. package/src/elements/base/title.ts +25 -42
  106. package/src/elements/base/unsafe.ts +12 -21
  107. package/src/elements/base/use.ts +17 -13
  108. package/src/helper/i18n.ts +20 -14
  109. package/src/helper/react-utils.ts +66 -0
  110. package/src/helper/request.ts +122 -53
  111. package/src/helper/ssr-shim.ts +8 -1
  112. package/src/helper/theme.ts +72 -45
  113. package/src/index.ts +6 -4
  114. package/src/lib/decorators.ts +394 -93
  115. package/src/lib/directives.ts +6 -0
  116. package/src/lib/element.ts +473 -499
  117. package/src/lib/history.ts +4 -3
  118. package/src/lib/store.ts +2 -1
  119. package/src/lib/utils.ts +19 -205
  120. package/src/lib/version.ts +2 -1
  121. package/src/test/elements/link.test.ts +1 -1
  122. package/src/test/elements/title.test.ts +1 -0
  123. package/src/test/gem-element/advance.test.ts +72 -49
  124. package/src/test/gem-element/basic.test.ts +37 -50
  125. package/src/test/gem-element/decorators.test.ts +22 -21
  126. package/src/test/gem-element/multi.test.ts +5 -5
  127. package/src/test/utils.test.ts +16 -38
@@ -1,34 +1,25 @@
1
+ import type { createCSSSheet, Metadata, TemplateResult } from './element';
1
2
  import { GemElement } from './element';
2
- import { Store } from './store';
3
- import { Sheet } from './utils';
4
- type GemElementPrototype = GemElement<any>;
5
- export type RefObject<T = HTMLElement> = {
6
- ref: string;
7
- element: T | undefined;
8
- };
3
+ import type { Store } from './store';
4
+ import * as elementExports from './element';
5
+ import * as decoratorsExports from './decorators';
6
+ import * as storeExports from './store';
7
+ import * as versionExports from './version';
9
8
  /**
10
- * 引用元素,只有第一个标记 ref 的元素有效
9
+ * 定义一个响应式的 attribute,驼峰字段名将自动映射到烤串 attribute,默认值为空字符串;不要覆盖定义
11
10
  *
12
11
  * For example
13
12
  * ```ts
14
13
  * class App extends GemElement {
15
- * @refobject childRef: RefObject<Children>;
16
- * loadHandle = () => {
17
- * const { element } = this.childRef;
18
- * console.log(element);
19
- * };
20
- * render() {
21
- * render html`<div ref=${this.childRef.ref}><div>`;
22
- * }
14
+ * @attribute attr: string;
23
15
  * }
24
16
  * ```
25
17
  */
26
- export declare function refobject(target: GemElementPrototype, prop: string): void;
27
- export declare function attribute(target: GemElementPrototype, prop: string): void;
28
- export declare function boolattribute(target: GemElementPrototype, prop: string): void;
29
- export declare function numattribute(target: GemElementPrototype, prop: string): void;
18
+ export declare function attribute<T extends GemElement>(_: undefined, context: ClassFieldDecoratorContext<T, string>): (this: any, initValue: any) => any;
19
+ export declare function boolattribute<T extends GemElement>(_: undefined, context: ClassFieldDecoratorContext<T, boolean>): (this: any, initValue: any) => any;
20
+ export declare function numattribute<T extends GemElement>(_: undefined, context: ClassFieldDecoratorContext<T, number>): (this: any, initValue: any) => any;
30
21
  /**
31
- * 定义一个响应式的 property,注意值可能为 `undefined`
22
+ * 定义一个响应式的 property,注意值可能为 `undefined`;不要覆盖定义
32
23
  *
33
24
  * For example
34
25
  * ```ts
@@ -37,7 +28,45 @@ export declare function numattribute(target: GemElementPrototype, prop: string):
37
28
  * }
38
29
  * ```
39
30
  */
40
- export declare function property(target: GemElementPrototype, prop: string): void;
31
+ export declare function property<T extends GemElement>(_: undefined, context: ClassFieldDecoratorContext<T>): (this: any, initValue: any) => any;
32
+ /**
33
+ * 依赖 `GemElement.memo`
34
+ *
35
+ * For example
36
+ * ```ts
37
+ * class App extends GemElement {
38
+ * @memo(() => [])
39
+ * get data() {
40
+ * return 1;
41
+ * }
42
+ * }
43
+ * ```
44
+ */
45
+ export declare function memo<T extends GemElement, V = any, K = any[] | undefined>(getDep?: K extends readonly any[] ? (instance: T) => K : undefined): (_: any, context: ClassGetterDecoratorContext<T, V> | ClassFieldDecoratorContext<T> | ClassMethodDecoratorContext<T>) => void;
46
+ /**
47
+ * 依赖 `GemElement.effect`
48
+ * 方法执行在字段前面
49
+ *
50
+ * For example
51
+ * ```ts
52
+ * class App extends GemElement {
53
+ * @effect(() => [])
54
+ * #fetchData() {
55
+ * console.log('fetch')
56
+ * }
57
+ * }
58
+ * ```
59
+ */
60
+ export declare function effect<T extends GemElement, V extends (depValues: K, oldDepValues?: K) => any, K = any[] | undefined>(getDep?: K extends readonly any[] ? (instance: T) => K : undefined): (_: any, { addInitializer, access }: ClassFieldDecoratorContext<T, V> | ClassMethodDecoratorContext<T, V>) => void;
61
+ export declare function unmounted<T extends GemElement, V extends () => any>(): (_: any, { addInitializer, access }: ClassFieldDecoratorContext<T, V> | ClassMethodDecoratorContext<T, V>) => void;
62
+ /**`@memo` 别名,不能再在回调中使用 `this.memo` */
63
+ export declare function willMount(): (_: any, context: ClassGetterDecoratorContext<GemElement, any> | ClassFieldDecoratorContext<GemElement, unknown> | ClassMethodDecoratorContext<GemElement, (this: GemElement, ...args: any) => any>) => void;
64
+ /**`@effect` 别名,不能再在回调中使用 `this.effect` */
65
+ export declare function mounted(): (_: any, { addInitializer, access }: ClassFieldDecoratorContext<GemElement, (depValues: never[], oldDepValues?: never[] | undefined) => any> | ClassMethodDecoratorContext<GemElement, (depValues: never[], oldDepValues?: never[] | undefined) => any>) => void;
66
+ export declare function template<T extends GemElement, V extends () => TemplateResult | null | undefined>(
67
+ /** 当所有 `template` 返回 `false` 时不进行更新,包括 `memo` */
68
+ condition?: (instance: T) => boolean): (_: any, { addInitializer, access }: ClassFieldDecoratorContext<T, V> | ClassMethodDecoratorContext<T, V>) => void;
69
+ export declare function fallback<T extends GemElement, V extends (err: any) => TemplateResult | null | undefined>(): (_: any, { addInitializer, access }: ClassFieldDecoratorContext<T, V> | ClassMethodDecoratorContext<T, V>) => void;
41
70
  /**
42
71
  * 定义一个元素[内部](https://html.spec.whatwg.org/multipage/custom-elements.html#elementinternals) state,
43
72
  * 类似 `:checked`,用于自定义 css 伪类(:state(xxx)),默认值即为字段名。
@@ -51,7 +80,7 @@ export declare function property(target: GemElementPrototype, prop: string): voi
51
80
  * }
52
81
  * ```
53
82
  */
54
- export declare function state(target: GemElementPrototype, prop: string): void;
83
+ export declare function state<T extends GemElement>(_: undefined, context: ClassFieldDecoratorContext<T, boolean>): void;
55
84
  /**
56
85
  * 定义一个内部 slot,默认值即为字段名,不能使用全局属性 `slot`
57
86
  *
@@ -63,7 +92,7 @@ export declare function state(target: GemElementPrototype, prop: string): void;
63
92
  * }
64
93
  * ```
65
94
  */
66
- export declare function slot(target: any, prop: string): void;
95
+ export declare function slot(_: undefined, context: ClassFieldDecoratorContext<any, string>): (this: any, value: string) => string;
67
96
  /**
68
97
  * 定义一个内部 part,默认值即为字段名,不能使用全局属性 `part`
69
98
  *
@@ -75,8 +104,8 @@ export declare function slot(target: any, prop: string): void;
75
104
  * }
76
105
  * ```
77
106
  */
78
- export declare function part(target: any, prop: string): void;
79
- export type Emitter<T = any> = (detail: T, options?: Omit<CustomEventInit<unknown>, 'detail'>) => void;
107
+ export declare function part(_: undefined, context: ClassFieldDecoratorContext<any, string>): (this: any, value: string) => string;
108
+ export type Emitter<T = any> = (detail?: T, options?: Omit<CustomEventInit<unknown>, 'detail'>) => void;
80
109
  /**
81
110
  * 定义一个事件发射器,类似 `HTMLElement.click`,
82
111
  * 调用时将同步发送一个和字段名称的烤串式格式的自定义事件
@@ -88,10 +117,10 @@ export type Emitter<T = any> = (detail: T, options?: Omit<CustomEventInit<unknow
88
117
  * }
89
118
  * ```
90
119
  */
91
- export declare function emitter(target: GemElementPrototype, prop: string): void;
92
- export declare function globalemitter(target: GemElementPrototype, prop: string): void;
120
+ export declare function emitter<T extends GemElement>(_: undefined, context: ClassFieldDecoratorContext<T, Emitter>): void;
121
+ export declare function globalemitter<T extends GemElement>(_: undefined, context: ClassFieldDecoratorContext<T, Emitter>): void;
93
122
  /**
94
- * 分配一个构造的样式表,如果元素是 lightDOM,则将样式表挂载到 RootNode 上
123
+ * 分配一个构造的样式表,前面的优先级越高(因为装饰器是越近越早执行)
95
124
  *
96
125
  * For example
97
126
  * ```ts
@@ -99,7 +128,7 @@ export declare function globalemitter(target: GemElementPrototype, prop: string)
99
128
  * class App extends GemElement {}
100
129
  * ```
101
130
  */
102
- export declare function adoptedStyle(style: Sheet<unknown>): (cls: unknown) => void;
131
+ export declare function adoptedStyle(sheet: ReturnType<typeof createCSSSheet>): (_: unknown, context: ClassDecoratorContext) => void;
103
132
  /**
104
133
  * 链接一个 store,当 store 更新时更新元素
105
134
  *
@@ -109,17 +138,17 @@ export declare function adoptedStyle(style: Sheet<unknown>): (cls: unknown) => v
109
138
  * class App extends GemElement {}
110
139
  * ```
111
140
  */
112
- export declare function connectStore(store: Store<unknown>): (cls: unknown) => void;
141
+ export declare function connectStore(store: Store<unknown>): (_: unknown, context: ClassDecoratorContext) => void;
142
+ export declare function shadow({ mode, serializable, delegatesFocus, slotAssignment, }?: Partial<ShadowRootInit>): (_: any, context: ClassDecoratorContext) => void;
113
143
  /**
114
- * 限制元素的 root 节点类型
115
- *
116
- * For example
117
- * ```ts
118
- * @rootElement('my-element')
119
- * class App extends GemElement {}
120
- * ```
144
+ * 将元素标记为可中断异步渲染
145
+ * 例如:https://examples.gemjs.org/async
146
+ */
147
+ export declare function async(): (_: any, context: ClassDecoratorContext) => void;
148
+ /**
149
+ * 定义元素的可访问性属性
121
150
  */
122
- export declare function rootElement(rootType: string): (cls: unknown) => void;
151
+ export declare function aria(info: Metadata['aria']): (_: any, context: ClassDecoratorContext) => void;
123
152
  /**
124
153
  * 定义自定义元素
125
154
  *
@@ -129,6 +158,10 @@ export declare function rootElement(rootType: string): (cls: unknown) => void;
129
158
  * class App extends GemElement {}
130
159
  * ```
131
160
  */
132
- export declare function customElement(name: string): (cls: unknown) => void;
133
- export {};
161
+ export declare function customElement(name: string): (cls: new (...args: any) => any, { addInitializer }: ClassDecoratorContext) => void;
162
+ declare global {
163
+ interface Window {
164
+ __GEM_DEVTOOLS__HOOK__?: (typeof elementExports & typeof decoratorsExports & typeof storeExports & typeof versionExports) | Record<string, never>;
165
+ }
166
+ }
134
167
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,UAAU,EAAuB,MAAM,WAAW,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAA+B,MAAM,SAAS,CAAC;AAE7D,KAAK,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAiB3C,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,WAAW,IAAI;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAIlE;AAgBD,wBAAgB,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAElE;AACD,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAItE;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAIrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAGjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAI9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAI7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAI7C;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;AAEvG;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAEhE;AACD,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAEtE;AAOD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAC1B,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAC1B,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,SACpB,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,SAClB,OAAO,UAG9B"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}