vome-core 0.3.68 → 0.3.70

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/entity-cache.d.ts +1 -1
  236. package/dist/orm/service.d.ts +5 -5
  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 +2 -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(_0x31a1c3,_0x504cbe){var _0x19b16d=_0xd866,_0x541ae0=_0x31a1c3();while(!![]){try{var _0x1c471a=parseInt(_0x19b16d(0x17f))/0x1+-parseInt(_0x19b16d(0x181))/0x2+-parseInt(_0x19b16d(0x182))/0x3+-parseInt(_0x19b16d(0x183))/0x4+parseInt(_0x19b16d(0x17c))/0x5*(parseInt(_0x19b16d(0x180))/0x6)+-parseInt(_0x19b16d(0x184))/0x7+parseInt(_0x19b16d(0x17e))/0x8*(parseInt(_0x19b16d(0x17d))/0x9);if(_0x1c471a===_0x504cbe)break;else _0x541ae0['push'](_0x541ae0['shift']());}catch(_0x2be992){_0x541ae0['push'](_0x541ae0['shift']());}}}(_0x1609,0xc3547));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';function _0x1609(){var _0x366fda=['ntCWnJa3nMnrzgTZCG','nJa3mZuXnunqD0jrwa','mJi1ndvOy3fsBhy','nJe3ngTND3nuwG','mJuXotjuy0fhEe8','mJqXntGZENLyDvrv','mtG0mK1WC2DLzq','mJu4mJm2B1vRCgH2','mty4odeYmwvKtLf2yG'];_0x1609=function(){return _0x366fda;};return _0x1609();}export{default as DialogHeader}from'./DialogHeader.vue';export{default as DialogOverlay}from'./DialogOverlay.vue';export{default as DialogScrollContent}from'./DialogScrollContent.vue';function _0xd866(_0x145c8a,_0x547f00){_0x145c8a=_0x145c8a-0x17c;var _0x1609c4=_0x1609();var _0xd86670=_0x1609c4[_0x145c8a];if(_0xd866['yYqjEH']===undefined){var _0x4bfa97=function(_0x4e89e1){var _0x3df479='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4a2f2b='',_0x36e308='';for(var _0x2bd758=0x0,_0x1eebf2,_0x52ed5b,_0x58ef58=0x0;_0x52ed5b=_0x4e89e1['charAt'](_0x58ef58++);~_0x52ed5b&&(_0x1eebf2=_0x2bd758%0x4?_0x1eebf2*0x40+_0x52ed5b:_0x52ed5b,_0x2bd758++%0x4)?_0x4a2f2b+=String['fromCharCode'](0xff&_0x1eebf2>>(-0x2*_0x2bd758&0x6)):0x0){_0x52ed5b=_0x3df479['indexOf'](_0x52ed5b);}for(var _0x15d5e5=0x0,_0x2f57db=_0x4a2f2b['length'];_0x15d5e5<_0x2f57db;_0x15d5e5++){_0x36e308+='%'+('00'+_0x4a2f2b['charCodeAt'](_0x15d5e5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36e308);};_0xd866['AsGoEC']=_0x4bfa97,_0xd866['KwphaG']={},_0xd866['yYqjEH']=!![];}var _0x1f5136=_0x1609c4[0x0],_0x2bd41b=_0x145c8a+_0x1f5136,_0x37d15a=_0xd866['KwphaG'][_0x2bd41b];return!_0x37d15a?(_0xd86670=_0xd866['AsGoEC'](_0xd86670),_0xd866['KwphaG'][_0x2bd41b]=_0xd86670):_0xd86670=_0x37d15a,_0xd86670;}export{default as DialogTitle}from'./DialogTitle.vue';export{default as DialogTrigger}from'./DialogTrigger.vue';
