@coreui/coreui 4.1.5 → 4.2.1

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 (203) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +64 -11
  3. package/dist/css/coreui-grid.css +23 -949
  4. package/dist/css/coreui-grid.css.map +1 -1
  5. package/dist/css/coreui-grid.min.css +3 -3
  6. package/dist/css/coreui-grid.min.css.map +1 -1
  7. package/dist/css/coreui-grid.rtl.css +25 -951
  8. package/dist/css/coreui-grid.rtl.css.map +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css +5 -5
  10. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  11. package/dist/css/coreui-reboot.css +35 -42
  12. package/dist/css/coreui-reboot.css.map +1 -1
  13. package/dist/css/coreui-reboot.min.css +3 -3
  14. package/dist/css/coreui-reboot.min.css.map +1 -1
  15. package/dist/css/coreui-reboot.rtl.css +36 -44
  16. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  17. package/dist/css/coreui-reboot.rtl.min.css +5 -5
  18. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  19. package/dist/css/coreui-utilities.css +279 -951
  20. package/dist/css/coreui-utilities.css.map +1 -1
  21. package/dist/css/coreui-utilities.min.css +3 -3
  22. package/dist/css/coreui-utilities.min.css.map +1 -1
  23. package/dist/css/coreui-utilities.rtl.css +275 -953
  24. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  25. package/dist/css/coreui-utilities.rtl.min.css +5 -5
  26. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  27. package/dist/css/coreui.css +2179 -2259
  28. package/dist/css/coreui.css.map +1 -1
  29. package/dist/css/coreui.min.css +3 -3
  30. package/dist/css/coreui.min.css.map +1 -1
  31. package/dist/css/coreui.rtl.css +2166 -2253
  32. package/dist/css/coreui.rtl.css.map +1 -1
  33. package/dist/css/coreui.rtl.min.css +5 -5
  34. package/dist/css/coreui.rtl.min.css.map +1 -1
  35. package/dist/js/coreui.bundle.js +2095 -1906
  36. package/dist/js/coreui.bundle.js.map +1 -1
  37. package/dist/js/coreui.bundle.min.js +2 -2
  38. package/dist/js/coreui.bundle.min.js.map +1 -1
  39. package/dist/js/coreui.esm.js +2098 -1909
  40. package/dist/js/coreui.esm.js.map +1 -1
  41. package/dist/js/coreui.esm.min.js +2 -2
  42. package/dist/js/coreui.esm.min.js.map +1 -1
  43. package/dist/js/coreui.js +2099 -1910
  44. package/dist/js/coreui.js.map +1 -1
  45. package/dist/js/coreui.min.js +2 -2
  46. package/dist/js/coreui.min.js.map +1 -1
  47. package/js/dist/alert.js +10 -148
  48. package/js/dist/alert.js.map +1 -1
  49. package/js/dist/base-component.js +36 -122
  50. package/js/dist/base-component.js.map +1 -1
  51. package/js/dist/button.js +9 -76
  52. package/js/dist/button.js.map +1 -1
  53. package/js/dist/carousel.js +212 -507
  54. package/js/dist/carousel.js.map +1 -1
  55. package/js/dist/collapse.js +64 -251
  56. package/js/dist/collapse.js.map +1 -1
  57. package/js/dist/dom/data.js +2 -4
  58. package/js/dist/dom/data.js.map +1 -1
  59. package/js/dist/dom/event-handler.js +82 -133
  60. package/js/dist/dom/event-handler.js.map +1 -1
  61. package/js/dist/dom/manipulator.js +22 -26
  62. package/js/dist/dom/manipulator.js.map +1 -1
  63. package/js/dist/dom/selector-engine.js +16 -81
  64. package/js/dist/dom/selector-engine.js.map +1 -1
  65. package/js/dist/dropdown.js +99 -338
  66. package/js/dist/dropdown.js.map +1 -1
  67. package/js/dist/modal.js +106 -774
  68. package/js/dist/modal.js.map +1 -1
  69. package/js/dist/navigation.js +309 -0
  70. package/js/dist/navigation.js.map +1 -0
  71. package/js/dist/offcanvas.js +88 -680
  72. package/js/dist/offcanvas.js.map +1 -1
  73. package/js/dist/popover.js +35 -120
  74. package/js/dist/popover.js.map +1 -1
  75. package/js/dist/scrollspy.js +178 -264
  76. package/js/dist/scrollspy.js.map +1 -1
  77. package/js/dist/sidebar.js +347 -0
  78. package/js/dist/sidebar.js.map +1 -0
  79. package/js/dist/tab.js +226 -216
  80. package/js/dist/tab.js.map +1 -1
  81. package/js/dist/toast.js +27 -216
  82. package/js/dist/toast.js.map +1 -1
  83. package/js/dist/tooltip.js +271 -618
  84. package/js/dist/tooltip.js.map +1 -1
  85. package/js/dist/util/backdrop.js +166 -0
  86. package/js/dist/util/backdrop.js.map +1 -0
  87. package/js/dist/util/component-functions.js +47 -0
  88. package/js/dist/util/component-functions.js.map +1 -0
  89. package/js/dist/util/config.js +80 -0
  90. package/js/dist/util/config.js.map +1 -0
  91. package/js/dist/util/focustrap.js +130 -0
  92. package/js/dist/util/focustrap.js.map +1 -0
  93. package/js/dist/util/index.js +354 -0
  94. package/js/dist/util/index.js.map +1 -0
  95. package/js/dist/util/sanitizer.js +126 -0
  96. package/js/dist/util/sanitizer.js.map +1 -0
  97. package/js/dist/util/scrollbar.js +139 -0
  98. package/js/dist/util/scrollbar.js.map +1 -0
  99. package/js/dist/util/swipe.js +156 -0
  100. package/js/dist/util/swipe.js.map +1 -0
  101. package/js/dist/util/template-factory.js +178 -0
  102. package/js/dist/util/template-factory.js.map +1 -0
  103. package/js/src/alert.js +3 -15
  104. package/js/src/base-component.js +28 -18
  105. package/js/src/button.js +3 -15
  106. package/js/src/carousel.js +203 -320
  107. package/js/src/collapse.js +61 -94
  108. package/js/src/dom/data.js +1 -3
  109. package/js/src/dom/event-handler.js +74 -107
  110. package/js/src/dom/manipulator.js +22 -31
  111. package/js/src/dom/selector-engine.js +10 -19
  112. package/js/src/dropdown.js +84 -138
  113. package/js/src/modal.js +94 -158
  114. package/js/src/navigation.js +12 -13
  115. package/js/src/offcanvas.js +71 -60
  116. package/js/src/popover.js +31 -62
  117. package/js/src/scrollspy.js +166 -171
  118. package/js/src/sidebar.js +5 -8
  119. package/js/src/tab.js +201 -110
  120. package/js/src/toast.js +19 -41
  121. package/js/src/tooltip.js +264 -374
  122. package/js/src/util/backdrop.js +55 -36
  123. package/js/src/util/component-functions.js +1 -1
  124. package/js/src/util/config.js +66 -0
  125. package/js/src/util/focustrap.js +38 -28
  126. package/js/src/util/index.js +41 -57
  127. package/js/src/util/sanitizer.js +9 -17
  128. package/js/src/util/scrollbar.js +47 -30
  129. package/js/src/util/swipe.js +146 -0
  130. package/js/src/util/template-factory.js +160 -0
  131. package/package.json +40 -40
  132. package/scss/_accordion.scss +53 -25
  133. package/scss/_alert.scss +29 -9
  134. package/scss/_badge.scss +15 -6
  135. package/scss/_breadcrumb.scss +23 -11
  136. package/scss/_button-group.scss +3 -0
  137. package/scss/_buttons.scss +77 -50
  138. package/scss/_callout.scss +18 -6
  139. package/scss/_card.scss +55 -37
  140. package/scss/_carousel.scss +6 -6
  141. package/scss/_close.scss +4 -4
  142. package/scss/_containers.scss +1 -1
  143. package/scss/_dropdown.scss +86 -64
  144. package/scss/_footer.scss +15 -5
  145. package/scss/_functions.scss +11 -24
  146. package/scss/_grid.scss +3 -3
  147. package/scss/_header.scss +59 -34
  148. package/scss/_helpers.scss +1 -0
  149. package/scss/_images.scss +3 -3
  150. package/scss/_list-group.scss +47 -29
  151. package/scss/_maps.scss +54 -0
  152. package/scss/_modal.scss +70 -43
  153. package/scss/_nav.scss +53 -20
  154. package/scss/_navbar.scss +84 -94
  155. package/scss/_offcanvas.scss +120 -60
  156. package/scss/_pagination.scss +66 -21
  157. package/scss/_popover.scss +90 -52
  158. package/scss/_progress.scss +20 -9
  159. package/scss/_reboot.scss +31 -58
  160. package/scss/_root.scss +41 -21
  161. package/scss/_spinners.scss +37 -21
  162. package/scss/_subheader.scss +9 -9
  163. package/scss/_tables.scss +34 -36
  164. package/scss/_toasts.scss +35 -19
  165. package/scss/_tooltip.scss +61 -56
  166. package/scss/_utilities.scss +42 -27
  167. package/scss/_variables.scss +169 -148
  168. package/scss/coreui-grid.rtl.scss +2 -2
  169. package/scss/coreui-grid.scss +3 -2
  170. package/scss/coreui-reboot.rtl.scss +2 -2
  171. package/scss/coreui-reboot.scss +2 -2
  172. package/scss/coreui-utilities.rtl.scss +2 -2
  173. package/scss/coreui-utilities.scss +3 -2
  174. package/scss/coreui.rtl.scss +2 -2
  175. package/scss/coreui.scss +3 -2
  176. package/scss/forms/_floating-labels.scss +14 -3
  177. package/scss/forms/_form-check.scss +42 -19
  178. package/scss/forms/_form-control.scss +25 -50
  179. package/scss/forms/_form-range.scss +8 -8
  180. package/scss/forms/_form-select.scss +8 -8
  181. package/scss/forms/_form-text.scss +1 -1
  182. package/scss/forms/_input-group.scss +3 -3
  183. package/scss/forms/_labels.scss +2 -2
  184. package/scss/helpers/_color-bg.scss +10 -0
  185. package/scss/helpers/_colored-links.scss +2 -2
  186. package/scss/helpers/_position.scss +7 -1
  187. package/scss/helpers/_ratio.scss +2 -2
  188. package/scss/helpers/_vr.scss +1 -0
  189. package/scss/mixins/_alert.scss +10 -10
  190. package/scss/mixins/_breakpoints.scss +8 -8
  191. package/scss/mixins/_buttons.scss +45 -47
  192. package/scss/mixins/_container.scss +4 -2
  193. package/scss/mixins/_css-vars.scss +47 -47
  194. package/scss/mixins/_forms.scss +8 -0
  195. package/scss/mixins/_gradients.scss +1 -1
  196. package/scss/mixins/_grid.scss +11 -11
  197. package/scss/mixins/_list-group.scss +7 -9
  198. package/scss/mixins/_pagination.scss +4 -25
  199. package/scss/mixins/_table-variants.scss +20 -12
  200. package/scss/mixins/_utilities.scss +8 -3
  201. package/scss/sidebar/_sidebar-narrow.scss +10 -10
  202. package/scss/sidebar/_sidebar-nav.scss +33 -32
  203. package/scss/sidebar/_sidebar.scss +110 -56
