@coreui/coreui 5.6.1 → 5.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +3 -4
  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 -1
  7. package/dist/css/coreui-grid.rtl.css.map +1 -1
  8. package/dist/css/coreui-grid.rtl.min.css +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  10. package/dist/css/coreui-reboot.css +5 -3
  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 +5 -3
  15. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  16. package/dist/css/coreui-reboot.rtl.min.css +2 -2
  17. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  18. package/dist/css/coreui-utilities.css +5 -3
  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 +5 -3
  23. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  24. package/dist/css/coreui-utilities.rtl.min.css +2 -2
  25. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  26. package/dist/css/coreui.css +173 -67
  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 +168 -65
  31. package/dist/css/coreui.rtl.css.map +1 -1
  32. package/dist/css/coreui.rtl.min.css +2 -2
  33. package/dist/css/coreui.rtl.min.css.map +1 -1
  34. package/dist/css/themes/bootstrap/bootstrap.css +173 -67
  35. package/dist/css/themes/bootstrap/bootstrap.css.map +1 -1
  36. package/dist/css/themes/bootstrap/bootstrap.min.css +2 -2
  37. package/dist/css/themes/bootstrap/bootstrap.min.css.map +1 -1
  38. package/dist/css/themes/bootstrap/bootstrap.rtl.css +168 -65
  39. package/dist/css/themes/bootstrap/bootstrap.rtl.css.map +1 -1
  40. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css +2 -2
  41. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css.map +1 -1
  42. package/dist/js/bootstrap.bundle.js +578 -259
  43. package/dist/js/bootstrap.bundle.js.map +1 -1
  44. package/dist/js/bootstrap.bundle.min.js +2 -2
  45. package/dist/js/bootstrap.bundle.min.js.map +1 -1
  46. package/dist/js/bootstrap.esm.js +578 -260
  47. package/dist/js/bootstrap.esm.js.map +1 -1
  48. package/dist/js/bootstrap.esm.min.js +2 -2
  49. package/dist/js/bootstrap.esm.min.js.map +1 -1
  50. package/dist/js/bootstrap.js +578 -259
  51. package/dist/js/bootstrap.js.map +1 -1
  52. package/dist/js/bootstrap.min.js +2 -2
  53. package/dist/js/bootstrap.min.js.map +1 -1
  54. package/dist/js/coreui.bundle.js +578 -259
  55. package/dist/js/coreui.bundle.js.map +1 -1
  56. package/dist/js/coreui.bundle.min.js +2 -2
  57. package/dist/js/coreui.bundle.min.js.map +1 -1
  58. package/dist/js/coreui.esm.js +578 -260
  59. package/dist/js/coreui.esm.js.map +1 -1
  60. package/dist/js/coreui.esm.min.js +2 -2
  61. package/dist/js/coreui.esm.min.js.map +1 -1
  62. package/dist/js/coreui.js +578 -259
  63. package/dist/js/coreui.js.map +1 -1
  64. package/dist/js/coreui.min.js +2 -2
  65. package/dist/js/coreui.min.js.map +1 -1
  66. package/js/dist/alert.js +1 -1
  67. package/js/dist/base-component.js +2 -2
  68. package/js/dist/base-component.js.map +1 -1
  69. package/js/dist/button.js +1 -1
  70. package/js/dist/carousel.js +1 -1
  71. package/js/dist/chip-input.js +1 -1
  72. package/js/dist/chip.js +1 -1
  73. package/js/dist/collapse.js +1 -1
  74. package/js/dist/dom/data.js +1 -1
  75. package/js/dist/dom/event-handler.js +1 -1
  76. package/js/dist/dom/manipulator.js +1 -1
  77. package/js/dist/dom/selector-engine.js +1 -1
  78. package/js/dist/dropdown.js +1 -1
  79. package/js/dist/modal.js +1 -1
  80. package/js/dist/navigation.js +2 -2
  81. package/js/dist/navigation.js.map +1 -1
  82. package/js/dist/offcanvas.js +1 -1
  83. package/js/dist/popover.js +1 -1
  84. package/js/dist/scrollspy.js +1 -1
  85. package/js/dist/search-button.js +336 -0
  86. package/js/dist/search-button.js.map +1 -0
  87. package/js/dist/sidebar.js +7 -10
  88. package/js/dist/sidebar.js.map +1 -1
  89. package/js/dist/tab.js +1 -1
  90. package/js/dist/toast.js +1 -1
  91. package/js/dist/tooltip.js +1 -1
  92. package/js/dist/util/backdrop.js +1 -1
  93. package/js/dist/util/component-functions.js +1 -1
  94. package/js/dist/util/config.js +1 -1
  95. package/js/dist/util/focustrap.js +1 -1
  96. package/js/dist/util/index.js +1 -1
  97. package/js/dist/util/sanitizer.js +1 -1
  98. package/js/dist/util/scrollbar.js +1 -1
  99. package/js/dist/util/swipe.js +1 -1
  100. package/js/dist/util/template-factory.js +1 -1
  101. package/js/index.esm.js +1 -0
  102. package/js/index.umd.js +2 -0
  103. package/js/src/base-component.js +1 -1
  104. package/js/src/navigation.js +1 -1
  105. package/js/src/search-button.js +409 -0
  106. package/js/src/sidebar.js +6 -10
  107. package/package.json +15 -14
  108. package/scss/_banner.scss +1 -1
  109. package/scss/_root.scss +3 -0
  110. package/scss/_search-button.scss +127 -0
  111. package/scss/_variables-dark.scss +2 -1
  112. package/scss/_variables.scss +12 -4
  113. package/scss/coreui.scss +1 -0
  114. package/scss/functions/_color-translucent.scss +33 -0
  115. package/scss/functions/_contrast-ratio.scss +3 -3
  116. package/scss/sidebar/_sidebar-narrow.scss +21 -13
  117. package/scss/sidebar/_sidebar-nav.scss +66 -44
  118. package/scss/sidebar/_sidebar.scss +1 -6
