rsuite 5.41.0 → 5.43.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 (42) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/Placeholder/styles/index.less +1 -1
  3. package/cjs/AutoComplete/AutoComplete.js +9 -1
  4. package/cjs/Form/Form.js +2 -3
  5. package/cjs/Form/FormContext.d.ts +2 -3
  6. package/cjs/FormControl/FormControl.js +1 -5
  7. package/cjs/InputPicker/InputPicker.d.ts +2 -0
  8. package/cjs/InputPicker/InputPicker.js +4 -2
  9. package/cjs/TagInput/index.d.ts +3 -0
  10. package/cjs/TagInput/index.js +5 -3
  11. package/cjs/TagPicker/index.d.ts +3 -0
  12. package/cjs/TagPicker/index.js +5 -3
  13. package/dist/rsuite-no-reset-rtl.css +795 -711
  14. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  15. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  16. package/dist/rsuite-no-reset.css +795 -711
  17. package/dist/rsuite-no-reset.min.css +1 -1
  18. package/dist/rsuite-no-reset.min.css.map +1 -1
  19. package/dist/rsuite-rtl.css +795 -711
  20. package/dist/rsuite-rtl.min.css +1 -1
  21. package/dist/rsuite-rtl.min.css.map +1 -1
  22. package/dist/rsuite.css +795 -711
  23. package/dist/rsuite.js +54 -54
  24. package/dist/rsuite.min.css +1 -1
  25. package/dist/rsuite.min.css.map +1 -1
  26. package/dist/rsuite.min.js +1 -1
  27. package/dist/rsuite.min.js.map +1 -1
  28. package/esm/AutoComplete/AutoComplete.js +9 -1
  29. package/esm/Form/Form.js +2 -3
  30. package/esm/Form/FormContext.d.ts +2 -3
  31. package/esm/FormControl/FormControl.js +1 -5
  32. package/esm/InputPicker/InputPicker.d.ts +2 -0
  33. package/esm/InputPicker/InputPicker.js +4 -2
  34. package/esm/TagInput/index.d.ts +3 -0
  35. package/esm/TagInput/index.js +5 -3
  36. package/esm/TagPicker/index.d.ts +3 -0
  37. package/esm/TagPicker/index.js +5 -3
  38. package/package.json +2 -2
  39. package/styles/color-modes/dark.less +256 -206
  40. package/styles/color-modes/high-contrast.less +252 -207
  41. package/styles/color-modes/light.less +262 -206
  42. package/styles/variables.less +4 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ # [5.43.0](https://github.com/rsuite/rsuite/compare/5.42.0...5.43.0) (2023-11-03)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **AutoComplete:** fix AutoComplete plaintext mode not working ([#3436](https://github.com/rsuite/rsuite/issues/3436)) ([72b79e7](https://github.com/rsuite/rsuite/commit/72b79e7b6dfb90ec23bb81b1145db125f8b827cd))
