rsuite 5.12.0 → 5.14.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 (264) hide show
  1. package/Button/styles/index.less +1 -0
  2. package/CHANGELOG.md +49 -0
  3. package/Dropdown/styles/index.less +8 -3
  4. package/Grid/styles/index.less +42 -10
  5. package/Nav/styles/index.less +7 -1
  6. package/Navbar/styles/index.less +6 -1
  7. package/Sidenav/styles/index.less +52 -16
  8. package/Table/styles/index.less +0 -2
  9. package/Tooltip/styles/index.less +4 -4
  10. package/cjs/@types/common.d.ts +6 -0
  11. package/cjs/Cascader/DropdownMenu.js +8 -3
  12. package/cjs/Cascader/utils.d.ts +1 -1
  13. package/cjs/Col/Col.d.ts +25 -5
  14. package/cjs/Col/Col.js +9 -1
  15. package/cjs/CustomProvider/CustomProvider.d.ts +20 -7
  16. package/cjs/CustomProvider/CustomProvider.js +24 -3
  17. package/cjs/Disclosure/Disclosure.d.ts +1 -1
  18. package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
  19. package/cjs/Dropdown/Dropdown.js +26 -110
  20. package/cjs/Dropdown/DropdownItem.js +14 -58
  21. package/cjs/Dropdown/DropdownMenu.js +32 -76
  22. package/cjs/Dropdown/DropdownToggle.js +4 -17
  23. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  24. package/cjs/Form/Form.d.ts +8 -8
  25. package/cjs/Form/test/Form.test.d.ts +1 -0
  26. package/cjs/Form/test/Form.test.js +18 -0
  27. package/cjs/Menu/Menu.d.ts +1 -0
  28. package/cjs/Menu/Menu.js +1 -0
  29. package/cjs/Menu/MenuItem.d.ts +1 -0
  30. package/cjs/Menu/MenuItem.js +1 -0
  31. package/cjs/Menu/Menubar.d.ts +3 -0
  32. package/cjs/Menu/Menubar.js +4 -0
  33. package/cjs/Modal/test/Modal.test.d.ts +1 -0
  34. package/cjs/Modal/test/Modal.test.js +14 -0
  35. package/cjs/Modal/utils.d.ts +1 -1
  36. package/cjs/Nav/Nav.d.ts +7 -2
  37. package/cjs/Nav/Nav.js +105 -5
  38. package/cjs/Nav/NavContext.d.ts +2 -8
  39. package/cjs/Nav/NavContext.js +1 -7
  40. package/cjs/Nav/NavDropdown.d.ts +71 -0
  41. package/cjs/Nav/NavDropdown.js +193 -0
  42. package/cjs/Nav/NavDropdownItem.d.ts +39 -0
  43. package/cjs/Nav/NavDropdownItem.js +141 -0
  44. package/cjs/Nav/NavDropdownMenu.d.ts +37 -0
  45. package/cjs/Nav/NavDropdownMenu.js +162 -0
  46. package/cjs/Nav/NavDropdownToggle.d.ts +21 -0
  47. package/cjs/Nav/NavDropdownToggle.js +74 -0
  48. package/cjs/Nav/NavItem.d.ts +2 -0
  49. package/cjs/Nav/NavItem.js +13 -26
  50. package/cjs/Nav/NavMenu.d.ts +38 -0
  51. package/cjs/Nav/NavMenu.js +122 -0
  52. package/cjs/Nav/test/Nav.test.d.ts +1 -0
  53. package/cjs/Nav/test/Nav.test.js +17 -0
  54. package/cjs/Navbar/NavbarDropdown.d.ts +57 -0
  55. package/cjs/Navbar/NavbarDropdown.js +147 -0
  56. package/cjs/Navbar/NavbarDropdownItem.d.ts +41 -0
  57. package/cjs/Navbar/NavbarDropdownItem.js +149 -0
  58. package/cjs/Navbar/NavbarDropdownMenu.d.ts +48 -0
  59. package/cjs/Navbar/NavbarDropdownMenu.js +161 -0
  60. package/cjs/Navbar/NavbarDropdownToggle.d.ts +19 -0
  61. package/cjs/Navbar/NavbarDropdownToggle.js +72 -0
  62. package/cjs/Navbar/NavbarItem.d.ts +5 -2
  63. package/cjs/Navbar/NavbarItem.js +10 -4
  64. package/cjs/Overlay/Modal.d.ts +1 -4
  65. package/cjs/Overlay/Overlay.d.ts +3 -1
  66. package/cjs/Overlay/Overlay.js +6 -2
  67. package/cjs/Overlay/OverlayTrigger.d.ts +8 -4
  68. package/cjs/Overlay/OverlayTrigger.js +32 -4
  69. package/cjs/Overlay/Position.d.ts +3 -1
  70. package/cjs/Overlay/Position.js +12 -4
  71. package/cjs/Overlay/positionUtils.d.ts +11 -4
  72. package/cjs/Overlay/positionUtils.js +48 -2
  73. package/cjs/Panel/Panel.js +9 -6
  74. package/cjs/Picker/utils.d.ts +1 -1
  75. package/cjs/Picker/utils.js +22 -15
  76. package/cjs/Popover/Popover.d.ts +2 -0
  77. package/cjs/Popover/Popover.js +6 -3
  78. package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
  79. package/cjs/Sidenav/ExpandedSidenavDropdown.js +166 -0
  80. package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
  81. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +141 -0
  82. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
  83. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +145 -0
  84. package/cjs/Sidenav/Sidenav.d.ts +8 -2
  85. package/cjs/Sidenav/Sidenav.js +1 -2
  86. package/cjs/Sidenav/SidenavDropdown.d.ts +30 -8
  87. package/cjs/Sidenav/SidenavDropdown.js +144 -73
  88. package/cjs/Sidenav/SidenavDropdownItem.d.ts +22 -5
  89. package/cjs/Sidenav/SidenavDropdownItem.js +88 -72
  90. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +26 -16
  91. package/cjs/Sidenav/SidenavDropdownMenu.js +122 -90
  92. package/cjs/Sidenav/SidenavDropdownToggle.d.ts +19 -0
  93. package/cjs/Sidenav/SidenavDropdownToggle.js +73 -0
  94. package/cjs/Sidenav/SidenavItem.d.ts +7 -0
  95. package/cjs/Sidenav/SidenavItem.js +54 -37
  96. package/cjs/Sidenav/SidenavToggle.d.ts +5 -1
  97. package/cjs/Sidenav/SidenavToggle.js +25 -9
  98. package/cjs/Toggle/Toggle.d.ts +1 -1
  99. package/cjs/Tooltip/Tooltip.d.ts +3 -1
  100. package/cjs/Tooltip/Tooltip.js +8 -3
  101. package/cjs/Whisper/Whisper.d.ts +3 -5
  102. package/cjs/Whisper/Whisper.js +6 -1
  103. package/cjs/Whisper/test/Whisper.test.d.ts +1 -0
  104. package/cjs/Whisper/test/Whisper.test.js +23 -0
  105. package/cjs/index.d.ts +3 -3
  106. package/cjs/index.js +3 -2
  107. package/cjs/toaster/ToastContainer.d.ts +1 -0
  108. package/cjs/toaster/ToastContainer.js +4 -1
  109. package/cjs/toaster/index.d.ts +1 -0
  110. package/cjs/toaster/index.js +4 -1
  111. package/cjs/toaster/toaster.d.ts +0 -1
  112. package/cjs/toaster/useToaster.d.ts +12 -0
  113. package/cjs/toaster/useToaster.js +43 -0
  114. package/cjs/utils/constants.d.ts +1 -0
  115. package/cjs/utils/constants.js +3 -1
  116. package/cjs/utils/deprecateComponent.js +4 -6
  117. package/cjs/utils/deprecatePropType.d.ts +1 -5
  118. package/cjs/utils/deprecatePropType.js +7 -14
  119. package/cjs/utils/stringToObject.d.ts +1 -1
  120. package/cjs/utils/tplTransform.d.ts +1 -1
  121. package/cjs/utils/treeUtils.d.ts +3 -3
  122. package/cjs/utils/treeUtils.js +8 -10
  123. package/cjs/utils/useCustom.d.ts +1 -1
  124. package/cjs/utils/useCustom.js +5 -3
  125. package/cjs/utils/useFocus.d.ts +1 -1
  126. package/cjs/utils/useInternalId.d.ts +1 -1
  127. package/cjs/utils/useInternalId.js +2 -2
  128. package/cjs/utils/warnOnce.d.ts +9 -0
  129. package/cjs/utils/warnOnce.js +22 -0
  130. package/dist/rsuite-rtl.css +735 -56
  131. package/dist/rsuite-rtl.min.css +1 -1
  132. package/dist/rsuite-rtl.min.css.map +1 -1
  133. package/dist/rsuite.css +735 -56
  134. package/dist/rsuite.js +363 -121
  135. package/dist/rsuite.js.map +1 -1
  136. package/dist/rsuite.min.css +1 -1
  137. package/dist/rsuite.min.css.map +1 -1
  138. package/dist/rsuite.min.js +1 -1
  139. package/dist/rsuite.min.js.map +1 -1
  140. package/esm/@types/common.d.ts +6 -0
  141. package/esm/Cascader/DropdownMenu.js +8 -3
  142. package/esm/Cascader/utils.d.ts +1 -1
  143. package/esm/Col/Col.d.ts +25 -5
  144. package/esm/Col/Col.js +10 -2
  145. package/esm/CustomProvider/CustomProvider.d.ts +20 -7
  146. package/esm/CustomProvider/CustomProvider.js +22 -3
  147. package/esm/Disclosure/Disclosure.d.ts +1 -1
  148. package/esm/Disclosure/DisclosureContext.d.ts +1 -1
  149. package/esm/Dropdown/Dropdown.js +25 -105
  150. package/esm/Dropdown/DropdownItem.js +13 -55
  151. package/esm/Dropdown/DropdownMenu.js +31 -76
  152. package/esm/Dropdown/DropdownToggle.js +4 -14
  153. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  154. package/esm/Form/Form.d.ts +8 -8
  155. package/esm/Form/test/Form.test.d.ts +1 -0
  156. package/esm/Form/test/Form.test.js +11 -0
  157. package/esm/Menu/Menu.d.ts +1 -0
  158. package/esm/Menu/Menu.js +1 -0
  159. package/esm/Menu/MenuItem.d.ts +1 -0
  160. package/esm/Menu/MenuItem.js +1 -0
  161. package/esm/Menu/Menubar.d.ts +3 -0
  162. package/esm/Menu/Menubar.js +4 -0
  163. package/esm/Modal/test/Modal.test.d.ts +1 -0
  164. package/esm/Modal/test/Modal.test.js +9 -0
  165. package/esm/Modal/utils.d.ts +1 -1
  166. package/esm/Nav/Nav.d.ts +7 -2
  167. package/esm/Nav/Nav.js +96 -5
  168. package/esm/Nav/NavContext.d.ts +2 -8
  169. package/esm/Nav/NavContext.js +1 -6
  170. package/esm/Nav/NavDropdown.d.ts +71 -0
  171. package/esm/Nav/NavDropdown.js +170 -0
  172. package/esm/Nav/NavDropdownItem.d.ts +39 -0
  173. package/esm/Nav/NavDropdownItem.js +123 -0
  174. package/esm/Nav/NavDropdownMenu.d.ts +37 -0
  175. package/esm/Nav/NavDropdownMenu.js +143 -0
  176. package/esm/Nav/NavDropdownToggle.d.ts +21 -0
  177. package/esm/Nav/NavDropdownToggle.js +57 -0
  178. package/esm/Nav/NavItem.d.ts +2 -0
  179. package/esm/Nav/NavItem.js +13 -21
  180. package/esm/Nav/NavMenu.d.ts +38 -0
  181. package/esm/Nav/NavMenu.js +98 -0
  182. package/esm/Nav/test/Nav.test.d.ts +1 -0
  183. package/esm/Nav/test/Nav.test.js +11 -0
  184. package/esm/Navbar/NavbarDropdown.d.ts +57 -0
  185. package/esm/Navbar/NavbarDropdown.js +124 -0
  186. package/esm/Navbar/NavbarDropdownItem.d.ts +41 -0
  187. package/esm/Navbar/NavbarDropdownItem.js +128 -0
  188. package/esm/Navbar/NavbarDropdownMenu.d.ts +48 -0
  189. package/esm/Navbar/NavbarDropdownMenu.js +140 -0
  190. package/esm/Navbar/NavbarDropdownToggle.d.ts +19 -0
  191. package/esm/Navbar/NavbarDropdownToggle.js +55 -0
  192. package/esm/Navbar/NavbarItem.d.ts +5 -2
  193. package/esm/Navbar/NavbarItem.js +11 -4
  194. package/esm/Overlay/Modal.d.ts +1 -4
  195. package/esm/Overlay/Overlay.d.ts +3 -1
  196. package/esm/Overlay/Overlay.js +6 -2
  197. package/esm/Overlay/OverlayTrigger.d.ts +8 -4
  198. package/esm/Overlay/OverlayTrigger.js +33 -5
  199. package/esm/Overlay/Position.d.ts +3 -1
  200. package/esm/Overlay/Position.js +12 -4
  201. package/esm/Overlay/positionUtils.d.ts +11 -4
  202. package/esm/Overlay/positionUtils.js +46 -2
  203. package/esm/Panel/Panel.js +9 -6
  204. package/esm/Picker/utils.d.ts +1 -1
  205. package/esm/Picker/utils.js +22 -14
  206. package/esm/Popover/Popover.d.ts +2 -0
  207. package/esm/Popover/Popover.js +6 -3
  208. package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
  209. package/esm/Sidenav/ExpandedSidenavDropdown.js +140 -0
  210. package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
  211. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +120 -0
  212. package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
  213. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +121 -0
  214. package/esm/Sidenav/Sidenav.d.ts +8 -2
  215. package/esm/Sidenav/Sidenav.js +1 -2
  216. package/esm/Sidenav/SidenavDropdown.d.ts +30 -8
  217. package/esm/Sidenav/SidenavDropdown.js +145 -75
  218. package/esm/Sidenav/SidenavDropdownItem.d.ts +22 -5
  219. package/esm/Sidenav/SidenavDropdownItem.js +87 -71
  220. package/esm/Sidenav/SidenavDropdownMenu.d.ts +26 -16
  221. package/esm/Sidenav/SidenavDropdownMenu.js +122 -86
  222. package/esm/Sidenav/SidenavDropdownToggle.d.ts +19 -0
  223. package/esm/Sidenav/SidenavDropdownToggle.js +56 -0
  224. package/esm/Sidenav/SidenavItem.d.ts +7 -0
  225. package/esm/Sidenav/SidenavItem.js +53 -38
  226. package/esm/Sidenav/SidenavToggle.d.ts +5 -1
  227. package/esm/Sidenav/SidenavToggle.js +22 -9
  228. package/esm/Toggle/Toggle.d.ts +1 -1
  229. package/esm/Tooltip/Tooltip.d.ts +3 -1
  230. package/esm/Tooltip/Tooltip.js +8 -3
  231. package/esm/Whisper/Whisper.d.ts +3 -5
  232. package/esm/Whisper/Whisper.js +6 -1
  233. package/esm/Whisper/test/Whisper.test.d.ts +1 -0
  234. package/esm/Whisper/test/Whisper.test.js +16 -0
  235. package/esm/index.d.ts +3 -3
  236. package/esm/index.js +1 -1
  237. package/esm/toaster/ToastContainer.d.ts +1 -0
  238. package/esm/toaster/ToastContainer.js +1 -0
  239. package/esm/toaster/index.d.ts +1 -0
  240. package/esm/toaster/index.js +1 -0
  241. package/esm/toaster/toaster.d.ts +0 -1
  242. package/esm/toaster/useToaster.d.ts +12 -0
  243. package/esm/toaster/useToaster.js +34 -0
  244. package/esm/utils/constants.d.ts +1 -0
  245. package/esm/utils/constants.js +1 -0
  246. package/esm/utils/deprecateComponent.js +3 -4
  247. package/esm/utils/deprecatePropType.d.ts +1 -5
  248. package/esm/utils/deprecatePropType.js +3 -13
  249. package/esm/utils/stringToObject.d.ts +1 -1
  250. package/esm/utils/tplTransform.d.ts +1 -1
  251. package/esm/utils/treeUtils.d.ts +3 -3
  252. package/esm/utils/treeUtils.js +8 -10
  253. package/esm/utils/useCustom.d.ts +1 -1
  254. package/esm/utils/useCustom.js +5 -3
  255. package/esm/utils/useFocus.d.ts +1 -1
  256. package/esm/utils/useInternalId.d.ts +1 -1
  257. package/esm/utils/useInternalId.js +2 -2
  258. package/esm/utils/warnOnce.d.ts +9 -0
  259. package/esm/utils/warnOnce.js +18 -0
  260. package/package.json +1 -1
  261. package/styles/color-modes/dark.less +3 -0
  262. package/styles/color-modes/high-contrast.less +3 -0
  263. package/styles/color-modes/light.less +5 -2
  264. package/styles/variables.less +33 -12
