rsuite 5.6.6 → 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.
Files changed (46) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/cjs/Cascader/Cascader.d.ts +2 -0
  3. package/cjs/Cascader/Cascader.js +10 -7
  4. package/cjs/Checkbox/Checkbox.js +36 -25
  5. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  6. package/cjs/CheckboxGroup/CheckboxGroupContext.js +1 -1
  7. package/cjs/DateRangePicker/index.d.ts +1 -0
  8. package/cjs/Dropdown/DropdownMenu.js +1 -9
  9. package/cjs/Form/Form.js +11 -12
  10. package/cjs/Form/index.d.ts +1 -0
  11. package/cjs/Form/index.js +9 -0
  12. package/cjs/Form/useFormClassNames.d.ts +5 -0
  13. package/cjs/Form/useFormClassNames.js +31 -0
  14. package/cjs/Menu/MenuItem.js +1 -0
  15. package/cjs/Picker/DropdownMenuCheckItem.js +2 -1
  16. package/cjs/RangeSlider/RangeSlider.js +3 -1
  17. package/cjs/SelectPicker/SelectPicker.d.ts +1 -1
  18. package/cjs/SelectPicker/SelectPicker.js +2 -1
  19. package/cjs/Toggle/Toggle.js +7 -2
  20. package/cjs/index.d.ts +1 -1
  21. package/cjs/index.js +5 -2
  22. package/dist/rsuite.js +23 -12
  23. package/dist/rsuite.js.map +1 -1
  24. package/dist/rsuite.min.js +1 -1
  25. package/dist/rsuite.min.js.map +1 -1
  26. package/esm/Cascader/Cascader.d.ts +2 -0
  27. package/esm/Cascader/Cascader.js +10 -7
  28. package/esm/Checkbox/Checkbox.js +36 -26
  29. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  30. package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -1
  31. package/esm/DateRangePicker/index.d.ts +1 -0
  32. package/esm/Dropdown/DropdownMenu.js +1 -9
  33. package/esm/Form/Form.js +10 -10
  34. package/esm/Form/index.d.ts +1 -0
  35. package/esm/Form/index.js +1 -0
  36. package/esm/Form/useFormClassNames.d.ts +5 -0
  37. package/esm/Form/useFormClassNames.js +26 -0
  38. package/esm/Menu/MenuItem.js +1 -0
  39. package/esm/Picker/DropdownMenuCheckItem.js +2 -1
  40. package/esm/RangeSlider/RangeSlider.js +3 -1
  41. package/esm/SelectPicker/SelectPicker.d.ts +1 -1
  42. package/esm/SelectPicker/SelectPicker.js +2 -1
  43. package/esm/Toggle/Toggle.js +8 -3
  44. package/esm/index.d.ts +1 -1
  45. package/esm/index.js +1 -1
  46. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,34 @@
