vft 0.0.1 → 0.0.3

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 (756) hide show
  1. package/dist/index.css +1 -0
  2. package/es/component.d.ts +3 -0
  3. package/es/component.mjs +18 -0
  4. package/es/component.mjs.map +1 -0
  5. package/es/components/avatar/avatar.vue.d.ts +64 -0
  6. package/es/components/avatar/avatar.vue.mjs +5 -0
  7. package/es/components/avatar/avatar.vue.mjs.map +1 -0
  8. package/es/components/avatar/avatar.vue2.mjs +51 -0
  9. package/es/components/avatar/avatar.vue2.mjs.map +1 -0
  10. package/es/components/avatar/index.d.ts +62 -0
  11. package/es/components/avatar/index.mjs +9 -0
  12. package/es/components/avatar/index.mjs.map +1 -0
  13. package/es/components/avatar/style/css.d.ts +0 -0
  14. package/es/components/avatar/style/css.mjs +3 -0
  15. package/es/components/avatar/style/css.mjs.map +1 -0
  16. package/es/components/avatar/style/index.d.ts +0 -0
  17. package/es/components/avatar/style/index.mjs +3 -0
  18. package/es/components/avatar/style/index.mjs.map +1 -0
  19. package/es/components/back-top/back-top.vue.d.ts +48 -0
  20. package/es/components/back-top/back-top.vue.mjs +5 -0
  21. package/es/components/back-top/back-top.vue.mjs.map +1 -0
  22. package/es/components/back-top/back-top.vue2.mjs +62 -0
  23. package/es/components/back-top/back-top.vue2.mjs.map +1 -0
  24. package/es/components/back-top/index.d.ts +47 -0
  25. package/es/components/back-top/index.mjs +9 -0
  26. package/es/components/back-top/index.mjs.map +1 -0
  27. package/es/components/back-top/style/css.d.ts +0 -0
  28. package/es/components/back-top/style/css.mjs +3 -0
  29. package/es/components/back-top/style/css.mjs.map +1 -0
  30. package/es/components/back-top/style/index.d.ts +0 -0
  31. package/es/components/back-top/style/index.mjs +3 -0
  32. package/es/components/back-top/style/index.mjs.map +1 -0
  33. package/es/components/back-top/types.d.ts +13 -0
  34. package/es/components/back-top/types.mjs +2 -0
  35. package/es/components/back-top/types.mjs.map +1 -0
  36. package/es/components/back-top/use-back-top.d.ts +5 -0
  37. package/es/components/back-top/use-back-top.mjs +32 -0
  38. package/es/components/back-top/use-back-top.mjs.map +1 -0
  39. package/es/components/base/style/css.d.ts +0 -0
  40. package/es/components/base/style/css.mjs +2 -0
  41. package/es/components/base/style/css.mjs.map +1 -0
  42. package/es/components/base/style/index.d.ts +0 -0
  43. package/es/components/base/style/index.mjs +2 -0
  44. package/es/components/base/style/index.mjs.map +1 -0
  45. package/es/components/divider/divider.vue.d.ts +53 -0
  46. package/es/components/divider/divider.vue.mjs +5 -0
  47. package/es/components/divider/divider.vue.mjs.map +1 -0
  48. package/es/components/divider/divider.vue2.mjs +44 -0
  49. package/es/components/divider/divider.vue2.mjs.map +1 -0
  50. package/es/components/divider/index.d.ts +52 -0
  51. package/es/components/divider/index.mjs +9 -0
  52. package/es/components/divider/index.mjs.map +1 -0
  53. package/es/components/divider/style/css.d.ts +0 -0
  54. package/es/components/divider/style/css.mjs +3 -0
  55. package/es/components/divider/style/css.mjs.map +1 -0
  56. package/es/components/divider/style/index.d.ts +0 -0
  57. package/es/components/divider/style/index.mjs +3 -0
  58. package/es/components/divider/style/index.mjs.map +1 -0
  59. package/es/components/divider/types.d.ts +2 -0
  60. package/es/components/divider/types.mjs +2 -0
  61. package/es/components/divider/types.mjs.map +1 -0
  62. package/es/components/empty/assets/no-collect.png.mjs +5 -0
  63. package/es/components/empty/assets/no-collect.png.mjs.map +1 -0
  64. package/es/components/empty/assets/no-data.png.mjs +5 -0
  65. package/es/components/empty/assets/no-data.png.mjs.map +1 -0
  66. package/es/components/empty/assets/no-filter.png.mjs +5 -0
  67. package/es/components/empty/assets/no-filter.png.mjs.map +1 -0
  68. package/es/components/empty/assets/no-page-data.png.mjs +5 -0
  69. package/es/components/empty/assets/no-page-data.png.mjs.map +1 -0
  70. package/es/components/empty/assets/no-search.png.mjs +5 -0
  71. package/es/components/empty/assets/no-search.png.mjs.map +1 -0
  72. package/es/components/empty/constants.d.ts +12 -0
  73. package/es/components/empty/constants.mjs +5 -0
  74. package/es/components/empty/constants.mjs.map +1 -0
  75. package/es/components/empty/empty.vue.d.ts +39 -0
  76. package/es/components/empty/empty.vue.mjs +5 -0
  77. package/es/components/empty/empty.vue.mjs.map +1 -0
  78. package/es/components/empty/empty.vue2.mjs +98 -0
  79. package/es/components/empty/empty.vue2.mjs.map +1 -0
  80. package/es/components/empty/index.d.ts +37 -0
  81. package/es/components/empty/index.mjs +11 -0
  82. package/es/components/empty/index.mjs.map +1 -0
  83. package/es/components/empty/style/css.d.ts +0 -0
  84. package/es/components/empty/style/css.mjs +3 -0
  85. package/es/components/empty/style/css.mjs.map +1 -0
  86. package/es/components/empty/style/index.d.ts +0 -0
  87. package/es/components/empty/style/index.mjs +3 -0
  88. package/es/components/empty/style/index.mjs.map +1 -0
  89. package/es/components/exception/exception.png.mjs +5 -0
  90. package/es/components/exception/exception.png.mjs.map +1 -0
  91. package/es/components/exception/exception.vue.d.ts +29 -0
  92. package/es/components/exception/exception.vue.mjs +5 -0
  93. package/es/components/exception/exception.vue.mjs.map +1 -0
  94. package/es/components/exception/exception.vue2.mjs +47 -0
  95. package/es/components/exception/exception.vue2.mjs.map +1 -0
  96. package/es/components/exception/index.d.ts +28 -0
  97. package/es/components/exception/index.mjs +9 -0
  98. package/es/components/exception/index.mjs.map +1 -0
  99. package/es/components/exception/style/css.d.ts +0 -0
  100. package/es/components/exception/style/css.mjs +3 -0
  101. package/es/components/exception/style/css.mjs.map +1 -0
  102. package/es/components/exception/style/index.d.ts +0 -0
  103. package/es/components/exception/style/index.mjs +3 -0
  104. package/es/components/exception/style/index.mjs.map +1 -0
  105. package/es/components/icon/icon.vue.d.ts +96 -0
  106. package/es/components/icon/icon.vue.mjs +5 -0
  107. package/es/components/icon/icon.vue.mjs.map +1 -0
  108. package/es/components/icon/icon.vue2.mjs +37 -0
  109. package/es/components/icon/icon.vue2.mjs.map +1 -0
  110. package/es/components/icon/index.d.ts +79 -0
  111. package/es/components/icon/index.mjs +9 -0
  112. package/es/components/icon/index.mjs.map +1 -0
  113. package/es/components/icon/style/css.d.ts +0 -0
  114. package/es/components/icon/style/css.mjs +3 -0
  115. package/es/components/icon/style/css.mjs.map +1 -0
  116. package/es/components/icon/style/index.d.ts +0 -0
  117. package/es/components/icon/style/index.mjs +3 -0
  118. package/es/components/icon/style/index.mjs.map +1 -0
  119. package/es/components/index.d.ts +6 -0
  120. package/es/components/index.mjs +17 -0
  121. package/es/components/index.mjs.map +1 -0
  122. package/es/components/result/index.d.ts +28 -0
  123. package/es/components/result/index.mjs +9 -0
  124. package/es/components/result/index.mjs.map +1 -0
  125. package/es/components/result/result.vue.d.ts +30 -0
  126. package/es/components/result/result.vue.mjs +5 -0
  127. package/es/components/result/result.vue.mjs.map +1 -0
  128. package/es/components/result/result.vue2.mjs +56 -0
  129. package/es/components/result/result.vue2.mjs.map +1 -0
  130. package/es/components/result/style/css.d.ts +0 -0
  131. package/es/components/result/style/css.mjs +3 -0
  132. package/es/components/result/style/css.mjs.map +1 -0
  133. package/es/components/result/style/index.d.ts +0 -0
  134. package/es/components/result/style/index.mjs +3 -0
  135. package/es/components/result/style/index.mjs.map +1 -0
  136. package/es/components/types.mjs +2 -0
  137. package/es/components/types.mjs.map +1 -0
  138. package/es/constants/aria.d.ts +17 -0
  139. package/es/constants/aria.mjs +25 -0
  140. package/es/constants/aria.mjs.map +1 -0
  141. package/es/constants/date.d.ts +3 -0
  142. package/es/constants/date.mjs +24 -0
  143. package/es/constants/date.mjs.map +1 -0
  144. package/es/constants/event.d.ts +3 -0
  145. package/es/constants/event.mjs +7 -0
  146. package/es/constants/event.mjs.map +1 -0
  147. package/es/constants/index.d.ts +5 -0
  148. package/es/constants/index.mjs +17 -0
  149. package/es/constants/index.mjs.map +1 -0
  150. package/es/constants/key.d.ts +1 -0
  151. package/es/constants/key.mjs +5 -0
  152. package/es/constants/key.mjs.map +1 -0
  153. package/es/constants/size.d.ts +7 -0
  154. package/es/constants/size.mjs +10 -0
  155. package/es/constants/size.mjs.map +1 -0
  156. package/es/defaults.d.ts +5 -0
  157. package/es/defaults.mjs +7 -0
  158. package/es/defaults.mjs.map +1 -0
  159. package/es/hooks/index.d.ts +1 -0
  160. package/es/hooks/index.mjs +7 -0
  161. package/es/hooks/index.mjs.map +1 -0
  162. package/es/hooks/use-namespace/index.d.ts +21 -0
  163. package/es/hooks/use-namespace/index.mjs +42 -0
  164. package/es/hooks/use-namespace/index.mjs.map +1 -0
  165. package/es/index.d.ts +9 -0
  166. package/es/index.mjs +44 -0
  167. package/es/index.mjs.map +1 -0
  168. package/es/make-installer.d.ts +5 -0
  169. package/es/make-installer.mjs +12 -0
  170. package/es/make-installer.mjs.map +1 -0
  171. package/es/package.json.mjs +5 -0
  172. package/es/package.json.mjs.map +1 -0
  173. package/es/style.css +1 -0
  174. package/es/theme-style/src/avatar.scss.mjs +5 -0
  175. package/es/theme-style/src/avatar.scss.mjs.map +1 -0
  176. package/es/theme-style/src/back-top.scss.mjs +5 -0
  177. package/es/theme-style/src/back-top.scss.mjs.map +1 -0
  178. package/es/theme-style/src/base.scss.mjs +5 -0
  179. package/es/theme-style/src/base.scss.mjs.map +1 -0
  180. package/es/theme-style/src/divider.scss.mjs +5 -0
  181. package/es/theme-style/src/divider.scss.mjs.map +1 -0
  182. package/es/theme-style/src/empty.scss.mjs +5 -0
  183. package/es/theme-style/src/empty.scss.mjs.map +1 -0
  184. package/es/theme-style/src/icon.scss.mjs +5 -0
  185. package/es/theme-style/src/icon.scss.mjs.map +1 -0
  186. package/es/theme-style/src/result.scss.mjs +5 -0
  187. package/es/theme-style/src/result.scss.mjs.map +1 -0
  188. package/es/utils/error.d.ts +3 -0
  189. package/es/utils/error.mjs +20 -0
  190. package/es/utils/error.mjs.map +1 -0
  191. package/es/utils/helper.d.ts +1 -0
  192. package/es/utils/helper.mjs +5 -0
  193. package/es/utils/helper.mjs.map +1 -0
  194. package/es/utils/index.d.ts +3 -0
  195. package/es/utils/index.mjs +13 -0
  196. package/es/utils/index.mjs.map +1 -0
  197. package/es/utils/vue/index.d.ts +2 -0
  198. package/es/utils/vue/index.mjs +8 -0
  199. package/es/utils/vue/index.mjs.map +1 -0
  200. package/es/utils/vue/install.d.ts +6 -0
  201. package/es/utils/vue/install.mjs +21 -0
  202. package/es/utils/vue/install.mjs.map +1 -0
  203. package/es/utils/vue/typescript.d.ts +5 -0
  204. package/es/utils/vue/typescript.mjs +2 -0
  205. package/es/utils/vue/typescript.mjs.map +1 -0
  206. package/lib/component.d.ts +3 -0
  207. package/lib/component.js +2 -0
  208. package/lib/component.js.map +1 -0
  209. package/lib/components/avatar/avatar.vue.d.ts +64 -0
  210. package/lib/components/avatar/avatar.vue.js +2 -0
  211. package/lib/components/avatar/avatar.vue.js.map +1 -0
  212. package/lib/components/avatar/avatar.vue2.js +2 -0
  213. package/lib/components/avatar/avatar.vue2.js.map +1 -0
  214. package/lib/components/avatar/index.d.ts +62 -0
  215. package/lib/components/avatar/index.js +2 -0
  216. package/lib/components/avatar/index.js.map +1 -0
  217. package/lib/components/avatar/style/css.d.ts +0 -0
  218. package/lib/components/avatar/style/css.js +2 -0
  219. package/lib/components/avatar/style/css.js.map +1 -0
  220. package/lib/components/avatar/style/index.d.ts +0 -0
  221. package/lib/components/avatar/style/index.js +2 -0
  222. package/lib/components/avatar/style/index.js.map +1 -0
  223. package/lib/components/back-top/back-top.vue.d.ts +48 -0
  224. package/lib/components/back-top/back-top.vue.js +2 -0
  225. package/lib/components/back-top/back-top.vue.js.map +1 -0
  226. package/lib/components/back-top/back-top.vue2.js +2 -0
  227. package/lib/components/back-top/back-top.vue2.js.map +1 -0
  228. package/lib/components/back-top/index.d.ts +47 -0
  229. package/lib/components/back-top/index.js +2 -0
  230. package/lib/components/back-top/index.js.map +1 -0
  231. package/lib/components/back-top/style/css.d.ts +0 -0
  232. package/lib/components/back-top/style/css.js +2 -0
  233. package/lib/components/back-top/style/css.js.map +1 -0
  234. package/lib/components/back-top/style/index.d.ts +0 -0
  235. package/lib/components/back-top/style/index.js +2 -0
  236. package/lib/components/back-top/style/index.js.map +1 -0
  237. package/lib/components/back-top/types.d.ts +13 -0
  238. package/lib/components/back-top/types.js +2 -0
  239. package/lib/components/back-top/types.js.map +1 -0
  240. package/lib/components/back-top/use-back-top.d.ts +5 -0
  241. package/lib/components/back-top/use-back-top.js +2 -0
  242. package/lib/components/back-top/use-back-top.js.map +1 -0
  243. package/lib/components/base/style/css.d.ts +0 -0
  244. package/lib/components/base/style/css.js +2 -0
  245. package/lib/components/base/style/css.js.map +1 -0
  246. package/lib/components/base/style/index.d.ts +0 -0
  247. package/lib/components/base/style/index.js +2 -0
  248. package/lib/components/base/style/index.js.map +1 -0
  249. package/lib/components/divider/divider.vue.d.ts +53 -0
  250. package/lib/components/divider/divider.vue.js +2 -0
  251. package/lib/components/divider/divider.vue.js.map +1 -0
  252. package/lib/components/divider/divider.vue2.js +2 -0
  253. package/lib/components/divider/divider.vue2.js.map +1 -0
  254. package/lib/components/divider/index.d.ts +52 -0
  255. package/lib/components/divider/index.js +2 -0
  256. package/lib/components/divider/index.js.map +1 -0
  257. package/lib/components/divider/style/css.d.ts +0 -0
  258. package/lib/components/divider/style/css.js +2 -0
  259. package/lib/components/divider/style/css.js.map +1 -0
  260. package/lib/components/divider/style/index.d.ts +0 -0
  261. package/lib/components/divider/style/index.js +2 -0
  262. package/lib/components/divider/style/index.js.map +1 -0
  263. package/lib/components/divider/types.d.ts +2 -0
  264. package/lib/components/divider/types.js +2 -0
  265. package/lib/components/divider/types.js.map +1 -0
  266. package/lib/components/empty/assets/no-collect.png.js +2 -0
  267. package/lib/components/empty/assets/no-collect.png.js.map +1 -0
  268. package/lib/components/empty/assets/no-data.png.js +2 -0
  269. package/lib/components/empty/assets/no-data.png.js.map +1 -0
  270. package/lib/components/empty/assets/no-filter.png.js +2 -0
  271. package/lib/components/empty/assets/no-filter.png.js.map +1 -0
  272. package/lib/components/empty/assets/no-page-data.png.js +2 -0
  273. package/lib/components/empty/assets/no-page-data.png.js.map +1 -0
  274. package/lib/components/empty/assets/no-search.png.js +2 -0
  275. package/lib/components/empty/assets/no-search.png.js.map +1 -0
  276. package/lib/components/empty/constants.d.ts +12 -0
  277. package/lib/components/empty/constants.js +2 -0
  278. package/lib/components/empty/constants.js.map +1 -0
  279. package/lib/components/empty/empty.vue.d.ts +39 -0
  280. package/lib/components/empty/empty.vue.js +2 -0
  281. package/lib/components/empty/empty.vue.js.map +1 -0
  282. package/lib/components/empty/empty.vue2.js +2 -0
  283. package/lib/components/empty/empty.vue2.js.map +1 -0
  284. package/lib/components/empty/index.d.ts +37 -0
  285. package/lib/components/empty/index.js +2 -0
  286. package/lib/components/empty/index.js.map +1 -0
  287. package/lib/components/empty/style/css.d.ts +0 -0
  288. package/lib/components/empty/style/css.js +2 -0
  289. package/lib/components/empty/style/css.js.map +1 -0
  290. package/lib/components/empty/style/index.d.ts +0 -0
  291. package/lib/components/empty/style/index.js +2 -0
  292. package/lib/components/empty/style/index.js.map +1 -0
  293. package/lib/components/exception/exception.png.js +2 -0
  294. package/lib/components/exception/exception.png.js.map +1 -0
  295. package/lib/components/exception/exception.vue.d.ts +29 -0
  296. package/lib/components/exception/exception.vue.js +2 -0
  297. package/lib/components/exception/exception.vue.js.map +1 -0
  298. package/lib/components/exception/exception.vue2.js +2 -0
  299. package/lib/components/exception/exception.vue2.js.map +1 -0
  300. package/lib/components/exception/index.d.ts +28 -0
  301. package/lib/components/exception/index.js +2 -0
  302. package/lib/components/exception/index.js.map +1 -0
  303. package/lib/components/exception/style/css.d.ts +0 -0
  304. package/lib/components/exception/style/css.js +2 -0
  305. package/lib/components/exception/style/css.js.map +1 -0
  306. package/lib/components/exception/style/index.d.ts +0 -0
  307. package/lib/components/exception/style/index.js +2 -0
  308. package/lib/components/exception/style/index.js.map +1 -0
  309. package/lib/components/icon/icon.vue.d.ts +96 -0
  310. package/lib/components/icon/icon.vue.js +2 -0
  311. package/lib/components/icon/icon.vue.js.map +1 -0
  312. package/lib/components/icon/icon.vue2.js +2 -0
  313. package/lib/components/icon/icon.vue2.js.map +1 -0
  314. package/lib/components/icon/index.d.ts +79 -0
  315. package/lib/components/icon/index.js +2 -0
  316. package/lib/components/icon/index.js.map +1 -0
  317. package/lib/components/icon/style/css.d.ts +0 -0
  318. package/lib/components/icon/style/css.js +2 -0
  319. package/lib/components/icon/style/css.js.map +1 -0
  320. package/lib/components/icon/style/index.d.ts +0 -0
  321. package/lib/components/icon/style/index.js +2 -0
  322. package/lib/components/icon/style/index.js.map +1 -0
  323. package/lib/components/index.d.ts +6 -0
  324. package/lib/components/index.js +2 -0
  325. package/lib/components/index.js.map +1 -0
  326. package/lib/components/result/index.d.ts +28 -0
  327. package/lib/components/result/index.js +2 -0
  328. package/lib/components/result/index.js.map +1 -0
  329. package/lib/components/result/result.vue.d.ts +30 -0
  330. package/lib/components/result/result.vue.js +2 -0
  331. package/lib/components/result/result.vue.js.map +1 -0
  332. package/lib/components/result/result.vue2.js +2 -0
  333. package/lib/components/result/result.vue2.js.map +1 -0
  334. package/lib/components/result/style/css.d.ts +0 -0
  335. package/lib/components/result/style/css.js +2 -0
  336. package/lib/components/result/style/css.js.map +1 -0
  337. package/lib/components/result/style/index.d.ts +0 -0
  338. package/lib/components/result/style/index.js +2 -0
  339. package/lib/components/result/style/index.js.map +1 -0
  340. package/lib/components/types.d.ts +1 -0
  341. package/lib/components/types.js +2 -0
  342. package/lib/components/types.js.map +1 -0
  343. package/lib/constants/aria.d.ts +17 -0
  344. package/lib/constants/aria.js +2 -0
  345. package/lib/constants/aria.js.map +1 -0
  346. package/lib/constants/date.d.ts +3 -0
  347. package/lib/constants/date.js +2 -0
  348. package/lib/constants/date.js.map +1 -0
  349. package/lib/constants/event.d.ts +3 -0
  350. package/lib/constants/event.js +2 -0
  351. package/lib/constants/event.js.map +1 -0
  352. package/lib/constants/index.d.ts +5 -0
  353. package/lib/constants/index.js +2 -0
  354. package/lib/constants/index.js.map +1 -0
  355. package/lib/constants/key.d.ts +1 -0
  356. package/lib/constants/key.js +2 -0
  357. package/lib/constants/key.js.map +1 -0
  358. package/lib/constants/size.d.ts +7 -0
  359. package/lib/constants/size.js +2 -0
  360. package/lib/constants/size.js.map +1 -0
  361. package/lib/defaults.d.ts +5 -0
  362. package/lib/defaults.js +2 -0
  363. package/lib/defaults.js.map +1 -0
  364. package/lib/hooks/index.d.ts +1 -0
  365. package/lib/hooks/index.js +2 -0
  366. package/lib/hooks/index.js.map +1 -0
  367. package/lib/hooks/use-namespace/index.d.ts +21 -0
  368. package/lib/hooks/use-namespace/index.js +2 -0
  369. package/lib/hooks/use-namespace/index.js.map +1 -0
  370. package/lib/index.d.ts +9 -0
  371. package/lib/index.js +2 -0
  372. package/lib/index.js.map +1 -0
  373. package/lib/make-installer.d.ts +5 -0
  374. package/lib/make-installer.js +2 -0
  375. package/lib/make-installer.js.map +1 -0
  376. package/lib/package.json.js +2 -0
  377. package/lib/package.json.js.map +1 -0
  378. package/lib/theme-style/src/avatar.scss.js +2 -0
  379. package/lib/theme-style/src/avatar.scss.js.map +1 -0
  380. package/lib/theme-style/src/back-top.scss.js +2 -0
  381. package/lib/theme-style/src/back-top.scss.js.map +1 -0
  382. package/lib/theme-style/src/base.scss.js +2 -0
  383. package/lib/theme-style/src/base.scss.js.map +1 -0
  384. package/lib/theme-style/src/divider.scss.js +2 -0
  385. package/lib/theme-style/src/divider.scss.js.map +1 -0
  386. package/lib/theme-style/src/empty.scss.js +2 -0
  387. package/lib/theme-style/src/empty.scss.js.map +1 -0
  388. package/lib/theme-style/src/icon.scss.js +2 -0
  389. package/lib/theme-style/src/icon.scss.js.map +1 -0
  390. package/lib/theme-style/src/result.scss.js +2 -0
  391. package/lib/theme-style/src/result.scss.js.map +1 -0
  392. package/lib/utils/error.d.ts +3 -0
  393. package/lib/utils/error.js +2 -0
  394. package/lib/utils/error.js.map +1 -0
  395. package/lib/utils/helper.d.ts +1 -0
  396. package/lib/utils/helper.js +2 -0
  397. package/lib/utils/helper.js.map +1 -0
  398. package/lib/utils/index.d.ts +3 -0
  399. package/lib/utils/index.js +2 -0
  400. package/lib/utils/index.js.map +1 -0
  401. package/lib/utils/vue/index.d.ts +2 -0
  402. package/lib/utils/vue/index.js +2 -0
  403. package/lib/utils/vue/index.js.map +1 -0
  404. package/lib/utils/vue/install.d.ts +6 -0
  405. package/lib/utils/vue/install.js +2 -0
  406. package/lib/utils/vue/install.js.map +1 -0
  407. package/lib/utils/vue/typescript.d.ts +5 -0
  408. package/lib/utils/vue/typescript.js +2 -0
  409. package/lib/utils/vue/typescript.js.map +1 -0
  410. package/package.json +50 -44
  411. package/theme-style/base.css +1 -0
  412. package/theme-style/dark/css-vars.css +1 -0
  413. package/theme-style/index.css +1 -0
  414. package/{src/web/avatar/index.scss → theme-style/src/avatar.scss} +7 -4
  415. package/{src/web/back-top/index.scss → theme-style/src/back-top.scss} +3 -6
  416. package/theme-style/src/base.scss +2 -0
  417. package/theme-style/src/color/index.scss +17 -0
  418. package/theme-style/src/common/transition.scss +128 -0
  419. package/theme-style/src/common/var.scss +841 -0
  420. package/theme-style/src/dark/css-vars.scss +41 -0
  421. package/theme-style/src/dark/var.scss +221 -0
  422. package/{src/web/divider/index.scss → theme-style/src/divider.scss} +4 -1
  423. package/{src/web/empty/index.scss → theme-style/src/empty.scss} +3 -10
  424. package/{src/web/full-screen/index.scss → theme-style/src/full-screen.scss} +3 -0
  425. package/{src/common/icon/index.scss → theme-style/src/icon.scss} +2 -1
  426. package/{src/web/image/index.scss → theme-style/src/image.scss} +3 -0
  427. package/theme-style/src/index.scss +7 -0
  428. package/{src/web/input/index.scss → theme-style/src/input.scss} +3 -0
  429. package/theme-style/src/mixins/_var.scss +91 -0
  430. package/theme-style/src/mixins/config.scss +5 -0
  431. package/theme-style/src/mixins/function.scss +86 -0
  432. package/theme-style/src/mixins/mixins.scss +258 -0
  433. package/{src/web/result/index.scss → theme-style/src/result.scss} +3 -9
  434. package/theme-style/src/var.scss +73 -0
  435. package/theme-style/vft-avatar.css +1 -0
  436. package/theme-style/vft-back-top.css +1 -0
  437. package/theme-style/vft-divider.css +1 -0
  438. package/theme-style/vft-empty.css +1 -0
  439. package/theme-style/vft-full-screen.css +1 -0
  440. package/theme-style/vft-icon.css +1 -0
  441. package/theme-style/vft-image.css +1 -0
  442. package/theme-style/vft-input.css +1 -0
  443. package/theme-style/vft-result.css +1 -0
  444. package/theme-style/vft-var.css +1 -0
  445. package/theme-style/vft-virtual-list.css +1 -0
  446. package/src/app/index.ts +0 -3
  447. package/src/app/page-loading/assets/spin.gif +0 -0
  448. package/src/app/page-loading/index.less +0 -10
  449. package/src/app/page-loading/index.ts +0 -3
  450. package/src/app/page-loading/index.vue +0 -38
  451. package/src/app/table/assets/sort_triangle.png +0 -0
  452. package/src/app/table/demos/basic.vue +0 -117
  453. package/src/app/table/demos/complex.vue +0 -2543
  454. package/src/app/table/demos/index.vue +0 -453
  455. package/src/app/table/demos/rightAngle.png +0 -0
  456. package/src/app/table/header.vue +0 -203
  457. package/src/app/table/index.less +0 -119
  458. package/src/app/table/index.ts +0 -5
  459. package/src/app/table/index.vue +0 -478
  460. package/src/app/table/md/api.md +0 -23
  461. package/src/app/table/md/demo.md +0 -3
  462. package/src/app/table/types.ts +0 -45
  463. package/src/common/badge/index.scss +0 -78
  464. package/src/common/badge/index.ts +0 -4
  465. package/src/common/badge/index.vue +0 -111
  466. package/src/common/badge/types.ts +0 -1
  467. package/src/common/clamp/clamp-toggle.vue +0 -91
  468. package/src/common/clamp/index.ts +0 -4
  469. package/src/common/clamp/index.vue +0 -247
  470. package/src/common/code/index.less +0 -321
  471. package/src/common/code/index.ts +0 -3
  472. package/src/common/code/index.vue +0 -60
  473. package/src/common/config-provider/index.ts +0 -4
  474. package/src/common/config-provider/index.vue +0 -94
  475. package/src/common/config-provider/types.ts +0 -29
  476. package/src/common/icon/iconfont/iconfont.css +0 -334
  477. package/src/common/icon/index.ts +0 -4
  478. package/src/common/icon/index.vue +0 -74
  479. package/src/common/icon/types.ts +0 -16
  480. package/src/common/index.ts +0 -6
  481. package/src/common/message/index.ts +0 -5
  482. package/src/common/message/instance.ts +0 -29
  483. package/src/common/message/message.scss +0 -108
  484. package/src/common/message/message.ts +0 -80
  485. package/src/common/message/message.vue +0 -162
  486. package/src/common/message/method.ts +0 -172
  487. package/src/common/overlay/index.scss +0 -14
  488. package/src/common/overlay/index.ts +0 -3
  489. package/src/common/overlay/index.vue +0 -117
  490. package/src/constants/comp.ts +0 -1
  491. package/src/constants/index.ts +0 -1
  492. package/src/index.ts +0 -3
  493. package/src/page/index.ts +0 -1
  494. package/src/page/page-wrapper/index.scss +0 -31
  495. package/src/page/page-wrapper/index.ts +0 -5
  496. package/src/page/page-wrapper/index.vue +0 -31
  497. package/src/styles/vars.scss +0 -500
  498. package/src/use/index.ts +0 -14
  499. package/src/use/onPopupReopen.ts +0 -15
  500. package/src/use/use-delayed-toggle/index.ts +0 -30
  501. package/src/use/use-floating/index.ts +0 -121
  502. package/src/use/use-forward-ref.ts +0 -35
  503. package/src/use/use-global-config/index.ts +0 -81
  504. package/src/use/use-id/index.ts +0 -43
  505. package/src/use/use-model-toggle/index.ts +0 -151
  506. package/src/use/use-namespace/index.ts +0 -91
  507. package/src/use/use-ordered-children/index.ts +0 -43
  508. package/src/use/use-popper-container/index.ts +0 -43
  509. package/src/use/use-timeout/index.ts +0 -18
  510. package/src/use/use-z-index/index.ts +0 -20
  511. package/src/use/useGlobalZIndex.ts +0 -24
  512. package/src/use/useLazyRender.ts +0 -17
  513. package/src/use/useLockScroll.ts +0 -66
  514. package/src/utils/aria.ts +0 -126
  515. package/src/utils/arrays.ts +0 -13
  516. package/src/utils/error.ts +0 -23
  517. package/src/utils/event.ts +0 -15
  518. package/src/utils/helper.ts +0 -7
  519. package/src/utils/index.ts +0 -8
  520. package/src/utils/interceptor.ts +0 -39
  521. package/src/utils/mount-component.ts +0 -65
  522. package/src/utils/popper.ts +0 -6
  523. package/src/utils/rand.ts +0 -12
  524. package/src/utils/scroll.ts +0 -101
  525. package/src/utils/vnode.ts +0 -169
  526. package/src/web/avatar/index.ts +0 -3
  527. package/src/web/avatar/index.vue +0 -83
  528. package/src/web/back-top/index.ts +0 -3
  529. package/src/web/back-top/index.vue +0 -72
  530. package/src/web/back-top/types.ts +0 -14
  531. package/src/web/back-top/use-back-top.ts +0 -65
  532. package/src/web/cascader/index.scss +0 -214
  533. package/src/web/cascader/index.ts +0 -5
  534. package/src/web/cascader/index.vue +0 -767
  535. package/src/web/cascader-panel/config.ts +0 -44
  536. package/src/web/cascader-panel/index.scss +0 -134
  537. package/src/web/cascader-panel/index.ts +0 -5
  538. package/src/web/cascader-panel/index.vue +0 -319
  539. package/src/web/cascader-panel/menu.vue +0 -135
  540. package/src/web/cascader-panel/node-content.ts +0 -23
  541. package/src/web/cascader-panel/node.ts +0 -218
  542. package/src/web/cascader-panel/node.vue +0 -197
  543. package/src/web/cascader-panel/store.ts +0 -83
  544. package/src/web/cascader-panel/types.ts +0 -56
  545. package/src/web/cascader-panel/utils.ts +0 -40
  546. package/src/web/cascader-select/README.md +0 -31
  547. package/src/web/cascader-select/index.scss +0 -54
  548. package/src/web/cascader-select/index.ts +0 -5
  549. package/src/web/cascader-select/index.vue +0 -132
  550. package/src/web/cascader-select/types.ts +0 -9
  551. package/src/web/context-menu/createContextMenu.ts +0 -72
  552. package/src/web/context-menu/index.ts +0 -4
  553. package/src/web/context-menu/index.vue +0 -89
  554. package/src/web/context-menu/types.ts +0 -27
  555. package/src/web/context-menu/useContextMenu.ts +0 -14
  556. package/src/web/descriptions/description-item.vue +0 -34
  557. package/src/web/descriptions/description.vue +0 -124
  558. package/src/web/descriptions/descriptions-cell.ts +0 -95
  559. package/src/web/descriptions/descriptions-item.scss +0 -68
  560. package/src/web/descriptions/descriptions-row.vue +0 -49
  561. package/src/web/descriptions/descriptions.scss +0 -153
  562. package/src/web/descriptions/descriptions.type.ts +0 -19
  563. package/src/web/descriptions/index.ts +0 -4
  564. package/src/web/descriptions/token.ts +0 -4
  565. package/src/web/divider/index.ts +0 -5
  566. package/src/web/divider/index.vue +0 -60
  567. package/src/web/divider/types.ts +0 -2
  568. package/src/web/empty/assets/no-collect.png +0 -0
  569. package/src/web/empty/assets/no-data.png +0 -0
  570. package/src/web/empty/assets/no-filter.png +0 -0
  571. package/src/web/empty/assets/no-page-data.png +0 -0
  572. package/src/web/empty/assets/no-search.png +0 -0
  573. package/src/web/empty/constants.ts +0 -12
  574. package/src/web/empty/index.ts +0 -5
  575. package/src/web/empty/index.vue +0 -96
  576. package/src/web/exception/exception.png +0 -0
  577. package/src/web/exception/index.ts +0 -3
  578. package/src/web/exception/index.vue +0 -44
  579. package/src/web/filter/README.md +0 -25
  580. package/src/web/filter/index.scss +0 -14
  581. package/src/web/filter/index.ts +0 -5
  582. package/src/web/filter/index.vue +0 -60
  583. package/src/web/filter/type.ts +0 -13
  584. package/src/web/focus-trap/index.ts +0 -6
  585. package/src/web/focus-trap/index.vue +0 -328
  586. package/src/web/focus-trap/tokens.ts +0 -23
  587. package/src/web/focus-trap/utils.ts +0 -178
  588. package/src/web/full-screen/index.ts +0 -3
  589. package/src/web/full-screen/index.vue +0 -24
  590. package/src/web/icon-text/index.ts +0 -3
  591. package/src/web/icon-text/index.vue +0 -77
  592. package/src/web/image/index.ts +0 -5
  593. package/src/web/image/index.vue +0 -251
  594. package/src/web/image/types.ts +0 -1
  595. package/src/web/index.ts +0 -33
  596. package/src/web/input/index.ts +0 -3
  597. package/src/web/input/index.vue +0 -533
  598. package/src/web/input/utils.ts +0 -102
  599. package/src/web/layouts/blank.vue +0 -4
  600. package/src/web/layouts/footer/index.scss +0 -31
  601. package/src/web/layouts/footer/index.ts +0 -3
  602. package/src/web/layouts/footer/index.vue +0 -38
  603. package/src/web/layouts/header/index.scss +0 -35
  604. package/src/web/layouts/header/index.ts +0 -3
  605. package/src/web/layouts/header/index.vue +0 -47
  606. package/src/web/layouts/iframe/index.scss +0 -18
  607. package/src/web/layouts/iframe/index.vue +0 -36
  608. package/src/web/layouts/iframe/page.vue +0 -30
  609. package/src/web/layouts/index.ts +0 -8
  610. package/src/web/layouts/router-view-content/index.vue +0 -70
  611. package/src/web/link/index.scss +0 -95
  612. package/src/web/link/index.ts +0 -3
  613. package/src/web/link/index.vue +0 -68
  614. package/src/web/loading/directive.ts +0 -104
  615. package/src/web/loading/index.ts +0 -6
  616. package/src/web/loading/loading.scss +0 -108
  617. package/src/web/loading/loading.ts +0 -156
  618. package/src/web/loading/service.ts +0 -145
  619. package/src/web/loading/types.ts +0 -29
  620. package/src/web/logo/index.scss +0 -31
  621. package/src/web/logo/index.ts +0 -5
  622. package/src/web/logo/index.vue +0 -45
  623. package/src/web/logo/types.ts +0 -6
  624. package/src/web/menu/index.scss +0 -336
  625. package/src/web/menu/index.ts +0 -8
  626. package/src/web/menu/menu-collapse-transition.vue +0 -62
  627. package/src/web/menu/menu-item-group.vue +0 -27
  628. package/src/web/menu/menu-item.vue +0 -126
  629. package/src/web/menu/menu.vue +0 -459
  630. package/src/web/menu/sub-menu.vue +0 -440
  631. package/src/web/menu/types.ts +0 -66
  632. package/src/web/menu/use-menu-css-var.ts +0 -11
  633. package/src/web/menu/use-menu.ts +0 -60
  634. package/src/web/menu/utils/menu-bar.ts +0 -19
  635. package/src/web/menu/utils/menu-item.ts +0 -55
  636. package/src/web/menu/utils/submenu.ts +0 -66
  637. package/src/web/multiple-select-flat/index.ts +0 -5
  638. package/src/web/multiple-select-flat/index.vue +0 -53
  639. package/src/web/multiple-select-flat/types.ts +0 -5
  640. package/src/web/multiple-tabs/index.scss +0 -16
  641. package/src/web/multiple-tabs/index.ts +0 -5
  642. package/src/web/multiple-tabs/index.vue +0 -193
  643. package/src/web/multiple-tabs/tab-content.vue +0 -40
  644. package/src/web/multiple-tabs/types.ts +0 -3
  645. package/src/web/multiple-tabs/use/index.ts +0 -2
  646. package/src/web/multiple-tabs/use/use-multiple-tabs.ts +0 -86
  647. package/src/web/multiple-tabs/use/use-tab-dropdown.ts +0 -101
  648. package/src/web/nodata/README.md +0 -42
  649. package/src/web/nodata/fail.vue +0 -13
  650. package/src/web/nodata/img/100.png +0 -0
  651. package/src/web/nodata/img/101.png +0 -0
  652. package/src/web/nodata/img/102.png +0 -0
  653. package/src/web/nodata/img/103.png +0 -0
  654. package/src/web/nodata/img/104.png +0 -0
  655. package/src/web/nodata/img/105.png +0 -0
  656. package/src/web/nodata/img/106.png +0 -0
  657. package/src/web/nodata/img/107.png +0 -0
  658. package/src/web/nodata/img/200.png +0 -0
  659. package/src/web/nodata/img/201.png +0 -0
  660. package/src/web/nodata/img/202.png +0 -0
  661. package/src/web/nodata/img/203.png +0 -0
  662. package/src/web/nodata/index.scss +0 -37
  663. package/src/web/nodata/index.ts +0 -6
  664. package/src/web/nodata/index.vue +0 -46
  665. package/src/web/nodata/types.ts +0 -17
  666. package/src/web/only-child/index.tsx +0 -69
  667. package/src/web/pagination/components/jumper.vue +0 -49
  668. package/src/web/pagination/components/next.vue +0 -40
  669. package/src/web/pagination/components/pager.vue +0 -215
  670. package/src/web/pagination/components/prev.vue +0 -35
  671. package/src/web/pagination/components/sizes.vue +0 -76
  672. package/src/web/pagination/components/total.vue +0 -21
  673. package/src/web/pagination/index.scss +0 -231
  674. package/src/web/pagination/index.ts +0 -5
  675. package/src/web/pagination/pagination.ts +0 -363
  676. package/src/web/pagination/usePagination.ts +0 -13
  677. package/src/web/popover/directive.ts +0 -21
  678. package/src/web/popover/index.scss +0 -58
  679. package/src/web/popover/index.ts +0 -3
  680. package/src/web/popover/index.vue +0 -161
  681. package/src/web/popover/types.ts +0 -26
  682. package/src/web/popper/arrow.vue +0 -45
  683. package/src/web/popper/content.vue +0 -311
  684. package/src/web/popper/index.scss +0 -108
  685. package/src/web/popper/index.ts +0 -11
  686. package/src/web/popper/popper.vue +0 -57
  687. package/src/web/popper/tokens.ts +0 -28
  688. package/src/web/popper/trigger.vue +0 -166
  689. package/src/web/popper/types.ts +0 -49
  690. package/src/web/popper/utils.ts +0 -81
  691. package/src/web/qrcode/drawCanvas.ts +0 -32
  692. package/src/web/qrcode/drawLogo.ts +0 -82
  693. package/src/web/qrcode/index.ts +0 -5
  694. package/src/web/qrcode/index.vue +0 -107
  695. package/src/web/qrcode/qrcodePlus.ts +0 -4
  696. package/src/web/qrcode/toCanvas.ts +0 -11
  697. package/src/web/qrcode/types.ts +0 -38
  698. package/src/web/result/index.ts +0 -3
  699. package/src/web/result/index.vue +0 -63
  700. package/src/web/scrollbar/bar.vue +0 -48
  701. package/src/web/scrollbar/index.scss +0 -91
  702. package/src/web/scrollbar/index.ts +0 -5
  703. package/src/web/scrollbar/index.vue +0 -236
  704. package/src/web/scrollbar/thumb.vue +0 -183
  705. package/src/web/scrollbar/tokens.ts +0 -10
  706. package/src/web/scrollbar/types.ts +0 -7
  707. package/src/web/scrollbar/util.ts +0 -38
  708. package/src/web/select/constants.ts +0 -13
  709. package/src/web/select/index.ts +0 -11
  710. package/src/web/select/index.vue +0 -555
  711. package/src/web/select/option-group.scss +0 -49
  712. package/src/web/select/option-group.vue +0 -97
  713. package/src/web/select/option-item.scss +0 -66
  714. package/src/web/select/option.scss +0 -32
  715. package/src/web/select/option.vue +0 -110
  716. package/src/web/select/select-dropdown.scss +0 -86
  717. package/src/web/select/select-dropdown.vue +0 -51
  718. package/src/web/select/select.scss +0 -213
  719. package/src/web/select/token.ts +0 -56
  720. package/src/web/select/useOption.ts +0 -146
  721. package/src/web/select/useSelect.ts +0 -942
  722. package/src/web/select/utils.ts +0 -5
  723. package/src/web/side-menu/index.scss +0 -66
  724. package/src/web/side-menu/index.ts +0 -4
  725. package/src/web/side-menu/index.vue +0 -228
  726. package/src/web/side-menu/types.ts +0 -20
  727. package/src/web/single-select/index.scss +0 -60
  728. package/src/web/single-select/index.ts +0 -5
  729. package/src/web/single-select/index.vue +0 -70
  730. package/src/web/single-select/select@2x.png +0 -0
  731. package/src/web/single-select/types.ts +0 -5
  732. package/src/web/svg/index.ts +0 -3
  733. package/src/web/svg/index.vue +0 -22
  734. package/src/web/tabs/index.scss +0 -579
  735. package/src/web/tabs/index.ts +0 -6
  736. package/src/web/tabs/index.vue +0 -236
  737. package/src/web/tabs/tab-bar.vue +0 -90
  738. package/src/web/tabs/tab-nav.vue +0 -403
  739. package/src/web/tabs/tab-pane.vue +0 -90
  740. package/src/web/tabs/types.ts +0 -66
  741. package/src/web/tag/index.scss +0 -182
  742. package/src/web/tag/index.ts +0 -5
  743. package/src/web/tag/index.vue +0 -78
  744. package/src/web/tag/types.ts +0 -2
  745. package/src/web/tooltip/content.vue +0 -239
  746. package/src/web/tooltip/index.ts +0 -4
  747. package/src/web/tooltip/tokens.ts +0 -21
  748. package/src/web/tooltip/tooltip.vue +0 -270
  749. package/src/web/tooltip/trigger.vue +0 -119
  750. package/src/web/tooltip/types.ts +0 -56
  751. package/src/web/tooltip/utils.ts +0 -20
  752. package/src/web/transition/collapse-transition.vue +0 -73
  753. package/src/web/transition/index.ts +0 -5
  754. package/tsconfig.json +0 -8
  755. package/types/index.d.ts +0 -286
  756. /package/{types/component.ts → es/components/types.d.ts} +0 -0
