rsuite 5.13.1 → 5.15.1

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 (145) hide show
  1. package/Button/styles/index.less +1 -0
  2. package/CHANGELOG.md +37 -0
  3. package/Dropdown/styles/index.less +8 -3
  4. package/Grid/styles/index.less +42 -10
  5. package/Sidenav/styles/index.less +7 -9
  6. package/Table/styles/index.less +0 -2
  7. package/Tooltip/styles/index.less +4 -4
  8. package/cjs/@types/common.d.ts +6 -0
  9. package/cjs/Cascader/utils.d.ts +1 -1
  10. package/cjs/Col/Col.d.ts +25 -5
  11. package/cjs/Col/Col.js +9 -1
  12. package/cjs/CustomProvider/CustomProvider.d.ts +20 -7
  13. package/cjs/CustomProvider/CustomProvider.js +24 -3
  14. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  15. package/cjs/Form/Form.d.ts +8 -8
  16. package/cjs/Form/test/Form.test.d.ts +1 -0
  17. package/cjs/Form/test/Form.test.js +18 -0
  18. package/cjs/Modal/test/Modal.test.d.ts +1 -0
  19. package/cjs/Modal/test/Modal.test.js +14 -0
  20. package/cjs/Modal/utils.d.ts +1 -1
  21. package/cjs/Nav/NavDropdownMenu.d.ts +12 -1
  22. package/cjs/Nav/NavDropdownMenu.js +9 -3
  23. package/cjs/Nav/test/Nav.test.d.ts +1 -0
  24. package/cjs/Nav/test/Nav.test.js +17 -0
  25. package/cjs/Navbar/NavbarDropdownMenu.d.ts +12 -1
  26. package/cjs/Navbar/NavbarDropdownMenu.js +9 -3
  27. package/cjs/Overlay/Modal.d.ts +1 -4
  28. package/cjs/Overlay/Overlay.d.ts +3 -1
  29. package/cjs/Overlay/Overlay.js +6 -2
  30. package/cjs/Overlay/OverlayTrigger.d.ts +4 -0
  31. package/cjs/Overlay/OverlayTrigger.js +32 -4
  32. package/cjs/Overlay/Position.d.ts +3 -1
  33. package/cjs/Overlay/Position.js +12 -4
  34. package/cjs/Overlay/positionUtils.d.ts +11 -4
  35. package/cjs/Overlay/positionUtils.js +48 -2
  36. package/cjs/Panel/Panel.js +9 -6
  37. package/cjs/Picker/utils.d.ts +1 -1
  38. package/cjs/Popover/Popover.d.ts +2 -0
  39. package/cjs/Popover/Popover.js +6 -3
  40. package/cjs/Sidenav/SidenavDropdownToggle.js +2 -1
  41. package/cjs/Sidenav/SidenavItem.d.ts +4 -0
  42. package/cjs/Sidenav/SidenavItem.js +40 -31
  43. package/cjs/Toggle/Toggle.d.ts +1 -1
  44. package/cjs/Tooltip/Tooltip.d.ts +3 -1
  45. package/cjs/Tooltip/Tooltip.js +8 -3
  46. package/cjs/Uploader/Uploader.d.ts +2 -0
  47. package/cjs/Uploader/Uploader.js +6 -2
  48. package/cjs/Whisper/Whisper.js +6 -1
  49. package/cjs/index.d.ts +2 -2
  50. package/cjs/index.js +3 -2
  51. package/cjs/toaster/ToastContainer.d.ts +1 -0
  52. package/cjs/toaster/ToastContainer.js +4 -1
  53. package/cjs/toaster/index.d.ts +1 -0
  54. package/cjs/toaster/index.js +4 -1
  55. package/cjs/toaster/toaster.d.ts +0 -1
  56. package/cjs/toaster/useToaster.d.ts +12 -0
  57. package/cjs/toaster/useToaster.js +43 -0
  58. package/cjs/utils/ajaxUpload.d.ts +1 -0
  59. package/cjs/utils/ajaxUpload.js +3 -1
  60. package/cjs/utils/constants.d.ts +1 -0
  61. package/cjs/utils/constants.js +3 -1
  62. package/cjs/utils/stringToObject.d.ts +1 -1
  63. package/cjs/utils/tplTransform.d.ts +1 -1
  64. package/cjs/utils/treeUtils.d.ts +3 -3
  65. package/cjs/utils/useCustom.d.ts +1 -1
  66. package/cjs/utils/useCustom.js +5 -3
  67. package/cjs/utils/useFocus.d.ts +1 -1
  68. package/dist/rsuite-rtl.css +684 -71
  69. package/dist/rsuite-rtl.min.css +1 -1
  70. package/dist/rsuite-rtl.min.css.map +1 -1
  71. package/dist/rsuite.css +684 -71
  72. package/dist/rsuite.js +92 -103
  73. package/dist/rsuite.js.map +1 -1
  74. package/dist/rsuite.min.css +1 -1
  75. package/dist/rsuite.min.css.map +1 -1
  76. package/dist/rsuite.min.js +1 -1
  77. package/dist/rsuite.min.js.map +1 -1
  78. package/esm/@types/common.d.ts +6 -0
  79. package/esm/Cascader/utils.d.ts +1 -1
  80. package/esm/Col/Col.d.ts +25 -5
  81. package/esm/Col/Col.js +10 -2
  82. package/esm/CustomProvider/CustomProvider.d.ts +20 -7
  83. package/esm/CustomProvider/CustomProvider.js +22 -3
  84. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  85. package/esm/Form/Form.d.ts +8 -8
  86. package/esm/Form/test/Form.test.d.ts +1 -0
  87. package/esm/Form/test/Form.test.js +11 -0
  88. package/esm/Modal/test/Modal.test.d.ts +1 -0
  89. package/esm/Modal/test/Modal.test.js +9 -0
  90. package/esm/Modal/utils.d.ts +1 -1
  91. package/esm/Nav/NavDropdownMenu.d.ts +12 -1
  92. package/esm/Nav/NavDropdownMenu.js +8 -3
  93. package/esm/Nav/test/Nav.test.d.ts +1 -0
  94. package/esm/Nav/test/Nav.test.js +11 -0
  95. package/esm/Navbar/NavbarDropdownMenu.d.ts +12 -1
  96. package/esm/Navbar/NavbarDropdownMenu.js +8 -3
  97. package/esm/Overlay/Modal.d.ts +1 -4
  98. package/esm/Overlay/Overlay.d.ts +3 -1
  99. package/esm/Overlay/Overlay.js +6 -2
  100. package/esm/Overlay/OverlayTrigger.d.ts +4 -0
  101. package/esm/Overlay/OverlayTrigger.js +33 -5
  102. package/esm/Overlay/Position.d.ts +3 -1
  103. package/esm/Overlay/Position.js +12 -4
  104. package/esm/Overlay/positionUtils.d.ts +11 -4
  105. package/esm/Overlay/positionUtils.js +46 -2
  106. package/esm/Panel/Panel.js +9 -6
  107. package/esm/Picker/utils.d.ts +1 -1
  108. package/esm/Popover/Popover.d.ts +2 -0
  109. package/esm/Popover/Popover.js +6 -3
  110. package/esm/Sidenav/SidenavDropdownToggle.js +2 -1
  111. package/esm/Sidenav/SidenavItem.d.ts +4 -0
  112. package/esm/Sidenav/SidenavItem.js +38 -31
  113. package/esm/Toggle/Toggle.d.ts +1 -1
  114. package/esm/Tooltip/Tooltip.d.ts +3 -1
  115. package/esm/Tooltip/Tooltip.js +8 -3
  116. package/esm/Uploader/Uploader.d.ts +2 -0
  117. package/esm/Uploader/Uploader.js +6 -2
  118. package/esm/Whisper/Whisper.js +6 -1
  119. package/esm/index.d.ts +2 -2
  120. package/esm/index.js +1 -1
  121. package/esm/toaster/ToastContainer.d.ts +1 -0
  122. package/esm/toaster/ToastContainer.js +1 -0
  123. package/esm/toaster/index.d.ts +1 -0
  124. package/esm/toaster/index.js +1 -0
  125. package/esm/toaster/toaster.d.ts +0 -1
  126. package/esm/toaster/useToaster.d.ts +12 -0
  127. package/esm/toaster/useToaster.js +34 -0
  128. package/esm/utils/ajaxUpload.d.ts +1 -0
  129. package/esm/utils/ajaxUpload.js +3 -1
  130. package/esm/utils/constants.d.ts +1 -0
  131. package/esm/utils/constants.js +1 -0
  132. package/esm/utils/stringToObject.d.ts +1 -1
  133. package/esm/utils/tplTransform.d.ts +1 -1
  134. package/esm/utils/treeUtils.d.ts +3 -3
  135. package/esm/utils/useCustom.d.ts +1 -1
  136. package/esm/utils/useCustom.js +5 -3
  137. package/esm/utils/useFocus.d.ts +1 -1
  138. package/package.json +1 -1
  139. package/styles/color-modes/dark.less +223 -184
  140. package/styles/color-modes/high-contrast.less +221 -182
  141. package/styles/color-modes/light.less +44 -5
  142. package/styles/colors/dark.less +91 -91
  143. package/styles/colors/high-contrast.less +91 -91
  144. package/styles/variables.less +33 -12
  145. package/styles/color-modes/common.less +0 -44
