@jay-framework/compiler-jay-html 0.15.2 → 0.15.3
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/dist/index.js +26 -4
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -20554,9 +20554,25 @@ ${context.indent.firstLine} ${createBody})`,
|
|
|
20554
20554
|
itemChildNodes.map((child) => renderHydrateNode(child, itemContext)),
|
|
20555
20555
|
",\n"
|
|
20556
20556
|
);
|
|
20557
|
-
const
|
|
20557
|
+
const itemRenderCtx = buildRenderContext(itemContext);
|
|
20558
|
+
const itemAttrs = renderDynamicAttributes(element, itemRenderCtx);
|
|
20559
|
+
const itemHasDynamicAttrs = itemAttrs.imports.has(Import.dynamicAttribute) || itemAttrs.imports.has(Import.dynamicProperty) || itemAttrs.imports.has(Import.booleanAttribute);
|
|
20560
|
+
const itemRefFragment = renderElementRef$1(element, itemRenderCtx);
|
|
20561
|
+
const needsItemAdoption = itemHasDynamicAttrs || !!itemRefFragment.rendered.trim();
|
|
20562
|
+
let adoptBody;
|
|
20563
|
+
if (needsItemAdoption) {
|
|
20564
|
+
const refSuffix = itemRefFragment.rendered ? `, ${itemRefFragment.rendered}` : "";
|
|
20565
|
+
const childrenArr = itemContent.rendered.trim() ? `[
|
|
20566
|
+
${itemContent.rendered},
|
|
20567
|
+
${indent.firstLine} ]` : "[]";
|
|
20568
|
+
adoptBody = `() => [
|
|
20569
|
+
${indent.firstLine} adoptElement("", ${itemAttrs.rendered}, ${childrenArr}${refSuffix}),
|
|
20570
|
+
${indent.firstLine} ]`;
|
|
20571
|
+
} else {
|
|
20572
|
+
adoptBody = itemContent.rendered.trim() ? `() => [
|
|
20558
20573
|
${itemContent.rendered},
|
|
20559
20574
|
${indent.firstLine} ]` : "() => []";
|
|
20575
|
+
}
|
|
20560
20576
|
const createRenderContext = {
|
|
20561
20577
|
...renderContext,
|
|
20562
20578
|
variables: forEachVariables,
|
|
@@ -20585,21 +20601,27 @@ ${indent.firstLine} ]` : "() => []";
|
|
|
20585
20601
|
);
|
|
20586
20602
|
const forEachElementFunc = forEachNeedsDynamic ? "de" : "e";
|
|
20587
20603
|
const forEachElementImport = forEachNeedsDynamic ? Import.dynamicElement : Import.element;
|
|
20604
|
+
const createItemRef = renderElementRef$1(element, createRenderContext);
|
|
20605
|
+
const createRefSuffix = createItemRef.rendered ? `, ${createItemRef.rendered}` : "";
|
|
20588
20606
|
const createBody = `(${forEachVariables.currentVar}: ${forEachVariables.currentType.name}) => {
|
|
20589
|
-
${indent.firstLine} return ${forEachElementFunc}('${element.rawTagName}', ${createAttributes.rendered}, [${createChildren.rendered}]);
|
|
20607
|
+
${indent.firstLine} return ${forEachElementFunc}('${element.rawTagName}', ${createAttributes.rendered}, [${createChildren.rendered}]${createRefSuffix});
|
|
20590
20608
|
${indent.firstLine} }`;
|
|
20609
|
+
let allImports = Imports.for(Import.hydrateForEach).plus(forEachElementImport).plus(forEachFragment.imports).plus(itemContent.imports).plus(createChildren.imports).plus(createAttributes.imports).plus(itemAttrs.imports).plus(itemRefFragment.imports).plus(createItemRef.imports);
|
|
20610
|
+
if (needsItemAdoption) {
|
|
20611
|
+
allImports = allImports.plus(Import.adoptElement);
|
|
20612
|
+
}
|
|
20591
20613
|
const hydrateForEachFragment = new RenderFragment(
|
|
20592
20614
|
`${indent.firstLine}hydrateForEach(${forEachFragment.rendered}, '${trackBy}',
|
|
20593
20615
|
${indent.firstLine} ${adoptBody},
|
|
20594
20616
|
${indent.firstLine} ${createBody},
|
|
20595
20617
|
${indent.firstLine})`,
|
|
20596
|
-
|
|
20618
|
+
allImports,
|
|
20597
20619
|
[
|
|
20598
20620
|
...forEachFragment.validations,
|
|
20599
20621
|
...itemContent.validations,
|
|
20600
20622
|
...createChildren.validations
|
|
20601
20623
|
],
|
|
20602
|
-
itemContent.refs
|
|
20624
|
+
mergeRefsTrees(itemContent.refs, itemRefFragment.refs)
|
|
20603
20625
|
);
|
|
20604
20626
|
return nestRefs(forEachAccessor.terms, hydrateForEachFragment);
|
|
20605
20627
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jay-framework/compiler-jay-html",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
},
|
|
35
35
|
"author": "",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@jay-framework/compiler-analyze-exported-types": "^0.15.
|
|
38
|
-
"@jay-framework/compiler-shared": "^0.15.
|
|
39
|
-
"@jay-framework/component": "^0.15.
|
|
40
|
-
"@jay-framework/logger": "^0.15.
|
|
41
|
-
"@jay-framework/runtime": "^0.15.
|
|
42
|
-
"@jay-framework/secure": "^0.15.
|
|
37
|
+
"@jay-framework/compiler-analyze-exported-types": "^0.15.3",
|
|
38
|
+
"@jay-framework/compiler-shared": "^0.15.3",
|
|
39
|
+
"@jay-framework/component": "^0.15.3",
|
|
40
|
+
"@jay-framework/logger": "^0.15.3",
|
|
41
|
+
"@jay-framework/runtime": "^0.15.3",
|
|
42
|
+
"@jay-framework/secure": "^0.15.3",
|
|
43
43
|
"@types/js-yaml": "^4.0.9",
|
|
44
44
|
"change-case": "^4.1.2",
|
|
45
45
|
"js-yaml": "^4.1.0",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@caiogondim/strip-margin": "^1.0.0",
|
|
54
|
-
"@jay-framework/4-react": "^0.15.
|
|
55
|
-
"@jay-framework/dev-environment": "^0.15.
|
|
54
|
+
"@jay-framework/4-react": "^0.15.3",
|
|
55
|
+
"@jay-framework/dev-environment": "^0.15.3",
|
|
56
56
|
"@testing-library/jest-dom": "^6.2.0",
|
|
57
57
|
"@types/js-beautify": "^1",
|
|
58
58
|
"@types/node": "^20.11.5",
|