@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
@@ -2,33 +2,54 @@
2
2
  @use "@db-ux/core-foundations/build/styles/screen-sizes";
3
3
  @use "@db-ux/core-foundations/build/styles/colors";
4
4
 
5
- @mixin set-db-puls-horizontal() {
5
+ $indicator-background: linear-gradient(
6
+ 135deg,
7
+ var(--db-pride-red, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
8
+ 16.7%,
9
+ var(--db-pride-orange, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
10
+ 0,
11
+ var(--db-pride-orange, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
12
+ 33.4%,
13
+ var(--db-pride-yellow, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
14
+ 0,
15
+ var(--db-pride-yellow, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
16
+ 50.1%,
17
+ var(--db-pride-green, #{colors.$db-brand-on-bg-basic-emphasis-70-default}) 0,
18
+ var(--db-pride-green, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
19
+ 66.8%,
20
+ var(--db-pride-blue, #{colors.$db-brand-on-bg-basic-emphasis-70-default}) 0,
21
+ var(--db-pride-blue, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
22
+ 83.5%,
23
+ var(--db-pride-violet, #{colors.$db-brand-on-bg-basic-emphasis-70-default})
24
+ 0
25
+ );
26
+
27
+ @mixin set-indicator-horizontal() {
6
28
  &::after {
7
29
  block-size: variables.$db-border-width-xs;
8
30
  inline-size: 0;
9
31
  transform: translate(-50%, 0);
10
32
  inset-inline-start: 50%;
11
- background-color: colors.$db-brand-on-bg-basic-emphasis-70-default;
12
33
  inset-block: auto calc(-1 * #{variables.$db-spacing-fixed-xs});
13
34
  }
14
35
  }
15
36
 
16
- @mixin set-db-puls-vertical() {
37
+ @mixin set-indicator-vertical() {
17
38
  &::after {
18
39
  block-size: 0;
19
40
  inline-size: variables.$db-border-width-xs;
20
41
  transform: translate(0, -50%);
21
- inset-block: 50% auto;
22
- background-color: colors.$db-brand-on-bg-basic-emphasis-70-default;
42
+ inset-block: var(--indicator-vertical-inset-block-start, 50%) auto;
23
43
  inset-inline-start: calc(-1 * #{variables.$db-spacing-fixed-xs});
24
44
  }
25
45
  }
26
46
 
27
- %db-puls {
47
+ %indicator {
28
48
  &::after {
29
49
  content: "";
30
50
  position: absolute;
31
51
  border-radius: variables.$db-border-radius-xs;
52
+ background: $indicator-background;
32
53
 
33
54
  @media (prefers-reduced-motion: no-preference) {
34
55
  transition:
@@ -40,16 +61,16 @@
40
61
  }
41
62
  }
42
63
 
43
- %db-puls-auto {
44
- @extend %db-puls;
45
- @include set-db-puls-vertical;
64
+ %indicator-auto {
65
+ @extend %indicator;
66
+ @include set-indicator-vertical;
46
67
 
47
68
  @include screen-sizes.screen("md") {
48
- @include set-db-puls-horizontal;
69
+ @include set-indicator-horizontal;
49
70
  }
50
71
  }
51
72
 
52
- @mixin show-db-puls-horizontal() {
73
+ @mixin show-indicator-horizontal() {
53
74
  &::after {
54
75
  block-size: variables.$db-border-width-xs;
55
76
  inline-size: 100%;
@@ -61,9 +82,9 @@
61
82
  }
62
83
  }
63
84
 
64
- @mixin show-db-puls-vertical() {
85
+ @mixin show-indicator-vertical() {
65
86
  &::after {
66
- block-size: 100%;
87
+ block-size: var(--indicator-vertical-block-size, 100%);
67
88
  inline-size: variables.$db-border-width-xs;
68
89
 
69
90
  @media (forced-colors: active), print {
@@ -73,10 +94,10 @@
73
94
  }
74
95
  }
75
96
 
76
- %show-db-puls-auto {
77
- @include show-db-puls-vertical;
97
+ %show-indicator-auto {
98
+ @include show-indicator-vertical;
78
99
 
79
100
  @include screen-sizes.screen("md") {
80
- @include show-db-puls-horizontal;
101
+ @include show-indicator-horizontal;
81
102
  }
82
103
  }
@@ -5,7 +5,9 @@
5
5
  @use "./component";
6
6
 
7
7
  %db-link-height {
8
- @include helpers.display(inline-block);
8
+ @include helpers.display(inline-flex);
9
+
10
+ align-items: center;
9
11
 
10
12
  &:not([data-wrap="true"]) {
11
13
  block-size: variables.$db-sizing-sm;
@@ -64,4 +66,8 @@
64
66
  opacity: variables.$db-opacity-md;
65
67
  pointer-events: none;
66
68
  }
69
+
70
+ &::after {
71
+ text-decoration: none;
72
+ }
67
73
  }
@@ -0,0 +1,122 @@
1
+ @use "sass:string";
2
+ @use "@db-ux/core-foundations/build/styles/screen-sizes";
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/fonts";
6
+ @use "@db-ux/core-foundations/build/styles/helpers";
7
+ @use "@db-ux/core-foundations/build/styles/icons";
8
+ @use "../../styles/internal/custom-elements";
9
+ @use "../../styles/internal/icon-passing";
10
+ @use "../../styles/internal/component";
11
+
12
+ @mixin direct-navigation-items {
13
+ #{string.unquote(custom-elements.$control-panel-navigation-item)},
14
+ #{string.unquote(custom-elements.$control-panel-navigation-item-group)} {
15
+ @content;
16
+ }
17
+ }
18
+
19
+ @mixin active-navigation-item() {
20
+ &:has([aria-current="page"]),
21
+ &:has([data-active="true"]),
22
+ &[aria-current="page"],
23
+ &[data-active="true"] {
24
+ @content;
25
+ }
26
+ }
27
+
28
+ @mixin navigation-item-group-menu-triangle-vertical() {
29
+ &::before {
30
+ content: "";
31
+ position: absolute;
32
+ inset-block-start: 0;
33
+ inset-inline-start: 0;
34
+ block-size: 100%;
35
+ inline-size: var(--db-control-panel-navigation-item-inline-size, 100%);
36
+ background-color: transparent;
37
+ transform: translateX(-100%);
38
+ clip-path: var(
39
+ --db-control-panel-navigation-item-clip-path,
40
+ polygon(
41
+ 10% calc(1lh + #{variables.$db-spacing-fixed-2xs}),
42
+ 100% 0,
43
+ 100% 100%
44
+ )
45
+ );
46
+ }
47
+
48
+ &::after {
49
+ content: "";
50
+ position: absolute;
51
+ padding: variables.$db-spacing-fixed-xs;
52
+
53
+ // #{$db-spacing-fixed-3xs} for box shadow
54
+ inset-block-start: #{variables.$db-spacing-fixed-3xs};
55
+ inset-inline-end: calc(-1 * #{variables.$db-spacing-fixed-xs});
56
+ block-size: calc(100% - 2 * #{variables.$db-spacing-fixed-3xs});
57
+ inline-size: variables.$db-spacing-fixed-xs;
58
+ }
59
+ }
60
+
61
+ %navigation-item-interactive-element {
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
+ display: inline-flex;
69
+ border-radius: variables.$db-border-radius-sm;
70
+ padding: variables.$db-spacing-fixed-xs variables.$db-spacing-fixed-sm;
71
+ text-align: start;
72
+ align-items: center; // Centering the content vertically and horizontally
73
+ min-block-size: variables.$db-sizing-md;
74
+
75
+ @include helpers.hover {
76
+ background-color: colors.$db-adaptive-bg-basic-transparent-full-hovered;
77
+ }
78
+
79
+ @include helpers.active {
80
+ background-color: colors.$db-adaptive-bg-basic-transparent-full-pressed;
81
+ }
82
+ }
83
+
84
+ %navigation-item {
85
+ @extend %db-overwrite-font-size-md;
86
+
87
+ position: relative;
88
+ display: flex;
89
+ block-size: fit-content;
90
+
91
+ // Mobile
92
+ @include screen-sizes.screen-min-max(
93
+ (
94
+ max: "sm"
95
+ )
96
+ ) {
97
+ inline-size: 100%;
98
+ }
99
+
100
+ // Desktop
101
+ @include screen-sizes.screen-min-max(
102
+ (
103
+ min: "sm"
104
+ )
105
+ ) {
106
+ inline-size: fit-content;
107
+ }
108
+
109
+ &:has([aria-current="page"]),
110
+ &:has([data-active="true"]),
111
+ &[aria-current="page"],
112
+ &[data-active="true"] {
113
+ > :is(a, button) {
114
+ font-weight: 700;
115
+ }
116
+ }
117
+
118
+ &[aria-disabled="true"] {
119
+ opacity: variables.$db-opacity-md;
120
+ pointer-events: none;
121
+ }
122
+ }
@@ -111,3 +111,74 @@ $scrollbar-width: helpers.px-to-rem(8);
111
111
  border-end-end-radius: variables.$db-border-radius-xs;
112
112
  }
113
113
  }
114
+
115
+ @mixin angular-button-workaround() {
116
+ > .db-button,
117
+ &:is(.db-button) {
118
+ @content;
119
+ }
120
+ }
121
+
122
+ $db-overflow-scroll-buttons-background: 21;
123
+ $db-overflow-scroll-buttons-button: 22;
124
+
125
+ @mixin set-overflow-scroll-button-backgrounds {
126
+ &::before,
127
+ &::after {
128
+ position: absolute;
129
+ z-index: $db-overflow-scroll-buttons-background;
130
+ background-color: colors.$db-adaptive-bg-basic-level-1-default;
131
+ inline-size: variables.$db-sizing-md;
132
+ block-size: calc(
133
+ var(
134
+ --db-overflow-scroll-button-background-block-size,
135
+ #{variables.$db-spacing-fixed-sm}
136
+ ) +
137
+ #{variables.$db-sizing-md}
138
+ );
139
+ flex: 0 0 auto;
140
+ }
141
+
142
+ &::before {
143
+ inset-inline-start: var(
144
+ --db-overflow-scroll-button-inset-inline-start,
145
+ 0
146
+ );
147
+ }
148
+
149
+ &::after {
150
+ inset-inline-end: 0;
151
+ }
152
+ }
153
+
154
+ @mixin set-overflow-scroll-buttons {
155
+ /*
156
+ * Scroll left / right buttons
157
+ */
158
+ .overflow-scroll-left-button {
159
+ @include angular-button-workaround {
160
+ inset-inline-start: var(
161
+ --db-overflow-scroll-button-inset-inline-start,
162
+ 0
163
+ );
164
+ }
165
+ }
166
+
167
+ .overflow-scroll-right-button {
168
+ @include angular-button-workaround {
169
+ inset-inline-end: 0;
170
+ }
171
+ }
172
+
173
+ .overflow-scroll-left-button,
174
+ .overflow-scroll-right-button {
175
+ @include angular-button-workaround {
176
+ position: absolute;
177
+ z-index: $db-overflow-scroll-buttons-button;
178
+ inset-block: var(
179
+ --db-overflow-scroll-button-inset-block,
180
+ #{variables.$db-spacing-fixed-xs}
181
+ );
182
+ }
183
+ }
184
+ }