Vlossom
MCP server for Vlossom UI component library
Ask AI about Vlossom
Powered by Claude Β· Grounded in docs
I know everything about Vlossom. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Vlossom
A vibrant and versatile Vue 3 UI library designed to blossom your web applications with elegance and ease.
[!NOTE] You are on the
v2project. Check out the v1 project for Vlossomv1.
Both versions will be maintained in parallel.
- Various Color Schemes β Easily style any component with a single prop
- Layered Style Sets β Global, named, or per-instance style overrides via CSS variables
- Overlay System β Modal, Toast, Confirm as plugins with full app context inheritance
- Declarative Responsive β Breakpoint objects instead of media queries
- Async Validation β Sync and async rules with built-in defaults per component
- Dark / Light Theme β One-line global toggle, auto-persisted
Quick Start
# Install
npm install vlossom
# or
pnpm add vlossom
[!TIP] Vlossom supports per-component tree shaking.
See VLOSSOM_USAGE_GUIDE.md.
// main.ts
import { createApp } from "vue";
import App from "./App.vue";
import { createVlossom, VlossomComponents } from "vlossom";
import "vlossom/styles";
const app = createApp(App);
app.use(
createVlossom({
components: VlossomComponents,
}),
);
app.mount("#app");
<template>
<vs-button primary>Hello Vlossom</vs-button>
</template>
<script setup lang="ts">
// Components are globally registered via createVlossom β no import needed
</script>
Component Overview
Layout
| Component | Description |
|---|---|
| vs-container | Responsive content container |
| vs-grid | Grid layout system |
| vs-layout | Page layout with header, footer, and content |
| vs-page | Full page wrapper |
| vs-responsive | Responsive breakpoint wrapper |
| vs-block | Block-level section wrapper |
| vs-header | Page header |
| vs-footer | Page footer |
Form
| Component | Description |
|---|---|
| vs-input | Text input field |
| vs-textarea | Multi-line text input |
| vs-checkbox | Checkbox and checkbox set |
| vs-radio | Radio button and radio set |
| vs-select | Dropdown select |
| vs-switch | Toggle switch |
| vs-toggle | Toggle button |
| vs-file-drop | Drag and drop file upload |
| vs-search-input | Search input with suggestions |
| vs-form | Form wrapper with validation |
| vs-input-wrapper | Input label and message wrapper |
Display
| Component | Description |
|---|---|
| vs-accordion | Collapsible content panel |
| vs-avatar | User avatar |
| vs-bar | Horizontal bar |
| vs-chip | Compact label chip |
| vs-divider | Visual divider line |
| vs-expandable | Expandable section |
| vs-grouped-list | Grouped list of items |
| vs-image | Image with fallback |
| vs-label-value | Label-value pair display |
| vs-skeleton | Loading skeleton placeholder |
| vs-text-wrap | Text with overflow handling |
Feedback
| Component | Description |
|---|---|
| vs-loading | Loading spinner |
| vs-message | Inline message banner |
| vs-modal | Modal dialog |
| vs-drawer | Slide-in drawer panel |
| vs-dimmed | Dimmed overlay |
| vs-progress | Progress bar |
| vs-toast | Toast notification |
Navigation
| Component | Description |
|---|---|
| vs-tabs | Tab navigation |
| vs-pagination | Page pagination |
| vs-steps | Step indicator |
| vs-index-view | Index-based view switcher |
Utility
| Component | Description |
|---|---|
| vs-floating | Floating positioned element |
| vs-focus-trap | Focus trap for accessibility |
| vs-inner-scroll | Inner scrollable area |
| vs-render | Conditional renderer |
| vs-visible-render | Visibility-based renderer |
| vs-theme-button | Dark/light theme toggle |
| vs-tooltip | Tooltip popup |
Links
Contributing
See CONTRIBUTING.md for development setup, commit conventions, and PR guidelines.
Project Structure
vlossom/
βββ packages/vlossom/ # Main library package
β βββ src/
β βββ components/ # UI components
β βββ composables/ # Shared composables
β βββ framework/ # Plugin & overlay system
β βββ icons/ # Icon definitions
β βββ plugins/ # Toast, Modal, Confirm plugins
β βββ props/ # Shared prop definitions
β βββ stores/ # State management
β βββ styles/ # Global styles
β βββ utils/ # Utility functions
βββ .github/ # GitHub templates & workflows
βββ release-please-config.json # Release automation
Component Structure
Each component follows this directory pattern:
vs-[name]/
βββ Vs[Name].vue # Main component
βββ Vs[Name].css # Styles
βββ types.ts # TypeScript types
βββ README.md # Documentation
βββ __tests__/
β βββ vs-[name].test.ts # Unit tests
βββ __stories__/
βββ vs-[name].stories.ts # Storybook stories
βββ vs-[name].chromatic.stories.ts # Visual regression tests
For complex components, you may also include:
vs-[name]-rules.tsβ validation rulesicons.tsβ component-specific iconscomposables/β component-specific composables
Releasing
Releases are automated via release-please. When a feat, fix, or chore commit is pushed to main:
- release-please creates a release PR with version bump and changelog
- Merging the release PR triggers npm publish automatically
Credits
- Pretendard - Default font (SIL Open Font License 1.1)
