@db-ux/core-components 4.12.1 → 4.13.0-shell-f221975

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/agent/Best-Practise_Common-AI-Mistakes.md +3 -3
  3. package/build/components/accordion/accordion.css +13 -6
  4. package/build/components/accordion-item/accordion-item.css +6 -11
  5. package/build/components/badge/badge.css +1 -1
  6. package/build/components/badge/badge.scss +1 -1
  7. package/build/components/button/button.css +0 -8
  8. package/build/components/button/button.scss +0 -11
  9. package/build/components/checkbox/checkbox.css +6 -11
  10. package/build/components/control-panel-brand/control-panel-brand.css +53 -0
  11. package/build/components/control-panel-brand/control-panel-brand.scss +48 -0
  12. package/build/components/control-panel-desktop/control-panel-desktop.css +579 -0
  13. package/build/components/control-panel-desktop/control-panel-desktop.scss +30 -0
  14. package/build/components/control-panel-flat-icon/control-panel-flat-icon.css +258 -0
  15. package/build/components/control-panel-flat-icon/control-panel-flat-icon.scss +239 -0
  16. package/build/components/control-panel-meta/control-panel-meta.css +14 -0
  17. package/build/components/control-panel-meta/control-panel-meta.scss +15 -0
  18. package/build/components/control-panel-mobile/control-panel-mobile.css +438 -0
  19. package/build/components/control-panel-mobile/control-panel-mobile.scss +116 -0
  20. package/build/components/control-panel-navigation/control-panel-navigation.css +390 -0
  21. package/build/components/control-panel-navigation/control-panel-navigation.scss +186 -0
  22. package/build/components/control-panel-navigation-item/control-panel-navigation-item.css +87 -0
  23. package/build/components/control-panel-navigation-item/control-panel-navigation-item.scss +39 -0
  24. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-popover.css +21 -0
  25. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-popover.scss +125 -0
  26. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-tree.css +35 -0
  27. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group-menu-tree.scss +36 -0
  28. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group.css +158 -0
  29. package/build/components/control-panel-navigation-item-group/control-panel-navigation-item-group.scss +80 -0
  30. package/build/components/control-panel-primary-actions/control-panel-primary-actions.css +12 -0
  31. package/build/components/control-panel-primary-actions/control-panel-primary-actions.scss +7 -0
  32. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.css +12 -0
  33. package/build/components/control-panel-secondary-actions/control-panel-secondary-actions.scss +7 -0
  34. package/build/components/control-panel-skip-navigation/control-panel-skip-navigation.css +23 -0
  35. package/build/components/control-panel-skip-navigation/control-panel-skip-navigation.scss +25 -0
  36. package/build/components/custom-button/custom-button.css +11 -19
  37. package/build/components/custom-select/custom-select.css +17 -16
  38. package/build/components/custom-select/custom-select.scss +1 -1
  39. package/build/components/custom-select-dropdown/custom-select-dropdown.css +39 -26
  40. package/build/components/custom-select-form-field/custom-select-form-field.css +6 -11
  41. package/build/components/custom-select-list/custom-select-list.css +6 -11
  42. package/build/components/custom-select-list-item/custom-select-list-item.css +24 -19
  43. package/build/components/divider/divider.css +18 -8
  44. package/build/components/drawer/drawer.css +78 -156
  45. package/build/components/drawer/drawer.scss +124 -167
  46. package/build/components/drawer-footer/drawer-footer.css +34 -0
  47. package/build/components/drawer-footer/drawer-footer.scss +11 -0
  48. package/build/components/drawer-header/drawer-header.css +38 -0
  49. package/build/components/drawer-header/drawer-header.scss +17 -0
  50. package/build/components/input/input.css +6 -11
  51. package/build/components/link/link.css +7 -1
  52. package/build/components/notification/notification.css +7 -1
  53. package/build/components/radio/radio.css +6 -11
  54. package/build/components/select/select.css +6 -11
  55. package/build/components/shell/shell-desktop.css +475 -0
  56. package/build/components/shell/shell-desktop.scss +105 -0
  57. package/build/components/shell/shell-mobile.css +441 -0
  58. package/build/components/shell/shell-mobile.scss +148 -0
  59. package/build/components/shell/shell.css +1670 -0
  60. package/build/components/shell/shell.scss +70 -0
  61. package/build/components/shell-content/shell-content.css +31 -0
  62. package/build/components/shell-content/shell-content.scss +49 -0
  63. package/build/components/shell-sub-navigation/shell-sub-navigation.css +51 -0
  64. package/build/components/shell-sub-navigation/shell-sub-navigation.scss +184 -0
  65. package/build/components/stack/stack-web-component.css +1 -0
  66. package/build/components/stack/stack.css +1 -0
  67. package/build/components/switch/switch.css +6 -11
  68. package/build/components/tab-item/tab-item.css +6 -11
  69. package/build/components/tab-item/tab-item.scss +0 -1
  70. package/build/components/tab-list/tab-list.css +6 -11
  71. package/build/components/table/table.css +6 -11
  72. package/build/components/tabs/tabs.css +55 -39
  73. package/build/components/tabs/tabs.scss +25 -70
  74. package/build/components/tag/tag.css +5 -10
  75. package/build/components/tag/tag.scss +1 -5
  76. package/build/components/textarea/textarea.css +6 -11
  77. package/build/styles/absolute.css +7 -7
  78. package/build/styles/bundle.css +7 -7
  79. package/build/styles/index.css +6 -6
  80. package/build/styles/index.scss +16 -5
  81. package/build/styles/internal/_component.scss +4 -0
  82. package/build/styles/internal/_control-panel-actions.scss +11 -0
  83. package/build/styles/internal/_control-panel-desktop.scss +412 -0
  84. package/build/styles/internal/_control-panel-mobile.scss +107 -0
  85. package/build/styles/internal/_custom-elements.scss +31 -7
  86. package/build/styles/internal/_icon-passing.scss +18 -10
  87. package/build/styles/internal/{_db-puls.scss → _indicator.scss} +37 -16
  88. package/build/styles/internal/_link-components.scss +7 -1
  89. package/build/styles/internal/_navigation-item.scss +122 -0
  90. package/build/styles/internal/_scrollbar.scss +71 -0
  91. package/build/styles/relative.css +7 -7
  92. package/build/styles/rollup.css +7 -7
  93. package/build/styles/visually-hidden.css +1 -1
  94. package/build/styles/wc-workarounds.css +1 -1
  95. package/build/styles/wc-workarounds.scss +11 -0
  96. package/build/styles/webpack.css +7 -7
  97. package/package.json +6 -7
  98. package/build/components/brand/brand.css +0 -32
  99. package/build/components/brand/brand.scss +0 -35
  100. package/build/components/header/header.css +0 -700
  101. package/build/components/header/header.scss +0 -274
  102. package/build/components/navigation/navigation.css +0 -202
  103. package/build/components/navigation/navigation.scss +0 -108
  104. package/build/components/navigation-item/navigation-item.css +0 -447
  105. package/build/components/navigation-item/navigation-item.scss +0 -337
  106. package/build/components/page/page.css +0 -61
  107. package/build/components/page/page.scss +0 -61
