@routa/ui-vue 0.1.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 (504) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -0
  3. package/base.css +1 -0
  4. package/dist/autocomplete/AutoComplete.vue.d.ts +336 -0
  5. package/dist/autocomplete/index.d.ts +298 -0
  6. package/dist/autocomplete/index.js +4 -0
  7. package/dist/autocomplete/index.mjs +321 -0
  8. package/dist/autocomplete/types.d.ts +58 -0
  9. package/dist/avatar/Avatar.vue.d.ts +36 -0
  10. package/dist/avatar/AvatarGroup.vue.d.ts +7 -0
  11. package/dist/avatar/index.d.ts +7 -0
  12. package/dist/avatar/index.js +3 -0
  13. package/dist/avatar/index.mjs +192 -0
  14. package/dist/avatar/types.d.ts +111 -0
  15. package/dist/badge/Badge.vue.d.ts +25 -0
  16. package/dist/badge/index.d.ts +5 -0
  17. package/dist/badge/index.js +2 -0
  18. package/dist/badge/index.mjs +72 -0
  19. package/dist/badge/types.d.ts +86 -0
  20. package/dist/breadcrumb/Breadcrumb.vue.d.ts +38 -0
  21. package/dist/breadcrumb/BreadcrumbItem.vue.d.ts +48 -0
  22. package/dist/breadcrumb/index.d.ts +7 -0
  23. package/dist/breadcrumb/index.js +2 -0
  24. package/dist/breadcrumb/index.mjs +87 -0
  25. package/dist/breadcrumb/types.d.ts +28 -0
  26. package/dist/button/Button.vue.d.ts +27 -0
  27. package/dist/button/index.d.ts +5 -0
  28. package/dist/button/index.js +2 -0
  29. package/dist/button/index.mjs +10 -0
  30. package/dist/button/types.d.ts +14 -0
  31. package/dist/card/Card.vue.d.ts +49 -0
  32. package/dist/card/index.d.ts +72 -0
  33. package/dist/card/index.js +2 -0
  34. package/dist/card/index.mjs +60 -0
  35. package/dist/card/types.d.ts +16 -0
  36. package/dist/carousel/Carousel.vue.d.ts +134 -0
  37. package/dist/carousel/CarouselItem.vue.d.ts +23 -0
  38. package/dist/carousel/index.d.ts +250 -0
  39. package/dist/carousel/index.js +2 -0
  40. package/dist/carousel/index.mjs +354 -0
  41. package/dist/carousel/types.d.ts +97 -0
  42. package/dist/cascader/Cascader.vue.d.ts +109 -0
  43. package/dist/cascader/CascaderPanel.vue.d.ts +55 -0
  44. package/dist/cascader/index.d.ts +110 -0
  45. package/dist/cascader/index.js +5 -0
  46. package/dist/cascader/index.mjs +370 -0
  47. package/dist/cascader/types.d.ts +54 -0
  48. package/dist/checkbox/Checkbox.vue.d.ts +99 -0
  49. package/dist/checkbox/CheckboxGroup.vue.d.ts +59 -0
  50. package/dist/checkbox/constants.d.ts +2 -0
  51. package/dist/checkbox/index.d.ts +9 -0
  52. package/dist/checkbox/index.js +2 -0
  53. package/dist/checkbox/index.mjs +70 -0
  54. package/dist/checkbox/types.d.ts +64 -0
  55. package/dist/chunks/Button.vue_vue_type_script_setup_true_lang-BthtEkGw.mjs +170 -0
  56. package/dist/chunks/Button.vue_vue_type_script_setup_true_lang-Do1NtIFC.js +1 -0
  57. package/dist/chunks/Checkbox.vue_vue_type_script_setup_true_lang-DxecbRJE.js +1 -0
  58. package/dist/chunks/Checkbox.vue_vue_type_script_setup_true_lang-fOXXjwnz.mjs +289 -0
  59. package/dist/chunks/Icon.vue_vue_type_script_setup_true_lang-LQ-KuJ6a.mjs +57 -0
  60. package/dist/chunks/Icon.vue_vue_type_script_setup_true_lang-YDWguTmi.js +1 -0
  61. package/dist/chunks/Input.vue_vue_type_script_setup_true_lang-8x2HE2Cj.js +1 -0
  62. package/dist/chunks/Input.vue_vue_type_script_setup_true_lang-PeDZ7smO.mjs +391 -0
  63. package/dist/chunks/Popover.vue_vue_type_script_setup_true_lang-CVWbekIQ.mjs +176 -0
  64. package/dist/chunks/Popover.vue_vue_type_script_setup_true_lang-TF9OnqB0.js +1 -0
  65. package/dist/chunks/Scrollbar.vue_vue_type_script_setup_true_lang-CtBz7Ha9.js +1 -0
  66. package/dist/chunks/Scrollbar.vue_vue_type_script_setup_true_lang-kKvR0Hz3.mjs +124 -0
  67. package/dist/chunks/TimePanel.vue_vue_type_script_setup_true_lang-BNTM3OeU.js +1 -0
  68. package/dist/chunks/TimePanel.vue_vue_type_script_setup_true_lang-BxuIhLsF.mjs +170 -0
  69. package/dist/chunks/_plugin-vue_export-helper-BHFhmbuH.js +1 -0
  70. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
  71. package/dist/chunks/auto-update-6n8Xn1EH.js +1 -0
  72. package/dist/chunks/auto-update-Dw-2qIsQ.mjs +59 -0
  73. package/dist/chunks/color-BBpRjg5d.mjs +32 -0
  74. package/dist/chunks/color-m1q_rZ68.js +1 -0
  75. package/dist/chunks/context-BEsW77hb.js +1 -0
  76. package/dist/chunks/context-BlK-PJ3n.mjs +5 -0
  77. package/dist/chunks/controller-37WpkEdZ.js +1 -0
  78. package/dist/chunks/controller-3cWaJJMW.mjs +318 -0
  79. package/dist/chunks/controller-BQhkT8pi.mjs +95 -0
  80. package/dist/chunks/controller-BnNZOOMj.js +1 -0
  81. package/dist/chunks/controller-CV-a983I.js +1 -0
  82. package/dist/chunks/controller-D1BTHmfO.js +1 -0
  83. package/dist/chunks/controller-DZp6lWY1.mjs +96 -0
  84. package/dist/chunks/controller-DdEBnv9V.mjs +82 -0
  85. package/dist/chunks/id-CfLxBW9l.js +1 -0
  86. package/dist/chunks/id-VS2potoV.mjs +7 -0
  87. package/dist/chunks/index-B0yEC3RG.mjs +136 -0
  88. package/dist/chunks/index-B4GP5rXr.mjs +170 -0
  89. package/dist/chunks/index-DWAWrVaT.js +1 -0
  90. package/dist/chunks/index-RYR-1S7A.js +1 -0
  91. package/dist/chunks/install-DJNxamQ0.mjs +10 -0
  92. package/dist/chunks/install-gnn2dOg9.js +1 -0
  93. package/dist/chunks/manager-BUdQK4AD.mjs +156 -0
  94. package/dist/chunks/manager-C-VTKQvg.mjs +85 -0
  95. package/dist/chunks/manager-C0AUxQ1I.js +2 -0
  96. package/dist/chunks/manager-d-AJMlyO.js +1 -0
  97. package/dist/chunks/modal-BiivqQQz.mjs +86 -0
  98. package/dist/chunks/modal-CRbFkVcm.js +1 -0
  99. package/dist/chunks/responsive-BYScjISa.js +1 -0
  100. package/dist/chunks/responsive-jCVnPx1a.mjs +49 -0
  101. package/dist/chunks/style-C-58-Hx4.mjs +7 -0
  102. package/dist/chunks/style-CjCLKeeU.js +1 -0
  103. package/dist/chunks/types-CXAGM03M.mjs +92 -0
  104. package/dist/chunks/types-DS78vyi2.js +1 -0
  105. package/dist/chunks/use-form-item-CloIcyon.js +1 -0
  106. package/dist/chunks/use-form-item-CqDbWCiU.mjs +16 -0
  107. package/dist/chunks/use-id-BycaM3-h.js +1 -0
  108. package/dist/chunks/use-id-D3casveg.mjs +9 -0
  109. package/dist/chunks/use-signals-Bz1smiXh.js +1 -0
  110. package/dist/chunks/use-signals-CE1T2jXK.mjs +50 -0
  111. package/dist/chunks/useCanvasRenderer-BPTNzGy0.mjs +87 -0
  112. package/dist/chunks/useCanvasRenderer-D77k3JCQ.js +1 -0
  113. package/dist/chunks/useResizeObserver-Cki4q_CI.mjs +60 -0
  114. package/dist/chunks/useResizeObserver-DMkB1OF3.js +1 -0
  115. package/dist/chunks/z-index-CNZLw1v7.js +1 -0
  116. package/dist/chunks/z-index-D9ecXoNe.mjs +14 -0
  117. package/dist/collapse/Collapse.vue.d.ts +30 -0
  118. package/dist/collapse/CollapseItem.vue.d.ts +20 -0
  119. package/dist/collapse/index.d.ts +8 -0
  120. package/dist/collapse/index.js +3 -0
  121. package/dist/collapse/index.mjs +144 -0
  122. package/dist/collapse/types.d.ts +54 -0
  123. package/dist/color-picker/AlphaSlider.vue.d.ts +38 -0
  124. package/dist/color-picker/ColorPicker.vue.d.ts +57 -0
  125. package/dist/color-picker/HueSlider.vue.d.ts +28 -0
  126. package/dist/color-picker/SaturationPanel.vue.d.ts +46 -0
  127. package/dist/color-picker/index.d.ts +56 -0
  128. package/dist/color-picker/index.js +6 -0
  129. package/dist/color-picker/index.mjs +481 -0
  130. package/dist/config-provider/ConfigProvider.vue.d.ts +64 -0
  131. package/dist/config-provider/context.d.ts +888 -0
  132. package/dist/config-provider/index.d.ts +97 -0
  133. package/dist/config-provider/index.js +1 -0
  134. package/dist/config-provider/index.mjs +396 -0
  135. package/dist/config-provider/resolver.d.ts +2 -0
  136. package/dist/config-provider/runtime.d.ts +5 -0
  137. package/dist/config-provider/teleport.d.ts +6 -0
  138. package/dist/config-provider/types.d.ts +131 -0
  139. package/dist/context-menu/ContextMenu.vue.d.ts +87 -0
  140. package/dist/context-menu/index.d.ts +5 -0
  141. package/dist/context-menu/index.js +3 -0
  142. package/dist/context-menu/index.mjs +215 -0
  143. package/dist/context-menu/types.d.ts +34 -0
  144. package/dist/date-picker/Calendar.vue.d.ts +22 -0
  145. package/dist/date-picker/DatePicker.vue.d.ts +31 -0
  146. package/dist/date-picker/DateRangePicker.vue.d.ts +26 -0
  147. package/dist/date-picker/DateTimePicker.vue.d.ts +27 -0
  148. package/dist/date-picker/DateTimeRangePicker.vue.d.ts +27 -0
  149. package/dist/date-picker/index.d.ts +13 -0
  150. package/dist/date-picker/index.js +6 -0
  151. package/dist/date-picker/index.mjs +1229 -0
  152. package/dist/date-picker/utils.d.ts +3 -0
  153. package/dist/dialog/Dialog.vue.d.ts +97 -0
  154. package/dist/dialog/index.d.ts +5 -0
  155. package/dist/dialog/index.js +2 -0
  156. package/dist/dialog/index.mjs +161 -0
  157. package/dist/dialog/types.d.ts +38 -0
  158. package/dist/divider/Divider.vue.d.ts +74 -0
  159. package/dist/divider/index.d.ts +5 -0
  160. package/dist/divider/index.js +2 -0
  161. package/dist/divider/index.mjs +96 -0
  162. package/dist/divider/types.d.ts +57 -0
  163. package/dist/drawer/Drawer.vue.d.ts +106 -0
  164. package/dist/drawer/index.d.ts +5 -0
  165. package/dist/drawer/index.js +2 -0
  166. package/dist/drawer/index.mjs +168 -0
  167. package/dist/drawer/types.d.ts +42 -0
  168. package/dist/dropdown/Dropdown.vue.d.ts +109 -0
  169. package/dist/dropdown/DropdownItem.vue.d.ts +60 -0
  170. package/dist/dropdown/index.d.ts +7 -0
  171. package/dist/dropdown/index.js +3 -0
  172. package/dist/dropdown/index.mjs +310 -0
  173. package/dist/dropdown/types.d.ts +87 -0
  174. package/dist/empty/Empty.vue.d.ts +47 -0
  175. package/dist/empty/index.d.ts +70 -0
  176. package/dist/empty/index.js +2 -0
  177. package/dist/empty/index.mjs +50 -0
  178. package/dist/empty/types.d.ts +16 -0
  179. package/dist/feedback-runtime/manager.d.ts +109 -0
  180. package/dist/feedback-runtime/mount.d.ts +5 -0
  181. package/dist/feedback-runtime/types.d.ts +27 -0
  182. package/dist/form/Form.vue.d.ts +37 -0
  183. package/dist/form/FormItem.vue.d.ts +32 -0
  184. package/dist/form/FormSchemaFields.vue.d.ts +7 -0
  185. package/dist/form/context.d.ts +33 -0
  186. package/dist/form/index.d.ts +6 -0
  187. package/dist/form/index.js +2 -0
  188. package/dist/form/index.mjs +389 -0
  189. package/dist/grid/Col.vue.d.ts +101 -0
  190. package/dist/grid/Row.vue.d.ts +56 -0
  191. package/dist/grid/index.d.ts +7 -0
  192. package/dist/grid/index.js +2 -0
  193. package/dist/grid/index.mjs +182 -0
  194. package/dist/grid/responsive.d.ts +9 -0
  195. package/dist/grid/types.d.ts +85 -0
  196. package/dist/hooks/index.d.ts +3 -0
  197. package/dist/hooks/index.js +1 -0
  198. package/dist/hooks/index.mjs +9 -0
  199. package/dist/hooks/use-form-item.d.ts +13 -0
  200. package/dist/hooks/use-id.d.ts +5 -0
  201. package/dist/hooks/useCanvasRenderer.d.ts +10 -0
  202. package/dist/hooks/useImageLoader.d.ts +20 -0
  203. package/dist/hooks/useResizeObserver.d.ts +17 -0
  204. package/dist/icon/Icon.vue.d.ts +20 -0
  205. package/dist/icon/index.d.ts +5 -0
  206. package/dist/icon/index.js +2 -0
  207. package/dist/icon/index.mjs +10 -0
  208. package/dist/icon/types.d.ts +45 -0
  209. package/dist/image/Image.vue.d.ts +38 -0
  210. package/dist/image/index.d.ts +5 -0
  211. package/dist/image/index.js +2 -0
  212. package/dist/image/index.mjs +128 -0
  213. package/dist/image/types.d.ts +10 -0
  214. package/dist/index.d.ts +59 -0
  215. package/dist/index.js +1 -0
  216. package/dist/index.mjs +362 -0
  217. package/dist/input/Input.vue.d.ts +47 -0
  218. package/dist/input/index.d.ts +5 -0
  219. package/dist/input/index.js +2 -0
  220. package/dist/input/index.mjs +10 -0
  221. package/dist/input/types.d.ts +51 -0
  222. package/dist/input-number/InputNumber.vue.d.ts +119 -0
  223. package/dist/input-number/index.d.ts +5 -0
  224. package/dist/input-number/index.js +2 -0
  225. package/dist/input-number/index.mjs +312 -0
  226. package/dist/input-number/types.d.ts +58 -0
  227. package/dist/layout/Content.vue.d.ts +29 -0
  228. package/dist/layout/Footer.vue.d.ts +29 -0
  229. package/dist/layout/Header.vue.d.ts +29 -0
  230. package/dist/layout/Layout.vue.d.ts +32 -0
  231. package/dist/layout/Sider.vue.d.ts +59 -0
  232. package/dist/layout/index.d.ts +13 -0
  233. package/dist/layout/index.js +2 -0
  234. package/dist/layout/index.mjs +154 -0
  235. package/dist/layout/types.d.ts +51 -0
  236. package/dist/layout-system/responsive.d.ts +4 -0
  237. package/dist/layout-system/types.d.ts +3 -0
  238. package/dist/loading/Loading.vue.d.ts +57 -0
  239. package/dist/loading/LoadingMask.vue.d.ts +8 -0
  240. package/dist/loading/directive.d.ts +5 -0
  241. package/dist/loading/index.d.ts +7 -0
  242. package/dist/loading/index.js +2 -0
  243. package/dist/loading/index.mjs +275 -0
  244. package/dist/loading/types.d.ts +23 -0
  245. package/dist/mentions/Mentions.vue.d.ts +337 -0
  246. package/dist/mentions/index.d.ts +296 -0
  247. package/dist/mentions/index.js +5 -0
  248. package/dist/mentions/index.mjs +357 -0
  249. package/dist/mentions/types.d.ts +55 -0
  250. package/dist/menu/Menu.vue.d.ts +120 -0
  251. package/dist/menu/MenuDivider.vue.d.ts +2 -0
  252. package/dist/menu/MenuGroup.vue.d.ts +29 -0
  253. package/dist/menu/MenuItem.vue.d.ts +48 -0
  254. package/dist/menu/MenuNodeRenderer.vue.d.ts +6 -0
  255. package/dist/menu/SubMenu.vue.d.ts +57 -0
  256. package/dist/menu/index.d.ts +13 -0
  257. package/dist/menu/index.js +2 -0
  258. package/dist/menu/index.mjs +772 -0
  259. package/dist/menu/types.d.ts +126 -0
  260. package/dist/message/MessageHost.vue.d.ts +15 -0
  261. package/dist/message/MessageItem.vue.d.ts +15 -0
  262. package/dist/message/index.d.ts +10 -0
  263. package/dist/message/index.js +2 -0
  264. package/dist/message/index.mjs +199 -0
  265. package/dist/message/runtime.d.ts +149 -0
  266. package/dist/message/types.d.ts +12 -0
  267. package/dist/notification/NotificationHost.vue.d.ts +15 -0
  268. package/dist/notification/NotificationItem.vue.d.ts +15 -0
  269. package/dist/notification/index.d.ts +10 -0
  270. package/dist/notification/index.js +2 -0
  271. package/dist/notification/index.mjs +207 -0
  272. package/dist/notification/runtime.d.ts +155 -0
  273. package/dist/notification/types.d.ts +12 -0
  274. package/dist/otp-input/OTPInput.vue.d.ts +84 -0
  275. package/dist/otp-input/index.d.ts +5 -0
  276. package/dist/otp-input/index.js +2 -0
  277. package/dist/otp-input/index.mjs +216 -0
  278. package/dist/otp-input/types.d.ts +41 -0
  279. package/dist/pagination/Pagination.vue.d.ts +101 -0
  280. package/dist/pagination/index.d.ts +102 -0
  281. package/dist/pagination/index.js +2 -0
  282. package/dist/pagination/index.mjs +260 -0
  283. package/dist/pagination/types.d.ts +48 -0
  284. package/dist/popover/Popover.vue.d.ts +136 -0
  285. package/dist/popover/index.d.ts +5 -0
  286. package/dist/popover/index.js +2 -0
  287. package/dist/popover/index.mjs +13 -0
  288. package/dist/popover/types.d.ts +49 -0
  289. package/dist/radio/Radio.vue.d.ts +30 -0
  290. package/dist/radio/RadioGroup.vue.d.ts +26 -0
  291. package/dist/radio/constants.d.ts +3 -0
  292. package/dist/radio/index.d.ts +7 -0
  293. package/dist/radio/index.js +2 -0
  294. package/dist/radio/index.mjs +273 -0
  295. package/dist/radio/types.d.ts +45 -0
  296. package/dist/rate/Rate.vue.d.ts +139 -0
  297. package/dist/rate/index.d.ts +140 -0
  298. package/dist/rate/index.js +3 -0
  299. package/dist/rate/index.mjs +276 -0
  300. package/dist/rate/types.d.ts +66 -0
  301. package/dist/rich-text/RichText.vue.d.ts +25 -0
  302. package/dist/rich-text/index.d.ts +17 -0
  303. package/dist/rich-text/index.js +2 -0
  304. package/dist/rich-text/index.mjs +312 -0
  305. package/dist/scrollbar/Scrollbar.vue.d.ts +37 -0
  306. package/dist/scrollbar/index.d.ts +5 -0
  307. package/dist/scrollbar/index.js +2 -0
  308. package/dist/scrollbar/index.mjs +10 -0
  309. package/dist/scrollbar/types.d.ts +17 -0
  310. package/dist/select/Option.vue.d.ts +45 -0
  311. package/dist/select/Select.vue.d.ts +136 -0
  312. package/dist/select/index.d.ts +9 -0
  313. package/dist/select/index.js +3 -0
  314. package/dist/select/index.mjs +656 -0
  315. package/dist/select/types.d.ts +92 -0
  316. package/dist/slider/Slider.vue.d.ts +123 -0
  317. package/dist/slider/index.d.ts +5 -0
  318. package/dist/slider/index.js +2 -0
  319. package/dist/slider/index.mjs +326 -0
  320. package/dist/slider/types.d.ts +57 -0
  321. package/dist/space/Space.vue.d.ts +75 -0
  322. package/dist/space/index.d.ts +5 -0
  323. package/dist/space/index.js +2 -0
  324. package/dist/space/index.mjs +104 -0
  325. package/dist/space/types.d.ts +34 -0
  326. package/dist/splitter/Splitter.vue.d.ts +52 -0
  327. package/dist/splitter/SplitterPane.vue.d.ts +38 -0
  328. package/dist/splitter/index.d.ts +7 -0
  329. package/dist/splitter/index.js +2 -0
  330. package/dist/splitter/index.mjs +252 -0
  331. package/dist/splitter/types.d.ts +41 -0
  332. package/dist/splitter/utils.d.ts +6 -0
  333. package/dist/style/Button.css +1 -0
  334. package/dist/style/Checkbox.css +1 -0
  335. package/dist/style/Icon.css +1 -0
  336. package/dist/style/Input.css +1 -0
  337. package/dist/style/Popover.css +1 -0
  338. package/dist/style/Scrollbar.css +1 -0
  339. package/dist/style/TimePanel.css +1 -0
  340. package/dist/style/autocomplete.css +1 -0
  341. package/dist/style/avatar.css +1 -0
  342. package/dist/style/badge.css +1 -0
  343. package/dist/style/base.css +1 -0
  344. package/dist/style/breadcrumb.css +1 -0
  345. package/dist/style/card.css +1 -0
  346. package/dist/style/carousel.css +1 -0
  347. package/dist/style/cascader.css +1 -0
  348. package/dist/style/collapse.css +1 -0
  349. package/dist/style/color-picker.css +1 -0
  350. package/dist/style/context-menu.css +1 -0
  351. package/dist/style/date-picker.css +1 -0
  352. package/dist/style/dialog.css +1 -0
  353. package/dist/style/divider.css +1 -0
  354. package/dist/style/drawer.css +1 -0
  355. package/dist/style/empty.css +1 -0
  356. package/dist/style/form.css +1 -0
  357. package/dist/style/grid.css +1 -0
  358. package/dist/style/image.css +1 -0
  359. package/dist/style/index.css +1 -0
  360. package/dist/style/input-number.css +1 -0
  361. package/dist/style/layout.css +1 -0
  362. package/dist/style/loading.css +1 -0
  363. package/dist/style/mentions.css +1 -0
  364. package/dist/style/menu.css +1 -0
  365. package/dist/style/message.css +1 -0
  366. package/dist/style/notification.css +1 -0
  367. package/dist/style/otp-input.css +1 -0
  368. package/dist/style/pagination.css +1 -0
  369. package/dist/style/radio.css +1 -0
  370. package/dist/style/rate.css +1 -0
  371. package/dist/style/rich-text.css +1 -0
  372. package/dist/style/select.css +1 -0
  373. package/dist/style/slider.css +1 -0
  374. package/dist/style/space.css +1 -0
  375. package/dist/style/splitter.css +1 -0
  376. package/dist/style/switch.css +1 -0
  377. package/dist/style/table.css +1 -0
  378. package/dist/style/tabs.css +1 -0
  379. package/dist/style/tag.css +1 -0
  380. package/dist/style/tooltip.css +1 -0
  381. package/dist/style/transfer.css +1 -0
  382. package/dist/style/tree-select.css +1 -0
  383. package/dist/style/tree.css +1 -0
  384. package/dist/style/upload.css +1 -0
  385. package/dist/style/watermark.css +1 -0
  386. package/dist/switch/Switch.vue.d.ts +95 -0
  387. package/dist/switch/index.d.ts +5 -0
  388. package/dist/switch/index.js +2 -0
  389. package/dist/switch/index.mjs +285 -0
  390. package/dist/switch/types.d.ts +81 -0
  391. package/dist/table/Table.vue.d.ts +102 -0
  392. package/dist/table/index.d.ts +5 -0
  393. package/dist/table/index.js +2 -0
  394. package/dist/table/index.mjs +263 -0
  395. package/dist/table/types.d.ts +64 -0
  396. package/dist/tabs/TabPane.vue.d.ts +55 -0
  397. package/dist/tabs/Tabs.vue.d.ts +92 -0
  398. package/dist/tabs/index.d.ts +7 -0
  399. package/dist/tabs/index.js +2 -0
  400. package/dist/tabs/index.mjs +266 -0
  401. package/dist/tabs/types.d.ts +78 -0
  402. package/dist/tag/Tag.vue.d.ts +38 -0
  403. package/dist/tag/index.d.ts +5 -0
  404. package/dist/tag/index.js +2 -0
  405. package/dist/tag/index.mjs +123 -0
  406. package/dist/tag/types.d.ts +83 -0
  407. package/dist/time-picker/TimePanel.vue.d.ts +19 -0
  408. package/dist/time-picker/TimePicker.vue.d.ts +15 -0
  409. package/dist/time-picker/index.d.ts +6 -0
  410. package/dist/time-picker/index.js +4 -0
  411. package/dist/time-picker/index.mjs +91 -0
  412. package/dist/tooltip/Tooltip.vue.d.ts +99 -0
  413. package/dist/tooltip/index.d.ts +5 -0
  414. package/dist/tooltip/index.js +2 -0
  415. package/dist/tooltip/index.mjs +186 -0
  416. package/dist/tooltip/types.d.ts +37 -0
  417. package/dist/transfer/Transfer.vue.d.ts +104 -0
  418. package/dist/transfer/TransferPanel.vue.d.ts +90 -0
  419. package/dist/transfer/index.d.ts +167 -0
  420. package/dist/transfer/index.js +7 -0
  421. package/dist/transfer/index.mjs +343 -0
  422. package/dist/tree/Tree.vue.d.ts +237 -0
  423. package/dist/tree/TreeRow.vue.d.ts +24 -0
  424. package/dist/tree/TreeView.vue.d.ts +24 -0
  425. package/dist/tree/context.d.ts +3 -0
  426. package/dist/tree/index.d.ts +431 -0
  427. package/dist/tree/index.js +2 -0
  428. package/dist/tree/index.mjs +548 -0
  429. package/dist/tree/types.d.ts +127 -0
  430. package/dist/tree/use-tree-foundation.d.ts +37 -0
  431. package/dist/tree-select/TreeNode.vue.d.ts +7 -0
  432. package/dist/tree-select/TreeSelect.vue.d.ts +210 -0
  433. package/dist/tree-select/index.d.ts +7 -0
  434. package/dist/tree-select/index.js +3 -0
  435. package/dist/tree-select/index.mjs +799 -0
  436. package/dist/tree-select/types.d.ts +111 -0
  437. package/dist/upload/Upload.vue.d.ts +50 -0
  438. package/dist/upload/index.d.ts +67 -0
  439. package/dist/upload/index.js +3 -0
  440. package/dist/upload/index.mjs +271 -0
  441. package/dist/utils/install.d.ts +3 -0
  442. package/dist/utils/style.d.ts +1 -0
  443. package/dist/watermark/Watermark.vue.d.ts +98 -0
  444. package/dist/watermark/index.d.ts +5 -0
  445. package/dist/watermark/index.js +2 -0
  446. package/dist/watermark/index.mjs +183 -0
  447. package/dist/watermark/types.d.ts +85 -0
  448. package/package.json +69 -0
  449. package/src/autocomplete/style/index.css +80 -0
  450. package/src/avatar/style/index.css +105 -0
  451. package/src/badge/style/index.css +232 -0
  452. package/src/base.css +4 -0
  453. package/src/breadcrumb/style/index.css +75 -0
  454. package/src/button/style/index.css +242 -0
  455. package/src/card/style/index.css +60 -0
  456. package/src/carousel/style/index.css +195 -0
  457. package/src/cascader/style/index.css +153 -0
  458. package/src/checkbox/style/index.css +165 -0
  459. package/src/collapse/style/index.css +166 -0
  460. package/src/color-picker/style/index.css +132 -0
  461. package/src/context-menu/style/index.css +21 -0
  462. package/src/date-picker/style/index.css +372 -0
  463. package/src/dialog/style/index.css +141 -0
  464. package/src/divider/style/index.css +112 -0
  465. package/src/drawer/style/index.css +211 -0
  466. package/src/dropdown/style/index.css +118 -0
  467. package/src/empty/style/index.css +87 -0
  468. package/src/form/style/index.css +148 -0
  469. package/src/grid/style/index.css +16 -0
  470. package/src/icon/style/index.css +28 -0
  471. package/src/image/style/index.css +114 -0
  472. package/src/input/style/index.css +217 -0
  473. package/src/input-number/style/index.css +166 -0
  474. package/src/layout/style/index.css +37 -0
  475. package/src/loading/style/index.css +58 -0
  476. package/src/mentions/style/index.css +83 -0
  477. package/src/menu/style/index.css +300 -0
  478. package/src/message/style/index.css +109 -0
  479. package/src/notification/style/index.css +116 -0
  480. package/src/otp-input/style/index.css +96 -0
  481. package/src/pagination/style/index.css +96 -0
  482. package/src/popover/style/index.css +47 -0
  483. package/src/radio/style/index.css +185 -0
  484. package/src/rate/style/index.css +89 -0
  485. package/src/rich-text/style/index.css +154 -0
  486. package/src/scrollbar/style/index.css +57 -0
  487. package/src/select/style/index.css +262 -0
  488. package/src/slider/style/index.css +181 -0
  489. package/src/space/style/index.css +31 -0
  490. package/src/splitter/style/index.css +76 -0
  491. package/src/style.css +1 -0
  492. package/src/styles/reset.css +29 -0
  493. package/src/switch/style/index.css +164 -0
  494. package/src/table/style/index.css +108 -0
  495. package/src/tabs/style/index.css +270 -0
  496. package/src/tag/style/index.css +207 -0
  497. package/src/time-picker/style/index.css +135 -0
  498. package/src/tooltip/style/index.css +50 -0
  499. package/src/transfer/style/index.css +181 -0
  500. package/src/tree/style/index.css +246 -0
  501. package/src/tree-select/style/index.css +346 -0
  502. package/src/upload/style/index.css +166 -0
  503. package/src/watermark/style/index.css +15 -0
  504. package/style.css +1 -0
