├── .editorconfig
├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ ├── bug-report-v3.yml
│ ├── bug-report.yml
│ ├── config.yml
│ ├── feature-request-v3.yml
│ ├── feature-request.yml
│ ├── question-v3.yml
│ └── question.yml
├── PULL_REQUEST_TEMPLATE.md
├── reproduire
│ └── needs-reproduction.md
└── workflows
│ ├── docs.yml
│ ├── module.yml
│ ├── playground.yml
│ ├── release.yml
│ ├── reproduire.yml
│ └── stale.yml
├── .gitignore
├── .npmrc
├── .release-it.json
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── build.config.ts
├── cli
├── commands
│ └── make
│ │ ├── component.mjs
│ │ ├── index.mjs
│ │ └── locale.mjs
├── index.mjs
├── package.json
├── templates.mjs
└── utils.mjs
├── docs
├── .env.example
├── app
│ ├── app.config.ts
│ ├── app.vue
│ ├── assets
│ │ ├── css
│ │ │ └── main.css
│ │ └── icons
│ │ │ ├── embla-carousel.svg
│ │ │ ├── fuse-js.svg
│ │ │ ├── icones-js.svg
│ │ │ └── reka-ui.svg
│ ├── components
│ │ ├── AdsCarbon.vue
│ │ ├── Banner.vue
│ │ ├── Countdown.vue
│ │ ├── Footer.vue
│ │ ├── FrameworkSelect.vue
│ │ ├── Header.vue
│ │ ├── Logo.vue
│ │ ├── LogoPro.vue
│ │ ├── ModuleSelect.vue
│ │ ├── SkyBg.vue
│ │ ├── StarsBg.vue
│ │ ├── content
│ │ │ ├── ComponentCode.vue
│ │ │ ├── ComponentEmits.vue
│ │ │ ├── ComponentExample.vue
│ │ │ ├── ComponentProps.vue
│ │ │ ├── ComponentPropsLinks.vue
│ │ │ ├── ComponentPropsSchema.vue
│ │ │ ├── ComponentSlots.vue
│ │ │ ├── ComponentTheme.vue
│ │ │ ├── FrameworkOnly.vue
│ │ │ ├── HighlightInlineType.vue
│ │ │ ├── IconsTheme.vue
│ │ │ ├── ModuleOnly.vue
│ │ │ ├── Placeholder.vue
│ │ │ ├── SupportedLanguages.vue
│ │ │ └── examples
│ │ │ │ ├── accordion
│ │ │ │ ├── AccordionBodySlotExample.vue
│ │ │ │ ├── AccordionContentSlotExample.vue
│ │ │ │ ├── AccordionCustomSlotExample.vue
│ │ │ │ ├── AccordionDragAndDropExample.vue
│ │ │ │ └── AccordionModelValueExample.vue
│ │ │ │ ├── avatar-group
│ │ │ │ ├── AvatarGroupChipExample.vue
│ │ │ │ ├── AvatarGroupLinkExample.vue
│ │ │ │ └── AvatarGroupTooltipExample.vue
│ │ │ │ ├── avatar
│ │ │ │ ├── AvatarChipExample.vue
│ │ │ │ └── AvatarTooltipExample.vue
│ │ │ │ ├── breadcrumb
│ │ │ │ ├── BreadcrumbCustomSlotExample.vue
│ │ │ │ └── BreadcrumbSeparatorSlotExample.vue
│ │ │ │ ├── button-group
│ │ │ │ ├── ButtonGroupBadgeExample.vue
│ │ │ │ ├── ButtonGroupDropdownExample.vue
│ │ │ │ └── ButtonGroupTooltipExample.vue
│ │ │ │ ├── button
│ │ │ │ ├── ButtonLoadingAutoExample.vue
│ │ │ │ └── ButtonLoadingAutoFormExample.vue
│ │ │ │ ├── calendar
│ │ │ │ ├── CalendarDatePickerExample.vue
│ │ │ │ ├── CalendarDateRangePickerExample.vue
│ │ │ │ ├── CalendarDisabledDatesExample.vue
│ │ │ │ ├── CalendarEventsExample.vue
│ │ │ │ ├── CalendarExternalControlsExample.vue
│ │ │ │ ├── CalendarMinMaxDatesExample.vue
│ │ │ │ ├── CalendarOtherSystemExample.vue
│ │ │ │ └── CalendarUnavailableDatesExample.vue
│ │ │ │ ├── card
│ │ │ │ └── CardExample.vue
│ │ │ │ ├── carousel
│ │ │ │ ├── CarouselArrowsExample.vue
│ │ │ │ ├── CarouselAutoHeightExample.vue
│ │ │ │ ├── CarouselAutoScrollExample.vue
│ │ │ │ ├── CarouselAutoplayExample.vue
│ │ │ │ ├── CarouselClassNamesExample.vue
│ │ │ │ ├── CarouselDotsExample.vue
│ │ │ │ ├── CarouselDotsMultipleExample.vue
│ │ │ │ ├── CarouselFadeExample.vue
│ │ │ │ ├── CarouselItemsExample.vue
│ │ │ │ ├── CarouselItemsMultipleExample.vue
│ │ │ │ ├── CarouselOrientationExample.vue
│ │ │ │ ├── CarouselPrevNextExample.vue
│ │ │ │ ├── CarouselPrevNextIconExample.vue
│ │ │ │ ├── CarouselThumbnailsExample.vue
│ │ │ │ └── CarouselWheelGesturesExample.vue
│ │ │ │ ├── chip
│ │ │ │ └── ChipShowExample.vue
│ │ │ │ ├── collapsible
│ │ │ │ ├── CollapsibleIconExample.vue
│ │ │ │ └── CollapsibleOpenExample.vue
│ │ │ │ ├── color-picker
│ │ │ │ └── ColorPickerChooserExample.vue
│ │ │ │ ├── command-palette
│ │ │ │ ├── CommandPaletteCustomSlotExample.vue
│ │ │ │ ├── CommandPaletteFetchExample.vue
│ │ │ │ ├── CommandPaletteFuseExample.vue
│ │ │ │ ├── CommandPaletteIgnoreFilterExample.vue
│ │ │ │ ├── CommandPaletteOpenExample.vue
│ │ │ │ ├── CommandPalettePostFilterExample.vue
│ │ │ │ ├── CommandPaletteSearchTermExample.vue
│ │ │ │ └── CommandPaletteSelectExample.vue
│ │ │ │ ├── container
│ │ │ │ └── ContainerExample.vue
│ │ │ │ ├── context-menu
│ │ │ │ ├── ContextMenuCheckboxItemsExample.vue
│ │ │ │ ├── ContextMenuColorItemsExample.vue
│ │ │ │ └── ContextMenuCustomSlotExample.vue
│ │ │ │ ├── drawer
│ │ │ │ ├── DrawerCommandPaletteExample.vue
│ │ │ │ ├── DrawerDismissibleExample.vue
│ │ │ │ ├── DrawerFooterSlotExample.vue
│ │ │ │ ├── DrawerModalExample.vue
│ │ │ │ ├── DrawerOpenExample.vue
│ │ │ │ └── DrawerResponsiveExample.vue
│ │ │ │ ├── dropdown-menu
│ │ │ │ ├── DropdownMenuCheckboxItemsExample.vue
│ │ │ │ ├── DropdownMenuColorItemsExample.vue
│ │ │ │ ├── DropdownMenuCustomSlotExample.vue
│ │ │ │ └── DropdownMenuOpenExample.vue
│ │ │ │ ├── form
│ │ │ │ ├── FormExampleBasic.vue
│ │ │ │ ├── FormExampleElements.vue
│ │ │ │ ├── FormExampleJoi.vue
│ │ │ │ ├── FormExampleNested.vue
│ │ │ │ ├── FormExampleNestedList.vue
│ │ │ │ ├── FormExampleOnError.vue
│ │ │ │ ├── FormExampleSuperstruct.vue
│ │ │ │ ├── FormExampleValibot.vue
│ │ │ │ ├── FormExampleYup.vue
│ │ │ │ └── FormExampleZod.vue
│ │ │ │ ├── input-menu
│ │ │ │ ├── InputMenuCountriesExample.vue
│ │ │ │ ├── InputMenuCreateItemExample.vue
│ │ │ │ ├── InputMenuFetchExample.vue
│ │ │ │ ├── InputMenuFilterFieldsExample.vue
│ │ │ │ ├── InputMenuIconExample.vue
│ │ │ │ ├── InputMenuIgnoreFilterExample.vue
│ │ │ │ ├── InputMenuItemsAvatarExample.vue
│ │ │ │ ├── InputMenuItemsChipExample.vue
│ │ │ │ ├── InputMenuItemsIconExample.vue
│ │ │ │ ├── InputMenuOpenExample.vue
│ │ │ │ ├── InputMenuOpenFocusExample.vue
│ │ │ │ └── InputMenuSearchTermExample.vue
│ │ │ │ ├── input-number
│ │ │ │ ├── InputNumberCurrencyExample.vue
│ │ │ │ ├── InputNumberDecimalExample.vue
│ │ │ │ ├── InputNumberFormFieldExample.vue
│ │ │ │ ├── InputNumberPercentageExample.vue
│ │ │ │ └── InputNumberSlotsExample.vue
│ │ │ │ ├── input
│ │ │ │ ├── InputButtonGroupExample.vue
│ │ │ │ ├── InputCharacterLimitExample.vue
│ │ │ │ ├── InputClearButtonExample.vue
│ │ │ │ ├── InputCopyButtonExample.vue
│ │ │ │ ├── InputFloatingLabelExample.vue
│ │ │ │ ├── InputFormFieldExample.vue
│ │ │ │ ├── InputKbdExample.vue
│ │ │ │ ├── InputPasswordStrengthIndicatorExample.vue
│ │ │ │ └── InputPasswordToggleExample.vue
│ │ │ │ ├── modal
│ │ │ │ ├── ModalCommandPaletteExample.vue
│ │ │ │ ├── ModalExample.vue
│ │ │ │ ├── ModalFooterSlotExample.vue
│ │ │ │ ├── ModalNestedExample.vue
│ │ │ │ ├── ModalOpenExample.vue
│ │ │ │ └── ModalProgrammaticExample.vue
│ │ │ │ ├── navigation-menu
│ │ │ │ ├── NavigationMenuContentSlotExample.vue
│ │ │ │ ├── NavigationMenuCustomSlotExample.vue
│ │ │ │ └── NavigationMenuModelValueExample.vue
│ │ │ │ ├── pagination
│ │ │ │ └── PaginationLinksExample.vue
│ │ │ │ ├── popover
│ │ │ │ ├── PopoverAnchorSlotExample.vue
│ │ │ │ ├── PopoverCommandPaletteExample.vue
│ │ │ │ ├── PopoverDismissibleExample.vue
│ │ │ │ └── PopoverOpenExample.vue
│ │ │ │ ├── select-menu
│ │ │ │ ├── SelectMenuCountriesExample.vue
│ │ │ │ ├── SelectMenuCreateItemExample.vue
│ │ │ │ ├── SelectMenuFetchExample.vue
│ │ │ │ ├── SelectMenuFilterFieldsExample.vue
│ │ │ │ ├── SelectMenuIconExample.vue
│ │ │ │ ├── SelectMenuIgnoreFilterExample.vue
│ │ │ │ ├── SelectMenuItemsAvatarExample.vue
│ │ │ │ ├── SelectMenuItemsChipExample.vue
│ │ │ │ ├── SelectMenuItemsIconExample.vue
│ │ │ │ ├── SelectMenuOpenExample.vue
│ │ │ │ └── SelectMenuSearchTermExample.vue
│ │ │ │ ├── select
│ │ │ │ ├── SelectFetchExample.vue
│ │ │ │ ├── SelectIconExample.vue
│ │ │ │ ├── SelectItemsAvatarExample.vue
│ │ │ │ ├── SelectItemsChipExample.vue
│ │ │ │ ├── SelectItemsIconExample.vue
│ │ │ │ └── SelectOpenExample.vue
│ │ │ │ ├── skeleton
│ │ │ │ └── SkeletonExample.vue
│ │ │ │ ├── slideover
│ │ │ │ ├── SlideoverExample.vue
│ │ │ │ ├── SlideoverFooterSlotExample.vue
│ │ │ │ ├── SlideoverNestedExample.vue
│ │ │ │ ├── SlideoverOpenExample.vue
│ │ │ │ └── SlideoverProgrammaticExample.vue
│ │ │ │ ├── stepper
│ │ │ │ ├── StepperContentSlotExample.vue
│ │ │ │ ├── StepperCustomSlotExample.vue
│ │ │ │ ├── StepperModelValueExample.vue
│ │ │ │ └── StepperWithControlsExample.vue
│ │ │ │ ├── table
│ │ │ │ ├── TableColumnFiltersExample.vue
│ │ │ │ ├── TableColumnPinningExample.vue
│ │ │ │ ├── TableColumnSortingExample.vue
│ │ │ │ ├── TableColumnSortingReusableExample.vue
│ │ │ │ ├── TableColumnVisibilityExample.vue
│ │ │ │ ├── TableColumnsExample.vue
│ │ │ │ ├── TableDragAndDropExample.vue
│ │ │ │ ├── TableExample.vue
│ │ │ │ ├── TableFetchExample.vue
│ │ │ │ ├── TableGlobalFilterExample.vue
│ │ │ │ ├── TableGroupedRowsExample.vue
│ │ │ │ ├── TableInfiniteScrollExample.vue
│ │ │ │ ├── TablePaginationExample.vue
│ │ │ │ ├── TableRowActionsExample.vue
│ │ │ │ ├── TableRowExpandableExample.vue
│ │ │ │ ├── TableRowSelectionEventExample.vue
│ │ │ │ ├── TableRowSelectionExample.vue
│ │ │ │ └── TableSlotsExample.vue
│ │ │ │ ├── tabs
│ │ │ │ ├── TabsContentSlotExample.vue
│ │ │ │ ├── TabsCustomSlotExample.vue
│ │ │ │ └── TabsModelValueExample.vue
│ │ │ │ ├── timeline
│ │ │ │ ├── TimelineAlternatingLayoutExample.vue
│ │ │ │ ├── TimelineCustomSlotExample.vue
│ │ │ │ ├── TimelineModelValueExample.vue
│ │ │ │ └── TimelineSlotsExample.vue
│ │ │ │ ├── toast
│ │ │ │ ├── ToastActionsExample.vue
│ │ │ │ ├── ToastAvatarExample.vue
│ │ │ │ ├── ToastCloseExample.vue
│ │ │ │ ├── ToastCloseIconExample.vue
│ │ │ │ ├── ToastColorExample.vue
│ │ │ │ ├── ToastDescriptionExample.vue
│ │ │ │ ├── ToastExample.vue
│ │ │ │ ├── ToastIconExample.vue
│ │ │ │ ├── ToastOrientationExample.vue
│ │ │ │ └── ToastTitleExample.vue
│ │ │ │ ├── toaster
│ │ │ │ ├── ToasterDurationExample.vue
│ │ │ │ ├── ToasterExpandExample.vue
│ │ │ │ └── ToasterPositionExample.vue
│ │ │ │ ├── tooltip
│ │ │ │ └── TooltipOpenExample.vue
│ │ │ │ └── tree
│ │ │ │ ├── TreeCustomSlotExample.vue
│ │ │ │ ├── TreeExpandedExample.vue
│ │ │ │ ├── TreeModelValueExample.vue
│ │ │ │ ├── TreeOnSelectExample.vue
│ │ │ │ └── TreeOnToggleExample.vue
│ │ ├── home
│ │ │ └── HomeContributors.vue
│ │ ├── og-image
│ │ │ ├── OgImageComponent.vue
│ │ │ └── OgImageDocs.vue
│ │ └── theme-picker
│ │ │ ├── ThemePicker.vue
│ │ │ └── ThemePickerButton.vue
│ ├── composables
│ │ ├── fetchComponentExample.ts
│ │ ├── fetchComponentMeta.ts
│ │ ├── useContentNavigation.ts
│ │ ├── useFaviconFromTheme.ts
│ │ ├── useLinks.ts
│ │ ├── useSearchLinks.ts
│ │ └── useSharedData.ts
│ ├── error.vue
│ ├── layouts
│ │ ├── default.vue
│ │ └── docs.vue
│ ├── mdc.config.ts
│ ├── pages
│ │ ├── .index.yml
│ │ ├── [...slug].vue
│ │ ├── components.vue
│ │ ├── examples
│ │ │ └── [...slug].vue
│ │ ├── figma
│ │ │ ├── .figma.yml
│ │ │ └── index.vue
│ │ ├── index.vue
│ │ ├── pro
│ │ │ ├── .content
│ │ │ │ ├── pricing.yml
│ │ │ │ ├── pro.yml
│ │ │ │ └── templates.yml
│ │ │ ├── activate.vue
│ │ │ ├── index.vue
│ │ │ ├── pricing.vue
│ │ │ ├── templates.vue
│ │ │ └── terms.vue
│ │ ├── roadmap.vue
│ │ ├── showcase.vue
│ │ └── team.vue
│ ├── plugins
│ │ ├── data.ts
│ │ ├── prettier.ts
│ │ └── theme.ts
│ └── workers
│ │ └── prettier.js
├── content.config.ts
├── content
│ ├── 1.getting-started
│ │ ├── .navigation.yml
│ │ ├── 1.index.md
│ │ ├── 2.installation
│ │ │ ├── .navigation.yml
│ │ │ ├── 1.nuxt.md
│ │ │ └── 2.vue.md
│ │ ├── 2.migration.md
│ │ ├── 3.theme.md
│ │ ├── 4.icons
│ │ │ ├── .navigation.yml
│ │ │ ├── 1.nuxt.md
│ │ │ └── 2.vue.md
│ │ ├── 5.fonts.md
│ │ ├── 6.color-mode
│ │ │ ├── .navigation.yml
│ │ │ ├── 1.nuxt.md
│ │ │ └── 2.vue.md
│ │ ├── 7.i18n
│ │ │ ├── .navigation.yml
│ │ │ ├── 1.nuxt.md
│ │ │ └── 2.vue.md
│ │ └── contribution.md
│ ├── 2.composables
│ │ ├── .navigation.yml
│ │ ├── define-shortcuts.md
│ │ ├── use-form-field.md
│ │ ├── use-overlay.md
│ │ └── use-toast.md
│ ├── 3.components
│ │ ├── .navigation.yml
│ │ ├── 0.app.md
│ │ ├── accordion.md
│ │ ├── alert.md
│ │ ├── avatar-group.md
│ │ ├── avatar.md
│ │ ├── badge.md
│ │ ├── breadcrumb.md
│ │ ├── button-group.md
│ │ ├── button.md
│ │ ├── calendar.md
│ │ ├── card.md
│ │ ├── carousel.md
│ │ ├── checkbox-group.md
│ │ ├── checkbox.md
│ │ ├── chip.md
│ │ ├── collapsible.md
│ │ ├── color-picker.md
│ │ ├── command-palette.md
│ │ ├── container.md
│ │ ├── context-menu.md
│ │ ├── drawer.md
│ │ ├── dropdown-menu.md
│ │ ├── form-field.md
│ │ ├── form.md
│ │ ├── icon.md
│ │ ├── input-menu.md
│ │ ├── input-number.md
│ │ ├── input.md
│ │ ├── kbd.md
│ │ ├── link.md
│ │ ├── modal.md
│ │ ├── navigation-menu.md
│ │ ├── pagination.md
│ │ ├── pin-input.md
│ │ ├── popover.md
│ │ ├── progress.md
│ │ ├── radio-group.md
│ │ ├── select-menu.md
│ │ ├── select.md
│ │ ├── separator.md
│ │ ├── skeleton.md
│ │ ├── slideover.md
│ │ ├── slider.md
│ │ ├── stepper.md
│ │ ├── switch.md
│ │ ├── table.md
│ │ ├── tabs.md
│ │ ├── textarea.md
│ │ ├── timeline.md
│ │ ├── toast.md
│ │ ├── tooltip.md
│ │ └── tree.md
│ ├── pro
│ │ └── terms.md
│ └── showcase.yml
├── modules
│ ├── component-example.ts
│ └── showcase.ts
├── nuxt.config.ts
├── package.json
├── public
│ ├── assets
│ │ └── showcase
│ │ │ ├── details.png
│ │ │ ├── directus-docs.png
│ │ │ ├── espace-asso-by-benevolt.png
│ │ │ ├── juno.one.png
│ │ │ ├── kassebil.png
│ │ │ ├── learnvue.png
│ │ │ ├── mawrble.png
│ │ │ ├── meet-sponsors.png
│ │ │ ├── ovatu.png
│ │ │ ├── pallyy.png
│ │ │ ├── passionate-people.png
│ │ │ ├── postal.png
│ │ │ ├── prismos.png
│ │ │ ├── readyy.png
│ │ │ ├── sagematt.png
│ │ │ ├── shelve.png
│ │ │ ├── speaker-bot.png
│ │ │ ├── super-saas.png
│ │ │ ├── the-companies-api.png
│ │ │ ├── thuprai.png
│ │ │ ├── uneed.png
│ │ │ ├── wiredash.png
│ │ │ └── zielgestalt.png
│ ├── components
│ │ ├── dark
│ │ │ ├── accordion.png
│ │ │ ├── alert.png
│ │ │ ├── app.png
│ │ │ ├── auth-form.png
│ │ │ ├── avatar-group.png
│ │ │ ├── avatar.png
│ │ │ ├── badge.png
│ │ │ ├── banner.png
│ │ │ ├── blog-post.png
│ │ │ ├── blog-posts.png
│ │ │ ├── breadcrumb.png
│ │ │ ├── button-group.png
│ │ │ ├── button.png
│ │ │ ├── calendar.png
│ │ │ ├── card.png
│ │ │ ├── carousel.png
│ │ │ ├── chat-message.png
│ │ │ ├── chat-messages.png
│ │ │ ├── chat-palette.png
│ │ │ ├── chat-prompt-submit.png
│ │ │ ├── chat-prompt.png
│ │ │ ├── checkbox-group.png
│ │ │ ├── checkbox.png
│ │ │ ├── chip.png
│ │ │ ├── collapsible.png
│ │ │ ├── color-mode-avatar.png
│ │ │ ├── color-mode-button.png
│ │ │ ├── color-mode-image.png
│ │ │ ├── color-mode-select.png
│ │ │ ├── color-mode-switch.png
│ │ │ ├── color-picker.png
│ │ │ ├── command-palette.png
│ │ │ ├── container.png
│ │ │ ├── content-navigation.png
│ │ │ ├── content-search-button.png
│ │ │ ├── content-search.png
│ │ │ ├── content-surround.png
│ │ │ ├── content-toc.png
│ │ │ ├── context-menu.png
│ │ │ ├── dashboard-group.png
│ │ │ ├── dashboard-navbar.png
│ │ │ ├── dashboard-panel.png
│ │ │ ├── dashboard-resize-handle.png
│ │ │ ├── dashboard-search-button.png
│ │ │ ├── dashboard-search.png
│ │ │ ├── dashboard-sidebar-collapse.png
│ │ │ ├── dashboard-sidebar-toggle.png
│ │ │ ├── dashboard-sidebar.png
│ │ │ ├── dashboard-toolbar.png
│ │ │ ├── drawer.png
│ │ │ ├── dropdown-menu.png
│ │ │ ├── error.png
│ │ │ ├── footer-columns.png
│ │ │ ├── footer.png
│ │ │ ├── form-field.png
│ │ │ ├── form.png
│ │ │ ├── header.png
│ │ │ ├── icon.png
│ │ │ ├── input-menu.png
│ │ │ ├── input-number.png
│ │ │ ├── input.png
│ │ │ ├── kbd.png
│ │ │ ├── link.png
│ │ │ ├── locale-select.png
│ │ │ ├── main.png
│ │ │ ├── modal.png
│ │ │ ├── navigation-menu.png
│ │ │ ├── page-accordion.png
│ │ │ ├── page-anchors.png
│ │ │ ├── page-aside.png
│ │ │ ├── page-body.png
│ │ │ ├── page-card.png
│ │ │ ├── page-columns.png
│ │ │ ├── page-cta.png
│ │ │ ├── page-feature.png
│ │ │ ├── page-grid.png
│ │ │ ├── page-header.png
│ │ │ ├── page-hero.png
│ │ │ ├── page-links.png
│ │ │ ├── page-list.png
│ │ │ ├── page-logos.png
│ │ │ ├── page-marquee.png
│ │ │ ├── page-section.png
│ │ │ ├── page.png
│ │ │ ├── pagination.png
│ │ │ ├── pin-input.png
│ │ │ ├── popover.png
│ │ │ ├── pricing-plan.png
│ │ │ ├── pricing-plans.png
│ │ │ ├── pricing-table.png
│ │ │ ├── progress.png
│ │ │ ├── radio-group.png
│ │ │ ├── select-menu.png
│ │ │ ├── select.png
│ │ │ ├── separator.png
│ │ │ ├── skeleton.png
│ │ │ ├── slideover.png
│ │ │ ├── slider.png
│ │ │ ├── stepper.png
│ │ │ ├── switch.png
│ │ │ ├── table.png
│ │ │ ├── tabs.png
│ │ │ ├── textarea.png
│ │ │ ├── timeline.png
│ │ │ ├── toast.png
│ │ │ ├── tooltip.png
│ │ │ ├── tree.png
│ │ │ └── user.png
│ │ └── light
│ │ │ ├── accordion.png
│ │ │ ├── alert.png
│ │ │ ├── app.png
│ │ │ ├── auth-form.png
│ │ │ ├── avatar-group.png
│ │ │ ├── avatar.png
│ │ │ ├── badge.png
│ │ │ ├── banner.png
│ │ │ ├── blog-post.png
│ │ │ ├── blog-posts.png
│ │ │ ├── breadcrumb.png
│ │ │ ├── button-group.png
│ │ │ ├── button.png
│ │ │ ├── calendar.png
│ │ │ ├── card.png
│ │ │ ├── carousel.png
│ │ │ ├── chat-message.png
│ │ │ ├── chat-messages.png
│ │ │ ├── chat-palette.png
│ │ │ ├── chat-prompt-submit.png
│ │ │ ├── chat-prompt.png
│ │ │ ├── checkbox-group.png
│ │ │ ├── checkbox.png
│ │ │ ├── chip.png
│ │ │ ├── collapsible.png
│ │ │ ├── color-mode-avatar.png
│ │ │ ├── color-mode-button.png
│ │ │ ├── color-mode-image.png
│ │ │ ├── color-mode-select.png
│ │ │ ├── color-mode-switch.png
│ │ │ ├── color-picker.png
│ │ │ ├── command-palette.png
│ │ │ ├── container.png
│ │ │ ├── content-navigation.png
│ │ │ ├── content-search-button.png
│ │ │ ├── content-search.png
│ │ │ ├── content-surround.png
│ │ │ ├── content-toc.png
│ │ │ ├── context-menu.png
│ │ │ ├── dashboard-group.png
│ │ │ ├── dashboard-navbar.png
│ │ │ ├── dashboard-panel.png
│ │ │ ├── dashboard-resize-handle.png
│ │ │ ├── dashboard-search-button.png
│ │ │ ├── dashboard-search.png
│ │ │ ├── dashboard-sidebar-collapse.png
│ │ │ ├── dashboard-sidebar-toggle.png
│ │ │ ├── dashboard-sidebar.png
│ │ │ ├── dashboard-toolbar.png
│ │ │ ├── drawer.png
│ │ │ ├── dropdown-menu.png
│ │ │ ├── error.png
│ │ │ ├── footer-columns.png
│ │ │ ├── footer.png
│ │ │ ├── form-field.png
│ │ │ ├── form.png
│ │ │ ├── header.png
│ │ │ ├── icon.png
│ │ │ ├── input-menu.png
│ │ │ ├── input-number.png
│ │ │ ├── input.png
│ │ │ ├── kbd.png
│ │ │ ├── link.png
│ │ │ ├── locale-select.png
│ │ │ ├── main.png
│ │ │ ├── modal.png
│ │ │ ├── navigation-menu.png
│ │ │ ├── page-accordion.png
│ │ │ ├── page-anchors.png
│ │ │ ├── page-aside.png
│ │ │ ├── page-body.png
│ │ │ ├── page-card.png
│ │ │ ├── page-columns.png
│ │ │ ├── page-cta.png
│ │ │ ├── page-feature.png
│ │ │ ├── page-grid.png
│ │ │ ├── page-header.png
│ │ │ ├── page-hero.png
│ │ │ ├── page-links.png
│ │ │ ├── page-list.png
│ │ │ ├── page-logos.png
│ │ │ ├── page-marquee.png
│ │ │ ├── page-section.png
│ │ │ ├── page.png
│ │ │ ├── pagination.png
│ │ │ ├── pin-input.png
│ │ │ ├── popover.png
│ │ │ ├── pricing-plan.png
│ │ │ ├── pricing-plans.png
│ │ │ ├── pricing-table.png
│ │ │ ├── progress.png
│ │ │ ├── radio-group.png
│ │ │ ├── select-menu.png
│ │ │ ├── select.png
│ │ │ ├── separator.png
│ │ │ ├── skeleton.png
│ │ │ ├── slideover.png
│ │ │ ├── slider.png
│ │ │ ├── stepper.png
│ │ │ ├── switch.png
│ │ │ ├── table.png
│ │ │ ├── tabs.png
│ │ │ ├── textarea.png
│ │ │ ├── timeline.png
│ │ │ ├── toast.png
│ │ │ ├── tooltip.png
│ │ │ ├── tree.png
│ │ │ └── user.png
│ ├── favicon.ico
│ ├── icon.svg
│ ├── og-image.png
│ ├── pro
│ │ ├── ad.png
│ │ ├── blocks
│ │ │ ├── image1.png
│ │ │ ├── image10.png
│ │ │ ├── image11.png
│ │ │ ├── image12.png
│ │ │ ├── image13.png
│ │ │ ├── image14.png
│ │ │ ├── image15.png
│ │ │ ├── image16.png
│ │ │ ├── image17.png
│ │ │ ├── image2.png
│ │ │ ├── image3.png
│ │ │ ├── image4.png
│ │ │ ├── image5.png
│ │ │ ├── image6.png
│ │ │ ├── image7.png
│ │ │ ├── image8.png
│ │ │ └── image9.png
│ │ ├── figma
│ │ │ ├── component.png
│ │ │ ├── local-variables-result.png
│ │ │ ├── local-variables.png
│ │ │ ├── nuxt-ui-figma-to-code.png
│ │ │ ├── nuxt-ui-figma.png
│ │ │ ├── og-image.png
│ │ │ ├── step-1.png
│ │ │ ├── step-2.png
│ │ │ ├── step-3.png
│ │ │ ├── step-4.png
│ │ │ └── teampad-dev-nuxt-ui-plugin.gif
│ │ ├── hero.png
│ │ ├── logos
│ │ │ ├── applause.svg
│ │ │ ├── blizzard.svg
│ │ │ ├── bodet.svg
│ │ │ ├── bosch.svg
│ │ │ ├── churnkey.svg
│ │ │ ├── exxonmobil.svg
│ │ │ ├── funda.svg
│ │ │ ├── insep.svg
│ │ │ ├── instadapp.svg
│ │ │ ├── liegeairport.svg
│ │ │ ├── mainpost.svg
│ │ │ ├── springfieldclinic.svg
│ │ │ ├── tower.svg
│ │ │ ├── win.svg
│ │ │ └── wuniversity.svg
│ │ ├── og-image.png
│ │ └── templates
│ │ │ └── og-image.png
│ └── robots.txt
├── server
│ ├── api
│ │ ├── chat.ts
│ │ ├── component-example.get.ts
│ │ ├── countries.json.get.ts
│ │ ├── locales.json.get.ts
│ │ ├── module.json.get.ts
│ │ ├── pulls.json.get.ts
│ │ └── releases.json.get.ts
│ └── plugins
│ │ └── llms.ts
└── tsconfig.json
├── eslint.config.mjs
├── package.json
├── playground-vue
├── index.html
├── package.json
├── public
│ └── logo.svg
├── src
│ ├── app.vue
│ ├── assets
│ │ └── css
│ │ │ └── main.css
│ ├── main.ts
│ └── vite-env.d.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
├── playground
├── app
│ ├── app.config.ts
│ ├── app.vue
│ ├── assets
│ │ └── css
│ │ │ └── main.css
│ ├── components
│ │ ├── ModalExample.vue
│ │ ├── Placeholder.vue
│ │ └── SlideoverExample.vue
│ ├── pages
│ │ ├── components
│ │ │ ├── accordion.vue
│ │ │ ├── alert.vue
│ │ │ ├── avatar.vue
│ │ │ ├── badge.vue
│ │ │ ├── breadcrumb.vue
│ │ │ ├── button-group.vue
│ │ │ ├── button.vue
│ │ │ ├── calendar.vue
│ │ │ ├── card.vue
│ │ │ ├── carousel.vue
│ │ │ ├── checkbox-group.vue
│ │ │ ├── checkbox.vue
│ │ │ ├── chip.vue
│ │ │ ├── collapsible.vue
│ │ │ ├── color-picker.vue
│ │ │ ├── command-palette.vue
│ │ │ ├── context-menu.vue
│ │ │ ├── drawer.vue
│ │ │ ├── dropdown-menu.vue
│ │ │ ├── form-field.vue
│ │ │ ├── form.vue
│ │ │ ├── input-menu.vue
│ │ │ ├── input-number.vue
│ │ │ ├── input.vue
│ │ │ ├── kbd.vue
│ │ │ ├── link.vue
│ │ │ ├── modal.vue
│ │ │ ├── navigation-menu.vue
│ │ │ ├── pagination.vue
│ │ │ ├── pin-input.vue
│ │ │ ├── popover.vue
│ │ │ ├── progress.vue
│ │ │ ├── radio-group.vue
│ │ │ ├── select-menu.vue
│ │ │ ├── select.vue
│ │ │ ├── separator.vue
│ │ │ ├── shortcuts.vue
│ │ │ ├── skeleton.vue
│ │ │ ├── slideover.vue
│ │ │ ├── slider.vue
│ │ │ ├── stepper.vue
│ │ │ ├── switch.vue
│ │ │ ├── table.vue
│ │ │ ├── tabs.vue
│ │ │ ├── textarea.vue
│ │ │ ├── timeline.vue
│ │ │ ├── toast.vue
│ │ │ ├── tooltip.vue
│ │ │ └── tree.vue
│ │ └── index.vue
│ └── types
│ │ └── index.d.ts
├── nuxt.config.ts
├── package.json
├── public
│ └── favicon.ico
└── tsconfig.json
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── renovate.json
├── scripts
└── release.sh
├── src
├── defaults.ts
├── module.ts
├── plugins
│ ├── app-config.ts
│ ├── auto-import.ts
│ ├── components.ts
│ ├── nuxt-environment.ts
│ ├── plugins.ts
│ └── templates.ts
├── runtime
│ ├── components
│ │ ├── Accordion.vue
│ │ ├── Alert.vue
│ │ ├── App.vue
│ │ ├── Avatar.vue
│ │ ├── AvatarGroup.vue
│ │ ├── Badge.vue
│ │ ├── Breadcrumb.vue
│ │ ├── Button.vue
│ │ ├── ButtonGroup.vue
│ │ ├── Calendar.vue
│ │ ├── Card.vue
│ │ ├── Carousel.vue
│ │ ├── Checkbox.vue
│ │ ├── CheckboxGroup.vue
│ │ ├── Chip.vue
│ │ ├── Collapsible.vue
│ │ ├── ColorPicker.vue
│ │ ├── CommandPalette.vue
│ │ ├── Container.vue
│ │ ├── ContextMenu.vue
│ │ ├── ContextMenuContent.vue
│ │ ├── Drawer.vue
│ │ ├── DropdownMenu.vue
│ │ ├── DropdownMenuContent.vue
│ │ ├── Form.vue
│ │ ├── FormField.vue
│ │ ├── Icon.vue
│ │ ├── Input.vue
│ │ ├── InputMenu.vue
│ │ ├── InputNumber.vue
│ │ ├── Kbd.vue
│ │ ├── Link.vue
│ │ ├── LinkBase.vue
│ │ ├── Modal.vue
│ │ ├── NavigationMenu.vue
│ │ ├── OverlayProvider.vue
│ │ ├── Pagination.vue
│ │ ├── PinInput.vue
│ │ ├── Popover.vue
│ │ ├── Progress.vue
│ │ ├── RadioGroup.vue
│ │ ├── Select.vue
│ │ ├── SelectMenu.vue
│ │ ├── Separator.vue
│ │ ├── Skeleton.vue
│ │ ├── Slideover.vue
│ │ ├── Slider.vue
│ │ ├── Stepper.vue
│ │ ├── Switch.vue
│ │ ├── Table.vue
│ │ ├── Tabs.vue
│ │ ├── Textarea.vue
│ │ ├── Timeline.vue
│ │ ├── Toast.vue
│ │ ├── Toaster.vue
│ │ ├── Tooltip.vue
│ │ └── Tree.vue
│ ├── composables
│ │ ├── defineLocale.ts
│ │ ├── defineShortcuts.ts
│ │ ├── useAvatarGroup.ts
│ │ ├── useButtonGroup.ts
│ │ ├── useComponentIcons.ts
│ │ ├── useFormField.ts
│ │ ├── useKbd.ts
│ │ ├── useLocale.ts
│ │ ├── useOverlay.ts
│ │ ├── usePortal.ts
│ │ └── useToast.ts
│ ├── index.css
│ ├── inertia
│ │ ├── components
│ │ │ ├── Link.vue
│ │ │ └── LinkBase.vue
│ │ └── stubs.ts
│ ├── keyframes.css
│ ├── locale
│ │ ├── ar.ts
│ │ ├── az.ts
│ │ ├── bg.ts
│ │ ├── bn.ts
│ │ ├── ca.ts
│ │ ├── ckb.ts
│ │ ├── cs.ts
│ │ ├── da.ts
│ │ ├── de.ts
│ │ ├── el.ts
│ │ ├── en.ts
│ │ ├── es.ts
│ │ ├── et.ts
│ │ ├── fa_ir.ts
│ │ ├── fi.ts
│ │ ├── fr.ts
│ │ ├── he.ts
│ │ ├── hi.ts
│ │ ├── hu.ts
│ │ ├── hy.ts
│ │ ├── id.ts
│ │ ├── index.ts
│ │ ├── it.ts
│ │ ├── ja.ts
│ │ ├── kk.ts
│ │ ├── km.ts
│ │ ├── ko.ts
│ │ ├── ky.ts
│ │ ├── lt.ts
│ │ ├── mn.ts
│ │ ├── ms.ts
│ │ ├── nb_no.ts
│ │ ├── nl.ts
│ │ ├── pl.ts
│ │ ├── pt.ts
│ │ ├── pt_br.ts
│ │ ├── ro.ts
│ │ ├── ru.ts
│ │ ├── sk.ts
│ │ ├── sl.ts
│ │ ├── sv.ts
│ │ ├── th.ts
│ │ ├── tj.ts
│ │ ├── tr.ts
│ │ ├── ug_cn.ts
│ │ ├── uk.ts
│ │ ├── ur.ts
│ │ ├── uz.ts
│ │ ├── vi.ts
│ │ ├── zh_cn.ts
│ │ └── zh_tw.ts
│ ├── plugins
│ │ └── colors.ts
│ ├── types
│ │ ├── app.config.d.ts
│ │ ├── form.ts
│ │ ├── index.ts
│ │ ├── locale.ts
│ │ ├── tv.ts
│ │ └── utils.ts
│ ├── utils
│ │ ├── form.ts
│ │ ├── fuse.ts
│ │ ├── index.ts
│ │ ├── link.ts
│ │ ├── locale.ts
│ │ └── tv.ts
│ └── vue
│ │ ├── components
│ │ ├── Icon.vue
│ │ └── Link.vue
│ │ ├── composables
│ │ └── useAppConfig.ts
│ │ ├── plugins
│ │ ├── color-mode.ts
│ │ └── head.ts
│ │ └── stubs.ts
├── templates.ts
├── theme
│ ├── accordion.ts
│ ├── alert.ts
│ ├── avatar-group.ts
│ ├── avatar.ts
│ ├── badge.ts
│ ├── breadcrumb.ts
│ ├── button-group.ts
│ ├── button.ts
│ ├── calendar.ts
│ ├── card.ts
│ ├── carousel.ts
│ ├── checkbox-group.ts
│ ├── checkbox.ts
│ ├── chip.ts
│ ├── collapsible.ts
│ ├── color-picker.ts
│ ├── command-palette.ts
│ ├── container.ts
│ ├── context-menu.ts
│ ├── drawer.ts
│ ├── dropdown-menu.ts
│ ├── form-field.ts
│ ├── form.ts
│ ├── icons.ts
│ ├── index.ts
│ ├── input-menu.ts
│ ├── input-number.ts
│ ├── input.ts
│ ├── kbd.ts
│ ├── link.ts
│ ├── modal.ts
│ ├── navigation-menu.ts
│ ├── pagination.ts
│ ├── pin-input.ts
│ ├── popover.ts
│ ├── progress.ts
│ ├── radio-group.ts
│ ├── select-menu.ts
│ ├── select.ts
│ ├── separator.ts
│ ├── skeleton.ts
│ ├── slideover.ts
│ ├── slider.ts
│ ├── stepper.ts
│ ├── switch.ts
│ ├── table.ts
│ ├── tabs.ts
│ ├── textarea.ts
│ ├── timeline.ts
│ ├── toast.ts
│ ├── toaster.ts
│ ├── tooltip.ts
│ └── tree.ts
├── unplugin.ts
└── vite.ts
├── test
├── component-render.ts
├── components
│ ├── Accordion.spec.ts
│ ├── Alert.spec.ts
│ ├── Avatar.spec.ts
│ ├── AvatarGroup.spec.ts
│ ├── Badge.spec.ts
│ ├── Breadcrumb.spec.ts
│ ├── Button.spec.ts
│ ├── ButtonGroup.spec.ts
│ ├── Calendar.spec.ts
│ ├── Card.spec.ts
│ ├── Carousel.spec.ts
│ ├── Checkbox.spec.ts
│ ├── CheckboxGroup.spec.ts
│ ├── Chip.spec.ts
│ ├── Collapsible.spec.ts
│ ├── ColorPicker.spec.ts
│ ├── CommandPalette.spec.ts
│ ├── Container.spec.ts
│ ├── ContextMenu.spec.ts
│ ├── Drawer.spec.ts
│ ├── DropdownMenu.spec.ts
│ ├── Form.spec.ts
│ ├── FormField.spec.ts
│ ├── Input.spec.ts
│ ├── InputMenu.spec.ts
│ ├── InputNumber.spec.ts
│ ├── Kbd.spec.ts
│ ├── Link.spec.ts
│ ├── Modal.spec.ts
│ ├── NavigationMenu.spec.ts
│ ├── Pagination.spec.ts
│ ├── PinInput.spec.ts
│ ├── Popover.spec.ts
│ ├── Progress.spec.ts
│ ├── RadioGroup.spec.ts
│ ├── Select.spec.ts
│ ├── SelectMenu.spec.ts
│ ├── Separator.spec.ts
│ ├── Skeleton.spec.ts
│ ├── Slideover.spec.ts
│ ├── Slider.spec.ts
│ ├── Stepper.spec.ts
│ ├── Switch.spec.ts
│ ├── Table.spec.ts
│ ├── Tabs.spec.ts
│ ├── Textarea.spec.ts
│ ├── Timeline.spec.ts
│ ├── Toast.spec.ts
│ ├── Tooltip.spec.ts
│ ├── Tree.spec.ts
│ └── __snapshots__
│ │ ├── Accordion-vue.spec.ts.snap
│ │ ├── Accordion.spec.ts.snap
│ │ ├── Alert-vue.spec.ts.snap
│ │ ├── Alert.spec.ts.snap
│ │ ├── Avatar-vue.spec.ts.snap
│ │ ├── Avatar.spec.ts.snap
│ │ ├── AvatarGroup-vue.spec.ts.snap
│ │ ├── AvatarGroup.spec.ts.snap
│ │ ├── Badge-vue.spec.ts.snap
│ │ ├── Badge.spec.ts.snap
│ │ ├── Breadcrumb-vue.spec.ts.snap
│ │ ├── Breadcrumb.spec.ts.snap
│ │ ├── Button-vue.spec.ts.snap
│ │ ├── Button.spec.ts.snap
│ │ ├── ButtonGroup-vue.spec.ts.snap
│ │ ├── ButtonGroup.spec.ts.snap
│ │ ├── Calendar-vue.spec.ts.snap
│ │ ├── Calendar.spec.ts.snap
│ │ ├── Card-vue.spec.ts.snap
│ │ ├── Card.spec.ts.snap
│ │ ├── Carousel-vue.spec.ts.snap
│ │ ├── Carousel.spec.ts.snap
│ │ ├── Checkbox-vue.spec.ts.snap
│ │ ├── Checkbox.spec.ts.snap
│ │ ├── CheckboxGroup-vue.spec.ts.snap
│ │ ├── CheckboxGroup.spec.ts.snap
│ │ ├── Chip-vue.spec.ts.snap
│ │ ├── Chip.spec.ts.snap
│ │ ├── Collapsible-vue.spec.ts.snap
│ │ ├── Collapsible.spec.ts.snap
│ │ ├── ColorPicker-vue.spec.ts.snap
│ │ ├── ColorPicker.spec.ts.snap
│ │ ├── CommandPalette-vue.spec.ts.snap
│ │ ├── CommandPalette.spec.ts.snap
│ │ ├── Container-vue.spec.ts.snap
│ │ ├── Container.spec.ts.snap
│ │ ├── ContextMenu-vue.spec.ts.snap
│ │ ├── ContextMenu.spec.ts.snap
│ │ ├── Drawer-vue.spec.ts.snap
│ │ ├── Drawer.spec.ts.snap
│ │ ├── DropdownMenu-vue.spec.ts.snap
│ │ ├── DropdownMenu.spec.ts.snap
│ │ ├── Form-vue.spec.ts.snap
│ │ ├── Form.spec.ts.snap
│ │ ├── FormField-vue.spec.ts.snap
│ │ ├── FormField.spec.ts.snap
│ │ ├── Input-vue.spec.ts.snap
│ │ ├── Input.spec.ts.snap
│ │ ├── InputMenu-vue.spec.ts.snap
│ │ ├── InputMenu.spec.ts.snap
│ │ ├── InputNumber-vue.spec.ts.snap
│ │ ├── InputNumber.spec.ts.snap
│ │ ├── Kbd-vue.spec.ts.snap
│ │ ├── Kbd.spec.ts.snap
│ │ ├── Link-vue.spec.ts.snap
│ │ ├── Link.spec.ts.snap
│ │ ├── Modal-vue.spec.ts.snap
│ │ ├── Modal.spec.ts.snap
│ │ ├── NavigationMenu-vue.spec.ts.snap
│ │ ├── NavigationMenu.spec.ts.snap
│ │ ├── Pagination-vue.spec.ts.snap
│ │ ├── Pagination.spec.ts.snap
│ │ ├── PinInput-vue.spec.ts.snap
│ │ ├── PinInput.spec.ts.snap
│ │ ├── Popover-vue.spec.ts.snap
│ │ ├── Popover.spec.ts.snap
│ │ ├── Progress-vue.spec.ts.snap
│ │ ├── Progress.spec.ts.snap
│ │ ├── RadioGroup-vue.spec.ts.snap
│ │ ├── RadioGroup.spec.ts.snap
│ │ ├── Select-vue.spec.ts.snap
│ │ ├── Select.spec.ts.snap
│ │ ├── SelectMenu-vue.spec.ts.snap
│ │ ├── SelectMenu.spec.ts.snap
│ │ ├── Separator-vue.spec.ts.snap
│ │ ├── Separator.spec.ts.snap
│ │ ├── Skeleton-vue.spec.ts.snap
│ │ ├── Skeleton.spec.ts.snap
│ │ ├── Slideover-vue.spec.ts.snap
│ │ ├── Slideover.spec.ts.snap
│ │ ├── Slider-vue.spec.ts.snap
│ │ ├── Slider.spec.ts.snap
│ │ ├── Stepper-vue.spec.ts.snap
│ │ ├── Stepper.spec.ts.snap
│ │ ├── Switch-vue.spec.ts.snap
│ │ ├── Switch.spec.ts.snap
│ │ ├── Table-vue.spec.ts.snap
│ │ ├── Table.spec.ts.snap
│ │ ├── Tabs-vue.spec.ts.snap
│ │ ├── Tabs.spec.ts.snap
│ │ ├── Textarea-vue.spec.ts.snap
│ │ ├── Textarea.spec.ts.snap
│ │ ├── Timeline-vue.spec.ts.snap
│ │ ├── Timeline.spec.ts.snap
│ │ ├── Toast-vue.spec.ts.snap
│ │ ├── Toast.spec.ts.snap
│ │ ├── Tooltip-vue.spec.ts.snap
│ │ ├── Tooltip.spec.ts.snap
│ │ ├── Tree-vue.spec.ts.snap
│ │ └── Tree.spec.ts.snap
├── nuxt
│ ├── nuxt.config.ts
│ └── setup.ts
└── utils
│ ├── form.ts
│ ├── mount.ts
│ ├── setup.ts
│ └── types.ts
├── tsconfig.json
├── vercel.json
├── vitest.config.ts
├── vitest.vue.config.ts
└── vue-plugin.d.ts
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_size = 2
6 | indent_style = space
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @benjamincanac
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: 📖 Documentation
4 | url: https://ui.nuxt.com
5 | about: Check the documentation for guides and examples.
6 | - name: 📚 Discord
7 | url: https://go.nuxt.com/discord
8 | about: Consider asking questions in the help channel.
9 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/question-v3.yml:
--------------------------------------------------------------------------------
1 | name: "💬 Question (v3)"
2 | description: Ask a question about the module (v3 only).
3 | labels: ["question", "v3"]
4 | body:
5 | - type: markdown
6 | attributes:
7 | value: |
8 | Before asking a question, please make sure that you have read through our [documentation](https://ui.nuxt.com/) and existing [issues](https://github.com/nuxt/ui/issues?q=is%3Aissue%20is%3Aopen%20sort%3Aupdated-desc%20label%3Av3).
9 | - type: textarea
10 | id: description
11 | attributes:
12 | label: Description
13 | validations:
14 | required: true
15 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/question.yml:
--------------------------------------------------------------------------------
1 | name: "💬 Question"
2 | description: Ask a question about the module.
3 | labels: ["question"]
4 | body:
5 | - type: markdown
6 | attributes:
7 | value: |
8 | Before asking a question, please make sure that you have read through our [documentation](https://ui2.nuxt.com) and existing [issues](https://github.com/nuxt/ui/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc).
9 | - type: textarea
10 | id: description
11 | attributes:
12 | label: Description
13 | validations:
14 | required: true
15 |
--------------------------------------------------------------------------------
/.github/workflows/reproduire.yml:
--------------------------------------------------------------------------------
1 | name: reproduire
2 |
3 | on:
4 | issues:
5 | types: [labeled]
6 |
7 | permissions:
8 | issues: write
9 |
10 | jobs:
11 | reproduire:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
15 | - uses: Hebilicious/reproduire@4b686ae9cbb72dad60f001d278b6e3b2ce40a9ac # v0.0.9-mp
16 | with:
17 | label: needs reproduction
--------------------------------------------------------------------------------
/.github/workflows/stale.yml:
--------------------------------------------------------------------------------
1 | name: stale
2 |
3 | on:
4 | schedule:
5 | - cron: '30 1 * * *'
6 |
7 | jobs:
8 | stale:
9 | runs-on: ubuntu-latest
10 |
11 | permissions:
12 | issues: write
13 |
14 | steps:
15 | - uses: actions/stale@v9
16 | with:
17 | days-before-stale: -1 # Issues and PR will never be flagged stale automatically.
18 | stale-issue-label: 'needs reproduction' # Label that flags an issue as stale.
19 | only-labels: 'needs reproduction' # Only process these issues
20 | days-before-issue-close: 7
21 | ignore-updates: true
22 | remove-stale-when-updated: false
23 | close-issue-message: This issue was closed because it was open for 7 days without a reproduction.
24 | close-issue-label: closed-by-bot
25 | operations-per-run: 300 #default 30
26 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .component-meta/
2 | component-meta.*
3 |
4 | # Nuxt dev/build outputs
5 | .output
6 | .data
7 | .nuxt
8 | .nitro
9 | .cache
10 | dist
11 |
12 | # Node dependencies
13 | node_modules
14 |
15 | # Logs
16 | logs
17 | *.log
18 |
19 | # Misc
20 | .DS_Store
21 | .fleet
22 | .idea
23 |
24 | # Local env files
25 | .env
26 | .env.*
27 | !.env.example
28 |
29 | playground-vue/auto-imports.d.ts
30 | playground-vue/components.d.ts
31 | playground-vue/tsconfig.app.tsbuildinfo
32 | playground-vue/tsconfig.node.tsbuildinfo
33 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 | auto-install-peers=true
3 | ignore-workspace-root-check=true
4 |
--------------------------------------------------------------------------------
/.release-it.json:
--------------------------------------------------------------------------------
1 | {
2 | "git": {
3 | "commitMessage": "chore(release): v${version}",
4 | "tagName": "v${version}"
5 | },
6 | "npm": {
7 | "publish": false
8 | },
9 | "github": {
10 | "release": true,
11 | "releaseName": "v${version}",
12 | "web": true
13 | },
14 | "hooks": {
15 | "before:init": ["pnpm lint", "pnpm typecheck"]
16 | },
17 | "plugins": {
18 | "@release-it/conventional-changelog": {
19 | "preset": {
20 | "name": "conventionalcommits"
21 | },
22 | "infile": "CHANGELOG.md",
23 | "header": "# Changelog",
24 | "ignoreRecommendedBump": true
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/build.config.ts:
--------------------------------------------------------------------------------
1 | import { defineBuildConfig } from 'unbuild'
2 |
3 | export default defineBuildConfig({
4 | entries: [
5 | // Vue support
6 | './src/unplugin',
7 | './src/vite'
8 | ],
9 | rollup: {
10 | replace: {
11 | delimiters: ['', ''],
12 | values: {
13 | // Used in development to import directly from theme
14 | 'process.argv.includes(\'--uiDev\')': 'false'
15 | }
16 | }
17 | },
18 | hooks: {
19 | 'mkdist:entry:options'(ctx, entry, options) {
20 | options.addRelativeDeclarationExtensions = false
21 | }
22 | },
23 | externals: ['#build/ui', 'vite']
24 | })
25 |
--------------------------------------------------------------------------------
/cli/commands/make/index.mjs:
--------------------------------------------------------------------------------
1 | import { defineCommand } from 'citty'
2 | import component from './component.mjs'
3 | import locale from './locale.mjs'
4 |
5 | export default defineCommand({
6 | meta: {
7 | name: 'make',
8 | description: 'Commands to create new Nuxt UI entities.'
9 | },
10 | subCommands: {
11 | component,
12 | locale
13 | }
14 | })
15 |
--------------------------------------------------------------------------------
/cli/index.mjs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | import { defineCommand, runMain } from 'citty'
3 | import make from './commands/make/index.mjs'
4 |
5 | const main = defineCommand({
6 | meta: {
7 | name: 'nuxt-ui',
8 | description: 'Nuxt UI CLI'
9 | },
10 | subCommands: {
11 | make
12 | }
13 | })
14 |
15 | runMain(main)
16 |
--------------------------------------------------------------------------------
/cli/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@nuxt/ui-cli",
3 | "type": "module",
4 | "exports": {
5 | ".": "./index.mjs"
6 | },
7 | "dependencies": {
8 | "citty": "^0.1.6",
9 | "consola": "^3.4.2",
10 | "pathe": "^2.0.3",
11 | "scule": "^1.3.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/cli/utils.mjs:
--------------------------------------------------------------------------------
1 | import { promises as fsp } from 'node:fs'
2 |
3 | export async function sortFile(path) {
4 | const file = await fsp.readFile(path, 'utf-8')
5 |
6 | const lines = file.trim().split('\n').sort()
7 |
8 | await fsp.writeFile(path, lines.join('\n') + '\n')
9 | }
10 |
11 | export async function appendFile(path, contents) {
12 | const file = await fsp.readFile(path, 'utf-8')
13 |
14 | if (!file.includes(contents)) {
15 | await fsp.writeFile(path, file.trim() + '\n' + contents + '\n')
16 | }
17 | }
18 |
19 | export function normalizeLocale(locale) {
20 | if (!locale) {
21 | return ''
22 | }
23 |
24 | if (locale.includes('_')) {
25 | return locale.split('_')
26 | .map((part, index) => index === 0 ? part.toLowerCase() : part.toUpperCase())
27 | .join('-')
28 | }
29 |
30 | return locale.toLowerCase()
31 | }
32 |
--------------------------------------------------------------------------------
/docs/.env.example:
--------------------------------------------------------------------------------
1 | # Specify the path of @nuxt/ui-pro locally
2 | NUXT_UI_PRO_PATH=
3 | # Production token for @nuxt/ui-pro, purchase on https://ui.nuxt.com/pro/purchase
4 | NUXT_UI_PRO_LICENSE=
5 | # Used when pre-rendering the docs for dynamic OG images
6 | NUXT_PUBLIC_SITE_URL=
7 | # Used to fetch `nuxt/ui-pro` docs content
8 | NUXT_GITHUB_TOKEN=
9 |
--------------------------------------------------------------------------------
/docs/app/app.config.ts:
--------------------------------------------------------------------------------
1 | export default defineAppConfig({
2 | toaster: {
3 | position: 'bottom-right' as const,
4 | expand: true,
5 | duration: 5000
6 | },
7 | theme: {
8 | radius: 0.25,
9 | blackAsPrimary: false
10 | },
11 | ui: {
12 | colors: {
13 | primary: 'green',
14 | neutral: 'slate'
15 | }
16 | }
17 | })
18 |
--------------------------------------------------------------------------------
/docs/app/assets/icons/fuse-js.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/docs/app/components/Banner.vue:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | Nuxt UI v3 is officially released.
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/docs/app/components/FrameworkSelect.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
28 |
29 |
--------------------------------------------------------------------------------
/docs/app/components/ModuleSelect.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
28 |
29 |
--------------------------------------------------------------------------------
/docs/app/components/content/ComponentPropsLinks.vue:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/app/components/content/FrameworkOnly.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/app/components/content/ModuleOnly.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/app/components/content/Placeholder.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/accordion/AccordionBodySlotExample.vue:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 | This is the {{ item.label }} panel.
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/accordion/AccordionContentSlotExample.vue:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
24 | This is the {{ item.label }} panel.
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/avatar-group/AvatarGroupChipExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
15 |
16 |
17 |
18 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/avatar-group/AvatarGroupTooltipExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
15 |
16 |
17 |
18 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/avatar/AvatarChipExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/avatar/AvatarTooltipExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/breadcrumb/BreadcrumbSeparatorSlotExample.vue:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 | /
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/button-group/ButtonGroupBadgeExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/button-group/ButtonGroupTooltipExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/button/ButtonLoadingAutoExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 | Button
10 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/button/ButtonLoadingAutoFormExample.vue:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Submit
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/calendar/CalendarDatePickerExample.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 | {{ modelValue ? df.format(modelValue.toDate(getLocalTimeZone())) : 'Select a date' }}
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/calendar/CalendarDisabledDatesExample.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/calendar/CalendarEventsExample.vue:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 |
24 |
25 |
26 | {{ day.day }}
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/calendar/CalendarExternalControlsExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Prev
14 |
15 |
16 |
17 | Next
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/calendar/CalendarMinMaxDatesExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/calendar/CalendarOtherSystemExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/calendar/CalendarUnavailableDatesExample.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/card/CardExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselArrowsExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselAutoHeightExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselAutoScrollExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselAutoplayExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselClassNamesExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselDotsExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselDotsMultipleExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselFadeExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselItemsExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselItemsMultipleExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselOrientationExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselPrevNextExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselPrevNextIconExample.vue:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/carousel/CarouselWheelGesturesExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/chip/ChipShowExample.vue:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/collapsible/CollapsibleIconExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/collapsible/CollapsibleOpenExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/color-picker/ColorPickerChooserExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/command-palette/CommandPaletteFuseExample.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/container/ContainerExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/drawer/DrawerDismissibleExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Drawer non-dismissible
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/drawer/DrawerFooterSlotExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/drawer/DrawerModalExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
14 |
15 |
16 |
17 |
18 | Drawer non-dismissible
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/drawer/DrawerOpenExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/dropdown-menu/DropdownMenuColorItemsExample.vue:
--------------------------------------------------------------------------------
1 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/dropdown-menu/DropdownMenuCustomSlotExample.vue:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/dropdown-menu/DropdownMenuOpenExample.vue:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-menu/InputMenuCreateItemExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-menu/InputMenuIconExample.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
14 |
15 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-menu/InputMenuItemsIconExample.vue:
--------------------------------------------------------------------------------
1 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-menu/InputMenuOpenExample.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-menu/InputMenuOpenFocusExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-menu/InputMenuSearchTermExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-number/InputNumberCurrencyExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-number/InputNumberDecimalExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-number/InputNumberFormFieldExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-number/InputNumberPercentageExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input-number/InputNumberSlotsExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input/InputButtonGroupExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
17 |
18 |
19 | https://
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input/InputCharacterLimitExample.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
13 |
14 |
20 | {{ value?.length }}/{{ maxLength }}
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input/InputClearButtonExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
11 |
12 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input/InputFloatingLabelExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input/InputFormFieldExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input/InputKbdExample.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/input/InputPasswordToggleExample.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
13 |
14 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/modal/ModalExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/modal/ModalFooterSlotExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/modal/ModalNestedExample.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/modal/ModalOpenExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/navigation-menu/NavigationMenuCustomSlotExample.vue:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/pagination/PaginationLinksExample.vue:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/popover/PopoverAnchorSlotExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/popover/PopoverDismissibleExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Popover non-dismissible
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/popover/PopoverOpenExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/select-menu/SelectMenuCreateItemExample.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/select-menu/SelectMenuIconExample.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/select-menu/SelectMenuItemsIconExample.vue:
--------------------------------------------------------------------------------
1 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/select-menu/SelectMenuOpenExample.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/select-menu/SelectMenuSearchTermExample.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/select/SelectIconExample.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/select/SelectOpenExample.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/skeleton/SkeletonExample.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/slideover/SlideoverExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/slideover/SlideoverFooterSlotExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/slideover/SlideoverOpenExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/stepper/StepperContentSlotExample.vue:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
24 | This is the {{ item?.title }} step.
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/tabs/TabsContentSlotExample.vue:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
19 | This is the {{ item.label }} tab.
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/tabs/TabsModelValueExample.vue:
--------------------------------------------------------------------------------
1 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastActionsExample.vue:
--------------------------------------------------------------------------------
1 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastAvatarExample.vue:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastCloseExample.vue:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastCloseIconExample.vue:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastColorExample.vue:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastDescriptionExample.vue:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastExample.vue:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastIconExample.vue:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastOrientationExample.vue:
--------------------------------------------------------------------------------
1 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toast/ToastTitleExample.vue:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toaster/ToasterDurationExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
17 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/toaster/ToasterExpandExample.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
17 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/app/components/content/examples/tooltip/TooltipOpenExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/app/layouts/default.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/app/mdc.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from '@nuxtjs/mdc/config'
2 | import { transformerColorHighlight } from 'shiki-transformer-color-highlight'
3 |
4 | export default defineConfig({
5 | shiki: {
6 | transformers: [
7 | transformerColorHighlight()
8 | ]
9 | }
10 | })
11 |
--------------------------------------------------------------------------------
/docs/content/1.getting-started/.navigation.yml:
--------------------------------------------------------------------------------
1 | title: Getting Started
2 | icon: i-lucide-square-play
3 |
--------------------------------------------------------------------------------
/docs/content/1.getting-started/2.installation/.navigation.yml:
--------------------------------------------------------------------------------
1 | shadow: true
2 |
--------------------------------------------------------------------------------
/docs/content/1.getting-started/4.icons/.navigation.yml:
--------------------------------------------------------------------------------
1 | shadow: true
2 |
--------------------------------------------------------------------------------
/docs/content/1.getting-started/6.color-mode/.navigation.yml:
--------------------------------------------------------------------------------
1 | shadow: true
2 |
--------------------------------------------------------------------------------
/docs/content/1.getting-started/7.i18n/.navigation.yml:
--------------------------------------------------------------------------------
1 | shadow: true
2 |
--------------------------------------------------------------------------------
/docs/content/2.composables/.navigation.yml:
--------------------------------------------------------------------------------
1 | title: Composables
2 | icon: i-lucide-square-function
3 |
--------------------------------------------------------------------------------
/docs/content/2.composables/use-form-field.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: useFormField
3 | description: 'A composable to integrate custom inputs with the Form component'
4 | navigation: false
5 | ---
6 |
7 | ## Usage
8 |
9 | Use the auto-imported `useFormField` composable to integrate custom inputs with a [Form](/components/form).
10 |
11 | ```vue
12 |
15 | ```
16 |
--------------------------------------------------------------------------------
/docs/content/3.components/.navigation.yml:
--------------------------------------------------------------------------------
1 | title: Components
2 | icon: i-lucide-square-code
3 |
--------------------------------------------------------------------------------
/docs/content/3.components/container.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: A container lets you center and constrain the width of your content.
3 | category: layout
4 | links:
5 | - label: GitHub
6 | icon: i-simple-icons-github
7 | to: https://github.com/nuxt/ui/tree/v3/src/runtime/components/Container.vue
8 | ---
9 |
10 | ## Usage
11 |
12 | ::component-example
13 | ---
14 | name: 'container-example'
15 | props:
16 | class: 'w-full'
17 | ---
18 | ::
19 |
20 | ## API
21 |
22 | ### Props
23 |
24 | :component-props
25 |
26 | ### Slots
27 |
28 | :component-slots
29 |
30 | ## Theme
31 |
32 | :component-theme
33 |
--------------------------------------------------------------------------------
/docs/content/3.components/icon.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: A component to display any icon from Iconify.
3 | category: element
4 | links:
5 | - label: Icônes
6 | to: https://icones.js.org/
7 | target: _blank
8 | icon: i-custom-icones-js
9 | ---
10 |
11 | ## Usage
12 |
13 | Use the `name` prop to display an icon:
14 |
15 | ::component-code
16 | ---
17 | props:
18 | name: 'i-lucide-lightbulb'
19 | class: 'size-5'
20 | ---
21 | ::
22 |
23 | ::framework-only
24 | #nuxt
25 | :::caution{to="/getting-started/icons/nuxt#collections"}
26 | It's highly recommended to install the icons collections you need, read more about this.
27 | :::
28 | ::
29 |
30 | ## API
31 |
32 | ### Props
33 |
34 | :component-props
35 |
--------------------------------------------------------------------------------
/docs/content/3.components/skeleton.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: A placeholder to show while content is loading.
3 | category: layout
4 | links:
5 | - label: GitHub
6 | icon: i-simple-icons-github
7 | to: https://github.com/nuxt/ui/tree/v3/src/runtime/components/Skeleton.vue
8 | ---
9 |
10 | ## Usage
11 |
12 | :component-example{name="skeleton-example"}
13 |
14 | ## API
15 |
16 | ### Props
17 |
18 | :component-props
19 |
20 | ### Slots
21 |
22 | :component-slots
23 |
24 | ## Theme
25 |
26 | :component-theme
27 |
--------------------------------------------------------------------------------
/docs/public/assets/showcase/details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/details.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/directus-docs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/directus-docs.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/espace-asso-by-benevolt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/espace-asso-by-benevolt.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/juno.one.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/juno.one.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/kassebil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/kassebil.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/learnvue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/learnvue.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/mawrble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/mawrble.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/meet-sponsors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/meet-sponsors.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/ovatu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/ovatu.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/pallyy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/pallyy.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/passionate-people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/passionate-people.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/postal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/postal.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/prismos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/prismos.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/readyy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/readyy.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/sagematt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/sagematt.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/shelve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/shelve.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/speaker-bot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/speaker-bot.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/super-saas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/super-saas.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/the-companies-api.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/the-companies-api.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/thuprai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/thuprai.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/uneed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/uneed.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/wiredash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/wiredash.png
--------------------------------------------------------------------------------
/docs/public/assets/showcase/zielgestalt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/assets/showcase/zielgestalt.png
--------------------------------------------------------------------------------
/docs/public/components/dark/accordion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/accordion.png
--------------------------------------------------------------------------------
/docs/public/components/dark/alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/alert.png
--------------------------------------------------------------------------------
/docs/public/components/dark/app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/app.png
--------------------------------------------------------------------------------
/docs/public/components/dark/auth-form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/auth-form.png
--------------------------------------------------------------------------------
/docs/public/components/dark/avatar-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/avatar-group.png
--------------------------------------------------------------------------------
/docs/public/components/dark/avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/avatar.png
--------------------------------------------------------------------------------
/docs/public/components/dark/badge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/badge.png
--------------------------------------------------------------------------------
/docs/public/components/dark/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/banner.png
--------------------------------------------------------------------------------
/docs/public/components/dark/blog-post.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/blog-post.png
--------------------------------------------------------------------------------
/docs/public/components/dark/blog-posts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/blog-posts.png
--------------------------------------------------------------------------------
/docs/public/components/dark/breadcrumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/breadcrumb.png
--------------------------------------------------------------------------------
/docs/public/components/dark/button-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/button-group.png
--------------------------------------------------------------------------------
/docs/public/components/dark/button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/button.png
--------------------------------------------------------------------------------
/docs/public/components/dark/calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/calendar.png
--------------------------------------------------------------------------------
/docs/public/components/dark/card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/card.png
--------------------------------------------------------------------------------
/docs/public/components/dark/carousel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/carousel.png
--------------------------------------------------------------------------------
/docs/public/components/dark/chat-message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/chat-message.png
--------------------------------------------------------------------------------
/docs/public/components/dark/chat-messages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/chat-messages.png
--------------------------------------------------------------------------------
/docs/public/components/dark/chat-palette.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/chat-palette.png
--------------------------------------------------------------------------------
/docs/public/components/dark/chat-prompt-submit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/chat-prompt-submit.png
--------------------------------------------------------------------------------
/docs/public/components/dark/chat-prompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/chat-prompt.png
--------------------------------------------------------------------------------
/docs/public/components/dark/checkbox-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/checkbox-group.png
--------------------------------------------------------------------------------
/docs/public/components/dark/checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/checkbox.png
--------------------------------------------------------------------------------
/docs/public/components/dark/chip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/chip.png
--------------------------------------------------------------------------------
/docs/public/components/dark/collapsible.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/collapsible.png
--------------------------------------------------------------------------------
/docs/public/components/dark/color-mode-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/color-mode-avatar.png
--------------------------------------------------------------------------------
/docs/public/components/dark/color-mode-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/color-mode-button.png
--------------------------------------------------------------------------------
/docs/public/components/dark/color-mode-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/color-mode-image.png
--------------------------------------------------------------------------------
/docs/public/components/dark/color-mode-select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/color-mode-select.png
--------------------------------------------------------------------------------
/docs/public/components/dark/color-mode-switch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/color-mode-switch.png
--------------------------------------------------------------------------------
/docs/public/components/dark/color-picker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/color-picker.png
--------------------------------------------------------------------------------
/docs/public/components/dark/command-palette.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/command-palette.png
--------------------------------------------------------------------------------
/docs/public/components/dark/container.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/container.png
--------------------------------------------------------------------------------
/docs/public/components/dark/content-navigation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/content-navigation.png
--------------------------------------------------------------------------------
/docs/public/components/dark/content-search-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/content-search-button.png
--------------------------------------------------------------------------------
/docs/public/components/dark/content-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/content-search.png
--------------------------------------------------------------------------------
/docs/public/components/dark/content-surround.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/content-surround.png
--------------------------------------------------------------------------------
/docs/public/components/dark/content-toc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/content-toc.png
--------------------------------------------------------------------------------
/docs/public/components/dark/context-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/context-menu.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-group.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-navbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-navbar.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-panel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-panel.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-resize-handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-resize-handle.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-search-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-search-button.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-search.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-sidebar-collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-sidebar-collapse.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-sidebar-toggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-sidebar-toggle.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-sidebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-sidebar.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dashboard-toolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dashboard-toolbar.png
--------------------------------------------------------------------------------
/docs/public/components/dark/drawer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/drawer.png
--------------------------------------------------------------------------------
/docs/public/components/dark/dropdown-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/dropdown-menu.png
--------------------------------------------------------------------------------
/docs/public/components/dark/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/error.png
--------------------------------------------------------------------------------
/docs/public/components/dark/footer-columns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/footer-columns.png
--------------------------------------------------------------------------------
/docs/public/components/dark/footer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/footer.png
--------------------------------------------------------------------------------
/docs/public/components/dark/form-field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/form-field.png
--------------------------------------------------------------------------------
/docs/public/components/dark/form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/form.png
--------------------------------------------------------------------------------
/docs/public/components/dark/header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/header.png
--------------------------------------------------------------------------------
/docs/public/components/dark/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/icon.png
--------------------------------------------------------------------------------
/docs/public/components/dark/input-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/input-menu.png
--------------------------------------------------------------------------------
/docs/public/components/dark/input-number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/input-number.png
--------------------------------------------------------------------------------
/docs/public/components/dark/input.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/input.png
--------------------------------------------------------------------------------
/docs/public/components/dark/kbd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/kbd.png
--------------------------------------------------------------------------------
/docs/public/components/dark/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/link.png
--------------------------------------------------------------------------------
/docs/public/components/dark/locale-select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/locale-select.png
--------------------------------------------------------------------------------
/docs/public/components/dark/main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/main.png
--------------------------------------------------------------------------------
/docs/public/components/dark/modal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/modal.png
--------------------------------------------------------------------------------
/docs/public/components/dark/navigation-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/navigation-menu.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-accordion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-accordion.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-anchors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-anchors.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-aside.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-aside.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-body.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-body.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-card.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-columns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-columns.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-cta.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-cta.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-feature.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-feature.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-grid.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-header.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-hero.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-links.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-links.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-list.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-logos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-logos.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-marquee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-marquee.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page-section.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page-section.png
--------------------------------------------------------------------------------
/docs/public/components/dark/page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/page.png
--------------------------------------------------------------------------------
/docs/public/components/dark/pagination.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/pagination.png
--------------------------------------------------------------------------------
/docs/public/components/dark/pin-input.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/pin-input.png
--------------------------------------------------------------------------------
/docs/public/components/dark/popover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/popover.png
--------------------------------------------------------------------------------
/docs/public/components/dark/pricing-plan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/pricing-plan.png
--------------------------------------------------------------------------------
/docs/public/components/dark/pricing-plans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/pricing-plans.png
--------------------------------------------------------------------------------
/docs/public/components/dark/pricing-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/pricing-table.png
--------------------------------------------------------------------------------
/docs/public/components/dark/progress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/progress.png
--------------------------------------------------------------------------------
/docs/public/components/dark/radio-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/radio-group.png
--------------------------------------------------------------------------------
/docs/public/components/dark/select-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/select-menu.png
--------------------------------------------------------------------------------
/docs/public/components/dark/select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/select.png
--------------------------------------------------------------------------------
/docs/public/components/dark/separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/separator.png
--------------------------------------------------------------------------------
/docs/public/components/dark/skeleton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/skeleton.png
--------------------------------------------------------------------------------
/docs/public/components/dark/slideover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/slideover.png
--------------------------------------------------------------------------------
/docs/public/components/dark/slider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/slider.png
--------------------------------------------------------------------------------
/docs/public/components/dark/stepper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/stepper.png
--------------------------------------------------------------------------------
/docs/public/components/dark/switch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/switch.png
--------------------------------------------------------------------------------
/docs/public/components/dark/table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/table.png
--------------------------------------------------------------------------------
/docs/public/components/dark/tabs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/tabs.png
--------------------------------------------------------------------------------
/docs/public/components/dark/textarea.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/textarea.png
--------------------------------------------------------------------------------
/docs/public/components/dark/timeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/timeline.png
--------------------------------------------------------------------------------
/docs/public/components/dark/toast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/toast.png
--------------------------------------------------------------------------------
/docs/public/components/dark/tooltip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/tooltip.png
--------------------------------------------------------------------------------
/docs/public/components/dark/tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/tree.png
--------------------------------------------------------------------------------
/docs/public/components/dark/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/dark/user.png
--------------------------------------------------------------------------------
/docs/public/components/light/accordion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/accordion.png
--------------------------------------------------------------------------------
/docs/public/components/light/alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/alert.png
--------------------------------------------------------------------------------
/docs/public/components/light/app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/app.png
--------------------------------------------------------------------------------
/docs/public/components/light/auth-form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/auth-form.png
--------------------------------------------------------------------------------
/docs/public/components/light/avatar-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/avatar-group.png
--------------------------------------------------------------------------------
/docs/public/components/light/avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/avatar.png
--------------------------------------------------------------------------------
/docs/public/components/light/badge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/badge.png
--------------------------------------------------------------------------------
/docs/public/components/light/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/banner.png
--------------------------------------------------------------------------------
/docs/public/components/light/blog-post.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/blog-post.png
--------------------------------------------------------------------------------
/docs/public/components/light/blog-posts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/blog-posts.png
--------------------------------------------------------------------------------
/docs/public/components/light/breadcrumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/breadcrumb.png
--------------------------------------------------------------------------------
/docs/public/components/light/button-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/button-group.png
--------------------------------------------------------------------------------
/docs/public/components/light/button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/button.png
--------------------------------------------------------------------------------
/docs/public/components/light/calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/calendar.png
--------------------------------------------------------------------------------
/docs/public/components/light/card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/card.png
--------------------------------------------------------------------------------
/docs/public/components/light/carousel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/carousel.png
--------------------------------------------------------------------------------
/docs/public/components/light/chat-message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/chat-message.png
--------------------------------------------------------------------------------
/docs/public/components/light/chat-messages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/chat-messages.png
--------------------------------------------------------------------------------
/docs/public/components/light/chat-palette.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/chat-palette.png
--------------------------------------------------------------------------------
/docs/public/components/light/chat-prompt-submit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/chat-prompt-submit.png
--------------------------------------------------------------------------------
/docs/public/components/light/chat-prompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/chat-prompt.png
--------------------------------------------------------------------------------
/docs/public/components/light/checkbox-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/checkbox-group.png
--------------------------------------------------------------------------------
/docs/public/components/light/checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/checkbox.png
--------------------------------------------------------------------------------
/docs/public/components/light/chip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/chip.png
--------------------------------------------------------------------------------
/docs/public/components/light/collapsible.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/collapsible.png
--------------------------------------------------------------------------------
/docs/public/components/light/color-mode-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/color-mode-avatar.png
--------------------------------------------------------------------------------
/docs/public/components/light/color-mode-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/color-mode-button.png
--------------------------------------------------------------------------------
/docs/public/components/light/color-mode-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/color-mode-image.png
--------------------------------------------------------------------------------
/docs/public/components/light/color-mode-select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/color-mode-select.png
--------------------------------------------------------------------------------
/docs/public/components/light/color-mode-switch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/color-mode-switch.png
--------------------------------------------------------------------------------
/docs/public/components/light/color-picker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/color-picker.png
--------------------------------------------------------------------------------
/docs/public/components/light/command-palette.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/command-palette.png
--------------------------------------------------------------------------------
/docs/public/components/light/container.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/container.png
--------------------------------------------------------------------------------
/docs/public/components/light/content-navigation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/content-navigation.png
--------------------------------------------------------------------------------
/docs/public/components/light/content-search-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/content-search-button.png
--------------------------------------------------------------------------------
/docs/public/components/light/content-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/content-search.png
--------------------------------------------------------------------------------
/docs/public/components/light/content-surround.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/content-surround.png
--------------------------------------------------------------------------------
/docs/public/components/light/content-toc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/content-toc.png
--------------------------------------------------------------------------------
/docs/public/components/light/context-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/context-menu.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-group.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-navbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-navbar.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-panel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-panel.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-resize-handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-resize-handle.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-search-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-search-button.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-search.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-sidebar-collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-sidebar-collapse.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-sidebar-toggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-sidebar-toggle.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-sidebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-sidebar.png
--------------------------------------------------------------------------------
/docs/public/components/light/dashboard-toolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dashboard-toolbar.png
--------------------------------------------------------------------------------
/docs/public/components/light/drawer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/drawer.png
--------------------------------------------------------------------------------
/docs/public/components/light/dropdown-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/dropdown-menu.png
--------------------------------------------------------------------------------
/docs/public/components/light/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/error.png
--------------------------------------------------------------------------------
/docs/public/components/light/footer-columns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/footer-columns.png
--------------------------------------------------------------------------------
/docs/public/components/light/footer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/footer.png
--------------------------------------------------------------------------------
/docs/public/components/light/form-field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/form-field.png
--------------------------------------------------------------------------------
/docs/public/components/light/form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/form.png
--------------------------------------------------------------------------------
/docs/public/components/light/header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/header.png
--------------------------------------------------------------------------------
/docs/public/components/light/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/icon.png
--------------------------------------------------------------------------------
/docs/public/components/light/input-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/input-menu.png
--------------------------------------------------------------------------------
/docs/public/components/light/input-number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/input-number.png
--------------------------------------------------------------------------------
/docs/public/components/light/input.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/input.png
--------------------------------------------------------------------------------
/docs/public/components/light/kbd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/kbd.png
--------------------------------------------------------------------------------
/docs/public/components/light/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/link.png
--------------------------------------------------------------------------------
/docs/public/components/light/locale-select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/locale-select.png
--------------------------------------------------------------------------------
/docs/public/components/light/main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/main.png
--------------------------------------------------------------------------------
/docs/public/components/light/modal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/modal.png
--------------------------------------------------------------------------------
/docs/public/components/light/navigation-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/navigation-menu.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-accordion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-accordion.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-anchors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-anchors.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-aside.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-aside.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-body.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-body.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-card.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-columns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-columns.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-cta.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-cta.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-feature.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-feature.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-grid.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-header.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-hero.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-links.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-links.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-list.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-logos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-logos.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-marquee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-marquee.png
--------------------------------------------------------------------------------
/docs/public/components/light/page-section.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page-section.png
--------------------------------------------------------------------------------
/docs/public/components/light/page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/page.png
--------------------------------------------------------------------------------
/docs/public/components/light/pagination.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/pagination.png
--------------------------------------------------------------------------------
/docs/public/components/light/pin-input.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/pin-input.png
--------------------------------------------------------------------------------
/docs/public/components/light/popover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/popover.png
--------------------------------------------------------------------------------
/docs/public/components/light/pricing-plan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/pricing-plan.png
--------------------------------------------------------------------------------
/docs/public/components/light/pricing-plans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/pricing-plans.png
--------------------------------------------------------------------------------
/docs/public/components/light/pricing-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/pricing-table.png
--------------------------------------------------------------------------------
/docs/public/components/light/progress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/progress.png
--------------------------------------------------------------------------------
/docs/public/components/light/radio-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/radio-group.png
--------------------------------------------------------------------------------
/docs/public/components/light/select-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/select-menu.png
--------------------------------------------------------------------------------
/docs/public/components/light/select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/select.png
--------------------------------------------------------------------------------
/docs/public/components/light/separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/separator.png
--------------------------------------------------------------------------------
/docs/public/components/light/skeleton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/skeleton.png
--------------------------------------------------------------------------------
/docs/public/components/light/slideover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/slideover.png
--------------------------------------------------------------------------------
/docs/public/components/light/slider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/slider.png
--------------------------------------------------------------------------------
/docs/public/components/light/stepper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/stepper.png
--------------------------------------------------------------------------------
/docs/public/components/light/switch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/switch.png
--------------------------------------------------------------------------------
/docs/public/components/light/table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/table.png
--------------------------------------------------------------------------------
/docs/public/components/light/tabs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/tabs.png
--------------------------------------------------------------------------------
/docs/public/components/light/textarea.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/textarea.png
--------------------------------------------------------------------------------
/docs/public/components/light/timeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/timeline.png
--------------------------------------------------------------------------------
/docs/public/components/light/toast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/toast.png
--------------------------------------------------------------------------------
/docs/public/components/light/tooltip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/tooltip.png
--------------------------------------------------------------------------------
/docs/public/components/light/tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/tree.png
--------------------------------------------------------------------------------
/docs/public/components/light/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/components/light/user.png
--------------------------------------------------------------------------------
/docs/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/favicon.ico
--------------------------------------------------------------------------------
/docs/public/og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/og-image.png
--------------------------------------------------------------------------------
/docs/public/pro/ad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/ad.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image1.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image10.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image11.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image12.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image13.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image14.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image15.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image16.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image17.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image2.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image3.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image4.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image5.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image6.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image7.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image8.png
--------------------------------------------------------------------------------
/docs/public/pro/blocks/image9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/blocks/image9.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/component.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/local-variables-result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/local-variables-result.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/local-variables.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/local-variables.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/nuxt-ui-figma-to-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/nuxt-ui-figma-to-code.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/nuxt-ui-figma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/nuxt-ui-figma.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/og-image.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/step-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/step-1.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/step-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/step-2.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/step-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/step-3.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/step-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/step-4.png
--------------------------------------------------------------------------------
/docs/public/pro/figma/teampad-dev-nuxt-ui-plugin.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/figma/teampad-dev-nuxt-ui-plugin.gif
--------------------------------------------------------------------------------
/docs/public/pro/hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/hero.png
--------------------------------------------------------------------------------
/docs/public/pro/og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/og-image.png
--------------------------------------------------------------------------------
/docs/public/pro/templates/og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/docs/public/pro/templates/og-image.png
--------------------------------------------------------------------------------
/docs/public/robots.txt:
--------------------------------------------------------------------------------
1 | user-agent: *
2 |
--------------------------------------------------------------------------------
/docs/server/api/chat.ts:
--------------------------------------------------------------------------------
1 | import { streamText } from 'ai'
2 | import { createWorkersAI } from 'workers-ai-provider'
3 |
4 | export default defineEventHandler(async (event) => {
5 | const { messages } = await readBody(event)
6 |
7 | // Enable AI Gateway if defined in environment variables
8 | const gateway = process.env.CLOUDFLARE_AI_GATEWAY_ID
9 | ? {
10 | id: process.env.CLOUDFLARE_AI_GATEWAY_ID,
11 | cacheTtl: 60 * 60 * 24 // 24 hours
12 | }
13 | : undefined
14 | const workersAI = createWorkersAI({ binding: hubAI(), gateway })
15 |
16 | return streamText({
17 | model: workersAI('@cf/meta/llama-3.2-3b-instruct'),
18 | maxTokens: 10000,
19 | system: 'You are a helpful assistant that can answer questions and help.',
20 | messages
21 | }).toDataStreamResponse()
22 | })
23 |
--------------------------------------------------------------------------------
/docs/server/api/component-example.get.ts:
--------------------------------------------------------------------------------
1 | import { defineEventHandler, createError, appendHeader } from 'h3'
2 | import { pascalCase } from 'scule'
3 | // @ts-expect-error - no types available
4 | import components from '#component-example/nitro'
5 |
6 | export default defineEventHandler((event) => {
7 | appendHeader(event, 'Access-Control-Allow-Origin', '*')
8 | const componentName = (event.context.params?.['component?'] || '').replace(/\.json$/, '')
9 | if (componentName) {
10 | const component = components[pascalCase(componentName)]
11 | if (!component) {
12 | throw createError({
13 | statusMessage: 'Example not found!',
14 | statusCode: 404
15 | })
16 | }
17 | return component
18 | }
19 | })
20 |
--------------------------------------------------------------------------------
/docs/server/api/pulls.json.get.ts:
--------------------------------------------------------------------------------
1 | import { Octokit } from '@octokit/rest'
2 |
3 | function isUserABot(user: any) {
4 | return user?.login?.endsWith('-bot') || user?.login?.endsWith('[bot]')
5 | }
6 |
7 | export default cachedEventHandler(async () => {
8 | if (!process.env.NUXT_GITHUB_TOKEN) {
9 | return []
10 | }
11 |
12 | const octokit = new Octokit({ auth: process.env.NUXT_GITHUB_TOKEN })
13 |
14 | const pulls = await octokit.paginate(octokit.rest.pulls.list, {
15 | owner: 'nuxt',
16 | repo: 'ui',
17 | state: 'closed'
18 | })
19 |
20 | return pulls.filter(pull => !!pull.merged_at).filter(pull => !isUserABot(pull.user))
21 | }, {
22 | maxAge: 60 * 60
23 | })
24 |
--------------------------------------------------------------------------------
/docs/server/api/releases.json.get.ts:
--------------------------------------------------------------------------------
1 | import { Octokit } from '@octokit/rest'
2 |
3 | export default cachedEventHandler(async () => {
4 | if (!process.env.NUXT_GITHUB_TOKEN) {
5 | return []
6 | }
7 |
8 | const octokit = new Octokit({ auth: process.env.NUXT_GITHUB_TOKEN })
9 |
10 | const { data: releases } = await octokit.rest.repos.listReleases({
11 | owner: 'nuxt',
12 | repo: 'ui'
13 | })
14 |
15 | return releases
16 | }, {
17 | maxAge: 60 * 60
18 | })
19 |
--------------------------------------------------------------------------------
/docs/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.nuxt/tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------
/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
2 |
3 | export default createConfigForNuxt({
4 | features: {
5 | tooling: true,
6 | stylistic: {
7 | commaDangle: 'never',
8 | braceStyle: '1tbs'
9 | }
10 | }
11 | }).overrideRules({
12 | 'import/first': 'off',
13 | 'import/order': 'off',
14 | 'vue/multi-word-component-names': 'off',
15 | 'vue/max-attributes-per-line': ['error', { singleline: 5 }],
16 | '@typescript-eslint/ban-types': 'off',
17 | '@typescript-eslint/no-empty-object-type': 'off',
18 | '@typescript-eslint/no-explicit-any': 'off'
19 | })
20 |
--------------------------------------------------------------------------------
/playground-vue/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Nuxt UI - Vue Playground
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/playground-vue/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "playground-vue",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vite build",
9 | "preview": "vite preview",
10 | "typecheck": "vue-tsc -p ./tsconfig.app.json"
11 | },
12 | "dependencies": {
13 | "@nuxt/ui": "latest",
14 | "vue": "^3.5.15",
15 | "vue-router": "^4.5.1",
16 | "zod": "^3.25.28"
17 | },
18 | "devDependencies": {
19 | "@vitejs/plugin-vue": "^5.2.4",
20 | "typescript": "^5.8.3",
21 | "vite": "^6.3.5",
22 | "vue-tsc": "^2.2.10"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/playground-vue/public/logo.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/playground-vue/src/assets/css/main.css:
--------------------------------------------------------------------------------
1 | @import "tailwindcss" source("../../../..");
2 | @import "@nuxt/ui";
3 |
4 | @theme static {
5 | --font-sans: 'Public Sans', sans-serif;
6 |
7 | --color-green-50: #EFFDF5;
8 | --color-green-100: #D9FBE8;
9 | --color-green-200: #B3F5D1;
10 | --color-green-300: #75EDAE;
11 | --color-green-400: #00DC82;
12 | --color-green-500: #00C16A;
13 | --color-green-600: #00A155;
14 | --color-green-700: #007F45;
15 | --color-green-800: #016538;
16 | --color-green-900: #0A5331;
17 | --color-green-950: #052E16;
18 | }
19 |
--------------------------------------------------------------------------------
/playground-vue/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/playground-vue/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "module": "ESNext",
6 | "lib": [
7 | "ES2020",
8 | "DOM",
9 | "DOM.Iterable"
10 | ],
11 | "skipLibCheck": true,
12 | /* Bundler mode */
13 | "moduleResolution": "bundler",
14 | "allowImportingTsExtensions": true,
15 | "isolatedModules": true,
16 | "moduleDetection": "force",
17 | "noEmit": true,
18 | "jsx": "preserve",
19 | /* Linting */
20 | "strict": true,
21 | "noUnusedLocals": true,
22 | "noUnusedParameters": true,
23 | "noFallthroughCasesInSwitch": true
24 | },
25 | "include": [
26 | "src/**/*.ts",
27 | "src/**/*.tsx",
28 | "src/**/*.vue",
29 | "auto-imports.d.ts",
30 | "components.d.ts",
31 | "app.config.ts"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/playground-vue/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | { "path": "./tsconfig.app.json" },
5 | { "path": "./tsconfig.node.json" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/playground-vue/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2022",
4 | "lib": ["ES2023"],
5 | "module": "ESNext",
6 | "skipLibCheck": true,
7 |
8 | /* Bundler mode */
9 | "moduleResolution": "bundler",
10 | "allowImportingTsExtensions": true,
11 | "isolatedModules": true,
12 | "moduleDetection": "force",
13 | "noEmit": true,
14 |
15 | /* Linting */
16 | "strict": true,
17 | "noUnusedLocals": true,
18 | "noUnusedParameters": true,
19 | "noFallthroughCasesInSwitch": true
20 | },
21 | "include": ["vite.config.ts"]
22 | }
23 |
--------------------------------------------------------------------------------
/playground/app/app.config.ts:
--------------------------------------------------------------------------------
1 | export default defineAppConfig({
2 | toaster: {
3 | position: 'bottom-right' as const,
4 | expand: true,
5 | duration: 5000
6 | },
7 | ui: {
8 | colors: {
9 | primary: 'green',
10 | neutral: 'slate'
11 | }
12 | }
13 | })
14 |
--------------------------------------------------------------------------------
/playground/app/assets/css/main.css:
--------------------------------------------------------------------------------
1 | @import "tailwindcss" source("../../../..");
2 | @import "@nuxt/ui";
3 |
4 | @theme static {
5 | --font-sans: 'Public Sans', sans-serif;
6 |
7 | --color-green-50: #EFFDF5;
8 | --color-green-100: #D9FBE8;
9 | --color-green-200: #B3F5D1;
10 | --color-green-300: #75EDAE;
11 | --color-green-400: #00DC82;
12 | --color-green-500: #00C16A;
13 | --color-green-600: #00A155;
14 | --color-green-700: #007F45;
15 | --color-green-800: #016538;
16 | --color-green-900: #0A5331;
17 | --color-green-950: #052E16;
18 | }
19 |
--------------------------------------------------------------------------------
/playground/app/components/ModalExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/playground/app/components/Placeholder.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/playground/app/components/SlideoverExample.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/playground/app/pages/components/breadcrumb.vue:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/playground/app/pages/components/calendar.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/playground/app/pages/components/card.vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/playground/app/pages/components/collapsible.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/playground/app/pages/components/color-picker.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 | {{ colorHex }}
10 |
11 |
12 |
13 |
14 | Purple
15 |
16 |
17 | Lime
18 |
19 |
20 | Tomato
21 |
22 |
23 |
24 |
console.log('model update')" />
25 |
26 |
27 |
--------------------------------------------------------------------------------
/playground/app/pages/components/pagination.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
With buttons (default)
9 |
10 |
11 |
12 |
13 |
With links
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/playground/app/pages/components/skeleton.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/playground/app/pages/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Playground
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/playground/app/types/index.d.ts:
--------------------------------------------------------------------------------
1 | export interface User {
2 | id: number
3 | name: string
4 | email: string
5 | phone: string
6 | }
7 |
--------------------------------------------------------------------------------
/playground/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "name": "@nuxt/ui-playground",
4 | "type": "module",
5 | "scripts": {
6 | "dev": "nuxi dev",
7 | "build": "nuxi build",
8 | "generate": "nuxi generate",
9 | "typecheck": "nuxt typecheck"
10 | },
11 | "dependencies": {
12 | "@iconify-json/lucide": "^1.2.44",
13 | "@iconify-json/simple-icons": "^1.2.35",
14 | "@nuxt/ui": "latest",
15 | "@nuxthub/core": "^0.8.27",
16 | "nuxt": "^3.17.4",
17 | "zod": "^3.25.28"
18 | },
19 | "devDependencies": {
20 | "typescript": "^5.8.3",
21 | "vue-tsc": "^2.2.10"
22 | },
23 | "resolutions": {
24 | "unimport": "4.1.1"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/playground/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/playground/public/favicon.ico
--------------------------------------------------------------------------------
/playground/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.nuxt/tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - "./"
3 | - "cli"
4 | - "docs"
5 | - "playground"
6 | - "playground-vue"
7 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "github>nuxt/renovate-config-nuxt"
4 | ],
5 | "lockFileMaintenance": {
6 | "enabled": true
7 | },
8 | "baseBranches": ["v2", "v3"],
9 | "packageRules": [{
10 | "matchBaseBranches": ["v3"],
11 | "labels": ["v3"]
12 | }, {
13 | "groupName": "tailwindcss",
14 | "matchPackageNames": [
15 | "tailwindcss",
16 | "@tailwindcss/postcss",
17 | "@tailwindcss/vite"
18 | ]
19 | }, {
20 | "groupName": "reka-ui",
21 | "matchPackageNames": [
22 | "reka-ui"
23 | ]
24 | }, {
25 | "matchDepTypes": ["peerDependencies"],
26 | "enabled": false
27 | }, {
28 | "matchDepTypes": ["resolutions"],
29 | "enabled": false
30 | }],
31 | "postUpdateOptions": ["pnpmDedupe"]
32 | }
33 |
--------------------------------------------------------------------------------
/scripts/release.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Restore all git changes
4 | git restore -s@ -SW -- .
5 |
6 | # Update token
7 | if [[ ! -z ${NODE_AUTH_TOKEN} ]] ; then
8 | echo "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}" >> ~/.npmrc
9 | echo "registry=https://registry.npmjs.org/" >> ~/.npmrc
10 | echo "always-auth=true" >> ~/.npmrc
11 | npm whoami
12 | fi
13 |
14 | # Release package
15 | echo "Publishing @nuxt/ui"
16 | npm publish --access public
17 |
--------------------------------------------------------------------------------
/src/defaults.ts:
--------------------------------------------------------------------------------
1 | import icons from './theme/icons'
2 |
3 | import { pick } from './runtime/utils'
4 |
5 | export const getDefaultUiConfig = (colors?: string[]) => ({
6 | colors: pick({
7 | primary: 'green',
8 | secondary: 'blue',
9 | success: 'green',
10 | info: 'blue',
11 | warning: 'yellow',
12 | error: 'red',
13 | neutral: 'slate'
14 | }, [...(colors || []), 'neutral' as any]),
15 | icons
16 | })
17 |
18 | export const defaultOptions = {
19 | prefix: 'U',
20 | fonts: true,
21 | colorMode: true,
22 | theme: {
23 | colors: undefined,
24 | transitions: true
25 | }
26 | }
27 |
28 | export const resolveColors = (colors?: string[]) => {
29 | return colors?.length
30 | ? [...new Set(['primary', ...colors])]
31 | : ['primary', 'secondary', 'success', 'info', 'warning', 'error']
32 | }
33 |
--------------------------------------------------------------------------------
/src/plugins/auto-import.ts:
--------------------------------------------------------------------------------
1 | import { join } from 'pathe'
2 | import type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'
3 | import { defu } from 'defu'
4 |
5 | import { runtimeDir } from '../unplugin'
6 | import type { NuxtUIOptions } from '../unplugin'
7 | import AutoImport from 'unplugin-auto-import'
8 | import type { Options as AutoImportOptions } from 'unplugin-auto-import/types'
9 |
10 | /**
11 | * This plugin adds all the Nuxt UI composables as auto-imports.
12 | */
13 | export default function AutoImportPlugin(options: NuxtUIOptions, meta: UnpluginContextMeta): UnpluginOptions {
14 | const pluginOptions = defu(options.autoImport, {
15 | dts: options.dts ?? true,
16 | dirs: [join(runtimeDir, 'composables'), join(runtimeDir, 'vue/composables')]
17 | })
18 |
19 | return AutoImport.raw(pluginOptions, meta) as UnpluginOptions
20 | }
21 |
--------------------------------------------------------------------------------
/src/runtime/components/Icon.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/runtime/components/OverlayProvider.vue:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 | onClose(overlay.id, value)"
27 | @after:leave="onAfterLeave(overlay.id)"
28 | />
29 |
30 |
--------------------------------------------------------------------------------
/src/runtime/composables/defineLocale.ts:
--------------------------------------------------------------------------------
1 | import { defu } from 'defu'
2 | import type { Locale, Direction } from '../types/locale'
3 |
4 | interface DefineLocaleOptions {
5 | name: string
6 | code: string
7 | dir?: Direction
8 | messages: M
9 | }
10 |
11 | /* @__NO_SIDE_EFFECTS__ */
12 | export function defineLocale(options: DefineLocaleOptions): Locale {
13 | return defu, [{ dir: Direction }]>(options, { dir: 'ltr' })
14 | }
15 |
--------------------------------------------------------------------------------
/src/runtime/composables/useAvatarGroup.ts:
--------------------------------------------------------------------------------
1 | import { inject, provide, computed, type ComputedRef, type InjectionKey } from 'vue'
2 | import type { AvatarGroupProps } from '../types'
3 |
4 | export const avatarGroupInjectionKey: InjectionKey> = Symbol('nuxt-ui.avatar-group')
5 |
6 | export function useAvatarGroup(props: { size: AvatarGroupProps['size'] }) {
7 | const avatarGroup = inject(avatarGroupInjectionKey, undefined)
8 |
9 | const size = computed(() => props.size ?? avatarGroup?.value.size)
10 | provide(avatarGroupInjectionKey, computed(() => ({ size: size.value })))
11 |
12 | return {
13 | size
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/runtime/composables/useButtonGroup.ts:
--------------------------------------------------------------------------------
1 | import type { InjectionKey, ComputedRef } from 'vue'
2 | import { inject, computed } from 'vue'
3 | import type { ButtonGroupProps } from '../components/ButtonGroup.vue'
4 | import type { GetObjectField } from '../types/utils'
5 |
6 | export const buttonGroupInjectionKey: InjectionKey> = Symbol('nuxt-ui.button-group')
10 |
11 | type Props = {
12 | size?: GetObjectField
13 | }
14 |
15 | export function useButtonGroup(props: Props) {
16 | const buttonGroup = inject(buttonGroupInjectionKey, undefined)
17 | return {
18 | orientation: computed(() => buttonGroup?.value.orientation),
19 | size: computed(() => props?.size ?? buttonGroup?.value.size)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/runtime/composables/useLocale.ts:
--------------------------------------------------------------------------------
1 | import { computed, inject, toRef } from 'vue'
2 | import type { InjectionKey, Ref } from 'vue'
3 | import { createSharedComposable } from '@vueuse/core'
4 | import type { Locale, Messages } from '../types/locale'
5 | import { buildLocaleContext } from '../utils/locale'
6 | import en from '../locale/en'
7 |
8 | export const localeContextInjectionKey: InjectionKey[ | undefined>> = Symbol.for('nuxt-ui.locale-context')
9 |
10 | const _useLocale = (localeOverrides?: Ref | undefined>) => {
11 | const locale = localeOverrides || toRef(inject>(localeContextInjectionKey))
12 |
13 | return buildLocaleContext(computed(() => locale.value || en))
14 | }
15 |
16 | export const useLocale = /* @__PURE__ */ createSharedComposable(_useLocale)
17 |
--------------------------------------------------------------------------------
/src/runtime/composables/usePortal.ts:
--------------------------------------------------------------------------------
1 | import { inject, provide, computed, type Ref, type InjectionKey } from 'vue'
2 |
3 | export const portalTargetInjectionKey: InjectionKey][> = Symbol('nuxt-ui.portal-target')
4 |
5 | export function usePortal(portal: Ref) {
6 | const portalTarget = inject(portalTargetInjectionKey, undefined)
7 |
8 | const to = computed(() => {
9 | if (typeof portal.value === 'boolean' || portal.value === undefined) {
10 | return portalTarget?.value ?? 'body'
11 | }
12 |
13 | return portal.value
14 | })
15 |
16 | const disabled = computed(() => typeof portal.value === 'boolean' ? !portal.value : false)
17 |
18 | provide(portalTargetInjectionKey, computed(() => to.value))
19 |
20 | return computed(() => ({
21 | to: to.value,
22 | disabled: disabled.value
23 | }))
24 | }
25 |
--------------------------------------------------------------------------------
/src/runtime/types/app.config.d.ts:
--------------------------------------------------------------------------------
1 | declare module '#build/app.config' {
2 | import type { AppConfig } from '@nuxt/schema'
3 |
4 | const _default: AppConfig
5 | export default _default
6 | }
7 |
--------------------------------------------------------------------------------
/src/runtime/utils/tv.ts:
--------------------------------------------------------------------------------
1 | import { createTV, type defaultConfig } from 'tailwind-variants'
2 | import type { AppConfig } from '@nuxt/schema'
3 | import appConfig from '#build/app.config'
4 |
5 | const appConfigTv = appConfig as AppConfig & { ui: { tv: typeof defaultConfig } }
6 |
7 | export const tv = /* @__PURE__ */ createTV(appConfigTv.ui?.tv)
8 |
--------------------------------------------------------------------------------
/src/runtime/vue/components/Icon.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/runtime/vue/composables/useAppConfig.ts:
--------------------------------------------------------------------------------
1 | import { reactive } from 'vue'
2 | import appConfig from '#build/app.config'
3 |
4 | const _appConfig = reactive(appConfig)
5 |
6 | export const useAppConfig = () => _appConfig
7 |
--------------------------------------------------------------------------------
/src/runtime/vue/plugins/color-mode.ts:
--------------------------------------------------------------------------------
1 | import { useDark } from '@vueuse/core'
2 | import type { Plugin } from 'vue'
3 |
4 | export default {
5 | install() {
6 | useDark()
7 | }
8 | } satisfies Plugin
9 |
--------------------------------------------------------------------------------
/src/runtime/vue/plugins/head.ts:
--------------------------------------------------------------------------------
1 | import { createHead } from '@unhead/vue/client'
2 | import type { Plugin } from 'vue'
3 |
4 | export default {
5 | install(app) {
6 | // check for existing head instance to avoid replacement
7 | // bit hacky but we can't use injectHead() here
8 | if (app._context.provides.usehead) {
9 | return
10 | }
11 | const head = createHead()
12 | app.use(head)
13 | }
14 | } satisfies Plugin
15 |
--------------------------------------------------------------------------------
/src/theme/accordion.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | root: 'w-full',
4 | item: 'border-b border-default last:border-b-0',
5 | header: 'flex',
6 | trigger: 'group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 focus-visible:outline-primary min-w-0',
7 | content: 'data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none',
8 | body: 'text-sm pb-3.5',
9 | leadingIcon: 'shrink-0 size-5',
10 | trailingIcon: 'shrink-0 size-5 ms-auto group-data-[state=open]:rotate-180 transition-transform duration-200',
11 | label: 'text-start break-words'
12 | },
13 | variants: {
14 | disabled: {
15 | true: {
16 | trigger: 'cursor-not-allowed opacity-75'
17 | }
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/theme/avatar-group.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | root: 'inline-flex flex-row-reverse justify-end',
4 | base: 'relative rounded-full ring-bg first:me-0'
5 | },
6 | variants: {
7 | size: {
8 | '3xs': {
9 | base: 'ring -me-0.5'
10 | },
11 | '2xs': {
12 | base: 'ring -me-0.5'
13 | },
14 | 'xs': {
15 | base: 'ring -me-0.5'
16 | },
17 | 'sm': {
18 | base: 'ring-2 -me-1.5'
19 | },
20 | 'md': {
21 | base: 'ring-2 -me-1.5'
22 | },
23 | 'lg': {
24 | base: 'ring-2 -me-1.5'
25 | },
26 | 'xl': {
27 | base: 'ring-3 -me-2'
28 | },
29 | '2xl': {
30 | base: 'ring-3 -me-2'
31 | },
32 | '3xl': {
33 | base: 'ring-3 -me-2'
34 | }
35 | }
36 | },
37 | defaultVariants: {
38 | size: 'md'
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/theme/card.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | root: 'rounded-lg',
4 | header: 'p-4 sm:px-6',
5 | body: 'p-4 sm:p-6',
6 | footer: 'p-4 sm:px-6'
7 | },
8 | variants: {
9 | variant: {
10 | solid: {
11 | root: 'bg-inverted text-inverted'
12 | },
13 | outline: {
14 | root: 'bg-default ring ring-default divide-y divide-default'
15 | },
16 | soft: {
17 | root: 'bg-elevated/50 divide-y divide-default'
18 | },
19 | subtle: {
20 | root: 'bg-elevated/50 ring ring-default divide-y divide-default'
21 | }
22 | }
23 | },
24 | defaultVariants: {
25 | variant: 'outline'
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/theme/collapsible.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | root: '',
4 | content: 'data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden'
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/theme/container.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | base: 'w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8'
3 | }
4 |
--------------------------------------------------------------------------------
/src/theme/form-field.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | root: '',
4 | wrapper: '',
5 | labelWrapper: 'flex content-center items-center justify-between',
6 | label: 'block font-medium text-default',
7 | container: 'mt-1 relative',
8 | description: 'text-muted',
9 | error: 'mt-2 text-error',
10 | hint: 'text-muted',
11 | help: 'mt-2 text-muted'
12 | },
13 | variants: {
14 | size: {
15 | xs: { root: 'text-xs' },
16 | sm: { root: 'text-xs' },
17 | md: { root: 'text-sm' },
18 | lg: { root: 'text-sm' },
19 | xl: { root: 'text-base' }
20 | },
21 | required: {
22 | true: {
23 | label: `after:content-['*'] after:ms-0.5 after:text-error`
24 | }
25 | }
26 | },
27 | defaultVariants: {
28 | size: 'md'
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/theme/form.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | base: ''
3 | }
4 |
--------------------------------------------------------------------------------
/src/theme/icons.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | arrowLeft: 'i-lucide-arrow-left',
3 | arrowRight: 'i-lucide-arrow-right',
4 | check: 'i-lucide-check',
5 | chevronDoubleLeft: 'i-lucide-chevrons-left',
6 | chevronDoubleRight: 'i-lucide-chevrons-right',
7 | chevronDown: 'i-lucide-chevron-down',
8 | chevronLeft: 'i-lucide-chevron-left',
9 | chevronRight: 'i-lucide-chevron-right',
10 | chevronUp: 'i-lucide-chevron-up',
11 | close: 'i-lucide-x',
12 | ellipsis: 'i-lucide-ellipsis',
13 | external: 'i-lucide-arrow-up-right',
14 | folder: 'i-lucide-folder',
15 | folderOpen: 'i-lucide-folder-open',
16 | loading: 'i-lucide-loader-circle',
17 | minus: 'i-lucide-minus',
18 | plus: 'i-lucide-plus',
19 | search: 'i-lucide-search'
20 | }
21 |
--------------------------------------------------------------------------------
/src/theme/kbd.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | base: 'inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans',
3 | variants: {
4 | variant: {
5 | solid: 'bg-inverted text-inverted',
6 | outline: 'bg-default text-highlighted ring ring-inset ring-accented',
7 | subtle: 'bg-elevated text-default ring ring-inset ring-accented'
8 | },
9 | size: {
10 | sm: 'h-4 min-w-[16px] text-[10px]',
11 | md: 'h-5 min-w-[20px] text-[11px]',
12 | lg: 'h-6 min-w-[24px] text-[12px]'
13 | }
14 | },
15 | defaultVariants: {
16 | variant: 'outline',
17 | size: 'md'
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/theme/link.ts:
--------------------------------------------------------------------------------
1 | import type { ModuleOptions } from '../module'
2 |
3 | export default (options: Required) => ({
4 | base: 'focus-visible:outline-primary',
5 | variants: {
6 | active: {
7 | true: 'text-primary',
8 | false: 'text-muted'
9 | },
10 | disabled: {
11 | true: 'cursor-not-allowed opacity-75'
12 | }
13 | },
14 | compoundVariants: [{
15 | active: false,
16 | disabled: false,
17 | class: ['hover:text-default', options.theme.transitions && 'transition-colors']
18 | }]
19 | })
20 |
--------------------------------------------------------------------------------
/src/theme/pagination.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | root: '',
4 | list: 'flex items-center gap-1',
5 | ellipsis: 'pointer-events-none',
6 | label: 'min-w-5 text-center',
7 | first: '',
8 | prev: '',
9 | item: '',
10 | next: '',
11 | last: ''
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/theme/popover.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | content: 'bg-default shadow-lg rounded-md ring ring-default data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-popover-content-transform-origin) focus:outline-none pointer-events-auto',
4 | arrow: 'fill-default'
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/theme/select-menu.ts:
--------------------------------------------------------------------------------
1 | import { defuFn } from 'defu'
2 | import type { ModuleOptions } from '../module'
3 | import select from './select'
4 |
5 | export default (options: Required) => {
6 | return defuFn({
7 | slots: {
8 | input: 'border-b border-default',
9 | focusScope: 'flex flex-col min-h-0',
10 | content: (content: string) => [content, 'origin-(--reka-combobox-content-transform-origin) w-(--reka-combobox-trigger-width)']
11 | }
12 | }, select(options))
13 | }
14 |
--------------------------------------------------------------------------------
/src/theme/skeleton.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | base: 'animate-pulse rounded-md bg-elevated'
3 | }
4 |
--------------------------------------------------------------------------------
/src/theme/tooltip.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | slots: {
3 | content: 'flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto',
4 | arrow: 'fill-default',
5 | text: 'truncate',
6 | kbds: `hidden lg:inline-flex items-center shrink-0 gap-0.5 before:content-['·'] before:me-0.5`,
7 | kbdsSize: 'sm'
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/vite.ts:
--------------------------------------------------------------------------------
1 | import { NuxtUIPlugin } from './unplugin'
2 |
3 | export type { NuxtUIOptions } from './unplugin'
4 | export default NuxtUIPlugin.vite
5 |
--------------------------------------------------------------------------------
/test/component-render.ts:
--------------------------------------------------------------------------------
1 | import path from 'node:path'
2 | import { mountSuspended } from '@nuxt/test-utils/runtime'
3 |
4 | export default async function (nameOrHtml: string, options: any, component: any) {
5 | let html: string
6 | const name = component.__file ? path.parse(component.__file).name : undefined
7 | if (options === undefined) {
8 | const app = {
9 | template: nameOrHtml,
10 | components: { [`U${name}`]: component }
11 | }
12 | const result = await mountSuspended(app)
13 | html = result.html()
14 | } else {
15 | const cResult = await mountSuspended(component, options)
16 | html = cResult.html()
17 | }
18 | return html
19 | }
20 |
--------------------------------------------------------------------------------
/test/components/Container.spec.ts:
--------------------------------------------------------------------------------
1 | import { describe, it, expect } from 'vitest'
2 | import Container, { type ContainerProps, type ContainerSlots } from '../../src/runtime/components/Container.vue'
3 | import ComponentRender from '../component-render'
4 |
5 | describe('Container', () => {
6 | it.each([
7 | // Props
8 | ['with as', { props: { as: 'article' } }],
9 | ['with class', { props: { class: 'max-w-5xl' } }],
10 | // Slots
11 | ['with default slot', { slots: { default: () => 'Default slot' } }]
12 | ])('renders %s correctly', async (nameOrHtml: string, options: { props?: ContainerProps, slots?: Partial }) => {
13 | const html = await ComponentRender(nameOrHtml, options, Container)
14 | expect(html).toMatchSnapshot()
15 | })
16 | })
17 |
--------------------------------------------------------------------------------
/test/components/Skeleton.spec.ts:
--------------------------------------------------------------------------------
1 | import { describe, it, expect } from 'vitest'
2 | import Skeleton, { type SkeletonProps } from '../../src/runtime/components/Skeleton.vue'
3 | import ComponentRender from '../component-render'
4 |
5 | describe('Skeleton', () => {
6 | it.each([
7 | // Props
8 | ['with as', { props: { as: 'span' } }],
9 | ['with class', { props: { class: 'rounded-full size-12' } }]
10 | ])('renders %s correctly', async (nameOrHtml: string, options: { props?: SkeletonProps }) => {
11 | const html = await ComponentRender(nameOrHtml, options, Skeleton)
12 | expect(html).toMatchSnapshot()
13 | })
14 | })
15 |
--------------------------------------------------------------------------------
/test/components/__snapshots__/Container-vue.spec.ts.snap:
--------------------------------------------------------------------------------
1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2 |
3 | exports[`Container > renders with as correctly 1`] = `""`;
4 |
5 | exports[`Container > renders with class correctly 1`] = `""`;
6 |
7 | exports[`Container > renders with default slot correctly 1`] = `"]Default slot
"`;
8 |
--------------------------------------------------------------------------------
/test/components/__snapshots__/Container.spec.ts.snap:
--------------------------------------------------------------------------------
1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2 |
3 | exports[`Container > renders with as correctly 1`] = `""`;
4 |
5 | exports[`Container > renders with class correctly 1`] = `""`;
6 |
7 | exports[`Container > renders with default slot correctly 1`] = `"Default slot
"`;
8 |
--------------------------------------------------------------------------------
/test/components/__snapshots__/Skeleton-vue.spec.ts.snap:
--------------------------------------------------------------------------------
1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2 |
3 | exports[`Skeleton > renders with as correctly 1`] = `""`;
4 |
5 | exports[`Skeleton > renders with class correctly 1`] = `""`;
6 |
--------------------------------------------------------------------------------
/test/components/__snapshots__/Skeleton.spec.ts.snap:
--------------------------------------------------------------------------------
1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2 |
3 | exports[`Skeleton > renders with as correctly 1`] = `""`;
4 |
5 | exports[`Skeleton > renders with class correctly 1`] = `""`;
6 |
--------------------------------------------------------------------------------
/test/nuxt/nuxt.config.ts:
--------------------------------------------------------------------------------
1 | export default defineNuxtConfig({
2 | modules: ['../../src/module']
3 | })
4 |
--------------------------------------------------------------------------------
/test/nuxt/setup.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuxt/ui/546df572fca60325315bed17c9be3367052fb7a9/test/nuxt/setup.ts
--------------------------------------------------------------------------------
/test/utils/setup.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error incomplete implementation
2 | window.IntersectionObserver = class IntersectionObserver {
3 | // eslint-disable-next-line
4 | constructor() {}
5 | observe() {}
6 | unobserve() {}
7 | disconnect() {}
8 | }
9 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | // https://nuxt.com/docs/guide/concepts/typescript
3 | "extends": "./.nuxt/tsconfig.json",
4 | "exclude": ["cli", "docs", "dist", "playground", "playground-vue", "node_modules"]
5 | }
6 |
--------------------------------------------------------------------------------
/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "git": {
3 | "deploymentEnabled": false
4 | },
5 | "github": {
6 | "silent": true
7 | }
8 | }
--------------------------------------------------------------------------------
/vitest.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath } from 'node:url'
2 | import { defineVitestConfig } from '@nuxt/test-utils/config'
3 |
4 | export default defineVitestConfig({
5 | test: {
6 | testTimeout: 1000,
7 | globals: true,
8 | silent: true,
9 | include: ['./test/components/**.spec.ts'],
10 | environment: 'nuxt',
11 | environmentOptions: {
12 | nuxt: {
13 | rootDir: fileURLToPath(new URL('test/nuxt/', import.meta.url))
14 | }
15 | },
16 | setupFiles: fileURLToPath(new URL('test/nuxt/setup.ts', import.meta.url))
17 | }
18 | })
19 |
--------------------------------------------------------------------------------
/vue-plugin.d.ts:
--------------------------------------------------------------------------------
1 | import type { Plugin } from 'vue'
2 |
3 | declare const plugin: Plugin
4 |
5 | export default plugin
6 |
--------------------------------------------------------------------------------