@db-ux/core-components 1.0.0-test-13b991d

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 (167) hide show
  1. package/README.md +107 -0
  2. package/build/assets/fonts/OFL.txt +93 -0
  3. package/build/assets/fonts/OpenSans-Bold-EU.woff2 +0 -0
  4. package/build/assets/fonts/OpenSans-Bold.ttf +0 -0
  5. package/build/assets/fonts/OpenSans-ExtraBold-EU.woff2 +0 -0
  6. package/build/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  7. package/build/assets/fonts/OpenSans-Light-EU.woff2 +0 -0
  8. package/build/assets/fonts/OpenSans-Light.ttf +0 -0
  9. package/build/assets/fonts/OpenSans-Medium-EU.woff2 +0 -0
  10. package/build/assets/fonts/OpenSans-Medium.ttf +0 -0
  11. package/build/assets/fonts/OpenSans-Regular-EU.woff2 +0 -0
  12. package/build/assets/fonts/OpenSans-Regular.ttf +0 -0
  13. package/build/assets/fonts/OpenSans-SemiBold-EU.woff2 +0 -0
  14. package/build/assets/fonts/OpenSans-SemiBold.ttf +0 -0
  15. package/build/assets/fonts/README.md +23 -0
  16. package/build/assets/fonts/generate-eu-fonts.ts +46 -0
  17. package/build/assets/fonts/unicode-eu.txt +14 -0
  18. package/build/assets/icons/DB_LICENSE +253 -0
  19. package/build/assets/icons/LICENCES.json +153 -0
  20. package/build/assets/icons/arrow_down.svg +1 -0
  21. package/build/assets/icons/arrow_left.svg +1 -0
  22. package/build/assets/icons/arrow_right.svg +1 -0
  23. package/build/assets/icons/arrow_up.svg +1 -0
  24. package/build/assets/icons/arrow_up_right.svg +1 -0
  25. package/build/assets/icons/brand.svg +1 -0
  26. package/build/assets/icons/calendar.svg +5 -0
  27. package/build/assets/icons/check-circle.svg +1 -0
  28. package/build/assets/icons/check.svg +1 -0
  29. package/build/assets/icons/check_circle.svg +1 -0
  30. package/build/assets/icons/chevron_down.svg +1 -0
  31. package/build/assets/icons/chevron_left.svg +1 -0
  32. package/build/assets/icons/chevron_right.svg +1 -0
  33. package/build/assets/icons/chevron_up.svg +1 -0
  34. package/build/assets/icons/circle.svg +1 -0
  35. package/build/assets/icons/clock.svg +1 -0
  36. package/build/assets/icons/cross.svg +1 -0
  37. package/build/assets/icons/cross_circle.svg +1 -0
  38. package/build/assets/icons/exclamation_mark_circle.svg +1 -0
  39. package/build/assets/icons/exclamation_mark_triangle.svg +1 -0
  40. package/build/assets/icons/fonts/all/db-ux.woff2 +0 -0
  41. package/build/assets/icons/fonts/default/db-ux.woff2 +0 -0
  42. package/build/assets/icons/fonts/default_12/db-ux.woff2 +0 -0
  43. package/build/assets/icons/fonts/default_14/db-ux.woff2 +0 -0
  44. package/build/assets/icons/fonts/default_16/db-ux.woff2 +0 -0
  45. package/build/assets/icons/fonts/default_20/db-ux.woff2 +0 -0
  46. package/build/assets/icons/fonts/default_24/db-ux.woff2 +0 -0
  47. package/build/assets/icons/fonts/default_28/db-ux.woff2 +0 -0
  48. package/build/assets/icons/fonts/default_32/db-ux.woff2 +0 -0
  49. package/build/assets/icons/fonts/default_48/db-ux.woff2 +0 -0
  50. package/build/assets/icons/fonts/default_64/db-ux.woff2 +0 -0
  51. package/build/assets/icons/fonts/filled/db-ux.woff2 +0 -0
  52. package/build/assets/icons/fonts/filled_12/db-ux.woff2 +0 -0
  53. package/build/assets/icons/fonts/filled_14/db-ux.woff2 +0 -0
  54. package/build/assets/icons/fonts/filled_16/db-ux.woff2 +0 -0
  55. package/build/assets/icons/fonts/filled_20/db-ux.woff2 +0 -0
  56. package/build/assets/icons/fonts/filled_24/db-ux.woff2 +0 -0
  57. package/build/assets/icons/fonts/filled_28/db-ux.woff2 +0 -0
  58. package/build/assets/icons/fonts/filled_32/db-ux.woff2 +0 -0
  59. package/build/assets/icons/fonts/filled_48/db-ux.woff2 +0 -0
  60. package/build/assets/icons/fonts/filled_64/db-ux.woff2 +0 -0
  61. package/build/assets/icons/information_circle.svg +1 -0
  62. package/build/assets/icons/magnifying_glass.svg +1 -0
  63. package/build/assets/icons/menu.svg +1 -0
  64. package/build/assets/icons/minus.svg +1 -0
  65. package/build/assets/icons/plus.svg +1 -0
  66. package/build/assets/icons/resize_handle_corner.svg +1 -0
  67. package/build/assets/icons/x_placeholder.svg +1 -0
  68. package/build/components/accordion/accordion.css +78 -0
  69. package/build/components/accordion/accordion.scss +62 -0
  70. package/build/components/accordion-item/accordion-item.css +239 -0
  71. package/build/components/accordion-item/accordion-item.scss +73 -0
  72. package/build/components/badge/badge.css +253 -0
  73. package/build/components/badge/badge.scss +107 -0
  74. package/build/components/brand/brand.css +42 -0
  75. package/build/components/brand/brand.scss +32 -0
  76. package/build/components/button/button.css +165 -0
  77. package/build/components/button/button.scss +123 -0
  78. package/build/components/card/card.css +115 -0
  79. package/build/components/card/card.scss +56 -0
  80. package/build/components/checkbox/checkbox.css +476 -0
  81. package/build/components/checkbox/checkbox.scss +80 -0
  82. package/build/components/divider/divider.css +84 -0
  83. package/build/components/divider/divider.scss +56 -0
  84. package/build/components/drawer/drawer.css +303 -0
  85. package/build/components/drawer/drawer.scss +228 -0
  86. package/build/components/header/header.css +697 -0
  87. package/build/components/header/header.scss +246 -0
  88. package/build/components/icon/icon.css +24 -0
  89. package/build/components/icon/icon.scss +14 -0
  90. package/build/components/infotext/infotext.css +152 -0
  91. package/build/components/infotext/infotext.scss +54 -0
  92. package/build/components/input/input.css +712 -0
  93. package/build/components/input/input.scss +147 -0
  94. package/build/components/link/link.css +257 -0
  95. package/build/components/link/link.scss +60 -0
  96. package/build/components/navigation/navigation.css +218 -0
  97. package/build/components/navigation/navigation.scss +117 -0
  98. package/build/components/navigation-item/navigation-item.css +482 -0
  99. package/build/components/navigation-item/navigation-item.scss +310 -0
  100. package/build/components/notification/notification-grid-default.css +1 -0
  101. package/build/components/notification/notification-grid-default.scss +52 -0
  102. package/build/components/notification/notification-grid-non-overlay.css +1 -0
  103. package/build/components/notification/notification-grid-non-overlay.scss +66 -0
  104. package/build/components/notification/notification-grid-overlay.css +1 -0
  105. package/build/components/notification/notification-grid-overlay.scss +55 -0
  106. package/build/components/notification/notification.css +1173 -0
  107. package/build/components/notification/notification.scss +216 -0
  108. package/build/components/page/page.css +49 -0
  109. package/build/components/page/page.scss +52 -0
  110. package/build/components/popover/popover.css +291 -0
  111. package/build/components/popover/popover.scss +26 -0
  112. package/build/components/radio/radio.css +390 -0
  113. package/build/components/radio/radio.scss +49 -0
  114. package/build/components/section/section.css +38 -0
  115. package/build/components/section/section.scss +51 -0
  116. package/build/components/select/select.css +651 -0
  117. package/build/components/select/select.scss +83 -0
  118. package/build/components/stack/stack-web-component.css +93 -0
  119. package/build/components/stack/stack-web-component.scss +1 -0
  120. package/build/components/stack/stack.css +93 -0
  121. package/build/components/stack/stack.scss +5 -0
  122. package/build/components/switch/switch.css +901 -0
  123. package/build/components/switch/switch.scss +233 -0
  124. package/build/components/tab-item/tab-item.css +160 -0
  125. package/build/components/tab-item/tab-item.scss +135 -0
  126. package/build/components/tab-list/tab-list.css +202 -0
  127. package/build/components/tab-list/tab-list.scss +18 -0
  128. package/build/components/tab-panel/tab-panel.css +10 -0
  129. package/build/components/tab-panel/tab-panel.scss +5 -0
  130. package/build/components/tabs/tabs.css +358 -0
  131. package/build/components/tabs/tabs.scss +361 -0
  132. package/build/components/tag/tag.css +1544 -0
  133. package/build/components/tag/tag.scss +236 -0
  134. package/build/components/textarea/textarea.css +546 -0
  135. package/build/components/textarea/textarea.scss +86 -0
  136. package/build/components/tooltip/tooltip.css +346 -0
  137. package/build/components/tooltip/tooltip.scss +137 -0
  138. package/build/styles/absolute.css +1559 -0
  139. package/build/styles/absolute.scss +5 -0
  140. package/build/styles/component-animations.css +1 -0
  141. package/build/styles/component-animations.scss +17 -0
  142. package/build/styles/dialog-init.css +1 -0
  143. package/build/styles/dialog-init.scss +57 -0
  144. package/build/styles/index.css +615 -0
  145. package/build/styles/index.scss +32 -0
  146. package/build/styles/internal/_button-components.scss +8 -0
  147. package/build/styles/internal/_component.scss +79 -0
  148. package/build/styles/internal/_custom-elements.scss +7 -0
  149. package/build/styles/internal/_db-puls.scss +83 -0
  150. package/build/styles/internal/_form-components.scss +516 -0
  151. package/build/styles/internal/_icon-passing.scss +26 -0
  152. package/build/styles/internal/_link-components.scss +62 -0
  153. package/build/styles/internal/_popover-component.scss +213 -0
  154. package/build/styles/internal/_scrollbar.scss +93 -0
  155. package/build/styles/internal/_stack-components.scss +104 -0
  156. package/build/styles/internal/_tag-components.scss +234 -0
  157. package/build/styles/relative.css +1559 -0
  158. package/build/styles/relative.scss +15 -0
  159. package/build/styles/rollup.css +1559 -0
  160. package/build/styles/rollup.scss +5 -0
  161. package/build/styles/visually-hidden.css +1 -0
  162. package/build/styles/visually-hidden.scss +6 -0
  163. package/build/styles/wc-workarounds.css +1 -0
  164. package/build/styles/wc-workarounds.scss +12 -0
  165. package/build/styles/webpack.css +1559 -0
  166. package/build/styles/webpack.scss +5 -0
  167. package/package.json +62 -0
