rsuite 5.0.2 → 5.2.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 (252) hide show
  1. package/Button/styles/index.less +1 -1
  2. package/CHANGELOG.md +46 -0
  3. package/MaskedInput/package.json +7 -0
  4. package/Navbar/styles/index.less +8 -0
  5. package/Picker/styles/index.less +1 -1
  6. package/Picker/styles/mixin.less +1 -1
  7. package/README.md +4 -46
  8. package/Sidenav/styles/index.less +17 -16
  9. package/Slider/styles/index.less +20 -14
  10. package/Toggle/styles/index.less +53 -12
  11. package/Toggle/styles/mixin.less +25 -11
  12. package/Uploader/styles/index.less +0 -1
  13. package/cjs/@types/common.d.ts +8 -2
  14. package/cjs/Affix/Affix.js +3 -3
  15. package/cjs/Animation/Collapse.js +9 -7
  16. package/cjs/Animation/Transition.js +4 -2
  17. package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
  18. package/cjs/AutoComplete/AutoComplete.js +7 -4
  19. package/cjs/Calendar/TimeDropdown.js +5 -3
  20. package/cjs/Cascader/Cascader.d.ts +1 -1
  21. package/cjs/Cascader/Cascader.js +1 -0
  22. package/cjs/Cascader/DropdownMenu.js +6 -5
  23. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  24. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  25. package/cjs/CheckTreePicker/utils.d.ts +1 -1
  26. package/cjs/CheckTreePicker/utils.js +7 -6
  27. package/cjs/Checkbox/Checkbox.d.ts +3 -3
  28. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  29. package/cjs/DOMHelper/index.d.ts +13 -28
  30. package/cjs/DOMHelper/index.js +4 -3
  31. package/cjs/DOMHelper/isElement.d.ts +2 -0
  32. package/cjs/DOMHelper/isElement.js +11 -0
  33. package/cjs/DatePicker/DatePicker.d.ts +3 -3
  34. package/cjs/DatePicker/DatePicker.js +4 -2
  35. package/cjs/DateRangePicker/Calendar.d.ts +1 -1
  36. package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
  37. package/cjs/DateRangePicker/DateRangePicker.js +4 -2
  38. package/cjs/Disclosure/Disclosure.d.ts +1 -1
  39. package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
  40. package/cjs/Dropdown/DropdownItem.d.ts +1 -1
  41. package/cjs/Dropdown/DropdownItem.js +21 -18
  42. package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
  43. package/cjs/Dropdown/useRenderDropdownItem.d.ts +2 -0
  44. package/cjs/Dropdown/useRenderDropdownItem.js +26 -0
  45. package/cjs/Form/Form.d.ts +1 -1
  46. package/cjs/FormControl/FormControl.d.ts +9 -3
  47. package/cjs/FormControl/FormControl.js +6 -2
  48. package/cjs/Input/Input.d.ts +2 -1
  49. package/cjs/InputNumber/InputNumber.js +2 -2
  50. package/cjs/InputPicker/InputPicker.js +2 -2
  51. package/cjs/List/helper/useSortHelper.js +11 -6
  52. package/cjs/MaskedInput/MaskedInput.d.ts +43 -0
  53. package/cjs/MaskedInput/MaskedInput.js +80 -0
  54. package/cjs/MaskedInput/adjustCaretPosition.d.ts +11 -0
  55. package/cjs/MaskedInput/adjustCaretPosition.js +218 -0
  56. package/cjs/MaskedInput/conformToMask.d.ts +8 -0
  57. package/cjs/MaskedInput/conformToMask.js +247 -0
  58. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +7 -0
  59. package/cjs/MaskedInput/createTextMaskInputElement.js +226 -0
  60. package/cjs/MaskedInput/index.d.ts +3 -0
  61. package/cjs/MaskedInput/index.js +11 -0
  62. package/cjs/MaskedInput/types.d.ts +10 -0
  63. package/cjs/{@types/icons.js → MaskedInput/types.js} +0 -0
  64. package/cjs/MaskedInput/utilities.d.ts +7 -0
  65. package/cjs/MaskedInput/utilities.js +47 -0
  66. package/cjs/Menu/MenuItem.d.ts +1 -1
  67. package/cjs/Menu/Menubar.d.ts +1 -1
  68. package/cjs/Message/Message.js +13 -11
  69. package/cjs/Modal/Modal.js +5 -3
  70. package/cjs/Modal/utils.js +7 -5
  71. package/cjs/MultiCascader/MultiCascader.js +1 -0
  72. package/cjs/Notification/Notification.js +6 -3
  73. package/cjs/Overlay/Modal.js +14 -11
  74. package/cjs/Overlay/ModalManager.js +19 -7
  75. package/cjs/Overlay/OverlayTrigger.js +2 -2
  76. package/cjs/Overlay/Position.js +20 -13
  77. package/cjs/Overlay/positionUtils.js +16 -8
  78. package/cjs/Panel/Panel.d.ts +1 -1
  79. package/cjs/Picker/DropdownMenu.js +10 -6
  80. package/cjs/Picker/DropdownMenuCheckItem.d.ts +3 -3
  81. package/cjs/Picker/PickerOverlay.js +5 -3
  82. package/cjs/Picker/PickerToggle.d.ts +6 -0
  83. package/cjs/Picker/PickerToggle.js +17 -8
  84. package/cjs/Picker/SearchBar.d.ts +1 -1
  85. package/cjs/Picker/utils.d.ts +2 -2
  86. package/cjs/Picker/utils.js +1 -1
  87. package/cjs/Radio/Radio.d.ts +1 -1
  88. package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
  89. package/cjs/RangeSlider/RangeSlider.js +9 -5
  90. package/cjs/Rate/Character.js +2 -2
  91. package/cjs/Ripple/Ripple.js +6 -7
  92. package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
  93. package/cjs/Sidenav/SidenavDropdownItem.js +17 -10
  94. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  95. package/cjs/Slider/Graduated.js +1 -1
  96. package/cjs/Slider/Handle.js +10 -5
  97. package/cjs/Slider/ProgressBar.js +1 -1
  98. package/cjs/Slider/Slider.js +9 -5
  99. package/cjs/Toggle/Toggle.d.ts +5 -6
  100. package/cjs/Toggle/Toggle.js +42 -19
  101. package/cjs/Tree/Tree.d.ts +3 -3
  102. package/cjs/TreePicker/TreeNode.d.ts +1 -1
  103. package/cjs/TreePicker/TreeNode.js +2 -2
  104. package/cjs/TreePicker/TreePicker.d.ts +1 -1
  105. package/cjs/Uploader/UploadFileItem.d.ts +0 -1
  106. package/cjs/Uploader/UploadFileItem.js +3 -6
  107. package/cjs/Uploader/Uploader.d.ts +4 -4
  108. package/cjs/index.d.ts +2 -0
  109. package/cjs/index.js +5 -1
  110. package/cjs/locales/fa_IR.d.ts +105 -0
  111. package/cjs/locales/fa_IR.js +84 -0
  112. package/cjs/locales/index.d.ts +1 -0
  113. package/cjs/locales/index.js +6 -2
  114. package/cjs/utils/BrowserDetection.js +1 -1
  115. package/cjs/utils/index.d.ts +1 -0
  116. package/cjs/utils/index.js +7 -2
  117. package/cjs/utils/scrollTopAnimation.js +5 -5
  118. package/cjs/utils/treeUtils.d.ts +2 -2
  119. package/cjs/utils/useEventListener.js +4 -2
  120. package/cjs/utils/useIsMounted.d.ts +2 -0
  121. package/cjs/utils/useIsMounted.js +22 -0
  122. package/cjs/utils/usePortal.js +2 -2
  123. package/cjs/utils/useRootClose.js +10 -10
  124. package/dist/rsuite-rtl.css +220 -124
  125. package/dist/rsuite-rtl.min.css +1 -1
  126. package/dist/rsuite-rtl.min.css.map +1 -1
  127. package/dist/rsuite.css +220 -124
  128. package/dist/rsuite.js +780 -504
  129. package/dist/rsuite.js.map +1 -1
  130. package/dist/rsuite.min.css +1 -1
  131. package/dist/rsuite.min.css.map +1 -1
  132. package/dist/rsuite.min.js +1 -1
  133. package/dist/rsuite.min.js.map +1 -1
  134. package/esm/@types/common.d.ts +8 -2
  135. package/esm/Affix/Affix.js +1 -1
  136. package/esm/Animation/Collapse.js +2 -1
  137. package/esm/Animation/Transition.js +3 -2
  138. package/esm/AutoComplete/AutoComplete.d.ts +2 -2
  139. package/esm/AutoComplete/AutoComplete.js +8 -5
  140. package/esm/Calendar/TimeDropdown.js +2 -1
  141. package/esm/Cascader/Cascader.d.ts +1 -1
  142. package/esm/Cascader/Cascader.js +1 -0
  143. package/esm/Cascader/DropdownMenu.js +4 -3
  144. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  145. package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  146. package/esm/CheckTreePicker/utils.d.ts +1 -1
  147. package/esm/CheckTreePicker/utils.js +7 -6
  148. package/esm/Checkbox/Checkbox.d.ts +3 -3
  149. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  150. package/esm/DOMHelper/index.d.ts +13 -28
  151. package/esm/DOMHelper/index.js +2 -3
  152. package/esm/DOMHelper/isElement.d.ts +2 -0
  153. package/esm/DOMHelper/isElement.js +5 -0
  154. package/esm/DatePicker/DatePicker.d.ts +3 -3
  155. package/esm/DatePicker/DatePicker.js +4 -2
  156. package/esm/DateRangePicker/Calendar.d.ts +1 -1
  157. package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
  158. package/esm/DateRangePicker/DateRangePicker.js +4 -2
  159. package/esm/Disclosure/Disclosure.d.ts +1 -1
  160. package/esm/Disclosure/DisclosureContext.d.ts +1 -1
  161. package/esm/Dropdown/DropdownItem.d.ts +1 -1
  162. package/esm/Dropdown/DropdownItem.js +20 -18
  163. package/esm/Dropdown/DropdownMenu.d.ts +2 -2
  164. package/esm/Dropdown/useRenderDropdownItem.d.ts +2 -0
  165. package/esm/Dropdown/useRenderDropdownItem.js +18 -0
  166. package/esm/Form/Form.d.ts +1 -1
  167. package/esm/FormControl/FormControl.d.ts +9 -3
  168. package/esm/FormControl/FormControl.js +6 -2
  169. package/esm/Input/Input.d.ts +2 -1
  170. package/esm/InputNumber/InputNumber.js +2 -2
  171. package/esm/InputPicker/InputPicker.js +1 -1
  172. package/esm/List/helper/useSortHelper.js +8 -4
  173. package/esm/MaskedInput/MaskedInput.d.ts +43 -0
  174. package/esm/MaskedInput/MaskedInput.js +67 -0
  175. package/esm/MaskedInput/adjustCaretPosition.d.ts +11 -0
  176. package/esm/MaskedInput/adjustCaretPosition.js +213 -0
  177. package/esm/MaskedInput/conformToMask.d.ts +8 -0
  178. package/esm/MaskedInput/conformToMask.js +239 -0
  179. package/esm/MaskedInput/createTextMaskInputElement.d.ts +7 -0
  180. package/esm/MaskedInput/createTextMaskInputElement.js +212 -0
  181. package/esm/MaskedInput/index.d.ts +3 -0
  182. package/esm/MaskedInput/index.js +2 -0
  183. package/esm/MaskedInput/types.d.ts +10 -0
  184. package/esm/{@types/icons.js → MaskedInput/types.js} +0 -0
  185. package/esm/MaskedInput/utilities.d.ts +7 -0
  186. package/esm/MaskedInput/utilities.js +38 -0
  187. package/esm/Menu/MenuItem.d.ts +1 -1
  188. package/esm/Menu/Menubar.d.ts +1 -1
  189. package/esm/Message/Message.js +15 -13
  190. package/esm/Modal/Modal.js +3 -2
  191. package/esm/Modal/utils.js +6 -5
  192. package/esm/MultiCascader/MultiCascader.js +1 -0
  193. package/esm/Notification/Notification.js +7 -4
  194. package/esm/Overlay/Modal.js +11 -8
  195. package/esm/Overlay/ModalManager.js +6 -1
  196. package/esm/Overlay/OverlayTrigger.js +1 -1
  197. package/esm/Overlay/Position.js +14 -8
  198. package/esm/Overlay/positionUtils.js +6 -2
  199. package/esm/Panel/Panel.d.ts +1 -1
  200. package/esm/Picker/DropdownMenu.js +3 -1
  201. package/esm/Picker/DropdownMenuCheckItem.d.ts +3 -3
  202. package/esm/Picker/PickerOverlay.js +2 -1
  203. package/esm/Picker/PickerToggle.d.ts +6 -0
  204. package/esm/Picker/PickerToggle.js +14 -6
  205. package/esm/Picker/SearchBar.d.ts +1 -1
  206. package/esm/Picker/utils.d.ts +2 -2
  207. package/esm/Picker/utils.js +1 -1
  208. package/esm/Radio/Radio.d.ts +1 -1
  209. package/esm/RadioGroup/RadioGroup.d.ts +1 -1
  210. package/esm/RangeSlider/RangeSlider.js +4 -2
  211. package/esm/Rate/Character.js +2 -2
  212. package/esm/Ripple/Ripple.js +4 -3
  213. package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
  214. package/esm/Sidenav/SidenavDropdownItem.js +16 -10
  215. package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  216. package/esm/Slider/Graduated.js +1 -1
  217. package/esm/Slider/Handle.js +5 -2
  218. package/esm/Slider/ProgressBar.js +1 -1
  219. package/esm/Slider/Slider.js +4 -2
  220. package/esm/Toggle/Toggle.d.ts +5 -6
  221. package/esm/Toggle/Toggle.js +43 -21
  222. package/esm/Tree/Tree.d.ts +3 -3
  223. package/esm/TreePicker/TreeNode.d.ts +1 -1
  224. package/esm/TreePicker/TreeNode.js +1 -1
  225. package/esm/TreePicker/TreePicker.d.ts +1 -1
  226. package/esm/Uploader/UploadFileItem.d.ts +0 -1
  227. package/esm/Uploader/UploadFileItem.js +3 -6
  228. package/esm/Uploader/Uploader.d.ts +4 -4
  229. package/esm/index.d.ts +2 -0
  230. package/esm/index.js +1 -0
  231. package/esm/locales/fa_IR.d.ts +105 -0
  232. package/esm/locales/fa_IR.js +74 -0
  233. package/esm/locales/index.d.ts +1 -0
  234. package/esm/locales/index.js +2 -1
  235. package/esm/utils/BrowserDetection.js +1 -1
  236. package/esm/utils/index.d.ts +1 -0
  237. package/esm/utils/index.js +2 -1
  238. package/esm/utils/scrollTopAnimation.js +2 -2
  239. package/esm/utils/treeUtils.d.ts +2 -2
  240. package/esm/utils/useEventListener.js +1 -1
  241. package/esm/utils/useIsMounted.d.ts +2 -0
  242. package/esm/utils/useIsMounted.js +16 -0
  243. package/esm/utils/usePortal.js +2 -2
  244. package/esm/utils/useRootClose.js +8 -6
  245. package/locales/fa_IR/package.json +7 -0
  246. package/package.json +5 -7
  247. package/styles/color-modes/dark.less +1 -0
  248. package/styles/color-modes/high-contrast.less +1 -0
  249. package/styles/color-modes/light.less +3 -0
  250. package/styles/plugins/palette.js +10 -1
  251. package/cjs/@types/icons.d.ts +0 -1
  252. package/esm/@types/icons.d.ts +0 -1
