Skip to main content

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:

  1. Create a new folder under src/ with the component name
  2. Include the following files:
    • ComponentName.tsx - Main component
    • ComponentName.styles.ts - Styled components
    • ComponentName.spec.tsx - Tests
  3. Export the component from src/index.ts

Design System Guidelines

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.