rsuite 5.46.1 → 5.47.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 (161) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/CloseButton/styles/index.less +13 -7
  3. package/Message/styles/mixin.less +8 -0
  4. package/Notification/styles/index.less +8 -0
  5. package/Picker/styles/index.less +0 -9
  6. package/Tag/styles/index.less +2 -5
  7. package/Uploader/styles/index.less +1 -2
  8. package/cjs/Checkbox/Checkbox.d.ts +2 -0
  9. package/cjs/CloseButton/CloseButton.js +3 -5
  10. package/cjs/CustomProvider/CustomProvider.d.ts +3 -3
  11. package/cjs/InputPicker/InputPicker.d.ts +3 -22
  12. package/cjs/InputPicker/InputPicker.js +8 -8
  13. package/cjs/InputPicker/InputPickerContext.d.ts +26 -0
  14. package/cjs/InputPicker/InputPickerContext.js +13 -0
  15. package/cjs/Picker/DropdownMenu.d.ts +1 -0
  16. package/cjs/Picker/DropdownMenu.js +7 -3
  17. package/cjs/Picker/DropdownMenuCheckItem.d.ts +2 -0
  18. package/cjs/Picker/DropdownMenuCheckItem.js +18 -14
  19. package/cjs/Picker/PickerToggle.js +3 -1
  20. package/cjs/RadioTile/RadioTile.d.ts +5 -0
  21. package/cjs/RadioTile/RadioTile.js +5 -0
  22. package/cjs/Tag/Tag.js +7 -1
  23. package/cjs/TagInput/index.d.ts +3 -15
  24. package/cjs/TagInput/index.js +3 -2
  25. package/cjs/TagPicker/index.d.ts +12 -10
  26. package/cjs/TagPicker/index.js +12 -5
  27. package/cjs/Uploader/UploadFileItem.js +19 -5
  28. package/cjs/locales/ar_EG.d.ts +3 -0
  29. package/cjs/locales/ar_EG.js +5 -2
  30. package/cjs/locales/da_DK.d.ts +3 -0
  31. package/cjs/locales/da_DK.js +5 -2
  32. package/cjs/locales/de_DE.d.ts +3 -0
  33. package/cjs/locales/de_DE.js +5 -2
  34. package/cjs/locales/default.d.ts +3 -0
  35. package/cjs/locales/default.js +5 -2
  36. package/cjs/locales/en_US.d.ts +3 -0
  37. package/cjs/locales/en_US.js +5 -2
  38. package/cjs/locales/es_AR.d.ts +3 -0
  39. package/cjs/locales/es_AR.js +5 -2
  40. package/cjs/locales/es_ES.d.ts +3 -0
  41. package/cjs/locales/es_ES.js +5 -2
  42. package/cjs/locales/fa_IR.d.ts +3 -0
  43. package/cjs/locales/fa_IR.js +5 -2
  44. package/cjs/locales/fi_FI.d.ts +3 -0
  45. package/cjs/locales/fi_FI.js +5 -2
  46. package/cjs/locales/fr_FR.d.ts +3 -0
  47. package/cjs/locales/fr_FR.js +5 -2
  48. package/cjs/locales/hu_HU.d.ts +3 -0
  49. package/cjs/locales/hu_HU.js +5 -2
  50. package/cjs/locales/index.d.ts +1 -1
  51. package/cjs/locales/it_IT.d.ts +3 -0
  52. package/cjs/locales/it_IT.js +5 -2
  53. package/cjs/locales/ja_JP.d.ts +3 -0
  54. package/cjs/locales/ja_JP.js +5 -2
  55. package/cjs/locales/kk_KZ.d.ts +3 -0
  56. package/cjs/locales/kk_KZ.js +5 -2
  57. package/cjs/locales/ko_KR.d.ts +3 -0
  58. package/cjs/locales/ko_KR.js +5 -2
  59. package/cjs/locales/ne_NP.d.ts +3 -0
  60. package/cjs/locales/ne_NP.js +5 -2
  61. package/cjs/locales/nl_NL.d.ts +3 -0
  62. package/cjs/locales/nl_NL.js +5 -2
  63. package/cjs/locales/pt_BR.d.ts +3 -0
  64. package/cjs/locales/pt_BR.js +5 -2
  65. package/cjs/locales/ru_RU.d.ts +3 -0
  66. package/cjs/locales/ru_RU.js +6 -3
  67. package/cjs/locales/sv_SE.d.ts +3 -0
  68. package/cjs/locales/sv_SE.js +5 -2
  69. package/cjs/locales/tr_TR.d.ts +3 -0
  70. package/cjs/locales/tr_TR.js +5 -2
  71. package/cjs/locales/zh_CN.d.ts +3 -0
  72. package/cjs/locales/zh_CN.js +5 -2
  73. package/cjs/locales/zh_TW.d.ts +3 -0
  74. package/cjs/locales/zh_TW.js +5 -2
  75. package/dist/rsuite-no-reset-rtl.css +54 -25
  76. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  77. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  78. package/dist/rsuite-no-reset.css +54 -25
  79. package/dist/rsuite-no-reset.min.css +1 -1
  80. package/dist/rsuite-no-reset.min.css.map +1 -1
  81. package/dist/rsuite-rtl.css +54 -25
  82. package/dist/rsuite-rtl.min.css +1 -1
  83. package/dist/rsuite-rtl.min.css.map +1 -1
  84. package/dist/rsuite.css +54 -25
  85. package/dist/rsuite.js +23 -12
  86. package/dist/rsuite.js.map +1 -1
  87. package/dist/rsuite.min.css +1 -1
  88. package/dist/rsuite.min.css.map +1 -1
  89. package/dist/rsuite.min.js +1 -1
  90. package/dist/rsuite.min.js.map +1 -1
  91. package/esm/Checkbox/Checkbox.d.ts +2 -0
  92. package/esm/CloseButton/CloseButton.js +3 -5
  93. package/esm/CustomProvider/CustomProvider.d.ts +3 -3
  94. package/esm/InputPicker/InputPicker.d.ts +3 -22
  95. package/esm/InputPicker/InputPicker.js +6 -5
  96. package/esm/InputPicker/InputPickerContext.d.ts +26 -0
  97. package/esm/InputPicker/InputPickerContext.js +7 -0
  98. package/esm/Picker/DropdownMenu.d.ts +1 -0
  99. package/esm/Picker/DropdownMenu.js +7 -3
  100. package/esm/Picker/DropdownMenuCheckItem.d.ts +2 -0
  101. package/esm/Picker/DropdownMenuCheckItem.js +18 -14
  102. package/esm/Picker/PickerToggle.js +4 -2
  103. package/esm/RadioTile/RadioTile.d.ts +5 -0
  104. package/esm/RadioTile/RadioTile.js +5 -0
  105. package/esm/Tag/Tag.js +8 -2
  106. package/esm/TagInput/index.d.ts +3 -15
  107. package/esm/TagInput/index.js +2 -1
  108. package/esm/TagPicker/index.d.ts +12 -10
  109. package/esm/TagPicker/index.js +11 -4
  110. package/esm/Uploader/UploadFileItem.js +19 -5
  111. package/esm/locales/ar_EG.d.ts +3 -0
  112. package/esm/locales/ar_EG.js +5 -2
  113. package/esm/locales/da_DK.d.ts +3 -0
  114. package/esm/locales/da_DK.js +5 -2
  115. package/esm/locales/de_DE.d.ts +3 -0
  116. package/esm/locales/de_DE.js +5 -2
  117. package/esm/locales/default.d.ts +3 -0
  118. package/esm/locales/default.js +5 -2
  119. package/esm/locales/en_US.d.ts +3 -0
  120. package/esm/locales/en_US.js +5 -2
  121. package/esm/locales/es_AR.d.ts +3 -0
  122. package/esm/locales/es_AR.js +5 -2
  123. package/esm/locales/es_ES.d.ts +3 -0
  124. package/esm/locales/es_ES.js +5 -2
  125. package/esm/locales/fa_IR.d.ts +3 -0
  126. package/esm/locales/fa_IR.js +5 -2
  127. package/esm/locales/fi_FI.d.ts +3 -0
  128. package/esm/locales/fi_FI.js +5 -2
  129. package/esm/locales/fr_FR.d.ts +3 -0
  130. package/esm/locales/fr_FR.js +5 -2
  131. package/esm/locales/hu_HU.d.ts +3 -0
  132. package/esm/locales/hu_HU.js +5 -2
  133. package/esm/locales/index.d.ts +1 -1
  134. package/esm/locales/it_IT.d.ts +3 -0
  135. package/esm/locales/it_IT.js +5 -2
  136. package/esm/locales/ja_JP.d.ts +3 -0
  137. package/esm/locales/ja_JP.js +5 -2
  138. package/esm/locales/kk_KZ.d.ts +3 -0
  139. package/esm/locales/kk_KZ.js +5 -2
  140. package/esm/locales/ko_KR.d.ts +3 -0
  141. package/esm/locales/ko_KR.js +5 -2
  142. package/esm/locales/ne_NP.d.ts +3 -0
  143. package/esm/locales/ne_NP.js +5 -2
  144. package/esm/locales/nl_NL.d.ts +3 -0
  145. package/esm/locales/nl_NL.js +5 -2
  146. package/esm/locales/pt_BR.d.ts +3 -0
  147. package/esm/locales/pt_BR.js +5 -2
  148. package/esm/locales/ru_RU.d.ts +3 -0
  149. package/esm/locales/ru_RU.js +6 -3
  150. package/esm/locales/sv_SE.d.ts +3 -0
  151. package/esm/locales/sv_SE.js +5 -2
  152. package/esm/locales/tr_TR.d.ts +3 -0
  153. package/esm/locales/tr_TR.js +5 -2
  154. package/esm/locales/zh_CN.d.ts +3 -0
  155. package/esm/locales/zh_CN.js +5 -2
  156. package/esm/locales/zh_TW.d.ts +3 -0
  157. package/esm/locales/zh_TW.js +5 -2
  158. package/package.json +1 -1
  159. package/styles/color-modes/dark.less +3 -1
  160. package/styles/color-modes/high-contrast.less +3 -1
  161. package/styles/color-modes/light.less +3 -1
