@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,67 +1,46 @@
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
+ var _excluded = ["prefixCls", "data", "selectable", "checkable", "expandedKeys", "selectedKeys", "checkedKeys", "loadedKeys", "loadingKeys", "halfCheckedKeys", "keyEntities", "disabled", "dragging", "dragOverNodeKey", "dropPosition", "motion", "height", "itemHeight", "virtual", "scrollWidth", "focusable", "activeItem", "focused", "tabIndex", "onKeyDown", "onFocus", "onBlur", "onActiveChange", "onListChangeStart", "onListChangeEnd"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
4
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
+ 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."); }
6
+ 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); }
7
+ 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; }
8
+ 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; } }
9
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
11
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
+ /**
13
+ * Handle virtual list of the TreeNodes.
14
+ */
28
15
 
29
- // src/Tree/NodeList.tsx
30
- var NodeList_exports = {};
31
- __export(NodeList_exports, {
32
- MOTION_KEY: () => MOTION_KEY,
33
- MotionEntity: () => MotionEntity,
34
- default: () => NodeList_default,
35
- getMinimumRangeTransitionRange: () => getMinimumRangeTransitionRange
36
- });
37
- module.exports = __toCommonJS(NodeList_exports);
38
- var import_useLayoutEffect = __toESM(require("rc-util/lib/hooks/useLayoutEffect"));
39
- var import_rc_virtual_list = __toESM(require("rc-virtual-list"));
40
- var React = __toESM(require("react"));
41
- var import_MotionTreeNode = __toESM(require("./MotionTreeNode"));
42
- var import_diffUtil = require("./utils/diffUtil");
43
- var import_treeUtil = require("./utils/treeUtil");
16
+ import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';
17
+ import VirtualList from 'rc-virtual-list';
18
+ import * as React from 'react';
19
+ import MotionTreeNode from "./MotionTreeNode";
20
+ import { findExpandedKeys, getExpandRange } from "./utils/diffUtil";
21
+ import { getKey, getTreeNodeProps } from "./utils/treeUtil";
44
22
  var HIDDEN_STYLE = {
45
23
  width: 0,
46
24
  height: 0,
47
- display: "flex",
48
- overflow: "hidden",
25
+ display: 'flex',
26
+ overflow: 'hidden',
49
27
  opacity: 0,
50
28
  border: 0,
51
29
  padding: 0,
52
30
  margin: 0
53
31
  };
54
- var noop = () => {
55
- };
56
- var MOTION_KEY = `RC_TREE_MOTION_${Math.random()}`;
32
+
33
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
34
+ var noop = function noop() {};
35
+ export var MOTION_KEY = "RC_TREE_MOTION_".concat(Math.random());
57
36
  var MotionNode = {
58
37
  key: MOTION_KEY
59
38
  };
