@tui/design-system 1.15.1-MR-359.0 → 1.16.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## v1.16.0
4
4
 
5
+ ### Added
6
+
7
+ #### [Media block](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-media-block--docs)
8
+
9
+ - Added Media block component for pairing a square media slot (image, logo, or pictogram) with a title and supporting description. Available in Medium
10
+ and Large sizes. Stacked is the base arrangement (mobile-first) and `uilib-media-block--inline` is the layout modifier; the block never reflows on
11
+ its own — a host switches the layout from its own container query.
12
+
5
13
  ### Updated
6
14
 
7
15
  #### [Article card](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-cards-article-card--docs)
@@ -31,11 +39,47 @@
31
39
  affecting `role="dialog"` ([nvaccess/nvda#8971](https://github.com/nvaccess/nvda/issues/8971)). Note the heading is no longer reachable via screen
32
40
  reader heading navigation. Applies to both `version="1"` and `version="2"`.
33
41
 
42
+ #### [Reasons to book](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/patterns-reasons-to-book--docs)
43
+
44
+ - Reason cards are now built from the Media Block component rather than the pattern's own markup.
45
+ - The pictogram now sits in Media Block's media slot at 64px, replacing the pattern's own 72px pictogram.
46
+ - Stacked is now the base card arrangement; the pattern switches its cards to Inline above 547px from its own container query, rather than starting
47
+ inline and stacking below that width.
48
+ - The pre-Media-Block `uilib-reasons-to-book__reason` / `__pictogram` / `__text` classes still work unchanged for existing hand-written markup.
49
+
50
+ Each reason card was previously marked up with the pattern's own classes:
51
+
52
+ ```html
53
+ <div class="uilib-reasons-to-book__reason">
54
+ <img class="uilib-reasons-to-book__pictogram" src="/v3/pictograms/tui/chat.svg" width="72" height="72" alt="" aria-hidden="true" loading="lazy" />
55
+ <p class="uilib-reasons-to-book__text">24/7 support while you're away</p>
56
+ </div>
57
+ ```
58
+
59
+ Each reason card is now a Media Block:
60
+
61
+ ```html
62
+ <div class="uilib-media-block">
63
+ <div class="uilib-media-block__media" aria-hidden="true">
64
+ <img src="/v3/pictograms/tui/chat.svg" width="64" height="64" alt="" loading="lazy" />
65
+ </div>
66
+ <div class="uilib-media-block__text">
67
+ <p class="uilib-media-block__title">24/7 support while you're away</p>
68
+ </div>
69
+ </div>
70
+ ```
71
+
34
72
  #### [Timeline](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-timeline--docs)
35
73
 
36
74
  - Added a `condensed` variant (`uilib-timeline--condensed`) with smaller icons, tighter spacing and a continuous (solid) connecting line, for dense
37
75
  contexts such as flights in the basket holiday summary.
38
76
 
77
+ ### Fixed
78
+
79
+ #### [Globals](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/globals-update-history--docs)
80
+
81
+ - Fix for `uilib-root` where background for body was also being applied to root.
82
+
39
83
  ## v1.15.0
40
84
 
41
85
  ### Updated
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tui/design-system",
3
- "version": "1.15.1-MR-359.0",
3
+ "version": "1.16.0",
4
4
  "description": "TUI Design System",
5
5
  "author": "TUI Group",
6
6
  "//dependencies": {
@@ -61,8 +61,6 @@ $uilib-card-included: false !default;
61
61
  &--link button {
62
62
  position: static;
63
63
 
64
- text-decoration: none;
65
-
66
64
  &::after {
67
65
  position: absolute;
68
66
  inset: 0;
@@ -70,6 +68,10 @@ $uilib-card-included: false !default;
70
68
  }
71
69
  }
72
70
 
71
+ &--link :is(h1, h2, h3, h4, h5, h6) a {
72
+ text-decoration: none;
73
+ }
74
+
73
75
  &--link:has(a:hover, button:hover) {
74
76
  .uilib-card__icon-button::after {
75
77
  background: var(--uilib-icon-button-primary-hover-bg-color);
@@ -80,9 +80,13 @@ $uilib-reasons-to-book-included: false !default;
80
80
 
81
81
  // Media Block layer. The pattern now composes Media Block for its reason cards; these
82
82
  // host-only rules add what Media Block does not set. Media Block owns its own gap, media
83
- // size, typography, and inline-end padding, so nothing here overrides those.
83
+ // size, and typography, so nothing here overrides those.
84
84
  // Base is the compact, stacked card (mobile-first): media centred above the text.
85
85
  .uilib-media-block {
86
+ // Reason cards shrink to fit, so Media Block's inline-end padding would widen short cards
87
+ // and trip the carousel earlier than intended. Zero it via the block's own token.
88
+ --uilib-media-block-padding-inline-end-active: 0;
89
+
86
90
  max-width: 10.5625rem; /* 169 — Figma compact card, media centred above the text */
87
91
  }
88
92
 
@@ -94,7 +98,7 @@ $uilib-reasons-to-book-included: false !default;
94
98
  @include uilib-media-block-inline;
95
99
 
96
100
  .uilib-media-block {
97
- max-width: 14.875rem; /* 238 — Figma inline card: 64 media + 12 gap + 142 text + 20 inline-end padding */
101
+ max-width: 14.875rem; /* 238 — Figma inline card: 64 media + 12 gap + 162 text (RTB zeroes the inline-end padding above) */
98
102
  }
99
103
 
100
104
  // Legacy markup: hand-written __reason cards go inline above the breakpoint.
package/scss/reset.scss CHANGED
@@ -52,6 +52,8 @@ ol {
52
52
  body {
53
53
  min-height: 100dvh;
54
54
  margin: 0 auto;
55
+
56
+ background-color: var(--uilib-color-canvas-default);
55
57
  }
56
58
 
57
59
  /* Inheritable body baseline — body for pages, .uilib-root wrapper for MFEs.
@@ -63,7 +65,6 @@ body,
63
65
  font: var(--uilib-typography-body-medium);
64
66
  text-shadow: none;
65
67
 
66
- background-color: var(--uilib-color-canvas-default);
67
68
  text-rendering: optimizelegibility;
68
69
  }
69
70