@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,213 @@
1
+ @use "@db-ux/core-foundations/build/styles/variables";
2
+ @use "@db-ux/core-foundations/build/styles/colors";
3
+ @use "@db-ux/core-foundations/build/styles/animation";
4
+ @use "component";
5
+
6
+ $popover-gap-size: var(--db-popover-distance);
7
+ $popover-inset: calc(100% + #{$popover-gap-size} * var(--db-popover-gap, 0));
8
+ $popover-gap-inset: calc(-1 * #{$popover-gap-size});
9
+
10
+ %popover-center {
11
+ &:not([data-placement]),
12
+ &[data-placement="bottom"]:not([data-outside-vy]),
13
+ &[data-placement="top"]:not([data-outside-vy]),
14
+ &:is([data-outside-vy="bottom"], [data-outside-vy="top"]):not(
15
+ [data-outside-vx],
16
+ [data-placement$="end"],
17
+ [data-placement$="start"]
18
+ ) {
19
+ --db-popover-center-x: -50%;
20
+
21
+ inset-inline-start: 50%;
22
+ }
23
+
24
+ &[data-placement="left"]:not([data-outside-vx]),
25
+ &[data-placement="right"]:not([data-outside-vx]),
26
+ &[data-outside-vx="left"]:not(
27
+ [data-placement$="end"],
28
+ [data-placement$="start"]
29
+ ),
30
+ &[data-outside-vx="right"]:not(
31
+ [data-placement$="end"],
32
+ [data-placement$="start"]
33
+ ) {
34
+ --db-popover-center-y: -50%;
35
+
36
+ inset-block-start: 50%;
37
+ }
38
+ }
39
+
40
+ %popover-placement {
41
+ --db-popover-distance: #{variables.$db-spacing-fixed-2xs};
42
+
43
+ // This pseudo-content is used to bridge the visible vertical offset in between the element that it triggering the tooltip and the tooltip itself
44
+ &::before {
45
+ content: "";
46
+ position: absolute;
47
+ }
48
+
49
+ &[data-gap="true"] {
50
+ --db-popover-gap: 1;
51
+ --db-popover-distance: #{variables.$db-spacing-fixed-md};
52
+ }
53
+
54
+ &:is(.db-tooltip) {
55
+ --db-popover-distance: #{variables.$db-spacing-fixed-sm};
56
+ }
57
+
58
+ &[data-placement^="bottom"]:not([data-outside-vy]),
59
+ &[data-placement^="top"]:not([data-outside-vy]),
60
+ &[data-outside-vy="bottom"]:not([data-outside-vx]),
61
+ &[data-outside-vy="top"]:not([data-outside-vx]) {
62
+ &[data-placement$="end"] {
63
+ inset-inline-end: 0;
64
+ }
65
+
66
+ &[data-placement$="start"] {
67
+ inset-inline-start: 0;
68
+ }
69
+ }
70
+
71
+ &[data-placement^="left"]:not([data-outside-vx]),
72
+ &[data-placement^="right"]:not([data-outside-vx]),
73
+ &[data-outside-vx="left"],
74
+ &[data-outside-vx="right"] {
75
+ &[data-placement$="end"] {
76
+ inset-block-end: 0;
77
+ }
78
+
79
+ &[data-placement$="start"] {
80
+ inset-block-start: 0;
81
+ }
82
+ }
83
+
84
+ &:not([data-placement], [data-outside-vy]),
85
+ &[data-placement^="bottom"]:not([data-outside-vy]),
86
+ &[data-outside-vy="top"]:not([data-outside-vx]) {
87
+ inset-block-start: $popover-inset;
88
+
89
+ &::before {
90
+ inset-inline-start: 0;
91
+ inline-size: 100%;
92
+ block-size: $popover-gap-size;
93
+ inset-block-start: $popover-gap-inset;
94
+ }
95
+ }
96
+
97
+ &[data-placement^="top"]:not([data-outside-vy]),
98
+ &[data-outside-vy="bottom"]:not([data-outside-vx]) {
99
+ inset-block-end: $popover-inset;
100
+
101
+ &::before {
102
+ inset-inline-end: 0;
103
+ inline-size: 100%;
104
+ block-size: $popover-gap-size;
105
+ inset-block-end: $popover-gap-inset;
106
+ }
107
+ }
108
+
109
+ &[data-placement^="left"]:not([data-outside-vx]),
110
+ &[data-outside-vx="right"] {
111
+ inset-inline-end: $popover-inset;
112
+
113
+ &::before {
114
+ inset-block-end: 0;
115
+ block-size: 100%;
116
+ inline-size: $popover-gap-size;
117
+ inset-inline-end: $popover-gap-inset;
118
+ }
119
+ }
120
+
121
+ &[data-placement^="right"]:not([data-outside-vx]),
122
+ &[data-outside-vx="left"] {
123
+ inset-inline-start: $popover-inset;
124
+
125
+ &::before {
126
+ inset-block-start: 0;
127
+ block-size: 100%;
128
+ inline-size: $popover-gap-size;
129
+ inset-inline-start: $popover-gap-inset;
130
+ }
131
+ }
132
+ }
133
+
134
+ @mixin get-popover-show() {
135
+ &:not([data-animation]),
136
+ &[data-animation="false"] {
137
+ opacity: 1;
138
+ transform: translate(
139
+ var(--db-popover-center-x, 0),
140
+ var(--db-popover-center-y, 0)
141
+ );
142
+ }
143
+
144
+ @media screen and (prefers-reduced-motion: no-preference) {
145
+ &[data-animation="true"] {
146
+ animation: popover-animation
147
+ #{variables.$db-transition-straight-emotional} normal both;
148
+
149
+ &[data-delay="slow"] {
150
+ animation-delay: variables.$db-transition-duration-fast;
151
+ }
152
+
153
+ &[data-delay="fast"] {
154
+ animation-delay: calc(
155
+ #{variables.$db-transition-duration-fast} / 2
156
+ );
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ %show-popover {
163
+ display: revert;
164
+
165
+ &:not([data-placement], [data-outside-vy]),
166
+ &[data-placement^="bottom"]:not([data-outside-vy]),
167
+ &[data-outside-vy="top"]:not([data-outside-vx]) {
168
+ --db-popover-translate-y: -25%;
169
+
170
+ @include get-popover-show();
171
+ }
172
+
173
+ &[data-placement^="top"]:not([data-outside-vy]),
174
+ &[data-outside-vy="bottom"]:not([data-outside-vx]) {
175
+ --db-popover-translate-y: 25%;
176
+
177
+ @include get-popover-show();
178
+ }
179
+
180
+ &[data-placement^="right"]:not([data-outside-vx]),
181
+ &[data-outside-vx="left"] {
182
+ --db-popover-translate-x: -25%;
183
+
184
+ @include get-popover-show();
185
+ }
186
+
187
+ &[data-placement^="left"]:not([data-outside-vx]),
188
+ &[data-outside-vx="right"] {
189
+ --db-popover-translate-x: 25%;
190
+
191
+ @include get-popover-show();
192
+ }
193
+ }
194
+
195
+ %default-popover {
196
+ @extend %default-card;
197
+ @extend %popover-placement;
198
+
199
+ position: absolute;
200
+ background-color: colors.$db-adaptive-bg-basic-level-1-default;
201
+ box-shadow: variables.$db-elevation-md;
202
+ display: none;
203
+ z-index: 1;
204
+ white-space: nowrap;
205
+
206
+ &[data-width="fixed"] {
207
+ inline-size: max-content;
208
+ max-inline-size: variables.$db-sizing-3xl;
209
+ // revert this if popover is included in button
210
+ white-space: normal;
211
+ text-align: initial;
212
+ }
213
+ }
@@ -0,0 +1,93 @@
1
+ @use "@db-ux/core-foundations/build/styles/variables";
2
+ @use "@db-ux/core-foundations/build/styles/colors";
3
+ @use "@db-ux/core-foundations/build/styles/helpers";
4
+ @use "@db-ux/core-foundations/build/styles/animation";
5
+ @use "./form-components";
6
+
7
+ $scrollbar-width: helpers.px-to-rem(8);
8
+
9
+ %scrollbar {
10
+ &::-webkit-scrollbar {
11
+ @extend %default-transition;
12
+
13
+ z-index: 3;
14
+ inline-size: $scrollbar-width;
15
+ block-size: $scrollbar-width;
16
+ background-color: colors.$db-adaptive-bg-basic-level-1-default;
17
+ border-start-end-radius: variables.$db-border-radius-xs;
18
+ }
19
+
20
+ &:is(:hover, :focus) {
21
+ &::-webkit-scrollbar-track,
22
+ &::-webkit-scrollbar-button:single-button {
23
+ background-color: colors.$db-adaptive-bg-basic-transparent-hovered;
24
+ }
25
+ }
26
+
27
+ &:read-only {
28
+ &::-webkit-scrollbar-track,
29
+ &::-webkit-scrollbar-button:single-button {
30
+ background-color: colors.$db-adaptive-bg-basic-level-1-default !important;
31
+ }
32
+ }
33
+
34
+ &::-webkit-scrollbar-track {
35
+ background-color: colors.$db-adaptive-bg-basic-transparent-semi-default;
36
+ }
37
+
38
+ &::-webkit-scrollbar-thumb {
39
+ background-color: colors.$db-adaptive-bg-basic-transparent-pressed;
40
+ }
41
+
42
+ /* Buttons */
43
+ &::-webkit-scrollbar-button:single-button {
44
+ background-color: colors.$db-adaptive-bg-basic-transparent-semi-default;
45
+ background-size: $scrollbar-width;
46
+ background-repeat: no-repeat;
47
+ background-position: center;
48
+ block-size: form-components.$floating-label-size-calc;
49
+
50
+ &:is(:hover, :focus) {
51
+ background-color: colors.$db-adaptive-bg-basic-transparent-hovered;
52
+ }
53
+
54
+ &:active {
55
+ background-color: colors.$db-adaptive-bg-basic-transparent-pressed;
56
+ }
57
+ }
58
+
59
+ /* Up */
60
+ &::-webkit-scrollbar-button:single-button:vertical:decrement {
61
+ background-image: var(--db-textarea-scrollbar-button-decrement);
62
+ }
63
+
64
+ /* Down */
65
+ &::-webkit-scrollbar-button:single-button:vertical:increment {
66
+ background-image: var(--db-textarea-scrollbar-button-increment);
67
+ }
68
+
69
+ &[data-variant="floating"] {
70
+ &::-webkit-resizer {
71
+ background-color: colors.$db-adaptive-bg-basic-transparent-semi-default;
72
+ }
73
+
74
+ &::-webkit-scrollbar-corner {
75
+ background-color: colors.$db-adaptive-bg-basic-level-1-default;
76
+ }
77
+ }
78
+
79
+ &::-webkit-resizer {
80
+ background-color: colors.$db-adaptive-bg-basic-transparent-full-default;
81
+ background-size: $scrollbar-width;
82
+ background-repeat: no-repeat;
83
+ background-position: center;
84
+ background-image: var(--db-textarea-resizer-image);
85
+ border-end-end-radius: variables.$db-border-radius-xs;
86
+ }
87
+
88
+ &::-webkit-scrollbar-corner {
89
+ @extend %default-transition;
90
+
91
+ border-end-end-radius: variables.$db-border-radius-xs;
92
+ }
93
+ }
@@ -0,0 +1,104 @@
1
+ @use "sass:list";
2
+ @use "@db-ux/core-foundations/build/styles/variables";
3
+ @use "@db-ux/core-foundations/build/styles/helpers";
4
+ @use "custom-elements";
5
+
6
+ $stack-gaps: (
7
+ "3x-small": variables.$db-spacing-fixed-3xs,
8
+ "2x-small": variables.$db-spacing-fixed-2xs,
9
+ "x-small": variables.$db-spacing-fixed-xs,
10
+ "small": variables.$db-spacing-fixed-sm,
11
+ "medium": variables.$db-spacing-fixed-md,
12
+ "large": variables.$db-spacing-fixed-lg,
13
+ "x-large": variables.$db-spacing-fixed-xl,
14
+ "2x-large": variables.$db-spacing-fixed-2xl,
15
+ "3x-large": variables.$db-spacing-fixed-3xl,
16
+ "none": 0
17
+ );
18
+
19
+ @function arr-join($list, $glue: ", ") {
20
+ $result: null;
21
+
22
+ @for $i from 1 through list.length($list) {
23
+ $e: list.nth($list, $i);
24
+ $result: if(
25
+ $i != list.length($list),
26
+ $result#{$e}#{$glue},
27
+ $result#{$e}
28
+ );
29
+ }
30
+
31
+ @return $result;
32
+ }
33
+
34
+ @mixin get-stack-alignments() {
35
+ &[data-alignment="stretch"] {
36
+ align-items: stretch;
37
+ }
38
+
39
+ &[data-alignment="start"] {
40
+ align-items: flex-start;
41
+ }
42
+
43
+ &[data-alignment="end"] {
44
+ align-items: flex-end;
45
+ }
46
+
47
+ &[data-alignment="center"] {
48
+ align-items: center;
49
+ }
50
+ }
51
+
52
+ @mixin get-stack-justify-contents() {
53
+ &[data-justify-content="start"] {
54
+ justify-content: flex-start;
55
+ }
56
+
57
+ &[data-justify-content="end"] {
58
+ justify-content: flex-end;
59
+ }
60
+
61
+ &[data-justify-content="center"] {
62
+ justify-content: center;
63
+ }
64
+
65
+ &[data-justify-content="space-between"] {
66
+ justify-content: space-between;
67
+ }
68
+ }
69
+
70
+ %default-stack {
71
+ display: flex;
72
+ gap: variables.$db-spacing-fixed-sm;
73
+ justify-content: flex-start;
74
+ block-size: 100%;
75
+ inline-size: 100%;
76
+ overflow: auto;
77
+
78
+ &:is([data-direction="column"], :not([data-direction])) {
79
+ flex-direction: column;
80
+ }
81
+
82
+ > .db-divider,
83
+ > db-divider > .db-divider {
84
+ margin: 0;
85
+ }
86
+
87
+ &[data-direction="row"] {
88
+ flex-direction: row;
89
+ }
90
+
91
+ &[data-wrap="true"] {
92
+ flex-wrap: wrap;
93
+ }
94
+
95
+ @include get-stack-alignments();
96
+ @include get-stack-justify-contents();
97
+
98
+ @each $name, $gap in $stack-gaps {
99
+ &[data-gap="#{$name}"] {
100
+ /* stylelint-disable-next-line db-ux/use-spacings */
101
+ gap: #{$gap};
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,234 @@
1
+ @use "sass:map";
2
+ @use "component";
3
+ @use "@db-ux/core-foundations/build/styles/variables";
4
+ @use "@db-ux/core-foundations/build/styles/colors";
5
+ @use "@db-ux/core-foundations/build/styles/helpers";
6
+
7
+ $interactive-selectors: "label, button:not(.db-tab-remove-button), a";
8
+
9
+ %set-adaptive-weak-tag {
10
+ border-color: colors.$db-adaptive-on-bg-basic-emphasis-60-default;
11
+
12
+ @include colors.set-current-colors(
13
+ colors.$db-adaptive-bg-basic-level-1-default,
14
+ colors.$db-adaptive-on-bg-basic-emphasis-80-default
15
+ );
16
+ }
17
+
18
+ %set-adaptive-strong-tag {
19
+ border-color: colors.$db-adaptive-on-bg-basic-emphasis-80-default;
20
+
21
+ @include colors.set-current-colors(
22
+ colors.$db-adaptive-bg-inverted-contrast-high-default,
23
+ colors.$db-adaptive-on-bg-inverted-default
24
+ );
25
+ }
26
+
27
+ %set-adaptive-origin-tag {
28
+ border-color: colors.$db-adaptive-on-bg-basic-emphasis-70-default;
29
+
30
+ @include colors.set-current-colors(
31
+ colors.$db-adaptive-origin-default,
32
+ colors.$db-adaptive-on-origin-default
33
+ );
34
+ }
35
+
36
+ %set-interactive-weak {
37
+ @extend %set-adaptive-weak-tag;
38
+
39
+ @include helpers.hover {
40
+ background-color: colors.$db-adaptive-bg-basic-level-1-hovered;
41
+ }
42
+
43
+ @include helpers.active {
44
+ background-color: colors.$db-adaptive-bg-basic-level-1-pressed;
45
+ }
46
+ }
47
+
48
+ %set-interactive-strong {
49
+ @extend %set-adaptive-strong-tag;
50
+
51
+ @include helpers.hover {
52
+ background-color: colors.$db-adaptive-bg-inverted-contrast-high-hovered;
53
+ }
54
+
55
+ @include helpers.active {
56
+ background-color: colors.$db-adaptive-bg-inverted-contrast-high-pressed;
57
+ }
58
+ }
59
+
60
+ %set-interactive-origin {
61
+ @extend %set-adaptive-origin-tag;
62
+
63
+ @include helpers.hover {
64
+ background-color: colors.$db-adaptive-origin-hovered;
65
+ }
66
+
67
+ @include helpers.active {
68
+ background-color: colors.$db-adaptive-origin-pressed;
69
+ }
70
+ }
71
+
72
+ @mixin get-tag-colors() {
73
+ @extend %set-adaptive-weak-tag;
74
+
75
+ &[data-emphasis="strong"] {
76
+ @extend %set-adaptive-strong-tag;
77
+ }
78
+
79
+ &[data-emphasis="origin"] {
80
+ @extend %set-adaptive-origin-tag;
81
+ }
82
+
83
+ @each $name in colors.$variant-colors {
84
+ &[data-semantic="#{$name}"] {
85
+ border-color: var(--db-#{$name}-on-bg-basic-emphasis-60-default);
86
+
87
+ @include colors.set-current-colors(
88
+ var(--db-#{$name}-bg-basic-level-1-default),
89
+ var(--db-#{$name}-on-bg-basic-emphasis-80-default)
90
+ );
91
+
92
+ &[data-emphasis="strong"] {
93
+ border-color: var(
94
+ --db-#{$name}-on-bg-basic-emphasis-80-default
95
+ );
96
+
97
+ @include colors.set-current-colors(
98
+ var(--db-#{$name}-bg-inverted-contrast-high-default),
99
+ var(--db-#{$name}-on-bg-inverted-default)
100
+ );
101
+ }
102
+
103
+ &[data-emphasis="origin"] {
104
+ border-color: var(
105
+ --db-#{$name}-on-bg-basic-emphasis-70-default
106
+ );
107
+
108
+ @include colors.set-current-colors(
109
+ var(--db-#{$name}-origin-default),
110
+ var(--db-#{$name}-on-origin-default)
111
+ );
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ // get button and link tags
118
+ @mixin get-interactive-selectors() {
119
+ &:not(:has(dbbutton)) button:not(.db-tab-remove-button),
120
+ dbbutton:not(.db-tab-remove-button) > button,
121
+ db-button > button,
122
+ a {
123
+ @content;
124
+ }
125
+ }
126
+
127
+ %set-interactive-strong {
128
+ @extend %set-adaptive-strong-tag;
129
+
130
+ @include helpers.hover {
131
+ background-color: colors.$db-adaptive-bg-inverted-contrast-high-hovered;
132
+ // TODO: will be changed in the future tag refactoring
133
+ /* stylelint-disable-next-line db-ux/use-border-color */
134
+ border-color: colors.$db-adaptive-bg-inverted-contrast-high-hovered;
135
+ }
136
+
137
+ @include helpers.active {
138
+ background-color: colors.$db-adaptive-bg-inverted-contrast-high-pressed;
139
+ // TODO: will be changed in the future tag refactoring
140
+ /* stylelint-disable-next-line db-ux/use-border-color */
141
+ border-color: colors.$db-adaptive-bg-inverted-contrast-high-pressed;
142
+ }
143
+ }
144
+
145
+ @mixin revert-db-components() {
146
+ input:checked {
147
+ background-color: transparent;
148
+
149
+ @include helpers.hover {
150
+ background-color: transparent;
151
+ }
152
+
153
+ @include helpers.active {
154
+ background-color: transparent;
155
+ }
156
+ }
157
+ }
158
+
159
+ @mixin get-tag-colors-interactive() {
160
+ @include revert-db-components;
161
+
162
+ // overwrite current variables for semantic color
163
+ @each $name in colors.$variant-colors {
164
+ &[data-semantic="#{$name}"] {
165
+ @extend %db-#{$name}-variables;
166
+ }
167
+ }
168
+
169
+ &:not([data-emphasis]),
170
+ &[data-emphasis="weak"] {
171
+ // buttons and links
172
+ @include get-interactive-selectors() {
173
+ @extend %set-interactive-weak;
174
+ }
175
+
176
+ label:has(input) {
177
+ @extend %set-interactive-weak;
178
+ }
179
+
180
+ label:has(input[type="checkbox"]:checked) {
181
+ @extend %set-interactive-strong;
182
+ }
183
+
184
+ // radio (checked) without hover/pressed
185
+ label:has(input[type="radio"]:checked) {
186
+ &,
187
+ &:is(:hover, :focus, :active) {
188
+ @extend %set-adaptive-strong-tag;
189
+ }
190
+ }
191
+ }
192
+
193
+ &[data-emphasis="strong"] {
194
+ @extend %set-interactive-strong;
195
+
196
+ // buttons and links
197
+ @include get-interactive-selectors() {
198
+ @extend %set-interactive-strong;
199
+ }
200
+
201
+ label:has(input[type="checkbox"]:checked) {
202
+ @extend %set-interactive-strong;
203
+ }
204
+
205
+ label:has(input[type="radio"]:checked) {
206
+ @extend %set-adaptive-strong-tag;
207
+ }
208
+
209
+ &:has(input):not(:has(input:checked)) {
210
+ @extend %set-interactive-weak;
211
+ }
212
+ }
213
+
214
+ &[data-emphasis="origin"] {
215
+ @extend %set-interactive-origin;
216
+
217
+ // buttons and links
218
+ @include get-interactive-selectors() {
219
+ @extend %set-interactive-origin;
220
+ }
221
+
222
+ label:has(input[type="checkbox"]:checked) {
223
+ @extend %set-interactive-origin;
224
+ }
225
+
226
+ label:has(input[type="radio"]:checked) {
227
+ @extend %set-adaptive-origin-tag;
228
+ }
229
+
230
+ &:has(input):not(:has(input:checked)) {
231
+ @extend %set-interactive-weak;
232
+ }
233
+ }
234
+ }