@joist/templating 4.7.0 → 4.8.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 (77) hide show
  1. package/package.json +1 -1
  2. package/target/lib/bind.d.ts +10 -0
  3. package/target/lib/bind.d.ts.map +1 -0
  4. package/target/lib/bind.js +50 -0
  5. package/target/lib/bind.js.map +1 -0
  6. package/target/lib/bind.test.d.ts +2 -0
  7. package/target/lib/bind.test.d.ts.map +1 -0
  8. package/target/lib/bind.test.js +110 -0
  9. package/target/lib/bind.test.js.map +1 -0
  10. package/target/lib/define.d.ts +17 -0
  11. package/target/lib/define.d.ts.map +1 -0
  12. package/target/lib/define.js +14 -0
  13. package/target/lib/define.js.map +1 -0
  14. package/target/lib/elements/async.element.d.ts +14 -0
  15. package/target/lib/elements/async.element.d.ts.map +1 -0
  16. package/target/lib/elements/async.element.js +168 -0
  17. package/target/lib/elements/async.element.js.map +1 -0
  18. package/target/lib/elements/async.element.test.d.ts +2 -0
  19. package/target/lib/elements/async.element.test.d.ts.map +1 -0
  20. package/target/lib/elements/async.element.test.js +191 -0
  21. package/target/lib/elements/async.element.test.js.map +1 -0
  22. package/target/lib/elements/bind.element.d.ts +14 -0
  23. package/target/lib/elements/bind.element.d.ts.map +1 -0
  24. package/target/lib/elements/bind.element.js +180 -0
  25. package/target/lib/elements/bind.element.js.map +1 -0
  26. package/target/lib/elements/bind.element.test.d.ts +2 -0
  27. package/target/lib/elements/bind.element.test.d.ts.map +1 -0
  28. package/target/lib/elements/bind.element.test.js +153 -0
  29. package/target/lib/elements/bind.element.test.js.map +1 -0
  30. package/target/lib/elements/for.element.d.ts +16 -0
  31. package/target/lib/elements/for.element.d.ts.map +1 -0
  32. package/target/lib/elements/for.element.js +259 -0
  33. package/target/lib/elements/for.element.js.map +1 -0
  34. package/target/lib/elements/for.element.test.d.ts +2 -0
  35. package/target/lib/elements/for.element.test.d.ts.map +1 -0
  36. package/target/lib/elements/for.element.test.js +232 -0
  37. package/target/lib/elements/for.element.test.js.map +1 -0
  38. package/target/lib/elements/if.element.d.ts +10 -0
  39. package/target/lib/elements/if.element.d.ts.map +1 -0
  40. package/target/lib/elements/if.element.js +145 -0
  41. package/target/lib/elements/if.element.js.map +1 -0
  42. package/target/lib/elements/if.element.test.d.ts +2 -0
  43. package/target/lib/elements/if.element.test.d.ts.map +1 -0
  44. package/target/lib/elements/if.element.test.js +309 -0
  45. package/target/lib/elements/if.element.test.js.map +1 -0
  46. package/target/lib/elements/scope.element.d.ts +4 -0
  47. package/target/lib/elements/scope.element.d.ts.map +1 -0
  48. package/target/lib/elements/scope.element.js +71 -0
  49. package/target/lib/elements/scope.element.js.map +1 -0
  50. package/target/lib/elements/scope.element.test.d.ts +2 -0
  51. package/target/lib/elements/scope.element.test.d.ts.map +1 -0
  52. package/target/lib/elements/scope.element.test.js +25 -0
  53. package/target/lib/elements/scope.element.test.js.map +1 -0
  54. package/target/lib/elements/value.element.d.ts +6 -0
  55. package/target/lib/elements/value.element.d.ts.map +1 -0
  56. package/target/lib/elements/value.element.js +96 -0
  57. package/target/lib/elements/value.element.js.map +1 -0
  58. package/target/lib/elements/value.element.test.d.ts +2 -0
  59. package/target/lib/elements/value.element.test.d.ts.map +1 -0
  60. package/target/lib/elements/value.element.test.js +68 -0
  61. package/target/lib/elements/value.element.test.js.map +1 -0
  62. package/target/lib/events.d.ts +17 -0
  63. package/target/lib/events.d.ts.map +1 -0
  64. package/target/lib/events.js +10 -0
  65. package/target/lib/events.js.map +1 -0
  66. package/target/lib/expression.d.ts +65 -0
  67. package/target/lib/expression.d.ts.map +1 -0
  68. package/target/lib/expression.js +153 -0
  69. package/target/lib/expression.js.map +1 -0
  70. package/target/lib/expression.test.d.ts +2 -0
  71. package/target/lib/expression.test.d.ts.map +1 -0
  72. package/target/lib/expression.test.js +171 -0
  73. package/target/lib/expression.test.js.map +1 -0
  74. package/target/lib.d.ts +3 -0
  75. package/target/lib.d.ts.map +1 -0
  76. package/target/lib.js +3 -0
  77. package/target/lib.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.element.test.js","sourceRoot":"","sources":["../../../src/lib/elements/async.element.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { JExpression } from "../expression.js";
