Proto-UI/Proto-UI
[shadcn] Project Base Scroll Area into the shadcn design language
オープン
#380 opened on 2026/08/13
F5 - Largearea: prototypeshelp wanted
Repository metrics
- Stars
- (29 個のスター)
- PR merge metrics
- (PR metrics pending)
説明
Classification
- Ledger: shadcn design-language projection
- Base owners:
P-BASE-SCROLL-AREA,P-BASE-SCROLL-AREA-VIEWPORT,P-BASE-SCROLL-AREA-SCROLLBAR,P-BASE-SCROLL-AREA-THUMB(status: draft) - New Base protocol: none
Goal
Project the current merged host-mediated Base Scroll Area family into @proto.ui/prototypes-shadcn without creating a second scrolling or movement engine.
Contract boundary
- Base owns the logical Scroll surface, Viewport attachment, Scroll/Move facts and requests, system/composed projection choice, and bounded control leases.
- The shadcn projection owns only visible Root/Viewport/Scrollbar/Thumb structure and design tokens.
- The frozen 2026-08-13 shadcn component is comparison evidence; Web DOM scrollbar details do not become portable guarantees.
Delivery surface
packages/prototypes/shadcn/src/scroll-area/P-SHADCN-SCROLL-AREA,P-SHADCN-SCROLL-AREA-VIEWPORT,P-SHADCN-SCROLL-AREA-SCROLLBAR, andP-SHADCN-SCROLL-AREA-THUMB- exact package/root exports and public CLI registry projection
packages/prototypes/shadcn/test/scroll-area.test.ts- EN/ZH docs at
apps/www/src/content/docs/{en,zh-cn}/ui-libraries/shadcn/scroll-area.mdx - real demo
apps/www/src/content/docs/zh-cn/demo-shadcn-scroll-area.demo.ts - preview registry, component preset/token closure, and generated Agent projection
Acceptance criteria
- Root, Viewport, Scrollbar, and Thumb consume the Base family without duplicating Scroll or Move state.
- Both system and composed projection boundaries remain valid.
- Directional track/thumb geometry, disabled/passive behavior, and teardown have executable evidence.
- Exact exports and absence of host-specific public scrollbar APIs are asserted.
- Docs distinguish portable Base facts from shadcn/Web presentation.
- The real package export renders through Web Component, React, and Vue previews.
- Focused tests, catalog, preset/token, types, docs, and proportional workspace checks pass.
Out of scope
- A new scroll engine, virtualizer, carousel, or list protocol.
- Changes to Scroll, Move Gesture, or host-capability contracts.
- Treating native CSS/DOM scrollbar APIs as cross-host props.