Skip to content

Commit

Permalink
Merge branch 'main' into main-xmr-node-14
Browse files Browse the repository at this point in the history
  • Loading branch information
XhmikosR committed Oct 29, 2020
2 parents 2ca7a83 + b1c7d1d commit 094edf4
Show file tree
Hide file tree
Showing 16 changed files with 125 additions and 278 deletions.
1 change: 0 additions & 1 deletion scss/_forms.scss
Expand Up @@ -3,7 +3,6 @@
@import "forms/form-control";
@import "forms/form-select";
@import "forms/form-check";
@import "forms/form-file";
@import "forms/form-range";
@import "forms/floating-labels";
@import "forms/input-group";
Expand Down
10 changes: 9 additions & 1 deletion scss/_reboot.scss
Expand Up @@ -575,7 +575,15 @@ legend {
padding: 0;
}

// 1. Change font properties to `inherit` in Safari.

// Inherit font family and line height for file input buttons

// stylelint-disable-next-line selector-pseudo-element-no-unknown
::file-selector-button {
font: inherit;
}

// 1. Change font properties to `inherit`
// 2. Correct the inability to style clickable types in iOS and Safari.

::-webkit-file-upload-button {
Expand Down
30 changes: 2 additions & 28 deletions scss/_variables.scss
Expand Up @@ -793,35 +793,9 @@ $form-range-thumb-active-bg: tint-color($component-active-bg, 70%)
$form-range-thumb-disabled-bg: $gray-500 !default;
$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;

$form-file-height: $input-height !default;
$form-file-focus-border-color: $input-focus-border-color !default;
$form-file-focus-box-shadow: $input-focus-box-shadow !default;
$form-file-disabled-bg: $input-disabled-bg !default;
$form-file-disabled-border-color: $input-disabled-border-color !default;

$form-file-padding-y: $input-padding-y !default;
$form-file-padding-x: $input-padding-x !default;
$form-file-line-height: $input-line-height !default;
$form-file-font-family: $input-font-family !default;
$form-file-font-weight: $input-font-weight !default;
$form-file-color: $input-color !default;
$form-file-bg: $input-bg !default;
$form-file-border-width: $input-border-width !default;
$form-file-border-color: $input-border-color !default;
$form-file-border-radius: $input-border-radius !default;
$form-file-box-shadow: $input-box-shadow !default;
$form-file-button-color: $form-file-color !default;
$form-file-button-color: $input-color !default;
$form-file-button-bg: $input-group-addon-bg !default;

$form-file-padding-y-sm: $input-padding-y-sm !default;
$form-file-padding-x-sm: $input-padding-x-sm !default;
$form-file-font-size-sm: $input-font-size-sm !default;
$form-file-height-sm: $input-height-sm !default;

$form-file-padding-y-lg: $input-padding-y-lg !default;
$form-file-padding-x-lg: $input-padding-x-lg !default;
$form-file-font-size-lg: $input-font-size-lg !default;
$form-file-height-lg: $input-height-lg !default;
$form-file-button-hover-bg: shade-color($input-group-addon-bg, 5%) !default;

$form-floating-height: add(3.5rem, $input-height-border) !default;
$form-floating-padding-x: $input-padding-x !default;
Expand Down
78 changes: 78 additions & 0 deletions scss/forms/_form-control.scss
Expand Up @@ -23,6 +23,14 @@
@include box-shadow($input-box-shadow);
@include transition($input-transition);

&[type="file"] {
overflow: hidden; // prevent pseudo element button overlap

&:not(:disabled):not([readonly]) {
cursor: pointer;
}
}

// Customize the `:focus` state to imitate native WebKit styles.
&:focus {
color: $input-focus-color;
Expand Down Expand Up @@ -56,6 +64,48 @@
// iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
opacity: 1;
}

// File input buttons theming
// stylelint-disable-next-line selector-pseudo-element-no-unknown
&::file-selector-button {
padding: $input-padding-y $input-padding-x;
margin: (-$input-padding-y) (-$input-padding-x);
margin-inline-end: $input-padding-x;
-moz-margin-end: subtract($input-padding-x, 5px); // stylelint-disable-line property-no-vendor-prefix
color: $form-file-button-color;
@include gradient-bg($form-file-button-bg);
pointer-events: none;
border-color: inherit;
border-style: solid;
border-width: 0;
border-inline-end-width: $input-border-width;
border-radius: 0; // stylelint-disable-line property-disallowed-list
@include transition($btn-transition);
}

// stylelint-disable-next-line selector-pseudo-element-no-unknown
&:hover:not(:disabled):not([readonly])::file-selector-button {
background-color: $form-file-button-hover-bg;
}

&::-webkit-file-upload-button {
padding: $input-padding-y $input-padding-x;
margin: (-$input-padding-y) (-$input-padding-x);
margin-inline-end: $input-padding-x;
color: $form-file-button-color;
@include gradient-bg($form-file-button-bg);
pointer-events: none;
border-color: inherit;
border-style: solid;
border-width: 0;
border-inline-end-width: $input-border-width;
border-radius: 0; // stylelint-disable-line property-disallowed-list
@include transition($btn-transition);
}

&:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
background-color: $form-file-button-hover-bg;
}
}

