@db-ux/core-components 3.0.2-copilot2-e7bf98b → 3.0.2-shell2-badc28f

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 (97) hide show
  1. package/build/assets/icons/LICENCES.json +24 -0
  2. package/build/assets/icons/double_chevron_left.svg +1 -0
  3. package/build/assets/icons/double_chevron_right.svg +1 -0
  4. package/build/assets/icons/fonts/all/db-ux.woff2 +0 -0
  5. package/build/assets/icons/fonts/default/db-ux.woff2 +0 -0
  6. package/build/assets/icons/fonts/default_12/db-ux.woff2 +0 -0
  7. package/build/assets/icons/fonts/default_14/db-ux.woff2 +0 -0
  8. package/build/assets/icons/fonts/default_16/db-ux.woff2 +0 -0
  9. package/build/assets/icons/fonts/default_20/db-ux.woff2 +0 -0
  10. package/build/assets/icons/fonts/default_24/db-ux.woff2 +0 -0
  11. package/build/assets/icons/fonts/default_28/db-ux.woff2 +0 -0
  12. package/build/assets/icons/fonts/default_32/db-ux.woff2 +0 -0
  13. package/build/assets/icons/fonts/default_48/db-ux.woff2 +0 -0
  14. package/build/assets/icons/fonts/default_64/db-ux.woff2 +0 -0
  15. package/build/assets/icons/fonts/filled/db-ux.woff2 +0 -0
  16. package/build/assets/icons/fonts/filled_12/db-ux.woff2 +0 -0
  17. package/build/assets/icons/fonts/filled_14/db-ux.woff2 +0 -0
  18. package/build/assets/icons/fonts/filled_16/db-ux.woff2 +0 -0
  19. package/build/assets/icons/fonts/filled_20/db-ux.woff2 +0 -0
  20. package/build/assets/icons/fonts/filled_24/db-ux.woff2 +0 -0
  21. package/build/assets/icons/fonts/filled_28/db-ux.woff2 +0 -0
  22. package/build/assets/icons/fonts/filled_32/db-ux.woff2 +0 -0
  23. package/build/assets/icons/fonts/filled_48/db-ux.woff2 +0 -0
  24. package/build/assets/icons/fonts/filled_64/db-ux.woff2 +0 -0
  25. package/build/assets/icons/house.svg +1 -0
  26. package/build/assets/icons/intermediary_stop.svg +1 -0
  27. package/build/components/accordion/accordion.css +5 -5
  28. package/build/components/button/button.scss +1 -1
  29. package/build/components/{brand/brand.css → control-panel-brand/control-panel-brand.css} +12 -6
  30. package/build/components/{brand/brand.scss → control-panel-brand/control-panel-brand.scss} +10 -1
  31. package/build/components/control-panel-desktop/control-panel-desktop.css +791 -0
  32. package/build/components/control-panel-desktop/control-panel-desktop.scss +29 -0
  33. package/build/components/control-panel-flat-icon-navigation/control-panel-flat-icon-navigation.css +192 -0
  34. package/build/components/control-panel-flat-icon-navigation/control-panel-flat-icon-navigation.scss +84 -0
  35. package/build/components/control-panel-meta-navigation/control-panel-meta-navigation.css +54 -0
  36. package/build/components/control-panel-meta-navigation/control-panel-meta-navigation.scss +12 -0
  37. package/build/components/control-panel-mobile/control-panel-mobile.css +716 -0
  38. package/build/components/control-panel-mobile/control-panel-mobile.scss +125 -0
  39. package/build/components/control-panel-primary-actions/control-panel-primary-actions.css +16 -0
  40. package/build/components/control-panel-primary-actions/control-panel-primary-actions.scss +8 -0
  41. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.css +16 -0
  42. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.scss +8 -0
  43. package/build/components/custom-select/custom-select.css +4 -4
  44. package/build/components/custom-select-dropdown/custom-select-dropdown.css +12 -12
  45. package/build/components/custom-select-list-item/custom-select-list-item.css +6 -6
  46. package/build/components/divider/divider.css +6 -6
  47. package/build/components/drawer/drawer.css +6 -5
  48. package/build/components/drawer/drawer.scss +6 -26
  49. package/build/components/navigation/navigation.css +394 -123
  50. package/build/components/navigation/navigation.scss +155 -72
  51. package/build/components/navigation-item/navigation-item.css +35 -418
  52. package/build/components/navigation-item/navigation-item.scss +8 -310
  53. package/build/components/navigation-item-group/navigation-item-group-menu-popover.css +189 -0
  54. package/build/components/navigation-item-group/navigation-item-group-menu-popover.scss +105 -0
  55. package/build/components/navigation-item-group/navigation-item-group-menu-tree.css +208 -0
  56. package/build/components/navigation-item-group/navigation-item-group-menu-tree.scss +40 -0
  57. package/build/components/navigation-item-group/navigation-item-group.css +432 -0
  58. package/build/components/navigation-item-group/navigation-item-group.scss +69 -0
  59. package/build/components/shell/shell-desktop.css +548 -0
  60. package/build/components/shell/shell-desktop.scss +187 -0
  61. package/build/components/shell/shell-mobile.css +633 -0
  62. package/build/components/shell/shell-mobile.scss +107 -0
  63. package/build/components/shell/shell.css +1876 -0
  64. package/build/components/shell/shell.scss +84 -0
  65. package/build/components/shell-sub-navigation/shell-sub-navigation.css +11 -0
  66. package/build/components/shell-sub-navigation/shell-sub-navigation.scss +15 -0
  67. package/build/components/stack/stack-web-component.css +1 -0
  68. package/build/components/stack/stack.css +1 -0
  69. package/build/components/tab-item/tab-item.scss +0 -1
  70. package/build/components/tab-list/tab-list.css +1 -1
  71. package/build/components/tabs/tabs.css +106 -23
  72. package/build/components/tabs/tabs.scss +25 -70
  73. package/build/components/tag/tag.css +5 -11
  74. package/build/components/tag/tag.scss +1 -5
  75. package/build/components/textarea/textarea.css +1 -1
  76. package/build/styles/absolute.css +6 -6
  77. package/build/styles/component-animations.css +1 -1
  78. package/build/styles/index.css +5 -5
  79. package/build/styles/index.scss +11 -3
  80. package/build/styles/internal/_control-panel-desktop.scss +455 -0
  81. package/build/styles/internal/_control-panel-mobile.scss +130 -0
  82. package/build/styles/internal/_custom-elements.scss +22 -4
  83. package/build/styles/internal/_icon-passing.scss +19 -9
  84. package/build/styles/internal/{_db-puls.scss → _indicator.scss} +37 -16
  85. package/build/styles/internal/_navigation-item.scss +122 -0
  86. package/build/styles/internal/_scrollbar.scss +71 -0
  87. package/build/styles/relative.css +6 -6
  88. package/build/styles/rollup.css +6 -6
  89. package/build/styles/wc-workarounds.css +1 -1
  90. package/build/styles/wc-workarounds.scss +11 -0
  91. package/build/styles/webpack.css +6 -6
  92. package/package.json +3 -7
  93. package/agent/_instructions.md +0 -9
  94. package/build/components/header/header.css +0 -759
  95. package/build/components/header/header.scss +0 -259
  96. package/build/components/page/page.css +0 -52
  97. package/build/components/page/page.scss +0 -52