1
+ (function(_0x48c5ba,_0x30b62e){var _0x3c8cd6=_0x2fa0,_0x27a95b=_0x48c5ba();while(!![]){try{var _0x12b4fc=parseInt(_0x3c8cd6(0x76))/0x1+-parseInt(_0x3c8cd6(0x74))/0x2*(-parseInt(_0x3c8cd6(0x71))/0x3)+-parseInt(_0x3c8cd6(0x77))/0x4+parseInt(_0x3c8cd6(0x75))/0x5+parseInt(_0x3c8cd6(0x70))/0x6+-parseInt(_0x3c8cd6(0x72))/0x7*(-parseInt(_0x3c8cd6(0x78))/0x8)+parseInt(_0x3c8cd6(0x73))/0x9*(-parseInt(_0x3c8cd6(0x79))/0xa);if(_0x12b4fc===_0x30b62e)break;else _0x27a95b['push'](_0x27a95b['shift']());}catch(_0x57ae22){_0x27a95b['push'](_0x27a95b['shift']());}}}(_0x5539,0x7f050));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';function _0x2fa0(_0x43e5fa,_0x45f1b5){_0x43e5fa=_0x43e5fa-0x70;var _0x553990=_0x5539();var _0x2fa0fe=_0x553990[_0x43e5fa];if(_0x2fa0['oRswNX']===undefined){var _0x45d133=function(_0x361c1d){var _0x2fbbbd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2c89e9='',_0x462109='';for(var _0x5e6d8f=0x0,_0x24b7dd,_0x413b8a,_0x448f88=0x0;_0x413b8a=_0x361c1d['charAt'](_0x448f88++);~_0x413b8a&&(_0x24b7dd=_0x5e6d8f%0x4?_0x24b7dd*0x40+_0x413b8a:_0x413b8a,_0x5e6d8f++%0x4)?_0x2c89e9+=String['fromCharCode'](0xff&_0x24b7dd>>(-0x2*_0x5e6d8f&0x6)):0x0){_0x413b8a=_0x2fbbbd['indexOf'](_0x413b8a);}for(var _0x521e01=0x0,_0x159b31=_0x2c89e9['length'];_0x521e01<_0x159b31;_0x521e01++){_0x462109+='%'+('00'+_0x2c89e9['charCodeAt'](_0x521e01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x462109);};_0x2fa0['zeaZQF']=_0x45d133,_0x2fa0['RdDjSM']={},_0x2fa0['oRswNX']=!![];}var _0x5f2a04=_0x553990[0x0],_0x3d8713=_0x43e5fa+_0x5f2a04,_0x20f9bd=_0x2fa0['RdDjSM'][_0x3d8713];return!_0x20f9bd?(_0x2fa0fe=_0x2fa0['zeaZQF'](_0x2fa0fe),_0x2fa0['RdDjSM'][_0x3d8713]=_0x2fa0fe):_0x2fa0fe=_0x20f9bd,_0x2fa0fe;}export{default as DialogOverlay}from'./DialogOverlay.vue';export{default as DialogScrollContent}from'./DialogScrollContent.vue';export{default as DialogTitle}from'./DialogTitle.vue';function _0x5539(){var _0x54b3ee=['ndG5nZqZELjsA3vn','otu3nJyWqwPzqKPN','mZaWntq4ognVu1blBG','mJmZotG2nJbZuvLtC1C','mJCZmZa4nhHpvhL1Ca','mJC4n2ThvgXrBa','mtruEhfmt3q','ovfirvD0sa','mJe5nNPpq0DMAG','mtKXndqXmgrgCuHutW'];_0x5539=function(){return _0x54b3ee;};return _0x5539();}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>
@@ -1,21 +1,21 @@
1
- <script setup lang="ts">
2
- import type { DropdownMenuRadioGroupEmits, DropdownMenuRadioGroupProps } from "reka-ui"
3
- import {
4
- DropdownMenuRadioGroup,
5
- useForwardPropsEmits,
6
- } from "reka-ui"
7
-
8
- const props = defineProps<DropdownMenuRadioGroupProps>()
9
- const emits = defineEmits<DropdownMenuRadioGroupEmits>()
10
-
11
- const forwarded = useForwardPropsEmits(props, emits)
12
- </script>
13
-
14
- <template>
15
- <DropdownMenuRadioGroup
16
- data-slot="dropdown-menu-radio-group"
17
- v-bind="forwarded"
18
- >
19
- <slot />
20
- </DropdownMenuRadioGroup>
21
- </template>
1
+ <script setup lang="ts">
2
+ import type { DropdownMenuRadioGroupEmits, DropdownMenuRadioGroupProps } from "reka-ui"
3
+ import {
4
+ DropdownMenuRadioGroup,
5
+ useForwardPropsEmits,
6
+ } from "reka-ui"
7
+
8
+ const props = defineProps<DropdownMenuRadioGroupProps>()
9
+ const emits = defineEmits<DropdownMenuRadioGroupEmits>()
10
+
11
+ const forwarded = useForwardPropsEmits(props, emits)
12
+ </script>
13
+
14
+ <template>
15
+ <DropdownMenuRadioGroup
16
+ data-slot="dropdown-menu-radio-group"
17
+ v-bind="forwarded"
18
+ >
19
+ <slot />
20
+ </DropdownMenuRadioGroup>
21
+ </template>