@@ -31,11 +31,24 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
31
31
 
32
32
  var _Sidenav = require("./Sidenav");
33
33
 
34
+ var _Whisper = _interopRequireDefault(require("../Whisper"));
35
+
36
+ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
37
+
38
+ /**
39
+ * @private
40
+ */
34
41
  var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
42
+ var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
43
+
44
+ if (!sidenav) {
45
+ throw new Error('<SidenavItem> component is not supposed to be used standalone. Use <Nav.Item> inside <Sidenav> instead.');
46
+ }
47
+
35
48
  var _props$as = props.as,
36
49
  Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,
37
50
  activeProp = props.active,
38
- _children = props.children,
51
+ children = props.children,
39
52
  className = props.className,
40
53
  disabled = props.disabled,
41
54
  _props$classPrefix = props.classPrefix,
@@ -47,16 +60,13 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
60
  onSelect = props.onSelect,
48
61
  divider = props.divider,
49
62
  panel = props.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);
52
-
53
- if (!sidenav) {
54
- throw new Error('<SidenavItem> component is not supposed to be used standalone. Use <Nav.Item> inside <Sidenav> instead.');
55
- }
63
+ _props$tooltip = props.tooltip,
64
+ tooltip = _props$tooltip === void 0 ? children : _props$tooltip,
65
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "className", "disabled", "classPrefix", "icon", "eventKey", "style", "onClick", "onSelect", "divider", "panel", "tooltip"]);
56
66
 
