vome-core 0.3.69 → 0.3.71

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 (280) hide show
  1. package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
  2. package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
  3. package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
  4. package/dist/admin/components/ui/avatar/index.js +1 -1
  5. package/dist/admin/components/ui/badge/Badge.vue +26 -26
  6. package/dist/admin/components/ui/button/Button.vue +31 -31
  7. package/dist/admin/components/ui/button/index.d.ts +1 -1
  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.d.ts +7 -0
  119. package/dist/admin/crud/auto-fields.js +1 -1
  120. package/dist/admin/crud/components/vm-avatar.vue +104 -104
  121. package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
  122. package/dist/admin/crud/components/vm-column-custom.vue +193 -193
  123. package/dist/admin/crud/components/vm-context-menu.vue +105 -105
  124. package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
  125. package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
  126. package/dist/admin/crud/components/vm-date-picker.vue +75 -75
  127. package/dist/admin/crud/components/vm-date-range.vue +88 -88
  128. package/dist/admin/crud/components/vm-date-text.vue +42 -42
  129. package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
  130. package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
  131. package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
  132. package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
  133. package/dist/admin/crud/components/vm-form-hint.vue +81 -81
  134. package/dist/admin/crud/components/vm-json-code.vue +41 -41
  135. package/dist/admin/crud/components/vm-json-editor.vue +161 -161
  136. package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
  137. package/dist/admin/crud/components/vm-kv-row.vue +51 -51
  138. package/dist/admin/crud/components/vm-multi-select.vue +279 -279
  139. package/dist/admin/crud/components/vm-number-range.vue +204 -204
  140. package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
  141. package/dist/admin/crud/components/vm-radio.vue +87 -87
  142. package/dist/admin/crud/components/vm-richtext.vue +313 -313
  143. package/dist/admin/crud/components/vm-select.vue +570 -570
  144. package/dist/admin/crud/components/vm-status-tag.vue +158 -158
  145. package/dist/admin/crud/components/vm-switch.vue +158 -158
  146. package/dist/admin/crud/components/vm-tag-list.vue +108 -108
  147. package/dist/admin/crud/components/vm-text-link.vue +52 -52
  148. package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
  149. package/dist/admin/crud/components/vm-tree-select.vue +450 -450
  150. package/dist/admin/crud/components/vm-upload-item.vue +298 -298
  151. package/dist/admin/crud/components/vm-upload.vue +436 -436
  152. package/dist/admin/crud/config.js +1 -1
  153. package/dist/admin/crud/confirm.js +1 -1
  154. package/dist/admin/crud/crud-page-request.js +1 -1
  155. package/dist/admin/crud/data-i18n.js +1 -1
  156. package/dist/admin/crud/dict.js +1 -1
  157. package/dist/admin/crud/export-fetch.js +1 -1
  158. package/dist/admin/crud/index.d.ts +1 -1
  159. package/dist/admin/crud/index.js +1 -0
  160. package/dist/admin/crud/key.js +1 -1
  161. package/dist/admin/crud/plugins.js +1 -1
  162. package/dist/admin/crud/span.js +1 -1
  163. package/dist/admin/crud/style.js +1 -1
  164. package/dist/admin/crud/validate.js +1 -1
  165. package/dist/admin/crud/vm-add-btn.vue +70 -70
  166. package/dist/admin/crud/vm-adv-search.vue +83 -83
  167. package/dist/admin/crud/vm-crud.vue +711 -711
  168. package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
  169. package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
  170. package/dist/admin/crud/vm-export-btn.vue +183 -183
  171. package/dist/admin/crud/vm-flex.vue +14 -14
  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/hooks/useVome.d.ts +2 -2
  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/stores/app.d.ts +13 -1
  204. package/dist/admin/stores/tags.d.ts +14 -1
  205. package/dist/admin/stores/user.d.ts +48 -1
  206. package/dist/admin/styles/base.css +121 -121
  207. package/dist/admin/vendor/browser-image-compression.js +1144 -1144
  208. package/dist/admin/vendor/decimal-js.js +12 -12
  209. package/dist/admin/vendor/xlsx.js +263 -263
  210. package/dist/ai/index.js +1 -1
  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.d.ts +7 -4
  217. package/dist/client/eps.js +1 -1
  218. package/dist/client/index.d.ts +1 -1
  219. package/dist/client/index.js +1 -1
  220. package/dist/client/locale-change.js +1 -1
  221. package/dist/client/locale-store.d.ts +45 -1
  222. package/dist/client/locale-store.js +1 -1
  223. package/dist/client/path.js +1 -1
  224. package/dist/client/service.d.ts +8 -0
  225. package/dist/client/service.js +1 -1
  226. package/dist/client/vite-admin.js +1 -1
  227. package/dist/client/vite-auto-import.js +1 -1
  228. package/dist/client/vite-micro-proxy.js +1 -1
  229. package/dist/client/vite-plugin-eps.d.ts +5 -0
  230. package/dist/client/vite-plugin-eps.js +1 -1
  231. package/dist/client/vite-resolve.js +1 -1
  232. package/dist/config/index.js +1 -1
  233. package/dist/core/index.d.ts +2 -2
  234. package/dist/index.js +1 -1
  235. package/dist/orm/index.d.ts +2 -0
  236. package/dist/orm/patch-bun-sql-jsonb.d.ts +1 -0
  237. package/dist/routing/context.d.ts +12 -2
  238. package/dist/routing/eps.d.ts +4 -1
  239. package/dist/routing/index.d.ts +2 -1
  240. package/dist/routing/metadata.d.ts +7 -3
  241. package/dist/server/index.d.ts +4 -2
  242. package/dist/server/index.js +1 -1
  243. package/dist/shared/datetime-picker.js +1 -1
  244. package/dist/shared/decimal.js +1 -1
  245. package/dist/shared/excel.js +1 -1
  246. package/dist/shared/index.js +1 -1
  247. package/dist/shared/locale-json.js +1 -1
  248. package/dist/shared/tree.js +1 -1
  249. package/dist/typings/routing/eps.d.ts +3 -1
  250. package/dist/typings/routing/meta.d.ts +15 -0
  251. package/package.json +1 -1
  252. package/typings/admin/base/auth.ts +24 -24
  253. package/typings/admin/base/permission.ts +19 -19
  254. package/typings/admin/comm/cascader.ts +7 -7
  255. package/typings/admin/comm/check-tree.ts +7 -7
  256. package/typings/admin/comm/crud.ts +427 -427
  257. package/typings/admin/comm/eps.ts +88 -86
  258. package/typings/admin/comm/request.ts +16 -16
  259. package/typings/admin/comm/service.ts +43 -43
  260. package/typings/admin/comm/upload.ts +39 -39
  261. package/typings/admin/theme.ts +10 -10
  262. package/typings/admin/vome/browser.ts +11 -11
  263. package/typings/admin/vome/module.ts +13 -13
  264. package/typings/admin/vome/tags.ts +9 -9
  265. package/typings/comm/crud.ts +83 -83
  266. package/typings/comm/page.ts +18 -18
  267. package/typings/comm/scan.ts +6 -6
  268. package/typings/common.ts +4 -4
  269. package/typings/context/data.ts +10 -10
  270. package/typings/ext/market-seat.ts +42 -42
  271. package/typings/ext/market.ts +55 -55
  272. package/typings/ext/module.ts +64 -64
  273. package/typings/ext/plugin.ts +38 -38
  274. package/typings/ioc/metadata.ts +34 -34
  275. package/typings/logger/config.ts +6 -6
  276. package/typings/routing/crud.ts +199 -199
  277. package/typings/routing/eps.ts +90 -88
  278. package/typings/routing/meta.ts +80 -63
  279. package/typings/routing/register.ts +21 -21
  280. package/typings/routing/scan-context.ts +7 -7
