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,208 @@
1
+ // stylelint-disable selector-no-qualifying-type
2
+
3
+ //
4
+ // Base styles
5
+ //
6
+
7
+ .input-group {
8
+ position: relative;
9
+ display: flex;
10
+ flex-wrap: wrap; // For form validation feedback
11
+ align-items: stretch;
12
+ width: 100%;
13
+
14
+ > .form-control,
15
+ > .form-control-plaintext,
16
+ > .custom-select,
17
+ > .custom-file {
18
+ position: relative; // For focus state's z-index
19
+ flex: 1 1 auto;
20
+ width: 1%;
21
+ min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
22
+ margin-bottom: 0;
23
+
24
+ + .form-control,
25
+ + .custom-select,
26
+ + .custom-file {
27
+ margin-left: -$input-border-width;
28
+ }
29
+ }
30
+
31
+ // Bring the "active" form control to the top of surrounding elements
32
+ > .form-control:focus,
33
+ > .custom-select:focus,
34
+ > .custom-file .custom-file-input:focus ~ .custom-file-label {
35
+ z-index: 3;
36
+ }
37
+
38
+ // Bring the custom file input above the label
39
+ > .custom-file .custom-file-input:focus {
40
+ z-index: 4;
41
+ }
42
+
43
+ > .form-control,
44
+ > .custom-select {
45
+ &:not(:first-child) { @include border-left-radius(0); }
46
+ }
47
+
48
+ // Custom file inputs have more complex markup, thus requiring different
49
+ // border-radius overrides.
50
+ > .custom-file {
51
+ display: flex;
52
+ align-items: center;
53
+
54
+ &:not(:last-child) .custom-file-label,
55
+ &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
56
+ }
57
+
58
+ &:not(.has-validation) {
59
+ > .form-control:not(:last-child),
60
+ > .custom-select:not(:last-child),
61
+ > .custom-file:not(:last-child) .custom-file-label::after {
62
+ @include border-right-radius(0);
63
+ }
64
+ }
65
+
66
+ &.has-validation {
67
+ > .form-control:nth-last-child(n + 3),
68
+ > .custom-select:nth-last-child(n + 3),
69
+ > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
70
+ @include border-right-radius(0);
71
+ }
72
+ }
73
+ }
74
+
75
+
76
+ // Prepend and append
77
+ //
78
+ // While it requires one extra layer of HTML for each, dedicated prepend and
79
+ // append elements allow us to 1) be less clever, 2) simplify our selectors, and
80
+ // 3) support HTML5 form validation.
81
+
82
+ .input-group-prepend,
83
+ .input-group-append {
84
+ display: flex;
85
+
86
+ // Ensure buttons are always above inputs for more visually pleasing borders.
87
+ // This isn't needed for `.input-group-text` since it shares the same border-color
88
+ // as our inputs.
89
+ .btn {
90
+ position: relative;
91
+ z-index: 2;
92
+
93
+ &:focus {
94
+ z-index: 3;
95
+ }
96
+ }
97
+
98
+ .btn + .btn,
99
+ .btn + .input-group-text,
100
+ .input-group-text + .input-group-text,
101
+ .input-group-text + .btn {
102
+ margin-left: -$input-border-width;
103
+ }
104
+ }
105
+
106
+ .input-group-prepend { margin-right: -$input-border-width; }
107
+ .input-group-append { margin-left: -$input-border-width; }
108
+
109
+
110
+ // Textual addons
111
+ //
112
+ // Serves as a catch-all element for any text or radio/checkbox input you wish
113
+ // to prepend or append to an input.
114
+
115
+ .input-group-text {
116
+ display: flex;
117
+ align-items: center;
118
+ padding: $input-padding-y $input-padding-x;
119
+ margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
120
+ @include font-size($input-font-size); // Match inputs
121
+ font-weight: $font-weight-normal;
122
+ line-height: $input-line-height;
123
+ color: $input-group-addon-color;
124
+ text-align: center;
125
+ white-space: nowrap;
126
+ background-color: $input-group-addon-bg;
127
+ border: $input-border-width solid $input-group-addon-border-color;
128
+ @include border-radius($input-border-radius);
129
+
130
+ // Nuke default margins from checkboxes and radios to vertically center within.
131
+ input[type="radio"],
132
+ input[type="checkbox"] {
133
+ margin-top: 0;
134
+ }
135
+ }
136
+
137
+
138
+ // Sizing
139
+ //
140
+ // Remix the default form control sizing classes into new ones for easier
141
+ // manipulation.
142
+
143
+ .input-group-lg > .form-control:not(textarea),
144
+ .input-group-lg > .custom-select {
145
+ height: $input-height-lg;
146
+ }
147
+
148
+ .input-group-lg > .form-control,
149
+ .input-group-lg > .custom-select,
150
+ .input-group-lg > .input-group-prepend > .input-group-text,
151
+ .input-group-lg > .input-group-append > .input-group-text,
152
+ .input-group-lg > .input-group-prepend > .btn,
153
+ .input-group-lg > .input-group-append > .btn {
154
+ padding: $input-padding-y-lg $input-padding-x-lg;
155
+ @include font-size($input-font-size-lg);
156
+ line-height: $input-line-height-lg;
157
+ @include border-radius($input-border-radius-lg);
158
+ }
159
+
160
+ .input-group-sm > .form-control:not(textarea),
161
+ .input-group-sm > .custom-select {
162
+ height: $input-height-sm;
163
+ }
164
+
165
+ .input-group-sm > .form-control,
166
+ .input-group-sm > .custom-select,
167
+ .input-group-sm > .input-group-prepend > .input-group-text,
168
+ .input-group-sm > .input-group-append > .input-group-text,
169
+ .input-group-sm > .input-group-prepend > .btn,
170
+ .input-group-sm > .input-group-append > .btn {
171
+ padding: $input-padding-y-sm $input-padding-x-sm;
172
+ @include font-size($input-font-size-sm);
173
+ line-height: $input-line-height-sm;
174
+ @include border-radius($input-border-radius-sm);
175
+ }
176
+
177
+ .input-group-lg > .custom-select,
178
+ .input-group-sm > .custom-select {
179
+ padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
180
+ }
181
+
182
+
183
+ // Prepend and append rounded corners
184
+ //
185
+ // These rulesets must come after the sizing ones to properly override sm and lg
186
+ // border-radius values when extending. They're more specific than we'd like
187
+ // with the `.input-group >` part, but without it, we cannot override the sizing.
188
+
189
+
190
+ .input-group > .input-group-prepend > .btn,
191
+ .input-group > .input-group-prepend > .input-group-text,
192
+ .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
193
+ .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
194
+ .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
195
+ .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
196
+ .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
197
+ .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
198
+ @include border-right-radius(0);
199
+ }
200
+
201
+ .input-group > .input-group-append > .btn,
202
+ .input-group > .input-group-append > .input-group-text,
203
+ .input-group > .input-group-prepend:not(:first-child) > .btn,
204
+ .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
205
+ .input-group > .input-group-prepend:first-child > .btn:not(:first-child),
206
+ .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
207
+ @include border-left-radius(0);
208
+ }
@@ -0,0 +1,17 @@
1
+ .jumbotron {
2
+ padding: $jumbotron-padding ($jumbotron-padding / 2);
3
+ margin-bottom: $jumbotron-padding;
4
+ color: $jumbotron-color;
5
+ background-color: $jumbotron-bg;
6
+ @include border-radius($border-radius-lg);
7
+
8
+ @include media-breakpoint-up(sm) {
9
+ padding: ($jumbotron-padding * 2) $jumbotron-padding;
10
+ }
11
+ }
12
+
13
+ .jumbotron-fluid {
14
+ padding-right: 0;
15
+ padding-left: 0;
16
+ @include border-radius(0);
17
+ }
@@ -0,0 +1,191 @@
1
+ // Base class
2
+ //
3
+ // Easily usable on <ul>, <ol>, or <div>.
4
+
5
+ .list-group {
6
+ // scss-docs-start list-group-css-vars
7
+ --#{$prefix}list-group-color: #{$list-group-color};
8
+ --#{$prefix}list-group-bg: #{$list-group-bg};
9
+ --#{$prefix}list-group-border-color: #{$list-group-border-color};
10
+ --#{$prefix}list-group-border-width: #{$list-group-border-width};
11
+ --#{$prefix}list-group-border-radius: #{$list-group-border-radius};
12
+ --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};
13
+ --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};
14
+ --#{$prefix}list-group-action-color: #{$list-group-action-color};
15
+ --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};
16
+ --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};
17
+ --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};
18
+ --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};
19
+ --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};
20
+ --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};
21
+ --#{$prefix}list-group-active-color: #{$list-group-active-color};
22
+ --#{$prefix}list-group-active-bg: #{$list-group-active-bg};
23
+ --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};
24
+ // scss-docs-end list-group-css-vars
25
+
26
+ display: flex;
27
+ flex-direction: column;
28
+
29
+ // No need to set list-style: none; since .list-group-item is block level
30
+ padding-left: 0; // reset padding because ul and ol
31
+ margin-bottom: 0;
32
+ @include border-radius(var(--#{$prefix}list-group-border-radius));
33
+ }
34
+
35
+ .list-group-numbered {
36
+ list-style-type: none;
37
+ counter-reset: section;
38
+
39
+ > .list-group-item::before {
40
+ // Increments only this instance of the section counter
41
+ content: counters(section, ".") ". ";
42
+ counter-increment: section;
43
+ }
44
+ }
45
+
46
+ // Interactive list items
47
+ //
48
+ // Use anchor or button elements instead of `li`s or `div`s to create interactive
49
+ // list items. Includes an extra `.active` modifier class for selected items.
50
+
51
+ .list-group-item-action {
52
+ width: 100%; // For `<button>`s (anchors become 100% by default though)
53
+ color: var(--#{$prefix}list-group-action-color);
54
+ text-align: inherit; // For `<button>`s (anchors inherit)
55
+
56
+ // Hover state
57
+ &:hover,
58
+ &:focus {
59
+ z-index: 1; // Place hover/focus items above their siblings for proper border styling
60
+ color: var(--#{$prefix}list-group-action-hover-color);
61
+ text-decoration: none;
62
+ background-color: var(--#{$prefix}list-group-action-hover-bg);
63
+ }
64
+
65
+ &:active {
66
+ color: var(--#{$prefix}list-group-action-active-color);
67
+ background-color: var(--#{$prefix}list-group-action-active-bg);
68
+ }
69
+ }
70
+
71
+ // Individual list items
72
+ //
73
+ // Use on `li`s or `div`s within the `.list-group` parent.
74
+
75
+ .list-group-item {
76
+ position: relative;
77
+ display: block;
78
+ padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);
79
+ color: var(--#{$prefix}list-group-color);
80
+ text-decoration: if($link-decoration == none, null, none);
81
+ background-color: var(--#{$prefix}list-group-bg);
82
+ border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}list-group-border-color);
83
+
84
+ &:first-child {
85
+ @include border-top-radius(inherit);
86
+ }
87
+
88
+ &:last-child {
89
+ @include border-bottom-radius(inherit);
90
+ }
91
+
92
+ &.disabled,
93
+ &:disabled {
94
+ color: var(--#{$prefix}list-group-disabled-color);
95
+ pointer-events: none;
96
+ background-color: var(--#{$prefix}list-group-disabled-bg);
97
+ }
98
+
99
+ // Include both here for `<a>`s and `<button>`s
100
+ &.active {
101
+ z-index: 2; // Place active items above their siblings for proper border styling
102
+ color: var(--#{$prefix}list-group-active-color);
103
+ background-color: var(--#{$prefix}list-group-active-bg);
104
+ border-color: var(--#{$prefix}list-group-active-border-color);
105
+ }
106
+
107
+ & + & {
108
+ border-top-width: 0;
109
+
110
+ &.active {
111
+ margin-top: calc(var(--#{$prefix}list-group-border-width) * -1); // stylelint-disable-line function-disallowed-list
112
+ border-top-width: var(--#{$prefix}list-group-border-width);
113
+ }
114
+ }
115
+ }
116
+
117
+ // Horizontal
118
+ //
119
+ // Change the layout of list group items from vertical (default) to horizontal.
120
+
121
+ @each $breakpoint in map-keys($grid-breakpoints) {
122
+ @include media-breakpoint-up($breakpoint) {
123
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
124
+
125
+ .list-group-horizontal#{$infix} {
126
+ flex-direction: row;
127
+
128
+ > .list-group-item {
129
+ &:first-child {
130
+ @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));
131
+ @include border-top-end-radius(0);
132
+ }
133
+
134
+ &:last-child {
135
+ @include border-top-end-radius(var(--#{$prefix}list-group-border-radius));
136
+ @include border-bottom-start-radius(0);
137
+ }
138
+
139
+ &.active {
140
+ margin-top: 0;
141
+ }
142
+
143
+ + .list-group-item {
144
+ border-top-width: var(--#{$prefix}list-group-border-width);
145
+ border-left-width: 0;
146
+
147
+ &.active {
148
+ margin-left: calc(var(--#{$prefix}list-group-border-width) * -1); // stylelint-disable-line function-disallowed-list
149
+ border-left-width: var(--#{$prefix}list-group-border-width);
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+
157
+
158
+ // Flush list items
159
+ //
160
+ // Remove borders and border-radius to keep list group items edge-to-edge. Most
161
+ // useful within other components (e.g., cards).
162
+
163
+ .list-group-flush {
164
+ @include border-radius(0);
165
+
166
+ > .list-group-item {
167
+ border-width: 0 0 var(--#{$prefix}list-group-border-width);
168
+
169
+ &:last-child {
170
+ border-bottom-width: 0;
171
+ }
172
+ }
173
+ }
174
+
175
+
176
+ // scss-docs-start list-group-modifiers
177
+ // List group contextual variants
178
+ //
179
+ // Add modifier classes to change text and background color on individual items.
180
+ // Organizationally, this must come after the `:hover` states.
181
+
182
+ @each $state, $value in $theme-colors {
183
+ $list-group-variant-bg: shift-color($value, $list-group-item-bg-scale);
184
+ $list-group-variant-color: shift-color($value, $list-group-item-color-scale);
185
+ @if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) {
186
+ $list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale));
187
+ }
188
+
189
+ @include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
190
+ }
191
+ // scss-docs-end list-group-modifiers
@@ -0,0 +1,54 @@
1
+ // Re-assigned maps
2
+ //
3
+ // Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
4
+
5
+ // scss-docs-start theme-colors-rgb
6
+ $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
7
+ // scss-docs-end theme-colors-rgb
8
+
9
+ // Utilities maps
10
+ //
11
+ // Extends the default `$theme-colors` maps to help create our utilities.
12
+
13
+ // Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
14
+ // scss-docs-start utilities-colors
15
+ $utilities-colors: $theme-colors-rgb !default;
16
+ // scss-docs-end utilities-colors
17
+
18
+ // scss-docs-start utilities-text-colors
19
+ $utilities-text: map-merge(
20
+ $utilities-colors,
21
+ (
22
+ "black": to-rgb($black),
23
+ "white": to-rgb($white),
24
+ "body": to-rgb($body-color)
25
+ )
26
+ ) !default;
27
+ $utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
28
+ // scss-docs-end utilities-text-colors
29
+
30
+ // scss-docs-start utilities-bg-colors
31
+ $utilities-bg: map-merge(
32
+ $utilities-colors,
33
+ (
34
+ "black": to-rgb($black),
35
+ "white": to-rgb($white),
36
+ "body": to-rgb($body-bg)
37
+ )
38
+ ) !default;
39
+ $utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
40
+ // scss-docs-end utilities-bg-colors
41
+
42
+ // scss-docs-start utilities-border-colors
43
+ $utilities-border: map-merge(
44
+ $utilities-colors,
45
+ (
46
+ "white": to-rgb($white)
47
+ )
48
+ ) !default;
49
+ $utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
50
+ // scss-docs-end utilities-border-colors
51
+
52
+ $negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
53
+
54
+ $gutters: $spacers !default;
@@ -0,0 +1,8 @@
1
+ .media {
2
+ display: flex;
3
+ align-items: flex-start;
4
+ }
5
+
6
+ .media-body {
7
+ flex: 1;
8
+ }
@@ -0,0 +1,43 @@
1
+ // Toggles
2
+ //
3
+ // Used in conjunction with global variables to enable certain theme features.
4
+
5
+ // Vendor
6
+ @import "vendor/rfs";
7
+
8
+ // Deprecate
9
+ @import "mixins/deprecate";
10
+
11
+ // Helpers
12
+ @import "mixins/breakpoints";
13
+ @import "mixins/color-scheme";
14
+ @import "mixins/image";
15
+ @import "mixins/resize";
16
+ @import "mixins/visually-hidden";
17
+ @import "mixins/reset-text";
18
+ @import "mixins/text-truncate";
19
+
20
+ // Utilities
21
+ @import "mixins/utilities";
22
+
23
+ // Components
24
+ @import "mixins/alert";
25
+ @import "mixins/backdrop";
26
+ @import "mixins/buttons";
27
+ @import "mixins/caret";
28
+ @import "mixins/pagination";
29
+ @import "mixins/lists";
30
+ @import "mixins/list-group";
31
+ @import "mixins/forms";
32
+ @import "mixins/table-variants";
33
+
34
+ // Skins
35
+ @import "mixins/border-radius";
36
+ @import "mixins/box-shadow";
37
+ @import "mixins/gradients";
38
+ @import "mixins/transition";
39
+
40
+ // Layout
41
+ @import "mixins/clearfix";
42
+ @import "mixins/container";
43
+ @import "mixins/grid";