@@ -66,6 +66,123 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
66
66
  * @mixin screen-min-max
67
67
  * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
68
68
  */
69
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=tree] .db-navigation-item:not([data-icon]) a:not([data-show-icon-leading=false])::before, .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-leading=false])::before {
70
+ color: var(--db-icon-color, inherit);
71
+ display: inline-block;
72
+ /*** icon - placeholder ***/
73
+ font-family: var(--db-icon-font-family, var(--db-icon-default-font-family, "db-ux-default")) !important;
74
+ font-size: var(--db-icon-font-size, 1.5rem);
75
+ -webkit-font-smoothing: antialiased;
76
+ -moz-osx-font-smoothing: grayscale;
77
+ font-style: normal;
78
+ font-variant: normal;
79
+ font-weight: var(--db-icon-font-weight, normal);
80
+ line-height: 1;
81
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
82
+ speak: none;
83
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
84
+ speak: never;
85
+ text-transform: none;
86
+ vertical-align: var(--db-icon-vertical-align, middle);
87
+ block-size: var(--db-icon-font-size, 1.5rem);
88
+ inline-size: var(--db-icon-font-size, 1.5rem);
89
+ content: var(--db-icon, attr(data-icon));
90
+ }
91
+ @supports (content: ""/"") {
92
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=tree] .db-navigation-item:not([data-icon]) a:not([data-show-icon-leading=false])::before, .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-leading=false])::before {
93
+ content: var(--db-icon, attr(data-icon))/"";
94
+ }
95
+ }
96
+ @media aural {
97
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=tree] .db-navigation-item:not([data-icon]) a:not([data-show-icon-leading=false])::before, .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-leading=false])::before {
98
+ content: none;
99
+ }
100
+ }
101
+ @media speech {
102
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=tree] .db-navigation-item:not([data-icon]) a:not([data-show-icon-leading=false])::before, .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-leading=false])::before {
103
+ content: none;
104
+ }
105
+ }
106
+
107
+ @keyframes show-right-to-left {
108
+ from {
109
+ transform: translateX(110%);
110
+ }
111
+ to {
112
+ transform: translateX(0%);
113
+ }
114
+ }
115
+ @keyframes hide-right-to-left {
116
+ from {
117
+ transform: translateX(0%);
118
+ }
119
+ to {
120
+ transform: translateX(110%);
121
+ }
122
+ }
123
+ @keyframes show-left-to-right {
124
+ from {
125
+ transform: translateX(-110%);
126
+ }
127
+ to {
128
+ transform: translateX(0%);
129
+ }
130
+ }
131
+ @keyframes hide-left-to-right {
132
+ from {
133
+ transform: translateX(0%);
134
+ }
135
+ to {
136
+ transform: translateX(-110%);
137
+ }
138
+ }
139
+ @keyframes show-bottom-to-top {
140
+ from {
141
+ transform: translateY(110%);
142
+ }
143
+ to {
144
+ transform: translateY(0%);
145
+ }
146
+ }
147
+ @keyframes hide-bottom-to-top {
148
+ from {
149
+ transform: translateY(0%);
150
+ }
151
+ to {
152
+ transform: translateY(110%);
153
+ }
154
+ }
155
+ @keyframes show-top-to-bottom {
156
+ from {
157
+ transform: translateY(-110%);
158
+ }
159
+ to {
160
+ transform: translateY(0%);
161
+ }
162
+ }
163
+ @keyframes hide-top-to-bottom {
164
+ from {
165
+ transform: translateY(0%);
166
+ }
167
+ to {
168
+ transform: translateY(-110%);
169
+ }
170
+ }
171
+ @keyframes popover-animation {
172
+ 0% {
173
+ opacity: 0;
174
+ transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
175
+ }
176
+ 100% {
177
+ opacity: 1;
178
+ transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
179
+ }
180
+ }
181
+ @keyframes rotate {
182
+ 100% {
183
+ transform: rotate(1turn);
184
+ }
185
+ }
69
186
  /**
70
187
  Generates 3 types of placeholders, e.g:
71
188
  - %db-component-variables-md
@@ -126,167 +243,321 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
126
243
 
127
244
  @layer variables {}
128
245
 
129
- .db-navigation > menu .db-navigation-item::after {
130
- content: "";
131
- position: absolute;
132
- border-radius: var(--db-border-radius-xs);
133
- }
134
- @media screen and (prefers-reduced-motion: no-preference) {
135
- .db-navigation > menu .db-navigation-item::after {
136
- transition: height var(--db-transition-duration-fast) var(--db-transition-timing-emotional), width var(--db-transition-duration-fast) var(--db-transition-timing-emotional);
137
- }
246
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu {
247
+ border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
138
248
  }
139
249
 
140
- .db-navigation > menu .db-navigation-item {
250
+ /* Sub components for shell */
251
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu {
252
+ --db-popover-distance: var(--db-spacing-fixed-xs);
253
+ margin: 0;
254
+ display: flex;
255
+ flex-direction: column;
256
+ z-index: 70;
257
+ inset-inline-start: 0;
258
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
259
+ visibility: hidden;
260
+ max-block-size: 100vh;
261
+ /* stylelint-disable-next-line media-query-no-invalid */
141
262
  /* stylelint-disable-next-line media-query-no-invalid */
142
263
  /* stylelint-disable-next-line at-rule-empty-line-before */
143
264
  }
