jekyll-theme-petridish 3.0 → 3.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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/_config.yml +5 -4
  3. data/_data/team.yml +3 -1
  4. data/_includes/footer.html +45 -23
  5. data/_includes/head.html +5 -5
  6. data/_includes/header.html +1 -1
  7. data/_includes/navbar.html +2 -2
  8. data/_layouts/home.html +10 -32
  9. data/_layouts/team.html +20 -8
  10. data/_sass/bootstrap/_accordion.scss +73 -33
  11. data/_sass/bootstrap/_alert.scss +25 -14
  12. data/_sass/bootstrap/_badge.scss +14 -5
  13. data/_sass/bootstrap/_breadcrumb.scss +22 -10
  14. data/_sass/bootstrap/_button-group.scss +6 -3
  15. data/_sass/bootstrap/_buttons.scss +133 -28
  16. data/_sass/bootstrap/_card.scss +60 -37
  17. data/_sass/bootstrap/_carousel.scss +22 -15
  18. data/_sass/bootstrap/_close.scss +33 -10
  19. data/_sass/bootstrap/_containers.scss +1 -1
  20. data/_sass/bootstrap/_dropdown.scss +86 -76
  21. data/_sass/bootstrap/_functions.scss +10 -10
  22. data/_sass/bootstrap/_grid.scss +9 -3
  23. data/_sass/bootstrap/_helpers.scss +3 -0
  24. data/_sass/bootstrap/_list-group.scss +60 -37
  25. data/_sass/bootstrap/_maps.scss +174 -0
  26. data/_sass/bootstrap/_mixins.scss +1 -2
  27. data/_sass/bootstrap/_modal.scss +71 -44
  28. data/_sass/bootstrap/_nav.scss +86 -28
  29. data/_sass/bootstrap/_navbar.scss +101 -147
  30. data/_sass/bootstrap/_offcanvas.scss +121 -61
  31. data/_sass/bootstrap/_pagination.scss +66 -21
  32. data/_sass/bootstrap/_placeholders.scss +1 -1
  33. data/_sass/bootstrap/_popover.scss +90 -52
  34. data/_sass/bootstrap/_progress.scss +30 -10
  35. data/_sass/bootstrap/_reboot.scss +31 -45
  36. data/_sass/bootstrap/_root.scss +155 -22
  37. data/_sass/bootstrap/_spinners.scss +38 -22
  38. data/_sass/bootstrap/_tables.scss +40 -24
  39. data/_sass/bootstrap/_toasts.scss +38 -16
  40. data/_sass/bootstrap/_tooltip.scss +60 -56
  41. data/_sass/bootstrap/_type.scss +2 -0
  42. data/_sass/bootstrap/_utilities.scss +209 -33
  43. data/_sass/bootstrap/_variables-dark.scss +87 -0
  44. data/_sass/bootstrap/_variables.scss +404 -294
  45. data/_sass/bootstrap/bootstrap-grid.scss +4 -9
  46. data/_sass/bootstrap/bootstrap-reboot.scss +4 -7
  47. data/_sass/bootstrap/bootstrap-utilities.scss +7 -6
  48. data/_sass/bootstrap/bootstrap.scss +5 -6
  49. data/_sass/bootstrap/forms/_floating-labels.scss +37 -5
  50. data/_sass/bootstrap/forms/_form-check.scss +51 -14
  51. data/_sass/bootstrap/forms/_form-control.scss +36 -41
  52. data/_sass/bootstrap/forms/_form-range.scss +3 -3
  53. data/_sass/bootstrap/forms/_form-select.scss +12 -4
  54. data/_sass/bootstrap/forms/_input-group.scss +20 -9
  55. data/_sass/bootstrap/helpers/_color-bg.scss +7 -0
  56. data/_sass/bootstrap/helpers/_colored-links.scss +20 -2
  57. data/_sass/bootstrap/helpers/_focus-ring.scss +5 -0
  58. data/_sass/bootstrap/helpers/_icon-link.scss +25 -0
  59. data/_sass/bootstrap/helpers/_position.scss +7 -1
  60. data/_sass/bootstrap/helpers/_ratio.scss +2 -2
  61. data/_sass/bootstrap/helpers/_vr.scss +2 -2
  62. data/_sass/bootstrap/mixins/_alert.scss +11 -4
  63. data/_sass/bootstrap/mixins/_banner.scss +7 -0
  64. data/_sass/bootstrap/mixins/_breakpoints.scss +8 -8
  65. data/_sass/bootstrap/mixins/_buttons.scss +32 -95
  66. data/_sass/bootstrap/mixins/_caret.scss +30 -25
  67. data/_sass/bootstrap/mixins/_color-mode.scss +21 -0
  68. data/_sass/bootstrap/mixins/_container.scss +4 -2
  69. data/_sass/bootstrap/mixins/_forms.scss +38 -19
  70. data/_sass/bootstrap/mixins/_gradients.scss +1 -1
  71. data/_sass/bootstrap/mixins/_grid.scss +14 -14
  72. data/_sass/bootstrap/mixins/_list-group.scss +2 -0
  73. data/_sass/bootstrap/mixins/_pagination.scss +4 -25
  74. data/_sass/bootstrap/mixins/_reset-text.scss +1 -1
  75. data/_sass/bootstrap/mixins/_table-variants.scss +12 -9
  76. data/_sass/bootstrap/mixins/_utilities.scss +14 -6
  77. data/_sass/bootstrap/mixins/_visually-hidden.scss +5 -1
  78. data/_sass/bootstrap/vendor/_rfs.scss +23 -29
  79. data/assets/theme/css/fontawesome-all.min.css +6 -2
  80. data/assets/theme/js/bootstrap.min.js +3 -3
  81. data/assets/theme/js/bootstrap.min.js.map +1 -1
  82. data/assets/theme/js/jquery.min.js +2 -2
  83. data/assets/theme/js/popper.min.js +2 -2
  84. data/assets/theme/js/popper.min.js.map +1 -1
  85. data/assets/theme/webfonts/fa-brands-400.ttf +0 -0
  86. data/assets/theme/webfonts/fa-brands-400.woff2 +0 -0
  87. data/assets/theme/webfonts/fa-regular-400.ttf +0 -0
  88. data/assets/theme/webfonts/fa-regular-400.woff2 +0 -0
  89. data/assets/theme/webfonts/fa-solid-900.ttf +0 -0
  90. data/assets/theme/webfonts/fa-solid-900.woff2 +0 -0
  91. data/assets/theme/webfonts/fa-v4compatibility.ttf +0 -0
  92. data/assets/theme/webfonts/fa-v4compatibility.woff2 +0 -0
  93. metadata +12 -17
  94. data/assets/theme/css/academicons.min.css +0 -1
  95. data/assets/theme/fonts/academicons.eot +0 -0
  96. data/assets/theme/fonts/academicons.svg +0 -1663
  97. data/assets/theme/fonts/academicons.ttf +0 -0
  98. data/assets/theme/fonts/academicons.woff +0 -0
  99. data/assets/theme/webfonts/fa-brands-400.eot +0 -0
  100. data/assets/theme/webfonts/fa-brands-400.svg +0 -3717
  101. data/assets/theme/webfonts/fa-brands-400.woff +0 -0
  102. data/assets/theme/webfonts/fa-regular-400.eot +0 -0
  103. data/assets/theme/webfonts/fa-regular-400.svg +0 -801
  104. data/assets/theme/webfonts/fa-regular-400.woff +0 -0
  105. data/assets/theme/webfonts/fa-solid-900.eot +0 -0
  106. data/assets/theme/webfonts/fa-solid-900.svg +0 -5034
  107. data/assets/theme/webfonts/fa-solid-900.woff +0 -0
