From 62dc78c79cab97b00295808b15ea457110f4a7db Mon Sep 17 00:00:00 2001 From: Yuchao Wu Date: Fri, 8 Apr 2022 20:35:46 +1000 Subject: [PATCH 1/3] fix(VItem): support disabled effect fixes #14923 --- packages/vuetify/src/components/VItemGroup/VItem.sass | 2 ++ packages/vuetify/src/components/VItemGroup/VItem.ts | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 packages/vuetify/src/components/VItemGroup/VItem.sass diff --git a/packages/vuetify/src/components/VItemGroup/VItem.sass b/packages/vuetify/src/components/VItemGroup/VItem.sass new file mode 100644 index 00000000000..c0a502fc3c6 --- /dev/null +++ b/packages/vuetify/src/components/VItemGroup/VItem.sass @@ -0,0 +1,2 @@ +.v-item--disabled + pointer-events: none \ No newline at end of file diff --git a/packages/vuetify/src/components/VItemGroup/VItem.ts b/packages/vuetify/src/components/VItemGroup/VItem.ts index f54e9c97155..5e473199fa3 100644 --- a/packages/vuetify/src/components/VItemGroup/VItem.ts +++ b/packages/vuetify/src/components/VItemGroup/VItem.ts @@ -1,3 +1,6 @@ +// Styles +import './VItem.sass' + // Mixins import { factory as GroupableFactory } from '../../mixins/groupable' @@ -16,6 +19,7 @@ export const BaseItem = Vue.extend({ value: { required: false, }, + disabled: Boolean, }, data: () => ({ @@ -56,7 +60,10 @@ export const BaseItem = Vue.extend({ } element.data = this._b(element.data || {}, element.tag!, { - class: { [this.activeClass]: this.isActive }, + class: { + [this.activeClass]: this.isActive, + 'v-item--disabled': this.disabled, + }, }) return element From 6800d8da87b31e4ac753df303f124ff5a28a2b9b Mon Sep 17 00:00:00 2001 From: Yuchao Wu Date: Tue, 12 Apr 2022 21:06:15 +1000 Subject: [PATCH 2/3] Disable click event from child & keyboard tab --- packages/vuetify/src/components/VItemGroup/VItem.sass | 4 +++- packages/vuetify/src/components/VItemGroup/VItem.ts | 4 ++++ packages/vuetify/src/mixins/groupable/index.ts | 11 +++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/vuetify/src/components/VItemGroup/VItem.sass b/packages/vuetify/src/components/VItemGroup/VItem.sass index c0a502fc3c6..bd543c86d03 100644 --- a/packages/vuetify/src/components/VItemGroup/VItem.sass +++ b/packages/vuetify/src/components/VItemGroup/VItem.sass @@ -1,2 +1,4 @@ .v-item--disabled - pointer-events: none \ No newline at end of file + &, + & * + pointer-events: none \ No newline at end of file diff --git a/packages/vuetify/src/components/VItemGroup/VItem.ts b/packages/vuetify/src/components/VItemGroup/VItem.ts index 5e473199fa3..ac3457755e7 100644 --- a/packages/vuetify/src/components/VItemGroup/VItem.ts +++ b/packages/vuetify/src/components/VItemGroup/VItem.ts @@ -66,6 +66,10 @@ export const BaseItem = Vue.extend({ }, }) + if (this.disabled) { + element.data.attrs = { ...element.data.attrs, tabindex: -1 } + } + return element }, }) diff --git a/packages/vuetify/src/mixins/groupable/index.ts b/packages/vuetify/src/mixins/groupable/index.ts index 51c2a41c1c3..bd140895dbd 100644 --- a/packages/vuetify/src/mixins/groupable/index.ts +++ b/packages/vuetify/src/mixins/groupable/index.ts @@ -11,7 +11,7 @@ export type Groupable isActive: boolean disabled: boolean groupClasses: object - toggle (): void + toggle (e?: KeyboardEvent | MouseEvent | PointerEvent): void }> export function factory ( @@ -59,7 +59,14 @@ export function factory Date: Thu, 6 Jul 2023 02:21:46 +1000 Subject: [PATCH 3/3] style: whitespace, simplify type --- packages/vuetify/src/components/VItemGroup/VItem.sass | 2 +- packages/vuetify/src/mixins/groupable/index.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/vuetify/src/components/VItemGroup/VItem.sass b/packages/vuetify/src/components/VItemGroup/VItem.sass index bd543c86d03..6a25e556ff2 100644 --- a/packages/vuetify/src/components/VItemGroup/VItem.sass +++ b/packages/vuetify/src/components/VItemGroup/VItem.sass @@ -1,4 +1,4 @@ .v-item--disabled &, & * - pointer-events: none \ No newline at end of file + pointer-events: none diff --git a/packages/vuetify/src/mixins/groupable/index.ts b/packages/vuetify/src/mixins/groupable/index.ts index bd140895dbd..d9e1f4948fb 100644 --- a/packages/vuetify/src/mixins/groupable/index.ts +++ b/packages/vuetify/src/mixins/groupable/index.ts @@ -11,7 +11,7 @@ export type Groupable isActive: boolean disabled: boolean groupClasses: object - toggle (e?: KeyboardEvent | MouseEvent | PointerEvent): void + toggle (e?: Event): void }> export function factory ( @@ -59,11 +59,11 @@ export function factory