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

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