Components
A shared package that contains reusable React components used across Rhapsody applications.
Overview
This library provides common UI components that are shared across multiple applications in the Rhapsody monorepo. It uses the Starlight design system tokens and SVG icons to ensure consistency with the overall design language.
Installation
This is a private workspace package. Add it to your app's dependencies:
{
"dependencies": {
"@shared/components": "workspace:*"
}
}
Development
Dependencies
- React 18.2.0
- Styled Components ^5.3.0
- @starlight/svgs ^9.3.1
- @starlight/tokens (catalog)
Testing
Components include comprehensive test coverage using React Testing Library:
pnpm test
Styling
Components use styled-components with Starlight design tokens for consistent theming across the application.
Contributing
When adding new components to this library:
- Create a new folder under
src/with the component name - Include the following files:
ComponentName.tsx- Main componentComponentName.styles.ts- Styled componentsComponentName.spec.tsx- Tests
- Export the component from
src/index.ts
Design System Guidelines
- Use @starlight components and tokens where possible
- Follow the migration guide from @rhythm to @starlight components
- See the Starlight Design System documentation for component usage
Ownership
- Owner: @SalesLoft/lost-in-tabs
- Additional Approvers: @Salesloft/lost-in-tabs
For questions or contributions, reach out to the design system team in #design-system on Slack.