@douyinfe/semi-ui 2.4.0-beta.0 → 2.4.0
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/datePicker/_story/RenderDate/index.js +13 -3
- package/datePicker/_story/RenderFullDate/index.js +36 -14
- package/datePicker/_story/RenderFullDate/index.scss +1 -1
- package/datePicker/_story/datePicker.stories.js +19 -11
- package/datePicker/_story/v2/PanelOpen.jsx +39 -0
- package/datePicker/_story/v2/index.js +2 -1
- package/dist/css/semi.css +18 -0
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +20 -6
- 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/lib/cjs/navigation/Item.js +1 -1
- package/lib/cjs/navigation/SubNav.js +1 -1
- package/lib/cjs/scrollList/scrollItem.d.ts +5 -1
- package/lib/cjs/scrollList/scrollItem.js +7 -0
- package/lib/cjs/treeSelect/index.js +11 -3
- package/lib/cjs/typography/util.js +0 -1
- package/lib/es/navigation/Item.js +1 -1
- package/lib/es/navigation/SubNav.js +1 -1
- package/lib/es/scrollList/scrollItem.d.ts +5 -1
- package/lib/es/scrollList/scrollItem.js +7 -0
- package/lib/es/treeSelect/index.js +12 -4
- package/lib/es/typography/util.js +0 -1
- package/navigation/Item.tsx +1 -1
- package/navigation/SubNav.tsx +1 -1
- package/package.json +8 -8
- package/scrollList/scrollItem.tsx +10 -3
- package/table/_story/v2/FixedColumnsChange/index.jsx +1 -1
- package/table/_story/v2/FixedZIndex/index.jsx +1 -1
- package/timePicker/__test__/timePicker.test.js +9 -1
- package/treeSelect/__test__/treeSelect.test.js +157 -0
- package/treeSelect/index.tsx +21 -12
- package/typography/_story/typography.stories.js +8 -0
- package/typography/util.tsx +0 -1
|
@@ -2,20 +2,30 @@ import React from 'react';
|
|
|
2
2
|
import DatePicker from '../../index';
|
|
3
3
|
import { Tooltip } from '@douyinfe/semi-ui';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* 使用 Chromatic UI 测试
|
|
7
|
+
*/
|
|
5
8
|
export default function Demo() {
|
|
6
9
|
const dateStyle = { width: '100%', height: '100%', border: '1px solid #0077FA', display: 'flex', justifyContent: 'center', alignItems: 'center' };
|
|
10
|
+
const defaultValue = new Date('2021-01-10 00:00:00');
|
|
7
11
|
const renderDate = (dayNumber, fullDate) => {
|
|
8
12
|
if (dayNumber === 1) {
|
|
9
13
|
return <Tooltip content={'Always Day 1'} >
|
|
10
14
|
<div style={dateStyle}>{dayNumber}</div>
|
|
11
|
-
</Tooltip
|
|
15
|
+
</Tooltip>;
|
|
12
16
|
}
|
|
13
17
|
return dayNumber;
|
|
14
18
|
};
|
|
15
19
|
return (
|
|
16
|
-
<div>
|
|
20
|
+
<div style={{ height: '100vh' }}>
|
|
17
21
|
<div>通过 renderDate 可以自定义日期的显示内容</div>
|
|
18
|
-
<DatePicker renderDate={renderDate} />
|
|
22
|
+
<DatePicker motion={false} defaultValue={defaultValue} defaultOpen renderDate={renderDate} />
|
|
19
23
|
</div>
|
|
20
24
|
);
|
|
21
25
|
}
|
|
26
|
+
Demo.parameters = {
|
|
27
|
+
chromatic: {
|
|
28
|
+
disableSnapshot: false,
|
|
29
|
+
delay: 3000,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import DatePicker from '
|
|
2
|
+
import { DatePicker, Space } from '@douyinfe/semi-ui';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import '@douyinfe/semi-foundation/datePicker/datePicker.scss';
|
|
5
|
+
import './index.scss';
|
|
5
6
|
|
|
7
|
+
/**
|
|
8
|
+
* 开启 Chromatic UI 测试
|
|
9
|
+
*/
|
|
6
10
|
export default function Demo() {
|
|
7
11
|
const dayStyle = {
|
|
8
12
|
display: 'flex',
|
|
@@ -33,24 +37,42 @@ export default function Demo() {
|
|
|
33
37
|
</div>
|
|
34
38
|
);
|
|
35
39
|
};
|
|
40
|
+
const props = {
|
|
41
|
+
defaultOpen: true,
|
|
42
|
+
position: 'bottomLeft',
|
|
43
|
+
autoAdjustOverflow: false,
|
|
44
|
+
motion: false,
|
|
45
|
+
};
|
|
46
|
+
const singleDefaultValue = new Date('2021-01-08');
|
|
47
|
+
const multipleDefaultValue = [new Date('2021-01-08'), new Date('2021-01-09'), new Date('2021-01-10'), new Date('2021-01-19')];
|
|
48
|
+
const rangeDefaultValue = [new Date('2021-12-08'), new Date('2021-01-20')];
|
|
36
49
|
|
|
37
50
|
return (
|
|
38
|
-
<div>
|
|
51
|
+
<div style={{ height: '100vh' }}>
|
|
39
52
|
<div>
|
|
40
53
|
通过 renderFullDate 可以自定义日期单元格子的渲染,API 提供日期的当前状态:是否被选中,是否是当前日等。
|
|
41
54
|
</div>
|
|
42
|
-
<
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
<Space wrap spacing={[12, 400]}>
|
|
56
|
+
<div>
|
|
57
|
+
单选选中
|
|
58
|
+
<DatePicker {...props} style={{ width: '230px' }} renderFullDate={renderFullDate} defaultValue={singleDefaultValue} />
|
|
59
|
+
</div>
|
|
60
|
+
<div>
|
|
61
|
+
多选选中
|
|
62
|
+
<DatePicker {...props} style={{ width: '230px' }} multiple={true} renderFullDate={renderFullDate} defaultValue={multipleDefaultValue} />
|
|
63
|
+
</div>
|
|
64
|
+
<div>
|
|
65
|
+
范围选中
|
|
66
|
+
<DatePicker {...props} style={{ width: '230px' }} type={'dateRange'} renderFullDate={renderFullDate} defaultValue={rangeDefaultValue} />
|
|
67
|
+
</div>
|
|
68
|
+
</Space>
|
|
54
69
|
</div>
|
|
55
70
|
);
|
|
56
71
|
}
|
|
72
|
+
Demo.parameters = {
|
|
73
|
+
chromatic: {
|
|
74
|
+
disableSnapshot: false,
|
|
75
|
+
delay: 3000,
|
|
76
|
+
viewports: [1800]
|
|
77
|
+
},
|
|
78
|
+
};
|
|
@@ -36,7 +36,7 @@ import DatePickerSlot from './DatePickerSlot';
|
|
|
36
36
|
import DatePickerTimeZone from './DatePickerTimeZone';
|
|
37
37
|
import BetterRangePicker from './BetterRangePicker';
|
|
38
38
|
import SyncSwitchMonth from './SyncSwitchMonth';
|
|
39
|
-
|
|
39
|
+
export * from './v2';
|
|
40
40
|
|
|
41
41
|
export default {
|
|
42
42
|
title: 'DatePicker',
|
|
@@ -67,7 +67,6 @@ export {
|
|
|
67
67
|
DatePickerTimeZone,
|
|
68
68
|
BetterRangePicker,
|
|
69
69
|
SyncSwitchMonth,
|
|
70
|
-
YearButton
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
const demoDiv = {
|
|
@@ -76,7 +75,7 @@ const demoDiv = {
|
|
|
76
75
|
};
|
|
77
76
|
|
|
78
77
|
export const DatePickerDefault = () => (
|
|
79
|
-
<div style={demoDiv}>
|
|
78
|
+
<div style={{...demoDiv, height: '100vh'}}>
|
|
80
79
|
<span>datePicker施工现场</span>
|
|
81
80
|
<DatePicker
|
|
82
81
|
insetLabel={<span>日期</span>}
|
|
@@ -87,14 +86,7 @@ export const DatePickerDefault = () => (
|
|
|
87
86
|
<br />
|
|
88
87
|
|
|
89
88
|
<span>datePicker默认显示</span>
|
|
90
|
-
<DatePicker
|
|
91
|
-
<br />
|
|
92
|
-
|
|
93
|
-
<span>defaultValue: new Date('2019-07-07')</span>
|
|
94
|
-
<DatePicker
|
|
95
|
-
defaultValue={new Date('2019-07-07')}
|
|
96
|
-
onOpenChange={isOpen => console.log(isOpen)}
|
|
97
|
-
/>
|
|
89
|
+
<DatePicker />
|
|
98
90
|
<br />
|
|
99
91
|
|
|
100
92
|
<span>defaultValue: 2019-07-09</span>
|
|
@@ -106,8 +98,23 @@ export const DatePickerDefault = () => (
|
|
|
106
98
|
defaultValue={1569888000000}
|
|
107
99
|
onChange={(input, value) => console.log({ input, value })}
|
|
108
100
|
/>
|
|
101
|
+
<br />
|
|
102
|
+
|
|
103
|
+
<span>defaultValue: new Date('2019-07-07')</span>
|
|
104
|
+
<DatePicker
|
|
105
|
+
defaultValue={new Date('2019-07-07')}
|
|
106
|
+
onOpenChange={isOpen => console.log(isOpen)}
|
|
107
|
+
defaultOpen
|
|
108
|
+
motion={false}
|
|
109
|
+
/>
|
|
109
110
|
</div>
|
|
110
111
|
);
|
|
112
|
+
DatePickerDefault.parameters = {
|
|
113
|
+
chromatic: {
|
|
114
|
+
disableSnapshot: false,
|
|
115
|
+
delay: 300
|
|
116
|
+
}
|
|
117
|
+
};
|
|
111
118
|
|
|
112
119
|
export const DatePickerCallbacks = () => {
|
|
113
120
|
const printArgs = (...args) => console.log(...args);
|
|
@@ -806,3 +813,4 @@ export const FixTriggerRenderClosePanel = () => {
|
|
|
806
813
|
);
|
|
807
814
|
};
|
|
808
815
|
FixTriggerRenderClosePanel.storyName = "fix triggerRender close bug"
|
|
816
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DatePicker, Space } from '@douyinfe/semi-ui';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Test with Chromatic
|
|
6
|
+
*/
|
|
7
|
+
export default function App() {
|
|
8
|
+
// 使用过去的时间,避免当前日变动引入 UI 测试失败
|
|
9
|
+
const defaultValue = new Date('2021-01-01 00:00:00');
|
|
10
|
+
const props = {
|
|
11
|
+
defaultOpen: true,
|
|
12
|
+
position: 'bottomLeft',
|
|
13
|
+
autoAdjustOverflow: false,
|
|
14
|
+
defaultPickerValue: defaultValue,
|
|
15
|
+
needConfirm: true,
|
|
16
|
+
motion: false,
|
|
17
|
+
};
|
|
18
|
+
const spacing = [48, 400];
|
|
19
|
+
// 使用过去的时间,避免当前日变动引入 UI 测试失败
|
|
20
|
+
const defaultRangeValue = [defaultValue, new Date('2021-03-31 00:00:00')];
|
|
21
|
+
return (
|
|
22
|
+
<div style={{ height: '100vh' }}>
|
|
23
|
+
<Space wrap spacing={spacing}>
|
|
24
|
+
<DatePicker {...props} type="month" defaultValue={defaultValue} />
|
|
25
|
+
<DatePicker {...props} type="dateTimeRange" defaultValue={defaultRangeValue} density="compact" />
|
|
26
|
+
<DatePicker {...props} type="dateTimeRange" defaultValue={defaultRangeValue} />
|
|
27
|
+
</Space>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
App.parameters = {
|
|
33
|
+
chromatic: {
|
|
34
|
+
disableSnapshot: false,
|
|
35
|
+
delay: 3000,
|
|
36
|
+
viewports: [1800]
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
App.storyName = 'defaultOpen';
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { default as YearButton } from './YearButton';
|
|
1
|
+
export { default as YearButton } from './YearButton';
|
|
2
|
+
export { default as PanelOpen } from './PanelOpen';
|
package/dist/css/semi.css
CHANGED
|
@@ -648,6 +648,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
648
648
|
padding-top: 8px;
|
|
649
649
|
padding-bottom: 8px;
|
|
650
650
|
color: var(--semi-color-text-0);
|
|
651
|
+
border-radius: 0;
|
|
651
652
|
position: relative;
|
|
652
653
|
display: flex;
|
|
653
654
|
flex-wrap: nowrap;
|
|
@@ -1667,21 +1668,27 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
1667
1668
|
}
|
|
1668
1669
|
.semi-button-borderless {
|
|
1669
1670
|
background-color: transparent;
|
|
1671
|
+
border: 0 transparent solid;
|
|
1670
1672
|
}
|
|
1671
1673
|
.semi-button-borderless:not(.semi-button-disabled):hover {
|
|
1672
1674
|
background-color: var(--semi-color-fill-0);
|
|
1675
|
+
border: 0 transparent solid;
|
|
1673
1676
|
}
|
|
1674
1677
|
.semi-button-borderless:not(.semi-button-disabled):active {
|
|
1675
1678
|
background-color: var(--semi-color-fill-1);
|
|
1679
|
+
border: 0 transparent solid;
|
|
1676
1680
|
}
|
|
1677
1681
|
.semi-button-light {
|
|
1678
1682
|
background-color: var(--semi-color-fill-0);
|
|
1683
|
+
border: 0 transparent solid;
|
|
1679
1684
|
}
|
|
1680
1685
|
.semi-button-light:not(.semi-button-disabled):hover {
|
|
1681
1686
|
background-color: var(--semi-color-fill-1);
|
|
1687
|
+
border: 0 transparent solid;
|
|
1682
1688
|
}
|
|
1683
1689
|
.semi-button-light:not(.semi-button-disabled):active {
|
|
1684
1690
|
background-color: var(--semi-color-fill-2);
|
|
1691
|
+
border: 0 transparent solid;
|
|
1685
1692
|
}
|
|
1686
1693
|
.semi-button-size-small {
|
|
1687
1694
|
height: 24px;
|
|
@@ -12060,6 +12067,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
12060
12067
|
padding: 0 0;
|
|
12061
12068
|
font-size: 14px;
|
|
12062
12069
|
font-weight: 600;
|
|
12070
|
+
background-color: transparent;
|
|
12063
12071
|
color: var(--semi-color-text-0);
|
|
12064
12072
|
border-bottom: 0 solid transparent;
|
|
12065
12073
|
}
|
|
@@ -12082,6 +12090,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
12082
12090
|
text-align: right;
|
|
12083
12091
|
border-radius: 0 0 5px 5px;
|
|
12084
12092
|
border-top: 0 solid transparent;
|
|
12093
|
+
background-color: transparent;
|
|
12085
12094
|
}
|
|
12086
12095
|
.semi-modal-footer .semi-button {
|
|
12087
12096
|
margin-left: 12px;
|
|
@@ -14167,6 +14176,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
14167
14176
|
.semi-scrolllist-header-title {
|
|
14168
14177
|
padding: 16px 0;
|
|
14169
14178
|
font-weight: 600;
|
|
14179
|
+
color: var(--semi-color-text-0);
|
|
14170
14180
|
font-size: 14px;
|
|
14171
14181
|
line-height: 20px;
|
|
14172
14182
|
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
@@ -14336,6 +14346,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
14336
14346
|
padding-top: 8px;
|
|
14337
14347
|
padding-bottom: 8px;
|
|
14338
14348
|
color: var(--semi-color-text-0);
|
|
14349
|
+
border-radius: 0;
|
|
14339
14350
|
position: relative;
|
|
14340
14351
|
display: flex;
|
|
14341
14352
|
flex-wrap: nowrap;
|
|
@@ -14415,9 +14426,11 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
14415
14426
|
}
|
|
14416
14427
|
.semi-select:hover {
|
|
14417
14428
|
background-color: var(--semi-color-fill-1);
|
|
14429
|
+
border: 1px solid transparent;
|
|
14418
14430
|
}
|
|
14419
14431
|
.semi-select:active {
|
|
14420
14432
|
background-color: var(--semi-color-fill-2);
|
|
14433
|
+
border: 1px solid var(--semi-color-focus-border);
|
|
14421
14434
|
}
|
|
14422
14435
|
.semi-select:focus {
|
|
14423
14436
|
border: 1px solid var(--semi-color-focus-border);
|
|
@@ -14697,6 +14710,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
14697
14710
|
.semi-select-option-list {
|
|
14698
14711
|
overflow-x: hidden;
|
|
14699
14712
|
overflow-y: auto;
|
|
14713
|
+
padding: 0 0 0 0;
|
|
14700
14714
|
}
|
|
14701
14715
|
.semi-select-option-list-chosen .semi-select-option-icon {
|
|
14702
14716
|
display: flex;
|
|
@@ -18862,6 +18876,7 @@ body[theme-mode=dark], body .semi-always-dark {
|
|
|
18862
18876
|
}
|
|
18863
18877
|
.semi-tree-select:hover {
|
|
18864
18878
|
background-color: var(--semi-color-fill-1);
|
|
18879
|
+
border: 1px solid inherit;
|
|
18865
18880
|
}
|
|
18866
18881
|
.semi-tree-select-focus {
|
|
18867
18882
|
border: 1px solid var(--semi-color-focus-border);
|
|
@@ -20180,6 +20195,9 @@ p.semi-typography-extended,
|
|
|
20180
20195
|
box-sizing: border-box;
|
|
20181
20196
|
color: var(--semi-color-text-0);
|
|
20182
20197
|
}
|
|
20198
|
+
.semi-input-textarea:hover {
|
|
20199
|
+
border-color: transparent;
|
|
20200
|
+
}
|
|
20183
20201
|
.semi-input-textarea::placeholder {
|
|
20184
20202
|
color: var(--semi-color-text-2);
|
|
20185
20203
|
}
|