rsuite 5.56.0 → 5.58.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 (272) hide show
  1. package/Accordion/styles/index.css +30 -0
  2. package/AutoComplete/styles/index.css +0 -137
  3. package/CHANGELOG.md +32 -0
  4. package/CascadeTree/package.json +7 -0
  5. package/CascadeTree/styles/index.css +273 -0
  6. package/CascadeTree/styles/index.less +77 -0
  7. package/CascadeTree/styles/search.less +45 -0
  8. package/Cascader/styles/index.css +187 -329
  9. package/Cascader/styles/index.less +1 -122
  10. package/CheckPicker/styles/index.css +0 -137
  11. package/CheckTree/styles/index.css +0 -137
  12. package/CheckTreePicker/styles/index.css +0 -137
  13. package/DatePicker/styles/index.css +0 -137
  14. package/DateRangePicker/styles/index.css +0 -137
  15. package/Dropdown/styles/index.css +35 -8
  16. package/Dropdown/styles/index.less +24 -13
  17. package/Heading/package.json +7 -0
  18. package/Heading/styles/index.css +42 -0
  19. package/Heading/styles/index.less +41 -0
  20. package/HeadingGroup/package.json +7 -0
  21. package/HeadingGroup/styles/index.css +5 -0
  22. package/HeadingGroup/styles/index.less +3 -0
  23. package/InputPicker/styles/index.css +29 -146
  24. package/InputPicker/styles/index.less +28 -12
  25. package/InputPicker/styles/mixin.less +7 -0
  26. package/MultiCascadeTree/package.json +7 -0
  27. package/MultiCascadeTree/styles/index.css +3564 -0
  28. package/MultiCascadeTree/styles/index.less +37 -0
  29. package/MultiCascader/styles/index.css +72 -206
  30. package/MultiCascader/styles/index.less +11 -31
  31. package/Nav/styles/index.css +35 -8
  32. package/Navbar/styles/index.css +35 -8
  33. package/Pagination/styles/index.css +0 -137
  34. package/Panel/styles/index.css +30 -0
  35. package/Panel/styles/index.less +1 -0
  36. package/Popover/styles/index.css +30 -0
  37. package/Popover/styles/index.less +3 -2
  38. package/SelectPicker/styles/index.css +0 -137
  39. package/Tabs/styles/index.css +35 -8
  40. package/TagInput/styles/index.css +132 -150
  41. package/TagPicker/styles/index.css +132 -150
  42. package/TagPicker/styles/index.less +57 -5
  43. package/TagPicker/styles/mixin.less +21 -0
  44. package/Text/package.json +7 -0
  45. package/Text/styles/index.css +192 -0
  46. package/Text/styles/index.less +117 -0
  47. package/cjs/@types/common.d.ts +12 -14
  48. package/cjs/CascadeTree/CascadeTree.d.ts +16 -0
  49. package/cjs/CascadeTree/CascadeTree.js +174 -0
  50. package/cjs/CascadeTree/SearchView.d.ts +17 -0
  51. package/cjs/CascadeTree/SearchView.js +106 -0
  52. package/cjs/CascadeTree/TreeView.d.ts +20 -0
  53. package/cjs/{Cascader → CascadeTree}/TreeView.js +42 -33
  54. package/cjs/CascadeTree/hooks/index.d.ts +3 -0
  55. package/cjs/CascadeTree/hooks/index.js +12 -0
  56. package/cjs/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
  57. package/cjs/CascadeTree/hooks/usePaths.js +42 -0
  58. package/cjs/CascadeTree/hooks/useSearch.d.ts +17 -0
  59. package/cjs/CascadeTree/hooks/useSearch.js +59 -0
  60. package/cjs/CascadeTree/hooks/useSelect.d.ts +23 -0
  61. package/cjs/CascadeTree/hooks/useSelect.js +64 -0
  62. package/cjs/CascadeTree/index.d.ts +4 -0
  63. package/cjs/CascadeTree/index.js +9 -0
  64. package/cjs/CascadeTree/types.d.ts +66 -0
  65. package/cjs/CascadeTree/types.js +2 -0
  66. package/cjs/CascadeTree/utils.d.ts +32 -0
  67. package/cjs/CascadeTree/utils.js +66 -0
  68. package/cjs/Cascader/Cascader.d.ts +57 -26
  69. package/cjs/Cascader/Cascader.js +178 -249
  70. package/cjs/Cascader/useActive.d.ts +15 -0
  71. package/cjs/Cascader/useActive.js +43 -0
  72. package/cjs/CheckPicker/CheckPicker.js +2 -9
  73. package/cjs/CheckTreePicker/CheckTreePicker.js +2 -10
  74. package/cjs/DatePicker/DatePicker.js +5 -5
  75. package/cjs/DateRangePicker/DateRangePicker.js +3 -5
  76. package/cjs/Dropdown/DropdownItem.d.ts +10 -2
  77. package/cjs/Dropdown/DropdownItem.js +12 -3
  78. package/cjs/Heading/Heading.d.ts +16 -0
  79. package/cjs/Heading/Heading.js +44 -0
  80. package/cjs/Heading/index.d.ts +3 -0
  81. package/cjs/Heading/index.js +10 -0
  82. package/cjs/HeadingGroup/HeadingGroup.d.ts +8 -0
  83. package/cjs/HeadingGroup/HeadingGroup.js +17 -0
  84. package/cjs/HeadingGroup/index.d.ts +3 -0
  85. package/cjs/HeadingGroup/index.js +9 -0
  86. package/cjs/InlineEdit/InlineEdit.d.ts +1 -1
  87. package/cjs/InputPicker/InputPicker.js +7 -8
  88. package/cjs/Loader/Loader.js +5 -4
  89. package/cjs/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
  90. package/cjs/MultiCascadeTree/MultiCascadeTree.js +131 -0
  91. package/cjs/MultiCascadeTree/SearchView.d.ts +17 -0
  92. package/cjs/MultiCascadeTree/SearchView.js +117 -0
  93. package/cjs/MultiCascadeTree/TreeView.d.ts +22 -0
  94. package/cjs/{MultiCascader → MultiCascadeTree}/TreeView.js +20 -20
  95. package/cjs/MultiCascadeTree/hooks/index.d.ts +5 -0
  96. package/cjs/MultiCascadeTree/hooks/index.js +16 -0
  97. package/cjs/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
  98. package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +202 -0
  99. package/cjs/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
  100. package/cjs/MultiCascadeTree/hooks/useColumnData.js +52 -0
  101. package/cjs/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
  102. package/cjs/MultiCascadeTree/hooks/useFlattenData.js +33 -0
  103. package/cjs/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
  104. package/cjs/MultiCascadeTree/hooks/useSearch.js +52 -0
  105. package/cjs/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
  106. package/cjs/MultiCascadeTree/hooks/useSelect.js +83 -0
  107. package/cjs/MultiCascadeTree/index.d.ts +4 -0
  108. package/cjs/MultiCascadeTree/index.js +9 -0
  109. package/cjs/MultiCascadeTree/types.d.ts +26 -0
  110. package/cjs/MultiCascadeTree/types.js +2 -0
  111. package/cjs/MultiCascadeTree/utils.d.ts +37 -0
  112. package/cjs/MultiCascadeTree/utils.js +140 -0
  113. package/cjs/MultiCascader/MultiCascader.d.ts +57 -29
  114. package/cjs/MultiCascader/MultiCascader.js +173 -289
  115. package/cjs/Panel/Panel.js +3 -1
  116. package/cjs/Popover/Popover.js +3 -1
  117. package/cjs/SelectPicker/SelectPicker.js +3 -9
  118. package/cjs/Text/Text.d.ts +47 -0
  119. package/cjs/Text/Text.js +72 -0
  120. package/cjs/Text/index.d.ts +3 -0
  121. package/cjs/Text/index.js +10 -0
  122. package/cjs/Tree/Tree.d.ts +4 -4
  123. package/cjs/TreePicker/TreePicker.js +3 -10
  124. package/cjs/index.d.ts +27 -16
  125. package/cjs/index.js +30 -19
  126. package/cjs/internals/Overlay/OverlayTrigger.js +24 -17
  127. package/cjs/internals/Picker/PickerToggle.d.ts +4 -5
  128. package/cjs/internals/Picker/PickerToggleTrigger.d.ts +1 -1
  129. package/cjs/internals/Picker/PickerToggleTrigger.js +1 -1
  130. package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +0 -2
  131. package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.js +0 -4
  132. package/cjs/toaster/ToastContainer.d.ts +9 -2
  133. package/cjs/toaster/index.d.ts +0 -1
  134. package/cjs/toaster/index.js +1 -3
  135. package/cjs/useToaster/index.d.ts +2 -0
  136. package/cjs/useToaster/index.js +9 -0
  137. package/cjs/{toaster → useToaster}/useToaster.d.ts +4 -4
  138. package/cjs/{toaster → useToaster}/useToaster.js +4 -4
  139. package/cjs/utils/index.d.ts +1 -0
  140. package/cjs/utils/index.js +5 -2
  141. package/dist/rsuite-no-reset-rtl.css +393 -219
  142. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  143. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  144. package/dist/rsuite-no-reset.css +393 -219
  145. package/dist/rsuite-no-reset.min.css +1 -1
  146. package/dist/rsuite-no-reset.min.css.map +1 -1
  147. package/dist/rsuite-rtl.css +393 -219
  148. package/dist/rsuite-rtl.min.css +1 -1
  149. package/dist/rsuite-rtl.min.css.map +1 -1
  150. package/dist/rsuite.css +393 -219
  151. package/dist/rsuite.js +321 -57
  152. package/dist/rsuite.js.map +1 -1
  153. package/dist/rsuite.min.css +1 -1
  154. package/dist/rsuite.min.css.map +1 -1
  155. package/dist/rsuite.min.js +1 -1
  156. package/dist/rsuite.min.js.map +1 -1
  157. package/esm/@types/common.d.ts +12 -14
  158. package/esm/CascadeTree/CascadeTree.d.ts +16 -0
  159. package/esm/CascadeTree/CascadeTree.js +167 -0
  160. package/esm/CascadeTree/SearchView.d.ts +17 -0
  161. package/esm/CascadeTree/SearchView.js +100 -0
  162. package/esm/CascadeTree/TreeView.d.ts +20 -0
  163. package/esm/{Cascader → CascadeTree}/TreeView.js +42 -33
  164. package/esm/CascadeTree/hooks/index.d.ts +3 -0
  165. package/esm/CascadeTree/hooks/index.js +4 -0
  166. package/esm/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
  167. package/esm/CascadeTree/hooks/usePaths.js +36 -0
  168. package/esm/CascadeTree/hooks/useSearch.d.ts +17 -0
  169. package/esm/CascadeTree/hooks/useSearch.js +54 -0
  170. package/esm/CascadeTree/hooks/useSelect.d.ts +23 -0
  171. package/esm/CascadeTree/hooks/useSelect.js +59 -0
  172. package/esm/CascadeTree/index.d.ts +4 -0
  173. package/esm/CascadeTree/index.js +3 -0
  174. package/esm/CascadeTree/types.d.ts +66 -0
  175. package/esm/CascadeTree/types.js +1 -0
  176. package/esm/CascadeTree/utils.d.ts +32 -0
  177. package/esm/CascadeTree/utils.js +61 -0
  178. package/esm/Cascader/Cascader.d.ts +57 -26
  179. package/esm/Cascader/Cascader.js +165 -235
  180. package/esm/Cascader/useActive.d.ts +15 -0
  181. package/esm/Cascader/useActive.js +37 -0
  182. package/esm/CheckPicker/CheckPicker.js +2 -9
  183. package/esm/CheckTreePicker/CheckTreePicker.js +2 -10
  184. package/esm/DatePicker/DatePicker.js +6 -6
  185. package/esm/DateRangePicker/DateRangePicker.js +3 -5
  186. package/esm/Dropdown/DropdownItem.d.ts +10 -2
  187. package/esm/Dropdown/DropdownItem.js +12 -3
  188. package/esm/Heading/Heading.d.ts +16 -0
  189. package/esm/Heading/Heading.js +38 -0
  190. package/esm/Heading/index.d.ts +3 -0
  191. package/esm/Heading/index.js +4 -0
  192. package/esm/HeadingGroup/HeadingGroup.d.ts +8 -0
  193. package/esm/HeadingGroup/HeadingGroup.js +11 -0
  194. package/esm/HeadingGroup/index.d.ts +3 -0
  195. package/esm/HeadingGroup/index.js +3 -0
  196. package/esm/InlineEdit/InlineEdit.d.ts +1 -1
  197. package/esm/InputPicker/InputPicker.js +7 -8
  198. package/esm/Loader/Loader.js +6 -5
  199. package/esm/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
  200. package/esm/MultiCascadeTree/MultiCascadeTree.js +125 -0
  201. package/esm/MultiCascadeTree/SearchView.d.ts +17 -0
  202. package/esm/MultiCascadeTree/SearchView.js +111 -0
  203. package/esm/MultiCascadeTree/TreeView.d.ts +22 -0
  204. package/esm/{MultiCascader → MultiCascadeTree}/TreeView.js +20 -20
  205. package/esm/MultiCascadeTree/hooks/index.d.ts +5 -0
  206. package/esm/MultiCascadeTree/hooks/index.js +6 -0
  207. package/esm/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
  208. package/esm/MultiCascadeTree/hooks/useCascadeValue.js +197 -0
  209. package/esm/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
  210. package/esm/MultiCascadeTree/hooks/useColumnData.js +46 -0
  211. package/esm/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
  212. package/esm/MultiCascadeTree/hooks/useFlattenData.js +28 -0
  213. package/esm/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
  214. package/esm/MultiCascadeTree/hooks/useSearch.js +47 -0
  215. package/esm/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
  216. package/esm/MultiCascadeTree/hooks/useSelect.js +77 -0
  217. package/esm/MultiCascadeTree/index.d.ts +4 -0
  218. package/esm/MultiCascadeTree/index.js +3 -0
  219. package/esm/MultiCascadeTree/types.d.ts +26 -0
  220. package/esm/MultiCascadeTree/types.js +1 -0
  221. package/esm/MultiCascadeTree/utils.d.ts +37 -0
  222. package/esm/MultiCascadeTree/utils.js +130 -0
  223. package/esm/MultiCascader/MultiCascader.d.ts +57 -29
  224. package/esm/MultiCascader/MultiCascader.js +166 -281
  225. package/esm/Panel/Panel.js +3 -1
  226. package/esm/Popover/Popover.js +3 -1
  227. package/esm/SelectPicker/SelectPicker.js +3 -9
  228. package/esm/Text/Text.d.ts +47 -0
  229. package/esm/Text/Text.js +66 -0
  230. package/esm/Text/index.d.ts +3 -0
  231. package/esm/Text/index.js +4 -0
  232. package/esm/Tree/Tree.d.ts +4 -4
  233. package/esm/TreePicker/TreePicker.js +3 -10
  234. package/esm/index.d.ts +27 -16
  235. package/esm/index.js +38 -15
  236. package/esm/internals/Overlay/OverlayTrigger.js +24 -17
  237. package/esm/internals/Picker/PickerToggle.d.ts +4 -5
  238. package/esm/internals/Picker/PickerToggleTrigger.d.ts +1 -1
  239. package/esm/internals/Picker/PickerToggleTrigger.js +1 -1
  240. package/esm/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +0 -2
  241. package/esm/internals/Picker/hooks/useToggleKeyDownEvent.js +0 -4
  242. package/esm/toaster/ToastContainer.d.ts +9 -2
  243. package/esm/toaster/index.d.ts +0 -1
  244. package/esm/toaster/index.js +0 -1
  245. package/esm/useToaster/index.d.ts +2 -0
  246. package/esm/useToaster/index.js +3 -0
  247. package/esm/{toaster → useToaster}/useToaster.d.ts +4 -4
  248. package/esm/{toaster → useToaster}/useToaster.js +4 -4
  249. package/esm/utils/index.d.ts +1 -0
  250. package/esm/utils/index.js +2 -1
  251. package/internals/Picker/styles/index.less +0 -5
  252. package/internals/Picker/styles/mixin.less +0 -73
  253. package/package.json +1 -1
  254. package/styles/color-modes/light.less +7 -0
  255. package/styles/index.less +5 -0
  256. package/useToaster/package.json +7 -0
  257. package/useToaster/styles/index.css +239 -0
  258. package/useToaster/styles/index.less +1 -0
  259. package/cjs/Cascader/DropdownMenu.d.ts +0 -24
  260. package/cjs/Cascader/DropdownMenu.js +0 -175
  261. package/cjs/Cascader/TreeView.d.ts +0 -24
  262. package/cjs/Cascader/utils.js +0 -79
  263. package/cjs/MultiCascader/TreeView.d.ts +0 -25
  264. package/cjs/MultiCascader/utils.d.ts +0 -71
  265. package/cjs/MultiCascader/utils.js +0 -382
  266. package/esm/Cascader/DropdownMenu.d.ts +0 -24
  267. package/esm/Cascader/DropdownMenu.js +0 -168
  268. package/esm/Cascader/TreeView.d.ts +0 -24
  269. package/esm/Cascader/utils.js +0 -74
  270. package/esm/MultiCascader/TreeView.d.ts +0 -25
  271. package/esm/MultiCascader/utils.d.ts +0 -71
  272. package/esm/MultiCascader/utils.js +0 -369
