@douyinfe/semi-ui 2.10.2 → 2.11.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/link.tsx +2 -2
- package/autoComplete/index.tsx +3 -3
- package/avatar/interface.ts +2 -2
- package/badge/index.tsx +1 -1
- package/banner/index.tsx +4 -4
- package/breadcrumb/bread-context.tsx +1 -1
- package/card/cardGroup.tsx +1 -1
- package/card/index.tsx +1 -1
- package/cascader/index.tsx +4 -4
- package/checkbox/checkbox.tsx +16 -6
- package/collapse/index.tsx +1 -1
- package/collapse/item.tsx +1 -1
- package/collapsible/index.tsx +1 -1
- package/datePicker/_story/datePicker.stories.js +48 -1
- package/datePicker/_story/v2/AutoFillTime.jsx +37 -0
- package/datePicker/_story/v2/InputFormat.jsx +29 -0
- package/datePicker/_story/v2/InputFormatConfirm.jsx +44 -0
- package/datePicker/_story/v2/InputFormatDisabled.jsx +27 -0
- package/datePicker/_story/v2/index.js +4 -0
- package/datePicker/dateInput.tsx +7 -0
- package/datePicker/datePicker.tsx +7 -11
- package/datePicker/monthsGrid.tsx +2 -1
- package/descriptions/item.tsx +1 -1
- package/dist/umd/semi-ui.js +521 -197
- 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/empty/index.tsx +1 -1
- package/form/errorMessage.tsx +1 -1
- package/form/interface.ts +1 -1
- package/form/label.tsx +1 -1
- package/form/section.tsx +2 -2
- package/form/slot.tsx +1 -1
- package/layout/Sider.tsx +1 -1
- package/lib/cjs/anchor/link.d.ts +2 -2
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/autoComplete/index.js +1 -1
- package/lib/cjs/avatar/interface.d.ts +2 -2
- package/lib/cjs/badge/index.d.ts +1 -1
- package/lib/cjs/banner/index.d.ts +4 -4
- package/lib/cjs/breadcrumb/bread-context.d.ts +1 -1
- package/lib/cjs/card/cardGroup.d.ts +1 -1
- package/lib/cjs/card/index.d.ts +1 -1
- package/lib/cjs/cascader/index.d.ts +1 -1
- package/lib/cjs/checkbox/checkbox.d.ts +4 -0
- package/lib/cjs/checkbox/checkbox.js +23 -11
- package/lib/cjs/collapse/index.d.ts +1 -1
- package/lib/cjs/collapse/item.d.ts +1 -1
- package/lib/cjs/collapsible/index.d.ts +1 -1
- package/lib/cjs/datePicker/dateInput.d.ts +1 -0
- package/lib/cjs/datePicker/dateInput.js +5 -3
- package/lib/cjs/datePicker/datePicker.js +9 -12
- package/lib/cjs/datePicker/monthsGrid.js +2 -1
- package/lib/cjs/descriptions/item.d.ts +1 -1
- package/lib/cjs/empty/index.d.ts +1 -1
- package/lib/cjs/form/errorMessage.d.ts +1 -1
- package/lib/cjs/form/interface.d.ts +1 -1
- package/lib/cjs/form/label.d.ts +1 -1
- package/lib/cjs/form/section.d.ts +2 -2
- package/lib/cjs/form/slot.d.ts +1 -1
- package/lib/cjs/layout/Sider.d.ts +1 -1
- package/lib/cjs/list/index.d.ts +1 -1
- package/lib/cjs/list/item.d.ts +1 -1
- package/lib/cjs/modal/Modal.d.ts +5 -5
- package/lib/cjs/modal/ModalContent.d.ts +1 -1
- package/lib/cjs/modal/confirm.d.ts +4 -2
- package/lib/cjs/modal/useModal/index.d.ts +16 -23
- package/lib/cjs/navigation/Footer.d.ts +1 -1
- package/lib/cjs/radio/radio.d.ts +4 -0
- package/lib/cjs/radio/radio.js +26 -12
- package/lib/cjs/radio/radioGroup.d.ts +1 -1
- package/lib/cjs/select/index.d.ts +1 -1
- package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -1
- package/lib/cjs/table/interface.d.ts +1 -1
- package/lib/cjs/tag/group.d.ts +3 -3
- package/lib/cjs/timeline/index.d.ts +1 -1
- package/lib/cjs/timeline/item.d.ts +1 -1
- package/lib/cjs/tooltip/index.d.ts +1 -0
- package/lib/cjs/tooltip/index.js +6 -1
- package/lib/es/anchor/link.d.ts +2 -2
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/autoComplete/index.js +1 -1
- package/lib/es/avatar/interface.d.ts +2 -2
- package/lib/es/badge/index.d.ts +1 -1
- package/lib/es/banner/index.d.ts +4 -4
- package/lib/es/breadcrumb/bread-context.d.ts +1 -1
- package/lib/es/card/cardGroup.d.ts +1 -1
- package/lib/es/card/index.d.ts +1 -1
- package/lib/es/cascader/index.d.ts +1 -1
- package/lib/es/checkbox/checkbox.d.ts +4 -0
- package/lib/es/checkbox/checkbox.js +23 -11
- package/lib/es/collapse/index.d.ts +1 -1
- package/lib/es/collapse/item.d.ts +1 -1
- package/lib/es/collapsible/index.d.ts +1 -1
- package/lib/es/datePicker/dateInput.d.ts +1 -0
- package/lib/es/datePicker/dateInput.js +5 -3
- package/lib/es/datePicker/datePicker.js +9 -12
- package/lib/es/datePicker/monthsGrid.js +2 -1
- package/lib/es/descriptions/item.d.ts +1 -1
- package/lib/es/empty/index.d.ts +1 -1
- package/lib/es/form/errorMessage.d.ts +1 -1
- package/lib/es/form/interface.d.ts +1 -1
- package/lib/es/form/label.d.ts +1 -1
- package/lib/es/form/section.d.ts +2 -2
- package/lib/es/form/slot.d.ts +1 -1
- package/lib/es/layout/Sider.d.ts +1 -1
- package/lib/es/list/index.d.ts +1 -1
- package/lib/es/list/item.d.ts +1 -1
- package/lib/es/modal/Modal.d.ts +5 -5
- package/lib/es/modal/ModalContent.d.ts +1 -1
- package/lib/es/modal/confirm.d.ts +4 -2
- package/lib/es/modal/confirm.js +1 -1
- package/lib/es/modal/useModal/index.d.ts +16 -23
- package/lib/es/navigation/Footer.d.ts +1 -1
- package/lib/es/radio/radio.d.ts +4 -0
- package/lib/es/radio/radio.js +26 -12
- package/lib/es/radio/radioGroup.d.ts +1 -1
- package/lib/es/select/index.d.ts +1 -1
- package/lib/es/sideSheet/SideSheetContent.d.ts +1 -1
- package/lib/es/table/interface.d.ts +1 -1
- package/lib/es/tag/group.d.ts +3 -3
- package/lib/es/timeline/index.d.ts +1 -1
- package/lib/es/timeline/item.d.ts +1 -1
- package/lib/es/tooltip/index.d.ts +1 -0
- package/lib/es/tooltip/index.js +6 -1
- package/list/index.tsx +1 -1
- package/list/item.tsx +1 -1
- package/modal/Modal.tsx +7 -7
- package/modal/ModalContent.tsx +1 -1
- package/modal/confirm.tsx +10 -11
- package/modal/useModal/index.tsx +9 -1
- package/navigation/Footer.tsx +2 -2
- package/package.json +9 -9
- package/radio/radio.tsx +17 -7
- package/radio/radioGroup.tsx +1 -1
- package/select/index.tsx +8 -8
- package/sideSheet/SideSheetContent.tsx +1 -1
- package/table/interface.ts +1 -1
- package/tag/group.tsx +4 -4
- package/timeline/index.tsx +1 -1
- package/timeline/item.tsx +1 -1
- package/tooltip/index.tsx +5 -1
- package/treeSelect/index.tsx +1 -1
package/select/index.tsx
CHANGED
|
@@ -51,7 +51,7 @@ type ExcludeInputType = {
|
|
|
51
51
|
type OnChangeValueType = string | number | Record<string, any>;
|
|
52
52
|
export interface optionRenderProps {
|
|
53
53
|
key?: any;
|
|
54
|
-
label?:
|
|
54
|
+
label?: React.ReactNode;
|
|
55
55
|
value?: string | number;
|
|
56
56
|
style?: React.CSSProperties;
|
|
57
57
|
className?: string;
|
|
@@ -447,11 +447,11 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
447
447
|
let options = [];
|
|
448
448
|
const { optionList } = this.props;
|
|
449
449
|
if (optionList && optionList.length) {
|
|
450
|
-
options = optionList.map((itemOpt, index) => ({
|
|
451
|
-
_show: true,
|
|
452
|
-
_selected: false,
|
|
450
|
+
options = optionList.map((itemOpt, index) => ({
|
|
451
|
+
_show: true,
|
|
452
|
+
_selected: false,
|
|
453
453
|
_scrollIndex: index,
|
|
454
|
-
...itemOpt
|
|
454
|
+
...itemOpt
|
|
455
455
|
}));
|
|
456
456
|
optionGroups[0] = { children: options, label: '' };
|
|
457
457
|
} else {
|
|
@@ -773,7 +773,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
773
773
|
const groupContent = <OptionGroup {...parentGroup} key={parentGroup.label} />;
|
|
774
774
|
groupStatus.set(parentGroup.label, true);
|
|
775
775
|
content.push(groupContent);
|
|
776
|
-
}
|
|
776
|
+
}
|
|
777
777
|
content.push(optionContent);
|
|
778
778
|
});
|
|
779
779
|
|
|
@@ -901,7 +901,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
901
901
|
content: optionNode.label,
|
|
902
902
|
});
|
|
903
903
|
}
|
|
904
|
-
|
|
904
|
+
|
|
905
905
|
const mapItems = maxTagCount ? selectedItems.slice(0, maxTagCount) : selectedItems; // no need to render rest tag when maxTagCount is setting
|
|
906
906
|
|
|
907
907
|
const tags = mapItems.map((item, i) => {
|
|
@@ -948,7 +948,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
948
948
|
|
|
949
949
|
const NotOneLine = !maxTagCount; // Multiple lines (that is, do not set maxTagCount), do not use TagGroup, directly traverse with Tag, otherwise Input cannot follow the correct position
|
|
950
950
|
|
|
951
|
-
const tagContent = NotOneLine ? tags : <TagGroup tagList={tags} maxTagCount={n} restCount={maxTagCount ? selectedItems.length - maxTagCount : undefined} size="large" mode="custom" />;
|
|
951
|
+
const tagContent = NotOneLine ? tags : <TagGroup<"custom"> tagList={tags} maxTagCount={n} restCount={maxTagCount ? selectedItems.length - maxTagCount : undefined} size="large" mode="custom" />;
|
|
952
952
|
|
|
953
953
|
return (
|
|
954
954
|
<>
|
package/table/interface.ts
CHANGED
|
@@ -240,7 +240,7 @@ export type RowSelectionOnSelect<RecordType> = (
|
|
|
240
240
|
nativeEvent?: React.MouseEvent
|
|
241
241
|
) => void;
|
|
242
242
|
export type RowSelectionOnSelectAll<RecordType> = (selected?: boolean, selectedRows?: RecordType[], changedRows?: RecordType[]) => void;
|
|
243
|
-
export type ExpandIcon = ((expanded?: boolean) => React.ReactNode) | React.ReactNode
|
|
243
|
+
export type ExpandIcon = ((expanded?: boolean) => React.ReactNode) | React.ReactNode;
|
|
244
244
|
export type ExpandedRowRender<RecordType> = (record?: RecordType, index?: number, expanded?: boolean) => React.ReactNode;
|
|
245
245
|
export type Footer<RecordType> = ReactNode | ((pageData?: RecordType[]) => React.ReactNode);
|
|
246
246
|
export type FormatPageText = ((pageInfo?: { currentStart?: number; currentEnd?: number; total?: number }) => React.ReactNode) | boolean;
|
package/tag/group.tsx
CHANGED
|
@@ -10,12 +10,12 @@ const prefixCls = cssClasses.PREFIX;
|
|
|
10
10
|
const tagSize = strings.TAG_SIZE;
|
|
11
11
|
const avatarShapeSet = strings.AVATAR_SHAPE;
|
|
12
12
|
|
|
13
|
-
export interface TagGroupProps {
|
|
13
|
+
export interface TagGroupProps<T> {
|
|
14
14
|
style?: React.CSSProperties;
|
|
15
15
|
className?: string;
|
|
16
16
|
maxTagCount?: number;
|
|
17
17
|
restCount?: number;
|
|
18
|
-
tagList?: (
|
|
18
|
+
tagList?: (T extends 'custom' ? React.ReactNode : TagProps)[];
|
|
19
19
|
size?: 'small' | 'large';
|
|
20
20
|
showPopover?: boolean;
|
|
21
21
|
popoverProps?: PopoverProps;
|
|
@@ -23,7 +23,7 @@ export interface TagGroupProps {
|
|
|
23
23
|
mode?: string;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export default class TagGroup extends PureComponent<TagGroupProps
|
|
26
|
+
export default class TagGroup<T> extends PureComponent<TagGroupProps<T>> {
|
|
27
27
|
static defaultProps = {
|
|
28
28
|
style: {},
|
|
29
29
|
className: '',
|
|
@@ -84,7 +84,7 @@ export default class TagGroup extends PureComponent<TagGroupProps> {
|
|
|
84
84
|
let renderTags: (Tag | React.ReactNode)[] = tags;
|
|
85
85
|
|
|
86
86
|
const normalTags: (Tag | React.ReactNode)[] = tags.slice(0, maxTagCount);
|
|
87
|
-
const restTags = tags.slice(maxTagCount) as
|
|
87
|
+
const restTags = tags.slice(maxTagCount) as React.ReactNode;
|
|
88
88
|
let nTag = null;
|
|
89
89
|
if (n > 0) {
|
|
90
90
|
nTag = this.renderNTag(n, restTags);
|
package/timeline/index.tsx
CHANGED
|
@@ -17,7 +17,7 @@ export interface TimelineProps extends Pick<React.AriaAttributes, 'aria-label'>
|
|
|
17
17
|
className?: string;
|
|
18
18
|
style?: React.CSSProperties;
|
|
19
19
|
dataSource?: Data[];
|
|
20
|
-
children?: React.ReactNode
|
|
20
|
+
children?: React.ReactNode;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const prefixCls = cssClasses.PREFIX;
|
package/timeline/item.tsx
CHANGED
|
@@ -7,7 +7,7 @@ import '@douyinfe/semi-foundation/timeline/timeline.scss';
|
|
|
7
7
|
|
|
8
8
|
export interface TimelineItemProps {
|
|
9
9
|
color?: string;
|
|
10
|
-
children?: React.ReactNode
|
|
10
|
+
children?: React.ReactNode;
|
|
11
11
|
time?: React.ReactNode;
|
|
12
12
|
type?: 'default' | 'ongoing' | 'success' | 'warning' | 'error';
|
|
13
13
|
dot?: React.ReactNode;
|
package/tooltip/index.tsx
CHANGED
|
@@ -75,6 +75,7 @@ export interface TooltipProps extends BaseProps {
|
|
|
75
75
|
guardFocus?: boolean;
|
|
76
76
|
returnFocusOnClose?: boolean;
|
|
77
77
|
onEscKeyDown?: (e: React.KeyboardEvent) => void;
|
|
78
|
+
wrapperId?: string;
|
|
78
79
|
}
|
|
79
80
|
interface TooltipState {
|
|
80
81
|
visible: boolean;
|
|
@@ -193,7 +194,7 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
|
|
|
193
194
|
placement: props.position || 'top',
|
|
194
195
|
transitionStyle: {},
|
|
195
196
|
isPositionUpdated: false,
|
|
196
|
-
id:
|
|
197
|
+
id: props.wrapperId, // auto generate id, will be used by children.aria-describedby & content.id, improve a11y
|
|
197
198
|
};
|
|
198
199
|
this.foundation = new TooltipFoundation(this.adapter);
|
|
199
200
|
this.eventManager = new Event();
|
|
@@ -428,6 +429,9 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
|
|
|
428
429
|
},
|
|
429
430
|
notifyEscKeydown: (event: React.KeyboardEvent) => {
|
|
430
431
|
this.props.onEscKeyDown(event);
|
|
432
|
+
},
|
|
433
|
+
setId: () => {
|
|
434
|
+
this.setState({ id: getUuidShort() });
|
|
431
435
|
}
|
|
432
436
|
};
|
|
433
437
|
}
|
package/treeSelect/index.tsx
CHANGED
|
@@ -826,7 +826,7 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> {
|
|
|
826
826
|
const tagList = this.renderTagList();
|
|
827
827
|
// mode=custom to return tagList directly
|
|
828
828
|
return (
|
|
829
|
-
<TagGroup
|
|
829
|
+
<TagGroup<'custom'>
|
|
830
830
|
maxTagCount={maxTagCount}
|
|
831
831
|
tagList={tagList}
|
|
832
832
|
size="large"
|