jekyll-theme-centos 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (274) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +66 -0
  4. data/_includes/centos-content/1col.html +11 -0
  5. data/_includes/centos-content/2col.html +15 -0
  6. data/_includes/centos-content/admonition/caution.html +4 -0
  7. data/_includes/centos-content/admonition/idea.html +4 -0
  8. data/_includes/centos-content/admonition/note.html +4 -0
  9. data/_includes/centos-content/admonition/warning.html +4 -0
  10. data/_includes/centos-content/around.html +6 -0
  11. data/_includes/centos-content/breadcrumbs.html +11 -0
  12. data/_includes/centos-content/download/stream-8-doc.html +5 -0
  13. data/_includes/centos-content/download/stream-8-eol.html +5 -0
  14. data/_includes/centos-content/download/stream-8.html +5 -0
  15. data/_includes/centos-content/download/stream.html +16 -0
  16. data/_includes/centos-content/download/table-body-doc.html +6 -0
  17. data/_includes/centos-content/download/table-body-eol.html +4 -0
  18. data/_includes/centos-content/download/table-body.html +7 -0
  19. data/_includes/centos-content/download/table-footer.html +2 -0
  20. data/_includes/centos-content/download/table-header-doc.html +8 -0
  21. data/_includes/centos-content/download/table-header-eol.html +8 -0
  22. data/_includes/centos-content/download/table-header.html +10 -0
  23. data/_includes/centos-content/figure.html +4 -0
  24. data/_includes/centos-content/news.html +15 -0
  25. data/_includes/centos-content/sponsors.html +19 -0
  26. data/_includes/centos-content/toc.html +103 -0
  27. data/_includes/centos-content/video.html +3 -0
  28. data/_includes/centos-footer.html +42 -0
  29. data/_includes/centos-head.html +7 -0
  30. data/_includes/centos-header.html +7 -0
  31. data/_includes/centos-header/home.html +15 -0
  32. data/_includes/centos-header/page.html +12 -0
  33. data/_includes/centos-nav.html +29 -0
  34. data/_includes/centos-styleguide.md +243 -0
  35. data/_layouts/centos-content/1col.html +9 -0
  36. data/_layouts/centos-content/2col.html +9 -0
  37. data/_layouts/centos-content/download-mirror.html +30 -0
  38. data/_layouts/centos-content/download.html +18 -0
  39. data/_layouts/centos-content/sponsors.html +21 -0
  40. data/_layouts/centos-home.html +39 -0
  41. data/_layouts/default.html +18 -0
  42. data/_layouts/page.html +5 -0
  43. data/_layouts/post.html +5 -0
  44. data/_sass/bootstrap/_alert.scss +52 -0
  45. data/_sass/bootstrap/_badge.scss +54 -0
  46. data/_sass/bootstrap/_breadcrumb.scss +44 -0
  47. data/_sass/bootstrap/_button-group.scss +163 -0
  48. data/_sass/bootstrap/_buttons.scss +142 -0
  49. data/_sass/bootstrap/_card.scss +286 -0
  50. data/_sass/bootstrap/_carousel.scss +197 -0
  51. data/_sass/bootstrap/_close.scss +40 -0
  52. data/_sass/bootstrap/_code.scss +48 -0
  53. data/_sass/bootstrap/_custom-forms.scss +524 -0
  54. data/_sass/bootstrap/_dropdown.scss +192 -0
  55. data/_sass/bootstrap/_forms.scss +347 -0
  56. data/_sass/bootstrap/_functions.scss +144 -0
  57. data/_sass/bootstrap/_grid.scss +73 -0
  58. data/_sass/bootstrap/_images.scss +42 -0
  59. data/_sass/bootstrap/_input-group.scss +192 -0
  60. data/_sass/bootstrap/_jumbotron.scss +17 -0
  61. data/_sass/bootstrap/_list-group.scss +154 -0
  62. data/_sass/bootstrap/_media.scss +8 -0
  63. data/_sass/bootstrap/_mixins.scss +47 -0
  64. data/_sass/bootstrap/_modal.scss +240 -0
  65. data/_sass/bootstrap/_nav.scss +123 -0
  66. data/_sass/bootstrap/_navbar.scss +324 -0
  67. data/_sass/bootstrap/_pagination.scss +74 -0
  68. data/_sass/bootstrap/_popover.scss +170 -0
  69. data/_sass/bootstrap/_print.scss +141 -0
  70. data/_sass/bootstrap/_progress.scss +47 -0
  71. data/_sass/bootstrap/_reboot.scss +484 -0
  72. data/_sass/bootstrap/_root.scss +20 -0
  73. data/_sass/bootstrap/_spinners.scss +56 -0
  74. data/_sass/bootstrap/_tables.scss +185 -0
  75. data/_sass/bootstrap/_toasts.scss +46 -0
  76. data/_sass/bootstrap/_tooltip.scss +115 -0
  77. data/_sass/bootstrap/_transitions.scss +20 -0
  78. data/_sass/bootstrap/_type.scss +125 -0
  79. data/_sass/bootstrap/_utilities.scss +18 -0
  80. data/_sass/bootstrap/_variables.scss +1142 -0
  81. data/_sass/bootstrap/bootstrap-grid.scss +29 -0
  82. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  83. data/_sass/bootstrap/bootstrap.scss +44 -0
  84. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  85. data/_sass/bootstrap/mixins/_background-variant.scss +23 -0
  86. data/_sass/bootstrap/mixins/_badge.scss +17 -0
  87. data/_sass/bootstrap/mixins/_border-radius.scss +76 -0
  88. data/_sass/bootstrap/mixins/_box-shadow.scss +20 -0
  89. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  90. data/_sass/bootstrap/mixins/_buttons.scss +110 -0
  91. data/_sass/bootstrap/mixins/_caret.scss +62 -0
  92. data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
  93. data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
  94. data/_sass/bootstrap/mixins/_float.scss +14 -0
  95. data/_sass/bootstrap/mixins/_forms.scss +178 -0
  96. data/_sass/bootstrap/mixins/_gradients.scss +45 -0
  97. data/_sass/bootstrap/mixins/_grid-framework.scss +80 -0
  98. data/_sass/bootstrap/mixins/_grid.scss +69 -0
  99. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  100. data/_sass/bootstrap/mixins/_image.scss +36 -0
  101. data/_sass/bootstrap/mixins/_list-group.scss +21 -0
  102. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  103. data/_sass/bootstrap/mixins/_nav-divider.scss +11 -0
  104. data/_sass/bootstrap/mixins/_pagination.scss +22 -0
  105. data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
  106. data/_sass/bootstrap/mixins/_resize.scss +6 -0
  107. data/_sass/bootstrap/mixins/_screen-reader.scss +34 -0
  108. data/_sass/bootstrap/mixins/_size.scss +7 -0
  109. data/_sass/bootstrap/mixins/_table-row.scss +39 -0
  110. data/_sass/bootstrap/mixins/_text-emphasis.scss +17 -0
  111. data/_sass/bootstrap/mixins/_text-hide.scss +11 -0
  112. data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
  113. data/_sass/bootstrap/mixins/_transition.scss +26 -0
  114. data/_sass/bootstrap/mixins/_visibility.scss +8 -0
  115. data/_sass/bootstrap/utilities/_align.scss +8 -0
  116. data/_sass/bootstrap/utilities/_background.scss +19 -0
  117. data/_sass/bootstrap/utilities/_borders.scss +75 -0
  118. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  119. data/_sass/bootstrap/utilities/_display.scss +26 -0
  120. data/_sass/bootstrap/utilities/_embed.scss +39 -0
  121. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  122. data/_sass/bootstrap/utilities/_float.scss +11 -0
  123. data/_sass/bootstrap/utilities/_interactions.scss +5 -0
  124. data/_sass/bootstrap/utilities/_overflow.scss +5 -0
  125. data/_sass/bootstrap/utilities/_position.scss +32 -0
  126. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  127. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  128. data/_sass/bootstrap/utilities/_sizing.scss +20 -0
  129. data/_sass/bootstrap/utilities/_spacing.scss +73 -0
  130. data/_sass/bootstrap/utilities/_stretched-link.scss +19 -0
  131. data/_sass/bootstrap/utilities/_text.scss +72 -0
  132. data/_sass/bootstrap/utilities/_visibility.scss +13 -0
  133. data/_sass/bootstrap/vendor/_rfs.scss +204 -0
  134. data/_sass/centos/_content.scss +101 -0
  135. data/_sass/centos/_datatable.scss +271 -0
  136. data/_sass/centos/_fonts.scss +1 -0
  137. data/_sass/centos/_footer.scss +49 -0
  138. data/_sass/centos/_header.scss +25 -0
  139. data/_sass/centos/_highlighter.scss +360 -0
  140. data/_sass/centos/_mixins.scss +4 -0
  141. data/_sass/centos/_nav.scss +10 -0
  142. data/_sass/centos/_rssfeeds.scss +17 -0
  143. data/_sass/centos/_variables.scss +111 -0
  144. data/_sass/centos/centos.scss +23 -0
  145. data/_sass/centos/content/_1col.scss +32 -0
  146. data/_sass/centos/content/_2col.scss +44 -0
  147. data/_sass/centos/content/_download.scss +17 -0
  148. data/_sass/centos/content/_sponsors.scss +9 -0
  149. data/_sass/centos/fonts/_montserrat.scss +256 -0
  150. data/_sass/centos/header/_home.scss +4 -0
  151. data/_sass/centos/header/_page.scss +4 -0
  152. data/_sass/centos/mixins/_content-card.scss +13 -0
  153. data/_sass/centos/mixins/_content-heading.scss +28 -0
  154. data/_sass/centos/mixins/_content-toc.scss +18 -0
  155. data/_sass/centos/mixins/_footer-link.scss +10 -0
  156. data/_sass/fontawesome/_animated.scss +20 -0
  157. data/_sass/fontawesome/_bordered-pulled.scss +20 -0
  158. data/_sass/fontawesome/_core.scss +21 -0
  159. data/_sass/fontawesome/_fixed-width.scss +6 -0
  160. data/_sass/fontawesome/_icons.scss +1462 -0
  161. data/_sass/fontawesome/_larger.scss +23 -0
  162. data/_sass/fontawesome/_list.scss +18 -0
  163. data/_sass/fontawesome/_mixins.scss +56 -0
  164. data/_sass/fontawesome/_rotated-flipped.scss +24 -0
  165. data/_sass/fontawesome/_screen-reader.scss +5 -0
  166. data/_sass/fontawesome/_shims.scss +2066 -0
  167. data/_sass/fontawesome/_stacked.scss +31 -0
  168. data/_sass/fontawesome/_variables.scss +1479 -0
  169. data/_sass/fontawesome/brands.scss +23 -0
  170. data/_sass/fontawesome/fontawesome.scss +16 -0
  171. data/_sass/fontawesome/regular.scss +23 -0
  172. data/_sass/fontawesome/solid.scss +24 -0
  173. data/_sass/fontawesome/v4-shims.scss +6 -0
  174. data/assets/css/centos.bootstrap.min.scss +4 -0
  175. data/assets/fonts/Montserrat/Montserrat-Black.woff +0 -0
  176. data/assets/fonts/Montserrat/Montserrat-Black.woff2 +0 -0
  177. data/assets/fonts/Montserrat/Montserrat-BlackItalic.woff +0 -0
  178. data/assets/fonts/Montserrat/Montserrat-BlackItalic.woff2 +0 -0
  179. data/assets/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  180. data/assets/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  181. data/assets/fonts/Montserrat/Montserrat-BoldItalic.woff +0 -0
  182. data/assets/fonts/Montserrat/Montserrat-BoldItalic.woff2 +0 -0
  183. data/assets/fonts/Montserrat/Montserrat-ExtraBold.woff +0 -0
  184. data/assets/fonts/Montserrat/Montserrat-ExtraBold.woff2 +0 -0
  185. data/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff +0 -0
  186. data/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff2 +0 -0
  187. data/assets/fonts/Montserrat/Montserrat-ExtraLight.woff +0 -0
  188. data/assets/fonts/Montserrat/Montserrat-ExtraLight.woff2 +0 -0
  189. data/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.woff +0 -0
  190. data/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.woff2 +0 -0
  191. data/assets/fonts/Montserrat/Montserrat-Italic.woff +0 -0
  192. data/assets/fonts/Montserrat/Montserrat-Italic.woff2 +0 -0
  193. data/assets/fonts/Montserrat/Montserrat-Light.woff +0 -0
  194. data/assets/fonts/Montserrat/Montserrat-Light.woff2 +0 -0
  195. data/assets/fonts/Montserrat/Montserrat-LightItalic.woff +0 -0
  196. data/assets/fonts/Montserrat/Montserrat-LightItalic.woff2 +0 -0
  197. data/assets/fonts/Montserrat/Montserrat-Medium.woff +0 -0
  198. data/assets/fonts/Montserrat/Montserrat-Medium.woff2 +0 -0
  199. data/assets/fonts/Montserrat/Montserrat-MediumItalic.woff +0 -0
  200. data/assets/fonts/Montserrat/Montserrat-MediumItalic.woff2 +0 -0
  201. data/assets/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  202. data/assets/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  203. data/assets/fonts/Montserrat/Montserrat-SemiBold.woff +0 -0
  204. data/assets/fonts/Montserrat/Montserrat-SemiBold.woff2 +0 -0
  205. data/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.woff +0 -0
  206. data/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.woff2 +0 -0
  207. data/assets/fonts/Montserrat/Montserrat-Thin.woff +0 -0
  208. data/assets/fonts/Montserrat/Montserrat-Thin.woff2 +0 -0
  209. data/assets/fonts/Montserrat/Montserrat-ThinItalic.woff +0 -0
  210. data/assets/fonts/Montserrat/Montserrat-ThinItalic.woff2 +0 -0
  211. data/assets/fonts/Montserrat/Montserrat.css +327 -0
  212. data/assets/fonts/Montserrat/MontserratAlternates-Black.woff +0 -0
  213. data/assets/fonts/Montserrat/MontserratAlternates-Black.woff2 +0 -0
  214. data/assets/fonts/Montserrat/MontserratAlternates-BlackItalic.woff +0 -0
  215. data/assets/fonts/Montserrat/MontserratAlternates-BlackItalic.woff2 +0 -0
  216. data/assets/fonts/Montserrat/MontserratAlternates-Bold.woff +0 -0
  217. data/assets/fonts/Montserrat/MontserratAlternates-Bold.woff2 +0 -0
  218. data/assets/fonts/Montserrat/MontserratAlternates-BoldItalic.woff +0 -0
  219. data/assets/fonts/Montserrat/MontserratAlternates-BoldItalic.woff2 +0 -0
  220. data/assets/fonts/Montserrat/MontserratAlternates-ExtraBold.woff +0 -0
  221. data/assets/fonts/Montserrat/MontserratAlternates-ExtraBold.woff2 +0 -0
  222. data/assets/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff +0 -0
  223. data/assets/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff2 +0 -0
  224. data/assets/fonts/Montserrat/MontserratAlternates-ExtraLight.woff +0 -0
  225. data/assets/fonts/Montserrat/MontserratAlternates-ExtraLight.woff2 +0 -0
  226. data/assets/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff +0 -0
  227. data/assets/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff2 +0 -0
  228. data/assets/fonts/Montserrat/MontserratAlternates-Italic.woff +0 -0
  229. data/assets/fonts/Montserrat/MontserratAlternates-Italic.woff2 +0 -0
  230. data/assets/fonts/Montserrat/MontserratAlternates-Light.woff +0 -0
  231. data/assets/fonts/Montserrat/MontserratAlternates-Light.woff2 +0 -0
  232. data/assets/fonts/Montserrat/MontserratAlternates-LightItalic.woff +0 -0
  233. data/assets/fonts/Montserrat/MontserratAlternates-LightItalic.woff2 +0 -0
  234. data/assets/fonts/Montserrat/MontserratAlternates-Medium.woff +0 -0
  235. data/assets/fonts/Montserrat/MontserratAlternates-Medium.woff2 +0 -0
  236. data/assets/fonts/Montserrat/MontserratAlternates-MediumItalic.woff +0 -0
  237. data/assets/fonts/Montserrat/MontserratAlternates-MediumItalic.woff2 +0 -0
  238. data/assets/fonts/Montserrat/MontserratAlternates-Regular.woff +0 -0
  239. data/assets/fonts/Montserrat/MontserratAlternates-Regular.woff2 +0 -0
  240. data/assets/fonts/Montserrat/MontserratAlternates-SemiBold.woff +0 -0
  241. data/assets/fonts/Montserrat/MontserratAlternates-SemiBold.woff2 +0 -0
  242. data/assets/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff +0 -0
  243. data/assets/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff2 +0 -0
  244. data/assets/fonts/Montserrat/MontserratAlternates-Thin.woff +0 -0
  245. data/assets/fonts/Montserrat/MontserratAlternates-Thin.woff2 +0 -0
  246. data/assets/fonts/Montserrat/MontserratAlternates-ThinItalic.woff +0 -0
  247. data/assets/fonts/Montserrat/MontserratAlternates-ThinItalic.woff2 +0 -0
  248. data/assets/fonts/Montserrat/README.MD +35 -0
  249. data/assets/fonts/fa-brands-400.eot +0 -0
  250. data/assets/fonts/fa-brands-400.svg +3717 -0
  251. data/assets/fonts/fa-brands-400.ttf +0 -0
  252. data/assets/fonts/fa-brands-400.woff +0 -0
  253. data/assets/fonts/fa-brands-400.woff2 +0 -0
  254. data/assets/fonts/fa-regular-400.eot +0 -0
  255. data/assets/fonts/fa-regular-400.svg +801 -0
  256. data/assets/fonts/fa-regular-400.ttf +0 -0
  257. data/assets/fonts/fa-regular-400.woff +0 -0
  258. data/assets/fonts/fa-regular-400.woff2 +0 -0
  259. data/assets/fonts/fa-solid-900.eot +0 -0
  260. data/assets/fonts/fa-solid-900.svg +5028 -0
  261. data/assets/fonts/fa-solid-900.ttf +0 -0
  262. data/assets/fonts/fa-solid-900.woff +0 -0
  263. data/assets/fonts/fa-solid-900.woff2 +0 -0
  264. data/assets/img/centos-logo-white.png +0 -0
  265. data/assets/img/centos-motif.png +0 -0
  266. data/assets/img/favicon.png +0 -0
  267. data/assets/js/bootstrap.min.js +7 -0
  268. data/assets/js/bootstrap.min.js.map +1 -0
  269. data/assets/js/dataTables.bootstrap4.min.js +14 -0
  270. data/assets/js/jquery.dataTables.min.js +184 -0
  271. data/assets/js/jquery.min.js +2 -0
  272. data/assets/js/jquery.rss.js +11 -0
  273. data/assets/js/moment.min.js +7 -0
  274. metadata +357 -0
