@coreui/coreui 5.6.1 → 5.7.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 (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 +172 -68
  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 +167 -66
  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 +172 -68
  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 +167 -66
  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 -6
  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 +65 -45
  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;
@@ -2003,8 +2006,6 @@ $sidebar-nav-group-border-radius: var(--#{$prefix}border-radius) !de
2003
2006
  $sidebar-nav-group-transition: background .15s ease-in-out !default;
2004
2007
  $sidebar-nav-group-toggle-show-color: $sidebar-nav-link-color !default;
2005
2008
 
2006
- $sidebar-nav-group-items-padding-y: 0 !default;
2007
- $sidebar-nav-group-items-padding-x: 0 !default;
2008
2009
  $sidebar-nav-group-items-transition: height .15s ease !default;
2009
2010
 
2010
2011
  $sidebar-nav-group-indicator-color: var(--#{$prefix}tertiary-color) !default;
@@ -2012,6 +2013,11 @@ $sidebar-nav-group-indicator-icon: url("data:image/svg+xml,<svg xmlns
2012
2013
  $sidebar-nav-group-indicator-hover-color: $sidebar-nav-link-hover-color !default;
2013
2014
  $sidebar-nav-group-indicator-hover-icon: $sidebar-nav-group-indicator-icon !default;
2014
2015
  $sidebar-nav-group-indicator-transition: transform .15s !default;
2016
+
2017
+ $sidebar-nav-tree-group-border-color: var(--#{$prefix}border-color) !default;
2018
+ $sidebar-nav-tree-link-icon-bullet-bg: var(--#{$prefix}border-color) !default;
2019
+ $sidebar-nav-tree-link-hover-icon-bullet-bg: var(--#{$prefix}border-color) !default;
2020
+ $sidebar-nav-tree-link-active-icon-bullet-bg: var(--#{$prefix}border-color) !default;
2015
2021
  // scss-docs-end sidebar-nav-variables
2016
2022
 
2017
2023
  // 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
+ }
@@ -54,8 +54,6 @@
54
54
  --#{$prefix}sidebar-nav-group-border-width: #{$sidebar-nav-group-border-width};
55
55
  --#{$prefix}sidebar-nav-group-border-radius: #{$sidebar-nav-group-border-radius};
56
56
  --#{$prefix}sidebar-nav-group-border-color: #{$sidebar-nav-group-border-color};
57
- --#{$prefix}sidebar-nav-group-items-padding-y: #{$sidebar-nav-group-items-padding-y};
58
- --#{$prefix}sidebar-nav-group-items-padding-x: #{$sidebar-nav-group-items-padding-x};
59
57
  --#{$prefix}sidebar-nav-group-indicator-color: #{$sidebar-nav-group-indicator-color};
60
58
  --#{$prefix}sidebar-nav-group-indicator-icon: #{escape-svg($sidebar-nav-group-indicator-icon)};
61
59
  --#{$prefix}sidebar-nav-group-indicator-hover-color: #{$sidebar-nav-group-indicator-hover-color};
@@ -75,7 +73,9 @@
75
73
 
76
74
  .nav-item + .nav-item,
77
75
  .nav-item + .nav-group,
78
- .nav-group + .nav-item {
76
+ .nav-group + .nav-item,
77
+ .nav-group + .nav-group,
78
+ .nav-group-items {
79
79
  margin-top: var(--#{$prefix}sidebar-nav-gap);
80
80
  }
81
81
 
@@ -111,8 +111,8 @@
111
111
  }
112
112
 
113
113
  .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);
114
+ background: var(--#{$prefix}sidebar-nav-link-active-icon-bullet-bg);
115
+ border-color: var(--#{$prefix}sidebar-nav-link-active-icon-bullet-border-color);
116
116
  }
117
117
  }
118
118
 
@@ -127,26 +127,8 @@
127
127
  }
128
128
 
129
129
  .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
- }
130
+ background: var(--#{$prefix}sidebar-nav-link-disabled-icon-bullet-bg);
131
+ border-color: var(--#{$prefix}sidebar-nav-link-disabled-icon-bullet-border-color);
150
132
  }
151
133
  }
152
134
 
@@ -161,13 +143,8 @@
161
143
  }
162
144
 
163
145
  .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);
146
+ background: var(--#{$prefix}sidebar-nav-link-hover-icon-bullet-bg);
147
+ border-color: var(--#{$prefix}sidebar-nav-link-hover-icon-bullet-border-color);
171
148
  }
172
149
  }
173
150
  }
@@ -203,19 +180,15 @@
203
180
  }
204
181
 
205
182
  .nav-group {
206
- position: relative;
207
183
  border: var(--#{$prefix}sidebar-nav-group-border-width) solid var(--#{$prefix}sidebar-nav-group-border-color);
208
184
  @include border-radius(var(--#{$prefix}sidebar-nav-group-border-radius));
209
185
  @include transition($sidebar-nav-group-transition);
210
186
 
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;
187
+ &:not(.show) {
188
+ .nav-group-items,
189
+ .nav-group-toggle-indicator .show {
190
+ display: none;
191
+ }
219
192
  }
220
193
 
221
194
  &.show {
@@ -225,12 +198,13 @@
225
198
  color: var(--#{$prefix}sidebar-nav-group-toggle-show-color);
226
199
  }
227
200
 
228
- > .nav-group-toggle::after {
201
+ > .nav-group-toggle:not(:has(.nav-group-toggle-indicator))::after {
229
202
  transform: rotate(180deg);
230
203
  }
231
204
 
232
- + .show {
233
- margin-top: var(--#{$prefix}sidebar-nav-gap);
205
+ // stylelint-disable-next-line selector-max-class, selector-max-compound-selectors
206
+ > .nav-group-toggle .nav-group-toggle-indicator .hide {
207
+ display: none;
234
208
  }
235
209
  }
236
210
  }
@@ -238,7 +212,7 @@
238
212
  .nav-group-toggle {
239
213
  cursor: pointer;
240
214
 
241
- &::after {
215
+ &:not(:has(.nav-group-toggle-indicator))::after {
242
216
  display: block;
243
217
  flex: 0 12px;
244
218
  height: 12px;
@@ -248,11 +222,25 @@
248
222
  mask-image: var(--#{$prefix}sidebar-nav-group-indicator-icon);
249
223
  @include transition($sidebar-nav-group-indicator-transition);
250
224
  }
225
+
226
+ @media (hover: hover), (-ms-high-contrast: none) {
227
+ &:hover:not(:has(.nav-group-toggle-indicator))::after {
228
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
229
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
230
+ }
231
+ }
232
+ }
233
+
234
+ .nav-group-toggle-indicator {
235
+ margin-inline-start: auto;
236
+ color: var(--#{$prefix}sidebar-nav-group-indicator-color);
251
237
  }
252
238
 
253
239
  .nav-group-items {
254
240
  padding: 0;
241
+ overflow: hidden;
255
242
  list-style: none;
243
+ @include transition($sidebar-nav-group-items-transition);
256
244
 
257
245
  .nav-link {
258
246
  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 +257,36 @@
269
257
  --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-compact-nav-link-padding-y};
270
258
  }
271
259
  }
260
+
261
+ &.sidebar-nav-tree {
262
+ // scss-docs-start sidebar-nav-tree-css-vars
263
+ --#{$prefix}sidebar-nav-tree-group-border-color: #{$sidebar-nav-tree-group-border-color};
264
+ --#{$prefix}sidebar-nav-link-icon-bullet-bg: #{$sidebar-nav-tree-link-icon-bullet-bg};
265
+ --#{$prefix}sidebar-nav-link-hover-icon-bullet-bg: #{$sidebar-nav-tree-link-hover-icon-bullet-bg};
266
+ --#{$prefix}sidebar-nav-link-active-icon-bullet-bg: #{$sidebar-nav-tree-link-active-icon-bullet-bg};
267
+ // scss-docs-end sidebar-nav-tree-css-vars
268
+
269
+ .nav-group .nav-group-items {
270
+ $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
271
+
272
+ position: relative;
273
+ z-index: 0;
274
+ padding-inline-start: $indent;
275
+
276
+ &::before {
277
+ position: absolute;
278
+ inset-inline-start: calc($indent + 1.5px); // stylelint-disable-line function-disallowed-list
279
+ top: 0;
280
+ z-index: -1;
281
+ height: 100%;
282
+ content: "";
283
+ border-inline-start: 1px solid var(--#{$prefix}sidebar-nav-tree-group-border-color);
284
+ }
285
+
286
+ // stylelint-disable-next-line selector-max-class
287
+ .nav-link {
288
+ margin-inline-start: calc(-1 * $indent); // stylelint-disable-line function-disallowed-list
289
+ }
290
+ }
291
+ }
272
292
  }
@@ -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