@ioca/react 1.4.78 → 1.4.80

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 (606) hide show
  1. package/lib/cjs/_virtual/_rolldown/runtime.js +23 -0
  2. package/lib/cjs/components/affix/affix.js +66 -0
  3. package/lib/cjs/components/affix/affix.js.map +1 -0
  4. package/lib/cjs/components/affix/index.js +6 -0
  5. package/lib/cjs/components/affix/index.js.map +1 -0
  6. package/lib/cjs/components/affix/totop.js +25 -0
  7. package/lib/cjs/components/affix/totop.js.map +1 -0
  8. package/lib/cjs/components/badge/badge.js +24 -0
  9. package/lib/cjs/components/badge/badge.js.map +1 -0
  10. package/lib/cjs/components/badge/index.js +6 -0
  11. package/lib/cjs/components/badge/index.js.map +1 -0
  12. package/lib/cjs/components/button/button.js +64 -0
  13. package/lib/cjs/components/button/button.js.map +1 -0
  14. package/lib/cjs/components/button/confirm.js +60 -0
  15. package/lib/cjs/components/button/confirm.js.map +1 -0
  16. package/lib/cjs/components/button/group.js +26 -0
  17. package/lib/cjs/components/button/group.js.map +1 -0
  18. package/lib/cjs/components/button/index.js +6 -0
  19. package/lib/cjs/components/button/index.js.map +1 -0
  20. package/lib/cjs/components/button/toggle.js +46 -0
  21. package/lib/cjs/components/button/toggle.js.map +1 -0
  22. package/lib/cjs/components/card/card.js +33 -0
  23. package/lib/cjs/components/card/card.js.map +1 -0
  24. package/lib/cjs/components/card/index.js +6 -0
  25. package/lib/cjs/components/card/index.js.map +1 -0
  26. package/lib/cjs/components/checkbox/checkbox.js +66 -0
  27. package/lib/cjs/components/checkbox/checkbox.js.map +1 -0
  28. package/lib/cjs/components/checkbox/index.js +6 -0
  29. package/lib/cjs/components/checkbox/index.js.map +1 -0
  30. package/lib/cjs/components/checkbox/item.js +59 -0
  31. package/lib/cjs/components/checkbox/item.js.map +1 -0
  32. package/lib/cjs/components/collapse/collapse.js +84 -0
  33. package/lib/cjs/components/collapse/collapse.js.map +1 -0
  34. package/lib/cjs/components/collapse/index.js +6 -0
  35. package/lib/cjs/components/collapse/index.js.map +1 -0
  36. package/lib/cjs/components/collapse/item.js +10 -0
  37. package/lib/cjs/components/collapse/item.js.map +1 -0
  38. package/lib/cjs/components/datagrid/cell.js +39 -0
  39. package/lib/cjs/components/datagrid/cell.js.map +1 -0
  40. package/lib/cjs/components/datagrid/datagrid.js +140 -0
  41. package/lib/cjs/components/datagrid/datagrid.js.map +1 -0
  42. package/lib/cjs/components/datagrid/index.js +6 -0
  43. package/lib/cjs/components/datagrid/index.js.map +1 -0
  44. package/lib/cjs/components/datagrid/resize.js +42 -0
  45. package/lib/cjs/components/datagrid/resize.js.map +1 -0
  46. package/lib/cjs/components/datagrid/row.js +68 -0
  47. package/lib/cjs/components/datagrid/row.js.map +1 -0
  48. package/lib/cjs/components/datagrid/sorter.js +28 -0
  49. package/lib/cjs/components/datagrid/sorter.js.map +1 -0
  50. package/lib/cjs/components/description/description.js +43 -0
  51. package/lib/cjs/components/description/description.js.map +1 -0
  52. package/lib/cjs/components/description/index.js +6 -0
  53. package/lib/cjs/components/description/index.js.map +1 -0
  54. package/lib/cjs/components/drawer/drawer.js +84 -0
  55. package/lib/cjs/components/drawer/drawer.js.map +1 -0
  56. package/lib/cjs/components/drawer/index.js +6 -0
  57. package/lib/cjs/components/drawer/index.js.map +1 -0
  58. package/lib/cjs/components/dropdown/dropdown.js +38 -0
  59. package/lib/cjs/components/dropdown/dropdown.js.map +1 -0
  60. package/lib/cjs/components/dropdown/index.js +6 -0
  61. package/lib/cjs/components/dropdown/index.js.map +1 -0
  62. package/lib/cjs/components/dropdown/item.js +36 -0
  63. package/lib/cjs/components/dropdown/item.js.map +1 -0
  64. package/lib/cjs/components/editor/controls.js +89 -0
  65. package/lib/cjs/components/editor/controls.js.map +1 -0
  66. package/lib/cjs/components/editor/editor.js +91 -0
  67. package/lib/cjs/components/editor/editor.js.map +1 -0
  68. package/lib/cjs/components/editor/index.js +6 -0
  69. package/lib/cjs/components/editor/index.js.map +1 -0
  70. package/lib/cjs/components/flex/flex.js +31 -0
  71. package/lib/cjs/components/flex/flex.js.map +1 -0
  72. package/lib/cjs/components/flex/index.js +6 -0
  73. package/lib/cjs/components/flex/index.js.map +1 -0
  74. package/lib/cjs/components/form/context.js +7 -0
  75. package/lib/cjs/components/form/context.js.map +1 -0
  76. package/lib/cjs/components/form/field.js +71 -0
  77. package/lib/cjs/components/form/field.js.map +1 -0
  78. package/lib/cjs/components/form/form.js +64 -0
  79. package/lib/cjs/components/form/form.js.map +1 -0
  80. package/lib/cjs/components/form/index.js +6 -0
  81. package/lib/cjs/components/form/index.js.map +1 -0
  82. package/lib/cjs/components/form/useConfig.js +45 -0
  83. package/lib/cjs/components/form/useConfig.js.map +1 -0
  84. package/lib/cjs/components/form/useForm.js +123 -0
  85. package/lib/cjs/components/form/useForm.js.map +1 -0
  86. package/lib/cjs/components/icon/icon.js +24 -0
  87. package/lib/cjs/components/icon/icon.js.map +1 -0
  88. package/lib/cjs/components/icon/index.js +6 -0
  89. package/lib/cjs/components/icon/index.js.map +1 -0
  90. package/lib/cjs/components/image/image.js +86 -0
  91. package/lib/cjs/components/image/image.js.map +1 -0
  92. package/lib/cjs/components/image/index.js +6 -0
  93. package/lib/cjs/components/image/index.js.map +1 -0
  94. package/lib/cjs/components/image/list.js +49 -0
  95. package/lib/cjs/components/image/list.js.map +1 -0
  96. package/lib/cjs/components/input/container.js +30 -0
  97. package/lib/cjs/components/input/container.js.map +1 -0
  98. package/lib/cjs/components/input/index.js +6 -0
  99. package/lib/cjs/components/input/index.js.map +1 -0
  100. package/lib/cjs/components/input/input.js +113 -0
  101. package/lib/cjs/components/input/input.js.map +1 -0
  102. package/lib/cjs/components/input/number.js +138 -0
  103. package/lib/cjs/components/input/number.js.map +1 -0
  104. package/lib/cjs/components/input/range.js +134 -0
  105. package/lib/cjs/components/input/range.js.map +1 -0
  106. package/lib/cjs/components/input/textarea.js +61 -0
  107. package/lib/cjs/components/input/textarea.js.map +1 -0
  108. package/lib/cjs/components/list/index.js +6 -0
  109. package/lib/cjs/components/list/index.js.map +1 -0
  110. package/lib/cjs/components/list/item.js +30 -0
  111. package/lib/cjs/components/list/item.js.map +1 -0
  112. package/lib/cjs/components/list/list.js +30 -0
  113. package/lib/cjs/components/list/list.js.map +1 -0
  114. package/lib/cjs/components/loading/index.js +6 -0
  115. package/lib/cjs/components/loading/index.js.map +1 -0
  116. package/lib/cjs/components/loading/loading.js +39 -0
  117. package/lib/cjs/components/loading/loading.js.map +1 -0
  118. package/lib/cjs/components/message/index.js +6 -0
  119. package/lib/cjs/components/message/index.js.map +1 -0
  120. package/lib/cjs/components/message/message.js +197 -0
  121. package/lib/cjs/components/message/message.js.map +1 -0
  122. package/lib/cjs/components/modal/content.js +57 -0
  123. package/lib/cjs/components/modal/content.js.map +1 -0
  124. package/lib/cjs/components/modal/context.js +7 -0
  125. package/lib/cjs/components/modal/context.js.map +1 -0
  126. package/lib/cjs/components/modal/hookModal.js +28 -0
  127. package/lib/cjs/components/modal/hookModal.js.map +1 -0
  128. package/lib/cjs/components/modal/index.js +6 -0
  129. package/lib/cjs/components/modal/index.js.map +1 -0
  130. package/lib/cjs/components/modal/modal.js +117 -0
  131. package/lib/cjs/components/modal/modal.js.map +1 -0
  132. package/lib/cjs/components/modal/useModal.js +39 -0
  133. package/lib/cjs/components/modal/useModal.js.map +1 -0
  134. package/lib/cjs/components/pagination/index.js +6 -0
  135. package/lib/cjs/components/pagination/index.js.map +1 -0
  136. package/lib/cjs/components/pagination/page.js +31 -0
  137. package/lib/cjs/components/pagination/page.js.map +1 -0
  138. package/lib/cjs/components/pagination/pagination.js +86 -0
  139. package/lib/cjs/components/pagination/pagination.js.map +1 -0
  140. package/lib/cjs/components/picker/colors/footer.js +64 -0
  141. package/lib/cjs/components/picker/colors/footer.js.map +1 -0
  142. package/lib/cjs/components/picker/colors/handle.js +25 -0
  143. package/lib/cjs/components/picker/colors/handle.js.map +1 -0
  144. package/lib/cjs/components/picker/colors/index.js +81 -0
  145. package/lib/cjs/components/picker/colors/index.js.map +1 -0
  146. package/lib/cjs/components/picker/dates/dates.js +68 -0
  147. package/lib/cjs/components/picker/dates/dates.js.map +1 -0
  148. package/lib/cjs/components/picker/dates/index.js +97 -0
  149. package/lib/cjs/components/picker/dates/index.js.map +1 -0
  150. package/lib/cjs/components/picker/dates/panel.js +151 -0
  151. package/lib/cjs/components/picker/dates/panel.js.map +1 -0
  152. package/lib/cjs/components/picker/time/index.js +73 -0
  153. package/lib/cjs/components/picker/time/index.js.map +1 -0
  154. package/lib/cjs/components/picker/time/item.js +20 -0
  155. package/lib/cjs/components/picker/time/item.js.map +1 -0
  156. package/lib/cjs/components/picker/time/panel.js +144 -0
  157. package/lib/cjs/components/picker/time/panel.js.map +1 -0
  158. package/lib/cjs/components/popconfirm/index.js +6 -0
  159. package/lib/cjs/components/popconfirm/index.js.map +1 -0
  160. package/lib/cjs/components/popconfirm/popconfirm.js +86 -0
  161. package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -0
  162. package/lib/cjs/components/popup/content.js +56 -0
  163. package/lib/cjs/components/popup/content.js.map +1 -0
  164. package/lib/cjs/components/popup/index.js +6 -0
  165. package/lib/cjs/components/popup/index.js.map +1 -0
  166. package/lib/cjs/components/popup/popup.js +425 -0
  167. package/lib/cjs/components/popup/popup.js.map +1 -0
  168. package/lib/cjs/components/progress/circle.js +45 -0
  169. package/lib/cjs/components/progress/circle.js.map +1 -0
  170. package/lib/cjs/components/progress/index.js +6 -0
  171. package/lib/cjs/components/progress/index.js.map +1 -0
  172. package/lib/cjs/components/progress/line.js +27 -0
  173. package/lib/cjs/components/progress/line.js.map +1 -0
  174. package/lib/cjs/components/progress/progress.js +100 -0
  175. package/lib/cjs/components/progress/progress.js.map +1 -0
  176. package/lib/cjs/components/radio/index.js +6 -0
  177. package/lib/cjs/components/radio/index.js.map +1 -0
  178. package/lib/cjs/components/radio/item.js +34 -0
  179. package/lib/cjs/components/radio/item.js.map +1 -0
  180. package/lib/cjs/components/radio/radio.js +62 -0
  181. package/lib/cjs/components/radio/radio.js.map +1 -0
  182. package/lib/cjs/components/resizable/index.js +6 -0
  183. package/lib/cjs/components/resizable/index.js.map +1 -0
  184. package/lib/cjs/components/resizable/resizable.js +81 -0
  185. package/lib/cjs/components/resizable/resizable.js.map +1 -0
  186. package/lib/cjs/components/river/index.js +6 -0
  187. package/lib/cjs/components/river/index.js.map +1 -0
  188. package/lib/cjs/components/river/river.js +116 -0
  189. package/lib/cjs/components/river/river.js.map +1 -0
  190. package/lib/cjs/components/select/index.js +6 -0
  191. package/lib/cjs/components/select/index.js.map +1 -0
  192. package/lib/cjs/components/select/options.js +76 -0
  193. package/lib/cjs/components/select/options.js.map +1 -0
  194. package/lib/cjs/components/select/select.js +155 -0
  195. package/lib/cjs/components/select/select.js.map +1 -0
  196. package/lib/cjs/components/step/divider.js +10 -0
  197. package/lib/cjs/components/step/divider.js.map +1 -0
  198. package/lib/cjs/components/step/index.js +6 -0
  199. package/lib/cjs/components/step/index.js.map +1 -0
  200. package/lib/cjs/components/step/item.js +60 -0
  201. package/lib/cjs/components/step/item.js.map +1 -0
  202. package/lib/cjs/components/step/step.js +42 -0
  203. package/lib/cjs/components/step/step.js.map +1 -0
  204. package/lib/cjs/components/swiper/index.js +6 -0
  205. package/lib/cjs/components/swiper/index.js.map +1 -0
  206. package/lib/cjs/components/swiper/item.js +39 -0
  207. package/lib/cjs/components/swiper/item.js.map +1 -0
  208. package/lib/cjs/components/swiper/swiper.js +262 -0
  209. package/lib/cjs/components/swiper/swiper.js.map +1 -0
  210. package/lib/cjs/components/tabs/index.js +6 -0
  211. package/lib/cjs/components/tabs/index.js.map +1 -0
  212. package/lib/cjs/components/tabs/item.js +10 -0
  213. package/lib/cjs/components/tabs/item.js.map +1 -0
  214. package/lib/cjs/components/tabs/tabs.js +272 -0
  215. package/lib/cjs/components/tabs/tabs.js.map +1 -0
  216. package/lib/cjs/components/tag/index.js +6 -0
  217. package/lib/cjs/components/tag/index.js.map +1 -0
  218. package/lib/cjs/components/tag/tag.js +32 -0
  219. package/lib/cjs/components/tag/tag.js.map +1 -0
  220. package/lib/cjs/components/text/highlight.js +35 -0
  221. package/lib/cjs/components/text/highlight.js.map +1 -0
  222. package/lib/cjs/components/text/index.js +6 -0
  223. package/lib/cjs/components/text/index.js.map +1 -0
  224. package/lib/cjs/components/text/number.js +32 -0
  225. package/lib/cjs/components/text/number.js.map +1 -0
  226. package/lib/cjs/components/text/text.js +39 -0
  227. package/lib/cjs/components/text/text.js.map +1 -0
  228. package/lib/cjs/components/text/time.js +24 -0
  229. package/lib/cjs/components/text/time.js.map +1 -0
  230. package/lib/cjs/components/tree/index.js +6 -0
  231. package/lib/cjs/components/tree/index.js.map +1 -0
  232. package/lib/cjs/components/tree/item.js +136 -0
  233. package/lib/cjs/components/tree/item.js.map +1 -0
  234. package/lib/cjs/components/tree/tree.js +127 -0
  235. package/lib/cjs/components/tree/tree.js.map +1 -0
  236. package/lib/cjs/components/upload/index.js +6 -0
  237. package/lib/cjs/components/upload/index.js.map +1 -0
  238. package/lib/cjs/components/upload/renderFile.js +99 -0
  239. package/lib/cjs/components/upload/renderFile.js.map +1 -0
  240. package/lib/cjs/components/upload/upload.js +165 -0
  241. package/lib/cjs/components/upload/upload.js.map +1 -0
  242. package/lib/cjs/components/utils/empty/index.js +17 -0
  243. package/lib/cjs/components/utils/empty/index.js.map +1 -0
  244. package/lib/cjs/components/utils/helpericon/helpericon.js +24 -0
  245. package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -0
  246. package/lib/cjs/components/utils/helpericon/index.js +6 -0
  247. package/lib/cjs/components/utils/helpericon/index.js.map +1 -0
  248. package/lib/cjs/components/video/index.js +6 -0
  249. package/lib/cjs/components/video/index.js.map +1 -0
  250. package/lib/cjs/components/video/video.js +237 -0
  251. package/lib/cjs/components/video/video.js.map +1 -0
  252. package/lib/cjs/index.js +83 -0
  253. package/lib/cjs/js/hooks.js +259 -0
  254. package/lib/cjs/js/hooks.js.map +1 -0
  255. package/lib/cjs/js/usePreview/content.js +197 -0
  256. package/lib/cjs/js/usePreview/content.js.map +1 -0
  257. package/lib/cjs/js/usePreview/index.js +39 -0
  258. package/lib/cjs/js/usePreview/index.js.map +1 -0
  259. package/lib/cjs/js/usePreview/renderFile.js +28 -0
  260. package/lib/cjs/js/usePreview/renderFile.js.map +1 -0
  261. package/lib/cjs/js/usePreview/type.js +15 -0
  262. package/lib/cjs/js/usePreview/type.js.map +1 -0
  263. package/lib/cjs/js/useRipple/index.js +45 -0
  264. package/lib/cjs/js/useRipple/index.js.map +1 -0
  265. package/lib/cjs/js/useTheme/index.js +30 -0
  266. package/lib/cjs/js/useTheme/index.js.map +1 -0
  267. package/lib/cjs/js/utils.js +284 -0
  268. package/lib/cjs/js/utils.js.map +1 -0
  269. package/lib/es/components/affix/affix.js +1 -1
  270. package/lib/es/components/affix/affix.js.map +1 -1
  271. package/lib/es/components/affix/totop.js +1 -1
  272. package/lib/es/components/affix/totop.js.map +1 -1
  273. package/lib/es/components/badge/badge.js.map +1 -1
  274. package/lib/es/components/button/button.js.map +1 -1
  275. package/lib/es/components/card/card.js.map +1 -1
  276. package/lib/es/components/checkbox/checkbox.js.map +1 -1
  277. package/lib/es/components/collapse/collapse.js +1 -2
  278. package/lib/es/components/collapse/collapse.js.map +1 -1
  279. package/lib/es/components/datagrid/datagrid.js.map +1 -1
  280. package/lib/es/components/description/description.js.map +1 -1
  281. package/lib/es/components/drawer/drawer.js.map +1 -1
  282. package/lib/es/components/dropdown/dropdown.js.map +1 -1
  283. package/lib/es/components/editor/controls.js +1 -7
  284. package/lib/es/components/editor/controls.js.map +1 -1
  285. package/lib/es/components/editor/editor.js.map +1 -1
  286. package/lib/es/components/flex/flex.js.map +1 -1
  287. package/lib/es/components/form/field.js +1 -1
  288. package/lib/es/components/form/form.js +1 -1
  289. package/lib/es/components/form/form.js.map +1 -1
  290. package/lib/es/components/form/useForm.js +2 -2
  291. package/lib/es/components/icon/icon.js.map +1 -1
  292. package/lib/es/components/image/image.js.map +1 -1
  293. package/lib/es/components/input/input.js +1 -2
  294. package/lib/es/components/input/input.js.map +1 -1
  295. package/lib/es/components/input/number.js +1 -3
  296. package/lib/es/components/input/number.js.map +1 -1
  297. package/lib/es/components/input/range.js +1 -3
  298. package/lib/es/components/input/range.js.map +1 -1
  299. package/lib/es/components/input/textarea.js.map +1 -1
  300. package/lib/es/components/list/list.js.map +1 -1
  301. package/lib/es/components/loading/loading.js.map +1 -1
  302. package/lib/es/components/message/message.js +2 -2
  303. package/lib/es/components/message/message.js.map +1 -1
  304. package/lib/es/components/modal/content.js.map +1 -1
  305. package/lib/es/components/modal/modal.js.map +1 -1
  306. package/lib/es/components/pagination/pagination.js +1 -3
  307. package/lib/es/components/pagination/pagination.js.map +1 -1
  308. package/lib/es/components/picker/colors/footer.js +1 -1
  309. package/lib/es/components/picker/colors/footer.js.map +1 -1
  310. package/lib/es/components/picker/colors/index.js.map +1 -1
  311. package/lib/es/components/picker/dates/index.js +2 -2
  312. package/lib/es/components/picker/dates/index.js.map +1 -1
  313. package/lib/es/components/picker/dates/panel.js +2 -3
  314. package/lib/es/components/picker/dates/panel.js.map +1 -1
  315. package/lib/es/components/picker/time/index.js +1 -1
  316. package/lib/es/components/picker/time/index.js.map +1 -1
  317. package/lib/es/components/picker/time/panel.js.map +1 -1
  318. package/lib/es/components/popconfirm/popconfirm.js +1 -1
  319. package/lib/es/components/popconfirm/popconfirm.js.map +1 -1
  320. package/lib/es/components/popup/popup.js +1 -1
  321. package/lib/es/components/popup/popup.js.map +1 -1
  322. package/lib/es/components/progress/progress.js.map +1 -1
  323. package/lib/es/components/radio/radio.js.map +1 -1
  324. package/lib/es/components/resizable/resizable.js.map +1 -1
  325. package/lib/es/components/river/river.js.map +1 -1
  326. package/lib/es/components/select/options.js +1 -2
  327. package/lib/es/components/select/options.js.map +1 -1
  328. package/lib/es/components/select/select.js +2 -2
  329. package/lib/es/components/select/select.js.map +1 -1
  330. package/lib/es/components/step/divider.js.map +1 -1
  331. package/lib/es/components/step/item.js +1 -1
  332. package/lib/es/components/step/item.js.map +1 -1
  333. package/lib/es/components/step/step.js.map +1 -1
  334. package/lib/es/components/swiper/swiper.js +1 -2
  335. package/lib/es/components/swiper/swiper.js.map +1 -1
  336. package/lib/es/components/tabs/tabs.js +1 -1
  337. package/lib/es/components/tabs/tabs.js.map +1 -1
  338. package/lib/es/components/tag/tag.js.map +1 -1
  339. package/lib/es/components/text/highlight.js +1 -1
  340. package/lib/es/components/text/text.js.map +1 -1
  341. package/lib/es/components/tree/item.js +1 -1
  342. package/lib/es/components/tree/item.js.map +1 -1
  343. package/lib/es/components/tree/tree.js.map +1 -1
  344. package/lib/es/components/upload/renderFile.js +2 -2
  345. package/lib/es/components/upload/renderFile.js.map +1 -1
  346. package/lib/es/components/upload/upload.js +2 -3
  347. package/lib/es/components/upload/upload.js.map +1 -1
  348. package/lib/es/components/utils/empty/index.js +1 -1
  349. package/lib/es/components/utils/empty/index.js.map +1 -1
  350. package/lib/es/components/utils/helpericon/helpericon.js +2 -2
  351. package/lib/es/components/utils/helpericon/helpericon.js.map +1 -1
  352. package/lib/es/components/video/video.js +2 -8
  353. package/lib/es/components/video/video.js.map +1 -1
  354. package/lib/es/js/usePreview/content.js +2 -9
  355. package/lib/es/js/usePreview/content.js.map +1 -1
  356. package/lib/es/js/usePreview/index.js.map +1 -1
  357. package/lib/es/js/usePreview/renderFile.js +1 -1
  358. package/lib/es/js/usePreview/renderFile.js.map +1 -1
  359. package/lib/es/js/useRipple/index.js.map +1 -1
  360. package/lib/es/js/utils.js +1 -1
  361. package/lib/types/components/affix/affix.js +1 -2
  362. package/lib/types/components/affix/totop.js +1 -1
  363. package/lib/types/components/badge/badge.js +0 -1
  364. package/lib/types/components/button/button.js +0 -1
  365. package/lib/types/components/card/card.js +0 -1
  366. package/lib/types/components/checkbox/checkbox.js +0 -2
  367. package/lib/types/components/collapse/collapse.js +1 -3
  368. package/lib/types/components/datagrid/datagrid.js +0 -1
  369. package/lib/types/components/description/description.js +0 -1
  370. package/lib/types/components/drawer/drawer.js +0 -1
  371. package/lib/types/components/dropdown/dropdown.js +0 -1
  372. package/lib/types/components/editor/controls.js +1 -7
  373. package/lib/types/components/editor/editor.js +0 -1
  374. package/lib/types/components/flex/flex.js +0 -1
  375. package/lib/types/components/form/field.js +1 -1
  376. package/lib/types/components/form/form.js +1 -2
  377. package/lib/types/components/form/useForm.js +2 -2
  378. package/lib/types/components/icon/icon.js +0 -1
  379. package/lib/types/components/image/image.js +0 -1
  380. package/lib/types/components/input/input.js +1 -3
  381. package/lib/types/components/input/number.js +1 -4
  382. package/lib/types/components/input/range.js +1 -4
  383. package/lib/types/components/input/textarea.js +0 -1
  384. package/lib/types/components/list/list.js +0 -1
  385. package/lib/types/components/loading/loading.js +0 -1
  386. package/lib/types/components/message/message.js +2 -3
  387. package/lib/types/components/modal/content.js +0 -1
  388. package/lib/types/components/modal/modal.js +0 -1
  389. package/lib/types/components/pagination/pagination.js +1 -4
  390. package/lib/types/components/picker/colors/footer.js +1 -1
  391. package/lib/types/components/picker/colors/index.js +0 -1
  392. package/lib/types/components/picker/dates/index.js +2 -3
  393. package/lib/types/components/picker/dates/panel.js +2 -3
  394. package/lib/types/components/picker/time/index.js +1 -1
  395. package/lib/types/components/picker/time/panel.js +0 -1
  396. package/lib/types/components/popconfirm/popconfirm.js +1 -2
  397. package/lib/types/components/popup/popup.js +1 -2
  398. package/lib/types/components/progress/progress.js +0 -2
  399. package/lib/types/components/radio/radio.js +0 -2
  400. package/lib/types/components/resizable/resizable.js +0 -1
  401. package/lib/types/components/river/river.js +0 -1
  402. package/lib/types/components/select/options.js +1 -2
  403. package/lib/types/components/select/select.js +2 -4
  404. package/lib/types/components/step/divider.js +0 -1
  405. package/lib/types/components/step/item.js +1 -1
  406. package/lib/types/components/step/step.js +0 -1
  407. package/lib/types/components/swiper/swiper.js +1 -3
  408. package/lib/types/components/tabs/tabs.js +1 -2
  409. package/lib/types/components/tag/tag.js +0 -1
  410. package/lib/types/components/text/highlight.js +1 -1
  411. package/lib/types/components/text/text.js +0 -1
  412. package/lib/types/components/tree/item.js +1 -1
  413. package/lib/types/components/tree/tree.js +0 -1
  414. package/lib/types/components/upload/renderFile.js +2 -2
  415. package/lib/types/components/upload/upload.js +2 -4
  416. package/lib/types/components/utils/empty/index.js +1 -2
  417. package/lib/types/components/utils/helpericon/helpericon.js +2 -3
  418. package/lib/types/components/video/video.js +2 -9
  419. package/lib/types/index.js +0 -1
  420. package/lib/types/js/usePreview/content.js +2 -9
  421. package/lib/types/js/usePreview/index.js +0 -1
  422. package/lib/types/js/usePreview/renderFile.js +1 -1
  423. package/lib/types/js/useRipple/index.js +0 -1
  424. package/lib/types/js/utils.js +1 -1
  425. package/package.json +8 -3
  426. package/lib/css/index.css +0 -1
  427. package/lib/types/components/affix/affix.d.ts +0 -7
  428. package/lib/types/components/affix/index.d.ts +0 -2
  429. package/lib/types/components/affix/totop.d.ts +0 -3
  430. package/lib/types/components/affix/type.d.ts +0 -10
  431. package/lib/types/components/area/area.d.ts +0 -3
  432. package/lib/types/components/area/index.d.ts +0 -2
  433. package/lib/types/components/area/item.d.ts +0 -3
  434. package/lib/types/components/area/type.d.ts +0 -12
  435. package/lib/types/components/badge/badge.d.ts +0 -3
  436. package/lib/types/components/badge/index.d.ts +0 -2
  437. package/lib/types/components/badge/type.d.ts +0 -12
  438. package/lib/types/components/button/button.d.ts +0 -3
  439. package/lib/types/components/button/confirm.d.ts +0 -2
  440. package/lib/types/components/button/group.d.ts +0 -2
  441. package/lib/types/components/button/index.d.ts +0 -2
  442. package/lib/types/components/button/toggle.d.ts +0 -2
  443. package/lib/types/components/button/type.d.ts +0 -51
  444. package/lib/types/components/card/card.d.ts +0 -3
  445. package/lib/types/components/card/index.d.ts +0 -2
  446. package/lib/types/components/card/type.d.ts +0 -10
  447. package/lib/types/components/checkbox/checkbox.d.ts +0 -7
  448. package/lib/types/components/checkbox/index.d.ts +0 -2
  449. package/lib/types/components/checkbox/item.d.ts +0 -2
  450. package/lib/types/components/checkbox/type.d.ts +0 -22
  451. package/lib/types/components/collapse/collapse.d.ts +0 -7
  452. package/lib/types/components/collapse/index.d.ts +0 -2
  453. package/lib/types/components/collapse/item.d.ts +0 -2
  454. package/lib/types/components/collapse/type.d.ts +0 -20
  455. package/lib/types/components/datagrid/cell.d.ts +0 -13
  456. package/lib/types/components/datagrid/datagrid.d.ts +0 -3
  457. package/lib/types/components/datagrid/index.d.ts +0 -2
  458. package/lib/types/components/datagrid/resize.d.ts +0 -1
  459. package/lib/types/components/datagrid/row.d.ts +0 -3
  460. package/lib/types/components/datagrid/sorter.d.ts +0 -1
  461. package/lib/types/components/datagrid/type.d.ts +0 -61
  462. package/lib/types/components/description/description.d.ts +0 -3
  463. package/lib/types/components/description/index.d.ts +0 -2
  464. package/lib/types/components/description/type.d.ts +0 -23
  465. package/lib/types/components/drawer/drawer.d.ts +0 -3
  466. package/lib/types/components/drawer/index.d.ts +0 -2
  467. package/lib/types/components/drawer/type.d.ts +0 -13
  468. package/lib/types/components/drawer/useDrawer.d.ts +0 -0
  469. package/lib/types/components/dropdown/dropdown.d.ts +0 -6
  470. package/lib/types/components/dropdown/index.d.ts +0 -2
  471. package/lib/types/components/dropdown/item.d.ts +0 -3
  472. package/lib/types/components/dropdown/type.d.ts +0 -11
  473. package/lib/types/components/editor/controls.d.ts +0 -5
  474. package/lib/types/components/editor/editor.d.ts +0 -3
  475. package/lib/types/components/editor/index.d.ts +0 -2
  476. package/lib/types/components/editor/type.d.ts +0 -17
  477. package/lib/types/components/flex/flex.d.ts +0 -3
  478. package/lib/types/components/flex/index.d.ts +0 -2
  479. package/lib/types/components/flex/type.d.ts +0 -10
  480. package/lib/types/components/form/context.d.ts +0 -3
  481. package/lib/types/components/form/field.d.ts +0 -3
  482. package/lib/types/components/form/form.d.ts +0 -11
  483. package/lib/types/components/form/index.d.ts +0 -2
  484. package/lib/types/components/form/type.d.ts +0 -40
  485. package/lib/types/components/form/useConfig.d.ts +0 -5
  486. package/lib/types/components/form/useForm.d.ts +0 -14
  487. package/lib/types/components/icon/icon.d.ts +0 -3
  488. package/lib/types/components/icon/index.d.ts +0 -2
  489. package/lib/types/components/icon/type.d.ts +0 -9
  490. package/lib/types/components/image/image.d.ts +0 -3
  491. package/lib/types/components/image/index.d.ts +0 -2
  492. package/lib/types/components/image/list.d.ts +0 -2
  493. package/lib/types/components/image/type.d.ts +0 -30
  494. package/lib/types/components/input/container.d.ts +0 -2
  495. package/lib/types/components/input/index.d.ts +0 -2
  496. package/lib/types/components/input/input.d.ts +0 -3
  497. package/lib/types/components/input/number.d.ts +0 -3
  498. package/lib/types/components/input/range.d.ts +0 -3
  499. package/lib/types/components/input/textarea.d.ts +0 -3
  500. package/lib/types/components/input/type.d.ts +0 -61
  501. package/lib/types/components/list/index.d.ts +0 -2
  502. package/lib/types/components/list/item.d.ts +0 -3
  503. package/lib/types/components/list/list.d.ts +0 -6
  504. package/lib/types/components/list/type.d.ts +0 -13
  505. package/lib/types/components/loading/index.d.ts +0 -2
  506. package/lib/types/components/loading/loading.d.ts +0 -3
  507. package/lib/types/components/loading/type.d.ts +0 -7
  508. package/lib/types/components/message/index.d.ts +0 -2
  509. package/lib/types/components/message/message.d.ts +0 -27
  510. package/lib/types/components/message/type.d.ts +0 -29
  511. package/lib/types/components/modal/content.d.ts +0 -2
  512. package/lib/types/components/modal/context.d.ts +0 -2
  513. package/lib/types/components/modal/hookModal.d.ts +0 -6
  514. package/lib/types/components/modal/index.d.ts +0 -2
  515. package/lib/types/components/modal/modal.d.ts +0 -3
  516. package/lib/types/components/modal/type.d.ts +0 -34
  517. package/lib/types/components/modal/useModal.d.ts +0 -6
  518. package/lib/types/components/pagination/index.d.ts +0 -2
  519. package/lib/types/components/pagination/page.d.ts +0 -3
  520. package/lib/types/components/pagination/pagination.d.ts +0 -3
  521. package/lib/types/components/pagination/type.d.ts +0 -20
  522. package/lib/types/components/picker/colors/footer.d.ts +0 -6
  523. package/lib/types/components/picker/colors/handle.d.ts +0 -2
  524. package/lib/types/components/picker/colors/index.d.ts +0 -2
  525. package/lib/types/components/picker/dates/dates.d.ts +0 -5
  526. package/lib/types/components/picker/dates/index.d.ts +0 -3
  527. package/lib/types/components/picker/dates/panel.d.ts +0 -3
  528. package/lib/types/components/picker/index.d.ts +0 -10
  529. package/lib/types/components/picker/time/index.d.ts +0 -2
  530. package/lib/types/components/picker/time/item.d.ts +0 -1
  531. package/lib/types/components/picker/time/panel.d.ts +0 -1
  532. package/lib/types/components/picker/type.d.ts +0 -38
  533. package/lib/types/components/popconfirm/index.d.ts +0 -2
  534. package/lib/types/components/popconfirm/popconfirm.d.ts +0 -3
  535. package/lib/types/components/popconfirm/type.d.ts +0 -11
  536. package/lib/types/components/popup/content.d.ts +0 -3
  537. package/lib/types/components/popup/index.d.ts +0 -2
  538. package/lib/types/components/popup/popup.d.ts +0 -2
  539. package/lib/types/components/popup/type.d.ts +0 -25
  540. package/lib/types/components/progress/circle.d.ts +0 -2
  541. package/lib/types/components/progress/index.d.ts +0 -2
  542. package/lib/types/components/progress/line.d.ts +0 -9
  543. package/lib/types/components/progress/progress.d.ts +0 -3
  544. package/lib/types/components/progress/type.d.ts +0 -20
  545. package/lib/types/components/radio/index.d.ts +0 -2
  546. package/lib/types/components/radio/item.d.ts +0 -2
  547. package/lib/types/components/radio/radio.d.ts +0 -7
  548. package/lib/types/components/radio/type.d.ts +0 -18
  549. package/lib/types/components/resizable/index.d.ts +0 -2
  550. package/lib/types/components/resizable/resizable.d.ts +0 -3
  551. package/lib/types/components/resizable/type.d.ts +0 -16
  552. package/lib/types/components/river/index.d.ts +0 -2
  553. package/lib/types/components/river/river.d.ts +0 -3
  554. package/lib/types/components/river/type.d.ts +0 -5
  555. package/lib/types/components/select/index.d.ts +0 -2
  556. package/lib/types/components/select/options.d.ts +0 -5
  557. package/lib/types/components/select/select.d.ts +0 -3
  558. package/lib/types/components/select/type.d.ts +0 -24
  559. package/lib/types/components/step/divider.d.ts +0 -1
  560. package/lib/types/components/step/index.d.ts +0 -2
  561. package/lib/types/components/step/item.d.ts +0 -3
  562. package/lib/types/components/step/step.d.ts +0 -7
  563. package/lib/types/components/step/type.d.ts +0 -16
  564. package/lib/types/components/swiper/index.d.ts +0 -2
  565. package/lib/types/components/swiper/item.d.ts +0 -3
  566. package/lib/types/components/swiper/swiper.d.ts +0 -3
  567. package/lib/types/components/swiper/type.d.ts +0 -49
  568. package/lib/types/components/tabs/index.d.ts +0 -2
  569. package/lib/types/components/tabs/item.d.ts +0 -3
  570. package/lib/types/components/tabs/tabs.d.ts +0 -3
  571. package/lib/types/components/tabs/type.d.ts +0 -41
  572. package/lib/types/components/tag/index.d.ts +0 -2
  573. package/lib/types/components/tag/tag.d.ts +0 -3
  574. package/lib/types/components/tag/type.d.ts +0 -11
  575. package/lib/types/components/text/highlight.d.ts +0 -2
  576. package/lib/types/components/text/index.d.ts +0 -2
  577. package/lib/types/components/text/number.d.ts +0 -2
  578. package/lib/types/components/text/text.d.ts +0 -3
  579. package/lib/types/components/text/time.d.ts +0 -2
  580. package/lib/types/components/text/type.d.ts +0 -40
  581. package/lib/types/components/tree/index.d.ts +0 -2
  582. package/lib/types/components/tree/item.d.ts +0 -11
  583. package/lib/types/components/tree/tree.d.ts +0 -3
  584. package/lib/types/components/tree/type.d.ts +0 -60
  585. package/lib/types/components/upload/index.d.ts +0 -2
  586. package/lib/types/components/upload/renderFile.d.ts +0 -7
  587. package/lib/types/components/upload/type.d.ts +0 -41
  588. package/lib/types/components/upload/upload.d.ts +0 -3
  589. package/lib/types/components/utils/empty/index.d.ts +0 -1
  590. package/lib/types/components/utils/helpericon/helpericon.d.ts +0 -3
  591. package/lib/types/components/utils/helpericon/index.d.ts +0 -2
  592. package/lib/types/components/utils/helpericon/type.d.ts +0 -11
  593. package/lib/types/components/video/index.d.ts +0 -2
  594. package/lib/types/components/video/type.d.ts +0 -24
  595. package/lib/types/components/video/video.d.ts +0 -3
  596. package/lib/types/index.d.ts +0 -40
  597. package/lib/types/js/hooks.d.ts +0 -36
  598. package/lib/types/js/usePreview/content.d.ts +0 -2
  599. package/lib/types/js/usePreview/index.d.ts +0 -2
  600. package/lib/types/js/usePreview/renderFile.d.ts +0 -2
  601. package/lib/types/js/usePreview/type.d.ts +0 -36
  602. package/lib/types/js/useRipple/index.d.ts +0 -2
  603. package/lib/types/js/useTheme/index.d.ts +0 -6
  604. package/lib/types/js/useTheme/type.d.ts +0 -9
  605. package/lib/types/js/utils.d.ts +0 -36
  606. package/lib/types/type/index.d.ts +0 -34
