@ioca/react 1.4.78 → 1.4.79

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 (425) hide show
  1. package/lib/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  2. package/lib/cjs/components/affix/affix.cjs +66 -0
  3. package/lib/cjs/components/affix/affix.cjs.map +1 -0
  4. package/lib/cjs/components/affix/index.cjs +6 -0
  5. package/lib/cjs/components/affix/index.cjs.map +1 -0
  6. package/lib/cjs/components/affix/totop.cjs +25 -0
  7. package/lib/cjs/components/affix/totop.cjs.map +1 -0
  8. package/lib/cjs/components/badge/badge.cjs +24 -0
  9. package/lib/cjs/components/badge/badge.cjs.map +1 -0
  10. package/lib/cjs/components/badge/index.cjs +6 -0
  11. package/lib/cjs/components/badge/index.cjs.map +1 -0
  12. package/lib/cjs/components/button/button.cjs +64 -0
  13. package/lib/cjs/components/button/button.cjs.map +1 -0
  14. package/lib/cjs/components/button/confirm.cjs +60 -0
  15. package/lib/cjs/components/button/confirm.cjs.map +1 -0
  16. package/lib/cjs/components/button/group.cjs +26 -0
  17. package/lib/cjs/components/button/group.cjs.map +1 -0
  18. package/lib/cjs/components/button/index.cjs +6 -0
  19. package/lib/cjs/components/button/index.cjs.map +1 -0
  20. package/lib/cjs/components/button/toggle.cjs +46 -0
  21. package/lib/cjs/components/button/toggle.cjs.map +1 -0
  22. package/lib/cjs/components/card/card.cjs +33 -0
  23. package/lib/cjs/components/card/card.cjs.map +1 -0
  24. package/lib/cjs/components/card/index.cjs +6 -0
  25. package/lib/cjs/components/card/index.cjs.map +1 -0
  26. package/lib/cjs/components/checkbox/checkbox.cjs +66 -0
  27. package/lib/cjs/components/checkbox/checkbox.cjs.map +1 -0
  28. package/lib/cjs/components/checkbox/index.cjs +6 -0
  29. package/lib/cjs/components/checkbox/index.cjs.map +1 -0
  30. package/lib/cjs/components/checkbox/item.cjs +59 -0
  31. package/lib/cjs/components/checkbox/item.cjs.map +1 -0
  32. package/lib/cjs/components/collapse/collapse.cjs +84 -0
  33. package/lib/cjs/components/collapse/collapse.cjs.map +1 -0
  34. package/lib/cjs/components/collapse/index.cjs +6 -0
  35. package/lib/cjs/components/collapse/index.cjs.map +1 -0
  36. package/lib/cjs/components/collapse/item.cjs +10 -0
  37. package/lib/cjs/components/collapse/item.cjs.map +1 -0
  38. package/lib/cjs/components/datagrid/cell.cjs +39 -0
  39. package/lib/cjs/components/datagrid/cell.cjs.map +1 -0
  40. package/lib/cjs/components/datagrid/datagrid.cjs +140 -0
  41. package/lib/cjs/components/datagrid/datagrid.cjs.map +1 -0
  42. package/lib/cjs/components/datagrid/index.cjs +6 -0
  43. package/lib/cjs/components/datagrid/index.cjs.map +1 -0
  44. package/lib/cjs/components/datagrid/resize.cjs +42 -0
  45. package/lib/cjs/components/datagrid/resize.cjs.map +1 -0
  46. package/lib/cjs/components/datagrid/row.cjs +68 -0
  47. package/lib/cjs/components/datagrid/row.cjs.map +1 -0
  48. package/lib/cjs/components/datagrid/sorter.cjs +28 -0
  49. package/lib/cjs/components/datagrid/sorter.cjs.map +1 -0
  50. package/lib/cjs/components/description/description.cjs +43 -0
  51. package/lib/cjs/components/description/description.cjs.map +1 -0
  52. package/lib/cjs/components/description/index.cjs +6 -0
  53. package/lib/cjs/components/description/index.cjs.map +1 -0
  54. package/lib/cjs/components/drawer/drawer.cjs +84 -0
  55. package/lib/cjs/components/drawer/drawer.cjs.map +1 -0
  56. package/lib/cjs/components/drawer/index.cjs +6 -0
  57. package/lib/cjs/components/drawer/index.cjs.map +1 -0
  58. package/lib/cjs/components/dropdown/dropdown.cjs +38 -0
  59. package/lib/cjs/components/dropdown/dropdown.cjs.map +1 -0
  60. package/lib/cjs/components/dropdown/index.cjs +6 -0
  61. package/lib/cjs/components/dropdown/index.cjs.map +1 -0
  62. package/lib/cjs/components/dropdown/item.cjs +36 -0
  63. package/lib/cjs/components/dropdown/item.cjs.map +1 -0
  64. package/lib/cjs/components/editor/controls.cjs +89 -0
  65. package/lib/cjs/components/editor/controls.cjs.map +1 -0
  66. package/lib/cjs/components/editor/editor.cjs +91 -0
  67. package/lib/cjs/components/editor/editor.cjs.map +1 -0
  68. package/lib/cjs/components/editor/index.cjs +6 -0
  69. package/lib/cjs/components/editor/index.cjs.map +1 -0
  70. package/lib/cjs/components/flex/flex.cjs +31 -0
  71. package/lib/cjs/components/flex/flex.cjs.map +1 -0
  72. package/lib/cjs/components/flex/index.cjs +6 -0
  73. package/lib/cjs/components/flex/index.cjs.map +1 -0
  74. package/lib/cjs/components/form/context.cjs +7 -0
  75. package/lib/cjs/components/form/context.cjs.map +1 -0
  76. package/lib/cjs/components/form/field.cjs +71 -0
  77. package/lib/cjs/components/form/field.cjs.map +1 -0
  78. package/lib/cjs/components/form/form.cjs +64 -0
  79. package/lib/cjs/components/form/form.cjs.map +1 -0
  80. package/lib/cjs/components/form/index.cjs +6 -0
  81. package/lib/cjs/components/form/index.cjs.map +1 -0
  82. package/lib/cjs/components/form/useConfig.cjs +45 -0
  83. package/lib/cjs/components/form/useConfig.cjs.map +1 -0
  84. package/lib/cjs/components/form/useForm.cjs +123 -0
  85. package/lib/cjs/components/form/useForm.cjs.map +1 -0
  86. package/lib/cjs/components/icon/icon.cjs +24 -0
  87. package/lib/cjs/components/icon/icon.cjs.map +1 -0
  88. package/lib/cjs/components/icon/index.cjs +6 -0
  89. package/lib/cjs/components/icon/index.cjs.map +1 -0
  90. package/lib/cjs/components/image/image.cjs +86 -0
  91. package/lib/cjs/components/image/image.cjs.map +1 -0
  92. package/lib/cjs/components/image/index.cjs +6 -0
  93. package/lib/cjs/components/image/index.cjs.map +1 -0
  94. package/lib/cjs/components/image/list.cjs +49 -0
  95. package/lib/cjs/components/image/list.cjs.map +1 -0
  96. package/lib/cjs/components/input/container.cjs +30 -0
  97. package/lib/cjs/components/input/container.cjs.map +1 -0
  98. package/lib/cjs/components/input/index.cjs +6 -0
  99. package/lib/cjs/components/input/index.cjs.map +1 -0
  100. package/lib/cjs/components/input/input.cjs +113 -0
  101. package/lib/cjs/components/input/input.cjs.map +1 -0
  102. package/lib/cjs/components/input/number.cjs +138 -0
  103. package/lib/cjs/components/input/number.cjs.map +1 -0
  104. package/lib/cjs/components/input/range.cjs +134 -0
  105. package/lib/cjs/components/input/range.cjs.map +1 -0
  106. package/lib/cjs/components/input/textarea.cjs +61 -0
  107. package/lib/cjs/components/input/textarea.cjs.map +1 -0
  108. package/lib/cjs/components/list/index.cjs +6 -0
  109. package/lib/cjs/components/list/index.cjs.map +1 -0
  110. package/lib/cjs/components/list/item.cjs +30 -0
  111. package/lib/cjs/components/list/item.cjs.map +1 -0
  112. package/lib/cjs/components/list/list.cjs +30 -0
  113. package/lib/cjs/components/list/list.cjs.map +1 -0
  114. package/lib/cjs/components/loading/index.cjs +6 -0
  115. package/lib/cjs/components/loading/index.cjs.map +1 -0
  116. package/lib/cjs/components/loading/loading.cjs +39 -0
  117. package/lib/cjs/components/loading/loading.cjs.map +1 -0
  118. package/lib/cjs/components/message/index.cjs +6 -0
  119. package/lib/cjs/components/message/index.cjs.map +1 -0
  120. package/lib/cjs/components/message/message.cjs +197 -0
  121. package/lib/cjs/components/message/message.cjs.map +1 -0
  122. package/lib/cjs/components/modal/content.cjs +57 -0
  123. package/lib/cjs/components/modal/content.cjs.map +1 -0
  124. package/lib/cjs/components/modal/context.cjs +7 -0
  125. package/lib/cjs/components/modal/context.cjs.map +1 -0
  126. package/lib/cjs/components/modal/hookModal.cjs +28 -0
  127. package/lib/cjs/components/modal/hookModal.cjs.map +1 -0
  128. package/lib/cjs/components/modal/index.cjs +6 -0
  129. package/lib/cjs/components/modal/index.cjs.map +1 -0
  130. package/lib/cjs/components/modal/modal.cjs +117 -0
  131. package/lib/cjs/components/modal/modal.cjs.map +1 -0
  132. package/lib/cjs/components/modal/useModal.cjs +39 -0
  133. package/lib/cjs/components/modal/useModal.cjs.map +1 -0
  134. package/lib/cjs/components/pagination/index.cjs +6 -0
  135. package/lib/cjs/components/pagination/index.cjs.map +1 -0
  136. package/lib/cjs/components/pagination/page.cjs +31 -0
  137. package/lib/cjs/components/pagination/page.cjs.map +1 -0
  138. package/lib/cjs/components/pagination/pagination.cjs +86 -0
  139. package/lib/cjs/components/pagination/pagination.cjs.map +1 -0
  140. package/lib/cjs/components/picker/colors/footer.cjs +64 -0
  141. package/lib/cjs/components/picker/colors/footer.cjs.map +1 -0
  142. package/lib/cjs/components/picker/colors/handle.cjs +25 -0
  143. package/lib/cjs/components/picker/colors/handle.cjs.map +1 -0
  144. package/lib/cjs/components/picker/colors/index.cjs +81 -0
  145. package/lib/cjs/components/picker/colors/index.cjs.map +1 -0
  146. package/lib/cjs/components/picker/dates/dates.cjs +68 -0
  147. package/lib/cjs/components/picker/dates/dates.cjs.map +1 -0
  148. package/lib/cjs/components/picker/dates/index.cjs +97 -0
  149. package/lib/cjs/components/picker/dates/index.cjs.map +1 -0
  150. package/lib/cjs/components/picker/dates/panel.cjs +151 -0
  151. package/lib/cjs/components/picker/dates/panel.cjs.map +1 -0
  152. package/lib/cjs/components/picker/time/index.cjs +73 -0
  153. package/lib/cjs/components/picker/time/index.cjs.map +1 -0
  154. package/lib/cjs/components/picker/time/item.cjs +20 -0
  155. package/lib/cjs/components/picker/time/item.cjs.map +1 -0
  156. package/lib/cjs/components/picker/time/panel.cjs +144 -0
  157. package/lib/cjs/components/picker/time/panel.cjs.map +1 -0
  158. package/lib/cjs/components/popconfirm/index.cjs +6 -0
  159. package/lib/cjs/components/popconfirm/index.cjs.map +1 -0
  160. package/lib/cjs/components/popconfirm/popconfirm.cjs +86 -0
  161. package/lib/cjs/components/popconfirm/popconfirm.cjs.map +1 -0
  162. package/lib/cjs/components/popup/content.cjs +56 -0
  163. package/lib/cjs/components/popup/content.cjs.map +1 -0
  164. package/lib/cjs/components/popup/index.cjs +6 -0
  165. package/lib/cjs/components/popup/index.cjs.map +1 -0
  166. package/lib/cjs/components/popup/popup.cjs +425 -0
  167. package/lib/cjs/components/popup/popup.cjs.map +1 -0
  168. package/lib/cjs/components/progress/circle.cjs +45 -0
  169. package/lib/cjs/components/progress/circle.cjs.map +1 -0
  170. package/lib/cjs/components/progress/index.cjs +6 -0
  171. package/lib/cjs/components/progress/index.cjs.map +1 -0
  172. package/lib/cjs/components/progress/line.cjs +27 -0
  173. package/lib/cjs/components/progress/line.cjs.map +1 -0
  174. package/lib/cjs/components/progress/progress.cjs +100 -0
  175. package/lib/cjs/components/progress/progress.cjs.map +1 -0
  176. package/lib/cjs/components/radio/index.cjs +6 -0
  177. package/lib/cjs/components/radio/index.cjs.map +1 -0
  178. package/lib/cjs/components/radio/item.cjs +34 -0
  179. package/lib/cjs/components/radio/item.cjs.map +1 -0
  180. package/lib/cjs/components/radio/radio.cjs +62 -0
  181. package/lib/cjs/components/radio/radio.cjs.map +1 -0
  182. package/lib/cjs/components/resizable/index.cjs +6 -0
  183. package/lib/cjs/components/resizable/index.cjs.map +1 -0
  184. package/lib/cjs/components/resizable/resizable.cjs +81 -0
  185. package/lib/cjs/components/resizable/resizable.cjs.map +1 -0
  186. package/lib/cjs/components/river/index.cjs +6 -0
  187. package/lib/cjs/components/river/index.cjs.map +1 -0
  188. package/lib/cjs/components/river/river.cjs +116 -0
  189. package/lib/cjs/components/river/river.cjs.map +1 -0
  190. package/lib/cjs/components/select/index.cjs +6 -0
  191. package/lib/cjs/components/select/index.cjs.map +1 -0
  192. package/lib/cjs/components/select/options.cjs +76 -0
  193. package/lib/cjs/components/select/options.cjs.map +1 -0
  194. package/lib/cjs/components/select/select.cjs +155 -0
  195. package/lib/cjs/components/select/select.cjs.map +1 -0
  196. package/lib/cjs/components/step/divider.cjs +10 -0
  197. package/lib/cjs/components/step/divider.cjs.map +1 -0
  198. package/lib/cjs/components/step/index.cjs +6 -0
  199. package/lib/cjs/components/step/index.cjs.map +1 -0
  200. package/lib/cjs/components/step/item.cjs +60 -0
  201. package/lib/cjs/components/step/item.cjs.map +1 -0
  202. package/lib/cjs/components/step/step.cjs +42 -0
  203. package/lib/cjs/components/step/step.cjs.map +1 -0
  204. package/lib/cjs/components/swiper/index.cjs +6 -0
  205. package/lib/cjs/components/swiper/index.cjs.map +1 -0
  206. package/lib/cjs/components/swiper/item.cjs +39 -0
  207. package/lib/cjs/components/swiper/item.cjs.map +1 -0
  208. package/lib/cjs/components/swiper/swiper.cjs +262 -0
  209. package/lib/cjs/components/swiper/swiper.cjs.map +1 -0
  210. package/lib/cjs/components/tabs/index.cjs +6 -0
  211. package/lib/cjs/components/tabs/index.cjs.map +1 -0
  212. package/lib/cjs/components/tabs/item.cjs +10 -0
  213. package/lib/cjs/components/tabs/item.cjs.map +1 -0
  214. package/lib/cjs/components/tabs/tabs.cjs +272 -0
  215. package/lib/cjs/components/tabs/tabs.cjs.map +1 -0
  216. package/lib/cjs/components/tag/index.cjs +6 -0
  217. package/lib/cjs/components/tag/index.cjs.map +1 -0
  218. package/lib/cjs/components/tag/tag.cjs +32 -0
  219. package/lib/cjs/components/tag/tag.cjs.map +1 -0
  220. package/lib/cjs/components/text/highlight.cjs +35 -0
  221. package/lib/cjs/components/text/highlight.cjs.map +1 -0
  222. package/lib/cjs/components/text/index.cjs +6 -0
  223. package/lib/cjs/components/text/index.cjs.map +1 -0
  224. package/lib/cjs/components/text/number.cjs +32 -0
  225. package/lib/cjs/components/text/number.cjs.map +1 -0
  226. package/lib/cjs/components/text/text.cjs +39 -0
  227. package/lib/cjs/components/text/text.cjs.map +1 -0
  228. package/lib/cjs/components/text/time.cjs +24 -0
  229. package/lib/cjs/components/text/time.cjs.map +1 -0
  230. package/lib/cjs/components/tree/index.cjs +6 -0
  231. package/lib/cjs/components/tree/index.cjs.map +1 -0
  232. package/lib/cjs/components/tree/item.cjs +136 -0
  233. package/lib/cjs/components/tree/item.cjs.map +1 -0
  234. package/lib/cjs/components/tree/tree.cjs +127 -0
  235. package/lib/cjs/components/tree/tree.cjs.map +1 -0
  236. package/lib/cjs/components/upload/index.cjs +6 -0
  237. package/lib/cjs/components/upload/index.cjs.map +1 -0
  238. package/lib/cjs/components/upload/renderFile.cjs +99 -0
  239. package/lib/cjs/components/upload/renderFile.cjs.map +1 -0
  240. package/lib/cjs/components/upload/upload.cjs +165 -0
  241. package/lib/cjs/components/upload/upload.cjs.map +1 -0
  242. package/lib/cjs/components/utils/empty/index.cjs +17 -0
  243. package/lib/cjs/components/utils/empty/index.cjs.map +1 -0
  244. package/lib/cjs/components/utils/helpericon/helpericon.cjs +24 -0
  245. package/lib/cjs/components/utils/helpericon/helpericon.cjs.map +1 -0
  246. package/lib/cjs/components/utils/helpericon/index.cjs +6 -0
  247. package/lib/cjs/components/utils/helpericon/index.cjs.map +1 -0
  248. package/lib/cjs/components/video/index.cjs +6 -0
  249. package/lib/cjs/components/video/index.cjs.map +1 -0
  250. package/lib/cjs/components/video/video.cjs +237 -0
  251. package/lib/cjs/components/video/video.cjs.map +1 -0
  252. package/lib/cjs/index.cjs +83 -0
  253. package/lib/cjs/js/hooks.cjs +259 -0
  254. package/lib/cjs/js/hooks.cjs.map +1 -0
  255. package/lib/cjs/js/usePreview/content.cjs +197 -0
  256. package/lib/cjs/js/usePreview/content.cjs.map +1 -0
  257. package/lib/cjs/js/usePreview/index.cjs +39 -0
  258. package/lib/cjs/js/usePreview/index.cjs.map +1 -0
  259. package/lib/cjs/js/usePreview/renderFile.cjs +28 -0
  260. package/lib/cjs/js/usePreview/renderFile.cjs.map +1 -0
  261. package/lib/cjs/js/usePreview/type.cjs +15 -0
  262. package/lib/cjs/js/usePreview/type.cjs.map +1 -0
  263. package/lib/cjs/js/useRipple/index.cjs +45 -0
  264. package/lib/cjs/js/useRipple/index.cjs.map +1 -0
  265. package/lib/cjs/js/useTheme/index.cjs +30 -0
  266. package/lib/cjs/js/useTheme/index.cjs.map +1 -0
  267. package/lib/cjs/js/utils.cjs +284 -0
  268. package/lib/cjs/js/utils.cjs.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 +6 -3
