@qsxy/element-plus-react 1.0.0-next.10 → 1.0.0-next.11

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 (398) hide show
  1. package/dist/Avatar/Avatar.js +73 -72
  2. package/dist/Avatar/index.js +1 -39
  3. package/dist/Avatar/typings.js +1 -17
  4. package/dist/Badge/Badge.d.ts +2 -2
  5. package/dist/Badge/Badge.js +63 -60
  6. package/dist/Badge/index.js +1 -39
  7. package/dist/Badge/typings.d.ts +1 -1
  8. package/dist/Badge/typings.js +1 -17
  9. package/dist/Breadcrumb/Breadcrumb.js +23 -50
  10. package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
  11. package/dist/Breadcrumb/index.js +2 -42
  12. package/dist/Breadcrumb/typings.js +1 -17
  13. package/dist/Button/Button.js +132 -105
  14. package/dist/Button/ButtonGroup.js +29 -48
  15. package/dist/Button/ButtonGroupContext.js +2 -30
  16. package/dist/Button/index.js +2 -42
  17. package/dist/Button/typings.d.ts +4 -2
  18. package/dist/Button/typings.js +1 -17
  19. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  20. package/dist/Button/useButtonCustomStyle.js +65 -0
  21. package/dist/Calendar/Calendar.js +310 -237
  22. package/dist/Calendar/CalendarContext.js +3 -27
  23. package/dist/Calendar/DatePanel.js +191 -158
  24. package/dist/Calendar/DateRangePanel.js +140 -125
  25. package/dist/Calendar/Footer.js +41 -51
  26. package/dist/Calendar/Header.js +83 -65
  27. package/dist/Calendar/MonthPanel.js +138 -124
  28. package/dist/Calendar/MonthRangePanel.js +137 -124
  29. package/dist/Calendar/ShortCuts.js +21 -40
  30. package/dist/Calendar/WeekPanel.js +213 -145
  31. package/dist/Calendar/YearPanel.js +150 -125
  32. package/dist/Calendar/YearRangePanel.js +138 -128
  33. package/dist/Calendar/index.js +4 -47
  34. package/dist/Calendar/typings.js +1 -17
  35. package/dist/Calendar/util.js +26 -68
  36. package/dist/Card/Card.js +36 -46
  37. package/dist/Card/index.js +1 -39
  38. package/dist/Card/typings.js +1 -17
  39. package/dist/Carousel/Carousel.js +202 -166
  40. package/dist/Carousel/CarouselContext.js +14 -42
  41. package/dist/Carousel/CarouselItem.js +55 -71
  42. package/dist/Carousel/hooks/useCarousel.js +263 -238
  43. package/dist/Carousel/hooks/useCarouselItem.js +136 -132
  44. package/dist/Carousel/index.js +2 -42
  45. package/dist/Carousel/typings.js +1 -17
  46. package/dist/Cascader/Cascader.js +693 -569
  47. package/dist/Cascader/CascaderContext.js +9 -45
  48. package/dist/Cascader/CascaderDropdown.js +90 -77
  49. package/dist/Cascader/CascaderMenu.js +101 -114
  50. package/dist/Cascader/Utils.js +6 -33
  51. package/dist/Cascader/index.js +1 -39
  52. package/dist/Cascader/typings.d.ts +1 -1
  53. package/dist/Cascader/typings.js +1 -17
  54. package/dist/Cascader/useCascader.js +648 -458
  55. package/dist/Checkbox/Checkbox.d.ts +3 -3
  56. package/dist/Checkbox/Checkbox.js +136 -161
  57. package/dist/Checkbox/CheckboxButton.js +132 -157
  58. package/dist/Checkbox/index.js +2 -42
  59. package/dist/Checkbox/typings.d.ts +1 -1
  60. package/dist/Checkbox/typings.js +1 -17
  61. package/dist/CheckboxGroup/CheckboxGroup.js +133 -112
  62. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  63. package/dist/CheckboxGroup/index.js +2 -42
  64. package/dist/Col/Col.js +53 -72
  65. package/dist/Col/index.js +1 -39
  66. package/dist/Col/typings.js +1 -17
  67. package/dist/Collapse/Collapse.js +36 -45
  68. package/dist/Collapse/CollapseContext.js +3 -31
  69. package/dist/Collapse/CollapseItem.js +88 -73
  70. package/dist/Collapse/CollapseTransition.js +29 -67
  71. package/dist/Collapse/index.js +2 -42
  72. package/dist/Collapse/typings.js +1 -17
  73. package/dist/ColorPicker/AlphaSlider.js +117 -99
  74. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  75. package/dist/ColorPicker/ColorPicker.js +233 -189
  76. package/dist/ColorPicker/HueSlider.js +102 -96
  77. package/dist/ColorPicker/Predefine.js +65 -66
  78. package/dist/ColorPicker/SvPanel.js +95 -81
  79. package/dist/ColorPicker/color.js +301 -213
  80. package/dist/ColorPicker/draggable.js +30 -48
  81. package/dist/ColorPicker/index.js +1 -39
  82. package/dist/ColorPicker/typings.js +1 -17
  83. package/dist/ColorPicker/util.js +23 -60
  84. package/dist/ConfigProvider/ConfigProvider.js +4 -28
  85. package/dist/ConfigProvider/index.js +1 -39
  86. package/dist/DatePicker/DatePicker.d.ts +3 -3
  87. package/dist/DatePicker/DatePicker.js +251 -227
  88. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  89. package/dist/DatePicker/DateRangePicker.js +279 -276
  90. package/dist/DatePicker/index.js +2 -39
  91. package/dist/DatePicker/main.d.ts +2 -2
  92. package/dist/DatePicker/main.js +21 -44
  93. package/dist/DatePicker/typings.d.ts +24 -17
  94. package/dist/DatePicker/typings.js +1 -17
  95. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  96. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  97. package/dist/DateTimePicker/index.js +1 -39
  98. package/dist/DateTimePicker/typings.d.ts +10 -13
  99. package/dist/DateTimePicker/typings.js +1 -17
  100. package/dist/DateTimePicker/util.js +5 -35
  101. package/dist/Descriptions/Descriptions.js +83 -63
  102. package/dist/Descriptions/DescriptionsCell.js +67 -79
  103. package/dist/Descriptions/DescriptionsContext.js +4 -32
  104. package/dist/Descriptions/DescriptionsItem.js +4 -27
  105. package/dist/Descriptions/DescriptionsRow.js +42 -44
  106. package/dist/Descriptions/index.js +2 -42
  107. package/dist/Descriptions/typings.js +1 -17
  108. package/dist/Dialog/Dialog.js +224 -176
  109. package/dist/Dialog/DialogBody.js +52 -59
  110. package/dist/Dialog/DialogContext.js +6 -44
  111. package/dist/Dialog/DialogFooter.js +21 -45
  112. package/dist/Dialog/DialogHeader.js +44 -50
  113. package/dist/Dialog/index.js +1 -39
  114. package/dist/Dialog/typings.d.ts +1 -1
  115. package/dist/Dialog/typings.js +1 -17
  116. package/dist/Dialog/useDraggable.js +52 -79
  117. package/dist/Divider/Divider.d.ts +3 -3
  118. package/dist/Divider/Divider.js +38 -44
  119. package/dist/Divider/index.js +1 -39
  120. package/dist/Drawer/Drawer.js +144 -136
  121. package/dist/Drawer/DrawerBody.js +35 -57
  122. package/dist/Drawer/DrawerContext.js +13 -44
  123. package/dist/Drawer/DrawerFooter.js +22 -43
  124. package/dist/Drawer/DrawerHeader.js +41 -48
  125. package/dist/Drawer/index.js +1 -39
  126. package/dist/Drawer/typings.js +1 -17
  127. package/dist/Dropdown/Dropdown.js +89 -107
  128. package/dist/Dropdown/DropdownContext.js +5 -43
  129. package/dist/Dropdown/DropdownItem.js +40 -60
  130. package/dist/Dropdown/DropdownMenu.js +28 -56
  131. package/dist/Dropdown/index.js +3 -45
  132. package/dist/Dropdown/typings.js +1 -17
  133. package/dist/Empty/Empty.js +32 -53
  134. package/dist/Empty/ImgEmpty.js +115 -117
  135. package/dist/Empty/index.js +1 -39
  136. package/dist/Form/FieldContext.js +8 -37
  137. package/dist/Form/Form.js +167 -162
  138. package/dist/Form/FormContext.js +58 -97
  139. package/dist/Form/FormItem.js +620 -352
  140. package/dist/Form/FormItemContext.js +3 -31
  141. package/dist/Form/List.js +121 -104
  142. package/dist/Form/ListContext.js +3 -27
  143. package/dist/Form/index.js +3 -45
  144. package/dist/Form/typings.d.ts +25 -4
  145. package/dist/Form/typings.js +1 -17
  146. package/dist/Form/useForm.js +830 -690
  147. package/dist/Form/useWatch.js +64 -79
  148. package/dist/Form/utils/NameMap.js +98 -69
  149. package/dist/Form/utils/asyncUtil.js +9 -37
  150. package/dist/Form/utils/classUtil.js +26 -48
  151. package/dist/Form/utils/cloneDeep.js +8 -29
  152. package/dist/Form/utils/get.js +6 -30
  153. package/dist/Form/utils/messages.js +25 -53
  154. package/dist/Form/utils/set.js +31 -44
  155. package/dist/Form/utils/typeUtil.js +3 -31
  156. package/dist/Form/utils/util.js +18 -55
  157. package/dist/Form/utils/validateUtil.js +284 -159
  158. package/dist/Form/utils/valueUtil.js +102 -107
  159. package/dist/Icon/Icon.js +39 -63
  160. package/dist/Icon/IconList/Check.js +25 -65
  161. package/dist/Icon/IconList/Close.js +23 -52
  162. package/dist/Icon/IconList/Delete.js +25 -65
  163. package/dist/Icon/IconList/Down.js +25 -65
  164. package/dist/Icon/IconList/Eye.js +25 -65
  165. package/dist/Icon/IconList/EyeClose.js +25 -65
  166. package/dist/Icon/IconList/Left.js +25 -65
  167. package/dist/Icon/IconList/Link.js +19 -55
  168. package/dist/Icon/IconList/More.js +25 -65
  169. package/dist/Icon/IconList/Question.js +25 -65
  170. package/dist/Icon/IconList/Right.js +25 -65
  171. package/dist/Icon/IconList/Search.js +25 -65
  172. package/dist/Icon/IconList/Up.js +25 -65
  173. package/dist/Icon/IconList/Upload.js +25 -65
  174. package/dist/Icon/IconList/index.js +14 -68
  175. package/dist/Icon/index.js +2 -42
  176. package/dist/Icon/typings.js +1 -17
  177. package/dist/Input/Input.js +334 -358
  178. package/dist/Input/InputGroup.js +27 -43
  179. package/dist/Input/InputRange.js +295 -308
  180. package/dist/Input/TextArea.js +129 -120
  181. package/dist/Input/index.js +3 -45
  182. package/dist/Input/typings.js +1 -17
  183. package/dist/InputNumber/InputNumber.js +219 -203
  184. package/dist/InputNumber/index.js +1 -39
  185. package/dist/InputNumber/typings.d.ts +1 -1
  186. package/dist/InputNumber/typings.js +1 -17
  187. package/dist/Link/Link.js +43 -60
  188. package/dist/Link/index.js +1 -39
  189. package/dist/Link/typings.js +1 -17
  190. package/dist/Loading/Loading.js +93 -66
  191. package/dist/Loading/index.js +1 -39
  192. package/dist/Loading/typings.js +1 -17
  193. package/dist/Message/Main.js +41 -66
  194. package/dist/Message/Message.js +167 -130
  195. package/dist/Message/index.js +68 -88
  196. package/dist/Message/typings.js +1 -17
  197. package/dist/MessageBox/Main.js +43 -68
  198. package/dist/MessageBox/MessageBox.js +253 -202
  199. package/dist/MessageBox/index.js +74 -79
  200. package/dist/MessageBox/typings.js +1 -17
  201. package/dist/Notification/Main.js +41 -66
  202. package/dist/Notification/Notification.js +148 -131
  203. package/dist/Notification/index.js +76 -92
  204. package/dist/Notification/typings.js +1 -17
  205. package/dist/Pagination/Options.js +104 -99
  206. package/dist/Pagination/Pager.js +30 -61
  207. package/dist/Pagination/Pagination.js +462 -380
  208. package/dist/Pagination/index.js +1 -39
  209. package/dist/Pagination/typings.js +1 -17
  210. package/dist/Pagination/util.js +10 -41
  211. package/dist/Popconfirm/Popconfirm.js +108 -116
  212. package/dist/Popconfirm/index.js +1 -39
  213. package/dist/Popconfirm/typings.js +1 -17
  214. package/dist/Popover/Popover.js +87 -89
  215. package/dist/Popover/index.js +1 -39
  216. package/dist/Popover/typings.js +1 -17
  217. package/dist/Popper/Popper.js +172 -149
  218. package/dist/Popper/index.js +1 -39
  219. package/dist/Popper/popperOptions.js +79 -90
  220. package/dist/Popper/typings.js +1 -17
  221. package/dist/Progress/Progress.js +186 -155
  222. package/dist/Progress/index.js +1 -39
  223. package/dist/Progress/typings.js +1 -17
  224. package/dist/Radio/Radio.js +158 -117
  225. package/dist/Radio/RadioButton.js +127 -117
  226. package/dist/Radio/index.js +1 -39
  227. package/dist/Radio/typings.js +1 -17
  228. package/dist/RadioGroup/RadioGroup.js +63 -78
  229. package/dist/RadioGroup/index.js +1 -39
  230. package/dist/RadioGroup/typings.js +1 -17
  231. package/dist/Row/Row.js +41 -62
  232. package/dist/Row/RowContext.js +3 -31
  233. package/dist/Row/index.js +2 -42
  234. package/dist/Row/typings.js +1 -17
  235. package/dist/Scrollbar/Scrollbar.js +172 -133
  236. package/dist/Scrollbar/Thumb.js +108 -96
  237. package/dist/Scrollbar/index.js +1 -39
  238. package/dist/Scrollbar/typings.d.ts +11 -2
  239. package/dist/Scrollbar/typings.js +1 -17
  240. package/dist/Scrollbar/util.js +24 -51
  241. package/dist/Select/Option.js +50 -75
  242. package/dist/Select/OptionGroup.js +31 -47
  243. package/dist/Select/Select.js +25 -48
  244. package/dist/Select/SelectContext.js +8 -46
  245. package/dist/Select/SelectCore.js +449 -377
  246. package/dist/Select/SelectDropdown.js +200 -160
  247. package/dist/Select/index.js +2 -42
  248. package/dist/Select/typings.d.ts +1 -1
  249. package/dist/Select/typings.js +1 -17
  250. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  251. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  252. package/dist/Skeleton/PlaceholderParagraph.js +51 -52
  253. package/dist/Skeleton/Skeleton.js +8 -42
  254. package/dist/Skeleton/index.js +1 -39
  255. package/dist/Switch/Switch.js +177 -154
  256. package/dist/Switch/index.js +1 -39
  257. package/dist/Switch/typings.js +1 -17
  258. package/dist/Table/Colgroup.js +17 -41
  259. package/dist/Table/Table.js +246 -188
  260. package/dist/Table/TableBody.js +265 -200
  261. package/dist/Table/TableCell.js +461 -320
  262. package/dist/Table/TableColumn.js +9 -43
  263. package/dist/Table/TableContext.js +44 -63
  264. package/dist/Table/TableHeader.js +112 -102
  265. package/dist/Table/TableHeaderCell.js +211 -158
  266. package/dist/Table/hooks/useResize.js +69 -83
  267. package/dist/Table/hooks/useScroll.js +88 -114
  268. package/dist/Table/hooks/useSelection.js +145 -110
  269. package/dist/Table/hooks/useTable.js +411 -309
  270. package/dist/Table/index.js +2 -42
  271. package/dist/Table/treeUtil.js +99 -77
  272. package/dist/Table/typings.js +1 -17
  273. package/dist/Table/util.js +168 -109
  274. package/dist/Tabs/TabPane.js +51 -53
  275. package/dist/Tabs/Tabs.js +277 -178
  276. package/dist/Tabs/TabsContext.js +4 -32
  277. package/dist/Tabs/index.js +2 -42
  278. package/dist/Tabs/typings.js +1 -17
  279. package/dist/Tag/Tag.js +75 -74
  280. package/dist/Tag/index.js +1 -39
  281. package/dist/Tag/typings.js +1 -17
  282. package/dist/TimeLine/TimeLine.js +13 -42
  283. package/dist/TimeLine/TimeLineItem.js +66 -54
  284. package/dist/TimeLine/index.js +2 -42
  285. package/dist/TimeLine/typings.js +1 -17
  286. package/dist/TimePicker/TimePicker.d.ts +1 -4
  287. package/dist/TimePicker/TimePicker.js +275 -215
  288. package/dist/TimePicker/TimePickerPanel.js +62 -71
  289. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  290. package/dist/TimePicker/TimePickerRange.js +371 -334
  291. package/dist/TimePicker/TimeRangePanel.js +182 -165
  292. package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
  293. package/dist/TimePicker/index.d.ts +2 -3
  294. package/dist/TimePicker/index.js +1 -42
  295. package/dist/TimePicker/main.d.ts +9 -0
  296. package/dist/TimePicker/main.js +17 -0
  297. package/dist/TimePicker/typings.d.ts +29 -24
  298. package/dist/TimePicker/typings.js +1 -17
  299. package/dist/TimePicker/useTimePicker.js +62 -65
  300. package/dist/TimePicker/util.js +8 -40
  301. package/dist/Tooltip/Tooltip.js +172 -180
  302. package/dist/Tooltip/TooltipContext.js +8 -46
  303. package/dist/Tooltip/index.js +2 -42
  304. package/dist/Tooltip/typings.js +1 -17
  305. package/dist/Transfer/List.js +290 -241
  306. package/dist/Transfer/ListBody.js +92 -106
  307. package/dist/Transfer/ListItem.js +38 -51
  308. package/dist/Transfer/Transfer.js +323 -280
  309. package/dist/Transfer/index.js +1 -39
  310. package/dist/Transfer/interface.js +1 -17
  311. package/dist/Transfer/operation.js +35 -48
  312. package/dist/Transfer/search.js +30 -62
  313. package/dist/Transfer/typings/index.js +1 -17
  314. package/dist/Transfer/typings/list.js +1 -17
  315. package/dist/Transfer/typings/listBody.js +2 -30
  316. package/dist/Transition/Transition.js +271 -234
  317. package/dist/Transition/TransitionGroup.js +136 -88
  318. package/dist/Transition/TransitionGroupContext.js +2 -26
  319. package/dist/Transition/childMapping.js +84 -71
  320. package/dist/Transition/index.js +2 -42
  321. package/dist/Transition/util.d.ts +0 -1
  322. package/dist/Transition/util.js +6 -47
  323. package/dist/Tree/DirectoryTree.js +146 -118
  324. package/dist/Tree/DropIndicator.js +15 -45
  325. package/dist/Tree/Indent.js +23 -54
  326. package/dist/Tree/MotionTreeNode.js +94 -95
  327. package/dist/Tree/NodeList.js +228 -221
  328. package/dist/Tree/RCTree.js +969 -702
  329. package/dist/Tree/Tree.js +64 -79
  330. package/dist/Tree/TreeNode.js +254 -255
  331. package/dist/Tree/contextTypes.js +8 -42
  332. package/dist/Tree/index.js +4 -48
  333. package/dist/Tree/typings.js +1 -17
  334. package/dist/Tree/useUnmount.js +21 -41
  335. package/dist/Tree/util.js +156 -134
  336. package/dist/Tree/utils/conductUtil.js +113 -104
  337. package/dist/Tree/utils/dictUtil.js +50 -78
  338. package/dist/Tree/utils/diffUtil.js +26 -43
  339. package/dist/Tree/utils/dropIndicator.js +23 -51
  340. package/dist/Tree/utils/iconUtil.js +44 -51
  341. package/dist/Tree/utils/keyUtil.js +2 -26
  342. package/dist/Tree/utils/motion.js +34 -72
  343. package/dist/Tree/utils/pickAttrs.js +30 -58
  344. package/dist/Tree/utils/treeUtil.js +263 -203
  345. package/dist/TreeSelect/TreeSelect.js +521 -459
  346. package/dist/TreeSelect/Utils.js +15 -36
  347. package/dist/TreeSelect/index.js +1 -39
  348. package/dist/TreeSelect/typings.d.ts +1 -1
  349. package/dist/TreeSelect/typings.js +1 -17
  350. package/dist/Upload/Upload.js +106 -109
  351. package/dist/Upload/UploadContent.js +227 -182
  352. package/dist/Upload/UploadContext.js +5 -33
  353. package/dist/Upload/UploadDrag.js +77 -97
  354. package/dist/Upload/UploadList.js +104 -73
  355. package/dist/Upload/ajax.js +45 -71
  356. package/dist/Upload/index.js +1 -39
  357. package/dist/Upload/typings.js +34 -36
  358. package/dist/Upload/use-handlers.js +182 -126
  359. package/dist/Util/Math.js +81 -78
  360. package/dist/Util/PopupManager.js +5 -27
  361. package/dist/Util/base.js +101 -171
  362. package/dist/Util/genFileId.js +3 -29
  363. package/dist/Util/index.js +6 -51
  364. package/dist/Util/resize-event.js +31 -54
  365. package/dist/Util/shallowEqual.js +30 -28
  366. package/dist/Util/treeUtils.js +68 -64
  367. package/dist/config/Constants.js +17 -47
  368. package/dist/display.css +1 -0
  369. package/dist/hooks/animationPropsUtils.js +25 -49
  370. package/dist/hooks/htmlPropsUtils.js +54 -121
  371. package/dist/hooks/index.js +14 -73
  372. package/dist/hooks/popperPropsUtils.js +25 -67
  373. package/dist/hooks/prefix.js +22 -55
  374. package/dist/hooks/treePropsUtils.js +24 -103
  375. package/dist/hooks/useChildrenInstance.js +51 -60
  376. package/dist/hooks/useClassNames.d.ts +2 -0
  377. package/dist/hooks/useClassNames.js +279 -197
  378. package/dist/hooks/useClickOutside.js +37 -62
  379. package/dist/hooks/useCommonProps.js +17 -53
  380. package/dist/hooks/useComponentWillMount.js +4 -28
  381. package/dist/hooks/useControlled.js +31 -37
  382. package/dist/hooks/useForceUpdate.js +16 -34
  383. package/dist/hooks/useUpdateEffect.js +6 -29
  384. package/dist/index.css +1 -57810
  385. package/dist/index.d.ts +0 -2
  386. package/dist/index.js +69 -237
  387. package/dist/theme-chalk/common/index.js +1 -2
  388. package/dist/theme-chalk/common/index.scss +2 -2
  389. package/dist/theme-chalk/date-picker/index.scss +1 -1
  390. package/dist/theme-chalk/display.scss +46 -0
  391. package/dist/theme-chalk/form/index.scss +21 -2
  392. package/dist/types/common.js +1 -17
  393. package/dist/types/type.js +16 -28
  394. package/package.json +6 -1
  395. package/theme-chalk/common/index.scss +2 -2
  396. package/theme-chalk/date-picker/index.scss +1 -1
  397. package/theme-chalk/display.scss +46 -0
  398. package/theme-chalk/form/index.scss +21 -2