// Readonly controls as plain text
Expand Down Expand Up @@ -93,13 +143,41 @@
padding: $input-padding-y-sm $input-padding-x-sm;
@include font-size($input-font-size-sm);
@include border-radius($input-border-radius-sm);

// stylelint-disable-next-line selector-pseudo-element-no-unknown
&::file-selector-button {
padding: $input-padding-y-sm $input-padding-x-sm;
margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
margin-inline-end: $input-padding-x-sm;
-moz-margin-end: subtract($input-padding-x-sm, 5px); // stylelint-disable-line property-no-vendor-prefix
}

&::-webkit-file-upload-button {
padding: $input-padding-y-sm $input-padding-x-sm;
margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
margin-inline-end: $input-padding-x-sm;
}
}

.form-control-lg {
min-height: $input-height-lg;
padding: $input-padding-y-lg $input-padding-x-lg;
@include font-size($input-font-size-lg);
@include border-radius($input-border-radius-lg);

// stylelint-disable-next-line selector-pseudo-element-no-unknown
&::file-selector-button {
padding: $input-padding-y-lg $input-padding-x-lg;
margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
margin-inline-end: $input-padding-x-lg;
-moz-margin-end: subtract($input-padding-x-lg, 5px); // stylelint-disable-line property-no-vendor-prefix
}

&::-webkit-file-upload-button {
padding: $input-padding-y-lg $input-padding-x-lg;
margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
margin-inline-end: $input-padding-x-lg;
}
}

.form-control-color {
Expand Down
91 changes: 0 additions & 91 deletions scss/forms/_form-file.scss

This file was deleted.

21 changes: 2 additions & 19 deletions scss/forms/_input-group.scss
Expand Up @@ -10,8 +10,7 @@
width: 100%;

> .form-control,
> .form-select,
> .form-file {
> .form-select {
position: relative; // For focus state's z-index
flex: 1 1 auto;
width: 1%;
Expand All @@ -20,26 +19,10 @@

// Bring the "active" form control to the top of surrounding elements
> .form-control:focus,
> .form-select:focus,
> .form-file .form-file-input:focus ~ .form-file-label {
> .form-select:focus {
z-index: 3;
}

// Bring the custom file input above the label
> .form-file {
> .form-file-input:focus {
z-index: 4;
}

&:not(:last-child) > .form-file-label {
@include border-right-radius(0);
}

&:not(:first-child) > .form-file-label {
@include border-left-radius(0);
}
}

// Ensure buttons are always above inputs for more visually pleasing borders.
// This isn't needed for `.input-group-text` since it shares the same border-color
// as our inputs.
Expand Down
16 changes: 0 additions & 16 deletions scss/mixins/_forms.scss
Expand Up @@ -114,20 +114,4 @@
margin-left: .5em;
}
}

// custom file
.form-file-input {
@include form-validation-state-selector($state) {
~ .form-file-label {
border-color: $color;
}

&:focus {
~ .form-file-label {
border-color: $color;
box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
}
}
}
}
}
4 changes: 1 addition & 3 deletions site/assets/js/application.js
Expand Up @@ -10,7 +10,7 @@
* For details, see https://creativecommons.org/licenses/by/3.0/.
*/

/* global ClipboardJS: false, anchors: false, bootstrap: false, bsCustomFileInput: false */
/* global ClipboardJS: false, anchors: false, bootstrap: false */

(function () {
'use strict'
Expand Down Expand Up @@ -141,6 +141,4 @@
icon: '#'
}
anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')

bsCustomFileInput.init()
})()
7 changes: 0 additions & 7 deletions site/assets/js/vendor/bs-custom-file-input.min.js

This file was deleted.

0 comments on commit 094edf4

Please sign in to comment.