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
@@ -10,6 +10,7 @@ import { useClassNames, useControlled, PLACEMENT, mergeRefs, useIsMounted, parti
10
10
  import { animationPropTypes } from '../Animation/utils';
11
11
  import { PickerToggleTrigger, onMenuKeyDown, DropdownMenu, DropdownMenuItem, PickerOverlay, useFocusItemValue, usePublicMethods, pickTriggerPropKeys } from '../Picker';
12
12
  import { transformData, shouldDisplay } from './utils';
13
+ import Plaintext from '../Plaintext';
13
14
  /**
14
15
  * TODO: Remove unnecessary .rs-auto-complete element
15
16
  * TODO: role=combobox and aria-autocomplete on input element
@@ -37,6 +38,7 @@ var AutoComplete = /*#__PURE__*/React.forwardRef(function (props, ref) {
37
38
  menuClassName = props.menuClassName,
38
39
  id = props.id,
39
40
  readOnly = props.readOnly,
41
+ plaintext = props.plaintext,
40
42
  renderMenu = props.renderMenu,
41
43
  renderMenuItem = props.renderMenuItem,
42
44
  onSelect = props.onSelect,
@@ -48,7 +50,7 @@ var AutoComplete = /*#__PURE__*/React.forwardRef(function (props, ref) {
48
50
  onFocus = props.onFocus,
49
51
  onBlur = props.onBlur,
50
52
  onMenuFocus = props.onMenuFocus,
51
- rest = _objectWithoutPropertiesLoose(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"]);
53
+ rest = _objectWithoutPropertiesLoose(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"]);
52
54
  var datalist = transformData(data);
53
55
  var _useControlled = useControlled(valueProp, defaultValue),
54
56
  value = _useControlled[0],
@@ -179,6 +181,12 @@ var AutoComplete = /*#__PURE__*/React.forwardRef(function (props, ref) {
179
181
  autoWidth: menuAutoWidth
180
182
  }, renderMenu ? renderMenu(menu) : menu);
181
183
  };
184
+ if (plaintext) {
185
+ return /*#__PURE__*/React.createElement(Plaintext, {
186
+ ref: ref,
187
+ localeKey: "unfilled"
188
+ }, typeof value === 'undefined' ? defaultValue : value);
189
+ }
182
190
  return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
183
191
  ref: triggerRef,
184
192
  placement: placement,
package/esm/Form/Form.js CHANGED
@@ -237,7 +237,6 @@ var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
237
237
  return {
238
238
  getCombinedModel: getCombinedModel,
239
239
  checkTrigger: checkTrigger,
240
- formDefaultValue: formDefaultValue,
241
240
  errorFromContext: errorFromContext,
242
241
  readOnly: readOnly,
243
242
  plaintext: plaintext,
@@ -251,7 +250,7 @@ var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
251
250
  onFieldError: handleFieldError,
252
251
  onFieldSuccess: handleFieldSuccess
253
252
  };
254
- }, [getCombinedModel, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, realFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);
253
+ }, [getCombinedModel, checkTrigger, errorFromContext, readOnly, plaintext, disabled, realFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);
255
254
  return /*#__PURE__*/React.createElement("form", _extends({}, rest, {
256
255
  ref: rootRef,
257
256
  onSubmit: handleSubmit,
@@ -259,7 +258,7 @@ var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
259
258
  }), /*#__PURE__*/React.createElement(FormContext.Provider, {
260
259
  value: formContextValue
261
260
  }, /*#__PURE__*/React.createElement(FormValueContext.Provider, {
262
- value: formValue
261
+ value: realFormValue
263
262
  }, children)));
264
263
  });
265
264
  Form.Control = FormControl;
@@ -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>;
@@ -26,8 +26,6 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
26
26
  plaintextContext = _useContext.plaintext,
27
27
  disabledContext = _useContext.disabled,
28
28
  errorFromContext = _useContext.errorFromContext,
29
- _useContext$formDefau = _useContext.formDefaultValue,
30
- formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,
31
29
  formError = _useContext.formError,
32
30
  removeFieldValue = _useContext.removeFieldValue,
33
31
  removeFieldError = _useContext.removeFieldError,
@@ -127,14 +125,12 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
127
125
  var fieldHasError = Boolean(messageNode);
128
126
  var ariaErrormessage = fieldHasError && controlId ? controlId + "-error-message" : undefined;
129
127
  var valueKey = 'value';
130
- var defaultValueKey = 'defaultValue';
131
128
 
132
129
  // Toggle component is a special case that uses `checked` and `defaultChecked` instead of `value` and `defaultValue` props.
133
130
  if (AccepterComponent === Toggle) {
134
131
  valueKey = 'checked';
135
- defaultValueKey = 'defaultChecked';
136
132
  }
137
- var accepterProps = (_accepterProps = {}, _accepterProps[valueKey] = val, _accepterProps[defaultValueKey] = defaultValue !== null && defaultValue !== void 0 ? defaultValue : formDefaultValue[name], _accepterProps);
133
+ var accepterProps = (_accepterProps = {}, _accepterProps[valueKey] = val !== null && val !== void 0 ? val : defaultValue, _accepterProps);
138
134
  return /*#__PURE__*/React.createElement(Component, {
139
135
  className: classes,
140
136
  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 {
@@ -101,7 +101,8 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
101
101
  multi = _useContext.multi,
102
102
  tagProps = _useContext.tagProps,
103
103
  trigger = _useContext.trigger,
104
- disabledOptions = _useContext.disabledOptions;
104
+ disabledOptions = _useContext.disabledOptions,
105
+ onTagRemove = _useContext.onTagRemove;
105
106
  if (groupBy === valueKey || groupBy === labelKey) {
106
107
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
107
108
  }
@@ -250,7 +251,8 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
250
251
  });
251
252
  setValue(val);
252
253
  handleChange(val, event);
253
- }, [setValue, cloneValue, handleChange]);
254
+ onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(tag, event);
255
+ }, [cloneValue, setValue, handleChange, onTagRemove]);
254
256
  var handleSelect = useCallback(function (value, item, event) {
255
257
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
256
258
  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;
@@ -10,15 +10,17 @@ var TagInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
10
10
  trigger = _props$trigger === void 0 ? 'Enter' : _props$trigger,
11
11
  value = props.value,
12
12
  defaultValue = props.defaultValue,
13
- rest = _objectWithoutPropertiesLoose(props, ["tagProps", "trigger", "value", "defaultValue"]);
13
+ onTagRemove = props.onTagRemove,
14
+ rest = _objectWithoutPropertiesLoose(props, ["tagProps", "trigger", "value", "defaultValue", "onTagRemove"]);
14
15
  var contextValue = useMemo(function () {
15
16
  return {
16
17
  multi: true,
17
18
  disabledOptions: true,
18
19
  trigger: trigger,
19
- tagProps: tagProps
20
+ tagProps: tagProps,
21
+ onTagRemove: onTagRemove
20
22
  };
21
- }, [tagProps, trigger]);
23
+ }, [onTagRemove, tagProps, trigger]);
22
24
  var data = useMemo(function () {
23
25
  return (value || defaultValue || []).map(function (v) {
24
26
  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;
@@ -8,14 +8,16 @@ var TagPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
8
8
  tagProps = _props$tagProps === void 0 ? {} : _props$tagProps,
9
9
  _props$trigger = props.trigger,
10
10
  trigger = _props$trigger === void 0 ? 'Enter' : _props$trigger,
11
- rest = _objectWithoutPropertiesLoose(props, ["tagProps", "trigger"]);
11
+ onTagRemove = props.onTagRemove,
12
+ rest = _objectWithoutPropertiesLoose(props, ["tagProps", "trigger", "onTagRemove"]);
12
13
  var contextValue = useMemo(function () {
13
14
  return {
14
15
  multi: true,
15
16
  trigger: trigger,
16
- tagProps: tagProps
17
+ tagProps: tagProps,
18
+ onTagRemove: onTagRemove
17
19
  };
18
- }, [tagProps, trigger]);
20
+ }, [onTagRemove, tagProps, trigger]);
19
21
  return /*#__PURE__*/React.createElement(InputPickerContext.Provider, {
20
22
  value: contextValue
21
23
  }, /*#__PURE__*/React.createElement(InputPicker, _extends({}, rest, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.41.0",
3
+ "version": "5.43.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -38,7 +38,7 @@
38
38
  "prop-types": "^15.8.1",
39
39
  "react-use-set": "^1.0.0",
40
40
  "react-window": "^1.8.8",
41
- "rsuite-table": "^5.14.0",
41
+ "rsuite-table": "^5.15.0",
42
42
  "schema-typed": "^2.1.3"
43
43
  },
44
44
  "peerDependencies": {