naive-ui 2.18.0 → 2.19.1

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 (394) hide show
  1. package/es/_internal/clear/src/Clear.d.ts +1 -4
  2. package/es/_internal/clear/src/Clear.js +1 -4
  3. package/es/_internal/icons/Checkmark.js +3 -2
  4. package/es/_internal/select-menu/src/SelectMenu.d.ts +173 -0
  5. package/es/_internal/select-menu/src/SelectMenu.js +9 -6
  6. package/es/_internal/select-menu/src/SelectOption.js +2 -1
  7. package/es/_internal/select-menu/src/styles/index.cssr.js +32 -28
  8. package/es/_internal/select-menu/styles/light.d.ts +2 -0
  9. package/es/_internal/select-menu/styles/light.js +1 -1
  10. package/es/_internal/selection/src/Selection.d.ts +8 -0
  11. package/es/_internal/selection/src/Selection.js +34 -14
  12. package/es/_internal/selection/src/styles/index.cssr.js +16 -14
  13. package/es/_internal/selection/styles/_common.d.ts +1 -0
  14. package/es/_internal/selection/styles/_common.js +2 -1
  15. package/es/_internal/selection/styles/light.d.ts +2 -0
  16. package/es/_styles/common/light.js +1 -1
  17. package/es/_utils/naive/mutable.d.ts +2 -2
  18. package/es/anchor/src/AnchorAdapter.d.ts +13 -8
  19. package/es/anchor/src/AnchorAdapter.js +3 -5
  20. package/es/anchor/src/BaseAnchor.d.ts +14 -1
  21. package/es/anchor/src/BaseAnchor.js +20 -7
  22. package/es/anchor/src/Link.js +5 -5
  23. package/es/anchor/src/styles/index.cssr.js +25 -16
  24. package/es/auto-complete/index.d.ts +1 -0
  25. package/es/auto-complete/src/AutoComplete.d.ts +10 -0
  26. package/es/auto-complete/src/interface.d.ts +1 -1
  27. package/es/auto-complete/styles/light.d.ts +1 -0
  28. package/es/badge/src/styles/index.cssr.js +1 -0
  29. package/es/card/src/Card.d.ts +17 -1
  30. package/es/card/src/Card.js +3 -2
  31. package/es/card/styles/dark.js +6 -1
  32. package/es/card/styles/light.d.ts +1 -0
  33. package/es/card/styles/light.js +2 -2
  34. package/es/cascader/src/Cascader.d.ts +20 -0
  35. package/es/cascader/src/Cascader.js +28 -19
  36. package/es/cascader/src/CascaderMenu.js +17 -15
  37. package/es/cascader/src/CascaderOption.d.ts +2 -0
  38. package/es/cascader/src/CascaderSelectMenu.d.ts +2 -0
  39. package/es/cascader/src/CascaderSubmenu.d.ts +2 -0
  40. package/es/cascader/src/interface.d.ts +2 -2
  41. package/es/cascader/src/styles/index.cssr.js +6 -1
  42. package/es/cascader/styles/light.d.ts +2 -0
  43. package/es/composables/use-theme-vars.js +5 -5
  44. package/es/config-provider/src/internal-interface.d.ts +2 -0
  45. package/es/data-table/src/DataTable.d.ts +22 -0
  46. package/es/data-table/src/HeaderButton/FilterButton.d.ts +4 -0
  47. package/es/data-table/src/HeaderButton/FilterMenu.d.ts +4 -0
  48. package/es/data-table/src/TableParts/Body.d.ts +4 -0
  49. package/es/data-table/src/TableParts/Cell.d.ts +8 -0
  50. package/es/data-table/src/TableParts/Header.d.ts +4 -0
  51. package/es/data-table/styles/light.d.ts +2 -0
  52. package/es/date-picker/src/DatePicker.d.ts +8 -3
  53. package/es/date-picker/src/DatePicker.js +2 -2
  54. package/es/date-picker/src/panel/date.d.ts +3 -3
  55. package/es/date-picker/src/panel/date.js +10 -1
  56. package/es/date-picker/src/panel/daterange.js +10 -1
  57. package/es/date-picker/src/panel/datetimerange.js +10 -1
  58. package/es/descriptions/src/Descriptions.d.ts +4 -17
  59. package/es/descriptions/src/Descriptions.js +2 -8
  60. package/es/dialog/src/Dialog.d.ts +4 -16
  61. package/es/dialog/src/Dialog.js +2 -8
  62. package/es/dialog/src/DialogEnvironment.d.ts +28 -36
  63. package/es/dialog/src/DialogEnvironment.js +2 -2
  64. package/es/dialog/src/DialogProvider.d.ts +18 -15
  65. package/es/dialog/src/DialogProvider.js +2 -1
  66. package/es/dropdown/src/Dropdown.d.ts +9 -23
  67. package/es/dynamic-tags/src/DynamicTags.js +2 -1
  68. package/es/empty/src/Empty.d.ts +6 -1
  69. package/es/empty/src/Empty.js +16 -4
  70. package/es/form/src/FormItemGridItem.d.ts +1 -1
  71. package/es/form/src/FormItemGridItem.js +2 -2
  72. package/es/grid/src/GridItem.d.ts +2 -2
  73. package/es/grid/src/GridItem.js +1 -1
  74. package/es/input-number/src/InputNumber.d.ts +5 -0
  75. package/es/input-number/src/InputNumber.js +9 -8
  76. package/es/layout/src/Layout.d.ts +18 -4
  77. package/es/layout/src/LayoutContent.d.ts +9 -2
  78. package/es/layout/src/LayoutFooter.d.ts +9 -0
  79. package/es/layout/src/LayoutHeader.d.ts +6 -0
  80. package/es/layout/src/LayoutSider.d.ts +11 -0
  81. package/es/layout/src/LayoutSider.js +4 -2
  82. package/es/layout/src/ToggleButton.js +7 -3
  83. package/es/layout/src/styles/layout-sider.cssr.js +31 -15
  84. package/es/layout/styles/dark.js +3 -2
  85. package/es/layout/styles/light.d.ts +2 -0
  86. package/es/layout/styles/light.js +3 -2
  87. package/es/locales/common/enUS.js +1 -1
  88. package/es/locales/common/ruRU.js +1 -1
  89. package/es/locales/common/zhCN.js +1 -1
  90. package/es/mention/src/Mention.d.ts +10 -0
  91. package/es/mention/styles/light.d.ts +1 -0
  92. package/es/menu/src/Menu.d.ts +6 -1
  93. package/es/menu/src/Menu.js +10 -1
  94. package/es/menu/src/MenuOption.d.ts +3 -1
  95. package/es/menu/src/MenuOptionContent.d.ts +3 -1
  96. package/es/menu/src/Submenu.d.ts +3 -1
  97. package/es/modal/src/BodyWrapper.d.ts +7 -8
  98. package/es/modal/src/Modal.d.ts +40 -71
  99. package/es/modal/src/Modal.js +18 -39
  100. package/es/modal/src/presetProps.d.ts +4 -9
  101. package/es/modal/styles/light.d.ts +1 -0
  102. package/es/notification/src/Notification.d.ts +1 -1
  103. package/es/notification/src/NotificationEnvironment.d.ts +1 -1
  104. package/es/notification/src/NotificationProvider.d.ts +16 -16
  105. package/es/page-header/src/PageHeader.d.ts +1 -0
  106. package/es/page-header/src/PageHeader.js +8 -2
  107. package/es/page-header/src/styles/rtl.cssr.d.ts +2 -0
  108. package/es/page-header/src/styles/rtl.cssr.js +19 -0
  109. package/es/page-header/styles/index.d.ts +1 -0
  110. package/es/page-header/styles/index.js +1 -0
  111. package/es/page-header/styles/rtl.d.ts +5 -0
  112. package/es/page-header/styles/rtl.js +5 -0
  113. package/es/pagination/src/Pagination.d.ts +23 -1
  114. package/es/pagination/styles/light.d.ts +2 -0
  115. package/es/popconfirm/src/Popconfirm.d.ts +8 -22
  116. package/es/popover/src/Popover.d.ts +12 -32
  117. package/es/popover/src/Popover.js +25 -18
  118. package/es/popover/src/PopoverBody.d.ts +2 -2
  119. package/es/popover/src/PopoverBody.js +4 -2
  120. package/es/popselect/src/Popselect.d.ts +18 -22
  121. package/es/popselect/src/PopselectPanel.d.ts +1 -0
  122. package/es/popselect/src/PopselectPanel.js +38 -19
  123. package/es/popselect/styles/light.d.ts +1 -0
  124. package/es/select/src/Select.d.ts +31 -3
  125. package/es/select/src/Select.js +55 -56
  126. package/es/select/src/interface.d.ts +2 -2
  127. package/es/select/styles/light.d.ts +2 -0
  128. package/es/spin/src/Spin.d.ts +34 -25
  129. package/es/spin/src/Spin.js +27 -20
  130. package/es/spin/src/styles/index.cssr.js +23 -9
  131. package/es/spin/styles/light.d.ts +2 -0
  132. package/es/spin/styles/light.js +3 -1
  133. package/es/steps/src/Steps.js +2 -2
  134. package/es/styles.d.ts +1 -0
  135. package/es/styles.js +1 -0
  136. package/es/tabs/src/Tab.d.ts +1 -1
  137. package/es/tabs/src/Tab.js +4 -6
  138. package/es/tabs/src/Tabs.d.ts +133 -42
  139. package/es/tabs/src/Tabs.js +37 -38
  140. package/es/tabs/src/interface.d.ts +2 -1
  141. package/es/tabs/src/styles/index.cssr.js +34 -10
  142. package/es/tabs/styles/_common.d.ts +6 -0
  143. package/es/tabs/styles/_common.js +6 -0
  144. package/es/tabs/styles/dark.js +7 -1
  145. package/es/tabs/styles/light.d.ts +13 -0
  146. package/es/tabs/styles/light.js +3 -3
  147. package/es/tag/src/styles/index.cssr.js +1 -1
  148. package/es/time/src/Time.d.ts +14 -22
  149. package/es/time/src/Time.js +32 -18
  150. package/es/time-picker/src/TimePicker.d.ts +5 -0
  151. package/es/time-picker/src/TimePicker.js +2 -2
  152. package/es/timeline/src/Timeline.d.ts +67 -0
  153. package/es/timeline/src/Timeline.js +1 -1
  154. package/es/timeline/src/TimelineItem.d.ts +2 -0
  155. package/es/timeline/src/TimelineItem.js +11 -11
  156. package/es/timeline/src/styles/index.cssr.js +26 -17
  157. package/es/timeline/styles/_common.d.ts +2 -0
  158. package/es/timeline/styles/_common.js +3 -1
  159. package/es/timeline/styles/dark.js +1 -1
  160. package/es/timeline/styles/light.d.ts +7 -0
  161. package/es/timeline/styles/light.js +1 -1
  162. package/es/tooltip/src/Tooltip.d.ts +8 -22
  163. package/es/transfer/src/TransferList.d.ts +1 -1
  164. package/es/tree/src/Tree.d.ts +25 -10
  165. package/es/tree/src/Tree.js +34 -11
  166. package/es/tree/src/TreeNode.js +5 -2
  167. package/es/tree/src/interface.d.ts +2 -2
  168. package/es/tree-select/src/TreeSelect.d.ts +23 -1
  169. package/es/tree-select/src/TreeSelect.js +36 -40
  170. package/es/tree-select/src/interface.d.ts +2 -2
  171. package/es/tree-select/styles/light.d.ts +1 -0
  172. package/es/typography/src/blockquote.d.ts +2 -8
  173. package/es/typography/src/blockquote.js +1 -4
  174. package/es/typography/src/ol.d.ts +2 -8
  175. package/es/typography/src/ol.js +1 -4
  176. package/es/typography/src/p.d.ts +2 -2
  177. package/es/typography/src/p.js +1 -1
  178. package/es/typography/src/text.d.ts +14 -58
  179. package/es/typography/src/text.js +2 -23
  180. package/es/typography/src/ul.d.ts +2 -8
  181. package/es/typography/src/ul.js +1 -4
  182. package/es/upload/index.d.ts +2 -0
  183. package/es/upload/index.js +2 -0
  184. package/es/upload/src/Upload.d.ts +16 -68
  185. package/es/upload/src/Upload.js +71 -98
  186. package/es/upload/src/UploadDragger.js +7 -1
  187. package/es/upload/src/UploadFileList.d.ts +2 -0
  188. package/es/upload/src/UploadFileList.js +34 -0
  189. package/es/upload/src/UploadProgress.d.ts +0 -7
  190. package/es/upload/src/UploadProgress.js +1 -5
  191. package/es/upload/src/UploadTrigger.d.ts +12 -0
  192. package/es/upload/src/UploadTrigger.js +63 -0
  193. package/es/upload/src/interface.d.ts +13 -2
  194. package/es/upload/src/styles/index.cssr.js +40 -32
  195. package/es/version.d.ts +1 -1
  196. package/es/version.js +1 -1
  197. package/lib/_internal/clear/src/Clear.d.ts +1 -4
  198. package/lib/_internal/clear/src/Clear.js +1 -4
  199. package/lib/_internal/icons/Checkmark.js +3 -2
  200. package/lib/_internal/select-menu/src/SelectMenu.d.ts +173 -0
  201. package/lib/_internal/select-menu/src/SelectMenu.js +9 -6
  202. package/lib/_internal/select-menu/src/SelectOption.js +2 -1
  203. package/lib/_internal/select-menu/src/styles/index.cssr.js +32 -28
  204. package/lib/_internal/select-menu/styles/light.d.ts +2 -0
  205. package/lib/_internal/select-menu/styles/light.js +1 -1
  206. package/lib/_internal/selection/src/Selection.d.ts +8 -0
  207. package/lib/_internal/selection/src/Selection.js +34 -14
  208. package/lib/_internal/selection/src/styles/index.cssr.js +16 -14
  209. package/lib/_internal/selection/styles/_common.d.ts +1 -0
  210. package/lib/_internal/selection/styles/_common.js +2 -1
  211. package/lib/_internal/selection/styles/light.d.ts +2 -0
  212. package/lib/_styles/common/light.js +1 -1
  213. package/lib/_utils/naive/mutable.d.ts +2 -2
  214. package/lib/anchor/src/AnchorAdapter.d.ts +13 -8
  215. package/lib/anchor/src/AnchorAdapter.js +3 -5
  216. package/lib/anchor/src/BaseAnchor.d.ts +14 -1
  217. package/lib/anchor/src/BaseAnchor.js +19 -6
  218. package/lib/anchor/src/Link.js +5 -5
  219. package/lib/anchor/src/styles/index.cssr.js +25 -16
  220. package/lib/auto-complete/index.d.ts +1 -0
  221. package/lib/auto-complete/src/AutoComplete.d.ts +10 -0
  222. package/lib/auto-complete/src/interface.d.ts +1 -1
  223. package/lib/auto-complete/styles/light.d.ts +1 -0
  224. package/lib/badge/src/styles/index.cssr.js +1 -0
  225. package/lib/card/src/Card.d.ts +17 -1
  226. package/lib/card/src/Card.js +3 -2
  227. package/lib/card/styles/dark.js +6 -1
  228. package/lib/card/styles/light.d.ts +1 -0
  229. package/lib/card/styles/light.js +2 -2
  230. package/lib/cascader/src/Cascader.d.ts +20 -0
  231. package/lib/cascader/src/Cascader.js +28 -19
  232. package/lib/cascader/src/CascaderMenu.js +16 -14
  233. package/lib/cascader/src/CascaderOption.d.ts +2 -0
  234. package/lib/cascader/src/CascaderSelectMenu.d.ts +2 -0
  235. package/lib/cascader/src/CascaderSubmenu.d.ts +2 -0
  236. package/lib/cascader/src/interface.d.ts +2 -2
  237. package/lib/cascader/src/styles/index.cssr.js +6 -1
  238. package/lib/cascader/styles/light.d.ts +2 -0
  239. package/lib/composables/use-theme-vars.js +5 -5
  240. package/lib/config-provider/src/internal-interface.d.ts +2 -0
  241. package/lib/data-table/src/DataTable.d.ts +22 -0
  242. package/lib/data-table/src/HeaderButton/FilterButton.d.ts +4 -0
  243. package/lib/data-table/src/HeaderButton/FilterMenu.d.ts +4 -0
  244. package/lib/data-table/src/TableParts/Body.d.ts +4 -0
  245. package/lib/data-table/src/TableParts/Cell.d.ts +8 -0
  246. package/lib/data-table/src/TableParts/Header.d.ts +4 -0
  247. package/lib/data-table/styles/light.d.ts +2 -0
  248. package/lib/date-picker/src/DatePicker.d.ts +8 -3
  249. package/lib/date-picker/src/DatePicker.js +2 -2
  250. package/lib/date-picker/src/panel/date.d.ts +3 -3
  251. package/lib/date-picker/src/panel/date.js +9 -0
  252. package/lib/date-picker/src/panel/daterange.js +9 -0
  253. package/lib/date-picker/src/panel/datetimerange.js +9 -0
  254. package/lib/descriptions/src/Descriptions.d.ts +4 -17
  255. package/lib/descriptions/src/Descriptions.js +2 -8
  256. package/lib/dialog/src/Dialog.d.ts +4 -16
  257. package/lib/dialog/src/Dialog.js +2 -8
  258. package/lib/dialog/src/DialogEnvironment.d.ts +28 -36
  259. package/lib/dialog/src/DialogEnvironment.js +2 -2
  260. package/lib/dialog/src/DialogProvider.d.ts +18 -15
  261. package/lib/dialog/src/DialogProvider.js +2 -1
  262. package/lib/dropdown/src/Dropdown.d.ts +9 -23
  263. package/lib/dynamic-tags/src/DynamicTags.js +2 -1
  264. package/lib/empty/src/Empty.d.ts +6 -1
  265. package/lib/empty/src/Empty.js +15 -3
  266. package/lib/form/src/FormItemGridItem.d.ts +1 -1
  267. package/lib/form/src/FormItemGridItem.js +2 -2
  268. package/lib/grid/src/GridItem.d.ts +2 -2
  269. package/lib/grid/src/GridItem.js +1 -1
  270. package/lib/input-number/src/InputNumber.d.ts +5 -0
  271. package/lib/input-number/src/InputNumber.js +9 -8
  272. package/lib/layout/src/Layout.d.ts +18 -4
  273. package/lib/layout/src/LayoutContent.d.ts +9 -2
  274. package/lib/layout/src/LayoutFooter.d.ts +9 -0
  275. package/lib/layout/src/LayoutHeader.d.ts +6 -0
  276. package/lib/layout/src/LayoutSider.d.ts +11 -0
  277. package/lib/layout/src/LayoutSider.js +4 -2
  278. package/lib/layout/src/ToggleButton.js +7 -3
  279. package/lib/layout/src/styles/layout-sider.cssr.js +31 -15
  280. package/lib/layout/styles/dark.js +3 -2
  281. package/lib/layout/styles/light.d.ts +2 -0
  282. package/lib/layout/styles/light.js +3 -2
  283. package/lib/locales/common/enUS.js +1 -1
  284. package/lib/locales/common/ruRU.js +1 -1
  285. package/lib/locales/common/zhCN.js +1 -1
  286. package/lib/mention/src/Mention.d.ts +10 -0
  287. package/lib/mention/styles/light.d.ts +1 -0
  288. package/lib/menu/src/Menu.d.ts +6 -1
  289. package/lib/menu/src/Menu.js +10 -1
  290. package/lib/menu/src/MenuOption.d.ts +3 -1
  291. package/lib/menu/src/MenuOptionContent.d.ts +3 -1
  292. package/lib/menu/src/Submenu.d.ts +3 -1
  293. package/lib/modal/src/BodyWrapper.d.ts +7 -8
  294. package/lib/modal/src/Modal.d.ts +40 -71
  295. package/lib/modal/src/Modal.js +17 -38
  296. package/lib/modal/src/presetProps.d.ts +4 -9
  297. package/lib/modal/styles/light.d.ts +1 -0
  298. package/lib/notification/src/Notification.d.ts +1 -1
  299. package/lib/notification/src/NotificationEnvironment.d.ts +1 -1
  300. package/lib/notification/src/NotificationProvider.d.ts +16 -16
  301. package/lib/page-header/src/PageHeader.d.ts +1 -0
  302. package/lib/page-header/src/PageHeader.js +8 -2
  303. package/lib/page-header/src/styles/rtl.cssr.d.ts +2 -0
  304. package/lib/page-header/src/styles/rtl.cssr.js +26 -0
  305. package/lib/page-header/styles/index.d.ts +1 -0
  306. package/lib/page-header/styles/index.js +3 -1
  307. package/lib/page-header/styles/rtl.d.ts +5 -0
  308. package/lib/page-header/styles/rtl.js +7 -0
  309. package/lib/pagination/src/Pagination.d.ts +23 -1
  310. package/lib/pagination/styles/light.d.ts +2 -0
  311. package/lib/popconfirm/src/Popconfirm.d.ts +8 -22
  312. package/lib/popover/src/Popover.d.ts +12 -32
  313. package/lib/popover/src/Popover.js +23 -16
  314. package/lib/popover/src/PopoverBody.d.ts +2 -2
  315. package/lib/popover/src/PopoverBody.js +4 -2
  316. package/lib/popselect/src/Popselect.d.ts +18 -22
  317. package/lib/popselect/src/PopselectPanel.d.ts +1 -0
  318. package/lib/popselect/src/PopselectPanel.js +38 -19
  319. package/lib/popselect/styles/light.d.ts +1 -0
  320. package/lib/select/src/Select.d.ts +31 -3
  321. package/lib/select/src/Select.js +55 -56
  322. package/lib/select/src/interface.d.ts +2 -2
  323. package/lib/select/styles/light.d.ts +2 -0
  324. package/lib/spin/src/Spin.d.ts +34 -25
  325. package/lib/spin/src/Spin.js +25 -18
  326. package/lib/spin/src/styles/index.cssr.js +23 -9
  327. package/lib/spin/styles/light.d.ts +2 -0
  328. package/lib/spin/styles/light.js +3 -1
  329. package/lib/steps/src/Steps.js +1 -1
  330. package/lib/styles.d.ts +1 -0
  331. package/lib/styles.js +63 -61
  332. package/lib/tabs/src/Tab.d.ts +1 -1
  333. package/lib/tabs/src/Tab.js +4 -6
  334. package/lib/tabs/src/Tabs.d.ts +133 -42
  335. package/lib/tabs/src/Tabs.js +36 -37
  336. package/lib/tabs/src/interface.d.ts +2 -1
  337. package/lib/tabs/src/styles/index.cssr.js +34 -10
  338. package/lib/tabs/styles/_common.d.ts +6 -0
  339. package/lib/tabs/styles/_common.js +6 -0
  340. package/lib/tabs/styles/dark.js +7 -1
  341. package/lib/tabs/styles/light.d.ts +13 -0
  342. package/lib/tabs/styles/light.js +3 -3
  343. package/lib/tag/src/styles/index.cssr.js +1 -1
  344. package/lib/time/src/Time.d.ts +14 -22
  345. package/lib/time/src/Time.js +31 -17
  346. package/lib/time-picker/src/TimePicker.d.ts +5 -0
  347. package/lib/time-picker/src/TimePicker.js +2 -2
  348. package/lib/timeline/src/Timeline.d.ts +67 -0
  349. package/lib/timeline/src/Timeline.js +1 -1
  350. package/lib/timeline/src/TimelineItem.d.ts +2 -0
  351. package/lib/timeline/src/TimelineItem.js +10 -10
  352. package/lib/timeline/src/styles/index.cssr.js +27 -18
  353. package/lib/timeline/styles/_common.d.ts +2 -0
  354. package/lib/timeline/styles/_common.js +3 -1
  355. package/lib/timeline/styles/dark.js +1 -1
  356. package/lib/timeline/styles/light.d.ts +7 -0
  357. package/lib/timeline/styles/light.js +1 -1
  358. package/lib/tooltip/src/Tooltip.d.ts +8 -22
  359. package/lib/transfer/src/TransferList.d.ts +1 -1
  360. package/lib/tree/src/Tree.d.ts +25 -10
  361. package/lib/tree/src/Tree.js +34 -11
  362. package/lib/tree/src/TreeNode.js +5 -2
  363. package/lib/tree/src/interface.d.ts +2 -2
  364. package/lib/tree-select/src/TreeSelect.d.ts +23 -1
  365. package/lib/tree-select/src/TreeSelect.js +36 -40
  366. package/lib/tree-select/src/interface.d.ts +2 -2
  367. package/lib/tree-select/styles/light.d.ts +1 -0
  368. package/lib/typography/src/blockquote.d.ts +2 -8
  369. package/lib/typography/src/blockquote.js +1 -4
  370. package/lib/typography/src/ol.d.ts +2 -8
  371. package/lib/typography/src/ol.js +1 -4
  372. package/lib/typography/src/p.d.ts +2 -2
  373. package/lib/typography/src/p.js +1 -1
  374. package/lib/typography/src/text.d.ts +14 -58
  375. package/lib/typography/src/text.js +2 -23
  376. package/lib/typography/src/ul.d.ts +2 -8
  377. package/lib/typography/src/ul.js +1 -4
  378. package/lib/upload/index.d.ts +2 -0
  379. package/lib/upload/index.js +5 -1
  380. package/lib/upload/src/Upload.d.ts +16 -68
  381. package/lib/upload/src/Upload.js +68 -95
  382. package/lib/upload/src/UploadDragger.js +7 -1
  383. package/lib/upload/src/UploadFileList.d.ts +2 -0
  384. package/lib/upload/src/UploadFileList.js +36 -0
  385. package/lib/upload/src/UploadProgress.d.ts +0 -7
  386. package/lib/upload/src/UploadProgress.js +1 -5
  387. package/lib/upload/src/UploadTrigger.d.ts +12 -0
  388. package/lib/upload/src/UploadTrigger.js +65 -0
  389. package/lib/upload/src/interface.d.ts +13 -2
  390. package/lib/upload/src/styles/index.cssr.js +40 -32
  391. package/lib/version.d.ts +1 -1
  392. package/lib/version.js +1 -1
  393. package/package.json +8 -6
  394. package/web-types.json +248 -13
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { PropType, CSSProperties } from 'vue';
3
2
  import { ExtractPublicPropTypes, MaybeArray } from '../../_utils';
