administrate-bootstrap-theme 1.0.6 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/administrate-bootstrap-theme/bootstrap.bundle.js +2503 -3001
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_accordion.scss +73 -33
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_alert.scss +25 -14
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_badge.scss +14 -5
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_breadcrumb.scss +22 -10
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_button-group.scss +6 -3
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_buttons.scss +133 -28
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_card.scss +60 -37
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_carousel.scss +22 -15
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_close.scss +33 -10
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_containers.scss +1 -1
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_dropdown.scss +86 -76
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_functions.scss +10 -10
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_grid.scss +9 -3
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_helpers.scss +3 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_list-group.scss +60 -37
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_maps.scss +174 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_mixins.scss +1 -2
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_modal.scss +71 -44
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_nav.scss +86 -28
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_navbar.scss +101 -147
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_offcanvas.scss +121 -61
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_pagination.scss +66 -21
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_placeholders.scss +1 -1
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_popover.scss +90 -52
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_progress.scss +30 -10
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_reboot.scss +31 -45
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_root.scss +155 -22
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_spinners.scss +38 -22
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_tables.scss +40 -24
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_toasts.scss +38 -16
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_tooltip.scss +60 -56
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_type.scss +2 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_utilities.scss +209 -33
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_variables-dark.scss +87 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/_variables.scss +404 -294
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/bootstrap-grid.scss +4 -9
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/bootstrap-reboot.scss +4 -7
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/bootstrap-utilities.scss +7 -6
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/bootstrap.scss +5 -6
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/forms/_floating-labels.scss +37 -5
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/forms/_form-check.scss +51 -14
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/forms/_form-control.scss +36 -41
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/forms/_form-range.scss +3 -3
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/forms/_form-select.scss +12 -4
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/forms/_input-group.scss +20 -9
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/helpers/_color-bg.scss +7 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/helpers/_colored-links.scss +20 -2
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/helpers/_focus-ring.scss +5 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/helpers/_icon-link.scss +25 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/helpers/_position.scss +7 -1
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/helpers/_ratio.scss +2 -2
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/helpers/_vr.scss +2 -2
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_alert.scss +11 -4
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_banner.scss +7 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_breakpoints.scss +8 -8
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_buttons.scss +32 -95
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_caret.scss +30 -25
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_color-mode.scss +21 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_container.scss +4 -2
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_forms.scss +38 -19
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_grid.scss +14 -14
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_list-group.scss +2 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_pagination.scss +4 -25
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_reset-text.scss +1 -1
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_table-variants.scss +12 -9
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_utilities.scss +14 -6
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/mixins/_visually-hidden.scss +5 -1
- data/app/assets/stylesheets/administrate-bootstrap-theme/bootstrap/vendor/_rfs.scss +23 -29
- data/app/assets/stylesheets/administrate-bootstrap-theme/components/_content_body.scss +21 -7
- data/app/assets/stylesheets/administrate-bootstrap-theme/components/_navigation.scss +4 -0
- data/app/assets/stylesheets/administrate-bootstrap-theme/components/_pagination.scss +11 -3
- data/lib/administrate-bootstrap-theme/version.rb +2 -2
- data/package.json +2 -2
- metadata +24 -3
@@ -2,6 +2,12 @@
|
|
2
2
|
//
|
3
3
|
// Rows contain your columns.
|
4
4
|
|
5
|
+
:root {
|
6
|
+
@each $name, $value in $grid-breakpoints {
|
7
|
+
--#{$prefix}breakpoint-#{$name}: #{$value};
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
5
11
|
@if $enable-grid-classes {
|
6
12
|
.row {
|
7
13
|
@include make-row();
|
@@ -15,9 +21,9 @@
|
|
15
21
|
@if $enable-cssgrid {
|
16
22
|
.grid {
|
17
23
|
display: grid;
|
18
|
-
grid-template-rows: repeat(var(--#{$
|
19
|
-
grid-template-columns: repeat(var(--#{$
|
20
|
-
gap: var(--#{$
|
24
|
+
grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);
|
25
|
+
grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);
|
26
|
+
gap: var(--#{$prefix}gap, #{$grid-gutter-width});
|
21
27
|
|
22
28
|
@include make-cssgrid();
|
23
29
|
}
|
@@ -3,27 +3,46 @@
|
|
3
3
|
// Easily usable on <ul>, <ol>, or <div>.
|
4
4
|
|
5
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
|
+
|
6
26
|
display: flex;
|
7
27
|
flex-direction: column;
|
8
28
|
|
9
29
|
// No need to set list-style: none; since .list-group-item is block level
|
10
30
|
padding-left: 0; // reset padding because ul and ol
|
11
31
|
margin-bottom: 0;
|
12
|
-
@include border-radius($list-group-border-radius);
|
32
|
+
@include border-radius(var(--#{$prefix}list-group-border-radius));
|
13
33
|
}
|
14
34
|
|
15
35
|
.list-group-numbered {
|
16
36
|
list-style-type: none;
|
17
37
|
counter-reset: section;
|
18
38
|
|
19
|
-
>
|
39
|
+
> .list-group-item::before {
|
20
40
|
// Increments only this instance of the section counter
|
21
41
|
content: counters(section, ".") ". ";
|
22
42
|
counter-increment: section;
|
23
43
|
}
|
24
44
|
}
|
25
45
|
|
26
|
-
|
27
46
|
// Interactive list items
|
28
47
|
//
|
29
48
|
// Use anchor or button elements instead of `li`s or `div`s to create interactive
|
@@ -31,25 +50,24 @@
|
|
31
50
|
|
32
51
|
.list-group-item-action {
|
33
52
|
width: 100%; // For `<button>`s (anchors become 100% by default though)
|
34
|
-
color: $list-group-action-color;
|
53
|
+
color: var(--#{$prefix}list-group-action-color);
|
35
54
|
text-align: inherit; // For `<button>`s (anchors inherit)
|
36
55
|
|
37
56
|
// Hover state
|
38
57
|
&:hover,
|
39
58
|
&:focus {
|
40
59
|
z-index: 1; // Place hover/focus items above their siblings for proper border styling
|
41
|
-
color: $list-group-action-hover-color;
|
60
|
+
color: var(--#{$prefix}list-group-action-hover-color);
|
42
61
|
text-decoration: none;
|
43
|
-
background-color: $list-group-hover-bg;
|
62
|
+
background-color: var(--#{$prefix}list-group-action-hover-bg);
|
44
63
|
}
|
45
64
|
|
46
65
|
&:active {
|
47
|
-
color: $list-group-action-active-color;
|
48
|
-
background-color: $list-group-action-active-bg;
|
66
|
+
color: var(--#{$prefix}list-group-action-active-color);
|
67
|
+
background-color: var(--#{$prefix}list-group-action-active-bg);
|
49
68
|
}
|
50
69
|
}
|
51
70
|
|
52
|
-
|
53
71
|
// Individual list items
|
54
72
|
//
|
55
73
|
// Use on `li`s or `div`s within the `.list-group` parent.
|
@@ -57,11 +75,11 @@
|
|
57
75
|
.list-group-item {
|
58
76
|
position: relative;
|
59
77
|
display: block;
|
60
|
-
padding: $list-group-item-padding-y $list-group-item-padding-x;
|
61
|
-
color: $list-group-color;
|
78
|
+
padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);
|
79
|
+
color: var(--#{$prefix}list-group-color);
|
62
80
|
text-decoration: if($link-decoration == none, null, none);
|
63
|
-
background-color: $list-group-bg;
|
64
|
-
border: $list-group-border-width solid $list-group-border-color;
|
81
|
+
background-color: var(--#{$prefix}list-group-bg);
|
82
|
+
border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}list-group-border-color);
|
65
83
|
|
66
84
|
&:first-child {
|
67
85
|
@include border-top-radius(inherit);
|
@@ -73,30 +91,30 @@
|
|
73
91
|
|
74
92
|
&.disabled,
|
75
93
|
&:disabled {
|
76
|
-
color: $list-group-disabled-color;
|
94
|
+
color: var(--#{$prefix}list-group-disabled-color);
|
77
95
|
pointer-events: none;
|
78
|
-
background-color: $list-group-disabled-bg;
|
96
|
+
background-color: var(--#{$prefix}list-group-disabled-bg);
|
79
97
|
}
|
80
98
|
|
81
99
|
// Include both here for `<a>`s and `<button>`s
|
82
100
|
&.active {
|
83
101
|
z-index: 2; // Place active items above their siblings for proper border styling
|
84
|
-
color: $list-group-active-color;
|
85
|
-
background-color: $list-group-active-bg;
|
86
|
-
border-color: $list-group-active-border-color;
|
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);
|
87
105
|
}
|
88
106
|
|
89
|
-
|
107
|
+
// stylelint-disable-next-line scss/selector-no-redundant-nesting-selector
|
108
|
+
& + .list-group-item {
|
90
109
|
border-top-width: 0;
|
91
110
|
|
92
111
|
&.active {
|
93
|
-
margin-top:
|
94
|
-
border-top-width: $list-group-border-width;
|
112
|
+
margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
|
113
|
+
border-top-width: var(--#{$prefix}list-group-border-width);
|
95
114
|
}
|
96
115
|
}
|
97
116
|
}
|
98
117
|
|
99
|
-
|
100
118
|
// Horizontal
|
101
119
|
//
|
102
120
|
// Change the layout of list group items from vertical (default) to horizontal.
|
@@ -109,13 +127,13 @@
|
|
109
127
|
flex-direction: row;
|
110
128
|
|
111
129
|
> .list-group-item {
|
112
|
-
&:first-child {
|
113
|
-
@include border-bottom-start-radius($list-group-border-radius);
|
130
|
+
&:first-child:not(:last-child) {
|
131
|
+
@include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));
|
114
132
|
@include border-top-end-radius(0);
|
115
133
|
}
|
116
134
|
|
117
|
-
&:last-child {
|
118
|
-
@include border-top-end-radius($list-group-border-radius);
|
135
|
+
&:last-child:not(:first-child) {
|
136
|
+
@include border-top-end-radius(var(--#{$prefix}list-group-border-radius));
|
119
137
|
@include border-bottom-start-radius(0);
|
120
138
|
}
|
121
139
|
|
@@ -124,12 +142,12 @@
|
|
124
142
|
}
|
125
143
|
|
126
144
|
+ .list-group-item {
|
127
|
-
border-top-width: $list-group-border-width;
|
145
|
+
border-top-width: var(--#{$prefix}list-group-border-width);
|
128
146
|
border-left-width: 0;
|
129
147
|
|
130
148
|
&.active {
|
131
|
-
margin-left:
|
132
|
-
border-left-width: $list-group-border-width;
|
149
|
+
margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
|
150
|
+
border-left-width: var(--#{$prefix}list-group-border-width);
|
133
151
|
}
|
134
152
|
}
|
135
153
|
}
|
@@ -147,7 +165,7 @@
|
|
147
165
|
@include border-radius(0);
|
148
166
|
|
149
167
|
> .list-group-item {
|
150
|
-
border-width: 0 0 $list-group-border-width;
|
168
|
+
border-width: 0 0 var(--#{$prefix}list-group-border-width);
|
151
169
|
|
152
170
|
&:last-child {
|
153
171
|
border-bottom-width: 0;
|
@@ -162,13 +180,18 @@
|
|
162
180
|
// Add modifier classes to change text and background color on individual items.
|
163
181
|
// Organizationally, this must come after the `:hover` states.
|
164
182
|
|
165
|
-
@each $state
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
$list-group-
|
183
|
+
@each $state in map-keys($theme-colors) {
|
184
|
+
.list-group-item-#{$state} {
|
185
|
+
--#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);
|
186
|
+
--#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);
|
187
|
+
--#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);
|
188
|
+
--#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);
|
189
|
+
--#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);
|
190
|
+
--#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);
|
191
|
+
--#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);
|
192
|
+
--#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);
|
193
|
+
--#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);
|
194
|
+
--#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);
|
170
195
|
}
|
171
|
-
|
172
|
-
@include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
|
173
196
|
}
|
174
197
|
// scss-docs-end list-group-modifiers
|
@@ -0,0 +1,174 @@
|
|
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
|
+
// scss-docs-start theme-text-map
|
10
|
+
$theme-colors-text: (
|
11
|
+
"primary": $primary-text-emphasis,
|
12
|
+
"secondary": $secondary-text-emphasis,
|
13
|
+
"success": $success-text-emphasis,
|
14
|
+
"info": $info-text-emphasis,
|
15
|
+
"warning": $warning-text-emphasis,
|
16
|
+
"danger": $danger-text-emphasis,
|
17
|
+
"light": $light-text-emphasis,
|
18
|
+
"dark": $dark-text-emphasis,
|
19
|
+
) !default;
|
20
|
+
// scss-docs-end theme-text-map
|
21
|
+
|
22
|
+
// scss-docs-start theme-bg-subtle-map
|
23
|
+
$theme-colors-bg-subtle: (
|
24
|
+
"primary": $primary-bg-subtle,
|
25
|
+
"secondary": $secondary-bg-subtle,
|
26
|
+
"success": $success-bg-subtle,
|
27
|
+
"info": $info-bg-subtle,
|
28
|
+
"warning": $warning-bg-subtle,
|
29
|
+
"danger": $danger-bg-subtle,
|
30
|
+
"light": $light-bg-subtle,
|
31
|
+
"dark": $dark-bg-subtle,
|
32
|
+
) !default;
|
33
|
+
// scss-docs-end theme-bg-subtle-map
|
34
|
+
|
35
|
+
// scss-docs-start theme-border-subtle-map
|
36
|
+
$theme-colors-border-subtle: (
|
37
|
+
"primary": $primary-border-subtle,
|
38
|
+
"secondary": $secondary-border-subtle,
|
39
|
+
"success": $success-border-subtle,
|
40
|
+
"info": $info-border-subtle,
|
41
|
+
"warning": $warning-border-subtle,
|
42
|
+
"danger": $danger-border-subtle,
|
43
|
+
"light": $light-border-subtle,
|
44
|
+
"dark": $dark-border-subtle,
|
45
|
+
) !default;
|
46
|
+
// scss-docs-end theme-border-subtle-map
|
47
|
+
|
48
|
+
$theme-colors-text-dark: null !default;
|
49
|
+
$theme-colors-bg-subtle-dark: null !default;
|
50
|
+
$theme-colors-border-subtle-dark: null !default;
|
51
|
+
|
52
|
+
@if $enable-dark-mode {
|
53
|
+
// scss-docs-start theme-text-dark-map
|
54
|
+
$theme-colors-text-dark: (
|
55
|
+
"primary": $primary-text-emphasis-dark,
|
56
|
+
"secondary": $secondary-text-emphasis-dark,
|
57
|
+
"success": $success-text-emphasis-dark,
|
58
|
+
"info": $info-text-emphasis-dark,
|
59
|
+
"warning": $warning-text-emphasis-dark,
|
60
|
+
"danger": $danger-text-emphasis-dark,
|
61
|
+
"light": $light-text-emphasis-dark,
|
62
|
+
"dark": $dark-text-emphasis-dark,
|
63
|
+
) !default;
|
64
|
+
// scss-docs-end theme-text-dark-map
|
65
|
+
|
66
|
+
// scss-docs-start theme-bg-subtle-dark-map
|
67
|
+
$theme-colors-bg-subtle-dark: (
|
68
|
+
"primary": $primary-bg-subtle-dark,
|
69
|
+
"secondary": $secondary-bg-subtle-dark,
|
70
|
+
"success": $success-bg-subtle-dark,
|
71
|
+
"info": $info-bg-subtle-dark,
|
72
|
+
"warning": $warning-bg-subtle-dark,
|
73
|
+
"danger": $danger-bg-subtle-dark,
|
74
|
+
"light": $light-bg-subtle-dark,
|
75
|
+
"dark": $dark-bg-subtle-dark,
|
76
|
+
) !default;
|
77
|
+
// scss-docs-end theme-bg-subtle-dark-map
|
78
|
+
|
79
|
+
// scss-docs-start theme-border-subtle-dark-map
|
80
|
+
$theme-colors-border-subtle-dark: (
|
81
|
+
"primary": $primary-border-subtle-dark,
|
82
|
+
"secondary": $secondary-border-subtle-dark,
|
83
|
+
"success": $success-border-subtle-dark,
|
84
|
+
"info": $info-border-subtle-dark,
|
85
|
+
"warning": $warning-border-subtle-dark,
|
86
|
+
"danger": $danger-border-subtle-dark,
|
87
|
+
"light": $light-border-subtle-dark,
|
88
|
+
"dark": $dark-border-subtle-dark,
|
89
|
+
) !default;
|
90
|
+
// scss-docs-end theme-border-subtle-dark-map
|
91
|
+
}
|
92
|
+
|
93
|
+
// Utilities maps
|
94
|
+
//
|
95
|
+
// Extends the default `$theme-colors` maps to help create our utilities.
|
96
|
+
|
97
|
+
// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
|
98
|
+
// scss-docs-start utilities-colors
|
99
|
+
$utilities-colors: $theme-colors-rgb !default;
|
100
|
+
// scss-docs-end utilities-colors
|
101
|
+
|
102
|
+
// scss-docs-start utilities-text-colors
|
103
|
+
$utilities-text: map-merge(
|
104
|
+
$utilities-colors,
|
105
|
+
(
|
106
|
+
"black": to-rgb($black),
|
107
|
+
"white": to-rgb($white),
|
108
|
+
"body": to-rgb($body-color)
|
109
|
+
)
|
110
|
+
) !default;
|
111
|
+
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
|
112
|
+
|
113
|
+
$utilities-text-emphasis-colors: (
|
114
|
+
"primary-emphasis": var(--#{$prefix}primary-text-emphasis),
|
115
|
+
"secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
|
116
|
+
"success-emphasis": var(--#{$prefix}success-text-emphasis),
|
117
|
+
"info-emphasis": var(--#{$prefix}info-text-emphasis),
|
118
|
+
"warning-emphasis": var(--#{$prefix}warning-text-emphasis),
|
119
|
+
"danger-emphasis": var(--#{$prefix}danger-text-emphasis),
|
120
|
+
"light-emphasis": var(--#{$prefix}light-text-emphasis),
|
121
|
+
"dark-emphasis": var(--#{$prefix}dark-text-emphasis)
|
122
|
+
) !default;
|
123
|
+
// scss-docs-end utilities-text-colors
|
124
|
+
|
125
|
+
// scss-docs-start utilities-bg-colors
|
126
|
+
$utilities-bg: map-merge(
|
127
|
+
$utilities-colors,
|
128
|
+
(
|
129
|
+
"black": to-rgb($black),
|
130
|
+
"white": to-rgb($white),
|
131
|
+
"body": to-rgb($body-bg)
|
132
|
+
)
|
133
|
+
) !default;
|
134
|
+
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
|
135
|
+
|
136
|
+
$utilities-bg-subtle: (
|
137
|
+
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
|
138
|
+
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
|
139
|
+
"success-subtle": var(--#{$prefix}success-bg-subtle),
|
140
|
+
"info-subtle": var(--#{$prefix}info-bg-subtle),
|
141
|
+
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
|
142
|
+
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
|
143
|
+
"light-subtle": var(--#{$prefix}light-bg-subtle),
|
144
|
+
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
|
145
|
+
) !default;
|
146
|
+
// scss-docs-end utilities-bg-colors
|
147
|
+
|
148
|
+
// scss-docs-start utilities-border-colors
|
149
|
+
$utilities-border: map-merge(
|
150
|
+
$utilities-colors,
|
151
|
+
(
|
152
|
+
"black": to-rgb($black),
|
153
|
+
"white": to-rgb($white)
|
154
|
+
)
|
155
|
+
) !default;
|
156
|
+
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
|
157
|
+
|
158
|
+
$utilities-border-subtle: (
|
159
|
+
"primary-subtle": var(--#{$prefix}primary-border-subtle),
|
160
|
+
"secondary-subtle": var(--#{$prefix}secondary-border-subtle),
|
161
|
+
"success-subtle": var(--#{$prefix}success-border-subtle),
|
162
|
+
"info-subtle": var(--#{$prefix}info-border-subtle),
|
163
|
+
"warning-subtle": var(--#{$prefix}warning-border-subtle),
|
164
|
+
"danger-subtle": var(--#{$prefix}danger-border-subtle),
|
165
|
+
"light-subtle": var(--#{$prefix}light-border-subtle),
|
166
|
+
"dark-subtle": var(--#{$prefix}dark-border-subtle)
|
167
|
+
) !default;
|
168
|
+
// scss-docs-end utilities-border-colors
|
169
|
+
|
170
|
+
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
|
171
|
+
|
172
|
+
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
|
173
|
+
|
174
|
+
$gutters: $spacers !default;
|
@@ -10,6 +10,7 @@
|
|
10
10
|
|
11
11
|
// Helpers
|
12
12
|
@import "mixins/breakpoints";
|
13
|
+
@import "mixins/color-mode";
|
13
14
|
@import "mixins/color-scheme";
|
14
15
|
@import "mixins/image";
|
15
16
|
@import "mixins/resize";
|
@@ -21,13 +22,11 @@
|
|
21
22
|
@import "mixins/utilities";
|
22
23
|
|
23
24
|
// Components
|
24
|
-
@import "mixins/alert";
|
25
25
|
@import "mixins/backdrop";
|
26
26
|
@import "mixins/buttons";
|
27
27
|
@import "mixins/caret";
|
28
28
|
@import "mixins/pagination";
|
29
29
|
@import "mixins/lists";
|
30
|
-
@import "mixins/list-group";
|
31
30
|
@import "mixins/forms";
|
32
31
|
@import "mixins/table-variants";
|
33
32
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// stylelint-disable function-disallowed-list
|
2
|
+
|
1
3
|
// .modal-open - body class for killing the scroll
|
2
4
|
// .modal - container to scroll within
|
3
5
|
// .modal-dialog - positioning shell for the actual modal
|
@@ -6,10 +8,34 @@
|
|
6
8
|
|
7
9
|
// Container that the modal scrolls within
|
8
10
|
.modal {
|
11
|
+
// scss-docs-start modal-css-vars
|
12
|
+
--#{$prefix}modal-zindex: #{$zindex-modal};
|
13
|
+
--#{$prefix}modal-width: #{$modal-md};
|
14
|
+
--#{$prefix}modal-padding: #{$modal-inner-padding};
|
15
|
+
--#{$prefix}modal-margin: #{$modal-dialog-margin};
|
16
|
+
--#{$prefix}modal-color: #{$modal-content-color};
|
17
|
+
--#{$prefix}modal-bg: #{$modal-content-bg};
|
18
|
+
--#{$prefix}modal-border-color: #{$modal-content-border-color};
|
19
|
+
--#{$prefix}modal-border-width: #{$modal-content-border-width};
|
20
|
+
--#{$prefix}modal-border-radius: #{$modal-content-border-radius};
|
21
|
+
--#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};
|
22
|
+
--#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};
|
23
|
+
--#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};
|
24
|
+
--#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};
|
25
|
+
--#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y
|
26
|
+
--#{$prefix}modal-header-border-color: #{$modal-header-border-color};
|
27
|
+
--#{$prefix}modal-header-border-width: #{$modal-header-border-width};
|
28
|
+
--#{$prefix}modal-title-line-height: #{$modal-title-line-height};
|
29
|
+
--#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};
|
30
|
+
--#{$prefix}modal-footer-bg: #{$modal-footer-bg};
|
31
|
+
--#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};
|
32
|
+
--#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};
|
33
|
+
// scss-docs-end modal-css-vars
|
34
|
+
|
9
35
|
position: fixed;
|
10
36
|
top: 0;
|
11
37
|
left: 0;
|
12
|
-
z-index: $zindex
|
38
|
+
z-index: var(--#{$prefix}modal-zindex);
|
13
39
|
display: none;
|
14
40
|
width: 100%;
|
15
41
|
height: 100%;
|
@@ -27,7 +53,7 @@
|
|
27
53
|
.modal-dialog {
|
28
54
|
position: relative;
|
29
55
|
width: auto;
|
30
|
-
margin: $modal-
|
56
|
+
margin: var(--#{$prefix}modal-margin);
|
31
57
|
// allow clicks to pass through for custom click handling to close modal
|
32
58
|
pointer-events: none;
|
33
59
|
|
@@ -47,7 +73,7 @@
|
|
47
73
|
}
|
48
74
|
|
49
75
|
.modal-dialog-scrollable {
|
50
|
-
height:
|
76
|
+
height: calc(100% - var(--#{$prefix}modal-margin) * 2);
|
51
77
|
|
52
78
|
.modal-content {
|
53
79
|
max-height: 100%;
|
@@ -62,7 +88,7 @@
|
|
62
88
|
.modal-dialog-centered {
|
63
89
|
display: flex;
|
64
90
|
align-items: center;
|
65
|
-
min-height:
|
91
|
+
min-height: calc(100% - var(--#{$prefix}modal-margin) * 2);
|
66
92
|
}
|
67
93
|
|
68
94
|
// Actual modal
|
@@ -72,20 +98,26 @@
|
|
72
98
|
flex-direction: column;
|
73
99
|
width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`
|
74
100
|
// counteract the pointer-events: none; in the .modal-dialog
|
75
|
-
color: $modal-
|
101
|
+
color: var(--#{$prefix}modal-color);
|
76
102
|
pointer-events: auto;
|
77
|
-
background-color: $modal-
|
103
|
+
background-color: var(--#{$prefix}modal-bg);
|
78
104
|
background-clip: padding-box;
|
79
|
-
border: $modal-
|
80
|
-
@include border-radius($modal-
|
81
|
-
@include box-shadow($modal-
|
105
|
+
border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);
|
106
|
+
@include border-radius(var(--#{$prefix}modal-border-radius));
|
107
|
+
@include box-shadow(var(--#{$prefix}modal-box-shadow));
|
82
108
|
// Remove focus outline from opened modal
|
83
109
|
outline: 0;
|
84
110
|
}
|
85
111
|
|
86
112
|
// Modal background
|
87
113
|
.modal-backdrop {
|
88
|
-
|
114
|
+
// scss-docs-start modal-backdrop-css-vars
|
115
|
+
--#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};
|
116
|
+
--#{$prefix}backdrop-bg: #{$modal-backdrop-bg};
|
117
|
+
--#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};
|
118
|
+
// scss-docs-end modal-backdrop-css-vars
|
119
|
+
|
120
|
+
@include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));
|
89
121
|
}
|
90
122
|
|
91
123
|
// Modal header
|
@@ -94,21 +126,20 @@
|
|
94
126
|
display: flex;
|
95
127
|
flex-shrink: 0;
|
96
128
|
align-items: center;
|
97
|
-
|
98
|
-
|
99
|
-
border-
|
100
|
-
@include border-top-radius($modal-content-inner-border-radius);
|
129
|
+
padding: var(--#{$prefix}modal-header-padding);
|
130
|
+
border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);
|
131
|
+
@include border-top-radius(var(--#{$prefix}modal-inner-border-radius));
|
101
132
|
|
102
133
|
.btn-close {
|
103
|
-
padding: ($modal-header-padding-y * .5) ($modal-header-padding-x * .5);
|
104
|
-
margin: ($modal-header-padding-y
|
134
|
+
padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);
|
135
|
+
margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto;
|
105
136
|
}
|
106
137
|
}
|
107
138
|
|
108
139
|
// Title text within header
|
109
140
|
.modal-title {
|
110
141
|
margin-bottom: 0;
|
111
|
-
line-height: $modal-title-line-height;
|
142
|
+
line-height: var(--#{$prefix}modal-title-line-height);
|
112
143
|
}
|
113
144
|
|
114
145
|
// Modal body
|
@@ -118,60 +149,59 @@
|
|
118
149
|
// Enable `flex-grow: 1` so that the body take up as much space as possible
|
119
150
|
// when there should be a fixed height on `.modal-dialog`.
|
120
151
|
flex: 1 1 auto;
|
121
|
-
padding: $modal-
|
152
|
+
padding: var(--#{$prefix}modal-padding);
|
122
153
|
}
|
123
154
|
|
124
155
|
// Footer (for actions)
|
125
156
|
.modal-footer {
|
126
157
|
display: flex;
|
127
|
-
flex-wrap: wrap;
|
128
158
|
flex-shrink: 0;
|
159
|
+
flex-wrap: wrap;
|
129
160
|
align-items: center; // vertically center
|
130
161
|
justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
|
131
|
-
padding: $modal-
|
132
|
-
|
133
|
-
|
162
|
+
padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * .5);
|
163
|
+
background-color: var(--#{$prefix}modal-footer-bg);
|
164
|
+
border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);
|
165
|
+
@include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius));
|
134
166
|
|
135
167
|
// Place margin between footer elements
|
136
168
|
// This solution is far from ideal because of the universal selector usage,
|
137
169
|
// but is needed to fix https://github.com/twbs/bootstrap/issues/24800
|
138
170
|
> * {
|
139
|
-
margin: $modal-footer-
|
171
|
+
margin: calc(var(--#{$prefix}modal-footer-gap) * .5); // Todo in v6: replace with gap on parent class
|
140
172
|
}
|
141
173
|
}
|
142
174
|
|
143
175
|
// Scale up the modal
|
144
176
|
@include media-breakpoint-up(sm) {
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
margin: $modal-dialog-margin-y-sm-up auto;
|
177
|
+
.modal {
|
178
|
+
--#{$prefix}modal-margin: #{$modal-dialog-margin-y-sm-up};
|
179
|
+
--#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-sm-up};
|
149
180
|
}
|
150
181
|
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
|
182
|
+
// Automatically set modal's width for larger viewports
|
183
|
+
.modal-dialog {
|
184
|
+
max-width: var(--#{$prefix}modal-width);
|
185
|
+
margin-right: auto;
|
186
|
+
margin-left: auto;
|
157
187
|
}
|
158
188
|
|
159
|
-
.modal-
|
160
|
-
|
189
|
+
.modal-sm {
|
190
|
+
--#{$prefix}modal-width: #{$modal-sm};
|
161
191
|
}
|
162
|
-
|
163
|
-
.modal-sm { max-width: $modal-sm; }
|
164
192
|
}
|
165
193
|
|
166
194
|
@include media-breakpoint-up(lg) {
|
167
195
|
.modal-lg,
|
168
196
|
.modal-xl {
|
169
|
-
|
197
|
+
--#{$prefix}modal-width: #{$modal-lg};
|
170
198
|
}
|
171
199
|
}
|
172
200
|
|
173
201
|
@include media-breakpoint-up(xl) {
|
174
|
-
.modal-xl {
|
202
|
+
.modal-xl {
|
203
|
+
--#{$prefix}modal-width: #{$modal-xl};
|
204
|
+
}
|
175
205
|
}
|
176
206
|
|
177
207
|
// scss-docs-start modal-fullscreen-loop
|
@@ -192,17 +222,14 @@
|
|
192
222
|
@include border-radius(0);
|
193
223
|
}
|
194
224
|
|
195
|
-
.modal-header
|
225
|
+
.modal-header,
|
226
|
+
.modal-footer {
|
196
227
|
@include border-radius(0);
|
197
228
|
}
|
198
229
|
|
199
230
|
.modal-body {
|
200
231
|
overflow-y: auto;
|
201
232
|
}
|
202
|
-
|
203
|
-
.modal-footer {
|
204
|
-
@include border-radius(0);
|
205
|
-
}
|
206
233
|
}
|
207
234
|
}
|
208
235
|
}
|