@joist/element 4.0.0-next.18 → 4.0.0-next.19
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/attr.ts +1 -23
- package/src/lib/element.ts +21 -0
- package/target/lib/attr.d.ts +1 -1
- package/target/lib/attr.js +1 -15
- package/target/lib/attr.js.map +1 -1
- package/target/lib/element.d.ts +5 -0
- package/target/lib/element.js +17 -0
- package/target/lib/element.js.map +1 -1
package/package.json
CHANGED
package/src/lib/attr.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface AttrOpts {
|
|
|
7
7
|
|
|
8
8
|
export function attr(opts?: AttrOpts) {
|
|
9
9
|
return function attrDecorator<This extends HTMLElement>(
|
|
10
|
-
{
|
|
10
|
+
{ set }: ClassAccessorDecoratorTarget<This, unknown>,
|
|
11
11
|
ctx: ClassAccessorDecoratorContext<This>
|
|
12
12
|
): ClassAccessorDecoratorResult<This, any> {
|
|
13
13
|
const attrName = parseAttrName(ctx.name);
|
|
@@ -34,28 +34,6 @@ export function attr(opts?: AttrOpts) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
set.call(this, value);
|
|
37
|
-
},
|
|
38
|
-
get() {
|
|
39
|
-
const ogValue = get.call(this);
|
|
40
|
-
const attr = this.getAttribute(attrName);
|
|
41
|
-
|
|
42
|
-
if (attr !== null) {
|
|
43
|
-
// treat as boolean
|
|
44
|
-
if (attr === '') {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// treat as number
|
|
49
|
-
if (typeof ogValue === 'number') {
|
|
50
|
-
return Number(attr);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// treat as string
|
|
54
|
-
return attr;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// no readable value return original
|
|
58
|
-
return ogValue;
|
|
59
37
|
}
|
|
60
38
|
};
|
|
61
39
|
};
|
package/src/lib/element.ts
CHANGED
|
@@ -67,6 +67,27 @@ export function element<
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
+
|
|
71
|
+
attributeChangedCallback(name: string, oldValue: string, newValue: string) {
|
|
72
|
+
const ogValue = Reflect.get(this, name);
|
|
73
|
+
|
|
74
|
+
if (newValue !== null) {
|
|
75
|
+
if (newValue === '') {
|
|
76
|
+
// treat as boolean
|
|
77
|
+
Reflect.set(this, name, true);
|
|
78
|
+
} else if (typeof ogValue === 'number') {
|
|
79
|
+
// treat as number
|
|
80
|
+
Reflect.set(this, name, Number(newValue));
|
|
81
|
+
} else {
|
|
82
|
+
// treat as string
|
|
83
|
+
Reflect.set(this, name, newValue);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (super.attributeChangedCallback) {
|
|
88
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
70
91
|
};
|
|
71
92
|
};
|
|
72
93
|
}
|
package/target/lib/attr.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ export interface AttrOpts {
|
|
|
2
2
|
observed?: boolean;
|
|
3
3
|
reflect?: boolean;
|
|
4
4
|
}
|
|
5
|
-
export declare function attr(opts?: AttrOpts): <This extends HTMLElement>({
|
|
5
|
+
export declare function attr(opts?: AttrOpts): <This extends HTMLElement>({ set }: ClassAccessorDecoratorTarget<This, unknown>, ctx: ClassAccessorDecoratorContext<This>) => ClassAccessorDecoratorResult<This, any>;
|
package/target/lib/attr.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { metadataStore } from './metadata.js';
|
|
2
2
|
export function attr(opts) {
|
|
3
|
-
return function attrDecorator({
|
|
3
|
+
return function attrDecorator({ set }, ctx) {
|
|
4
4
|
const attrName = parseAttrName(ctx.name);
|
|
5
5
|
const meta = metadataStore.read(ctx.metadata);
|
|
6
6
|
const reflect = opts?.reflect ?? true;
|
|
@@ -24,20 +24,6 @@ export function attr(opts) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
set.call(this, value);
|
|
27
|
-
},
|
|
28
|
-
get() {
|
|
29
|
-
const ogValue = get.call(this);
|
|
30
|
-
const attr = this.getAttribute(attrName);
|
|
31
|
-
if (attr !== null) {
|
|
32
|
-
if (attr === '') {
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
if (typeof ogValue === 'number') {
|
|
36
|
-
return Number(attr);
|
|
37
|
-
}
|
|
38
|
-
return attr;
|
|
39
|
-
}
|
|
40
|
-
return ogValue;
|
|
41
27
|
}
|
|
42
28
|
};
|
|
43
29
|
};
|
package/target/lib/attr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attr.js","sourceRoot":"","sources":["../../src/lib/attr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,MAAM,UAAU,IAAI,CAAC,IAAe;IAClC,OAAO,SAAS,aAAa,CAC3B,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"attr.js","sourceRoot":"","sources":["../../src/lib/attr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,MAAM,UAAU,IAAI,CAAC,IAAe;IAClC,OAAO,SAAS,aAAa,CAC3B,EAAE,GAAG,EAA+C,EACpD,GAAwC;QAExC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,GAAG,CAAC,IAAI;YAClB,QAAQ;YACR,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;YAC/B,OAAO;SACR,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,CAAC,KAAc;gBAChB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;wBAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAoB;IACzC,IAAI,KAAa,CAAC;IAElB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,GAAG,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC"}
|
package/target/lib/element.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface ElementOpts<T extends HTMLElement> {
|
|
|
6
6
|
export declare function element<Target extends CustomElementConstructor, Instance extends InstanceType<Target>>(opts?: ElementOpts<Instance>): (Base: Target, ctx: ClassDecoratorContext<Target>) => {
|
|
7
7
|
new (...args: any[]): {
|
|
8
8
|
connectedCallback(): void;
|
|
9
|
+
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
9
10
|
accessKey: string;
|
|
10
11
|
readonly accessKeyLabel: string;
|
|
11
12
|
autocapitalize: string;
|
|
@@ -25,6 +26,7 @@ export declare function element<Target extends CustomElementConstructor, Instanc
|
|
|
25
26
|
spellcheck: boolean;
|
|
26
27
|
title: string;
|
|
27
28
|
translate: boolean;
|
|
29
|
+
writingSuggestions: string;
|
|
28
30
|
attachInternals(): ElementInternals;
|
|
29
31
|
click(): void;
|
|
30
32
|
hidePopover(): void;
|
|
@@ -42,6 +44,7 @@ export declare function element<Target extends CustomElementConstructor, Instanc
|
|
|
42
44
|
readonly clientLeft: number;
|
|
43
45
|
readonly clientTop: number;
|
|
44
46
|
readonly clientWidth: number;
|
|
47
|
+
readonly currentCSSZoom: number;
|
|
45
48
|
id: string;
|
|
46
49
|
innerHTML: string;
|
|
47
50
|
readonly localName: string;
|
|
@@ -168,6 +171,7 @@ export declare function element<Target extends CustomElementConstructor, Instanc
|
|
|
168
171
|
ariaChecked: string | null;
|
|
169
172
|
ariaColCount: string | null;
|
|
170
173
|
ariaColIndex: string | null;
|
|
174
|
+
ariaColIndexText: string | null;
|
|
171
175
|
ariaColSpan: string | null;
|
|
172
176
|
ariaCurrent: string | null;
|
|
173
177
|
ariaDescription: string | null;
|
|
@@ -192,6 +196,7 @@ export declare function element<Target extends CustomElementConstructor, Instanc
|
|
|
192
196
|
ariaRoleDescription: string | null;
|
|
193
197
|
ariaRowCount: string | null;
|
|
194
198
|
ariaRowIndex: string | null;
|
|
199
|
+
ariaRowIndexText: string | null;
|
|
195
200
|
ariaRowSpan: string | null;
|
|
196
201
|
ariaSelected: string | null;
|
|
197
202
|
ariaSetSize: string | null;
|
package/target/lib/element.js
CHANGED
|
@@ -49,6 +49,23 @@ export function element(opts) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
53
|
+
const ogValue = Reflect.get(this, name);
|
|
54
|
+
if (newValue !== null) {
|
|
55
|
+
if (newValue === '') {
|
|
56
|
+
Reflect.set(this, name, true);
|
|
57
|
+
}
|
|
58
|
+
else if (typeof ogValue === 'number') {
|
|
59
|
+
Reflect.set(this, name, Number(newValue));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
Reflect.set(this, name, newValue);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (super.attributeChangedCallback) {
|
|
66
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
52
69
|
};
|
|
53
70
|
};
|
|
54
71
|
}
|
|
@@ -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":"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"}
|