@@ -31,6 +31,10 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
31
31
 
32
32
  var _Sidenav = require("./Sidenav");
33
33
 
34
+ var _Whisper = _interopRequireDefault(require("../Whisper"));
35
+
36
+ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
37
+
34
38
  /**
35
39
  * @private
36
40
  */
@@ -44,7 +48,7 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
44
48
  var _props$as = props.as,
45
49
  Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,
46
50
  activeProp = props.active,
47
- _children = props.children,
51
+ children = props.children,
48
52
  className = props.className,
49
53
  disabled = props.disabled,
50
54
  _props$classPrefix = props.classPrefix,
@@ -56,7 +60,9 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
56
60
  onSelect = props.onSelect,
57
61
  divider = props.divider,
58
62
  panel = props.panel,
59
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "className", "disabled", "classPrefix", "icon", "eventKey", "style", "onClick", "onSelect", "divider", "panel"]);
63
+ _props$tooltip = props.tooltip,
64
+ tooltip = _props$tooltip === void 0 ? children : _props$tooltip,
65
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "className", "disabled", "classPrefix", "icon", "eventKey", "style", "onClick", "onSelect", "divider", "panel", "tooltip"]);
60
66
 
61
67
  var _ref = (0, _react.useContext)(_NavContext.default),
62
68
  activeKey = _ref.activeKey,