60
- var MotionEntity = {
39
+ export var MotionEntity = {
61
40
  key: MOTION_KEY,
62
41
  level: 0,
63
42
  index: 0,
64
- pos: "0",
43
+ pos: '0',
65
44
  node: MotionNode,
66
45
  nodes: [MotionNode]
67
46
  };
@@ -76,219 +55,247 @@ var MotionFlattenData = {
76
55
  isStart: [],
77
56
  isEnd: []
78
57
  };
79
- function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {
58
+ /**
59
+ * We only need get visible content items to play the animation.
60
+ */
61
+ export function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {
80
62
  if (virtual === false || !height) {
81
63
  return list;
82
64
  }
83
65
  return list.slice(0, Math.ceil(height / itemHeight) + 1);
84
66
  }
85
67
  function itemKey(item) {
86
- const { key, pos } = item;
87
- return (0, import_treeUtil.getKey)(key, pos);
68
+ var key = item.key,
69
+ pos = item.pos;
70
+ return getKey(key, pos);
88
71
  }
89
72
  function getAccessibilityPath(item) {
90
- let path = String(item.data.key);
91
- let current = item;
73
+ var path = String(item.data.key);
74
+ var current = item;
92
75
  while (current.parent) {
93
76
  current = current.parent;
94
- path = `${current.data.key} > ${path}`;
77
+ path = "".concat(current.data.key, " > ").concat(path);
95
78
  }
96
79
  return path;
97
80
  }
98
- var NodeList = React.forwardRef((props, ref) => {
99
- const {
100
- prefixCls,
101
- data,
102
- selectable,
103
- checkable,
104
- expandedKeys,
105
- selectedKeys,
106
- checkedKeys,
107
- loadedKeys,
108
- loadingKeys,
109
- halfCheckedKeys,
110
- keyEntities,
111
- disabled,
112
- dragging,
113
- dragOverNodeKey,
114
- dropPosition,
115
- motion,
116
- height,
117
- itemHeight,
118
- virtual,
119
- scrollWidth,
120
- focusable,
121
- activeItem,
122
- focused,
123
- tabIndex,
124
- onKeyDown,
125
- onFocus,
126
- onBlur,
127
- onActiveChange,
128
- onListChangeStart,
129
- onListChangeEnd,
130
- ...domProps
131
- } = props;
132
- const listRef = React.useRef(null);
133
- const indentMeasurerRef = React.useRef(null);
134
- React.useImperativeHandle(ref, () => ({
135
- scrollTo: (scroll) => {
136
- listRef.current.scrollTo(scroll);
137
- },
138
- getIndentWidth: () => indentMeasurerRef.current.offsetWidth
139
- }));
140
- const [prevExpandedKeys, setPrevExpandedKeys] = React.useState(expandedKeys);
141
- const [prevData, setPrevData] = React.useState(data);
142
- const [transitionData, setTransitionData] = React.useState(data);
143
- const [transitionRange, setTransitionRange] = React.useState([]);
144
- const [motionType, setMotionType] = React.useState(null);
145
- const dataRef = React.useRef(data);
81
+ var NodeList = /*#__PURE__*/React.forwardRef(function (props, ref) {
82
+ var prefixCls = props.prefixCls,
83
+ data = props.data,
84
+ selectable = props.selectable,
85
+ checkable = props.checkable,
86
+ expandedKeys = props.expandedKeys,
87
+ selectedKeys = props.selectedKeys,
88
+ checkedKeys = props.checkedKeys,
89
+ loadedKeys = props.loadedKeys,
90
+ loadingKeys = props.loadingKeys,
91
+ halfCheckedKeys = props.halfCheckedKeys,
92
+ keyEntities = props.keyEntities,
93
+ disabled = props.disabled,
94
+ dragging = props.dragging,
95
+ dragOverNodeKey = props.dragOverNodeKey,
96
+ dropPosition = props.dropPosition,
97
+ motion = props.motion,
98
+ height = props.height,
99
+ itemHeight = props.itemHeight,
100
+ virtual = props.virtual,
101
+ scrollWidth = props.scrollWidth,
102
+ focusable = props.focusable,
103
+ activeItem = props.activeItem,
104
+ focused = props.focused,
105
+ tabIndex = props.tabIndex,
106
+ onKeyDown = props.onKeyDown,
107
+ onFocus = props.onFocus,
108
+ onBlur = props.onBlur,
109
+ onActiveChange = props.onActiveChange,
110
+ onListChangeStart = props.onListChangeStart,
111
+ onListChangeEnd = props.onListChangeEnd,
112
+ domProps = _objectWithoutProperties(props, _excluded);
113
+
114
+ // =============================== Ref ================================
115
+ var listRef = React.useRef(null);
116
+ var indentMeasurerRef = React.useRef(null);
117
+ React.useImperativeHandle(ref, function () {
118
+ return {
119
+ scrollTo: function scrollTo(scroll) {
120
+ listRef.current.scrollTo(scroll);
121
+ },
122
+ getIndentWidth: function getIndentWidth() {
123
+ return indentMeasurerRef.current.offsetWidth;
124
+ }
125
+ };
126
+ });
127
+
128
+ // ============================== Motion ==============================
129
+ var _React$useState = React.useState(expandedKeys),
130
+ _React$useState2 = _slicedToArray(_React$useState, 2),
131
+ prevExpandedKeys = _React$useState2[0],
132
+ setPrevExpandedKeys = _React$useState2[1];
133
+ var _React$useState3 = React.useState(data),
134
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
135
+ prevData = _React$useState4[0],
136
+ setPrevData = _React$useState4[1];
137
+ var _React$useState5 = React.useState(data),
138
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
139
+ transitionData = _React$useState6[0],
140
+ setTransitionData = _React$useState6[1];
141
+ var _React$useState7 = React.useState([]),
142
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
143
+ transitionRange = _React$useState8[0],
144
+ setTransitionRange = _React$useState8[1];
145
+ var _React$useState9 = React.useState(null),
146
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
147
+ motionType = _React$useState10[0],
148
+ setMotionType = _React$useState10[1];
149
+
150
+ // When motion end but data change, this will makes data back to previous one
151
+ var dataRef = React.useRef(data);
146
152
  dataRef.current = data;
147
153
  function onMotionEnd() {
148
- const latestData = dataRef.current;
154
+ var latestData = dataRef.current;
149
155
  setPrevData(latestData);
150
156
  setTransitionData(latestData);
151
157
  setTransitionRange([]);
152
158
  setMotionType(null);
153
159
  onListChangeEnd();
154
160
  }
155
- (0, import_useLayoutEffect.default)(() => {
161
+
162
+ // Do animation if expanded keys changed
163
+ // layoutEffect here to avoid blink of node removing
164
+ useLayoutEffect(function () {
156
165
  setPrevExpandedKeys(expandedKeys);
157
- const diffExpanded = (0, import_diffUtil.findExpandedKeys)(prevExpandedKeys, expandedKeys);
166
+ var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);
158
167
  if (diffExpanded.key !== null) {
159
168
  if (diffExpanded.add) {
160
- const keyIndex = prevData.findIndex(({ key }) => key === diffExpanded.key);
161
- const rangeNodes = getMinimumRangeTransitionRange((0, import_diffUtil.getExpandRange)(prevData, data, diffExpanded.key), virtual, height, itemHeight);
162
- const newTransitionData = prevData.slice();
169
+ var keyIndex = prevData.findIndex(function (_ref) {
170
+ var key = _ref.key;
171
+ return key === diffExpanded.key;
172
+ });
173
+ var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);
174
+ var newTransitionData = prevData.slice();
163
175
  newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);
164
176
  setTransitionData(newTransitionData);
165
177
  setTransitionRange(rangeNodes);
166
- setMotionType("show");
178
+ setMotionType('show');
167
179
  } else {
168
- const keyIndex = data.findIndex(({ key }) => key === diffExpanded.key);
169
- const rangeNodes = getMinimumRangeTransitionRange((0, import_diffUtil.getExpandRange)(data, prevData, diffExpanded.key), virtual, height, itemHeight);
170
- const newTransitionData = data.slice();
171
- newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);
172
- setTransitionData(newTransitionData);
173
- setTransitionRange(rangeNodes);
174
- setMotionType("hide");
180
+ var _keyIndex = data.findIndex(function (_ref2) {
181
+ var key = _ref2.key;
182
+ return key === diffExpanded.key;
183
+ });
184
+ var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);
185
+ var _newTransitionData = data.slice();
186
+ _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);
187
+ setTransitionData(_newTransitionData);
188
+ setTransitionRange(_rangeNodes);
189
+ setMotionType('hide');
175
190
  }
176
191
  } else if (prevData !== data) {
192
+ // If whole data changed, we just refresh the list
177
193
  setPrevData(data);
178
194
  setTransitionData(data);
179
195
  }
180
196
  }, [expandedKeys, data]);
181
- React.useEffect(() => {
197
+
198
+ // We should clean up motion if is changed by dragging
199
+ React.useEffect(function () {
182
200
  if (!dragging) {
183
201
  onMotionEnd();
184
202
  }
185
203
  }, [dragging]);
186
- const mergedData = motion ? transitionData : data;
187
- const treeNodeRequiredProps = {
188
- expandedKeys,
189
- selectedKeys,
190
- loadedKeys,
191
- loadingKeys,
192
- checkedKeys,
193
- halfCheckedKeys,
194
- dragOverNodeKey,
195
- dropPosition,
196
- keyEntities
204
+ var mergedData = motion ? transitionData : data;
205
+ var treeNodeRequiredProps = {
206
+ expandedKeys: expandedKeys,
207
+ selectedKeys: selectedKeys,
208
+ loadedKeys: loadedKeys,
209
+ loadingKeys: loadingKeys,
210
+ checkedKeys: checkedKeys,
211
+ halfCheckedKeys: halfCheckedKeys,
212
+ dragOverNodeKey: dragOverNodeKey,
213
+ dropPosition: dropPosition,
214
+ keyEntities: keyEntities
197
215
  };
198
- return /* @__PURE__ */ React.createElement(React.Fragment, null, focused && activeItem && /* @__PURE__ */ React.createElement("span", { style: HIDDEN_STYLE, "aria-live": "assertive" }, getAccessibilityPath(activeItem)), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(
199
- "input",
200
- {
201
- style: HIDDEN_STYLE,
202
- disabled: focusable === false || disabled,
203
- tabIndex: focusable !== false ? tabIndex : null,
204
- onKeyDown,
205
- onFocus,
206
- onBlur,
207
- value: "",
208
- onChange: noop,
209
- "aria-label": "for screen reader"
216
+ return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement("span", {
217
+ style: HIDDEN_STYLE,
218
+ "aria-live": "assertive"
219
+ }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
220
+ style: HIDDEN_STYLE,
221
+ disabled: focusable === false || disabled,
222
+ tabIndex: focusable !== false ? tabIndex : null,
223
+ onKeyDown: onKeyDown,
224
+ onFocus: onFocus,
225
+ onBlur: onBlur,
226
+ value: "",
227
+ onChange: noop,
228
+ "aria-label": "for screen reader"
229
+ })), /*#__PURE__*/React.createElement("div", {
230
+ className: "".concat(prefixCls, "-treenode"),
231
+ "aria-hidden": true,
232
+ style: {
233
+ position: 'absolute',
234
+ pointerEvents: 'none',
235
+ visibility: 'hidden',
236
+ height: 0,
237
+ overflow: 'hidden',
238
+ border: 0,
239
+ padding: 0
210
240
  }
211
- )), /* @__PURE__ */ React.createElement(
212
- "div",
213
- {
214
- className: `${prefixCls}-treenode`,
215
- "aria-hidden": true,
216
- style: {
217
- position: "absolute",
218
- pointerEvents: "none",
219
- visibility: "hidden",
220
- height: 0,
221
- overflow: "hidden",
222
- border: 0,
223
- padding: 0
224
- }
225
- },
226
- /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-indent` }, /* @__PURE__ */ React.createElement("div", { ref: indentMeasurerRef, className: `${prefixCls}-indent-unit` }))
227
- ), /* @__PURE__ */ React.createElement(
228
- import_rc_virtual_list.default,
229
- {
230
- ...domProps,
231
- data: mergedData,
232
- itemKey,
233
- height,
234
- fullHeight: false,
235
- virtual,
236
- itemHeight,
237
- scrollWidth,
238
- prefixCls: `${prefixCls}-list`,
239
- ref: listRef,
240
- role: "tree",
241
- onVisibleChange: (originList) => {
242
- if (originList.every((item) => itemKey(item) !== MOTION_KEY)) {
243
- onMotionEnd();
244
- }
241
+ }, /*#__PURE__*/React.createElement("div", {
242
+ className: "".concat(prefixCls, "-indent")
243
+ }, /*#__PURE__*/React.createElement("div", {
244
+ ref: indentMeasurerRef,
245
+ className: "".concat(prefixCls, "-indent-unit")
246
+ }))), /*#__PURE__*/React.createElement(VirtualList, _extends({}, domProps, {
247
+ data: mergedData,
248
+ itemKey: itemKey,
249
+ height: height,
250
+ fullHeight: false,
251
+ virtual: virtual,
252
+ itemHeight: itemHeight,
253
+ scrollWidth: scrollWidth,
254
+ prefixCls: "".concat(prefixCls, "-list"),
255
+ ref: listRef,
256
+ role: "tree",
257
+ onVisibleChange: function onVisibleChange(originList) {
258
+ // The best match is using `fullList` - `originList` = `restList`
259
+ // and check the `restList` to see if has the MOTION_KEY node
260
+ // but this will cause performance issue for long list compare
261
+ // we just check `originList` and repeat trigger `onMotionEnd`
262
+ if (originList.every(function (item) {
263
+ return itemKey(item) !== MOTION_KEY;
264
+ })) {
265
+ onMotionEnd();
245
266
  }
246
- },
247
- (treeNode) => {
248
- const {
249
- pos,
250
- data: { ...restProps },
251
- title,
252
- key,
253
- isStart,
254
- isEnd
255
- } = treeNode;
256
- const mergedKey = (0, import_treeUtil.getKey)(key, pos);
257
- delete restProps.key;
258
- delete restProps.children;
259
- const treeNodeProps = (0, import_treeUtil.getTreeNodeProps)(mergedKey, treeNodeRequiredProps);
260
- return /* @__PURE__ */ React.createElement(
261
- import_MotionTreeNode.default,
262
- {
263
- ...restProps,
264
- ...treeNodeProps,
265
- title,
266
- active: !!activeItem && key === activeItem.key,
267
- pos,
268
- data: treeNode.data,
269
- isStart,
270
- isEnd,
271
- motion,
272
- motionNodes: key === MOTION_KEY ? transitionRange : null,
273
- motionType,
274
- onMotionStart: onListChangeStart,
275
- onMotionEnd,
276
- treeNodeRequiredProps,
277
- onMouseMove: () => {
278
- onActiveChange(null);
279
- }
280
- }
281
- );
282
267
  }
283
- ));
268
+ }), function (treeNode) {
269
+ var pos = treeNode.pos,
270
+ restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),
271
+ title = treeNode.title,
272
+ key = treeNode.key,
273
+ isStart = treeNode.isStart,
274
+ isEnd = treeNode.isEnd;
275
+ var mergedKey = getKey(key, pos);
276
+ delete restProps.key;
277
+ delete restProps.children;
278
+ var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);
279
+ return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {
280
+ title: title,
281
+ active: !!activeItem && key === activeItem.key,
282
+ pos: pos,
283
+ data: treeNode.data,
284
+ isStart: isStart,
285
+ isEnd: isEnd,
286
+ motion: motion,
287
+ motionNodes: key === MOTION_KEY ? transitionRange : null,
288
+ motionType: motionType,
289
+ onMotionStart: onListChangeStart,
290
+ onMotionEnd: onMotionEnd,
291
+ treeNodeRequiredProps: treeNodeRequiredProps,
292
+ onMouseMove: function onMouseMove() {
293
+ onActiveChange(null);
294
+ }
295
+ }));
296
+ }));
284
297
  });
285
- if (process.env.NODE_ENV !== "production") {
286
- NodeList.displayName = "NodeList";
298
+ if (process.env.NODE_ENV !== 'production') {
299
+ NodeList.displayName = 'NodeList';
287
300
  }
288
- var NodeList_default = NodeList;
289
- // Annotate the CommonJS export names for ESM import in node:
290
- 0 && (module.exports = {
291
- MOTION_KEY,
292
- MotionEntity,
293
- getMinimumRangeTransitionRange
294
- });
301
+ export default NodeList;