@@ -5,24 +5,23 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
  exports.__esModule = true;
7
7
  exports.default = void 0;
8
- var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _reactUseSet = require("react-use-set");
12
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
12
  var _omit = _interopRequireDefault(require("lodash/omit"));
14
13
  var _pick = _interopRequireDefault(require("lodash/pick"));
15
14
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
16
15
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
17
- var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
18
- var _TreeView = _interopRequireDefault(require("./TreeView"));
16
+ var _TreeView = _interopRequireDefault(require("../CascadeTree/TreeView"));
17
+ var _SearchView = _interopRequireDefault(require("../CascadeTree/SearchView"));
18
+ var _hooks = require("../CascadeTree/hooks");
19
19
  var _treeUtils = require("../utils/treeUtils");
20
- var _utils = require("./utils");
21
- var _utils2 = require("../utils");
20
+ var _propTypes2 = require("../internals/propTypes");
21
+ var _utils = require("../utils");
22
22
  var _Picker = require("../internals/Picker");
23
- var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
24
23
  var _useMap = require("../utils/useMap");
25
- var _propTypes2 = require("../internals/propTypes");
24
+ var _useActive2 = _interopRequireDefault(require("./useActive"));
26
25
  var emptyArray = [];
27
26
 
28
27
  /**
@@ -55,82 +54,121 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
55
54
  toggleAs = props.toggleAs,
56
55
  style = props.style,
57
56
  valueProp = props.value,
58
- inline = props.inline,
59
- menuClassName = props.menuClassName,
60
- menuStyle = props.menuStyle,
61
- menuWidth = props.menuWidth,
62
- menuHeight = props.menuHeight,
57
+ popupClassName = props.popupClassName,
58
+ popupStyle = props.popupStyle,
59
+ columnHeight = props.columnHeight,
60
+ columnWidth = props.columnWidth,
63
61
  _props$searchable = props.searchable,
64
62
  searchable = _props$searchable === void 0 ? true : _props$searchable,
65
63
  parentSelectable = props.parentSelectable,
66
64
  _props$placement = props.placement,
67
65
  placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
68
66
  id = props.id,
69
- renderMenuItem = props.renderMenuItem,
67
+ renderColumn = props.renderColumn,
68
+ renderTreeNode = props.renderTreeNode,
70
69
  renderSearchItem = props.renderSearchItem,
71
70
  renderValue = props.renderValue,
72
- renderMenu = props.renderMenu,
73
71
  renderExtraFooter = props.renderExtraFooter,
74
- onEnter = props.onEnter,
72
+ onEntered = props.onEntered,
75
73
  onExited = props.onExited,
76
74
  onClean = props.onClean,
77
75
  onChange = props.onChange,
78
76
  onSelect = props.onSelect,
79
77
  onSearch = props.onSearch,
80
- onClose = props.onClose,
81
- onOpen = props.onOpen,
82
78
  getChildren = props.getChildren,
83
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "inline", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "searchable", "parentSelectable", "placement", "id", "renderMenuItem", "renderSearchItem", "renderValue", "renderMenu", "renderExtraFooter", "onEnter", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren"]); // Use component active state to support keyboard events.
84
- var _useState = (0, _react.useState)(false),
85
- active = _useState[0],
86
- setActive = _useState[1];
79
+ DEPRECATED_menuClassName = props.menuClassName,
80
+ DEPRECATED_menuStyle = props.menuStyle,
81
+ DEPRECATED_menuWidth = props.menuWidth,
82
+ DEPRECATED_menuHeight = props.menuHeight,
83
+ DEPRECATED_renderMenuItem = props.renderMenuItem,
84
+ DEPRECATED_renderMenu = props.renderMenu,
85
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "popupClassName", "popupStyle", "columnHeight", "columnWidth", "searchable", "parentSelectable", "placement", "id", "renderColumn", "renderTreeNode", "renderSearchItem", "renderValue", "renderExtraFooter", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "getChildren", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "renderMenuItem", "renderMenu"]);
87
86
  var _usePickerRef = (0, _Picker.usePickerRef)(ref),
88
87
  trigger = _usePickerRef.trigger,
89
88
  root = _usePickerRef.root,
90
89
  target = _usePickerRef.target,
91
90
  overlay = _usePickerRef.overlay,
92
91
  searchInput = _usePickerRef.searchInput;
93
- var _ref = (0, _utils2.useControlled)(valueProp, defaultValue),
92
+ var _ref = (0, _utils.useControlled)(valueProp, defaultValue),
94
93
  value = _ref[0],
95
- setValue = _ref[1];
96
- var isMounted = (0, _utils2.useIsMounted)();
97
- var loadingItemsSet = (0, _reactUseSet.useSet)();
98
- var asyncChildrenMap = (0, _useMap.useMap)();
94
+ setValue = _ref[1]; // Store the children of each node
95
+ var childrenMap = (0, _useMap.useMap)();
96
+
97
+ // Store the parent of each node
99
98
  var parentMap = (0, _react.useMemo)(function () {
100
99
  return (0, _treeUtils.getParentMap)(data, function (item) {
101
- var _asyncChildrenMap$get;
102
- return (_asyncChildrenMap$get = asyncChildrenMap.get(item)) !== null && _asyncChildrenMap$get !== void 0 ? _asyncChildrenMap$get : item[childrenKey];
100
+ var _childrenMap$get;
101
+ return (_childrenMap$get = childrenMap.get(item)) !== null && _childrenMap$get !== void 0 ? _childrenMap$get : item[childrenKey];
103
102
  });
104
- }, [asyncChildrenMap, childrenKey, data]);
103
+ }, [childrenMap, childrenKey, data]);
104
+
105
+ // Flatten the tree data
105
106
  var flattenedData = (0, _react.useMemo)(function () {
106
107
  return (0, _treeUtils.flattenTree)(data, function (item) {
107
- var _asyncChildrenMap$get2;
108
- return (_asyncChildrenMap$get2 = asyncChildrenMap.get(item)) !== null && _asyncChildrenMap$get2 !== void 0 ? _asyncChildrenMap$get2 : item[childrenKey];
108
+ var _childrenMap$get2;
109
+ return (_childrenMap$get2 = childrenMap.get(item)) !== null && _childrenMap$get2 !== void 0 ? _childrenMap$get2 : item[childrenKey];
109
110
  });
110
- }, [asyncChildrenMap, childrenKey, data]);
111
+ }, [childrenMap, childrenKey, data]);
112
+
113
+ // The selected item
114
+ var selectedItem = flattenedData.find(function (item) {
115
+ return item[valueKey] === value;
116
+ });
111
117
 
112
- // The item that focus is on
113
- var _useState2 = (0, _react.useState)(),
114
- activeItem = _useState2[0],
115
- setActiveItem = _useState2[1];
116
- var _usePaths = (0, _utils.usePaths)({
118
+ // Callback function after selecting the node
119
+ var onSelectCallback = function onSelectCallback(node, event) {
120
+ var _trigger$current;
121
+ var isLeafNode = node.isLeafNode,
122
+ cascadePaths = node.cascadePaths,
123
+ itemData = node.itemData;
124
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(itemData, cascadePaths, event);
125
+ var nextValue = itemData[valueKey];
126
+ if (isLeafNode) {
127
+ // Determines whether the option is a leaf node, and if so, closes the picker.
128
+ handleClose();
129
+ setValue(nextValue);
130
+ return;
131
+ }
132
+
133
+ // When the parent is optional, the value and the displayed path are updated.
134
+ if (parentSelectable && !(0, _utils.shallowEqual)(value, nextValue)) {
135
+ setValue(nextValue);
136
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
137
+ }
138
+
139
+ // Update menu position
140
+ (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.updatePosition();
141
+ };
142
+ var _useSelect = (0, _hooks.useSelect)({
143
+ value: value,
144
+ valueKey: valueKey,
145
+ childrenKey: childrenKey,
146
+ childrenMap: childrenMap,
147
+ selectedItem: selectedItem,
148
+ getChildren: getChildren,
149
+ onChange: onChange,
150
+ onSelect: onSelectCallback
151
+ }),
152
+ activeItem = _useSelect.activeItem,
153
+ setActiveItem = _useSelect.setActiveItem,
154
+ loadingItemsSet = _useSelect.loadingItemsSet,
155
+ handleSelect = _useSelect.handleSelect;
156
+ var _usePaths = (0, _hooks.usePaths)({
117
157
  data: data,
118
158
  activeItem: activeItem,
119
- selectedItem: flattenedData.find(function (item) {
120
- return item[valueKey] === value;
121
- }),
159
+ selectedItem: selectedItem,
122
160
  getParent: function getParent(item) {
123
161
  return parentMap.get(item);
124
162
  },
125
163
  getChildren: function getChildren(item) {
126
- var _asyncChildrenMap$get3;
127
- return (_asyncChildrenMap$get3 = asyncChildrenMap.get(item)) !== null && _asyncChildrenMap$get3 !== void 0 ? _asyncChildrenMap$get3 : item[childrenKey];
164
+ var _childrenMap$get3;
165
+ return (_childrenMap$get3 = childrenMap.get(item)) !== null && _childrenMap$get3 !== void 0 ? _childrenMap$get3 : item[childrenKey];
128
166
  }
129
167
  }),
130
- columnsToDisplay = _usePaths.columnsToDisplay,
168
+ columns = _usePaths.columns,
131
169
  pathTowardsActiveItem = _usePaths.pathTowardsActiveItem,
132
170
  pathTowardsSelectedItem = _usePaths.pathTowardsSelectedItem;
133
- var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),
171
+ var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
134
172
  locale = _useCustom.locale,
135
173
  rtl = _useCustom.rtl;
136
174
  /**
@@ -138,40 +176,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
138
176
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
139
177
  */
