viniBaxter-spa_landing 0.6.0 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/lib/viniBaxter/sass/.DS_Store +0 -0
  3. data/lib/viniBaxter/sass/bootstrap/_alert.scss +51 -0
  4. data/lib/viniBaxter/sass/bootstrap/_badge.scss +54 -0
  5. data/lib/viniBaxter/sass/bootstrap/_breadcrumb.scss +44 -0
  6. data/lib/viniBaxter/sass/bootstrap/_button-group.scss +163 -0
  7. data/lib/viniBaxter/sass/bootstrap/_buttons.scss +184 -0
  8. data/lib/viniBaxter/sass/bootstrap/_card.scss +286 -0
  9. data/lib/viniBaxter/sass/bootstrap/_carousel.scss +197 -0
  10. data/lib/viniBaxter/sass/bootstrap/_close.scss +40 -0
  11. data/lib/viniBaxter/sass/bootstrap/_code.scss +48 -0
  12. data/lib/viniBaxter/sass/bootstrap/_custom-forms.scss +523 -0
  13. data/lib/viniBaxter/sass/bootstrap/_dropdown.scss +192 -0
  14. data/lib/viniBaxter/sass/bootstrap/_forms.scss +347 -0
  15. data/lib/viniBaxter/sass/bootstrap/_functions.scss +164 -0
  16. data/lib/viniBaxter/sass/bootstrap/_grid.scss +73 -0
  17. data/lib/viniBaxter/sass/bootstrap/_images.scss +42 -0
  18. data/lib/viniBaxter/sass/bootstrap/_input-group.scss +192 -0
  19. data/lib/viniBaxter/sass/bootstrap/_jumbotron.scss +17 -0
  20. data/lib/viniBaxter/sass/bootstrap/_list-group.scss +154 -0
  21. data/lib/viniBaxter/sass/bootstrap/_media.scss +8 -0
  22. data/lib/viniBaxter/sass/bootstrap/_mixins.scss +47 -0
  23. data/lib/viniBaxter/sass/bootstrap/_modal.scss +240 -0
  24. data/lib/viniBaxter/sass/bootstrap/_nav.scss +123 -0
  25. data/lib/viniBaxter/sass/bootstrap/_navbar.scss +324 -0
  26. data/lib/viniBaxter/sass/bootstrap/_pagination.scss +74 -0
  27. data/lib/viniBaxter/sass/bootstrap/_popover.scss +170 -0
  28. data/lib/viniBaxter/sass/bootstrap/_print.scss +141 -0
  29. data/lib/viniBaxter/sass/bootstrap/_progress.scss +47 -0
  30. data/lib/viniBaxter/sass/bootstrap/_reboot.scss +469 -0
  31. data/lib/viniBaxter/sass/bootstrap/_root.scss +20 -0
  32. data/lib/viniBaxter/sass/bootstrap/_spinners.scss +56 -0
  33. data/lib/viniBaxter/sass/bootstrap/_tables.scss +185 -0
  34. data/lib/viniBaxter/sass/bootstrap/_toasts.scss +46 -0
  35. data/lib/viniBaxter/sass/bootstrap/_tooltip.scss +115 -0
  36. data/lib/viniBaxter/sass/bootstrap/_transitions.scss +20 -0
  37. data/lib/viniBaxter/sass/bootstrap/_type.scss +125 -0
  38. data/lib/viniBaxter/sass/bootstrap/_utilities.scss +18 -0
  39. data/lib/viniBaxter/sass/bootstrap/bootstrap-grid.scss +29 -0
  40. data/lib/viniBaxter/sass/bootstrap/bootstrap-reboot.scss +12 -0
  41. data/lib/viniBaxter/sass/bootstrap/bootstrap.scss +43 -0
  42. data/lib/viniBaxter/sass/bootstrap/mixins/_alert.scss +13 -0
  43. data/lib/viniBaxter/sass/bootstrap/mixins/_background-variant.scss +23 -0
  44. data/lib/viniBaxter/sass/bootstrap/mixins/_badge.scss +17 -0
  45. data/lib/viniBaxter/sass/bootstrap/mixins/_border-radius.scss +76 -0
  46. data/lib/viniBaxter/sass/bootstrap/mixins/_box-shadow.scss +20 -0
  47. data/lib/viniBaxter/sass/bootstrap/mixins/_breakpoints.scss +123 -0
  48. data/lib/viniBaxter/sass/bootstrap/mixins/_buttons.scss +154 -0
  49. data/lib/viniBaxter/sass/bootstrap/mixins/_caret.scss +62 -0
  50. data/lib/viniBaxter/sass/bootstrap/mixins/_clearfix.scss +7 -0
  51. data/lib/viniBaxter/sass/bootstrap/mixins/_deprecate.scss +10 -0
  52. data/lib/viniBaxter/sass/bootstrap/mixins/_float.scss +14 -0
  53. data/lib/viniBaxter/sass/bootstrap/mixins/_forms.scss +178 -0
  54. data/lib/viniBaxter/sass/bootstrap/mixins/_gradients.scss +45 -0
  55. data/lib/viniBaxter/sass/bootstrap/mixins/_grid-framework.scss +80 -0
  56. data/lib/viniBaxter/sass/bootstrap/mixins/_grid.scss +69 -0
  57. data/lib/viniBaxter/sass/bootstrap/mixins/_hover.scss +37 -0
  58. data/lib/viniBaxter/sass/bootstrap/mixins/_image.scss +36 -0
  59. data/lib/viniBaxter/sass/bootstrap/mixins/_list-group.scss +21 -0
  60. data/lib/viniBaxter/sass/bootstrap/mixins/_lists.scss +7 -0
  61. data/lib/viniBaxter/sass/bootstrap/mixins/_nav-divider.scss +11 -0
  62. data/lib/viniBaxter/sass/bootstrap/mixins/_pagination.scss +22 -0
  63. data/lib/viniBaxter/sass/bootstrap/mixins/_reset-text.scss +17 -0
  64. data/lib/viniBaxter/sass/bootstrap/mixins/_resize.scss +6 -0
  65. data/lib/viniBaxter/sass/bootstrap/mixins/_screen-reader.scss +34 -0
  66. data/lib/viniBaxter/sass/bootstrap/mixins/_size.scss +7 -0
  67. data/lib/viniBaxter/sass/bootstrap/mixins/_table-row.scss +39 -0
  68. data/lib/viniBaxter/sass/bootstrap/mixins/_text-emphasis.scss +17 -0
  69. data/lib/viniBaxter/sass/bootstrap/mixins/_text-hide.scss +11 -0
  70. data/lib/viniBaxter/sass/bootstrap/mixins/_text-truncate.scss +8 -0
  71. data/lib/viniBaxter/sass/bootstrap/mixins/_transition.scss +26 -0
  72. data/lib/viniBaxter/sass/bootstrap/mixins/_visibility.scss +8 -0
  73. data/lib/viniBaxter/sass/bootstrap/utilities/_align.scss +8 -0
  74. data/lib/viniBaxter/sass/bootstrap/utilities/_background.scss +19 -0
  75. data/lib/viniBaxter/sass/bootstrap/utilities/_borders.scss +75 -0
  76. data/lib/viniBaxter/sass/bootstrap/utilities/_clearfix.scss +3 -0
  77. data/lib/viniBaxter/sass/bootstrap/utilities/_display.scss +26 -0
  78. data/lib/viniBaxter/sass/bootstrap/utilities/_embed.scss +39 -0
  79. data/lib/viniBaxter/sass/bootstrap/utilities/_flex.scss +51 -0
  80. data/lib/viniBaxter/sass/bootstrap/utilities/_float.scss +11 -0
  81. data/lib/viniBaxter/sass/bootstrap/utilities/_interactions.scss +5 -0
  82. data/lib/viniBaxter/sass/bootstrap/utilities/_overflow.scss +5 -0
  83. data/lib/viniBaxter/sass/bootstrap/utilities/_position.scss +34 -0
  84. data/lib/viniBaxter/sass/bootstrap/utilities/_screenreaders.scss +11 -0
  85. data/lib/viniBaxter/sass/bootstrap/utilities/_shadows.scss +6 -0
  86. data/lib/viniBaxter/sass/bootstrap/utilities/_sizing.scss +20 -0
  87. data/lib/viniBaxter/sass/bootstrap/utilities/_spacing.scss +73 -0
  88. data/lib/viniBaxter/sass/bootstrap/utilities/_stretched-link.scss +19 -0
  89. data/lib/viniBaxter/sass/bootstrap/utilities/_text.scss +72 -0
  90. data/lib/viniBaxter/sass/bootstrap/utilities/_visibility.scss +13 -0
  91. data/lib/viniBaxter/sass/bootstrap/vendor/_rfs.scss +204 -0
  92. data/lib/viniBaxter/sass/spa_landing-basic-nav.scss +8 -0
  93. data/lib/viniBaxter/sass/{spa_landing.scss → spa_landing-nav.scss} +3 -0
  94. data/lib/viniBaxter/sass/spa_landing/.DS_Store +0 -0
  95. data/lib/viniBaxter/sass/spa_landing/theme/_aos.scss +13 -11
  96. data/lib/viniBaxter/sass/spa_landing/theme/_avatar.scss +24 -20
  97. data/lib/viniBaxter/sass/spa_landing/theme/_buttons.scss +65 -5
  98. data/lib/viniBaxter/sass/spa_landing/theme/_card.scss +60 -0
  99. data/lib/viniBaxter/sass/spa_landing/theme/_choices.scss +20 -0
  100. data/lib/viniBaxter/sass/spa_landing/theme/_custom-forms.scss +19 -7
  101. data/lib/viniBaxter/sass/spa_landing/theme/_dropdown-extend.scss +113 -0
  102. data/lib/viniBaxter/sass/spa_landing/theme/_dropdown.scss +18 -19
  103. data/lib/viniBaxter/sass/spa_landing/theme/_dropdown_creative.scss +140 -0
  104. data/lib/viniBaxter/sass/spa_landing/theme/_dropzone.scss +89 -0
  105. data/lib/viniBaxter/sass/spa_landing/theme/_feather.scss +0 -1079
  106. data/lib/viniBaxter/sass/spa_landing/theme/_forms.scss +14 -3
  107. data/lib/viniBaxter/sass/spa_landing/theme/_functions.scss +2 -2
  108. data/lib/viniBaxter/sass/spa_landing/theme/_grid.scss +1 -1
  109. data/lib/viniBaxter/sass/spa_landing/theme/_icon.scss +12 -14
  110. data/lib/viniBaxter/sass/spa_landing/theme/_input-group.scss +16 -0
  111. data/lib/viniBaxter/sass/spa_landing/theme/_mixins.scss +7 -3
  112. data/lib/viniBaxter/sass/spa_landing/theme/_modal.scss +5 -8
  113. data/lib/viniBaxter/sass/spa_landing/theme/_navbar-extend.scss +54 -0
  114. data/lib/viniBaxter/sass/spa_landing/theme/_navbar.scss +267 -272
  115. data/lib/viniBaxter/sass/spa_landing/theme/_navbar_creative.scss +425 -0
  116. data/lib/viniBaxter/sass/spa_landing/theme/_quill.scss +284 -0
  117. data/lib/viniBaxter/sass/spa_landing/theme/_reboot.scss +2 -10
  118. data/lib/viniBaxter/sass/spa_landing/theme/_responsive.scss +307 -0
  119. data/lib/viniBaxter/sass/spa_landing/theme/_shapes.scss +10 -0
  120. data/lib/viniBaxter/sass/spa_landing/theme/_theme-basic-nav.scss +50 -0
  121. data/lib/viniBaxter/sass/spa_landing/theme/_theme.scss +52 -48
  122. data/lib/viniBaxter/sass/spa_landing/theme/_type.scss +2 -7
  123. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_dropdown.scss +29 -0
  124. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_mixins.scss +3 -0
  125. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_navbar.scss +298 -0
  126. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_transparency.scss +8 -0
  127. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_vendor-prefixes.scss +305 -0
  128. data/lib/viniBaxter/sass/spa_landing/theme/now-ui-kit.scss +6 -0
  129. data/lib/viniBaxter/sass/spa_landing/theme/utilities/_borders.scss +10 -2
  130. data/lib/viniBaxter/sass/spa_landing/theme/utilities/_type.scss +8 -4
  131. data/lib/viniBaxter/spa_landing/version.rb +1 -1
  132. metadata +111 -15
  133. data/lib/viniBaxter/sass/spa_landing/theme/_button-group.scss +0 -0
  134. data/lib/viniBaxter/sass/spa_landing/theme/_carousel.scss +0 -0
  135. data/lib/viniBaxter/sass/spa_landing/theme/_code.scss +0 -0
  136. data/lib/viniBaxter/sass/spa_landing/theme/_jumbotron.scss +0 -0
  137. data/lib/viniBaxter/sass/spa_landing/theme/_media.scss +0 -0
  138. data/lib/viniBaxter/sass/spa_landing/theme/_nav.scss +0 -0
  139. data/lib/viniBaxter/sass/spa_landing/theme/_print.scss +0 -0
  140. data/lib/viniBaxter/sass/spa_landing/theme/_progress.scss +0 -0
  141. data/lib/viniBaxter/sass/spa_landing/theme/_root.scss +0 -0
  142. data/lib/viniBaxter/sass/spa_landing/theme/_tooltip.scss +0 -0
  143. data/lib/viniBaxter/sass/spa_landing/theme/_transitions.scss +0 -0
