@douyinfe/semi-ui 2.11.0-beta.1 → 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.
Files changed (119) hide show
  1. package/anchor/link.tsx +2 -2
  2. package/autoComplete/index.tsx +3 -3
  3. package/avatar/interface.ts +2 -2
  4. package/badge/index.tsx +1 -1
  5. package/banner/index.tsx +4 -4
  6. package/breadcrumb/bread-context.tsx +1 -1
  7. package/card/cardGroup.tsx +1 -1
  8. package/card/index.tsx +1 -1
  9. package/cascader/index.tsx +4 -4
  10. package/collapse/index.tsx +1 -1
  11. package/collapse/item.tsx +1 -1
  12. package/collapsible/index.tsx +1 -1
  13. package/descriptions/item.tsx +1 -1
  14. package/dist/umd/semi-ui.js +27 -22
  15. package/dist/umd/semi-ui.js.map +1 -1
  16. package/dist/umd/semi-ui.min.js +1 -1
  17. package/dist/umd/semi-ui.min.js.map +1 -1
  18. package/empty/index.tsx +1 -1
  19. package/form/errorMessage.tsx +1 -1
  20. package/form/interface.ts +1 -1
  21. package/form/label.tsx +1 -1
  22. package/form/section.tsx +2 -2
  23. package/form/slot.tsx +1 -1
  24. package/layout/Sider.tsx +1 -1
  25. package/lib/cjs/anchor/link.d.ts +2 -2
  26. package/lib/cjs/autoComplete/index.d.ts +1 -1
  27. package/lib/cjs/autoComplete/index.js +1 -1
  28. package/lib/cjs/avatar/interface.d.ts +2 -2
  29. package/lib/cjs/badge/index.d.ts +1 -1
  30. package/lib/cjs/banner/index.d.ts +4 -4
  31. package/lib/cjs/breadcrumb/bread-context.d.ts +1 -1
  32. package/lib/cjs/card/cardGroup.d.ts +1 -1
  33. package/lib/cjs/card/index.d.ts +1 -1
  34. package/lib/cjs/cascader/index.d.ts +1 -1
  35. package/lib/cjs/collapse/index.d.ts +1 -1
  36. package/lib/cjs/collapse/item.d.ts +1 -1
  37. package/lib/cjs/collapsible/index.d.ts +1 -1
  38. package/lib/cjs/descriptions/item.d.ts +1 -1
  39. package/lib/cjs/empty/index.d.ts +1 -1
  40. package/lib/cjs/form/errorMessage.d.ts +1 -1
  41. package/lib/cjs/form/interface.d.ts +1 -1
  42. package/lib/cjs/form/label.d.ts +1 -1
  43. package/lib/cjs/form/section.d.ts +2 -2
  44. package/lib/cjs/form/slot.d.ts +1 -1
  45. package/lib/cjs/layout/Sider.d.ts +1 -1
  46. package/lib/cjs/list/index.d.ts +1 -1
  47. package/lib/cjs/list/item.d.ts +1 -1
  48. package/lib/cjs/modal/Modal.d.ts +5 -5
  49. package/lib/cjs/modal/ModalContent.d.ts +1 -1
  50. package/lib/cjs/modal/confirm.d.ts +4 -2
  51. package/lib/cjs/modal/useModal/index.d.ts +16 -23
  52. package/lib/cjs/navigation/Footer.d.ts +1 -1
  53. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  54. package/lib/cjs/select/index.d.ts +1 -1
  55. package/lib/cjs/select/index.js +27 -24
  56. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -1
  57. package/lib/cjs/table/HeadTable.d.ts +2 -1
  58. package/lib/cjs/table/HeadTable.js +2 -1
  59. package/lib/cjs/table/Table.js +2 -0
  60. package/lib/cjs/table/interface.d.ts +1 -1
  61. package/lib/cjs/timeline/index.d.ts +1 -1
  62. package/lib/cjs/timeline/item.d.ts +1 -1
  63. package/lib/es/anchor/link.d.ts +2 -2
  64. package/lib/es/autoComplete/index.d.ts +1 -1
  65. package/lib/es/autoComplete/index.js +1 -1
  66. package/lib/es/avatar/interface.d.ts +2 -2
  67. package/lib/es/badge/index.d.ts +1 -1
  68. package/lib/es/banner/index.d.ts +4 -4
  69. package/lib/es/breadcrumb/bread-context.d.ts +1 -1
  70. package/lib/es/card/cardGroup.d.ts +1 -1
  71. package/lib/es/card/index.d.ts +1 -1
  72. package/lib/es/cascader/index.d.ts +1 -1
  73. package/lib/es/collapse/index.d.ts +1 -1
  74. package/lib/es/collapse/item.d.ts +1 -1
  75. package/lib/es/collapsible/index.d.ts +1 -1
  76. package/lib/es/descriptions/item.d.ts +1 -1
  77. package/lib/es/empty/index.d.ts +1 -1
  78. package/lib/es/form/errorMessage.d.ts +1 -1
  79. package/lib/es/form/interface.d.ts +1 -1
  80. package/lib/es/form/label.d.ts +1 -1
  81. package/lib/es/form/section.d.ts +2 -2
  82. package/lib/es/form/slot.d.ts +1 -1
  83. package/lib/es/layout/Sider.d.ts +1 -1
  84. package/lib/es/list/index.d.ts +1 -1
  85. package/lib/es/list/item.d.ts +1 -1
  86. package/lib/es/modal/Modal.d.ts +5 -5
  87. package/lib/es/modal/ModalContent.d.ts +1 -1
  88. package/lib/es/modal/confirm.d.ts +4 -2
  89. package/lib/es/modal/confirm.js +1 -1
  90. package/lib/es/modal/useModal/index.d.ts +16 -23
  91. package/lib/es/navigation/Footer.d.ts +1 -1
  92. package/lib/es/radio/radioGroup.d.ts +1 -1
  93. package/lib/es/select/index.d.ts +1 -1
  94. package/lib/es/select/index.js +23 -21
  95. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -1
  96. package/lib/es/table/HeadTable.d.ts +2 -1
  97. package/lib/es/table/HeadTable.js +2 -1
  98. package/lib/es/table/Table.js +2 -0
  99. package/lib/es/table/interface.d.ts +1 -1
  100. package/lib/es/timeline/index.d.ts +1 -1
  101. package/lib/es/timeline/item.d.ts +1 -1
  102. package/list/index.tsx +1 -1
  103. package/list/item.tsx +1 -1
  104. package/modal/Modal.tsx +7 -7
  105. package/modal/ModalContent.tsx +1 -1
  106. package/modal/confirm.tsx +10 -11
  107. package/modal/useModal/index.tsx +9 -1
  108. package/navigation/Footer.tsx +2 -2
  109. package/package.json +9 -9
  110. package/radio/radioGroup.tsx +1 -1
  111. package/select/index.tsx +4 -2
  112. package/sideSheet/SideSheetContent.tsx +1 -1
  113. package/table/HeadTable.tsx +3 -1
  114. package/table/Table.tsx +2 -0
  115. package/table/_story/v2/FixedOnHeaderRow/index.jsx +134 -0
  116. package/table/_story/v2/index.js +2 -1
  117. package/table/interface.ts +1 -1
  118. package/timeline/index.tsx +1 -1
  119. package/timeline/item.tsx +1 -1
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Fixed, TableComponents, Scroll, BodyScrollEvent, ColumnProps } from './interface';
2
+ import { Fixed, TableComponents, Scroll, BodyScrollEvent, ColumnProps, OnHeaderRow } from './interface';
3
3
  export interface HeadTableProps {
4
4
  [x: string]: any;
5
5
  anyColumnFixed?: boolean;
@@ -15,6 +15,7 @@ export interface HeadTableProps {
15
15
  selectedRowKeysSet: Set<any>;
16
16
  showHeader?: boolean;
17
17
  onDidUpdate?: (ref: React.MutableRefObject<any>) => void;
18
+ onHeaderRow?: OnHeaderRow<any>;
18
19
  }
19
20
  declare const _default: React.ForwardRefExoticComponent<Pick<HeadTableProps, keyof HeadTableProps> & React.RefAttributes<HTMLDivElement>>;
20
21
  export default _default;
@@ -116,7 +116,8 @@ HeadTable.propTypes = {
116
116
  }),