140
178
  var hasValue = pathTowardsSelectedItem.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);
141
- var _useClassNames = (0, _utils2.useClassNames)(classPrefix),
179
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
142
180
  prefix = _useClassNames.prefix,
143
181
  merge = _useClassNames.merge;
144
- var _useState3 = (0, _react.useState)(''),
145
- searchKeyword = _useState3[0],
146
- setSearchKeyword = _useState3[1];
147
- var someKeyword = function someKeyword(item, keyword) {
148
- if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {
149
- return true;
150
- }
151
- var parent = parentMap.get(item);
152
- if (parent && someKeyword(parent)) {
153
- return true;
154
- }
155
- return false;
156
- };
157
- var getSearchResult = function getSearchResult(keyword) {
158
- var items = [];
159
- var result = flattenedData.filter(function (item) {
160
- if (!parentSelectable && item[childrenKey]) {
161
- return false;
162
- }
163
- return someKeyword(item, keyword);
164
- });
165
- for (var i = 0; i < result.length; i++) {
166
- items.push(result[i]);
167
-
168
- // A maximum of 100 search results are returned.
169
- if (i === 99) {
170
- return items;
171
- }
172
- }
173
- return items;
174
- };
182
+ var onFocusItemCallback = (0, _react.useCallback)(function (value) {
183
+ setActiveItem(flattenedData.find(function (item) {
184
+ return item[valueKey] === value;
185
+ }));
186
+ }, [flattenedData, setActiveItem, valueKey]);
175
187
 
