viniBaxter-spa_landing 0.1.0 → 0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/spa_landing/avatar-group-hover-last.svg +9 -0
  3. data/app/assets/images/spa_landing/avatar-group-hover.svg +10 -0
  4. data/app/assets/images/spa_landing/avatar-group.svg +9 -0
  5. data/app/assets/images/spa_landing/avatar-status.svg +9 -0
  6. data/lib/viniBaxter/sass/.DS_Store +0 -0
  7. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_alert.scss +0 -0
  8. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_badge.scss +0 -0
  9. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_breadcrumb.scss +2 -0
  10. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_button-group.scss +0 -0
  11. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_buttons.scss +61 -16
  12. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_card.scss +21 -13
  13. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_carousel.scss +0 -0
  14. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_close.scss +0 -1
  15. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_code.scss +0 -0
  16. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_custom-forms.scss +7 -5
  17. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_dropdown.scss +2 -1
  18. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_forms.scss +9 -0
  19. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_functions.scss +48 -18
  20. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_grid.scss +10 -6
  21. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_images.scss +0 -0
  22. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_input-group.scss +2 -1
  23. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_jumbotron.scss +0 -0
  24. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_list-group.scss +9 -13
  25. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_media.scss +0 -0
  26. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_mixins.scss +0 -0
  27. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_modal.scss +2 -1
  28. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_nav.scss +3 -0
  29. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_navbar.scss +0 -0
  30. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_pagination.scss +1 -0
  31. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_popover.scss +0 -0
  32. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_print.scss +0 -0
  33. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_progress.scss +1 -0
  34. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_reboot.scss +11 -24
  35. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_root.scss +0 -0
  36. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_spinners.scss +1 -0
  37. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_tables.scss +0 -0
  38. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_toasts.scss +4 -2
  39. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_tooltip.scss +0 -0
  40. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_transitions.scss +0 -0
  41. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_type.scss +0 -0
  42. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/_utilities.scss +2 -1
  43. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/bootstrap-grid.scss +4 -4
  44. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/bootstrap-reboot.scss +4 -4
  45. data/lib/viniBaxter/sass/bootstrap/bootstrap.scss +43 -0
  46. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_alert.scss +0 -0
  47. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_background-variant.scss +2 -1
  48. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_badge.scss +0 -0
  49. data/lib/viniBaxter/sass/bootstrap/mixins/_border-radius.scss +76 -0
  50. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_box-shadow.scss +0 -0
  51. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_breakpoints.scss +0 -0
  52. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_buttons.scss +57 -13
  53. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_caret.scss +0 -0
  54. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_clearfix.scss +0 -0
  55. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_deprecate.scss +0 -0
  56. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_float.scss +0 -0
  57. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_forms.scss +3 -2
  58. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_gradients.scss +0 -0
  59. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_grid-framework.scss +24 -15
  60. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_grid.scss +7 -7
  61. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_hover.scss +0 -0
  62. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_image.scss +0 -0
  63. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_list-group.scss +0 -0
  64. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_lists.scss +0 -0
  65. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_nav-divider.scss +0 -0
  66. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_pagination.scss +0 -0
  67. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_reset-text.scss +0 -0
  68. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_resize.scss +0 -0
  69. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_screen-reader.scss +0 -0
  70. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_size.scss +0 -0
  71. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_table-row.scss +0 -0
  72. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_text-emphasis.scss +0 -0
  73. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_text-hide.scss +0 -0
  74. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_text-truncate.scss +0 -0
  75. data/lib/viniBaxter/sass/bootstrap/mixins/_transition.scss +26 -0
  76. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/mixins/_visibility.scss +0 -0
  77. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_align.scss +0 -0
  78. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_background.scss +1 -1
  79. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_borders.scss +0 -0
  80. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_clearfix.scss +0 -0
  81. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_display.scss +0 -0
  82. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_embed.scss +0 -0
  83. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_flex.scss +0 -0
  84. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_float.scss +0 -0
  85. data/lib/viniBaxter/sass/bootstrap/utilities/_interactions.scss +5 -0
  86. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_overflow.scss +0 -0
  87. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_position.scss +4 -2
  88. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_screenreaders.scss +0 -0
  89. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_shadows.scss +0 -0
  90. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_sizing.scss +0 -0
  91. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_spacing.scss +0 -0
  92. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_stretched-link.scss +0 -0
  93. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_text.scss +0 -0
  94. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/utilities/_visibility.scss +0 -0
  95. data/lib/viniBaxter/sass/{spa_landing/scss → bootstrap}/vendor/_rfs.scss +0 -0
  96. data/lib/viniBaxter/sass/spa_landing-basic-nav.scss +8 -0
  97. data/lib/viniBaxter/sass/spa_landing-nav.scss +8 -0
  98. data/lib/viniBaxter/{.DS_Store → sass/spa_landing/.DS_Store} +0 -0
  99. data/lib/viniBaxter/sass/spa_landing/theme/_aos.scss +13 -11
  100. data/lib/viniBaxter/sass/spa_landing/theme/_avatar.scss +25 -21
  101. data/lib/viniBaxter/sass/spa_landing/theme/_buttons.scss +65 -5
  102. data/lib/viniBaxter/sass/spa_landing/theme/_card.scss +60 -0
  103. data/lib/viniBaxter/sass/spa_landing/theme/_choices.scss +20 -0
  104. data/lib/viniBaxter/sass/spa_landing/theme/_custom-forms.scss +19 -7
  105. data/lib/viniBaxter/sass/spa_landing/theme/_dropdown-extend.scss +113 -0
  106. data/lib/viniBaxter/sass/spa_landing/theme/_dropdown.scss +18 -19
  107. data/lib/viniBaxter/sass/spa_landing/theme/_dropdown_creative.scss +140 -0
  108. data/lib/viniBaxter/sass/spa_landing/theme/_dropzone.scss +89 -0
  109. data/lib/viniBaxter/sass/spa_landing/theme/_feather.scss +0 -1079
  110. data/lib/viniBaxter/sass/spa_landing/theme/_forms.scss +14 -3
  111. data/lib/viniBaxter/sass/spa_landing/theme/_functions.scss +3 -3
  112. data/lib/viniBaxter/sass/spa_landing/theme/_grid.scss +1 -1
  113. data/lib/viniBaxter/sass/spa_landing/theme/_icon.scss +12 -14
  114. data/lib/viniBaxter/sass/spa_landing/theme/_input-group.scss +16 -0
  115. data/lib/viniBaxter/sass/spa_landing/theme/_mixins.scss +7 -3
  116. data/lib/viniBaxter/sass/spa_landing/theme/_modal.scss +5 -8
  117. data/lib/viniBaxter/sass/spa_landing/theme/_navbar-extend.scss +54 -0
  118. data/lib/viniBaxter/sass/spa_landing/theme/_navbar.scss +267 -272
  119. data/lib/viniBaxter/sass/spa_landing/theme/_navbar_creative.scss +425 -0
  120. data/lib/viniBaxter/sass/spa_landing/theme/_quill.scss +284 -0
  121. data/lib/viniBaxter/sass/spa_landing/theme/_reboot.scss +2 -10
  122. data/lib/viniBaxter/sass/spa_landing/theme/_responsive.scss +307 -0
  123. data/lib/viniBaxter/sass/spa_landing/theme/_shapes.scss +10 -0
  124. data/lib/viniBaxter/sass/spa_landing/theme/_theme-basic-nav.scss +50 -0
  125. data/lib/viniBaxter/sass/spa_landing/theme/_theme.scss +52 -48
  126. data/lib/viniBaxter/sass/spa_landing/theme/_type.scss +2 -7
  127. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_dropdown.scss +29 -0
  128. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_mixins.scss +3 -0
  129. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_navbar.scss +298 -0
  130. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_transparency.scss +8 -0
  131. data/lib/viniBaxter/sass/spa_landing/theme/mixins/_vendor-prefixes.scss +305 -0
  132. data/lib/viniBaxter/sass/spa_landing/theme/now-ui-kit.scss +6 -0
  133. data/lib/viniBaxter/sass/spa_landing/theme/utilities/_borders.scss +10 -2
  134. data/lib/viniBaxter/sass/spa_landing/theme/utilities/_type.scss +8 -4
  135. data/lib/viniBaxter/spa_landing/version.rb +1 -1
  136. metadata +114 -111
  137. data/app/assets/images/spa_landing/asc.gif +0 -0
  138. data/app/assets/images/spa_landing/bg.gif +0 -0
  139. data/app/assets/images/spa_landing/desc.gif +0 -0
  140. data/lib/viniBaxter/sass/spa_landing.scss +0 -17
  141. data/lib/viniBaxter/sass/spa_landing/_some_airbnb_variables.scss +0 -48
  142. data/lib/viniBaxter/sass/spa_landing/_user.scss +0 -6
  143. data/lib/viniBaxter/sass/spa_landing/scss/_variables.scss +0 -1143
  144. data/lib/viniBaxter/sass/spa_landing/scss/bootstrap.scss +0 -44
  145. data/lib/viniBaxter/sass/spa_landing/scss/mixins/_border-radius.scss +0 -63
  146. data/lib/viniBaxter/sass/spa_landing/scss/mixins/_transition.scss +0 -16
  147. data/lib/viniBaxter/sass/spa_landing/theme/_button-group.scss +0 -0
  148. data/lib/viniBaxter/sass/spa_landing/theme/_carousel.scss +0 -0
  149. data/lib/viniBaxter/sass/spa_landing/theme/_code.scss +0 -0
  150. data/lib/viniBaxter/sass/spa_landing/theme/_jumbotron.scss +0 -0
  151. data/lib/viniBaxter/sass/spa_landing/theme/_media.scss +0 -0
  152. data/lib/viniBaxter/sass/spa_landing/theme/_nav.scss +0 -0
  153. data/lib/viniBaxter/sass/spa_landing/theme/_print.scss +0 -0
  154. data/lib/viniBaxter/sass/spa_landing/theme/_progress.scss +0 -0
  155. data/lib/viniBaxter/sass/spa_landing/theme/_root.scss +0 -0
  156. data/lib/viniBaxter/sass/spa_landing/theme/_tooltip.scss +0 -0
  157. data/lib/viniBaxter/sass/spa_landing/theme/_transitions.scss +0 -0
  158. data/lib/viniBaxter/sass/spa_landing/theme/_variables.scss +0 -565
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8a22f20f1e2c3feccb16cd27799c3b9eb518344f1c65f090640d80c6ecfe4db
4
- data.tar.gz: 299c3d29d4abc1a60bb08f3bd3285072a98ce08b74698d9e66baffb85b413b89
3
+ metadata.gz: 6954c7a3c5c1ea024f2df059c41007bf9d679f0d5a5862dcf58e20f82f2d3b1c
4
+ data.tar.gz: 4557f403822e6dd78115be86b584d428bdfa2bf58e94ee988ebf6711b9081bdb
5
5
  SHA512:
