<template>
  <component v-if="name" :is="name" viewBox="0 0 24 24"></component>
</template>
<script lang="ts">
import { defineComponent } from "vue";
import SpClose from "@/assets/icons/actions/close.svg";
import SpCopy from "@/assets/icons/actions/copy.svg";
import SpTrash from "@/assets/icons/actions/delete.svg";
import SpEdit from "@/assets/icons/actions/edit.svg";
import SpLocked from "@/assets/icons/actions/locked.svg";
import SpLogOut from "@/assets/icons/actions/log-out.svg";
import SpMinus from "@/assets/icons/actions/minus.svg";
import SpOther from "@/assets/icons/actions/other.svg";
import SpPassword from "@/assets/icons/actions/password.svg";
import SpRefresh from "@/assets/icons/actions/refresh.svg";
import SpSearch from "@/assets/icons/actions/search.svg";
import SpSignIn from "@/assets/icons/actions/sign-in.svg";

import SpOpercent from "@/assets/icons/benefits/0percent.svg";
import SpClock from "@/assets/icons/benefits/clock.svg";
import SpMoney from "@/assets/icons/benefits/money.svg";
import SpSkip from "@/assets/icons/benefits/skip.svg";

import SpCalendar from "@/assets/icons/date/calendar.svg";
import SpSchedule from "@/assets/icons/date/schedule.svg";
import SpTimeChange from "@/assets/icons/date/time-change.svg";
import SpTimeDelay from "@/assets/icons/date/time-delay.svg";
import SpTime from "@/assets/icons/date/time.svg";

import SpContract from "@/assets/icons/document/contract.svg";
import SpImg from "@/assets/icons/document/img.svg";
import SpPdf from "@/assets/icons/document/pdf.svg";
import SpReciept from "@/assets/icons/document/reciept.svg";

import SpBank from "@/assets/icons/finance/bank.svg";
import SpBillMultiply from "@/assets/icons/finance/bill-multiply.svg";
import SpBillOptions from "@/assets/icons/finance/bill-options.svg";
import SpBillPayment from "@/assets/icons/finance/bill-payment.svg";
import SpBillPercent from "@/assets/icons/finance/bill-percent.svg";
import SpBill from "@/assets/icons/finance/bill.svg";
import SpCard from "@/assets/icons/finance/card.svg";
import SpCartBasket from "@/assets/icons/finance/cart-basket.svg";
import SpCart from "@/assets/icons/finance/cart.svg";
import SpChartPie from "@/assets/icons/finance/chart-pie.svg";
import SpCurrencyGel from "@/assets/icons/finance/currency-gel.svg";
import SpHistory from "@/assets/icons/finance/history.svg";
import SpPayment from "@/assets/icons/finance/payment.svg";
import SpPercent from "@/assets/icons/finance/percent.svg";
import SpTransfers from "@/assets/icons/finance/transfers.svg";
import SpWalletAlt from "@/assets/icons/finance/wallet-alt.svg";
import SpWallet from "@/assets/icons/finance/wallet.svg";

import SpAlert from "@/assets/icons/general/alert.svg";
import SpBillPayments from "@/assets/icons/general/bill_payments.svg";
import SpGeneralCard from "@/assets/icons/general/card.svg";
import SpGeneralClose from "@/assets/icons/general/close.svg";
import SpDropdown from "@/assets/icons/general/dropdown.svg";
import SpInstallment from "@/assets/icons/general/installment.svg";
import SpGeneralMinus from "@/assets/icons/general/minus.svg";
import SpGeneralMoney from "@/assets/icons/general/money.svg";
import SpGeneralPlus from "@/assets/icons/general/plus.svg";
import SpGeneralProfile from "@/assets/icons/general/profile.svg";
import SpGeneralTransfers from "@/assets/icons/general/transfers.svg";

import SpCamera from "@/assets/icons/media/camera.svg";
import SpPhone from "@/assets/icons/media/phone.svg";
import SpPlay from "@/assets/icons/media/play.svg";
import SpUpload from "@/assets/icons/media/upload.svg";

import SpArrowLeft from "@/assets/icons/navigation/arrow-left.svg";
import SpArrowRight from "@/assets/icons/navigation/arrow-right.svg";
import SpArrowTopRight from "@/assets/icons/navigation/arrow-top-right.svg";
import SpChevronLeft from "@/assets/icons/navigation/chevron-left.svg";
import SpChevronRight from "@/assets/icons/navigation/chevron-right.svg";
import SpChevronUp from "@/assets/icons/navigation/chevron-up.svg";
import SpChevronDown from "@/assets/icons/navigation/chevron-down.svg";

import SpDotsHorizontal from "@/assets/icons/navigation/dots-horizontal.svg";
import SpNavDropdown from "@/assets/icons/navigation/dropdown.svg";
import SpHome from "@/assets/icons/navigation/home.svg";
import SpSettings from "@/assets/icons/navigation/settings.svg";

import SpCall from "@/assets/icons/social/call.svg";
import SpCinema from "@/assets/icons/social/cinema.svg";
import SpDrinks from "@/assets/icons/social/drinks.svg";
import SpFamily from "@/assets/icons/social/family.svg";

import SpFood from "@/assets/icons/social/food.svg";
import SpFun from "@/assets/icons/social/fun.svg";
import SpHotel from "@/assets/icons/social/hotel.svg";
import SpInternet from "@/assets/icons/social/internet.svg";
import SpShopping from "@/assets/icons/social/shopping.svg";
import SpTravel from "@/assets/icons/social/travel.svg";
import SpUserAdd from "@/assets/icons/social/user-add.svg";
import SpUserMultiply from "@/assets/icons/social/user-multiply.svg";
import SpSocialUser from "@/assets/icons/social/user.svg";