144
- .db-navigation > menu .db-navigation-item::after {
145
- block-size: 0;
146
- inline-size: var(--db-border-width-xs);
147
- transform: translate(0, -50%);
148
- inset-block: 50% auto;
149
- background-color: var(--db-brand-on-bg-basic-emphasis-70-default);
150
- inset-inline-start: calc(-1 * var(--db-spacing-fixed-xs));
265
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:empty, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:empty {
266
+ display: none;
267
+ }
268
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item,
269
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item-group,
270
+ .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item-group {
271
+ inline-size: 100%;
272
+ }
273
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item::after,
274
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item-group::after,
275
+ .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item-group::after {
276
+ margin-inline-start: auto;
277
+ }
278
+ .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=true].db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=true].db-navigation-item-group-menu {
279
+ --db-navigation-item-group-menu-mobile: 1;
280
+ padding: var(--db-spacing-fixed-md);
281
+ border: 0;
282
+ inline-size: 100%;
283
+ position: fixed;
284
+ overflow: hidden auto;
285
+ inset-block: calc(calc(var(--db-sizing-md) + 2 * var(--db-spacing-fixed-xs))) calc(var(--db-sizing-md) + var(--db-spacing-fixed-xs) * 2);
286
+ }
287
+ @media screen and (max-width: 63.9375em) {
288
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu {
289
+ --db-navigation-item-group-menu-mobile: 1;
290
+ padding: var(--db-spacing-fixed-md);
291
+ border: 0;
292
+ inline-size: 100%;
293
+ position: fixed;
294
+ overflow: hidden auto;
295
+ inset-block: calc(calc(var(--db-sizing-md) + 2 * var(--db-spacing-fixed-xs))) calc(var(--db-sizing-md) + var(--db-spacing-fixed-xs) * 2);
296
+ }
151
297
  }
