@db-ux/core-components 3.0.2-shell4-bdb351c → 3.0.3

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