rsuite 5.0.0-beta.5 → 5.0.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 (194) hide show
  1. package/Animation/styles/index.less +16 -16
  2. package/Animation/styles/mixin.less +2 -2
  3. package/Button/styles/index.less +36 -1
  4. package/Button/styles/mixin.less +7 -1
  5. package/CHANGELOG.md +47 -4
  6. package/Calendar/styles/index.less +7 -1
  7. package/Checkbox/styles/index.less +18 -2
  8. package/DatePicker/styles/index.less +6 -2
  9. package/Drawer/styles/index.less +11 -2
  10. package/Drawer/styles/mixin.less +2 -2
  11. package/Dropdown/styles/index.less +4 -0
  12. package/Form/styles/mixin.less +6 -0
  13. package/InputGroup/styles/index.less +4 -0
  14. package/Message/styles/index.less +16 -0
  15. package/Modal/styles/index.less +3 -2
  16. package/Nav/styles/index.less +18 -2
  17. package/Navbar/styles/index.less +68 -34
  18. package/Notification/styles/index.less +9 -3
  19. package/Pagination/styles/index.less +12 -1
  20. package/Pagination/styles/mixin.less +7 -0
  21. package/Picker/styles/index.less +25 -3
  22. package/Picker/styles/mixin.less +7 -2
  23. package/Popover/styles/index.less +23 -30
  24. package/Popover/styles/mixins.less +72 -0
  25. package/README.md +4 -4
  26. package/Radio/styles/index.less +16 -0
  27. package/RadioGroup/styles/index.less +4 -0
  28. package/Rate/styles/index.less +13 -2
  29. package/Ripple/styles/index.less +8 -4
  30. package/Sidenav/styles/index.less +160 -47
  31. package/Table/styles/index.less +8 -0
  32. package/TagInput/package.json +7 -0
  33. package/TagInput/styles/index.less +13 -0
  34. package/Toggle/styles/index.less +29 -19
  35. package/Tooltip/styles/index.less +32 -38
  36. package/Tooltip/styles/mixins.less +72 -0
  37. package/Uploader/styles/index.less +11 -1
  38. package/cjs/@types/common.d.ts +2 -0
  39. package/cjs/Animation/Bounce.js +10 -4
  40. package/cjs/Animation/Collapse.d.ts +1 -48
  41. package/cjs/Animation/Collapse.js +60 -106
  42. package/cjs/Animation/Fade.js +10 -5
  43. package/cjs/Animation/Slide.js +8 -4
  44. package/cjs/Carousel/Carousel.d.ts +7 -0
  45. package/cjs/Carousel/Carousel.js +24 -11
  46. package/cjs/CheckTree/index.js +14 -5
  47. package/cjs/CheckTreePicker/CheckTreePicker.js +9 -5
  48. package/cjs/DatePicker/DatePicker.d.ts +5 -1
  49. package/cjs/DatePicker/DatePicker.js +2 -13
  50. package/cjs/DateRangePicker/Calendar.d.ts +2 -1
  51. package/cjs/DateRangePicker/Calendar.js +4 -3
  52. package/cjs/DateRangePicker/DateRangePicker.d.ts +1 -1
  53. package/cjs/DateRangePicker/DateRangePicker.js +58 -43
  54. package/cjs/DateRangePicker/utils.d.ts +1 -1
  55. package/cjs/DateRangePicker/utils.js +9 -5
  56. package/cjs/Dropdown/Dropdown.js +31 -18
  57. package/cjs/Dropdown/DropdownContext.d.ts +4 -1
  58. package/cjs/Dropdown/DropdownItem.js +31 -4
  59. package/cjs/Dropdown/DropdownState.d.ts +37 -0
  60. package/cjs/Dropdown/DropdownState.js +66 -0
  61. package/cjs/Dropdown/DropdownToggle.js +3 -6
  62. package/cjs/InputNumber/InputNumber.js +11 -10
  63. package/cjs/InputPicker/InputPicker.d.ts +16 -3
  64. package/cjs/InputPicker/InputPicker.js +85 -44
  65. package/cjs/List/ListItem.d.ts +1 -1
  66. package/cjs/Menu/MenuItem.js +1 -1
  67. package/cjs/MultiCascader/MultiCascader.js +4 -3
  68. package/cjs/Nav/NavItem.js +11 -63
  69. package/cjs/Navbar/NavbarItem.d.ts +19 -0
  70. package/cjs/Navbar/NavbarItem.js +93 -0
  71. package/cjs/Pagination/Pagination.js +1 -1
  72. package/cjs/Picker/PickerToggle.js +2 -2
  73. package/cjs/Picker/utils.d.ts +1 -1
  74. package/cjs/Picker/utils.js +26 -22
  75. package/cjs/Progress/ProgressCircle.js +15 -15
  76. package/cjs/SelectPicker/SelectPicker.d.ts +1 -3
  77. package/cjs/Sidenav/SidenavDropdown.js +6 -1
  78. package/cjs/Sidenav/SidenavItem.js +46 -12
  79. package/cjs/Slider/Slider.js +2 -1
  80. package/cjs/TagInput/index.d.ts +13 -0
  81. package/cjs/TagInput/index.js +58 -0
  82. package/cjs/TagPicker/index.d.ts +10 -2
  83. package/cjs/TagPicker/index.js +25 -6
  84. package/cjs/Tree/Tree.d.ts +0 -2
  85. package/cjs/Tree/Tree.js +13 -4
  86. package/cjs/Tree/TreeContext.d.ts +7 -0
  87. package/cjs/Tree/TreeContext.js +13 -0
  88. package/cjs/TreePicker/TreeNode.js +10 -3
  89. package/cjs/TreePicker/TreePicker.js +22 -10
  90. package/cjs/Uploader/UploadFileItem.d.ts +5 -0
  91. package/cjs/Uploader/UploadFileItem.js +4 -3
  92. package/cjs/Uploader/Uploader.d.ts +8 -3
  93. package/cjs/Uploader/Uploader.js +12 -6
  94. package/cjs/index.d.ts +2 -0
  95. package/cjs/index.js +5 -1
  96. package/cjs/utils/ajaxUpload.d.ts +5 -1
  97. package/cjs/utils/ajaxUpload.js +24 -13
  98. package/cjs/utils/constants.d.ts +1 -0
  99. package/cjs/utils/constants.js +1 -0
  100. package/cjs/utils/dateUtils.d.ts +1 -0
  101. package/cjs/utils/dateUtils.js +5 -1
  102. package/cjs/utils/useInternalId.d.ts +4 -0
  103. package/cjs/utils/useInternalId.js +24 -0
  104. package/cjs/utils/useUniqueId.d.ts +1 -1
  105. package/cjs/utils/useUniqueId.js +1 -1
  106. package/dist/rsuite-rtl.css +1614 -221
  107. package/dist/rsuite-rtl.min.css +1 -1
  108. package/dist/rsuite-rtl.min.css.map +1 -1
  109. package/dist/rsuite.css +1618 -221
  110. package/dist/rsuite.js +288 -288
  111. package/dist/rsuite.min.css +1 -1
  112. package/dist/rsuite.min.css.map +1 -1
  113. package/dist/rsuite.min.js +1 -1
  114. package/dist/rsuite.min.js.map +1 -1
  115. package/esm/@types/common.d.ts +2 -0
  116. package/esm/Animation/Bounce.js +8 -4
  117. package/esm/Animation/Collapse.d.ts +1 -48
  118. package/esm/Animation/Collapse.js +59 -104
  119. package/esm/Animation/Fade.js +8 -4
  120. package/esm/Animation/Slide.js +6 -3
  121. package/esm/Carousel/Carousel.d.ts +7 -0
  122. package/esm/Carousel/Carousel.js +25 -12
  123. package/esm/CheckTree/index.js +11 -5
  124. package/esm/CheckTreePicker/CheckTreePicker.js +8 -6
  125. package/esm/DatePicker/DatePicker.d.ts +5 -1
  126. package/esm/DatePicker/DatePicker.js +2 -13
  127. package/esm/DateRangePicker/Calendar.d.ts +2 -1
  128. package/esm/DateRangePicker/Calendar.js +4 -3
  129. package/esm/DateRangePicker/DateRangePicker.d.ts +1 -1
  130. package/esm/DateRangePicker/DateRangePicker.js +27 -12
  131. package/esm/DateRangePicker/utils.d.ts +1 -1
  132. package/esm/DateRangePicker/utils.js +7 -3
  133. package/esm/Dropdown/Dropdown.js +30 -19
  134. package/esm/Dropdown/DropdownContext.d.ts +4 -1
  135. package/esm/Dropdown/DropdownItem.js +30 -6
  136. package/esm/Dropdown/DropdownState.d.ts +37 -0
  137. package/esm/Dropdown/DropdownState.js +55 -0
  138. package/esm/Dropdown/DropdownToggle.js +3 -6
  139. package/esm/InputNumber/InputNumber.js +11 -10
  140. package/esm/InputPicker/InputPicker.d.ts +16 -3
  141. package/esm/InputPicker/InputPicker.js +84 -45
  142. package/esm/List/ListItem.d.ts +1 -1
  143. package/esm/Menu/MenuItem.js +1 -1
  144. package/esm/MultiCascader/MultiCascader.js +4 -3
  145. package/esm/Nav/NavItem.js +12 -61
  146. package/esm/Navbar/NavbarItem.d.ts +19 -0
  147. package/esm/Navbar/NavbarItem.js +73 -0
  148. package/esm/Pagination/Pagination.js +1 -1
  149. package/esm/Picker/PickerToggle.js +2 -2
  150. package/esm/Picker/utils.d.ts +1 -1
  151. package/esm/Picker/utils.js +26 -22
  152. package/esm/Progress/ProgressCircle.js +15 -15
  153. package/esm/SelectPicker/SelectPicker.d.ts +1 -3
  154. package/esm/Sidenav/SidenavDropdown.js +5 -1
  155. package/esm/Sidenav/SidenavItem.js +47 -13
  156. package/esm/Slider/Slider.js +2 -1
  157. package/esm/TagInput/index.d.ts +13 -0
  158. package/esm/TagInput/index.js +44 -0
  159. package/esm/TagPicker/index.d.ts +10 -2
  160. package/esm/TagPicker/index.js +23 -6
  161. package/esm/Tree/Tree.d.ts +0 -2
  162. package/esm/Tree/Tree.js +10 -4
  163. package/esm/Tree/TreeContext.d.ts +7 -0
  164. package/esm/Tree/TreeContext.js +3 -0
  165. package/esm/TreePicker/TreeNode.js +10 -4
  166. package/esm/TreePicker/TreePicker.js +23 -12
  167. package/esm/Uploader/UploadFileItem.d.ts +5 -0
  168. package/esm/Uploader/UploadFileItem.js +2 -3
  169. package/esm/Uploader/Uploader.d.ts +8 -3
  170. package/esm/Uploader/Uploader.js +12 -6
  171. package/esm/index.d.ts +2 -0
  172. package/esm/index.js +1 -0
  173. package/esm/utils/ajaxUpload.d.ts +5 -1
  174. package/esm/utils/ajaxUpload.js +24 -13
  175. package/esm/utils/constants.d.ts +1 -0
  176. package/esm/utils/constants.js +1 -0
  177. package/esm/utils/dateUtils.d.ts +1 -0
  178. package/esm/utils/dateUtils.js +1 -0
  179. package/esm/utils/useInternalId.d.ts +4 -0
  180. package/esm/utils/useInternalId.js +16 -0
  181. package/esm/utils/useUniqueId.d.ts +1 -1
  182. package/esm/utils/useUniqueId.js +1 -1
  183. package/package.json +4 -9
  184. package/styles/color-modes/dark.less +28 -5
  185. package/styles/color-modes/high-contrast.less +317 -0
  186. package/styles/color-modes/light.less +24 -1
  187. package/styles/color-modes.less +5 -0
  188. package/styles/colors/high-contrast.less +105 -0
  189. package/styles/index.less +1 -0
  190. package/styles/mixins/color-modes.less +6 -0
  191. package/styles/mixins/listbox.less +13 -1
  192. package/styles/mixins/menu.less +7 -0
  193. package/styles/mixins/utilities.less +9 -1
  194. package/styles/variables.less +11 -0