152
298
  @media screen and (min-width: 64em) {
153
- .db-navigation > menu .db-navigation-item:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item::after {
154
- block-size: var(--db-border-width-xs);
155
- inline-size: 0;
156
- transform: translate(-50%, 0);
157
- inset-inline-start: 50%;
158
- background-color: var(--db-brand-on-bg-basic-emphasis-70-default);
159
- inset-block: auto calc(-1 * var(--db-spacing-fixed-xs));
299
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]), .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]), .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu {
300
+ border-radius: var(--db-border-radius-sm);
301
+ box-shadow: var(--db-elevation-md);
302
+ padding: var(--db-spacing-fixed-sm);
303
+ block-size: fit-content;
304
+ inline-size: fit-content;
305
+ position: absolute;
306
+ min-inline-size: var(--db-container-xs);
307
+ transition: visibility 1ms linear;
308
+ }
309
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-back-button, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-back-button, .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-back-button, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-back-button {
310
+ display: none;
311
+ }
312
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]):is(:hover, :focus-within):not([data-force-close=true]), .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]):is(:hover, :focus-within):not([data-force-close=true]), .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu:is(:hover, :focus-within):not([data-force-close=true]), .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu:is(:hover, :focus-within):not([data-force-close=true]) {
313
+ visibility: visible;
314
+ }
315
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile])[data-force-close=true], .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile])[data-force-close=true], .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false][data-force-close=true].db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false][data-force-close=true].db-navigation-item-group-menu {
316
+ pointer-events: none;
317
+ }
318
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu, .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu {
319
+ inset-block-start: calc(-50% + var(--db-spacing-fixed-xs) + 1px);
320
+ inset-inline-start: calc(100% + var(--db-spacing-fixed-xs));
321
+ }
322
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu::before, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu::before, .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu::before, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu::before {
323
+ content: "";
324
+ position: absolute;
325
+ inset-block-start: 0;
326
+ inset-inline-start: 0;
327
+ block-size: 100%;
328
+ inline-size: var(--db-navigation-item-inline-size, 100%);
329
+ background: transparent;
330
+ transform: translateX(-100%);
331
+ clip-path: var(--db-navigation-item-clip-path, polygon(10% 30px, 100% 0, 100% 100%));
332
+ }
333
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu::after, .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu::after, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu::after {
334
+ content: "";
335
+ position: absolute;
336
+ padding: var(--db-spacing-fixed-xs);
337
+ inset-block-start: var(--db-spacing-fixed-3xs);
338
+ inset-inline-end: calc(-1 * var(--db-spacing-fixed-xs));
339
+ block-size: calc(100% - 2 * var(--db-spacing-fixed-3xs));
340
+ inline-size: var(--db-spacing-fixed-xs);
341
+ }
342
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vy=bottom], .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vy=bottom], .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vy=bottom], .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vy=bottom] {
343
+ transform: translateY(calc(-200% + var(--db-spacing-fixed-xs)));
344
+ }
345
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right], .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right], .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vx=right], .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vx=right] {
346
+ transform: translateX(calc(-200% + var(--db-spacing-fixed-xs)));
347
+ }
348
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right][data-outside-vy=bottom], .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right][data-outside-vy=bottom], .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vx=right][data-outside-vy=bottom], .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vx=right][data-outside-vy=bottom] {
349
+ transform: translate(calc(-200% + var(--db-spacing-fixed-xs)), calc(-200% + var(--db-spacing-fixed-xs)));
350
+ }
351
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right]::before, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-menu:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right]::before, .db-navigation:not([data-variant]) .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vx=right]::before, .db-navigation[data-variant=popover] .db-navigation-item-group [data-force-mobile=false].db-navigation-item-group-menu .db-navigation-item-group-menu[data-outside-vx=right]::before {
352
+ inset-block: auto 0;
353
+ transform: translateX(100%) scaleX(-1);
160
354
  }