@@ -0,0 +1,154 @@
1
+ // Button variants
2
+ //
3
+ // Easily pump out default styles, as well as :hover, :focus, :active,
4
+ // and disabled options for all buttons
5
+
6
+ @mixin button-variant(
7
+ $background,
8
+ $border,
9
+ $hover-background: darken($background, 7.5%),
10
+ $hover-border: darken($border, 10%),
11
+ $active-background: darken($background, 10%),
12
+ $active-border: darken($border, 12.5%)
13
+ ) {
14
+ print: $background;
15
+ color: color-yiq($background);
16
+ @include gradient-bg($background);
17
+ border-color: $border;
18
+ @include box-shadow($btn-box-shadow);
19
+
20
+ @include hover() {
21
+ color: color-yiq($hover-background);
22
+ @include gradient-bg($hover-background);
23
+ border-color: $hover-border;
24
+ }
25
+
26
+ &:focus,
27
+ &.focus {
28
+ color: color-yiq($hover-background);
29
+ @include gradient-bg($hover-background);
30
+ border-color: $hover-border;
31
+ @if $enable-shadows {
32
+ @include box-shadow(
33
+ $btn-box-shadow,
34
+ 0 0 0 $btn-focus-width
35
+ rgba(mix(color-yiq($background), $border, 15%), 0.5)
36
+ );
37
+ } @else {
38
+ // Avoid using mixin so we can pass custom focus shadow properly
39
+ box-shadow: 0
40
+ 0
41
+ 0
42
+ $btn-focus-width
43
+ rgba(mix(color-yiq($background), $border, 15%), 0.5);
44
+ }
45
+ }
46
+
47
+ // Disabled comes first so active can properly restyle
48
+ &.disabled,
49
+ &:disabled {
50
+ color: color-yiq($background);
51
+ background-color: $background;
52
+ border-color: $border;
53
+ // Remove CSS gradients if they're enabled
54
+ @if $enable-gradients {
55
+ background-image: none;
56
+ }
57
+ }
58
+
59
+ &:not(:disabled):not(.disabled):active,
60
+ &:not(:disabled):not(.disabled).active,
61
+ .show > &.dropdown-toggle {
62
+ color: color-yiq($active-background);
63
+ background-color: $active-background;
64
+ @if $enable-gradients {
65
+ background-image: none; // Remove the gradient for the pressed/active state
66
+ }
67
+ border-color: $active-border;
68
+
69
+ &:focus {
70
+ @if $enable-shadows and $btn-active-box-shadow != none {
71
+ @include box-shadow(
72
+ $btn-active-box-shadow,
73
+ 0 0 0 $btn-focus-width
74
+ rgba(mix(color-yiq($background), $border, 15%), 0.5)
75
+ );
76
+ } @else {
77
+ // Avoid using mixin so we can pass custom focus shadow properly
78
+ box-shadow: 0
79
+ 0
80
+ 0
81
+ $btn-focus-width
82
+ rgba(mix(color-yiq($background), $border, 15%), 0.5);
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ @mixin button-outline-variant(
89
+ $color,
90
+ $color-hover: color-yiq($color),
91
+ $active-background: $color,
92
+ $active-border: $color
93
+ ) {
94
+ color: $color;
95
+ border-color: $color;
96
+
97
+ @include hover() {
98
+ color: $color-hover;
99
+ background-color: $active-background;
100
+ border-color: $active-border;
101
+ }
102
+
103
+ &:focus,
104
+ &.focus {
105
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, 0.5);
106
+ }
107
+
108
+ &.disabled,
109
+ &:disabled {
110
+ color: $color;
111
+ background-color: transparent;
112
+ }
113
+
114
+ &:not(:disabled):not(.disabled):active,
115
+ &:not(:disabled):not(.disabled).active,
116
+ .show > &.dropdown-toggle {
117
+ color: color-yiq($active-background);
118
+ background-color: $active-background;
119
+ border-color: $active-border;
120
+
121
+ &:focus {
122
+ @if $enable-shadows and $btn-active-box-shadow != none {
123
+ @include box-shadow(
124
+ $btn-active-box-shadow,
125
+ 0 0 0 $btn-focus-width rgba($color, 0.5)
126
+ );
127
+ } @else {
128
+ // Avoid using mixin so we can pass custom focus shadow properly
129
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, 0.5);
130
+ }
131
+ }
132
+ }
133
+ }
134
+
135
+ // Button sizes
136
+ @mixin button-size(
137
+ $padding-y,
138
+ $padding-x,
139
+ $font-size,
140
+ $line-height,
141
+ $border-radius
142
+ ) {
143
+ padding: $padding-y $padding-x;
144
+ @include font-size($font-size);
145
+ line-height: $line-height;
146
+ // Manually declare to provide an override to the browser default
147
+ @include border-radius($border-radius, 0);
148
+ }
149
+
150
+ // Button gradient
151
+ // t.ly/8b37
152
+ @mixin set-gradient-button($arg) {
153
+ @extend %btn-gradient#{$arg};
154
+ }
@@ -0,0 +1,62 @@
1
+ @mixin caret-down() {
2
+ border-top: $caret-width solid;
3
+ border-right: $caret-width solid transparent;
4
+ border-bottom: 0;
5
+ border-left: $caret-width solid transparent;
6
+ }
7
+
8
+ @mixin caret-up() {
9
+ border-top: 0;
10
+ border-right: $caret-width solid transparent;
11
+ border-bottom: $caret-width solid;
12
+ border-left: $caret-width solid transparent;
13
+ }
14
+
15
+ @mixin caret-right() {
16
+ border-top: $caret-width solid transparent;
17
+ border-right: 0;
18
+ border-bottom: $caret-width solid transparent;
19
+ border-left: $caret-width solid;
20
+ }
21
+
22
+ @mixin caret-left() {
23
+ border-top: $caret-width solid transparent;
24
+ border-right: $caret-width solid;
25
+ border-bottom: $caret-width solid transparent;
26
+ }
27
+
28
+ @mixin caret($direction: down) {
29
+ @if $enable-caret {
30
+ &::after {
31
+ display: inline-block;
32
+ margin-left: $caret-spacing;
33
+ vertical-align: $caret-vertical-align;
34
+ content: "";
35
+ @if $direction == down {
36
+ @include caret-down();
37
+ } @else if $direction == up {
38
+ @include caret-up();
39
+ } @else if $direction == right {
40
+ @include caret-right();
41
+ }
42
+ }
43
+
44
+ @if $direction == left {
45
+ &::after {
46
+ display: none;
47
+ }
48
+
49
+ &::before {
50
+ display: inline-block;
51
+ margin-right: $caret-spacing;
52
+ vertical-align: $caret-vertical-align;
53
+ content: "";
54
+ @include caret-left();
55
+ }
56
+ }
57
+
58
+ &:empty::after {
59
+ margin-left: 0;
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,7 @@
1
+ @mixin clearfix() {
2
+ &::after {
3
+ display: block;
4
+ clear: both;
5
+ content: "";
6
+ }
7
+ }
@@ -0,0 +1,10 @@
1
+ // Deprecate mixin
2
+ //
3
+ // This mixin can be used to deprecate mixins or functions.
4
+ // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to
5
+ // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)
6
+ @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {
7
+ @if ($enable-deprecation-messages != false and $ignore-warning != true) {
8
+ @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.";
9
+ }
10
+ }
@@ -0,0 +1,14 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ @mixin float-left() {
4
+ float: left !important;
5
+ @include deprecate("The `float-left` mixin", "v4.3.0", "v5");
6
+ }
7
+ @mixin float-right() {
8
+ float: right !important;
9
+ @include deprecate("The `float-right` mixin", "v4.3.0", "v5");
10
+ }
11
+ @mixin float-none() {
12
+ float: none !important;
13
+ @include deprecate("The `float-none` mixin", "v4.3.0", "v5");
14
+ }
@@ -0,0 +1,178 @@
1
+ // Form control focus state
2
+ //
3
+ // Generate a customized focus state and for any input with the specified color,
4
+ // which defaults to the `$input-focus-border-color` variable.
5
+ //
6
+ // We highly encourage you to not customize the default value, but instead use
7
+ // this to tweak colors on an as-needed basis. This aesthetic change is based on
8
+ // WebKit's default styles, but applicable to a wider range of browsers. Its
9
+ // usability and accessibility should be taken into account with any change.
10
+ //
11
+ // Example usage: change the default blue border and shadow to white for better
12
+ // contrast against a dark gray background.
13
+ @mixin form-control-focus($ignore-warning: false) {
14
+ &:focus {
15
+ color: $input-focus-color;
16
+ background-color: $input-focus-bg;
17
+ border-color: $input-focus-border-color;
18
+ outline: 0;
19
+ @if $enable-shadows {
20
+ @include box-shadow($input-box-shadow, $input-focus-box-shadow);
21
+ } @else {
22
+ // Avoid using mixin so we can pass custom focus shadow properly
23
+ box-shadow: $input-focus-box-shadow;
24
+ }
25
+ }
26
+ @include deprecate("The `form-control-focus()` mixin", "v4.4.0", "v5", $ignore-warning);
27
+ }
28
+
29
+ // This mixin uses an `if()` technique to be compatible with Dart Sass
30
+ // See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details
31
+ @mixin form-validation-state-selector($state) {
32
+ @if ($state == "valid" or $state == "invalid") {
33
+ .was-validated #{if(&, "&", "")}:#{$state},
34
+ #{if(&, "&", "")}.is-#{$state} {
35
+ @content;
36
+ }
37
+ } @else {
38
+ #{if(&, "&", "")}.is-#{$state} {
39
+ @content;
40
+ }
41
+ }
42
+ }
43
+
44
+ @mixin form-validation-state($state, $color, $icon) {
45
+ .#{$state}-feedback {
46
+ display: none;
47
+ width: 100%;
48
+ margin-top: $form-feedback-margin-top;
49
+ @include font-size($form-feedback-font-size);
50
+ color: $color;
51
+ }
52
+
53
+ .#{$state}-tooltip {
54
+ position: absolute;
55
+ top: 100%;
56
+ left: 0;
57
+ z-index: 5;
58
+ display: none;
59
+ max-width: 100%; // Contain to parent when possible
60
+ padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;
61
+ margin-top: .1rem;
62
+ @include font-size($form-feedback-tooltip-font-size);
63
+ line-height: $form-feedback-tooltip-line-height;
64
+ color: color-yiq($color);
65
+ background-color: rgba($color, $form-feedback-tooltip-opacity);
66
+ @include border-radius($form-feedback-tooltip-border-radius);
67
+ }
68
+
69
+ @include form-validation-state-selector($state) {
70
+ ~ .#{$state}-feedback,
71
+ ~ .#{$state}-tooltip {
72
+ display: block;
73
+ }
74
+ }
75
+
76
+ .form-control {
77
+ @include form-validation-state-selector($state) {
78
+ border-color: $color;
79
+
80
+ @if $enable-validation-icons {
81
+ padding-right: $input-height-inner;
82
+ background-image: escape-svg($icon);
83
+ background-repeat: no-repeat;
84
+ background-position: right $input-height-inner-quarter center;
85
+ background-size: $input-height-inner-half $input-height-inner-half;
86
+ }
87
+
88
+ &:focus {
89
+ border-color: $color;
90
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
91
+ }
92
+ }
93
+ }
94
+
95
+ // stylelint-disable-next-line selector-no-qualifying-type
96
+ textarea.form-control {
97
+ @include form-validation-state-selector($state) {
98
+ @if $enable-validation-icons {
99
+ padding-right: $input-height-inner;
100
+ background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
101
+ }
102
+ }
103
+ }
104
+
105
+ .custom-select {
106
+ @include form-validation-state-selector($state) {
107
+ border-color: $color;
108
+
109
+ @if $enable-validation-icons {
110
+ padding-right: $custom-select-feedback-icon-padding-right;
111
+ background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;
112
+ }
113
+
114
+ &:focus {
115
+ border-color: $color;
116
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
117
+ }
118
+ }
119
+ }
120
+
121
+ .form-check-input {
122
+ @include form-validation-state-selector($state) {
123
+ ~ .form-check-label {
124
+ color: $color;
125
+ }
126
+
127
+ ~ .#{$state}-feedback,
128
+ ~ .#{$state}-tooltip {
129
+ display: block;
130
+ }
131
+ }
132
+ }
133
+
134
+ .custom-control-input {
135
+ @include form-validation-state-selector($state) {
136
+ ~ .custom-control-label {
137
+ color: $color;
138
+
139
+ &::before {
140
+ border-color: $color;
141
+ }
142
+ }
143
+
144
+ &:checked {
145
+ ~ .custom-control-label::before {
146
+ border-color: lighten($color, 10%);
147
+ @include gradient-bg(lighten($color, 10%));
148
+ }
149
+ }
150
+
151
+ &:focus {
152
+ ~ .custom-control-label::before {
153
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
154
+ }
155
+
156
+ &:not(:checked) ~ .custom-control-label::before {
157
+ border-color: $color;
158
+ }
159
+ }
160
+ }
161
+ }
162
+
163
+ // custom file
164
+ .custom-file-input {
165
+ @include form-validation-state-selector($state) {
166
+ ~ .custom-file-label {
167
+ border-color: $color;
168
+ }
169
+
170
+ &:focus {
171
+ ~ .custom-file-label {
172
+ border-color: $color;
173
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
@@ -0,0 +1,45 @@
1
+ // Gradients
2
+
3
+ @mixin gradient-bg($color) {
4
+ @if $enable-gradients {
5
+ background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;
6
+ } @else {
7
+ background-color: $color;
8
+ }
9
+ }
10
+
11
+ // Horizontal gradient, from left to right
12
+ //
13
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
14
+ @mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
15
+ background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
16
+ background-repeat: repeat-x;
17
+ }
18
+
19
+ // Vertical gradient, from top to bottom
20
+ //
21
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
22
+ @mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
23
+ background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
24
+ background-repeat: repeat-x;
25
+ }
26
+
27
+ @mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
28
+ background-image: linear-gradient($deg, $start-color, $end-color);
29
+ background-repeat: repeat-x;
30
+ }
31
+ @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
32
+ background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
33
+ background-repeat: no-repeat;
34
+ }
35
+ @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
36
+ background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
37
+ background-repeat: no-repeat;
38
+ }
39
+ @mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
40
+ background-image: radial-gradient(circle, $inner-color, $outer-color);
41
+ background-repeat: no-repeat;
42
+ }
43
+ @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
44
+ background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
45
+ }