@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,202 @@
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
+ .db-visually-hidden,
10
+ [data-visually-hidden=true] {
11
+ clip: rect(0, 0, 0, 0) !important;
12
+ overflow: hidden !important;
13
+ white-space: nowrap !important;
14
+ font-size: 0 !important;
15
+ all: initial;
16
+ inset-block-start: 0 !important;
17
+ block-size: 1px !important;
18
+ position: absolute !important;
19
+ inline-size: 1px !important;
20
+ border-width: 0 !important;
21
+ border-style: initial !important;
22
+ border-color: initial !important;
23
+ border-image: initial !important;
24
+ padding: 0 !important;
25
+ pointer-events: none !important;
26
+ }
27
+
28
+ .db-tab-list > ul::-webkit-scrollbar, .db-tab-list > ul::-webkit-scrollbar-corner {
29
+ transition: outline var(--db-transition-duration-extra-fast), border-color var(--db-transition-straight-emotional), background-color var(--db-transition-straight-emotional);
30
+ }
31
+
32
+ @keyframes show-right-to-left {
33
+ from {
34
+ transform: translateX(110%);
35
+ }
36
+ to {
37
+ transform: translateX(0%);
38
+ }
39
+ }
40
+ @keyframes hide-right-to-left {
41
+ from {
42
+ transform: translateX(0%);
43
+ }
44
+ to {
45
+ transform: translateX(110%);
46
+ }
47
+ }
48
+ @keyframes show-left-to-right {
49
+ from {
50
+ transform: translateX(-110%);
51
+ }
52
+ to {
53
+ transform: translateX(0%);
54
+ }
55
+ }
56
+ @keyframes hide-left-to-right {
57
+ from {
58
+ transform: translateX(0%);
59
+ }
60
+ to {
61
+ transform: translateX(-110%);
62
+ }
63
+ }
64
+ @keyframes show-bottom-to-top {
65
+ from {
66
+ transform: translateY(110%);
67
+ }
68
+ to {
69
+ transform: translateY(0%);
70
+ }
71
+ }
72
+ @keyframes hide-bottom-to-top {
73
+ from {
74
+ transform: translateY(0%);
75
+ }
76
+ to {
77
+ transform: translateY(110%);
78
+ }
79
+ }
80
+ @keyframes show-top-to-bottom {
81
+ from {
82
+ transform: translateY(-110%);
83
+ }
84
+ to {
85
+ transform: translateY(0%);
86
+ }
87
+ }
88
+ @keyframes hide-top-to-bottom {
89
+ from {
90
+ transform: translateY(0%);
91
+ }
92
+ to {
93
+ transform: translateY(-110%);
94
+ }
95
+ }
96
+ @keyframes accordion-open {
97
+ 0% {
98
+ opacity: 0;
99
+ transform: translateY(-10%);
100
+ }
101
+ 100% {
102
+ opacity: 1;
103
+ transform: translateY(0%);
104
+ }
105
+ }
106
+ @keyframes popover-animation {
107
+ 0% {
108
+ opacity: 0;
109
+ transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
110
+ }
111
+ 100% {
112
+ opacity: 1;
113
+ transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
114
+ }
115
+ }
116
+ /**
117
+ Generates 3 types of placeholders, e.g:
118
+ - %db-component-variables-md
119
+ - %db-font-size-md
120
+ - %db-overwrite-font-size-md
121
+ */
122
+ .db-tab-list {
123
+ /* Those variables are only for components to calculate heights and change icons */
124
+ --db-icon-font-weight: var(--db-base-body-icon-weight-md);
125
+ --db-icon-font-size: var(--db-base-body-icon-font-size-md);
126
+ --db-base-line-height: var(--db-type-body-line-height-md);
127
+ --db-base-font-size: var(--db-type-body-font-size-md);
128
+ line-height: var(--db-type-body-line-height-md);
129
+ font-size: var(--db-type-body-font-size-md);
130
+ }
131
+
132
+ .db-tab-list > ul {
133
+ /* Buttons */
134
+ /* Up */
135
+ /* Down */
136
+ }
137
+ .db-tab-list > ul::-webkit-scrollbar {
138
+ z-index: 3;
139
+ inline-size: 0.5rem;
140
+ block-size: 0.5rem;
141
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
142
+ border-start-end-radius: var(--db-border-radius-xs);
143
+ }
144
+ .db-tab-list > ul:is(:hover, :focus)::-webkit-scrollbar-track, .db-tab-list > ul:is(:hover, :focus)::-webkit-scrollbar-button:single-button {
145
+ background-color: var(--db-adaptive-bg-basic-transparent-hovered);
146
+ }
147
+ .db-tab-list > ul:read-only::-webkit-scrollbar-track, .db-tab-list > ul:read-only::-webkit-scrollbar-button:single-button {
148
+ background-color: var(--db-adaptive-bg-basic-level-1-default) !important;
149
+ }
150
+ .db-tab-list > ul::-webkit-scrollbar-track {
151
+ background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
152
+ }
153
+ .db-tab-list > ul::-webkit-scrollbar-thumb {
154
+ background-color: var(--db-adaptive-bg-basic-transparent-pressed);
155
+ }
156
+ .db-tab-list > ul::-webkit-scrollbar-button:single-button {
157
+ background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
158
+ background-size: 0.5rem;
159
+ background-repeat: no-repeat;
160
+ background-position: center;
161
+ block-size: calc(var(--db-spacing-fixed-3xs) + var(--db-spacing-fixed-2xs) + calc(var(--db-type-body-font-size-2xs) * var(--db-type-body-line-height-2xs)));
162
+ }
163
+ .db-tab-list > ul::-webkit-scrollbar-button:single-button:is(:hover, :focus) {
164
+ background-color: var(--db-adaptive-bg-basic-transparent-hovered);
165
+ }
166
+ .db-tab-list > ul::-webkit-scrollbar-button:single-button:active {
167
+ background-color: var(--db-adaptive-bg-basic-transparent-pressed);
168
+ }
169
+ .db-tab-list > ul::-webkit-scrollbar-button:single-button:vertical:decrement {
170
+ background-image: var(--db-textarea-scrollbar-button-decrement);
171
+ }
172
+ .db-tab-list > ul::-webkit-scrollbar-button:single-button:vertical:increment {
173
+ background-image: var(--db-textarea-scrollbar-button-increment);
174
+ }
175
+ .db-tab-list > ul[data-variant=floating]::-webkit-resizer {
176
+ background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
177
+ }
178
+ .db-tab-list > ul[data-variant=floating]::-webkit-scrollbar-corner {
179
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
180
+ }
181
+ .db-tab-list > ul::-webkit-resizer {
182
+ background-color: var(--db-adaptive-bg-basic-transparent-full-default);
183
+ background-size: 0.5rem;
184
+ background-repeat: no-repeat;
185
+ background-position: center;
186
+ background-image: var(--db-textarea-resizer-image);
187
+ border-end-end-radius: var(--db-border-radius-xs);
188
+ }
189
+ .db-tab-list > ul::-webkit-scrollbar-corner {
190
+ border-end-end-radius: var(--db-border-radius-xs);
191
+ }
192
+
193
+ .db-tab-list {
194
+ position: relative;
195
+ }
196
+ .db-tab-list > ul {
197
+ display: flex;
198
+ gap: var(--db-spacing-fixed-sm);
199
+ scroll-behavior: smooth;
200
+ padding: 0;
201
+ margin: 0;
202
+ }
@@ -0,0 +1,18 @@
1
+ @use "@db-ux/core-foundations/build/styles/variables";
2
+ @use "../../styles/internal/scrollbar";
3
+
4
+ .db-tab-list {
5
+ @extend %db-overwrite-font-size-md;
6
+
7
+ position: relative;
8
+
9
+ > ul {
10
+ @extend %scrollbar;
11
+
12
+ display: flex;
13
+ gap: variables.$db-spacing-fixed-sm;
14
+ scroll-behavior: smooth;
15
+ padding: 0;
16
+ margin: 0;
17
+ }
18
+ }
@@ -0,0 +1,10 @@
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
+ .db-tab-panel {
9
+ display: none;
10
+ }
@@ -0,0 +1,5 @@
1
+ @use "@db-ux/core-foundations/build/styles/variables";
2
+
3
+ .db-tab-panel {
4
+ display: none;
5
+ }
@@ -0,0 +1,358 @@
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
+ .db-visually-hidden,
10
+ [data-visually-hidden=true] {
11
+ clip: rect(0, 0, 0, 0) !important;
12
+ overflow: hidden !important;
13
+ white-space: nowrap !important;
14
+ font-size: 0 !important;
15
+ all: initial;
16
+ inset-block-start: 0 !important;
17
+ block-size: 1px !important;
18
+ position: absolute !important;
19
+ inline-size: 1px !important;
20
+ border-width: 0 !important;
21
+ border-style: initial !important;
22
+ border-color: initial !important;
23
+ border-image: initial !important;
24
+ padding: 0 !important;
25
+ pointer-events: none !important;
26
+ }
27
+
28
+ /**
29
+ Generates 3 types of placeholders, e.g:
30
+ - %db-component-variables-md
31
+ - %db-font-size-md
32
+ - %db-overwrite-font-size-md
33
+ */
34
+ .db-tabs .db-tab-item::after {
35
+ content: "";
36
+ position: absolute;
37
+ border-radius: var(--db-border-radius-xs);
38
+ }
39
+ @media screen and (prefers-reduced-motion: no-preference) {
40
+ .db-tabs .db-tab-item::after {
41
+ transition: height var(--db-transition-duration-fast) var(--db-transition-timing-emotional), width var(--db-transition-duration-fast) var(--db-transition-timing-emotional);
42
+ }
43
+ }
44
+
45
+ .db-tabs db-tab-list:has([id$=-tab-0]:checked) ~ dbtabpanel > [id$=-tab-panel-0],
46
+ .db-tabs db-tab-list:has([id$=-tab-0]:checked) ~ db-tab-panel > [id$=-tab-panel-0],
47
+ .db-tabs dbtablist:has([id$=-tab-0]:checked) ~ dbtabpanel > [id$=-tab-panel-0],
48
+ .db-tabs dbtablist:has([id$=-tab-0]:checked) ~ db-tab-panel > [id$=-tab-panel-0] {
49
+ display: block;
50
+ }
51
+ .db-tabs db-tab-list:has([id$=-tab-1]:checked) ~ dbtabpanel > [id$=-tab-panel-1],
52
+ .db-tabs db-tab-list:has([id$=-tab-1]:checked) ~ db-tab-panel > [id$=-tab-panel-1],
53
+ .db-tabs dbtablist:has([id$=-tab-1]:checked) ~ dbtabpanel > [id$=-tab-panel-1],
54
+ .db-tabs dbtablist:has([id$=-tab-1]:checked) ~ db-tab-panel > [id$=-tab-panel-1] {
55
+ display: block;
56
+ }
57
+ .db-tabs db-tab-list:has([id$=-tab-2]:checked) ~ dbtabpanel > [id$=-tab-panel-2],
58
+ .db-tabs db-tab-list:has([id$=-tab-2]:checked) ~ db-tab-panel > [id$=-tab-panel-2],
59
+ .db-tabs dbtablist:has([id$=-tab-2]:checked) ~ dbtabpanel > [id$=-tab-panel-2],
60
+ .db-tabs dbtablist:has([id$=-tab-2]:checked) ~ db-tab-panel > [id$=-tab-panel-2] {
61
+ display: block;
62
+ }
63
+ .db-tabs db-tab-list:has([id$=-tab-3]:checked) ~ dbtabpanel > [id$=-tab-panel-3],
64
+ .db-tabs db-tab-list:has([id$=-tab-3]:checked) ~ db-tab-panel > [id$=-tab-panel-3],
65
+ .db-tabs dbtablist:has([id$=-tab-3]:checked) ~ dbtabpanel > [id$=-tab-panel-3],
66
+ .db-tabs dbtablist:has([id$=-tab-3]:checked) ~ db-tab-panel > [id$=-tab-panel-3] {
67
+ display: block;
68
+ }
69
+ .db-tabs db-tab-list:has([id$=-tab-4]:checked) ~ dbtabpanel > [id$=-tab-panel-4],
70
+ .db-tabs db-tab-list:has([id$=-tab-4]:checked) ~ db-tab-panel > [id$=-tab-panel-4],
71
+ .db-tabs dbtablist:has([id$=-tab-4]:checked) ~ dbtabpanel > [id$=-tab-panel-4],
72
+ .db-tabs dbtablist:has([id$=-tab-4]:checked) ~ db-tab-panel > [id$=-tab-panel-4] {
73
+ display: block;
74
+ }
75
+ .db-tabs db-tab-list:has([id$=-tab-5]:checked) ~ dbtabpanel > [id$=-tab-panel-5],
76
+ .db-tabs db-tab-list:has([id$=-tab-5]:checked) ~ db-tab-panel > [id$=-tab-panel-5],
77
+ .db-tabs dbtablist:has([id$=-tab-5]:checked) ~ dbtabpanel > [id$=-tab-panel-5],
78
+ .db-tabs dbtablist:has([id$=-tab-5]:checked) ~ db-tab-panel > [id$=-tab-panel-5] {
79
+ display: block;
80
+ }
81
+ .db-tabs db-tab-list:has([id$=-tab-6]:checked) ~ dbtabpanel > [id$=-tab-panel-6],
82
+ .db-tabs db-tab-list:has([id$=-tab-6]:checked) ~ db-tab-panel > [id$=-tab-panel-6],
83
+ .db-tabs dbtablist:has([id$=-tab-6]:checked) ~ dbtabpanel > [id$=-tab-panel-6],
84
+ .db-tabs dbtablist:has([id$=-tab-6]:checked) ~ db-tab-panel > [id$=-tab-panel-6] {
85
+ display: block;
86
+ }
87
+ .db-tabs db-tab-list:has([id$=-tab-7]:checked) ~ dbtabpanel > [id$=-tab-panel-7],
88
+ .db-tabs db-tab-list:has([id$=-tab-7]:checked) ~ db-tab-panel > [id$=-tab-panel-7],
89
+ .db-tabs dbtablist:has([id$=-tab-7]:checked) ~ dbtabpanel > [id$=-tab-panel-7],
90
+ .db-tabs dbtablist:has([id$=-tab-7]:checked) ~ db-tab-panel > [id$=-tab-panel-7] {
91
+ display: block;
92
+ }
93
+ .db-tabs db-tab-list:has([id$=-tab-8]:checked) ~ dbtabpanel > [id$=-tab-panel-8],
94
+ .db-tabs db-tab-list:has([id$=-tab-8]:checked) ~ db-tab-panel > [id$=-tab-panel-8],
95
+ .db-tabs dbtablist:has([id$=-tab-8]:checked) ~ dbtabpanel > [id$=-tab-panel-8],
96
+ .db-tabs dbtablist:has([id$=-tab-8]:checked) ~ db-tab-panel > [id$=-tab-panel-8] {
97
+ display: block;
98
+ }
99
+ .db-tabs db-tab-list:has([id$=-tab-9]:checked) ~ dbtabpanel > [id$=-tab-panel-9],
100
+ .db-tabs db-tab-list:has([id$=-tab-9]:checked) ~ db-tab-panel > [id$=-tab-panel-9],
101
+ .db-tabs dbtablist:has([id$=-tab-9]:checked) ~ dbtabpanel > [id$=-tab-panel-9],
102
+ .db-tabs dbtablist:has([id$=-tab-9]:checked) ~ db-tab-panel > [id$=-tab-panel-9] {
103
+ display: block;
104
+ }
105
+ .db-tabs db-tab-list:has([id$=-tab-10]:checked) ~ dbtabpanel > [id$=-tab-panel-10],
106
+ .db-tabs db-tab-list:has([id$=-tab-10]:checked) ~ db-tab-panel > [id$=-tab-panel-10],
107
+ .db-tabs dbtablist:has([id$=-tab-10]:checked) ~ dbtabpanel > [id$=-tab-panel-10],
108
+ .db-tabs dbtablist:has([id$=-tab-10]:checked) ~ db-tab-panel > [id$=-tab-panel-10] {
109
+ display: block;
110
+ }
111
+
112
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul .db-tab-item::after {
113
+ block-size: var(--db-border-height-xs);
114
+ inline-size: 0;
115
+ transform: translate(-50%, 0);
116
+ inset-inline-start: 50%;
117
+ background-color: var(--db-brand-on-bg-basic-emphasis-70-default);
118
+ inset-block: auto calc(-1 * var(--db-spacing-fixed-xs));
119
+ }
120
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul .db-tab-item:has(input:checked)::after {
121
+ block-size: var(--db-border-height-xs);
122
+ inline-size: 100%;
123
+ }
124
+ @media (forced-colors: active) {
125
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul .db-tab-item:has(input:checked)::after {
126
+ border: calc(var(--db-border-height-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
127
+ }
128
+ }
129
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul .db-tab-item:has(input:checked)::after {
130
+ inset-block-end: calc(-1 * (var(--db-spacing-fixed-2xs) + var(--db-border-height-xs)));
131
+ }
132
+
133
+ .db-tabs[data-orientation=vertical] .db-tab-list > ul .db-tab-item::after {
134
+ block-size: 0;
135
+ inline-size: var(--db-border-height-xs);
136
+ transform: translate(0, -50%);
137
+ inset-block: 50% auto;
138
+ background-color: var(--db-brand-on-bg-basic-emphasis-70-default);
139
+ inset-inline-start: calc(-1 * var(--db-spacing-fixed-xs));
140
+ }
141
+ .db-tabs[data-orientation=vertical] .db-tab-list > ul .db-tab-item::after {
142
+ inset-inline-start: 0;
143
+ z-index: -2;
144
+ }
145
+ .db-tabs[data-orientation=vertical] .db-tab-list > ul .db-tab-item:has(input:checked)::after {
146
+ block-size: 100%;
147
+ inline-size: var(--db-border-height-xs);
148
+ }
149
+ @media (forced-colors: active) {
150
+ .db-tabs[data-orientation=vertical] .db-tab-list > ul .db-tab-item:has(input:checked)::after {
151
+ border: calc(var(--db-border-height-xs) - 1px) solid var(--db-adaptive-on-bg-basic-emphasis-100-default);
152
+ }
153
+ }
154
+
155
+ .db-tabs[data-orientation=vertical] .db-tab-list::before, .db-tabs:not([data-orientation=vertical]) .db-tab-list::before {
156
+ background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
157
+ content: "";
158
+ border-radius: var(--db-border-radius-xs);
159
+ position: absolute;
160
+ }
161
+
162
+ .db-tabs {
163
+ display: flex;
164
+ inline-size: 100%;
165
+ position: relative;
166
+ /*
167
+ Variant Orientation HORIZONTAL
168
+ */
169
+ /*
170
+ Variant Orientation VERTICAL
171
+ */
172
+ }
173
+ .db-tabs .db-tab-panel {
174
+ padding: 0 var(--db-spacing-fixed-xs);
175
+ }
176
+ .db-tabs .db-tab-list {
177
+ max-inline-size: 100%;
178
+ z-index: 20;
179
+ }
180
+ .db-tabs .db-tab-list:has([id$=-tab-0]:checked) ~ [id$=-tab-panel-0] {
181
+ display: block;
182
+ }
183
+ .db-tabs .db-tab-list:has([id$=-tab-1]:checked) ~ [id$=-tab-panel-1] {
184
+ display: block;
185
+ }
186
+ .db-tabs .db-tab-list:has([id$=-tab-2]:checked) ~ [id$=-tab-panel-2] {
187
+ display: block;
188
+ }
189
+ .db-tabs .db-tab-list:has([id$=-tab-3]:checked) ~ [id$=-tab-panel-3] {
190
+ display: block;
191
+ }
192
+ .db-tabs .db-tab-list:has([id$=-tab-4]:checked) ~ [id$=-tab-panel-4] {
193
+ display: block;
194
+ }
195
+ .db-tabs .db-tab-list:has([id$=-tab-5]:checked) ~ [id$=-tab-panel-5] {
196
+ display: block;
197
+ }
198
+ .db-tabs .db-tab-list:has([id$=-tab-6]:checked) ~ [id$=-tab-panel-6] {
199
+ display: block;
200
+ }
201
+ .db-tabs .db-tab-list:has([id$=-tab-7]:checked) ~ [id$=-tab-panel-7] {
202
+ display: block;
203
+ }
204
+ .db-tabs .db-tab-list:has([id$=-tab-8]:checked) ~ [id$=-tab-panel-8] {
205
+ display: block;
206
+ }
207
+ .db-tabs .db-tab-list:has([id$=-tab-9]:checked) ~ [id$=-tab-panel-9] {
208
+ display: block;
209
+ }
210
+ .db-tabs .db-tab-list:has([id$=-tab-10]:checked) ~ [id$=-tab-panel-10] {
211
+ display: block;
212
+ }
213
+ .db-tabs:not([data-orientation=vertical]) {
214
+ flex-flow: column wrap;
215
+ }
216
+ .db-tabs:not([data-orientation=vertical]) .db-tab-panel {
217
+ inline-size: 100%;
218
+ }
219
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list {
220
+ /* horizontal track for pulse */
221
+ }
222
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list::before {
223
+ block-size: var(--db-border-height-xs);
224
+ inset-inline: var(--db-spacing-fixed-xs);
225
+ /* top position equals sum of: margin xs + padding xs + line-height + padding xs + margin 2xs */
226
+ inset-block-start: calc(3 * var(--db-spacing-fixed-xs) + var(--db-spacing-fixed-2xs) + calc(var(--db-base-font-size) * var(--db-base-line-height)));
227
+ }
228
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul {
229
+ overflow: auto hidden;
230
+ inline-size: 100%;
231
+ }
232
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul .db-tab-item {
233
+ margin-block: var(--db-spacing-fixed-xs) calc(2 * var(--db-spacing-fixed-2xs) + var(--db-border-height-xs));
234
+ }
235
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul db-tab-item:first-of-type .db-tab-item,
236
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul dbtabitem:first-of-type .db-tab-item {
237
+ margin-inline-start: var(--db-spacing-fixed-xs);
238
+ }
239
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul db-tab-item:last-of-type .db-tab-item,
240
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul dbtabitem:last-of-type .db-tab-item {
241
+ margin-inline-end: var(--db-spacing-fixed-xs);
242
+ }
243
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul:not(:has(db-tab-item, dbtabitem)) .db-tab-item:first-of-type {
244
+ margin-inline-start: var(--db-spacing-fixed-xs);
245
+ }
246
+ .db-tabs:not([data-orientation=vertical]) .db-tab-list > ul:not(:has(db-tab-item, dbtabitem)) .db-tab-item:last-of-type {
247
+ margin-inline-end: var(--db-spacing-fixed-xs);
248
+ }
249
+ .db-tabs[data-orientation=vertical] {
250
+ flex-direction: row;
251
+ }
252
+ .db-tabs[data-orientation=vertical] .db-tab-panel {
253
+ padding: var(--db-spacing-fixed-xs) 0;
254
+ }
255
+ .db-tabs[data-orientation=vertical] .db-tab-list {
256
+ /*
257
+ min and nominal size must both be set to ensure
258
+ - min-inline-size: tab-list is not displayed narrower than defined
259
+ - max-inline-size: tab-list is not displayed wider than defined
260
+ */
261
+ min-inline-size: var(--db-tab-list-vertical-width, var(--db-sizing-3xl));
262
+ max-inline-size: var(--db-tab-list-vertical-width, var(--db-sizing-3xl));
263
+ /* horizontal space to the tab panels */
264
+ padding-inline-end: var(--db-spacing-fixed-xs);
265
+ /* ensures that tab-list (track) is only as high as all the tab-items together if open tab-panel is higher */
266
+ margin-block-end: auto;
267
+ /* vertical track for pulse */
268
+ }
269
+ .db-tabs[data-orientation=vertical] .db-tab-list .db-tab-item label {
270
+ position: relative;
271
+ }
272
+ .db-tabs[data-orientation=vertical] .db-tab-list .db-tab-item:has(input:focus-visible), .db-tabs[data-orientation=vertical] .db-tab-list .db-tab-item:hover {
273
+ inline-size: fit-content;
274
+ }
275
+ .db-tabs[data-orientation=vertical] .db-tab-list .db-tab-item:has(input:focus-visible) label, .db-tabs[data-orientation=vertical] .db-tab-list .db-tab-item:hover label {
276
+ overflow: visible;
277
+ }
278
+ .db-tabs[data-orientation=vertical] .db-tab-list::before {
279
+ inline-size: var(--db-border-height-xs);
280
+ inset-block: var(--db-spacing-fixed-xs);
281
+ inset-inline-start: 0;
282
+ }
283
+ .db-tabs[data-orientation=vertical] .db-tab-list > ul {
284
+ flex-direction: column;
285
+ block-size: 100%;
286
+ }
287
+ .db-tabs[data-orientation=vertical] .db-tab-list > ul:not(:has(db-tab-item, dbtabitem)) .db-tab-item:first-of-type {
288
+ margin-block-start: var(--db-spacing-fixed-xs);
289
+ }
290
+ .db-tabs[data-orientation=vertical] .db-tab-list > ul:not(:has(db-tab-item, dbtabitem)) .db-tab-item:last-of-type {
291
+ margin-block-end: var(--db-spacing-fixed-xs);
292
+ }
293
+ .db-tabs[data-orientation=vertical] .db-tab-item {
294
+ padding-inline-start: calc(var(--db-border-height-xs) + var(--db-spacing-fixed-2xs));
295
+ }
296
+ .db-tabs[data-orientation=vertical] .db-tab-item input {
297
+ padding-inline-start: calc(var(--db-border-height-xs) + var(--db-spacing-fixed-2xs));
298
+ }
299
+ .db-tabs[data-orientation=vertical] db-tab-item:first-of-type .db-tab-item,
300
+ .db-tabs[data-orientation=vertical] dbtabitem:first-of-type .db-tab-item {
301
+ margin-block-start: var(--db-spacing-fixed-xs);
302
+ }
303
+ .db-tabs[data-orientation=vertical] db-tab-item:last-of-type .db-tab-item,
304
+ .db-tabs[data-orientation=vertical] dbtabitem:last-of-type .db-tab-item {
305
+ margin-block-end: var(--db-spacing-fixed-xs);
306
+ }
307
+ .db-tabs[data-width=full] .db-tab-list {
308
+ inline-size: 100%;
309
+ }
310
+ .db-tabs[data-width=full] .db-tab-item,
311
+ .db-tabs[data-width=full] .db-tab-item label {
312
+ inline-size: 100%;
313
+ }
314
+ .db-tabs[data-width=full][data-alignment=center] .db-tab-item label {
315
+ text-align: center;
316
+ justify-content: center;
317
+ }
318
+ .db-tabs[data-scroll-behavior=arrows] {
319
+ /*
320
+ * Scroll left / right buttons
321
+ */
322
+ }
323
+ .db-tabs[data-scroll-behavior=arrows] .db-tab-list > ul::-webkit-scrollbar {
324
+ display: none;
325
+ }
326
+ .db-tabs[data-scroll-behavior=arrows]:has(.tabs-scroll-left)::before {
327
+ content: "";
328
+ }
329
+ .db-tabs[data-scroll-behavior=arrows]:has(.tabs-scroll-right)::after {
330
+ content: "";
331
+ }
332
+ .db-tabs[data-scroll-behavior=arrows]:has(.db-button)::before, .db-tabs[data-scroll-behavior=arrows]:has(.db-button)::after {
333
+ position: absolute;
334
+ z-index: 21;
335
+ background-color: var(--db-adaptive-bg-basic-level-1-default);
336
+ inline-size: var(--db-sizing-md);
337
+ block-size: calc(var(--db-spacing-fixed-sm) + var(--db-sizing-md));
338
+ flex: 0 0 auto;
339
+ }
340
+ .db-tabs[data-scroll-behavior=arrows]:has(.db-button)::before {
341
+ inset-inline-start: 0;
342
+ }
343
+ .db-tabs[data-scroll-behavior=arrows]:has(.db-button)::after {
344
+ inset-inline-end: 0;
345
+ }
346
+ .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-left > .db-button, .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-left:is(.db-button) {
347
+ inset-inline-start: 0;
348
+ }
349
+ .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-right > .db-button, .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-right:is(.db-button) {
350
+ inset-inline-end: 0;
351
+ }
352
+ .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-left > .db-button, .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-left:is(.db-button),
353
+ .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-right > .db-button,
354
+ .db-tabs[data-scroll-behavior=arrows] .tabs-scroll-right:is(.db-button) {
355
+ position: absolute;
356
+ z-index: 22;
357
+ inset-block: var(--db-spacing-fixed-xs);
358
+ }