Skip to content

@vibe-labs/design-vue

Umbrella package for the Vibe Design System Vue component library. Re-exports every component, composable, type, and constant from all individual packages.

Installation

ts
// Convenience — import everything from one place
import { VibeButton, VibeModal, VibeTable, toast, useUploadQueue } from "@vibe-labs/design-vue";

// Or import from individual packages for explicit tree-shaking
import { VibeButton } from "@vibe-labs/design-vue-buttons";
import { VibeTable, useTableSort } from "@vibe-labs/design-vue-tables";

When to Use This Package

Use the umbrella when you want convenience and are already pulling in most of the design system — the rollup externals mean there's zero runtime overhead, it's just re-exports.

Use individual packages when you want explicit control over your dependency graph, or when only a few components are needed in a lightweight context.

Included Packages

PackageComponentsComposables
design-vue-avatarsVibeAvatar, VibeAvatarGroupgetInitials
design-vue-badgesVibeBadge, VibeBadgeCount, VibeDot
design-vue-buttonsVibeButton, VibeButtonGroup
design-vue-cardsVibeCard, VibeCardHeader, VibeCardBody, VibeCardFooter, VibeCardMedia
design-vue-dropdownsVibeDropdown, VibeDropdownTrigger, VibeDropdownMenu, VibeDropdownItem, VibeDropdownGroup, VibeDropdownDivideruseClickOutside, useDropdownKeyboard
design-vue-formsVibeFormuseVibeForm, useFormField, createFormValidator, toFormData, dirtyValues + rule builders
design-vue-graphsVibeGraphBar, VibeGraphLine, VibeGraphPie, VibeGraphSparkline, VibeGraphLegend, VibeGraphTooltip, VibeGraphEmptyuseSeriesColors, useGraphDimensions, useTooltip
design-vue-imagesVibeImage, VibeBgImage, VibePictureuseImageLoad, useLazyLoad, useImageQueue, useRadius
design-vue-inputsVibeInput, VibeInputNumber, VibeInputGroup, VibeTextArea, VibeCheckbox, VibeCheckboxGroup, VibeRadio, VibeRadioGroupuseInputField, useAutoResize
design-vue-listsVibeList, VibeListItem, VibeListGroup, VibeListDivider, VibeListEmpty
design-vue-menusVibeMenu, VibeMenuItem, VibeMenuGroup, VibeMenuDivider, VibeMenuFlyoutuseMenuKeyboard
design-vue-modalsVibeModal, VibeModalHeader, VibeModalBody, VibeModalFooteruseModal, useFocusTrap, useScrollLock
design-vue-paginationVibePaginationusePagination
design-vue-progressVibeProgressBar, VibeProgressRinguseProgress, useProgressTimer
design-vue-responsiveVibeResponsiveContainer, VibeResponsiveGrid, VibeResponsiveStackuseContainerBreakpoint
design-vue-slidersVibeSlideruseSliderDrag
design-vue-spinnersVibeSpinner, VibeSpinnerOverlay, VibeSkeleton
design-vue-tabsVibeTabs, VibeTabList, VibeTab, VibeTabPanels, VibeTabPanel
design-vue-tablesVibeTableuseTableSort, useTableSelection
design-vue-toastsVibeToast, VibeToastContainertoast (imperative API), useToast
design-vue-togglesVibeToggle
design-vue-uploadsVibeUploadZone, VibeUploadList, VibeUploadItem, VibeUploadIndicatoruseUploadQueue

CSS

This package does not bundle CSS. You still need to import the design system's CSS layer separately — either the full @vibe-labs/design-components bundle or individual component CSS packages.

Build

bash
npm run build

Built with Vite + vite-plugin-dts. All @vibe-labs/* dependencies are externalized — this package produces a thin re-export module with no bundled component code.

Documentation

Each individual package has its own comprehensive README with usage examples, props tables, and API documentation. See the individual package READMEs for details.