57
- var _useContext = (0, _react.useContext)(_NavContext.default),
58
- activeKey = _useContext.activeKey,
59
- onSelectFromNav = _useContext.onSelect;
67
+ var _ref = (0, _react.useContext)(_NavContext.default),
68
+ activeKey = _ref.activeKey,
69
+ onSelectFromNav = _ref.onSelect;
60
70
 
61
71
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
62
72
  merge = _useClassNames.merge,
@@ -72,31 +82,36 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
72
82
  }, [disabled, onSelect, onSelectFromNav, eventKey, onClick]);
73
83
 
74
84
  if (!sidenav.expanded) {
75
- return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
76
- selected: selected,
77
- disabled: disabled,
78
- onActivate: handleClick
79
- }, function (_ref, menuitemRef) {
80
- var selected = _ref.selected,
81
- active = _ref.active,
82
- menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["selected", "active"]);
83
- var classes = merge(className, withClassPrefix({
84
- focus: active,
85
- active: selected,
86
- disabled: disabled
87
- })); // Show tooltip when inside a collapse <Sidenav>
88
-
89
- return (0, _utils.appendTooltip)({
90
- children: function children(triggerProps, triggerRef) {
91
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
92
- ref: (0, _utils.mergeRefs)((0, _utils.mergeRefs)(ref, menuitemRef), triggerRef),
93
- disabled: Component === _SafeAnchor.default ? disabled : undefined,
94
- className: classes,
95
- "data-event-key": eventKey
96
- }, (0, _omit.default)(rest, ['divider', 'panel']), triggerProps, menuitem), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
97
- },
98
- message: _children,
99
- placement: 'right'
85
+ return /*#__PURE__*/_react.default.createElement(_Whisper.default, {
86
+ trigger: "hover",
87
+ speaker: /*#__PURE__*/_react.default.createElement(_Tooltip.default, null, tooltip),
88
+ placement: "right"
89
+ }, function (triggerProps, triggerRef) {
90
+ return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
91
+ selected: selected,
92
+ disabled: disabled,
93
+ onActivate: handleClick
94
+ }, function (_ref2, menuitemRef) {
95
+ var selected = _ref2.selected,
96
+ active = _ref2.active,
97
+ menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["selected", "active"]);
98
+ var classes = merge(className, withClassPrefix({
99
+ focus: active,
100
+ active: selected,
101
+ disabled: disabled
102
+ })); // Show tooltip when inside a collapse <Sidenav>
103
+
104
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
105
+ ref: (0, _utils.mergeRefs)((0, _utils.mergeRefs)(ref, menuitemRef), triggerRef),
106
+ disabled: Component === _SafeAnchor.default ? disabled : undefined,
107
+ className: classes,
108
+ "data-event-key": eventKey
109
+ }, (0, _omit.default)(rest, ['divider', 'panel']), triggerProps, menuitem, {
110
+ onMouseOver: (0, _utils.createChainedFunction)(menuitem.onMouseOver, triggerProps.onMouseOver),
111
+ onMouseOut: (0, _utils.createChainedFunction)(menuitem.onMouseOut, triggerProps.onMouseOut)
112
+ }), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
113
+ className: prefix('icon')
114
+ }), children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
100
115
  });
