insomnia/app/ui/css/components/forms.less
Gregory Schier 3f5e7e2e14 First-Party OAuth 2.0 Support (#120)
* Proof of concept authorize call

* Authorize and Refresh endpoints done

* OAuth2 editor started

* Some small fixes

* Set OAuth headers on request

* Started on some OAuth tests

* Updated network logic with new OAuth API

* OAuth forms and refactor flows

* Fix grant type handling

* Moved auth handling out of render pipeline

* Fixed legacy auth header

* Fix vertical center

* Prompt user on auth type change

* Refresh tokens working (I think) and better UI

* Catch same type auth change

* POC refresh token and small refactor

* Better token handling

* LOading state to token refresh

* Show o-auth-2 errors

* Some minor updates
2017-03-23 15:10:42 -07:00

249 lines
3.9 KiB
Plaintext

@import '../constants/dimensions';
@import '../constants/colors';
.form-control {
outline: none;
border: 0;
margin-bottom: @padding-sm;
width: 100%;
box-sizing: border-box;
.input,
input,
textarea,
select,
button {
width: 100%;
height: 100%;
display: block;
margin-top: @padding-xs;
box-sizing: border-box;
}
button,
input[type="radio"],
input[type="checkbox"] {
width: auto;
}
input[type="radio"],
input[type="checkbox"] {
height: 1rem;
float: left;
margin-top: @padding-xxs;
margin-right: @padding-xs;
}
& > button {
width: auto;
}
input:invalid {
border: 1px solid var(--color-warning) !important;
}
label {
font-weight: 600;
display: block;
* {
font-weight: normal;
}
}
&.form-control--thin {
label {
font-weight: normal;
}
margin-bottom: @padding-xxs;
}
&.form-control--padded,
&.form-control--outlined,
&.form-control--underlined {
textarea,
.input,
input,
select {
border: 1px solid var(--hl-md);
padding: @padding-sm;
border-radius: @radius-md;
background-color: @hl-xxs;
}
.input,
input,
select {
height: @line-height-xs;
}
.input[data-focused="on"],
textarea:focus,
select:focus,
input:focus {
background-color: transparent;
border-color: var(--hl-lg);
}
}
&.form-control--underlined .input[data-focused="on"],
&.form-control--underlined input:focus,
&.form-control--underlined textarea:focus {
border-color: var(--hl);
}
&.form-control--padded {
.input,
textarea,
select,
input {
border: 0;
}
}
&.form-control--underlined {
textarea,
select,
.input,
input {
border-radius: 0;
border-top: 0;
border-right: 0;
border-left: 0;
background: none;
padding-left: @padding-xxs;
padding-right: @padding-xxs;
}
}
}
.form-control--wide {
margin-left: 0 !important;
margin-right: 0 !important;
}
.form-row {
display: flex;
align-items: center;
justify-content: center;
align-content: center;
flex-direction: row;
& > * {
width: 100%;
margin-left: 0.5rem;
margin-right: 0.5rem;
}
& > p {
margin: 0;
}
& > *:first-child {
margin-left: 0;
}
& > *:last-child {
margin-right: 0;
}
}
.btn {
text-align: center;
padding: 0 (@padding-md * 1.5);
height: @line-height-md;
border: 1px solid transparent;
&.btn--compact {
padding: 0 @padding-md;
height: @line-height-sm;
}
&.btn--super-compact {
padding: 0 @padding-md;
height: @line-height-xs;
}
&.btn--super-duper-compact {
padding: 0 @padding-sm;
height: @line-height-xxs;
}
&.btn--outlined {
border: 1px solid @hl-lg;
border-radius: @radius-md;
}
&.btn--clicky {
.btn--super-compact;
.btn--outlined;
}
}
*:disabled {
opacity: 0.5;
}
.btn:focus:not(:disabled),
.btn.focus:not(:disabled),
.btn:hover:not(:disabled) {
background-color: @hl-xs;
}
.btn:active:not(:disabled) {
background-color: @hl-md;
}
.btn.btn--no-background {
opacity: 0.5;
background-color: transparent;
&:hover {
opacity: 1;
background-color: transparent;
}
}
textarea, input, .input, button, select {
transition: all 130ms ease-out;
box-sizing: border-box;
text-align: left;
font-size: inherit;
text-decoration: inherit;
background: none;
border: 0;
outline: 0;
margin: 0;
padding: 0;
color: inherit;
&::-webkit-input-placeholder {
color: @hl-lg;
}
}
input[type=number]::-webkit-inner-spin-button {
opacity: 0.8;
}
input.input--error {
border-color: var(--color-danger) !important;
}
button {
width: auto;
padding: 0;
margin: 0;
white-space: nowrap;
}
textarea.no-resize {
resize: none;
}
input[type="color"] {
height: @line-height-xs !important;
padding: @padding-xxs !important;
}