Where Transit's visual system comes from, what Transit owns on top of it, and the accessibility floor every surface keeps.
| Reference | Value |
|---|---|
| Subject and boundary | Shared @yesid/* packages, the ownership split with Transit, and accessibility rules. Package adoption steps are on ‣. |
| Verified source | web package.json, root package.json at main 4fcc6c018081afb456790c019bb948570519a219, checked 2026-11-09; other Transit sources at main f32cd9b1, checked November 7, 2026. Shared files: yesid.design v0.39.1 (af9692c1), checked 2026-11-09; package pins, sections contract and remembered-sections.spec.ts re-checked at main ed25527f and yesid.design v0.40.0 (43bba26a) on 2026-11-10. |
| Support state | All eight packages pin v0.40.0 from yesid-dev/yesid.design in manifests and bun.lock since main 6b5a9c80 (#738, merged 2026-11-10); v0.39.1 came in with #703 (4fcc6c01). Web /health reported 4fcc6c01 on November 9, 2026; physical-device and assistive-technology acceptance remain separate. |
| Package | Provides |
|---|---|
@yesid/tokens |
DTCG design tokens with generated CSS, the Tailwind theme and bundled fonts |
@yesid/ui |
Svelte 5 primitives, brand components, page frames and site shell |
@yesid/motion |
Motion actions, reduced-motion policy, GSAP and Lenis helpers |
@yesid/seo-kit |
JSON-LD, sitemap, robots, share-card, icon and security-header primitives; Transit owns the policy |
@yesid/analytics |
Cookieless Plausible client, URL reduction and web-vitals collection |
@yesid/i18n-core |
Locale routing, copy and Intl helpers used by lib/i18n |
@yesid/gates |
Brand-quality gate engines; Transit owns the policy |
@yesid/config |
Shared TypeScript, Svelte, Turborepo and Playwright configuration (root dev dependency) |
All are installed from release tarball URLs of yesid.design and resolved by bun.lock. Fix shared code upstream, release it there, then adopt the release here in a pull request. Never patch shared code under node_modules. Package declaration, installed build, deployed Worker and owner acceptance are separate evidence.
| Shared design owns | Transit owns |
|---|---|
| Tokens, primitives, motion, metadata helpers, analytics client | Feature composition, data states, copy and domain behavior |
| Visual consistency across sites | Absence, partial, stale and error presentations before a section renders |
| Accessibility of interactions specific to maps, charts, filters and live data |
Selectors turn contract data into typed view models outside markup; reusable primitives only draw the resulting state and never hide metric rules or provider policy. bun run lint:design (from apps/web) checks brand rules in CI.
Playwright runs axe checks in e2e/accessibility.spec.ts. Automated checks supplement physical device and assistive-technology testing; they do not replace it.
EntityDetail uses shared station tabs: weight 700, --primary-foreground ink, token tap height, and a full-strength 3 px hover rule. Transit keeps its tab URLs, focus and content behavior. Sheet receives localized close copy and supplies default animation styles. Transit applies map-specific transit-sheet-in/transit-sheet-out animations in BottomSheet and MapFilterPill, using keyframes owned by app.css. Shared Sheet defaults and Transit's map animations have separate owners.
On pages with at least two eligible content sections and the bulk control, a first visit (no stored choice, or a malformed one) starts every content section expanded, with the bulk control neutral and labelled Collapse all. A stored Collapse all collapses content across pages and visits. The TOC card starts open. The bulk action writes expanded or collapsed to the origin-wide localStorage key sections-choice; that choice applies across pages and visits. Individual section toggles affect the current view without writing the bulk choice. Fragment navigation can open its target section. Section preference, registration and TocNav own this contract.
Controls marked independent, non-content panels and map tools are outside bulk counts and actions. Map rails and detail width have their own remembered tool-layout settings. Transit's browser contract checks that metrics starts expanded, cross-page/reload memory, a seeded Collapse all, independent controls and map use (main ed25527f).
Server HTML contains readable section bodies. The shared boot recovery opens pending section markup on script/runtime failure, unhandled rejection or a five-second initialization stall; incomplete bulk controls are hidden/disabled. The recovery does not overwrite sections-choice. LocalStorage failures are tolerated; durable persistence requires storage access. EN/FR device-storage disclosure is owned by legal.copy.ts.