@joist/element 4.5.0 → 4.7.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/package.json +1 -1
- package/src/lib/define.ts +1 -1
- package/src/lib/element.ts +3 -2
- package/src/lib/tags.test.ts +34 -22
- package/src/lib.ts +1 -1
- package/target/lib/attr-changed.d.ts +0 -2
- package/target/lib/attr-changed.js +0 -12
- package/target/lib/attr-changed.js.map +0 -1
- package/target/lib/attr-changed.test.d.ts +0 -1
- package/target/lib/attr-changed.test.js +0 -117
- package/target/lib/attr-changed.test.js.map +0 -1
- package/target/lib/attr.d.ts +0 -6
- package/target/lib/attr.js +0 -66
- package/target/lib/attr.js.map +0 -1
- package/target/lib/attr.test.d.ts +0 -1
- package/target/lib/attr.test.js +0 -480
- package/target/lib/attr.test.js.map +0 -1
- package/target/lib/define.d.ts +0 -5
- package/target/lib/define.js +0 -14
- package/target/lib/define.js.map +0 -1
- package/target/lib/element.d.ts +0 -11
- package/target/lib/element.js +0 -112
- package/target/lib/element.js.map +0 -1
- package/target/lib/element.test.d.ts +0 -1
- package/target/lib/element.test.js +0 -329
- package/target/lib/element.test.js.map +0 -1
- package/target/lib/lifecycle.d.ts +0 -1
- package/target/lib/lifecycle.js +0 -8
- package/target/lib/lifecycle.js.map +0 -1
- package/target/lib/lifecycle.test.d.ts +0 -1
- package/target/lib/lifecycle.test.js +0 -48
- package/target/lib/lifecycle.test.js.map +0 -1
- package/target/lib/listen.d.ts +0 -2
- package/target/lib/listen.js +0 -26
- package/target/lib/listen.js.map +0 -1
- package/target/lib/listen.test.d.ts +0 -1
- package/target/lib/listen.test.js +0 -264
- package/target/lib/listen.test.js.map +0 -1
- package/target/lib/metadata.d.ts +0 -30
- package/target/lib/metadata.js +0 -21
- package/target/lib/metadata.js.map +0 -1
- package/target/lib/query-all.d.ts +0 -10
- package/target/lib/query-all.js +0 -40
- package/target/lib/query-all.js.map +0 -1
- package/target/lib/query-all.test.d.ts +0 -1
- package/target/lib/query-all.test.js +0 -195
- package/target/lib/query-all.test.js.map +0 -1
- package/target/lib/query.d.ts +0 -10
- package/target/lib/query.js +0 -36
- package/target/lib/query.js.map +0 -1
- package/target/lib/query.test.d.ts +0 -1
- package/target/lib/query.test.js +0 -188
- package/target/lib/query.test.js.map +0 -1
- package/target/lib/result.d.ts +0 -3
- package/target/lib/result.js +0 -2
- package/target/lib/result.js.map +0 -1
- package/target/lib/tags.d.ts +0 -14
- package/target/lib/tags.js +0 -44
- package/target/lib/tags.js.map +0 -1
- package/target/lib/tags.test.d.ts +0 -1
- package/target/lib/tags.test.js +0 -69
- package/target/lib/tags.test.js.map +0 -1
- package/target/lib.d.ts +0 -9
- package/target/lib.js +0 -9
- package/target/lib.js.map +0 -1
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { assert } from "chai";
|
|
3
|
-
import { element } from "./element.js";
|
|
4
|
-
import { listen } from "./listen.js";
|
|
5
|
-
describe("@listen()", () => {
|
|
6
|
-
it("should add listener to an outer HTMLElement", (done) => {
|
|
7
|
-
let MyElement = (() => {
|
|
8
|
-
let _classDecorators = [element({
|
|
9
|
-
tagName: "listener-1",
|
|
10
|
-
})];
|
|
11
|
-
let _classDescriptor;
|
|
12
|
-
let _classExtraInitializers = [];
|
|
13
|
-
let _classThis;
|
|
14
|
-
let _classSuper = HTMLElement;
|
|
15
|
-
let _instanceExtraInitializers = [];
|
|
16
|
-
let _onClick_decorators;
|
|
17
|
-
var MyElement = class extends _classSuper {
|
|
18
|
-
static { _classThis = this; }
|
|
19
|
-
static {
|
|
20
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
21
|
-
_onClick_decorators = [listen("click")];
|
|
22
|
-
__esDecorate(this, null, _onClick_decorators, { kind: "method", name: "onClick", static: false, private: false, access: { has: obj => "onClick" in obj, get: obj => obj.onClick }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
23
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
24
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
25
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
26
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
27
|
-
}
|
|
28
|
-
onClick(e) {
|
|
29
|
-
assert.equal(e.type, "click");
|
|
30
|
-
done();
|
|
31
|
-
}
|
|
32
|
-
constructor() {
|
|
33
|
-
super(...arguments);
|
|
34
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
return MyElement = _classThis;
|
|
38
|
-
})();
|
|
39
|
-
const el = new MyElement();
|
|
40
|
-
document.body.append(el);
|
|
41
|
-
el.dispatchEvent(new Event("click"));
|
|
42
|
-
el.remove();
|
|
43
|
-
});
|
|
44
|
-
it("should add listener to the shadow root if available", (done) => {
|
|
45
|
-
let MyElement = (() => {
|
|
46
|
-
let _classDecorators = [element({
|
|
47
|
-
tagName: "listener-2",
|
|
48
|
-
shadowDom: [],
|
|
49
|
-
})];
|
|
50
|
-
let _classDescriptor;
|
|
51
|
-
let _classExtraInitializers = [];
|
|
52
|
-
let _classThis;
|
|
53
|
-
let _classSuper = HTMLElement;
|
|
54
|
-
let _instanceExtraInitializers = [];
|
|
55
|
-
let _onClick_decorators;
|
|
56
|
-
var MyElement = class extends _classSuper {
|
|
57
|
-
static { _classThis = this; }
|
|
58
|
-
static {
|
|
59
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
60
|
-
_onClick_decorators = [listen("click")];
|
|
61
|
-
__esDecorate(this, null, _onClick_decorators, { kind: "method", name: "onClick", static: false, private: false, access: { has: obj => "onClick" in obj, get: obj => obj.onClick }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
62
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
63
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
64
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
65
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
66
|
-
}
|
|
67
|
-
onClick(e) {
|
|
68
|
-
assert.equal(e.type, "click");
|
|
69
|
-
done();
|
|
70
|
-
}
|
|
71
|
-
constructor() {
|
|
72
|
-
super(...arguments);
|
|
73
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
return MyElement = _classThis;
|
|
77
|
-
})();
|
|
78
|
-
const el = new MyElement();
|
|
79
|
-
document.body.append(el);
|
|
80
|
-
el.shadowRoot?.dispatchEvent(new Event("click"));
|
|
81
|
-
el.remove();
|
|
82
|
-
});
|
|
83
|
-
it("should restrict argument to an event or an event subtype", (done) => {
|
|
84
|
-
class CustomEvent extends Event {
|
|
85
|
-
test = "Hello World";
|
|
86
|
-
constructor() {
|
|
87
|
-
super("customevent");
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
let MyElement = (() => {
|
|
91
|
-
let _classDecorators = [element({
|
|
92
|
-
tagName: "listener-3",
|
|
93
|
-
})];
|
|
94
|
-
let _classDescriptor;
|
|
95
|
-
let _classExtraInitializers = [];
|
|
96
|
-
let _classThis;
|
|
97
|
-
let _classSuper = HTMLElement;
|
|
98
|
-
let _instanceExtraInitializers = [];
|
|
99
|
-
let _onClick_decorators;
|
|
100
|
-
var MyElement = class extends _classSuper {
|
|
101
|
-
static { _classThis = this; }
|
|
102
|
-
static {
|
|
103
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
104
|
-
_onClick_decorators = [listen("customevent")];
|
|
105
|
-
__esDecorate(this, null, _onClick_decorators, { kind: "method", name: "onClick", static: false, private: false, access: { has: obj => "onClick" in obj, get: obj => obj.onClick }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
106
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
107
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
108
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
109
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
110
|
-
}
|
|
111
|
-
onClick(e) {
|
|
112
|
-
assert.equal(e.type, "customevent");
|
|
113
|
-
done();
|
|
114
|
-
}
|
|
115
|
-
constructor() {
|
|
116
|
-
super(...arguments);
|
|
117
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
return MyElement = _classThis;
|
|
121
|
-
})();
|
|
122
|
-
const el = new MyElement();
|
|
123
|
-
document.body.append(el);
|
|
124
|
-
el.dispatchEvent(new CustomEvent());
|
|
125
|
-
el.remove();
|
|
126
|
-
});
|
|
127
|
-
it("should respect a provided selector function", (done) => {
|
|
128
|
-
let MyElement = (() => {
|
|
129
|
-
let _classDecorators = [element({
|
|
130
|
-
tagName: "listener-4",
|
|
131
|
-
shadowDom: [],
|
|
132
|
-
})];
|
|
133
|
-
let _classDescriptor;
|
|
134
|
-
let _classExtraInitializers = [];
|
|
135
|
-
let _classThis;
|
|
136
|
-
let _classSuper = HTMLElement;
|
|
137
|
-
let _instanceExtraInitializers = [];
|
|
138
|
-
let _onClick_decorators;
|
|
139
|
-
var MyElement = class extends _classSuper {
|
|
140
|
-
static { _classThis = this; }
|
|
141
|
-
static {
|
|
142
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
143
|
-
_onClick_decorators = [listen("click", (host) => host)];
|
|
144
|
-
__esDecorate(this, null, _onClick_decorators, { kind: "method", name: "onClick", static: false, private: false, access: { has: obj => "onClick" in obj, get: obj => obj.onClick }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
145
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
146
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
147
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
148
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
149
|
-
}
|
|
150
|
-
onClick(e) {
|
|
151
|
-
assert.equal(e.type, "click");
|
|
152
|
-
done();
|
|
153
|
-
}
|
|
154
|
-
constructor() {
|
|
155
|
-
super(...arguments);
|
|
156
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
return MyElement = _classThis;
|
|
160
|
-
})();
|
|
161
|
-
const el = new MyElement();
|
|
162
|
-
document.body.append(el);
|
|
163
|
-
el.dispatchEvent(new Event("click"));
|
|
164
|
-
el.remove();
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
it("should remove event listeners during cleanup", () => {
|
|
168
|
-
let clickCount = 0;
|
|
169
|
-
let MyElement = (() => {
|
|
170
|
-
let _classDecorators = [element({
|
|
171
|
-
tagName: "listener-cleanup",
|
|
172
|
-
shadowDom: [],
|
|
173
|
-
})];
|
|
174
|
-
let _classDescriptor;
|
|
175
|
-
let _classExtraInitializers = [];
|
|
176
|
-
let _classThis;
|
|
177
|
-
let _classSuper = HTMLElement;
|
|
178
|
-
let _instanceExtraInitializers = [];
|
|
179
|
-
let _onClick1_decorators;
|
|
180
|
-
let _onClick2_decorators;
|
|
181
|
-
var MyElement = class extends _classSuper {
|
|
182
|
-
static { _classThis = this; }
|
|
183
|
-
static {
|
|
184
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
185
|
-
_onClick1_decorators = [listen("click")];
|
|
186
|
-
_onClick2_decorators = [listen("click")];
|
|
187
|
-
__esDecorate(this, null, _onClick1_decorators, { kind: "method", name: "onClick1", static: false, private: false, access: { has: obj => "onClick1" in obj, get: obj => obj.onClick1 }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
188
|
-
__esDecorate(this, null, _onClick2_decorators, { kind: "method", name: "onClick2", static: false, private: false, access: { has: obj => "onClick2" in obj, get: obj => obj.onClick2 }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
189
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
190
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
191
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
192
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
193
|
-
}
|
|
194
|
-
onClick1() {
|
|
195
|
-
clickCount++;
|
|
196
|
-
}
|
|
197
|
-
onClick2() {
|
|
198
|
-
clickCount++;
|
|
199
|
-
}
|
|
200
|
-
constructor() {
|
|
201
|
-
super(...arguments);
|
|
202
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
return MyElement = _classThis;
|
|
206
|
-
})();
|
|
207
|
-
const el = new MyElement();
|
|
208
|
-
document.body.append(el);
|
|
209
|
-
el.shadowRoot?.dispatchEvent(new Event("click"));
|
|
210
|
-
assert.equal(clickCount, 2);
|
|
211
|
-
el.remove();
|
|
212
|
-
el.shadowRoot?.dispatchEvent(new Event("click"));
|
|
213
|
-
assert.equal(clickCount, 2);
|
|
214
|
-
});
|
|
215
|
-
it("should not add event listeners multiple times when element is moved", () => {
|
|
216
|
-
let clickCount = 0;
|
|
217
|
-
let MyElement = (() => {
|
|
218
|
-
let _classDecorators = [element({
|
|
219
|
-
tagName: "listener-move",
|
|
220
|
-
shadowDom: [],
|
|
221
|
-
})];
|
|
222
|
-
let _classDescriptor;
|
|
223
|
-
let _classExtraInitializers = [];
|
|
224
|
-
let _classThis;
|
|
225
|
-
let _classSuper = HTMLElement;
|
|
226
|
-
let _instanceExtraInitializers = [];
|
|
227
|
-
let _onClick_decorators;
|
|
228
|
-
var MyElement = class extends _classSuper {
|
|
229
|
-
static { _classThis = this; }
|
|
230
|
-
static {
|
|
231
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
232
|
-
_onClick_decorators = [listen("click")];
|
|
233
|
-
__esDecorate(this, null, _onClick_decorators, { kind: "method", name: "onClick", static: false, private: false, access: { has: obj => "onClick" in obj, get: obj => obj.onClick }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
234
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
235
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
236
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
237
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
238
|
-
}
|
|
239
|
-
onClick() {
|
|
240
|
-
clickCount++;
|
|
241
|
-
}
|
|
242
|
-
constructor() {
|
|
243
|
-
super(...arguments);
|
|
244
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
return MyElement = _classThis;
|
|
248
|
-
})();
|
|
249
|
-
const el = new MyElement();
|
|
250
|
-
const container1 = document.createElement("div");
|
|
251
|
-
const container2 = document.createElement("div");
|
|
252
|
-
document.body.append(container1);
|
|
253
|
-
document.body.append(container2);
|
|
254
|
-
container1.append(el);
|
|
255
|
-
el.shadowRoot?.dispatchEvent(new Event("click"));
|
|
256
|
-
assert.equal(clickCount, 1);
|
|
257
|
-
container2.append(el);
|
|
258
|
-
el.shadowRoot?.dispatchEvent(new Event("click"));
|
|
259
|
-
assert.equal(clickCount, 2);
|
|
260
|
-
el.remove();
|
|
261
|
-
container1.remove();
|
|
262
|
-
container2.remove();
|
|
263
|
-
});
|
|
264
|
-
//# sourceMappingURL=listen.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listen.test.js","sourceRoot":"","sources":["../../src/lib/listen.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,6CAA6C,EAAE,CAAC,IAAI,EAAE,EAAE;YAInD,SAAS;oCAHd,OAAO,CAAC;oBACP,OAAO,EAAE,YAAY;iBACtB,CAAC;;;;8BACsB,WAAW;;;iCAAnB,SAAQ,WAAW;;;;2CAChC,MAAM,CAAC,OAAO,CAAC;oBAChB,wKAAA,OAAO,6DAIN;oBANH,6KAOC;;;oBAPK,uDAAS;;gBAEb,OAAO,CAAC,CAAQ;oBACd,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAE9B,IAAI,EAAE,CAAC;gBACT,CAAC;;;oBANG,mDAAS;;;;;QASf,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAE3B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzB,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAErC,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,CAAC,IAAI,EAAE,EAAE;YAK3D,SAAS;oCAJd,OAAO,CAAC;oBACP,OAAO,EAAE,YAAY;oBACrB,SAAS,EAAE,EAAE;iBACd,CAAC;;;;8BACsB,WAAW;;;iCAAnB,SAAQ,WAAW;;;;2CAChC,MAAM,CAAC,OAAO,CAAC;oBAChB,wKAAA,OAAO,6DAIN;oBANH,6KAOC;;;oBAPK,uDAAS;;gBAEb,OAAO,CAAC,CAAQ;oBACd,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAE9B,IAAI,EAAE,CAAC;gBACT,CAAC;;;oBANG,mDAAS;;;;;QASf,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAE3B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzB,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjD,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,CAAC,IAAI,EAAE,EAAE;QACtE,MAAM,WAAY,SAAQ,KAAK;YAC7B,IAAI,GAAG,aAAa,CAAC;YAErB;gBACE,KAAK,CAAC,aAAa,CAAC,CAAC;YACvB,CAAC;SACF;YAKK,SAAS;oCAHd,OAAO,CAAC;oBACP,OAAO,EAAE,YAAY;iBACtB,CAAC;;;;8BACsB,WAAW;;;iCAAnB,SAAQ,WAAW;;;;2CAChC,MAAM,CAAC,aAAa,CAAC;oBACtB,wKAAA,OAAO,6DAIN;oBANH,6KAOC;;;oBAPK,uDAAS;;gBAEb,OAAO,CAAC,CAAc;oBACpB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBAEpC,IAAI,EAAE,CAAC;gBACT,CAAC;;;oBANG,mDAAS;;;;;QASf,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAE3B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzB,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAEpC,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,CAAC,IAAI,EAAE,EAAE;YAKnD,SAAS;oCAJd,OAAO,CAAC;oBACP,OAAO,EAAE,YAAY;oBACrB,SAAS,EAAE,EAAE;iBACd,CAAC;;;;8BACsB,WAAW;;;iCAAnB,SAAQ,WAAW;;;;2CAChC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;oBAChC,wKAAA,OAAO,6DAIN;oBANH,6KAOC;;;oBAPK,uDAAS;;gBAEb,OAAO,CAAC,CAAQ;oBACd,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAE9B,IAAI,EAAE,CAAC;gBACT,CAAC;;;oBANG,mDAAS;;;;;QASf,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAE3B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzB,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAErC,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACtD,IAAI,UAAU,GAAG,CAAC,CAAC;QAMb,SAAS;gCAJd,OAAO,CAAC;gBACP,OAAO,EAAE,kBAAkB;gBAC3B,SAAS,EAAE,EAAE;aACd,CAAC;;;;0BACsB,WAAW;;;;6BAAnB,SAAQ,WAAW;;;;wCAChC,MAAM,CAAC,OAAO,CAAC;wCAKf,MAAM,CAAC,OAAO,CAAC;gBAJhB,2KAAA,QAAQ,6DAEP;gBAGD,2KAAA,QAAQ,6DAEP;gBATH,6KAUC;;;gBAVK,uDAAS;;YAEb,QAAQ;gBACN,UAAU,EAAE,CAAC;YACf,CAAC;YAGD,QAAQ;gBACN,UAAU,EAAE,CAAC;YACf,CAAC;;;gBATG,mDAAS;;;;;IAYf,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAGzB,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAG5B,EAAE,CAAC,MAAM,EAAE,CAAC;IAGZ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;IAC7E,IAAI,UAAU,GAAG,CAAC,CAAC;QAMb,SAAS;gCAJd,OAAO,CAAC;gBACP,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,EAAE;aACd,CAAC;;;;0BACsB,WAAW;;;6BAAnB,SAAQ,WAAW;;;;uCAChC,MAAM,CAAC,OAAO,CAAC;gBAChB,wKAAA,OAAO,6DAEN;gBAJH,6KAKC;;;gBALK,uDAAS;;YAEb,OAAO;gBACL,UAAU,EAAE,CAAC;YACf,CAAC;;;gBAJG,mDAAS;;;;;IAOf,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEjD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAGjC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAGtB,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAG5B,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAGtB,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAG5B,EAAE,CAAC,MAAM,EAAE,CAAC;IACZ,UAAU,CAAC,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,MAAM,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC"}
|
package/target/lib/metadata.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export interface AttrDef {
|
|
2
|
-
propName: string | symbol;
|
|
3
|
-
observe: boolean;
|
|
4
|
-
reflect: boolean;
|
|
5
|
-
access: {
|
|
6
|
-
get: () => unknown;
|
|
7
|
-
set: (value: unknown) => void;
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export type ListenerSelector<T> = (el: T) => EventTarget | null;
|
|
11
|
-
export interface Listener<T> {
|
|
12
|
-
event: string;
|
|
13
|
-
cb: (e: Event) => void;
|
|
14
|
-
selector: ListenerSelector<T>;
|
|
15
|
-
}
|
|
16
|
-
export type AttrChangedCallback = (name: string, oldValue: string, newValue: string) => void;
|
|
17
|
-
export declare class AttrMetadata extends Map<string, AttrDef> {
|
|
18
|
-
}
|
|
19
|
-
export declare class AttrChangeMetadata extends Map<string, Set<AttrChangedCallback>> {
|
|
20
|
-
}
|
|
21
|
-
export declare class ElementMetadata<T> {
|
|
22
|
-
attrs: AttrMetadata;
|
|
23
|
-
attrChanges: AttrChangeMetadata;
|
|
24
|
-
listeners: Listener<T>[];
|
|
25
|
-
onReady: Set<() => void>;
|
|
26
|
-
}
|
|
27
|
-
export declare class MetadataStore extends WeakMap<object, ElementMetadata<unknown>> {
|
|
28
|
-
read<T>(value: object): ElementMetadata<T>;
|
|
29
|
-
}
|
|
30
|
-
export declare const metadataStore: MetadataStore;
|
package/target/lib/metadata.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
Symbol.metadata ??= Symbol("Symbol.metadata");
|
|
2
|
-
export class AttrMetadata extends Map {
|
|
3
|
-
}
|
|
4
|
-
export class AttrChangeMetadata extends Map {
|
|
5
|
-
}
|
|
6
|
-
export class ElementMetadata {
|
|
7
|
-
attrs = new AttrMetadata();
|
|
8
|
-
attrChanges = new AttrChangeMetadata();
|
|
9
|
-
listeners = [];
|
|
10
|
-
onReady = new Set();
|
|
11
|
-
}
|
|
12
|
-
export class MetadataStore extends WeakMap {
|
|
13
|
-
read(value) {
|
|
14
|
-
if (!this.has(value)) {
|
|
15
|
-
this.set(value, new ElementMetadata());
|
|
16
|
-
}
|
|
17
|
-
return this.get(value);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
export const metadataStore = new MetadataStore();
|
|
21
|
-
//# sourceMappingURL=metadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/lib/metadata.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAsBvD,MAAM,OAAO,YAAa,SAAQ,GAAoB;CAAG;AACzD,MAAM,OAAO,kBAAmB,SAAQ,GAAqC;CAAG;AAEhF,MAAM,OAAO,eAAe;IAC1B,KAAK,GAAiB,IAAI,YAAY,EAAE,CAAC;IACzC,WAAW,GAAuB,IAAI,kBAAkB,EAAE,CAAC;IAC3D,SAAS,GAAkB,EAAE,CAAC;IAC9B,OAAO,GAAoB,IAAI,GAAG,EAAE,CAAC;CACtC;AAED,MAAM,OAAO,aAAc,SAAQ,OAAyC;IAC1E,IAAI,CAAI,KAAa;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAA6B,CAAC;IACrD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
type Tags = keyof HTMLElementTagNameMap;
|
|
2
|
-
type SVGTags = keyof SVGElementTagNameMap;
|
|
3
|
-
type MathTags = keyof MathMLElementTagNameMap;
|
|
4
|
-
type NodeUpdate<T extends Node> = Partial<T> | ((node: T) => Partial<T> | null);
|
|
5
|
-
type QueryAllResult<T extends Node> = (updates?: NodeUpdate<T>) => NodeListOf<T>;
|
|
6
|
-
export declare function queryAll<K extends Tags>(selectors: K, root?: HTMLElement | ShadowRoot): QueryAllResult<HTMLElementTagNameMap[K]>;
|
|
7
|
-
export declare function queryAll<K extends SVGTags>(selectors: K, root?: HTMLElement | ShadowRoot): QueryAllResult<SVGElementTagNameMap[K]>;
|
|
8
|
-
export declare function queryAll<K extends MathTags>(selectors: K, root?: HTMLElement | ShadowRoot): QueryAllResult<MathMLElementTagNameMap[K]>;
|
|
9
|
-
export declare function queryAll<E extends HTMLElement = HTMLElement>(selectors: string, root?: HTMLElement | ShadowRoot): QueryAllResult<E>;
|
|
10
|
-
export {};
|
package/target/lib/query-all.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export function queryAll(query, root) {
|
|
2
|
-
let res = null;
|
|
3
|
-
return function (update) {
|
|
4
|
-
if (res) {
|
|
5
|
-
return patchNodes(res, update);
|
|
6
|
-
}
|
|
7
|
-
if (root) {
|
|
8
|
-
res = root.querySelectorAll(query);
|
|
9
|
-
}
|
|
10
|
-
else if (this.shadowRoot) {
|
|
11
|
-
res = this.shadowRoot.querySelectorAll(query);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
res = this.querySelectorAll(query);
|
|
15
|
-
}
|
|
16
|
-
if (!res) {
|
|
17
|
-
throw new Error(`could not find ${query}`);
|
|
18
|
-
}
|
|
19
|
-
return patchNodes(res, update);
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function patchNodes(target, update) {
|
|
23
|
-
if (!update) {
|
|
24
|
-
return target;
|
|
25
|
-
}
|
|
26
|
-
for (const node of target) {
|
|
27
|
-
const patch = typeof update === "function" ? update(node) : update;
|
|
28
|
-
if (patch) {
|
|
29
|
-
for (const update in patch) {
|
|
30
|
-
const newValue = patch[update];
|
|
31
|
-
const oldValue = node[update];
|
|
32
|
-
if (newValue !== oldValue) {
|
|
33
|
-
Reflect.set(node, update, newValue);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return target;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=query-all.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-all.js","sourceRoot":"","sources":["../../src/lib/query-all.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,QAAQ,CACtB,KAAQ,EACR,IAA+B;IAE/B,IAAI,GAAG,GAAgD,IAAI,CAAC;IAE5D,OAAO,UAEL,MAA6C;QAE7C,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAI,KAAK,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAI,KAAK,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAI,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,MAAqB,EACrB,MAAsB;IAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE9B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { expect } from "chai";
|
|
3
|
-
import { element } from "./element.js";
|
|
4
|
-
import { queryAll } from "./query-all.js";
|
|
5
|
-
import { html } from "./tags.js";
|
|
6
|
-
it("should work", () => {
|
|
7
|
-
let MyElement = (() => {
|
|
8
|
-
let _classDecorators = [element({
|
|
9
|
-
tagName: "query-test-1",
|
|
10
|
-
shadowDom: [
|
|
11
|
-
html `
|
|
12
|
-
<form>
|
|
13
|
-
<input id="fname" name="fname" />
|
|
14
|
-
<input id="lname" name="lname" />
|
|
15
|
-
</form>
|
|
16
|
-
`,
|
|
17
|
-
],
|
|
18
|
-
})];
|
|
19
|
-
let _classDescriptor;
|
|
20
|
-
let _classExtraInitializers = [];
|
|
21
|
-
let _classThis;
|
|
22
|
-
let _classSuper = HTMLElement;
|
|
23
|
-
var MyElement = class extends _classSuper {
|
|
24
|
-
static { _classThis = this; }
|
|
25
|
-
static {
|
|
26
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
27
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
28
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
29
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
30
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
31
|
-
}
|
|
32
|
-
inputs = queryAll("input");
|
|
33
|
-
};
|
|
34
|
-
return MyElement = _classThis;
|
|
35
|
-
})();
|
|
36
|
-
const el = new MyElement();
|
|
37
|
-
expect(el.inputs()[0]).to.equal(el.shadowRoot?.querySelector("#fname"));
|
|
38
|
-
expect(el.inputs()[1]).to.equal(el.shadowRoot?.querySelector("#lname"));
|
|
39
|
-
});
|
|
40
|
-
it("should patch items when patch is returned", () => {
|
|
41
|
-
let MyElement = (() => {
|
|
42
|
-
let _classDecorators = [element({
|
|
43
|
-
tagName: "query-test-2",
|
|
44
|
-
shadowDom: [
|
|
45
|
-
html `
|
|
46
|
-
<form>
|
|
47
|
-
<input id="fname" name="fname" value="Danny" />
|
|
48
|
-
<input id="lname" name="lname" value="Blue" />
|
|
49
|
-
</form>
|
|
50
|
-
`,
|
|
51
|
-
],
|
|
52
|
-
})];
|
|
53
|
-
let _classDescriptor;
|
|
54
|
-
let _classExtraInitializers = [];
|
|
55
|
-
let _classThis;
|
|
56
|
-
let _classSuper = HTMLElement;
|
|
57
|
-
var MyElement = class extends _classSuper {
|
|
58
|
-
static { _classThis = this; }
|
|
59
|
-
static {
|
|
60
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
61
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
62
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
63
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
64
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
65
|
-
}
|
|
66
|
-
inputs = queryAll("input");
|
|
67
|
-
};
|
|
68
|
-
return MyElement = _classThis;
|
|
69
|
-
})();
|
|
70
|
-
const el = new MyElement();
|
|
71
|
-
el.inputs((node) => {
|
|
72
|
-
if (node.id === "fname") {
|
|
73
|
-
return {
|
|
74
|
-
value: "Foo",
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
});
|
|
79
|
-
expect(el.shadowRoot?.querySelector("#fname")?.value).to.equal("Foo");
|
|
80
|
-
expect(el.shadowRoot?.querySelector("#lname")?.value).to.equal("Blue");
|
|
81
|
-
});
|
|
82
|
-
it("should patch the selected item when cached", () => {
|
|
83
|
-
let MyElement = (() => {
|
|
84
|
-
let _classDecorators = [element({
|
|
85
|
-
tagName: "query-test-3",
|
|
86
|
-
shadowDom: [
|
|
87
|
-
html `
|
|
88
|
-
<form>
|
|
89
|
-
<input id="fname" name="fname" />
|
|
90
|
-
<input id="lname" name="lname" />
|
|
91
|
-
</form>
|
|
92
|
-
`,
|
|
93
|
-
],
|
|
94
|
-
})];
|
|
95
|
-
let _classDescriptor;
|
|
96
|
-
let _classExtraInitializers = [];
|
|
97
|
-
let _classThis;
|
|
98
|
-
let _classSuper = HTMLElement;
|
|
99
|
-
var MyElement = class extends _classSuper {
|
|
100
|
-
static { _classThis = this; }
|
|
101
|
-
static {
|
|
102
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
103
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
104
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
105
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
106
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
107
|
-
}
|
|
108
|
-
inputs = queryAll("input");
|
|
109
|
-
};
|
|
110
|
-
return MyElement = _classThis;
|
|
111
|
-
})();
|
|
112
|
-
const el = new MyElement();
|
|
113
|
-
el.inputs();
|
|
114
|
-
el.inputs((node) => {
|
|
115
|
-
if (node.id === "fname") {
|
|
116
|
-
return {
|
|
117
|
-
value: "Foo",
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
value: "Bar",
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
expect(el.shadowRoot?.querySelector("#fname")?.value).to.equal("Foo");
|
|
125
|
-
expect(el.shadowRoot?.querySelector("#lname")?.value).to.equal("Bar");
|
|
126
|
-
});
|
|
127
|
-
it("should apply the same patch to all elements", () => {
|
|
128
|
-
let MyElement = (() => {
|
|
129
|
-
let _classDecorators = [element({
|
|
130
|
-
tagName: "query-test-4",
|
|
131
|
-
shadowDom: [
|
|
132
|
-
html `
|
|
133
|
-
<form>
|
|
134
|
-
<input id="fname" name="fname" />
|
|
135
|
-
<input id="lname" name="lname" />
|
|
136
|
-
</form>
|
|
137
|
-
`,
|
|
138
|
-
],
|
|
139
|
-
})];
|
|
140
|
-
let _classDescriptor;
|
|
141
|
-
let _classExtraInitializers = [];
|
|
142
|
-
let _classThis;
|
|
143
|
-
let _classSuper = HTMLElement;
|
|
144
|
-
var MyElement = class extends _classSuper {
|
|
145
|
-
static { _classThis = this; }
|
|
146
|
-
static {
|
|
147
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
148
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
149
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
150
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
151
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
152
|
-
}
|
|
153
|
-
inputs = queryAll("input");
|
|
154
|
-
};
|
|
155
|
-
return MyElement = _classThis;
|
|
156
|
-
})();
|
|
157
|
-
const el = new MyElement();
|
|
158
|
-
el.inputs({ value: "TEST" });
|
|
159
|
-
expect(el.shadowRoot?.querySelector("#fname")?.value).to.equal("TEST");
|
|
160
|
-
expect(el.shadowRoot?.querySelector("#lname")?.value).to.equal("TEST");
|
|
161
|
-
});
|
|
162
|
-
it("should use passed in root", () => {
|
|
163
|
-
let MyElement = (() => {
|
|
164
|
-
let _classDecorators = [element({
|
|
165
|
-
tagName: "query-test-5",
|
|
166
|
-
shadowDom: [],
|
|
167
|
-
})];
|
|
168
|
-
let _classDescriptor;
|
|
169
|
-
let _classExtraInitializers = [];
|
|
170
|
-
let _classThis;
|
|
171
|
-
let _classSuper = HTMLElement;
|
|
172
|
-
var MyElement = class extends _classSuper {
|
|
173
|
-
static { _classThis = this; }
|
|
174
|
-
static {
|
|
175
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
176
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
177
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
178
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
179
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
180
|
-
}
|
|
181
|
-
inputs = queryAll("input", this);
|
|
182
|
-
};
|
|
183
|
-
return MyElement = _classThis;
|
|
184
|
-
})();
|
|
185
|
-
const el = new MyElement();
|
|
186
|
-
el.innerHTML = `
|
|
187
|
-
<form>
|
|
188
|
-
<input id="fname" name="fname" />
|
|
189
|
-
<input id="lname" name="lname" />
|
|
190
|
-
</form>
|
|
191
|
-
`;
|
|
192
|
-
expect(el.inputs()[0]).to.equal(el.querySelector("#fname"));
|
|
193
|
-
expect(el.inputs()[1]).to.equal(el.querySelector("#lname"));
|
|
194
|
-
});
|
|
195
|
-
//# sourceMappingURL=query-all.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-all.test.js","sourceRoot":"","sources":["../../src/lib/query-all.test.ts"],"names":[],"mappings":"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"}
|
package/target/lib/query.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
type Tags = keyof HTMLElementTagNameMap;
|
|
2
|
-
type SVGTags = keyof SVGElementTagNameMap;
|
|
3
|
-
type MathTags = keyof MathMLElementTagNameMap;
|
|
4
|
-
type NodeUpdate<T extends Node> = Partial<T> | ((node: T) => Partial<T>);
|
|
5
|
-
export type QueryResult<T extends Node> = (updates?: NodeUpdate<T>) => T;
|
|
6
|
-
export declare function query<K extends Tags>(selectors: K, root?: HTMLElement | ShadowRoot): QueryResult<HTMLElementTagNameMap[K]>;
|
|
7
|
-
export declare function query<K extends SVGTags>(selectors: K, root?: HTMLElement | ShadowRoot): QueryResult<SVGElementTagNameMap[K]>;
|
|
8
|
-
export declare function query<K extends MathTags>(selectors: K, root?: HTMLElement | ShadowRoot): QueryResult<MathMLElementTagNameMap[K]>;
|
|
9
|
-
export declare function query<E extends HTMLElement = HTMLElement>(selectors: string, root?: HTMLElement | ShadowRoot): QueryResult<E>;
|
|
10
|
-
export {};
|
package/target/lib/query.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export function query(query, root) {
|
|
2
|
-
let res = null;
|
|
3
|
-
return function (updates) {
|
|
4
|
-
if (res) {
|
|
5
|
-
return patchNode(res, updates);
|
|
6
|
-
}
|
|
7
|
-
if (root) {
|
|
8
|
-
res = root.querySelector(query);
|
|
9
|
-
}
|
|
10
|
-
else if (this.shadowRoot) {
|
|
11
|
-
res = this.shadowRoot.querySelector(query);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
res = this.querySelector(query);
|
|
15
|
-
}
|
|
16
|
-
if (!res) {
|
|
17
|
-
throw new Error(`could not find ${query}`);
|
|
18
|
-
}
|
|
19
|
-
return patchNode(res, updates);
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function patchNode(target, update) {
|
|
23
|
-
if (!update) {
|
|
24
|
-
return target;
|
|
25
|
-
}
|
|
26
|
-
const patch = typeof update === "function" ? update(target) : update;
|
|
27
|
-
for (const key in patch) {
|
|
28
|
-
const newValue = patch[key];
|
|
29
|
-
const oldValue = target[key];
|
|
30
|
-
if (newValue !== oldValue) {
|
|
31
|
-
Reflect.set(target, key, newValue);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return target;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=query.js.map
|
package/target/lib/query.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/lib/query.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,KAAK,CACnB,KAAQ,EACR,IAA+B;IAE/B,IAAI,GAAG,GAAoC,IAAI,CAAC;IAEhD,OAAO,UAA0C,OAAO;QACtD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,CAAC,aAAa,CAAI,KAAK,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAI,KAAK,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAC,aAAa,CAAI,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,MAAS,EACT,MAA+C;IAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAErE,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|