open-vault/ui/app/styles/core/helpers.scss
Matthew Irish 0357790fb8
UI - jwt auth (#6188)
* fix default rendering of svg and allow plugins access to mount tune form

* add auth-jwt component

* add callback route, and allow it to be navigated to on load

* add jwt as a supported auth method

* use auth-jwt component and implement intial oidc flow

* allow wrapping un-authed requests

* pass redirect_url and properly redirect with the wrapped token

* popup for login

* center popup window and move to localStorage events for cross window communication because of IE11

* access window via a getter on the auth-form component

* show OIDC provider name on the button

* fetch default role on render of the auth-jwt component

* simplify auth-form template

* style callback page

* refetch auth_url when path changes for auth-jwt component

* fix glimmer error on alias metadata, and add back popup-metadata component

* fix link in metadata page

* add logo-edition component and remove use of partial for logo svg

* render oidc callback template on the loading page if we're going there

* add docs icon and change timeout on the auth form

* move OIDC auth specific things to auth-jwt component

* start to add branded buttons for OIDC providers

* add google button

* finish branded buttons

* update glyph for error messages

* update tests for auth screen not showing tabs, add adapter tests and new auth jwt tests

* start auth-jwt tests

* simplify auth-jwt

* remove negative top margin on AlertInline

* only preventDefault if there's an event

* fill out tests

* sort out some naming

* feedback on templates and styles

* clear error when starting OIDC auth and call for new auth_url

* also allow 'oidc' as the auth method type

* handle namespaces with OIDC auth

* review feedback

* use new getters in popup-metadata
2019-02-14 09:39:19 -06:00

149 lines
2.4 KiB
SCSS

.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-bottom-shadow {
box-shadow: $box-shadow !important;
}
.is-borderless {
border: 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-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-1 {
flex-grow: 1;
}
.is-flex-wrap {
flex-flow: row wrap;
}
.is-flex-end {
display: flex !important;
justify-content: flex-end;
}
.is-flex-full {
flex-basis: 100%;
}
.is-no-flex-grow {
flex-grow: 0 !important;
}
.is-auto-width {
width: auto;
}
.is-flex-between,
.is-grouped-split {
display: flex;
justify-content: space-between !important;
}
.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;
}
.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;
}
.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;
}
@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-bottom-margin {
margin-bottom: $spacing-m;
}