From 35f06ee182a2a2dc9b3ebfdbf5543d77a1bbf79f Mon Sep 17 00:00:00 2001 From: Sergey Vinogradov Date: Thu, 16 Jan 2025 09:36:42 +0400 Subject: [PATCH] update Lumo and Material to not show hover effect when disabled --- packages/button/theme/lumo/vaadin-button-styles.js | 4 ++-- packages/button/theme/material/vaadin-button-styles.js | 4 ++-- packages/vaadin-lumo-styles/mixins/input-field-shared.js | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/button/theme/lumo/vaadin-button-styles.js b/packages/button/theme/lumo/vaadin-button-styles.js index 26b5e5e6c8..cb7cc141de 100644 --- a/packages/button/theme/lumo/vaadin-button-styles.js +++ b/packages/button/theme/lumo/vaadin-button-styles.js @@ -75,7 +75,7 @@ const button = css` /* Hover */ @media (any-hover: hover) { - :host(:hover)::before { + :host(:not([disabled]):hover)::before { opacity: 0.02; } } @@ -159,7 +159,7 @@ const button = css` } @media (any-hover: hover) { - :host([theme~='primary']:hover)::before { + :host([theme~='primary']:not([disabled]):hover)::before { opacity: 0.05; } } diff --git a/packages/button/theme/material/vaadin-button-styles.js b/packages/button/theme/material/vaadin-button-styles.js index 6e4042e4f9..d9d7c16945 100644 --- a/packages/button/theme/material/vaadin-button-styles.js +++ b/packages/button/theme/material/vaadin-button-styles.js @@ -60,7 +60,7 @@ const button = css` vertical-align: middle; } - :host(:hover)::before, + :host(:hover:not([disabled]))::before, :host([focus-ring])::before { opacity: 0.08; transition-duration: 0.2s; @@ -77,7 +77,7 @@ const button = css` transition: 0s; } - :host(:hover:not([active]))::after { + :host(:hover:not([active]):not([disabled]))::after { transform: translate(-50%, -50%) scale(1); opacity: 0; } diff --git a/packages/vaadin-lumo-styles/mixins/input-field-shared.js b/packages/vaadin-lumo-styles/mixins/input-field-shared.js index 8b9e2a7d2e..43e39a9f8b 100644 --- a/packages/vaadin-lumo-styles/mixins/input-field-shared.js +++ b/packages/vaadin-lumo-styles/mixins/input-field-shared.js @@ -47,17 +47,17 @@ const inputField = css` } /* Hover */ - :host(:hover:not([readonly]):not([focused])) [part='input-field']::after { + :host(:hover:not([readonly]):not([focused]):not([disabled])) [part='input-field']::after { opacity: var(--vaadin-input-field-hover-highlight-opacity, 0.1); } /* Touch device adjustment */ @media (pointer: coarse) { - :host(:hover:not([readonly]):not([focused])) [part='input-field']::after { + :host(:hover:not([readonly]):not([focused]):not([disabled])) [part='input-field']::after { opacity: 0; } - :host(:active:not([readonly]):not([focused])) [part='input-field']::after { + :host(:active:not([readonly]):not([focused]):not([disabled])) [part='input-field']::after { opacity: 0.2; } }