Merge pull request #24658 from ant-design/master

chore: merge master into feature
This commit is contained in:
偏右 2020-06-01 19:57:10 +08:00 committed by GitHub
commit ab4b491594
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 705 additions and 504 deletions

View File

@ -109,12 +109,20 @@ Array [
Dashed
</span>
</button>,
<button
class="ant-btn ant-btn-text ant-btn-dangerous"
type="button"
>
<span>
Text
</span>
</button>,
<button
class="ant-btn ant-btn-link ant-btn-dangerous"
type="button"
>
<span>
link
Link
</span>
</button>,
]
@ -176,24 +184,6 @@ exports[`renders ./components/button/demo/disabled.md correctly 1`] = `
</span>
</button>
<br />
<button
class="ant-btn ant-btn-link"
type="button"
>
<span>
Link
</span>
</button>
<button
class="ant-btn ant-btn-link"
disabled=""
type="button"
>
<span>
Link(disabled)
</span>
</button>
<br />
<button
class="ant-btn ant-btn-text"
type="button"
@ -213,20 +203,20 @@ exports[`renders ./components/button/demo/disabled.md correctly 1`] = `
</button>
<br />
<button
class="ant-btn ant-btn-link ant-btn-dangerous"
class="ant-btn ant-btn-link"
type="button"
>
<span>
Danger Link
Link
</span>
</button>
<button
class="ant-btn ant-btn-link ant-btn-dangerous"
class="ant-btn ant-btn-link"
disabled=""
type="button"
>
<span>
Danger Link(disabled)
Link(disabled)
</span>
</button>
<br />
@ -247,6 +237,42 @@ exports[`renders ./components/button/demo/disabled.md correctly 1`] = `
Danger Default(disabled)
</span>
</button>
<br />
<button
class="ant-btn ant-btn-text ant-btn-dangerous"
type="button"
>
<span>
Danger Text
</span>
</button>
<button
class="ant-btn ant-btn-text ant-btn-dangerous"
disabled=""
type="button"
>
<span>
Danger Text(disabled)
</span>
</button>
<br />
<button
class="ant-btn ant-btn-link ant-btn-dangerous"
type="button"
>
<span>
Danger Link
</span>
</button>
<button
class="ant-btn ant-btn-link ant-btn-dangerous"
disabled=""
type="button"
>
<span>
Danger Link(disabled)
</span>
</button>
<div
class="site-button-ghost-wrapper"
>

View File

@ -25,8 +25,11 @@ ReactDOM.render(
<Button type="dashed" danger>
Dashed
</Button>
<Button type="text" danger>
Text
</Button>
<Button type="link" danger>
link
Link
</Button>
</>,
mountNode,

View File

@ -31,14 +31,26 @@ ReactDOM.render(
Dashed(disabled)
</Button>
<br />
<Button type="text">Text</Button>
<Button type="text" disabled>
Text(disabled)
</Button>
<br />
<Button type="link">Link</Button>
<Button type="link" disabled>
Link(disabled)
</Button>
<br />
<Button type="text">Text</Button>
<Button type="text" disabled>
Text(disabled)
<Button danger>Danger Default</Button>
<Button danger disabled>
Danger Default(disabled)
</Button>
<br />
<Button danger type="text">
Danger Text
</Button>
<Button danger type="text" disabled>
Danger Text(disabled)
</Button>
<br />
<Button type="link" danger>
@ -47,11 +59,6 @@ ReactDOM.render(
<Button type="link" danger disabled>
Danger Link(disabled)
</Button>
<br />
<Button danger>Danger Default</Button>
<Button danger disabled>
Danger Default(disabled)
</Button>
<div className="site-button-ghost-wrapper">
<Button ghost>Ghost</Button>
<Button ghost disabled>

View File

@ -22,7 +22,7 @@
line-height: @line-height-base;
.btn;
.btn-default;
// Fix loading button animation
// https://github.com/ant-design/ant-design/issues/24323
> span {
@ -95,6 +95,10 @@
.btn-danger-link;
}
&-dangerous&-text {
.btn-danger-text;
}
&-icon-only {
.btn-square(@btn-prefix-cls);
vertical-align: -0.5px;

View File

@ -375,6 +375,29 @@
.button-disabled(@disabled-color; transparent; transparent);
}
.btn-danger-text() {
.button-variant-other(@error-color, transparent, transparent);
box-shadow: none;
&:hover,
&:focus {
& when (@theme = dark) {
.button-color(~`colorPalette('@{error-color}', 7) `; @btn-text-hover-bg; transparent);
}
& when not (@theme = dark) {
.button-color(~`colorPalette('@{error-color}', 5) `; @btn-text-hover-bg; transparent);
}
}
&:active {
& when (@theme = dark) {
.button-color(~`colorPalette('@{error-color}', 5) `; fadein(@btn-text-hover-bg, 1%); transparent);
}
& when not (@theme = dark) {
.button-color(~`colorPalette('@{error-color}', 7) `; fadein(@btn-text-hover-bg, 1%); transparent);
}
}
.button-disabled(@disabled-color; transparent; transparent);
}
// round button
.btn-round(@btnClassName: btn) {
.button-size(@btn-circle-size; @btn-circle-size / 2; @font-size-base; @btn-circle-size);

View File

@ -25192,8 +25192,8 @@ exports[`ConfigProvider components Tabs configProvider 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="config-tabs-tab"
aria-selected="true"
class="config-tabs-tab config-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -25249,11 +25249,10 @@ exports[`ConfigProvider components Tabs configProvider 1`] = `
class="config-tabs-content config-tabs-content-top"
>
<div
aria-hidden="true"
class="config-tabs-tabpane"
aria-hidden="false"
class="config-tabs-tabpane config-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
tabindex="0"
/>
</div>
</div>
@ -25276,8 +25275,8 @@ exports[`ConfigProvider components Tabs configProvider componentSize large 1`] =
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="config-tabs-tab"
aria-selected="true"
class="config-tabs-tab config-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -25333,11 +25332,10 @@ exports[`ConfigProvider components Tabs configProvider componentSize large 1`] =
class="config-tabs-content config-tabs-content-top"
>
<div
aria-hidden="true"
class="config-tabs-tabpane"
aria-hidden="false"
class="config-tabs-tabpane config-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
tabindex="0"
/>
</div>
</div>
@ -25360,8 +25358,8 @@ exports[`ConfigProvider components Tabs configProvider componentSize middle 1`]
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="config-tabs-tab"
aria-selected="true"
class="config-tabs-tab config-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -25417,11 +25415,10 @@ exports[`ConfigProvider components Tabs configProvider componentSize middle 1`]
class="config-tabs-content config-tabs-content-top"
>
<div
aria-hidden="true"
class="config-tabs-tabpane"
aria-hidden="false"
class="config-tabs-tabpane config-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
tabindex="0"
/>
</div>
</div>
@ -25444,8 +25441,8 @@ exports[`ConfigProvider components Tabs configProvider virtual and dropdownMatch
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -25501,11 +25498,10 @@ exports[`ConfigProvider components Tabs configProvider virtual and dropdownMatch
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
tabindex="0"
/>
</div>
</div>
@ -25528,8 +25524,8 @@ exports[`ConfigProvider components Tabs normal 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -25585,11 +25581,10 @@ exports[`ConfigProvider components Tabs normal 1`] = `
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
tabindex="0"
/>
</div>
</div>
@ -25612,8 +25607,8 @@ exports[`ConfigProvider components Tabs prefixCls 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="prefix-Tabs-tab"
aria-selected="true"
class="prefix-Tabs-tab prefix-Tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -25669,11 +25664,10 @@ exports[`ConfigProvider components Tabs prefixCls 1`] = `
class="prefix-Tabs-content prefix-Tabs-content-top"
>
<div
aria-hidden="true"
class="prefix-Tabs-tabpane"
aria-hidden="false"
class="prefix-Tabs-tabpane prefix-Tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
tabindex="0"
/>
</div>
</div>
@ -37627,15 +37621,16 @@ exports[`ConfigProvider components Upload configProvider 1`] = `
<span
class="config-upload-list-item-card-actions "
>
<a
<button
class="config-btn config-upload-list-item-card-actions-btn config-btn-text config-btn-sm config-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -37652,7 +37647,7 @@ exports[`ConfigProvider components Upload configProvider 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -37730,15 +37725,16 @@ exports[`ConfigProvider components Upload configProvider componentSize large 1`]
<span
class="config-upload-list-item-card-actions "
>
<a
<button
class="config-btn config-upload-list-item-card-actions-btn config-btn-text config-btn-sm config-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -37755,7 +37751,7 @@ exports[`ConfigProvider components Upload configProvider componentSize large 1`]
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -37833,15 +37829,16 @@ exports[`ConfigProvider components Upload configProvider componentSize middle 1`
<span
class="config-upload-list-item-card-actions "
>
<a
<button
class="config-btn config-upload-list-item-card-actions-btn config-btn-text config-btn-sm config-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -37858,7 +37855,7 @@ exports[`ConfigProvider components Upload configProvider componentSize middle 1`
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -37936,15 +37933,16 @@ exports[`ConfigProvider components Upload configProvider virtual and dropdownMat
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -37961,7 +37959,7 @@ exports[`ConfigProvider components Upload configProvider virtual and dropdownMat
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -38039,15 +38037,16 @@ exports[`ConfigProvider components Upload normal 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -38064,7 +38063,7 @@ exports[`ConfigProvider components Upload normal 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -38142,15 +38141,16 @@ exports[`ConfigProvider components Upload prefixCls 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -38167,7 +38167,7 @@ exports[`ConfigProvider components Upload prefixCls 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>

View File

@ -288,6 +288,7 @@ class Drawer extends React.Component<DrawerProps & ConfigConsumerProps, IDrawerS
'autoInsertSpaceInButton',
'width',
'height',
'dropdownMatchSelectWidth',
])}
{...offsetStyle}
prefixCls={prefixCls}

View File

@ -259,9 +259,9 @@ type Rule = RuleConfig | ((form: FormInstance) => RuleConfig);
| --- | --- | --- |
| enum | Match enum value | any[] |
| len | Length of string, number, array | number |
| max | Max length of string, number, array | number |
| max | `type` required: max length of `string`, `number`, `array` | number |
| message | Error message. Will auto generate by [template](#validateMessages) if not provided | string |
| min | Min length of string, number, array | number |
| min | `type` required: min length of `string`, `number`, `array` | number |
| pattern | Regex pattern | RegExp |
| required | Required field | boolean |
| transform | Transform value to the rule before validation | (value) => any |

View File

@ -260,9 +260,9 @@ type Rule = RuleConfig | ((form: FormInstance) => RuleConfig);
| --- | --- | --- |
| enum | 是否匹配枚举中的值 | any[] |
| len | string 类型时为字符串长度number 类型时为确定数字; array 类型时为数组长度 | number |
| max | string 类型为字符串最大长度number 类型时为最大值array 类型时为数组最大长度 | number |
| max | 必须设置 `type`string 类型为字符串最大长度number 类型时为最大值array 类型时为数组最大长度 | number |
| message | 错误信息,不设置时会通过[模板](#validateMessages)自动生成 | string |
| min | string 类型为字符串最小长度number 类型时为最小值array 类型时为数组最小长度 | number |
| min | 必须设置 `type`string 类型为字符串最小长度number 类型时为最小值array 类型时为数组最小长度 | number |
| pattern | 正则表达式匹配 | RegExp |
| required | 是否为必选字段 | boolean |
| transform | 将字段值转换成目标值后进行校验 | (value) => any |

View File

@ -46,6 +46,8 @@ function setNotificationConfig(options: ConfigProps) {
}
if (placement !== undefined) {
defaultPlacement = placement;
} else if (options.rtl) {
defaultPlacement = 'topLeft';
}
if (bottom !== undefined) {
defaultBottom = bottom;

View File

@ -417,7 +417,6 @@ Array [
Disabled
</span>
</label>,
<br />,
<label
class="ant-radio-wrapper ant-radio-wrapper-disabled"
>
@ -438,9 +437,10 @@ Array [
Disabled
</span>
</label>,
<br />,
<button
class="ant-btn ant-btn-primary"
style="margin-top:20px"
style="margin-top:16px"
type="button"
>
<span>

View File

@ -33,11 +33,11 @@ class App extends React.Component {
<Radio defaultChecked={false} disabled={this.state.disabled}>
Disabled
</Radio>
<br />
<Radio defaultChecked disabled={this.state.disabled}>
Disabled
</Radio>
<Button type="primary" onClick={this.toggleDisabled} style={{ marginTop: 20 }}>
<br />
<Button type="primary" onClick={this.toggleDisabled} style={{ marginTop: 16 }}>
Toggle disabled
</Button>
</>

View File

@ -46,6 +46,8 @@
/* Reset search input style */
.select-search-input-without-border() {
.@{select-prefix-cls}-selection-search-input {
margin: 0;
padding: 0;
background: transparent;
border: none;
outline: none;

View File

@ -133,8 +133,8 @@ exports[`renders ./components/tabs/demo/card.md correctly 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -208,12 +208,13 @@ exports[`renders ./components/tabs/demo/card.md correctly 1`] = `
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
/>
tabindex="0"
>
Content of Tab Pane 1
</div>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
@ -252,8 +253,8 @@ exports[`renders ./components/tabs/demo/card-top.md correctly 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -327,12 +328,21 @@ exports[`renders ./components/tabs/demo/card-top.md correctly 1`] = `
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
/>
tabindex="0"
>
<p>
Content of Tab Pane 1
</p>
<p>
Content of Tab Pane 1
</p>
<p>
Content of Tab Pane 1
</p>
</div>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
@ -661,8 +671,8 @@ exports[`renders ./components/tabs/demo/custom-tab-bar-node.md correctly 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -736,12 +746,13 @@ exports[`renders ./components/tabs/demo/custom-tab-bar-node.md correctly 1`] = `
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
/>
tabindex="0"
>
Content of Tab Pane 1
</div>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
@ -909,14 +920,14 @@ exports[`renders ./components/tabs/demo/editable-card.md correctly 1`] = `
tabindex="0"
>
<span
aria-label="close"
class="anticon anticon-close"
aria-label="close-circle"
class="anticon anticon-close-circle"
role="img"
>
<svg
aria-hidden="true"
class=""
data-icon="close"
data-icon="close-circle"
fill="currentColor"
focusable="false"
height="1em"
@ -924,7 +935,10 @@ exports[`renders ./components/tabs/demo/editable-card.md correctly 1`] = `
width="1em"
>
<path
d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"
d="M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z"
/>
<path
d="M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
/>
</svg>
</span>
@ -945,14 +959,14 @@ exports[`renders ./components/tabs/demo/editable-card.md correctly 1`] = `
tabindex="0"
>
<span
aria-label="close"
class="anticon anticon-close"
aria-label="close-circle"
class="anticon anticon-close-circle"
role="img"
>
<svg
aria-hidden="true"
class=""
data-icon="close"
data-icon="close-circle"
fill="currentColor"
focusable="false"
height="1em"
@ -960,7 +974,10 @@ exports[`renders ./components/tabs/demo/editable-card.md correctly 1`] = `
width="1em"
>
<path
d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"
d="M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z"
/>
<path
d="M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
/>
</svg>
</span>
@ -1126,8 +1143,8 @@ exports[`renders ./components/tabs/demo/extra.md correctly 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -1213,12 +1230,13 @@ exports[`renders ./components/tabs/demo/extra.md correctly 1`] = `
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
/>
tabindex="0"
>
Content of tab 1
</div>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
@ -2190,8 +2208,8 @@ exports[`renders ./components/tabs/demo/position.md correctly 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -2265,12 +2283,13 @@ exports[`renders ./components/tabs/demo/position.md correctly 1`] = `
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
/>
tabindex="0"
>
Content of Tab 1
</div>
<div
aria-hidden="true"
class="ant-tabs-tabpane"

View File

@ -14,12 +14,13 @@ exports[`Tabs renderTabBar custom-tab-bar 1`] = `
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
/>
tabindex="0"
>
foo
</div>
</div>
</div>
</div>
@ -41,8 +42,8 @@ exports[`Tabs rtl render component should be rendered correctly in RTL direction
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -98,11 +99,10 @@ exports[`Tabs rtl render component should be rendered correctly in RTL direction
class="ant-tabs-content ant-tabs-content-top"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
tabindex="0"
/>
</div>
</div>
@ -125,8 +125,8 @@ exports[`Tabs tabPosition remove card 1`] = `
style="transform:translate(0px, 0px)"
>
<button
aria-selected="false"
class="ant-tabs-tab"
aria-selected="true"
class="ant-tabs-tab ant-tabs-tab-active"
role="tab"
tabindex="0"
type="button"
@ -187,12 +187,13 @@ exports[`Tabs tabPosition remove card 1`] = `
class="ant-tabs-content ant-tabs-content-left"
>
<div
aria-hidden="true"
class="ant-tabs-tabpane"
aria-hidden="false"
class="ant-tabs-tabpane ant-tabs-tabpane-active"
role="tabpanel"
style="display:none"
tabindex="-1"
/>
tabindex="0"
>
foo
</div>
</div>
</div>
</div>

View File

@ -1,5 +1,6 @@
import * as React from 'react';
import RcTabs, { TabPane, TabsProps as RcTabsProps } from 'rc-tabs';
import { TabPaneProps } from 'rc-tabs/lib/sugar/TabPane';
import { EditableConfig } from 'rc-tabs/lib/interface';
import classNames from 'classnames';
import EllipsisOutlined from '@ant-design/icons/EllipsisOutlined';
@ -13,6 +14,8 @@ import { SizeType } from '../config-provider/SizeContext';
export type TabsType = 'line' | 'card' | 'editable-card';
export type TabsPosition = 'top' | 'right' | 'bottom' | 'left';
export { TabPaneProps };
export interface TabsProps extends Omit<RcTabsProps, 'editable'> {
type?: TabsType;
size?: SizeType;

View File

@ -29,7 +29,7 @@ ReactDOM.render(
language for background applications, is refined by Ant UED Team.
</Paragraph>
<Paragraph ellipsis={{ rows: 3, expandable: true, symbol: 'more' }}>
<Paragraph ellipsis={{ rows: 2, expandable: true, symbol: 'more' }}>
Ant Design, a design language for background applications, is refined by Ant UED Team. Ant
Design, a design language for background applications, is refined by Ant UED Team. Ant Design,
a design language for background applications, is refined by Ant UED Team. Ant Design, a

View File

@ -9,12 +9,13 @@ import EyeOutlined from '@ant-design/icons/EyeOutlined';
import DeleteOutlined from '@ant-design/icons/DeleteOutlined';
import DownloadOutlined from '@ant-design/icons/DownloadOutlined';
import { cloneElement, isValidElement } from '../_util/reactNode';
import { UploadListProps, UploadFile, UploadListType } from './interface';
import { previewImage, isImageUrl } from './utils';
import Tooltip from '../tooltip';
import Progress from '../progress';
import { ConfigConsumer, ConfigConsumerProps } from '../config-provider';
import { cloneElement, isValidElement } from '../_util/reactNode';
import Button, { ButtonProps } from '../button';
export default class UploadList extends React.Component<UploadListProps, any> {
static defaultProps = {
@ -98,23 +99,36 @@ export default class UploadList extends React.Component<UploadListProps, any> {
return icon;
};
handleActionIconRender = (customIcon: React.ReactNode, callback: () => void, title?: string) => {
handleActionIconRender = (
customIcon: React.ReactNode,
callback: () => void,
prefixCls: string,
title?: string,
) => {
const btnProps: ButtonProps = {
type: 'text',
size: 'small',
title,
onClick: (e: React.MouseEvent<HTMLElement>) => {
callback();
if (isValidElement(customIcon) && customIcon.props.onClick) {
customIcon.props.onClick(e);
}
},
className: `${prefixCls}-list-item-card-actions-btn`,
};
if (isValidElement(customIcon)) {
return cloneElement(customIcon, {
const btnIcon = cloneElement(customIcon, {
...customIcon.props,
title,
onClick: (e: React.MouseEvent<HTMLElement>) => {
callback();
if (customIcon.props.onClick) {
customIcon.props.onClick(e);
}
},
onClick: () => {},
});
return <Button {...btnProps} icon={btnIcon} />;
}
return (
<span title={title} onClick={callback}>
{customIcon}
</span>
<Button {...btnProps}>
<span>{customIcon}</span>
</Button>
);
};
@ -195,28 +209,21 @@ export default class UploadList extends React.Component<UploadListProps, any> {
typeof file.linkProps === 'string' ? JSON.parse(file.linkProps) : file.linkProps;
const removeIcon = showRemoveIcon
? (customRemoveIcon &&
this.handleActionIconRender(
customRemoveIcon,
() => this.handleClose(file),
locale.removeFile,
)) || (
<DeleteOutlined title={locale.removeFile} onClick={() => this.handleClose(file)} />
? this.handleActionIconRender(
customRemoveIcon || <DeleteOutlined />,
() => this.handleClose(file),
prefixCls,
locale.removeFile,
)
: null;
const downloadIcon =
showDownloadIcon && file.status === 'done'
? (customDownloadIcon &&
this.handleActionIconRender(
customDownloadIcon,
() => this.handleDownload(file),
locale.downloadFile,
)) || (
<DownloadOutlined
title={locale.downloadFile}
onClick={() => this.handleDownload(file)}
/>
? this.handleActionIconRender(
customDownloadIcon || <DownloadOutlined />,
() => this.handleDownload(file),
prefixCls,
locale.downloadFile,
)
: null;
const downloadOrDelete = listType !== 'picture-card' && (
@ -226,8 +233,8 @@ export default class UploadList extends React.Component<UploadListProps, any> {
listType === 'picture' ? 'picture' : ''
}`}
>
{downloadIcon && <a title={locale.downloadFile}>{downloadIcon}</a>}
{removeIcon && <a title={locale.removeFile}>{removeIcon}</a>}
{downloadIcon}
{removeIcon}
</span>
);
const listItemNameClass = classNames({

View File

@ -177,28 +177,33 @@ exports[`renders ./components/upload/demo/crop-image.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</span>
@ -373,15 +378,16 @@ exports[`renders ./components/upload/demo/defaultFileList.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -398,7 +404,7 @@ exports[`renders ./components/upload/demo/defaultFileList.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -452,15 +458,16 @@ exports[`renders ./components/upload/demo/defaultFileList.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -477,7 +484,7 @@ exports[`renders ./components/upload/demo/defaultFileList.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -530,15 +537,16 @@ exports[`renders ./components/upload/demo/defaultFileList.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -555,7 +563,7 @@ exports[`renders ./components/upload/demo/defaultFileList.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -788,28 +796,33 @@ exports[`renders ./components/upload/demo/file-type.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</span>
@ -902,28 +915,33 @@ exports[`renders ./components/upload/demo/file-type.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</span>
@ -1017,28 +1035,33 @@ exports[`renders ./components/upload/demo/file-type.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</div>
@ -1131,28 +1154,33 @@ exports[`renders ./components/upload/demo/file-type.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</div>
@ -1237,28 +1265,33 @@ exports[`renders ./components/upload/demo/file-type.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</div>
@ -1411,15 +1444,16 @@ exports[`renders ./components/upload/demo/fileList.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -1436,7 +1470,7 @@ exports[`renders ./components/upload/demo/fileList.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -1521,28 +1555,33 @@ exports[`renders ./components/upload/demo/picture-card.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</span>
@ -1611,28 +1650,33 @@ exports[`renders ./components/upload/demo/picture-card.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</span>
@ -1701,28 +1745,33 @@ exports[`renders ./components/upload/demo/picture-card.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</span>
@ -1791,28 +1840,33 @@ exports[`renders ./components/upload/demo/picture-card.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</span>
@ -1906,28 +1960,33 @@ exports[`renders ./components/upload/demo/picture-card.md correctly 1`] = `
</svg>
</span>
</a>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
<svg
aria-hidden="true"
class=""
data-icon="delete"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
/>
</svg>
</span>
</button>
</span>
</div>
</div>
@ -2068,15 +2127,16 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -2093,7 +2153,7 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -2160,15 +2220,16 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -2185,7 +2246,7 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -2279,15 +2340,16 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -2304,7 +2366,7 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -2371,15 +2433,16 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -2396,7 +2459,7 @@ exports[`renders ./components/upload/demo/picture-style.md correctly 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -2614,24 +2677,25 @@ exports[`renders ./components/upload/demo/upload-custom-action-icon.md correctly
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm"
title="Download file"
type="button"
>
<span
title="Download file"
>
<span>
download
</span>
</a>
<a
</button>
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="star"
class="anticon anticon-star"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -2648,7 +2712,7 @@ exports[`renders ./components/upload/demo/upload-custom-action-icon.md correctly
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -2702,24 +2766,25 @@ exports[`renders ./components/upload/demo/upload-custom-action-icon.md correctly
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm"
title="Download file"
type="button"
>
<span
title="Download file"
>
<span>
download
</span>
</a>
<a
</button>
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="star"
class="anticon anticon-star"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -2736,7 +2801,7 @@ exports[`renders ./components/upload/demo/upload-custom-action-icon.md correctly
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -2789,15 +2854,16 @@ exports[`renders ./components/upload/demo/upload-custom-action-icon.md correctly
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="star"
class="anticon anticon-star"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -2814,7 +2880,7 @@ exports[`renders ./components/upload/demo/upload-custom-action-icon.md correctly
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>

View File

@ -70,15 +70,16 @@ exports[`Upload List handle error 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -95,7 +96,7 @@ exports[`Upload List handle error 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -176,15 +177,16 @@ exports[`Upload List should be uploading when upload a file 1`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -201,7 +203,7 @@ exports[`Upload List should be uploading when upload a file 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -303,15 +305,16 @@ exports[`Upload List should be uploading when upload a file 2`] = `
<span
class="ant-upload-list-item-card-actions "
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -328,7 +331,7 @@ exports[`Upload List should be uploading when upload a file 2`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -441,15 +444,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -466,7 +470,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -508,15 +512,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -533,7 +538,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -595,15 +600,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -620,7 +626,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -682,15 +688,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -707,7 +714,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -749,15 +756,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -774,7 +782,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -816,15 +824,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -841,7 +850,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -883,15 +892,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -908,7 +918,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -950,15 +960,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -975,7 +986,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -1017,15 +1028,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -1042,7 +1054,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -1084,15 +1096,16 @@ exports[`Upload List should non-image format file preview 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<span
aria-label="delete"
class="anticon anticon-delete"
role="img"
tabindex="-1"
title="Remove file"
>
<svg
aria-hidden="true"
@ -1109,7 +1122,7 @@ exports[`Upload List should non-image format file preview 1`] = `
/>
</svg>
</span>
</a>
</button>
</span>
</span>
</div>
@ -1194,15 +1207,15 @@ exports[`Upload List should support removeIcon and downloadIcon 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<i
title="Remove file"
>
<i>
RM
</i>
</a>
</button>
</span>
</span>
</div>
@ -1247,24 +1260,24 @@ exports[`Upload List should support removeIcon and downloadIcon 1`] = `
<span
class="ant-upload-list-item-card-actions picture"
>
<a
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Download file"
type="button"
>
<i
title="Download file"
>
<i>
DL
</i>
</a>
<a
</button>
<button
class="ant-btn ant-upload-list-item-card-actions-btn ant-btn-text ant-btn-sm ant-btn-icon-only"
title="Remove file"
type="button"
>
<i
title="Remove file"
>
<i>
RM
</i>
</a>
</button>
</span>
</span>
</div>

View File

@ -119,6 +119,7 @@
color: @text-color-secondary;
font-size: @font-size-base;
}
.@{iconfont-css-prefix}-plus {
color: @disabled-color;
font-size: 30px;
@ -176,15 +177,26 @@
&-card-actions {
position: absolute;
right: 0;
opacity: 0;
&-btn {
opacity: 0;
}
&-btn.@{ant-prefix}-btn-sm {
height: 20px;
line-height: 1;
}
&.picture {
top: 25px;
line-height: 1;
top: 22px;
line-height: 0;
}
&-btn:focus,
&.picture &-btn {
opacity: 1;
}
.@{iconfont-css-prefix} {
padding-right: 6px;
color: @upload-actions-color;
}
}
@ -236,7 +248,7 @@
opacity: 1;
}
&:hover &-card-actions {
&:hover &-card-actions-btn {
opacity: 1;
}
@ -250,7 +262,9 @@
.@{iconfont-css-prefix} {
color: @error-color;
}
opacity: 1;
&-btn {
opacity: 1;
}
}
&-progress {
@ -271,9 +285,11 @@
padding: @padding-xs;
border: @border-width-base @upload-picture-card-border-style @border-color-base;
border-radius: @border-radius-base;
&:hover {
background: transparent;
}
&-error {
border-color: @error-color;
}
@ -313,6 +329,7 @@
&[fill='#e6f7ff'] {
fill: color(~`colorPalette('@{error-color}', 1) `);
}
&[fill='#1890ff'] {
fill: @error-color;
}
@ -389,12 +406,14 @@
&.@{upload-prefix-cls}-list::after {
display: none;
}
&-container {
float: left;
width: @upload-picture-card-size;
height: @upload-picture-card-size;
margin: 0 @margin-xs @margin-xs 0;
}
.@{upload-item} {
float: left;
width: @upload-picture-card-size;
@ -443,6 +462,7 @@
font-size: 16px;
cursor: pointer;
transition: all 0.3s;
&:hover {
color: @text-color-inverse;
}
@ -484,6 +504,7 @@
.@{upload-item}-info {
height: auto;
&::before,
.@{iconfont-css-prefix}-eye,
.@{iconfont-css-prefix}-delete {

View File

@ -2,5 +2,6 @@ import '../../style/index.less';
import './index.less';
// style dependencies
import '../../button/style';
import '../../progress/style';
import '../../tooltip/style';

View File

@ -78,7 +78,7 @@
"pretty-quick": "pretty-quick",
"pub": "npm run version && antd-tools run pub",
"prepublishOnly": "antd-tools run guard",
"site": "cross-env NODE_ICU_DATA=node_modules/full-icu concurrently \"bisheng build --ssr -c ./site/bisheng.config.js\" \"npm run color-less\"",
"site": "cross-env NODE_ICU_DATA=node_modules/full-icu ESBUILD=1 concurrently \"bisheng build --ssr -c ./site/bisheng.config.js\" \"npm run color-less\"",
"sort": "npx sort-package-json",
"sort-api": "antd-tools run sort-api-table",
"start": "antd-tools run clean && cross-env NODE_ENV=development concurrently \"npm run color-less\" \"bisheng start -c ./site/bisheng.config.js\"",
@ -133,7 +133,7 @@
"rc-resize-observer": "^0.2.3",
"rc-select": "~10.4.0",
"rc-slider": "~9.3.0",
"rc-steps": "~3.6.0",
"rc-steps": "~4.0.0",
"rc-switch": "~3.2.0",
"rc-table": "~7.7.2",
"rc-tabs": "~11.2.0",

View File

@ -108,7 +108,9 @@ class MainContent extends Component {
}
componentWillUnmount() {
this.scroller.destroy();
if (this.scroller) {
this.scroller.destroy();
}
window.removeEventListener('load', this.handleInitialHashOnLoad);
window.removeEventListener('hashchange', this.handleHashChange);
clearTimeout(this.timeout);