@@ -36,6 +36,8 @@ export interface CheckboxProps<V = ValueType> extends WithAsProps {
36
36
  onClick?: (event: React.SyntheticEvent) => void;
37
37
  /** Called when the checkbox is clicked. */
38
38
  onCheckboxClick?: (event: React.SyntheticEvent) => void;
39
+ /** Called when the user presses down a key. */
40
+ onKeyDown?: (event: React.KeyboardEvent) => void;
39
41
  }
40
42
  declare const Checkbox: RsRefForwardingComponent<'div', CheckboxProps>;
41
43
  export default Checkbox;
@@ -9,7 +9,7 @@ import { useClassNames, useCustom } from '../utils';
9
9
  */
10
10
  var CloseButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
11
  var _props$as = props.as,
12
- Component = _props$as === void 0 ? 'span' : _props$as,
12
+ Component = _props$as === void 0 ? 'button' : _props$as,
13
13
  _props$classPrefix = props.classPrefix,
14
14
  classPrefix = _props$classPrefix === void 0 ? 'btn-close' : _props$classPrefix,
15
15
  className = props.className,
@@ -22,13 +22,11 @@ var CloseButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
22
22
  locale = _useCustom.locale;
23
23
  var classes = merge(className, withClassPrefix());
24
24
  return /*#__PURE__*/React.createElement(Component, _extends({
25
- role: "button"
26
- }, rest, {
25
+ type: "button",
27
26
  ref: ref,
28
27
  className: classes,
29
- title: locale === null || locale === void 0 ? void 0 : locale.closeLabel,
30
28
  "aria-label": locale === null || locale === void 0 ? void 0 : locale.closeLabel
31
- }), /*#__PURE__*/React.createElement(Close, null));
29
+ }, rest), /*#__PURE__*/React.createElement(Close, null));
32
30
  });
