diff --git a/docs/pages/examples.vue b/docs/pages/examples.vue
index c5a9aeee..1d225f51 100644
--- a/docs/pages/examples.vue
+++ b/docs/pages/examples.vue
@@ -128,6 +128,16 @@
+
Context menu:
@@ -230,6 +240,7 @@
diff --git a/package.json b/package.json
index 534a0345..115d6a7b 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,7 @@
"@tailwindcss/typography": "^0.5.9",
"@vueuse/core": "^9.13.0",
"@vueuse/integrations": "^9.13.0",
+ "@vueuse/math": "^9.13.0",
"defu": "^6.1.2",
"fuse.js": "^6.6.2",
"lodash-es": "^4.17.21",
diff --git a/src/module.ts b/src/module.ts
index f36c563d..a5d6f4e9 100644
--- a/src/module.ts
+++ b/src/module.ts
@@ -1,4 +1,4 @@
-import { defineNuxtModule, installModule, addComponentsDir, addImportsDir, addTemplate, addPlugin, createResolver } from '@nuxt/kit'
+import { defineNuxtModule, installModule, addComponentsDir, addImportsDir, addTemplate, createResolver } from '@nuxt/kit'
import { defu } from 'defu'
import colors from 'tailwindcss/colors.js'
import type { Config } from 'tailwindcss'
@@ -155,9 +155,6 @@ export default defineNuxtModule({
cssPath: resolve(runtimeDir, 'tailwind.css')
})
- addPlugin(resolve(runtimeDir, 'plugins', 'toast.client'))
- addPlugin(resolve(runtimeDir, 'plugins', 'clipboard.client'))
-
addComponentsDir({
path: resolve(runtimeDir, 'components', 'elements'),
prefix,
diff --git a/src/runtime/components/overlays/Notifications.vue b/src/runtime/components/overlays/Notifications.vue
index c20beaad..88495db9 100644
--- a/src/runtime/components/overlays/Notifications.vue
+++ b/src/runtime/components/overlays/Notifications.vue
@@ -9,7 +9,7 @@
v-bind="notification"
:class="notification.click && 'cursor-pointer'"
@click="notification.click && notification.click(notification)"
- @close="$toast.removeNotification(notification.id)"
+ @close="toast.removeNotification(notification.id)"
/>
@@ -18,10 +18,11 @@
diff --git a/src/runtime/composables/defineShortcuts.ts b/src/runtime/composables/defineShortcuts.ts
new file mode 100644
index 00000000..f36c7f2c
--- /dev/null
+++ b/src/runtime/composables/defineShortcuts.ts
@@ -0,0 +1,109 @@
+import type { Ref, ComputedRef } from 'vue'
+import { logicAnd, logicNot } from '@vueuse/math'
+import { onMounted, onBeforeUnmount } from 'vue'
+import { useShortcuts } from './useShortcuts'
+
+export interface ShortcutConfig {
+ handler: Function
+ usingInput?: string | boolean
+ whenever?: Ref