@@ -1,82 +1,106 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ import cloneDeep from 'lodash/cloneDeep';
18
+ import find from 'lodash/find';
19
+ import isEqual from 'lodash/isEqual';
20
+ import last from 'lodash/last';
21
+ import { useCallback, useEffect, useRef, useState } from 'react';
22
+ import { isEmpty, isNotEmpty, randomCode } from "../Util";
23
+ export var useCascader = function useCascader(initialData, props, value) {
24
+ var menuProps = props.props,
25
+ showAllLevels = props.showAllLevels,
26
+ separator = props.separator;
27
+ var _menuProps$childrenKe = menuProps.childrenKey,
28
+ childrenKey = _menuProps$childrenKe === void 0 ? 'children' : _menuProps$childrenKe,
29
+ _menuProps$valueKey = menuProps.valueKey,
30
+ valueKey = _menuProps$valueKey === void 0 ? 'value' : _menuProps$valueKey,
31
+ _menuProps$labelKey = menuProps.labelKey,
32
+ labelKey = _menuProps$labelKey === void 0 ? 'label' : _menuProps$labelKey,
33
+ _menuProps$leafKey = menuProps.leafKey,
34
+ leafKey = _menuProps$leafKey === void 0 ? 'leaf' : _menuProps$leafKey,
35
+ lazy = menuProps.lazy;
36
+ // 展开层级数
37
+ var _useState = useState(0),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ allLevel = _useState2[0],
40
+ setAllLevel = _useState2[1];
41
+ // 缓存每层组件类型
42
+ var _useState3 = useState([]),
43
+ _useState4 = _slicedToArray(_useState3, 2),
44
+ dataTypes = _useState4[0],
45
+ setDataTypes = _useState4[1];
46
+ // 缓存每层组件类型(同上)
47
+ var _dataTypes = useRef([]);
48
+ // 缓存每层平铺数据
49
+ var _useState5 = useState({}),
50
+ _useState6 = _slicedToArray(_useState5, 2),
51
+ optionData = _useState6[0],
52
+ setOptionData = _useState6[1];
53
+ // 缓存每层平铺数据(同上)
54
+ var _optionData = useRef({});
55
+ // 选中的数据组
56
+ var selectedValue = useRef([]);
57
+ // 选中的数据标签组
58
+ var selectedLabel = useRef([]);
59
+ // 选中的节点组
60
+ var selectedNode = useRef([]);
61
+ // 选中的节点组(多选)
62
+ var checkedNodes = useRef([]);
63
+ // 树组件扩展keys
64
+ var expandKeys = useRef({});
28
65
 
29
- // src/Cascader/useCascader.ts
30
- var useCascader_exports = {};
31
- __export(useCascader_exports, {
32
- useCascader: () => useCascader
33
- });
34
- module.exports = __toCommonJS(useCascader_exports);
35
- var import_cloneDeep = __toESM(require("lodash/cloneDeep"));
36
- var import_find = __toESM(require("lodash/find"));
37
- var import_isEqual = __toESM(require("lodash/isEqual"));
38
- var import_last = __toESM(require("lodash/last"));
39
- var import_react = require("react");
40
- var import_Util = require("../Util");
41
- var useCascader = (initialData, props, value) => {
42
- const { props: menuProps, showAllLevels, separator } = props;
43
- const { childrenKey = "children", valueKey = "value", labelKey = "label", leafKey = "leaf", lazy } = menuProps;
44
- const [allLevel, setAllLevel] = (0, import_react.useState)(0);
45
- const [dataTypes, setDataTypes] = (0, import_react.useState)([]);
46
- const _dataTypes = (0, import_react.useRef)([]);
47
- const [optionData, setOptionData] = (0, import_react.useState)({});
48
- const _optionData = (0, import_react.useRef)({});
49
- const selectedValue = (0, import_react.useRef)([]);
50
- const selectedLabel = (0, import_react.useRef)([]);
51
- const selectedNode = (0, import_react.useRef)([]);
52
- const checkedNodes = (0, import_react.useRef)([]);
53
- const expandKeys = (0, import_react.useRef)({});
54
- const init = (0, import_react.useCallback)(
55
- (nodes = [], level, pid = "0") => {
56
- nodes.forEach((item) => {
57
- const __id = (0, import_Util.randomCode)(11);
58
- if (Object.prototype.hasOwnProperty.call(item, childrenKey)) {
59
- init(item[childrenKey], level + 1, __id);
60
- }
61
- if (_optionData.current[`level${level}`] === void 0) {
62
- _optionData.current[`level${level}`] = [];
63
- }
64
- Object.assign(item, {
65
- __level: level,
66
- __id,
67
- __pId: pid,
68
- __leaf: item[leafKey] ?? !Object.prototype.hasOwnProperty.call(item, childrenKey) ?? false,
69
- __checked: false,
70
- __indeterminate: false
71
- });
72
- _optionData.current[`level${level}`].push(item);
66
+ /**
67
+ * 初始化时分离不同层级的数据
68
+ * @param nodes
69
+ * @param level 层级
70
+ */
71
+ var init = useCallback(function () {
72
+ var nodes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
73
+ var level = arguments.length > 1 ? arguments[1] : undefined;
74
+ var pid = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
75
+ nodes.forEach(function (item) {
76
+ var _ref, _item$leafKey;
77
+ var __id = randomCode(11);
78
+ if (Object.prototype.hasOwnProperty.call(item, childrenKey)) {
79
+ init(item[childrenKey], level + 1, __id);
80
+ }
81
+ if (_optionData.current["level".concat(level)] === undefined) {
82
+ _optionData.current["level".concat(level)] = [];
83
+ }
84
+ Object.assign(item, {
85
+ __level: level,
86
+ __id: __id,
87
+ __pId: pid,
88
+ __leaf: (_ref = (_item$leafKey = item[leafKey]) !== null && _item$leafKey !== void 0 ? _item$leafKey : !Object.prototype.hasOwnProperty.call(item, childrenKey)) !== null && _ref !== void 0 ? _ref : false,
89
+ __checked: false,
90
+ __indeterminate: false
73
91
  });
74
- return _optionData.current;
75
- },
76
- [childrenKey, leafKey]
77
- );
78
- const setSelectedValue = (0, import_react.useCallback)((level, val) => {
79
- selectedValue.current = selectedValue.current.map((item, l) => {
92
+ _optionData.current["level".concat(level)].push(item);
93
+ });
94
+ return _optionData.current;
95
+ }, [childrenKey, leafKey]);
96
+
97
+ /**
98
+ * 设置任意层级节点的值
99
+ * @param level 层级
100
+ * @param value
101
+ */
102
+ var setSelectedValue = useCallback(function (level, val) {
103
+ selectedValue.current = selectedValue.current.map(function (item, l) {
80
104
  if (l < level) {
81
105
  return item;
82
106
  } else if (level === l) {
@@ -86,8 +110,14 @@ var useCascader = (initialData, props, value) => {
86
110
  }
87
111
  });
88
112
  }, []);
89
- const setSelectedLabel = (0, import_react.useCallback)((level, val) => {
90
- selectedLabel.current = selectedLabel.current.map((item, l) => {
113
+
114
+ /**
115
+ * 设置任意层级节点的标签
116
+ * @param level 层级
117
+ * @param value
118
+ */
119
+ var setSelectedLabel = useCallback(function (level, val) {
120
+ selectedLabel.current = selectedLabel.current.map(function (item, l) {
91
121
  if (l < level) {
92
122
  return item;
93
123
  } else if (level === l) {
@@ -97,388 +127,546 @@ var useCascader = (initialData, props, value) => {
97
127
  }
98
128
  });
99
129
  }, []);
100
- const setSelectedNode = (0, import_react.useCallback)(
101
- (level, node) => {
102
- selectedNode.current = selectedNode.current.map((item, l) => {
103
- if (l < level) {
104
- return item;
105
- } else if (level === l) {
106
- return node;
107
- } else {
108
- return null;
109
- }
110
- });
111
- setSelectedValue(level, node[valueKey]);
112
- setSelectedLabel(level, node[labelKey]);
113
- },
114
- [labelKey, setSelectedLabel, setSelectedValue, valueKey]
115
- );
116
- const getSelectedValue = (0, import_react.useCallback)(() => {
117
- const res = selectedValue.current.filter((item) => (0, import_Util.isNotEmpty)(item));
118
- return (0, import_cloneDeep.default)(res);
130
+
131
+ /**
132
+ * 设置任意层级节点的标签
133
+ * @param level 层级
134
+ * @param value
135
+ */
136
+ var setSelectedNode = useCallback(function (level, node) {
137
+ selectedNode.current = selectedNode.current.map(function (item, l) {
138
+ if (l < level) {
139
+ return item;
140
+ } else if (level === l) {
141
+ return node;
142
+ } else {
143
+ return null;
144
+ }
145
+ });
146
+ setSelectedValue(level, node[valueKey]);
147
+ setSelectedLabel(level, node[labelKey]);
148
+ }, [labelKey, setSelectedLabel, setSelectedValue, valueKey]);
149
+
150
+ /**
151
+ * 获取选中的值
152
+ * @param level 层级
153
+ * @returns
154
+ */
155
+ var getSelectedValue = useCallback(function () {
156
+ var res = selectedValue.current.filter(function (item) {
157
+ return isNotEmpty(item);
158
+ });
159
+ // if (showAllLevels) {
160
+ // return cloneDeep(res);
161
+ // } else {
162
+ // return last(res);
163
+ // }
164
+ return cloneDeep(res);
119
165
  }, []);
120
- const getValueOfLevel = (0, import_react.useCallback)((level) => {
121
- if ((0, import_Util.isNotEmpty)(level)) {
166
+
167
+ /**
168
+ * 获取任意层级选中的值
169
+ * @param level 层级
170
+ * @returns
171
+ */
172
+ var getValueOfLevel = useCallback(function (level) {
173
+ if (isNotEmpty(level)) {
122
174
  return selectedValue.current[level];
123
175
  }
124
176
  }, []);
125
- const getSelectedLabel = (0, import_react.useCallback)(
126
- (labelFormatter) => {
127
- const res = selectedLabel.current.filter((item) => (0, import_Util.isNotEmpty)(item));
128
- if (showAllLevels) {
129
- return labelFormatter ? labelFormatter(selectedNode.current.filter((item) => (0, import_Util.isNotEmpty)(item))) : res.join(separator);
130
- } else {
131
- return labelFormatter ? labelFormatter(selectedNode.current.slice(res.length - 1)) : (0, import_last.default)(res);
132
- }
133
- },
134
- [separator, showAllLevels]
135
- );
136
- const loopCheckedNodes = (0, import_react.useCallback)((level, node, checked) => {
137
- var _a, _b;
138
- _optionData.current = {
139
- ..._optionData.current,
140
- [`level${level}`]: (((_a = _optionData.current) == null ? void 0 : _a[`level${level}`]) ?? []).map((item) => {
141
- var _a2;
142
- if (item.__id === node.__id) {
143
- if (((_a2 = item == null ? void 0 : item.children) == null ? void 0 : _a2.length) > 0) {
144
- return {
145
- ...item,
146
- __checked: checked,
147
- __indeterminate: false,
148
- // 子节点状态同步
149
- children: item.children.map((child) => ({ ...child, __checked: checked, __indeterminate: false }))
150
- };
151
- }
152
- return { ...item, __checked: checked, __indeterminate: false };
177
+
178
+ /**
179
+ * 获取选中的文本
180
+ * @param level 层级
181
+ * @returns
182
+ */
183
+ var getSelectedLabel = useCallback(function (labelFormatter) {
184
+ var res = selectedLabel.current.filter(function (item) {
185
+ return isNotEmpty(item);
186
+ });
187
+ if (showAllLevels) {
188
+ return labelFormatter ? labelFormatter(selectedNode.current.filter(function (item) {
189
+ return isNotEmpty(item);
190
+ })) : res.join(separator);
191
+ } else {
192
+ return labelFormatter ? labelFormatter(selectedNode.current.slice(res.length - 1)) : last(res);
193
+ }
194
+ }, [separator, showAllLevels]);
195
+ var loopCheckedNodes = useCallback(function (level, node, checked) {
196
+ var _optionData$current, _optionData$current2, _node$children;
197
+ _optionData.current = _objectSpread(_objectSpread({}, _optionData.current), {}, _defineProperty({}, "level".concat(level), ((_optionData$current = (_optionData$current2 = _optionData.current) === null || _optionData$current2 === void 0 ? void 0 : _optionData$current2["level".concat(level)]) !== null && _optionData$current !== void 0 ? _optionData$current : []).map(function (item) {
198
+ // 当前节点选中状态变更
199
+ if (item.__id === node.__id) {
200
+ var _item$children;
201
+ if ((item === null || item === void 0 || (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) > 0) {
202
+ return _objectSpread(_objectSpread({}, item), {}, {
203
+ __checked: checked,
204
+ __indeterminate: false,
205
+ // 子节点状态同步
206
+ children: item.children.map(function (child) {
207
+ return _objectSpread(_objectSpread({}, child), {}, {
208
+ __checked: checked,
209
+ __indeterminate: false
210
+ });
211
+ })
212
+ });
153
213
  }
154
- return item;
155
- })
156
- };
157
- if (((_b = node == null ? void 0 : node.children) == null ? void 0 : _b.length) > 0) {
158
- node.children.forEach((child) => {
214
+ return _objectSpread(_objectSpread({}, item), {}, {
215
+ __checked: checked,
216
+ __indeterminate: false
217
+ });
218
+ }
219
+ return item;
220
+ })));
221
+ // 递归将下一级节点列表同步成父级节点状态
222
+ if ((node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0) {
223
+ node.children.forEach(function (child) {
159
224
  loopCheckedNodes(level + 1, child, checked);
160
225
  });
161
226
  }
162
227
  }, []);
163
- const getParent = (0, import_react.useCallback)(
164
- (level, node) => {
165
- var _a;
166
- const options = (_a = (0, import_Util.isNotEmpty)(optionData) ? optionData : _optionData.current) == null ? void 0 : _a[`level${level - 1}`];
167
- if (options) {
168
- const _parent = options.find((item) => item.__id === node.__pId);
169
- return _parent;
170
- }
171
- return null;
172
- },
173
- [optionData]
174
- );
175
- const loopGetParent = (0, import_react.useCallback)(
176
- (level, node, result = []) => {
177
- const _parent = getParent(level, node);
178
- if (_parent) {
179
- result.push(_parent);
180
- loopGetParent(level - 1, _parent, result);
181
- }
182
- return result;
183
- },
184
- [getParent]
185
- );
186
- const loopParentStatus = (0, import_react.useCallback)(
187
- (level, node, checked, indeterminate) => {
188
- var _a;
189
- const val = selectedValue.current[level - 1];
190
- let parentChecked = checked;
191
- let parentInterminate = indeterminate;
192
- if (val) {
193
- const parent = getParent(level, node);
194
- if (parent) {
195
- _optionData.current = {
196
- ..._optionData.current,
197
- [`level${level - 1}`]: (((_a = _optionData.current) == null ? void 0 : _a[`level${level - 1}`]) ?? []).map((item) => {
198
- if (item.__id === parent.__id) {
199
- const _children = item.children.map((child) => {
200
- if (child.__id === node.__id) {
201
- return { ...child, __checked: checked, __indeterminate: indeterminate };
202
- }
203
- return child;
228
+ var getParent = useCallback(function (level, node) {
229
+ var _ref2;
230
+ var options = (_ref2 = isNotEmpty(optionData) ? optionData : _optionData.current) === null || _ref2 === void 0 ? void 0 : _ref2["level".concat(level - 1)];
231
+ if (options) {
232
+ var _parent = options.find(function (item) {
233
+ return item.__id === node.__pId;
234
+ });
235
+ return _parent;
236
+ }
237
+ return null;
238
+ // let parent;
239
+ // if (_parent.length > 1) {
240
+ // _parent.find(item => item?.children?.some(child => child.__id === node.__id));
241
+ // } else if (_parent.length > 0) {
242
+ // parent = _parent[0];
243
+ // }
244
+ }, [optionData]);
245
+ var loopGetParent = useCallback(function (level, node) {
246
+ var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
247
+ var _parent = getParent(level, node);
248
+ if (_parent) {
249
+ result.push(_parent);
250
+ loopGetParent(level - 1, _parent, result);
251
+ }
252
+ return result;
253
+ }, [getParent]);
254
+
255
+ /** 同步父级节点选中状态 */
256
+ var loopParentStatus = useCallback(function (level, node, checked, indeterminate) {
257
+ var val = selectedValue.current[level - 1];
258
+ var parentChecked = checked;
259
+ var parentInterminate = indeterminate;
260
+ if (val) {
261
+ var parent = getParent(level, node);
262
+ if (parent) {
263
+ var _optionData$current3, _optionData$current4;
264
+ _optionData.current = _objectSpread(_objectSpread({}, _optionData.current), {}, _defineProperty({}, "level".concat(level - 1), ((_optionData$current3 = (_optionData$current4 = _optionData.current) === null || _optionData$current4 === void 0 ? void 0 : _optionData$current4["level".concat(level - 1)]) !== null && _optionData$current3 !== void 0 ? _optionData$current3 : []).map(function (item) {
265
+ // 父级节点
266
+ if (item.__id === parent.__id) {
267
+ // 父级节点children里状态
268
+ var _children = item.children.map(function (child) {
269
+ if (child.__id === node.__id) {
270
+ return _objectSpread(_objectSpread({}, child), {}, {
271
+ __checked: checked,
272
+ __indeterminate: indeterminate
204
273
  });
205
- const checkCount = _children.filter((child) => child.__checked).length;
206
- const indeterminateCount = _children.filter((child) => child.__indeterminate).length;
207
- parentChecked = checkCount === _children.length;
208
- parentInterminate = indeterminateCount > 0 || checkCount > 0 && checkCount < _children.length;
209
- return {
210
- ...item,
211
- __checked: parentChecked,
212
- __indeterminate: parentInterminate,
213
- children: _children
214
- };
215
274
  }
216
- return item;
217
- })
218
- };
219
- loopParentStatus(level - 1, parent, parentChecked, parentInterminate);
220
- }
275
+ return child;
276
+ });
277
+ // 计算父级节点勾选和半选状态
278
+ var checkCount = _children.filter(function (child) {
279
+ return child.__checked;
280
+ }).length;
281
+ var indeterminateCount = _children.filter(function (child) {
282
+ return child.__indeterminate;
283
+ }).length;
284
+ parentChecked = checkCount === _children.length;
285
+ parentInterminate = indeterminateCount > 0 || checkCount > 0 && checkCount < _children.length;
286
+ return _objectSpread(_objectSpread({}, item), {}, {
287
+ __checked: parentChecked,
288
+ __indeterminate: parentInterminate,
289
+ children: _children
290
+ });
291
+ }
292
+ return item;
293
+ })));
294
+ loopParentStatus(level - 1, parent, parentChecked, parentInterminate);
221
295
  }
222
- },
223
- [getParent]
224
- );
225
- const loopGetCheckedNodes = (0, import_react.useCallback)((level, nodes, path, result) => {
226
- nodes == null ? void 0 : nodes.forEach((item) => {
227
- if (item.__checked && (!Object.prototype.hasOwnProperty.call(item, "children") || item.children.length === 0)) {
228
- result.push([...path, item]);
296
+ }
297
+ }, [getParent]);
298
+ var loopGetCheckedNodes = useCallback(function (level, nodes, path, result) {
299
+ nodes === null || nodes === void 0 || nodes.forEach(function (item) {
300
+ // 只有一级且选中
301
+ if (item.__checked && (!Object.prototype.hasOwnProperty.call(item, 'children') || item.children.length === 0)) {
302
+ result.push([].concat(_toConsumableArray(path), [item]));
229
303
  } else if (item.__checked || item.__indeterminate) {
230
- loopGetCheckedNodes(
231
- level + 1,
232
- item.children.map((child) => {
233
- var _a, _b;
234
- return (_b = (_a = _optionData.current) == null ? void 0 : _a[`level${level + 1}`]) == null ? void 0 : _b.find((node) => node.__id === child.__id);
235
- }) ?? [],
236
- [...path, item],
237
- result
238
- );
304
+ var _item$children$map;
305
+ loopGetCheckedNodes(level + 1, (_item$children$map = item.children.map(function (child) {
306
+ var _optionData$current5;
307
+ return (_optionData$current5 = _optionData.current) === null || _optionData$current5 === void 0 || (_optionData$current5 = _optionData$current5["level".concat(level + 1)]) === null || _optionData$current5 === void 0 ? void 0 : _optionData$current5.find(function (node) {
308
+ return node.__id === child.__id;
309
+ });
310
+ })) !== null && _item$children$map !== void 0 ? _item$children$map : [], [].concat(_toConsumableArray(path), [item]), result);
239
311
  }
240
312
  });
241
313
  return result;
242
314
  }, []);
243
- const getCheckedNodes = (0, import_react.useCallback)(() => {
244
- var _a, _b;
245
- const result = [];
246
- (_b = (_a = _optionData.current) == null ? void 0 : _a["level0"]) == null ? void 0 : _b.forEach((item) => {
247
- if (item.__checked && (!Object.prototype.hasOwnProperty.call(item, "children") || item.children.length === 0)) {
315
+ var getCheckedNodes = useCallback(function () {
316
+ var _optionData$current6;
317
+ var result = [];
318
+ (_optionData$current6 = _optionData.current) === null || _optionData$current6 === void 0 || (_optionData$current6 = _optionData$current6['level0']) === null || _optionData$current6 === void 0 || _optionData$current6.forEach(function (item) {
319
+ // 只有一级且选中
320
+ if (item.__checked && (!Object.prototype.hasOwnProperty.call(item, 'children') || item.children.length === 0)) {
248
321
  result.push([item]);
249
322
  } else if (item.__checked || item.__indeterminate) {
250
- loopGetCheckedNodes(1, item.children.map((child) => {
251
- var _a2, _b2;
252
- return (_b2 = (_a2 = _optionData.current) == null ? void 0 : _a2["level1"]) == null ? void 0 : _b2.find((node) => node.__id === child.__id);
253
- }) ?? [], [item], result);
323
+ var _item$children$map2;
324
+ loopGetCheckedNodes(1, (_item$children$map2 = item.children.map(function (child) {
325
+ var _optionData$current7;
326
+ return (_optionData$current7 = _optionData.current) === null || _optionData$current7 === void 0 || (_optionData$current7 = _optionData$current7['level1']) === null || _optionData$current7 === void 0 ? void 0 : _optionData$current7.find(function (node) {
327
+ return node.__id === child.__id;
328
+ });
329
+ })) !== null && _item$children$map2 !== void 0 ? _item$children$map2 : [], [item], result);
254
330
  }
255
331
  });
256
332
  return result;
257
333
  }, [loopGetCheckedNodes]);
258
- const setCheckedNode = (0, import_react.useCallback)(
259
- (level, node, checked) => {
260
- if ((0, import_Util.isEmpty)(_optionData.current)) {
261
- _optionData.current = optionData;
262
- }
263
- loopCheckedNodes(level, node, checked);
264
- loopParentStatus(level, node, checked, false);
265
- checkedNodes.current = getCheckedNodes();
266
- setOptionData(_optionData.current);
267
- },
268
- [getCheckedNodes, loopCheckedNodes, loopParentStatus, optionData]
269
- );
270
- const getCheckedValue = (0, import_react.useCallback)(() => {
271
- return checkedNodes.current.map((nodes) => nodes.map((item) => item[valueKey]));
334
+
335
+ /**
336
+ * 设置选中节点
337
+ * @param level 层级
338
+ * @param node 当前节点
339
+ * @param checked 是否选中
340
+ */
341
+ var setCheckedNode = useCallback(function (level, node, checked) {
342
+ if (isEmpty(_optionData.current)) {
343
+ _optionData.current = optionData;
344
+ }
345
+ loopCheckedNodes(level, node, checked);
346
+ loopParentStatus(level, node, checked, false);
347
+ checkedNodes.current = getCheckedNodes();
348
+ setOptionData(_optionData.current);
349
+ }, [getCheckedNodes, loopCheckedNodes, loopParentStatus, optionData]);
350
+ var getCheckedValue = useCallback(function () {
351
+ return checkedNodes.current.map(function (nodes) {
352
+ return nodes.map(function (item) {
353
+ return item[valueKey];
354
+ });
355
+ });
272
356
  }, [valueKey]);
273
- const getCheckedLabel = (0, import_react.useCallback)(() => {
274
- return checkedNodes.current.map((nodes) => nodes.map((item) => item[labelKey]));
357
+ var getCheckedLabel = useCallback(function () {
358
+ return checkedNodes.current.map(function (nodes) {
359
+ return nodes.map(function (item) {
360
+ return item[labelKey];
361
+ });
362
+ });
275
363
  }, [labelKey]);
276
- const clearSelected = (0, import_react.useCallback)(() => {
364
+
365
+ /** 清空值 */
366
+ var clearSelected = useCallback(function () {
277
367
  selectedValue.current = new Array(allLevel + 1).fill(null);
278
368
  selectedLabel.current = new Array(allLevel + 1).fill(null);
279
369
  selectedNode.current = new Array(allLevel + 1).fill(null);
280
370
  checkedNodes.current = [];
281
- for (let i = 0; i <= allLevel; i++) {
282
- _optionData.current = {
283
- ..._optionData.current,
284
- [`level${i}`]: _optionData.current[`level${i}`].map((item) => ({ ...item, __checked: false, __indeterminate: false }))
285
- };
371
+ for (var i = 0; i <= allLevel; i++) {
372
+ _optionData.current = _objectSpread(_objectSpread({}, _optionData.current), {}, _defineProperty({}, "level".concat(i), _optionData.current["level".concat(i)].map(function (item) {
373
+ return _objectSpread(_objectSpread({}, item), {}, {
374
+ __checked: false,
375
+ __indeterminate: false
376
+ });
377
+ })));
286
378
  }
287
379
  setOptionData(_optionData.current);
288
380
  }, [allLevel]);
289
- const getOptions = (0, import_react.useCallback)((level) => {
290
- var _a, _b, _c;
381
+
382
+ /**
383
+ * 获取任意节点的option数据
384
+ * @param level 层级
385
+ * @returns
386
+ */
387
+ var getOptions = useCallback(function (level) {
291
388
  if (level === 0) {
292
- return _optionData.current[`level${level}`];
389
+ return _optionData.current["level".concat(level)];
293
390
  } else {
294
- const parent = (_a = selectedNode.current) == null ? void 0 : _a[level - 1];
391
+ var _selectedNode$current;
392
+ // const options = optionData[`level${level - 1}`];
393
+ var parent = (_selectedNode$current = selectedNode.current) === null || _selectedNode$current === void 0 ? void 0 : _selectedNode$current[level - 1];
295
394
  if (parent) {
296
- return (_c = (_b = _optionData.current) == null ? void 0 : _b[`level${level}`]) == null ? void 0 : _c.filter((item) => item.__pId === parent.__id);
395
+ var _optionData$current8;
396
+ // console.log(_optionData.current[`level${level}`].filter(item => item.__pId === parent.__id));
397
+ return (_optionData$current8 = _optionData.current) === null || _optionData$current8 === void 0 || (_optionData$current8 = _optionData$current8["level".concat(level)]) === null || _optionData$current8 === void 0 ? void 0 : _optionData$current8.filter(function (item) {
398
+ return item.__pId === parent.__id;
399
+ });
400
+ // return (options.find(item => item.__id === parent.__id) ?? {})[childrenKey];
297
401
  }
298
402
  return null;
299
403
  }
300
404
  }, []);
301
- const storeOptionData = (0, import_react.useCallback)(
302
- (nodes, level, parent, { isCover }) => {
303
- let data = (0, import_cloneDeep.default)(_optionData.current);
304
- let newNodes = [];
305
- newNodes = nodes.map((node) => ({
306
- ...node,
405
+
406
+ /**
407
+ * 懒加载时存储option
408
+ * @param nodes
409
+ * @param level 层级
410
+ */
411
+ var storeOptionData = useCallback(function (nodes, level, parent, _ref3) {
412
+ var isCover = _ref3.isCover;
413
+ var data = cloneDeep(_optionData.current);
414
+ var newNodes = [];
415
+ newNodes = nodes.map(function (node) {
416
+ var _parent$__id, _node$leafKey;
417
+ return _objectSpread(_objectSpread({}, node), {}, {
307
418
  __level: level,
308
- __id: (0, import_Util.randomCode)(11),
309
- __pId: (parent == null ? void 0 : parent.__id) ?? "0",
310
- __leaf: node[leafKey] ?? false,
419
+ __id: randomCode(11),
420
+ __pId: (_parent$__id = parent === null || parent === void 0 ? void 0 : parent.__id) !== null && _parent$__id !== void 0 ? _parent$__id : '0',
421
+ __leaf: (_node$leafKey = node[leafKey]) !== null && _node$leafKey !== void 0 ? _node$leafKey : false,
311
422
  __checked: false,
312
423
  __indeterminate: false
313
- }));
314
- if ((0, import_Util.isEmpty)(data[`level${level}`])) {
315
- data = {
316
- ...data,
317
- [`level${level}`]: newNodes
318
- };
319
- } else {
320
- data[`level${level}`] = isCover ? newNodes : data[`level${level}`].concat(newNodes);
321
- }
322
- if (level > 0 && parent) {
323
- const p = (0, import_find.default)(data[`level${level - 1}`], { __id: parent.__id });
324
- if (p) {
325
- if ((0, import_Util.isEmpty)(p == null ? void 0 : p[childrenKey])) {
326
- p[childrenKey] = newNodes;
327
- if (newNodes.length === 0) {
328
- p.__leaf = true;
329
- }
330
- } else {
331
- p[childrenKey] = isCover ? newNodes : p[childrenKey].concat(newNodes);
424
+ });
425
+ });
426
+
427
+ // 新的层级
428
+ if (isEmpty(data["level".concat(level)])) {
429
+ data = _objectSpread(_objectSpread({}, data), {}, _defineProperty({}, "level".concat(level), newNodes));
430
+ } else {
431
+ // 已存在的层级,扩充数组
432
+ data["level".concat(level)] = isCover ? newNodes : data["level".concat(level)].concat(newNodes);
433
+ }
434
+
435
+ // 给非叶子节点添加子节点
436
+ if (level > 0 && parent) {
437
+ var p = find(data["level".concat(level - 1)], {
438
+ __id: parent.__id
439
+ });
440
+ if (p) {
441
+ if (isEmpty(p === null || p === void 0 ? void 0 : p[childrenKey])) {
442
+ p[childrenKey] = newNodes;
443
+ if (newNodes.length === 0) {
444
+ p.__leaf = true;
332
445
  }
446
+ } else {
447
+ p[childrenKey] = isCover ? newNodes : p[childrenKey].concat(newNodes);
333
448
  }
334
449
  }
335
- setOptionData(data);
336
- _optionData.current = data;
337
- if (level > allLevel) {
338
- setAllLevel(level);
339
- for (let i = 0; i < level - allLevel; i++) {
340
- selectedValue.current.push(null);
341
- selectedLabel.current.push(null);
342
- selectedNode.current.push(null);
343
- setDataTypes(_dataTypes.current);
344
- }
345
- } else {
346
- selectedValue.current[level] = null;
347
- selectedLabel.current[level] = null;
348
- selectedNode.current[level] = null;
349
- const _types = (0, import_cloneDeep.default)(_dataTypes.current);
350
- _types[level] = false;
351
- setDataTypes(_dataTypes.current = _types);
450
+ }
451
+ setOptionData(data);
452
+ _optionData.current = data;
453
+ if (level > allLevel) {
454
+ setAllLevel(level);
455
+ for (var i = 0; i < level - allLevel; i++) {
456
+ selectedValue.current.push(null);
457
+ selectedLabel.current.push(null);
458
+ selectedNode.current.push(null);
459
+ setDataTypes(_dataTypes.current);
352
460
  }
353
- return data[`level${level}`];
354
- },
355
- [allLevel, childrenKey, leafKey]
356
- );
357
- const setNodeLeaf = (0, import_react.useCallback)(
358
- (node, isLeaf) => {
359
- const data = (0, import_cloneDeep.default)(optionData);
360
- const _node = (0, import_find.default)(data[`level${node["__level"]}`], { __id: node.__id });
361
- _node[leafKey] = isLeaf;
362
- setOptionData(data);
363
- _optionData.current = data;
364
- },
365
- [leafKey, optionData]
366
- );
367
- const getDataType = (0, import_react.useCallback)(
368
- (level) => {
369
- return lazy && dataTypes[level];
370
- },
371
- [dataTypes, lazy]
372
- );
373
- const getExpandedKeys = (0, import_react.useCallback)((level) => {
374
- return expandKeys.current[`level${level}`] ?? [];
461
+ } else {
462
+ selectedValue.current[level] = null;
463
+ selectedLabel.current[level] = null;
464
+ selectedNode.current[level] = null;
465
+ var _types = cloneDeep(_dataTypes.current);
466
+ _types[level] = false;
467
+ setDataTypes(_dataTypes.current = _types);
468
+ }
469
+ return data["level".concat(level)];
470
+ }, [allLevel, childrenKey, leafKey]);
471
+
472
+ /**
473
+ * 设置节点是否为叶子节点
474
+ * @param node
475
+ * @param isLeaf
476
+ */
477
+ var setNodeLeaf = useCallback(function (node, isLeaf) {
478
+ var data = cloneDeep(optionData);
479
+ var _node = find(data["level".concat(node['__level'])], {
480
+ __id: node.__id
481
+ });
482
+ _node[leafKey] = isLeaf;
483
+ setOptionData(data);
484
+ _optionData.current = data;
485
+ }, [leafKey, optionData]);
486
+
487
+ /**
488
+ * 获取数据类型
489
+ * @param level 层级
490
+ * @returns
491
+ */
492
+ var getDataType = useCallback(function (level) {
493
+ return lazy && dataTypes[level];
494
+ }, [dataTypes, lazy]);
495
+
496
+ /**
497
+ * 获取扩展key
498
+ * @param level 层级
499
+ * @returns
500
+ */
501
+ var getExpandedKeys = useCallback(function (level) {
502
+ var _expandKeys$current;
503
+ return (_expandKeys$current = expandKeys.current["level".concat(level)]) !== null && _expandKeys$current !== void 0 ? _expandKeys$current : [];
375
504
  }, []);
376
- const setExpandedKeys = (0, import_react.useCallback)((level, keys) => {
377
- expandKeys.current[`level${level}`] = keys;
505
+
506
+ /**
507
+ * 设置扩展key
508
+ * @param level 层级
509
+ * @param keys
510
+ * @returns
511
+ */
512
+ var setExpandedKeys = useCallback(function (level, keys) {
513
+ expandKeys.current["level".concat(level)] = keys;
378
514
  }, []);
379
- const handleSearch = (0, import_react.useCallback)(
380
- (searchText) => {
381
- const result = [];
382
- if ((0, import_Util.isNotEmpty)(searchText)) {
383
- const options = (0, import_cloneDeep.default)(_optionData.current);
384
- const regex = new RegExp(searchText, "gi");
385
- const loopGetMatchNodes = (level, nodes, path) => {
386
- for (let index = 0; index < nodes.length; index++) {
387
- const item = nodes[index];
388
- if (!Object.prototype.hasOwnProperty.call(item, "children") || item.children.length === 0) {
389
- result.push([...path, item]);
390
- } else if (item.children.length > 0) {
391
- loopGetMatchNodes(level + 1, item.children ?? [], [...path, item]);
392
- }
393
- nodes.splice(index, 1);
394
- options[`level${level}`].splice(
395
- options[`level${level}`].findIndex((node) => node.__id === item.__id),
396
- 1
397
- );
398
- index--;
515
+
516
+ /** 搜索 */
517
+ var handleSearch = useCallback(function (searchText) {
518
+ var result = [];
519
+ if (isNotEmpty(searchText)) {
520
+ var options = cloneDeep(_optionData.current);
521
+ var regex = new RegExp(searchText, 'gi');
522
+
523
+ /**
524
+ * 递归添加子节点
525
+ * @param level 层级
526
+ * @param nodes 子节点
527
+ * @param path 完整节点
528
+ * @returns
529
+ */
530
+ var loopGetMatchNodes = function loopGetMatchNodes(level, nodes, path) {
531
+ var _loop = function _loop(_index) {
532
+ var item = nodes[_index];
533
+ // 最后一级,结束递归
534
+ if (!Object.prototype.hasOwnProperty.call(item, 'children') || item.children.length === 0) {
535
+ result.push([].concat(_toConsumableArray(path), [item]));
536
+ } else if (item.children.length > 0) {
537
+ var _item$children2;
538
+ loopGetMatchNodes(level + 1, (_item$children2 = item.children) !== null && _item$children2 !== void 0 ? _item$children2 : [], [].concat(_toConsumableArray(path), [item]));
399
539
  }
400
- return result;
540
+ nodes.splice(_index, 1);
541
+ options["level".concat(level)].splice(options["level".concat(level)].findIndex(function (node) {
542
+ return node.__id === item.__id;
543
+ }), 1);
544
+ _index--;
545
+ index = _index;
401
546
  };
402
- for (let i = 0; i <= allLevel; i++) {
403
- for (let index = 0; index < options[`level${i}`].length; index++) {
404
- const item = options[`level${i}`][index];
405
- const res = null !== (item[labelKey] ?? item[valueKey].toString()).match(regex);
406
- if (res) {
407
- const current = i > 0 ? loopGetParent(i, item, [item]).reverse() : [item];
408
- options[`level${i}`].splice(index, 1);
409
- if (!Object.prototype.hasOwnProperty.call(item, "children") || item.children.length === 0) {
410
- result.push(current);
411
- } else if (item.children.length > 0) {
412
- loopGetMatchNodes(i + 1, item.children ?? [], current);
413
- }
414
- options[`level${i}`].splice(index, 1);
415
- options[`level${i}`].splice(
416
- options[`level${i}`].findIndex((node) => node.__id === item.__id),
417
- 1
418
- );
419
- index--;
547
+ for (var index = 0; index < nodes.length; index++) {
548
+ _loop(index);
549
+ }
550
+ return result;
551
+ };
552
+ for (var i = 0; i <= allLevel; i++) {
553
+ var _loop2 = function _loop2(_index2) {
554
+ var _item$labelKey;
555
+ var item = options["level".concat(i)][_index2];
556
+ var res = null !== ((_item$labelKey = item[labelKey]) !== null && _item$labelKey !== void 0 ? _item$labelKey : item[valueKey].toString()).match(regex);
557
+ if (res) {
558
+ var current = i > 0 ? loopGetParent(i, item, [item]).reverse() : [item];
559
+ options["level".concat(i)].splice(_index2, 1);
560
+ if (!Object.prototype.hasOwnProperty.call(item, 'children') || item.children.length === 0) {
561
+ result.push(current);
562
+ } else if (item.children.length > 0) {
563
+ var _item$children3;
564
+ loopGetMatchNodes(i + 1, (_item$children3 = item.children) !== null && _item$children3 !== void 0 ? _item$children3 : [], current);
420
565
  }
566
+ options["level".concat(i)].splice(_index2, 1);
567
+ options["level".concat(i)].splice(options["level".concat(i)].findIndex(function (node) {
568
+ return node.__id === item.__id;
569
+ }), 1);
570
+ _index2--;
421
571
  }
572
+ index = _index2;
573
+ };
574
+ for (var index = 0; index < options["level".concat(i)].length; index++) {
575
+ _loop2(index);
422
576
  }
423
577
  }
424
- return result;
425
- },
426
- [allLevel, labelKey, loopGetParent, valueKey]
427
- );
428
- const resetNodes = (0, import_react.useCallback)(() => {
429
- _optionData.current = Object.keys(_optionData.current).reduce((prev, item) => ({ ...prev, [item]: [] }), {});
578
+ }
579
+ return result;
580
+ }, [allLevel, labelKey, loopGetParent, valueKey]);
581
+ var resetNodes = useCallback(function () {
582
+ _optionData.current = Object.keys(_optionData.current).reduce(function (prev, item) {
583
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, item, []));
584
+ }, {});
430
585
  setOptionData(_optionData.current);
586
+ // clearSelected();
431
587
  }, []);
432
- (0, import_react.useEffect)(() => {
433
- const data = init((0, import_cloneDeep.default)(initialData), 0);
588
+ useEffect(function () {
589
+ var data = init(cloneDeep(initialData), 0);
434
590
  setOptionData(data);
435
- const l = Object.keys(data).length;
591
+ var l = Object.keys(data).length;
436
592
  if (l > 0) {
437
593
  setAllLevel(l - 1);
438
594
  }
595
+ // selectedValue.current = new Array(l).fill(null);
596
+ // selectedLabel.current = new Array(l).fill(null);
597
+ // selectedNode.current = new Array(l).fill(null);
598
+
599
+ // selectedNode.current.splice(
600
+ // 0,
601
+ // value.length,
602
+ // ...value.map((item, i) => {
603
+ // const res = find(data[`level${i}`], { [valueKey]: item });
604
+ // return res ?? null;
605
+ // }),
606
+ // );
607
+ // selectedValue.current.splice(0, value.length, ...value);
608
+ // selectedLabel.current.splice(
609
+ // 0,
610
+ // value.length,
611
+ // ...selectedNode.current.map(item => {
612
+ // return item && item[labelKey] ? item[labelKey] : null;
613
+ // }),
614
+ // );
439
615
  setDataTypes(new Array(l).fill(null));
616
+ // eslint-disable-next-line react-hooks/exhaustive-deps
440
617
  }, [props.options]);
441
- const initSelectedValue = (_value) => {
442
- var _a, _b;
618
+ var initSelectedValue = function initSelectedValue(_value) {
619
+ var _selectedValue$curren, _selectedLabel$curren;
443
620
  selectedValue.current = new Array(allLevel + 1).fill(null);
444
621
  selectedLabel.current = new Array(allLevel + 1).fill(null);
445
622
  selectedNode.current = new Array(allLevel + 1).fill(null);
446
623
  if (_value.length > 0) {
447
- const _level = _value.length - 1;
448
- const res = (_b = (_a = _optionData.current) == null ? void 0 : _a[`level${_level}`]) == null ? void 0 : _b.filter((option) => option[valueKey] === _value[_level]);
449
- if ((res == null ? void 0 : res.length) > 1) {
450
- res.forEach((node) => {
451
- const parents = loopGetParent(node.__level, node, [node]);
452
- const path = parents.reverse().map((pa) => pa[valueKey]);
453
- if ((0, import_isEqual.default)(path, _value)) {
624
+ var _optionData$current9;
625
+ var _level = _value.length - 1;
626
+ var res = (_optionData$current9 = _optionData.current) === null || _optionData$current9 === void 0 || (_optionData$current9 = _optionData$current9["level".concat(_level)]) === null || _optionData$current9 === void 0 ? void 0 : _optionData$current9.filter(function (option) {
627
+ return option[valueKey] === _value[_level];
628
+ });
629
+ if ((res === null || res === void 0 ? void 0 : res.length) > 1) {
630
+ res.forEach(function (node) {
631
+ var parents = loopGetParent(node.__level, node, [node]);
632
+ var path = parents.reverse().map(function (pa) {
633
+ return pa[valueKey];
634
+ });
635
+ if (isEqual(path, _value)) {
454
636
  selectedNode.current = parents;
455
637
  }
456
638
  });
457
- } else if ((res == null ? void 0 : res.length) === 1) {
639
+ } else if ((res === null || res === void 0 ? void 0 : res.length) === 1) {
458
640
  selectedNode.current = loopGetParent(_level, res[0], res).reverse();
459
641
  }
460
642
  }
461
- selectedValue.current.splice(0, _value.length, ..._value);
462
- selectedLabel.current.splice(0, _value.length, ...selectedNode.current.map((item) => item && item[labelKey] ? item[labelKey] : null));
643
+ (_selectedValue$curren = selectedValue.current).splice.apply(_selectedValue$curren, [0, _value.length].concat(_toConsumableArray(_value)));
644
+ (_selectedLabel$curren = selectedLabel.current).splice.apply(_selectedLabel$curren, [0, _value.length].concat(_toConsumableArray(selectedNode.current.map(function (item) {
645
+ return item && item[labelKey] ? item[labelKey] : null;
646
+ }))));
463
647
  };
464
- (0, import_react.useEffect)(() => {
465
- var _a;
648
+ useEffect(function () {
466
649
  if (!lazy && allLevel >= 0) {
467
- if ((_a = props == null ? void 0 : props.props) == null ? void 0 : _a.multiple) {
468
- const _value = value.length > 0 ? value[0] : [];
650
+ var _props$props;
651
+ if (props !== null && props !== void 0 && (_props$props = props.props) !== null && _props$props !== void 0 && _props$props.multiple) {
652
+ var _value = value.length > 0 ? value[0] : [];
469
653
  initSelectedValue(_value);
470
- if ((0, import_Util.isEmpty)(_optionData.current)) {
471
- _optionData.current = (0, import_cloneDeep.default)(optionData);
654
+ if (isEmpty(_optionData.current)) {
655
+ _optionData.current = cloneDeep(optionData);
472
656
  }
473
- value.forEach((item) => {
474
- const { length } = item;
475
- const _level = length - 1;
476
- const res = _optionData.current[`level${_level}`].filter((option) => option[valueKey] === item[_level]);
657
+ value.forEach(function (item) {
658
+ var length = item.length;
659
+ var _level = length - 1;
660
+ var res = _optionData.current["level".concat(_level)].filter(function (option) {
661
+ return option[valueKey] === item[_level];
662
+ });
477
663
  if (res.length > 1) {
478
- res.forEach((node) => {
479
- const parents = loopGetParent(node.__level, node, [node]);
480
- const path = parents.reverse().map((pa) => pa[valueKey]);
481
- if ((0, import_isEqual.default)(path, item)) {
664
+ res.forEach(function (node) {
665
+ var parents = loopGetParent(node.__level, node, [node]);
666
+ var path = parents.reverse().map(function (pa) {
667
+ return pa[valueKey];
668
+ });
669
+ if (isEqual(path, item)) {
482
670
  loopCheckedNodes(_level, node, true);
483
671
  loopParentStatus(_level, node, true, false);
484
672
  }
@@ -494,94 +682,96 @@ var useCascader = (initialData, props, value) => {
494
682
  initSelectedValue(value);
495
683
  }
496
684
  }
685
+
686
+ // setDataTypes(new Array(allLevel).fill(null));
687
+ // eslint-disable-next-line react-hooks/exhaustive-deps
497
688
  }, [value, allLevel, props.options]);
498
689
  return {
499
- // eslint-disable-next-line lines-around-comment
500
690
  /** 最高层级 */
501
- allLevel,
691
+ allLevel: allLevel,
502
692
  /** 选项数据 */
503
- optionData,
504
- /**
505
- * 懒加载时存储option
506
- * @param nodes
507
- * @param level 层级
693
+ optionData: optionData,
694
+ /**
695
+ * 懒加载时存储option
696
+ * @param nodes
697
+ * @param level 层级
508
698
  */
509
- storeOptionData,
510
- /**
511
- * 获取选中的值
512
- * @param level 层级
513
- * @returns
699
+ storeOptionData: storeOptionData,
700
+ /**
701
+ * 获取选中的值
702
+ * @param level 层级
703
+ * @returns
514
704
  */
515
- getSelectedValue,
516
- /**
517
- * 获取任意层级选中的值
518
- * @param level 层级
519
- * @returns
705
+ getSelectedValue: getSelectedValue,
706
+ /**
707
+ * 获取任意层级选中的值
708
+ * @param level 层级
709
+ * @returns
520
710
  */
521
- getValueOfLevel,
522
- /**
523
- * 获取选中的文本
524
- * @param level 层级
525
- * @returns
711
+ getValueOfLevel: getValueOfLevel,
712
+ /**
713
+ * 获取选中的文本
714
+ * @param level 层级
715
+ * @returns
526
716
  */
527
- getSelectedLabel,
528
- /**
529
- * 设置任意层级节点的标签
530
- * @param level 层级
531
- * @param value
717
+ getSelectedLabel: getSelectedLabel,
718
+ /**
719
+ * 设置任意层级节点的标签
720
+ * @param level 层级
721
+ * @param value
532
722
  */
533
- setSelectedNode,
534
- setSelectedValue,
535
- getSelectedNode: () => selectedNode.current,
536
- /**
537
- * 设置选中节点
538
- * @param level 层级
539
- * @param node 当前节点
540
- * @param checked 是否选中
723
+ setSelectedNode: setSelectedNode,
724
+ setSelectedValue: setSelectedValue,
725
+ getSelectedNode: function getSelectedNode() {
726
+ return selectedNode.current;
727
+ },
728
+ /**
729
+ * 设置选中节点
730
+ * @param level 层级
731
+ * @param node 当前节点
732
+ * @param checked 是否选中
541
733
  */
542
- setCheckedNode,
543
- getCheckedNodes: () => checkedNodes.current,
544
- getCheckedValue,
545
- getCheckedLabel,
546
- loopGetParent,
547
- /**
548
- * 获取任意节点的option数据
549
- * @param level 层级
550
- * @returns
734
+ setCheckedNode: setCheckedNode,
735
+ getCheckedNodes: function getCheckedNodes() {
736
+ return checkedNodes.current;
737
+ },
738
+ getCheckedValue: getCheckedValue,
739
+ getCheckedLabel: getCheckedLabel,
740
+ loopGetParent: loopGetParent,
741
+ /**
742
+ * 获取任意节点的option数据
743
+ * @param level 层级
744
+ * @returns
551
745
  */
552
- getOptions,
746
+ getOptions: getOptions,
553
747
  /** 清空值 */
554
- clearSelected,
555
- /**
556
- * 设置节点是否为叶子节点
557
- * @param node
558
- * @param isLeaf
748
+ clearSelected: clearSelected,
749
+ /**
750
+ * 设置节点是否为叶子节点
751
+ * @param node
752
+ * @param isLeaf
559
753
  */
560
- setNodeLeaf,
561
- /**
562
- * 获取数据类型
563
- * @param level 层级
564
- * @returns
754
+ setNodeLeaf: setNodeLeaf,
755
+ /**
756
+ * 获取数据类型
757
+ * @param level 层级
758
+ * @returns
565
759
  */
566
- getDataType,
567
- /**
568
- * 获取扩展key
569
- * @param level 层级
570
- * @returns
760
+ getDataType: getDataType,
761
+ /**
762
+ * 获取扩展key
763
+ * @param level 层级
764
+ * @returns
571
765
  */
572
- getExpandedKeys,
573
- /**
574
- * 设置扩展key
575
- * @param level 层级
576
- * @param keys
577
- * @returns
766
+ getExpandedKeys: getExpandedKeys,
767
+ /**
768
+ * 设置扩展key
769
+ * @param level 层级
770
+ * @param keys
771
+ * @returns
578
772
  */
579
- setExpandedKeys,
580
- handleSearch,
581
- resetNodes
773
+ setExpandedKeys: setExpandedKeys,
774
+ handleSearch: handleSearch,
775
+ resetNodes: resetNodes
582
776
  };
583
- };
584
- // Annotate the CommonJS export names for ESM import in node:
585
- 0 && (module.exports = {
586
- useCascader
587
- });
777
+ };