@db-ux/core-components 4.7.2 → 4.8.0

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 (129) hide show
  1. package/CHANGELOG.md +26 -16
  2. package/build/components/accordion/accordion.css +2 -0
  3. package/build/components/accordion-item/accordion-item.css +2 -0
  4. package/build/components/badge/badge.css +2 -0
  5. package/build/components/brand/brand.css +2 -0
  6. package/build/components/button/button.css +2 -0
  7. package/build/components/card/card.css +2 -0
  8. package/build/components/checkbox/checkbox.css +2 -0
  9. package/build/components/custom-button/custom-button.css +2 -0
  10. package/build/components/custom-select/custom-select.css +2 -0
  11. package/build/components/custom-select-dropdown/custom-select-dropdown.css +2 -0
  12. package/build/components/custom-select-form-field/custom-select-form-field.css +2 -0
  13. package/build/components/custom-select-list/custom-select-list.css +2 -0
  14. package/build/components/custom-select-list-item/custom-select-list-item.css +2 -0
  15. package/build/components/divider/divider.css +2 -0
  16. package/build/components/drawer/drawer.css +2 -0
  17. package/build/components/header/header.css +2 -0
  18. package/build/components/icon/icon.css +2 -0
  19. package/build/components/infotext/infotext.css +2 -0
  20. package/build/components/input/input.css +2 -0
  21. package/build/components/link/link.css +2 -0
  22. package/build/components/navigation/navigation.css +2 -0
  23. package/build/components/navigation-item/navigation-item.css +2 -0
  24. package/build/components/notification/notification-grid-non-overlay.scss +1 -1
  25. package/build/components/notification/notification-grid-overlay.scss +2 -2
  26. package/build/components/notification/notification.css +66 -64
  27. package/build/components/notification/notification.scss +9 -9
  28. package/build/components/page/page.css +2 -0
  29. package/build/components/popover/popover.css +2 -0
  30. package/build/components/radio/radio.css +2 -0
  31. package/build/components/section/section.css +2 -0
  32. package/build/components/select/select.css +2 -0
  33. package/build/components/stack/stack-web-component.css +2 -0
  34. package/build/components/stack/stack.css +2 -0
  35. package/build/components/switch/switch.css +2 -0
  36. package/build/components/tab-item/tab-item.css +2 -0
  37. package/build/components/tab-list/tab-list.css +2 -0
  38. package/build/components/tab-panel/tab-panel.css +2 -0
  39. package/build/components/tabs/tabs.css +2 -0
  40. package/build/components/tag/tag.css +2 -0
  41. package/build/components/textarea/textarea.css +2 -0
  42. package/build/components/tooltip/tooltip.css +2 -0
  43. package/build/styles/absolute.css +3 -3
  44. package/build/styles/bundle.css +3 -3
  45. package/build/styles/index.css +2 -2
  46. package/build/styles/relative.css +3 -3
  47. package/build/styles/rollup.css +3 -3
  48. package/build/styles/webpack.css +3 -3
  49. package/package.json +38 -37
  50. package/build/assets/fallback-icon.svg +0 -3
  51. package/build/assets/fonts/OFL.txt +0 -93
  52. package/build/assets/fonts/OpenSans-Bold-EU.woff2 +0 -0
  53. package/build/assets/fonts/OpenSans-Bold.ttf +0 -0
  54. package/build/assets/fonts/OpenSans-ExtraBold-EU.woff2 +0 -0
  55. package/build/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/build/assets/fonts/OpenSans-Light-EU.woff2 +0 -0
  57. package/build/assets/fonts/OpenSans-Light.ttf +0 -0
  58. package/build/assets/fonts/OpenSans-Medium-EU.woff2 +0 -0
  59. package/build/assets/fonts/OpenSans-Medium.ttf +0 -0
  60. package/build/assets/fonts/OpenSans-Regular-EU.woff2 +0 -0
  61. package/build/assets/fonts/OpenSans-Regular.ttf +0 -0
  62. package/build/assets/fonts/OpenSans-SemiBold-EU.woff2 +0 -0
  63. package/build/assets/fonts/OpenSans-SemiBold.ttf +0 -0
  64. package/build/assets/fonts/README.md +0 -23
  65. package/build/assets/fonts/generate-eu-fonts.ts +0 -59
  66. package/build/assets/fonts/unicode-eu.txt +0 -15
  67. package/build/assets/icons/DB_LICENSE +0 -253
  68. package/build/assets/icons/LICENCES.json +0 -231
  69. package/build/assets/icons/arrow_down.svg +0 -1
  70. package/build/assets/icons/arrow_left.svg +0 -1
  71. package/build/assets/icons/arrow_right.svg +0 -1
  72. package/build/assets/icons/arrow_up.svg +0 -1
  73. package/build/assets/icons/arrow_up_right.svg +0 -1
  74. package/build/assets/icons/brand.svg +0 -1
  75. package/build/assets/icons/calendar.svg +0 -5
  76. package/build/assets/icons/chat.svg +0 -1
  77. package/build/assets/icons/check.svg +0 -1
  78. package/build/assets/icons/check_circle.svg +0 -1
  79. package/build/assets/icons/chevron_down.svg +0 -1
  80. package/build/assets/icons/chevron_left.svg +0 -1
  81. package/build/assets/icons/chevron_right.svg +0 -1
  82. package/build/assets/icons/chevron_up.svg +0 -1
  83. package/build/assets/icons/circle.svg +0 -1
  84. package/build/assets/icons/circle_small.svg +0 -1
  85. package/build/assets/icons/circular_arrows.svg +0 -1
  86. package/build/assets/icons/clock.svg +0 -1
  87. package/build/assets/icons/copy.svg +0 -1
  88. package/build/assets/icons/cross.svg +0 -1
  89. package/build/assets/icons/cross_circle.svg +0 -1
  90. package/build/assets/icons/double_chevron_down.svg +0 -1
  91. package/build/assets/icons/double_chevron_left.svg +0 -1
  92. package/build/assets/icons/double_chevron_right.svg +0 -1
  93. package/build/assets/icons/double_chevron_up.svg +0 -1
  94. package/build/assets/icons/exclamation_mark_circle.svg +0 -1
  95. package/build/assets/icons/exclamation_mark_triangle.svg +0 -1
  96. package/build/assets/icons/eye.svg +0 -1
  97. package/build/assets/icons/eye_disabled.svg +0 -1
  98. package/build/assets/icons/fonts/all/db-ux.woff2 +0 -0
  99. package/build/assets/icons/fonts/default/db-ux.woff2 +0 -0
  100. package/build/assets/icons/fonts/default_12/db-ux.woff2 +0 -0
  101. package/build/assets/icons/fonts/default_14/db-ux.woff2 +0 -0
  102. package/build/assets/icons/fonts/default_16/db-ux.woff2 +0 -0
  103. package/build/assets/icons/fonts/default_20/db-ux.woff2 +0 -0
  104. package/build/assets/icons/fonts/default_24/db-ux.woff2 +0 -0
  105. package/build/assets/icons/fonts/default_28/db-ux.woff2 +0 -0
  106. package/build/assets/icons/fonts/default_32/db-ux.woff2 +0 -0
  107. package/build/assets/icons/fonts/default_48/db-ux.woff2 +0 -0
  108. package/build/assets/icons/fonts/default_64/db-ux.woff2 +0 -0
  109. package/build/assets/icons/fonts/fallback/icon-font-fallback.woff2 +0 -0
  110. package/build/assets/icons/fonts/filled/db-ux.woff2 +0 -0
  111. package/build/assets/icons/fonts/filled_12/db-ux.woff2 +0 -0
  112. package/build/assets/icons/fonts/filled_14/db-ux.woff2 +0 -0
  113. package/build/assets/icons/fonts/filled_16/db-ux.woff2 +0 -0
  114. package/build/assets/icons/fonts/filled_20/db-ux.woff2 +0 -0
  115. package/build/assets/icons/fonts/filled_24/db-ux.woff2 +0 -0
  116. package/build/assets/icons/fonts/filled_28/db-ux.woff2 +0 -0
  117. package/build/assets/icons/fonts/filled_32/db-ux.woff2 +0 -0
  118. package/build/assets/icons/fonts/filled_48/db-ux.woff2 +0 -0
  119. package/build/assets/icons/fonts/filled_64/db-ux.woff2 +0 -0
  120. package/build/assets/icons/house.svg +0 -1
  121. package/build/assets/icons/information_circle.svg +0 -1
  122. package/build/assets/icons/magnifying_glass.svg +0 -1
  123. package/build/assets/icons/menu.svg +0 -1
  124. package/build/assets/icons/minus.svg +0 -1
  125. package/build/assets/icons/moon.svg +0 -1
  126. package/build/assets/icons/plus.svg +0 -1
  127. package/build/assets/icons/resize_handle_corner.svg +0 -1
  128. package/build/assets/icons/sun.svg +0 -1
  129. package/build/assets/icons/x_placeholder.svg +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @db-ux/core-components