117
117
  selectedRowKeysSet: _propTypes.default.instanceOf(_set.default).isRequired,
118
118
  showHeader: _propTypes.default.bool,
119
- onDidUpdate: _propTypes.default.func
119
+ onDidUpdate: _propTypes.default.func,
120
+ onHeaderRow: _propTypes.default.func
120
121
  };
121
122
  HeadTable.defaultProps = {
122
123
  handleBodyScroll: _noop2.default
@@ -718,6 +718,7 @@ class Table extends _baseComponent.default {
718
718
  components,
719
719
  headerRef,
720
720
  bodyRef,
721
+ onHeaderRow,
721
722
  rowSelection,
722
723
  dataSource,
723
724
  bodyHasScrollBar,
@@ -736,6 +737,7 @@ class Table extends _baseComponent.default {
736
737
  scroll: scroll,
737
738
  showHeader: showHeader,
738
739
  selectedRowKeysSet: selectedRowKeysSet,
740
+ onHeaderRow: onHeaderRow,
739
741
  dataSource: dataSource,
740
742
  bodyHasScrollBar: bodyHasScrollBar
741
743
  }) : null;
@@ -211,7 +211,7 @@ export declare type GetCheckboxProps<RecordType> = (record: RecordType) => Check
211
211
  export declare type RowSelectionOnChange<RecordType> = (selectedRowKeys?: (string | number)[], selectedRows?: RecordType[]) => void;
212
212
  export declare type RowSelectionOnSelect<RecordType> = (record?: RecordType, selected?: boolean, selectedRows?: RecordType[], nativeEvent?: React.MouseEvent) => void;
213
213
  export declare type RowSelectionOnSelectAll<RecordType> = (selected?: boolean, selectedRows?: RecordType[], changedRows?: RecordType[]) => void;
214
- export declare type ExpandIcon = ((expanded?: boolean) => React.ReactNode) | React.ReactNode | boolean;
214
+ export declare type ExpandIcon = ((expanded?: boolean) => React.ReactNode) | React.ReactNode;
215
215
  export declare type ExpandedRowRender<RecordType> = (record?: RecordType, index?: number, expanded?: boolean) => React.ReactNode;
216
216
  export declare type Footer<RecordType> = ReactNode | ((pageData?: RecordType[]) => React.ReactNode);
217
217
  export declare type FormatPageText = ((pageInfo?: {
@@ -11,7 +11,7 @@ export interface TimelineProps extends Pick<React.AriaAttributes, 'aria-label'>
11
11
  className?: string;
12
12
  style?: React.CSSProperties;
13
13
  dataSource?: Data[];
14
- children?: React.ReactNode | undefined;
14
+ children?: React.ReactNode;
15
15
  }
16
16
  declare class Timeline extends PureComponent<TimelineProps> {
17
17
  static contextType: React.Context<import("../configProvider/context").ContextValue>;
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/cjs/timeline/timeline.css';
4
4
  export interface TimelineItemProps {
5
5
  color?: string;
6
- children?: React.ReactNode | undefined;
6
+ children?: React.ReactNode;
7
7
  time?: React.ReactNode;
8
8
  type?: 'default' | 'ongoing' | 'success' | 'warning' | 'error';
9
9
  dot?: React.ReactNode;
@@ -5,9 +5,9 @@ import LinkFoundation, { LinkAdapter } from '@douyinfe/semi-foundation/lib/es/an
5
5
  import { AnchorContextType } from './anchor-context';
6
6
  export interface LinkProps {
7
7
  href?: string;
8
- title?: string | React.ReactNode;
8
+ title?: ReactNode;
9
9
  className?: string;
10
- children?: ReactNode | undefined;
10
+ children?: ReactNode;
11
11
  style?: React.CSSProperties;
12
12
  disabled?: boolean;
13
13
  }
@@ -36,7 +36,7 @@ export interface AutoCompleteProps<T extends AutoCompleteItems> {
36
36
  dropdownMatchSelectWidth?: boolean;
37
37
  dropdownClassName?: string;
38
38
  dropdownStyle?: React.CSSProperties;
39
- emptyContent?: React.ReactNode | null;
39
+ emptyContent?: React.ReactNode;
40
40
  getPopupContainer?: () => HTMLElement;
41
41
  insetLabel?: React.ReactNode;
42
42
  insetLabelId?: string;
@@ -65,7 +65,7 @@ class AutoComplete extends BaseComponent {
65
65
  this.triggerRef = /*#__PURE__*/React.createRef();
66
66
  this.optionsRef = /*#__PURE__*/React.createRef();
67
67
  this.clickOutsideHandler = null;
68
- warning('triggerRender' in this.props && typeof this.props.triggerRender === 'function', "[Semi AutoComplete] \n - If you are using the following props: 'suffix', 'prefix', 'showClear', 'validateStatus', and 'size', \n please notice that they will be removed in the next major version.\n Please use 'componentProps' to retrieve these props instead.\n - If you are using 'onBlur', 'onFocus', please try to avoid using them and look for changes in the future.");
68
+ warning('triggerRender' in this.props && typeof this.props.triggerRender === 'function', "[Semi AutoComplete]\n - If you are using the following props: 'suffix', 'prefix', 'showClear', 'validateStatus', and 'size',\n please notice that they will be removed in the next major version.\n Please use 'componentProps' to retrieve these props instead.\n - If you are using 'onBlur', 'onFocus', please try to avoid using them and look for changes in the future.");
69
69
  }
70
70
 
71
71
  get adapter() {
@@ -4,7 +4,7 @@ export declare type AvatarShape = 'circle' | 'square';
4
4
  export declare type AvatarSize = 'extra-extra-small' | 'extra-small' | 'small' | 'default' | 'medium' | 'large' | 'extra-large';
5
5
  export declare type AvatarColor = 'amber' | 'blue' | 'cyan' | 'green' | 'grey' | 'indigo' | 'light-blue' | 'light-green' | 'lime' | 'orange' | 'pink' | 'purple' | 'red' | 'teal' | 'violet' | 'yellow';
6
6
  export interface AvatarProps extends BaseProps {
7
- children?: React.ReactNode | undefined;
7
+ children?: React.ReactNode;
8
8
  color?: AvatarColor;
9
9
  shape?: AvatarShape;
10
10
  size?: AvatarSize;
@@ -22,7 +22,7 @@ export declare type AvatarGroupShape = 'circle' | 'square';
22
22
  export declare type AvatarGroupSize = 'extra-extra-small' | 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';
23
23
  export declare type AvatarGroupOverlapFrom = 'start' | 'end';
24
24
  export interface AvatarGroupProps {
25
- children?: React.ReactNode | undefined;
25
+ children?: React.ReactNode;
26
26
  shape?: AvatarGroupShape;
27
27
  size?: AvatarGroupSize;
28
28
  overlapFrom?: AvatarGroupOverlapFrom;
@@ -17,7 +17,7 @@ export interface BadgeProps {
17
17
  onMouseEnter?: (e: React.MouseEvent) => any;
18
18
  onMouseLeave?: (e: React.MouseEvent) => any;
19
19
  onClick?: (e: React.MouseEvent) => any;
20
- children?: React.ReactNode | undefined;
20
+ children?: React.ReactNode;
21
21
  }
22
22
  export default class Badge extends PureComponent<BadgeProps> {
23
23
  static contextType: React.Context<ContextValue>;
@@ -7,15 +7,15 @@ export declare type Type = 'info' | 'danger' | 'warning' | 'success';
7
7
  export interface BannerProps {
8
8
  type?: Type;
9
9
  className?: string;
10
- children?: React.ReactNode | undefined;
10
+ children?: React.ReactNode;
11
11
  fullMode?: boolean;
12
12
  title?: React.ReactNode;
13
13
  description?: React.ReactNode;
14
- icon?: string | React.ReactNode;
15
- closeIcon?: string | React.ReactNode;
14
+ icon?: React.ReactNode;
15
+ closeIcon?: React.ReactNode;
16
16
  style?: React.CSSProperties;
17
17
  bordered?: boolean;
18
- onClose?: (e: React.MouseEvent) => void;
18
+ onClose?(e: React.MouseEvent): void;
19
19
  }
20
20
  export interface BannerState {
21
21
  visible: boolean;
@@ -5,7 +5,7 @@ export interface BreadContextType {
5
5
  onClick?: (info: BreadcrumbItemInfo, event: React.MouseEvent) => void;
6
6
  showTooltip?: boolean | showToolTipProps;
7
7
  compact?: boolean;
8
- separator?: string | React.ReactNode;
8
+ separator?: React.ReactNode;
9
9
  }
10
10
  declare const BreadContext: React.Context<BreadContextType>;
11
11
  export default BreadContext;
@@ -4,7 +4,7 @@ export declare type CardGroupType = 'grid';
4
4
  export interface CardGroupProps {
5
5
  /** Card group style class name */
6
6
  className?: string;
7
- children?: React.ReactNode | undefined;
7
+ children?: React.ReactNode;
8
8
  /** Card Spacing */
9
9
  spacing?: number | number[];
10
10
  /** Card group inline style */
@@ -14,7 +14,7 @@ export interface CardProps {
14
14
  bordered?: boolean;
15
15
  /** Style class name */
16
16
  className?: string;
17
- children?: React.ReactNode | undefined;
17
+ children?: React.ReactNode;
18
18
  /** Cover */
19
19
  cover?: ReactNode;
20
20
  /** Additional additions to the right of the title */
@@ -33,7 +33,7 @@ export interface CascaderProps extends BasicCascaderProps {
33
33
  motion?: Motion;
34
34
  treeData?: Array<CascaderData>;
35
35
  restTagsPopoverProps?: PopoverProps;
36
- children?: React.ReactNode | undefined;
36
+ children?: React.ReactNode;
37
37
  value?: Value;
38
38
  prefix?: ReactNode;
39
39
  suffix?: ReactNode;
@@ -9,7 +9,7 @@ export { CollapsePanelProps } from './item';
9
9
  export interface CollapseReactProps extends CollapseProps {
10
10
  expandIcon?: React.ReactNode;
11
11
  collapseIcon?: React.ReactNode;
12
- children?: React.ReactNode | undefined;
12
+ children?: React.ReactNode;
13
13
  style?: CSSProperties;
14
14
  onChange?: (activeKey: CollapseProps['activeKey'], e: React.MouseEvent) => void;
15
15
  }
@@ -6,7 +6,7 @@ export interface CollapsePanelProps {
6
6
  extra?: ReactNode;
7
7
  header?: ReactNode;
8
8
  className?: string;
9
- children?: React.ReactNode | undefined;
9
+ children?: React.ReactNode;
10
10
  reCalcKey?: number | string;
11
11
  style?: CSSProperties;
12
12
  }
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { Motion } from '../_base/base';
4
4
  export interface CollapsibleProps {
5
5
  motion?: Motion;
6
- children?: React.ReactNode | undefined;
6
+ children?: React.ReactNode;
7
7
  isOpen?: boolean;
8
8
  duration?: number;
9
9
  keepDOM?: boolean;
@@ -5,7 +5,7 @@ import { DescriptionsContextValue } from './descriptions-context';
5
5
  export interface DescriptionsItemProps {
6
6
  hidden?: boolean;
7
7
  className?: string;
8
- children?: React.ReactNode | undefined | (() => React.ReactNode);
8
+ children?: React.ReactNode | (() => React.ReactNode);
9
9
  style?: React.CSSProperties;
10
10
  itemKey?: React.ReactNode;
11
11
  }
@@ -17,7 +17,7 @@ export interface EmptyProps {
17
17
  darkModeImage?: React.ReactNode | SVGNode;
18
18
  style?: React.CSSProperties;
19
19
  className?: string;
20
- children?: React.ReactNode | undefined;
20
+ children?: React.ReactNode;
21
21
  }
22
22
  interface EmptyState {
23
23
  mode: any;
@@ -1,6 +1,6 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- export declare type ReactFieldError = boolean | string | Array<any> | React.ReactNode | undefined;
3
+ export declare type ReactFieldError = Array<any> | React.ReactNode;
4
4
  export interface ErrorMessageProps {
5
5
  error?: ReactFieldError;
6
6
  className?: string;
@@ -15,7 +15,7 @@ export declare type CommonFieldProps = {
15
15
  /** Field is required (except Form. Checkbox within the Group, Form. Radio) */
16
16
  field: string;
17
17
  /** The label text of the form control is the same name as the field by default when it is not passed */
18
- label?: string | LabelProps | React.ReactNode | number;
18
+ label?: LabelProps | React.ReactNode;
19
19
  labelPosition?: 'top' | 'left' | 'inset';
20
20
  labelAlign?: 'left' | 'right';
21
21
  labelWidth?: number | string;
@@ -15,7 +15,7 @@ export interface LabelProps {
15
15
  width?: number | string;
16
16
  style?: React.CSSProperties;
17
17
  className?: string;
18
- children?: React.ReactNode | undefined;
18
+ children?: React.ReactNode;
19
19
  extra?: React.ReactNode;
20
20
  }
21
21
  export default class Label extends PureComponent<LabelProps> {
@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
3
3
  export interface SectionProps {
4
4
  className?: string;
5
5
  style?: React.CSSProperties;
6
- text?: React.ReactNode | string;
7
- children?: React.ReactNode | undefined;
6
+ text?: React.ReactNode;
7
+ children?: React.ReactNode;
8
8
  }
9
9
  export default class Section extends PureComponent<SectionProps> {
10
10
  static propTypes: {
@@ -4,7 +4,7 @@ import { ErrorMessageProps } from './errorMessage';
4
4
  export interface SlotProps {
5
5
  className?: string;
6
6
  style?: React.CSSProperties;
7
- label?: LabelProps | React.ReactNode | number | string;
7
+ label?: LabelProps | React.ReactNode;
8
8
  noLabel?: boolean;
9
9
  labelPosition?: 'top' | 'left';
10
10
  error?: ErrorMessageProps;
@@ -13,7 +13,7 @@ export interface SiderProps {
13
13
  prefixCls?: string;
14
14
  style?: CSSProperties;
15
15
  className?: string;
16
- children?: React.ReactNode | undefined;
16
+ children?: React.ReactNode;
17
17
  breakpoint?: Array<keyof ResponsiveMap>;
18
18
  onBreakpoint?: (screen: keyof ResponsiveMap, match: boolean) => void;
19
19
  'aria-label'?: React.AriaAttributes['aria-label'];
@@ -8,7 +8,7 @@ export { ListItemProps } from './item';
8
8
  export interface ListProps<T> {
9
9
  style?: React.CSSProperties;
10
10
  className?: string;
11
- children?: React.ReactNode | undefined;
11
+ children?: React.ReactNode;
12
12
  bordered?: boolean;
13
13
  footer?: React.ReactNode;
14
14
  header?: React.ReactNode;
@@ -7,7 +7,7 @@ export interface ListItemProps {
7
7
  main?: React.ReactNode;
8
8
  align?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
9
9
  className?: string;
10
- children?: React.ReactNode | undefined;
10
+ children?: React.ReactNode;
11
11
  style?: React.CSSProperties;
12
12
  onClick?: React.MouseEventHandler<HTMLLIElement>;
13
13
  onRightClick?: React.MouseEventHandler<HTMLLIElement>;
@@ -10,7 +10,7 @@ export declare type ConfirmType = 'leftTop' | 'leftBottom' | 'rightTop' | 'right
10
10
  export declare type Directions = 'ltr' | 'rtl';
11
11
  export interface ModalReactProps extends ModalProps {
12
12
  cancelButtonProps?: ButtonProps;
13
- children?: React.ReactNode | undefined;
13
+ children?: React.ReactNode;
14
14
  okButtonProps?: ButtonProps;
15
15
  bodyStyle?: CSSProperties;
16
16
  maskStyle?: CSSProperties;
@@ -102,19 +102,19 @@ declare class Modal extends BaseComponent<ModalReactProps, ModalState> {
102
102
  static getScrollbarWidth(): number;
103
103
  static info: (props: ModalReactProps) => {
104
104
  destroy: () => void;
105
- update: (newConfig: import("./confirm").ConfirmProps) => void;
105
+ update: (newConfig: ModalReactProps) => void;
106
106
  };
107
107
  static success: (props: ModalReactProps) => {
108
108
  destroy: () => void;
109
- update: (newConfig: import("./confirm").ConfirmProps) => void;
109
+ update: (newConfig: ModalReactProps) => void;
110
110
  };
111
111
  static error: (props: ModalReactProps) => {
112
112
  destroy: () => void;
113
- update: (newConfig: import("./confirm").ConfirmProps) => void;
113
+ update: (newConfig: ModalReactProps) => void;
114
114
  };
115
115
  static warning: (props: ModalReactProps) => {
116
116
  destroy: () => void;
117
- update: (newConfig: import("./confirm").ConfirmProps) => void;
117
+ update: (newConfig: ModalReactProps) => void;
118
118
  };
119
119
  static confirm: (props: ModalReactProps) => {
120
120
  destroy: () => void;
@@ -4,7 +4,7 @@ import { ContextValue } from '../configProvider/context';
4
4
  import BaseComponent from '../_base/baseComponent';
5
5
  import ModalContentFoundation, { ModalContentAdapter, ModalContentProps, ModalContentState } from '@douyinfe/semi-foundation/lib/es/modal/modalContentFoundation';
6
6
  export interface ModalContentReactProps extends ModalContentProps {
7
- children?: React.ReactNode | undefined;
7
+ children?: React.ReactNode;
8
8
  }
9
9
  export default class ModalContent extends BaseComponent<ModalContentReactProps, ModalContentState> {
10
10
  static contextType: React.Context<ContextValue>;
@@ -4,9 +4,11 @@ import '@douyinfe/semi-foundation/lib/es/modal/modal.css';
4
4
  export interface ConfirmProps extends ModalReactProps {
5
5
  type: 'success' | 'info' | 'warning' | 'error' | 'confirm';
6
6
  }
7
- export default function confirm(props: ConfirmProps): {
7
+ export default function confirm<T>(props: ConfirmProps): {
8
8
  destroy: () => void;
9
- update: (newConfig: ConfirmProps) => void;
9
+ update: (newConfig: T extends {
10
+ type: Exclude<ConfirmProps['type'], 'confirm'>;
11
+ } ? ModalReactProps : ConfirmProps) => void;
10
12
  };
11
13
  export declare function withInfo(props: ModalReactProps): {
12
14
  cancelButtonProps?: import("../button").BaseButtonProps;
@@ -6,7 +6,7 @@ import ReactDOM from 'react-dom';
6
6
  import { destroyFns } from './Modal';
7
7
  import ConfirmModal from './ConfirmModal';
8
8
  import '@douyinfe/semi-foundation/lib/es/modal/modal.css';
9
- import { IconAlertTriangle, IconInfoCircle, IconTickCircle, IconHelpCircle, IconAlertCircle } from '@douyinfe/semi-icons';
9
+ import { IconAlertCircle, IconAlertTriangle, IconHelpCircle, IconInfoCircle, IconTickCircle } from '@douyinfe/semi-icons';
10
10
  export default function confirm(props) {
11
11
  // create a dom in adapter?
12
12
  const div = document.createElement('div');
@@ -1,25 +1,18 @@
1
- /// <reference types="react" />
1
+ import { ReactNode } from 'react';
2
2
  import { ConfirmProps } from '../confirm';
3
3
  import { ModalReactProps } from '../Modal';
4
- export default function useModal(): (JSX.Element | {
5
- info: (config: ModalReactProps) => {
6
- destroy: () => void;
7
- update: (newConfig: ConfirmProps) => void;
8
- };
9
- success: (config: ModalReactProps) => {
10
- destroy: () => void;
11
- update: (newConfig: ConfirmProps) => void;
12
- };
13
- error: (config: ModalReactProps) => {
14
- destroy: () => void;
15
- update: (newConfig: ConfirmProps) => void;
16
- };
17
- warning: (config: ModalReactProps) => {
18
- destroy: () => void;
19
- update: (newConfig: ConfirmProps) => void;
20
- };
21
- confirm: (config: ModalReactProps) => {
22
- destroy: () => void;
23
- update: (newConfig: ConfirmProps) => void;
24
- };
25
- })[];
4
+ declare type UseModalReturnHooksType = (config: ModalReactProps) => {
5
+ destroy: () => void;
6
+ update: (newConfig: ConfirmProps) => void;
7
+ };
8
+ export default function useModal(): [
9
+ {
10
+ info: UseModalReturnHooksType;
11
+ success: UseModalReturnHooksType;
12
+ error: UseModalReturnHooksType;
13
+ warning: UseModalReturnHooksType;
14
+ confirm: UseModalReturnHooksType;
15
+ },
16
+ ReactNode
17
+ ];
18
+ export {};
@@ -4,7 +4,7 @@ import '@douyinfe/semi-foundation/lib/es/navigation/navigation.css';
4
4
  import { NavContextType } from './nav-context';
5
5
  import { BaseProps } from '../_base/baseComponent';
6
6
  export interface NavFooterProps extends BaseProps {
7
- collapseButton?: React.ReactNode | boolean;
7
+ collapseButton?: React.ReactNode;
8
8
  collapseText?: (collapsed?: boolean) => React.ReactNode;
9
9
  }
10
10
  export default class NavFooter extends PureComponent<NavFooterProps> {
@@ -24,7 +24,7 @@ export declare type RadioGroupProps = {
24
24
  value?: string | number;
25
25
  onChange?: (event: RadioChangeEvent) => void;
26
26
  className?: string;
27
- children?: React.ReactNode | undefined;
27
+ children?: React.ReactNode;
28
28
  style?: React.CSSProperties;
29
29
  direction?: ArrayElement<typeof strings.DIRECTION_SET>;
30
30
  mode?: RadioMode;
@@ -19,7 +19,7 @@ declare type ExcludeInputType = {
19
19
  };
20
20
  export interface optionRenderProps {
21
21
  key?: any;
22
- label?: string | React.ReactNode | number;
22
+ label?: React.ReactNode;
23
23
  value?: string | number;
24
24
  style?: React.CSSProperties;
25
25
  className?: string;
@@ -4,7 +4,6 @@ import _noop from "lodash/noop";
4
4
  import _isString from "lodash/isString";
5
5
  import _isEqual from "lodash/isEqual";
6
6
  import _Map from "@babel/runtime-corejs3/core-js-stable/map";
7
- import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
8
7
  import _bindInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/bind";
9
8
  import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
10
9
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
@@ -13,6 +12,7 @@ import _Array$isArray from "@babel/runtime-corejs3/core-js-stable/array/is-array
13
12
  import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
14
13
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
15
14
  import _someInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/some";
15
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
16
16
  import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
17
17
  import _valuesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/values";
18
18
 
@@ -43,13 +43,14 @@ import Trigger from '../trigger';
43
43
  import { IconChevronDown, IconClear } from '@douyinfe/semi-icons';
44
44
  import { isSemiIcon } from '../_utils';
45
45
  import warning from '@douyinfe/semi-foundation/lib/es/utils/warning';
46
+ import { getUuidShort } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
46
47
  import '@douyinfe/semi-foundation/lib/es/select/select.css';
47
48
  const prefixcls = cssClasses.PREFIX;
48
49
  const key = 0; // Notes: Use the label of the option as the identifier, that is, the option in Select, the value is allowed to be the same, but the label must be unique
49
50
 
50
51
  class Select extends BaseComponent {
51
52
  constructor(props) {
52
- var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8;
53
+ var _context, _context2, _context3, _context4, _context5, _context6, _context7;
53
54
 
54
55
  super(props);
55
56
 
@@ -71,19 +72,19 @@ class Select extends BaseComponent {
71
72
  };
72
73
  /* Generate random string */
73
74
 
74
- this.selectOptionListID = _sliceInstanceProperty(_context = Math.random().toString(36)).call(_context, 2);
75
+ this.selectOptionListID = '';
75
76
  this.virtualizeListRef = /*#__PURE__*/React.createRef();
76
77
  this.inputRef = /*#__PURE__*/React.createRef();
77
78
  this.triggerRef = /*#__PURE__*/React.createRef();
78
79
  this.optionsRef = /*#__PURE__*/React.createRef();
79
80
  this.clickOutsideHandler = null;
80
- this.onSelect = _bindInstanceProperty(_context2 = this.onSelect).call(_context2, this);
81
- this.onClear = _bindInstanceProperty(_context3 = this.onClear).call(_context3, this);
82
- this.onMouseEnter = _bindInstanceProperty(_context4 = this.onMouseEnter).call(_context4, this);
83
- this.onMouseLeave = _bindInstanceProperty(_context5 = this.onMouseLeave).call(_context5, this);
84
- this.renderOption = _bindInstanceProperty(_context6 = this.renderOption).call(_context6, this);
85
- this.onKeyPress = _bindInstanceProperty(_context7 = this.onKeyPress).call(_context7, this);
86
- this.onClearBtnEnterPress = _bindInstanceProperty(_context8 = this.onClearBtnEnterPress).call(_context8, this);
81
+ this.onSelect = _bindInstanceProperty(_context = this.onSelect).call(_context, this);
82
+ this.onClear = _bindInstanceProperty(_context2 = this.onClear).call(_context2, this);
83
+ this.onMouseEnter = _bindInstanceProperty(_context3 = this.onMouseEnter).call(_context3, this);
84
+ this.onMouseLeave = _bindInstanceProperty(_context4 = this.onMouseLeave).call(_context4, this);
85
+ this.renderOption = _bindInstanceProperty(_context5 = this.renderOption).call(_context5, this);
86
+ this.onKeyPress = _bindInstanceProperty(_context6 = this.onKeyPress).call(_context6, this);
87
+ this.onClearBtnEnterPress = _bindInstanceProperty(_context7 = this.onClearBtnEnterPress).call(_context7, this);
87
88
  this.foundation = new SelectFoundation(this.adapter);
88
89
  warning('optionLabelProp' in this.props, '[Semi Select] \'optionLabelProp\' has already been deprecated, please use \'renderSelectedItem\' instead.');
89
90
  warning('labelInValue' in this.props, '[Semi Select] \'labelInValue\' has already been deprecated, please use \'onChangeWithObject\' instead.');
@@ -286,18 +287,18 @@ class Select extends BaseComponent {
286
287
  } catch (error) {}
287
288
  },
288
289
  updateScrollTop: index => {
289
- var _context10, _context11;
290
+ var _context9, _context10;
290
291
 
291
292
  // eslint-disable-next-line max-len
292
293
  let optionClassName = ".".concat(prefixcls, "-option-selected");
293
294
 
294
295
  if (index !== undefined) {
295
- var _context9;
296
+ var _context8;
296
297
 
297
- optionClassName = _concatInstanceProperty(_context9 = ".".concat(prefixcls, "-option:nth-child(")).call(_context9, index, ")");
298
+ optionClassName = _concatInstanceProperty(_context8 = ".".concat(prefixcls, "-option:nth-child(")).call(_context8, index, ")");
298
299
  }
299
300
 
300
- let destNode = document.querySelector(_concatInstanceProperty(_context10 = _concatInstanceProperty(_context11 = "#".concat(prefixcls, "-")).call(_context11, this.selectOptionListID, " ")).call(_context10, optionClassName));
301
+ let destNode = document.querySelector(_concatInstanceProperty(_context9 = _concatInstanceProperty(_context10 = "#".concat(prefixcls, "-")).call(_context10, this.selectOptionListID, " ")).call(_context9, optionClassName));
301
302
 
302
303
  if (_Array$isArray(destNode)) {
303
304
  // eslint-disable-next-line prefer-destructuring
@@ -318,6 +319,7 @@ class Select extends BaseComponent {
318
319
 
319
320
  componentDidMount() {
320
321
  this.foundation.init();
322
+ this.selectOptionListID = getUuidShort();
321
323
  }
322
324
 
323
325
  componentWillUnmount() {
@@ -325,11 +327,11 @@ class Select extends BaseComponent {
325
327
  }
326
328
 
327
329
  componentDidUpdate(prevProps, prevState) {
328
- var _context12, _context13;
330
+ var _context11, _context12;
329
331
 
330
- const prevChildrenKeys = _mapInstanceProperty(_context12 = React.Children.toArray(prevProps.children)).call(_context12, child => child.key);
332
+ const prevChildrenKeys = _mapInstanceProperty(_context11 = React.Children.toArray(prevProps.children)).call(_context11, child => child.key);
331
333
 
332
- const nowChildrenKeys = _mapInstanceProperty(_context13 = React.Children.toArray(this.props.children)).call(_context13, child => child.key);
334
+ const nowChildrenKeys = _mapInstanceProperty(_context12 = React.Children.toArray(this.props.children)).call(_context12, child => child.key);
333
335
 
334
336
  let isOptionsChanged = false;
335
337
 
@@ -575,7 +577,7 @@ class Select extends BaseComponent {
575
577
  }
576
578
 
577
579
  renderOptions(children) {
578
- var _context14;
580
+ var _context13;
579
581
 
580
582
  const {
581
583
  dropdownMinWidth,
@@ -613,7 +615,7 @@ class Select extends BaseComponent {
613
615
  });
614
616
  const isEmpty = !options.length || !_someInstanceProperty(options).call(options, item => item._show);
615
617
  return /*#__PURE__*/React.createElement("div", {
616
- id: _concatInstanceProperty(_context14 = "".concat(prefixcls, "-")).call(_context14, this.selectOptionListID),
618
+ id: _concatInstanceProperty(_context13 = "".concat(prefixcls, "-")).call(_context13, this.selectOptionListID),
617
619
  className: dropdownClassName,
618
620
  style: style
619
621
  }, outerTopSlot, /*#__PURE__*/React.createElement("div", {
@@ -847,7 +849,7 @@ class Select extends BaseComponent {
847
849
  }
848
850
 
849
851
  renderSelection() {
850
- var _context15;
852
+ var _context14;
851
853
 
852
854
  const {
853
855
  disabled,
@@ -931,7 +933,7 @@ class Select extends BaseComponent {
931
933
  role: "combobox",
932
934
  "aria-disabled": disabled,
933
935
  "aria-expanded": isOpen,
934
- "aria-controls": _concatInstanceProperty(_context15 = "".concat(prefixcls, "-")).call(_context15, this.selectOptionListID),
936
+ "aria-controls": _concatInstanceProperty(_context14 = "".concat(prefixcls, "-")).call(_context14, this.selectOptionListID),
935
937
  "aria-haspopup": "listbox",
936
938
  "aria-label": "select value",
937
939
  "aria-invalid": this.props['aria-invalid'],
@@ -13,7 +13,7 @@ export interface SideSheetContentProps {
13
13
  style: CSSProperties;
14
14
  bodyStyle?: CSSProperties;
15
15
  className: string;
16
- children?: React.ReactNode | undefined;
16
+ children?: React.ReactNode;
17
17
  footer?: React.ReactNode;
18
18
  'aria-label'?: string;
19
19
  }