{"componentChunkName":"component---src-templates-post-template-js","path":"/en-US/basic/icon","result":{"data":{"current":{"frontmatter":{"title":"Icon","order":26,"brief":"Semantic vector graphics.","icon":"doc-icons"},"fields":{"type":"basic"},"tableOfContents":{"items":[{"url":"#icon-list","title":"Icon List"},{"url":"#demos","title":"Demos","items":[{"url":"#how-to-import","title":"How to import"},{"url":"#basic-usage","title":"Basic usage"},{"url":"#rotate--spin","title":"Rotate & Spin"},{"url":"#size","title":"Size"},{"url":"#color","title":"Color"},{"url":"#bicolor-icon","title":"Bicolor icon"},{"url":"#multicolor-buttons","title":"Multicolor buttons"},{"url":"#custom-icon","title":"Custom icon"},{"url":"#use-svgr-to-convert-svg-files-into-reactcomponent","title":"Use svgr to convert svg files into ReactComponent"}]},{"url":"#api-reference","title":"API reference","items":[{"url":"#icon","title":"Icon"}]},{"url":"#accessibility","title":"Accessibility","items":[{"url":"#aria","title":"ARIA"}]}]},"body":"var _excluded = [\"components\"];\nfunction _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); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"localeCode\": \"en-US\",\n  \"order\": 26,\n  \"category\": \"Basic\",\n  \"title\": \"Icon\",\n  \"subTitle\": \"Icon\",\n  \"icon\": \"doc-icons\",\n  \"brief\": \"Semantic vector graphics.\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Icon List\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The default icon set \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"@douyinfe/semi-icons\"), \" includes three sets of icons: surface, linear, and AI. Surface icons, linear icons, and monochrome icons in AI icons have no color by default, and the color can be changed through the css color attribute.\\nDual-color and multi-color icons in AI icons have default colors, which can be changed via fill.\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"AI icons are available since v2.86.0.\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"@douyinfe/semi-icons-lab\"), \" is a color icon set, which needs to be installed separately and cannot be changed. The lab icon set is provided after v2.48\"), mdx(\"div\", {\n    style: {\n      display: \"none\"\n    }\n  }, \"@douyinfe/semi-icons icon list:\", mdx(\"p\", {\n    parentName: \"section\"\n  }, \"IconAbsoluteStroked\\nIconActivity\\nIconAlarm\\nIconAlarmStroked\\nIconAlertCircle\\nIconAlertTriangle\\nIconAlignBottom\\nIconAlignCenter\\nIconAlignCenterVertical\\nIconAlignHCenterStroked\\nIconAlignHLeftStroked\\nIconAlignHRightStroked\\nIconAlignJustify\\nIconAlignLeft\\nIconAlignRight\\nIconAlignTop\\nIconAlignVBotStroked\\nIconAlignVBottomStroked\\nIconAlignVCenterStroked\\nIconAlignVTopStroked\\nIconApartment\\nIconAppCenter\\nIconApps\\nIconArchive\\nIconArrowDown\\nIconArrowDownLeft\\nIconArrowDownRight\\nIconArrowLeft\\nIconArrowRight\\nIconArrowUp\\nIconArrowUpLeft\\nIconArrowUpRight\\nIconArticle\\nIconAscend\\nIconAt\\nIconBackTop\\nIconBackward\\nIconBarChartHStroked\\nIconBarChartVStroked\\nIconBeaker\\nIconBell\\nIconBellStroked\\nIconBold\\nIconBolt\\nIconBook\\nIconBookH5Stroked\\nIconBookOpenStroked\\nIconBookStroked\\nIconBookmark\\nIconBookmarkAddStroked\\nIconBookmarkDeleteStroked\\nIconBottomCenterStroked\\nIconBottomLeftStroked\\nIconBottomRightStroked\\nIconBox\\nIconBrackets\\nIconBranch\\nIconBriefStroked\\nIconBriefcase\\nIconBriefcaseStroked\\nIconBulb\\nIconButtonStroked\\nIconBytedanceLogo\\nIconCalendar\\nIconCalendarClock\\nIconCalendarClockStroked\\nIconCalendarStroked\\nIconCamera\\nIconCameraStroked\\nIconCandlestickChartStroked\\nIconCaretdown\\nIconCaretup\\nIconCarouselStroked\\nIconCart\\nIconCartStroked\\nIconCaseSensitive\\nIconCenterLeftStroked\\nIconCenterRightStroked\\nIconChainStroked\\nIconCheckChoiceStroked\\nIconCheckCircleStroked\\nIconCheckList\\nIconCheckboxIndeterminate\\nIconCheckboxTick\\nIconChecklistStroked\\nIconChevronDown\\nIconChevronDownStroked\\nIconChevronLeft\\nIconChevronRight\\nIconChevronRightStroked\\nIconChevronUp\\nIconChevronUpDown\\nIconClear\\nIconClock\\nIconClockStroked\\nIconClose\\nIconCloud\\nIconCloudStroked\\nIconCloudUploadStroked\\nIconCode\\nIconCodeStroked\\nIconCoinMoney\\nIconCoinMoneyStroked\\nIconColorPalette\\nIconColumnsStroked\\nIconCommand\\nIconComment\\nIconCommentStroked\\nIconComponent\\nIconComponentPlaceholderStroked\\nIconComponentStroked\\nIconConfigStroked\\nIconConnectionPoint1\\nIconConnectionPoint2\\nIconContrast\\nIconCopy\\nIconCopyAdd\\nIconCopyStroked\\nIconCornerRadiusStroked\\nIconCreditCard\\nIconCreditCardStroked\\nIconCrop\\nIconCrossCircleStroked\\nIconCrossStroked\\nIconCrown\\nIconCrownStroked\\nIconCustomerSupport\\nIconCustomerSupportStroked\\nIconCustomize\\nIconDelete\\nIconDeleteStroked\\nIconDescend\\nIconDescend2\\nIconDesktop\\nIconDisc\\nIconDislikeThumb\\nIconDivide\\nIconDongchediLogo\\nIconDoubleChevronLeft\\nIconDoubleChevronRight\\nIconDownCircle\\nIconDownCircleStroked\\nIconDownload\\nIconDownloadStroked\\nIconDuration\\nIconEdit\\nIconEdit2\\nIconEdit2Stroked\\nIconEditStroked\\nIconElementStroked\\nIconEmoji\\nIconExit\\nIconExpand\\nIconExport\\nIconExternalOpen\\nIconExternalOpenStroked\\nIconEyeClosed\\nIconEyeClosedSolid\\nIconEyeClosedSolidStroked\\nIconEyeClosedStroked\\nIconEyeOpened\\nIconEyeOpenedStroked\\nIconEyedropper\\nIconFacebook\\nIconFaceuLogo\\nIconFastForward\\nIconFastFoward\\nIconFavoriteList\\nIconFeishuLogo\\nIconFemale\\nIconFigma\\nIconFile\\nIconFillStroked\\nIconFilledArrowDown\\nIconFilledArrowUp\\nIconFilpVertical\\nIconFilter\\nIconFilterStroked\\nIconFingerLeftStroked\\nIconFixedStroked\\nIconFlag\\nIconFlagStroked\\nIconFlipHorizontal\\nIconFlowChartStroked\\nIconFolder\\nIconFolderOpen\\nIconFolderOpenStroked\\nIconFolderStroked\\nIconFollowStroked\\nIconFont\\nIconFontColor\\nIconForward\\nIconForwardStroked\\nIconFullScreenStroked\\nIconGallery\\nIconGift\\nIconGiftStroked\\nIconGit\\nIconGithubLogo\\nIconGitlabLogo\\nIconGlobe\\nIconGlobeStroke\\nIconGlobeStrokeStroked\\nIconGlobeStroked\\nIconGridRectangle\\nIconGridSquare\\nIconGridStroked\\nIconGridView\\nIconGridView1\\nIconH1\\nIconH2\\nIconH3\\nIconH4\\nIconH5\\nIconH6\\nIconH7\\nIconH8\\nIconH9\\nIconHandle\\nIconHash\\nIconHeartStroked\\nIconHelm\\nIconHelpCircle\\nIconHelpCircleStroked\\nIconHistogram\\nIconHistory\\nIconHn\\nIconHome\\nIconHomeStroked\\nIconHorn\\nIconHornStroked\\nIconHourglass\\nIconHourglassStroked\\nIconIdCard\\nIconIdCardStroked\\nIconIdentity\\nIconImage\\nIconImageStroked\\nIconImport\\nIconInbox\\nIconIndenpentCornersStroked\\nIconIndentLeft\\nIconIndentRight\\nIconIndependentCornersStroked\\nIconInfoCircle\\nIconInherit\\nIconInheritStroked\\nIconInnerSectionStroked\\nIconInstagram\\nIconInteractiveStroked\\nIconInviteStroked\\nIconIssueStroked\\nIconItalic\\nIconJianying\\nIconKanban\\nIconKey\\nIconKeyStroked\\nIconLanguage\\nIconLayers\\nIconLeftCircle\\nIconLeftCircleStroked\\nIconLightningStroked\\nIconLikeHeart\\nIconLikeThumb\\nIconLineChartStroked\\nIconLineHeight\\nIconLink\\nIconList\\nIconListView\\nIconLive\\nIconLoading\\nIconLock\\nIconLockStroked\\nIconLoopTextStroked\\nIconMail\\nIconMailStroked\\nIconMailStroked1\\nIconMale\\nIconMapPin\\nIconMapPinStroked\\nIconMarginLeftStroked\\nIconMarginStroked\\nIconMark\\nIconMaximize\\nIconMaximize2\\nIconMaximize2Stroked\\nIconMember\\nIconMenu\\nIconMicrophone\\nIconMicrophoneOff\\nIconMicrophoneOffStroked\\nIconMicrophoneStroked\\nIconMiniPlayer\\nIconMinimize\\nIconMinus\\nIconMinusCircle\\nIconMinusCircleStroked\\nIconMinusStroked\\nIconModalStroked\\nIconMoneyExchangeStroked\\nIconMonitorStroked\\nIconMoon\\nIconMoonStroked\\nIconMore\\nIconMoreStroked\\nIconMusic\\nIconMusicNoteStroked\\nIconMute\\nIconMuteStroked\\nIconNineGridStroked\\nIconNoteMoney\\nIconNoteMoneyStroked\\nIconOption\\nIconOrderedList\\nIconOrderedListStroked\\nIconPaperclip\\nIconPaperclipStroked\\nIconPause\\nIconPercentage\\nIconPhone\\nIconPhoneStroke\\nIconPhoneStroked\\nIconPieChart2Stroked\\nIconPieChartStroked\\nIconPiechartH5Stroked\\nIconPipixiaLogo\\nIconPlay\\nIconPlayCircle\\nIconPlus\\nIconPlusCircle\\nIconPlusCircleStroked\\nIconPlusStroked\\nIconPriceTag\\nIconPrint\\nIconPrize\\nIconPrizeStroked\\nIconPulse\\nIconPuzzle\\nIconQingyan\\nIconQrCode\\nIconQuit\\nIconQuote\\nIconRadio\\nIconRankingCardStroked\\nIconRealSize\\nIconRealSizeStroked\\nIconRedo\\nIconRedoStroked\\nIconRefresh\\nIconRefresh2\\nIconRegExp\\nIconReply\\nIconReplyStroked\\nIconResso\\nIconRestart\\nIconRestore\\nIconRestoreStroked\\nIconRingChartStroked\\nIconRotate\\nIconRotationStroked\\nIconRoute\\nIconRowsStroked\\nIconSafe\\nIconSafeStroked\\nIconSave\\nIconSaveStroked\\nIconScan\\nIconScissors\\nIconScissorsStroked\\nIconSearch\\nIconSearchStroked\\nIconSectionStroked\\nIconSemiLogo\\nIconSend\\nIconSendMsgStroked\\nIconSendStroked\\nIconServer\\nIconServerStroked\\nIconSetting\\nIconSettingStroked\\nIconShare\\nIconShareMoneyStroked\\nIconShareStroked\\nIconShield\\nIconShieldStroked\\nIconShift\\nIconShoppingBag\\nIconShoppingBagStroked\\nIconShrink\\nIconShrinkScreenStroked\\nIconSidebar\\nIconSignal\\nIconSimilarity\\nIconSmallTriangleDown\\nIconSmallTriangleLeft\\nIconSmallTriangleRight\\nIconSmallTriangleTop\\nIconSmartphoneCheckStroked\\nIconSmartphoneStroked\\nIconSong\\nIconSonicStroked\\nIconSort\\nIconSortStroked\\nIconSourceControl\\nIconSpin\\nIconStackBarChartStroked\\nIconStar\\nIconStarStroked\\nIconStop\\nIconStopwatchStroked\\nIconStoryStroked\\nIconStrikeThrough\\nIconSun\\nIconSunStroked\\nIconSync\\nIconTabArrowStroked\\nIconTabsStroked\\nIconTaskMoneyStroked\\nIconTemplate\\nIconTemplateStroked\\nIconTerminal\\nIconTestScore\\nIconTestScoreStroked\\nIconText\\nIconTextRectangle\\nIconTextStroked\\nIconThumbUpStroked\\nIconTick\\nIconTickCircle\\nIconTicketCode\\nIconTicketCodeExchangeStroked\\nIconTicketCodeStroked\\nIconTiktokLogo\\nIconTop\\nIconTopCenterStroked\\nIconTopLeftStroked\\nIconTopRightStroked\\nIconTopbuzzLogo\\nIconToutiaoLogo\\nIconTransparentStroked\\nIconTreeTriangleDown\\nIconTreeTriangleRight\\nIconTriangleArrow\\nIconTriangleArrowVertical\\nIconTriangleDown\\nIconTriangleUp\\nIconTrueFalseStroked\\nIconTvCheckedStroked\\nIconTwitter\\nIconTypograph\\nIconUnChainStroked\\nIconUnderline\\nIconUndo\\nIconUnlink\\nIconUnlock\\nIconUnlockStroked\\nIconUpload\\nIconUploadError\\nIconUser\\nIconUserAdd\\nIconUserCardPhone\\nIconUserCardVideo\\nIconUserCardVideoStroked\\nIconUserCircle\\nIconUserCircleStroked\\nIconUserGroup\\nIconUserList\\nIconUserListStroked\\nIconUserSetting\\nIconUserStroked\\nIconVennChartStroked\\nIconVerify\\nIconVersionStroked\\nIconVideo\\nIconVideoDouyinStroked\\nIconVideoListStroked\\nIconVideoStroked\\nIconVideoUrlStroked\\nIconVigoLogo\\nIconVolume1\\nIconVolume1Stroked\\nIconVolume2\\nIconVolume2Stroked\\nIconVolumnSilent\\nIconVolumeSilentStroked\\nIconVoteStroked\\nIconVoteVideoStroked\\nIconWeibo\\nIconWholeWord\\nIconWifi\\nIconWindowAdaptionStroked\\nIconWrench\\nIconWrenchStroked\\nIconXiguaLogo\\nIconYoutube\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"@douyinfe/semi-icons-lab icon list:\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"IconAccessibility\\nIconAnchor\\nIconAutocomplete\\nIconAvatar\\nIconBackTop\\nIconBadge\\nIconBadgeStar\\nIconBanner\\nIconBreadcrumb\\nIconButton\\nIconCalendar\\nIconCard\\nIconCarousel\\nIconCascader\\nIconChangelog\\nIconChart\\nIconChat\\nIconCheckbox\\nIconCodeHighlight\\nIconCollapse\\nIconCollapsible\\nIconColorPlatte\\nIconColorPlatteNew\\nIconConfig\\nIconDarkMode\\nIconDatePicker\\nIconDescriptions\\nIconDivider\\nIconDropdown\\nIconEmpty\\nIconFaq\\nIconForm\\nIconGettingStarted\\nIconGrid\\nIconHeart\\nIconHighlight\\nIconImage\\nIconInput\\nIconInputNumber\\nIconIntro\\nIconJsonViewer\\nIconLayout\\nIconList\\nIconLocaleProvider\\nIconLottie\\nIconMarkdown\\nIconModal\\nIconNavigation\\nIconNotification\\nIconOverflow\\nIconPagination\\nIconPincode\\nIconPopconfirm\\nIconPopover\\nIconProgress\\nIconRadio\\nIconRating\\nIconScrollList\\nIconSelect\\nIconSideSheet\\nIconSkeleton\\nIconSlider\\nIconSpace\\nIconSpin\\nIconSteps\\nIconSwitch\\nIconTable\\nIconTabs\\nIconTag\\nIconTagInput\\nIconTimePicker\\nIconTimeline\\nIconToast\\nIconToken\\nIconTooltip\\nIconTransfer\\nIconTree\\nIconTreeSelect\\nIconTypography\\nIconUpload\\nIconVersionOne\\nIconVersionTwo\\nIconWebcomponents\\nIconWheelChair\")), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-icon\"\n  }, \"\"))), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Demos\"), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"How to import\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"import\",\n    \"import\": true\n  }, \"import Icon, { IconHome } from '@douyinfe/semi-icons';\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Basic usage\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Import icons from the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"@douyinfe/semi-icons\"), \" package\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { IconHome } from '@douyinfe/semi-icons';\\n\\n() => <IconHome />;\\n\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Rotate & Spin\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Introduce icons from the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"@douyinfe/semi-icons\"), \" package, with its own size, rotation, and spin functions\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { IconHome, IconEmoji, IconSpin } from '@douyinfe/semi-icons';\\n\\n() => (\\n    <div>\\n        <IconHome size=\\\"small\\\" />\\n        <IconEmoji rotate={180} />\\n        <IconSpin spin />\\n    </div>\\n);\\n\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Size\"), mdx(\"blockquote\", {\n    parentName: \"section\"\n  }, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"You can change the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"font-size\"), \" to change the icon size\")), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The Icon component encapsulates the size attribute, which makes it easier to define the icon size. It supports \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"extra-small\"), \" (8x8), \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"small\"), \" (12x12), \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"default\"), \" (16x16), \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"large\"), \" (20x20), \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"extra-large \"), \"(24x24), When size is specified as \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"inherit\"), \", the icon size inherits the current context font size.\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { IconSearch, IconHelpCircle, IconAlertCircle, IconMinusCircle, IconPlusCircle, IconPlus, IconRefresh } from '@douyinfe/semi-icons';\\n\\n() => {\\n    // eslint-disable-next-line react/jsx-key\\n    const types = [<IconSearch />, <IconHelpCircle />, <IconAlertCircle />, <IconMinusCircle />, <IconPlusCircle />, <IconPlus />, <IconRefresh />];\\n    const sizes = ['extra-small', 'small', 'default', 'large', 'extra-large'];\\n    let icons = types.map((type, i) => {\\n        return <div key={i} style={{ marginBottom: 4 }}>{sizes.map(size => React.cloneElement(type, { size, key: size }))}</div>;\\n    });\\n    return icons;\\n};\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Color\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The icon will automatically inherit the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"color\"), \" property of the external container CSS\\nYou can also modify the color of the icon by setting style props to the Icon.\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { IconLikeHeart, IconFlag, IconLock, IconUnlock } from '@douyinfe/semi-icons';\\n\\n() => (\\n    <div>\\n        <div style={{ color: '#E91E63' }} >\\n            <IconLikeHeart size=\\\"extra-large\\\"/>\\n            <IconFlag size=\\\"extra-large\\\"/>\\n        </div>\\n        <br/>\\n        <div>\\n            <IconLock style={{ color: '#6A3AC7' }} size=\\\"extra-large\\\" />\\n            <IconUnlock style={{ color: '#9C27B0' }} size=\\\"extra-large\\\"/>\\n        </div>\\n    </div>\\n);\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Bicolor icon\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The color of the two-color icon can be set through the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"fill\"), \" attribute, which supports string and string[].\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { IconAIWandLevel2, IconAIFilledLevel2 } from '@douyinfe/semi-icons';\\n\\n() => (\\n    <div>\\n        <IconAIWandLevel2 fill={['var(--semi-color-danger)', 'var(--semi-color-success)']} style={{ marginRight: 10 }} size=\\\"extra-large\\\"/>\\n        <IconAIFilledLevel2 fill={'var(--semi-color-success)'} size=\\\"extra-large\\\"/>\\n    </div>\\n);\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Multicolor buttons\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Multi-color icon, the current multi-color button can pass in four colors. The color can be set through the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"fill\"), \" attribute, which supports string and string[].\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { IconAIBellLevel3, IconAIWandLevel3, IconAIFilledLevel3 } from '@douyinfe/semi-icons';\\n\\n() => (\\n    <div>\\n        <IconAIBellLevel3 style={{ marginRight: 10 }} size=\\\"extra-large\\\"/>\\n        <IconAIWandLevel3 fill={['var(--semi-color-danger)', 'var(--semi-color-success)', 'var(--semi-color-primary)', 'var(--semi-color-warning)']} style={{ marginRight: 10 }} size=\\\"extra-large\\\"/>\\n        <IconAIFilledLevel3 fill={['var(--semi-color-primary)', 'var(--semi-color-success)']} size=\\\"extra-large\\\"/>\\n    </div>\\n);\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Custom icon\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"You can use custom icons to pass in Icon components\\nIcon component supports size, rotate, spin and other attributes\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { Icon } from '@douyinfe/semi-ui';\\n\\n() => {\\n    function CustomIcon() {\\n        return <svg width=\\\"1em\\\" height=\\\"1em\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n            <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"11\\\" fill=\\\"#FBCD2C\\\"/>\\n            <mask id=\\\"mask0\\\" masktype=\\\"alpha\\\" maskUnits=\\\"userSpaceOnUse\\\" x=\\\"1\\\" y=\\\"1\\\" width=\\\"22\\\" height=\\\"22\\\">\\n                <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"11\\\" fill=\\\"#A2845E\\\"/>\\n            </mask>\\n            <g mask=\\\"url(#mask0)\\\">\\n                <path fillRule=\\\"evenodd\\\" clipRule=\\\"evenodd\\\" d=\\\"M11.9996 17.7963C13.7184 17.7963 15.2479 16.3561 16.0881 14.2048C16.6103 13.9909 17.1072 13.3424 17.334 12.4957C17.629 11.3948 17.5705 10.4118 16.7665 10.1059C16.6885 6.27115 15.1754 4.78714 11.9996 4.78714C8.82412 4.78714 7.31097 6.27097 7.2328 10.1052C6.42711 10.4103 6.36828 11.394 6.66349 12.4957C6.89064 13.3435 7.38849 13.9926 7.91145 14.2056C8.7518 16.3565 10.2811 17.7963 11.9996 17.7963ZM20.0126 23C20.34 23 20.5906 22.7037 20.4686 22.3999C19.6099 20.2625 16.1444 18.6636 12 18.6636C7.85555 18.6636 4.39008 20.2625 3.53142 22.3999C3.40937 22.7037 3.65999 23 3.9874 23H20.0126Z\\\" fill=\\\"white\\\"/>\\n            </g>\\n        </svg>;\\n    }\\n    return (\\n        <div>\\n            <Icon svg={<CustomIcon />} />\\n            <Icon svg={<CustomIcon />} rotate={180} />\\n        </div>\\n    );\\n};\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Use svgr to convert svg files into ReactComponent\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"If the icons provided by Semi are not enough to meet business needs, you can also introduce custom icons through @svgr/webpack and use them as React components\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"// webpack.config.js\\n{\\n  test: /\\\\.svg$/,\\n  use: ['@svgr/webpack'],\\n}\\n\\nimport { Icon } from '@douyinfe/semi-ui';\\nimport StarIcon from './star.svg';\\n\\n<Icon svg={<StarIcon />} />\\n\"))), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"API reference\"), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Icon\"), mdx(\"table\", {\n    parentName: \"section\"\n  }, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Properties\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Illustrate\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Type\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Default\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"className\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"class name\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"string\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"none\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"fill\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Fill color for bicolor, multicolor icons\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"string \", \"|\", \" string[]\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"onClick\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Callback event of clicking the icon\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(e: Event) => void\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"onMouseDown\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"The callback event of mouse button press >=v1.21\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(e: Event) => void\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"onMouseEnter\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Callback event of entering icon\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(e: Event) => void\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"onMouseLeave\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Callback event of leaving icon\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(e: Event) => void\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"onMouseMove\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Callback event of moving the mouse >=v1.21\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(e: Event) => void\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"onMouseUp\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Callback event when the mouse button is raised >=v1.21\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(e: Event) => void\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"rotate\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"degree of rotation\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"number\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  })), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"size\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Size, supports \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"inherit\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"extra-small\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"small\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"default\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"large\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"extra-large\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"string\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"default\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"spin\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"spin animation\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"boolean\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  })), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"style\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Icon style\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"CSSProperties\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"svg\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Icon content\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"ReactNode\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"None\"))))), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Accessibility\"), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"ARIA\"), mdx(\"ul\", {\n    parentName: \"section\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The Icon component role is img, and its aria-label defaults to the component's file name\")), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { IconHome } from '@douyinfe/semi-icons';\\n\\n() => <IconHome aria-label=\\\"back to homepage\\\" />;\\n\")), mdx(\"ul\", {\n    parentName: \"section\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The svg element inside Icon is a decorative element, and aria-hidden is set by default to prevent it from being read by screen readers\"))));\n}\n;\nMDXContent.isMDXComponent = true;"}},"pageContext":{"slug":"en-US/basic/icon","next":{"fields":{"slug":"zh-CN/basic/icon"},"id":"51563bba-35eb-5b79-9ea2-9be455ebe2cd","frontmatter":{"title":"Icon 图标","localeCode":"zh-CN","icon":"doc-icons","showNew":null}},"previous":{"fields":{"slug":"zh-CN/basic/divider"},"id":"ea631e91-67bc-5a0f-936f-f3f5ff15aef0","frontmatter":{"title":"Divider 分割线","localeCode":"zh-CN","icon":"doc-divider","showNew":null}}}},"staticQueryHashes":["1348983216229725","1477422646229725","3245198693229725","417590761229725","63159454229725"]}