@@ -76,33 +82,36 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
76
82
  }, [disabled, onSelect, onSelectFromNav, eventKey, onClick]);
77
83
 
78
84
  if (!sidenav.expanded) {
79
- return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
80
- selected: selected,
81
- disabled: disabled,
82
- onActivate: handleClick
83
- }, function (_ref2, menuitemRef) {
84
- var selected = _ref2.selected,
85
- active = _ref2.active,
86
- menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["selected", "active"]);
87
- var classes = merge(className, withClassPrefix({
88
- focus: active,
89
- active: selected,
90
- disabled: disabled
91
- })); // Show tooltip when inside a collapse <Sidenav>
92
-
93
- return (0, _utils.appendTooltip)({
94
- children: function children(triggerProps, triggerRef) {
95
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
96
- ref: (0, _utils.mergeRefs)((0, _utils.mergeRefs)(ref, menuitemRef), triggerRef),
97
- disabled: Component === _SafeAnchor.default ? disabled : undefined,
98
- className: classes,
99
- "data-event-key": eventKey
100
- }, (0, _omit.default)(rest, ['divider', 'panel']), triggerProps, menuitem), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
101
- className: prefix('icon')
102
- }), _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
103
- },
104
- message: _children,
105
- placement: 'right'
85
+ return /*#__PURE__*/_react.default.createElement(_Whisper.default, {
86
+ trigger: "hover",
87
+ speaker: /*#__PURE__*/_react.default.createElement(_Tooltip.default, null, tooltip),
88
+ placement: "right"
89
+ }, function (triggerProps, triggerRef) {
90
+ return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
91
+ selected: selected,
92
+ disabled: disabled,
93
+ onActivate: handleClick
94
+ }, function (_ref2, menuitemRef) {
95
+ var selected = _ref2.selected,
96
+ active = _ref2.active,
97
+ menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["selected", "active"]);
98
+ var classes = merge(className, withClassPrefix({
99
+ focus: active,
100
+ active: selected,
101
+ disabled: disabled
102
+ })); // Show tooltip when inside a collapse <Sidenav>
103
+
104
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
105
+ ref: (0, _utils.mergeRefs)((0, _utils.mergeRefs)(ref, menuitemRef), triggerRef),
106
+ disabled: Component === _SafeAnchor.default ? disabled : undefined,
107
+ className: classes,
108
+ "data-event-key": eventKey
109
+ }, (0, _omit.default)(rest, ['divider', 'panel']), triggerProps, menuitem, {
110
+ onMouseOver: (0, _utils.createChainedFunction)(menuitem.onMouseOver, triggerProps.onMouseOver),
111
+ onMouseOut: (0, _utils.createChainedFunction)(menuitem.onMouseOut, triggerProps.onMouseOut)
112
+ }), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
113
+ className: prefix('icon')
114
+ }), children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
106
115
  });
107
116
  });
108
117
  }
@@ -122,7 +131,7 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
122
131
  role: "none presentation",
123
132
  style: style,
124
133
  className: merge(className, prefix('panel'))
125
- }, rest), _children);
134
+ }, rest), children);
126
135
  }
127
136
 
128
137
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
@@ -137,7 +146,7 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
137
146
  "data-event-key": eventKey
138
147
  }, rest), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
139
148
  className: prefix('icon')
140
- }), _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
149
+ }), children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
141
150
  });
142
151
 
143
152
  SidenavItem.displayName = 'Sidenav.Item';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { WithAsProps, TypeAttributes, RsRefForwardingComponent } from '../@types/common';
3
3
  import { ToggleLocale } from '../locales';
