rsuite 5.7.1 → 5.8.0

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.
@@ -18,6 +18,8 @@ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T |
18
18
  renderMenu?: (items: ItemDataType[], menu: React.ReactNode, parentNode?: any, layer?: number) => React.ReactNode;
19
19
  /** Custom render menu items */
20
20
  renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
21
+ /** Custom render search items */
22
+ renderSearchItem?: (itemLabel: React.ReactNode, items: ItemDataType[]) => React.ReactNode;
21
23
  /** Custom render selected items */
22
24
  renderValue?: (value: T, selectedPaths: ItemDataType[], selectedElement: React.ReactNode) => React.ReactNode;
23
25
  /** Called when the option is selected */
@@ -51,6 +51,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
51
51
  placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
52
52
  id = props.id,
53
53
  renderMenuItem = props.renderMenuItem,
54
+ renderSearchItem = props.renderSearchItem,
54
55
  renderValue = props.renderValue,
55
56
  renderMenu = props.renderMenu,
56
57
  renderExtraFooter = props.renderExtraFooter,
@@ -63,7 +64,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
63
64
  onClose = props.onClose,
64
65
  onOpen = props.onOpen,
65
66
  getChildren = props.getChildren,
66
- rest = _objectWithoutPropertiesLoose(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "inline", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "searchable", "parentSelectable", "placement", "id", "renderMenuItem", "renderValue", "renderMenu", "renderExtraFooter", "onEnter", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren"]); // Use component active state to support keyboard events.
67
+ rest = _objectWithoutPropertiesLoose(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "inline", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "searchable", "parentSelectable", "placement", "id", "renderMenuItem", "renderSearchItem", "renderValue", "renderMenu", "renderExtraFooter", "onEnter", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren"]); // Use component active state to support keyboard events.
67
68
 
68
69
 
69
70
  var _useState = useState(false),
@@ -357,6 +358,12 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
357
358
  'cascader-row-disabled': disabled,
358
359
  'cascader-row-focus': item[valueKey] === focusItemValue
359
360
  });
361
+ var label = formattedNodes.map(function (node, index) {
362
+ return /*#__PURE__*/React.createElement("span", {
363
+ key: "col-" + index,
364
+ className: prefix('cascader-col')
365
+ }, node[labelKey]);
366
+ });
360
367
  return /*#__PURE__*/React.createElement("div", {
361
368
  key: key,
362
369
  "aria-disabled": disabled,
@@ -367,12 +374,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
367
374
  handleSearchRowSelect(item, nodes, event);
368
375
  }
369
376
  }
370
- }, formattedNodes.map(function (node, index) {
371
- return /*#__PURE__*/React.createElement("span", {
372
- key: "col-" + index,
373
- className: prefix('cascader-col')
374
- }, node[labelKey]);
375
- }));
377
+ }, renderSearchItem ? renderSearchItem(label, nodes) : label);
376
378
  };
377
379
 
378
380
  var renderSearchResultPanel = function renderSearchResultPanel() {
@@ -510,6 +512,7 @@ Cascader.propTypes = _extends({}, listPickerPropTypes, {
510
512
  onSearch: PropTypes.func,
511
513
  cleanable: PropTypes.bool,
512
514
  renderMenuItem: PropTypes.func,
515
+ renderSearchItem: PropTypes.func,
513
516
  menuWidth: PropTypes.number,
514
517
  menuHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
515
518
  searchable: PropTypes.bool,
@@ -1,3 +1,4 @@
1
1
  import DateRangePicker from './DateRangePicker';
2
2
  export type { DateRangePicker, DateRangePickerProps } from './DateRangePicker';
3
+ export type { ValueType, DateRange, RangeType, DisabledDateFunction } from './types';
3
4
  export default DateRangePicker;
@@ -255,7 +255,9 @@ var RangeSlider = /*#__PURE__*/React.forwardRef(function (props, ref) {
255
255
  end = v;
256
256
  }
257
257
 
258
- var nextValue = getValidValue([start, end].sort());
258
+ var nextValue = getValidValue([start, end].sort(function (a, b) {
259
+ return a - b;
260
+ }));
259
261
 
260
262
  if (isRangeMatchingConstraint(nextValue)) {
261
263
  setValue(nextValue);
@@ -32,7 +32,7 @@ export interface SelectProps<T> {
32
32
  /** Called after clicking the group title */
33
33
  onGroupTitleClick?: (event: React.SyntheticEvent) => void;
34
34
  /** Called when searching */
35
- onSearch?: (searchKeyword: string, event: React.SyntheticEvent) => void;
35
+ onSearch?: (searchKeyword: string, event?: React.SyntheticEvent) => void;
36
36
  /** Called when clean */
37
37
  onClean?: (event: React.SyntheticEvent) => void;
38
38
  }
@@ -182,8 +182,9 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
182
182
  var handleExited = useCallback(function () {
183
183
  setSearchKeyword('');
184
184
  setActive(false);
185
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch('');
185
186
  onClose === null || onClose === void 0 ? void 0 : onClose();
186
- }, [onClose, setSearchKeyword]);
187
+ }, [onClose, setSearchKeyword, onSearch]);
187
188
  var handleEntered = useCallback(function () {
188
189
  setActive(true);
189
190
  setFocusItemValue(value);
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useCallback, useRef } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { useClassNames, useControlled, useCustom } from '../utils';
5
+ import { partitionHTMLProps, useClassNames, useControlled, useCustom } from '../utils';
6
6
  import Plaintext from '../Plaintext';
7
7
  import Loader from '../Loader';
8
8
  var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -46,6 +46,11 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
46
46
  }));
47
47
  var inner = checked ? checkedChildren : unCheckedChildren;
48
48
  var label = checked ? locale.on : locale.off;
49
+
50
+ var _partitionHTMLProps = partitionHTMLProps(rest),
51
+ htmlInputProps = _partitionHTMLProps[0],
52
+ restProps = _partitionHTMLProps[1];
53
+
49
54
  var handleInputChange = useCallback(function (e) {
50
55
  if (disabled || readOnly || loading) {
51
56
  return;
@@ -63,7 +68,7 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
63
68
  return /*#__PURE__*/React.createElement("label", _extends({
64
69
  ref: ref,
65
70
  className: classes
66
- }, rest), /*#__PURE__*/React.createElement("input", {
71
+ }, restProps), /*#__PURE__*/React.createElement("input", _extends({}, htmlInputProps, {
67
72
  ref: inputRef,
68
73
  type: "checkbox",
69
74
  checked: checkedProp,
@@ -77,7 +82,7 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
77
82
  "aria-disabled": disabled,
78
83
  "aria-label": typeof inner === 'string' ? inner : label,
79
84
  "aria-busy": loading || undefined
80
- }), /*#__PURE__*/React.createElement(Component, {
85
+ })), /*#__PURE__*/React.createElement(Component, {
81
86
  className: prefix('presentation')
82
87
  }, /*#__PURE__*/React.createElement("span", {
83
88
  className: prefix('inner')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.7.1",
3
+ "version": "5.8.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",