rsuite 5.8.1 → 5.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 (46) hide show
  1. package/ButtonToolbar/styles/index.less +1 -1
  2. package/CHANGELOG.md +24 -0
  3. package/README.md +4 -0
  4. package/Table/styles/index.less +2 -10
  5. package/cjs/Button/Button.d.ts +1 -1
  6. package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -0
  7. package/cjs/DateRangePicker/DateRangePicker.js +4 -2
  8. package/cjs/Dropdown/Dropdown.d.ts +5 -2
  9. package/cjs/Dropdown/Dropdown.js +5 -1
  10. package/cjs/Form/Form.d.ts +1 -1
  11. package/cjs/Form/Form.js +15 -5
  12. package/cjs/Form/FormContext.d.ts +2 -0
  13. package/cjs/FormControl/FormControl.d.ts +2 -0
  14. package/cjs/FormControl/FormControl.js +11 -1
  15. package/cjs/Menu/Menu.d.ts +10 -2
  16. package/cjs/Menu/Menu.js +18 -11
  17. package/cjs/Menu/Menubar.js +10 -3
  18. package/cjs/Modal/Modal.d.ts +6 -2
  19. package/cjs/Modal/Modal.js +6 -2
  20. package/cjs/utils/dom.d.ts +1 -1
  21. package/dist/rsuite-rtl.css +5 -12
  22. package/dist/rsuite-rtl.min.css +1 -1
  23. package/dist/rsuite-rtl.min.css.map +1 -1
  24. package/dist/rsuite.css +5 -12
  25. package/dist/rsuite.js +14 -14
  26. package/dist/rsuite.min.css +1 -1
  27. package/dist/rsuite.min.css.map +1 -1
  28. package/dist/rsuite.min.js +1 -1
  29. package/dist/rsuite.min.js.map +1 -1
  30. package/esm/Button/Button.d.ts +1 -1
  31. package/esm/DateRangePicker/DateRangePicker.d.ts +2 -0
  32. package/esm/DateRangePicker/DateRangePicker.js +4 -2
  33. package/esm/Dropdown/Dropdown.d.ts +5 -2
  34. package/esm/Dropdown/Dropdown.js +5 -1
  35. package/esm/Form/Form.d.ts +1 -1
  36. package/esm/Form/Form.js +15 -5
  37. package/esm/Form/FormContext.d.ts +2 -0
  38. package/esm/FormControl/FormControl.d.ts +2 -0
  39. package/esm/FormControl/FormControl.js +12 -1
  40. package/esm/Menu/Menu.d.ts +10 -2
  41. package/esm/Menu/Menu.js +18 -11
  42. package/esm/Menu/Menubar.js +9 -3
  43. package/esm/Modal/Modal.d.ts +6 -2
  44. package/esm/Modal/Modal.js +5 -3
  45. package/esm/utils/dom.d.ts +1 -1
  46. package/package.json +2 -2
@@ -9,7 +9,7 @@ export interface ButtonProps extends WithAsProps, React.HTMLAttributes<HTMLEleme
9
9
  size?: TypeAttributes.Size;
10
10
  /** A button can have different colors */
11
11
  color?: TypeAttributes.Color;
12
- /** Format button to appear inside a content bloc */
12
+ /** Format button to appear inside a content block */
13
13
  block?: boolean;
14
14
  /** Providing a `href` will render an `<a>` element, _styled_ as a button */
15
15
  href?: string;
@@ -35,6 +35,8 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
35
35
  onClean?: (event: React.MouseEvent) => void;
36
36
  /** Custom render value */
37
37
  renderValue?: (value: DateRange, format: string) => React.ReactNode;
38
+ /** Custom render for calendar title */
39
+ renderTitle?: (date: Date) => React.ReactNode;
38
40
  }
39
41
  export interface DateRangePicker extends PickerComponent<DateRangePickerProps> {
40
42
  /** Allow the maximum number of days specified, other dates are disabled */
@@ -67,7 +67,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
67
67
  onOk = props.onOk,
68
68
  onOpen = props.onOpen,
69
69
  onSelect = props.onSelect,
70
- rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
70
+ renderTitle = props.renderTitle,
71
+ rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "renderTitle"]);
71
72
 