161
355
  }
162
356
 
163
- .db-navigation > menu .db-navigation-item:has([aria-current=page]), .db-navigation > menu .db-navigation-item:has([data-active=true]), .db-navigation > menu .db-navigation-item[aria-current=page], .db-navigation > menu .db-navigation-item[data-active=true] {
357
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu {
358
+ margin: 0;
359
+ padding: 0;
360
+ display: flex;
361
+ flex-direction: column;
362
+ block-size: 0;
363
+ visibility: hidden;
364
+ overflow: hidden;
365
+ margin-inline-start: calc(var(--db-icon-font-size));
366
+ gap: var(--db-spacing-fixed-xs);
367
+ margin-block-start: var(--db-spacing-fixed-xs);
164
368
  /* stylelint-disable-next-line media-query-no-invalid */
165
- /* stylelint-disable-next-line at-rule-empty-line-before */
166
369
  }
167
- .db-navigation > menu .db-navigation-item:has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]::after, .db-navigation > menu .db-navigation-item[data-active=true]::after {
168
- block-size: 100%;
169
- inline-size: var(--db-border-width-xs);
170
- }
171
- @media (forced-colors: active) {
172
- .db-navigation > menu .db-navigation-item:has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]::after, .db-navigation > menu .db-navigation-item[data-active=true]::after {
173
- border: calc(var(--db-border-width-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
370
+ @media screen and (prefers-reduced-motion: no-preference) {
371
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu {
372
+ transition: block-size var(--db-transition-straight-emotional);
174
373
  }
175
374
  }
176
- @media screen and (min-width: 64em) {
177
- .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]:not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item[data-active=true]:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([aria-current=page])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([data-active=true])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[aria-current=page]::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[data-active=true]::after {
178
- block-size: var(--db-border-width-xs);
179
- inline-size: 100%;
180
- }
375
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu:empty {
376
+ display: none;
377
+ }
378
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu .db-navigation-item-group-back-button {
379
+ display: none;
181
380
  }
182
- @media screen and (min-width: 64em) and (forced-colors: active) {
183
- .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]:not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item[data-active=true]:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([aria-current=page])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([data-active=true])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[aria-current=page]::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[data-active=true]::after {
184
- border: calc(var(--db-border-width-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
381
+ .db-navigation[data-variant=tree] .db-navigation-item-group [data-force-mobile=true].db-navigation-item-group-menu {
382
+ --db-navigation-item-group-menu-mobile: 1;
383
+ }
384
+ @media screen and (max-width: 63.9375em) {
385
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu {
386
+ --db-navigation-item-group-menu-mobile: 1;
185
387
  }
186
388
  }
187
389
 
188
- .db-navigation {
189
- -webkit-tap-highlight-color: transparent; /* for removing the highlight */
190
- inline-size: 100%;
390
+ .db-navigation:not([data-variant]) .db-navigation-item, .db-navigation[data-variant=popover] .db-navigation-item {
391
+ /* a {
392
+ block-size: variables.$db-sizing-md;
393
+ } */
394
+ }
395
+ .db-navigation:not([data-variant]) .db-navigation-item[data-icon]:not([data-show-icon=false])::before, .db-navigation[data-variant=popover] .db-navigation-item[data-icon]:not([data-show-icon=false])::before {
396
+ position: absolute;
397
+ inset-block-start: var(--db-icon-passing-inset-block-start, calc(50% - 0.5em));
398
+ inset-inline-start: var(--db-icon-passing-inset-inline-start, var(--db-spacing-fixed-sm));
399
+ pointer-events: none;
400
+ z-index: 1;
401
+ }
402
+ .db-navigation:not([data-variant]) .db-navigation-item[data-icon]:not([data-show-icon=false]) a, .db-navigation[data-variant=popover] .db-navigation-item[data-icon]:not([data-show-icon=false]) a,
403
+ .db-navigation:not([data-variant]) .db-navigation-item[data-icon]:not([data-show-icon=false]) button,
404
+ .db-navigation[data-variant=popover] .db-navigation-item[data-icon]:not([data-show-icon=false]) button,
405
+ .db-navigation:not([data-variant]) .db-navigation-item[data-icon]:not([data-show-icon=false]) label,
406
+ .db-navigation[data-variant=popover] .db-navigation-item[data-icon]:not([data-show-icon=false]) label {
407
+ /* stylelint-disable-next-line db-ux/use-spacings */
408
+ padding-inline-start: var(--db-icon-passing-padding-inline-start, calc(var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) + var(--db-icon-font-size)));
409
+ }
410
+ .db-navigation:not([data-variant]) .db-navigation-item-group, .db-navigation[data-variant=popover] .db-navigation-item-group {
411
+ /* stylelint-disable-next-line media-query-no-invalid */
412
+ /* stylelint-disable-next-line at-rule-empty-line-before */
191
413
  /* stylelint-disable-next-line media-query-no-invalid */
192
414
  /* stylelint-disable-next-line at-rule-empty-line-before */
193
415
  }
194
- @media screen and (min-width: 64em) {
195
- .db-navigation:not([data-force-mobile]), .db-navigation[data-force-mobile=false] {
196
- -webkit-tap-highlight-color: inherit;
197
- inline-size: auto;
416
+ .db-navigation:not([data-variant]) .db-navigation-item-group[data-icon]:not([data-show-icon=false])::before, .db-navigation[data-variant=popover] .db-navigation-item-group[data-icon]:not([data-show-icon=false])::before {
417
+ position: absolute;
418
+ inset-block-start: var(--db-icon-passing-inset-block-start, var(--db-spacing-fixed-xs));
419
+ inset-inline-start: var(--db-icon-passing-inset-inline-start, var(--db-spacing-fixed-sm));
420
+ pointer-events: none;
421
+ z-index: 1;
422
+ }
423
+ .db-navigation:not([data-variant]) .db-navigation-item-group[data-icon]:not([data-show-icon=false]) a, .db-navigation[data-variant=popover] .db-navigation-item-group[data-icon]:not([data-show-icon=false]) a,
424
+ .db-navigation:not([data-variant]) .db-navigation-item-group[data-icon]:not([data-show-icon=false]) button,
425
+ .db-navigation[data-variant=popover] .db-navigation-item-group[data-icon]:not([data-show-icon=false]) button,
426
+ .db-navigation:not([data-variant]) .db-navigation-item-group[data-icon]:not([data-show-icon=false]) label,
427
+ .db-navigation[data-variant=popover] .db-navigation-item-group[data-icon]:not([data-show-icon=false]) label {
428
+ /* stylelint-disable-next-line db-ux/use-spacings */
429
+ padding-inline-start: var(--db-icon-passing-padding-inline-start, calc(var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) + var(--db-icon-font-size)));
430
+ }
431
+ @media screen and (width <= 48em) {
432
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true] ~ .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true] ~ .db-navigation-item-group-menu {
433
+ visibility: visible;
434
+ }
435
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true] ~ .db-navigation-item-group-menu .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true] ~ .db-navigation-item-group-menu .db-navigation-item-group-menu {
436
+ inset-block: 0;
198
437
  }
199
438
  }
200
- .db-navigation > menu {
201
- display: flex;
202
- flex-direction: column;
203
- padding: 0;
204
- margin: 0;
205
- gap: var(--db-spacing-fixed-sm);
206
- /* stylelint-disable-next-line media-query-no-invalid */
207
- /* stylelint-disable-next-line at-rule-empty-line-before */
439
+ @media screen and (width <= 48em) and (prefers-reduced-motion: no-preference) {
440
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true] ~ .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true] ~ .db-navigation-item-group-menu {
441
+ transition: visibility 0ms linear 0ms;
442
+ animation: show-right-to-left var(--db-transition-straight-show);
443
+ }
208
444
  }
209
- @media screen and (min-width: 64em) {
210
- .db-navigation > menu:not([data-force-mobile]), .db-navigation > menu[data-force-mobile=false] {
211
- flex-direction: row;
445
+ @media screen and (width <= 48em) and (prefers-reduced-motion: no-preference) {
446
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:not(.db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true]):not(.db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true]) ~ .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:not(.db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true]):not(.db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true]) ~ .db-navigation-item-group-menu {
447
+ transition: visibility 0ms linear 410ms;
448
+ animation: hide-right-to-left var(--db-transition-straight-hide);
212
449
  }
213
450
  }
