foundation-rails 6.2.4.0 → 6.3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/Rakefile +2 -0
  4. data/bower.json +2 -2
  5. data/lib/foundation/rails/version.rb +1 -1
  6. data/lib/generators/foundation/templates/_settings.scss +117 -70
  7. data/lib/generators/foundation/templates/foundation_and_overrides.scss +2 -1
  8. data/vendor/assets/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  9. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  10. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  11. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  12. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  13. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  14. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  15. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  16. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  17. data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  18. data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  19. data/vendor/assets/js/foundation.abide.js.es6 +28 -0
  20. data/vendor/assets/js/foundation.accordion.js.es6 +1 -1
  21. data/vendor/assets/js/foundation.accordionMenu.js.es6 +9 -1
  22. data/vendor/assets/js/foundation.core.js.es6 +4 -4
  23. data/vendor/assets/js/foundation.drilldown.js.es6 +128 -14
  24. data/vendor/assets/js/foundation.dropdown.js.es6 +48 -42
  25. data/vendor/assets/js/foundation.dropdownMenu.js.es6 +20 -18
  26. data/vendor/assets/js/foundation.equalizer.js.es6 +12 -6
  27. data/vendor/assets/js/foundation.interchange.js.es6 +3 -2
  28. data/vendor/assets/js/foundation.js.es6 +2 -1
  29. data/vendor/assets/js/foundation.magellan.js.es6 +28 -9
  30. data/vendor/assets/js/foundation.offcanvas.js.es6 +90 -123
  31. data/vendor/assets/js/foundation.orbit.js.es6 +61 -10
  32. data/vendor/assets/js/foundation.responsiveMenu.js.es6 +2 -0
  33. data/vendor/assets/js/foundation.responsiveToggle.js.es6 +52 -12
  34. data/vendor/assets/js/foundation.reveal.js.es6 +48 -48
  35. data/vendor/assets/js/foundation.slider.js.es6 +124 -42
  36. data/vendor/assets/js/foundation.sticky.js.es6 +11 -9
  37. data/vendor/assets/js/foundation.tabs.js.es6 +164 -35
  38. data/vendor/assets/js/foundation.toggler.js.es6 +3 -0
  39. data/vendor/assets/js/foundation.tooltip.js.es6 +20 -10
  40. data/vendor/assets/js/foundation.util.box.js.es6 +2 -2
  41. data/vendor/assets/js/foundation.util.keyboard.js.es6 +37 -0
  42. data/vendor/assets/js/foundation.util.mediaQuery.js.es6 +16 -0
  43. data/vendor/assets/js/foundation.util.motion.js.es6 +7 -1
  44. data/vendor/assets/js/foundation.util.nest.js.es6 +10 -5
  45. data/vendor/assets/js/foundation.util.timerAndImageLoader.js.es6 +6 -4
  46. data/vendor/assets/js/foundation.util.triggers.js.es6 +54 -36
  47. data/vendor/assets/js/foundation.zf.responsiveAccordionTabs.js.es6 +240 -0
  48. data/vendor/assets/scss/_global.scss +25 -450
  49. data/vendor/assets/scss/components/_accordion-menu.scss +8 -4
  50. data/vendor/assets/scss/components/_accordion.scss +43 -22
  51. data/vendor/assets/scss/components/_badge.scss +17 -9
  52. data/vendor/assets/scss/components/_breadcrumbs.scss +7 -5
  53. data/vendor/assets/scss/components/_button-group.scss +54 -6
  54. data/vendor/assets/scss/components/_button.scss +27 -16
  55. data/vendor/assets/scss/components/_callout.scss +3 -2
  56. data/vendor/assets/scss/components/_card.scss +121 -0
  57. data/vendor/assets/scss/components/_close-button.scss +54 -13
  58. data/vendor/assets/scss/components/_drilldown.scss +19 -5
  59. data/vendor/assets/scss/components/_dropdown-menu.scss +23 -18
  60. data/vendor/assets/scss/components/_dropdown.scss +14 -7
  61. data/vendor/assets/scss/components/_flex-video.scss +1 -63
  62. data/vendor/assets/scss/components/_float.scss +1 -1
  63. data/vendor/assets/scss/components/_label.scss +16 -8
  64. data/vendor/assets/scss/components/_media-object.scss +2 -3
  65. data/vendor/assets/scss/components/_menu.scss +68 -33
  66. data/vendor/assets/scss/components/_off-canvas.scss +231 -80
  67. data/vendor/assets/scss/components/_orbit.scss +8 -6
  68. data/vendor/assets/scss/components/_pagination.scss +42 -22
  69. data/vendor/assets/scss/components/_progress-bar.scss +1 -1
  70. data/vendor/assets/scss/components/_responsive-embed.scss +66 -0
  71. data/vendor/assets/scss/components/_reveal.scss +17 -11
  72. data/vendor/assets/scss/components/_slider.scss +6 -1
  73. data/vendor/assets/scss/components/_sticky.scss +3 -3
  74. data/vendor/assets/scss/components/_switch.scss +47 -36
  75. data/vendor/assets/scss/components/_table.scss +83 -23
  76. data/vendor/assets/scss/components/_tabs.scss +54 -23
  77. data/vendor/assets/scss/components/_thumbnail.scss +17 -4
  78. data/vendor/assets/scss/components/_title-bar.scss +5 -6
  79. data/vendor/assets/scss/components/_tooltip.scss +15 -12
  80. data/vendor/assets/scss/components/_top-bar.scss +11 -8
  81. data/vendor/assets/scss/forms/_checkbox.scss +2 -1
  82. data/vendor/assets/scss/forms/_error.scss +10 -6
  83. data/vendor/assets/scss/forms/_fieldset.scss +7 -7
  84. data/vendor/assets/scss/forms/_input-group.scss +17 -11
  85. data/vendor/assets/scss/forms/_label.scss +2 -0
  86. data/vendor/assets/scss/forms/_meter.scss +9 -10
  87. data/vendor/assets/scss/forms/_progress.scss +9 -9
  88. data/vendor/assets/scss/forms/_range.scss +20 -15
  89. data/vendor/assets/scss/forms/_select.scss +26 -8
  90. data/vendor/assets/scss/forms/_text.scss +19 -16
  91. data/vendor/assets/scss/foundation.scss +19 -3
  92. data/vendor/assets/scss/grid/_classes.scss +31 -14
  93. data/vendor/assets/scss/grid/_column.scss +10 -24
  94. data/vendor/assets/scss/grid/_flex-grid.scss +84 -76
  95. data/vendor/assets/scss/grid/_grid.scss +0 -16
  96. data/vendor/assets/scss/grid/_gutter.scss +53 -5
  97. data/vendor/assets/scss/grid/_layout.scss +3 -3
  98. data/vendor/assets/scss/grid/_position.scss +3 -3
  99. data/vendor/assets/scss/grid/_row.scss +24 -19
  100. data/vendor/assets/scss/settings/_settings.scss +117 -70
  101. data/vendor/assets/scss/typography/_base.scss +110 -44
  102. data/vendor/assets/scss/typography/_helpers.scss +1 -0
  103. data/vendor/assets/scss/typography/_print.scss +7 -3
  104. data/vendor/assets/scss/typography/_typography.scss +0 -2
  105. data/vendor/assets/scss/util/_breakpoint.scss +28 -19
  106. data/vendor/assets/scss/util/_color.scss +69 -16
  107. data/vendor/assets/scss/util/_flex.scss +20 -3
  108. data/vendor/assets/scss/util/_math.scss +72 -0
  109. data/vendor/assets/scss/util/_mixins.scss +63 -26
  110. data/vendor/assets/scss/util/_selector.scss +3 -2
  111. data/vendor/assets/scss/util/_unit.scss +61 -4
  112. data/vendor/assets/scss/util/_util.scss +1 -0
  113. data/vendor/assets/scss/util/_value.scss +33 -0
  114. metadata +17 -2
