311 lines
5.6 KiB
SCSS
311 lines
5.6 KiB
SCSS
textarea {
|
|
resize: vertical;
|
|
}
|
|
|
|
input {
|
|
border-radius: $border-radius-base;
|
|
color: $gl-text-color;
|
|
background-color: $input-bg;
|
|
}
|
|
|
|
input[type='text'].danger {
|
|
background: $input-danger-bg !important;
|
|
border-color: $red-400;
|
|
text-shadow: 0 1px 1px $white;
|
|
}
|
|
|
|
/**
|
|
* When form input type is number, Firefox & Safari show the up/down arrows
|
|
* on the right side of the input persistently, while Chrome shows it only
|
|
* on hover or focus, this fix allows us to hide the arrows in all browsers.
|
|
* You can conditionally add/remove `hide-spinners` class to have consistent
|
|
* behaviour across browsers.
|
|
*/
|
|
|
|
/* stylelint-disable property-no-vendor-prefix */
|
|
input[type='number'].hide-spinners {
|
|
-moz-appearance: textfield;
|
|
appearance: textfield;
|
|
|
|
&::-webkit-inner-spin-button,
|
|
&::-webkit-outer-spin-button {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
margin: 0;
|
|
}
|
|
}
|
|
/* stylelint-enable property-no-vendor-prefix */
|
|
|
|
/**
|
|
* When form input type is search, browsers add a clear input button inside
|
|
* the input field. This overlaps with the input field we have already added.
|
|
*/
|
|
|
|
/* stylelint-disable property-no-vendor-prefix */
|
|
input[type='search'] {
|
|
-webkit-appearance: textfield;
|
|
-moz-appearance: textfield;
|
|
appearance: textfield;
|
|
|
|
&::-webkit-search-cancel-button,
|
|
&::-webkit-search-results-button {
|
|
@include gl-display-none;
|
|
}
|
|
}
|
|
/* stylelint-enable property-no-vendor-prefix */
|
|
|
|
.datetime-controls {
|
|
select {
|
|
width: 100px;
|
|
}
|
|
}
|
|
|
|
.form-actions {
|
|
margin-top: 0;
|
|
margin-bottom: -$gl-padding;
|
|
padding: $gl-padding;
|
|
background-color: $gray-light;
|
|
border-top: 1px solid $border-color;
|
|
}
|
|
|
|
label {
|
|
font-weight: $gl-font-weight-bold;
|
|
|
|
&.inline-label {
|
|
margin: 0;
|
|
}
|
|
|
|
&.form-check-label,
|
|
&.custom-control-label {
|
|
font-weight: $gl-font-weight-normal;
|
|
}
|
|
|
|
&.label-bold {
|
|
font-weight: $gl-font-weight-bold;
|
|
}
|
|
}
|
|
|
|
.label-wrapper {
|
|
display: block;
|
|
margin: 0;
|
|
}
|
|
|
|
.inline-input-group {
|
|
width: 250px;
|
|
}
|
|
|
|
.custom-form-control {
|
|
width: 150px;
|
|
}
|
|
|
|
@include media-breakpoint-up(sm) {
|
|
.custom-form-control {
|
|
width: 150px;
|
|
}
|
|
}
|
|
|
|
/* Medium devices (desktops, 992px and up) */
|
|
@include media-breakpoint-up(md) {
|
|
.custom-form-control {
|
|
width: 170px;
|
|
}
|
|
}
|
|
|
|
/* Large devices (large desktops, 1200px and up) */
|
|
@include media-breakpoint-up(lg) {
|
|
.custom-form-control {
|
|
width: 200px;
|
|
}
|
|
}
|
|
|
|
.help-form .form-group {
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
|
|
.form-control {
|
|
background: $white;
|
|
font-family: $monospace-font;
|
|
}
|
|
|
|
@include media-breakpoint-down(xs) {
|
|
padding: 0 $gl-padding;
|
|
}
|
|
}
|
|
|
|
.fieldset-form fieldset {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.form-control {
|
|
@include box-shadow(none);
|
|
border-radius: $border-radius-default;
|
|
padding: $gl-vert-padding $gl-input-padding;
|
|
|
|
&.input-short {
|
|
width: $input-short-width;
|
|
|
|
@include media-breakpoint-up(md) {
|
|
width: $input-short-md-width;
|
|
}
|
|
}
|
|
}
|
|
|
|
.form-control,
|
|
[contenteditable=true] {
|
|
&:focus {
|
|
border-color: $gray-400;
|
|
@include gl-focus;
|
|
}
|
|
}
|
|
|
|
.select-control {
|
|
line-height: 1.3;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
appearance: none;
|
|
/* stylelint-disable property-no-vendor-prefix */
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
/* stylelint-enable property-no-vendor-prefix */
|
|
|
|
&::-ms-expand {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.form-control-inline {
|
|
display: inline;
|
|
}
|
|
|
|
.form-control::placeholder {
|
|
color: $gl-text-color-tertiary;
|
|
}
|
|
|
|
.input-group {
|
|
.input-group-prepend,
|
|
.input-group-append {
|
|
background-color: $input-group-addon-bg;
|
|
}
|
|
|
|
.input-group-prepend:not(:first-child):not(:last-child),
|
|
.input-group-append:not(:first-child):not(:last-child) {
|
|
border-left: 0;
|
|
border-right: 0;
|
|
}
|
|
}
|
|
|
|
.form-text.text-muted {
|
|
margin-bottom: 0;
|
|
margin-top: #{$grid-size / 2};
|
|
font-size: $gl-font-size;
|
|
|
|
.invisible {
|
|
visibility: hidden;
|
|
}
|
|
}
|
|
|
|
.gl-field-error,
|
|
.invalid-feedback {
|
|
color: $red-500;
|
|
font-size: $gl-font-size;
|
|
}
|
|
|
|
.gl-show-field-errors {
|
|
.form-control:not(textarea) {
|
|
height: $input-height;
|
|
}
|
|
|
|
.gl-field-success-outline {
|
|
border: 1px solid $green-600;
|
|
|
|
&:focus {
|
|
box-shadow: 0 0 0 1px $green-600 inset, 0 1px 1px $gl-field-focus-shadow inset,
|
|
0 0 4px 0 $green-600;
|
|
border: 0 none;
|
|
}
|
|
}
|
|
|
|
.gl-field-error-outline {
|
|
border: 1px solid $red-500;
|
|
|
|
&:focus {
|
|
box-shadow: 0 0 0 1px $red-500 inset, 0 1px 1px $gl-field-focus-shadow inset,
|
|
0 0 4px 0 $gl-field-focus-shadow-error;
|
|
border: 0 none;
|
|
}
|
|
}
|
|
|
|
.gl-field-success-message {
|
|
color: $green-600;
|
|
}
|
|
|
|
.gl-field-error-message {
|
|
color: $red-500;
|
|
}
|
|
|
|
.gl-field-hint {
|
|
color: $gl-text-color;
|
|
}
|
|
}
|
|
|
|
.show-password-complexity-errors {
|
|
.form-control:not(textarea) {
|
|
height: $input-height;
|
|
}
|
|
|
|
.password-complexity-error-outline {
|
|
border: 1px solid $red-500;
|
|
|
|
&:focus {
|
|
box-shadow: 0 0 0 1px $red-500 inset, 0 1px 1px $gl-field-focus-shadow inset,
|
|
0 0 4px 0 $gl-field-focus-shadow-error;
|
|
border: 0 none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.input-icon-wrapper,
|
|
.select-wrapper {
|
|
position: relative;
|
|
}
|
|
|
|
.input-icon-wrapper > .input-icon-right {
|
|
position: absolute;
|
|
right: 0.8em;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
color: $gray-400;
|
|
}
|
|
|
|
.input-md {
|
|
max-width: $input-md-width;
|
|
width: 100%;
|
|
}
|
|
|
|
.input-lg {
|
|
max-width: $input-lg-width;
|
|
width: 100%;
|
|
}
|
|
|
|
.input-group-text {
|
|
max-height: $input-height;
|
|
}
|
|
|
|
.add-issuable-form-input-wrapper {
|
|
&.focus {
|
|
border-color: var(--gray-700, $gray-700);
|
|
|
|
input {
|
|
@include gl-shadow-none;
|
|
}
|
|
}
|
|
|
|
.gl-show-field-errors &.form-control:not(textarea) {
|
|
height: auto;
|
|
}
|
|
}
|
|
|
|
.add-issuable-form-input-wrapper.focus,
|
|
.issue-token-remove-button:focus {
|
|
@include gl-focus;
|
|
}
|