@@ -16,7 +16,7 @@
16
16
  z-index: $zindex-fixed;
17
17
  }
18
18
 
19
- // Responsive sticky top
19
+ // Responsive sticky top and bottom
20
20
  @each $breakpoint in map-keys($grid-breakpoints) {
21
21
  @include media-breakpoint-up($breakpoint) {
22
22
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@@ -26,5 +26,11 @@
26
26
  top: 0;
27
27
  z-index: $zindex-sticky;
28
28
  }
29
+
30
+ .sticky#{$infix}-bottom {
31
+ position: sticky;
32
+ bottom: 0;
33
+ z-index: $zindex-sticky;
34
+ }
29
35
  }
30
36
  }
@@ -6,7 +6,7 @@
6
6
 
7
7
  &::before {
8
8
  display: block;
9
- padding-top: var(--#{$variable-prefix}aspect-ratio);
9
+ padding-top: var(--#{$prefix}aspect-ratio);
10
10
  content: "";
11
11
  }
12
12
 
@@ -21,6 +21,6 @@
21
21
 
22
22
  @each $key, $ratio in $aspect-ratios {
23
23
  .ratio-#{$key} {
24
- --#{$variable-prefix}aspect-ratio: #{$ratio};
24
+ --#{$prefix}aspect-ratio: #{$ratio};
25
25
  }
26
26
  }
@@ -3,6 +3,7 @@
3
3
  align-self: stretch;
4
4
  width: 1px;
5
5
  min-height: 1em;
6
+ padding: 0;
6
7
  background-color: currentColor;
7
8
  opacity: $hr-opacity;
8
9
  }
