jekyll-theme-apcsp 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/_includes/alert.md +0 -0
  4. data/_includes/footer.md +0 -0
  5. data/_includes/head.html +0 -0
  6. data/_includes/header.md +1 -0
  7. data/_includes/nav.md +0 -0
  8. data/_layouts/page.html +308 -0
  9. data/_layouts/redirect.html +12 -0
  10. data/_sass/bootstrap/LICENSE +22 -0
  11. data/_sass/bootstrap/scss/_accordion.scss +146 -0
  12. data/_sass/bootstrap/scss/_alert.scss +71 -0
  13. data/_sass/bootstrap/scss/_badge.scss +40 -0
  14. data/_sass/bootstrap/scss/_breadcrumb.scss +42 -0
  15. data/_sass/bootstrap/scss/_button-group.scss +142 -0
  16. data/_sass/bootstrap/scss/_buttons.scss +158 -0
  17. data/_sass/bootstrap/scss/_card.scss +234 -0
  18. data/_sass/bootstrap/scss/_carousel.scss +229 -0
  19. data/_sass/bootstrap/scss/_close.scss +40 -0
  20. data/_sass/bootstrap/scss/_code.scss +48 -0
  21. data/_sass/bootstrap/scss/_containers.scss +41 -0
  22. data/_sass/bootstrap/scss/_custom-forms.scss +526 -0
  23. data/_sass/bootstrap/scss/_dropdown.scss +248 -0
  24. data/_sass/bootstrap/scss/_forms.scss +9 -0
  25. data/_sass/bootstrap/scss/_functions.scss +302 -0
  26. data/_sass/bootstrap/scss/_grid.scss +33 -0
  27. data/_sass/bootstrap/scss/_helpers.scss +10 -0
  28. data/_sass/bootstrap/scss/_images.scss +42 -0
  29. data/_sass/bootstrap/scss/_input-group.scss +208 -0
  30. data/_sass/bootstrap/scss/_jumbotron.scss +17 -0
  31. data/_sass/bootstrap/scss/_list-group.scss +191 -0
  32. data/_sass/bootstrap/scss/_maps.scss +54 -0
  33. data/_sass/bootstrap/scss/_media.scss +8 -0
  34. data/_sass/bootstrap/scss/_mixins.scss +43 -0
  35. data/_sass/bootstrap/scss/_modal.scss +237 -0
  36. data/_sass/bootstrap/scss/_nav.scss +172 -0
  37. data/_sass/bootstrap/scss/_navbar.scss +274 -0
  38. data/_sass/bootstrap/scss/_offcanvas.scss +143 -0
  39. data/_sass/bootstrap/scss/_pagination.scss +111 -0
  40. data/_sass/bootstrap/scss/_placeholders.scss +51 -0
  41. data/_sass/bootstrap/scss/_popover.scss +198 -0
  42. data/_sass/bootstrap/scss/_print.scss +141 -0
  43. data/_sass/bootstrap/scss/_progress.scss +59 -0
  44. data/_sass/bootstrap/scss/_reboot.scss +610 -0
  45. data/_sass/bootstrap/scss/_root.scss +76 -0
  46. data/_sass/bootstrap/scss/_spinners.scss +85 -0
  47. data/_sass/bootstrap/scss/_tables.scss +164 -0
  48. data/_sass/bootstrap/scss/_toasts.scss +70 -0
  49. data/_sass/bootstrap/scss/_tooltip.scss +122 -0
  50. data/_sass/bootstrap/scss/_transitions.scss +27 -0
  51. data/_sass/bootstrap/scss/_type.scss +104 -0
  52. data/_sass/bootstrap/scss/_utilities.scss +647 -0
  53. data/_sass/bootstrap/scss/_variables.scss +1631 -0
  54. data/_sass/bootstrap/scss/bootstrap-grid.scss +68 -0
  55. data/_sass/bootstrap/scss/bootstrap-reboot.scss +14 -0
  56. data/_sass/bootstrap/scss/bootstrap-utilities.scss +19 -0
  57. data/_sass/bootstrap/scss/bootstrap.scss +54 -0
  58. data/_sass/bootstrap/scss/forms/_floating-labels.scss +70 -0
  59. data/_sass/bootstrap/scss/forms/_form-check.scss +175 -0
  60. data/_sass/bootstrap/scss/forms/_form-control.scss +189 -0
  61. data/_sass/bootstrap/scss/forms/_form-range.scss +91 -0
  62. data/_sass/bootstrap/scss/forms/_form-select.scss +71 -0
  63. data/_sass/bootstrap/scss/forms/_form-text.scss +11 -0
  64. data/_sass/bootstrap/scss/forms/_input-group.scss +121 -0
  65. data/_sass/bootstrap/scss/forms/_labels.scss +36 -0
  66. data/_sass/bootstrap/scss/forms/_validation.scss +12 -0
  67. data/_sass/bootstrap/scss/helpers/_clearfix.scss +3 -0
  68. data/_sass/bootstrap/scss/helpers/_color-bg.scss +10 -0
  69. data/_sass/bootstrap/scss/helpers/_colored-links.scss +12 -0
  70. data/_sass/bootstrap/scss/helpers/_position.scss +36 -0
  71. data/_sass/bootstrap/scss/helpers/_ratio.scss +26 -0
  72. data/_sass/bootstrap/scss/helpers/_stacks.scss +15 -0
  73. data/_sass/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  74. data/_sass/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  75. data/_sass/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  76. data/_sass/bootstrap/scss/helpers/_vr.scss +8 -0
  77. data/_sass/bootstrap/scss/mixins/_alert.scss +15 -0
  78. data/_sass/bootstrap/scss/mixins/_backdrop.scss +14 -0
  79. data/_sass/bootstrap/scss/mixins/_background-variant.scss +23 -0
  80. data/_sass/bootstrap/scss/mixins/_badge.scss +17 -0
  81. data/_sass/bootstrap/scss/mixins/_border-radius.scss +78 -0
  82. data/_sass/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  83. data/_sass/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  84. data/_sass/bootstrap/scss/mixins/_buttons.scss +71 -0
  85. data/_sass/bootstrap/scss/mixins/_caret.scss +64 -0
  86. data/_sass/bootstrap/scss/mixins/_clearfix.scss +9 -0
  87. data/_sass/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  88. data/_sass/bootstrap/scss/mixins/_container.scss +11 -0
  89. data/_sass/bootstrap/scss/mixins/_deprecate.scss +10 -0
  90. data/_sass/bootstrap/scss/mixins/_float.scss +14 -0
  91. data/_sass/bootstrap/scss/mixins/_forms.scss +152 -0
  92. data/_sass/bootstrap/scss/mixins/_gradients.scss +47 -0
  93. data/_sass/bootstrap/scss/mixins/_grid-framework.scss +80 -0
  94. data/_sass/bootstrap/scss/mixins/_grid.scss +151 -0
  95. data/_sass/bootstrap/scss/mixins/_hover.scss +37 -0
  96. data/_sass/bootstrap/scss/mixins/_image.scss +16 -0
  97. data/_sass/bootstrap/scss/mixins/_list-group.scss +24 -0
  98. data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
  99. data/_sass/bootstrap/scss/mixins/_nav-divider.scss +11 -0
  100. data/_sass/bootstrap/scss/mixins/_pagination.scss +10 -0
  101. data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
  102. data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
  103. data/_sass/bootstrap/scss/mixins/_screen-reader.scss +34 -0
  104. data/_sass/bootstrap/scss/mixins/_size.scss +7 -0
  105. data/_sass/bootstrap/scss/mixins/_table-row.scss +39 -0
  106. data/_sass/bootstrap/scss/mixins/_table-variants.scss +24 -0
  107. data/_sass/bootstrap/scss/mixins/_text-emphasis.scss +17 -0
  108. data/_sass/bootstrap/scss/mixins/_text-hide.scss +11 -0
  109. data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  110. data/_sass/bootstrap/scss/mixins/_transition.scss +26 -0
  111. data/_sass/bootstrap/scss/mixins/_utilities.scss +92 -0
  112. data/_sass/bootstrap/scss/mixins/_visibility.scss +8 -0
  113. data/_sass/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
  114. data/_sass/bootstrap/scss/utilities/_align.scss +8 -0
  115. data/_sass/bootstrap/scss/utilities/_api.scss +47 -0
  116. data/_sass/bootstrap/scss/utilities/_background.scss +19 -0
  117. data/_sass/bootstrap/scss/utilities/_borders.scss +75 -0
  118. data/_sass/bootstrap/scss/utilities/_clearfix.scss +3 -0
  119. data/_sass/bootstrap/scss/utilities/_display.scss +26 -0
  120. data/_sass/bootstrap/scss/utilities/_embed.scss +39 -0
  121. data/_sass/bootstrap/scss/utilities/_flex.scss +51 -0
  122. data/_sass/bootstrap/scss/utilities/_float.scss +11 -0
  123. data/_sass/bootstrap/scss/utilities/_interactions.scss +5 -0
  124. data/_sass/bootstrap/scss/utilities/_overflow.scss +5 -0
  125. data/_sass/bootstrap/scss/utilities/_position.scss +32 -0
  126. data/_sass/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  127. data/_sass/bootstrap/scss/utilities/_shadows.scss +6 -0
  128. data/_sass/bootstrap/scss/utilities/_sizing.scss +20 -0
  129. data/_sass/bootstrap/scss/utilities/_spacing.scss +73 -0
  130. data/_sass/bootstrap/scss/utilities/_stretched-link.scss +19 -0
  131. data/_sass/bootstrap/scss/utilities/_text.scss +72 -0
  132. data/_sass/bootstrap/scss/utilities/_visibility.scss +13 -0
  133. data/_sass/bootstrap/scss/vendor/_rfs.scss +354 -0
  134. data/_sass/jekyll-theme-cs50.scss +298 -0
  135. data/_sass/page.scss +228 -0
  136. data/_sass/rouge.scss +35 -0
  137. data/assets/@fortawesome/fontawesome-free/css/all.min.css +5 -0
  138. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  139. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg +3717 -0
  140. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  141. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  142. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  143. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  144. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg +801 -0
  145. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  146. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  147. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  148. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  149. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg +5034 -0
  150. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  151. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  152. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  153. data/assets/algolia-min.css +1 -0
  154. data/assets/algoliasearch/dist/algoliasearch-lite.umd.js +2 -0
  155. data/assets/algoliasearchLite.min.js +3 -0
  156. data/assets/bootstrap/LICENSE +22 -0
  157. data/assets/bootstrap/dist/js/bootstrap.bundle.min.js +7 -0
  158. data/assets/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -0
  159. data/assets/bootstrap/dist/js/bootstrap.min.js +7 -0
  160. data/assets/bootstrap-table/LICENSE +21 -0
  161. data/assets/bootstrap-table/dist/bootstrap-table.min.css +10 -0
  162. data/assets/bootstrap-table/dist/bootstrap-table.min.js +10 -0
  163. data/assets/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile.min.js +10 -0
  164. data/assets/instantsearch.js/LICENSE +21 -0
  165. data/assets/instantsearch.js/dist/instantsearch.production.min.js +3 -0
  166. data/assets/instantsearch.js/dist/instantsearch.production.min.js.map +1 -0
  167. data/assets/instantsearch.production.min.js +3 -0
  168. data/assets/jekyll-theme-cs50.js +620 -0
  169. data/assets/jquery/LICENSE.txt +20 -0
  170. data/assets/jquery/dist/jquery.min.js +2 -0
  171. data/assets/luxon.min.js +1 -0
  172. data/assets/moment-timezone-with-data.min.js +1 -0
  173. data/assets/moment.min.js +1 -0
  174. data/assets/page.js +4 -0
  175. data/assets/page.scss +4 -0
  176. data/assets/popper.js/dist/umd/popper.min.js +5 -0
  177. data/assets/reset-min.css +1 -0
  178. data/assets/scratchblocks.min.js +11 -0
  179. data/assets/scratchblocks.min.js.map +1 -0
  180. data/lib/jekyll-theme-cs50/constants.rb +59 -0
  181. data/lib/jekyll-theme-cs50.rb +606 -0
  182. data/lib/liquid-tag-parser.rb +1 -0
  183. metadata +350 -0
