import { builtinSchemaComponentNames, builtinSchemaComponents, createDefaultComponentMap } from './materials.js'

export const defaultComponentMap: Record<string, string> = createDefaultComponentMap()
export { builtinSchemaComponentNames, builtinSchemaComponents }

export const defaultComponentsMap = [
  {
    componentName: 'TinyCarouselItem',
    package: '@opentiny/vue',
    exportName: 'CarouselItem',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyCheckboxButton',
    package: '@opentiny/vue',
    exportName: 'CheckboxButton',
    destructuring: true,
    version: '3.24.0'
  },
  { componentName: 'TinyTree', package: '@opentiny/vue', exportName: 'Tree', destructuring: true, version: '3.24.0' },
  {
    componentName: 'TinyPopover',
    package: '@opentiny/vue',
    exportName: 'Popover',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyTooltip',
    package: '@opentiny/vue',
    exportName: 'Tooltip',
    destructuring: true,
    version: '3.2.0'
  },
  { componentName: 'TinyCol', package: '@opentiny/vue', exportName: 'Col', destructuring: true, version: '3.24.0' },
  {
    componentName: 'TinyDropdownItem',
    package: '@opentiny/vue',
    exportName: 'DropdownItem',
    destructuring: true,
    version: '3.24.0'
  },
  { componentName: 'TinyPager', package: '@opentiny/vue', exportName: 'Pager', destructuring: true, version: '3.24.0' },
  {
    componentName: 'TinyPlusAccessdeclined',
    package: '@opentiny/vue',
    exportName: 'AccessDeclined',
    destructuring: true,
    version: '3.4.1'
  },
  {
    componentName: 'TinyPlusFrozenPage',
    package: '@opentiny/vue',
    exportName: 'FrozenPage',
    destructuring: true,
    version: '3.4.1'
  },
  {
    componentName: 'TinyPlusNonSupportRegion',
    package: '@opentiny/vue',
    exportName: 'NonSupportRegion',
    destructuring: true,
    version: '3.4.1'
  },
  {
    componentName: 'TinyPlusBeta',
    package: '@opentiny/vue',
    exportName: 'Beta',
    destructuring: true,
    version: '3.4.1'
  },
  {
    componentName: 'TinySearch',
    package: '@opentiny/vue',
    exportName: 'Search',
    destructuring: true,
    version: '3.24.0'
  },
  { componentName: 'TinyRow', package: '@opentiny/vue', exportName: 'Row', destructuring: true, version: '3.24.0' },
  {
    componentName: 'TinyFormItem',
    package: '@opentiny/vue',
    exportName: 'FormItem',
    destructuring: true,
    version: '3.24.0'
  },
  { componentName: 'TinyAlert', package: '@opentiny/vue', exportName: 'Alert', destructuring: true, version: '3.2.0' },
  { componentName: 'TinyInput', package: '@opentiny/vue', exportName: 'Input', destructuring: true, version: '3.24.0' },
  { componentName: 'TinyTabs', package: '@opentiny/vue', exportName: 'Tabs', destructuring: true, version: '3.24.0' },
  {
    componentName: 'TinyDropdownMenu',
    package: '@opentiny/vue',
    exportName: 'DropdownMenu',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyDialogBox',
    package: '@opentiny/vue',
    exportName: 'DialogBox',
    destructuring: true,
    version: '3.2.0'
  },
  {
    componentName: 'TinySwitch',
    package: '@opentiny/vue',
    exportName: 'Switch',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyTimeLine',
    package: '@opentiny/vue',
    exportName: 'TimeLine',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyTabItem',
    package: '@opentiny/vue',
    exportName: 'TabItem',
    destructuring: true,
    version: '3.24.0'
  },
  { componentName: 'TinyRadio', package: '@opentiny/vue', exportName: 'Radio', destructuring: true, version: '3.24.0' },
  { componentName: 'TinyForm', package: '@opentiny/vue', exportName: 'Form', destructuring: true, version: '3.24.0' },
  { componentName: 'TinyGrid', package: '@opentiny/vue', exportName: 'Grid', destructuring: true, version: '3.24.0' },
  {
    componentName: 'TinyNumeric',
    package: '@opentiny/vue',
    exportName: 'Numeric',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyCheckboxGroup',
    package: '@opentiny/vue',
    exportName: 'CheckboxGroup',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinySelect',
    package: '@opentiny/vue',
    exportName: 'Select',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyButtonGroup',
    package: '@opentiny/vue',
    exportName: 'ButtonGroup',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyButton',
    package: '@opentiny/vue',
    exportName: 'Button',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyCarousel',
    package: '@opentiny/vue',
    exportName: 'Carousel',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyPopeditor',
    package: '@opentiny/vue',
    exportName: 'Popeditor',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyDatePicker',
    package: '@opentiny/vue',
    exportName: 'DatePicker',
    destructuring: true,
    version: '3.24.0'
  },
  {
    componentName: 'TinyDropdown',
    package: '@opentiny/vue',
    exportName: 'Dropdown',
    destructuring: true,
    version: '0.1.20'
  },
  {
    componentName: 'TinyChartHistogram',
    package: '@opentiny/vue',
    exportName: 'ChartHistogram',
    destructuring: true,
    version: '3.24.0'
  },
  { componentName: 'PortalHome', main: 'common/components/home', destructuring: false, version: '1.0.0' },
  { componentName: 'PreviewBlock1', main: 'preview', destructuring: false, version: '1.0.0' },
  { componentName: 'PortalHeader', main: 'common', destructuring: false, version: '1.0.0' },
  { componentName: 'PortalBlock', main: 'portal', destructuring: false, version: '1.0.0' },
  { componentName: 'PortalPermissionBlock', main: '', destructuring: false, version: '1.0.0' },
  { componentName: 'TinyCard', exportName: 'Card', package: '@opentiny/vue', version: '^3.10.0', destructuring: true }
]