docs(storybook): make Expanded OrgChart a preview-only page
Deploy Storybook / deploy (push) Successful in 59s

Remove the data, layout, interaction and employee-popup setting panels
from the Expanded OrgChart Story. The chart now renders a fixed sample
(7 companies x 20, TB, all expanded, collapse/zoom/pan on, Drag & Drop
off, HM Dialog) right under the page title. Story ID, OrgChart packages
and public API are unchanged.

Align the Story browser checks (P7, P8, P9, P9.2-P9.5, geometry, popup
parity, hierarchy, HM Story) with the preview: setting-only scenarios
are removed, chart rendering, collapse, Zoom/Pan/Fit and HM Dialog checks
run on the fixed state. Move/Drag & Drop coverage stays in the Vanilla
Core checks (verify-p9-3-core, verify-p9-4-core).

Verified: tsc, test:guard 94/94, node --check on 11 scripts, changed
browser sections PASS. Pre-existing P7 story-menu, P8 Department
long-name, P9 Expanded tb/runner failures remain separate issues.
verify-p9-5-popup-parity was not run (needs the Vanilla example server).
This commit is contained in:
shkim4 committed 2026-10-22 17:51:21 +09:00
1 parent 4a54cfbeb2
commit f4ddd5ac4b
14 files changed
+163 -1134

No files matched your search

+2 -12
View File
@@ -35,18 +35,8 @@ try {
await page.screenshot({ path: path.join(evidence, 'storybook-expanded-hm.png') });
await page.keyboard.press('Escape'); await hm.waitFor({ state: 'hidden' });
assert.equal(await card.evaluate(e => e.getRootNode().activeElement === e), true);
const trigger = page.getByRole('combobox', { name: '직원 정보 팝업' });
await trigger.click(); await page.getByRole('option', { name: 'Core 기본 팝업', exact: true }).click();
// Wait for Radix's exiting Select portal/focus restoration before opening
// another modal with the keyboard. External consumers have no Select here.
await page.getByRole('listbox').waitFor({ state: 'detached' });
await page.evaluate(() => new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(resolve))));
await card.focus(); await page.keyboard.press('Enter');
await core.waitFor({ state: 'visible' });
assert.equal(await hm.count(), 0);
assert.equal(await core.evaluate(e => e.contains(e.getRootNode().activeElement)), true, 'Core modal receives focus after Select closes');
await page.keyboard.press('Escape'); await core.waitFor({ state: 'hidden' });
results.push({ story: id, status: 'PASS', checks: ['Existing default HM Dialog', 'Escape and focus restoration', 'Existing selector switches to Core popup'] });
// Expanded is preview-only (2026-10-22): no popup selector. Core popup stays covered by Fixed below.
results.push({ story: id, status: 'PASS', checks: ['Existing default HM Dialog', 'Escape and focus restoration'] });
} else {
await core.waitFor({ state: 'visible' }); assert.equal(await hm.count(), 0);
await page.screenshot({ path: path.join(evidence, 'storybook-fixed-core.png') });