@@ -17,8 +17,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
18
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
19
19
 
20
- var _omit = _interopRequireDefault(require("lodash/omit"));
21
-
22
20
  var _Ripple = _interopRequireDefault(require("../Ripple"));
23
21
 
24
22
  var _SafeAnchor = _interopRequireDefault(require("../SafeAnchor"));
@@ -31,27 +29,24 @@ var _NavContext = _interopRequireDefault(require("./NavContext"));
31
29
 
32
30
  var _Navbar = require("../Navbar/Navbar");
33
31
 
34
- var _MenuItem = _interopRequireDefault(require("../Menu/MenuItem"));
35
-
36
32
  var _SidenavItem = _interopRequireDefault(require("../Sidenav/SidenavItem"));
37
33
 
38
- var defaultProps = {
39
- classPrefix: 'nav-item',
40
- as: _SafeAnchor.default
41
- };
34
+ var _NavbarItem = _interopRequireDefault(require("../Navbar/NavbarItem"));
35
+
42
36
  /**
43
37
  * The <Nav.Item> API
44
38
  */
45
-
46
39
  var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
- var Component = props.as,
40
+ var _props$as = props.as,
41
+ Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,
48
42
  activeProp = props.active,
49
43
  disabled = props.disabled,
50
44
  eventKey = props.eventKey,