6
+ - **Drawer:** change Drawer title font-size to 18px ([#3430](https://github.com/rsuite/rsuite/issues/3430)) ([3eff439](https://github.com/rsuite/rsuite/commit/3eff439a0fa28e5349e306b6b2ded8eb9e847f95))
7
+
8
+ ### Features
9
+
10
+ - **CSS:** use CSS custom properties instead of less variables ([#3428](https://github.com/rsuite/rsuite/issues/3428)) ([f6474e4](https://github.com/rsuite/rsuite/commit/f6474e490036cd8faf228332e2b7bd6b85902671))
11
+
12
+ # [5.42.0](https://github.com/rsuite/rsuite/compare/v5.41.0...v5.42.0) (2023-10-29)
13
+
14
+ ### Bug Fixes
15
+
16
+ - **form:** form doesn't pass correct formValue to context ([#3426](https://github.com/rsuite/rsuite/issues/3426)) ([0ade0dc](https://github.com/rsuite/rsuite/commit/0ade0dc60e25857120eb38047cec1c7e78f8df11))
17
+
18
+ ### Features
19
+
20
+ - **TagPicker,TagInput:** add support for onTagRemove ([#3413](https://github.com/rsuite/rsuite/issues/3413)) ([96f96ab](https://github.com/rsuite/rsuite/commit/96f96abc974fb8b0200c0cc715275fcdcaee3736))
21
+
1
22
  # [5.41.0](https://github.com/rsuite/rsuite/compare/v5.38.0...v5.41.0) (2023-10-20)
2
23
 
3
24
  ### Bug Fixes
@@ -111,7 +111,7 @@
111
111
  var(--rs-placeholder) 63%
112
112
  );
113
113
  background-size: 400% 100% !important;
114
- animation: placeholder-active 3s ease infinite;
114
+ animation: placeholder-active 1.5s ease infinite;
115
115
  }
116
116
  }
117
117
 
@@ -16,6 +16,7 @@ var _utils = require("../utils");
16
16
  var _utils2 = require("../Animation/utils");
17
17
  var _Picker = require("../Picker");
18
18
  var _utils3 = require("./utils");
19
+ var _Plaintext = _interopRequireDefault(require("../Plaintext"));
19
20
  /**
20
21
  * TODO: Remove unnecessary .rs-auto-complete element
21
22
  * TODO: role=combobox and aria-autocomplete on input element
@@ -43,6 +44,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
43
44
  menuClassName = props.menuClassName,
44
45
  id = props.id,
45
46
  readOnly = props.readOnly,
47
+ plaintext = props.plaintext,
46
48
  renderMenu = props.renderMenu,
47
49
  renderMenuItem = props.renderMenuItem,
48
50
  onSelect = props.onSelect,
@@ -54,7 +56,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
54
56
  onFocus = props.onFocus,
55
57
  onBlur = props.onBlur,
56
58
  onMenuFocus = props.onMenuFocus,
57
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "className", "placement", "selectOnEnter", "classPrefix", "defaultValue", "menuAutoWidth", "data", "value", "open", "style", "size", "menuClassName", "id", "readOnly", "renderMenu", "renderMenuItem", "onSelect", "filterBy", "onKeyDown", "onChange", "onClose", "onOpen", "onFocus", "onBlur", "onMenuFocus"]);
59
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "className", "placement", "selectOnEnter", "classPrefix", "defaultValue", "menuAutoWidth", "data", "value", "open", "style", "size", "menuClassName", "id", "readOnly", "plaintext", "renderMenu", "renderMenuItem", "onSelect", "filterBy", "onKeyDown", "onChange", "onClose", "onOpen", "onFocus", "onBlur", "onMenuFocus"]);
58
60
  var datalist = (0, _utils3.transformData)(data);
59
61
  var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),
60
62
  value = _useControlled[0],
@@ -185,6 +187,12 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
185
187
  autoWidth: menuAutoWidth
186
188
  }, renderMenu ? renderMenu(menu) : menu);
187
189
  };
190
+ if (plaintext) {
191
+ return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {
192
+ ref: ref,
193
+ localeKey: "unfilled"
194
+ }, typeof value === 'undefined' ? defaultValue : value);
195
+ }
188
196
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
189
197
  ref: triggerRef,
190
198
  placement: placement,
package/cjs/Form/Form.js CHANGED
@@ -243,7 +243,6 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
243
243
  return {
244
244
  getCombinedModel: getCombinedModel,
245
245
  checkTrigger: checkTrigger,
246
- formDefaultValue: formDefaultValue,
247
246
  errorFromContext: errorFromContext,
248
247
  readOnly: readOnly,
249
248
  plaintext: plaintext,
@@ -257,7 +256,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
257
256
  onFieldError: handleFieldError,
258
257
  onFieldSuccess: handleFieldSuccess
259
258
  };
260
- }, [getCombinedModel, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, realFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);
259
+ }, [getCombinedModel, checkTrigger, errorFromContext, readOnly, plaintext, disabled, realFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);
261
260
  return /*#__PURE__*/_react.default.createElement("form", (0, _extends6.default)({}, rest, {
262
261
  ref: rootRef,
263
262
  onSubmit: handleSubmit,
@@ -265,7 +264,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
265
264
  }), /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, {
266
265
  value: formContextValue
267
266
  }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueContext.Provider, {
268
- value: formValue
267
+ value: realFormValue
269
268
  }, children)));
270
269
  });
