@joist/element 4.1.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ Utilities for building web compnennts. Especially targeted at
14
14
  ## Installation
15
15
 
16
16
  ```BASH
17
- npm i @joist/element@next
17
+ npm i @joist/element
18
18
  ```
19
19
 
20
20
  ## Custom Element
@@ -114,7 +114,7 @@ The `query` function will query for a particular element and allow you to easily
114
114
  })
115
115
  export class MyElement extends HTMLElement {
116
116
  @observe()
117
- value: string;
117
+ accessor value: string;
118
118
 
119
119
  #input = query('input');
120
120
 
@@ -141,7 +141,7 @@ The `queryAll` function will get all elements that match the given query. A patc
141
141
  })
142
142
  export class MyElement extends HTMLElement {
143
143
  @observe()
144
- value: string;
144
+ accessor value: string;
145
145
 
146
146
  #inputs = queryAll('input');
147
147
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joist/element",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "type": "module",
5
5
  "main": "./target/lib.js",
6
6
  "module": "./target/lib.js",
@@ -15,8 +15,9 @@ it("should call specific attrbute callback", () => {
15
15
  accessor test = "hello";
16
16
 
17
17
  @attrChanged("test")
18
- onTestChanged(oldValue: string, newValue: string) {
19
- args = [oldValue, newValue];
18
+ onTestChanged(name: string, oldValue: string, newValue: string) {
19
+ console.log("onTestChanged", name, oldValue, newValue);
20
+ args = [name, oldValue, newValue];
20
21
  }
21
22
  }
22
23
 
@@ -24,11 +25,50 @@ it("should call specific attrbute callback", () => {
24
25
 
25
26
  document.body.append(el);
26
27
 
27
- assert.deepEqual(args, [null, "hello"]);
28
+ assert.deepEqual(args, ["test", null, "hello"]);
28
29
 
29
30
  el.setAttribute("test", "world");
30
31
 
31
- assert.deepEqual(args, ["hello", "world"]);
32
+ assert.deepEqual(args, ["test", "hello", "world"]);
33
+
34
+ el.remove();
35
+ });
36
+
37
+ it("should call callback for multiple attributes", () => {
38
+ const args: string[][] = [];
39
+
40
+ @element({
41
+ tagName: "attr-changed-2",
42
+ })
43
+ class MyElement extends HTMLElement {
44
+ @attr()
45
+ accessor test1 = "hello";
46
+
47
+ @attr()
48
+ accessor test2 = "world";
49
+
50
+ @attrChanged("test1", "test2")
51
+ onTestChanged(attr: string, oldValue: string, newValue: string) {
52
+ args.push([attr, oldValue, newValue]);
53
+ }
54
+ }
55
+
56
+ const el = new MyElement();
57
+
58
+ document.body.append(el);
59
+
60
+ assert.deepEqual(args, [
61
+ ["test1", null, "hello"],
62
+ ["test2", null, "world"],
63
+ ]);
64
+
65
+ el.setAttribute("test1", "world");
66
+
67
+ assert.deepEqual(args, [
68
+ ["test1", null, "hello"],
69
+ ["test2", null, "world"],
70
+ ["test1", "hello", "world"],
71
+ ]);
32
72
 
33
73
  el.remove();
34
74
  });
@@ -1,15 +1,18 @@
1
1
  import { type AttrChangedCallback, metadataStore } from "./metadata.js";
2
2
 
3
- export function attrChanged(name: string) {
3
+ export function attrChanged(...names: string[]) {
4
4
  return function attrChangedDecorator<This extends HTMLElement>(
5
5
  cb: AttrChangedCallback,
6
6
  ctx: ClassMethodDecoratorContext<This>,
7
7
  ): void {
8
8
  const meta = metadataStore.read(ctx.metadata);
9
- const val = meta.attrChanges.get(name) ?? new Set();
10
9
 
11
- val.add(cb);
10
+ for (const name of names) {
11
+ const val = meta.attrChanges.get(name) ?? new Set();
12
12
 
13
- meta.attrChanges.set(name, val);
13
+ val.add(cb);
14
+
15
+ meta.attrChanges.set(name, val);
16
+ }
14
17
  };
15
18
  }
@@ -73,7 +73,7 @@ export function element<T extends ElementConstructor>(opts?: ElementOpts) {
73
73
 
74
74
  if (cbs) {
75
75
  for (const cb of cbs) {
76
- cb.call(this, oldValue, newValue);
76
+ cb.call(this, name, oldValue, newValue);
77
77
  }
78
78
  }
79
79
 
@@ -16,7 +16,11 @@ export interface Listener<T> {
16
16
  selector: ListenerSelector<T>;
17
17
  }
18
18
 
19
- export type AttrChangedCallback = (oldValue: string, newValue: string) => void;
19
+ export type AttrChangedCallback = (
20
+ name: string,
21
+ oldValue: string,
22
+ newValue: string,
23
+ ) => void;
20
24
 
21
25
  export class AttrMetadata extends Map<string, AttrDef> {}
22
26
  export class AttrChangeMetadata extends Map<string, Set<AttrChangedCallback>> {}
@@ -1,2 +1,2 @@
1
1
  import { type AttrChangedCallback } from "./metadata.js";
2
- export declare function attrChanged(name: string): <This extends HTMLElement>(cb: AttrChangedCallback, ctx: ClassMethodDecoratorContext<This>) => void;
2
+ export declare function attrChanged(...names: string[]): <This extends HTMLElement>(cb: AttrChangedCallback, ctx: ClassMethodDecoratorContext<This>) => void;
@@ -1,10 +1,12 @@
1
1
  import { metadataStore } from "./metadata.js";
2
- export function attrChanged(name) {
2
+ export function attrChanged(...names) {
3
3
  return function attrChangedDecorator(cb, ctx) {
4
4
  const meta = metadataStore.read(ctx.metadata);
5
- const val = meta.attrChanges.get(name) ?? new Set();
6
- val.add(cb);
7
- meta.attrChanges.set(name, val);
5
+ for (const name of names) {
6
+ const val = meta.attrChanges.get(name) ?? new Set();
7
+ val.add(cb);
8
+ meta.attrChanges.set(name, val);
9
+ }
8
10
  };
9
11
  }
10
12
  //# sourceMappingURL=attr-changed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attr-changed.js","sourceRoot":"","sources":["../../src/lib/attr-changed.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,aAAa,EAAE,MAAM,eAAe,CAAC;AAExE,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,SAAS,oBAAoB,CAClC,EAAuB,EACvB,GAAsC;QAEtC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEpD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"attr-changed.js","sourceRoot":"","sources":["../../src/lib/attr-changed.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,aAAa,EAAE,MAAM,eAAe,CAAC;AAExE,MAAM,UAAU,WAAW,CAAC,GAAG,KAAe;IAC5C,OAAO,SAAS,oBAAoB,CAClC,EAAuB,EACvB,GAAsC;QAEtC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAEpD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -34,8 +34,9 @@ it("should call specific attrbute callback", () => {
34
34
  #test_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _test_initializers, "hello"));
35
35
  get test() { return this.#test_accessor_storage; }
36
36
  set test(value) { this.#test_accessor_storage = value; }
37
- onTestChanged(oldValue, newValue) {
38
- args = [oldValue, newValue];
37
+ onTestChanged(name, oldValue, newValue) {
38
+ console.log("onTestChanged", name, oldValue, newValue);
39
+ args = [name, oldValue, newValue];
39
40
  }
40
41
  constructor() {
41
42
  super(...arguments);
@@ -46,9 +47,72 @@ it("should call specific attrbute callback", () => {
46
47
  })();
47
48
  const el = new MyElement();
48
49
  document.body.append(el);
49
- assert.deepEqual(args, [null, "hello"]);
50
+ assert.deepEqual(args, ["test", null, "hello"]);
50
51
  el.setAttribute("test", "world");
51
- assert.deepEqual(args, ["hello", "world"]);
52
+ assert.deepEqual(args, ["test", "hello", "world"]);
53
+ el.remove();
54
+ });
55
+ it("should call callback for multiple attributes", () => {
56
+ const args = [];
57
+ let MyElement = (() => {
58
+ let _classDecorators = [element({
59
+ tagName: "attr-changed-2",
60
+ })];
61
+ let _classDescriptor;
62
+ let _classExtraInitializers = [];
63
+ let _classThis;
64
+ let _classSuper = HTMLElement;
65
+ let _instanceExtraInitializers = [];
66
+ let _test1_decorators;
67
+ let _test1_initializers = [];
68
+ let _test1_extraInitializers = [];
69
+ let _test2_decorators;
70
+ let _test2_initializers = [];
71
+ let _test2_extraInitializers = [];
72
+ let _onTestChanged_decorators;
73
+ var MyElement = class extends _classSuper {
74
+ static { _classThis = this; }
75
+ static {
76
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
77
+ _test1_decorators = [attr()];
78
+ _test2_decorators = [attr()];
79
+ _onTestChanged_decorators = [attrChanged("test1", "test2")];
80
+ __esDecorate(this, null, _test1_decorators, { kind: "accessor", name: "test1", static: false, private: false, access: { has: obj => "test1" in obj, get: obj => obj.test1, set: (obj, value) => { obj.test1 = value; } }, metadata: _metadata }, _test1_initializers, _test1_extraInitializers);
81
+ __esDecorate(this, null, _test2_decorators, { kind: "accessor", name: "test2", static: false, private: false, access: { has: obj => "test2" in obj, get: obj => obj.test2, set: (obj, value) => { obj.test2 = value; } }, metadata: _metadata }, _test2_initializers, _test2_extraInitializers);
82
+ __esDecorate(this, null, _onTestChanged_decorators, { kind: "method", name: "onTestChanged", static: false, private: false, access: { has: obj => "onTestChanged" in obj, get: obj => obj.onTestChanged }, metadata: _metadata }, null, _instanceExtraInitializers);
83
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
84
+ MyElement = _classThis = _classDescriptor.value;
85
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
86
+ __runInitializers(_classThis, _classExtraInitializers);
87
+ }
88
+ #test1_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _test1_initializers, "hello"));
89
+ get test1() { return this.#test1_accessor_storage; }
90
+ set test1(value) { this.#test1_accessor_storage = value; }
91
+ #test2_accessor_storage = (__runInitializers(this, _test1_extraInitializers), __runInitializers(this, _test2_initializers, "world"));
92
+ get test2() { return this.#test2_accessor_storage; }
93
+ set test2(value) { this.#test2_accessor_storage = value; }
94
+ onTestChanged(attr, oldValue, newValue) {
95
+ args.push([attr, oldValue, newValue]);
96
+ }
97
+ constructor() {
98
+ super(...arguments);
99
+ __runInitializers(this, _test2_extraInitializers);
100
+ }
101
+ };
102
+ return MyElement = _classThis;
103
+ })();
104
+ const el = new MyElement();
105
+ document.body.append(el);
106
+ assert.deepEqual(args, [
107
+ ["test1", null, "hello"],
108
+ ["test2", null, "world"],
109
+ ]);
110
+ el.setAttribute("test1", "world");
111
+ assert.deepEqual(args, [
112
+ ["test1", null, "hello"],
113
+ ["test2", null, "world"],
114
+ ["test1", "hello", "world"],
115
+ ]);
52
116
  el.remove();
53
117
  });
54
118
  //# sourceMappingURL=attr-changed.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attr-changed.test.js","sourceRoot":"","sources":["../../src/lib/attr-changed.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAChD,IAAI,IAAI,GAAa,EAAE,CAAC;QAKlB,SAAS;gCAHd,OAAO,CAAC;gBACP,OAAO,EAAE,gBAAgB;aAC1B,CAAC;;;;0BACsB,WAAW;;;;;;6BAAnB,SAAQ,WAAW;;;;oCAChC,IAAI,EAAE;6CAGN,WAAW,CAAC,MAAM,CAAC;gBAFpB,iKAAS,IAAI,6BAAJ,IAAI,mFAAW;gBAGxB,0LAAA,aAAa,6DAEZ;gBAPH,6KAQC;;;gBARK,uDAAS;;YAEb,0BAFI,mDAAS,8CAEG,OAAO,GAAC;YAAxB,IAAS,IAAI,0CAAW;YAAxB,IAAS,IAAI,gDAAW;YAGxB,aAAa,CAAC,QAAgB,EAAE,QAAgB;gBAC9C,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;;;;;;;;IAGH,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAE3B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEzB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3C,EAAE,CAAC,MAAM,EAAE,CAAC;AACd,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"attr-changed.test.js","sourceRoot":"","sources":["../../src/lib/attr-changed.test.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export function element(opts) {
45
45
  }
46
46
  if (cbs) {
47
47
  for (const cb of cbs) {
48
- cb.call(this, oldValue, newValue);
48
+ cb.call(this, name, oldValue, newValue);
49
49
  }
50
50
  }
51
51
  if (attr.observe) {
@@ -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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"}
@@ -11,7 +11,7 @@ export interface Listener<T> {
11
11
  cb: (e: Event) => void;
12
12
  selector: ListenerSelector<T>;
13
13
  }
14
- export type AttrChangedCallback = (oldValue: string, newValue: string) => void;
14
+ export type AttrChangedCallback = (name: string, oldValue: string, newValue: string) => void;
15
15
  export declare class AttrMetadata extends Map<string, AttrDef> {
16
16
  }
17
17
  export declare class AttrChangeMetadata extends Map<string, Set<AttrChangedCallback>> {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/lib/metadata.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAoBvD,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
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/lib/metadata.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAwBvD,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"}