2
2
 
3
+ ## 4.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Notification content now supports additional inline elements like `span` without styling collisions. And added the possibility to set the duration as a machine-readable value via the new `timestampDatetime` property - [see commit dae5149](https://github.com/db-ux-design-system/core-web/commit/dae514902f92a74cb95a3a3adab205d560174692)
8
+
9
+ ## 4.7.3
10
+
11
+ _version bump_
12
+
3
13
  ## 4.7.2
4
14
 
5
15
  ### Patch Changes
@@ -45,7 +55,7 @@
45
55
  - docs(vite): mentioning version 8 configuration in `README.md` file - [see commit 4c5fc92](https://github.com/db-ux-design-system/core-web/commit/4c5fc9266402d9585087f4738a1a800cff1515f1)
46
56
 
47
57
  - fix(number input): prevent from clearing on intermediate decimal entry - [see commit aa85967](https://github.com/db-ux-design-system/core-web/commit/aa85967ffeaa685f6b647069d0e1d415d812dc87):
48
- - fix(input,textarea): allow using `undefined` as `value`
58
+ - fix(input,textarea): allow using `undefined` as `value`
49
59
 
50
60
  ## 4.5.4
51
61
 
@@ -186,14 +196,14 @@ _version bump_
186
196
  - refactor(notification): update and simplify grid layout for block link variant - [see commit cb83f96](https://github.com/db-ux-design-system/core-web/commit/cb83f966eaf29c85b4cf0079750bdd563f216d6e)
187
197
 
188
198
  - fix(DBCustomSelect): properly announce selected options - [see commit 773edeb](https://github.com/db-ux-design-system/core-web/commit/773edeb943a085eb79e1c8d59059137b2830fbf0):
189
- - feat(DBCustomSelect): introduce new property `selectedPrefix`
199
+ - feat(DBCustomSelect): introduce new property `selectedPrefix`
190
200
 
191
201
  ### Patch Changes
192
202
 
193
203
  - fix(DBCustomSelect): automatically handle form reset events - [see commit 6af5246](https://github.com/db-ux-design-system/core-web/commit/6af5246b3b2e6febdc6ff6342ba1a8eb10184d14):
194
- - An event listener is now added for every form component (input, custom-select, etc.) when a `form` property is passed.
195
- - This listener detects form resets and updates the component's internal value/checked state accordingly.
196
- - > **Note**: This does not work for `ngModel` in Angular.
204
+ - An event listener is now added for every form component (input, custom-select, etc.) when a `form` property is passed.
205
+ - This listener detects form resets and updates the component's internal value/checked state accordingly.
206
+ - > **Note**: This does not work for `ngModel` in Angular.
197
207
 
198
208
  - fix(button): Replace fixed height with min-height for buttons to allow dynamic height adjustment when text wraps - [see commit d1fd2c4](https://github.com/db-ux-design-system/core-web/commit/d1fd2c4e58a5ed6f75fab44700cd2d93c7232474)
199
209
 
@@ -216,7 +226,7 @@ _version bump_
216
226
  ### Patch Changes
217
227
 
218
228
  - chore: update instructions files for better copilot outputs - [see commit e4bc905](https://github.com/db-ux-design-system/core-web/commit/e4bc90508479387371d816d5776f9f568aa5fb82):
219
- - fix: add some missing variables
229
+ - fix: add some missing variables
220
230
 
221
231
  - fix(card): Remove the obsolete but harmful declaration regarding wrapping button and link styles. - [see commit 34c78df](https://github.com/db-ux-design-system/core-web/commit/34c78dffd4f43b0ac740574358b426a562e05cd0)
222
232
 
@@ -231,9 +241,9 @@ _version bump_
231
241
  ### Major Changes
232
242
 
233
243
  - feat: Switch stable rework - [see commit cb2deb0](https://github.com/db-ux-design-system/core-web/commit/cb2deb0f1c54900d1967483aea05d81279c02f59):
234
- - **BREAKING CHANGE**: remove `emphasis` property
235
- - introduce validation (invalid and valid)
236
- - configurable label position
244
+ - **BREAKING CHANGE**: remove `emphasis` property
245
+ - introduce validation (invalid and valid)
246
+ - configurable label position
237
247
 
238
248
  - **BREAKING CHANGE**: refactor(Custom Select): renamed `ariaListLabel` property to `listLabel` - [see commit 966d5ad](https://github.com/db-ux-design-system/core-web/commit/966d5ad01f00d0ca1707cc316a63e2d431fff1e9)
239
249
 
@@ -252,12 +262,12 @@ _version bump_
252
262
  ### Patch Changes
253
263
 
254
264
  - fix(DBTabs): ensure navigation arrows appear correctly on window resize - [see commit 4e65e00](https://github.com/db-ux-design-system/core-web/commit/4e65e00d280cae18baee03b5a7a9b13eec063835):
255
- - This update resolves an issue where navigation arrows in DBTabs would not appear or update correctly when the window was resized. The component now properly responds to resize events, ensuring arrows are always shown or hidden as needed.
265
+ - This update resolves an issue where navigation arrows in DBTabs would not appear or update correctly when the window was resized. The component now properly responds to resize events, ensuring arrows are always shown or hidden as needed.
256
266
 
257
267
  - fix(select): jumping placeholder for label above - [see commit 7ed8d22](https://github.com/db-ux-design-system/core-web/commit/7ed8d2225102e0e9044437e95917e11eef4bc73f)
258
268
 
259
269
  - enabled [`@db-ux/agent-cli`](https://www.npmjs.com/package/@db-ux/agent-cli) for every package - [see commit 0233048](https://github.com/db-ux-design-system/core-web/commit/023304869e61f5a506dca66a22d69e5f3d70f4d0):
260
- - auto-generate/auto-update `.github/copilot-instructions.md`, to ensure GitHub Copilot uses DB UX Components for code generation
270
+ - auto-generate/auto-update `.github/copilot-instructions.md`, to ensure GitHub Copilot uses DB UX Components for code generation
261
271
 
262
272
  ## 3.1.17
263
273
 
@@ -265,17 +275,17 @@ _version bump_
265
275
 
266
276
  - fix: color mode for textarea resizer control set by color-mode-switch documentation UI component - [see commit 354e270](https://github.com/db-ux-design-system/core-web/commit/354e27029a4378288a97ed5e31b75c11758f0c01)
267
277
  - refactor: enabling `hidden` HTML attribute in every context in which we need to set overwriting styling declarations (`display`) - [see commit 4826455](https://github.com/db-ux-design-system/core-web/commit/4826455637590b6ae780afb93abb9effe9380342)
268
- - @db-ux/core-foundations@3.1.17
278
+ - @db-ux/core-foundations@3.1.17
269
279
 
270
280
  ## 3.1.16
271
281
 
272
282
  ### Patch Changes
273
283
 
274
284
  - a28eb71: fix(custom-select): keyboard navigation for option groups in single-select mode - [see commit 6d60bab](https://github.com/db-ux-design-system/core-web/commit/6d60bab2eb87f16a9ffa942085bffd658564769c):
275
- - Fixes a keyboard accessibility issue where users could not navigate to options in subsequent option groups using arrow keys in single-select mode.
276
- - Now, all options are accessible via keyboard regardless of group boundaries.
285
+ - Fixes a keyboard accessibility issue where users could not navigate to options in subsequent option groups using arrow keys in single-select mode.
286
+ - Now, all options are accessible via keyboard regardless of group boundaries.
277
287
  - fix: JS framework core-components packages are missing `@db-ux` dependencies - [see commit 49df866](https://github.com/db-ux-design-system/core-web/commit/49df866e753a9459f5acdca4ad1e19141b477471)
278
- - @db-ux/core-foundations@3.1.16
288
+ - @db-ux/core-foundations@3.1.16
279
289
 
280
290
  ## 3.1.15
281
291
 
@@ -284,4 +294,4 @@ _version bump_
284
294
  - 262964b: fix(Switch): double event firing with Angular signals
285
295
  - 262964b: fix(CustomSelect): tags remaining visible when form values are reset
286
296
  - 262964b: fix(CustomSelect): custom removeTagsTexts are not applied correctly
287
- - @db-ux/core-foundations@3.1.15
297
+ - @db-ux/core-foundations@3.1.15
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-accordion[data-variant=card] .db-accordion-item::after {
3
5
  border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
@@ -17,6 +17,8 @@
17
17
  pointer-events: none !important;
18
18
  }
19
19
 
20
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
21
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
20
22
  /* Variants for adaptive components like input, select, notification, ... */
21
23
  @keyframes popover-animation {
22
24
  0% {
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-badge[data-size=medium], .db-badge[data-size=medium] > *,
3
5
  .db-badge[data-size=medium] .db-icon {
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-brand {
3
5
  font: var(--db-type-body-md);
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-button {
3
5
  font: var(--db-type-body-md);
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-card {
3
5
  border: var(--db-border-width-3xs) solid var(--db-adaptive-on-bg-basic-emphasis-60-default);
@@ -17,6 +17,8 @@
17
17
  pointer-events: none !important;
18
18
  }
19
19
 
20
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
21
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
20
22
  /* Variants for adaptive components like input, select, notification, ... */
21
23
  .db-checkbox input:checked:not([data-show-icon-leading=false])::before, .db-checkbox input:indeterminate:not([data-show-icon-leading=false])::before {
22
24
  color: var(--db-icon-color, inherit);
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-custom-button input {
3
5
  clip: rect(0, 0, 0, 0) !important;
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-custom-select[data-hide-label=true] > label, .db-visually-hidden,
3
5
  [data-visually-hidden=true] {
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-visually-hidden,
3
5
  [data-visually-hidden=true] {
@@ -17,6 +17,8 @@
17
17
  pointer-events: none !important;
18
18
  }
19
19
 
20
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
21
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
20
22
  /* Variants for adaptive components like input, select, notification, ... */
21
23
  .db-custom-select-form-field:is(summary) {
22
24
  list-style: none;
@@ -17,6 +17,8 @@
17
17
  pointer-events: none !important;
18
18
  }
19
19
 
20
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
21
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
20
22
  /* Variants for adaptive components like input, select, notification, ... */
21
23
  .db-custom-select-list {
22
24
  all: unset;
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-visually-hidden,
3
5
  [data-visually-hidden=true] {
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-divider:is(:not([data-margin]), [data-margin=small]) {
3
5
  margin: var(--db-spacing-fixed-sm) 0;
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  @keyframes popover-animation {
3
5
  0% {
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-header-meta-navigation {
3
5
  font: var(--db-type-body-md);
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-icon {
3
5
  font-size: 0 !important;
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-infotext {
3
5
  font: var(--db-type-body-sm);
@@ -17,6 +17,8 @@
17
17
  pointer-events: none !important;
18
18
  }
19
19
 
20
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
21
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
20
22
  /* Variants for adaptive components like input, select, notification, ... */
21
23
  .db-input:has(input:not([data-custom-validity]):is(:required, [minlength], [maxlength], [pattern], [type=color], [type=date], [type=datetime-local], [type=email], [type=file], [type=hidden], [type=month], [type=number], [type=range], [type=tel], [type=time], [type=url], [type=week]):user-invalid), .db-input:has(input[data-custom-validity=invalid]), .db-input[data-custom-validity=invalid] {
22
24
  --db-adaptive-bg-basic-level-1-default: var(
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-link {
3
5
  font: var(--db-type-body-md);
@@ -17,6 +17,8 @@
17
17
  pointer-events: none !important;
18
18
  }
19
19
 
20
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
21
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
20
22
  /* Variants for adaptive components like input, select, notification, ... */
21
23
  .db-navigation > menu .db-navigation-item::after {
22
24
  content: "";
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-navigation-item, .db-navigation-item a, .db-navigation-item .db-navigation-item-expand-button:is(button),
3
5
  .db-navigation-item .db-navigation-item-expand-button > button {
@@ -66,7 +66,7 @@
66
66
 
67
67
  %grid-layout-variant-not-overlay {
68
68
  // Hide timestamp for non-overlay variants only
69
- span {
69
+ [data-area="timestamp"] {
70
70
  display: none;
71
71
  }
72
72
 
@@ -145,12 +145,12 @@
145
145
  @include overlay-timestamp-area-layouts;
146
146
 
147
147
  // 2. Override: When explicitly "block" link variant with timestamp
148
- &:has(span)[data-link-variant="block"] {
148
+ &:has([data-area="timestamp"])[data-link-variant="block"] {
149
149
  @include overlay-block-layouts;
150
150
  }
151
151
 
152
152
  // 3. Override: When "block" link variant WITHOUT timestamp
153
- &:not(:has(span))[data-link-variant="block"] {
153
+ &:not(:has([data-area="timestamp"]))[data-link-variant="block"] {
154
154
  @include overlay-block-layouts-without-timestamp;
155
155
  }
156
156
  }
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
2
+ /* stylelint-disable-next-line scss/dollar-variable-colon-space-after */
1
3
  /* Variants for adaptive components like input, select, notification, ... */
2
4
  .db-notification[data-semantic=neutral] {
3
5
  --db-adaptive-bg-basic-level-1-default: var(
@@ -749,14 +751,14 @@
749
751
  );
750
752
  }
751
753
 
752
- .db-notification a[data-size=small], .db-notification > [data-area=content], .db-notification[data-link-variant=inline] a {
754
+ .db-notification a[data-size=small], .db-notification > [data-area=content], .db-notification[data-link-variant=inline] > :is(a, db-link) {
753
755
  font: var(--db-type-body-md);
754
756
  /* Those variables are only for components to calculate heights and change icons */
755
757
  --db-icon-font-weight: var(--db-base-body-icon-weight-md);
756
758
  --db-icon-font-size: var(--db-base-body-icon-font-size-md);
757
759
  }
758
760
 
759
- .db-notification span {
761
+ .db-notification [data-area=timestamp] {
760
762
  font: var(--db-type-body-sm);
761
763
  /* Those variables are only for components to calculate heights and change icons */
762
764
  --db-icon-font-weight: var(--db-base-body-icon-weight-sm);
@@ -1016,122 +1018,122 @@
1016
1018
  grid-template-areas: "icon head timestamp close" "icon content content content";
1017
1019
  grid-template-columns: min-content 1fr min-content min-content;
1018
1020
  }
1019
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block] {
1021
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block] {
1020
1022
  grid-template-areas: "content timestamp" "link link";
1021
1023
  grid-template-columns: 1fr min-content;
1022
1024
  }
1023
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block]:has(.db-button) {
1025
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block]:has(.db-button) {
1024
1026
  grid-template-areas: "content timestamp close" "link link link";
1025
1027
  grid-template-columns: 1fr min-content min-content;
1026
1028
  }
1027
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block]:has(header) {
1029
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block]:has(header) {
1028
1030
  grid-template-areas: "head timestamp" "content content" "link link";
1029
1031
  grid-template-columns: 1fr min-content;
1030
1032
  }
1031
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block]:has(header):has(.db-button) {
1033
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block]:has(header):has(.db-button) {
1032
1034
  grid-template-areas: "head timestamp close" "content content content" "link link link";
1033
1035
  grid-template-columns: 1fr min-content min-content;
1034
1036
  }
1035
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-icon]:not([data-show-icon=false]), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-semantic]:not([data-semantic=adaptive], [data-show-icon=false]), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block]:has(img) {
1037
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-icon]:not([data-show-icon=false]), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-semantic]:not([data-semantic=adaptive], [data-show-icon=false]), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block]:has(img) {
1036
1038
  grid-template-areas: "icon content timestamp" "icon link link";
1037
1039
  grid-template-columns: min-content 1fr min-content;
1038
1040
  }
1039
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1040
- [data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block]:has(img):has(.db-button) {
1041
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1042
+ [data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block]:has(img):has(.db-button) {
1041
1043
  grid-template-areas: "icon content timestamp close" "icon link link link";
1042
1044
  grid-template-columns: min-content 1fr min-content min-content;
1043
1045
  }
1044
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1045
- [data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block]:has(img):has(header) {
1046
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1047
+ [data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block]:has(img):has(header) {
1046
1048
  grid-template-areas: "icon head timestamp" "icon content content" "icon link link";
1047
1049
  grid-template-columns: min-content 1fr min-content;
1048
1050
  }
1049
- .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1050
- [data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:has(span)[data-link-variant=block]:has(img):has(header):has(.db-button) {
1051
+ .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1052
+ [data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:has([data-area=timestamp])[data-link-variant=block]:has(img):has(header):has(.db-button) {
1051
1053
  grid-template-areas: "icon head timestamp close" "icon content content content" "icon link link link";
1052
1054
  grid-template-columns: min-content 1fr min-content min-content;
1053
1055
  }
1054
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block] {
1056
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block] {
1055
1057
  grid-template-areas: "content" "link";
1056
1058
  grid-template-columns: 1fr;
1057
1059
  }
1058
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block]:has(.db-button) {
1060
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block]:has(.db-button) {
1059
1061
  grid-template-areas: "content close" "link link";
1060
1062
  grid-template-columns: 1fr min-content;
1061
1063
  }
1062
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block]:has(header) {
1064
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block]:has(header) {
1063
1065
  grid-template-areas: "head" "content" "link";
1064
1066
  grid-template-columns: 1fr;
1065
1067
  }
1066
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block]:has(header):has(.db-button) {
1068
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block]:has(header):has(.db-button) {
1067
1069
  grid-template-areas: "head close" "content content" "link link";
1068
1070
  grid-template-columns: 1fr min-content;
1069
1071
  }
1070
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-icon]:not([data-show-icon=false]), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive], [data-show-icon=false]), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block]:has(img) {
1072
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-icon]:not([data-show-icon=false]), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive], [data-show-icon=false]), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block]:has(img) {
1071
1073
  grid-template-areas: "icon content" "icon link";
1072
1074
  grid-template-columns: min-content 1fr;
1073
1075
  }
1074
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1075
- [data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block]:has(img):has(.db-button) {
1076
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1077
+ [data-show-icon=false]):has(.db-button), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block]:has(img):has(.db-button) {
1076
1078
  grid-template-areas: "icon content close" "icon link link";
1077
1079
  grid-template-columns: min-content 1fr min-content;
1078
1080
  }
1079
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1080
- [data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block]:has(img):has(header) {
1081
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1082
+ [data-show-icon=false]):has(header), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block]:has(img):has(header) {
1081
1083
  grid-template-areas: "icon head" "icon content" "icon link";
1082
1084
  grid-template-columns: min-content 1fr;
1083
1085
  }
1084
- .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1085
- [data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:not(:has(span))[data-link-variant=block]:has(img):has(header):has(.db-button) {
1086
+ .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-icon]:not([data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block][data-semantic]:not([data-semantic=adaptive],
1087
+ [data-show-icon=false]):has(header):has(.db-button), .db-notification[data-variant=overlay]:not(:has([data-area=timestamp]))[data-link-variant=block]:has(img):has(header):has(.db-button) {
1086
1088
  grid-template-areas: "icon head close" "icon content content" "icon link link";
1087
1089
  grid-template-columns: min-content 1fr min-content;
1088
1090
  }
1089
1091
 
1090
- .db-notification:not([data-variant=overlay])[data-link-variant=block] span, .db-notification:not([data-variant=overlay]):not([data-link-variant]):has(a) span {
1092
+ .db-notification:not([data-variant=overlay])[data-link-variant=block] [data-area=timestamp], .db-notification:not([data-variant=overlay]):not([data-link-variant]):has(> a, > db-link) [data-area=timestamp] {
1091
1093
  display: none;
1092
1094
  }
1093
- [data-link-variant=block].db-notification:not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):not([data-variant=overlay]) {
1095
+ [data-link-variant=block].db-notification:not([data-variant=overlay]), [data-link-variant=block].db-notification:not([data-variant=overlay]):not([data-link-variant]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a):not([data-variant=overlay]):has(> a, > db-link) {
1094
1096
  grid-template-areas: "content" "link";
1095
1097
  grid-template-columns: 1fr;
1096
1098
  }
1097
- [data-link-variant=block].db-notification:has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(.db-button):not([data-variant=overlay]) {
1099
+ [data-link-variant=block].db-notification:has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(.db-button):not([data-variant=overlay]):has(> a, > db-link) {
1098
1100
  grid-template-areas: "content close" "link link";
1099
1101
  grid-template-columns: 1fr min-content;
1100
1102
  }
1101
- [data-link-variant=block].db-notification:has(header):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(header):not([data-variant=overlay]) {
1103
+ [data-link-variant=block].db-notification:has(header):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(header):not([data-variant=overlay]):has(> a, > db-link) {
1102
1104
  grid-template-areas: "head" "content" "link";
1103
1105
  grid-template-columns: 1fr;
1104
1106
  }
1105
- [data-link-variant=block].db-notification:has(header):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(header):has(.db-button):not([data-variant=overlay]) {
1107
+ [data-link-variant=block].db-notification:has(header):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(header):has(.db-button):not([data-variant=overlay]):has(> a, > db-link) {
1106
1108
  grid-template-areas: "head close" "content content" "link link";
1107
1109
  grid-template-columns: 1fr min-content;
1108
1110
  }
1109
- [data-link-variant=block][data-icon].db-notification:not([data-show-icon=false]):not([data-variant=overlay]), [data-link-variant=block][data-semantic].db-notification:not([data-semantic=adaptive], [data-show-icon=false]):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive], [data-show-icon=false]):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(img):not([data-variant=overlay]) {
1111
+ [data-link-variant=block][data-icon].db-notification:not([data-show-icon=false]):not([data-variant=overlay]), [data-link-variant=block][data-semantic].db-notification:not([data-semantic=adaptive], [data-show-icon=false]):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive], [data-show-icon=false]):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a):has(img):not([data-variant=overlay]):has(> a, > db-link) {
1110
1112
  grid-template-areas: "icon content" "icon link";
1111
1113
  grid-template-columns: min-content 1fr;
1112
1114
  }
1113
1115
  [data-link-variant=block][data-icon].db-notification:not([data-show-icon=false]):has(.db-button):not([data-variant=overlay]), [data-link-variant=block][data-semantic].db-notification:not([data-semantic=adaptive],
1114
- [data-show-icon=false]):has(.db-button):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive],
1115
- [data-show-icon=false]):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(img):has(.db-button):not([data-variant=overlay]) {
1116
+ [data-show-icon=false]):has(.db-button):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):has(.db-button):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive],
1117
+ [data-show-icon=false]):has(.db-button):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a):has(img):has(.db-button):not([data-variant=overlay]):has(> a, > db-link) {
1116
1118
  grid-template-areas: "icon content close" "icon link link";
1117
1119
  grid-template-columns: min-content 1fr min-content;
1118
1120
  }
1119
1121
  [data-link-variant=block][data-icon].db-notification:not([data-show-icon=false]):has(header):not([data-variant=overlay]), [data-link-variant=block][data-semantic].db-notification:not([data-semantic=adaptive],
1120
- [data-show-icon=false]):has(header):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):has(header):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):has(header):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive],
1121
- [data-show-icon=false]):has(header):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(img):has(header):not([data-variant=overlay]) {
1122
+ [data-show-icon=false]):has(header):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):has(header):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):has(header):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive],
1123
+ [data-show-icon=false]):has(header):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a):has(img):has(header):not([data-variant=overlay]):has(> a, > db-link) {
1122
1124
  grid-template-areas: "icon head" "icon content" "icon link";
1123
1125
  grid-template-columns: min-content 1fr;
1124
1126
  }
1125
1127
  [data-link-variant=block][data-icon].db-notification:not([data-show-icon=false]):has(header):has(.db-button):not([data-variant=overlay]), [data-link-variant=block][data-semantic].db-notification:not([data-semantic=adaptive],
1126
- [data-show-icon=false]):has(header):has(.db-button):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):has(header):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):has(header):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive],
1127
- [data-show-icon=false]):has(header):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a):has(img):has(header):has(.db-button):not([data-variant=overlay]) {
1128
+ [data-show-icon=false]):has(header):has(.db-button):not([data-variant=overlay]), [data-link-variant=block].db-notification:has(img):has(header):has(.db-button):not([data-variant=overlay]), .db-notification:not([data-link-variant]):has(a)[data-icon]:not([data-show-icon=false]):has(header):has(.db-button):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a)[data-semantic]:not([data-semantic=adaptive],
1129
+ [data-show-icon=false]):has(header):has(.db-button):not([data-variant=overlay]):has(> a, > db-link), .db-notification:not([data-link-variant]):has(a):has(img):has(header):has(.db-button):not([data-variant=overlay]):has(> a, > db-link) {
1128
1130
  grid-template-areas: "icon head close" "icon content content" "icon link link";
1129
1131
  grid-template-columns: min-content 1fr min-content;
1130
1132
  }
1131
1133
 
1132
- .db-notification:has(span) header,
1133
- .db-notification:has(span) p, .db-notification:has(span)::before,
1134
- .db-notification:has(span) .db-button {
1134
+ .db-notification:has([data-area=timestamp]) [data-area=head],
1135
+ .db-notification:has([data-area=timestamp]) p, .db-notification:has([data-area=timestamp])::before,
1136
+ .db-notification:has([data-area=timestamp]) .db-button {
1135
1137
  /* stylelint-disable-next-line db-ux/use-spacings */
1136
1138
  margin-block-start: -2px;
1137
1139
  }
@@ -1152,33 +1154,33 @@
1152
1154
  content: none !important;
1153
1155
  margin: 0 !important;
1154
1156
  }
1155
- .db-notification header {
1157
+ .db-notification [data-area=head] {
1156
1158
  grid-area: head;
1157
1159
  }
1158
- .db-notification header,
1159
- .db-notification header h1,
1160
- .db-notification header h2,
1161
- .db-notification header h3,
1162
- .db-notification header h4,
1163
- .db-notification header h5,
1164
- .db-notification header h6 {
1160
+ .db-notification [data-area=head],
1161
+ .db-notification [data-area=head] h1,
1162
+ .db-notification [data-area=head] h2,
1163
+ .db-notification [data-area=head] h3,
1164
+ .db-notification [data-area=head] h4,
1165
+ .db-notification [data-area=head] h5,
1166
+ .db-notification [data-area=head] h6 {
1165
1167
  margin: 0;
1166
1168
  font: var(--db-type-body-md);
1167
1169
  font-weight: 700;
1168
1170
  }
1169
- .db-notification header::before, .db-notification header::after,
1170
- .db-notification header h1::before,
1171
- .db-notification header h1::after,
1172
- .db-notification header h2::before,
1173
- .db-notification header h2::after,
1174
- .db-notification header h3::before,
1175
- .db-notification header h3::after,
1176
- .db-notification header h4::before,
1177
- .db-notification header h4::after,
1178
- .db-notification header h5::before,
1179
- .db-notification header h5::after,
1180
- .db-notification header h6::before,
1181
- .db-notification header h6::after {
1171
+ .db-notification [data-area=head]::before, .db-notification [data-area=head]::after,
1172
+ .db-notification [data-area=head] h1::before,
1173
+ .db-notification [data-area=head] h1::after,
1174
+ .db-notification [data-area=head] h2::before,
1175
+ .db-notification [data-area=head] h2::after,
1176
+ .db-notification [data-area=head] h3::before,
1177
+ .db-notification [data-area=head] h3::after,
1178
+ .db-notification [data-area=head] h4::before,
1179
+ .db-notification [data-area=head] h4::after,
1180
+ .db-notification [data-area=head] h5::before,
1181
+ .db-notification [data-area=head] h5::after,
1182
+ .db-notification [data-area=head] h6::before,
1183
+ .db-notification [data-area=head] h6::after {
1182
1184
  --db-icon-font-size: var(--db-base-body-icon-font-size-md);
1183
1185
  --db-icon-font-weight: var(--db-base-body-icon-weight-md);
1184
1186
  }
@@ -1195,7 +1197,7 @@
1195
1197
  object-fit: cover;
1196
1198
  grid-area: icon;
1197
1199
  }
1198
- .db-notification span {
1200
+ .db-notification [data-area=timestamp] {
1199
1201
  grid-area: timestamp;
1200
1202
  white-space: nowrap;
1201
1203
  justify-self: end;
@@ -1203,15 +1205,15 @@
1203
1205
  .db-notification .db-button {
1204
1206
  grid-area: close;
1205
1207
  }
1206
- .db-notification[data-link-variant=inline] a {
1208
+ .db-notification[data-link-variant=inline] > :is(a, db-link) {
1207
1209
  grid-area: timestamp;
1208
1210
  white-space: nowrap;
1209
1211
  justify-self: end;
1210
1212
  }
1211
- .db-notification[data-link-variant=inline]:has(a) > span {
1213
+ .db-notification[data-link-variant=inline]:has(> a, > db-link) > [data-area=timestamp] {
1212
1214
  display: none;
1213
1215
  }
1214
- .db-notification:not([data-link-variant=inline]) a {
1216
+ .db-notification:not([data-link-variant=inline]) > :is(a, db-link) {
1215
1217
  grid-area: link;
1216
1218
  white-space: nowrap;
1217
1219
  }