33
31
  CloseButton.displayName = 'CloseButton';
34
32
  export default CloseButton;
@@ -55,6 +55,8 @@ declare const CustomContext: React.Context<CustomProviderProps<{
55
55
  common?: {
56
56
  loading: string;
57
57
  emptyMessage: string;
58
+ remove: string;
59
+ clear: string;
58
60
  } | undefined;
59
61
  Plaintext?: {
60
62
  unfilled: string;
@@ -134,9 +136,6 @@ declare const CustomContext: React.Context<CustomProviderProps<{
134
136
  } | undefined;
135
137
  InputPicker?: {
136
138
  newItem: string;
137
- /**
138
- * A Map of toast containers
139
- */
140
139
  createOption: string;
141
140
  } | undefined;
142
141
  Uploader?: {
@@ -146,6 +145,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
146
145
  complete: string;
147
146
  emptyFile: string;
148
147
  upload: string;
148
+ removeFile: string;
149
149
  } | undefined;
150
150
  CloseButton?: {
151
151
  closeLabel: string;
@@ -1,27 +1,8 @@
1
1
  import React from 'react';
2
- import { InputPickerLocale } from '../locales';
3
2
  import { PickerComponent, PickerToggleProps } from '../Picker';
4
- import { TagProps } from '../Tag';
5
- import { ItemDataType, FormControlPickerProps } from '../@types/common';
6
- import { SelectProps } from '../SelectPicker';
7
- export declare type TriggerType = 'Enter' | 'Space' | 'Comma';
8
- export interface InputPickerContextProps {
9
- /** Multiple selections are allowed */
10
- multi?: boolean;
11
- /** Tag related props. */
12
- tagProps: TagProps;
13
- /**
14
- * Set the trigger for creating tags. only valid when creatable
15
- */
16
- trigger: TriggerType | TriggerType[];
17
- /**
18
- * No overlay provides options
19
- */
20
- disabledOptions?: boolean;
21
- /** Callback fired when a tag is removed. */
22
- onTagRemove?: (tag: string, event: React.MouseEvent) => void;
23
- }
24
- export declare const InputPickerContext: React.Context<InputPickerContextProps>;
3
+ import type { ItemDataType, FormControlPickerProps } from '../@types/common';
4
+ import type { InputPickerLocale } from '../locales';
5
+ import type { SelectProps } from '../SelectPicker';
25
6
  interface InputItemDataType extends ItemDataType {
26
7
  create?: boolean;
27
8
  }
@@ -23,10 +23,7 @@ import { DropdownMenu, DropdownMenuItem, DropdownMenuCheckItem, PickerToggle, Pi
23
23
  import Tag from '../Tag';
24
24
  import InputAutosize from './InputAutosize';
25
25
  import InputSearch from './InputSearch';
26
- export var InputPickerContext = /*#__PURE__*/React.createContext({
27
- tagProps: {},
28
- trigger: 'Enter'
29
- });
26
+ import InputPickerContext from './InputPickerContext';
30
27
  var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
28
  var _merge;
32
29
  var _props$as = props.as,
@@ -102,7 +99,8 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
102
99
  tagProps = _useContext.tagProps,
103
100
  trigger = _useContext.trigger,
104
101
  disabledOptions = _useContext.disabledOptions,
105
- onTagRemove = _useContext.onTagRemove;
102
+ onTagRemove = _useContext.onTagRemove,
103
+ renderMenuItemCheckbox = _useContext.renderMenuItemCheckbox;
106
104
  if (groupBy === valueKey || groupBy === labelKey) {
107
105
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
108
106
  }
@@ -557,6 +555,9 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
557
555
  classPrefix: menuClassPrefix,
558
556
  dropdownMenuItemClassPrefix: multi ? undefined : menuClassPrefix + "-item",
559
557
  dropdownMenuItemAs: multi ? DropdownMenuCheckItem : DropdownMenuItem,
558
+ dropdownMenuItemProps: {
559
+ renderMenuItemCheckbox: renderMenuItemCheckbox
560
+ },
560
561
  activeItemValues: multi ? value : [value],
561
562
  focusItemValue: focusItemValue,
562
563
  maxHeight: menuMaxHeight,
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import type { TagProps } from '../Tag';
3
+ import type { CheckboxProps } from '../Checkbox';
4
+ export declare type TriggerType = 'Enter' | 'Space' | 'Comma';
5
+ export interface TagOnlyProps {
6
+ /** Tag related props. */
7
+ tagProps: TagProps;
8
+ /**
9
+ * Set the trigger for creating tags. only valid when creatable
10
+ */
11
+ trigger: TriggerType | TriggerType[];
12
+ /** Callback fired when a tag is removed. */
13
+ onTagRemove?: (tag: string, event: React.MouseEvent) => void;
14
+ }
15
+ export interface InputPickerContextProps extends TagOnlyProps {
16
+ /** Multiple selections are allowed */
17
+ multi?: boolean;
18
+ /**
19
+ * No overlay provides options
20
+ */
21
+ disabledOptions?: boolean;
22
+ /** Custom render checkbox on menu item */
23
+ renderMenuItemCheckbox?: (checkboxProps: CheckboxProps) => React.ReactNode;
24
+ }
25
+ declare const InputPickerContext: React.Context<InputPickerContextProps>;
26
+ export default InputPickerContext;
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ var InputPickerContext = /*#__PURE__*/React.createContext({
4
+ tagProps: {},
5
+ trigger: 'Enter'
6
+ });
7
+ export default InputPickerContext;
@@ -17,6 +17,7 @@ export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit
17
17
  style?: React.CSSProperties;
18
18
  dropdownMenuItemAs: React.ElementType | string;
19
19
  dropdownMenuItemClassPrefix?: string;
20
+ dropdownMenuItemProps?: any;
20
21
  rowHeight?: number;
21
22
  rowGroupHeight?: number;
22
23
  virtualized?: boolean;
@@ -9,6 +9,7 @@ import isUndefined from 'lodash/isUndefined';
9
9
  import isString from 'lodash/isString';
10
10
  import isNumber from 'lodash/isNumber';
11
11
  import findIndex from 'lodash/findIndex';
12
+ import pickBy from 'lodash/pickBy';
12
13
  import getPosition from 'dom-lib/getPosition';
13
14
  import scrollTop from 'dom-lib/scrollTop';
14
15
  import getHeight from 'dom-lib/getHeight';
@@ -43,6 +44,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
43
44
  focusItemValue = props.focusItemValue,
44
45
  dropdownMenuItemClassPrefix = props.dropdownMenuItemClassPrefix,
45
46
  DropdownMenuItem = props.dropdownMenuItemAs,
47
+ dropdownMenuItemProps = props.dropdownMenuItemProps,
46
48
  _props$rowHeight = props.rowHeight,
47
49
  rowHeight = _props$rowHeight === void 0 ? 36 : _props$rowHeight,
48
50
  _props$rowGroupHeight = props.rowGroupHeight,
@@ -51,7 +53,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
51
53
  renderMenuItem = props.renderMenuItem,
52
54
  onGroupTitleClick = props.onGroupTitleClick,
53
55
  onSelect = props.onSelect,
54
- rest = _objectWithoutPropertiesLoose(props, ["data", "group", "groupBy", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "listRef", "className", "style", "focusItemValue", "dropdownMenuItemClassPrefix", "dropdownMenuItemAs", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
56
+ rest = _objectWithoutPropertiesLoose(props, ["data", "group", "groupBy", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "listRef", "className", "style", "focusItemValue", "dropdownMenuItemClassPrefix", "dropdownMenuItemAs", "dropdownMenuItemProps", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
55
57
  var _useClassNames = useClassNames(classPrefix),
56
58
  withClassPrefix = _useClassNames.withClassPrefix,
57
59
  prefix = _useClassNames.prefix,
@@ -149,7 +151,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
149
151
  return shallowEqual(v, value);
150
152
  });
151
153
  var focus = !isUndefined(focusItemValue) && shallowEqual(focusItemValue, value);
152
- return /*#__PURE__*/React.createElement(DropdownMenuItem, {
154
+ return /*#__PURE__*/React.createElement(DropdownMenuItem, _extends({
153
155
  style: style,
154
156
  key: itemKey,
155
157
  disabled: disabled,
@@ -158,7 +160,9 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
158
160
  value: value,
159
161
  classPrefix: dropdownMenuItemClassPrefix,
160
162
  onSelect: handleSelect.bind(null, item)
161
- }, renderMenuItem ? renderMenuItem(label, item) : label);
163
+ }, pickBy(dropdownMenuItemProps, function (v) {
164
+ return v !== undefined;
165
+ })), renderMenuItem ? renderMenuItem(label, item) : label);
162
166
  };
163
167
  var filteredItems = group ? data.filter(function (item) {
164
168
  var _item$parent;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { CheckboxProps } from '../Checkbox';
2
3
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
4
  export interface DropdownMenuCheckItemProps extends WithAsProps {
4
5
  active?: boolean;
@@ -16,6 +17,7 @@ export interface DropdownMenuCheckItemProps extends WithAsProps {
16
17
  onCheck?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
17
18
  onSelectItem?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
18
19
  onKeyDown?: (event: React.KeyboardEvent) => void;
20
+ renderMenuItemCheckbox?: (checkboxProps: CheckboxProps) => React.ReactNode;
19
21
  }
20
22
  declare const DropdownMenuCheckItem: RsRefForwardingComponent<'div', DropdownMenuCheckItemProps>;
21
23
  export default DropdownMenuCheckItem;
@@ -26,7 +26,8 @@ var DropdownMenuCheckItem = /*#__PURE__*/React.forwardRef(function (props, ref)
26
26
  onSelect = props.onSelect,
27
27
  onCheck = props.onCheck,
28
28
  onSelectItem = props.onSelectItem,
29
- rest = _objectWithoutPropertiesLoose(props, ["active", "as", "checkboxAs", "classPrefix", "checkable", "disabled", "value", "focus", "children", "className", "indeterminate", "onKeyDown", "onSelect", "onCheck", "onSelectItem"]);
29
+ renderMenuItemCheckbox = props.renderMenuItemCheckbox,
30
+ rest = _objectWithoutPropertiesLoose(props, ["active", "as", "checkboxAs", "classPrefix", "checkable", "disabled", "value", "focus", "children", "className", "indeterminate", "onKeyDown", "onSelect", "onCheck", "onSelectItem", "renderMenuItemCheckbox"]);
30
31
  var handleChange = useCallback(function (value, checked, event) {
31
32
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, event, checked);
32
33
  }, [onSelect]);
@@ -45,6 +46,19 @@ var DropdownMenuCheckItem = /*#__PURE__*/React.forwardRef(function (props, ref)
45
46
  var checkboxItemClasses = withClassPrefix({
46
47
  focus: focus
47
48
  });
49
+ var checkboxProps = {
50
+ value: value,
51
+ disabled: disabled,
52
+ indeterminate: indeterminate,
53
+ checkable: checkable,
54
+ children: children,
55
+ checked: active,
56
+ className: checkboxItemClasses,
57
+ onKeyDown: disabled ? undefined : onKeyDown,
58
+ onChange: handleChange,
59
+ onClick: handleSelectItem,
60
+ onCheckboxClick: handleCheck
61
+ };
48
62
  return /*#__PURE__*/React.createElement(Component, _extends({
49
63
  role: "option",
50
64
  "aria-selected": active,
@@ -54,19 +68,9 @@ var DropdownMenuCheckItem = /*#__PURE__*/React.forwardRef(function (props, ref)
54
68
  ref: ref,
55
69
  className: className,
56
70
  tabIndex: -1
57
- }), /*#__PURE__*/React.createElement(CheckboxItem, {
58
- value: value,
59
- role: "checkbox",
60
- disabled: disabled,
61
- checked: active,
62
- checkable: checkable,
63
- indeterminate: indeterminate,
64
- className: checkboxItemClasses,
65
- onKeyDown: disabled ? null : onKeyDown,
66
- onChange: handleChange,
67
- onClick: handleSelectItem,
68
- onCheckboxClick: handleCheck
69
- }, children));
71
+ }), renderMenuItemCheckbox ? renderMenuItemCheckbox(checkboxProps) : /*#__PURE__*/React.createElement(CheckboxItem, _extends({
72
+ role: "checkbox"
73
+ }, checkboxProps)));
70
74
  });
71
75
  DropdownMenuCheckItem.displayName = 'DropdownMenuCheckItem';
72
76
  DropdownMenuCheckItem.propTypes = {
@@ -8,7 +8,7 @@ import PropTypes from 'prop-types';
8
8
  import debounce from 'lodash/debounce';
9
9
  import ToggleButton from './ToggleButton';
10
10
  import CloseButton from '../CloseButton';
11
- import { useClassNames, KEY_VALUES, mergeRefs } from '../utils';
11
+ import { useClassNames, useCustom, KEY_VALUES, mergeRefs } from '../utils';
12
12
  import Plaintext from '../Plaintext';
13
13
  import useToggleCaret from '../utils/useToggleCaret';
14
14
  import TextMask from '../MaskedInput/TextMask';
@@ -58,6 +58,8 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
58
58
  label = props.label,
59
59
  name = props.name,
60
60
  rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "loading", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBackspace", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label", "name"]);
61
+ var _useCustom = useCustom(),
62
+ locale = _useCustom.locale;
61
63
  var inputRef = useRef(null);
62
64
  var comboboxRef = useRef(null);
63
65
  var _useState = useState(false),
@@ -218,7 +220,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
218
220
  className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["clean"]))),
219
221
  tabIndex: -1,
220
222
  locale: {
221
- closeLabel: 'Clear'
223
+ closeLabel: locale === null || locale === void 0 ? void 0 : locale.clear
222
224
  },
223
225
  onClick: handleClean
224
226
  }), caret && !showCleanButton && /*#__PURE__*/React.createElement(Caret, {
@@ -21,5 +21,10 @@ export interface RadioTileProps<T = ValueType> extends WithAsProps, Omit<React.H
21
21
  /** Callback function with value changed */
22
22
  onChange?: (value?: T, event?: React.ChangeEvent<HTMLInputElement>) => void;
23
23
  }
24
+ /**
25
+ * A series of selectable tile components that behave like Radio.
26
+ * @version 5.35.0
27
+ * @see https://rsuitejs.com/components/radio-tile/
28
+ */
24
29
  declare const RadioTile: React.ForwardRefExoticComponent<RadioTileProps<ValueType> & React.RefAttributes<unknown>>;
25
30
  export default RadioTile;
@@ -8,6 +8,11 @@ import Stack from '../Stack';
8
8
  import { RadioTileContext } from '../RadioTileGroup/RadioTileGroup';
9
9
  import { useClassNames, useControlled, partitionHTMLProps } from '../utils';
10
10
  import useUniqueId from '../utils/useUniqueId';
11
+ /**
12
+ * A series of selectable tile components that behave like Radio.
13
+ * @version 5.35.0
14
+ * @see https://rsuitejs.com/components/radio-tile/
15
+ */
11
16
  var RadioTile = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
17
  var _useContext = useContext(RadioTileContext),
13
18
  groupValue = _useContext.value,
package/esm/Tag/Tag.js CHANGED
@@ -5,7 +5,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
5
5
  var _templateObject, _templateObject2;
6
6
  import React from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import { useClassNames } from '../utils';
8
+ import { useClassNames, useCustom } from '../utils';
9
9
  import CloseButton from '../CloseButton';
10
10
  var Tag = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
11
  var _props$as = props.as,
@@ -28,6 +28,8 @@ var Tag = /*#__PURE__*/React.forwardRef(function (props, ref) {
28
28
  var classes = merge(className, withClassPrefix(size, color, {
29
29
  closable: closable
30
30
  }));
31
+ var _useCustom = useCustom(),
32
+ locale = _useCustom.locale;
31
33
  return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
32
34
  ref: ref,
33
35
  className: classes
@@ -35,7 +37,11 @@ var Tag = /*#__PURE__*/React.forwardRef(function (props, ref) {
35
37
  className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["text"])))
36
38
  }, children), closable && /*#__PURE__*/React.createElement(CloseButton, {
37
39
  className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["icon-close"]))),
