import React from 'react';
import {
    LibraryIcon,
    ReadyPlayerMeIcon,
    SketchfabIcon,
    SpotifyLogo,
    TenorIcon,
    Text3DIcon,
    UploadCloud
} from './resource/assetLibraryIcons';
import { CheckboxChecked, CheckboxUnchecked } from './resource/checkbox';
import {
    Add,
    AgainstArrows,
    AlignBottom,
    AlignCenter,
    AlignLeft,
    AlignMiddle,
    AlignRight,
    AlignTop,
    ArrowCircle,
    ArrowDown,
    ArrowDown2,
    ArrowLeft,
    ArrowRight,
    ArrowTop,
    AutoStar,
    AutoStars,
    Bell,
    Button,
    Calendar, Cancel,
    Card,
    CardComponent,
    Chat,
    Check,
    CheckSmall,
    Clock,
    Close,
    Close2,
    Copy,
    Delete,
    DeviceAllM,
    DeviceAllS,
    DeviceDesktopL,
    DeviceDesktopM,
    DeviceDesktopS,
    DeviceMobileL,
    DeviceMobileM,
    DeviceMobileS,
    DeviceTabletL,
    DeviceTabletM,
    DeviceTabletS,
    Drag,
    Edit,
    Edit2,
    Export,
    ExportLeads,
    EyeOff,
    EyeOn,
    Facebook,
    Faq,
    FaqBig,
    Filter,
    Form,
    Google,
    GoogleDrive,
    GoogleSheets,
    Grid,
    Help,
    Home,
    Image,
    Info,
    Instagram,
    Integrations,
    Key,
    KlickTipp,
    Lightning,
    LinkIcon,
    LockClose,
    LockOpen,
    LogoApple,
    LogoMessenger,
    LogoTelegram,
    Mail,
    Map,
    MapComponent,
    Material,
    Measure,
    Move,
    MoveTo,
    NavBurger,
    NavBurger2,
    NavDots,
    NavDotsVertical,
    NewFeatures,
    None,
    Notification,
    Options,
    PcBug,
    Phone,
    Play,
    Price,
    Profile, Refresh,
    Restore,
    Rotate,
    Scale, SDK,
    Search,
    Settings,
    Speaker,
    Star, StartFinish,
    Status, Styles,
    Submit,
    SubmitAction, Support,
    Text,
    TextAlignCenter,
    TextAlignLeft,
    TextAlignRight,
    TextBold,
    TextColorPicker,
    TextFontSize,
    TextItalic,
    TextListArrow,
    TextListCheck,
    TextListCircle,
    TextListCross,
    TextListSquare,
    ToGround, Trash,
    Tutorials,
    Twitter,
    Unsplash, Upload,
    Vimeo,
    WhatsUp,
    YouTube,
    Zapier
} from './resource';

