Move dropdown menu into UI package

This commit is contained in:
Gregor Vostrak
2026-03-03 17:46:42 +01:00
parent 1cdae98ed9
commit bce6cb9395
35 changed files with 51 additions and 19 deletions

View File

@@ -7,7 +7,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const emit = defineEmits<{ const emit = defineEmits<{
delete: []; delete: [];

View File

@@ -5,7 +5,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const emit = defineEmits<{ const emit = defineEmits<{
delete: []; delete: [];

View File

@@ -17,7 +17,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const emit = defineEmits<{ const emit = defineEmits<{
delete: []; delete: [];

View File

@@ -5,7 +5,7 @@ import {
DropdownMenu, DropdownMenu,
DropdownMenuContent, DropdownMenuContent,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
defineProps<{ defineProps<{
icon: Component; icon: Component;

View File

@@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed } from 'vue'; import { computed } from 'vue';
import { UserGroupIcon } from '@heroicons/vue/16/solid'; import { UserGroupIcon } from '@heroicons/vue/16/solid';
import { DropdownMenuCheckboxItem, DropdownMenuSeparator } from '@/Components/ui/dropdown-menu'; import { DropdownMenuCheckboxItem, DropdownMenuSeparator } from '@/packages/ui/src';
import BaseFilterBadge from './BaseFilterBadge.vue'; import BaseFilterBadge from './BaseFilterBadge.vue';
import type { Client } from '@/packages/api/src'; import type { Client } from '@/packages/api/src';
import { NO_CLIENT_ID } from './constants'; import { NO_CLIENT_ID } from './constants';

View File

@@ -7,7 +7,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const emit = defineEmits<{ const emit = defineEmits<{
delete: []; delete: [];

View File

@@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed } from 'vue'; import { computed } from 'vue';
import { CircleStackIcon } from '@heroicons/vue/16/solid'; import { CircleStackIcon } from '@heroicons/vue/16/solid';
import { DropdownMenuItem } from '@/Components/ui/dropdown-menu'; import { DropdownMenuItem } from '@/packages/ui/src';
import BaseFilterBadge from './BaseFilterBadge.vue'; import BaseFilterBadge from './BaseFilterBadge.vue';
type StatusValue = 'active' | 'archived' | 'all'; type StatusValue = 'active' | 'archived' | 'all';

View File

@@ -12,7 +12,7 @@ import {
DropdownMenuSubContent, DropdownMenuSubContent,
DropdownMenuCheckboxItem, DropdownMenuCheckboxItem,
DropdownMenuSeparator, DropdownMenuSeparator,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
import { Button } from '@/packages/ui/src'; import { Button } from '@/packages/ui/src';
import type { Client } from '@/packages/api/src'; import type { Client } from '@/packages/api/src';
import { NO_CLIENT_ID } from './constants'; import { NO_CLIENT_ID } from './constants';

View File

@@ -8,7 +8,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const emit = defineEmits<{ const emit = defineEmits<{
delete: []; delete: [];

View File

@@ -6,7 +6,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
import { canDeleteReport, canUpdateReport } from '@/utils/permissions'; import { canDeleteReport, canUpdateReport } from '@/utils/permissions';
const emit = defineEmits<{ const emit = defineEmits<{

View File

@@ -6,7 +6,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
import type { ExportFormat } from '@/types/reporting'; import type { ExportFormat } from '@/types/reporting';
import { ref } from 'vue'; import { ref } from 'vue';
import { isAllowedToPerformPremiumAction } from '@/utils/billing'; import { isAllowedToPerformPremiumAction } from '@/utils/billing';

View File

@@ -28,7 +28,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
import ReportCreateModal from '@/Components/Common/Report/ReportCreateModal.vue'; import ReportCreateModal from '@/Components/Common/Report/ReportCreateModal.vue';
import UpgradeModal from '@/Components/Common/UpgradeModal.vue'; import UpgradeModal from '@/Components/Common/UpgradeModal.vue';
import { canCreateReports } from '@/utils/permissions'; import { canCreateReports } from '@/utils/permissions';

View File

@@ -7,7 +7,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const emit = defineEmits<{ const emit = defineEmits<{
edit: []; edit: [];

View File

@@ -7,7 +7,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const emit = defineEmits<{ const emit = defineEmits<{
delete: []; delete: [];

View File

@@ -17,7 +17,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuLabel, DropdownMenuLabel,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
const page = usePage<{ const page = usePage<{
jetstream: { jetstream: {

View File

@@ -7,7 +7,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuLabel, DropdownMenuLabel,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
import { import {
UserCircleIcon, UserCircleIcon,
KeyIcon, KeyIcon,

View File

@@ -18,7 +18,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '@/packages/ui/src';
import { SecondaryButton } from '@/packages/ui/src'; import { SecondaryButton } from '@/packages/ui/src';
import { computed, onMounted, ref, watch } from 'vue'; import { computed, onMounted, ref, watch } from 'vue';
import { getDayJsInstance, getLocalizedDayJs } from '@/packages/ui/src/utils/time'; import { getDayJsInstance, getLocalizedDayJs } from '@/packages/ui/src/utils/time';

View File

@@ -5,7 +5,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '..';
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{

View File

@@ -5,7 +5,7 @@ import {
DropdownMenuContent, DropdownMenuContent,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuTrigger, DropdownMenuTrigger,
} from '@/Components/ui/dropdown-menu'; } from '..';
const props = defineProps<{ const props = defineProps<{
hasActiveTimer: boolean; hasActiveTimer: boolean;

View File

@@ -61,6 +61,23 @@ import {
ContextMenuSubTrigger, ContextMenuSubTrigger,
ContextMenuTrigger, ContextMenuTrigger,
} from './context-menu/index'; } from './context-menu/index';
import {
DropdownMenu,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuPortal,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
DropdownMenuSeparator,
DropdownMenuShortcut,
DropdownMenuSub,
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
} from './dropdown-menu/index';
import { import {
Field, Field,
FieldContent, FieldContent,
@@ -153,4 +170,19 @@ export {
ContextMenuSubContent, ContextMenuSubContent,
ContextMenuSubTrigger, ContextMenuSubTrigger,
ContextMenuTrigger, ContextMenuTrigger,
DropdownMenu,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuPortal,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
DropdownMenuSeparator,
DropdownMenuShortcut,
DropdownMenuSub,
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
}; };