6
- metadata.gz: 569eb1dc5d832e2f94e68edfc9db94bce72ac533dd4e50739f7d56d62ba5894b285cb09ddd188d165c10b854e1c87b33d46ee926e3d417984c0f1d1bb99d0aef
7
- data.tar.gz: 4827b4b5720ad44afc0290e7686727b5f91e99e2e46f8500575421fcee12000a1befb3e61595bff17d1d2ed124f0646fc09f70217181b70f8f7a73ba50f8e869
6
+ metadata.gz: ea3d2867cf103e8dea442d6931d8a8194c04c827a12298c6a6b08c01d9d951f075e05989bf48fa9c1a65666ba23e8de888cf23360edae2d0dd267717c388fcec
7
+ data.tar.gz: 41e2982c7d06fee479e992343aa6020a335102bb7cc1f92d3586bd912428f26dbcd1ee7c5d6240e4fc834feb397191f012f18fc97cacd8dda3813a9edb351ffe
@@ -0,0 +1,9 @@
1
+ <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <defs>
3
+ <mask id="avatarGroupHoverLast">
4
+ <rect width="100" height="100" fill="white"></rect>
5
+ <circle cx="-25" cy="50" r="55" fill="black"></circle>
6
+ </mask>
7
+ </defs>
8
+ <rect width="100" height="100" fill="green" mask="url(#avatarGroupHoverLast)"></rect>
9
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <defs>
3
+ <mask id="avatarGroupHover">
4
+ <rect width="100" height="100" fill="white"></rect>
5
+ <circle cx="125" cy="50" r="55" fill="black"></circle>
6
+ <circle cx="-25" cy="50" r="55" fill="black"></circle>
7
+ </mask>
8
+ </defs>
9
+ <rect width="100" height="100" fill="green" mask="url(#avatarGroupHover)"></rect>
10
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <defs>
3
+ <mask id="avatarGroup">
4
+ <rect width="100" height="100" fill="white"></rect>
5
+ <circle cx="125" cy="50" r="55" fill="black"></circle>
6
+ </mask>
7
+ </defs>
8
+ <rect width="100" height="100" fill="green" mask="url(#avatarGroup)"></rect>
9
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <defs>
3
+ <mask id="avatarStatus">
4
+ <rect width="100" height="100" fill="white"></rect>
5
+ <circle cx="85" cy="85" r="15" fill="black"></circle>
6
+ </mask>
7
+ </defs>
8
+ <rect width="100" height="100" fill="green" mask="url(#avatarStatus)"></rect>
9
+ </svg>
@@ -10,6 +10,8 @@
10
10
  }