214
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button),
215
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button {
216
- /* stylelint-disable-next-line media-query-no-invalid */
217
- /* stylelint-disable-next-line at-rule-empty-line-before */
451
+ @media screen and (48em < width) {
452
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:is(:hover, :focus-visible):not(:has(~ .db-navigation-item-group-menu[data-force-close=true])) ~ .db-navigation-item-group-menu, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:is(:hover, :focus-visible):not(:has(~ .db-navigation-item-group-menu[data-force-close=true])) ~ .db-navigation-item-group-menu {
453
+ visibility: visible;
454
+ }
218
455
  }
219
- @media screen and (min-width: 64em) {
220
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
221
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
222
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
223
- --db-icon-margin-start: var(--db-spacing-fixed-sm);
224
- --db-icon-trailing: "chevron_down";
456
+ @media screen and (48em < width) and (prefers-reduced-motion: no-preference) {
457
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button::after {
458
+ transition: transform var(--db-transition-straight-emotional);
459
+ }
460
+ }
461
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after {
462
+ --db-icon-trailing: "chevron_right";
463
+ margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
464
+ content: var(--db-icon-trailing, attr(data-icon-trailing));
465
+ }
466
+ @supports (content: ""/"") {
467
+ .db-navigation:not([data-variant]) .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after, .db-navigation[data-variant=popover] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-trailing=false])::after {
468
+ content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
225
469
  }
226
470
  }
