From c14555d21f425bc698aefc1feb6a75d9963a9cc5 Mon Sep 17 00:00:00 2001 From: pheralb Date: Tue, 30 Sep 2025 15:59:33 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Add=20context-menu=20UI=20compon?= =?UTF-8?q?ent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../context-menu/context-menu-content.svelte | 25 ++++++++++++++ .../ui/context-menu/context-menu-group.svelte | 12 +++++++ .../ui/context-menu/context-menu-item.svelte | 27 +++++++++++++++ .../ui/context-menu/context-menu-label.svelte | 28 +++++++++++++++ .../context-menu-separator.svelte | 17 ++++++++++ .../context-menu/context-menu-shortcut.svelte | 24 +++++++++++++ .../context-menu/context-menu-trigger.svelte | 14 ++++++++ src/components/ui/context-menu/index.ts | 34 +++++++++++++++++++ 8 files changed, 181 insertions(+) create mode 100644 src/components/ui/context-menu/context-menu-content.svelte create mode 100644 src/components/ui/context-menu/context-menu-group.svelte create mode 100644 src/components/ui/context-menu/context-menu-item.svelte create mode 100644 src/components/ui/context-menu/context-menu-label.svelte create mode 100644 src/components/ui/context-menu/context-menu-separator.svelte create mode 100644 src/components/ui/context-menu/context-menu-shortcut.svelte create mode 100644 src/components/ui/context-menu/context-menu-trigger.svelte create mode 100644 src/components/ui/context-menu/index.ts diff --git a/src/components/ui/context-menu/context-menu-content.svelte b/src/components/ui/context-menu/context-menu-content.svelte new file mode 100644 index 0000000..635b954 --- /dev/null +++ b/src/components/ui/context-menu/context-menu-content.svelte @@ -0,0 +1,25 @@ + + + + + diff --git a/src/components/ui/context-menu/context-menu-group.svelte b/src/components/ui/context-menu/context-menu-group.svelte new file mode 100644 index 0000000..7b769f3 --- /dev/null +++ b/src/components/ui/context-menu/context-menu-group.svelte @@ -0,0 +1,12 @@ + + + diff --git a/src/components/ui/context-menu/context-menu-item.svelte b/src/components/ui/context-menu/context-menu-item.svelte new file mode 100644 index 0000000..f074f58 --- /dev/null +++ b/src/components/ui/context-menu/context-menu-item.svelte @@ -0,0 +1,27 @@ + + + diff --git a/src/components/ui/context-menu/context-menu-label.svelte b/src/components/ui/context-menu/context-menu-label.svelte new file mode 100644 index 0000000..3f09708 --- /dev/null +++ b/src/components/ui/context-menu/context-menu-label.svelte @@ -0,0 +1,28 @@ + + +
+ {@render children?.()} +
diff --git a/src/components/ui/context-menu/context-menu-separator.svelte b/src/components/ui/context-menu/context-menu-separator.svelte new file mode 100644 index 0000000..54aaca1 --- /dev/null +++ b/src/components/ui/context-menu/context-menu-separator.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/components/ui/context-menu/context-menu-shortcut.svelte b/src/components/ui/context-menu/context-menu-shortcut.svelte new file mode 100644 index 0000000..929c9e1 --- /dev/null +++ b/src/components/ui/context-menu/context-menu-shortcut.svelte @@ -0,0 +1,24 @@ + + + + {@render children?.()} + diff --git a/src/components/ui/context-menu/context-menu-trigger.svelte b/src/components/ui/context-menu/context-menu-trigger.svelte new file mode 100644 index 0000000..e73751c --- /dev/null +++ b/src/components/ui/context-menu/context-menu-trigger.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/components/ui/context-menu/index.ts b/src/components/ui/context-menu/index.ts new file mode 100644 index 0000000..2a61d2e --- /dev/null +++ b/src/components/ui/context-menu/index.ts @@ -0,0 +1,34 @@ +import { ContextMenu as ContextMenuPrimitive } from "bits-ui"; + +import Trigger from "./context-menu-trigger.svelte"; +import Group from "./context-menu-group.svelte"; +import Item from "./context-menu-item.svelte"; +import Content from "./context-menu-content.svelte"; +import Shortcut from "./context-menu-shortcut.svelte"; +import Separator from "./context-menu-separator.svelte"; +import Label from "./context-menu-label.svelte"; + +const Sub = ContextMenuPrimitive.Sub; +const Root = ContextMenuPrimitive.Root; + +export { + Sub, + Root, + Item, + Label, + Group, + Trigger, + Content, + Shortcut, + Separator, + // + Root as ContextMenu, + Sub as ContextMenuSub, + Item as ContextMenuItem, + Group as ContextMenuGroup, + Content as ContextMenuContent, + Trigger as ContextMenuTrigger, + Shortcut as ContextMenuShortcut, + Separator as ContextMenuSeparator, + Label as ContextMenuLabel, +};