11
11
 
12
12
  .breadcrumb-item {
13
+ display: flex;
14
+
13
15
  // The separator between breadcrumbs (by default, a forward-slash: "/")
14
16
  + .breadcrumb-item {
15
17
  padding-left: $breadcrumb-item-padding;
@@ -10,13 +10,19 @@
10
10
  font-weight: $btn-font-weight;
11
11
  color: $body-color;
12
12
  text-align: center;
13
+ text-decoration: if($link-decoration == none, null, none);
13
14
  white-space: $btn-white-space;
14
15
  vertical-align: middle;
15
- cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
16
16
  user-select: none;
17
17
  background-color: transparent;
18
18
  border: $btn-border-width solid transparent;
19
- @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);
19
+ @include button-size(
20
+ $btn-padding-y,
21
+ $btn-padding-x,
22
+ $btn-font-size,
23
+ $btn-line-height,
24
+ $btn-border-radius
25
+ );
20
26
  @include transition($btn-transition);
21
27
 
22
28
  @include hover() {
@@ -37,12 +43,16 @@
37
43
  @include box-shadow(none);
38
44
  }
39
45
 
40
- &:not(:disabled):not(.disabled):active,
41
- &:not(:disabled):not(.disabled).active {
42
- @include box-shadow($btn-active-box-shadow);
46
+ &:not(:disabled):not(.disabled) {
47
+ cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
43
48
 
44
- &:focus {
45
- @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
49
+ &:active,
50
+ &.active {
51
+ @include box-shadow($btn-active-box-shadow);
52
+
53
+ &:focus {
54
+ @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
55
+ }
46
56
  }
47
57
  }
48
58
  }
@@ -53,7 +63,6 @@ fieldset:disabled a.btn {
53
63
  pointer-events: none;
54
64
  }
55
65
 
56
-
57
66
  //
58
67
  // Alternate buttons
59
68
  //
@@ -70,6 +79,33 @@ fieldset:disabled a.btn {
70
79
  }
71
80
  }
72
81
 
82
+ // Gradient
83
+ @each $color, $value in $theme-gradient-colors {
84
+ .btn-gradient-#{$color} {
85
+ @include set-gradient-button($color);
86
+ width: 200px;
87
+ color: $light;
88
+ background-size: 300% 100%;
89
+ transition: all 0.4s ease-in-out;
90
+ &:hover {
91
+ background-position: 100% 0;
92
+ transition: all 0.4s ease-in-out;
93
+ }
94
+ }
95
+ }
96
+
97
+ @each $color, $value in $theme-gradient-colors {
98
+ .btn-outline-gradient-#{$color} {
99
+ @include set-gradient-button($color);
100
+ background-origin: border-box;
101
+ box-shadow: 2px 1000px 1px #fff inset;
102
+ color: $value;
103
+ border-color: rgba(255, 255, 255, 0) !important;
104
+ &:hover {
105
+ color: $value;
106
+ }
107
+ }
108
+ }
73
109
 