101
116
  });
102
117
  }
@@ -116,7 +131,7 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
116
131
  role: "none presentation",
117
132
  style: style,
118
133
  className: merge(className, prefix('panel'))
119
- }, rest), _children);
134
+ }, rest), children);
120
135
  }
121
136
 
122
137
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
@@ -129,7 +144,9 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
129
144
  style: style,
130
145
  "aria-selected": selected || undefined,
131
146
  "data-event-key": eventKey
132
- }, rest), icon, _children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
147
+ }, rest), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
148
+ className: prefix('icon')
149
+ }), children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
133
150
  });
134
151
 
135
152
  SidenavItem.displayName = 'Sidenav.Item';
@@ -1,7 +1,11 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface SidenavToggleProps extends WithAsProps {
4
- /** Expand then nav */
4
+ /**
5
+ * Expand then nav
6
+ *
7
+ * @deprecated Use <Sidenav expanded> instead.
8
+ */
5
9
  expanded?: boolean;
6
10
  /** Callback function for menu state switching */
7
11
  onToggle?: (expanded: boolean, event: React.MouseEvent) => void;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -9,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
11
 
10
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
17
 
@@ -21,24 +23,37 @@ var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"
21
23
 
22
24
  var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
23
25
 
26
+ var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
27
+
28
+ var _Sidenav = require("./Sidenav");
29
+
24
30
  var SidenavToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
31
+ var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
32
+
33
+ if (!sidenav) {
34
+ throw new Error('<Sidenav.Toggle> must be rendered within a <Sidenav>');
35
+ }
36
+
25
37
  var _props$as = props.as,
26
38
  Component = _props$as === void 0 ? 'div' : _props$as,
27
- expanded = props.expanded,
39
+ DEPRECATED_expanded = props.expanded,
28
40
  className = props.className,
29
41
  _props$classPrefix = props.classPrefix,
30
42
  classPrefix = _props$classPrefix === void 0 ? 'sidenav-toggle' : _props$classPrefix,
31
43
  onToggle = props.onToggle,
32
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "expanded", "className", "classPrefix", "onToggle"]);
44
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "expanded", "className", "classPrefix", "onToggle"]); // if `expanded` prop is provided, it takes priority
45
+
46
+ var expanded = DEPRECATED_expanded !== null && DEPRECATED_expanded !== void 0 ? DEPRECATED_expanded : sidenav.expanded;
33
47
 
