@mantou/gem 1.7.12 → 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 (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/gem.es.js +2010 -1765
  4. package/dist/gem.umd.js +52 -53
  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 +145 -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 +4 -4
  55. package/helper/request.d.ts.map +1 -1
  56. package/helper/request.js +1 -1
  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 -42
  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 -468
  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 -235
  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/ssr-shim.ts +8 -1
  111. package/src/helper/theme.ts +72 -45
  112. package/src/index.ts +6 -4
  113. package/src/lib/decorators.ts +394 -93
  114. package/src/lib/directives.ts +6 -0
  115. package/src/lib/element.ts +473 -500
  116. package/src/lib/history.ts +4 -3
  117. package/src/lib/store.ts +2 -1
  118. package/src/lib/utils.ts +12 -191
  119. package/src/lib/version.ts +2 -1
  120. package/src/test/elements/link.test.ts +1 -1
  121. package/src/test/elements/title.test.ts +1 -0
  122. package/src/test/gem-element/advance.test.ts +72 -49
  123. package/src/test/gem-element/basic.test.ts +37 -50
  124. package/src/test/gem-element/decorators.test.ts +22 -21
  125. package/src/test/gem-element/multi.test.ts +5 -5
  126. package/src/test/utils.test.ts +15 -45
package/lib/decorators.js CHANGED
@@ -1,77 +1,269 @@
1
- import { defineAttribute, defineCSSState, defineProperty, defineRef, GemElement, nativeDefineElement } from './element';
2
- import { camelToKebabCase, randomStr } from './utils';
3
- function pushStaticField(target, field, member, isSet = false) {
4
- const cls = target.constructor;
5
- const current = cls[field];
6
- if (!cls.hasOwnProperty(field)) {
7
- Object.defineProperty(cls, field, {
8
- value: isSet ? new Set(current) : current ? Array.from(current) : [],
1
+ import { GemElement, UpdateToken, createTemplate, RenderErrorEvent, render } from './element';
2
+ import { camelToKebabCase, PropProxyMap, GemError } from './utils';
3
+ import * as elementExports from './element';
4
+ import * as decoratorsExports from './decorators';
5
+ import * as storeExports from './store';
6
+ import * as versionExports from './version';
7
+ const { deleteProperty, getOwnPropertyDescriptor, defineProperty } = Reflect;
8
+ const { getPrototypeOf, assign } = Object;
9
+ const gemElementProxyMap = new PropProxyMap();
10
+ function pushStaticField(context, field, member) {
11
+ const metadata = context.metadata;
12
+ if (!getOwnPropertyDescriptor(metadata, field)) {
13
+ // 继承基类
14
+ const current = new Set(metadata[field]);
15
+ current.delete(member);
16
+ defineProperty(metadata, field, {
17
+ value: [...current],
9
18
  });
10
19
  }
11
- cls[field][isSet ? 'add' : 'push'](member);
20
+ metadata[field].push(member);
21
+ }
22
+ function clearField(instance, prop) {
23
+ const { value } = getOwnPropertyDescriptor(instance, prop);
24
+ deleteProperty(instance, prop);
25
+ instance[prop] = value;
26
+ }
27
+ const observedTargetAttributes = new WeakMap();
28
+ // hack 修改 attribute 行为,如果是观察的,就使用 `setter`
29
+ // 不在 Devtools 中工作 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#dom_access
30
+ // 使用 Gem DevTools 注入脚本监听 attribute 变化
31
+ const { setAttribute, toggleAttribute, removeAttribute } = Element.prototype;
32
+ GemElement.prototype.setAttribute = function (n, v) {
33
+ const prop = observedTargetAttributes.get(getPrototypeOf(this))?.get(n);
34
+ if (!prop)
35
+ return setAttribute.call(this, n, v);
36
+ this[prop] = v;
37
+ };
38
+ GemElement.prototype.removeAttribute = function (n) {
39
+ const prop = observedTargetAttributes.get(getPrototypeOf(this))?.get(n);
40
+ if (!prop)
41
+ return removeAttribute.call(this, n);
42
+ this[prop] = null;
43
+ };
44
+ GemElement.prototype.toggleAttribute = function (n, force) {
45
+ const prop = observedTargetAttributes.get(getPrototypeOf(this))?.get(n);
46
+ if (!prop)
47
+ return toggleAttribute.call(this, n, force);
48
+ return (this[prop] = force ?? !this.hasAttribute(n));
49
+ };
50
+ function emptyFunction() {
51
+ // 用于占位的空函数
52
+ }
53
+ const isEventHandleSymbol = Symbol('event handle');
54
+ function defineProp(target, prop, { attr, attrType, event, eventOptions } = {}) {
55
+ defineProperty(target, prop, {
56
+ configurable: true,
57
+ get() {
58
+ const value = gemElementProxyMap.get(this)[prop];
59
+ if (event && !value) {
60
+ this[prop] = emptyFunction;
61
+ return this[prop];
62
+ }
63
+ return value;
64
+ },
65
+ set(v) {
66
+ const that = this;
67
+ const proxy = gemElementProxyMap.get(that);
68
+ if (attr) {
69
+ v = attrType === Boolean && v === '' ? true : attrType(v || '');
70
+ if (!v) {
71
+ removeAttribute.call(this, attr);
72
+ }
73
+ else {
74
+ setAttribute.call(this, attr, attrType === Boolean ? '' : v);
75
+ }
76
+ }
77
+ if (v === proxy[prop])
78
+ return;
79
+ if (event) {
80
+ proxy[prop] = v?.[isEventHandleSymbol]
81
+ ? v
82
+ : (detail, options) => {
83
+ const evt = new CustomEvent(event, { ...options, ...eventOptions, detail });
84
+ that.dispatchEvent(evt);
85
+ v(detail, options);
86
+ };
87
+ proxy[prop][isEventHandleSymbol] = true;
88
+ // emitter 不触发元素更新
89
+ }
90
+ else {
91
+ proxy[prop] = v;
92
+ this[UpdateToken]();
93
+ }
94
+ },
95
+ });
96
+ }
97
+ function decoratorAttr(context, attrType) {
98
+ const prop = context.name;
99
+ const attr = camelToKebabCase(prop);
100
+ context.addInitializer(function () {
101
+ const target = getPrototypeOf(this);
102
+ if (!target.hasOwnProperty(prop)) {
103
+ pushStaticField(context, 'observedAttributes', attr); // 没有 observe 的效果
104
+ defineProp(target, prop, { attr, attrType });
105
+ // 记录观察的 attribute
106
+ const attrMap = observedTargetAttributes.get(target) || new Map();
107
+ attrMap.set(attr, prop);
108
+ observedTargetAttributes.set(target, attrMap);
109
+ }
110
+ clearField(this, prop);
111
+ });
112
+ // 延时定义的元素需要继承原实例属性值
113
+ return function (initValue) {
114
+ return this.getAttribute(attr) ?? initValue;
115
+ };
12
116
  }
13
117
  /**
14
- * 引用元素,只有第一个标记 ref 的元素有效
118
+ * 定义一个响应式的 attribute,驼峰字段名将自动映射到烤串 attribute,默认值为空字符串;不要覆盖定义
15
119
  *
16
120
  * For example
17
121
  * ```ts
18
122
  * class App extends GemElement {
19
- * @refobject childRef: RefObject<Children>;
20
- * loadHandle = () => {
21
- * const { element } = this.childRef;
22
- * console.log(element);
23
- * };
24
- * render() {
25
- * render html`<div ref=${this.childRef.ref}><div>`;
26
- * }
123
+ * @attribute attr: string;
27
124
  * }
28
125
  * ```
29
126
  */
30
- export function refobject(target, prop) {
31
- const ref = `${camelToKebabCase(prop)}-${randomStr()}`;
32
- pushStaticField(target, 'defineRefs', ref);
33
- defineRef(target, prop, ref);
127
+ export function attribute(_, context) {
128
+ return decoratorAttr(context, String);
129
+ }
130
+ export function boolattribute(_, context) {
131
+ return decoratorAttr(context, Boolean);
132
+ }
133
+ export function numattribute(_, context) {
134
+ return decoratorAttr(context, Number);
34
135
  }
35
136
  /**
36
- * 定义一个响应式的 attribute,驼峰字段名将自动映射到烤串 attribute,默认值为空字符串
137
+ * 定义一个响应式的 property,注意值可能为 `undefined`;不要覆盖定义
37
138
  *
38
139
  * For example
39
140
  * ```ts
40
141
  * class App extends GemElement {
41
- * @attribute attr: string;
142
+ * @property prop: Data | undefined;
42
143
  * }
43
144
  * ```
44
145
  */
45
- function defineAttr(target, prop, attr) {
46
- pushStaticField(target, 'observedAttributes', attr);
47
- defineAttribute(target, prop, attr);
48
- }
49
- export function attribute(target, prop) {
50
- defineAttr(target, prop, camelToKebabCase(prop));
51
- }
52
- export function boolattribute(target, prop) {
53
- const attr = camelToKebabCase(prop);
54
- pushStaticField(target, 'booleanAttributes', attr, true);
55
- defineAttr(target, prop, attr);
146
+ export function property(_, context) {
147
+ const prop = context.name;
148
+ context.addInitializer(function () {
149
+ const target = getPrototypeOf(this);
150
+ if (!target.hasOwnProperty(prop)) {
151
+ pushStaticField(context, 'observedProperties', prop);
152
+ defineProp(target, prop);
153
+ }
154
+ clearField(this, prop);
155
+ });
156
+ // 延时定义的元素需要继承原实例属性值
157
+ return function (initValue) {
158
+ return this[prop] ?? initValue;
159
+ };
56
160
  }
57
- export function numattribute(target, prop) {
58
- const attr = camelToKebabCase(prop);
59
- pushStaticField(target, 'numberAttributes', attr, true);
60
- defineAttr(target, prop, attr);
161
+ /**
162
+ * 依赖 `GemElement.memo`
163
+ *
164
+ * For example
165
+ * ```ts
166
+ * class App extends GemElement {
167
+ * @memo(() => [])
168
+ * get data() {
169
+ * return 1;
170
+ * }
171
+ * }
172
+ * ```
173
+ */
174
+ export function memo(getDep) {
175
+ return function (_, context) {
176
+ const { addInitializer, name, access, kind } = context;
177
+ addInitializer(function () {
178
+ const dep = getDep && (() => getDep(this));
179
+ if (kind === 'getter') {
180
+ // 不能设置私有字段 https://github.com/tc39/proposal-decorators/issues/509
181
+ if (context.private)
182
+ throw new GemError('not support');
183
+ this.memo(() => defineProperty(this, name, { configurable: true, value: access.get(this) }), dep);
184
+ }
185
+ else {
186
+ this.memo(access.get(this).bind(this), dep);
187
+ }
188
+ });
189
+ };
61
190
  }
62
191
  /**
63
- * 定义一个响应式的 property,注意值可能为 `undefined`
192
+ * 依赖 `GemElement.effect`
193
+ * 方法执行在字段前面
64
194
  *
65
195
  * For example
66
196
  * ```ts
67
197
  * class App extends GemElement {
68
- * @property prop: Data | undefined;
198
+ * @effect(() => [])
199
+ * #fetchData() {
200
+ * console.log('fetch')
201
+ * }
69
202
  * }
70
203
  * ```
71
204
  */
72
- export function property(target, prop) {
73
- pushStaticField(target, 'observedProperties', prop);
74
- defineProperty(target, prop);
205
+ export function effect(getDep) {
206
+ return function (_, { addInitializer, access }) {
207
+ addInitializer(function () {
208
+ this.effect(access.get(this).bind(this), getDep && (() => getDep(this)));
209
+ });
210
+ };
211
+ }
212
+ export function unmounted() {
213
+ return function (_, { addInitializer, access }) {
214
+ addInitializer(function () {
215
+ this.effect(() => access.get(this).bind(this), () => []);
216
+ });
217
+ };
218
+ }
219
+ /**`@memo` 别名,不能再在回调中使用 `this.memo` */
220
+ export function willMount() {
221
+ return memo(() => []);
222
+ }
223
+ /**`@effect` 别名,不能再在回调中使用 `this.effect` */
224
+ export function mounted() {
225
+ return effect(() => []);
226
+ }
227
+ export function template(
228
+ /** 当所有 `template` 返回 `false` 时不进行更新,包括 `memo` */
229
+ condition) {
230
+ return function (_, { addInitializer, access }) {
231
+ addInitializer(function () {
232
+ createTemplate(this, {
233
+ render: access.get(this).bind(this),
234
+ condition: condition && (() => condition(this)),
235
+ });
236
+ });
237
+ };
238
+ }
239
+ export function fallback() {
240
+ return function (_, { addInitializer, access }) {
241
+ addInitializer(function () {
242
+ this.addEventListener(RenderErrorEvent, ({ detail }) => {
243
+ render(access.get(this).apply(this, [detail]), this.internals.shadowRoot || this);
244
+ });
245
+ });
246
+ };
247
+ }
248
+ function defineCSSState(target, prop, stateStr) {
249
+ defineProperty(target, prop, {
250
+ configurable: true,
251
+ get() {
252
+ const that = this;
253
+ const { states } = that.internals;
254
+ return states?.has(stateStr);
255
+ },
256
+ set(v) {
257
+ const that = this;
258
+ const { states } = that.internals;
259
+ if (v) {
260
+ states?.add(stateStr);
261
+ }
262
+ else {
263
+ states?.delete(stateStr);
264
+ }
265
+ },
266
+ });
75
267
  }
76
268
  /**
77
269
  * 定义一个元素[内部](https://html.spec.whatwg.org/multipage/custom-elements.html#elementinternals) state,
@@ -86,10 +278,32 @@ export function property(target, prop) {
86
278
  * }
87
279
  * ```
88
280
  */
89
- export function state(target, prop) {
281
+ export function state(_, context) {
282
+ context.addInitializer(function () {
283
+ const target = getPrototypeOf(this);
284
+ const prop = context.name;
285
+ if (!target.hasOwnProperty(prop)) {
286
+ const attr = camelToKebabCase(prop);
287
+ pushStaticField(context, 'definedCSSStates', attr);
288
+ defineCSSState(target, prop, attr);
289
+ }
290
+ clearField(this, prop);
291
+ });
292
+ }
293
+ function defineStaticField(context, target, field, value) {
294
+ const prop = context.name;
90
295
  const attr = camelToKebabCase(prop);
91
- pushStaticField(target, 'defineCSSStates', attr);
92
- defineCSSState(target, prop, attr);
296
+ if (context.static) {
297
+ pushStaticField(context, field, attr);
298
+ }
299
+ else {
300
+ const proto = getPrototypeOf(target);
301
+ if (!proto[prop]) {
302
+ proto[prop] = attr;
303
+ pushStaticField(context, field, attr);
304
+ }
305
+ }
306
+ return value || attr;
93
307
  }
94
308
  /**
95
309
  * 定义一个内部 slot,默认值即为字段名,不能使用全局属性 `slot`
@@ -102,10 +316,10 @@ export function state(target, prop) {
102
316
  * }
103
317
  * ```
104
318
  */
105
- export function slot(target, prop) {
106
- const attr = camelToKebabCase(target[prop] || prop);
107
- target[prop] = attr;
108
- pushStaticField(target instanceof GemElement ? target : target.prototype, 'defineSlots', attr);
319
+ export function slot(_, context) {
320
+ return function (value) {
321
+ return defineStaticField(context, this, 'definedSlots', value);
322
+ };
109
323
  }
110
324
  /**
111
325
  * 定义一个内部 part,默认值即为字段名,不能使用全局属性 `part`
@@ -118,10 +332,10 @@ export function slot(target, prop) {
118
332
  * }
119
333
  * ```
120
334
  */
121
- export function part(target, prop) {
122
- const attr = camelToKebabCase(target[prop] || prop);
123
- target[prop] = attr;
124
- pushStaticField(target instanceof GemElement ? target : target.prototype, 'defineParts', attr);
335
+ export function part(_, context) {
336
+ return function (value) {
337
+ return defineStaticField(context, this, 'definedParts', value);
338
+ };
125
339
  }
126
340
  /**
127
341
  * 定义一个事件发射器,类似 `HTMLElement.click`,
@@ -134,19 +348,27 @@ export function part(target, prop) {
134
348
  * }
135
349
  * ```
136
350
  */
137
- export function emitter(target, prop) {
138
- defineEmitter(target, prop);
351
+ export function emitter(_, context) {
352
+ context.addInitializer(function () {
353
+ defineEmitter(context, this, context.name);
354
+ });
139
355
  }
140
- export function globalemitter(target, prop) {
141
- defineEmitter(target, prop, { bubbles: true, composed: true });
356
+ export function globalemitter(_, context) {
357
+ context.addInitializer(function () {
358
+ defineEmitter(context, this, context.name, { bubbles: true, composed: true });
359
+ });
142
360
  }
143
- function defineEmitter(target, prop, options) {
144
- const event = camelToKebabCase(prop);
145
- pushStaticField(target, 'defineEvents', event);
146
- defineProperty(target, prop, event, options);
361
+ function defineEmitter(context, t, prop, eventOptions) {
362
+ const target = getPrototypeOf(t);
363
+ if (!target.hasOwnProperty(prop)) {
364
+ const event = camelToKebabCase(prop);
365
+ pushStaticField(context, 'definedEvents', event);
366
+ defineProp(target, prop, { event, eventOptions });
367
+ }
368
+ clearField(t, prop);
147
369
  }
148
370
  /**
149
- * 分配一个构造的样式表,如果元素是 lightDOM,则将样式表挂载到 RootNode 上
371
+ * 分配一个构造的样式表,前面的优先级越高(因为装饰器是越近越早执行)
150
372
  *
151
373
  * For example
152
374
  * ```ts
@@ -154,10 +376,9 @@ function defineEmitter(target, prop, options) {
154
376
  * class App extends GemElement {}
155
377
  * ```
156
378
  */
157
- export function adoptedStyle(style) {
158
- return function (cls) {
159
- const con = cls;
160
- pushStaticField(con.prototype, 'adoptedStyleSheets', style);
379
+ export function adoptedStyle(sheet) {
380
+ return function (_, context) {
381
+ pushStaticField(context, 'adoptedStyleSheets', sheet);
161
382
  };
162
383
  }
163
384
  /**
@@ -170,24 +391,33 @@ export function adoptedStyle(style) {
170
391
  * ```
171
392
  */
172
393
  export function connectStore(store) {
173
- return function (cls) {
174
- const con = cls;
175
- pushStaticField(con.prototype, 'observedStores', store);
394
+ return function (_, context) {
395
+ pushStaticField(context, 'observedStores', store);
396
+ };
397
+ }
398
+ export function shadow({ mode = 'open', serializable = true, delegatesFocus, slotAssignment, } = {}) {
399
+ return function (_, context) {
400
+ const metadata = context.metadata;
401
+ assign(metadata, { mode, serializable, delegatesFocus, slotAssignment });
176
402
  };
177
403
  }
178
404
  /**
179
- * 限制元素的 root 节点类型
180
- *
181
- * For example
182
- * ```ts
183
- * @rootElement('my-element')
184
- * class App extends GemElement {}
185
- * ```
405
+ * 将元素标记为可中断异步渲染
406
+ * 例如:https://examples.gemjs.org/async
186
407
  */
187
- export function rootElement(rootType) {
188
- return function (cls) {
189
- const con = cls;
190
- con.rootElement = rootType;
408
+ export function async() {
409
+ return function (_, context) {
410
+ const metadata = context.metadata;
411
+ metadata.noBlocking = true;
412
+ };
413
+ }
414
+ /**
415
+ * 定义元素的可访问性属性
416
+ */
417
+ export function aria(info) {
418
+ return function (_, context) {
419
+ const metadata = context.metadata;
420
+ metadata.aria = { ...metadata.aria, ...info };
191
421
  };
192
422
  }
193
423
  /**
@@ -200,8 +430,18 @@ export function rootElement(rootType) {
200
430
  * ```
201
431
  */
202
432
  export function customElement(name) {
203
- return function (cls) {
204
- nativeDefineElement(name, cls);
433
+ return function (cls, { addInitializer }) {
434
+ addInitializer(function () {
435
+ customElements.define(name, cls);
436
+ });
205
437
  };
206
438
  }
439
+ if (window.__GEM_DEVTOOLS__HOOK__ && !window.__GEM_DEVTOOLS__HOOK__.GemElement) {
440
+ assign(window.__GEM_DEVTOOLS__HOOK__, {
441
+ ...elementExports,
442
+ ...decoratorsExports,
443
+ ...storeExports,
444
+ ...versionExports,
445
+ });
446
+ }
207
447
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { repeat } from 'lit-html/directives/repeat';
2
+ export { guard } from 'lit-html/directives/guard';
3
+ export { ifDefined } from 'lit-html/directives/if-defined';
4
+ //# sourceMappingURL=directives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../src/lib/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { repeat } from 'lit-html/directives/repeat';
2
+ // https://github.com/Polymer/lit-html/issues/1048
3
+ export { guard } from 'lit-html/directives/guard';
4
+ export { ifDefined } from 'lit-html/directives/if-defined';
5
+ //# sourceMappingURL=directives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../src/lib/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,kDAAkD;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC"}