@joist/element 4.0.0-next.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +96 -21
  2. package/package.json +10 -33
  3. package/src/lib/attr-changed.test.ts +34 -0
  4. package/src/lib/attr-changed.ts +15 -0
  5. package/src/lib/attr.test.ts +88 -34
  6. package/src/lib/attr.ts +31 -38
  7. package/src/lib/element.test.ts +69 -49
  8. package/src/lib/element.ts +118 -52
  9. package/src/lib/lifecycle.test.ts +10 -10
  10. package/src/lib/lifecycle.ts +5 -2
  11. package/src/lib/listen.test.ts +43 -27
  12. package/src/lib/listen.ts +13 -9
  13. package/src/lib/metadata.ts +25 -11
  14. package/src/lib/query-all.test.ts +153 -0
  15. package/src/lib/query-all.ts +81 -0
  16. package/src/lib/query.test.ts +113 -24
  17. package/src/lib/query.ts +51 -16
  18. package/src/lib/result.ts +2 -2
  19. package/src/lib/tags.ts +10 -7
  20. package/src/lib/template.test.ts +57 -29
  21. package/src/lib/template.ts +42 -27
  22. package/src/lib.ts +8 -7
  23. package/target/lib/attr-changed.d.ts +2 -0
  24. package/target/lib/attr-changed.js +10 -0
  25. package/target/lib/attr-changed.js.map +1 -0
  26. package/target/lib/attr-changed.test.d.ts +1 -0
  27. package/target/lib/attr-changed.test.js +54 -0
  28. package/target/lib/attr-changed.test.js.map +1 -0
  29. package/target/lib/attr.d.ts +2 -0
  30. package/target/lib/attr.js +28 -30
  31. package/target/lib/attr.js.map +1 -1
  32. package/target/lib/attr.test.js +157 -40
  33. package/target/lib/attr.test.js.map +1 -1
  34. package/target/lib/element.d.ts +9 -337
  35. package/target/lib/element.js +84 -40
  36. package/target/lib/element.js.map +1 -1
  37. package/target/lib/element.test.js +52 -78
  38. package/target/lib/element.test.js.map +1 -1
  39. package/target/lib/lifecycle.d.ts +1 -1
  40. package/target/lib/lifecycle.js +1 -1
  41. package/target/lib/lifecycle.js.map +1 -1
  42. package/target/lib/lifecycle.test.js +10 -10
  43. package/target/lib/lifecycle.test.js.map +1 -1
  44. package/target/lib/listen.d.ts +2 -2
  45. package/target/lib/listen.js +5 -4
  46. package/target/lib/listen.js.map +1 -1
  47. package/target/lib/listen.test.js +35 -27
  48. package/target/lib/listen.test.js.map +1 -1
  49. package/target/lib/metadata.d.ts +21 -11
  50. package/target/lib/metadata.js +8 -3
  51. package/target/lib/metadata.js.map +1 -1
  52. package/target/lib/query-all.d.ts +10 -0
  53. package/target/lib/query-all.js +40 -0
  54. package/target/lib/query-all.js.map +1 -0
  55. package/target/lib/query-all.test.d.ts +1 -0
  56. package/target/lib/query-all.test.js +195 -0
  57. package/target/lib/query-all.test.js.map +1 -0
  58. package/target/lib/query.d.ts +6 -5
  59. package/target/lib/query.js +22 -10
  60. package/target/lib/query.js.map +1 -1
  61. package/target/lib/query.test.js +134 -24
  62. package/target/lib/query.test.js.map +1 -1
  63. package/target/lib/result.d.ts +2 -2
  64. package/target/lib/tags.d.ts +4 -4
  65. package/target/lib/tags.js +6 -3
  66. package/target/lib/tags.js.map +1 -1
  67. package/target/lib/template.d.ts +3 -1
  68. package/target/lib/template.js +26 -20
  69. package/target/lib/template.js.map +1 -1
  70. package/target/lib/template.test.js +47 -26
  71. package/target/lib/template.test.js.map +1 -1
  72. package/target/lib.d.ts +8 -7
  73. package/target/lib.js +8 -7
  74. package/target/lib.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"attr.test.js","sourceRoot":"","sources":["../../src/lib/attr.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attr.test.js","sourceRoot":"","sources":["../../src/lib/attr.test.ts"],"names":[],"mappings":"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"}
