@coreui/coreui 4.1.6 → 4.2.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 (208) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +62 -10
  3. package/dist/css/bootstrap-reboot.css +488 -0
  4. package/dist/css/bootstrap-reboot.css.map +1 -0
  5. package/dist/css/bootstrap-reboot.min.css +8 -0
  6. package/dist/css/bootstrap-reboot.min.css.map +1 -0
  7. package/dist/css/coreui-grid.css +22 -4
  8. package/dist/css/coreui-grid.css.map +1 -1
  9. package/dist/css/coreui-grid.min.css +2 -2
  10. package/dist/css/coreui-grid.min.css.map +1 -1
  11. package/dist/css/coreui-grid.rtl.css +23 -5
  12. package/dist/css/coreui-grid.rtl.css.map +1 -1
  13. package/dist/css/coreui-grid.rtl.min.css +3 -3
  14. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  15. package/dist/css/coreui-reboot.css +34 -41
  16. package/dist/css/coreui-reboot.css.map +1 -1
  17. package/dist/css/coreui-reboot.min.css +2 -2
  18. package/dist/css/coreui-reboot.min.css.map +1 -1
  19. package/dist/css/coreui-reboot.rtl.css +34 -42
  20. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  21. package/dist/css/coreui-reboot.rtl.min.css +3 -3
  22. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  23. package/dist/css/coreui-utilities.css +278 -163
  24. package/dist/css/coreui-utilities.css.map +1 -1
  25. package/dist/css/coreui-utilities.min.css +2 -2
  26. package/dist/css/coreui-utilities.min.css.map +1 -1
  27. package/dist/css/coreui-utilities.rtl.css +273 -164
  28. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  29. package/dist/css/coreui-utilities.rtl.min.css +3 -3
  30. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  31. package/dist/css/coreui.css +2168 -1240
  32. package/dist/css/coreui.css.map +1 -1
  33. package/dist/css/coreui.min.css +2 -2
  34. package/dist/css/coreui.min.css.map +1 -1
  35. package/dist/css/coreui.rtl.css +2150 -1228
  36. package/dist/css/coreui.rtl.css.map +1 -1
  37. package/dist/css/coreui.rtl.min.css +3 -3
  38. package/dist/css/coreui.rtl.min.css.map +1 -1
  39. package/dist/js/coreui.bundle.js +2095 -1906
  40. package/dist/js/coreui.bundle.js.map +1 -1
  41. package/dist/js/coreui.bundle.min.js +2 -2
  42. package/dist/js/coreui.bundle.min.js.map +1 -1
  43. package/dist/js/coreui.esm.js +2098 -1909
  44. package/dist/js/coreui.esm.js.map +1 -1
  45. package/dist/js/coreui.esm.min.js +2 -2
  46. package/dist/js/coreui.esm.min.js.map +1 -1
  47. package/dist/js/coreui.js +2099 -1910
  48. package/dist/js/coreui.js.map +1 -1
  49. package/dist/js/coreui.min.js +2 -2
  50. package/dist/js/coreui.min.js.map +1 -1
  51. package/js/dist/alert.js +10 -148
  52. package/js/dist/alert.js.map +1 -1
  53. package/js/dist/base-component.js +36 -122
  54. package/js/dist/base-component.js.map +1 -1
  55. package/js/dist/button.js +9 -76
  56. package/js/dist/button.js.map +1 -1
  57. package/js/dist/carousel.js +212 -507
  58. package/js/dist/carousel.js.map +1 -1
  59. package/js/dist/collapse.js +64 -251
  60. package/js/dist/collapse.js.map +1 -1
  61. package/js/dist/dom/data.js +2 -4
  62. package/js/dist/dom/data.js.map +1 -1
  63. package/js/dist/dom/event-handler.js +82 -133
  64. package/js/dist/dom/event-handler.js.map +1 -1
  65. package/js/dist/dom/manipulator.js +22 -26
  66. package/js/dist/dom/manipulator.js.map +1 -1
  67. package/js/dist/dom/selector-engine.js +16 -81
  68. package/js/dist/dom/selector-engine.js.map +1 -1
  69. package/js/dist/dropdown.js +99 -338
  70. package/js/dist/dropdown.js.map +1 -1
  71. package/js/dist/modal.js +106 -774
  72. package/js/dist/modal.js.map +1 -1
  73. package/js/dist/navigation.js +309 -0
  74. package/js/dist/navigation.js.map +1 -0
  75. package/js/dist/offcanvas.js +88 -680
  76. package/js/dist/offcanvas.js.map +1 -1
  77. package/js/dist/popover.js +35 -120
  78. package/js/dist/popover.js.map +1 -1
  79. package/js/dist/scrollspy.js +178 -264
  80. package/js/dist/scrollspy.js.map +1 -1
  81. package/js/dist/sidebar.js +347 -0
  82. package/js/dist/sidebar.js.map +1 -0
  83. package/js/dist/tab.js +226 -216
  84. package/js/dist/tab.js.map +1 -1
  85. package/js/dist/toast.js +27 -216
  86. package/js/dist/toast.js.map +1 -1
  87. package/js/dist/tooltip.js +271 -618
  88. package/js/dist/tooltip.js.map +1 -1
  89. package/js/dist/util/backdrop.js +166 -0
  90. package/js/dist/util/backdrop.js.map +1 -0
  91. package/js/dist/util/component-functions.js +47 -0
  92. package/js/dist/util/component-functions.js.map +1 -0
  93. package/js/dist/util/config.js +80 -0
  94. package/js/dist/util/config.js.map +1 -0
  95. package/js/dist/util/focustrap.js +130 -0
  96. package/js/dist/util/focustrap.js.map +1 -0
  97. package/js/dist/util/index.js +354 -0
  98. package/js/dist/util/index.js.map +1 -0
  99. package/js/dist/util/sanitizer.js +126 -0
  100. package/js/dist/util/sanitizer.js.map +1 -0
  101. package/js/dist/util/scrollbar.js +139 -0
  102. package/js/dist/util/scrollbar.js.map +1 -0
  103. package/js/dist/util/swipe.js +156 -0
  104. package/js/dist/util/swipe.js.map +1 -0
  105. package/js/dist/util/template-factory.js +178 -0
  106. package/js/dist/util/template-factory.js.map +1 -0
  107. package/js/src/alert.js +3 -15
  108. package/js/src/base-component.js +28 -18
  109. package/js/src/button.js +3 -15
  110. package/js/src/carousel.js +203 -320
  111. package/js/src/collapse.js +61 -94
  112. package/js/src/dom/data.js +1 -3
  113. package/js/src/dom/event-handler.js +74 -107
  114. package/js/src/dom/manipulator.js +22 -31
  115. package/js/src/dom/selector-engine.js +10 -19
  116. package/js/src/dropdown.js +84 -138
  117. package/js/src/modal.js +94 -158
  118. package/js/src/navigation.js +12 -13
  119. package/js/src/offcanvas.js +71 -60
  120. package/js/src/popover.js +31 -62
  121. package/js/src/scrollspy.js +166 -171
  122. package/js/src/sidebar.js +5 -8
  123. package/js/src/tab.js +201 -110
  124. package/js/src/toast.js +19 -41
  125. package/js/src/tooltip.js +264 -374
  126. package/js/src/util/backdrop.js +55 -36
  127. package/js/src/util/component-functions.js +1 -1
  128. package/js/src/util/config.js +66 -0
  129. package/js/src/util/focustrap.js +38 -28
  130. package/js/src/util/index.js +41 -57
  131. package/js/src/util/sanitizer.js +9 -17
  132. package/js/src/util/scrollbar.js +47 -30
  133. package/js/src/util/swipe.js +146 -0
  134. package/js/src/util/template-factory.js +160 -0
  135. package/package.json +36 -36
  136. package/scss/_accordion.scss +53 -25
  137. package/scss/_alert.scss +29 -9
  138. package/scss/_badge.scss +15 -6
  139. package/scss/_breadcrumb.scss +23 -11
  140. package/scss/_button-group.scss +3 -0
  141. package/scss/_buttons.scss +71 -50
  142. package/scss/_callout.scss +18 -6
  143. package/scss/_card.scss +55 -37
  144. package/scss/_carousel.scss +6 -6
  145. package/scss/_close.scss +4 -4
  146. package/scss/_containers.scss +1 -1
  147. package/scss/_dropdown.scss +86 -64
  148. package/scss/_footer.scss +15 -5
  149. package/scss/_functions.scss +11 -24
  150. package/scss/_grid.scss +3 -3
  151. package/scss/_header.scss +59 -34
  152. package/scss/_helpers.scss +1 -0
  153. package/scss/_images.scss +3 -3
  154. package/scss/_list-group.scss +47 -29
  155. package/scss/_maps.scss +54 -0
  156. package/scss/_modal.scss +70 -43
  157. package/scss/_nav.scss +53 -20
  158. package/scss/_navbar.scss +84 -94
  159. package/scss/_offcanvas.scss +120 -60
  160. package/scss/_pagination.scss +66 -21
  161. package/scss/_popover.scss +90 -52
  162. package/scss/_progress.scss +20 -9
  163. package/scss/_reboot.scss +31 -58
  164. package/scss/_root.scss +41 -19
  165. package/scss/_spinners.scss +37 -21
  166. package/scss/_subheader.scss +9 -9
  167. package/scss/_tables.scss +34 -36
  168. package/scss/_toasts.scss +35 -19
  169. package/scss/_tooltip.scss +61 -56
  170. package/scss/_utilities.scss +42 -25
  171. package/scss/_variables.scss +169 -148
  172. package/scss/bootstrap-reboot.scss +14 -0
  173. package/scss/coreui-grid.rtl.scss +1 -1
  174. package/scss/coreui-grid.scss +2 -1
  175. package/scss/coreui-reboot.rtl.scss +1 -1
  176. package/scss/coreui-reboot.scss +1 -1
  177. package/scss/coreui-utilities.rtl.scss +1 -1
  178. package/scss/coreui-utilities.scss +2 -1
  179. package/scss/coreui.rtl.scss +1 -1
  180. package/scss/coreui.scss +2 -1
  181. package/scss/forms/_floating-labels.scss +14 -3
  182. package/scss/forms/_form-check.scss +41 -18
  183. package/scss/forms/_form-control.scss +25 -50
  184. package/scss/forms/_form-range.scss +8 -8
  185. package/scss/forms/_form-select.scss +8 -8
  186. package/scss/forms/_form-text.scss +1 -1
  187. package/scss/forms/_input-group.scss +3 -3
  188. package/scss/forms/_labels.scss +2 -2
  189. package/scss/helpers/_color-bg.scss +10 -0
  190. package/scss/helpers/_colored-links.scss +2 -2
  191. package/scss/helpers/_position.scss +7 -1
  192. package/scss/helpers/_ratio.scss +2 -2
  193. package/scss/helpers/_vr.scss +1 -0
  194. package/scss/mixins/_alert.scss +10 -10
  195. package/scss/mixins/_breakpoints.scss +8 -8
  196. package/scss/mixins/_buttons.scss +45 -47
  197. package/scss/mixins/_container.scss +4 -2
  198. package/scss/mixins/_css-vars.scss +47 -47
  199. package/scss/mixins/_forms.scss +8 -0
  200. package/scss/mixins/_gradients.scss +1 -1
  201. package/scss/mixins/_grid.scss +11 -11
  202. package/scss/mixins/_list-group.scss +7 -9
  203. package/scss/mixins/_pagination.scss +4 -25
  204. package/scss/mixins/_table-variants.scss +20 -12
  205. package/scss/mixins/_utilities.scss +8 -3
  206. package/scss/sidebar/_sidebar-narrow.scss +10 -10
  207. package/scss/sidebar/_sidebar-nav.scss +33 -32
  208. package/scss/sidebar/_sidebar.scss +110 -56