@@ -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
+ }
@@ -0,0 +1,80 @@
1
+ // Framework grid generation
2
+ //
3
+ // Used only by Bootstrap to generate the correct number of grid classes given
4
+ // any value of `$grid-columns`.
5
+
6
+ @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
7
+ // Common properties for all breakpoints
8
+ %grid-column {
9
+ position: relative;
10
+ width: 100%;
11
+ padding-right: $gutter / 2;
12
+ padding-left: $gutter / 2;
13
+ }
14
+
15
+ @each $breakpoint in map-keys($breakpoints) {
16
+ $infix: breakpoint-infix($breakpoint, $breakpoints);
17
+
18
+ @if $columns > 0 {
19
+ // Allow columns to stretch full width below their breakpoints
20
+ @for $i from 1 through $columns {
21
+ .col#{$infix}-#{$i} {
22
+ @extend %grid-column;
23
+ }
24
+ }
25
+ }
26
+
27
+ .col#{$infix},
28
+ .col#{$infix}-auto {
29
+ @extend %grid-column;
30
+ }
31
+
32
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
33
+ // Provide basic `.col-{bp}` classes for equal-width flexbox columns
34
+ .col#{$infix} {
35
+ flex-basis: 0;
36
+ flex-grow: 1;
37
+ max-width: 100%;
38
+ }
39
+
40
+ @if $grid-row-columns > 0 {
41
+ @for $i from 1 through $grid-row-columns {
42
+ .row-cols#{$infix}-#{$i} {
43
+ @include row-cols($i);
44
+ }
45
+ }
46
+ }
47
+
48
+ .col#{$infix}-auto {
49
+ @include make-col-auto();
50
+ }
51
+
52
+ @if $columns > 0 {
53
+ @for $i from 1 through $columns {
54
+ .col#{$infix}-#{$i} {
55
+ @include make-col($i, $columns);
56
+ }
57
+ }
58
+ }
59
+
60
+ .order#{$infix}-first { order: -1; }
61
+
62
+ .order#{$infix}-last { order: $columns + 1; }
63
+
64
+ @for $i from 0 through $columns {
65
+ .order#{$infix}-#{$i} { order: $i; }
66
+ }
67
+
68
+ @if $columns > 0 {
69
+ // `$columns - 1` because offsetting by the width of an entire row isn't possible
70
+ @for $i from 0 through ($columns - 1) {
71
+ @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
72
+ .offset#{$infix}-#{$i} {
73
+ @include make-col-offset($i, $columns);
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
@@ -0,0 +1,69 @@
1
+ /// Grid system
2
+ //
3
+ // Generate semantic grid columns with these mixins.
4
+
5
+ @mixin make-container($gutter: $grid-gutter-width) {
6
+ width: 100%;
7
+ padding-right: $gutter / 2;
8
+ padding-left: $gutter / 2;
9
+ margin-right: auto;
10
+ margin-left: auto;
11
+ }
12
+
13
+ @mixin make-row($gutter: $grid-gutter-width) {
14
+ display: flex;
15
+ flex-wrap: wrap;
16
+ margin-right: -$gutter / 2;
17
+ margin-left: -$gutter / 2;
18
+ }
19
+
20
+ // For each breakpoint, define the maximum width of the container in a media query
21
+ @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
22
+ @each $breakpoint, $container-max-width in $max-widths {
23
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
24
+ max-width: $container-max-width;
25
+ }
26
+ }
27
+ @include deprecate("The `make-container-max-widths` mixin", "v4.5.2", "v5");
28
+ }
29
+
30
+ @mixin make-col-ready($gutter: $grid-gutter-width) {
31
+ position: relative;
32
+ // Prevent columns from becoming too narrow when at smaller grid tiers by
33
+ // always setting `width: 100%;`. This works because we use `flex` values
34
+ // later on to override this initial width.
35
+ width: 100%;
36
+ padding-right: $gutter / 2;
37
+ padding-left: $gutter / 2;
38
+ }
39
+
40
+ @mixin make-col($size, $columns: $grid-columns) {
41
+ flex: 0 0 percentage($size / $columns);
42
+ // Add a `max-width` to ensure content within each column does not blow out
43
+ // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
44
+ // do not appear to require this.
45
+ max-width: percentage($size / $columns);
46
+ }
47
+
48
+ @mixin make-col-auto() {
49
+ flex: 0 0 auto;
50
+ width: auto;
51
+ max-width: 100%; // Reset earlier grid tiers
52
+ }
53
+
54
+ @mixin make-col-offset($size, $columns: $grid-columns) {
55
+ $num: $size / $columns;
56
+ margin-left: if($num == 0, 0, percentage($num));
57
+ }
58
+
59
+ // Row columns
60
+ //
61
+ // Specify on a parent element(e.g., .row) to force immediate children into NN
62
+ // numberof columns. Supports wrapping to new lines, but does not do a Masonry
63
+ // style grid.
64
+ @mixin row-cols($count) {
65
+ > * {
66
+ flex: 0 0 100% / $count;
67
+ max-width: 100% / $count;
68
+ }
69
+ }