From edbdeca603acc3fbc431effa87fda4b78d729c48 Mon Sep 17 00:00:00 2001 From: rev4324 Date: Tue, 29 Aug 2023 22:18:59 +0200 Subject: [PATCH] feat: add DropdownMenu component feat: add DropdownMenu component feat: add DropdownMenu component --- apps/www/src/App.vue | 3 + .../default/examples/DropdownMenuDemo.vue | 110 ++++++++++++++++++ .../DropdownMenuCheckboxItem.vue | 42 +++++++ .../ui/dropdown-menu/DropdownMenuContent.vue | 40 +++++++ .../ui/dropdown-menu/DropdownMenuItem.vue | 37 ++++++ .../ui/dropdown-menu/DropdownMenuLabel.vue | 35 ++++++ .../dropdown-menu/DropdownMenuRadioItem.vue | 41 +++++++ .../dropdown-menu/DropdownMenuSeparator.vue | 32 +++++ .../ui/dropdown-menu/DropdownMenuShortcut.vue | 29 +++++ .../dropdown-menu/DropdownMenuSubContent.vue | 34 ++++++ .../dropdown-menu/DropdownMenuSubTrigger.vue | 37 ++++++ .../default/ui/dropdown-menu/index.ts | 42 +++++++ 12 files changed, 482 insertions(+) create mode 100644 apps/www/src/lib/registry/default/examples/DropdownMenuDemo.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuContent.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuItem.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuShortcut.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 apps/www/src/lib/registry/default/ui/dropdown-menu/index.ts diff --git a/apps/www/src/App.vue b/apps/www/src/App.vue index d985d856..2bff6e9c 100644 --- a/apps/www/src/App.vue +++ b/apps/www/src/App.vue @@ -6,6 +6,7 @@ import AlertDialogDemo from '@/registry/default/examples/AlertDialogDemo.vue' import SelectDemo from '@/registry/default/examples/SelectDemo.vue' import AvatarDemo from '@/registry/default/examples/AvatarDemo.vue' import AlertDemo from '@/registry/default/examples/AlertDemo.vue' +import DropdownMenuDemo from '@/registry/default/examples/DropdownMenuDemo.vue' diff --git a/apps/www/src/lib/registry/default/examples/DropdownMenuDemo.vue b/apps/www/src/lib/registry/default/examples/DropdownMenuDemo.vue new file mode 100644 index 00000000..e38ca4a5 --- /dev/null +++ b/apps/www/src/lib/registry/default/examples/DropdownMenuDemo.vue @@ -0,0 +1,110 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuCheckboxItem.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuCheckboxItem.vue new file mode 100644 index 00000000..3cd13681 --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuCheckboxItem.vue @@ -0,0 +1,42 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuContent.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuContent.vue new file mode 100644 index 00000000..1f02cdda --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuContent.vue @@ -0,0 +1,40 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuItem.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuItem.vue new file mode 100644 index 00000000..ffa12256 --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuItem.vue @@ -0,0 +1,37 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuLabel.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuLabel.vue new file mode 100644 index 00000000..328794d2 --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuLabel.vue @@ -0,0 +1,35 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuRadioItem.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuRadioItem.vue new file mode 100644 index 00000000..51054a6d --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuRadioItem.vue @@ -0,0 +1,41 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSeparator.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSeparator.vue new file mode 100644 index 00000000..9a138611 --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSeparator.vue @@ -0,0 +1,32 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuShortcut.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuShortcut.vue new file mode 100644 index 00000000..87fcc19b --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuShortcut.vue @@ -0,0 +1,29 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubContent.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubContent.vue new file mode 100644 index 00000000..fa0fc654 --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubContent.vue @@ -0,0 +1,34 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubTrigger.vue b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubTrigger.vue new file mode 100644 index 00000000..11479a51 --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/DropdownMenuSubTrigger.vue @@ -0,0 +1,37 @@ + + + diff --git a/apps/www/src/lib/registry/default/ui/dropdown-menu/index.ts b/apps/www/src/lib/registry/default/ui/dropdown-menu/index.ts new file mode 100644 index 00000000..1a6c38c5 --- /dev/null +++ b/apps/www/src/lib/registry/default/ui/dropdown-menu/index.ts @@ -0,0 +1,42 @@ +import { + DropdownMenuRoot as DropdownMenuRootPrimitive, + DropdownMenuTrigger as DropdownMenuTriggerPrimitive, + DropdownMenuGroup as DropdownMenuGroupPrimitive, + DropdownMenuPortal as DropdownMenuPortalPrimitive, + DropdownMenuSub as DropdownMenuSubPrimitive, + DropdownMenuRadioGroup as DropdownMenuRadioGroupPrimitive, +} from "radix-vue" +import DropdownMenuSubTrigger from "./DropdownMenuSubTrigger.vue" +import DropdownMenuSubContent from "./DropdownMenuSubContent.vue" +import DropdownMenuContent from "./DropdownMenuContent.vue" +import DropdownMenuItem from "./DropdownMenuItem.vue" +import DropdownMenuCheckboxItem from "./DropdownMenuCheckboxItem.vue" +import DropdownMenuRadioItem from "./DropdownMenuRadioItem.vue" +import DropdownMenuLabel from "./DropdownMenuLabel.vue" +import DropdownMenuSeparator from "./DropdownMenuSeparator.vue" +import DropdownMenuShortcut from "./DropdownMenuShortcut.vue" + +const DropdownMenu = DropdownMenuRootPrimitive +const DropdownMenuTrigger = DropdownMenuTriggerPrimitive +const DropdownMenuGroup = DropdownMenuGroupPrimitive +const DropdownMenuPortal = DropdownMenuPortalPrimitive +const DropdownMenuSub = DropdownMenuSubPrimitive +const DropdownMenuRadioGroup = DropdownMenuRadioGroupPrimitive + +export { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuGroup, + DropdownMenuPortal, + DropdownMenuSub, + DropdownMenuRadioGroup, + DropdownMenuSubTrigger, + DropdownMenuSubContent, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuCheckboxItem, + DropdownMenuRadioItem, + DropdownMenuLabel, + DropdownMenuSeparator, + DropdownMenuShortcut, +}