34
48
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
35
49
  merge = _useClassNames.merge,
36
- withClassPrefix = _useClassNames.withClassPrefix;
50
+ withClassPrefix = _useClassNames.withClassPrefix,
51
+ prefix = _useClassNames.prefix;
37
52
 
38
53
  var classes = merge(className, withClassPrefix({
39
54
  collapsed: !expanded
40
55
  }));
41
- var Icon = expanded ? _AngleRight.default : _AngleLeft.default;
56
+ var Icon = expanded ? _AngleLeft.default : _AngleRight.default;
42
57
 
43
58
  var handleToggle = function handleToggle(event) {
44
59
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(!expanded, event);
@@ -48,17 +63,18 @@ var SidenavToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
48
63
  ref: ref,
49
64
  className: classes
50
65
  }), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
51
- appearance: "default",
52
66
  icon: /*#__PURE__*/_react.default.createElement(Icon, null),
53
- onClick: handleToggle
67
+ className: prefix('button'),
68
+ onClick: handleToggle,
69
+ "aria-label": expanded ? 'Collapse' : 'Expand'
54
70
  }));
55
71
  });
56
72
 
57
- SidenavToggle.displayName = 'SidenavToggle';
73
+ SidenavToggle.displayName = 'Sidenav.Toggle';
58
74
  SidenavToggle.propTypes = {
59
75
  classPrefix: _propTypes.default.string,
60
76
  className: _propTypes.default.string,
61
- expanded: _propTypes.default.bool,
77
+ expanded: (0, _deprecatePropType.default)(_propTypes.default.bool, 'Use <Sidenav expanded> instead.'),
62
78
  onToggle: _propTypes.default.func
63
79
  };
64
80
  var _default = SidenavToggle;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { WithAsProps, TypeAttributes, RsRefForwardingComponent } from '../@types/common';
3
3
  import { ToggleLocale } from '../locales';
4
4
  export interface ToggleProps extends WithAsProps {
5
- /** Wheather to disabled toggle */
5
+ /** Whether to disabled toggle */
6
6
  disabled?: boolean;
7
7
  /** Render the control as plain text */
8
8
  plaintext?: boolean;
@@ -3,10 +3,12 @@ import { TypeAttributes, WithAsProps, RsRefForwardingComponent } from '../@types
3
3
  export interface TooltipProps extends WithAsProps {
4
4
  /** Dispaly placement */
5
5
  placement?: TypeAttributes.Placement;
6
- /** Wheather visible */
6
+ /** Whether visible */
7
7
  visible?: boolean;
8
8
  /** Primary content */
9
9
  children?: React.ReactNode;
10
+ /** Whether show the arrow indicator */
11
+ arrow?: boolean;
10
12
  }
11
13
  declare const Tooltip: RsRefForwardingComponent<'div', TooltipProps>;
12
14
  export default Tooltip;
@@ -24,13 +24,17 @@ var Tooltip = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
24
  children = props.children,
25
25
  style = props.style,
26
26
  visible = props.visible,
27
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "children", "style", "visible"]);
27
+ _props$arrow = props.arrow,
28
+ arrow = _props$arrow === void 0 ? true : _props$arrow,
29
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "children", "style", "visible", "arrow"]);
28
30
 
29
31
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
30
32
  merge = _useClassNames.merge,
31
33
  withClassPrefix = _useClassNames.withClassPrefix;
32
34
 
33
- var classes = merge(className, withClassPrefix());
35
+ var classes = merge(className, withClassPrefix({
36
+ arrow: arrow
37
+ }));
34
38
  var styles = (0, _extends2.default)({
35
39
  opacity: visible ? 1 : undefined
36
40
  }, style);
@@ -49,7 +53,8 @@ Tooltip.propTypes = {
49
53
  classPrefix: _propTypes.default.string,
50
54
  className: _propTypes.default.string,
51
55
  style: _propTypes.default.object,
52
- children: _propTypes.default.node
56
+ children: _propTypes.default.node,
57
+ arrow: _propTypes.default.bool
53
58
  };
54
59
  var _default = Tooltip;
