feat: 整理项目图标 (#7362)

* feat: 整理项目图标

* feat: 整理项目图标

* feat: 整理项目图标, 更新快照

* feat: 整理项目图标, 更新快照

* feat: 整理项目图标, 更新快照

* feat: 整理项目图标, 更新快照

* feat: 整理项目图标, 更新快照

* feat: 整理项目图标, 更新快照

---------

Co-authored-by: qinhaoyan <30946345+qinhaoyan@users.noreply.github.com>
This commit is contained in:
qkiroc 2023-07-10 10:34:42 +08:00 committed by GitHub
parent c84644b3bd
commit 51bd288d0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
110 changed files with 817 additions and 857 deletions

View File

@ -1,4 +1,9 @@
[
{
"name": "packages/amis",
"iconPath": "packages/amis-ui/src/components/icons.tsx",
"iconDir": "packages/amis-ui/src/icons"
},
{
"name": "packages/amis-ui",
"iconPath": "packages/amis-ui/src/components/icons.tsx",

View File

@ -6,18 +6,19 @@ import React from 'react';
import {isObject} from 'lodash';
import {ClassNamesFn} from '../theme';
export interface IconCheckedSchema {
interface IconCheckedSchema {
id: string;
name?: string;
svg?: string;
}
export interface IconCheckedSchemaNew {
interface IconCheckedSchemaNew {
type: 'icon';
icon: IconCheckedSchema;
}
/**
* 使
* i img
* @param icon icon
* @param className className

View File

@ -1 +1,7 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 22 14"><path opacity=".15" d="M19 3v8H3V3h16m1-1H2v10h18V2z"></path><path d="M19.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h17.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 19.8 1zm.2 11H2V2h18v10z"></path><path opacity=".35" d="M3 3h16v8H3z"></path></svg>
<svg preserveAspectRatio="xMidYMid meet" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 22 14">
<path opacity=".15" d="M19 3v8H3V3h16m1-1H2v10h18V2z"></path>
<path
d="M19.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h17.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 19.8 1zm.2 11H2V2h18v10z"></path>
<path opacity=".35" d="M3 3h16v8H3z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 448 B

View File

@ -1 +1,14 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 23 14"><g fillRule="evenodd"><path d="M21 2v10H2V2h19zm1-1H1v12h21V1z" opacity=".15"></path><path d="M1.2 0A1.2 1.2 0 0 0 0 1.2v11.6A1.2 1.2 0 0 0 1.2 14h20.6a1.2 1.2 0 0 0 1.2-1.2V1.2A1.2 1.2 0 0 0 21.8 0H1.2zM22 13H1V1h21v12z"></path><path opacity=".4" d="M3 3h5v8H3z"></path><path d="M4 4v6h3V4H4zm4-1v8H3V3h5z"></path><path opacity=".4" d="M9 3h5v8H9z"></path><path d="M10 4v6h3V4h-3zm4-1v8H9V3h5z"></path><path opacity=".4" d="M15 3h5v8h-5z"></path><path d="M16 4v6h3V4h-3zm4-1v8h-5V3h5z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 23 14">
<g fillRule="evenodd">
<path d="M21 2v10H2V2h19zm1-1H1v12h21V1z" opacity=".15"></path>
<path
d="M1.2 0A1.2 1.2 0 0 0 0 1.2v11.6A1.2 1.2 0 0 0 1.2 14h20.6a1.2 1.2 0 0 0 1.2-1.2V1.2A1.2 1.2 0 0 0 21.8 0H1.2zM22 13H1V1h21v12z"></path>
<path opacity=".4" d="M3 3h5v8H3z"></path>
<path d="M4 4v6h3V4H4zm4-1v8H3V3h5z"></path>
<path opacity=".4" d="M9 3h5v8H9z"></path>
<path d="M10 4v6h3V4h-3zm4-1v8H9V3h5z"></path>
<path opacity=".4" d="M15 3h5v8h-5z"></path>
<path d="M16 4v6h3V4h-3zm4-1v8h-5V3h5z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 588 B

After

Width:  |  Height:  |  Size: 736 B

View File

@ -1 +1,8 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 28 14"><path d="M25 3v8H3V3h22m1-1H2v10h24V2z" opacity=".15"></path><path opacity=".35" d="M8.418 9.8H7.66L7.25 11h1.58l-.232-.676-.18-.525zM3 11h.567l2.916-7.94h3.15L11 6.78V3H3v8zm15.12-1.002a3.302 3.302 0 0 1-.48-.586c-.173.343-.42.653-.73.888.002 0 .004-.002.005-.003l-.008.006.003-.003a3.145 3.145 0 0 1-1.092.55c-.4.11-.825.15-1.303.15h6.017a4.416 4.416 0 0 1-1.12-.215 3.51 3.51 0 0 1-1.292-.787zM14.237 3c.49 0 .853.014 1.167.06.335.05.656.16.953.314h.003l.004.003c.365.19.694.492.898.866.13.234.197.49.24.747.16-.298.343-.58.578-.82v-.002c.358-.366.8-.643 1.287-.826a4.373 4.373 0 0 1 1.557-.272 5.67 5.67 0 0 1 1.442.18l.01.002.01.003c.205.06.4.126.59.208.15.064.283.125.407.185l.562.274v3.016h-1.54l-.28-.24a7.018 7.018 0 0 0-.233-.188 2.703 2.703 0 0 0-.26-.175 1.594 1.594 0 0 0-.277-.125h-.006l-.2-.03a.772.772 0 0 0-.26.042l-.16.102a.63.63 0 0 0-.13.22 1.486 1.486 0 0 0-.075.516c0 .266.04.436.074.513a.59.59 0 0 0 .13.212l.15.09h.003a.868.868 0 0 0 .265.045l.236-.037h.008a1.04 1.04 0 0 0 .25-.113l.007-.004.01-.005.24-.16a6.41 6.41 0 0 0 .216-.17l.285-.254h1.536v3.017l-.59.266c-.15.066-.292.13-.422.184a4.19 4.19 0 0 1-.53.19 5.918 5.918 0 0 1-.636.15c-.076.012-.16.02-.24.026H25V3H14.237z"></path><path d="M25.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h23.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 25.8 1zm.2 11H2V2h24v10zm-7.186-2.72c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.412-.19V8.16h-.154c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.485.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3c-.15-.14-.28-.33-.38-.57a2.36 2.36 0 0 1-.152-.9c0-.347.047-.64.14-.88s.216-.433.367-.58c.157-.15.33-.26.517-.325a1.786 1.786 0 0 1 1.116-.014c.164.056.316.125.457.206a4.868 4.868 0 0 1 .644.466h.17V4.54a13.03 13.03 0 0 0-.367-.168 3.667 3.667 0 0 0-1.005-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.675.333-.924.59c-.26.262-.457.58-.59.95S18 6.6 18 7.055c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.607c.272-.076.52-.2.75-.38.195-.15.35-.338.46-.567.113-.23.17-.488.17-.778 0-.4-.11-.722-.332-.967-.22-.245-.52-.406-.896-.484v-.03a1.46 1.46 0 0 0 .623-.51 1.36 1.36 0 0 0 .22-.77c0-.25-.052-.47-.16-.665a1.15 1.15 0 0 0-.49-.465 2.065 2.065 0 0 0-.64-.215A7.67 7.67 0 0 0 14.237 4H12v6h2.515c.418 0 .763-.037 1.035-.113zM13.478 5.1h.14c.29 0 .517.002.678.006s.296.027.404.07c.12.05.206.123.253.223a.69.69 0 0 1 .072.29.86.86 0 0 1-.062.34c-.042.1-.13.18-.263.24a1.05 1.05 0 0 1-.39.08c-.166.007-.366.01-.6.01h-.233V5.1zm.108 3.8h-.108V7.405h.324c.222 0 .434 0 .638.004.203 0 .363.02.48.05.17.05.29.13.36.23s.106.25.106.44c0 .144-.03.272-.087.384s-.17.2-.32.27a1.257 1.257 0 0 1-.5.104c-.18.003-.48.004-.9.004zm-6.64-.1h2.187l.41 1.2h1.574L8.935 4.06H7.182L5 10h1.535l.412-1.2zM8.04 5.58l.727 2.13H7.313l.727-2.13z"></path></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 28 14">
<path d="M25 3v8H3V3h22m1-1H2v10h24V2z" opacity=".15"></path>
<path opacity=".35"
d="M8.418 9.8H7.66L7.25 11h1.58l-.232-.676-.18-.525zM3 11h.567l2.916-7.94h3.15L11 6.78V3H3v8zm15.12-1.002a3.302 3.302 0 0 1-.48-.586c-.173.343-.42.653-.73.888.002 0 .004-.002.005-.003l-.008.006.003-.003a3.145 3.145 0 0 1-1.092.55c-.4.11-.825.15-1.303.15h6.017a4.416 4.416 0 0 1-1.12-.215 3.51 3.51 0 0 1-1.292-.787zM14.237 3c.49 0 .853.014 1.167.06.335.05.656.16.953.314h.003l.004.003c.365.19.694.492.898.866.13.234.197.49.24.747.16-.298.343-.58.578-.82v-.002c.358-.366.8-.643 1.287-.826a4.373 4.373 0 0 1 1.557-.272 5.67 5.67 0 0 1 1.442.18l.01.002.01.003c.205.06.4.126.59.208.15.064.283.125.407.185l.562.274v3.016h-1.54l-.28-.24a7.018 7.018 0 0 0-.233-.188 2.703 2.703 0 0 0-.26-.175 1.594 1.594 0 0 0-.277-.125h-.006l-.2-.03a.772.772 0 0 0-.26.042l-.16.102a.63.63 0 0 0-.13.22 1.486 1.486 0 0 0-.075.516c0 .266.04.436.074.513a.59.59 0 0 0 .13.212l.15.09h.003a.868.868 0 0 0 .265.045l.236-.037h.008a1.04 1.04 0 0 0 .25-.113l.007-.004.01-.005.24-.16a6.41 6.41 0 0 0 .216-.17l.285-.254h1.536v3.017l-.59.266c-.15.066-.292.13-.422.184a4.19 4.19 0 0 1-.53.19 5.918 5.918 0 0 1-.636.15c-.076.012-.16.02-.24.026H25V3H14.237z"></path>
<path
d="M25.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h23.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 25.8 1zm.2 11H2V2h24v10zm-7.186-2.72c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.412-.19V8.16h-.154c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.485.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3c-.15-.14-.28-.33-.38-.57a2.36 2.36 0 0 1-.152-.9c0-.347.047-.64.14-.88s.216-.433.367-.58c.157-.15.33-.26.517-.325a1.786 1.786 0 0 1 1.116-.014c.164.056.316.125.457.206a4.868 4.868 0 0 1 .644.466h.17V4.54a13.03 13.03 0 0 0-.367-.168 3.667 3.667 0 0 0-1.005-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.675.333-.924.59c-.26.262-.457.58-.59.95S18 6.6 18 7.055c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.607c.272-.076.52-.2.75-.38.195-.15.35-.338.46-.567.113-.23.17-.488.17-.778 0-.4-.11-.722-.332-.967-.22-.245-.52-.406-.896-.484v-.03a1.46 1.46 0 0 0 .623-.51 1.36 1.36 0 0 0 .22-.77c0-.25-.052-.47-.16-.665a1.15 1.15 0 0 0-.49-.465 2.065 2.065 0 0 0-.64-.215A7.67 7.67 0 0 0 14.237 4H12v6h2.515c.418 0 .763-.037 1.035-.113zM13.478 5.1h.14c.29 0 .517.002.678.006s.296.027.404.07c.12.05.206.123.253.223a.69.69 0 0 1 .072.29.86.86 0 0 1-.062.34c-.042.1-.13.18-.263.24a1.05 1.05 0 0 1-.39.08c-.166.007-.366.01-.6.01h-.233V5.1zm.108 3.8h-.108V7.405h.324c.222 0 .434 0 .638.004.203 0 .363.02.48.05.17.05.29.13.36.23s.106.25.106.44c0 .144-.03.272-.087.384s-.17.2-.32.27a1.257 1.257 0 0 1-.5.104c-.18.003-.48.004-.9.004zm-6.64-.1h2.187l.41 1.2h1.574L8.935 4.06H7.182L5 10h1.535l.412-1.2zM8.04 5.58l.727 2.13H7.313l.727-2.13z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1 +1,5 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 20 8"><path d="M14.814 6.25c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.41-.19V5.13h-.153c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.484.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3 1.566 1.566 0 0 1-.38-.57c-.1-.24-.152-.54-.152-.9 0-.346.048-.638.14-.878s.217-.437.368-.58c.16-.155.33-.26.52-.33a1.786 1.786 0 0 1 1.117-.013c.165.055.317.124.458.205a4.385 4.385 0 0 1 .643.47h.17V1.52c-.107-.05-.23-.107-.37-.168a3.613 3.613 0 0 0-1.003-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.674.33-.923.59c-.26.26-.458.58-.59.95S14 3.57 14 4.02c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.608c.272-.075.52-.2.75-.377a1.5 1.5 0 0 0 .46-.56 1.72 1.72 0 0 0 .17-.77c0-.4-.11-.72-.332-.96-.22-.244-.52-.404-.896-.48v-.04a1.46 1.46 0 0 0 .623-.516c.147-.22.22-.474.22-.763 0-.25-.052-.47-.16-.66a1.152 1.152 0 0 0-.49-.46 2.06 2.06 0 0 0-.64-.212A7.67 7.67 0 0 0 10.237 1H8v5.97h2.515c.418 0 .763-.037 1.035-.112zM9.478 2.095h.14c.29 0 .517.002.678.006.162.01.296.03.404.07a.46.46 0 0 1 .253.23.69.69 0 0 1 .072.298.85.85 0 0 1-.062.34.492.492 0 0 1-.263.24 1.052 1.052 0 0 1-.39.08c-.166.006-.366.01-.6.01h-.232v-1.27zm.108 3.78h-.108V4.388h.324c.222 0 .434 0 .638.004a1.8 1.8 0 0 1 .48.056c.17.05.29.127.36.23.07.104.106.25.106.44 0 .144-.03.272-.087.383s-.17.2-.32.27-.32.1-.5.11c-.18.004-.48.004-.9.004zm-6.64-.106h2.187l.41 1.2h1.574L4.935 1.03H3.182L1 6.97h1.535l.412-1.2zM4.04 2.55l.727 2.13H3.313l.727-2.13z"></path></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 20 8">
<path
d="M14.814 6.25c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.41-.19V5.13h-.153c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.484.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3 1.566 1.566 0 0 1-.38-.57c-.1-.24-.152-.54-.152-.9 0-.346.048-.638.14-.878s.217-.437.368-.58c.16-.155.33-.26.52-.33a1.786 1.786 0 0 1 1.117-.013c.165.055.317.124.458.205a4.385 4.385 0 0 1 .643.47h.17V1.52c-.107-.05-.23-.107-.37-.168a3.613 3.613 0 0 0-1.003-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.674.33-.923.59c-.26.26-.458.58-.59.95S14 3.57 14 4.02c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.608c.272-.075.52-.2.75-.377a1.5 1.5 0 0 0 .46-.56 1.72 1.72 0 0 0 .17-.77c0-.4-.11-.72-.332-.96-.22-.244-.52-.404-.896-.48v-.04a1.46 1.46 0 0 0 .623-.516c.147-.22.22-.474.22-.763 0-.25-.052-.47-.16-.66a1.152 1.152 0 0 0-.49-.46 2.06 2.06 0 0 0-.64-.212A7.67 7.67 0 0 0 10.237 1H8v5.97h2.515c.418 0 .763-.037 1.035-.112zM9.478 2.095h.14c.29 0 .517.002.678.006.162.01.296.03.404.07a.46.46 0 0 1 .253.23.69.69 0 0 1 .072.298.85.85 0 0 1-.062.34.492.492 0 0 1-.263.24 1.052 1.052 0 0 1-.39.08c-.166.006-.366.01-.6.01h-.232v-1.27zm.108 3.78h-.108V4.388h.324c.222 0 .434 0 .638.004a1.8 1.8 0 0 1 .48.056c.17.05.29.127.36.23.07.104.106.25.106.44 0 .144-.03.272-.087.383s-.17.2-.32.27-.32.1-.5.11c-.18.004-.48.004-.9.004zm-6.64-.106h2.187l.41 1.2h1.574L4.935 1.03H3.182L1 6.97h1.535l.412-1.2zM4.04 2.55l.727 2.13H3.313l.727-2.13z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,4 +1,6 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 1024 1024"
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
fill="currentColor" preserveAspectRatio="xMidYMid meet" width="16" height="16"
viewBox="0 0 1024 1024"
data-spm-anchor-id="a1z1go8z.25060599.0.i11.71e369e4cItcn5">
<path
d="M750.848 28.928l245.248 242.944a66.048 66.048 0 1 1-93.184 93.184l-25.6-19.456-249.6 353.792 78.336 78.336a66.048 66.048 0 0 1-93.184 92.672l-460.8-464.64a66.048 66.048 0 0 1 93.184-93.184l76.8 78.336 354.048-249.856-18.176-18.944a66.048 66.048 0 1 1 93.184-93.184zM380.672 732.416l-91.904-90.88c-74.24 89.6-191.488 219.904-212.736 247.04a419.84 419.84 0 0 0-70.656 128 419.84 419.84 0 0 0 128-70.144c27.136-21.248 157.44-138.496 246.528-214.016z"

Before

Width:  |  Height:  |  Size: 715 B

After

Width:  |  Height:  |  Size: 808 B

View File

@ -1,4 +1,6 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 1024 1024"
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
fill="currentColor" preserveAspectRatio="xMidYMid meet" width="16" height="16"
viewBox="0 0 1024 1024"
data-spm-anchor-id="a1z1go8z.25060599.0.i10.71e369e4cItcn5">
<path
d="M160.256 816.64C116.224 872.448 102.4 921.6 102.4 921.6s49.152-13.824 104.96-57.856c22.016-17.408 128-112.64 200.704-174.08l-73.728-73.728c-61.44 72.704-157.184 178.688-174.08 200.704zM648.704 209.408L442.368 355.328l226.304 226.304 145.92-206.336 15.872 15.872c20.992 20.992 54.784 20.992 75.776 0s20.992-54.784 0-75.776l-197.12-197.12c-20.992-20.992-54.784-20.992-75.776 0-20.992 20.992-20.992 54.784 0 75.776l15.36 15.36zM247.808 334.848c-9.728 2.048-18.944 6.656-26.624 14.336-20.992 20.992-20.992 54.784 0 75.776l377.856 377.856c20.992 20.992 54.784 20.992 75.776 0 7.68-7.68 12.288-16.896 14.336-26.624L247.808 334.848z"

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M11 7.23077L8.23077 10M8.23077 10L5.46154 7.23077M8.23077 10L8.23077 3" stroke="currentColor" stroke-width="1.4"></path><line x1="14" y1="12.7" x2="2" y2="12.7" stroke="currentColor" stroke-width="1.4"></line></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M11 7.23077L8.23077 10M8.23077 10L5.46154 7.23077M8.23077 10L8.23077 3"
stroke="currentColor" stroke-width="1.4"></path>
<line x1="14" y1="12.7" x2="2" y2="12.7" stroke="currentColor" stroke-width="1.4"></line>
</svg>

Before

Width:  |  Height:  |  Size: 284 B

After

Width:  |  Height:  |  Size: 390 B

View File

@ -1 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8.76923 11L6 8.23077M6 8.23077L8.76923 5.46154M6 8.23077L13 8.23077" stroke="currentColor" stroke-width="1.4"></path><line x1="3.3" y1="14" x2="3.3" y2="2" stroke="currentColor" stroke-width="1.4"></line></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M8.76923 11L6 8.23077M6 8.23077L8.76923 5.46154M6 8.23077L13 8.23077"
stroke="currentColor" stroke-width="1.4"></path>
<line x1="3.3" y1="14" x2="3.3" y2="2" stroke="currentColor" stroke-width="1.4"></line>
</svg>

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 386 B

View File

@ -1 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M7.23077 5L10 7.76923M10 7.76923L7.23077 10.5385M10 7.76923L3 7.76923" stroke="currentColor" stroke-width="1.4"></path><line x1="12.7" y1="2" x2="12.7" y2="14" stroke="currentColor" stroke-width="1.4"></line></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M7.23077 5L10 7.76923M10 7.76923L7.23077 10.5385M10 7.76923L3 7.76923"
stroke="currentColor" stroke-width="1.4"></path>
<line x1="12.7" y1="2" x2="12.7" y2="14" stroke="currentColor" stroke-width="1.4"></line>
</svg>

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 389 B

View File

@ -1 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8.76923 11L6 8.23077M6 8.23077L8.76923 5.46154M6 8.23077L13 8.23077" stroke="currentColor" stroke-width="1.4"></path><line x1="3.3" y1="14" x2="3.3" y2="2" stroke="currentColor" stroke-width="1.4"></line></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M8.76923 11L6 8.23077M6 8.23077L8.76923 5.46154M6 8.23077L13 8.23077"
stroke="currentColor" stroke-width="1.4"></path>
<line x1="3.3" y1="14" x2="3.3" y2="2" stroke="currentColor" stroke-width="1.4"></line>
</svg>

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 386 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 21 11"><g fillRule="evenodd"><path d="M0 5h21v1H0V5zm4.5 0h6v1h-6V5zm6 0h6v1h-6V5z" opacity=".5"></path><path d="M11 1h5v9h-5V1zm1 1h3v3h-3V2z"></path><path opacity=".4" d="M6 5h3v5H6z"></path><path d="M6 3v7h3V3H6zM5 2h5v9H5V2z"></path></g></svg>
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20"
viewBox="0 0 21 11" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g fillRule="evenodd">
<path d="M0 5h21v1H0V5zm4.5 0h6v1h-6V5zm6 0h6v1h-6V5z" opacity=".5"></path>
<path d="M11 1h5v9h-5V1zm1 1h3v3h-3V2z"></path>
<path opacity=".4" d="M6 5h3v5H6z"></path>
<path d="M6 3v7h3V3H6zM5 2h5v9H5V2z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 468 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 21 9"><g fillRule="evenodd"><path d="M0 4h21v1H0V4zm4.5 0h6v1h-6V4zm6 0h6v1h-6V4z" opacity=".5"></path><path d="M11 0h5v9h-5z"></path><path opacity=".4" d="M6 1h3v7H6z"></path><path d="M6 1v7h3V1H6zM5 0h5v9H5V0z"></path></g></svg>
<svg fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="20"
height="20" viewBox="0 0 21 9">
<g fillRule="evenodd">
<path d="M0 4h21v1H0V4zm4.5 0h6v1h-6V4zm6 0h6v1h-6V4z" opacity=".5"></path>
<path d="M11 0h5v9h-5z"></path>
<path opacity=".4" d="M6 1h3v7H6z"></path>
<path d="M6 1v7h3V1H6zM5 0h5v9H5V0z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 327 B

After

Width:  |  Height:  |  Size: 451 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 21 18"><g fillRule="evenodd"><path opacity=".5" d="M0 17h21v1H0z"></path><path d="M11 7h5v9h-5z"></path><path opacity=".4" d="M6 8h3v7H6z"></path><path d="M6 8v7h3V8H6zM5 7h5v9H5V7z"></path></g></svg>
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 21 18">
<g fillRule="evenodd">
<path opacity=".5" d="M0 17h21v1H0z"></path>
<path d="M11 7h5v9h-5z"></path>
<path opacity=".4" d="M6 8h3v7H6z"></path>
<path d="M6 8v7h3V8H6zM5 7h5v9H5V7z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 421 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 21 18"><g fillRule="evenodd"><path opacity=".5" d="M0 0h21v1H0z"></path><path d="M11 2h5v9h-5z"></path><path opacity=".4" d="M6 3h3v7H6z"></path><path d="M6 3v7h3V3H6zM5 2h5v9H5V2z"></path></g></svg>
<svg fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="20"
height="20" viewBox="0 0 21 18">
<g fillRule="evenodd">
<path opacity=".5" d="M0 0h21v1H0z"></path>
<path d="M11 2h5v9h-5z"></path>
<path opacity=".4" d="M6 3h3v7H6z"></path>
<path d="M6 3v7h3V3H6zM5 2h5v9H5V2z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 296 B

After

Width:  |  Height:  |  Size: 420 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 21 18"><g fillRule="evenodd"><path opacity=".5" d="M0 17h21v1H0zM0 0h21v1H0z"></path><path d="M11 2h5v14h-5z"></path><path opacity=".4" d="M6 3h3v12H6z"></path><path d="M6 3v12h3V3H6zM5 2h5v14H5V2z"></path></g></svg>
<svg fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="20"
height="20" viewBox="0 0 21 18">
<g fillRule="evenodd">
<path opacity=".5" d="M0 17h21v1H0zM0 0h21v1H0z"></path>
<path d="M11 2h5v14h-5z"></path>
<path opacity=".4" d="M6 3h3v12H6z"></path>
<path d="M6 3v12h3V3H6zM5 2h5v14H5V2z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 313 B

After

Width:  |  Height:  |  Size: 437 B

View File

@ -1 +1,8 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 22 14"><path opacity=".15" d="M19 3v8H3V3h16m1-1H2v10h18V2z"></path><path d="M19.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h17.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 19.8 1zm.2 11H2V2h18v10z"></path><path opacity=".35" d="M3 3h16v8H3z"></path></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="16"
height="16" viewBox="0 0 22 14">
<path opacity=".15" d="M19 3v8H3V3h16m1-1H2v10h18V2z"></path>
<path
d="M19.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h17.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 19.8 1zm.2 11H2V2h18v10z"></path>
<path opacity=".35" d="M3 3h16v8H3z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 450 B

View File

@ -1 +1,9 @@
<svg preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 9 18"><g fillRule="evenodd"><path d="M0 6h9v5H0zm5 9v-3H4v3H2l2.5 3L7 15H5z"></path><path opacity=".4" d="M1 1h7v3H1z"></path><path d="M1 1v3h7V1H1zM0 0h9v5H0V0z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="20"
height="20" viewBox="0 0 9 18">
<g fillRule="evenodd">
<path d="M0 6h9v5H0zm5 9v-3H4v3H2l2.5 3L7 15H5z"></path>
<path opacity=".4" d="M1 1h7v3H1z"></path>
<path d="M1 1v3h7V1H1zM0 0h9v5H0V0z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 257 B

After

Width:  |  Height:  |  Size: 376 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 9 18" class="ve-svgicon vs-style-reverse-v" style="vertical-align: middle;"><g fill-rule="evenodd"><path d="M0 6h9v5H0zm5 9v-3H4v3H2l2.5 3L7 15H5z"></path><path opacity=".4" d="M1 1h7v3H1z" data-spm-anchor-id="a2q5o.26736379.0.i51.35962a19sy6kFy"></path><path d="M1 1v3h7V1H1zM0 0h9v5H0V0z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" preserveAspectRatio="xMidYMid meet"
width="20" height="20" viewBox="0 0 9 18" class="ve-svgicon vs-style-reverse-v"
style="vertical-align: middle;">
<g fill-rule="evenodd">
<path d="M0 6h9v5H0zm5 9v-3H4v3H2l2.5 3L7 15H5z"></path>
<path opacity=".4" d="M1 1h7v3H1z" data-spm-anchor-id="a2q5o.26736379.0.i51.35962a19sy6kFy"></path>
<path d="M1 1v3h7V1H1zM0 0h9v5H0V0z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 526 B

View File

@ -1 +1,9 @@
<svg preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 19 9"><g fillRule="evenodd"><path d="M16 4h-4v1h4v2l3-2.5L16 2v2zM6 0h5v9H6z"></path><path opacity=".4" d="M1 1h3v7H1z"></path><path d="M1 1v7h3V1H1zM0 0h5v9H0V0z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="20"
height="20" viewBox="0 0 19 9">
<g fillRule="evenodd">
<path d="M16 4h-4v1h4v2l3-2.5L16 2v2zM6 0h5v9H6z"></path>
<path opacity=".4" d="M1 1h3v7H1z"></path>
<path d="M1 1v7h3V1H1zM0 0h5v9H0V0z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 377 B

View File

@ -1 +1,9 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 19 9"><g fillRule="evenodd"><path d="M16 4h-4v1h4v2l3-2.5L16 2v2zM6 0h5v9H6z"></path><path opacity=".4" d="M1 1h3v7H1z"></path><path d="M1 1v7h3V1H1zM0 0h5v9H0V0z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" preserveAspectRatio="xMidYMid meet"
width="20" height="20" viewBox="0 0 19 9">
<g fillRule="evenodd">
<path d="M16 4h-4v1h4v2l3-2.5L16 2v2zM6 0h5v9H6z"></path>
<path opacity=".4" d="M1 1h3v7H1z"></path>
<path d="M1 1v7h3V1H1zM0 0h5v9H0V0z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 278 B

After

Width:  |  Height:  |  Size: 397 B

View File

@ -1 +1,15 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 23 14"><g fillRule="evenodd"><path d="M21 2v10H2V2h19zm1-1H1v12h21V1z" opacity=".15"></path><path d="M1.2 0A1.2 1.2 0 0 0 0 1.2v11.6A1.2 1.2 0 0 0 1.2 14h20.6a1.2 1.2 0 0 0 1.2-1.2V1.2A1.2 1.2 0 0 0 21.8 0H1.2zM22 13H1V1h21v12z"></path><path opacity=".4" d="M3 3h5v8H3z"></path><path d="M4 4v6h3V4H4zm4-1v8H3V3h5z"></path><path opacity=".4" d="M9 3h5v8H9z"></path><path d="M10 4v6h3V4h-3zm4-1v8H9V3h5z"></path><path opacity=".4" d="M15 3h5v8h-5z"></path><path d="M16 4v6h3V4h-3zm4-1v8h-5V3h5z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="16"
height="16" viewBox="0 0 23 14">
<g fillRule="evenodd">
<path d="M21 2v10H2V2h19zm1-1H1v12h21V1z" opacity=".15"></path>
<path
d="M1.2 0A1.2 1.2 0 0 0 0 1.2v11.6A1.2 1.2 0 0 0 1.2 14h20.6a1.2 1.2 0 0 0 1.2-1.2V1.2A1.2 1.2 0 0 0 21.8 0H1.2zM22 13H1V1h21v12z"></path>
<path opacity=".4" d="M3 3h5v8H3z"></path>
<path d="M4 4v6h3V4H4zm4-1v8H3V3h5z"></path>
<path opacity=".4" d="M9 3h5v8H9z"></path>
<path d="M10 4v6h3V4h-3zm4-1v8H9V3h5z"></path>
<path opacity=".4" d="M15 3h5v8h-5z"></path>
<path d="M16 4v6h3V4h-3zm4-1v8h-5V3h5z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 588 B

After

Width:  |  Height:  |  Size: 738 B

View File

@ -1 +1,9 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 28 14"><path d="M25 3v8H3V3h22m1-1H2v10h24V2z" opacity=".15"></path><path opacity=".35" d="M8.418 9.8H7.66L7.25 11h1.58l-.232-.676-.18-.525zM3 11h.567l2.916-7.94h3.15L11 6.78V3H3v8zm15.12-1.002a3.302 3.302 0 0 1-.48-.586c-.173.343-.42.653-.73.888.002 0 .004-.002.005-.003l-.008.006.003-.003a3.145 3.145 0 0 1-1.092.55c-.4.11-.825.15-1.303.15h6.017a4.416 4.416 0 0 1-1.12-.215 3.51 3.51 0 0 1-1.292-.787zM14.237 3c.49 0 .853.014 1.167.06.335.05.656.16.953.314h.003l.004.003c.365.19.694.492.898.866.13.234.197.49.24.747.16-.298.343-.58.578-.82v-.002c.358-.366.8-.643 1.287-.826a4.373 4.373 0 0 1 1.557-.272 5.67 5.67 0 0 1 1.442.18l.01.002.01.003c.205.06.4.126.59.208.15.064.283.125.407.185l.562.274v3.016h-1.54l-.28-.24a7.018 7.018 0 0 0-.233-.188 2.703 2.703 0 0 0-.26-.175 1.594 1.594 0 0 0-.277-.125h-.006l-.2-.03a.772.772 0 0 0-.26.042l-.16.102a.63.63 0 0 0-.13.22 1.486 1.486 0 0 0-.075.516c0 .266.04.436.074.513a.59.59 0 0 0 .13.212l.15.09h.003a.868.868 0 0 0 .265.045l.236-.037h.008a1.04 1.04 0 0 0 .25-.113l.007-.004.01-.005.24-.16a6.41 6.41 0 0 0 .216-.17l.285-.254h1.536v3.017l-.59.266c-.15.066-.292.13-.422.184a4.19 4.19 0 0 1-.53.19 5.918 5.918 0 0 1-.636.15c-.076.012-.16.02-.24.026H25V3H14.237z"></path><path d="M25.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h23.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 25.8 1zm.2 11H2V2h24v10zm-7.186-2.72c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.412-.19V8.16h-.154c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.485.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3c-.15-.14-.28-.33-.38-.57a2.36 2.36 0 0 1-.152-.9c0-.347.047-.64.14-.88s.216-.433.367-.58c.157-.15.33-.26.517-.325a1.786 1.786 0 0 1 1.116-.014c.164.056.316.125.457.206a4.868 4.868 0 0 1 .644.466h.17V4.54a13.03 13.03 0 0 0-.367-.168 3.667 3.667 0 0 0-1.005-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.675.333-.924.59c-.26.262-.457.58-.59.95S18 6.6 18 7.055c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.607c.272-.076.52-.2.75-.38.195-.15.35-.338.46-.567.113-.23.17-.488.17-.778 0-.4-.11-.722-.332-.967-.22-.245-.52-.406-.896-.484v-.03a1.46 1.46 0 0 0 .623-.51 1.36 1.36 0 0 0 .22-.77c0-.25-.052-.47-.16-.665a1.15 1.15 0 0 0-.49-.465 2.065 2.065 0 0 0-.64-.215A7.67 7.67 0 0 0 14.237 4H12v6h2.515c.418 0 .763-.037 1.035-.113zM13.478 5.1h.14c.29 0 .517.002.678.006s.296.027.404.07c.12.05.206.123.253.223a.69.69 0 0 1 .072.29.86.86 0 0 1-.062.34c-.042.1-.13.18-.263.24a1.05 1.05 0 0 1-.39.08c-.166.007-.366.01-.6.01h-.233V5.1zm.108 3.8h-.108V7.405h.324c.222 0 .434 0 .638.004.203 0 .363.02.48.05.17.05.29.13.36.23s.106.25.106.44c0 .144-.03.272-.087.384s-.17.2-.32.27a1.257 1.257 0 0 1-.5.104c-.18.003-.48.004-.9.004zm-6.64-.1h2.187l.41 1.2h1.574L8.935 4.06H7.182L5 10h1.535l.412-1.2zM8.04 5.58l.727 2.13H7.313l.727-2.13z"></path></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="16"
height="16" viewBox="0 0 28 14">
<path d="M25 3v8H3V3h22m1-1H2v10h24V2z" opacity=".15"></path>
<path opacity=".35"
d="M8.418 9.8H7.66L7.25 11h1.58l-.232-.676-.18-.525zM3 11h.567l2.916-7.94h3.15L11 6.78V3H3v8zm15.12-1.002a3.302 3.302 0 0 1-.48-.586c-.173.343-.42.653-.73.888.002 0 .004-.002.005-.003l-.008.006.003-.003a3.145 3.145 0 0 1-1.092.55c-.4.11-.825.15-1.303.15h6.017a4.416 4.416 0 0 1-1.12-.215 3.51 3.51 0 0 1-1.292-.787zM14.237 3c.49 0 .853.014 1.167.06.335.05.656.16.953.314h.003l.004.003c.365.19.694.492.898.866.13.234.197.49.24.747.16-.298.343-.58.578-.82v-.002c.358-.366.8-.643 1.287-.826a4.373 4.373 0 0 1 1.557-.272 5.67 5.67 0 0 1 1.442.18l.01.002.01.003c.205.06.4.126.59.208.15.064.283.125.407.185l.562.274v3.016h-1.54l-.28-.24a7.018 7.018 0 0 0-.233-.188 2.703 2.703 0 0 0-.26-.175 1.594 1.594 0 0 0-.277-.125h-.006l-.2-.03a.772.772 0 0 0-.26.042l-.16.102a.63.63 0 0 0-.13.22 1.486 1.486 0 0 0-.075.516c0 .266.04.436.074.513a.59.59 0 0 0 .13.212l.15.09h.003a.868.868 0 0 0 .265.045l.236-.037h.008a1.04 1.04 0 0 0 .25-.113l.007-.004.01-.005.24-.16a6.41 6.41 0 0 0 .216-.17l.285-.254h1.536v3.017l-.59.266c-.15.066-.292.13-.422.184a4.19 4.19 0 0 1-.53.19 5.918 5.918 0 0 1-.636.15c-.076.012-.16.02-.24.026H25V3H14.237z"></path>
<path
d="M25.8 1H2.2A1.2 1.2 0 0 0 1 2.2v9.6A1.2 1.2 0 0 0 2.2 13h23.6a1.2 1.2 0 0 0 1.2-1.2V2.2A1.2 1.2 0 0 0 25.8 1zm.2 11H2V2h24v10zm-7.186-2.72c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.412-.19V8.16h-.154c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.485.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3c-.15-.14-.28-.33-.38-.57a2.36 2.36 0 0 1-.152-.9c0-.347.047-.64.14-.88s.216-.433.367-.58c.157-.15.33-.26.517-.325a1.786 1.786 0 0 1 1.116-.014c.164.056.316.125.457.206a4.868 4.868 0 0 1 .644.466h.17V4.54a13.03 13.03 0 0 0-.367-.168 3.667 3.667 0 0 0-1.005-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.675.333-.924.59c-.26.262-.457.58-.59.95S18 6.6 18 7.055c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.607c.272-.076.52-.2.75-.38.195-.15.35-.338.46-.567.113-.23.17-.488.17-.778 0-.4-.11-.722-.332-.967-.22-.245-.52-.406-.896-.484v-.03a1.46 1.46 0 0 0 .623-.51 1.36 1.36 0 0 0 .22-.77c0-.25-.052-.47-.16-.665a1.15 1.15 0 0 0-.49-.465 2.065 2.065 0 0 0-.64-.215A7.67 7.67 0 0 0 14.237 4H12v6h2.515c.418 0 .763-.037 1.035-.113zM13.478 5.1h.14c.29 0 .517.002.678.006s.296.027.404.07c.12.05.206.123.253.223a.69.69 0 0 1 .072.29.86.86 0 0 1-.062.34c-.042.1-.13.18-.263.24a1.05 1.05 0 0 1-.39.08c-.166.007-.366.01-.6.01h-.233V5.1zm.108 3.8h-.108V7.405h.324c.222 0 .434 0 .638.004.203 0 .363.02.48.05.17.05.29.13.36.23s.106.25.106.44c0 .144-.03.272-.087.384s-.17.2-.32.27a1.257 1.257 0 0 1-.5.104c-.18.003-.48.004-.9.004zm-6.64-.1h2.187l.41 1.2h1.574L8.935 4.06H7.182L5 10h1.535l.412-1.2zM8.04 5.58l.727 2.13H7.313l.727-2.13z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1 +1,6 @@
<svg preserveAspectRatio="xMidYMid meet" width="16" height="16" viewBox="0 0 20 8"><path d="M14.814 6.25c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.41-.19V5.13h-.153c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.484.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3 1.566 1.566 0 0 1-.38-.57c-.1-.24-.152-.54-.152-.9 0-.346.048-.638.14-.878s.217-.437.368-.58c.16-.155.33-.26.52-.33a1.786 1.786 0 0 1 1.117-.013c.165.055.317.124.458.205a4.385 4.385 0 0 1 .643.47h.17V1.52c-.107-.05-.23-.107-.37-.168a3.613 3.613 0 0 0-1.003-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.674.33-.923.59c-.26.26-.458.58-.59.95S14 3.57 14 4.02c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.608c.272-.075.52-.2.75-.377a1.5 1.5 0 0 0 .46-.56 1.72 1.72 0 0 0 .17-.77c0-.4-.11-.72-.332-.96-.22-.244-.52-.404-.896-.48v-.04a1.46 1.46 0 0 0 .623-.516c.147-.22.22-.474.22-.763 0-.25-.052-.47-.16-.66a1.152 1.152 0 0 0-.49-.46 2.06 2.06 0 0 0-.64-.212A7.67 7.67 0 0 0 10.237 1H8v5.97h2.515c.418 0 .763-.037 1.035-.112zM9.478 2.095h.14c.29 0 .517.002.678.006.162.01.296.03.404.07a.46.46 0 0 1 .253.23.69.69 0 0 1 .072.298.85.85 0 0 1-.062.34.492.492 0 0 1-.263.24 1.052 1.052 0 0 1-.39.08c-.166.006-.366.01-.6.01h-.232v-1.27zm.108 3.78h-.108V4.388h.324c.222 0 .434 0 .638.004a1.8 1.8 0 0 1 .48.056c.17.05.29.127.36.23.07.104.106.25.106.44 0 .144-.03.272-.087.383s-.17.2-.32.27-.32.1-.5.11c-.18.004-.48.004-.9.004zm-6.64-.106h2.187l.41 1.2h1.574L4.935 1.03H3.182L1 6.97h1.535l.412-1.2zM4.04 2.55l.727 2.13H3.313l.727-2.13z"></path></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" width="16"
height="16" viewBox="0 0 20 8">
<path
d="M14.814 6.25c.258.248.567.435.927.56s.76.19 1.18.19c.29 0 .51-.014.68-.042.167-.028.34-.07.53-.123.143-.04.28-.09.41-.146l.41-.19V5.13h-.153c-.07.06-.157.134-.265.22a3.337 3.337 0 0 1-.35.237 2.11 2.11 0 0 1-.484.22 1.798 1.798 0 0 1-1.1-.01 1.403 1.403 0 0 1-.523-.3 1.566 1.566 0 0 1-.38-.57c-.1-.24-.152-.54-.152-.9 0-.346.048-.638.14-.878s.217-.437.368-.58c.16-.155.33-.26.52-.33a1.786 1.786 0 0 1 1.117-.013c.165.055.317.124.458.205a4.385 4.385 0 0 1 .643.47h.17V1.52c-.107-.05-.23-.107-.37-.168a3.613 3.613 0 0 0-1.003-.27 4.736 4.736 0 0 0-.65-.04c-.436 0-.837.07-1.205.207s-.674.33-.923.59c-.26.26-.458.58-.59.95S14 3.57 14 4.02c0 .488.07.918.213 1.29s.343.683.6.933zm-3.264.608c.272-.075.52-.2.75-.377a1.5 1.5 0 0 0 .46-.56 1.72 1.72 0 0 0 .17-.77c0-.4-.11-.72-.332-.96-.22-.244-.52-.404-.896-.48v-.04a1.46 1.46 0 0 0 .623-.516c.147-.22.22-.474.22-.763 0-.25-.052-.47-.16-.66a1.152 1.152 0 0 0-.49-.46 2.06 2.06 0 0 0-.64-.212A7.67 7.67 0 0 0 10.237 1H8v5.97h2.515c.418 0 .763-.037 1.035-.112zM9.478 2.095h.14c.29 0 .517.002.678.006.162.01.296.03.404.07a.46.46 0 0 1 .253.23.69.69 0 0 1 .072.298.85.85 0 0 1-.062.34.492.492 0 0 1-.263.24 1.052 1.052 0 0 1-.39.08c-.166.006-.366.01-.6.01h-.232v-1.27zm.108 3.78h-.108V4.388h.324c.222 0 .434 0 .638.004a1.8 1.8 0 0 1 .48.056c.17.05.29.127.36.23.07.104.106.25.106.44 0 .144-.03.272-.087.383s-.17.2-.32.27-.32.1-.5.11c-.18.004-.48.004-.9.004zm-6.64-.106h2.187l.41 1.2h1.574L4.935 1.03H3.182L1 6.97h1.535l.412-1.2zM4.04 2.55l.727 2.13H3.313l.727-2.13z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 13 17"><g fillRule="evenodd"><path opacity=".5" d="M6 0h1v17H6z"></path><path d="M8 4h5v9H8z"></path><path opacity=".4" d="M1 5h3v7H1z"></path><path d="M1 5v7h3V5H1zM0 4h5v9H0V4z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" preserveAspectRatio="xMidYMid meet"
width="20" height="20" viewBox="0 0 13 17">
<g fillRule="evenodd">
<path opacity=".5" d="M6 0h1v17H6z"></path>
<path d="M8 4h5v9H8z"></path>
<path opacity=".4" d="M1 5h3v7H1z"></path>
<path d="M1 5v7h3V5H1zM0 4h5v9H0V4z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 294 B

After

Width:  |  Height:  |  Size: 418 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 24 17"><g fillRule="evenodd"><path opacity=".5" d="M23 0h1v17h-1z"></path><path d="M17 4h5v9h-5z"></path><path opacity=".4" d="M12 5h3v7h-3z"></path><path d="M12 5v7h3V5h-3zm-1-1h5v9h-5V4z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" preserveAspectRatio="xMidYMid meet"
width="20" height="20" viewBox="0 0 24 17">
<g fillRule="evenodd">
<path opacity=".5" d="M23 0h1v17h-1z"></path>
<path d="M17 4h5v9h-5z"></path>
<path opacity=".4" d="M12 5h3v7h-3z"></path>
<path d="M12 5v7h3V5h-3zm-1-1h5v9h-5V4z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 428 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 24 17"><g fillRule="evenodd"><path opacity=".5" d="M0 0h1v17H0z"></path><path d="M8 4h5v9H8z"></path><path opacity=".4" d="M3 5h3v7H3z"></path><path d="M3 5v7h3V5H3zM2 4h5v9H2V4z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" preserveAspectRatio="xMidYMid meet"
width="20" height="20" viewBox="0 0 24 17">
<g fillRule="evenodd">
<path opacity=".5" d="M0 0h1v17H0z"></path>
<path d="M8 4h5v9H8z"></path>
<path opacity=".4" d="M3 5h3v7H3z"></path>
<path d="M3 5v7h3V5H3zM2 4h5v9H2V4z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 294 B

After

Width:  |  Height:  |  Size: 418 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 16 17"><g fillRule="evenodd"><path d="M2 0h1v17H2V0zm0 3.5h1v10H2v-10zM13 0h1v17h-1V0zm0 3.5h1v10h-1v-10z" opacity=".5"></path><path d="M11 4h5v9h-5z"></path><path opacity=".4" d="M1 5h3v7H1z"></path><path d="M1 5v7h3V5H1zM0 4h5v9H0V4z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" preserveAspectRatio="xMidYMid meet"
width="20" height="20" viewBox="0 0 16 17">
<g fillRule="evenodd">
<path d="M2 0h1v17H2V0zm0 3.5h1v10H2v-10zM13 0h1v17h-1V0zm0 3.5h1v10h-1v-10z" opacity=".5"></path>
<path d="M11 4h5v9h-5z"></path>
<path opacity=".4" d="M1 5h3v7H1z"></path>
<path d="M1 5v7h3V5H1zM0 4h5v9H0V4z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 475 B

View File

@ -1 +1,10 @@
<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" width="20" height="20" viewBox="0 0 24 17"><g fillRule="evenodd"><path opacity=".5" d="M0 0h1v17H0zm23 0h1v17h-1z"></path><path d="M17 4h5v9h-5z"></path><path opacity=".4" d="M3 5h3v7H3z"></path><path d="M3 5v7h3V5H3zM2 4h5v9H2V4z"></path></g></svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" preserveAspectRatio="xMidYMid meet"
width="20" height="20" viewBox="0 0 24 17">
<g fillRule="evenodd">
<path opacity=".5" d="M0 0h1v17H0zm23 0h1v17h-1z"></path>
<path d="M17 4h5v9h-5z"></path>
<path opacity=".4" d="M3 5h3v7H3z"></path>
<path d="M3 5v7h3V5H3zM2 4h5v9H2V4z"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 310 B

After

Width:  |  Height:  |  Size: 434 B

View File

@ -10,12 +10,7 @@ import {
Checkbox,
Spinner
} from 'amis';
import {
FormControlProps,
generateIcon,
Renderer,
RendererProps
} from 'amis-core';
import {FormControlProps, Renderer, RendererProps} from 'amis-core';
import {debounce, remove} from 'lodash';
import React from 'react';
import {EditorManager, EditorNodeType, autobind} from 'amis-editor-core';
@ -226,7 +221,11 @@ export class SimpleDataBindingControl extends React.Component<
item => item.value || item.label
)}
expandIcon={
generateIcon(cx, 'fa fa-chevron-right expandIcon', 'Icon')!
<Icon
cx={cx}
icon="fa fa-chevron-right expandIcon"
className="Icon"
/>
}
expandIconPosition="right"
// accordion={true}

View File

@ -1593,7 +1593,7 @@
--ListControl-item-onActive-color: var(
--listSelect-base-active-top-border-color
);
--ListControl-item-onActive-before-bg: var(--colors-brand-4);
--ListControl-item-onActive-before-bg: var(--colors-brand-5);
--ListControl-item-color: var(--listSelect-base-default-color);
--ListControl-item-onDisabled-color: var(--listSelect-base-disabled-color);
--ListControl-item-paddingX: var(--listSelect-base-default-paddingLeft);
@ -3498,7 +3498,7 @@
--Toast--danger-bottom-left-border-radius: var(--borders-radius-3);
--Toast--danger-bgColor: var(--colors-neutral-fill-11);
--Toast--info-color: var(--colors-neutral-text-2);
--Toast--info-fontSize: var(--fonts-size-6);
--Toast--info-fontSize: var(--fonts-size-7);
--Toast--info-fontWeight: var(--fonts-weight-6);
--Toast--info-top-border-color: var(--colors-neutral-line-11);
--Toast--info-top-border-width: var(--borders-width-2);

View File

@ -482,7 +482,7 @@ $Table-strip-bg: transparent;
--ListControl-item-borderRadius: var(--borders-radius-3);
--ListControl-item-color: var(--colors-neutral-text-2);
--ListControl-item-onActive-after-borderColor: var(--colors-neutral-line-11);
--ListControl-item-onActive-before-bg: var(--colors-brand-4);
--ListControl-item-onActive-before-bg: var(--colors-brand-5);
--ListControl-item-onActive-bg: var(--colors-neutral-fill-11);
--ListControl-item-onActive-borderColor: var(--colors-brand-4);
--ListControl-item-onActive-color: var(--colors-brand-4);

View File

@ -6,17 +6,17 @@
margin-left: var(--DropDown-caret-marginLeft);
display: inline-block;
vertical-align: top;
transition: transform var(--animation-duration) ease;
> svg {
width: px2rem(10px);
height: px2rem(10px);
top: 0.125em;
transition: transform var(--animation-duration) ease;
transform: rotate(90deg);
}
}
&.is-opened &-caret {
transform: rotate(180deg);
&.is-opened &-caret svg {
transform: rotate(270deg);
}
&.is-actived > .#{$ns}Button {

View File

@ -6,17 +6,18 @@
margin-left: var(--DropDown-caret-marginLeft);
display: inline-block;
vertical-align: top;
transition: transform var(--animation-duration) ease;
> svg {
width: px2rem(10px);
height: px2rem(10px);
top: 0.125em;
top: 0;
transform: rotate(90deg);
transition: transform var(--animation-duration) ease;
}
}
&.is-opened &-caret {
transform: rotate(180deg);
&.is-opened &-caret svg {
transform: rotate(270deg);
}
&.is-actived {

View File

@ -58,6 +58,7 @@
margin: 5px;
display: flex;
color: var(--Form-select-caret-iconColor);
transform: rotate(90deg);
&:hover {
color: var(--Form-select-caret-onHover-iconColor);
}
@ -70,7 +71,7 @@
}
&.is-active &-caret {
transform: rotate(180deg);
transform: rotate(270deg);
}
&.is-mobile {

View File

@ -96,7 +96,7 @@
transition: transform var(--animation-duration);
color: var(--icon-color);
margin-top: calc((var(--Form-input-height) - var(--Switch-height)) / 2);
transform: rotate(90deg);
> svg {
width: 10px;
height: 10px;
@ -105,7 +105,7 @@
}
&-caret.is-collapsed {
transform: rotate(-90deg);
transform: rotate(0deg);
}
&-required {

View File

@ -79,7 +79,7 @@
transition: transform var(--animation-duration);
color: var(--icon-color);
margin-top: calc((var(--Form-input-height) - var(--Switch-height)) / 2);
transform: rotate(90deg);
> svg {
width: 10px;
height: 10px;
@ -88,7 +88,7 @@
}
&-caret.is-collapsed {
transform: rotate(-90deg);
transform: rotate(0deg);
}
&.is-expanded {

View File

@ -53,6 +53,9 @@
&-cancelBtn {
cursor: pointer;
color: var(--SearchBox-search-icon-color);
svg {
top: 1px;
}
&:hover {
color: var(--icon-onHover-color);
@ -118,6 +121,9 @@
height: 100%;
color: var(--SearchBox-enhonce-icon-color);
background: var(--SearchBox-hover-color);
svg {
top: 0;
}
&:hover {
background: var(--button-primary-hover-bg-color);

View File

@ -24,8 +24,8 @@
font-size: var(--Steps-icon-fontsize);
text-align: center;
.icon {
width: px2rem(9px);
height: px2rem(9px);
width: px2rem(12px);
height: px2rem(12px);
position: relative;
top: 0;
}
@ -388,7 +388,9 @@
.#{$ns}StepsItem.is-clickable {
.#{$ns}StepsItem-container {
&ProgressDot, &Icon, &Wrapper {
&ProgressDot,
&Icon,
&Wrapper {
cursor: pointer;
}
}

View File

@ -103,10 +103,11 @@
color: var(--Timeline-detail-icon-color);
width: var(--TimelineItem-detail-arrow-width);
height: var(--TimelineItem-detail-arrow-width);
transition: transform var(--animation-duration);
}
.#{$ns}TimelineItem-detail-arrow-top {
transform: rotateX(180deg);
transform: rotate(180deg);
}
.#{$ns}TimelineItem-detail-visible {

View File

@ -362,7 +362,9 @@
margin-right: 0;
border-radius: calc(var(--Checkbox-borderRadius) * 2);
min-width: var(--Checkbox-button-min-width);
> span {
line-height: var(--Checkbox-button-line-height);
}
&:hover:not(:disabled) {
color: var(--Checkbox-onHover-color);
border-color: var(--Checkbox-onHover-color);

View File

@ -487,6 +487,9 @@
padding: 0 8px;
border-radius: 2px;
}
.#{$ns}QuickWrapper a {
font-size: var(--button-size-sm-fontSize);
}
}
.#{$ns}CalendarInput {

View File

@ -167,7 +167,7 @@
border-style: solid;
border-width: 0 0 px2rem(2px) px2rem(2px);
right: px2rem(1px);
bottom: var(--gap-xs);
bottom: px2rem(6px);
transform: rotate(-40deg);
}
}

View File

@ -21,10 +21,11 @@
padding-right: var(--Form-select-icon-rigin);
svg {
width: px2rem(12px);
height: px2rem(12px);
width: px2rem(10px);
height: px2rem(10px);
fill: var(--Form-input-iconColor);
color: var(--default-icon-color);
top: 0;
}
}

View File

@ -5,7 +5,6 @@
import React from 'react';
import {ClassNamesFn, themeable} from 'amis-core';
import {generateIcon, IconCheckedSchema} from 'amis-core';
import {Icon, getIcon} from './icons';
export interface AlertProps {
@ -78,20 +77,8 @@ export class Alert extends React.Component<AlertProps, AlertState> {
} = this.props;
// 优先使用内置svg其次使用icon库
const iconNode = icon ? (
['string', 'object'].includes(typeof icon) ? (
typeof icon === 'object' ? (
generateIcon(cx, icon as any as IconCheckedSchema, 'icon')
) : (
getIcon(icon as string) && <Icon icon={icon} className={cx(`icon`)} />
)
) : React.isValidElement(icon) ? (
React.cloneElement(icon as React.ReactElement, {
className: cx(`Alert-icon`, icon.props?.className)
})
) : null
) : showIcon ? (
<Icon icon={`alert-${level}`} className={cx(`icon`)} />
const iconNode = showIcon ? (
<Icon cx={cx} icon={icon || `alert-${level}`} className="icon" />
) : null;
return this.state.show ? (

View File

@ -1,11 +1,6 @@
import * as React from 'react';
import {
ClassNamesFn,
themeable,
ThemeProps,
generateIcon,
IconCheckedSchema
} from 'amis-core';
import {ClassNamesFn, themeable, ThemeProps} from 'amis-core';
import {Icon, IconCheckedSchema} from './icons';
/**
* Avatar
@ -234,7 +229,7 @@ export class Avatar extends React.Component<AvatarCmptProps, AvatarState> {
</span>
);
} else if (['string', 'object'].includes(typeof icon)) {
childrenRender = generateIcon(cx, icon as any);
childrenRender = <Icon cx={cx} icon={icon} />;
} else if (isIconRender) {
childrenRender = icon as any;
} else {

View File

@ -8,7 +8,6 @@ import {ClassNamesFn, themeable, ThemeProps} from 'amis-core';
import {RootClose} from 'amis-core';
import {removeHTMLTag} from 'amis-core';
import {Icon} from './icons';
import {generateIcon} from 'amis-core';
export type ItemPlace = 'start' | 'middle' | 'end';
export type TooltipPositionType = 'top' | 'bottom' | 'left' | 'right';
@ -60,8 +59,14 @@ export class Breadcrumb extends React.Component<BreadcrumbProps> {
render() {
const cx = this.props.classnames;
const {className, style, separatorClassName, items, separator, ...restProps} =
this.props;
const {
className,
style,
separatorClassName,
items,
separator,
...restProps
} = this.props;
const crumbsLength = items?.length;
if (!crumbsLength) {
@ -97,7 +102,11 @@ export class Breadcrumb extends React.Component<BreadcrumbProps> {
curr
]);
return <div className={cx('Breadcrumb', className)} style={style}>{crumbs}</div>;
return (
<div className={cx('Breadcrumb', className)} style={style}>
{crumbs}
</div>
);
}
}
@ -157,18 +166,28 @@ export class BreadcrumbItem extends React.Component<
href={item.href}
className={cx('Breadcrumb-item-' + itemType, baseItemClassName)}
>
{item.icon
? generateIcon(cx, item.icon, 'Icon', 'Breadcrumb-icon')
: null}
{item.icon ? (
<Icon
cx={cx}
icon={item.icon}
className="Icon"
classNameProp="Breadcrumb-icon"
/>
) : null}
<span className={cx('TplField')}>{label}</span>
</a>
);
}
return (
<span className={cx('Breadcrumb-item-' + itemType, baseItemClassName)}>
{item.icon
? generateIcon(cx, item.icon, 'Icon', 'Breadcrumb-icon')
: null}
{item.icon ? (
<Icon
cx={cx}
icon={item.icon}
className="Icon"
classNameProp="Breadcrumb-icon"
/>
) : null}
<span className={cx('TplField')}>{label}</span>
</span>
);

View File

@ -208,7 +208,7 @@ export class Collapse extends React.Component<CollapseProps, CollapseState> {
<Icon
icon="right-arrow-bold"
className={cx('Collapse-arrow', 'icon')}
wrapClassName={cx('Collapse-arrow')}
classNameProp={cx('Collapse-arrow')}
iconContent="Collapse-arrow"
/>
</span>

View File

@ -108,7 +108,7 @@ export class InputBoxWithSuggestion extends React.Component<InputBoxWithSuggesti
useMobileUI={useMobileUI}
>
<span className={cx('InputBox-caret')}>
<Icon icon="caret" className="icon" />
<Icon icon="right-arrow-bold" className="icon" />
</span>
</InputBox>
)}

View File

@ -1,7 +1,7 @@
import React from 'react';
import {themeable, ThemeProps} from 'amis-core';
import {autobind} from 'amis-core';
import {generateIcon} from 'amis-core';
import {Icon} from './icons';
export interface LinkProps
extends ThemeProps,
@ -76,9 +76,11 @@ export class Link extends React.Component<LinkProps, object> {
title={title}
onClick={this.handleClick}
>
{icon ? generateIcon(cx, icon, 'Link-icon') : null}
{icon ? <Icon cx={cx} icon={icon} className="Link-icon" /> : null}
{children}
{rightIcon ? generateIcon(cx, rightIcon, 'Link-icon') : null}
{rightIcon ? (
<Icon cx={cx} icon={rightIcon} className="Link-icon" />
) : null}
</a>
);
}

View File

@ -398,7 +398,7 @@ export class NumberInput extends React.Component<NumberProps, NumberState> {
<Icon
icon="minus"
className="icon"
wrapClassName={cx('InputNumber-enhance-minus icon')}
classNameProp={cx('InputNumber-enhance-minus icon')}
iconContent="InputNumber-enhance-minus"
/>
</div>
@ -415,7 +415,7 @@ export class NumberInput extends React.Component<NumberProps, NumberState> {
<Icon
icon="plus"
className="icon"
wrapClassName={cx('InputNumber-enhance-plus icon')}
classNameProp={cx('InputNumber-enhance-plus icon')}
iconContent="InputNumber-enhance-plus"
/>
</div>

View File

@ -10,7 +10,6 @@ import ReactDOM from 'react-dom';
import {themeable, ThemeProps} from 'amis-core';
import Transition, {ENTERED, ENTERING} from 'react-transition-group/Transition';
import {Icon, hasIcon} from './icons';
import {generateIcon} from 'amis-core';
import {types} from 'mobx-state-tree';
import {observable, reaction} from 'mobx';
@ -250,13 +249,7 @@ export class Spinner extends React.Component<
)}
>
{icon ? (
isCustomIcon ? (
icon
) : hasIcon(icon as string) ? (
<Icon icon={icon} className="icon" />
) : (
generateIcon(cx, icon as string, 'icon')
)
<Icon cx={cx} icon={icon} className="icon" />
) : null}
</div>
{tip ? <span className={cx(`Spinner-tip`)}>{tip}</span> : ''}

View File

@ -9,7 +9,7 @@ import {ClassName, localeable, LocaleProps, Schema} from 'amis-core';
import Transition, {ENTERED, ENTERING} from 'react-transition-group/Transition';
import {themeable, ThemeProps, noop} from 'amis-core';
import {uncontrollable} from 'amis-core';
import {generateIcon, isObjectShallowModified} from 'amis-core';
import {isObjectShallowModified} from 'amis-core';
import {autobind, guid} from 'amis-core';
import {Icon} from './icons';
import debounce from 'lodash/debounce';
@ -611,7 +611,7 @@ export class Tabs extends React.Component<TabsProps, any> {
const activeKey =
activeKeyProp === undefined && index === 0 ? eventKey : activeKeyProp;
const iconElement = generateIcon(cx, icon, 'Icon');
const iconElement = <Icon cx={cx} icon={icon} className="Icon" />;
const link = (
<a title={typeof title === 'string' ? title : undefined}>

View File

@ -5,7 +5,6 @@
import React from 'react';
import {themeable, ThemeProps} from 'amis-core';
import {Icon, getIcon} from './icons';
import {generateIcon} from 'amis-core';
import {autobind, noop} from 'amis-core';
export interface TagProps extends ThemeProps {
@ -59,18 +58,7 @@ export class Tag extends React.Component<TagProps> {
return null;
}
const icon =
typeof closeIcon === 'string' ? (
getIcon(closeIcon) ? (
<Icon icon={closeIcon} className="icon" />
) : (
generateIcon(cx, closeIcon, 'Icon')
)
) : React.isValidElement(closeIcon) ? (
closeIcon
) : (
<Icon icon="close" className="icon" />
);
const icon = <Icon cx={cx} icon={closeIcon || 'close'} className="icon" />;
return (
<span className={cx(`Tag--close`)} onClick={this.handleClose}>
@ -133,11 +121,7 @@ export class Tag extends React.Component<TagProps> {
if (displayMode === 'status') {
let iconItem;
if (icon) {
if (typeof icon === 'string' && getIcon(icon)) {
iconItem = <Icon icon={icon} className="icon" />;
} else {
iconItem = generateIcon(cx, icon, 'Icon');
}
}
if (!iconItem) {
iconItem = (

View File

@ -1,9 +1,9 @@
import React, {ReactNode, useState} from 'react';
import {localeable, LocaleProps} from 'amis-core';
import {themeable, ThemeProps, generateIcon} from 'amis-core';
import {themeable, ThemeProps} from 'amis-core';
import {Icon} from './icons';
import type {IconCheckedSchema} from 'amis-core';
import type {IconCheckedSchema} from 'amis-ui';
export interface TimelineItemProps {
/**
@ -118,11 +118,12 @@ export function TimelineItem(props: TimelineItem) {
<div className={cx('TimelineItem-line')}></div>
{icon ? (
<div className={cx('TimelineItem-icon', iconClassName)}>
{typeof icon === 'string' ? (
<Icon icon={icon} className="icon" classPrefix={classPrefix} />
) : (
generateIcon(cx, icon as any)
)}
<Icon
cx={cx}
icon={icon}
className="icon"
classPrefix={classPrefix}
/>
</div>
) : (
<div

View File

@ -1,11 +1,12 @@
import React from 'react';
import {themeable, ThemeProps, generateIcon} from 'amis-core';
import {themeable, ThemeProps} from 'amis-core';
import Collapse from '../Collapse';
import CollapseGroup from '../CollapseGroup';
import SearchBox from '../SearchBox';
import type {FuncGroup, FuncItem} from './Editor';
import TooltipWrapper from '../TooltipWrapper';
import {Icon} from '../icons';
export interface FuncListProps extends ThemeProps {
title?: string;
@ -58,11 +59,11 @@ export function FuncList(props: FuncListProps) {
className={cx('FormulaEditor-FuncList-collapseGroup')}
defaultActiveKey={filteredFuncs[0]?.groupName}
expandIcon={
generateIcon(
cx,
'fa fa-chevron-right FormulaEditor-FuncList-expandIcon',
'Icon'
)!
<Icon
cx={cx}
icon="fa fa-chevron-right FormulaEditor-FuncList-expandIcon"
className="Icon"
/>
}
accordion
>

View File

@ -13,7 +13,6 @@ import {
import {
autobind,
noop,
generateIcon,
themeable,
localeable,
parse,
@ -363,7 +362,7 @@ export class FormulaPicker extends React.Component<
...rest
} = this.props;
const {isOpened, value, editorValue, isError} = this.state;
const iconElement = generateIcon(cx, icon, 'Icon');
const iconElement = <Icon cx={cx} icon={icon} className="Icon" />;
const mobileUI = useMobileUI && isMobile();
return (

View File

@ -4,7 +4,7 @@
* @author fex
*/
import React, {useState, useEffect, useRef} from 'react';
import cx from 'classnames';
import cxClass from 'classnames';
import CloseIcon from '../icons/close.svg';
import CloseSmallIcon from '../icons/close-small.svg';
import StatusCloseIcon from '../icons/status-close.svg';
@ -101,6 +101,7 @@ import NewEdit from '../icons/new-edit.svg';
import RotateLeft from '../icons/rotate-left.svg';
import RotateRight from '../icons/rotate-right.svg';
import ScaleOrigin from '../icons/scale-origin.svg';
import {isObject} from 'lodash';
// 兼容原来的用法,后续不直接试用。
@ -235,24 +236,56 @@ registerIcon('rotate-left', RotateLeft);
registerIcon('rotate-right', RotateRight);
registerIcon('scale-origin', ScaleOrigin);
export interface IconCheckedSchema {
id: string;
name?: string;
svg?: string;
}
export interface IconCheckedSchemaNew {
type: 'icon';
icon: IconCheckedSchema;
}
export function Icon({
icon,
className,
wrapClassName,
classPrefix = '',
classNameProp,
iconContent,
...rest
vendor,
cx: iconCx,
onClick = () => {}
}: {
icon: string;
iconContent?: string;
} & React.ComponentProps<any>) {
// jest 运行环境下,把指定的 icon 也输出到 snapshot 中。
if (typeof jest !== 'undefined') {
rest.icon = icon;
let cx = iconCx || cxClass;
if (!icon) {
return null;
}
const [showCssIcon, setShowCssIcon] = useState(false);
// 直接的icon dom
if (React.isValidElement(icon)) {
return icon;
}
// 获取注册的icon
const Component = getIcon(icon);
if (Component) {
return (
<Component
onClick={onClick}
className={cx(className, `icon-${icon}`, classNameProp)}
// @ts-ignore
icon={icon}
/>
);
}
// 从css变量中获取icon
function refFn(dom: any) {
if (dom) {
const style = getComputedStyle(dom);
@ -266,41 +299,84 @@ export function Icon({
// 存储svg不直接用innerHTML是防止<circle />渲染后变成<circle></circle>的情况
dom.svgHTMLClone = svgHTML;
dom.style.display = '';
setShowCssIcon(true);
}
} else {
// 当传入svg为空时隐藏div展示原icon
dom.style.display = 'none';
setShowCssIcon(false);
}
}
}
const Component = getIcon(icon);
const isURLIcon = typeof icon === 'string' && icon?.indexOf('.') !== -1;
const isIconfont =
typeof icon === 'string' &&
(~icon?.indexOf('iconfont') || ~icon?.indexOf('fa'));
return Component ? (
<>
{iconContent ? (
}
if (iconContent) {
return (
<div
className={`${wrapClassName || ''}` + ' ' + iconContent}
onClick={onClick}
className={cx(iconContent, className, classNameProp)}
ref={refFn}
></div>
) : null}
{!showCssIcon ? (
<Component {...rest} className={`${className || ''} icon-${icon}`} />
) : null}
</>
) : isURLIcon ? (
<img className={cx(`${classPrefix}Icon`, className)} src={icon} />
) : isIconfont ? (
<i className={cx(icon, className)} />
) : (
<span className="text-danger"> icon {icon}</span>
);
}
// 符合schema的icon
if (
isObject(icon) &&
(icon as IconCheckedSchemaNew).type === 'icon' &&
(icon as IconCheckedSchemaNew).icon
) {
icon = (icon as IconCheckedSchemaNew).icon;
}
// icon是引用svg的情况
if (
isObject(icon) &&
typeof (icon as IconCheckedSchema).id === 'string' &&
(icon as IconCheckedSchema).id.startsWith('svg-')
) {
return (
<svg
onClick={onClick}
className={cx('icon', 'icon-object', className, classNameProp)}
>
<use
xlinkHref={`#${(icon as IconCheckedSchema).id.replace(/^svg-/, '')}`}
></use>
</svg>
);
}
// icon是链接
const isURLIcon = typeof icon === 'string' && icon?.indexOf('.') !== -1;
if (isURLIcon) {
return (
<img
onClick={onClick}
className={cx(`${classPrefix}Icon`, className, classNameProp)}
src={icon}
/>
);
}
// icon是普通字符串
const isIconfont = typeof icon === 'string';
let iconPrefix = '';
if (vendor === 'iconfont') {
iconPrefix = `iconfont icon-${icon}`;
} else if (vendor === 'fa') {
//默认是fontawesome v4兼容之前配置
iconPrefix = `${vendor} ${vendor}-${icon}`;
} else {
// 如果vendor为空则不设置前缀,这样可以支持fontawesome v5、fontawesome v6或者其他框架
iconPrefix = icon;
}
if (isIconfont) {
return (
<i
onClick={onClick}
className={cx(icon, className, classNameProp, iconPrefix)}
/>
);
}
// 没有合适的图标
return <span className="text-danger"> icon {icon}</span>;
}
export {

View File

@ -150,7 +150,7 @@ export function InputJSONSchemaArray(props: InputJSONSchemaItemProps) {
})}
onClick={toggleCollapsed}
>
<Icon icon="caret" className="icon" />
<Icon icon="right-arrow-bold" className="icon" />
</a>
) : null}

View File

@ -202,7 +202,7 @@ export function InputJSONSchemaObject(props: InputJSONSchemaItemProps) {
})}
onClick={toggleCollapsed}
>
<Icon icon="caret" className="icon" />
<Icon icon="right-arrow-bold" className="icon" />
</a>
) : null}

