rsuite 5.59.3-alpha.1 → 5.60.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.
Files changed (84) hide show
  1. package/Animation/styles/fade.less +1 -1
  2. package/Animation/styles/index.css +1 -1
  3. package/CHANGELOG.md +27 -0
  4. package/DateRangePicker/styles/index.css +2 -3
  5. package/DateRangePicker/styles/index.less +6 -5
  6. package/TagInput/styles/index.css +24 -24
  7. package/TagPicker/styles/index.css +24 -24
  8. package/TagPicker/styles/index.less +11 -10
  9. package/Toggle/styles/index.css +2 -1
  10. package/Toggle/styles/index.less +2 -1
  11. package/cjs/DateRangePicker/DateRangePicker.js +17 -9
  12. package/cjs/DateRangePicker/utils.d.ts +2 -2
  13. package/cjs/DateRangePicker/utils.js +2 -2
  14. package/cjs/Form/Form.d.ts +13 -9
  15. package/cjs/Form/Form.js +55 -11
  16. package/cjs/Form/FormContext.d.ts +2 -2
  17. package/cjs/Form/hooks/useFormRef.d.ts +9 -7
  18. package/cjs/Form/hooks/useFormRef.js +5 -32
  19. package/cjs/Form/hooks/useFormValidate.d.ts +6 -4
  20. package/cjs/Form/hooks/useFormValidate.js +18 -12
  21. package/cjs/Form/hooks/useFormValue.d.ts +8 -1
  22. package/cjs/Form/hooks/useFormValue.js +7 -1
  23. package/cjs/InputPicker/InputAutosize.js +2 -2
  24. package/cjs/InputPicker/InputPicker.d.ts +5 -7
  25. package/cjs/InputPicker/InputPicker.js +119 -151
  26. package/cjs/InputPicker/InputPickerContext.d.ts +11 -3
  27. package/cjs/InputPicker/InputPickerContext.js +7 -1
  28. package/cjs/InputPicker/hooks/useData.d.ts +17 -0
  29. package/cjs/InputPicker/hooks/useData.js +44 -0
  30. package/cjs/InputPicker/hooks/useInput.d.ts +21 -0
  31. package/cjs/InputPicker/hooks/useInput.js +46 -0
  32. package/cjs/InputPicker/hooks/useMaxWidth.d.ts +4 -0
  33. package/cjs/InputPicker/hooks/useMaxWidth.js +25 -0
  34. package/cjs/InputPicker/index.d.ts +2 -1
  35. package/cjs/InputPicker/utils.d.ts +1 -0
  36. package/cjs/InputPicker/utils.js +17 -0
  37. package/cjs/TagInput/index.js +2 -2
  38. package/cjs/TagPicker/index.js +2 -2
  39. package/dist/rsuite-no-reset-rtl.css +29 -29
  40. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  41. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  42. package/dist/rsuite-no-reset.css +29 -29
  43. package/dist/rsuite-no-reset.min.css +1 -1
  44. package/dist/rsuite-no-reset.min.css.map +1 -1
  45. package/dist/rsuite-rtl.css +29 -29
  46. package/dist/rsuite-rtl.min.css +1 -1
  47. package/dist/rsuite-rtl.min.css.map +1 -1
  48. package/dist/rsuite.css +29 -29
  49. package/dist/rsuite.js +55 -11
  50. package/dist/rsuite.js.map +1 -1
  51. package/dist/rsuite.min.css +1 -1
  52. package/dist/rsuite.min.css.map +1 -1
  53. package/dist/rsuite.min.js +1 -1
  54. package/dist/rsuite.min.js.map +1 -1
  55. package/esm/DateRangePicker/DateRangePicker.js +17 -9
  56. package/esm/DateRangePicker/utils.d.ts +2 -2
  57. package/esm/DateRangePicker/utils.js +2 -2
  58. package/esm/Form/Form.d.ts +13 -9
  59. package/esm/Form/Form.js +55 -11
  60. package/esm/Form/FormContext.d.ts +2 -2
  61. package/esm/Form/hooks/useFormRef.d.ts +9 -7
  62. package/esm/Form/hooks/useFormRef.js +5 -32
  63. package/esm/Form/hooks/useFormValidate.d.ts +6 -4
  64. package/esm/Form/hooks/useFormValidate.js +18 -12
  65. package/esm/Form/hooks/useFormValue.d.ts +8 -1
  66. package/esm/Form/hooks/useFormValue.js +7 -1
  67. package/esm/InputPicker/InputAutosize.js +2 -2
  68. package/esm/InputPicker/InputPicker.d.ts +5 -7
  69. package/esm/InputPicker/InputPicker.js +111 -143
  70. package/esm/InputPicker/InputPickerContext.d.ts +11 -3
  71. package/esm/InputPicker/InputPickerContext.js +4 -0
  72. package/esm/InputPicker/hooks/useData.d.ts +17 -0
  73. package/esm/InputPicker/hooks/useData.js +38 -0
  74. package/esm/InputPicker/hooks/useInput.d.ts +21 -0
  75. package/esm/InputPicker/hooks/useInput.js +40 -0
  76. package/esm/InputPicker/hooks/useMaxWidth.d.ts +4 -0
  77. package/esm/InputPicker/hooks/useMaxWidth.js +19 -0
  78. package/esm/InputPicker/index.d.ts +2 -1
  79. package/esm/InputPicker/utils.d.ts +1 -0
  80. package/esm/InputPicker/utils.js +12 -0
  81. package/esm/TagInput/index.js +2 -2
  82. package/esm/TagPicker/index.js +2 -2
  83. package/package.json +1 -1
  84. package/styles/variables.less +0 -1
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _useMaxWidth = _interopRequireDefault(require("./useMaxWidth"));
9
+ var _InputAutosize = _interopRequireDefault(require("../InputAutosize"));
10
+ var INPUT_MARGIN_RIGHT = 60;
11
+ function useInput(props) {
12
+ var multi = props.multi,
13
+ triggerRef = props.triggerRef;
14
+ var inputRef = (0, _react.useRef)();
15
+ var maxWidth = (0, _useMaxWidth.default)(triggerRef);
16
+ var getInput = (0, _react.useCallback)(function () {
17
+ var _inputRef$current;
18
+ return multi ? (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input : inputRef.current;
19
+ }, [multi]);
20
+ var focus = (0, _react.useCallback)(function () {
21
+ var _getInput;
22
+ (_getInput = getInput()) === null || _getInput === void 0 ? void 0 : _getInput.focus();
23
+ }, [getInput]);
24
+ var blur = (0, _react.useCallback)(function () {
25
+ var _getInput2;
26
+ (_getInput2 = getInput()) === null || _getInput2 === void 0 ? void 0 : _getInput2.blur();
27
+ }, [getInput]);
28
+ var inputProps = (0, _react.useMemo)(function () {
29
+ return multi ? {
30
+ inputStyle: {
31
+ maxWidth: maxWidth - INPUT_MARGIN_RIGHT
32
+ },
33
+ as: _InputAutosize.default
34
+ } : {
35
+ as: 'input'
36
+ };
37
+ }, [maxWidth, multi]);
38
+ return {
39
+ inputProps: inputProps,
40
+ inputRef: inputRef,
41
+ focus: focus,
42
+ blur: blur
43
+ };
44
+ }
45
+ var _default = useInput;
46
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { OverlayTriggerHandle } from '../../internals/Picker/PickerToggleTrigger';
3
+ declare function useMaxWidth(triggerRef: React.RefObject<OverlayTriggerHandle>): number;
4
+ export default useMaxWidth;
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _getWidth = _interopRequireDefault(require("dom-lib/getWidth"));
9
+ function useMaxWidth(triggerRef) {
10
+ var _useState = (0, _react.useState)(100),
11
+ maxWidth = _useState[0],
12
+ setMaxWidth = _useState[1];
13
+ (0, _react.useEffect)(function () {
14
+ var _triggerRef$current;
15
+ // In multiple selection, you need to set a maximum width for the input.
16
+ if ((_triggerRef$current = triggerRef.current) !== null && _triggerRef$current !== void 0 && _triggerRef$current.root) {
17
+ var _triggerRef$current2;
18
+ setMaxWidth((0, _getWidth.default)((_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.root));
19
+ }
20
+ // eslint-disable-next-line react-hooks/exhaustive-deps
21
+ }, []);
22
+ return maxWidth;
23
+ }
24
+ var _default = useMaxWidth;
25
+ exports.default = _default;
@@ -1,3 +1,4 @@
1
1
  import InputPicker from './InputPicker';
2
- export type { InputPickerProps, InputItemDataType } from './InputPicker';
2
+ export type { InputItemDataType } from './hooks/useData';
3
+ export type { InputPickerProps } from './InputPicker';
3
4
  export default InputPicker;
@@ -0,0 +1 @@
1
+ export declare const convertSize: (size?: string) => "lg" | "md" | "sm";
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.convertSize = void 0;
6
+ var convertSize = function convertSize(size) {
7
+ switch (size) {
8
+ case 'lg':
9
+ return 'lg';
10
+ case 'sm':
11
+ case 'xs':
12
+ return 'sm';
13
+ default:
14
+ return 'md';
15
+ }
16
+ };
17
+ exports.convertSize = convertSize;
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _InputPicker = _interopRequireDefault(require("../InputPicker/InputPicker"));
12
- var _InputPickerContext = _interopRequireDefault(require("../InputPicker/InputPickerContext"));
12
+ var _InputPickerContext = require("../InputPicker/InputPickerContext");
13
13
  /**
14
14
  * The `TagInput` component is an enhancement of Input and supports input tags and management tags.
15
15
  *
@@ -41,7 +41,7 @@ var TagInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
41
  };
42
42
  });
43
43
  }, [defaultValue, value]);
44
- return /*#__PURE__*/_react.default.createElement(_InputPickerContext.default.Provider, {
44
+ return /*#__PURE__*/_react.default.createElement(_InputPickerContext.TagProvider, {
45
45
  value: contextValue
46
46
  }, /*#__PURE__*/_react.default.createElement(_InputPicker.default, (0, _extends2.default)({}, rest, {
47
47
  "aria-haspopup": false,
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _InputPicker = _interopRequireDefault(require("../InputPicker/InputPicker"));
12
- var _InputPickerContext = _interopRequireDefault(require("../InputPicker/InputPickerContext"));
12
+ var _InputPickerContext = require("../InputPicker/InputPickerContext");
13
13
  /**
14
14
  * `TagPicker` component enables multi-selection by tags and supports new options.
15
15
  *
@@ -32,7 +32,7 @@ var TagPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
32
32
  renderCheckbox: renderMenuItemCheckbox
33
33
  };
34
34
  }, [onTagRemove, renderMenuItemCheckbox, tagProps, trigger]);
35
- return /*#__PURE__*/_react.default.createElement(_InputPickerContext.default.Provider, {
35
+ return /*#__PURE__*/_react.default.createElement(_InputPickerContext.TagProvider, {
36
36
  value: contextValue
37
37
  }, /*#__PURE__*/_react.default.createElement(_InputPicker.default, (0, _extends2.default)({}, rest, {
38
38
  ref: ref
@@ -1466,7 +1466,7 @@ tbody.rs-anim-collapse.rs-anim-in {
1466
1466
  }
1467
1467
  .rs-anim-fade.rs-anim-in {
1468
1468
  opacity: 1;
1469
- pointer-events: unset;
1469
+ pointer-events: auto;
1470
1470
  }
1471
1471
  .rs-auto-complete-menu {
1472
1472
  overflow-y: auto;
@@ -4662,9 +4662,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
4662
4662
  .rs-picker-popup .rs-calendar-month-dropdown-list {
4663
4663
  width: 185px;
4664
4664
  }
4665
- .rs-picker-popup .rs-picker-daterange-panel-show-one-calendar .rs-picker-toolbar {
4666
- max-width: 255px;
4667
- }
4668
4665
  .rs-picker-popup .rs-picker-daterange-panel-show-one-calendar .rs-picker-toolbar-ranges {
4669
4666
  width: 190px;
4670
4667
  }
@@ -4703,6 +4700,8 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
4703
4700
  bottom: -1px;
4704
4701
  border-bottom: 2px solid #3498ff;
4705
4702
  right: 0;
4703
+ -webkit-transition: right 0.3s;
4704
+ transition: right 0.3s;
4706
4705
  }
4707
4706
  .rs-picker-daterange-header.rs-picker-tab-active-end::after {
4708
4707
  right: 50%;
@@ -14204,30 +14203,6 @@ textarea.rs-inline-edit-sm .rs-plaintext {
14204
14203
  .rs-plaintext .rs-tag {
14205
14204
  margin: 0;
14206
14205
  }
14207
- .rs-picker-tag-lg .rs-picker-textbox {
14208
- padding-bottom: 6px;
14209
- }
14210
- .rs-picker-tag-lg .rs-picker-textbox .rs-picker-search-input {
14211
- padding-right: 16px;
14212
- margin-top: 6px;
14213
- font-size: 16px;
14214
- }
14215
- .rs-picker-tag-lg .rs-picker-textbox input {
14216
- height: 20px;
14217
- }
14218
- .rs-picker-tag-lg .rs-picker-toggle {
14219
- padding-top: 8px;
14220
- padding-bottom: 8px;
14221
- -webkit-box-shadow: none;
14222
- box-shadow: none;
14223
- }
14224
- .rs-picker-tag-lg .rs-picker-textbox {
14225
- min-height: 40px;
14226
- }
14227
- .rs-picker-tag-lg .rs-picker-tag-list .rs-tag-lg {
14228
- margin-top: 6px;
14229
- margin-right: 6px;
14230
- }
14231
14206
  .rs-picker-tag .rs-picker-textbox,
14232
14207
  .rs-picker-tag-md .rs-picker-textbox {
14233
14208
  padding-bottom: 5px;
@@ -14254,6 +14229,30 @@ textarea.rs-inline-edit-sm .rs-plaintext {
14254
14229
  margin-top: 5px;
14255
14230
  margin-right: 5px;
14256
14231
  }
14232
+ .rs-picker-tag-lg .rs-picker-textbox {
14233
+ padding-bottom: 7px;
14234
+ }
14235
+ .rs-picker-tag-lg .rs-picker-textbox .rs-picker-search-input {
14236
+ padding-right: 16px;
14237
+ margin-top: 7px;
14238
+ font-size: 16px;
14239
+ }
14240
+ .rs-picker-tag-lg .rs-picker-textbox input {
14241
+ height: 20px;
14242
+ }
14243
+ .rs-picker-tag-lg .rs-picker-toggle {
14244
+ padding-top: 9px;
14245
+ padding-bottom: 9px;
14246
+ -webkit-box-shadow: none;
14247
+ box-shadow: none;
14248
+ }
14249
+ .rs-picker-tag-lg .rs-picker-textbox {
14250
+ min-height: 40px;
14251
+ }
14252
+ .rs-picker-tag-lg .rs-picker-tag-list .rs-tag-lg {
14253
+ margin-top: 6px;
14254
+ margin-right: 6px;
14255
+ }
14257
14256
  .rs-picker-tag-sm .rs-picker-textbox {
14258
14257
  padding-bottom: 2px;
14259
14258
  }
@@ -14471,6 +14470,7 @@ textarea.rs-inline-edit-sm .rs-plaintext {
14471
14470
  }
14472
14471
  .rs-toggle {
14473
14472
  position: relative;
14473
+ display: inline-block;
14474
14474
  }
14475
14475
  .rs-toggle .rs-toggle-loader {
14476
14476
  width: 18px;
@@ -14596,7 +14596,7 @@ textarea.rs-inline-edit-sm .rs-plaintext {
14596
14596
  -webkit-box-shadow: inset 0 0 0 1px var(--rs-toggle-disabled-thumb);
14597
14597
  box-shadow: inset 0 0 0 1px #fff;
14598
14598
  box-shadow: inset 0 0 0 1px var(--rs-toggle-disabled-thumb);
14599
- cursor: not-allowed;
14599
+ pointer-events: none;
14600
14600
  }
14601
14601
  .rs-toggle-checked .rs-toggle-presentation {
14602
14602
  background-color: #3498ff;