51
45
  className = props.className,
52
- classPrefix = props.classPrefix,
46
+ _props$classPrefix = props.classPrefix,
47
+ classPrefix = _props$classPrefix === void 0 ? 'nav-item' : _props$classPrefix,
53
48
  style = props.style,
54
- _children = props.children,
49
+ children = props.children,
55
50
  icon = props.icon,
56
51
  divider = props.divider,
57
52
  panel = props.panel,
@@ -87,47 +82,8 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
87
82
  }
88
83
  }, [disabled, emitSelect, onClick]);
89
84
 
90
- if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
91
- return /*#__PURE__*/_react.default.createElement(_SidenavItem.default, props);
92
- } // If <Nav.Item> is inside collapsed <Sidenav>, render an ARIA `menuitem`
93
-
94
-
95
85
  if (sidenav) {
96
- return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
97
- selected: active,
98
- disabled: disabled,
99
- onActivate: emitSelect
100
- }, function (_ref, menuitemRef) {
101
- var selected = _ref.selected,
102
- active = _ref.active,
103
- menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["selected", "active"]);
104
- var classes = merge(className, withClassPrefix({
105
- focus: active,
106
- active: selected,
107
- disabled: disabled
108
- }));
109
-
110
- var item = /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
111
- ref: (0, _utils.mergeRefs)(ref, menuitemRef),
112
- disabled: Component === _SafeAnchor.default ? disabled : undefined,
113
- className: classes,
114
- "data-event-key": eventKey
115
- }, menuitem, (0, _omit.default)(rest, ['divider', 'panel'])), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null)); // Show tooltip when inside a collapse <Sidenav>
116
-
117
-
118
- return sidenav ? (0, _utils.appendTooltip)({
119
- children: function children(triggerProps, triggerRef) {
120
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
121
- ref: (0, _utils.mergeRefs)((0, _utils.mergeRefs)(ref, menuitemRef), triggerRef),
122
- disabled: Component === _SafeAnchor.default ? disabled : undefined,
123
- className: classes,
124
- "data-event-key": eventKey
125
- }, menuitem, (0, _omit.default)(rest, ['divider', 'panel']), triggerProps), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
126
- },
127
- message: _children,
128
- placement: 'right'
129
- }) : item;
130
- });
86
+ return /*#__PURE__*/_react.default.createElement(_SidenavItem.default, props);
131
87
  }