271
270
  Form.Control = _FormControl.default;
@@ -15,16 +15,15 @@ interface TrulyFormContextValue<T = Record<string, any>, errorMsgType = any, E =
15
15
  onFieldError: (name: string, errorMessage: string) => void;
16
16
  onFieldSuccess: (name: string) => void;
17
17
  }
18
- declare type ExternalPropsContextValue<T> = {
18
+ declare type ExternalPropsContextValue = {
19
19
  checkTrigger?: TypeAttributes.CheckTrigger;
20
- formDefaultValue?: T;
21
20
  errorFromContext?: boolean;
22
21
  readOnly?: boolean;
23
22
  plaintext?: boolean;
24
23
  disabled?: boolean;
25
24
  };
26
25
  declare type InitialContextType = Partial<Record<keyof TrulyFormContextValue, undefined>>;
27
- export declare type FormContextValue<T = Record<string, any>, errorMsgType = any> = (TrulyFormContextValue<T, errorMsgType> | InitialContextType) & ExternalPropsContextValue<T>;
26
+ export declare type FormContextValue<T = Record<string, any>, errorMsgType = any> = (TrulyFormContextValue<T, errorMsgType> | InitialContextType) & ExternalPropsContextValue;
28
27
  export declare const FormContext: React.Context<FormContextValue<Record<string, any>, any>>;
29
28
  export declare const FormValueContext: React.Context<Record<string, any> | undefined>;
30
29
  export declare const FormPlaintextContext: React.Context<boolean>;
@@ -30,8 +30,6 @@ var FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
30
30
  plaintextContext = _useContext.plaintext,
31
31
  disabledContext = _useContext.disabled,
32
32
  errorFromContext = _useContext.errorFromContext,
33
- _useContext$formDefau = _useContext.formDefaultValue,
34
- formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,
35
33
  formError = _useContext.formError,
36
34
  removeFieldValue = _useContext.removeFieldValue,
37
35
  removeFieldError = _useContext.removeFieldError,
@@ -131,14 +129,12 @@ var FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
131
129
  var fieldHasError = Boolean(messageNode);
132
130
  var ariaErrormessage = fieldHasError && controlId ? controlId + "-error-message" : undefined;
133
131
  var valueKey = 'value';
134
- var defaultValueKey = 'defaultValue';
135
132
 
136
133
  // Toggle component is a special case that uses `checked` and `defaultChecked` instead of `value` and `defaultValue` props.
137
134
  if (AccepterComponent === _Toggle.default) {
138
135
  valueKey = 'checked';
139
- defaultValueKey = 'defaultChecked';
140
136
  }
141
- var accepterProps = (_accepterProps = {}, _accepterProps[valueKey] = val, _accepterProps[defaultValueKey] = defaultValue !== null && defaultValue !== void 0 ? defaultValue : formDefaultValue[name], _accepterProps);
137
+ var accepterProps = (_accepterProps = {}, _accepterProps[valueKey] = val !== null && val !== void 0 ? val : defaultValue, _accepterProps);
142
138
  return /*#__PURE__*/_react.default.createElement(Component, {
143
139
  className: classes,
144
140
  ref: ref
@@ -18,6 +18,8 @@ export interface InputPickerContextProps {
18
18
  * No overlay provides options
19
19
  */
20
20
  disabledOptions?: boolean;
21
+ /** Callback fired when a tag is removed. */
22
+ onTagRemove?: (tag: string, event: React.MouseEvent) => void;
21
23
  }
22
24
  export declare const InputPickerContext: React.Context<InputPickerContextProps>;
23
25
  interface InputItemDataType extends ItemDataType {
@@ -108,7 +108,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
108
108
  multi = _useContext.multi,
109
109
  tagProps = _useContext.tagProps,
110
110
  trigger = _useContext.trigger,
111
- disabledOptions = _useContext.disabledOptions;
111
+ disabledOptions = _useContext.disabledOptions,
112
+ onTagRemove = _useContext.onTagRemove;
112
113
  if (groupBy === valueKey || groupBy === labelKey) {
113
114
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
114
115
  }
@@ -257,7 +258,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
257
258
  });
258
259
  setValue(val);
259
260
  handleChange(val, event);
260
- }, [setValue, cloneValue, handleChange]);
261
+ onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(tag, event);
262
+ }, [cloneValue, setValue, handleChange, onTagRemove]);
261
263
  var handleSelect = (0, _react.useCallback)(function (value, item, event) {
262
264
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
263
265
  if (creatable && item.create) {
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { InputPickerProps, TriggerType } from '../InputPicker/InputPicker';
2
3
  import type { PickerComponent } from '../Picker/types';
3
4
  import type { TagProps } from '../Tag';
@@ -10,6 +11,8 @@ export interface TagInputProps extends Omit<InputPickerProps<readonly string[]>,
10
11
  * @todo Declare as readonly array
11
12
  */
12
13
  trigger?: TriggerType | TriggerType[];
14
+ /** Callback fired when a tag is removed. */
15
+ onTagRemove?: (tag: string, event: React.MouseEvent) => void;
13
16
  }
14
17
  declare const TagInput: PickerComponent<TagInputProps>;
15
18
  export default TagInput;
@@ -16,15 +16,17 @@ var TagInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
16
16
  trigger = _props$trigger === void 0 ? 'Enter' : _props$trigger,
17
17
  value = props.value,
18
18
  defaultValue = props.defaultValue,
19
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["tagProps", "trigger", "value", "defaultValue"]);
19
+ onTagRemove = props.onTagRemove,
20
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["tagProps", "trigger", "value", "defaultValue", "onTagRemove"]);
20
21
  var contextValue = (0, _react.useMemo)(function () {
21
22
  return {
22
23
  multi: true,
23
24
  disabledOptions: true,
24
25
  trigger: trigger,
25
- tagProps: tagProps
26
+ tagProps: tagProps,
27
+ onTagRemove: onTagRemove
26
28
  };
27
- }, [tagProps, trigger]);
29
+ }, [onTagRemove, tagProps, trigger]);
28
30
  var data = (0, _react.useMemo)(function () {
29
31
  return (value || defaultValue || []).map(function (v) {
30
32
  return {
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { InputPickerProps, TriggerType } from '../InputPicker/InputPicker';
2
3
  import type { PickerComponent } from '../Picker/types';
3
4
  import type { TagProps } from '../Tag';
@@ -8,6 +9,8 @@ export interface TagPickerProps extends InputPickerProps {
8
9
  * Set the trigger for creating tags. only valid when creatable
9
10
  */
10
11
  trigger?: TriggerType | TriggerType[];
12
+ /** Callback fired when a tag is removed. */
13
+ onTagRemove?: (tag: string, event: React.MouseEvent) => void;
11
14
  }
12
15
  declare const TagPicker: PickerComponent<TagPickerProps>;
13
16
  export default TagPicker;
@@ -14,14 +14,16 @@ var TagPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
14
14
  tagProps = _props$tagProps === void 0 ? {} : _props$tagProps,
15
15
  _props$trigger = props.trigger,
16
16
  trigger = _props$trigger === void 0 ? 'Enter' : _props$trigger,
17
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["tagProps", "trigger"]);
17
+ onTagRemove = props.onTagRemove,
18
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["tagProps", "trigger", "onTagRemove"]);
18
19
  var contextValue = (0, _react.useMemo)(function () {
19
20
  return {
20
21
  multi: true,
21
22
  trigger: trigger,
22
- tagProps: tagProps
23
+ tagProps: tagProps,
24
+ onTagRemove: onTagRemove
23
25
  };
24
- }, [tagProps, trigger]);
26
+ }, [onTagRemove, tagProps, trigger]);
25
27
  return /*#__PURE__*/_react.default.createElement(_InputPicker.InputPickerContext.Provider, {
26
28
  value: contextValue
27
29
  }, /*#__PURE__*/_react.default.createElement(_InputPicker.default, (0, _extends2.default)({}, rest, {