@douyinfe/semi-ui 2.52.3 → 2.53.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 (127) hide show
  1. package/dist/umd/semi-ui.js +804 -273
  2. package/dist/umd/semi-ui.js.map +1 -1
  3. package/dist/umd/semi-ui.min.js +1 -1
  4. package/dist/umd/semi-ui.min.js.map +1 -1
  5. package/lib/cjs/_utils/index.d.ts +2 -0
  6. package/lib/cjs/_utils/index.js +77 -0
  7. package/lib/cjs/_utils/semi-global.d.ts +46 -0
  8. package/lib/cjs/_utils/semi-global.js +13 -0
  9. package/lib/cjs/autoComplete/index.d.ts +2 -25
  10. package/lib/cjs/autoComplete/index.js +4 -2
  11. package/lib/cjs/avatar/index.d.ts +2 -10
  12. package/lib/cjs/avatar/index.js +4 -2
  13. package/lib/cjs/backtop/index.d.ts +2 -5
  14. package/lib/cjs/backtop/index.js +4 -2
  15. package/lib/cjs/button/Button.d.ts +1 -1
  16. package/lib/cjs/button/index.d.ts +3 -1
  17. package/lib/cjs/button/index.js +3 -0
  18. package/lib/cjs/carousel/index.d.ts +2 -2
  19. package/lib/cjs/cascader/index.d.ts +2 -31
  20. package/lib/cjs/cascader/index.js +3 -2
  21. package/lib/cjs/collapse/index.d.ts +2 -7
  22. package/lib/cjs/collapse/index.js +4 -2
  23. package/lib/cjs/collapsible/index.d.ts +3 -9
  24. package/lib/cjs/collapsible/index.js +4 -2
  25. package/lib/cjs/configProvider/index.d.ts +2 -1
  26. package/lib/cjs/configProvider/index.js +5 -2
  27. package/lib/cjs/datePicker/datePicker.d.ts +2 -44
  28. package/lib/cjs/datePicker/datePicker.js +4 -2
  29. package/lib/cjs/dropdown/index.d.ts +2 -12
  30. package/lib/cjs/dropdown/index.js +4 -2
  31. package/lib/cjs/form/arrayField.js +3 -3
  32. package/lib/cjs/modal/Modal.d.ts +2 -20
  33. package/lib/cjs/modal/Modal.js +3 -2
  34. package/lib/cjs/modal/confirm.d.ts +14 -14
  35. package/lib/cjs/navigation/index.d.ts +2 -15
  36. package/lib/cjs/navigation/index.js +4 -2
  37. package/lib/cjs/notification/notice.d.ts +2 -12
  38. package/lib/cjs/notification/notice.js +3 -2
  39. package/lib/cjs/overflowList/index.d.ts +2 -9
  40. package/lib/cjs/overflowList/index.js +3 -2
  41. package/lib/cjs/popconfirm/index.d.ts +2 -15
  42. package/lib/cjs/popconfirm/index.js +4 -2
  43. package/lib/cjs/popover/index.d.ts +2 -23
  44. package/lib/cjs/popover/index.js +4 -2
  45. package/lib/cjs/resizeObserver/index.d.ts +14 -1
  46. package/lib/cjs/resizeObserver/index.js +66 -31
  47. package/lib/cjs/select/index.d.ts +1 -0
  48. package/lib/cjs/select/index.js +3 -2
  49. package/lib/cjs/sideSheet/index.d.ts +1 -0
  50. package/lib/cjs/sideSheet/index.js +20 -18
  51. package/lib/cjs/tabs/index.d.ts +1 -0
  52. package/lib/cjs/tabs/index.js +4 -2
  53. package/lib/cjs/tagInput/index.d.ts +1 -1
  54. package/lib/cjs/timePicker/index.d.ts +2 -34
  55. package/lib/cjs/timePicker/index.js +3 -1
  56. package/lib/cjs/toast/toast.d.ts +2 -11
  57. package/lib/cjs/toast/toast.js +3 -2
  58. package/lib/cjs/tooltip/index.d.ts +2 -32
  59. package/lib/cjs/tooltip/index.js +3 -2
  60. package/lib/cjs/typography/base.d.ts +7 -4
  61. package/lib/cjs/typography/base.js +127 -64
  62. package/lib/cjs/typography/numeral.d.ts +1 -1
  63. package/lib/cjs/typography/paragraph.d.ts +1 -1
  64. package/lib/cjs/typography/text.d.ts +1 -1
  65. package/lib/cjs/typography/title.d.ts +1 -1
  66. package/lib/es/_utils/index.d.ts +2 -0
  67. package/lib/es/_utils/index.js +75 -0
  68. package/lib/es/_utils/semi-global.d.ts +46 -0
  69. package/lib/es/_utils/semi-global.js +6 -0
  70. package/lib/es/autoComplete/index.d.ts +2 -25
  71. package/lib/es/autoComplete/index.js +4 -2
  72. package/lib/es/avatar/index.d.ts +2 -10
  73. package/lib/es/avatar/index.js +4 -2
  74. package/lib/es/backtop/index.d.ts +2 -5
  75. package/lib/es/backtop/index.js +4 -2
  76. package/lib/es/button/Button.d.ts +1 -1
  77. package/lib/es/button/index.d.ts +3 -1
  78. package/lib/es/button/index.js +3 -0
  79. package/lib/es/carousel/index.d.ts +2 -2
  80. package/lib/es/cascader/index.d.ts +2 -31
  81. package/lib/es/cascader/index.js +4 -3
  82. package/lib/es/collapse/index.d.ts +2 -7
  83. package/lib/es/collapse/index.js +4 -2
  84. package/lib/es/collapsible/index.d.ts +3 -9
  85. package/lib/es/collapsible/index.js +4 -2
  86. package/lib/es/configProvider/index.d.ts +2 -1
  87. package/lib/es/configProvider/index.js +5 -2
  88. package/lib/es/datePicker/datePicker.d.ts +2 -44
  89. package/lib/es/datePicker/datePicker.js +4 -2
  90. package/lib/es/dropdown/index.d.ts +2 -12
  91. package/lib/es/dropdown/index.js +4 -2
  92. package/lib/es/form/arrayField.js +3 -3
  93. package/lib/es/modal/Modal.d.ts +2 -20
  94. package/lib/es/modal/Modal.js +4 -3
  95. package/lib/es/modal/confirm.d.ts +14 -14
  96. package/lib/es/navigation/index.d.ts +2 -15
  97. package/lib/es/navigation/index.js +4 -2
  98. package/lib/es/notification/notice.d.ts +2 -12
  99. package/lib/es/notification/notice.js +4 -3
  100. package/lib/es/overflowList/index.d.ts +2 -9
  101. package/lib/es/overflowList/index.js +4 -3
  102. package/lib/es/popconfirm/index.d.ts +2 -15
  103. package/lib/es/popconfirm/index.js +4 -2
  104. package/lib/es/popover/index.d.ts +2 -23
  105. package/lib/es/popover/index.js +4 -2
  106. package/lib/es/resizeObserver/index.d.ts +14 -1
  107. package/lib/es/resizeObserver/index.js +64 -30
  108. package/lib/es/select/index.d.ts +1 -0
  109. package/lib/es/select/index.js +4 -3
  110. package/lib/es/sideSheet/index.d.ts +1 -0
  111. package/lib/es/sideSheet/index.js +21 -19
  112. package/lib/es/tabs/index.d.ts +1 -0
  113. package/lib/es/tabs/index.js +4 -2
  114. package/lib/es/tagInput/index.d.ts +1 -1
  115. package/lib/es/timePicker/index.d.ts +2 -34
  116. package/lib/es/timePicker/index.js +3 -1
  117. package/lib/es/toast/toast.d.ts +2 -11
  118. package/lib/es/toast/toast.js +4 -3
  119. package/lib/es/tooltip/index.d.ts +2 -32
  120. package/lib/es/tooltip/index.js +4 -3
  121. package/lib/es/typography/base.d.ts +7 -4
  122. package/lib/es/typography/base.js +128 -65
  123. package/lib/es/typography/numeral.d.ts +1 -1
  124. package/lib/es/typography/paragraph.d.ts +1 -1
  125. package/lib/es/typography/text.d.ts +1 -1
  126. package/lib/es/typography/title.d.ts +1 -1
  127. package/package.json +9 -8