@@ -17,10 +17,11 @@
17
17
  [type='checkbox'] + label,
18
18
  [type='radio'] + label {
19
19
  display: inline-block;
20
+ vertical-align: baseline;
21
+
20
22
  margin-#{$global-left}: $form-spacing * 0.5;
21
23
  margin-#{$global-right}: $form-spacing;
22
24
  margin-bottom: 0;
23
- vertical-align: baseline;
24
25
 
25
26
  &[for] {
26
27
  cursor: pointer;
@@ -16,15 +16,15 @@ $abide-labels: true !default;
16
16
 
17
17
  /// Background color to use for invalid text inputs.
18
18
  /// @type Color
19
- $input-background-invalid: map-get($foundation-palette, alert) !default;
19
+ $input-background-invalid: get-color(alert) !default;
20
20
 
21
21
  /// Color to use for labels of invalid inputs.
22
22
  /// @type Color
23
- $form-label-color-invalid: map-get($foundation-palette, alert) !default;
23
+ $form-label-color-invalid: get-color(alert) !default;
24
24
 
25
25
  /// Default font color for form error text.
26
26
  /// @type Color
27
- $input-error-color: map-get($foundation-palette, alert) !default;
27
+ $input-error-color: get-color(alert) !default;
28
28
 
29
29
  /// Default font size for form error text.
30
30
  /// @type Number
@@ -37,14 +37,17 @@ $input-error-font-weight: $global-weight-bold !default;
37
37
  /// Styles the background and border of an input field to have an error state.
38
38
  ///
39
39
  /// @param {Color} $background [$alert-color] - Color to use for the background and border.
40
- /// @param {Number} $background-alpha [0.1] - Transparency level of the background color.
40
+ /// @param {Number} $background-lighten [10%] - Lightness level of the background color.
41
41
  @mixin form-input-error(
42
42
  $background: $input-background-invalid,
43
- $background-alpha: 0.1
43
+ $background-lighten: 10%
44
44
  ) {
45
45
  &:not(:focus) {
46
- background-color: rgba($background, $background-alpha);
47
46
  border-color: $background;
47
+ background-color: mix($background, $white, $background-lighten);
48
+ &::placeholder {
49
+ color: $background;
50
+ }
48
51
  }
49
52
  }
50
53
 
@@ -53,6 +56,7 @@ $input-error-font-weight: $global-weight-bold !default;
53
56
  display: none;
54
57
  margin-top: $form-spacing * -0.5;
55
58
  margin-bottom: $form-spacing;
59
+
56
60
  font-size: $input-error-font-size;
57
61
  font-weight: $input-error-font-weight;
58
62
  color: $input-error-color;
@@ -23,29 +23,29 @@ $fieldset-margin: rem-calc(18 0) !default;
23
23
  $legend-padding: rem-calc(0 3) !default;
24
24
 
25
25
  @mixin fieldset {
26
- border: $fieldset-border;
27
- padding: $fieldset-padding;
28
26
  margin: $fieldset-margin;
27
+ padding: $fieldset-padding;
28
+ border: $fieldset-border;
29
29
 
30
30
  legend {
31
31
  // Covers up the fieldset's border to create artificial padding
32
- background: $body-background;
33
- padding: $legend-padding;
34
32
  margin: 0;
35
33
  margin-#{$global-left}: rem-calc(-3);
34
+ padding: $legend-padding;
35
+ background: $body-background;
36
36
  }
37
37
  }
38
38
 
39
39
  @mixin foundation-form-fieldset {
40
40
  fieldset {
41
- border: 0;
42
- padding: 0;
43
41
  margin: 0;
42
+ padding: 0;
43
+ border: 0;
44
44
  }
45
45
 
46
46
  legend {
47
- margin-bottom: $form-spacing * 0.5;
48
47
  max-width: 100%;
48
+ margin-bottom: $form-spacing * 0.5;
49
49
  }
50
50
 
51
51
  .fieldset {
@@ -34,12 +34,12 @@ $input-prefix-padding: 1rem !default;
34
34
  }
35
35
 
36
36
  > :first-child {
37
- border-radius: if($global-text-direction == rtl, 0 $global-radius $global-radius 0, $global-radius 0 0 $global-radius);
37
+ border-radius: if($global-text-direction == rtl, 0 $input-radius $input-radius 0, $input-radius 0 0 $input-radius);
38
38
  }
39
39
 
40
40
  > :last-child {
41
41
  > * {
42
- border-radius: if($global-text-direction == rtl, $global-radius 0 0 $global-radius, 0 $global-radius $global-radius 0);
42
+ border-radius: if($global-text-direction == rtl, $input-radius 0 0 $input-radius, 0 $input-radius $input-radius 0);
43
43
  }
44
44
  }
45
45
  }
@@ -56,16 +56,17 @@ $input-prefix-padding: 1rem !default;
56
56
 
57
57
  .input-group-label {
58
58
  @extend %input-group-child;
59
- text-align: center;
60
59
  padding: 0 $input-prefix-padding;
60
+ border: $input-prefix-border;
61
61
  background: $input-prefix-background;
62
+
62
63
  color: $input-prefix-color;
63
- border: $input-prefix-border;
64
+ text-align: center;
64
65
  white-space: nowrap;
65
66
 
66
67
  @if $global-flexbox {
67
- flex: 0 0 auto;
68
68
  display: flex;
69
+ flex: 0 0 auto;
69
70
  align-items: center;
70
71
  }
71
72
  @else {
@@ -88,10 +89,10 @@ $input-prefix-padding: 1rem !default;
88
89
  @extend %input-group-child;
89
90
  border-radius: 0;
90
91
 
91
- // scss-lint:disable ZeroUnit
92
92
  @if $global-flexbox {
93
- flex: 1 1 0px;
93
+ flex: 1 1 0px; // sass-lint:disable-line zero-unit
94
94
  height: auto;
95
+ min-width: 0;
95
96
  }
96
97
  @else {
97
98
  height: $height;
@@ -108,19 +109,24 @@ $input-prefix-padding: 1rem !default;
108
109
  flex: 0 0 auto;
109
110
  }
110
111
  @else {
111
- height: 100%;
112
112
  width: 1%;
113
+ height: 100%;
113
114
  }
114
115
 
115
116
  a,
116
117
  input,
117
- button {
118
- margin: 0;
118
+ button,
119
+ label {
120
+ @extend %input-group-child;
121
+ height: $height;
122
+ padding-top: 0;
123
+ padding-bottom: 0;
124
+
125
+ font-size: $input-font-size;
119
126
  }
120
127
  }
121
128
 
122
129
  // Specificity bump needed to prevent override by buttons
123
- // scss-lint:disable QualifyingSelector
124
130
  @if not $global-flexbox {
125
131
  .input-group .input-group-button {
126
132
  display: table-cell;
@@ -25,6 +25,7 @@ $form-label-line-height: 1.8 !default;
25
25
  @mixin form-label {
26
26
  display: block;
27
27
  margin: 0;
28
+
28
29
  font-size: $form-label-font-size;
29
30
  font-weight: $form-label-font-weight;
30
31
  line-height: $form-label-line-height;
@@ -33,6 +34,7 @@ $form-label-line-height: 1.8 !default;
33
34
 
34
35
  @mixin form-label-middle {
35
36
  $input-border-width: get-border-value($input-border, width);
37
+
36
38
  margin: 0 0 $form-spacing;
37
39
  padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0;
38
40
  }
@@ -32,30 +32,29 @@ $meter-fill-bad: $alert-color !default;
32
32
 
33
33
  @mixin foundation-meter-element {
34
34
  meter {
35
- -webkit-appearance: none;
36
- -moz-appearance: none;
37
35
  display: block;
38
36
  width: 100%;
39
37
  height: $meter-height;
40
38
  margin-bottom: 1rem;
41
39
 
40
+ appearance: none;
41
+
42
42
  @if has-value($meter-radius) {
43
43
  border-radius: $meter-radius;
44
44
  }
45
45
 
46
46
  // For Firefox
47
- background: $meter-background;
48
47
  border: 0;
48
+ background: $meter-background;
49
49
 
50
50
  // Chrome/Safari/Edge
51
51
  &::-webkit-meter-bar {
52
- background: $meter-background;
53
-
52
+ border: 0;
54
53
  @if has-value($meter-radius) {
55
54
  border-radius: $meter-radius;
56
55
  }
57
-
58
- border: 0;
56
+
57
+ background: $meter-background;
59
58
  }
60
59
 
61
60
  &::-webkit-meter-inner-element {
@@ -96,15 +95,15 @@ $meter-fill-bad: $alert-color !default;
96
95
  }
97
96
  }
98
97
 
99
- &:-moz-meter-optimum::-moz-meter-bar {
98
+ &:-moz-meter-optimum::-moz-meter-bar { // sass-lint:disable-line force-pseudo-nesting
100
99
  background: $meter-fill-good;
101
100
  }
102
101
 
103
- &:-moz-meter-sub-optimum::-moz-meter-bar {
102
+ &:-moz-meter-sub-optimum::-moz-meter-bar { // sass-lint:disable-line force-pseudo-nesting
104
103
  background: $meter-fill-medium;
105
104
  }
106
105
 
107
- &:-moz-meter-sub-sub-optimum::-moz-meter-bar {
106
+ &:-moz-meter-sub-sub-optimum::-moz-meter-bar { // sass-lint:disable-line force-pseudo-nesting
108
107
  background: $meter-fill-bad;
109
108
  }
110
109
  }
@@ -28,20 +28,20 @@ $progress-radius: $global-radius !default;
28
28
 
29
29
  @mixin foundation-progress-element {
30
30
  progress {
31
- -webkit-appearance: none;
32
- -moz-appearance: none;
33
31
  display: block;
34
32
  width: 100%;
35
33
  height: $progress-height;
36
34
  margin-bottom: $progress-margin-bottom;
37
35
 
36
+ appearance: none;
37
+
38
38
  @if hasvalue($progress-radius) {
39
39
  border-radius: $progress-radius;
40
40
  }
41
41
 
42
42
  // For Firefox
43
- background: $progress-background;
44
43
  border: 0;
44
+ background: $progress-background;
45
45
 
46
46
  &::-webkit-progress-bar {
47
47
  background: $progress-background;
@@ -81,14 +81,14 @@ $progress-radius: $global-radius !default;
81
81
  }
82
82
  }
83
83
  }
84
-
85
- // For IE and Edge
86
- &::-ms-fill{
84
+
85
+ // For IE and Edge
86
+ &::-ms-fill {
87
87
  @if hasvalue($progress-radius) {
88
- border-radius: $progress-radius;
88
+ border-radius: $progress-radius;
89
89
  }
90
90
 
91
- border: 0;
92
- }
91
+ border: 0;
92
+ }
93
93
  }
94
94
  }
@@ -39,20 +39,19 @@ $slider-opacity-disabled: 0.25 !default;
39
39
  $slider-radius: $global-radius !default;
40
40
 
41
41
  @mixin foundation-range-input {
42
- // scss-lint:disable QualifyingElement
43
- input[type="range"] {
42
+ input[type="range"] { // sass-lint:disable-line no-qualifying-elements
44
43
  $margin: ($slider-handle-height - $slider-height) / 2;
45
44
 
46
- -webkit-appearance: none;
47
- -moz-appearance: none;
48
45
  display: block;
49
46
  width: 100%;
50
47
  height: auto;
51
- cursor: pointer;
52
48
  margin-top: $margin;
53
49
  margin-bottom: $margin;
50
+
51
+ appearance: none;
54
52
  border: 0;
55
53
  line-height: 1;
54
+ cursor: pointer;
56
55
 
57
56
  @if has-value($slider-radius) {
58
57
  border-radius: $slider-radius;
@@ -66,6 +65,8 @@ $slider-radius: $global-radius !default;
66
65
  opacity: $slider-opacity-disabled;
67
66
  }
68
67
 
68
+ // sass-lint:disable no-vendor-prefix
69
+
69
70
  // Chrome/Safari
70
71
  &::-webkit-slider-runnable-track {
71
72
  height: $slider-height;
@@ -73,12 +74,13 @@ $slider-radius: $global-radius !default;
73
74
  }
74
75
 
75
76
  &::-webkit-slider-handle {
76
- -webkit-appearance: none;
77
- background: $slider-handle-background;
78
77
  width: $slider-handle-width;
79
78
  height: $slider-handle-height;
80
79
  margin-top: -$margin;
81
80
 
81
+ -webkit-appearance: none;
82
+ background: $slider-handle-background;
83
+
82
84
  @if has-value($slider-radius) {
83
85
  border-radius: $slider-radius;
84
86
  }
@@ -86,18 +88,19 @@ $slider-radius: $global-radius !default;
86
88
 
87
89
  // Firefox
88
90
  &::-moz-range-track {
89
- -moz-appearance: none;
90
91
  height: $slider-height;
92
+ -moz-appearance: none;
91
93
  background: $slider-background;
92
94
  }
93
95
 
94
96
  &::-moz-range-thumb {
95
- -moz-appearance: none;
96
- background: $slider-handle-background;
97
97
  width: $slider-handle-width;
98
98
  height: $slider-handle-height;
99
99
  margin-top: -$margin;
100
100
 
101
+ -moz-appearance: none;
102
+ background: $slider-handle-background;
103
+
101
104
  @if has-value($slider-radius) {
102
105
  border-radius: $slider-radius;
103
106
  }
@@ -106,19 +109,21 @@ $slider-radius: $global-radius !default;
106
109
  // Internet Explorer
107
110
  &::-ms-track {
108
111
  height: $slider-height;
109
- background: $slider-background;
110
- color: transparent;
112
+
111
113
  border: 0;
112
- overflow: visible;
113
114
  border-top: $margin solid $body-background;
114
115
  border-bottom: $margin solid $body-background;
116
+ background: $slider-background;
117
+
118
+ overflow: visible;
119
+ color: transparent;
115
120
  }
116
121
 
117
122
  &::-ms-thumb {
118
- background: $slider-handle-background;
119
123
  width: $slider-handle-width;
120
124
  height: $slider-handle-height;
121
125
  border: 0;
126
+ background: $slider-handle-background;
122
127
 
123
128
  @if has-value($slider-radius) {
124
129
  border-radius: $slider-radius;
@@ -135,9 +140,9 @@ $slider-radius: $global-radius !default;
135
140
 
136
141
  @at-root {
137
142
  output {
138
- line-height: $slider-handle-height;
139
143
  vertical-align: middle;
140
144
  margin-left: 0.5em;
145
+ line-height: $slider-handle-height;
141
146
  }
142
147
  }
143
148
  }
@@ -22,27 +22,45 @@ $select-radius: $global-radius !default;
22
22
  $height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));
23
23
 
24
24
  height: $height;
25
+ margin: 0 0 $form-spacing;
25
26
  padding: ($form-spacing / 2);
27
+
28
+ appearance: none;
26
29
  border: $input-border;
27
- margin: 0 0 $form-spacing;
28
- font-size: $input-font-size;
30
+ border-radius: $select-radius;
31
+ background-color: $select-background;
32
+
29
33
  font-family: $input-font-family;
34
+ font-size: $input-font-size;
30
35
  line-height: normal;
31
36
  color: $input-color;
32
- background-color: $select-background;
33
- border-radius: $select-radius;
34
- -webkit-appearance: none;
35
- -moz-appearance: none;
36
37
 
37
38
  @if $select-triangle-color != transparent {
38
39
  @include background-triangle($select-triangle-color);
39
- background-size: 9px 6px;
40
- background-position: $global-right (-$form-spacing) center;
41
40
  background-origin: content-box;
41
+ background-position: $global-right (-$form-spacing) center;
42
42
  background-repeat: no-repeat;
43
+ background-size: 9px 6px;
44
+
43
45
  padding-#{$global-right}: ($form-spacing * 1.5);
44
46
  }
45
47
 
48
+ @if has-value($input-transition) {
49
+ transition: $input-transition;
50
+ }
51
+
52
+ // Focus state
53
+ &:focus {
54
+ outline: none;
55
+ border: $input-border-focus;
56
+ background-color: $input-background-focus;
57
+ box-shadow: $input-shadow-focus;
58
+
59
+ @if has-value($input-transition) {
60
+ transition: $input-transition;
61
+ }
62
+ }
63
+
46
64
  // Disabled state
47
65
  &:disabled {
48
66
  background-color: $input-background-disabled;