vome-core 0.3.64 → 0.3.66

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 (345) 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/core/index.d.ts +1 -1
  234. package/dist/index.js +1 -1
  235. package/dist/ioc/index.d.ts +1 -1
  236. package/dist/server/index.d.ts +1 -1
  237. package/dist/server/index.js +1 -1
  238. package/dist/shared/datetime-picker.js +1 -1
  239. package/dist/shared/decimal.js +1 -1
  240. package/dist/shared/excel.js +1 -1
  241. package/dist/shared/index.js +1 -1
  242. package/dist/shared/locale-json.js +1 -1
  243. package/dist/shared/tree.js +1 -1
  244. package/package.json +1 -1
  245. package/typings/admin/base/auth.ts +24 -24
  246. package/typings/admin/base/permission.ts +19 -19
  247. package/typings/admin/comm/cascader.ts +7 -7
  248. package/typings/admin/comm/check-tree.ts +7 -7
  249. package/typings/admin/comm/crud.ts +427 -427
  250. package/typings/admin/comm/eps.ts +86 -86
  251. package/typings/admin/comm/request.ts +16 -16
  252. package/typings/admin/comm/service.ts +43 -43
  253. package/typings/admin/comm/upload.ts +39 -39
  254. package/typings/admin/theme.ts +10 -10
  255. package/typings/admin/vome/browser.ts +11 -11
  256. package/typings/admin/vome/module.ts +13 -13
  257. package/typings/admin/vome/tags.ts +9 -9
  258. package/typings/comm/crud.ts +83 -83
  259. package/typings/comm/page.ts +18 -18
  260. package/typings/comm/scan.ts +6 -6
  261. package/typings/common.ts +4 -4
  262. package/typings/context/data.ts +10 -10
  263. package/typings/ext/market-seat.ts +42 -42
  264. package/typings/ext/market.ts +55 -55
  265. package/typings/ext/module.ts +64 -64
  266. package/typings/ext/plugin.ts +38 -38
  267. package/typings/ioc/metadata.ts +34 -34
  268. package/typings/logger/config.ts +6 -6
  269. package/typings/routing/crud.ts +199 -199
  270. package/typings/routing/eps.ts +88 -88
  271. package/typings/routing/meta.ts +63 -63
  272. package/typings/routing/register.ts +21 -21
  273. package/typings/routing/scan-context.ts +7 -7
  274. package/dist/admin/api/client.d.ts +0 -50
  275. package/dist/admin/components/ui/avatar/index.d.ts +0 -3
  276. package/dist/admin/components/ui/badge/index.d.ts +0 -6
  277. package/dist/admin/components/ui/button/index.d.ts +0 -7
  278. package/dist/admin/components/ui/checkbox/index.d.ts +0 -1
  279. package/dist/admin/components/ui/dialog/index.d.ts +0 -10
  280. package/dist/admin/components/ui/dropdown-menu/index.d.ts +0 -15
  281. package/dist/admin/components/ui/input/index.d.ts +0 -1
  282. package/dist/admin/components/ui/label/index.d.ts +0 -1
  283. package/dist/admin/components/ui/scroll-area/index.d.ts +0 -2
  284. package/dist/admin/components/ui/select/index.d.ts +0 -11
  285. package/dist/admin/components/ui/separator/index.d.ts +0 -1
  286. package/dist/admin/components/ui/sheet/index.d.ts +0 -8
  287. package/dist/admin/components/ui/sonner/index.d.ts +0 -1
  288. package/dist/admin/components/ui/table/index.d.ts +0 -9
  289. package/dist/admin/components/ui/tabs/index.d.ts +0 -4
  290. package/dist/admin/components/ui/tooltip/index.d.ts +0 -4
  291. package/dist/admin/crud/auto-fields.d.ts +0 -68
  292. package/dist/admin/crud/config.d.ts +0 -5
  293. package/dist/admin/crud/confirm.d.ts +0 -19
  294. package/dist/admin/crud/crud-page-request.d.ts +0 -21
  295. package/dist/admin/crud/data-i18n.d.ts +0 -62
  296. package/dist/admin/crud/dict.d.ts +0 -4
  297. package/dist/admin/crud/export-fetch.d.ts +0 -22
  298. package/dist/admin/crud/index.d.ts +0 -60
  299. package/dist/admin/crud/json-kv.d.ts +0 -9
  300. package/dist/admin/crud/key.d.ts +0 -22
  301. package/dist/admin/crud/paging.d.ts +0 -2
  302. package/dist/admin/crud/plugins.d.ts +0 -63
  303. package/dist/admin/crud/registry.d.ts +0 -3
  304. package/dist/admin/crud/span.d.ts +0 -17
  305. package/dist/admin/crud/style.d.ts +0 -82
  306. package/dist/admin/crud/useCrud.d.ts +0 -21
  307. package/dist/admin/crud/validate.d.ts +0 -7
  308. package/dist/admin/directives/perm.d.ts +0 -3
  309. package/dist/admin/hooks/useBrowser.d.ts +0 -6
  310. package/dist/admin/hooks/useUpload.d.ts +0 -8
  311. package/dist/admin/hooks/useVome.d.ts +0 -10
  312. package/dist/admin/lib/browser.d.ts +0 -3
  313. package/dist/admin/lib/cn.d.ts +0 -2
  314. package/dist/admin/lib/compress-image.d.ts +0 -12
  315. package/dist/admin/lib/dialog-float.d.ts +0 -8
  316. package/dist/admin/lib/eps.d.ts +0 -2
  317. package/dist/admin/lib/export-excel.d.ts +0 -9
  318. package/dist/admin/lib/file-preview.d.ts +0 -9
  319. package/dist/admin/lib/import-excel.d.ts +0 -21
  320. package/dist/admin/lib/json.d.ts +0 -11
  321. package/dist/admin/lib/menu.d.ts +0 -3
  322. package/dist/admin/lib/micro-locale.d.ts +0 -5
  323. package/dist/admin/lib/micro-theme.d.ts +0 -14
  324. package/dist/admin/lib/module.d.ts +0 -21
  325. package/dist/admin/lib/scarce-assets.d.ts +0 -5
  326. package/dist/admin/lib/shell.d.ts +0 -8
  327. package/dist/admin/lib/theme-color-options.d.ts +0 -15
  328. package/dist/admin/lib/tree.d.ts +0 -2
  329. package/dist/admin/lib/upload.d.ts +0 -17
  330. package/dist/admin/lib/video-frame.d.ts +0 -6
  331. package/dist/admin/router/create.d.ts +0 -16
  332. package/dist/admin/router/guards.d.ts +0 -6
  333. package/dist/admin/router/menu-routes.d.ts +0 -13
  334. package/dist/admin/stores/app.d.ts +0 -13
  335. package/dist/admin/stores/tags.d.ts +0 -14
  336. package/dist/admin/stores/user.d.ts +0 -48
  337. package/dist/client/ai-model-registry.d.ts +0 -16
  338. package/dist/client/base.d.ts +0 -28
  339. package/dist/client/configure.d.ts +0 -33
  340. package/dist/client/dict.d.ts +0 -31
  341. package/dist/client/eps-payload.d.ts +0 -3
  342. package/dist/client/eps.d.ts +0 -17
  343. package/dist/client/locale-change.d.ts +0 -16
  344. package/dist/client/locale-store.d.ts +0 -105
  345. package/dist/client/service.d.ts +0 -29
