UNPKG

@music-loopy/loops

Version:

A React component library for Music Loopy Applications and websites

109 lines 4.47 kB
var _excluded = ["name", "size", "fill"]; var _templateObject; function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; } function _taggedTemplateLiteralLoose(e, t) { return t || (t = e.slice(0)), e.raw = t, e; } import React from 'react'; import apple from './icons/apple'; import facebook from './icons/facebook'; import google from './icons/google'; import instagram from './icons/instagram'; import linkedin from './icons/linkedin'; import home from './icons/home'; import profile from './icons/profile'; import musicUser from './icons/music-user'; import genderPeople from './icons/gender-people'; import styled, { useTheme } from 'styled-components'; import { HiUserGroup } from 'react-icons/hi2'; import { PiWechatLogoBold } from 'react-icons/pi'; import PropTypes from 'prop-types'; import { CiLock } from 'react-icons/ci'; import { CiUser } from 'react-icons/ci'; import { CiCircleCheck } from 'react-icons/ci'; import { CiCircleChevUp } from 'react-icons/ci'; import { CiCircleChevDown } from 'react-icons/ci'; import { FaRegEnvelope } from 'react-icons/fa6'; import { FaRegFlag } from 'react-icons/fa6'; import { IoLocationOutline } from 'react-icons/io5'; import { HiIdentification } from 'react-icons/hi2'; import { BiDetail } from 'react-icons/bi'; import { TbMusicStar } from 'react-icons/tb'; import { IoLanguage } from 'react-icons/io5'; import { PiGuitar } from 'react-icons/pi'; import { IoMdMusicalNote } from 'react-icons/io'; import { FaPeopleRoof } from 'react-icons/fa6'; import { FaUpload } from 'react-icons/fa6'; import { HiDotsVertical } from 'react-icons/hi'; import { MdOutlineStarBorder } from 'react-icons/md'; import { FaRegStar } from 'react-icons/fa6'; import { IoChevronBackOutline } from 'react-icons/io5'; import { MdOutlineContentPasteSearch } from 'react-icons/md'; import { LuFileSearch } from 'react-icons/lu'; import { HiMiniUserCircle } from 'react-icons/hi2'; import { IconContext } from 'react-icons'; import { FaApple, FaLinkedin, FaChevronLeft, FaGoogle, FaStar } from 'react-icons/fa'; import { FaFacebook } from 'react-icons/fa6'; import { GrHomeRounded } from 'react-icons/gr'; import { MdOutlineManageSearch } from 'react-icons/md'; import { AiFillInstagram } from 'react-icons/ai'; var StyledSVGContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""]))); var Icon = function Icon(_ref) { var name = _ref.name, size = _ref.size, fill = _ref.fill, props = _objectWithoutPropertiesLoose(_ref, _excluded); console.log(name, size); var icons = { apple: FaApple, facebook: FaFacebook, google: FaGoogle, instagram: AiFillInstagram, linkedin: FaLinkedin, musicUser: musicUser, genderPeople: genderPeople, chat: PiWechatLogoBold, collaborate: HiUserGroup, home: GrHomeRounded, profile: HiMiniUserCircle, user: CiUser, lock: CiLock, check: CiCircleCheck, up: CiCircleChevUp, down: CiCircleChevDown, email: FaRegEnvelope, flag: FaRegFlag, location: IoLocationOutline, id: HiIdentification, detail: BiDetail, musicStar: TbMusicStar, language: IoLanguage, guitar: PiGuitar, song: IoMdMusicalNote, peopleRoof: FaPeopleRoof, upload: FaUpload, dots: HiDotsVertical, 'star-outline': FaRegStar, star: FaStar, back: FaChevronLeft, docSearch: MdOutlineManageSearch }; var SVGIcon = icons[name]; var theme = useTheme(); var color = theme.colors[fill || 'primary'].color; return /*#__PURE__*/React.createElement(StyledSVGContainer, _extends({ size: size }, props), /*#__PURE__*/React.createElement(IconContext.Provider, { value: { color: color, className: 'global-class-name' } }, /*#__PURE__*/React.createElement(SVGIcon, { size: size }))); }; export default Icon; Icon.propTypes = process.env.NODE_ENV !== "production" ? { name: PropTypes.string.isRequired, size: PropTypes.string, fill: PropTypes.oneOf(['primary', 'dark', 'light', 'secondary', 'danger', 'success', 'warning']) } : {};