rsuite 5.0.2 → 5.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Button/styles/index.less +1 -1
- package/CHANGELOG.md +46 -0
- package/MaskedInput/package.json +7 -0
- package/Navbar/styles/index.less +8 -0
- package/Picker/styles/index.less +1 -1
- package/Picker/styles/mixin.less +1 -1
- package/README.md +4 -46
- package/Sidenav/styles/index.less +17 -16
- package/Slider/styles/index.less +20 -14
- package/Toggle/styles/index.less +53 -12
- package/Toggle/styles/mixin.less +25 -11
- package/Uploader/styles/index.less +0 -1
- 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/Cascader.js +1 -0
- 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 +4 -2
- package/cjs/DateRangePicker/Calendar.d.ts +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/DateRangePicker/DateRangePicker.js +4 -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 +21 -18
- 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/FormControl/FormControl.js +6 -2
- 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 +43 -0
- package/cjs/MaskedInput/MaskedInput.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 +7 -5
- package/cjs/MultiCascader/MultiCascader.js +1 -0
- 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 +20 -13
- 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 +17 -8
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/utils.d.ts +2 -2
- package/cjs/Picker/utils.js +1 -1
- 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/UploadFileItem.d.ts +0 -1
- package/cjs/Uploader/UploadFileItem.js +3 -6
- 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/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 +220 -124
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +220 -124
- package/dist/rsuite.js +780 -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.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/Cascader.js +1 -0
- 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 +4 -2
- package/esm/DateRangePicker/Calendar.d.ts +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +4 -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 +20 -18
- 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/FormControl/FormControl.js +6 -2
- 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 +43 -0
- package/esm/MaskedInput/MaskedInput.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 +6 -5
- package/esm/MultiCascader/MultiCascader.js +1 -0
- 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 +14 -8
- 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 +14 -6
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/utils.d.ts +2 -2
- package/esm/Picker/utils.js +1 -1
- 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/UploadFileItem.d.ts +0 -1
- package/esm/Uploader/UploadFileItem.js +3 -6
- 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/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 -7
- package/styles/color-modes/dark.less +1 -0
- package/styles/color-modes/high-contrast.less +1 -0
- package/styles/color-modes/light.less +3 -0
- package/styles/plugins/palette.js +10 -1
- package/cjs/@types/icons.d.ts +0 -1
- package/esm/@types/icons.d.ts +0 -1
|
@@ -18,9 +18,9 @@ export interface AutoCompleteProps<T = ValueType> extends WithAsProps, FormContr
|
|
|
18
18
|
/** Called when a option is selected */
|
|
19
19
|
onSelect?: (value: any, item: ItemDataType, event: React.SyntheticEvent) => void;
|
|
20
20
|
/** Called on focus */
|
|
21
|
-
onFocus?:
|
|
21
|
+
onFocus?: React.FocusEventHandler;
|
|
22
22
|
/** Called on blur */
|
|
23
|
-
onBlur?:
|
|
23
|
+
onBlur?: React.FocusEventHandler;
|
|
24
24
|
/** Called on menu focus */
|
|
25
25
|
onMenuFocus?: (focusItemValue: any, event: React.KeyboardEvent) => void;
|
|
26
26
|
/** The callback triggered by keyboard events. */
|
|
@@ -74,7 +74,8 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
74
74
|
|
|
75
75
|
var items = (datalist === null || datalist === void 0 ? void 0 : datalist.filter((0, _utils3.shouldDisplay)(filterBy, value))) || [];
|
|
76
76
|
var hasItems = items.length > 0;
|
|
77
|
-
var overlayRef = (0, _react.useRef)(null);
|
|
77
|
+
var overlayRef = (0, _react.useRef)(null);
|
|
78
|
+
var isMounted = (0, _utils.useIsMounted)(); // Used to hover the focuse item when trigger `onKeydown`
|
|
78
79
|
|
|
79
80
|
var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
|
|
80
81
|
data: datalist,
|
|
@@ -134,9 +135,11 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
134
135
|
};
|
|
135
136
|
|
|
136
137
|
var handleClose = (0, _react.useCallback)(function () {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
if (isMounted()) {
|
|
139
|
+
setFocus(false);
|
|
140
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
141
|
+
}
|
|
142
|
+
}, [isMounted, onClose]);
|
|
140
143
|
var handleOpen = (0, _react.useCallback)(function () {
|
|
141
144
|
setFocus(true);
|
|
142
145
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
@@ -17,7 +17,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _getPosition2 = _interopRequireDefault(require("dom-lib/getPosition"));
|
|
21
|
+
|
|
22
|
+
var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
|
|
21
23
|
|
|
22
24
|
var _partial = _interopRequireDefault(require("lodash/partial"));
|
|
23
25
|
|
|
@@ -99,10 +101,10 @@ var scrollTo = function scrollTo(time, row) {
|
|
|
99
101
|
var node = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
|
|
100
102
|
|
|
101
103
|
if (node && container) {
|
|
102
|
-
var _getPosition = (0,
|
|
104
|
+
var _getPosition = (0, _getPosition2.default)(node, container),
|
|
103
105
|
top = _getPosition.top;
|
|
104
106
|
|
|
105
|
-
(0, _utils.scrollTopAnimation)(container, top, (0,
|
|
107
|
+
(0, _utils.scrollTopAnimation)(container, top, (0, _scrollTop.default)(container) !== 0);
|
|
106
108
|
}
|
|
107
109
|
});
|
|
108
110
|
};
|
|
@@ -25,7 +25,7 @@ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T,
|
|
|
25
25
|
/** Called when clean */
|
|
26
26
|
onClean?: (event: React.SyntheticEvent) => void;
|
|
27
27
|
/** Called when searching */
|
|
28
|
-
onSearch?: (searchKeyword: string, event: React.SyntheticEvent
|
|
28
|
+
onSearch?: (searchKeyword: string, event: React.SyntheticEvent) => void;
|
|
29
29
|
/** Asynchronously load the children of the tree node. */
|
|
30
30
|
getChildren?: (node: ItemDataType) => ItemDataType[] | Promise<ItemDataType[]>;
|
|
31
31
|
}
|
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -17,8 +17,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
17
17
|
|
|
18
18
|
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
19
19
|
|
|
20
|
-
var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
|
|
21
|
-
|
|
22
20
|
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
23
21
|
|
|
24
22
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
@@ -31,6 +29,10 @@ var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"
|
|
|
31
29
|
|
|
32
30
|
var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
|
|
33
31
|
|
|
32
|
+
var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
|
|
33
|
+
|
|
34
|
+
var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
|
|
35
|
+
|
|
34
36
|
var emptyArray = [];
|
|
35
37
|
|
|
36
38
|
var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
@@ -83,10 +85,9 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
83
85
|
}
|
|
84
86
|
|
|
85
87
|
if (activeItem) {
|
|
86
|
-
var position =
|
|
87
|
-
|
|
88
|
+
var position = (0, _getPosition.default)(activeItem, column); // Let the active option scroll into view.
|
|
88
89
|
|
|
89
|
-
|
|
90
|
+
(0, _scrollTop.default)(column, position.top);
|
|
90
91
|
}
|
|
91
92
|
});
|
|
92
93
|
}, [prefix]);
|
|
@@ -20,7 +20,7 @@ export interface CheckTreeNodeProps extends WithAsProps {
|
|
|
20
20
|
uncheckable?: boolean;
|
|
21
21
|
allUncheckable?: boolean;
|
|
22
22
|
onExpand?: (nodeData: any) => void;
|
|
23
|
-
onSelect?: (nodeData: any, event: React.SyntheticEvent
|
|
23
|
+
onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
|
|
24
24
|
onRenderTreeIcon?: (nodeData: any, expandIcon?: React.ReactNode) => React.ReactNode;
|
|
25
25
|
onRenderTreeNode?: (nodeData: any) => React.ReactNode;
|
|
26
26
|
}
|
|
@@ -14,7 +14,7 @@ export interface CheckTreePickerProps<T = ValueType> extends TreeBaseProps<T, It
|
|
|
14
14
|
/** Custom render selected items */
|
|
15
15
|
renderValue?: (value: any[], selectedItems: any[], selectedElement: React.ReactNode) => React.ReactNode;
|
|
16
16
|
/** Called when scrolling */
|
|
17
|
-
onScroll?: (event: React.SyntheticEvent
|
|
17
|
+
onScroll?: (event: React.SyntheticEvent) => void;
|
|
18
18
|
}
|
|
19
19
|
declare const CheckTreePicker: PickerComponent<CheckTreePickerProps>;
|
|
20
20
|
export default CheckTreePicker;
|
|
@@ -19,7 +19,7 @@ export interface TreeNodesType {
|
|
|
19
19
|
[key: string]: TreeNodeType;
|
|
20
20
|
}
|
|
21
21
|
export declare function isEveryChildChecked(nodes: TreeNodesType, parent: TreeNodeType): boolean;
|
|
22
|
-
export declare function isSomeChildChecked(nodes: TreeNodesType, parent: TreeNodeType): boolean;
|
|
22
|
+
export declare function isSomeChildChecked(nodes: TreeNodesType, parent: TreeNodeType, childrenKey: string): boolean;
|
|
23
23
|
export declare function isSomeNodeHasChildren(data: any[], childrenKey: string): boolean;
|
|
24
24
|
/**
|
|
25
25
|
* is all siblings nodes is uncheckable
|
|
@@ -41,18 +41,19 @@ function isEveryChildChecked(nodes, parent) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
function isSomeChildChecked(nodes, parent) {
|
|
44
|
+
function isSomeChildChecked(nodes, parent, childrenKey) {
|
|
45
45
|
if ((0, _isNil2.default)(nodes[parent.refKey])) {
|
|
46
46
|
return false;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
var children = (0, _treeUtils.getChildrenByFlattenNodes)(nodes, parent);
|
|
50
|
+
return children.some(function (child) {
|
|
51
|
+
var _child$childrenKey;
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
if ((child === null || child === void 0 ? void 0 : (_child$childrenKey = child[childrenKey]) === null || _child$childrenKey === void 0 ? void 0 : _child$childrenKey.length) > 0) {
|
|
54
|
+
return isSomeChildChecked(nodes, child, childrenKey);
|
|
55
|
+
}
|
|
54
56
|
|
|
55
|
-
return children.some(function (child) {
|
|
56
57
|
return nodes[child.refKey].check;
|
|
57
58
|
});
|
|
58
59
|
}
|
|
@@ -215,7 +216,7 @@ function getNodeCheckState(_ref) {
|
|
|
215
216
|
return _utils.CHECK_STATE.CHECK;
|
|
216
217
|
}
|
|
217
218
|
|
|
218
|
-
if (isSomeChildChecked(nodes, node)) {
|
|
219
|
+
if (isSomeChildChecked(nodes, node, childrenKey)) {
|
|
219
220
|
nodes[node.refKey].checkAll = false;
|
|
220
221
|
return _utils.CHECK_STATE.INDETERMINATE;
|
|
221
222
|
}
|
|
@@ -31,11 +31,11 @@ export interface CheckboxProps<V = ValueType> extends WithAsProps {
|
|
|
31
31
|
/** Used for the name of the form */
|
|
32
32
|
name?: string;
|
|
33
33
|
/** Called when the user attempts to change the checked state. */
|
|
34
|
-
onChange?: (value: V, checked: boolean, event: React.
|
|
34
|
+
onChange?: (value: V, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
35
35
|
/** Called when the checkbox or label is clicked. */
|
|
36
|
-
onClick?: (event: React.SyntheticEvent
|
|
36
|
+
onClick?: (event: React.SyntheticEvent) => void;
|
|
37
37
|
/** Called when the checkbox is clicked. */
|
|
38
|
-
onCheckboxClick?: (event: React.SyntheticEvent
|
|
38
|
+
onCheckboxClick?: (event: React.SyntheticEvent) => void;
|
|
39
39
|
}
|
|
40
40
|
declare const Checkbox: RsRefForwardingComponent<'div', CheckboxProps>;
|
|
41
41
|
export default Checkbox;
|
|
@@ -8,6 +8,6 @@ export interface CheckboxGroupContextValue {
|
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
readOnly?: boolean;
|
|
10
10
|
plaintext?: boolean;
|
|
11
|
-
onChange?: (value: any, checked: boolean, event: React.
|
|
11
|
+
onChange?: (value: any, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
12
12
|
}
|
|
13
13
|
export declare const CheckboxGroupContext: React.Context<CheckboxGroupContextValue>;
|
package/cjs/DOMHelper/index.d.ts
CHANGED
|
@@ -2,34 +2,17 @@ import * as helpers from 'dom-lib';
|
|
|
2
2
|
export * from 'dom-lib';
|
|
3
3
|
declare const DOMHelper: {
|
|
4
4
|
isElement: (node: HTMLElement) => boolean;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
end: any;
|
|
8
|
-
backfaceVisibility: string;
|
|
9
|
-
transform: string;
|
|
10
|
-
property: string;
|
|
11
|
-
timing: string;
|
|
12
|
-
delay: string;
|
|
13
|
-
duration: string;
|
|
14
|
-
};
|
|
15
|
-
translateDOMPositionXY: (style: CSSStyleDeclaration, x?: number, y?: number) => CSSStyleDeclaration;
|
|
16
|
-
getVendorPrefixedName: typeof helpers.getVendorPrefixedName;
|
|
17
|
-
BrowserSupportCore: {
|
|
18
|
-
hasCSSAnimations: () => boolean;
|
|
19
|
-
hasCSSTransforms: () => boolean;
|
|
20
|
-
hasCSS3DTransforms: () => boolean;
|
|
21
|
-
hasCSSTransitions: () => boolean;
|
|
22
|
-
};
|
|
23
|
-
DOMMouseMoveTracker: typeof helpers.DOMMouseMoveTracker;
|
|
5
|
+
on: typeof helpers.on;
|
|
6
|
+
off: typeof helpers.off;
|
|
24
7
|
WheelHandler: typeof helpers.WheelHandler;
|
|
8
|
+
DOMMouseMoveTracker: typeof helpers.DOMMouseMoveTracker;
|
|
25
9
|
addClass: (target: Element, className: string) => Element;
|
|
26
|
-
hasClass: (target: Element, className: string) => boolean;
|
|
27
10
|
removeClass: (target: Element, className: string) => Element;
|
|
11
|
+
hasClass: (target: Element, className: string) => boolean;
|
|
28
12
|
toggleClass: (target: Element, className: string) => Element;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
getComputedStyle: (node: Element) => CSSStyleDeclaration;
|
|
13
|
+
cancelAnimationFramePolyfill: typeof clearTimeout;
|
|
14
|
+
requestAnimationFramePolyfill: typeof requestAnimationFrame;
|
|
15
|
+
getAnimationEnd: typeof helpers.getAnimationEnd;
|
|
33
16
|
ownerDocument: (node: Element) => Document;
|
|
34
17
|
ownerWindow: (componentOrElement: Element) => Window;
|
|
35
18
|
getWindow: (node: any) => Window;
|
|
@@ -46,18 +29,20 @@ declare const DOMHelper: {
|
|
|
46
29
|
} | DOMRect;
|
|
47
30
|
nodeName: (node: Element) => string;
|
|
48
31
|
getOffsetParent: (node: Element) => Element;
|
|
49
|
-
getPosition: (node: Element, offsetParent?: Element) => DOMRect | {
|
|
32
|
+
getPosition: (node: Element, offsetParent?: Element, calcMargin?: boolean) => DOMRect | {
|
|
50
33
|
top: number;
|
|
51
34
|
left: number;
|
|
52
35
|
height: number;
|
|
53
36
|
width: number;
|
|
54
37
|
};
|
|
55
38
|
isOverflowing: (container: Element) => boolean;
|
|
56
|
-
activeElement: (doc?: Document) => Element;
|
|
57
39
|
getScrollbarSize: (recalc?: boolean) => number | void;
|
|
58
40
|
getHeight: (node: Element | Window, client?: Element) => number;
|
|
59
41
|
getWidth: (node: Element | Window, client?: Element) => number;
|
|
60
|
-
|
|
61
|
-
|
|
42
|
+
isFocusable: typeof helpers.isFocusable;
|
|
43
|
+
getStyle: (node: Element, property?: string) => string | CSSStyleDeclaration;
|
|
44
|
+
removeStyle: (node: Element, keys: string | string[]) => void;
|
|
45
|
+
addStyle: (node: Element, property: string | import("dom-lib/esm/addStyle").CSSProperty, value?: string | number) => void;
|
|
46
|
+
translateDOMPositionXY: (style: CSSStyleDeclaration, x?: number, y?: number) => CSSStyleDeclaration;
|
|
62
47
|
};
|
|
63
48
|
export default DOMHelper;
|
package/cjs/DOMHelper/index.js
CHANGED
|
@@ -18,10 +18,11 @@ Object.keys(helpers).forEach(function (key) {
|
|
|
18
18
|
if (key in exports && exports[key] === helpers[key]) return;
|
|
19
19
|
exports[key] = helpers[key];
|
|
20
20
|
});
|
|
21
|
+
|
|
22
|
+
var _isElement = _interopRequireDefault(require("./isElement"));
|
|
23
|
+
|
|
21
24
|
var DOMHelper = (0, _extends2.default)({}, helpers, {
|
|
22
|
-
isElement:
|
|
23
|
-
return (node === null || node === void 0 ? void 0 : node.nodeType) && typeof (node === null || node === void 0 ? void 0 : node.nodeName) === 'string';
|
|
24
|
-
}
|
|
25
|
+
isElement: _isElement.default
|
|
25
26
|
});
|
|
26
27
|
var _default = DOMHelper;
|
|
27
28
|
exports.default = _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var isElement = function isElement(node) {
|
|
7
|
+
return (node === null || node === void 0 ? void 0 : node.nodeType) === 1 && typeof (node === null || node === void 0 ? void 0 : node.nodeName) === 'string';
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
var _default = isElement;
|
|
11
|
+
exports.default = _default;
|
|
@@ -41,19 +41,19 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
41
41
|
/** Hidden seconds */
|
|
42
42
|
hideSeconds?: (second: number, date: Date) => boolean;
|
|
43
43
|
/** Called when the calendar panel date changes */
|
|
44
|
-
onChangeCalendarDate?: (date: Date, event?: React.SyntheticEvent
|
|
44
|
+
onChangeCalendarDate?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
45
45
|
/** Called when opening the month view */
|
|
46
46
|
onToggleMonthDropdown?: (toggle: boolean) => void;
|
|
47
47
|
/** Called when opening the time view */
|
|
48
48
|
onToggleTimeDropdown?: (toggle: boolean) => void;
|
|
49
49
|
/** Called when the option is selected */
|
|
50
|
-
onSelect?: (date: Date, event?: React.SyntheticEvent
|
|
50
|
+
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
51
51
|
/** Called after the prev month */
|
|
52
52
|
onPrevMonth?: (date: Date) => void;
|
|
53
53
|
/** Called after the next month */
|
|
54
54
|
onNextMonth?: (date: Date) => void;
|
|
55
55
|
/** Called after clicking the OK button */
|
|
56
|
-
onOk?: (date: Date, event: React.SyntheticEvent
|
|
56
|
+
onOk?: (date: Date, event: React.SyntheticEvent) => void;
|
|
57
57
|
/** Called when clean */
|
|
58
58
|
onClean?: (event: React.MouseEvent) => void;
|
|
59
59
|
/** Custom render value */
|
|
@@ -328,7 +328,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
328
328
|
* The callback after the enter key is triggered on the input
|
|
329
329
|
*/
|
|
330
330
|
|
|
331
|
-
var
|
|
331
|
+
var handleInputPressEnd = (0, _react.useCallback)(function (event) {
|
|
332
332
|
if (inputState === 'Typing') {
|
|
333
333
|
updateValue(event, calendarDate);
|
|
334
334
|
}
|
|
@@ -417,6 +417,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
417
417
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
418
418
|
classPrefix: classPrefix,
|
|
419
419
|
name: 'date',
|
|
420
|
+
appearance: appearance,
|
|
420
421
|
hasValue: hasValue,
|
|
421
422
|
cleanable: cleanable
|
|
422
423
|
})),
|
|
@@ -459,7 +460,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
459
460
|
inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : formatStr,
|
|
460
461
|
inputMask: _utils.DateUtils.getDateMask(formatStr),
|
|
461
462
|
onInputChange: handleInputChange,
|
|
462
|
-
onInputBlur:
|
|
463
|
+
onInputBlur: handleInputPressEnd,
|
|
464
|
+
onInputPressEnter: handleInputPressEnd,
|
|
463
465
|
onKeyDown: onPickerKeyDown,
|
|
464
466
|
onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
|
|
465
467
|
cleanable: cleanable && !disabled,
|
|
@@ -16,7 +16,7 @@ export interface CalendarProps extends WithAsProps, Omit<CalendarCoreProps, Omit
|
|
|
16
16
|
onChangeCalendarDate?: (index: number, date: Date) => void;
|
|
17
17
|
onChangeCalendarTime?: (index: number, date: Date) => void;
|
|
18
18
|
onMouseMove?: (date: Date) => void;
|
|
19
|
-
onSelect?: (date: Date, event?: React.SyntheticEvent
|
|
19
|
+
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
20
20
|
showOneCalendar?: boolean;
|
|
21
21
|
showWeekNumbers?: boolean;
|
|
22
22
|
value?: ValueType;
|
|
@@ -26,9 +26,9 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
26
26
|
/** Disabled date */
|
|
27
27
|
disabledDate?: DisabledDateFunction;
|
|
28
28
|
/** Called when the option is selected */
|
|
29
|
-
onSelect?: (date: Date, event?: React.SyntheticEvent
|
|
29
|
+
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
30
30
|
/** Called after clicking the OK button */
|
|
31
|
-
onOk?: (date: ValueType, event: React.SyntheticEvent
|
|
31
|
+
onOk?: (date: ValueType, event: React.SyntheticEvent) => void;
|
|
32
32
|
/** Called when clean */
|
|
33
33
|
onClean?: (event: React.MouseEvent) => void;
|
|
34
34
|
/** Custom render value */
|
|
@@ -426,7 +426,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
426
426
|
* The callback after the enter key is triggered on the input
|
|
427
427
|
*/
|
|
428
428
|
|
|
429
|
-
var
|
|
429
|
+
var handleInputPressEnd = (0, _react.useCallback)(function (event) {
|
|
430
430
|
if (inputState === 'Typing') {
|
|
431
431
|
handleValueUpdate(event, selectValue);
|
|
432
432
|
}
|
|
@@ -574,6 +574,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
574
574
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
575
575
|
classPrefix: classPrefix,
|
|
576
576
|
name: 'daterange',
|
|
577
|
+
appearance: appearance,
|
|
577
578
|
hasValue: hasValue,
|
|
578
579
|
cleanable: cleanable
|
|
579
580
|
})),
|
|
@@ -601,7 +602,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
601
602
|
inputValue: value ? getDisplayString(value, true) : '',
|
|
602
603
|
inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,
|
|
603
604
|
onInputChange: handleInputChange,
|
|
604
|
-
onInputBlur:
|
|
605
|
+
onInputBlur: handleInputPressEnd,
|
|
606
|
+
onInputPressEnter: handleInputPressEnd,
|
|
605
607
|
onKeyDown: onPickerKeyDown,
|
|
606
608
|
onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
|
|
607
609
|
cleanable: cleanable && !disabled,
|
|
@@ -12,7 +12,7 @@ export interface DisclosureProps {
|
|
|
12
12
|
defaultOpen?: boolean;
|
|
13
13
|
hideOnClickOutside?: boolean;
|
|
14
14
|
/** Callback when disclosure button is being activated to update the open state */
|
|
15
|
-
onToggle?: (open: boolean, event: React.SyntheticEvent
|
|
15
|
+
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
16
16
|
}
|
|
17
17
|
declare function Disclosure(props: DisclosureProps): JSX.Element;
|
|
18
18
|
declare namespace Disclosure {
|
|
@@ -13,7 +13,7 @@ export declare type DisclosureContextProps = [
|
|
|
13
13
|
DisclosureState,
|
|
14
14
|
Dispatch<DisclosureAction>,
|
|
15
15
|
{
|
|
16
|
-
onToggle: (open: boolean, event?: React.SyntheticEvent
|
|
16
|
+
onToggle: (open: boolean, event?: React.SyntheticEvent) => void;
|
|
17
17
|
}
|
|
18
18
|
];
|
|
19
19
|
declare const DisclosureContext: React.Context<DisclosureContextProps>;
|
|
@@ -32,7 +32,7 @@ export interface DropdownMenuItemProps<T = any> extends WithAsProps, Omit<React.
|
|
|
32
32
|
*/
|
|
33
33
|
open?: boolean;
|
|
34
34
|
/** Select the callback function for the current option */
|
|
35
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent
|
|
35
|
+
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* The <Dropdown.Item> API
|
|
@@ -41,6 +41,8 @@ var _useInternalId = _interopRequireDefault(require("../utils/useInternalId"));
|
|
|
41
41
|
|
|
42
42
|
var _DropdownState = require("./DropdownState");
|
|
43
43
|
|
|
44
|
+
var _useRenderDropdownItem = require("./useRenderDropdownItem");
|
|
45
|
+
|
|
44
46
|
/**
|
|
45
47
|
* The <Dropdown.Item> API
|
|
46
48
|
* When used inside <Sidenav>, renders a <TreeviewItem>
|
|
@@ -54,7 +56,13 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
54
56
|
eventKey = props.eventKey,
|
|
55
57
|
onSelect = props.onSelect,
|
|
56
58
|
icon = props.icon,
|
|
57
|
-
|
|
59
|
+
_props$as = props.as,
|
|
60
|
+
Component = _props$as === void 0 ? 'li' : _props$as,
|
|
61
|
+
divider = props.divider,
|
|
62
|
+
panel = props.panel,
|
|
63
|
+
children = props.children,
|
|
64
|
+
disabled = props.disabled,
|
|
65
|
+
restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["classPrefix", "className", "active", "eventKey", "onSelect", "icon", "as", "divider", "panel", "children", "disabled"]);
|
|
58
66
|
var internalId = (0, _useInternalId.default)('DropdownItem');
|
|
59
67
|
var nav = (0, _react.useContext)(_NavContext.default);
|
|
60
68
|
var dropdown = (0, _react.useContext)(_DropdownContext.default);
|
|
@@ -106,6 +114,7 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
106
114
|
};
|
|
107
115
|
}
|
|
108
116
|
}, [internalId, selected, dispatch]);
|
|
117
|
+
var renderDropdownItem = (0, _useRenderDropdownItem.useRenderDropdownItem)(Component);
|
|
109
118
|
|
|
110
119
|
if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
|
|
111
120
|
return /*#__PURE__*/_react.default.createElement(_SidenavDropdownItem.default, (0, _extends2.default)({
|
|
@@ -113,28 +122,19 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
113
122
|
}, props));
|
|
114
123
|
}
|
|
115
124
|
|
|
116
|
-
var _rest$as = rest.as,
|
|
117
|
-
Component = _rest$as === void 0 ? 'li' : _rest$as,
|
|
118
|
-
divider = rest.divider,
|
|
119
|
-
panel = rest.panel,
|
|
120
|
-
children = rest.children,
|
|
121
|
-
disabled = rest.disabled,
|
|
122
|
-
restProps = (0, _objectWithoutPropertiesLoose2.default)(rest, ["as", "divider", "panel", "children", "disabled"]);
|
|
123
|
-
|
|
124
125
|
if (divider) {
|
|
125
|
-
return
|
|
126
|
+
return renderDropdownItem((0, _extends2.default)({
|
|
126
127
|
ref: ref,
|
|
127
|
-
role:
|
|
128
|
+
role: 'separator',
|
|
128
129
|
className: merge(prefix('divider'), className)
|
|
129
130
|
}, restProps));
|
|
130
131
|
}
|
|
131
132
|
|
|
132
133
|
if (panel) {
|
|
133
|
-
return
|
|
134
|
+
return renderDropdownItem((0, _extends2.default)({
|
|
134
135
|
ref: ref,
|
|
135
|
-
role: "none presentation",
|
|
136
136
|
className: merge(prefix('panel'), className)
|
|
137
|
-
}, restProps)
|
|
137
|
+
}, restProps));
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
if (navbar) {
|
|
@@ -158,6 +158,7 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
158
158
|
className: classes,
|
|
159
159
|
"aria-current": selected || undefined
|
|
160
160
|
}, dataAttributes, restProps, {
|
|
161
|
+
as: Component,
|
|
161
162
|
onClick: (0, _utils.createChainedFunction)(handleClickNavbarDropdownItem, restProps.onClick)
|
|
162
163
|
}), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
163
164
|
className: prefix('menu-icon')
|
|
@@ -188,12 +189,14 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
188
189
|
dataAttributes['data-event-key-type'] = typeof eventKey;
|
|
189
190
|
}
|
|
190
191
|
|
|
191
|
-
return
|
|
192
|
+
return renderDropdownItem((0, _extends2.default)({
|
|
192
193
|
ref: (0, _utils.mergeRefs)(ref, menuitemRef),
|
|
193
194
|
className: classes
|
|
194
|
-
}, menuitem, dataAttributes, restProps
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
}, menuitem, dataAttributes, restProps, {
|
|
196
|
+
children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
197
|
+
className: prefix('menu-icon')
|
|
198
|
+
}), children)
|
|
199
|
+
}));
|
|
197
200
|
});
|
|
198
201
|
});
|
|
199
202
|
|
|
@@ -19,8 +19,8 @@ export interface DropdownMenuProps<T = string> extends StandardProps {
|
|
|
19
19
|
disabled?: boolean;
|
|
20
20
|
activeKey?: T;
|
|
21
21
|
trigger?: 'hover' | 'click';
|
|
22
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent
|
|
23
|
-
onToggle?: (eventKey: T, event: React.SyntheticEvent
|
|
22
|
+
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
23
|
+
onToggle?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* The <Dropdown.Menu> API
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.useRenderDropdownItem = useRenderDropdownItem;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
function useRenderDropdownItem(Component) {
|
|
11
|
+
return (0, _react.useCallback)(function (props, OverrideComponent) {
|
|
12
|
+
if (Component === 'li') {
|
|
13
|
+
if (OverrideComponent) {
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
15
|
+
role: "none presentation"
|
|
16
|
+
}, /*#__PURE__*/_react.default.createElement(OverrideComponent, props));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(Component, props);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
23
|
+
role: "none presentation"
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement(Component, props));
|
|
25
|
+
}, [Component]);
|
|
26
|
+
}
|
package/cjs/Form/Form.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export interface FormProps<T = Record<string, any>, errorMsgType = any, E = {
|
|
|
33
33
|
/** The error message comes from context */
|
|
34
34
|
errorFromContext?: boolean;
|
|
35
35
|
/** Callback fired when data changing */
|
|
36
|
-
onChange?: (formValue: T, event: React.SyntheticEvent
|
|
36
|
+
onChange?: (formValue: T, event: React.SyntheticEvent) => void;
|
|
37
37
|
/** Callback fired when error checking */
|
|
38
38
|
onError?: (formError: E) => void;
|
|
39
39
|
/** Callback fired when data cheking */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import Input from '../Input';
|
|
3
|
+
import { TypeAttributes, FormControlBaseProps, WithAsProps } from '../@types/common';
|
|
3
4
|
/**
|
|
4
5
|
* Props that FormControl passes to its accepter
|
|
5
6
|
*/
|
|
@@ -12,7 +13,7 @@ export interface FormControlProps<P = any, ValueType = any> extends WithAsProps,
|
|
|
12
13
|
/** Value */
|
|
13
14
|
value?: ValueType;
|
|
14
15
|
/** Callback fired when data changing */
|
|
15
|
-
onChange?(value: ValueType, event: React.SyntheticEvent
|
|
16
|
+
onChange?(value: ValueType, event: React.SyntheticEvent): void;
|
|
16
17
|
/** The data validation trigger type, and it wiill overrides the setting on <Form> */
|
|
17
18
|
checkTrigger?: TypeAttributes.CheckTrigger;
|
|
18
19
|
/** Show error messages */
|
|
@@ -28,5 +29,10 @@ export interface FormControlProps<P = any, ValueType = any> extends WithAsProps,
|
|
|
28
29
|
/** Asynchronous check value */
|
|
29
30
|
checkAsync?: boolean;
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
interface FormControlComponent extends React.FC<FormControlProps> {
|
|
33
|
+
<Accepter extends React.ElementType = typeof Input>(props: FormControlProps & {
|
|
34
|
+
accepter?: Accepter;
|
|
35
|
+
} & React.ComponentPropsWithRef<Accepter>): React.ReactElement;
|
|
36
|
+
}
|
|
37
|
+
declare const FormControl: FormControlComponent;
|
|
32
38
|
export default FormControl;
|
|
@@ -138,14 +138,18 @@ var FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
var ariaDescribedby = controlId ? controlId + "-
|
|
141
|
+
var ariaDescribedby = controlId ? controlId + "-help-text" : null;
|
|
142
|
+
var fieldHasError = Boolean(messageNode);
|
|
143
|
+
var ariaErrormessage = fieldHasError && controlId ? controlId + "-error-message" : undefined;
|
|
142
144
|
return /*#__PURE__*/_react.default.createElement(Component, {
|
|
143
145
|
className: classes,
|
|
144
146
|
ref: ref
|
|
145
147
|
}, /*#__PURE__*/_react.default.createElement(AccepterComponent, (0, _extends3.default)({
|
|
146
148
|
id: controlId,
|
|
147
149
|
"aria-labelledby": controlId ? controlId + "-control-label" : null,
|
|
148
|
-
"aria-describedby": ariaDescribedby
|
|
150
|
+
"aria-describedby": ariaDescribedby,
|
|
151
|
+
"aria-invalid": fieldHasError || undefined,
|
|
152
|
+
"aria-errormessage": ariaErrormessage
|
|
149
153
|
}, rest, {
|
|
150
154
|
readOnly: readOnly,
|
|
151
155
|
plaintext: plaintext,
|