@@ -10,7 +10,7 @@ import ResizeObserver from '../resizeObserver';
10
10
  import IntersectionObserver from './intersectionObserver';
11
11
  import OverflowListFoundation from '@douyinfe/semi-foundation/lib/es/overflowList/foundation';
12
12
  import '@douyinfe/semi-foundation/lib/es/overflowList/overflowList.css';
13
- import { cloneDeep } from '../_utils';
13
+ import { cloneDeep, getDefaultPropsFromGlobalConfig } from '../_utils';
14
14
  const prefixCls = cssClasses.PREFIX;
15
15
  const Boundary = strings.BOUNDARY_MAP;
16
16
  const OverflowDirection = strings.OVERFLOW_DIR;
@@ -269,7 +269,8 @@ class OverflowList extends BaseComponent {
269
269
  }, list);
270
270
  }
271
271
  }
272
- OverflowList.defaultProps = {
272
+ OverflowList.__SemiComponentName__ = "OverflowList";
273
+ OverflowList.defaultProps = getDefaultPropsFromGlobalConfig(OverflowList.__SemiComponentName__, {
273
274
  collapseFrom: 'end',
274
275
  minVisibleItems: 0,
275
276
  overflowRenderer: () => null,
@@ -277,7 +278,7 @@ OverflowList.defaultProps = {
277
278
  threshold: 0.75,
278
279
  visibleItemRenderer: () => null,
279
280
  onOverflow: () => null
280
- };
281
+ });
281
282
  OverflowList.propTypes = {
282
283
  // if render in scroll mode, key is required in items
283
284
  className: PropTypes.string,
@@ -65,21 +65,8 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
65
65
  trigger: PropTypes.Requireable<string>;
66
66
  position: PropTypes.Requireable<string>;
67
67
  };
68
- static defaultProps: {
69
- stopPropagation: boolean;
70
- trigger: string;
71
- onVisibleChange: (...args: any[]) => void;
72
- disabled: boolean;
73
- icon: JSX.Element;
74
- okType: string;
75
- cancelType: string;
76
- prefixCls: string;
77
- zIndex: number;
78
- showCloseIcon: boolean;
79
- onCancel: (...args: any[]) => void;
80
- onConfirm: (...args: any[]) => void;
81
- onClickOutSide: (...args: any[]) => void;
82
- };
68
+ static __SemiComponentName__: string;
69
+ static defaultProps: any;
83
70
  footerRef: React.RefObject<HTMLDivElement | null>;
84
71
  popoverRef: React.RefObject<Popover | null>;
85
72
  foundation: PopconfirmFoundation;
@@ -22,6 +22,7 @@ import Button from '../button';
22
22
  import ConfigContext from '../configProvider/context';
23
23
  import LocaleConsumer from '../locale/localeConsumer';
24
24
  import '@douyinfe/semi-foundation/lib/es/popconfirm/popconfirm.css';
25
+ import { getDefaultPropsFromGlobalConfig } from "../_utils";
25
26
  export default class Popconfirm extends BaseComponent {
26
27
  constructor(props) {
27
28
  super(props);
@@ -253,7 +254,8 @@ Popconfirm.propTypes = {
253
254
  trigger: PropTypes.string,
254
255
  position: PropTypes.string
255
256
  };
256
- Popconfirm.defaultProps = {
257
+ Popconfirm.__SemiComponentName__ = "Popconfirm";
258
+ Popconfirm.defaultProps = getDefaultPropsFromGlobalConfig(Popconfirm.__SemiComponentName__, {
257
259
  stopPropagation: true,
258
260
  trigger: 'click',
259
261
  // position: 'bottomLeft',
@@ -270,4 +272,4 @@ Popconfirm.defaultProps = {
270
272
  onCancel: _noop,
271
273
  onConfirm: _noop,
272
274
  onClickOutSide: _noop
273
- };
275
+ });
@@ -81,29 +81,8 @@ declare class Popover extends React.PureComponent<PopoverProps, PopoverState> {
81
81
  guardFocus: PropTypes.Requireable<boolean>;
82
82
  disableArrowKeyDown: PropTypes.Requireable<boolean>;
83
83
  };
84
- static defaultProps: {
85
- arrowBounding: {
86
- offsetY: number;
87
- offsetX: number;
88
- height: number;
89
- width: 24;
90
- };
91
- showArrow: boolean;
92
- autoAdjustOverflow: boolean;
93
- zIndex: number;
94
- motion: boolean;
95
- trigger: string;
96
- cancelText: string;
97
- okText: string;
98
- position: string;
99
- prefixCls: string;
100
- onClickOutSide: (...args: any[]) => void;
101
- onEscKeyDown: (...args: any[]) => void;
102
- closeOnEsc: boolean;
103
- returnFocusOnClose: boolean;
104
- guardFocus: boolean;
105
- disableFocusListener: boolean;
106
- };
84
+ static __SemiComponentName__: string;
85
+ static defaultProps: any;
107
86
  context: ContextValue;
108
87
  tooltipRef: React.RefObject<Tooltip | null>;
109
88
  constructor(props: PopoverProps);
@@ -17,6 +17,7 @@ import Tooltip from '../tooltip/index';
17
17
  import Arrow from './Arrow';
18
18
  import '@douyinfe/semi-foundation/lib/es/popover/popover.css';
19
19
  import isNullOrUndefined from '@douyinfe/semi-foundation/lib/es/utils/isNullOrUndefined';
20
+ import { getDefaultPropsFromGlobalConfig } from "../_utils";
20
21
  const positionSet = strings.POSITION_SET;
21
22
  const triggerSet = strings.TRIGGER_SET;
22
23
  class Popover extends React.PureComponent {
@@ -140,7 +141,8 @@ Popover.propTypes = {
140
141
  guardFocus: PropTypes.bool,
141
142
  disableArrowKeyDown: PropTypes.bool
142
143
  };
143
- Popover.defaultProps = {
144
+ Popover.__SemiComponentName__ = "Popover";
145
+ Popover.defaultProps = getDefaultPropsFromGlobalConfig(Popover.__SemiComponentName__, {
144
146
  arrowBounding: numbers.ARROW_BOUNDING,
145
147
  showArrow: false,
146
148
  autoAdjustOverflow: true,
@@ -157,5 +159,5 @@ Popover.defaultProps = {
157
159
  returnFocusOnClose: true,
158
160
  guardFocus: true,
159
161
  disableFocusListener: true
160
- };
162
+ });
161
163
  export default Popover;
@@ -9,26 +9,39 @@ export interface ResizeEntry {
9
9
  export interface ReactResizeObserverProps extends BaseProps {
10
10
  onResize?: (entries: ResizeEntry[]) => void;
11
11
  observeParent?: boolean;
12
+ observerProperty?: ObserverProperty;
13
+ delayTick?: number;
14
+ }
15
+ export declare enum ObserverProperty {
16
+ Width = "width",
17
+ Height = "height",
18
+ All = "all"
12
19
  }
13
20
  export default class ReactResizeObserver extends BaseComponent<ReactResizeObserverProps> {
14
21
  static propTypes: {
15
22
  onResize: PropTypes.Requireable<(...args: any[]) => any>;
16
23
  observeParent: PropTypes.Requireable<boolean>;
24
+ observerProperty: PropTypes.Requireable<string>;
25
+ delayTick: PropTypes.Requireable<number>;
17
26
  };
18
27
  static defaultProps: {
19
28
  onResize: () => void;
20
29
  observeParent: boolean;
30
+ observerProperty: string;
31
+ delayTick: number;
21
32
  };
22
33
  observer: ResizeObserver;
23
34
  childNode: any;
24
35
  element: Element;
25
36
  _parentNode: HTMLElement;
37
+ formerPropertyValue: Map<Element, number>;
26
38
  constructor(props: ReactResizeObserverProps);
27
39
  componentDidMount(): void;
28
40
  componentDidUpdate(prevProps: ReactResizeObserverProps): void;
29
41
  componentWillUnmount(): void;
30
42
  getElement: () => Element | Text;
31
- observeElement(force?: boolean): void;
43
+ handleResizeEventTriggered: (entries: ResizeEntry[]) => void;
44
+ observeElement: (force?: boolean) => void;
32
45
  mergeRef: (ref: any, node: HTMLDivElement) => void;
33
46
  render(): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
34
47
  }
@@ -2,9 +2,18 @@ import React from 'react';
2
2
  import { findDOMNode } from 'react-dom';
3
3
  import PropTypes from 'prop-types';
4
4
  import BaseComponent from '../_base/baseComponent';
5
+ export var ObserverProperty;
6
+ (function (ObserverProperty) {
7
+ ObserverProperty["Width"] = "width";
8
+ ObserverProperty["Height"] = "height";
9
+ ObserverProperty["All"] = "all";
10
+ })(ObserverProperty || (ObserverProperty = {}));
5
11
  export default class ReactResizeObserver extends BaseComponent {
6
12
  constructor(props) {
13
+ var _this;
7
14
  super(props);
15
+ _this = this;
16
+ this.formerPropertyValue = new Map();
8
17
  this.getElement = () => {
9
18
  try {
10
19
  // using findDOMNode for two reasons:
@@ -16,6 +25,54 @@ export default class ReactResizeObserver extends BaseComponent {
16
25
  return null;
17
26
  }
18
27
  };
28
+ this.handleResizeEventTriggered = entries => {
29
+ if (this.props.observerProperty === ObserverProperty.All) {
30
+ this.props.onResize(entries);
31
+ } else {
32
+ const finalEntries = [];
33
+ for (const entry of entries) {
34
+ if (this.formerPropertyValue.has(entry.target)) {
35
+ if (entry.contentRect[this.props.observerProperty] !== this.formerPropertyValue.get(entry.target)) {
36
+ this.formerPropertyValue.set(entry.target, entry.contentRect[this.props.observerProperty]);
37
+ finalEntries.push(entry);
38
+ }
39
+ } else {
40
+ this.formerPropertyValue.set(entry.target, entry.contentRect[this.props.observerProperty]);
41
+ finalEntries.push(entry);
42
+ }
43
+ }
44
+ if (finalEntries.length > 0) {
45
+ this.props.onResize(finalEntries);
46
+ }
47
+ }
48
+ };
49
+ this.observeElement = function () {
50
+ let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
51
+ const element = _this.getElement();
52
+ if (!_this.observer) {
53
+ _this.observer = new ResizeObserver(_this.handleResizeEventTriggered);
54
+ }
55
+ if (!(element && element instanceof Element)) {
56
+ // stop everything if not defined
57
+ _this.observer.disconnect();
58
+ return;
59
+ }
60
+ if (element === _this.element && !force) {
61
+ // abort if given same element -- nothing to update (unless forced)
62
+ return;
63
+ } else {
64
+ // clear observer list if new element
65
+ _this.observer.disconnect();
66
+ // remember element reference for next time
67
+ _this.element = element;
68
+ }
69
+ // observer callback is invoked immediately when observing new elements
70
+ _this.observer.observe(element);
71
+ if (_this.props.observeParent && element.parentNode && element.parentNode.ownerDocument && element.parentNode.ownerDocument.defaultView && element.parentNode instanceof element.parentNode.ownerDocument.defaultView.HTMLElement) {
72
+ _this._parentNode = element.parentNode;
73
+ _this.observer.observe(_this._parentNode);
74
+ }
75
+ };
19
76
  this.mergeRef = (ref, node) => {
20
77
  this.childNode = node;
21
78
  if (typeof ref === 'function') {
@@ -25,7 +82,7 @@ export default class ReactResizeObserver extends BaseComponent {
25
82
  }
26
83
  };
27
84
  if (globalThis['ResizeObserver']) {
28
- this.observer = new ResizeObserver(props.onResize);
85
+ this.observer = new ResizeObserver(this.handleResizeEventTriggered);
29
86
  }
30
87
  }
31
88
  componentDidMount() {
@@ -43,33 +100,6 @@ export default class ReactResizeObserver extends BaseComponent {
43
100
  this.element = null;
44
101
  }
45
102
  }
46
- observeElement() {
47
- let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
48
- const element = this.getElement();
49
- if (!this.observer) {
50
- this.observer = new ResizeObserver(this.props.onResize);
51
- }
52
- if (!(element && element instanceof Element)) {
53
- // stop everything if not defined
54
- this.observer.disconnect();
55
- return;
56
- }
57
- if (element === this.element && !force) {
58
- // abort if given same element -- nothing to update (unless forced)
59
- return;
60
- } else {
61
- // clear observer list if new element
62
- this.observer.disconnect();
63
- // remember element reference for next time
64
- this.element = element;
65
- }
66
- // observer callback is invoked immediately when observing new elements
67
- this.observer.observe(element);
68
- if (this.props.observeParent && element.parentNode && element.parentNode.ownerDocument && element.parentNode.ownerDocument.defaultView && element.parentNode instanceof element.parentNode.ownerDocument.defaultView.HTMLElement) {
69
- this._parentNode = element.parentNode;
70
- this.observer.observe(this._parentNode);
71
- }
72
- }
73
103
  render() {
74
104
  const child = React.Children.only(this.props.children);
75
105
  const {
@@ -82,9 +112,13 @@ export default class ReactResizeObserver extends BaseComponent {
82
112
  }
83
113
  ReactResizeObserver.propTypes = {
84
114
  onResize: PropTypes.func,
85
- observeParent: PropTypes.bool
115
+ observeParent: PropTypes.bool,
116
+ observerProperty: PropTypes.string,
117
+ delayTick: PropTypes.number
86
118
  };
87
119
  ReactResizeObserver.defaultProps = {
88
120
  onResize: () => {},
89
- observeParent: false
121
+ observeParent: false,
122
+ observerProperty: "all",
123
+ delayTick: 0
90
124
  };
@@ -251,6 +251,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
251
251
  arrowIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
252
252
  preventScroll: PropTypes.Requireable<boolean>;
253
253
  };
254
+ static __SemiComponentName__: string;
254
255
  static defaultProps: Partial<SelectProps>;
255
256
  inputRef: React.RefObject<HTMLInputElement>;
256
257
  triggerRef: React.RefObject<HTMLDivElement>;
@@ -38,7 +38,7 @@ import OptionGroup from './optionGroup';
38
38
  import Spin from '../spin';
39
39
  import Trigger from '../trigger';
40
40
  import { IconChevronDown, IconClear } from '@douyinfe/semi-icons';
41
- import { isSemiIcon, getFocusableElements, getActiveElement } from '../_utils';
41
+ import { isSemiIcon, getFocusableElements, getActiveElement, getDefaultPropsFromGlobalConfig } from '../_utils';
42
42
  import { getUuidShort } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
43
43
  import '@douyinfe/semi-foundation/lib/es/select/select.css';
44
44
  const prefixcls = cssClasses.PREFIX;
@@ -1284,7 +1284,8 @@ Select.propTypes = {
1284
1284
  // tagClosable: PropTypes.bool,
1285
1285
  };
1286
1286
 
1287
- Select.defaultProps = {
1287
+ Select.__SemiComponentName__ = "Select";
1288
+ Select.defaultProps = getDefaultPropsFromGlobalConfig(Select.__SemiComponentName__, {
1288
1289
  stopPropagation: true,
1289
1290
  motion: true,
1290
1291
  borderless: false,
@@ -1329,6 +1330,6 @@ Select.defaultProps = {
1329
1330
  // renderSelectedItem: (optionNode) => optionNode.label,
1330
1331
  // The default creator rendering is related to i18, so it is not declared here
1331
1332
  // renderCreateItem: (input) => input
1332
- };
1333
+ });
1333
1334
 
1334
1335
  export default Select;
@@ -45,6 +45,7 @@ export default class SideSheet extends BaseComponent<SideSheetReactProps, SideSh
45
45
  keepDOM: PropTypes.Requireable<boolean>;
46
46
  'aria-label': PropTypes.Requireable<string>;
47
47
  };
48
+ static __SemiComponentName__: string;
48
49
  static defaultProps: SideSheetReactProps;
49
50
  private _active;
50
51
  constructor(props: SideSheetReactProps);
@@ -18,7 +18,7 @@ import SideSheetContent from './SideSheetContent';
18
18
  import SideSheetFoundation from '@douyinfe/semi-foundation/lib/es/sideSheet/sideSheetFoundation';
19
19
  import '@douyinfe/semi-foundation/lib/es/sideSheet/sideSheet.css';
20
20
  import CSSAnimation from "../_cssAnimation";
21
- import { getScrollbarWidth } from '../_utils';
21
+ import { getDefaultPropsFromGlobalConfig, getScrollbarWidth } from '../_utils';
22
22
  const prefixCls = cssClasses.PREFIX;
23
23
  const defaultWidthList = strings.WIDTH;
24
24
  const defaultHeight = strings.HEIGHT;
@@ -141,6 +141,15 @@ export default class SideSheet extends BaseComponent {
141
141
  keepDOM
142
142
  } = _a,
143
143
  props = __rest(_a, ["placement", "className", "children", "width", "height", "motion", "visible", "style", "maskStyle", "size", "zIndex", "getPopupContainer", "keepDOM"]);
144
+ let wrapperStyle = {
145
+ zIndex
146
+ };
147
+ if (getPopupContainer) {
148
+ wrapperStyle = {
149
+ zIndex,
150
+ position: 'static'
151
+ };
152
+ }
144
153
  const {
145
154
  direction
146
155
  } = this.context;
@@ -189,35 +198,27 @@ export default class SideSheet extends BaseComponent {
189
198
  animationStyle,
190
199
  animationEventsNeedBind
191
200
  } = _ref2;
192
- return shouldRender ? /*#__PURE__*/React.createElement(SideSheetContent, Object.assign({}, contentProps, {
201
+ return shouldRender ? /*#__PURE__*/React.createElement(Portal, {
202
+ getPopupContainer: getPopupContainer,
203
+ style: wrapperStyle
204
+ }, /*#__PURE__*/React.createElement(SideSheetContent, Object.assign({}, contentProps, {
193
205
  maskExtraProps: maskAnimationEventsNeedBind,
194
206
  wrapperExtraProps: animationEventsNeedBind,
195
207
  dialogClassName: animationClassName,
196
208
  maskClassName: maskAnimationClassName,
197
209
  maskStyle: Object.assign({}, maskStyle),
198
210
  style: Object.assign(Object.assign({}, animationStyle), style)
199
- }), children) : /*#__PURE__*/React.createElement(React.Fragment, null);
211
+ }), children)) : /*#__PURE__*/React.createElement(React.Fragment, null);
200
212
  });
201
213
  });
202
214
  }
203
215
  render() {
204
216
  const {
205
217
  zIndex,
206
- getPopupContainer
218
+ getPopupContainer,
219
+ visible
207
220
  } = this.props;
208
- let wrapperStyle = {
209
- zIndex
210
- };
211
- if (getPopupContainer) {
212
- wrapperStyle = {
213
- zIndex,
214
- position: 'static'
215
- };
216
- }
217
- return /*#__PURE__*/React.createElement(Portal, {
218
- getPopupContainer: getPopupContainer,
219
- style: wrapperStyle
220
- }, this.renderContent());
221
+ return this.renderContent();
221
222
  }
222
223
  }
223
224
  SideSheet.contextType = ConfigContext;
@@ -248,7 +249,8 @@ SideSheet.propTypes = {
248
249
  keepDOM: PropTypes.bool,
249
250
  'aria-label': PropTypes.string
250
251
  };
251
- SideSheet.defaultProps = {
252
+ SideSheet.__SemiComponentName__ = "SideSheet";
253
+ SideSheet.defaultProps = getDefaultPropsFromGlobalConfig(SideSheet.__SemiComponentName__, {
252
254
  visible: false,
253
255
  motion: true,
254
256
  mask: true,
@@ -262,4 +264,4 @@ SideSheet.defaultProps = {
262
264
  closeOnEsc: false,
263
265
  afterVisibleChange: _noop,
264
266
  keepDOM: false
265
- };
267
+ });
@@ -38,6 +38,7 @@ declare class Tabs extends BaseComponent<TabsProps, TabsState> {
38
38
  onTabClose: PropTypes.Requireable<(...args: any[]) => any>;
39
39
  preventScroll: PropTypes.Requireable<boolean>;
40
40
  };
41
+ static __SemiComponentName__: string;
41
42
  static defaultProps: TabsProps;
42
43
  contentRef: RefObject<HTMLDivElement>;
43
44
  contentHeight: string;
@@ -20,6 +20,7 @@ import TabBar from './TabBar';
20
20
  import TabPane from './TabPane';
21
21
  import TabItem from './TabItem';
22
22
  import TabsContext from './tabs-context';
23
+ import { getDefaultPropsFromGlobalConfig } from "../_utils";
23
24
  const panePickKeys = ['className', 'style', 'disabled', 'itemKey', 'tab', 'icon'];
24
25
  export * from './interface';
25
26
  class Tabs extends BaseComponent {
@@ -320,7 +321,8 @@ Tabs.propTypes = {
320
321
  onTabClose: PropTypes.func,
321
322
  preventScroll: PropTypes.bool
322
323
  };
323
- Tabs.defaultProps = {
324
+ Tabs.__SemiComponentName__ = "Tabs";
325
+ Tabs.defaultProps = getDefaultPropsFromGlobalConfig(Tabs.__SemiComponentName__, {
324
326
  children: [],
325
327
  collapsible: false,
326
328
  keepDOM: true,
@@ -332,5 +334,5 @@ Tabs.defaultProps = {
332
334
  tabPosition: 'top',
333
335
  type: 'line',
334
336
  onTabClose: () => undefined
335
- };
337
+ });
336
338
  export default Tabs;
@@ -34,7 +34,7 @@ export interface TagInputProps {
34
34
  onFocus?: (e: React.MouseEvent<HTMLInputElement>) => void;
35
35
  onInputChange?: (value: string, e: React.MouseEvent<HTMLInputElement>) => void;
36
36
  onInputExceed?: ((value: string) => void);
37
- onKeyDown?: (e: React.MouseEvent<HTMLInputElement>) => void;
37
+ onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
38
38
  onRemove?: (removedValue: string, idx: number) => void;
39
39
  placeholder?: string;
40
40
  insetLabel?: React.ReactNode;
@@ -72,39 +72,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
72
72
  motion: import("prop-types").Requireable<NonNullable<boolean | object>>;
73
73
  autoAdjustOverflow: import("prop-types").Requireable<boolean>;
74
74
  };
75
- static defaultProps: {
76
- autoAdjustOverflow: boolean;
77
- borderless: boolean;
78
- getPopupContainer: () => HTMLElement;
79
- showClear: boolean;
80
- zIndex: number;
81
- rangeSeparator: " ~ ";
82
- onOpenChange: (...args: any[]) => void;
83
- clearText: string;
84
- prefixCls: string;
85
- inputReadOnly: boolean;
86
- style: {};
87
- stopPropagation: boolean;
88
- className: string;
89
- popupClassName: string;
90
- popupStyle: {
91
- left: string;
92
- top: string;
93
- };
94
- disabledHours: () => number[];
95
- disabledMinutes: () => number[];
96
- disabledSeconds: () => number[];
97
- hideDisabledOptions: boolean;
98
- onFocus: (...args: any[]) => void;
99
- onBlur: (...args: any[]) => void;
100
- onChange: (...args: any[]) => void;
101
- onChangeWithDateFirst: boolean;
102
- use12Hours: boolean;
103
- focusOnOpen: boolean;
104
- onKeyDown: (...args: any[]) => void;
105
- size: "default";
106
- type: "time";
107
- motion: boolean;
108
- };
75
+ static __SemiComponentName__: string;
76
+ static defaultProps: any;
109
77
  render(): JSX.Element;
110
78
  }
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import LocaleConsumer from '../locale/localeConsumer';
4
4
  import BaseTimePicker from './TimePicker';
5
5
  import ConfigContext from '../configProvider/context';
6
+ import { getDefaultPropsFromGlobalConfig } from "../_utils";
6
7
  export default class LocaleTimePicker extends React.PureComponent {
7
8
  render() {
8
9
  const {
@@ -26,4 +27,5 @@ export default class LocaleTimePicker extends React.PureComponent {
26
27
  }
27
28
  }
28
29
  LocaleTimePicker.propTypes = BaseTimePicker.propTypes;
29
- LocaleTimePicker.defaultProps = BaseTimePicker.defaultProps;
30
+ LocaleTimePicker.__SemiComponentName__ = "TimePicker";
31
+ LocaleTimePicker.defaultProps = getDefaultPropsFromGlobalConfig(LocaleTimePicker.__SemiComponentName__, BaseTimePicker.defaultProps);
@@ -35,17 +35,8 @@ declare class Toast extends BaseComponent<ToastReactProps, ToastState> {
35
35
  icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
36
36
  direction: PropTypes.Requireable<string>;
37
37
  };
38
- static defaultProps: {
39
- onClose: (...args: any[]) => void;
40
- content: string;
41
- close: (...args: any[]) => void;
42
- duration: number;
43
- textMaxWidth: number;
44
- showClose: boolean;
45
- stack: boolean;
46
- stackExpanded: boolean;
47
- theme: string;
48
- };
38
+ static __SemiComponentName__: string;
39
+ static defaultProps: any;
49
40
  constructor(props: ToastReactProps);
50
41
  context: ContextValue;
51
42
  get adapter(): ToastAdapter;
@@ -8,7 +8,7 @@ import { numbers, cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/t
8
8
  import BaseComponent from '../_base/baseComponent';
9
9
  import Button from '../iconButton/index';
10
10
  import { IconClose, IconAlertTriangle, IconInfoCircle, IconTickCircle, IconAlertCircle } from '@douyinfe/semi-icons';
11
- import { isSemiIcon } from '../_utils';
11
+ import { getDefaultPropsFromGlobalConfig, isSemiIcon } from '../_utils';
12
12
  const prefixCls = cssClasses.PREFIX;
13
13
  class Toast extends BaseComponent {
14
14
  constructor(props) {
@@ -153,7 +153,8 @@ Toast.propTypes = {
153
153
  icon: PropTypes.node,
154
154
  direction: PropTypes.oneOf(strings.directions)
155
155
  };
156
- Toast.defaultProps = {
156
+ Toast.__SemiComponentName__ = "Toast";
157
+ Toast.defaultProps = getDefaultPropsFromGlobalConfig(Toast.__SemiComponentName__, {
157
158
  onClose: _noop,
158
159
  content: '',
159
160
  close: _noop,
@@ -163,5 +164,5 @@ Toast.defaultProps = {
163
164
  stack: false,
164
165
  stackExpanded: false,
165
166
  theme: 'normal'
166
- };
167
+ });
167
168
  export default Toast;
@@ -127,38 +127,8 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
127
127
  preventScroll: PropTypes.Requireable<boolean>;
128
128
  keepDOM: PropTypes.Requireable<boolean>;
129
129
  };
130
- static defaultProps: {
131
- arrowBounding: {
132
- readonly offsetX: 0;
133
- readonly offsetY: 2;
134
- readonly width: 24;
135
- readonly height: 7;
136
- };
137
- autoAdjustOverflow: boolean;
138
- arrowPointAtCenter: boolean;
139
- trigger: string;
140
- transformFromCenter: boolean;
141
- position: string;
142
- prefixCls: "semi-tooltip";
143
- role: string;
144
- mouseEnterDelay: 50;
145
- mouseLeaveDelay: 50;
146
- motion: boolean;
147
- onVisibleChange: (...args: any[]) => void;
148
- onClickOutSide: (...args: any[]) => void;
149
- spacing: 8;
150
- margin: 0;
151
- showArrow: boolean;
152
- wrapWhenSpecial: boolean;
153
- zIndex: 1060;
154
- closeOnEsc: boolean;
155
- guardFocus: boolean;
156
- returnFocusOnClose: boolean;
157
- onEscKeyDown: (...args: any[]) => void;
158
- disableFocusListener: boolean;
159
- disableArrowKeyDown: boolean;
160
- keepDOM: boolean;
161
- };
130
+ static __SemiComponentName__: string;
131
+ static defaultProps: any;
162
132
  eventManager: Event;
163
133
  triggerEl: React.RefObject<unknown>;
164
134
  containerEl: React.RefObject<HTMLDivElement>;
@@ -28,7 +28,7 @@ import { getUuidShort } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
28
28
  import '@douyinfe/semi-foundation/lib/es/tooltip/tooltip.css';
29
29
  import BaseComponent from '../_base/baseComponent';
30
30
  import { isHTMLElement } from '../_base/reactUtils';
31
- import { getActiveElement, getFocusableElements, stopPropagation } from '../_utils';
31
+ import { getActiveElement, getDefaultPropsFromGlobalConfig, getFocusableElements, stopPropagation } from '../_utils';
32
32
  import Portal from '../_portal/index';
33
33
  import ConfigContext from '../configProvider/context';
34
34
  import TriangleArrow from './TriangleArrow';
@@ -672,7 +672,8 @@ Tooltip.propTypes = {
672
672
  preventScroll: PropTypes.bool,
673
673
  keepDOM: PropTypes.bool
674
674
  };
675
- Tooltip.defaultProps = {
675
+ Tooltip.__SemiComponentName__ = "Tooltip";
676
+ Tooltip.defaultProps = getDefaultPropsFromGlobalConfig(Tooltip.__SemiComponentName__, {
676
677
  arrowBounding: numbers.ARROW_BOUNDING,
677
678
  autoAdjustOverflow: true,
678
679
  arrowPointAtCenter: true,
@@ -698,4 +699,4 @@ Tooltip.defaultProps = {
698
699
  disableFocusListener: false,
699
700
  disableArrowKeyDown: false,
700
701
  keepDOM: false
701
- };
702
+ });