@@ -1,339 +1,11 @@
1
- import { ShadowResult } from './result.js';
2
- export interface ElementOpts<T extends HTMLElement> {
1
+ import type { ShadowResult } from "./result.js";
2
+ export interface ElementOpts {
3
3
  tagName?: string;
4
- shadow?: Array<ShadowResult<T> | ((el: T) => void)>;
4
+ shadowDom?: ShadowResult[];
5
+ shadowDomOpts?: ShadowRootInit;
5
6
  }
6
- export declare function element<Target extends CustomElementConstructor, Instance extends InstanceType<Target>>(opts?: ElementOpts<Instance>): (Base: Target, ctx: ClassDecoratorContext<Target>) => {
7
- new (...args: any[]): {
8
- connectedCallback(): void;
9
- accessKey: string;
10
- readonly accessKeyLabel: string;
11
- autocapitalize: string;
12
- dir: string;
13
- draggable: boolean;
14
- hidden: boolean;
15
- inert: boolean;
16
- innerText: string;
17
- lang: string;
18
- readonly offsetHeight: number;
19
- readonly offsetLeft: number;
20
- readonly offsetParent: Element | null;
21
- readonly offsetTop: number;
22
- readonly offsetWidth: number;
23
- outerText: string;
24
- popover: string | null;
25
- spellcheck: boolean;
26
- title: string;
27
- translate: boolean;
28
- attachInternals(): ElementInternals;
29
- click(): void;
30
- hidePopover(): void;
31
- showPopover(): void;
32
- togglePopover(force?: boolean): boolean;
33
- addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
34
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
35
- removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
36
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
37
- disconnectedCallback?(): void;
38
- readonly attributes: NamedNodeMap;
39
- readonly classList: DOMTokenList;
40
- className: string;
41
- readonly clientHeight: number;
42
- readonly clientLeft: number;
43
- readonly clientTop: number;
44
- readonly clientWidth: number;
45
- id: string;
46
- readonly localName: string;
47
- readonly namespaceURI: string | null;
48
- onfullscreenchange: ((this: Element, ev: Event) => any) | null;
49
- onfullscreenerror: ((this: Element, ev: Event) => any) | null;
50
- outerHTML: string;
51
- readonly ownerDocument: Document;
52
- readonly part: DOMTokenList;
53
- readonly prefix: string | null;
54
- readonly scrollHeight: number;
55
- scrollLeft: number;
56
- scrollTop: number;
57
- readonly scrollWidth: number;
58
- readonly shadowRoot: ShadowRoot | null;
59
- slot: string;
60
- readonly tagName: string;
61
- attachShadow(init: ShadowRootInit): ShadowRoot;
62
- checkVisibility(options?: CheckVisibilityOptions): boolean;
63
- closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
64
- closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;
65
- closest<K extends keyof MathMLElementTagNameMap>(selector: K): MathMLElementTagNameMap[K] | null;
66
- closest<E extends Element = Element>(selectors: string): E | null;
67
- computedStyleMap(): StylePropertyMapReadOnly;
68
- getAttribute(qualifiedName: string): string | null;
69
- getAttributeNS(namespace: string | null, localName: string): string | null;
70
- getAttributeNames(): string[];
71
- getAttributeNode(qualifiedName: string): Attr | null;
72
- getAttributeNodeNS(namespace: string | null, localName: string): Attr | null;
73
- getBoundingClientRect(): DOMRect;
74
- getClientRects(): DOMRectList;
75
- getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
76
- getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
77
- getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
78
- getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;
79
- getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;
80
- getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
81
- getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
82
- getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
83
- getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf<MathMLElement>;
84
- getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;
85
- hasAttribute(qualifiedName: string): boolean;
86
- hasAttributeNS(namespace: string | null, localName: string): boolean;
87
- hasAttributes(): boolean;
88
- hasPointerCapture(pointerId: number): boolean;
89
- insertAdjacentElement(where: InsertPosition, element: Element): Element | null;
90
- insertAdjacentHTML(position: InsertPosition, text: string): void;
91
- insertAdjacentText(where: InsertPosition, data: string): void;
92
- matches(selectors: string): boolean;
93
- releasePointerCapture(pointerId: number): void;
94
- removeAttribute(qualifiedName: string): void;
95
- removeAttributeNS(namespace: string | null, localName: string): void;
96
- removeAttributeNode(attr: Attr): Attr;
97
- requestFullscreen(options?: FullscreenOptions): Promise<void>;
98
- requestPointerLock(): void;
99
- scroll(options?: ScrollToOptions): void;
100
- scroll(x: number, y: number): void;
101
- scrollBy(options?: ScrollToOptions): void;
102
- scrollBy(x: number, y: number): void;
103
- scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
104
- scrollTo(options?: ScrollToOptions): void;
105
- scrollTo(x: number, y: number): void;
106
- setAttribute(qualifiedName: string, value: string): void;
107
- setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;
108
- setAttributeNode(attr: Attr): Attr | null;
109
- setAttributeNodeNS(attr: Attr): Attr | null;
110
- setHTMLUnsafe(html: string): void;
111
- setPointerCapture(pointerId: number): void;
112
- toggleAttribute(qualifiedName: string, force?: boolean): boolean;
113
- webkitMatchesSelector(selectors: string): boolean;
114
- readonly baseURI: string;
115
- readonly childNodes: NodeListOf<ChildNode>;
116
- readonly firstChild: ChildNode | null;
117
- readonly isConnected: boolean;
118
- readonly lastChild: ChildNode | null;
119
- readonly nextSibling: ChildNode | null;
120
- readonly nodeName: string;
121
- readonly nodeType: number;
122
- nodeValue: string | null;
123
- readonly parentElement: HTMLElement | null;
124
- readonly parentNode: ParentNode | null;
125
- readonly previousSibling: ChildNode | null;
126
- textContent: string | null;
127
- appendChild<T extends Node>(node: T): T;
128
- cloneNode(deep?: boolean): Node;
129
- compareDocumentPosition(other: Node): number;
130
- contains(other: Node | null): boolean;
131
- getRootNode(options?: GetRootNodeOptions): Node;
132
- hasChildNodes(): boolean;
133
- insertBefore<T extends Node>(node: T, child: Node | null): T;
134
- isDefaultNamespace(namespace: string | null): boolean;
135
- isEqualNode(otherNode: Node | null): boolean;
136
- isSameNode(otherNode: Node | null): boolean;
137
- lookupNamespaceURI(prefix: string | null): string | null;
138
- lookupPrefix(namespace: string | null): string | null;
139
- normalize(): void;
140
- removeChild<T extends Node>(child: T): T;
141
- replaceChild<T extends Node>(node: Node, child: T): T;
142
- readonly ELEMENT_NODE: 1;
143
- readonly ATTRIBUTE_NODE: 2;
144
- readonly TEXT_NODE: 3;
145
- readonly CDATA_SECTION_NODE: 4;
146
- readonly ENTITY_REFERENCE_NODE: 5;
147
- readonly ENTITY_NODE: 6;
148
- readonly PROCESSING_INSTRUCTION_NODE: 7;
149
- readonly COMMENT_NODE: 8;
150
- readonly DOCUMENT_NODE: 9;
151
- readonly DOCUMENT_TYPE_NODE: 10;
152
- readonly DOCUMENT_FRAGMENT_NODE: 11;
153
- readonly NOTATION_NODE: 12;
154
- readonly DOCUMENT_POSITION_DISCONNECTED: 1;
155
- readonly DOCUMENT_POSITION_PRECEDING: 2;
156
- readonly DOCUMENT_POSITION_FOLLOWING: 4;
157
- readonly DOCUMENT_POSITION_CONTAINS: 8;
158
- readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
159
- readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
160
- dispatchEvent(event: Event): boolean;
161
- ariaAtomic: string | null;
162
- ariaAutoComplete: string | null;
163
- ariaBrailleLabel: string | null;
164
- ariaBrailleRoleDescription: string | null;
165
- ariaBusy: string | null;
166
- ariaChecked: string | null;
167
- ariaColCount: string | null;
168
- ariaColIndex: string | null;
169
- ariaColSpan: string | null;
170
- ariaCurrent: string | null;
171
- ariaDescription: string | null;
172
- ariaDisabled: string | null;
173
- ariaExpanded: string | null;
174
- ariaHasPopup: string | null;
175
- ariaHidden: string | null;
176
- ariaInvalid: string | null;
177
- ariaKeyShortcuts: string | null;
178
- ariaLabel: string | null;
179
- ariaLevel: string | null;
180
- ariaLive: string | null;
181
- ariaModal: string | null;
182
- ariaMultiLine: string | null;
183
- ariaMultiSelectable: string | null;
184
- ariaOrientation: string | null;
185
- ariaPlaceholder: string | null;
186
- ariaPosInSet: string | null;
187
- ariaPressed: string | null;
188
- ariaReadOnly: string | null;
189
- ariaRequired: string | null;
190
- ariaRoleDescription: string | null;
191
- ariaRowCount: string | null;
192
- ariaRowIndex: string | null;
193
- ariaRowSpan: string | null;
194
- ariaSelected: string | null;
195
- ariaSetSize: string | null;
196
- ariaSort: string | null;
197
- ariaValueMax: string | null;
198
- ariaValueMin: string | null;
199
- ariaValueNow: string | null;
200
- ariaValueText: string | null;
201
- role: string | null;
202
- animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;
203
- getAnimations(options?: GetAnimationsOptions): Animation[];
204
- after(...nodes: (Node | string)[]): void;
205
- before(...nodes: (Node | string)[]): void;
206
- remove(): void;
207
- replaceWith(...nodes: (Node | string)[]): void;
208
- innerHTML: string;
209
- readonly nextElementSibling: Element | null;
210
- readonly previousElementSibling: Element | null;
211
- readonly childElementCount: number;
212
- readonly children: HTMLCollection;
213
- readonly firstElementChild: Element | null;
214
- readonly lastElementChild: Element | null;
215
- append(...nodes: (Node | string)[]): void;
216
- prepend(...nodes: (Node | string)[]): void;
217
- querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
218
- querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
219
- querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;
220
- querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;
221
- querySelector<E extends Element = Element>(selectors: string): E | null;
222
- querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
223
- querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
224
- querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;
225
- querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
226
- querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
227
- replaceChildren(...nodes: (Node | string)[]): void;
228
- readonly assignedSlot: HTMLSlotElement | null;
229
- readonly attributeStyleMap: StylePropertyMap;
230
- readonly style: CSSStyleDeclaration;
231
- contentEditable: string;
232
- enterKeyHint: string;
233
- inputMode: string;
234
- readonly isContentEditable: boolean;
235
- onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
236
- onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
237
- onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
238
- onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
239
- onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
240
- onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
241
- onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
242
- onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
243
- onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
244
- oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
245
- oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
246
- oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
247
- onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
248
- onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
249
- onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
250
- oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
251
- oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
252
- oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
253
- oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
254
- ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
255
- ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
256
- ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
257
- ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
258
- ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
259
- ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
260
- ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
261
- ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
262
- ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
263
- onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;
264
- onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;
265
- onerror: OnErrorEventHandler;
266
- onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
267
- onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;
268
- ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
269
- oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null;
270
- oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;
271
- onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
272
- onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
273
- onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
274
- onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;
275
- onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
276
- onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
277
- onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
278
- onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
279
- onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
280
- onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
281
- onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
282
- onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
283
- onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
284
- onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
285
- onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
286
- onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
287
- onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;
288
- onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
289
- onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;
290
- onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
291
- onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
292
- onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
293
- onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
294
- onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
295
- onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
296
- onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
297
- onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
298
- onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
299
- onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
300
- onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
301
- onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
302
- onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
303
- onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
304
- onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
305
- onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
306
- onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
307
- onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
308
- onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
309
- onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
310
- onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
311
- onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
312
- onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
313
- onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
314
- ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
315
- ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
316
- ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
317
- ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
318
- ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
319
- ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
320
- ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
321
- ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
322
- ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
323
- ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
324
- onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
325
- onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;
326
- onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
327
- onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;
328
- onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
329
- onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
330
- onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;
331
- autofocus: boolean;
332
- readonly dataset: DOMStringMap;
333
- nonce?: string;
334
- tabIndex: number;
335
- blur(): void;
336
- focus(options?: FocusOptions): void;
337
- };
338
- observedAttributes: string[];
339
- } & Target;
7
+ interface ElementConstructor {
8
+ new (...args: any[]): HTMLElement;
9
+ }
10
+ export declare function element<T extends ElementConstructor>(opts?: ElementOpts): (Base: T, ctx: ClassDecoratorContext<T>) => T;
11
+ export {};
@@ -1,4 +1,4 @@
1
- import { metadataStore } from './metadata.js';
1
+ import { metadataStore } from "./metadata.js";
2
2
  export function element(opts) {
3
3
  return function elementDecorator(Base, ctx) {
4
4
  const meta = metadataStore.read(ctx.metadata);
@@ -9,60 +9,104 @@ export function element(opts) {
9
9
  }
10
10
  }
11
11
  });