132
88
 
133
89
  if (divider) {
@@ -144,18 +100,11 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
144
100
  ref: ref,
145
101
  style: style,
146
102
  className: merge(className, prefix('panel'))
147
- }, rest), _children);
103
+ }, rest), children);
148
104
  }
149
105
 
150
106
  if (navbar) {
151
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
152
- ref: ref,
153
- "aria-selected": active || undefined
154
- }, rest, {
155
- className: classes,
156
- onClick: handleClick,
157
- style: style
158
- }), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
107
+ return /*#__PURE__*/_react.default.createElement(_NavbarItem.default, props);
159
108
  }
160
109
 
161
110
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
@@ -166,10 +115,9 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
166
115
  onClick: handleClick,
167
116
  style: style,
168
117
  "aria-selected": active || undefined
169
- }), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
118
+ }), icon, children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
170
119
  });
171
120
 
172
- NavItem.defaultProps = defaultProps;
173
121
  NavItem.displayName = 'Nav.Item';
174
122
  NavItem.propTypes = {
175
123
  as: _propTypes.default.elementType,
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { IconProps } from '@rsuite/icons/lib/Icon';
3
+ import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
4
+ export interface NavItemProps<T = string> extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> {
5
+ /** Activation status */
6
+ active?: boolean;
7
+ /** Disabled status */
8
+ disabled?: boolean;
9
+ /** Sets the icon for the component */
10
+ icon?: React.ReactElement<IconProps>;
11
+ /** The value of the current option */
12
+ eventKey?: T;
13
+ /** Providing a `href` will render an `<a>` element */
14
+ href?: string;
15
+ /** Select the callback function that the event triggers. */
16
+ onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
17
+ }
18
+ declare const NavbarItem: RsRefForwardingComponent<'a', NavItemProps>;
19
+ export default NavbarItem;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
19
+
20
+ var _Ripple = _interopRequireDefault(require("../Ripple"));
21
+
22
+ var _SafeAnchor = _interopRequireDefault(require("../SafeAnchor"));
23
+
24
+ var _utils = require("../utils");
25
+
26
+ var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
27
+
28
+ var NavbarItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
29
+ var _props$as = props.as,
30
+ Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,
31
+ activeProp = props.active,
32
+ disabled = props.disabled,
33
+ eventKey = props.eventKey,
34
+ className = props.className,
35
+ _props$classPrefix = props.classPrefix,
36
+ classPrefix = _props$classPrefix === void 0 ? 'navbar-item' : _props$classPrefix,
37
+ style = props.style,
38
+ children = props.children,
39
+ icon = props.icon,
40
+ onClick = props.onClick,
41
+ onSelectProp = props.onSelect,
42
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "disabled", "eventKey", "className", "classPrefix", "style", "children", "icon", "onClick", "onSelect"]);
43
+
44
+ var _useContext = (0, _react.useContext)(_NavContext.default),
45
+ activeKey = _useContext.activeKey,
46
+ onSelectFromNav = _useContext.onSelect;
47
+
48
+ var active = activeProp !== null && activeProp !== void 0 ? activeProp : !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(eventKey, activeKey);
49
+ var emitSelect = (0, _react.useCallback)(function (event) {
50
+ onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event);
51
+ onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);
52
+ }, [eventKey, onSelectProp, onSelectFromNav]);
53
+
54
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
55
+ withClassPrefix = _useClassNames.withClassPrefix,
56
+ merge = _useClassNames.merge;
57
+
58
+ var classes = merge(className, withClassPrefix({
59
+ active: active,
60
+ disabled: disabled
61
+ }));
62
+ var handleClick = (0, _react.useCallback)(function (event) {
63
+ if (!disabled) {
64
+ emitSelect(event);
65
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
66
+ }
67
+ }, [disabled, emitSelect, onClick]);
68
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
69
+ ref: ref,
70
+ "aria-selected": active || undefined
71
+ }, rest, {
72
+ className: classes,
73
+ onClick: handleClick,
74
+ style: style
75
+ }), icon, children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
76
+ });
77
+
78
+ NavbarItem.displayName = 'Navbar.Item';
79
+ NavbarItem.propTypes = {
80
+ as: _propTypes.default.elementType,
81
+ active: _propTypes.default.bool,
82
+ disabled: _propTypes.default.bool,
83
+ className: _propTypes.default.string,
84
+ classPrefix: _propTypes.default.string,
85
+ onClick: _propTypes.default.func,
86
+ style: _propTypes.default.object,
87
+ icon: _propTypes.default.node,
88
+ onSelect: _propTypes.default.func,
89
+ children: _propTypes.default.node,
90
+ eventKey: _propTypes.default.any
91
+ };
92
+ var _default = NavbarItem;
93
+ exports.default = _default;
@@ -45,7 +45,7 @@ var defaultProps = {
45
45
  classPrefix: 'pagination',
46
46
  activePage: 1,
47
47
  pages: 1,
48
- size: 'md'
48
+ size: 'xs'
49
49
  };