@@ -2,7 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useCallback, useMemo, useRef } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { getWidth, getHeight, getOffset } from 'dom-lib';
5
+ import getWidth from 'dom-lib/getWidth';
6
+ import getHeight from 'dom-lib/getHeight';
7
+ import getOffset from 'dom-lib/getOffset';
6
8
  import ProgressBar from './ProgressBar';
7
9
  import Handle from './Handle';
8
10
  import Graduated from './Graduated';
@@ -137,7 +139,7 @@ var Slider = /*#__PURE__*/React.forwardRef(function (props, ref) {
137
139
 
138
140
  var getValueByPosition = useCallback(function (event) {
139
141
  var barOffset = getOffset(barRef.current);
140
- var offset = vertical ? event.pageY - barOffset.top : event.pageX - barOffset.left;
142
+ var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;
141
143
  var offsetValue = rtl && !vertical ? barOffset.width - offset : offset;
142
144
  return getValueByOffset(offsetValue) + min;
143
145
  }, [getValueByOffset, min, rtl, vertical]);
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { WithAsProps, TypeAttributes } from '../@types/common';
2
+ import { WithAsProps, TypeAttributes, RsRefForwardingComponent } from '../@types/common';
3
3
  import { ToggleLocale } from '../locales';
4
4
  export interface ToggleProps extends WithAsProps {
5
5
  /** Wheather to disabled toggle */
@@ -8,6 +8,8 @@ export interface ToggleProps extends WithAsProps {
8
8
  plaintext?: boolean;
9
9
  /** Make the control readonly */
10
10
  readOnly?: boolean;
11
+ /** Whether the checked state is being updated */
12
+ loading?: boolean;
11
13
  /** Checked(Controlled) */
12
14
  checked?: boolean;
13
15
  /** Default checked */
@@ -21,10 +23,7 @@ export interface ToggleProps extends WithAsProps {
21
23
  /** Custom locale */
22
24
  locale?: ToggleLocale;
23
25
  /** Callback function when state changes */
24
- onChange?: (checked: boolean, event: React.SyntheticEvent) => void;
26
+ onChange?: (checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
25
27
  }
26
- /**
27
- * fixme: Should contain an input[type=checkbox]
28
- */
29
- declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<unknown>>;
28
+ declare const Toggle: RsRefForwardingComponent<'label', ToggleProps>;
30
29
  export default Toggle;
@@ -1,30 +1,31 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { useCallback } from 'react';
3
+ import React, { useCallback, useRef } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { useClassNames, useControlled, useCustom } from '../utils';
6
6
  import Plaintext from '../Plaintext';
7
-
8
- /**
9
- * fixme: Should contain an input[type=checkbox]
10
- */
7
+ import Loader from '../Loader';
11
8
  var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
9
  var _props$as = props.as,
13
10
  Component = _props$as === void 0 ? 'span' : _props$as,
14
11
  disabled = props.disabled,
15
12
  readOnly = props.readOnly,
13
+ _props$loading = props.loading,
14
+ loading = _props$loading === void 0 ? false : _props$loading,
16
15
  plaintext = props.plaintext,
17
16
  className = props.className,
18
17
  checkedChildren = props.checkedChildren,
19
18
  unCheckedChildren = props.unCheckedChildren,
20
19
  _props$classPrefix = props.classPrefix,
21
- classPrefix = _props$classPrefix === void 0 ? 'btn-toggle' : _props$classPrefix,
20
+ classPrefix = _props$classPrefix === void 0 ? 'toggle' : _props$classPrefix,
22
21
  checkedProp = props.checked,
23
22
  defaultChecked = props.defaultChecked,
24
23
  size = props.size,
25
24
  localeProp = props.locale,
26
25
  onChange = props.onChange,
27
- rest = _objectWithoutPropertiesLoose(props, ["as", "disabled", "readOnly", "plaintext", "className", "checkedChildren", "unCheckedChildren", "classPrefix", "checked", "defaultChecked", "size", "locale", "onChange"]);
26
+ rest = _objectWithoutPropertiesLoose(props, ["as", "disabled", "readOnly", "loading", "plaintext", "className", "checkedChildren", "unCheckedChildren", "classPrefix", "checked", "defaultChecked", "size", "locale", "onChange"]);
27
+
28
+ var inputRef = useRef();
28
29
 
29
30
  var _useControlled = useControlled(checkedProp, defaultChecked),
30
31
  checked = _useControlled[0],
@@ -40,46 +41,67 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
40
41
 
41
42
  var classes = merge(className, withClassPrefix(size, {
42
43
  checked: checked,
43
- disabled: disabled
44
+ disabled: disabled,
45
+ loading: loading
44
46
  }));
45
47
  var inner = checked ? checkedChildren : unCheckedChildren;
46
48
  var label = checked ? locale.on : locale.off;
47
- var handleChange = useCallback(function (event) {
49
+ var handleInputChange = useCallback(function (e) {
48
50
  if (disabled || readOnly) {
49
51
  return;
50
52
  }
51
53
 
52
- setChecked(!checked);
53
- onChange === null || onChange === void 0 ? void 0 : onChange(!checked, event);
54
- }, [checked, disabled, onChange, readOnly, setChecked]);
54
+ var checked = e.target.checked;
55
+ setChecked(checked);
56
+ onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);
57
+ }, [disabled, readOnly, setChecked, onChange]);
55
58
 
56
59
  if (plaintext) {
57
60
  return /*#__PURE__*/React.createElement(Plaintext, null, inner || label);
58
61
  }
59
62
 
60
- return /*#__PURE__*/React.createElement(Component, _extends({
63
+ return /*#__PURE__*/React.createElement("label", _extends({
64
+ ref: ref,
65
+ className: classes
66
+ }, rest), /*#__PURE__*/React.createElement("input", {
67
+ ref: inputRef,
68
+ type: "checkbox",
69
+ checked: checked,
70
+ disabled: disabled,
71
+ readOnly: readOnly,
72
+ onChange: handleInputChange,
73
+ className: prefix('input'),
61
74
  role: "switch",
62
75
  "aria-checked": checked,
63
76
  "aria-disabled": disabled,
64
77
  "aria-label": typeof inner === 'string' ? inner : label,
65
- tabIndex: -1
66
- }, rest, {
67
- ref: ref,
68
- className: classes,
69
- onClick: handleChange
70
- }), /*#__PURE__*/React.createElement("span", {
78
+ "aria-busy": loading || undefined
79
+ }), /*#__PURE__*/React.createElement(Component, {
80
+ className: prefix('presentation')
81
+ }, /*#__PURE__*/React.createElement("span", {
71
82
  className: prefix('inner')
72
- }, inner));
83
+ }, inner), loading && /*#__PURE__*/React.createElement(Loader, {
84
+ className: prefix('loader')
85
+ })));
73
86
  });
74
87
  Toggle.displayName = 'Toggle';
75
88
  Toggle.propTypes = {
76
89
  disabled: PropTypes.bool,
90
+ readOnly: PropTypes.bool,
91
+ plaintext: PropTypes.bool,
77
92
  checked: PropTypes.bool,
78
93
  defaultChecked: PropTypes.bool,
79
94
  checkedChildren: PropTypes.node,
80
95
  unCheckedChildren: PropTypes.node,
96
+ loading: PropTypes.bool,
81
97
  classPrefix: PropTypes.string,
82
98
  className: PropTypes.string,
83
- onChange: PropTypes.func
99
+ onChange: PropTypes.func,
100
+ as: PropTypes.elementType,
101
+ size: PropTypes.oneOf(['sm', 'md', 'lg']),
102
+ locale: PropTypes.shape({
103
+ on: PropTypes.string,
104
+ off: PropTypes.string
105
+ })
84
106
  };
85
107
  export default Toggle;
@@ -23,7 +23,7 @@ export interface TreeDragProps<ItemDataType = Record<string, any>> {
23
23
  /** Whether the node can be dragged */
24
24
  draggable?: boolean;
25
25
  /** Called when scrolling */
26
- onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;
26
+ onScroll?: (event: React.SyntheticEvent) => void;
27
27
  /** Called when node drag start */
28
28
  onDragStart?: (nodeData: ItemDataType, e: React.DragEvent) => void;
29
29
  /** Called when node drag enter */
@@ -61,7 +61,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
61
61
  /** Callback function for data change */
62
62
  onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: React.ReactNode) => ItemDataType[]) => void;
63
63
  /** Callback function after selecting tree node */
64
- onSelect?: (activeNode: ItemDataType, value: ValueType, event: React.SyntheticEvent<any>) => void;
64
+ onSelect?: (activeNode: ItemDataType, value: ValueType, event: React.SyntheticEvent) => void;
65
65
  /** Custom Render tree Node */
66
66
  renderTreeNode?: (nodeData: ItemDataType) => React.ReactNode;
67
67
  /** Custom Render icon */
@@ -69,7 +69,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
69
69
  /** callback fired when search */
70
70
  onSearch?: (searchKeyword: string, event: React.KeyboardEvent<HTMLInputElement>) => void;
71
71
  /** Called when clean */
72
- onClean?: (event: React.SyntheticEvent<any>) => void;
72
+ onClean?: (event: React.SyntheticEvent) => void;
73
73
  /** Custom search rules. */
74
74
  searchBy?: (keyword: string, label: React.ReactNode, item: any) => boolean;
75
75
  /** Customizing the Rendering Menu list */
@@ -22,7 +22,7 @@ export interface TreeNodeProps extends WithAsProps {
22
22
  classPrefix?: string;
23
23
  style?: React.CSSProperties;
24
24
  onExpand?: (nodeData: any) => void;
25
- onSelect?: (nodeData: any, event: React.SyntheticEvent<any>) => void;
25
+ onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
26
26
  onRenderTreeIcon?: (nodeData: any) => React.ReactNode;
27
27
  onRenderTreeNode?: (nodeData: any) => React.ReactNode;
28
28
  onDragStart?: (data: any, event: React.DragEvent<any>) => void;
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { forwardRef, useCallback, useContext } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { hasClass } from 'dom-lib';
5
+ import hasClass from 'dom-lib/hasClass';
6
6
  import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
7
7
  import Spinner from '@rsuite/icons/legacy/Spinner';
8
8
  import TreeContext from '../Tree/TreeContext';
@@ -22,7 +22,7 @@ export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, I
22
22
  /** Custom render selected items */
23
23
  renderValue?: (value: T, selectedItems: ItemDataType, selectedElement: React.ReactNode) => React.ReactNode;
24
24
  /** Called when scrolling */
25
- onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;
25
+ onScroll?: (event: React.SyntheticEvent) => void;
26
26
  }
27
27
  declare const TreePicker: PickerComponent<TreePickerProps>;
28
28
  export default TreePicker;
@@ -17,7 +17,6 @@ export interface UploadFileItemProps extends WithAsProps {
17
17
  onCancel?: (fileKey: number | string, event: React.MouseEvent) => void;
18
18
  onPreview?: (file: FileType, event: React.MouseEvent) => void;
19
19
  onReupload?: (file: FileType, event: React.MouseEvent) => void;
20
- onThumbnailCompleted?: (thumbnail: string) => void;
21
20
  }
22
21
  /**
23
22
  * Format display file size
@@ -56,8 +56,7 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
56
56
  onPreview = props.onPreview,
57
57
  onCancel = props.onCancel,
58
58
  onReupload = props.onReupload,
59
- onThumbnailCompleted = props.onThumbnailCompleted,
60
- rest = _objectWithoutPropertiesLoose(props, ["as", "disabled", "allowReupload", "file", "classPrefix", "listType", "className", "removable", "maxPreviewFileSize", "locale", "renderFileInfo", "renderThumbnail", "onPreview", "onCancel", "onReupload", "onThumbnailCompleted"]);
59
+ rest = _objectWithoutPropertiesLoose(props, ["as", "disabled", "allowReupload", "file", "classPrefix", "listType", "className", "removable", "maxPreviewFileSize", "locale", "renderFileInfo", "renderThumbnail", "onPreview", "onCancel", "onReupload"]);
61
60
 
62
61
  var _useClassNames = useClassNames(classPrefix),
63
62
  merge = _useClassNames.merge,
@@ -95,10 +94,9 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
95
94
  if (!file.url) {
96
95
  getThumbnail(function (previewImage) {
97
96
  setPreviewImage(previewImage);
98
- onThumbnailCompleted === null || onThumbnailCompleted === void 0 ? void 0 : onThumbnailCompleted(previewImage);
99
97
  });
100
98
  }
101
- }, [file.url, getThumbnail, onThumbnailCompleted]);
99
+ }, [file.url, getThumbnail]);
102
100
  var handlePreview = useCallback(function (event) {
103
101
  if (disabled) {
104
102
  return;
@@ -289,7 +287,6 @@ UploadFileItem.propTypes = {
289
287
  renderThumbnail: PropTypes.func,
290
288
  onCancel: PropTypes.func,
291
289
  onPreview: PropTypes.func,
292
- onReupload: PropTypes.func,
293
- onThumbnailCompleted: PropTypes.func
290
+ onReupload: PropTypes.func
294
291
  };
295
292
  export default UploadFileItem;
@@ -82,13 +82,13 @@ export interface UploaderProps extends WithAsProps {
82
82
  /** In the file list, for uploading failed files, click the callback function to upload */
83
83
  onReupload?: (file: FileType) => void;
84
84
  /** In the file list, click the callback function for the uploaded file */
85
- onPreview?: (file: FileType, event: React.SyntheticEvent<any>) => void;
85
+ onPreview?: (file: FileType, event: React.SyntheticEvent) => void;
86
86
  /** Upload callback function with erro */
87
- onError?: (status: any, file: FileType, event: React.SyntheticEvent<any>, xhr: XMLHttpRequest) => void;
87
+ onError?: (status: any, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
88
88
  /** callback function after successful upload */
89
- onSuccess?: (response: any, file: FileType, event: React.SyntheticEvent<any>, xhr: XMLHttpRequest) => void;
89
+ onSuccess?: (response: any, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
90
90
  /** Callback functions that upload progress change */
91
- onProgress?: (percent: number, file: FileType, event: React.SyntheticEvent<any>, xhr: XMLHttpRequest) => void;
91
+ onProgress?: (percent: number, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
92
92
  /** In the file list, click the callback function to delete a file */
93
93
  onRemove?: (file: FileType) => void;
94
94
  /** Custom render file information */
package/esm/index.d.ts CHANGED
@@ -54,6 +54,8 @@ export { default as Form } from './Form';
54
54
  export type { FormProps, FormGroupProps, FormErrorMessageProps, FormControlLabelProps, FormHelpTextProps, FormControlProps } from './Form';
55
55
  export { default as Input } from './Input';
56
56
  export type { InputProps } from './Input';
57
+ export { default as MaskedInput } from './MaskedInput';
58
+ export type { MaskedInputProps } from './MaskedInput';
57
59
  export { default as InputNumber } from './InputNumber';
58
60
  export type { InputNumberProps } from './InputNumber';
59
61
  export { default as InputGroup } from './InputGroup';
package/esm/index.js CHANGED
@@ -29,6 +29,7 @@ export { default as Steps } from './Steps';
29
29
  export { default as Toggle } from './Toggle';
30
30
  export { default as Form } from './Form';
31
31
  export { default as Input } from './Input';
32
+ export { default as MaskedInput } from './MaskedInput';
32
33
  export { default as InputNumber } from './InputNumber';
33
34
  export { default as InputGroup } from './InputGroup';
34
35
  export { default as Checkbox } from './Checkbox';
@@ -0,0 +1,105 @@
1
+ declare const _default: {
2
+ common: {
3
+ loading: string;
4
+ emptyMessage: string;
5
+ };
6
+ Plaintext: {
7
+ unfilled: string;
8
+ notSelected: string;
9
+ notUploaded: string;
10
+ };
11
+ Pagination: {
12
+ more: string;
13
+ prev: string;
14
+ next: string;
15
+ first: string;
16
+ last: string;
17
+ limit: string;
18
+ total: string;
19
+ skip: string;
20
+ };
21
+ Calendar: {
22
+ sunday: string;
23
+ monday: string;
24
+ tuesday: string;
25
+ wednesday: string;
26
+ thursday: string;
27
+ friday: string;
28
+ saturday: string;
29
+ ok: string;
30
+ today: string;
31
+ yesterday: string;
32
+ hours: string;
33
+ minutes: string;
34
+ seconds: string;
35
+ formattedMonthPattern: string;
36
+ formattedDayPattern: string;
37
+ dateLocale: any;
38
+ };
39
+ DatePicker: {
40
+ sunday: string;
41
+ monday: string;
42
+ tuesday: string;
43
+ wednesday: string;
44
+ thursday: string;
45
+ friday: string;
46
+ saturday: string;
47
+ ok: string;
48
+ today: string;
49
+ yesterday: string;
50
+ hours: string;
51
+ minutes: string;
52
+ seconds: string;
53
+ formattedMonthPattern: string;
54
+ formattedDayPattern: string;
55
+ dateLocale: any;
56
+ };
57
+ DateRangePicker: {
58
+ last7Days: string;
59
+ sunday: string;
60
+ monday: string;
61
+ tuesday: string;
62
+ wednesday: string;
63
+ thursday: string;
64
+ friday: string;
65
+ saturday: string;
66
+ ok: string;
67
+ today: string;
68
+ yesterday: string;
69
+ hours: string;
70
+ minutes: string;
71
+ seconds: string;
72
+ formattedMonthPattern: string;
73
+ formattedDayPattern: string;
74
+ dateLocale: any;
75
+ };
76
+ Picker: {
77
+ noResultsText: string;
78
+ placeholder: string;
79
+ searchPlaceholder: string;
80
+ checkAll: string;
81
+ };
82
+ InputPicker: {
83
+ newItem: string;
84
+ createOption: string;
85
+ };
86
+ Uploader: {
87
+ inited: string;
88
+ progress: string;
89
+ error: string;
90
+ complete: string;
91
+ emptyFile: string;
92
+ upload: string;
93
+ };
94
+ CloseButton: {
95
+ closeLabel: string;
96
+ };
97
+ Breadcrumb: {
98
+ expandText: string;
99
+ };
100
+ Toggle: {
101
+ on: string;
102
+ off: string;
103
+ };
104
+ };
105
+ export default _default;
@@ -0,0 +1,74 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import faIR from 'date-fns/locale/fa-IR';
3
+ var Calendar = {
4
+ sunday: 'ی',
5
+ monday: 'د',
6
+ tuesday: 'س',
7
+ wednesday: 'چ',
8
+ thursday: 'پ',
9
+ friday: 'ج',
10
+ saturday: 'ش',
11
+ ok: 'تایید',
12
+ today: 'امروز',
13
+ yesterday: 'دیروز',
14
+ hours: 'ساعت',
15
+ minutes: 'دقیقه',
16
+ seconds: 'ثانیه',
17
+ formattedMonthPattern: 'MMM, yyyy',
18
+ formattedDayPattern: 'MMM dd, yyyy',
19
+ dateLocale: faIR
20
+ };
21
+ export default {
22
+ common: {
23
+ loading: 'در حال بارگذاری...',
24
+ emptyMessage: 'داده ایی پیدا نشد'
25
+ },
26
+ Plaintext: {
27
+ unfilled: 'خالی',
28
+ notSelected: 'انتخاب نشده',
29
+ notUploaded: 'اپلود نشده'
30
+ },
31
+ Pagination: {
32
+ more: 'بیشتر',
33
+ prev: 'قبلی',
34
+ next: 'بعدی',
35
+ first: 'اول',
36
+ last: 'اخر',
37
+ limit: '{0} / صفحه',
38
+ total: 'مجموع ردیف ها: {0}',
39
+ skip: 'برو به{0}'
40
+ },
41
+ Calendar: Calendar,
42
+ DatePicker: _extends({}, Calendar),
43
+ DateRangePicker: _extends({}, Calendar, {
44
+ last7Days: '7 روز اخر'
45
+ }),
46
+ Picker: {
47
+ noResultsText: 'نتیجه ایی یافت نشد',
48
+ placeholder: 'انتخاب',
49
+ searchPlaceholder: 'جستجو',
50
+ checkAll: 'همه'
51
+ },
52
+ InputPicker: {
53
+ newItem: 'گزینه جدید',
54
+ createOption: 'ساخت گزینه "{0}"'
55
+ },
56
+ Uploader: {
57
+ inited: 'اولیه',
58
+ progress: 'در حال اپلود',
59
+ error: 'مشکل',
60
+ complete: 'تمام شد',
61
+ emptyFile: 'خالی',
62
+ upload: 'اپلود'
63
+ },
64
+ CloseButton: {
65
+ closeLabel: 'بستن'
66
+ },
67
+ Breadcrumb: {
68
+ expandText: 'نمایش مسیر'
69
+ },
70
+ Toggle: {
71
+ on: 'باز کردن',
72
+ off: 'بستن'
73
+ }
74
+ };
@@ -14,6 +14,7 @@ export { default as ruRU } from './ru_RU';
14
14
  export { default as svSE } from './sv_SE';
15
15
  export { default as zhCN } from './zh_CN';
16
16
  export { default as zhTw } from './zh_TW';
17
+ export { default as faIR } from './fa_IR';
17
18
  declare type PickKeys<T> = {
18
19
  [keys in keyof T]?: T[keys];
19
20
  };
@@ -12,4 +12,5 @@ export { default as ptBR } from './pt_BR';
12
12
  export { default as ruRU } from './ru_RU';
13
13
  export { default as svSE } from './sv_SE';
14
14
  export { default as zhCN } from './zh_CN';
15
- export { default as zhTw } from './zh_TW';
15
+ export { default as zhTw } from './zh_TW';
16
+ export { default as faIR } from './fa_IR';
@@ -1,5 +1,5 @@
1
1
  // from http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
2
- import canUseDOM from 'dom-lib/lib/query/canUseDOM'; // Internet Explorer 6-11
2
+ import canUseDOM from 'dom-lib/canUseDOM'; // Internet Explorer 6-11
3
3
 
4
4
  export var isIE = function isIE() {
5
5
  return canUseDOM && /MSIE |Trident\/|Edge\//.test(window.navigator.userAgent);
@@ -39,3 +39,4 @@ export { default as useEventCallback } from './useEventCallback';
39
39
  export { default as useUpdatedRef } from './useUpdatedRef';
40
40
  export { default as useWillUnmount } from './useWillUnmount';
41
41
  export { default as useUpdateEffect } from './useUpdateEffect';
42
+ export { default as useIsMounted } from './useIsMounted';
@@ -41,4 +41,5 @@ export { default as stringToObject } from './stringToObject';
41
41
  export { default as useEventCallback } from './useEventCallback';
42
42
  export { default as useUpdatedRef } from './useUpdatedRef';
43
43
  export { default as useWillUnmount } from './useWillUnmount';
44
- export { default as useUpdateEffect } from './useUpdateEffect';
44
+ export { default as useUpdateEffect } from './useUpdateEffect';
45
+ export { default as useIsMounted } from './useIsMounted';
@@ -1,5 +1,5 @@
1
- import { scrollTop } from 'dom-lib';
2
- import requestAnimationFramePolyfill from 'dom-lib/lib/animation/requestAnimationFramePolyfill';
1
+ import scrollTop from 'dom-lib/scrollTop';
2
+ import requestAnimationFramePolyfill from 'dom-lib/requestAnimationFramePolyfill';
3
3
  export default function scrollTopAnimation(target, nextTop, animation, callback) {
4
4
  if (animation === void 0) {
5
5
  animation = true;
@@ -210,7 +210,7 @@ interface TreeSearchProps {
210
210
  searchKeyword: string;
211
211
  data: ItemDataType[];
212
212
  searchBy: (keyword: any, label: any, item: any) => boolean;
213
- callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent<any>) => void;
213
+ callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent) => void;
214
214
  }
215
215
  /**
216
216
  * A hook that handles tree search filter options
@@ -221,7 +221,7 @@ export declare function useTreeSearch(props: TreeSearchProps): {
221
221
  filteredData: ItemDataType[];
222
222
  setFilteredData: (data: ItemDataType[], searchKeyword: string) => void;
223
223
  setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
224
- handleSearch: (searchKeyword: string, event: React.SyntheticEvent<any>) => void;
224
+ handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
225
225
  };
226
226
  export declare function useGetTreeNodeChildren(treeData: ItemDataType[], valueKey: string, childrenKey: string): {
227
227
  data: ItemDataType[];
@@ -1,5 +1,5 @@
1
1
  import { useEffect } from 'react';
2
- import { on } from 'dom-lib';
2
+ import on from 'dom-lib/on';
3
3
  /**
4
4
  * Attach the event handler directly to the specified DOM element.
5
5
  *
@@ -0,0 +1,2 @@
1
+ declare function useIsMounted(): () => boolean;
2
+ export default useIsMounted;
@@ -0,0 +1,16 @@
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+
3
+ function useIsMounted() {
4
+ var isMounted = useRef(false);
5
+ useEffect(function () {
6
+ isMounted.current = true;
7
+ return function () {
8
+ isMounted.current = false;
9
+ };
10
+ }, []);
11
+ return useCallback(function () {
12
+ return isMounted.current;
13
+ }, []);
14
+ }
15
+
16
+ export default useIsMounted;
@@ -1,6 +1,6 @@
1
1
  import { useRef, useEffect, useCallback } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
- import helper from '../DOMHelper';
3
+ import canUseDOM from 'dom-lib/canUseDOM';
4
4
 
5
5
  function usePortal(props) {
6
6
  if (props === void 0) {
@@ -10,7 +10,7 @@ function usePortal(props) {
10
10
  var _props = props,
11
11
  id = _props.id,
12
12
  container = _props.container;
13
- var rootElemRef = useRef(helper.canUseDOM ? document.body : null);
13
+ var rootElemRef = useRef(canUseDOM ? document.body : null);
14
14
  useEffect(function () {
15
15
  var containerElement = typeof container === 'function' ? container() : container; // Look for existing target dom element to append to
16
16
 
@@ -1,5 +1,7 @@
1
1
  import { useEffect, useCallback } from 'react';
2
- import helper from '../DOMHelper';
2
+ import contains from 'dom-lib/contains';
3
+ import ownerDocument from 'dom-lib/ownerDocument';
4
+ import on from 'dom-lib/on';
3
5
  import { getDOMNode, KEY_VALUES } from './';
4
6
 
5
7
  function isLeftClickEvent(event) {
@@ -31,12 +33,12 @@ function useRootClose(onRootClose, _ref) {
31
33
  var triggerElement = getDOMNode(triggerTarget);
32
34
  var overlayElement = getDOMNode(overlayTarget); // Check if the clicked element is a trigger.
33
35
 
34
- if (triggerElement && helper.contains(triggerElement, event.target)) {
36
+ if (triggerElement && contains(triggerElement, event.target)) {
35
37
  return;
36
38
  } // Check if the clicked element is a overlay.
37
39
 
38
40
 
39
- if (overlayElement && helper.contains(overlayElement, event.target)) {
41
+ if (overlayElement && contains(overlayElement, event.target)) {
40
42
  return;
41
43
  }
42
44
 
@@ -49,9 +51,9 @@ function useRootClose(onRootClose, _ref) {
49
51
  useEffect(function () {
50
52
  var currentTarget = getDOMNode(triggerTarget);
51
53
  if (disabled || !currentTarget) return;
52
- var doc = helper.ownerDocument(currentTarget);
53
- var onDocumentMouseDownListener = helper.on(doc, 'mousedown', handleDocumentMouseDown, true);
54
- var onDocumentKeyupListener = helper.on(doc, 'keyup', handleDocumentKeyUp);
54
+ var doc = ownerDocument(currentTarget);
55
+ var onDocumentMouseDownListener = on(doc, 'mousedown', handleDocumentMouseDown, true);
56
+ var onDocumentKeyupListener = on(doc, 'keyup', handleDocumentKeyUp);
55
57
  return function () {
56
58
  onDocumentMouseDownListener === null || onDocumentMouseDownListener === void 0 ? void 0 : onDocumentMouseDownListener.off();
57
59
  onDocumentKeyupListener === null || onDocumentKeyupListener === void 0 ? void 0 : onDocumentKeyupListener.off();
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "rsuite/locales/fa_IR",
3
+ "private": true,
4
+ "main": "../../cjs/locales/fa_IR.js",
5
+ "module": "../../esm/locales/fa_IR.js",
6
+ "types": "../../esm/locales/fa_IR.d.ts"
7
+ }