4
4
  export interface ToggleProps extends WithAsProps {
5
- /** Wheather to disabled toggle */
5
+ /** Whether to disabled toggle */
6
6
  disabled?: boolean;
7
7
  /** Render the control as plain text */
8
8
  plaintext?: boolean;
@@ -3,10 +3,12 @@ import { TypeAttributes, WithAsProps, RsRefForwardingComponent } from '../@types
3
3
  export interface TooltipProps extends WithAsProps {
4
4
  /** Dispaly placement */
5
5
  placement?: TypeAttributes.Placement;
6
- /** Wheather visible */
6
+ /** Whether visible */
7
7
  visible?: boolean;
8
8
  /** Primary content */
9
9
  children?: React.ReactNode;
10
+ /** Whether show the arrow indicator */
11
+ arrow?: boolean;
10
12
  }
11
13
  declare const Tooltip: RsRefForwardingComponent<'div', TooltipProps>;
12
14
  export default Tooltip;
@@ -24,13 +24,17 @@ var Tooltip = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
24
  children = props.children,
25
25
  style = props.style,
26
26
  visible = props.visible,
27
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "children", "style", "visible"]);
27
+ _props$arrow = props.arrow,
28
+ arrow = _props$arrow === void 0 ? true : _props$arrow,
29
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "children", "style", "visible", "arrow"]);
28
30
 
29
31
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
30
32
  merge = _useClassNames.merge,
31
33
  withClassPrefix = _useClassNames.withClassPrefix;
32
34
 
33
- var classes = merge(className, withClassPrefix());
35
+ var classes = merge(className, withClassPrefix({
36
+ arrow: arrow
37
+ }));
34
38
  var styles = (0, _extends2.default)({
35
39
  opacity: visible ? 1 : undefined
36
40
  }, style);
@@ -49,7 +53,8 @@ Tooltip.propTypes = {
49
53
  classPrefix: _propTypes.default.string,
50
54
  className: _propTypes.default.string,
51
55
  style: _propTypes.default.object,
52
- children: _propTypes.default.node
56
+ children: _propTypes.default.node,
57
+ arrow: _propTypes.default.bool
53
58
  };
54
59
  var _default = Tooltip;
55
60
  exports.default = _default;
@@ -71,6 +71,8 @@ export interface UploaderProps extends WithAsProps {
71
71
  draggable?: boolean;
72
72
  /** Custom locale */
73
73
  locale?: UploaderLocale;
74
+ /** The http method of upload request */
75
+ method?: string;
74
76
  /** Allow the queue to be updated. After you select a file, update the checksum function before the upload file queue, and return false to not update */
75
77
  shouldQueueUpdate?: (fileList: FileType[], newFile: FileType[] | FileType) => boolean | Promise<boolean>;
76
78
  /** Allow uploading of files. Check function before file upload, return false without uploading */
@@ -140,6 +140,8 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
140
140
  removable = _props$removable === void 0 ? true : _props$removable,
141
141
  disabledFileItem = props.disabledFileItem,
142
142
  maxPreviewFileSize = props.maxPreviewFileSize,
143
+ _props$method = props.method,
144
+ method = _props$method === void 0 ? 'POST' : _props$method,
143
145
  _props$autoUpload = props.autoUpload,
144
146
  autoUpload = _props$autoUpload === void 0 ? true : _props$autoUpload,
145
147
  action = props.action,
@@ -163,7 +165,7 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
163
165
  onError = props.onError,
164
166
  onProgress = props.onProgress,
165
167
  onReupload = props.onReupload,
166
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "listType", "defaultFileList", "fileList", "fileListVisible", "locale", "style", "draggable", "name", "multiple", "disabled", "readOnly", "plaintext", "accept", "children", "toggleAs", "removable", "disabledFileItem", "maxPreviewFileSize", "autoUpload", "action", "headers", "withCredentials", "disableMultipart", "timeout", "data", "onRemove", "onUpload", "shouldUpload", "shouldQueueUpdate", "renderFileInfo", "renderThumbnail", "onPreview", "onChange", "onSuccess", "onError", "onProgress", "onReupload"]);
168
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "listType", "defaultFileList", "fileList", "fileListVisible", "locale", "style", "draggable", "name", "multiple", "disabled", "readOnly", "plaintext", "accept", "children", "toggleAs", "removable", "disabledFileItem", "maxPreviewFileSize", "method", "autoUpload", "action", "headers", "withCredentials", "disableMultipart", "timeout", "data", "onRemove", "onUpload", "shouldUpload", "shouldQueueUpdate", "renderFileInfo", "renderThumbnail", "onPreview", "onChange", "onSuccess", "onError", "onProgress", "onReupload"]);
167
169
 
168
170
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
169
171
  merge = _useClassNames.merge,
@@ -267,6 +269,7 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
267
269
  timeout: timeout,
268
270
  headers: headers,
269
271
  data: data,
272
+ method: method,
270
273
  withCredentials: withCredentials,
271
274
  disableMultipart: disableMultipart,
272
275
  file: file.blobFile,
@@ -287,7 +290,7 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
287
290
  }
288
291
 