50
50
 
51
51
  var Pagination = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
@@ -186,10 +186,10 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
186
186
  ref: (0, _utils.mergeRefs)(inputRef, ref)
187
187
  }, props));
188
188
  }
189
- }), /*#__PURE__*/_react.default.createElement("span", {
189
+ }), children ? /*#__PURE__*/_react.default.createElement("span", {
190
190
  className: prefix(hasValue ? 'value' : 'placeholder'),
191
191
  "aria-placeholder": typeof children === 'string' ? children : null
192
- }, children), cleanable && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {
192
+ }, children) : null, cleanable && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {
193
193
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["clean"]))),
194
194
  tabIndex: -1,
195
195
  onClick: handleClean
@@ -123,5 +123,5 @@ interface Refs {
123
123
  * @param ref
124
124
  * @param params
125
125
  */
126
- export declare function usePublicMethods(ref: any, { triggerRef, overlayRef, targetRef, rootRef }: Refs): void;
126
+ export declare function usePublicMethods(ref: any, { triggerRef, overlayRef, targetRef, rootRef }: Refs, disabled?: boolean): void;
127
127
  export {};
@@ -493,7 +493,7 @@ function useSearch(props) {
493
493
  * @param ref
494
494
  * @param params
495
495
  */
496
- function usePublicMethods(ref, _ref) {
496
+ function usePublicMethods(ref, _ref, disabled) {
497
497
  var triggerRef = _ref.triggerRef,
498
498
  overlayRef = _ref.overlayRef,
499
499
  targetRef = _ref.targetRef,
@@ -513,25 +513,29 @@ function usePublicMethods(ref, _ref) {
513
513
 
514
514
  (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
515
515
  }, [triggerRef]);
516
- (0, _react.useImperativeHandle)(ref, function () {
517
- return {
518
- get root() {
519
- var _triggerRef$current6;
520
-
521
- return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root;
522
- },
523
-
524
- get overlay() {
525
- return overlayRef.current;
526
- },
527
-
528
- get target() {
529
- return targetRef === null || targetRef === void 0 ? void 0 : targetRef.current;
530
- },
531
-
532
- updatePosition: handleUpdatePosition,
533
- open: handleOpen,
534
- close: handleClose
535
- };
536
- });
516
+
517
+ if (!disabled) {
518
+ // eslint-disable-next-line react-hooks/rules-of-hooks
519
+ (0, _react.useImperativeHandle)(ref, function () {
520
+ return {
521
+ get root() {
522
+ var _triggerRef$current6;
523
+
524
+ return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root;
525
+ },
526
+
527
+ get overlay() {
528
+ return overlayRef.current;
529
+ },
530
+
531
+ get target() {
532
+ return targetRef === null || targetRef === void 0 ? void 0 : targetRef.current;
533
+ },
534
+
535
+ updatePosition: handleUpdatePosition,
536
+ open: handleOpen,
537
+ close: handleClose
538
+ };
539
+ });
540
+ }
537
541
  }
@@ -49,35 +49,35 @@ var ProgressCircle = /*#__PURE__*/_react.default.forwardRef(function (props, ref
49
49
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "strokeWidth", "trailWidth", "percent", "strokeLinecap", "className", "showInfo", "status", "classPrefix", "style", "gapDegree", "gapPosition", "trailColor", "strokeColor"]);
50
50
  var getPathStyles = (0, _react.useCallback)(function () {
51
51
  var radius = 50 - strokeWidth / 2;
52
- var beginPositionX = 0;
53
- var beginPositionY = -radius;
54
- var endPositionX = 0;
55
- var endPositionY = -2 * radius;
52
+ var x1 = 0;
53
+ var y1 = -radius;
54
+ var x2 = 0;
55
+ var y2 = -2 * radius;
56
56
 
57
57
  switch (gapPosition) {
58
58
  case 'left':
59
- beginPositionX = -radius;
60
- beginPositionY = 0;
61
- endPositionX = 2 * radius;
62
- endPositionY = 0;
59
+ x1 = -radius;
60
+ y1 = 0;
61
+ x2 = 2 * radius;
62
+ y2 = 0;
63
63
  break;
64
64
 
65
65
  case 'right':
66
- beginPositionX = radius;
67
- beginPositionY = 0;
68
- endPositionX = -2 * radius;
69
- endPositionY = 0;
66
+ x1 = radius;
67
+ y1 = 0;
68
+ x2 = -2 * radius;
69
+ y2 = 0;
70
70
  break;
71
71
 
72
72
  case 'bottom':
73
- beginPositionY = radius;
74
- endPositionY = 2 * radius;
73
+ y1 = radius;
74
+ y2 = 2 * radius;
75
75
  break;
76
76
 
77
77
  default:
78
78
  }
79
79
 
80
- var pathString = "M 50,50 m " + beginPositionX + "," + beginPositionY + "\n a " + radius + "," + radius + " 0 1 1 " + endPositionX + "," + -endPositionY + "\n a " + radius + "," + radius + " 0 1 1 " + -endPositionX + "," + endPositionY;
80
+ var pathString = "M 50,50 m " + x1 + "," + y1 + " a " + radius + "," + radius + " 0 1 1 " + x2 + "," + -y2 + " a " + radius + "," + radius + " 0 1 1 " + -x2 + "," + y2;
81
81
  var len = Math.PI * 2 * radius;
82
82
  var trailPathStyle = {
83
83
  stroke: trailColor,
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { PickerLocale } from '../locales';
3
3
  import { PickerComponent } from '../Picker';
4
- import { TypeAttributes, FormControlPickerProps, ItemDataType } from '../@types/common';
4
+ import { FormControlPickerProps, ItemDataType } from '../@types/common';
5
5
  import { ListProps } from 'react-virtualized/dist/commonjs/List';
6
6
  export declare type ValueType = number | string;
7
7
  export interface SelectProps<T = ValueType> {
@@ -16,8 +16,6 @@ export interface SelectProps<T = ValueType> {
16
16
  * https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types
17
17
  */
18
18
  listProps?: ListProps;
19
- /** A picker can have different sizes */
20
- size?: TypeAttributes.Size;
21
19
  /** Custom search rules. */
22
20
  searchBy?: (keyword: string, label: React.ReactNode, item: ItemDataType) => boolean;
23
21
  /** Sort options */
@@ -33,6 +33,8 @@ var _SidenavDropdownCollapse = _interopRequireDefault(require("./SidenavDropdown
33
33
 
34
34
  var _Disclosure = _interopRequireDefault(require("../Disclosure/Disclosure"));
35
35
 
36
+ var _DropdownContext = _interopRequireDefault(require("../Dropdown/DropdownContext"));
37
+
36
38
  var defaultProps = {
37
39
  as: 'div',
38
40
  classPrefix: 'dropdown',
@@ -66,6 +68,9 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
66
68
  openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
67
69
  onOpenChange = _useContext.onOpenChange;
68
70
 
71
+ var _useContext2 = (0, _react.useContext)(_DropdownContext.default),
72
+ hasSelectedItem = _useContext2.hasSelectedItem;
73
+
69
74
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
70
75
  merge = _useClassNames.merge,
71
76
  withClassPrefix = _useClassNames.withClassPrefix;
@@ -88,7 +93,7 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
88
93
  var _withClassPrefix;
89
94
 
90
95
  var open = _ref.open;
91
- var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = placement, _withClassPrefix[open ? 'expand' : 'collapse'] = true, _withClassPrefix.disabled = disabled, _withClassPrefix['no-caret'] = noCaret, _withClassPrefix)));
96
+ var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = placement, _withClassPrefix[open ? 'expand' : 'collapse'] = true, _withClassPrefix.disabled = disabled, _withClassPrefix['selected-within'] = hasSelectedItem, _withClassPrefix['no-caret'] = noCaret, _withClassPrefix)));
92
97
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
93
98
  ref: (0, _utils.mergeRefs)(ref, containerRef),
94
99
  style: style,
@@ -25,17 +25,21 @@ var _SafeAnchor = _interopRequireDefault(require("../SafeAnchor"));
25
25
 
26
26
  var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
27
27
 
28
- var defaultProps = {
29
- as: 'div',
30
- classPrefix: 'dropdown'
31
- };
28
+ var _MenuItem = _interopRequireDefault(require("../Menu/MenuItem"));
29
+
30
+ var _omit = _interopRequireDefault(require("lodash/omit"));
31
+
32
+ var _Sidenav = require("./Sidenav");
32
33
 
33
34
  var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
34
- var activeProp = props.active,
35
- children = props.children,
35
+ var _props$as = props.as,
36
+ Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,
37
+ activeProp = props.active,
38
+ _children = props.children,
36
39
  className = props.className,
37
40
  disabled = props.disabled,
38
- classPrefix = props.classPrefix,
41
+ _props$classPrefix = props.classPrefix,
42
+ classPrefix = _props$classPrefix === void 0 ? 'sidenav-item' : _props$classPrefix,
39
43
  icon = props.icon,
40
44
  eventKey = props.eventKey,
41
45
  style = props.style,
@@ -43,7 +47,8 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
43
47
  onSelect = props.onSelect,
44
48
  divider = props.divider,
45
49
  panel = props.panel,
46
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["active", "children", "className", "disabled", "classPrefix", "icon", "eventKey", "style", "onClick", "onSelect", "divider", "panel"]);
50
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "className", "disabled", "classPrefix", "icon", "eventKey", "style", "onClick", "onSelect", "divider", "panel"]);
51
+ var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
47
52
 
48
53
  var _useContext = (0, _react.useContext)(_NavContext.default),
49
54
  activeKey = _useContext.activeKey,
@@ -62,6 +67,36 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
62
67
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
63
68
  }, [disabled, onSelect, onSelectFromNav, eventKey, onClick]);