@@ -2,43 +2,70 @@
2
2
  // Base styles
3
3
  //
4
4
 
5
+ .accordion {
6
+ // scss-docs-start accordion-css-vars
7
+ --#{$prefix}accordion-color: #{color-contrast($accordion-bg)};
8
+ --#{$prefix}accordion-bg: #{$accordion-bg};
9
+ --#{$prefix}accordion-transition: #{$accordion-transition};
10
+ --#{$prefix}accordion-border-color: #{$accordion-border-color};
11
+ --#{$prefix}accordion-border-width: #{$accordion-border-width};
12
+ --#{$prefix}accordion-border-radius: #{$accordion-border-radius};
13
+ --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};
14
+ --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};
15
+ --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};
16
+ --#{$prefix}accordion-btn-color: #{$accordion-color};
17
+ --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};
18
+ --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};
19
+ --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};
20
+ --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
21
+ --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
22
+ --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};
23
+ --#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color};
24
+ --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
25
+ --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
26
+ --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
27
+ --#{$prefix}accordion-active-color: #{$accordion-button-active-color};
28
+ --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};
29
+ // scss-docs-end accordion-css-vars
30
+ }
31
+
5
32
  .accordion-button {
6
33
  position: relative;
7
34
  display: flex;
8
35
  align-items: center;
9
36
  width: 100%;
10
- padding: $accordion-button-padding-y $accordion-button-padding-x;
37
+ padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);
11
38
  @include font-size($font-size-base);
