@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @db-ux/core-components
2
2
 
3
+ ## 4.13.0
4
+
5
+ _version bump_
6
+
3
7
  ## 4.12.1
4
8
 
5
9
  ### Patch Changes
@@ -69,7 +69,7 @@
69
69
 
70
70
  - always provide `burgerMenuLabel` attribute for accessibility
71
71
 
72
- ## `DBNavigationItem` or `db-navigation-item`
72
+ ## `DBControlPanelNavigationItem` or `db-control-panel-navigation-item`
73
73
 
74
74
  - always provide `backButtonText` attribute for accessibility
75
75
  - must have children content (text or child elements)
@@ -81,7 +81,7 @@
81
81
  ## `DBTooltip` or `db-tooltip`
82
82
 
83
83
  - must not contain interactive elements (buttons, links, inputs, etc.) — use `DBPopover` for interactive content
84
- - must be a child of an interactive element (`button`, `a`, `DBButton`, `DBLink`, `DBNavigationItem`, `DBTabItem`, `input`, `select`, `textarea`, etc.) for accessibility
84
+ - must be a child of an interactive element (`button`, `a`, `DBButton`, `DBLink`, `DBControlPanelNavigationItem`, `DBTabItem`, `input`, `select`, `textarea`, etc.) for accessibility
85
85
 
86
86
  ## `DBIcon` or `db-icon`
87
87
 
@@ -92,6 +92,6 @@
92
92
  - always provide a `label` attribute for accessibility (for `DBCheckbox`, `DBRadio`, `DBSwitch` children text content also counts as label)
93
93
  - when using validation attributes (`required`, `minLength`, `maxLength`, `min`, `max`, `pattern`), always provide an `invalidMessage` attribute for better UX (exception: `DBRadio` with `required` does not need `invalidMessage`)
94
94
 
95
- ## Content components (`DBButton`, `DBLink`, `DBBadge`, `DBIcon`, `DBInfotext`, `DBNavigationItem`, `DBNotification`, `DBAccordionItem`)
95
+ ## Content components (`DBButton`, `DBLink`, `DBBadge`, `DBIcon`, `DBInfotext`, `DBControlPanelNavigationItem`, `DBNotification`, `DBAccordionItem`)
96
96
 
97
97
  - must have either a `text` property or children content — never leave them empty
@@ -32,21 +32,28 @@ The spacings are not part of the styling of the accordion items themselves.
32
32
  content: "";
33
33
  background-color: var(--db-divider-bg-color);
34
34
  position: absolute;
35
+ /* jscpd:ignore-start */
35
36
  block-size: var(--db-border-width-3xs);
36
37
  inset-block-start: 0;
37
38
  inset-inline: 0;
38
- /* stylelint-disable-next-line at-rule-empty-line-before */
39
+ /* stylelint-disable-next-line db-ux/use-border-color */
39
40
  }
40
41
  @media (forced-colors: active) {
41
- .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item,
42
- .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item,
43
- .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item {
44
- /* stylelint-disable-next-line no-invalid-position-declaration, db-ux/use-border-color */
45
- border: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
42
+ .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item::before,
43
+ .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item::before, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item::before,
44
+ .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item::before {
45
+ /* stylelint-disable-next-line db-ux/use-border-color */
46
+ border-block-start: var(--db-border-width-3xs) solid var(--db-divider-bg-color);
46
47
  }
47
48
  }
48
49
  .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item::before,
49
50
  .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item::before, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item::before,
51
+ .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item::before {
52
+ /* stylelint-disable-next-line at-rule-empty-line-before */
53
+ /* jscpd:ignore-end */
54
+ }
55
+ .db-accordion[data-variant=divider] db-accordion-item + db-accordion-item .db-accordion-item::before,
56
+ .db-accordion[data-variant=divider] .db-accordion-item + .db-accordion-item::before, .db-accordion:not([data-variant]) db-accordion-item + db-accordion-item .db-accordion-item::before,
50
57
  .db-accordion:not([data-variant]) .db-accordion-item + .db-accordion-item::before {
51
58
  inset-block-start: calc(-1 * var(--db-spacing-fixed-sm));
52
59
  }
@@ -1,18 +1,13 @@
1
1
  .db-visually-hidden,
2
2
  [data-visually-hidden=true] {
3
- clip: rect(0, 0, 0, 0) !important;
4
- overflow: hidden !important;
5
- white-space: nowrap !important;
6
- font-size: 0 !important;
7
- all: initial;
8
- inset-block-start: 0 !important;
9
- block-size: 1px !important;
10
3
  position: absolute !important;
4
+ inset-block-start: 0 !important;
11
5
  inline-size: 1px !important;
12
- border-width: 0 !important;
13
- border-style: initial !important;
14
- border-color: initial !important;
15
- border-image: initial !important;
6
+ block-size: 1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
16
11
  padding: 0 !important;
17
12
  pointer-events: none !important;
18
13
  }
@@ -245,5 +245,5 @@
245
245
  }
246
246
 
247
247
  [data-has-badge=true] {
248
- position: relative;
248
+ position: var(--db-has-badge-position, relative);
249
249
  }
@@ -116,5 +116,5 @@
116
116
  // Global styles
117
117
 
