@joist/templating 4.2.4-next.17 → 4.2.4-next.18
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/elements/bind.element.test.ts +4 -4
- package/src/lib/elements/bind.element.ts +15 -13
- package/src/lib/elements/for.element.ts +17 -8
- package/src/lib/elements/if.element.ts +8 -6
- package/target/lib/elements/bind.element.js +16 -14
- package/target/lib/elements/bind.element.js.map +1 -1
- package/target/lib/elements/bind.element.test.js +4 -4
- package/target/lib/elements/for.element.js +11 -7
- package/target/lib/elements/for.element.js.map +1 -1
- package/target/lib/elements/if.element.js +8 -6
- package/target/lib/elements/if.element.js.map +1 -1
package/package.json
CHANGED
|
@@ -48,10 +48,10 @@ it("should pass props to specified child", () => {
|
|
|
48
48
|
});
|
|
49
49
|
}}
|
|
50
50
|
>
|
|
51
|
-
<j-bind attrs="href:href" target="#test">
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
</
|
|
51
|
+
<j-bind attrs="href:href" target="#test"></j-bind>
|
|
52
|
+
|
|
53
|
+
<a>Default</a>
|
|
54
|
+
<a id="test">Target</a>
|
|
55
55
|
</div>
|
|
56
56
|
`);
|
|
57
57
|
|
|
@@ -33,26 +33,26 @@ export class JoistBindElement extends HTMLElement {
|
|
|
33
33
|
const attrBindings = this.#parseBinding(this.attrs);
|
|
34
34
|
const propBindings = this.#parseBinding(this.props);
|
|
35
35
|
|
|
36
|
-
let
|
|
36
|
+
let children: Iterable<Element> = this.children;
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
child = this.querySelector(this.target);
|
|
40
|
-
}
|
|
38
|
+
const root = this.getRootNode() as Document | ShadowRoot;
|
|
41
39
|
|
|
42
|
-
if (
|
|
43
|
-
|
|
40
|
+
if (this.target) {
|
|
41
|
+
children = root.querySelectorAll(this.target);
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
for (const attrValue of attrBindings) {
|
|
47
45
|
const token = new JAttrToken(attrValue);
|
|
48
46
|
|
|
49
47
|
this.#dispatch(token, (value) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
for (const child of children) {
|
|
49
|
+
if (value === true) {
|
|
50
|
+
child.setAttribute(token.mapTo, "");
|
|
51
|
+
} else if (value === false) {
|
|
52
|
+
child.removeAttribute(token.mapTo);
|
|
53
|
+
} else {
|
|
54
|
+
child.setAttribute(token.mapTo, String(value));
|
|
55
|
+
}
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
}
|
|
@@ -61,7 +61,9 @@ export class JoistBindElement extends HTMLElement {
|
|
|
61
61
|
const token = new JAttrToken(propValue);
|
|
62
62
|
|
|
63
63
|
this.#dispatch(token, (value) => {
|
|
64
|
-
|
|
64
|
+
for (const child of children) {
|
|
65
|
+
Reflect.set(child, token.mapTo, value);
|
|
66
|
+
}
|
|
65
67
|
});
|
|
66
68
|
}
|
|
67
69
|
}
|
|
@@ -118,8 +118,6 @@ export class JoistForElement extends HTMLElement {
|
|
|
118
118
|
// Updates the DOM by either inserting new scopes or moving existing ones
|
|
119
119
|
// to their correct positions based on the current iteration order
|
|
120
120
|
createFromEmpty(): void {
|
|
121
|
-
const template = this.#template();
|
|
122
|
-
const templateContent = template.content;
|
|
123
121
|
const keyProperty = this.key;
|
|
124
122
|
const fragment = document.createDocumentFragment();
|
|
125
123
|
|
|
@@ -131,14 +129,15 @@ export class JoistForElement extends HTMLElement {
|
|
|
131
129
|
key = value[keyProperty];
|
|
132
130
|
}
|
|
133
131
|
|
|
134
|
-
const
|
|
135
|
-
const scope = new JoistForScopeContainer(fragment.firstElementChild);
|
|
132
|
+
const scope = this.#createScopeContainer();
|
|
136
133
|
|
|
137
134
|
scope.host.setAttribute("key", String(key));
|
|
138
135
|
scope.each = { position: index + 1, index, value };
|
|
139
136
|
|
|
140
137
|
fragment.appendChild(scope.host);
|
|
138
|
+
|
|
141
139
|
this.#scopes.set(String(key), scope);
|
|
140
|
+
|
|
142
141
|
index++;
|
|
143
142
|
}
|
|
144
143
|
|
|
@@ -148,7 +147,6 @@ export class JoistForElement extends HTMLElement {
|
|
|
148
147
|
// Updates the DOM by either inserting new scopes or moving existing ones
|
|
149
148
|
// to their correct positions based on the current iteration order
|
|
150
149
|
updateItems(): void {
|
|
151
|
-
const template = this.#template();
|
|
152
150
|
const leftoverScopes = new Map<unknown, JoistForScopeContainer>(this.#scopes);
|
|
153
151
|
const keyProperty = this.key;
|
|
154
152
|
|
|
@@ -164,9 +162,7 @@ export class JoistForElement extends HTMLElement {
|
|
|
164
162
|
let scope = leftoverScopes.get(key);
|
|
165
163
|
|
|
166
164
|
if (!scope) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
scope = new JoistForScopeContainer(fragment.firstElementChild);
|
|
165
|
+
scope = scope = this.#createScopeContainer();
|
|
170
166
|
|
|
171
167
|
this.#scopes.set(String(key), scope);
|
|
172
168
|
} else {
|
|
@@ -202,6 +198,19 @@ export class JoistForElement extends HTMLElement {
|
|
|
202
198
|
this.#scopes.clear();
|
|
203
199
|
this.#items = [];
|
|
204
200
|
}
|
|
201
|
+
|
|
202
|
+
#createScopeContainer() {
|
|
203
|
+
const template = this.#template();
|
|
204
|
+
const content = template.content.firstElementChild;
|
|
205
|
+
|
|
206
|
+
if (content === null) {
|
|
207
|
+
throw new Error("template must contain a single parent element");
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
const fragment = document.importNode(content, true);
|
|
211
|
+
|
|
212
|
+
return new JoistForScopeContainer(fragment);
|
|
213
|
+
}
|
|
205
214
|
}
|
|
206
215
|
|
|
207
216
|
function isIterable<T = unknown>(obj: any): obj is Iterable<T> {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { attr, element, queryAll, css
|
|
1
|
+
import { attr, element, queryAll, css } from "@joist/element";
|
|
2
2
|
|
|
3
3
|
import { JoistValueEvent } from "../events.js";
|
|
4
4
|
import { JExpression } from "../expression.js";
|
|
5
5
|
|
|
6
6
|
@element({
|
|
7
7
|
// prettier-ignore
|
|
8
|
-
shadowDom: [css`:host{display:
|
|
8
|
+
shadowDom: [css`:host{display: none;}`],
|
|
9
9
|
})
|
|
10
10
|
export class JoistIfElement extends HTMLElement {
|
|
11
11
|
@attr()
|
|
12
12
|
accessor bind = "";
|
|
13
13
|
|
|
14
|
+
#endMarker = document.createComment("joist::endif");
|
|
14
15
|
#templates = queryAll<HTMLTemplateElement>("template", this);
|
|
15
|
-
|
|
16
16
|
#shouldShowIf: boolean | null = null;
|
|
17
17
|
|
|
18
18
|
connectedCallback(): void {
|
|
@@ -35,6 +35,8 @@ export class JoistIfElement extends HTMLElement {
|
|
|
35
35
|
[templates[0], templates[1]] = [templates[1], templates[0]];
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
this.after(this.#endMarker);
|
|
39
|
+
|
|
38
40
|
// make sure there are no other nodes after the template
|
|
39
41
|
this.#clean();
|
|
40
42
|
|
|
@@ -67,13 +69,13 @@ export class JoistIfElement extends HTMLElement {
|
|
|
67
69
|
if (templateToUse) {
|
|
68
70
|
const content = document.importNode(templateToUse.content, true);
|
|
69
71
|
|
|
70
|
-
this.
|
|
72
|
+
this.after(content);
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
#clean(): void {
|
|
75
|
-
while (
|
|
76
|
-
this.
|
|
77
|
+
while (this.nextSibling !== this.#endMarker) {
|
|
78
|
+
this.nextSibling?.remove();
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
|
|
@@ -54,31 +54,33 @@ let JoistBindElement = (() => {
|
|
|
54
54
|
connectedCallback() {
|
|
55
55
|
const attrBindings = this.#parseBinding(this.attrs);
|
|
56
56
|
const propBindings = this.#parseBinding(this.props);
|
|
57
|
-
let
|
|
57
|
+
let children = this.children;
|
|
58
|
+
const root = this.getRootNode();
|
|
58
59
|
if (this.target) {
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
if (!child) {
|
|
62
|
-
throw new Error("j-bind must have a child element or defined target");
|
|
60
|
+
children = root.querySelectorAll(this.target);
|
|
63
61
|
}
|
|
64
62
|
for (const attrValue of attrBindings) {
|
|
65
63
|
const token = new JAttrToken(attrValue);
|
|
66
64
|
this.#dispatch(token, (value) => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
for (const child of children) {
|
|
66
|
+
if (value === true) {
|
|
67
|
+
child.setAttribute(token.mapTo, "");
|
|
68
|
+
}
|
|
69
|
+
else if (value === false) {
|
|
70
|
+
child.removeAttribute(token.mapTo);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
child.setAttribute(token.mapTo, String(value));
|
|
74
|
+
}
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
for (const propValue of propBindings) {
|
|
79
79
|
const token = new JAttrToken(propValue);
|
|
80
80
|
this.#dispatch(token, (value) => {
|
|
81
|
-
|
|
81
|
+
for (const child of children) {
|
|
82
|
+
Reflect.set(child, token.mapTo, value);
|
|
83
|
+
}
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind.element.js","sourceRoot":"","sources":["../../../src/lib/elements/bind.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,KAAK,CAAS;IAEd,YAAY,OAAe;QACzB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE3C,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;QAEvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;IAMY,gBAAgB;4BAJ5B,OAAO,CAAC;YAEP,SAAS,EAAE,CAAC,GAAG,CAAA,2BAA2B,EAAE,IAAI,CAAA,eAAe,CAAC;SACjE,CAAC;;;;sBACoC,WAAW;;;;;;;;;;gCAAnB,SAAQ,WAAW;;;;iCAC9C,IAAI,EAAE;iCAGN,IAAI,EAAE;kCAGN,IAAI,EAAE;YALP,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAGpB,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAGpB,uKAAS,MAAM,6BAAN,MAAM,uFAAM;YARvB,
|
|
1
|
+
{"version":3,"file":"bind.element.js","sourceRoot":"","sources":["../../../src/lib/elements/bind.element.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,10 +40,10 @@ it("should pass props to specified child", () => {
|
|
|
40
40
|
});
|
|
41
41
|
}}
|
|
42
42
|
>
|
|
43
|
-
<j-bind attrs="href:href" target="#test">
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
</
|
|
43
|
+
<j-bind attrs="href:href" target="#test"></j-bind>
|
|
44
|
+
|
|
45
|
+
<a>Default</a>
|
|
46
|
+
<a id="test">Target</a>
|
|
47
47
|
</div>
|
|
48
48
|
`);
|
|
49
49
|
const anchor = element.querySelectorAll("a");
|
|
@@ -125,8 +125,6 @@ let JoistForElement = (() => {
|
|
|
125
125
|
}));
|
|
126
126
|
}
|
|
127
127
|
createFromEmpty() {
|
|
128
|
-
const template = this.#template();
|
|
129
|
-
const templateContent = template.content;
|
|
130
128
|
const keyProperty = this.key;
|
|
131
129
|
const fragment = document.createDocumentFragment();
|
|
132
130
|
let index = 0;
|
|
@@ -135,8 +133,7 @@ let JoistForElement = (() => {
|
|
|
135
133
|
if (keyProperty && hasProperty(value, keyProperty)) {
|
|
136
134
|
key = value[keyProperty];
|
|
137
135
|
}
|
|
138
|
-
const
|
|
139
|
-
const scope = new JoistForScopeContainer(fragment.firstElementChild);
|
|
136
|
+
const scope = this.#createScopeContainer();
|
|
140
137
|
scope.host.setAttribute("key", String(key));
|
|
141
138
|
scope.each = { position: index + 1, index, value };
|
|
142
139
|
fragment.appendChild(scope.host);
|
|
@@ -146,7 +143,6 @@ let JoistForElement = (() => {
|
|
|
146
143
|
this.append(fragment);
|
|
147
144
|
}
|
|
148
145
|
updateItems() {
|
|
149
|
-
const template = this.#template();
|
|
150
146
|
const leftoverScopes = new Map(this.#scopes);
|
|
151
147
|
const keyProperty = this.key;
|
|
152
148
|
let index = 0;
|
|
@@ -157,8 +153,7 @@ let JoistForElement = (() => {
|
|
|
157
153
|
}
|
|
158
154
|
let scope = leftoverScopes.get(key);
|
|
159
155
|
if (!scope) {
|
|
160
|
-
|
|
161
|
-
scope = new JoistForScopeContainer(fragment.firstElementChild);
|
|
156
|
+
scope = scope = this.#createScopeContainer();
|
|
162
157
|
this.#scopes.set(String(key), scope);
|
|
163
158
|
}
|
|
164
159
|
else {
|
|
@@ -185,6 +180,15 @@ let JoistForElement = (() => {
|
|
|
185
180
|
this.#scopes.clear();
|
|
186
181
|
this.#items = [];
|
|
187
182
|
}
|
|
183
|
+
#createScopeContainer() {
|
|
184
|
+
const template = this.#template();
|
|
185
|
+
const content = template.content.firstElementChild;
|
|
186
|
+
if (content === null) {
|
|
187
|
+
throw new Error("template must contain a single parent element");
|
|
188
|
+
}
|
|
189
|
+
const fragment = document.importNode(content, true);
|
|
190
|
+
return new JoistForScopeContainer(fragment);
|
|
191
|
+
}
|
|
188
192
|
};
|
|
189
193
|
return JoistForElement = _classThis;
|
|
190
194
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for.element.js","sourceRoot":"","sources":["../../../src/lib/elements/for.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAmB,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAc,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;IAQzC,sBAAsB;;;;;;iBAAtB,sBAAsB;;;gCASzB,OAAO,EAAE;oCA6BT,MAAM,EAAE;YA5BT,iKAAS,IAAI,6BAAJ,IAAI,mFAIX;YAyBF,2KAAA,QAAQ,6DAUP;;;QAhDD,IAAI,GADA,mDAAsB,CACZ;QAEd,IAAI,GAAG;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,UAAU,GAAiD,EAAE,CAAC;QAG9D,qEAA4B;YAC1B,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf,EAAC;QAJF,IAAS,IAAI,0CAIX;QAJF,IAAS,IAAI,gDAIX;QAEF,YAAY,IAAoB;;YAC9B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC/C,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACnC,CAAC,CAAC,eAAe,EAAE,CAAC;oBAEpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAE/B,CAAC,CAAC,MAAM,CAAC;wBACP,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;SACJ;QAGD,QAAQ,CAAC,OAAsB;YAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAuB,CAAC;YAEzD,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,EAAE,CAAC;oBACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;;;IAOU,eAAe;4BAJ3B,OAAO,CAAC;YAEP,SAAS,EAAE,CAAC,GAAG,CAAA,0BAA0B,EAAE,IAAI,CAAA,eAAe,CAAC;SAChE,CAAC;;;;sBACmC,WAAW;;;;;;;+BAAnB,SAAQ,WAAW;;;;gCAC7C,IAAI,EAAE;+BAGN,IAAI,EAAE;YAFP,iKAAS,IAAI,6BAAJ,IAAI,mFAAM;YAGnB,8JAAS,GAAG,6BAAH,GAAG,iFAAM;YALpB,
|
|
1
|
+
{"version":3,"file":"for.element.js","sourceRoot":"","sources":["../../../src/lib/elements/for.element.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { attr, element, queryAll, css
|
|
2
|
+
import { attr, element, queryAll, css } from "@joist/element";
|
|
3
3
|
import { JoistValueEvent } from "../events.js";
|
|
4
4
|
import { JExpression } from "../expression.js";
|
|
5
5
|
let JoistIfElement = (() => {
|
|
6
6
|
let _classDecorators = [element({
|
|
7
|
-
shadowDom: [css `:host{display:
|
|
7
|
+
shadowDom: [css `:host{display: none;}`],
|
|
8
8
|
})];
|
|
9
9
|
let _classDescriptor;
|
|
10
10
|
let _classExtraInitializers = [];
|
|
@@ -27,7 +27,8 @@ let JoistIfElement = (() => {
|
|
|
27
27
|
#bind_accessor_storage = __runInitializers(this, _bind_initializers, "");
|
|
28
28
|
get bind() { return this.#bind_accessor_storage; }
|
|
29
29
|
set bind(value) { this.#bind_accessor_storage = value; }
|
|
30
|
-
#
|
|
30
|
+
#endMarker = (__runInitializers(this, _bind_extraInitializers), document.createComment("joist::endif"));
|
|
31
|
+
#templates = queryAll("template", this);
|
|
31
32
|
#shouldShowIf = null;
|
|
32
33
|
connectedCallback() {
|
|
33
34
|
const templates = Array.from(this.#templates());
|
|
@@ -43,6 +44,7 @@ let JoistIfElement = (() => {
|
|
|
43
44
|
if (templates.length === 2 && templates[0].hasAttribute("else")) {
|
|
44
45
|
[templates[0], templates[1]] = [templates[1], templates[0]];
|
|
45
46
|
}
|
|
47
|
+
this.after(this.#endMarker);
|
|
46
48
|
this.#clean();
|
|
47
49
|
const token = new JExpression(this.bind);
|
|
48
50
|
this.dispatchEvent(new JoistValueEvent(token, ({ newValue, oldValue, firstChange }) => {
|
|
@@ -62,12 +64,12 @@ let JoistIfElement = (() => {
|
|
|
62
64
|
const templateToUse = this.#shouldShowIf ? templates[0] : templates[1];
|
|
63
65
|
if (templateToUse) {
|
|
64
66
|
const content = document.importNode(templateToUse.content, true);
|
|
65
|
-
this.
|
|
67
|
+
this.after(content);
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
#clean() {
|
|
69
|
-
while (
|
|
70
|
-
this.
|
|
71
|
+
while (this.nextSibling !== this.#endMarker) {
|
|
72
|
+
this.nextSibling?.remove();
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
disconnectedCallback() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"if.element.js","sourceRoot":"","sources":["../../../src/lib/elements/if.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"if.element.js","sourceRoot":"","sources":["../../../src/lib/elements/if.element.ts"],"names":[],"mappings":"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"}
|