@db-ux/core-components 4.12.1 → 4.13.0-shell-f221975

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 (107) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/agent/Best-Practise_Common-AI-Mistakes.md +3 -3
  3. package/build/components/accordion/accordion.css +13 -6
  4. package/build/components/accordion-item/accordion-item.css +6 -11
  5. package/build/components/badge/badge.css +1 -1
  6. package/build/components/badge/badge.scss +1 -1
  7. package/build/components/button/button.css +0 -8
  8. package/build/components/button/button.scss +0 -11
  9. package/build/components/checkbox/checkbox.css +6 -11
  10. package/build/components/control-panel-brand/control-panel-brand.css +53 -0
  11. package/build/components/control-panel-brand/control-panel-brand.scss +48 -0
  12. package/build/components/control-panel-desktop/control-panel-desktop.css +579 -0
  13. package/build/components/control-panel-desktop/control-panel-desktop.scss +30 -0
  14. package/build/components/control-panel-flat-icon/control-panel-flat-icon.css +258 -0
  15. package/build/components/control-panel-flat-icon/control-panel-flat-icon.scss +239 -0
  16. package/build/components/control-panel-meta/control-panel-meta.css +14 -0
  17. package/build/components/control-panel-meta/control-panel-meta.scss +15 -0
  18. package/build/components/control-panel-mobile/control-panel-mobile.css +438 -0
  19. package/build/components/control-panel-mobile/control-panel-mobile.scss +116 -0
  20. package/build/components/control-panel-navigation/control-panel-navigation.css +390 -0
  21. package/build/components/control-panel-navigation/control-panel-navigation.scss +186 -0
  22. package/build/components/control-panel-navigation-item/control-panel-navigation-item.css +87 -0
  23. package/build/components/control-panel-navigation-item/control-panel-navigation-item.scss +39 -0
  24. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-popover.css +21 -0
  25. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-popover.scss +125 -0
  26. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-tree.css +35 -0
  27. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-tree.scss +36 -0
  28. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group.css +158 -0
  29. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group.scss +80 -0
  30. package/build/components/control-panel-primary-actions/control-panel-primary-actions.css +12 -0
  31. package/build/components/control-panel-primary-actions/control-panel-primary-actions.scss +7 -0
  32. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.css +12 -0
  33. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.scss +7 -0
  34. package/build/components/control-panel-skip-navigation/control-panel-skip-navigation.css +23 -0
  35. package/build/components/control-panel-skip-navigation/control-panel-skip-navigation.scss +25 -0
  36. package/build/components/custom-button/custom-button.css +11 -19
  37. package/build/components/custom-select/custom-select.css +17 -16
  38. package/build/components/custom-select/custom-select.scss +1 -1
  39. package/build/components/custom-select-dropdown/custom-select-dropdown.css +39 -26
  40. package/build/components/custom-select-form-field/custom-select-form-field.css +6 -11
  41. package/build/components/custom-select-list/custom-select-list.css +6 -11
  42. package/build/components/custom-select-list-item/custom-select-list-item.css +24 -19
  43. package/build/components/divider/divider.css +18 -8
  44. package/build/components/drawer/drawer.css +78 -156
  45. package/build/components/drawer/drawer.scss +124 -167
  46. package/build/components/drawer-footer/drawer-footer.css +34 -0
  47. package/build/components/drawer-footer/drawer-footer.scss +11 -0
  48. package/build/components/drawer-header/drawer-header.css +38 -0
  49. package/build/components/drawer-header/drawer-header.scss +17 -0
  50. package/build/components/input/input.css +6 -11
  51. package/build/components/link/link.css +7 -1
  52. package/build/components/notification/notification.css +7 -1
  53. package/build/components/radio/radio.css +6 -11
  54. package/build/components/select/select.css +6 -11
  55. package/build/components/shell/shell-desktop.css +475 -0
  56. package/build/components/shell/shell-desktop.scss +105 -0
  57. package/build/components/shell/shell-mobile.css +441 -0
  58. package/build/components/shell/shell-mobile.scss +148 -0
  59. package/build/components/shell/shell.css +1670 -0
  60. package/build/components/shell/shell.scss +70 -0
  61. package/build/components/shell-content/shell-content.css +31 -0
  62. package/build/components/shell-content/shell-content.scss +49 -0
  63. package/build/components/shell-sub-navigation/shell-sub-navigation.css +51 -0
  64. package/build/components/shell-sub-navigation/shell-sub-navigation.scss +184 -0
  65. package/build/components/stack/stack-web-component.css +1 -0
  66. package/build/components/stack/stack.css +1 -0
  67. package/build/components/switch/switch.css +6 -11
  68. package/build/components/tab-item/tab-item.css +6 -11
  69. package/build/components/tab-item/tab-item.scss +0 -1
  70. package/build/components/tab-list/tab-list.css +6 -11
  71. package/build/components/table/table.css +6 -11
  72. package/build/components/tabs/tabs.css +55 -39
  73. package/build/components/tabs/tabs.scss +25 -70
  74. package/build/components/tag/tag.css +5 -10
  75. package/build/components/tag/tag.scss +1 -5
  76. package/build/components/textarea/textarea.css +6 -11
  77. package/build/styles/absolute.css +7 -7
  78. package/build/styles/bundle.css +7 -7
  79. package/build/styles/index.css +6 -6
  80. package/build/styles/index.scss +16 -5
  81. package/build/styles/internal/_component.scss +4 -0
  82. package/build/styles/internal/_control-panel-actions.scss +11 -0
  83. package/build/styles/internal/_control-panel-desktop.scss +412 -0
  84. package/build/styles/internal/_control-panel-mobile.scss +107 -0
  85. package/build/styles/internal/_custom-elements.scss +31 -7
  86. package/build/styles/internal/_icon-passing.scss +18 -10
  87. package/build/styles/internal/{_db-puls.scss → _indicator.scss} +37 -16
  88. package/build/styles/internal/_link-components.scss +7 -1
  89. package/build/styles/internal/_navigation-item.scss +122 -0
  90. package/build/styles/internal/_scrollbar.scss +71 -0
  91. package/build/styles/relative.css +7 -7
  92. package/build/styles/rollup.css +7 -7
  93. package/build/styles/visually-hidden.css +1 -1
  94. package/build/styles/wc-workarounds.css +1 -1
  95. package/build/styles/wc-workarounds.scss +11 -0
  96. package/build/styles/webpack.css +7 -7
  97. package/package.json +6 -7
  98. package/build/components/brand/brand.css +0 -32
  99. package/build/components/brand/brand.scss +0 -35
  100. package/build/components/header/header.css +0 -700
  101. package/build/components/header/header.scss +0 -274
  102. package/build/components/navigation/navigation.css +0 -202
  103. package/build/components/navigation/navigation.scss +0 -108
  104. package/build/components/navigation-item/navigation-item.css +0 -447
  105. package/build/components/navigation-item/navigation-item.scss +0 -337
  106. package/build/components/page/page.css +0 -61
  107. package/build/components/page/page.scss +0 -61