@@ -1,15 +1,15 @@
1
1
  // scss-docs-start alert-variant-mixin
2
- @mixin alert-variant($state, $variant) {
3
- $background: map-get($variant, "bg");
4
- $border-color: map-get($variant, "border-color");
5
- $color: contrast-ratio-correction(map-get($variant, "color"), map-get($variant, "bg"), abs($alert-color-scale), $state);
6
- $link-color: map-get($variant, "link-color");
2
+ @mixin alert-variant($background, $border, $color) {
3
+ --#{$prefix}alert-color: #{$color};
4
+ --#{$prefix}alert-bg: #{$background};
5
+ --#{$prefix}alert-border-color: #{$border};
7
6
 
8
- .alert-#{$state} {
9
- --#{$variable-prefix}alert-color: #{$color};
10
- --#{$variable-prefix}alert-bg: #{$background};
11
- --#{$variable-prefix}alert-border-color: #{$border-color};
12
- --#{$variable-prefix}alert-link-color: #{$link-color};
7
+ @if $enable-gradients {
8
+ background-image: var(--#{$prefix}gradient);
9
+ }
10
+
11
+ .alert-link {
12
+ color: shade-color($color, 20%);
13
13
  }
14
14
  }
15
15
  // scss-docs-end alert-variant-mixin
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // Breakpoints are defined as a map of (name: minimum width), order from small to large:
4
4
  //
5
- // (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
5
+ // (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)
6
6
  //
7
7
  // The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
8
8
 
@@ -10,9 +10,9 @@
10
10
  //
11
11
  // >> breakpoint-next(sm)
12
12
  // md
13
- // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
13
+ // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
14
14
  // md
15
- // >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
15
+ // >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))
16
16
  // md
17
17
  @function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
18
18
  $n: index($breakpoint-names, $name);
@@ -37,7 +37,7 @@
37
37
 
38
38
  // Minimum breakpoint width. Null for the smallest (first) breakpoint.
39
39
  //
40
- // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
40
+ // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
41
41
  // 576px
42
42
  @function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
43
43
  $min: map-get($breakpoints, $name);
@@ -51,7 +51,7 @@
51
51
  // Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
52
52
  // See https://bugs.webkit.org/show_bug.cgi?id=178261
53
53
  //
54
- // >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
54
+ // >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
55
55
  // 767.98px
56
56
  @function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
57
57
  $max: map-get($breakpoints, $name);
@@ -61,9 +61,9 @@
61
61
  // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
62
62
  // Useful for making responsive utilities.
63
63
  //
64
- // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
64
+ // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
65
65
  // "" (Returns a blank string)
66
- // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
66
+ // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
67
67
  // "-sm"
68
68
  @function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
69
69
  @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
@@ -122,7 +122,7 @@
122
122
  @mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
123
123
  $min: breakpoint-min($name, $breakpoints);
124
124
  $next: breakpoint-next($name, $breakpoints);
125
- $max: breakpoint-max($next);
125
+ $max: breakpoint-max($next, $breakpoints);
126
126
 
127
127
  @if $min != null and $max != null {
128
128
  @media (min-width: $min) and (max-width: $max) {
@@ -4,7 +4,7 @@
4
4
  // and disabled options for all buttons
5
5
 
6
6
  // scss-docs-start btn-variant-mixin
7
- @mixin button-variant($state, $variant) {
7
+ @mixin button-variant($variant) {
8
8
  $background: map-get($variant, "bg");
9
9
  $border-color: map-get($variant, "border-color");
10
10
  $color: map-get($variant, "color");
@@ -19,26 +19,25 @@
19
19
  $disabled-color: map-get($variant, "disabled-color");
20
20
  $shadow: map-get($variant, "shadow");
21
21
 
22
- .btn-#{$state} {
23
- --#{$variable-prefix}btn-bg: #{$background};
24
- --#{$variable-prefix}btn-border-color: #{$border-color};
25
- --#{$variable-prefix}btn-color: #{$color};
26
- --#{$variable-prefix}btn-hover-bg: #{$hover-background};
27
- --#{$variable-prefix}btn-hover-border-color: #{$hover-border-color};
28
- --#{$variable-prefix}btn-hover-color: #{$hover-color};
29
- --#{$variable-prefix}btn-active-bg: #{$active-background};
30
- --#{$variable-prefix}btn-active-border-color: #{$active-border-color};
31
- --#{$variable-prefix}btn-active-color: #{$active-color};
32
- --#{$variable-prefix}btn-disabled-bg: #{$disabled-background};
33
- --#{$variable-prefix}btn-disabled-border-color: #{$disabled-border-color};
34
- --#{$variable-prefix}btn-disabled-color: #{$disabled-color};
35
- --#{$variable-prefix}btn-shadow: #{$shadow};
36
- }
22
+ --#{$prefix}btn-color: #{$color};
23
+ --#{$prefix}btn-bg: #{$background};
24
+ --#{$prefix}btn-border-color: #{$border-color};
25
+ --#{$prefix}btn-hover-color: #{$hover-color};
26
+ --#{$prefix}btn-hover-bg: #{$hover-background};
27
+ --#{$prefix}btn-hover-border-color: #{$hover-border-color};
28
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border-color, 15%))};
29
+ --#{$prefix}btn-active-color: #{$active-color};
30
+ --#{$prefix}btn-active-bg: #{$active-background};
31
+ --#{$prefix}btn-active-border-color: #{$active-border-color};
32
+ --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
33
+ --#{$prefix}btn-disabled-color: #{$disabled-color};
34
+ --#{$prefix}btn-disabled-bg: #{$disabled-background};
35
+ --#{$prefix}btn-disabled-border-color: #{$disabled-border-color};
37
36
  }
38
37
  // scss-docs-end btn-variant-mixin
39
38
 
40
39
  // scss-docs-start btn-outline-variant-mixin
41
- @mixin button-outline-variant($state, $variant) {
40
+ @mixin button-outline-variant($variant) {
42
41
  $color: map-get($variant, "color");
43
42
  $hover-background: map-get($variant, "hover-bg");
44
43
  $hover-border-color: map-get($variant, "hover-border-color");
@@ -49,24 +48,24 @@
49
48
  $disabled-color: map-get($variant, "disabled-color");
50
49
  $shadow: map-get($variant, "shadow");
51
50
 
52
- .btn-outline-#{$state} {
53
- --#{$variable-prefix}btn-border-color: #{$color};
54
- --#{$variable-prefix}btn-color: #{$color};
55
- --#{$variable-prefix}btn-hover-bg: #{$hover-background};
56
- --#{$variable-prefix}btn-hover-border-color: #{$hover-border-color};
57
- --#{$variable-prefix}btn-hover-color: #{$hover-color};
58
- --#{$variable-prefix}btn-active-bg: #{$active-background};
59
- --#{$variable-prefix}btn-active-border-color: #{$active-border-color};
60
- --#{$variable-prefix}btn-active-color: #{$active-color};
61
- --#{$variable-prefix}btn-disabled-color: #{$disabled-color};
62
- --#{$variable-prefix}btn-shadow: #{$shadow};
63
- }
51
+ --#{$prefix}btn-color: #{$color};
52
+ --#{$prefix}btn-border-color: #{$color};
53
+ --#{$prefix}btn-hover-color: #{$hover-color};
54
+ --#{$prefix}btn-hover-bg: #{$active-background};
55
+ --#{$prefix}btn-hover-border-color: #{$active-border-color};
56
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};
57
+ --#{$prefix}btn-active-color: #{$active-color};
58
+ --#{$prefix}btn-active-bg: #{$active-background};
59
+ --#{$prefix}btn-active-border-color: #{$active-border-color};
60
+ --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
61
+ --#{$prefix}btn-disabled-color: #{$color};
62
+ --#{$prefix}btn-disabled-bg: transparent;
63
+ --#{$prefix}gradient: none;
64
64
  }
