jekyll-theme-apcsp 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/_includes/alert.md +0 -0
- data/_includes/footer.md +0 -0
- data/_includes/head.html +0 -0
- data/_includes/header.md +1 -0
- data/_includes/nav.md +0 -0
- data/_layouts/page.html +308 -0
- data/_layouts/redirect.html +12 -0
- data/_sass/bootstrap/LICENSE +22 -0
- data/_sass/bootstrap/scss/_accordion.scss +146 -0
- data/_sass/bootstrap/scss/_alert.scss +71 -0
- data/_sass/bootstrap/scss/_badge.scss +40 -0
- data/_sass/bootstrap/scss/_breadcrumb.scss +42 -0
- data/_sass/bootstrap/scss/_button-group.scss +142 -0
- data/_sass/bootstrap/scss/_buttons.scss +158 -0
- data/_sass/bootstrap/scss/_card.scss +234 -0
- data/_sass/bootstrap/scss/_carousel.scss +229 -0
- data/_sass/bootstrap/scss/_close.scss +40 -0
- data/_sass/bootstrap/scss/_code.scss +48 -0
- data/_sass/bootstrap/scss/_containers.scss +41 -0
- data/_sass/bootstrap/scss/_custom-forms.scss +526 -0
- data/_sass/bootstrap/scss/_dropdown.scss +248 -0
- data/_sass/bootstrap/scss/_forms.scss +9 -0
- data/_sass/bootstrap/scss/_functions.scss +302 -0
- data/_sass/bootstrap/scss/_grid.scss +33 -0
- data/_sass/bootstrap/scss/_helpers.scss +10 -0
- data/_sass/bootstrap/scss/_images.scss +42 -0
- data/_sass/bootstrap/scss/_input-group.scss +208 -0
- data/_sass/bootstrap/scss/_jumbotron.scss +17 -0
- data/_sass/bootstrap/scss/_list-group.scss +191 -0
- data/_sass/bootstrap/scss/_maps.scss +54 -0
- data/_sass/bootstrap/scss/_media.scss +8 -0
- data/_sass/bootstrap/scss/_mixins.scss +43 -0
- data/_sass/bootstrap/scss/_modal.scss +237 -0
- data/_sass/bootstrap/scss/_nav.scss +172 -0
- data/_sass/bootstrap/scss/_navbar.scss +274 -0
- data/_sass/bootstrap/scss/_offcanvas.scss +143 -0
- data/_sass/bootstrap/scss/_pagination.scss +111 -0
- data/_sass/bootstrap/scss/_placeholders.scss +51 -0
- data/_sass/bootstrap/scss/_popover.scss +198 -0
- data/_sass/bootstrap/scss/_print.scss +141 -0
- data/_sass/bootstrap/scss/_progress.scss +59 -0
- data/_sass/bootstrap/scss/_reboot.scss +610 -0
- data/_sass/bootstrap/scss/_root.scss +76 -0
- data/_sass/bootstrap/scss/_spinners.scss +85 -0
- data/_sass/bootstrap/scss/_tables.scss +164 -0
- data/_sass/bootstrap/scss/_toasts.scss +70 -0
- data/_sass/bootstrap/scss/_tooltip.scss +122 -0
- data/_sass/bootstrap/scss/_transitions.scss +27 -0
- data/_sass/bootstrap/scss/_type.scss +104 -0
- data/_sass/bootstrap/scss/_utilities.scss +647 -0
- data/_sass/bootstrap/scss/_variables.scss +1631 -0
- data/_sass/bootstrap/scss/bootstrap-grid.scss +68 -0
- data/_sass/bootstrap/scss/bootstrap-reboot.scss +14 -0
- data/_sass/bootstrap/scss/bootstrap-utilities.scss +19 -0
- data/_sass/bootstrap/scss/bootstrap.scss +54 -0
- data/_sass/bootstrap/scss/forms/_floating-labels.scss +70 -0
- data/_sass/bootstrap/scss/forms/_form-check.scss +175 -0
- data/_sass/bootstrap/scss/forms/_form-control.scss +189 -0
- data/_sass/bootstrap/scss/forms/_form-range.scss +91 -0
- data/_sass/bootstrap/scss/forms/_form-select.scss +71 -0
- data/_sass/bootstrap/scss/forms/_form-text.scss +11 -0
- data/_sass/bootstrap/scss/forms/_input-group.scss +121 -0
- data/_sass/bootstrap/scss/forms/_labels.scss +36 -0
- data/_sass/bootstrap/scss/forms/_validation.scss +12 -0
- data/_sass/bootstrap/scss/helpers/_clearfix.scss +3 -0
- data/_sass/bootstrap/scss/helpers/_color-bg.scss +10 -0
- data/_sass/bootstrap/scss/helpers/_colored-links.scss +12 -0
- data/_sass/bootstrap/scss/helpers/_position.scss +36 -0
- data/_sass/bootstrap/scss/helpers/_ratio.scss +26 -0
- data/_sass/bootstrap/scss/helpers/_stacks.scss +15 -0
- data/_sass/bootstrap/scss/helpers/_stretched-link.scss +15 -0
- data/_sass/bootstrap/scss/helpers/_text-truncation.scss +7 -0
- data/_sass/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
- data/_sass/bootstrap/scss/helpers/_vr.scss +8 -0
- data/_sass/bootstrap/scss/mixins/_alert.scss +15 -0
- data/_sass/bootstrap/scss/mixins/_backdrop.scss +14 -0
- data/_sass/bootstrap/scss/mixins/_background-variant.scss +23 -0
- data/_sass/bootstrap/scss/mixins/_badge.scss +17 -0
- data/_sass/bootstrap/scss/mixins/_border-radius.scss +78 -0
- data/_sass/bootstrap/scss/mixins/_box-shadow.scss +18 -0
- data/_sass/bootstrap/scss/mixins/_breakpoints.scss +127 -0
- data/_sass/bootstrap/scss/mixins/_buttons.scss +71 -0
- data/_sass/bootstrap/scss/mixins/_caret.scss +64 -0
- data/_sass/bootstrap/scss/mixins/_clearfix.scss +9 -0
- data/_sass/bootstrap/scss/mixins/_color-scheme.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_container.scss +11 -0
- data/_sass/bootstrap/scss/mixins/_deprecate.scss +10 -0
- data/_sass/bootstrap/scss/mixins/_float.scss +14 -0
- data/_sass/bootstrap/scss/mixins/_forms.scss +152 -0
- data/_sass/bootstrap/scss/mixins/_gradients.scss +47 -0
- data/_sass/bootstrap/scss/mixins/_grid-framework.scss +80 -0
- data/_sass/bootstrap/scss/mixins/_grid.scss +151 -0
- data/_sass/bootstrap/scss/mixins/_hover.scss +37 -0
- data/_sass/bootstrap/scss/mixins/_image.scss +16 -0
- data/_sass/bootstrap/scss/mixins/_list-group.scss +24 -0
- data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_nav-divider.scss +11 -0
- data/_sass/bootstrap/scss/mixins/_pagination.scss +10 -0
- data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
- data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
- data/_sass/bootstrap/scss/mixins/_screen-reader.scss +34 -0
- data/_sass/bootstrap/scss/mixins/_size.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_table-row.scss +39 -0
- data/_sass/bootstrap/scss/mixins/_table-variants.scss +24 -0
- data/_sass/bootstrap/scss/mixins/_text-emphasis.scss +17 -0
- data/_sass/bootstrap/scss/mixins/_text-hide.scss +11 -0
- data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
- data/_sass/bootstrap/scss/mixins/_transition.scss +26 -0
- data/_sass/bootstrap/scss/mixins/_utilities.scss +92 -0
- data/_sass/bootstrap/scss/mixins/_visibility.scss +8 -0
- data/_sass/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
- data/_sass/bootstrap/scss/utilities/_align.scss +8 -0
- data/_sass/bootstrap/scss/utilities/_api.scss +47 -0
- data/_sass/bootstrap/scss/utilities/_background.scss +19 -0
- data/_sass/bootstrap/scss/utilities/_borders.scss +75 -0
- data/_sass/bootstrap/scss/utilities/_clearfix.scss +3 -0
- data/_sass/bootstrap/scss/utilities/_display.scss +26 -0
- data/_sass/bootstrap/scss/utilities/_embed.scss +39 -0
- data/_sass/bootstrap/scss/utilities/_flex.scss +51 -0
- data/_sass/bootstrap/scss/utilities/_float.scss +11 -0
- data/_sass/bootstrap/scss/utilities/_interactions.scss +5 -0
- data/_sass/bootstrap/scss/utilities/_overflow.scss +5 -0
- data/_sass/bootstrap/scss/utilities/_position.scss +32 -0
- data/_sass/bootstrap/scss/utilities/_screenreaders.scss +11 -0
- data/_sass/bootstrap/scss/utilities/_shadows.scss +6 -0
- data/_sass/bootstrap/scss/utilities/_sizing.scss +20 -0
- data/_sass/bootstrap/scss/utilities/_spacing.scss +73 -0
- data/_sass/bootstrap/scss/utilities/_stretched-link.scss +19 -0
- data/_sass/bootstrap/scss/utilities/_text.scss +72 -0
- data/_sass/bootstrap/scss/utilities/_visibility.scss +13 -0
- data/_sass/bootstrap/scss/vendor/_rfs.scss +354 -0
- data/_sass/jekyll-theme-cs50.scss +298 -0
- data/_sass/page.scss +228 -0
- data/_sass/rouge.scss +35 -0
- data/assets/@fortawesome/fontawesome-free/css/all.min.css +5 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg +3717 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg +801 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg +5034 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
- data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
- data/assets/algolia-min.css +1 -0
- data/assets/algoliasearch/dist/algoliasearch-lite.umd.js +2 -0
- data/assets/algoliasearchLite.min.js +3 -0
- data/assets/bootstrap/LICENSE +22 -0
- data/assets/bootstrap/dist/js/bootstrap.bundle.min.js +7 -0
- data/assets/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -0
- data/assets/bootstrap/dist/js/bootstrap.min.js +7 -0
- data/assets/bootstrap-table/LICENSE +21 -0
- data/assets/bootstrap-table/dist/bootstrap-table.min.css +10 -0
- data/assets/bootstrap-table/dist/bootstrap-table.min.js +10 -0
- data/assets/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile.min.js +10 -0
- data/assets/instantsearch.js/LICENSE +21 -0
- data/assets/instantsearch.js/dist/instantsearch.production.min.js +3 -0
- data/assets/instantsearch.js/dist/instantsearch.production.min.js.map +1 -0
- data/assets/instantsearch.production.min.js +3 -0
- data/assets/jekyll-theme-cs50.js +620 -0
- data/assets/jquery/LICENSE.txt +20 -0
- data/assets/jquery/dist/jquery.min.js +2 -0
- data/assets/luxon.min.js +1 -0
- data/assets/moment-timezone-with-data.min.js +1 -0
- data/assets/moment.min.js +1 -0
- data/assets/page.js +4 -0
- data/assets/page.scss +4 -0
- data/assets/popper.js/dist/umd/popper.min.js +5 -0
- data/assets/reset-min.css +1 -0
- data/assets/scratchblocks.min.js +11 -0
- data/assets/scratchblocks.min.js.map +1 -0
- data/lib/jekyll-theme-cs50/constants.rb +59 -0
- data/lib/jekyll-theme-cs50.rb +606 -0
- data/lib/liquid-tag-parser.rb +1 -0
- 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,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";
|