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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/build/assets/icons/LICENCES.json +0 -24
  2. package/build/assets/icons/fonts/all/db-ux.woff2 +0 -0
  3. package/build/assets/icons/fonts/default/db-ux.woff2 +0 -0
  4. package/build/assets/icons/fonts/default_12/db-ux.woff2 +0 -0
  5. package/build/assets/icons/fonts/default_14/db-ux.woff2 +0 -0
  6. package/build/assets/icons/fonts/default_16/db-ux.woff2 +0 -0
  7. package/build/assets/icons/fonts/default_20/db-ux.woff2 +0 -0
  8. package/build/assets/icons/fonts/default_24/db-ux.woff2 +0 -0
  9. package/build/assets/icons/fonts/default_28/db-ux.woff2 +0 -0
  10. package/build/assets/icons/fonts/default_32/db-ux.woff2 +0 -0
  11. package/build/assets/icons/fonts/default_48/db-ux.woff2 +0 -0
  12. package/build/assets/icons/fonts/default_64/db-ux.woff2 +0 -0
  13. package/build/assets/icons/fonts/filled/db-ux.woff2 +0 -0
  14. package/build/assets/icons/fonts/filled_12/db-ux.woff2 +0 -0
  15. package/build/assets/icons/fonts/filled_14/db-ux.woff2 +0 -0
  16. package/build/assets/icons/fonts/filled_16/db-ux.woff2 +0 -0
  17. package/build/assets/icons/fonts/filled_20/db-ux.woff2 +0 -0
  18. package/build/assets/icons/fonts/filled_24/db-ux.woff2 +0 -0
  19. package/build/assets/icons/fonts/filled_28/db-ux.woff2 +0 -0
  20. package/build/assets/icons/fonts/filled_32/db-ux.woff2 +0 -0
  21. package/build/assets/icons/fonts/filled_48/db-ux.woff2 +0 -0
  22. package/build/assets/icons/fonts/filled_64/db-ux.woff2 +0 -0
  23. package/build/components/accordion/accordion.css +5 -5
  24. package/build/components/{control-panel-brand/control-panel-brand.css → brand/brand.css} +6 -12
  25. package/build/components/{control-panel-brand/control-panel-brand.scss → brand/brand.scss} +1 -10
  26. package/build/components/button/button.css +1 -1
  27. package/build/components/button/button.scss +2 -2
  28. package/build/components/custom-select/custom-select.css +4 -4
  29. package/build/components/custom-select-dropdown/custom-select-dropdown.css +12 -12
  30. package/build/components/custom-select-list-item/custom-select-list-item.css +6 -6
  31. package/build/components/divider/divider.css +6 -6
  32. package/build/components/drawer/drawer.css +6 -7
  33. package/build/components/drawer/drawer.scss +2 -7
  34. package/build/components/header/header.css +759 -0
  35. package/build/components/header/header.scss +259 -0
  36. package/build/components/navigation/navigation.css +123 -394
  37. package/build/components/navigation/navigation.scss +72 -155
  38. package/build/components/navigation-item/navigation-item.css +418 -35
  39. package/build/components/navigation-item/navigation-item.scss +310 -8
  40. package/build/components/page/page.css +52 -0
  41. package/build/components/page/page.scss +52 -0
  42. package/build/components/popover/popover.css +1 -1
  43. package/build/components/stack/stack-web-component.css +0 -1
  44. package/build/components/stack/stack.css +0 -1
  45. package/build/components/tab-item/tab-item.scss +1 -0
  46. package/build/components/tab-list/tab-list.css +1 -1
  47. package/build/components/tabs/tabs.css +23 -106
  48. package/build/components/tabs/tabs.scss +70 -25
  49. package/build/components/tag/tag.css +11 -5
  50. package/build/components/tag/tag.scss +5 -1
  51. package/build/components/textarea/textarea.css +1 -1
  52. package/build/components/tooltip/tooltip.css +1 -1
  53. package/build/styles/absolute.css +6 -6
  54. package/build/styles/component-animations.css +1 -1
  55. package/build/styles/index.css +5 -5
  56. package/build/styles/index.scss +3 -11
  57. package/build/styles/internal/_custom-elements.scss +4 -22
  58. package/build/styles/internal/{_indicator.scss → _db-puls.scss} +16 -37
  59. package/build/styles/internal/_icon-passing.scss +9 -19
  60. package/build/styles/internal/_popover-component.scss +4 -1
  61. package/build/styles/internal/_scrollbar.scss +0 -71
  62. package/build/styles/relative.css +6 -6
  63. package/build/styles/rollup.css +6 -6
  64. package/build/styles/wc-workarounds.css +1 -1
  65. package/build/styles/wc-workarounds.scss +0 -11
  66. package/build/styles/webpack.css +6 -6
  67. package/package.json +3 -3
  68. package/build/assets/icons/double_chevron_left.svg +0 -1
  69. package/build/assets/icons/double_chevron_right.svg +0 -1
  70. package/build/assets/icons/house.svg +0 -1
  71. package/build/assets/icons/intermediary_stop.svg +0 -1
  72. package/build/components/control-panel-desktop/control-panel-desktop.css +0 -791
  73. package/build/components/control-panel-desktop/control-panel-desktop.scss +0 -29
  74. package/build/components/control-panel-flat-icon-navigation/control-panel-flat-icon-navigation.css +0 -222
  75. package/build/components/control-panel-flat-icon-navigation/control-panel-flat-icon-navigation.scss +0 -95
  76. package/build/components/control-panel-meta-navigation/control-panel-meta-navigation.css +0 -54
  77. package/build/components/control-panel-meta-navigation/control-panel-meta-navigation.scss +0 -12
  78. package/build/components/control-panel-mobile/control-panel-mobile.css +0 -718
  79. package/build/components/control-panel-mobile/control-panel-mobile.scss +0 -127
  80. package/build/components/control-panel-primary-actions/control-panel-primary-actions.css +0 -16
  81. package/build/components/control-panel-primary-actions/control-panel-primary-actions.scss +0 -8
  82. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.css +0 -16
  83. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.scss +0 -8
  84. package/build/components/navigation-item-group/navigation-item-group-menu-popover.css +0 -189
  85. package/build/components/navigation-item-group/navigation-item-group-menu-popover.scss +0 -105
  86. package/build/components/navigation-item-group/navigation-item-group-menu-tree.css +0 -208
  87. package/build/components/navigation-item-group/navigation-item-group-menu-tree.scss +0 -40
  88. package/build/components/navigation-item-group/navigation-item-group.css +0 -432
  89. package/build/components/navigation-item-group/navigation-item-group.scss +0 -69
  90. package/build/components/shell/shell-desktop.css +0 -548
  91. package/build/components/shell/shell-desktop.scss +0 -187
  92. package/build/components/shell/shell-mobile.css +0 -647
  93. package/build/components/shell/shell-mobile.scss +0 -137
  94. package/build/components/shell/shell.css +0 -1890
  95. package/build/components/shell/shell.scss +0 -84
  96. package/build/components/shell-sub-navigation/shell-sub-navigation.css +0 -11
  97. package/build/components/shell-sub-navigation/shell-sub-navigation.scss +0 -15
  98. package/build/styles/internal/_control-panel-desktop.scss +0 -455
  99. package/build/styles/internal/_control-panel-mobile.scss +0 -130
  100. package/build/styles/internal/_navigation-item.scss +0 -122
