@coreui/coreui 5.0.0-alpha.0 → 5.0.0-alpha.2

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 (207) hide show
  1. package/LICENSE +5 -5
  2. package/README.md +2 -2
  3. package/dist/css/coreui-grid.css +34 -192
  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 +118 -275
  8. package/dist/css/coreui-grid.rtl.css.map +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css +3 -3
  10. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  11. package/dist/css/coreui-reboot.css +166 -148
  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 +170 -156
  16. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  17. package/dist/css/coreui-reboot.rtl.min.css +3 -3
  18. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  19. package/dist/css/coreui-utilities.css +653 -427
  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 +824 -703
  24. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  25. package/dist/css/coreui-utilities.rtl.min.css +3 -3
  26. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  27. package/dist/css/coreui.css +2082 -1790
  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 +2333 -2213
  32. package/dist/css/coreui.rtl.css.map +1 -1
  33. package/dist/css/coreui.rtl.min.css +3 -3
  34. package/dist/css/coreui.rtl.min.css.map +1 -1
  35. package/dist/js/coreui.bundle.js +313 -292
  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 +273 -246
  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 +276 -248
  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 +7 -6
  48. package/js/dist/alert.js.map +1 -1
  49. package/js/dist/base-component.js +8 -7
  50. package/js/dist/base-component.js.map +1 -1
  51. package/js/dist/button.js +7 -6
  52. package/js/dist/button.js.map +1 -1
  53. package/js/dist/carousel.js +8 -7
  54. package/js/dist/carousel.js.map +1 -1
  55. package/js/dist/collapse.js +7 -6
  56. package/js/dist/collapse.js.map +1 -1
  57. package/js/dist/dom/data.js +3 -3
  58. package/js/dist/dom/data.js.map +1 -1
  59. package/js/dist/dom/event-handler.js +7 -7
  60. package/js/dist/dom/event-handler.js.map +1 -1
  61. package/js/dist/dom/manipulator.js +4 -4
  62. package/js/dist/dom/manipulator.js.map +1 -1
  63. package/js/dist/dom/selector-engine.js +4 -3
  64. package/js/dist/dom/selector-engine.js.map +1 -1
  65. package/js/dist/dropdown.js +10 -9
  66. package/js/dist/dropdown.js.map +1 -1
  67. package/js/dist/modal.js +9 -10
  68. package/js/dist/modal.js.map +1 -1
  69. package/js/dist/navigation.js +7 -6
  70. package/js/dist/navigation.js.map +1 -1
  71. package/js/dist/offcanvas.js +11 -10
  72. package/js/dist/offcanvas.js.map +1 -1
  73. package/js/dist/popover.js +7 -6
  74. package/js/dist/popover.js.map +1 -1
  75. package/js/dist/scrollspy.js +9 -8
  76. package/js/dist/scrollspy.js.map +1 -1
  77. package/js/dist/sidebar.js +7 -6
  78. package/js/dist/sidebar.js.map +1 -1
  79. package/js/dist/tab.js +21 -12
  80. package/js/dist/tab.js.map +1 -1
  81. package/js/dist/toast.js +7 -6
  82. package/js/dist/toast.js.map +1 -1
  83. package/js/dist/tooltip.js +12 -11
  84. package/js/dist/tooltip.js.map +1 -1
  85. package/js/dist/util/backdrop.js +8 -7
  86. package/js/dist/util/backdrop.js.map +1 -1
  87. package/js/dist/util/component-functions.js +8 -7
  88. package/js/dist/util/component-functions.js.map +1 -1
  89. package/js/dist/util/config.js +8 -7
  90. package/js/dist/util/config.js.map +1 -1
  91. package/js/dist/util/focustrap.js +4 -3
  92. package/js/dist/util/focustrap.js.map +1 -1
  93. package/js/dist/util/index.js +3 -3
  94. package/js/dist/util/index.js.map +1 -1
  95. package/js/dist/util/sanitizer.js +28 -30
  96. package/js/dist/util/sanitizer.js.map +1 -1
  97. package/js/dist/util/scrollbar.js +8 -7
  98. package/js/dist/util/scrollbar.js.map +1 -1
  99. package/js/dist/util/swipe.js +8 -7
  100. package/js/dist/util/swipe.js.map +1 -1
  101. package/js/dist/util/template-factory.js +8 -7
  102. package/js/dist/util/template-factory.js.map +1 -1
  103. package/js/index.esm.js +21 -0
  104. package/js/index.umd.js +38 -0
  105. package/js/src/alert.js +3 -3
  106. package/js/src/base-component.js +3 -3
  107. package/js/src/button.js +4 -3
  108. package/js/src/carousel.js +6 -6
  109. package/js/src/collapse.js +4 -4
  110. package/js/src/dom/data.js +2 -2
  111. package/js/src/dom/event-handler.js +4 -5
  112. package/js/src/dom/manipulator.js +3 -3
  113. package/js/src/dom/selector-engine.js +2 -2
  114. package/js/src/dropdown.js +8 -8
  115. package/js/src/modal.js +8 -9
  116. package/js/src/navigation.js +3 -3
  117. package/js/src/offcanvas.js +11 -11
  118. package/js/src/popover.js +2 -2
  119. package/js/src/scrollspy.js +5 -5
  120. package/js/src/sidebar.js +4 -4
  121. package/js/src/tab.js +19 -9
  122. package/js/src/toast.js +3 -3
  123. package/js/src/tooltip.js +9 -9
  124. package/js/src/util/backdrop.js +3 -3
  125. package/js/src/util/component-functions.js +3 -3
  126. package/js/src/util/config.js +3 -3
  127. package/js/src/util/focustrap.js +2 -2
  128. package/js/src/util/index.js +2 -2
  129. package/js/src/util/sanitizer.js +40 -43
  130. package/js/src/util/scrollbar.js +3 -3
  131. package/js/src/util/swipe.js +3 -3
  132. package/js/src/util/template-factory.js +4 -5
  133. package/package.json +51 -45
  134. package/scss/_alert.scss +5 -5
  135. package/scss/_avatar.scss +4 -4
  136. package/scss/_badge.scss +11 -1
  137. package/scss/_breadcrumb.scss +9 -4
  138. package/scss/_button-group.scss +4 -4
  139. package/scss/_buttons.scss +38 -71
  140. package/scss/_callout.scss +2 -2
  141. package/scss/_card.scss +4 -3
  142. package/scss/_carousel.scss +9 -3
  143. package/scss/_close.scss +3 -0
  144. package/scss/_dropdown.scss +14 -14
  145. package/scss/_functions.scss +59 -0
  146. package/scss/_grid.scss +8 -0
  147. package/scss/_header.scss +186 -0
  148. package/scss/_helpers.scss +2 -0
  149. package/scss/_images.scss +3 -3
  150. package/scss/_list-group.scss +12 -19
  151. package/scss/_maps.scss +75 -21
  152. package/scss/_mixins.scss +6 -4
  153. package/scss/_modal.scss +2 -2
  154. package/scss/_nav.scss +8 -20
  155. package/scss/_navbar.scss +11 -8
  156. package/scss/_offcanvas.scss +8 -8
  157. package/scss/_pagination.scss +2 -2
  158. package/scss/_progress.scss +43 -0
  159. package/scss/_reboot.scss +23 -25
  160. package/scss/_root.scss +70 -63
  161. package/scss/_sidebar.scss +0 -11
  162. package/scss/_tables.scss +18 -11
  163. package/scss/_toasts.scss +2 -2
  164. package/scss/_tooltip.scss +14 -15
  165. package/scss/_type.scss +1 -1
  166. package/scss/_utilities.scss +117 -65
  167. package/scss/_variables-dark.scss +112 -61
  168. package/scss/_variables.scss +401 -268
  169. package/scss/coreui-grid.rtl.scss +4 -0
  170. package/scss/coreui-grid.scss +2 -5
  171. package/scss/coreui-reboot.rtl.scss +4 -0
  172. package/scss/coreui-reboot.scss +1 -1
  173. package/scss/coreui-utilities.rtl.scss +4 -0
  174. package/scss/coreui-utilities.scss +1 -1
  175. package/scss/coreui.rtl.scss +4 -0
  176. package/scss/coreui.scss +3 -3
  177. package/scss/forms/_floating-labels.scss +21 -16
  178. package/scss/forms/_form-check.scss +41 -20
  179. package/scss/forms/_form-control.scss +18 -5
  180. package/scss/forms/_form-range.scss +3 -3
  181. package/scss/forms/_form-select.scss +7 -8
  182. package/scss/forms/_input-group.scss +5 -5
  183. package/scss/helpers/_color-bg.scss +13 -4
  184. package/scss/helpers/_colored-links.scss +20 -2
  185. package/scss/helpers/_focus-ring.scss +5 -0
  186. package/scss/helpers/_icon-link.scss +25 -0
  187. package/scss/helpers/_ratio.scss +1 -1
  188. package/scss/helpers/_vr.scss +2 -1
  189. package/scss/mixins/_alert.scss +1 -1
  190. package/scss/mixins/_banner.scss +3 -3
  191. package/scss/mixins/_border-radius.scss +7 -7
  192. package/scss/mixins/_buttons.scss +53 -49
  193. package/scss/mixins/_caret.scss +3 -3
  194. package/scss/mixins/_forms.scss +7 -7
  195. package/scss/mixins/_grid.scss +1 -1
  196. package/scss/mixins/_list-group.scss +12 -20
  197. package/scss/mixins/_lists.scss +1 -1
  198. package/scss/mixins/_ltr-rtl.scss +87 -0
  199. package/scss/mixins/_utilities.scss +6 -1
  200. package/scss/mixins/_visually-hidden.scss +5 -1
  201. package/scss/sidebar/_sidebar-narrow.scss +37 -17
  202. package/scss/sidebar/_sidebar-nav.scss +115 -20
  203. package/scss/sidebar/_sidebar.scss +98 -139
  204. package/scss/vendor/_rfs.scss +24 -30
  205. package/scss/tests/mixins/_color-modes.test.scss +0 -69
  206. package/scss/tests/mixins/_utilities.test.scss +0 -393
  207. package/scss/tests/utilities/_api.test.scss +0 -75