65
65
  // scss-docs-end btn-outline-variant-mixin
66
66
 
67
- // Button Ghost
68
-
69
- @mixin button-ghost-variant($state, $variant) {
67
+ // scss-docs-start btn-ghost-variant-mixin
68
+ @mixin button-ghost-variant($variant) {
70
69
  $color: map-get($variant, "color");
71
70
  $hover-background: map-get($variant, "hover-bg");
72
71
  $hover-border-color: map-get($variant, "hover-border-color");
@@ -77,25 +76,24 @@
77
76
  $disabled-color: map-get($variant, "disabled-color");
78
77
  $shadow: map-get($variant, "shadow");
79
78
 
80
- .btn-ghost-#{$state} {
81
- --#{$variable-prefix}btn-color: #{$color};
82
- --#{$variable-prefix}btn-hover-bg: #{$hover-background};
83
- --#{$variable-prefix}btn-hover-border-color: #{$hover-border-color};
84
- --#{$variable-prefix}btn-hover-color: #{$hover-color};
85
- --#{$variable-prefix}btn-active-bg: #{$active-background};
86
- --#{$variable-prefix}btn-active-border-color: #{$active-border-color};
87
- --#{$variable-prefix}btn-active-color: #{$active-color};
88
- --#{$variable-prefix}btn-disabled-color: #{$disabled-color};
89
- --#{$variable-prefix}btn-shadow: #{$shadow};
90
- }
79
+ --#{$prefix}btn-color: #{$color};
80
+ --#{$prefix}btn-hover-bg: #{$hover-background};
81
+ --#{$prefix}btn-hover-border-color: #{$hover-border-color};
82
+ --#{$prefix}btn-hover-color: #{$hover-color};
83
+ --#{$prefix}btn-active-bg: #{$active-background};
84
+ --#{$prefix}btn-active-border-color: #{$active-border-color};
85
+ --#{$prefix}btn-active-color: #{$active-color};
86
+ --#{$prefix}btn-disabled-color: #{$disabled-color};
87
+ --#{$prefix}btn-shadow: #{$shadow};
91
88
  }
