@coreui/coreui 5.0.0-alpha.1 → 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 (108) hide show
  1. package/README.md +1 -1
  2. package/dist/css/coreui-grid.css +1 -1
  3. package/dist/css/coreui-grid.css.map +1 -1
  4. package/dist/css/coreui-grid.min.css +1 -1
  5. package/dist/css/coreui-grid.min.css.map +1 -1
  6. package/dist/css/coreui-grid.rtl.css +1 -6
  7. package/dist/css/coreui-grid.rtl.css.map +1 -1
  8. package/dist/css/coreui-grid.rtl.min.css +1 -5
  9. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  10. package/dist/css/coreui-reboot.css +45 -40
  11. package/dist/css/coreui-reboot.css.map +1 -1
  12. package/dist/css/coreui-reboot.min.css +2 -2
  13. package/dist/css/coreui-reboot.min.css.map +1 -1
  14. package/dist/css/coreui-reboot.rtl.css +45 -45
  15. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  16. package/dist/css/coreui-reboot.rtl.min.css +2 -6
  17. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  18. package/dist/css/coreui-utilities.css +87 -82
  19. package/dist/css/coreui-utilities.css.map +1 -1
  20. package/dist/css/coreui-utilities.min.css +2 -2
  21. package/dist/css/coreui-utilities.min.css.map +1 -1
  22. package/dist/css/coreui-utilities.rtl.css +81 -81
  23. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  24. package/dist/css/coreui-utilities.rtl.min.css +2 -6
  25. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  26. package/dist/css/coreui.css +659 -675
  27. package/dist/css/coreui.css.map +1 -1
  28. package/dist/css/coreui.min.css +2 -2
  29. package/dist/css/coreui.min.css.map +1 -1
  30. package/dist/css/coreui.rtl.css +690 -717
  31. package/dist/css/coreui.rtl.css.map +1 -1
  32. package/dist/css/coreui.rtl.min.css +2 -6
  33. package/dist/css/coreui.rtl.min.css.map +1 -1
  34. package/dist/js/coreui.bundle.js +13 -5
  35. package/dist/js/coreui.bundle.js.map +1 -1
  36. package/dist/js/coreui.bundle.min.js +2 -2
  37. package/dist/js/coreui.bundle.min.js.map +1 -1
  38. package/dist/js/coreui.esm.js +13 -5
  39. package/dist/js/coreui.esm.js.map +1 -1
  40. package/dist/js/coreui.esm.min.js +2 -2
  41. package/dist/js/coreui.esm.min.js.map +1 -1
  42. package/dist/js/coreui.js +13 -5
  43. package/dist/js/coreui.js.map +1 -1
  44. package/dist/js/coreui.min.js +2 -2
  45. package/dist/js/coreui.min.js.map +1 -1
  46. package/js/dist/alert.js +1 -1
  47. package/js/dist/base-component.js +2 -2
  48. package/js/dist/base-component.js.map +1 -1
  49. package/js/dist/button.js +1 -1
  50. package/js/dist/carousel.js +1 -1
  51. package/js/dist/collapse.js +1 -1
  52. package/js/dist/dom/data.js +1 -1
  53. package/js/dist/dom/event-handler.js +1 -1
  54. package/js/dist/dom/manipulator.js +1 -1
  55. package/js/dist/dom/selector-engine.js +1 -1
  56. package/js/dist/dropdown.js +1 -1
  57. package/js/dist/modal.js +1 -1
  58. package/js/dist/navigation.js +1 -1
  59. package/js/dist/offcanvas.js +1 -1
  60. package/js/dist/popover.js +1 -1
  61. package/js/dist/scrollspy.js +1 -1
  62. package/js/dist/sidebar.js +1 -1
  63. package/js/dist/tab.js +12 -4
  64. package/js/dist/tab.js.map +1 -1
  65. package/js/dist/toast.js +1 -1
  66. package/js/dist/tooltip.js +1 -1
  67. package/js/dist/util/backdrop.js +1 -1
  68. package/js/dist/util/component-functions.js +1 -1
  69. package/js/dist/util/config.js +1 -1
  70. package/js/dist/util/focustrap.js +1 -1
  71. package/js/dist/util/index.js +1 -1
  72. package/js/dist/util/sanitizer.js +1 -1
  73. package/js/dist/util/scrollbar.js +1 -1
  74. package/js/dist/util/swipe.js +1 -1
  75. package/js/dist/util/template-factory.js +1 -1
  76. package/js/src/base-component.js +1 -1
  77. package/js/src/tab.js +13 -3
  78. package/package.json +20 -20
  79. package/scss/_button-group.scss +3 -3
  80. package/scss/_card.scss +3 -3
  81. package/scss/_close.scss +1 -0
  82. package/scss/_dropdown.scss +4 -4
  83. package/scss/_header.scss +3 -12
  84. package/scss/_nav.scss +35 -17
  85. package/scss/_reboot.scss +4 -4
  86. package/scss/_root.scss +18 -12
  87. package/scss/_tooltip.scss +1 -1
  88. package/scss/_type.scss +1 -1
  89. package/scss/_variables-dark.scss +8 -17
  90. package/scss/_variables.scss +119 -139
  91. package/scss/coreui-grid.rtl.scss +0 -3
  92. package/scss/coreui-reboot.rtl.scss +0 -3
  93. package/scss/coreui-utilities.rtl.scss +0 -3
  94. package/scss/coreui.rtl.scss +0 -3
  95. package/scss/coreui.scss +0 -1
  96. package/scss/forms/_floating-labels.scss +3 -2
  97. package/scss/forms/_form-check.scss +12 -12
  98. package/scss/forms/_form-control.scss +1 -1
  99. package/scss/forms/_form-range.scss +3 -3
  100. package/scss/forms/_form-select.scss +1 -1
  101. package/scss/helpers/_color-bg.scss +1 -2
  102. package/scss/helpers/_vr.scss +1 -1
  103. package/scss/mixins/_banner.scss +1 -1
  104. package/scss/mixins/_caret.scss +3 -3
  105. package/scss/sidebar/_sidebar-narrow.scss +33 -13
  106. package/scss/sidebar/_sidebar-nav.scss +114 -19
  107. package/scss/sidebar/_sidebar.scss +82 -131
  108. package/scss/_subheader.scss +0 -72
