@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
@@ -0,0 +1,208 @@
1
+ /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
+ /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
+ /* The primary use-case for responsive spacings are
4
+ paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
+ /* Elevation */
6
+ /* Border */
7
+ /* Opacity */
8
+ /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
11
+ @keyframes show-right-to-left {
12
+ from {
13
+ transform: translateX(110%);
14
+ }
15
+ to {
16
+ transform: translateX(0%);
17
+ }
18
+ }
19
+ @keyframes hide-right-to-left {
20
+ from {
21
+ transform: translateX(0%);
22
+ }
23
+ to {
24
+ transform: translateX(110%);
25
+ }
26
+ }
27
+ @keyframes show-left-to-right {
28
+ from {
29
+ transform: translateX(-110%);
30
+ }
31
+ to {
32
+ transform: translateX(0%);
33
+ }
34
+ }
35
+ @keyframes hide-left-to-right {
36
+ from {
37
+ transform: translateX(0%);
38
+ }
39
+ to {
40
+ transform: translateX(-110%);
41
+ }
42
+ }
43
+ @keyframes show-bottom-to-top {
44
+ from {
45
+ transform: translateY(110%);
46
+ }
47
+ to {
48
+ transform: translateY(0%);
49
+ }
50
+ }
51
+ @keyframes hide-bottom-to-top {
52
+ from {
53
+ transform: translateY(0%);
54
+ }
55
+ to {
56
+ transform: translateY(110%);
57
+ }
58
+ }
59
+ @keyframes show-top-to-bottom {
60
+ from {
61
+ transform: translateY(-110%);
62
+ }
63
+ to {
64
+ transform: translateY(0%);
65
+ }
66
+ }
67
+ @keyframes hide-top-to-bottom {
68
+ from {
69
+ transform: translateY(0%);
70
+ }
71
+ to {
72
+ transform: translateY(-110%);
73
+ }
74
+ }
75
+ @keyframes popover-animation {
76
+ 0% {
77
+ opacity: 0;
78
+ transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
79
+ }
80
+ 100% {
81
+ opacity: 1;
82
+ transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
83
+ }
84
+ }
85
+ @keyframes rotate {
86
+ 100% {
87
+ transform: rotate(1turn);
88
+ }
89
+ }
90
+ /* Variants for adaptive components like input, select, notification, ... */
91
+ .db-visually-hidden,
92
+ [data-visually-hidden=true] {
93
+ clip: rect(0, 0, 0, 0) !important;
94
+ overflow: hidden !important;
95
+ white-space: nowrap !important;
96
+ font-size: 0 !important;
97
+ all: initial;
98
+ inset-block-start: 0 !important;
99
+ block-size: 1px !important;
100
+ position: absolute !important;
101
+ inline-size: 1px !important;
102
+ border-width: 0 !important;
103
+ border-style: initial !important;
104
+ border-color: initial !important;
105
+ border-image: initial !important;
106
+ padding: 0 !important;
107
+ pointer-events: none !important;
108
+ }
109
+
110
+ @layer variables {}
111
+
112
+ @layer variables {}
113
+
114
+ @layer variables {}
115
+
116
+ @layer variables {}
117
+
118
+ @layer variables {}
119
+
120
+ @layer variables {}
121
+
122
+ @layer variables {}
123
+
124
+ @layer variables {}
125
+
126
+ @layer variables {}
127
+
128
+ @layer variables {}
129
+
130
+ @layer variables {}
131
+
132
+ @layer variables {}
133
+
134
+ @layer variables {}
135
+
136
+ @layer variables {}
137
+
138
+ @layer variables {}
139
+
140
+ @layer variables {}
141
+
142
+ @layer variables {}
143
+
144
+ /**
145
+ * @mixin screen-min-max
146
+ * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
147
+ */
148
+ /**
149
+ Generates 3 types of placeholders, e.g:
150
+ - %db-component-variables-md
151
+ - %db-font-size-md
152
+ - %db-overwrite-font-size-md
153
+ */
154
+ @layer variables {}
155
+
156
+ @layer variables {}
157
+
158
+ @layer variables {}
159
+
160
+ @layer variables {}
161
+
162
+ @layer variables {}
163
+
164
+ @layer variables {}
165
+
166
+ @layer variables {}
167
+
168
+ @layer variables {}
169
+
170
+ @layer variables {}
171
+
172
+ @layer variables {}
173
+
174
+ @layer variables {}
175
+
176
+ @layer variables {}
177
+
178
+ @layer variables {}
179
+
180
+ @layer variables {}
181
+
182
+ @layer variables {}
183
+
184
+ @layer variables {}
185
+
186
+ @layer variables {}
187
+
188
+ @layer variables {}
189
+
190
+ @layer variables {}
191
+
192
+ @layer variables {}
193
+
194
+ @layer variables {}
195
+
196
+ @layer variables {}
197
+
198
+ @layer variables {}
199
+
200
+ @layer variables {}
201
+
202
+ @layer variables {}
203
+
204
+ @layer variables {}
205
+
206
+ @layer variables {}
207
+
208
+ /* Sub components for shell */
@@ -0,0 +1,40 @@
1
+ @use "@db-ux/core-foundations/build/styles/variables";
2
+ @use "@db-ux/core-foundations/build/styles/animation";
3
+ @use "@db-ux/core-foundations/build/styles/colors";
4
+ @use "@db-ux/core-foundations/build/styles/screen-sizes";
5
+ @use "../../styles/internal/component";
6
+ @use "../../styles/internal/form-components";
7
+ @use "../../styles/internal/navigation-item";
8
+
9
+ %db-navigation-item-group-menu-tree {
10
+ margin: 0;
11
+ padding: 0;
12
+ display: flex;
13
+ flex-direction: column;
14
+ block-size: 0;
15
+ visibility: hidden;
16
+ overflow: hidden;
17
+ margin-inline-start: calc(#{form-components.$font-size-height});
18
+ gap: variables.$db-spacing-fixed-xs;
19
+ margin-block-start: variables.$db-spacing-fixed-xs;
20
+
21
+ @media screen and (prefers-reduced-motion: no-preference) {
22
+ & {
23
+ transition: block-size
24
+ #{variables.$db-transition-straight-emotional};
25
+ }
26
+ }
27
+
28
+ &:empty {
29
+ display: none;
30
+ }
31
+
32
+ .db-navigation-item-group-back-button {
33
+ display: none;
34
+ }
35
+
36
+ // Mobile
37
+ @include screen-sizes.screen("md", "max") {
38
+ --db-navigation-item-group-menu-mobile: 1;
39
+ }
40
+ }
@@ -0,0 +1,432 @@
1
+ /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
+ /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
+ /* The primary use-case for responsive spacings are
4
+ paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
+ /* Elevation */
6
+ /* Border */
7
+ /* Opacity */
8
+ /* Transitions */
9
+ /* Screen sizes */
10
+ /* Container sizes */
11
+ /* Variants for adaptive components like input, select, notification, ... */
12
+ @layer variables {}
13
+
14
+ @layer variables {}
15
+
16
+ @layer variables {}
17
+
18
+ @layer variables {}
19
+
20
+ @layer variables {}
21
+
22
+ @layer variables {}
23
+
24
+ @layer variables {}
25
+
26
+ @layer variables {}
27
+
28
+ @layer variables {}
29
+
30
+ @layer variables {}
31
+
32
+ @layer variables {}
33
+
34
+ @layer variables {}
35
+
36
+ @layer variables {}
37
+
38
+ @layer variables {}
39
+
40
+ @layer variables {}
41
+
42
+ @layer variables {}
43
+
44
+ @layer variables {}
45
+
46
+ /**
47
+ * @mixin screen-min-max
48
+ * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
49
+ */
50
+ /**
51
+ Generates 3 types of placeholders, e.g:
52
+ - %db-component-variables-md
53
+ - %db-font-size-md
54
+ - %db-overwrite-font-size-md
55
+ */
56
+ @layer variables {}
57
+
58
+ @layer variables {}
59
+
60
+ @layer variables {}
61
+
62
+ @layer variables {}
63
+
64
+ @layer variables {}
65
+
66
+ @layer variables {}
67
+
68
+ @layer variables {}
69
+
70
+ @layer variables {}
71
+
72
+ @layer variables {}
73
+
74
+ @layer variables {}
75
+
76
+ @layer variables {}
77
+
78
+ @layer variables {}
79
+
80
+ @layer variables {}
81
+
82
+ .db-navigation-item-group, .db-navigation-item-group .db-navigation-item-group-expand-button {
83
+ font: var(--db-type-body-md);
84
+ /* stylelint-disable-next-line at-rule-prelude-no-invalid,layer-name-pattern */
85
+ }
86
+ @layer variables {
87
+ .db-navigation-item-group, .db-navigation-item-group .db-navigation-item-group-expand-button {
88
+ /* Those variables are only for components to calculate heights and change icons */
89
+ --db-icon-font-weight: var(--db-base-body-icon-weight-md);
90
+ --db-icon-font-size: var(--db-base-body-icon-font-size-md);
91
+ }
92
+ }
93
+
94
+ @layer variables {}
95
+
96
+ @layer variables {}
97
+
98
+ @layer variables {}
99
+
100
+ @layer variables {}
101
+
102
+ @layer variables {}
103
+
104
+ @layer variables {}
105
+
106
+ @layer variables {}
107
+
108
+ @layer variables {}
109
+
110
+ @layer variables {}
111
+
112
+ @layer variables {}
113
+
114
+ @layer variables {}
115
+
116
+ @layer variables {}
117
+
118
+ @layer variables {}
119
+
120
+ /* Sub components for shell */
121
+ .db-navigation-item-group .db-navigation-item-group-expand-button {
122
+ border: var(--db-border-width-3xs) solid transparent;
123
+ }
124
+
125
+ .db-navigation-item-group-menu[data-variant=popover] {
126
+ border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
127
+ }
128
+
129
+ .db-navigation-item-group .db-navigation-item-group-expand-button {
130
+ background-color: var(--db-adaptive-bg-basic-transparent-full-default);
131
+ cursor: pointer;
132
+ inline-size: 100%;
133
+ display: inline-flex;
134
+ border-radius: var(--db-border-radius-sm);
135
+ padding: var(--db-spacing-fixed-xs) var(--db-spacing-fixed-sm);
136
+ white-space: nowrap;
137
+ text-align: center;
138
+ align-items: center;
139
+ justify-content: space-between;
140
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
141
+ }
142
+ .db-navigation-item-group .db-navigation-item-group-expand-button:hover:not(:disabled, [aria-disabled=true]) {
143
+ cursor: var(--db-overwrite-cursor, pointer);
144
+ background-color: var(--db-adaptive-bg-basic-transparent-full-hovered);
145
+ }
146
+ .db-navigation-item-group .db-navigation-item-group-expand-button:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-navigation-item-group .db-navigation-item-group-expand-button:hover:not(:disabled, [aria-disabled=true]):is(input) {
147
+ cursor: initial;
148
+ }
149
+ .db-navigation-item-group .db-navigation-item-group-expand-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-navigation-item-group .db-navigation-item-group-expand-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
150
+ cursor: pointer;
151
+ }
152
+ .db-navigation-item-group .db-navigation-item-group-expand-button:active:not(:disabled, [aria-disabled=true]) {
153
+ cursor: var(--db-overwrite-cursor, pointer);
154
+ background-color: var(--db-adaptive-bg-basic-transparent-full-pressed);
155
+ }
156
+ .db-navigation-item-group .db-navigation-item-group-expand-button:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-navigation-item-group .db-navigation-item-group-expand-button:active:not(:disabled, [aria-disabled=true]):is(input) {
157
+ cursor: initial;
158
+ }
159
+ .db-navigation-item-group .db-navigation-item-group-expand-button:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-navigation-item-group .db-navigation-item-group-expand-button:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
160
+ cursor: pointer;
161
+ }
162
+
163
+ .db-navigation-item-group {
164
+ position: relative;
165
+ display: flex;
166
+ block-size: fit-content;
167
+ /* stylelint-disable-next-line media-query-no-invalid */
168
+ /* stylelint-disable-next-line at-rule-empty-line-before */
169
+ /* stylelint-disable-next-line media-query-no-invalid */
170
+ /* stylelint-disable-next-line at-rule-empty-line-before */
171
+ }
172
+ @media screen and (width <= 48em) {
173
+ .db-navigation-item-group {
174
+ inline-size: 100%;
175
+ }
176
+ }
177
+ @media screen and (48em < width) {
178
+ .db-navigation-item-group {
179
+ inline-size: fit-content;
180
+ }
181
+ }
182
+ .db-navigation-item-group :is(a, .db-navigation-item-expand-button):first-of-type {
183
+ white-space: normal;
184
+ text-align: start;
185
+ }
186
+ .db-navigation-item-group:has([aria-current=page]) > :is(a, button), .db-navigation-item-group:has([data-active=true]) > :is(a, button), [aria-current=page].db-navigation-item-group > :is(a, button), [data-active=true].db-navigation-item-group > :is(a, button) {
187
+ font-weight: 700;
188
+ }
189
+ [aria-disabled=true].db-navigation-item-group {
190
+ opacity: var(--db-opacity-md);
191
+ pointer-events: none;
192
+ }
193
+
194
+ @keyframes show-right-to-left {
195
+ from {
196
+ transform: translateX(110%);
197
+ }
198
+ to {
199
+ transform: translateX(0%);
200
+ }
201
+ }
202
+ @keyframes hide-right-to-left {
203
+ from {
204
+ transform: translateX(0%);
205
+ }
206
+ to {
207
+ transform: translateX(110%);
208
+ }
209
+ }
210
+ @keyframes show-left-to-right {
211
+ from {
212
+ transform: translateX(-110%);
213
+ }
214
+ to {
215
+ transform: translateX(0%);
216
+ }
217
+ }
218
+ @keyframes hide-left-to-right {
219
+ from {
220
+ transform: translateX(0%);
221
+ }
222
+ to {
223
+ transform: translateX(-110%);
224
+ }
225
+ }
226
+ @keyframes show-bottom-to-top {
227
+ from {
228
+ transform: translateY(110%);
229
+ }
230
+ to {
231
+ transform: translateY(0%);
232
+ }
233
+ }
234
+ @keyframes hide-bottom-to-top {
235
+ from {
236
+ transform: translateY(0%);
237
+ }
238
+ to {
239
+ transform: translateY(110%);
240
+ }
241
+ }
242
+ @keyframes show-top-to-bottom {
243
+ from {
244
+ transform: translateY(-110%);
245
+ }
246
+ to {
247
+ transform: translateY(0%);
248
+ }
249
+ }
250
+ @keyframes hide-top-to-bottom {
251
+ from {
252
+ transform: translateY(0%);
253
+ }
254
+ to {
255
+ transform: translateY(-110%);
256
+ }
257
+ }
258
+ @keyframes popover-animation {
259
+ 0% {
260
+ opacity: 0;
261
+ transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
262
+ }
263
+ 100% {
264
+ opacity: 1;
265
+ transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
266
+ }
267
+ }
268
+ @keyframes rotate {
269
+ 100% {
270
+ transform: rotate(1turn);
271
+ }
272
+ }
273
+ .db-navigation-item-group-menu[data-variant=popover] {
274
+ --db-popover-distance: var(--db-spacing-fixed-xs);
275
+ margin: 0;
276
+ display: flex;
277
+ flex-direction: column;
278
+ z-index: 70;
279
+ inset-inline-start: 0;
280
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
281
+ visibility: hidden;
282
+ max-block-size: 100vh;
283
+ /* stylelint-disable-next-line media-query-no-invalid */
284
+ /* stylelint-disable-next-line media-query-no-invalid */
285
+ /* stylelint-disable-next-line at-rule-empty-line-before */
286
+ }
287
+ .db-navigation-item-group-menu[data-variant=popover]:empty {
288
+ display: none;
289
+ }
290
+ .db-navigation-item-group-menu[data-variant=popover] .db-navigation-item,
291
+ .db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group {
292
+ inline-size: 100%;
293
+ }
294
+ .db-navigation-item-group-menu[data-variant=popover] .db-navigation-item::after,
295
+ .db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group::after {
296
+ margin-inline-start: auto;
297
+ }
298
+ [data-force-mobile=true].db-navigation-item-group-menu[data-variant=popover] {
299
+ --db-navigation-item-group-menu-mobile: 1;
300
+ padding: var(--db-spacing-fixed-md);
301
+ border: 0;
302
+ inline-size: 100%;
303
+ position: fixed;
304
+ overflow: hidden auto;
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
+ @media screen and (max-width: 63.9375em) {
308
+ .db-navigation-item-group-menu[data-variant=popover] {
309
+ --db-navigation-item-group-menu-mobile: 1;
310
+ padding: var(--db-spacing-fixed-md);
311
+ border: 0;
312
+ inline-size: 100%;
313
+ position: fixed;
314
+ overflow: hidden auto;
315
+ 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);
316
+ }
317
+ }
318
+ @media screen and (min-width: 64em) {
319
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]), [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] {
320
+ border-radius: var(--db-border-radius-sm);
321
+ box-shadow: var(--db-elevation-md);
322
+ padding: var(--db-spacing-fixed-sm);
323
+ block-size: fit-content;
324
+ inline-size: fit-content;
325
+ position: absolute;
326
+ min-inline-size: var(--db-container-xs);
327
+ transition: visibility 1ms linear;
328
+ }
329
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-back-button, [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-back-button {
330
+ display: none;
331
+ }
332
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]):is(:hover, :focus-within):not([data-force-close=true]), [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover]:is(:hover, :focus-within):not([data-force-close=true]) {
333
+ visibility: visible;
334
+ }
335
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile])[data-force-close=true], [data-force-mobile=false][data-force-close=true].db-navigation-item-group-menu[data-variant=popover] {
336
+ pointer-events: none;
337
+ }
338
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-menu, [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-menu {
339
+ inset-block-start: calc(-50% + var(--db-spacing-fixed-xs) + 1px);
340
+ inset-inline-start: calc(100% + var(--db-spacing-fixed-xs));
341
+ }
342
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-menu::before, [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-menu::before {
343
+ content: "";
344
+ position: absolute;
345
+ inset-block-start: 0;
346
+ inset-inline-start: 0;
347
+ block-size: 100%;
348
+ inline-size: var(--db-navigation-item-inline-size, 100%);
349
+ background: transparent;
350
+ transform: translateX(-100%);
351
+ clip-path: var(--db-navigation-item-clip-path, polygon(10% 30px, 100% 0, 100% 100%));
352
+ }
353
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-menu::after, [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-menu::after {
354
+ content: "";
355
+ position: absolute;
356
+ padding: var(--db-spacing-fixed-xs);
357
+ inset-block-start: var(--db-spacing-fixed-3xs);
358
+ inset-inline-end: calc(-1 * var(--db-spacing-fixed-xs));
359
+ block-size: calc(100% - 2 * var(--db-spacing-fixed-3xs));
360
+ inline-size: var(--db-spacing-fixed-xs);
361
+ }
362
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vy=bottom], [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-menu[data-outside-vy=bottom] {
363
+ transform: translateY(calc(-200% + var(--db-spacing-fixed-xs)));
364
+ }
365
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right], [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-menu[data-outside-vx=right] {
366
+ transform: translateX(calc(-200% + var(--db-spacing-fixed-xs)));
367
+ }
368
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right][data-outside-vy=bottom], [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-menu[data-outside-vx=right][data-outside-vy=bottom] {
369
+ transform: translate(calc(-200% + var(--db-spacing-fixed-xs)), calc(-200% + var(--db-spacing-fixed-xs)));
370
+ }
371
+ .db-navigation-item-group-menu[data-variant=popover]:not([data-force-mobile]) .db-navigation-item-group-menu[data-outside-vx=right]::before, [data-force-mobile=false].db-navigation-item-group-menu[data-variant=popover] .db-navigation-item-group-menu[data-outside-vx=right]::before {
372
+ inset-block: auto 0;
373
+ transform: translateX(100%) scaleX(-1);
374
+ }
375
+ }
376
+
377
+ .db-navigation-item-group .db-navigation-item-group-expand-button {
378
+ /* stylelint-disable-next-line media-query-no-invalid */
379
+ /* stylelint-disable-next-line at-rule-empty-line-before */
380
+ /* stylelint-disable-next-line media-query-no-invalid */
381
+ /* stylelint-disable-next-line at-rule-empty-line-before */
382
+ }
383
+ @media screen and (width <= 48em) {
384
+ .db-navigation-item-group .db-navigation-item-group-expand-button::after {
385
+ --db-icon-margin-start: auto;
386
+ }
387
+ }
388
+ @media screen and (48em < width) {
389
+ .db-navigation-item-group .db-navigation-item-group-expand-button::after {
390
+ --db-icon-margin-start: var(--db-spacing-fixed-sm);
391
+ }
392
+ }
393
+ .db-navigation-item-group .db-navigation-item {
394
+ /* Hide tooltips for nested navigation items */
395
+ }
396
+ .db-navigation-item-group .db-navigation-item .db-tooltip {
397
+ display: none;
398
+ }
399
+ .db-navigation-item-group::after {
400
+ --indicator-vertical-block-size: var(--db-sizing-md);
401
+ --indicator-vertical-inset-block-start: calc(
402
+ var(--db-sizing-md) / 2
403
+ );
404
+ }
405
+
406
+ .db-navigation-item-group-back-button {
407
+ display: flex;
408
+ font-weight: normal;
409
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
410
+ padding-block-end: var(--db-spacing-fixed-md);
411
+ margin-block-end: var(--db-spacing-fixed-md);
412
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
413
+ position: var(--db-tooltip-parent-position, relative);
414
+ }
415
+ .db-navigation-item-group-back-button[data-emphasis=strong] {
416
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
417
+ }
418
+ .db-navigation-item-group-back-button::before {
419
+ content: "";
420
+ background-color: var(--db-divider-bg-color);
421
+ position: absolute;
422
+ block-size: var(--db-border-width-3xs);
423
+ inset-block-end: 0;
424
+ inset-inline: 0;
425
+ /* stylelint-disable-next-line db-ux/use-border-color */
426
+ /* stylelint-disable-next-line at-rule-empty-line-before */
427
+ }
428
+ @media (forced-colors: active) {
429
+ .db-navigation-item-group-back-button::before {
430
+ border-block-end: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
431
+ }
432
+ }