@@ -1,447 +0,0 @@
1
- /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
- /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
3
- /* Variants for adaptive components like input, select, notification, ... */
4
- .db-navigation-item, .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
5
- .db-navigation-item .db-navigation-item-expand-button > button {
6
- font: var(--db-type-body-md);
7
- /* Those variables are only for components to calculate heights and change icons */
8
- --db-icon-font-weight: var(--db-base-body-icon-weight-md);
9
- --db-icon-font-size: var(--db-base-body-icon-font-size-md);
10
- }
11
-
12
- @keyframes popover-animation {
13
- 0% {
14
- pointer-events: none;
15
- opacity: 0;
16
- transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
17
- }
18
- 100% {
19
- pointer-events: auto;
20
- opacity: 1;
21
- transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
22
- }
23
- }
24
- @keyframes rotate {
25
- 100% {
26
- transform: rotate(1turn);
27
- }
28
- }
29
- .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-show-icon-trailing=false])::after,
30
- .db-navigation-item .db-navigation-item-expand-button > button:not([data-show-icon-trailing=false])::after {
31
- color: var(--db-icon-color, inherit);
32
- display: inline-block;
33
- /*** icon - placeholder ***/
34
- font-family: var(--db-icon-font-family, var(--db-icon-default-font-family, "db-ux-default", "icon-font-fallback")) !important;
35
- font-size: var(--db-icon-font-size, 1.5rem);
36
- -webkit-font-smoothing: antialiased;
37
- -moz-osx-font-smoothing: grayscale;
38
- font-style: normal;
39
- font-variant: normal;
40
- font-weight: var(--db-icon-font-weight, normal);
41
- line-height: 1;
42
- /* stylelint-disable-next-line declaration-property-value-no-unknown */
43
- speak: none;
44
- /* stylelint-disable-next-line declaration-property-value-no-unknown */
45
- speak: never;
46
- text-transform: none;
47
- overflow: clip;
48
- vertical-align: var(--db-icon-vertical-align, middle);
49
- /* stylelint-disable-next-line db-ux/use-sizing */
50
- block-size: var(--db-icon-font-size, 1.5rem);
51
- /* stylelint-disable-next-line db-ux/use-sizing */
52
- inline-size: var(--db-icon-font-size, 1.5rem);
53
- aspect-ratio: 1;
54
- flex-shrink: 0;
55
- content: var(--db-icon, attr(data-icon));
56
- }
57
- @supports (content: ""/"") {
58
- .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-show-icon-trailing=false])::after,
59
- .db-navigation-item .db-navigation-item-expand-button > button:not([data-show-icon-trailing=false])::after {
60
- content: var(--db-icon, attr(data-icon))/"";
61
- }
62
- }
63
- @media aural {
64
- .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-show-icon-trailing=false])::after,
65
- .db-navigation-item .db-navigation-item-expand-button > button:not([data-show-icon-trailing=false])::after {
66
- content: none;
67
- }
68
- }
69
- @media speech {
70
- .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-show-icon-trailing=false])::after,
71
- .db-navigation-item .db-navigation-item-expand-button > button:not([data-show-icon-trailing=false])::after {
72
- content: none;
73
- }
74
- }
75
-
76
- .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
77
- .db-navigation-item .db-navigation-item-expand-button > button {
78
- border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
79
- }
80
-
81
- .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
82
- .db-navigation-item .db-navigation-item-expand-button > button {
83
- border: var(--db-border-width-3xs) solid transparent;
84
- }
85
-
86
- .db-sub-navigation {
87
- border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
88
- }
89
-
90
- .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
91
- .db-navigation-item .db-navigation-item-expand-button > button {
92
- border-radius: var(--db-border-radius-xs);
93
- }
94
-
95
- .db-navigation-item .db-navigation-item-expand-button:is(button),
96
- .db-navigation-item .db-navigation-item-expand-button > button {
97
- /* stylelint-disable-next-line media-query-no-invalid */
98
- }
99
- @media (min-width: 64em) {
100
- .db-navigation-item .db-navigation-item-expand-button:not([data-force-mobile]):is(:hover, :focus-visible):is(button) ~ .db-sub-navigation,
101
- .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,
102
- .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]:is(:hover, :focus-visible) ~ .db-sub-navigation {
103
- visibility: visible;
104
- }
105
- }
106
- .db-navigation-item .db-navigation-item-expand-button:is(button),
107
- .db-navigation-item .db-navigation-item-expand-button > button {
108
- /* stylelint-disable-next-line at-rule-empty-line-before */
109
- }
110
-
111
- .db-navigation-item .db-navigation-item-expand-button:is(button),
112
- .db-navigation-item .db-navigation-item-expand-button > button, .db-navigation-item a {
113
- background-color: var(--db-adaptive-bg-basic-transparent-full-default);
114
- cursor: pointer;
115
- inline-size: 100%;
116
- border-radius: var(--db-border-radius-sm);
117
- padding: var(--db-spacing-fixed-xs) var(--db-spacing-fixed-sm);
118
- white-space: nowrap;
119
- text-align: center;
120
- align-items: center;
121
- justify-content: space-between;
122
- }
123
- .db-navigation-item .db-navigation-item-expand-button:not([hidden]):is(button),
124
- .db-navigation-item .db-navigation-item-expand-button > button:not([hidden]), .db-navigation-item a:not([hidden]) {
125
- display: inline-flex;
126
- }
127
- .db-navigation-item .db-navigation-item-expand-button:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):is(button),
128
- .db-navigation-item .db-navigation-item-expand-button > button:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)), .db-navigation-item a:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)) {
129
- /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
130
- }
131
- .db-navigation-item .db-navigation-item-expand-button:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):hover:is(button),
132
- .db-navigation-item .db-navigation-item-expand-button > button:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):hover, .db-navigation-item a:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):hover {
133
- cursor: var(--db-overwrite-cursor, pointer);
134
- background-color: var(--db-adaptive-bg-basic-transparent-full-hovered);
135
- }
136
- .db-navigation-item .db-navigation-item-expand-button:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):active:is(button),
137
- .db-navigation-item .db-navigation-item-expand-button > button:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):active, .db-navigation-item a:not(:disabled, [aria-disabled=true], [tabindex="-1"], :has(:disabled)):active {
138
- cursor: var(--db-overwrite-cursor, pointer);
139
- background-color: var(--db-adaptive-bg-basic-transparent-full-pressed);
140
- }
141
- .db-navigation-item .db-navigation-item-expand-button:has(~ .db-sub-navigation:is(:hover, :focus)):is(button),
142
- .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)) {
143
- background-color: var(--db-adaptive-bg-basic-transparent-full-hovered);
144
- }
145
-
146
- .db-navigation-item {
147
- --db-has-before: 0;
148
- }
149
- .db-navigation-item[data-icon-leading]:not([data-show-icon-leading=false])::before, .db-navigation-item[data-icon]:not([data-show-icon=false])::before {
150
- position: absolute;
151
- inset-block-start: calc(50% - 0.5em);
152
- inset-inline-start: var(--db-icon-passing-inline-start, var(--db-spacing-fixed-sm));
153
- pointer-events: none;
154
- z-index: 1;
155
- }
156
- .db-navigation-item[data-icon-leading]:not([data-show-icon-leading=false]) label, .db-navigation-item[data-icon-leading]:not([data-show-icon-leading=false]) button, .db-navigation-item[data-icon-leading]:not([data-show-icon-leading=false]) a, .db-navigation-item[data-icon]:not([data-show-icon=false]) label, .db-navigation-item[data-icon]:not([data-show-icon=false]) button, .db-navigation-item[data-icon]:not([data-show-icon=false]) a {
157
- --db-padding-inline-start: calc(
158
- var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) + 1lh
159
- );
160
- /* stylelint-disable-next-line db-ux/use-spacings */
161
- padding-inline-start: var(--db-padding-inline-start);
162
- }
163
- .db-navigation-item:not([hidden]) {
164
- display: inline-flex;
165
- }
166
- .db-navigation-item {
167
- position: relative;
168
- inline-size: auto;
169
- }
170
- .db-navigation-item[data-wrap=true] :is(a, .db-navigation-item-expand-button):first-of-type {
171
- white-space: normal;
172
- text-align: start;
173
- }
174
- .db-navigation-item[data-force-mobile=true]:not([data-width=full]) {
175
- inline-size: 100%;
176
- }
177
- .db-navigation-item[data-force-mobile=true]:not([data-width=full]) .db-navigation-item-expand-button::after {
178
- --db-icon-margin-start: auto;
179
- }
180
- .db-navigation-item {
181
- /* stylelint-disable-next-line media-query-no-invalid */
182
- }
183
- @media (max-width: 63.9375em) {
184
- .db-navigation-item:not([data-width=full]) {
185
- inline-size: 100%;
186
- }
187
- .db-navigation-item:not([data-width=full]) .db-navigation-item-expand-button::after {
188
- --db-icon-margin-start: auto;
189
- }
190
- }
191
- .db-navigation-item a {
192
- text-decoration: none;
193
- }
194
- .db-navigation-item a:focus-visible {
195
- z-index: 1;
196
- }
197
- .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true] ~ .db-sub-navigation {
198
- visibility: visible;
199
- transform: translateX(0%);
200
- }
201
- @media (prefers-reduced-motion: no-preference) {
202
- .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true] ~ .db-sub-navigation {
203
- transition: visibility 0ms linear 0ms, transform var(--db-transition-duration-extra-slow) var(--db-transition-timing-emotional);
204
- }
205
- }
206
- .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true] ~ .db-sub-navigation .db-sub-navigation {
207
- inset: 0;
208
- inline-size: 100%;
209
- border-color: transparent;
210
- }
211
- .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 {
212
- transform: translateX(110%);
213
- }
214
- @media (prefers-reduced-motion: no-preference) {
215
- .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 {
216
- transition: visibility 0ms linear 410ms, transform var(--db-transition-duration-slow) var(--db-transition-timing-emotional);
217
- }
218
- }
219
- .db-navigation-item .db-navigation-item-expand-button {
220
- /* stylelint-disable-next-line media-query-no-invalid */
221
- }
222
- @media (max-width: 63.9375em) {
223
- .db-navigation-item .db-navigation-item-expand-button[aria-expanded=true] ~ .db-sub-navigation {
224
- visibility: visible;
225
- transform: translateX(0%);
226
- }
227
- }
228
- @media (max-width: 63.9375em) and (prefers-reduced-motion: no-preference) {
229
- .db-navigation-item .db-navigation-item-expand-button[aria-expanded=true] ~ .db-sub-navigation {
230
- transition: visibility 0ms linear 0ms, transform var(--db-transition-duration-extra-slow) var(--db-transition-timing-emotional);
231
- }
232
- }
233
- @media (max-width: 63.9375em) {
234
- .db-navigation-item .db-navigation-item-expand-button[aria-expanded=true] ~ .db-sub-navigation .db-sub-navigation {
235
- inset: 0;
236
- inline-size: 100%;
237
- border-color: transparent;
238
- }
239
- .db-navigation-item .db-navigation-item-expand-button:not(.db-navigation-item .db-navigation-item-expand-button[aria-expanded=true]) ~ .db-sub-navigation {
240
- transform: translateX(110%);
241
- }
242
- }
243
- @media (max-width: 63.9375em) and (prefers-reduced-motion: no-preference) {
244
- .db-navigation-item .db-navigation-item-expand-button:not(.db-navigation-item .db-navigation-item-expand-button[aria-expanded=true]) ~ .db-sub-navigation {
245
- transition: visibility 0ms linear 410ms, transform var(--db-transition-duration-slow) var(--db-transition-timing-emotional);
246
- }
247
- }
248
- .db-navigation-item .db-navigation-item-expand-button:is(button),
249
- .db-navigation-item .db-navigation-item-expand-button > button {
250
- font-weight: inherit;
251
- }
252
- .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-show-icon-trailing=false])::after,
253
- .db-navigation-item .db-navigation-item-expand-button > button:not([data-show-icon-trailing=false])::after {
254
- --db-icon-trailing: "chevron_right";
255
- margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
256
- content: var(--db-icon-trailing, attr(data-icon-trailing));
257
- }
258
- @supports (content: ""/"") {
259
- .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-show-icon-trailing=false])::after,
260
- .db-navigation-item .db-navigation-item-expand-button > button:not([data-show-icon-trailing=false])::after {
261
- content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
262
- }
263
- }
264
- .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) {
265
- font-weight: 700;
266
- }
267
- .db-navigation-item:not([data-width=full]) .db-navigation-item-expand-button::after {
268
- --db-icon-margin-start: var(--db-spacing-fixed-sm);
269
- }
270
- .db-navigation-item[data-width=full] {
271
- inline-size: 100%;
272
- }
273
- .db-navigation-item[data-width=full] .db-navigation-item-expand-button::after {
274
- --db-icon-margin-start: auto;
275
- }
276
- .db-navigation-item[aria-disabled=true] {
277
- opacity: var(--db-opacity-md);
278
- pointer-events: none;
279
- }
280
-
281
- .db-sub-navigation {
282
- margin: 0;
283
- }
284
- .db-sub-navigation:not([hidden]) {
285
- display: flex;
286
- }
287
- .db-sub-navigation {
288
- flex-direction: column;
289
- z-index: 70;
290
- inset-inline-start: 0;
291
- background-color: var(--db-adaptive-bg-basic-level-1-default);
292
- visibility: hidden;
293
- }
294
- .db-sub-navigation[data-force-mobile=true] {
295
- padding: var(--db-spacing-fixed-md);
296
- inline-size: calc(100% - var(--db-spacing-fixed-xl));
297
- position: fixed;
298
- overflow: hidden auto;
299
- inset-inline-start: var(--db-spacing-fixed-xl);
300
- }
301
- .db-drawer-container[data-direction=left] .db-sub-navigation[data-force-mobile=true] {
302
- inset-inline: auto var(--db-spacing-fixed-xl);
303
- }
304
- .db-sub-navigation[data-force-mobile=true] {
305
- 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);
306
- }
307
- .db-sub-navigation {
308
- /* stylelint-disable-next-line media-query-no-invalid */
309
- }
310
- @media (max-width: 63.9375em) {
311
- .db-sub-navigation {
312
- padding: var(--db-spacing-fixed-md);
313
- inline-size: calc(100% - var(--db-spacing-fixed-xl));
314
- position: fixed;
315
- overflow: hidden auto;
316
- inset-inline-start: var(--db-spacing-fixed-xl);
317
- }
318
- .db-drawer-container[data-direction=left] .db-sub-navigation {
319
- inset-inline: auto var(--db-spacing-fixed-xl);
320
- }
321
- .db-sub-navigation {
322
- 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);
323
- }
324
- }
325
- .db-sub-navigation {
326
- /* stylelint-disable-next-line media-query-no-invalid */
327
- }
328
- @media (min-width: 64em) {
329
- .db-sub-navigation:not([data-force-mobile]) .db-mobile-navigation-back:not([hidden]), .db-sub-navigation[data-force-mobile=false] .db-mobile-navigation-back:not([hidden]) {
330
- display: none;
331
- }
332
- }
333
- .db-sub-navigation {
334
- /* stylelint-disable-next-line at-rule-empty-line-before */
335
- /* stylelint-disable-next-line media-query-no-invalid */
336
- }
337
- @media (min-width: 64em) {
338
- .db-sub-navigation:not([data-force-mobile]), .db-sub-navigation[data-force-mobile=false] {
339
- border-radius: var(--db-border-radius-sm);
340
- box-shadow: var(--db-elevation-md);
341
- padding: var(--db-spacing-fixed-sm);
342
- position: absolute;
343
- min-inline-size: var(--db-container-xs);
344
- inset-block-start: calc(100% + var(--db-spacing-fixed-md));
345
- transition: visibility 1ms linear;
346
- }
347
- .db-sub-navigation:not([data-force-mobile])[data-outside-vx=true], .db-sub-navigation[data-force-mobile=false][data-outside-vx=true] {
348
- transform: translateX(-100%);
349
- inset-inline-start: 100%;
350
- }
351
- .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]) {
352
- visibility: visible;
353
- }
354
- .db-sub-navigation:not([data-force-mobile])[data-force-close=true], .db-sub-navigation[data-force-mobile=false][data-force-close=true] {
355
- pointer-events: none;
356
- }
357
- .db-sub-navigation:not([data-force-mobile])::before, .db-sub-navigation[data-force-mobile=false]::before {
358
- content: "";
359
- position: absolute;
360
- inset-inline-start: 0;
361
- inline-size: 100%;
362
- block-size: calc(var(--db-spacing-fixed-3xs) + var(--db-spacing-fixed-md));
363
- inset-block-start: calc(-1 * var(--db-spacing-fixed-md) - var(--db-spacing-fixed-3xs));
364
- }
365
- .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation, .db-sub-navigation[data-force-mobile=false] .db-sub-navigation {
366
- inset-block-start: calc(-50% + var(--db-spacing-fixed-xs) + 1px);
367
- inset-inline-start: calc(100% + var(--db-spacing-fixed-xs));
368
- }
369
- .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] {
370
- inset-block-start: calc(100% + var(--db-spacing-fixed-md));
371
- transform: translateY(-100%);
372
- }
373
- .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] {
374
- transform: translateX(-100%);
375
- inset-inline-start: calc(-1 * var(--db-spacing-fixed-xs));
376
- }
377
- .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] {
378
- transform: translate(-100%, -100%);
379
- }
380
- .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 {
381
- inset-block: auto 0;
382
- transform: translateX(100%) scaleX(-1);
383
- }
384
- .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation::before, .db-sub-navigation[data-force-mobile=false] .db-sub-navigation::before {
385
- content: "";
386
- position: absolute;
387
- inset-block-start: 0;
388
- inset-inline-start: 0;
389
- block-size: 100%;
390
- /* stylelint-disable-next-line db-ux/use-sizing */
391
- inline-size: var(--db-navigation-item-inline-size, 100%);
392
- background: transparent;
393
- transform: translateX(-100%);
394
- clip-path: var(--db-navigation-item-clip-path, polygon(10% 30px, 100% 0, 100% 100%));
395
- }
396
- .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation::after, .db-sub-navigation[data-force-mobile=false] .db-sub-navigation::after {
397
- content: "";
398
- position: absolute;
399
- padding: var(--db-spacing-fixed-xs);
400
- inset-block-start: var(--db-spacing-fixed-3xs);
401
- inset-inline-end: calc(-1 * var(--db-spacing-fixed-xs));
402
- block-size: 100%;
403
- inline-size: var(--db-spacing-fixed-xs);
404
- }
405
- }
406
- .db-sub-navigation {
407
- /* stylelint-disable-next-line at-rule-empty-line-before */
408
- }
409
- .db-sub-navigation:empty:not([hidden]) {
410
- display: none;
411
- }
412
- .db-sub-navigation .db-navigation-item {
413
- inline-size: 100%;
414
- }
415
- .db-sub-navigation .db-navigation-item::after {
416
- margin-inline-start: auto;
417
- }
418
-
419
- .db-mobile-navigation-back:not([hidden]) {
420
- display: flex;
421
- }
422
- .db-mobile-navigation-back {
423
- font-weight: normal;
424
- background-color: var(--db-adaptive-bg-basic-level-1-default);
425
- padding-block-end: var(--db-spacing-fixed-md);
426
- margin-block-end: var(--db-spacing-fixed-md);
427
- --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
428
- position: var(--db-tooltip-parent-position, relative);
429
- }
430
- .db-mobile-navigation-back[data-emphasis=strong] {
431
- --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
432
- }
433
- .db-mobile-navigation-back::before {
434
- content: "";
435
- background-color: var(--db-divider-bg-color);
436
- position: absolute;
437
- block-size: var(--db-border-width-3xs);
438
- inset-block-end: 0;
439
- inset-inline: 0;
440
- /* stylelint-disable-next-line at-rule-empty-line-before */
441
- }
442
- @media (forced-colors: active) {
443
- .db-mobile-navigation-back {
444
- /* stylelint-disable-next-line no-invalid-position-declaration, db-ux/use-border-color */
445
- border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
446
- }
447
- }