289
292
  onUpload === null || onUpload === void 0 ? void 0 : onUpload(file, uploadData, xhr);
290
- }, [action, data, handleAjaxUploadError, handleAjaxUploadProgress, handleAjaxUploadSuccess, headers, name, onUpload, timeout, updateFileStatus, withCredentials, disableMultipart]);
293
+ }, [name, timeout, headers, data, method, withCredentials, disableMultipart, action, handleAjaxUploadError, handleAjaxUploadSuccess, handleAjaxUploadProgress, updateFileStatus, onUpload]);
291
294
  var handleAjaxUpload = (0, _react.useCallback)(function () {
292
295
  fileList.current.forEach(function (file) {
293
296
  var checkState = shouldUpload === null || shouldUpload === void 0 ? void 0 : shouldUpload(file);
@@ -481,6 +484,7 @@ Uploader.propTypes = {
481
484
  onProgress: _propTypes.default.func,
482
485
  onRemove: _propTypes.default.func,
483
486
  maxPreviewFileSize: _propTypes.default.number,
487
+ method: _propTypes.default.string,
484
488
  style: _propTypes.default.object,
485
489
  renderFileInfo: _propTypes.default.func,
486
490
  renderThumbnail: _propTypes.default.func,
@@ -50,7 +50,12 @@ Whisper.propTypes = {
50
50
  /**
51
51
  * Prevent floating element overflow
52
52
  */
53
- preventOverflow: _propTypes.default.bool
53
+ preventOverflow: _propTypes.default.bool,
54
+
55
+ /**
56
+ * Whether enable speaker follow cursor
57
+ */
58
+ followCursor: _propTypes.default.bool
54
59
  };
55
60
  var _default = Whisper;
56
61
  exports.default = _default;
package/cjs/index.d.ts CHANGED
@@ -32,7 +32,7 @@ export { default as Avatar } from './Avatar';
32
32
  export type { AvatarProps } from './Avatar';
33
33
  export { default as AvatarGroup } from './AvatarGroup';
34
34
  export type { AvatarGroupProps } from './AvatarGroup';
35
- export { default as toaster } from './toaster';
35
+ export { default as toaster, useToaster } from './toaster';
36
36
  export type { Toaster } from './toaster';
37
37
  export { default as Dropdown } from './Dropdown';
38
38
  export type { DropdownProps, DropdownMenuItemProps, DropdownMenuProps } from './Dropdown';
@@ -51,7 +51,7 @@ export type { StepsProps, StepItemProps } from './Steps';
51
51
  export { default as Toggle } from './Toggle';
52
52
  export type { ToggleProps } from './Toggle';
53
53
  export { default as Form, useFormClassNames } from './Form';
54
- export type { FormProps, FormGroupProps, FormErrorMessageProps, FormControlLabelProps, FormHelpTextProps, FormControlProps } from './Form';
54
+ export type { FormProps, FormInstance, FormGroupProps, FormErrorMessageProps, FormControlLabelProps, FormHelpTextProps, FormControlProps } from './Form';
55
55
  export { default as Input } from './Input';
56
56
  export type { InputProps } from './Input';
57
57
  export { default as MaskedInput } from './MaskedInput';
package/cjs/index.js CHANGED
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
- exports.useFormClassNames = exports.CustomProvider = exports.Affix = exports.DOMHelper = exports.Animation = exports.Schema = exports.Stack = exports.Divider = exports.Footer = exports.Sidebar = exports.Header = exports.Content = exports.Container = exports.FlexboxGrid = exports.Col = exports.Row = exports.Grid = exports.Carousel = exports.Calendar = exports.List = exports.TagGroup = exports.Tag = exports.Timeline = exports.Progress = exports.Table = exports.PanelGroup = exports.Panel = exports.CheckTree = exports.Tree = exports.Rate = exports.RangeSlider = exports.Slider = exports.Uploader = exports.AutoComplete = exports.DateRangePicker = exports.DatePicker = exports.MultiCascader = exports.Cascader = exports.CheckTreePicker = exports.TreePicker = exports.TagInput = exports.TagPicker = exports.InputPicker = exports.CheckPicker = exports.SelectPicker = exports.RadioGroup = exports.Radio = exports.CheckboxGroup = exports.Checkbox = exports.InputGroup = exports.InputNumber = exports.MaskedInput = exports.Input = exports.Form = exports.Toggle = exports.Steps = exports.Pagination = exports.Breadcrumb = exports.Sidenav = exports.Navbar = exports.Nav = exports.Dropdown = exports.toaster = exports.AvatarGroup = exports.Avatar = exports.Badge = exports.Placeholder = exports.SafeAnchor = exports.Loader = exports.Drawer = exports.Message = exports.Notification = exports.Modal = exports.Popover = exports.Tooltip = exports.Whisper = exports.ButtonGroup = exports.ButtonToolbar = exports.IconButton = exports.Button = void 0;
8
+ exports.useFormClassNames = exports.useToaster = exports.CustomProvider = exports.Affix = exports.DOMHelper = exports.Animation = exports.Schema = exports.Stack = exports.Divider = exports.Footer = exports.Sidebar = exports.Header = exports.Content = exports.Container = exports.FlexboxGrid = exports.Col = exports.Row = exports.Grid = exports.Carousel = exports.Calendar = exports.List = exports.TagGroup = exports.Tag = exports.Timeline = exports.Progress = exports.Table = exports.PanelGroup = exports.Panel = exports.CheckTree = exports.Tree = exports.Rate = exports.RangeSlider = exports.Slider = exports.Uploader = exports.AutoComplete = exports.DateRangePicker = exports.DatePicker = exports.MultiCascader = exports.Cascader = exports.CheckTreePicker = exports.TreePicker = exports.TagInput = exports.TagPicker = exports.InputPicker = exports.CheckPicker = exports.SelectPicker = exports.RadioGroup = exports.Radio = exports.CheckboxGroup = exports.Checkbox = exports.InputGroup = exports.InputNumber = exports.MaskedInput = exports.Input = exports.Form = exports.Toggle = exports.Steps = exports.Pagination = exports.Breadcrumb = exports.Sidenav = exports.Navbar = exports.Nav = exports.Dropdown = exports.toaster = exports.AvatarGroup = exports.Avatar = exports.Badge = exports.Placeholder = exports.SafeAnchor = exports.Loader = exports.Drawer = exports.Message = exports.Notification = exports.Modal = exports.Popover = exports.Tooltip = exports.Whisper = exports.ButtonGroup = exports.ButtonToolbar = exports.IconButton = exports.Button = void 0;
9
9
 
10
10
  var _Button = _interopRequireDefault(require("./Button"));
11
11
 
@@ -75,9 +75,10 @@ var _AvatarGroup = _interopRequireDefault(require("./AvatarGroup"));
75
75
 
76
76
  exports.AvatarGroup = _AvatarGroup.default;
77
77
 
78
- var _toaster = _interopRequireDefault(require("./toaster"));
78
+ var _toaster = _interopRequireWildcard(require("./toaster"));
79
79
 
80
80
  exports.toaster = _toaster.default;
81
+ exports.useToaster = _toaster.useToaster;
81
82
 
82
83
  var _Dropdown = _interopRequireDefault(require("./Dropdown"));
83
84
 
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export declare type PlacementType = 'topCenter' | 'bottomCenter' | 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd';
4
+ export declare const toastPlacements: PlacementType[];
4
5
  export interface ToastContainerProps extends WithAsProps {
5
6
  /** The placement of the message box */
6
7
  placement?: PlacementType;
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
- exports.default = void 0;
8
+ exports.default = exports.toastPlacements = void 0;
9
9
 
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
 
@@ -23,6 +23,9 @@ var _Transition = _interopRequireDefault(require("../Animation/Transition"));
23
23
 
24
24
  var _utils = require("../utils");
25
25
 
26
+ var toastPlacements = ['topCenter', 'bottomCenter', 'topStart', 'topEnd', 'bottomStart', 'bottomEnd'];
27
+ exports.toastPlacements = toastPlacements;
28
+
26
29
  var useMessages = function useMessages() {
27
30
  var _useState = (0, _react.useState)([]),
28
31
  messages = _useState[0],
@@ -1,3 +1,4 @@
1
1
  import toaster from './toaster';
2
2
  export type { Toaster } from './toaster';
3
+ export { default as useToaster } from './useToaster';
3
4
  export default toaster;
@@ -3,9 +3,12 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports.default = void 0;
6
+ exports.default = exports.useToaster = void 0;
7
7
 
8
8
  var _toaster = _interopRequireDefault(require("./toaster"));
9
9
 
10
+ var _useToaster = _interopRequireDefault(require("./useToaster"));
11
+
12
+ exports.useToaster = _useToaster.default;
10
13
  var _default = _toaster.default;
11
14
  exports.default = _default;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { ToastContainerProps } from './ToastContainer';
3
- export declare type PlacementType = 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd';
4
3
  export interface Toaster {
5
4
  /**
6
5
  * Add a message to the container.
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ToastContainerProps } from './ToastContainer';
3
+ /**
4
+ * Hook to use the toaster
5
+ * @returns toaster { push, remove, clear }
6
+ */
7
+ declare const useToaster: () => {
8
+ push: (message: React.ReactNode, options?: ToastContainerProps) => string | undefined;
9
+ remove: (key: string) => void;
10
+ clear: () => void;
11
+ };
12
+ export default useToaster;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _toaster = _interopRequireDefault(require("./toaster"));
9
+
10
+ var _utils = require("../utils");
11
+
12
+ /**
13
+ * Hook to use the toaster
14
+ * @returns toaster { push, remove, clear }
15
+ */
16
+ var useToaster = function useToaster() {
17
+ var _useCustom = (0, _utils.useCustom)(),
18
+ toasters = _useCustom.toasters;
19
+
20
+ return {
21
+ push: function push(message, options) {
22
+ var _toasters$current;
23
+
24
+ var customToaster = toasters === null || toasters === void 0 ? void 0 : (_toasters$current = toasters.current) === null || _toasters$current === void 0 ? void 0 : _toasters$current.get((options === null || options === void 0 ? void 0 : options.placement) || 'topCenter');
25
+ return customToaster ? customToaster.push(message) : _toaster.default.push(message, options);
26
+ },
27
+ remove: function remove(key) {
28
+ toasters ? Array.from(toasters.current).forEach(function (_ref) {
29
+ var c = _ref[1];
30
+ return c === null || c === void 0 ? void 0 : c.remove(key);
31
+ }) : _toaster.default.remove(key);
32
+ },
33
+ clear: function clear() {
34
+ toasters ? Array.from(toasters.current).forEach(function (_ref2) {
35
+ var c = _ref2[1];
36
+ return c === null || c === void 0 ? void 0 : c.clear();
37
+ }) : _toaster.default.clear();
38
+ }
39
+ };
40
+ };
41
+
42
+ var _default = useToaster;
43
+ exports.default = _default;
@@ -11,6 +11,7 @@ interface Options {
11
11
  headers?: any;
12
12
  file: File;
13
13
  url: string;
14
+ method?: string;
14
15
  onError: (status: ErrorStatus, event: ProgressEvent, xhr: XMLHttpRequest) => void;
15
16
  onSuccess: (response: any, event: ProgressEvent, xhr: XMLHttpRequest) => void;
16
17
  onProgress: (percent: number, event: ProgressEvent, xhr: XMLHttpRequest) => void;
@@ -24,6 +24,8 @@ function ajaxUpload(options) {
24
24
  headers = _options$headers === void 0 ? {} : _options$headers,
25
25
  _options$data = options.data,
26
26
  data = _options$data === void 0 ? {} : _options$data,
27
+ _options$method = options.method,
28
+ method = _options$method === void 0 ? 'POST' : _options$method,
27
29
  onError = options.onError,
28
30
  onSuccess = options.onSuccess,
29
31
  onProgress = options.onProgress,
@@ -33,7 +35,7 @@ function ajaxUpload(options) {
33
35
  disableMultipart = options.disableMultipart;
34
36
  var xhr = new XMLHttpRequest();
35
37
  var sendableData;
36
- xhr.open('POST', url, true);
38
+ xhr.open(method, url, true);
37
39
 
38
40
  if (!disableMultipart) {
39
41
  sendableData = new FormData();
@@ -1,4 +1,5 @@
1
1
  export declare const SIZE: string[];
2
+ export declare const COLUMN_SIZE: string[];
2
3
  export declare const STATUS: string[];
3
4
  export declare const COLOR: string[];
4
5
  export declare const PLACEMENT_4: readonly ["top", "bottom", "right", "left"];
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.DATERANGE_DISABLED_TARGET = exports.KEY_VALUES = exports.TREE_NODE_DROP_POSITION = exports.TREE_NODE_ROOT_PADDING = exports.TREE_NODE_PADDING = exports.CHECK_STATE = exports.PLACEMENT = exports.PLACEMENT_AUTO = exports.PLACEMENT_8 = exports.PLACEMENT_4 = exports.COLOR = exports.STATUS = exports.SIZE = void 0;
4
+ exports.DATERANGE_DISABLED_TARGET = exports.KEY_VALUES = exports.TREE_NODE_DROP_POSITION = exports.TREE_NODE_ROOT_PADDING = exports.TREE_NODE_PADDING = exports.CHECK_STATE = exports.PLACEMENT = exports.PLACEMENT_AUTO = exports.PLACEMENT_8 = exports.PLACEMENT_4 = exports.COLOR = exports.STATUS = exports.COLUMN_SIZE = exports.SIZE = void 0;
5
5
  var SIZE = ['lg', 'md', 'sm', 'xs'];
6
6
  exports.SIZE = SIZE;
7
+ var COLUMN_SIZE = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];
8
+ exports.COLUMN_SIZE = COLUMN_SIZE;
7
9
  var STATUS = ['success', 'warning', 'error', 'info'];
8
10
  exports.STATUS = STATUS;
9
11
  var COLOR = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'violet'];
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, labelKey?: string | undefined, valueKey?: string | undefined) => object | null;
1
+ declare const _default: (value: any, labelKey?: string, valueKey?: string) => object | null;
2
2
  export default _default;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- declare const _default: (pattern: string, ...data: any[]) => React.ReactNode;
3
2
  /**
4
3
  * tplTransform('Show {0} data', <i>100</i>);
5
4
  * output:
6
5
  * Show <span><i>100</i></span> data
7
6
  */
7
+ declare const _default: (pattern: string, ...data: any[]) => React.ReactNode;
8
8
  export default _default;
@@ -70,7 +70,7 @@ export declare function filterNodesOfTree(data: any, check: any): TreeNodeType[]
70
70
  * @param isSearching - component is in Searching
71
71
  * @returns
72
72
  */
73
- export declare const getFocusableItems: (filteredData: ItemDataType[], props: Required<Pick<PartialTreeProps, 'disabledItemValues' | 'valueKey' | 'childrenKey' | 'expandItemValues'>>, isSearching?: boolean | undefined) => TreeNodeType[];
73
+ export declare const getFocusableItems: (filteredData: ItemDataType[], props: Required<Pick<PartialTreeProps, 'disabledItemValues' | 'valueKey' | 'childrenKey' | 'expandItemValues'>>, isSearching?: boolean) => TreeNodeType[];
74
74
  /**
75
75
  * return all focusable Item and active Element index
76
76
  * @param focusItemValue
@@ -190,7 +190,7 @@ interface UnSerializeListProps {
190
190
  export declare function useFlattenTreeData({ data, labelKey, valueKey, childrenKey, uncheckableItemValues, callback }: FlattenTreeDataProps): {
191
191
  forceUpdate: () => void;
192
192
  flattenNodes: TreeNodesType;
193
- flattenTreeData: (treeData: TreeNodeType[], ref: string, parent?: TreeNodeType | undefined, layer?: any) => never[] | undefined;
193
+ flattenTreeData: (treeData: TreeNodeType[], ref: string, parent?: TreeNodeType, layer?: any) => never[] | undefined;
194
194
  serializeListOnlyParent: (nodes: TreeNodesType, key: string) => (string | number)[];
195
195
  unSerializeList: ({ nodes, key, value, cascade, uncheckableItemValues }: UnSerializeListProps) => void;
196
196
  formatVirtualizedTreeData: (nodes: TreeNodesType, data: any[], expandItemValues: ItemDataType[], options: {
@@ -203,7 +203,7 @@ export declare function useFlattenTreeData({ data, labelKey, valueKey, childrenK
203
203
  */
204
204
  export declare function useTreeNodeRefs(): {
205
205
  treeNodesRefs: {};
206
- saveTreeNodeRef: (ref: React.Ref<any>, refKey?: string | undefined) => void;
206
+ saveTreeNodeRef: (ref: React.Ref<any>, refKey?: string) => void;
207
207
  };
208
208
  interface TreeSearchProps {
209
209
  labelKey: string;
@@ -3,5 +3,5 @@ import { CustomValue } from '../CustomProvider/CustomProvider';
3
3
  * A hook to get custom configuration of `<CustomProvider>`
4
4
  * @param keys
5
5
  */
6
- declare function useCustom<T = any>(keys: string | string[], overrideLocale?: any): CustomValue<T>;
6
+ declare function useCustom<T = any>(keys?: string | string[], overrideLocale?: any): CustomValue<T>;
7
7
  export default useCustom;
@@ -40,11 +40,12 @@ function useCustom(keys, overrideLocale) {
40
40
  _useContext$rtl = _useContext.rtl,
41
41
  rtl = _useContext$rtl === void 0 ? getDefaultRTL() : _useContext$rtl,
42
42
  formatDate = _useContext.formatDate,
43
- parseDate = _useContext.parseDate;
43
+ parseDate = _useContext.parseDate,
44
+ toasters = _useContext.toasters;
44
45
 
45
- var componentLocale = (0, _extends2.default)({}, locale === null || locale === void 0 ? void 0 : locale.common, typeof keys === 'string' ? locale === null || locale === void 0 ? void 0 : locale[keys] : mergeObject(keys.map(function (key) {
46
+ var componentLocale = (0, _extends2.default)({}, locale === null || locale === void 0 ? void 0 : locale.common, typeof keys === 'string' ? locale === null || locale === void 0 ? void 0 : locale[keys] : typeof keys === 'object' ? mergeObject(keys.map(function (key) {
46
47
  return locale === null || locale === void 0 ? void 0 : locale[key];
47
- }))); // Component custom locale
48
+ })) : {}); // Component custom locale
48
49
 
49
50
  if (overrideLocale) {
50
51
  componentLocale = mergeObject([componentLocale, overrideLocale]);
@@ -67,6 +68,7 @@ function useCustom(keys, overrideLocale) {
67
68
  return {
68
69
  locale: componentLocale,
69
70
  rtl: rtl,
71
+ toasters: toasters,
70
72
  formatDate: formatDate || defaultFormatDate,
71
73
  parseDate: parseDate || defaultParseDate
72
74
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  export default function useFocus<E extends HTMLElement>(elementRef: React.RefObject<E>): {
3
3
  grab: () => void;
4
- release: (options?: FocusOptions | undefined) => void;
4
+ release: (options?: FocusOptions) => void;
5
5
  };