38
- onClick: onClose
40
+ onClick: onClose,
41
+ tabIndex: -1,
42
+ locale: {
43
+ closeLabel: locale === null || locale === void 0 ? void 0 : locale.remove
44
+ }
39
45
  }));
40
46
  });
41
47
  Tag.displayName = 'Tag';
@@ -1,18 +1,6 @@
1
- import React from 'react';
2
- import { InputPickerProps, TriggerType } from '../InputPicker/InputPicker';
1
+ import { InputPickerProps } from '../InputPicker/InputPicker';
2
+ import { TagOnlyProps } from '../InputPicker/InputPickerContext';
3
3
  import type { PickerComponent } from '../Picker/types';
4
- import type { TagProps } from '../Tag';
5
- export interface TagInputProps extends Omit<InputPickerProps<readonly string[]>, 'data'> {
6
- /** Tag related props. */
7
- tagProps?: TagProps;
8
- /**
9
- * Set the trigger for creating tags. only valid when creatable
10
- *
11
- * @todo Declare as readonly array
12
- */
13
- trigger?: TriggerType | TriggerType[];
14
- /** Callback fired when a tag is removed. */
15
- onTagRemove?: (tag: string, event: React.MouseEvent) => void;
16
- }
4
+ export declare type TagInputProps = Omit<InputPickerProps<readonly string[]>, 'data'> & Partial<TagOnlyProps>;
17
5
  declare const TagInput: PickerComponent<TagInputProps>;