@@ -1,767 +0,0 @@
1
- <template>
2
- <el-tooltip
3
- ref="tooltipRef"
4
- :visible="popperVisible"
5
- :teleported="teleported"
6
- :popper-class="[nsCascader.e('dropdown'), popperClass]"
7
- :popper-options="popperOptions"
8
- :fallback-placements="[
9
- 'bottom-start',
10
- 'bottom',
11
- 'top-start',
12
- 'top',
13
- 'right',
14
- 'left',
15
- ]"
16
- :stop-popper-mouse-event="false"
17
- :gpu-acceleration="false"
18
- placement="bottom-start"
19
- :transition="`${nsCascader.namespace.value}-zoom-in-top`"
20
- effect="light"
21
- pure
22
- persistent
23
- @hide="hideSuggestionPanel"
24
- >
25
- <template #default>
26
- <div
27
- v-clickoutside:[popperPaneRef]="() => togglePopperVisible(false)"
28
- :class="[
29
- nsCascader.b(),
30
- nsCascader.m(realSize),
31
- nsCascader.is('disabled', isDisabled),
32
- $attrs.class,
33
- ]"
34
- :style="$attrs.style"
35
- @click="() => togglePopperVisible(readonly ? undefined : true)"
36
- @keydown="handleKeyDown"
37
- @mouseenter="inputHover = true"
38
- @mouseleave="inputHover = false"
39
- >
40
- <v-input
41
- ref="input"
42
- v-model="inputValue"
43
- :placeholder="currentPlaceholder"
44
- :readonly="readonly"
45
- :disabled="isDisabled"
46
- :validate-event="false"
47
- :size="realSize"
48
- :class="nsCascader.is('focus', popperVisible)"
49
- @compositionstart="handleComposition"
50
- @compositionupdate="handleComposition"
51
- @compositionend="handleComposition"
52
- @focus="(e) => $emit('focus', e)"
53
- @blur="(e) => $emit('blur', e)"
54
- @input="handleInput"
55
- >
56
- <template #suffix>
57
- <span v-if="clearBtnVisible"
58
- key="clear"
59
- :class="[nsInput.e('icon'), 'icon-circle-close']" @click.stop="handleClear">
60
- <v-icon v-bind="{ icon: 'vi-close-full', size: 16 }" />
61
- </span>
62
- <span v-else key="arrow-down"
63
- :class="[
64
- nsInput.e('icon'),
65
- 'icon-arrow-down',
66
- nsCascader.is('reverse', popperVisible),
67
- ]"
68
- @click.stop="togglePopperVisible()">
69
- <v-icon
70
- v-bind="{ icon: 'vi-arrow-down', size: 16 }"
71
- />
72
- </span>
73
-
74
- </template>
75
- </v-input>
76
-
77
- <div v-if="multiple" ref="tagWrapper" :class="nsCascader.e('tags')">
78
- <el-tag
79
- v-for="tag in presentTags"
80
- :key="tag.key"
81
- :type="tagType"
82
- :size="tagSize"
83
- :hit="tag.hitState"
84
- :closable="tag.closable"
85
- disable-transitions
86
- @close="deleteTag(tag)"
87
- >
88
- <template v-if="tag.isCollapseTag === false">
89
- <span>{{ tag.text }}</span>
90
- </template>
91
- <template v-else>
92
- <el-tooltip
93
- :disabled="popperVisible || !collapseTagsTooltip"
94
- :fallback-placements="['bottom', 'top', 'right', 'left']"
95
- placement="bottom"
96
- effect="light"
97
- >
98
- <template #default>
99
- <span>{{ tag.text }}</span>
100
- </template>
101
- <template #content>
102
- <div :class="nsCascader.e('collapse-tags')">
103
- <div
104
- v-for="(tag2, idx) in allPresentTags.slice(1)"
105
- :key="idx"
106
- :class="nsCascader.e('collapse-tag')"
107
- >
108
- <el-tag
109
- :key="tag2.key"
110
- class="in-tooltip"
111
- :type="tagType"
112
- :size="tagSize"
113
- :hit="tag2.hitState"
114
- :closable="tag2.closable"
115
- disable-transitions
116
- @close="deleteTag(tag2)"
117
- >
118
- <span>{{ tag2.text }}</span>
119
- </el-tag>
120
- </div>
121
- </div>
122
- </template>
123
- </el-tooltip>
124
- </template>
125
- </el-tag>
126
- <input
127
- v-if="filterable && !isDisabled"
128
- v-model="searchInputValue"
129
- type="text"
130
- :class="nsCascader.e('search-input')"
131
- :placeholder="presentText ? '' : inputPlaceholder"
132
- @input="(e) => handleInput(searchInputValue, e)"
133
- @click.stop="togglePopperVisible(true)"
134
- @keydown.delete="handleDelete"
135
- @compositionstart="handleComposition"
136
- @compositionupdate="handleComposition"
137
- @compositionend="handleComposition"
138
- />
139
- </div>
140
- </div>
141
- </template>
142
-
143
- <template #content>
144
- <cascader-panel
145
- v-show="!filtering"
146
- ref="panel"
147
- v-model="checkedValue"
148
- :options="options"
149
- :props="props"
150
- :border="false"
151
- :render-label="$slots.default"
152
- @expand-change="handleExpandChange"
153
- @close="$nextTick(() => togglePopperVisible(false))"
154
- />
155
- <v-scrollbar
156
- v-if="filterable"
157
- v-show="filtering"
158
- ref="suggestionPanel"
159
- tag="ul"
160
- :class="nsCascader.e('suggestion-panel')"
161
- :view-class="nsCascader.e('suggestion-list')"
162
- @keydown="handleSuggestionKeyDown"
163
- >
164
- <template v-if="suggestions.length">
165
- <li
166
- v-for="item in suggestions"
167
- :key="item.uid"
168
- :class="[
169
- nsCascader.e('suggestion-item'),
170
- nsCascader.is('checked', item.checked),
171
- ]"
172
- :tabindex="-1"
173
- @click="handleSuggestionClick(item)"
174
- >
175
- <span>{{ item.text }}</span>
176
- <v-icon v-if="item.checked" />
177
- </li>
178
- </template>
179
- <slot v-else name="empty">
180
- <li :class="nsCascader.e('empty-text')">
181
- {{ t('el.cascader.noMatch') }}
182
- </li>
183
- </slot>
184
- </v-scrollbar>
185
- </template>
186
- </el-tooltip>
187
- </template>
188
-
189
- <script lang="ts">
190
- import { computed, defineComponent, nextTick, onMounted, ref, watch } from 'vue';
191
- import { isPromise } from '@vue/shared';
192
- import { cloneDeep, debounce } from 'lodash';
193
- import { Input as VInput } from '../';
194
- import { Scrollbar as VScrollbar } from '../';
195
- import { Icon as VIcon } from '../../common';
196
- import { isClient, useCssVar, useResizeObserver } from '@vueuse/core';
197
- import CascaderPanel from '../cascader-panel/index.vue';
198
- import {
199
- ElTag,
200
- ElTooltip,
201
- ClickOutside as Clickoutside,
202
- useFormItem,
203
- useLocale,
204
- useSize
205
- } from 'element-plus';
206
- import { useNamespace } from '../../use';
207
- import { isKorean } from '@vri/utils';
208
- import { debugWarn, focusNode, getSibling } from '../../utils';
209
- import { CHANGE_EVENT, EVENT_CODE, UPDATE_MODEL_EVENT } from '@vri/constants';
210
- import type { ComputedRef, PropType, Ref } from 'vue';
211
- import type { CascaderOption, CascaderProps } from '../cascader-panel/node';
212
- import type { CascaderNode, CascaderValue, Tag } from '../cascader-panel/types';
213
- import { type ComponentSize, isValidComponentSize } from '../select/constants';
214
-
215
- const popperOptions: any = {
216
- modifiers: [
217
- {
218
- name: 'arrowPosition',
219
- enabled: true,
220
- phase: 'main',
221
- fn: ({ state }) => {
222
- const { modifiersData, placement } = state as any;
223
- if (['right', 'left', 'bottom', 'top'].includes(placement)) return;
224
- modifiersData.arrow.x = 35;
225
- },
226
- requires: ['arrow']
227
- }
228
- ]
229
- };
230
- const COMPONENT_NAME = 'VriCascader';
231
- export default defineComponent({
232
- name: COMPONENT_NAME,
233
-
234
- components: {
235
- CascaderPanel,
236
- ElTooltip,
237
- ElTag,
238
- VInput,
239
- VIcon,
240
- VScrollbar
241
- },
242
-
243
- directives: {
244
- Clickoutside
245
- },
246
-
247
- props: {
248
- modelValue: [Number, String, Array] as PropType<CascaderValue>,
249
- options: {
250
- type: Array as PropType<CascaderOption[]>,
251
- default: () => [] as CascaderOption[]
252
- },
253
- props: {
254
- type: Object as PropType<CascaderProps>,
255
- default: () => ({} as CascaderProps)
256
- },
257
- size: {
258
- type: String as PropType<ComponentSize>,
259
- validator: isValidComponentSize
260
- },
261
- placeholder: {
262
- type: String
263
- },
264
- disabled: Boolean,
265
- clearable: Boolean,
266
- filterable: Boolean,
267
- filterMethod: {
268
- type: Function as PropType<(node: CascaderNode, keyword: string) => boolean>,
269
- default: (node: CascaderNode, keyword: string) =>
270
- node.text.includes(keyword)
271
- },
272
- separator: {
273
- type: String,
274
- default: ' / '
275
- },
276
- showAllLevels: {
277
- type: Boolean,
278
- default: true
279
- },
280
- collapseTags: Boolean,
281
- collapseTagsTooltip: {
282
- type: Boolean,
283
- default: false
284
- },
285
- debounce: {
286
- type: Number,
287
- default: 300
288
- },
289
- beforeFilter: {
290
- type: Function as PropType<(value: string) => boolean | Promise<any>>,
291
- default: () => true
292
- },
293
- popperClass: {
294
- type: String,
295
- default: ''
296
- },
297
- teleported: {
298
- type: Boolean,
299
- default: true
300
- },
301
- tagType: {
302
- type: String,
303
- values: ['success', 'info', 'warning', 'danger', ''],
304
- default: 'info'
305
- },
306
- validateEvent: {
307
- type: Boolean,
308
- default: true
309
- }
310
- },
311
-
312
- emits: [
313
- UPDATE_MODEL_EVENT,
314
- CHANGE_EVENT,
315
- 'focus',
316
- 'blur',
317
- 'visible-change',
318
- 'expand-change',
319
- 'remove-tag'
320
- ],
321
-
322
- setup (props, { emit }) {
323
- let inputInitialHeight = 0;
324
- let pressDeleteCount = 0;
325
-
326
- const nsCascader = useNamespace('cascader');
327
- const nsInput = useNamespace('input');
328
-
329
- const { t } = useLocale();
330
- const { form, formItem } = useFormItem();
331
-
332
- const tooltipRef = ref(null);
333
- const input = ref(null);
334
- const tagWrapper = ref(null);
335
- const panel = ref(null);
336
- const suggestionPanel = ref(null);
337
- const popperVisible = ref(false);
338
- const inputHover = ref(false);
339
- const filtering = ref(false);
340
- const inputValue = ref('');
341
- const searchInputValue = ref('');
342
- const presentTags: Ref<Tag[]> = ref([]);
343
- const allPresentTags: Ref<Tag[]> = ref([]);
344
- const suggestions: Ref<CascaderNode[]> = ref([]);
345
- const isOnComposition = ref(false);
346
-
347
- const isDisabled = computed(() => props.disabled || form?.disabled);
348
- const inputPlaceholder = computed(
349
- () => props.placeholder || t('el.cascader.placeholder')
350
- );
351
- const currentPlaceholder = computed(() =>
352
- searchInputValue.value || presentTags.value.length > 0
353
- ? ''
354
- : inputPlaceholder.value
355
- );
356
- const realSize = useSize();
357
- const tagSize = computed(() =>
358
- ['small'].includes(realSize.value) ? 'small' : 'default'
359
- );
360
- const multiple = computed(() => !!props.props.multiple);
361
- const readonly = computed(() => !props.filterable || multiple.value);
362
- const searchKeyword = computed(() =>
363
- multiple.value ? searchInputValue.value : inputValue.value
364
- );
365
- const checkedNodes: ComputedRef<CascaderNode[]> = computed(
366
- () => panel.value?.checkedNodes || []
367
- );
368
- const clearBtnVisible = computed(() => {
369
- if (
370
- !props.clearable ||
371
- isDisabled.value ||
372
- filtering.value ||
373
- !inputHover.value
374
- )
375
- return false;
376
-
377
- return !!checkedNodes.value.length;
378
- });
379
- const presentText = computed(() => {
380
- const { showAllLevels, separator } = props;
381
- const nodes = checkedNodes.value;
382
- return nodes.length
383
- ? multiple.value
384
- ? ''
385
- : nodes[0].calcText(showAllLevels, separator)
386
- : '';
387
- });
388
-
389
- const checkedValue = computed<CascaderValue>({
390
- get () {
391
- return cloneDeep(props.modelValue) as CascaderValue;
392
- },
393
- set (val) {
394
- emit(UPDATE_MODEL_EVENT, val);
395
- emit(CHANGE_EVENT, val);
396
- if (props.validateEvent) {
397
- formItem?.validate('change').catch((err) => debugWarn(err));
398
- }
399
- }
400
- });
401
-
402
- const popperPaneRef = computed(() => {
403
- return tooltipRef.value?.popperRef?.contentRef;
404
- });
405
-
406
- const togglePopperVisible = (visible?: boolean) => {
407
- if (isDisabled.value) return;
408
-
409
- visible = visible ?? !popperVisible.value;
410
-
411
- if (visible !== popperVisible.value) {
412
- popperVisible.value = visible;
413
- input.value?.input?.setAttribute('aria-expanded', `${visible}`);
414
-
415
- if (visible) {
416
- updatePopperPosition();
417
- nextTick(panel.value?.scrollToExpandingNode);
418
- } else if (props.filterable) {
419
- syncPresentTextValue();
420
- }
421
-
422
- emit('visible-change', visible);
423
- }
424
- };
425
-
426
- const updatePopperPosition = () => {
427
- nextTick(() => {
428
- tooltipRef.value?.updatePopper();
429
- });
430
- };
431
-
432
- const hideSuggestionPanel = () => {
433
- filtering.value = false;
434
- };
435
-
436
- const genTag = (node: CascaderNode): Tag => {
437
- const { showAllLevels, separator } = props;
438
- return {
439
- node,
440
- key: node.uid,
441
- text: node.calcText(showAllLevels, separator),
442
- hitState: false,
443
- closable: !isDisabled.value && !node.isDisabled,
444
- isCollapseTag: false
445
- };
446
- };
447
-
448
- const deleteTag = (tag: Tag) => {
449
- const node = tag.node as CascaderNode;
450
- node.doCheck(false);
451
- panel.value?.calculateCheckedValue();
452
- emit('remove-tag', node.valueByOption);
453
- };
454
-
455
- const calculatePresentTags = () => {
456
- if (!multiple.value) return;
457
-
458
- const nodes = checkedNodes.value;
459
- const tags: Tag[] = [];
460
-
461
- const allTags: Tag[] = [];
462
- nodes.forEach((node) => allTags.push(genTag(node)));
463
- allPresentTags.value = allTags;
464
-
465
- if (nodes.length) {
466
- const [first, ...rest] = nodes;
467
- const restCount = rest.length;
468
-
469
- tags.push(genTag(first));
470
-
471
- if (restCount) {
472
- if (props.collapseTags) {
473
- tags.push({
474
- key: -1,
475
- text: `+ ${restCount}`,
476
- closable: false,
477
- isCollapseTag: true
478
- });
479
- } else {
480
- rest.forEach((node) => tags.push(genTag(node)));
481
- }
482
- }
483
- }
484
-
485
- presentTags.value = tags;
486
- };
487
-
488
- const calculateSuggestions = () => {
489
- const { filterMethod, showAllLevels, separator } = props;
490
- const res = panel.value
491
- ?.getFlattedNodes(!props.props.checkStrictly)
492
- ?.filter((node) => {
493
- if (node.isDisabled) return false;
494
- node.calcText(showAllLevels, separator);
495
- return filterMethod(node, searchKeyword.value);
496
- });
497
-
498
- if (multiple.value) {
499
- presentTags.value.forEach((tag) => {
500
- tag.hitState = false;
501
- });
502
- allPresentTags.value.forEach((tag) => {
503
- tag.hitState = false;
504
- });
505
- }
506
-
507
- filtering.value = true;
508
- suggestions.value = res!;
509
- updatePopperPosition();
510
- };
511
-
512
- const focusFirstNode = () => {
513
- let firstNode!: HTMLElement;
514
-
515
- if (filtering.value && suggestionPanel.value) {
516
- firstNode = suggestionPanel.value.$el.querySelector(
517
- `.${nsCascader.e('suggestion-item')}`
518
- );
519
- } else {
520
- firstNode = panel.value?.$el.querySelector(
521
- `.${nsCascader.b('node')}[tabindex="-1"]`
522
- );
523
- }
524
-
525
- if (firstNode) {
526
- firstNode.focus();
527
- !filtering.value && firstNode.click();
528
- }
529
- };
530
-
531
- const updateStyle = () => {
532
- const inputInner = input.value?.input;
533
- const tagWrapperEl = tagWrapper.value;
534
- const suggestionPanelEl = suggestionPanel.value?.$el;
535
-
536
- if (!isClient || !inputInner) return;
537
-
538
- if (suggestionPanelEl) {
539
- const suggestionList = suggestionPanelEl.querySelector(
540
- `.${nsCascader.e('suggestion-list')}`
541
- );
542
- suggestionList.style.minWidth = `${inputInner.offsetWidth}px`;
543
- }
544
-
545
- if (tagWrapperEl) {
546
- const { offsetHeight } = tagWrapperEl;
547
- const height =
548
- presentTags.value.length > 0
549
- ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`
550
- : `${inputInitialHeight}px`;
551
- inputInner.style.height = height;
552
- updatePopperPosition();
553
- }
554
- };
555
-
556
- const getCheckedNodes = (leafOnly: boolean) => {
557
- return panel.value?.getCheckedNodes(leafOnly);
558
- };
559
-
560
- const handleExpandChange = (value: CascaderValue) => {
561
- updatePopperPosition();
562
- emit('expand-change', value);
563
- };
564
-
565
- const handleComposition = (event: CompositionEvent) => {
566
- const text = (event.target as HTMLInputElement)?.value;
567
- if (event.type === 'compositionend') {
568
- isOnComposition.value = false;
569
- nextTick(() => handleInput(text));
570
- } else {
571
- const lastCharacter = text[text.length - 1] || '';
572
- isOnComposition.value = !isKorean(lastCharacter);
573
- }
574
- };
575
-
576
- const handleKeyDown = (e: KeyboardEvent) => {
577
- if (isOnComposition.value) return;
578
-
579
- switch (e.code) {
580
- case EVENT_CODE.enter:
581
- togglePopperVisible();
582
- break;
583
- case EVENT_CODE.down:
584
- togglePopperVisible(true);
585
- nextTick(focusFirstNode);
586
- e.preventDefault();
587
- break;
588
- case EVENT_CODE.esc:
589
- if (popperVisible.value === true) {
590
- e.preventDefault();
591
- e.stopPropagation();
592
- togglePopperVisible(false);
593
- }
594
- break;
595
- case EVENT_CODE.tab:
596
- togglePopperVisible(false);
597
- break;
598
- }
599
- };
600
-
601
- const handleClear = () => {
602
- panel.value?.clearCheckedNodes();
603
- if (!popperVisible.value && props.filterable) {
604
- syncPresentTextValue();
605
- }
606
- togglePopperVisible(false);
607
- };
608
-
609
- const syncPresentTextValue = () => {
610
- const { value } = presentText;
611
- inputValue.value = value;
612
- searchInputValue.value = value;
613
- };
614
-
615
- const handleSuggestionClick = (node: CascaderNode) => {
616
- const { checked } = node;
617
-
618
- if (multiple.value) {
619
- panel.value?.handleCheckChange(node, !checked, false);
620
- } else {
621
- !checked && panel.value?.handleCheckChange(node, true, false);
622
- togglePopperVisible(false);
623
- }
624
- };
625
-
626
- const handleSuggestionKeyDown = (e: KeyboardEvent) => {
627
- const target = e.target as HTMLElement;
628
- const { code } = e;
629
-
630
- switch (code) {
631
- case EVENT_CODE.up:
632
- case EVENT_CODE.down: {
633
- const distance = code === EVENT_CODE.up ? -1 : 1;
634
- focusNode(
635
- getSibling(
636
- target,
637
- distance,
638
- `.${nsCascader.e('suggestion-item')}[tabindex="-1"]`
639
- )
640
- );
641
- break;
642
- }
643
- case EVENT_CODE.enter:
644
- target.click();
645
- break;
646
- }
647
- };
648
-
649
- const handleDelete = () => {
650
- const tags = presentTags.value;
651
- const lastTag = tags[tags.length - 1];
652
- pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1;
653
-
654
- if (
655
- !lastTag ||
656
- !pressDeleteCount ||
657
- (props.collapseTags && tags.length > 1)
658
- )
659
- return;
660
-
661
- if (lastTag.hitState) {
662
- deleteTag(lastTag);
663
- } else {
664
- lastTag.hitState = true;
665
- }
666
- };
667
-
668
- const handleFilter = debounce(() => {
669
- const { value } = searchKeyword;
670
-
671
- if (!value) return;
672
-
673
- const passed = props.beforeFilter(value);
674
-
675
- if (isPromise(passed)) {
676
- passed.then(calculateSuggestions).catch(() => {
677
- /* prevent log error */
678
- });
679
- } else if (passed !== false) {
680
- calculateSuggestions();
681
- } else {
682
- hideSuggestionPanel();
683
- }
684
- }, props.debounce);
685
-
686
- const handleInput = (val: string, e?: KeyboardEvent) => {
687
- !popperVisible.value && togglePopperVisible(true);
688
-
689
- if (e?.isComposing) return;
690
-
691
- val ? handleFilter() : hideSuggestionPanel();
692
- };
693
-
694
- watch(filtering, updatePopperPosition);
695
-
696
- watch([checkedNodes, isDisabled], calculatePresentTags);
697
-
698
- watch(presentTags, () => {
699
- nextTick(() => updateStyle());
700
- });
701
-
702
- watch(presentText, syncPresentTextValue, { immediate: true });
703
-
704
- onMounted(() => {
705
- const inputInner = input.value!.input!;
706
-
707
- const inputInnerHeight =
708
- Number.parseFloat(
709
- useCssVar(nsInput.cssVarName('input-height'), inputInner).value
710
- ) - 2;
711
-
712
- inputInitialHeight = inputInner.offsetHeight || inputInnerHeight;
713
- useResizeObserver(inputInner, updateStyle);
714
- });
715
-
716
- return {
717
- popperOptions,
718
- tooltipRef,
719
- popperPaneRef,
720
- input,
721
- tagWrapper,
722
- panel,
723
- suggestionPanel,
724
- popperVisible,
725
- inputHover,
726
- inputPlaceholder,
727
- currentPlaceholder,
728
- filtering,
729
- presentText,
730
- checkedValue,
731
- inputValue,
732
- searchInputValue,
733
- presentTags,
734
- allPresentTags,
735
- suggestions,
736
- isDisabled,
737
- isOnComposition,
738
- realSize,
739
- tagSize,
740
- multiple,
741
- readonly,
742
- clearBtnVisible,
743
-
744
- nsCascader,
745
- nsInput,
746
- t,
747
- togglePopperVisible,
748
- hideSuggestionPanel,
749
- deleteTag,
750
- focusFirstNode,
751
- getCheckedNodes,
752
- handleExpandChange,
753
- handleKeyDown,
754
- handleComposition,
755
- handleClear,
756
- handleSuggestionClick,
757
- handleSuggestionKeyDown,
758
- handleDelete,
759
- handleInput
760
- };
761
- }
762
- });
763
- </script>
764
-
765
- <style lang="scss">
766
- @import "./index.scss";
767
- </style>