@jay-framework/compiler-jay-html 0.17.3 → 0.17.4

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 (2) hide show
  1. package/dist/index.js +35 -4
  2. package/package.json +9 -9
package/dist/index.js CHANGED
@@ -14210,7 +14210,7 @@ function renderReferenceManager(refs, target) {
14210
14210
  childRenderedRefManagers.push(rendered);
14211
14211
  });
14212
14212
  const childRefManager = childRefManagerMembers.length > 0 ? `, {
14213
- ${childRefManagerMembers.join(",\n")}
14213
+ ${childRefManagerMembers.join(",\n")}
14214
14214
  }` : "";
14215
14215
  const renderedRefManager = ` const [${name}, [${refVariables}]] =
14216
14216
  ${referenceManagerInit}(${options}[${elemRefsDeclarations}], [${elemCollectionRefsDeclarations}], [${compRefsDeclarations}], [${compCollectionRefsDeclarations}]${childRefManager});`;
@@ -14553,6 +14553,34 @@ function buildContractRefMap(refsTree) {
14553
14553
  walk(refsTree);
14554
14554
  return result;
14555
14555
  }
14556
+ function mergeContractStubRefs(templateRefs, contractRefs) {
14557
+ const templateRefNames = new Set(templateRefs.refs.map((r) => camelCase(r.ref)));
14558
+ const stubRefs = [];
14559
+ for (const contractRef of contractRefs.refs) {
14560
+ if (!templateRefNames.has(camelCase(contractRef.ref))) {
14561
+ stubRefs.push(
14562
+ mkRef(
14563
+ contractRef.originalName,
14564
+ contractRef.originalName,
14565
+ camelCase(`ref ${contractRef.originalName}`),
14566
+ contractRef.repeated,
14567
+ true,
14568
+ contractRef.viewStateType,
14569
+ contractRef.elementType
14570
+ )
14571
+ );
14572
+ }
14573
+ }
14574
+ if (stubRefs.length === 0)
14575
+ return templateRefs;
14576
+ return mkRefsTree(
14577
+ [...templateRefs.refs, ...stubRefs],
14578
+ templateRefs.children,
14579
+ templateRefs.repeated,
14580
+ templateRefs.imported?.refsTypeName,
14581
+ templateRefs.imported?.repeatedRefsTypeName
14582
+ );
14583
+ }
14556
14584
  const COORD_ATTR = "jay-coordinate-base";
14557
14585
  function expandContractType(renderedElement, baseName) {
14558
14586
  const contractPattern = new RegExp(
@@ -20068,8 +20096,9 @@ ${adoptChildIndent.firstLine}])`,
20068
20096
  adoptChildren.refs
20069
20097
  );
20070
20098
  }
20099
+ const adoptMergedRefs = mergeContractStubRefs(adoptInlineBody.refs, headlessImport.refs);
20071
20100
  const { renderedRefsManager, refsManagerImport } = renderReferenceManager(
20072
- adoptInlineBody.refs,
20101
+ adoptMergedRefs,
20073
20102
  ReferenceManagerTarget.element
20074
20103
  );
20075
20104
  const adoptRenderFnCode = `
@@ -20145,7 +20174,8 @@ ${createRenderedChildren.rendered}
20145
20174
  } else {
20146
20175
  createInlineBody = createRenderedChildren;
20147
20176
  }
20148
- const { renderedRefsManager: createRefsManager, refsManagerImport: createRefsImport } = renderReferenceManager(createInlineBody.refs, ReferenceManagerTarget.element);
20177
+ const createMergedRefs = mergeContractStubRefs(createInlineBody.refs, headlessImport.refs);
20178
+ const { renderedRefsManager: createRefsManager, refsManagerImport: createRefsImport } = renderReferenceManager(createMergedRefs, ReferenceManagerTarget.element);
20149
20179
  createRenderFnCode = `
20150
20180
  function ${createRenderFnName}(options?: RenderElementOptions): ${preRenderType} {
20151
20181
  ${createRefsManager}
@@ -21033,8 +21063,9 @@ ${renderedChildren.rendered}
21033
21063
  inlineBody = renderedChildren;
21034
21064
  }
21035
21065
  }
21066
+ const mergedRefs = mergeContractStubRefs(inlineBody.refs, headlessImport.refs);
21036
21067
  const { renderedRefsManager, refsManagerImport } = renderReferenceManager(
21037
- inlineBody.refs,
21068
+ mergedRefs,
21038
21069
  ReferenceManagerTarget.element
21039
21070
  );
21040
21071
  const explicitRef = htmlElement.attributes.ref;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jay-framework/compiler-jay-html",
3
- "version": "0.17.3",
3
+ "version": "0.17.4",
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.17.3",
38
- "@jay-framework/compiler-shared": "^0.17.3",
39
- "@jay-framework/component": "^0.17.3",
40
- "@jay-framework/logger": "^0.17.3",
41
- "@jay-framework/runtime": "^0.17.3",
42
- "@jay-framework/secure": "^0.17.3",
37
+ "@jay-framework/compiler-analyze-exported-types": "^0.17.4",
38
+ "@jay-framework/compiler-shared": "^0.17.4",
39
+ "@jay-framework/component": "^0.17.4",
40
+ "@jay-framework/logger": "^0.17.4",
41
+ "@jay-framework/runtime": "^0.17.4",
42
+ "@jay-framework/secure": "^0.17.4",
43
43
  "@types/js-yaml": "^4.0.9",
44
44
  "change-case": "^4.1.2",
45
45
  "he": "^1.2.0",
@@ -52,8 +52,8 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@caiogondim/strip-margin": "^1.0.0",
55
- "@jay-framework/4-react": "^0.17.3",
56
- "@jay-framework/dev-environment": "^0.17.3",
55
+ "@jay-framework/4-react": "^0.17.4",
56
+ "@jay-framework/dev-environment": "^0.17.4",
57
57
  "@testing-library/jest-dom": "^6.2.0",
58
58
  "@types/js-beautify": "^1",
59
59
  "@types/node": "^20.11.5",