@@ -0,0 +1,136 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_index = require("../icon/index.cjs");
3
+ const require_index$1 = require("../checkbox/index.cjs");
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.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.cjs","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":"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"}
@@ -0,0 +1,127 @@
1
+ require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_item = require("./item.cjs");
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.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.cjs","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":";;;;;;CAKA,KAAM;CACL,OAAM;CACN,UAAQ;CACR;;CAGD,MAAM,EACL,OAAM,EAAA,EACL,KACA,UACA,UAAQ,EAAA,EACR,iBACA,WACA,cACA,aACA,GAAA,cACG;CACJ,MAAI,CAAA,aAAK,mBAAA,GAAA,MAAA,UAAA,SAAA;CACT,MAAM,CAAC,aAAa,mBAAA,GAAA,MAAA,UAA2B,QAAQ;CACvD,MAAM,CAAC,SAAA,eAAA,GAAA,MAAA,UAAgD,EAAA,CAAA;CACvD,MAAM,eAAA,GAAA,MAAA,wBAAiC,IAAO,KAAA,CAAM;CACpD,MAAM,aAAa,OAAO,OAAK,EAAI,EAAC,kBAAgB,UAAA;;oBAKpD,MACC,SACA,cACA;EACA,MAAI,EAAA,MAAA,IAAA,QAAA,aAAA;EACJ,MAAM,gBAAY,GAAO,MAAC,SAAa;EACvC,MAAM,UAAA,GAAa,MAAM,OAAM;;;AAK/B,OAAI,UAAS,cAAA,QAAA;IACZ,MAAI,eAAU,OAAe,UAAO,MACnC,MAAM,EAAA,QAAY,OAAG,CAAA,UAAe,EAAE,IAAI,CACzC;;sBAKD,QAAK,OAAA,eAAc,QAAA;yDAInB,OAAO,MAAgB,MACtB,CAAC;;gDAIH,UAAI,KAAU,MAAO;AACpB,QAAA,UAAe,EAAE,IAAG,CAAA;;;AAKnB,YAAO,EAAA,OAAoB;KAC3B;;;;GAOH,MAAI,CAAA,SAAU,SAAY,UAAU,QAAA,OAAA,OAAA;;6CAKnC,MAAM,UAAY,EAAC,IAAA,IAAO,EAAA,QAAU,IACnC;;KAGD,OAAO,MAAgB;KACrB,MAAM;IACP,CAAC;;AAEH,MAAA,UAAA,UAAA,cAAA,OACA,UAAI,KAAU,MAAO;GACpB,MAAA,CAAQ,WAAW,UAAC,GAAA,OAAA,OAAA;;;AAKnB,WAAO,EAAA,OAAoB;IAC3B;;;;EAOH,MAAM,CAAA,eAAe,WAAM,UAAW,MAAS,QAAW;EACzD,MAAM,cAAc,OAAE,KAAU,cAAW;gCAG3C,MAAM,KAAA,IAAY,IAAE,CAAA,GAAA,aAAA,GAAA,YAAA,CAAA,CAAA,GACjB,YAAW,QAAS,MAAG,CAAA,YAAgB,SAAA,EAAW,CAAC;;AAGtD,cAAA,OAAe;GAAA,GAAA;GAAY,GAAA;GAAA,EAAA;AAC3B,gBAAc,MAAM,SAAS,YAAY;;;AAI1C,MAAK,CAAC,MAAA,WAAgB;;AAGrB,iBAAe,KAAI,KAAA;;;AAIpB,MAAA,aAAgB,KAAA,EAAA;;IAGf,CAAA,SAAA,CAAA;;AAGD,cAAa,QAAG,OAAA;;EAGf,MAAM,aAAO,UAAa;AAC1B,SAAM,KAAA,MAAY;AACjB,gBAAa,QAAI,IAAA,EAAA,MAAA,EAAA;;KAGf;;;IAIH,CAAA,KAAA,CAAS;;AAGV,SAAA;GACC,kBAAO;IACN,MAAA,QAAkB,EAAA;AACjB,gBAAY,KAAC,MAAU;KACvB,MAAA,OAAY,YAAW,QAAA,IAAA,EAAA;AACtB,WAAM,KAAK,KAAE;MACb;AACD,WAAE,CAAA,aAAA,MAAA;;GAEH,mBAAC;AAEA,WAAM,CAAA,aADO,YAAK,QAAA,IAAA,YAAA,CACO;;GAE1B,kBAAC;IACD,MAAA,QAAkB,EAAA;YACJ,OAAA,KAAY,QAAI,CAAA,QAAA,MAAA;KAC7B,MAAM,gBAAc,QAAK;;MAGxB,MAAI,OAAA,YAAe,QAAA,IAAA,EAAA;AAClB,YAAM,KAAK,KAAE;;;MAId,EAAA,MAAA;;GAIF;GACA;QAGF,iBAAA,GAAA,kBAAA,KAAA,aAAA,UAAA;EACE;EACA,UAAU;EACV,SAAS;EACA;EACT,WAAS;EACT,aAAW;EACX,cAAa;EACb,GAAA;EACC,CAAA"}
@@ -0,0 +1,6 @@
1
+ //#region packages/components/upload/index.tsx
2
+ var upload_default = require("./upload.cjs").default;
3
+ //#endregion
4
+ exports.default = upload_default;
5
+
6
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["Upload"],"sources":["../../../../packages/components/upload/index.tsx"],"sourcesContent":["import Upload from \"./upload\";\n\nexport default Upload;\n"],"mappings":";AAEA,IAAA,yCAAeA"}
@@ -0,0 +1,99 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_index = require("../icon/index.cjs");
3
+ const require_utils = require("../../js/utils.cjs");
4
+ const require_index$1 = require("../utils/helpericon/index.cjs");
5
+ const require_type = require("../../js/usePreview/type.cjs");
6
+ const require_index$2 = require("../image/index.cjs");
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.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderFile.cjs","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.cjs");
2
+ const require_index = require("../button/index.cjs");
3
+ const require_index$1 = require("../icon/index.cjs");
4
+ const require_utils = require("../../js/utils.cjs");
5
+ const require_index$2 = require("../../js/usePreview/index.cjs");
6
+ const require_container = require("../input/container.cjs");
7
+ const require_renderFile = require("./renderFile.cjs");
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.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.cjs","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":";;;;;;;;;;;;;;;;CAuBA,MAAM,EACL,KACC,OACA,aACA,OACA,QAAK,EAAA,EACL,cACA,aACA,SAAA,UACA,SACA,WACA,OACA,UACA,oBACA,OAAA,WACA,WAAQ,OACR,UACA,UACA,QAAQ,MAAA,WAAA,WAAA,GACR,UACA,YACA,qBAAU,MACV,UACA,UACA,eACA,UACA,GAAA,cACG;;CAGJ,MAAM,CAAC,eAAU,qBAAA,GAAA,MAAA,UAAkC,QAAC;CACpD,MAAM,YAAA,GAAA,MAAA,QAAoC,KAAA;CAC1C,MAAM,UAAU,gBAAA,SAAQ;CACxB,MAAM,cAAU,OAAW,OAC3B,EACC,UACC,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,2BAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MACC,EAAA,CAAA,EAEH,EACD,mBACA;;AAGD,MAAK,SAAU,QAAC;;GAGf,KAAM,OACL,QACC,iBAAA,GAAA,kBAAA,KAAA,cAAA,SAAA;IACE,WAAA;IACA,QAAA;IACA,MAAA;IACA,SAAA;IACA;cAED,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,WAAA,EAAA,CAAA,EAAA,CAAA;IACO,CAAA;GAET,QACA,QACC,iBAAA,GAAA,kBAAA,KAAA,cAAA,SAAA;IACE,GAAA;IACA,YAAA,GAAA,WAAA,SACA,gBACC,YAAU,UACV;IACA;IACD,CAAA;;IAGJ,CAAA,MAAA,SAAA,CAAA;;EAGD,MAAM,QAAA,MAAe,KAAI,EAAA,OAAA,SAAY,EAAA,CAAA;EACpC,MAAM,SAAQ;EACd,MAAM,UAAiB,EAAA;;GAGvB,MAAM,EAAG,IAAI,MAAI,MAAA,SAAA;GAChB,MAAM,OAAM,OAAM,MAAM,OAAS;IACjC,MAAM,EAAA,MAAO,GAAA,MAAW,GAAE,MAAO,MAAA;AAChC,WAAO,MAAM,QAAQ,MAAK,QAAS,MAAK;KACxC;GACD,MAAE,MAAA,IAAA,gBAAA,EAAA;;IAGF,IAAA,OAAA,GAAA,qGAAA,KAAe,EAAE;IAChB,KAAI,OAAM,EAAI;IACd,KAAK,OAAO,EAAE;IACd,CAAA;AACD,IAAC,QAAC,QAAA,KAAA,EAAA;IACD;;EAGF,MAAM,OAAO,MAAK,GAAA,GAAO;EACzB,MAAM,YAAY,WAAO,MAAA,MAAA,GAAA,MAAA,GAAA,OAAA,CAAA,KAAA,GAAA,EAAA;;AAGzB,mBAAiB,QAAA;;AAGjB,aAAA,WAAgB,EAAA;;AAGhB,WAAA,YAAqB,SAAA,QAAA,QAAA;;;EAItB,MAAM,EAAA,GAAA,SAAc;;AAGnB,MAAA,gBAAgB,QAAY,IAAI,OAAE,GAAA;;AAGlC,kBAAgB,OAAO,QAAA;AACvB,aAAA,MAAgB;;;;AAMjB,MAAK,CAAC,SAAA;;;;;;AAUN,UAAM;GAAA,OAAA;GAA+B,SAAA;GAAA,CAAA;;;AAIrC,MAAK,CAAC,MAAA;mBAGL,MAAA,KAAA,MAAgB;GACf,MAAM,OAAQ;AACb,UAAM;IAAA,GAAM;IAAM,IAAA,KAAK,OAAA,GAAA,qGAAA,KAAA,EAAA;IAAA;IACvB,CACD;;;EAIF,MAAM,EAAA,GAAA,SAAc;;AAGnB,mBAAiB,UAAU;AAC3B,aAAA,UAAiB;;;AAIlB,mBAAgB,QAAA;IACf,CAAA,QAAA,QAAiB,CAAA;;AAGlB,mBAAgB,OAAA,UAAA,SAAA,CAAA,CAAA,KAAA,GAAA,IAAA,EAAA,CAAA;IACf,CAAA,MAAA,CAAA;;AAGD,cAAa,aAAG;IACf,EAAA,CAAA;gCAGD,YACI;EACF,mBAAM;;EAGN,GACD,CAAC,SAAC,CACF;QAGD,iBAAA,GAAA,kBAAA,KAAA,kBAAA,SAAA;EACE,IAAA;EACO;EACK;EACZ,YAAA,GAAA,WAAA,SAAa,sBAAW,UAAA;EACxB;YAED,iBAAA,GAAA,kBAAA,MAAA,OAAA;GACE,YAAA,GAAA,WAAA,SAAA,kBAAA,GACA,YAAW,SAAY,SAAS,WAC/B,CAAC;GACF,OAAE,GAAA,uBAAA,UAAA;aAJJ;IAMC,iBAAA,GAAA,kBAAA,KAAA,mBAAA,eAAA;KAAA;KAAA,WAAA;eACE,SAAA,KAAc,MAAU,MAAU;MACjC,MAAA,OACA,iBAAA,GAAA,kBAAA,KAAA,mBAAA,SAAA;OAEE,OAAM;OACA;OACA;OACI;OACV,UAAU;OACV,WAAU;OACV,EAPA,EAOA;;;OAMF;KACC,CAAA;qBAGF,iBAAA,GAAA,kBAAA,KAAA,QAAA;KAAA,WAAgB;eAAC;KAAA,CAAA;+BAIjB,iBAAA,GAAA,kBAAA,MAAA,SAAA,EAAA,UAAA,CACC,iBAAA,GAAA,kBAAA,KAAA,SAAA;KACC,GAAA;KACI;KACJ,KAAA;KACA,MAAK;KACL,WAAU;KACA;KACV,UAAU;KACV,CAAA,EACA,QACA,EAAA,CAAA;IAEF;;EACG,CAAA"}
@@ -0,0 +1,17 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
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.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","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":";;;;;;AAEA,SAAoB,MAAA,OAAA;;AAGnB,QAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,cAAA;EAEA,YAAA,GAAA,WAAA,SAAO,WAAA,UAAA;EACL,GAAA;EACA,CAAA"}
@@ -0,0 +1,24 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_index = require("../../icon/index.cjs");
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.cjs.map