@@ -1,5 +1,6 @@
1
1
  @use "sass:color";
2
2
  @use "functions/color" as *;
3
+ @use "functions/color-translucent" as *;
3
4
  @use "variables" as *;
4
5
 
5
6
  // Dark color mode variables
@@ -110,7 +111,7 @@ $body-tertiary-color-dark: rgba($white, .38) !default;
110
111
  $body-tertiary-bg-dark: color.mix($gray-800-dark, #212631, 50%) !default;
111
112
  $body-emphasis-color-dark: $white !default;
112
113
  $border-color-dark: $gray-800-dark !default;
113
- $border-color-translucent-dark: rgba($white, .1) !default;
114
+ $border-color-translucent-dark: color-translucent($gray-800-dark, .175, $body-bg-dark) !default;
114
115
  $headings-color-dark: inherit !default;
115
116
  $link-color-dark: $primary-dark !default;
116
117
  $link-hover-color-dark: shift-color($link-color-dark, -$link-shade-percentage) !default;
@@ -4,6 +4,7 @@
4
4
  @use "functions/assert-starts-at-zero" as *;
5
5
  @use "functions/color" as *;
6
6
  @use "functions/color-contrast-variables" as *;
7
+ @use "functions/color-translucent" as *;
7
8
  @use "functions/math" as *;
8
9
  @use "functions/to-rgb" as *;
9
10
 
@@ -586,7 +587,7 @@ $border-widths: (
586
587
 
587
588
  $border-style: solid !default;
588
589
  $border-color: $gray-300 !default;
589
- $border-color-translucent: rgba($black, .175) !default;
590
+ $border-color-translucent: color-translucent($gray-300, .175) !default;
590
591
  // scss-docs-end border-variables
591
592
 
592
593
  // scss-docs-start border-radius-variables
@@ -1928,7 +1929,6 @@ $sidebar-widths: (
1928
1929
  lg: 20rem,
1929
1930
  xl: 24rem
1930
1931
  ) !default;
1931
- $sidebar-narrow-width: 4rem !default;
1932
1932
  $sidebar-padding-y: $spacer !default;
1933
1933
  $sidebar-padding-x: $spacer !default;
1934
1934
  $sidebar-color: var(--#{$prefix}body-color) !default;
@@ -1939,6 +1939,9 @@ $sidebar-brand-bg: rgba($black, .2) !default;
1939
1939
  $sidebar-backdrop-bg: $black !default;
1940
1940
  $sidebar-backdrop-opacity: .5 !default;
1941
1941
  $sidebar-overlaid-box-shadow: var(--#{$prefix}box-shadow) !default;
1942
+
1943
+ $sidebar-narrow-width: 4rem !default;
1944
+ $sidebar-narrow-padding-x: .5rem !default;
1942
1945
  $sidebar-narrow-unfoldable-box-shadow: var(--#{$prefix}box-shadow) !default;
1943
1946
  // scss-docs-end sidebar-variables
1944
1947
 
@@ -1980,13 +1983,13 @@ $sidebar-nav-link-icon-bullet-border-color: var(--#{$prefix}tertiary-color) !d
1980
1983
  $sidebar-nav-link-icon-bullet-border-radius: 50rem !default;
1981
1984
 
1982
1985
  $sidebar-nav-link-hover-color: var(--#{$prefix}emphasis-color) !default;
1983
- $sidebar-nav-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;
1986
+ $sidebar-nav-link-hover-bg: var(--#{$prefix}tertiary-bg-translucent) !default;
1984
1987
  $sidebar-nav-link-hover-icon-color: var(--#{$prefix}body-color) !default;
1985
1988
  $sidebar-nav-link-hover-icon-bullet-bg: transparent !default;
1986
1989
  $sidebar-nav-link-hover-icon-bullet-border-color: var(--#{$prefix}body-color) !default;
1987
1990
 
1988
1991
  $sidebar-nav-link-active-color: var(--#{$prefix}emphasis-color) !default;
1989
- $sidebar-nav-link-active-bg: var(--#{$prefix}tertiary-bg) !default;
1992
+ $sidebar-nav-link-active-bg: var(--#{$prefix}tertiary-bg-translucent) !default;
1990
1993
  $sidebar-nav-link-active-icon-color: var(--#{$prefix}emphasis-color) !default;
1991
1994
  $sidebar-nav-link-active-icon-bullet-bg: transparent !default;
1992
1995
  $sidebar-nav-link-active-icon-bullet-border-color: var(--#{$prefix}emphasis-color) !default;
@@ -2012,6 +2015,11 @@ $sidebar-nav-group-indicator-icon: url("data:image/svg+xml,<svg xmlns
2012
2015
  $sidebar-nav-group-indicator-hover-color: $sidebar-nav-link-hover-color !default;
2013
2016
  $sidebar-nav-group-indicator-hover-icon: $sidebar-nav-group-indicator-icon !default;
2014
2017
  $sidebar-nav-group-indicator-transition: transform .15s !default;
2018
+
2019
+ $sidebar-nav-tree-group-border-color: var(--#{$prefix}border-color) !default;
2020
+ $sidebar-nav-tree-link-icon-bullet-bg: var(--#{$prefix}border-color) !default;
2021
+ $sidebar-nav-tree-link-hover-icon-bullet-bg: var(--#{$prefix}border-color) !default;
2022
+ $sidebar-nav-tree-link-active-icon-bullet-bg: var(--#{$prefix}border-color) !default;
2015
2023
  // scss-docs-end sidebar-nav-variables
2016
2024
 
2017
2025
  // scss-docs-start sidebar-toggler
package/scss/coreui.scss CHANGED
@@ -46,6 +46,7 @@
46
46
  @forward "footer";
47
47
  @forward "header";
48
48
  @forward "icon";
49
+ @forward "search-button";
49
50
  @forward "sidebar";
50
51
 
51
52
  // Helpers
@@ -0,0 +1,33 @@
1
+ @use "sass:color";
2
+ @use "sass:math";
3
+
4
+ @function color-translucent($target-color, $alpha: .1, $bg-color: #fff) {
5
+ @if color.alpha($target-color) < 1 {
6
+ @return $target-color;
7
+ }
8
+
9
+ @if $alpha <= 0 or $alpha > 1 {
10
+ @error "Alpha must be greater than 0 and less than or equal to 1.";
11
+ }
12
+
13
+ $r: math.div(
14
+ color.channel($target-color, "red") - color.channel($bg-color, "red") * (1 - $alpha),
15
+ $alpha
16
+ );
17
+
18
+ $g: math.div(
19
+ color.channel($target-color, "green") - color.channel($bg-color, "green") * (1 - $alpha),
20
+ $alpha
21
+ );
22
+
23
+ $b: math.div(
24
+ color.channel($target-color, "blue") - color.channel($bg-color, "blue") * (1 - $alpha),
25
+ $alpha
26
+ );
27
+
28
+ @if $r < 0 or $r > 255 or $g < 0 or $g > 255 or $b < 0 or $b > 255 {
29
+ @error "Cannot reproduce #{$target-color} on #{$bg-color} with alpha #{$alpha}. Try a higher alpha.";
30
+ }
31
+
32
+ @return rgba(round($r), round($g), round($b), $alpha);
33
+ }
@@ -19,9 +19,9 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
19
19
  // See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
20
20
  @function luminance($color) {
21
21
  $rgb: (
22
- "r": color.channel($color, "red"),
23
- "g": color.channel($color, "green"),
24
- "b": color.channel($color, "blue")
22
+ "r": color.channel($color, "red", rgb),
23
+ "g": color.channel($color, "green", rgb),
24
+ "b": color.channel($color, "blue", rgb)
25
25
  );
26
26
 
27
27
  @each $name, $value in $rgb {
@@ -6,6 +6,7 @@
6
6
  .sidebar-narrow {
7
7
  // scss-docs-start sidebar-narrow-css-vars
8
8
  --#{$prefix}sidebar-narrow-width: #{$sidebar-narrow-width};
9
+ --#{$prefix}sidebar-padding-x: #{$sidebar-narrow-padding-x};
9
10
  // scss-docs-end sidebar-narrow-css-vars
10
11
 
11
12
  @include media-breakpoint-up($mobile-breakpoint) {
@@ -14,18 +15,9 @@
14
15
  padding-bottom: var(--#{$prefix}sidebar-toggler-height);
15
16
  overflow: visible;
16
17
 
17
- .sidebar-brand-full {
18
- display: none;
19
- }
20
-
21
- .sidebar-brand-narrow {
22
- display: block;
23
- }
24
-
25
18
  .sidebar-header {
26
19
  justify-content: center;
27
- padding-right: 0;
28
- padding-left: 0;
20
+ padding-inline: 0;
29
21
  }
30
22
 
31
23
  .sidebar-nav {
@@ -41,11 +33,9 @@
41
33
  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
42
34
  }
43
35
 
44
- .d-narrow-none,
45
36
  .nav-label,
46
37
  .nav-title,
47
38
  .nav-group-items,
48
- .nav-group.show .nav-group-items,
49
39
  .sidebar-form {
50
40
  height: 0 !important; // stylelint-disable-line declaration-no-important
51
41
  padding: 0 !important; // stylelint-disable-line declaration-no-important
@@ -54,6 +44,12 @@
54
44
  opacity: 0;
55
45
  }
56
46
 
47
+ .d-narrow-none, // deprecated, TODO: remove in v6.0.0
48
+ .sidebar-brand-full, // deprecated, TODO: remove in v6.0.0
49
+ .d-sidebar-narrow-none {
50
+ display: none !important // stylelint-disable-line declaration-no-important
51
+ }
52
+
57
53
  .sidebar-toggler::before {
58
54
  @include ltr-rtl("transform", rotate(-180deg), null, rotate(0deg));
59
55
  }
@@ -69,6 +65,10 @@
69
65
  --#{$prefix}sidebar-narrow-unfoldable-box-shadow: #{$sidebar-narrow-unfoldable-box-shadow};
70
66
  // scss-docs-end sidebar-narrow-unfoldable-css-vars
71
67
 
68
+ .d-sidebar-narrow-unfoldable-none {
69
+ display: none !important // stylelint-disable-line declaration-no-important
70
+ }
71
+
72
72
  @extend .sidebar-fixed;
73
73
 
74
74
  &:not(:hover) {
@@ -77,7 +77,6 @@
77
77
 
78
78
  &:hover {
79
79
  box-shadow: var(--#{$prefix}sidebar-narrow-unfoldable-box-shadow);
80
- box-shadow: $box-shadow;
81
80
 
82
81
  .sidebar-toggler::before {
83
82
  @include ltr-rtl("transform", rotate(-180deg), null, rotate(0deg));
@@ -100,3 +99,12 @@
100
99
  }
101
100
  }
102
101
  }
102
+
103
+ .sidebar:not(.sidebar-narrow) .sidebar-brand-narrow, // deprecated, TODO: remove in v6.0.0
104
+ .sidebar:not(.sidebar-narrow) .d-sidebar-narrow {
105
+ display: none !important; // stylelint-disable-line declaration-no-important
106
+ }
107
+
108
+ .sidebar:not(.sidebar-narrow-unfoldable) .d-sidebar-narrow-unfoldable {
109
+ display: none !important; // stylelint-disable-line declaration-no-important
110
+ }
@@ -75,7 +75,9 @@
75
75
 
76
76
  .nav-item + .nav-item,
77
77
  .nav-item + .nav-group,
78
- .nav-group + .nav-item {
78
+ .nav-group + .nav-item,
79
+ .nav-group + .nav-group,
80
+ .nav-group-items {
79
81
  margin-top: var(--#{$prefix}sidebar-nav-gap);
80
82
  }
81
83
 
@@ -111,8 +113,8 @@
111
113
  }
112
114
 
113
115
  .nav-icon-bullet {
114
- background: var(--#{$prefix}sidebar-link-active-icon-bullet-bg);
115
- border-color: var(--#{$prefix}sidebar-link-active-icon-bullet-border-color);
116
+ background: var(--#{$prefix}sidebar-nav-link-active-icon-bullet-bg);
117
+ border-color: var(--#{$prefix}sidebar-nav-link-active-icon-bullet-border-color);
116
118
  }
117
119
  }
118
120
 
@@ -127,26 +129,8 @@
127
129
  }
128
130
 
129
131
  .nav-icon-bullet {
130
- background: var(--#{$prefix}sidebar-link-disabled-icon-bullet-bg);
131
- border-color: var(--#{$prefix}sidebar-link-disabled-icon-bullet-border-color);
132
- }
133
-
134
- &:hover {
135
- color: var(--#{$prefix}sidebar-nav-link-disabled-color);
136
-
137
- .nav-icon {
138
- color: var(--#{$prefix}sidebar-nav-link-disabled-icon-color);
139
- }
140
-
141
- .nav-icon-bullet {
142
- background: var(--#{$prefix}sidebar-link-disabled-icon-bullet-bg);
143
- border-color: var(--#{$prefix}sidebar-link-disabled-icon-bullet-border-color);
144
- }
145
-
146
- &.nav-dropdown-toggle::after {
147
- background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
148
- mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
149
- }
132
+ background: var(--#{$prefix}sidebar-nav-link-disabled-icon-bullet-bg);
133
+ border-color: var(--#{$prefix}sidebar-nav-link-disabled-icon-bullet-border-color);
150
134
  }
151
135
  }
152
136
 
@@ -161,13 +145,8 @@
161
145
  }
162
146
 
163
147
  .nav-icon-bullet {
164
- background: var(--#{$prefix}sidebar-link-hover-icon-bullet-bg);
165
- border-color: var(--#{$prefix}sidebar-link-hover-icon-bullet-border-color);
166
- }
167
-
168
- &.nav-group-toggle::after {
169
- background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
170
- mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
148
+ background: var(--#{$prefix}sidebar-nav-link-hover-icon-bullet-bg);
149
+ border-color: var(--#{$prefix}sidebar-nav-link-hover-icon-bullet-border-color);
171
150
  }
172
151
  }
173
152
  }
@@ -203,19 +182,15 @@
203
182
  }
204
183
 
205
184
  .nav-group {
206
- position: relative;
207
185
  border: var(--#{$prefix}sidebar-nav-group-border-width) solid var(--#{$prefix}sidebar-nav-group-border-color);
208
186
  @include border-radius(var(--#{$prefix}sidebar-nav-group-border-radius));
209
187
  @include transition($sidebar-nav-group-transition);
210
188
 
211
- .nav-group-items {
212
- padding: var(--#{$prefix}sidebar-nav-group-items-padding-y) var(--#{$prefix}sidebar-nav-group-items-padding-x);
213
- overflow: hidden;
214
- @include transition($sidebar-nav-group-items-transition);
215
- }
216
-
217
- &:not(.show) .nav-group-items {
218
- display: none;
189
+ &:not(.show) {
190
+ .nav-group-items,
191
+ .nav-group-toggle-indicator .show {
192
+ display: none;
193
+ }
219
194
  }
220
195
 
221
196
  &.show {
@@ -225,12 +200,13 @@
225
200
  color: var(--#{$prefix}sidebar-nav-group-toggle-show-color);
226
201
  }
227
202
 
228
- > .nav-group-toggle::after {
203
+ > .nav-group-toggle:not(:has(.nav-group-toggle-indicator))::after {
229
204
  transform: rotate(180deg);
230
205
  }
231
206
 
232
- + .show {
233
- margin-top: var(--#{$prefix}sidebar-nav-gap);
207
+ // stylelint-disable-next-line selector-max-class, selector-max-compound-selectors
208
+ > .nav-group-toggle .nav-group-toggle-indicator .hide {
209
+ display: none;
234
210
  }
235
211
  }
236
212
  }
@@ -238,7 +214,7 @@
238
214
  .nav-group-toggle {
239
215
  cursor: pointer;
240
216
 
241
- &::after {
217
+ &:not(:has(.nav-group-toggle-indicator))::after {
242
218
  display: block;
243
219
  flex: 0 12px;
244
220
  height: 12px;
@@ -248,11 +224,25 @@
248
224
  mask-image: var(--#{$prefix}sidebar-nav-group-indicator-icon);
249
225
  @include transition($sidebar-nav-group-indicator-transition);
250
226
  }
227
+
228
+ @media (hover: hover), (-ms-high-contrast: none) {
229
+ &:hover:not(:has(.nav-group-toggle-indicator))::after {
230
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
231
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
232
+ }
233
+ }
234
+ }
235
+
236
+ .nav-group-toggle-indicator {
237
+ margin-inline-start: auto;
238
+ color: var(--#{$prefix}sidebar-nav-group-indicator-color);
251
239
  }
252
240
 
253
241
  .nav-group-items {
254
- padding: 0;
242
+ padding: var(--#{$prefix}sidebar-nav-group-items-padding-y) var(--#{$prefix}sidebar-nav-group-items-padding-x);
243
+ overflow: hidden;
255
244
  list-style: none;
245
+ @include transition($sidebar-nav-group-items-transition);
256
246
 
257
247
  .nav-link {
258
248
  padding-inline-start: calc(var(--#{$prefix}sidebar-nav-link-padding-x) + var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)); // stylelint-disable-line function-disallowed-list
@@ -269,4 +259,36 @@
269
259
  --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-compact-nav-link-padding-y};
270
260
  }
271
261
  }
262
+
263
+ &.sidebar-nav-tree {
264
+ // scss-docs-start sidebar-nav-tree-css-vars
265
+ --#{$prefix}sidebar-nav-tree-group-border-color: #{$sidebar-nav-tree-group-border-color};
266
+ --#{$prefix}sidebar-nav-link-icon-bullet-bg: #{$sidebar-nav-tree-link-icon-bullet-bg};
267
+ --#{$prefix}sidebar-nav-link-hover-icon-bullet-bg: #{$sidebar-nav-tree-link-hover-icon-bullet-bg};
268
+ --#{$prefix}sidebar-nav-link-active-icon-bullet-bg: #{$sidebar-nav-tree-link-active-icon-bullet-bg};
269
+ // scss-docs-end sidebar-nav-tree-css-vars
270
+
271
+ .nav-group .nav-group-items {
272
+ $indent: calc((var(--#{$prefix}sidebar-nav-link-padding-x) + var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)) / 2); // stylelint-disable-line function-disallowed-list
273
+
274
+ position: relative;
275
+ z-index: 0;
276
+ padding-inline-start: $indent;
277
+
278
+ &::before {
279
+ position: absolute;
280
+ inset-inline-start: calc($indent + 1.5px); // stylelint-disable-line function-disallowed-list
281
+ top: 0;
282
+ z-index: -1;
283
+ height: 100%;
284
+ content: "";
285
+ border-inline-start: 1px solid var(--#{$prefix}sidebar-nav-tree-group-border-color);
286
+ }
287
+
288
+ // stylelint-disable-next-line selector-max-class
289
+ .nav-link {
290
+ margin-inline-start: calc(-1 * $indent); // stylelint-disable-line function-disallowed-list
291
+ }
292
+ }
293
+ }
272
294
  }
@@ -32,7 +32,7 @@
32
32
  box-shadow: none;
33
33
  @include transition($sidebar-transition);
34
34
 
35
- &:not(.sidebar-end){
35
+ &:not(.sidebar-end) {
36
36
  margin-inline-start: 0;
37
37
  }
38
38
 
@@ -152,10 +152,6 @@
152
152
  .sidebar-brand {
153
153
  color: var(--#{$prefix}sidebar-brand-color);
154
154
  white-space: nowrap;
155
-
156
- .sidebar-brand-narrow {
157
- display: none;
158
- }
159
155
  }
160
156
 
161
157
  .sidebar-header {
@@ -229,7 +225,6 @@
229
225
  }
230
226
 
231
227
  &:focus {
232
- position: relative;
233
228
  outline: 0;
234
229
  box-shadow: var(--#{$prefix}sidebar-toggler-focus-shadow);
235
230