import {
  IconArrowDropdown,
  IconPrevious,
  IconNext,
  IconArrowUp,
  IconArrowDown,
  IconArrowRight,
  IconArrowLeft,
  IconMore,
  IconNavigationAppLauncher,
  IconNavigationArrowUpdown,
  IconNavigationChart,
  IconNavigationDashboard,
  IconNavigationHome,
  IconNavigationHub,
  IconNavigationMonitoring,
  IconNavigationTimeline,
  IconNavigationToFirstPage,
  IconNavigationToLastPage,
} from '../raw'
import type { IconDefinition } from '../types'

export {
  IconArrowDropdown,
  IconPrevious,
  IconNext,
  IconArrowUp,
  IconArrowDown,
  IconArrowRight,
  IconArrowLeft,
  IconMore,
  IconNavigationAppLauncher,
  IconNavigationArrowUpdown,
  IconNavigationChart,
  IconNavigationDashboard,
  IconNavigationHome,
  IconNavigationHub,
  IconNavigationMonitoring,
  IconNavigationTimeline,
  IconNavigationToFirstPage,
  IconNavigationToLastPage,
}

export const navigationIcons = {
  'navigation/arrow-dropdown': IconArrowDropdown,
  'navigation/previous': IconPrevious,
  'navigation/next': IconNext,
  'navigation/arrow-up': IconArrowUp,
  'navigation/arrow-down': IconArrowDown,
  'navigation/arrow-right': IconArrowRight,
  'navigation/arrow-left': IconArrowLeft,
  'navigation/more': IconMore,
  'navigation/app-launcher': IconNavigationAppLauncher,
  'navigation/arrow-updown': IconNavigationArrowUpdown,
  'navigation/chart': IconNavigationChart,
  'navigation/dashboard': IconNavigationDashboard,
  'navigation/home': IconNavigationHome,
  'navigation/hub': IconNavigationHub,
  'navigation/monitoring': IconNavigationMonitoring,
  'navigation/timeline': IconNavigationTimeline,
  'navigation/to-first-page': IconNavigationToFirstPage,
  'navigation/to-last-page': IconNavigationToLastPage,
} as const

export const navigationIconManifest: IconDefinition[] = [
  {
    name: 'navigation/arrow-dropdown',
    category: 'navigation',
    exportName: 'IconArrowDropdown',
    aliases: ['arrow-dropdown'],
    tags: ['chevron', 'expand'],
  },
  {
    name: 'navigation/previous',
    category: 'navigation',
    exportName: 'IconPrevious',
    aliases: ['previous'],
    tags: ['left', 'pagination'],
  },
  {
    name: 'navigation/next',
    category: 'navigation',
    exportName: 'IconNext',
    aliases: ['next'],
    tags: ['right', 'pagination'],
  },
  {
    name: 'navigation/arrow-up',
    category: 'navigation',
    exportName: 'IconArrowUp',
    aliases: ['arrow-up'],
    tags: ['up'],
  },
  {
    name: 'navigation/arrow-down',
    category: 'navigation',
    exportName: 'IconArrowDown',
    aliases: ['arrow-down'],
    tags: ['down'],
  },
  {
    name: 'navigation/arrow-right',
    category: 'navigation',
    exportName: 'IconArrowRight',
    aliases: ['arrow-right'],
    tags: ['right'],
  },
  {
    name: 'navigation/arrow-left',
    category: 'navigation',
    exportName: 'IconArrowLeft',
    aliases: ['arrow-left'],
    tags: ['left'],
  },
  {
    name: 'navigation/more',
    category: 'navigation',
    exportName: 'IconMore',
    aliases: ['more'],
    tags: ['overflow', 'kebab', 'context-menu'],
  },
  {
    name: 'navigation/app-launcher',
    category: 'navigation',
    exportName: 'IconNavigationAppLauncher',
    aliases: ['navigation-app-launcher'],
    tags: ["waffle","app launcher","app grid"],
    figmaNodeId: '1153:23474',
  },
  {
    name: 'navigation/arrow-updown',
    category: 'navigation',
    exportName: 'IconNavigationArrowUpdown',
    aliases: ['navigation-arrow-updown'],
    tags: ["updown","chevron up","collapse"],
    figmaNodeId: '1153:23438',
  },
  {
    name: 'navigation/chart',
    category: 'navigation',
    exportName: 'IconNavigationChart',
    aliases: ['navigation-chart'],
    tags: ["chart","analytics","trend"],
    figmaNodeId: '1154:24009',
  },
  {
    name: 'navigation/dashboard',
    category: 'navigation',
    exportName: 'IconNavigationDashboard',
    aliases: ['navigation-dashboard'],
    tags: ["dashboard","overview","gauge"],
    figmaNodeId: '1154:23960',
  },
  {
    name: 'navigation/home',
    category: 'navigation',
    exportName: 'IconNavigationHome',
    aliases: ['navigation-home'],
    tags: ["home","homepage","start"],
    figmaNodeId: '1153:23203',
  },
  {
    name: 'navigation/hub',
    category: 'navigation',
    exportName: 'IconNavigationHub',
    aliases: ['navigation-hub'],
    tags: ["center","hub","workspace center"],
    figmaNodeId: '1153:23725',
  },
  {
    name: 'navigation/monitoring',
    category: 'navigation',
    exportName: 'IconNavigationMonitoring',
    aliases: ['navigation-monitoring'],
    tags: ["monitor","monitoring","screen"],
    figmaNodeId: '1155:24063',
  },
  {
    name: 'navigation/timeline',
    category: 'navigation',
    exportName: 'IconNavigationTimeline',
    aliases: ['navigation-timeline'],
    tags: ["timeline","schedule","sequence"],
    figmaNodeId: '1574:1023',
  },
  {
    name: 'navigation/to-first-page',
    category: 'navigation',
    exportName: 'IconNavigationToFirstPage',
    aliases: ['navigation-to-first-page'],
    tags: ["first page","to first page","jump first"],
    figmaNodeId: '2645:28002',
  },
  {
    name: 'navigation/to-last-page',
    category: 'navigation',
    exportName: 'IconNavigationToLastPage',
    aliases: ['navigation-to-last-page'],
    tags: ["last page","to last page","jump last"],
    figmaNodeId: '2645:28003',
  },
]