@@ -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-modal;
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-dialog-margin;
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: subtract(100%, $modal-dialog-margin * 2);
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: subtract(100%, $modal-dialog-margin * 2);
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-content-color;
101
+ color: var(--#{$prefix}modal-color);
76
102
  pointer-events: auto;
77
- background-color: $modal-content-bg;
103
+ background-color: var(--#{$prefix}modal-bg);
78
104
  background-clip: padding-box;
79
- border: $modal-content-border-width solid $modal-content-border-color;
80
- @include border-radius($modal-content-border-radius);
81
- @include box-shadow($modal-content-box-shadow-xs);
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
- @include overlay-backdrop($zindex-modal-backdrop, $modal-backdrop-bg, $modal-backdrop-opacity);
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
- justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
98
- padding: $modal-header-padding;
99
- border-bottom: $modal-header-border-width solid $modal-header-border-color;
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 * -.5) ($modal-header-padding-x * -.5) ($modal-header-padding-y * -.5) auto;
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-inner-padding;
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-inner-padding - $modal-footer-margin-between * .5;
132
- border-top: $modal-footer-border-width solid $modal-footer-border-color;
133
- @include border-bottom-radius($modal-content-inner-border-radius);
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-margin-between * .5;
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
- // Automatically set modal's width for larger viewports
146
- .modal-dialog {
147
- max-width: $modal-md;
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
- .modal-dialog-scrollable {
152
- height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
153
- }
154
-
155
- .modal-dialog-centered {
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-content {
160
- @include box-shadow($modal-content-box-shadow-sm-up);
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
- max-width: $modal-lg;
197
+ --#{$prefix}modal-width: #{$modal-lg};
170
198
  }
171
199
  }
172
200
 
173
201
  @include media-breakpoint-up(xl) {
174
- .modal-xl { max-width: $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
  }
@@ -4,6 +4,16 @@
4
4
  // `<nav>`s, `<ul>`s or `<ol>`s.
5
5
 
6
6
  .nav {
7
+ // scss-docs-start nav-css-vars
8
+ --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};
9
+ --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};
10
+ @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);
11
+ --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
12
+ --#{$prefix}nav-link-color: #{$nav-link-color};
13
+ --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};
14
+ --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};
15
+ // scss-docs-end nav-css-vars
16
+
7
17
  display: flex;