export const iconLibrary = {
    System: {
        checkboxChecked:   <CheckboxChecked activated />,
        checkboxUnchecked: <CheckboxUnchecked />,
        check:             <Check />,
        checkSmall:        <CheckSmall />,
        lockClose:         <LockClose />,
        lockOpen:          <LockOpen />,
        key:               <Key />,
        eyeOn:             <EyeOn />,
        eyeOff:            <EyeOff />,
        play:              <Play />,
        grid:              <Grid />,
        settings:          <Settings />,
        options:           <Options />,
        submit:            <Submit />,
        link:              <LinkIcon />,
        styles:            <Styles />,
        upload:            <Upload />,
        drag:              <Drag />,
        faq:               <Faq />,
        autoStar:          <AutoStar />,
        autoStars:         <AutoStars />,
        search:            <Search />,
        pcBug:             <PcBug />

    },
    Settings:   { none: <None /> },
    Navigation: {
        home:         <Home />,
        burger:       <NavBurger />,
        burger2:      <NavBurger2 />,
        dots:         <NavDots />,
        dotsVertical: <NavDotsVertical />
    },
    Actions: {
        close:         <Close />,
        close2:        <Close2 />,
        add:           <Add />,
        copy:          <Copy />,
        delete:        <Delete />,
        remove:        <Trash />,
        edit2:         <Edit2 />,
        edit:          <Edit />,
        restore:       <Restore />,
        measure:       <Measure />,
        moveTo:        <MoveTo />,
        toGround:      <ToGround />,
        export:        <Export />,
        star:          <Star />,
        move:          <Move />,
        rotate:        <Rotate />,
        scale:         <Scale />,
        material:      <Material />,
        lightning:     <Lightning />,
        againstArrows: <AgainstArrows />,
        cancel:        <Cancel />,
        refresh:       <Refresh />,
        info:          <Info />
    },
    Arrows: {
        arrowDown:   <ArrowDown />,
        arrowLeft:   <ArrowLeft />,
        arrowRight:  <ArrowRight />,
        arrowTop:    <ArrowTop />,
        arrowDown2:  <ArrowDown2 />,
        arrowCircle: <ArrowCircle />
    },
    Align: {
        alignTop:    <AlignTop />,
        alignMiddle: <AlignMiddle />,
        alignBottom: <AlignBottom />,
        alignLeft:   <AlignLeft />,
        alignCenter: <AlignCenter />,
        alignRight:  <AlignRight />
    },
    Content: {
        image:         <Image />,
        clock:         <Clock />,
        form:          <Form />,
        mail:          <Mail />,
        phone:         <Phone />,
        text:          <Text />,
        calendar:      <Calendar />,
        submitAction:  <SubmitAction />,
        map:           <Map />,
        mapComponent:  <MapComponent />,
        button:        <Button />,
        cardComponent: <CardComponent />,
        start:         <StartFinish />
    },
    Profile: {
        profile:      <Profile />,
        card:         <Card />,
        bell:         <Bell />,
        speaker:      <Speaker />,
        price:        <Price />,
        notification: <Notification />
    },
    Crm: {
        status:       <Status />,
        exportLeads:  <ExportLeads />,
        integrations: <Integrations />,
        filter:       <Filter />
    },
    TextEdit: {
        textAlignCenter: <TextAlignCenter />,
        textAlignLeft:   <TextAlignLeft />,
        textAlignRight:  <TextAlignRight />,
        textBold:        <TextBold />,
        textColorPicker: <TextColorPicker />,
        textFontSize:    <TextFontSize />,
        textItalic:      <TextItalic />

    },
    TextList: {
        textListArrow:  <TextListArrow />,
        textListCheck:  <TextListCheck />,
        textListCircle: <TextListCircle />,
        textListCross:  <TextListCross />,
        textListSquare: <TextListSquare />
    },
    Devices: {
        deviceMobile:  { 16: <DeviceMobileS />, 24: <DeviceMobileM />, 56: <DeviceMobileL /> },
        deviceTablet:  { 16: <DeviceTabletS />, 24: <DeviceTabletM />, 56: <DeviceTabletL /> },
        deviceDesktop: { 16: <DeviceDesktopS />, 24: <DeviceDesktopM />, 56: <DeviceDesktopL /> },
        deviceAll:     { 16: <DeviceAllS />, 24: <DeviceAllM /> }
    },
    Help: {
        help:        <Help />,
        chat:        <Chat />,
        faqBig:      <FaqBig />,
        tutorials:   <Tutorials />,
        newFeatures: <NewFeatures />,
        support:     <Support />,
        sdk:         <SDK />

    },
    Logos: {
        apple:        <LogoApple />,
        google:       <Google />,
        facebook:     <Facebook />,
        messenger:    <LogoMessenger />,
        telegram:     <LogoTelegram />,
        klickTipp:    <KlickTipp />,
        googleSheets: <GoogleSheets />,
        unsplash:     <Unsplash />,
        youtube:      <YouTube />,
        vimeo:        <Vimeo />,
        instagram:    <Instagram />,
        googleDrive:  <GoogleDrive />,
        whatsUp:      <WhatsUp />,
        twitter:      <Twitter />,
        zapier:       <Zapier />
    },
    AssetLibraryIcons: {
        uploadCloud:   <UploadCloud />,
        library:       <LibraryIcon />,
        text3d:        <Text3DIcon />,
        sketchfab:     <SketchfabIcon />,
        tenor:         <TenorIcon />,
        spotify:       <SpotifyLogo />,
        readyPlayerMe: <ReadyPlayerMeIcon />
    }
};

export const iconMap = {
    ...iconLibrary.System,
    ...iconLibrary.Settings,
    ...iconLibrary.Navigation,
    ...iconLibrary.Actions,
    ...iconLibrary.Arrows,
    ...iconLibrary.Align,
    ...iconLibrary.Content,
    ...iconLibrary.Profile,
    ...iconLibrary.Crm,
    ...iconLibrary.Devices,
    ...iconLibrary.TextEdit,
    ...iconLibrary.TextList,
    ...iconLibrary.Help,
    ...iconLibrary.Logos,
    ...iconLibrary.AssetLibraryIcons
};