import SpSpecialCard from "@/assets/icons/special/card.svg";
import SpSpecialLoan from "@/assets/icons/special/loan.svg";
import SpSpecialQna from "@/assets/icons/special/qna.svg";

import SpStatusAlert from "@/assets/icons/status/alert.svg";
import SpStatusBell from "@/assets/icons/status/bell.svg";
import SpStatusCheck from "@/assets/icons/status/check.svg";
import SpStatusError from "@/assets/icons/status/error.svg";
import SpStatusInfo from "@/assets/icons/status/info.svg";
import SpStatusLoader from "@/assets/icons/status/loader.svg";
import SpStatusSuccess from "@/assets/icons/status/success.svg";

import SpCheckboxChecked from "@/assets/icons/toggles/checkbox-checked.svg";
import SpCheckboxUnchecked from "@/assets/icons/toggles/checkbox-unchecked.svg";
import SpHide from "@/assets/icons/toggles/hide.svg";
import SpRadiobuttonChecked from "@/assets/icons/toggles/radiobutton-checked.svg";
import SpRadiobuttonUnchecked from "@/assets/icons/toggles/radiobutton-unchecked.svg";
import SpUnhide from "@/assets/icons/toggles/unhide.svg";

export default defineComponent({
  props: {
    name: {
      default: "",
      type: String,
      required: true,
    },
  },
  components: {
    "sp-close": SpClose,
    "sp-copy": SpCopy,
    "sp-trash": SpTrash,
    "sp-edit": SpEdit,
    "sp-locked": SpLocked,
    "sp-logOut": SpLogOut,
    "sp-minus": SpMinus,
    "sp-other": SpOther,
    "sp-password": SpPassword,
    "sp-refresh": SpRefresh,
    "sp-search": SpSearch,
    "sp-signIn": SpSignIn,

    "sp-opercent": SpOpercent,
    "sp-clock": SpClock,
    "sp-money": SpMoney,
    "sp-skip": SpSkip,

    "sp-calendar": SpCalendar,
    "sp-schedule": SpSchedule,
    "sp-time-change": SpTimeChange,
    "sp-time-delay": SpTimeDelay,
    "sp-time": SpTime,

    "sp-contract": SpContract,
    "sp-img": SpImg,
    "sp-pdf": SpPdf,
    "sp-reciept": SpReciept,

    "sp-bank": SpBank,
    "sp-bill-Multiply": SpBillMultiply,
    "sp-bill-Options": SpBillOptions,
    "sp-bill-payment": SpBillPayment,
    "sp-bill-percent": SpBillPercent,
    "sp-bill": SpBill,
    "sp-card": SpCard,
    "sp-cart-basket": SpCartBasket,
    "sp-cart": SpCart,
    "sp-chart-pie": SpChartPie,
    "sp-currency-gel": SpCurrencyGel,
    "sp-history": SpHistory,
    "sp-payment": SpPayment,
    "sp-percent": SpPercent,
    "sp-transfers": SpTransfers,
    "sp-wallet-alt": SpWalletAlt,
    "sp-wallet": SpWallet,

    "sp-alert": SpAlert,
    "sp-bill-payments": SpBillPayments,
    "sp-general-card": SpGeneralCard,
    "sp-general-close": SpGeneralClose,
    "sp-dropdown": SpDropdown,
    "sp-installment": SpInstallment,
    "sp-general-minus": SpGeneralMinus,
    "sp-general-money": SpGeneralMoney,
    "sp-general-plus": SpGeneralPlus,
    "sp-general-profile": SpGeneralProfile,
    "sp-general-transfers": SpGeneralTransfers,

    "sp-camera": SpCamera,
    "sp-phone": SpPhone,
    "sp-play": SpPlay,
    "sp-upload": SpUpload,

    "sp-arrow-left": SpArrowLeft,
    "sp-arrow-right": SpArrowRight,
    "sp-arrow-top-right": SpArrowTopRight,
    "sp-chevron-left": SpChevronLeft,
    "sp-chevron-rigth": SpChevronRight,
    "sp-chevron-up": SpChevronUp,
    "sp-chevron-down": SpChevronDown,
    "sp-dots-horizontal": SpDotsHorizontal,
    "sp-nav-dropdown": SpNavDropdown,
    "sp-home": SpHome,
    "sp-settings": SpSettings,

    "sp-call": SpCall,
    "sp-cinema": SpCinema,
    "sp-drinks": SpDrinks,
    "sp-family": SpFamily,
    "sp-food": SpFood,
    "sp-fun": SpFun,
    "sp-hotel": SpHotel,
    "sp-internet": SpInternet,
    "sp-shopping": SpShopping,
    "sp-travel": SpTravel,
    "sp-user-add": SpUserAdd,
    "sp-user-multiply": SpUserMultiply,
    "sp-social-user": SpSocialUser,

    "sp-special-card": SpSpecialCard,
    "sp-special-loan": SpSpecialLoan,
    "sp-special-qna": SpSpecialQna,

    "sp-status-alert": SpStatusAlert,
    "sp-status-bell": SpStatusBell,
    "sp-status-check": SpStatusCheck,
    "sp-status-error": SpStatusError,
    "sp-status-info": SpStatusInfo,
    "sp-status-loader": SpStatusLoader,
    "sp-status-success": SpStatusSuccess,

    "sp-checkbox-checked": SpCheckboxChecked,
    "sp-checkbox-unchecked": SpCheckboxUnchecked,
    "sp-hide": SpHide,
    "sp-unhide": SpUnhide,
    "sp-radio-button-checked": SpRadiobuttonChecked,
    "sp-radio-button-unchecked": SpRadiobuttonUnchecked,
  },
  setup({ name }) {
    return {
      name,
    };
  },
});
</script>
