@db-ux/core-components 4.12.0 → 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 (117) hide show
  1. package/CHANGELOG.md +10 -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/accordion-item/accordion-item.scss +4 -9
  6. package/build/components/badge/badge.css +1 -1
  7. package/build/components/badge/badge.scss +1 -1
  8. package/build/components/button/button.css +0 -8
  9. package/build/components/button/button.scss +0 -11
  10. package/build/components/checkbox/checkbox.css +6 -11
  11. package/build/components/checkbox/checkbox.scss +7 -0
  12. package/build/components/control-panel-brand/control-panel-brand.css +53 -0
  13. package/build/components/control-panel-brand/control-panel-brand.scss +48 -0
  14. package/build/components/control-panel-desktop/control-panel-desktop.css +579 -0
  15. package/build/components/control-panel-desktop/control-panel-desktop.scss +30 -0
  16. package/build/components/control-panel-flat-icon/control-panel-flat-icon.css +258 -0
  17. package/build/components/control-panel-flat-icon/control-panel-flat-icon.scss +239 -0
  18. package/build/components/control-panel-meta/control-panel-meta.css +14 -0
  19. package/build/components/control-panel-meta/control-panel-meta.scss +15 -0
  20. package/build/components/control-panel-mobile/control-panel-mobile.css +438 -0
  21. package/build/components/control-panel-mobile/control-panel-mobile.scss +116 -0
  22. package/build/components/control-panel-navigation/control-panel-navigation.css +390 -0
  23. package/build/components/control-panel-navigation/control-panel-navigation.scss +186 -0
  24. package/build/components/control-panel-navigation-item/control-panel-navigation-item.css +87 -0
  25. package/build/components/control-panel-navigation-item/control-panel-navigation-item.scss +39 -0
  26. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-popover.css +21 -0
  27. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-popover.scss +125 -0
  28. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-tree.css +35 -0
  29. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-tree.scss +36 -0
  30. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group.css +158 -0
  31. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group.scss +80 -0
  32. package/build/components/control-panel-primary-actions/control-panel-primary-actions.css +12 -0
  33. package/build/components/control-panel-primary-actions/control-panel-primary-actions.scss +7 -0
  34. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.css +12 -0
  35. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.scss +7 -0
  36. package/build/components/control-panel-skip-navigation/control-panel-skip-navigation.css +23 -0
  37. package/build/components/control-panel-skip-navigation/control-panel-skip-navigation.scss +25 -0
  38. package/build/components/custom-button/custom-button.css +11 -19
  39. package/build/components/custom-select/custom-select.css +17 -16
  40. package/build/components/custom-select/custom-select.scss +1 -1
  41. package/build/components/custom-select-dropdown/custom-select-dropdown.css +45 -26
  42. package/build/components/custom-select-dropdown/custom-select-dropdown.scss +9 -0
  43. package/build/components/custom-select-form-field/custom-select-form-field.css +6 -11
  44. package/build/components/custom-select-list/custom-select-list.css +6 -11
  45. package/build/components/custom-select-list-item/custom-select-list-item.css +29 -19
  46. package/build/components/custom-select-list-item/custom-select-list-item.scss +15 -9
  47. package/build/components/divider/divider.css +18 -8
  48. package/build/components/drawer/drawer.css +78 -156
  49. package/build/components/drawer/drawer.scss +124 -167
  50. package/build/components/drawer-footer/drawer-footer.css +34 -0
  51. package/build/components/drawer-footer/drawer-footer.scss +11 -0
  52. package/build/components/drawer-header/drawer-header.css +38 -0
  53. package/build/components/drawer-header/drawer-header.scss +17 -0
  54. package/build/components/input/input.css +6 -11
  55. package/build/components/link/link.css +7 -1
  56. package/build/components/notification/notification.css +7 -1
  57. package/build/components/radio/radio.css +6 -11
  58. package/build/components/radio/radio.scss +3 -0
  59. package/build/components/select/select.css +6 -11
  60. package/build/components/shell/shell-desktop.css +475 -0
  61. package/build/components/shell/shell-desktop.scss +105 -0
  62. package/build/components/shell/shell-mobile.css +441 -0
  63. package/build/components/shell/shell-mobile.scss +148 -0
  64. package/build/components/shell/shell.css +1670 -0
  65. package/build/components/shell/shell.scss +70 -0
  66. package/build/components/shell-content/shell-content.css +31 -0
  67. package/build/components/shell-content/shell-content.scss +49 -0
  68. package/build/components/shell-sub-navigation/shell-sub-navigation.css +51 -0
  69. package/build/components/shell-sub-navigation/shell-sub-navigation.scss +184 -0
  70. package/build/components/stack/stack-web-component.css +1 -0
  71. package/build/components/stack/stack.css +1 -0
  72. package/build/components/switch/switch.css +6 -11
  73. package/build/components/switch/switch.scss +7 -0
  74. package/build/components/tab-item/tab-item.css +6 -11
  75. package/build/components/tab-item/tab-item.scss +4 -10
  76. package/build/components/tab-list/tab-list.css +6 -11
  77. package/build/components/table/table.css +6 -11
  78. package/build/components/table-row/table-row.scss +3 -0
  79. package/build/components/tabs/tabs.css +55 -39
  80. package/build/components/tabs/tabs.scss +25 -70
  81. package/build/components/tag/tag.css +5 -10
  82. package/build/components/tag/tag.scss +1 -5
  83. package/build/components/textarea/textarea.css +6 -11
  84. package/build/styles/absolute.css +7 -7
  85. package/build/styles/bundle.css +7 -7
  86. package/build/styles/index.css +6 -6
  87. package/build/styles/index.scss +16 -5
  88. package/build/styles/internal/_button-components.scss +4 -9
  89. package/build/styles/internal/_component.scss +7 -0
  90. package/build/styles/internal/_control-panel-actions.scss +11 -0
  91. package/build/styles/internal/_control-panel-desktop.scss +412 -0
  92. package/build/styles/internal/_control-panel-mobile.scss +107 -0
  93. package/build/styles/internal/_custom-elements.scss +31 -7
  94. package/build/styles/internal/_form-components.scss +6 -0
  95. package/build/styles/internal/_icon-passing.scss +18 -10
  96. package/build/styles/internal/{_db-puls.scss → _indicator.scss} +37 -16
  97. package/build/styles/internal/_link-components.scss +7 -1
  98. package/build/styles/internal/_navigation-item.scss +122 -0
  99. package/build/styles/internal/_scrollbar.scss +71 -0
  100. package/build/styles/internal/_tag-components.scss +4 -10
  101. package/build/styles/relative.css +7 -7
  102. package/build/styles/rollup.css +7 -7
  103. package/build/styles/visually-hidden.css +1 -1
  104. package/build/styles/wc-workarounds.css +1 -1
  105. package/build/styles/wc-workarounds.scss +11 -0
  106. package/build/styles/webpack.css +7 -7
  107. package/package.json +6 -7
  108. package/build/components/brand/brand.css +0 -32
  109. package/build/components/brand/brand.scss +0 -35
  110. package/build/components/header/header.css +0 -700
  111. package/build/components/header/header.scss +0 -274
  112. package/build/components/navigation/navigation.css +0 -202
  113. package/build/components/navigation/navigation.scss +0 -108
  114. package/build/components/navigation-item/navigation-item.css +0 -447
  115. package/build/components/navigation-item/navigation-item.scss +0 -343
  116. package/build/components/page/page.css +0 -61
  117. package/build/components/page/page.scss +0 -61
