feat(p33): ship org-chart block with pan/zoom and tree a11y - #51
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Spike gate (batch A) passed: elk layered handles dual managers and dotted lines, 1000 nodes lay out in ~170 ms in a worker, and elk ships only in the worker chunk. Spike page removed; findings live in ADR-0002. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
layoutOrg() turns people + solid/dotted reporting lines into plain coordinates via elk layered with orthogonal routing. Solid and dotted edges use separate fixed ports so dotted lines never ride the solid bus. Bad edges (unknown nodes, self-loops, solid reporting cycles) are dropped with a warning. elk runs in a worker in apps; tests use the bundled build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…value Both broke compilation in a consumer app after `sanring add`. Found by type-checking the registry in its installed layout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocks import siblings relatively ('../card'), which only resolves after
`sanring add` flattens components, blocks and shared into one folder.
stage-registry.mjs reproduces that layout under apps/docs/src (gitignored)
on postinstall and before start/build/test, so `ng build docs` now
type-checks every registry component and block, and the blocks page can
render live previews.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OrgChartComponent lays out people/links through a resource() backed by the worker engine, draws cards as positioned buttons and connectors as an SVG overlay, and covers loading, empty and error states. The previous layout stays on screen while a new one is computed. The docs blocks page renders a live preview from the staged registry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Surface block templates (including org-chart) with fragment links so the docs shell matches the /blocks page. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Author
|
Docs: blocks are now separate pages ( |
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sanring add block/org-chart: elkjs worker layout, HTML cards + SVG orthogonal edges, dual managers / dotted-line reporting.treefor keyboard selection (sync + focus card), docs notes for EPL-2.0 / worker size /allowedCommonJsDependencies.registry.json(elkjspeer), Playwright + axe coverage, CLI dry-run asserts elkjs install, minor changeset.Test plan
pnpm start→/blocks#org-chartshows chart + tree; Fit / ± work; tree click focuses cardpnpm ng test docs --include='**/org-chart-layout.spec.ts' --watch=falsepnpm --filter @sanring/cli test -- src/commands/add.test.tspnpm test:e2e:docs -- org-chart.spec.ts(or full docs e2e)