@@ -0,0 +1,58 @@
1
+ import { ExtractPropTypes, PropType } from 'vue';
2
+ import { Placement } from '../../../headless/src/index.ts';
3
+ export declare const autoCompleteProps: {
4
+ /** 绑定值 | Binding value */
5
+ readonly modelValue: {
6
+ readonly type: StringConstructor;
7
+ readonly default: "";
8
+ };
9
+ /** 获取建议列表的回调 | Callback to fetch suggestions */
10
+ readonly fetchSuggestions: {
11
+ readonly type: PropType<(queryString: string, cb: (data: any[]) => void) => void>;
12
+ readonly required: true;
13
+ };
14
+ /** 占位文字 | Placeholder */
15
+ readonly placeholder: StringConstructor;
16
+ /** 禁用 | Disabled */
17
+ readonly disabled: BooleanConstructor;
18
+ /** 可清空 | Clearable */
19
+ readonly clearable: BooleanConstructor;
20
+ /** 尺寸 | Size */
21
+ readonly size: {
22
+ readonly type: PropType<"sm" | "md" | "lg">;
23
+ readonly default: "md";
24
+ };
25
+ /** 是否在聚焦时显示建议 | Whether to show suggestions on focus */
26
+ readonly triggerOnFocus: {
27
+ readonly type: BooleanConstructor;
28
+ readonly default: false;
29
+ };
30
+ /** 防抖延迟 | Debounce delay */
31
+ readonly debounce: {
32
+ readonly type: NumberConstructor;
33
+ readonly default: 300;
34
+ };
35
+ /** 弹出层位置 | Placement */
36
+ readonly placement: {
37
+ readonly type: PropType<Placement>;
38
+ readonly default: "bottom-start";
39
+ };
40
+ /** 弹出层类名 | Popper class */
41
+ readonly popperClass: StringConstructor;
42
+ /** 显示字段名 | Display label field */
43
+ readonly valueKey: {
44
+ readonly type: StringConstructor;
45
+ readonly default: "value";
46
+ };
47
+ /** 无数据时显示的文本 | Text to display when no data */
48
+ readonly noDataText: StringConstructor;
49
+ };
50
+ export type AutoCompleteProps = ExtractPropTypes<typeof autoCompleteProps>;
51
+ export declare const autoCompleteEmits: {
52
+ 'update:modelValue': (_val: string) => boolean;
53
+ select: (_item: any) => boolean;
54
+ change: (_val: string) => boolean;
55
+ focus: (_e: FocusEvent) => boolean;
56
+ blur: (_e: FocusEvent) => boolean;
57
+ clear: () => boolean;
58
+ };
@@ -0,0 +1,36 @@
1
+ import { AvatarProps } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ icon?(_: {}): any;
6
+ };
7
+ refs: {
8
+ containerRef: HTMLDivElement;
9
+ canvasRef: HTMLCanvasElement;
10
+ };
11
+ rootEl: HTMLDivElement;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: import('vue').DefineComponent<AvatarProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
15
+ error: (err: any) => any;
16
+ load: (url: string) => any;
17
+ }, string, import('vue').PublicProps, Readonly<AvatarProps> & Readonly<{
18
+ onError?: ((err: any) => any) | undefined;
19
+ onLoad?: ((url: string) => any) | undefined;
20
+ }>, {
21
+ size: import('./types').AvatarSize;
22
+ lazy: boolean;
23
+ shape: import('./types').AvatarShape;
24
+ priority: import('../../../headless/src/index.ts').ImagePriority;
25
+ fit: "cover" | "contain" | "fill" | "none" | "scale-down";
26
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
27
+ containerRef: HTMLDivElement;
28
+ canvasRef: HTMLCanvasElement;
29
+ }, HTMLDivElement>;
30
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
31
+ export default _default;
32
+ type __VLS_WithTemplateSlots<T, S> = T & {
33
+ new (): {
34
+ $slots: S;
35
+ };
36
+ };
@@ -0,0 +1,7 @@
1
+ import { AvatarGroupProps } from './types';
2
+ declare const _default: import('vue').DefineComponent<AvatarGroupProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<AvatarGroupProps> & Readonly<{}>, {
3
+ size: import('./types').AvatarSize;
4
+ offset: number;
5
+ shape: import('./types').AvatarShape;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { Plugin } from 'vue';
2
+ import { default as Avatar } from './Avatar.vue';
3
+ import { default as AvatarGroup } from './AvatarGroup.vue';
4
+ export declare const LAvatar: typeof Avatar & Plugin;
5
+ export declare const LAvatarGroup: typeof AvatarGroup & Plugin;
6
+ export * from './types';
7
+ export default LAvatar;
@@ -0,0 +1,3 @@
1
+ require('../style/avatar.css');
2
+ require('../style/Icon.css');
3
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),B=require("../chunks/useCanvasRenderer-D77k3JCQ.js"),C=require("../icon/index.js"),_=["aria-label"],$=["src","alt"],G={key:1,class:"l-avatar__text"},I={key:2,class:"l-avatar__icon"},R={key:3,class:"l-avatar__loading"},x=e.defineComponent({name:"Avatar",__name:"Avatar",props:{src:{},alt:{},size:{default:"md"},shape:{default:"circle"},fit:{default:"cover"},lazy:{type:Boolean,default:!0},priority:{default:"normal"},text:{},icon:{},backgroundColor:{},style:{},class:{}},emits:["error","load"],setup(a,{emit:o}){const t=a,c=e.inject("LAvatarGroupContext",null),m=e.computed(()=>(c==null?void 0:c.size)??t.size),d=e.computed(()=>(c==null?void 0:c.shape)??t.shape),f=o,l=e.ref(null),y=e.ref(null),{status:s,displayedSrc:u,currentBitmap:i,load:v,reset:p}=B.useImageLoader(t),{initResizeObserver:b}=B.useCanvasRenderer(y,{fit:e.computed(()=>t.fit),bitmap:i}),S=e.computed(()=>{const r=m.value;return typeof r=="number"?{width:`${r}px`,height:`${r}px`,fontSize:`${r/2}px`}:{}}),A=e.computed(()=>["l-avatar",`l-avatar--${d.value}`,typeof m.value=="string"?`l-avatar--${m.value}`:"",{"l-avatar--image":s.value==="loaded"&&(u.value||i.value),"l-avatar--text":s.value!=="loaded"&&t.text,"l-avatar--icon":s.value!=="loaded"&&!t.text},t.class]),L=e.computed(()=>({...S.value,backgroundColor:t.backgroundColor,...t.style})),E=e.computed(()=>t.alt?t.alt:t.text?t.text:"用户头像");let n=null;const g=async()=>{if(t.src)try{await v(),s.value==="loaded"&&f("load",t.src)}catch(r){f("error",r)}};return e.watch(()=>t.src,r=>{p(),r&&(t.lazy?n&&l.value&&(n.unobserve(l.value),n.observe(l.value)):g())}),e.onMounted(()=>{if(l.value&&b(l.value),!!t.src){if(!t.lazy){g();return}n=new IntersectionObserver(r=>{r[0].isIntersecting&&(g(),n&&l.value&&n.unobserve(l.value))},{rootMargin:"200px"}),l.value&&n.observe(l.value)}}),e.onUnmounted(()=>{n==null||n.disconnect(),n=null}),(r,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:l,class:e.normalizeClass(A.value),style:e.normalizeStyle(L.value),role:"img","aria-label":E.value},[t.src&&e.unref(s)==="loaded"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(i)?(e.openBlock(),e.createElementBlock("canvas",{key:0,ref_key:"canvasRef",ref:y,class:"l-avatar__canvas"},null,512)):e.unref(u)?(e.openBlock(),e.createElementBlock("img",{key:1,src:e.unref(u),alt:a.alt,style:e.normalizeStyle({objectFit:a.fit}),class:"l-avatar__img"},null,12,$)):e.createCommentVNode("",!0)],64)):a.text?(e.openBlock(),e.createElementBlock("span",G,e.toDisplayString(a.text.slice(0,2).toUpperCase()),1)):(e.openBlock(),e.createElementBlock("div",I,[e.renderSlot(r.$slots,"icon",{},()=>[a.icon?(e.openBlock(),e.createBlock(e.unref(C.LIcon),{key:0,name:typeof a.icon=="string"?a.icon:void 0,component:typeof a.icon!="string"?a.icon:void 0},null,8,["name","component"])):(e.openBlock(),e.createBlock(e.unref(C.LIcon),{key:1,name:"lucide:user"}))])])),e.unref(s)==="loading"?(e.openBlock(),e.createElementBlock("div",R,[...h[0]||(h[0]=[e.createElementVNode("div",{class:"l-avatar__shimmer"},null,-1)])])):e.createCommentVNode("",!0)],14,_))}}),N=e.defineComponent({name:"AvatarGroup",__name:"AvatarGroup",props:{size:{default:"md"},shape:{default:"circle"},maxCount:{},offset:{default:-12},backgroundColor:{},style:{},class:{}},setup(a){const o=a,t=e.useSlots(),c=e.reactive({size:e.computed(()=>o.size),shape:e.computed(()=>o.shape)});e.provide("LAvatarGroupContext",c);const m=u=>{const i=[];return u.forEach(v=>{v.type===e.Fragment&&Array.isArray(v.children)?i.push(...m(v.children)):i.push(v)}),i},d=e.computed(()=>{const u=t.default?t.default():[];return m(u)}),f=e.computed(()=>o.maxCount&&d.value.length>o.maxCount?d.value.slice(0,o.maxCount):d.value),l=e.computed(()=>o.maxCount&&d.value.length>o.maxCount?d.value.length-o.maxCount:0),y=e.computed(()=>["l-avatar-group",o.class]),s=e.computed(()=>({...o.style}));return(u,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value),style:e.normalizeStyle(s.value),role:"group","aria-label":"头像组"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(v,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"l-avatar-group__item",style:e.normalizeStyle({marginLeft:p===0?0:`${a.offset}px`,zIndex:f.value.length-p})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v)))],4))),128)),l.value>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"l-avatar-group__item",style:e.normalizeStyle({marginLeft:`${a.offset}px`,zIndex:0})},[e.createVNode(x,{size:a.size,shape:a.shape,text:`+${l.value}`,alt:`还有 ${l.value} 个头像`,backgroundColor:a.backgroundColor,class:"l-avatar-group__extra"},null,8,["size","shape","text","alt","backgroundColor"])],4)):e.createCommentVNode("",!0)],6))}}),k=x,z=N;k.install=a=>{a.component("LAvatar",k),a.component("LAvatarGroup",z)};exports.LAvatar=k;exports.LAvatarGroup=z;exports.default=k;
@@ -0,0 +1,192 @@
1
+ import '../style/avatar.css';
2
+ import '../style/Icon.css';
3
+ import { defineComponent as G, inject as j, computed as r, ref as S, watch as D, onMounted as F, onUnmounted as M, openBlock as l, createElementBlock as u, normalizeStyle as x, normalizeClass as I, unref as y, Fragment as z, createCommentVNode as b, toDisplayString as O, renderSlot as U, createBlock as A, createElementVNode as q, useSlots as H, reactive as J, provide as K, renderList as P, resolveDynamicComponent as Q, createVNode as T } from "vue";
4
+ import { a as W, u as X } from "../chunks/useCanvasRenderer-BPTNzGy0.mjs";
5
+ import { LIcon as _ } from "../icon/index.mjs";
6
+ const Y = ["aria-label"], Z = ["src", "alt"], ee = {
7
+ key: 1,
8
+ class: "l-avatar__text"
9
+ }, ae = {
10
+ key: 2,
11
+ class: "l-avatar__icon"
12
+ }, te = {
13
+ key: 3,
14
+ class: "l-avatar__loading"
15
+ }, R = /* @__PURE__ */ G({
16
+ name: "Avatar",
17
+ __name: "Avatar",
18
+ props: {
19
+ src: {},
20
+ alt: {},
21
+ size: { default: "md" },
22
+ shape: { default: "circle" },
23
+ fit: { default: "cover" },
24
+ lazy: { type: Boolean, default: !0 },
25
+ priority: { default: "normal" },
26
+ text: {},
27
+ icon: {},
28
+ backgroundColor: {},
29
+ style: {},
30
+ class: {}
31
+ },
32
+ emits: ["error", "load"],
33
+ setup(a, { emit: n }) {
34
+ const e = a, c = j("LAvatarGroupContext", null), p = r(() => (c == null ? void 0 : c.size) ?? e.size), m = r(() => (c == null ? void 0 : c.shape) ?? e.shape), g = n, t = S(null), C = S(null), { status: i, displayedSrc: v, currentBitmap: d, load: f, reset: h } = W(e), { initResizeObserver: B } = X(C, {
35
+ fit: r(() => e.fit),
36
+ bitmap: d
37
+ }), w = r(() => {
38
+ const s = p.value;
39
+ return typeof s == "number" ? {
40
+ width: `${s}px`,
41
+ height: `${s}px`,
42
+ fontSize: `${s / 2}px`
43
+ } : {};
44
+ }), N = r(() => [
45
+ "l-avatar",
46
+ `l-avatar--${m.value}`,
47
+ typeof p.value == "string" ? `l-avatar--${p.value}` : "",
48
+ {
49
+ "l-avatar--image": i.value === "loaded" && (v.value || d.value),
50
+ "l-avatar--text": i.value !== "loaded" && e.text,
51
+ "l-avatar--icon": i.value !== "loaded" && !e.text
52
+ },
53
+ e.class
54
+ ]), V = r(() => ({
55
+ ...w.value,
56
+ backgroundColor: e.backgroundColor,
57
+ ...e.style
58
+ })), E = r(() => e.alt ? e.alt : e.text ? e.text : "用户头像");
59
+ let o = null;
60
+ const k = async () => {
61
+ if (e.src)
62
+ try {
63
+ await f(), i.value === "loaded" && g("load", e.src);
64
+ } catch (s) {
65
+ g("error", s);
66
+ }
67
+ };
68
+ return D(() => e.src, (s) => {
69
+ h(), s && (e.lazy ? o && t.value && (o.unobserve(t.value), o.observe(t.value)) : k());
70
+ }), F(() => {
71
+ if (t.value && B(t.value), !!e.src) {
72
+ if (!e.lazy) {
73
+ k();
74
+ return;
75
+ }
76
+ o = new IntersectionObserver((s) => {
77
+ s[0].isIntersecting && (k(), o && t.value && o.unobserve(t.value));
78
+ }, { rootMargin: "200px" }), t.value && o.observe(t.value);
79
+ }
80
+ }), M(() => {
81
+ o == null || o.disconnect(), o = null;
82
+ }), (s, L) => (l(), u("div", {
83
+ ref_key: "containerRef",
84
+ ref: t,
85
+ class: I(N.value),
86
+ style: x(V.value),
87
+ role: "img",
88
+ "aria-label": E.value
89
+ }, [
90
+ e.src && y(i) === "loaded" ? (l(), u(z, { key: 0 }, [
91
+ y(d) ? (l(), u("canvas", {
92
+ key: 0,
93
+ ref_key: "canvasRef",
94
+ ref: C,
95
+ class: "l-avatar__canvas"
96
+ }, null, 512)) : y(v) ? (l(), u("img", {
97
+ key: 1,
98
+ src: y(v),
99
+ alt: a.alt,
100
+ style: x({ objectFit: a.fit }),
101
+ class: "l-avatar__img"
102
+ }, null, 12, Z)) : b("", !0)
103
+ ], 64)) : a.text ? (l(), u("span", ee, O(a.text.slice(0, 2).toUpperCase()), 1)) : (l(), u("div", ae, [
104
+ U(s.$slots, "icon", {}, () => [
105
+ a.icon ? (l(), A(y(_), {
106
+ key: 0,
107
+ name: typeof a.icon == "string" ? a.icon : void 0,
108
+ component: typeof a.icon != "string" ? a.icon : void 0
109
+ }, null, 8, ["name", "component"])) : (l(), A(y(_), {
110
+ key: 1,
111
+ name: "lucide:user"
112
+ }))
113
+ ])
114
+ ])),
115
+ y(i) === "loading" ? (l(), u("div", te, [...L[0] || (L[0] = [
116
+ q("div", { class: "l-avatar__shimmer" }, null, -1)
117
+ ])])) : b("", !0)
118
+ ], 14, Y));
119
+ }
120
+ }), le = /* @__PURE__ */ G({
121
+ name: "AvatarGroup",
122
+ __name: "AvatarGroup",
123
+ props: {
124
+ size: { default: "md" },
125
+ shape: { default: "circle" },
126
+ maxCount: {},
127
+ offset: { default: -12 },
128
+ backgroundColor: {},
129
+ style: {},
130
+ class: {}
131
+ },
132
+ setup(a) {
133
+ const n = a, e = H(), c = J({
134
+ size: r(() => n.size),
135
+ shape: r(() => n.shape)
136
+ });
137
+ K("LAvatarGroupContext", c);
138
+ const p = (v) => {
139
+ const d = [];
140
+ return v.forEach((f) => {
141
+ f.type === z && Array.isArray(f.children) ? d.push(...p(f.children)) : d.push(f);
142
+ }), d;
143
+ }, m = r(() => {
144
+ const v = e.default ? e.default() : [];
145
+ return p(v);
146
+ }), g = r(() => n.maxCount && m.value.length > n.maxCount ? m.value.slice(0, n.maxCount) : m.value), t = r(() => n.maxCount && m.value.length > n.maxCount ? m.value.length - n.maxCount : 0), C = r(() => [
147
+ "l-avatar-group",
148
+ n.class
149
+ ]), i = r(() => ({
150
+ ...n.style
151
+ }));
152
+ return (v, d) => (l(), u("div", {
153
+ class: I(C.value),
154
+ style: x(i.value),
155
+ role: "group",
156
+ "aria-label": "头像组"
157
+ }, [
158
+ (l(!0), u(z, null, P(g.value, (f, h) => (l(), u("div", {
159
+ key: h,
160
+ class: "l-avatar-group__item",
161
+ style: x({
162
+ marginLeft: h === 0 ? 0 : `${a.offset}px`,
163
+ zIndex: g.value.length - h
164
+ })
165
+ }, [
166
+ (l(), A(Q(f)))
167
+ ], 4))), 128)),
168
+ t.value > 0 ? (l(), u("div", {
169
+ key: 0,
170
+ class: "l-avatar-group__item",
171
+ style: x({ marginLeft: `${a.offset}px`, zIndex: 0 })
172
+ }, [
173
+ T(R, {
174
+ size: a.size,
175
+ shape: a.shape,
176
+ text: `+${t.value}`,
177
+ alt: `还有 ${t.value} 个头像`,
178
+ backgroundColor: a.backgroundColor,
179
+ class: "l-avatar-group__extra"
180
+ }, null, 8, ["size", "shape", "text", "alt", "backgroundColor"])
181
+ ], 4)) : b("", !0)
182
+ ], 6));
183
+ }
184
+ }), $ = R, re = le;
185
+ $.install = (a) => {
186
+ a.component("LAvatar", $), a.component("LAvatarGroup", re);
187
+ };
188
+ export {
189
+ $ as LAvatar,
190
+ re as LAvatarGroup,
191
+ $ as default
192
+ };
@@ -0,0 +1,111 @@
1
+ import { Component, CSSProperties } from 'vue';
2
+ import { ImagePriority } from '../../../headless/src/index.ts';
3
+ export type AvatarShape = 'circle' | 'square';
4
+ export type AvatarSize = 'sm' | 'md' | 'lg' | number;
5
+ export interface AvatarProps {
6
+ /**
7
+ * 头像图片地址
8
+ * Avatar image source
9
+ */
10
+ src?: string;
11
+ /**
12
+ * 图像无法显示时的替代文本
13
+ * Alternate text for image
14
+ */
15
+ alt?: string;
16
+ /**
17
+ * 头像尺寸
18
+ * Avatar size
19
+ * @default 'medium'
20
+ */
21
+ size?: AvatarSize;
22
+ /**
23
+ * 头像形状
24
+ * Avatar shape
25
+ * @default 'circle'
26
+ */
27
+ shape?: AvatarShape;
28
+ /**
29
+ * 图片填充模式
30
+ * Image object-fit mode
31
+ * @default 'cover'
32
+ */
33
+ fit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
34
+ /**
35
+ * 是否懒加载
36
+ * Whether to lazy load
37
+ * @default true
38
+ */
39
+ lazy?: boolean;
40
+ /**
41
+ * 加载优先级
42
+ * Loading priority
43
+ * @default 'normal'
44
+ */
45
+ priority?: ImagePriority;
46
+ /**
47
+ * 文本回退(显示缩写)
48
+ * Text fallback (show initials)
49
+ */
50
+ text?: string;
51
+ /**
52
+ * 图标回退
53
+ * Icon fallback
54
+ */
55
+ icon?: string | Component;
56
+ /**
57
+ * 自定义背景颜色
58
+ * Custom background color
59
+ */
60
+ backgroundColor?: string;
61
+ /**
62
+ * 自定义样式
63
+ * Custom styles
64
+ */
65
+ style?: CSSProperties;
66
+ /**
67
+ * 自定义类名
68
+ * Custom class names
69
+ */
70
+ class?: any;
71
+ }
72
+ export interface AvatarGroupProps {
73
+ /**
74
+ * 头像尺寸
75
+ * Avatar size
76
+ * @default 'medium'
77
+ */
78
+ size?: AvatarSize;
79
+ /**
80
+ * 头像形状
81
+ * Avatar shape
82
+ * @default 'circle'
83
+ */
84
+ shape?: AvatarShape;
85
+ /**
86
+ * 最大展示数量
87
+ * Maximum number of avatars to show
88
+ */
89
+ maxCount?: number;
90
+ /**
91
+ * 重叠间距 (px)
92
+ * Overlap offset in pixels
93
+ * @default -12
94
+ */
95
+ offset?: number;
96
+ /**
97
+ * 自定义背景颜色(用于 "+N" 标识)
98
+ * Custom background color for the "+N" indicator
99
+ */
100
+ backgroundColor?: string;
101
+ /**
102
+ * 自定义样式
103
+ * Custom styles
104
+ */
105
+ style?: CSSProperties;
106
+ /**
107
+ * 自定义类名
108
+ * Custom class names
109
+ */
110
+ class?: any;
111
+ }
@@ -0,0 +1,25 @@
1
+ import { BadgeProps, BadgeSlots } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: Readonly<BadgeSlots> & BadgeSlots;
5
+ refs: {};
6
+ rootEl: HTMLDivElement;
7
+ };
8
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
+ declare const __VLS_component: import('vue').DefineComponent<BadgeProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
10
+ size: "sm" | "md" | "lg";
11
+ placement: import('./types').BadgePlacement;
12
+ type: import('./types').BadgeType;
13
+ hidden: boolean;
14
+ variant: import('./types').BadgeVariant;
15
+ dot: boolean;
16
+ max: number;
17
+ processing: boolean;
18
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
19
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
20
+ export default _default;
21
+ type __VLS_WithTemplateSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
@@ -0,0 +1,5 @@
1
+ import { Plugin } from 'vue';
2
+ import { default as Badge } from './Badge.vue';
3
+ export declare const LBadge: typeof Badge & Plugin;
4
+ export * from './types';
5
+ export default LBadge;
@@ -0,0 +1,2 @@
1
+ require('../style/badge.css');
2
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),v={class:"l-badge"},g=["aria-label"],b=t.defineComponent({name:"Badge",__name:"Badge",props:{value:{},max:{default:99},dot:{type:Boolean,default:!1},type:{default:"primary"},variant:{default:"solid"},placement:{default:"top-right"},offset:{},processing:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1},color:{},ariaLabel:{},size:{default:"md"}},setup(l){const e=l,u=t.useSlots(),o=t.computed(()=>e.dot?"":typeof e.value=="number"&&typeof e.max=="number"&&e.value>e.max?`${e.max}+`:e.value),d=t.computed(()=>typeof o.value=="number"&&o.value<10),f=t.computed(()=>{if(e.ariaLabel)return e.ariaLabel;if(e.dot)return"";if(e.value!==void 0)return typeof e.value=="number"?`${e.value} 条新消息`:String(e.value)}),m=t.computed(()=>["l-badge__content",`l-badge__content--${e.type}`,`l-badge__content--${e.variant}`,`l-badge__content--${e.size}`,`is-${e.placement}`,{"is-dot":e.dot,"is-processing":e.processing,"is-single-digit":d.value,"is-fixed":!!(e.value!==void 0||e.dot||u.value)}]),p=t.computed(()=>{const a={};if(e.color&&(a["--l-badge-bg"]=e.color),e.offset){const[n,i]=e.offset,s=typeof n=="number"?`${n}px`:n,r=typeof i=="number"?`${i}px`:i;e.placement==="top-right"?a.transform=`translate(calc(50% + ${s}), calc(-50% + ${r}))`:e.placement==="top-left"?a.transform=`translate(calc(-50% + ${s}), calc(-50% + ${r}))`:e.placement==="bottom-right"?a.transform=`translate(calc(50% + ${s}), calc(50% + ${r}))`:e.placement==="bottom-left"&&(a.transform=`translate(calc(-50% + ${s}), calc(50% + ${r}))`)}return a});return(a,n)=>(t.openBlock(),t.createElementBlock("div",v,[t.renderSlot(a.$slots,"default"),t.createVNode(t.Transition,{name:"l-zoom-in-center"},{default:t.withCtx(()=>[!l.hidden&&(o.value!==void 0||l.dot||a.$slots.value)?(t.openBlock(),t.createElementBlock("sup",{key:0,class:t.normalizeClass(m.value),style:t.normalizeStyle(p.value),"aria-label":f.value},[t.renderSlot(a.$slots,"value",{},()=>[t.createTextVNode(t.toDisplayString(o.value),1)])],14,g)):t.createCommentVNode("",!0)]),_:3})]))}}),c=b;c.install=l=>{l.component("LBadge",c)};exports.LBadge=c;exports.default=c;
@@ -0,0 +1,72 @@
1
+ import '../style/badge.css';
2
+ import { defineComponent as y, useSlots as $, computed as l, openBlock as c, createElementBlock as u, renderSlot as d, createVNode as _, Transition as x, withCtx as h, normalizeStyle as B, normalizeClass as S, createTextVNode as L, toDisplayString as V, createCommentVNode as z } from "vue";
3
+ const C = { class: "l-badge" }, k = ["aria-label"], N = /* @__PURE__ */ y({
4
+ name: "Badge",
5
+ __name: "Badge",
6
+ props: {
7
+ value: {},
8
+ max: { default: 99 },
9
+ dot: { type: Boolean, default: !1 },
10
+ type: { default: "primary" },
11
+ variant: { default: "solid" },
12
+ placement: { default: "top-right" },
13
+ offset: {},
14
+ processing: { type: Boolean, default: !1 },
15
+ hidden: { type: Boolean, default: !1 },
16
+ color: {},
17
+ ariaLabel: {},
18
+ size: { default: "md" }
19
+ },
20
+ setup(a) {
21
+ const e = a, m = $(), o = l(() => e.dot ? "" : typeof e.value == "number" && typeof e.max == "number" && e.value > e.max ? `${e.max}+` : e.value), p = l(() => typeof o.value == "number" && o.value < 10), v = l(() => {
22
+ if (e.ariaLabel) return e.ariaLabel;
23
+ if (e.dot) return "";
24
+ if (e.value !== void 0)
25
+ return typeof e.value == "number" ? `${e.value} 条新消息` : String(e.value);
26
+ }), g = l(() => [
27
+ "l-badge__content",
28
+ `l-badge__content--${e.type}`,
29
+ `l-badge__content--${e.variant}`,
30
+ `l-badge__content--${e.size}`,
31
+ `is-${e.placement}`,
32
+ {
33
+ "is-dot": e.dot,
34
+ "is-processing": e.processing,
35
+ "is-single-digit": p.value,
36
+ "is-fixed": !!(e.value !== void 0 || e.dot || m.value)
37
+ }
38
+ ]), b = l(() => {
39
+ const t = {};
40
+ if (e.color && (t["--l-badge-bg"] = e.color), e.offset) {
41
+ const [n, i] = e.offset, s = typeof n == "number" ? `${n}px` : n, r = typeof i == "number" ? `${i}px` : i;
42
+ e.placement === "top-right" ? t.transform = `translate(calc(50% + ${s}), calc(-50% + ${r}))` : e.placement === "top-left" ? t.transform = `translate(calc(-50% + ${s}), calc(-50% + ${r}))` : e.placement === "bottom-right" ? t.transform = `translate(calc(50% + ${s}), calc(50% + ${r}))` : e.placement === "bottom-left" && (t.transform = `translate(calc(-50% + ${s}), calc(50% + ${r}))`);
43
+ }
44
+ return t;
45
+ });
46
+ return (t, n) => (c(), u("div", C, [
47
+ d(t.$slots, "default"),
48
+ _(x, { name: "l-zoom-in-center" }, {
49
+ default: h(() => [
50
+ !a.hidden && (o.value !== void 0 || a.dot || t.$slots.value) ? (c(), u("sup", {
51
+ key: 0,
52
+ class: S(g.value),
53
+ style: B(b.value),
54
+ "aria-label": v.value
55
+ }, [
56
+ d(t.$slots, "value", {}, () => [
57
+ L(V(o.value), 1)
58
+ ])
59
+ ], 14, k)) : z("", !0)
60
+ ]),
61
+ _: 3
62
+ })
63
+ ]));
64
+ }
65
+ }), f = N;
66
+ f.install = (a) => {
67
+ a.component("LBadge", f);
68
+ };
69
+ export {
70
+ f as LBadge,
71
+ f as default
72
+ };
@@ -0,0 +1,86 @@
1
+ import { VNodeChild } from 'vue';
2
+ export type BadgeType = 'primary' | 'success' | 'warning' | 'danger' | 'info';
3
+ export type BadgeVariant = 'solid' | 'subtle' | 'outline';
4
+ export type BadgePlacement = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
5
+ export interface BadgeProps {
6
+ /**
7
+ * 显示的数值或文本
8
+ * Display value or text
9
+ */
10
+ value?: string | number;
11
+ /**
12
+ * 最大显示值,超过则显示为 {max}+
13
+ * Maximum value, displays as {max}+ if exceeded
14
+ * @default 99
15
+ */
16
+ max?: number;
17
+ /**
18
+ * 是否显示为小圆点
19
+ * Whether to display as a dot
20
+ * @default false
21
+ */
22
+ dot?: boolean;
23
+ /**
24
+ * 语义类型
25
+ * Semantic type
26
+ * @default 'primary'
27
+ */
28
+ type?: BadgeType;
29
+ /**
30
+ * 视觉变体
31
+ * Visual variant
32
+ * @default 'solid'
33
+ */
34
+ variant?: BadgeVariant;
35
+ /**
36
+ * 位置
37
+ * Placement
38
+ * @default 'top-right'
39
+ */
40
+ placement?: BadgePlacement;
41
+ /**
42
+ * 自定义偏移量 [x, y]
43
+ * Custom offset [x, y]
44
+ */
45
+ offset?: [number | string, number | string];
46
+ /**
47
+ * 是否显示处理中动画(脉冲)
48
+ * Whether to show processing animation (pulse)
49
+ * @default false
50
+ */
51
+ processing?: boolean;
52
+ /**
53
+ * 是否隐藏
54
+ * Whether to hide
55
+ * @default false
56
+ */
57
+ hidden?: boolean;
58
+ /**
59
+ * 自定义颜色
60
+ * Custom color
61
+ */
62
+ color?: string;
63
+ /**
64
+ * 自定义无障碍标签
65
+ * Custom accessibility label
66
+ */
67
+ ariaLabel?: string;
68
+ /**
69
+ * 尺寸
70
+ * Size
71
+ * @default 'lg'
72
+ */
73
+ size?: 'sm' | 'md' | 'lg';
74
+ }
75
+ export interface BadgeSlots {
76
+ /**
77
+ * 徽标包裹的元素
78
+ * Element to be badged
79
+ */
80
+ default?(): VNodeChild;
81
+ /**
82
+ * 自定义内容
83
+ * Custom content
84
+ */
85
+ value?(): VNodeChild;
86
+ }
@@ -0,0 +1,38 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: HTMLElement;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
11
+ readonly separator: {
12
+ readonly type: StringConstructor;
13
+ readonly default: "/";
14
+ };
15
+ readonly size: {
16
+ readonly type: import('vue').PropType<"sm" | "md" | "lg">;
17
+ readonly default: "md";
18
+ };
19
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
20
+ readonly separator: {
21
+ readonly type: StringConstructor;
22
+ readonly default: "/";
23
+ };
24
+ readonly size: {
25
+ readonly type: import('vue').PropType<"sm" | "md" | "lg">;
26
+ readonly default: "md";
27
+ };
28
+ }>> & Readonly<{}>, {
29
+ readonly size: "sm" | "md" | "lg";
30
+ readonly separator: string;
31
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLElement>;
32
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };