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,328 +0,0 @@
1
- <template>
2
- <slot :handle-keydown="onKeydown" />
3
- </template>
4
-
5
- <script lang="ts">
6
- import { EVENT_CODE } from '@vri/constants';
7
- import { useEscapeKeydown } from '@vri/use';
8
- import { isString } from '@vri/utils';
9
- import { isNil } from 'lodash';
10
- import type { PropType } from 'vue';
11
- import {
12
- defineComponent,
13
- nextTick,
14
- onBeforeUnmount,
15
- onMounted,
16
- provide,
17
- ref,
18
- unref,
19
- watch
20
- } from 'vue';
21
- import {
22
- FOCUS_AFTER_RELEASED,
23
- FOCUS_AFTER_TRAPPED,
24
- FOCUS_AFTER_TRAPPED_OPTS,
25
- FOCUS_TRAP_INJECTION_KEY,
26
- ON_RELEASE_FOCUS_EVT,
27
- ON_TRAP_FOCUS_EVT
28
- } from './tokens';
29
- import type { FocusLayer } from './utils';
30
- import {
31
- createFocusOutPreventedEvent,
32
- focusableStack,
33
- focusFirstDescendant,
34
- getEdges,
35
- isFocusCausedByUserEvent,
36
- obtainAllFocusableElements,
37
- tryFocus,
38
- useFocusReason
39
- } from './utils';
40
-
41
- export default defineComponent({
42
- name: 'VriFocusTrap',
43
- inheritAttrs: false,
44
- props: {
45
- loop: Boolean,
46
- trapped: Boolean,
47
- focusTrapEl: Object as PropType<HTMLElement>,
48
- focusStartEl: {
49
- type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,
50
- default: 'first'
51
- }
52
- },
53
- emits: [
54
- ON_TRAP_FOCUS_EVT,
55
- ON_RELEASE_FOCUS_EVT,
56
- 'focusin',
57
- 'focusout',
58
- 'focusout-prevented',
59
- 'release-requested'
60
- ],
61
- setup (props, { emit }) {
62
- const forwardRef = ref<HTMLElement | undefined>();
63
- let lastFocusBeforeTrapped: HTMLElement | null;
64
- let lastFocusAfterTrapped: HTMLElement | null;
65
-
66
- const { focusReason } = useFocusReason();
67
-
68
- useEscapeKeydown((event) => {
69
- if (props.trapped && !focusLayer.paused) {
70
- emit('release-requested', event);
71
- }
72
- });
73
-
74
- const focusLayer: FocusLayer = {
75
- paused: false,
76
- pause () {
77
- this.paused = true;
78
- },
79
- resume () {
80
- this.paused = false;
81
- }
82
- };
83
-
84
- const onKeydown = (e: KeyboardEvent) => {
85
- if (!props.loop && !props.trapped) return;
86
- if (focusLayer.paused) return;
87
-
88
- const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e;
89
- const { loop } = props;
90
- const isTabbing =
91
- key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey;
92
-
93
- const currentFocusingEl = document.activeElement;
94
- if (isTabbing && currentFocusingEl) {
95
- const container = currentTarget as HTMLElement;
96
- const [first, last] = getEdges(container);
97
- const isTabbable = first && last;
98
- if (!isTabbable) {
99
- if (currentFocusingEl === container) {
100
- const focusoutPreventedEvent = createFocusOutPreventedEvent({
101
- focusReason: focusReason.value
102
- });
103
- emit('focusout-prevented', focusoutPreventedEvent);
104
- if (!focusoutPreventedEvent.defaultPrevented) {
105
- e.preventDefault();
106
- }
107
- }
108
- } else {
109
- if (!shiftKey && currentFocusingEl === last) {
110
- const focusoutPreventedEvent = createFocusOutPreventedEvent({
111
- focusReason: focusReason.value
112
- });
113
- emit('focusout-prevented', focusoutPreventedEvent);
114
- if (!focusoutPreventedEvent.defaultPrevented) {
115
- e.preventDefault();
116
- if (loop) tryFocus(first, true);
117
- }
118
- } else if (
119
- shiftKey &&
120
- [first, container].includes(currentFocusingEl as HTMLElement)
121
- ) {
122
- const focusoutPreventedEvent = createFocusOutPreventedEvent({
123
- focusReason: focusReason.value
124
- });
125
- emit('focusout-prevented', focusoutPreventedEvent);
126
- if (!focusoutPreventedEvent.defaultPrevented) {
127
- e.preventDefault();
128
- if (loop) tryFocus(last, true);
129
- }
130
- }
131
- }
132
- }
133
- };
134
-
135
- provide(FOCUS_TRAP_INJECTION_KEY, {
136
- focusTrapRef: forwardRef,
137
- onKeydown
138
- });
139
-
140
- watch(
141
- () => props.focusTrapEl,
142
- (focusTrapEl) => {
143
- if (focusTrapEl) {
144
- forwardRef.value = focusTrapEl;
145
- }
146
- },
147
- { immediate: true }
148
- );
149
-
150
- watch([forwardRef], ([forwardRef], [oldForwardRef]) => {
151
- if (forwardRef) {
152
- forwardRef.addEventListener('keydown', onKeydown);
153
- forwardRef.addEventListener('focusin', onFocusIn);
154
- forwardRef.addEventListener('focusout', onFocusOut);
155
- }
156
- if (oldForwardRef) {
157
- oldForwardRef.removeEventListener('keydown', onKeydown);
158
- oldForwardRef.removeEventListener('focusin', onFocusIn);
159
- oldForwardRef.removeEventListener('focusout', onFocusOut);
160
- }
161
- });
162
-
163
- const trapOnFocus = (e: Event) => {
164
- emit(ON_TRAP_FOCUS_EVT, e);
165
- };
166
- const releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e);
167
-
168
- const onFocusIn = (e: FocusEvent) => {
169
- const trapContainer = unref(forwardRef);
170
- if (!trapContainer) return;
171
-
172
- const target = e.target as HTMLElement | null;
173
- const relatedTarget = e.relatedTarget as HTMLElement | null;
174
- const isFocusedInTrap = target && trapContainer.contains(target);
175
-
176
- if (!props.trapped) {
177
- const isPrevFocusedInTrap =
178
- relatedTarget && trapContainer.contains(relatedTarget);
179
- if (!isPrevFocusedInTrap) {
180
- lastFocusBeforeTrapped = relatedTarget;
181
- }
182
- }
183
-
184
- if (isFocusedInTrap) emit('focusin', e);
185
-
186
- if (focusLayer.paused) return;
187
-
188
- if (props.trapped) {
189
- if (isFocusedInTrap) {
190
- lastFocusAfterTrapped = target;
191
- } else {
192
- tryFocus(lastFocusAfterTrapped, true);
193
- }
194
- }
195
- };
196
-
197
- const onFocusOut = (e: Event) => {
198
- const trapContainer = unref(forwardRef);
199
- if (focusLayer.paused || !trapContainer) return;
200
-
201
- if (props.trapped) {
202
- const relatedTarget = (e as FocusEvent)
203
- .relatedTarget as HTMLElement | null;
204
- if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {
205
- // Give embedded focus layer time to pause this layer before reclaiming focus
206
- // And only reclaim focus if it should currently be trapping
207
- setTimeout(() => {
208
- if (!focusLayer.paused && props.trapped) {
209
- const focusoutPreventedEvent = createFocusOutPreventedEvent({
210
- focusReason: focusReason.value
211
- });
212
- emit('focusout-prevented', focusoutPreventedEvent);
213
- if (!focusoutPreventedEvent.defaultPrevented) {
214
- tryFocus(lastFocusAfterTrapped, true);
215
- }
216
- }
217
- }, 0);
218
- }
219
- } else {
220
- const target = e.target as HTMLElement | null;
221
- const isFocusedInTrap = target && trapContainer.contains(target);
222
- if (!isFocusedInTrap) emit('focusout', e);
223
- }
224
- };
225
-
226
- async function startTrap () {
227
- // Wait for forwardRef to resolve
228
- await nextTick();
229
- const trapContainer = unref(forwardRef);
230
- if (trapContainer) {
231
- focusableStack.push(focusLayer);
232
- const prevFocusedElement = trapContainer.contains(
233
- document.activeElement
234
- )
235
- ? lastFocusBeforeTrapped
236
- : document.activeElement;
237
- lastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null;
238
- const isPrevFocusContained = trapContainer.contains(prevFocusedElement);
239
- if (!isPrevFocusContained) {
240
- const focusEvent = new Event(
241
- FOCUS_AFTER_TRAPPED,
242
- FOCUS_AFTER_TRAPPED_OPTS
243
- );
244
- trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus);
245
- trapContainer.dispatchEvent(focusEvent);
246
- if (!focusEvent.defaultPrevented) {
247
- nextTick(() => {
248
- let focusStartEl = props.focusStartEl;
249
- if (!isString(focusStartEl)) {
250
- tryFocus(focusStartEl);
251
- if (document.activeElement !== focusStartEl) {
252
- focusStartEl = 'first';
253
- }
254
- }
255
- if (focusStartEl === 'first') {
256
- focusFirstDescendant(
257
- obtainAllFocusableElements(trapContainer),
258
- true
259
- );
260
- }
261
- if (
262
- document.activeElement === prevFocusedElement ||
263
- focusStartEl === 'container'
264
- ) {
265
- tryFocus(trapContainer);
266
- }
267
- });
268
- }
269
- }
270
- }
271
- }
272
-
273
- function stopTrap () {
274
- const trapContainer = unref(forwardRef);
275
-
276
- if (trapContainer) {
277
- trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus);
278
-
279
- const releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {
280
- ...FOCUS_AFTER_TRAPPED_OPTS,
281
- detail: {
282
- focusReason: focusReason.value
283
- }
284
- });
285
- trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus);
286
- trapContainer.dispatchEvent(releasedEvent);
287
-
288
- if (
289
- !releasedEvent.defaultPrevented &&
290
- (focusReason.value === 'keyboard' || !isFocusCausedByUserEvent())
291
- ) {
292
- tryFocus(lastFocusBeforeTrapped ?? document.body, true);
293
- }
294
-
295
- trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus);
296
- focusableStack.remove(focusLayer);
297
- }
298
- }
299
-
300
- onMounted(() => {
301
- if (props.trapped) {
302
- startTrap();
303
- }
304
-
305
- watch(
306
- () => props.trapped,
307
- (trapped) => {
308
- if (trapped) {
309
- startTrap();
310
- } else {
311
- stopTrap();
312
- }
313
- }
314
- );
315
- });
316
-
317
- onBeforeUnmount(() => {
318
- if (props.trapped) {
319
- stopTrap();
320
- }
321
- });
322
-
323
- return {
324
- onKeydown
325
- };
326
- }
327
- });
328
- </script>
@@ -1,23 +0,0 @@
1
- import type { InjectionKey, Ref } from 'vue';
2
-
3
- export const FOCUS_AFTER_TRAPPED = 'focus-trap.focus-after-trapped';
4
- export const FOCUS_AFTER_RELEASED = 'focus-trap.focus-after-released';
5
- export const FOCUSOUT_PREVENTED = 'focus-trap.focusout-prevented';
6
- export const FOCUS_AFTER_TRAPPED_OPTS: EventInit = {
7
- cancelable: true,
8
- bubbles: false
9
- };
10
- export const FOCUSOUT_PREVENTED_OPTS: EventInit = {
11
- cancelable: true,
12
- bubbles: false
13
- };
14
-
15
- export const ON_TRAP_FOCUS_EVT = 'focusAfterTrapped';
16
- export const ON_RELEASE_FOCUS_EVT = 'focusAfterReleased';
17
-
18
- export type FocusTrapInjectionContext = {
19
- focusTrapRef: Ref<HTMLElement | undefined>;
20
- onKeydown: (e: KeyboardEvent) => void;
21
- };
22
-
23
- export const FOCUS_TRAP_INJECTION_KEY: InjectionKey<FocusTrapInjectionContext> = Symbol('elFocusTrap');
@@ -1,178 +0,0 @@
1
- import { onBeforeUnmount, onMounted, ref } from 'vue';
2
- import { FOCUSOUT_PREVENTED, FOCUSOUT_PREVENTED_OPTS } from './tokens';
3
-
4
- const focusReason = ref<'pointer' | 'keyboard'>();
5
- const lastUserFocusTimestamp = ref<number>(0);
6
- const lastAutomatedFocusTimestamp = ref<number>(0);
7
- let focusReasonUserCount = 0;
8
-
9
- export type FocusLayer = {
10
- paused: boolean;
11
- pause: () => void;
12
- resume: () => void;
13
- };
14
-
15
- export type FocusStack = FocusLayer[];
16
-
17
- export const obtainAllFocusableElements = (element: HTMLElement): HTMLElement[] => {
18
- const nodes: HTMLElement[] = [];
19
- const walker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, {
20
- acceptNode: (
21
- node: Element & {
22
- disabled: boolean;
23
- hidden: boolean;
24
- type: string;
25
- tabIndex: number;
26
- }
27
- ) => {
28
- const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';
29
- if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;
30
- return node.tabIndex >= 0 || node === document.activeElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
31
- }
32
- });
33
- while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement);
34
-
35
- return nodes;
36
- };
37
-
38
- export const getVisibleElement = (elements: HTMLElement[], container: HTMLElement) => {
39
- for (const element of elements) {
40
- if (!isHidden(element, container)) return element;
41
- }
42
- };
43
-
44
- export const isHidden = (element: HTMLElement, container: HTMLElement) => {
45
- if (process.env.NODE_ENV === 'test') return false;
46
- if (getComputedStyle(element).visibility === 'hidden') return true;
47
-
48
- while (element) {
49
- if (container && element === container) return false;
50
- if (getComputedStyle(element).display === 'none') return true;
51
- element = element.parentElement as HTMLElement;
52
- }
53
-
54
- return false;
55
- };
56
-
57
- export const getEdges = (container: HTMLElement) => {
58
- const focusable = obtainAllFocusableElements(container);
59
- const first = getVisibleElement(focusable, container);
60
- const last = getVisibleElement(focusable.reverse(), container);
61
- return [first, last];
62
- };
63
-
64
- const isSelectable = (element: any): element is HTMLInputElement & { select: () => void } => {
65
- return element instanceof HTMLInputElement && 'select' in element;
66
- };
67
-
68
- export const tryFocus = (element?: HTMLElement | { focus: () => void } | null, shouldSelect?: boolean) => {
69
- if (element && element.focus) {
70
- const prevFocusedElement = document.activeElement;
71
- element.focus({ preventScroll: true });
72
- lastAutomatedFocusTimestamp.value = window.performance.now();
73
- if (element !== prevFocusedElement && isSelectable(element) && shouldSelect) {
74
- if (element.tagName === 'INPUT') {
75
- element.setSelectionRange(element.value.length, element.value.length);
76
- return;
77
- }
78
- element.select();
79
- }
80
- }
81
- };
82
-
83
- function removeFromStack<T>(list: T[], item: T) {
84
- const copy = [...list];
85
-
86
- const idx = list.indexOf(item);
87
-
88
- if (idx !== -1) {
89
- copy.splice(idx, 1);
90
- }
91
- return copy;
92
- }
93
-
94
- const createFocusableStack = () => {
95
- let stack = [] as FocusStack;
96
-
97
- const push = (layer: FocusLayer) => {
98
- const currentLayer = stack[0];
99
-
100
- if (currentLayer && layer !== currentLayer) {
101
- currentLayer.pause();
102
- }
103
-
104
- stack = removeFromStack(stack, layer);
105
- stack.unshift(layer);
106
- };
107
-
108
- const remove = (layer: FocusLayer) => {
109
- stack = removeFromStack(stack, layer);
110
- stack[0]?.resume?.();
111
- };
112
-
113
- return {
114
- push,
115
- remove
116
- };
117
- };
118
-
119
- export const focusFirstDescendant = (elements: HTMLElement[], shouldSelect = false) => {
120
- const prevFocusedElement = document.activeElement;
121
- for (const element of elements) {
122
- tryFocus(element, shouldSelect);
123
- if (document.activeElement !== prevFocusedElement) return;
124
- }
125
- };
126
-
127
- export const focusableStack = createFocusableStack();
128
-
129
- export const isFocusCausedByUserEvent = (): boolean => {
130
- return lastUserFocusTimestamp.value > lastAutomatedFocusTimestamp.value;
131
- };
132
-
133
- const notifyFocusReasonPointer = () => {
134
- focusReason.value = 'pointer';
135
- lastUserFocusTimestamp.value = window.performance.now();
136
- };
137
-
138
- const notifyFocusReasonKeydown = () => {
139
- focusReason.value = 'keyboard';
140
- lastUserFocusTimestamp.value = window.performance.now();
141
- };
142
-
143
- export const useFocusReason = (): {
144
- focusReason: typeof focusReason;
145
- lastUserFocusTimestamp: typeof lastUserFocusTimestamp;
146
- lastAutomatedFocusTimestamp: typeof lastAutomatedFocusTimestamp;
147
- } => {
148
- onMounted(() => {
149
- if (focusReasonUserCount === 0) {
150
- document.addEventListener('mousedown', notifyFocusReasonPointer);
151
- document.addEventListener('touchstart', notifyFocusReasonPointer);
152
- document.addEventListener('keydown', notifyFocusReasonKeydown);
153
- }
154
- focusReasonUserCount++;
155
- });
156
-
157
- onBeforeUnmount(() => {
158
- focusReasonUserCount--;
159
- if (focusReasonUserCount <= 0) {
160
- document.removeEventListener('mousedown', notifyFocusReasonPointer);
161
- document.removeEventListener('touchstart', notifyFocusReasonPointer);
162
- document.removeEventListener('keydown', notifyFocusReasonKeydown);
163
- }
164
- });
165
-
166
- return {
167
- focusReason,
168
- lastUserFocusTimestamp,
169
- lastAutomatedFocusTimestamp
170
- };
171
- };
172
-
173
- export const createFocusOutPreventedEvent = (detail: CustomEventInit['detail']) => {
174
- return new CustomEvent(FOCUSOUT_PREVENTED, {
175
- ...FOCUSOUT_PREVENTED_OPTS,
176
- detail
177
- });
178
- };
@@ -1,3 +0,0 @@
1
- import FullScreen from './index.vue';
2
-
3
- export { FullScreen };
@@ -1,24 +0,0 @@
1
- <script lang="ts" setup>
2
- import { useFullscreen } from '@vri/use';
3
- import { Icon } from '../../';
4
- import { useNamespace } from '../../use';
5
-
6
- const ns = /* hoist-static*/ useNamespace('full-screen');
7
-
8
- defineOptions({
9
- name: ns.b()
10
- });
11
-
12
- const { toggle, isFullscreen } = useFullscreen();
13
- </script>
14
-
15
- <template>
16
- <span :class="ns.b()" @click="toggle">
17
- <icon :icon="!isFullscreen ? 'vi-full-screen' : 'vi-exit-screen'" />
18
- {{ !isFullscreen ? '全屏' : '退出全屏' }}
19
- </span>
20
- </template>
21
-
22
- <style lang="scss">
23
- @import "./index.scss";
24
- </style>
@@ -1,3 +0,0 @@
1
- import IconText from './index.vue';
2
-
3
- export { IconText };
@@ -1,77 +0,0 @@
1
- <script lang="ts" setup>
2
- import { addUnit, singleAttrToObj } from '@vri/utils';
3
- import { computed } from 'vue';
4
- import { Icon as VIcon } from '../../common/icon';
5
- import { type IconProps } from '../../common/icon/types';
6
- import { useNamespace } from '../../use';
7
-
8
- interface IconTextProps {
9
- text: string;
10
- icon: IconProps;
11
- color?: string;
12
- hoverColor?: string;
13
- distance?: Numberish;
14
- reverse?: boolean;
15
- }
16
-
17
- const {
18
- text, icon, color = '#434343', hoverColor, reverse, distance
19
- } = defineProps<IconTextProps>();
20
-
21
- const ns = /* hoist-static*/ useNamespace('icon-text');
22
-
23
- defineOptions({
24
- name: ns.b()
25
- });
26
-
27
- const emit = defineEmits(['click']);
28
-
29
- const _hoverColor = computed(() => {
30
- return hoverColor ? hoverColor : color;
31
- });
32
-
33
- const _icon = computed(() => {
34
- return singleAttrToObj(icon, 'icon', { size: 16, color }) as IconProps;
35
- });
36
-
37
- const distanceStyle = computed(() => {
38
- return reverse ? { marginLeft: addUnit(distance) } : { marginRight: addUnit(distance) };
39
- });
40
- </script>
41
-
42
- <template>
43
- <span :class="ns.b()" @click="emit('click')">
44
- <v-icon v-if="!reverse" v-bind="_icon" :style="distanceStyle"/>
45
- {{ text }}
46
- <v-icon v-if="reverse" v-bind="_icon" :style="distanceStyle"/>
47
- </span>
48
- </template>
49
-
50
- <style lang="scss">
51
- $name: icon-text;
52
- $icon-text: () !default;
53
- $icon-text: map-merge((
54
- 'text-color': white,
55
- ), $icon-text);
56
-
57
- @include set-root-css-vars($name, $icon-text);
58
-
59
- @function getCompCssVar($value) {
60
- @return getCssVar($name, $value);
61
- }
62
-
63
- @include b($name) {
64
- display: flex;
65
- align-items: center;
66
-
67
- color: v-bind('color');
68
-
69
- &:hover {
70
- color: v-bind('_hoverColor');
71
-
72
- i {
73
- color: v-bind('_hoverColor') !important;
74
- }
75
- }
76
- }
77
- </style>
@@ -1,5 +0,0 @@
1
- import Image from './index.vue';
2
-
3
- export * from './types';
4
-
5
- export { Image };