12
- color: var(--#{$variable-prefix}accordion-button-color, $accordion-button-color);
39
+ color: var(--#{$prefix}accordion-btn-color);
13
40
  text-align: left; // Reset button style
14
- background-color: var(--#{$variable-prefix}accordion-button-bg, $accordion-button-bg);
41
+ background-color: var(--#{$prefix}accordion-btn-bg);
15
42
  border: 0;
16
43
  @include border-radius(0);
17
44
  overflow-anchor: none;
18
- @include transition($accordion-transition);
45
+ @include transition(var(--#{$prefix}accordion-transition));
19
46
 
20
47
  &:not(.collapsed) {
21
- color: var(--#{$variable-prefix}accordion-button-active-color, $accordion-button-active-color);
22
- background-color: var(--#{$variable-prefix}accordion-button-active-bg, $accordion-button-active-bg);
23
- box-shadow: inset 0 ($accordion-border-width * -1) 0 var(--#{$variable-prefix}accordion-border-color, $accordion-border-color);
48
+ color: var(--#{$prefix}accordion-active-color);
49
+ background-color: var(--#{$prefix}accordion-active-bg);
50
+ box-shadow: inset 0 calc(var(--#{$prefix}accordion-border-width) * -1) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list
24
51
 
25
52
  &::after {
26
- background-image: var(--#{$variable-prefix}accordion-button-active-icon, escape-svg($accordion-button-active-icon));
27
- transform: $accordion-icon-transform;
53
+ background-image: var(--#{$prefix}accordion-btn-active-icon);
54
+ transform: var(--#{$prefix}accordion-btn-icon-transform);
28
55
  }
29
56
  }
30
57
 
31
58
  // Accordion icon
32
59
  &::after {
33
60
  flex-shrink: 0;
34
- width: $accordion-icon-width;
35
- height: $accordion-icon-width;
36
- @include ltr-rtl("margin-left", auto);
61
+ width: var(--#{$prefix}accordion-btn-icon-width);
62
+ height: var(--#{$prefix}accordion-btn-icon-width);
63
+ margin-left: auto;
37
64
  content: "";
38
- background-image: var(--#{$variable-prefix}accordion-button-icon, escape-svg($accordion-button-icon));
65
+ background-image: var(--#{$prefix}accordion-btn-icon);
39
66
  background-repeat: no-repeat;
40
- background-size: $accordion-icon-width;
41
- @include transition($accordion-icon-transition);
67
+ background-size: var(--#{$prefix}accordion-btn-icon-width);
68
+ @include transition(var(--#{$prefix}accordion-btn-icon-transition));
42
69
  }
43
70
 
44
71
  &:hover {
@@ -47,9 +74,9 @@
47
74
 
48
75
  &:focus {
49
76
  z-index: 3;
50
- border-color: var(--#{$variable-prefix}accordion-button-focus-border-color, $accordion-button-focus-border-color);
77
+ border-color: var(--#{$prefix}accordion-btn-focus-border-color);
51
78
  outline: 0;
52
- box-shadow: $accordion-button-focus-box-shadow;
79
+ box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
53
80
  }
54
81
  }
55
82
 
@@ -58,14 +85,15 @@
58
85
  }
59
86
 
60
87
  .accordion-item {
61
- background-color: var(--#{$variable-prefix}accordion-bg, $accordion-bg);
62
- border: $accordion-border-width solid var(--#{$variable-prefix}accordion-border-color, $accordion-border-color);
88
+ color: var(--#{$prefix}accordion-color);
89
+ background-color: var(--#{$prefix}accordion-bg);
90
+ border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);
63
91
 
64
92
  &:first-of-type {
65
- @include border-top-radius($accordion-border-radius);
93
+ @include border-top-radius(var(--#{$prefix}accordion-border-radius));
66
94
 
67
95
  .accordion-button {
68
- @include border-top-radius($accordion-inner-border-radius);
96
+ @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
69
97
  }
70
98
  }
71
99
 
@@ -75,22 +103,22 @@
75
103
 
76
104
  // Only set a border-radius on the last item if the accordion is collapsed
77
105
  &:last-of-type {
78
- @include border-bottom-radius($accordion-border-radius);
106
+ @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
79
107
 
80
108
  .accordion-button {
81
109
  &.collapsed {
82
- @include border-bottom-radius($accordion-inner-border-radius);
110
+ @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
83
111
  }
84
112
  }
85
113
 
86
114
  .accordion-collapse {
87
- @include border-bottom-radius($accordion-border-radius);
115
+ @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
88
116
  }
89
117
  }
90
118
  }
91
119
 
92
120
  .accordion-body {
93
- padding: $accordion-body-padding-y $accordion-body-padding-x;
121
+ padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x);
94
122
  }
95
123
 
96
124
 
package/scss/_alert.scss CHANGED
@@ -3,13 +3,24 @@
3
3
  //
4
4
 
5
5
  .alert {
6
+ // scss-docs-start alert-css-vars
7
+ --#{$prefix}alert-bg: transparent;
8
+ --#{$prefix}alert-padding-x: #{$alert-padding-x};
9
+ --#{$prefix}alert-padding-y: #{$alert-padding-y};
10
+ --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};
11
+ --#{$prefix}alert-color: inherit;
12
+ --#{$prefix}alert-border-color: transparent;
13
+ --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);
14
+ --#{$prefix}alert-border-radius: #{$alert-border-radius};
15
+ // scss-docs-end alert-css-vars
16
+
6
17
  position: relative;
7
- padding: $alert-padding-y $alert-padding-x;
8
- margin-bottom: $alert-margin-bottom;
9
- color: var(--#{$variable-prefix}alert-color);
10
- @include gradient-bg(var(--#{$variable-prefix}alert-bg));
11
- border: $alert-border-width solid var(--#{$variable-prefix}alert-border-color, transparent);
12
- @include border-radius($alert-border-radius);
18
+ padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);
19
+ margin-bottom: var(--#{$prefix}alert-margin-bottom);
20
+ color: var(--#{$prefix}alert-color);
21
+ background-color: var(--#{$prefix}alert-bg);
22
+ border: var(--#{$prefix}alert-border);
23
+ @include border-radius(var(--#{$prefix}alert-border-radius));
13
24
  }
14
25
 
15
26
  // Headings for larger alerts
@@ -21,7 +32,7 @@
21
32
  // Provide class for links that match alerts
22
33
  .alert-link {
23
34
  font-weight: $alert-link-font-weight;
24
- color: var(--#{$variable-prefix}alert-link-color);
35
+ color: var(--#{$prefix}alert-link-color);
25
36
  }
26
37
 
27
38
 
@@ -46,7 +57,16 @@
46
57
  // scss-docs-start alert-modifiers
47
58
  // Generate contextual modifier classes for colorizing the alert.
48
59
 
49
- @each $state, $variant in $alert-variants {
50
- @include alert-variant($state, $variant);
60
+ @each $state, $value in $alert-variants {
61
+ $alert-background: map-get($value, "alert-bg");
62
+ $alert-border: map-get($value, "alert-border");
63
+ $alert-color: map-get($value, "alert-color");
64
+
65
+ @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {
66
+ $alert-color: mix(map-get($value, "base-color"), color-contrast($alert-background), abs($alert-color-scale));
67
+ }
68
+ .alert-#{$state} {
69
+ @include alert-variant($alert-background, $alert-border, $alert-color);
70
+ }
51
71
  }
52
72
  // scss-docs-end alert-modifiers
package/scss/_badge.scss CHANGED
@@ -4,16 +4,25 @@
4
4
  // `background-color`.
5
5
 
6
6
  .badge {
7
+ // scss-docs-start badge-css-vars
8
+ --#{$prefix}badge-padding-x: #{$badge-padding-x};
9
+ --#{$prefix}badge-padding-y: #{$badge-padding-y};
10
+ @include rfs($badge-font-size, --#{$prefix}badge-font-size);
11
+ --#{$prefix}badge-font-weight: #{$badge-font-weight};
12
+ --#{$prefix}badge-color: #{$badge-color};
13
+ --#{$prefix}badge-border-radius: #{$badge-border-radius};
14
+ // scss-docs-end badge-css-vars
15
+
7
16
  display: inline-block;
8
- padding: $badge-padding-y $badge-padding-x;
9
- @include font-size($badge-font-size);
10
- font-weight: $badge-font-weight;
17
+ padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
18
+ @include font-size(var(--#{$prefix}badge-font-size));
19
+ font-weight: var(--#{$prefix}badge-font-weight);
11
20
  line-height: 1;
12
- color: var(--#{$variable-prefix}badge-color, $badge-color);
21
+ color: var(--#{$prefix}badge-color);
13
22
  text-align: center;
14
23
  white-space: nowrap;
15
- vertical-align: text-bottom;
16
- @include border-radius($badge-border-radius);
24
+ vertical-align: baseline;
25
+ border-radius: var(--#{$prefix}badge-border-radius, 0); // stylelint-disable-line property-disallowed-list
17
26
  @include gradient-bg();
18
27
 
19
28
  // Empty badges collapse automatically
@@ -1,33 +1,45 @@
1
1
  .breadcrumb {
2
+ // scss-docs-start breadcrumb-css-vars
3
+ --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};
4
+ --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};
5
+ --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};
6
+ @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);
7
+ --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};
8
+ --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};
9
+ --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};
10
+ --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};
11
+ --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};
12
+ // scss-docs-end breadcrumb-css-vars
13
+
2
14
  display: flex;
3
15
  flex-wrap: wrap;
4
- padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5
- margin-bottom: $breadcrumb-margin-bottom;
6
- @include font-size($breadcrumb-font-size);
16
+ padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);
17
+ margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);
18
+ @include font-size(var(--#{$prefix}breadcrumb-font-size));
7
19
  list-style: none;
8
- background-color: var(--#{$variable-prefix}breadcrumb-bg, $breadcrumb-bg);
9
- @include border-radius($breadcrumb-border-radius);
20
+ background-color: var(--#{$prefix}breadcrumb-bg);
21
+ @include border-radius(var(--#{$prefix}breadcrumb-border-radius));
10
22
  }
11
23
 
12
24
  .breadcrumb-item {
13
25
  // The separator between breadcrumbs (by default, a forward-slash: "/")
14
26
  + .breadcrumb-item {
15
- @include ltr-rtl("padding-left", $breadcrumb-item-padding-x);
27
+ @include ltr-rtl("padding-left", var(--#{$prefix}breadcrumb-item-padding-x));
16
28
 
17
29
  &::before {
18
30
  @include ltr-rtl("float", left); // Suppress inline spacings and underlining of the separator
19
- @include ltr-rtl("padding-right", $breadcrumb-item-padding-x);
20
- color: var(--#{$variable-prefix}breadcrumb-divider-color, $breadcrumb-divider-color);
31
+ @include ltr-rtl("padding-right", var(--#{$prefix}breadcrumb-item-padding-x));
32
+ color: var(--#{$prefix}breadcrumb-divider-color);
21
33
  @include ltr-rtl(
22
34
  "content",
23
- var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)),
35
+ var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)),
24
36
  null,
25
- var(--#{$variable-prefix}breadcrumb-divider-flipped, escape-svg($breadcrumb-divider-flipped))
37
+ var(--#{$prefix}breadcrumb-divider-flipped, escape-svg($breadcrumb-divider-flipped))
26
38
  );
27
39
  }
28
40
  }
29
41
 
30
42
  &.active {
31
- color: var(--#{$variable-prefix}breadcrumb-active-color, $breadcrumb-active-color);
43
+ color: var(--#{$prefix}breadcrumb-item-active-color);
32
44
  }
33
45
  }
@@ -34,6 +34,8 @@
34
34
  }
35
35
 
36
36
  .btn-group {
37
+ @include border-radius($btn-border-radius);
38
+
37
39
  // Prevent double borders when buttons are next to each other
38
40
  > .btn:not(:first-child),
39
41
  > .btn-group:not(:first-child) {
@@ -42,6 +44,7 @@
42
44
 
43
45
  // Reset rounded corners
44
46
  > .btn:not(:last-child):not(.dropdown-toggle),
47
+ > .btn.dropdown-toggle-split:first-child,
45
48
  > .btn-group:not(:last-child) > .btn {
46
49
  @include border-end-radius(0);
47
50
  }
@@ -3,40 +3,60 @@
3
3
  //
4
4
 
5
5
  .btn {
6
+ // scss-docs-start btn-css-vars
7
+ --#{$prefix}btn-padding-x: #{$btn-padding-x};
8
+ --#{$prefix}btn-padding-y: #{$btn-padding-y};
9
+ --#{$prefix}btn-font-family: #{$btn-font-family};
10
+ @include rfs($btn-font-size, --#{$prefix}btn-font-size);
11
+ --#{$prefix}btn-font-weight: #{$btn-font-weight};
12
+ --#{$prefix}btn-line-height: #{$btn-line-height};
13
+ --#{$prefix}btn-color: #{$body-color};
14
+ --#{$prefix}btn-bg: transparent;
15
+ --#{$prefix}btn-border-width: #{$btn-border-width};
16
+ --#{$prefix}btn-border-color: transparent;
17
+ --#{$prefix}btn-border-radius: #{$btn-border-radius};
18
+ --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
19
+ --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
20
+ --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
21
+ // scss-docs-end btn-css-vars
22
+
6
23
  display: inline-block;
7
- font-family: $btn-font-family;
8
- font-weight: $btn-font-weight;
9
- line-height: $btn-line-height;
10
- color: var(--#{$variable-prefix}btn-color, $body-color);
24
+ padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);
25
+ font-family: var(--#{$prefix}btn-font-family);
26
+ @include font-size(var(--#{$prefix}btn-font-size));
27
+ font-weight: var(--#{$prefix}btn-font-weight);
28
+ line-height: var(--#{$prefix}btn-line-height);
29
+ color: var(--#{$prefix}btn-color);
11
30
  text-align: center;
12
31
  text-decoration: if($link-decoration == none, null, none);
13
32
  white-space: $btn-white-space;
14
33
  vertical-align: middle;
15
34
  cursor: if($enable-button-pointers, pointer, null);
16
35
  user-select: none;
17
- background-color: var(--#{$variable-prefix}btn-bg, transparent);
18
- border: $btn-border-width solid var(--#{$variable-prefix}btn-border-color, transparent);
19
- @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);
36
+ border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);
37
+ @include border-radius(var(--#{$prefix}btn-border-radius));
38
+ @include gradient-bg(var(--#{$prefix}btn-bg));
39
+ @include box-shadow(var(--#{$prefix}btn-box-shadow));
20
40
  @include transition($btn-transition);
21
41
 
22
42
  &:hover {
23
- color: var(--#{$variable-prefix}btn-hover-color, $body-color);
24
- @include gradient-bg(var(--#{$variable-prefix}btn-hover-bg));
43
+ color: var(--#{$prefix}btn-hover-color);
25
44
  text-decoration: if($link-hover-decoration == underline, none, null);
26
- border-color: var(--#{$variable-prefix}btn-hover-border-color, transparent);
45
+ background-color: var(--#{$prefix}btn-hover-bg);
46
+ border-color: var(--#{$prefix}btn-hover-border-color);
27
47
  }
28
48
 
29
49
  .btn-check:focus + &,
30
50
  &:focus {
31
- color: var(--#{$variable-prefix}btn-hover-color);
32
- @include gradient-bg(var(--#{$variable-prefix}btn-hover-bg));
33
- border-color: var(--#{$variable-prefix}btn-hover-border-color, transparent);
51
+ color: var(--#{$prefix}btn-hover-color);
52
+ @include gradient-bg(var(--#{$prefix}btn-hover-bg));
53
+ border-color: var(--#{$prefix}btn-hover-border-color);
34
54
  outline: 0;
55
+ // Avoid using mixin so we can pass custom focus shadow properly
35
56
  @if $enable-shadows {
36
- @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width var(--#{$variable-prefix}btn-shadow));
57
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
37
58
  } @else {
38
- // Avoid using mixin so we can pass custom focus shadow properly
39
- box-shadow: 0 0 0 $btn-focus-width var(--#{$variable-prefix}btn-shadow);
59
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
40
60
  }
41
61
  }
42
62
 
@@ -44,20 +64,20 @@
44
64
  .btn-check:active + &,
45
65
  &:active,
46
66
  &.active,
47
- .show > &.dropdown-toggle {
48
- color: var(--#{$variable-prefix}btn-active-color);
49
- background-color: var(--#{$variable-prefix}btn-active-bg);
67
+ &.show {
68
+ color: var(--#{$prefix}btn-active-color);
69
+ background-color: var(--#{$prefix}btn-active-bg);
50
70
  // Remove CSS gradients if they're enabled
51
71
  background-image: if($enable-gradients, none, null);
52
- border-color: var(--#{$variable-prefix}btn-active-border-color, transparent);
53
- @include box-shadow($btn-active-box-shadow);
72
+ border-color: var(--#{$prefix}btn-active-border-color);
73
+ @include box-shadow(var(--#{$prefix}btn-active-shadow));
54
74
 
55
75
  &:focus {
76
+ // Avoid using mixin so we can pass custom focus shadow properly
56
77
  @if $enable-shadows {
57
- @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width var(--#{$variable-prefix}btn-shadow));
78
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
58
79
  } @else {
59
- // Avoid using mixin so we can pass custom focus shadow properly
60
- box-shadow: 0 0 0 $btn-focus-width var(--#{$variable-prefix}btn-shadow);
80
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
61
81
  }
62
82
  }
63
83
  }
@@ -65,13 +85,12 @@
65
85
  &:disabled,
66
86
  &.disabled,
67
87
  fieldset:disabled & {
68
- color: var(--#{$variable-prefix}btn-disabled-color);
88
+ color: var(--#{$prefix}btn-disabled-color);
69
89
  pointer-events: none;
70
- background-color: var(--#{$variable-prefix}btn-disabled-bg);
71
- // Remove CSS gradients if they're enabled
90
+ background-color: var(--#{$prefix}btn-disabled-bg);
72
91
  background-image: if($enable-gradients, none, null);
73
- border-color: var(--#{$variable-prefix}btn-disabled-border-color, transparent);
74
- opacity: $btn-disabled-opacity;
92
+ border-color: var(--#{$prefix}btn-disabled-border-color);
93
+ opacity: var(--#{$prefix}btn-disabled-opacity);
75
94
  @include box-shadow(none);
76
95
  }
77
96
  }
@@ -80,24 +99,25 @@
80
99
  //
81
100
  // Alternate buttons
82
101
  //
102
+
83
103
  // scss-docs-start btn-variant-loops
84
- // scss-docs-start button-modifiers
85
104
  @each $state, $variant in $button-variants {
86
- @include button-variant($state, $variant);
105
+ .btn-#{$state} {
106
+ @include button-variant($variant);
107
+ }
87
108
  }
88
- // scss-docs-end button-modifiers
89
109
 
90
- // scss-docs-start button-outline-modifiers
91
110
  @each $state, $variant in $button-outline-ghost-variants {
92
- @include button-outline-variant($state, $variant);
111
+ .btn-outline-#{$state} {
112
+ @include button-outline-variant($variant);
113
+ }
93
114
  }
94
- // scss-docs-end button-outline-modifiers
95
115
 
96
- // scss-docs-start button-ghost-modifiers
97
116
  @each $state, $variant in $button-outline-ghost-variants {
98
- @include button-ghost-variant($state, $variant);
117
+ .btn-ghost-#{$state} {
118
+ @include button-ghost-variant($variant);
119
+ }
99
120
  }
100
- // scss-docs-end button-ghost-modifiers
101
121
  // scss-docs-end btn-variant-loops
102
122
 
103
123
 
@@ -107,24 +127,25 @@
107
127
 
108
128
  // Make a button look and behave like a link
109
129
  .btn-link {
110
- font-weight: $font-weight-normal;
111
- color: var(--#{$variable-prefix}btn-link-color, $btn-link-color);
112
- text-decoration: $link-decoration;
130
+ --#{$prefix}btn-font-weight: #{$font-weight-normal};
131
+ --#{$prefix}btn-color: #{$btn-link-color};
132
+ --#{$prefix}btn-bg: transparent;
133
+ --#{$prefix}btn-border-color: transparent;
134
+ --#{$prefix}btn-hover-color: #{$btn-link-hover-color};
135
+ --#{$prefix}btn-hover-border-color: transparent;
136
+ --#{$prefix}btn-active-border-color: transparent;
137
+ --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};
138
+ --#{$prefix}btn-disabled-border-color: transparent;
139
+ --#{$prefix}btn-box-shadow: none;
140
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix(color-contrast($primary), $primary, 15%))};
113
141
 
114
- &:hover {
115
- color: var(--#{$variable-prefix}btn-link-hover-color, $btn-link-hover-color);
116
- text-decoration: $link-hover-decoration;
117
- }
142
+ text-decoration: $link-decoration;
118
143
 
144
+ &:hover,
119
145
  &:focus {
120
146
  text-decoration: $link-hover-decoration;
121
147
  }
122
148
 
123
- &:disabled,
124
- &.disabled {
125
- color: var(--#{$variable-prefix}btn-link-disabled-color, $btn-link-disabled-color);
126
- }
127
-
128
149
  // No need for an active state here
129
150
  }
130
151
 
@@ -1,16 +1,28 @@
1
1
  .callout {
2
- padding: $callout-padding-y $callout-padding-x;
3
- margin: $callout-margin-y $callout-margin-x;
4
- border: var(--#{$variable-prefix}callout-border-width, $callout-border-width) solid var(--#{$variable-prefix}callout-border-color, $callout-border-color);
5
- @include ltr-rtl("border-left-width", var(--#{$variable-prefix}callout-border-left-width, $callout-border-left-width));
6
- @include border-radius($callout-border-radius);
2
+ // scss-docs-start callout-css-vars
3
+ --#{$prefix}callout-padding-x: #{$callout-padding-x};
4
+ --#{$prefix}callout-padding-y: #{$callout-padding-y};
5
+ --#{$prefix}callout-margin-x: #{$callout-margin-x};
6
+ --#{$prefix}callout-margin-y: #{$callout-margin-y};
7
+ --#{$prefix}callout-border-width: #{$callout-border-width};
8
+ --#{$prefix}callout-border-color: #{$callout-border-color};
9
+ --#{$prefix}callout-border-left-width: #{$callout-border-left-width};
10
+ --#{$prefix}callout-border-radius: #{$callout-border-radius};
11
+ // scss-docs-end callout-css-vars
12
+
13
+ padding: var(--#{$prefix}callout-padding-y) var(--#{$prefix}callout-padding-x);
14
+ margin: var(--#{$prefix}callout-margin-y) var(--#{$prefix}callout-margin-x);
15
+ border: var(--#{$prefix}callout-border-width) solid var(--#{$prefix}callout-border-color);
16
+ @include ltr-rtl("border-left-width", var(--#{$prefix}callout-border-left-width));
17
+ @include ltr-rtl("border-left-color", var(--#{$prefix}callout-border-left-color));
18
+ @include border-radius(var(--#{$prefix}callout-border-radius));
7
19
  }
8
20
 
9
21
  // scss-docs-start callout-modifiers
10
22
  // Generate contextual modifier classes for colorizing the collor.
11
23
  @each $state, $value in $callout-variants {
12
24
  .callout-#{$state} {
13
- @include ltr-rtl("border-left-color", var(--#{$variable-prefix}callout-border-left-color, $value));
25
+ --#{$prefix}callout-border-left-color: #{$value};
14
26
  }
15
27
  }
16
28
  // scss-docs-end callout-modifiers