227
- @media screen and (min-width: 64em) and (prefers-reduced-motion: no-preference) {
228
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
229
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
230
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
471
+ .db-navigation[data-variant=tree] .db-navigation-item:not([data-icon])::before {
472
+ content: none;
473
+ }
474
+ .db-navigation[data-variant=tree] .db-navigation-item:not([data-icon]) a:not([data-show-icon-leading=false])::before {
475
+ --db-icon: "intermediary_stop";
476
+ margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
477
+ }
478
+ .db-navigation[data-variant=tree] .db-navigation-item[data-icon][data-icon]:not([data-show-icon=false])::before {
479
+ position: absolute;
480
+ inset-block-start: var(--db-icon-passing-inset-block-start, calc(50% - 0.5em));
481
+ inset-inline-start: var(--db-icon-passing-inset-inline-start, var(--db-spacing-fixed-sm));
482
+ pointer-events: none;
483
+ z-index: 1;
484
+ }
485
+ .db-navigation[data-variant=tree] .db-navigation-item[data-icon][data-icon]:not([data-show-icon=false]) a,
486
+ .db-navigation[data-variant=tree] .db-navigation-item[data-icon][data-icon]:not([data-show-icon=false]) button,
487
+ .db-navigation[data-variant=tree] .db-navigation-item[data-icon][data-icon]:not([data-show-icon=false]) label {
488
+ /* stylelint-disable-next-line db-ux/use-spacings */
489
+ padding-inline-start: var(--db-icon-passing-padding-inline-start, calc(var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) + var(--db-icon-font-size)));
490
+ }
491
+ .db-navigation[data-variant=tree] a,
492
+ .db-navigation[data-variant=tree] button {
493
+ justify-content: start;
494
+ }
495
+ .db-navigation[data-variant=tree] .db-navigation-item-group {
496
+ display: flex;
497
+ flex-direction: column;
498
+ }
499
+ .db-navigation[data-variant=tree] .db-navigation-item-group::before {
500
+ content: none;
501
+ }
502
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button:not([data-show-icon-leading=false])::before {
503
+ --db-icon: "chevron_right";
504
+ margin-inline-end: var(--db-icon-margin-end, var(--db-spacing-fixed-xs));
505
+ }
506
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true]::before {
507
+ transform: rotate(90deg);
508
+ pointer-events: none;
509
+ }
510
+ @media screen and (prefers-reduced-motion: no-preference) {
511
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true]::before {
231
512
  transition: transform var(--db-transition-straight-emotional);
232
513
  }
233
514
  }
