///
The Aruuri platform is built on a robust and meticulously crafted design system, ensuring consistency, accessibility, and an exceptional user experience across all its interfaces. This system integrat
90 views
~90 views from guests
Guest views are estimated from total page views. These include anonymous visitors and users who weren't logged in when they viewed the page.
The Aruuri platform is built on a robust and meticulously crafted design system, ensuring consistency, accessibility, and an exceptional user experience across all its interfaces. This system integrates design principles and technical implementation into a cohesive workflow, centralizing design decisions from visual elements to interactive components.
Our design system adheres to fundamental principles that guide every aspect of its development:
px values directly in components; all styling uses CSS variables derived from tokens.Button variant=primary size=md) precisely match their corresponding code props (e.g., <Button variant="primary" size="md" />). This reduces cognitive load for developers and ensures a seamless translation from design mockups to functional code.The heart of Aruuri's visual consistency lies in its design tokens. These are the atomic units of our design system, representing styling values like colors, typography, spacing, and more.
The workflow is as follows:
tokens.json Export: These Figma variables are then exported into a tokens.json file.tokens.json file is processed by Style Dictionary↗, configured via packages/design-tokens/config.js. This configuration leverages @tokens-studio/sd-transforms to expand composite tokens (like typography and shadow) and apply consistent naming conventions (e.g., kebab-case for CSS variables, camel-case for JavaScript).tokens.css file (packages/design-tokens/src/index.ts) containing CSS variables (--colors-primary-500, --font-families-inter-tight, etc.). These variables are then consumed directly by our UI components and Tailwind CSS.This process ensures that any change in Figma is systematically propagated through the design tokens to the entire application, maintaining a single, consistent design language.
Aruuri's UI component strategy combines powerful, accessible primitives with a flexible theming and styling approach:
src/components/ui/): These are flat, highly reusable components that wrap Radix primitives and apply Aruuri's specific styling using Tailwind CSS and CVA. They are designed for direct import and composition.Button with variant="primary" or size="sm"). This allows for type-safe and consistent application of styles based on component props, aligning perfectly with our 1:1 naming principle.apps/web/tailwind.config.ts, integrates Aruuri's design tokens directly, ensuring that all Tailwind classes leverage our CSS variables for colors, spacing, and typography. This approach enables rapid UI development while adhering to the design system.Storybook v9↗ serves as the primary workbench for developing, documenting, and testing our UI components.
apps/web/stories/alert.stories.tsx, apps/web/stories/button.stories.tsx). This provides a living style guide and reference for both designers and developers.This comprehensive approach to design and development ensures that Aruuri's user interface is not only visually appealing but also robust, maintainable, and accessible for all users.