64
69
 
70
+ if (!sidenav.expanded) {
71
+ return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
72
+ selected: selected,
73
+ disabled: disabled,
74
+ onActivate: handleClick
75
+ }, function (_ref, menuitemRef) {
76
+ var selected = _ref.selected,
77
+ active = _ref.active,
78
+ menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["selected", "active"]);
79
+ var classes = merge(className, withClassPrefix({
80
+ focus: active,
81
+ active: selected,
82
+ disabled: disabled
83
+ })); // Show tooltip when inside a collapse <Sidenav>
84
+
85
+ return (0, _utils.appendTooltip)({
86
+ children: function children(triggerProps, triggerRef) {
87
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
88
+ ref: (0, _utils.mergeRefs)((0, _utils.mergeRefs)(ref, menuitemRef), triggerRef),
89
+ disabled: Component === _SafeAnchor.default ? disabled : undefined,
90
+ className: classes,
91
+ "data-event-key": eventKey
92
+ }, (0, _omit.default)(rest, ['divider', 'panel']), triggerProps, menuitem), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
93
+ },
94
+ message: _children,
95
+ placement: 'right'
96
+ });
97
+ });
98
+ }
99
+
65
100
  if (divider) {
66
101
  return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
67
102
  ref: ref,
@@ -77,10 +112,10 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
77
112
  role: "none presentation",
78
113
  style: style,
79
114
  className: merge(className, prefix('panel'))
80
- }, rest), children);
115
+ }, rest), _children);
81
116
  }