55
60
  exports.default = _default;
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
+ import { OverlayTriggerInstance } from '../Overlay/OverlayTrigger';
2
3
  import { OverlayTriggerProps } from '../Overlay/OverlayTrigger';
3
4
  export declare type WhisperProps = OverlayTriggerProps;
4
- export interface WhisperInstance extends React.Component<WhisperProps> {
5
- open: (delay?: number) => void;
6
- close: (delay?: number) => void;
7
- }
8
- declare const Whisper: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<unknown>>;
5
+ export declare type WhisperInstance = OverlayTriggerInstance;
6
+ declare const Whisper: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerInstance>>;
9
7
  export default Whisper;
@@ -50,7 +50,12 @@ Whisper.propTypes = {
50
50
  /**
51
51
  * Prevent floating element overflow
52
52
  */
53
- preventOverflow: _propTypes.default.bool
53
+ preventOverflow: _propTypes.default.bool,
54
+
55
+ /**
56
+ * Whether enable speaker follow cursor
57
+ */
58
+ followCursor: _propTypes.default.bool
54
59
  };
55
60
  var _default = Whisper;
56
61
  exports.default = _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _Whisper = _interopRequireDefault(require("../Whisper"));
8
+
9
+ var _whisperRef$current, _whisperRef$current2, _whisperRef$current3, _whisperRef$current4, _whisperRef$current5;
10
+
11
+ var whisperRef = /*#__PURE__*/_react.default.createRef();
12
+
13
+ /*#__PURE__*/
14
+ _react.default.createElement(_Whisper.default, {
15
+ ref: whisperRef,
16
+ speaker: /*#__PURE__*/_react.default.createElement("div", null)
17
+ }, /*#__PURE__*/_react.default.createElement("div", null));
18
+
19
+ (_whisperRef$current = whisperRef.current) === null || _whisperRef$current === void 0 ? void 0 : _whisperRef$current.open();
20
+ (_whisperRef$current2 = whisperRef.current) === null || _whisperRef$current2 === void 0 ? void 0 : _whisperRef$current2.open(300);
21
+ (_whisperRef$current3 = whisperRef.current) === null || _whisperRef$current3 === void 0 ? void 0 : _whisperRef$current3.close();
22
+ (_whisperRef$current4 = whisperRef.current) === null || _whisperRef$current4 === void 0 ? void 0 : _whisperRef$current4.close(300);
23
+ (_whisperRef$current5 = whisperRef.current) === null || _whisperRef$current5 === void 0 ? void 0 : _whisperRef$current5.updatePosition();
package/cjs/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export type { ButtonToolbarProps } from './ButtonToolbar';
7
7
  export { default as ButtonGroup } from './ButtonGroup';
8
8
  export type { ButtonGroupProps } from './ButtonGroup';
9
9
  export { default as Whisper } from './Whisper';
10
- export type { WhisperProps } from './Whisper';
10
+ export type { WhisperProps, WhisperInstance } from './Whisper';
11
11
  export { default as Tooltip } from './Tooltip';
12
12
  export type { TooltipProps } from './Tooltip';
13
13
  export { default as Popover } from './Popover';
@@ -32,7 +32,7 @@ export { default as Avatar } from './Avatar';
32
32
  export type { AvatarProps } from './Avatar';
33
33
  export { default as AvatarGroup } from './AvatarGroup';
34
34
  export type { AvatarGroupProps } from './AvatarGroup';
35
- export { default as toaster } from './toaster';
35
+ export { default as toaster, useToaster } from './toaster';
36
36
  export type { Toaster } from './toaster';
37
37
  export { default as Dropdown } from './Dropdown';
38
38
  export type { DropdownProps, DropdownMenuItemProps, DropdownMenuProps } from './Dropdown';
@@ -51,7 +51,7 @@ export type { StepsProps, StepItemProps } from './Steps';
51
51
  export { default as Toggle } from './Toggle';
52
52
  export type { ToggleProps } from './Toggle';
53
53
  export { default as Form, useFormClassNames } from './Form';
54
- export type { FormProps, FormGroupProps, FormErrorMessageProps, FormControlLabelProps, FormHelpTextProps, FormControlProps } from './Form';
54
+ export type { FormProps, FormInstance, FormGroupProps, FormErrorMessageProps, FormControlLabelProps, FormHelpTextProps, FormControlProps } from './Form';
55
55
  export { default as Input } from './Input';
56
56
  export type { InputProps } from './Input';
57
57
  export { default as MaskedInput } from './MaskedInput';
