@will-ui/vue 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +48 -0
  3. package/TAILWIND.md +282 -0
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/components/audioPlayer/AudioPlayer.d.ts +123 -0
  6. package/dist/components/audioPlayer/AudioPlayer.js +375 -0
  7. package/dist/components/audioPlayer/AudioPlayer.js.map +1 -0
  8. package/dist/components/audioPlayer/index.d.ts +2 -0
  9. package/dist/components/audioPlayer/style/index.css +1 -0
  10. package/dist/components/btn/Btn.d.ts +45 -0
  11. package/dist/components/btn/Btn.js +165 -0
  12. package/dist/components/btn/Btn.js.map +1 -0
  13. package/dist/components/btn/config.d.ts +33 -0
  14. package/dist/components/btn/config.js +20 -0
  15. package/dist/components/btn/config.js.map +1 -0
  16. package/dist/components/btn/context.d.ts +12 -0
  17. package/dist/components/btn/context.js +6 -0
  18. package/dist/components/btn/context.js.map +1 -0
  19. package/dist/components/btn/index.d.ts +5 -0
  20. package/dist/components/btn/style/index.css +1 -0
  21. package/dist/components/btnGroup/BtnGroup.d.ts +46 -0
  22. package/dist/components/btnGroup/BtnGroup.js +43 -0
  23. package/dist/components/btnGroup/BtnGroup.js.map +1 -0
  24. package/dist/components/btnGroup/config.d.ts +14 -0
  25. package/dist/components/btnGroup/config.js +11 -0
  26. package/dist/components/btnGroup/config.js.map +1 -0
  27. package/dist/components/btnGroup/index.d.ts +3 -0
  28. package/dist/components/btnGroup/style/index.css +1 -0
  29. package/dist/components/cascade/Cascade.d.ts +1957 -0
  30. package/dist/components/cascade/Cascade.js +283 -0
  31. package/dist/components/cascade/Cascade.js.map +1 -0
  32. package/dist/components/cascade/config.d.ts +30 -0
  33. package/dist/components/cascade/config.js +18 -0
  34. package/dist/components/cascade/config.js.map +1 -0
  35. package/dist/components/cascade/index.d.ts +3 -0
  36. package/dist/components/cascade/style/index.css +1 -0
  37. package/dist/components/checkbox/Checkbox.d.ts +241 -0
  38. package/dist/components/checkbox/Checkbox.js +182 -0
  39. package/dist/components/checkbox/Checkbox.js.map +1 -0
  40. package/dist/components/checkbox/config.d.ts +18 -0
  41. package/dist/components/checkbox/config.js +11 -0
  42. package/dist/components/checkbox/config.js.map +1 -0
  43. package/dist/components/checkbox/index.d.ts +3 -0
  44. package/dist/components/checkbox/style/index.css +1 -0
  45. package/dist/components/choose/Choose.d.ts +1016 -0
  46. package/dist/components/choose/Choose.js +402 -0
  47. package/dist/components/choose/Choose.js.map +1 -0
  48. package/dist/components/choose/config.d.ts +37 -0
  49. package/dist/components/choose/config.js +21 -0
  50. package/dist/components/choose/config.js.map +1 -0
  51. package/dist/components/choose/index.d.ts +3 -0
  52. package/dist/components/choose/injectionKey.d.ts +12 -0
  53. package/dist/components/choose/injectionKey.js +11 -0
  54. package/dist/components/choose/injectionKey.js.map +1 -0
  55. package/dist/components/choose/style/index.css +1 -0
  56. package/dist/components/choose2/Choose2.d.ts +1711 -0
  57. package/dist/components/choose2/Choose2.js +403 -0
  58. package/dist/components/choose2/Choose2.js.map +1 -0
  59. package/dist/components/choose2/config.d.ts +37 -0
  60. package/dist/components/choose2/config.js +20 -0
  61. package/dist/components/choose2/config.js.map +1 -0
  62. package/dist/components/choose2/index.d.ts +3 -0
  63. package/dist/components/choose2/style/index.css +1 -0
  64. package/dist/components/chooseItem/ChooseItem.d.ts +46 -0
  65. package/dist/components/chooseItem/ChooseItem.js +72 -0
  66. package/dist/components/chooseItem/ChooseItem.js.map +1 -0
  67. package/dist/components/chooseItem/config.d.ts +12 -0
  68. package/dist/components/chooseItem/config.js +9 -0
  69. package/dist/components/chooseItem/config.js.map +1 -0
  70. package/dist/components/chooseItem/index.d.ts +3 -0
  71. package/dist/components/chooseItem/style/index.css +1 -0
  72. package/dist/components/circleProgress/CircleProgress.d.ts +83 -0
  73. package/dist/components/circleProgress/CircleProgress.js +108 -0
  74. package/dist/components/circleProgress/CircleProgress.js.map +1 -0
  75. package/dist/components/circleProgress/index.d.ts +1 -0
  76. package/dist/components/circleProgress/style/index.css +1 -0
  77. package/dist/components/close/Close.d.ts +114 -0
  78. package/dist/components/close/Close.js +82 -0
  79. package/dist/components/close/Close.js.map +1 -0
  80. package/dist/components/close/index.d.ts +1 -0
  81. package/dist/components/close/style/index.css +1 -0
  82. package/dist/components/colorPicker/ColorPicker.d.ts +138 -0
  83. package/dist/components/colorPicker/ColorPicker.js +404 -0
  84. package/dist/components/colorPicker/ColorPicker.js.map +1 -0
  85. package/dist/components/colorPicker/config.d.ts +24 -0
  86. package/dist/components/colorPicker/config.js +14 -0
  87. package/dist/components/colorPicker/config.js.map +1 -0
  88. package/dist/components/colorPicker/index.d.ts +4 -0
  89. package/dist/components/colorPicker/style/index.css +1 -0
  90. package/dist/components/confirm/index.d.ts +73 -0
  91. package/dist/components/confirm/index.js +177 -0
  92. package/dist/components/confirm/index.js.map +1 -0
  93. package/dist/components/confirm/src/style/index.css +1 -0
  94. package/dist/components/copy/Copy.d.ts +28 -0
  95. package/dist/components/copy/Copy.js +110 -0
  96. package/dist/components/copy/Copy.js.map +1 -0
  97. package/dist/components/copy/config.d.ts +25 -0
  98. package/dist/components/copy/config.js +13 -0
  99. package/dist/components/copy/config.js.map +1 -0
  100. package/dist/components/copy/index.d.ts +5 -0
  101. package/dist/components/copy/spawnCopyToast.d.ts +13 -0
  102. package/dist/components/copy/spawnCopyToast.js +150 -0
  103. package/dist/components/copy/spawnCopyToast.js.map +1 -0
  104. package/dist/components/copy/style/index.css +1 -0
  105. package/dist/components/cornerEars/CornerEars.d.ts +24 -0
  106. package/dist/components/cornerEars/CornerEars.js +108 -0
  107. package/dist/components/cornerEars/CornerEars.js.map +1 -0
  108. package/dist/components/cornerEars/cornerGeometry.d.ts +8 -0
  109. package/dist/components/cornerEars/cornerGeometry.js +63 -0
  110. package/dist/components/cornerEars/cornerGeometry.js.map +1 -0
  111. package/dist/components/cornerEars/index.d.ts +2 -0
  112. package/dist/components/cornerEars/style/index.css +1 -0
  113. package/dist/components/date/DatePanel.js +398 -0
  114. package/dist/components/date/DatePanel.js.map +1 -0
  115. package/dist/components/date/DatePicker.d.ts +226 -0
  116. package/dist/components/date/DatePicker.js +349 -0
  117. package/dist/components/date/DatePicker.js.map +1 -0
  118. package/dist/components/date/Days.d.ts +44 -0
  119. package/dist/components/date/Days.js +93 -0
  120. package/dist/components/date/Days.js.map +1 -0
  121. package/dist/components/date/Months.d.ts +32 -0
  122. package/dist/components/date/Months.js +87 -0
  123. package/dist/components/date/Months.js.map +1 -0
  124. package/dist/components/date/QuickDate.d.ts +24 -0
  125. package/dist/components/date/QuickDate.js +48 -0
  126. package/dist/components/date/QuickDate.js.map +1 -0
  127. package/dist/components/date/Years.d.ts +38 -0
  128. package/dist/components/date/Years.js +85 -0
  129. package/dist/components/date/Years.js.map +1 -0
  130. package/dist/components/date/_use/quickDate.d.ts +4 -0
  131. package/dist/components/date/_use/quickDate.js +30 -0
  132. package/dist/components/date/_use/quickDate.js.map +1 -0
  133. package/dist/components/date/_use/useDateModules.d.ts +37 -0
  134. package/dist/components/date/_use/useDateModules.js +100 -0
  135. package/dist/components/date/_use/useDateModules.js.map +1 -0
  136. package/dist/components/date/config.d.ts +32 -0
  137. package/dist/components/date/config.js +18 -0
  138. package/dist/components/date/config.js.map +1 -0
  139. package/dist/components/date/index.d.ts +3 -0
  140. package/dist/components/date/style/index.css +1 -0
  141. package/dist/components/date/types.d.ts +32 -0
  142. package/dist/components/drawer/Drawer.d.ts +332 -0
  143. package/dist/components/drawer/Drawer.js +329 -0
  144. package/dist/components/drawer/Drawer.js.map +1 -0
  145. package/dist/components/drawer/config.d.ts +28 -0
  146. package/dist/components/drawer/config.js +16 -0
  147. package/dist/components/drawer/config.js.map +1 -0
  148. package/dist/components/drawer/index.d.ts +3 -0
  149. package/dist/components/drawer/src/style/drawer.css +1 -0
  150. package/dist/components/ellipsis/Ellipsis.d.ts +74 -0
  151. package/dist/components/ellipsis/Ellipsis.js +103 -0
  152. package/dist/components/ellipsis/Ellipsis.js.map +1 -0
  153. package/dist/components/ellipsis/index.d.ts +1 -0
  154. package/dist/components/ellipsis/style/index.css +1 -0
  155. package/dist/components/empty/Empty.d.ts +92 -0
  156. package/dist/components/empty/Empty.js +85 -0
  157. package/dist/components/empty/Empty.js.map +1 -0
  158. package/dist/components/empty/config.d.ts +23 -0
  159. package/dist/components/empty/config.js +14 -0
  160. package/dist/components/empty/config.js.map +1 -0
  161. package/dist/components/empty/index.d.ts +3 -0
  162. package/dist/components/empty/style/index.css +1 -0
  163. package/dist/components/empty/type.d.ts +9 -0
  164. package/dist/components/equalizer/Equalizer.d.ts +62 -0
  165. package/dist/components/equalizer/Equalizer.js +56 -0
  166. package/dist/components/equalizer/Equalizer.js.map +1 -0
  167. package/dist/components/equalizer/index.d.ts +1 -0
  168. package/dist/components/equalizer/style/index.css +1 -0
  169. package/dist/components/fallback/Fallback.d.ts +44 -0
  170. package/dist/components/fallback/Fallback.js +55 -0
  171. package/dist/components/fallback/Fallback.js.map +1 -0
  172. package/dist/components/fallback/index.d.ts +1 -0
  173. package/dist/components/fallback/style/index.css +1 -0
  174. package/dist/components/form/Form.d.ts +169 -0
  175. package/dist/components/form/Form.js +235 -0
  176. package/dist/components/form/Form.js.map +1 -0
  177. package/dist/components/form/_use/formRules.d.ts +18 -0
  178. package/dist/components/form/_use/formRules.js +80 -0
  179. package/dist/components/form/_use/formRules.js.map +1 -0
  180. package/dist/components/form/config.d.ts +35 -0
  181. package/dist/components/form/config.js +20 -0
  182. package/dist/components/form/config.js.map +1 -0
  183. package/dist/components/form/context.d.ts +34 -0
  184. package/dist/components/form/context.js +8 -0
  185. package/dist/components/form/context.js.map +1 -0
  186. package/dist/components/form/index.d.ts +3 -0
  187. package/dist/components/form/style/index.css +1 -0
  188. package/dist/components/formItem/FormItem.d.ts +144 -0
  189. package/dist/components/formItem/FormItem.js +218 -0
  190. package/dist/components/formItem/FormItem.js.map +1 -0
  191. package/dist/components/formItem/config.d.ts +21 -0
  192. package/dist/components/formItem/config.js +12 -0
  193. package/dist/components/formItem/config.js.map +1 -0
  194. package/dist/components/formItem/context.d.ts +22 -0
  195. package/dist/components/formItem/context.js +8 -0
  196. package/dist/components/formItem/context.js.map +1 -0
  197. package/dist/components/formItem/index.d.ts +3 -0
  198. package/dist/components/formItem/style/index.css +1 -0
  199. package/dist/components/icon/Icon.d.ts +117 -0
  200. package/dist/components/icon/Icon.js +116 -0
  201. package/dist/components/icon/Icon.js.map +1 -0
  202. package/dist/components/icon/config.d.ts +28 -0
  203. package/dist/components/icon/config.js +16 -0
  204. package/dist/components/icon/config.js.map +1 -0
  205. package/dist/components/icon/index.d.ts +4 -0
  206. package/dist/components/icon/style/index.css +1 -0
  207. package/dist/components/icon/type.d.ts +16 -0
  208. package/dist/components/image/Image.d.ts +21 -0
  209. package/dist/components/image/Image.js +68 -0
  210. package/dist/components/image/Image.js.map +1 -0
  211. package/dist/components/image/config.d.ts +21 -0
  212. package/dist/components/image/config.js +11 -0
  213. package/dist/components/image/config.js.map +1 -0
  214. package/dist/components/image/index.d.ts +4 -0
  215. package/dist/components/image/style/index.css +1 -0
  216. package/dist/components/index.d.ts +79 -0
  217. package/dist/components/index.js +124 -0
  218. package/dist/components/index.js.map +1 -0
  219. package/dist/components/layer/Layer.d.ts +410 -0
  220. package/dist/components/layer/Layer.js +557 -0
  221. package/dist/components/layer/Layer.js.map +1 -0
  222. package/dist/components/layer/index.d.ts +2 -0
  223. package/dist/components/layer/injectionKey.d.ts +5 -0
  224. package/dist/components/layer/injectionKey.js +6 -0
  225. package/dist/components/layer/injectionKey.js.map +1 -0
  226. package/dist/components/layer/style/index.css +1 -0
  227. package/dist/components/lcdFont/LcdFont.d.ts +126 -0
  228. package/dist/components/lcdFont/LcdFont.js +232 -0
  229. package/dist/components/lcdFont/LcdFont.js.map +1 -0
  230. package/dist/components/lcdFont/config.d.ts +43 -0
  231. package/dist/components/lcdFont/config.js +41 -0
  232. package/dist/components/lcdFont/config.js.map +1 -0
  233. package/dist/components/lcdFont/format.d.ts +8 -0
  234. package/dist/components/lcdFont/format.js +39 -0
  235. package/dist/components/lcdFont/format.js.map +1 -0
  236. package/dist/components/lcdFont/index.d.ts +5 -0
  237. package/dist/components/lcdFont/segments.d.ts +32 -0
  238. package/dist/components/lcdFont/segments.js +326 -0
  239. package/dist/components/lcdFont/segments.js.map +1 -0
  240. package/dist/components/lcdFont/style/index.css +1 -0
  241. package/dist/components/lcdFont/type.d.ts +26 -0
  242. package/dist/components/list/List.d.ts +480 -0
  243. package/dist/components/list/List.js +289 -0
  244. package/dist/components/list/List.js.map +1 -0
  245. package/dist/components/list/config.d.ts +3 -0
  246. package/dist/components/list/index.d.ts +3 -0
  247. package/dist/components/list/style/index.css +1 -0
  248. package/dist/components/loading/Loading.d.ts +97 -0
  249. package/dist/components/loading/Loading.js +124 -0
  250. package/dist/components/loading/Loading.js.map +1 -0
  251. package/dist/components/loading/config.d.ts +22 -0
  252. package/dist/components/loading/config.js +13 -0
  253. package/dist/components/loading/config.js.map +1 -0
  254. package/dist/components/loading/index.d.ts +3 -0
  255. package/dist/components/loading/style/index.css +1 -0
  256. package/dist/components/loading/type.d.ts +13 -0
  257. package/dist/components/mask/Mask.d.ts +79 -0
  258. package/dist/components/mask/Mask.js +82 -0
  259. package/dist/components/mask/Mask.js.map +1 -0
  260. package/dist/components/mask/config.d.ts +21 -0
  261. package/dist/components/mask/config.js +14 -0
  262. package/dist/components/mask/config.js.map +1 -0
  263. package/dist/components/mask/index.d.ts +3 -0
  264. package/dist/components/mask/style/mask.css +1 -0
  265. package/dist/components/match/Match copy.d.ts +1600 -0
  266. package/dist/components/match/Match.d.ts +1621 -0
  267. package/dist/components/match/Match.js +343 -0
  268. package/dist/components/match/Match.js.map +1 -0
  269. package/dist/components/match/config.d.ts +29 -0
  270. package/dist/components/match/config.js +17 -0
  271. package/dist/components/match/config.js.map +1 -0
  272. package/dist/components/match/index.d.ts +3 -0
  273. package/dist/components/match/style/index.css +1 -0
  274. package/dist/components/modal/Modal.d.ts +460 -0
  275. package/dist/components/modal/Modal.js +297 -0
  276. package/dist/components/modal/Modal.js.map +1 -0
  277. package/dist/components/modal/config.d.ts +33 -0
  278. package/dist/components/modal/config.js +19 -0
  279. package/dist/components/modal/config.js.map +1 -0
  280. package/dist/components/modal/index.d.ts +3 -0
  281. package/dist/components/modal/style/index.css +1 -0
  282. package/dist/components/notice/Notice.d.ts +137 -0
  283. package/dist/components/notice/Notice.js +192 -0
  284. package/dist/components/notice/Notice.js.map +1 -0
  285. package/dist/components/notice/index.d.ts +51 -0
  286. package/dist/components/notice/index.js +243 -0
  287. package/dist/components/notice/index.js.map +1 -0
  288. package/dist/components/notice/src/_util/index.d.ts +11 -0
  289. package/dist/components/notice/src/_util/index.js +50 -0
  290. package/dist/components/notice/src/_util/index.js.map +1 -0
  291. package/dist/components/notice/src/style/index.css +1 -0
  292. package/dist/components/notice/types.d.ts +98 -0
  293. package/dist/components/number/Number copy.d.ts +966 -0
  294. package/dist/components/number/Number.d.ts +1034 -0
  295. package/dist/components/number/Number.js +241 -0
  296. package/dist/components/number/Number.js.map +1 -0
  297. package/dist/components/number/config.d.ts +26 -0
  298. package/dist/components/number/config.js +15 -0
  299. package/dist/components/number/config.js.map +1 -0
  300. package/dist/components/number/index.d.ts +3 -0
  301. package/dist/components/number/style/index.css +1 -0
  302. package/dist/components/pagination/index.d.ts +3 -0
  303. package/dist/components/pagination/src/Pagination.d.ts +2830 -0
  304. package/dist/components/pagination/src/Pagination.js +288 -0
  305. package/dist/components/pagination/src/Pagination.js.map +1 -0
  306. package/dist/components/pagination/src/config.d.ts +25 -0
  307. package/dist/components/pagination/src/config.js +20 -0
  308. package/dist/components/pagination/src/config.js.map +1 -0
  309. package/dist/components/pagination/src/style/index.css +1 -0
  310. package/dist/components/picture/Picture.d.ts +18 -0
  311. package/dist/components/picture/Picture.js +254 -0
  312. package/dist/components/picture/Picture.js.map +1 -0
  313. package/dist/components/picture/PictureToolbar.d.ts +29 -0
  314. package/dist/components/picture/PictureToolbar.js +97 -0
  315. package/dist/components/picture/PictureToolbar.js.map +1 -0
  316. package/dist/components/picture/PictureViewport.d.ts +47 -0
  317. package/dist/components/picture/PictureViewport.js +203 -0
  318. package/dist/components/picture/PictureViewport.js.map +1 -0
  319. package/dist/components/picture/config.d.ts +16 -0
  320. package/dist/components/picture/config.js +16 -0
  321. package/dist/components/picture/config.js.map +1 -0
  322. package/dist/components/picture/index.d.ts +5 -0
  323. package/dist/components/picture/pictureFlip.d.ts +16 -0
  324. package/dist/components/picture/pictureFlip.js +103 -0
  325. package/dist/components/picture/pictureFlip.js.map +1 -0
  326. package/dist/components/picture/style/index.css +1 -0
  327. package/dist/components/progress/Progress.d.ts +94 -0
  328. package/dist/components/progress/Progress.js +112 -0
  329. package/dist/components/progress/Progress.js.map +1 -0
  330. package/dist/components/progress/index.d.ts +1 -0
  331. package/dist/components/progress/style/index.css +1 -0
  332. package/dist/components/radio/Radio.d.ts +112 -0
  333. package/dist/components/radio/Radio.js +130 -0
  334. package/dist/components/radio/Radio.js.map +1 -0
  335. package/dist/components/radio/config.d.ts +29 -0
  336. package/dist/components/radio/config.js +18 -0
  337. package/dist/components/radio/config.js.map +1 -0
  338. package/dist/components/radio/index.d.ts +3 -0
  339. package/dist/components/radio/style/index.css +1 -0
  340. package/dist/components/scrollbar/Scrollbar.d.ts +93 -0
  341. package/dist/components/scrollbar/Scrollbar.js +515 -0
  342. package/dist/components/scrollbar/Scrollbar.js.map +1 -0
  343. package/dist/components/scrollbar/index.d.ts +1 -0
  344. package/dist/components/scrollbar/style/index.css +1 -0
  345. package/dist/components/sheet/Sheet.d.ts +1448 -0
  346. package/dist/components/sheet/Sheet.js +592 -0
  347. package/dist/components/sheet/Sheet.js.map +1 -0
  348. package/dist/components/sheet/_cell.d.ts +181 -0
  349. package/dist/components/sheet/_cell.js +132 -0
  350. package/dist/components/sheet/_cell.js.map +1 -0
  351. package/dist/components/sheet/_props.d.ts +170 -0
  352. package/dist/components/sheet/_props.js +183 -0
  353. package/dist/components/sheet/_props.js.map +1 -0
  354. package/dist/components/sheet/_row.d.ts +2 -0
  355. package/dist/components/sheet/_row.js +14 -0
  356. package/dist/components/sheet/_row.js.map +1 -0
  357. package/dist/components/sheet/_tbody.d.ts +348 -0
  358. package/dist/components/sheet/_tbody.js +255 -0
  359. package/dist/components/sheet/_tbody.js.map +1 -0
  360. package/dist/components/sheet/_tfoot.d.ts +195 -0
  361. package/dist/components/sheet/_tfoot.js +78 -0
  362. package/dist/components/sheet/_tfoot.js.map +1 -0
  363. package/dist/components/sheet/_thead.d.ts +529 -0
  364. package/dist/components/sheet/_thead.js +148 -0
  365. package/dist/components/sheet/_thead.js.map +1 -0
  366. package/dist/components/sheet/_use.d.ts +38 -0
  367. package/dist/components/sheet/_use.js +493 -0
  368. package/dist/components/sheet/_use.js.map +1 -0
  369. package/dist/components/sheet/_util.d.ts +34 -0
  370. package/dist/components/sheet/_util.js +111 -0
  371. package/dist/components/sheet/_util.js.map +1 -0
  372. package/dist/components/sheet/index.d.ts +1 -0
  373. package/dist/components/sheet/style/index.css +1 -0
  374. package/dist/components/slideDown/SlideDown.d.ts +62 -0
  375. package/dist/components/slideDown/SlideDown.js +128 -0
  376. package/dist/components/slideDown/SlideDown.js.map +1 -0
  377. package/dist/components/slideDown/index.d.ts +1 -0
  378. package/dist/components/slider/Slider.d.ts +1726 -0
  379. package/dist/components/slider/Slider.js +471 -0
  380. package/dist/components/slider/Slider.js.map +1 -0
  381. package/dist/components/slider/index.d.ts +1 -0
  382. package/dist/components/slider/style/index.css +1 -0
  383. package/dist/components/svgIcon/SvgIcon.d.ts +37 -0
  384. package/dist/components/svgIcon/SvgIcon.js +78 -0
  385. package/dist/components/svgIcon/SvgIcon.js.map +1 -0
  386. package/dist/components/svgIcon/index.d.ts +3 -0
  387. package/dist/components/svgIcon/style/index.css +1 -0
  388. package/dist/components/switch/Switch.d.ts +105 -0
  389. package/dist/components/switch/Switch.js +158 -0
  390. package/dist/components/switch/Switch.js.map +1 -0
  391. package/dist/components/switch/config.d.ts +16 -0
  392. package/dist/components/switch/config.js +11 -0
  393. package/dist/components/switch/config.js.map +1 -0
  394. package/dist/components/switch/index.d.ts +1 -0
  395. package/dist/components/switch/style/index.css +1 -0
  396. package/dist/components/tab/Tab.d.ts +113 -0
  397. package/dist/components/tab/Tab.js +485 -0
  398. package/dist/components/tab/Tab.js.map +1 -0
  399. package/dist/components/tab/index.d.ts +2 -0
  400. package/dist/components/tab/style/index.css +1 -0
  401. package/dist/components/textarea/Textarea.d.ts +37 -0
  402. package/dist/components/textarea/Textarea.js +193 -0
  403. package/dist/components/textarea/Textarea.js.map +1 -0
  404. package/dist/components/textarea/config.d.ts +30 -0
  405. package/dist/components/textarea/config.js +16 -0
  406. package/dist/components/textarea/config.js.map +1 -0
  407. package/dist/components/textarea/index.d.ts +4 -0
  408. package/dist/components/textarea/style/index.css +1 -0
  409. package/dist/components/time/Dial.js +7 -0
  410. package/dist/components/time/Dial.js.map +1 -0
  411. package/dist/components/time/Dial.vue_vue_type_script_setup_true_lang.js +178 -0
  412. package/dist/components/time/Dial.vue_vue_type_script_setup_true_lang.js.map +1 -0
  413. package/dist/components/time/TimePicker.d.ts +1301 -0
  414. package/dist/components/time/TimePicker.js +162 -0
  415. package/dist/components/time/TimePicker.js.map +1 -0
  416. package/dist/components/time/_use/useTimeModules.d.ts +1 -0
  417. package/dist/components/time/index.d.ts +1 -0
  418. package/dist/components/time/style/dial.css +1 -0
  419. package/dist/components/time/style/index.css +1 -0
  420. package/dist/components/toggle/Toggle.d.ts +140 -0
  421. package/dist/components/toggle/Toggle.js +209 -0
  422. package/dist/components/toggle/Toggle.js.map +1 -0
  423. package/dist/components/toggle/index.d.ts +1 -0
  424. package/dist/components/toggle/style/index.css +1 -0
  425. package/dist/components/toggle/style/scale.css +1 -0
  426. package/dist/components/toggle/style/translate.css +1 -0
  427. package/dist/components/tooltip/Tooltip.d.ts +536 -0
  428. package/dist/components/tooltip/Tooltip.js +51 -0
  429. package/dist/components/tooltip/Tooltip.js.map +1 -0
  430. package/dist/components/tooltip/index.d.ts +1 -0
  431. package/dist/components/tooltip/style/index.css +1 -0
  432. package/dist/components/tree/Tree.d.ts +187 -0
  433. package/dist/components/tree/Tree.js +229 -0
  434. package/dist/components/tree/Tree.js.map +1 -0
  435. package/dist/components/tree/TreeItem.d.ts +86 -0
  436. package/dist/components/tree/TreeItem.js +152 -0
  437. package/dist/components/tree/TreeItem.js.map +1 -0
  438. package/dist/components/tree/TreeList.d.ts +86 -0
  439. package/dist/components/tree/TreeList.js +52 -0
  440. package/dist/components/tree/TreeList.js.map +1 -0
  441. package/dist/components/tree/_use/treeState.d.ts +45 -0
  442. package/dist/components/tree/_use/treeState.js +417 -0
  443. package/dist/components/tree/_use/treeState.js.map +1 -0
  444. package/dist/components/tree/config.d.ts +27 -0
  445. package/dist/components/tree/config.js +16 -0
  446. package/dist/components/tree/config.js.map +1 -0
  447. package/dist/components/tree/index.d.ts +4 -0
  448. package/dist/components/tree/style/index.css +1 -0
  449. package/dist/components/tree-choose/TreeChoose.d.ts +833 -0
  450. package/dist/components/tree-choose/TreeChoose.js +320 -0
  451. package/dist/components/tree-choose/TreeChoose.js.map +1 -0
  452. package/dist/components/tree-choose/config.d.ts +41 -0
  453. package/dist/components/tree-choose/config.js +19 -0
  454. package/dist/components/tree-choose/config.js.map +1 -0
  455. package/dist/components/tree-choose/index.d.ts +4 -0
  456. package/dist/components/tree-choose/style/index.css +1 -0
  457. package/dist/components/trigger/Trigger.d.ts +921 -0
  458. package/dist/components/trigger/Trigger.js +105 -0
  459. package/dist/components/trigger/Trigger.js.map +1 -0
  460. package/dist/components/trigger/index.d.ts +1 -0
  461. package/dist/components/trigger/style/index.css +2 -0
  462. package/dist/components/upload/Upload.d.ts +249 -0
  463. package/dist/components/upload/Upload.js +342 -0
  464. package/dist/components/upload/Upload.js.map +1 -0
  465. package/dist/components/upload/config.d.ts +39 -0
  466. package/dist/components/upload/config.js +21 -0
  467. package/dist/components/upload/config.js.map +1 -0
  468. package/dist/components/upload/index.d.ts +4 -0
  469. package/dist/components/upload/style/index.css +1 -0
  470. package/dist/components/upload/types.d.ts +47 -0
  471. package/dist/components/virtual/Virtual.d.ts +57 -0
  472. package/dist/components/virtual/Virtual.js +62 -0
  473. package/dist/components/virtual/Virtual.js.map +1 -0
  474. package/dist/components/virtual/Virtual/345/216/237/347/211/210.d.ts +44 -0
  475. package/dist/components/virtual/index.d.ts +4 -0
  476. package/dist/components/virtual/style/index.css +1 -0
  477. package/dist/components/virtual/useVirtualList.d.ts +50 -0
  478. package/dist/components/virtual/useVirtualList.js +376 -0
  479. package/dist/components/virtual/useVirtualList.js.map +1 -0
  480. package/dist/components/write/Write.d.ts +532 -0
  481. package/dist/components/write/Write.js +228 -0
  482. package/dist/components/write/Write.js.map +1 -0
  483. package/dist/components/write/index.d.ts +1 -0
  484. package/dist/components/write/style/index.css +1 -0
  485. package/dist/config/dictionary.d.ts +21 -0
  486. package/dist/config/dictionary.js +28 -0
  487. package/dist/config/dictionary.js.map +1 -0
  488. package/dist/config/i18n.d.ts +22 -0
  489. package/dist/config/i18n.js +53 -0
  490. package/dist/config/i18n.js.map +1 -0
  491. package/dist/config/plugin.d.ts +88 -0
  492. package/dist/config/plugin.js +13 -0
  493. package/dist/config/plugin.js.map +1 -0
  494. package/dist/config/types.d.ts +56 -0
  495. package/dist/directives/clickOutside.d.ts +10 -0
  496. package/dist/directives/clickOutside.js +69 -0
  497. package/dist/directives/clickOutside.js.map +1 -0
  498. package/dist/directives/index.d.ts +3 -0
  499. package/dist/directives/index.js +13 -0
  500. package/dist/directives/index.js.map +1 -0
  501. package/dist/directives/loading.d.ts +19 -0
  502. package/dist/directives/loading.js +64 -0
  503. package/dist/directives/loading.js.map +1 -0
  504. package/dist/index.d.ts +127 -0
  505. package/dist/index.js +91 -0
  506. package/dist/locales/de-DE/index.d.ts +144 -0
  507. package/dist/locales/de-DE/index.js +140 -0
  508. package/dist/locales/de-DE/index.js.map +1 -0
  509. package/dist/locales/en-US/index.d.ts +144 -0
  510. package/dist/locales/en-US/index.js +140 -0
  511. package/dist/locales/en-US/index.js.map +1 -0
  512. package/dist/locales/index.d.ts +3 -0
  513. package/dist/locales/zh-CN/index.d.ts +144 -0
  514. package/dist/locales/zh-CN/index.js +140 -0
  515. package/dist/locales/zh-CN/index.js.map +1 -0
  516. package/dist/plugin.d.ts +6 -0
  517. package/dist/plugin.js +38 -0
  518. package/dist/plugin.js.map +1 -0
  519. package/dist/styles/index.css +49 -0
  520. package/dist/theme/_transition.css +169 -0
  521. package/dist/theme/index.css +5 -0
  522. package/dist/theme/tokens/_base.css +7 -0
  523. package/dist/theme/tokens/_common.css +37 -0
  524. package/dist/theme/tokens/_scrollbar.css +53 -0
  525. package/dist/theme/tokens/_size.css +18 -0
  526. package/dist/theme/tokens/_text.css +16 -0
  527. package/dist/theme/tokens/_var.css +1087 -0
  528. package/dist/theme/tokens/components/audioPlayer.css +542 -0
  529. package/dist/theme/tokens/components/btn.css +253 -0
  530. package/dist/theme/tokens/components/btnGroup.css +68 -0
  531. package/dist/theme/tokens/components/cascade.css +77 -0
  532. package/dist/theme/tokens/components/checkbox.css +100 -0
  533. package/dist/theme/tokens/components/choose.css +175 -0
  534. package/dist/theme/tokens/components/choose2.css +242 -0
  535. package/dist/theme/tokens/components/chooseItem.css +54 -0
  536. package/dist/theme/tokens/components/circleProgress.css +61 -0
  537. package/dist/theme/tokens/components/close.css +12 -0
  538. package/dist/theme/tokens/components/colorPicker.css +404 -0
  539. package/dist/theme/tokens/components/confirm.css +128 -0
  540. package/dist/theme/tokens/components/copy.css +80 -0
  541. package/dist/theme/tokens/components/cornerEars.css +102 -0
  542. package/dist/theme/tokens/components/date/days.css +79 -0
  543. package/dist/theme/tokens/components/date/index.css +249 -0
  544. package/dist/theme/tokens/components/date/months.css +68 -0
  545. package/dist/theme/tokens/components/drawer.css +189 -0
  546. package/dist/theme/tokens/components/ellipsis.css +46 -0
  547. package/dist/theme/tokens/components/empty.css +24 -0
  548. package/dist/theme/tokens/components/equalizer.css +51 -0
  549. package/dist/theme/tokens/components/fallback.css +4 -0
  550. package/dist/theme/tokens/components/form.css +50 -0
  551. package/dist/theme/tokens/components/formItem.css +194 -0
  552. package/dist/theme/tokens/components/icon.css +41 -0
  553. package/dist/theme/tokens/components/image.css +70 -0
  554. package/dist/theme/tokens/components/layer.css +190 -0
  555. package/dist/theme/tokens/components/lcdFont.css +121 -0
  556. package/dist/theme/tokens/components/list.css +97 -0
  557. package/dist/theme/tokens/components/loading.css +64 -0
  558. package/dist/theme/tokens/components/mask.css +26 -0
  559. package/dist/theme/tokens/components/match.css +119 -0
  560. package/dist/theme/tokens/components/modal.css +136 -0
  561. package/dist/theme/tokens/components/notice.css +264 -0
  562. package/dist/theme/tokens/components/number.css +150 -0
  563. package/dist/theme/tokens/components/pagination.css +215 -0
  564. package/dist/theme/tokens/components/picture.css +299 -0
  565. package/dist/theme/tokens/components/progress.css +101 -0
  566. package/dist/theme/tokens/components/radio.css +183 -0
  567. package/dist/theme/tokens/components/scrollbar.css +160 -0
  568. package/dist/theme/tokens/components/sheet.css +518 -0
  569. package/dist/theme/tokens/components/slider.css +171 -0
  570. package/dist/theme/tokens/components/svgIcon.css +6 -0
  571. package/dist/theme/tokens/components/switch.css +67 -0
  572. package/dist/theme/tokens/components/tab.css +215 -0
  573. package/dist/theme/tokens/components/textarea.css +109 -0
  574. package/dist/theme/tokens/components/time/dial.css +123 -0
  575. package/dist/theme/tokens/components/time/index.css +29 -0
  576. package/dist/theme/tokens/components/toggle/index.css +14 -0
  577. package/dist/theme/tokens/components/toggle/scale.css +34 -0
  578. package/dist/theme/tokens/components/toggle/translate.css +41 -0
  579. package/dist/theme/tokens/components/tooltip.css +77 -0
  580. package/dist/theme/tokens/components/tree-choose.css +154 -0
  581. package/dist/theme/tokens/components/tree.css +172 -0
  582. package/dist/theme/tokens/components/trigger.css +90 -0
  583. package/dist/theme/tokens/components/upload.css +302 -0
  584. package/dist/theme/tokens/components/virtual.css +6 -0
  585. package/dist/theme/tokens/components/write.css +155 -0
  586. package/dist/theme/tokens/iconfont/iconfont.css +103 -0
  587. package/dist/theme/tokens/iconfont/iconfont.ttf +0 -0
  588. package/dist/theme/tokens/iconfont/iconfont.woff +0 -0
  589. package/dist/theme/tokens/iconfont/iconfont.woff2 +0 -0
  590. package/dist/theme/tokens/index.css +19 -0
  591. package/dist/use/index.d.ts +34 -0
  592. package/dist/use/toggle/types.d.ts +27 -0
  593. package/dist/use/toggle/useToggle.d.ts +22 -0
  594. package/dist/use/toggle/useToggleArray.d.ts +14 -0
  595. package/dist/use/toggle/useToggleArray.js +36 -0
  596. package/dist/use/toggle/useToggleArray.js.map +1 -0
  597. package/dist/use/toggle/useToggleCycle.d.ts +11 -0
  598. package/dist/use/toggle/useToggleCycle.js +88 -0
  599. package/dist/use/toggle/useToggleCycle.js.map +1 -0
  600. package/dist/use/toggle/useToggleMap.d.ts +10 -0
  601. package/dist/use/toggle/useToggleObject.d.ts +13 -0
  602. package/dist/use/useAudioPlayer.d.ts +160 -0
  603. package/dist/use/useAudioPlayer.js +799 -0
  604. package/dist/use/useAudioPlayer.js.map +1 -0
  605. package/dist/use/useBoundingClientRect.d.ts +14 -0
  606. package/dist/use/useBoundingClientRect.js +54 -0
  607. package/dist/use/useBoundingClientRect.js.map +1 -0
  608. package/dist/use/useChildComponentsCollector.js +30 -0
  609. package/dist/use/useChildComponentsCollector.js.map +1 -0
  610. package/dist/use/useComponentClass.d.ts +1 -0
  611. package/dist/use/useComponentClass.js +6 -0
  612. package/dist/use/useComponentClass.js.map +1 -0
  613. package/dist/use/useComponentConfig.d.ts +10 -0
  614. package/dist/use/useComponentConfig.js +31 -0
  615. package/dist/use/useComponentConfig.js.map +1 -0
  616. package/dist/use/useCount.d.ts +13 -0
  617. package/dist/use/useCount.js +36 -0
  618. package/dist/use/useCount.js.map +1 -0
  619. package/dist/use/useDate.d.ts +53 -0
  620. package/dist/use/useDate.js +280 -0
  621. package/dist/use/useDate.js.map +1 -0
  622. package/dist/use/useDelay.d.ts +5 -0
  623. package/dist/use/useDelay.js +38 -0
  624. package/dist/use/useDelay.js.map +1 -0
  625. package/dist/use/useDrag.d.ts +17 -0
  626. package/dist/use/useElement.d.ts +15 -0
  627. package/dist/use/useElement.js +41 -0
  628. package/dist/use/useElement.js.map +1 -0
  629. package/dist/use/useEscStack.d.ts +14 -0
  630. package/dist/use/useEscStack.js +62 -0
  631. package/dist/use/useEscStack.js.map +1 -0
  632. package/dist/use/useEvent.d.ts +9 -0
  633. package/dist/use/useEvent.js +43 -0
  634. package/dist/use/useEvent.js.map +1 -0
  635. package/dist/use/useFormItem.d.ts +9 -0
  636. package/dist/use/useFormItem.js +20 -0
  637. package/dist/use/useFormItem.js.map +1 -0
  638. package/dist/use/useGlobalZIndex.d.ts +6 -0
  639. package/dist/use/useGlobalZIndex.js +28 -0
  640. package/dist/use/useGlobalZIndex.js.map +1 -0
  641. package/dist/use/useMouse.d.ts +15 -0
  642. package/dist/use/useMouse.js +36 -0
  643. package/dist/use/useMouse.js.map +1 -0
  644. package/dist/use/useMousePositionInElement.d.ts +6 -0
  645. package/dist/use/useMousePositionInElement.js +27 -0
  646. package/dist/use/useMousePositionInElement.js.map +1 -0
  647. package/dist/use/useParentNode.d.ts +3 -0
  648. package/dist/use/useParentNode.js +25 -0
  649. package/dist/use/useParentNode.js.map +1 -0
  650. package/dist/use/usePercentDrag.d.ts +20 -0
  651. package/dist/use/usePercentDrag.js +59 -0
  652. package/dist/use/usePercentDrag.js.map +1 -0
  653. package/dist/use/usePictureViewport.d.ts +57 -0
  654. package/dist/use/usePictureViewport.js +229 -0
  655. package/dist/use/usePictureViewport.js.map +1 -0
  656. package/dist/use/useRequest.d.ts +7 -0
  657. package/dist/use/useRequest.js +31 -0
  658. package/dist/use/useRequest.js.map +1 -0
  659. package/dist/use/useScaleFromPoint.d.ts +57 -0
  660. package/dist/use/useScaleFromPoint.js +325 -0
  661. package/dist/use/useScaleFromPoint.js.map +1 -0
  662. package/dist/use/useScroll.d.ts +9 -0
  663. package/dist/use/useScroll.js +60 -0
  664. package/dist/use/useScroll.js.map +1 -0
  665. package/dist/use/useSearch.d.ts +11 -0
  666. package/dist/use/useSearch.js +65 -0
  667. package/dist/use/useSearch.js.map +1 -0
  668. package/dist/use/useSlot.d.ts +10 -0
  669. package/dist/use/useSlot.js +57 -0
  670. package/dist/use/useSlot.js.map +1 -0
  671. package/dist/use/useTabIndex.d.ts +1 -0
  672. package/dist/use/useTabIndex.js +18 -0
  673. package/dist/use/useTabIndex.js.map +1 -0
  674. package/dist/use/useUII18n.js +26 -0
  675. package/dist/use/useUII18n.js.map +1 -0
  676. package/dist/use/useUpload.d.ts +49 -0
  677. package/dist/use/useUpload.js +396 -0
  678. package/dist/use/useUpload.js.map +1 -0
  679. package/dist/use/useVisibleResize.d.ts +6 -0
  680. package/dist/use/useVisibleResize.js +77 -0
  681. package/dist/use/useVisibleResize.js.map +1 -0
  682. package/dist/util/calc.d.ts +40 -0
  683. package/dist/util/calc.js +239 -0
  684. package/dist/util/calc.js.map +1 -0
  685. package/dist/util/colors.d.ts +78 -0
  686. package/dist/util/colors.js +320 -0
  687. package/dist/util/colors.js.map +1 -0
  688. package/dist/util/cssVars.d.ts +62 -0
  689. package/dist/util/cssVars.js +170 -0
  690. package/dist/util/cssVars.js.map +1 -0
  691. package/dist/util/dom.d.ts +65 -0
  692. package/dist/util/dom.js +212 -0
  693. package/dist/util/dom.js.map +1 -0
  694. package/dist/util/index.d.ts +5 -0
  695. package/dist/util/tools.d.ts +54 -0
  696. package/dist/util/tools.js +90 -0
  697. package/dist/util/tools.js.map +1 -0
  698. package/dist/util/vnode.d.ts +2 -0
  699. package/package.json +88 -0