72
73
  var _useClassNames = useClassNames(classPrefix),
73
74
  merge = _useClassNames.merge,
@@ -535,7 +536,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
535
536
  onChangeCalendarTime: handleChangeCalendarTime,
536
537
  onMouseMove: handleMouseMove,
537
538
  onSelect: handleSelectDate,
538
- onToggleMeridian: handleToggleMeridian
539
+ onToggleMeridian: handleToggleMeridian,
540
+ renderTitle: renderTitle
539
541
  };
540
542
  return /*#__PURE__*/React.createElement(PickerOverlay, {
541
543
  className: classes,
@@ -29,10 +29,13 @@ export interface DropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttr
29
29
  /** No caret variation */
30
30
  noCaret?: boolean;
31
31
  /**
32
- * Open the menu and control it
33
- * @deprecated
32
+ * Controlled open state
34
33
  */
35
34
  open?: boolean;
35
+ /**
36
+ * Whether dropdown is initially open
37
+ */
38
+ defaultOpen?: boolean;
36
39
  /**
37
40
  * @deprecated
38
41
  */
@@ -44,6 +44,8 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
44
44
  placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,
45
45
  toggleAs = rest.toggleAs,
46
46
  toggleClassName = rest.toggleClassName,
47
+ open = rest.open,
48
+ defaultOpen = rest.defaultOpen,
47
49
  _rest$classPrefix = rest.classPrefix,
48
50
  classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,
49
51
  className = rest.className,
@@ -51,7 +53,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
51
53
  children = rest.children,
52
54
  menuStyle = rest.menuStyle,
53
55
  style = rest.style,
54
- toggleProps = _objectWithoutPropertiesLoose(rest, ["as", "title", "onClose", "onOpen", "onToggle", "eventKey", "trigger", "placement", "toggleAs", "toggleClassName", "classPrefix", "className", "disabled", "children", "menuStyle", "style"]);
56
+ toggleProps = _objectWithoutPropertiesLoose(rest, ["as", "title", "onClose", "onOpen", "onToggle", "eventKey", "trigger", "placement", "toggleAs", "toggleClassName", "open", "defaultOpen", "classPrefix", "className", "disabled", "children", "menuStyle", "style"]);
55
57
 
56
58
  var _useContext = useContext(NavContext),
57
59
  onSelectFromNav = _useContext.onSelect;
@@ -192,6 +194,8 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
192
194
  return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
193
195
  value: dropdownContextValue
194
196
  }, /*#__PURE__*/React.createElement(Menu, {
197
+ open: open,
198
+ defaultOpen: defaultOpen,
195
199
  menuButtonText: title,
196
200
  renderMenuButton: renderMenuButton,
197
201
  openMenuOn: menuButtonTriggers,
@@ -33,7 +33,7 @@ export interface FormProps<T = Record<string, any>, errorMsgType = any, E = {
33
33
  /** The error message comes from context */
34
34
  errorFromContext?: boolean;
35
35
  /** Callback fired when data changing */
36
- onChange?: (formValue: T, event: React.SyntheticEvent) => void;
36
+ onChange?: (formValue: T, event?: React.SyntheticEvent) => void;
37
37
  /** Callback fired when error checking */
38
38
  onError?: (formError: E) => void;
39
39
  /** Callback fired when data cheking */
package/esm/Form/Form.js CHANGED
@@ -199,6 +199,16 @@ var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
199
199
  resetErrors: resetErrors
200
200
  };
201
201
  });
202
+ var removeFieldError = useCallback(function (name) {
203
+ var formError = omit(getFormError(), [name]);
204
+ setFormError(formError);
205
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
206
+ }, [getFormError, onCheck]);
207
+ var removeFieldValue = useCallback(function (name) {
208
+ var formValue = omit(getFormValue(), [name]);
209
+ setFormValue(formValue);
210
+ onChange === null || onChange === void 0 ? void 0 : onChange(formValue);
211
+ }, [getFormValue, onChange]);
202
212
  var handleSubmit = useCallback(function (event) {
203
213
  if (disabled || readOnly || plaintext) {
204
214
  return;
@@ -219,10 +229,8 @@ var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
219
229
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
220
230
  }, [onError, onCheck, getFormError]);
221
231
  var handleFieldSuccess = useCallback(function (name) {
222
- var formError = omit(getFormError(), [name]);
223
- setFormError(formError);
224
- onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
225
- }, [onCheck, getFormError]);
232
+ removeFieldError(name);
233
+ }, [removeFieldError]);
226
234
  var handleFieldChange = useCallback(function (name, value, event) {
227
235
  var _extends5;
228
236
 
@@ -244,11 +252,13 @@ var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
244
252
  plaintext: plaintext,
245
253
  disabled: disabled,
246
254
  formError: getFormError(),
255
+ removeFieldValue: removeFieldValue,
256
+ removeFieldError: removeFieldError,
247
257
  onFieldChange: handleFieldChange,
248
258
  onFieldError: handleFieldError,
249
259
  onFieldSuccess: handleFieldSuccess
250
260
  };
251
- }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, handleFieldChange, handleFieldError, handleFieldSuccess]);
261
+ }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, removeFieldValue, removeFieldError, handleFieldChange, handleFieldError, handleFieldSuccess]);
252
262
  return /*#__PURE__*/React.createElement("form", _extends({}, rest, {
253
263
  ref: rootRef,
254
264
  onSubmit: handleSubmit,
@@ -12,6 +12,8 @@ export interface FormContextValue<T = Record<string, any>, errorMsgType = any, E
12
12
  plaintext?: boolean;
13
13
  disabled?: boolean;
14
14
  formError?: E;
15
+ removeFieldValue?: (name: string) => void;
16
+ removeFieldError?: (name: string) => void;
15
17
  onFieldChange?: (name: string, value: any, event: React.SyntheticEvent) => void;
16
18
  onFieldError?: (name: string, errorMessage: string) => void;
17
19
  onFieldSuccess?: (name: string) => void;
@@ -28,6 +28,8 @@ export interface FormControlProps<P = any, ValueType = any> extends WithAsProps,
28
28
  disabled?: boolean;
29
29
  /** Asynchronous check value */
30
30
  checkAsync?: boolean;
31
+ /** Remove field value and error message when component is unmounted */
32
+ shouldResetWithUnmount?: boolean;
31
33
  }
32
34
  interface FormControlComponent extends React.FC<FormControlProps> {
33
35
  <Accepter extends React.ElementType = typeof Input>(props: FormControlProps & {
@@ -12,6 +12,7 @@ import FormErrorMessage from '../FormErrorMessage';
12
12
  import { useClassNames } from '../utils';
13
13
  import FormContext, { FormValueContext } from '../Form/FormContext';
14
14
  import { FormGroupContext } from '../FormGroup/FormGroup';
15
+ import { useWillUnmount } from '../utils';
15
16
  /**
16
17
  * Props that FormControl passes to its accepter
17
18
  */
@@ -25,6 +26,8 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
25
26
  _useContext$formDefau = _useContext.formDefaultValue,
26
27
  formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,
27
28
  formError = _useContext.formError,
29
+ removeFieldValue = _useContext.removeFieldValue,
30
+ removeFieldError = _useContext.removeFieldError,
28
31
  onFieldChange = _useContext.onFieldChange,
29
32
  onFieldError = _useContext.onFieldError,
30
33
  onFieldSuccess = _useContext.onFieldSuccess,
@@ -54,7 +57,9 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
54
57
  onChange = props.onChange,
55
58
  onBlur = props.onBlur,
56
59
  defaultValue = props.defaultValue,
57
- rest = _objectWithoutPropertiesLoose(props, ["as", "accepter", "classPrefix", "className", "checkAsync", "checkTrigger", "errorPlacement", "errorMessage", "name", "value", "readOnly", "plaintext", "disabled", "onChange", "onBlur", "defaultValue"]);
60
+ _props$shouldResetWit = props.shouldResetWithUnmount,
61
+ shouldResetWithUnmount = _props$shouldResetWit === void 0 ? false : _props$shouldResetWit,
62
+ rest = _objectWithoutPropertiesLoose(props, ["as", "accepter", "classPrefix", "className", "checkAsync", "checkTrigger", "errorPlacement", "errorMessage", "name", "value", "readOnly", "plaintext", "disabled", "onChange", "onBlur", "defaultValue", "shouldResetWithUnmount"]);
58
63
 
59
64
  var _useContext2 = useContext(FormGroupContext),
60
65
  controlId = _useContext2.controlId;
@@ -63,6 +68,12 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
63
68
  throw new Error("\n <FormControl> must be inside a component decorated with <Form>.\n And need to update React to 16.6.0 +.\n ");
64
69
  }
65
70
 
71
+ useWillUnmount(function () {
72
+ if (shouldResetWithUnmount) {
73
+ removeFieldValue === null || removeFieldValue === void 0 ? void 0 : removeFieldValue(name);
74
+ removeFieldError === null || removeFieldError === void 0 ? void 0 : removeFieldError(name);
75
+ }
76
+ });
66
77
  var trigger = checkTrigger || contextCheckTrigger;
67
78
  var formValue = useContext(FormValueContext);
68
79
  var val = isUndefined(value) ? formValue === null || formValue === void 0 ? void 0 : formValue[name] : value;
@@ -2,12 +2,20 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { MenuContextProps } from './MenuContext';
4
4
  export interface MenuProps {
5
+ /**
6
+ * Whether dropdown is initially open
7
+ */
8
+ defaultOpen?: boolean;
9
+ /**
10
+ * Controlled open state
11
+ */
12
+ open?: boolean;
5
13
  disabled?: boolean;
6
14
  children: (props: React.HTMLAttributes<HTMLDivElement> & MenuRenderProps, ref: React.Ref<HTMLDivElement>) => React.ReactElement<React.HTMLAttributes<HTMLDivElement>>;
7
15
  menuButtonText?: React.ReactNode;
8
16
  renderMenuButton?: (props: React.ButtonHTMLAttributes<HTMLButtonElement> & MenuButtonRenderProps, ref: React.Ref<HTMLButtonElement>) => React.ReactElement<React.ButtonHTMLAttributes<HTMLButtonElement>>;
9
17
  renderMenuPopup?: (props: React.HTMLAttributes<HTMLUListElement> & MenuPopupRenderProps, ref: React.Ref<HTMLUListElement>) => React.ReactElement<React.HTMLAttributes<HTMLUListElement>>;
10
- openMenuOn?: MenuButtonTrigger[];
18
+ openMenuOn?: readonly MenuButtonTrigger[];
11
19
  onToggleMenu?: (open: boolean, event: React.SyntheticEvent) => void;
12
20
  }
13
21
  export declare type MenuButtonTrigger = 'mouseover' | 'click' | 'contextmenu';
@@ -26,7 +34,7 @@ export interface MenuHandle {
26
34
  /**
27
35
  * Headless ARIA `menu`
28
36
  */
29
- declare function Menu(props: MenuProps & React.HTMLAttributes<HTMLUListElement>): React.ReactElement<React.HTMLAttributes<HTMLDivElement>, string | React.JSXElementConstructor<any>>;
37
+ declare function Menu({ disabled, children, openMenuOn, defaultOpen, open: openProp, menuButtonText, renderMenuButton, renderMenuPopup, onToggleMenu }: MenuProps & React.HTMLAttributes<HTMLUListElement>): React.ReactElement<React.HTMLAttributes<HTMLDivElement>, string | React.JSXElementConstructor<any>>;
30
38
  declare namespace Menu {
31
39
  var displayName: string;
32
40
  var propTypes: {
package/esm/Menu/Menu.js CHANGED
@@ -15,27 +15,34 @@ var defaultOpenMenuOn = ['click'];
15
15
  * Headless ARIA `menu`
16
16
  */
17
17
 
18
- function Menu(props) {
18
+ function Menu(_ref) {
19
19
  var _items$activeItemInde;
20
20
 
21
- var disabled = props.disabled,
22
- children = props.children,
23
- _props$openMenuOn = props.openMenuOn,
24
- openMenuOn = _props$openMenuOn === void 0 ? defaultOpenMenuOn : _props$openMenuOn,
25
- menuButtonText = props.menuButtonText,
26
- renderMenuButton = props.renderMenuButton,
27
- renderMenuPopup = props.renderMenuPopup,
28
- onToggleMenu = props.onToggleMenu;
21
+ var disabled = _ref.disabled,
22
+ children = _ref.children,
23
+ _ref$openMenuOn = _ref.openMenuOn,
24
+ openMenuOn = _ref$openMenuOn === void 0 ? defaultOpenMenuOn : _ref$openMenuOn,
25
+ _ref$defaultOpen = _ref.defaultOpen,
26
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
27
+ openProp = _ref.open,
28
+ menuButtonText = _ref.menuButtonText,
29
+ renderMenuButton = _ref.renderMenuButton,
30
+ renderMenuPopup = _ref.renderMenuPopup,
31
+ onToggleMenu = _ref.onToggleMenu;
29
32
  var buttonElementRef = useRef(null);
30
33
  var menuElementRef = useRef(null);
31
34
  var parentMenu = useContext(MenuContext);
32
35
  var isSubmenu = !!parentMenu;
33
- var menu = useMenu();
36
+ var menu = useMenu({
37
+ open: defaultOpen
38
+ });
34
39
  var _menu$ = menu[0],
35
- open = _menu$.open,
40
+ openState = _menu$.open,
36
41
  items = _menu$.items,
37
42
  activeItemIndex = _menu$.activeItemIndex,
38
43
  dispatch = menu[1];
44
+ var openControlled = typeof openProp !== 'undefined';
45
+ var open = openControlled ? openProp : openState;
39
46
 
40
47
  var _useCustom = useCustom('Menu'),
41
48
  rtl = _useCustom.rtl;
@@ -5,7 +5,10 @@ import MenuContext, { MenuActionTypes, MoveFocusTo } from './MenuContext';
5
5
  import { KEY_VALUES, useCustom } from '../utils';
6
6
  import { isFocusEntering, isFocusLeaving } from '../utils/events';
7
7
  import useMenu from './useMenu';
8
+ import { isFocusableElement } from '../utils/dom';
8
9
  export default function Menubar(_ref) {
10
+ var _items$activeItemInde3;
11
+
9
12
  var _ref$vertical = _ref.vertical,
10
13
  vertical = _ref$vertical === void 0 ? false : _ref$vertical,
11
14
  children = _ref.children,
@@ -20,7 +23,8 @@ export default function Menubar(_ref) {
20
23
  var menubarElementRef = useRef(null);
21
24
  var onFocus = useCallback(function (event) {
22
25
  // Focus moves inside Menubar
23
- if (isFocusEntering(event)) {
26
+ if (isFocusEntering(event) && // Skip if focus is moving to a focusable element within this menu
27
+ !(event.target !== event.currentTarget && isFocusableElement(event.target))) {
24
28
  if (activeItemIndex === null) {
25
29
  dispatch({
26
30
  type: MenuActionTypes.MoveFocus,
@@ -43,7 +47,9 @@ export default function Menubar(_ref) {
43
47
  rtl = _useCustom.rtl;
44
48
 
45
49
  var onKeyDown = useCallback(function (event) {
46
- var activeItemElement = isNil(activeItemIndex) ? null : items[activeItemIndex].element;
50
+ var _items$activeItemInde, _items$activeItemInde2;
51
+
52
+ var activeItemElement = isNil(activeItemIndex) ? null : (_items$activeItemInde = (_items$activeItemInde2 = items[activeItemIndex]) === null || _items$activeItemInde2 === void 0 ? void 0 : _items$activeItemInde2.element) !== null && _items$activeItemInde !== void 0 ? _items$activeItemInde : null;
47
53
 
48
54
  switch (true) {
49
55
  case !vertical && !rtl && event.key === KEY_VALUES.RIGHT:
@@ -123,7 +129,7 @@ export default function Menubar(_ref) {
123
129
  onBlur: onBlur,
124
130
  onKeyDown: onKeyDown,
125
131
  onClick: onClick,
126
- 'aria-activedescendant': isNil(activeItemIndex) ? undefined : items[activeItemIndex].element.id,
132
+ 'aria-activedescendant': isNil(activeItemIndex) ? undefined : (_items$activeItemInde3 = items[activeItemIndex]) === null || _items$activeItemInde3 === void 0 ? void 0 : _items$activeItemInde3.element.id,
127
133
  'aria-orientation': vertical ? 'vertical' : undefined // implicitly set 'horizontal'
128
134
 
129
135
  }, menubarElementRef));
@@ -6,9 +6,10 @@ import ModalHeader from './ModalHeader';
6
6
  import ModalTitle from './ModalTitle';
7
7
  import ModalFooter from './ModalFooter';
8
8
  import { TypeAttributes, RsRefForwardingComponent } from '../@types/common';
9
+ export declare type ModalSize = TypeAttributes.Size | 'full';
9
10
  export interface ModalProps extends BaseModalProps, Pick<React.HTMLAttributes<HTMLElement>, 'role' | 'id' | 'aria-labelledby' | 'aria-describedby'> {
10
11
  /** A modal can have different sizes */
11
- size?: TypeAttributes.Size;
12
+ size?: ModalSize;
12
13
  /** Set the duration of the animation */
13
14
  animationTimeout?: number;
14
15
  /** Set an animation effect for Modal, the default is Bounce. */
@@ -17,7 +18,10 @@ export interface ModalProps extends BaseModalProps, Pick<React.HTMLAttributes<HT
17
18
  dialogClassName?: string;
18
19
  /** CSS style applied to dialog DOM nodes */
19
20
  dialogStyle?: React.CSSProperties;
20
- /** Full screen */
21
+ /**
22
+ * Full screen
23
+ * @deprecated Use size="full" instead.
24
+ */
21
25
  full?: boolean;
22
26
  /** You can use a custom element type for Dialog */
23
27
  dialogAs?: React.ElementType;
@@ -11,7 +11,7 @@ import on from 'dom-lib/on';
11
11
  import getAnimationEnd from 'dom-lib/getAnimationEnd';
12
12
  import BaseModal, { modalPropTypes } from '../Overlay/Modal';
13
13
  import Bounce from '../Animation/Bounce';
14
- import { useClassNames, mergeRefs, SIZE, useWillUnmount } from '../utils';
14
+ import { useClassNames, mergeRefs, useWillUnmount } from '../utils';
15
15
  import ModalDialog, { modalDialogPropTypes } from './ModalDialog';
16
16
  import { ModalContext } from './ModalContext';
17
17
  import ModalBody from './ModalBody';
@@ -20,6 +20,8 @@ import ModalTitle from './ModalTitle';
20
20
  import ModalFooter from './ModalFooter';
21
21
  import { useBodyStyles } from './utils';
22
22
  import useUniqueId from '../utils/useUniqueId';
23
+ import deprecatePropType from '../utils/deprecatePropType';
24
+ var modalSizes = ['xs', 'sm', 'md', 'lg', 'full'];
23
25
  var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
24
26
  var className = props.className,
25
27
  children = props.children,
@@ -193,10 +195,10 @@ Modal.propTypes = _extends({}, modalPropTypes, {
193
195
  animationTimeout: PropTypes.number,
194
196
  classPrefix: PropTypes.string,
195
197
  dialogClassName: PropTypes.string,
196
- size: PropTypes.oneOf(SIZE),
198
+ size: PropTypes.oneOf(modalSizes),
197
199
  dialogStyle: PropTypes.object,
198
200
  dialogAs: PropTypes.elementType,
199
- full: PropTypes.bool,
201
+ full: deprecatePropType(PropTypes.bool, 'Use size="full" instead.'),
200
202
  overflow: PropTypes.bool,
201
203
  drawer: PropTypes.bool
202
204
  });
@@ -1 +1 @@
1
- export declare function isFocusableElement(element: HTMLElement): boolean;
1
+ export declare function isFocusableElement(element: Element): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.8.1",
3
+ "version": "5.11.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -37,7 +37,7 @@
37
37
  "lodash": "^4.17.11",
38
38
  "prop-types": "^15.7.2",
39
39
  "react-virtualized": "^9.22.3",
40
- "rsuite-table": "^5.3.6",
40
+ "rsuite-table": "^5.5.0",
41
41
  "schema-typed": "^2.0.2"
42
42
  },
43
43
  "peerDependencies": {