@douyinfe/semi-ui 2.4.1 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/index.tsx +1 -1
- package/cascader/__test__/cascader.test.js +24 -0
- package/cascader/_story/cascader.stories.js +73 -0
- package/cascader/index.tsx +5 -2
- package/datePicker/_story/v2/FixInputRangeFocus.jsx +25 -0
- package/datePicker/_story/v2/index.js +2 -1
- package/datePicker/datePicker.tsx +3 -0
- package/dist/css/semi.css +56 -29
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +523 -227
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/form/__test__/formApi.test.js +182 -0
- package/form/_story/FormApi/arrayDemo.jsx +4 -7
- package/form/_story/Layout/slotDemo.jsx +2 -2
- package/form/_story/demo.jsx +18 -1
- package/form/_story/form.stories.js +6 -6
- package/form/baseForm.tsx +2 -2
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/button/Button.d.ts +4 -4
- package/lib/cjs/button/buttonGroup.d.ts +2 -2
- package/lib/cjs/button/index.d.ts +5 -6
- package/lib/cjs/cascader/index.js +6 -0
- package/lib/cjs/datePicker/datePicker.js +4 -0
- package/lib/cjs/dropdown/index.d.ts +1 -1
- package/lib/cjs/form/baseForm.d.ts +1 -1
- package/lib/cjs/form/baseForm.js +2 -2
- package/lib/cjs/form/field.d.ts +1 -1
- package/lib/cjs/iconButton/index.d.ts +2 -2
- package/lib/cjs/select/index.d.ts +3 -3
- package/lib/cjs/select/index.js +32 -28
- package/lib/cjs/select/option.js +2 -2
- package/lib/cjs/select/virtualRow.js +2 -2
- package/lib/cjs/table/Table.d.ts +1 -1
- package/lib/cjs/table/Table.js +8 -2
- package/lib/cjs/table/interface.d.ts +1 -0
- package/lib/cjs/tabs/interface.d.ts +1 -1
- package/lib/cjs/tooltip/index.d.ts +1 -1
- package/lib/cjs/tooltip/index.js +12 -4
- package/lib/cjs/tree/index.d.ts +2 -0
- package/lib/cjs/tree/index.js +15 -8
- package/lib/cjs/treeSelect/index.d.ts +2 -0
- package/lib/cjs/treeSelect/index.js +64 -27
- package/lib/cjs/upload/fileCard.js +31 -22
- package/lib/cjs/upload/index.d.ts +6 -0
- package/lib/cjs/upload/index.js +15 -8
- package/lib/cjs/upload/interface.d.ts +8 -6
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/button/Button.d.ts +4 -4
- package/lib/es/button/buttonGroup.d.ts +2 -2
- package/lib/es/button/index.d.ts +5 -6
- package/lib/es/cascader/index.js +5 -0
- package/lib/es/datePicker/datePicker.js +4 -0
- package/lib/es/dropdown/index.d.ts +1 -1
- package/lib/es/form/baseForm.d.ts +1 -1
- package/lib/es/form/baseForm.js +2 -2
- package/lib/es/form/field.d.ts +1 -1
- package/lib/es/iconButton/index.d.ts +2 -2
- package/lib/es/select/index.d.ts +3 -3
- package/lib/es/select/index.js +30 -26
- package/lib/es/select/option.js +2 -2
- package/lib/es/select/virtualRow.js +2 -2
- package/lib/es/table/Table.d.ts +1 -1
- package/lib/es/table/Table.js +10 -2
- package/lib/es/table/interface.d.ts +1 -0
- package/lib/es/tabs/interface.d.ts +1 -1
- package/lib/es/tooltip/index.d.ts +1 -1
- package/lib/es/tooltip/index.js +12 -4
- package/lib/es/tree/index.d.ts +2 -0
- package/lib/es/tree/index.js +15 -8
- package/lib/es/treeSelect/index.d.ts +2 -0
- package/lib/es/treeSelect/index.js +64 -27
- package/lib/es/upload/fileCard.js +31 -24
- package/lib/es/upload/index.d.ts +6 -0
- package/lib/es/upload/index.js +14 -8
- package/lib/es/upload/interface.d.ts +8 -6
- package/package.json +9 -9
- package/select/index.tsx +18 -19
- package/select/option.tsx +2 -2
- package/select/virtualRow.tsx +2 -2
- package/table/Table.tsx +7 -2
- package/table/_story/Perf/Virtualized/index.jsx +6 -0
- package/table/_story/table.stories.js +1 -2
- package/table/_story/v2/FixedHeaderMerge/index.jsx +98 -0
- package/table/_story/v2/FixedResizable/index.jsx +114 -0
- package/table/_story/v2/defaultFilteredValue.tsx +114 -0
- package/table/_story/v2/index.js +5 -0
- package/table/interface.ts +1 -0
- package/tabs/interface.ts +1 -1
- package/tooltip/__test__/tooltip.test.js +48 -4
- package/tooltip/_story/tooltip.stories.js +718 -559
- package/tooltip/index.tsx +6 -6
- package/tree/__test__/treeMultiple.test.js +94 -0
- package/tree/_story/tree.stories.js +169 -0
- package/tree/index.tsx +12 -5
- package/treeSelect/__test__/treeMultiple.test.js +94 -0
- package/treeSelect/_story/treeSelect.stories.js +242 -0
- package/treeSelect/index.tsx +72 -40
- package/upload/_story/upload.stories.js +22 -6
- package/upload/fileCard.tsx +23 -23
- package/upload/index.tsx +15 -6
- package/upload/interface.ts +7 -5
package/button/index.tsx
CHANGED
|
@@ -12,7 +12,7 @@ export { ButtonGroupProps } from './buttonGroup';
|
|
|
12
12
|
export { SplitButtonGroupProps } from './splitButtonGroup';
|
|
13
13
|
|
|
14
14
|
// eslint-disable-next-line
|
|
15
|
-
export interface ButtonProps extends IconButtonProps
|
|
15
|
+
export interface ButtonProps extends IconButtonProps {} // TODO check
|
|
16
16
|
class Button extends React.PureComponent<ButtonProps> {
|
|
17
17
|
static propTypes = {
|
|
18
18
|
...BaseButton.propTypes,
|
|
@@ -195,6 +195,30 @@ describe('Cascader', () => {
|
|
|
195
195
|
// done();
|
|
196
196
|
});
|
|
197
197
|
|
|
198
|
+
it('dynamic treeData in multiple and uncontrolled mode', () => {
|
|
199
|
+
const cascader = render({
|
|
200
|
+
defaultValue: 'Yazhou',
|
|
201
|
+
multiple: true,
|
|
202
|
+
});
|
|
203
|
+
const opt = document.querySelectorAll(`.${BASE_CLASS_PREFIX}-cascader-selection-multiple .${BASE_CLASS_PREFIX}-tag`);
|
|
204
|
+
expect(opt.length).toEqual(1);
|
|
205
|
+
cascader.setProps({ treeData: treeDataWithDisabled });
|
|
206
|
+
cascader.update();
|
|
207
|
+
expect(opt.length).toEqual(1);
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
it('dynamic treeData in multiple and controlled mode', () => {
|
|
211
|
+
const cascader = render({
|
|
212
|
+
value: 'Yazhou',
|
|
213
|
+
multiple: true,
|
|
214
|
+
});
|
|
215
|
+
const opt = document.querySelectorAll(`.${BASE_CLASS_PREFIX}-cascader-selection-multiple .${BASE_CLASS_PREFIX}-tag`);
|
|
216
|
+
expect(opt.length).toEqual(1);
|
|
217
|
+
cascader.setProps({ treeData: treeDataWithDisabled });
|
|
218
|
+
cascader.update();
|
|
219
|
+
expect(opt.length).toEqual(1);
|
|
220
|
+
});
|
|
221
|
+
|
|
198
222
|
it('getPopupContainer', () => {
|
|
199
223
|
let cascader = render({
|
|
200
224
|
getPopupContainer: getPopupContainer,
|
|
@@ -1348,4 +1348,77 @@ export const LeafOnly = () => {
|
|
|
1348
1348
|
/>
|
|
1349
1349
|
</div>
|
|
1350
1350
|
);
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
export const DynamicTreeData = () => {
|
|
1354
|
+
const [treeDataDemo1,setTreeData1]=useState(treeData2);
|
|
1355
|
+
const [treeDataDemo2,setTreeData2]=useState(treeData2);
|
|
1356
|
+
const [treeDataDemo3,setTreeData3]=useState(treeData2);
|
|
1357
|
+
const [treeDataDemo4,setTreeData4]=useState(treeData2);
|
|
1358
|
+
const [treeDataDemo5,setTreeData5]=useState(treeData2);
|
|
1359
|
+
const [value3,setValue3]=useState();
|
|
1360
|
+
const [value4,setValue4]=useState();
|
|
1361
|
+
return (
|
|
1362
|
+
<div>
|
|
1363
|
+
<div>多选 + 动态更新 tree</div>
|
|
1364
|
+
<Cascader
|
|
1365
|
+
style={{ width: 300 }}
|
|
1366
|
+
treeData={treeDataDemo1}
|
|
1367
|
+
multiple
|
|
1368
|
+
placeholder="请选择所在地区"
|
|
1369
|
+
/>
|
|
1370
|
+
<Button onClick={()=>{setTreeData1(treeData3)}}>改变treeData</Button>
|
|
1371
|
+
<br />
|
|
1372
|
+
<br />
|
|
1373
|
+
<div>单选 + 动态更新 tree</div>
|
|
1374
|
+
<Cascader
|
|
1375
|
+
style={{ width: 300 }}
|
|
1376
|
+
treeData={treeDataDemo2}
|
|
1377
|
+
placeholder="请选择所在地区"
|
|
1378
|
+
/>
|
|
1379
|
+
<Button onClick={()=>{setTreeData2(treeData3)}}>改变treeData</Button>
|
|
1380
|
+
<br />
|
|
1381
|
+
<br />
|
|
1382
|
+
<div>多选 + 动态更新 tree + 受控</div>
|
|
1383
|
+
<Cascader
|
|
1384
|
+
style={{ width: 300 }}
|
|
1385
|
+
treeData={treeDataDemo3}
|
|
1386
|
+
multiple
|
|
1387
|
+
value={value3}
|
|
1388
|
+
onChange={v=>{
|
|
1389
|
+
console.log(v);
|
|
1390
|
+
setValue3(v);
|
|
1391
|
+
}}
|
|
1392
|
+
placeholder="请选择所在地区"
|
|
1393
|
+
/>
|
|
1394
|
+
<Button onClick={()=>{setTreeData3(treeData3)}}>改变treeData</Button>
|
|
1395
|
+
<br />
|
|
1396
|
+
<br />
|
|
1397
|
+
<div>单选 + 动态更新 tree + 受控</div>
|
|
1398
|
+
<Cascader
|
|
1399
|
+
style={{ width: 300 }}
|
|
1400
|
+
treeData={treeDataDemo4}
|
|
1401
|
+
value={value4}
|
|
1402
|
+
onChange={v=>{
|
|
1403
|
+
console.log(v);
|
|
1404
|
+
setValue4(v);
|
|
1405
|
+
}}
|
|
1406
|
+
placeholder="请选择所在地区"
|
|
1407
|
+
/>
|
|
1408
|
+
<Button onClick={()=>{setTreeData4(treeData3)}}>改变treeData</Button>
|
|
1409
|
+
<br />
|
|
1410
|
+
<br />
|
|
1411
|
+
<div>多选 + 动态更新 tree + defaultValue 为亚洲</div>
|
|
1412
|
+
<Cascader
|
|
1413
|
+
style={{ width: 300 }}
|
|
1414
|
+
treeData={treeDataDemo5}
|
|
1415
|
+
multiple
|
|
1416
|
+
defaultValue='yazhou'
|
|
1417
|
+
placeholder="请选择所在地区"
|
|
1418
|
+
/>
|
|
1419
|
+
<Button onClick={()=>{setTreeData5(treeData3)}}>改变treeData</Button>
|
|
1420
|
+
<br />
|
|
1421
|
+
<br />
|
|
1422
|
+
</div>
|
|
1423
|
+
);
|
|
1351
1424
|
}
|
package/cascader/index.tsx
CHANGED
|
@@ -14,7 +14,7 @@ import CascaderFoundation, {
|
|
|
14
14
|
} from '@douyinfe/semi-foundation/cascader/foundation';
|
|
15
15
|
import { cssClasses, strings } from '@douyinfe/semi-foundation/cascader/constants';
|
|
16
16
|
import { numbers as popoverNumbers } from '@douyinfe/semi-foundation/popover/constants';
|
|
17
|
-
import { isEqual, isString, isEmpty, isFunction, isNumber, noop, flatten } from 'lodash';
|
|
17
|
+
import { isSet, isEqual, isString, isEmpty, isFunction, isNumber, noop, flatten } from 'lodash';
|
|
18
18
|
import '@douyinfe/semi-foundation/cascader/cascader.scss';
|
|
19
19
|
import { IconClear, IconChevronDown } from '@douyinfe/semi-icons';
|
|
20
20
|
import { findKeysForValues, convertDataToEntities, calcMergeType } from '@douyinfe/semi-foundation/cascader/util';
|
|
@@ -426,7 +426,10 @@ class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
426
426
|
});
|
|
427
427
|
realKeys = formatKeys;
|
|
428
428
|
}
|
|
429
|
-
|
|
429
|
+
if (isSet(realKeys)) {
|
|
430
|
+
realKeys = [...realKeys];
|
|
431
|
+
}
|
|
432
|
+
const calRes = calcCheckedKeys(flatten(realKeys), keyEntities);
|
|
430
433
|
const checkedKeys = new Set(calRes.checkedKeys);
|
|
431
434
|
const halfCheckedKeys = new Set(calRes.halfCheckedKeys);
|
|
432
435
|
// disableStrictly
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DatePicker, Button } from '../../../index';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* fix gitlab #1375
|
|
6
|
+
*/
|
|
7
|
+
App.storyName = 'fixed input range focus';
|
|
8
|
+
export default function App() {
|
|
9
|
+
const [visible, setVisible] = React.useState(false);
|
|
10
|
+
return (
|
|
11
|
+
<div>
|
|
12
|
+
{/* <Button onClick={() => { setVisible(false); }}>关闭</Button> */}
|
|
13
|
+
<DatePicker
|
|
14
|
+
type="dateTimeRange"
|
|
15
|
+
bottomSlot={<Button onClick={() => { setVisible(false); }}>关闭</Button>}
|
|
16
|
+
onFocus={() => {
|
|
17
|
+
console.log('focus');
|
|
18
|
+
setVisible(true);
|
|
19
|
+
}}
|
|
20
|
+
open={visible}
|
|
21
|
+
showClear
|
|
22
|
+
/>
|
|
23
|
+
</div>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -331,6 +331,9 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
331
331
|
|
|
332
332
|
if (prevProps.open !== this.props.open) {
|
|
333
333
|
this.foundation.initPanelOpenStatus();
|
|
334
|
+
if (!this.props.open) {
|
|
335
|
+
this.foundation.clearRangeInputFocus();
|
|
336
|
+
}
|
|
334
337
|
}
|
|
335
338
|
}
|
|
336
339
|
|
package/dist/css/semi.css
CHANGED
|
@@ -2612,6 +2612,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
2612
2612
|
}
|
|
2613
2613
|
.semi-cascader:hover {
|
|
2614
2614
|
background-color: var(--semi-color-fill-1);
|
|
2615
|
+
border: 1px transparent solid;
|
|
2615
2616
|
}
|
|
2616
2617
|
.semi-cascader-small {
|
|
2617
2618
|
min-height: 24px;
|
|
@@ -2687,7 +2688,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
2687
2688
|
color: var(--semi-color-text-2);
|
|
2688
2689
|
}
|
|
2689
2690
|
.semi-cascader-selection-tag {
|
|
2690
|
-
margin: 1px 2px;
|
|
2691
|
+
margin: 1px 2px 1px 0;
|
|
2691
2692
|
}
|
|
2692
2693
|
.semi-cascader-selection-tag:first-child {
|
|
2693
2694
|
margin-left: 0;
|
|
@@ -4739,6 +4740,10 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
4739
4740
|
padding-top: 6px;
|
|
4740
4741
|
padding-bottom: 6px;
|
|
4741
4742
|
}
|
|
4743
|
+
.semi-form-field[x-label-pos=left] .semi-radioGroup-buttonRadio {
|
|
4744
|
+
padding-top: 0;
|
|
4745
|
+
padding-bottom: 0;
|
|
4746
|
+
}
|
|
4742
4747
|
.semi-form-field[x-label-pos=left] .semi-switch,
|
|
4743
4748
|
.semi-form-field[x-label-pos=left] .semi-rating {
|
|
4744
4749
|
vertical-align: middle;
|
|
@@ -11447,6 +11452,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
11447
11452
|
cursor: not-allowed;
|
|
11448
11453
|
color: var(--semi-color-disabled-text);
|
|
11449
11454
|
background-color: var(--semi-color-disabled-fill);
|
|
11455
|
+
-webkit-text-fill-color: var(--semi-color-disabled-text);
|
|
11450
11456
|
}
|
|
11451
11457
|
.semi-input-wrapper-disabled:hover {
|
|
11452
11458
|
background-color: var(--semi-color-disabled-fill);
|
|
@@ -16206,7 +16212,6 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
16206
16212
|
word-break: break-all;
|
|
16207
16213
|
word-wrap: break-word;
|
|
16208
16214
|
position: relative;
|
|
16209
|
-
user-select: none;
|
|
16210
16215
|
}
|
|
16211
16216
|
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left, .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right {
|
|
16212
16217
|
z-index: 101;
|
|
@@ -19438,11 +19443,10 @@ p.semi-typography-extended,
|
|
|
19438
19443
|
}
|
|
19439
19444
|
.semi-upload[x-prompt-pos=left] .semi-upload-add {
|
|
19440
19445
|
display: inline-flex;
|
|
19441
|
-
order: 2;
|
|
19442
19446
|
}
|
|
19443
19447
|
.semi-upload[x-prompt-pos=left] .semi-upload-prompt {
|
|
19444
19448
|
display: inline-flex;
|
|
19445
|
-
order: 1;
|
|
19449
|
+
order: -1;
|
|
19446
19450
|
}
|
|
19447
19451
|
.semi-upload[x-prompt-pos=left] .semi-upload-file-list {
|
|
19448
19452
|
order: 2;
|
|
@@ -19622,15 +19626,9 @@ p.semi-typography-extended,
|
|
|
19622
19626
|
.semi-upload-picture[x-prompt-pos=bottom] .semi-upload-prompt {
|
|
19623
19627
|
order: 1;
|
|
19624
19628
|
}
|
|
19625
|
-
.semi-upload-picture[x-prompt-pos=bottom] .semi-upload-add {
|
|
19626
|
-
order: 0;
|
|
19627
|
-
}
|
|
19628
19629
|
.semi-upload-picture[x-prompt-pos=right] .semi-upload-prompt {
|
|
19629
19630
|
order: 1;
|
|
19630
19631
|
}
|
|
19631
|
-
.semi-upload-picture[x-prompt-pos=right] .semi-upload-add {
|
|
19632
|
-
order: 0;
|
|
19633
|
-
}
|
|
19634
19632
|
.semi-upload-picture-add {
|
|
19635
19633
|
background-color: var(--semi-color-fill-0);
|
|
19636
19634
|
height: 96px;
|
|
@@ -19642,7 +19640,6 @@ p.semi-typography-extended,
|
|
|
19642
19640
|
border: 2px dashed var(--semi-color-border);
|
|
19643
19641
|
color: var(--semi-color-tertiary);
|
|
19644
19642
|
border-radius: var(--semi-border-radius-small);
|
|
19645
|
-
order: 2;
|
|
19646
19643
|
cursor: pointer;
|
|
19647
19644
|
}
|
|
19648
19645
|
.semi-upload-picture-add:hover {
|
|
@@ -19682,35 +19679,32 @@ p.semi-typography-extended,
|
|
|
19682
19679
|
border-radius: var(--semi-border-radius-small);
|
|
19683
19680
|
}
|
|
19684
19681
|
.semi-upload-picture-file-card-close {
|
|
19685
|
-
|
|
19686
|
-
|
|
19687
|
-
background-color: var(--semi-color-overlay-bg);
|
|
19682
|
+
visibility: hidden;
|
|
19683
|
+
display: inline-flex;
|
|
19688
19684
|
position: absolute;
|
|
19689
19685
|
top: 8px;
|
|
19690
19686
|
right: 8px;
|
|
19691
|
-
display: flex;
|
|
19692
|
-
justify-content: center;
|
|
19693
|
-
align-items: center;
|
|
19694
|
-
display: none;
|
|
19695
19687
|
border-radius: var(--semi-border-radius-circle);
|
|
19696
|
-
color: white;
|
|
19697
19688
|
cursor: pointer;
|
|
19698
19689
|
transition: all 0s;
|
|
19699
19690
|
}
|
|
19700
|
-
.semi-upload-picture-file-card
|
|
19701
|
-
|
|
19702
|
-
|
|
19703
|
-
.semi-upload-picture-file-card:hover .semi-upload-picture-file-card-replace {
|
|
19704
|
-
visibility: visible;
|
|
19691
|
+
.semi-upload-picture-file-card-icon-close {
|
|
19692
|
+
font-size: 16px;
|
|
19693
|
+
color: var(--semi-color-white);
|
|
19705
19694
|
}
|
|
19706
|
-
.semi-upload-picture-file-card
|
|
19695
|
+
.semi-upload-picture-file-card::before {
|
|
19696
|
+
visibility: hidden;
|
|
19697
|
+
background-color: var(--semi-color-overlay-bg);
|
|
19698
|
+
content: "";
|
|
19707
19699
|
position: absolute;
|
|
19708
|
-
|
|
19709
|
-
|
|
19710
|
-
|
|
19700
|
+
left: 0;
|
|
19701
|
+
right: 0;
|
|
19702
|
+
top: 0;
|
|
19703
|
+
bottom: 0;
|
|
19711
19704
|
}
|
|
19712
19705
|
.semi-upload-picture-file-card-retry {
|
|
19713
|
-
|
|
19706
|
+
visibility: hidden;
|
|
19707
|
+
background-color: var(--semi-color-white);
|
|
19714
19708
|
width: 24px;
|
|
19715
19709
|
height: 24px;
|
|
19716
19710
|
position: absolute;
|
|
@@ -19738,6 +19732,15 @@ p.semi-typography-extended,
|
|
|
19738
19732
|
color: var(--semi-color-white);
|
|
19739
19733
|
transform: translate3D(-50%, -50%, 0);
|
|
19740
19734
|
}
|
|
19735
|
+
.semi-upload-picture-file-card-preview {
|
|
19736
|
+
visibility: hidden;
|
|
19737
|
+
display: inline-flex;
|
|
19738
|
+
position: absolute;
|
|
19739
|
+
cursor: pointer;
|
|
19740
|
+
top: 50%;
|
|
19741
|
+
left: 50%;
|
|
19742
|
+
transform: translate3D(-50%, -50%, 0);
|
|
19743
|
+
}
|
|
19741
19744
|
.semi-upload-picture-file-card-pic-info {
|
|
19742
19745
|
display: inline-flex;
|
|
19743
19746
|
box-sizing: border-box;
|
|
@@ -19769,6 +19772,30 @@ p.semi-typography-extended,
|
|
|
19769
19772
|
.semi-upload-picture-file-card-error {
|
|
19770
19773
|
outline: 1px solid var(--semi-color-danger);
|
|
19771
19774
|
}
|
|
19775
|
+
.semi-upload-picture-file-card:hover::before {
|
|
19776
|
+
visibility: visible;
|
|
19777
|
+
}
|
|
19778
|
+
.semi-upload-picture-file-card:hover .semi-upload-picture-file-card-close {
|
|
19779
|
+
visibility: visible;
|
|
19780
|
+
}
|
|
19781
|
+
.semi-upload-picture-file-card:hover .semi-upload-picture-file-card-replace {
|
|
19782
|
+
visibility: visible;
|
|
19783
|
+
}
|
|
19784
|
+
.semi-upload-picture-file-card:hover .semi-upload-picture-file-card-retry {
|
|
19785
|
+
visibility: visible;
|
|
19786
|
+
}
|
|
19787
|
+
.semi-upload-picture-file-card:hover .semi-upload-picture-file-card-preview {
|
|
19788
|
+
visibility: visible;
|
|
19789
|
+
}
|
|
19790
|
+
.semi-upload-picture-file-card-uploading::before {
|
|
19791
|
+
visibility: visible;
|
|
19792
|
+
}
|
|
19793
|
+
.semi-upload-picture-file-card .semi-progress-circle {
|
|
19794
|
+
position: absolute;
|
|
19795
|
+
top: 50%;
|
|
19796
|
+
left: 50%;
|
|
19797
|
+
transform: translate(-50%, -50%);
|
|
19798
|
+
}
|
|
19772
19799
|
.semi-upload-drag-area {
|
|
19773
19800
|
border-radius: var(--semi-border-radius-small);
|
|
19774
19801
|
border: 2px dashed var(--semi-color-border);
|