View File

@ -45,10 +45,6 @@ exports[`EventAction:dialog 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -40,10 +40,6 @@ exports[`EventAction:drawer 1`] = `
<a
class="cxd-Drawer-close"
>
<div
class=" Drawer-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -45,10 +45,6 @@ exports[`EventAction:prevent 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -41,7 +41,7 @@ exports[`Renderer:button 1`] = `
type="button"
>
<i
class="cxd-Button-icon fa fa-plus"
class="fa fa-plus cxd-Button-icon fa fa-plus"
/>
<span>
Text
@ -173,7 +173,7 @@ exports[`Renderer:button 2`] = `
type="button"
>
<i
class="cxd-Button-icon fa fa-plus"
class="fa fa-plus cxd-Button-icon fa fa-plus"
/>
<span>
Text
@ -279,10 +279,6 @@ exports[`Renderer:button 2`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -245,10 +245,6 @@ exports[`Renderer:button-toolbar 2`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -2152,10 +2152,6 @@ exports[`Renderer:checkboxes with creatable & createBtnLabel & addControls & add
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"
@ -2791,10 +2787,6 @@ exports[`Renderer:checkboxes with editable & editControls & editApi: dialog open
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -144,8 +144,8 @@ exports[`Renderer:combo with addable & addattop & addBtn & addButtonText & addBu
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
自定义的新增
@ -675,8 +675,8 @@ exports[`Renderer:combo with canAccessSuperData & strictMode & syncFields 1`] =
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -730,8 +730,8 @@ exports[`Renderer:combo with canAccessSuperData & strictMode & syncFields 1`] =
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -785,8 +785,8 @@ exports[`Renderer:combo with canAccessSuperData & strictMode & syncFields 1`] =
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -1072,16 +1072,16 @@ exports[`Renderer:combo with conditions: add button open 1`] = `
class="cxd-Button cxd-Button--info cxd-Button--size-sm"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
新增
<span
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -1497,8 +1497,8 @@ exports[`Renderer:combo with draggable 1`] = `
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -1803,8 +1803,8 @@ exports[`Renderer:combo with minLength & maxLength: minLength error 1`] = `
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -2021,8 +2021,8 @@ exports[`Renderer:combo with removable & deleteBtn & deleteApi & deleteConfirmTe
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -2130,8 +2130,8 @@ exports[`Renderer:combo with removable & deleteBtn & deleteApi & deleteConfirmTe
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -2239,8 +2239,8 @@ exports[`Renderer:combo with removable & deleteBtn & deleteApi & deleteConfirmTe
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -2444,8 +2444,8 @@ exports[`Renderer:combo with tabsMode 1`] = `
>
<a>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -2839,8 +2839,8 @@ exports[`Renderer:combo with unique: unique error 1`] = `
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增

View File

@ -74,10 +74,6 @@ exports[`Renderer:date 1`] = `
<a
class="cxd-DatePicker-toggler"
>
<div
class=" DatePicker-toggler-date"
style="display: none;"
/>
<icon-mock
classname="icon icon-date"
icon="date"

View File

@ -772,12 +772,8 @@ exports[`Renderer:fieldSet with titlePosition & collapseTitle & title 1`] = `
<span
class="cxd-Collapse-arrow-wrap"
>
<div
class="cxd-Collapse-arrow Collapse-arrow"
style="display: none;"
/>
<icon-mock
classname="cxd-Collapse-arrow icon icon-right-arrow-bold"
classname="cxd-Collapse-arrow icon icon-right-arrow-bold cxd-Collapse-arrow"
icon="right-arrow-bold"
/>
</span>

View File

@ -144,8 +144,8 @@ exports[`Renderer:inputArray 1`] = `
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -526,8 +526,8 @@ exports[`Renderer:inputArray with draggable & draggableTip 1`] = `
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -793,8 +793,8 @@ exports[`Renderer:inputArray with minLength & maxLength 1`] = `
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
新增
@ -1263,8 +1263,8 @@ exports[`Renderer:inputArray with removable & addable & addButtonText: false 2`]
type="button"
>
<icon-mock
classname="icon icon-plus"
icon="plus"
classname="icon icon-plus-fine"
icon="plus-fine"
/>
<span>
我是增加按钮

View File

@ -74,10 +74,6 @@ exports[`Renderer:inputDate 1`] = `
<a
class="cxd-DatePicker-toggler"
>
<div
class=" DatePicker-toggler-date"
style="display: none;"
/>
<icon-mock
classname="icon icon-date"
icon="date"
@ -213,10 +209,6 @@ exports[`Renderer:inputDate with clearable: clearable false 1`] = `
<a
class="cxd-DatePicker-toggler"
>
<div
class=" DatePicker-toggler-date"
style="display: none;"
/>
<icon-mock
classname="icon icon-date"
icon="date"
@ -373,10 +365,6 @@ exports[`Renderer:inputDate with clearable: clearable true 1`] = `
<a
class="cxd-DatePicker-toggler"
>
<div
class=" DatePicker-toggler-date"
style="display: none;"
/>
<icon-mock
classname="icon icon-date"
icon="date"
@ -572,10 +560,6 @@ exports[`Renderer:inputDate with format & inputFormat 1`] = `
<a
class="cxd-DatePicker-toggler"
>
<div
class=" DatePicker-toggler-date"
style="display: none;"
/>
<icon-mock
classname="icon icon-date"
icon="date"

View File

@ -493,10 +493,6 @@ exports[`Renderer:input-formula button 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-default cxd-FormulaPicker-action w-full"
type="button"
>
<icon-mock
classname="cxd-FormulaPicker-icon icon is-filled icon-function"
icon="function"
/>
<span
class="cxd-FormulaPicker-label"
>

View File

@ -164,10 +164,6 @@ exports[`Renderer:InputSubForm base 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -709,7 +709,7 @@ exports[`Renderer:input table add 1`] = `
disabled=""
>
<i
class="cxd-Button-icon fa fa-plus"
class="fa fa-plus cxd-Button-icon fa fa-plus"
/>
<span>
新增

View File

@ -996,12 +996,8 @@ exports[`Renderer:number with step & precision & displayMode & keyboard 1`] = `
<div
class="cxd-Number--enhance-left-icon"
>
<div
class="cxd-InputNumber-enhance-minus icon InputNumber-enhance-minus"
style="display: none;"
/>
<icon-mock
classname="icon icon-minus"
classname="icon icon-minus cxd-InputNumber-enhance-minus icon"
icon="minus"
/>
</div>
@ -1052,12 +1048,8 @@ exports[`Renderer:number with step & precision & displayMode & keyboard 1`] = `
<div
class="cxd-Number--enhance-right-icon"
>
<div
class="cxd-InputNumber-enhance-plus icon InputNumber-enhance-plus"
style="display: none;"
/>
<icon-mock
classname="icon icon-plus"
classname="icon icon-plus cxd-InputNumber-enhance-plus icon"
icon="plus"
/>
</div>

View File

@ -59,10 +59,6 @@ exports[`Renderer:rating with allowClear 1`] = `
<li
class="cxd-Rating-star"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -71,10 +67,6 @@ exports[`Renderer:rating with allowClear 1`] = `
<li
class="cxd-Rating-star"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -83,10 +75,6 @@ exports[`Renderer:rating with allowClear 1`] = `
<li
class="cxd-Rating-star"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -95,10 +83,6 @@ exports[`Renderer:rating with allowClear 1`] = `
<li
class="cxd-Rating-star"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -107,10 +91,6 @@ exports[`Renderer:rating with allowClear 1`] = `
<li
class="cxd-Rating-star"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -440,10 +420,6 @@ exports[`Renderer:rating with colors & inactiveColor 1`] = `
class="cxd-Rating-star is-active"
style="color: rgb(119, 168, 141);"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -453,10 +429,6 @@ exports[`Renderer:rating with colors & inactiveColor 1`] = `
class="cxd-Rating-star is-active"
style="color: rgb(119, 168, 141);"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -466,10 +438,6 @@ exports[`Renderer:rating with colors & inactiveColor 1`] = `
class="cxd-Rating-star is-active"
style="color: rgb(119, 168, 141);"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -479,10 +447,6 @@ exports[`Renderer:rating with colors & inactiveColor 1`] = `
class="cxd-Rating-star"
style="color: yellow;"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -492,10 +456,6 @@ exports[`Renderer:rating with colors & inactiveColor 1`] = `
class="cxd-Rating-star"
style="color: yellow;"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -691,10 +651,6 @@ exports[`Renderer:rating with count & half 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -703,10 +659,6 @@ exports[`Renderer:rating with count & half 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -715,10 +667,6 @@ exports[`Renderer:rating with count & half 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -730,19 +678,11 @@ exports[`Renderer:rating with count & half 1`] = `
<div
class="cxd-Rating-star-half"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
/>
</div>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -751,10 +691,6 @@ exports[`Renderer:rating with count & half 1`] = `
<li
class="cxd-Rating-star"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -884,10 +820,6 @@ exports[`Renderer:rating with readOnly 1`] = `
<li
class="cxd-Rating-star is-active is-disabled"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -896,10 +828,6 @@ exports[`Renderer:rating with readOnly 1`] = `
<li
class="cxd-Rating-star is-active is-disabled"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -908,10 +836,6 @@ exports[`Renderer:rating with readOnly 1`] = `
<li
class="cxd-Rating-star is-active is-disabled"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -920,10 +844,6 @@ exports[`Renderer:rating with readOnly 1`] = `
<li
class="cxd-Rating-star is-active is-disabled"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -932,10 +852,6 @@ exports[`Renderer:rating with readOnly 1`] = `
<li
class="cxd-Rating-star is-active is-disabled"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -1123,10 +1039,6 @@ exports[`Renderer:rating with texts & textPosition & textClassName 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -1135,10 +1047,6 @@ exports[`Renderer:rating with texts & textPosition & textClassName 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -1147,10 +1055,6 @@ exports[`Renderer:rating with texts & textPosition & textClassName 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -1159,10 +1063,6 @@ exports[`Renderer:rating with texts & textPosition & textClassName 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"
@ -1171,10 +1071,6 @@ exports[`Renderer:rating with texts & textPosition & textClassName 1`] = `
<li
class="cxd-Rating-star is-active"
>
<div
class=" Rating-star-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-star"
icon="star"

View File

@ -586,12 +586,8 @@ exports[`Renderer:text type is password: password invisible 1`] = `
<a
class="cxd-TextControl-revealPassword"
>
<div
class="cxd-TextControl-icon-invisible InputText-invisible"
style="display: none;"
/>
<icon-mock
classname="cxd-TextControl-icon-invisible icon-invisible"
classname="cxd-TextControl-icon-invisible icon-invisible cxd-TextControl-icon-invisible"
icon="invisible"
/>
</a>
@ -726,12 +722,8 @@ exports[`Renderer:text type is password: password visible 1`] = `
<a
class="cxd-TextControl-revealPassword"
>
<div
class="cxd-TextControl-icon-view InputText-view"
style="display: none;"
/>
<icon-mock
classname="cxd-TextControl-icon-view icon-view"
classname="cxd-TextControl-icon-view icon-view cxd-TextControl-icon-view"
icon="view"
/>
</a>
@ -1269,10 +1261,6 @@ exports[`Renderer:text with clearable 1`] = `
<a
class="cxd-TextControl-clear"
>
<div
class=" InputText-clear"
style="display: none;"
/>
<icon-mock
classname="icon icon-input-clear"
icon="input-clear"

View File

@ -53,7 +53,8 @@ test('Renderer:status', () => {
});
test('Renderer:status source', async () => {
const setup = (value?: any) => render(
const setup = (value?: any) =>
render(
amisRender(
{
type: 'status',
@ -78,11 +79,20 @@ test('Renderer:status source', async () => {
const value1 = setup(11).querySelector('.cxd-StatusField')!;
expect((value1 as HTMLElement).style.color).toBe('rgb(255, 0, 255)');
expect((value1.querySelector('.cxd-StatusField-label') as HTMLElement).innerHTML).toBe('11');
expect((value1.querySelector('i') as HTMLElement).classList.value).toBe('cxd-Status-icon fa fa-check');
expect(
(value1.querySelector('.cxd-StatusField-label') as HTMLElement).innerHTML
).toBe('11');
expect((value1.querySelector('i') as HTMLElement).classList.value).toMatch(
/fa fa-check cxd-Status-icon/
);
const valueSuccess = setup('success').querySelector('.cxd-StatusField')!;
expect((valueSuccess as HTMLElement).style.color).toBe('rgb(255, 255, 0)');
expect((valueSuccess.querySelector('.cxd-StatusField-label') as HTMLElement).innerHTML).toBe('custom success');
expect((valueSuccess.querySelector('i') as HTMLElement).classList.value).toBe('cxd-Status-icon fa fa-success');
expect(
(valueSuccess.querySelector('.cxd-StatusField-label') as HTMLElement)
.innerHTML
).toBe('custom success');
expect(
(valueSuccess.querySelector('i') as HTMLElement).classList.value
).toMatch(/fa fa-success cxd-Status-icon/);
});

View File

@ -75,7 +75,8 @@ exports[`Renderers:Action MenuItem display icon 2`] = `
onClick={[Function]}
>
<i
className="cxd-Button-icon fa fa-cloud"
className="fa fa-cloud cxd-Button-icon fa fa-cloud"
onClick={[Function]}
/>
<span>
123

View File

@ -110,7 +110,7 @@ exports[`Renderer:avatar icon 1`] = `
class="cxd-Avatar cxd-Avatar--circle"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</span>
</div>
@ -178,21 +178,21 @@ exports[`Renderer:avatar size 1`] = `
class="cxd-Avatar cxd-Avatar--circle cxd-Avatar--lg"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</span>
<span
class="cxd-Avatar cxd-Avatar--circle"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</span>
<span
class="cxd-Avatar cxd-Avatar--circle cxd-Avatar--sm"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</span>
<span
@ -286,7 +286,7 @@ exports[`Renderer:avatar var 1`] = `
class="cxd-Avatar cxd-Avatar--circle"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</span>
<span

View File

@ -13,7 +13,7 @@ exports[`Renderer:breadcrumb 1`] = `
href="https://baidu.gitee.com/"
>
<i
class="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
class="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
/>
<span
class="cxd-TplField"
@ -75,7 +75,7 @@ exports[`Renderer:breadcrumb className 1`] = `
href="https://baidu.gitee.com/"
>
<i
class="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
class="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
/>
<span
class="cxd-TplField"
@ -185,7 +185,7 @@ exports[`Renderer:breadcrumb dropdown 1`] = `
href="https://baidu.gitee.com/"
>
<i
class="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
class="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
/>
<span
class="cxd-TplField"
@ -272,7 +272,7 @@ exports[`Renderer:breadcrumb separator 1`] = `
href="https://baidu.gitee.com/"
>
<i
class="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
class="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
/>
<span
class="cxd-TplField"
@ -355,7 +355,8 @@ exports[`Renderer:breadcrumb tooltip labelMaxLength 1`] = `
href="https://baidu.gitee.com/"
>
<i
className="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
className="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
onClick={[Function]}
/>
<span
className="cxd-TplField"
@ -443,7 +444,8 @@ exports[`Renderer:breadcrumb tooltip labelMaxLength 2`] = `
href="https://baidu.gitee.com/"
>
<i
className="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
className="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
onClick={[Function]}
/>
<span
className="cxd-TplField"
@ -531,7 +533,8 @@ exports[`Renderer:breadcrumb tooltip labelMaxLength 3`] = `
href="https://baidu.gitee.com/"
>
<i
className="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
className="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
onClick={[Function]}
/>
<span
className="cxd-TplField"
@ -619,7 +622,8 @@ exports[`Renderer:breadcrumb tooltip labelMaxLength 4`] = `
href="https://baidu.gitee.com/"
>
<i
className="cxd-Icon fa fa-home cxd-Breadcrumb-icon"
className="fa fa-home cxd-Icon cxd-Breadcrumb-icon fa fa-home"
onClick={[Function]}
/>
<span
className="cxd-TplField"

View File

@ -473,7 +473,7 @@ exports[`Renderer:cards hightlight 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-sm"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -603,7 +603,7 @@ exports[`Renderer:cards hightlight 2`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-sm"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -730,7 +730,7 @@ exports[`Renderer:cards media 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-sm"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>

View File

@ -14,12 +14,8 @@ exports[`Renderer:Collapse 1`] = `
<span
class="cxd-Collapse-arrow-wrap"
>
<div
class="cxd-Collapse-arrow Collapse-arrow"
style="display: none;"
/>
<icon-mock
classname="cxd-Collapse-arrow icon icon-right-arrow-bold"
classname="cxd-Collapse-arrow icon icon-right-arrow-bold cxd-Collapse-arrow"
icon="right-arrow-bold"
/>
</span>
@ -60,12 +56,8 @@ exports[`Renderer:Collapse 1`] = `
<span
class="cxd-Collapse-arrow-wrap"
>
<div
class="cxd-Collapse-arrow Collapse-arrow"
style="display: none;"
/>
<icon-mock
classname="cxd-Collapse-arrow icon icon-right-arrow-bold"
classname="cxd-Collapse-arrow icon icon-right-arrow-bold cxd-Collapse-arrow"
icon="right-arrow-bold"
/>
</span>
@ -106,12 +98,8 @@ exports[`Renderer:Collapse 1`] = `
<span
class="cxd-Collapse-arrow-wrap"
>
<div
class="cxd-Collapse-arrow Collapse-arrow"
style="display: none;"
/>
<icon-mock
classname="cxd-Collapse-arrow icon icon-right-arrow-bold"
classname="cxd-Collapse-arrow icon icon-right-arrow-bold cxd-Collapse-arrow"
icon="right-arrow-bold"
/>
</span>
@ -162,12 +150,8 @@ exports[`Renderer:Collapse with disabled & panel nesting 1`] = `
<span
class="cxd-Collapse-arrow-wrap"
>
<div
class="cxd-Collapse-arrow Collapse-arrow"
style="display: none;"
/>
<icon-mock
classname="cxd-Collapse-arrow icon icon-right-arrow-bold"
classname="cxd-Collapse-arrow icon icon-right-arrow-bold cxd-Collapse-arrow"
icon="right-arrow-bold"
/>
</span>
@ -200,12 +184,8 @@ exports[`Renderer:Collapse with disabled & panel nesting 1`] = `
<span
class="cxd-Collapse-arrow-wrap"
>
<div
class="cxd-Collapse-arrow Collapse-arrow"
style="display: none;"
/>
<icon-mock
classname="cxd-Collapse-arrow icon icon-right-arrow-bold"
classname="cxd-Collapse-arrow icon icon-right-arrow-bold cxd-Collapse-arrow"
icon="right-arrow-bold"
/>
</span>
@ -251,12 +231,8 @@ exports[`Renderer:Collapse with disabled & panel nesting 1`] = `
<span
class="cxd-Collapse-arrow-wrap"
>
<div
class="cxd-Collapse-arrow Collapse-arrow"
style="display: none;"
/>
<icon-mock
classname="cxd-Collapse-arrow icon icon-right-arrow-bold"
classname="cxd-Collapse-arrow icon icon-right-arrow-bold cxd-Collapse-arrow"
icon="right-arrow-bold"
/>
</span>
@ -304,7 +280,7 @@ exports[`Renderer:Collapse with expandIcon & expandIconPosition & showArrow 1`]
class="cxd-Collapse-header"
>
<i
class="fa fa-caret-right cxd-Collapse-icon-tranform cxd-Collapse-icon-tranform"
class="caret-right cxd-Collapse-icon-tranform cxd-Collapse-icon-tranform fa fa-caret-right"
/>
<span
class="cxd-TplField"
@ -341,7 +317,7 @@ exports[`Renderer:Collapse with expandIcon & expandIconPosition & showArrow 1`]
class="cxd-Collapse-header"
>
<i
class="fa fa-caret-right cxd-Collapse-icon-tranform cxd-Collapse-icon-tranform"
class="caret-right cxd-Collapse-icon-tranform cxd-Collapse-icon-tranform fa fa-caret-right"
/>
<span
class="cxd-TplField"

View File

@ -12,8 +12,8 @@ exports[`Renderer:dropdown-button 1`] = `
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -59,8 +59,8 @@ exports[`Renderer:dropdown-button 2`] = `
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -81,8 +81,8 @@ exports[`Renderer:dropdown-button with block & size 1`] = `
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -103,8 +103,8 @@ exports[`Renderer:dropdown-button with block & size 2`] = `
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -125,8 +125,8 @@ exports[`Renderer:dropdown-button with buttons group 1`] = `
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -140,7 +140,7 @@ exports[`Renderer:dropdown-button with buttons group 1`] = `
class="cxd-DropDown-groupTitle"
>
<i
class="m-r-xs fa fa-user"
class="fa fa-user m-r-xs fa fa-user"
/>
<span>
RD
@ -176,7 +176,7 @@ exports[`Renderer:dropdown-button with buttons group 1`] = `
class="cxd-DropDown-groupTitle"
>
<i
class="m-r-xs fa fa-user"
class="fa fa-user m-r-xs fa fa-user"
/>
<span>
QA
@ -216,7 +216,7 @@ exports[`Renderer:dropdown-button with buttons group 1`] = `
class="cxd-DropDown-groupTitle"
>
<i
class="m-r-xs fa fa-user"
class="fa fa-user m-r-xs fa fa-user"
/>
<span>
Manager
@ -265,8 +265,8 @@ exports[`Renderer:dropdown-button with closeOnClick & closeOnOutside 1`] = `
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -321,7 +321,7 @@ exports[`Renderer:dropdown-button with hideCaret 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
下拉菜单
</button>
@ -338,18 +338,18 @@ exports[`Renderer:dropdown-button with icon & rightIcon 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-home"
class="fa fa-home icon m-r-xs fa fa-home"
/>
下拉菜单
<i
class="m-l-xs fa fa-ellipsis-v"
class="fa fa-ellipsis-v icon m-l-xs fa fa-ellipsis-v"
/>
<span
class="cxd-DropDown-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>

View File

@ -57,7 +57,7 @@ exports[`Renderer:link with title & icon & rightIcon 1`] = `
title="linkTitleForTest"
>
<i
class="cxd-Link-icon fa fa-search"
class="fa fa-search cxd-Link-icon fa fa-search"
/>
<span
class="cxd-TplField"
@ -67,7 +67,7 @@ exports[`Renderer:link with title & icon & rightIcon 1`] = `
</span>
</span>
<i
class="cxd-Link-icon fa fa-cloud"
class="fa fa-cloud cxd-Link-icon fa fa-cloud"
/>
</a>
</div>

View File

@ -964,10 +964,6 @@ exports[`Renderer:list with itemAction 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -40,7 +40,7 @@ exports[`Renderer:Nav 1`] = `
class="cxd-Nav-Menu-item-icon"
>
<img
class=""
class="cxd-Icon"
src="https://suda.cdn.bcebos.com/images%2F2021-01%2Fdiamond.svg"
/>
</i>
@ -257,7 +257,7 @@ exports[`Renderer:Nav with itemActions 1`] = `
class="cxd-Nav-Menu-item-icon"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</i>
<span
@ -271,7 +271,7 @@ exports[`Renderer:Nav with itemActions 1`] = `
class="cxd-Nav-Menu-item-extra"
>
<i
class="fa fa-cloud"
class="cloud fa fa-cloud"
/>
<div
class="cxd-DropDown "
@ -280,7 +280,7 @@ exports[`Renderer:Nav with itemActions 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -327,7 +327,7 @@ exports[`Renderer:Nav with itemActions 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -387,7 +387,7 @@ exports[`Renderer:Nav with itemActions 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -440,7 +440,7 @@ exports[`Renderer:Nav with itemActions 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -489,7 +489,7 @@ exports[`Renderer:Nav with itemActions 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -598,7 +598,7 @@ exports[`Renderer:Nav with itemActions 2`] = `
class="cxd-Nav-Menu-item-icon"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</i>
<span
@ -612,7 +612,7 @@ exports[`Renderer:Nav with itemActions 2`] = `
class="cxd-Nav-Menu-item-extra"
>
<i
class="fa fa-cloud"
class="cloud fa fa-cloud"
/>
<div
class="cxd-DropDown is-opened"
@ -622,7 +622,7 @@ exports[`Renderer:Nav with itemActions 2`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
<div
@ -714,7 +714,7 @@ exports[`Renderer:Nav with itemActions 2`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -780,7 +780,7 @@ exports[`Renderer:Nav with itemActions 2`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -840,7 +840,7 @@ exports[`Renderer:Nav with itemActions 2`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -895,7 +895,7 @@ exports[`Renderer:Nav with itemActions 2`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-default"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>
@ -974,7 +974,7 @@ exports[`Renderer:Nav with multi-level 1`] = `
class="cxd-Nav-Menu-item-icon"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</i>
<span
@ -1265,7 +1265,7 @@ exports[`Renderer:Nav with overflow 1`] = `
class="cxd-Nav-Menu-item-icon cxd-Nav-Menu-overflowedIcon thisisoverflowClassName"
>
<i
class="cxd-Nav-item-icon fas fa-angle-double-down"
class="fas fa-angle-double-down icon Nav-item-icon fas fa-angle-double-down"
/>
点击展开
</span>
@ -1362,7 +1362,7 @@ exports[`Renderer:Nav with source 1`] = `
class="cxd-Nav-Menu-item-icon"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</i>
<span
@ -1500,7 +1500,7 @@ exports[`Renderer:Nav with stacked 1`] = `
class="cxd-Nav-Menu-item-icon"
>
<i
class="fa fa-user"
class="fa fa-user fa fa-user"
/>
</i>
<span

View File

@ -43,11 +43,12 @@ exports[`Renderer:Page 1`] = `
onMouseOver={[Function]}
>
<span
className="cxd-Remark-icon icon"
className="cxd-Remark-icon"
>
<icon-mock
className=" icon-question-mark"
className="icon-question-mark"
icon="question-mark"
onClick={[Function]}
/>
</span>
</div>
@ -168,10 +169,10 @@ exports[`Renderer:Page classNames 1`] = `
class="cxd-Remark cxd-Remark--warning"
>
<span
class="cxd-Remark-icon icon"
class="cxd-Remark-icon"
>
<icon-mock
classname=" icon-question-mark"
classname="icon-question-mark"
icon="question-mark"
/>
</span>
@ -275,10 +276,6 @@ exports[`Renderer:Page handleAction actionType=ajax & feedback 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"
@ -531,10 +528,6 @@ exports[`Renderer:Page handleAction actionType=dialog mergeData 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"
@ -700,10 +693,6 @@ exports[`Renderer:Page handleAction actionType=drawer default 1`] = `
<a
class="cxd-Drawer-close"
>
<div
class=" Drawer-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"
@ -836,10 +825,6 @@ exports[`Renderer:Page handleAction actionType=drawer mergeData 1`] = `
<a
class="cxd-Drawer-close"
>
<div
class=" Drawer-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"
@ -1215,10 +1200,6 @@ exports[`Renderer:Page initApi reload by Dialog action 2`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"
@ -1433,10 +1414,6 @@ exports[`Renderer:Page initApi reload by Drawer action 2`] = `
<a
class="cxd-Drawer-close"
>
<div
class=" Drawer-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -50,10 +50,6 @@ exports[`Renderer:Picker base 1`] = `
<span
class="cxd-Picker-btn"
>
<div
class=" Picker-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-window-restore"
icon="window-restore"
@ -82,10 +78,6 @@ exports[`Renderer:Picker base 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"
@ -284,10 +276,6 @@ exports[`Renderer:Picker base 2`] = `
<span
class="cxd-Picker-btn"
>
<div
class=" Picker-icon"
style="display: none;"
/>
<icon-mock
classname="icon icon-window-restore"
icon="window-restore"

View File

@ -73,7 +73,7 @@ exports[`Renderer:portlet 1`] = `
class="cxd-Button cxd-Button--link cxd-Button--size-sm"
>
<i
class="m-r-xs fa fa-ellipsis-h"
class="fa fa-ellipsis-h icon m-r-xs fa fa-ellipsis-h"
/>
</button>
</div>

View File

@ -19,7 +19,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--0"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-fail"
classname="cxd-Status-icon icon icon-fail icon"
icon="fail"
/>
</span>
@ -27,7 +27,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--1"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-success"
classname="cxd-Status-icon icon icon-success icon"
icon="success"
/>
</span>
@ -35,7 +35,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--success"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-success"
classname="cxd-Status-icon icon icon-success icon"
icon="success"
/>
<span
@ -48,7 +48,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--pending"
>
<i
class="cxd-Status-icon rolling"
class="rolling cxd-Status-icon icon rolling rolling"
/>
<span
class="cxd-StatusField-label"
@ -60,7 +60,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--fail"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-fail"
classname="cxd-Status-icon icon icon-fail icon"
icon="fail"
/>
<span
@ -73,7 +73,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--fail"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-fail"
classname="cxd-Status-icon icon icon-fail icon"
icon="fail"
/>
<span
@ -86,7 +86,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--queue"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-warning"
classname="cxd-Status-icon icon icon-warning icon"
icon="warning"
/>
<span
@ -99,7 +99,7 @@ exports[`Renderer:status 1`] = `
class="cxd-StatusField cxd-StatusField--schedule"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-schedule"
classname="cxd-Status-icon icon icon-schedule icon"
icon="schedule"
/>
<span

View File

@ -4193,15 +4193,15 @@ exports[`Renderer:table groupName-default 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -4923,15 +4923,15 @@ exports[`Renderer:table groupName-default 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -5140,15 +5140,15 @@ exports[`Renderer:table groupName-middleNoGroupName 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -5874,15 +5874,15 @@ exports[`Renderer:table groupName-middleNoGroupName 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -6097,15 +6097,15 @@ exports[`Renderer:table groupName-startNoGroupName 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -6820,15 +6820,15 @@ exports[`Renderer:table groupName-startNoGroupName 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -7033,15 +7033,15 @@ exports[`Renderer:table groupName-withTpl 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -7763,15 +7763,15 @@ exports[`Renderer:table groupName-withTpl 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -8607,15 +8607,15 @@ exports[`Renderer:table list 1`] = `
class="cxd-Button cxd-Button--default cxd-Button--size-sm"
>
<icon-mock
classname="icon m-r-none icon-columns"
classname="icon icon-columns"
icon="columns"
/>
<span
class="cxd-ColumnToggler-caret"
>
<icon-mock
classname="icon icon-caret"
icon="caret"
classname="icon icon-right-arrow-bold"
icon="right-arrow-bold"
/>
</span>
</button>
@ -8911,7 +8911,7 @@ exports[`Renderer:table list 1`] = `
class="cxd-StatusField cxd-StatusField--1"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-success"
classname="cxd-Status-icon icon icon-success icon"
icon="success"
/>
</span>
@ -9149,7 +9149,7 @@ exports[`Renderer:table list 1`] = `
class="cxd-StatusField cxd-StatusField--1"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-success"
classname="cxd-Status-icon icon icon-success icon"
icon="success"
/>
</span>
@ -9507,7 +9507,7 @@ exports[`Renderer:table list 1`] = `
class="cxd-StatusField cxd-StatusField--0"
>
<icon-mock
classname="cxd-Status-icon icon icon icon-fail"
classname="cxd-Status-icon icon icon-fail icon"
icon="fail"
/>
</span>

View File

@ -47,7 +47,7 @@ exports[`Renderer:timeline items 1`] = `
class="cxd-TimelineItem-detail-arrow false"
>
<icon-mock
classname=" icon-down-arrow-bold"
classname="icon-down-arrow-bold"
icon="down-arrow-bold"
/>
</div>
@ -813,7 +813,7 @@ exports[`Renderer:timeline source 1`] = `
class="cxd-TimelineItem-detail-arrow false"
>
<icon-mock
classname=" icon-down-arrow-bold"
classname="icon-down-arrow-bold"
icon="down-arrow-bold"
/>
</div>
@ -863,7 +863,7 @@ exports[`Renderer:timeline source 1`] = `
class="cxd-TimelineItem-detail-arrow false"
>
<icon-mock
classname=" icon-down-arrow-bold"
classname="icon-down-arrow-bold"
icon="down-arrow-bold"
/>
</div>
@ -913,7 +913,7 @@ exports[`Renderer:timeline source 1`] = `
class="cxd-TimelineItem-detail-arrow false"
>
<icon-mock
classname=" icon-down-arrow-bold"
classname="icon-down-arrow-bold"
icon="down-arrow-bold"
/>
</div>
@ -968,7 +968,7 @@ exports[`Renderer:timeline source 1`] = `
class="cxd-TimelineItem-detail-arrow false"
>
<icon-mock
classname=" icon-down-arrow-bold"
classname="icon-down-arrow-bold"
icon="down-arrow-bold"
/>
</div>
@ -1018,7 +1018,7 @@ exports[`Renderer:timeline source 1`] = `
class="cxd-TimelineItem-detail-arrow false"
>
<icon-mock
classname=" icon-down-arrow-bold"
classname="icon-down-arrow-bold"
icon="down-arrow-bold"
/>
</div>
@ -1073,7 +1073,7 @@ exports[`Renderer:timeline source 1`] = `
class="cxd-TimelineItem-detail-arrow false"
>
<icon-mock
classname=" icon-down-arrow-bold"
classname="icon-down-arrow-bold"
icon="down-arrow-bold"
/>
</div>

View File

@ -901,10 +901,6 @@ exports[`Renderer:Wizard dialog 1`] = `
data-position="left"
data-tooltip="关闭"
>
<div
class=" Dialog-close"
style="display: none;"
/>
<icon-mock
classname="icon icon-close"
icon="close"

View File

@ -445,8 +445,7 @@ import {
import {DialogSchema, DialogSchemaBase} from './Dialog';
import {DrawerSchema, DrawerSchemaBase} from './Drawer';
import {ToastSchemaBase} from '../Schema';
import {generateIcon} from 'amis-core';
import {withBadge} from 'amis-ui';
import {withBadge, Icon} from 'amis-ui';
import {normalizeApi, str2AsyncFunction} from 'amis-core';
import {TooltipWrapper} from 'amis-ui';
@ -839,12 +838,21 @@ export class Action extends React.Component<ActionProps, ActionState> {
disabled = true;
}
const iconElement = generateIcon(cx, icon, 'Button-icon', iconClassName);
const rightIconElement = generateIcon(
cx,
rightIcon,
'Button-icon',
rightIconClassName
const iconElement = (
<Icon
cx={cx}
icon={icon}
className="Button-icon"
classNameProp={iconClassName}
/>
);
const rightIconElement = (
<Icon
cx={cx}
icon={rightIcon}
className="Button-icon"
classNameProp={rightIconClassName}
/>
);
return (

View File

@ -1,5 +1,12 @@
import React from 'react';
import {AsideNav, Html, NotFound, Spinner, SpinnerExtraProps} from 'amis-ui';
import {
AsideNav,
Html,
Icon,
NotFound,
Spinner,
SpinnerExtraProps
} from 'amis-ui';
import {Layout} from 'amis-ui';
import {Renderer, RendererProps, filter, replaceText} from 'amis-core';
import {
@ -12,7 +19,6 @@ import {IScopedContext, ScopedContext} from 'amis-core';
import {AppStore, IAppStore} from 'amis-core';
import {isApiOutdated, isEffectiveApi} from 'amis-core';
import {autobind} from 'amis-core';
import {generateIcon} from 'amis-core';
export interface AppPage extends SpinnerExtraProps {
/**
@ -385,7 +391,9 @@ export default class App extends React.Component<AppProps, object> {
);
if (!subHeader && link.icon) {
children.push(generateIcon(cx, link.icon, 'AsideNav-itemIcon'));
children.push(
<Icon cx={cx} icon={link.icon} className="AsideNav-itemIcon" />
);
} else if (store.folded && depth === 1 && !subHeader) {
children.push(
<i

View File

@ -2,7 +2,7 @@ import React from 'react';
import isEqual from 'lodash/isEqual';
import pickBy from 'lodash/pickBy';
import omitBy from 'lodash/omitBy';
import {Renderer, RendererProps, filterTarget, generateIcon} from 'amis-core';
import {Renderer, RendererProps, filterTarget} from 'amis-core';
import {SchemaNode, Schema, ActionObject, PlainObject} from 'amis-core';
import {CRUDStore, ICRUDStore} from 'amis-core';
import {
@ -2028,7 +2028,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
})}
>
{custom.icon ? (
generateIcon(cx, custom.icon)
<Icon icon={custom.icon} className="icon m-r-xs" />
) : custom?.icon !== false ? (
<Icon icon="filter" className="icon m-r-xs" />
) : null}

View File

@ -1,13 +1,6 @@
import React from 'react';
import {
Renderer,
RendererProps,
generateIcon,
IconCheckedSchema,
autobind,
resolveEventData
} from 'amis-core';
import {Collapse as BasicCollapse} from 'amis-ui';
import {Renderer, RendererProps, autobind, resolveEventData} from 'amis-core';
import {Collapse as BasicCollapse, Icon} from 'amis-ui';
import {BaseSchema, SchemaCollection, SchemaTpl, SchemaObject} from '../Schema';
/**
@ -195,13 +188,15 @@ export default class Collapse extends React.Component<CollapseProps, {}> {
disabled={disabled}
propsUpdate={propsUpdate}
expandIcon={
expandIcon
? typeof (expandIcon as any).icon === 'object'
? generateIcon(cx, (expandIcon as any).icon)
: render('arrow-icon', expandIcon || '', {
expandIcon ? (
typeof (expandIcon as any).icon === 'object' ? (
<Icon cx={cx} icon={(expandIcon as any).icon} />
) : (
render('arrow-icon', expandIcon || '', {
className: cx('Collapse-icon-tranform')
})
: null
)
) : null
}
collapseHeader={
collapseTitle || collapseHeader

View File

@ -15,7 +15,6 @@ import {
import {ActionSchema} from './Action';
import {DividerSchema} from './Divider';
import {RootClose} from 'amis-core';
import {generateIcon} from 'amis-core';
import type {
TooltipObject,
Trigger
@ -260,7 +259,9 @@ export default class DropDownButton extends React.Component<
className={cx('DropDown-menu', {'is-mobile': isMobile()})}
>
<li key={`${index}/0`} className={cx('DropDown-groupTitle')}>
{button.icon ? generateIcon(cx, button.icon, 'm-r-xs') : null}
{button.icon ? (
<Icon cx={cx} icon={button.icon} className="m-r-xs" />
) : null}
<span>{button.label}</span>
</li>
{button.children.map((child, childIndex) =>
@ -453,20 +454,14 @@ export default class DropDownButton extends React.Component<
`Button--size-${size}`
)}
>
{hasIcon(icon) ? (
<Icon icon={icon} className="icon" />
) : (
generateIcon(cx, icon, 'm-r-xs')
)}
<Icon c={cx} icon={icon} className="icon m-r-xs" />
{typeof label === 'string' ? filter(label, data) : label}
{rightIcon && hasIcon(rightIcon) ? (
<Icon icon={icon} className="icon" />
) : (
generateIcon(cx, rightIcon, 'm-l-xs')
{rightIcon && (
<Icon cx={cx} icon={rightIcon} className="icon m-l-xs" />
)}
{!hideCaret ? (
<span className={cx('DropDown-caret')}>
<Icon icon="caret" className="icon" />
<Icon icon="right-arrow-bold" className="icon" />
</span>
) : null}
</button>

Some files were not shown because too many files have changed in this diff Show More