package/scss/_navbar.scss CHANGED
@@ -65,7 +65,7 @@
65
65
  .navbar-brand {
66
66
  padding-top: var(--#{$prefix}navbar-brand-padding-y);
67
67
  padding-bottom: var(--#{$prefix}navbar-brand-padding-y);
68
- margin-right: var(--#{$prefix}navbar-brand-margin-end);
68
+ @include ltr-rtl("margin-right", var(--#{$prefix}navbar-brand-margin-end));
69
69
  @include font-size(var(--#{$prefix}navbar-brand-font-size));
70
70
  color: var(--#{$prefix}navbar-brand-color);
71
71
  text-decoration: if($link-decoration == none, null, none);
@@ -96,13 +96,15 @@
96
96
 
97
97
  display: flex;
98
98
  flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
99
- padding-left: 0;
99
+ @include ltr-rtl("padding-left", 0);
100
100
  margin-bottom: 0;
101
101
  list-style: none;
102
102
 
103
- .show > .nav-link,
104
- .nav-link.active {
105
- color: var(--#{$prefix}navbar-active-color);
103
+ .nav-link {
104
+ &.active,
105
+ &.show {
106
+ color: var(--#{$prefix}navbar-active-color);
107
+ }
106
108
  }
107
109
 
108
110
  .dropdown-menu {
@@ -261,10 +263,11 @@
261
263
  // Styles for switching between navbars with light or dark background.
262
264
 
263
265
  .navbar-light {
264
- @include deprecate("`.navbar-light`", "v4.2.0", "v6.0.0", true);
266
+ @include deprecate("`.navbar-light`", "v4.2.6", "v6.0.0", true);
265
267
  }
266
268
 
267
- .navbar-dark {
269
+ .navbar-dark,
270
+ .navbar[data-coreui-theme="dark"] {
268
271
  // scss-docs-start navbar-dark-css-vars
269
272
  --#{$prefix}navbar-color: #{$navbar-dark-color};
270
273
  --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};
@@ -279,7 +282,7 @@
279
282
 
280
283
  @if $enable-dark-mode {
281
284
  @include color-mode(dark) {
282
- .navbar {
285
+ .navbar-toggler-icon {
283
286
  --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
284
287
  }
285
288
  }
@@ -48,17 +48,17 @@
48
48
 
49
49
  &.offcanvas-start {
50
50
  top: 0;
51
- left: 0;
51
+ @include ltr-rtl("left", 0);
52
52
  width: var(--#{$prefix}offcanvas-width);
53
- border-right: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);
54
- transform: translateX(-100%);
53
+ @include ltr-rtl("border-right", var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color));
54
+ @include ltr-rtl-value-only("transform", translateX(-100%), translateX(100%));
55
55
  }
56
56
 
57
57
  &.offcanvas-end {
58
58
  top: 0;
59
- right: 0;
59
+ @include ltr-rtl("right", 0);
60
60
  width: var(--#{$prefix}offcanvas-width);
61
- border-left: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);
61
+ @include ltr-rtl("border-left", var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color));
62
62
  transform: translateX(100%);
63
63
  }
64
64
 
@@ -83,7 +83,7 @@
83
83
 
84
84
  &.showing,
85
85
  &.show:not(.hiding) {
86
- transform: none;
86
+ transform: none !important; // stylelint-disable-line declaration-no-important
87
87
  }
88
88
 
89
89
  &.showing,
@@ -117,7 +117,7 @@
117
117
  }
118
118
 
119
119
  .offcanvas-backdrop {
120
- @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);
120
+ @include overlay-backdrop($zindex-offcanvas-backdrop, var(--#{$prefix}offcanvas-backdrop-bg, $offcanvas-backdrop-bg), $offcanvas-backdrop-opacity);
121
121
  }
122
122
 
123
123
  .offcanvas-header {
@@ -129,7 +129,7 @@
129
129
  .btn-close {
130
130
  padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);
131
131
  margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
132
- margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
132
+ @include ltr-rtl("margin-right", calc(-.5 * var(--#{$prefix}offcanvas-padding-x)));
133
133
  margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
134
134
  }
135
135
  }
@@ -72,10 +72,10 @@
72
72
 
73
73
  .page-item {
74
74
  &:not(:first-child) .page-link {
75
- margin-left: $pagination-margin-start;
75
+ @include ltr-rtl("margin-left", $pagination-margin-start);
76
76
  }
77
77
 
78
- @if $pagination-margin-start == calc($pagination-border-width * -1) {
78
+ @if $pagination-margin-start == calc(#{$pagination-border-width} * -1) {
79
79
  &:first-child {
80
80
  .page-link {
81
81
  @include border-start-radius(var(--#{$prefix}pagination-border-radius));
@@ -66,3 +66,46 @@
66
66
  }
67
67
  }
68
68
  }
69
+
70
+ .progress-thin {
71
+ height: 4px;
72
+ }
73
+
74
+ // White progress bar
75
+ .progress.progress-white {
76
+ background-color: rgba(255, 255, 255, .2);
77
+ .progress-bar {
78
+ background-color: $white;
79
+ }
80
+ }
81
+
82
+ .progress-group {
83
+ display: flex;
84
+ flex-flow: row wrap;
85
+ margin-bottom: $progress-group-margin-bottom;
86
+ }
87
+
88
+ .progress-group-prepend {
89
+ flex: 0 0 100px;
90
+ align-self: center;
91
+ }
92
+
93
+ .progress-group-header {
94
+ display: flex;
95
+ flex-basis: 100%;
96
+ align-items: center;
97
+ margin-bottom: $progress-group-header-margin-bottom;
98
+ }
99
+
100
+ .progress-group-bars {
101
+ flex-grow: 1;
102
+ align-self: center;
103
+
104
+ .progress:not(:last-child) {
105
+ margin-bottom: 2px;
106
+ }
107
+ }
108
+
109
+ .progress-group-header + .progress-group-bars {
110
+ flex-basis: 100%;
111
+ }
package/scss/_reboot.scss CHANGED
@@ -87,7 +87,7 @@ hr {
87
87
  font-style: $headings-font-style;
88
88
  font-weight: $headings-font-weight;
89
89
  line-height: $headings-line-height;
90
- color: var(--#{$prefix}heading-color, inherit);
90
+ color: var(--#{$prefix}heading-color);
91
91
  }
92
92
 
93
93
  h1 {
@@ -156,10 +156,10 @@ address {
156
156
 
157
157
  // Lists
158
158
 
159
- ol,
160
- ul {
161
- padding-left: 2rem;
162
- }
159
+ // ol,
160
+ // ul {
161
+ // @include ltr-rtl("padding-left", 2rem); // TODO: find solution
162
+ // }
163
163
 
164
164
  ol,
165
165
  ul,
@@ -183,7 +183,7 @@ dt {
183
183
 
184
184
  dd {
185
185
  margin-bottom: .5rem;
186
- margin-left: 0; // 1
186
+ @include ltr-rtl("margin-left", 0); // 1
187
187
  }
188
188
 
189
189
 
@@ -249,7 +249,6 @@ a {
249
249
  text-decoration: $link-hover-decoration;
250
250
  }
251
251
  }
252
-
253
252
  // And undo these styles for placeholder links/named anchors (without href).
254
253
  // It would be more straightforward to just use a[href] in previous block, but that
255
254
  // causes specificity issues in many other styles that are too complex to fix.
@@ -284,7 +283,7 @@ pre {
284
283
  margin-bottom: 1rem; // 2
285
284
  overflow: auto; // 3
286
285
  @include font-size($code-font-size);
287
- color: $pre-color;
286
+ color: var(--#{$prefix}pre-color, $pre-color);
288
287
 
289
288
  // Account for some code outputs that place code tags in pre tags
290
289
  code {
@@ -308,8 +307,8 @@ code {
308
307
  kbd {
309
308
  padding: $kbd-padding-y $kbd-padding-x;
310
309
  @include font-size($kbd-font-size);
311
- color: $kbd-color;
312
- background-color: $kbd-bg;
310
+ color: var(--#{$prefix}kbd-color, $kbd-color);
311
+ background-color: var(--#{$prefix}kbd-bg, $kbd-bg);
313
312
  @include border-radius($border-radius-sm);
314
313
 
315
314
  kbd {
@@ -349,7 +348,7 @@ table {
349
348
  caption {
350
349
  padding-top: $table-cell-padding-y;
351
350
  padding-bottom: $table-cell-padding-y;
352
- color: $table-caption-color;
351
+ color: var(--#{$prefix}table-caption-color, $table-caption-color);
353
352
  text-align: left;
354
353
  }
355
354
 
@@ -494,7 +493,7 @@ fieldset {
494
493
  // See https://github.com/twbs/bootstrap/issues/29712
495
494
 
496
495
  legend {
497
- float: left; // 1
496
+ @include ltr-rtl("float", left); // 1
498
497
  width: 100%;
499
498
  padding: 0;
500
499
  margin-bottom: $legend-margin-bottom;
@@ -524,30 +523,29 @@ legend {
524
523
  height: auto;
525
524
  }
526
525
 
527
- // 1. Correct the outline style in Safari.
528
- // 2. This overrides the extra rounded corners on search inputs in iOS so that our
526
+ // 1. This overrides the extra rounded corners on search inputs in iOS so that our
529
527
  // `.form-control` class can properly style them. Note that this cannot simply
530
528
  // be added to `.form-control` as it's not specific enough. For details, see
531
529
  // https://github.com/twbs/bootstrap/issues/11586.
530
+ // 2. Correct the outline style in Safari.
532
531
 
533
532
  [type="search"] {
534
- outline-offset: -2px; // 1
535
- -webkit-appearance: textfield; // 2
533
+ -webkit-appearance: textfield; // 1
534
+ outline-offset: -2px; // 2
536
535
  }
537
536
 
538
537
  // 1. A few input types should stay LTR
539
538
  // See https://rtlstyling.com/posts/rtl-styling#form-inputs
540
- // 2. RTL only output
541
- // See https://rtlcss.com/learn/usage-guide/control-directives/#raw
542
539
 
543
- /* rtl:raw:
544
- [type="tel"],
545
- [type="url"],
546
- [type="email"],
547
- [type="number"] {
548
- direction: ltr;
540
+ *[dir="rtl"] {
541
+ [type="tel"],
542
+ [type="url"],
543
+ [type="email"],
544
+ [type="number"] {
545
+ direction: ltr;
546
+ }
549
547
  }
550
- */
548
+
551
549
 
552
550
  // Remove the inner padding in Chrome and Safari on macOS.
553
551
 
package/scss/_root.scss CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  // Colors
6
6
  //
7
- // Generate palettes for full colors, grays, and theme colors.
7
+ // Generate palettes for full colors, grays, and theme colors
8
8
 
9
9
  @each $color, $value in $colors {
10
10
  --#{$prefix}#{$color}: #{$value};
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  @each $color, $value in $theme-colors-text {
26
- --#{$prefix}#{$color}-text: #{$value};
26
+ --#{$prefix}#{$color}-text-emphasis: #{$value};
27
27
  }
28
28
 
29
29
  @each $color, $value in $theme-colors-bg-subtle {
@@ -36,8 +36,6 @@
36
36
 
37
37
  --#{$prefix}white-rgb: #{to-rgb($white)};
38
38
  --#{$prefix}black-rgb: #{to-rgb($black)};
39
- --#{$prefix}body-color-rgb: #{to-rgb($body-color)};
40
- --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
41
39
 
42
40
  // Fonts
43
41
 
@@ -56,7 +54,14 @@
56
54
  @include rfs($font-size-base, --#{$prefix}body-font-size);
57
55
  --#{$prefix}body-font-weight: #{$font-weight-base};
58
56
  --#{$prefix}body-line-height: #{$line-height-base};
57
+ @if $body-text-align != null {
58
+ --#{$prefix}body-text-align: #{$body-text-align};
59
+ }
60
+
59
61
  --#{$prefix}body-color: #{$body-color};
62
+ --#{$prefix}body-color-rgb: #{to-rgb($body-color)};
63
+ --#{$prefix}body-bg: #{$body-bg};
64
+ --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
60
65
 
61
66
  --#{$prefix}emphasis-color: #{$body-emphasis-color};
62
67
  --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};
@@ -71,16 +76,26 @@
71
76
  --#{$prefix}tertiary-bg: #{$body-tertiary-bg};
72
77
  --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};
73
78
 
74
- @if $body-text-align != null {
75
- --#{$prefix}body-text-align: #{$body-text-align};
76
- }
77
- --#{$prefix}body-bg: #{$body-bg};
78
- --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
79
+ --#{$prefix}body-color-dark: #{$body-color-dark};
80
+ --#{$prefix}body-color-rgb-dark: #{to-rgb($body-color-dark)};
81
+ --#{$prefix}body-bg-dark: #{$body-bg-dark};
82
+ --#{$prefix}body-bg-rgb-dark: #{to-rgb($body-bg-dark)};
83
+
84
+ --#{$prefix}emphasis-color-dark: #{$body-emphasis-color-dark};
85
+ --#{$prefix}emphasis-color-rgb-dark: #{to-rgb($body-emphasis-color-dark)};
86
+
87
+ --#{$prefix}secondary-color-dark: #{$body-secondary-color-dark};
88
+ --#{$prefix}secondary-color-rgb-dark: #{to-rgb($body-secondary-color-dark)};
89
+ --#{$prefix}secondary-bg-dark: #{$body-secondary-bg-dark};
90
+ --#{$prefix}secondary-bg-rgb-dark: #{to-rgb($body-secondary-bg-dark)};
91
+
92
+ --#{$prefix}tertiary-color-dark: #{$body-tertiary-color-dark};
93
+ --#{$prefix}tertiary-color-rgb-dark: #{to-rgb($body-tertiary-color-dark)};
94
+ --#{$prefix}tertiary-bg-dark: #{$body-tertiary-bg-dark};
95
+ --#{$prefix}tertiary-bg-rgb-dark: #{to-rgb($body-tertiary-bg-dark)};
79
96
  // scss-docs-end root-body-variables
80
97
 
81
- @if $headings-color != null {
82
- --#{$prefix}heading-color: #{$headings-color};
83
- }
98
+ --#{$prefix}heading-color: #{$headings-color};
84
99
 
85
100
  --#{$prefix}link-color: #{$link-color};
86
101
  --#{$prefix}link-color-rgb: #{to-rgb($link-color)};
@@ -106,7 +121,8 @@
106
121
  --#{$prefix}border-radius-sm: #{$border-radius-sm};
107
122
  --#{$prefix}border-radius-lg: #{$border-radius-lg};
108
123
  --#{$prefix}border-radius-xl: #{$border-radius-xl};
109
- --#{$prefix}border-radius-2xl: #{$border-radius-2xl};
124
+ --#{$prefix}border-radius-xxl: #{$border-radius-xxl};
125
+ --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.0.0 for consistency
110
126
  --#{$prefix}border-radius-pill: #{$border-radius-pill};
111
127
  // scss-docs-end root-border-var
112
128
 
@@ -115,34 +131,25 @@
115
131
  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};
116
132
  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};
117
133
 
118
- --#{$prefix}emphasis-color: #{$emphasis-color};
119
-
120
- // scss-docs-start form-control-vars
121
- --#{$prefix}form-control-bg: var(--#{$prefix}body-bg);
122
- --#{$prefix}form-control-disabled-bg: var(--#{$prefix}secondary-bg);
123
- // scss-docs-end form-control-vars
124
-
125
- --#{$prefix}highlight-bg: #{$mark-bg};
126
-
127
- @each $name, $value in $grid-breakpoints {
128
- --#{$prefix}breakpoint-#{$name}: #{$value};
129
- }
130
-
131
- --#{$prefix}mobile-breakpoint: #{$mobile-breakpoint};
134
+ // Focus styles
135
+ // scss-docs-start root-focus-variables
136
+ --#{$prefix}focus-ring-width: #{$focus-ring-width};
137
+ --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
138
+ --#{$prefix}focus-ring-color: #{$focus-ring-color};
139
+ // scss-docs-end root-focus-variables
140
+
141
+ // scss-docs-start root-form-validation-variables
142
+ --#{$prefix}form-valid-color: #{$form-valid-color};
143
+ --#{$prefix}form-valid-border-color: #{$form-valid-border-color};
144
+ --#{$prefix}form-invalid-color: #{$form-invalid-color};
145
+ --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};
146
+ // scss-docs-end root-form-validation-variables
132
147
  }
133
148
 
134
149
  @if $enable-dark-mode {
135
150
  @include color-mode(dark, true) {
136
151
  color-scheme: dark;
137
152
 
138
- @each $color, $value in $theme-colors-dark {
139
- --#{$prefix}#{$color}: #{$value};
140
- }
141
-
142
- @each $color, $value in $theme-colors-dark-rgb {
143
- --#{$prefix}#{$color}-rgb: #{$value};
144
- }
145
-
146
153
  // scss-docs-start root-dark-mode-vars
147
154
  --#{$prefix}body-color: #{$body-color-dark};
148
155
  --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
@@ -162,34 +169,29 @@
162
169
  --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
163
170
  --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};
164
171
 
165
- --#{$prefix}emphasis-color: #{$emphasis-color-dark};
166
-
167
- --#{$prefix}primary-text: #{$primary-text-dark};
168
- --#{$prefix}secondary-text: #{$secondary-text-dark};
169
- --#{$prefix}success-text: #{$success-text-dark};
170
- --#{$prefix}info-text: #{$info-text-dark};
171
- --#{$prefix}warning-text: #{$warning-text-dark};
172
- --#{$prefix}danger-text: #{$danger-text-dark};
173
- --#{$prefix}light-text: #{$light-text-dark};
174
- --#{$prefix}dark-text: #{$dark-text-dark};
175
-
176
- --#{$prefix}primary-bg-subtle: #{$primary-bg-subtle-dark};
177
- --#{$prefix}secondary-bg-subtle: #{$secondary-bg-subtle-dark};
178
- --#{$prefix}success-bg-subtle: #{$success-bg-subtle-dark};
179
- --#{$prefix}info-bg-subtle: #{$info-bg-subtle-dark};
180
- --#{$prefix}warning-bg-subtle: #{$warning-bg-subtle-dark};
181
- --#{$prefix}danger-bg-subtle: #{$danger-bg-subtle-dark};
182
- --#{$prefix}light-bg-subtle: #{$light-bg-subtle-dark};
183
- --#{$prefix}dark-bg-subtle: #{$dark-bg-subtle-dark};
184
-
185
- --#{$prefix}primary-border-subtle: #{$primary-border-subtle-dark};
186
- --#{$prefix}secondary-border-subtle: #{$secondary-border-subtle-dark};
187
- --#{$prefix}success-border-subtle: #{$success-border-subtle-dark};
188
- --#{$prefix}info-border-subtle: #{$info-border-subtle-dark};
189
- --#{$prefix}warning-border-subtle: #{$warning-border-subtle-dark};
190
- --#{$prefix}danger-border-subtle: #{$danger-border-subtle-dark};
191
- --#{$prefix}light-border-subtle: #{$light-border-subtle-dark};
192
- --#{$prefix}dark-border-subtle: #{$dark-border-subtle-dark};
172
+ @each $color, $value in $theme-colors-dark {
173
+ --#{$prefix}#{$color}: #{$value};
174
+ }
175
+
176
+ @each $color, $value in $grays-dark {
177
+ --#{$prefix}gray-#{$color}: #{$value};
178
+ }
179
+
180
+ @each $color, $value in $theme-colors-rgb-dark {
181
+ --#{$prefix}#{$color}-rgb: #{$value};
182
+ }
183
+
184
+ @each $color, $value in $theme-colors-text-dark {
185
+ --#{$prefix}#{$color}-text-emphasis: #{$value};
186
+ }
187
+
188
+ @each $color, $value in $theme-colors-bg-subtle-dark {
189
+ --#{$prefix}#{$color}-bg-subtle: #{$value};
190
+ }
191
+
192
+ @each $color, $value in $theme-colors-border-subtle-dark {
193
+ --#{$prefix}#{$color}-border-subtle: #{$value};
194
+ }
193
195
 
194
196
  --#{$prefix}heading-color: #{$headings-color-dark};
195
197
 
@@ -202,6 +204,11 @@
202
204
 
203
205
  --#{$prefix}border-color: #{$border-color-dark};
204
206
  --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};
207
+
208
+ --#{$prefix}form-valid-color: #{$form-valid-color-dark};
209
+ --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};
210
+ --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};
211
+ --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};
205
212
  // scss-docs-end root-dark-mode-vars
206
213
  }
207
214
  }
@@ -1,14 +1,3 @@
1
1
  @import "sidebar/sidebar";
2
2
  @import "sidebar/sidebar-nav";
3
3
  @import "sidebar/sidebar-narrow";
4
-
5
- @if $enable-dark-mode {
6
- @include color-mode(dark) {
7
- .sidebar {
8
- --#{$prefix}sidebar-bg: #{$sidebar-bg-dark};
9
- --#{$prefix}sidebar-color: #{$sidebar-color-dark};
10
- --#{$prefix}sidebar-nav-link-active-bg: #{$sidebar-nav-link-active-bg-dark};
11
- --#{$prefix}sidebar-nav-link-hover-bg: #{$sidebar-nav-link-hover-bg-dark};
12
- }
13
- }
14
- }
package/scss/_tables.scss CHANGED
@@ -3,6 +3,12 @@
3
3
  //
4
4
 
5
5
  .table {
6
+ // Reset needed for nesting tables
7
+ --#{$prefix}table-color-type: initial;
8
+ --#{$prefix}table-bg-type: initial;
9
+ --#{$prefix}table-color-state: initial;
10
+ --#{$prefix}table-bg-state: initial;
11
+ // End of reset
6
12
  --#{$prefix}table-color: #{$table-color};
7
13
  --#{$prefix}table-bg: #{$table-bg};
8
14
  --#{$prefix}table-border-color: #{$table-border-color};
@@ -16,7 +22,6 @@
16
22
 
17
23
  width: 100%;
18
24
  margin-bottom: $spacer;
19
- color: var(--#{$prefix}table-color);
20
25
  vertical-align: $table-cell-vertical-align;
21
26
  border-color: var(--#{$prefix}table-border-color);
22
27
 
@@ -27,9 +32,11 @@
27
32
  // stylelint-disable-next-line selector-max-universal
28
33
  > :not(caption) > * > * {
29
34
  padding: $table-cell-padding-y $table-cell-padding-x;
35
+ // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb
36
+ color: var(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}table-color)));
30
37
  background-color: var(--#{$prefix}table-bg);
31
38
  border-bottom-width: $table-border-width;
32
- box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-accent-bg);
39
+ box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}table-accent-bg)));
33
40
  }
34
41
 
35
42
  > tbody {
@@ -42,7 +49,7 @@
42
49
  }
43
50
 
44
51
  .table-group-divider {
45
- border-top: calc($table-border-width * 2) solid $table-group-separator-color; // stylelint-disable-line function-disallowed-list
52
+ border-top: calc(#{$table-border-width} * 2) solid $table-group-separator-color; // stylelint-disable-line function-disallowed-list
46
53
  }
47
54
 
48
55
  //
@@ -104,16 +111,16 @@
104
111
  // For rows
105
112
  .table-striped {
106
113
  > tbody > tr:nth-of-type(#{$table-striped-order}) > * {
107
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);
108
- color: var(--#{$prefix}table-striped-color);
114
+ --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
115
+ --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
109
116
  }
110
117
  }
111
118
 
112
119
  // For columns
113
120
  .table-striped-columns {
114
121
  > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {
115
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);
116
- color: var(--#{$prefix}table-striped-color);
122
+ --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
123
+ --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
117
124
  }
118
125
  }
119
126
 
@@ -122,8 +129,8 @@
122
129
  // The `.table-active` class can be added to highlight rows or cells
123
130
 
124
131
  .table-active {
125
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-active-bg);
126
- color: var(--#{$prefix}table-active-color);
132
+ --#{$prefix}table-color-state: var(--#{$prefix}table-active-color);
133
+ --#{$prefix}table-bg-state: var(--#{$prefix}table-active-bg);
127
134
  }
128
135
 
129
136
  // Hover effect
@@ -132,8 +139,8 @@
132
139
 
133
140
  .table-hover {
134
141
  > tbody > tr:hover > * {
135
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-hover-bg);
136
- color: var(--#{$prefix}table-hover-color);
142
+ --#{$prefix}table-color-state: var(--#{$prefix}table-hover-color);
143
+ --#{$prefix}table-bg-state: var(--#{$prefix}table-hover-bg);
137
144
  }
138
145
  }
139
146
 
package/scss/_toasts.scss CHANGED
@@ -62,8 +62,8 @@
62
62
  @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));
63
63
 
64
64
  .btn-close {
65
- margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x)); // stylelint-disable-line function-disallowed-list
66
- margin-left: var(--#{$prefix}toast-padding-x);
65
+ @include ltr-rtl("margin-right", calc(-.5 * var(--#{$prefix}toast-padding-x)));
66
+ @include ltr-rtl("margin-left", var(--#{$prefix}toast-padding-x));
67
67
  }
68
68
  }
69
69
 
@@ -17,9 +17,8 @@
17
17
 
18
18
  z-index: var(--#{$prefix}tooltip-zindex);
19
19
  display: block;
20
- padding: var(--#{$prefix}tooltip-arrow-height);
21
20
  margin: var(--#{$prefix}tooltip-margin);
22
- @include deprecate("`$tooltip-margin`", "v5", "v5.x", true);
21
+ @include deprecate("`$tooltip-margin`", "v4", "v4.x", true);
23
22
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
24
23
  // So reset our font and text properties to avoid inheriting weird values.
25
24
  @include reset-text();
@@ -44,8 +43,8 @@
44
43
  }
45
44
  }
46
45
 
47
- .cui-tooltip-top .tooltip-arrow {
48
- bottom: 0;
46
+ .bs-tooltip-top .tooltip-arrow {
47
+ bottom: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
49
48
 
50
49
  &::before {
51
50
  top: -1px;
@@ -55,8 +54,8 @@
55
54
  }
56
55
 
57
56
  /* rtl:begin:ignore */
58
- .cui-tooltip-end .tooltip-arrow {
59
- left: 0;
57
+ .bs-tooltip-end .tooltip-arrow {
58
+ left: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
60
59
  width: var(--#{$prefix}tooltip-arrow-height);
61
60
  height: var(--#{$prefix}tooltip-arrow-width);
62
61
 
@@ -69,8 +68,8 @@
69
68
 
70
69
  /* rtl:end:ignore */
71
70
 
72
- .cui-tooltip-bottom .tooltip-arrow {
73
- top: 0;
71
+ .bs-tooltip-bottom .tooltip-arrow {
72
+ top: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
74
73
 
75
74
  &::before {
76
75
  bottom: -1px;
@@ -80,8 +79,8 @@
80
79
  }
81
80
 
82
81
  /* rtl:begin:ignore */
83
- .cui-tooltip-start .tooltip-arrow {
84
- right: 0;
82
+ .bs-tooltip-start .tooltip-arrow {
83
+ right: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
85
84
  width: var(--#{$prefix}tooltip-arrow-height);
86
85
  height: var(--#{$prefix}tooltip-arrow-width);
87
86
 
@@ -94,18 +93,18 @@
94
93
 
95
94
  /* rtl:end:ignore */
96
95
 
97
- .cui-tooltip-auto {
96
+ .bs-tooltip-auto {
98
97
  &[data-popper-placement^="top"] {
99
- @extend .cui-tooltip-top;
98
+ @extend .bs-tooltip-top;
100
99
  }
101
100
  &[data-popper-placement^="right"] {
102
- @extend .cui-tooltip-end;
101
+ @extend .bs-tooltip-end;
103
102
  }
104
103
  &[data-popper-placement^="bottom"] {
105
- @extend .cui-tooltip-bottom;
104
+ @extend .bs-tooltip-bottom;
106
105
  }
107
106
  &[data-popper-placement^="left"] {
108
- @extend .cui-tooltip-start;
107
+ @extend .bs-tooltip-start;
109
108
  }
110
109
  }
111
110