18
6
  export default TagInput;
@@ -2,7 +2,8 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import React, { useMemo } from 'react';
5
- import InputPicker, { InputPickerContext } from '../InputPicker/InputPicker';
5
+ import InputPicker from '../InputPicker/InputPicker';
6
+ import InputPickerContext from '../InputPicker/InputPickerContext';
6
7
  var TagInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
7
8
  var _props$tagProps = props.tagProps,
8
9
  tagProps = _props$tagProps === void 0 ? {} : _props$tagProps,
@@ -1,16 +1,18 @@
1
1
  import React from 'react';
2
- import { InputPickerProps, TriggerType } from '../InputPicker/InputPicker';
2
+ import { InputPickerProps } from '../InputPicker/InputPicker';
3
+ import { TagOnlyProps } from '../InputPicker/InputPickerContext';
3
4
  import type { PickerComponent } from '../Picker/types';
4
- import type { TagProps } from '../Tag';
5
- export interface TagPickerProps extends InputPickerProps {
6
- /** Tag related props. */
7
- tagProps?: TagProps;
5
+ import type { CheckboxProps } from '../Checkbox';
6
+ export interface TagPickerProps extends InputPickerProps, Partial<TagOnlyProps> {
8
7
  /**
9
- * Set the trigger for creating tags. only valid when creatable
10
- */
11
- trigger?: TriggerType | TriggerType[];
12
- /** Callback fired when a tag is removed. */
13
- onTagRemove?: (tag: string, event: React.MouseEvent) => void;
8
+ * Custom render checkbox on menu item
9
+ * @version 5.47.0
10
+ **/
11
+ renderMenuItemCheckbox?: (checkboxProps: CheckboxProps) => React.ReactNode;
14
12
  }
13
+ /**
14
+ * Multi-select by tag and support new options
15
+ * @see https://rsuitejs.com/components/tag-picker/
16
+ */
15
17
  declare const TagPicker: PickerComponent<TagPickerProps>;
16
18
  export default TagPicker;
@@ -2,22 +2,29 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import React, { useMemo } from 'react';
5
- import InputPicker, { InputPickerContext } from '../InputPicker/InputPicker';
5
+ import InputPicker from '../InputPicker/InputPicker';
6
+ import InputPickerContext from '../InputPicker/InputPickerContext';
7
+ /**
8
+ * Multi-select by tag and support new options
9
+ * @see https://rsuitejs.com/components/tag-picker/
10
+ */
6
11
  var TagPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
7
12
  var _props$tagProps = props.tagProps,
8
13
  tagProps = _props$tagProps === void 0 ? {} : _props$tagProps,
9
14
  _props$trigger = props.trigger,
10
15
  trigger = _props$trigger === void 0 ? 'Enter' : _props$trigger,
11
16
  onTagRemove = props.onTagRemove,
12
- rest = _objectWithoutPropertiesLoose(props, ["tagProps", "trigger", "onTagRemove"]);
17
+ renderMenuItemCheckbox = props.renderMenuItemCheckbox,
18
+ rest = _objectWithoutPropertiesLoose(props, ["tagProps", "trigger", "onTagRemove", "renderMenuItemCheckbox"]);
13
19
  var contextValue = useMemo(function () {
14
20
  return {
15
21
  multi: true,
16
22
  trigger: trigger,
17
23
  tagProps: tagProps,
18
- onTagRemove: onTagRemove
24
+ onTagRemove: onTagRemove,
25
+ renderMenuItemCheckbox: renderMenuItemCheckbox
19
26
  };
20
- }, [onTagRemove, tagProps, trigger]);
27
+ }, [onTagRemove, renderMenuItemCheckbox, tagProps, trigger]);
21
28
  return /*#__PURE__*/React.createElement(InputPickerContext.Provider, {
22
29
  value: contextValue
23
30
  }, /*#__PURE__*/React.createElement(InputPicker, _extends({}, rest, {
@@ -132,7 +132,8 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
132
132
  role: "presentation",
133
133
  src: previewImage,
134
134
  alt: file.name,
135
- onClick: handlePreview
135
+ onClick: handlePreview,
136
+ "aria-label": "Preview: " + file.name
136
137
  }) : /*#__PURE__*/React.createElement(Attachment, {
137
138
  className: prefix('icon')
138
139
  });
@@ -153,7 +154,8 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
153
154
  return /*#__PURE__*/React.createElement("div", {
154
155
  className: classes
155
156
  }, /*#__PURE__*/React.createElement("i", {
156
- className: prefix('icon')
157
+ className: prefix('icon'),
158
+ "aria-label": "Uploading"
157
159
  }));
158
160
  }
159
161
  if (listType === 'picture' || listType === 'picture-text') {
@@ -173,9 +175,18 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
173
175
  if (!removable) {
174
176
  return null;
175
177
  }
178
+ var closeLabel = 'Remove file';
179
+ if (locale !== null && locale !== void 0 && locale.removeFile) {
180
+ closeLabel = (locale === null || locale === void 0 ? void 0 : locale.removeFile) + (file !== null && file !== void 0 && file.name ? ": " + (file === null || file === void 0 ? void 0 : file.name) : '');
181
+ }
176
182
  return /*#__PURE__*/React.createElement(CloseButton, {
177
183
  className: prefix('btn-remove'),
178
- onClick: handleRemove
184
+ onClick: handleRemove,
185
+ tabIndex: -1,
186
+ locale: {
187
+ closeLabel: closeLabel
188
+ },
189
+ "aria-hidden": disabled
179
190
  });
180
191
  };
181
192
 
@@ -189,7 +200,8 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
189
200
  }, /*#__PURE__*/React.createElement("span", null, locale === null || locale === void 0 ? void 0 : locale.error), allowReupload && /*#__PURE__*/React.createElement("a", {
190
201
  role: "button",
191
202
  tabIndex: -1,
192
- onClick: handleReupload
203
+ onClick: handleReupload,
204
+ "aria-label": "Retry"
193
205
  }, /*#__PURE__*/React.createElement(Reload, {
194
206
  className: prefix('icon-reupload')
195
207
  })));