1
+ # [5.8.0](https://github.com/rsuite/rsuite/compare/v5.7.1...v5.8.0) (2022-04-07)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **RangeSlider:** fix RangeSlider progress bar misalignment ([#2435](https://github.com/rsuite/rsuite/issues/2435)) ([e612ee3](https://github.com/rsuite/rsuite/commit/e612ee3b6bb97217ad08744c6b57b47e21397944))
6
+ - **SelectPicker:** call onSearch with empty string when closed ([#2411](https://github.com/rsuite/rsuite/issues/2411)) ([c6e5d54](https://github.com/rsuite/rsuite/commit/c6e5d54bdda0cdc61b65fbed78518ccef5d7672f))
7
+ - **Toggle:** add missing properties to onChange event target ([#2422](https://github.com/rsuite/rsuite/issues/2422)) ([5d1d5a2](https://github.com/rsuite/rsuite/commit/5d1d5a29a03f642c88aa66851163c9bb20d69684))
8
+
9
+ ### Features
10
+
11
+ - **Cascader:** add `renderSearchItem` for customizing search result ([#2427](https://github.com/rsuite/rsuite/issues/2427)) ([e1b1dbd](https://github.com/rsuite/rsuite/commit/e1b1dbd2fd6cde10dfb1e041d9483b6748a0855f))
12
+ - **DateRangePicker:** export type definition ([#2434](https://github.com/rsuite/rsuite/issues/2434)) ([76e4bc3](https://github.com/rsuite/rsuite/commit/76e4bc38e8e939ae6ffbcf5bc154281b4ec9360c))
13
+
14
+ ## [5.7.1](https://github.com/rsuite/rsuite/compare/v5.7.0...v5.7.1) (2022-04-02)
15
+
16
+ ### Bug Fixes
17
+
18
+ - **Checkbox:** correct checked state in onChange callback ([#2430](https://github.com/rsuite/rsuite/issues/2430)) ([c6819f9](https://github.com/rsuite/rsuite/commit/c6819f98fe33e197376ecd1e301eaa471c6c2178))
19
+
20
+ # [5.7.0](https://github.com/rsuite/rsuite/compare/v5.6.6...v5.7.0) (2022-03-31)
21
+
22
+ ### Bug Fixes
23
+
24
+ - **Checkbox:** set checked attribute on underlying input ([#2419](https://github.com/rsuite/rsuite/issues/2419)) ([5ded872](https://github.com/rsuite/rsuite/commit/5ded8720c70c1fe4aee3941a81c0d7ec3b0c7423))
25
+ - **Dropdown:** Fix menu item hover highlight ([#2415](https://github.com/rsuite/rsuite/issues/2415)) ([59453cc](https://github.com/rsuite/rsuite/commit/59453cc0c3c6f648b2797c48473c22104e579b4a))
26
+ - **Dropdown:** Fixed Triggering onSelect twice on Dropdown Menu ([#2414](https://github.com/rsuite/rsuite/issues/2414)) ([e09eee5](https://github.com/rsuite/rsuite/commit/e09eee5f6dac88816ecbf8d20f3bb1b78f4afa71))
27
+
28
+ ### Features
29
+
30
+ - **Form:** export useFormClassNames hook ([#2420](https://github.com/rsuite/rsuite/issues/2420)) ([7e2bb85](https://github.com/rsuite/rsuite/commit/7e2bb8548103117a2df004f367fbde6609fcc216))
31
+
1
32
  ## [5.6.6](https://github.com/rsuite/rsuite/compare/v5.6.5...v5.6.6) (2022-03-24)
2
33
 
3
34
  ### Bug Fixes
@@ -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 */
@@ -75,6 +75,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
75
75
  placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
76
76
  id = props.id,
77
77
  renderMenuItem = props.renderMenuItem,
78
+ renderSearchItem = props.renderSearchItem,
78
79
  renderValue = props.renderValue,
79
80
  renderMenu = props.renderMenu,
80
81
  renderExtraFooter = props.renderExtraFooter,
@@ -87,7 +88,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
87
88
  onClose = props.onClose,
88
89
  onOpen = props.onOpen,
89
90
  getChildren = props.getChildren,
90
- rest = (0, _objectWithoutPropertiesLoose2.default)(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.
91
+ rest = (0, _objectWithoutPropertiesLoose2.default)(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.
91
92
 
92
93
  var _useState = (0, _react.useState)(false),
93
94
  active = _useState[0],
@@ -380,6 +381,12 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
380
381
  'cascader-row-disabled': disabled,
381
382
  'cascader-row-focus': item[valueKey] === focusItemValue
382
383
  });
384
+ var label = formattedNodes.map(function (node, index) {
385
+ return /*#__PURE__*/_react.default.createElement("span", {
386
+ key: "col-" + index,
387
+ className: prefix('cascader-col')
388
+ }, node[labelKey]);
389
+ });
383
390
  return /*#__PURE__*/_react.default.createElement("div", {
384
391
  key: key,
385
392
  "aria-disabled": disabled,
@@ -390,12 +397,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
390
397
  handleSearchRowSelect(item, nodes, event);
391
398
  }
392
399
  }
393
- }, formattedNodes.map(function (node, index) {
394
- return /*#__PURE__*/_react.default.createElement("span", {
395
- key: "col-" + index,
396
- className: prefix('cascader-col')
397
- }, node[labelKey]);
398
- }));
400
+ }, renderSearchItem ? renderSearchItem(label, nodes) : label);
399
401
  };
400
402
 
401
403
  var renderSearchResultPanel = function renderSearchResultPanel() {
@@ -533,6 +535,7 @@ Cascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {
533
535
  onSearch: _propTypes.default.func,
534
536
  cleanable: _propTypes.default.bool,
535
537
  renderMenuItem: _propTypes.default.func,
538
+ renderSearchItem: _propTypes.default.func,
536
539
  menuWidth: _propTypes.default.number,
537
540
  menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
538
541
  searchable: _propTypes.default.bool,
@@ -24,15 +24,15 @@ var _CheckboxGroup = require("../CheckboxGroup");
24
24
  var _templateObject, _templateObject2, _templateObject3;
25
25
 
26
26
  var Checkbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
27
- var _useContext = (0, _react.useContext)(_CheckboxGroup.CheckboxGroupContext),
28
- inlineContext = _useContext.inline,
29
- nameContext = _useContext.name,
30
- disabledContext = _useContext.disabled,
31
- readOnlyContext = _useContext.readOnly,
32
- plaintextContext = _useContext.plaintext,
33
- groupValue = _useContext.value,
34
- controlled = _useContext.controlled,
35
- onGroupChange = _useContext.onChange;
27
+ var checkboxGroupContext = (0, _react.useContext)(_CheckboxGroup.CheckboxGroupContext);
28
+
29
+ var _ref = checkboxGroupContext !== null && checkboxGroupContext !== void 0 ? checkboxGroupContext : {},
30
+ inlineContext = _ref.inline,
31
+ nameContext = _ref.name,
32
+ disabledContext = _ref.disabled,
33
+ readOnlyContext = _ref.readOnly,
34
+ plaintextContext = _ref.plaintext,
35
+ onGroupChange = _ref.onChange;
36
36
 
37
37
  var _props$as = props.as,
38
38
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -43,7 +43,8 @@ var Checkbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
43
43
  classPrefix = _props$classPrefix === void 0 ? 'checkbox' : _props$classPrefix,
44
44
  _props$checkable = props.checkable,
45
45
  checkable = _props$checkable === void 0 ? true : _props$checkable,
46
- defaultChecked = props.defaultChecked,
46
+ _props$defaultChecked = props.defaultChecked,
47
+ defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,
47
48
  title = props.title,
48
49
  inputRef = props.inputRef,
49
50
  inputProps = props.inputProps,
@@ -65,19 +66,25 @@ var Checkbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
65
66
  onCheckboxClick = props.onCheckboxClick,
66
67
  onChange = props.onChange,
67
68
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "checked", "className", "children", "classPrefix", "checkable", "defaultChecked", "title", "inputRef", "inputProps", "indeterminate", "tabIndex", "disabled", "readOnly", "plaintext", "inline", "name", "value", "onClick", "onCheckboxClick", "onChange"]);
68
- var isChecked = (0, _react.useCallback)(function () {
69
- if (typeof groupValue !== 'undefined' && typeof value !== 'undefined') {
70
- return groupValue.some(function (i) {
71
- return i === value;
72
- });
73
- }
74
69
 
75
- return controlledChecked;
76
- }, [controlledChecked, groupValue, value]);
70
+ var _useControlled = (0, _utils.useControlled)(controlledChecked, defaultChecked),
71
+ selfChecked = _useControlled[0],
72
+ setSelfChecked = _useControlled[1],
73
+ selfControlled = _useControlled[2]; // Either <Checkbox> is checked itself or by parent <CheckboxGroup>
74
+
75
+
76
+ var checked = (0, _react.useMemo)(function () {
77
+ var _checkboxGroupContext, _checkboxGroupContext2;
77
78
 
78
- var _useControlled = (0, _utils.useControlled)(isChecked(), defaultChecked),
79
- checked = _useControlled[0],
80
- setChecked = _useControlled[1];
79
+ if (!checkboxGroupContext) {
80
+ return selfChecked;
81
+ } // fixme value from group should not be nullable
82
+
83
+
84
+ return (_checkboxGroupContext = (_checkboxGroupContext2 = checkboxGroupContext.value) === null || _checkboxGroupContext2 === void 0 ? void 0 : _checkboxGroupContext2.some(function (checkedValue) {
85
+ return checkedValue === value;
86
+ })) !== null && _checkboxGroupContext !== void 0 ? _checkboxGroupContext : false;
87
+ }, [checkboxGroupContext, selfChecked, value]);
81
88
 
82
89
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
83
90
  merge = _useClassNames.merge,
@@ -93,7 +100,11 @@ var Checkbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
93
100
 
94
101
  var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(rest),
95
102
  htmlInputProps = _partitionHTMLProps[0],
96
- restProps = _partitionHTMLProps[1];
103
+ restProps = _partitionHTMLProps[1]; // If <Checkbox> is within a <CheckboxGroup>, it's bound to be controlled
104
+ // because its checked state is inferred from group's value, not retrieved from the DOM
105
+
106
+
107
+ var controlled = checkboxGroupContext ? true : selfControlled;
97
108
 
98
109
  if (typeof controlled !== 'undefined') {
99
110
  // In uncontrolled situations, use defaultChecked instead of checked
@@ -101,16 +112,16 @@ var Checkbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
101
112
  }
102
113
 
103
114
  var handleChange = (0, _react.useCallback)(function (event) {
104
- var nextChecked = !checked;
115
+ var nextChecked = event.target.checked;
105
116
 
106
117
  if (disabled || readOnly) {
107
118
  return;
108
119
  }
109
120
 
110
- setChecked(nextChecked);
121
+ setSelfChecked(nextChecked);
111
122
  onChange === null || onChange === void 0 ? void 0 : onChange(value, nextChecked, event);
112
123
  onGroupChange === null || onGroupChange === void 0 ? void 0 : onGroupChange(value, nextChecked, event);
113
- }, [checked, disabled, readOnly, setChecked, onChange, value, onGroupChange]);
124
+ }, [disabled, readOnly, setSelfChecked, onChange, value, onGroupChange]);
114
125
 
115
126
  if (plaintext) {
116
127
  return checked ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, restProps, {
@@ -10,4 +10,4 @@ export interface CheckboxGroupContextValue {
10
10
  plaintext?: boolean;
11
11
  onChange?: (value: any, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
12
12
  }
13
- export declare const CheckboxGroupContext: React.Context<CheckboxGroupContextValue>;
13
+ export declare const CheckboxGroupContext: React.Context<CheckboxGroupContextValue | undefined>;
@@ -7,6 +7,6 @@ exports.CheckboxGroupContext = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var CheckboxGroupContext = /*#__PURE__*/_react.default.createContext({});
10
+ var CheckboxGroupContext = /*#__PURE__*/_react.default.createContext(void 0);
11
11
 
12
12
  exports.CheckboxGroupContext = CheckboxGroupContext;
@@ -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;
@@ -111,15 +111,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
111
111
  return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {
112
112
  value: contextValue
113
113
  }, /*#__PURE__*/_react.default.createElement(_Menubar.default, {
114
- vertical: true,
115
- onActivateItem: function onActivateItem(event) {
116
- var _dataset = event.target.dataset,
117
- eventKey = _dataset.eventKey,
118
- eventKeyType = _dataset.eventKeyType; // Only cast number type for now
119
-
120
- var eventKeyToEmit = eventKeyType === 'number' ? Number(eventKey) : eventKey;
121
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKeyToEmit, event);
122
- }
114
+ vertical: true
123
115
  }, function (menubar, menubarRef) {
124
116
  return /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
125
117
  ref: (0, _utils.mergeRefs)(menubarRef, ref),
package/cjs/Form/Form.js CHANGED
@@ -21,8 +21,6 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
21
21
 
22
22
  var _schemaTyped = require("schema-typed");
23
23
 
24
- var _utils = require("../utils");
25
-
26
24
  var _FormContext = _interopRequireWildcard(require("./FormContext"));
27
25
 
28
26
  var _FormControl = _interopRequireDefault(require("../FormControl"));
@@ -35,6 +33,8 @@ var _FormGroup = _interopRequireDefault(require("../FormGroup"));
35
33
 
36
34
  var _FormHelpText = _interopRequireDefault(require("../FormHelpText"));
37
35
 
36
+ var _useFormClassNames = require("./useFormClassNames");
37
+
38
38
  var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
39
  var _props$checkTrigger = props.checkTrigger,
40
40
  checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,
@@ -61,16 +61,15 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
61
61
  onError = props.onError,
62
62
  onChange = props.onChange,
63
63
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["checkTrigger", "classPrefix", "errorFromContext", "formDefaultValue", "formValue", "formError", "fluid", "layout", "model", "readOnly", "plaintext", "className", "children", "disabled", "onSubmit", "onCheck", "onError", "onChange"]);
64
-
65
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
66
- withClassPrefix = _useClassNames.withClassPrefix,
67
- merge = _useClassNames.merge;
68
-
69
- var classes = merge(className, withClassPrefix(layout, fluid && layout === 'vertical' ? 'fluid' : 'fixed-width', {
70
- readonly: readOnly,
71
- disabled: disabled,
72
- plaintext: plaintext
73
- }));
64
+ var classes = (0, _useFormClassNames.useFormClassNames)({
65
+ classPrefix: classPrefix,
66
+ className: className,
67
+ fluid: fluid,
68
+ layout: layout,
69
+ readOnly: readOnly,
70
+ plaintext: plaintext,
71
+ disabled: disabled
72
+ });
74
73
 
75
74
  var _useState = (0, _react.useState)(formDefaultValue),
76
75
  _formValue = _useState[0],
@@ -5,4 +5,5 @@ export type { FormErrorMessageProps } from '../FormErrorMessage';
5
5
  export type { FormControlLabelProps } from '../FormControlLabel';
6
6
  export type { FormHelpTextProps } from '../FormHelpText';
7
7
  export type { FormControlProps } from '../FormControl';
8
+ export * from './useFormClassNames';
8
9
  export default Form;
package/cjs/Form/index.js CHANGED
@@ -3,9 +3,18 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
+ var _exportNames = {};
6
7
  exports.default = void 0;
7
8
 
8
9
  var _Form = _interopRequireDefault(require("./Form"));
9
10
 
11
+ var _useFormClassNames = require("./useFormClassNames");
12
+
13
+ Object.keys(_useFormClassNames).forEach(function (key) {
14
+ if (key === "default" || key === "__esModule") return;
15
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
+ if (key in exports && exports[key] === _useFormClassNames[key]) return;
17
+ exports[key] = _useFormClassNames[key];
18
+ });
10
19
  var _default = _Form.default;
11
20
  exports.default = _default;
@@ -0,0 +1,5 @@
1
+ import type { FormProps } from './Form';
2
+ /**
3
+ * Take <Form> props and return className for <Form> styles
4
+ */
5
+ export declare function useFormClassNames({ classPrefix, className, fluid, layout, readOnly, plaintext, disabled }: Pick<FormProps, 'classPrefix' | 'className' | 'fluid' | 'layout' | 'readOnly' | 'plaintext' | 'disabled'>): string;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useFormClassNames = useFormClassNames;
5
+
6
+ var _utils = require("../utils");
7
+
8
+ /**
9
+ * Take <Form> props and return className for <Form> styles
10
+ */
11
+ function useFormClassNames(_ref) {
12
+ var _ref$classPrefix = _ref.classPrefix,
13
+ classPrefix = _ref$classPrefix === void 0 ? 'form' : _ref$classPrefix,
14
+ className = _ref.className,
15
+ fluid = _ref.fluid,
16
+ _ref$layout = _ref.layout,
17
+ layout = _ref$layout === void 0 ? 'vertical' : _ref$layout,
18
+ readOnly = _ref.readOnly,
19
+ plaintext = _ref.plaintext,
20
+ disabled = _ref.disabled;
21
+
22
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
23
+ withClassPrefix = _useClassNames.withClassPrefix,
24
+ merge = _useClassNames.merge;
25
+
26
+ return merge(className, withClassPrefix(layout, fluid && layout === 'vertical' ? 'fluid' : 'fixed-width', {
27
+ readonly: readOnly,
28
+ disabled: disabled,
29
+ plaintext: plaintext
30
+ }));
31
+ }
@@ -111,6 +111,7 @@ function MenuItem(props) {
111
111
 
112
112
  if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menubar') {
113
113
  menuitemProps.onMouseDown = handleMouseDown;
114
+ menuitemProps.onMouseOver = handleMouseMove;
114
115
  }
115
116
 
116
117
  return children(menuitemProps, menuitemRef);
@@ -20,7 +20,8 @@ var _utils = require("../utils");
20
20
  var _Checkbox = _interopRequireDefault(require("../Checkbox"));
21
21
 
22
22
  var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
23
- var active = props.active,
23
+ var _props$active = props.active,
24
+ active = _props$active === void 0 ? false : _props$active,
24
25
  _props$as = props.as,
25
26
  Component = _props$as === void 0 ? 'div' : _props$as,
26
27
  _props$checkboxAs = props.checkboxAs,
@@ -278,7 +278,9 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
278
278
  end = v;
279
279
  }
280
280
 
281
- var nextValue = getValidValue([start, end].sort());
281
+ var nextValue = getValidValue([start, end].sort(function (a, b) {
282
+ return a - b;
283
+ }));
282
284
 
283
285
  if (isRangeMatchingConstraint(nextValue)) {
284
286
  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
  }
@@ -202,8 +202,9 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
202
202
  var handleExited = (0, _react.useCallback)(function () {
203
203
  setSearchKeyword('');
204
204
  setActive(false);
205
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch('');
205
206
  onClose === null || onClose === void 0 ? void 0 : onClose();
206
- }, [onClose, setSearchKeyword]);
207
+ }, [onClose, setSearchKeyword, onSearch]);
207
208
  var handleEntered = (0, _react.useCallback)(function () {
208
209
  setActive(true);
209
210
  setFocusItemValue(value);
@@ -61,6 +61,11 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
61
61
  }));
62
62
  var inner = checked ? checkedChildren : unCheckedChildren;
63
63
  var label = checked ? locale.on : locale.off;
64
+
65
+ var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(rest),
66
+ htmlInputProps = _partitionHTMLProps[0],
67
+ restProps = _partitionHTMLProps[1];
68
+
64
69
  var handleInputChange = (0, _react.useCallback)(function (e) {
65
70
  if (disabled || readOnly || loading) {
66
71
  return;
@@ -78,7 +83,7 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
78
83
  return /*#__PURE__*/_react.default.createElement("label", (0, _extends2.default)({
79
84
  ref: ref,
80
85
  className: classes
81
- }, rest), /*#__PURE__*/_react.default.createElement("input", {
86
+ }, restProps), /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, htmlInputProps, {
82
87
  ref: inputRef,
83
88
  type: "checkbox",
84
89
  checked: checkedProp,
@@ -92,7 +97,7 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
92
97
  "aria-disabled": disabled,
93
98
  "aria-label": typeof inner === 'string' ? inner : label,
94
99
  "aria-busy": loading || undefined
95
- }), /*#__PURE__*/_react.default.createElement(Component, {
100
+ })), /*#__PURE__*/_react.default.createElement(Component, {
96
101
  className: prefix('presentation')
97
102
  }, /*#__PURE__*/_react.default.createElement("span", {
98
103
  className: prefix('inner')
package/cjs/index.d.ts CHANGED
@@ -50,7 +50,7 @@ export { default as Steps } from './Steps';
50
50
  export type { StepsProps, StepItemProps } from './Steps';
51
51
  export { default as Toggle } from './Toggle';
52
52
  export type { ToggleProps } from './Toggle';
53
- export { default as Form } from './Form';
53
+ export { default as Form, useFormClassNames } from './Form';
54
54
  export type { FormProps, FormGroupProps, FormErrorMessageProps, FormControlLabelProps, FormHelpTextProps, FormControlProps } from './Form';
55
55
  export { default as Input } from './Input';
56
56
  export type { InputProps } from './Input';
package/cjs/index.js CHANGED
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
6
- exports.CustomProvider = exports.Affix = exports.DOMHelper = exports.Animation = exports.Schema = exports.Stack = exports.Divider = exports.Footer = exports.Sidebar = exports.Header = exports.Content = exports.Container = exports.FlexboxGrid = exports.Col = exports.Row = exports.Grid = exports.Carousel = exports.Calendar = exports.List = exports.TagGroup = exports.Tag = exports.Timeline = exports.Progress = exports.Table = exports.PanelGroup = exports.Panel = exports.CheckTree = exports.Tree = exports.Rate = exports.RangeSlider = exports.Slider = exports.Uploader = exports.AutoComplete = exports.DateRangePicker = exports.DatePicker = exports.MultiCascader = exports.Cascader = exports.CheckTreePicker = exports.TreePicker = exports.TagInput = exports.TagPicker = exports.InputPicker = exports.CheckPicker = exports.SelectPicker = exports.RadioGroup = exports.Radio = exports.CheckboxGroup = exports.Checkbox = exports.InputGroup = exports.InputNumber = exports.MaskedInput = exports.Input = exports.Form = exports.Toggle = exports.Steps = exports.Pagination = exports.Breadcrumb = exports.Sidenav = exports.Navbar = exports.Nav = exports.Dropdown = exports.toaster = exports.AvatarGroup = exports.Avatar = exports.Badge = exports.Placeholder = exports.SafeAnchor = exports.Loader = exports.Drawer = exports.Message = exports.Notification = exports.Modal = exports.Popover = exports.Tooltip = exports.Whisper = exports.ButtonGroup = exports.ButtonToolbar = exports.IconButton = exports.Button = void 0;
8
+ exports.useFormClassNames = exports.CustomProvider = exports.Affix = exports.DOMHelper = exports.Animation = exports.Schema = exports.Stack = exports.Divider = exports.Footer = exports.Sidebar = exports.Header = exports.Content = exports.Container = exports.FlexboxGrid = exports.Col = exports.Row = exports.Grid = exports.Carousel = exports.Calendar = exports.List = exports.TagGroup = exports.Tag = exports.Timeline = exports.Progress = exports.Table = exports.PanelGroup = exports.Panel = exports.CheckTree = exports.Tree = exports.Rate = exports.RangeSlider = exports.Slider = exports.Uploader = exports.AutoComplete = exports.DateRangePicker = exports.DatePicker = exports.MultiCascader = exports.Cascader = exports.CheckTreePicker = exports.TreePicker = exports.TagInput = exports.TagPicker = exports.InputPicker = exports.CheckPicker = exports.SelectPicker = exports.RadioGroup = exports.Radio = exports.CheckboxGroup = exports.Checkbox = exports.InputGroup = exports.InputNumber = exports.MaskedInput = exports.Input = exports.Form = exports.Toggle = exports.Steps = exports.Pagination = exports.Breadcrumb = exports.Sidenav = exports.Navbar = exports.Nav = exports.Dropdown = exports.toaster = exports.AvatarGroup = exports.Avatar = exports.Badge = exports.Placeholder = exports.SafeAnchor = exports.Loader = exports.Drawer = exports.Message = exports.Notification = exports.Modal = exports.Popover = exports.Tooltip = exports.Whisper = exports.ButtonGroup = exports.ButtonToolbar = exports.IconButton = exports.Button = void 0;
7
9
 
8
10
  var _Button = _interopRequireDefault(require("./Button"));
9
11
 
@@ -109,9 +111,10 @@ var _Toggle = _interopRequireDefault(require("./Toggle"));
109
111
 
110
112
  exports.Toggle = _Toggle.default;
111
113
 
112
- var _Form = _interopRequireDefault(require("./Form"));
114
+ var _Form = _interopRequireWildcard(require("./Form"));
113
115
 
114
116
  exports.Form = _Form.default;
117
+ exports.useFormClassNames = _Form.useFormClassNames;
115
118
 
116
119
  var _Input = _interopRequireDefault(require("./Input"));
117
120