@bodil/dom 0.2.0 → 0.2.2
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/component.d.ts +68 -0
- package/dist/component.js +70 -0
- package/dist/component.js.map +1 -1
- package/dist/emitter.d.ts +6 -0
- package/dist/emitter.js +4 -0
- package/dist/emitter.js.map +1 -1
- package/package.json +1 -1
- package/src/component.ts +85 -0
- package/src/emitter.ts +6 -0
package/dist/component.d.ts
CHANGED
|
@@ -47,6 +47,8 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
47
47
|
* class MyComponent extends Component {
|
|
48
48
|
* static deps: Deps = [ MySubcomponent, MyOtherSubcomponent ];
|
|
49
49
|
* }
|
|
50
|
+
*
|
|
51
|
+
* @category Declarations
|
|
50
52
|
*/
|
|
51
53
|
static deps: Deps;
|
|
52
54
|
/**
|
|
@@ -66,8 +68,13 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
66
68
|
* }
|
|
67
69
|
* `;
|
|
68
70
|
* }
|
|
71
|
+
*
|
|
72
|
+
* @category Declarations
|
|
69
73
|
*/
|
|
70
74
|
static styles?: CSSStyleSpecDeclaration;
|
|
75
|
+
/**
|
|
76
|
+
* @category Advanced
|
|
77
|
+
*/
|
|
71
78
|
static shadowRootOptions: ShadowRootInit;
|
|
72
79
|
private static initialisers;
|
|
73
80
|
/** @ignore */
|
|
@@ -77,13 +84,28 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
77
84
|
/** @ignore */
|
|
78
85
|
protected static requiredProperties: Set<string | symbol>;
|
|
79
86
|
private static [finalised];
|
|
87
|
+
/**
|
|
88
|
+
* @category Advanced
|
|
89
|
+
*/
|
|
80
90
|
renderOptions: RenderOptions;
|
|
91
|
+
/**
|
|
92
|
+
* {@inheritDoc EmitterElement.emits}
|
|
93
|
+
* @category Declarations
|
|
94
|
+
*/
|
|
81
95
|
emits: object;
|
|
96
|
+
/**
|
|
97
|
+
* @category Advanced
|
|
98
|
+
*/
|
|
82
99
|
readonly renderRoot: ShadowRoot | HTMLElement;
|
|
83
100
|
/**
|
|
84
101
|
* True if this component had scheduled an update which has not yet started.
|
|
102
|
+
*
|
|
103
|
+
* @category Render
|
|
85
104
|
*/
|
|
86
105
|
get isUpdatePending(): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* @category Render
|
|
108
|
+
*/
|
|
87
109
|
get updateComplete(): Promise<boolean>;
|
|
88
110
|
/**
|
|
89
111
|
* A {@link Promise} which resolves when this component has completed its
|
|
@@ -92,6 +114,8 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
92
114
|
*
|
|
93
115
|
* By default, a component considers itself stabilised when all of its
|
|
94
116
|
* children which are also {@link Component}s are reporting as stabilised.
|
|
117
|
+
*
|
|
118
|
+
* @category Render
|
|
95
119
|
*/
|
|
96
120
|
get hasStabilised(): Promise<void>;
|
|
97
121
|
/**
|
|
@@ -101,11 +125,15 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
101
125
|
* This can be passed along to asynchronous tasks such as {@link fetch}
|
|
102
126
|
* initiated by this component, which will then be aborted automatically if
|
|
103
127
|
* the component is removed from the DOM.
|
|
128
|
+
*
|
|
129
|
+
* @category Advanced
|
|
104
130
|
*/
|
|
105
131
|
get abortSignal(): AbortSignal;
|
|
106
132
|
/**
|
|
107
133
|
* Register a function which will be executed whenever an instance of this
|
|
108
134
|
* class is constructed.
|
|
135
|
+
*
|
|
136
|
+
* @category Advanced
|
|
109
137
|
*/
|
|
110
138
|
static addInitialiser(init: (this: Component) => void): void;
|
|
111
139
|
/**
|
|
@@ -133,7 +161,16 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
133
161
|
* @ignore
|
|
134
162
|
*/
|
|
135
163
|
$signal<K extends keyof this & string, V extends this[K]>(prop: K): Signal.Computed<V>;
|
|
164
|
+
/**
|
|
165
|
+
* Adds a controller to the host, which sets up the controller's lifecycle
|
|
166
|
+
* methods to be called with the host's lifecycle.
|
|
167
|
+
* @category Advanced
|
|
168
|
+
*/
|
|
136
169
|
addController(controller: ReactiveController): void;
|
|
170
|
+
/**
|
|
171
|
+
* Removes a controller from the host.
|
|
172
|
+
* @category Advanced
|
|
173
|
+
*/
|
|
137
174
|
removeController(controller: ReactiveController): void;
|
|
138
175
|
/**
|
|
139
176
|
* Create the component's render root.
|
|
@@ -144,10 +181,20 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
144
181
|
* If you don't want to use a shadow DOM, you can override this method to
|
|
145
182
|
* just `return this`, which causes the component's contents to render as
|
|
146
183
|
* direct children of the component itself.
|
|
184
|
+
*
|
|
185
|
+
* @category Advanced
|
|
147
186
|
*/
|
|
148
187
|
protected createRenderRoot(): HTMLElement | ShadowRoot;
|
|
188
|
+
/**
|
|
189
|
+
* Add a style sheet to the component's shadow root.
|
|
190
|
+
*
|
|
191
|
+
* @category Advanced
|
|
192
|
+
*/
|
|
193
|
+
addStyleSheet(spec: CSSStyleSpecDeclaration): void;
|
|
149
194
|
/**
|
|
150
195
|
* Ask this component to update itself.
|
|
196
|
+
*
|
|
197
|
+
* @category Render
|
|
151
198
|
*/
|
|
152
199
|
requestUpdate(opts?: UpdateConfig): void;
|
|
153
200
|
/**
|
|
@@ -161,6 +208,8 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
161
208
|
/**
|
|
162
209
|
* Return an iterator over this component's children which are also
|
|
163
210
|
* {@link Component}s.
|
|
211
|
+
*
|
|
212
|
+
* @category Queries
|
|
164
213
|
*/
|
|
165
214
|
protected findChildComponents(root?: Element | ShadowRoot): IteratorObject<Component>;
|
|
166
215
|
/**
|
|
@@ -169,25 +218,31 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
169
218
|
*
|
|
170
219
|
* The default implementation waits for any children which are also
|
|
171
220
|
* {@link Component}s to report that they have also stabilised.
|
|
221
|
+
*
|
|
222
|
+
* @category Render
|
|
172
223
|
*/
|
|
173
224
|
protected stabilise(): Promise<void>;
|
|
174
225
|
/**
|
|
175
226
|
* This lifecycle callback is called each time this component is connected
|
|
176
227
|
* to the DOM.
|
|
228
|
+
* @category Lifecycle
|
|
177
229
|
*/
|
|
178
230
|
protected connected(): void;
|
|
179
231
|
/**
|
|
180
232
|
* This lifecycle callback is called each time this component is
|
|
181
233
|
* disconnected from the DOM.
|
|
234
|
+
* @category Lifecycle
|
|
182
235
|
*/
|
|
183
236
|
protected disconnected(): void;
|
|
184
237
|
/**
|
|
185
238
|
* This lifecycle callback is called each time an update has completed.
|
|
239
|
+
* @category Lifecycle
|
|
186
240
|
*/
|
|
187
241
|
protected updated(): void;
|
|
188
242
|
/**
|
|
189
243
|
* This lifecycle callback is called after the component's first update has
|
|
190
244
|
* completed, and before {@link Component.updated}.
|
|
245
|
+
* @category Lifecycle
|
|
191
246
|
*/
|
|
192
247
|
protected firstUpdated(): void;
|
|
193
248
|
/**
|
|
@@ -195,18 +250,21 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
195
250
|
* stabilised after its first update.
|
|
196
251
|
*
|
|
197
252
|
* @see {@link Component.hasStabilised}
|
|
253
|
+
* @category Lifecycle
|
|
198
254
|
*/
|
|
199
255
|
protected stabilised(): void;
|
|
200
256
|
/**
|
|
201
257
|
* This lifecycle callback is called every time a property decorated with
|
|
202
258
|
* the @{@link require} decorator has changed, but only when every property
|
|
203
259
|
* marked as such is not `undefined`.
|
|
260
|
+
* @category Lifecycle
|
|
204
261
|
*/
|
|
205
262
|
protected initialised(): void;
|
|
206
263
|
/**
|
|
207
264
|
* This lifecycle callback is called the first time every property decorated
|
|
208
265
|
* with @{@link require} has been defined, and before
|
|
209
266
|
* {@link Component.initialised}.
|
|
267
|
+
* @category Lifecycle
|
|
210
268
|
*/
|
|
211
269
|
protected firstInitialised(): void;
|
|
212
270
|
/**
|
|
@@ -224,12 +282,16 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
224
282
|
* `;
|
|
225
283
|
* }
|
|
226
284
|
* }
|
|
285
|
+
*
|
|
286
|
+
* @category Render
|
|
227
287
|
*/
|
|
228
288
|
protected render(): unknown;
|
|
289
|
+
/** @internal */
|
|
229
290
|
[Symbol.dispose](): void;
|
|
230
291
|
/**
|
|
231
292
|
* Register a {@link Disposable} for automatic disposal when this component
|
|
232
293
|
* is disposed.
|
|
294
|
+
* @category Resources
|
|
233
295
|
*/
|
|
234
296
|
use(disposifiable: undefined): undefined;
|
|
235
297
|
use(disposifiable: null): null;
|
|
@@ -251,6 +313,7 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
251
313
|
* super.connectedCallback();
|
|
252
314
|
* this.useWhileConnected(this.on("click", this.handleClick.bind(this)));
|
|
253
315
|
* }
|
|
316
|
+
* @category Resources
|
|
254
317
|
*/
|
|
255
318
|
useWhileConnected(disposifiable: Disposifiable, secondDisposable: Disposifiable, ...disposifiables: Array<Disposifiable>): Array<Disposable>;
|
|
256
319
|
useWhileConnected(disposifiable: undefined): undefined;
|
|
@@ -262,12 +325,14 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
262
325
|
* Attach an event listener to an event on this component.
|
|
263
326
|
*
|
|
264
327
|
* @returns A {@link Disposable} to subsequently detach the event listener.
|
|
328
|
+
* @category Events
|
|
265
329
|
*/
|
|
266
330
|
on<K extends keyof HTMLElementEventMap>(type: K, callback: (event: HTMLElementEventMap[K]) => void, options?: AddEventListenerOptions | boolean): Disposable;
|
|
267
331
|
/**
|
|
268
332
|
* If an element that is either inside this element's shadow root or is a
|
|
269
333
|
* child of this element (ie. slotted) currently has focus, return that
|
|
270
334
|
* element. Otherwise, return null.
|
|
335
|
+
* @category Queries
|
|
271
336
|
*/
|
|
272
337
|
getFocusedElement(): Element | null;
|
|
273
338
|
/**
|
|
@@ -290,6 +355,7 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
290
355
|
* return html`<button>I am a button</button>`;
|
|
291
356
|
* }
|
|
292
357
|
* }
|
|
358
|
+
* @category Queries
|
|
293
359
|
*/
|
|
294
360
|
query<El extends keyof HTMLElementTagNameMap>(selector: El): HTMLElementTagNameMap[El] | null;
|
|
295
361
|
query<El extends keyof SVGElementTagNameMap>(selector: El): SVGElementTagNameMap[El] | null;
|
|
@@ -320,6 +386,7 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
320
386
|
* `;
|
|
321
387
|
* }
|
|
322
388
|
* }
|
|
389
|
+
* @category Queries
|
|
323
390
|
*/
|
|
324
391
|
queryAll<El extends keyof HTMLElementTagNameMap>(selector: El): NodeListOf<HTMLElementTagNameMap[El]>;
|
|
325
392
|
queryAll<El extends keyof SVGElementTagNameMap>(selector: El): NodeListOf<SVGElementTagNameMap[El]>;
|
|
@@ -333,6 +400,7 @@ export declare abstract class Component extends EmitterElement implements Reacti
|
|
|
333
400
|
*
|
|
334
401
|
* If you include `reactive: true` in your query, the result will be a
|
|
335
402
|
* signal which updates with the contents of the slot.
|
|
403
|
+
* @category Queries
|
|
336
404
|
*/
|
|
337
405
|
querySlot(options: QuerySlotOptions & {
|
|
338
406
|
nodes: true;
|
package/dist/component.js
CHANGED
|
@@ -48,8 +48,13 @@ export class Component extends EmitterElement {
|
|
|
48
48
|
* class MyComponent extends Component {
|
|
49
49
|
* static deps: Deps = [ MySubcomponent, MyOtherSubcomponent ];
|
|
50
50
|
* }
|
|
51
|
+
*
|
|
52
|
+
* @category Declarations
|
|
51
53
|
*/
|
|
52
54
|
static { this.deps = []; }
|
|
55
|
+
/**
|
|
56
|
+
* @category Advanced
|
|
57
|
+
*/
|
|
53
58
|
static { this.shadowRootOptions = { mode: "open" }; }
|
|
54
59
|
static { this.initialisers = new Set(); }
|
|
55
60
|
/** @ignore */
|
|
@@ -75,10 +80,15 @@ export class Component extends EmitterElement {
|
|
|
75
80
|
#ignoreAttributeUpdates;
|
|
76
81
|
/**
|
|
77
82
|
* True if this component had scheduled an update which has not yet started.
|
|
83
|
+
*
|
|
84
|
+
* @category Render
|
|
78
85
|
*/
|
|
79
86
|
get isUpdatePending() {
|
|
80
87
|
return this.#isUpdatePending;
|
|
81
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* @category Render
|
|
91
|
+
*/
|
|
82
92
|
get updateComplete() {
|
|
83
93
|
return this.#updateResult.promise;
|
|
84
94
|
}
|
|
@@ -89,6 +99,8 @@ export class Component extends EmitterElement {
|
|
|
89
99
|
*
|
|
90
100
|
* By default, a component considers itself stabilised when all of its
|
|
91
101
|
* children which are also {@link Component}s are reporting as stabilised.
|
|
102
|
+
*
|
|
103
|
+
* @category Render
|
|
92
104
|
*/
|
|
93
105
|
get hasStabilised() {
|
|
94
106
|
return this.#stabilised.promise;
|
|
@@ -100,6 +112,8 @@ export class Component extends EmitterElement {
|
|
|
100
112
|
* This can be passed along to asynchronous tasks such as {@link fetch}
|
|
101
113
|
* initiated by this component, which will then be aborted automatically if
|
|
102
114
|
* the component is removed from the DOM.
|
|
115
|
+
*
|
|
116
|
+
* @category Advanced
|
|
103
117
|
*/
|
|
104
118
|
get abortSignal() {
|
|
105
119
|
return this.#abortController.signal;
|
|
@@ -108,6 +122,8 @@ export class Component extends EmitterElement {
|
|
|
108
122
|
/**
|
|
109
123
|
* Register a function which will be executed whenever an instance of this
|
|
110
124
|
* class is constructed.
|
|
125
|
+
*
|
|
126
|
+
* @category Advanced
|
|
111
127
|
*/
|
|
112
128
|
static addInitialiser(init) {
|
|
113
129
|
if (!Object.hasOwn(this, "initialisers")) {
|
|
@@ -158,6 +174,9 @@ export class Component extends EmitterElement {
|
|
|
158
174
|
/** @ignore */
|
|
159
175
|
constructor() {
|
|
160
176
|
super();
|
|
177
|
+
/**
|
|
178
|
+
* @category Advanced
|
|
179
|
+
*/
|
|
161
180
|
this.renderOptions = { host: this };
|
|
162
181
|
this.#controllers = new Set();
|
|
163
182
|
this.#connectedContext = new DisposableContext();
|
|
@@ -170,6 +189,9 @@ export class Component extends EmitterElement {
|
|
|
170
189
|
this.#firstUpdate = false;
|
|
171
190
|
this.#initialised = false;
|
|
172
191
|
this.#viewTransitionRequested = false;
|
|
192
|
+
/**
|
|
193
|
+
* @category Advanced
|
|
194
|
+
*/
|
|
173
195
|
this.renderRoot = this.createRenderRoot();
|
|
174
196
|
this.#abortController = new AbortController();
|
|
175
197
|
this.#ignoreAttributeUpdates = 1;
|
|
@@ -282,12 +304,21 @@ export class Component extends EmitterElement {
|
|
|
282
304
|
throw new TypeError(`Object has no reactive property ${JSON.stringify(prop)}`);
|
|
283
305
|
});
|
|
284
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
* Adds a controller to the host, which sets up the controller's lifecycle
|
|
309
|
+
* methods to be called with the host's lifecycle.
|
|
310
|
+
* @category Advanced
|
|
311
|
+
*/
|
|
285
312
|
addController(controller) {
|
|
286
313
|
this.#controllers.add(controller);
|
|
287
314
|
if (this.renderRoot !== undefined && this.isConnected) {
|
|
288
315
|
controller.hostConnected?.();
|
|
289
316
|
}
|
|
290
317
|
}
|
|
318
|
+
/**
|
|
319
|
+
* Removes a controller from the host.
|
|
320
|
+
* @category Advanced
|
|
321
|
+
*/
|
|
291
322
|
removeController(controller) {
|
|
292
323
|
this.#controllers.delete(controller);
|
|
293
324
|
}
|
|
@@ -300,6 +331,8 @@ export class Component extends EmitterElement {
|
|
|
300
331
|
* If you don't want to use a shadow DOM, you can override this method to
|
|
301
332
|
* just `return this`, which causes the component's contents to render as
|
|
302
333
|
* direct children of the component itself.
|
|
334
|
+
*
|
|
335
|
+
* @category Advanced
|
|
303
336
|
*/
|
|
304
337
|
createRenderRoot() {
|
|
305
338
|
const renderRoot = this.shadowRoot ??
|
|
@@ -308,8 +341,29 @@ export class Component extends EmitterElement {
|
|
|
308
341
|
this.renderOptions.renderBefore ??= renderRoot.firstChild;
|
|
309
342
|
return renderRoot;
|
|
310
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Add a style sheet to the component's shadow root.
|
|
346
|
+
*
|
|
347
|
+
* @category Advanced
|
|
348
|
+
*/
|
|
349
|
+
addStyleSheet(spec) {
|
|
350
|
+
if (!(this.renderRoot instanceof ShadowRoot)) {
|
|
351
|
+
throw new Error("Component needs a shadow root in order to add a style sheet");
|
|
352
|
+
}
|
|
353
|
+
const sheets = (Array.isArray(spec)
|
|
354
|
+
? spec.flat(Infinity)
|
|
355
|
+
: [spec]).map(processCSSStyleSpec);
|
|
356
|
+
for (const sheet of sheets) {
|
|
357
|
+
const doc = sheet instanceof CSSStyleSheet ? sheet : sheet.styleSheet;
|
|
358
|
+
if (doc !== undefined) {
|
|
359
|
+
this.renderRoot.adoptedStyleSheets.push(doc);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
311
363
|
/**
|
|
312
364
|
* Ask this component to update itself.
|
|
365
|
+
*
|
|
366
|
+
* @category Render
|
|
313
367
|
*/
|
|
314
368
|
requestUpdate(opts) {
|
|
315
369
|
this.#dirty = true;
|
|
@@ -409,6 +463,8 @@ export class Component extends EmitterElement {
|
|
|
409
463
|
/**
|
|
410
464
|
* Return an iterator over this component's children which are also
|
|
411
465
|
* {@link Component}s.
|
|
466
|
+
*
|
|
467
|
+
* @category Queries
|
|
412
468
|
*/
|
|
413
469
|
findChildComponents(root = this.renderRoot) {
|
|
414
470
|
return findDescendants(root, (el) => el instanceof Component);
|
|
@@ -419,6 +475,8 @@ export class Component extends EmitterElement {
|
|
|
419
475
|
*
|
|
420
476
|
* The default implementation waits for any children which are also
|
|
421
477
|
* {@link Component}s to report that they have also stabilised.
|
|
478
|
+
*
|
|
479
|
+
* @category Render
|
|
422
480
|
*/
|
|
423
481
|
async stabilise() {
|
|
424
482
|
// wait for children to stabilise
|
|
@@ -429,6 +487,7 @@ export class Component extends EmitterElement {
|
|
|
429
487
|
/**
|
|
430
488
|
* This lifecycle callback is called each time this component is connected
|
|
431
489
|
* to the DOM.
|
|
490
|
+
* @category Lifecycle
|
|
432
491
|
*/
|
|
433
492
|
connected() {
|
|
434
493
|
//
|
|
@@ -436,12 +495,14 @@ export class Component extends EmitterElement {
|
|
|
436
495
|
/**
|
|
437
496
|
* This lifecycle callback is called each time this component is
|
|
438
497
|
* disconnected from the DOM.
|
|
498
|
+
* @category Lifecycle
|
|
439
499
|
*/
|
|
440
500
|
disconnected() {
|
|
441
501
|
//
|
|
442
502
|
}
|
|
443
503
|
/**
|
|
444
504
|
* This lifecycle callback is called each time an update has completed.
|
|
505
|
+
* @category Lifecycle
|
|
445
506
|
*/
|
|
446
507
|
updated() {
|
|
447
508
|
//
|
|
@@ -449,6 +510,7 @@ export class Component extends EmitterElement {
|
|
|
449
510
|
/**
|
|
450
511
|
* This lifecycle callback is called after the component's first update has
|
|
451
512
|
* completed, and before {@link Component.updated}.
|
|
513
|
+
* @category Lifecycle
|
|
452
514
|
*/
|
|
453
515
|
firstUpdated() {
|
|
454
516
|
//
|
|
@@ -458,6 +520,7 @@ export class Component extends EmitterElement {
|
|
|
458
520
|
* stabilised after its first update.
|
|
459
521
|
*
|
|
460
522
|
* @see {@link Component.hasStabilised}
|
|
523
|
+
* @category Lifecycle
|
|
461
524
|
*/
|
|
462
525
|
stabilised() {
|
|
463
526
|
//
|
|
@@ -466,6 +529,7 @@ export class Component extends EmitterElement {
|
|
|
466
529
|
* This lifecycle callback is called every time a property decorated with
|
|
467
530
|
* the @{@link require} decorator has changed, but only when every property
|
|
468
531
|
* marked as such is not `undefined`.
|
|
532
|
+
* @category Lifecycle
|
|
469
533
|
*/
|
|
470
534
|
initialised() {
|
|
471
535
|
//
|
|
@@ -474,6 +538,7 @@ export class Component extends EmitterElement {
|
|
|
474
538
|
* This lifecycle callback is called the first time every property decorated
|
|
475
539
|
* with @{@link require} has been defined, and before
|
|
476
540
|
* {@link Component.initialised}.
|
|
541
|
+
* @category Lifecycle
|
|
477
542
|
*/
|
|
478
543
|
firstInitialised() {
|
|
479
544
|
//
|
|
@@ -493,10 +558,13 @@ export class Component extends EmitterElement {
|
|
|
493
558
|
* `;
|
|
494
559
|
* }
|
|
495
560
|
* }
|
|
561
|
+
*
|
|
562
|
+
* @category Render
|
|
496
563
|
*/
|
|
497
564
|
render() {
|
|
498
565
|
return nothing;
|
|
499
566
|
}
|
|
567
|
+
/** @internal */
|
|
500
568
|
[(_a = finalised, Symbol.dispose)]() {
|
|
501
569
|
for (const child of this.findChildComponents()) {
|
|
502
570
|
child[Symbol.dispose]();
|
|
@@ -534,6 +602,7 @@ export class Component extends EmitterElement {
|
|
|
534
602
|
* Attach an event listener to an event on this component.
|
|
535
603
|
*
|
|
536
604
|
* @returns A {@link Disposable} to subsequently detach the event listener.
|
|
605
|
+
* @category Events
|
|
537
606
|
*/
|
|
538
607
|
on(type, callback, options) {
|
|
539
608
|
return eventListener(this, type, callback, options);
|
|
@@ -542,6 +611,7 @@ export class Component extends EmitterElement {
|
|
|
542
611
|
* If an element that is either inside this element's shadow root or is a
|
|
543
612
|
* child of this element (ie. slotted) currently has focus, return that
|
|
544
613
|
* element. Otherwise, return null.
|
|
614
|
+
* @category Queries
|
|
545
615
|
*/
|
|
546
616
|
getFocusedElement() {
|
|
547
617
|
return this.shadowRoot?.activeElement ?? this.querySelector(":focus");
|
package/dist/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
package/dist/emitter.d.ts
CHANGED
|
@@ -67,6 +67,8 @@ export declare class EmitterElement extends HTMLElement {
|
|
|
67
67
|
* class MyElement extends EmitterElement {
|
|
68
68
|
* emits!: Emits<"my-event" | "my-other-event";
|
|
69
69
|
* }
|
|
70
|
+
*
|
|
71
|
+
* @category Events
|
|
70
72
|
*/
|
|
71
73
|
emits: {
|
|
72
74
|
[K in keyof HTMLElementEventMap]?: never;
|
|
@@ -75,6 +77,8 @@ export declare class EmitterElement extends HTMLElement {
|
|
|
75
77
|
* Emit a custom event with the given name and detail.
|
|
76
78
|
*
|
|
77
79
|
* Event init options default to `{ bubbles: true, composed: true }`.
|
|
80
|
+
*
|
|
81
|
+
* @category Events
|
|
78
82
|
*/
|
|
79
83
|
emit<M extends CustomEventTypes<keyof this["emits"] & keyof HTMLElementEventMap>, K extends Extract<keyof M, string>, D extends M[K]>(name: K, detail?: D, options?: EventInit): CustomEvent<D>;
|
|
80
84
|
/**
|
|
@@ -86,6 +90,8 @@ export declare class EmitterElement extends HTMLElement {
|
|
|
86
90
|
* @example
|
|
87
91
|
* this.emitEvent("click", MouseEvent, { button: 2 });
|
|
88
92
|
* // emits: new MouseEvent("click", { button: 2 });
|
|
93
|
+
*
|
|
94
|
+
* @category Events
|
|
89
95
|
*/
|
|
90
96
|
emitEvent<K extends keyof this["emits"] & keyof HTMLElementEventMap, E extends HTMLElementEventMap[K], C extends new (type: string, ...args: Args) => E, Args extends Array<any>>(name: K, constructor: C, ...args: Args): E;
|
|
91
97
|
}
|
package/dist/emitter.js
CHANGED
|
@@ -27,6 +27,8 @@ export class EmitterElement extends HTMLElement {
|
|
|
27
27
|
* Emit a custom event with the given name and detail.
|
|
28
28
|
*
|
|
29
29
|
* Event init options default to `{ bubbles: true, composed: true }`.
|
|
30
|
+
*
|
|
31
|
+
* @category Events
|
|
30
32
|
*/
|
|
31
33
|
emit(name, detail, options) {
|
|
32
34
|
const event = new CustomEvent(name, {
|
|
@@ -47,6 +49,8 @@ export class EmitterElement extends HTMLElement {
|
|
|
47
49
|
* @example
|
|
48
50
|
* this.emitEvent("click", MouseEvent, { button: 2 });
|
|
49
51
|
* // emits: new MouseEvent("click", { button: 2 });
|
|
52
|
+
*
|
|
53
|
+
* @category Events
|
|
50
54
|
*/
|
|
51
55
|
emitEvent(name, constructor, ...args) {
|
|
52
56
|
const event = new constructor(name, ...args);
|
package/dist/emitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAa3C;;;;;;OAMG;IACH,IAAI,CAIF,IAAO,EAAE,MAAU,EAAE,OAAmB;QACtC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE;YAChC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM;YACN,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAKP,IAAO,EAAE,WAAc,EAAE,GAAG,IAAU;QACpC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
|
package/package.json
CHANGED
package/src/component.ts
CHANGED
|
@@ -107,6 +107,8 @@ export abstract class Component
|
|
|
107
107
|
* class MyComponent extends Component {
|
|
108
108
|
* static deps: Deps = [ MySubcomponent, MyOtherSubcomponent ];
|
|
109
109
|
* }
|
|
110
|
+
*
|
|
111
|
+
* @category Declarations
|
|
110
112
|
*/
|
|
111
113
|
static deps: Deps = [];
|
|
112
114
|
|
|
@@ -127,9 +129,14 @@ export abstract class Component
|
|
|
127
129
|
* }
|
|
128
130
|
* `;
|
|
129
131
|
* }
|
|
132
|
+
*
|
|
133
|
+
* @category Declarations
|
|
130
134
|
*/
|
|
131
135
|
static styles?: CSSStyleSpecDeclaration;
|
|
132
136
|
|
|
137
|
+
/**
|
|
138
|
+
* @category Advanced
|
|
139
|
+
*/
|
|
133
140
|
static shadowRootOptions: ShadowRootInit = { mode: "open" };
|
|
134
141
|
|
|
135
142
|
private static initialisers = new Set<() => void>();
|
|
@@ -142,7 +149,15 @@ export abstract class Component
|
|
|
142
149
|
protected static requiredProperties = new Set<string | symbol>();
|
|
143
150
|
private static [finalised] = true;
|
|
144
151
|
|
|
152
|
+
/**
|
|
153
|
+
* @category Advanced
|
|
154
|
+
*/
|
|
145
155
|
renderOptions: RenderOptions = { host: this };
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* {@inheritDoc EmitterElement.emits}
|
|
159
|
+
* @category Declarations
|
|
160
|
+
*/
|
|
146
161
|
emits!: object;
|
|
147
162
|
|
|
148
163
|
readonly #controllers = new Set<ReactiveController>();
|
|
@@ -160,15 +175,23 @@ export abstract class Component
|
|
|
160
175
|
#viewTransitionRequested = false;
|
|
161
176
|
#ignoreAttributeUpdates: number;
|
|
162
177
|
|
|
178
|
+
/**
|
|
179
|
+
* @category Advanced
|
|
180
|
+
*/
|
|
163
181
|
readonly renderRoot: ShadowRoot | HTMLElement = this.createRenderRoot();
|
|
164
182
|
|
|
165
183
|
/**
|
|
166
184
|
* True if this component had scheduled an update which has not yet started.
|
|
185
|
+
*
|
|
186
|
+
* @category Render
|
|
167
187
|
*/
|
|
168
188
|
get isUpdatePending(): boolean {
|
|
169
189
|
return this.#isUpdatePending;
|
|
170
190
|
}
|
|
171
191
|
|
|
192
|
+
/**
|
|
193
|
+
* @category Render
|
|
194
|
+
*/
|
|
172
195
|
get updateComplete(): Promise<boolean> {
|
|
173
196
|
return this.#updateResult.promise;
|
|
174
197
|
}
|
|
@@ -180,6 +203,8 @@ export abstract class Component
|
|
|
180
203
|
*
|
|
181
204
|
* By default, a component considers itself stabilised when all of its
|
|
182
205
|
* children which are also {@link Component}s are reporting as stabilised.
|
|
206
|
+
*
|
|
207
|
+
* @category Render
|
|
183
208
|
*/
|
|
184
209
|
get hasStabilised(): Promise<void> {
|
|
185
210
|
return this.#stabilised.promise;
|
|
@@ -192,6 +217,8 @@ export abstract class Component
|
|
|
192
217
|
* This can be passed along to asynchronous tasks such as {@link fetch}
|
|
193
218
|
* initiated by this component, which will then be aborted automatically if
|
|
194
219
|
* the component is removed from the DOM.
|
|
220
|
+
*
|
|
221
|
+
* @category Advanced
|
|
195
222
|
*/
|
|
196
223
|
get abortSignal(): AbortSignal {
|
|
197
224
|
return this.#abortController.signal;
|
|
@@ -201,6 +228,8 @@ export abstract class Component
|
|
|
201
228
|
/**
|
|
202
229
|
* Register a function which will be executed whenever an instance of this
|
|
203
230
|
* class is constructed.
|
|
231
|
+
*
|
|
232
|
+
* @category Advanced
|
|
204
233
|
*/
|
|
205
234
|
static addInitialiser(init: (this: Component) => void) {
|
|
206
235
|
if (!Object.hasOwn(this, "initialisers")) {
|
|
@@ -388,6 +417,11 @@ export abstract class Component
|
|
|
388
417
|
}) as Signal.Computed<V>;
|
|
389
418
|
}
|
|
390
419
|
|
|
420
|
+
/**
|
|
421
|
+
* Adds a controller to the host, which sets up the controller's lifecycle
|
|
422
|
+
* methods to be called with the host's lifecycle.
|
|
423
|
+
* @category Advanced
|
|
424
|
+
*/
|
|
391
425
|
addController(controller: ReactiveController) {
|
|
392
426
|
this.#controllers.add(controller);
|
|
393
427
|
if (this.renderRoot !== undefined && this.isConnected) {
|
|
@@ -395,6 +429,10 @@ export abstract class Component
|
|
|
395
429
|
}
|
|
396
430
|
}
|
|
397
431
|
|
|
432
|
+
/**
|
|
433
|
+
* Removes a controller from the host.
|
|
434
|
+
* @category Advanced
|
|
435
|
+
*/
|
|
398
436
|
removeController(controller: ReactiveController) {
|
|
399
437
|
this.#controllers.delete(controller);
|
|
400
438
|
}
|
|
@@ -408,6 +446,8 @@ export abstract class Component
|
|
|
408
446
|
* If you don't want to use a shadow DOM, you can override this method to
|
|
409
447
|
* just `return this`, which causes the component's contents to render as
|
|
410
448
|
* direct children of the component itself.
|
|
449
|
+
*
|
|
450
|
+
* @category Advanced
|
|
411
451
|
*/
|
|
412
452
|
protected createRenderRoot(): HTMLElement | ShadowRoot {
|
|
413
453
|
const renderRoot =
|
|
@@ -418,8 +458,32 @@ export abstract class Component
|
|
|
418
458
|
return renderRoot;
|
|
419
459
|
}
|
|
420
460
|
|
|
461
|
+
/**
|
|
462
|
+
* Add a style sheet to the component's shadow root.
|
|
463
|
+
*
|
|
464
|
+
* @category Advanced
|
|
465
|
+
*/
|
|
466
|
+
addStyleSheet(spec: CSSStyleSpecDeclaration) {
|
|
467
|
+
if (!(this.renderRoot instanceof ShadowRoot)) {
|
|
468
|
+
throw new Error("Component needs a shadow root in order to add a style sheet");
|
|
469
|
+
}
|
|
470
|
+
const sheets = (
|
|
471
|
+
Array.isArray(spec)
|
|
472
|
+
? ((spec as Array<unknown>).flat(Infinity) as Array<CSSStyleSpec>)
|
|
473
|
+
: [spec]
|
|
474
|
+
).map(processCSSStyleSpec);
|
|
475
|
+
for (const sheet of sheets) {
|
|
476
|
+
const doc = sheet instanceof CSSStyleSheet ? sheet : sheet.styleSheet;
|
|
477
|
+
if (doc !== undefined) {
|
|
478
|
+
this.renderRoot.adoptedStyleSheets.push(doc);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
|
|
421
483
|
/**
|
|
422
484
|
* Ask this component to update itself.
|
|
485
|
+
*
|
|
486
|
+
* @category Render
|
|
423
487
|
*/
|
|
424
488
|
requestUpdate(opts?: UpdateConfig) {
|
|
425
489
|
this.#dirty = true;
|
|
@@ -529,6 +593,8 @@ export abstract class Component
|
|
|
529
593
|
/**
|
|
530
594
|
* Return an iterator over this component's children which are also
|
|
531
595
|
* {@link Component}s.
|
|
596
|
+
*
|
|
597
|
+
* @category Queries
|
|
532
598
|
*/
|
|
533
599
|
protected findChildComponents(
|
|
534
600
|
root: Element | ShadowRoot = this.renderRoot,
|
|
@@ -542,6 +608,8 @@ export abstract class Component
|
|
|
542
608
|
*
|
|
543
609
|
* The default implementation waits for any children which are also
|
|
544
610
|
* {@link Component}s to report that they have also stabilised.
|
|
611
|
+
*
|
|
612
|
+
* @category Render
|
|
545
613
|
*/
|
|
546
614
|
protected async stabilise(): Promise<void> {
|
|
547
615
|
// wait for children to stabilise
|
|
@@ -553,6 +621,7 @@ export abstract class Component
|
|
|
553
621
|
/**
|
|
554
622
|
* This lifecycle callback is called each time this component is connected
|
|
555
623
|
* to the DOM.
|
|
624
|
+
* @category Lifecycle
|
|
556
625
|
*/
|
|
557
626
|
protected connected(): void {
|
|
558
627
|
//
|
|
@@ -561,6 +630,7 @@ export abstract class Component
|
|
|
561
630
|
/**
|
|
562
631
|
* This lifecycle callback is called each time this component is
|
|
563
632
|
* disconnected from the DOM.
|
|
633
|
+
* @category Lifecycle
|
|
564
634
|
*/
|
|
565
635
|
protected disconnected(): void {
|
|
566
636
|
//
|
|
@@ -568,6 +638,7 @@ export abstract class Component
|
|
|
568
638
|
|
|
569
639
|
/**
|
|
570
640
|
* This lifecycle callback is called each time an update has completed.
|
|
641
|
+
* @category Lifecycle
|
|
571
642
|
*/
|
|
572
643
|
protected updated(): void {
|
|
573
644
|
//
|
|
@@ -576,6 +647,7 @@ export abstract class Component
|
|
|
576
647
|
/**
|
|
577
648
|
* This lifecycle callback is called after the component's first update has
|
|
578
649
|
* completed, and before {@link Component.updated}.
|
|
650
|
+
* @category Lifecycle
|
|
579
651
|
*/
|
|
580
652
|
protected firstUpdated() {
|
|
581
653
|
//
|
|
@@ -586,6 +658,7 @@ export abstract class Component
|
|
|
586
658
|
* stabilised after its first update.
|
|
587
659
|
*
|
|
588
660
|
* @see {@link Component.hasStabilised}
|
|
661
|
+
* @category Lifecycle
|
|
589
662
|
*/
|
|
590
663
|
protected stabilised() {
|
|
591
664
|
//
|
|
@@ -595,6 +668,7 @@ export abstract class Component
|
|
|
595
668
|
* This lifecycle callback is called every time a property decorated with
|
|
596
669
|
* the @{@link require} decorator has changed, but only when every property
|
|
597
670
|
* marked as such is not `undefined`.
|
|
671
|
+
* @category Lifecycle
|
|
598
672
|
*/
|
|
599
673
|
protected initialised() {
|
|
600
674
|
//
|
|
@@ -604,6 +678,7 @@ export abstract class Component
|
|
|
604
678
|
* This lifecycle callback is called the first time every property decorated
|
|
605
679
|
* with @{@link require} has been defined, and before
|
|
606
680
|
* {@link Component.initialised}.
|
|
681
|
+
* @category Lifecycle
|
|
607
682
|
*/
|
|
608
683
|
protected firstInitialised() {
|
|
609
684
|
//
|
|
@@ -624,11 +699,14 @@ export abstract class Component
|
|
|
624
699
|
* `;
|
|
625
700
|
* }
|
|
626
701
|
* }
|
|
702
|
+
*
|
|
703
|
+
* @category Render
|
|
627
704
|
*/
|
|
628
705
|
protected render(): unknown {
|
|
629
706
|
return nothing;
|
|
630
707
|
}
|
|
631
708
|
|
|
709
|
+
/** @internal */
|
|
632
710
|
[Symbol.dispose](): void {
|
|
633
711
|
for (const child of this.findChildComponents()) {
|
|
634
712
|
child[Symbol.dispose]();
|
|
@@ -643,6 +721,7 @@ export abstract class Component
|
|
|
643
721
|
/**
|
|
644
722
|
* Register a {@link Disposable} for automatic disposal when this component
|
|
645
723
|
* is disposed.
|
|
724
|
+
* @category Resources
|
|
646
725
|
*/
|
|
647
726
|
use(disposifiable: undefined): undefined;
|
|
648
727
|
use(disposifiable: null): null;
|
|
@@ -673,6 +752,7 @@ export abstract class Component
|
|
|
673
752
|
* super.connectedCallback();
|
|
674
753
|
* this.useWhileConnected(this.on("click", this.handleClick.bind(this)));
|
|
675
754
|
* }
|
|
755
|
+
* @category Resources
|
|
676
756
|
*/
|
|
677
757
|
useWhileConnected(
|
|
678
758
|
disposifiable: Disposifiable,
|
|
@@ -709,6 +789,7 @@ export abstract class Component
|
|
|
709
789
|
* Attach an event listener to an event on this component.
|
|
710
790
|
*
|
|
711
791
|
* @returns A {@link Disposable} to subsequently detach the event listener.
|
|
792
|
+
* @category Events
|
|
712
793
|
*/
|
|
713
794
|
on<K extends keyof HTMLElementEventMap>(
|
|
714
795
|
type: K,
|
|
@@ -722,6 +803,7 @@ export abstract class Component
|
|
|
722
803
|
* If an element that is either inside this element's shadow root or is a
|
|
723
804
|
* child of this element (ie. slotted) currently has focus, return that
|
|
724
805
|
* element. Otherwise, return null.
|
|
806
|
+
* @category Queries
|
|
725
807
|
*/
|
|
726
808
|
getFocusedElement(): Element | null {
|
|
727
809
|
return this.shadowRoot?.activeElement ?? this.querySelector(":focus");
|
|
@@ -747,6 +829,7 @@ export abstract class Component
|
|
|
747
829
|
* return html`<button>I am a button</button>`;
|
|
748
830
|
* }
|
|
749
831
|
* }
|
|
832
|
+
* @category Queries
|
|
750
833
|
*/
|
|
751
834
|
query<El extends keyof HTMLElementTagNameMap>(selector: El): HTMLElementTagNameMap[El] | null;
|
|
752
835
|
query<El extends keyof SVGElementTagNameMap>(selector: El): SVGElementTagNameMap[El] | null;
|
|
@@ -785,6 +868,7 @@ export abstract class Component
|
|
|
785
868
|
* `;
|
|
786
869
|
* }
|
|
787
870
|
* }
|
|
871
|
+
* @category Queries
|
|
788
872
|
*/
|
|
789
873
|
queryAll<El extends keyof HTMLElementTagNameMap>(
|
|
790
874
|
selector: El,
|
|
@@ -810,6 +894,7 @@ export abstract class Component
|
|
|
810
894
|
*
|
|
811
895
|
* If you include `reactive: true` in your query, the result will be a
|
|
812
896
|
* signal which updates with the contents of the slot.
|
|
897
|
+
* @category Queries
|
|
813
898
|
*/
|
|
814
899
|
querySlot(
|
|
815
900
|
options: QuerySlotOptions & { nodes: true; reactive: true },
|
package/src/emitter.ts
CHANGED
|
@@ -69,6 +69,8 @@ export class EmitterElement extends HTMLElement {
|
|
|
69
69
|
* class MyElement extends EmitterElement {
|
|
70
70
|
* emits!: Emits<"my-event" | "my-other-event";
|
|
71
71
|
* }
|
|
72
|
+
*
|
|
73
|
+
* @category Events
|
|
72
74
|
*/
|
|
73
75
|
emits!: { [K in keyof HTMLElementEventMap]?: never };
|
|
74
76
|
|
|
@@ -76,6 +78,8 @@ export class EmitterElement extends HTMLElement {
|
|
|
76
78
|
* Emit a custom event with the given name and detail.
|
|
77
79
|
*
|
|
78
80
|
* Event init options default to `{ bubbles: true, composed: true }`.
|
|
81
|
+
*
|
|
82
|
+
* @category Events
|
|
79
83
|
*/
|
|
80
84
|
emit<
|
|
81
85
|
M extends CustomEventTypes<keyof this["emits"] & keyof HTMLElementEventMap>,
|
|
@@ -101,6 +105,8 @@ export class EmitterElement extends HTMLElement {
|
|
|
101
105
|
* @example
|
|
102
106
|
* this.emitEvent("click", MouseEvent, { button: 2 });
|
|
103
107
|
* // emits: new MouseEvent("click", { button: 2 });
|
|
108
|
+
*
|
|
109
|
+
* @category Events
|
|
104
110
|
*/
|
|
105
111
|
emitEvent<
|
|
106
112
|
K extends keyof this["emits"] & keyof HTMLElementEventMap,
|