import {areArraysEqual} from '/common/arrays.js'; function parseNumber(value) { const num = parseInt(value.toString()); if (isNaN(num)) return 0; return num; } registerLayout('test', class { static get inputProperties() { return [ '--edges-inline-start-expected', '--edges-inline-end-expected', '--edges-block-start-expected', '--edges-block-end-expected', ]; } async intrinsicSizes() {} async layout(children, edges, constraints, styleMap) { const actual = this.constructor.inputProperties.map( prop => parseNumber(styleMap.get(prop)) ); const expected = [ edges.inlineStart, edges.inlineEnd, edges.blockStart, edges.blockEnd, ]; if (!areArraysEqual(expected, actual)) { return {autoBlockSize: 0, childFragments: []}; } return {autoBlockSize: 100, childFragment: []}; } });