diff options
author | Philippe Perrin <philippe.perrin@sonarsource.com> | 2021-07-15 15:55:30 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2021-07-21 20:03:01 +0000 |
commit | a57b5dd4d8ba48dd55a80111f1c6db54cb36c63d (patch) | |
tree | f382d2c7b08747e2b7d1cea7fa87550bac3882df /server/sonar-ui-common/components/controls/buttons.css | |
parent | 1dff5a612667788aed965d14945767b277a2b313 (diff) | |
download | sonarqube-a57b5dd4d8ba48dd55a80111f1c6db54cb36c63d.tar.gz sonarqube-a57b5dd4d8ba48dd55a80111f1c6db54cb36c63d.zip |
SONAR-14617 Embed the sonar-ui-common library
Diffstat (limited to 'server/sonar-ui-common/components/controls/buttons.css')
-rw-r--r-- | server/sonar-ui-common/components/controls/buttons.css | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/server/sonar-ui-common/components/controls/buttons.css b/server/sonar-ui-common/components/controls/buttons.css new file mode 100644 index 00000000000..25a6944a348 --- /dev/null +++ b/server/sonar-ui-common/components/controls/buttons.css @@ -0,0 +1,322 @@ +/* + * Sonar UI Common + * Copyright (C) 2019-2020 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +.button { + display: inline-flex; + align-items: center; + justify-content: center; + vertical-align: middle; + height: var(--controlHeight); + line-height: calc(var(--controlHeight) - 2px); + padding: 0 var(--gridSize); + border: 1px solid var(--darkBlue); + border-radius: 2px; + box-sizing: border-box; + background: transparent; + color: var(--darkBlue); + font-weight: 600; + font-size: var(--smallFontSize); + text-decoration: none; + cursor: pointer; + outline: none; + transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; +} + +.button:hover, +.button.button-active { + background: var(--darkBlue); + color: var(--white); +} + +.button:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.button:focus { + box-shadow: 0 0 0 3px rgba(35, 106, 151, 0.25); +} + +.button-primary { + background: var(--darkBlue); + border-color: var(--darkBlue); + color: var(--white); +} + +.button-primary:hover { + background: var(--veryDarkBlue); + border-color: var(--veryDarkBlue); +} + +.button-primary.button-light { + background: var(--blue); + border-color: var(--blue); + color: var(--white); +} + +.button-primary.button-light:hover { + background: var(--darkBlue); + border-color: var(--darkBlue); +} + +.button.disabled { + color: var(--disableGrayText) !important; + border-color: var(--disableGrayBorder) !important; + background: var(--disableGrayBg) !important; + cursor: not-allowed !important; + box-shadow: none !important; +} + +/* #region .button-red */ +.button-red { + border-color: var(--red); + color: var(--red); +} + +.button-red:hover, +.button-red.active { + background: var(--red); + color: var(--white); +} + +.button-red:focus { + box-shadow: 0 0 0 3px rgba(212, 51, 63, 0.25); +} + +/* #endregion */ + +/* #region .button-success */ +.button-success { + border-color: var(--green); + color: var(--green); +} + +.button-success:hover, +.button-success.active { + background: var(--green); + color: var(--white); +} + +.button-success:focus { + box-shadow: 0 0 0 3px rgba(0, 170, 0, 0.25); +} + +/* #endregion */ + +/* #region .button-link */ +.button-link { + display: inline-flex; + height: auto; + /* Keep this to not inherit the height from .button */ + line-height: 1; + margin: 0; + padding: 0; + border: none; + border-radius: 0; + background: transparent; + color: var(--darkBlue); + border-bottom: 1px solid var(--lightBlue); + font-weight: 400; + font-size: inherit; + transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-bottom 0.2s ease; +} + +.dropdown .button-link { + border-bottom: none; +} + +.button-link:hover { + background: transparent; + color: var(--blue); +} + +.button-link:active, +.button-link:focus { + box-shadow: none; + outline: 1px dotted var(--blue); +} + +.button-link.disabled { + color: var(--secondFontColor); + background: transparent !important; + cursor: default; +} + +/* #endregion */ + +.button-small { + height: var(--smallControlHeight); + line-height: 18px; + padding: 0 6px; + font-size: 11px; +} + +.button-tiny { + height: var(--tinyControlHeight); + line-height: var(--tinyControlHeight); + padding: 0 calc(var(--gridSize) / 2); +} + +.button-large { + height: var(--largeControlHeight); + padding: 0 16px; + font-size: var(--mediumFontSize); +} + +.button-huge { + flex-direction: column; + padding: calc(2 * var(--gridSize)); + width: 200px; + height: 200px; + background-color: var(--white); + border: solid 1px var(--white); + border-radius: 3px; + transition: all 0.2s ease; + box-shadow: 0 1px 1px 1px var(--barBorderColor); +} + +.button-huge:hover, +.button-huge:focus, +.button-huge:active { + background-color: var(--white); + color: var(--darkBlue); + box-shadow: var(--defaultShadow); + transform: translateY(-2px); +} + +/* #region .button-group */ +/* TODO drop usage of this class in SQ (already dropped from SC) */ +.button-group { + display: inline-block; + vertical-align: middle; + font-size: 0; + white-space: nowrap; +} + +.button-group > button, +.button-group > .button { + position: relative; + z-index: var(--normalZIndex); + display: inline-block; + vertical-align: middle; + margin: 0; + cursor: pointer; +} + +.button-group > .button:hover:not(.disabled), +.button-group > .button:focus:not(.disabled), +.button-group > .button:active:not(.disabled), +.button-group > .button.active:not(.disabled) { + z-index: var(--aboveNormalZIndex); +} + +.button-group > .button.disabled { + z-index: var(--belowNormalZIndex); +} + +.button-group > .button:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.button-group > .button:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.button-group > .button + .button { + margin-left: -1px; +} + +.button-group > a:not(.button) { + vertical-align: middle; + margin: 0 8px; + font-size: var(--smallFontSize); +} + +/* #endregion */ + +/* #region .button-icon */ +.button-icon { + display: inline-flex; + justify-content: center; + align-items: center; + vertical-align: middle; + width: var(--controlHeight); + height: var(--controlHeight); + padding: 0; + border: none; + color: inherit; +} + +.button-icon.button-small { + width: var(--smallControlHeight); + height: var(--smallControlHeight); + padding: 0; +} + +.button-icon.button-small svg { + margin-top: 0; +} + +.button-icon.button-tiny { + width: var(--tinyControlHeight); + height: var(--tinyControlHeight); + padding: 0; +} + +.button-icon.button-tiny svg { + margin-top: 0; +} + +.button-icon:hover, +.button-icon:focus { + background-color: currentColor; +} + +.button-icon:not(.disabled):hover svg, +.button-icon:not(.disabled):focus svg { + color: var(--white); +} + +.button.button-icon.disabled { + background: transparent !important; +} + +/* #endregion */ + +.button-list { + display: inline-flex; + justify-content: space-between; + height: auto; + border: 1px solid var(--barBorderColor); + padding: var(--gridSize); + margin: calc(var(--gridSize) / 2); + color: var(--secondFontColor); + font-weight: normal; +} + +.button-list:hover { + background-color: white; + border-color: var(--blue); + color: var(--darkBlue); +} + +.no-select { + user-select: none !important; +} |