@douyinfe/semi-ui 2.8.2 → 2.9.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/anchor/__test__/anchor.test.js +1 -0
- package/anchor/_story/anchor.stories.js +23 -1
- package/badge/index.tsx +12 -3
- package/cascader/_story/cascader.stories.js +17 -2
- package/cascader/index.tsx +1 -1
- package/checkbox/_story/checkbox.stories.js +1 -1
- package/collapse/item.tsx +2 -0
- package/datePicker/_story/datePicker.stories.js +37 -0
- package/descriptions/index.tsx +3 -4
- package/descriptions/item.tsx +1 -1
- package/dist/css/semi.css +63 -17
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +7444 -3323
- 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/divider/__test__/divider.test.js +72 -0
- package/divider/_story/Demo.tsx +16 -0
- package/divider/_story/divider.stories.js +41 -0
- package/divider/_story/divider.stories.tsx +8 -0
- package/divider/index.tsx +72 -0
- package/form/_story/demo.jsx +9 -0
- package/index.ts +1 -0
- package/input/__test__/input.test.js +12 -3
- package/input/__test__/textArea.test.js +53 -0
- package/lib/cjs/badge/index.d.ts +9 -0
- package/lib/cjs/badge/index.js +34 -6
- package/lib/cjs/button/index.d.ts +1 -1
- package/lib/cjs/cascader/index.js +1 -1
- package/lib/cjs/collapse/item.js +4 -2
- package/lib/cjs/descriptions/index.d.ts +2 -3
- package/lib/cjs/descriptions/index.js +4 -3
- package/lib/cjs/descriptions/item.d.ts +1 -1
- package/lib/cjs/divider/index.d.ts +20 -0
- package/lib/cjs/divider/index.js +88 -0
- package/lib/cjs/form/baseForm.d.ts +1 -1
- package/lib/cjs/form/errorMessage.d.ts +1 -1
- package/lib/cjs/iconButton/index.d.ts +1 -1
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.js +9 -0
- package/lib/cjs/modal/Modal.js +3 -0
- package/lib/cjs/modal/confirm.d.ts +5 -5
- package/lib/cjs/navigation/Header.d.ts +1 -1
- package/lib/cjs/navigation/index.d.ts +2 -2
- package/lib/cjs/popover/index.d.ts +1 -1
- package/lib/cjs/progress/index.d.ts +1 -1
- package/lib/cjs/scrollList/scrollItem.js +4 -0
- package/lib/cjs/select/optionGroup.d.ts +1 -1
- package/lib/cjs/slider/index.js +16 -12
- package/lib/cjs/table/Body/BaseRow.d.ts +1 -1
- package/lib/cjs/table/Body/ExpandedRow.d.ts +1 -1
- package/lib/cjs/table/Column.d.ts +1 -1
- package/lib/cjs/table/ColumnShape.d.ts +1 -1
- package/lib/cjs/table/CustomExpandIcon.d.ts +1 -1
- package/lib/cjs/table/Table.d.ts +5 -5
- package/lib/cjs/table/index.d.ts +4 -4
- package/lib/cjs/tabs/TabPane.js +4 -0
- package/lib/cjs/tabs/index.js +2 -0
- package/lib/cjs/tagInput/index.d.ts +1 -1
- package/lib/cjs/tooltip/index.d.ts +1 -1
- package/lib/cjs/transfer/index.d.ts +1 -0
- package/lib/cjs/transfer/index.js +3 -1
- package/lib/es/badge/index.d.ts +9 -0
- package/lib/es/badge/index.js +31 -6
- package/lib/es/button/index.d.ts +1 -1
- package/lib/es/cascader/index.js +1 -1
- package/lib/es/collapse/item.js +4 -2
- package/lib/es/descriptions/index.d.ts +2 -3
- package/lib/es/descriptions/index.js +4 -3
- package/lib/es/descriptions/item.d.ts +1 -1
- package/lib/es/divider/index.d.ts +20 -0
- package/lib/es/divider/index.js +68 -0
- package/lib/es/form/baseForm.d.ts +1 -1
- package/lib/es/form/errorMessage.d.ts +1 -1
- package/lib/es/iconButton/index.d.ts +1 -1
- package/lib/es/index.d.ts +1 -0
- package/lib/es/index.js +1 -0
- package/lib/es/modal/Modal.js +3 -0
- package/lib/es/modal/confirm.d.ts +5 -5
- package/lib/es/navigation/Header.d.ts +1 -1
- package/lib/es/navigation/index.d.ts +2 -2
- package/lib/es/popover/index.d.ts +1 -1
- package/lib/es/progress/index.d.ts +1 -1
- package/lib/es/scrollList/scrollItem.js +4 -0
- package/lib/es/select/optionGroup.d.ts +1 -1
- package/lib/es/slider/index.js +16 -12
- package/lib/es/table/Body/BaseRow.d.ts +1 -1
- package/lib/es/table/Body/ExpandedRow.d.ts +1 -1
- package/lib/es/table/Column.d.ts +1 -1
- package/lib/es/table/ColumnShape.d.ts +1 -1
- package/lib/es/table/CustomExpandIcon.d.ts +1 -1
- package/lib/es/table/Table.d.ts +5 -5
- package/lib/es/table/index.d.ts +4 -4
- package/lib/es/tabs/TabPane.js +4 -0
- package/lib/es/tabs/index.js +2 -0
- package/lib/es/tagInput/index.d.ts +1 -1
- package/lib/es/tooltip/index.d.ts +1 -1
- package/lib/es/transfer/index.d.ts +1 -0
- package/lib/es/transfer/index.js +3 -1
- package/modal/Modal.tsx +2 -0
- package/modal/confirm.tsx +1 -1
- package/overflowList/_story/overflowList.stories.js +44 -0
- package/package.json +9 -9
- package/scrollList/_story/SingleWheelList/index.js +72 -0
- package/scrollList/_story/scrolllist.stories.js +7 -0
- package/scrollList/scrollItem.tsx +3 -0
- package/slider/_story/slider.stories.js +28 -6
- package/slider/index.tsx +15 -10
- package/table/__test__/table.test.js +1 -0
- package/tabs/TabPane.tsx +2 -0
- package/tabs/_story/tabs.stories.js +72 -0
- package/tabs/index.tsx +1 -0
- package/tagInput/_story/tagInput.stories.js +14 -1
- package/tooltip/_story/tooltip.stories.js +127 -15
- package/transfer/index.tsx +4 -1
- package/typography/__test__/typography.test.js +1 -0
- package/upload/__test__/upload.test.js +2 -0
- package/upload/_story/upload.stories.js +2 -2
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Divider } from '../../index';
|
|
2
|
+
|
|
3
|
+
describe('Divider', () => {
|
|
4
|
+
it('Divider-custom className & style', () => {
|
|
5
|
+
const props = {
|
|
6
|
+
className: 'test',
|
|
7
|
+
style: {
|
|
8
|
+
color: 'red',
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
const demo = mount(<Divider {...props}/>);
|
|
12
|
+
expect(demo.exists(`.semi-divider.test`)).toEqual(true);
|
|
13
|
+
expect(demo.find(`.semi-divider`)).toHaveStyle('color', 'red');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('test title', () => {
|
|
17
|
+
const demo = mount(<Divider>divider title</Divider>);
|
|
18
|
+
expect(demo.getDOMNode().textContent).toEqual('divider title');
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('test align', () => {
|
|
22
|
+
|
|
23
|
+
const demo = mount(
|
|
24
|
+
<div>
|
|
25
|
+
Semi-Design
|
|
26
|
+
<Divider>divider center title</Divider>
|
|
27
|
+
Semi-Design
|
|
28
|
+
<Divider align="left">divider left title</Divider>
|
|
29
|
+
Semi-Design
|
|
30
|
+
<Divider align="right">divider right title</Divider>
|
|
31
|
+
</div>
|
|
32
|
+
);
|
|
33
|
+
expect(demo.exists(`.semi-divider-with-text-center`)).toBe(true);
|
|
34
|
+
expect(demo.exists(`.semi-divider-with-text-left`)).toBe(true);
|
|
35
|
+
expect(demo.exists(`.semi-divider-with-text-right`)).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('test layout', () => {
|
|
39
|
+
const props = {
|
|
40
|
+
layout: 'vertical',
|
|
41
|
+
};
|
|
42
|
+
const demo = mount(
|
|
43
|
+
<div>
|
|
44
|
+
Semi-Design
|
|
45
|
+
<Divider {...props} />
|
|
46
|
+
Semi-Design
|
|
47
|
+
<Divider {...props} />
|
|
48
|
+
Semi-Design
|
|
49
|
+
<Divider {...props} />
|
|
50
|
+
</div>
|
|
51
|
+
);
|
|
52
|
+
expect(demo.exists(`.semi-divider-vertical`)).toBe(true);
|
|
53
|
+
demo.unmount();
|
|
54
|
+
});
|
|
55
|
+
it('test dashed',()=>{
|
|
56
|
+
const props = {
|
|
57
|
+
dashed:true
|
|
58
|
+
};
|
|
59
|
+
const demo = mount(
|
|
60
|
+
<div>
|
|
61
|
+
Semi-Design
|
|
62
|
+
<Divider {...props} />
|
|
63
|
+
Semi-Design
|
|
64
|
+
<Divider {...props} />
|
|
65
|
+
Semi-Design
|
|
66
|
+
<Divider {...props} />
|
|
67
|
+
</div>
|
|
68
|
+
);
|
|
69
|
+
expect(demo.exists('.semi-divider-dashed')).toBe(true);
|
|
70
|
+
demo.unmount();
|
|
71
|
+
})
|
|
72
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { storiesOf } from '@storybook/react';
|
|
3
|
+
// import { withKnobs, text, boolean } from '@storybook/addon-knobs';
|
|
4
|
+
|
|
5
|
+
import Divider from '../index';
|
|
6
|
+
import { IllustrationSuccess } from '@douyinfe/semi-illustrations';
|
|
7
|
+
|
|
8
|
+
const stories = storiesOf('Divider', module);
|
|
9
|
+
|
|
10
|
+
stories.add('Divider default', () => (
|
|
11
|
+
<div>
|
|
12
|
+
<p>Semi Design</p>
|
|
13
|
+
<Divider />
|
|
14
|
+
<p>Semi Design</p>
|
|
15
|
+
<Divider />
|
|
16
|
+
<p>Semi Design</p>
|
|
17
|
+
<Divider dashed />
|
|
18
|
+
<p>Semi Design</p>
|
|
19
|
+
</div>
|
|
20
|
+
));
|
|
21
|
+
|
|
22
|
+
stories.add('Divider vertical', () => (
|
|
23
|
+
<div>
|
|
24
|
+
<span>Semi Design</span>
|
|
25
|
+
<Divider layout="vertical" />
|
|
26
|
+
<span>Semi Design</span>
|
|
27
|
+
<Divider layout="vertical" />
|
|
28
|
+
<span>Semi Design</span>
|
|
29
|
+
</div>
|
|
30
|
+
));
|
|
31
|
+
|
|
32
|
+
stories.add('Divider title', () => (
|
|
33
|
+
<div>
|
|
34
|
+
<p>Semi Design </p>
|
|
35
|
+
<Divider>Title</Divider>
|
|
36
|
+
<p>Semi Design </p>
|
|
37
|
+
<Divider align='left'>Title</Divider>
|
|
38
|
+
<p>Semi Design </p>
|
|
39
|
+
<Divider align='right'>Title</Divider>
|
|
40
|
+
</div>
|
|
41
|
+
));
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React, { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import cls from 'classnames';
|
|
3
|
+
import { cssClasses } from '@douyinfe/semi-foundation/divider/constants';
|
|
4
|
+
import '@douyinfe/semi-foundation/divider/divider.scss';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const prefixCls = cssClasses.PREFIX;
|
|
8
|
+
|
|
9
|
+
export interface DividerProps {
|
|
10
|
+
/** The position of title inside divider */
|
|
11
|
+
align?: 'left' | 'right' | 'center';
|
|
12
|
+
/** space between divider and surroundings **/
|
|
13
|
+
margin?: number | string
|
|
14
|
+
/** The wrapped title */
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
/** Style class name */
|
|
17
|
+
className?: string;
|
|
18
|
+
/** Whether line is dashed */
|
|
19
|
+
dashed?: boolean;
|
|
20
|
+
/** The direction type of divider */
|
|
21
|
+
layout?: 'horizontal' | 'vertical';
|
|
22
|
+
/** Divider inline style */
|
|
23
|
+
style?: CSSProperties;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const Divider: React.FC<DividerProps> = props => {
|
|
27
|
+
const {
|
|
28
|
+
layout = 'horizontal',
|
|
29
|
+
dashed,
|
|
30
|
+
align = 'center',
|
|
31
|
+
className,
|
|
32
|
+
margin,
|
|
33
|
+
style,
|
|
34
|
+
children,
|
|
35
|
+
...rest
|
|
36
|
+
} = props;
|
|
37
|
+
|
|
38
|
+
const dividerClassNames = cls(`${prefixCls}-divider`, className, {
|
|
39
|
+
[`${prefixCls}-divider-horizontal`]: layout === 'horizontal',
|
|
40
|
+
[`${prefixCls}-divider-vertical`]: layout === 'vertical',
|
|
41
|
+
[`${prefixCls}-divider-dashed`]: !!dashed,
|
|
42
|
+
[`${prefixCls}-divider-with-text`]: children && layout === 'horizontal',
|
|
43
|
+
[`${prefixCls}-divider-with-text-${align}`]: children && layout === 'horizontal',
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
let overrideDefaultStyle: CSSProperties = {};
|
|
47
|
+
if (margin !== undefined) {
|
|
48
|
+
if (layout === 'vertical') {
|
|
49
|
+
overrideDefaultStyle = {
|
|
50
|
+
'marginLeft': margin,
|
|
51
|
+
'marginRight': margin
|
|
52
|
+
};
|
|
53
|
+
} else if (layout === 'horizontal') {
|
|
54
|
+
overrideDefaultStyle = {
|
|
55
|
+
'marginTop': margin,
|
|
56
|
+
'marginBottom': margin,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<div {...rest} className={dividerClassNames} style={{ ...overrideDefaultStyle, ...style }}>
|
|
63
|
+
{(children && layout === 'horizontal') ? (
|
|
64
|
+
typeof children === 'string' ? <span className={`${prefixCls}-divider_inner-text`}>
|
|
65
|
+
{children}
|
|
66
|
+
</span> : children
|
|
67
|
+
) : null}
|
|
68
|
+
</div>
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default Divider;
|
package/form/_story/demo.jsx
CHANGED
|
@@ -283,6 +283,15 @@ class BasicDemoWithInit extends Component {
|
|
|
283
283
|
</Form.AutoComplete>
|
|
284
284
|
</Col>
|
|
285
285
|
</Row>
|
|
286
|
+
<Row>
|
|
287
|
+
<Col span={12}>
|
|
288
|
+
<Form.TagInput
|
|
289
|
+
field='tags'
|
|
290
|
+
label='tags'
|
|
291
|
+
/>
|
|
292
|
+
</Col>
|
|
293
|
+
|
|
294
|
+
</Row>
|
|
286
295
|
</Form.Section>
|
|
287
296
|
<Form.Section text='资源详情'>
|
|
288
297
|
|
package/index.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { default as Collapsible } from './collapsible';
|
|
|
20
20
|
export { default as ConfigProvider } from './configProvider';
|
|
21
21
|
export { default as DatePicker } from './datePicker';
|
|
22
22
|
export { default as Descriptions } from './descriptions';
|
|
23
|
+
export { default as Divider } from './divider';
|
|
23
24
|
export { default as Empty } from './empty';
|
|
24
25
|
export { default as Modal } from './modal';
|
|
25
26
|
export { default as Dropdown } from './dropdown';
|
|
@@ -113,9 +113,18 @@ describe('Input', () => {
|
|
|
113
113
|
});
|
|
114
114
|
|
|
115
115
|
it('input password mode', () => {
|
|
116
|
-
const inputMode = mount(<Input
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
const inputMode = mount(<Input />);
|
|
117
|
+
expect(inputMode.find('input').instance().type).toEqual('text');
|
|
118
|
+
inputMode.setProps({ mode: 'password' }) ;
|
|
119
|
+
expect(inputMode.find('input').instance().type).toEqual('password');
|
|
120
|
+
inputMode.setProps({ mode: '' }) ;
|
|
121
|
+
expect(inputMode.find('input').instance().type).toEqual('text');
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('input password click eyes icon', () => {
|
|
125
|
+
const inputMode = mount(<Input mode='password' defaultValue="123456" autofocus/>);
|
|
126
|
+
inputMode.simulate('mouseEnter', {}).find(`.${BASE_CLASS_PREFIX}-input-modebtn`).simulate('click');
|
|
127
|
+
expect(inputMode.find('input').instance().type).toEqual('text');
|
|
119
128
|
});
|
|
120
129
|
|
|
121
130
|
it('input controlled mode', () => {
|
|
@@ -116,4 +116,57 @@ describe('TextArea', () => {
|
|
|
116
116
|
const counter2 = textarea.find(`.${BASE_CLASS_PREFIX}-input-textarea-counter`);
|
|
117
117
|
expect(counter2.hasClass('semi-input-textarea-counter-exceed')).toEqual(false);
|
|
118
118
|
});
|
|
119
|
+
|
|
120
|
+
it('test minLength', () => {
|
|
121
|
+
let inputValue = '💖💖💖';
|
|
122
|
+
let inputValue1 = '💖💖💖💖';
|
|
123
|
+
let minLength = 4;
|
|
124
|
+
let event = { target: { value: inputValue } };
|
|
125
|
+
let event1 = { target: { value: inputValue1 } };
|
|
126
|
+
|
|
127
|
+
let onChange = value => {
|
|
128
|
+
console.log(value);
|
|
129
|
+
};
|
|
130
|
+
let spyOnChange = sinon.spy(onChange);
|
|
131
|
+
const textArea = mount(<TextArea onChange={spyOnChange} minLength={minLength} getValueLength={getValueLength} />);
|
|
132
|
+
const textAreaDom = textArea.find('textarea');
|
|
133
|
+
|
|
134
|
+
textAreaDom.simulate('change', event);
|
|
135
|
+
expect(spyOnChange.calledOnce).toBe(true);
|
|
136
|
+
expect(spyOnChange.calledWithMatch(textAreaDom)).toBe(true);
|
|
137
|
+
expect(textAreaDom.instance().minLength).toEqual(inputValue.length + (minLength - getValueLength(inputValue)));
|
|
138
|
+
|
|
139
|
+
textAreaDom.simulate('change', event1);
|
|
140
|
+
expect(spyOnChange.calledWithMatch(textAreaDom)).toBe(true);
|
|
141
|
+
expect(textAreaDom.instance().minLength).toEqual(minLength)
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
it('test maxLength + truncateValue', () => {
|
|
145
|
+
function truncateValue(inputValue, maxLength, getValueLength) {
|
|
146
|
+
let event = { target: { value: inputValue } };
|
|
147
|
+
let onChange = value => {
|
|
148
|
+
console.log(value);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
let spyOnChange = sinon.spy(onChange);
|
|
152
|
+
const textArea = mount(<TextArea onChange={spyOnChange} maxLength={maxLength} getValueLength={getValueLength} />);
|
|
153
|
+
const textAreaDom = textArea.find('textarea');
|
|
154
|
+
textAreaDom.simulate('change', event);
|
|
155
|
+
expect(spyOnChange.calledOnce).toBe(true);
|
|
156
|
+
return textAreaDom.instance().value;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const testCases = [
|
|
160
|
+
// 自定义valueLength
|
|
161
|
+
['Semi', 5, getValueLength, 'Semi'],
|
|
162
|
+
['Semi Design', 4, getValueLength, 'Semi'],
|
|
163
|
+
['💖💖💖💖💖💖💖💖💖💖👨👩👧👦', 10, getValueLength, '💖💖💖💖💖💖💖💖💖💖'],
|
|
164
|
+
['💖', -1, getValueLength, ''],
|
|
165
|
+
['🆗', 1, getValueLength, '🆗'],
|
|
166
|
+
];
|
|
167
|
+
|
|
168
|
+
for (let [value, length, fc, result] of testCases) {
|
|
169
|
+
expect(truncateValue(value, length, fc)).toBe(result);
|
|
170
|
+
}
|
|
171
|
+
})
|
|
119
172
|
})
|
package/lib/cjs/badge/index.d.ts
CHANGED
|
@@ -14,6 +14,9 @@ export interface BadgeProps {
|
|
|
14
14
|
overflowCount?: number;
|
|
15
15
|
style?: React.CSSProperties;
|
|
16
16
|
className?: string;
|
|
17
|
+
onMouseEnter?: (e: React.MouseEvent) => any;
|
|
18
|
+
onMouseLeave?: (e: React.MouseEvent) => any;
|
|
19
|
+
onClick?: (e: React.MouseEvent) => any;
|
|
17
20
|
children?: React.ReactNode | undefined;
|
|
18
21
|
}
|
|
19
22
|
export default class Badge extends PureComponent<BadgeProps> {
|
|
@@ -28,12 +31,18 @@ export default class Badge extends PureComponent<BadgeProps> {
|
|
|
28
31
|
style: PropTypes.Requireable<object>;
|
|
29
32
|
className: PropTypes.Requireable<string>;
|
|
30
33
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
34
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
35
|
+
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
36
|
+
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
31
37
|
};
|
|
32
38
|
static defaultProps: {
|
|
33
39
|
dot: boolean;
|
|
34
40
|
type: string;
|
|
35
41
|
theme: string;
|
|
36
42
|
className: string;
|
|
43
|
+
onClick: () => (...args: any[]) => void;
|
|
44
|
+
onMouseEnter: () => (...args: any[]) => void;
|
|
45
|
+
onMouseLeave: () => (...args: any[]) => void;
|
|
37
46
|
};
|
|
38
47
|
context: ContextValue;
|
|
39
48
|
render(): JSX.Element;
|
package/lib/cjs/badge/index.js
CHANGED
|
@@ -14,8 +14,16 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
14
14
|
|
|
15
15
|
exports.default = void 0;
|
|
16
16
|
|
|
17
|
+
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
|
|
18
|
+
|
|
19
|
+
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
20
|
+
|
|
17
21
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
18
22
|
|
|
23
|
+
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
24
|
+
|
|
25
|
+
var _noop2 = _interopRequireDefault(require("lodash/noop"));
|
|
26
|
+
|
|
19
27
|
var _isString2 = _interopRequireDefault(require("lodash/isString"));
|
|
20
28
|
|
|
21
29
|
var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
|
|
@@ -36,6 +44,17 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
|
|
|
36
44
|
|
|
37
45
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
38
46
|
|
|
47
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
48
|
+
var t = {};
|
|
49
|
+
|
|
50
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && (0, _indexOf.default)(e).call(e, p) < 0) t[p] = s[p];
|
|
51
|
+
|
|
52
|
+
if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
|
|
53
|
+
if ((0, _indexOf.default)(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
54
|
+
}
|
|
55
|
+
return t;
|
|
56
|
+
};
|
|
57
|
+
|
|
39
58
|
const prefixCls = _constants.cssClasses.PREFIX;
|
|
40
59
|
|
|
41
60
|
class Badge extends _react.PureComponent {
|
|
@@ -48,7 +67,8 @@ class Badge extends _react.PureComponent {
|
|
|
48
67
|
|
|
49
68
|
const defaultPosition = direction === 'rtl' ? 'leftTop' : 'rightTop'; // eslint-disable-next-line max-len
|
|
50
69
|
|
|
51
|
-
const
|
|
70
|
+
const _a = this.props,
|
|
71
|
+
{
|
|
52
72
|
count,
|
|
53
73
|
dot,
|
|
54
74
|
type,
|
|
@@ -58,7 +78,9 @@ class Badge extends _react.PureComponent {
|
|
|
58
78
|
style,
|
|
59
79
|
children,
|
|
60
80
|
className
|
|
61
|
-
} =
|
|
81
|
+
} = _a,
|
|
82
|
+
rest = __rest(_a, ["count", "dot", "type", "theme", "position", "overflowCount", "style", "children", "className"]);
|
|
83
|
+
|
|
62
84
|
const custom = count && !((0, _isNumber2.default)(count) || (0, _isString2.default)(count));
|
|
63
85
|
const showBadge = count !== null && typeof count !== 'undefined';
|
|
64
86
|
const wrapper = (0, _classnames.default)(className, {
|
|
@@ -78,9 +100,9 @@ class Badge extends _react.PureComponent {
|
|
|
78
100
|
content = count;
|
|
79
101
|
}
|
|
80
102
|
|
|
81
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
103
|
+
return /*#__PURE__*/_react.default.createElement("span", (0, _assign.default)({
|
|
82
104
|
className: prefixCls
|
|
83
|
-
}, children, /*#__PURE__*/_react.default.createElement("span", {
|
|
105
|
+
}, rest), children, /*#__PURE__*/_react.default.createElement("span", {
|
|
84
106
|
className: wrapper,
|
|
85
107
|
style: style
|
|
86
108
|
}, dot ? null : content));
|
|
@@ -99,11 +121,17 @@ Badge.propTypes = {
|
|
|
99
121
|
overflowCount: _propTypes.default.number,
|
|
100
122
|
style: _propTypes.default.object,
|
|
101
123
|
className: _propTypes.default.string,
|
|
102
|
-
children: _propTypes.default.node
|
|
124
|
+
children: _propTypes.default.node,
|
|
125
|
+
onClick: _propTypes.default.func,
|
|
126
|
+
onMouseEnter: _propTypes.default.func,
|
|
127
|
+
onMouseLeave: _propTypes.default.func
|
|
103
128
|
};
|
|
104
129
|
Badge.defaultProps = {
|
|
105
130
|
dot: false,
|
|
106
131
|
type: 'primary',
|
|
107
132
|
theme: 'solid',
|
|
108
|
-
className: ''
|
|
133
|
+
className: '',
|
|
134
|
+
onClick: () => _noop2.default,
|
|
135
|
+
onMouseEnter: () => _noop2.default,
|
|
136
|
+
onMouseLeave: () => _noop2.default
|
|
109
137
|
};
|
|
@@ -12,7 +12,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
|
|
|
12
12
|
style: import("prop-types").Requireable<object>;
|
|
13
13
|
loading: import("prop-types").Requireable<boolean>;
|
|
14
14
|
prefixCls: import("prop-types").Requireable<string>;
|
|
15
|
-
icon: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
|
|
15
|
+
icon: import("prop-types").Requireable<object | import("prop-types").ReactNodeLike>;
|
|
16
16
|
iconSize: import("prop-types").Requireable<string>;
|
|
17
17
|
noHorizontalPadding: import("prop-types").Requireable<string | boolean | any[]>;
|
|
18
18
|
children: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
|
|
@@ -423,7 +423,7 @@ class Cascader extends _baseComponent.default {
|
|
|
423
423
|
|
|
424
424
|
this.handleClearEnterPress = e => {
|
|
425
425
|
e && e.stopPropagation();
|
|
426
|
-
this.foundation.handleClearEnterPress();
|
|
426
|
+
this.foundation.handleClearEnterPress(e);
|
|
427
427
|
};
|
|
428
428
|
|
|
429
429
|
this.showClearBtn = () => {
|
package/lib/cjs/collapse/item.js
CHANGED
|
@@ -103,9 +103,11 @@ class CollapsePanel extends _react.PureComponent {
|
|
|
103
103
|
className,
|
|
104
104
|
children,
|
|
105
105
|
itemKey,
|
|
106
|
-
reCalcKey
|
|
106
|
+
reCalcKey,
|
|
107
|
+
header,
|
|
108
|
+
extra
|
|
107
109
|
} = _a,
|
|
108
|
-
restProps = __rest(_a, ["className", "children", "itemKey", "reCalcKey"]);
|
|
110
|
+
restProps = __rest(_a, ["className", "children", "itemKey", "reCalcKey", "header", "extra"]);
|
|
109
111
|
|
|
110
112
|
const {
|
|
111
113
|
keepDOM,
|
|
@@ -6,8 +6,7 @@ import Item from './item';
|
|
|
6
6
|
export { DescriptionsItemProps } from './item';
|
|
7
7
|
export declare type DescriptionsSize = 'small' | 'medium' | 'large';
|
|
8
8
|
export interface Data {
|
|
9
|
-
|
|
10
|
-
key?: string | number;
|
|
9
|
+
key?: React.ReactNode;
|
|
11
10
|
value?: (() => React.ReactNode) | React.ReactNode;
|
|
12
11
|
hidden?: boolean;
|
|
13
12
|
}
|
|
@@ -31,7 +30,7 @@ declare class Descriptions extends PureComponent<DescriptionsProps> {
|
|
|
31
30
|
className: PropTypes.Requireable<string>;
|
|
32
31
|
data: PropTypes.Requireable<PropTypes.InferProps<{
|
|
33
32
|
key: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
34
|
-
value: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
33
|
+
value: PropTypes.Requireable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>;
|
|
35
34
|
hidden: PropTypes.Requireable<boolean>;
|
|
36
35
|
className: PropTypes.Requireable<string>;
|
|
37
36
|
style: PropTypes.Requireable<object>;
|
|
@@ -60,10 +60,11 @@ class Descriptions extends _react.PureComponent {
|
|
|
60
60
|
["".concat(prefixCls, "-double")]: row,
|
|
61
61
|
[(0, _concat.default)(_context2 = "".concat(prefixCls, "-double-")).call(_context2, size)]: row
|
|
62
62
|
});
|
|
63
|
-
const childrenList = data && data.length ? (0, _map.default)(data).call(data, item => (0, _isPlainObject2.default)(item) ? /*#__PURE__*/_react.default.createElement(_item.default, (0, _assign.default)({
|
|
64
|
-
key: item.key,
|
|
63
|
+
const childrenList = data && data.length ? (0, _map.default)(data).call(data, (item, index) => (0, _isPlainObject2.default)(item) ? /*#__PURE__*/_react.default.createElement(_item.default, (0, _assign.default)({
|
|
65
64
|
itemKey: item.key
|
|
66
|
-
}, item
|
|
65
|
+
}, item, {
|
|
66
|
+
key: index
|
|
67
|
+
}), item.value) : null) : children;
|
|
67
68
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
68
69
|
className: classNames,
|
|
69
70
|
style: style
|
|
@@ -7,7 +7,7 @@ export interface DescriptionsItemProps {
|
|
|
7
7
|
className?: string;
|
|
8
8
|
children?: React.ReactNode | undefined | (() => React.ReactNode);
|
|
9
9
|
style?: React.CSSProperties;
|
|
10
|
-
itemKey
|
|
10
|
+
itemKey?: React.ReactNode;
|
|
11
11
|
}
|
|
12
12
|
export default class Item extends PureComponent<DescriptionsItemProps> {
|
|
13
13
|
static propTypes: {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import '@douyinfe/semi-foundation/lib/cjs/divider/divider.css';
|
|
3
|
+
export interface DividerProps {
|
|
4
|
+
/** The position of title inside divider */
|
|
5
|
+
align?: 'left' | 'right' | 'center';
|
|
6
|
+
/** space between divider and surroundings **/
|
|
7
|
+
margin?: number | string;
|
|
8
|
+
/** The wrapped title */
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
/** Style class name */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** Whether line is dashed */
|
|
13
|
+
dashed?: boolean;
|
|
14
|
+
/** The direction type of divider */
|
|
15
|
+
layout?: 'horizontal' | 'vertical';
|
|
16
|
+
/** Divider inline style */
|
|
17
|
+
style?: CSSProperties;
|
|
18
|
+
}
|
|
19
|
+
declare const Divider: React.FC<DividerProps>;
|
|
20
|
+
export default Divider;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
exports.default = void 0;
|
|
12
|
+
|
|
13
|
+
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
|
|
14
|
+
|
|
15
|
+
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
16
|
+
|
|
17
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
18
|
+
|
|
19
|
+
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
20
|
+
|
|
21
|
+
var _react = _interopRequireDefault(require("react"));
|
|
22
|
+
|
|
23
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
24
|
+
|
|
25
|
+
var _constants = require("@douyinfe/semi-foundation/lib/cjs/divider/constants");
|
|
26
|
+
|
|
27
|
+
require("@douyinfe/semi-foundation/lib/cjs/divider/divider.css");
|
|
28
|
+
|
|
29
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
30
|
+
var t = {};
|
|
31
|
+
|
|
32
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && (0, _indexOf.default)(e).call(e, p) < 0) t[p] = s[p];
|
|
33
|
+
|
|
34
|
+
if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
|
|
35
|
+
if ((0, _indexOf.default)(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
36
|
+
}
|
|
37
|
+
return t;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const prefixCls = _constants.cssClasses.PREFIX;
|
|
41
|
+
|
|
42
|
+
const Divider = props => {
|
|
43
|
+
var _context;
|
|
44
|
+
|
|
45
|
+
const {
|
|
46
|
+
layout = 'horizontal',
|
|
47
|
+
dashed,
|
|
48
|
+
align = 'center',
|
|
49
|
+
className,
|
|
50
|
+
margin,
|
|
51
|
+
style,
|
|
52
|
+
children
|
|
53
|
+
} = props,
|
|
54
|
+
rest = __rest(props, ["layout", "dashed", "align", "className", "margin", "style", "children"]);
|
|
55
|
+
|
|
56
|
+
const dividerClassNames = (0, _classnames.default)("".concat(prefixCls, "-divider"), className, {
|
|
57
|
+
["".concat(prefixCls, "-divider-horizontal")]: layout === 'horizontal',
|
|
58
|
+
["".concat(prefixCls, "-divider-vertical")]: layout === 'vertical',
|
|
59
|
+
["".concat(prefixCls, "-divider-dashed")]: !!dashed,
|
|
60
|
+
["".concat(prefixCls, "-divider-with-text")]: children && layout === 'horizontal',
|
|
61
|
+
[(0, _concat.default)(_context = "".concat(prefixCls, "-divider-with-text-")).call(_context, align)]: children && layout === 'horizontal'
|
|
62
|
+
});
|
|
63
|
+
let overrideDefaultStyle = {};
|
|
64
|
+
|
|
65
|
+
if (margin !== undefined) {
|
|
66
|
+
if (layout === 'vertical') {
|
|
67
|
+
overrideDefaultStyle = {
|
|
68
|
+
'marginLeft': margin,
|
|
69
|
+
'marginRight': margin
|
|
70
|
+
};
|
|
71
|
+
} else if (layout === 'horizontal') {
|
|
72
|
+
overrideDefaultStyle = {
|
|
73
|
+
'marginTop': margin,
|
|
74
|
+
'marginBottom': margin
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({}, rest, {
|
|
80
|
+
className: dividerClassNames,
|
|
81
|
+
style: (0, _assign.default)((0, _assign.default)({}, overrideDefaultStyle), style)
|
|
82
|
+
}), children && layout === 'horizontal' ? typeof children === 'string' ? /*#__PURE__*/_react.default.createElement("span", {
|
|
83
|
+
className: "".concat(prefixCls, "-divider_inner-text")
|
|
84
|
+
}, children) : children : null);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
var _default = Divider;
|
|
88
|
+
exports.default = _default;
|
|
@@ -21,7 +21,7 @@ declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
|
|
|
21
21
|
onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
22
22
|
initValues: PropTypes.Requireable<object>;
|
|
23
23
|
getFormApi: PropTypes.Requireable<(...args: any[]) => any>;
|
|
24
|
-
component: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
24
|
+
component: PropTypes.Requireable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>;
|
|
25
25
|
render: PropTypes.Requireable<(...args: any[]) => any>;
|
|
26
26
|
validateFields: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
27
|
style: PropTypes.Requireable<object>;
|
|
@@ -14,7 +14,7 @@ export interface ErrorMessageProps {
|
|
|
14
14
|
}
|
|
15
15
|
export default class ErrorMessage extends PureComponent<ErrorMessageProps> {
|
|
16
16
|
static propTypes: {
|
|
17
|
-
error: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
17
|
+
error: PropTypes.Requireable<any[] | PropTypes.ReactNodeLike>;
|
|
18
18
|
className: PropTypes.Requireable<string>;
|
|
19
19
|
style: PropTypes.Requireable<object>;
|
|
20
20
|
validateStatus: PropTypes.Requireable<string>;
|
|
@@ -31,7 +31,7 @@ declare class IconButton extends PureComponent<IconButtonProps> {
|
|
|
31
31
|
style: PropTypes.Requireable<object>;
|
|
32
32
|
loading: PropTypes.Requireable<boolean>;
|
|
33
33
|
prefixCls: PropTypes.Requireable<string>;
|
|
34
|
-
icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
34
|
+
icon: PropTypes.Requireable<object | PropTypes.ReactNodeLike>;
|
|
35
35
|
iconSize: PropTypes.Requireable<string>;
|
|
36
36
|
noHorizontalPadding: PropTypes.Requireable<string | boolean | any[]>;
|
|
37
37
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|