@@ -1,337 +0,0 @@
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/fonts";
4
- @use "@db-ux/core-foundations/build/styles/screen-sizes";
5
- @use "@db-ux/core-foundations/build/styles/helpers";
6
- @use "@db-ux/core-foundations/build/styles/animation";
7
- @use "@db-ux/core-foundations/build/styles/icons";
8
- @use "../../styles/internal/icon-passing";
9
- @use "../../styles/internal/component";
10
-
11
- %sub-navi-handler-desktop {
12
- // show sub-navigation on hover
13
- @include screen-sizes.screen("md") {
14
- &:is(:hover, :focus-visible) {
15
- ~ .db-sub-navigation {
16
- visibility: visible;
17
- }
18
- }
19
- }
20
- }
21
-
22
- @mixin sub-navi-handler-mobile() {
23
- // show/hide sub-navigation by click
24
- &[aria-expanded="true"] {
25
- ~ .db-sub-navigation {
26
- visibility: visible;
27
- transform: translateX(0%);
28
-
29
- @media (prefers-reduced-motion: no-preference) {
30
- transition:
31
- visibility 0ms linear 0ms,
32
- transform #{variables.$db-transition-duration-extra-slow}
33
- #{variables.$db-transition-timing-emotional};
34
- }
35
-
36
- .db-sub-navigation {
37
- inset: 0;
38
- inline-size: 100%;
39
- border-color: transparent;
40
- }
41
- }
42
- }
43
-
44
- &:not(&[aria-expanded="true"]) {
45
- ~ .db-sub-navigation {
46
- transform: translateX(110%);
47
- }
48
-
49
- @media (prefers-reduced-motion: no-preference) {
50
- ~ .db-sub-navigation {
51
- transition:
52
- visibility 0ms linear 410ms,
53
- transform #{variables.$db-transition-duration-slow}
54
- #{variables.$db-transition-timing-emotional}; // hide animation is 0.4s
55
- }
56
- }
57
- }
58
- }
59
-
60
- %navigation-item {
61
- @extend %default-interactive-component;
62
- @extend %transparent-border;
63
- @extend %db-overwrite-font-size-md;
64
-
65
- background-color: colors.$db-adaptive-bg-basic-transparent-full-default;
66
- cursor: pointer;
67
- inline-size: 100%;
68
- border-radius: variables.$db-border-radius-sm;
69
- padding: variables.$db-spacing-fixed-xs variables.$db-spacing-fixed-sm;
70
- white-space: nowrap; // we don't want to break
71
- text-align: center;
72
- align-items: center; // Centering the content vertically and horizontally
73
- justify-content: space-between;
74
-
75
- @include helpers.display(inline-flex);
76
- @include helpers.interactive-bg(
77
- colors.$db-adaptive-bg-basic-transparent-full-hovered,
78
- colors.$db-adaptive-bg-basic-transparent-full-pressed
79
- );
80
-
81
- &:has(~ .db-sub-navigation:is(:hover, :focus)) {
82
- background-color: colors.$db-adaptive-bg-basic-transparent-full-hovered;
83
- }
84
- }
85
-
86
- .db-navigation-item {
87
- --db-has-before: 0;
88
-
89
- @extend %db-overwrite-font-size-md;
90
- @include icon-passing.icon-passing;
91
- @include helpers.display(inline-flex);
92
-
93
- position: relative;
94
- inline-size: auto;
95
-
96
- &[data-wrap="true"] {
97
- :is(a, .db-navigation-item-expand-button):first-of-type {
98
- white-space: normal;
99
- text-align: start;
100
- }
101
- }
102
-
103
- @include screen-sizes.screen("md", "max") {
104
- &:not([data-width="full"]) {
105
- inline-size: 100%;
106
-
107
- .db-navigation-item-expand-button {
108
- &::after {
109
- --db-icon-margin-start: auto;
110
- }
111
- }
112
- }
113
- }
114
-
115
- a {
116
- @extend %navigation-item;
117
-
118
- text-decoration: none;
119
-
120
- &:focus-visible {
121
- // We need to increase the z-index on focus-visible for the outline and box-shadow to appear above the pulse
122
- z-index: 1;
123
- }
124
- }
125
-
126
- .db-navigation-item-expand-button {
127
- @include screen-sizes.screen("md", "max") {
128
- @include sub-navi-handler-mobile;
129
- }
130
-
131
- &:is(button),
132
- > button {
133
- @extend %sub-navi-handler-desktop;
134
- @extend %navigation-item;
135
-
136
- font-weight: inherit;
137
-
138
- // default icon for navigation
139
- @include icons.set-icon("chevron_right", "after");
140
- }
141
- }
142
-
143
- &:has([aria-current="page"]),
144
- &:has([data-active="true"]),
145
- &[aria-current="page"],
146
- &[data-active="true"] {
147
- > :is(a, button) {
148
- font-weight: 700;
149
- }
150
- }
151
-
152
- &:not([data-width="full"]) {
153
- .db-navigation-item-expand-button {
154
- &::after {
155
- --db-icon-margin-start: #{variables.$db-spacing-fixed-sm};
156
- }
157
- }
158
- }
159
-
160
- &[data-width="full"] {
161
- inline-size: 100%;
162
-
163
- .db-navigation-item-expand-button {
164
- &::after {
165
- --db-icon-margin-start: auto;
166
- }
167
- }
168
- }
169
-
170
- &[aria-disabled="true"] {
171
- opacity: variables.$db-opacity-md;
172
- pointer-events: none;
173
- }
174
- }
175
-
176
- @mixin sub-navigation-mobile() {
177
- padding: variables.$db-spacing-fixed-md;
178
- inline-size: calc(100% - #{variables.$db-spacing-fixed-xl});
179
- position: fixed;
180
- overflow: hidden auto;
181
- inset-inline-start: variables.$db-spacing-fixed-xl;
182
-
183
- .db-drawer-container[data-direction="left"] & {
184
- inset-inline: auto variables.$db-spacing-fixed-xl;
185
- }
186
-
187
- inset-block: calc(#{component.$min-mobile-header-height})
188
- calc(#{variables.$db-sizing-md} + #{variables.$db-spacing-fixed-xs} * 2);
189
- }
190
-
191
- .db-sub-navigation {
192
- @extend %component-border;
193
-
194
- margin: 0;
195
-
196
- @include helpers.display(flex);
197
-
198
- flex-direction: column;
199
- z-index: 70;
200
- inset-inline-start: 0;
201
- background-color: colors.$db-adaptive-bg-basic-level-1-default;
202
- visibility: hidden;
203
-
204
- @include screen-sizes.screen("md", "max") {
205
- @include sub-navigation-mobile;
206
- }
207
-
208
- @include screen-sizes.screen("md") {
209
- .db-mobile-navigation-back {
210
- @include helpers.display(none);
211
- }
212
- }
213
-
214
- @include screen-sizes.screen("md") {
215
- border-radius: variables.$db-border-radius-sm;
216
- box-shadow: variables.$db-elevation-md;
217
- padding: variables.$db-spacing-fixed-sm;
218
- position: absolute;
219
- min-inline-size: variables.$db-container-xs;
220
- inset-block-start: calc(100% + #{variables.$db-spacing-fixed-md});
221
- transition: visibility 1ms linear; // workaround to enable focus with keyboard
222
-
223
- &[data-outside-vx="true"] {
224
- transform: translateX(-100%);
225
- inset-inline-start: 100%;
226
- }
227
-
228
- &:is(:hover, :focus-within):not([data-force-close="true"]) {
229
- visibility: visible;
230
- }
231
-
232
- &[data-force-close="true"] {
233
- pointer-events: none;
234
- }
235
-
236
- &::before {
237
- content: "";
238
- position: absolute;
239
- inset-inline-start: 0;
240
- inline-size: 100%;
241
-
242
- // #{$db-spacing-fixed--3xs} for shadows
243
- block-size: calc(
244
- #{variables.$db-spacing-fixed-3xs} +
245
- #{variables.$db-spacing-fixed-md}
246
- );
247
- inset-block-start: calc(
248
- -1 * #{variables.$db-spacing-fixed-md} -
249
- #{variables.$db-spacing-fixed-3xs}
250
- );
251
- }
252
-
253
- .db-sub-navigation {
254
- // 1px for box shadow
255
- inset-block-start: calc(
256
- -50% + #{variables.$db-spacing-fixed-xs} + 1px
257
- );
258
- inset-inline-start: calc(100% + #{variables.$db-spacing-fixed-xs});
259
-
260
- &[data-outside-vy="bottom"] {
261
- inset-block-start: calc(
262
- 100% + #{variables.$db-spacing-fixed-md}
263
- );
264
- transform: translateY(-100%);
265
- }
266
-
267
- &[data-outside-vx="right"] {
268
- transform: translateX(-100%);
269
- inset-inline-start: calc(
270
- -1 * #{variables.$db-spacing-fixed-xs}
271
- );
272
-
273
- &[data-outside-vy="bottom"] {
274
- transform: translate(-100%, -100%);
275
- }
276
-
277
- &::before {
278
- inset-block: auto 0;
279
-
280
- // inline-size: calc(var(--db-navigation-item-inline-size, 100%) - #{variables.$db-spacing-fixed-xs} - 2px);
281
- transform: translateX(100%) scaleX(-1);
282
- }
283
- }
284
-
285
- &::before {
286
- content: "";
287
- position: absolute;
288
- inset-block-start: 0;
289
- inset-inline-start: 0;
290
- block-size: 100%;
291
- /* stylelint-disable-next-line db-ux/use-sizing */
292
- inline-size: var(--db-navigation-item-inline-size, 100%);
293
- background: transparent;
294
- transform: translateX(-100%);
295
- clip-path: var(
296
- --db-navigation-item-clip-path,
297
- polygon(10% 30px, 100% 0, 100% 100%)
298
- );
299
- }
300
-
301
- &::after {
302
- content: "";
303
- position: absolute;
304
- padding: variables.$db-spacing-fixed-xs;
305
-
306
- // #{$db-spacing-fixed-3xs} for box shadow
307
- inset-block-start: #{variables.$db-spacing-fixed-3xs};
308
- inset-inline-end: calc(-1 * #{variables.$db-spacing-fixed-xs});
309
- block-size: 100%;
310
- inline-size: variables.$db-spacing-fixed-xs;
311
- }
312
- }
313
- }
314
-
315
- &:empty {
316
- @include helpers.display(none);
317
- }
318
-
319
- .db-navigation-item {
320
- inline-size: 100%;
321
-
322
- &::after {
323
- margin-inline-start: auto;
324
- }
325
- }
326
- }
327
-
328
- .db-mobile-navigation-back {
329
- @include helpers.display(flex);
330
-
331
- font-weight: normal;
332
- background-color: colors.$db-adaptive-bg-basic-level-1-default;
333
- padding-block-end: variables.$db-spacing-fixed-md;
334
- margin-block-end: variables.$db-spacing-fixed-md;
335
-
336
- @include helpers.divider("bottom");
337
- }
@@ -1,61 +0,0 @@
1
- /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
- /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
3
- /* Variants for adaptive components like input, select, notification, ... */
4
- @media screen {
5
- .db-page-document {
6
- block-size: 100%;
7
- overflow: hidden;
8
- }
9
- }
10
-
11
- @media screen {
12
- .db-page {
13
- opacity: 0;
14
- }
15
- }
16
- @media screen and (prefers-reduced-motion: no-preference) {
17
- .db-page[data-fade-in=true] {
18
- transition: opacity var(--db-transition-straight-emotional);
19
- }
20
- }
21
- @media screen {
22
- .db-page:not([data-fonts-loaded]), .db-page[data-fonts-loaded=true] {
23
- opacity: 1;
24
- }
25
- .db-page[data-variant=fixed] > :is(.db-header, .db-footer, header, footer):not([hidden]) {
26
- display: flex;
27
- }
28
- .db-page[data-variant=fixed] > :is(.db-header, .db-footer, header, footer) {
29
- flex: 0 1 auto;
30
- flex-grow: 0;
31
- flex-shrink: 0;
32
- }
33
- .db-page[data-variant=fixed] {
34
- block-size: 100%;
35
- min-block-size: 100%;
36
- }
37
- .db-page[data-variant=fixed]:not([hidden]) {
38
- display: flex;
39
- }
40
- .db-page[data-variant=fixed] {
41
- flex-direction: column;
42
- /* workaround for angular */
43
- }
44
- .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer):not([hidden]) {
45
- display: flex;
46
- }
47
- .db-page[data-variant=fixed] > :is(db-header, dbheader, dbfooter, db-footer) > :is(.db-header, .db-footer, header, footer) {
48
- flex: 0 1 auto;
49
- flex-grow: 0;
50
- flex-shrink: 0;
51
- }
52
- .db-page[data-variant=fixed] > .db-main:not([hidden]) {
53
- display: flex;
54
- }
55
- .db-page[data-variant=fixed] > .db-main {
56
- flex-direction: column;
57
- overflow: auto;
58
- flex: 1 1 auto;
59
- inline-size: 100%;
60
- }
61
- }
@@ -1,61 +0,0 @@
1
- @use "@db-ux/core-foundations/build/styles/variables";
2
- @use "@db-ux/core-foundations/build/styles/helpers";
3
-
4
- .db-page-document {
5
- @media screen {
6
- block-size: 100%;
7
- overflow: hidden;
8
- }
9
- }
10
-
11
- @mixin header-footer-style {
12
- > :is(.db-header, .db-footer, header, footer) {
13
- @include helpers.display(flex);
14
-
15
- flex: 0 1 auto;
16
- flex-grow: 0;
17
- flex-shrink: 0;
18
- }
19
- }
20
-
21
- .db-page {
22
- @media screen {
23
- opacity: 0;
24
-
25
- @media (prefers-reduced-motion: no-preference) {
26
- &[data-fade-in="true"] {
27
- transition: opacity variables.$db-transition-straight-emotional;
28
- }
29
- }
30
-
31
- &:not([data-fonts-loaded]),
32
- &[data-fonts-loaded="true"] {
33
- opacity: 1;
34
- }
35
-
36
- &[data-variant="fixed"] {
37
- @include header-footer-style;
38
-
39
- block-size: 100%;
40
- min-block-size: 100%;
41
-
42
- @include helpers.display(flex);
43
-
44
- flex-direction: column;
45
-
46
- /* workaround for angular */
47
- > :is(db-header, dbheader, dbfooter, db-footer) {
48
- @include header-footer-style;
49
- }
50
-
51
- > .db-main {
52
- @include helpers.display(flex);
53
-
54
- flex-direction: column;
55
- overflow: auto;
56
- flex: 1 1 auto;
57
- inline-size: 100%;
58
- }
59
- }
60
- }
61
- }