import {
  NButton,
  NButtonGroup,
  NCard,
  NCollapse,
  NCollapseItem,
  NColorPicker,
  NDescriptions,
  NDescriptionsItem,
  NDivider,
  NEl,
  NEmpty,
  NForm,
  NFormItem,
  NInput,
  NInputGroup,
  NInputNumber,
  NLayout,
  NLayoutContent,
  NLayoutFooter,
  NLayoutHeader,
  NLayoutSider,
  NMenu,
  NModal,
  NRadio,
  NRadioGroup,
  NScrollbar,
  NSelect,
  NSlider,
  NSpace,
  NSpin,
  NSwitch,
  NTabPane,
  NTabs,
  NTimeline,
  NTimelineItem,
  NTooltip
} from 'naive-ui'

import type { MenuOption, SelectOption } from './type'

const OInput = NInput
const OSelect = NSelect
const OTabPane = NTabPane
const OTabs = NTabs
const ODescriptions = NDescriptions
const ODescriptionsItem = NDescriptionsItem
const OEmpty = NEmpty
const OMenu = NMenu
const OEl = NEl
const OLayout = NLayout
const OLayoutContent = NLayoutContent
const OLayoutFooter = NLayoutFooter
const OScrollbar = NScrollbar
const OSlider = NSlider
const OSpace = NSpace
const OLayoutHeader = NLayoutHeader
const OLayoutSider = NLayoutSider
const OForm = NForm
const OFormItem = NFormItem
const OColorPicker = NColorPicker
const OButton = NButton
const OCard = NCard
const OInputGroup = NInputGroup
const OInputNumber = NInputNumber
const OModal = NModal
const ORadio = NRadio
const ORadioGroup = NRadioGroup
const OSwitch = NSwitch
const OTimeline = NTimeline
const OTimelineItem = NTimelineItem
const OCollapse = NCollapse
const OCollapseItem = NCollapseItem
const ODivider = NDivider
const OSpin = NSpin
const OTooltip = NTooltip
const OButtonGroup = NButtonGroup
export default {
  OInput: OInput,
  OSelect: NSelect,
  OTabPane: NTabPane,
  OTabs: NTabs,
  ODescriptions: NDescriptions,
  ODescriptionsItem: NDescriptionsItem,
  OEmpty: NEmpty,
  OMenu: NMenu,
  OEl: NEl,
  OLayout: NLayout,
  OLayoutContent: NLayoutContent,
  OLayoutFooter: NLayoutFooter,
  OScrollbar: NScrollbar,
  OSlider: NSlider,
  OSpace: NSpace,
  OLayoutHeader: NLayoutHeader,
  OLayoutSider: NLayoutSider,
  OForm: NForm,
  OFormItem: NFormItem,
  OColorPicker: NColorPicker,
  OButton: OButton,
  OCard: OCard,
  OInputGroup: OInputGroup,
  OInputNumber: OInputNumber,
  OModal: OModal,
  ORadio: NRadio,
  ORadioGroup: NRadioGroup,
  OSwitch: NSwitch,
  OTimeline: NTimeline,
  OTimelineItem: NTimelineItem,
  OCollapse: NCollapse,
  OCollapseItem: NCollapseItem,
  ODivider: NDivider,
  OSpin: NSpin,
  OTooltip: NTooltip,
  OButtonGroup: NButtonGroup
}

export type { MenuOption, SelectOption }

export {
  OButton,
  OButtonGroup,
  OCard,
  OCollapse,
  OCollapseItem,
  OColorPicker,
  ODescriptions,
  ODescriptionsItem,
  ODivider,
  OEl,
  OEmpty,
  OForm,
  OFormItem,
  OInput,
  OInputGroup,
  OInputNumber,
  OLayout,
  OLayoutContent,
  OLayoutFooter,
  OLayoutHeader,
  OLayoutSider,
  OMenu,
  OModal,
  ORadio,
  ORadioGroup,
  OScrollbar,
  OSelect,
  OSlider,
  OSpace,
  OSpin,
  OSwitch,
  OTabPane,
  OTabs,
  OTimeline,
  OTimelineItem,
  OTooltip
}