@@ -1,183 +1,183 @@
1
- <script setup lang="ts">
2
- import { crudLabel } from '../../../crud/style'
3
- import type { HTMLAttributes } from "vue"
4
- import { computed } from "vue"
5
- import { useVModel } from "@vueuse/core"
6
- import { cn } from "../../../lib/cn"
7
-
8
- const props = withDefaults(
9
- defineProps<{
10
- defaultValue?: string | number
11
- modelValue?: string | number | null
12
- class?: HTMLAttributes["class"]
13
- /** 原生 input type;数字用 number */
14
- type?: string
15
- /** 小数位数;blur 时按位四舍五入(仅 type=number) */
16
- precision?: number
17
- /**
18
- * 是否显示 number 步进器;false 隐藏(对齐常见 InputNumber.controls)
19
- * 默认 true(保持原生外观);业务常传 false
20
- */
21
- controls?: boolean
22
- step?: string | number
23
- placeholder?: string
24
- disabled?: boolean
25
- /** 有值时显示清除;默认 true(password 除外) */
26
- clearable?: boolean
27
- }>(),
28
- {
29
- controls: true,
30
- clearable: undefined,
31
- },
32
- )
33
-
34
- const emits = defineEmits<{
35
- (e: "update:modelValue", payload: string | number | null): void
36
- }>()
37
-
38
- const modelValue = useVModel(props, "modelValue", emits, {
39
- passive: true,
40
- defaultValue: props.defaultValue,
41
- })
42
-
43
- const isNumber = computed(() => props.type === "number")
44
- const isPassword = computed(() => props.type === "password")
45
- const showClear = computed(() => {
46
- if (props.disabled || isPassword.value) return false
47
- const on = props.clearable !== false
48
- if (!on) return false
49
- const v = modelValue.value
50
- return v != null && v !== ""
51
- })
52
- const hideControls = computed(
53
- () => isNumber.value && props.controls === false,
54
- )
55
-
56
- /** number 未显式传 step 时,按 precision 生成(避免原生默认 step=1 挡小数) */
57
- const resolvedStep = computed(() => {
58
- if (!isNumber.value) return props.step
59
- if (props.step != null && props.step !== "") return props.step
60
- if (props.precision == null) return "any"
61
- const p = Math.max(0, Math.floor(props.precision))
62
- if (p === 0) return 1
63
- return (1 / 10 ** p).toFixed(p)
64
- })
65
-
66
- function roundToPrecision(n: number) {
67
- if (props.precision == null || !Number.isFinite(n)) return n
68
- const p = Math.max(0, Math.floor(props.precision))
69
- const f = 10 ** p
70
- return Math.round(n * f) / f
71
- }
72
-
73
- function onUpdate(raw: string | number) {
74
- if (!isNumber.value) {
75
- modelValue.value = raw
76
- return
77
- }
78
- if (raw === "" || raw == null) {
79
- modelValue.value = null
80
- return
81
- }
82
- const n = typeof raw === "number" ? raw : Number(raw)
83
- modelValue.value = Number.isFinite(n) ? n : raw
84
- }
85
-
86
- function onBlur() {
87
- if (!isNumber.value || props.precision == null) return
88
- const cur = modelValue.value
89
- if (cur == null || cur === "") return
90
- const n = typeof cur === "number" ? cur : Number(cur)
91
- if (!Number.isFinite(n)) return
92
- modelValue.value = roundToPrecision(n)
93
- }
94
-
95
- function clear() {
96
- modelValue.value = isNumber.value ? null : ""
97
- }
98
- </script>
99
-
100
- <template>
101
- <div
102
- data-slot="input-wrap"
103
- :class="cn('vm-input-wrap', showClear && 'has-clear', props.class)"
104
- >
105
- <input
106
- data-slot="input"
107
- :type="type"
108
- :step="resolvedStep"
109
- :placeholder="placeholder"
110
- :disabled="disabled"
111
- :value="modelValue ?? ''"
112
- :class="cn(
113
- 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-[var(--vm-control-height)] w-full min-w-0 rounded-[var(--vm-control-radius)] border bg-transparent px-[var(--vm-control-padding-x)] py-0 text-sm shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',
114
- 'focus-visible:border-[var(--focus-border)] focus-visible:ring-0 focus-visible:shadow-none',
115
- 'aria-invalid:border-destructive aria-invalid:ring-0',
116
- hideControls && 'is-no-controls',
117
- showClear && 'is-clearable',
118
- )"
119
- @input="onUpdate(($event.target as HTMLInputElement).value)"
120
- @blur="onBlur"
121
- >
122
- <i
123
- v-if="showClear"
124
- class="ri-close-circle-fill vm-input-wrap__clear"
125
- role="button"
126
- tabindex="-1"
127
- :aria-label="crudLabel('clear')"
128
- @mousedown.prevent
129
- @click="clear"
130
- />
131
- </div>
132
- </template>
133
-
134
- <style scoped>
135
- /* controls: false → 隐藏原生 number 步进器 */
136
- input.is-no-controls[type='number'] {
137
- -moz-appearance: textfield;
138
- }
139
- input.is-no-controls[type='number']::-webkit-outer-spin-button,
140
- input.is-no-controls[type='number']::-webkit-inner-spin-button {
141
- -webkit-appearance: none;
142
- margin: 0;
143
- }
144
-
145
- .vm-input-wrap {
146
- position: relative;
147
- box-sizing: border-box;
148
- width: 100%;
149
- min-width: 0;
150
- }
151
-
152
- .vm-input-wrap input.is-clearable {
153
- padding-right: 28px;
154
- }
155
-
156
- .vm-input-wrap__clear {
157
- position: absolute;
158
- top: 50%;
159
- right: var(--vm-control-padding-x);
160
- z-index: 1;
161
- color: var(--muted-foreground);
162
- font-size: 14px;
163
- line-height: 1;
164
- cursor: pointer;
165
- transform: translateY(-50%);
166
- }
167
-
168
- .vm-input-wrap__clear:hover {
169
- color: var(--foreground);
170
- }
171
- </style>
172
-
173
- <style>
174
- /* 与 CRUD 表单控件高度约定对齐(原 base.css data-slot 规则) */
175
- [data-slot='input'] {
176
- height: var(--vm-control-height) !important;
177
- min-height: var(--vm-control-height);
178
- padding-top: 0 !important;
179
- padding-bottom: 0 !important;
180
- font-size: var(--vm-control-font-size) !important;
181
- line-height: 1.4;
182
- }
183
- </style>
1
+ <script setup lang="ts">
2
+ import { crudLabel } from '../../../crud/style'
3
+ import type { HTMLAttributes } from "vue"
4
+ import { computed } from "vue"
5
+ import { useVModel } from "@vueuse/core"
6
+ import { cn } from "../../../lib/cn"
7
+
8
+ const props = withDefaults(
9
+ defineProps<{
10
+ defaultValue?: string | number
11
+ modelValue?: string | number | null
12
+ class?: HTMLAttributes["class"]
13
+ /** 原生 input type;数字用 number */
14
+ type?: string
15
+ /** 小数位数;blur 时按位四舍五入(仅 type=number) */
16
+ precision?: number
17
+ /**
18
+ * 是否显示 number 步进器;false 隐藏(对齐常见 InputNumber.controls)
19
+ * 默认 true(保持原生外观);业务常传 false
20
+ */
21
+ controls?: boolean
22
+ step?: string | number
23
+ placeholder?: string
24
+ disabled?: boolean
25
+ /** 有值时显示清除;默认 true(password 除外) */
26
+ clearable?: boolean
27
+ }>(),
28
+ {
29
+ controls: true,
30
+ clearable: undefined,
31
+ },
32
+ )
33
+
34
+ const emits = defineEmits<{
35
+ (e: "update:modelValue", payload: string | number | null): void
36
+ }>()
37
+
38
+ const modelValue = useVModel(props, "modelValue", emits, {
39
+ passive: true,
40
+ defaultValue: props.defaultValue,
41
+ })
42
+
43
+ const isNumber = computed(() => props.type === "number")
44
+ const isPassword = computed(() => props.type === "password")
45
+ const showClear = computed(() => {
46
+ if (props.disabled || isPassword.value) return false
47
+ const on = props.clearable !== false
48
+ if (!on) return false
49
+ const v = modelValue.value
50
+ return v != null && v !== ""
51
+ })
52
+ const hideControls = computed(
53
+ () => isNumber.value && props.controls === false,
54
+ )
55
+
56
+ /** number 未显式传 step 时,按 precision 生成(避免原生默认 step=1 挡小数) */
57
+ const resolvedStep = computed(() => {
58
+ if (!isNumber.value) return props.step
59
+ if (props.step != null && props.step !== "") return props.step
60
+ if (props.precision == null) return "any"
61
+ const p = Math.max(0, Math.floor(props.precision))
62
+ if (p === 0) return 1
63
+ return (1 / 10 ** p).toFixed(p)
64
+ })
65
+
66
+ function roundToPrecision(n: number) {
67
+ if (props.precision == null || !Number.isFinite(n)) return n
68
+ const p = Math.max(0, Math.floor(props.precision))
69
+ const f = 10 ** p
70
+ return Math.round(n * f) / f
71
+ }
72
+
73
+ function onUpdate(raw: string | number) {
74
+ if (!isNumber.value) {
75
+ modelValue.value = raw
76
+ return
77
+ }
78
+ if (raw === "" || raw == null) {
79
+ modelValue.value = null
80
+ return
81
+ }
82
+ const n = typeof raw === "number" ? raw : Number(raw)
83
+ modelValue.value = Number.isFinite(n) ? n : raw
84
+ }
85
+
86
+ function onBlur() {
87
+ if (!isNumber.value || props.precision == null) return
88
+ const cur = modelValue.value
89
+ if (cur == null || cur === "") return
90
+ const n = typeof cur === "number" ? cur : Number(cur)
91
+ if (!Number.isFinite(n)) return
92
+ modelValue.value = roundToPrecision(n)
93
+ }
94
+
95
+ function clear() {
96
+ modelValue.value = isNumber.value ? null : ""
97
+ }
98
+ </script>
99
+
100
+ <template>
101
+ <div
102
+ data-slot="input-wrap"
103
+ :class="cn('vm-input-wrap', showClear && 'has-clear', props.class)"
104
+ >
105
+ <input
106
+ data-slot="input"
107
+ :type="type"
108
+ :step="resolvedStep"
109
+ :placeholder="placeholder"
110
+ :disabled="disabled"
111
+ :value="modelValue ?? ''"
112
+ :class="cn(
113
+ 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-[var(--vm-control-height)] w-full min-w-0 rounded-[var(--vm-control-radius)] border bg-transparent px-[var(--vm-control-padding-x)] py-0 text-sm shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',
114
+ 'focus-visible:border-[var(--focus-border)] focus-visible:ring-0 focus-visible:shadow-none',
115
+ 'aria-invalid:border-destructive aria-invalid:ring-0',
116
+ hideControls && 'is-no-controls',
117
+ showClear && 'is-clearable',
118
+ )"
119
+ @input="onUpdate(($event.target as HTMLInputElement).value)"
120
+ @blur="onBlur"
121
+ >
122
+ <i
123
+ v-if="showClear"
124
+ class="ri-close-circle-fill vm-input-wrap__clear"
125
+ role="button"
126
+ tabindex="-1"
127
+ :aria-label="crudLabel('clear')"
128
+ @mousedown.prevent
129
+ @click="clear"
130
+ />
131
+ </div>
132
+ </template>
133
+
134
+ <style scoped>
135
+ /* controls: false → 隐藏原生 number 步进器 */
136
+ input.is-no-controls[type='number'] {
137
+ -moz-appearance: textfield;
138
+ }
139
+ input.is-no-controls[type='number']::-webkit-outer-spin-button,
140
+ input.is-no-controls[type='number']::-webkit-inner-spin-button {
141
+ -webkit-appearance: none;
142
+ margin: 0;
143
+ }
144
+
145
+ .vm-input-wrap {
146
+ position: relative;
147
+ box-sizing: border-box;
148
+ width: 100%;
149
+ min-width: 0;
150
+ }
151
+
152
+ .vm-input-wrap input.is-clearable {
153
+ padding-right: 28px;
154
+ }
155
+
156
+ .vm-input-wrap__clear {
157
+ position: absolute;
158
+ top: 50%;
159
+ right: var(--vm-control-padding-x);
160
+ z-index: 1;
161
+ color: var(--muted-foreground);
162
+ font-size: 14px;
163
+ line-height: 1;
164
+ cursor: pointer;
165
+ transform: translateY(-50%);
166
+ }
167
+
168
+ .vm-input-wrap__clear:hover {
169
+ color: var(--foreground);
170
+ }
171
+ </style>
172
+
173
+ <style>
174
+ /* 与 CRUD 表单控件高度约定对齐(原 base.css data-slot 规则) */
175
+ [data-slot='input'] {
176
+ height: var(--vm-control-height) !important;
177
+ min-height: var(--vm-control-height);
178
+ padding-top: 0 !important;
179
+ padding-bottom: 0 !important;
180
+ font-size: var(--vm-control-font-size) !important;
181
+ line-height: 1.4;
182
+ }
183
+ </style>
@@ -1 +1 @@
1
- (function(_0x30e73d,_0x30a579){var _0x2d6119=_0x226b,_0x526ec8=_0x30e73d();while(!![]){try{var _0x2ec7d9=parseInt(_0x2d6119(0xce))/0x1*(-parseInt(_0x2d6119(0xd3))/0x2)+-parseInt(_0x2d6119(0xcf))/0x3+-parseInt(_0x2d6119(0xcb))/0x4*(parseInt(_0x2d6119(0xcd))/0x5)+parseInt(_0x2d6119(0xd0))/0x6+parseInt(_0x2d6119(0xd2))/0x7*(parseInt(_0x2d6119(0xcc))/0x8)+parseInt(_0x2d6119(0xca))/0x9+-parseInt(_0x2d6119(0xd1))/0xa;if(_0x2ec7d9===_0x30a579)break;else _0x526ec8['push'](_0x526ec8['shift']());}catch(_0x5af643){_0x526ec8['push'](_0x526ec8['shift']());}}}(_0x2754,0xe56ce));export{default as Input}from'./Input.vue';function _0x226b(_0x5e79ee,_0x1bfacc){_0x5e79ee=_0x5e79ee-0xca;var _0x27543e=_0x2754();var _0x226b06=_0x27543e[_0x5e79ee];if(_0x226b['xlzejF']===undefined){var _0x295b47=function(_0x167066){var _0x944f7e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x58fb2a='',_0x171f50='';for(var _0x26f5f9=0x0,_0x19a665,_0x4223ff,_0x439f9c=0x0;_0x4223ff=_0x167066['charAt'](_0x439f9c++);~_0x4223ff&&(_0x19a665=_0x26f5f9%0x4?_0x19a665*0x40+_0x4223ff:_0x4223ff,_0x26f5f9++%0x4)?_0x58fb2a+=String['fromCharCode'](0xff&_0x19a665>>(-0x2*_0x26f5f9&0x6)):0x0){_0x4223ff=_0x944f7e['indexOf'](_0x4223ff);}for(var _0x58e40e=0x0,_0x5cf20e=_0x58fb2a['length'];_0x58e40e<_0x5cf20e;_0x58e40e++){_0x171f50+='%'+('00'+_0x58fb2a['charCodeAt'](_0x58e40e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x171f50);};_0x226b['egsJFF']=_0x295b47,_0x226b['dBbBsy']={},_0x226b['xlzejF']=!![];}var _0x2b0932=_0x27543e[0x0],_0x34ad58=_0x5e79ee+_0x2b0932,_0x47181d=_0x226b['dBbBsy'][_0x34ad58];return!_0x47181d?(_0x226b06=_0x226b['egsJFF'](_0x226b06),_0x226b['dBbBsy'][_0x34ad58]=_0x226b06):_0x226b06=_0x47181d,_0x226b06;}function _0x2754(){var _0x5dc364=['oty4mZCYsNDnzLzM','mtaZmJeWmNL5s09eDa','ndm2nde3oenbwwTTtq','mty0nJyWuMvXBunQ','mJHlswnPChC','mK1owefXwG','mtq2mtCZnZDWtMPfEg0','mJi3mtjYAg5AzKO','mtu3mtyZmLfuse9gwq','nZy1vMTtEK5h'];_0x2754=function(){return _0x5dc364;};return _0x2754();}
1
+ function _0x46ad(){var _0x5b5641=['ntm2sKzrCg1x','mZC3otmYnhr0D2DyzG','mta1mZqZyxL2C0fe','mtGWmfLzze1juW','mJCXnJa4q01yzfbx','mZm1odC4mfnvDK9OzW','nta1odb4sK1hqLG','mtjnvKPmz1K','mZuYmJfPz2Tby1e','mJi1nZCXmerhvfLTBa','mteYmNLcDg9TDq','nM9rquPvzW'];_0x46ad=function(){return _0x5b5641;};return _0x46ad();}function _0x3e09(_0x2c227b,_0x34d8ba){_0x2c227b=_0x2c227b-0x10b;var _0x46ad70=_0x46ad();var _0x3e093b=_0x46ad70[_0x2c227b];if(_0x3e09['IVRRxQ']===undefined){var _0x46740c=function(_0x4cf93e){var _0x2476b5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2d18a1='',_0x261a2b='';for(var _0x51d3ab=0x0,_0x5a8c59,_0x11374f,_0x5d6d35=0x0;_0x11374f=_0x4cf93e['charAt'](_0x5d6d35++);~_0x11374f&&(_0x5a8c59=_0x51d3ab%0x4?_0x5a8c59*0x40+_0x11374f:_0x11374f,_0x51d3ab++%0x4)?_0x2d18a1+=String['fromCharCode'](0xff&_0x5a8c59>>(-0x2*_0x51d3ab&0x6)):0x0){_0x11374f=_0x2476b5['indexOf'](_0x11374f);}for(var _0x5d93b8=0x0,_0x36d2d1=_0x2d18a1['length'];_0x5d93b8<_0x36d2d1;_0x5d93b8++){_0x261a2b+='%'+('00'+_0x2d18a1['charCodeAt'](_0x5d93b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x261a2b);};_0x3e09['ugjwcR']=_0x46740c,_0x3e09['VnsrTj']={},_0x3e09['IVRRxQ']=!![];}var _0x293644=_0x46ad70[0x0],_0x3d8689=_0x2c227b+_0x293644,_0x1684bf=_0x3e09['VnsrTj'][_0x3d8689];return!_0x1684bf?(_0x3e093b=_0x3e09['ugjwcR'](_0x3e093b),_0x3e09['VnsrTj'][_0x3d8689]=_0x3e093b):_0x3e093b=_0x1684bf,_0x3e093b;}(function(_0x268805,_0x259d06){var _0x306e73=_0x3e09,_0x299044=_0x268805();while(!![]){try{var _0x13d704=parseInt(_0x306e73(0x10e))/0x1*(-parseInt(_0x306e73(0x10d))/0x2)+parseInt(_0x306e73(0x10f))/0x3+parseInt(_0x306e73(0x113))/0x4+-parseInt(_0x306e73(0x10b))/0x5*(parseInt(_0x306e73(0x111))/0x6)+parseInt(_0x306e73(0x114))/0x7*(parseInt(_0x306e73(0x112))/0x8)+-parseInt(_0x306e73(0x115))/0x9*(-parseInt(_0x306e73(0x10c))/0xa)+-parseInt(_0x306e73(0x110))/0xb*(parseInt(_0x306e73(0x116))/0xc);if(_0x13d704===_0x259d06)break;else _0x299044['push'](_0x299044['shift']());}catch(_0x428bf9){_0x299044['push'](_0x299044['shift']());}}}(_0x46ad,0x804de));export{default as Input}from'./Input.vue';
@@ -1,26 +1,26 @@
1
- <script setup lang="ts">
2
- import type { LabelProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { Label } from "reka-ui"
6
- import { cn } from "../../../lib/cn"
7
-
8
- const props = defineProps<LabelProps & { class?: HTMLAttributes["class"] }>()
9
-
10
- const delegatedProps = reactiveOmit(props, "class")
11
- </script>
12
-
13
- <template>
14
- <Label
15
- data-slot="label"
16
- v-bind="delegatedProps"
17
- :class="
18
- cn(
19
- 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',
20
- props.class,
21
- )
22
- "
23
- >
24
- <slot />
25
- </Label>
26
- </template>
1
+ <script setup lang="ts">
2
+ import type { LabelProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { Label } from "reka-ui"
6
+ import { cn } from "../../../lib/cn"
7
+
8
+ const props = defineProps<LabelProps & { class?: HTMLAttributes["class"] }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, "class")
11
+ </script>
12
+
13
+ <template>
14
+ <Label
15
+ data-slot="label"
16
+ v-bind="delegatedProps"
17
+ :class="
18
+ cn(
19
+ 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',
20
+ props.class,
21
+ )
22
+ "
23
+ >
24
+ <slot />
25
+ </Label>
26
+ </template>
@@ -1 +1 @@
1
- (function(_0x35ac12,_0x34fa04){var _0x3df4ea=_0x43cc,_0x49db80=_0x35ac12();while(!![]){try{var _0x241907=-parseInt(_0x3df4ea(0x176))/0x1+-parseInt(_0x3df4ea(0x174))/0x2+parseInt(_0x3df4ea(0x175))/0x3*(-parseInt(_0x3df4ea(0x178))/0x4)+parseInt(_0x3df4ea(0x177))/0x5+-parseInt(_0x3df4ea(0x17b))/0x6*(parseInt(_0x3df4ea(0x17c))/0x7)+-parseInt(_0x3df4ea(0x17a))/0x8+parseInt(_0x3df4ea(0x179))/0x9;if(_0x241907===_0x34fa04)break;else _0x49db80['push'](_0x49db80['shift']());}catch(_0x288426){_0x49db80['push'](_0x49db80['shift']());}}}(_0x514a,0x92b9e));function _0x43cc(_0x5bd305,_0x497cd3){_0x5bd305=_0x5bd305-0x174;var _0x514aeb=_0x514a();var _0x43cc18=_0x514aeb[_0x5bd305];if(_0x43cc['OoNESd']===undefined){var _0x3a3f1a=function(_0x2a1752){var _0x4df51f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x35174f='',_0x2daa4d='';for(var _0x5869ca=0x0,_0xff334d,_0x50b2ba,_0x174392=0x0;_0x50b2ba=_0x2a1752['charAt'](_0x174392++);~_0x50b2ba&&(_0xff334d=_0x5869ca%0x4?_0xff334d*0x40+_0x50b2ba:_0x50b2ba,_0x5869ca++%0x4)?_0x35174f+=String['fromCharCode'](0xff&_0xff334d>>(-0x2*_0x5869ca&0x6)):0x0){_0x50b2ba=_0x4df51f['indexOf'](_0x50b2ba);}for(var _0x96b3ac=0x0,_0x216a64=_0x35174f['length'];_0x96b3ac<_0x216a64;_0x96b3ac++){_0x2daa4d+='%'+('00'+_0x35174f['charCodeAt'](_0x96b3ac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2daa4d);};_0x43cc['HgGLej']=_0x3a3f1a,_0x43cc['YbcklJ']={},_0x43cc['OoNESd']=!![];}var _0x1a35c8=_0x514aeb[0x0],_0x4036b6=_0x5bd305+_0x1a35c8,_0x169ef7=_0x43cc['YbcklJ'][_0x4036b6];return!_0x169ef7?(_0x43cc18=_0x43cc['HgGLej'](_0x43cc18),_0x43cc['YbcklJ'][_0x4036b6]=_0x43cc18):_0x43cc18=_0x169ef7,_0x43cc18;}export{default as Label}from'./Label.vue';function _0x514a(){var _0x17741c=['ngLey3P5sq','mJKZnZaZodrVBMXVBfu','nZCXode3nLLoBNbPza','mZbtDM9uDva','odyYmdm2C0XRCKz5','mJeYntGZmhvMyw5VBa','mJqWmdm2oujgvLnAwa','nteWmdz2D2POCwS','nde2mdG1mgjoBe9euq'];_0x514a=function(){return _0x17741c;};return _0x514a();}
1
+ function _0x5a2d(_0x3e65fd,_0x183b0f){_0x3e65fd=_0x3e65fd-0x160;var _0x26b0bb=_0x26b0();var _0x5a2dce=_0x26b0bb[_0x3e65fd];if(_0x5a2d['IBFMpr']===undefined){var _0x481063=function(_0x26f12c){var _0x34d775='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x8e13='',_0x4f6e20='';for(var _0x4d7341=0x0,_0x3a6466,_0x303cce,_0x43c1a5=0x0;_0x303cce=_0x26f12c['charAt'](_0x43c1a5++);~_0x303cce&&(_0x3a6466=_0x4d7341%0x4?_0x3a6466*0x40+_0x303cce:_0x303cce,_0x4d7341++%0x4)?_0x8e13+=String['fromCharCode'](0xff&_0x3a6466>>(-0x2*_0x4d7341&0x6)):0x0){_0x303cce=_0x34d775['indexOf'](_0x303cce);}for(var _0x4faa91=0x0,_0x4c52c0=_0x8e13['length'];_0x4faa91<_0x4c52c0;_0x4faa91++){_0x4f6e20+='%'+('00'+_0x8e13['charCodeAt'](_0x4faa91)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f6e20);};_0x5a2d['RiKTmb']=_0x481063,_0x5a2d['xsIAjN']={},_0x5a2d['IBFMpr']=!![];}var _0x58b8c4=_0x26b0bb[0x0],_0x37a4f6=_0x3e65fd+_0x58b8c4,_0x5cbee2=_0x5a2d['xsIAjN'][_0x37a4f6];return!_0x5cbee2?(_0x5a2dce=_0x5a2d['RiKTmb'](_0x5a2dce),_0x5a2d['xsIAjN'][_0x37a4f6]=_0x5a2dce):_0x5a2dce=_0x5cbee2,_0x5a2dce;}(function(_0x39c719,_0x3c4d71){var _0x1a1164=_0x5a2d,_0x5857b9=_0x39c719();while(!![]){try{var _0x2f5000=-parseInt(_0x1a1164(0x164))/0x1*(-parseInt(_0x1a1164(0x163))/0x2)+parseInt(_0x1a1164(0x165))/0x3+parseInt(_0x1a1164(0x167))/0x4*(parseInt(_0x1a1164(0x162))/0x5)+parseInt(_0x1a1164(0x161))/0x6+parseInt(_0x1a1164(0x168))/0x7+parseInt(_0x1a1164(0x160))/0x8+-parseInt(_0x1a1164(0x166))/0x9;if(_0x2f5000===_0x3c4d71)break;else _0x5857b9['push'](_0x5857b9['shift']());}catch(_0x32b571){_0x5857b9['push'](_0x5857b9['shift']());}}}(_0x26b0,0x1878d));function _0x26b0(){var _0x9b29a5=['ndq0odHwt1HSCw4','mZC1nde0AvznyM5y','mZGYmdyZnxHyzuHvyq','neLOs1nezG','ntKWnJuZwhzLA0jW','mta3nty0ofPste5LuW','mtm4ntrWyxrRrwu','mJi1mdmWwK9nqwzW','nLbLsuHAwa'];_0x26b0=function(){return _0x9b29a5;};return _0x26b0();}export{default as Label}from'./Label.vue';
@@ -1,33 +1,33 @@
1
- <script setup lang="ts">
2
- import type { ScrollAreaRootProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import {
6
- ScrollAreaCorner,
7
- ScrollAreaRoot,
8
- ScrollAreaViewport,
9
- } from "reka-ui"
10
- import { cn } from "../../../lib/cn"
11
- import ScrollBar from "./ScrollBar.vue"
12
-
13
- const props = defineProps<ScrollAreaRootProps & { class?: HTMLAttributes["class"] }>()
14
-
15
- const delegatedProps = reactiveOmit(props, "class")
16
- </script>
17
-
18
- <template>
19
- <ScrollAreaRoot
20
- data-slot="scroll-area"
21
- v-bind="delegatedProps"
22
- :class="cn('relative', props.class)"
23
- >
24
- <ScrollAreaViewport
25
- data-slot="scroll-area-viewport"
26
- class="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-3 focus-visible:outline-1"
27
- >
28
- <slot />
29
- </ScrollAreaViewport>
30
- <ScrollBar />
31
- <ScrollAreaCorner />
32
- </ScrollAreaRoot>
33
- </template>
1
+ <script setup lang="ts">
2
+ import type { ScrollAreaRootProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import {
6
+ ScrollAreaCorner,
7
+ ScrollAreaRoot,
8
+ ScrollAreaViewport,
9
+ } from "reka-ui"
10
+ import { cn } from "../../../lib/cn"
11
+ import ScrollBar from "./ScrollBar.vue"
12
+
13
+ const props = defineProps<ScrollAreaRootProps & { class?: HTMLAttributes["class"] }>()
14
+
15
+ const delegatedProps = reactiveOmit(props, "class")
16
+ </script>
17
+
18
+ <template>
19
+ <ScrollAreaRoot
20
+ data-slot="scroll-area"
21
+ v-bind="delegatedProps"
22
+ :class="cn('relative', props.class)"
23
+ >
24
+ <ScrollAreaViewport
25
+ data-slot="scroll-area-viewport"
26
+ class="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-3 focus-visible:outline-1"
27
+ >
28
+ <slot />
29
+ </ScrollAreaViewport>
30
+ <ScrollBar />
31
+ <ScrollAreaCorner />
32
+ </ScrollAreaRoot>
33
+ </template>
@@ -1,32 +1,32 @@
1
- <script setup lang="ts">
2
- import type { ScrollAreaScrollbarProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ScrollAreaScrollbar, ScrollAreaThumb } from "reka-ui"
6
- import { cn } from "../../../lib/cn"
7
-
8
- const props = withDefaults(defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes["class"] }>(), {
9
- orientation: "vertical",
10
- })
11
-
12
- const delegatedProps = reactiveOmit(props, "class")
13
- </script>
14
-
15
- <template>
16
- <ScrollAreaScrollbar
17
- data-slot="scroll-area-scrollbar"
18
- v-bind="delegatedProps"
19
- :class="
20
- cn('flex touch-none p-px transition-colors select-none',
21
- orientation === 'vertical'
22
- && 'h-full w-2.5 border-l border-l-transparent',
23
- orientation === 'horizontal'
24
- && 'h-2.5 flex-col border-t border-t-transparent',
25
- props.class)"
26
- >
27
- <ScrollAreaThumb
28
- data-slot="scroll-area-thumb"
29
- class="bg-border relative flex-1 rounded-full"
30
- />
31
- </ScrollAreaScrollbar>
32
- </template>
1
+ <script setup lang="ts">
2
+ import type { ScrollAreaScrollbarProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { ScrollAreaScrollbar, ScrollAreaThumb } from "reka-ui"
6
+ import { cn } from "../../../lib/cn"
7
+
8
+ const props = withDefaults(defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes["class"] }>(), {
9
+ orientation: "vertical",
10
+ })
11
+
12
+ const delegatedProps = reactiveOmit(props, "class")
13
+ </script>
14
+
15
+ <template>
16
+ <ScrollAreaScrollbar
17
+ data-slot="scroll-area-scrollbar"
18
+ v-bind="delegatedProps"
19
+ :class="
20
+ cn('flex touch-none p-px transition-colors select-none',
21
+ orientation === 'vertical'
22
+ && 'h-full w-2.5 border-l border-l-transparent',
23
+ orientation === 'horizontal'
24
+ && 'h-2.5 flex-col border-t border-t-transparent',
25
+ props.class)"
26
+ >
27
+ <ScrollAreaThumb
28
+ data-slot="scroll-area-thumb"
29
+ class="bg-border relative flex-1 rounded-full"
30
+ />
31
+ </ScrollAreaScrollbar>
32
+ </template>
@@ -1 +1 @@
1
- function _0x2fb5(_0x223a40,_0x3d854f){_0x223a40=_0x223a40-0x74;var _0x408d2c=_0x408d();var _0x2fb5c7=_0x408d2c[_0x223a40];if(_0x2fb5['DUdHOG']===undefined){var _0x3de976=function(_0x5a5358){var _0x262fa4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x384434='',_0x130c91='';for(var _0x4898c9=0x0,_0x3dec03,_0x2c8c9d,_0x227d7f=0x0;_0x2c8c9d=_0x5a5358['charAt'](_0x227d7f++);~_0x2c8c9d&&(_0x3dec03=_0x4898c9%0x4?_0x3dec03*0x40+_0x2c8c9d:_0x2c8c9d,_0x4898c9++%0x4)?_0x384434+=String['fromCharCode'](0xff&_0x3dec03>>(-0x2*_0x4898c9&0x6)):0x0){_0x2c8c9d=_0x262fa4['indexOf'](_0x2c8c9d);}for(var _0x249c9c=0x0,_0x27c920=_0x384434['length'];_0x249c9c<_0x27c920;_0x249c9c++){_0x130c91+='%'+('00'+_0x384434['charCodeAt'](_0x249c9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x130c91);};_0x2fb5['VowDDD']=_0x3de976,_0x2fb5['cbwmZq']={},_0x2fb5['DUdHOG']=!![];}var _0x3625c6=_0x408d2c[0x0],_0x32e48e=_0x223a40+_0x3625c6,_0x1364a8=_0x2fb5['cbwmZq'][_0x32e48e];return!_0x1364a8?(_0x2fb5c7=_0x2fb5['VowDDD'](_0x2fb5c7),_0x2fb5['cbwmZq'][_0x32e48e]=_0x2fb5c7):_0x2fb5c7=_0x1364a8,_0x2fb5c7;}(function(_0x71b8b8,_0x38b91d){var _0x958dfb=_0x2fb5,_0x3db793=_0x71b8b8();while(!![]){try{var _0x4527d7=-parseInt(_0x958dfb(0x7b))/0x1+parseInt(_0x958dfb(0x76))/0x2*(parseInt(_0x958dfb(0x79))/0x3)+-parseInt(_0x958dfb(0x7d))/0x4*(-parseInt(_0x958dfb(0x78))/0x5)+parseInt(_0x958dfb(0x74))/0x6*(-parseInt(_0x958dfb(0x7a))/0x7)+-parseInt(_0x958dfb(0x77))/0x8+-parseInt(_0x958dfb(0x7c))/0x9+-parseInt(_0x958dfb(0x75))/0xa*(-parseInt(_0x958dfb(0x7e))/0xb);if(_0x4527d7===_0x38b91d)break;else _0x3db793['push'](_0x3db793['shift']());}catch(_0x469b8f){_0x3db793['push'](_0x3db793['shift']());}}}(_0x408d,0x9a0b0));export{default as ScrollArea}from'./ScrollArea.vue';function _0x408d(){var _0x4a9f29=['mtG3wMnZv1bK','ndK4nteWEhzJtgX6','nJm0nduWthnKs3bJ','nZuWDKXHDwHM','mJC5ndu1mLLPzhrYqq','mte1vLbxvevI','nti3nejWCgHVDG','n0P1t0H3BG','nZu4mdaWvMr2v1n5','mJyZoduXmMf0z09Sqq','nJu1mtzdyMniwhe'];_0x408d=function(){return _0x4a9f29;};return _0x408d();}export{default as ScrollBar}from'./ScrollBar.vue';
1
+ (function(_0x10ecde,_0x518ec1){var _0xa22051=_0x2910,_0x3c2b1e=_0x10ecde();while(!![]){try{var _0x2b0c89=parseInt(_0xa22051(0x175))/0x1*(-parseInt(_0xa22051(0x17e))/0x2)+parseInt(_0xa22051(0x174))/0x3+-parseInt(_0xa22051(0x17c))/0x4+parseInt(_0xa22051(0x179))/0x5*(-parseInt(_0xa22051(0x17b))/0x6)+parseInt(_0xa22051(0x177))/0x7*(-parseInt(_0xa22051(0x178))/0x8)+-parseInt(_0xa22051(0x17d))/0x9+parseInt(_0xa22051(0x17a))/0xa*(parseInt(_0xa22051(0x176))/0xb);if(_0x2b0c89===_0x518ec1)break;else _0x3c2b1e['push'](_0x3c2b1e['shift']());}catch(_0x2f9f28){_0x3c2b1e['push'](_0x3c2b1e['shift']());}}}(_0x44d9,0x7efd3));function _0x2910(_0x1ded5c,_0x5b7aca){_0x1ded5c=_0x1ded5c-0x174;var _0x44d9d9=_0x44d9();var _0x2910e5=_0x44d9d9[_0x1ded5c];if(_0x2910['NgKIvF']===undefined){var _0x21c1ea=function(_0x5bed75){var _0xed63e1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2c8687='',_0x2dd032='';for(var _0x43c43b=0x0,_0x1c0062,_0x190e03,_0x16a4df=0x0;_0x190e03=_0x5bed75['charAt'](_0x16a4df++);~_0x190e03&&(_0x1c0062=_0x43c43b%0x4?_0x1c0062*0x40+_0x190e03:_0x190e03,_0x43c43b++%0x4)?_0x2c8687+=String['fromCharCode'](0xff&_0x1c0062>>(-0x2*_0x43c43b&0x6)):0x0){_0x190e03=_0xed63e1['indexOf'](_0x190e03);}for(var _0x1a6eac=0x0,_0x420efb=_0x2c8687['length'];_0x1a6eac<_0x420efb;_0x1a6eac++){_0x2dd032+='%'+('00'+_0x2c8687['charCodeAt'](_0x1a6eac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2dd032);};_0x2910['MTVjOu']=_0x21c1ea,_0x2910['bRujbu']={},_0x2910['NgKIvF']=!![];}var _0x41bfd1=_0x44d9d9[0x0],_0x1a04f5=_0x1ded5c+_0x41bfd1,_0x3aa4ba=_0x2910['bRujbu'][_0x1a04f5];return!_0x3aa4ba?(_0x2910e5=_0x2910['MTVjOu'](_0x2910e5),_0x2910['bRujbu'][_0x1a04f5]=_0x2910e5):_0x2910e5=_0x3aa4ba,_0x2910e5;}export{default as ScrollArea}from'./ScrollArea.vue';function _0x44d9(){var _0x1a4f9c=['mtCXode4mhb2uK56DG','nde3nda0n3voCuD4Ca','mJmZohz4svzuCa','mtmXndiZnhfNtwTVAq','mZvRA2nQDfa','mtfeEw96u2W','mti4mxv1sw5Rza','mJm4odHMEhP4zLq','mtbcD25NwwW','mJu2ota4nJbozMndwMy','mZaXotaWoe1SwMTctG'];_0x44d9=function(){return _0x1a4f9c;};return _0x44d9();}export{default as ScrollBar}from'./ScrollBar.vue';
@@ -1,19 +1,19 @@
1
- <script setup lang="ts">
2
- import type { SelectRootEmits, SelectRootProps } from "reka-ui"
3
- import { SelectRoot, useForwardPropsEmits } from "reka-ui"
4
-
5
- const props = defineProps<SelectRootProps>()
6
- const emits = defineEmits<SelectRootEmits>()
7
-
8
- const forwarded = useForwardPropsEmits(props, emits)
9
- </script>
10
-
11
- <template>
12
- <SelectRoot
13
- v-slot="slotProps"
14
- data-slot="select"
15
- v-bind="forwarded"
16
- >
17
- <slot v-bind="slotProps" />
18
- </SelectRoot>
19
- </template>
1
+ <script setup lang="ts">
2
+ import type { SelectRootEmits, SelectRootProps } from "reka-ui"
3
+ import { SelectRoot, useForwardPropsEmits } from "reka-ui"
4
+
5
+ const props = defineProps<SelectRootProps>()
6
+ const emits = defineEmits<SelectRootEmits>()
7
+
8
+ const forwarded = useForwardPropsEmits(props, emits)
9
+ </script>
10
+
11
+ <template>
12
+ <SelectRoot
13
+ v-slot="slotProps"
14
+ data-slot="select"
15
+ v-bind="forwarded"
16
+ >
17
+ <slot v-bind="slotProps" />
18
+ </SelectRoot>
19
+ </template>