@ioca/react 1.5.19 → 1.5.21

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 (605) hide show
  1. package/lib/css/index.css +1 -2
  2. package/lib/es/components/affix/affix.js +1 -1
  3. package/lib/es/components/affix/index.js +0 -1
  4. package/lib/es/components/affix/totop.js +0 -1
  5. package/lib/es/components/badge/badge.js +1 -1
  6. package/lib/es/components/badge/index.js +0 -1
  7. package/lib/es/components/button/button.js +1 -1
  8. package/lib/es/components/button/confirm.js +0 -1
  9. package/lib/es/components/button/group.js +0 -1
  10. package/lib/es/components/button/index.js +0 -1
  11. package/lib/es/components/button/toggle.js +0 -1
  12. package/lib/es/components/card/card.js +1 -1
  13. package/lib/es/components/card/index.js +0 -1
  14. package/lib/es/components/checkbox/checkbox.js +2 -1
  15. package/lib/es/components/checkbox/index.js +0 -1
  16. package/lib/es/components/checkbox/item.js +0 -1
  17. package/lib/es/components/collapse/collapse.js +1 -1
  18. package/lib/es/components/collapse/index.js +0 -1
  19. package/lib/es/components/collapse/item.js +0 -1
  20. package/lib/es/components/datagrid/cell.js +0 -1
  21. package/lib/es/components/datagrid/datagrid.js +1 -1
  22. package/lib/es/components/datagrid/helper.js +0 -1
  23. package/lib/es/components/datagrid/index.js +0 -1
  24. package/lib/es/components/datagrid/resize.js +0 -1
  25. package/lib/es/components/datagrid/row.js +0 -1
  26. package/lib/es/components/datagrid/sorter.js +0 -1
  27. package/lib/es/components/datagrid/virtual.js +130 -104
  28. package/lib/es/components/description/description.js +1 -1
  29. package/lib/es/components/description/index.js +0 -1
  30. package/lib/es/components/drawer/drawer.js +1 -1
  31. package/lib/es/components/drawer/index.js +0 -1
  32. package/lib/es/components/dropdown/dropdown.js +1 -1
  33. package/lib/es/components/dropdown/index.js +0 -1
  34. package/lib/es/components/dropdown/item.js +0 -1
  35. package/lib/es/components/editor/controls.js +0 -1
  36. package/lib/es/components/editor/editor.js +1 -1
  37. package/lib/es/components/editor/index.js +0 -1
  38. package/lib/es/components/editor/memtion.js +0 -1
  39. package/lib/es/components/flex/flex.js +1 -1
  40. package/lib/es/components/flex/index.js +0 -1
  41. package/lib/es/components/form/context.js +0 -1
  42. package/lib/es/components/form/field.js +0 -1
  43. package/lib/es/components/form/form.js +1 -1
  44. package/lib/es/components/form/index.js +0 -1
  45. package/lib/es/components/form/useConfig.js +0 -1
  46. package/lib/es/components/form/useForm.js +1 -2
  47. package/lib/es/components/form/utils.js +0 -1
  48. package/lib/es/components/icon/icon.js +1 -1
  49. package/lib/es/components/icon/index.js +0 -1
  50. package/lib/es/components/image/image.js +1 -1
  51. package/lib/es/components/image/index.js +0 -1
  52. package/lib/es/components/image/list.js +0 -1
  53. package/lib/es/components/input/container.js +0 -1
  54. package/lib/es/components/input/index.js +0 -1
  55. package/lib/es/components/input/input.js +1 -1
  56. package/lib/es/components/input/number.js +1 -1
  57. package/lib/es/components/input/range.js +1 -1
  58. package/lib/es/components/input/textarea.js +1 -1
  59. package/lib/es/components/list/index.js +0 -1
  60. package/lib/es/components/list/item.js +0 -1
  61. package/lib/es/components/list/list.js +1 -1
  62. package/lib/es/components/loading/index.js +0 -1
  63. package/lib/es/components/loading/loading.js +1 -1
  64. package/lib/es/components/message/index.js +0 -1
  65. package/lib/es/components/message/message.js +1 -1
  66. package/lib/es/components/modal/content.js +1 -1
  67. package/lib/es/components/modal/context.js +0 -1
  68. package/lib/es/components/modal/hookModal.js +0 -1
  69. package/lib/es/components/modal/index.js +0 -1
  70. package/lib/es/components/modal/modal.js +1 -1
  71. package/lib/es/components/modal/modalManager.js +0 -1
  72. package/lib/es/components/modal/useModal.js +0 -1
  73. package/lib/es/components/pagination/index.js +0 -1
  74. package/lib/es/components/pagination/page.js +0 -1
  75. package/lib/es/components/pagination/pagination.js +1 -1
  76. package/lib/es/components/picker/colors/footer.js +0 -1
  77. package/lib/es/components/picker/colors/handle.js +0 -1
  78. package/lib/es/components/picker/colors/index.js +1 -1
  79. package/lib/es/components/picker/daterange/daterange.js +2 -1
  80. package/lib/es/components/picker/daterange/index.js +0 -1
  81. package/lib/es/components/picker/daterange/panel.js +0 -1
  82. package/lib/es/components/picker/dates/dates.js +0 -1
  83. package/lib/es/components/picker/dates/index.js +1 -1
  84. package/lib/es/components/picker/dates/panel.js +0 -1
  85. package/lib/es/components/picker/time/index.js +0 -1
  86. package/lib/es/components/picker/time/item.js +0 -1
  87. package/lib/es/components/picker/time/panel.js +1 -1
  88. package/lib/es/components/popconfirm/index.js +0 -1
  89. package/lib/es/components/popconfirm/popconfirm.js +1 -1
  90. package/lib/es/components/popup/content.js +0 -1
  91. package/lib/es/components/popup/index.js +0 -1
  92. package/lib/es/components/popup/popup.js +1 -1
  93. package/lib/es/components/progress/circle.js +0 -1
  94. package/lib/es/components/progress/index.js +0 -1
  95. package/lib/es/components/progress/line.js +0 -1
  96. package/lib/es/components/progress/progress.js +2 -1
  97. package/lib/es/components/radio/index.js +0 -1
  98. package/lib/es/components/radio/item.js +0 -1
  99. package/lib/es/components/radio/radio.js +2 -1
  100. package/lib/es/components/resizable/index.js +0 -1
  101. package/lib/es/components/resizable/resizable.js +1 -1
  102. package/lib/es/components/river/index.js +0 -1
  103. package/lib/es/components/river/river.js +1 -1
  104. package/lib/es/components/scroll/index.js +0 -1
  105. package/lib/es/components/scroll/scroll.js +1 -1
  106. package/lib/es/components/select/index.js +0 -1
  107. package/lib/es/components/select/options.js +0 -1
  108. package/lib/es/components/select/select.js +2 -1
  109. package/lib/es/components/step/divider.js +1 -1
  110. package/lib/es/components/step/index.js +0 -1
  111. package/lib/es/components/step/item.js +0 -1
  112. package/lib/es/components/step/step.js +1 -1
  113. package/lib/es/components/swiper/index.js +0 -1
  114. package/lib/es/components/swiper/item.js +0 -1
  115. package/lib/es/components/swiper/swiper.js +1 -1
  116. package/lib/es/components/tabs/contents.js +0 -1
  117. package/lib/es/components/tabs/helper.js +0 -1
  118. package/lib/es/components/tabs/index.js +0 -1
  119. package/lib/es/components/tabs/item.js +0 -1
  120. package/lib/es/components/tabs/navs.js +0 -1
  121. package/lib/es/components/tabs/tabs.js +9 -18
  122. package/lib/es/components/tag/index.js +0 -1
  123. package/lib/es/components/tag/tag.js +1 -1
  124. package/lib/es/components/text/highlight.js +0 -1
  125. package/lib/es/components/text/index.js +0 -1
  126. package/lib/es/components/text/number.js +0 -1
  127. package/lib/es/components/text/text.js +1 -1
  128. package/lib/es/components/text/time.js +0 -1
  129. package/lib/es/components/tree/index.js +0 -1
  130. package/lib/es/components/tree/item.js +44 -58
  131. package/lib/es/components/tree/tree.js +123 -20
  132. package/lib/es/components/tree/virtual.js +43 -0
  133. package/lib/es/components/upload/dropbox.js +0 -1
  134. package/lib/es/components/upload/index.js +0 -1
  135. package/lib/es/components/upload/renderFile.js +0 -1
  136. package/lib/es/components/upload/upload.js +1 -1
  137. package/lib/es/components/utils/empty/index.js +1 -1
  138. package/lib/es/components/utils/helpericon/helpericon.js +1 -1
  139. package/lib/es/components/utils/helpericon/index.js +0 -1
  140. package/lib/es/components/video/index.js +0 -1
  141. package/lib/es/components/video/video.js +1 -1
  142. package/lib/es/index.js +1 -1
  143. package/lib/es/js/hooks.js +0 -1
  144. package/lib/es/js/usePreview/content.js +3 -4
  145. package/lib/es/js/usePreview/index.js +1 -1
  146. package/lib/es/js/usePreview/renderFile.js +0 -1
  147. package/lib/es/js/usePreview/type.js +0 -1
  148. package/lib/es/js/useRipple/index.js +2 -1
  149. package/lib/es/js/useTheme/index.js +0 -1
  150. package/lib/es/js/utils.js +0 -1
  151. package/lib/index.js +338 -197
  152. package/lib/types/components/tabs/type.d.ts +1 -1
  153. package/lib/types/components/tree/type.d.ts +8 -5
  154. package/lib/types/js/usePreview/type.d.ts +1 -1
  155. package/package.json +8 -11
  156. package/lib/cjs/components/affix/affix.js +0 -80
  157. package/lib/cjs/components/affix/affix.js.map +0 -1
  158. package/lib/cjs/components/affix/index.js +0 -10
  159. package/lib/cjs/components/affix/index.js.map +0 -1
  160. package/lib/cjs/components/affix/totop.js +0 -21
  161. package/lib/cjs/components/affix/totop.js.map +0 -1
  162. package/lib/cjs/components/badge/badge.js +0 -21
  163. package/lib/cjs/components/badge/badge.js.map +0 -1
  164. package/lib/cjs/components/badge/index.js +0 -10
  165. package/lib/cjs/components/badge/index.js.map +0 -1
  166. package/lib/cjs/components/button/button.js +0 -72
  167. package/lib/cjs/components/button/button.js.map +0 -1
  168. package/lib/cjs/components/button/confirm.js +0 -58
  169. package/lib/cjs/components/button/confirm.js.map +0 -1
  170. package/lib/cjs/components/button/group.js +0 -29
  171. package/lib/cjs/components/button/group.js.map +0 -1
  172. package/lib/cjs/components/button/index.js +0 -10
  173. package/lib/cjs/components/button/index.js.map +0 -1
  174. package/lib/cjs/components/button/toggle.js +0 -47
  175. package/lib/cjs/components/button/toggle.js.map +0 -1
  176. package/lib/cjs/components/card/card.js +0 -21
  177. package/lib/cjs/components/card/card.js.map +0 -1
  178. package/lib/cjs/components/card/index.js +0 -10
  179. package/lib/cjs/components/card/index.js.map +0 -1
  180. package/lib/cjs/components/checkbox/checkbox.js +0 -47
  181. package/lib/cjs/components/checkbox/checkbox.js.map +0 -1
  182. package/lib/cjs/components/checkbox/index.js +0 -10
  183. package/lib/cjs/components/checkbox/index.js.map +0 -1
  184. package/lib/cjs/components/checkbox/item.js +0 -43
  185. package/lib/cjs/components/checkbox/item.js.map +0 -1
  186. package/lib/cjs/components/collapse/collapse.js +0 -80
  187. package/lib/cjs/components/collapse/collapse.js.map +0 -1
  188. package/lib/cjs/components/collapse/index.js +0 -10
  189. package/lib/cjs/components/collapse/index.js.map +0 -1
  190. package/lib/cjs/components/collapse/item.js +0 -12
  191. package/lib/cjs/components/collapse/item.js.map +0 -1
  192. package/lib/cjs/components/datagrid/cell.js +0 -34
  193. package/lib/cjs/components/datagrid/cell.js.map +0 -1
  194. package/lib/cjs/components/datagrid/datagrid.js +0 -219
  195. package/lib/cjs/components/datagrid/datagrid.js.map +0 -1
  196. package/lib/cjs/components/datagrid/helper.js +0 -83
  197. package/lib/cjs/components/datagrid/helper.js.map +0 -1
  198. package/lib/cjs/components/datagrid/index.js +0 -10
  199. package/lib/cjs/components/datagrid/index.js.map +0 -1
  200. package/lib/cjs/components/datagrid/resize.js +0 -72
  201. package/lib/cjs/components/datagrid/resize.js.map +0 -1
  202. package/lib/cjs/components/datagrid/row.js +0 -55
  203. package/lib/cjs/components/datagrid/row.js.map +0 -1
  204. package/lib/cjs/components/datagrid/sorter.js +0 -21
  205. package/lib/cjs/components/datagrid/sorter.js.map +0 -1
  206. package/lib/cjs/components/datagrid/virtual.js +0 -283
  207. package/lib/cjs/components/datagrid/virtual.js.map +0 -1
  208. package/lib/cjs/components/description/description.js +0 -36
  209. package/lib/cjs/components/description/description.js.map +0 -1
  210. package/lib/cjs/components/description/index.js +0 -10
  211. package/lib/cjs/components/description/index.js.map +0 -1
  212. package/lib/cjs/components/drawer/drawer.js +0 -77
  213. package/lib/cjs/components/drawer/drawer.js.map +0 -1
  214. package/lib/cjs/components/drawer/index.js +0 -10
  215. package/lib/cjs/components/drawer/index.js.map +0 -1
  216. package/lib/cjs/components/dropdown/dropdown.js +0 -36
  217. package/lib/cjs/components/dropdown/dropdown.js.map +0 -1
  218. package/lib/cjs/components/dropdown/index.js +0 -10
  219. package/lib/cjs/components/dropdown/index.js.map +0 -1
  220. package/lib/cjs/components/dropdown/item.js +0 -38
  221. package/lib/cjs/components/dropdown/item.js.map +0 -1
  222. package/lib/cjs/components/editor/controls.js +0 -64
  223. package/lib/cjs/components/editor/controls.js.map +0 -1
  224. package/lib/cjs/components/editor/editor.js +0 -287
  225. package/lib/cjs/components/editor/editor.js.map +0 -1
  226. package/lib/cjs/components/editor/index.js +0 -10
  227. package/lib/cjs/components/editor/index.js.map +0 -1
  228. package/lib/cjs/components/editor/memtion.js +0 -302
  229. package/lib/cjs/components/editor/memtion.js.map +0 -1
  230. package/lib/cjs/components/flex/flex.js +0 -36
  231. package/lib/cjs/components/flex/flex.js.map +0 -1
  232. package/lib/cjs/components/flex/index.js +0 -10
  233. package/lib/cjs/components/flex/index.js.map +0 -1
  234. package/lib/cjs/components/form/context.js +0 -10
  235. package/lib/cjs/components/form/context.js.map +0 -1
  236. package/lib/cjs/components/form/field.js +0 -81
  237. package/lib/cjs/components/form/field.js.map +0 -1
  238. package/lib/cjs/components/form/form.js +0 -76
  239. package/lib/cjs/components/form/form.js.map +0 -1
  240. package/lib/cjs/components/form/index.js +0 -10
  241. package/lib/cjs/components/form/index.js.map +0 -1
  242. package/lib/cjs/components/form/useConfig.js +0 -38
  243. package/lib/cjs/components/form/useConfig.js.map +0 -1
  244. package/lib/cjs/components/form/useForm.js +0 -127
  245. package/lib/cjs/components/form/useForm.js.map +0 -1
  246. package/lib/cjs/components/form/utils.js +0 -33
  247. package/lib/cjs/components/form/utils.js.map +0 -1
  248. package/lib/cjs/components/icon/icon.js +0 -31
  249. package/lib/cjs/components/icon/icon.js.map +0 -1
  250. package/lib/cjs/components/icon/index.js +0 -10
  251. package/lib/cjs/components/icon/index.js.map +0 -1
  252. package/lib/cjs/components/image/image.js +0 -103
  253. package/lib/cjs/components/image/image.js.map +0 -1
  254. package/lib/cjs/components/image/index.js +0 -10
  255. package/lib/cjs/components/image/index.js.map +0 -1
  256. package/lib/cjs/components/image/list.js +0 -47
  257. package/lib/cjs/components/image/list.js.map +0 -1
  258. package/lib/cjs/components/input/container.js +0 -22
  259. package/lib/cjs/components/input/container.js.map +0 -1
  260. package/lib/cjs/components/input/index.js +0 -10
  261. package/lib/cjs/components/input/index.js.map +0 -1
  262. package/lib/cjs/components/input/input.js +0 -85
  263. package/lib/cjs/components/input/input.js.map +0 -1
  264. package/lib/cjs/components/input/number.js +0 -118
  265. package/lib/cjs/components/input/number.js.map +0 -1
  266. package/lib/cjs/components/input/range.js +0 -82
  267. package/lib/cjs/components/input/range.js.map +0 -1
  268. package/lib/cjs/components/input/textarea.js +0 -64
  269. package/lib/cjs/components/input/textarea.js.map +0 -1
  270. package/lib/cjs/components/list/index.js +0 -10
  271. package/lib/cjs/components/list/index.js.map +0 -1
  272. package/lib/cjs/components/list/item.js +0 -23
  273. package/lib/cjs/components/list/item.js.map +0 -1
  274. package/lib/cjs/components/list/list.js +0 -33
  275. package/lib/cjs/components/list/list.js.map +0 -1
  276. package/lib/cjs/components/loading/index.js +0 -10
  277. package/lib/cjs/components/loading/index.js.map +0 -1
  278. package/lib/cjs/components/loading/loading.js +0 -26
  279. package/lib/cjs/components/loading/loading.js.map +0 -1
  280. package/lib/cjs/components/message/index.js +0 -11
  281. package/lib/cjs/components/message/index.js.map +0 -1
  282. package/lib/cjs/components/message/message.js +0 -239
  283. package/lib/cjs/components/message/message.js.map +0 -1
  284. package/lib/cjs/components/modal/content.js +0 -45
  285. package/lib/cjs/components/modal/content.js.map +0 -1
  286. package/lib/cjs/components/modal/context.js +0 -10
  287. package/lib/cjs/components/modal/context.js.map +0 -1
  288. package/lib/cjs/components/modal/hookModal.js +0 -31
  289. package/lib/cjs/components/modal/hookModal.js.map +0 -1
  290. package/lib/cjs/components/modal/index.js +0 -10
  291. package/lib/cjs/components/modal/index.js.map +0 -1
  292. package/lib/cjs/components/modal/modal.js +0 -140
  293. package/lib/cjs/components/modal/modal.js.map +0 -1
  294. package/lib/cjs/components/modal/modalManager.js +0 -83
  295. package/lib/cjs/components/modal/modalManager.js.map +0 -1
  296. package/lib/cjs/components/modal/useModal.js +0 -38
  297. package/lib/cjs/components/modal/useModal.js.map +0 -1
  298. package/lib/cjs/components/pagination/index.js +0 -10
  299. package/lib/cjs/components/pagination/index.js.map +0 -1
  300. package/lib/cjs/components/pagination/page.js +0 -32
  301. package/lib/cjs/components/pagination/page.js.map +0 -1
  302. package/lib/cjs/components/pagination/pagination.js +0 -52
  303. package/lib/cjs/components/pagination/pagination.js.map +0 -1
  304. package/lib/cjs/components/picker/colors/footer.js +0 -39
  305. package/lib/cjs/components/picker/colors/footer.js.map +0 -1
  306. package/lib/cjs/components/picker/colors/handle.js +0 -18
  307. package/lib/cjs/components/picker/colors/handle.js.map +0 -1
  308. package/lib/cjs/components/picker/colors/index.js +0 -72
  309. package/lib/cjs/components/picker/colors/index.js.map +0 -1
  310. package/lib/cjs/components/picker/daterange/daterange.js +0 -60
  311. package/lib/cjs/components/picker/daterange/daterange.js.map +0 -1
  312. package/lib/cjs/components/picker/daterange/index.js +0 -11
  313. package/lib/cjs/components/picker/daterange/index.js.map +0 -1
  314. package/lib/cjs/components/picker/daterange/panel.js +0 -55
  315. package/lib/cjs/components/picker/daterange/panel.js.map +0 -1
  316. package/lib/cjs/components/picker/dates/dates.js +0 -63
  317. package/lib/cjs/components/picker/dates/dates.js.map +0 -1
  318. package/lib/cjs/components/picker/dates/index.js +0 -73
  319. package/lib/cjs/components/picker/dates/index.js.map +0 -1
  320. package/lib/cjs/components/picker/dates/panel.js +0 -93
  321. package/lib/cjs/components/picker/dates/panel.js.map +0 -1
  322. package/lib/cjs/components/picker/time/index.js +0 -55
  323. package/lib/cjs/components/picker/time/index.js.map +0 -1
  324. package/lib/cjs/components/picker/time/item.js +0 -23
  325. package/lib/cjs/components/picker/time/item.js.map +0 -1
  326. package/lib/cjs/components/picker/time/panel.js +0 -104
  327. package/lib/cjs/components/picker/time/panel.js.map +0 -1
  328. package/lib/cjs/components/popconfirm/index.js +0 -10
  329. package/lib/cjs/components/popconfirm/index.js.map +0 -1
  330. package/lib/cjs/components/popconfirm/popconfirm.js +0 -55
  331. package/lib/cjs/components/popconfirm/popconfirm.js.map +0 -1
  332. package/lib/cjs/components/popup/content.js +0 -51
  333. package/lib/cjs/components/popup/content.js.map +0 -1
  334. package/lib/cjs/components/popup/index.js +0 -10
  335. package/lib/cjs/components/popup/index.js.map +0 -1
  336. package/lib/cjs/components/popup/popup.js +0 -495
  337. package/lib/cjs/components/popup/popup.js.map +0 -1
  338. package/lib/cjs/components/progress/circle.js +0 -16
  339. package/lib/cjs/components/progress/circle.js.map +0 -1
  340. package/lib/cjs/components/progress/index.js +0 -10
  341. package/lib/cjs/components/progress/index.js.map +0 -1
  342. package/lib/cjs/components/progress/line.js +0 -22
  343. package/lib/cjs/components/progress/line.js.map +0 -1
  344. package/lib/cjs/components/progress/progress.js +0 -90
  345. package/lib/cjs/components/progress/progress.js.map +0 -1
  346. package/lib/cjs/components/radio/index.js +0 -10
  347. package/lib/cjs/components/radio/index.js.map +0 -1
  348. package/lib/cjs/components/radio/item.js +0 -25
  349. package/lib/cjs/components/radio/item.js.map +0 -1
  350. package/lib/cjs/components/radio/radio.js +0 -40
  351. package/lib/cjs/components/radio/radio.js.map +0 -1
  352. package/lib/cjs/components/resizable/index.js +0 -10
  353. package/lib/cjs/components/resizable/index.js.map +0 -1
  354. package/lib/cjs/components/resizable/resizable.js +0 -68
  355. package/lib/cjs/components/resizable/resizable.js.map +0 -1
  356. package/lib/cjs/components/river/index.js +0 -10
  357. package/lib/cjs/components/river/index.js.map +0 -1
  358. package/lib/cjs/components/river/river.js +0 -114
  359. package/lib/cjs/components/river/river.js.map +0 -1
  360. package/lib/cjs/components/scroll/index.js +0 -10
  361. package/lib/cjs/components/scroll/index.js.map +0 -1
  362. package/lib/cjs/components/scroll/scroll.js +0 -78
  363. package/lib/cjs/components/scroll/scroll.js.map +0 -1
  364. package/lib/cjs/components/select/index.js +0 -10
  365. package/lib/cjs/components/select/index.js.map +0 -1
  366. package/lib/cjs/components/select/options.js +0 -55
  367. package/lib/cjs/components/select/options.js.map +0 -1
  368. package/lib/cjs/components/select/select.js +0 -103
  369. package/lib/cjs/components/select/select.js.map +0 -1
  370. package/lib/cjs/components/step/divider.js +0 -12
  371. package/lib/cjs/components/step/divider.js.map +0 -1
  372. package/lib/cjs/components/step/index.js +0 -10
  373. package/lib/cjs/components/step/index.js.map +0 -1
  374. package/lib/cjs/components/step/item.js +0 -30
  375. package/lib/cjs/components/step/item.js.map +0 -1
  376. package/lib/cjs/components/step/step.js +0 -44
  377. package/lib/cjs/components/step/step.js.map +0 -1
  378. package/lib/cjs/components/swiper/index.js +0 -10
  379. package/lib/cjs/components/swiper/index.js.map +0 -1
  380. package/lib/cjs/components/swiper/item.js +0 -33
  381. package/lib/cjs/components/swiper/item.js.map +0 -1
  382. package/lib/cjs/components/swiper/swiper.js +0 -241
  383. package/lib/cjs/components/swiper/swiper.js.map +0 -1
  384. package/lib/cjs/components/tabs/contents.js +0 -28
  385. package/lib/cjs/components/tabs/contents.js.map +0 -1
  386. package/lib/cjs/components/tabs/helper.js +0 -68
  387. package/lib/cjs/components/tabs/helper.js.map +0 -1
  388. package/lib/cjs/components/tabs/index.js +0 -10
  389. package/lib/cjs/components/tabs/index.js.map +0 -1
  390. package/lib/cjs/components/tabs/item.js +0 -12
  391. package/lib/cjs/components/tabs/item.js.map +0 -1
  392. package/lib/cjs/components/tabs/navs.js +0 -38
  393. package/lib/cjs/components/tabs/navs.js.map +0 -1
  394. package/lib/cjs/components/tabs/tabs.js +0 -264
  395. package/lib/cjs/components/tabs/tabs.js.map +0 -1
  396. package/lib/cjs/components/tag/index.js +0 -10
  397. package/lib/cjs/components/tag/index.js.map +0 -1
  398. package/lib/cjs/components/tag/tag.js +0 -26
  399. package/lib/cjs/components/tag/tag.js.map +0 -1
  400. package/lib/cjs/components/text/highlight.js +0 -32
  401. package/lib/cjs/components/text/highlight.js.map +0 -1
  402. package/lib/cjs/components/text/index.js +0 -10
  403. package/lib/cjs/components/text/index.js.map +0 -1
  404. package/lib/cjs/components/text/number.js +0 -31
  405. package/lib/cjs/components/text/number.js.map +0 -1
  406. package/lib/cjs/components/text/text.js +0 -42
  407. package/lib/cjs/components/text/text.js.map +0 -1
  408. package/lib/cjs/components/text/time.js +0 -24
  409. package/lib/cjs/components/text/time.js.map +0 -1
  410. package/lib/cjs/components/tree/index.js +0 -10
  411. package/lib/cjs/components/tree/index.js.map +0 -1
  412. package/lib/cjs/components/tree/item.js +0 -80
  413. package/lib/cjs/components/tree/item.js.map +0 -1
  414. package/lib/cjs/components/tree/tree.js +0 -134
  415. package/lib/cjs/components/tree/tree.js.map +0 -1
  416. package/lib/cjs/components/upload/dropbox.js +0 -54
  417. package/lib/cjs/components/upload/dropbox.js.map +0 -1
  418. package/lib/cjs/components/upload/index.js +0 -10
  419. package/lib/cjs/components/upload/index.js.map +0 -1
  420. package/lib/cjs/components/upload/renderFile.js +0 -66
  421. package/lib/cjs/components/upload/renderFile.js.map +0 -1
  422. package/lib/cjs/components/upload/upload.js +0 -163
  423. package/lib/cjs/components/upload/upload.js.map +0 -1
  424. package/lib/cjs/components/utils/empty/index.js +0 -19
  425. package/lib/cjs/components/utils/empty/index.js.map +0 -1
  426. package/lib/cjs/components/utils/helpericon/helpericon.js +0 -32
  427. package/lib/cjs/components/utils/helpericon/helpericon.js.map +0 -1
  428. package/lib/cjs/components/utils/helpericon/index.js +0 -10
  429. package/lib/cjs/components/utils/helpericon/index.js.map +0 -1
  430. package/lib/cjs/components/video/index.js +0 -10
  431. package/lib/cjs/components/video/index.js.map +0 -1
  432. package/lib/cjs/components/video/video.js +0 -181
  433. package/lib/cjs/components/video/video.js.map +0 -1
  434. package/lib/cjs/index.js +0 -92
  435. package/lib/cjs/index.js.map +0 -1
  436. package/lib/cjs/js/hooks.js +0 -272
  437. package/lib/cjs/js/hooks.js.map +0 -1
  438. package/lib/cjs/js/usePreview/content.js +0 -164
  439. package/lib/cjs/js/usePreview/content.js.map +0 -1
  440. package/lib/cjs/js/usePreview/index.js +0 -27
  441. package/lib/cjs/js/usePreview/index.js.map +0 -1
  442. package/lib/cjs/js/usePreview/renderFile.js +0 -24
  443. package/lib/cjs/js/usePreview/renderFile.js.map +0 -1
  444. package/lib/cjs/js/usePreview/type.js +0 -13
  445. package/lib/cjs/js/usePreview/type.js.map +0 -1
  446. package/lib/cjs/js/useRipple/index.js +0 -51
  447. package/lib/cjs/js/useRipple/index.js.map +0 -1
  448. package/lib/cjs/js/useTheme/index.js +0 -155
  449. package/lib/cjs/js/useTheme/index.js.map +0 -1
  450. package/lib/cjs/js/utils.js +0 -302
  451. package/lib/cjs/js/utils.js.map +0 -1
  452. package/lib/css/colors.css +0 -792
  453. package/lib/css/index.css.map +0 -1
  454. package/lib/css/input.css +0 -214
  455. package/lib/css/reset.css +0 -140
  456. package/lib/css/tokens.css +0 -13
  457. package/lib/css/utilities.css +0 -1973
  458. package/lib/es/components/affix/affix.js.map +0 -1
  459. package/lib/es/components/affix/index.js.map +0 -1
  460. package/lib/es/components/affix/totop.js.map +0 -1
  461. package/lib/es/components/badge/badge.js.map +0 -1
  462. package/lib/es/components/badge/index.js.map +0 -1
  463. package/lib/es/components/button/button.js.map +0 -1
  464. package/lib/es/components/button/confirm.js.map +0 -1
  465. package/lib/es/components/button/group.js.map +0 -1
  466. package/lib/es/components/button/index.js.map +0 -1
  467. package/lib/es/components/button/toggle.js.map +0 -1
  468. package/lib/es/components/card/card.js.map +0 -1
  469. package/lib/es/components/card/index.js.map +0 -1
  470. package/lib/es/components/checkbox/checkbox.js.map +0 -1
  471. package/lib/es/components/checkbox/index.js.map +0 -1
  472. package/lib/es/components/checkbox/item.js.map +0 -1
  473. package/lib/es/components/collapse/collapse.js.map +0 -1
  474. package/lib/es/components/collapse/index.js.map +0 -1
  475. package/lib/es/components/collapse/item.js.map +0 -1
  476. package/lib/es/components/datagrid/cell.js.map +0 -1
  477. package/lib/es/components/datagrid/datagrid.js.map +0 -1
  478. package/lib/es/components/datagrid/helper.js.map +0 -1
  479. package/lib/es/components/datagrid/index.js.map +0 -1
  480. package/lib/es/components/datagrid/resize.js.map +0 -1
  481. package/lib/es/components/datagrid/row.js.map +0 -1
  482. package/lib/es/components/datagrid/sorter.js.map +0 -1
  483. package/lib/es/components/datagrid/virtual.js.map +0 -1
  484. package/lib/es/components/description/description.js.map +0 -1
  485. package/lib/es/components/description/index.js.map +0 -1
  486. package/lib/es/components/drawer/drawer.js.map +0 -1
  487. package/lib/es/components/drawer/index.js.map +0 -1
  488. package/lib/es/components/dropdown/dropdown.js.map +0 -1
  489. package/lib/es/components/dropdown/index.js.map +0 -1
  490. package/lib/es/components/dropdown/item.js.map +0 -1
  491. package/lib/es/components/editor/controls.js.map +0 -1
  492. package/lib/es/components/editor/editor.js.map +0 -1
  493. package/lib/es/components/editor/index.js.map +0 -1
  494. package/lib/es/components/editor/memtion.js.map +0 -1
  495. package/lib/es/components/flex/flex.js.map +0 -1
  496. package/lib/es/components/flex/index.js.map +0 -1
  497. package/lib/es/components/form/context.js.map +0 -1
  498. package/lib/es/components/form/field.js.map +0 -1
  499. package/lib/es/components/form/form.js.map +0 -1
  500. package/lib/es/components/form/index.js.map +0 -1
  501. package/lib/es/components/form/useConfig.js.map +0 -1
  502. package/lib/es/components/form/useForm.js.map +0 -1
  503. package/lib/es/components/form/utils.js.map +0 -1
  504. package/lib/es/components/icon/icon.js.map +0 -1
  505. package/lib/es/components/icon/index.js.map +0 -1
  506. package/lib/es/components/image/image.js.map +0 -1
  507. package/lib/es/components/image/index.js.map +0 -1
  508. package/lib/es/components/image/list.js.map +0 -1
  509. package/lib/es/components/input/container.js.map +0 -1
  510. package/lib/es/components/input/index.js.map +0 -1
  511. package/lib/es/components/input/input.js.map +0 -1
  512. package/lib/es/components/input/number.js.map +0 -1
  513. package/lib/es/components/input/range.js.map +0 -1
  514. package/lib/es/components/input/textarea.js.map +0 -1
  515. package/lib/es/components/list/index.js.map +0 -1
  516. package/lib/es/components/list/item.js.map +0 -1
  517. package/lib/es/components/list/list.js.map +0 -1
  518. package/lib/es/components/loading/index.js.map +0 -1
  519. package/lib/es/components/loading/loading.js.map +0 -1
  520. package/lib/es/components/message/index.js.map +0 -1
  521. package/lib/es/components/message/message.js.map +0 -1
  522. package/lib/es/components/modal/content.js.map +0 -1
  523. package/lib/es/components/modal/context.js.map +0 -1
  524. package/lib/es/components/modal/hookModal.js.map +0 -1
  525. package/lib/es/components/modal/index.js.map +0 -1
  526. package/lib/es/components/modal/modal.js.map +0 -1
  527. package/lib/es/components/modal/modalManager.js.map +0 -1
  528. package/lib/es/components/modal/useModal.js.map +0 -1
  529. package/lib/es/components/pagination/index.js.map +0 -1
  530. package/lib/es/components/pagination/page.js.map +0 -1
  531. package/lib/es/components/pagination/pagination.js.map +0 -1
  532. package/lib/es/components/picker/colors/footer.js.map +0 -1
  533. package/lib/es/components/picker/colors/handle.js.map +0 -1
  534. package/lib/es/components/picker/colors/index.js.map +0 -1
  535. package/lib/es/components/picker/daterange/daterange.js.map +0 -1
  536. package/lib/es/components/picker/daterange/index.js.map +0 -1
  537. package/lib/es/components/picker/daterange/panel.js.map +0 -1
  538. package/lib/es/components/picker/dates/dates.js.map +0 -1
  539. package/lib/es/components/picker/dates/index.js.map +0 -1
  540. package/lib/es/components/picker/dates/panel.js.map +0 -1
  541. package/lib/es/components/picker/time/index.js.map +0 -1
  542. package/lib/es/components/picker/time/item.js.map +0 -1
  543. package/lib/es/components/picker/time/panel.js.map +0 -1
  544. package/lib/es/components/popconfirm/index.js.map +0 -1
  545. package/lib/es/components/popconfirm/popconfirm.js.map +0 -1
  546. package/lib/es/components/popup/content.js.map +0 -1
  547. package/lib/es/components/popup/index.js.map +0 -1
  548. package/lib/es/components/popup/popup.js.map +0 -1
  549. package/lib/es/components/progress/circle.js.map +0 -1
  550. package/lib/es/components/progress/index.js.map +0 -1
  551. package/lib/es/components/progress/line.js.map +0 -1
  552. package/lib/es/components/progress/progress.js.map +0 -1
  553. package/lib/es/components/radio/index.js.map +0 -1
  554. package/lib/es/components/radio/item.js.map +0 -1
  555. package/lib/es/components/radio/radio.js.map +0 -1
  556. package/lib/es/components/resizable/index.js.map +0 -1
  557. package/lib/es/components/resizable/resizable.js.map +0 -1
  558. package/lib/es/components/river/index.js.map +0 -1
  559. package/lib/es/components/river/river.js.map +0 -1
  560. package/lib/es/components/scroll/index.js.map +0 -1
  561. package/lib/es/components/scroll/scroll.js.map +0 -1
  562. package/lib/es/components/select/index.js.map +0 -1
  563. package/lib/es/components/select/options.js.map +0 -1
  564. package/lib/es/components/select/select.js.map +0 -1
  565. package/lib/es/components/step/divider.js.map +0 -1
  566. package/lib/es/components/step/index.js.map +0 -1
  567. package/lib/es/components/step/item.js.map +0 -1
  568. package/lib/es/components/step/step.js.map +0 -1
  569. package/lib/es/components/swiper/index.js.map +0 -1
  570. package/lib/es/components/swiper/item.js.map +0 -1
  571. package/lib/es/components/swiper/swiper.js.map +0 -1
  572. package/lib/es/components/tabs/contents.js.map +0 -1
  573. package/lib/es/components/tabs/helper.js.map +0 -1
  574. package/lib/es/components/tabs/index.js.map +0 -1
  575. package/lib/es/components/tabs/item.js.map +0 -1
  576. package/lib/es/components/tabs/navs.js.map +0 -1
  577. package/lib/es/components/tabs/tabs.js.map +0 -1
  578. package/lib/es/components/tag/index.js.map +0 -1
  579. package/lib/es/components/tag/tag.js.map +0 -1
  580. package/lib/es/components/text/highlight.js.map +0 -1
  581. package/lib/es/components/text/index.js.map +0 -1
  582. package/lib/es/components/text/number.js.map +0 -1
  583. package/lib/es/components/text/text.js.map +0 -1
  584. package/lib/es/components/text/time.js.map +0 -1
  585. package/lib/es/components/tree/index.js.map +0 -1
  586. package/lib/es/components/tree/item.js.map +0 -1
  587. package/lib/es/components/tree/tree.js.map +0 -1
  588. package/lib/es/components/upload/dropbox.js.map +0 -1
  589. package/lib/es/components/upload/index.js.map +0 -1
  590. package/lib/es/components/upload/renderFile.js.map +0 -1
  591. package/lib/es/components/upload/upload.js.map +0 -1
  592. package/lib/es/components/utils/empty/index.js.map +0 -1
  593. package/lib/es/components/utils/helpericon/helpericon.js.map +0 -1
  594. package/lib/es/components/utils/helpericon/index.js.map +0 -1
  595. package/lib/es/components/video/index.js.map +0 -1
  596. package/lib/es/components/video/video.js.map +0 -1
  597. package/lib/es/index.js.map +0 -1
  598. package/lib/es/js/hooks.js.map +0 -1
  599. package/lib/es/js/usePreview/content.js.map +0 -1
  600. package/lib/es/js/usePreview/index.js.map +0 -1
  601. package/lib/es/js/usePreview/renderFile.js.map +0 -1
  602. package/lib/es/js/usePreview/type.js.map +0 -1
  603. package/lib/es/js/useRipple/index.js.map +0 -1
  604. package/lib/es/js/useTheme/index.js.map +0 -1
  605. package/lib/es/js/utils.js.map +0 -1
