What problem does it solve?
Building consistent UI components in Remix's packages/ui requires following specific layering rules, runtime patterns, and public API conventions that are easy to get wrong without guidance.
Core Features & Use Cases
- Layered Architecture Guidance: Defines when to use style helpers, headless primitives, styled wrappers, or shared utilities, with composition rules like select composing popover and listbox.
- Runtime and Context Patterns: Documents the two-phase component shape with Handle, context providers with getters and methods, and mixin creation via createMixin.
- Public API Conventions: Covers named exports with namespace imports, bubbling DOM events like SelectChangeEvent, css() styling descriptors, and testing/demo requirements.
- Use Case: When adding a new component like a toggle switch to packages/ui, follow the checklist to place source under src/<name>, wire exports in package.json, write primitive and wrapper tests, and register demos in componentDemoModules.
Quick Start
Use the author-ui-components skill to scaffold a new accordion-style component in packages/ui with primitives, styled wrappers, tests, and docs.