vome-core 0.3.65 → 0.3.67

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 (342) hide show
  1. package/dist/admin/api/client.js +7 -2
  2. package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
  3. package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
  4. package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
  5. package/dist/admin/components/ui/avatar/index.js +1 -1
  6. package/dist/admin/components/ui/badge/Badge.vue +26 -26
  7. package/dist/admin/components/ui/button/Button.vue +31 -31
  8. package/dist/admin/components/ui/checkbox/Checkbox.vue +35 -35
  9. package/dist/admin/components/ui/checkbox/index.js +1 -1
  10. package/dist/admin/components/ui/dialog/Dialog.vue +19 -19
  11. package/dist/admin/components/ui/dialog/DialogClose.vue +15 -15
  12. package/dist/admin/components/ui/dialog/DialogContent.vue +267 -267
  13. package/dist/admin/components/ui/dialog/DialogDescription.vue +23 -23
  14. package/dist/admin/components/ui/dialog/DialogFooter.vue +27 -27
  15. package/dist/admin/components/ui/dialog/DialogHeader.vue +17 -17
  16. package/dist/admin/components/ui/dialog/DialogOverlay.vue +21 -21
  17. package/dist/admin/components/ui/dialog/DialogScrollContent.vue +60 -60
  18. package/dist/admin/components/ui/dialog/DialogTitle.vue +23 -23
  19. package/dist/admin/components/ui/dialog/DialogTrigger.vue +15 -15
  20. package/dist/admin/components/ui/dialog/index.js +1 -1
  21. package/dist/admin/components/ui/dropdown-menu/DropdownMenu.vue +19 -19
  22. package/dist/admin/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -39
  23. package/dist/admin/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -39
  24. package/dist/admin/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -15
  25. package/dist/admin/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -31
  26. package/dist/admin/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -23
  27. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -21
  28. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -40
  29. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -23
  30. package/dist/admin/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -17
  31. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -18
  32. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -27
  33. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -31
  34. package/dist/admin/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -17
  35. package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
  36. package/dist/admin/components/ui/input/Input.vue +183 -183
  37. package/dist/admin/components/ui/input/index.js +1 -1
  38. package/dist/admin/components/ui/label/Label.vue +26 -26
  39. package/dist/admin/components/ui/label/index.js +1 -1
  40. package/dist/admin/components/ui/scroll-area/ScrollArea.vue +33 -33
  41. package/dist/admin/components/ui/scroll-area/ScrollBar.vue +32 -32
  42. package/dist/admin/components/ui/scroll-area/index.js +1 -1
  43. package/dist/admin/components/ui/select/Select.vue +19 -19
  44. package/dist/admin/components/ui/select/SelectContent.vue +51 -51
  45. package/dist/admin/components/ui/select/SelectGroup.vue +15 -15
  46. package/dist/admin/components/ui/select/SelectItem.vue +53 -53
  47. package/dist/admin/components/ui/select/SelectItemText.vue +15 -15
  48. package/dist/admin/components/ui/select/SelectLabel.vue +17 -17
  49. package/dist/admin/components/ui/select/SelectScrollDownButton.vue +26 -26
  50. package/dist/admin/components/ui/select/SelectScrollUpButton.vue +26 -26
  51. package/dist/admin/components/ui/select/SelectSeparator.vue +19 -19
  52. package/dist/admin/components/ui/select/SelectTrigger.vue +44 -44
  53. package/dist/admin/components/ui/select/SelectValue.vue +15 -15
  54. package/dist/admin/components/ui/select/index.js +1 -1
  55. package/dist/admin/components/ui/separator/Separator.vue +29 -29
  56. package/dist/admin/components/ui/separator/index.js +1 -1
  57. package/dist/admin/components/ui/sheet/Sheet.vue +19 -19
  58. package/dist/admin/components/ui/sheet/SheetClose.vue +15 -15
  59. package/dist/admin/components/ui/sheet/SheetContent.vue +63 -63
  60. package/dist/admin/components/ui/sheet/SheetDescription.vue +21 -21
  61. package/dist/admin/components/ui/sheet/SheetFooter.vue +16 -16
  62. package/dist/admin/components/ui/sheet/SheetHeader.vue +15 -15
  63. package/dist/admin/components/ui/sheet/SheetOverlay.vue +21 -21
  64. package/dist/admin/components/ui/sheet/SheetTitle.vue +21 -21
  65. package/dist/admin/components/ui/sheet/SheetTrigger.vue +15 -15
  66. package/dist/admin/components/ui/sheet/index.js +1 -1
  67. package/dist/admin/components/ui/sonner/Toaster.vue +117 -117
  68. package/dist/admin/components/ui/sonner/index.js +1 -1
  69. package/dist/admin/components/ui/table/Table.vue +16 -16
  70. package/dist/admin/components/ui/table/TableBody.vue +17 -17
  71. package/dist/admin/components/ui/table/TableCaption.vue +17 -17
  72. package/dist/admin/components/ui/table/TableCell.vue +22 -22
  73. package/dist/admin/components/ui/table/TableEmpty.vue +34 -34
  74. package/dist/admin/components/ui/table/TableFooter.vue +17 -17
  75. package/dist/admin/components/ui/table/TableHead.vue +17 -17
  76. package/dist/admin/components/ui/table/TableHeader.vue +17 -17
  77. package/dist/admin/components/ui/table/TableRow.vue +17 -17
  78. package/dist/admin/components/ui/table/index.js +1 -1
  79. package/dist/admin/components/ui/tabs/Tabs.vue +24 -24
  80. package/dist/admin/components/ui/tabs/TabsContent.vue +21 -21
  81. package/dist/admin/components/ui/tabs/TabsList.vue +24 -24
  82. package/dist/admin/components/ui/tabs/TabsTrigger.vue +26 -26
  83. package/dist/admin/components/ui/tabs/index.js +1 -1
  84. package/dist/admin/components/ui/tooltip/Tooltip.vue +19 -19
  85. package/dist/admin/components/ui/tooltip/TooltipContent.vue +34 -34
  86. package/dist/admin/components/ui/tooltip/TooltipProvider.vue +14 -14
  87. package/dist/admin/components/ui/tooltip/TooltipTrigger.vue +15 -15
  88. package/dist/admin/components/ui/tooltip/index.js +1 -1
  89. package/dist/admin/components/vm-action-btn.vue +136 -136
  90. package/dist/admin/components/vm-aside-list-item.vue +136 -136
  91. package/dist/admin/components/vm-aside.vue +229 -229
  92. package/dist/admin/components/vm-auto-perm-dialog.vue +371 -371
  93. package/dist/admin/components/vm-card-grid.vue +37 -37
  94. package/dist/admin/components/vm-card-head.vue +45 -45
  95. package/dist/admin/components/vm-card-meta.vue +22 -22
  96. package/dist/admin/components/vm-card-title.vue +56 -56
  97. package/dist/admin/components/vm-card.vue +176 -176
  98. package/dist/admin/components/vm-check-tree.vue +340 -340
  99. package/dist/admin/components/vm-clamp-text.vue +39 -39
  100. package/dist/admin/components/vm-dept-tree.vue +497 -497
  101. package/dist/admin/components/vm-empty.vue +68 -68
  102. package/dist/admin/components/vm-eps-perm-picker.vue +123 -123
  103. package/dist/admin/components/vm-form-dialog.vue +632 -632
  104. package/dist/admin/components/vm-group-cascader.vue +560 -560
  105. package/dist/admin/components/vm-icon-btn.vue +88 -88
  106. package/dist/admin/components/vm-icon-picker.vue +647 -647
  107. package/dist/admin/components/vm-inline-search.vue +61 -61
  108. package/dist/admin/components/vm-loading.vue +114 -114
  109. package/dist/admin/components/vm-markdown.vue +405 -405
  110. package/dist/admin/components/vm-marquee.vue +265 -265
  111. package/dist/admin/components/vm-page-tabs.vue +94 -94
  112. package/dist/admin/components/vm-perm-section.vue +57 -57
  113. package/dist/admin/components/vm-ri-icon.vue +23 -23
  114. package/dist/admin/components/vm-role-picker.vue +314 -314
  115. package/dist/admin/components/vm-split-layout.vue +106 -106
  116. package/dist/admin/components/vm-thumb.vue +49 -49
  117. package/dist/admin/components/vm-view-path-picker.vue +59 -59
  118. package/dist/admin/crud/auto-fields.js +1 -1
  119. package/dist/admin/crud/components/vm-avatar.vue +104 -104
  120. package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
  121. package/dist/admin/crud/components/vm-column-custom.vue +193 -193
  122. package/dist/admin/crud/components/vm-context-menu.vue +105 -105
  123. package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
  124. package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
  125. package/dist/admin/crud/components/vm-date-picker.vue +75 -75
  126. package/dist/admin/crud/components/vm-date-range.vue +88 -88
  127. package/dist/admin/crud/components/vm-date-text.vue +42 -42
  128. package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
  129. package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
  130. package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
  131. package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
  132. package/dist/admin/crud/components/vm-form-hint.vue +81 -81
  133. package/dist/admin/crud/components/vm-json-code.vue +41 -41
  134. package/dist/admin/crud/components/vm-json-editor.vue +161 -161
  135. package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
  136. package/dist/admin/crud/components/vm-kv-row.vue +51 -51
  137. package/dist/admin/crud/components/vm-multi-select.vue +279 -279
  138. package/dist/admin/crud/components/vm-number-range.vue +204 -204
  139. package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
  140. package/dist/admin/crud/components/vm-radio.vue +87 -87
  141. package/dist/admin/crud/components/vm-richtext.vue +313 -313
  142. package/dist/admin/crud/components/vm-select.vue +570 -570
  143. package/dist/admin/crud/components/vm-status-tag.vue +158 -158
  144. package/dist/admin/crud/components/vm-switch.vue +158 -158
  145. package/dist/admin/crud/components/vm-tag-list.vue +108 -108
  146. package/dist/admin/crud/components/vm-text-link.vue +52 -52
  147. package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
  148. package/dist/admin/crud/components/vm-tree-select.vue +450 -450
  149. package/dist/admin/crud/components/vm-upload-item.vue +298 -298
  150. package/dist/admin/crud/components/vm-upload.vue +436 -436
  151. package/dist/admin/crud/config.js +1 -1
  152. package/dist/admin/crud/confirm.js +1 -1
  153. package/dist/admin/crud/crud-page-request.js +1 -1
  154. package/dist/admin/crud/data-i18n.js +1 -1
  155. package/dist/admin/crud/dict.js +1 -1
  156. package/dist/admin/crud/export-fetch.js +1 -1
  157. package/dist/admin/crud/index.js +1 -0
  158. package/dist/admin/crud/key.js +1 -1
  159. package/dist/admin/crud/plugins.js +1 -1
  160. package/dist/admin/crud/span.js +1 -1
  161. package/dist/admin/crud/style.js +1 -1
  162. package/dist/admin/crud/useCrud.js +3 -0
  163. package/dist/admin/crud/validate.js +1 -1
  164. package/dist/admin/crud/vm-add-btn.vue +70 -70
  165. package/dist/admin/crud/vm-adv-search.vue +83 -83
  166. package/dist/admin/crud/vm-crud.vue +711 -711
  167. package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
  168. package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
  169. package/dist/admin/crud/vm-export-btn.vue +183 -183
  170. package/dist/admin/crud/vm-flex.vue +14 -14
  171. package/dist/admin/crud/vm-form.vue +33 -15
  172. package/dist/admin/crud/vm-import-btn.vue +747 -747
  173. package/dist/admin/crud/vm-multi-delete-btn.vue +49 -49
  174. package/dist/admin/crud/vm-pagination.vue +212 -212
  175. package/dist/admin/crud/vm-refresh-btn.vue +35 -35
  176. package/dist/admin/crud/vm-row.vue +55 -55
  177. package/dist/admin/crud/vm-search-key.vue +78 -78
  178. package/dist/admin/crud/vm-search.vue +466 -466
  179. package/dist/admin/crud/vm-table.vue +1390 -1390
  180. package/dist/admin/crud/vm-tabs.vue +94 -94
  181. package/dist/admin/crud/vm-toolbar.vue +357 -357
  182. package/dist/admin/crud/vm-upsert.vue +765 -765
  183. package/dist/admin/directives/perm.js +1 -1
  184. package/dist/admin/env.d.ts +1 -1
  185. package/dist/admin/hooks/useUpload.js +1 -1
  186. package/dist/admin/index.d.ts +1 -31
  187. package/dist/admin/lib/browser.js +1 -1
  188. package/dist/admin/lib/cn.js +1 -1
  189. package/dist/admin/lib/dialog-float.js +1 -1
  190. package/dist/admin/lib/export-excel.js +1 -1
  191. package/dist/admin/lib/import-excel.js +1 -1
  192. package/dist/admin/lib/json.js +1 -1
  193. package/dist/admin/lib/menu.js +1 -1
  194. package/dist/admin/lib/micro-locale.js +1 -1
  195. package/dist/admin/lib/micro-theme.js +1 -1
  196. package/dist/admin/lib/shell.js +1 -1
  197. package/dist/admin/lib/theme-color-options.js +1 -1
  198. package/dist/admin/lib/tree.js +1 -1
  199. package/dist/admin/lib/upload.js +1 -1
  200. package/dist/admin/lib/video-frame.js +1 -1
  201. package/dist/admin/router/create.js +1 -1
  202. package/dist/admin/router/guards.js +1 -1
  203. package/dist/admin/router/index.d.ts +1 -5
  204. package/dist/admin/service/index.d.ts +1 -11
  205. package/dist/admin/styles/base.css +121 -121
  206. package/dist/admin/vendor/browser-image-compression.js +1144 -1144
  207. package/dist/admin/vendor/decimal-js.js +12 -12
  208. package/dist/admin/vendor/xlsx.js +263 -263
  209. package/dist/ai/index.js +1 -1
  210. package/dist/client/admin-vendor.d.ts +1 -13
  211. package/dist/client/ai-model-registry.js +1 -1
  212. package/dist/client/base.js +1 -1
  213. package/dist/client/configure.js +1 -1
  214. package/dist/client/dict.js +1 -1
  215. package/dist/client/eps-payload.js +1 -1
  216. package/dist/client/eps.js +1 -1
  217. package/dist/client/index.d.ts +1 -7
  218. package/dist/client/index.js +1 -1
  219. package/dist/client/locale-change.js +1 -1
  220. package/dist/client/locale-store.js +1 -1
  221. package/dist/client/service.js +1 -1
  222. package/dist/client/vite-admin.d.ts +1 -40
  223. package/dist/client/vite-admin.js +1 -1
  224. package/dist/client/vite-auto-import.d.ts +1 -2
  225. package/dist/client/vite-auto-import.js +1 -1
  226. package/dist/client/vite-micro-proxy.d.ts +1 -20
  227. package/dist/client/vite-micro-proxy.js +1 -1
  228. package/dist/client/vite-plugin-eps.d.ts +1 -20
  229. package/dist/client/vite-plugin-eps.js +1 -1
  230. package/dist/client/vite-resolve.d.ts +1 -16
  231. package/dist/client/vite-resolve.js +1 -1
  232. package/dist/config/index.js +1 -1
  233. package/dist/index.js +1 -1
  234. package/dist/server/index.js +1 -1
  235. package/dist/shared/datetime-picker.js +1 -1
  236. package/dist/shared/decimal.js +1 -1
  237. package/dist/shared/excel.js +1 -1
  238. package/dist/shared/index.js +1 -1
  239. package/dist/shared/locale-json.js +1 -1
  240. package/dist/shared/tree.js +1 -1
  241. package/package.json +1 -1
  242. package/typings/admin/base/auth.ts +24 -24
  243. package/typings/admin/base/permission.ts +19 -19
  244. package/typings/admin/comm/cascader.ts +7 -7
  245. package/typings/admin/comm/check-tree.ts +7 -7
  246. package/typings/admin/comm/crud.ts +427 -427
  247. package/typings/admin/comm/eps.ts +86 -86
  248. package/typings/admin/comm/request.ts +16 -16
  249. package/typings/admin/comm/service.ts +43 -43
  250. package/typings/admin/comm/upload.ts +39 -39
  251. package/typings/admin/theme.ts +10 -10
  252. package/typings/admin/vome/browser.ts +11 -11
  253. package/typings/admin/vome/module.ts +13 -13
  254. package/typings/admin/vome/tags.ts +9 -9
  255. package/typings/comm/crud.ts +83 -83
  256. package/typings/comm/page.ts +18 -18
  257. package/typings/comm/scan.ts +6 -6
  258. package/typings/common.ts +4 -4
  259. package/typings/context/data.ts +10 -10
  260. package/typings/ext/market-seat.ts +42 -42
  261. package/typings/ext/market.ts +55 -55
  262. package/typings/ext/module.ts +64 -64
  263. package/typings/ext/plugin.ts +38 -38
  264. package/typings/ioc/metadata.ts +34 -34
  265. package/typings/logger/config.ts +6 -6
  266. package/typings/routing/crud.ts +199 -199
  267. package/typings/routing/eps.ts +88 -88
  268. package/typings/routing/meta.ts +63 -63
  269. package/typings/routing/register.ts +21 -21
  270. package/typings/routing/scan-context.ts +7 -7
  271. package/dist/admin/api/client.d.ts +0 -50
  272. package/dist/admin/components/ui/avatar/index.d.ts +0 -3
  273. package/dist/admin/components/ui/badge/index.d.ts +0 -6
  274. package/dist/admin/components/ui/button/index.d.ts +0 -7
  275. package/dist/admin/components/ui/checkbox/index.d.ts +0 -1
  276. package/dist/admin/components/ui/dialog/index.d.ts +0 -10
  277. package/dist/admin/components/ui/dropdown-menu/index.d.ts +0 -15
  278. package/dist/admin/components/ui/input/index.d.ts +0 -1
  279. package/dist/admin/components/ui/label/index.d.ts +0 -1
  280. package/dist/admin/components/ui/scroll-area/index.d.ts +0 -2
  281. package/dist/admin/components/ui/select/index.d.ts +0 -11
  282. package/dist/admin/components/ui/separator/index.d.ts +0 -1
  283. package/dist/admin/components/ui/sheet/index.d.ts +0 -8
  284. package/dist/admin/components/ui/sonner/index.d.ts +0 -1
  285. package/dist/admin/components/ui/table/index.d.ts +0 -9
  286. package/dist/admin/components/ui/tabs/index.d.ts +0 -4
  287. package/dist/admin/components/ui/tooltip/index.d.ts +0 -4
  288. package/dist/admin/crud/auto-fields.d.ts +0 -68
  289. package/dist/admin/crud/config.d.ts +0 -5
  290. package/dist/admin/crud/confirm.d.ts +0 -19
  291. package/dist/admin/crud/crud-page-request.d.ts +0 -21
  292. package/dist/admin/crud/data-i18n.d.ts +0 -62
  293. package/dist/admin/crud/dict.d.ts +0 -4
  294. package/dist/admin/crud/export-fetch.d.ts +0 -22
  295. package/dist/admin/crud/index.d.ts +0 -60
  296. package/dist/admin/crud/json-kv.d.ts +0 -9
  297. package/dist/admin/crud/key.d.ts +0 -22
  298. package/dist/admin/crud/paging.d.ts +0 -2
  299. package/dist/admin/crud/plugins.d.ts +0 -63
  300. package/dist/admin/crud/registry.d.ts +0 -3
  301. package/dist/admin/crud/span.d.ts +0 -17
  302. package/dist/admin/crud/style.d.ts +0 -82
  303. package/dist/admin/crud/useCrud.d.ts +0 -21
  304. package/dist/admin/crud/validate.d.ts +0 -7
  305. package/dist/admin/directives/perm.d.ts +0 -3
  306. package/dist/admin/hooks/useBrowser.d.ts +0 -6
  307. package/dist/admin/hooks/useUpload.d.ts +0 -8
  308. package/dist/admin/hooks/useVome.d.ts +0 -10
  309. package/dist/admin/lib/browser.d.ts +0 -3
  310. package/dist/admin/lib/cn.d.ts +0 -2
  311. package/dist/admin/lib/compress-image.d.ts +0 -12
  312. package/dist/admin/lib/dialog-float.d.ts +0 -8
  313. package/dist/admin/lib/eps.d.ts +0 -2
  314. package/dist/admin/lib/export-excel.d.ts +0 -9
  315. package/dist/admin/lib/file-preview.d.ts +0 -9
  316. package/dist/admin/lib/import-excel.d.ts +0 -21
  317. package/dist/admin/lib/json.d.ts +0 -11
  318. package/dist/admin/lib/menu.d.ts +0 -3
  319. package/dist/admin/lib/micro-locale.d.ts +0 -5
  320. package/dist/admin/lib/micro-theme.d.ts +0 -14
  321. package/dist/admin/lib/module.d.ts +0 -21
  322. package/dist/admin/lib/scarce-assets.d.ts +0 -5
  323. package/dist/admin/lib/shell.d.ts +0 -8
  324. package/dist/admin/lib/theme-color-options.d.ts +0 -15
  325. package/dist/admin/lib/tree.d.ts +0 -2
  326. package/dist/admin/lib/upload.d.ts +0 -17
  327. package/dist/admin/lib/video-frame.d.ts +0 -6
  328. package/dist/admin/router/create.d.ts +0 -16
  329. package/dist/admin/router/guards.d.ts +0 -6
  330. package/dist/admin/router/menu-routes.d.ts +0 -13
  331. package/dist/admin/stores/app.d.ts +0 -13
  332. package/dist/admin/stores/tags.d.ts +0 -14
  333. package/dist/admin/stores/user.d.ts +0 -48
  334. package/dist/client/ai-model-registry.d.ts +0 -16
  335. package/dist/client/base.d.ts +0 -28
  336. package/dist/client/configure.d.ts +0 -33
  337. package/dist/client/dict.d.ts +0 -31
  338. package/dist/client/eps-payload.d.ts +0 -3
  339. package/dist/client/eps.d.ts +0 -17
  340. package/dist/client/locale-change.d.ts +0 -16
  341. package/dist/client/locale-store.d.ts +0 -105
  342. package/dist/client/service.d.ts +0 -29
