diff --git a/src/components/ui/context-menu/ContextMenuCheckboxItem.vue b/src/components/ui/context-menu/ContextMenuCheckboxItem.vue index da2174cb85..ab3587e12d 100644 --- a/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +++ b/src/components/ui/context-menu/ContextMenuCheckboxItem.vue @@ -5,6 +5,7 @@ import type { HTMLAttributes } from "vue"; import { reactiveOmit } from "@vueuse/core"; import { CheckIcon } from "lucide-vue-next"; import { ContextMenuCheckboxItem, ContextMenuItemIndicator, useForwardPropsEmits } from "reka-ui"; +import { shouldSuppressRepeatedActivation, suppressEvent, type ActionActivationGuard } from "@/lib/actionActivation"; import { cn } from "@/lib/utils"; const props = defineProps(); @@ -13,12 +14,21 @@ const emits = defineEmits(); const delegatedProps = reactiveOmit(props, "class"); const forwarded = useForwardPropsEmits(delegatedProps, emits); +const activationGuard: ActionActivationGuard = {}; + +function guardRepeatedClick(event: MouseEvent) { + if (props.disabled) return; + if (shouldSuppressRepeatedActivation(activationGuard)) { + suppressEvent(event); + } +}