@@ -1,34 +1,11 @@
1
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { KeyboardArrowDownRound } from '@ricons/material';
3
3
  import classNames from 'classnames';
4
- import { useState } from 'react';
5
4
  import Checkbox from '../checkbox/checkbox.js';
6
5
  import Icon from '../icon/icon.js';
6
+ import Loading from '../loading/loading.js';
7
7
 
8
- function TreeList(props) {
9
- const { data = [], depth = 0, round, style, className, parent, nodeProps, ...restProps } = props;
10
- const contents = data.map((item, i) => {
11
- const { type } = item;
12
- const title = item[nodeProps.title];
13
- const itemKey = item[nodeProps.key] ||
14
- (parent?.key !== undefined ? `${parent.key}-${i}` : `${i}`);
15
- item.key = itemKey;
16
- item.parent = parent;
17
- if (type === "title") {
18
- return (jsx("div", { className: 'i-tree-group-title', children: title }, i));
19
- }
20
- if (type && type !== "item") {
21
- return (jsx("div", { className: `i-tree-type-${type}`, children: title }, i));
22
- }
23
- return (jsx(TreeItem, { index: i, item: item, depth: depth, nodeProps: nodeProps, ...restProps }, itemKey));
24
- });
25
- if (depth > 0)
26
- return jsx(Fragment, { children: contents });
27
- return (jsx("div", { className: classNames("i-tree", className, {
28
- "i-tree-round": round,
29
- }), style: style, children: contents }));
30
- }
31
- const Header = (props) => {
8
+ const TreeItemHeader = (props) => {
32
9
  const { as: Tag = "a", href, selected, children, ...restProps } = props;
33
10
  const className = classNames("i-tree-item-header", {
34
11
  "i-tree-item-selected": selected,
@@ -38,36 +15,45 @@ const Header = (props) => {
38
15
  }
39
16
  return (jsx(Tag, { to: href || "", className: className, ...restProps, children: children }));
40
17
  };
41
- const TreeItem = (props) => {
42
- const { item, depth = 0, index, selected, checked = [], partofs = {}, checkable, nodeProps, renderExtra, onItemClick, onItemSelect, onItemCheck, ...restProps } = props;
43
- const { as, key = "", href, icon, title, expanded, disabled } = item;
44
- const children = item[nodeProps.children];
45
- const [expand, setExpand] = useState(expanded);
46
- const handleExpand = (e, fromToggle) => {
47
- if (fromToggle) {
48
- e.preventDefault();
49
- e.stopPropagation();
50
- }
51
- if (disabled || !children?.length)
52
- return;
53
- setExpand((v) => !v);
54
- };
55
- const handleItemClick = (e) => {
56
- if (disabled) {
57
- e.preventDefault();
58
- e.stopPropagation();
59
- return;
60
- }
61
- handleExpand(e);
62
- onItemClick?.(item, e);
63
- onItemSelect?.(key, item);
64
- };
65
- const handleItemCheck = (checked) => onItemCheck?.(item, checked, []);
66
- const itemChecked = checked.includes(key);
67
- return (jsxs("div", { className: classNames("i-tree-item", {
68
- "i-tree-expand": expand,
69
- }), children: [jsxs(Header, { as: as, href: href, style: { paddingLeft: `${depth * 1.5 + 0.5}em` }, selected: selected === key, onClick: handleItemClick, children: [checkable && (jsx(Checkbox.Item, { value: itemChecked, partof: !itemChecked && partofs[key], className: 'i-tree-checkbox', onChange: handleItemCheck, onClick: (e) => e.stopPropagation() })), icon && jsx("span", { className: 'i-tree-item-icon', children: icon }), jsx("span", { className: 'i-tree-item-title', children: title }), renderExtra?.(item), children && (jsx(Icon, { icon: jsx(KeyboardArrowDownRound, {}), className: 'i-tree-toggle', onClick: (e) => handleExpand(e, true) }))] }), children?.length && (jsx("div", { className: 'i-tree-item-content', children: jsx(TreeList, { data: children, depth: depth + 1, selected: selected, checkable: checkable, parent: item, partofs: partofs, checked: checked, nodeProps: nodeProps, renderExtra: renderExtra, onItemClick: onItemClick, onItemSelect: onItemSelect, onItemCheck: onItemCheck, ...restProps }) }))] }));
70
- };
18
+ function TreeRow(props) {
19
+ const { flatNode, wrapperStyle, virtualMode, selected, checkedSet, partofs = {}, checkable, nodeProps, renderExtra, loadingKeys, onExpand, onItemClick, onItemSelect, onItemCheck, } = props;
20
+ const { node, depth, isExpanded } = flatNode;
21
+ const { key = "", as, href, icon, title, disabled, type } = node;
22
+ const children = node[nodeProps.children];
23
+ const hasChildren = children instanceof Promise || (Array.isArray(children) && children.length > 0);
24
+ const loading = loadingKeys?.includes(key);
25
+ if (type === "title") {
26
+ return jsx("div", { style: wrapperStyle, className: "i-tree-group-title", children: title });
27
+ }
28
+ if (type && type !== "item") {
29
+ return jsx("div", { style: wrapperStyle, className: `i-tree-type-${type}`, children: title });
30
+ }
31
+ return (jsx("div", { className: !virtualMode ? classNames("i-tree-item", { "i-tree-expand": isExpanded }) : undefined, style: wrapperStyle, children: jsxs(TreeItemHeader, { as: as, href: href, style: { paddingLeft: `${depth * 1.5 + 0.5}em` }, selected: selected === key, onClick: (e) => {
32
+ if (disabled) {
33
+ e.preventDefault();
34
+ e.stopPropagation();
35
+ return;
36
+ }
37
+ if (hasChildren)
38
+ onExpand(key);
39
+ onItemClick?.(node, e);
40
+ onItemSelect?.(key, node);
41
+ }, children: [checkable && (jsx(Checkbox.Item, { value: checkedSet.has(key), partof: !checkedSet.has(key) && partofs[key], className: "i-tree-checkbox", onChange: () => onItemCheck?.(node, !checkedSet.has(key), []), onClick: (e) => e.stopPropagation() })), icon && jsx("span", { className: "i-tree-item-icon", children: icon }), jsx("span", { className: "i-tree-item-title", children: title }), renderExtra?.(node), hasChildren && (jsx(Icon, { icon: loading ? jsx(Loading, { size: ".86em" }) : jsx(KeyboardArrowDownRound, {}), className: classNames("i-tree-toggle", {
42
+ "i-tree-expand": virtualMode ? isExpanded : false,
43
+ }), onClick: (e) => {
44
+ e.preventDefault();
45
+ e.stopPropagation();
46
+ onExpand(key);
47
+ } }))] }) }));
48
+ }
49
+ function TreeList(props) {
50
+ const { flatNodes, onExpand, selected, checkedSet, partofs = {}, checkable, nodeProps, renderExtra, loadingKeys, round, className, style, onItemClick, onItemSelect, onItemCheck } = props;
51
+ return (jsx("div", { className: classNames("i-tree", className, {
52
+ "i-tree-round": round,
53
+ }), style: style, children: flatNodes.map((flatNode) => {
54
+ const { key = "" } = flatNode.node;
55
+ return (jsx(TreeRow, { flatNode: flatNode, selected: selected, checkedSet: checkedSet, partofs: partofs, checkable: checkable, nodeProps: nodeProps, renderExtra: renderExtra, loadingKeys: loadingKeys, onExpand: onExpand, onItemClick: onItemClick, onItemSelect: onItemSelect, onItemCheck: onItemCheck }, key));
56
+ }) }));
57
+ }
71
58
 
72
- export { TreeItem, TreeList };
73
- //# sourceMappingURL=item.js.map
59
+ export { TreeItemHeader, TreeList, TreeRow };
@@ -1,20 +1,94 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { useState, useRef, useEffect, useImperativeHandle } from 'react';
2
+ import { flushSync } from 'react-dom';
3
+ import { useState, useRef, useMemo, useEffect, useImperativeHandle } from 'react';
4
+ import './index.css';
3
5
  import { TreeList } from './item.js';
6
+ import VirtualTree from './virtual.js';
4
7
 
5
8
  const defaultNodeProps = {
6
9
  key: "key",
7
10
  title: "title",
8
11
  children: "children",
9
12
  };
13
+ function flattenTree(nodes, expandedMap, nodeProps, depth = 0, parentItem, asyncChildrenMap = {}) {
14
+ const result = [];
15
+ nodes.forEach((item, i) => {
16
+ const mapKey = item[nodeProps.key];
17
+ item.key = mapKey || `${parentItem?.key ?? ""}-${i}`;
18
+ item.parent = parentItem;
19
+ const isExpanded = !!expandedMap[item.key];
20
+ result.push({ node: item, depth, isExpanded });
21
+ const children = asyncChildrenMap[item.key] || item[nodeProps.children];
22
+ if (Array.isArray(children) && children.length) {
23
+ const childNodes = flattenTree(children, expandedMap, nodeProps, depth + 1, item, asyncChildrenMap);
24
+ if (isExpanded)
25
+ result.push(...childNodes);
26
+ }
27
+ });
28
+ return result;
29
+ }
10
30
  const Tree = (props) => {
11
- const { data = [], ref, selected, checked = [], disabledRelated, nodeProps, onItemSelect, onItemCheck, ...restProps } = props;
31
+ const { data = [], ref, selected, checked = [], disabledRelated, nodeProps, height, useVirtual, onItemSelect, onItemCheck, ...restProps } = props;
12
32
  const [selectedKey, setSelectedKey] = useState(selected);
13
33
  const [checkedKeys, setCheckedKeys] = useState(checked);
14
34
  const [partofs, setPartofs] = useState({});
35
+ const [loadingMap, setLoadingMap] = useState({});
36
+ const [asyncChildrenMap, setAsyncChildrenMap] = useState({});
15
37
  const nodeMapsRef = useRef(new Map());
16
- const oNodeProps = Object.assign({}, defaultNodeProps, nodeProps);
17
- const isChecked = (key) => checkedKeys.includes(key || "");
38
+ const oNodeProps = useMemo(() => ({ ...defaultNodeProps, ...nodeProps }), [nodeProps]);
39
+ const checkedSet = useMemo(() => new Set(checkedKeys), [checkedKeys]);
40
+ const [expandedMap, setExpandedMap] = useState(() => {
41
+ const map = {};
42
+ const walk = (nodes, parentKey = "") => {
43
+ nodes.forEach((item, i) => {
44
+ const mapKey = item[oNodeProps.key];
45
+ const key = mapKey || `${parentKey}-${i}`;
46
+ if (item.expanded)
47
+ map[key] = true;
48
+ const children = item[oNodeProps.children];
49
+ if (Array.isArray(children) && children.length)
50
+ walk(children, key);
51
+ });
52
+ };
53
+ walk(data);
54
+ return map;
55
+ });
56
+ const handleExpand = (key) => {
57
+ if (loadingMap[key])
58
+ return;
59
+ const item = nodeMapsRef.current.get(key);
60
+ if (!item)
61
+ return;
62
+ const rawChildren = item[oNodeProps.children];
63
+ const isAsync = rawChildren instanceof Promise;
64
+ const isExpanded = !!expandedMap[key];
65
+ if (isAsync && !isExpanded) {
66
+ flushSync(() => {
67
+ setLoadingMap((prev) => ({ ...prev, [key]: true }));
68
+ setExpandedMap((prev) => ({ ...prev, [key]: true }));
69
+ });
70
+ rawChildren
71
+ .then((resolved) => {
72
+ item[oNodeProps.children] = resolved;
73
+ setAsyncChildrenMap((prev) => ({ ...prev, [key]: resolved }));
74
+ })
75
+ .finally(() => {
76
+ setLoadingMap((prev) => {
77
+ const next = { ...prev };
78
+ delete next[key];
79
+ return next;
80
+ });
81
+ });
82
+ }
83
+ else {
84
+ setExpandedMap((prev) => ({
85
+ ...prev,
86
+ [key]: !prev[key],
87
+ }));
88
+ }
89
+ };
90
+ const flatNodes = useMemo(() => flattenTree(data, expandedMap, oNodeProps, 0, undefined, asyncChildrenMap), [data, expandedMap, oNodeProps, asyncChildrenMap]);
91
+ const loadingKeys = useMemo(() => Object.keys(loadingMap).filter((k) => loadingMap[k]), [loadingMap]);
18
92
  const checkItem = (item, checked, direction) => {
19
93
  const { key = "", parent, children } = item;
20
94
  const shouldChanged = { [key]: checked };
@@ -23,7 +97,9 @@ const Tree = (props) => {
23
97
  return [shouldChanged];
24
98
  if (checked) {
25
99
  if (parent && direction !== "leaf") {
26
- const hasUnchecked = parent.children?.some((o) => o.key !== key && !isChecked(o.key));
100
+ const hasUnchecked = Array.isArray(parent.children)
101
+ ? parent.children.some((o) => o.key !== key && !checkedSet.has(o.key))
102
+ : false;
27
103
  const [changes, parts] = checkItem(parent, true, "root");
28
104
  if (!hasUnchecked) {
29
105
  Object.assign(shouldChanged, changes);
@@ -32,9 +108,9 @@ const Tree = (props) => {
32
108
  [parent.key]: true,
33
109
  });
34
110
  }
35
- if (children?.length && direction !== "root") {
111
+ if (Array.isArray(children) && children.length && direction !== "root") {
36
112
  children.map((o) => {
37
- if (isChecked(o.key))
113
+ if (checkedSet.has(o.key))
38
114
  return;
39
115
  const [changes] = checkItem(o, true, "leaf");
40
116
  Object.assign(shouldChanged, changes);
@@ -46,16 +122,18 @@ const Tree = (props) => {
46
122
  if (parent && direction !== "leaf") {
47
123
  const [changes, parts] = checkItem(parent, false, "root");
48
124
  Object.assign(shouldChanged, changes);
49
- const hasChecked = parent.children?.some((o) => isChecked(o.key) && o.key !== key);
125
+ const hasChecked = Array.isArray(parent.children)
126
+ ? parent.children.some((o) => checkedSet.has(o.key) && o.key !== key)
127
+ : false;
50
128
  Object.assign(partofs, hasChecked ? {} : parts, {
51
129
  [parent.key]: hasChecked,
52
130
  [key]: false,
53
131
  });
54
132
  }
55
- if (children?.length && direction !== "root") {
133
+ if (Array.isArray(children) && children.length && direction !== "root") {
56
134
  children.map((o) => {
57
135
  const [changes] = checkItem(o, false, "leaf");
58
- if (!isChecked(o.key))
136
+ if (!checkedSet.has(o.key))
59
137
  return;
60
138
  Object.assign(shouldChanged, changes);
61
139
  partofs[o.key] = false;
@@ -66,9 +144,10 @@ const Tree = (props) => {
66
144
  const handleCheck = (item, checked) => {
67
145
  const [shouldChanged, partofs] = checkItem(item, checked);
68
146
  const changedKeys = Object.keys(shouldChanged);
147
+ const changedKeysSet = new Set(changedKeys);
69
148
  const nextChecked = checked
70
149
  ? Array.from(new Set([...checkedKeys, ...changedKeys]))
71
- : checkedKeys.filter((k) => !changedKeys.includes(k));
150
+ : checkedKeys.filter((k) => !changedKeysSet.has(k));
72
151
  setCheckedKeys(nextChecked);
73
152
  setPartofs((p) => ({ ...p, ...partofs }));
74
153
  onItemCheck?.(item, checked, nextChecked);
@@ -86,15 +165,37 @@ const Tree = (props) => {
86
165
  }, [selected]);
87
166
  useEffect(() => {
88
167
  nodeMapsRef.current.clear();
89
- const { key, children } = oNodeProps;
90
- const recursive = (nodes) => {
91
- nodes.map((o) => {
92
- nodeMapsRef.current.set(o[key], o);
93
- o[children]?.length > 0 && recursive(o[children]);
168
+ const { key: keyProp, children: childrenProp } = oNodeProps;
169
+ const walk = (nodes, parentKey = "") => {
170
+ nodes.forEach((item, i) => {
171
+ const mapKey = item[keyProp];
172
+ const key = (mapKey || `${parentKey}-${i}`);
173
+ nodeMapsRef.current.set(key, item);
174
+ const itemChildren = item[childrenProp];
175
+ if (Array.isArray(itemChildren) && itemChildren.length) {
176
+ walk(itemChildren, key);
177
+ }
94
178
  });
95
179
  };
96
- recursive(data);
97
- }, [data]);
180
+ walk(data);
181
+ }, [data, oNodeProps, asyncChildrenMap]);
182
+ useEffect(() => {
183
+ if (!props.selected)
184
+ return;
185
+ const node = nodeMapsRef.current.get(props.selected);
186
+ if (!node)
187
+ return;
188
+ const toExpand = {};
189
+ let p = node.parent;
190
+ while (p) {
191
+ if (p.key)
192
+ toExpand[p.key] = true;
193
+ p = p.parent;
194
+ }
195
+ if (Object.keys(toExpand).length > 0) {
196
+ setExpandedMap((prev) => ({ ...prev, ...toExpand }));
197
+ }
198
+ }, [props.selected]);
98
199
  useImperativeHandle(ref, () => {
99
200
  return {
100
201
  getChecked: () => {
@@ -123,8 +224,10 @@ const Tree = (props) => {
123
224
  },
124
225
  };
125
226
  });
126
- return (jsx(TreeList, { data: data, selected: selectedKey, checked: checkedKeys, partofs: partofs, nodeProps: oNodeProps, onItemCheck: handleCheck, onItemSelect: handleSelect, ...restProps }));
227
+ if (useVirtual) {
228
+ return (jsx(VirtualTree, { flatNodes: flatNodes, onExpand: handleExpand, height: height, useVirtual: useVirtual, selected: selectedKey, checkedSet: checkedSet, partofs: partofs, nodeProps: oNodeProps, loadingKeys: loadingKeys, onItemCheck: handleCheck, onItemSelect: handleSelect, ...restProps }));
229
+ }
230
+ return (jsx(TreeList, { flatNodes: flatNodes, onExpand: handleExpand, selected: selectedKey, checkedSet: checkedSet, partofs: partofs, nodeProps: oNodeProps, loadingKeys: loadingKeys, onItemCheck: handleCheck, onItemSelect: handleSelect, ...restProps }));
127
231
  };
128
232
 
129
233
  export { Tree as default };
130
- //# sourceMappingURL=tree.js.map
@@ -0,0 +1,43 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import { useRef, useState, useEffect, useCallback } from 'react';
4
+ import { List } from 'react-window';
5
+ import { useResizeObserver } from '../../js/hooks.js';
6
+ import { TreeRow } from './item.js';
7
+
8
+ function VirtualTree(props) {
9
+ const { flatNodes, onExpand, selected, checkedSet, partofs = {}, checkable, nodeProps, renderExtra, loadingKeys, height, useVirtual, className, style, onItemClick, onItemSelect, onItemCheck, } = props;
10
+ const listRef = useRef(null);
11
+ const wrapRef = useRef(null);
12
+ const ro = useResizeObserver();
13
+ const [viewportHeight, setViewportHeight] = useState(0);
14
+ useEffect(() => {
15
+ const el = wrapRef.current;
16
+ if (!el)
17
+ return;
18
+ const update = () => {
19
+ const r = el.getBoundingClientRect();
20
+ setViewportHeight((prev) => (prev === r.height ? prev : r.height));
21
+ };
22
+ update();
23
+ ro.observe?.(el, update);
24
+ return () => ro.unobserve?.(el);
25
+ }, [ro]);
26
+ const listHeight = Math.max(0, (typeof height === "number" ? height : viewportHeight || 360));
27
+ const propsRef = useRef(props);
28
+ propsRef.current = props;
29
+ const rowComponent = useCallback(({ index, style, }) => {
30
+ const p = propsRef.current;
31
+ const flatNode = p.flatNodes[index];
32
+ if (!flatNode)
33
+ return null;
34
+ return (jsx(TreeRow, { flatNode: flatNode, wrapperStyle: style, virtualMode: true, selected: p.selected, checkedSet: p.checkedSet, partofs: p.partofs, checkable: p.checkable, nodeProps: p.nodeProps, renderExtra: p.renderExtra, loadingKeys: p.loadingKeys, onExpand: p.onExpand, onItemClick: p.onItemClick, onItemSelect: p.onItemSelect, onItemCheck: p.onItemCheck }));
35
+ }, []);
36
+ return (jsx("div", { ref: wrapRef, className: classNames("i-tree", className), style: { display: "block", width: "100%", height: "100%", ...style }, children: jsx(List, { listRef: listRef, rowCount: flatNodes.length, rowHeight: useVirtual.rowHeight, overscanCount: Math.max(3, useVirtual.threshold ?? 8), rowProps: {}, style: {
37
+ width: "100%",
38
+ height: listHeight,
39
+ overflow: "auto",
40
+ }, rowComponent: rowComponent }) }));
41
+ }
42
+
43
+ export { VirtualTree as default };
@@ -43,4 +43,3 @@ const Dropbox = (props) => {
43
43
  };
44
44
 
45
45
  export { Dropbox as default };
46
- //# sourceMappingURL=dropbox.js.map
@@ -3,4 +3,3 @@ import Upload from './upload.js';
3
3
 
4
4
 
5
5
  export { Upload as default };
6
- //# sourceMappingURL=index.js.map
@@ -54,4 +54,3 @@ const FileListItem = memo((props) => {
54
54
  });
55
55
 
56
56
  export { ListContainer, FileListItem as default };
57
- //# sourceMappingURL=renderFile.js.map
@@ -11,6 +11,7 @@ import Button from '../button/button.js';
11
11
  import Icon from '../icon/icon.js';
12
12
  import InputContainer from '../input/container.js';
13
13
  import Dropbox from './dropbox.js';
14
+ import './index.css';
14
15
  import FileListItem, { ListContainer } from './renderFile.js';
15
16
 
16
17
  const normalizeFiles = (files) => (files ?? []).map((item) => {
@@ -152,4 +153,3 @@ const Upload = (props) => {
152
153
  };
153
154
 
154
155
  export { Upload as default };
155
- //# sourceMappingURL=upload.js.map
@@ -1,6 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { InboxTwotone } from '@ricons/material';
3
3
  import classNames from 'classnames';
4
+ import './index.css';
4
5
 
5
6
  function Empty(props) {
6
7
  const { className, ...restProps } = props;
@@ -8,4 +9,3 @@ function Empty(props) {
8
9
  }
9
10
 
10
11
  export { Empty as default };
11
- //# sourceMappingURL=index.js.map
@@ -4,6 +4,7 @@ import classNames from 'classnames';
4
4
  import { uid } from 'radash';
5
5
  import { createElement } from 'react';
6
6
  import Icon from '../../icon/icon.js';
7
+ import './index.css';
7
8
 
8
9
  const Helpericon = (props) => {
9
10
  const { as = "a", active, className, icon = jsx(CloseRound, {}), ...restProps } = props;
@@ -21,4 +22,3 @@ const Helpericon = (props) => {
21
22
  };
22
23
 
23
24
  export { Helpericon as default };
24
- //# sourceMappingURL=helpericon.js.map
@@ -3,4 +3,3 @@ import Helpericon from './helpericon.js';
3
3
 
4
4
 
5
5
  export { Helpericon as default };
6
- //# sourceMappingURL=index.js.map
@@ -3,4 +3,3 @@ import Video from './video.js';
3
3
 
4
4
 
5
5
  export { Video as default };
6
- //# sourceMappingURL=index.js.map
@@ -9,6 +9,7 @@ import Button from '../button/button.js';
9
9
  import Icon from '../icon/icon.js';
10
10
  import Progress from '../progress/progress.js';
11
11
  import Text from '../text/text.js';
12
+ import './index.css';
12
13
 
13
14
  const Video = (props) => {
14
15
  const { ref, style, hideControls, autoplay, muted, volume = 50, height, width, useOriginControls, timeProgressProps = {
@@ -170,4 +171,3 @@ const Video = (props) => {
170
171
  };
171
172
 
172
173
  export { Video as default };
173
- //# sourceMappingURL=video.js.map
package/lib/es/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import './css/index.css';
1
2
  export { default as Affix } from './components/affix/affix.js';
2
3
  export { default as Badge } from './components/badge/badge.js';
3
4
  export { default as Button } from './components/button/button.js';
@@ -41,4 +42,3 @@ export { default as Upload } from './components/upload/upload.js';
41
42
  export { default as Video } from './components/video/video.js';
42
43
  export { default as usePreview } from './js/usePreview/index.js';
43
44
  export { default as useTheme } from './js/useTheme/index.js';
44
- //# sourceMappingURL=index.js.map
@@ -261,4 +261,3 @@ function useResizeObserver() {
261
261
  }
262
262
 
263
263
  export { useIntersectionObserver, useKeydown, useMouseMove, useMouseUp, useReactive, useResizeObserver, useSize };
264
- //# sourceMappingURL=hooks.js.map
@@ -11,7 +11,7 @@ import renderFile from './renderFile.js';
11
11
  import { TFileType } from './type.js';
12
12
 
13
13
  function Content(props) {
14
- const { items = [], initial = 0, renderFile: renderFile$1 = renderFile, onRotate, onChange, onClose, onZoom, } = props;
14
+ const { items = [], initial = 0, hideControl, renderFile: renderFile$1 = renderFile, onRotate, onChange, onClose, onZoom, } = props;
15
15
  const state = useReactive({
16
16
  current: initial,
17
17
  rotate: 0,
@@ -147,10 +147,9 @@ function Content(props) {
147
147
  transform: `translate(${state.translate
148
148
  .map((n) => `${n}px`)
149
149
  .join(",")}) rotate(${state.rotate}deg) scale(${state.scale})`,
150
- }, onMouseDown: handleMouseDown, onClick: (e) => e.stopPropagation(), children: content }), jsxs("div", { className: classNames("i-preview-controls", {
150
+ }, onMouseDown: handleMouseDown, onClick: (e) => e.stopPropagation(), children: content }), !hideControl && (jsxs("div", { className: classNames("i-preview-controls", {
151
151
  "i-preview-controls-hidden": state.controlHidden,
152
- }), children: [jsx(Button, { square: true, flat: true, onClick: onClose, children: jsx(Icon, { icon: jsx(CloseRound, {}) }) }), files.length > 1 && (jsxs("span", { className: 'px-8', children: [state.current + 1, " / ", files.length] })), state.scale !== 1 && (jsxs(Button, { flat: true, onClick: () => (state.scale = 1), children: [jsx(Icon, { icon: jsx(AspectRatioRound, {}) }), jsxs("span", { className: 'mt-2', children: [(state.scale * 100).toFixed(0), "%"] })] })), jsx(Button, { square: true, flat: true, href: file.src, target: '_blank', children: jsx(Icon, { icon: jsx(OpenInNewRound, {}) }) }), jsx(Button, { square: true, flat: true, href: file.src, download: true, target: '_blank', children: jsx(Icon, { icon: jsx(FileDownloadOutlined, {}) }) }), jsx(Button, { square: true, flat: true, onClick: () => handleRotate(90), children: jsx(Icon, { icon: jsx(RotateRightRound, {}) }) }), jsx(Button, { square: true, flat: true, onClick: () => handleRotate(-90), children: jsx(Icon, { icon: jsx(RotateLeftRound, {}) }) }), files.length > 1 && (jsxs(Fragment, { children: [jsx(Button, { square: true, flat: true, onClick: () => handleSwitch(state.current - 1), children: jsx(Icon, { icon: jsx(KeyboardArrowLeftRound, {}) }) }), jsx(Button, { square: true, flat: true, onClick: () => handleSwitch(state.current + 1), children: jsx(Icon, { icon: jsx(KeyboardArrowRightRound, {}) }) })] }))] })] }));
152
+ }), children: [jsx(Button, { square: true, flat: true, onClick: onClose, children: jsx(Icon, { icon: jsx(CloseRound, {}) }) }), files.length > 1 && (jsxs("span", { className: 'px-8', children: [state.current + 1, " / ", files.length] })), state.scale !== 1 && (jsxs(Button, { flat: true, onClick: () => (state.scale = 1), children: [jsx(Icon, { icon: jsx(AspectRatioRound, {}) }), jsxs("span", { className: 'mt-2', children: [(state.scale * 100).toFixed(0), "%"] })] })), jsx(Button, { square: true, flat: true, href: file.src, target: '_blank', children: jsx(Icon, { icon: jsx(OpenInNewRound, {}) }) }), jsx(Button, { square: true, flat: true, href: file.src, download: true, target: '_blank', children: jsx(Icon, { icon: jsx(FileDownloadOutlined, {}) }) }), jsx(Button, { square: true, flat: true, onClick: () => handleRotate(90), children: jsx(Icon, { icon: jsx(RotateRightRound, {}) }) }), jsx(Button, { square: true, flat: true, onClick: () => handleRotate(-90), children: jsx(Icon, { icon: jsx(RotateLeftRound, {}) }) }), files.length > 1 && (jsxs(Fragment, { children: [jsx(Button, { square: true, flat: true, onClick: () => handleSwitch(state.current - 1), children: jsx(Icon, { icon: jsx(KeyboardArrowLeftRound, {}) }) }), jsx(Button, { square: true, flat: true, onClick: () => handleSwitch(state.current + 1), children: jsx(Icon, { icon: jsx(KeyboardArrowRightRound, {}) }) })] }))] }))] }));
153
153
  }
154
154
 
155
155
  export { Content as default };
156
- //# sourceMappingURL=content.js.map
@@ -3,6 +3,7 @@ import { useRef } from 'react';
3
3
  import HookModal from '../../components/modal/hookModal.js';
4
4
  import { renderNode } from '../utils.js';
5
5
  import Content from './content.js';
6
+ import './index.css';
6
7
 
7
8
  function usePreview() {
8
9
  const ref = useRef(null);
@@ -20,4 +21,3 @@ function usePreview() {
20
21
  }
21
22
 
22
23
  export { usePreview as default };
23
- //# sourceMappingURL=index.js.map
@@ -17,4 +17,3 @@ function renderFile(props) {
17
17
  }
18
18
 
19
19
  export { renderFile as default };
20
- //# sourceMappingURL=renderFile.js.map
@@ -10,4 +10,3 @@ var TFileType;
10
10
  })(TFileType || (TFileType = {}));
11
11
 
12
12
  export { TFileType };
13
- //# sourceMappingURL=type.js.map
@@ -1,3 +1,5 @@
1
+ import './ripple.css';
2
+
1
3
  const TIMEOUT = 500;
2
4
  const useRipple = () => {
3
5
  if (!document)
@@ -44,4 +46,3 @@ function createRipple() {
44
46
  }
45
47
 
46
48
  export { useRipple as default };
47
- //# sourceMappingURL=index.js.map
@@ -148,4 +148,3 @@ const useTheme = (props) => {
148
148
  };
149
149
 
150
150
  export { useTheme as default };
151
- //# sourceMappingURL=index.js.map
@@ -283,4 +283,3 @@ const arrayMove = (array, fromIndex, toIndex) => {
283
283
  };
284
284
 
285
285
  export { animate, arrayMove, clamp, exitFullScreen, formatBytes, formatNumber, formatOption, formatTime, fullScreen, getFileType, getNextSorter, getPointPosition, getPosition, getSuffixByUrl, renderNode };
286
- //# sourceMappingURL=utils.js.map