Как убрать эффект градиента кнопки?

Привет!

Сегодня я изучал возможность создания pull request для добавления настройки, позволяющей отключать эффект нажатия на кнопки. Лично я считаю, что это выглядит довольно плохо, но наверняка есть люди, которым это нравится.
Вот что я имею в виду: эффект виден при нажатии и удержании почти на любой кнопке
image
На некоторых кнопках это выглядит ещё хуже;
image

Я не думаю, что команда планирует полностью убрать этот эффект, поэтому я планировал изучить возможность добавления настройки сайта, а затем использовать её в SCSS-файле кнопок.

Мне кажется, что нет простого файла, где можно просто создать настройку и присвоить ей свойство. Так ли это? Если нет, то как мне это сделать и как затем использовать это в SCSS-файле?

Спасибо за любую помощь!

Разве это нельзя переопределить через компонент темы?

Кажется, я забыл про компоненты для этой конкретной проблемы, ха-ха.

Но в будущем возможно ли создать настройки? Я сейчас исправлю проблему на своей стороне.

РЕДАКТИРОВАНИЕ: Только что попробовал исправить это на своей стороне, но не сработало.

Здравствуйте,

Если я правильно понимаю, вы хотите изменить состояние :active этой кнопки.

Для перехода цвета существует миксин linear-gradient.

linear-gradient используется, когда кнопка находится в активном состоянии. Как вы можете увидеть в файле buttons.css:

Весь этот блок представляет собой миксин кнопки по умолчанию.

А переменные цветов меняются только для других кнопок, таких как .btn-primary и ниже:


Таким образом, вы можете переопределить вывод миксина linear-gradient, указав классы active.

Что-то вроде этого должно сработать. :slightly_smiling_face:

Мы должны указывать классы типов кнопок, так как переменные цветов различаются, поэтому мы не можем применять это глобально.

// Кнопка по умолчанию

.btn {
  &:active,
  &.btn-active {
    background-image: none;
    border-bottom-color: transparent;
    background-color: var(--primary-medium);
  }
  
  // Основная кнопка

  &.btn-primary {
    &:active,
    &.btn-active {
      background-color: var(--tertiary-hover);
    }
  }
  
  // Кнопка Danger и ✘

  &.btn-danger,
  &.cancel {
    &:active,
    &.btn-active {
      background-color: var(--danger-hover);
    }
  }
  
  // Кнопка ✔

  &.ok {
    &:active,
    &.btn-active {
      background-color: var(--success-hover);
    }
  }
}

До

После