package/cjs/index.js CHANGED
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
- exports.useFormClassNames = exports.CustomProvider = exports.Affix = exports.DOMHelper = exports.Animation = exports.Schema = exports.Stack = exports.Divider = exports.Footer = exports.Sidebar = exports.Header = exports.Content = exports.Container = exports.FlexboxGrid = exports.Col = exports.Row = exports.Grid = exports.Carousel = exports.Calendar = exports.List = exports.TagGroup = exports.Tag = exports.Timeline = exports.Progress = exports.Table = exports.PanelGroup = exports.Panel = exports.CheckTree = exports.Tree = exports.Rate = exports.RangeSlider = exports.Slider = exports.Uploader = exports.AutoComplete = exports.DateRangePicker = exports.DatePicker = exports.MultiCascader = exports.Cascader = exports.CheckTreePicker = exports.TreePicker = exports.TagInput = exports.TagPicker = exports.InputPicker = exports.CheckPicker = exports.SelectPicker = exports.RadioGroup = exports.Radio = exports.CheckboxGroup = exports.Checkbox = exports.InputGroup = exports.InputNumber = exports.MaskedInput = exports.Input = exports.Form = exports.Toggle = exports.Steps = exports.Pagination = exports.Breadcrumb = exports.Sidenav = exports.Navbar = exports.Nav = exports.Dropdown = exports.toaster = exports.AvatarGroup = exports.Avatar = exports.Badge = exports.Placeholder = exports.SafeAnchor = exports.Loader = exports.Drawer = exports.Message = exports.Notification = exports.Modal = exports.Popover = exports.Tooltip = exports.Whisper = exports.ButtonGroup = exports.ButtonToolbar = exports.IconButton = exports.Button = void 0;
8
+ exports.useFormClassNames = exports.useToaster = exports.CustomProvider = exports.Affix = exports.DOMHelper = exports.Animation = exports.Schema = exports.Stack = exports.Divider = exports.Footer = exports.Sidebar = exports.Header = exports.Content = exports.Container = exports.FlexboxGrid = exports.Col = exports.Row = exports.Grid = exports.Carousel = exports.Calendar = exports.List = exports.TagGroup = exports.Tag = exports.Timeline = exports.Progress = exports.Table = exports.PanelGroup = exports.Panel = exports.CheckTree = exports.Tree = exports.Rate = exports.RangeSlider = exports.Slider = exports.Uploader = exports.AutoComplete = exports.DateRangePicker = exports.DatePicker = exports.MultiCascader = exports.Cascader = exports.CheckTreePicker = exports.TreePicker = exports.TagInput = exports.TagPicker = exports.InputPicker = exports.CheckPicker = exports.SelectPicker = exports.RadioGroup = exports.Radio = exports.CheckboxGroup = exports.Checkbox = exports.InputGroup = exports.InputNumber = exports.MaskedInput = exports.Input = exports.Form = exports.Toggle = exports.Steps = exports.Pagination = exports.Breadcrumb = exports.Sidenav = exports.Navbar = exports.Nav = exports.Dropdown = exports.toaster = exports.AvatarGroup = exports.Avatar = exports.Badge = exports.Placeholder = exports.SafeAnchor = exports.Loader = exports.Drawer = exports.Message = exports.Notification = exports.Modal = exports.Popover = exports.Tooltip = exports.Whisper = exports.ButtonGroup = exports.ButtonToolbar = exports.IconButton = exports.Button = void 0;
9
9
 
10
10
  var _Button = _interopRequireDefault(require("./Button"));
11
11
 
@@ -75,9 +75,10 @@ var _AvatarGroup = _interopRequireDefault(require("./AvatarGroup"));
75
75
 
76
76
  exports.AvatarGroup = _AvatarGroup.default;
77
77
 
78
- var _toaster = _interopRequireDefault(require("./toaster"));
78
+ var _toaster = _interopRequireWildcard(require("./toaster"));
79
79
 
80
80
  exports.toaster = _toaster.default;
81
+ exports.useToaster = _toaster.useToaster;
81
82
 
82
83
  var _Dropdown = _interopRequireDefault(require("./Dropdown"));
