Skip to content

Commit 9a508c5

Browse files
fix(contracts): inherit converter fallback refs
1 parent 47a54e2 commit 9a508c5

2 files changed

Lines changed: 23 additions & 1 deletion

File tree

packages/layout-engine/contracts/src/header-footer-inheritance.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ export function resolveInheritedHeaderFooterRefWithType({
6666
const inherited = resolveVariantRef(sectionMap.get(index), variantType);
6767
if (inherited) return inherited;
6868
}
69-
return null;
7069
}
7170

7271
return resolveVariantRef(legacyIds, variantType);

packages/layout-engine/layout-bridge/test/headerFooterUtils.test.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,5 +1027,28 @@ describe('headerFooterUtils', () => {
10271027
expect(resolved?.type).toBe('default');
10281028
expect(resolved?.contentId).toBe('converter-default');
10291029
});
1030+
1031+
it('inherits converter fallback refs into later sections with partial refs', () => {
1032+
const identifier = buildMultiSectionIdentifier(
1033+
[{ sectionIndex: 0 }, { sectionIndex: 1, headerRefs: { even: 'section-1-even' } }],
1034+
undefined,
1035+
{ headerIds: { default: 'converter-default' } },
1036+
);
1037+
const layout: Layout = {
1038+
pageSize: { w: 600, h: 800 },
1039+
pages: [
1040+
{ number: 1, fragments: [], sectionIndex: 0 },
1041+
{ number: 2, fragments: [], sectionIndex: 1, sectionRefs: { headerRefs: { even: 'section-1-even' } } },
1042+
],
1043+
headerFooter: {
1044+
default: { pages: [{ number: 2, fragments: [] }] },
1045+
},
1046+
};
1047+
1048+
const resolved = resolveHeaderFooterForPageAndSection(layout, 1, identifier, { kind: 'header' });
1049+
1050+
expect(resolved?.type).toBe('default');
1051+
expect(resolved?.contentId).toBe('converter-default');
1052+
});
10301053
});
10311054
});

0 commit comments

Comments
 (0)