This commit is contained in:
@@ -69,7 +69,7 @@ const trunkLength = (initialVisibleObjects.findLastIndex((object) => object.dept
|
||||
<defs><mask id="trunk-growth-mask" maskUnits="userSpaceOnUse" x={-stemWidth} y="0" width={stemWidth * 2} height="10000" mask-type="alpha"><rect class="trunk-reveal" x={-stemWidth} y="0" width={stemWidth * 2} height={trunkLength} fill="white" /></mask></defs>
|
||||
<g mask="url(#trunk-growth-mask)"><path class="trunk-line" d={trunkPath} transform={`scale(1 ${trunkLength})`} /></g>
|
||||
</g>
|
||||
</svg> : <><span class="node-label">{object.name}</span>{children.length > 0 && <span class="node-indicator" aria-hidden="true">{collapsed.has(object.path) ? '+' : '−'}</span>}<span class="node-summary">{object.title ?? object.description}</span></>}
|
||||
</svg> : <><span class="node-label">{object.name}</span>{children.length > 0 && <span class="node-indicator" aria-hidden="true">{collapsed.has(object.path) ? '+' : '−'}</span>}</>}
|
||||
</button>
|
||||
{root && <span class="root-caption" data-reveal>wip / field-guide</span>}
|
||||
</div>;
|
||||
|
||||
@@ -39,7 +39,6 @@ html[data-landing] .landing-page .site-header { opacity: 0; }
|
||||
.tree-viewport { height: calc(28 * var(--row)); overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
|
||||
html[data-landing] .tree-viewport { overflow: visible; }
|
||||
.tree-help { margin: var(--row) 0 0; color: var(--muted); }
|
||||
.node-summary { max-width: 40ch; overflow: hidden; text-overflow: ellipsis; font-size: 12px; color: var(--muted); }
|
||||
.demo-tree { width: max-content; min-width: 100%; }
|
||||
.node-row { width: max-content; min-width: 100%; }
|
||||
.tree-caption { display: flex; justify-content: space-between; gap: 2ch; color: var(--muted); height: var(--row); margin: 0; white-space: nowrap; }
|
||||
|
||||
@@ -617,6 +617,10 @@ test('expand/collapse all preserves visible selection and rehomes hidden selecti
|
||||
await expand.click();
|
||||
await expect(page.getByRole('treeitem')).toHaveCount(42);
|
||||
await expect(page.locator('[data-tree-count]')).toHaveText('42 / 42 objects');
|
||||
const labelsOnly = await page.locator('.demo-node:not(.root-mark)').evaluateAll((nodes) => nodes.every((node) =>
|
||||
node.textContent === node.querySelector('.node-label')!.textContent + (node.querySelector('.node-indicator')?.textContent ?? '')
|
||||
));
|
||||
expect(labelsOnly).toBe(true);
|
||||
await expect(page.locator('.demo-node:not([aria-expanded])')).toHaveCount(26);
|
||||
await expect(nodeAt(page, initialPath)).toHaveAttribute('aria-selected', 'true');
|
||||
await checkGlyphRefs(page);
|
||||
|
||||
Reference in New Issue
Block a user