176
188
  // Used to hover the focuse item when trigger `onKeydown`
177
189
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
@@ -185,20 +197,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
185
197
  getParent: function getParent(item) {
186
198
  return parentMap.get(item);
187
199
  },
188
- callback: (0, _react.useCallback)(function (value) {
189
- setActiveItem(flattenedData.find(function (item) {
190
- return item[valueKey] === value;
191
- }));
192
- }, [flattenedData, setActiveItem, valueKey])
200
+ callback: onFocusItemCallback
193
201
  }),
194
202
  focusItemValue = _useFocusItemValue.focusItemValue,
195
203
  setFocusItemValue = _useFocusItemValue.setFocusItemValue,
196
204
  setLayer = _useFocusItemValue.setLayer,
197
205
  setKeys = _useFocusItemValue.setKeys,
198
206
  onFocusItem = _useFocusItemValue.onKeyDown;
199
- var handleSearch = (0, _utils2.useEventCallback)(function (value, event) {
200
- var items = getSearchResult(value);
201
- setSearchKeyword(value);
207
+ var onSearchCallback = function onSearchCallback(value, items, event) {
202
208
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
203
209
  if (!value || items.length === 0) {
204
210
  setFocusItemValue(undefined);
@@ -209,37 +215,43 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
209
215
  setLayer(0);
210
216
  setKeys([]);
211
217
  }
212
- });
213
- var handleEntered = (0, _utils2.useEventCallback)(function () {
214
- if (!target.current) {
215
- return;
216
- }
217
- onOpen === null || onOpen === void 0 ? void 0 : onOpen();
218
- setActive(true);
219
- });
220
- var handleExited = (0, _utils2.useEventCallback)(function () {
221
- if (!target.current) {
222
- return;
223
- }
224
- onClose === null || onClose === void 0 ? void 0 : onClose();
225
- setActive(false);
226
- setSearchKeyword('');
227
- });
228
- var handleClose = (0, _utils2.useEventCallback)(function () {
229
- var _trigger$current, _target$current, _target$current$focus;
230
- (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.close();
218
+ };
219
+ var _useSearch = (0, _hooks.useSearch)({
220
+ labelKey: labelKey,
221
+ childrenKey: childrenKey,
222
+ parentMap: parentMap,
223
+ flattenedData: flattenedData,
224
+ parentSelectable: parentSelectable,
225
+ onSearch: onSearchCallback
226
+ }),
227
+ items = _useSearch.items,
228
+ searchKeyword = _useSearch.searchKeyword,
229
+ setSearchKeyword = _useSearch.setSearchKeyword,
230
+ handleSearch = _useSearch.handleSearch;
231
+ var _useActive = (0, _useActive2.default)({
232
+ onEntered: onEntered,
233
+ onExited: onExited,
234
+ target: target,
235
+ setSearchKeyword: setSearchKeyword
236
+ }),
237
+ active = _useActive.active,
238
+ handleEntered = _useActive.handleEntered,
239
+ handleExited = _useActive.handleExited;
240
+ var handleClose = (0, _utils.useEventCallback)(function () {
241
+ var _trigger$current2, _target$current, _target$current$focus;
242
+ (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.close();
231
243
 
232
244
  // The focus is on the trigger button after closing
233
245
  (_target$current = target.current) === null || _target$current === void 0 ? void 0 : (_target$current$focus = _target$current.focus) === null || _target$current$focus === void 0 ? void 0 : _target$current$focus.call(_target$current);
234
246
  });
235
- var handleClean = (0, _utils2.useEventCallback)(function (event) {
247
+ var handleClean = (0, _utils.useEventCallback)(function (event) {
236
248
  if (disabled || !target.current) {
237
249
  return;
238
250
  }
239
251
  setValue(null);
240
252
  onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
241
253
  });
242
- var handleMenuPressEnter = (0, _utils2.useEventCallback)(function (event) {
254
+ var handleMenuPressEnter = (0, _utils.useEventCallback)(function (event) {
243
255
  var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
244
256
  return item[valueKey] === focusItemValue;
245
257
  });
@@ -249,14 +261,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
249
261
  if (pathTowardsActiveItem.length) {
250
262
  setLayer(pathTowardsActiveItem.length - 1);
251
263
  }
252
- if (!(0, _shallowEqual.default)(value, focusItemValue)) {
264
+ if (!(0, _utils.shallowEqual)(value, focusItemValue)) {
253
265
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(focusItem, pathTowardsActiveItem, event);
254
266
  onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);
255
267
  }
256
268
  handleClose();
257
269
  }
258
270
  });
259
- var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({
271
+ var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
260
272
  toggle: !focusItemValue || !active,
261
273
  trigger: trigger,
262
274
  target: target,
@@ -267,162 +279,79 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
267
279
  onMenuKeyDown: onFocusItem,
268
280
  onMenuPressEnter: handleMenuPressEnter
269
281
  }, rest));
270
- var handleSelect = (0, _utils2.useEventCallback)(function (node, cascadePaths, isLeafNode, event) {
271
- var _node$childrenKey, _trigger$current2;
272
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
273
- setActiveItem(node);
274
- var nextValue = node[valueKey];
275
-
276
- // Lazy load node's children
277
- if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0 && !asyncChildrenMap.has(node)) {
278
- loadingItemsSet.add(node);
279
- var children = getChildren(node);
280
- if (children instanceof Promise) {
281
- children.then(function (data) {
282
- if (isMounted()) {
283
- loadingItemsSet.delete(node);
284
- asyncChildrenMap.set(node, data);
285
- }
286
- });
287
- } else {
288
- loadingItemsSet.delete(node);
289
- asyncChildrenMap.set(node, children);
290
- }
291
- }
292
- if (isLeafNode) {
293
- // Determines whether the option is a leaf node, and if so, closes the picker.
294
- handleClose();
295
- setValue(nextValue);
296
- if (!(0, _shallowEqual.default)(value, nextValue)) {
297
- onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
298
- }
299
- return;
300
- }
301
-
302
- /** When the parent is optional, the value and the displayed path are updated. */
303
- if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {
304
- setValue(nextValue);
305
- onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
306
- }
307
-
308
- // Update menu position
309
- (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.updatePosition();
310
- });
311
282
 
312
283
  /**
313
284
  * The search structure option is processed after being selected.
314
285
  */
315
- var handleSearchRowSelect = (0, _utils2.useEventCallback)(function (node, nodes, event) {
316
- var nextValue = node[valueKey];
286
+ var handleSearchRowSelect = (0, _utils.useEventCallback)(function (itemData, nodes, event) {
287
+ var nextValue = itemData[valueKey];
317
288
  handleClose();
318
289
  setSearchKeyword('');
319
290
  setValue(nextValue);
320
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);
291
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(itemData, nodes, event);
321
292
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
322
293
  });
323
- var renderSearchRow = function renderSearchRow(item, key) {
324
- var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');
325
- var nodes = (0, _treeUtils.getPathTowardsItem)(item, function (item) {
326
- return parentMap.get(item);
327
- });
328
- var formattedNodes = nodes.map(function (node) {
329
- var _extends2;
330
- var labelElements = [];
331
- var a = node[labelKey].split(regx);
332
- var b = node[labelKey].match(regx);
333
- for (var i = 0; i < a.length; i++) {
334
- labelElements.push(a[i]);
335
- if (b && b[i]) {
336
- labelElements.push( /*#__PURE__*/_react.default.createElement("span", {
337
- key: i,
338
- className: prefix('cascader-search-match')
339
- }, b[i]));
340
- }
341
- }
342
- return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));
343
- });
344
- var disabled = disabledItemValues.some(function (value) {
345
- return formattedNodes.some(function (node) {
346
- return node[valueKey] === value;
347
- });
348
- });
349
- var itemClasses = prefix('cascader-row', {
350
- 'cascader-row-disabled': disabled,
351
- 'cascader-row-focus': item[valueKey] === focusItemValue
352
- });
353
- var label = formattedNodes.map(function (node, index) {
354
- return /*#__PURE__*/_react.default.createElement("span", {
355
- key: "col-" + index,
356
- className: prefix('cascader-col')
357
- }, node[labelKey]);
358
- });
359
- return /*#__PURE__*/_react.default.createElement("div", {
360
- role: "treeitem",
361
- key: key,
362
- "aria-disabled": disabled,
363
- "data-key": item[valueKey],
364
- className: itemClasses,
365
- tabIndex: -1,
366
- onClick: function onClick(event) {
367
- if (!disabled) {
368
- handleSearchRowSelect(item, nodes, event);
369
- }
370
- }
371
- }, renderSearchItem ? renderSearchItem(label, nodes) : label);
294
+ var renderCascadeColumn = function renderCascadeColumn(childNodes, column) {
295
+ var items = column.items,
296
+ parentItem = column.parentItem,
297
+ layer = column.layer;
298
+ if (typeof renderColumn === 'function') {
299
+ return renderColumn(childNodes, column);
300
+ } else if (typeof DEPRECATED_renderMenu === 'function') {
301
+ return DEPRECATED_renderMenu(items, childNodes, parentItem, layer);
302
+ }
303
+ return childNodes;
372
304
  };
373
- var renderSearchResultPanel = function renderSearchResultPanel() {
374
- if (searchKeyword === '') {
375
- return null;
305
+ var renderCascadeTreeNode = function renderCascadeTreeNode(node, itemData) {
306
+ var render = typeof renderTreeNode === 'function' ? renderTreeNode : DEPRECATED_renderMenuItem;
307
+ if (typeof render === 'function') {
308
+ return render(node, itemData);
376
309
  }
377
- var items = getSearchResult();
378
- return /*#__PURE__*/_react.default.createElement("div", {
379
- className: prefix('cascader-search-panel'),
380
- "data-layer": 0,
381
- role: "tree"
382
- }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement("div", {
383
- className: prefix('none')
384
- }, locale.noResultsText));
310
+ return node;
385
311
  };
386
312
  var renderTreeView = function renderTreeView(positionProps, speakerRef) {
387
313
  var _ref2 = positionProps || {},
388
314
  left = _ref2.left,
389
315
  top = _ref2.top,
390
316
  className = _ref2.className;
391
- var styles = (0, _extends3.default)({}, menuStyle, {
317
+ var styles = (0, _extends2.default)({}, DEPRECATED_menuStyle, popupStyle, {
392
318
  left: left,
393
319
  top: top
394
320
  });
395
- var classes = merge(className, menuClassName, prefix('cascader-menu', {
396
- inline: inline
397
- }));
321
+ var classes = merge(className, DEPRECATED_menuClassName, popupClassName, prefix('popup-cascader'));
398
322
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
399
- ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
323
+ ref: (0, _utils.mergeRefs)(overlay, speakerRef),
400
324
  className: classes,
401
325
  style: styles,
402
326
  target: trigger,
403
327
  onKeyDown: onPickerKeyDown
404
- }, searchable && /*#__PURE__*/_react.default.createElement(_SearchBox.default, {
405
- placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
406
- onChange: handleSearch,
407
- value: searchKeyword,
408
- inputRef: searchInput
409
- }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_TreeView.default, {
410
- menuWidth: menuWidth,
411
- menuHeight: menuHeight,
328
+ }, searchable && /*#__PURE__*/_react.default.createElement(_SearchView.default, {
329
+ data: items,
330
+ searchKeyword: searchKeyword,
331
+ valueKey: valueKey,
332
+ labelKey: labelKey,
333
+ parentMap: parentMap,
334
+ disabledItemValues: disabledItemValues,
335
+ focusItemValue: focusItemValue,
336
+ inputRef: searchInput,
337
+ renderSearchItem: renderSearchItem,
338
+ onSelect: handleSearchRowSelect,
339
+ onSearch: handleSearch
340
+ }), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_TreeView.default, {
341
+ columnWidth: columnWidth !== null && columnWidth !== void 0 ? columnWidth : DEPRECATED_menuWidth,
342
+ columnHeight: columnHeight !== null && columnHeight !== void 0 ? columnHeight : DEPRECATED_menuHeight,
412
343
  disabledItemValues: disabledItemValues,
413
344
  loadingItemsSet: loadingItemsSet,
414
345
  valueKey: valueKey,
415
346
  labelKey: labelKey,
416
347
  childrenKey: childrenKey,
417
- classPrefix: 'picker-cascader-menu',
418
- cascadeData: columnsToDisplay,
348
+ classPrefix: 'cascade-tree',
349
+ data: columns,
419
350
  cascadePaths: pathTowardsActiveItem,
420
- activeItemValue: value
421
- // FIXME make onSelect generic
422
- ,
351
+ activeItemValue: value,
423
352
  onSelect: handleSelect,
424
- renderMenu: renderMenu,
425
- renderMenuItem: renderMenuItem
353
+ renderColumn: renderCascadeColumn,
354
+ renderTreeNode: renderCascadeTreeNode
426
355
  }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
427
356
  };
428
357
  var selectedElement = placeholder;
@@ -448,7 +377,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
448
377
  hasValue = false;
449
378
  }
450
379
  }
451
- var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {
380
+ var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
452
381
  classPrefix: classPrefix,
453
382
  hasValue: hasValue,
454
383
  name: 'cascader',
@@ -456,30 +385,26 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
456
385
  cleanable: cleanable
457
386
  })),
458
387
  classes = _usePickerClassName[0],
459
- usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design
460
- // consider an isolated Menu component
461
- if (inline) {
462
- return renderTreeView();
463
- }
388
+ usedClassNamePropKeys = _usePickerClassName[1];
464
389
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
465
390
  id: id,
466
391
  popupType: "tree",
467
392
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
468
393
  ref: trigger,
469
394
  placement: placement,
470
- onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),
471
- onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),
395
+ onEntered: handleEntered,
396
+ onExited: handleExited,
472
397
  speaker: renderTreeView
473
398
  }, /*#__PURE__*/_react.default.createElement(Component, {
474
399
  className: classes,
475
400
  style: style,
476
401
  ref: root
477
- }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
402
+ }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
478
403
  ref: target,
479
404
  as: toggleAs,
480
405
  appearance: appearance,
481
406
  disabled: disabled,
482
- onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),
407
+ onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
483
408
  onKeyDown: onPickerKeyDown,