@@ -0,0 +1,68 @@
1
+ /*!
2
+ * Bootstrap Grid v5.2.0-beta1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors
4
+ * Copyright 2011-2022 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
+ */
7
+
8
+ $include-column-box-sizing: true !default;
9
+
10
+ @import "functions";
11
+ @import "variables";
12
+ @import "maps";
13
+
14
+ @import "mixins/lists";
15
+ @import "mixins/breakpoints";
16
+ @import "mixins/container";
17
+ @import "mixins/grid";
18
+ @import "mixins/utilities";
19
+
20
+ @import "vendor/rfs";
21
+
22
+ @import "root";
23
+
24
+ @import "containers";
25
+ @import "grid";
26
+
27
+ @import "utilities";
28
+ // Only use the utilities we need
29
+ // stylelint-disable-next-line scss/dollar-variable-default
30
+ $utilities: map-get-multiple(
31
+ $utilities,
32
+ (
33
+ "display",
34
+ "order",
35
+ "flex",
36
+ "flex-direction",
37
+ "flex-grow",
38
+ "flex-shrink",
39
+ "flex-wrap",
40
+ "justify-content",
41
+ "align-items",
42
+ "align-content",
43
+ "align-self",
44
+ "margin",
45
+ "margin-x",
46
+ "margin-y",
47
+ "margin-top",
48
+ "margin-end",
49
+ "margin-bottom",
50
+ "margin-start",
51
+ "negative-margin",
52
+ "negative-margin-x",
53
+ "negative-margin-y",
54
+ "negative-margin-top",
55
+ "negative-margin-end",
56
+ "negative-margin-bottom",
57
+ "negative-margin-start",
58
+ "padding",
59
+ "padding-x",
60
+ "padding-y",
61
+ "padding-top",
62
+ "padding-end",
63
+ "padding-bottom",
64
+ "padding-start",
65
+ )
66
+ );
67
+
68
+ @import "utilities/api";
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors
4
+ * Copyright 2011-2022 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7
+ */
8
+
9
+ @import "functions";
10
+ @import "variables";
11
+ @import "maps";
12
+ @import "mixins";
13
+ @import "root";
14
+ @import "reboot";
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * Bootstrap Utilities v5.2.0-beta1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors
4
+ * Copyright 2011-2022 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
+ */
7
+
8
+ // Configuration
9
+ @import "functions";
10
+ @import "variables";
11
+ @import "maps";
12
+ @import "mixins";
13
+ @import "utilities";
14
+
15
+ // Helpers
16
+ @import "helpers";
17
+
18
+ // Utilities
19
+ @import "utilities/api";
@@ -0,0 +1,54 @@
1
+ /*!
2
+ * Bootstrap v5.2.0-beta1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors
4
+ * Copyright 2011-2022 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
+ */
7
+
8
+ // scss-docs-start import-stack
9
+ // Configuration
10
+ @import "functions";
11
+ @import "variables";
12
+ @import "maps";
13
+ @import "mixins";
14
+ @import "utilities";
15
+
16
+ // Layout & components
17
+ @import "root";
18
+ @import "reboot";
19
+ @import "type";
20
+ @import "images";
21
+ @import "containers";
22
+ @import "grid";
23
+ @import "tables";
24
+ @import "forms";
25
+ @import "buttons";
26
+ @import "transitions";
27
+ @import "dropdown";
28
+ @import "button-group";
29
+ @import "nav";
30
+ @import "navbar";
31
+ @import "card";
32
+ @import "accordion";
33
+ @import "breadcrumb";
34
+ @import "pagination";
35
+ @import "badge";
36
+ @import "alert";
37
+ @import "progress";
38
+ @import "list-group";
39
+ @import "close";
40
+ @import "toasts";
41
+ @import "modal";
42
+ @import "tooltip";
43
+ @import "popover";
44
+ @import "carousel";
45
+ @import "spinners";
46
+ @import "offcanvas";
47
+ @import "placeholders";
48
+
49
+ // Helpers
50
+ @import "helpers";
51
+
52
+ // Utilities
53
+ @import "utilities/api";
54
+ // scss-docs-end import-stack
@@ -0,0 +1,70 @@
1
+ .form-floating {
2
+ position: relative;
3
+
4
+ > .form-control,
5
+ > .form-control-plaintext,
6
+ > .form-select {
7
+ height: $form-floating-height;
8
+ line-height: $form-floating-line-height;
9
+ }
10
+
11
+ > label {
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ height: 100%; // allow textareas
16
+ padding: $form-floating-padding-y $form-floating-padding-x;
17
+ pointer-events: none;
18
+ border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model
19
+ transform-origin: 0 0;
20
+ @include transition($form-floating-transition);
21
+ }
22
+
23
+ > .form-control,
24
+ > .form-control-plaintext {
25
+ padding: $form-floating-padding-y $form-floating-padding-x;
26
+
27
+ &::placeholder {
28
+ color: transparent;
29
+ }
30
+
31
+ &:focus,
32
+ &:not(:placeholder-shown) {
33
+ padding-top: $form-floating-input-padding-t;
34
+ padding-bottom: $form-floating-input-padding-b;
35
+ }
36
+ // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
37
+ &:-webkit-autofill {
38
+ padding-top: $form-floating-input-padding-t;
39
+ padding-bottom: $form-floating-input-padding-b;
40
+ }
41
+ }
42
+
43
+ > .form-select {
44
+ padding-top: $form-floating-input-padding-t;
45
+ padding-bottom: $form-floating-input-padding-b;
46
+ }
47
+
48
+ > .form-control:focus,
49
+ > .form-control:not(:placeholder-shown),
50
+ > .form-control-plaintext,
51
+ > .form-select {
52
+ ~ label {
53
+ opacity: $form-floating-label-opacity;
54
+ transform: $form-floating-label-transform;
55
+ }
56
+ }
57
+ // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
58
+ > .form-control:-webkit-autofill {
59
+ ~ label {
60
+ opacity: $form-floating-label-opacity;
61
+ transform: $form-floating-label-transform;
62
+ }
63
+ }
64
+
65
+ > .form-control-plaintext {
66
+ ~ label {
67
+ border-width: $input-border-width 0; // Required to properly position label text - as explained above
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,175 @@
1
+ //
2
+ // Check/radio
3
+ //
4
+
5
+ .form-check {
6
+ display: block;
7
+ min-height: $form-check-min-height;
8
+ padding-left: $form-check-padding-start;
9
+ margin-bottom: $form-check-margin-bottom;
10
+
11
+ .form-check-input {
12
+ float: left;
13
+ margin-left: $form-check-padding-start * -1;
14
+ }
15
+ }
16
+
17
+ .form-check-reverse {
18
+ padding-right: $form-check-padding-start;
19
+ padding-left: 0;
20
+ text-align: right;
21
+
22
+ .form-check-input {
23
+ float: right;
24
+ margin-right: $form-check-padding-start * -1;
25
+ margin-left: 0;
26
+ }
27
+ }
28
+
29
+ .form-check-input {
30
+ width: $form-check-input-width;
31
+ height: $form-check-input-width;
32
+ margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height
33
+ vertical-align: top;
34
+ background-color: $form-check-input-bg;
35
+ background-repeat: no-repeat;
36
+ background-position: center;
37
+ background-size: contain;
38
+ border: $form-check-input-border;
39
+ appearance: none;
40
+ print-color-adjust: exact; // Keep themed appearance for print
41
+ @include transition($form-check-transition);
42
+
43
+ &[type="checkbox"] {
44
+ @include border-radius($form-check-input-border-radius);
45
+ }
46
+
47
+ &[type="radio"] {
48
+ // stylelint-disable-next-line property-disallowed-list
49
+ border-radius: $form-check-radio-border-radius;
50
+ }
51
+
52
+ &:active {
53
+ filter: $form-check-input-active-filter;
54
+ }
55
+
56
+ &:focus {
57
+ border-color: $form-check-input-focus-border;
58
+ outline: 0;
59
+ box-shadow: $form-check-input-focus-box-shadow;
60
+ }
61
+
62
+ &:checked {
63
+ background-color: $form-check-input-checked-bg-color;
64
+ border-color: $form-check-input-checked-border-color;
65
+
66
+ &[type="checkbox"] {
67
+ @if $enable-gradients {
68
+ background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$prefix}gradient);
69
+ } @else {
70
+ background-image: escape-svg($form-check-input-checked-bg-image);
71
+ }
72
+ }
73
+
74
+ &[type="radio"] {
75
+ @if $enable-gradients {
76
+ background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$prefix}gradient);
77
+ } @else {
78
+ background-image: escape-svg($form-check-radio-checked-bg-image);
79
+ }
80
+ }
81
+ }
82
+
83
+ &[type="checkbox"]:indeterminate {
84
+ background-color: $form-check-input-indeterminate-bg-color;
85
+ border-color: $form-check-input-indeterminate-border-color;
86
+
87
+ @if $enable-gradients {
88
+ background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$prefix}gradient);
89
+ } @else {
90
+ background-image: escape-svg($form-check-input-indeterminate-bg-image);
91
+ }
92
+ }
93
+
94
+ &:disabled {
95
+ pointer-events: none;
96
+ filter: none;
97
+ opacity: $form-check-input-disabled-opacity;
98
+ }
99
+
100
+ // Use disabled attribute in addition of :disabled pseudo-class
101
+ // See: https://github.com/twbs/bootstrap/issues/28247
102
+ &[disabled],
103
+ &:disabled {
104
+ ~ .form-check-label {
105
+ cursor: default;
106
+ opacity: $form-check-label-disabled-opacity;
107
+ }
108
+ }
109
+ }
110
+
111
+ .form-check-label {
112
+ color: $form-check-label-color;
113
+ cursor: $form-check-label-cursor;
114
+ }
115
+
116
+ //
117
+ // Switch
118
+ //
119
+
120
+ .form-switch {
121
+ padding-left: $form-switch-padding-start;
122
+
123
+ .form-check-input {
124
+ width: $form-switch-width;
125
+ margin-left: $form-switch-padding-start * -1;
126
+ background-image: escape-svg($form-switch-bg-image);
127
+ background-position: left center;
128
+ @include border-radius($form-switch-border-radius);
129
+ @include transition($form-switch-transition);
130
+
131
+ &:focus {
132
+ background-image: escape-svg($form-switch-focus-bg-image);
133
+ }
134
+
135
+ &:checked {
136
+ background-position: $form-switch-checked-bg-position;
137
+
138
+ @if $enable-gradients {
139
+ background-image: escape-svg($form-switch-checked-bg-image), var(--#{$prefix}gradient);
140
+ } @else {
141
+ background-image: escape-svg($form-switch-checked-bg-image);
142
+ }
143
+ }
144
+ }
145
+
146
+ &.form-check-reverse {
147
+ padding-right: $form-switch-padding-start;
148
+ padding-left: 0;
149
+
150
+ .form-check-input {
151
+ margin-right: $form-switch-padding-start * -1;
152
+ margin-left: 0;
153
+ }
154
+ }
155
+ }
156
+
157
+ .form-check-inline {
158
+ display: inline-block;
159
+ margin-right: $form-check-inline-margin-end;
160
+ }
161
+
162
+ .btn-check {
163
+ position: absolute;
164
+ clip: rect(0, 0, 0, 0);
165
+ pointer-events: none;
166
+
167
+ &[disabled],
168
+ &:disabled {
169
+ + .btn {
170
+ pointer-events: none;
171
+ filter: none;
172
+ opacity: $form-check-btn-check-disabled-opacity;
173
+ }
174
+ }
175
+ }
@@ -0,0 +1,189 @@
1
+ //
2
+ // General form controls (plus a few specific high-level interventions)
3
+ //
4
+
5
+ .form-control {
6
+ display: block;
7
+ width: 100%;
8
+ padding: $input-padding-y $input-padding-x;
9
+ font-family: $input-font-family;
10
+ @include font-size($input-font-size);
11
+ font-weight: $input-font-weight;
12
+ line-height: $input-line-height;
13
+ color: $input-color;
14
+ background-color: $input-bg;
15
+ background-clip: padding-box;
16
+ border: $input-border-width solid $input-border-color;
17
+ appearance: none; // Fix appearance for date inputs in Safari
18
+
19
+ // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
20
+ @include border-radius($input-border-radius, 0);
21
+
22
+ @include box-shadow($input-box-shadow);
23
+ @include transition($input-transition);
24
+
25
+ &[type="file"] {
26
+ overflow: hidden; // prevent pseudo element button overlap
27
+
28
+ &:not(:disabled):not([readonly]) {
29
+ cursor: pointer;
30
+ }
31
+ }
32
+
33
+ // Customize the `:focus` state to imitate native WebKit styles.
34
+ &:focus {
35
+ color: $input-focus-color;
36
+ background-color: $input-focus-bg;
37
+ border-color: $input-focus-border-color;
38
+ outline: 0;
39
+ @if $enable-shadows {
40
+ @include box-shadow($input-box-shadow, $input-focus-box-shadow);
41
+ } @else {
42
+ // Avoid using mixin so we can pass custom focus shadow properly
43
+ box-shadow: $input-focus-box-shadow;
44
+ }
45
+ }
46
+
47
+ // Add some height to date inputs on iOS
48
+ // https://github.com/twbs/bootstrap/issues/23307
49
+ // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
50
+ &::-webkit-date-and-time-value {
51
+ // Multiply line-height by 1em if it has no unit
52
+ height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
53
+ }
54
+
55
+ // Placeholder
56
+ &::placeholder {
57
+ color: $input-placeholder-color;
58
+ // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
59
+ opacity: 1;
60
+ }
61
+
62
+ // Disabled and read-only inputs
63
+ //
64
+ // HTML5 says that controls under a fieldset > legend:first-child won't be
65
+ // disabled if the fieldset is disabled. Due to implementation difficulty, we
66
+ // don't honor that edge case; we style them as disabled anyway.
67
+ &:disabled,
68
+ &[readonly] {
69
+ color: $input-disabled-color;
70
+ background-color: $input-disabled-bg;
71
+ border-color: $input-disabled-border-color;
72
+ // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
73
+ opacity: 1;
74
+ }
75
+
76
+ // File input buttons theming
77
+ &::file-selector-button {
78
+ padding: $input-padding-y $input-padding-x;
79
+ margin: (-$input-padding-y) (-$input-padding-x);
80
+ margin-inline-end: $input-padding-x;
81
+ color: $form-file-button-color;
82
+ @include gradient-bg($form-file-button-bg);
83
+ pointer-events: none;
84
+ border-color: inherit;
85
+ border-style: solid;
86
+ border-width: 0;
87
+ border-inline-end-width: $input-border-width;
88
+ border-radius: 0; // stylelint-disable-line property-disallowed-list
89
+ @include transition($btn-transition);
90
+ }
91
+
92
+ &:hover:not(:disabled):not([readonly])::file-selector-button {
93
+ background-color: $form-file-button-hover-bg;
94
+ }
95
+ }
96
+
97
+ // Readonly controls as plain text
98
+ //
99
+ // Apply class to a readonly input to make it appear like regular plain
100
+ // text (without any border, background color, focus indicator)
101
+
102
+ .form-control-plaintext {
103
+ display: block;
104
+ width: 100%;
105
+ padding: $input-padding-y 0;
106
+ margin-bottom: 0; // match inputs if this class comes on inputs with default margins
107
+ line-height: $input-line-height;
108
+ color: $input-plaintext-color;
109
+ background-color: transparent;
110
+ border: solid transparent;
111
+ border-width: $input-border-width 0;
112
+
113
+ &.form-control-sm,
114
+ &.form-control-lg {
115
+ padding-right: 0;
116
+ padding-left: 0;
117
+ }
118
+ }
119
+
120
+ // Form control sizing
121
+ //
122
+ // Build on `.form-control` with modifier classes to decrease or increase the
123
+ // height and font-size of form controls.
124
+ //
125
+ // Repeated in `_input_group.scss` to avoid Sass extend issues.
126
+
127
+ .form-control-sm {
128
+ min-height: $input-height-sm;
129
+ padding: $input-padding-y-sm $input-padding-x-sm;
130
+ @include font-size($input-font-size-sm);
131
+ @include border-radius($input-border-radius-sm);
132
+
133
+ &::file-selector-button {
134
+ padding: $input-padding-y-sm $input-padding-x-sm;
135
+ margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
136
+ margin-inline-end: $input-padding-x-sm;
137
+ }
138
+ }
139
+
140
+ .form-control-lg {
141
+ min-height: $input-height-lg;
142
+ padding: $input-padding-y-lg $input-padding-x-lg;
143
+ @include font-size($input-font-size-lg);
144
+ @include border-radius($input-border-radius-lg);
145
+
146
+ &::file-selector-button {
147
+ padding: $input-padding-y-lg $input-padding-x-lg;
148
+ margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
149
+ margin-inline-end: $input-padding-x-lg;
150
+ }
151
+ }
152
+
153
+ // Make sure textareas don't shrink too much when resized
154
+ // https://github.com/twbs/bootstrap/pull/29124
155
+ // stylelint-disable selector-no-qualifying-type
156
+ textarea {
157
+ &.form-control {
158
+ min-height: $input-height;
159
+ }
160
+
161
+ &.form-control-sm {
162
+ min-height: $input-height-sm;
163
+ }
164
+
165
+ &.form-control-lg {
166
+ min-height: $input-height-lg;
167
+ }
168
+ }
169
+ // stylelint-enable selector-no-qualifying-type
170
+
171
+ .form-control-color {
172
+ width: $form-color-width;
173
+ height: auto; // Override fixed browser height
174
+ padding: $input-padding-y;
175
+
176
+ &:not(:disabled):not([readonly]) {
177
+ cursor: pointer;
178
+ }
179
+
180
+ &::-moz-color-swatch {
181
+ height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
182
+ @include border-radius($input-border-radius);
183
+ }
184
+
185
+ &::-webkit-color-swatch {
186
+ height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
187
+ @include border-radius($input-border-radius);
188
+ }
189
+ }
@@ -0,0 +1,91 @@
1
+ // Range
2
+ //
3
+ // Style range inputs the same across browsers. Vendor-specific rules for pseudo
4
+ // elements cannot be mixed. As such, there are no shared styles for focus or
5
+ // active states on prefixed selectors.
6
+
7
+ .form-range {
8
+ width: 100%;
9
+ height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);
10
+ padding: 0; // Need to reset padding
11
+ background-color: transparent;
12
+ appearance: none;
13
+
14
+ &:focus {
15
+ outline: 0;
16
+
17
+ // Pseudo-elements must be split across multiple rulesets to have an effect.
18
+ // No box-shadow() mixin for focus accessibility.
19
+ &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
20
+ &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
21
+ }
22
+
23
+ &::-moz-focus-outer {
24
+ border: 0;
25
+ }
26
+
27
+ &::-webkit-slider-thumb {
28
+ width: $form-range-thumb-width;
29
+ height: $form-range-thumb-height;
30
+ margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
31
+ @include gradient-bg($form-range-thumb-bg);
32
+ border: $form-range-thumb-border;
33
+ @include border-radius($form-range-thumb-border-radius);
34
+ @include box-shadow($form-range-thumb-box-shadow);
35
+ @include transition($form-range-thumb-transition);
36
+ appearance: none;
37
+
38
+ &:active {
39
+ @include gradient-bg($form-range-thumb-active-bg);
40
+ }
41
+ }
42
+
43
+ &::-webkit-slider-runnable-track {
44
+ width: $form-range-track-width;
45
+ height: $form-range-track-height;
46
+ color: transparent; // Why?
47
+ cursor: $form-range-track-cursor;
48
+ background-color: $form-range-track-bg;
49
+ border-color: transparent;
50
+ @include border-radius($form-range-track-border-radius);
51
+ @include box-shadow($form-range-track-box-shadow);
52
+ }
53
+
54
+ &::-moz-range-thumb {
55
+ width: $form-range-thumb-width;
56
+ height: $form-range-thumb-height;
57
+ @include gradient-bg($form-range-thumb-bg);
58
+ border: $form-range-thumb-border;
59
+ @include border-radius($form-range-thumb-border-radius);
60
+ @include box-shadow($form-range-thumb-box-shadow);
61
+ @include transition($form-range-thumb-transition);
62
+ appearance: none;
63
+
64
+ &:active {
65
+ @include gradient-bg($form-range-thumb-active-bg);
66
+ }
67
+ }
68
+
69
+ &::-moz-range-track {
70
+ width: $form-range-track-width;
71
+ height: $form-range-track-height;
72
+ color: transparent;
73
+ cursor: $form-range-track-cursor;
74
+ background-color: $form-range-track-bg;
75
+ border-color: transparent; // Firefox specific?
76
+ @include border-radius($form-range-track-border-radius);
77
+ @include box-shadow($form-range-track-box-shadow);
78
+ }
79
+
80
+ &:disabled {
81
+ pointer-events: none;
82
+
83
+ &::-webkit-slider-thumb {
84
+ background-color: $form-range-thumb-disabled-bg;
85
+ }
86
+
87
+ &::-moz-range-thumb {
88
+ background-color: $form-range-thumb-disabled-bg;
89
+ }
90
+ }
91
+ }