@@ -35,7 +35,7 @@
35
35
  @if $enable-caret {
36
36
  &::after {
37
37
  display: inline-block;
38
- margin-left: $spacing;
38
+ @include ltr-rtl("margin-left", $spacing);
39
39
  vertical-align: $vertical-align;
40
40
  content: "";
41
41
  @if $direction == down {
@@ -54,7 +54,7 @@
54
54
 
55
55
  &::before {
56
56
  display: inline-block;
57
- margin-right: $spacing;
57
+ @include ltr-rtl("margin-right", $spacing);
58
58
  vertical-align: $vertical-align;
59
59
  content: "";
60
60
  @include caret-start($width);
@@ -62,7 +62,7 @@
62
62
  }
63
63
 
64
64
  &:empty::after {
65
- margin-left: 0;
65
+ @include ltr-rtl("margin-left", 0);
66
66
  }
67
67
  }
68
68
  }
@@ -1,4 +1,13 @@
1
1
  %sidebar-narrow {
2
+ // scss-docs-start sidebar-narrow-css-vars
3
+ --#{$prefix}sidebar-narrow-width: #{$sidebar-narrow-width};
4
+ // scss-docs-end sidebar-narrow-css-vars
5
+
6
+ .sidebar-nav {
7
+ --#{$prefix}sidebar-nav-link-padding-x: #{$sidebar-narrow-nav-link-padding-x};
8
+ --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-narrow-nav-link-padding-y};
9
+ }
10
+
2
11
  @include media-breakpoint-up($mobile-breakpoint) {
3
12
  z-index: $zindex-fixed + 1;
4
13
  flex: 0 0 var(--#{$prefix}sidebar-narrow-width);
@@ -19,14 +28,22 @@
19
28
  display: block;
20
29
  }
21
30
 
31
+ .sidebar-header {
32
+ justify-content: center;
33
+ padding-right: 0;
34
+ padding-left: 0;
35
+ }
36
+
37
+ .nav-icon {
38
+ flex: 0 0 calc(var(--#{$prefix}sidebar-narrow-width) - (var(--#{$prefix}sidebar-nav-padding-x) * 2) - (var(--#{$prefix}sidebar-nav-link-padding-x) * 2)); // stylelint-disable-line function-disallowed-list
39
+ }
40
+
22
41
  .d-narrow-none,
23
42
  .nav-label,
24
43
  .nav-title,
25
44
  .nav-group-items,
26
45
  .nav-group.show .nav-group-items,
27
- .sidebar-footer,
28
- .sidebar-form,
29
- .sidebar-header {
46
+ .sidebar-form {
30
47
  height: 0 !important; // stylelint-disable-line declaration-no-important
31
48
  padding: 0;
32
49
  margin: 0;
@@ -35,12 +52,7 @@
35
52
  }
36
53
 
37
54
  .sidebar-toggler {
38
- position: fixed;
39
- bottom: 0;
40
-
41
- &::before {
42
- @include ltr-rtl("transform", rotate(-180deg), null, rotate(0deg));
43
- }
55
+ @include ltr-rtl("transform", rotate(-180deg), null, rotate(0deg));
44
56
  }
45
57
 
46
58
  &.sidebar-end .sidebar-toggler::before {
@@ -57,6 +69,10 @@
57
69
  &.sidebar-end ~ * {
58
70
  --#{$prefix}sidebar-occupy-end: #{$sidebar-narrow-width};
59
71
  }
72
+
73
+ .nav-link {
74
+ overflow: hidden;
75
+ }
60
76
  }
61
77
 
62
78
  .sidebar-narrow-unfoldable {
@@ -75,16 +91,20 @@
75
91
  }
76
92
 
77
93
  &:hover {
94
+ box-shadow: $box-shadow;
95
+
78
96
  .sidebar-toggler {
79
- &::before {
80
- @include ltr-rtl("transform", rotate(-180deg), null, rotate(0deg));
81
- }
97
+ @include ltr-rtl("transform", rotate(-180deg), null, rotate(0deg));
82
98
  }
83
99
 
84
- &.sidebar-end .sidebar-toggler::before {
100
+ &.sidebar-end .sidebar-toggler {
85
101
  transform: rotate(0deg);
86
102
  }
87
103
  }
104
+
105
+ .nav-link {
106
+ overflow: hidden;
107
+ }
88
108
  }
89
109
 
90
110
  // Responsive behavior
@@ -1,16 +1,79 @@
1
1
  // Sidebar navigation
2
2
 
3
3
  .sidebar-nav {
4
+ // scss-docs-start sidebar-nav-css-vars
5
+ --#{$prefix}sidebar-nav-padding-x: #{$sidebar-nav-padding-x};
6
+ --#{$prefix}sidebar-nav-padding-y: #{$sidebar-nav-padding-y};
7
+
8
+ --#{$prefix}sidebar-nav-title-padding-x: #{$sidebar-nav-title-padding-x};
9
+ --#{$prefix}sidebar-nav-title-padding-y: #{$sidebar-nav-title-padding-y};
10
+ --#{$prefix}sidebar-nav-title-margin-top: #{$sidebar-nav-title-margin-top};
11
+ --#{$prefix}sidebar-nav-title-color: #{$sidebar-nav-title-color};
12
+
13
+ --#{$prefix}sidebar-nav-link-padding-x: #{$sidebar-nav-link-padding-x};
14
+ --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-nav-link-padding-y};
15
+ --#{$prefix}sidebar-nav-link-color: #{$sidebar-nav-link-color};
16
+ --#{$prefix}sidebar-nav-link-bg: #{$sidebar-nav-link-bg};
17
+ --#{$prefix}sidebar-nav-link-border-color: #{$sidebar-nav-link-border-color};
18
+ --#{$prefix}sidebar-nav-link-border-radius: #{$sidebar-nav-link-border-radius};
19
+ --#{$prefix}sidebar-nav-link-border-width: #{$sidebar-nav-link-border-width};
20
+
21
+ --#{$prefix}sidebar-nav-link-active-color: #{$sidebar-nav-link-active-color};
22
+ --#{$prefix}sidebar-nav-link-active-bg: #{$sidebar-nav-link-active-bg};
23
+ --#{$prefix}sidebar-nav-link-disabled-color: #{$sidebar-nav-link-disabled-color};
24
+ --#{$prefix}sidebar-nav-link-hover-color: #{$sidebar-nav-link-hover-color};
25
+ --#{$prefix}sidebar-nav-link-hover-bg: #{$sidebar-nav-link-hover-bg};
26
+
27
+ --#{$prefix}sidebar-nav-link-icon-margin: #{$sidebar-nav-link-icon-margin};
28
+ --#{$prefix}sidebar-nav-link-icon-color: #{$sidebar-nav-link-icon-color};
29
+ --#{$prefix}sidebar-nav-link-icon-width: #{$sidebar-nav-link-icon-width};
30
+ --#{$prefix}sidebar-nav-link-icon-height: #{$sidebar-nav-link-icon-height};
31
+ --#{$prefix}sidebar-nav-link-icon-font-size: #{$sidebar-nav-link-icon-font-size};
32
+ --#{$prefix}sidebar-nav-link-active-icon-color: #{$sidebar-nav-link-active-icon-color};
33
+ --#{$prefix}sidebar-nav-link-disabled-icon-color: #{$sidebar-nav-link-disabled-icon-color};
34
+ --#{$prefix}sidebar-nav-link-hover-icon-color: #{$sidebar-nav-link-hover-icon-color};
35
+
36
+ --#{$prefix}sidebar-nav-link-icon-bullet-size: #{$sidebar-nav-link-icon-bullet-size};
37
+ --#{$prefix}sidebar-nav-link-icon-bullet-bg: #{$sidebar-nav-link-icon-bullet-bg};
38
+ --#{$prefix}sidebar-nav-link-icon-bullet-border-width: #{$sidebar-nav-link-icon-bullet-border-width};
39
+ --#{$prefix}sidebar-nav-link-icon-bullet-border-radius: #{$sidebar-nav-link-icon-bullet-border-radius};
40
+ --#{$prefix}sidebar-nav-link-icon-bullet-border-color: #{$sidebar-nav-link-icon-bullet-border-color};
41
+ --#{$prefix}sidebar-nav-link-active-icon-bullet-bg: #{$sidebar-nav-link-active-icon-bullet-bg};
42
+ --#{$prefix}sidebar-nav-link-active-icon-bullet-border-color: #{$sidebar-nav-link-active-icon-bullet-border-color};
43
+ --#{$prefix}sidebar-nav-link-disabled-icon-bullet-bg: #{$sidebar-nav-link-disabled-icon-bullet-bg};
44
+ --#{$prefix}sidebar-nav-link-disabled-icon-bullet-border-color: #{$sidebar-nav-link-disabled-icon-bullet-border-color};
45
+ --#{$prefix}sidebar-nav-link-hover-icon-bullet-bg: #{$sidebar-nav-link-hover-icon-bullet-bg};
46
+ --#{$prefix}sidebar-nav-link-hover-icon-bullet-border-color: #{$sidebar-nav-link-hover-icon-bullet-border-color};
47
+
48
+ --#{$prefix}sidebar-nav-group-bg: #{$sidebar-nav-group-bg};
49
+ --#{$prefix}sidebar-nav-group-border-width: #{$sidebar-nav-group-border-width};
50
+ --#{$prefix}sidebar-nav-group-border-radius: #{$sidebar-nav-group-border-radius};
51
+ --#{$prefix}sidebar-nav-group-border-color: #{$sidebar-nav-group-border-color};
52
+ --#{$prefix}sidebar-nav-group-items-padding-y: #{$sidebar-nav-group-items-padding-y};
53
+ --#{$prefix}sidebar-nav-group-items-padding-x: #{$sidebar-nav-group-items-padding-x};
54
+ --#{$prefix}sidebar-nav-group-indicator-color: #{escape-svg($sidebar-nav-group-indicator-color)};
55
+ --#{$prefix}sidebar-nav-group-indicator-icon: #{escape-svg($sidebar-nav-group-indicator-icon)};
56
+ --#{$prefix}sidebar-nav-group-indicator-hover-color: #{escape-svg($sidebar-nav-group-indicator-hover-color)};
57
+ --#{$prefix}sidebar-nav-group-indicator-hover-icon: #{escape-svg($sidebar-nav-group-indicator-hover-icon)};
58
+ --#{$prefix}sidebar-nav-group-toggle-show-color: #{$sidebar-nav-group-toggle-show-color};
59
+ // scss-docs-end sidebar-nav-css-vars
60
+
4
61
  position: relative;
5
62
  display: flex;
6
63
  flex: 1;
7
64
  flex-direction: column;
8
- padding: 0;
65
+ padding: var(--#{$prefix}sidebar-nav-padding-y) var(--#{$prefix}sidebar-nav-padding-x);
9
66
  margin-bottom: 0;
10
67
  overflow-x: hidden;
11
68
  overflow-y: auto;
12
69
  list-style: none;
13
70
 
71
+ .nav-item + .nav-item,
72
+ .nav-item + .nav-group,
73
+ .nav-group + .nav-item {
74
+ margin-top: 1px;
75
+ }
76
+
14
77
  .nav-title {
15
78
  padding: var(--#{$prefix}sidebar-nav-title-padding-y) var(--#{$prefix}sidebar-nav-title-padding-x);
16
79
  margin-top: var(--#{$prefix}sidebar-nav-title-margin-top);
@@ -30,7 +93,7 @@
30
93
  text-decoration: none;
31
94
  white-space: nowrap;
32
95
  background: var(--#{$prefix}sidebar-nav-link-bg);
33
- border: var(--#{$prefix}sidebar-nav-link-border);
96
+ border: var(--#{$prefix}sidebar-nav-link-border-width) solid var(--#{$prefix}sidebar-nav-link-border-color);
34
97
  @include border-radius(var(--#{$prefix}sidebar-nav-link-border-radius));
35
98
  @include transition($sidebar-nav-link-transition);
36
99
 
@@ -41,6 +104,11 @@
41
104
  .nav-icon {
42
105
  color: var(--#{$prefix}sidebar-nav-link-active-icon-color);
43
106
  }
107
+
108
+ .nav-icon-bullet {
109
+ background: var(--#{$prefix}sidebar-link-active-icon-bullet-bg);
110
+ border-color: var(--#{$prefix}sidebar-link-active-icon-bullet-border-color);
111
+ }
44
112
  }
45
113
 
46
114
  &.disabled {
@@ -53,6 +121,11 @@
53
121
  color: var(--#{$prefix}sidebar-nav-link-disabled-icon-color);
54
122
  }
55
123
 
124
+ .nav-icon-bullet {
125
+ background: var(--#{$prefix}sidebar-link-disabled-icon-bullet-bg);
126
+ border-color: var(--#{$prefix}sidebar-link-disabled-icon-bullet-border-color);
127
+ }
128
+
56
129
  &:hover {
57
130
  color: var(--#{$prefix}sidebar-nav-link-disabled-color);
58
131
 
@@ -60,8 +133,14 @@
60
133
  color: var(--#{$prefix}sidebar-nav-link-disabled-icon-color);
61
134
  }
62
135
 
136
+ .nav-icon-bullet {
137
+ background: var(--#{$prefix}sidebar-link-disabled-icon-bullet-bg);
138
+ border-color: var(--#{$prefix}sidebar-link-disabled-icon-bullet-border-color);
139
+ }
140
+
63
141
  &.nav-dropdown-toggle::after {
64
- background-image: var(--#{$prefix}sidebar-nav-group-indicator-hover);
142
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
143
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
65
144
  }
66
145
  }
67
146
  }
@@ -76,27 +155,43 @@
76
155
  color: var(--#{$prefix}sidebar-nav-link-hover-icon-color);
77
156
  }
78
157
 
158
+ .nav-icon-bullet {
159
+ background: var(--#{$prefix}sidebar-link-hover-icon-bullet-bg);
160
+ border-color: var(--#{$prefix}sidebar-link-hover-icon-bullet-border-color);
161
+ }
162
+
79
163
  &.nav-group-toggle::after {
80
- background-image: var(--#{$prefix}sidebar-nav-group-indicator-hover);
164
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
165
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
81
166
  }
82
167
  }
83
168
  }
84
169
  }
85
170
 
86
171
  .nav-icon {
87
- flex: 0 0 var(--#{$prefix}sidebar-nav-icon-width);
88
- height: var(--#{$prefix}sidebar-nav-icon-height);
89
- font-size: var(--#{$prefix}sidebar-nav-icon-font-size);
172
+ display: flex;
173
+ flex: 0 0 var(--#{$prefix}sidebar-nav-link-icon-width);
174
+ align-items: center;
175
+ justify-content: center;
176
+ height: var(--#{$prefix}sidebar-nav-link-icon-height);
177
+ @include ltr-rtl("margin-right", var(--#{$prefix}sidebar-nav-link-icon-margin));
178
+ font-size: var(--#{$prefix}sidebar-nav-link-icon-font-size);
90
179
  color: var(--#{$prefix}sidebar-nav-link-icon-color);
91
180
  text-align: center;
92
181
  pointer-events: none;
93
182
  fill: currentcolor;
94
183
  @include transition(inherit);
184
+ }
95
185
 
96
- &:first-child {
97
- @include ltr-rtl("margin-left", calc(var(--#{$prefix}sidebar-nav-link-padding-x) * -1));
98
- }
186
+ .nav-icon-bullet {
187
+ display: inline-block;
188
+ width: var(--#{$prefix}sidebar-nav-link-icon-bullet-size);
189
+ height: var(--#{$prefix}sidebar-nav-link-icon-bullet-size);
190
+ background: var(--#{$prefix}sidebar-nav-link-icon-bullet-bg);
191
+ border: var(--#{$prefix}sidebar-nav-link-icon-bullet-border-width) solid var(--#{$prefix}sidebar-nav-link-icon-bullet-border-color);
192
+ border-radius: var(--#{$prefix}sidebar-nav-link-icon-bullet-border-radius); // stylelint-disable-line property-disallowed-list
99
193
  }
194
+
100
195
  // stylelint-disable-next-line selector-no-qualifying-type
101
196
  svg.nav-icon {
102
197
  overflow: hidden; // fix chrome 105+ width issue
@@ -104,6 +199,8 @@
104
199
 
105
200
  .nav-group {
106
201
  position: relative;
202
+ border: var(--#{$prefix}sidebar-nav-group-border-width) solid var(--#{$prefix}sidebar-nav-group-border-color);
203
+ @include border-radius(var(--#{$prefix}sidebar-nav-group-border-radius));
107
204
  @include transition($sidebar-nav-group-transition);
108
205
 
109
206
  .nav-group-items {
@@ -142,9 +239,8 @@
142
239
  height: 12px;
143
240
  @include ltr-rtl("margin-left", auto);
144
241
  content: "";
145
- background-image: var(--#{$prefix}sidebar-nav-group-indicator);
146
- background-repeat: no-repeat;
147
- background-position: center;
242
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-icon);
243
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-color);
148
244
  @include transition($sidebar-nav-group-indicator-transition);
149
245
  }
150
246
  }
@@ -154,19 +250,18 @@
154
250
  list-style: none;
155
251
 
156
252
  .nav-link {
157
- @include ltr-rtl("padding-left", var(--#{$prefix}sidebar-nav-icon-width));
253
+ @include ltr-rtl("padding-left", calc(var(--#{$prefix}sidebar-nav-link-padding-x) + var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)));
254
+ }
158
255
 
159
- .nav-icon {
160
- @include ltr-rtl("margin-left", calc(var(--#{$prefix}sidebar-nav-icon-width) * -1));
161
- }
256
+ .nav-icon {
257
+ @include ltr-rtl("margin-left", calc((var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)) * -1));
162
258
  }
163
259
  }
164
260
 
165
261
  &.compact,
166
262
  .compact {
167
263
  .nav-link {
168
- padding-top: calc(var(--#{$prefix}sidebar-nav-link-padding-y) * .5); // stylelint-disable-line function-disallowed-list
169
- padding-bottom: calc(var(--#{$prefix}sidebar-nav-link-padding-y) * .5); // stylelint-disable-line function-disallowed-list
264
+ --#{$prefix}sidebar-nav-link-padding-y: #{calc($sidebar-nav-link-padding-y * .75)};
170
265
  }
171
266
  }
172
267
  }
@@ -1,3 +1,5 @@
1
+ // stylelint-disable function-disallowed-list
2
+
1
3
  .sidebar {
2
4
  // scss-docs-start sidebar-css-vars
3
5
  --#{$prefix}sidebar-width: #{$sidebar-width};
@@ -5,56 +7,8 @@
5
7
  --#{$prefix}sidebar-padding-x: #{$sidebar-padding-x};
6
8
  --#{$prefix}sidebar-padding-y: #{$sidebar-padding-y};
7
9
  --#{$prefix}sidebar-color: #{$sidebar-color};
8
- --#{$prefix}sidebar-border-width: #{$sidebar-border-width};
9
- --#{$prefix}sidebar-border-color: #{$sidebar-border-color};
10
10
  --#{$prefix}sidebar-brand-color: #{$sidebar-brand-color};
11
- --#{$prefix}sidebar-brand-height: #{$sidebar-brand-height};
12
11
  --#{$prefix}sidebar-brand-bg: #{$sidebar-brand-bg};
13
- --#{$prefix}sidebar-header-height: #{$sidebar-header-height};
14
- --#{$prefix}sidebar-header-bg: #{$sidebar-header-bg};
15
- --#{$prefix}sidebar-header-padding-x: #{$sidebar-header-padding-x};
16
- --#{$prefix}sidebar-header-padding-y: #{$sidebar-header-padding-y};
17
- --#{$prefix}sidebar-footer-bg: #{$sidebar-footer-bg};
18
- --#{$prefix}sidebar-footer-height: #{$sidebar-footer-height};
19
- --#{$prefix}sidebar-footer-padding-x: #{$sidebar-footer-padding-x};
20
- --#{$prefix}sidebar-footer-padding-y: #{$sidebar-footer-padding-y};
21
- --#{$prefix}sidebar-toggler-bg: #{$sidebar-toggler-bg};
22
- --#{$prefix}sidebar-toggler-height: #{$sidebar-toggler-height};
23
- --#{$prefix}sidebar-toggler-indicator: #{escape-svg($sidebar-toggler-indicator-icon)};
24
- --#{$prefix}sidebar-toggler-indicator-width: #{$sidebar-toggler-indicator-width};
25
- --#{$prefix}sidebar-toggler-indicator-height: #{$sidebar-toggler-indicator-height};
26
- --#{$prefix}sidebar-toggler-hover-bg: #{$sidebar-toggler-hover-bg};
27
- --#{$prefix}sidebar-toggler-indicator-hover: #{escape-svg($sidebar-toggler-indicator-hover-icon)};
28
- --#{$prefix}sidebar-narrow-width: #{$sidebar-narrow-width};
29
- --#{$prefix}sidebar-nav-title-padding-x: #{$sidebar-nav-title-padding-x};
30
- --#{$prefix}sidebar-nav-title-padding-y: #{$sidebar-nav-title-padding-y};
31
- --#{$prefix}sidebar-nav-title-margin-top: #{$sidebar-nav-title-margin-top};
32
- --#{$prefix}sidebar-nav-title-color: #{$sidebar-nav-title-color};
33
- --#{$prefix}sidebar-nav-link-padding-x: #{$sidebar-nav-link-padding-x};
34
- --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-nav-link-padding-y};
35
- --#{$prefix}sidebar-nav-link-color: #{$sidebar-nav-link-color};
36
- --#{$prefix}sidebar-nav-link-bg: #{$sidebar-nav-link-bg};
37
- --#{$prefix}sidebar-nav-link-border-color: #{$sidebar-nav-link-border-color};
38
- --#{$prefix}sidebar-nav-link-border: #{$sidebar-nav-link-border-width} solid var(--#{$prefix}sidebar-nav-link-border-color);
39
- --#{$prefix}sidebar-nav-link-border-radius: #{$sidebar-nav-link-border-radius};
40
- --#{$prefix}sidebar-nav-link-active-color: #{$sidebar-nav-link-active-color};
41
- --#{$prefix}sidebar-nav-link-active-bg: #{$sidebar-nav-link-active-bg};
42
- --#{$prefix}sidebar-nav-link-active-icon-color: #{$sidebar-nav-link-active-icon-color};
43
- --#{$prefix}sidebar-nav-link-disabled-color: #{$sidebar-nav-link-disabled-color};
44
- --#{$prefix}sidebar-nav-link-disabled-icon-color: #{$sidebar-nav-link-disabled-icon-color};
45
- --#{$prefix}sidebar-nav-link-hover-color: #{$sidebar-nav-link-hover-color};
46
- --#{$prefix}sidebar-nav-link-hover-bg: #{$sidebar-nav-link-hover-bg};
47
- --#{$prefix}sidebar-nav-link-hover-icon-color: #{$sidebar-nav-link-hover-icon-color};
48
- --#{$prefix}sidebar-nav-icon-width: #{$sidebar-nav-icon-width};
49
- --#{$prefix}sidebar-nav-icon-height: #{$sidebar-nav-icon-height};
50
- --#{$prefix}sidebar-nav-icon-font-size: #{$sidebar-nav-icon-font-size};
51
- --#{$prefix}sidebar-nav-link-icon-color: #{$sidebar-nav-link-icon-color};
52
- --#{$prefix}sidebar-nav-group-bg: #{$sidebar-nav-group-bg};
53
- --#{$prefix}sidebar-nav-group-items-padding-y: #{$sidebar-nav-group-items-padding-y};
54
- --#{$prefix}sidebar-nav-group-items-padding-x: #{$sidebar-nav-group-items-padding-x};
55
- --#{$prefix}sidebar-nav-group-indicator: #{escape-svg($sidebar-nav-group-indicator-icon)};
56
- --#{$prefix}sidebar-nav-group-indicator-hover: #{escape-svg($sidebar-nav-group-indicator-hover-icon)};
57
- --#{$prefix}sidebar-nav-group-toggle-show-color: #{$sidebar-nav-group-toggle-show-color};
58
12
  // scss-docs-end sidebar-css-vars
59
13
 
60
14
  position: relative;
@@ -65,10 +19,8 @@
65
19
  // put the nav on the left
66
20
  order: -1;
67
21
  width: var(--#{$prefix}sidebar-width);
68
- padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
69
22
  color: var(--#{$prefix}sidebar-color);
70
23
  background: var(--#{$prefix}sidebar-bg);
71
- @include ltr-rtl("border-right", var(--#{$prefix}sidebar-border-width) solid var(--#{$prefix}sidebar-border-color));
72
24
  box-shadow: none;
73
25
  @include transition($sidebar-transition);
74
26
 
@@ -87,10 +39,6 @@
87
39
  }
88
40
  }
89
41
 
90
- &[class*="bg-"] {
91
- border-color: rgba($black, .1);
92
- }
93
-
94
42
  @each $width, $value in $sidebar-widths {
95
43
  &.sidebar-#{$width} {
96
44
  --#{$prefix}sidebar-width: #{$value};
@@ -157,17 +105,21 @@
157
105
  bottom: 0;
158
106
  z-index: $zindex-fixed + 2;
159
107
 
108
+ &:not(.hide) {
109
+ box-shadow: $box-shadow;
110
+ }
111
+
160
112
  &:not(.sidebar-end) {
161
113
  @include ltr-rtl("left", 0);
162
114
  ~ * {
163
- --#{$prefix}sidebar-occupy-start: 0;
115
+ --#{$prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line
164
116
  }
165
117
  }
166
118
 
167
119
  &.sidebar-end {
168
120
  @include ltr-rtl("right", 0);
169
121
  ~ * {
170
- --#{$prefix}sidebar-occupy-end: 0;
122
+ --#{$prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line
171
123
  }
172
124
  }
173
125
  }
@@ -203,32 +155,9 @@
203
155
  }
204
156
  }
205
157
 
206
- .sidebar-close {
207
- position: absolute;
208
- top: 0;
209
- @include ltr-rtl("right", 0);
210
- width: var(--#{$prefix}sidebar-width);
211
- height: var(--#{$prefix}sidebar-header-height);
212
- color: var(--#{$prefix}sidebar-color);
213
- background: transparent;
214
- border: 0;
215
-
216
- &:hover {
217
- text-decoration: none;
218
- }
219
-
220
- &:focus {
221
- outline: 0;
222
- }
223
- }
224
-
225
158
  .sidebar-brand {
226
- display: flex;
227
- flex: 0 0 var(--#{$prefix}sidebar-brand-height);
228
- align-items: center;
229
- justify-content: center;
230
159
  color: var(--#{$prefix}sidebar-brand-color);
231
- background: var(--#{$prefix}sidebar-brand-bg);
160
+ white-space: nowrap;
232
161
 
233
162
  .sidebar-brand-narrow {
234
163
  display: none;
@@ -236,74 +165,87 @@
236
165
  }
237
166
 
238
167
  .sidebar-header {
239
- flex: 0 0 var(--#{$prefix}sidebar-header-height);
240
- padding: var(--#{$prefix}sidebar-header-padding-y) var(--#{$prefix}sidebar-header-padding-x);
241
- text-align: center;
242
- background: var(--#{$prefix}sidebar-header-bg);
243
- @include transition($sidebar-header-height-transition);
244
-
245
- .nav-link {
246
- display: flex;
247
- align-items: center;
248
- min-height: var(--#{$prefix}sidebar-header-height);
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: space-between;
171
+ padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
172
+
173
+ .btn-close {
174
+ padding: calc(var(--#{$prefix}sidebar-padding-y) * .5) calc(var(--#{$prefix}sidebar-padding-x) * .5);
175
+ margin-top: calc(-.5 * var(--#{$prefix}sidebar-padding-y));
176
+ @include ltr-rtl("margin-right", calc(-.5 * var(--#{$prefix}sidebar-padding-x)));
177
+ margin-bottom: calc(-.5 * var(--#{$prefix}sidebar-padding-y));
249
178
  }
250
179
  }
251
180
 
181
+ .sidebar-body {
182
+ padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
183
+ }
184
+
252
185
  .sidebar-footer {
253
- flex: 0 0 var(--#{$prefix}sidebar-footer-height);
254
- padding: var(--#{$prefix}sidebar-footer-padding-y) var(--#{$prefix}sidebar-footer-padding-x);
255
- background: var(--#{$prefix}sidebar-footer-bg);
256
- @include transition($sidebar-footer-height-transition);
186
+ display: flex;
187
+ align-items: center;
188
+ justify-content: space-between;
189
+ padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
257
190
  }
258
191
 
259
192
  .sidebar-toggler {
260
- display: flex;
261
- flex: 0 0 var(--#{$prefix}sidebar-toggler-height);
262
- justify-content: flex-end;
263
- width: inherit;
264
- padding: 0;
265
- cursor: pointer;
266
- background-color: var(--#{$prefix}sidebar-toggler-bg);
267
- border: 0;
193
+ // scss-docs-start sidebar-toggler-css-vars
194
+ --#{$prefix}sidebar-toggler-width: #{$sidebar-toggler-width};
195
+ --#{$prefix}sidebar-toggler-height: #{$sidebar-toggler-height};
196
+ --#{$prefix}sidebar-toggler-color: #{$sidebar-toggler-color};
197
+ --#{$prefix}sidebar-toggler-bg: #{ escape-svg($sidebar-toggler-bg) };
198
+ --#{$prefix}sidebar-toggler-hover-color: #{$sidebar-toggler-hover-color};
199
+ --#{$prefix}sidebar-toggler-focus-shadow: #{$sidebar-toggler-focus-shadow};
200
+ --#{$prefix}sidebar-toggler-focus-color: #{$sidebar-toggler-focus-color};
201
+ --#{$prefix}sidebar-toggler-transition: #{$sidebar-toggler-transition};
202
+ // scss-docs-end sidebar-toggler-css-vars
268
203
 
269
- @include media-breakpoint-down($mobile-breakpoint) {
270
- display: none;
271
- }
204
+ position: relative;
205
+ box-sizing: content-box;
206
+ width: var(--#{$prefix}sidebar-toggler-width);
207
+ height: var(--#{$prefix}sidebar-toggler-height);
208
+ padding: $sidebar-toggler-padding-y $sidebar-toggler-padding-x;
209
+ background-color: transparent;
210
+ border: 0;
211
+ @include border-radius();
212
+ @include transition(var(--#{$prefix}sidebar-toggler-transition));
272
213
 
273
214
  &::before {
274
- display: block;
275
- width: var(--#{$prefix}sidebar-toggler-indicator-width);
276
- height: var(--#{$prefix}sidebar-toggler-indicator-height);
215
+ position: absolute;
216
+ top: 0;
217
+ left: 0;
218
+ width: 100%;
219
+ height: 100%;
277
220
  content: "";
278
- background-image: var(--#{$prefix}sidebar-toggler-indicator);
279
- background-repeat: no-repeat;
280
- background-position: center;
281
- background-size: calc(var(--#{$prefix}sidebar-toggler-indicator-height) * .25); // stylelint-disable-line function-disallowed-list
282
- @include transition($sidebar-toggler-transition);
283
- @include rtl() {
284
- transform: rotate(-180deg);
221
+ background-color: var(--#{$prefix}sidebar-toggler-color);
222
+ mask: var(--#{$prefix}sidebar-toggler-bg) no-repeat center;
223
+ }
224
+
225
+ // Override <a>'s hover style
226
+ &:hover {
227
+ text-decoration: none;
228
+ &::before {
229
+ background-color: var(--#{$prefix}sidebar-toggler-hover-color);
285
230
  }
286
231
  }
287
232
 
288
233
  &:focus {
234
+ position: relative;
289
235
  outline: 0;
290
- }
236
+ box-shadow: var(--#{$prefix}sidebar-toggler-focus-shadow);
291
237
 
292
- &:hover {
293
- background-color: var(--#{$prefix}sidebar-toggler-hover-bg);
294
238
  &::before {
295
- background-image: var(--#{$prefix}sidebar-toggler-indicator-hover);
239
+ background-color: var(--#{$prefix}sidebar-toggler-focus-color);
296
240
  }
297
241
  }
298
242
 
299
- .sidebar-end & {
300
- justify-content: flex-start;
301
- &::before {
302
- transform: rotate(-180deg);
303
- }
243
+ @include media-breakpoint-down($mobile-breakpoint) {
244
+ display: none;
304
245
  }
305
246
  }
306
247
 
248
+
307
249
  // Backdrop background
308
250
 
309
251
  .sidebar-backdrop {
@@ -318,12 +260,21 @@
318
260
  }
319
261
  }
320
262
 
321
- @if $enable-dark-mode {
322
- @include color-mode(dark) {
323
- .sidebar {
324
- --#{$prefix}sidebar-bg: #{$sidebar-bg-dark};
325
- --#{$prefix}sidebar-border-width: #{$sidebar-border-width-dark};
326
- --#{$prefix}sidebar-border-color: #{$sidebar-border-color-dark};
327
- }
263
+ .sidebar-dark {
264
+ --#{$prefix}body-color: #{$body-color-dark};
265
+ --#{$prefix}body-bg: #{$body-bg-dark};
266
+
267
+ --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
268
+
269
+ --#{$prefix}secondary-color: #{$body-secondary-color-dark};
270
+ --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
271
+
272
+ --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
273
+ --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
274
+
275
+ --#{$prefix}border-color: #{$border-color-dark};
276
+
277
+ .sidebar-toggler {
278
+ filter: var(--#{$prefix}sidebar-toggler-white-filter);
328
279
  }
329
280
  }