89
+ // scss-docs-end btn-ghost-variant-mixin
92
90
 
93
91
  // Button sizes
94
92
  // scss-docs-start btn-size-mixin
95
93
  @mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
96
- padding: $padding-y $padding-x;
97
- @include font-size($font-size);
98
- // Manually declare to provide an override to the browser default
99
- @include border-radius($border-radius, 0);
94
+ --#{$prefix}btn-padding-y: #{$padding-y};
95
+ --#{$prefix}btn-padding-x: #{$padding-x};
96
+ @include rfs($font-size, --#{$prefix}btn-font-size);
97
+ --#{$prefix}btn-border-radius: #{$border-radius};
100
98
  }
101
99
  // scss-docs-end btn-size-mixin
@@ -1,9 +1,11 @@
1
1
  // Container mixins
2
2
 
3
3
  @mixin make-container($gutter: $container-padding-x) {
4
+ --#{$prefix}gutter-x: #{$gutter};
5
+ --#{$prefix}gutter-y: 0;
4
6
  width: 100%;
5
- padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});
6
- padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});
7
+ padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
8
+ padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
7
9
  margin-right: auto;
8
10
  margin-left: auto;
9
11
  }
@@ -1,87 +1,87 @@
1
1
  @mixin css-vars() {
2
2
  .accordion {
3
3
  @if variable-exists("accordion-button-bg") {
4
- --#{$variable-prefix}accordion-button-bg: #{$accordion-button-bg};
4
+ --#{$prefix}accordion-button-bg: #{$accordion-button-bg};
5
5
  }
6
6
  @if variable-exists("accordion-button-color") {
7
- --#{$variable-prefix}accordion-button-color: #{$accordion-button-color};
7
+ --#{$prefix}accordion-button-color: #{$accordion-button-color};
8
8
  }
9
9
  @if variable-exists("accordion-border-color") {
10
- --#{$variable-prefix}accordion-border-color: #{$accordion-border-color};
10
+ --#{$prefix}accordion-border-color: #{$accordion-border-color};
11
11
  }
12
12
  @if variable-exists("accordion-button-active-color") {
13
- --#{$variable-prefix}accordion-button-active-color: #{$accordion-button-active-color};
13
+ --#{$prefix}accordion-button-active-color: #{$accordion-button-active-color};
14
14
  }
15
15
  @if variable-exists("accordion-button-active-bg") {
16
- --#{$variable-prefix}accordion-button-active-bg: #{$accordion-button-active-bg};
16
+ --#{$prefix}accordion-button-active-bg: #{$accordion-button-active-bg};
17
17
  }
18
18
  @if variable-exists("accordion-button-focus-border-color") {
19
- --#{$variable-prefix}accordion-button-focus-border-color: #{$accordion-button-focus-border-color};
19
+ --#{$prefix}accordion-button-focus-border-color: #{$accordion-button-focus-border-color};
20
20
  }
21
21
  }
22
22
 
23
23
  .badge {
24
24
  @if variable-exists("badge-color") {
25
- --#{$variable-prefix}badge-color: #{$badge-color};
25
+ --#{$prefix}badge-color: #{$badge-color};
26
26
  }
27
27
  }
28
28
 
29
29
 
30
30
  // // Accordion
31
- // --#{$variable-prefix}accordion-border-color: #{$accordion-border-color};
32
- // --#{$variable-prefix}accordion-button-active-color: #{$accordion-button-active-color};
33
- // --#{$variable-prefix}accordion-button-active-bg: #{$accordion-button-active-bg};
34
- // --#{$variable-prefix}accordion-button-focus-border-color: #{$accordion-button-focus-border-color};
31
+ // --#{$prefix}accordion-border-color: #{$accordion-border-color};
32
+ // --#{$prefix}accordion-button-active-color: #{$accordion-button-active-color};
33
+ // --#{$prefix}accordion-button-active-bg: #{$accordion-button-active-bg};
34
+ // --#{$prefix}accordion-button-focus-border-color: #{$accordion-button-focus-border-color};
35
35
 
36
36
  // // Badge
37
- // --#{$variable-prefix}badge-color: #{$badge-color};
37
+ // --#{$prefix}badge-color: #{$badge-color};
38
38
 
39
39
  // // Breadcrumb
40
- // --#{$variable-prefix}breadcrumb-bg: #{$breadcrumb-bg};
41
- // --#{$variable-prefix}breadcrumb-active-color: #{$breadcrumb-active-color};
42
- // --#{$variable-prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};
40
+ // --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};
41
+ // --#{$prefix}breadcrumb-active-color: #{$breadcrumb-active-color};
42
+ // --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};
43
43
 
44
44
  // // Card
45
- // --#{$variable-prefix}card-bg: #{$card-bg};
46
- // --#{$variable-prefix}card-border-color: #{$card-border-color};
47
- // --#{$variable-prefix}card-color: #{$card-color};
48
- // --#{$variable-prefix}card-cap-color: #{$card-cap-color};
49
- // --#{$variable-prefix}card-cap-bg: #{$card-cap-bg};
45
+ // --#{$prefix}card-bg: #{$card-bg};
46
+ // --#{$prefix}card-border-color: #{$card-border-color};
47
+ // --#{$prefix}card-color: #{$card-color};
48
+ // --#{$prefix}card-cap-color: #{$card-cap-color};
49
+ // --#{$prefix}card-cap-bg: #{$card-cap-bg};
50
50
 
51
51
  // // Close
52
- // --#{$variable-prefix}btn-close-color: #{$btn-close-color};
53
- // --#{$variable-prefix}btn-close-bg: #{escape-svg($btn-close-bg)};
52
+ // --#{$prefix}btn-close-color: #{$btn-close-color};
53
+ // --#{$prefix}btn-close-bg: #{escape-svg($btn-close-bg)};
54
54
 
55
55
  // // Dropdown
56
- // --#{$variable-prefix}dropdown-color: #{$dropdown-color};
57
- // --#{$variable-prefix}dropdown-bg: #{$dropdown-bg};
58
- // --#{$variable-prefix}dropdown-border-color: #{$dropdown-border-color};
59
- // --#{$variable-prefix}dropdown-divider-bg: #{$dropdown-divider-bg};
60
- // --#{$variable-prefix}dropdown-link-color: #{$dropdown-link-color};
61
- // --#{$variable-prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};
62
- // --#{$variable-prefix}dropdown-link-active-color: #{$dropdown-link-active-color};
63
- // --#{$variable-prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};
64
- // --#{$variable-prefix}dropdown-header-color: #{$dropdown-header-color};
56
+ // --#{$prefix}dropdown-color: #{$dropdown-color};
57
+ // --#{$prefix}dropdown-bg: #{$dropdown-bg};
58
+ // --#{$prefix}dropdown-border-color: #{$dropdown-border-color};
59
+ // --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};
60
+ // --#{$prefix}dropdown-link-color: #{$dropdown-link-color};
61
+ // --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};
62
+ // --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};
63
+ // --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};
64
+ // --#{$prefix}dropdown-header-color: #{$dropdown-header-color};
65
65
 
66
66
  // // Images
67
- // --#{$variable-prefix}thumbnail-bg: #{$thumbnail-bg};
68
- // --#{$variable-prefix}thumbnail-border-color: #{$thumbnail-border-color};
67
+ // --#{$prefix}thumbnail-bg: #{$thumbnail-bg};
68
+ // --#{$prefix}thumbnail-border-color: #{$thumbnail-border-color};
69
69
 
70
70
  // // Images / Figure
71
- // --#{$variable-prefix}figure-caption-color: $figure-caption-color;
71
+ // --#{$prefix}figure-caption-color: $figure-caption-color;
72
72
 
73
73
  // // List Group
74
- // --#{$variable-prefix}list-group-action-color: #{$list-group-action-color};
75
- // --#{$variable-prefix}list-group-action-hover-color: #{$list-group-action-hover-color};
76
- // --#{$variable-prefix}list-group-hover-bg: #{$list-group-hover-bg};
77
- // --#{$variable-prefix}list-group-action-active-color: #{$list-group-action-active-color};
78
- // --#{$variable-prefix}list-group-action-active-bg: #{$list-group-action-active-bg};
79
- // --#{$variable-prefix}list-group-color: #{$list-group-color};
80
- // --#{$variable-prefix}list-group-bg: #{$list-group-bg};
81
- // --#{$variable-prefix}list-group-border-color: #{$list-group-border-color};
82
- // --#{$variable-prefix}list-group-disabled-color: #{$list-group-disabled-color};
83
- // --#{$variable-prefix}list-group-disabled-bg: #{$list-group-disabled-bg};
84
- // --#{$variable-prefix}list-group-active-color: #{$list-group-active-color};
85
- // --#{$variable-prefix}list-group-active-bg: #{$list-group-active-bg};
86
- // --#{$variable-prefix}list-group-active-border-color: #{$list-group-active-border-color};
74
+ // --#{$prefix}list-group-action-color: #{$list-group-action-color};
75
+ // --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};
76
+ // --#{$prefix}list-group-hover-bg: #{$list-group-hover-bg};
77
+ // --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};
78
+ // --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};
79
+ // --#{$prefix}list-group-color: #{$list-group-color};
80
+ // --#{$prefix}list-group-bg: #{$list-group-bg};
81
+ // --#{$prefix}list-group-border-color: #{$list-group-border-color};
82
+ // --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};
83
+ // --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};
84
+ // --#{$prefix}list-group-active-color: #{$list-group-active-color};
85
+ // --#{$prefix}list-group-active-bg: #{$list-group-active-bg};
86
+ // --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};
87
87
  }