@@ -0,0 +1,228 @@
1
+ import { isValidValue } from "../../util/tools.js";
2
+ import { mergeStyle, propSizeToCssVars, toCssVarsStyle } from "../../util/cssVars.js";
3
+ import useFormItem from "../../use/useFormItem.js";
4
+ import useDelay from "../../use/useDelay.js";
5
+ import Layer_default from "../layer/Layer.js";
6
+ import Close_default from "../close/Close.js";
7
+ import { useUII18n } from "../../use/useUII18n.js";
8
+ import { computed, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, onMounted, ref } from "vue";
9
+ //#region components/write/Write.tsx
10
+ var Write_default = /* @__PURE__ */ defineComponent({
11
+ name: "Write",
12
+ inheritAttrs: false,
13
+ components: {
14
+ Close: Close_default,
15
+ Layer: Layer_default
16
+ },
17
+ emits: {
18
+ "update:modelValue": null,
19
+ clear: null,
20
+ search: null,
21
+ input: null,
22
+ change: null
23
+ },
24
+ props: {
25
+ modelValue: { type: [Number, String] },
26
+ simple: Boolean,
27
+ placeholder: { type: String },
28
+ clearable: Boolean,
29
+ block: Boolean,
30
+ readonly: Boolean,
31
+ disabled: Boolean,
32
+ maxlength: [String, Number],
33
+ showWordLimit: {
34
+ type: Boolean,
35
+ default: true
36
+ },
37
+ autoFocus: [Boolean],
38
+ width: { type: String },
39
+ minHeight: { type: String },
40
+ validateEvent: {
41
+ type: Boolean,
42
+ default: true
43
+ },
44
+ type: {
45
+ type: String,
46
+ default: ""
47
+ },
48
+ align: {
49
+ type: String,
50
+ default: "left"
51
+ },
52
+ inputClass: { type: [
53
+ Object,
54
+ Array,
55
+ String
56
+ ] },
57
+ /** 实例高度(px),写入 `--w-prop-write-size` */
58
+ size: {
59
+ type: Number,
60
+ default: void 0
61
+ },
62
+ /** 实例 CSS 变量(如 `--w-prop-write-bg-color`) */
63
+ cssVars: {
64
+ type: Object,
65
+ default: void 0
66
+ },
67
+ validate: {
68
+ type: Object,
69
+ default: () => ({
70
+ when: "blur",
71
+ condition: "",
72
+ invalidTip: ""
73
+ })
74
+ }
75
+ },
76
+ setup(props, ctx) {
77
+ const { t } = useUII18n();
78
+ const { formItem, useDisabled } = useFormItem();
79
+ const disabled = useDisabled(computed(() => props.disabled));
80
+ computed(() => {
81
+ return formItem?.validateState || "";
82
+ });
83
+ const { delay } = useDelay(300);
84
+ const lastSearchText = ref("");
85
+ const input = ref();
86
+ const isZH = ref(false);
87
+ const showCloseBtn = computed(() => {
88
+ const v = props.modelValue;
89
+ return props.clearable && !props.disabled && isValidValue(v) && props.type !== "textarea";
90
+ });
91
+ const inputOptions = computed(() => {
92
+ const { class: klass, ...attrs } = ctx.attrs;
93
+ return {
94
+ ref: input,
95
+ class: [props.type === "textarea" ? ["w-write-textarea "] : ["w-write-input"], `w-write-align-${props.align}`],
96
+ placeholder: props.placeholder,
97
+ readonly: props.readonly,
98
+ disabled: disabled.value,
99
+ value: props.modelValue,
100
+ maxlength: props.maxlength,
101
+ type: props.type,
102
+ onCompositionstart: (e) => {
103
+ isZH.value = true;
104
+ },
105
+ onInput: (e) => {
106
+ const val = e.target.value;
107
+ if (!isZH.value) {
108
+ ctx.emit("update:modelValue", val, input.value);
109
+ ctx.emit("input", val, input.value);
110
+ toSearch(val);
111
+ }
112
+ },
113
+ onCompositionend: (e) => {
114
+ setTimeout(() => {
115
+ const val = e.target.value;
116
+ ctx.emit("update:modelValue", val, input.value);
117
+ toSearch(val);
118
+ isZH.value = false;
119
+ });
120
+ },
121
+ onBlur: () => {
122
+ if (props.validateEvent !== false) formItem?.validate("blur");
123
+ },
124
+ onChange: (e) => {
125
+ if (props.validateEvent !== false) formItem?.validate("change");
126
+ const val = e.target.value;
127
+ ctx.emit("change", val, input.value);
128
+ },
129
+ ...attrs
130
+ };
131
+ });
132
+ const limit = () => {
133
+ if (props.maxlength) return createVNode("div", { "class": "w-write-input-limit" }, [
134
+ props.modelValue?.toString().length || 0,
135
+ createTextVNode("/"),
136
+ props.maxlength
137
+ ]);
138
+ else return createVNode("div", { "class": "w-write-input-limit" }, [props.modelValue?.toString().length]);
139
+ };
140
+ const outerOptions = computed(() => {
141
+ return {
142
+ class: [
143
+ "w-write",
144
+ { "w-write-block": props.block },
145
+ normalizeClass(ctx.attrs.class)
146
+ ],
147
+ style: mergeStyle(toCssVarsStyle({
148
+ ...propSizeToCssVars("write", props.size),
149
+ ...props.cssVars
150
+ }), ctx.attrs.style)
151
+ };
152
+ });
153
+ const layerOptions = computed(() => {
154
+ return { manual: true };
155
+ });
156
+ function focus() {
157
+ input.value?.focus();
158
+ }
159
+ function select() {
160
+ input.value?.select();
161
+ }
162
+ function toSearch(val) {
163
+ delay(() => {
164
+ if (val !== lastSearchText.value) {
165
+ ctx.emit("search", val, input.value);
166
+ lastSearchText.value = val;
167
+ }
168
+ });
169
+ }
170
+ ctx.expose({
171
+ focus,
172
+ select
173
+ });
174
+ onMounted(() => {
175
+ if (props.autoFocus) focus();
176
+ });
177
+ return () => {
178
+ const inputEl = props.type == "textarea" ? createVNode("textarea", mergeProps(inputOptions.value, { "style": { minHeight: props.minHeight } }), null) : createVNode("input", inputOptions.value, null);
179
+ const mainInput = createVNode("div", {
180
+ "style": {
181
+ width: props.width,
182
+ height: props.type == "textarea" ? "auto" : "",
183
+ paddingLeft: props.type == "textarea" ? "0px" : "",
184
+ paddingRight: props.type == "textarea" ? "0px" : ""
185
+ },
186
+ "class": [
187
+ "w-write-wrapper",
188
+ normalizeClass(props.inputClass),
189
+ {
190
+ "w-write-input-block": props.block,
191
+ "w-write-input-disabled": disabled.value,
192
+ "w-write-input-simple": props.simple
193
+ }
194
+ ]
195
+ }, [
196
+ ctx.slots.prepend?.(),
197
+ inputEl,
198
+ props.type === "textarea" && props.showWordLimit ? limit() : "",
199
+ showCloseBtn.value && createVNode(Close_default, {
200
+ "name": "w-icon-close-fill",
201
+ "onClick": (e) => {
202
+ const options = { input: input.value };
203
+ ctx.emit("update:modelValue", void 0, input.value);
204
+ ctx.emit("clear", options);
205
+ e.stopPropagation();
206
+ }
207
+ }, null),
208
+ ctx.slots.default?.({
209
+ focus,
210
+ inputElement: input.value
211
+ })
212
+ ]);
213
+ createVNode(Layer_default, layerOptions.value, {
214
+ trigger: () => mainInput,
215
+ default: () => t("write.invalidInput")
216
+ });
217
+ return createVNode("div", outerOptions.value, [
218
+ ctx.slots.before?.(),
219
+ mainInput,
220
+ ctx.slots.after?.()
221
+ ]);
222
+ };
223
+ }
224
+ });
225
+ //#endregion
226
+ export { Write_default as default };
227
+
228
+ //# sourceMappingURL=Write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Write.js","names":["defineComponent","ref","computed","normalizeClass","createTextVNode","_createTextVNode","createVNode","_createVNode","mergeProps","_mergeProps","onMounted","isValidValue","mergeStyle","propSizeToCssVars","toCssVarsStyle","Close","Layer","useDelay","useUII18n","useFormItem","name","inheritAttrs","components","emits","clear","search","input","change","props","modelValue","type","Number","String","simple","Boolean","placeholder","clearable","block","readonly","disabled","maxlength","showWordLimit","default","autoFocus","width","minHeight","validateEvent","align","inputClass","Object","Array","size","undefined","cssVars","validate","when","condition","invalidTip","setup","ctx","t","formItem","useDisabled","validateState","delay","lastSearchText","isZH","showCloseBtn","v","inputOptions","class","klass","attrs","value","onCompositionstart","e","onInput","val","target","emit","toSearch","onCompositionend","setTimeout","onBlur","onChange","limit","toString","length","outerOptions","style","layerOptions","manual","focus","select","expose","inputEl","mainInput","height","paddingLeft","paddingRight","slots","prepend","options","stopPropagation","inputElement","inputWithLayer","trigger","before","after"],"sources":["../../../components/write/Write.tsx"],"sourcesContent":["import { defineComponent, ref, computed, normalizeClass } from \"vue\"\r\nimport type { PropType } from \"vue\"\r\nimport { useAttrs, onMounted } from \"vue\"\r\nimport { filterListeners, isValidValue, mergeStyle, propSizeToCssVars, toCssVarsStyle, type CssVars } from \"../../util\"\r\nimport Close from \"../close/index\"\r\nimport Layer from \"../layer/index\"\r\nimport useDelay from \"../../use/useDelay\"\r\nimport { useUII18n } from \"../../use/useUII18n\"\r\nimport useFormItem from \"../../use/useFormItem\"\r\n\r\nexport default defineComponent({\r\n name: \"Write\",\r\n inheritAttrs: false,\r\n components: { Close, Layer },\r\n emits: {\r\n \"update:modelValue\": null,\r\n clear: null,\r\n search: null,\r\n input: null,\r\n change: null,\r\n },\r\n props: {\r\n modelValue: { type: [Number, String] },\r\n simple: Boolean,\r\n placeholder: { type: String },\r\n clearable: Boolean,\r\n block: Boolean,\r\n readonly: Boolean,\r\n disabled: Boolean,\r\n maxlength: [String, Number],\r\n showWordLimit: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n autoFocus: [Boolean],\r\n width: { type: String },\r\n minHeight: { type: String },\r\n validateEvent: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n type: {\r\n type: String,\r\n default: \"\",\r\n },\r\n align: {\r\n type: String as PropType<\"left\" | \"right\" | \"center\">,\r\n default: \"left\",\r\n },\r\n inputClass: { type: [Object, Array, String] },\r\n /** 实例高度(px),写入 `--w-prop-write-size` */\r\n size: { type: Number, default: undefined },\r\n /** 实例 CSS 变量(如 `--w-prop-write-bg-color`) */\r\n cssVars: { type: Object as PropType<CssVars>, default: undefined },\r\n //验证,未实现\r\n validate: {\r\n type: Object,\r\n default: () => ({\r\n when: \"blur\", //验证时机\r\n condition: \"\",\r\n invalidTip: \"\",\r\n }),\r\n },\r\n },\r\n setup(props, ctx) {\r\n const { t } = useUII18n()\r\n const { formItem, useDisabled } = useFormItem()\r\n\r\n const disabled = useDisabled(computed(() => props.disabled))\r\n\r\n const validateState = computed(() => {\r\n return formItem?.validateState || \"\"\r\n })\r\n const { delay } = useDelay(300)\r\n const lastSearchText = ref(\"\")\r\n const input = ref<HTMLInputElement>()\r\n const isZH = ref(false) //是否在输入中文\r\n const showCloseBtn = computed(() => {\r\n const v = props.modelValue\r\n\r\n return (\r\n props.clearable &&\r\n !props.disabled &&\r\n isValidValue(v) &&\r\n props.type !== \"textarea\"\r\n )\r\n })\r\n const inputOptions = computed(() => {\r\n const { class: klass, ...attrs } = ctx.attrs\r\n\r\n return {\r\n ref: input,\r\n class: [\r\n props.type === \"textarea\" ? [\"w-write-textarea \"] : [\"w-write-input\"],\r\n `w-write-align-${props.align}`,\r\n ],\r\n placeholder: props.placeholder,\r\n readonly: props.readonly,\r\n disabled: disabled.value,\r\n value: props.modelValue,\r\n maxlength: props.maxlength,\r\n\r\n type: props.type,\r\n onCompositionstart: (e: CompositionEvent) => {\r\n isZH.value = true\r\n },\r\n onInput: (e: Event) => {\r\n const val = (e.target as HTMLInputElement).value\r\n if (!isZH.value) {\r\n ctx.emit(\"update:modelValue\", val, input.value)\r\n ctx.emit(\"input\", val, input.value)\r\n toSearch(val)\r\n }\r\n },\r\n onCompositionend: (e: CompositionEvent) => {\r\n setTimeout(() => {\r\n const val = (e.target as HTMLInputElement).value\r\n ctx.emit(\"update:modelValue\", val, input.value)\r\n toSearch(val)\r\n isZH.value = false\r\n })\r\n },\r\n onBlur: () => {\r\n if (props.validateEvent !== false) {\r\n formItem?.validate(\"blur\")\r\n }\r\n },\r\n onChange: (e: Event) => {\r\n if (props.validateEvent !== false) {\r\n formItem?.validate(\"change\")\r\n }\r\n const val = (e.target as HTMLInputElement).value\r\n ctx.emit(\"change\", val, input.value)\r\n },\r\n ...attrs,\r\n // ...filterListeners(ctx.attrs)\r\n // attrs\r\n }\r\n })\r\n const limit = () => {\r\n if (props.maxlength) {\r\n return (\r\n <div class=\"w-write-input-limit\">\r\n {props.modelValue?.toString().length || 0}/{props.maxlength}\r\n </div>\r\n )\r\n } else {\r\n return (\r\n <div class=\"w-write-input-limit\">\r\n {props.modelValue?.toString().length}\r\n </div>\r\n )\r\n }\r\n }\r\n const outerOptions = computed(() => {\r\n return {\r\n class: [\r\n \"w-write\",\r\n { \"w-write-block\": props.block },\r\n normalizeClass(ctx.attrs.class),\r\n ],\r\n style: mergeStyle(\r\n toCssVarsStyle({\r\n ...propSizeToCssVars(\"write\", props.size),\r\n ...props.cssVars,\r\n }),\r\n ctx.attrs.style as Record<string, any> | undefined,\r\n ),\r\n }\r\n })\r\n const layerOptions = computed(() => {\r\n return {\r\n manual: true,\r\n }\r\n })\r\n function focus() {\r\n input.value?.focus()\r\n }\r\n function select() {\r\n input.value?.select()\r\n }\r\n function toSearch(val: string) {\r\n delay(() => {\r\n if (val !== lastSearchText.value) {\r\n ctx.emit(\"search\", val, input.value)\r\n lastSearchText.value = val\r\n }\r\n })\r\n }\r\n ctx.expose({\r\n focus,\r\n select,\r\n })\r\n\r\n onMounted(() => {\r\n if (props.autoFocus) {\r\n focus()\r\n }\r\n })\r\n return () => {\r\n const inputEl =\r\n props.type == \"textarea\" ? (\r\n <textarea\r\n {...inputOptions.value}\r\n style={{ minHeight: props.minHeight }}\r\n />\r\n ) : (\r\n <input {...inputOptions.value} />\r\n )\r\n const mainInput = (\r\n <div\r\n style={{\r\n width: props.width,\r\n height: props.type == \"textarea\" ? \"auto\" : \"\",\r\n paddingLeft: props.type == \"textarea\" ? \"0px\" : \"\",\r\n paddingRight: props.type == \"textarea\" ? \"0px\" : \"\",\r\n }}\r\n class={[\r\n \"w-write-wrapper\",\r\n normalizeClass(props.inputClass),\r\n {\r\n \"w-write-input-block\": props.block,\r\n \"w-write-input-disabled\": disabled.value,\r\n \"w-write-input-simple\": props.simple,\r\n },\r\n ]}>\r\n {ctx.slots.prepend?.()}\r\n {inputEl}\r\n {props.type === \"textarea\" && props.showWordLimit ? limit() : \"\"}\r\n {showCloseBtn.value && (\r\n <Close\r\n name=\"w-icon-close-fill\"\r\n onClick={(e: MouseEvent) => {\r\n const options = { input: input.value }\r\n ctx.emit(\"update:modelValue\", undefined, input.value)\r\n ctx.emit(\"clear\", options)\r\n e.stopPropagation()\r\n }}\r\n />\r\n )}\r\n {ctx.slots.default?.({\r\n focus,\r\n inputElement: input.value,\r\n })}\r\n </div>\r\n )\r\n const inputWithLayer = (\r\n <Layer\r\n {...layerOptions.value}\r\n v-slots={{\r\n trigger: () => mainInput,\r\n default: () => t(\"write.invalidInput\"),\r\n }}\r\n />\r\n )\r\n\r\n return (\r\n <div {...outerOptions.value}>\r\n {ctx.slots.before?.()}\r\n {mainInput}\r\n\r\n {ctx.slots.after?.()}\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { default } from './Write';
@@ -0,0 +1 @@
1
+ @import '../../../theme/tokens/components/write.css';
@@ -0,0 +1,21 @@
1
+ export declare enum EnumPlacement {
2
+ "left" = "left",
3
+ "left-start" = "left-start",
4
+ "left-end" = "left-end",
5
+ "right" = "right",
6
+ "right-start" = "right-start",
7
+ "right-end" = "right-end",
8
+ "top" = "top",
9
+ "top-start" = "top-start",
10
+ "top-end" = "top-end",
11
+ "bottom" = "bottom",
12
+ "bottom-start" = "bottom-start",
13
+ "bottom-end" = "bottom-end",
14
+ "center" = "center",
15
+ "client-center" = "client-center"
16
+ }
17
+ export declare enum EnumBtnType {
18
+ "default" = "default",
19
+ "primary" = "primary",
20
+ "danger" = "danger"
21
+ }
@@ -0,0 +1,28 @@
1
+ //#region config/dictionary.ts
2
+ var EnumPlacement = /* @__PURE__ */ function(EnumPlacement) {
3
+ EnumPlacement["left"] = "left";
4
+ EnumPlacement["left-start"] = "left-start";
5
+ EnumPlacement["left-end"] = "left-end";
6
+ EnumPlacement["right"] = "right";
7
+ EnumPlacement["right-start"] = "right-start";
8
+ EnumPlacement["right-end"] = "right-end";
9
+ EnumPlacement["top"] = "top";
10
+ EnumPlacement["top-start"] = "top-start";
11
+ EnumPlacement["top-end"] = "top-end";
12
+ EnumPlacement["bottom"] = "bottom";
13
+ EnumPlacement["bottom-start"] = "bottom-start";
14
+ EnumPlacement["bottom-end"] = "bottom-end";
15
+ EnumPlacement["center"] = "center";
16
+ EnumPlacement["client-center"] = "client-center";
17
+ return EnumPlacement;
18
+ }({});
19
+ var EnumBtnType = /* @__PURE__ */ function(EnumBtnType) {
20
+ EnumBtnType["default"] = "default";
21
+ EnumBtnType["primary"] = "primary";
22
+ EnumBtnType["danger"] = "danger";
23
+ return EnumBtnType;
24
+ }({});
25
+ //#endregion
26
+ export { EnumBtnType, EnumPlacement };
27
+
28
+ //# sourceMappingURL=dictionary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.js","names":[],"sources":["../../config/dictionary.ts"],"sourcesContent":["export enum EnumPlacement {\r\n \"left\" = \"left\",\r\n \"left-start\" = \"left-start\",\r\n \"left-end\" = \"left-end\",\r\n \"right\" = \"right\",\r\n \"right-start\" = \"right-start\",\r\n \"right-end\" = \"right-end\",\r\n \"top\" = \"top\",\r\n \"top-start\" = \"top-start\",\r\n \"top-end\" = \"top-end\",\r\n \"bottom\" = \"bottom\",\r\n \"bottom-start\" = \"bottom-start\",\r\n \"bottom-end\" = \"bottom-end\",\r\n \"center\" = \"center\",\r\n \"client-center\" = \"client-center\",\r\n}\r\n\r\nexport enum EnumBtnType {\r\n \"default\" = \"default\",\r\n \"primary\" = \"primary\",\r\n \"danger\" = \"danger\",\r\n}\r\n"],"mappings":";AAAA,IAAY,gBAAL,yBAAA,eAAA;CACL,cAAA,UAAA;CACA,cAAA,gBAAA;CACA,cAAA,cAAA;CACA,cAAA,WAAA;CACA,cAAA,iBAAA;CACA,cAAA,eAAA;CACA,cAAA,SAAA;CACA,cAAA,eAAA;CACA,cAAA,aAAA;CACA,cAAA,YAAA;CACA,cAAA,kBAAA;CACA,cAAA,gBAAA;CACA,cAAA,YAAA;CACA,cAAA,mBAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAY,cAAL,yBAAA,aAAA;CACL,YAAA,aAAA;CACA,YAAA,aAAA;CACA,YAAA,YAAA;;AACF,EAAA,CAAA,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { Ref } from 'vue';
2
+ declare const uiI18n: import('vue-i18n').I18n<{
3
+ "zh-CN": {};
4
+ "en-US": {};
5
+ "de-DE": {};
6
+ }, {}, {}, string, false>;
7
+ declare const currentLocale: Ref<"zh-CN" | "en-US" | "de-DE", "zh-CN" | "en-US" | "de-DE">;
8
+ declare const supportedLocales: Ref<{
9
+ value: "zh-CN" | "en-US" | "de-DE";
10
+ label: string;
11
+ flag: string;
12
+ }[]>;
13
+ declare const currentLocaleInfo: import('vue').ComputedRef<{
14
+ value: "zh-CN" | "en-US" | "de-DE";
15
+ label: string;
16
+ flag: string;
17
+ }>;
18
+ declare function switchUILocale(locale: "zh-CN" | "en-US" | "de-DE"): void;
19
+ declare function getLocaleLabel(locale: "zh-CN" | "en-US" | "de-DE"): string;
20
+ declare function getLocaleFlag(locale: "zh-CN" | "en-US" | "de-DE"): string;
21
+ export { uiI18n };
22
+ export { currentLocale, supportedLocales, currentLocaleInfo, switchUILocale, getLocaleLabel, getLocaleFlag, };
@@ -0,0 +1,53 @@
1
+ import zh_CN_default from "../locales/zh-CN/index.js";
2
+ import en_US_default from "../locales/en-US/index.js";
3
+ import de_DE_default from "../locales/de-DE/index.js";
4
+ import { computed, ref, watch } from "vue";
5
+ import { createI18n } from "vue-i18n";
6
+ //#region config/i18n.ts
7
+ if (!zh_CN_default || !en_US_default || !de_DE_default) console.error("[UII18n] Language packs not loaded properly:", {
8
+ zhCN: zh_CN_default,
9
+ enUS: en_US_default,
10
+ deDE: de_DE_default
11
+ });
12
+ var uiI18n = createI18n({
13
+ legacy: false,
14
+ locale: "zh-CN",
15
+ fallbackLocale: "zh-CN",
16
+ messages: {
17
+ "zh-CN": zh_CN_default || {},
18
+ "en-US": en_US_default || {},
19
+ "de-DE": de_DE_default || {}
20
+ }
21
+ });
22
+ if (!uiI18n || !uiI18n.global || !uiI18n.global.t) console.error("[UII18n] Failed to create i18n instance properly");
23
+ var currentLocale = ref("zh-CN");
24
+ watch(() => uiI18n.global.locale.value, (newLocale) => {
25
+ currentLocale.value = newLocale;
26
+ });
27
+ var supportedLocales = ref([
28
+ {
29
+ value: "zh-CN",
30
+ label: "中文",
31
+ flag: "🇨🇳"
32
+ },
33
+ {
34
+ value: "en-US",
35
+ label: "English",
36
+ flag: "🇺🇸"
37
+ },
38
+ {
39
+ value: "de-DE",
40
+ label: "Deutsch",
41
+ flag: "🇩🇪"
42
+ }
43
+ ]);
44
+ computed(() => {
45
+ return supportedLocales.value.find((locale) => locale.value === currentLocale.value);
46
+ });
47
+ function switchUILocale(locale) {
48
+ if (locale !== currentLocale.value) uiI18n.global.locale.value = locale;
49
+ }
50
+ //#endregion
51
+ export { currentLocale, supportedLocales, switchUILocale, uiI18n };
52
+
53
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","names":[],"sources":["../../config/i18n.ts"],"sourcesContent":["import { ref, computed, watch, type Ref } from \"vue\"\r\nimport { createI18n } from \"vue-i18n\"\r\nimport { zhCN, enUS, deDE } from \"../locales\"\r\n\r\n// 安全检查:确保语言包正确加载\r\nif (!zhCN || !enUS || !deDE) {\r\n console.error(\"[UII18n] Language packs not loaded properly:\", {\r\n zhCN,\r\n enUS,\r\n deDE,\r\n })\r\n}\r\n\r\n// UI 专用 i18n 实例\r\nconst uiI18n = createI18n({\r\n legacy: false,\r\n locale: \"zh-CN\",\r\n fallbackLocale: \"zh-CN\",\r\n messages: {\r\n \"zh-CN\": zhCN || {},\r\n \"en-US\": enUS || {},\r\n \"de-DE\": deDE || {},\r\n },\r\n})\r\n\r\n// 验证 i18n 实例是否正确创建\r\nif (!uiI18n || !uiI18n.global || !uiI18n.global.t) {\r\n console.error(\"[UII18n] Failed to create i18n instance properly\")\r\n}\r\n\r\n// UI国际化状态管理\r\nconst currentLocale = ref<\"zh-CN\" | \"en-US\" | \"de-DE\">(\"zh-CN\")\r\n\r\n// 监听i18n locale变化\r\nwatch(\r\n () => uiI18n.global.locale.value,\r\n (newLocale) => {\r\n currentLocale.value = newLocale as any\r\n }\r\n)\r\n\r\n// 支持的语言列表\r\nconst supportedLocales: Ref<\r\n { value: \"zh-CN\" | \"en-US\" | \"de-DE\"; label: string; flag: string }[]\r\n> = ref([\r\n { value: \"zh-CN\", label: \"中文\", flag: \"🇨🇳\" },\r\n { value: \"en-US\", label: \"English\", flag: \"🇺🇸\" },\r\n { value: \"de-DE\", label: \"Deutsch\", flag: \"🇩🇪\" },\r\n])\r\n\r\n// 获取当前语言信息\r\nconst currentLocaleInfo = computed(() => {\r\n return supportedLocales.value.find(\r\n (locale) => locale.value === currentLocale.value\r\n )\r\n})\r\n\r\n// 切换UI语言\r\nfunction switchUILocale(locale: \"zh-CN\" | \"en-US\" | \"de-DE\") {\r\n if (locale !== currentLocale.value) {\r\n uiI18n.global.locale.value = locale\r\n // currentLocale.value 会通过 watcher 自动更新\r\n }\r\n}\r\n\r\n// 获取语言标签\r\nfunction getLocaleLabel(locale: \"zh-CN\" | \"en-US\" | \"de-DE\"): string {\r\n const localeInfo = supportedLocales.value.find(\r\n (item) => item.value === locale\r\n )\r\n return localeInfo ? localeInfo.label : locale\r\n}\r\n\r\n// 获取语言旗帜\r\nfunction getLocaleFlag(locale: \"zh-CN\" | \"en-US\" | \"de-DE\"): string {\r\n const localeInfo = supportedLocales.value.find(\r\n (item) => item.value === locale\r\n )\r\n return localeInfo ? localeInfo.flag : \"\"\r\n}\r\n\r\n// 直接暴露i18n实例供组件使用\r\nexport { uiI18n }\r\n\r\n// 暴露状态和方法供外部调用\r\nexport {\r\n currentLocale,\r\n supportedLocales,\r\n currentLocaleInfo,\r\n switchUILocale,\r\n getLocaleLabel,\r\n getLocaleFlag,\r\n}\r\n"],"mappings":";;;;;;AAKA,IAAI,CAAC,iBAAQ,CAAC,iBAAQ,CAAC,eACrB,QAAQ,MAAM,gDAAgD;CAC5D,MAAA;CACA,MAAA;CACA,MAAA;AACF,CAAC;AAIH,IAAM,SAAS,WAAW;CACxB,QAAQ;CACR,QAAQ;CACR,gBAAgB;CAChB,UAAU;EACR,SAAS,iBAAQ,CAAC;EAClB,SAAS,iBAAQ,CAAC;EAClB,SAAS,iBAAQ,CAAC;CACpB;AACF,CAAC;AAGD,IAAI,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,OAAO,GAC9C,QAAQ,MAAM,kDAAkD;AAIlE,IAAM,gBAAgB,IAAiC,OAAO;AAG9D,YACQ,OAAO,OAAO,OAAO,QAC1B,cAAc;CACb,cAAc,QAAQ;AACxB,CACF;AAGA,IAAM,mBAEF,IAAI;CACN;EAAE,OAAO;EAAS,OAAO;EAAM,MAAM;CAAO;CAC5C;EAAE,OAAO;EAAS,OAAO;EAAW,MAAM;CAAO;CACjD;EAAE,OAAO;EAAS,OAAO;EAAW,MAAM;CAAO;AACnD,CAAC;AAGyB,eAAe;CACvC,OAAO,iBAAiB,MAAM,MAC3B,WAAW,OAAO,UAAU,cAAc,KAC7C;AACF,CAAC;AAGD,SAAS,eAAe,QAAqC;CAC3D,IAAI,WAAW,cAAc,OAC3B,OAAO,OAAO,OAAO,QAAQ;AAGjC"}
@@ -0,0 +1,88 @@
1
+ import { App } from 'vue';
2
+ import { BtnGlobalConfig } from '../components/btn/config';
3
+ import { BtnGroupGlobalConfig } from '../components/btnGroup/config';
4
+ import { TreeGlobalConfig } from '../components/tree/config';
5
+ import { TreeChooseGlobalConfig } from '../components/tree-choose/config';
6
+ import { ColorPickerGlobalConfig } from '../components/colorPicker/config';
7
+ import { UploadGlobalConfig } from '../components/upload/config';
8
+ import { IconGlobalConfig } from '../components/icon/config';
9
+ import { DatePickerGlobalConfig } from '../components/date/config';
10
+ import { FormGlobalConfig } from '../components/form/config';
11
+ import { FormItemGlobalConfig } from '../components/formItem/config';
12
+ import { PaginationGlobalConfig } from '../components/pagination/src/config';
13
+ import { ListGlobalConfig } from '../components/list/List';
14
+ import { SwitchGlobalConfig } from '../components/switch/config';
15
+ import { CheckboxGlobalConfig } from '../components/checkbox/config';
16
+ import { RadioGlobalConfig } from '../components/radio/config';
17
+ import { ChooseGlobalConfig } from '../components/choose/config';
18
+ import { ChooseItemGlobalConfig } from '../components/chooseItem/config';
19
+ import { Choose2GlobalConfig } from '../components/choose2/config';
20
+ import { MatchGlobalConfig } from '../components/match/config';
21
+ import { CascadeGlobalConfig } from '../components/cascade/config';
22
+ import { NumGlobalConfig } from '../components/number/config';
23
+ import { MaskGlobalConfig } from '../components/mask/config';
24
+ import { ModalGlobalConfig } from '../components/modal/config';
25
+ import { ConfirmGlobalConfig } from '../components/confirm';
26
+ import { NoticeGlobalConfig } from '../components/notice';
27
+ import { EmptyGlobalConfig } from '../components/empty/config';
28
+ import { LoadingGlobalConfig } from '../components/loading/config';
29
+ import { LcdFontGlobalConfig } from '../components/lcdFont/config';
30
+ import { DrawerGlobalConfig } from '../components/drawer/config';
31
+ import { CopyGlobalConfig } from '../components/copy/config';
32
+ import { ImageGlobalConfig } from '../components/image/config';
33
+ import { PictureGlobalConfig } from '../components/picture/config';
34
+ import { TextareaGlobalConfig } from '../components/textarea/config';
35
+ export type LocaleType = 'zh-CN' | 'en-US' | 'de-DE';
36
+ export type ThemeType = 'light' | 'dark';
37
+ export interface ComponentConfig {
38
+ [key: string]: any;
39
+ }
40
+ export interface UIComponentsConfig {
41
+ Btn?: BtnGlobalConfig;
42
+ BtnGroup?: BtnGroupGlobalConfig;
43
+ Tree?: TreeGlobalConfig;
44
+ TreeChoose?: TreeChooseGlobalConfig;
45
+ ColorPicker?: ColorPickerGlobalConfig;
46
+ Upload?: UploadGlobalConfig;
47
+ Icon?: IconGlobalConfig;
48
+ DatePicker?: DatePickerGlobalConfig;
49
+ Form?: FormGlobalConfig;
50
+ FormItem?: FormItemGlobalConfig;
51
+ Pagination?: PaginationGlobalConfig;
52
+ List?: ListGlobalConfig;
53
+ Switch?: SwitchGlobalConfig;
54
+ Checkbox?: CheckboxGlobalConfig;
55
+ Radio?: RadioGlobalConfig;
56
+ Choose?: ChooseGlobalConfig;
57
+ ChooseItem?: ChooseItemGlobalConfig;
58
+ Choose2?: Choose2GlobalConfig;
59
+ Match?: MatchGlobalConfig;
60
+ Cascade?: CascadeGlobalConfig;
61
+ Num?: NumGlobalConfig;
62
+ Mask?: MaskGlobalConfig;
63
+ Modal?: ModalGlobalConfig;
64
+ Drawer?: DrawerGlobalConfig;
65
+ Notice?: NoticeGlobalConfig;
66
+ Confirm?: ConfirmGlobalConfig;
67
+ Empty?: EmptyGlobalConfig;
68
+ Loading?: LoadingGlobalConfig;
69
+ LcdFont?: LcdFontGlobalConfig;
70
+ Copy?: CopyGlobalConfig;
71
+ Image?: ImageGlobalConfig;
72
+ Picture?: PictureGlobalConfig;
73
+ Textarea?: TextareaGlobalConfig;
74
+ [name: string]: ComponentConfig | undefined;
75
+ }
76
+ export interface UIPluginConfig {
77
+ locale?: LocaleType;
78
+ theme?: ThemeType;
79
+ prefix?: string;
80
+ components?: UIComponentsConfig;
81
+ }
82
+ export interface UIContext {
83
+ config: UIPluginConfig;
84
+ app: App;
85
+ }
86
+ export declare const defaultConfig: UIPluginConfig;
87
+ export declare const UI_CONFIG_KEY: unique symbol;
88
+ export declare const UI_CONTEXT_KEY: unique symbol;
@@ -0,0 +1,13 @@
1
+ //#region config/plugin.ts
2
+ var defaultConfig = {
3
+ locale: "zh-CN",
4
+ theme: "light",
5
+ prefix: "",
6
+ components: {}
7
+ };
8
+ var UI_CONFIG_KEY = Symbol("UI_CONFIG");
9
+ var UI_CONTEXT_KEY = Symbol("UI_CONTEXT");
10
+ //#endregion
11
+ export { UI_CONFIG_KEY, UI_CONTEXT_KEY, defaultConfig };
12
+
13
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","names":[],"sources":["../../config/plugin.ts"],"sourcesContent":["import type { App } from 'vue'\r\nimport type { BtnGlobalConfig } from '../components/btn/config'\r\nimport type { BtnGroupGlobalConfig } from '../components/btnGroup/config'\r\nimport type { TreeGlobalConfig } from '../components/tree/config'\r\nimport type { TreeChooseGlobalConfig } from '../components/tree-choose/config'\r\nimport type { ColorPickerGlobalConfig } from '../components/colorPicker/config'\r\nimport type { UploadGlobalConfig } from '../components/upload/config'\r\nimport type { IconGlobalConfig } from '../components/icon/config'\r\nimport type { DatePickerGlobalConfig } from '../components/date/config'\r\nimport type { FormGlobalConfig } from '../components/form/config'\r\nimport type { FormItemGlobalConfig } from '../components/formItem/config'\r\nimport type { PaginationGlobalConfig } from '../components/pagination/src/config'\r\nimport type { ListGlobalConfig } from '../components/list/List'\r\nimport type { SwitchGlobalConfig } from '../components/switch/config'\r\nimport type { CheckboxGlobalConfig } from '../components/checkbox/config'\r\nimport type { RadioGlobalConfig } from '../components/radio/config'\r\nimport type { ChooseGlobalConfig } from '../components/choose/config'\r\nimport type { ChooseItemGlobalConfig } from '../components/chooseItem/config'\r\nimport type { Choose2GlobalConfig } from '../components/choose2/config'\r\nimport type { MatchGlobalConfig } from '../components/match/config'\r\nimport type { CascadeGlobalConfig } from '../components/cascade/config'\r\nimport type { NumGlobalConfig } from '../components/number/config'\r\nimport type { MaskGlobalConfig } from '../components/mask/config'\r\nimport type { ModalGlobalConfig } from '../components/modal/config'\r\nimport type { ConfirmGlobalConfig } from '../components/confirm'\r\nimport type { NoticeGlobalConfig } from '../components/notice'\r\nimport type { EmptyGlobalConfig } from '../components/empty/config'\r\nimport type { LoadingGlobalConfig } from '../components/loading/config'\r\nimport type { LcdFontGlobalConfig } from '../components/lcdFont/config'\r\nimport type { DrawerGlobalConfig } from '../components/drawer/config'\r\nimport type { CopyGlobalConfig } from '../components/copy/config'\r\nimport type { ImageGlobalConfig } from '../components/image/config'\r\nimport type { PictureGlobalConfig } from '../components/picture/config'\r\nimport type { TextareaGlobalConfig } from '../components/textarea/config'\r\n\r\nexport type LocaleType = 'zh-CN' | 'en-US' | 'de-DE'\r\nexport type ThemeType = 'light' | 'dark'\r\n\r\nexport interface ComponentConfig {\r\n [key: string]: any\r\n}\r\n\r\nexport interface UIComponentsConfig {\r\n Btn?: BtnGlobalConfig\r\n BtnGroup?: BtnGroupGlobalConfig\r\n Tree?: TreeGlobalConfig\r\n TreeChoose?: TreeChooseGlobalConfig\r\n ColorPicker?: ColorPickerGlobalConfig\r\n Upload?: UploadGlobalConfig\r\n Icon?: IconGlobalConfig\r\n DatePicker?: DatePickerGlobalConfig\r\n Form?: FormGlobalConfig\r\n FormItem?: FormItemGlobalConfig\r\n Pagination?: PaginationGlobalConfig\r\n List?: ListGlobalConfig\r\n Switch?: SwitchGlobalConfig\r\n Checkbox?: CheckboxGlobalConfig\r\n Radio?: RadioGlobalConfig\r\n Choose?: ChooseGlobalConfig\r\n ChooseItem?: ChooseItemGlobalConfig\r\n Choose2?: Choose2GlobalConfig\r\n Match?: MatchGlobalConfig\r\n Cascade?: CascadeGlobalConfig\r\n Num?: NumGlobalConfig\r\n Mask?: MaskGlobalConfig\r\n Modal?: ModalGlobalConfig\r\n Drawer?: DrawerGlobalConfig\r\n Notice?: NoticeGlobalConfig\r\n Confirm?: ConfirmGlobalConfig\r\n Empty?: EmptyGlobalConfig\r\n Loading?: LoadingGlobalConfig\r\n LcdFont?: LcdFontGlobalConfig\r\n Copy?: CopyGlobalConfig\r\n Image?: ImageGlobalConfig\r\n Picture?: PictureGlobalConfig\r\n Textarea?: TextareaGlobalConfig\r\n [name: string]: ComponentConfig | undefined\r\n}\r\n\r\nexport interface UIPluginConfig {\r\n locale?: LocaleType\r\n theme?: ThemeType\r\n prefix?: string\r\n components?: UIComponentsConfig\r\n}\r\n\r\nexport interface UIContext {\r\n config: UIPluginConfig\r\n app: App\r\n}\r\n\r\nexport const defaultConfig: UIPluginConfig = {\r\n locale: 'zh-CN',\r\n theme: 'light',\r\n prefix: '',\r\n components: {},\r\n}\r\n\r\nexport const UI_CONFIG_KEY = Symbol('UI_CONFIG')\r\nexport const UI_CONTEXT_KEY = Symbol('UI_CONTEXT')\r\n"],"mappings":";AA2FA,IAAa,gBAAgC;CAC3C,QAAQ;CACR,OAAO;CACP,QAAQ;CACR,YAAY,CAAC;AACf;AAEA,IAAa,gBAAgB,OAAO,WAAW;AAC/C,IAAa,iBAAiB,OAAO,YAAY"}
@@ -0,0 +1,56 @@
1
+ import { EnumPlacement, EnumBtnType } from './dictionary';
2
+ export interface ComponentProps {
3
+ [k: string]: {
4
+ type: any;
5
+ default?: any;
6
+ [p: string]: any;
7
+ };
8
+ }
9
+ export type RectType = {
10
+ top: number;
11
+ bottom: number;
12
+ left: number;
13
+ right: number;
14
+ width: number;
15
+ height: number;
16
+ [key: string]: number;
17
+ };
18
+ export type PlacementType = keyof typeof EnumPlacement;
19
+ export type AdjustmentPosition = "none" | "auto" | "right" | "left" | "bottom" | "top";
20
+ export type EmptyObject = {
21
+ [key: string]: any;
22
+ };
23
+ export type BtnType = keyof typeof EnumBtnType;
24
+ export type BtnMode = "text" | "line";
25
+ export type TriggerType = "hover" | "click" | "focus";
26
+ export type DataItemType = boolean | number | string | symbol | object;
27
+ export type ToggleTransformType = "scale" | "translate";
28
+ export type DateType = number | string | Date | undefined;
29
+ export type DateFormatType = "yyyy" | "yyyy-MM" | "yyyy-MM-dd" | "yyyy-MM-dd HH" | "yyyy-MM-dd HH:mm" | "yyyy-MM-dd HH:mm:ss" | "MM-dd";
30
+ export type TimeFormatType = "HH" | "HH:mm" | "HH:mm:ss";
31
+ export type DragDirection = {
32
+ x: boolean;
33
+ y: boolean;
34
+ };
35
+ /** 校验触发时机 */
36
+ export type FormRuleTrigger = 'blur' | 'change' | string;
37
+ /** 单条校验规则(兼容 async-validator) */
38
+ export interface FormRuleItem {
39
+ required?: boolean;
40
+ message?: string;
41
+ type?: string;
42
+ pattern?: RegExp;
43
+ min?: number;
44
+ max?: number;
45
+ len?: number;
46
+ enum?: any[];
47
+ whitespace?: boolean;
48
+ trigger?: FormRuleTrigger | FormRuleTrigger[];
49
+ validator?: (rule: any, value: any, callback: (error?: Error | string) => void) => void;
50
+ asyncValidator?: (rule: any, value: any) => Promise<void>;
51
+ [key: string]: any;
52
+ }
53
+ /** @deprecated 使用 FormRuleItem */
54
+ export type Rules = FormRuleItem;
55
+ /** 表单 rules:字段名 -> 单条或多条规则 */
56
+ export type FormRules = Record<string, FormRuleItem | FormRuleItem[]>;
@@ -0,0 +1,10 @@
1
+ import { Ref, ObjectDirective } from 'vue';
2
+ type ClickOutsideHandler = (event: Event) => void;
3
+ interface ClickOutsideOptions {
4
+ exclude: Ref<HTMLElement>[];
5
+ handler: ClickOutsideHandler;
6
+ clickOutside?: () => void;
7
+ }
8
+ export type ClickOutsideBinding = ClickOutsideOptions | ClickOutsideHandler;
9
+ declare const _default: ObjectDirective<any, any, string, any>;
10
+ export default _default;
@@ -0,0 +1,69 @@
1
+ import { isFunction, isObject } from "../util/tools.js";
2
+ import { getElement, isElement } from "../util/dom.js";
3
+ //#region directives/clickOutside.ts
4
+ var NOOP = () => {};
5
+ var docHandlers = /* @__PURE__ */ new Map();
6
+ function createHandler(el, bindingValue) {
7
+ const exclude = [el];
8
+ let handler = NOOP;
9
+ let clickOutside = () => {};
10
+ if (isFunction(bindingValue)) handler = bindingValue;
11
+ else if (isObject(bindingValue)) {
12
+ const _els = [];
13
+ let i = 0;
14
+ const len = bindingValue.exclude.length;
15
+ while (i < len) {
16
+ const _el = getElement(bindingValue.exclude[i]);
17
+ if (_el && isElement(_el)) _els.push(_el);
18
+ i++;
19
+ }
20
+ exclude.push(..._els);
21
+ handler = bindingValue.handler;
22
+ if (bindingValue.clickOutside) clickOutside = bindingValue.clickOutside;
23
+ }
24
+ docHandlers.set(el, {
25
+ exclude,
26
+ handler,
27
+ clickOutside,
28
+ isOut: {
29
+ mousedown: false,
30
+ mouseup: false
31
+ }
32
+ });
33
+ }
34
+ var clickout = () => {
35
+ return {
36
+ mounted(el, binding) {
37
+ createHandler(el, binding.value);
38
+ },
39
+ updated(el, binding) {
40
+ createHandler(el, binding.value);
41
+ },
42
+ unmounted(el) {
43
+ docHandlers.delete(el);
44
+ }
45
+ };
46
+ };
47
+ var docListener = (e) => {
48
+ const tar = e.target;
49
+ docHandlers.forEach(({ exclude, handler, clickOutside, isOut }, el) => {
50
+ const isSelf = tar === el;
51
+ const isContain = el.contains(tar);
52
+ const isExclude = exclude.length && exclude.some((_el) => _el && (_el === tar || _el.contains(tar)));
53
+ if (isSelf || isContain || isExclude) {
54
+ if (e.type === "mousedown" || e.type === "mouseup") isOut[e.type] = false;
55
+ return;
56
+ } else if (e.type === "mousedown" || e.type === "mouseup") isOut[e.type] = true;
57
+ if (isOut.mousedown && isOut.mouseup) {
58
+ handler(e);
59
+ clickOutside?.();
60
+ }
61
+ });
62
+ };
63
+ document.addEventListener("mousedown", docListener);
64
+ document.addEventListener("mouseup", docListener);
65
+ var clickOutside_default = clickout();
66
+ //#endregion
67
+ export { clickOutside_default as default };
68
+
69
+ //# sourceMappingURL=clickOutside.js.map