82
117
 
83
- return /*#__PURE__*/_react.default.createElement(_SafeAnchor.default, (0, _extends2.default)({
118
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
84
119
  ref: ref,
85
120
  className: merge(className, withClassPrefix({
86
121
  active: selected,
@@ -90,11 +125,10 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
90
125
  style: style,
91
126
  "aria-selected": selected || undefined,
92
127
  "data-event-key": eventKey
93
- }, rest), icon, children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
128
+ }, rest), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
94
129
  });
95
130
 
96
131
  SidenavItem.displayName = 'Sidenav.Item';
97
- SidenavItem.defaultProps = defaultProps;
98
132
  SidenavItem.propTypes = {
99
133
  classPrefix: _propTypes.default.string,
100
134
  disabled: _propTypes.default.bool,
@@ -229,7 +229,8 @@ var Slider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
229
229
 
230
230
  if (plaintext) {
231
231
  return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {
232
- localeKey: "notSelected"
232
+ localeKey: "notSelected",
233
+ ref: ref
233
234
  }, value);
234
235
  }
235
236
 
@@ -0,0 +1,13 @@
1
+ import { InputPickerProps, TriggerType } from '../InputPicker/InputPicker';
2
+ import type { PickerComponent } from '../Picker/types';
3
+ import type { TagProps } from '../Tag';
4
+ export interface TagInputProps extends InputPickerProps {
5
+ /** Tag related props. */
6
+ tagProps?: TagProps;
7
+ /**
8
+ * Set the trigger for creating tags. only valid when creatable
9
+ */
10
+ trigger: TriggerType | TriggerType[];
11
+ }
12
+ declare const TagInput: PickerComponent<TagInputProps>;
13
+ export default TagInput;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _InputPicker = _interopRequireWildcard(require("../InputPicker/InputPicker"));
17
+
18
+ var TagInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
19
+ var tagProps = props.tagProps,
20
+ trigger = props.trigger,
21
+ value = props.value,
22
+ defaultValue = props.defaultValue,
23
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["tagProps", "trigger", "value", "defaultValue"]);
24
+ var contextValue = (0, _react.useMemo)(function () {
25
+ return {
26
+ multi: true,
27
+ disabledOptions: true,
28
+ trigger: trigger,
29
+ tagProps: tagProps
30
+ };
31
+ }, [tagProps, trigger]);
32
+ var data = (0, _react.useMemo)(function () {
33
+ return (value || defaultValue || []).map(function (v) {
34
+ return {
35
+ value: v,
36
+ label: v
37
+ };
38
+ });
39
+ }, [defaultValue, value]);
40
+ return /*#__PURE__*/_react.default.createElement(_InputPicker.InputPickerContext.Provider, {
41
+ value: contextValue
42
+ }, /*#__PURE__*/_react.default.createElement(_InputPicker.default, (0, _extends2.default)({}, rest, {
43
+ value: value,
44
+ defaultValue: defaultValue,
45
+ data: data,
46
+ placement: null,
47
+ creatable: true,
48
+ ref: ref
49
+ })));
50
+ });
51
+
52
+ TagInput.defaultProps = {
53
+ trigger: 'Enter',
54
+ tagProps: {}
55
+ };
56
+ TagInput.displayName = 'TagInput';
57
+ var _default = TagInput;
58
+ exports.default = _default;
@@ -1,5 +1,13 @@
1
- import { InputPickerProps } from '../InputPicker/InputPicker';
1
+ import { InputPickerProps, TriggerType } from '../InputPicker/InputPicker';
2
2
  import type { PickerComponent } from '../Picker/types';
3
- export declare type TagPickerProps = InputPickerProps;
3
+ import type { TagProps } from '../Tag';
4
+ export interface TagPickerProps extends InputPickerProps {
5
+ /** Tag related props. */
6
+ tagProps?: TagProps;
7
+ /**
8
+ * Set the trigger for creating tags. only valid when creatable
9
+ */
10
+ trigger: TriggerType | TriggerType[];
11
+ }
4
12
  declare const TagPicker: PickerComponent<TagPickerProps>;
5
13
  export default TagPicker;