@@ -0,0 +1,136 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
2
+ const require_index = require("../icon/index.js");
3
+ const require_index$1 = require("../checkbox/index.js");
4
+ let classnames = require("classnames");
5
+ classnames = require_runtime.__toESM(classnames);
6
+ let react = require("react");
7
+ let _ricons_material = require("@ricons/material");
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ //#region packages/components/tree/item.tsx
10
+ function TreeList(props) {
11
+ const { data = [], depth = 0, round, style, className, parent, nodeProps, ...restProps } = props;
12
+ const contents = data.map((item, i) => {
13
+ const { type } = item;
14
+ const title = item[nodeProps.title];
15
+ const itemKey = item[nodeProps.key] || (parent?.key !== void 0 ? `${parent.key}-${i}` : `${i}`);
16
+ item.key = itemKey;
17
+ item.parent = parent;
18
+ if (type === "title") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
19
+ className: "i-tree-group-title",
20
+ children: title
21
+ }, i);
22
+ if (type && type !== "item") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
23
+ className: `i-tree-type-${type}`,
24
+ children: title
25
+ }, i);
26
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeItem, {
27
+ index: i,
28
+ item,
29
+ depth,
30
+ nodeProps,
31
+ ...restProps
32
+ }, itemKey);
33
+ });
34
+ if (depth > 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: contents });
35
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
36
+ className: (0, classnames.default)("i-tree", className, { "i-tree-round": round }),
37
+ style,
38
+ children: contents
39
+ });
40
+ }
41
+ const Header = (props) => {
42
+ const { as: Tag = "a", href, selected, children, ...restProps } = props;
43
+ const className = (0, classnames.default)("i-tree-item-header", { "i-tree-item-selected": selected });
44
+ if (typeof Tag === "string") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Tag, {
45
+ href,
46
+ className,
47
+ ...restProps,
48
+ children
49
+ });
50
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Tag, {
51
+ to: href || "",
52
+ className,
53
+ ...restProps,
54
+ children
55
+ });
56
+ };
57
+ const TreeItem = (props) => {
58
+ const { item, depth = 0, index, selected, checked = [], partofs = {}, checkable, nodeProps, renderExtra, onItemClick, onItemSelect, onItemCheck, ...restProps } = props;
59
+ const { as, key = "", href, icon, title, expanded, disabled } = item;
60
+ const children = item[nodeProps.children];
61
+ const [expand, setExpand] = (0, react.useState)(expanded);
62
+ const handleExpand = (e, fromToggle) => {
63
+ if (fromToggle) {
64
+ e.preventDefault();
65
+ e.stopPropagation();
66
+ }
67
+ if (disabled || !children?.length) return;
68
+ setExpand((v) => !v);
69
+ };
70
+ const handleItemClick = (e) => {
71
+ if (disabled) {
72
+ e.preventDefault();
73
+ e.stopPropagation();
74
+ return;
75
+ }
76
+ handleExpand(e);
77
+ onItemClick?.(item, e);
78
+ onItemSelect?.(key, item);
79
+ };
80
+ const handleItemCheck = (checked) => onItemCheck?.(item, checked, []);
81
+ const itemChecked = checked.includes(key);
82
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
83
+ className: (0, classnames.default)("i-tree-item", { "i-tree-expand": expand }),
84
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Header, {
85
+ as,
86
+ href,
87
+ style: { paddingLeft: `${depth * 1.5 + .5}em` },
88
+ selected: selected === key,
89
+ onClick: handleItemClick,
90
+ children: [
91
+ checkable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default.Item, {
92
+ value: itemChecked,
93
+ partof: !itemChecked && partofs[key],
94
+ className: "i-tree-checkbox",
95
+ onChange: handleItemCheck,
96
+ onClick: (e) => e.stopPropagation()
97
+ }),
98
+ icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
99
+ className: "i-tree-item-icon",
100
+ children: icon
101
+ }),
102
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
103
+ className: "i-tree-item-title",
104
+ children: title
105
+ }),
106
+ renderExtra?.(item),
107
+ children && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
108
+ icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.KeyboardArrowDownRound, {}),
109
+ className: "i-tree-toggle",
110
+ onClick: (e) => handleExpand(e, true)
111
+ })
112
+ ]
113
+ }), children?.length && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
114
+ className: "i-tree-item-content",
115
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeList, {
116
+ data: children,
117
+ depth: depth + 1,
118
+ selected,
119
+ checkable,
120
+ parent: item,
121
+ partofs,
122
+ checked,
123
+ nodeProps,
124
+ renderExtra,
125
+ onItemClick,
126
+ onItemSelect,
127
+ onItemCheck,
128
+ ...restProps
129
+ })
130
+ })]
131
+ });
132
+ };
133
+ //#endregion
134
+ exports.TreeList = TreeList;
135
+
136
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.js","names":["Checkbox","Icon","KeyboardArrowDownRound"],"sources":["../../../../packages/components/tree/item.tsx"],"sourcesContent":["import { KeyboardArrowDownRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { MouseEvent, useState } from \"react\";\nimport Checkbox from \"../checkbox\";\nimport Icon from \"../icon\";\nimport { ITree, ITreeHeader, PropsTreeItem } from \"./type\";\n\ninterface ITreeList extends Omit<ITree, \"nodeProps\"> {\n\tnodeProps: {\n\t\tkey: string;\n\t\ttitle: string;\n\t\tchildren: string;\n\t};\n}\n\nexport function TreeList(props: ITreeList) {\n\tconst {\n\t\tdata = [],\n\t\tdepth = 0,\n\t\tround,\n\t\tstyle,\n\t\tclassName,\n\t\tparent,\n\t\tnodeProps,\n\t\t...restProps\n\t} = props;\n\n\tconst contents = data.map((item, i) => {\n\t\tconst { type } = item;\n\t\tconst title = item[nodeProps.title];\n\t\tconst itemKey =\n\t\t\titem[nodeProps.key] ||\n\t\t\t(parent?.key !== undefined ? `${parent.key}-${i}` : `${i}`);\n\n\t\titem.key = itemKey;\n\t\titem.parent = parent;\n\n\t\tif (type === \"title\") {\n\t\t\treturn (\n\t\t\t\t<div key={i} className='i-tree-group-title'>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (type && type !== \"item\") {\n\t\t\treturn (\n\t\t\t\t<div key={i} className={`i-tree-type-${type}`}>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TreeItem\n\t\t\t\tkey={itemKey}\n\t\t\t\tindex={i}\n\t\t\t\titem={item}\n\t\t\t\tdepth={depth}\n\t\t\t\tnodeProps={nodeProps}\n\t\t\t\t{...restProps}\n\t\t\t/>\n\t\t);\n\t});\n\n\tif (depth > 0) return <>{contents}</>;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-tree\", className, {\n\t\t\t\t\"i-tree-round\": round,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{contents}\n\t\t</div>\n\t);\n}\n\nconst Header = (props: ITreeHeader) => {\n\tconst { as: Tag = \"a\", href, selected, children, ...restProps } = props;\n\n\tconst className = classNames(\"i-tree-item-header\", {\n\t\t\"i-tree-item-selected\": selected,\n\t});\n\n\tif (typeof Tag === \"string\") {\n\t\treturn (\n\t\t\t<Tag href={href} className={className} {...restProps}>\n\t\t\t\t{children}\n\t\t\t</Tag>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Tag to={href || \"\"} className={className} {...restProps}>\n\t\t\t{children}\n\t\t</Tag>\n\t);\n};\n\nexport const TreeItem = (props: PropsTreeItem) => {\n\tconst {\n\t\titem,\n\t\tdepth = 0,\n\t\tindex,\n\t\tselected,\n\t\tchecked = [],\n\t\tpartofs = {},\n\t\tcheckable,\n\t\tnodeProps,\n\t\trenderExtra,\n\t\tonItemClick,\n\t\tonItemSelect,\n\t\tonItemCheck,\n\t\t...restProps\n\t} = props;\n\n\tconst { as, key = \"\", href, icon, title, expanded, disabled } = item;\n\tconst children = item[nodeProps.children];\n\n\tconst [expand, setExpand] = useState(expanded);\n\n\tconst handleExpand = (e: MouseEvent<HTMLElement>, fromToggle?: boolean) => {\n\t\tif (fromToggle) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif (disabled || !children?.length) return;\n\n\t\tsetExpand((v) => !v);\n\t};\n\n\tconst handleItemClick = (e: MouseEvent<HTMLElement>) => {\n\t\tif (disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\thandleExpand(e);\n\t\tonItemClick?.(item, e);\n\t\tonItemSelect?.(key, item);\n\t};\n\n\tconst handleItemCheck = (checked) => onItemCheck?.(item, checked, []);\n\tconst itemChecked = checked.includes(key);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-tree-item\", {\n\t\t\t\t\"i-tree-expand\": expand,\n\t\t\t})}\n\t\t>\n\t\t\t<Header\n\t\t\t\tas={as}\n\t\t\t\thref={href}\n\t\t\t\tstyle={{ paddingLeft: `${depth * 1.5 + 0.5}em` }}\n\t\t\t\tselected={selected === key}\n\t\t\t\tonClick={handleItemClick}\n\t\t\t>\n\t\t\t\t{checkable && (\n\t\t\t\t\t<Checkbox.Item\n\t\t\t\t\t\tvalue={itemChecked}\n\t\t\t\t\t\tpartof={!itemChecked && partofs[key]}\n\t\t\t\t\t\tclassName='i-tree-checkbox'\n\t\t\t\t\t\tonChange={handleItemCheck}\n\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{icon && <span className='i-tree-item-icon'>{icon}</span>}\n\n\t\t\t\t<span className='i-tree-item-title'>{title}</span>\n\n\t\t\t\t{renderExtra?.(item)}\n\n\t\t\t\t{children && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={<KeyboardArrowDownRound />}\n\t\t\t\t\t\tclassName='i-tree-toggle'\n\t\t\t\t\t\tonClick={(e) => handleExpand(e, true)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Header>\n\n\t\t\t{children?.length && (\n\t\t\t\t<div className='i-tree-item-content'>\n\t\t\t\t\t<TreeList\n\t\t\t\t\t\tdata={children}\n\t\t\t\t\t\tdepth={depth + 1}\n\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\tcheckable={checkable}\n\t\t\t\t\t\tparent={item}\n\t\t\t\t\t\tpartofs={partofs}\n\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\tnodeProps={nodeProps}\n\t\t\t\t\t\trenderExtra={renderExtra}\n\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\tonItemSelect={onItemSelect}\n\t\t\t\t\t\tonItemCheck={onItemCheck}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"mappings":";;;;;;;;;AAeA,SAAgB,SAAS,OAAkB;CAC1C,MAAM,EACL,OAAO,EAAE,EACT,QAAQ,GACR,OACA,OACA,WACA,QACA,WACA,GAAG,cACA;CAEJ,MAAM,WAAW,KAAK,KAAK,MAAM,MAAM;EACtC,MAAM,EAAE,SAAS;EACjB,MAAM,QAAQ,KAAK,UAAU;EAC7B,MAAM,UACL,KAAK,UAAU,SACd,QAAQ,QAAQ,KAAA,IAAY,GAAG,OAAO,IAAI,GAAG,MAAM,GAAG;AAExD,OAAK,MAAM;AACX,OAAK,SAAS;AAEd,MAAI,SAAS,QACZ,QACC,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAa,WAAU;aACrB;GACI,EAFI,EAEJ;AAIR,MAAI,QAAQ,SAAS,OACpB,QACC,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAa,WAAW,eAAe;aACrC;GACI,EAFI,EAEJ;AAIR,SACC,iBAAA,GAAA,kBAAA,KAAC,UAAD;GAEC,OAAO;GACD;GACC;GACI;GACX,GAAI;GACH,EANI,QAMJ;GAEF;AAEF,KAAI,QAAQ,EAAG,QAAO,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UAAG,UAAY,CAAA;AAErC,QACC,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACC,YAAA,GAAA,WAAA,SAAsB,UAAU,WAAW,EAC1C,gBAAgB,OAChB,CAAC;EACK;YAEN;EACI,CAAA;;AAIR,MAAM,UAAU,UAAuB;CACtC,MAAM,EAAE,IAAI,MAAM,KAAK,MAAM,UAAU,UAAU,GAAG,cAAc;CAElE,MAAM,aAAA,GAAA,WAAA,SAAuB,sBAAsB,EAClD,wBAAwB,UACxB,CAAC;AAEF,KAAI,OAAO,QAAQ,SAClB,QACC,iBAAA,GAAA,kBAAA,KAAC,KAAD;EAAW;EAAiB;EAAW,GAAI;EACzC;EACI,CAAA;AAIR,QACC,iBAAA,GAAA,kBAAA,KAAC,KAAD;EAAK,IAAI,QAAQ;EAAe;EAAW,GAAI;EAC7C;EACI,CAAA;;AAIR,MAAa,YAAY,UAAyB;CACjD,MAAM,EACL,MACA,QAAQ,GACR,OACA,UACA,UAAU,EAAE,EACZ,UAAU,EAAE,EACZ,WACA,WACA,aACA,aACA,cACA,aACA,GAAG,cACA;CAEJ,MAAM,EAAE,IAAI,MAAM,IAAI,MAAM,MAAM,OAAO,UAAU,aAAa;CAChE,MAAM,WAAW,KAAK,UAAU;CAEhC,MAAM,CAAC,QAAQ,cAAA,GAAA,MAAA,UAAsB,SAAS;CAE9C,MAAM,gBAAgB,GAA4B,eAAyB;AAC1E,MAAI,YAAY;AACf,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;;AAGpB,MAAI,YAAY,CAAC,UAAU,OAAQ;AAEnC,aAAW,MAAM,CAAC,EAAE;;CAGrB,MAAM,mBAAmB,MAA+B;AACvD,MAAI,UAAU;AACb,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;AACnB;;AAGD,eAAa,EAAE;AACf,gBAAc,MAAM,EAAE;AACtB,iBAAe,KAAK,KAAK;;CAG1B,MAAM,mBAAmB,YAAY,cAAc,MAAM,SAAS,EAAE,CAAC;CACrE,MAAM,cAAc,QAAQ,SAAS,IAAI;AAEzC,QACC,iBAAA,GAAA,kBAAA,MAAC,OAAD;EACC,YAAA,GAAA,WAAA,SAAsB,eAAe,EACpC,iBAAiB,QACjB,CAAC;YAHH,CAKC,iBAAA,GAAA,kBAAA,MAAC,QAAD;GACK;GACE;GACN,OAAO,EAAE,aAAa,GAAG,QAAQ,MAAM,GAAI,KAAK;GAChD,UAAU,aAAa;GACvB,SAAS;aALV;IAOE,aACA,iBAAA,GAAA,kBAAA,KAACA,gBAAAA,QAAS,MAAV;KACC,OAAO;KACP,QAAQ,CAAC,eAAe,QAAQ;KAChC,WAAU;KACV,UAAU;KACV,UAAU,MAAM,EAAE,iBAAiB;KAClC,CAAA;IAGF,QAAQ,iBAAA,GAAA,kBAAA,KAAC,QAAD;KAAM,WAAU;eAAoB;KAAY,CAAA;IAEzD,iBAAA,GAAA,kBAAA,KAAC,QAAD;KAAM,WAAU;eAAqB;KAAa,CAAA;IAEjD,cAAc,KAAK;IAEnB,YACA,iBAAA,GAAA,kBAAA,KAACC,cAAAA,SAAD;KACC,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,wBAAD,EAA0B,CAAA;KAChC,WAAU;KACV,UAAU,MAAM,aAAa,GAAG,KAAK;KACpC,CAAA;IAEK;MAER,UAAU,UACV,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAU;aACd,iBAAA,GAAA,kBAAA,KAAC,UAAD;IACC,MAAM;IACN,OAAO,QAAQ;IACL;IACC;IACX,QAAQ;IACC;IACA;IACE;IACE;IACA;IACC;IACD;IACb,GAAI;IACH,CAAA;GACG,CAAA,CAEF"}
@@ -0,0 +1,127 @@
1
+ require("../../_virtual/_rolldown/runtime.js");
2
+ const require_item = require("./item.js");
3
+ let react = require("react");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region packages/components/tree/tree.tsx
6
+ const defaultNodeProps = {
7
+ key: "key",
8
+ title: "title",
9
+ children: "children"
10
+ };
11
+ const Tree = (props) => {
12
+ const { data = [], ref, selected, checked = [], disabledRelated, nodeProps, onItemSelect, onItemCheck, ...restProps } = props;
13
+ const [selectedKey, setSelectedKey] = (0, react.useState)(selected);
14
+ const [checkedKeys, setCheckedKeys] = (0, react.useState)(checked);
15
+ const [partofs, setPartofs] = (0, react.useState)({});
16
+ const nodeMapsRef = (0, react.useRef)(/* @__PURE__ */ new Map());
17
+ const oNodeProps = Object.assign({}, defaultNodeProps, nodeProps);
18
+ const isChecked = (key) => checkedKeys.includes(key || "");
19
+ const checkItem = (item, checked, direction) => {
20
+ const { key = "", parent, children } = item;
21
+ const shouldChanged = { [key]: checked };
22
+ const partofs = { [key]: false };
23
+ if (disabledRelated) return [shouldChanged];
24
+ if (checked) {
25
+ if (parent && direction !== "leaf") {
26
+ const hasUnchecked = parent.children?.some((o) => o.key !== key && !isChecked(o.key));
27
+ const [changes, parts] = checkItem(parent, true, "root");
28
+ if (!hasUnchecked) Object.assign(shouldChanged, changes);
29
+ Object.assign(partofs, hasUnchecked ? parts : {}, { [parent.key]: true });
30
+ }
31
+ if (children?.length && direction !== "root") children.map((o) => {
32
+ if (isChecked(o.key)) return;
33
+ const [changes] = checkItem(o, true, "leaf");
34
+ Object.assign(shouldChanged, changes);
35
+ partofs[o.key] = false;
36
+ });
37
+ return [shouldChanged, partofs];
38
+ }
39
+ if (parent && direction !== "leaf") {
40
+ const [changes, parts] = checkItem(parent, false, "root");
41
+ Object.assign(shouldChanged, changes);
42
+ const hasChecked = parent.children?.some((o) => isChecked(o.key) && o.key !== key);
43
+ Object.assign(partofs, hasChecked ? {} : parts, {
44
+ [parent.key]: hasChecked,
45
+ [key]: false
46
+ });
47
+ }
48
+ if (children?.length && direction !== "root") children.map((o) => {
49
+ const [changes] = checkItem(o, false, "leaf");
50
+ if (!isChecked(o.key)) return;
51
+ Object.assign(shouldChanged, changes);
52
+ partofs[o.key] = false;
53
+ });
54
+ return [shouldChanged, partofs];
55
+ };
56
+ const handleCheck = (item, checked) => {
57
+ const [shouldChanged, partofs] = checkItem(item, checked);
58
+ const changedKeys = Object.keys(shouldChanged);
59
+ const nextChecked = checked ? Array.from(new Set([...checkedKeys, ...changedKeys])) : checkedKeys.filter((k) => !changedKeys.includes(k));
60
+ setCheckedKeys(nextChecked);
61
+ setPartofs((p) => ({
62
+ ...p,
63
+ ...partofs
64
+ }));
65
+ onItemCheck?.(item, checked, nextChecked);
66
+ };
67
+ const handleSelect = (key, item) => {
68
+ if (!props.selectable) return;
69
+ setSelectedKey(key);
70
+ onItemSelect?.(key, item);
71
+ };
72
+ (0, react.useEffect)(() => {
73
+ if (selected === void 0) return;
74
+ setSelectedKey(selected);
75
+ }, [selected]);
76
+ (0, react.useEffect)(() => {
77
+ nodeMapsRef.current.clear();
78
+ const { key, children } = oNodeProps;
79
+ const recursive = (nodes) => {
80
+ nodes.map((o) => {
81
+ nodeMapsRef.current.set(o[key], o);
82
+ o[children]?.length > 0 && recursive(o[children]);
83
+ });
84
+ };
85
+ recursive(data);
86
+ }, [data]);
87
+ (0, react.useImperativeHandle)(ref, () => {
88
+ return {
89
+ getChecked: () => {
90
+ const items = [];
91
+ checkedKeys.map((k) => {
92
+ const item = nodeMapsRef.current.get(k);
93
+ items.push(item);
94
+ });
95
+ return [checkedKeys, items];
96
+ },
97
+ getSelected: () => {
98
+ return [selectedKey, nodeMapsRef.current.get(selectedKey)];
99
+ },
100
+ getPartofs: () => {
101
+ const items = [];
102
+ return [Object.keys(partofs).filter((k) => {
103
+ const indeterminate = partofs[k];
104
+ if (indeterminate) {
105
+ const item = nodeMapsRef.current.get(k);
106
+ items.push(item);
107
+ }
108
+ return indeterminate;
109
+ }), items];
110
+ }
111
+ };
112
+ });
113
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_item.TreeList, {
114
+ data,
115
+ selected: selectedKey,
116
+ checked: checkedKeys,
117
+ partofs,
118
+ nodeProps: oNodeProps,
119
+ onItemCheck: handleCheck,
120
+ onItemSelect: handleSelect,
121
+ ...restProps
122
+ });
123
+ };
124
+ //#endregion
125
+ exports.default = Tree;
126
+
127
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","names":[],"sources":["../../../../packages/components/tree/tree.tsx"],"sourcesContent":["import { useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport \"./index.css\";\nimport { TreeList } from \"./item\";\nimport { ITree, ITreeItem } from \"./type\";\n\nconst defaultNodeProps = {\n\tkey: \"key\",\n\ttitle: \"title\",\n\tchildren: \"children\",\n};\n\nconst Tree = (props: ITree) => {\n\tconst {\n\t\tdata = [],\n\t\tref,\n\t\tselected,\n\t\tchecked = [],\n\t\tdisabledRelated,\n\t\tnodeProps,\n\t\tonItemSelect,\n\t\tonItemCheck,\n\t\t...restProps\n\t} = props;\n\tconst [selectedKey, setSelectedKey] = useState(selected);\n\tconst [checkedKeys, setCheckedKeys] = useState(checked);\n\tconst [partofs, setPartofs] = useState<Record<string, boolean>>({});\n\tconst nodeMapsRef = useRef<Map<any, any>>(new Map());\n\tconst oNodeProps = Object.assign({}, defaultNodeProps, nodeProps);\n\n\tconst isChecked = (key?: string) => checkedKeys.includes(key || \"\");\n\n\tconst checkItem = (\n\t\titem: ITreeItem,\n\t\tchecked: boolean,\n\t\tdirection?: \"root\" | \"leaf\"\n\t) => {\n\t\tconst { key = \"\", parent, children } = item;\n\t\tconst shouldChanged = { [key]: checked };\n\t\tconst partofs = { [key]: false };\n\n\t\tif (disabledRelated) return [shouldChanged];\n\n\t\tif (checked) {\n\t\t\tif (parent && direction !== \"leaf\") {\n\t\t\t\tconst hasUnchecked = parent.children?.some(\n\t\t\t\t\t(o) => o.key !== key && !isChecked(o.key)\n\t\t\t\t);\n\n\t\t\t\tconst [changes, parts] = checkItem(parent, true, \"root\");\n\n\t\t\t\tif (!hasUnchecked) {\n\t\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\t}\n\n\t\t\t\tObject.assign(partofs, hasUnchecked ? parts : {}, {\n\t\t\t\t\t[parent.key as string]: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (children?.length && direction !== \"root\") {\n\t\t\t\tchildren.map((o) => {\n\t\t\t\t\tif (isChecked(o.key)) return;\n\n\t\t\t\t\tconst [changes] = checkItem(o, true, \"leaf\");\n\n\t\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\t\tpartofs[o.key as string] = false;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn [shouldChanged, partofs];\n\t\t}\n\n\t\tif (parent && direction !== \"leaf\") {\n\t\t\tconst [changes, parts] = checkItem(parent, false, \"root\");\n\n\t\t\tObject.assign(shouldChanged, changes);\n\n\t\t\tconst hasChecked = parent.children?.some(\n\t\t\t\t(o) => isChecked(o.key) && o.key !== key\n\t\t\t);\n\n\t\t\tObject.assign(partofs, hasChecked ? {} : parts, {\n\t\t\t\t[parent.key as string]: hasChecked,\n\t\t\t\t[key]: false,\n\t\t\t});\n\t\t}\n\t\tif (children?.length && direction !== \"root\") {\n\t\t\tchildren.map((o) => {\n\t\t\t\tconst [changes] = checkItem(o, false, \"leaf\");\n\n\t\t\t\tif (!isChecked(o.key)) return;\n\n\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\tpartofs[o.key as string] = false;\n\t\t\t});\n\t\t}\n\n\t\treturn [shouldChanged, partofs];\n\t};\n\n\tconst handleCheck = (item: ITreeItem, checked: boolean) => {\n\t\tconst [shouldChanged, partofs] = checkItem(item, checked);\n\t\tconst changedKeys = Object.keys(shouldChanged);\n\n\t\tconst nextChecked = checked\n\t\t\t? Array.from(new Set([...checkedKeys, ...changedKeys]))\n\t\t\t: checkedKeys.filter((k) => !changedKeys.includes(k));\n\n\t\tsetCheckedKeys(nextChecked);\n\t\tsetPartofs((p) => ({ ...p, ...partofs }));\n\t\tonItemCheck?.(item, checked, nextChecked);\n\t};\n\n\tconst handleSelect = (key: string, item: ITreeItem) => {\n\t\tif (!props.selectable) return;\n\n\t\tsetSelectedKey(key);\n\t\tonItemSelect?.(key, item);\n\t};\n\n\tuseEffect(() => {\n\t\tif (selected === undefined) return;\n\n\t\tsetSelectedKey(selected);\n\t}, [selected]);\n\n\tuseEffect(() => {\n\t\tnodeMapsRef.current.clear();\n\n\t\tconst { key, children } = oNodeProps;\n\t\tconst recursive = (nodes) => {\n\t\t\tnodes.map((o) => {\n\t\t\t\tnodeMapsRef.current.set(o[key], o);\n\n\t\t\t\to[children]?.length > 0 && recursive(o[children]);\n\t\t\t});\n\t\t};\n\n\t\trecursive(data);\n\t}, [data]);\n\n\tuseImperativeHandle(ref, () => {\n\t\treturn {\n\t\t\tgetChecked: () => {\n\t\t\t\tconst items: ITreeItem[] = [];\n\t\t\t\tcheckedKeys.map((k) => {\n\t\t\t\t\tconst item = nodeMapsRef.current.get(k);\n\t\t\t\t\titems.push(item);\n\t\t\t\t});\n\t\t\t\treturn [checkedKeys, items];\n\t\t\t},\n\t\t\tgetSelected: () => {\n\t\t\t\tconst item = nodeMapsRef.current.get(selectedKey);\n\t\t\t\treturn [selectedKey, item];\n\t\t\t},\n\t\t\tgetPartofs: () => {\n\t\t\t\tconst items: ITreeItem[] = [];\n\t\t\t\tconst keys = Object.keys(partofs).filter((k) => {\n\t\t\t\t\tconst indeterminate = partofs[k];\n\n\t\t\t\t\tif (indeterminate) {\n\t\t\t\t\t\tconst item = nodeMapsRef.current.get(k);\n\t\t\t\t\t\titems.push(item);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn indeterminate;\n\t\t\t\t});\n\n\t\t\t\treturn [keys, items];\n\t\t\t},\n\t\t};\n\t});\n\n\treturn (\n\t\t<TreeList\n\t\t\tdata={data}\n\t\t\tselected={selectedKey}\n\t\t\tchecked={checkedKeys}\n\t\t\tpartofs={partofs}\n\t\t\tnodeProps={oNodeProps}\n\t\t\tonItemCheck={handleCheck}\n\t\t\tonItemSelect={handleSelect}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n\nexport default Tree;\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region packages/components/upload/index.tsx
2
+ var upload_default = require("./upload.js").default;
3
+ //#endregion
4
+ exports.default = upload_default;
5
+
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Upload"],"sources":["../../../../packages/components/upload/index.tsx"],"sourcesContent":["import Upload from \"./upload\";\n\nexport default Upload;\n"],"mappings":";AAEA,IAAA,wCAAeA"}
@@ -0,0 +1,99 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
2
+ const require_index = require("../icon/index.js");
3
+ const require_utils = require("../../js/utils.js");
4
+ const require_index$1 = require("../utils/helpericon/index.js");
5
+ const require_type = require("../../js/usePreview/type.js");
6
+ const require_index$2 = require("../image/index.js");
7
+ let _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs = require("/Users/iann/codes/ioca-react/node_modules/.pnpm/radash@12.1.1/node_modules/radash/dist/esm/index.mjs");
8
+ let _ricons_material = require("@ricons/material");
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ let react_easy_sort = require("react-easy-sort");
11
+ react_easy_sort = require_runtime.__toESM(react_easy_sort);
12
+ //#region packages/components/upload/renderFile.tsx
13
+ const ListContainer = (props) => {
14
+ const { sortable, onSortEnd, itemProps, ...restProps } = props;
15
+ const customProps = {
16
+ className: "i-upload-list",
17
+ onClick: (e) => {
18
+ e.stopPropagation();
19
+ e.preventDefault();
20
+ }
21
+ };
22
+ if (!sortable) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
23
+ ...customProps,
24
+ ...restProps
25
+ });
26
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_easy_sort.default, {
27
+ draggedItemClassName: "i-upload-item-dragged",
28
+ onSortEnd,
29
+ ...customProps,
30
+ ...restProps
31
+ });
32
+ };
33
+ const FileListItem = (props) => {
34
+ const { ref, mode, index, file, renderItem, onRemove, onPreview } = props;
35
+ if (!file) return "";
36
+ const { id, name, size, url, src } = file;
37
+ const type = require_utils.getFileType(name, file.type);
38
+ if (renderItem) return renderItem(file, index);
39
+ const CloseBtn = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, {
40
+ active: true,
41
+ className: "i-upload-delete",
42
+ onClick: (e) => {
43
+ e.stopPropagation();
44
+ e.preventDefault();
45
+ onRemove(index);
46
+ }
47
+ });
48
+ switch (mode) {
49
+ case "card":
50
+ let node = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {});
51
+ switch (type) {
52
+ case require_type.TFileType.IMAGE:
53
+ node = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.default, {
54
+ lazyload: true,
55
+ src: url || src,
56
+ fit: "cover",
57
+ onMouseDown: (e) => e.preventDefault()
58
+ });
59
+ break;
60
+ case require_type.TFileType.VIDEO:
61
+ node = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("video", {
62
+ src: url || src,
63
+ preload: "none"
64
+ });
65
+ break;
66
+ default:
67
+ node = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.ListAltRound, {}) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
68
+ className: "i-upload-file-name",
69
+ children: (0, _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs.title)(name)
70
+ })] });
71
+ break;
72
+ }
73
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
74
+ ref,
75
+ title: name,
76
+ className: "i-upload-item-card",
77
+ onClick: () => onPreview?.(index),
78
+ children: [node, CloseBtn]
79
+ });
80
+ default: return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
81
+ ref,
82
+ className: "i-upload-item",
83
+ onClick: () => onPreview?.(index),
84
+ children: [
85
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: name }),
86
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("i", {
87
+ className: "i-upload-size",
88
+ children: require_utils.formatBytes(size ?? 0)
89
+ }),
90
+ CloseBtn
91
+ ]
92
+ }, id);
93
+ }
94
+ };
95
+ //#endregion
96
+ exports.ListContainer = ListContainer;
97
+ exports.default = FileListItem;
98
+
99
+ //# sourceMappingURL=renderFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderFile.js","names":["SortableContainer","getFileType","Helpericon","TFileType","Image","Icon","ListAltRound","formatBytes"],"sources":["../../../../packages/components/upload/renderFile.tsx"],"sourcesContent":["import { ListAltRound } from \"@ricons/material\";\nimport { title } from \"radash\";\nimport { RefObject } from \"react\";\nimport SortableContainer from \"react-easy-sort\";\nimport { TFileType } from \"../../js/usePreview/type\";\nimport { formatBytes, getFileType } from \"../../js/utils\";\nimport Icon from \"../icon\";\nimport Image from \"../image\";\nimport Helpericon from \"../utils/helpericon\";\nimport { IUploadItem } from \"./type\";\n\nexport const ListContainer = (props) => {\n\tconst { sortable, onSortEnd, itemProps, ...restProps } = props;\n\tconst customProps = {\n\t\tclassName: \"i-upload-list\",\n\t\tonClick: (e) => {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t},\n\t};\n\n\tif (!sortable) {\n\t\treturn <div {...customProps} {...restProps} />;\n\t}\n\treturn (\n\t\t<SortableContainer\n\t\t\tdraggedItemClassName='i-upload-item-dragged'\n\t\t\tonSortEnd={onSortEnd}\n\t\t\t{...customProps}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n\nconst FileListItem = (\n\tprops: IUploadItem & { ref?: RefObject<HTMLDivElement | null> }\n) => {\n\tconst { ref, mode, index, file, renderItem, onRemove, onPreview } = props;\n\n\tif (!file) return \"\";\n\n\tconst { id, name, size, url, src } = file;\n\tconst type = getFileType(name, file.type);\n\n\tif (renderItem) {\n\t\treturn renderItem(file, index);\n\t}\n\n\tconst CloseBtn = (\n\t\t<Helpericon\n\t\t\tactive\n\t\t\tclassName='i-upload-delete'\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\t\t\t\tonRemove(index);\n\t\t\t}}\n\t\t/>\n\t);\n\n\tswitch (mode) {\n\t\tcase \"card\":\n\t\t\tlet node = <></>;\n\n\t\t\tswitch (type) {\n\t\t\t\tcase TFileType.IMAGE:\n\t\t\t\t\tnode = (\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\tlazyload\n\t\t\t\t\t\t\tsrc={url || src}\n\t\t\t\t\t\t\tfit='cover'\n\t\t\t\t\t\t\tonMouseDown={(e) => e.preventDefault()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase TFileType.VIDEO:\n\t\t\t\t\tnode = <video src={url || src} preload='none' />;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tnode = (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon icon={<ListAltRound />} />\n\t\t\t\t\t\t\t<span className='i-upload-file-name'>\n\t\t\t\t\t\t\t\t{title(name)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tref={ref}\n\t\t\t\t\ttitle={name}\n\t\t\t\t\tclassName='i-upload-item-card'\n\t\t\t\t\tonClick={() => onPreview?.(index)}\n\t\t\t\t>\n\t\t\t\t\t{node}\n\t\t\t\t\t{CloseBtn}\n\t\t\t\t</div>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tref={ref}\n\t\t\t\t\tkey={id}\n\t\t\t\t\tclassName='i-upload-item'\n\t\t\t\t\tonClick={() => onPreview?.(index)}\n\t\t\t\t>\n\t\t\t\t\t<span>{name}</span>\n\n\t\t\t\t\t<i className='i-upload-size'>{formatBytes(size ?? 0)}</i>\n\n\t\t\t\t\t{CloseBtn}\n\t\t\t\t</div>\n\t\t\t);\n\t}\n};\n\nexport default FileListItem;\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,iBAAiB,UAAU;CACvC,MAAM,EAAE,UAAU,WAAW,WAAW,GAAG,cAAc;CACzD,MAAM,cAAc;EACnB,WAAW;EACX,UAAU,MAAM;AACf,KAAE,iBAAiB;AACnB,KAAE,gBAAgB;;EAEnB;AAED,KAAI,CAAC,SACJ,QAAO,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,GAAI;EAAa,GAAI;EAAa,CAAA;AAE/C,QACC,iBAAA,GAAA,kBAAA,KAACA,gBAAAA,SAAD;EACC,sBAAqB;EACV;EACX,GAAI;EACJ,GAAI;EACH,CAAA;;AAIJ,MAAM,gBACL,UACI;CACJ,MAAM,EAAE,KAAK,MAAM,OAAO,MAAM,YAAY,UAAU,cAAc;AAEpE,KAAI,CAAC,KAAM,QAAO;CAElB,MAAM,EAAE,IAAI,MAAM,MAAM,KAAK,QAAQ;CACrC,MAAM,OAAOC,cAAAA,YAAY,MAAM,KAAK,KAAK;AAEzC,KAAI,WACH,QAAO,WAAW,MAAM,MAAM;CAG/B,MAAM,WACL,iBAAA,GAAA,kBAAA,KAACC,gBAAAA,SAAD;EACC,QAAA;EACA,WAAU;EACV,UAAU,MAAM;AACf,KAAE,iBAAiB;AACnB,KAAE,gBAAgB;AAClB,YAAS,MAAM;;EAEf,CAAA;AAGH,SAAQ,MAAR;EACC,KAAK;GACJ,IAAI,OAAO,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAK,CAAA;AAEhB,WAAQ,MAAR;IACC,KAAKC,aAAAA,UAAU;AACd,YACC,iBAAA,GAAA,kBAAA,KAACC,gBAAAA,SAAD;MACC,UAAA;MACA,KAAK,OAAO;MACZ,KAAI;MACJ,cAAc,MAAM,EAAE,gBAAgB;MACrC,CAAA;AAEH;IACD,KAAKD,aAAAA,UAAU;AACd,YAAO,iBAAA,GAAA,kBAAA,KAAC,SAAD;MAAO,KAAK,OAAO;MAAK,SAAQ;MAAS,CAAA;AAChD;IACD;AACC,YACC,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACC,iBAAA,GAAA,kBAAA,KAACE,cAAAA,SAAD,EAAM,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,cAAD,EAAgB,CAAA,EAAI,CAAA,EAChC,iBAAA,GAAA,kBAAA,KAAC,QAAD;MAAM,WAAU;gIACR,KAAK;MACN,CAAA,CACL,EAAA,CAAA;AAEJ;;AAGF,UACC,iBAAA,GAAA,kBAAA,MAAC,OAAD;IACM;IACL,OAAO;IACP,WAAU;IACV,eAAe,YAAY,MAAM;cAJlC,CAME,MACA,SACI;;EAER,QACC,QACC,iBAAA,GAAA,kBAAA,MAAC,OAAD;GACM;GAEL,WAAU;GACV,eAAe,YAAY,MAAM;aAJlC;IAMC,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAA,UAAO,MAAY,CAAA;IAEnB,iBAAA,GAAA,kBAAA,KAAC,KAAD;KAAG,WAAU;eAAiBC,cAAAA,YAAY,QAAQ,EAAE;KAAK,CAAA;IAExD;IACI;KATA,GASA"}
@@ -0,0 +1,165 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
2
+ const require_index = require("../button/index.js");
3
+ const require_index$1 = require("../icon/index.js");
4
+ const require_utils = require("../../js/utils.js");
5
+ const require_index$2 = require("../../js/usePreview/index.js");
6
+ const require_container = require("../input/container.js");
7
+ const require_renderFile = require("./renderFile.js");
8
+ let classnames = require("classnames");
9
+ classnames = require_runtime.__toESM(classnames);
10
+ let _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs = require("/Users/iann/codes/ioca-react/node_modules/.pnpm/radash@12.1.1/node_modules/radash/dist/esm/index.mjs");
11
+ let react = require("react");
12
+ let _ricons_material = require("@ricons/material");
13
+ let react_jsx_runtime = require("react/jsx-runtime");
14
+ let react_easy_sort = require("react-easy-sort");
15
+ //#region packages/components/upload/upload.tsx
16
+ const Upload = (props) => {
17
+ const { ref, label, labelInline, value, files = [], initialFiles, placeholder, status = "normal", message, className, style, children, defaultButtonProps, mode = "default", cardSize = "4em", disabled, sortable, limit = props.multiple ? Infinity : 1, multiple, renderItem, shouldUpload = () => true, uploader, onChange, onFilesChange, onUpload, ...restProps } = props;
18
+ const [fileList, setFileListState] = (0, react.useState)(files);
19
+ const [uploadMessage, setUploadMessage] = (0, react.useState)(message);
20
+ const inputRef = (0, react.useRef)(null);
21
+ const preview = require_index$2.default();
22
+ const defBtnProps = Object.assign({ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.DriveFolderUploadOutlined, {}) }), " 上传"] }) }, defaultButtonProps);
23
+ const trigger = (0, react.useMemo)(() => {
24
+ if (children) return children;
25
+ switch (mode) {
26
+ case "card": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
27
+ className: "i-upload-card-btn color-5",
28
+ square: true,
29
+ flat: true,
30
+ outline: true,
31
+ disabled,
32
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.PlusSharp, {}) })
33
+ });
34
+ default: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
35
+ ...defBtnProps,
36
+ className: (0, classnames.default)("i-upload-btn", defBtnProps.className),
37
+ disabled
38
+ });
39
+ }
40
+ }, [mode, children]);
41
+ const handleChange = (e) => {
42
+ const files = Array.from(e.target.files || []);
43
+ const before = fileList;
44
+ const changed = [];
45
+ files.map((f) => {
46
+ const { id, name, size, type } = f;
47
+ const same = before.find((pf) => {
48
+ const { name: n, size: s, type: t } = pf;
49
+ return n === name && s === size && t === type;
50
+ });
51
+ const src = URL.createObjectURL(f);
52
+ Object.assign(f, {
53
+ id: id ?? (0, _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs.uid)(7),
54
+ src: src ?? f.name,
55
+ url: src ?? f.name
56
+ });
57
+ !same && changed.push(f);
58
+ });
59
+ const after = [...before, ...changed];
60
+ const last = after.at(-1);
61
+ const nextFiles = multiple ? after.slice(0, limit) : last ? [last] : [];
62
+ setFileListState(nextFiles);
63
+ setUploadMessage(message);
64
+ onFilesChange?.(nextFiles, changed, e);
65
+ onChange?.(nextFiles, e);
66
+ handleUpload(changed);
67
+ inputRef.current && (inputRef.current.value = "");
68
+ };
69
+ const handleRemove = (i) => {
70
+ const [ ...files] = fileList;
71
+ const changed = files.splice(i, 1);
72
+ URL.revokeObjectURL(changed[0]?.src || "");
73
+ setFileListState(files);
74
+ onFilesChange?.(files, changed);
75
+ onChange?.(files);
76
+ inputRef.current && (inputRef.current.value = "");
77
+ };
78
+ const handleUpload = async (files) => {
79
+ if (!uploader) return;
80
+ const shouldUploadFiles = files.filter(shouldUpload);
81
+ const result = Promise.all(shouldUploadFiles.map(uploader));
82
+ return onUpload?.(result);
83
+ };
84
+ const handlePreview = (i) => {
85
+ preview({
86
+ items: fileList,
87
+ initial: i
88
+ });
89
+ };
90
+ const setFileList = (files) => {
91
+ if (!files) return;
92
+ setFileListState(files.map((f) => {
93
+ const file = f;
94
+ return {
95
+ ...file,
96
+ id: file.id ?? (0, _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs.uid)(7)
97
+ };
98
+ }));
99
+ };
100
+ const handleSortEnd = (before, after) => {
101
+ const [ ...files] = fileList;
102
+ const nextFiles = require_utils.arrayMove(files, before, after);
103
+ setFileListState(nextFiles);
104
+ onChange?.(nextFiles);
105
+ };
106
+ (0, react.useEffect)(() => {
107
+ setUploadMessage(message);
108
+ }, [status, message]);
109
+ (0, react.useEffect)(() => {
110
+ setFileListState(value?.filter?.((file) => !!file.id) ?? []);
111
+ }, [value]);
112
+ (0, react.useEffect)(() => {
113
+ setFileList(initialFiles);
114
+ }, []);
115
+ (0, react.useImperativeHandle)(ref, () => ({
116
+ getFileList: () => fileList,
117
+ setFileList
118
+ }), [fileList]);
119
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_container.default, {
120
+ as: "div",
121
+ label,
122
+ labelInline,
123
+ className: (0, classnames.default)("i-input-label-file", className),
124
+ style,
125
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
126
+ className: (0, classnames.default)("i-upload-inner", { [`i-upload-${mode}`]: mode !== "default" }),
127
+ style: { ["--upload-card-size"]: cardSize },
128
+ children: [
129
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_renderFile.ListContainer, {
130
+ sortable,
131
+ onSortEnd: handleSortEnd,
132
+ children: fileList.map((file, i) => {
133
+ const node = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_renderFile.default, {
134
+ index: i,
135
+ file,
136
+ mode,
137
+ renderItem,
138
+ onRemove: handleRemove,
139
+ onPreview: handlePreview
140
+ }, i);
141
+ if (!sortable) return node;
142
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_easy_sort.SortableItem, { children: node }, i);
143
+ })
144
+ }),
145
+ uploadMessage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
146
+ className: "i-upload-message",
147
+ children: uploadMessage
148
+ }),
149
+ fileList.length < limit && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
150
+ ...restProps,
151
+ disabled,
152
+ ref: inputRef,
153
+ type: "file",
154
+ className: "i-input-file-hidden",
155
+ multiple,
156
+ onChange: handleChange
157
+ }), trigger] })
158
+ ]
159
+ })
160
+ });
161
+ };
162
+ //#endregion
163
+ exports.default = Upload;
164
+
165
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","names":[],"sources":["../../../../packages/components/upload/upload.tsx"],"sourcesContent":["import { DriveFolderUploadOutlined, PlusSharp } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport {\n\tChangeEvent,\n\tCSSProperties,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\";\nimport { SortableItem } from \"react-easy-sort\";\nimport usePreview from \"../../js/usePreview\";\nimport { TPreviewItem } from \"../../js/usePreview/type\";\nimport { arrayMove } from \"../../js/utils\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\nimport InputContainer from \"../input/container\";\nimport \"./index.css\";\nimport FileListItem, { ListContainer } from \"./renderFile\";\nimport { IFile, IUpload } from \"./type\";\n\nconst Upload = (props: IUpload) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tlabelInline,\n\t\tvalue,\n\t\tfiles = [],\n\t\tinitialFiles,\n\t\tplaceholder,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\tclassName,\n\t\tstyle,\n\t\tchildren,\n\t\tdefaultButtonProps,\n\t\tmode = \"default\",\n\t\tcardSize = \"4em\",\n\t\tdisabled,\n\t\tsortable,\n\t\tlimit = props.multiple ? Infinity : 1,\n\t\tmultiple,\n\t\trenderItem,\n\t\tshouldUpload = () => true,\n\t\tuploader,\n\t\tonChange,\n\t\tonFilesChange,\n\t\tonUpload,\n\t\t...restProps\n\t} = props;\n\n\tconst [fileList, setFileListState] = useState(files);\n\tconst [uploadMessage, setUploadMessage] = useState(message);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst preview = usePreview();\n\tconst defBtnProps = Object.assign(\n\t\t{\n\t\t\tchildren: (\n\t\t\t\t<>\n\t\t\t\t\t<Icon icon={<DriveFolderUploadOutlined />} /> 上传\n\t\t\t\t</>\n\t\t\t),\n\t\t},\n\t\tdefaultButtonProps,\n\t);\n\n\tconst trigger = useMemo(() => {\n\t\tif (children) return children;\n\n\t\tswitch (mode) {\n\t\t\tcase \"card\":\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName='i-upload-card-btn color-5'\n\t\t\t\t\t\tsquare\n\t\t\t\t\t\tflat\n\t\t\t\t\t\toutline\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={<PlusSharp />} />\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...defBtnProps}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\"i-upload-btn\",\n\t\t\t\t\t\t\tdefBtnProps.className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t}\n\t}, [mode, children]);\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst files = Array.from(e.target.files || []) as IFile[];\n\t\tconst before = fileList;\n\t\tconst changed: IFile[] = [];\n\n\t\tfiles.map((f) => {\n\t\t\tconst { id, name, size, type } = f;\n\t\t\tconst same = before.find((pf) => {\n\t\t\t\tconst { name: n, size: s, type: t } = pf;\n\t\t\t\treturn n === name && s === size && t === type;\n\t\t\t});\n\t\t\tconst src = URL.createObjectURL(f);\n\n\t\t\tObject.assign(f, {\n\t\t\t\tid: id ?? uid(7),\n\t\t\t\tsrc: src ?? f.name,\n\t\t\t\turl: src ?? f.name,\n\t\t\t});\n\t\t\t!same && changed.push(f);\n\t\t});\n\n\t\tconst after = [...before, ...changed];\n\t\tconst last = after.at(-1);\n\t\tconst nextFiles = multiple ? after.slice(0, limit) : last ? [last] : [];\n\n\t\tsetFileListState(nextFiles);\n\t\tsetUploadMessage(message);\n\n\t\tonFilesChange?.(nextFiles, changed, e);\n\t\tonChange?.(nextFiles, e);\n\n\t\thandleUpload(changed);\n\t\tinputRef.current && (inputRef.current.value = \"\");\n\t};\n\n\tconst handleRemove = (i: number) => {\n\t\tconst [...files] = fileList;\n\n\t\tconst changed = files.splice(i, 1);\n\t\tURL.revokeObjectURL(changed[0]?.src || \"\");\n\n\t\tsetFileListState(files);\n\t\tonFilesChange?.(files, changed);\n\t\tonChange?.(files);\n\n\t\tinputRef.current && (inputRef.current.value = \"\");\n\t};\n\n\tconst handleUpload = async (files: IFile[]) => {\n\t\tif (!uploader) return;\n\n\t\tconst shouldUploadFiles = files.filter(shouldUpload);\n\n\t\tconst result = Promise.all(shouldUploadFiles.map(uploader));\n\n\t\treturn onUpload?.(result);\n\t};\n\n\tconst handlePreview = (i: number) => {\n\t\tpreview({ items: fileList as TPreviewItem[], initial: i });\n\t};\n\n\tconst setFileList = (files?: IFile[] | File[]) => {\n\t\tif (!files) return;\n\n\t\tsetFileListState(\n\t\t\tfiles.map((f: IFile | File) => {\n\t\t\t\tconst file = f as IFile;\n\t\t\t\treturn { ...file, id: file.id ?? uid(7) };\n\t\t\t}),\n\t\t);\n\t};\n\n\tconst handleSortEnd = (before: number, after: number) => {\n\t\tconst [...files] = fileList;\n\n\t\tconst nextFiles = arrayMove(files, before, after);\n\t\tsetFileListState(nextFiles);\n\t\tonChange?.(nextFiles);\n\t};\n\n\tuseEffect(() => {\n\t\tsetUploadMessage(message);\n\t}, [status, message]);\n\n\tuseEffect(() => {\n\t\tsetFileListState(value?.filter?.((file: IFile) => !!file.id) ?? []);\n\t}, [value]);\n\n\tuseEffect(() => {\n\t\tsetFileList(initialFiles);\n\t}, []);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\tgetFileList: () => fileList,\n\n\t\t\tsetFileList,\n\t\t}),\n\t\t[fileList],\n\t);\n\n\treturn (\n\t\t<InputContainer\n\t\t\tas='div'\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={classNames(\"i-input-label-file\", className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-upload-inner\", {\n\t\t\t\t\t[`i-upload-${mode}`]: mode !== \"default\",\n\t\t\t\t})}\n\t\t\t\tstyle={{ [\"--upload-card-size\"]: cardSize } as CSSProperties}\n\t\t\t>\n\t\t\t\t<ListContainer sortable={sortable} onSortEnd={handleSortEnd}>\n\t\t\t\t\t{fileList.map((file: IFile, i: number) => {\n\t\t\t\t\t\tconst node = (\n\t\t\t\t\t\t\t<FileListItem\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\t\t\tmode={mode}\n\t\t\t\t\t\t\t\trenderItem={renderItem}\n\t\t\t\t\t\t\t\tonRemove={handleRemove}\n\t\t\t\t\t\t\t\tonPreview={handlePreview}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (!sortable) return node;\n\n\t\t\t\t\t\treturn <SortableItem key={i}>{node}</SortableItem>;\n\t\t\t\t\t})}\n\t\t\t\t</ListContainer>\n\n\t\t\t\t{uploadMessage && (\n\t\t\t\t\t<span className='i-upload-message'>{uploadMessage}</span>\n\t\t\t\t)}\n\n\t\t\t\t{fileList.length < limit && (\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t\ttype='file'\n\t\t\t\t\t\t\tclassName='i-input-file-hidden'\n\t\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{trigger}\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Upload;\n"],"mappings":""}
@@ -0,0 +1,17 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.js");
2
+ let classnames = require("classnames");
3
+ classnames = require_runtime.__toESM(classnames);
4
+ let _ricons_material = require("@ricons/material");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
6
+ //#region packages/components/utils/empty/index.tsx
7
+ function Empty(props) {
8
+ const { className, ...restProps } = props;
9
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.InboxTwotone, {
10
+ className: (0, classnames.default)("i-empty", className),
11
+ ...restProps
12
+ });
13
+ }
14
+ //#endregion
15
+ exports.default = Empty;
16
+
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../packages/components/utils/empty/index.tsx"],"sourcesContent":["import { InboxTwotone } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\n\nexport default function Empty(props) {\n\tconst { className, ...restProps } = props;\n\n\treturn (\n\t\t<InboxTwotone\n\t\t\tclassName={classNames(\"i-empty\", className)}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n}\n"],"mappings":""}
@@ -0,0 +1,24 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.js");
2
+ const require_index = require("../../icon/index.js");
3
+ let classnames = require("classnames");
4
+ classnames = require_runtime.__toESM(classnames);
5
+ let _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs = require("/Users/iann/codes/ioca-react/node_modules/.pnpm/radash@12.1.1/node_modules/radash/dist/esm/index.mjs");
6
+ let react = require("react");
7
+ let _ricons_material = require("@ricons/material");
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ //#region packages/components/utils/helpericon/helpericon.tsx
10
+ const Helpericon = (props) => {
11
+ const { as = "a", active, className, icon = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.CloseRound, {}), ...restProps } = props;
12
+ if (!active) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {});
13
+ return (0, react.createElement)(as, {
14
+ className: (0, classnames.default)("i-helpericon", className),
15
+ ...restProps
16
+ }, [(0, react.createElement)(require_index.default, {
17
+ key: (0, _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs.uid)(3),
18
+ icon
19
+ })]);
20
+ };
21
+ //#endregion
22
+ exports.default = Helpericon;
23
+
24
+ //# sourceMappingURL=helpericon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpericon.js","names":[],"sources":["../../../../../packages/components/utils/helpericon/helpericon.tsx"],"sourcesContent":["import { CloseRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport { createElement } from \"react\";\nimport Icon from \"../../icon\";\nimport \"./index.css\";\nimport { IHelperIcon } from \"./type\";\n\nconst Helpericon = (props: IHelperIcon) => {\n\tconst {\n\t\tas = \"a\",\n\t\tactive,\n\t\tclassName,\n\t\ticon = <CloseRound />,\n\t\t...restProps\n\t} = props;\n\n\tif (!active) return <></>;\n\n\treturn createElement(\n\t\tas,\n\t\t{\n\t\t\tclassName: classNames(\"i-helpericon\", className),\n\t\t\t...restProps,\n\t\t},\n\t\t[\n\t\t\tcreateElement(Icon, {\n\t\t\t\tkey: uid(3),\n\t\t\t\ticon,\n\t\t\t}),\n\t\t]\n\t);\n};\n\nexport default Helpericon;\n"],"mappings":""}