@@ -1,117 +1,117 @@
1
- <script lang="ts" setup>
2
- import type { ToasterProps } from 'vue-sonner'
3
- import { Toaster as Sonner } from 'vue-sonner'
4
- import {
5
- CircleCheckIcon,
6
- InfoIcon,
7
- Loader2Icon,
8
- OctagonXIcon,
9
- TriangleAlertIcon,
10
- } from '@lucide/vue'
11
- import { cn } from '../../../lib/cn'
12
- /** 必须引入,否则定位/色底样式全丢 */
13
- import 'vue-sonner/style.css'
14
-
15
- defineOptions({ name: 'Toaster' })
16
-
17
- const props = withDefaults(defineProps<ToasterProps>(), {
18
- theme: 'system',
19
- richColors: true,
20
- closeButton: false,
21
- position: 'top-center',
22
- duration: 2500,
23
- })
24
- </script>
25
-
26
- <template>
27
- <Sonner
28
- :class="cn('toaster group vm-toaster', props.class)"
29
- :style="{
30
- '--normal-bg': 'var(--popover)',
31
- '--normal-text': 'var(--popover-foreground)',
32
- '--normal-border': 'color-mix(in srgb, var(--border) 55%, transparent)',
33
- '--border-radius': 'var(--vm-control-radius)',
34
- '--success-bg': 'var(--success-soft)',
35
- '--success-border': 'color-mix(in srgb, var(--success) 22%, transparent)',
36
- '--success-text': 'var(--success)',
37
- '--error-bg': 'var(--danger-soft)',
38
- '--error-border': 'color-mix(in srgb, var(--destructive) 22%, transparent)',
39
- '--error-text': 'var(--destructive)',
40
- '--warning-bg': 'var(--warning-soft)',
41
- '--warning-border': 'color-mix(in srgb, var(--warning) 22%, transparent)',
42
- '--warning-text': 'var(--warning)',
43
- '--info-bg': 'var(--brand-soft)',
44
- '--info-border': 'color-mix(in srgb, var(--brand) 22%, transparent)',
45
- '--info-text': 'var(--brand)',
46
- }"
47
- v-bind="props"
48
- >
49
- <template #success-icon>
50
- <CircleCheckIcon class="size-4" />
51
- </template>
52
- <template #info-icon>
53
- <InfoIcon class="size-4" />
54
- </template>
55
- <template #warning-icon>
56
- <TriangleAlertIcon class="size-4" />
57
- </template>
58
- <template #error-icon>
59
- <OctagonXIcon class="size-4" />
60
- </template>
61
- <template #loading-icon>
62
- <div>
63
- <Loader2Icon class="size-4 animate-spin" />
64
- </div>
65
- </template>
66
- </Sonner>
67
- </template>
68
-
69
- <style lang="scss">
70
- /* 跟消息自适应宽度;圆角与按钮一致;淡描边;图标与文案间距收紧
71
- * sonner 内联 --width:356px,必须用 !important 覆盖 */
72
- .vm-toaster[data-sonner-toaster] {
73
- --toast-icon-margin-end: 0px;
74
- --toast-svg-margin-end: 0px;
75
- width: max-content !important;
76
- max-width: min(400px, 100vw - 32px) !important;
77
-
78
- /* 中上方:略低于贴顶默认值 */
79
- &[data-y-position='top'] {
80
- top: min(120px, 18vh) !important;
81
- }
82
-
83
- [data-sonner-toast] {
84
- width: max-content !important;
85
- max-width: min(400px, 100vw - 32px) !important;
86
- min-width: 0;
87
- min-height: 40px;
88
- height: auto !important;
89
- padding: 10px 14px;
90
- gap: 6px;
91
- font-size: 14px;
92
- font-weight: 500;
93
- border-width: 1px;
94
- border-style: solid;
95
- border-radius: var(--vm-control-radius) !important;
96
- box-shadow: var(--shadow-soft, 0 4px 12px rgb(0 0 0 / 8%));
97
- }
98
-
99
- [data-content] {
100
- max-width: 100%;
101
- }
102
-
103
- [data-title],
104
- [data-description] {
105
- white-space: normal;
106
- word-break: break-word;
107
- overflow-wrap: anywhere;
108
- }
109
-
110
- [data-icon] {
111
- width: 1.125rem;
112
- height: 1.125rem;
113
- margin: 0 !important;
114
- flex-shrink: 0;
115
- }
116
- }
117
- </style>
1
+ <script lang="ts" setup>
2
+ import type { ToasterProps } from 'vue-sonner'
3
+ import { Toaster as Sonner } from 'vue-sonner'
4
+ import {
5
+ CircleCheckIcon,
6
+ InfoIcon,
7
+ Loader2Icon,
8
+ OctagonXIcon,
9
+ TriangleAlertIcon,
10
+ } from '@lucide/vue'
11
+ import { cn } from '../../../lib/cn'
12
+ /** 必须引入,否则定位/色底样式全丢 */
13
+ import 'vue-sonner/style.css'
14
+
15
+ defineOptions({ name: 'Toaster' })
16
+
17
+ const props = withDefaults(defineProps<ToasterProps>(), {
18
+ theme: 'system',
19
+ richColors: true,
20
+ closeButton: false,
21
+ position: 'top-center',
22
+ duration: 2500,
23
+ })
24
+ </script>
25
+
26
+ <template>
27
+ <Sonner
28
+ :class="cn('toaster group vm-toaster', props.class)"
29
+ :style="{
30
+ '--normal-bg': 'var(--popover)',
31
+ '--normal-text': 'var(--popover-foreground)',
32
+ '--normal-border': 'color-mix(in srgb, var(--border) 55%, transparent)',
33
+ '--border-radius': 'var(--vm-control-radius)',
34
+ '--success-bg': 'var(--success-soft)',
35
+ '--success-border': 'color-mix(in srgb, var(--success) 22%, transparent)',
36
+ '--success-text': 'var(--success)',
37
+ '--error-bg': 'var(--danger-soft)',
38
+ '--error-border': 'color-mix(in srgb, var(--destructive) 22%, transparent)',
39
+ '--error-text': 'var(--destructive)',
40
+ '--warning-bg': 'var(--warning-soft)',
41
+ '--warning-border': 'color-mix(in srgb, var(--warning) 22%, transparent)',
42
+ '--warning-text': 'var(--warning)',
43
+ '--info-bg': 'var(--brand-soft)',
44
+ '--info-border': 'color-mix(in srgb, var(--brand) 22%, transparent)',
45
+ '--info-text': 'var(--brand)',
46
+ }"
47
+ v-bind="props"
48
+ >
49
+ <template #success-icon>
50
+ <CircleCheckIcon class="size-4" />
51
+ </template>
52
+ <template #info-icon>
53
+ <InfoIcon class="size-4" />
54
+ </template>
55
+ <template #warning-icon>
56
+ <TriangleAlertIcon class="size-4" />
57
+ </template>
58
+ <template #error-icon>
59
+ <OctagonXIcon class="size-4" />
60
+ </template>
61
+ <template #loading-icon>
62
+ <div>
63
+ <Loader2Icon class="size-4 animate-spin" />
64
+ </div>
65
+ </template>
66
+ </Sonner>
67
+ </template>
68
+
69
+ <style lang="scss">
70
+ /* 跟消息自适应宽度;圆角与按钮一致;淡描边;图标与文案间距收紧
71
+ * sonner 内联 --width:356px,必须用 !important 覆盖 */
72
+ .vm-toaster[data-sonner-toaster] {
73
+ --toast-icon-margin-end: 0px;
74
+ --toast-svg-margin-end: 0px;
75
+ width: max-content !important;
76
+ max-width: min(400px, 100vw - 32px) !important;
77
+
78
+ /* 中上方:略低于贴顶默认值 */
79
+ &[data-y-position='top'] {
80
+ top: min(120px, 18vh) !important;
81
+ }
82
+
83
+ [data-sonner-toast] {
84
+ width: max-content !important;
85
+ max-width: min(400px, 100vw - 32px) !important;
86
+ min-width: 0;
87
+ min-height: 40px;
88
+ height: auto !important;
89
+ padding: 10px 14px;
90
+ gap: 6px;
91
+ font-size: 14px;
92
+ font-weight: 500;
93
+ border-width: 1px;
94
+ border-style: solid;
95
+ border-radius: var(--vm-control-radius) !important;
96
+ box-shadow: var(--shadow-soft, 0 4px 12px rgb(0 0 0 / 8%));
97
+ }
98
+
99
+ [data-content] {
100
+ max-width: 100%;
101
+ }
102
+
103
+ [data-title],
104
+ [data-description] {
105
+ white-space: normal;
106
+ word-break: break-word;
107
+ overflow-wrap: anywhere;
108
+ }
109
+
110
+ [data-icon] {
111
+ width: 1.125rem;
112
+ height: 1.125rem;
113
+ margin: 0 !important;
114
+ flex-shrink: 0;
115
+ }
116
+ }
117
+ </style>
@@ -1 +1 @@
1
- (function(_0x536be2,_0x20de51){var _0x251e6d=_0x1256,_0xa0291=_0x536be2();while(!![]){try{var _0x4392d1=parseInt(_0x251e6d(0x9a))/0x1*(-parseInt(_0x251e6d(0x93))/0x2)+-parseInt(_0x251e6d(0x9e))/0x3*(-parseInt(_0x251e6d(0x95))/0x4)+-parseInt(_0x251e6d(0x9d))/0x5+parseInt(_0x251e6d(0x98))/0x6*(parseInt(_0x251e6d(0x96))/0x7)+parseInt(_0x251e6d(0x9b))/0x8*(parseInt(_0x251e6d(0x97))/0x9)+parseInt(_0x251e6d(0x9c))/0xa*(parseInt(_0x251e6d(0x99))/0xb)+-parseInt(_0x251e6d(0x94))/0xc;if(_0x4392d1===_0x20de51)break;else _0xa0291['push'](_0xa0291['shift']());}catch(_0x357039){_0xa0291['push'](_0xa0291['shift']());}}}(_0x19f3,0x438b3));export{default as Toaster}from'./Toaster.vue';function _0x1256(_0x45b157,_0x410ef6){_0x45b157=_0x45b157-0x93;var _0x19f36e=_0x19f3();var _0x12564f=_0x19f36e[_0x45b157];if(_0x1256['yofvQG']===undefined){var _0x3ffa9e=function(_0xa1072){var _0x2036f3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x12ba29='',_0x19b365='';for(var _0x3bd455=0x0,_0x227a1f,_0x4c9104,_0x5b76d3=0x0;_0x4c9104=_0xa1072['charAt'](_0x5b76d3++);~_0x4c9104&&(_0x227a1f=_0x3bd455%0x4?_0x227a1f*0x40+_0x4c9104:_0x4c9104,_0x3bd455++%0x4)?_0x12ba29+=String['fromCharCode'](0xff&_0x227a1f>>(-0x2*_0x3bd455&0x6)):0x0){_0x4c9104=_0x2036f3['indexOf'](_0x4c9104);}for(var _0x480818=0x0,_0x32af5a=_0x12ba29['length'];_0x480818<_0x32af5a;_0x480818++){_0x19b365+='%'+('00'+_0x12ba29['charCodeAt'](_0x480818)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19b365);};_0x1256['dNTBPX']=_0x3ffa9e,_0x1256['fYkqij']={},_0x1256['yofvQG']=!![];}var _0x3244bc=_0x19f36e[0x0],_0x2246c4=_0x45b157+_0x3244bc,_0x5209ca=_0x1256['fYkqij'][_0x2246c4];return!_0x5209ca?(_0x12564f=_0x1256['dNTBPX'](_0x12564f),_0x1256['fYkqij'][_0x2246c4]=_0x12564f):_0x12564f=_0x5209ca,_0x12564f;}function _0x19f3(){var _0x514609=['mZbyrhLfvuS','nZy2nJaWs1LfBw92','ndiYnJKXqM9MqNPv','nteWmZm4Ag1KBvbV','nJK3nJG3mNnkzKHrEq','nhD6Au5jvW','mte3mJK2mNjKBhzqwa','ndu3mJe4oxntwLD5vW','mtj1zhfKBNa','mtaZntG0oejZuMHdvq','mxjTu3rtra','ofHvzezdvq'];_0x19f3=function(){return _0x514609;};return _0x19f3();}
1
+ function _0x4342(_0x399e9c,_0x5d0e93){_0x399e9c=_0x399e9c-0x19d;var _0x16288c=_0x1628();var _0x4342d6=_0x16288c[_0x399e9c];if(_0x4342['iZXQmv']===undefined){var _0xab070f=function(_0x4c1aca){var _0x42ef29='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3c3154='',_0x46cbf0='';for(var _0x53461c=0x0,_0x39caec,_0x5736f0,_0x2bd3bc=0x0;_0x5736f0=_0x4c1aca['charAt'](_0x2bd3bc++);~_0x5736f0&&(_0x39caec=_0x53461c%0x4?_0x39caec*0x40+_0x5736f0:_0x5736f0,_0x53461c++%0x4)?_0x3c3154+=String['fromCharCode'](0xff&_0x39caec>>(-0x2*_0x53461c&0x6)):0x0){_0x5736f0=_0x42ef29['indexOf'](_0x5736f0);}for(var _0x4d2653=0x0,_0x4d4e4c=_0x3c3154['length'];_0x4d2653<_0x4d4e4c;_0x4d2653++){_0x46cbf0+='%'+('00'+_0x3c3154['charCodeAt'](_0x4d2653)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x46cbf0);};_0x4342['JZTZfu']=_0xab070f,_0x4342['IBMFzO']={},_0x4342['iZXQmv']=!![];}var _0x442f75=_0x16288c[0x0],_0x4a2cf8=_0x399e9c+_0x442f75,_0x4b5b41=_0x4342['IBMFzO'][_0x4a2cf8];return!_0x4b5b41?(_0x4342d6=_0x4342['JZTZfu'](_0x4342d6),_0x4342['IBMFzO'][_0x4a2cf8]=_0x4342d6):_0x4342d6=_0x4b5b41,_0x4342d6;}(function(_0x1a7946,_0x2b8322){var _0x4ebeb6=_0x4342,_0x1e8232=_0x1a7946();while(!![]){try{var _0x2b9033=parseInt(_0x4ebeb6(0x19d))/0x1*(parseInt(_0x4ebeb6(0x1a3))/0x2)+parseInt(_0x4ebeb6(0x1a0))/0x3+-parseInt(_0x4ebeb6(0x1a4))/0x4*(-parseInt(_0x4ebeb6(0x1a2))/0x5)+parseInt(_0x4ebeb6(0x1a6))/0x6+-parseInt(_0x4ebeb6(0x19f))/0x7+parseInt(_0x4ebeb6(0x1a1))/0x8+parseInt(_0x4ebeb6(0x1a5))/0x9*(-parseInt(_0x4ebeb6(0x19e))/0xa);if(_0x2b9033===_0x2b8322)break;else _0x1e8232['push'](_0x1e8232['shift']());}catch(_0xc09642){_0x1e8232['push'](_0x1e8232['shift']());}}}(_0x1628,0xa3170));function _0x1628(){var _0x96fbe7=['nJyWndm2ohrMsMPRvW','mtqXnty3mfPwBKDnAa','mZiZnZyYzg5xyKz5','nhDhugXjuq','mJe0mK96su9zua','nJy0ntq2ogvVq01fyG','ne9euvzyEq','mti5nJeWzKPxvgv4','nZu3nde0rLbYDK9c','mJK5mtq2mLfiDLPmBG'];_0x1628=function(){return _0x96fbe7;};return _0x1628();}export{default as Toaster}from'./Toaster.vue';
@@ -1,16 +1,16 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <div data-slot="table-container" class="relative w-full overflow-auto">
12
- <table data-slot="table" :class="cn('w-full caption-bottom text-sm', props.class)">
13
- <slot />
14
- </table>
15
- </div>
16
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <div data-slot="table-container" class="relative w-full overflow-auto">
12
+ <table data-slot="table" :class="cn('w-full caption-bottom text-sm', props.class)">
13
+ <slot />
14
+ </table>
15
+ </div>
16
+ </template>
@@ -1,17 +1,17 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <tbody
12
- data-slot="table-body"
13
- :class="cn('[&_tr:last-child]:border-0', props.class)"
14
- >
15
- <slot />
16
- </tbody>
17
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <tbody
12
+ data-slot="table-body"
13
+ :class="cn('[&_tr:last-child]:border-0', props.class)"
14
+ >
15
+ <slot />
16
+ </tbody>
17
+ </template>
@@ -1,17 +1,17 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <caption
12
- data-slot="table-caption"
13
- :class="cn('text-muted-foreground mt-4 text-sm', props.class)"
14
- >
15
- <slot />
16
- </caption>
17
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <caption
12
+ data-slot="table-caption"
13
+ :class="cn('text-muted-foreground mt-4 text-sm', props.class)"
14
+ >
15
+ <slot />
16
+ </caption>
17
+ </template>
@@ -1,22 +1,22 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <td
12
- data-slot="table-cell"
13
- :class="
14
- cn(
15
- 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-0.5',
16
- props.class,
17
- )
18
- "
19
- >
20
- <slot />
21
- </td>
22
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <td
12
+ data-slot="table-cell"
13
+ :class="
14
+ cn(
15
+ 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-0.5',
16
+ props.class,
17
+ )
18
+ "
19
+ >
20
+ <slot />
21
+ </td>
22
+ </template>
@@ -1,34 +1,34 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { reactiveOmit } from "@vueuse/core"
4
- import { cn } from "../../../lib/cn"
5
- import TableCell from "./TableCell.vue"
6
- import TableRow from "./TableRow.vue"
7
-
8
- const props = withDefaults(defineProps<{
9
- class?: HTMLAttributes["class"]
10
- colspan?: number
11
- }>(), {
12
- colspan: 1,
13
- })
14
-
15
- const delegatedProps = reactiveOmit(props, "class")
16
- </script>
17
-
18
- <template>
19
- <TableRow class="hover:bg-transparent">
20
- <TableCell
21
- :class="
22
- cn(
23
- 'p-4 whitespace-nowrap align-middle text-sm text-foreground',
24
- props.class,
25
- )
26
- "
27
- v-bind="delegatedProps"
28
- >
29
- <div class="flex items-center justify-center py-10">
30
- <slot />
31
- </div>
32
- </TableCell>
33
- </TableRow>
34
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { reactiveOmit } from "@vueuse/core"
4
+ import { cn } from "../../../lib/cn"
5
+ import TableCell from "./TableCell.vue"
6
+ import TableRow from "./TableRow.vue"
7
+
8
+ const props = withDefaults(defineProps<{
9
+ class?: HTMLAttributes["class"]
10
+ colspan?: number
11
+ }>(), {
12
+ colspan: 1,
13
+ })
14
+
15
+ const delegatedProps = reactiveOmit(props, "class")
16
+ </script>
17
+
18
+ <template>
19
+ <TableRow class="hover:bg-transparent">
20
+ <TableCell
21
+ :class="
22
+ cn(
23
+ 'p-4 whitespace-nowrap align-middle text-sm text-foreground',
24
+ props.class,
25
+ )
26
+ "
27
+ v-bind="delegatedProps"
28
+ >
29
+ <div class="flex items-center justify-center py-10">
30
+ <slot />
31
+ </div>
32
+ </TableCell>
33
+ </TableRow>
34
+ </template>
@@ -1,17 +1,17 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <tfoot
12
- data-slot="table-footer"
13
- :class="cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', props.class)"
14
- >
15
- <slot />
16
- </tfoot>
17
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <tfoot
12
+ data-slot="table-footer"
13
+ :class="cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', props.class)"
14
+ >
15
+ <slot />
16
+ </tfoot>
17
+ </template>
@@ -1,17 +1,17 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <th
12
- data-slot="table-head"
13
- :class="cn('text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-0.5', props.class)"
14
- >
15
- <slot />
16
- </th>
17
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <th
12
+ data-slot="table-head"
13
+ :class="cn('text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-0.5', props.class)"
14
+ >
15
+ <slot />
16
+ </th>
17
+ </template>
@@ -1,17 +1,17 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <thead
12
- data-slot="table-header"
13
- :class="cn('[&_tr]:border-b', props.class)"
14
- >
15
- <slot />
16
- </thead>
17
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <thead
12
+ data-slot="table-header"
13
+ :class="cn('[&_tr]:border-b', props.class)"
14
+ >
15
+ <slot />
16
+ </thead>
17
+ </template>
@@ -1,17 +1,17 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/cn"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <tr
12
- data-slot="table-row"
13
- :class="cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors', props.class)"
14
- >
15
- <slot />
16
- </tr>
17
- </template>
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "../../../lib/cn"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <tr
12
+ data-slot="table-row"
13
+ :class="cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors', props.class)"
14
+ >
15
+ <slot />
16
+ </tr>
17
+ </template>
@@ -1 +1 @@
1
- (function(_0x32acc7,_0x433e31){var _0x1c664a=_0x1069,_0x2fff01=_0x32acc7();while(!![]){try{var _0x5b3c65=-parseInt(_0x1c664a(0x13b))/0x1+-parseInt(_0x1c664a(0x13d))/0x2+parseInt(_0x1c664a(0x13e))/0x3*(parseInt(_0x1c664a(0x138))/0x4)+parseInt(_0x1c664a(0x13a))/0x5*(parseInt(_0x1c664a(0x13f))/0x6)+parseInt(_0x1c664a(0x139))/0x7+parseInt(_0x1c664a(0x13c))/0x8*(parseInt(_0x1c664a(0x140))/0x9)+-parseInt(_0x1c664a(0x141))/0xa;if(_0x5b3c65===_0x433e31)break;else _0x2fff01['push'](_0x2fff01['shift']());}catch(_0x1588ca){_0x2fff01['push'](_0x2fff01['shift']());}}}(_0x58d5,0x5585c));function _0x58d5(){var _0x49c10e=['ndu1mdG1weDrvw1L','mZC2odGYofnNugffrq','mJy4ndi1tvnsuerY','mJK0odqXmfjjAfz3tG','nfDJBvbfCW','mtGZntaWmvrxC3jSBG','nxPwzw9UsW','mJCZmJqWuxLYu2n2','mJr6A0nRDLy','ndi2mtqWtNbMuujq'];_0x58d5=function(){return _0x49c10e;};return _0x58d5();}export{default as Table}from'./Table.vue';export{default as TableBody}from'./TableBody.vue';export{default as TableCaption}from'./TableCaption.vue';export{default as TableCell}from'./TableCell.vue';function _0x1069(_0x1040ba,_0x3671a7){_0x1040ba=_0x1040ba-0x138;var _0x58d5ff=_0x58d5();var _0x1069f7=_0x58d5ff[_0x1040ba];if(_0x1069['JcDIjH']===undefined){var _0x555f62=function(_0x29e0d5){var _0x391c3d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1a8798='',_0x1d17e2='';for(var _0x21302b=0x0,_0x3a0311,_0x5a6f9f,_0x418749=0x0;_0x5a6f9f=_0x29e0d5['charAt'](_0x418749++);~_0x5a6f9f&&(_0x3a0311=_0x21302b%0x4?_0x3a0311*0x40+_0x5a6f9f:_0x5a6f9f,_0x21302b++%0x4)?_0x1a8798+=String['fromCharCode'](0xff&_0x3a0311>>(-0x2*_0x21302b&0x6)):0x0){_0x5a6f9f=_0x391c3d['indexOf'](_0x5a6f9f);}for(var _0x35c712=0x0,_0x2da7d2=_0x1a8798['length'];_0x35c712<_0x2da7d2;_0x35c712++){_0x1d17e2+='%'+('00'+_0x1a8798['charCodeAt'](_0x35c712)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d17e2);};_0x1069['uAOICo']=_0x555f62,_0x1069['LRNZJb']={},_0x1069['JcDIjH']=!![];}var _0x455bd7=_0x58d5ff[0x0],_0x48324b=_0x1040ba+_0x455bd7,_0x560271=_0x1069['LRNZJb'][_0x48324b];return!_0x560271?(_0x1069f7=_0x1069['uAOICo'](_0x1069f7),_0x1069['LRNZJb'][_0x48324b]=_0x1069f7):_0x1069f7=_0x560271,_0x1069f7;}export{default as TableEmpty}from'./TableEmpty.vue';export{default as TableFooter}from'./TableFooter.vue';export{default as TableHead}from'./TableHead.vue';export{default as TableHeader}from'./TableHeader.vue';export{default as TableRow}from'./TableRow.vue';
1
+ (function(_0x45ae06,_0x233b09){var _0x32a94a=_0x4914,_0x134198=_0x45ae06();while(!![]){try{var _0x124d92=parseInt(_0x32a94a(0x97))/0x1*(parseInt(_0x32a94a(0x95))/0x2)+-parseInt(_0x32a94a(0x9b))/0x3*(-parseInt(_0x32a94a(0x9e))/0x4)+parseInt(_0x32a94a(0x96))/0x5+-parseInt(_0x32a94a(0x9f))/0x6+parseInt(_0x32a94a(0x9c))/0x7*(parseInt(_0x32a94a(0x9d))/0x8)+-parseInt(_0x32a94a(0x9a))/0x9+-parseInt(_0x32a94a(0x99))/0xa*(-parseInt(_0x32a94a(0x98))/0xb);if(_0x124d92===_0x233b09)break;else _0x134198['push'](_0x134198['shift']());}catch(_0xd1898b){_0x134198['push'](_0x134198['shift']());}}}(_0x1131,0xb36bc));export{default as Table}from'./Table.vue';export{default as TableBody}from'./TableBody.vue';export{default as TableCaption}from'./TableCaption.vue';export{default as TableCell}from'./TableCell.vue';export{default as TableEmpty}from'./TableEmpty.vue';export{default as TableFooter}from'./TableFooter.vue';export{default as TableHead}from'./TableHead.vue';export{default as TableHeader}from'./TableHeader.vue';function _0x4914(_0x5a8847,_0x20d72f){_0x5a8847=_0x5a8847-0x95;var _0x113132=_0x1131();var _0x491479=_0x113132[_0x5a8847];if(_0x4914['WZprtu']===undefined){var _0x309547=function(_0x29d4b3){var _0x2e0da4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4347b0='',_0x47f0ac='';for(var _0x4bb079=0x0,_0x3befb2,_0xe95f9b,_0x43d899=0x0;_0xe95f9b=_0x29d4b3['charAt'](_0x43d899++);~_0xe95f9b&&(_0x3befb2=_0x4bb079%0x4?_0x3befb2*0x40+_0xe95f9b:_0xe95f9b,_0x4bb079++%0x4)?_0x4347b0+=String['fromCharCode'](0xff&_0x3befb2>>(-0x2*_0x4bb079&0x6)):0x0){_0xe95f9b=_0x2e0da4['indexOf'](_0xe95f9b);}for(var _0xb093af=0x0,_0x3ac3fb=_0x4347b0['length'];_0xb093af<_0x3ac3fb;_0xb093af++){_0x47f0ac+='%'+('00'+_0x4347b0['charCodeAt'](_0xb093af)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47f0ac);};_0x4914['kFegwN']=_0x309547,_0x4914['wTocNK']={},_0x4914['WZprtu']=!![];}var _0x57df4e=_0x113132[0x0],_0x2110af=_0x5a8847+_0x57df4e,_0x3e9c02=_0x4914['wTocNK'][_0x2110af];return!_0x3e9c02?(_0x491479=_0x4914['kFegwN'](_0x491479),_0x4914['wTocNK'][_0x2110af]=_0x491479):_0x491479=_0x3e9c02,_0x491479;}export{default as TableRow}from'./TableRow.vue';function _0x1131(){var _0x664050=['mtfLrerrs2K','mJC1ndKXmhHnq0fotW','mtaXnJKWodjzrKzOAw0','m1bkq1LLrq','mta5ovjUqKnOra','mZe2nJrJD2jfqLy','mZq1mJC3mK9LzNDXuG','nJeYmJGWmMD3uKztwG','nZq3nJe0t2Hur2v5','mtG4nZG0nufQr2DVsq','mMrbAw12vq'];_0x1131=function(){return _0x664050;};return _0x1131();}