rsuite 5.1.0 → 5.2.3
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 +45 -0
- package/PanelGroup/styles/index.less +12 -12
- package/README.md +3 -45
- package/Sidenav/styles/index.less +4 -0
- package/Slider/styles/index.less +20 -14
- package/Toggle/styles/index.less +48 -27
- package/Toggle/styles/mixin.less +16 -14
- 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/CheckboxGroup.js +2 -2
- package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/cjs/DOMHelper/index.d.ts +12 -27
- 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/DateRangePicker/Calendar.d.ts +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -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 +16 -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 +3 -3
- package/cjs/List/helper/useSortHelper.js +11 -6
- package/cjs/MaskedInput/MaskedInput.d.ts +5 -42
- package/cjs/MaskedInput/MaskedInput.js +9 -63
- package/cjs/MaskedInput/TextMask.d.ts +43 -0
- package/cjs/MaskedInput/TextMask.js +80 -0
- package/cjs/Menu/Menu.js +46 -34
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +16 -12
- 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 +16 -8
- 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/RadioGroup/RadioGroup.js +2 -2
- package/cjs/RangeSlider/RangeSlider.js +9 -5
- package/cjs/Rate/Character.js +2 -2
- package/cjs/Rate/Rate.js +3 -1
- 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 +3 -6
- package/cjs/Toggle/Toggle.js +32 -27
- 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/locales/fa_IR.js +8 -8
- 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 +11 -6
- 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 +194 -119
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +194 -119
- package/dist/rsuite.js +703 -504
- 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.LICENSE.txt +9 -0
- 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/CheckboxGroup.js +2 -2
- package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/esm/DOMHelper/index.d.ts +12 -27
- 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/DateRangePicker/Calendar.d.ts +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -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 +15 -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 +2 -2
- package/esm/List/helper/useSortHelper.js +8 -4
- package/esm/MaskedInput/MaskedInput.d.ts +5 -42
- package/esm/MaskedInput/MaskedInput.js +9 -63
- package/esm/MaskedInput/TextMask.d.ts +43 -0
- package/esm/MaskedInput/TextMask.js +67 -0
- package/esm/Menu/Menu.js +46 -36
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +16 -12
- 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 +5 -1
- 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 +15 -8
- 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/RadioGroup/RadioGroup.js +2 -2
- package/esm/RangeSlider/RangeSlider.js +4 -2
- package/esm/Rate/Character.js +2 -2
- package/esm/Rate/Rate.js +2 -1
- 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 +3 -6
- package/esm/Toggle/Toggle.js +34 -29
- 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/locales/fa_IR.js +8 -8
- 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 +12 -5
- 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/package.json +5 -5
- package/styles/plugins/palette.js +10 -1
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',
|
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>;
|
|
@@ -12,7 +12,8 @@ import CloseButton from '../CloseButton';
|
|
|
12
12
|
import { useClassNames, KEY_VALUES, mergeRefs } from '../utils';
|
|
13
13
|
import Plaintext from '../Plaintext';
|
|
14
14
|
import useToggleCaret from '../utils/useToggleCaret';
|
|
15
|
-
import
|
|
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
|
|
|
@@ -80,15 +83,17 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
80
83
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
81
84
|
|
|
82
85
|
if (input) {
|
|
83
|
-
|
|
86
|
+
var _inputRef$current;
|
|
87
|
+
|
|
88
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
84
89
|
}
|
|
85
90
|
}, [input, onFocus]);
|
|
86
91
|
var handleBlur = useCallback(function (event) {
|
|
87
92
|
if (document.activeElement !== inputRef.current) {
|
|
88
|
-
var _inputRef$
|
|
93
|
+
var _inputRef$current2;
|
|
89
94
|
|
|
90
95
|
setActive(false);
|
|
91
|
-
(_inputRef$
|
|
96
|
+
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();
|
|
92
97
|
}
|
|
93
98
|
|
|
94
99
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
@@ -117,7 +122,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
117
122
|
}
|
|
118
123
|
}, [onInputPressEnter, input]);
|
|
119
124
|
var ToggleCaret = useToggleCaret(placement);
|
|
120
|
-
var Caret =
|
|
125
|
+
var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;
|
|
121
126
|
|
|
122
127
|
if (plaintext) {
|
|
123
128
|
return /*#__PURE__*/React.createElement(Plaintext, {
|
|
@@ -143,7 +148,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
143
148
|
onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.
|
|
144
149
|
,
|
|
145
150
|
onBlur: !disabled ? debounce(handleBlur, 200) : null
|
|
146
|
-
}), /*#__PURE__*/React.createElement(
|
|
151
|
+
}), /*#__PURE__*/React.createElement(TextMask, {
|
|
147
152
|
mask: inputMask,
|
|
148
153
|
value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,
|
|
149
154
|
onBlur: handleInputBlur,
|
|
@@ -192,6 +197,8 @@ PickerToggle.propTypes = {
|
|
|
192
197
|
active: PropTypes.bool,
|
|
193
198
|
readOnly: PropTypes.bool,
|
|
194
199
|
disabled: PropTypes.bool,
|
|
195
|
-
plaintext: PropTypes.bool
|
|
200
|
+
plaintext: PropTypes.bool,
|
|
201
|
+
caretComponent: deprecatePropType(PropTypes.elementType, 'Use `caretAs` instead.'),
|
|
202
|
+
caretAs: PropTypes.elementType
|
|
196
203
|
};
|
|
197
204
|
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 */
|
|
@@ -55,10 +55,10 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
55
55
|
}, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
|
|
56
56
|
return /*#__PURE__*/React.createElement(RadioContext.Provider, {
|
|
57
57
|
value: contextValue
|
|
58
|
-
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, {
|
|
58
|
+
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, _extends({
|
|
59
59
|
ref: ref,
|
|
60
60
|
localeKey: "notSelected"
|
|
61
|
-
}, value ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({
|
|
61
|
+
}, rest), value ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({
|
|
62
62
|
role: "radiogroup"
|
|
63
63
|
}, rest, {
|
|
64
64
|
ref: ref,
|
|
@@ -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/Rate/Rate.js
CHANGED
|
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
+
import isNil from 'lodash/isNil';
|
|
5
6
|
import Star from '@rsuite/icons/legacy/Star';
|
|
6
7
|
import { useClassNames, useControlled, shallowEqualArray, SIZE, KEY_VALUES } from '../utils';
|
|
7
8
|
import { transformValueToCharacterMap, transformCharacterMapToValue } from './utils';
|
|
@@ -120,7 +121,7 @@ var Rate = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
120
121
|
return /*#__PURE__*/React.createElement(Plaintext, {
|
|
121
122
|
localeKey: "notSelected",
|
|
122
123
|
className: className
|
|
123
|
-
}, value + "(" + max + ")");
|
|
124
|
+
}, !isNil(value) ? value + "(" + max + ")" : null);
|
|
124
125
|
}
|
|
125
126
|
|
|
126
127
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
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
|
});
|
|
@@ -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 */
|
|
@@ -23,10 +23,7 @@ export interface ToggleProps extends WithAsProps {
|
|
|
23
23
|
/** Custom locale */
|
|
24
24
|
locale?: ToggleLocale;
|
|
25
25
|
/** Callback function when state changes */
|
|
26
|
-
onChange?: (checked: boolean, event: React.
|
|
26
|
+
onChange?: (checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
* fixme: Should contain an input[type=checkbox]
|
|
30
|
-
*/
|
|
31
|
-
declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<unknown>>;
|
|
28
|
+
declare const Toggle: RsRefForwardingComponent<'label', ToggleProps>;
|
|
32
29
|
export default Toggle;
|