@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
@@ -0,0 +1,105 @@
1
+ @use "sass:string";
2
+ @use "@db-ux/core-foundations/build/styles/variables";
3
+ @use "@db-ux/core-foundations/build/styles/screen-sizes";
4
+ @use "@db-ux/core-foundations/build/styles/colors";
5
+ @use "../../styles/internal/control-panel-desktop";
6
+ @use "../shell-sub-navigation/shell-sub-navigation";
7
+ @use "../../styles/internal/custom-elements";
8
+
9
+ @mixin control-panel-top {
10
+ &:not(:has(#{string.unquote(custom-elements.$control-panel-flat-icon)})) {
11
+ &[data-control-panel-desktop-position="top"] {
12
+ // Sub-navigation: top
13
+ &[data-sub-navigation-desktop-position="top"] {
14
+ grid-template-areas:
15
+ "control-panel"
16
+ "shell-content";
17
+ grid-template-rows:
18
+ [control-panel] max-content
19
+ [shell-content] 1fr;
20
+
21
+ &:has(
22
+ #{string.unquote(custom-elements.$shell-sub-navigation)}
23
+ ) {
24
+ grid-template-areas:
25
+ "control-panel"
26
+ "sub-navigation"
27
+ "shell-content";
28
+ grid-template-rows:
29
+ [control-panel] max-content
30
+ [sub-navigation] max-content
31
+ [shell-content] 1fr;
32
+ }
33
+
34
+ @include shell-sub-navigation.sub-navigation-top;
35
+ }
36
+
37
+ // Sub-navigation: left
38
+ &[data-sub-navigation-desktop-position="left"] {
39
+ grid-template:
40
+ [control-panel] "control-panel control-panel" max-content
41
+ [shell-content] "shell-content shell-content" 1fr;
42
+
43
+ &:has(
44
+ #{string.unquote(custom-elements.$shell-sub-navigation)}
45
+ ) {
46
+ grid-template:
47
+ [control-panel] "control-panel control-panel" max-content
48
+ [shell-content] "sub-navigation shell-content" 1fr /
49
+ [sub-navigation] auto
50
+ [shell-content] 1fr;
51
+ }
52
+
53
+ @include shell-sub-navigation.sub-navigation-left;
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ @mixin control-panel-left {
60
+ &:has(#{string.unquote(custom-elements.$control-panel-flat-icon)}),
61
+ &[data-control-panel-desktop-position="left"] {
62
+ grid-template-areas:
63
+ "control-panel shell-content"
64
+ "control-panel shell-content";
65
+ grid-template-columns:
66
+ [control-panel] min-content
67
+ [shell-content] 1fr;
68
+
69
+ &:has(#{string.unquote(custom-elements.$shell-sub-navigation)}) {
70
+ grid-template-areas:
71
+ "control-panel sub-navigation"
72
+ "control-panel shell-content";
73
+ grid-template-rows:
74
+ [control-panel] min-content
75
+ [shell-content] 1fr;
76
+ }
77
+
78
+ @include shell-sub-navigation.sub-navigation-top;
79
+ }
80
+ }
81
+
82
+ .db-shell {
83
+ // DESKTOP
84
+ @include screen-sizes.screen-min-max(
85
+ (
86
+ min: "sm"
87
+ )
88
+ ) {
89
+ @include control-panel-top;
90
+ @include control-panel-left;
91
+
92
+ // Hide mobile control panel
93
+ #{string.unquote(custom-elements.$control-panel-mobile)} {
94
+ display: none;
95
+ }
96
+
97
+ // Hide mobile control-panel-flat-icon
98
+ db-control-panel-flat-icon
99
+ + db-control-panel-flat-icon
100
+ > .db-control-panel-flat-icon,
101
+ .db-control-panel-flat-icon + .db-control-panel-flat-icon {
102
+ display: none;
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,441 @@
1
+ .db-visually-hidden,
2
+ [data-visually-hidden=true] {
3
+ position: absolute !important;
4
+ inset-block-start: 0 !important;
5
+ inline-size: 1px !important;
6
+ block-size: 1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
11
+ padding: 0 !important;
12
+ pointer-events: none !important;
13
+ }
14
+
15
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
16
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
17
+ /* Variants for adaptive components like input, select, notification, ... */
18
+ /* Sub components for shell */
19
+ @keyframes popover-animation {
20
+ 0% {
21
+ pointer-events: none;
22
+ opacity: 0;
23
+ transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
24
+ }
25
+ 100% {
26
+ pointer-events: auto;
27
+ opacity: 1;
28
+ transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
29
+ }
30
+ }
31
+ @keyframes rotate {
32
+ 100% {
33
+ transform: rotate(1turn);
34
+ }
35
+ }
36
+ dialog {
37
+ padding: 0;
38
+ margin: 0;
39
+ border: 0;
40
+ z-index: 9996;
41
+ color: inherit;
42
+ }
43
+ dialog:not([data-position=absolute])[data-variant], dialog:not([data-position=absolute])[data-backdrop] {
44
+ position: fixed;
45
+ inset: 0;
46
+ z-index: 9995;
47
+ }
48
+ dialog:not([data-position=absolute])[data-variant=inside]:not([data-backdrop=none])::before {
49
+ content: "";
50
+ position: fixed;
51
+ inset: 0;
52
+ }
53
+ dialog:not([data-backdrop=none])::backdrop, dialog:not([data-backdrop=none])::before {
54
+ background-color: color(from var(--db-adaptive-on-bg-basic-emphasis-100-default) srgb r g b/var(--db-opacity-lg));
55
+ }
56
+ dialog:not([data-backdrop=none])[data-backdrop=invisible]::backdrop, dialog:not([data-backdrop=none])[data-backdrop=invisible]::before {
57
+ background-color: transparent;
58
+ }
59
+ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data-backdrop=none])[data-backdrop=weak]::before {
60
+ background-color: color(from var(--db-adaptive-on-bg-basic-emphasis-100-default) srgb r g b/var(--db-opacity-sm));
61
+ }
62
+
63
+ .db-drawer .db-drawer-container:not([data-direction]), .db-drawer .db-drawer-container[data-direction=left], .db-drawer .db-drawer-container[data-direction=right] {
64
+ inline-size: calc(100lvw - var(--db-drawer-container-backdrop-spacing, 0px));
65
+ min-inline-size: var(--db-drawer-min-width, auto);
66
+ max-inline-size: var(--db-drawer-max-width, var(--db-drawer-max-width-horizontal));
67
+ }
68
+ .db-drawer .db-drawer-container:not([data-container-size]):not([data-direction]), .db-drawer .db-drawer-container[data-direction=left]:not([data-container-size]), .db-drawer .db-drawer-container[data-direction=right]:not([data-container-size]), .db-drawer [data-container-size=small].db-drawer-container:not([data-direction]), .db-drawer [data-container-size=small].db-drawer-container[data-direction=left], .db-drawer [data-container-size=small].db-drawer-container[data-direction=right] {
69
+ --db-drawer-max-width-horizontal: var(--db-container-xs);
70
+ }
71
+ .db-drawer [data-container-size=medium].db-drawer-container:not([data-direction]), .db-drawer [data-container-size=medium].db-drawer-container[data-direction=left], .db-drawer [data-container-size=medium].db-drawer-container[data-direction=right] {
72
+ --db-drawer-max-width-horizontal: var(--db-container-lg);
73
+ }
74
+ .db-drawer [data-container-size=large].db-drawer-container:not([data-direction]), .db-drawer [data-container-size=large].db-drawer-container[data-direction=left], .db-drawer [data-container-size=large].db-drawer-container[data-direction=right] {
75
+ --db-drawer-max-width-horizontal: var(--db-container-3xl);
76
+ }
77
+
78
+ .db-drawer .db-drawer-container[data-direction=down], .db-drawer .db-drawer-container[data-direction=up] {
79
+ block-size: calc(100lvh - var(--db-drawer-container-backdrop-spacing, 0px));
80
+ min-block-size: var(--db-drawer-min-height, auto);
81
+ max-block-size: var(--db-drawer-max-height, var(--db-drawer-max-height-vertical));
82
+ }
83
+ .db-drawer [data-container-size=small].db-drawer-container[data-direction=down], .db-drawer [data-container-size=small].db-drawer-container[data-direction=up] {
84
+ --db-drawer-max-height-vertical: 33lvh;
85
+ }
86
+ .db-drawer [data-container-size=medium].db-drawer-container[data-direction=down], .db-drawer [data-container-size=medium].db-drawer-container[data-direction=up] {
87
+ --db-drawer-max-height-vertical: 50lvh;
88
+ }
89
+ .db-drawer .db-drawer-container[data-direction=down]:not([data-container-size]), .db-drawer .db-drawer-container[data-direction=up]:not([data-container-size]), .db-drawer [data-container-size=large].db-drawer-container[data-direction=down], .db-drawer [data-container-size=large].db-drawer-container[data-direction=up] {
90
+ --db-drawer-max-height-vertical: 67lvh;
91
+ }
92
+
93
+ .db-drawer .db-drawer-container[data-direction=right]:not([data-transition=open]) {
94
+ transform: translateX(-110%);
95
+ }
96
+ .db-drawer .db-drawer-container[data-direction=right] {
97
+ inset-inline: 0 auto;
98
+ }
99
+ .db-drawer [data-rounded=true].db-drawer-container[data-direction=right] {
100
+ border-start-end-radius: var(--db-border-radius-sm);
101
+ border-end-end-radius: var(--db-border-radius-sm);
102
+ }
103
+
104
+ .db-drawer .db-drawer-container:not([data-transition=open]):not([data-direction]), .db-drawer .db-drawer-container[data-direction=left]:not([data-transition=open]) {
105
+ transform: translateX(110%);
106
+ }
107
+ .db-drawer .db-drawer-container:not([data-direction]), .db-drawer .db-drawer-container[data-direction=left] {
108
+ inset-inline: auto 0;
109
+ }
110
+ .db-drawer [data-rounded=true].db-drawer-container:not([data-direction]), .db-drawer [data-rounded=true].db-drawer-container[data-direction=left] {
111
+ border-start-start-radius: var(--db-border-radius-sm);
112
+ border-end-start-radius: var(--db-border-radius-sm);
113
+ }
114
+
115
+ .db-drawer .db-drawer-container[data-direction=up]:not([data-transition=open]) {
116
+ transform: translateY(110%);
117
+ }
118
+ .db-drawer .db-drawer-container[data-direction=up] {
119
+ inset: auto 0 0;
120
+ }
121
+ .db-drawer [data-rounded=true].db-drawer-container[data-direction=up] {
122
+ border-start-end-radius: var(--db-border-radius-sm);
123
+ border-start-start-radius: var(--db-border-radius-sm);
124
+ }
125
+
126
+ .db-drawer .db-drawer-container[data-direction=down]:not([data-transition=open]) {
127
+ transform: translateY(-110%);
128
+ }
129
+ .db-drawer .db-drawer-container[data-direction=down] {
130
+ inset: 0 0 auto;
131
+ }
132
+ .db-drawer [data-rounded=true].db-drawer-container[data-direction=down] {
133
+ border-end-end-radius: var(--db-border-radius-sm);
134
+ border-end-start-radius: var(--db-border-radius-sm);
135
+ }
136
+
137
+ .db-drawer .db-drawer-container:not(:has(.db-drawer-footer)) > .db-drawer-content {
138
+ margin-block-end: env(safe-area-inset-bottom);
139
+ }
140
+ .db-drawer .db-drawer-container:has(.db-drawer-footer) .db-drawer-footer {
141
+ padding-block-end: calc(var(--db-spacing-fixed-xs) + env(safe-area-inset-bottom));
142
+ }
143
+
144
+ .db-drawer .db-drawer-container {
145
+ --db-drawer-close-delay: 0;
146
+ }
147
+ @media (prefers-reduced-motion: no-preference) {
148
+ .db-drawer .db-drawer-container {
149
+ --db-drawer-close-delay: var(--db-transition-duration-slow);
150
+ }
151
+ }
152
+ .db-drawer .db-drawer-container {
153
+ display: grid;
154
+ grid-template-rows: [header] auto [main] 1fr [footer] auto;
155
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
156
+ inline-size: 100lvw;
157
+ block-size: 100lvh;
158
+ position: fixed;
159
+ box-shadow: var(--db-elevation-md);
160
+ }
161
+ .db-drawer .db-drawer-container > .db-drawer-content {
162
+ overflow-y: auto;
163
+ overscroll-behavior: contain;
164
+ padding: var(--db-spacing-fixed-xs) max(var(--db-spacing-fixed-sm), max(env(safe-area-inset-left), env(safe-area-inset-right)));
165
+ }
166
+ .db-drawer .db-drawer-container[data-show-spacing=true] {
167
+ --db-drawer-container-backdrop-spacing: var(--db-sizing-md);
168
+ }
169
+ .db-drawer .db-drawer-container[data-show-spacing=true]:not([data-direction]), .db-drawer .db-drawer-container[data-show-spacing=true][data-direction=left] {
170
+ border-inline-end: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
171
+ }
172
+ .db-drawer .db-drawer-container[data-show-spacing=true][data-direction=right] {
173
+ border-inline-start: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
174
+ }
175
+ .db-drawer .db-drawer-container[data-show-spacing=true][data-direction=up] {
176
+ border-block-start: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
177
+ }
178
+ .db-drawer .db-drawer-container[data-show-spacing=true][data-direction=down] {
179
+ border-block-end: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
180
+ }
181
+ .db-drawer .db-drawer-container[data-rounded=true] {
182
+ box-shadow: var(--db-elevation-md);
183
+ }
184
+ @media (prefers-reduced-motion: no-preference) {
185
+ .db-drawer .db-drawer-container {
186
+ transition: transform var(--db-transition-duration-extra-slow) var(--db-transition-timing-emotional);
187
+ }
188
+ }
189
+ .db-drawer[data-position=absolute] {
190
+ position: absolute;
191
+ z-index: 3;
192
+ inset: 0;
193
+ block-size: 100%;
194
+ inline-size: 100%;
195
+ background-color: transparent;
196
+ }
197
+ .db-drawer[data-position=absolute][open] {
198
+ display: flex;
199
+ }
200
+ .db-drawer[data-position=absolute]:not([data-direction]), .db-drawer[data-position=absolute][data-direction=right], .db-drawer[data-position=absolute][data-direction=left] {
201
+ flex-direction: column;
202
+ }
203
+ .db-drawer[data-position=absolute][data-direction=right], .db-drawer[data-position=absolute][data-direction=down] {
204
+ align-items: flex-start;
205
+ }
206
+ .db-drawer[data-position=absolute]:not([data-direction]), .db-drawer[data-position=absolute][data-direction=left], .db-drawer[data-position=absolute][data-direction=up] {
207
+ align-items: flex-end;
208
+ }
209
+ .db-drawer[data-position=absolute] .db-drawer-container {
210
+ position: relative;
211
+ }
212
+ .db-drawer[open] .db-drawer-container[data-transition=open] {
213
+ transform: none;
214
+ }
215
+ @media (prefers-reduced-motion: no-preference) {
216
+ .db-drawer[open] .db-drawer-container[data-transition=close] {
217
+ transition: transform var(--db-drawer-close-delay) var(--db-transition-timing-emotional);
218
+ }
219
+ }
220
+
221
+ .db-shell-sub-navigation {
222
+ grid-area: sub-navigation;
223
+ overflow: hidden;
224
+ }
225
+ .db-shell-sub-navigation > .db-shell-sub-navigation-button {
226
+ grid-area: button;
227
+ display: flex;
228
+ }
229
+ @media screen and (prefers-reduced-motion: no-preference) {
230
+ .db-shell-sub-navigation > .db-shell-sub-navigation-button .db-button::before {
231
+ transition: transform var(--db-transition-straight-functional);
232
+ }
233
+ }
234
+ .db-shell-sub-navigation .db-control-panel-navigation {
235
+ grid-area: navigation;
236
+ }
237
+
238
+ .db-shell {
239
+ /* stylelint-disable-next-line media-query-no-invalid */
240
+ }
241
+ @media (width <= 48em) {
242
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top]:not([data-sub-navigation-mobile-position]), .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=none] {
243
+ grid-template-areas: "control-panel" "shell-content";
244
+ grid-template-rows: [control-panel] auto [shell-content] 1fr;
245
+ }
246
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top]:not([data-sub-navigation-mobile-position]) > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top]:not([data-sub-navigation-mobile-position]) > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top]:not([data-sub-navigation-mobile-position]) > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=none] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=none] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=none] > .db-shell-sub-navigation {
247
+ display: none;
248
+ }
249
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] {
250
+ grid-template-areas: "control-panel" "sub-navigation" "shell-content";
251
+ grid-template-rows: [control-panel] auto [sub-navigation] auto [shell-content] 1fr;
252
+ }
253
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation {
254
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
255
+ position: var(--db-tooltip-parent-position, relative);
256
+ }
257
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation[data-emphasis=strong] {
258
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
259
+ }
260
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation::before {
261
+ content: "";
262
+ background-color: var(--db-divider-bg-color);
263
+ position: absolute;
264
+ /* jscpd:ignore-start */
265
+ block-size: var(--db-border-width-3xs);
266
+ inset-block-end: 0;
267
+ inset-inline: 0;
268
+ /* stylelint-disable-next-line db-ux/use-border-color */
269
+ /* stylelint-disable-next-line at-rule-empty-line-before */
270
+ /* jscpd:ignore-end */
271
+ }
272
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation {
273
+ padding-block-start: calc(var(--db-spacing-fixed-xs) + env(safe-area-inset-top));
274
+ }
275
+ }
276
+ @media (width <= 48em) and (forced-colors: active) {
277
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation::before {
278
+ /* stylelint-disable-next-line db-ux/use-border-color */
279
+ border-block-end: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
280
+ }
281
+ }
282
+ @media (width <= 48em) {
283
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] {
284
+ grid-template-areas: "control-panel" "shell-content" "sub-navigation";
285
+ grid-template-rows: [control-panel] auto [shell-content] 1fr [sub-navigation] auto;
286
+ }
287
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > .db-shell-sub-navigation {
288
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
289
+ position: var(--db-tooltip-parent-position, relative);
290
+ }
291
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > * > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > .db-shell-sub-navigation[data-emphasis=strong] {
292
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
293
+ }
294
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > .db-shell-sub-navigation::before {
295
+ content: "";
296
+ background-color: var(--db-divider-bg-color);
297
+ position: absolute;
298
+ /* jscpd:ignore-start */
299
+ block-size: var(--db-border-width-3xs);
300
+ inset-block-start: 0;
301
+ inset-inline: 0;
302
+ /* stylelint-disable-next-line db-ux/use-border-color */
303
+ /* stylelint-disable-next-line at-rule-empty-line-before */
304
+ /* jscpd:ignore-end */
305
+ }
306
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > .db-shell-sub-navigation {
307
+ padding-block-end: calc(var(--db-spacing-fixed-xs) + env(safe-area-inset-bottom));
308
+ }
309
+ }
310
+ @media (width <= 48em) and (forced-colors: active) {
311
+ .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:not(:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon))[data-control-panel-mobile-position=top][data-sub-navigation-mobile-position=bottom] > .db-shell-sub-navigation::before {
312
+ /* stylelint-disable-next-line db-ux/use-border-color */
313
+ border-block-start: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
314
+ }
315
+ }
316
+ @media (width <= 48em) {
317
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon) .db-control-panel-navigation[data-variant=popover] .db-control-panel-navigation-item-group-menu, .db-shell[data-control-panel-mobile-position=bottom] .db-control-panel-navigation[data-variant=popover] .db-control-panel-navigation-item-group-menu {
318
+ max-inline-size: 100%;
319
+ /*
320
+ We use the drawer-max-height defined in packages/components/src/components/control-panel-mobile/control-panel-mobile.scss
321
+ to get the inverted height plus the size of the drawer header
322
+ */
323
+ inset-block-start: calc(100lvh - var(--db-drawer-max-height) + calc(var(--db-sizing-md) + 2 * var(--db-spacing-fixed-xs)) + env(safe-area-inset-top));
324
+ }
325
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon):not([data-sub-navigation-mobile-position]), .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=bottom], .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=none], .db-shell[data-control-panel-mobile-position=bottom]:not([data-sub-navigation-mobile-position]), .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=bottom], .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=none] {
326
+ grid-template-areas: "shell-content" "control-panel";
327
+ grid-template-rows: [shell-content] 1fr [control-panel] auto;
328
+ }
329
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon):not([data-sub-navigation-mobile-position]) > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon):not([data-sub-navigation-mobile-position]) > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon):not([data-sub-navigation-mobile-position]) > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=bottom] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=bottom] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=bottom] > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=none] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=none] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=none] > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom]:not([data-sub-navigation-mobile-position]) > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom]:not([data-sub-navigation-mobile-position]) > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom]:not([data-sub-navigation-mobile-position]) > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=bottom] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=bottom] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=bottom] > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=none] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=none] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=none] > .db-shell-sub-navigation {
330
+ display: none;
331
+ }
332
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top], .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] {
333
+ grid-template-areas: "sub-navigation" "shell-content" "control-panel";
334
+ grid-template-rows: [sub-navigation] auto [shell-content] 1fr [control-panel] auto;
335
+ }
336
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation {
337
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
338
+ position: var(--db-tooltip-parent-position, relative);
339
+ }
340
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation[data-emphasis=strong], .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation[data-emphasis=strong], .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation[data-emphasis=strong] {
341
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
342
+ }
343
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation::before, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation::before {
344
+ content: "";
345
+ background-color: var(--db-divider-bg-color);
346
+ position: absolute;
347
+ /* jscpd:ignore-start */
348
+ block-size: var(--db-border-width-3xs);
349
+ inset-block-end: 0;
350
+ inset-inline: 0;
351
+ /* stylelint-disable-next-line db-ux/use-border-color */
352
+ /* stylelint-disable-next-line at-rule-empty-line-before */
353
+ /* jscpd:ignore-end */
354
+ }
355
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation {
356
+ padding-block-start: calc(var(--db-spacing-fixed-xs) + env(safe-area-inset-top));
357
+ }
358
+ }
359
+ @media (width <= 48em) and (forced-colors: active) {
360
+ .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell:has(> * > db-control-panel-flat-icon > .db-control-panel-flat-icon, > db-control-panel-flat-icon > .db-control-panel-flat-icon, > .db-control-panel-flat-icon)[data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation::before, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > * > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > db-shell-sub-navigation > .db-shell-sub-navigation::before, .db-shell[data-control-panel-mobile-position=bottom][data-sub-navigation-mobile-position=top] > .db-shell-sub-navigation::before {
361
+ /* stylelint-disable-next-line db-ux/use-border-color */
362
+ border-block-end: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
363
+ }
364
+ }
365
+ @media (width <= 48em) {
366
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation > .db-shell-sub-navigation-button, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation > .db-shell-sub-navigation-button, .db-shell > .db-shell-sub-navigation > .db-shell-sub-navigation-button {
367
+ display: none;
368
+ }
369
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation-item-group, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation-item-group, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation-item-group {
370
+ display: none !important;
371
+ }
372
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation-item, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation-item, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation-item {
373
+ inline-size: fit-content;
374
+ white-space: nowrap;
375
+ }
376
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation {
377
+ --db-overflow-scroll-button-inset-block: var(--db-spacing-fixed-xs);
378
+ --db-overflow-scroll-button-inset-inline-start: 0;
379
+ --db-control-panel-sub-navigation-mobile: 1;
380
+ display: grid;
381
+ --db-control-panel-navigation-horizontal: 1;
382
+ }
383
+ @supports (scrollbar-width: none) {
384
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu {
385
+ scrollbar-width: none;
386
+ }
387
+ }
388
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::-webkit-scrollbar, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::-webkit-scrollbar, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::-webkit-scrollbar {
389
+ display: none;
390
+ }
391
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::before, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::after, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::before, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::after, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::before, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation:has(.db-button) > menu::after {
392
+ block-size: calc(100% - var(--db-border-width-3xs));
393
+ inset-block: 0;
394
+ flex: none;
395
+ }
396
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu {
397
+ overflow: auto hidden;
398
+ flex-direction: row;
399
+ }
400
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group,
401
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item > .db-control-panel-navigation-item, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item > .db-control-panel-navigation-item, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group,
402
+ .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item > .db-control-panel-navigation-item, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item > .db-control-panel-navigation-item, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group,
403
+ .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item > .db-control-panel-navigation-item, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item > .db-control-panel-navigation-item, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item {
404
+ white-space: nowrap;
405
+ }
406
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-expand-button > .db-control-panel-navigation-item-group-expand-button-end-slot-container::after {
407
+ --db-icon-trailing: "chevron_down";
408
+ }
409
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu {
410
+ inset-block-start: calc(100% + var(--db-popover-distance, var(--db-spacing-fixed-md)));
411
+ }
412
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > * > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu > .db-control-panel-navigation-item-group > .db-control-panel-navigation-item-group-menu::before {
413
+ content: "";
414
+ position: absolute;
415
+ inset-inline-start: 0;
416
+ inline-size: 100%;
417
+ block-size: calc(var(--db-spacing-fixed-3xs) + var(--db-spacing-fixed-md));
418
+ inset-block-start: calc(-1 * var(--db-spacing-fixed-md) - var(--db-spacing-fixed-3xs));
419
+ }
420
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation > menu, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation > menu {
421
+ padding-block: var(--db-spacing-fixed-xs);
422
+ /* workaround for showing correct scrolling and focus */
423
+ padding-inline-start: calc(var(--db-spacing-fixed-sm) / 2);
424
+ margin-inline-start: calc(var(--db-spacing-fixed-sm) / 2);
425
+ }
426
+ .db-shell > * > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation[data-variant=tree] .db-control-panel-navigation-item a::before, .db-shell > db-shell-sub-navigation > .db-shell-sub-navigation .db-control-panel-navigation[data-variant=tree] .db-control-panel-navigation-item a::before, .db-shell > .db-shell-sub-navigation .db-control-panel-navigation[data-variant=tree] .db-control-panel-navigation-item a::before {
427
+ display: none;
428
+ }
429
+ .db-shell > * > db-control-panel-desktop > .db-control-panel-desktop, .db-shell > db-control-panel-desktop > .db-control-panel-desktop, .db-shell > .db-control-panel-desktop {
430
+ display: none;
431
+ }
432
+ .db-shell:has(> db-control-panel-flat-icon:nth-of-type(2),
433
+ > .db-control-panel-flat-icon:nth-of-type(2)) > db-control-panel-flat-icon:nth-of-type(1) > .db-control-panel-flat-icon,
434
+ .db-shell:has(> db-control-panel-flat-icon:nth-of-type(2),
435
+ > .db-control-panel-flat-icon:nth-of-type(2)) > .db-control-panel-flat-icon:nth-of-type(1) {
436
+ display: none;
437
+ }
438
+ }
439
+ .db-shell {
440
+ /* stylelint-disable-next-line at-rule-empty-line-before */
441
+ }