83
84
 
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export declare type PlacementType = 'topCenter' | 'bottomCenter' | 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd';
4
+ export declare const toastPlacements: PlacementType[];
4
5
  export interface ToastContainerProps extends WithAsProps {
5
6
  /** The placement of the message box */
6
7
  placement?: PlacementType;
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
- exports.default = void 0;
8
+ exports.default = exports.toastPlacements = void 0;
9
9
 
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
 
@@ -23,6 +23,9 @@ var _Transition = _interopRequireDefault(require("../Animation/Transition"));
23
23
 
24
24
  var _utils = require("../utils");
25
25
 
26
+ var toastPlacements = ['topCenter', 'bottomCenter', 'topStart', 'topEnd', 'bottomStart', 'bottomEnd'];
27
+ exports.toastPlacements = toastPlacements;
28
+
26
29
  var useMessages = function useMessages() {
27
30
  var _useState = (0, _react.useState)([]),
28
31
  messages = _useState[0],
@@ -1,3 +1,4 @@
1
1
  import toaster from './toaster';
2
2
  export type { Toaster } from './toaster';
3
+ export { default as useToaster } from './useToaster';
3
4
  export default toaster;
@@ -3,9 +3,12 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports.default = void 0;
6
+ exports.default = exports.useToaster = void 0;
7
7
 
8
8
  var _toaster = _interopRequireDefault(require("./toaster"));
9
9
 
10
+ var _useToaster = _interopRequireDefault(require("./useToaster"));
11
+
12
+ exports.useToaster = _useToaster.default;
10
13
  var _default = _toaster.default;
11
14
  exports.default = _default;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { ToastContainerProps } from './ToastContainer';
3
- export declare type PlacementType = 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd';
4
3
  export interface Toaster {
5
4
  /**
6
5
  * Add a message to the container.
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ToastContainerProps } from './ToastContainer';
3
+ /**
4
+ * Hook to use the toaster
5
+ * @returns toaster { push, remove, clear }
6
+ */
7
+ declare const useToaster: () => {
8
+ push: (message: React.ReactNode, options?: ToastContainerProps) => string | undefined;
9
+ remove: (key: string) => void;
10
+ clear: () => void;
11
+ };
12
+ export default useToaster;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _toaster = _interopRequireDefault(require("./toaster"));
9
+
10
+ var _utils = require("../utils");
11
+
12
+ /**
13
+ * Hook to use the toaster
14
+ * @returns toaster { push, remove, clear }
15
+ */
16
+ var useToaster = function useToaster() {
17
+ var _useCustom = (0, _utils.useCustom)(),
18
+ toasters = _useCustom.toasters;
19
+
20
+ return {
21
+ push: function push(message, options) {
22
+ var _toasters$current;
23
+
24
+ var customToaster = toasters === null || toasters === void 0 ? void 0 : (_toasters$current = toasters.current) === null || _toasters$current === void 0 ? void 0 : _toasters$current.get((options === null || options === void 0 ? void 0 : options.placement) || 'topCenter');
25
+ return customToaster ? customToaster.push(message) : _toaster.default.push(message, options);
26
+ },
27
+ remove: function remove(key) {
28
+ toasters ? Array.from(toasters.current).forEach(function (_ref) {
29
+ var c = _ref[1];
30
+ return c === null || c === void 0 ? void 0 : c.remove(key);
31
+ }) : _toaster.default.remove(key);
32
+ },
33
+ clear: function clear() {
34
+ toasters ? Array.from(toasters.current).forEach(function (_ref2) {
35
+ var c = _ref2[1];
36
+ return c === null || c === void 0 ? void 0 : c.clear();
37
+ }) : _toaster.default.clear();
38
+ }
39
+ };
40
+ };
41
+
42
+ var _default = useToaster;
43
+ exports.default = _default;
@@ -1,4 +1,5 @@
1
1
  export declare const SIZE: string[];
2
+ export declare const COLUMN_SIZE: string[];
2
3
  export declare const STATUS: string[];
3
4
  export declare const COLOR: string[];
4
5
  export declare const PLACEMENT_4: readonly ["top", "bottom", "right", "left"];
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.DATERANGE_DISABLED_TARGET = exports.KEY_VALUES = exports.TREE_NODE_DROP_POSITION = exports.TREE_NODE_ROOT_PADDING = exports.TREE_NODE_PADDING = exports.CHECK_STATE = exports.PLACEMENT = exports.PLACEMENT_AUTO = exports.PLACEMENT_8 = exports.PLACEMENT_4 = exports.COLOR = exports.STATUS = exports.SIZE = void 0;
4
+ exports.DATERANGE_DISABLED_TARGET = exports.KEY_VALUES = exports.TREE_NODE_DROP_POSITION = exports.TREE_NODE_ROOT_PADDING = exports.TREE_NODE_PADDING = exports.CHECK_STATE = exports.PLACEMENT = exports.PLACEMENT_AUTO = exports.PLACEMENT_8 = exports.PLACEMENT_4 = exports.COLOR = exports.STATUS = exports.COLUMN_SIZE = exports.SIZE = void 0;
5
5
  var SIZE = ['lg', 'md', 'sm', 'xs'];
6
6
  exports.SIZE = SIZE;
7
+ var COLUMN_SIZE = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];
8
+ exports.COLUMN_SIZE = COLUMN_SIZE;
7
9
  var STATUS = ['success', 'warning', 'error', 'info'];
8
10
  exports.STATUS = STATUS;
9
11
  var COLOR = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'violet'];
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
7
5
  exports.__esModule = true;
@@ -9,7 +7,9 @@ exports.default = deprecateComponent;
9
7
 
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
9
 
12
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _warnOnce = _interopRequireDefault(require("./warnOnce"));
13
13
 
14
14
  /**
15
15
  * HOC for display a deprecation message from a deprecated component
@@ -21,9 +21,7 @@ function deprecateComponent(Component, message) {
21
21
  var componentDisplayName = (_Component$displayNam = Component.displayName) !== null && _Component$displayNam !== void 0 ? _Component$displayNam : Component.name;
22
22
 
23
23
  var Deprecated = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
- (0, _react.useEffect)(function () {
25
- console.warn(message);
26
- }, []);
24
+ (0, _warnOnce.default)(message);
27
25
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
28
26
  ref: ref
29
27
  }, props));
@@ -1,6 +1,2 @@
1
1
  import * as PropTypes from 'prop-types';
2
- declare function deprecatePropType<T extends PropTypes.Validator<any>>(propType: T, explanation?: string): typeof propType;
3
- declare namespace deprecatePropType {
4
- var _resetWarned: () => void;
5
- }
6
- export default deprecatePropType;
2
+ export default function deprecatePropType<T extends PropTypes.Validator<any>>(propType: T, explanation?: string): typeof propType;
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  exports.__esModule = true;
4
6
  exports.default = deprecatePropType;
5
- // Ref: https://github.com/thefrontside/deprecated-prop-type/blob/master/deprecated.js
6
- var warned = {};
7
7
 
8
+ var _warnOnce = _interopRequireDefault(require("./warnOnce"));
9
+
10
+ // Ref: https://github.com/thefrontside/deprecated-prop-type/blob/master/deprecated.js
8
11
  function deprecatePropType(propType, explanation) {
9
12
  return function validate(props, propName, componentName) {
10
13
  // Note ...rest here
11
14
  if (props[propName] != null) {
12
15
  var message = "\"" + propName + "\" property of \"" + componentName + "\" has been deprecated.\n" + explanation;
13
-
14
- if (!warned[message]) {
15
- console.warn(message);
16
- warned[message] = true;
17
- }
16
+ (0, _warnOnce.default)(message);
18
17
  }
19
18
 
20
19
  for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
@@ -23,10 +22,4 @@ function deprecatePropType(propType, explanation) {
23
22
 
24
23
  return propType.apply(void 0, [props, propName, componentName].concat(rest)); // and here
25
24
  };
26
- }
27
-
28
- function _resetWarned() {
29
- warned = {};
30
- }
31
-
32
- deprecatePropType._resetWarned = _resetWarned;
25
+ }
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, labelKey?: string | undefined, valueKey?: string | undefined) => object | null;
1
+ declare const _default: (value: any, labelKey?: string, valueKey?: string) => object | null;
2
2
  export default _default;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- declare const _default: (pattern: string, ...data: any[]) => React.ReactNode;
3
2
  /**
4
3
  * tplTransform('Show {0} data', <i>100</i>);
5
4
  * output:
6
5
  * Show <span><i>100</i></span> data
7
6
  */
7
+ declare const _default: (pattern: string, ...data: any[]) => React.ReactNode;
8
8
  export default _default;