234
- @media screen and (min-width: 64em) {
235
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile]):is(:hover, :focus-visible)::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile]):has(~ .db-sub-navigation:is(:hover,
236
- :focus-visible,
237
- :focus-within))::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]:is(:hover, :focus-visible)::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]:has(~ .db-sub-navigation:is(:hover,
238
- :focus-visible,
239
- :focus-within))::after,
240
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile]):is(:hover, :focus-visible)::after,
241
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile]):has(~ .db-sub-navigation:is(:hover,
242
- :focus-visible,
243
- :focus-within))::after,
244
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]:is(:hover, :focus-visible)::after,
245
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]:has(~ .db-sub-navigation:is(:hover,
246
- :focus-visible,
247
- :focus-within))::after {
248
- transform: rotate(-180deg);
249
- }
250
- }
251
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button),
252
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button {
253
- /* stylelint-disable-next-line media-query-no-invalid */
515
+ .db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-expand-button[aria-expanded=true] ~ .db-navigation-item-group-menu {
516
+ visibility: visible;
517
+ block-size: auto;
518
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
519
+ block-size: calc-size(auto, size);
520
+ }
521
+ [data-show-tree-line=true].db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu {
522
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
523
+ position: var(--db-tooltip-parent-position, relative);
524
+ }
525
+ [data-show-tree-line=true].db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu[data-emphasis=strong] {
526
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
527
+ }
528
+ [data-show-tree-line=true].db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu::before {
529
+ content: "";
530
+ background-color: var(--db-divider-bg-color);
531
+ position: absolute;
532
+ inline-size: var(--db-border-width-3xs);
533
+ inset-inline-start: 0;
534
+ inset-block: 0;
535
+ /* stylelint-disable-next-line db-ux/use-border-color */
254
536
  /* stylelint-disable-next-line at-rule-empty-line-before */
255
537
  }
256
- @media screen and (min-width: 64em) {
257
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
258
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
259
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
260
- --db-icon-trailing: "chevron_right";
261
- --db-icon-margin-start: auto;
262
- }
263
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile]):is(:hover, :focus-visible)::after,
264
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile]) :has(~ .db-sub-navigation:is(:hover,
265
- :focus-visible,
266
- :focus-within))::after, .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false]:is(:hover, :focus-visible)::after,
267
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false] :has(~ .db-sub-navigation:is(:hover,
268
- :focus-visible,
269
- :focus-within))::after,
270
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button:not([data-force-mobile]):is(:hover, :focus-visible)::after,
271
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button:not([data-force-mobile]) :has(~ .db-sub-navigation:is(:hover,
272
- :focus-visible,
273
- :focus-within))::after,
274
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button[data-force-mobile=false]:is(:hover, :focus-visible)::after,
275
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button[data-force-mobile=false] :has(~ .db-sub-navigation:is(:hover,
276
- :focus-visible,
277
- :focus-within))::after {
278
- transform: none;
279
- }
280
- }
281
- .db-navigation > menu .db-navigation-item .db-navigation-item::after {
282
- display: none;
538
+ @media (forced-colors: active) {
539
+ [data-show-tree-line=true].db-navigation[data-variant=tree] .db-navigation-item-group .db-navigation-item-group-menu::before {
540
+ border-inline-start: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
541
+ }
283
542
  }
284
- .db-navigation[data-force-close=true] > menu menu {
543
+
544
+ .db-navigation {
545
+ -webkit-tap-highlight-color: transparent; /* for removing the highlight */
546
+ inline-size: 100%;
547
+ position: relative;
285
548
  /* stylelint-disable-next-line media-query-no-invalid */
286
549
  /* stylelint-disable-next-line at-rule-empty-line-before */
287
550
  }
288
551
  @media screen and (min-width: 64em) {
289
- .db-navigation[data-force-close=true] > menu menu:not([data-force-mobile]), .db-navigation[data-force-close=true] > menu menu[data-force-mobile=false] {
290
- display: none;
552
+ .db-navigation:not([data-force-mobile]), .db-navigation[data-force-mobile=false] {
553
+ -webkit-tap-highlight-color: inherit;
554
+ inline-size: auto;
291
555
  }
292
556
  }
557
+ .db-navigation > menu {
558
+ display: flex;
559
+ flex-direction: column;
560
+ padding: 0;
561
+ margin: 0;
562
+ gap: var(--db-spacing-fixed-sm);
563
+ }