Enterprise-Grade Design System for ITDO applications.
- π¨ Design Tokens: Consistent colors, typography, spacing, and shadows
- π§© Component Library: Pre-built React components (Button, Card, Input, etc.)
- π Storybook: Interactive component documentation
- π― TypeScript: Full type safety and IntelliSense support
- π± Responsive: Mobile-first design approach
- βΏ Accessible: WCAG 2.1 AA compliant components
npm install# Run demo application
npm run dev
# Run Storybook
npm run storybook# Build library
npm run build:lib
# Build Storybook
npm run build-storybookThis repository uses Changesets for SemVer and CHANGELOG generation.
npm run changeset
npm run version-packagesPublishing is triggered by a GitHub Release (published) via Trusted Publishing (OIDC).
- Run Changesets and push the version bump to
main. - Create a GitHub Release with a
vX.Y.Ztag. - The
Publish to npm (OIDC)workflow runsnpm publish --provenance --access public.
Prerequisite: configure the npm package as a Trusted Publisher for this repository and workflow.
Base tokens and component styles are bundled into dist/styles.css. If your bundler does not
include CSS side effects automatically, import @itdojp/design-system/styles.css.
itdo-design-system/
βββ src/
β βββ components/ # React components
β βββ tokens/ # Design tokens
β βββ styles/ # Global styles
β βββ types/ # TypeScript types
β βββ utils/ # Utility functions
β βββ hooks/ # Custom React hooks
βββ demo/ # Demo application
βββ .storybook/ # Storybook configuration
βββ docs/ # Documentation
- Consistency: Unified experience across all products
- Accessibility: WCAG 2.1 AA compliant
- Efficiency: Optimized workflows for business users
- Scalability: Modular and extensible architecture
- Beauty: Modern and visually appealing
Tokens are organized into two layers.
- Primitive: Raw values such as
colors,spacing,typography,shadows,radius - Semantic: UI meaning such as
text,background,border,status,action,focus
CSS variables follow the same naming scheme, for example --color-primary-500 (primitive) and
--color-text-primary (semantic). Density can be adjusted via data-density="compact|comfortable"
on :root.
The primary brand color is Orange (#f97316), representing energy, creativity, and innovation.
MIT