@@ -1,84 +0,0 @@
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 "@db-ux/core-foundations/build/styles/helpers";
6
- @use "../../styles/internal/control-panel-desktop";
7
- @use "../../styles/internal/control-panel-mobile";
8
- @use "../../styles/internal/custom-elements";
9
- @use "../../styles/internal/form-components";
10
-
11
- @forward "shell-desktop";
12
- @forward "shell-mobile";
13
-
14
- %fade-in-loading-fonts {
15
- &[data-fade-in="true"] {
16
- opacity: 0;
17
-
18
- &:not([data-fonts-loaded]),
19
- &[data-fonts-loaded="true"] {
20
- opacity: 1;
21
- }
22
-
23
- @media screen and (prefers-reduced-motion: no-preference) {
24
- transition: opacity variables.$db-transition-straight-emotional;
25
- }
26
- }
27
- }
28
-
29
- body {
30
- overflow: hidden;
31
- }
32
-
33
- .db-shell {
34
- @extend %fade-in-loading-fonts;
35
-
36
- block-size: 100vh;
37
- inline-size: 100vw;
38
- display: grid;
39
-
40
- > main {
41
- grid-area: main;
42
- overflow-y: auto;
43
- }
44
-
45
- > main,
46
- > header {
47
- max-inline-size: 100vw;
48
- }
49
-
50
- #{string.unquote(custom-elements.$control-panel-desktop)},
51
- #{string.unquote(custom-elements.$control-panel-mobile)} {
52
- grid-area: control-panel;
53
- }
54
-
55
- &[data-control-panel-desktop-position="left"] {
56
- #{string.unquote(custom-elements.$control-panel-desktop)} {
57
- @extend %control-panel-desktop-vertical-orientation;
58
- }
59
- }
60
-
61
- &[data-control-panel-desktop-position="top"] {
62
- #{string.unquote(custom-elements.$control-panel-desktop)} {
63
- @extend %control-panel-desktop-horizontal-orientation;
64
- }
65
- }
66
-
67
- &[data-control-panel-mobile-position="top"] {
68
- #{string.unquote(custom-elements.$control-panel-mobile)} {
69
- @extend %control-panel-mobile-position-top;
70
- }
71
- }
72
-
73
- &[data-control-panel-mobile-position="bottom"] {
74
- #{string.unquote(custom-elements.$control-panel-mobile)} {
75
- @extend %control-panel-mobile-position-bottom;
76
- }
77
- }
78
-
79
- &[data-show-sub-navigation="false"] {
80
- #{string.unquote(custom-elements.$shell-sub-navigation)} {
81
- display: none;
82
- }
83
- }
84
- }
@@ -1,11 +0,0 @@
1
- /* Sub components for shell */
2
- .db-shell-sub-navigation {
3
- grid-area: sub-navigation;
4
- overflow: hidden;
5
- }
6
- .db-shell-sub-navigation > .db-shell-sub-navigation-button {
7
- grid-area: button;
8
- }
9
- .db-shell-sub-navigation .db-navigation {
10
- grid-area: navigation;
11
- }
@@ -1,15 +0,0 @@
1
- @use "sass:string";
2
- @use "../../styles/internal/custom-elements";
3
-
4
- .db-shell-sub-navigation {
5
- grid-area: sub-navigation;
6
- overflow: hidden;
7
-
8
- > .db-shell-sub-navigation-button {
9
- grid-area: button;
10
- }
11
-
12
- .db-navigation {
13
- grid-area: navigation;
14
- }
15
- }
@@ -1,455 +0,0 @@
1
- @use "sass:string";
2
- @use "@db-ux/core-foundations/build/styles/variables";
3
- @use "@db-ux/core-foundations/build/styles/helpers";
4
- @use "@db-ux/core-foundations/build/styles/colors";
5
- @use "@db-ux/core-foundations/build/styles/screen-sizes";
6
- @use "./form-components";
7
- @use "./custom-elements";
8
- @use "./component";
9
- @use "./navigation-item";
10
- @use "./indicator";
11
- @use "./scrollbar";
12
-
13
- @mixin horizontal-navigation($scroll-buttons: true) {
14
- @if ($scroll-buttons) {
15
- @include scrollbar.set-overflow-scroll-buttons;
16
-
17
- &:has(.overflow-scroll-left-button) {
18
- > menu {
19
- &::before {
20
- content: "";
21
- }
22
- }
23
- }
24
-
25
- &:has(.overflow-scroll-right-button) {
26
- > menu {
27
- &::after {
28
- content: "";
29
- }
30
- }
31
- }
32
- }
33
-
34
- &:has(.db-button) {
35
- > menu {
36
- @if ($scroll-buttons) {
37
- @include scrollbar.set-overflow-scroll-button-backgrounds;
38
- }
39
-
40
- @supports (scrollbar-width: none) {
41
- scrollbar-width: none;
42
- }
43
-
44
- &::-webkit-scrollbar {
45
- display: none;
46
- }
47
-
48
- &::before,
49
- &::after {
50
- block-size: calc(100% - #{variables.$db-border-width-3xs});
51
- inset-block: 0;
52
- flex: none;
53
- }
54
- }
55
- }
56
-
57
- > menu {
58
- overflow: auto hidden;
59
- scrollbar-gutter: stable both-edges;
60
- flex-direction: row;
61
-
62
- #{string.unquote(custom-elements.$navigation-item-group)} {
63
- &:is(button),
64
- > button {
65
- &::after {
66
- --db-icon-trailing: "chevron_down";
67
- }
68
- }
69
-
70
- > .db-navigation-item-group-menu {
71
- inset-block-start: calc(
72
- 100% +
73
- var(
74
- --db-popover-distance,
75
- #{variables.$db-spacing-fixed-md}
76
- )
77
- );
78
-
79
- &::before {
80
- content: "";
81
- position: absolute;
82
- inset-inline-start: 0;
83
- inline-size: 100%;
84
- // #{$db-spacing-fixed--3xs} for shadows
85
- block-size: calc(
86
- #{variables.$db-spacing-fixed-3xs} +
87
- #{variables.$db-spacing-fixed-md}
88
- );
89
- inset-block-start: calc(
90
- -1 * #{variables.$db-spacing-fixed-md} -
91
- #{variables.$db-spacing-fixed-3xs}
92
- );
93
- }
94
- }
95
- }
96
- }
97
- }
98
-
99
- @mixin vertical-navigation($main-navigation: true) {
100
- @if ($main-navigation) {
101
- padding-block: variables.$db-spacing-fixed-md;
102
- }
103
-
104
- #{string.unquote(custom-elements.$overflow-scroll-left-button)},
105
- #{string.unquote(custom-elements.$overflow-scroll-right-button)} {
106
- display: none;
107
- }
108
-
109
- &:not([data-variant]),
110
- &[data-variant="popover"] {
111
- > menu {
112
- .db-navigation-item-group {
113
- .db-navigation-item-group-menu {
114
- inset-inline-start: calc(
115
- 100% + #{variables.$db-spacing-fixed-xs}
116
- );
117
-
118
- @include navigation-item.navigation-item-group-menu-triangle-vertical;
119
- }
120
- }
121
- }
122
- }
123
-
124
- > menu {
125
- flex-direction: column;
126
- padding-inline: variables.$db-spacing-fixed-lg;
127
-
128
- .db-navigation-item-group,
129
- .db-navigation-item {
130
- inline-size: 100%;
131
- }
132
- }
133
- }
134
-
135
- %control-panel-desktop-horizontal-orientation {
136
- border-block-end: variables.$db-border-width-3xs solid
137
- colors.$db-adaptive-on-bg-basic-emphasis-60-default;
138
- grid-template:
139
- [meta]
140
- "meta meta meta meta meta meta" auto
141
- [padding-top]
142
- ". . navigation . . ." #{variables.$db-spacing-fixed-md}
143
- [others]
144
- ". brand navigation primary secondary ." auto
145
- [padding-bottom]
146
- ". . navigation . . ." #{variables.$db-spacing-fixed-md} /
147
- [padding-left] #{variables.$db-spacing-fixed-lg}
148
- [brand] max-content
149
- [navigation] 1fr
150
- [primary] max-content
151
- [secondary] max-content
152
- [padding-right] #{variables.$db-spacing-fixed-lg};
153
-
154
- > .db-control-panel-desktop-scroll-container {
155
- display: contents;
156
- }
157
-
158
- .db-control-panel-brand {
159
- padding-inline-end: variables.$db-spacing-fixed-lg;
160
- }
161
-
162
- .db-control-panel-primary-actions,
163
- .db-control-panel-secondary-actions {
164
- block-size: variables.$db-sizing-md;
165
- }
166
-
167
- .db-control-panel-primary-actions {
168
- margin-inline-start: variables.$db-spacing-fixed-sm;
169
- }
170
-
171
- > .db-control-panel-desktop-button {
172
- display: none;
173
- }
174
-
175
- &:has(.db-control-panel-primary-actions, .db-navigation) {
176
- .db-control-panel-secondary-actions {
177
- padding-inline-start: variables.$db-spacing-fixed-sm;
178
-
179
- @include helpers.divider("left");
180
- }
181
- }
182
-
183
- &:has(.db-navigation) {
184
- .db-control-panel-brand {
185
- @include helpers.divider("right", "after");
186
- }
187
- }
188
-
189
- &:has(.db-control-panel-secondary-actions) {
190
- .db-control-panel-primary-actions {
191
- margin-inline-end: variables.$db-spacing-fixed-sm;
192
- }
193
- }
194
-
195
- &[data-width="small"] {
196
- margin-inline: auto;
197
- max-inline-size: screen-sizes.$db-breakpoint-sm;
198
- }
199
-
200
- &[data-width="medium"] {
201
- margin-inline: auto;
202
- max-inline-size: screen-sizes.$db-breakpoint-md;
203
- }
204
-
205
- &[data-width="large"] {
206
- margin-inline: auto;
207
- max-inline-size: screen-sizes.$db-breakpoint-lg;
208
- }
209
-
210
- .db-navigation {
211
- --db-overflow-scroll-button-inset-block: #{variables.$db-spacing-fixed-md};
212
- --db-overflow-scroll-button-inset-inline-start: calc(
213
- #{variables.$db-spacing-fixed-lg} / 2
214
- );
215
-
216
- display: grid;
217
-
218
- @include horizontal-navigation;
219
-
220
- > menu {
221
- padding-block: variables.$db-spacing-fixed-md;
222
-
223
- /* workaround for showing correct scrolling and focus */
224
- padding-inline-start: calc(#{variables.$db-spacing-fixed-lg} / 2);
225
- margin-inline-start: calc(#{variables.$db-spacing-fixed-lg} / 2);
226
-
227
- @include navigation-item.direct-navigation-items {
228
- @extend %indicator;
229
-
230
- @include indicator.set-indicator-horizontal();
231
-
232
- @include navigation-item.active-navigation-item {
233
- @include indicator.show-indicator-horizontal();
234
- }
235
-
236
- @include navigation-item.direct-navigation-items {
237
- /* Workaround for custom-elements */
238
- &::after {
239
- content: none;
240
- }
241
- }
242
- }
243
- }
244
- }
245
- }
246
-
247
- %control-panel-desktop-vertical-orientation {
248
- border-inline-end: variables.$db-border-width-3xs solid
249
- colors.$db-adaptive-on-bg-basic-emphasis-60-default;
250
- block-size: 100%;
251
- grid-template:
252
- [padding-top] "." #{variables.$db-spacing-fixed-md}
253
- [brand] "brand" auto
254
- [scroll] "scroll" 1fr
255
- [primary] "primary" auto
256
- [secondary] "secondary" auto
257
- [button] "button" auto;
258
-
259
- @media screen and (prefers-reduced-motion: no-preference) {
260
- transition: inline-size #{variables.$db-transition-straight-functional};
261
-
262
- > .db-control-panel-desktop-button {
263
- .db-button {
264
- @media screen and (prefers-reduced-motion: reduce) {
265
- &::before {
266
- transition: none;
267
- }
268
- }
269
-
270
- &::before {
271
- transition: transform
272
- #{variables.$db-transition-straight-functional};
273
- }
274
- }
275
- }
276
- }
277
-
278
- &[data-open="false"] {
279
- inline-size: auto;
280
- /* stylelint-disable-next-line declaration-property-value-no-unknown */
281
- inline-size: calc-size(auto, size);
282
-
283
- .db-control-panel-primary-actions,
284
- .db-control-panel-secondary-actions,
285
- .db-control-panel-meta-navigation {
286
- display: none;
287
- }
288
-
289
- .db-navigation {
290
- > menu {
291
- // Don't show navigation items for collapsed state (only icons)
292
- @include navigation-item.direct-navigation-items {
293
- --db-icon-margin-end: 0;
294
-
295
- inline-size: variables.$db-sizing-md;
296
- aspect-ratio: 1;
297
- justify-content: center;
298
- align-items: center;
299
-
300
- &::before {
301
- position: initial;
302
- }
303
-
304
- a {
305
- font-size: 0;
306
- position: absolute;
307
- inset: 0;
308
- }
309
- }
310
-
311
- #{string.unquote(custom-elements.$navigation-item)} {
312
- .db-tooltip {
313
- // We show tooltip for collapsed state
314
- --db-show-popover-visibility: visible;
315
- }
316
- }
317
- }
318
- }
319
-
320
- /* Hide navigation only if we have navigation-item-group */
321
-
322
- .db-navigation-item-group,
323
- .db-navigation-item:not([data-icon]) {
324
- display: none;
325
- }
326
-
327
- &:not(:has(.db-navigation-item[data-icon])) {
328
- .db-control-panel-brand {
329
- &::after {
330
- display: none;
331
- }
332
- }
333
- }
334
-
335
- .db-control-panel-brand {
336
- font-size: 0;
337
- gap: 0;
338
- place-self: center;
339
- }
340
-
341
- > .db-control-panel-desktop-button {
342
- justify-content: center;
343
-
344
- .db-button {
345
- &::before {
346
- transform: form-components.$dropdown-icon-transform;
347
- }
348
- }
349
- }
350
- }
351
-
352
- &[data-open="true"] {
353
- /// Sets the inline-size (width) of the control-panel-desktop
354
- /// @propertyname inline-size
355
- /// @cssprop --db-control-panel-desktop-inline-size
356
- /// @default var(--db-container-xs)
357
- inline-size: var(
358
- --db-control-panel-desktop-inline-size,
359
- #{variables.$db-container-xs}
360
- );
361
- }
362
-
363
- > .db-control-panel-desktop-button {
364
- grid-area: button;
365
- padding-block: variables.$db-spacing-fixed-xs;
366
- display: flex;
367
- justify-content: end;
368
-
369
- @include helpers.divider("top");
370
- }
371
-
372
- .db-control-panel-brand,
373
- .db-control-panel-primary-actions,
374
- .db-control-panel-secondary-actions,
375
- > .db-control-panel-desktop-button {
376
- padding-inline: variables.$db-spacing-fixed-lg;
377
- }
378
-
379
- .db-control-panel-brand,
380
- .db-control-panel-primary-actions,
381
- .db-control-panel-secondary-actions {
382
- margin-block-end: variables.$db-spacing-fixed-md;
383
- }
384
-
385
- > .db-control-panel-desktop-scroll-container {
386
- display: grid;
387
- overflow: hidden auto;
388
- grid-area: scroll;
389
- grid-template-areas: "navigation" "meta";
390
-
391
- .db-control-panel-meta-navigation {
392
- margin-block-start: auto;
393
-
394
- @include helpers.divider("top");
395
- }
396
- }
397
-
398
- &:has(
399
- .db-control-panel-brand,
400
- .db-control-panel-primary-actions,
401
- .db-navigation,
402
- .db-control-panel-meta-navigation
403
- ) {
404
- .db-control-panel-secondary-actions {
405
- padding-block-start: variables.$db-spacing-fixed-sm;
406
-
407
- @include helpers.divider("top");
408
- }
409
- }
410
-
411
- &:has(.db-navigation) {
412
- .db-control-panel-brand {
413
- @include helpers.divider("bottom", "after");
414
-
415
- &::after {
416
- inset-block-end: calc(-1 * #{variables.$db-spacing-fixed-md});
417
- }
418
- }
419
- }
420
-
421
- &:has(
422
- .db-control-panel-brand,
423
- .db-navigation,
424
- .db-control-panel-meta-navigation
425
- ) {
426
- .db-control-panel-primary-actions {
427
- padding-block-start: variables.$db-spacing-fixed-sm;
428
-
429
- @include helpers.divider("top");
430
- }
431
- }
432
-
433
- .db-navigation {
434
- @include vertical-navigation;
435
-
436
- > menu {
437
- @include navigation-item.direct-navigation-items {
438
- @extend %indicator;
439
-
440
- @include indicator.set-indicator-vertical();
441
-
442
- @include navigation-item.active-navigation-item {
443
- @include indicator.show-indicator-vertical();
444
- }
445
-
446
- @include navigation-item.direct-navigation-items {
447
- /* Workaround for custom-elements */
448
- &::after {
449
- content: none;
450
- }
451
- }
452
- }
453
- }
454
- }
455
- }
@@ -1,130 +0,0 @@
1
- @use "sass:string";
2
- @use "@db-ux/core-foundations/build/styles/variables";
3
- @use "@db-ux/core-foundations/build/styles/helpers";
4
- @use "@db-ux/core-foundations/build/styles/colors";
5
- @use "./component";
6
- @use "./custom-elements";
7
- @use "../../components/drawer/drawer";
8
-
9
- @mixin has-empty-drawer {
10
- &:has(.db-control-panel-mobile-drawer-scroll-container:empty):not(
11
- :has(.db-control-panel-secondary-actions)
12
- ) {
13
- @content;
14
- }
15
- }
16
-
17
- %control-panel-mobile-position-top {
18
- border-block-end: variables.$db-border-width-3xs solid
19
- colors.$db-adaptive-on-bg-basic-emphasis-60-default;
20
- grid-template-areas: var(
21
- --db-control-panel-mobile-position-top-grid-areas,
22
- "brand primary drawer-button"
23
- );
24
- grid-template-columns: var(
25
- --db-control-panel-mobile-position-top-grid-columns,
26
- [brand] 1fr [primary] min-content [drawer-button] min-content
27
- );
28
- justify-items: center;
29
-
30
- .db-control-panel-primary-actions {
31
- // fake divider margin
32
- padding-inline-end: variables.$db-spacing-fixed-xs;
33
-
34
- @include helpers.divider("right");
35
-
36
- &::before {
37
- margin-inline-start: variables.$db-spacing-fixed-xs;
38
- }
39
- }
40
-
41
- .db-drawer {
42
- > .db-drawer-container {
43
- @extend %direction-right;
44
-
45
- border-inline-start: component.$component-border;
46
- }
47
-
48
- &[open] {
49
- .db-drawer-container {
50
- @media screen and (prefers-reduced-motion: no-preference) {
51
- animation: show-right-to-left
52
- #{variables.$db-transition-straight-show};
53
- }
54
-
55
- &[hidden] {
56
- @media screen and (prefers-reduced-motion: no-preference) {
57
- animation: hide-right-to-left
58
- #{variables.$db-transition-straight-hide};
59
- }
60
- }
61
- }
62
- }
63
- }
64
- }
65
-
66
- %control-panel-mobile-position-bottom {
67
- border-block-start: variables.$db-border-width-3xs solid
68
- colors.$db-adaptive-on-bg-basic-emphasis-60-default;
69
-
70
- .db-control-panel-brand {
71
- font-size: 0;
72
- gap: 0;
73
- place-self: center;
74
- }
75
-
76
- > db-button > .db-control-panel-mobile-button,
77
- > .db-control-panel-mobile-button {
78
- place-self: center;
79
- }
80
-
81
- .db-drawer {
82
- > .db-drawer-container {
83
- @extend %direction-up;
84
-
85
- border-block-start: component.$component-border;
86
- }
87
-
88
- &[open] {
89
- .db-drawer-container {
90
- @media screen and (prefers-reduced-motion: no-preference) {
91
- animation: show-bottom-to-top
92
- #{variables.$db-transition-straight-show};
93
- }
94
-
95
- &[hidden] {
96
- @media screen and (prefers-reduced-motion: no-preference) {
97
- animation: hide-bottom-to-top
98
- #{variables.$db-transition-straight-hide};
99
- }
100
- }
101
- }
102
- }
103
- }
104
-
105
- &:not([data-variant="flat-icon"]) {
106
- grid-template-areas: "brand drawer-button primary";
107
- grid-template-columns: min-content 1fr minmax(
108
- #{variables.$db-sizing-md},
109
- min-content
110
- );
111
- justify-content: space-evenly;
112
- }
113
-
114
- // Flat icon variant
115
- &[data-variant="flat-icon"] {
116
- .db-drawer,
117
- .db-control-panel-brand,
118
- .db-control-panel-primary-actions,
119
- .db-control-panel-secondary-actions,
120
- .db-control-panel-mobile-button,
121
- .overflow-scroll-right-button,
122
- .overflow-scroll-left-button {
123
- display: none;
124
- }
125
-
126
- .db-control-panel-flat-icon-navigation {
127
- display: initial;
128
- }
129
- }
130
- }