2
+ export declare class JAttrToken extends JExpression {
3
+ mapTo: string;
4
+ constructor(binding: string);
5
+ }
6
+ export declare class JoistBindElement extends HTMLElement {
7
+ #private;
8
+ accessor props: string;
9
+ accessor attrs: string;
10
+ accessor target: string;
11
+ accessor dependsOn: string;
12
+ connectedCallback(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=bind.element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.element.d.ts","sourceRoot":"","sources":["../../../src/lib/elements/bind.element.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBAAa,UAAW,SAAQ,WAAW;IACzC,KAAK,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM;CAS5B;AAED,qBAIa,gBAAiB,SAAQ,WAAW;;IAE/C,QAAQ,CAAC,KAAK,SAAM;IAGpB,QAAQ,CAAC,KAAK,SAAM;IAGpB,QAAQ,CAAC,MAAM,SAAM;IAKrB,QAAQ,CAAC,SAAS,SAAM;IAElB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CA4FzC"}
@@ -0,0 +1,180 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { attr, element, css, html } from "@joist/element";
36
+ import { JExpression } from "../expression.js";
37
+ import { JoistValueEvent } from "../events.js";
38
+ export class JAttrToken extends JExpression {
39
+ mapTo;
40
+ constructor(binding) {
41
+ const [mapTo, bindTo] = binding.split(":");
42
+ const source = bindTo ?? mapTo ?? "";
43
+ const target = mapTo ?? bindTo ?? "";
44
+ super(source);
45
+ this.mapTo = target;
46
+ }
47
+ }
48
+ let JoistBindElement = (() => {
49
+ let _classDecorators = [element({
50
+ // prettier-ignore
51
+ shadowDom: [css `:host{display: contents;}`, html `<slot></slot>`],
52
+ })];
53
+ let _classDescriptor;
54
+ let _classExtraInitializers = [];
55
+ let _classThis;
56
+ let _classSuper = HTMLElement;
57
+ let _props_decorators;
58
+ let _props_initializers = [];
59
+ let _props_extraInitializers = [];
60
+ let _attrs_decorators;
61
+ let _attrs_initializers = [];
62
+ let _attrs_extraInitializers = [];
63
+ let _target_decorators;
64
+ let _target_initializers = [];
65
+ let _target_extraInitializers = [];
66
+ let _dependsOn_decorators;
67
+ let _dependsOn_initializers = [];
68
+ let _dependsOn_extraInitializers = [];
69
+ var JoistBindElement = class extends _classSuper {
70
+ static { _classThis = this; }
71
+ static {
72
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
73
+ _props_decorators = [attr()];
74
+ _attrs_decorators = [attr()];
75
+ _target_decorators = [attr()];
76
+ _dependsOn_decorators = [attr({
77
+ name: "depends-on",
78
+ })];
79
+ __esDecorate(this, null, _props_decorators, { kind: "accessor", name: "props", static: false, private: false, access: { has: obj => "props" in obj, get: obj => obj.props, set: (obj, value) => { obj.props = value; } }, metadata: _metadata }, _props_initializers, _props_extraInitializers);
80
+ __esDecorate(this, null, _attrs_decorators, { kind: "accessor", name: "attrs", static: false, private: false, access: { has: obj => "attrs" in obj, get: obj => obj.attrs, set: (obj, value) => { obj.attrs = value; } }, metadata: _metadata }, _attrs_initializers, _attrs_extraInitializers);
81
+ __esDecorate(this, null, _target_decorators, { kind: "accessor", name: "target", static: false, private: false, access: { has: obj => "target" in obj, get: obj => obj.target, set: (obj, value) => { obj.target = value; } }, metadata: _metadata }, _target_initializers, _target_extraInitializers);
82
+ __esDecorate(this, null, _dependsOn_decorators, { kind: "accessor", name: "dependsOn", static: false, private: false, access: { has: obj => "dependsOn" in obj, get: obj => obj.dependsOn, set: (obj, value) => { obj.dependsOn = value; } }, metadata: _metadata }, _dependsOn_initializers, _dependsOn_extraInitializers);
83
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
84
+ JoistBindElement = _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
+ #props_accessor_storage = __runInitializers(this, _props_initializers, "");
89
+ get props() { return this.#props_accessor_storage; }
90
+ set props(value) { this.#props_accessor_storage = value; }
91
+ #attrs_accessor_storage = (__runInitializers(this, _props_extraInitializers), __runInitializers(this, _attrs_initializers, ""));
92
+ get attrs() { return this.#attrs_accessor_storage; }
93
+ set attrs(value) { this.#attrs_accessor_storage = value; }
94
+ #target_accessor_storage = (__runInitializers(this, _attrs_extraInitializers), __runInitializers(this, _target_initializers, ""));
95
+ get target() { return this.#target_accessor_storage; }
96
+ set target(value) { this.#target_accessor_storage = value; }
97
+ #dependsOn_accessor_storage = (__runInitializers(this, _target_extraInitializers), __runInitializers(this, _dependsOn_initializers, ""));
98
+ get dependsOn() { return this.#dependsOn_accessor_storage; }
99
+ set dependsOn(value) { this.#dependsOn_accessor_storage = value; }
100
+ async connectedCallback() {
101
+ const attrBindings = this.#parseBinding(this.attrs);
102
+ const propBindings = this.#parseBinding(this.props);
103
+ let children = this.children;
104
+ const root = this.getRootNode();
105
+ if (this.target) {
106
+ children = root.querySelectorAll(this.target);
107
+ }
108
+ if (this.dependsOn) {
109
+ await Promise.all(this.dependsOn.split(",").map((tag) => window.customElements.whenDefined(tag)));
110
+ }
111
+ for (const attrValue of attrBindings) {
112
+ const token = new JAttrToken(attrValue);
113
+ this.#dispatch(token, (value) => {
114
+ for (const child of children) {
115
+ if (value === true) {
116
+ child.setAttribute(token.mapTo, "");
117
+ }
118
+ else if (value === false) {
119
+ child.removeAttribute(token.mapTo);
120
+ }
121
+ else {
122
+ child.setAttribute(token.mapTo, String(value));
123
+ }
124
+ }
125
+ });
126
+ }
127
+ for (const propValue of propBindings) {
128
+ const token = new JAttrToken(propValue);
129
+ this.#dispatch(token, (value) => {
130
+ for (const child of children) {
131
+ const mapToParts = token.mapTo.split(".");
132
+ if (mapToParts.length > 1) {
133
+ const finalPart = mapToParts.pop();
134
+ let pointer = child;
135
+ for (const part of mapToParts) {
136
+ pointer = pointer?.[part];
137
+ if (pointer === undefined) {
138
+ break;
139
+ }
140
+ }
141
+ Reflect.set(pointer, finalPart, value);
142
+ }
143
+ else {
144
+ Reflect.set(child, token.mapTo, value);
145
+ }
146
+ }
147
+ });
148
+ }
149
+ }
150
+ #parseBinding(binding) {
151
+ return binding
152
+ .split(",")
153
+ .map((b) => b.trim())
154
+ .filter((b) => b);
155
+ }
156
+ #dispatch(token, write) {
157
+ this.dispatchEvent(new JoistValueEvent(token, ({ newValue, oldValue, alwaysUpdate }) => {
158
+ if (newValue === oldValue && !alwaysUpdate) {
159
+ return;
160
+ }
161
+ let valueToWrite = token.evaluate(newValue);
162
+ let oldWrittenValue = token.evaluate(oldValue);
163
+ if (oldWrittenValue === valueToWrite) {
164
+ return;
165
+ }
166
+ if (token.isNegated) {
167
+ valueToWrite = !valueToWrite;
168
+ }
169
+ write(valueToWrite);
170
+ }));
171
+ }
172
+ constructor() {
173
+ super(...arguments);
174
+ __runInitializers(this, _dependsOn_extraInitializers);
175
+ }
176
+ };
177
+ return JoistBindElement = _classThis;
178
+ })();
179
+ export { JoistBindElement };
180
+ //# sourceMappingURL=bind.element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.element.js","sourceRoot":"","sources":["../../../src/lib/elements/bind.element.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import "../define.js";
2
+ //# sourceMappingURL=bind.element.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.element.test.d.ts","sourceRoot":"","sources":["../../../src/lib/elements/bind.element.test.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC"}
@@ -0,0 +1,153 @@
1
+ import "../define.js";
2
+ import { fixtureSync, html } from "@open-wc/testing";
3
+ import { assert } from "chai";
4
+ it("should pass props to child", () => {
5
+ const element = fixtureSync(html `
6
+ <div
7
+ @joist::value=${(e) => {
8
+ if (e.expression.bindTo === "href") {
9
+ e.update({
10
+ oldValue: null,
11
+ newValue: "$foo",
12
+ });
13
+ }
14
+ if (e.expression.bindTo === "target") {
15
+ e.update({
16
+ oldValue: null,
17
+ newValue: {
18
+ value: "_blank",
19
+ },
20
+ });
21
+ }
22
+ }}
23
+ >
24
+ <j-bind attrs="href:href" props="target:target.value">
25
+ <a>Hello World</a>
26
+ </j-bind>
27
+ </div>
28
+ `);
29
+ const anchor = element.querySelector("a");
30
+ assert.equal(anchor?.getAttribute("href"), "$foo");
31
+ assert.equal(anchor?.getAttribute("target"), "_blank");
32
+ });
33
+ it("should pass props to specified child", () => {
34
+ const element = fixtureSync(html `
35
+ <div
36
+ @joist::value=${(e) => {
37
+ e.update({
38
+ oldValue: null,
39
+ newValue: "#foo",
40
+ });
41
+ }}
42
+ >
43
+ <j-bind attrs="href:href" target="#test"></j-bind>
44
+
45
+ <a>Default</a>
46
+ <a id="test">Target</a>
47
+ </div>
48
+ `);
49
+ const anchor = element.querySelectorAll("a");
50
+ assert.equal(anchor[0].getAttribute("href"), null);
51
+ assert.equal(anchor[1].getAttribute("href"), "#foo");
52
+ });
53
+ it("should be case sensitive", () => {
54
+ const element = fixtureSync(html `
55
+ <div
56
+ @joist::value=${(e) => {
57
+ e.update({ oldValue: null, newValue: 8 });
58
+ }}
59
+ >
60
+ <j-bind
61
+ props="
62
+ selectionStart:foo,
63
+ selectionEnd:foo
64
+ "
65
+ >
66
+ <input value="1234567890" />
67
+ </j-bind>
68
+ </div>
69
+ `);
70
+ const input = element.querySelector("input");
71
+ assert.equal(input?.selectionStart, 8);
72
+ assert.equal(input?.selectionEnd, 8);
73
+ });
74
+ it("should default to the mapTo value if bindTo is not provided", () => {
75
+ const element = fixtureSync(html `
76
+ <div
77
+ @joist::value=${(e) => {
78
+ e.update({ oldValue: null, newValue: 8 });
79
+ }}
80
+ >
81
+ <j-bind props="selectionStart, selectionEnd">
82
+ <input value="1234567890" />
83
+ </j-bind>
84
+ </div>
85
+ `);
86
+ const input = element.querySelector("input");
87
+ assert.equal(input?.selectionStart, 8);
88
+ assert.equal(input?.selectionEnd, 8);
89
+ });
90
+ it("should write not update if the calculated value is the same as the old value", () => {
91
+ const element = fixtureSync(html `
92
+ <div
93
+ @joist::value=${(e) => {
94
+ e.update({ oldValue: { foo: "bar" }, newValue: { foo: "bar" } });
95
+ }}
96
+ >
97
+ <j-bind props="value:data.foo">
98
+ <input />
99
+ </j-bind>
100
+ </div>
101
+ `);
102
+ const input = element.querySelector("input");
103
+ assert.equal(input?.value, "");
104
+ });
105
+ it("should wait for depends-on before dispatching events", async () => {
106
+ let eventDispatched = false;
107
+ customElements.define("dependency-1", class extends HTMLElement {
108
+ });
109
+ customElements.define("dependency-2", class extends HTMLElement {
110
+ });
111
+ fixtureSync(html `
112
+ <div
113
+ @joist::value=${(e) => {
114
+ if (e.expression.bindTo === "href") {
115
+ eventDispatched = true;
116
+ e.update({
117
+ oldValue: null,
118
+ newValue: "$foo",
119
+ });
120
+ }
121
+ }}
122
+ >
123
+ <j-bind attrs="href:href" depends-on="dependency-1,dependency-2">
124
+ <a>Hello World</a>
125
+ </j-bind>
126
+ </div>
127
+ `);
128
+ // Initially, no event should be dispatched
129
+ assert.isFalse(eventDispatched);
130
+ // Wait for the custom elements to be defined
131
+ await Promise.all([
132
+ customElements.whenDefined("dependency-1"),
133
+ customElements.whenDefined("dependency-2"),
134
+ ]);
135
+ // Now the event should be dispatched
136
+ assert.isTrue(eventDispatched);
137
+ });
138
+ it("should bind to a nested prop like style", async () => {
139
+ const element = fixtureSync(html `
140
+ <div
141
+ @joist::value=${(e) => {
142
+ e.update({ oldValue: null, newValue: "red" });
143
+ }}
144
+ >
145
+ <j-bind props="style.color:color">
146
+ <input value="1234567890" />
147
+ </j-bind>
148
+ </div>
149
+ `);
150
+ const input = element.querySelector("input");
151
+ assert.equal(input?.style.color, "red");
152
+ });
153
+ //# sourceMappingURL=bind.element.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.element.test.js","sourceRoot":"","sources":["../../../src/lib/elements/bind.element.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface EachCtx<T> {
2
+ value: T | null;
3
+ index: number | null;
4
+ position: number | null;
5
+ }
6
+ export declare class JoistForElement extends HTMLElement {
7
+ #private;
8
+ accessor bind: string;
9
+ accessor key: string;
10
+ accessor dependsOn: string;
11
+ connectedCallback(): Promise<void>;
12
+ createFromEmpty(): void;
13
+ updateItems(): void;
14
+ disconnectedCallback(): void;
15
+ }
16
+ //# sourceMappingURL=for.element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"for.element.d.ts","sourceRoot":"","sources":["../../../src/lib/elements/for.element.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAsDD,qBAIa,eAAgB,SAAQ,WAAW;;IAE9C,QAAQ,CAAC,IAAI,SAAM;IAGnB,QAAQ,CAAC,GAAG,SAAM;IAKlB,QAAQ,CAAC,SAAS,SAAM;IAMlB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CxC,eAAe,IAAI,IAAI;IA6BvB,WAAW,IAAI,IAAI;IA4CnB,oBAAoB,IAAI,IAAI;CAqB7B"}