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
package/esm/Modal/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import getHeight from 'dom-lib/getHeight';
|
|
3
|
+
import on from 'dom-lib/on';
|
|
4
|
+
import { ResizeObserver } from '@juggle/resize-observer';
|
|
4
5
|
export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
5
6
|
var _useState = useState({}),
|
|
6
7
|
bodyStyles = _useState[0],
|
|
@@ -11,6 +12,7 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
11
12
|
prefix = options.prefix;
|
|
12
13
|
var windowResizeListener = useRef();
|
|
13
14
|
var contentElement = useRef();
|
|
15
|
+
var contentElementResizeObserver = useRef();
|
|
14
16
|
var updateBodyStyles = useCallback(function (_event, entering) {
|
|
15
17
|
var dialog = ref.current;
|
|
16
18
|
var scrollHeight = dialog ? dialog.scrollHeight : 0;
|
|
@@ -24,14 +26,14 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
24
26
|
var footerHeight = 46;
|
|
25
27
|
var headerDOM = dialog.querySelector("." + prefix('header'));
|
|
26
28
|
var footerDOM = dialog.querySelector("." + prefix('footer'));
|
|
27
|
-
headerHeight = headerDOM ?
|
|
28
|
-
footerHeight = footerDOM ?
|
|
29
|
+
headerHeight = headerDOM ? getHeight(headerDOM) + headerHeight : headerHeight;
|
|
30
|
+
footerHeight = footerDOM ? getHeight(footerDOM) + footerHeight : footerHeight;
|
|
29
31
|
/**
|
|
30
32
|
* Header height + Footer height + Dialog margin
|
|
31
33
|
*/
|
|
32
34
|
|
|
33
35
|
var excludeHeight = headerHeight + footerHeight + (entering ? 70 : 60);
|
|
34
|
-
var bodyHeight =
|
|
36
|
+
var bodyHeight = getHeight(window) - excludeHeight;
|
|
35
37
|
var maxHeight = scrollHeight >= bodyHeight ? bodyHeight : scrollHeight;
|
|
36
38
|
styles.maxHeight = maxHeight;
|
|
37
39
|
}
|
|
@@ -39,13 +41,10 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
39
41
|
setBodyStyles(styles);
|
|
40
42
|
}, [prefix, ref]);
|
|
41
43
|
var onDestroyEvents = useCallback(function () {
|
|
42
|
-
var _windowResizeListener, _windowResizeListener2;
|
|
44
|
+
var _windowResizeListener, _windowResizeListener2, _contentElementResize;
|
|
43
45
|
|
|
44
46
|
(_windowResizeListener = windowResizeListener.current) === null || _windowResizeListener === void 0 ? void 0 : (_windowResizeListener2 = _windowResizeListener.off) === null || _windowResizeListener2 === void 0 ? void 0 : _windowResizeListener2.call(_windowResizeListener);
|
|
45
|
-
|
|
46
|
-
if (contentElement.current) {
|
|
47
|
-
unbindElementResize(contentElement.current);
|
|
48
|
-
}
|
|
47
|
+
(_contentElementResize = contentElementResizeObserver.current) === null || _contentElementResize === void 0 ? void 0 : _contentElementResize.disconnect();
|
|
49
48
|
}, []);
|
|
50
49
|
var onChangeBodyStyles = useCallback(function (entering) {
|
|
51
50
|
if (overflow && !drawer) {
|
|
@@ -53,8 +52,11 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
53
52
|
|
|
54
53
|
updateBodyStyles(null, entering);
|
|
55
54
|
contentElement.current = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("." + prefix('content'));
|
|
56
|
-
windowResizeListener.current =
|
|
57
|
-
|
|
55
|
+
windowResizeListener.current = on(window, 'resize', updateBodyStyles);
|
|
56
|
+
contentElementResizeObserver.current = new ResizeObserver(function () {
|
|
57
|
+
return updateBodyStyles();
|
|
58
|
+
});
|
|
59
|
+
contentElementResizeObserver.current.observe(contentElement.current);
|
|
58
60
|
}
|
|
59
61
|
}, [drawer, overflow, prefix, ref, updateBodyStyles]);
|
|
60
62
|
useEffect(function () {
|
|
@@ -6,7 +6,7 @@ var _templateObject, _templateObject2;
|
|
|
6
6
|
|
|
7
7
|
import React, { useCallback, useState } from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
|
-
import { useClassNames, useTimeout, MESSAGE_STATUS_ICONS } from '../utils';
|
|
9
|
+
import { useClassNames, useTimeout, MESSAGE_STATUS_ICONS, useIsMounted } from '../utils';
|
|
10
10
|
import CloseButton from '../CloseButton';
|
|
11
11
|
var Notification = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
12
12
|
var _props$as = props.as,
|
|
@@ -30,8 +30,9 @@ var Notification = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
30
30
|
var _useClassNames = useClassNames(classPrefix),
|
|
31
31
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
32
32
|
merge = _useClassNames.merge,
|
|
33
|
-
prefix = _useClassNames.prefix;
|
|
33
|
+
prefix = _useClassNames.prefix;
|
|
34
34
|
|
|
35
|
+
var isMounted = useIsMounted(); // Timed close message
|
|
35
36
|
|
|
36
37
|
var _useTimeout = useTimeout(onClose, duration, duration > 0),
|
|
37
38
|
clear = _useTimeout.clear; // Click to trigger to close the message
|
|
@@ -42,9 +43,11 @@ var Notification = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
42
43
|
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
43
44
|
clear();
|
|
44
45
|
setTimeout(function () {
|
|
45
|
-
|
|
46
|
+
if (isMounted()) {
|
|
47
|
+
setDisplay('hide');
|
|
48
|
+
}
|
|
46
49
|
}, 1000);
|
|
47
|
-
}, [onClose, clear]);
|
|
50
|
+
}, [onClose, clear, isMounted]);
|
|
48
51
|
var renderHeader = useCallback(function () {
|
|
49
52
|
if (!header) {
|
|
50
53
|
return null;
|
package/esm/Overlay/Modal.js
CHANGED
|
@@ -3,7 +3,10 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
import React, { useRef, useEffect, useState, useCallback } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import classNames from 'classnames';
|
|
6
|
-
import
|
|
6
|
+
import canUseDOM from 'dom-lib/canUseDOM';
|
|
7
|
+
import contains from 'dom-lib/contains';
|
|
8
|
+
import getContainer from 'dom-lib/getContainer';
|
|
9
|
+
import on from 'dom-lib/on';
|
|
7
10
|
import ModalManager from './ModalManager';
|
|
8
11
|
import Fade from '../Animation/Fade';
|
|
9
12
|
import { animationPropTypes } from '../Animation/utils';
|
|
@@ -102,8 +105,8 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
102
105
|
}
|
|
103
106
|
}, [keyboard, modal, onEscapeKeyUp, onClose]);
|
|
104
107
|
var checkForFocus = useCallback(function () {
|
|
105
|
-
if (
|
|
106
|
-
lastFocus.current =
|
|
108
|
+
if (canUseDOM) {
|
|
109
|
+
lastFocus.current = document.activeElement;
|
|
107
110
|
}
|
|
108
111
|
}, []);
|
|
109
112
|
var restoreLastFocus = useCallback(function () {
|
|
@@ -122,10 +125,10 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
122
125
|
return;
|
|
123
126
|
}
|
|
124
127
|
|
|
125
|
-
var currentActiveElement =
|
|
128
|
+
var currentActiveElement = document.activeElement;
|
|
126
129
|
var dialog = getDialogElement();
|
|
127
130
|
|
|
128
|
-
if (dialog && dialog !== currentActiveElement && !
|
|
131
|
+
if (dialog && dialog !== currentActiveElement && !contains(dialog, currentActiveElement)) {
|
|
129
132
|
dialog.focus();
|
|
130
133
|
}
|
|
131
134
|
}, [enforceFocus, getDialogElement, modal]);
|
|
@@ -144,10 +147,10 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
144
147
|
var docusinListener = useRef();
|
|
145
148
|
var handleOpen = useCallback(function () {
|
|
146
149
|
var dialog = getDialogElement();
|
|
147
|
-
var containerElement =
|
|
150
|
+
var containerElement = getContainer(container, document.body);
|
|
148
151
|
modal.add(containerElement, containerClassName);
|
|
149
|
-
documentKeyupListener.current =
|
|
150
|
-
docusinListener.current =
|
|
152
|
+
documentKeyupListener.current = on(document, 'keydown', handleDocumentKeyUp);
|
|
153
|
+
docusinListener.current = on(document, 'focus', handleEnforceFocus, true);
|
|
151
154
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
152
155
|
checkForFocus();
|
|
153
156
|
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import addClass from 'dom-lib/addClass';
|
|
2
|
+
import removeClass from 'dom-lib/removeClass';
|
|
3
|
+
import addStyle from 'dom-lib/addStyle';
|
|
4
|
+
import getStyle from 'dom-lib/getStyle';
|
|
5
|
+
import getScrollbarSize from 'dom-lib/getScrollbarSize';
|
|
6
|
+
import isOverflowing from 'dom-lib/isOverflowing';
|
|
2
7
|
|
|
3
8
|
function findIndexOf(arr, cb) {
|
|
4
9
|
var index = -1;
|
|
@@ -4,7 +4,7 @@ import _isUndefined from "lodash/isUndefined";
|
|
|
4
4
|
import React, { useRef, useEffect, useImperativeHandle, useCallback } from 'react';
|
|
5
5
|
import get from 'lodash/get';
|
|
6
6
|
import isNil from 'lodash/isNil';
|
|
7
|
-
import
|
|
7
|
+
import contains from 'dom-lib/contains';
|
|
8
8
|
import Overlay from './Overlay';
|
|
9
9
|
import { createChainedFunction, usePortal, useControlled } from '../utils';
|
|
10
10
|
import isOneOf from '../utils/isOneOf';
|
package/esm/Overlay/Position.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef, useMemo, useCallback, useImperativeHandle } from 'react';
|
|
2
|
-
import bindElementResize from 'element-resize-event';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import classNames from 'classnames';
|
|
5
|
-
import
|
|
4
|
+
import getContainer from 'dom-lib/getContainer';
|
|
5
|
+
import ownerDocument from 'dom-lib/ownerDocument';
|
|
6
|
+
import removeClass from 'dom-lib/removeClass';
|
|
7
|
+
import on from 'dom-lib/on';
|
|
8
|
+
import addClass from 'dom-lib/addClass';
|
|
9
|
+
import addStyle from 'dom-lib/addStyle';
|
|
10
|
+
import { ResizeObserver } from '@juggle/resize-observer';
|
|
11
|
+
import isElement from '../DOMHelper/isElement';
|
|
6
12
|
import positionUtils from './positionUtils';
|
|
7
13
|
import { getDOMNode } from '../utils';
|
|
8
14
|
import { useUpdateEffect } from '../utils';
|
|
@@ -17,6 +23,7 @@ var usePosition = function usePosition(props, ref) {
|
|
|
17
23
|
triggerTarget = props.triggerTarget;
|
|
18
24
|
var containerRef = useRef();
|
|
19
25
|
var lastTargetRef = useRef();
|
|
26
|
+
var overlayResizeObserver = useRef();
|
|
20
27
|
var defaultPosition = {
|
|
21
28
|
positionLeft: 0,
|
|
22
29
|
positionTop: 0,
|
|
@@ -52,7 +59,7 @@ var usePosition = function usePosition(props, ref) {
|
|
|
52
59
|
|
|
53
60
|
var targetElement = getDOMNode(triggerTarget);
|
|
54
61
|
|
|
55
|
-
if (!
|
|
62
|
+
if (!isElement(targetElement)) {
|
|
56
63
|
throw new Error('`target` should return an HTMLElement');
|
|
57
64
|
} // If the target and placement do not change, the position is not updated.
|
|
58
65
|
|
|
@@ -62,16 +69,16 @@ var usePosition = function usePosition(props, ref) {
|
|
|
62
69
|
}
|
|
63
70
|
|
|
64
71
|
var overlay = getDOMNode(ref.current);
|
|
65
|
-
var containerElement =
|
|
72
|
+
var containerElement = getContainer(typeof container === 'function' ? container() : container, ownerDocument(ref.current).body);
|
|
66
73
|
var posi = utils.calcOverlayPosition(overlay, targetElement, containerElement);
|
|
67
74
|
|
|
68
75
|
if (forceUpdateDOM && overlay) {
|
|
69
76
|
var _overlay$className, _overlay$className$ma;
|
|
70
77
|
|
|
71
78
|
var preClassName = overlay === null || overlay === void 0 ? void 0 : (_overlay$className = overlay.className) === null || _overlay$className === void 0 ? void 0 : (_overlay$className$ma = _overlay$className.match(/(placement-\S+)/)) === null || _overlay$className$ma === void 0 ? void 0 : _overlay$className$ma[0];
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
79
|
+
removeClass(overlay, preClassName);
|
|
80
|
+
addClass(overlay, posi.positionClassName);
|
|
81
|
+
addStyle(overlay, {
|
|
75
82
|
left: posi.positionLeft + "px",
|
|
76
83
|
top: posi.positionTop + "px"
|
|
77
84
|
});
|
|
@@ -91,29 +98,31 @@ var usePosition = function usePosition(props, ref) {
|
|
|
91
98
|
var _containerRef$current;
|
|
92
99
|
|
|
93
100
|
// Update the overlay position when the container scroll bar is scrolling
|
|
94
|
-
containerScrollListener =
|
|
101
|
+
containerScrollListener = on(((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.tagName) === 'BODY' ? window : containerRef.current, 'scroll', function () {
|
|
95
102
|
return updatePosition(true, true);
|
|
96
103
|
});
|
|
97
104
|
} // Update the position when the window size changes
|
|
98
105
|
|
|
99
106
|
|
|
100
|
-
var resizeListener =
|
|
107
|
+
var resizeListener = on(window, 'resize', function () {
|
|
101
108
|
return updatePosition(true, true);
|
|
102
109
|
});
|
|
103
110
|
|
|
104
111
|
if (overlay) {
|
|
105
112
|
// Update the position when the size of the overlay changes
|
|
106
|
-
|
|
113
|
+
overlayResizeObserver.current = new ResizeObserver(function () {
|
|
107
114
|
return updatePosition(true, true);
|
|
108
115
|
});
|
|
116
|
+
overlayResizeObserver.current.observe(overlay);
|
|
109
117
|
}
|
|
110
118
|
|
|
111
119
|
return function () {
|
|
112
|
-
var _containerScrollListe;
|
|
120
|
+
var _containerScrollListe, _overlayResizeObserve;
|
|
113
121
|
|
|
114
122
|
lastTargetRef.current = null;
|
|
115
123
|
(_containerScrollListe = containerScrollListener) === null || _containerScrollListe === void 0 ? void 0 : _containerScrollListe.off();
|
|
116
124
|
resizeListener === null || resizeListener === void 0 ? void 0 : resizeListener.off();
|
|
125
|
+
(_overlayResizeObserve = overlayResizeObserver.current) === null || _overlayResizeObserve === void 0 ? void 0 : _overlayResizeObserve.disconnect();
|
|
117
126
|
};
|
|
118
127
|
}, [preventOverflow, ref, updatePosition]);
|
|
119
128
|
useUpdateEffect(function () {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import maxBy from 'lodash/maxBy';
|
|
2
2
|
import minBy from 'lodash/minBy';
|
|
3
3
|
import kebabCase from 'lodash/kebabCase';
|
|
4
|
-
import
|
|
4
|
+
import ownerDocument from 'dom-lib/ownerDocument';
|
|
5
|
+
import getOffset from 'dom-lib/getOffset';
|
|
6
|
+
import scrollTop from 'dom-lib/scrollTop';
|
|
7
|
+
import scrollLeft from 'dom-lib/scrollLeft';
|
|
8
|
+
import _getPosition from 'dom-lib/getPosition';
|
|
5
9
|
export var AutoPlacement = {
|
|
6
10
|
left: 'Start',
|
|
7
11
|
right: 'End',
|
|
@@ -123,7 +127,7 @@ export default (function (props) {
|
|
|
123
127
|
|
|
124
128
|
return {
|
|
125
129
|
getPosition: function getPosition(target, container) {
|
|
126
|
-
var offset = container.tagName === 'BODY' ? getOffset(target) : _getPosition(target, container);
|
|
130
|
+
var offset = container.tagName === 'BODY' ? getOffset(target) : _getPosition(target, container, false);
|
|
127
131
|
return offset;
|
|
128
132
|
},
|
|
129
133
|
calcAutoPlacement: function calcAutoPlacement(targetOffset, container, overlay) {
|
package/esm/Panel/Panel.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface PanelProps<T = string | number> extends WithAsProps, AnimationE
|
|
|
24
24
|
/** Role of Panel */
|
|
25
25
|
panelRole?: string;
|
|
26
26
|
/** callback function for the panel clicked */
|
|
27
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent
|
|
27
|
+
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
28
28
|
}
|
|
29
29
|
declare const Panel: RsRefForwardingComponent<'div', PanelProps>;
|
|
30
30
|
export default Panel;
|
|
@@ -9,7 +9,9 @@ import isUndefined from 'lodash/isUndefined';
|
|
|
9
9
|
import isString from 'lodash/isString';
|
|
10
10
|
import isNumber from 'lodash/isNumber';
|
|
11
11
|
import findIndex from 'lodash/findIndex';
|
|
12
|
-
import
|
|
12
|
+
import getPosition from 'dom-lib/getPosition';
|
|
13
|
+
import scrollTop from 'dom-lib/scrollTop';
|
|
14
|
+
import getHeight from 'dom-lib/getHeight';
|
|
13
15
|
import classNames from 'classnames';
|
|
14
16
|
import { List, AutoSizer } from './VirtualizedList';
|
|
15
17
|
import shallowEqual from '../utils/shallowEqual';
|
|
@@ -12,9 +12,9 @@ export interface DropdownMenuCheckItemProps extends WithAsProps {
|
|
|
12
12
|
title?: string;
|
|
13
13
|
className?: string;
|
|
14
14
|
children?: React.ReactNode;
|
|
15
|
-
onSelect?: (value: any, event: React.SyntheticEvent
|
|
16
|
-
onCheck?: (value: any, event: React.SyntheticEvent
|
|
17
|
-
onSelectItem?: (value: any, event: React.SyntheticEvent
|
|
15
|
+
onSelect?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
|
|
16
|
+
onCheck?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
|
|
17
|
+
onSelectItem?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
|
|
18
18
|
onKeyDown?: (event: React.KeyboardEvent) => void;
|
|
19
19
|
}
|
|
20
20
|
declare const DropdownMenuCheckItem: RsRefForwardingComponent<'div', DropdownMenuCheckItemProps>;
|
|
@@ -2,7 +2,8 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import React, { useRef, useCallback, useEffect } from 'react';
|
|
4
4
|
import omit from 'lodash/omit';
|
|
5
|
-
import
|
|
5
|
+
import addStyle from 'dom-lib/addStyle';
|
|
6
|
+
import getWidth from 'dom-lib/getWidth';
|
|
6
7
|
import { getDOMNode, mergeRefs, useElementResize, useClassNames } from '../utils';
|
|
7
8
|
var omitProps = ['placement', 'arrowOffsetLeft', 'arrowOffsetTop', 'positionLeft', 'positionTop', 'getPositionInstance', 'getToggleInstance', 'autoWidth'];
|
|
8
9
|
var resizePlacement = ['topStart', 'topEnd', 'leftEnd', 'rightEnd', 'auto', 'autoVerticalStart', 'autoVerticalEnd', 'autoHorizontalEnd'];
|
|
@@ -23,7 +23,13 @@ export interface PickerToggleProps extends ToggleButtonProps {
|
|
|
23
23
|
onInputBlur?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
24
24
|
onInputFocus?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
25
25
|
placement?: TypeAttributes.Placement;
|
|
26
|
+
/**
|
|
27
|
+
* Custom caret component
|
|
28
|
+
* @deprecated Use `caretAs` instead
|
|
29
|
+
*/
|
|
26
30
|
caretComponent?: React.FC<IconProps>;
|
|
31
|
+
/** Custom caret component */
|
|
32
|
+
caretAs?: React.ElementType;
|
|
27
33
|
onClean?: (event: React.MouseEvent) => void;
|
|
28
34
|
}
|
|
29
35
|
declare const PickerToggle: RsRefForwardingComponent<typeof ToggleButton, PickerToggleProps>;
|
|
@@ -7,12 +7,13 @@ var _templateObject, _templateObject2;
|
|
|
7
7
|
import React, { useState, useCallback, useEffect, useRef } from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import debounce from 'lodash/debounce';
|
|
10
|
-
import MaskedInput from 'react-text-mask';
|
|
11
10
|
import ToggleButton from './ToggleButton';
|
|
12
11
|
import CloseButton from '../CloseButton';
|
|
13
12
|
import { useClassNames, KEY_VALUES, mergeRefs } from '../utils';
|
|
14
13
|
import Plaintext from '../Plaintext';
|
|
15
14
|
import useToggleCaret from '../utils/useToggleCaret';
|
|
15
|
+
import TextMask from '../MaskedInput/TextMask';
|
|
16
|
+
import deprecatePropType from '../utils/deprecatePropType';
|
|
16
17
|
var defaultInputMask = [];
|
|
17
18
|
var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
18
19
|
var activeProp = props.active,
|
|
@@ -47,7 +48,9 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
47
48
|
onBlur = props.onBlur,
|
|
48
49
|
placement = props.placement,
|
|
49
50
|
caretComponent = props.caretComponent,
|
|
50
|
-
|
|
51
|
+
_props$caretAs = props.caretAs,
|
|
52
|
+
caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
|
|
53
|
+
rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "cleanable", "tabIndex", "id", "value", "input", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs"]);
|
|
51
54
|
|
|
52
55
|
var inputRef = useRef();
|
|
53
56
|
|
|
@@ -117,7 +120,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
117
120
|
}
|
|
118
121
|
}, [onInputPressEnter, input]);
|
|
119
122
|
var ToggleCaret = useToggleCaret(placement);
|
|
120
|
-
var Caret =
|
|
123
|
+
var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;
|
|
121
124
|
|
|
122
125
|
if (plaintext) {
|
|
123
126
|
return /*#__PURE__*/React.createElement(Plaintext, {
|
|
@@ -143,7 +146,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
143
146
|
onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.
|
|
144
147
|
,
|
|
145
148
|
onBlur: !disabled ? debounce(handleBlur, 200) : null
|
|
146
|
-
}), /*#__PURE__*/React.createElement(
|
|
149
|
+
}), /*#__PURE__*/React.createElement(TextMask, {
|
|
147
150
|
mask: inputMask,
|
|
148
151
|
value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,
|
|
149
152
|
onBlur: handleInputBlur,
|
|
@@ -192,6 +195,8 @@ PickerToggle.propTypes = {
|
|
|
192
195
|
active: PropTypes.bool,
|
|
193
196
|
readOnly: PropTypes.bool,
|
|
194
197
|
disabled: PropTypes.bool,
|
|
195
|
-
plaintext: PropTypes.bool
|
|
198
|
+
plaintext: PropTypes.bool,
|
|
199
|
+
caretComponent: deprecatePropType(PropTypes.elementType, 'Use `caretAs` instead.'),
|
|
200
|
+
caretAs: PropTypes.elementType
|
|
196
201
|
};
|
|
197
202
|
export default PickerToggle;
|
|
@@ -5,7 +5,7 @@ export interface SearchBarProps extends WithAsProps {
|
|
|
5
5
|
placeholder?: string;
|
|
6
6
|
className?: string;
|
|
7
7
|
inputRef?: React.Ref<HTMLInputElement>;
|
|
8
|
-
onChange?: (value: string, event: React.SyntheticEvent
|
|
8
|
+
onChange?: (value: string, event: React.SyntheticEvent) => void;
|
|
9
9
|
}
|
|
10
10
|
declare const SearchBar: RsRefForwardingComponent<'div', SearchBarProps>;
|
|
11
11
|
export default SearchBar;
|
package/esm/Picker/utils.d.ts
CHANGED
|
@@ -89,7 +89,7 @@ interface SearchProps {
|
|
|
89
89
|
labelKey: string;
|
|
90
90
|
data: ItemDataType[];
|
|
91
91
|
searchBy: (keyword: any, label: any, item: any) => boolean;
|
|
92
|
-
callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent
|
|
92
|
+
callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent) => void;
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
95
|
* A hook that handles search filter options
|
|
@@ -101,7 +101,7 @@ export declare function useSearch(props: SearchProps): {
|
|
|
101
101
|
updateFilteredData: (nextData: ItemDataType[]) => void;
|
|
102
102
|
setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
|
|
103
103
|
checkShouldDisplay: (item: ItemDataType, keyword?: string) => boolean;
|
|
104
|
-
handleSearch: (searchKeyword: string, event: React.SyntheticEvent
|
|
104
|
+
handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
|
|
105
105
|
};
|
|
106
106
|
interface Refs {
|
|
107
107
|
triggerRef?: React.RefObject<OverlayTriggerInstance>;
|
package/esm/Radio/Radio.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export interface RadioProps<T = ValueType> extends WithAsProps, Omit<React.HTMLA
|
|
|
27
27
|
/** Primary content */
|
|
28
28
|
children?: React.ReactNode;
|
|
29
29
|
/** Callback function with value changed */
|
|
30
|
-
onChange?: (value: T, checked: boolean, event: React.
|
|
30
|
+
onChange?: (value: T, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
31
31
|
}
|
|
32
32
|
declare const Radio: React.ForwardRefExoticComponent<RadioProps<ValueType> & React.RefAttributes<unknown>>;
|
|
33
33
|
export default Radio;
|
|
@@ -9,7 +9,7 @@ export interface RadioContextProps {
|
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
readOnly?: boolean;
|
|
11
11
|
plaintext?: boolean;
|
|
12
|
-
onChange?: (value: ValueType, event: React.
|
|
12
|
+
onChange?: (value: ValueType, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
13
13
|
}
|
|
14
14
|
export interface RadioGroupProps<T = ValueType> extends WithAsProps, FormControlBaseProps<T> {
|
|
15
15
|
/** A radio group can have different appearances */
|
|
@@ -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, { useMemo, useRef, useCallback } 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 { useClassNames, useCustom, useControlled, useEventCallback } from '../utils';
|
|
7
9
|
import { sliderPropTypes } from '../Slider/Slider';
|
|
8
10
|
import ProgressBar from '../Slider/ProgressBar';
|
|
@@ -114,7 +116,7 @@ var RangeSlider = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
114
116
|
}, [count, getBarHeight, getBarWidth, step, vertical]);
|
|
115
117
|
var getValueByPosition = useCallback(function (event) {
|
|
116
118
|
var barOffset = getOffset(barRef.current);
|
|
117
|
-
var offset = vertical ?
|
|
119
|
+
var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;
|
|
118
120
|
var val = rtl && !vertical ? barOffset.width - offset : offset;
|
|
119
121
|
return getValueByOffset(val) + min;
|
|
120
122
|
}, [getValueByOffset, min, rtl, vertical]);
|
package/esm/Rate/Character.js
CHANGED
|
@@ -5,12 +5,12 @@ var _characterStatus;
|
|
|
5
5
|
|
|
6
6
|
import React, { useCallback, useRef } from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
-
import
|
|
8
|
+
import contains from 'dom-lib/contains';
|
|
9
9
|
import { useClassNames } from '../utils';
|
|
10
10
|
var characterStatus = (_characterStatus = {}, _characterStatus[0] = 'empty', _characterStatus[0.5] = 'half', _characterStatus[1] = 'full', _characterStatus);
|
|
11
11
|
|
|
12
12
|
var getKey = function getKey(a, b) {
|
|
13
|
-
return
|
|
13
|
+
return contains(a, b) ? 'before' : 'after';
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
var Character = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
package/esm/Ripple/Ripple.js
CHANGED
|
@@ -2,12 +2,13 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import React, { useRef, useState, useEffect, useCallback } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
+
import getOffset from 'dom-lib/getOffset';
|
|
6
|
+
import on from 'dom-lib/on';
|
|
5
7
|
import Transition from '../Animation/Transition';
|
|
6
|
-
import helper from '../DOMHelper';
|
|
7
8
|
import { mergeRefs, useClassNames } from '../utils';
|
|
8
9
|
|
|
9
10
|
var getPosition = function getPosition(target, event) {
|
|
10
|
-
var offset =
|
|
11
|
+
var offset = getOffset(target);
|
|
11
12
|
var offsetX = (event.pageX || 0) - offset.left;
|
|
12
13
|
var offsetY = (event.pageY || 0) - offset.top;
|
|
13
14
|
var radiusX = Math.max(offset.width - offsetX, offsetX);
|
|
@@ -58,7 +59,7 @@ var Ripple = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
58
59
|
}, [onMouseDown]);
|
|
59
60
|
useEffect(function () {
|
|
60
61
|
var parentNode = triggerRef.current.parentNode;
|
|
61
|
-
var mousedownListener =
|
|
62
|
+
var mousedownListener = on(parentNode, 'mousedown', handleMouseDown);
|
|
62
63
|
return function () {
|
|
63
64
|
mousedownListener === null || mousedownListener === void 0 ? void 0 : mousedownListener.off();
|
|
64
65
|
};
|
|
@@ -23,7 +23,7 @@ export interface SidenavDropdownItemProps<T = any> extends WithAsProps, Omit<Rea
|
|
|
23
23
|
/** Whether the submenu is expanded, used in Sidenav. */
|
|
24
24
|
expanded?: boolean;
|
|
25
25
|
/** Select the callback function for the current option */
|
|
26
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent
|
|
26
|
+
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Tree View Node
|
|
@@ -9,6 +9,7 @@ import Ripple from '../Ripple';
|
|
|
9
9
|
import SafeAnchor from '../SafeAnchor';
|
|
10
10
|
import NavContext from '../Nav/NavContext';
|
|
11
11
|
import DropdownContext from '../Dropdown/DropdownContext';
|
|
12
|
+
import { useRenderDropdownItem } from '../Dropdown/useRenderDropdownItem';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Tree View Node
|
|
@@ -59,34 +60,39 @@ var SidenavDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
59
60
|
var menuitemEventHandlers = {
|
|
60
61
|
onClick: createChainedFunction(handleClick, onClick)
|
|
61
62
|
};
|
|
63
|
+
var renderDropdownItem = useRenderDropdownItem(Component);
|
|
62
64
|
|
|
63
65
|
if (divider) {
|
|
64
|
-
return
|
|
66
|
+
return renderDropdownItem(_extends({
|
|
65
67
|
ref: ref,
|
|
66
|
-
role:
|
|
68
|
+
role: 'separator',
|
|
67
69
|
style: style,
|
|
68
70
|
className: merge(prefix('divider'), className)
|
|
69
71
|
}, rest));
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
if (panel) {
|
|
73
|
-
return
|
|
75
|
+
return renderDropdownItem(_extends({
|
|
74
76
|
ref: ref,
|
|
75
|
-
role:
|
|
77
|
+
role: 'none presentation',
|
|
76
78
|
style: style,
|
|
77
79
|
className: merge(prefix('panel'), className)
|
|
78
|
-
}, rest
|
|
80
|
+
}, rest, {
|
|
81
|
+
children: children
|
|
82
|
+
}));
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
return
|
|
85
|
+
return renderDropdownItem(_extends({
|
|
82
86
|
ref: ref
|
|
83
87
|
}, rest, {
|
|
84
88
|
style: style,
|
|
85
89
|
className: classes,
|
|
86
|
-
|
|
87
|
-
}, menuitemEventHandlers
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
'aria-current': selected || undefined
|
|
91
|
+
}, menuitemEventHandlers, {
|
|
92
|
+
children: /*#__PURE__*/React.createElement(React.Fragment, null, icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
93
|
+
className: prefix('menu-icon')
|
|
94
|
+
}), children, /*#__PURE__*/React.createElement(Ripple, null))
|
|
95
|
+
}), SafeAnchor);
|
|
90
96
|
});
|
|
91
97
|
SidenavDropdownItem.displayName = 'Sidenav.Dropdown.Item';
|
|
92
98
|
SidenavDropdownItem.propTypes = {
|
|
@@ -15,7 +15,7 @@ export interface SidenavDropdownMenuProps<T = any> extends WithAsProps, Omit<Rea
|
|
|
15
15
|
/** Whether the submenu is expanded, used in Sidenav. */
|
|
16
16
|
expanded?: boolean;
|
|
17
17
|
/** Select the callback function for the current option */
|
|
18
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent
|
|
18
|
+
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
19
19
|
title?: React.ReactNode;
|
|
20
20
|
}
|
|
21
21
|
/**
|
package/esm/Slider/Graduated.js
CHANGED
|
@@ -65,7 +65,7 @@ var Graduated = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
65
65
|
return /*#__PURE__*/React.createElement(Component, {
|
|
66
66
|
ref: ref,
|
|
67
67
|
className: classes
|
|
68
|
-
}, /*#__PURE__*/React.createElement("
|
|
68
|
+
}, /*#__PURE__*/React.createElement("ol", null, graduatedItems));
|
|
69
69
|
});
|
|
70
70
|
Graduated.displayName = 'Graduated';
|
|
71
71
|
Graduated.propTypes = {
|
package/esm/Slider/Handle.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, { useState, useRef, useEffect, useCallback } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import
|
|
5
|
+
import DOMMouseMoveTracker from 'dom-lib/DOMMouseMoveTracker';
|
|
6
|
+
import addStyle from 'dom-lib/addStyle';
|
|
7
|
+
import getWidth from 'dom-lib/getWidth';
|
|
6
8
|
import Tooltip from '../Tooltip';
|
|
7
9
|
import { useClassNames, mergeRefs } from '../utils';
|
|
8
10
|
import Input from './Input';
|
|
@@ -39,7 +41,7 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
39
41
|
|
|
40
42
|
var rootRef = useRef();
|
|
41
43
|
var horizontalKey = rtl ? 'right' : 'left';
|
|
42
|
-
var direction = vertical ? '
|
|
44
|
+
var direction = vertical ? 'bottom' : horizontalKey;
|
|
43
45
|
|
|
44
46
|
var styles = _extends({}, style, (_extends2 = {}, _extends2[direction] = position + "%", _extends2));
|
|
45
47
|
|
|
@@ -119,6 +121,7 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
119
121
|
ref: tooltipRef,
|
|
120
122
|
className: merge(prefix('tooltip'), 'placement-top')
|
|
121
123
|
}, renderTooltip ? renderTooltip(value) : value), /*#__PURE__*/React.createElement(Input, _extends({
|
|
124
|
+
tabIndex: -1,
|
|
122
125
|
value: value
|
|
123
126
|
}, rest)), children);
|
|
124
127
|
});
|