@@ -1,274 +0,0 @@
1
- @use "@db-ux/core-foundations/build/styles/variables";
2
- @use "@db-ux/core-foundations/build/styles/screen-sizes";
3
- @use "@db-ux/core-foundations/build/styles/helpers";
4
- @use "@db-ux/core-foundations/build/styles/density";
5
- @use "@db-ux/core-foundations/build/styles/colors";
6
- @use "../../styles/internal/component";
7
-
8
- .db-header {
9
- background-color: colors.$db-adaptive-bg-basic-level-1-default;
10
-
11
- @include helpers.display(flex);
12
-
13
- flex-direction: column;
14
- position: relative;
15
- min-block-size: component.$min-mobile-header-height;
16
- border-block-end: variables.$db-border-width-3xs solid
17
- colors.$db-adaptive-on-bg-basic-emphasis-60-default;
18
-
19
- @include screen-sizes.screen("md") {
20
- --db-drawer-max-width: #{screen-sizes.$db-breakpoint-sm};
21
- }
22
-
23
- &[data-width="small"] {
24
- margin-inline: auto;
25
- max-inline-size: screen-sizes.$db-breakpoint-sm;
26
- }
27
-
28
- &[data-width="medium"] {
29
- margin-inline: auto;
30
- max-inline-size: screen-sizes.$db-breakpoint-md;
31
- }
32
-
33
- &[data-width="large"] {
34
- margin-inline: auto;
35
- max-inline-size: screen-sizes.$db-breakpoint-lg;
36
- }
37
-
38
- .db-link {
39
- @include helpers.display(inline-block);
40
- }
41
-
42
- &[data-on-forcing-mobile="true"] {
43
- /*
44
- We make the header invisible for a short time if the user passes in data-force-mobile property.
45
- We do it because otherwise we see the default desktop-navigation for some mil. sec.
46
- */
47
- visibility: hidden;
48
- }
49
-
50
- // All use-cases where we hide the divider
51
- &:not(:has(.db-navigation)),
52
- &:has(.db-brand:empty) {
53
- .db-header-navigation-container::before {
54
- display: none;
55
- }
56
- }
57
-
58
- &:not(:has(.db-navigation)) {
59
- &:has(.db-header-secondary-action:empty) {
60
- // Hide the action-area divider only when both navigation and secondary action are missing.
61
- // With no navigation but a secondary action, we keep the divider.
62
- .db-header-action-container::before {
63
- display: none;
64
- }
65
-
66
- // Hide the burger ONLY when the drawer would be empty.
67
- // This requires: no main navigation AND no meta navigation AND no secondary action.
68
- &:has(.db-header-meta-navigation:empty) {
69
- .db-header-burger-menu-container {
70
- @include helpers.display(none);
71
- }
72
- }
73
- }
74
- }
75
- }
76
-
77
- .db-header-navigation-bar {
78
- @include helpers.display(flex);
79
-
80
- position: relative;
81
- padding: variables.$db-spacing-fixed-xs variables.$db-spacing-fixed-md;
82
- inline-size: 100%;
83
- align-items: center;
84
-
85
- @include screen-sizes.screen("md") {
86
- padding: variables.$db-spacing-fixed-md variables.$db-spacing-fixed-lg;
87
- }
88
- }
89
-
90
- .db-header-meta-navigation {
91
- @extend %db-density-functional;
92
- @include helpers.display(flex);
93
-
94
- flex-direction: column;
95
- gap: variables.$db-spacing-fixed-sm;
96
- justify-content: flex-end;
97
- background-color: colors.$db-adaptive-bg-basic-level-2-default;
98
- padding: variables.$db-spacing-fixed-md;
99
-
100
- @include helpers.divider("top");
101
-
102
- @include screen-sizes.screen("md") {
103
- padding: variables.$db-spacing-fixed-xs variables.$db-spacing-fixed-lg;
104
- margin: 0;
105
- gap: variables.$db-spacing-fixed-md;
106
- flex-direction: row;
107
-
108
- &::before {
109
- display: none;
110
- }
111
-
112
- &:empty {
113
- @include helpers.display(none);
114
- }
115
- }
116
-
117
- &:empty {
118
- @include helpers.display(none);
119
- }
120
- }
121
-
122
- .db-header-navigation-container {
123
- @include helpers.display(inherit);
124
-
125
- flex: 1 1 auto;
126
- inline-size: 100%;
127
- align-items: center;
128
- block-size: 100%;
129
-
130
- @include screen-sizes.screen("md") {
131
- @include helpers.divider("left");
132
-
133
- &::before {
134
- position: inherit;
135
- block-size: variables.$db-sizing-md;
136
- margin-inline-start: variables.$db-spacing-fixed-lg;
137
- }
138
- }
139
- }
140
-
141
- .db-header-primary-action {
142
- margin-inline-start: auto;
143
- }
144
-
145
- .db-header-brand-container:not(:has(> :nth-child(1))) {
146
- @include helpers.display(none);
147
- }
148
-
149
- .db-header-action-container:has(> .db-header-secondary-action:empty) {
150
- @include screen-sizes.screen("md") {
151
- @include helpers.display(none);
152
- }
153
- }
154
-
155
- .db-header-brand-container {
156
- min-block-size: variables.$db-sizing-md;
157
- }
158
-
159
- .db-header-action-container {
160
- @include helpers.divider("left");
161
-
162
- @include screen-sizes.screen("md") {
163
- &::before {
164
- margin-inline: variables.$db-spacing-fixed-sm;
165
- }
166
- }
167
-
168
- &::before {
169
- margin-inline: variables.$db-spacing-fixed-xs;
170
- position: inherit;
171
- block-size: variables.$db-sizing-md;
172
- }
173
- }
174
-
175
- .db-header-brand-container,
176
- .db-header-action-container {
177
- align-items: center;
178
- block-size: 100%;
179
-
180
- @include helpers.display(inherit);
181
-
182
- gap: inherit;
183
- flex: 0 1 auto;
184
- flex-grow: 0;
185
- flex-shrink: 0;
186
- }
187
-
188
- .db-header-secondary-action {
189
- flex: 0 1 auto;
190
- flex-grow: 0;
191
- flex-shrink: 0;
192
- padding-block-start: variables.$db-spacing-fixed-xs;
193
-
194
- @include helpers.divider("top");
195
-
196
- @include screen-sizes.screen("md") {
197
- &::before {
198
- display: none;
199
- }
200
- }
201
- }
202
-
203
- .db-header-drawer-navigation {
204
- @include helpers.display(flex);
205
-
206
- flex-direction: column;
207
- flex: 1 1 auto;
208
- block-size: 100%;
209
- overflow: auto;
210
- justify-content: space-between;
211
- }
212
-
213
- .db-header-navigation {
214
- padding-block: variables.$db-spacing-fixed-md;
215
-
216
- @include screen-sizes.screen("md") {
217
- margin-inline: variables.$db-spacing-fixed-lg;
218
- }
219
- }
220
-
221
- .db-header-navigation,
222
- .db-header-secondary-action {
223
- @include helpers.display(flex);
224
-
225
- gap: variables.$db-spacing-fixed-sm;
226
- padding-inline: variables.$db-spacing-fixed-md;
227
-
228
- @include screen-sizes.screen("md") {
229
- gap: variables.$db-spacing-fixed-xs;
230
- padding: 0;
231
- }
232
- }
233
-
234
- .db-header-drawer {
235
- --db-drawer-content-padding-inline: 0;
236
-
237
- // 1px for box shadow of header
238
- --db-drawer-header-padding-block-end: calc(
239
- 1px + #{variables.$db-spacing-fixed-xs}
240
- );
241
-
242
- padding-block-end: 0;
243
-
244
- .db-drawer-content {
245
- @include helpers.display(flex);
246
-
247
- flex-direction: column;
248
- block-size: 100%;
249
- overflow: hidden;
250
- }
251
- }
252
-
253
- /* Only for Desktop */
254
- .db-header-meta-navigation,
255
- .db-header-navigation-container > .db-header-navigation,
256
- .db-header-action-container > .db-header-secondary-action {
257
- @include helpers.display(none);
258
-
259
- @include screen-sizes.screen("md") {
260
- @include helpers.display(inherit);
261
- }
262
- }
263
-
264
- /* Only for Mobile */
265
- .db-header-drawer-navigation > .db-header-meta-navigation:not(:empty) {
266
- @include helpers.display(inherit);
267
- }
268
-
269
- .db-header-drawer,
270
- .db-header-burger-menu-container {
271
- @include screen-sizes.screen("md") {
272
- @include helpers.display(none);
273
- }
274
- }
@@ -1,202 +0,0 @@
1
- .db-visually-hidden,
2
- [data-visually-hidden=true] {
3
- clip: rect(0, 0, 0, 0) !important;
4
- overflow: hidden !important;
5
- white-space: nowrap !important;
6
- font-size: 0 !important;
7
- all: initial;
8
- inset-block-start: 0 !important;
9
- block-size: 1px !important;
10
- position: absolute !important;
11
- inline-size: 1px !important;
12
- border-width: 0 !important;
13
- border-style: initial !important;
14
- border-color: initial !important;
15
- border-image: initial !important;
16
- padding: 0 !important;
17
- pointer-events: none !important;
18
- }
19
-
20
- /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
21
- /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
22
- /* Variants for adaptive components like input, select, notification, ... */
23
- .db-navigation > menu .db-navigation-item::after {
24
- content: "";
25
- position: absolute;
26
- border-radius: var(--db-border-radius-xs);
27
- }
28
- @media (prefers-reduced-motion: no-preference) {
29
- .db-navigation > menu .db-navigation-item::after {
30
- transition: block-size var(--db-transition-duration-fast) var(--db-transition-timing-emotional), inline-size var(--db-transition-duration-fast) var(--db-transition-timing-emotional);
31
- }
32
- }
33
-
34
- .db-navigation > menu .db-navigation-item::after {
35
- block-size: 0;
36
- inline-size: var(--db-border-width-xs);
37
- transform: translate(0, -50%);
38
- inset-block: 50% auto;
39
- background-color: var(--db-brand-on-bg-basic-emphasis-70-default);
40
- inset-inline-start: calc(-1 * var(--db-spacing-fixed-xs));
41
- }
42
- .db-navigation > menu .db-navigation-item {
43
- /* stylelint-disable-next-line media-query-no-invalid */
44
- }
45
- @media (min-width: 64em) {
46
- .db-navigation > menu .db-navigation-item:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item::after {
47
- block-size: var(--db-border-width-xs);
48
- inline-size: 0;
49
- transform: translate(-50%, 0);
50
- inset-inline-start: 50%;
51
- background-color: var(--db-brand-on-bg-basic-emphasis-70-default);
52
- inset-block: auto calc(-1 * var(--db-spacing-fixed-xs));
53
- }
54
- }
55
- .db-navigation > menu .db-navigation-item {
56
- /* stylelint-disable-next-line at-rule-empty-line-before */
57
- }
58
-
59
- .db-navigation > menu .db-navigation-item:has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]::after, .db-navigation > menu .db-navigation-item[data-active=true]::after {
60
- block-size: 100%;
61
- inline-size: var(--db-border-width-xs);
62
- }
63
- @media (forced-colors: active), print {
64
- .db-navigation > menu .db-navigation-item:has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]::after, .db-navigation > menu .db-navigation-item[data-active=true]::after {
65
- border: calc(var(--db-border-width-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
66
- }
67
- }
68
- .db-navigation > menu .db-navigation-item:has([aria-current=page]), .db-navigation > menu .db-navigation-item:has([data-active=true]), .db-navigation > menu .db-navigation-item[aria-current=page], .db-navigation > menu .db-navigation-item[data-active=true] {
69
- /* stylelint-disable-next-line media-query-no-invalid */
70
- }
71
- @media (min-width: 64em) {
72
- .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]:not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item[data-active=true]:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([aria-current=page])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([data-active=true])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[aria-current=page]::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[data-active=true]::after {
73
- block-size: var(--db-border-width-xs);
74
- inline-size: 100%;
75
- }
76
- }
77
- @media (min-width: 64em) and (forced-colors: active), print and (min-width: 64em) {
78
- .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([aria-current=page])::after, .db-navigation > menu .db-navigation-item:not([data-force-mobile]):has([data-active=true])::after, .db-navigation > menu .db-navigation-item[aria-current=page]:not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item[data-active=true]:not([data-force-mobile])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([aria-current=page])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item:has([data-active=true])::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[aria-current=page]::after, .db-navigation > menu [data-force-mobile=false].db-navigation-item[data-active=true]::after {
79
- border: calc(var(--db-border-width-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
80
- }
81
- }
82
- .db-navigation > menu .db-navigation-item:has([aria-current=page]), .db-navigation > menu .db-navigation-item:has([data-active=true]), .db-navigation > menu .db-navigation-item[aria-current=page], .db-navigation > menu .db-navigation-item[data-active=true] {
83
- /* stylelint-disable-next-line at-rule-empty-line-before */
84
- }
85
-
86
- .db-navigation {
87
- -webkit-tap-highlight-color: transparent; /* for removing the highlight */
88
- inline-size: 100%;
89
- /* stylelint-disable-next-line media-query-no-invalid */
90
- }
91
- @media (min-width: 64em) {
92
- .db-navigation:not([data-force-mobile]), .db-navigation[data-force-mobile=false] {
93
- -webkit-tap-highlight-color: inherit;
94
- inline-size: auto;
95
- }
96
- }
97
- .db-navigation {
98
- /* stylelint-disable-next-line at-rule-empty-line-before */
99
- }
100
- .db-navigation > menu {
101
- display: flex;
102
- flex-direction: column;
103
- padding: 0;
104
- margin: 0;
105
- gap: var(--db-spacing-fixed-sm);
106
- /* stylelint-disable-next-line media-query-no-invalid */
107
- }
108
- @media (min-width: 64em) {
109
- .db-navigation > menu:not([data-force-mobile]), .db-navigation > menu[data-force-mobile=false] {
110
- flex-direction: row;
111
- }
112
- }
113
- .db-navigation > menu {
114
- /* stylelint-disable-next-line at-rule-empty-line-before */
115
- }
116
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button),
117
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button {
118
- /* stylelint-disable-next-line media-query-no-invalid */
119
- }
120
- @media (min-width: 64em) {
121
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
122
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
123
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
124
- --db-icon-margin-start: var(--db-spacing-fixed-sm);
125
- --db-icon-trailing: "chevron_down";
126
- }
127
- }
128
- @media (min-width: 64em) and (prefers-reduced-motion: no-preference) {
129
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
130
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
131
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
132
- transition: transform var(--db-transition-straight-emotional);
133
- }
134
- }
135
- @media (min-width: 64em) {
136
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile]):is(:hover, :focus-visible)::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-force-mobile]):has(~ .db-sub-navigation:is(:hover,
137
- :focus-visible,
138
- :focus-within))::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]:is(:hover, :focus-visible)::after, .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button)[data-force-mobile=false]:has(~ .db-sub-navigation:is(:hover,
139
- :focus-visible,
140
- :focus-within))::after,
141
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile]):is(:hover, :focus-visible)::after,
142
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile]):has(~ .db-sub-navigation:is(:hover,
143
- :focus-visible,
144
- :focus-within))::after,
145
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]:is(:hover, :focus-visible)::after,
146
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]:has(~ .db-sub-navigation:is(:hover,
147
- :focus-visible,
148
- :focus-within))::after {
149
- transform: rotate(-180deg);
150
- }
151
- }
152
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button:is(button),
153
- .db-navigation > menu .db-navigation-item .db-navigation-item-expand-button > button {
154
- /* stylelint-disable-next-line at-rule-empty-line-before */
155
- }
156
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button),
157
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button {
158
- /* stylelint-disable-next-line media-query-no-invalid */
159
- }
160
- @media (min-width: 64em) {
161
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile])::after, .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false]::after,
162
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button:not([data-force-mobile])::after,
163
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button[data-force-mobile=false]::after {
164
- --db-icon-trailing: "chevron_right";
165
- --db-icon-margin-start: auto;
166
- }
167
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile]):is(:hover, :focus-visible)::after,
168
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button):not([data-force-mobile]) :has(~ .db-sub-navigation:is(:hover,
169
- :focus-visible,
170
- :focus-within))::after, .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false]:is(:hover, :focus-visible)::after,
171
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button)[data-force-mobile=false] :has(~ .db-sub-navigation:is(:hover,
172
- :focus-visible,
173
- :focus-within))::after,
174
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button:not([data-force-mobile]):is(:hover, :focus-visible)::after,
175
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button:not([data-force-mobile]) :has(~ .db-sub-navigation:is(:hover,
176
- :focus-visible,
177
- :focus-within))::after,
178
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button[data-force-mobile=false]:is(:hover, :focus-visible)::after,
179
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button[data-force-mobile=false] :has(~ .db-sub-navigation:is(:hover,
180
- :focus-visible,
181
- :focus-within))::after {
182
- transform: none;
183
- }
184
- }
185
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button:is(button),
186
- .db-navigation > menu .db-navigation-item > menu .db-navigation-item-expand-button > button {
187
- /* stylelint-disable-next-line at-rule-empty-line-before */
188
- }
189
- .db-navigation > menu .db-navigation-item .db-navigation-item::after {
190
- display: none;
191
- }
192
- .db-navigation[data-force-close=true] > menu menu {
193
- /* stylelint-disable-next-line media-query-no-invalid */
194
- }
195
- @media (min-width: 64em) {
196
- .db-navigation[data-force-close=true] > menu menu:not([data-force-mobile]):not([hidden]), .db-navigation[data-force-close=true] > menu menu[data-force-mobile=false]:not([hidden]) {
197
- display: none;
198
- }
199
- }
200
- .db-navigation[data-force-close=true] > menu menu {
201
- /* stylelint-disable-next-line at-rule-empty-line-before */
202
- }
@@ -1,108 +0,0 @@
1
- @use "@db-ux/core-foundations/build/styles/variables";
2
- @use "@db-ux/core-foundations/build/styles/screen-sizes";
3
- @use "../../styles/internal/component";
4
- @use "@db-ux/core-foundations/build/styles/helpers";
5
- @use "../../styles/internal/form-components";
6
- @use "../../styles/internal/db-puls";
7
-
8
- .db-navigation {
9
- -webkit-tap-highlight-color: transparent; /* for removing the highlight */
10
- inline-size: 100%;
11
-
12
- @include screen-sizes.screen("md") {
13
- -webkit-tap-highlight-color: inherit;
14
- inline-size: auto;
15
- }
16
-
17
- > menu {
18
- display: flex;
19
- flex-direction: column;
20
- padding: 0;
21
- margin: 0;
22
- gap: variables.$db-spacing-fixed-sm;
23
-
24
- @include screen-sizes.screen("md") {
25
- flex-direction: row;
26
- }
27
-
28
- .db-navigation-item {
29
- @extend %db-puls-auto;
30
-
31
- .db-navigation-item-expand-button:is(button),
32
- .db-navigation-item-expand-button > button {
33
- // overwrite for navigation items
34
- @include screen-sizes.screen("md") {
35
- &::after {
36
- --db-icon-margin-start: #{variables.$db-spacing-fixed-sm};
37
- --db-icon-trailing: "chevron_down";
38
-
39
- @media (prefers-reduced-motion: no-preference) {
40
- transition: form-components.$dropdown-icon-transition;
41
- }
42
- }
43
-
44
- &:is(:hover, :focus-visible),
45
- &:has(
46
- ~ .db-sub-navigation:is(
47
- :hover,
48
- :focus-visible,
49
- :focus-within
50
- )
51
- ) {
52
- &::after {
53
- transform: form-components.$dropdown-icon-transform;
54
- }
55
- }
56
- }
57
- }
58
-
59
- // re overwrite for non navigation items
60
- > menu {
61
- .db-navigation-item-expand-button:is(button),
62
- .db-navigation-item-expand-button > button {
63
- @include screen-sizes.screen("md") {
64
- &::after {
65
- --db-icon-trailing: "chevron_right";
66
- --db-icon-margin-start: auto;
67
- }
68
-
69
- &:is(:hover, :focus-visible),
70
- :has(
71
- ~ .db-sub-navigation:is(
72
- :hover,
73
- :focus-visible,
74
- :focus-within
75
- )
76
- ) {
77
- &::after {
78
- transform: none;
79
- }
80
- }
81
- }
82
- }
83
- }
84
-
85
- &:has([aria-current="page"]),
86
- &:has([data-active="true"]),
87
- &[aria-current="page"],
88
- &[data-active="true"] {
89
- @extend %show-db-puls-auto;
90
- }
91
-
92
- // angular workaround: as no direct-child selector can be used, the pulse is hidden from the second level onwards
93
- .db-navigation-item {
94
- &::after {
95
- display: none;
96
- }
97
- }
98
- }
99
- }
100
-
101
- &[data-force-close="true"] {
102
- > menu menu {
103
- @include screen-sizes.screen("md") {
104
- @include helpers.display(none);
105
- }
106
- }
107
- }
108
- }