8
18
  flex-wrap: wrap;
9
19
  padding-left: 0;
@@ -13,22 +23,30 @@
13
23
 
14
24
  .nav-link {
15
25
  display: block;
16
- padding: $nav-link-padding-y $nav-link-padding-x;
17
- @include font-size($nav-link-font-size);
18
- font-weight: $nav-link-font-weight;
19
- color: $nav-link-color;
26
+ padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);
27
+ @include font-size(var(--#{$prefix}nav-link-font-size));
28
+ font-weight: var(--#{$prefix}nav-link-font-weight);
29
+ color: var(--#{$prefix}nav-link-color);
20
30
  text-decoration: if($link-decoration == none, null, none);
31
+ background: none;
32
+ border: 0;
21
33
  @include transition($nav-link-transition);
22
34
 
23
35
  &:hover,
24
36
  &:focus {
25
- color: $nav-link-hover-color;
37
+ color: var(--#{$prefix}nav-link-hover-color);
26
38
  text-decoration: if($link-hover-decoration == underline, none, null);
27
39
  }
28
40
 
41
+ &:focus-visible {
42
+ outline: 0;
43
+ box-shadow: $nav-link-focus-box-shadow;
44
+ }
45
+
29
46
  // Disabled state lightens text
30
- &.disabled {
31
- color: $nav-link-disabled-color;
47
+ &.disabled,
48
+ &:disabled {
49
+ color: var(--#{$prefix}nav-link-disabled-color);
32
50
  pointer-events: none;
33
51
  cursor: default;
34
52
  }
@@ -39,38 +57,41 @@
39
57
  //
40
58
 
41
59
  .nav-tabs {
42
- border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
60
+ // scss-docs-start nav-tabs-css-vars
61
+ --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};
62
+ --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};
63
+ --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};
64
+ --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
65
+ --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
66
+ --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};
67
+ --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};
68
+ // scss-docs-end nav-tabs-css-vars
69
+
70
+ border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
43
71
 
44
72
  .nav-link {
45
- margin-bottom: -$nav-tabs-border-width;
46
- background: none;
47
- border: $nav-tabs-border-width solid transparent;
48
- @include border-top-radius($nav-tabs-border-radius);
73
+ margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
74
+ border: var(--#{$prefix}nav-tabs-border-width) solid transparent;
75
+ @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));
49
76
 
50
77
  &:hover,
51
78
  &:focus {
52
- border-color: $nav-tabs-link-hover-border-color;
53
79
  // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link
54
80
  isolation: isolate;
55
- }
56
-
57
- &.disabled {
58
- color: $nav-link-disabled-color;
59
- background-color: transparent;
60
- border-color: transparent;
81
+ border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);
61
82
  }
62
83
  }
63
84
 
64
85
  .nav-link.active,
65
86
  .nav-item.show .nav-link {
66
- color: $nav-tabs-link-active-color;
67
- background-color: $nav-tabs-link-active-bg;
68
- border-color: $nav-tabs-link-active-border-color;
87
+ color: var(--#{$prefix}nav-tabs-link-active-color);
88
+ background-color: var(--#{$prefix}nav-tabs-link-active-bg);
89
+ border-color: var(--#{$prefix}nav-tabs-link-active-border-color);
69
90
  }
70
91
 
71
92
  .dropdown-menu {
72
93
  // Make dropdown border overlap tab border
73
- margin-top: -$nav-tabs-border-width;
94
+ margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
74
95
  // Remove the top rounded corners here since there is a hard edge above the menu
75
96
  @include border-top-radius(0);
76
97
  }
@@ -82,16 +103,53 @@
82
103
  //
83
104
 
84
105
  .nav-pills {
106
+ // scss-docs-start nav-pills-css-vars
107
+ --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};
108
+ --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};
109
+ --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};
110
+ // scss-docs-end nav-pills-css-vars
111
+
112
+ .nav-link {
113
+ @include border-radius(var(--#{$prefix}nav-pills-border-radius));
114
+ }
115
+
116
+ .nav-link.active,
117
+ .show > .nav-link {
118
+ color: var(--#{$prefix}nav-pills-link-active-color);
119
+ @include gradient-bg(var(--#{$prefix}nav-pills-link-active-bg));
120
+ }
121
+ }
122
+
123
+
124
+ //
125
+ // Underline
126
+ //
127
+
128
+ .nav-underline {
129
+ // scss-docs-start nav-underline-css-vars
130
+ --#{$prefix}nav-underline-gap: #{$nav-underline-gap};
131
+ --#{$prefix}nav-underline-border-width: #{$nav-underline-border-width};
132
+ --#{$prefix}nav-underline-link-active-color: #{$nav-underline-link-active-color};
133
+ // scss-docs-end nav-underline-css-vars
134
+
135
+ gap: var(--#{$prefix}nav-underline-gap);
136
+
85
137
  .nav-link {
86
- background: none;
87
- border: 0;
88
- @include border-radius($nav-pills-border-radius);
138
+ padding-right: 0;
139
+ padding-left: 0;
140
+ border-bottom: var(--#{$prefix}nav-underline-border-width) solid transparent;
141
+
142
+ &:hover,
143
+ &:focus {
144
+ border-bottom-color: currentcolor;
145
+ }
89
146
  }
90
147
 
91
148
  .nav-link.active,
92
149
  .show > .nav-link {
93
- color: $nav-pills-link-active-color;
94
- @include gradient-bg($nav-pills-link-active-bg);
150
+ font-weight: $font-weight-bold;
151
+ color: var(--#{$prefix}nav-underline-link-active-color);
152
+ border-bottom-color: currentcolor;
95
153
  }
96
154
  }
97
155