Nova Design System
Astro component library - tokens, accessibility, npm distribution.
Nova Design System started from a simple need: stop rewriting the same buttons, fields and modals from one project to the next. Every component ships with its TypeScript interface, its states (hover, focus, disabled) and isolated SCSS styles.
Distribution happens through npm (public package `@unkn0wndo3s/nova-design-system`), with a pipeline that checks, versions and publishes each release in 10 to 20 seconds. The package ships raw `.astro`/`.scss` sources, compiled on the consumer side.
Next up: progressively adapting NDS to my other projects, including outside the Astro ecosystem - a GPUI/Rust binding is planned for File Organizer.
Highlights
- 29 components exported on npm
- Color / type / spacing / radius tokens, light-dark theme
- npm publish in ~15 s
- Custom license: free to use, monetizing NDS itself prohibited
Interactive tour
The components, one by one.
Act I - Everything starts with tokens.
--nds-primary--nds-accent--nds-success-high--nds-warning-high--nds-error-high--nds-surface--nds-text--nds-neutral--nds-radius-md--nds-radius-full--nds-spacing-md--nds-spacing-xlAa--nds-font-monoAa--nds-font-sansAvatarBadgeBreadcrumbBreadcrumbItemButtonCardCheckboxLinkListItemListItemSubtitleListItemTitleLoadingBarModalNavbarNotificationNumericStepperPaginationPaginationNumberRadioSelectSelectOptionSidebarSidebarItemTabTabContentTabItemTextFieldToggleTooltip
0components
v1.2.1latest npm version
npm install @unkn0wndo3s/nova-design-system