@@ -1,21 +1,21 @@
1
- <script setup lang="ts">
2
- import type { DialogOverlayProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { DialogOverlay } from "reka-ui"
6
- import { cn } from "../../../lib/cn"
7
-
8
- const props = defineProps<DialogOverlayProps & { class?: HTMLAttributes["class"] }>()
9
-
10
- const delegatedProps = reactiveOmit(props, "class")
11
- </script>
12
-
13
- <template>
14
- <DialogOverlay
15
- data-slot="dialog-overlay"
16
- v-bind="delegatedProps"
17
- :class="cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80', props.class)"
18
- >
19
- <slot />
20
- </DialogOverlay>
21
- </template>
1
+ <script setup lang="ts">
2
+ import type { DialogOverlayProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { DialogOverlay } from "reka-ui"
6
+ import { cn } from "../../../lib/cn"
7
+
8
+ const props = defineProps<DialogOverlayProps & { class?: HTMLAttributes["class"] }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, "class")
11
+ </script>
12
+
13
+ <template>
14
+ <DialogOverlay
15
+ data-slot="dialog-overlay"
16
+ v-bind="delegatedProps"
17
+ :class="cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80', props.class)"
18
+ >
19
+ <slot />
20
+ </DialogOverlay>
21
+ </template>
@@ -1,60 +1,60 @@
1
- <script setup lang="ts">
2
- import type { DialogContentEmits, DialogContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { X } from "@lucide/vue"
5
- import { reactiveOmit } from "@vueuse/core"
6
- import {
7
- DialogClose,
8
- DialogContent,
9
- DialogOverlay,
10
- DialogPortal,
11
- useForwardPropsEmits,
12
- } from "reka-ui"
13
- import { cn } from "../../../lib/cn"
14
-
15
- defineOptions({
16
- inheritAttrs: false,
17
- })
18
-
19
- const props = defineProps<DialogContentProps & { class?: HTMLAttributes["class"] }>()
20
- const emits = defineEmits<DialogContentEmits>()
21
-
22
- const delegatedProps = reactiveOmit(props, "class")
23
-
24
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
25
- </script>
26
-
27
- <template>
28
- <DialogPortal>
29
- <DialogOverlay
30
- class="fixed inset-0 z-50 grid place-items-center overflow-y-auto bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
31
- >
32
- <DialogContent
33
- :class="
34
- cn(
35
- 'relative z-50 grid w-full max-w-lg my-8 gap-4 border border-border bg-background p-6 shadow-lg duration-200 sm:rounded-lg md:w-full',
36
- props.class,
37
- )
38
- "
39
- v-bind="{ ...$attrs, ...forwarded }"
40
- :aria-describedby="undefined"
41
- @pointer-down-outside="(event) => {
42
- const originalEvent = event.detail.originalEvent;
43
- const target = originalEvent.target as HTMLElement;
44
- if (originalEvent.offsetX > target.clientWidth || originalEvent.offsetY > target.clientHeight) {
45
- event.preventDefault();
46
- }
47
- }"
48
- >
49
- <slot />
50
-
51
- <DialogClose
52
- class="absolute top-4 right-4 p-0.5 transition-colors rounded-md hover:bg-secondary"
53
- >
54
- <X class="w-4 h-4" />
55
- <span class="sr-only">Close</span>
56
- </DialogClose>
57
- </DialogContent>
58
- </DialogOverlay>
59
- </DialogPortal>
60
- </template>
1
+ <script setup lang="ts">
2
+ import type { DialogContentEmits, DialogContentProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { X } from "@lucide/vue"
5
+ import { reactiveOmit } from "@vueuse/core"
6
+ import {
7
+ DialogClose,
8
+ DialogContent,
9
+ DialogOverlay,
10
+ DialogPortal,
11
+ useForwardPropsEmits,
12
+ } from "reka-ui"
13
+ import { cn } from "../../../lib/cn"
14
+
15
+ defineOptions({
16
+ inheritAttrs: false,
17
+ })
18
+
19
+ const props = defineProps<DialogContentProps & { class?: HTMLAttributes["class"] }>()
20
+ const emits = defineEmits<DialogContentEmits>()
21
+
22
+ const delegatedProps = reactiveOmit(props, "class")
23
+
24
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
25
+ </script>
26
+
27
+ <template>
28
+ <DialogPortal>
29
+ <DialogOverlay
30
+ class="fixed inset-0 z-50 grid place-items-center overflow-y-auto bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
31
+ >
32
+ <DialogContent
33
+ :class="
34
+ cn(
35
+ 'relative z-50 grid w-full max-w-lg my-8 gap-4 border border-border bg-background p-6 shadow-lg duration-200 sm:rounded-lg md:w-full',
36
+ props.class,
37
+ )
38
+ "
39
+ v-bind="{ ...$attrs, ...forwarded }"
40
+ :aria-describedby="undefined"
41
+ @pointer-down-outside="(event) => {
42
+ const originalEvent = event.detail.originalEvent;
43
+ const target = originalEvent.target as HTMLElement;
44
+ if (originalEvent.offsetX > target.clientWidth || originalEvent.offsetY > target.clientHeight) {
45
+ event.preventDefault();
46
+ }
47
+ }"
48
+ >
49
+ <slot />
50
+
51
+ <DialogClose
52
+ class="absolute top-4 right-4 p-0.5 transition-colors rounded-md hover:bg-secondary"
53
+ >
54
+ <X class="w-4 h-4" />
55
+ <span class="sr-only">Close</span>
56
+ </DialogClose>
57
+ </DialogContent>
58
+ </DialogOverlay>
59
+ </DialogPortal>
60
+ </template>
@@ -1,23 +1,23 @@
1
- <script setup lang="ts">
2
- import type { DialogTitleProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { DialogTitle, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/cn"
7
-
8
- const props = defineProps<DialogTitleProps & { class?: HTMLAttributes["class"] }>()
9
-
10
- const delegatedProps = reactiveOmit(props, "class")
11
-
12
- const forwardedProps = useForwardProps(delegatedProps)
13
- </script>
14
-
15
- <template>
16
- <DialogTitle
17
- data-slot="dialog-title"
18
- v-bind="forwardedProps"
19
- :class="cn('text-lg leading-none font-semibold', props.class)"
20
- >
21
- <slot />
22
- </DialogTitle>
23
- </template>
1
+ <script setup lang="ts">
2
+ import type { DialogTitleProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { DialogTitle, useForwardProps } from "reka-ui"
6
+ import { cn } from "../../../lib/cn"
7
+
8
+ const props = defineProps<DialogTitleProps & { class?: HTMLAttributes["class"] }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, "class")
11
+
12
+ const forwardedProps = useForwardProps(delegatedProps)
13
+ </script>
14
+
15
+ <template>
16
+ <DialogTitle
17
+ data-slot="dialog-title"
18
+ v-bind="forwardedProps"
19
+ :class="cn('text-lg leading-none font-semibold', props.class)"
20
+ >
21
+ <slot />
22
+ </DialogTitle>
23
+ </template>
@@ -1,15 +1,15 @@
1
- <script setup lang="ts">
2
- import type { DialogTriggerProps } from "reka-ui"
3
- import { DialogTrigger } from "reka-ui"
4
-
5
- const props = defineProps<DialogTriggerProps>()
6
- </script>
7
-
8
- <template>
9
- <DialogTrigger
10
- data-slot="dialog-trigger"
11
- v-bind="props"
12
- >
13
- <slot />
14
- </DialogTrigger>
15
- </template>
1
+ <script setup lang="ts">
2
+ import type { DialogTriggerProps } from "reka-ui"
3
+ import { DialogTrigger } from "reka-ui"
4
+
5
+ const props = defineProps<DialogTriggerProps>()
6
+ </script>
7
+
8
+ <template>
9
+ <DialogTrigger
10
+ data-slot="dialog-trigger"
11
+ v-bind="props"
12
+ >
13
+ <slot />
14
+ </DialogTrigger>
15
+ </template>
@@ -1 +1 @@
1
- (function(_0x308bb7,_0x5daa19){var _0x38b426=_0x249f,_0x585da8=_0x308bb7();while(!![]){try{var _0x1bb5a4=parseInt(_0x38b426(0x105))/0x1+-parseInt(_0x38b426(0x101))/0x2*(parseInt(_0x38b426(0x102))/0x3)+-parseInt(_0x38b426(0x106))/0x4+parseInt(_0x38b426(0x103))/0x5+parseInt(_0x38b426(0xff))/0x6+-parseInt(_0x38b426(0x107))/0x7*(-parseInt(_0x38b426(0x100))/0x8)+-parseInt(_0x38b426(0x104))/0x9*(parseInt(_0x38b426(0xfe))/0xa);if(_0x1bb5a4===_0x5daa19)break;else _0x585da8['push'](_0x585da8['shift']());}catch(_0x2e4431){_0x585da8['push'](_0x585da8['shift']());}}}(_0x20d5,0x4e5dd));export{default as Dialog}from'./Dialog.vue';function _0x20d5(){var _0x2f1481=['mtm2nJe1mKDwrxP1DG','mtm2swTqsKrm','mtmXntzOveDtsMO','ntDpD0HtshO','mJuXodGYnuztCMHosW','ovvSzuvbsG','mJaYotC1v0rzzKHP','mtqZmtu5nMDKz3fptG','mJa2oty5rLzqv29r','nJmZmJaXmeLLANPNzq'];_0x20d5=function(){return _0x2f1481;};return _0x20d5();}export{default as DialogClose}from'./DialogClose.vue';function _0x249f(_0x439157,_0x4d91ed){_0x439157=_0x439157-0xfe;var _0x20d59e=_0x20d5();var _0x249f12=_0x20d59e[_0x439157];if(_0x249f['QmKpDP']===undefined){var _0x319675=function(_0x57fd11){var _0x1ecb19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x176c8d='',_0x3ec362='';for(var _0x2667fe=0x0,_0x151b97,_0x551a3d,_0x409952=0x0;_0x551a3d=_0x57fd11['charAt'](_0x409952++);~_0x551a3d&&(_0x151b97=_0x2667fe%0x4?_0x151b97*0x40+_0x551a3d:_0x551a3d,_0x2667fe++%0x4)?_0x176c8d+=String['fromCharCode'](0xff&_0x151b97>>(-0x2*_0x2667fe&0x6)):0x0){_0x551a3d=_0x1ecb19['indexOf'](_0x551a3d);}for(var _0x5504d2=0x0,_0x2b9150=_0x176c8d['length'];_0x5504d2<_0x2b9150;_0x5504d2++){_0x3ec362+='%'+('00'+_0x176c8d['charCodeAt'](_0x5504d2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ec362);};_0x249f['KYwJbL']=_0x319675,_0x249f['pwwyXb']={},_0x249f['QmKpDP']=!![];}var _0x1dd7c2=_0x20d59e[0x0],_0x253860=_0x439157+_0x1dd7c2,_0x175651=_0x249f['pwwyXb'][_0x253860];return!_0x175651?(_0x249f12=_0x249f['KYwJbL'](_0x249f12),_0x249f['pwwyXb'][_0x253860]=_0x249f12):_0x249f12=_0x175651,_0x249f12;}export{default as DialogContent}from'./DialogContent.vue';export{default as DialogDescription}from'./DialogDescription.vue';export{default as DialogFooter}from'./DialogFooter.vue';export{default as DialogHeader}from'./DialogHeader.vue';export{default as DialogOverlay}from'./DialogOverlay.vue';export{default as DialogScrollContent}from'./DialogScrollContent.vue';export{default as DialogTitle}from'./DialogTitle.vue';export{default as DialogTrigger}from'./DialogTrigger.vue';
1
+ function _0x556d(){var _0x31ea6b=['nLbtAKfYDG','mtyYoteXmgfhC3nIta','mti0qNvwCgns','nZG4oti5nNf2wLn4rW','mtneugLRsNy','nduXnwHtrLDIuq','ntGYota0oez5AgLNra','nJqWotCZouritKPwCW','mtqXndm4ndbbuKrAzuO','mti4odq2sKvXvuvU'];_0x556d=function(){return _0x31ea6b;};return _0x556d();}(function(_0x524d23,_0x2d3779){var _0x2ae99d=_0x234f,_0x422b76=_0x524d23();while(!![]){try{var _0x37b645=parseInt(_0x2ae99d(0x178))/0x1*(parseInt(_0x2ae99d(0x173))/0x2)+-parseInt(_0x2ae99d(0x179))/0x3*(-parseInt(_0x2ae99d(0x176))/0x4)+parseInt(_0x2ae99d(0x175))/0x5+-parseInt(_0x2ae99d(0x174))/0x6*(parseInt(_0x2ae99d(0x171))/0x7)+parseInt(_0x2ae99d(0x177))/0x8+parseInt(_0x2ae99d(0x17a))/0x9+-parseInt(_0x2ae99d(0x172))/0xa;if(_0x37b645===_0x2d3779)break;else _0x422b76['push'](_0x422b76['shift']());}catch(_0x41d021){_0x422b76['push'](_0x422b76['shift']());}}}(_0x556d,0x7d6d5));export{default as Dialog}from'./Dialog.vue';export{default as DialogClose}from'./DialogClose.vue';export{default as DialogContent}from'./DialogContent.vue';export{default as DialogDescription}from'./DialogDescription.vue';export{default as DialogFooter}from'./DialogFooter.vue';export{default as DialogHeader}from'./DialogHeader.vue';export{default as DialogOverlay}from'./DialogOverlay.vue';export{default as DialogScrollContent}from'./DialogScrollContent.vue';function _0x234f(_0x24cf56,_0x116892){_0x24cf56=_0x24cf56-0x171;var _0x556da2=_0x556d();var _0x234f5f=_0x556da2[_0x24cf56];if(_0x234f['pwslJP']===undefined){var _0x12f6cf=function(_0x1ce892){var _0x41785c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2bd8f9='',_0x568d07='';for(var _0x31da78=0x0,_0x3ecebe,_0x532c8c,_0x5d7303=0x0;_0x532c8c=_0x1ce892['charAt'](_0x5d7303++);~_0x532c8c&&(_0x3ecebe=_0x31da78%0x4?_0x3ecebe*0x40+_0x532c8c:_0x532c8c,_0x31da78++%0x4)?_0x2bd8f9+=String['fromCharCode'](0xff&_0x3ecebe>>(-0x2*_0x31da78&0x6)):0x0){_0x532c8c=_0x41785c['indexOf'](_0x532c8c);}for(var _0x4dbe0c=0x0,_0x5e6e10=_0x2bd8f9['length'];_0x4dbe0c<_0x5e6e10;_0x4dbe0c++){_0x568d07+='%'+('00'+_0x2bd8f9['charCodeAt'](_0x4dbe0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x568d07);};_0x234f['JOZFSm']=_0x12f6cf,_0x234f['GeMVcp']={},_0x234f['pwslJP']=!![];}var _0x27f3b8=_0x556da2[0x0],_0x295955=_0x24cf56+_0x27f3b8,_0x3d5aff=_0x234f['GeMVcp'][_0x295955];return!_0x3d5aff?(_0x234f5f=_0x234f['JOZFSm'](_0x234f5f),_0x234f['GeMVcp'][_0x295955]=_0x234f5f):_0x234f5f=_0x3d5aff,_0x234f5f;}export{default as DialogTitle}from'./DialogTitle.vue';export{default as DialogTrigger}from'./DialogTrigger.vue';
@@ -1,19 +1,19 @@
1
- <script setup lang="ts">
2
- import type { DropdownMenuRootEmits, DropdownMenuRootProps } from "reka-ui"
3
- import { DropdownMenuRoot, useForwardPropsEmits } from "reka-ui"
4
-
5
- const props = defineProps<DropdownMenuRootProps>()
6
- const emits = defineEmits<DropdownMenuRootEmits>()
7
-
8
- const forwarded = useForwardPropsEmits(props, emits)
9
- </script>
10
-
11
- <template>
12
- <DropdownMenuRoot
13
- v-slot="slotProps"
14
- data-slot="dropdown-menu"
15
- v-bind="forwarded"
16
- >
17
- <slot v-bind="slotProps" />
18
- </DropdownMenuRoot>
19
- </template>
1
+ <script setup lang="ts">
2
+ import type { DropdownMenuRootEmits, DropdownMenuRootProps } from "reka-ui"
3
+ import { DropdownMenuRoot, useForwardPropsEmits } from "reka-ui"
4
+
5
+ const props = defineProps<DropdownMenuRootProps>()
6
+ const emits = defineEmits<DropdownMenuRootEmits>()
7
+
8
+ const forwarded = useForwardPropsEmits(props, emits)
9
+ </script>
10
+
11
+ <template>
12
+ <DropdownMenuRoot
13
+ v-slot="slotProps"
14
+ data-slot="dropdown-menu"
15
+ v-bind="forwarded"
16
+ >
17
+ <slot v-bind="slotProps" />
18
+ </DropdownMenuRoot>
19
+ </template>
@@ -1,39 +1,39 @@
1
- <script setup lang="ts">
2
- import type { DropdownMenuCheckboxItemEmits, DropdownMenuCheckboxItemProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { Check } from "@lucide/vue"
5
- import { reactiveOmit } from "@vueuse/core"
6
- import {
7
- DropdownMenuCheckboxItem,
8
- DropdownMenuItemIndicator,
9
- useForwardPropsEmits,
10
- } from "reka-ui"
11
- import { cn } from "../../../lib/cn"
12
-
13
- const props = defineProps<DropdownMenuCheckboxItemProps & { class?: HTMLAttributes["class"] }>()
14
- const emits = defineEmits<DropdownMenuCheckboxItemEmits>()
15
-
16
- const delegatedProps = reactiveOmit(props, "class")
17
-
18
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
19
- </script>
20
-
21
- <template>
22
- <DropdownMenuCheckboxItem
23
- data-slot="dropdown-menu-checkbox-item"
24
- v-bind="forwarded"
25
- :class=" cn(
26
- 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
27
- props.class,
28
- )"
29
- >
30
- <span class="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
31
- <DropdownMenuItemIndicator>
32
- <slot name="indicator-icon">
33
- <Check class="size-4" />
34
- </slot>
35
- </DropdownMenuItemIndicator>
36
- </span>
37
- <slot />
38
- </DropdownMenuCheckboxItem>
39
- </template>
1
+ <script setup lang="ts">
2
+ import type { DropdownMenuCheckboxItemEmits, DropdownMenuCheckboxItemProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { Check } from "@lucide/vue"
5
+ import { reactiveOmit } from "@vueuse/core"
6
+ import {
7
+ DropdownMenuCheckboxItem,
8
+ DropdownMenuItemIndicator,
9
+ useForwardPropsEmits,
10
+ } from "reka-ui"
11
+ import { cn } from "../../../lib/cn"
12
+
13
+ const props = defineProps<DropdownMenuCheckboxItemProps & { class?: HTMLAttributes["class"] }>()
14
+ const emits = defineEmits<DropdownMenuCheckboxItemEmits>()
15
+
16
+ const delegatedProps = reactiveOmit(props, "class")
17
+
18
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
19
+ </script>
20
+
21
+ <template>
22
+ <DropdownMenuCheckboxItem
23
+ data-slot="dropdown-menu-checkbox-item"
24
+ v-bind="forwarded"
25
+ :class=" cn(
26
+ 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
27
+ props.class,
28
+ )"
29
+ >
30
+ <span class="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
31
+ <DropdownMenuItemIndicator>
32
+ <slot name="indicator-icon">
33
+ <Check class="size-4" />
34
+ </slot>
35
+ </DropdownMenuItemIndicator>
36
+ </span>
37
+ <slot />
38
+ </DropdownMenuCheckboxItem>
39
+ </template>
@@ -1,39 +1,39 @@
1
- <script setup lang="ts">
2
- import type { DropdownMenuContentEmits, DropdownMenuContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import {
6
- DropdownMenuContent,
7
- DropdownMenuPortal,
8
- useForwardPropsEmits,
9
- } from "reka-ui"
10
- import { cn } from "../../../lib/cn"
11
-
12
- defineOptions({
13
- inheritAttrs: false,
14
- })
15
-
16
- const props = withDefaults(
17
- defineProps<DropdownMenuContentProps & { class?: HTMLAttributes["class"] }>(),
18
- {
19
- sideOffset: 4,
20
- },
21
- )
22
- const emits = defineEmits<DropdownMenuContentEmits>()
23
-
24
- const delegatedProps = reactiveOmit(props, "class")
25
-
26
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
27
- </script>
28
-
29
- <template>
30
- <DropdownMenuPortal>
31
- <DropdownMenuContent
32
- data-slot="dropdown-menu-content"
33
- v-bind="{ ...$attrs, ...forwarded }"
34
- :class="cn('vm-dialog-float bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[100] max-h-(--reka-dropdown-menu-content-available-height) min-w-[128px] origin-(--reka-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md', props.class)"
35
- >
36
- <slot />
37
- </DropdownMenuContent>
38
- </DropdownMenuPortal>
39
- </template>
1
+ <script setup lang="ts">
2
+ import type { DropdownMenuContentEmits, DropdownMenuContentProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import {
6
+ DropdownMenuContent,
7
+ DropdownMenuPortal,
8
+ useForwardPropsEmits,
9
+ } from "reka-ui"
10
+ import { cn } from "../../../lib/cn"
11
+
12
+ defineOptions({
13
+ inheritAttrs: false,
14
+ })
15
+
16
+ const props = withDefaults(
17
+ defineProps<DropdownMenuContentProps & { class?: HTMLAttributes["class"] }>(),
18
+ {
19
+ sideOffset: 4,
20
+ },
21
+ )
22
+ const emits = defineEmits<DropdownMenuContentEmits>()
23
+
24
+ const delegatedProps = reactiveOmit(props, "class")
25
+
26
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
27
+ </script>
28
+
29
+ <template>
30
+ <DropdownMenuPortal>
31
+ <DropdownMenuContent
32
+ data-slot="dropdown-menu-content"
33
+ v-bind="{ ...$attrs, ...forwarded }"
34
+ :class="cn('vm-dialog-float bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[100] max-h-(--reka-dropdown-menu-content-available-height) min-w-[128px] origin-(--reka-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md', props.class)"
35
+ >
36
+ <slot />
37
+ </DropdownMenuContent>
38
+ </DropdownMenuPortal>
39
+ </template>
@@ -1,15 +1,15 @@
1
- <script setup lang="ts">
2
- import type { DropdownMenuGroupProps } from "reka-ui"
3
- import { DropdownMenuGroup } from "reka-ui"
4
-
5
- const props = defineProps<DropdownMenuGroupProps>()
6
- </script>
7
-
8
- <template>
9
- <DropdownMenuGroup
10
- data-slot="dropdown-menu-group"
11
- v-bind="props"
12
- >
13
- <slot />
14
- </DropdownMenuGroup>
15
- </template>
1
+ <script setup lang="ts">
2
+ import type { DropdownMenuGroupProps } from "reka-ui"
3
+ import { DropdownMenuGroup } from "reka-ui"
4
+
5
+ const props = defineProps<DropdownMenuGroupProps>()
6
+ </script>
7
+
8
+ <template>
9
+ <DropdownMenuGroup
10
+ data-slot="dropdown-menu-group"
11
+ v-bind="props"
12
+ >
13
+ <slot />
14
+ </DropdownMenuGroup>
15
+ </template>
@@ -1,31 +1,31 @@
1
- <script setup lang="ts">
2
- import type { DropdownMenuItemProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { DropdownMenuItem, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/cn"
7
-
8
- const props = withDefaults(defineProps<DropdownMenuItemProps & {
9
- class?: HTMLAttributes["class"]
10
- inset?: boolean
11
- variant?: "default" | "destructive"
12
- }>(), {
13
- variant: "default",
14
- })
15
-
16
- const delegatedProps = reactiveOmit(props, "inset", "variant", "class")
17
-
18
- const forwardedProps = useForwardProps(delegatedProps)
19
- </script>
20
-
21
- <template>
22
- <DropdownMenuItem
23
- data-slot="dropdown-menu-item"
24
- :data-inset="inset ? '' : undefined"
25
- :data-variant="variant"
26
- v-bind="forwardedProps"
27
- :class="cn('focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*=\'text-\'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4', props.class)"
28
- >
29
- <slot />
30
- </DropdownMenuItem>
31
- </template>
1
+ <script setup lang="ts">
2
+ import type { DropdownMenuItemProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { DropdownMenuItem, useForwardProps } from "reka-ui"
6
+ import { cn } from "../../../lib/cn"
7
+
8
+ const props = withDefaults(defineProps<DropdownMenuItemProps & {
9
+ class?: HTMLAttributes["class"]
10
+ inset?: boolean
11
+ variant?: "default" | "destructive"
12
+ }>(), {
13
+ variant: "default",
14
+ })
15
+
16
+ const delegatedProps = reactiveOmit(props, "inset", "variant", "class")
17
+
18
+ const forwardedProps = useForwardProps(delegatedProps)
19
+ </script>
20
+
21
+ <template>
22
+ <DropdownMenuItem
23
+ data-slot="dropdown-menu-item"
24
+ :data-inset="inset ? '' : undefined"
25
+ :data-variant="variant"
26
+ v-bind="forwardedProps"
27
+ :class="cn('focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*=\'text-\'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4', props.class)"
28
+ >
29
+ <slot />
30
+ </DropdownMenuItem>
31
+ </template>
@@ -1,23 +1,23 @@
1
- <script setup lang="ts">
2
- import type { DropdownMenuLabelProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { DropdownMenuLabel, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/cn"
7
-
8
- const props = defineProps<DropdownMenuLabelProps & { class?: HTMLAttributes["class"], inset?: boolean }>()
9
-
10
- const delegatedProps = reactiveOmit(props, "class", "inset")
11
- const forwardedProps = useForwardProps(delegatedProps)
12
- </script>
13
-
14
- <template>
15
- <DropdownMenuLabel
16
- data-slot="dropdown-menu-label"
17
- :data-inset="inset ? '' : undefined"
18
- v-bind="forwardedProps"
19
- :class="cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', props.class)"
20
- >
21
- <slot />
22
- </DropdownMenuLabel>
23
- </template>
1
+ <script setup lang="ts">
2
+ import type { DropdownMenuLabelProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { DropdownMenuLabel, useForwardProps } from "reka-ui"
6
+ import { cn } from "../../../lib/cn"
7
+
8
+ const props = defineProps<DropdownMenuLabelProps & { class?: HTMLAttributes["class"], inset?: boolean }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, "class", "inset")
11
+ const forwardedProps = useForwardProps(delegatedProps)
12
+ </script>
13
+
14
+ <template>
15
+ <DropdownMenuLabel
16
+ data-slot="dropdown-menu-label"
17
+ :data-inset="inset ? '' : undefined"
18
+ v-bind="forwardedProps"
19
+ :class="cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', props.class)"
20
+ >
21
+ <slot />
22
+ </DropdownMenuLabel>
23
+ </template>