@@ -0,0 +1,117 @@
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 "../../styles/internal/form-components";
5
+ @use "../../styles/internal/db-puls";
6
+
7
+ .db-navigation {
8
+ -webkit-tap-highlight-color: transparent; /* for removing the highlight */
9
+ inline-size: 100%;
10
+
11
+ @include screen-sizes.screen("md") {
12
+ -webkit-tap-highlight-color: inherit;
13
+ inline-size: auto;
14
+ }
15
+
16
+ > menu {
17
+ display: flex;
18
+ flex-direction: column;
19
+ padding: 0;
20
+ margin: 0;
21
+ gap: variables.$db-spacing-fixed-sm;
22
+
23
+ @include screen-sizes.screen("md") {
24
+ flex-direction: row;
25
+ }
26
+
27
+ .db-navigation-item {
28
+ @extend %db-puls-auto;
29
+
30
+ .db-navigation-item-expand-button:is(button),
31
+ .db-navigation-item-expand-button > button {
32
+ // overwrite for navigation items
33
+ @include screen-sizes.screen("md") {
34
+ &::after {
35
+ --db-icon-margin-start: #{variables.$db-spacing-fixed-sm};
36
+ --db-icon-after: "chevron_down";
37
+
38
+ @media screen and (prefers-reduced-motion: no-preference) {
39
+ transition: form-components.$dropdown-icon-transition;
40
+ }
41
+ }
42
+
43
+ &:is(:hover, :focus-visible),
44
+ &:has(
45
+ ~ .db-sub-navigation:is(
46
+ :hover,
47
+ :focus-visible,
48
+ :focus-within
49
+ )
50
+ ) {
51
+ &::after {
52
+ transform: form-components.$dropdown-icon-transform;
53
+ }
54
+ }
55
+ }
56
+ }
57
+
58
+ // re overwrite for non navigation items
59
+ > menu {
60
+ .db-navigation-item-expand-button:is(button),
61
+ .db-navigation-item-expand-button > button {
62
+ @include screen-sizes.screen("md") {
63
+ &::after {
64
+ --db-icon-after: "chevron_right";
65
+ --db-icon-margin-start: auto;
66
+ }
67
+
68
+ &:is(:hover, :focus-visible),
69
+ :has(
70
+ ~ .db-sub-navigation:is(
71
+ :hover,
72
+ :focus-visible,
73
+ :focus-within
74
+ )
75
+ ) {
76
+ &::after {
77
+ transform: none;
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ &:has([aria-current="page"]),
85
+ &:has([data-active="true"]),
86
+ &[aria-current="page"],
87
+ &[data-active="true"] {
88
+ @extend %show-db-puls-auto;
89
+
90
+ menu {
91
+ // hide puls for non navigation items
92
+ :has([aria-current="page"]),
93
+ [aria-current="page"] {
94
+ &::after {
95
+ display: none;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ // angular workaround: as no direct-child selector can be used, the pulse is hidden from the second level onwards
102
+ .db-navigation-item {
103
+ &::after {
104
+ display: none;
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ &[data-force-close="true"] {
111
+ > menu menu {
112
+ @include screen-sizes.screen("md") {
113
+ display: none;
114
+ }
115
+ }
116
+ }
117
+ }
@@ -0,0 +1,482 @@
1
+ /* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
2
+ /* Use fixed spacings for all kind of distances (margin, padding, ...) */
3
+ /* The primary use-case for responsive spacings are
4
+ paddings/gaps in an application e.g. the <main> should have a responsive padding. */
5
+ /* Elevation */
6
+ /* Border */
7
+ /* Transitions */
8
+ /* Variants for adaptive components like input, select, notification, ... */
9
+ /**
10
+ Generates 3 types of placeholders, e.g:
11
+ - %db-component-variables-md
12
+ - %db-font-size-md
13
+ - %db-overwrite-font-size-md
14
+ */
15
+ .db-navigation-item, .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
16
+ .db-navigation-item .db-navigation-item-expand-button > button {
17
+ /* Those variables are only for components to calculate heights and change icons */
18
+ --db-icon-font-weight: var(--db-base-body-icon-weight-md);
19
+ --db-icon-font-size: var(--db-base-body-icon-font-size-md);
20
+ --db-base-line-height: var(--db-type-body-line-height-md);
21
+ --db-base-font-size: var(--db-type-body-font-size-md);
22
+ line-height: var(--db-type-body-line-height-md);
23
+ font-size: var(--db-type-body-font-size-md);
24
+ }
25
+
26
+ @keyframes show-right-to-left {
27
+ from {
28
+ transform: translateX(110%);
29
+ }
30
+ to {
31
+ transform: translateX(0%);
32
+ }
33
+ }
34
+ @keyframes hide-right-to-left {
35
+ from {
36
+ transform: translateX(0%);
37
+ }
38
+ to {
39
+ transform: translateX(110%);
40
+ }
41
+ }
42
+ @keyframes show-left-to-right {
43
+ from {
44
+ transform: translateX(-110%);
45
+ }
46
+ to {
47
+ transform: translateX(0%);
48
+ }
49
+ }
50
+ @keyframes hide-left-to-right {
51
+ from {
52
+ transform: translateX(0%);
53
+ }
54
+ to {
55
+ transform: translateX(-110%);
56
+ }
57
+ }
58
+ @keyframes show-bottom-to-top {
59
+ from {
60
+ transform: translateY(110%);
61
+ }
62
+ to {
63
+ transform: translateY(0%);
64
+ }
65
+ }
66
+ @keyframes hide-bottom-to-top {
67
+ from {
68
+ transform: translateY(0%);
69
+ }
70
+ to {
71
+ transform: translateY(110%);
72
+ }
73
+ }
74
+ @keyframes show-top-to-bottom {
75
+ from {
76
+ transform: translateY(-110%);
77
+ }
78
+ to {
79
+ transform: translateY(0%);
80
+ }
81
+ }
82
+ @keyframes hide-top-to-bottom {
83
+ from {
84
+ transform: translateY(0%);
85
+ }
86
+ to {
87
+ transform: translateY(-110%);
88
+ }
89
+ }
90
+ @keyframes accordion-open {
91
+ 0% {
92
+ opacity: 0;
93
+ transform: translateY(-10%);
94
+ }
95
+ 100% {
96
+ opacity: 1;
97
+ transform: translateY(0%);
98
+ }
99
+ }
100
+ @keyframes popover-animation {
101
+ 0% {
102
+ opacity: 0;
103
+ transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
104
+ }
105
+ 100% {
106
+ opacity: 1;
107
+ transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
108
+ }
109
+ }
110
+ .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-hide-icon-after=true])::after,
111
+ .db-navigation-item .db-navigation-item-expand-button > button:not([data-hide-icon-after=true])::after {
112
+ content: var(--db-icon, attr(data-icon));
113
+ content: var(--db-icon, attr(data-icon))/"";
114
+ -webkit-alt: "";
115
+ alt: "";
116
+ color: var(--db-icon-color, inherit);
117
+ display: inline-block;
118
+ /*** icon - placeholder ***/
119
+ font-family: var(--db-icon-font-family, var(--db-icon-default-font-family, "db-ux-default")) !important;
120
+ font-size: var(--db-icon-font-size, 1.5rem);
121
+ -webkit-font-smoothing: antialiased;
122
+ -moz-osx-font-smoothing: grayscale;
123
+ font-style: normal;
124
+ font-variant: normal;
125
+ font-weight: var(--db-icon-font-weight, normal);
126
+ line-height: 1;
127
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
128
+ speak: none;
129
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
130
+ speak: never;
131
+ text-transform: none;
132
+ vertical-align: middle;
133
+ block-size: var(--db-icon-font-size, 1.5rem);
134
+ inline-size: var(--db-icon-font-size, 1.5rem);
135
+ }
136
+ @media aural {
137
+ .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-hide-icon-after=true])::after,
138
+ .db-navigation-item .db-navigation-item-expand-button > button:not([data-hide-icon-after=true])::after {
139
+ content: none;
140
+ }
141
+ }
142
+ @media speech {
143
+ .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-hide-icon-after=true])::after,
144
+ .db-navigation-item .db-navigation-item-expand-button > button:not([data-hide-icon-after=true])::after {
145
+ content: none;
146
+ }
147
+ }
148
+
149
+ .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
150
+ .db-navigation-item .db-navigation-item-expand-button > button {
151
+ border: var(--db-border-height-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
152
+ }
153
+
154
+ .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
155
+ .db-navigation-item .db-navigation-item-expand-button > button {
156
+ border: var(--db-border-height-3xs) solid transparent;
157
+ }
158
+
159
+ .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
160
+ .db-navigation-item .db-navigation-item-expand-button > button {
161
+ border-radius: var(--db-border-radius-xs);
162
+ }
163
+
164
+ .db-navigation-item .db-navigation-item-expand-button:is(button),
165
+ .db-navigation-item .db-navigation-item-expand-button > button {
166
+ /* stylelint-disable at-rule-empty-line-before */
167
+ /* stylelint-enable at-rule-empty-line-before */
168
+ /* stylelint-disable-next-line media-query-no-invalid */
169
+ /* stylelint-disable-next-line at-rule-empty-line-before */
170
+ }
171
+ @media screen and (min-width: 64em) {
172
+ .db-navigation-item .db-navigation-item-expand-button:not([data-force-mobile]):is(:hover, :focus-visible):is(button) ~ .db-sub-navigation,
173
+ .db-navigation-item .db-navigation-item-expand-button > button:not([data-force-mobile]):is(:hover, :focus-visible) ~ .db-sub-navigation, .db-navigation-item [data-force-mobile=false].db-navigation-item-expand-button:is(:hover, :focus-visible):is(button) ~ .db-sub-navigation,
174
+ .db-navigation-item .db-navigation-item-expand-button > button[data-force-mobile=false]:is(:hover, :focus-visible) ~ .db-sub-navigation {
175
+ visibility: visible;
176
+ }
177
+ }
178
+
179
+ .db-navigation-item .db-navigation-item-expand-button:is(button),
180
+ .db-navigation-item .db-navigation-item-expand-button > button, .db-navigation-item a {
181
+ background-color: var(--db-adaptive-bg-basic-transparent-full-default);
182
+ cursor: pointer;
183
+ inline-size: 100%;
184
+ display: inline-flex;
185
+ border-radius: var(--db-border-radius-sm);
186
+ padding: var(--db-spacing-fixed-xs) var(--db-spacing-fixed-sm);
187
+ white-space: nowrap;
188
+ text-align: center;
189
+ align-items: center;
190
+ /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
191
+ }
192
+ .db-navigation-item .db-navigation-item-expand-button:hover:not(:disabled, [aria-disabled=true]):is(button),
193
+ .db-navigation-item .db-navigation-item-expand-button > button:hover:not(:disabled, [aria-disabled=true]), .db-navigation-item a:hover:not(:disabled, [aria-disabled=true]) {
194
+ cursor: pointer;
195
+ background-color: var(--db-adaptive-bg-basic-transparent-hovered);
196
+ }
197
+ .db-navigation-item .db-navigation-item-expand-button:hover:not(:disabled, [aria-disabled=true]):is(textarea):is(button),
198
+ .db-navigation-item .db-navigation-item-expand-button > button:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-navigation-item a:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-navigation-item .db-navigation-item-expand-button:hover:not(:disabled, [aria-disabled=true]):is(input):is(button),
199
+ .db-navigation-item .db-navigation-item-expand-button > button:hover:not(:disabled, [aria-disabled=true]):is(input), .db-navigation-item a:hover:not(:disabled, [aria-disabled=true]):is(input) {
200
+ cursor: initial;
201
+ }
202
+ .db-navigation-item .db-navigation-item-expand-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]):is(button),
203
+ .db-navigation-item .db-navigation-item-expand-button > button:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-navigation-item a:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-navigation-item .db-navigation-item-expand-button:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)):is(button),
204
+ .db-navigation-item .db-navigation-item-expand-button > button:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)), .db-navigation-item a:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
205
+ cursor: pointer;
206
+ }
207
+ .db-navigation-item .db-navigation-item-expand-button:active:not(:disabled, [aria-disabled=true]):is(button),
208
+ .db-navigation-item .db-navigation-item-expand-button > button:active:not(:disabled, [aria-disabled=true]), .db-navigation-item a:active:not(:disabled, [aria-disabled=true]) {
209
+ cursor: pointer;
210
+ background-color: var(--db-adaptive-bg-basic-transparent-pressed);
211
+ }
212
+ .db-navigation-item .db-navigation-item-expand-button:active:not(:disabled, [aria-disabled=true]):is(textarea):is(button),
213
+ .db-navigation-item .db-navigation-item-expand-button > button:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-navigation-item a:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-navigation-item .db-navigation-item-expand-button:active:not(:disabled, [aria-disabled=true]):is(input):is(button),
214
+ .db-navigation-item .db-navigation-item-expand-button > button:active:not(:disabled, [aria-disabled=true]):is(input), .db-navigation-item a:active:not(:disabled, [aria-disabled=true]):is(input) {
215
+ cursor: initial;
216
+ }
217
+ .db-navigation-item .db-navigation-item-expand-button:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]):is(button),
218
+ .db-navigation-item .db-navigation-item-expand-button > button:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-navigation-item a:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-navigation-item .db-navigation-item-expand-button:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)):is(button),
219
+ .db-navigation-item .db-navigation-item-expand-button > button:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)), .db-navigation-item a:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
220
+ cursor: pointer;
221
+ }
222
+ .db-navigation-item .db-navigation-item-expand-button:has(~ .db-sub-navigation:is(:hover, :focus)):is(button),
223
+ .db-navigation-item .db-navigation-item-expand-button > button:has(~ .db-sub-navigation:is(:hover, :focus)), .db-navigation-item a:has(~ .db-sub-navigation:is(:hover, :focus)) {
224
+ background-color: var(--db-adaptive-bg-basic-transparent-hovered);
225
+ }
226
+
227
+ .db-navigation-item {
228
+ --db-has-before: 0;
229
+ display: inline-flex;
230
+ position: relative;
231
+ inline-size: auto;
232
+ /* stylelint-disable at-rule-empty-line-before */
233
+ /* stylelint-enable at-rule-empty-line-before */
234
+ /* stylelint-disable-next-line media-query-no-invalid */
235
+ }
236
+ .db-navigation-item[data-icon]:not([data-hide-icon=true])::before {
237
+ position: absolute;
238
+ inset-block-start: calc(50% - 0.5em);
239
+ inset-inline-start: var(--db-spacing-fixed-sm);
240
+ pointer-events: none;
241
+ z-index: 1;
242
+ }
243
+ .db-navigation-item[data-icon]:not([data-hide-icon=true]) a,
244
+ .db-navigation-item[data-icon]:not([data-hide-icon=true]) button,
245
+ .db-navigation-item[data-icon]:not([data-hide-icon=true]) label {
246
+ --db-padding-inline-start: calc(
247
+ var(--db-spacing-fixed-sm) + var(--db-icon-margin-end, var(--db-spacing-fixed-xs)) +
248
+ var(--db-base-font-size) * var(--db-base-line-height)
249
+ );
250
+ /* stylelint-disable-next-line db-ux/use-spacings */
251
+ padding-inline-start: var(--db-padding-inline-start);
252
+ }
253
+ .db-navigation-item[data-force-mobile=true]:not([data-width=full]) .db-navigation-item-expand-button::after {
254
+ --db-icon-margin-start: auto;
255
+ }
256
+ @media screen and (max-width: 63.9375em) {
257
+ .db-navigation-item:not([data-width=full]) .db-navigation-item-expand-button::after {
258
+ --db-icon-margin-start: auto;
259
+ }
260
+ }
261
+ .db-navigation-item a {
262
+ text-decoration: none;
263
+ }
264
+ .db-navigation-item a:focus-visible {
265
+ z-index: 1;
266
+ }
267
+ .db-navigation-item .db-navigation-item-expand-button {
268
+ /* stylelint-disable at-rule-empty-line-before */
269
+ /* stylelint-enable at-rule-empty-line-before */
270
+ /* stylelint-disable-next-line media-query-no-invalid */
271
+ }
272
+ .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true] ~ .db-sub-navigation {
273
+ visibility: visible;
274
+ }
275
+ @media screen and (prefers-reduced-motion: no-preference) {
276
+ .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true] ~ .db-sub-navigation {
277
+ transition: visibility 0ms linear 0ms;
278
+ animation: show-right-to-left var(--db-transition-straight-show);
279
+ }
280
+ }
281
+ .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true] ~ .db-sub-navigation .db-sub-navigation {
282
+ inset-block: 0;
283
+ }
284
+ @media screen and (prefers-reduced-motion: no-preference) {
285
+ .db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true]:not(.db-navigation-item .db-navigation-item-expand-button[data-force-mobile=true][aria-expanded=true]) ~ .db-sub-navigation {
286
+ transition: visibility 0ms linear 410ms;
287
+ animation: hide-right-to-left var(--db-transition-straight-hide);
288
+ }
289
+ }
290
+ @media screen and (max-width: 63.9375em) {
291
+ .db-navigation-item .db-navigation-item-expand-button[aria-expanded=true] ~ .db-sub-navigation {
292
+ visibility: visible;
293
+ }
294
+ }
295
+ @media screen and (max-width: 63.9375em) and (prefers-reduced-motion: no-preference) {
296
+ .db-navigation-item .db-navigation-item-expand-button[aria-expanded=true] ~ .db-sub-navigation {
297
+ transition: visibility 0ms linear 0ms;
298
+ animation: show-right-to-left var(--db-transition-straight-show);
299
+ }
300
+ }
301
+ @media screen and (max-width: 63.9375em) {
302
+ .db-navigation-item .db-navigation-item-expand-button[aria-expanded=true] ~ .db-sub-navigation .db-sub-navigation {
303
+ inset-block: 0;
304
+ }
305
+ }
306
+ @media screen and (max-width: 63.9375em) and (prefers-reduced-motion: no-preference) {
307
+ .db-navigation-item .db-navigation-item-expand-button:not(.db-navigation-item .db-navigation-item-expand-button[aria-expanded=true]) ~ .db-sub-navigation {
308
+ transition: visibility 0ms linear 410ms;
309
+ animation: hide-right-to-left var(--db-transition-straight-hide);
310
+ }
311
+ }
312
+ .db-navigation-item .db-navigation-item-expand-button:is(button),
313
+ .db-navigation-item .db-navigation-item-expand-button > button {
314
+ font-weight: inherit;
315
+ }
316
+ .db-navigation-item .db-navigation-item-expand-button:is(button):not([data-hide-icon-after=true])::after,
317
+ .db-navigation-item .db-navigation-item-expand-button > button:not([data-hide-icon-after=true])::after {
318
+ --db-icon-after: "chevron_right";
319
+ content: var(--db-icon-after, attr(data-icon-after));
320
+ content: var(--db-icon-after, attr(data-icon-after))/"";
321
+ margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
322
+ }
323
+ .db-navigation-item:has([aria-current=page]) > :is(a, button), .db-navigation-item:has([data-active=true]) > :is(a, button), .db-navigation-item[aria-current=page] > :is(a, button), .db-navigation-item[data-active=true] > :is(a, button) {
324
+ font-weight: 700;
325
+ }
326
+ .db-navigation-item:not([data-width=full]) .db-navigation-item-expand-button::after {
327
+ --db-icon-margin-start: var(--db-spacing-fixed-sm);
328
+ }
329
+ .db-navigation-item[data-width=full] {
330
+ inline-size: 100%;
331
+ }
332
+ .db-navigation-item[data-width=full] .db-navigation-item-expand-button::after {
333
+ --db-icon-margin-start: auto;
334
+ }
335
+ .db-navigation-item[aria-disabled=true] {
336
+ opacity: 0.4;
337
+ pointer-events: none;
338
+ }
339
+
340
+ .db-sub-navigation {
341
+ margin: 0;
342
+ display: flex;
343
+ flex-direction: column;
344
+ z-index: 70;
345
+ inset-inline-start: 0;
346
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
347
+ visibility: hidden;
348
+ /* stylelint-disable at-rule-empty-line-before */
349
+ /* stylelint-enable at-rule-empty-line-before */
350
+ /* stylelint-disable-next-line media-query-no-invalid */
351
+ /* stylelint-disable at-rule-empty-line-before */
352
+ /* stylelint-enable at-rule-empty-line-before */
353
+ /* stylelint-disable-next-line media-query-no-invalid */
354
+ /* stylelint-disable-next-line at-rule-empty-line-before */
355
+ /* stylelint-disable at-rule-empty-line-before */
356
+ /* stylelint-enable at-rule-empty-line-before */
357
+ /* stylelint-disable-next-line media-query-no-invalid */
358
+ /* stylelint-disable-next-line at-rule-empty-line-before */
359
+ }
360
+ .db-sub-navigation[data-force-mobile=true] {
361
+ padding: var(--db-spacing-fixed-md);
362
+ inline-size: 100%;
363
+ position: fixed;
364
+ overflow: hidden auto;
365
+ inset-block: calc(calc(var(--db-sizing-md) + 2 * var(--db-spacing-fixed-xs)) + var(--db-spacing-fixed-3xs)) calc(var(--db-sizing-md) + var(--db-spacing-fixed-xs) * 2 + var(--db-spacing-fixed-3xs));
366
+ }
367
+ @media screen and (max-width: 63.9375em) {
368
+ .db-sub-navigation {
369
+ padding: var(--db-spacing-fixed-md);
370
+ inline-size: 100%;
371
+ position: fixed;
372
+ overflow: hidden auto;
373
+ inset-block: calc(calc(var(--db-sizing-md) + 2 * var(--db-spacing-fixed-xs)) + var(--db-spacing-fixed-3xs)) calc(var(--db-sizing-md) + var(--db-spacing-fixed-xs) * 2 + var(--db-spacing-fixed-3xs));
374
+ }
375
+ }
376
+ @media screen and (min-width: 64em) {
377
+ .db-sub-navigation:not([data-force-mobile]) .db-mobile-navigation-back, .db-sub-navigation[data-force-mobile=false] .db-mobile-navigation-back {
378
+ display: none;
379
+ }
380
+ }
381
+ @media screen and (min-width: 64em) {
382
+ .db-sub-navigation:not([data-force-mobile]), .db-sub-navigation[data-force-mobile=false] {
383
+ border-radius: var(--db-border-radius-sm);
384
+ box-shadow: var(--db-elevation-md);
385
+ padding: var(--db-spacing-fixed-sm);
386
+ position: absolute;
387
+ min-inline-size: 328px;
388
+ inset-block-start: calc(100% + var(--db-spacing-fixed-md));
389
+ transition: visibility 1ms linear;
390
+ }
391
+ .db-sub-navigation:not([data-force-mobile])[data-outside-vx=true], .db-sub-navigation[data-force-mobile=false][data-outside-vx=true] {
392
+ transform: translateX(-100%);
393
+ inset-inline-start: 100%;
394
+ }
395
+ .db-sub-navigation:not([data-force-mobile]):is(:hover, :focus-within), .db-sub-navigation[data-force-mobile=false]:is(:hover, :focus-within) {
396
+ visibility: visible;
397
+ }
398
+ .db-sub-navigation:not([data-force-mobile])::before, .db-sub-navigation[data-force-mobile=false]::before {
399
+ content: "";
400
+ position: absolute;
401
+ inset-inline-start: 0;
402
+ inline-size: 100%;
403
+ block-size: calc(var(--db-spacing-fixed-3xs) + var(--db-spacing-fixed-md));
404
+ inset-block-start: calc(-1 * var(--db-spacing-fixed-md) - var(--db-spacing-fixed-3xs));
405
+ }
406
+ .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation, .db-sub-navigation[data-force-mobile=false] .db-sub-navigation {
407
+ inset-block-start: calc(-50% + var(--db-spacing-fixed-xs) + 1px);
408
+ inset-inline-start: calc(100% + var(--db-spacing-fixed-xs));
409
+ }
410
+ .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation[data-outside-vy=bottom], .db-sub-navigation[data-force-mobile=false] .db-sub-navigation[data-outside-vy=bottom] {
411
+ inset-block-start: calc(100% + var(--db-spacing-fixed-md));
412
+ transform: translateY(-100%);
413
+ }
414
+ .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation[data-outside-vx=right], .db-sub-navigation[data-force-mobile=false] .db-sub-navigation[data-outside-vx=right] {
415
+ transform: translateX(-100%);
416
+ inset-inline-start: calc(-1 * var(--db-spacing-fixed-xs));
417
+ }
418
+ .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation[data-outside-vx=right][data-outside-vy=bottom], .db-sub-navigation[data-force-mobile=false] .db-sub-navigation[data-outside-vx=right][data-outside-vy=bottom] {
419
+ transform: translate(-100%, -100%);
420
+ }
421
+ .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation[data-outside-vx=right]::before, .db-sub-navigation[data-force-mobile=false] .db-sub-navigation[data-outside-vx=right]::before {
422
+ inset-block: auto 0;
423
+ transform: translateX(100%) scaleX(-1);
424
+ }
425
+ .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation::before, .db-sub-navigation[data-force-mobile=false] .db-sub-navigation::before {
426
+ content: "";
427
+ position: absolute;
428
+ inset-block-start: 0;
429
+ inset-inline-start: 0;
430
+ block-size: 100%;
431
+ inline-size: var(--db-navigation-item-inline-size, 100%);
432
+ background: transparent;
433
+ transform: translateX(-100%);
434
+ clip-path: var(--db-navigation-item-clip-path, polygon(10% 30px, 100% 0, 100% 100%));
435
+ }
436
+ .db-sub-navigation:not([data-force-mobile]) .db-sub-navigation::after, .db-sub-navigation[data-force-mobile=false] .db-sub-navigation::after {
437
+ content: "";
438
+ position: absolute;
439
+ padding: var(--db-spacing-fixed-xs);
440
+ inset-block-start: var(--db-spacing-fixed-3xs);
441
+ inset-inline-end: calc(-1 * var(--db-spacing-fixed-xs));
442
+ block-size: 100%;
443
+ inline-size: var(--db-spacing-fixed-xs);
444
+ }
445
+ }
446
+ .db-sub-navigation:empty {
447
+ display: none;
448
+ }
449
+ .db-sub-navigation .db-navigation-item {
450
+ inline-size: 100%;
451
+ }
452
+ .db-sub-navigation .db-navigation-item::after {
453
+ margin-inline-start: auto;
454
+ }
455
+
456
+ .db-mobile-navigation-back {
457
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
458
+ position: relative;
459
+ display: flex;
460
+ font-weight: normal;
461
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
462
+ padding-block-end: var(--db-spacing-fixed-md);
463
+ margin-block-end: var(--db-spacing-fixed-md);
464
+ }
465
+ .db-mobile-navigation-back[data-emphasis=strong] {
466
+ --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
467
+ }
468
+ .db-mobile-navigation-back::before {
469
+ content: "";
470
+ background-color: var(--db-divider-bg-color);
471
+ position: absolute;
472
+ block-size: var(--db-border-height-3xs);
473
+ inset-block-end: 0;
474
+ inset-inline: 0;
475
+ /* stylelint-disable-next-line at-rule-empty-line-before */
476
+ }
477
+ @media (forced-colors: active) {
478
+ .db-mobile-navigation-back {
479
+ /* stylelint-disable-next-line db-ux/use-border-color */
480
+ border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
481
+ }
482
+ }