vault/ui/app/styles/core/helpers.scss

366 lines
6.2 KiB
SCSS

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
.is-invisible {
visibility: hidden;
}
.is-underline {
text-decoration: underline;
}
.is-no-underline {
text-decoration: none;
}
.is-sideless {
box-shadow: 0 2px 0 -1px $grey-light, 0 -2px 0 -1px $grey-light;
}
.is-bottomless {
box-shadow: 0 -1px 0 0 $grey-light;
}
.has-only-top-shadow {
box-shadow: 0 -1px 0 -1px $grey-light, 0 -2px 0 -1px $grey-light;
}
.has-bottom-shadow {
box-shadow: $box-shadow !important;
}
.is-borderless {
border: none !important;
}
.is-box-shadowless {
box-shadow: none !important;
}
.is-relative {
position: relative;
}
.is-fullwidth {
width: 100%;
}
.is-in-bottom-right {
position: absolute;
bottom: 1rem;
right: 1rem;
z-index: 10;
}
.has-background-transition {
transition: background-color $easing $speed;
}
.is-flex-column {
display: flex;
flex-direction: column;
}
.is-flex-row {
display: flex;
flex-direction: row;
}
.is-flex-v-centered {
display: flex;
align-items: center;
align-self: center;
justify-content: center;
}
.is-flex-v-centered-tablet {
@include tablet {
display: flex;
align-items: center;
align-self: center;
justify-content: center;
}
}
.is-flex-center {
display: flex;
align-items: center;
}
.is-flex-align-baseline {
display: flex;
align-items: baseline;
}
.is-flex-1 {
flex-grow: 1;
&.basis-0 {
flex-basis: 0;
}
}
.is-flex-wrap {
flex-flow: row wrap;
}
.is-flex-end {
display: flex !important;
justify-content: flex-end;
}
.is-flex-start {
display: flex !important;
justify-content: flex-start;
&.has-gap {
gap: $spacing-m;
}
}
.is-flex-full {
flex-basis: 100%;
}
.is-no-flex-grow {
flex-grow: 0 !important;
}
.is-flex-half {
flex: 50%;
}
.is-auto-width {
width: auto;
}
.is-min-width-0 {
min-width: 0;
}
.is-flex-between,
.is-grouped-split {
display: flex;
justify-content: space-between !important;
}
/* CSS GRID */
// grid container
.is-grid {
display: grid;
}
.is-grid-3-columns {
grid-template-columns: repeat(3, 1fr);
}
.is-medium-height {
height: $medium-height;
}
// grid items
.is-grid-column-span-3 {
grid-column-end: span 3;
}
/* END OF CSS GRID */
.has-default-border {
border: 1px solid $grey !important;
}
.has-no-pointer {
pointer-events: none;
}
.has-pointer {
cursor: pointer;
}
.has-short-padding {
padding: 0.25rem 1.25rem;
}
.has-tall-padding {
padding: 2.25rem;
}
.has-side-padding-s {
padding-left: $spacing-s;
padding-right: $spacing-s;
}
.has-padding-m {
padding: $spacing-m;
}
.has-bottom-padding-s {
padding-bottom: $spacing-s;
}
.has-padding-xs {
padding: $spacing-xs;
}
.has-padding-xxs {
padding: $spacing-xxs;
}
.has-top-bottom-margin {
margin: 1.25rem 0rem;
}
.has-top-bottom-margin-negative-m {
margin-top: -$spacing-m;
margin-bottom: -$spacing-m;
}
.is-sideless.has-short-padding {
padding: 0.25rem 1.25rem;
}
.has-current-color-fill {
&,
& svg {
fill: currentColor;
}
}
.is-word-break {
overflow-wrap: break-word;
word-wrap: break-word;
word-break: break-word;
white-space: pre-wrap;
}
.truncate-second-line {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
overflow: hidden;
}
.is-font-mono {
font-family: $family-monospace;
}
.is-size-8 {
font-size: $size-8 !important;
}
.is-size-9 {
font-size: $size-9 !important;
}
.is-hint {
color: $grey;
font-size: $size-8;
padding: $size-8 0;
}
@each $name, $shade in $shades {
.has-background-#{$name} {
background: $shade !important;
}
}
.has-background-transparent {
background: transparent !important;
}
.has-background-gray-200 {
background-color: $ui-gray-200;
}
.has-background-gray-100 {
background-color: $ui-gray-100;
}
@each $name, $pair in $colors {
$color: nth($pair, 1);
.has-background-#{$name} {
background: $color !important;
}
}
.is-optional {
color: $grey;
font-size: $size-8;
text-transform: lowercase;
}
.has-top-padding-xxs {
padding-top: $spacing-xxs;
}
.has-top-padding-s {
padding-top: $spacing-s;
}
.has-top-padding-l {
padding-top: $spacing-l;
}
.has-left-padding-l {
padding-left: $spacing-l;
}
.has-top-padding-xxl {
padding-top: $spacing-xxl;
}
.has-bottom-margin-xs {
margin-bottom: $spacing-xs;
}
.has-bottom-margin-s {
margin-bottom: $spacing-s;
}
.has-bottom-margin-m {
margin-bottom: $spacing-m;
}
.has-bottom-margin-l {
margin-bottom: $spacing-l;
}
.has-bottom-margin-xl {
margin-bottom: $spacing-xl;
}
.has-bottom-margin-xxl {
margin-bottom: $spacing-xxl;
}
.has-top-margin-s {
margin-top: $spacing-s;
}
.has-top-margin-xs {
margin-top: $spacing-xs;
}
.has-top-margin-m {
margin-top: $spacing-m;
}
.has-top-margin-l {
margin-top: $spacing-l;
}
.has-top-margin-xl {
margin-top: $spacing-xl;
}
.has-top-margin-xxl {
margin-top: $spacing-xxl;
}
.has-top-margin-negative-s {
margin-top: (-1 * $spacing-s);
}
.has-left-margin-xxs {
margin-left: $spacing-xxs;
}
.has-left-margin-xs {
margin-left: $spacing-xs;
}
.has-left-margin-s {
margin-left: $spacing-s;
}
.has-left-margin-m {
margin-left: $spacing-m;
}
.has-left-margin-l {
margin-left: $spacing-l;
}
.has-left-margin-xl {
margin-left: $spacing-xl;
}
.has-right-margin-m {
margin-right: $spacing-m;
}
.has-right-margin-l {
margin-right: $spacing-l;
}
.has-border-top-light {
border-radius: 0;
border-top: 1px solid $grey-light;
}
.has-border-bottom-light {
border-radius: 0;
border-bottom: 1px solid $grey-light;
}
.has-border-danger {
border: 1px solid $danger;
}
ul.bullet {
list-style: disc;
padding-left: $spacing-m;
}
.has-text-semibold {
font-weight: $font-weight-semibold;
}
.is-v-centered {
vertical-align: middle;
}
.has-text-grey-400 {
color: $ui-gray-400;
}
.has-text-red {
color: $red;
}
.has-text-green {
color: $green;
}
.has-text-align-center {
text-align: center;
}
// Screen Readers only
.sr-only {
border: 0 !important;
clip: rect(1px, 1px, 1px, 1px) !important;
-webkit-clip-path: inset(50%) !important;
clip-path: inset(50%) !important;
height: 1px !important;
overflow: hidden !important;
margin: -1px !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
white-space: nowrap !important;
}