118
118
  [data-has-badge="true"] {
119
- position: relative;
119
+ position: var(--db-has-badge-position, relative);
120
120
  }
@@ -135,11 +135,3 @@
135
135
  .db-button:is(:disabled, [aria-disabled=true]) {
136
136
  opacity: var(--db-opacity-md);
137
137
  }
138
- .db-button:has(> .db-button) {
139
- margin: 0;
140
- padding: 0;
141
- block-size: var(--db-sizing-md);
142
- }
143
- .db-button:has(> .db-button)::before {
144
- content: none;
145
- }
@@ -8,15 +8,4 @@
8
8
  &:is(:disabled, [aria-disabled="true"]) {
9
9
  opacity: variables.$db-opacity-md;
10
10
  }
11
-
12
- // Workaround for current stencil implementation for header
13
- &:has(> .db-button) {
14
- margin: 0;
15
- padding: 0;
16
- block-size: variables.$db-sizing-md;
17
-
18
- &::before {
19
- content: none;
20
- }
21
- }
22
11
  }
@@ -1,18 +1,13 @@
1
1
  .db-visually-hidden,
2
2
  [data-visually-hidden=true] {
3
- clip: rect(0, 0, 0, 0) !important;
4
- overflow: hidden !important;
5
- white-space: nowrap !important;
6
- font-size: 0 !important;
7
- all: initial;
8
- inset-block-start: 0 !important;
9
- block-size: 1px !important;
10
3
  position: absolute !important;
4
+ inset-block-start: 0 !important;
11
5
  inline-size: 1px !important;
12
- border-width: 0 !important;
13
- border-style: initial !important;
14
- border-color: initial !important;
15
- border-image: initial !important;
6
+ block-size: 1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
16
11
  padding: 0 !important;
17
12
  pointer-events: none !important;
18
13
  }
@@ -0,0 +1,53 @@
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
+ .db-control-panel-brand a {
5
+ overflow: hidden;
6
+ text-indent: 100%;
7
+ white-space: nowrap;
8
+ }
9
+
10
+ .db-control-panel-brand {
11
+ font: var(--db-type-body-md);
12
+ /* Those variables are only for components to calculate heights and change icons */
13
+ --db-icon-font-weight: var(--db-base-body-icon-weight-md);
14
+ --db-icon-font-size: var(--db-base-body-icon-font-size-md);
15
+ }
16
+
17
+ .db-control-panel-desktop-brand-container {
18
+ display: flex;
19
+ grid-area: brand;
20
+ }
21
+
22
+ .db-control-panel-brand:not([hidden]) {
23
+ display: flex;
24
+ }
25
+ .db-control-panel-brand {
26
+ align-items: center;
27
+ block-size: var(--db-sizing-md);
28
+ min-block-size: var(--db-sizing-md);
29
+ inline-size: fit-content;
30
+ gap: var(--db-spacing-fixed-sm);
31
+ position: relative;
32
+ grid-area: brand;
33
+ }
34
+ .db-control-panel-brand::before {
35
+ content: "";
36
+ }
37
+ @supports (content: ""/"") {
38
+ .db-control-panel-brand::before {
39
+ content: ""/"";
40
+ }
41
+ }
42
+ .db-control-panel-brand::before {
43
+ block-size: 1lh;
44
+ aspect-ratio: var(--db-logo-aspect-ratio, 1);
45
+ background-image: var(--db-logo-url);
46
+ background-repeat: no-repeat;
47
+ background-size: auto var(--db-sizing-sm);
48
+ }
49
+ .db-control-panel-brand a {
50
+ text-decoration: none;
51
+ position: absolute;
52
+ inset: 0;
53
+ }
@@ -0,0 +1,48 @@
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/helpers";
5
+
6
+ .db-control-panel-desktop-brand-container {
7
+ display: flex;
8
+ grid-area: brand;
9
+ }
10
+
11
+ .db-control-panel-brand {
12
+ @extend %db-overwrite-font-size-md;
13
+ @include helpers.display(flex);
14
+
15
+ align-items: center;
16
+ block-size: variables.$db-sizing-md;
17
+ min-block-size: variables.$db-sizing-md;
18
+ inline-size: fit-content;
19
+ gap: variables.$db-spacing-fixed-sm;
20
+ position: relative;
21
+ grid-area: brand;
22
+
23
+ // The brand logo depends on the theme package (e.g. @db-ux/db-theme)
24
+ // providing --db-logo-url and --db-logo-aspect-ratio CSS custom properties.
25
+ // Without a theme, the logo will not be visible.
26
+ &::before {
27
+ content: "";
28
+
29
+ @supports (content: ""/"") {
30
+ content: "" / "";
31
+ }
32
+
33
+ block-size: 1lh;
34
+ aspect-ratio: var(--db-logo-aspect-ratio, 1);
35
+ background-image: var(--db-logo-url);
36
+ background-repeat: no-repeat;
37
+ background-size: auto #{variables.$db-sizing-sm};
38
+ }
39
+
40
+ // Deactivate underline on site name being made clickable by added to the link as well
41
+ a {
42
+ text-decoration: none;
43
+ position: absolute;
44
+ inset: 0;
45
+
46
+ @extend %a11y-visually-hidden-text;
47
+ }
48
+ }