74
110
  //
75
111
  // Link buttons
@@ -89,7 +125,6 @@ fieldset:disabled a.btn {
89
125
  &:focus,
90
126
  &.focus {
91
127
  text-decoration: $link-hover-decoration;
92
- box-shadow: none;
93
128
  }
94
129
 
95
130
  &:disabled,
@@ -101,20 +136,30 @@ fieldset:disabled a.btn {
101
136
  // No need for an active state here
102
137
  }
103
138
 
104
-
105
139
  //
106
140
  // Button Sizes
107
141
  //
108
142
 
109
143
  .btn-lg {
110
- @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);
144
+ @include button-size(
145
+ $btn-padding-y-lg,
146
+ $btn-padding-x-lg,
147
+ $btn-font-size-lg,
148
+ $btn-line-height-lg,
149
+ $btn-border-radius-lg
150
+ );
111
151
  }
112
152
 
113
153
  .btn-sm {
114
- @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);
154
+ @include button-size(
155
+ $btn-padding-y-sm,
156
+ $btn-padding-x-sm,
157
+ $btn-font-size-sm,
158
+ $btn-line-height-sm,
159
+ $btn-border-radius-sm
160
+ );
115
161
  }
116
162
 
117
-
118
163
  //
119
164
  // Block button
120
165
  //