@@ -216,7 +228,9 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
216
228
  var renderFilePanel = function renderFilePanel() {
217
229
  var fileElement = /*#__PURE__*/React.createElement("div", {
218
230
  className: prefix('title'),
219
- onClick: handlePreview
231
+ tabIndex: -1,
232
+ onClick: handlePreview,
233
+ "aria-label": "Preview: " + file.name
220
234
  }, file.name);
221
235
  return /*#__PURE__*/React.createElement("div", {
222
236
  className: prefix('panel')
@@ -2,6 +2,8 @@ declare const _default: {
2
2
  common: {
3
3
  loading: string;
4
4
  emptyMessage: string;
5
+ remove: string;
6
+ clear: string;
5
7
  };
6
8
  Plaintext: {
7
9
  unfilled: string;
@@ -90,6 +92,7 @@ declare const _default: {
90
92
  complete: string;
91
93
  emptyFile: string;
92
94
  upload: string;
95
+ removeFile: string;
93
96
  };
94
97
  CloseButton: {
95
98
  closeLabel: string;
@@ -22,7 +22,9 @@ var Calendar = {
22
22
  export default {
23
23
  common: {
24
24
  loading: 'جاري التحميل...',
25
- emptyMessage: 'لا يوجد المزيد من البيانات'
25
+ emptyMessage: 'لا يوجد المزيد من البيانات',
26
+ remove: 'حذف',
27
+ clear: 'يزيل'
26
28
  },
27
29
  Plaintext: {
28
30
  unfilled: 'شاغرة',
@@ -60,7 +62,8 @@ export default {
60
62
  error: 'خطأ',
61
63
  complete: 'تم الإنتهاء',
62
64
  emptyFile: 'فارغ',
63
- upload: 'رفع'
65
+ upload: 'رفع',
66
+ removeFile: 'حذف الملف'
64
67
  },
65
68
  CloseButton: {
66
69
  closeLabel: 'اغلق'
@@ -2,6 +2,8 @@ declare const _default: {
2
2
  common: {
3
3
  loading: string;
4
4
  emptyMessage: string;
5
+ remove: string;
6
+ clear: string;
5
7
  };
6
8
  Plaintext: {
7
9
  unfilled: string;
@@ -102,6 +104,7 @@ declare const _default: {
102
104
  complete: string;
103
105
  emptyFile: string;
104
106
  upload: string;
107
+ removeFile: string;
105
108
  };
106
109
  CloseButton: {
107
110
  closeLabel: string;
@@ -26,7 +26,9 @@ var Calendar = {
26
26
  export default {
27
27
  common: {
28
28
  loading: 'Indlæser...',
29
- emptyMessage: 'Ingen data fundet'
29
+ emptyMessage: 'Ingen data fundet',
30
+ remove: 'Fjerne',
31
+ clear: 'Ryd'
30
32
  },
31
33
  Plaintext: {
32
34
  unfilled: 'ubesatte',
@@ -64,7 +66,8 @@ export default {
64
66
  error: 'Fejl',
65
67
  complete: 'Færdig',
66
68
  emptyFile: 'Tom',
67
- upload: 'Upload'
69
+ upload: 'Upload',
70
+ removeFile: 'Fjern fil'
68
71
  },
69
72
  CloseButton: {
70
73
  closeLabel: 'lukke ned'
@@ -2,6 +2,8 @@ declare const _default: {
2
2
  common: {
3
3
  loading: string;
4
4
  emptyMessage: string;
5
+ remove: string;
6
+ clear: string;
5
7
  };
6
8
  Plaintext: {
7
9
  unfilled: string;
@@ -102,6 +104,7 @@ declare const _default: {
102
104
  complete: string;
103
105
  emptyFile: string;
104
106
  upload: string;
107
+ removeFile: string;
105
108
  };
106
109
  CloseButton: {
107
110
  closeLabel: string;
@@ -26,7 +26,9 @@ var Calendar = {
26
26
  export default {
27
27
  common: {
28
28
  loading: 'am laden...',
29
- emptyMessage: 'Keine Daten gefunden'
29
+ emptyMessage: 'Keine Daten gefunden',
30
+ remove: 'Entfernen',
31
+ clear: 'Entfernen'
30
32
  },
31
33
  Plaintext: {
32
34
  unfilled: 'Unausgefüllt',
@@ -64,7 +66,8 @@ export default {
64
66
  error: 'Fehler',
65
67
  complete: 'Beendet',
66
68
  emptyFile: 'Leer',
67
- upload: 'Hochladen'
69
+ upload: 'Hochladen',
70
+ removeFile: 'Dateien löschen'
68
71
  },
69
72
  CloseButton: {
70
73
  closeLabel: 'Schließen'