@@ -105,6 +105,14 @@
105
105
  }
106
106
  }
107
107
 
108
+ .form-control-color {
109
+ @include form-validation-state-selector($state) {
110
+ @if $enable-validation-icons {
111
+ width: add($form-color-width, $input-height-inner);
112
+ }
113
+ }
114
+ }
115
+
108
116
  .form-check-input {
109
117
  @include form-validation-state-selector($state) {
110
118
  border-color: $color;
@@ -5,7 +5,7 @@
5
5
  background-color: $color;
6
6
 
7
7
  @if $enable-gradients {
8
- background-image: var(--#{$variable-prefix}gradient);
8
+ background-image: var(--#{$prefix}gradient);
9
9
  }
10
10
  }
11
11
  // scss-docs-end gradient-bg-mixin
@@ -3,17 +3,17 @@
3
3
  // Generate semantic grid columns with these mixins.
4
4
 
5
5
  @mixin make-row($gutter: $grid-gutter-width) {
6
- --#{$variable-prefix}gutter-x: #{$gutter};
7
- --#{$variable-prefix}gutter-y: 0;
6
+ --#{$prefix}gutter-x: #{$gutter};
7
+ --#{$prefix}gutter-y: 0;
8
8
  display: flex;
9
9
  flex-wrap: wrap;
10
10
  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed
11
- margin-top: calc(-1 * var(--#{$variable-prefix}gutter-y)); // stylelint-disable-line function-disallowed-list
12
- margin-right: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
13
- margin-left: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
11
+ margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list
12
+ margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
13
+ margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
14
14
  }
15
15
 
16
- @mixin make-col-ready($gutter: $grid-gutter-width) {
16
+ @mixin make-col-ready() {
17
17
  // Add box sizing if only the grid is loaded
18
18
  box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);
19
19
  // Prevent columns from becoming too narrow when at smaller grid tiers by
@@ -22,9 +22,9 @@
22
22
  flex-shrink: 0;
23
23
  width: 100%;
24
24
  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid
25
- padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
26
- padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
27
- margin-top: var(--#{$variable-prefix}gutter-y);
25
+ padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
26
+ padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
27
+ margin-top: var(--#{$prefix}gutter-y);
28
28
  }
29
29
 
30
30
  @mixin make-col($size: false, $columns: $grid-columns) {
@@ -114,12 +114,12 @@
114
114
  @each $key, $value in $gutters {
115
115
  .g#{$infix}-#{$key},
116
116
  .gx#{$infix}-#{$key} {
117
- --#{$variable-prefix}gutter-x: #{$value};
117
+ --#{$prefix}gutter-x: #{$value};
118
118
  }
119
119
 
120
120
  .g#{$infix}-#{$key},
121
121
  .gy#{$infix}-#{$key} {
122
- --#{$variable-prefix}gutter-y: #{$value};
122
+ --#{$prefix}gutter-y: #{$value};
123
123
  }
124
124
  }
125
125
  }
@@ -5,14 +5,12 @@
5
5
  $background-hover: map-get($variant, "bg-hover");
6
6
  $color: contrast-ratio-correction(map-get($variant, "color"), map-get($variant, "bg"), abs($alert-color-scale), $state);
7
7
 
8
- .list-group-item-#{$state} {
9
- --#{$variable-prefix}list-group-color: #{$color};
10
- --#{$variable-prefix}list-group-bg: #{$background};
11
- --#{$variable-prefix}list-group-hover-bg: #{$background-hover};
12
- --#{$variable-prefix}list-group-action-hover-color: #{$color};
13
- --#{$variable-prefix}list-group-action-active-color: #{$white};
14
- --#{$variable-prefix}list-group-action-active-bg: #{$color};
15
- --#{$variable-prefix}list-group-action-active-border-color: #{$color};
16
- }
8
+ --#{$prefix}list-group-color: #{$color};
9
+ --#{$prefix}list-group-bg: #{$background};
10
+ --#{$prefix}list-group-hover-bg: #{$background-hover};
11
+ --#{$prefix}list-group-action-hover-color: #{$color};
12
+ --#{$prefix}list-group-action-active-color: #{$white};
13
+ --#{$prefix}list-group-action-active-bg: #{$color};
14
+ --#{$prefix}list-group-action-active-border-color: #{$color};
17
15
  }
18
16
  // scss-docs-end list-group-mixin
@@ -2,30 +2,9 @@
2
2
 
3
3
  // scss-docs-start pagination-mixin
4
4
  @mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {
5
- .page-link {
6
- padding: $padding-y $padding-x;
7
- @include font-size($font-size);
8
- }
9
-
10
- .page-item {
11
- @if $pagination-margin-start == (-$pagination-border-width) {
12
- &:first-child {
13
- .page-link {
14
- @include border-start-radius($border-radius);
15
- }
16
- }
17
-
18
- &:last-child {
19
- .page-link {
20
- @include border-end-radius($border-radius);
21
- }
22
- }
23
- } @else {
24
- //Add border-radius to all pageLinks in case they have left margin
25
- .page-link {
26
- @include border-radius($border-radius);
27
- }
28
- }
29
- }
5
+ --#{$prefix}pagination-padding-x: #{$padding-x};
6
+ --#{$prefix}pagination-padding-y: #{$padding-y};
7
+ @include rfs($font-size, --#{$prefix}pagination-font-size);
8
+ --#{$prefix}pagination-border-radius: #{$border-radius};
30
9
  }
31
10
  // scss-docs-end pagination-mixin
@@ -1,16 +1,24 @@
1
1
  // scss-docs-start table-variant
2
- @mixin table-variant($map) {
3
- --#{$variable-prefix}table-bg: #{map-get($map, "bg")};
4
- --#{$variable-prefix}table-color: #{map-get($map, "color")};
5
- --#{$variable-prefix}table-border-color: #{map-get($map, "border-color")};
6
- --#{$variable-prefix}table-striped-bg: #{map-get($map, "striped-bg")};
7
- --#{$variable-prefix}table-striped-color: #{map-get($map, "striped-color")};
8
- --#{$variable-prefix}table-active-bg: #{map-get($map, "active-bg")};
9
- --#{$variable-prefix}table-active-color: #{map-get($map, "active-color")};
10
- --#{$variable-prefix}table-hover-bg: #{map-get($map, "hover-bg")};
11
- --#{$variable-prefix}table-hover-color: #{map-get($map, "hover-color")};
2
+ @mixin table-variant($state, $background) {
3
+ .table-#{$state} {
4
+ $color: color-contrast(opaque($body-bg, $background));
5
+ $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));
6
+ $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));
7
+ $active-bg: mix($color, $background, percentage($table-active-bg-factor));
8
+ $border-color: mix($color, $background, percentage($table-border-factor));
12
9
 
13
- color: var(--#{$variable-prefix}table-color);
14
- border-color: var(--#{$variable-prefix}table-border-color);
10
+ --#{$prefix}table-color: #{$color};
11
+ --#{$prefix}table-bg: #{$background};
12
+ --#{$prefix}table-border-color: #{$border-color};
13
+ --#{$prefix}table-striped-bg: #{$striped-bg};
14
+ --#{$prefix}table-striped-color: #{color-contrast($striped-bg)};
15
+ --#{$prefix}table-active-bg: #{$active-bg};
16
+ --#{$prefix}table-active-color: #{color-contrast($active-bg)};
17
+ --#{$prefix}table-hover-bg: #{$hover-bg};
18
+ --#{$prefix}table-hover-color: #{color-contrast($hover-bg)};
19
+
20
+ color: var(--#{$prefix}table-color);
21
+ border-color: var(--#{$prefix}table-border-color);
22
+ }
15
23
  }
16
24
  // scss-docs-end table-variant
@@ -58,12 +58,12 @@
58
58
 
59
59
  @if $is-css-var {
60
60
  .#{$property-class + $infix + $property-class-modifier} {
61
- --#{$variable-prefix}#{$css-variable-name}: #{$value};
61
+ --#{$prefix}#{$css-variable-name}: #{$value};
62
62
  }
63
63
 
64
64
  @each $pseudo in $state {
65
65
  .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {
66
- --#{$variable-prefix}#{$css-variable-name}: #{$value};
66
+ --#{$prefix}#{$css-variable-name}: #{$value};
67
67
  }
68
68
  }
69
69
  } @else {
@@ -71,7 +71,7 @@
71
71
  @each $property in $properties {
72
72
  @if $is-local-vars {
73
73
  @each $local-var, $variable in $is-local-vars {
74
- --#{$variable-prefix}#{$local-var}: #{$variable};
74
+ --#{$prefix}#{$local-var}: #{$variable};
75
75
  }
76
76
  }
77
77
  @if $generate-rtl == true {
@@ -85,6 +85,11 @@
85
85
  @each $pseudo in $state {
86
86
  .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {
87
87
  @each $property in $properties {
88
+ @if $is-local-vars {
89
+ @each $local-var, $variable in $is-local-vars {
90
+ --#{$prefix}#{$local-var}: #{$variable};
91
+ }
92
+ }
88
93
  #{$property}: $value if($enable-important-utilities, !important, null);
89
94
  }
90
95
  }