@@ -130,9 +175,9 @@ fieldset:disabled a.btn {
130
175
  }
131
176
 
132
177
  // Specificity overrides
133
- input[type="submit"],
134
- input[type="reset"],
135
- input[type="button"] {
178
+ input[type='submit'],
179
+ input[type='reset'],
180
+ input[type='button'] {
136
181
  &.btn-block {
137
182
  width: 100%;
138
183
  }
@@ -19,17 +19,27 @@
19
19
  margin-left: 0;
20
20
  }
21
21
 
22
- > .list-group:first-child {
23
- .list-group-item:first-child {
24
- @include border-top-radius($card-border-radius);
22
+ > .list-group {
23
+ border-top: inherit;
24
+ border-bottom: inherit;
25
+
26
+ &:first-child {
27
+ border-top-width: 0;
28
+ @include border-top-radius($card-inner-border-radius);
25
29
  }
26
- }
27
30
 
28
- > .list-group:last-child {
29
- .list-group-item:last-child {
30
- @include border-bottom-radius($card-border-radius);
31
+ &:last-child {
32
+ border-bottom-width: 0;
33
+ @include border-bottom-radius($card-inner-border-radius);
31
34
  }
32
35
  }
36
+
37
+ // Due to specificity of the above selector (`.card > .list-group`), we must
38
+ // use a child selector here to prevent double borders.
39
+ > .card-header + .list-group,
40
+ > .list-group + .card-footer {
41
+ border-top: 0;
42
+ }
33
43
  }
34
44
 
35
45
  .card-body {
@@ -80,16 +90,11 @@
80
90
  &:first-child {
81
91
  @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
82
92
  }
83
-
84
- + .list-group {
85
- .list-group-item:first-child {
86
- border-top: 0;
87
- }
88
- }
89
93
  }
90
94
 
91
95
  .card-footer {
92
96
  padding: $card-spacer-y $card-spacer-x;
97
+ color: $card-cap-color;
93
98
  background-color: $card-cap-bg;
94
99
  border-top: $card-border-width solid $card-border-color;
95
100
 
@@ -123,6 +128,7 @@
123
128
  bottom: 0;
124
129
  left: 0;
125
130
  padding: $card-img-overlay-padding;
131
+ @include border-radius($card-inner-border-radius);
126
132
  }
127
133
 
128
134
  .card-img,
@@ -258,6 +264,8 @@
258
264
  //
259
265
 
260
266
  .accordion {
267
+ overflow-anchor: none;
268
+
261
269
  > .card {
262
270
  overflow: hidden;
263
271
 
@@ -30,7 +30,6 @@ button.close {
30
30
  padding: 0;
31
31
  background-color: transparent;
32
32
  border: 0;
33
- appearance: none;
34
33
  }
35
34
 
36
35
  // Future-proof disabling of clicks on `<a>` elements
@@ -9,6 +9,7 @@
9
9
 
10
10
  .custom-control {
11
11
  position: relative;
12
+ z-index: 1;
12
13
  display: block;
13
14
  min-height: $font-size-base * $line-height-base;
14
15
  padding-left: $custom-control-gutter + $custom-control-indicator-size;
@@ -135,10 +136,10 @@
135
136
 
136
137
  .custom-control-input:disabled {
137
138
  &:checked ~ .custom-control-label::before {
138
- background-color: $custom-control-indicator-checked-disabled-bg;
139
+ @include gradient-bg($custom-control-indicator-checked-disabled-bg);
139
140
  }
140
141
  &:indeterminate ~ .custom-control-label::before {
141
- background-color: $custom-control-indicator-checked-disabled-bg;
142
+ @include gradient-bg($custom-control-indicator-checked-disabled-bg);
142
143
  }
143
144
  }
144
145
  }
@@ -161,7 +162,7 @@
161
162
 
162
163
  .custom-control-input:disabled {
163
164
  &:checked ~ .custom-control-label::before {
164
- background-color: $custom-control-indicator-checked-disabled-bg;
165
+ @include gradient-bg($custom-control-indicator-checked-disabled-bg);
165
166
  }
166
167
  }
167
168
  }
@@ -204,7 +205,7 @@
204
205
 
205
206
  .custom-control-input:disabled {
206
207
  &:checked ~ .custom-control-label::before {
207
- background-color: $custom-control-indicator-checked-disabled-bg;
208
+ @include gradient-bg($custom-control-indicator-checked-disabled-bg);
208
209
  }
209
210
  }
210
211
  }
@@ -237,8 +238,9 @@
237
238
  border-color: $custom-select-focus-border-color;
238
239
  outline: 0;
239
240
  @if $enable-shadows {
240
- box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;
241
+ @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);
241
242
  } @else {
243
+ // Avoid using mixin so we can pass custom focus shadow properly
242
244
  box-shadow: $custom-select-focus-box-shadow;
243
245
  }
244
246
 
@@ -128,6 +128,7 @@
128
128
  font-weight: $font-weight-normal;
129
129
  color: $dropdown-link-color;
130
130
  text-align: inherit; // For `<button>`s
131
+ text-decoration: if($link-decoration == none, null, none);
131
132
  white-space: nowrap; // prevent links from randomly breaking onto new lines
132
133
  background-color: transparent; // For `<button>`s
133
134
  border: 0; // For `<button>`s
@@ -176,7 +177,7 @@
176
177
  // Dropdown section headers
177
178
  .dropdown-header {
178
179
  display: block;
179
- padding: $dropdown-padding-y $dropdown-item-padding-x;
180
+ padding: $dropdown-header-padding;
180
181
  margin-bottom: 0; // for use with heading elements
181
182
  @include font-size($font-size-sm);
182
183
  color: $dropdown-header-color;
@@ -59,6 +59,15 @@
59
59
  }
60
60
  }
61
61
 
62
+ input[type="date"],
63
+ input[type="time"],
64
+ input[type="datetime-local"],
65
+ input[type="month"] {
66
+ &.form-control {
67
+ appearance: none; // Fix appearance for date inputs in Safari
68
+ }
69
+ }
70
+
62
71
  select.form-control {
63
72
  &:focus::-ms-value {
64
73
  // Suppress the nested default white text on blue background highlight given to
@@ -8,7 +8,7 @@
8
8
  $prev-key: null;
9
9
  $prev-num: null;
10
10
  @each $key, $num in $map {
11
- @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
11
+ @if $prev-num == null or unit($num) == '%' or unit($prev-num) == '%' {
12
12
  // Do nothing
13
13
  } @else if not comparable($prev-num, $num) {
14
14
  @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
@@ -22,11 +22,13 @@
22
22
 
23
23
  // Starts at zero
24
24
  // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
- @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
- $values: map-values($map);
27
- $first-value: nth($values, 1);
28
- @if $first-value != 0 {
29
- @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
25
+ @mixin _assert-starts-at-zero($map, $map-name: '$grid-breakpoints') {
26
+ @if length($map) > 0 {
27
+ $values: map-values($map);
28
+ $first-value: nth($values, 1);
29
+ @if $first-value != 0 {
30
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
31
+ }
30
32
  }
31
33
  }
32
34
 
@@ -38,11 +40,16 @@
38
40
  // @param {String} $search - Substring to replace
39
41
  // @param {String} $replace ('') - New value
40
42
  // @return {String} - Updated string
41
- @function str-replace($string, $search, $replace: "") {
43
+ @function str-replace($string, $search, $replace: '') {
42
44
  $index: str-index($string, $search);
43
45
 
44
46
  @if $index {
45
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
47
+ @return str-slice($string, 1, $index - 1) + $replace +
48
+ str-replace(
49
+ str-slice($string, $index + str-length($search)),
50
+ $search,
51
+ $replace
52
+ );
46
53
  }
47
54
 
48
55
  @return $string;
@@ -50,9 +57,14 @@
50
57
 
51
58
  // See https://codepen.io/kevinweber/pen/dXWoRw
52
59
  @function escape-svg($string) {
53
- @if str-index($string, "data:image/svg+xml") {
60
+ @if str-index($string, 'data:image/svg+xml') {
54
61
  @each $char, $encoded in $escaped-characters {
55
- $string: str-replace($string, $char, $encoded);
62
+ // Do not escape the url brackets
63
+ @if str-index($string, 'url(') == 1 {
64
+ $string: url('#{str-replace(str-slice($string, 6, -3), $char, $encoded)}');
65
+ } @else {
66
+ $string: str-replace($string, $char, $encoded);
67
+ }
56
68
  }
57
69
  }
58
70
 
@@ -75,20 +87,20 @@
75
87
  }
76
88
 
77
89
  // Retrieve color Sass maps
78
- @function color($key: "blue") {
90
+ @function color($key: 'blue') {
79
91
  @return map-get($colors, $key);
80
92
  }
81
93
 
82
- @function theme-color($key: "primary") {
94
+ @function theme-color($key: 'primary') {
83
95
  @return map-get($theme-colors, $key);
84
96
  }
85
97
 
86
- @function gray($key: "100") {
98
+ @function gray($key: '100') {
87
99
  @return map-get($grays, $key);
88
100
  }
89
101
 
90
102
  // Request a theme color level
91
- @function theme-color-level($color-name: "primary", $level: 0) {
103
+ @function theme-color-level($color-name: 'primary', $level: 0) {
92
104
  $color: theme-color($color-name);
93
105
  $color-base: if($level > 0, $black, $white);
94
106
  $level: abs($level);
@@ -106,11 +118,20 @@
106
118
  @return $value1;
107
119
  }
108
120
 
109
- @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
121
+ @if type-of($value1) ==
122
+ number and
123
+ type-of($value2) ==
124
+ number and
125
+ comparable($value1, $value2)
126
+ {
110
127
  @return $value1 + $value2;
111
128
  }
112
129
 
113
- @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
130
+ @return if(
131
+ $return-calc == true,
132
+ calc(#{$value1} + #{$value2}),
133
+ $value1 + unquote(' + ') + $value2
134
+ );
114
135
  }
115
136
 
116
137
  @function subtract($value1, $value2, $return-calc: true) {
@@ -126,9 +147,18 @@
126
147
  @return $value1;
127
148
  }
128
149
 
129
- @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
150
+ @if type-of($value1) ==
151
+ number and
152
+ type-of($value2) ==
153
+ number and
154
+ comparable($value1, $value2)
155
+ {
130
156
  @return $value1 - $value2;
131
157
  }
132
158
 
133
- @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
159
+ @return if(
160
+ $return-calc == true,
161
+ calc(#{$value1} - #{$value2}),
162
+ $value1 + unquote(' - ') + $value2
163
+ );
134
164
  }