484
409
  cleanable: cleanable && !disabled,
485
410
  hasValue: hasValue,
@@ -490,21 +415,25 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
490
415
  }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
491
416
  });
492
417
  Cascader.displayName = 'Cascader';
493
- Cascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {
418
+ Cascader.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
494
419
  disabledItemValues: _propTypes.default.array,
495
420
  locale: _propTypes.default.any,
496
421
  appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),
497
- renderMenu: _propTypes.default.func,
498
422
  onSelect: _propTypes.default.func,
499
423
  onSearch: _propTypes.default.func,
500
424
  cleanable: _propTypes.default.bool,
501
- renderMenuItem: _propTypes.default.func,
425
+ renderColumn: _propTypes.default.func,
426
+ renderTreeNode: _propTypes.default.func,
502
427
  renderSearchItem: _propTypes.default.func,
503
- menuWidth: _propTypes.default.number,
504
- menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
428
+ columnWidth: _propTypes.default.number,
429
+ columnHeight: _propTypes.default.number,
505
430
  searchable: _propTypes.default.bool,
506
- inline: _propTypes.default.bool,
507
- parentSelectable: _propTypes.default.bool
431
+ parentSelectable: _propTypes.default.bool,
432
+ inline: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.bool, 'Use `<CascadeTree>` instead.'),
433
+ renderMenu: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.func, 'Use "renderColumn" property instead.'),
434
+ renderMenuItem: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.func, 'Use "renderTreeNode" property instead.'),
435
+ menuWidth: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.number, 'Use "columnWidth" property instead.'),
436
+ menuHeight: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.number, 'Use "columnHeight" property instead.')
508
437
  });
509
438
  var _default = Cascader;
510
439
  exports.default = _default;
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ interface UseActiveProps {
3
+ target: React.RefObject<HTMLElement>;
4
+ onOpen?: () => void;
5
+ onClose?: () => void;
6
+ onEntered?: (node: HTMLElement) => void;
7
+ onExited?: (node: HTMLElement) => void;
8
+ setSearchKeyword: (keyword: string) => void;
9
+ }
10
+ declare const useActive: (props: UseActiveProps) => {
11
+ active: boolean;
12
+ handleEntered: (...args: any[]) => any;
13
+ handleExited: (...args: any[]) => any;
14
+ };
15
+ export default useActive;