naive-ui 2.31.0 → 2.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/index.js +3197 -1769
  2. package/dist/index.prod.js +1 -1
  3. package/es/_internal/scrollbar/src/Scrollbar.d.ts +5 -0
  4. package/es/_internal/scrollbar/src/Scrollbar.js +49 -26
  5. package/es/_internal/scrollbar/src/styles/index.cssr.js +1 -1
  6. package/es/_internal/scrollbar/src/styles/rtl.cssr.d.ts +2 -0
  7. package/es/_internal/scrollbar/src/styles/rtl.cssr.js +10 -0
  8. package/es/_internal/scrollbar/styles/index.d.ts +1 -0
  9. package/es/_internal/scrollbar/styles/index.js +1 -0
  10. package/es/_internal/scrollbar/styles/rtl.d.ts +3 -0
  11. package/es/_internal/scrollbar/styles/rtl.js +6 -0
  12. package/es/_internal/selection/src/Selection.js +4 -2
  13. package/es/_internal/selection/src/styles/index.cssr.js +4 -1
  14. package/es/_mixins/index.d.ts +1 -0
  15. package/es/_mixins/index.js +1 -0
  16. package/es/_utils/naive/extract-public-props.d.ts +4 -1
  17. package/es/auto-complete/src/AutoComplete.d.ts +1 -0
  18. package/es/avatar/src/Avatar.d.ts +0 -1
  19. package/es/avatar/src/Avatar.js +12 -10
  20. package/es/button/src/Button.js +3 -0
  21. package/es/carousel/src/Carousel.d.ts +16 -37
  22. package/es/carousel/src/Carousel.js +269 -272
  23. package/es/carousel/src/CarouselArrow.js +3 -5
  24. package/es/carousel/src/CarouselContext.d.ts +21 -0
  25. package/es/carousel/src/CarouselContext.js +11 -0
  26. package/es/carousel/src/CarouselDots.d.ts +1 -1
  27. package/es/carousel/src/CarouselDots.js +23 -31
  28. package/es/carousel/src/CarouselItem.d.ts +4 -4
  29. package/es/carousel/src/CarouselItem.js +17 -36
  30. package/es/carousel/src/interface.d.ts +12 -31
  31. package/es/carousel/src/interface.js +1 -3
  32. package/es/carousel/src/styles/index.cssr.js +8 -3
  33. package/es/carousel/src/{utils.d.ts → utils/duplicatedLogic.d.ts} +3 -8
  34. package/es/carousel/src/utils/duplicatedLogic.js +46 -0
  35. package/es/carousel/src/utils/event.d.ts +1 -0
  36. package/es/carousel/src/utils/event.js +3 -0
  37. package/es/carousel/src/utils/index.d.ts +6 -0
  38. package/es/carousel/src/{utils.js → utils/index.js} +3 -28
  39. package/es/checkbox/src/CheckboxGroup.d.ts +27 -22
  40. package/es/checkbox/src/CheckboxGroup.js +58 -28
  41. package/es/code/src/Code.d.ts +16 -0
  42. package/es/code/src/Code.js +53 -12
  43. package/es/code/src/styles/index.cssr.js +14 -2
  44. package/es/code/styles/dark.js +4 -2
  45. package/es/code/styles/light.d.ts +1 -0
  46. package/es/code/styles/light.js +4 -2
  47. package/es/components.d.ts +1 -0
  48. package/es/components.js +1 -0
  49. package/es/config-provider/src/ConfigProvider.d.ts +24 -3
  50. package/es/config-provider/src/internal-interface.d.ts +4 -0
  51. package/es/date-picker/src/DatePicker.d.ts +1 -0
  52. package/es/date-picker/src/panel/daterange.d.ts +0 -1
  53. package/es/date-picker/src/panel/daterange.js +1 -1
  54. package/es/date-picker/src/panel/datetimerange.d.ts +0 -1
  55. package/es/date-picker/src/panel/datetimerange.js +1 -1
  56. package/es/date-picker/src/panel/monthrange.d.ts +0 -1
  57. package/es/date-picker/src/panel/monthrange.js +1 -1
  58. package/es/date-picker/src/panel/use-dual-calendar.d.ts +0 -1
  59. package/es/date-picker/src/panel/use-dual-calendar.js +0 -11
  60. package/es/dialog/src/DialogEnvironment.d.ts +4 -0
  61. package/es/dialog/src/DialogEnvironment.js +11 -4
  62. package/es/dialog/src/DialogProvider.d.ts +1 -0
  63. package/es/dynamic-tags/src/DynamicTags.d.ts +1 -0
  64. package/es/image/src/utils.d.ts +1 -1
  65. package/es/input/src/Input.d.ts +1 -0
  66. package/es/input/src/Input.js +19 -8
  67. package/es/input/src/interface.d.ts +1 -0
  68. package/es/input/src/styles/input.cssr.js +1 -6
  69. package/es/input-number/src/InputNumber.d.ts +1 -0
  70. package/es/input-number/src/InputNumber.js +4 -0
  71. package/es/legacy-grid/src/Row.d.ts +1 -0
  72. package/es/legacy-grid/src/Row.js +8 -3
  73. package/es/legacy-grid/src/styles/rtl.cssr.d.ts +2 -0
  74. package/es/legacy-grid/src/styles/rtl.cssr.js +21 -0
  75. package/es/legacy-grid/styles/dark.d.ts +4 -0
  76. package/es/legacy-grid/styles/dark.js +6 -0
  77. package/es/legacy-grid/styles/index.d.ts +4 -0
  78. package/es/legacy-grid/styles/index.js +3 -0
  79. package/es/legacy-grid/styles/light.d.ts +4 -0
  80. package/es/legacy-grid/styles/light.js +6 -0
  81. package/es/legacy-grid/styles/rtl.d.ts +2 -0
  82. package/es/legacy-grid/styles/rtl.js +5 -0
  83. package/es/legacy-transfer/index.d.ts +3 -0
  84. package/es/legacy-transfer/index.js +1 -0
  85. package/es/legacy-transfer/src/Transfer.d.ts +3631 -0
  86. package/es/legacy-transfer/src/Transfer.js +214 -0
  87. package/es/legacy-transfer/src/TransferFilter.d.ts +509 -0
  88. package/es/legacy-transfer/src/TransferFilter.js +40 -0
  89. package/es/legacy-transfer/src/TransferHeader.d.ts +25 -0
  90. package/es/legacy-transfer/src/TransferHeader.js +47 -0
  91. package/es/legacy-transfer/src/TransferList.d.ts +556 -0
  92. package/es/legacy-transfer/src/TransferList.js +93 -0
  93. package/es/legacy-transfer/src/TransferListItem.d.ts +513 -0
  94. package/es/legacy-transfer/src/TransferListItem.js +65 -0
  95. package/es/legacy-transfer/src/interface.d.ts +31 -0
  96. package/es/legacy-transfer/src/interface.js +2 -0
  97. package/es/legacy-transfer/src/styles/index.cssr.d.ts +2 -0
  98. package/es/legacy-transfer/src/styles/index.cssr.js +215 -0
  99. package/es/legacy-transfer/src/use-transfer-data.d.ts +41 -0
  100. package/es/legacy-transfer/src/use-transfer-data.js +145 -0
  101. package/es/legacy-transfer/styles/_common.d.ts +5 -0
  102. package/es/legacy-transfer/styles/_common.js +4 -0
  103. package/es/legacy-transfer/styles/dark.d.ts +3 -0
  104. package/es/legacy-transfer/styles/dark.js +27 -0
  105. package/es/legacy-transfer/styles/index.d.ts +3 -0
  106. package/es/legacy-transfer/styles/index.js +2 -0
  107. package/es/legacy-transfer/styles/light.d.ts +363 -0
  108. package/es/legacy-transfer/styles/light.js +31 -0
  109. package/es/locales/common/deDE.js +11 -6
  110. package/es/locales/common/enGB.js +8 -1
  111. package/es/locales/common/enUS.d.ts +8 -1
  112. package/es/locales/common/enUS.js +8 -1
  113. package/es/locales/common/eo.js +10 -2
  114. package/es/locales/common/esAR.js +9 -1
  115. package/es/locales/common/frFR.js +9 -1
  116. package/es/locales/common/idID.js +9 -1
  117. package/es/locales/common/itIT.js +9 -1
  118. package/es/locales/common/jaJP.js +9 -1
  119. package/es/locales/common/koKR.js +9 -1
  120. package/es/locales/common/nbNO.js +9 -1
  121. package/es/locales/common/nlNL.js +9 -1
  122. package/es/locales/common/plPL.js +9 -1
  123. package/es/locales/common/ptBR.js +9 -1
  124. package/es/locales/common/ruRU.js +9 -1
  125. package/es/locales/common/skSK.js +9 -1
  126. package/es/locales/common/thTH.js +9 -1
  127. package/es/locales/common/ukUA.js +9 -1
  128. package/es/locales/common/viVN.js +9 -1
  129. package/es/locales/common/zhCN.js +8 -1
  130. package/es/locales/common/zhTW.js +9 -1
  131. package/es/log/src/Log.d.ts +10 -0
  132. package/es/log/styles/light.d.ts +1 -0
  133. package/es/mention/src/Mention.d.ts +1 -0
  134. package/es/notification/src/Notification.d.ts +11 -1
  135. package/es/notification/src/Notification.js +6 -4
  136. package/es/notification/src/NotificationEnvironment.d.ts +12 -0
  137. package/es/notification/src/NotificationEnvironment.js +27 -2
  138. package/es/notification/src/NotificationProvider.d.ts +7 -0
  139. package/es/notification/src/NotificationProvider.js +4 -2
  140. package/es/pagination/src/Pagination.d.ts +1 -0
  141. package/es/progress/src/Circle.js +3 -1
  142. package/es/select/src/Select.js +3 -0
  143. package/es/statistic/src/Statistic.d.ts +1 -0
  144. package/es/statistic/src/Statistic.js +9 -3
  145. package/es/statistic/src/styles/rtl.cssr.d.ts +2 -0
  146. package/es/statistic/src/styles/rtl.cssr.js +9 -0
  147. package/es/statistic/styles/index.d.ts +1 -0
  148. package/es/statistic/styles/index.js +1 -0
  149. package/es/statistic/styles/rtl.d.ts +2 -0
  150. package/es/statistic/styles/rtl.js +5 -0
  151. package/es/styles.d.ts +6 -3
  152. package/es/styles.js +6 -3
  153. package/es/themes/dark.js +4 -0
  154. package/es/themes/light.js +4 -0
  155. package/es/thing/src/Thing.js +9 -3
  156. package/es/thing/src/styles/rtl.cssr.d.ts +2 -0
  157. package/es/thing/src/styles/rtl.cssr.js +8 -0
  158. package/es/thing/styles/index.d.ts +1 -0
  159. package/es/thing/styles/index.js +1 -0
  160. package/es/thing/styles/rtl.d.ts +2 -0
  161. package/es/thing/styles/rtl.js +8 -0
  162. package/es/time-picker/src/TimePicker.d.ts +1 -0
  163. package/es/transfer/index.d.ts +1 -1
  164. package/es/transfer/src/Transfer.d.ts +210 -90
  165. package/es/transfer/src/Transfer.js +67 -106
  166. package/es/transfer/src/TransferFilter.d.ts +18 -21
  167. package/es/transfer/src/TransferFilter.js +2 -10
  168. package/es/transfer/src/TransferHeader.d.ts +10 -12
  169. package/es/transfer/src/TransferHeader.js +24 -29
  170. package/es/transfer/src/TransferList.d.ts +20 -29
  171. package/es/transfer/src/TransferList.js +15 -32
  172. package/es/transfer/src/TransferListItem.d.ts +32 -19
  173. package/es/transfer/src/TransferListItem.js +33 -29
  174. package/es/transfer/src/interface.d.ts +21 -15
  175. package/es/transfer/src/styles/index.cssr.js +75 -139
  176. package/es/transfer/src/use-transfer-data.d.ts +13 -31
  177. package/es/transfer/src/use-transfer-data.js +45 -121
  178. package/es/transfer/styles/_common.d.ts +11 -2
  179. package/es/transfer/styles/_common.js +11 -2
  180. package/es/transfer/styles/dark.js +8 -4
  181. package/es/transfer/styles/light.d.ts +36 -10
  182. package/es/transfer/styles/light.js +7 -5
  183. package/es/tree/src/Tree.d.ts +1 -0
  184. package/es/tree/src/Tree.js +22 -16
  185. package/es/tree/src/TreeNode.d.ts +1 -0
  186. package/es/tree/src/TreeNode.js +5 -3
  187. package/es/tree/src/styles/rtl.cssr.d.ts +2 -0
  188. package/es/tree/src/styles/rtl.cssr.js +17 -0
  189. package/es/tree/styles/index.d.ts +1 -0
  190. package/es/tree/styles/index.js +1 -0
  191. package/es/tree/styles/rtl.d.ts +2 -0
  192. package/es/tree/styles/rtl.js +5 -0
  193. package/es/upload/src/interface.d.ts +2 -2
  194. package/es/version.d.ts +1 -1
  195. package/es/version.js +1 -1
  196. package/es/watermark/src/Watermark.d.ts +13 -0
  197. package/es/watermark/src/Watermark.js +35 -14
  198. package/es/watermark/src/styles/index.cssr.js +13 -0
  199. package/lib/_internal/scrollbar/src/Scrollbar.d.ts +5 -0
  200. package/lib/_internal/scrollbar/src/Scrollbar.js +47 -24
  201. package/lib/_internal/scrollbar/src/styles/index.cssr.js +1 -1
  202. package/lib/_internal/scrollbar/src/styles/rtl.cssr.d.ts +2 -0
  203. package/lib/_internal/scrollbar/src/styles/rtl.cssr.js +17 -0
  204. package/lib/_internal/scrollbar/styles/index.d.ts +1 -0
  205. package/lib/_internal/scrollbar/styles/index.js +3 -1
  206. package/lib/_internal/scrollbar/styles/rtl.d.ts +3 -0
  207. package/lib/_internal/scrollbar/styles/rtl.js +12 -0
  208. package/lib/_internal/selection/src/Selection.js +4 -2
  209. package/lib/_internal/selection/src/styles/index.cssr.js +4 -1
  210. package/lib/_mixins/index.d.ts +1 -0
  211. package/lib/_mixins/index.js +3 -1
  212. package/lib/_utils/naive/extract-public-props.d.ts +4 -1
  213. package/lib/auto-complete/src/AutoComplete.d.ts +1 -0
  214. package/lib/avatar/src/Avatar.d.ts +0 -1
  215. package/lib/avatar/src/Avatar.js +12 -10
  216. package/lib/button/src/Button.js +3 -0
  217. package/lib/carousel/src/Carousel.d.ts +16 -37
  218. package/lib/carousel/src/Carousel.js +290 -270
  219. package/lib/carousel/src/CarouselArrow.js +2 -4
  220. package/lib/carousel/src/CarouselContext.d.ts +21 -0
  221. package/lib/carousel/src/CarouselContext.js +16 -0
  222. package/lib/carousel/src/CarouselDots.d.ts +1 -1
  223. package/lib/carousel/src/CarouselDots.js +22 -30
  224. package/lib/carousel/src/CarouselItem.d.ts +4 -4
  225. package/lib/carousel/src/CarouselItem.js +18 -35
  226. package/lib/carousel/src/interface.d.ts +12 -31
  227. package/lib/carousel/src/interface.js +0 -5
  228. package/lib/carousel/src/styles/index.cssr.js +8 -3
  229. package/lib/carousel/src/{utils.d.ts → utils/duplicatedLogic.d.ts} +3 -8
  230. package/lib/carousel/src/utils/duplicatedLogic.js +55 -0
  231. package/lib/carousel/src/utils/event.d.ts +1 -0
  232. package/lib/carousel/src/utils/event.js +7 -0
  233. package/lib/carousel/src/utils/index.d.ts +6 -0
  234. package/lib/carousel/src/utils/index.js +53 -0
  235. package/lib/checkbox/src/CheckboxGroup.d.ts +27 -22
  236. package/lib/checkbox/src/CheckboxGroup.js +56 -26
  237. package/lib/code/src/Code.d.ts +16 -0
  238. package/lib/code/src/Code.js +53 -12
  239. package/lib/code/src/styles/index.cssr.js +13 -1
  240. package/lib/code/styles/dark.js +4 -2
  241. package/lib/code/styles/light.d.ts +1 -0
  242. package/lib/code/styles/light.js +4 -2
  243. package/lib/components.d.ts +1 -0
  244. package/lib/components.js +1 -0
  245. package/lib/config-provider/src/ConfigProvider.d.ts +24 -3
  246. package/lib/config-provider/src/internal-interface.d.ts +4 -0
  247. package/lib/date-picker/src/DatePicker.d.ts +1 -0
  248. package/lib/date-picker/src/panel/daterange.d.ts +0 -1
  249. package/lib/date-picker/src/panel/daterange.js +1 -1
  250. package/lib/date-picker/src/panel/datetimerange.d.ts +0 -1
  251. package/lib/date-picker/src/panel/datetimerange.js +1 -1
  252. package/lib/date-picker/src/panel/monthrange.d.ts +0 -1
  253. package/lib/date-picker/src/panel/monthrange.js +1 -1
  254. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +0 -1
  255. package/lib/date-picker/src/panel/use-dual-calendar.js +0 -11
  256. package/lib/dialog/src/DialogEnvironment.d.ts +4 -0
  257. package/lib/dialog/src/DialogEnvironment.js +11 -4
  258. package/lib/dialog/src/DialogProvider.d.ts +1 -0
  259. package/lib/dynamic-tags/src/DynamicTags.d.ts +1 -0
  260. package/lib/image/src/utils.d.ts +1 -1
  261. package/lib/input/src/Input.d.ts +1 -0
  262. package/lib/input/src/Input.js +19 -8
  263. package/lib/input/src/interface.d.ts +1 -0
  264. package/lib/input/src/styles/input.cssr.js +1 -6
  265. package/lib/input-number/src/InputNumber.d.ts +1 -0
  266. package/lib/input-number/src/InputNumber.js +4 -0
  267. package/lib/legacy-grid/src/Row.d.ts +1 -0
  268. package/lib/legacy-grid/src/Row.js +7 -2
  269. package/lib/legacy-grid/src/styles/rtl.cssr.d.ts +2 -0
  270. package/lib/legacy-grid/src/styles/rtl.cssr.js +28 -0
  271. package/lib/legacy-grid/styles/dark.d.ts +4 -0
  272. package/lib/legacy-grid/styles/dark.js +8 -0
  273. package/lib/legacy-grid/styles/index.d.ts +4 -0
  274. package/lib/legacy-grid/styles/index.js +12 -0
  275. package/lib/legacy-grid/styles/light.d.ts +4 -0
  276. package/lib/legacy-grid/styles/light.js +8 -0
  277. package/lib/legacy-grid/styles/rtl.d.ts +2 -0
  278. package/lib/legacy-grid/styles/rtl.js +11 -0
  279. package/lib/legacy-transfer/index.d.ts +3 -0
  280. package/lib/legacy-transfer/index.js +9 -0
  281. package/lib/legacy-transfer/src/Transfer.d.ts +3631 -0
  282. package/lib/legacy-transfer/src/Transfer.js +220 -0
  283. package/lib/legacy-transfer/src/TransferFilter.d.ts +509 -0
  284. package/lib/legacy-transfer/src/TransferFilter.js +42 -0
  285. package/lib/legacy-transfer/src/TransferHeader.d.ts +25 -0
  286. package/lib/legacy-transfer/src/TransferHeader.js +49 -0
  287. package/lib/legacy-transfer/src/TransferList.d.ts +556 -0
  288. package/lib/legacy-transfer/src/TransferList.js +98 -0
  289. package/lib/legacy-transfer/src/TransferListItem.d.ts +513 -0
  290. package/lib/legacy-transfer/src/TransferListItem.js +67 -0
  291. package/lib/legacy-transfer/src/interface.d.ts +31 -0
  292. package/lib/legacy-transfer/src/interface.js +5 -0
  293. package/lib/legacy-transfer/src/styles/index.cssr.d.ts +2 -0
  294. package/lib/legacy-transfer/src/styles/index.cssr.js +223 -0
  295. package/lib/legacy-transfer/src/use-transfer-data.d.ts +41 -0
  296. package/lib/legacy-transfer/src/use-transfer-data.js +149 -0
  297. package/lib/legacy-transfer/styles/_common.d.ts +5 -0
  298. package/lib/legacy-transfer/styles/_common.js +6 -0
  299. package/lib/legacy-transfer/styles/dark.d.ts +3 -0
  300. package/lib/legacy-transfer/styles/dark.js +32 -0
  301. package/lib/legacy-transfer/styles/index.d.ts +3 -0
  302. package/lib/legacy-transfer/styles/index.js +10 -0
  303. package/lib/legacy-transfer/styles/light.d.ts +363 -0
  304. package/lib/legacy-transfer/styles/light.js +36 -0
  305. package/lib/locales/common/deDE.js +11 -6
  306. package/lib/locales/common/enGB.js +8 -1
  307. package/lib/locales/common/enUS.d.ts +8 -1
  308. package/lib/locales/common/enUS.js +8 -1
  309. package/lib/locales/common/eo.js +10 -2
  310. package/lib/locales/common/esAR.js +9 -1
  311. package/lib/locales/common/frFR.js +9 -1
  312. package/lib/locales/common/idID.js +9 -1
  313. package/lib/locales/common/itIT.js +9 -1
  314. package/lib/locales/common/jaJP.js +9 -1
  315. package/lib/locales/common/koKR.js +9 -1
  316. package/lib/locales/common/nbNO.js +9 -1
  317. package/lib/locales/common/nlNL.js +9 -1
  318. package/lib/locales/common/plPL.js +9 -1
  319. package/lib/locales/common/ptBR.js +9 -1
  320. package/lib/locales/common/ruRU.js +9 -1
  321. package/lib/locales/common/skSK.js +9 -1
  322. package/lib/locales/common/thTH.js +9 -1
  323. package/lib/locales/common/ukUA.js +9 -1
  324. package/lib/locales/common/viVN.js +9 -1
  325. package/lib/locales/common/zhCN.js +8 -1
  326. package/lib/locales/common/zhTW.js +9 -1
  327. package/lib/log/src/Log.d.ts +10 -0
  328. package/lib/log/styles/light.d.ts +1 -0
  329. package/lib/mention/src/Mention.d.ts +1 -0
  330. package/lib/notification/src/Notification.d.ts +11 -1
  331. package/lib/notification/src/Notification.js +6 -4
  332. package/lib/notification/src/NotificationEnvironment.d.ts +12 -0
  333. package/lib/notification/src/NotificationEnvironment.js +27 -2
  334. package/lib/notification/src/NotificationProvider.d.ts +7 -0
  335. package/lib/notification/src/NotificationProvider.js +4 -2
  336. package/lib/pagination/src/Pagination.d.ts +1 -0
  337. package/lib/progress/src/Circle.js +3 -1
  338. package/lib/select/src/Select.js +3 -0
  339. package/lib/statistic/src/Statistic.d.ts +1 -0
  340. package/lib/statistic/src/Statistic.js +8 -2
  341. package/lib/statistic/src/styles/rtl.cssr.d.ts +2 -0
  342. package/lib/statistic/src/styles/rtl.cssr.js +16 -0
  343. package/lib/statistic/styles/index.d.ts +1 -0
  344. package/lib/statistic/styles/index.js +3 -1
  345. package/lib/statistic/styles/rtl.d.ts +2 -0
  346. package/lib/statistic/styles/rtl.js +11 -0
  347. package/lib/styles.d.ts +6 -3
  348. package/lib/styles.js +151 -142
  349. package/lib/themes/dark.js +82 -78
  350. package/lib/themes/light.js +82 -78
  351. package/lib/thing/src/Thing.js +8 -2
  352. package/lib/thing/src/styles/rtl.cssr.d.ts +2 -0
  353. package/lib/thing/src/styles/rtl.cssr.js +15 -0
  354. package/lib/thing/styles/index.d.ts +1 -0
  355. package/lib/thing/styles/index.js +3 -1
  356. package/lib/thing/styles/rtl.d.ts +2 -0
  357. package/lib/thing/styles/rtl.js +14 -0
  358. package/lib/time-picker/src/TimePicker.d.ts +1 -0
  359. package/lib/transfer/index.d.ts +1 -1
  360. package/lib/transfer/src/Transfer.d.ts +210 -90
  361. package/lib/transfer/src/Transfer.js +63 -102
  362. package/lib/transfer/src/TransferFilter.d.ts +18 -21
  363. package/lib/transfer/src/TransferFilter.js +2 -10
  364. package/lib/transfer/src/TransferHeader.d.ts +10 -12
  365. package/lib/transfer/src/TransferHeader.js +23 -28
  366. package/lib/transfer/src/TransferList.d.ts +20 -29
  367. package/lib/transfer/src/TransferList.js +14 -31
  368. package/lib/transfer/src/TransferListItem.d.ts +32 -19
  369. package/lib/transfer/src/TransferListItem.js +33 -29
  370. package/lib/transfer/src/interface.d.ts +21 -15
  371. package/lib/transfer/src/styles/index.cssr.js +74 -139
  372. package/lib/transfer/src/use-transfer-data.d.ts +13 -31
  373. package/lib/transfer/src/use-transfer-data.js +44 -120
  374. package/lib/transfer/styles/_common.d.ts +11 -2
  375. package/lib/transfer/styles/_common.js +11 -2
  376. package/lib/transfer/styles/dark.js +8 -4
  377. package/lib/transfer/styles/light.d.ts +36 -10
  378. package/lib/transfer/styles/light.js +7 -5
  379. package/lib/tree/src/Tree.d.ts +1 -0
  380. package/lib/tree/src/Tree.js +21 -15
  381. package/lib/tree/src/TreeNode.d.ts +1 -0
  382. package/lib/tree/src/TreeNode.js +5 -3
  383. package/lib/tree/src/styles/rtl.cssr.d.ts +2 -0
  384. package/lib/tree/src/styles/rtl.cssr.js +24 -0
  385. package/lib/tree/styles/index.d.ts +1 -0
  386. package/lib/tree/styles/index.js +3 -1
  387. package/lib/tree/styles/rtl.d.ts +2 -0
  388. package/lib/tree/styles/rtl.js +11 -0
  389. package/lib/upload/src/interface.d.ts +2 -2
  390. package/lib/version.d.ts +1 -1
  391. package/lib/version.js +1 -1
  392. package/lib/watermark/src/Watermark.d.ts +13 -0
  393. package/lib/watermark/src/Watermark.js +34 -13
  394. package/lib/watermark/src/styles/index.cssr.js +13 -0
  395. package/package.json +4 -3
  396. package/volar.d.ts +1 -0
  397. package/web-types.json +183 -1
  398. package/lib/carousel/src/utils.js +0 -69
