rsuite 5.0.3 → 5.2.2
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.
- package/Button/styles/index.less +7 -1
- package/CHANGELOG.md +50 -0
- package/MaskedInput/package.json +7 -0
- package/PanelGroup/styles/index.less +12 -12
- package/README.md +4 -46
- package/Sidenav/styles/index.less +4 -0
- package/Slider/styles/index.less +20 -14
- package/Toggle/styles/index.less +53 -12
- package/Toggle/styles/mixin.less +25 -11
- package/cjs/@types/common.d.ts +8 -2
- package/cjs/Affix/Affix.js +3 -3
- package/cjs/Animation/Collapse.js +9 -7
- package/cjs/Animation/Transition.js +4 -2
- package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
- package/cjs/AutoComplete/AutoComplete.js +7 -4
- package/cjs/Calendar/TimeDropdown.js +5 -3
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/DropdownMenu.js +6 -5
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/cjs/CheckTreePicker/utils.d.ts +1 -1
- package/cjs/CheckTreePicker/utils.js +7 -6
- package/cjs/Checkbox/Checkbox.d.ts +3 -3
- package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/cjs/DOMHelper/index.d.ts +13 -28
- package/cjs/DOMHelper/index.js +4 -3
- package/cjs/DOMHelper/isElement.d.ts +2 -0
- package/cjs/DOMHelper/isElement.js +11 -0
- package/cjs/DatePicker/DatePicker.d.ts +3 -3
- package/cjs/DatePicker/DatePicker.js +3 -2
- package/cjs/DateRangePicker/Calendar.d.ts +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/DateRangePicker/DateRangePicker.js +3 -2
- package/cjs/Disclosure/Disclosure.d.ts +1 -1
- package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.js +23 -19
- package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +2 -0
- package/cjs/Dropdown/useRenderDropdownItem.js +26 -0
- package/cjs/Form/Form.d.ts +1 -1
- package/cjs/FormControl/FormControl.d.ts +9 -3
- package/cjs/Input/Input.d.ts +2 -1
- package/cjs/InputNumber/InputNumber.js +2 -2
- package/cjs/InputPicker/InputPicker.js +2 -2
- package/cjs/List/helper/useSortHelper.js +11 -6
- package/cjs/MaskedInput/MaskedInput.d.ts +6 -0
- package/cjs/MaskedInput/MaskedInput.js +26 -0
- package/cjs/MaskedInput/TextMask.d.ts +43 -0
- package/cjs/MaskedInput/TextMask.js +80 -0
- package/cjs/MaskedInput/adjustCaretPosition.d.ts +11 -0
- package/cjs/MaskedInput/adjustCaretPosition.js +218 -0
- package/cjs/MaskedInput/conformToMask.d.ts +8 -0
- package/cjs/MaskedInput/conformToMask.js +247 -0
- package/cjs/MaskedInput/createTextMaskInputElement.d.ts +7 -0
- package/cjs/MaskedInput/createTextMaskInputElement.js +226 -0
- package/cjs/MaskedInput/index.d.ts +3 -0
- package/cjs/MaskedInput/index.js +11 -0
- package/cjs/MaskedInput/types.d.ts +10 -0
- package/cjs/{@types/icons.js → MaskedInput/types.js} +0 -0
- package/cjs/MaskedInput/utilities.d.ts +7 -0
- package/cjs/MaskedInput/utilities.js +47 -0
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/Menubar.d.ts +1 -1
- package/cjs/Message/Message.js +13 -11
- package/cjs/Modal/Modal.js +5 -3
- package/cjs/Modal/utils.js +15 -14
- package/cjs/Notification/Notification.js +6 -3
- package/cjs/Overlay/Modal.js +14 -11
- package/cjs/Overlay/ModalManager.js +19 -7
- package/cjs/Overlay/OverlayTrigger.js +2 -2
- package/cjs/Overlay/Position.js +27 -17
- package/cjs/Overlay/positionUtils.js +16 -8
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Picker/DropdownMenu.js +10 -6
- package/cjs/Picker/DropdownMenuCheckItem.d.ts +3 -3
- package/cjs/Picker/PickerOverlay.js +5 -3
- package/cjs/Picker/PickerToggle.d.ts +6 -0
- package/cjs/Picker/PickerToggle.js +12 -6
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/utils.d.ts +2 -2
- package/cjs/Radio/Radio.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
- package/cjs/RangeSlider/RangeSlider.js +9 -5
- package/cjs/Rate/Character.js +2 -2
- package/cjs/Ripple/Ripple.js +6 -7
- package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdownItem.js +17 -10
- package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/cjs/Slider/Graduated.js +1 -1
- package/cjs/Slider/Handle.js +10 -5
- package/cjs/Slider/ProgressBar.js +1 -1
- package/cjs/Slider/Slider.js +9 -5
- package/cjs/Toggle/Toggle.d.ts +5 -6
- package/cjs/Toggle/Toggle.js +42 -19
- package/cjs/Tree/Tree.d.ts +3 -3
- package/cjs/TreePicker/TreeNode.d.ts +1 -1
- package/cjs/TreePicker/TreeNode.js +2 -2
- package/cjs/TreePicker/TreePicker.d.ts +1 -1
- package/cjs/Uploader/Uploader.d.ts +4 -4
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +5 -1
- package/cjs/locales/fa_IR.d.ts +105 -0
- package/cjs/locales/fa_IR.js +84 -0
- package/cjs/locales/index.d.ts +1 -0
- package/cjs/locales/index.js +6 -2
- package/cjs/utils/BrowserDetection.js +1 -1
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +7 -2
- package/cjs/utils/scrollTopAnimation.js +5 -5
- package/cjs/utils/treeUtils.d.ts +2 -2
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +7 -5
- package/cjs/utils/useEventListener.js +4 -2
- package/cjs/utils/useIsMounted.d.ts +2 -0
- package/cjs/utils/useIsMounted.js +22 -0
- package/cjs/utils/usePortal.js +2 -2
- package/cjs/utils/useRootClose.js +10 -10
- package/dist/rsuite-rtl.css +217 -84
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +217 -84
- package/dist/rsuite.js +769 -536
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +8 -2
- package/esm/Affix/Affix.js +1 -1
- package/esm/Animation/Collapse.js +2 -1
- package/esm/Animation/Transition.js +3 -2
- package/esm/AutoComplete/AutoComplete.d.ts +2 -2
- package/esm/AutoComplete/AutoComplete.js +8 -5
- package/esm/Calendar/TimeDropdown.js +2 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/DropdownMenu.js +4 -3
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/esm/CheckTreePicker/utils.d.ts +1 -1
- package/esm/CheckTreePicker/utils.js +7 -6
- package/esm/Checkbox/Checkbox.d.ts +3 -3
- package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/esm/DOMHelper/index.d.ts +13 -28
- package/esm/DOMHelper/index.js +2 -3
- package/esm/DOMHelper/isElement.d.ts +2 -0
- package/esm/DOMHelper/isElement.js +5 -0
- package/esm/DatePicker/DatePicker.d.ts +3 -3
- package/esm/DatePicker/DatePicker.js +3 -2
- package/esm/DateRangePicker/Calendar.d.ts +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +3 -2
- package/esm/Disclosure/Disclosure.d.ts +1 -1
- package/esm/Disclosure/DisclosureContext.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.js +22 -19
- package/esm/Dropdown/DropdownMenu.d.ts +2 -2
- package/esm/Dropdown/useRenderDropdownItem.d.ts +2 -0
- package/esm/Dropdown/useRenderDropdownItem.js +18 -0
- package/esm/Form/Form.d.ts +1 -1
- package/esm/FormControl/FormControl.d.ts +9 -3
- package/esm/Input/Input.d.ts +2 -1
- package/esm/InputNumber/InputNumber.js +2 -2
- package/esm/InputPicker/InputPicker.js +1 -1
- package/esm/List/helper/useSortHelper.js +8 -4
- package/esm/MaskedInput/MaskedInput.d.ts +6 -0
- package/esm/MaskedInput/MaskedInput.js +13 -0
- package/esm/MaskedInput/TextMask.d.ts +43 -0
- package/esm/MaskedInput/TextMask.js +67 -0
- package/esm/MaskedInput/adjustCaretPosition.d.ts +11 -0
- package/esm/MaskedInput/adjustCaretPosition.js +213 -0
- package/esm/MaskedInput/conformToMask.d.ts +8 -0
- package/esm/MaskedInput/conformToMask.js +239 -0
- package/esm/MaskedInput/createTextMaskInputElement.d.ts +7 -0
- package/esm/MaskedInput/createTextMaskInputElement.js +212 -0
- package/esm/MaskedInput/index.d.ts +3 -0
- package/esm/MaskedInput/index.js +2 -0
- package/esm/MaskedInput/types.d.ts +10 -0
- package/esm/{@types/icons.js → MaskedInput/types.js} +0 -0
- package/esm/MaskedInput/utilities.d.ts +7 -0
- package/esm/MaskedInput/utilities.js +38 -0
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/Menubar.d.ts +1 -1
- package/esm/Message/Message.js +15 -13
- package/esm/Modal/Modal.js +3 -2
- package/esm/Modal/utils.js +14 -12
- package/esm/Notification/Notification.js +7 -4
- package/esm/Overlay/Modal.js +11 -8
- package/esm/Overlay/ModalManager.js +6 -1
- package/esm/Overlay/OverlayTrigger.js +1 -1
- package/esm/Overlay/Position.js +20 -11
- package/esm/Overlay/positionUtils.js +6 -2
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Picker/DropdownMenu.js +3 -1
- package/esm/Picker/DropdownMenuCheckItem.d.ts +3 -3
- package/esm/Picker/PickerOverlay.js +2 -1
- package/esm/Picker/PickerToggle.d.ts +6 -0
- package/esm/Picker/PickerToggle.js +10 -5
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/utils.d.ts +2 -2
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.d.ts +1 -1
- package/esm/RangeSlider/RangeSlider.js +4 -2
- package/esm/Rate/Character.js +2 -2
- package/esm/Ripple/Ripple.js +4 -3
- package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdownItem.js +16 -10
- package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/esm/Slider/Graduated.js +1 -1
- package/esm/Slider/Handle.js +5 -2
- package/esm/Slider/ProgressBar.js +1 -1
- package/esm/Slider/Slider.js +4 -2
- package/esm/Toggle/Toggle.d.ts +5 -6
- package/esm/Toggle/Toggle.js +43 -21
- package/esm/Tree/Tree.d.ts +3 -3
- package/esm/TreePicker/TreeNode.d.ts +1 -1
- package/esm/TreePicker/TreeNode.js +1 -1
- package/esm/TreePicker/TreePicker.d.ts +1 -1
- package/esm/Uploader/Uploader.d.ts +4 -4
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/locales/fa_IR.d.ts +105 -0
- package/esm/locales/fa_IR.js +74 -0
- package/esm/locales/index.d.ts +1 -0
- package/esm/locales/index.js +2 -1
- package/esm/utils/BrowserDetection.js +1 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/esm/utils/scrollTopAnimation.js +2 -2
- package/esm/utils/treeUtils.d.ts +2 -2
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +8 -4
- package/esm/utils/useEventListener.js +1 -1
- package/esm/utils/useIsMounted.d.ts +2 -0
- package/esm/utils/useIsMounted.js +16 -0
- package/esm/utils/usePortal.js +2 -2
- package/esm/utils/useRootClose.js +8 -6
- package/locales/fa_IR/package.json +7 -0
- package/package.json +5 -6
- package/styles/color-modes/light.less +2 -0
- package/styles/plugins/palette.js +10 -1
- package/cjs/@types/icons.d.ts +0 -1
- package/esm/@types/icons.d.ts +0 -1
|
@@ -24,7 +24,7 @@ var ProgressBar = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
24
24
|
|
|
25
25
|
var sizeKey = vertical ? 'height' : 'width';
|
|
26
26
|
var dirKey = rtl ? 'right' : 'left';
|
|
27
|
-
var startKey = vertical ? '
|
|
27
|
+
var startKey = vertical ? 'bottom' : dirKey;
|
|
28
28
|
|
|
29
29
|
var styles = _extends({}, style, (_extends2 = {}, _extends2[startKey] = start + "%", _extends2[sizeKey] = end - start + "%", _extends2));
|
|
30
30
|
|
package/esm/Slider/Slider.js
CHANGED
|
@@ -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
|
|
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 ?
|
|
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]);
|
package/esm/Toggle/Toggle.d.ts
CHANGED
|
@@ -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.
|
|
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;
|
package/esm/Toggle/Toggle.js
CHANGED
|
@@ -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 ? '
|
|
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
|
|
49
|
+
var handleInputChange = useCallback(function (e) {
|
|
48
50
|
if (disabled || readOnly) {
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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(
|
|
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
|
-
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
|
|
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;
|
package/esm/Tree/Tree.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
25
|
+
onScroll?: (event: React.SyntheticEvent) => void;
|
|
26
26
|
}
|
|
27
27
|
declare const TreePicker: PickerComponent<TreePickerProps>;
|
|
28
28
|
export default TreePicker;
|
|
@@ -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
|
|
85
|
+
onPreview?: (file: FileType, event: React.SyntheticEvent) => void;
|
|
86
86
|
/** Upload callback function with erro */
|
|
87
|
-
onError?: (status: any, file: FileType, event: React.SyntheticEvent
|
|
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
|
|
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
|
|
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
|
+
};
|
package/esm/locales/index.d.ts
CHANGED
|
@@ -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
|
};
|
package/esm/locales/index.js
CHANGED
|
@@ -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/
|
|
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);
|
package/esm/utils/index.d.ts
CHANGED
|
@@ -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';
|
package/esm/utils/index.js
CHANGED
|
@@ -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
|
|
2
|
-
import requestAnimationFramePolyfill from 'dom-lib/
|
|
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;
|
package/esm/utils/treeUtils.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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[];
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* @param eventTarget The target to listen for events on
|
|
6
6
|
* @param listener An event handler
|
|
7
7
|
*/
|
|
8
|
-
export default function useElementResize(eventTarget:
|
|
8
|
+
export default function useElementResize(eventTarget: Element | (() => Element), listener: ResizeObserverCallback): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { ResizeObserver } from '@juggle/resize-observer';
|
|
3
3
|
/**
|
|
4
4
|
* Attach the event handler directly to the specified DOM element,
|
|
5
5
|
* and it will be triggered when the size of the DOM element is changed.
|
|
@@ -9,11 +9,15 @@ import bindElementResize, { unbind } from 'element-resize-event';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export default function useElementResize(eventTarget, listener) {
|
|
12
|
+
var resizeObserver = useRef();
|
|
12
13
|
useEffect(function () {
|
|
13
14
|
var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
|
14
|
-
|
|
15
|
+
resizeObserver.current = new ResizeObserver(listener);
|
|
16
|
+
resizeObserver.current.observe(target);
|
|
15
17
|
return function () {
|
|
16
|
-
|
|
18
|
+
var _resizeObserver$curre;
|
|
19
|
+
|
|
20
|
+
(_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();
|
|
17
21
|
};
|
|
18
22
|
}, [eventTarget, listener]);
|
|
19
23
|
}
|
|
@@ -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;
|
package/esm/utils/usePortal.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useRef, useEffect, useCallback } from 'react';
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
|
-
import
|
|
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(
|
|
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
|
|
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 &&
|
|
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 &&
|
|
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 =
|
|
53
|
-
var onDocumentMouseDownListener =
|
|
54
|
-
var onDocumentKeyupListener =
|
|
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();
|