4
3
  import { FileInfo, FuncOrRecordOrUndef, OnFinish, OnRemove, OnDownload, OnChange, OnUpdateFileList, OnBeforeUpload, listType, OnPreview, CreateThumbnailUrl } from './interface';
@@ -69,6 +68,7 @@ declare const uploadProps: {
69
68
  };
70
69
  readonly onPreview: PropType<OnPreview>;
71
70
  readonly createThumbnailUrl: PropType<CreateThumbnailUrl>;
71
+ readonly abstract: BooleanConstructor;
72
72
  readonly theme: PropType<import("../../_mixins").Theme<"Upload", {
73
73
  fontSize: string;
74
74
  lineHeight: string;
@@ -192,7 +192,7 @@ declare const uploadProps: {
192
192
  textColorFocusSuccess: string;
193
193
  textColorDisabledSuccess: string;
194
194
  textColorTextSuccess: string;
195
- textColorTextHoverSuccess: string;
195
+ textColorTextHoverSuccess: string; /** currently of no usage */
196
196
  textColorTextPressedSuccess: string;
197
197
  textColorTextFocusSuccess: string;
198
198
  textColorTextDisabledSuccess: string;
@@ -428,7 +428,7 @@ declare const uploadProps: {
428
428
  textColorFocusSuccess: string;
429
429
  textColorDisabledSuccess: string;
430
430
  textColorTextSuccess: string;
431
- textColorTextHoverSuccess: string;
431
+ textColorTextHoverSuccess: string; /** currently of no usage */
432
432
  textColorTextPressedSuccess: string;
433
433
  textColorTextFocusSuccess: string;
434
434
  textColorTextDisabledSuccess: string;
@@ -664,7 +664,7 @@ declare const uploadProps: {
664
664
  textColorFocusSuccess: string;
665
665
  textColorDisabledSuccess: string;
666
666
  textColorTextSuccess: string;
667
- textColorTextHoverSuccess: string;
667
+ textColorTextHoverSuccess: string; /** currently of no usage */
668
668
  textColorTextPressedSuccess: string;
669
669
  textColorTextFocusSuccess: string;
670
670
  textColorTextDisabledSuccess: string;
@@ -846,6 +846,7 @@ declare const _default: import("vue").DefineComponent<{
846
846
  };
847
847
  readonly onPreview: PropType<OnPreview>;
848
848
  readonly createThumbnailUrl: PropType<CreateThumbnailUrl>;
849
+ readonly abstract: BooleanConstructor;
849
850
  readonly theme: PropType<import("../../_mixins").Theme<"Upload", {
850
851
  fontSize: string;
851
852
  lineHeight: string;
@@ -969,7 +970,7 @@ declare const _default: import("vue").DefineComponent<{
969
970
  textColorFocusSuccess: string;
970
971
  textColorDisabledSuccess: string;
971
972
  textColorTextSuccess: string;
972
- textColorTextHoverSuccess: string;
973
+ textColorTextHoverSuccess: string; /** currently of no usage */
973
974
  textColorTextPressedSuccess: string;
974
975
  textColorTextFocusSuccess: string;
975
976
  textColorTextDisabledSuccess: string;
@@ -1205,7 +1206,7 @@ declare const _default: import("vue").DefineComponent<{
1205
1206
  textColorFocusSuccess: string;
1206
1207
  textColorDisabledSuccess: string;
1207
1208
  textColorTextSuccess: string;
1208
- textColorTextHoverSuccess: string;
1209
+ textColorTextHoverSuccess: string; /** currently of no usage */
1209
1210
  textColorTextPressedSuccess: string;
1210
1211
  textColorTextFocusSuccess: string;
1211
1212
  textColorTextDisabledSuccess: string;
@@ -1441,7 +1442,7 @@ declare const _default: import("vue").DefineComponent<{
1441
1442
  textColorFocusSuccess: string;
1442
1443
  textColorDisabledSuccess: string;
1443
1444
  textColorTextSuccess: string;
1444
- textColorTextHoverSuccess: string;
1445
+ textColorTextHoverSuccess: string; /** currently of no usage */
1445
1446
  textColorTextPressedSuccess: string;
1446
1447
  textColorTextFocusSuccess: string;
1447
1448
  textColorTextDisabledSuccess: string;
@@ -1560,39 +1561,6 @@ declare const _default: import("vue").DefineComponent<{
1560
1561
  value: boolean;
1561
1562
  };
1562
1563
  inputElRef: import("vue").Ref<HTMLInputElement | null>;
1563
- mergedFileList: import("vue").ComputedRef<{
1564
- id: string;
1565
- name: string;
1566
- percentage: number;
1567
- status: "error" | "pending" | "uploading" | "finished" | "removed";
1568
- url?: string | null | undefined;
1569
- file?: {
1570
- readonly lastModified: number;
1571
- readonly name: string;
1572
- readonly webkitRelativePath: string;
1573
- readonly size: number;
1574
- readonly type: string;
1575
- arrayBuffer: {
1576
- (): Promise<ArrayBuffer>;
1577
- (): Promise<ArrayBuffer>;
1578
- };
1579
- slice: {
1580
- (start?: number | undefined, end?: number | undefined, contentType?: string | undefined): Blob;
1581
- (start?: number | undefined, end?: number | undefined, contentType?: string | undefined): Blob;
1582
- };
1583
- stream: {
1584
- (): ReadableStream<any>;
1585
- (): NodeJS.ReadableStream;
1586
- };
1587
- text: {
1588
- (): Promise<string>;
1589
- (): Promise<string>;
1590
- };
1591
- } | null | undefined;
1592
- thumbnailUrl?: string | null | undefined;
1593
- type?: string | null | undefined;
1594
- }[]>;
1595
- mergedDisabled: import("vue").ComputedRef<boolean>;
1596
1564
  mergedTheme: import("vue").ComputedRef<{
1597
1565
  common: {
1598
1566
  baseColor: string;
@@ -1817,7 +1785,7 @@ declare const _default: import("vue").DefineComponent<{
1817
1785
  textColorFocusSuccess: string;
1818
1786
  textColorDisabledSuccess: string;
1819
1787
  textColorTextSuccess: string;
1820
- textColorTextHoverSuccess: string;
1788
+ textColorTextHoverSuccess: string; /** currently of no usage */
1821
1789
  textColorTextPressedSuccess: string;
1822
1790
  textColorTextFocusSuccess: string;
1823
1791
  textColorTextDisabledSuccess: string;
@@ -1944,32 +1912,9 @@ declare const _default: import("vue").DefineComponent<{
1944
1912
  };
1945
1913
  }>;
1946
1914
  dragOver: import("vue").Ref<boolean>;
1947
- handleTriggerDrop: (e: DragEvent) => void;
1948
- handleTriggerDragLeave: (e: DragEvent) => void;
1949
- handleTriggerDragEnter: (e: DragEvent) => void;
1950
- handleTriggerDragOver: (e: DragEvent) => void;
1951
- handleTriggerClick: () => void;
1952
1915
  handleFileInputChange: (e: Event) => void;
1953
1916
  submit: (fileId?: string | undefined) => void;
1954
- openFileDialog: () => void;
1955
- cssVars: import("vue").ComputedRef<{
1956
- '--bezier': string;
1957
- '--border-radius': string;
1958
- '--dragger-border': string;
1959
- '--dragger-border-hover': string;
1960
- '--dragger-color': string;
1961
- '--font-size': string;
1962
- '--item-color-hover': string;
1963
- '--item-color-hover-error': string;
1964
- '--item-disabled-opacity': string;
1965
- '--item-icon-color': string;
1966
- '--item-text-color': string;
1967
- '--item-text-color-error': string;
1968
- '--item-text-color-success': string;
1969
- '--line-height': string;
1970
- '--item-border-image-card-error': string;
1971
- '--item-border-image-card': string;
1972
- }>;
1917
+ cssVars: import("vue").ComputedRef<any>;
1973
1918
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
1974
1919
  readonly name?: unknown;
1975
1920
  readonly accept?: unknown;
@@ -2000,11 +1945,13 @@ declare const _default: import("vue").DefineComponent<{
2000
1945
  readonly listType?: unknown;
2001
1946
  readonly onPreview?: unknown;
2002
1947
  readonly createThumbnailUrl?: unknown;
1948
+ readonly abstract?: unknown;
2003
1949
  readonly theme?: unknown;
2004
1950
  readonly themeOverrides?: unknown;
2005
1951
  readonly builtinThemeOverrides?: unknown;
2006
1952
  } & {
2007
1953
  method: string;
1954
+ abstract: boolean;
2008
1955
  name: string;
2009
1956
  multiple: boolean;
2010
1957
  listType: listType;
@@ -2147,7 +2094,7 @@ declare const _default: import("vue").DefineComponent<{
2147
2094
  textColorFocusSuccess: string;
2148
2095
  textColorDisabledSuccess: string;
2149
2096
  textColorTextSuccess: string;
2150
- textColorTextHoverSuccess: string;
2097
+ textColorTextHoverSuccess: string; /** currently of no usage */
2151
2098
  textColorTextPressedSuccess: string;
2152
2099
  textColorTextFocusSuccess: string;
2153
2100
  textColorTextDisabledSuccess: string;
@@ -2383,7 +2330,7 @@ declare const _default: import("vue").DefineComponent<{
2383
2330
  textColorFocusSuccess: string;
2384
2331
  textColorDisabledSuccess: string;
2385
2332
  textColorTextSuccess: string;
2386
- textColorTextHoverSuccess: string;
2333
+ textColorTextHoverSuccess: string; /** currently of no usage */
2387
2334
  textColorTextPressedSuccess: string;
2388
2335
  textColorTextFocusSuccess: string;
2389
2336
  textColorTextDisabledSuccess: string;
@@ -2619,7 +2566,7 @@ declare const _default: import("vue").DefineComponent<{
2619
2566
  textColorFocusSuccess: string;
2620
2567
  textColorDisabledSuccess: string;
2621
2568
  textColorTextSuccess: string;
2622
- textColorTextHoverSuccess: string;
2569
+ textColorTextHoverSuccess: string; /** currently of no usage */
2623
2570
  textColorTextPressedSuccess: string;
2624
2571
  textColorTextFocusSuccess: string;
2625
2572
  textColorTextDisabledSuccess: string;
@@ -2744,6 +2691,7 @@ declare const _default: import("vue").DefineComponent<{
2744
2691
  createThumbnailUrl?: CreateThumbnailUrl | undefined;
2745
2692
  }>, {
2746
2693
  method: string;
2694
+ abstract: boolean;
2747
2695
  name: string;
2748
2696
  multiple: boolean;
2749
2697
  disabled: boolean | undefined;
@@ -7,19 +7,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { h, defineComponent, computed, provide, toRef, ref } from 'vue';
10
+ import { h, defineComponent, computed, provide, toRef, ref, Fragment, Teleport, nextTick } from 'vue';
11
11
  import { createId } from 'seemly';
12
12
  import { useMergedState } from 'vooks';
13
13
  import { useConfig, useTheme, useFormItem } from '../../_mixins';
14
- import { getFirstSlotVNode, warn, call } from '../../_utils';
15
- import { NFadeInExpandTransition } from '../../_internal';
14
+ import { warn, call, throwError } from '../../_utils';
16
15
  import { uploadLight } from '../styles';
17
- import NUploadFile from './UploadFile';
18
- import NUploadDragger, { uploadDraggerKey } from './UploadDragger';
16
+ import { uploadDraggerKey } from './UploadDragger';
19
17
  import style from './styles/index.cssr';
20
18
  import { uploadInjectionKey } from './interface';
21
19
  import { createImageDataUrl } from './utils';
22
- import { NImageGroup } from '../../image';
20
+ import NUploadTrigger from './UploadTrigger';
21
+ import NUploadFileList from './UploadFileList';
23
22
  /**
24
23
  * fils status ['pending', 'uploading', 'finished', 'removed', 'error']
25
24
  */
@@ -163,11 +162,14 @@ const uploadProps = Object.assign(Object.assign({}, useTheme.props), { name: {
163
162
  }, listType: {
164
163
  type: String,
165
164
  default: 'text'
166
- }, onPreview: Function, createThumbnailUrl: Function });
165
+ }, onPreview: Function, createThumbnailUrl: Function, abstract: Boolean });
167
166
  export default defineComponent({
168
167
  name: 'Upload',
169
168
  props: uploadProps,
170
169
  setup(props) {
170
+ if (props.abstract && props.listType === 'image-card') {
171
+ throwError('upload', 'when the list-type is image-card, abstract is not supported.');
172
+ }
171
173
  const { mergedClsPrefixRef } = useConfig(props);
172
174
  const themeRef = useTheme('Upload', 'Upload', style, uploadLight, props, mergedClsPrefixRef);
173
175
  const formItem = useFormItem(props);
@@ -185,34 +187,6 @@ export default defineComponent({
185
187
  var _a;
186
188
  (_a = inputElRef.value) === null || _a === void 0 ? void 0 : _a.click();
187
189
  }
188
- function handleTriggerClick() {
189
- if (mergedDisabledRef.value)
190
- return;
191
- openFileDialog();
192
- }
193
- function handleTriggerDragOver(e) {
194
- e.preventDefault();
195
- dragOverRef.value = true;
196
- }
197
- function handleTriggerDragEnter(e) {
198
- e.preventDefault();
199
- dragOverRef.value = true;
200
- }
201
- function handleTriggerDragLeave(e) {
202
- e.preventDefault();
203
- dragOverRef.value = false;
204
- }
205
- function handleTriggerDrop(e) {
206
- e.preventDefault();
207
- if (!draggerInsideRef.value || mergedDisabledRef.value)
208
- return;
209
- const dataTransfer = e.dataTransfer;
210
- const files = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.files;
211
- if (files) {
212
- handleFileAddition(files);
213
- }
214
- dragOverRef.value = false;
215
- }
216
190
  function handleFileInputChange(e) {
217
191
  const target = e.target;
218
192
  handleFileAddition(target.files, e);
@@ -248,11 +222,23 @@ export default defineComponent({
248
222
  file: fileInfo,
249
223
  fileList: mergedFileListRef.value
250
224
  })) !== false) {
251
- doChange(fileInfo, e, {
252
- append: true
253
- });
225
+ return fileInfo;
254
226
  }
255
- }))).then(() => {
227
+ return null;
228
+ })))
229
+ .then((fileInfos) => __awaiter(this, void 0, void 0, function* () {
230
+ let nextTickChain = Promise.resolve();
231
+ fileInfos.forEach((fileInfo) => {
232
+ nextTickChain = nextTickChain.then(nextTick).then(() => {
233
+ fileInfo &&
234
+ doChange(fileInfo, e, {
235
+ append: true
236
+ });
237
+ });
238
+ });
239
+ return yield nextTickChain;
240
+ }))
241
+ .then(() => {
256
242
  if (props.defaultUpload) {
257
243
  submit();
258
244
  }
@@ -322,6 +308,27 @@ export default defineComponent({
322
308
  : yield createImageDataUrl(file.file);
323
309
  });
324
310
  }
311
+ const cssVarsRef = computed(() => {
312
+ const { common: { cubicBezierEaseInOut }, self: { draggerColor, draggerBorder, draggerBorderHover, itemColorHover, itemColorHoverError, itemTextColorError, itemTextColorSuccess, itemTextColor, itemIconColor, itemDisabledOpacity, lineHeight, borderRadius, fontSize, itemBorderImageCardError, itemBorderImageCard } } = themeRef.value;
313
+ return {
314
+ '--bezier': cubicBezierEaseInOut,
315
+ '--border-radius': borderRadius,
316
+ '--dragger-border': draggerBorder,
317
+ '--dragger-border-hover': draggerBorderHover,
318
+ '--dragger-color': draggerColor,
319
+ '--font-size': fontSize,
320
+ '--item-color-hover': itemColorHover,
321
+ '--item-color-hover-error': itemColorHoverError,
322
+ '--item-disabled-opacity': itemDisabledOpacity,
323
+ '--item-icon-color': itemIconColor,
324
+ '--item-text-color': itemTextColor,
325
+ '--item-text-color-error': itemTextColorError,
326
+ '--item-text-color-success': itemTextColorSuccess,
327
+ '--line-height': lineHeight,
328
+ '--item-border-image-card-error': itemBorderImageCardError,
329
+ '--item-border-image-card': itemBorderImageCard
330
+ };
331
+ });
325
332
  provide(uploadInjectionKey, {
326
333
  mergedClsPrefixRef,
327
334
  mergedThemeRef: themeRef,
@@ -338,81 +345,47 @@ export default defineComponent({
338
345
  doChange,
339
346
  showPreivewButtonRef: toRef(props, 'showPreivewButton'),
340
347
  onPreviewRef: toRef(props, 'onPreview'),
341
- getFileThumbnailUrl
348
+ getFileThumbnailUrl,
349
+ listTypeRef: toRef(props, 'listType'),
350
+ dragOverRef,
351
+ openFileDialog,
352
+ draggerInsideRef,
353
+ handleFileAddition,
354
+ mergedDisabledRef,
355
+ fileListStyleRef: toRef(props, 'fileListStyle'),
356
+ abstractRef: toRef(props, 'abstract'),
357
+ cssVarsRef
342
358
  });
343
359
  return {
344
360
  mergedClsPrefix: mergedClsPrefixRef,
345
361
  draggerInsideRef,
346
362
  inputElRef,
347
- mergedFileList: mergedFileListRef,
348
- mergedDisabled: mergedDisabledRef,
349
363
  mergedTheme: themeRef,
350
364
  dragOver: dragOverRef,
351
- handleTriggerDrop,
352
- handleTriggerDragLeave,
353
- handleTriggerDragEnter,
354
- handleTriggerDragOver,
355
- handleTriggerClick,
356
365
  handleFileInputChange,
357
366
  submit,
358
- openFileDialog,
359
- cssVars: computed(() => {
360
- const { common: { cubicBezierEaseInOut }, self: { draggerColor, draggerBorder, draggerBorderHover, itemColorHover, itemColorHoverError, itemTextColorError, itemTextColorSuccess, itemTextColor, itemIconColor, itemDisabledOpacity, lineHeight, borderRadius, fontSize, itemBorderImageCardError, itemBorderImageCard } } = themeRef.value;
361
- return {
362
- '--bezier': cubicBezierEaseInOut,
363
- '--border-radius': borderRadius,
364
- '--dragger-border': draggerBorder,
365
- '--dragger-border-hover': draggerBorderHover,
366
- '--dragger-color': draggerColor,
367
- '--font-size': fontSize,
368
- '--item-color-hover': itemColorHover,
369
- '--item-color-hover-error': itemColorHoverError,
370
- '--item-disabled-opacity': itemDisabledOpacity,
371
- '--item-icon-color': itemIconColor,
372
- '--item-text-color': itemTextColor,
373
- '--item-text-color-error': itemTextColorError,
374
- '--item-text-color-success': itemTextColorSuccess,
375
- '--line-height': lineHeight,
376
- '--item-border-image-card-error': itemBorderImageCardError,
377
- '--item-border-image-card': itemBorderImageCard
378
- };
379
- })
367
+ cssVars: cssVarsRef
380
368
  };
381
369
  },
382
370
  render() {
383
- var _a;
384
- const { draggerInsideRef, mergedClsPrefix, listType, $slots } = this;
385
- if ($slots.default) {
386
- const firstChild = getFirstSlotVNode($slots, 'default');
387
- // @ts-expect-error
388
- if ((_a = firstChild === null || firstChild === void 0 ? void 0 : firstChild.type) === null || _a === void 0 ? void 0 : _a[uploadDraggerKey]) {
371
+ var _a, _b, _c;
372
+ const { draggerInsideRef, mergedClsPrefix, $slots } = this;
373
+ if ($slots.default && !this.abstract) {
374
+ const firstChild = $slots.default()[0];
375
+ if ((_b = (_a = firstChild) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b[uploadDraggerKey]) {
389
376
  draggerInsideRef.value = true;
390
377
  }
391
378
  }
392
- const isImageCardType = listType === 'image-card';
393
- const uploadTrigger = (h("div", { class: [
394
- `${mergedClsPrefix}-upload__trigger`,
395
- isImageCardType && `${mergedClsPrefix}-upload__trigger--image-card`
396
- ], onClick: this.handleTriggerClick, onDrop: this.handleTriggerDrop, onDragover: this.handleTriggerDragOver, onDragenter: this.handleTriggerDragEnter, onDragleave: this.handleTriggerDragLeave }, isImageCardType ? (h(NUploadDragger, null, this.$slots)) : (this.$slots)));
397
- const createFileList = () => this.mergedFileList.map((file) => (h(NUploadFile, { clsPrefix: mergedClsPrefix, key: file.id, file: file, listType: listType })));
398
- const uploadFileList = isImageCardType ? (h(NImageGroup, null, { default: createFileList })) : (h(NFadeInExpandTransition, { group: true }, {
399
- default: createFileList
400
- }));
401
- return (h("div", { class: [
379
+ const inputNode = (h("input", { ref: "inputElRef", type: "file", class: `${mergedClsPrefix}-upload-file-input`, accept: this.accept, multiple: this.multiple, onChange: this.handleFileInputChange }));
380
+ return this.abstract ? (h(Fragment, null, (_c = $slots.default) === null || _c === void 0 ? void 0 :
381
+ _c.call($slots),
382
+ h(Teleport, { to: "body" }, inputNode))) : (h("div", { class: [
402
383
  `${mergedClsPrefix}-upload`,
403
- {
404
- [`${mergedClsPrefix}-upload--dragger-inside`]: draggerInsideRef.value,
405
- [`${mergedClsPrefix}-upload--drag-over`]: this.dragOver,
406
- [`${mergedClsPrefix}-upload--disabled`]: this.mergedDisabled
407
- }
384
+ draggerInsideRef.value && `${mergedClsPrefix}-upload--dragger-inside`,
385
+ this.dragOver && `${mergedClsPrefix}-upload--drag-over`
408
386
  ], style: this.cssVars },
409
- h("input", { ref: "inputElRef", type: "file", class: `${mergedClsPrefix}-upload__file-input`, accept: this.accept, multiple: this.multiple, onChange: this.handleFileInputChange }),
410
- this.listType !== 'image-card' && uploadTrigger,
411
- this.showFileList && (h("div", { class: [
412
- `${mergedClsPrefix}-upload-file-list`,
413
- isImageCardType && `${mergedClsPrefix}-upload-file-list--grid`
414
- ], style: this.fileListStyle },
415
- uploadFileList,
416
- isImageCardType && uploadTrigger))));
387
+ inputNode,
388
+ this.listType !== 'image-card' && (h(NUploadTrigger, null, $slots)),
389
+ this.showFileList && h(NUploadFileList, null, $slots)));
417
390
  }
418
391
  });
@@ -10,6 +10,12 @@ export default defineComponent({
10
10
  if (!NUpload) {
11
11
  throwError('upload-dragger', '`n-upload-dragger` must be placed inside `n-upload`.');
12
12
  }
13
- return () => (h("div", { class: `${NUpload.mergedClsPrefixRef.value}-upload-dragger` }, slots));
13
+ return () => {
14
+ const { mergedClsPrefixRef: { value: mergedClsPrefix }, mergedDisabledRef: { value: mergedDisabled } } = NUpload;
15
+ return (h("div", { class: [
16
+ `${mergedClsPrefix}-upload-dragger`,
17
+ mergedDisabled && `${mergedClsPrefix}-upload-dragger--disabled`
18
+ ] }, slots));
19
+ };
14
20
  }
15
21
  });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
2
+ export default _default;
@@ -0,0 +1,34 @@
1
+ import { h, defineComponent, inject, computed } from 'vue';
2
+ import { throwError } from '../../_utils';
3
+ import { uploadInjectionKey } from './interface';
4
+ import NUploadFile from './UploadFile';
5
+ import { NImageGroup } from '../../image';
6
+ import { NFadeInExpandTransition } from '../../_internal';
7
+ import NUploadTrigger from './UploadTrigger';
8
+ export default defineComponent({
9
+ name: 'UploadFileList',
10
+ setup(_, { slots }) {
11
+ const NUpload = inject(uploadInjectionKey, null);
12
+ if (!NUpload) {
13
+ throwError('upload-file-list', '`n-upload-file-list` must be placed inside `n-upload`.');
14
+ }
15
+ const { mergedClsPrefixRef, listTypeRef, mergedFileListRef, fileListStyleRef, cssVarsRef, mergedDisabledRef } = NUpload;
16
+ const isImageCardTypeRef = computed(() => listTypeRef.value === 'image-card');
17
+ const renderFileList = () => mergedFileListRef.value.map((file) => (h(NUploadFile, { clsPrefix: mergedClsPrefixRef.value, key: file.id, file: file, listType: listTypeRef.value })));
18
+ const renderUploadFileList = () => isImageCardTypeRef.value ? (h(NImageGroup, null, { default: renderFileList })) : (h(NFadeInExpandTransition, { group: true }, {
19
+ default: renderFileList
20
+ }));
21
+ return () => {
22
+ const { value: mergedClsPrefix } = mergedClsPrefixRef;
23
+ return (h("div", { class: [
24
+ `${mergedClsPrefix}-upload-file-list`,
25
+ mergedDisabledRef.value &&
26
+ `${mergedClsPrefix}-upload-file-list--disabled`,
27
+ isImageCardTypeRef.value &&
28
+ `${mergedClsPrefix}-upload-file-list--grid`
29
+ ], style: [cssVarsRef.value, fileListStyleRef.value] },
30
+ renderUploadFileList(),
31
+ isImageCardTypeRef.value && h(NUploadTrigger, null, slots)));
32
+ };
33
+ }
34
+ });
@@ -9,10 +9,6 @@ declare const _default: import("vue").DefineComponent<{
9
9
  type: PropType<"error" | "info" | "success">;
10
10
  required: true;
11
11
  };
12
- delay: {
13
- type: NumberConstructor;
14
- default: number;
15
- };
16
12
  }, {
17
13
  mergedTheme: import("vue").Ref<{
18
14
  common: {
@@ -368,14 +364,11 @@ declare const _default: import("vue").DefineComponent<{
368
364
  show?: unknown;
369
365
  percentage?: unknown;
370
366
  status?: unknown;
371
- delay?: unknown;
372
367
  } & {
373
368
  show: boolean;
374
- delay: number;
375
369
  percentage: number;
376
370
  status: "error" | "info" | "success";
377
371
  } & {}>, {
378
372
  show: boolean;
379
- delay: number;
380
373
  }>;
381
374
  export default _default;
@@ -13,13 +13,9 @@ export default defineComponent({
13
13
  status: {
14
14
  type: String,
15
15
  required: true
16
- },
17
- delay: {
18
- type: Number,
19
- default: 900
20
16
  }
21
17
  },
22
- setup(props) {
18
+ setup() {
23
19
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
24
20
  const NUpload = inject(uploadInjectionKey);
25
21
  return {
@@ -0,0 +1,12 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ abstract: BooleanConstructor;
3
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
4
+ [key: string]: any;
5
+ }>[] | JSX.Element | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
6
+ abstract?: unknown;
7
+ } & {
8
+ abstract: boolean;
9
+ } & {}>, {
10
+ abstract: boolean;
11
+ }>;
12
+ export default _default;
@@ -0,0 +1,63 @@
1
+ import { h, defineComponent, inject, computed } from 'vue';
2
+ import { throwError } from '../../_utils';
3
+ import { uploadInjectionKey } from './interface';
4
+ import NUploadDragger from './UploadDragger';
5
+ export default defineComponent({
6
+ name: 'UploadTrigger',
7
+ props: {
8
+ abstract: Boolean
9
+ },
10
+ setup(props, { slots }) {
11
+ const NUpload = inject(uploadInjectionKey, null);
12
+ if (!NUpload) {
13
+ throwError('upload-trigger', '`n-upload-trigger` must be placed inside `n-upload`.');
14
+ }
15
+ const { mergedClsPrefixRef, mergedDisabledRef, listTypeRef, disabledRef, dragOverRef, openFileDialog, draggerInsideRef, handleFileAddition } = NUpload;
16
+ const isImageCardTypeRef = computed(() => listTypeRef.value === 'image-card');
17
+ function handleTriggerClick() {
18
+ if (disabledRef.value)
19
+ return;
20
+ openFileDialog();
21
+ }
22
+ function handleTriggerDragOver(e) {
23
+ e.preventDefault();
24
+ dragOverRef.value = true;
25
+ }
26
+ function handleTriggerDragEnter(e) {
27
+ e.preventDefault();
28
+ dragOverRef.value = true;
29
+ }
30
+ function handleTriggerDragLeave(e) {
31
+ e.preventDefault();
32
+ dragOverRef.value = false;
33
+ }
34
+ function handleTriggerDrop(e) {
35
+ e.preventDefault();
36
+ if (!draggerInsideRef.value || disabledRef.value)
37
+ return;
38
+ const dataTransfer = e.dataTransfer;
39
+ const files = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.files;
40
+ if (files) {
41
+ handleFileAddition(files);
42
+ }
43
+ dragOverRef.value = false;
44
+ }
45
+ return () => {
46
+ var _a;
47
+ const { value: mergedClsPrefix } = mergedClsPrefixRef;
48
+ return props.abstract ? ((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots, {
49
+ handleClick: handleTriggerClick,
50
+ handleDrop: handleTriggerDrop,
51
+ handleDragOver: handleTriggerDragOver,
52
+ handleDragEnter: handleTriggerDragEnter,
53
+ handleDragLeave: handleTriggerDragLeave
54
+ })) : (h("div", { class: [
55
+ `${mergedClsPrefix}-upload-trigger`,
56
+ mergedDisabledRef.value &&
57
+ `${mergedClsPrefix}-upload-trigger--disabled`,
58
+ isImageCardTypeRef.value &&
59
+ `${mergedClsPrefix}-upload-trigger--image-card`
60
+ ], onClick: handleTriggerClick, onDrop: handleTriggerDrop, onDragover: handleTriggerDragOver, onDragenter: handleTriggerDragEnter, onDragleave: handleTriggerDragLeave }, isImageCardTypeRef.value ? (h(NUploadDragger, null, slots)) : (slots)));
61
+ };
62
+ }
63
+ });
@@ -1,4 +1,4 @@
1
- import { Ref, InjectionKey } from 'vue';
1
+ import { Ref, InjectionKey, CSSProperties } from 'vue';
2
2
  import type { MergedTheme } from '../../_mixins';
3
3
  import type { UploadTheme } from '../styles';
4
4
  export interface FileInfo {
@@ -50,11 +50,22 @@ export interface UploadInjection {
50
50
  onRemoveRef: Ref<OnRemove | undefined>;
51
51
  onDownloadRef: Ref<OnDownload | undefined>;
52
52
  XhrMap: Map<string, XMLHttpRequest>;
53
- submit: (fileId?: string) => void;
54
53
  doChange: DoChange;
55
54
  showPreivewButtonRef: Ref<boolean>;
56
55
  onPreviewRef: Ref<OnPreview | undefined>;
56
+ listTypeRef: Ref<listType>;
57
+ dragOverRef: Ref<boolean>;
58
+ draggerInsideRef: {
59
+ value: boolean;
60
+ };
61
+ fileListStyleRef: Ref<string | CSSProperties | undefined>;
62
+ mergedDisabledRef: Ref<boolean>;
63
+ abstractRef: Ref<boolean>;
64
+ cssVarsRef: Ref<CSSProperties>;
65
+ submit: (fileId?: string) => void;
57
66
  getFileThumbnailUrl: (file: FileInfo) => Promise<string>;
67
+ handleFileAddition: (files: FileList | null, e?: Event) => void;
68
+ openFileDialog: () => void;
58
69
  }
59
70
  export declare const uploadInjectionKey: InjectionKey<UploadInjection>;
60
71
  export interface XhrHandlers {