12
- return class JoistElement extends Base {
13
- static observedAttributes = meta.attrs
14
- .filter(({ observe }) => observe)
15
- .map(({ attrName }) => attrName);
16
- constructor(...args) {
17
- super(...args);
18
- if (opts?.shadow) {
19
- if (!this.shadowRoot) {
20
- this.attachShadow({ mode: 'open' });
21
- }
22
- for (let res of opts.shadow) {
23
- if (typeof res === 'function') {
24
- res(this);
12
+ const def = {
13
+ [Base.name]: class extends Base {
14
+ static observedAttributes = Array.from(meta.attrs.keys());
15
+ #abortController = null;
16
+ constructor(...args) {
17
+ super(...args);
18
+ if (opts?.shadowDom) {
19
+ if (!this.shadowRoot) {
20
+ this.attachShadow(opts.shadowDomOpts ?? { mode: "open" });
25
21
  }
26
- else {
22
+ for (const res of opts.shadowDom) {
27
23
  res.apply(this);
28
24
  }
29
25
  }
30
- }
31
- for (let [event, { cb, selector }] of meta.listeners) {
32
- const root = selector(this);
33
- if (root) {
34
- root.addEventListener(event, cb.bind(this));
26
+ for (const cb of meta.onReady) {
27
+ cb.call(this);
35
28
  }
36
- else {
37
- throw new Error(`could not add listener to ${root}`);
29
+ }
30
+ attributeChangedCallback(name, oldValue, newValue) {
31
+ const attr = meta.attrs.get(name);
32
+ const cbs = meta.attrChanges.get(name);
33
+ if (attr) {
34
+ if (oldValue !== newValue) {
35
+ const ogValue = attr.getPropValue.call(this);
36
+ if (newValue === "") {
37
+ attr.setPropValue.call(this, true);
38
+ }
39
+ else if (typeof ogValue === "number") {
40
+ attr.setPropValue.call(this, Number(newValue));
41
+ }
42
+ else {
43
+ attr.setPropValue.call(this, newValue);
44
+ }
45
+ }
46
+ if (cbs) {
47
+ for (const cb of cbs) {
48
+ cb.call(this, oldValue, newValue);
49
+ }
50
+ }
51
+ if (attr.observe) {
52
+ if (super.attributeChangedCallback) {
53
+ super.attributeChangedCallback(name, oldValue, newValue);
54
+ }
55
+ }
38
56
  }
39
57
  }
40
- for (let cb of meta.onReady) {
41
- cb.call(this);
58
+ connectedCallback() {
59
+ if (this.isConnected) {
60
+ for (const { event, cb, selector } of meta.listeners) {
61
+ const root = selector(this);
62
+ if (root) {
63
+ this.#abortController = new AbortController();
64
+ root.addEventListener(event, cb.bind(this), {
65
+ signal: this.#abortController.signal,
66
+ });
67
+ }
68
+ else {
69
+ throw new Error(`could not add listener to ${root}`);
70
+ }
71
+ }
72
+ reflectAttributeValues(this, meta.attrs);
73
+ if (super.connectedCallback) {
74
+ super.connectedCallback();
75
+ }
76
+ }
42
77
  }
43
- }
44
- connectedCallback() {
45
- if (this.isConnected) {
46
- reflectAttributeValues(this, meta.attrs);
47
- if (super.connectedCallback) {
48
- super.connectedCallback();
78
+ disconnectedCallback() {
79
+ if (this.#abortController) {
80
+ this.#abortController.abort();
81
+ this.#abortController = null;
82
+ }
83
+ if (super.disconnectedCallback) {
84
+ super.disconnectedCallback();
49
85
  }
50
86
  }
51
- }
87
+ },
52
88
  };
89
+ return def[Base.name];
53
90
  };
54
91
  }
55
92
  function reflectAttributeValues(el, attrs) {
56
- for (let { propName, attrName } of attrs) {
57
- const value = Reflect.get(el, propName);
58
- if (value !== null && value !== undefined && value !== '') {
59
- if (typeof value === 'boolean') {
60
- if (value === true) {
61
- el.setAttribute(attrName, '');
93
+ for (const [attrName, { getPropValue, reflect }] of attrs) {
94
+ if (reflect) {
95
+ const value = getPropValue.call(el);
96
+ if (value !== null && value !== undefined && value !== "") {
97
+ if (typeof value === "boolean") {
98
+ if (value === true) {
99
+ if (!el.hasAttribute(attrName)) {
100
+ el.setAttribute(attrName, "");
101
+ }
102
+ }
103
+ }
104
+ else {
105
+ const strValue = String(value);
106
+ if (el.getAttribute(attrName) !== strValue) {
107
+ el.setAttribute(attrName, strValue);
108
+ }
62
109
  }
63
- }
64
- else {
65
- el.setAttribute(attrName, String(value));
66
110
  }
67
111
  }
68
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/lib/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/lib/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,eAAe,CAAC;AAajE,MAAM,UAAU,OAAO,CAA+B,IAAkB;IACtE,OAAO,SAAS,gBAAgB,CAAC,IAAO,EAAE,GAA6B;QACrE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,GAAG,CAAC,cAAc,CAAC;YACjB,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG;YACV,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAM,SAAQ,IAAI;gBAC7B,MAAM,CAAC,kBAAkB,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEpE,gBAAgB,GAA2B,IAAI,CAAC;gBAEhD,YAAY,GAAG,IAAW;oBACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;oBAEf,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;4BACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC5D,CAAC;wBAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BACjC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;oBAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAC9B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBAED,wBAAwB,CACtB,IAAY,EACZ,QAAgB,EAChB,QAAgB;oBAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAEvC,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAE7C,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gCAEpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACrC,CAAC;iCAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gCAEvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACjD,CAAC;iCAAM,CAAC;gCAEN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;4BACzC,CAAC;wBACH,CAAC;wBAED,IAAI,GAAG,EAAE,CAAC;4BACR,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gCACrB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BACpC,CAAC;wBACH,CAAC;wBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACjB,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;gCACnC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BAC3D,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,iBAAiB;oBACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACrB,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAE5B,IAAI,IAAI,EAAE,CAAC;gCACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;gCAE9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oCAC1C,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;iCACrC,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;4BACvD,CAAC;wBACH,CAAC;wBAED,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBAEzC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,oBAAoB;oBAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;wBAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC/B,CAAC;oBAED,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;wBAC/B,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,CAAC;gBACH,CAAC;aACF;SACF,CAAC;QAEF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,EAAK,EACL,KAAmB;IAEnB,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAGpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC1D,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAEnB,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC/B,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBAEN,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAE/B,IAAI,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC3C,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}