@@ -1,19 +1,17 @@
1
- import { computed, defineComponent, h, provide } from 'vue';
1
+ import { computed, defineComponent, h, provide, watchEffect, toRef } from 'vue';
2
2
  import { useIsMounted } from 'vooks';
3
3
  import { depx } from 'seemly';
4
- import { ChevronLeftIcon, ChevronRightIcon } from '../../_internal/icons';
5
- import { NBaseIcon } from '../../_internal';
6
- import { NButton } from '../../button';
7
- import { useLocale, useFormItem, useTheme, useConfig } from '../../_mixins';
4
+ import { NScrollbar } from '../../_internal';
5
+ import { useFormItem, useTheme, useConfig } from '../../_mixins';
8
6
  import { createKey } from '../../_utils/cssr';
9
- import { warn, call } from '../../_utils';
7
+ import { call, warnOnce } from '../../_utils';
10
8
  import { transferLight } from '../styles';
11
9
  import NTransferHeader from './TransferHeader';
12
10
  import NTransferList from './TransferList';
13
11
  import NTransferFilter from './TransferFilter';
14
12
  import { useTransferData } from './use-transfer-data';
15
- import style from './styles/index.cssr';
16
13
  import { transferInjectionKey } from './interface';
14
+ import style from './styles/index.cssr';
17
15
  export const transferProps = Object.assign(Object.assign({}, useTheme.props), { value: Array, defaultValue: {
18
16
  type: Array,
19
17
  default: null
@@ -32,20 +30,18 @@ export const transferProps = Object.assign(Object.assign({}, useTheme.props), {
32
30
  .toLowerCase()
33
31
  .indexOf(('' + pattern).toLowerCase());
34
32
  }
35
- }, size: String, 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array], onChange: {
36
- type: [Function, Array],
37
- validator: () => {
38
- if (process.env.NODE_ENV !== 'production') {
39
- warn('transfer', '`on-change` is deprecated, please use `on-update:value` instead.');
40
- }
41
- return true;
42
- },
43
- default: undefined
44
- } });
33
+ }, size: String, renderSourceLabel: Function, renderTargetLabel: Function, renderSourceList: Function, 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array], onChange: [Function, Array] });
45
34
  export default defineComponent({
46
35
  name: 'Transfer',
47
36
  props: transferProps,
48
37
  setup(props) {
38
+ if (process.env.NODE_ENV !== 'production') {
39
+ watchEffect(() => {
40
+ if (props.onChange !== undefined) {
41
+ warnOnce('transfer', '`on-change` is deprecated, please use `on-update:value` instead.');
42
+ }
43
+ });
44
+ }
49
45
  const { mergedClsPrefixRef } = useConfig(props);
50
46
  const themeRef = useTheme('Transfer', '-transfer', style, transferLight, props, mergedClsPrefixRef);
51
47
  const formItem = useFormItem(props);
@@ -55,7 +51,7 @@ export default defineComponent({
55
51
  const { self: { [createKey('itemHeight', size)]: itemSize } } = themeRef.value;
56
52
  return depx(itemSize);
57
53
  });
58
- const { uncontrolledValue: uncontrolledValueRef, mergedValue: mergedValueRef, avlSrcValueSet: avlSrcValueSetRef, avlTgtValueSet: avlTgtValueSetRef, tgtOpts: tgtOptsRef, srcOpts: srcOptsRef, filteredSrcOpts: filteredSrcOptsRef, filteredTgtOpts: filteredTgtOptsRef, srcCheckedValues: srcCheckedValuesRef, tgtCheckedValues: tgtCheckedValuesRef, srcCheckedStatus: srcCheckedStatusRef, tgtCheckedStatus: tgtCheckedStatusRef, srcPattern: srcPatternRef, tgtPattern: tgtPatternRef, isInputing: isInputingRef, fromButtonDisabled: fromButtonDisabledRef, toButtonDisabled: toButtonDisabledRef, handleInputFocus, handleInputBlur, handleTgtFilterUpdateValue, handleSrcFilterUpdateValue } = useTransferData(props, mergedDisabledRef);
54
+ const { uncontrolledValueRef, mergedValueRef, targetValueSetRef, valueSetForSelectAllRef, valueSetForUnselectAllRef, targetOptionsRef, filteredSrcOptionsRef, canNotSelectAnythingRef, canBeClearedRef, allCheckedRef, srcPatternRef, handleSrcFilterUpdateValue } = useTransferData(props);
59
55
  function doUpdateValue(value) {
60
56
  const { onUpdateValue, 'onUpdate:value': _onUpdateValue, onChange } = props;
61
57
  const { nTriggerFormInput, nTriggerFormChange } = formItem;
@@ -69,106 +65,68 @@ export default defineComponent({
69
65
  nTriggerFormInput();
70
66
  nTriggerFormChange();
71
67
  }
72
- function handleSrcHeaderCheck(value) {
73
- const { value: { checked, indeterminate } } = srcCheckedStatusRef;
74
- if (indeterminate || checked) {
75
- srcCheckedValuesRef.value = [];
76
- }
77
- else {
78
- srcCheckedValuesRef.value = Array.from(avlSrcValueSetRef.value);
79
- }
68
+ function handleClearAll() {
69
+ doUpdateValue([...valueSetForUnselectAllRef.value]);
80
70
  }
81
- function handleTgtHeaderCheck() {
82
- const { value: { checked, indeterminate } } = tgtCheckedStatusRef;
83
- if (indeterminate || checked) {
84
- tgtCheckedValuesRef.value = [];
85
- }
86
- else {
87
- tgtCheckedValuesRef.value = Array.from(avlTgtValueSetRef.value);
88
- }
89
- }
90
- function handleTgtCheckboxClick(checked, optionValue) {
91
- if (checked) {
92
- tgtCheckedValuesRef.value.push(optionValue);
93
- }
94
- else {
95
- const index = tgtCheckedValuesRef.value.findIndex((v) => v === optionValue);
96
- if (~index) {
97
- tgtCheckedValuesRef.value.splice(index, 1);
98
- }
99
- }
71
+ function handleCheckedAll() {
72
+ doUpdateValue([...valueSetForSelectAllRef.value]);
100
73
  }
101
- function handleSrcCheckboxClick(checked, optionValue) {
74
+ function handleItemCheck(checked, optionValue) {
102
75
  if (checked) {
103
- srcCheckedValuesRef.value.push(optionValue);
76
+ doUpdateValue([...(mergedValueRef.value || []), optionValue]);
104
77
  }
105
78
  else {
106
- const index = srcCheckedValuesRef.value.findIndex((v) => v === optionValue);
79
+ const index = (mergedValueRef.value || []).findIndex((v) => v === optionValue);
107
80
  if (~index) {
108
- srcCheckedValuesRef.value.splice(index, 1);
81
+ ;
82
+ (mergedValueRef.value || []).splice(index, 1);
109
83
  }
110
84
  }
111
85
  }
112
- function handleToTgtClick() {
113
- doUpdateValue(srcCheckedValuesRef.value.concat(mergedValueRef.value || []));
114
- srcCheckedValuesRef.value = [];
115
- }
116
- function handleToSrcClick() {
117
- const tgtCheckedValueSet = new Set(tgtCheckedValuesRef.value);
118
- doUpdateValue((mergedValueRef.value || []).filter((v) => !tgtCheckedValueSet.has(v)));
119
- tgtCheckedValuesRef.value = [];
86
+ function handleChecked(optionValueList) {
87
+ doUpdateValue(optionValueList);
120
88
  }
121
89
  provide(transferInjectionKey, {
90
+ targetValueSetRef,
122
91
  mergedClsPrefixRef,
123
- mergedSizeRef,
124
92
  disabledRef: mergedDisabledRef,
125
93
  mergedThemeRef: themeRef,
126
- srcCheckedValuesRef,
127
- tgtCheckedValuesRef,
128
- srcOptsRef,
129
- tgtOptsRef,
130
- srcCheckedStatusRef,
131
- tgtCheckedStatusRef,
132
- handleSrcCheckboxClick,
133
- handleTgtCheckboxClick
94
+ targetOptionsRef,
95
+ canNotSelectAnythingRef,
96
+ canBeClearedRef,
97
+ allCheckedRef,
98
+ srcOptionsLengthRef: computed(() => props.options.length),
99
+ handleItemCheck,
100
+ renderSourceLabelRef: toRef(props, 'renderSourceLabel'),
101
+ renderTargetLabelRef: toRef(props, 'renderTargetLabel')
134
102
  });
135
- const { localeRef } = useLocale('Transfer');
136
103
  return {
137
- locale: localeRef,
138
104
  mergedClsPrefix: mergedClsPrefixRef,
139
105
  mergedDisabled: mergedDisabledRef,
140
106
  itemSize: itemSizeRef,
141
107
  isMounted: useIsMounted(),
142
- isInputing: isInputingRef,
143
108
  mergedTheme: themeRef,
144
- filteredSrcOpts: filteredSrcOptsRef,
145
- filteredTgtOpts: filteredTgtOptsRef,
109
+ filteredSrcOpts: filteredSrcOptionsRef,
110
+ tgtOpts: targetOptionsRef,
146
111
  srcPattern: srcPatternRef,
147
- tgtPattern: tgtPatternRef,
148
- toButtonDisabled: toButtonDisabledRef,
149
- fromButtonDisabled: fromButtonDisabledRef,
150
- handleSrcHeaderCheck,
151
- handleTgtHeaderCheck,
152
- handleToSrcClick,
153
- handleToTgtClick,
154
- handleInputFocus,
155
- handleInputBlur,
156
- handleTgtFilterUpdateValue,
112
+ mergedSize: mergedSizeRef,
157
113
  handleSrcFilterUpdateValue,
114
+ handleCheckedAll,
115
+ handleClearAll,
116
+ handleItemCheck,
117
+ handleChecked,
158
118
  cssVars: computed(() => {
159
119
  const { value: size } = mergedSizeRef;
160
- const { common: { cubicBezierEaseInOut, cubicBezierEaseIn, cubicBezierEaseOut }, self: { width, borderRadius, borderColor, listColor, headerColor, titleTextColor, titleTextColorDisabled, extraTextColor, filterDividerColor, itemTextColor, itemColorPending, itemTextColorDisabled, extraFontSize, titleFontWeight, iconColor, iconColorDisabled, [createKey('fontSize', size)]: fontSize, [createKey('itemHeight', size)]: itemHeight } } = themeRef.value;
120
+ const { common: { cubicBezierEaseInOut }, self: { borderRadius, borderColor, listColor, titleTextColor, titleTextColorDisabled, extraTextColor, itemTextColor, itemColorPending, itemTextColorDisabled, titleFontWeight, closeColorHover, closeColorPressed, closeIconColor, closeIconColorHover, closeIconColorPressed, closeIconSize, closeSize, dividerColor, extraTextColorDisabled, [createKey('extraFontSize', size)]: extraFontSize, [createKey('fontSize', size)]: fontSize, [createKey('titleFontSize', size)]: titleFontSize, [createKey('itemHeight', size)]: itemHeight, [createKey('headerHeight', size)]: headerHeight } } = themeRef.value;
161
121
  return {
162
122
  '--n-bezier': cubicBezierEaseInOut,
163
- '--n-bezier-ease-in': cubicBezierEaseIn,
164
- '--n-bezier-ease-out': cubicBezierEaseOut,
165
123
  '--n-border-color': borderColor,
166
124
  '--n-border-radius': borderRadius,
167
125
  '--n-extra-font-size': extraFontSize,
168
- '--n-filter-divider-color': filterDividerColor,
169
126
  '--n-font-size': fontSize,
170
- '--n-header-color': headerColor,
127
+ '--n-header-font-size': titleFontSize,
171
128
  '--n-header-extra-text-color': extraTextColor,
129
+ '--n-header-extra-text-color-disabled': extraTextColorDisabled,
172
130
  '--n-header-font-weight': titleFontWeight,
173
131
  '--n-header-text-color': titleTextColor,
174
132
  '--n-header-text-color-disabled': titleTextColorDisabled,
@@ -177,40 +135,43 @@ export default defineComponent({
177
135
  '--n-item-text-color': itemTextColor,
178
136
  '--n-item-text-color-disabled': itemTextColorDisabled,
179
137
  '--n-list-color': listColor,
180
- '--n-width': width,
181
- '--n-icon-color': iconColor,
182
- '--n-icon-color-disabled': iconColorDisabled
138
+ '--n-header-height': headerHeight,
139
+ '--n-close-size': closeSize,
140
+ '--n-close-icon-size': closeIconSize,
141
+ '--n-close-color-hover': closeColorHover,
142
+ '--n-close-color-pressed': closeColorPressed,
143
+ '--n-close-icon-color': closeIconColor,
144
+ '--n-close-icon-color-hover': closeIconColorHover,
145
+ '--n-close-icon-color-pressed': closeIconColorPressed,
146
+ '--n-divider-color': dividerColor
183
147
  };
184
148
  })
185
149
  };
186
150
  },
187
151
  render() {
188
- const { mergedClsPrefix } = this;
152
+ const { mergedClsPrefix, renderSourceList, mergedTheme } = this;
189
153
  return (h("div", { class: [
190
154
  `${mergedClsPrefix}-transfer`,
191
155
  this.mergedDisabled && `${mergedClsPrefix}-transfer--disabled`,
192
156
  this.filterable && `${mergedClsPrefix}-transfer--filterable`
193
157
  ], style: this.cssVars },
194
- h("div", { class: `${mergedClsPrefix}-transfer-list` },
195
- h(NTransferHeader, { source: true, onChange: this.handleSrcHeaderCheck, title: this.sourceTitle || this.locale.sourceTitle }),
158
+ h("div", { class: `${mergedClsPrefix}-transfer-list ${mergedClsPrefix}-transfer-list--source` },
159
+ h(NTransferHeader, { source: true, title: this.sourceTitle, onCheckedAll: this.handleCheckedAll, onClearAll: this.handleClearAll, size: this.mergedSize }),
196
160
  h("div", { class: `${mergedClsPrefix}-transfer-list-body` },
197
- this.filterable ? (h(NTransferFilter, { onUpdateValue: this.handleSrcFilterUpdateValue, value: this.srcPattern, disabled: this.mergedDisabled, placeholder: this.sourceFilterPlaceholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur })) : null,
198
- h("div", { class: `${mergedClsPrefix}-transfer-list-flex-container` },
199
- h(NTransferList, { source: true, options: this.filteredSrcOpts, disabled: this.mergedDisabled, virtualScroll: this.virtualScroll, isMounted: this.isMounted, isInputing: this.isInputing, itemSize: this.itemSize }))),
161
+ this.filterable ? (h(NTransferFilter, { onUpdateValue: this.handleSrcFilterUpdateValue, value: this.srcPattern, disabled: this.mergedDisabled, placeholder: this.sourceFilterPlaceholder })) : null,
162
+ h("div", { class: `${mergedClsPrefix}-transfer-list-flex-container` }, renderSourceList ? (h(NScrollbar, { theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar }, {
163
+ default: () => renderSourceList({
164
+ onCheck: this.handleChecked,
165
+ checkedOptions: this.tgtOpts,
166
+ pattern: this.srcPattern
167
+ })
168
+ })) : (h(NTransferList, { source: true, options: this.filteredSrcOpts, disabled: this.mergedDisabled, virtualScroll: this.virtualScroll, itemSize: this.itemSize })))),
200
169
  h("div", { class: `${mergedClsPrefix}-transfer-list__border` })),
201
- h("div", { class: `${mergedClsPrefix}-transfer-gap` },
202
- h(NButton, { disabled: this.toButtonDisabled || this.mergedDisabled, theme: this.mergedTheme.peers.Button, themeOverrides: this.mergedTheme.peerOverrides.Button, onClick: this.handleToTgtClick }, {
203
- icon: () => (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(ChevronRightIcon, null) }))
204
- }),
205
- h(NButton, { disabled: this.fromButtonDisabled || this.mergedDisabled, theme: this.mergedTheme.peers.Button, themeOverrides: this.mergedTheme.peerOverrides.Button, onClick: this.handleToSrcClick }, {
206
- icon: () => (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(ChevronLeftIcon, null) }))
207
- })),
208
- h("div", { class: `${mergedClsPrefix}-transfer-list` },
209
- h(NTransferHeader, { onChange: this.handleTgtHeaderCheck, title: this.targetTitle || this.locale.targetTitle }),
170
+ h("div", { class: `${mergedClsPrefix}-transfer-list ${mergedClsPrefix}-transfer-list--target` },
171
+ h(NTransferHeader, { onClearAll: this.handleClearAll, size: this.mergedSize, title: this.targetTitle }),
210
172
  h("div", { class: `${mergedClsPrefix}-transfer-list-body` },
211
- this.filterable ? (h(NTransferFilter, { onUpdateValue: this.handleTgtFilterUpdateValue, value: this.tgtPattern, disabled: this.mergedDisabled, placeholder: this.targetFilterPlaceholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur })) : null,
212
173
  h("div", { class: `${mergedClsPrefix}-transfer-list-flex-container` },
213
- h(NTransferList, { options: this.filteredTgtOpts, disabled: this.mergedDisabled, virtualScroll: this.virtualScroll, isMounted: this.isMounted, isInputing: this.isInputing, itemSize: this.itemSize }))),
174
+ h(NTransferList, { options: this.tgtOpts, disabled: this.mergedDisabled, virtualScroll: this.virtualScroll, itemSize: this.itemSize }))),
214
175
  h("div", { class: `${mergedClsPrefix}-transfer-list__border` }))));
215
176
  }
216
177
  });
@@ -3,14 +3,6 @@ declare const _default: import("vue").DefineComponent<{
3
3
  value: StringConstructor;
4
4
  placeholder: StringConstructor;
5
5
  disabled: BooleanConstructor;
6
- onFocus: {
7
- type: PropType<() => void>;
8
- required: true;
9
- };
10
- onBlur: {
11
- type: PropType<() => void>;
12
- required: true;
13
- };
14
6
  onUpdateValue: {
15
7
  type: PropType<(value: string | null) => void>;
16
8
  required: true;
@@ -131,21 +123,34 @@ declare const _default: import("vue").DefineComponent<{
131
123
  fontSizeMedium: string;
132
124
  fontSizeLarge: string;
133
125
  borderRadius: string;
126
+ dividerColor: string;
134
127
  borderColor: string;
135
128
  listColor: string;
136
129
  headerColor: string;
137
130
  titleTextColor: string;
138
131
  titleTextColorDisabled: string;
139
132
  extraTextColor: string;
140
- filterDividerColor: string;
133
+ extraTextColorDisabled: string;
141
134
  itemTextColor: string;
142
135
  itemTextColorDisabled: string;
143
136
  itemColorPending: string;
144
137
  titleFontWeight: string;
145
- iconColor: string;
146
- iconColorDisabled: string;
147
- extraFontSize: string;
148
- width: string;
138
+ closeColorHover: string;
139
+ closeColorPressed: string;
140
+ closeIconColor: string;
141
+ closeIconColorHover: string;
142
+ closeIconColorPressed: string;
143
+ extraFontSizeSmall: string;
144
+ extraFontSizeMedium: string;
145
+ extraFontSizeLarge: string;
146
+ titleFontSizeSmall: string;
147
+ titleFontSizeMedium: string;
148
+ titleFontSizeLarge: string;
149
+ closeSize: string;
150
+ closeIconSize: string;
151
+ headerHeightSmall: string;
152
+ headerHeightMedium: string;
153
+ headerHeightLarge: string;
149
154
  };
150
155
  peers: {
151
156
  Checkbox: import("../../_mixins").Theme<"Checkbox", {
@@ -491,14 +496,6 @@ declare const _default: import("vue").DefineComponent<{
491
496
  value: StringConstructor;
492
497
  placeholder: StringConstructor;
493
498
  disabled: BooleanConstructor;
494
- onFocus: {
495
- type: PropType<() => void>;
496
- required: true;
497
- };
498
- onBlur: {
499
- type: PropType<() => void>;
500
- required: true;
501
- };
502
499
  onUpdateValue: {
503
500
  type: PropType<(value: string | null) => void>;
504
501
  required: true;
@@ -9,14 +9,6 @@ export default defineComponent({
9
9
  value: String,
10
10
  placeholder: String,
11
11
  disabled: Boolean,
12
- onFocus: {
13
- type: Function,
14
- required: true
15
- },
16
- onBlur: {
17
- type: Function,
18
- required: true
19
- },
20
12
  onUpdateValue: {
21
13
  type: Function,
22
14
  required: true
@@ -33,8 +25,8 @@ export default defineComponent({
33
25
  render() {
34
26
  const { mergedTheme, mergedClsPrefix } = this;
35
27
  return (h("div", { class: `${mergedClsPrefix}-transfer-filter` },
36
- h(NInput, { value: this.value, onUpdateValue: this.onUpdateValue, disabled: this.disabled, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, clearable: true, size: "small", placeholder: this.placeholder, onFocus: this.onFocus, onBlur: this.onBlur }, {
37
- 'clear-icon-placeholder': () => (h(NBaseIcon, { clsPrefix: mergedClsPrefix, class: `${mergedClsPrefix}-transfer-icon` }, { default: () => h(SearchIcon, null) }))
28
+ h(NInput, { value: this.value, onUpdateValue: this.onUpdateValue, disabled: this.disabled, placeholder: this.placeholder, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, clearable: true, size: "small" }, {
29
+ 'clear-icon-placeholder': () => (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(SearchIcon, null) }))
38
30
  })));
39
31
  }
40
32
  });
@@ -1,23 +1,21 @@
1
1
  import { PropType } from 'vue';
2
2
  declare const _default: import("vue").DefineComponent<{
3
- source: {
4
- type: BooleanConstructor;
5
- default: boolean;
6
- };
7
- onChange: {
8
- type: PropType<(value: boolean) => void>;
3
+ size: {
4
+ type: PropType<"small" | "medium" | "large">;
9
5
  required: true;
10
6
  };
7
+ source: BooleanConstructor;
8
+ onCheckedAll: PropType<() => void>;
9
+ onClearAll: PropType<() => void>;
11
10
  title: StringConstructor;
12
11
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
13
- source: {
14
- type: BooleanConstructor;
15
- default: boolean;
16
- };
17
- onChange: {
18
- type: PropType<(value: boolean) => void>;
12
+ size: {
13
+ type: PropType<"small" | "medium" | "large">;
19
14
  required: true;
20
15
  };
16
+ source: BooleanConstructor;
17
+ onCheckedAll: PropType<() => void>;
18
+ onClearAll: PropType<() => void>;
21
19
  title: StringConstructor;
22
20
  }>>, {
23
21
  source: boolean;
@@ -1,47 +1,42 @@
1
- import { h, computed, defineComponent, inject } from 'vue';
2
- import { NCheckbox } from '../../checkbox';
1
+ import { h, defineComponent, inject } from 'vue';
2
+ import { NButton } from '../../button';
3
+ import { useLocale } from '../../_mixins';
3
4
  import { transferInjectionKey } from './interface';
4
5
  export default defineComponent({
5
6
  name: 'TransferHeader',
6
7
  props: {
7
- source: {
8
- type: Boolean,
9
- default: false
10
- },
11
- onChange: {
12
- type: Function,
8
+ size: {
9
+ type: String,
13
10
  required: true
14
11
  },
12
+ source: Boolean,
13
+ onCheckedAll: Function,
14
+ onClearAll: Function,
15
15
  title: String
16
16
  },
17
17
  setup(props) {
18
- const { srcOptsRef, tgtOptsRef, srcCheckedStatusRef, tgtCheckedStatusRef, srcCheckedValuesRef, tgtCheckedValuesRef, mergedThemeRef, disabledRef, mergedClsPrefixRef
18
+ const { targetOptionsRef, canNotSelectAnythingRef, canBeClearedRef, allCheckedRef, mergedThemeRef, disabledRef, mergedClsPrefixRef, srcOptionsLengthRef
19
19
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
20
20
  } = inject(transferInjectionKey);
21
- const checkboxPropsRef = computed(() => {
22
- const { source } = props;
23
- if (source) {
24
- return srcCheckedStatusRef.value;
25
- }
26
- else {
27
- return tgtCheckedStatusRef.value;
28
- }
29
- });
21
+ const { localeRef } = useLocale('Transfer');
30
22
  return () => {
31
- const { source } = props;
32
- const { value: checkboxProps } = checkboxPropsRef;
23
+ const { source, onClearAll, onCheckedAll } = props;
33
24
  const { value: mergedTheme } = mergedThemeRef;
34
25
  const { value: mergedClsPrefix } = mergedClsPrefixRef;
26
+ const { value: locale } = localeRef;
27
+ const buttonSize = props.size === 'large' ? 'small' : 'tiny';
28
+ const { title } = props;
35
29
  return (h("div", { class: `${mergedClsPrefix}-transfer-list-header` },
36
- h("div", { class: `${mergedClsPrefix}-transfer-list-header__checkbox` },
37
- h(NCheckbox, { theme: mergedTheme.peers.Checkbox, themeOverrides: mergedTheme.peerOverrides.Checkbox, checked: checkboxProps.checked, indeterminate: checkboxProps.indeterminate, disabled: checkboxProps.disabled || disabledRef.value, onUpdateChecked: props.onChange })),
38
- h("div", { class: `${mergedClsPrefix}-transfer-list-header__header` }, props.title),
39
- h("div", { class: `${mergedClsPrefix}-transfer-list-header__extra` },
40
- source
41
- ? srcCheckedValuesRef.value.length
42
- : tgtCheckedValuesRef.value.length,
43
- "/",
44
- source ? srcOptsRef.value.length : tgtOptsRef.value.length)));
30
+ title && (h("div", { class: `${mergedClsPrefix}-transfer-list-header__title` }, title)),
31
+ source && (h(NButton, { class: `${mergedClsPrefix}-transfer-list-header__button`, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, size: buttonSize, tertiary: true, onClick: allCheckedRef.value ? onClearAll : onCheckedAll, disabled: canNotSelectAnythingRef.value || disabledRef.value }, {
32
+ default: () => allCheckedRef.value ? locale.unselectAll : locale.selectAll
33
+ })),
34
+ !source && canBeClearedRef.value && (h(NButton, { class: `${mergedClsPrefix}-transfer-list-header__button`, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, size: buttonSize, tertiary: true, onClick: onClearAll, disabled: disabledRef.value }, {
35
+ default: () => locale.clearAll
36
+ })),
37
+ h("div", { class: `${mergedClsPrefix}-transfer-list-header__extra` }, source
38
+ ? locale.total(srcOptionsLengthRef.value)
39
+ : locale.selected(targetOptionsRef.value.length))));
45
40
  };
46
41
  }
47
42
  });
@@ -17,18 +17,7 @@ declare const _default: import("vue").DefineComponent<{
17
17
  type: BooleanConstructor;
18
18
  required: true;
19
19
  };
20
- isMounted: {
21
- type: BooleanConstructor;
22
- required: true;
23
- };
24
- isInputing: {
25
- type: BooleanConstructor;
26
- required: true;
27
- };
28
- source: {
29
- type: BooleanConstructor;
30
- default: boolean;
31
- };
20
+ source: BooleanConstructor;
32
21
  }, {
33
22
  mergedTheme: import("vue").Ref<{
34
23
  common: {
@@ -144,21 +133,34 @@ declare const _default: import("vue").DefineComponent<{
144
133
  fontSizeMedium: string;
145
134
  fontSizeLarge: string;
146
135
  borderRadius: string;
136
+ dividerColor: string;
147
137
  borderColor: string;
148
138
  listColor: string;
149
139
  headerColor: string;
150
140
  titleTextColor: string;
151
141
  titleTextColorDisabled: string;
152
142
  extraTextColor: string;
153
- filterDividerColor: string;
143
+ extraTextColorDisabled: string;
154
144
  itemTextColor: string;
155
145
  itemTextColorDisabled: string;
156
146
  itemColorPending: string;
157
147
  titleFontWeight: string;
158
- iconColor: string;
159
- iconColorDisabled: string;
160
- extraFontSize: string;
161
- width: string;
148
+ closeColorHover: string;
149
+ closeColorPressed: string;
150
+ closeIconColor: string;
151
+ closeIconColorHover: string;
152
+ closeIconColorPressed: string;
153
+ extraFontSizeSmall: string;
154
+ extraFontSizeMedium: string;
155
+ extraFontSizeLarge: string;
156
+ titleFontSizeSmall: string;
157
+ titleFontSizeMedium: string;
158
+ titleFontSizeLarge: string;
159
+ closeSize: string;
160
+ closeIconSize: string;
161
+ headerHeightSmall: string;
162
+ headerHeightMedium: string;
163
+ headerHeightLarge: string;
162
164
  };
163
165
  peers: {
164
166
  Checkbox: import("../../_mixins").Theme<"Checkbox", {
@@ -538,18 +540,7 @@ declare const _default: import("vue").DefineComponent<{
538
540
  type: BooleanConstructor;
539
541
  required: true;
540
542
  };
541
- isMounted: {
542
- type: BooleanConstructor;
543
- required: true;
544
- };
545
- isInputing: {
546
- type: BooleanConstructor;
547
- required: true;
548
- };
549
- source: {
550
- type: BooleanConstructor;
551
- default: boolean;
552
- };
543
+ source: BooleanConstructor;
553
544
  }>>, {
554
545
  source: boolean;
555
546
  }>;
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, inject, TransitionGroup, Transition, Fragment } from 'vue';
1
+ import { h, defineComponent, ref, inject } from 'vue';
2
2
  import { VirtualList } from 'vueuc';
3
3
  import { NEmpty } from '../../empty';
4
4
  import { NScrollbar } from '../../_internal';
@@ -23,18 +23,7 @@ export default defineComponent({
23
23
  type: Boolean,
24
24
  required: true
25
25
  },
26
- isMounted: {
27
- type: Boolean,
28
- required: true
29
- },
30
- isInputing: {
31
- type: Boolean,
32
- required: true
33
- },
34
- source: {
35
- type: Boolean,
36
- default: false
37
- }
26
+ source: Boolean
38
27
  },
39
28
  setup() {
40
29
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -70,24 +59,18 @@ export default defineComponent({
70
59
  };
71
60
  },
72
61
  render() {
73
- const { mergedTheme, mergedClsPrefix, virtualScroll, syncVLScroller } = this;
74
- return (h(Fragment, null,
75
- h(NScrollbar, { ref: "scrollerInstRef", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, container: virtualScroll ? this.scrollContainer : undefined, content: virtualScroll ? this.scrollContent : undefined }, {
76
- default: () => virtualScroll ? (h(VirtualList, { ref: "vlInstRef", style: { height: '100%' }, class: `${mergedClsPrefix}-transfer-list-content`, items: this.options, itemSize: this.itemSize, showScrollbar: false, onResize: syncVLScroller, onScroll: syncVLScroller, keyField: "value" }, {
77
- default: ({ item }) => {
78
- const { source, disabled } = this;
79
- return (h(NTransferListItem, { source: source, key: item.value, value: item.value, disabled: item.disabled || disabled, label: item.label }));
80
- }
81
- })) : (h("div", { class: `${mergedClsPrefix}-transfer-list-content` },
82
- h(TransitionGroup, { name: "item", appear: this.isMounted, css: !this.isInputing }, {
83
- default: () => {
84
- const { source, disabled } = this;
85
- return this.options.map((option) => (h(NTransferListItem, { source: source, key: option.value, value: option.value, disabled: option.disabled || disabled, label: option.label })));
86
- }
87
- })))
88
- }),
89
- h(Transition, { name: "fade-in-transition", appear: this.isMounted, css: !this.isInputing }, {
90
- default: () => this.options.length ? null : (h(NEmpty, { theme: mergedTheme.peers.Empty, themeOverrides: mergedTheme.peerOverrides.Empty }))
91
- })));
62
+ const { mergedTheme, options } = this;
63
+ if (options.length === 0) {
64
+ return (h(NEmpty, { theme: mergedTheme.peers.Empty, themeOverrides: mergedTheme.peerOverrides.Empty }));
65
+ }
66
+ const { mergedClsPrefix, virtualScroll, source, disabled, syncVLScroller } = this;
67
+ return (h(NScrollbar, { ref: "scrollerInstRef", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, container: virtualScroll ? this.scrollContainer : undefined, content: virtualScroll ? this.scrollContent : undefined }, {
68
+ default: () => virtualScroll ? (h(VirtualList, { ref: "vlInstRef", style: { height: '100%' }, class: `${mergedClsPrefix}-transfer-list-content`, items: this.options, itemSize: this.itemSize, showScrollbar: false, onResize: syncVLScroller, onScroll: syncVLScroller, keyField: "value" }, {
69
+ default: ({ item }) => {
70
+ const { source, disabled } = this;
71
+ return (h(NTransferListItem, { source: source, key: item.value, value: item.value, disabled: item.disabled || disabled, label: item.label, option: item }));
72
+ }
73
+ })) : (h("div", { class: `${mergedClsPrefix}-transfer-list-content` }, this.options.map((option) => (h(NTransferListItem, { source: source, key: option.value, value: option.value, disabled: option.disabled || disabled, label: option.label, option: option })))))
74
+ }));
92
75
  }
93
76
  });