@sysifosweb/ui
Reusable UI component library for Nuxt projects by SysifosWeb
| Install | |
|---|---|
npm install @sysifosweb/ui |
|
| Latest Version: | 0.2.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 15, 2026 |
| Links: | npm |
Maintainer: sysifosweb
Sysifos UI
Reusable UI component library for Nuxt projects by SysifosWeb.
No Tailwind CSS required for consumers. Pure CSS design tokens.
Installation
npm install @sysifosweb/ui
Add to your Nuxt config:
export default defineNuxtConfig({
modules: ['@sysifosweb/ui']
})
That's it. No Tailwind, no plugins, no extra configuration.
Components (40)
Base
SuiAccordion— Collapsible accordionSuiAlert— Inline alert / messageSuiAvatar— User avatar with fallbackSuiBadge— Status indicatorSuiBreadcrumbs— Breadcrumb navigationSuiButton— Button with variants (primary, secondary, outline, ghost, destructive)SuiCard— Container with optional hover effectsSuiDivider— Horizontal / vertical dividerSuiEmptyState— Empty state placeholderSuiInput— Text input with error statesSuiModal— Dialog with overlay and animationsSuiSelect— Dropdown selectorSuiSkeleton— Loading skeletonSuiTabs— Tabbed panelsSuiTextarea— Multi-line text input
Layout
SuiContainer— Responsive containerSuiFloatingBar— Floating action bar (fixed/static)SuiFooter— Footer (default/company variants)SuiFooterCompact— Compact footer variantSuiFooterMap— Footer with embedded mapSuiFooterNewsletter— Footer with newsletter signupSuiHero— Hero sectionSuiNavbar— Navigation bar (fixed/static)SuiPageHeader— Page headerSuiSection— Page section wrapper
Carousel
SuiCarousel— Image gallery (default/hero variants)SuiLogoCarousel— Infinite logo loopSuiMarquee— CSS-based scrollingSuiThumbnailCarousel— Thumbnail navigationSuiVerticalThumbnailCarousel— Vertical thumbnails
Content
SuiSectionHeader— Section title/subtitleSuiContactForm— Contact formSuiServiceCard— Service displaySuiBlogCard— Blog post cardSuiCtaBanner— Call-to-actionSuiSearchBar— Search inputSuiErrorPage— 404/500 error pageSuiLoginForm— Login formSuiRegisterForm— Registration formSuiForgotPasswordForm— Password recovery form
Usage
<template>
<SuiContainer>
<SuiButton variant="primary">Click me</SuiButton>
<SuiInput v-model="email" placeholder="Email" />
<SuiCard>
<p>Card content</p>
</SuiCard>
</SuiContainer>
</template>
Design Tokens
Customize the look by overriding CSS variables:
:root {
--ui-primary: #2563eb;
--ui-primary-foreground: #ffffff;
--ui-secondary: #64748b;
--ui-background: #ffffff;
--ui-foreground: #000000;
--ui-radius-md: 0.5rem;
/* ... */
}
Components use --ui-* tokens, so changing the theme is independent of component logic.
Props Reference
SuiButton
| Prop | Type | Default | Description |
|---|---|---|---|
| variant | 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' |
'primary' |
Button style |
| size | 'sm' | 'md' | 'lg' |
'md' |
Button size |
| loading | boolean |
false |
Show spinner |
| disabled | boolean |
false |
Disable button |
SuiInput
| Prop | Type | Default | Description |
|---|---|---|---|
| modelValue | string |
— | v-model binding |
| placeholder | string |
— | Placeholder text |
| error | boolean |
false |
Error state |
| disabled | boolean |
false |
Disabled state |
SuiCarousel
| Prop | Type | Default | Description |
|---|---|---|---|
| images | Array<{src, title?, description?, alt?}> |
[] |
Slide images |
| itemsPerSlide | number |
3 |
Items visible (desktop) |
| mobileItemsPerSlide | number |
1 |
Items visible (mobile) |
| autoplay | boolean |
true |
Auto-advance |
| autoplayInterval | number |
5000 |
Interval in ms |
| showArrows | boolean |
true |
Navigation arrows |
| showDots | boolean |
true |
Page indicators |
| variant | 'default' | 'hero' |
'default' |
Carousel style |
Development
npm run dev # Start playground
npm run build # Build library
npm run build:playground # Build playground
npm run lint # Lint
npm run typecheck # Type check
Architecture
sysifosweb-ui/
├── src/
│ ├── module.ts # Nuxt module entry
│ └── runtime/
│ ├── assets/css/ # Design tokens (main.css)
│ ├── components/ # Vue components
│ ├── composables/ # Vue composables
│ ├── types/ # TypeScript types
│ └── utils/ # Utilities
├── playground/ # Dev playground (not published)
├── dist/ # Built output (published)
└── package.json
License
MIT
SysifosWeb — Build once. Reuse everywhere.
Related Packages
@shuriken-ui/nuxt
54,146
172
@shuriken-ui/tailwind
44,368
53
@cssninja/nuxt-ui
🖌️ A beautiful, customizable, and simple to use component library with Tailwind...
2,985
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.2.0 | ^3.0.0 | MIT | |
| 0.1.0 | ^3.0.0 | MIT |