import type { App } from 'vue' import { NAlert, NAvatar, NBackTop, NBadge, NBreadcrumb, NBreadcrumbItem, NButton, NCard, NCascader, NCheckbox, NCheckboxGroup, NCol, NConfigProvider, NDataTable, NDatePicker, NDescriptions, NDescriptionsItem, NDialogProvider, NDivider, NDrawer, NDrawerContent, NDropdown, NElement, NForm, NFormItem, NGrid, NGridItem, NIcon, NInput, NInputGroup, NInputNumber, NLayout, NLayoutContent, NLayoutFooter, NLayoutHeader, NLayoutSider, NList, NListItem, NLoadingBarProvider, NMenu, NMessageProvider, NModal, NNotificationProvider, NPagination, NPopover, NProgress, NRadio, NRadioGroup, NResult, NRow, NSelect, NSkeleton, NSpace, NSpin, NStep, NSteps, NSwitch, NTabPane, NTable, NTabs, NTag, NThing, NTimePicker, NTooltip, NTree, NUpload, create, } from 'naive-ui' // https://www.naiveui.com/en-US/os-theme/docs/import-on-demand const naive = create({ components: [ NMessageProvider, NDialogProvider, NConfigProvider, NInput, NButton, NForm, NFormItem, NCheckboxGroup, NCheckbox, NIcon, NLayout, NLayoutHeader, NLayoutContent, NLayoutFooter, NLayoutSider, NMenu, NBreadcrumb, NBreadcrumbItem, NDropdown, NSpace, NTooltip, NAvatar, NTabs, NTabPane, NCard, NRow, NCol, NDrawer, NDrawerContent, NDivider, NSwitch, NBadge, NAlert, NElement, NTag, NNotificationProvider, NProgress, NDatePicker, NGrid, NGridItem, NList, NListItem, NThing, NDataTable, NPopover, NPagination, NSelect, NRadioGroup, NRadio, NSteps, NStep, NInputGroup, NResult, NDescriptions, NDescriptionsItem, NTable, NInputNumber, NLoadingBarProvider, NModal, NUpload, NTree, NSpin, NTimePicker, NBackTop, NSkeleton, NCascader, ], }) export function setupNaive(app: App) { app.use(naive) }