@mantou/gem 2.1.1 → 2.2.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.
- package/dist/gem.es.js +1832 -1890
- package/dist/gem.umd.js +34 -191
- package/elements/base/dialog.d.ts +0 -4
- package/elements/base/dialog.d.ts.map +1 -1
- package/elements/base/dialog.js +0 -4
- package/elements/base/dialog.js.map +1 -1
- package/elements/base/gesture.d.ts +5 -14
- package/elements/base/gesture.d.ts.map +1 -1
- package/elements/base/gesture.js +35 -31
- package/elements/base/gesture.js.map +1 -1
- package/elements/base/link.d.ts +1 -17
- package/elements/base/link.d.ts.map +1 -1
- package/elements/base/link.js +12 -32
- package/elements/base/link.js.map +1 -1
- package/elements/base/modal-factory.d.ts +30 -31
- package/elements/base/modal-factory.d.ts.map +1 -1
- package/elements/base/reflect.d.ts +0 -3
- package/elements/base/reflect.d.ts.map +1 -1
- package/elements/base/reflect.js +0 -3
- package/elements/base/reflect.js.map +1 -1
- package/elements/base/route.d.ts +0 -10
- package/elements/base/route.d.ts.map +1 -1
- package/elements/base/route.js +10 -22
- package/elements/base/route.js.map +1 -1
- package/elements/base/title.d.ts +0 -5
- package/elements/base/title.d.ts.map +1 -1
- package/elements/base/title.js +0 -5
- package/elements/base/title.js.map +1 -1
- package/elements/base/unsafe.d.ts +0 -5
- package/elements/base/unsafe.d.ts.map +1 -1
- package/elements/base/unsafe.js +2 -8
- package/elements/base/unsafe.js.map +1 -1
- package/elements/base/use.d.ts +0 -3
- package/elements/base/use.d.ts.map +1 -1
- package/elements/base/use.js +4 -11
- package/elements/base/use.js.map +1 -1
- package/helper/react-shim.d.ts +15 -0
- package/helper/react-shim.d.ts.map +1 -0
- package/helper/react-shim.js +56 -0
- package/helper/react-shim.js.map +1 -0
- package/helper/theme.d.ts +3 -3
- package/helper/theme.d.ts.map +1 -1
- package/helper/theme.js +3 -3
- package/helper/theme.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.d.ts.map +1 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/lib/decorators.d.ts +7 -6
- package/lib/decorators.d.ts.map +1 -1
- package/lib/decorators.js +45 -30
- package/lib/decorators.js.map +1 -1
- package/lib/directive.d.ts +83 -0
- package/lib/directive.d.ts.map +1 -0
- package/lib/directive.js +59 -0
- package/lib/directive.js.map +1 -0
- package/lib/element.d.ts +7 -21
- package/lib/element.d.ts.map +1 -1
- package/lib/element.js +53 -49
- package/lib/element.js.map +1 -1
- package/lib/lit-html.d.ts +331 -0
- package/lib/lit-html.d.ts.map +1 -0
- package/lib/lit-html.js +941 -0
- package/lib/lit-html.js.map +1 -0
- package/lib/ref.d.ts +1 -0
- package/lib/ref.d.ts.map +1 -0
- package/lib/ref.js +2 -0
- package/lib/ref.js.map +1 -0
- package/lib/repeat.d.ts +126 -0
- package/lib/repeat.d.ts.map +1 -0
- package/lib/repeat.js +533 -0
- package/lib/repeat.js.map +1 -0
- package/lib/store.d.ts +1 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +4 -4
- package/lib/store.js.map +1 -1
- package/lib/utils.d.ts +1 -4
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +5 -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 +2 -1
- package/lib/version.js.map +1 -1
- package/package.json +6 -7
- package/src/elements/base/dialog.ts +0 -4
- package/src/elements/base/gesture.ts +31 -32
- package/src/elements/base/link.ts +12 -32
- package/src/elements/base/reflect.ts +0 -3
- package/src/elements/base/route.ts +11 -21
- package/src/elements/base/title.ts +0 -5
- package/src/elements/base/unsafe.ts +3 -8
- package/src/elements/base/use.ts +4 -11
- package/src/helper/theme.ts +4 -4
- package/src/index.ts +0 -1
- package/src/lib/decorators.ts +50 -37
- package/src/lib/directive.ts +139 -0
- package/src/lib/element.ts +62 -72
- package/src/lib/lit-html.ts +1217 -0
- package/src/lib/repeat.ts +580 -0
- package/src/lib/store.ts +4 -4
- package/src/lib/utils.ts +5 -16
- package/src/lib/version.ts +2 -1
- package/src/test/elements/link.test.ts +1 -2
- package/src/test/elements/reflect.test.ts +13 -3
- package/src/test/elements/title.test.ts +1 -2
- package/src/test/gem-element/advance.test.ts +15 -8
- package/src/test/gem-element/basic.test.ts +22 -10
- package/src/test/gem-element/decorators.test.ts +6 -9
- package/src/test/gem-element/multi.test.ts +20 -11
- package/src/test/history.test.ts +2 -2
- package/src/test/store.test.ts +3 -3
- package/src/test/utils.test.ts +9 -10
- package/src/test/utils.ts +22 -0
- package/src/lib/directives.ts +0 -6
package/lib/decorators.js
CHANGED
|
@@ -11,10 +11,8 @@ function pushStaticField(context, field, member) {
|
|
|
11
11
|
const metadata = context.metadata;
|
|
12
12
|
if (!getOwnPropertyDescriptor(metadata, field)) {
|
|
13
13
|
// 继承基类
|
|
14
|
-
const current = new Set(metadata[field]);
|
|
15
|
-
current.delete(member);
|
|
16
14
|
defineProperty(metadata, field, {
|
|
17
|
-
value: [
|
|
15
|
+
value: metadata[field]?.filter((e) => e !== member) || [],
|
|
18
16
|
});
|
|
19
17
|
}
|
|
20
18
|
metadata[field].push(member);
|
|
@@ -79,10 +77,13 @@ function defineProp(target, prop, { attr, attrType, event, eventOptions } = {})
|
|
|
79
77
|
if (event) {
|
|
80
78
|
proxy[prop] = v?.[isEventHandleSymbol]
|
|
81
79
|
? v
|
|
82
|
-
: (detail, options) => {
|
|
80
|
+
: async (detail, options) => {
|
|
81
|
+
// 事件如果同步触发,则祖先元素可能还没有挂载好,其中就不能更新 state
|
|
82
|
+
// https://github.com/mantou132/gem/issues/203
|
|
83
|
+
await Promise.resolve();
|
|
83
84
|
const evt = new CustomEvent(event, { ...options, ...eventOptions, detail });
|
|
84
85
|
that.dispatchEvent(evt);
|
|
85
|
-
v(detail, options);
|
|
86
|
+
await v(detail, options);
|
|
86
87
|
};
|
|
87
88
|
proxy[prop][isEventHandleSymbol] = true;
|
|
88
89
|
// emitter 不触发元素更新
|
|
@@ -94,20 +95,34 @@ function defineProp(target, prop, { attr, attrType, event, eventOptions } = {})
|
|
|
94
95
|
},
|
|
95
96
|
});
|
|
96
97
|
}
|
|
98
|
+
// https://github.com/tc39/proposal-decorators/issues/517
|
|
99
|
+
const targetCache = new WeakMap();
|
|
100
|
+
function getDecoratorTarget(element, { metadata }) {
|
|
101
|
+
const target = targetCache.get(metadata);
|
|
102
|
+
if (target)
|
|
103
|
+
return target;
|
|
104
|
+
let result = element;
|
|
105
|
+
do {
|
|
106
|
+
result = getPrototypeOf(result);
|
|
107
|
+
} while (result.constructor[Symbol.metadata] !== metadata);
|
|
108
|
+
targetCache.set(metadata, result);
|
|
109
|
+
return result;
|
|
110
|
+
}
|
|
97
111
|
function decoratorAttr(context, attrType) {
|
|
98
112
|
const prop = context.name;
|
|
99
113
|
const attr = camelToKebabCase(prop);
|
|
100
114
|
context.addInitializer(function () {
|
|
101
|
-
const target =
|
|
115
|
+
const target = getDecoratorTarget(this, context);
|
|
102
116
|
if (!target.hasOwnProperty(prop)) {
|
|
103
117
|
pushStaticField(context, 'observedAttributes', attr); // 没有 observe 的效果
|
|
104
118
|
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
119
|
}
|
|
110
120
|
clearField(this, prop);
|
|
121
|
+
// 记录观察的 attribute, 用于 hack 的 setAttribute
|
|
122
|
+
const proto = getPrototypeOf(this);
|
|
123
|
+
const attrMap = observedTargetAttributes.get(proto) || new Map();
|
|
124
|
+
attrMap.set(attr, prop);
|
|
125
|
+
observedTargetAttributes.set(proto, attrMap);
|
|
111
126
|
});
|
|
112
127
|
// 延时定义的元素需要继承原实例属性值
|
|
113
128
|
return function (initValue) {
|
|
@@ -146,7 +161,7 @@ export function numattribute(_, context) {
|
|
|
146
161
|
export function property(_, context) {
|
|
147
162
|
const prop = context.name;
|
|
148
163
|
context.addInitializer(function () {
|
|
149
|
-
const target =
|
|
164
|
+
const target = getDecoratorTarget(this, context);
|
|
150
165
|
if (!target.hasOwnProperty(prop)) {
|
|
151
166
|
pushStaticField(context, 'observedProperties', prop);
|
|
152
167
|
defineProp(target, prop);
|
|
@@ -189,14 +204,15 @@ export function memo(getDep) {
|
|
|
189
204
|
};
|
|
190
205
|
}
|
|
191
206
|
/**
|
|
192
|
-
* 依赖 `GemElement.effect`
|
|
193
|
-
* 方法执行在字段前面
|
|
207
|
+
* - 依赖 `GemElement.effect`
|
|
208
|
+
* - 方法执行在字段前面
|
|
209
|
+
* - 如果没有 oldValue,在为首次执行
|
|
194
210
|
*
|
|
195
211
|
* For example
|
|
196
212
|
* ```ts
|
|
197
213
|
* class App extends GemElement {
|
|
198
214
|
* @effect(() => [])
|
|
199
|
-
* #fetchData() {
|
|
215
|
+
* #fetchData(newValue, oldValue) {
|
|
200
216
|
* console.log('fetch')
|
|
201
217
|
* }
|
|
202
218
|
* }
|
|
@@ -279,11 +295,11 @@ function defineCSSState(target, prop, stateStr) {
|
|
|
279
295
|
* ```
|
|
280
296
|
*/
|
|
281
297
|
export function state(_, context) {
|
|
298
|
+
const prop = context.name;
|
|
299
|
+
const attr = camelToKebabCase(prop);
|
|
282
300
|
context.addInitializer(function () {
|
|
283
|
-
const target =
|
|
284
|
-
const prop = context.name;
|
|
301
|
+
const target = getDecoratorTarget(this, context);
|
|
285
302
|
if (!target.hasOwnProperty(prop)) {
|
|
286
|
-
const attr = camelToKebabCase(prop);
|
|
287
303
|
pushStaticField(context, 'definedCSSStates', attr);
|
|
288
304
|
defineCSSState(target, prop, attr);
|
|
289
305
|
}
|
|
@@ -349,24 +365,23 @@ export function part(_, context) {
|
|
|
349
365
|
* ```
|
|
350
366
|
*/
|
|
351
367
|
export function emitter(_, context) {
|
|
352
|
-
context
|
|
353
|
-
defineEmitter(context, this, context.name);
|
|
354
|
-
});
|
|
368
|
+
defineEmitter(context);
|
|
355
369
|
}
|
|
356
370
|
export function globalemitter(_, context) {
|
|
371
|
+
defineEmitter(context, { bubbles: true, composed: true });
|
|
372
|
+
}
|
|
373
|
+
function defineEmitter(context, eventOptions) {
|
|
374
|
+
const prop = context.name;
|
|
375
|
+
const event = camelToKebabCase(prop);
|
|
357
376
|
context.addInitializer(function () {
|
|
358
|
-
|
|
377
|
+
const target = getDecoratorTarget(this, context);
|
|
378
|
+
if (!target.hasOwnProperty(prop)) {
|
|
379
|
+
pushStaticField(context, 'definedEvents', event);
|
|
380
|
+
defineProp(target, prop, { event, eventOptions });
|
|
381
|
+
}
|
|
382
|
+
clearField(this, prop);
|
|
359
383
|
});
|
|
360
384
|
}
|
|
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);
|
|
369
|
-
}
|
|
370
385
|
/**
|
|
371
386
|
* 分配一个构造的样式表,前面的优先级越高(因为装饰器是越近越早执行)
|
|
372
387
|
*
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,KAAK,cAAc,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,iBAAiB,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,cAAc,MAAM,WAAW,CAAC;AAK5C,MAAM,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;AAC7E,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AAC1C,MAAM,kBAAkB,GAAG,IAAI,YAAY,EAAc,CAAC;AAE1D,SAAS,eAAe,CAAC,OAA2D,EAAE,KAAkB,EAAE,MAAW;IACnH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAoB,CAAC;IAC9C,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO;QACP,MAAM,OAAO,GAAG,IAAI,GAAG,CAAU,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvB,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE;YAC9B,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;SACpB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAuB,QAAW,EAAE,IAAY;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAE,CAAC;IAC5D,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9B,QAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAClC,CAAC;AAED,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAA4C,CAAC;AACzF,2CAA2C;AAC3C,oHAAoH;AACpH,sCAAsC;AACtC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;AAC7E,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,CAAS,EAAE,CAAS;IAChE,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC,CAAC;AACF,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,CAAS;IACxD,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC7B,CAAC,CAAC;AACF,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,CAAS,EAAE,KAAe;IACzE,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAE,IAAY,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,SAAS,aAAa;IACpB,WAAW;AACb,CAAC;AAQD,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACnD,SAAS,UAAU,CACjB,MAA2B,EAC3B,IAAY,EACZ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,KAAwB,EAAE;IAE/D,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;QAC3B,YAAY,EAAE,IAAI;QAClB,GAAG;YACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;gBAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAkB,CAAC;YAChC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE,CAAC;gBACT,CAAC,GAAG,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC;oBACpC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC,MAAW,EAAE,OAAY,EAAE,EAAE;wBAC5B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC5E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACxB,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACrB,CAAC,CAAC;gBACL,KAAK,CAAC,IAAI,CAAS,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;gBACjD,kBAAkB;YACpB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAGD,SAAS,aAAa,CAAuB,OAAsC,EAAE,QAAkB;IACrG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAc,CAAC;IACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,cAAc,CAAC;QACrB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB;YACvE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7C,kBAAkB;YAClB,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,oBAAoB;IACpB,OAAO,UAAqB,SAAc;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAC9C,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAuB,CAAY,EAAE,OAA8C;IAC1G,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AACD,MAAM,UAAU,aAAa,CAAuB,CAAY,EAAE,OAA+C;IAC/G,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AACD,MAAM,UAAU,YAAY,CAAuB,CAAY,EAAE,OAA8C;IAC7G,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAuB,CAAY,EAAE,OAAsC;IACjG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAc,CAAC;IACpC,OAAO,CAAC,cAAc,CAAC;QACrB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;YACrD,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,oBAAoB;IACpB,OAAO,UAAqB,SAAc;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,IAAI,CAClB,MAAkE;IAElE,OAAO,UACL,CAAM,EACN,OAA2G;QAE3G,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACvD,cAAc,CAAC;YACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAQ,CAAC,CAAC;YAClD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,kEAAkE;gBAClE,IAAI,OAAO,CAAC,OAAO;oBAAE,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACpG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAS,CAAC,IAAI,CAAC,IAAI,CAAQ,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,MAAM,CACpB,MAAkE;IAElE,OAAO,UACL,CAAM,EACN,EAAE,cAAc,EAAE,MAAM,EAAwE;QAEhG,cAAc,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAQ,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAQ,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,UACL,CAAM,EACN,EAAE,cAAc,EAAE,MAAM,EAAwE;QAEhG,cAAc,CAAC;YACb,IAAI,CAAC,MAAM,CACT,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAQ,EACxC,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,OAAO;IACrB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ;AACtB,iDAAiD;AACjD,SAAoC;IAEpC,OAAO,UACL,CAAM,EACN,EAAE,cAAc,EAAE,MAAM,EAAwE;QAEhG,cAAc,CAAC;YACb,eAAe,CAAC,IAAI,EAAE;gBACpB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,SAAS,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAQ,CAAC;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,UACL,CAAM,EACN,EAAE,cAAc,EAAE,MAAM,EAAwE;QAEhG,cAAc,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAe,EAAE,EAAE;gBACnE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAA2B,EAAE,IAAY,EAAE,QAAgB;IACjF,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;QAC3B,YAAY,EAAE,IAAI;QAClB,GAAG;YACD,MAAM,IAAI,GAAG,IAAkB,CAAC;YAChC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,OAAO,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,GAAG,CAAC,CAAU;YACZ,MAAM,IAAI,GAAG,IAAkB,CAAC;YAChC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC;gBACN,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CAAuB,CAAY,EAAE,OAA+C;IACvG,OAAO,CAAC,cAAc,CAAC;QACrB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAc,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACpC,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACnD,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAgD,EAChD,MAAW,EACX,KAAkB,EAClB,KAAa;IAEb,MAAM,IAAI,GAAG,OAAO,CAAC,IAAc,CAAC;IACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnB,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,IAAI,CAAC,CAAY,EAAE,OAAgD;IACjF,OAAO,UAAqB,KAAa;QACvC,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,IAAI,CAAC,CAAY,EAAE,OAAgD;IACjF,OAAO,UAAqB,KAAa;QACvC,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AAID;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAuB,CAAY,EAAE,OAA+C;IACzG,OAAO,CAAC,cAAc,CAAC;QACrB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAc,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AACD,MAAM,UAAU,aAAa,CAAuB,CAAY,EAAE,OAA+C;IAC/G,OAAO,CAAC,cAAc,CAAC;QACrB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,aAAa,CACpB,OAAmC,EACnC,CAAa,EACb,IAAY,EACZ,YAAuD;IAEvD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwC;IACnE,OAAO,UAAU,CAAU,EAAE,OAA8B;QACzD,eAAe,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO,UAAU,CAAU,EAAE,OAA8B;QACzD,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,MAAM,EACb,YAAY,GAAG,IAAI,EACnB,cAAc,EACd,cAAc,MACa,EAAE;IAC7B,OAAO,UAAU,CAAM,EAAE,OAA8B;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAoB,CAAC;QAC9C,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAE,UAAU,EAAgC;IAChE,OAAO,UAAU,CAAM,EAAE,OAA8B;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAoB,CAAC;QAC9C,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,UAAU,CAAM,EAAE,OAA8B;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAoB,CAAC;QAC9C,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,IAAsB;IACzC,OAAO,UAAU,CAAM,EAAE,OAA8B;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAoB,CAAC;QAC9C,QAAQ,CAAC,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,UAAU,GAA8B,EAAE,EAAE,cAAc,EAAyB;QACxF,cAAc,CAAC;YACb,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAUD,IAAI,MAAM,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;IAC/E,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE;QACpC,GAAG,cAAc;QACjB,GAAG,iBAAiB;QACpB,GAAG,YAAY;QACf,GAAG,cAAc;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import type { Disconnectable, Part } from './lit-html.js';
|
|
7
|
+
export type { AttributePart, BooleanAttributePart, ChildPart, ElementPart, EventPart, Part, PropertyPart, } from './lit-html.js';
|
|
8
|
+
export interface DirectiveClass {
|
|
9
|
+
new (part: PartInfo): Directive;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* This utility type extracts the signature of a directive class's render()
|
|
13
|
+
* method so we can use it for the type of the generated directive function.
|
|
14
|
+
*/
|
|
15
|
+
export type DirectiveParameters<C extends Directive> = Parameters<C['render']>;
|
|
16
|
+
/**
|
|
17
|
+
* A generated directive function doesn't evaluate the directive, but just
|
|
18
|
+
* returns a DirectiveResult object that captures the arguments.
|
|
19
|
+
*/
|
|
20
|
+
export interface DirectiveResult<C extends DirectiveClass = DirectiveClass> {
|
|
21
|
+
/**
|
|
22
|
+
* This property needs to remain unminified.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
['_$litDirective$']: C;
|
|
26
|
+
/** @internal */
|
|
27
|
+
values: DirectiveParameters<InstanceType<C>>;
|
|
28
|
+
}
|
|
29
|
+
export declare const PartType: {
|
|
30
|
+
readonly ATTRIBUTE: 1;
|
|
31
|
+
readonly CHILD: 2;
|
|
32
|
+
readonly PROPERTY: 3;
|
|
33
|
+
readonly BOOLEAN_ATTRIBUTE: 4;
|
|
34
|
+
readonly EVENT: 5;
|
|
35
|
+
readonly ELEMENT: 6;
|
|
36
|
+
};
|
|
37
|
+
export type PartType = (typeof PartType)[keyof typeof PartType];
|
|
38
|
+
export interface ChildPartInfo {
|
|
39
|
+
readonly type: typeof PartType.CHILD;
|
|
40
|
+
}
|
|
41
|
+
export interface AttributePartInfo {
|
|
42
|
+
readonly type: typeof PartType.ATTRIBUTE | typeof PartType.PROPERTY | typeof PartType.BOOLEAN_ATTRIBUTE | typeof PartType.EVENT;
|
|
43
|
+
readonly strings?: ReadonlyArray<string>;
|
|
44
|
+
readonly name: string;
|
|
45
|
+
readonly tagName: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ElementPartInfo {
|
|
48
|
+
readonly type: typeof PartType.ELEMENT;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Information about the part a directive is bound to.
|
|
52
|
+
*
|
|
53
|
+
* This is useful for checking that a directive is attached to a valid part,
|
|
54
|
+
* such as with directive that can only be used on attribute bindings.
|
|
55
|
+
*/
|
|
56
|
+
export type PartInfo = ChildPartInfo | AttributePartInfo | ElementPartInfo;
|
|
57
|
+
/**
|
|
58
|
+
* Creates a user-facing directive function from a Directive class. This
|
|
59
|
+
* function has the same parameters as the directive's render() method.
|
|
60
|
+
*/
|
|
61
|
+
export declare const directive: <C extends DirectiveClass>(c: C) => (...values: DirectiveParameters<InstanceType<C>>) => DirectiveResult<C>;
|
|
62
|
+
/**
|
|
63
|
+
* Base class for creating custom directives. Users should extend this class,
|
|
64
|
+
* implement `render` and/or `update`, and then pass their subclass to
|
|
65
|
+
* `directive`.
|
|
66
|
+
*/
|
|
67
|
+
export declare abstract class Directive implements Disconnectable {
|
|
68
|
+
__part: Part;
|
|
69
|
+
__attributeIndex: number | undefined;
|
|
70
|
+
__directive?: Directive;
|
|
71
|
+
_$parent: Disconnectable;
|
|
72
|
+
_$disconnectableChildren?: Set<Disconnectable>;
|
|
73
|
+
['_$notifyDirectiveConnectionChanged']?(isConnected: boolean): void;
|
|
74
|
+
constructor(_partInfo: PartInfo);
|
|
75
|
+
get _$isConnected(): boolean;
|
|
76
|
+
/** @internal */
|
|
77
|
+
_$initialize(part: Part, parent: Disconnectable, attributeIndex: number | undefined): void;
|
|
78
|
+
/** @internal */
|
|
79
|
+
_$resolve(part: Part, props: Array<unknown>): unknown;
|
|
80
|
+
abstract render(...props: Array<unknown>): unknown;
|
|
81
|
+
update(_part: Part, props: Array<unknown>): unknown;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=directive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive.d.ts","sourceRoot":"","sources":["../src/lib/directive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1D,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,SAAS,EACT,IAAI,EACJ,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACxE;;;OAGG;IACH,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACvB,gBAAgB;IAChB,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EACT,OAAO,QAAQ,CAAC,SAAS,GACzB,OAAO,QAAQ,CAAC,QAAQ,GACxB,OAAO,QAAQ,CAAC,iBAAiB,GACjC,OAAO,QAAQ,CAAC,KAAK,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,SAAS,GACnB,CAAC,SAAS,cAAc,KAAK,CAAC,iBACnB,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAG,eAAe,CAAC,CAAC,CAIlE,CAAC;AAEL;;;;GAIG;AACH,8BAAsB,SAAU,YAAW,cAAc;IAEvD,MAAM,EAAG,IAAI,CAAC;IAEd,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,WAAW,CAAC,EAAE,SAAS,CAAC;IAGxB,QAAQ,EAAG,cAAc,CAAC;IAI1B,wBAAwB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAG/C,CAAC,oCAAoC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;gBAEvD,SAAS,EAAE,QAAQ;IAG/B,IAAI,aAAa,YAEhB;IAED,gBAAgB;IAChB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS;IAKnF,gBAAgB;IAChB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO;IAIrD,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO;IAElD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO;CAGpD"}
|
package/lib/directive.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
export const PartType = {
|
|
7
|
+
ATTRIBUTE: 1,
|
|
8
|
+
CHILD: 2,
|
|
9
|
+
PROPERTY: 3,
|
|
10
|
+
BOOLEAN_ATTRIBUTE: 4,
|
|
11
|
+
EVENT: 5,
|
|
12
|
+
ELEMENT: 6,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Creates a user-facing directive function from a Directive class. This
|
|
16
|
+
* function has the same parameters as the directive's render() method.
|
|
17
|
+
*/
|
|
18
|
+
export const directive = (c) => (...values) => ({
|
|
19
|
+
// This property needs to remain unminified.
|
|
20
|
+
['_$litDirective$']: c,
|
|
21
|
+
values,
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Base class for creating custom directives. Users should extend this class,
|
|
25
|
+
* implement `render` and/or `update`, and then pass their subclass to
|
|
26
|
+
* `directive`.
|
|
27
|
+
*/
|
|
28
|
+
export class Directive {
|
|
29
|
+
//@internal
|
|
30
|
+
__part;
|
|
31
|
+
//@internal
|
|
32
|
+
__attributeIndex;
|
|
33
|
+
//@internal
|
|
34
|
+
__directive;
|
|
35
|
+
//@internal
|
|
36
|
+
_$parent;
|
|
37
|
+
// These will only exist on the AsyncDirective subclass
|
|
38
|
+
//@internal
|
|
39
|
+
_$disconnectableChildren;
|
|
40
|
+
constructor(_partInfo) { }
|
|
41
|
+
// See comment in Disconnectable interface for why this is a getter
|
|
42
|
+
get _$isConnected() {
|
|
43
|
+
return this._$parent._$isConnected;
|
|
44
|
+
}
|
|
45
|
+
/** @internal */
|
|
46
|
+
_$initialize(part, parent, attributeIndex) {
|
|
47
|
+
this.__part = part;
|
|
48
|
+
this._$parent = parent;
|
|
49
|
+
this.__attributeIndex = attributeIndex;
|
|
50
|
+
}
|
|
51
|
+
/** @internal */
|
|
52
|
+
_$resolve(part, props) {
|
|
53
|
+
return this.update(part, props);
|
|
54
|
+
}
|
|
55
|
+
update(_part, props) {
|
|
56
|
+
return this.render(...props);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=directive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../src/lib/directive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsCH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,iBAAiB,EAAE,CAAC;IACpB,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;CACF,CAAC;AA+BX;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CAA2B,CAAI,EAAE,EAAE,CACnC,CAAC,GAAG,MAA4C,EAAsB,EAAE,CAAC,CAAC;IACxE,4CAA4C;IAC5C,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACtB,MAAM;CACP,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,OAAgB,SAAS;IAC7B,WAAW;IACX,MAAM,CAAQ;IACd,WAAW;IACX,gBAAgB,CAAqB;IACrC,WAAW;IACX,WAAW,CAAa;IAExB,WAAW;IACX,QAAQ,CAAkB;IAE1B,uDAAuD;IACvD,WAAW;IACX,wBAAwB,CAAuB;IAK/C,YAAY,SAAmB,IAAG,CAAC;IAEnC,mEAAmE;IACnE,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,gBAAgB;IAChB,YAAY,CAAC,IAAU,EAAE,MAAsB,EAAE,cAAkC;QACjF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;IACzC,CAAC;IACD,gBAAgB;IAChB,SAAS,CAAC,IAAU,EAAE,KAAqB;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAID,MAAM,CAAC,KAAW,EAAE,KAAqB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
package/lib/element.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import type { TemplateResult } from 'lit-html';
|
|
1
|
+
import type { TemplateResult } from './lit-html';
|
|
2
2
|
import type { Store } from './store';
|
|
3
3
|
import { createUpdater } from './utils';
|
|
4
|
-
export {
|
|
4
|
+
export { directive } from './directive';
|
|
5
|
+
export { repeat } from './repeat';
|
|
6
|
+
export { html, svg, mathml, render, TemplateResult, createRef } from './lit-html';
|
|
5
7
|
declare global {
|
|
6
|
-
/**
|
|
7
|
-
* @attr ref
|
|
8
|
-
*/
|
|
9
|
-
interface HTMLElement {
|
|
10
|
-
ref: string;
|
|
11
|
-
}
|
|
12
8
|
interface DOMStringMap {
|
|
13
9
|
gemReflect?: '';
|
|
14
10
|
gemStyle?: '';
|
|
@@ -21,17 +17,6 @@ declare global {
|
|
|
21
17
|
export declare const SheetToken: unique symbol;
|
|
22
18
|
export declare const UpdateToken: unique symbol;
|
|
23
19
|
export declare const _RenderErrorEvent = "gem@render-error";
|
|
24
|
-
declare class RefObject<T = HTMLElement> {
|
|
25
|
-
refSelector: string;
|
|
26
|
-
ele: GemElement | ShadowRoot;
|
|
27
|
-
ref: string;
|
|
28
|
-
constructor(current: GemElement);
|
|
29
|
-
get element(): T | undefined;
|
|
30
|
-
get elements(): T[];
|
|
31
|
-
toString(): string;
|
|
32
|
-
}
|
|
33
|
-
/**必须使用在字段中,否则会读取到错误的实例 */
|
|
34
|
-
export declare let createRef: <T>() => RefObject<T>;
|
|
35
20
|
declare class GemCSSStyleSheet extends CSSStyleSheet {
|
|
36
21
|
#private;
|
|
37
22
|
cssText: string;
|
|
@@ -54,8 +39,9 @@ export type Sheet<T> = {
|
|
|
54
39
|
*
|
|
55
40
|
* 创建 style sheet 用于 `@adoptedStyle`,不支持样式更新,只支持自定义 CSS 属性
|
|
56
41
|
*/
|
|
57
|
-
export declare function
|
|
58
|
-
export declare function
|
|
42
|
+
export declare function css<T extends Record<string, string>>(media: TemplateStringsArray, ...rest: any[]): Sheet<T>;
|
|
43
|
+
export declare function css<T extends Record<string, string>>(media: string, rules: T | string): Sheet<T>;
|
|
44
|
+
export declare function css<T extends Record<string, string>>(rules: T | string): Sheet<T>;
|
|
59
45
|
/**必须使用在字段中,否则会读取到错误的实例 */
|
|
60
46
|
export declare let createState: <T>(initState: T) => ReturnType<typeof createUpdater<T>>;
|
|
61
47
|
type EffectCallback<T> = (depValues: T, oldDepValues?: T) => any;
|
package/lib/element.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/lib/element.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/lib/element.ts"],"names":[],"mappings":"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"}
|
package/lib/element.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { html, render } from 'lit-html';
|
|
1
|
+
import { html, render } from './lit-html';
|
|
2
2
|
import { connect } from './store';
|
|
3
|
-
import { LinkedList, addMicrotask, isArrayChange, addListener, randomStr, createUpdater } from './utils';
|
|
4
|
-
export {
|
|
3
|
+
import { LinkedList, addMicrotask, isArrayChange, addListener, randomStr, createUpdater, GemError, raw } from './utils';
|
|
4
|
+
export { directive } from './directive';
|
|
5
|
+
export { repeat } from './repeat';
|
|
6
|
+
export { html, svg, mathml, render, TemplateResult, createRef } from './lit-html';
|
|
5
7
|
const { assign, defineProperty } = Object;
|
|
6
8
|
defineProperty(Symbol, 'metadata', { value: Symbol.for('Symbol.metadata') });
|
|
7
9
|
const execCallback = (fun) => typeof fun === 'function' && fun();
|
|
@@ -15,36 +17,6 @@ export const _RenderErrorEvent = 'gem@render-error';
|
|
|
15
17
|
const updateTokenAlias = UpdateToken;
|
|
16
18
|
const rootStyleSheetInfo = new WeakMap();
|
|
17
19
|
const rootUpdateFnMap = new WeakMap();
|
|
18
|
-
const getReflectTargets = (ele) => [...ele.querySelectorAll('[data-gem-reflect]')].map((e) => e.target);
|
|
19
|
-
class RefObject {
|
|
20
|
-
refSelector;
|
|
21
|
-
ele;
|
|
22
|
-
ref;
|
|
23
|
-
constructor(current) {
|
|
24
|
-
const ref = `ref-${randomStr()}`;
|
|
25
|
-
this.refSelector = `[ref=${ref}]`;
|
|
26
|
-
this.ele = current.internals.shadowRoot || current;
|
|
27
|
-
this.ref = ref;
|
|
28
|
-
}
|
|
29
|
-
get element() {
|
|
30
|
-
for (const e of [this.ele, ...getReflectTargets(this.ele)]) {
|
|
31
|
-
// 在 LightDOM 中可能工作很慢?
|
|
32
|
-
const result = e.querySelector(this.refSelector);
|
|
33
|
-
if (result)
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
get elements() {
|
|
38
|
-
return [this.ele, ...getReflectTargets(this.ele)]
|
|
39
|
-
.map((e) => [...e.querySelectorAll(this.refSelector)])
|
|
40
|
-
.flat();
|
|
41
|
-
}
|
|
42
|
-
toString() {
|
|
43
|
-
return this.ref;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**必须使用在字段中,否则会读取到错误的实例 */
|
|
47
|
-
export let createRef;
|
|
48
20
|
class GemCSSStyleSheet extends CSSStyleSheet {
|
|
49
21
|
#ele;
|
|
50
22
|
cssText = '';
|
|
@@ -101,16 +73,27 @@ class GemCSSSheet {
|
|
|
101
73
|
}
|
|
102
74
|
return sheet;
|
|
103
75
|
}
|
|
104
|
-
//
|
|
76
|
+
// 一般用于主题更新
|
|
105
77
|
updateStyle() {
|
|
106
78
|
this.#used.forEach((scope, sheet) => {
|
|
107
79
|
sheet.replaceSync(scope ? `${scope}{${this.#content}}` : this.#content);
|
|
108
80
|
});
|
|
109
81
|
}
|
|
110
82
|
}
|
|
111
|
-
export function
|
|
112
|
-
|
|
113
|
-
|
|
83
|
+
export function css(mediaOrRules, ...rest) {
|
|
84
|
+
let media = '';
|
|
85
|
+
let rules = '';
|
|
86
|
+
const rulesValue = rest.at(0);
|
|
87
|
+
if (Array.isArray(mediaOrRules)) {
|
|
88
|
+
rules = raw(mediaOrRules, ...rest);
|
|
89
|
+
}
|
|
90
|
+
else if (rulesValue !== undefined) {
|
|
91
|
+
media = mediaOrRules;
|
|
92
|
+
rules = rulesValue;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
rules = mediaOrRules;
|
|
96
|
+
}
|
|
114
97
|
const styleSheet = new GemCSSSheet(media);
|
|
115
98
|
const sheet = { [SheetToken]: styleSheet };
|
|
116
99
|
let style = '';
|
|
@@ -183,6 +166,18 @@ function clearEffect(list) {
|
|
|
183
166
|
return e.fixed;
|
|
184
167
|
});
|
|
185
168
|
}
|
|
169
|
+
const nullTemplate = html `
|
|
170
|
+
<style>
|
|
171
|
+
:host {
|
|
172
|
+
display: none !important;
|
|
173
|
+
}
|
|
174
|
+
@scope {
|
|
175
|
+
:scope {
|
|
176
|
+
display: none !important;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
</style>
|
|
180
|
+
`;
|
|
186
181
|
export let _createTemplate;
|
|
187
182
|
// global render task pool
|
|
188
183
|
const noBlockingTaskList = new LinkedList();
|
|
@@ -209,28 +204,32 @@ export class GemElement extends HTMLElement {
|
|
|
209
204
|
#isAppendReason;
|
|
210
205
|
#isMounted;
|
|
211
206
|
// not in constructor 的近似值
|
|
212
|
-
#
|
|
207
|
+
#notInCons;
|
|
213
208
|
#rendering;
|
|
214
209
|
#clearStyle;
|
|
215
210
|
[updateTokenAlias]() {
|
|
216
211
|
// 避免 `connectedCallback` 中的 property 赋值造成多余更新
|
|
217
|
-
if (this.#isMounted)
|
|
212
|
+
if (this.#isMounted)
|
|
218
213
|
addMicrotask(this.#update);
|
|
219
|
-
}
|
|
220
214
|
}
|
|
221
215
|
static {
|
|
222
216
|
createState = (initState) => {
|
|
223
217
|
const ele = currentConstructGemElement;
|
|
224
218
|
const state = createUpdater(initState, (payload) => {
|
|
219
|
+
const effect = ele.#effectList.at(0);
|
|
220
|
+
// https://github.com/mantou132/gem/issues/203
|
|
221
|
+
if (ele.#isMounted && effect && !effect.initialized) {
|
|
222
|
+
throw new GemError(`Do't set state sync before insert the DOM`);
|
|
223
|
+
}
|
|
225
224
|
assign(state, payload);
|
|
226
225
|
// 避免无限刷新
|
|
227
|
-
|
|
226
|
+
// 挂载前 set state 不应该触发更新
|
|
227
|
+
if (!ele.#rendering && ele.#isMounted)
|
|
228
228
|
addMicrotask(ele.#update);
|
|
229
229
|
});
|
|
230
230
|
ele.#internals.stateList.push(state);
|
|
231
231
|
return state;
|
|
232
232
|
};
|
|
233
|
-
createRef = () => new RefObject(currentConstructGemElement);
|
|
234
233
|
_createTemplate = (ele, item) => ele.#renderList.push(item);
|
|
235
234
|
}
|
|
236
235
|
constructor() {
|
|
@@ -286,9 +285,10 @@ export class GemElement extends HTMLElement {
|
|
|
286
285
|
};
|
|
287
286
|
/**
|
|
288
287
|
* - 条件渲染
|
|
289
|
-
* -
|
|
290
|
-
* - 返回 `null` 时渲染空的子内容
|
|
288
|
+
* - 没有 `render` 时显示子内容
|
|
291
289
|
* - 返回 `undefined` 时不会更新现有内容
|
|
290
|
+
* - 返回 `null` 时渲染空内容
|
|
291
|
+
* - 返回 html`` 时渲染空的子内容
|
|
292
292
|
* */
|
|
293
293
|
#render = (item) => {
|
|
294
294
|
try {
|
|
@@ -299,10 +299,11 @@ export class GemElement extends HTMLElement {
|
|
|
299
299
|
this.#rendering = false;
|
|
300
300
|
if (temp === undefined)
|
|
301
301
|
return;
|
|
302
|
-
render(temp, this.#renderRoot);
|
|
302
|
+
render(temp === null ? nullTemplate : temp, this.#renderRoot);
|
|
303
303
|
}
|
|
304
304
|
catch (err) {
|
|
305
305
|
this.dispatchEvent(new CustomEvent(_RenderErrorEvent, { bubbles: true, composed: true, detail: err }));
|
|
306
|
+
throw err;
|
|
306
307
|
}
|
|
307
308
|
};
|
|
308
309
|
#updateCallback = () => {
|
|
@@ -363,15 +364,18 @@ export class GemElement extends HTMLElement {
|
|
|
363
364
|
#connectedCallback = async () => {
|
|
364
365
|
if (this.#isAppendReason) {
|
|
365
366
|
this.#isAppendReason = false;
|
|
367
|
+
// https://github.com/mantou132/gem/issues/202
|
|
368
|
+
this.#clearStyle?.();
|
|
369
|
+
this.#clearStyle = this.#prepareStyle();
|
|
366
370
|
return;
|
|
367
371
|
}
|
|
372
|
+
this.#notInCons = true;
|
|
368
373
|
this.#compat();
|
|
369
374
|
const { observedStores, mode, penetrable } = this.#metadata;
|
|
370
375
|
// 有渲染函数的 light dom 应该添加边界,防止内容被外部样式化
|
|
371
376
|
// 如果渲染内容需要应用外部样式,需要手动 `delete` 边界
|
|
372
377
|
if (!mode && this.#renderList.length && !penetrable)
|
|
373
378
|
this.#internals.states.add(BoundaryCSSState);
|
|
374
|
-
this.#isConnected = true;
|
|
375
379
|
this.#disconnectStore = observedStores?.map((store) => connect(store, this.#update));
|
|
376
380
|
this.#render(this.#renderItem);
|
|
377
381
|
this.#isMounted = true;
|
|
@@ -419,7 +423,7 @@ export class GemElement extends HTMLElement {
|
|
|
419
423
|
// 是否要异步执行回调?
|
|
420
424
|
this.#effectList = clearEffect(this.#effectList);
|
|
421
425
|
this.#memoList = clearEffect(this.#memoList);
|
|
422
|
-
|
|
426
|
+
this.#clearStyle?.();
|
|
423
427
|
return GemElement.#final;
|
|
424
428
|
}
|
|
425
429
|
/**
|
|
@@ -441,7 +445,7 @@ export class GemElement extends HTMLElement {
|
|
|
441
445
|
callback,
|
|
442
446
|
getDep,
|
|
443
447
|
initialized: this.#isMounted,
|
|
444
|
-
fixed: !this.#
|
|
448
|
+
fixed: !this.#notInCons,
|
|
445
449
|
};
|
|
446
450
|
// 已挂载时立即执行副作用,未挂载时等挂载后执行
|
|
447
451
|
if (this.#isMounted) {
|
|
@@ -471,7 +475,7 @@ export class GemElement extends HTMLElement {
|
|
|
471
475
|
this.#memoList.push({
|
|
472
476
|
callback,
|
|
473
477
|
getDep,
|
|
474
|
-
fixed: !this.#
|
|
478
|
+
fixed: !this.#notInCons,
|
|
475
479
|
});
|
|
476
480
|
};
|
|
477
481
|
/**
|