@tui/design-system 1.7.0 → 1.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 (36) hide show
  1. package/CHANGELOG.md +68 -1
  2. package/dist/themes/crystalski/index.css +27 -0
  3. package/dist/themes/crystalski/index.css.map +1 -1
  4. package/dist/themes/firstchoice/index.css +27 -0
  5. package/dist/themes/firstchoice/index.css.map +1 -1
  6. package/dist/themes/tui/index.css +27 -0
  7. package/dist/themes/tui/index.css.map +1 -1
  8. package/package.json +10 -9
  9. package/scss/lib/accordion/_mixins.scss +12 -3
  10. package/scss/lib/cards/carousel/_index.scss +3 -0
  11. package/scss/lib/cards/carousel/_mixins.scss +164 -0
  12. package/scss/lib/cards/carousel/_variables.scss +13 -0
  13. package/scss/lib/highlight-panel/_index.scss +2 -0
  14. package/scss/lib/highlight-panel/_mixins.scss +244 -0
  15. package/scss/lib/highlight-panel/_variables.scss +21 -0
  16. package/scss/lib/list/_mixins.scss +51 -0
  17. package/scss/lib/list/_variables.scss +1 -0
  18. package/scss/lib/patterns/review-card/_index.scss +3 -0
  19. package/scss/lib/patterns/review-card/_mixins.scss +283 -0
  20. package/scss/lib/patterns/review-card/_variables.scss +3 -0
  21. package/scss/lib/ratings-reviews/range-icons/_mixins.scss +16 -2
  22. package/scss/lib/ratings-reviews/range-icons/_variables.scss +2 -0
  23. package/scss/mixins.scss +3 -0
  24. package/scss/themes/crystalski/_overrides.scss +17 -0
  25. package/scss/themes/crystalski/index.scss +6 -0
  26. package/scss/themes/crystalski/theme.json +7 -0
  27. package/scss/themes/firstchoice/_overrides.scss +19 -0
  28. package/scss/themes/firstchoice/index.scss +6 -0
  29. package/scss/themes/firstchoice/theme.json +13 -0
  30. package/scss/themes/tui/_overrides.scss +19 -0
  31. package/scss/themes/tui/index.scss +6 -0
  32. package/scss/themes/tui/theme.json +8 -0
  33. package/scss/variables/_primitives.scss +3 -0
  34. package/scss/variables/base-theme.json +170 -1
  35. package/scss/variables.scss +5 -0
  36. package/types/components.ts +7 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,72 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.8.0
4
+
5
+ ### Added
6
+
7
+ #### [Card Carousel](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-cards-carousel--docs)
8
+
9
+ - New carousel component for horizontally navigating consumer-provided content items such as product cards, image galleries, or promotional banners.
10
+ Enhances static, natively scrollable markup into an Embla-driven carousel with `page` and `item` variants, and remains usable without JavaScript via
11
+ native horizontal scrolling.
12
+
13
+ #### [Highlight Panel](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-highlight-panel--docs)
14
+
15
+ - Added the Highlight Panel which is a structural component for presenting content with elevated prominence. It provides a header, a collapsible
16
+ (optional) detail area, and an optional footer — suitable for summarised overviews, key information panels, or any context that benefits from a
17
+ clear visual hierarchy between a condensed summary and expandable detail.
18
+
19
+ #### [Review card](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/patterns-review-card--docs)
20
+
21
+ - Added the Review card to display aggregated third-party ratings (e.g. Tripadvisor) in a compact card format. It shows an overall score, rating
22
+ descriptor, review count, per-category breakdowns, and a link to the full review source. The component is brand-agnostic and adapts to different
23
+ review providers across markets.
24
+
25
+ ### Updated
26
+
27
+ #### [List](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-list--docs)
28
+
29
+ - Added `uilib-list--plain` variant for lists without any leading bullet, icon, number, or image. Useful when the list semantics are needed but no
30
+ visual indicator is required.
31
+ - Added `uilib-list__hint` class for right-aligned content within a list item (e.g. edit links, prices). Uses CSS grid to pin the hint to the right
32
+ while leaving the rest of the list item content unaffected.
33
+ - Added highlighted list item styling (`uilib-list__highlight-item`) for promoting a single item within a list, e.g. discount or coupon code.
34
+
35
+ #### [Numerical rating](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-ratings-and-reviews-numerical--docs)
36
+
37
+ - Rating scale changed from 1–10 to 1–5 to align with the updated TUI customer review scoring system
38
+ - Added `author` organization (TUI) to schema output to identify the rating source
39
+ - Schema now uses `Place` instead of `Hotel` and `reviewCount` instead of `ratingCount`
40
+ - Schema values now use numeric types instead of strings
41
+
42
+ #### [Percentage rating](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-ratings-and-reviews-percentage--docs)
43
+
44
+ - Updated schema example to use `Place` with `AggregateRating` pattern and corrected property types
45
+ - Added `author` organization (HolidayCheck) to schema output to identify the rating source
46
+ - Schema values now use numeric types instead of strings
47
+
48
+ #### [Range bar](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-ratings-and-reviews-range-bar--docs)
49
+
50
+ - Updated schema documentation to use `Place` with `AggregateRating` pattern including `reviewAspect` for aspect-level ratings
51
+ - Added `author` organization to schema output to identify the rating source
52
+ - Range bar group now has a single consolidated JSON-LD block for all category schemas instead of individual schemas per bar
53
+
54
+ #### [Range icons](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-ratings-and-reviews-range-icons--docs)
55
+
56
+ - Added HolidayCheck rating variant (`uilib-ratings-range-icons--holidaycheck`) with a 0–6 scale in 1 increments. HolidayCheck variant displays a
57
+ numerical score preceding the icon range, consistent with Customer and TripAdvisor variants
58
+ - Added `uilib-ratings-range-icons__description` element for an optional descriptive label (e.g. "Excellent") displayed alongside the score. For use
59
+ with [Review Card](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/patterns-review-card--docs)
60
+ - Added `author` organization to schema output to identify the rating source (TUI, TripAdvisor, HolidayCheck)
61
+
62
+ #### [Range icon group](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-ratings-and-reviews-range-icons-group--docs)
63
+
64
+ - Added HolidayCheck variant support to the range icons group component
65
+ - Schema output consolidated into a single JSON-LD block per group using `additionalProperty` for aspect ratings, instead of individual schemas per
66
+ child range icon
67
+ - Added `author` organization to schema output to identify the rating source
68
+ - Schema `value` and `maxValue` now use numeric types instead of strings
69
+
3
70
  ## v1.7.0
4
71
 
5
72
  ### Added
@@ -410,7 +477,7 @@ The following markup shows the previous implementation that included the now-dep
410
477
 
411
478
  #### [Range icon](https://mwa.tui.com/browse/mwa/uilib-production/storybook/index.html?path=/docs/components-ratings-and-reviews-range-icons--docs)
412
479
 
413
- - Added customer rating variant `uilib-ratings-range-icons--tui`.
480
+ - Added customer rating variant `uilib-ratings-range-icons--customer`.
414
481
  - Added inverse support for TripAdvisor variant.
415
482
  - Added rating score that precedes the customer and TripAdvisor icon ranges for better clarity.
416
483
  - Spacing between the logo, value, score and details elements has been adjusted to be consistently spacing-200 (8px).
@@ -231,6 +231,14 @@
231
231
  --uilib-card-contrast-bg-color: var(--uilib-color-canvas-contrast);
232
232
  --uilib-card-article-radius: var(--uilib-border-radius-600);
233
233
  --uilib-card-article-link-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/crystalski/standard/arrow-right.svg");
234
+ --uilib-carousel-gap: var(--uilib-spacing-400);
235
+ --uilib-carousel-viewport-padding: var(--uilib-spacing-200);
236
+ --uilib-carousel-prev-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/crystalski/standard/chevron-left.svg");
237
+ --uilib-carousel-next-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/crystalski/standard/chevron-right.svg");
238
+ --uilib-carousel-counter-color: var(--uilib-color-text-body);
239
+ --uilib-carousel-counter-font: var(--uilib-typography-body-medium);
240
+ --uilib-carousel-motion-duration: 300ms;
241
+ --uilib-carousel-motion-easing: ease-out;
234
242
  --uilib-card-icon-small-radius: var(--uilib-card-radius);
235
243
  --uilib-card-icon-large-radius: var(--uilib-border-radius-600);
236
244
  --uilib-card-icon-link-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/crystalski/standard/chevron-right.svg");
@@ -321,6 +329,22 @@
321
329
  --uilib-hero-flagship-content-bg-color: color-mix(in srgb, var(--uilib-color-core-brand-strong) 90%, transparent);
322
330
  --uilib-hero-flagship-content-text-color: var(--uilib-color-text-inverse);
323
331
  --uilib-hero-flagship-content-text-highlight-color: var(--uilib-color-text-inverse);
332
+ --uilib-highlight-panel-radius: var(--uilib-border-radius-400);
333
+ --uilib-highlight-panel-border-color: var(--uilib-color-border-card);
334
+ --uilib-highlight-panel-bg-color: var(--uilib-color-canvas-default);
335
+ --uilib-highlight-panel-header-font: var(--uilib-typography-component-heading-medium);
336
+ --uilib-highlight-panel-header-font-brand: var(--uilib-typography-component-heading-large-strong);
337
+ --uilib-highlight-panel-header-font-color: var(--uilib-color-text-strong);
338
+ --uilib-highlight-panel-header-font-color-strong: var(--uilib-color-text-inverse);
339
+ --uilib-highlight-panel-header-font-color-brand: var(--uilib-color-text-body);
340
+ --uilib-highlight-panel-header-icon-color: var(--uilib-color-core-interaction);
341
+ --uilib-highlight-panel-header-icon-color-strong: var(--uilib-color-text-inverse);
342
+ --uilib-highlight-panel-header-icon-color-brand: var(--uilib-color-core-interaction);
343
+ --uilib-highlight-panel-header-bg-color: var(--uilib-color-core-surface);
344
+ --uilib-highlight-panel-header-bg-color-strong: var(--uilib-color-core-brand-strong);
345
+ --uilib-highlight-panel-header-bg-color-brand: var(--uilib-color-core-brand);
346
+ --uilib-highlight-panel-header-bg-overlay-brand: none;
347
+ --uilib-highlight-panel-toggle-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/chevron-down.svg");
324
348
  --uilib-icon-button-radius: var(--uilib-border-radius-pill);
325
349
  --uilib-icon-button-ghost-color: var(--uilib-color-core-interaction);
326
350
  --uilib-icon-button-ghost-bg-color: transparent;
@@ -375,6 +399,7 @@
375
399
  --uilib-list-image-radius: var(--uilib-border-radius-100);
376
400
  --uilib-list-image-alt-radius: var(--uilib-border-radius-circle);
377
401
  --uilib-list-multiline-title-font: var(--uilib-typography-label-medium-strong);
402
+ --uilib-list-highlight-color: var(--uilib-color-text-promotion);
378
403
  --uilib-loader-image: url("https://mwa.tui.com/shared/mwa/assets/v3/motion/crystalski/loader.svg");
379
404
  --uilib-loader-small: 3.75rem;
380
405
  --uilib-loader-medium: 7.5rem;
@@ -444,6 +469,8 @@
444
469
  --uilib-ratings-range-icons-customer-rating-checked-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/customer-checked.svg");
445
470
  --uilib-ratings-range-icons-tui-t-rating-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/tui-t.svg");
446
471
  --uilib-ratings-range-icons-tui-t-plus-color: #1b115c;
472
+ --uilib-ratings-range-icons-holidaycheck-rating-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/holidaycheck-unchecked.svg");
473
+ --uilib-ratings-range-icons-holidaycheck-rating-checked-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/holidaycheck-checked.svg");
447
474
  --uilib-ratings-range-bar-bar-width: 11.25rem;
448
475
  --uilib-ratings-range-bar-bar-color: var(--uilib-color-core-brand);
449
476
  --uilib-ratings-range-bar-bar-bg-color: var(--uilib-color-core-neutral);
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/lib/divider/_variables.scss","../../../src/lib/info-tag/_variables.scss","../../../src/themes/crystalski/index.scss","../../../src/lib/utility/_mixins.scss","../../../src/variables/_grid.scss","../../../src/variables/_icons.scss","../../../src/variables/_typography.scss"],"names":[],"mappings":"AAEA;AAQA;ACNA;ACGA;AAAA;AAAA;AAAA;EAKC;ECLC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ECKD;EACA;EACA;EACA;EAGA;EACA;ECGA;EFfC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EGgHD;EHhHC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/lib/divider/_variables.scss","../../../src/lib/info-tag/_variables.scss","../../../src/themes/crystalski/index.scss","../../../src/lib/utility/_mixins.scss","../../../src/variables/_grid.scss","../../../src/variables/_icons.scss","../../../src/variables/_typography.scss"],"names":[],"mappings":"AAEA;AAQA;ACNA;ACGA;AAAA;AAAA;AAAA;EAKC;ECLC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ECKD;EACA;EACA;EACA;EAGA;EACA;ECGA;EFfC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EGgHD;EHhHC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA","file":"index.css"}
@@ -237,6 +237,14 @@
237
237
  --uilib-card-contrast-bg-color: var(--uilib-color-canvas-contrast);
238
238
  --uilib-card-article-radius: var(--uilib-border-radius-200);
239
239
  --uilib-card-article-link-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/firstchoice/standard/arrow-right.svg");
240
+ --uilib-carousel-gap: var(--uilib-spacing-400);
241
+ --uilib-carousel-viewport-padding: var(--uilib-spacing-200);
242
+ --uilib-carousel-prev-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/firstchoice/standard/chevron-left.svg");
243
+ --uilib-carousel-next-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/firstchoice/standard/chevron-right.svg");
244
+ --uilib-carousel-counter-color: var(--uilib-color-text-body);
245
+ --uilib-carousel-counter-font: var(--uilib-typography-body-medium);
246
+ --uilib-carousel-motion-duration: 300ms;
247
+ --uilib-carousel-motion-easing: ease-out;
240
248
  --uilib-card-icon-small-radius: var(--uilib-border-radius-200);
241
249
  --uilib-card-icon-large-radius: var(--uilib-border-radius-200);
242
250
  --uilib-card-icon-link-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/firstchoice/standard/chevron-right.svg");
@@ -328,6 +336,22 @@
328
336
  --uilib-hero-flagship-content-bg-color: color-mix(in srgb, var(--uilib-color-core-brand-strong) 90%, transparent);
329
337
  --uilib-hero-flagship-content-text-color: var(--uilib-color-text-inverse);
330
338
  --uilib-hero-flagship-content-text-highlight-color: var(--uilib-color-text-inverse);
339
+ --uilib-highlight-panel-radius: var(--uilib-border-radius-200);
340
+ --uilib-highlight-panel-border-color: var(--uilib-color-border-card);
341
+ --uilib-highlight-panel-bg-color: var(--uilib-color-canvas-default);
342
+ --uilib-highlight-panel-header-font: var(--uilib-typography-component-heading-medium);
343
+ --uilib-highlight-panel-header-font-brand: var(--uilib-typography-component-heading-large-strong);
344
+ --uilib-highlight-panel-header-font-color: var(--uilib-color-text-strong);
345
+ --uilib-highlight-panel-header-font-color-strong: var(--uilib-color-text-inverse);
346
+ --uilib-highlight-panel-header-font-color-brand: var(--uilib-color-text-strong);
347
+ --uilib-highlight-panel-header-icon-color: var(--uilib-color-core-interaction);
348
+ --uilib-highlight-panel-header-icon-color-strong: var(--uilib-color-text-inverse);
349
+ --uilib-highlight-panel-header-icon-color-brand: var(--uilib-color-text-strong);
350
+ --uilib-highlight-panel-header-bg-color: var(--uilib-color-core-surface);
351
+ --uilib-highlight-panel-header-bg-color-strong: var(--uilib-color-core-brand-strong);
352
+ --uilib-highlight-panel-header-bg-color-brand: var(--uilib-color-core-brand);
353
+ --uilib-highlight-panel-header-bg-overlay-brand: none;
354
+ --uilib-highlight-panel-toggle-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/chevron-down.svg");
331
355
  --uilib-icon-button-radius: var(--uilib-border-radius-200);
332
356
  --uilib-icon-button-ghost-color: var(--uilib-color-text-strong);
333
357
  --uilib-icon-button-ghost-bg-color: transparent;
@@ -382,6 +406,7 @@
382
406
  --uilib-list-image-radius: var(--uilib-border-radius-100);
383
407
  --uilib-list-image-alt-radius: var(--uilib-border-radius-circle);
384
408
  --uilib-list-multiline-title-font: var(--uilib-typography-label-medium-strong);
409
+ --uilib-list-highlight-color: var(--uilib-color-text-promotion);
385
410
  --uilib-loader-image: url("https://mwa.tui.com/shared/mwa/assets/v3/motion/firstchoice/loader.svg");
386
411
  --uilib-loader-small: 3.75rem;
387
412
  --uilib-loader-medium: 7.5rem;
@@ -451,6 +476,8 @@
451
476
  --uilib-ratings-range-icons-customer-rating-checked-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/customer-checked.svg");
452
477
  --uilib-ratings-range-icons-tui-t-rating-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/tui-t.svg");
453
478
  --uilib-ratings-range-icons-tui-t-plus-color: #1b115c;
479
+ --uilib-ratings-range-icons-holidaycheck-rating-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/holidaycheck-unchecked.svg");
480
+ --uilib-ratings-range-icons-holidaycheck-rating-checked-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/holidaycheck-checked.svg");
454
481
  --uilib-ratings-range-bar-bar-width: 11.25rem;
455
482
  --uilib-ratings-range-bar-bar-color: var(--uilib-color-core-brand);
456
483
  --uilib-ratings-range-bar-bar-bg-color: var(--uilib-color-core-neutral);
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/lib/divider/_variables.scss","../../../src/lib/info-tag/_variables.scss","../../../src/themes/firstchoice/_overrides.scss","../../../src/themes/firstchoice/index.scss","../../../src/lib/utility/_mixins.scss","../../../src/variables/_grid.scss","../../../src/variables/_icons.scss","../../../src/variables/_typography.scss"],"names":[],"mappings":"AAEA;AAQA;ACNA;ACgBA;ACbA;AAAA;AAAA;AAAA;EAKC;ECLC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ECKD;EACA;EACA;EACA;EAGA;EACA;ECGA;EFfC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EGgHD;EHhHC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/lib/divider/_variables.scss","../../../src/lib/info-tag/_variables.scss","../../../src/themes/firstchoice/_overrides.scss","../../../src/themes/firstchoice/index.scss","../../../src/lib/utility/_mixins.scss","../../../src/variables/_grid.scss","../../../src/variables/_icons.scss","../../../src/variables/_typography.scss"],"names":[],"mappings":"AAEA;AAQA;ACNA;ACgBA;ACbA;AAAA;AAAA;AAAA;EAKC;ECLC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ECKD;EACA;EACA;EACA;EAGA;EACA;ECGA;EFfC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EGgHD;EHhHC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA","file":"index.css"}
@@ -254,6 +254,14 @@
254
254
  --uilib-card-contrast-bg-color: var(--uilib-color-canvas-contrast);
255
255
  --uilib-card-article-radius: var(--uilib-border-radius-600);
256
256
  --uilib-card-article-link-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/arrow-right.svg");
257
+ --uilib-carousel-gap: var(--uilib-spacing-400);
258
+ --uilib-carousel-viewport-padding: var(--uilib-spacing-200);
259
+ --uilib-carousel-prev-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/chevron-left.svg");
260
+ --uilib-carousel-next-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/chevron-right.svg");
261
+ --uilib-carousel-counter-color: var(--uilib-color-text-body);
262
+ --uilib-carousel-counter-font: var(--uilib-typography-body-medium);
263
+ --uilib-carousel-motion-duration: 300ms;
264
+ --uilib-carousel-motion-easing: ease-out;
257
265
  --uilib-card-icon-small-radius: var(--uilib-card-radius);
258
266
  --uilib-card-icon-large-radius: var(--uilib-border-radius-600);
259
267
  --uilib-card-icon-link-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/chevron-right.svg");
@@ -398,6 +406,7 @@
398
406
  --uilib-list-image-radius: var(--uilib-border-radius-100);
399
407
  --uilib-list-image-alt-radius: var(--uilib-border-radius-circle);
400
408
  --uilib-list-multiline-title-font: var(--uilib-typography-label-medium);
409
+ --uilib-list-highlight-color: var(--uilib-color-text-promotion);
401
410
  --uilib-loader-image: url("https://mwa.tui.com/shared/mwa/assets/v3/motion/tui/loader.svg");
402
411
  --uilib-loader-small: 3.75rem;
403
412
  --uilib-loader-medium: 7.5rem;
@@ -467,6 +476,8 @@
467
476
  --uilib-ratings-range-icons-customer-rating-checked-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/customer-checked.svg");
468
477
  --uilib-ratings-range-icons-tui-t-rating-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/tui-t.svg");
469
478
  --uilib-ratings-range-icons-tui-t-plus-color: #1b115c;
479
+ --uilib-ratings-range-icons-holidaycheck-rating-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/holidaycheck-unchecked.svg");
480
+ --uilib-ratings-range-icons-holidaycheck-rating-checked-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/logos/review/holidaycheck-checked.svg");
470
481
  --uilib-ratings-range-bar-bar-width: 11.25rem;
471
482
  --uilib-ratings-range-bar-bar-color: var(--uilib-color-core-brand);
472
483
  --uilib-ratings-range-bar-bar-bg-color: var(--uilib-color-core-neutral);
@@ -486,6 +497,22 @@
486
497
  --uilib-social-proofing-radius: var(--uilib-border-radius-300);
487
498
  --uilib-social-proofing-close-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/cross.svg");
488
499
  --uilib-social-proofing-box-shadow: var(--uilib-elevation-100);
500
+ --uilib-highlight-panel-radius: var(--uilib-border-radius-400);
501
+ --uilib-highlight-panel-border-color: var(--uilib-color-border-card);
502
+ --uilib-highlight-panel-bg-color: var(--uilib-color-canvas-default);
503
+ --uilib-highlight-panel-header-font: var(--uilib-typography-component-heading-medium);
504
+ --uilib-highlight-panel-header-font-brand: var(--uilib-typography-component-heading-large-strong);
505
+ --uilib-highlight-panel-header-font-color: var(--uilib-color-text-strong);
506
+ --uilib-highlight-panel-header-font-color-strong: var(--uilib-color-text-inverse);
507
+ --uilib-highlight-panel-header-font-color-brand: var(--uilib-color-text-strong);
508
+ --uilib-highlight-panel-header-icon-color: var(--uilib-color-core-interaction);
509
+ --uilib-highlight-panel-header-icon-color-strong: var(--uilib-color-text-inverse);
510
+ --uilib-highlight-panel-header-icon-color-brand: var(--uilib-color-core-interaction);
511
+ --uilib-highlight-panel-header-bg-color: var(--uilib-color-core-surface);
512
+ --uilib-highlight-panel-header-bg-color-strong: var(--uilib-color-core-brand-strong);
513
+ --uilib-highlight-panel-header-bg-color-brand: var(--uilib-color-core-brand);
514
+ --uilib-highlight-panel-header-bg-overlay-brand: radial-gradient(circle farthest-corner at 99.91% 0%, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.2) 40%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.2) 60%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.2) 80%, rgba(255, 255, 255, 0) 80%);
515
+ --uilib-highlight-panel-toggle-icon: url("https://mwa.tui.com/shared/mwa/assets/v3/icons/tui/standard/chevron-down.svg");
489
516
  --uilib-tabs-in-page-border-color: var(--uilib-color-border-card);
490
517
  --uilib-tabs-in-page-text-color: var(--uilib-color-text-strong);
491
518
  --uilib-tabs-in-page-active-color: var(--uilib-color-text-link);
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/lib/divider/_variables.scss","../../../src/lib/info-tag/_variables.scss","../../../src/themes/tui/index.scss","../../../src/lib/utility/_mixins.scss","../../../src/variables/_grid.scss","../../../src/variables/_icons.scss","../../../src/variables/_typography.scss"],"names":[],"mappings":"AAEA;AAQA;ACNA;ACGA;AAAA;AAAA;AAAA;EAKC;ECLC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ECKD;EACA;EACA;EACA;EAGA;EACA;ECGA;EFfC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EGgHD;EHhHC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/lib/divider/_variables.scss","../../../src/lib/info-tag/_variables.scss","../../../src/themes/tui/index.scss","../../../src/lib/utility/_mixins.scss","../../../src/variables/_grid.scss","../../../src/variables/_icons.scss","../../../src/variables/_typography.scss"],"names":[],"mappings":"AAEA;AAQA;ACNA;ACGA;AAAA;AAAA;AAAA;EAKC;ECLC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ECKD;EACA;EACA;EACA;EAGA;EACA;ECGA;EFfC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EGgHD;EHhHC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA","file":"index.css"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tui/design-system",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "TUI Design System",
5
5
  "author": "TUI Group",
6
6
  "//dependencies": {
@@ -73,11 +73,11 @@
73
73
  "@eslint/js": "^9.38.0",
74
74
  "@figma/code-connect": "^1.4.5",
75
75
  "@jest/globals": "^30.2.0",
76
- "@storybook/addon-a11y": "^10.4.5",
77
- "@storybook/addon-docs": "^10.4.5",
78
- "@storybook/addon-links": "^10.4.5",
79
- "@storybook/addon-themes": "^10.4.5",
80
- "@storybook/html-vite": "^10.4.5",
76
+ "@storybook/addon-a11y": "~10.4.5",
77
+ "@storybook/addon-docs": "~10.4.5",
78
+ "@storybook/addon-links": "~10.4.5",
79
+ "@storybook/addon-themes": "~10.4.5",
80
+ "@storybook/html-vite": "~10.4.5",
81
81
  "@stylistic/eslint-plugin": "^3.1.0",
82
82
  "@tui/cally": "1.0.0",
83
83
  "@types/js-beautify": "^1.14.3",
@@ -89,6 +89,7 @@
89
89
  "deepmerge": "^4.3.1",
90
90
  "dotenv": "^17.2.3",
91
91
  "dotenv-cli": "^11.0.0",
92
+ "embla-carousel": "^8.6.0",
92
93
  "esbuild": "^0.28.1",
93
94
  "eslint": "^9.38.0",
94
95
  "eslint-config-airbnb-extended": "^3.0.1",
@@ -101,7 +102,7 @@
101
102
  "eslint-plugin-prettier": "^5.5.4",
102
103
  "eslint-plugin-react": "^7.37.5",
103
104
  "eslint-plugin-react-hooks": "^7.0.1",
104
- "eslint-plugin-storybook": "^10.4.5",
105
+ "eslint-plugin-storybook": "~10.4.5",
105
106
  "git-format-staged": "4.0.1",
106
107
  "glob": "^13.0.0",
107
108
  "globals": "^17.3.0",
@@ -121,8 +122,8 @@
121
122
  "sass-true": "^10.0.0",
122
123
  "shx": "0.4.0",
123
124
  "source-map-support": "^0.5.21",
124
- "storybook": "^10.4.5",
125
- "storybook-addon-pseudo-states": "^10.4.5",
125
+ "storybook": "~10.4.5",
126
+ "storybook-addon-pseudo-states": "~10.4.5",
126
127
  "storybook-addon-tag-badges": "^3.1.0",
127
128
  "storybook-dark-mode": "^5.0.0",
128
129
  "stylelint": "^17.2.0",
@@ -4,6 +4,7 @@
4
4
  @use '../icon/mixins' as *;
5
5
 
6
6
  $uilib-accordion-included: false !default;
7
+ $uilib-accordion-group-included: false !default;
7
8
 
8
9
  // Builds accordion
9
10
  @mixin uilib-accordion() {
@@ -15,6 +16,16 @@ $uilib-accordion-included: false !default;
15
16
  }
16
17
  }
17
18
 
19
+ @mixin uilib-accordion-group() {
20
+ @if not $uilib-accordion-group-included {
21
+ $uilib-accordion-group-included: true !global;
22
+
23
+ @include uilib-link;
24
+ @include uilib-accordion;
25
+ @include uilib-accordion-group-master;
26
+ }
27
+ }
28
+
18
29
  @mixin uilib-accordion-master() {
19
30
  .uilib-accordion {
20
31
  position: relative;
@@ -155,9 +166,7 @@ $uilib-accordion-included: false !default;
155
166
  }
156
167
  }
157
168
 
158
- @mixin uilib-accordion-group() {
159
- @include uilib-link;
160
-
169
+ @mixin uilib-accordion-group-master() {
161
170
  .uilib-accordion-group {
162
171
  display: flex;
163
172
  flex-direction: column;
@@ -0,0 +1,3 @@
1
+ // Carousel / index
2
+ @use 'mixins' as *;
3
+ @include uilib-carousel;
@@ -0,0 +1,164 @@
1
+ // Carousel / _mixins
2
+ @use 'sass:map';
3
+ @use 'variables' as *;
4
+ @use '../../utility/mixins' as *;
5
+ @use '../../icon-button/mixins' as *;
6
+
7
+ $uilib-carousel-included: false !default;
8
+
9
+ @mixin uilib-carousel() {
10
+ @if not $uilib-carousel-included {
11
+ $uilib-carousel-included: true !global;
12
+
13
+ @include uilib-icon-button;
14
+ @include uilib-carousel-master;
15
+ }
16
+ }
17
+
18
+ @mixin uilib-carousel-master() {
19
+ .uilib-carousel {
20
+ position: relative;
21
+
22
+ display: block;
23
+
24
+ margin: var(--uilib-spacing-400) 0;
25
+ }
26
+
27
+ .uilib-carousel__viewport {
28
+ // `overflow-x: auto` forces `overflow-y` to `auto`, clipping card shadows and
29
+ // focus rings. The block padding (+ matching negative margin) gives shadow/focus
30
+ // room without changing height.
31
+ margin-block: calc(-1 * var(--uilib-carousel-viewport-padding));
32
+ padding-block: var(--uilib-carousel-viewport-padding);
33
+
34
+ overflow-x: auto;
35
+ overscroll-behavior-x: contain;
36
+
37
+ // Sizes `.uilib-carousel__slide` via `cqw` against the visible frame, not the
38
+ // track's own (overflowing) intrinsic width.
39
+ container-type: inline-size;
40
+ }
41
+
42
+ // Once enhanced, the prev/next controls and drag/swipe are wired up as a replacement
43
+ // for native scrolling, so the native scrollbar is hidden. Before that (no-JS or
44
+ // init-failure fallback) the scrollbar stays visible — it's the only affordance that
45
+ // the content scrolls, since the controls don't work without the behaviour.
46
+ .uilib-carousel--enhanced .uilib-carousel__viewport {
47
+ // Embla drives movement via a transform, so native scrolling is disabled: a leftover
48
+ // `scrollLeft` after a resize would combine with the transform and reveal slivers of
49
+ // adjacent cards. `clip` (not `hidden`) keeps `overflow-y` visible for shadows.
50
+ overflow-x: clip;
51
+
52
+ scrollbar-width: none;
53
+
54
+ &::-webkit-scrollbar {
55
+ display: none;
56
+ }
57
+ }
58
+
59
+ .uilib-carousel__track {
60
+ display: flex;
61
+
62
+ // Slides carry their own spacing via padding (see __slide) — a track `gap` here
63
+ // would be mismeasured by Embla and clip the trailing slide.
64
+ gap: 0;
65
+
66
+ @media (prefers-reduced-motion: no-preference) {
67
+ transition: transform var(--uilib-carousel-motion-duration) var(--uilib-carousel-motion-easing);
68
+ }
69
+ }
70
+
71
+ // One item per slide, always — the behaviour never re-parents consumer content; grouping
72
+ // N slides into one page (page variant) is done via Embla's `slidesToScroll`, not DOM
73
+ // wrapping. Each slide fills 1/N of the frame (`--uilib-carousel-visible`, set by the
74
+ // behaviour; 1 without JS), so N whole, equal-width cards are always shown.
75
+ .uilib-carousel__slide {
76
+ display: flex;
77
+ flex: 0 0 calc(100cqw / var(--uilib-carousel-visible, 1));
78
+
79
+ min-width: 0;
80
+ padding-inline: calc(var(--uilib-carousel-gap) / 2);
81
+ }
82
+
83
+ .uilib-carousel__item {
84
+ flex: 1;
85
+ }
86
+
87
+ .uilib-carousel__control--prev .uilib-icon {
88
+ -webkit-mask-image: var(--uilib-carousel-prev-icon);
89
+ mask-image: var(--uilib-carousel-prev-icon);
90
+ }
91
+
92
+ .uilib-carousel__control--next .uilib-icon {
93
+ -webkit-mask-image: var(--uilib-carousel-next-icon);
94
+ mask-image: var(--uilib-carousel-next-icon);
95
+ }
96
+
97
+ .uilib-carousel__counter {
98
+ color: var(--uilib-carousel-counter-color);
99
+ font: var(--uilib-carousel-counter-font);
100
+ white-space: nowrap;
101
+ }
102
+
103
+ .uilib-carousel--page,
104
+ .uilib-carousel--item {
105
+ display: flex;
106
+ flex-direction: column;
107
+ gap: var(--uilib-spacing-400);
108
+ }
109
+
110
+ // Bleeds the viewport back out by the slide's own inline padding (see __slide) so
111
+ // cards land flush with the grid edge. Width must grow by the same amount the margin
112
+ // pulls in to actually bleed on a flex item.
113
+ // `position: relative` is load-bearing for the page (loop) variant: Embla measures
114
+ // slide/container positions with `offsetLeft` (relative to the offsetParent). Without
115
+ // it, the offsetParent is the outer `.uilib-carousel` (position:relative), and the
116
+ // bleed offsets the track by -gap/2 relative to it. On init the track has no transform
117
+ // so slides share that offsetParent and Embla's snap is 0 (correct); after a resize
118
+ // reInit the track already carries Embla's transform, which makes the track itself the
119
+ // slides' offsetParent — so Embla re-reads the slides at 0 while the track is still at
120
+ // -gap/2, shifting every snap by -gap/2 and knocking the cards off the grid (revealing
121
+ // a sliver of the next card at the right edge). Making the viewport the offsetParent
122
+ // keeps that reference stable across init and reInit, so the snap stays 0 either way.
123
+ .uilib-carousel--page .uilib-carousel__viewport,
124
+ .uilib-carousel--item .uilib-carousel__viewport {
125
+ position: relative;
126
+
127
+ width: calc(100% + var(--uilib-carousel-gap));
128
+ margin-inline: calc(var(--uilib-carousel-gap) / -2);
129
+ }
130
+
131
+ .uilib-carousel--page {
132
+ align-items: center;
133
+ }
134
+
135
+ .uilib-carousel__controls {
136
+ display: flex;
137
+ gap: var(--uilib-spacing-400);
138
+ justify-content: center;
139
+ align-items: center;
140
+ }
141
+
142
+ // The viewport's negative inline margin already brings the cards back to the true
143
+ // grid edge (see __viewport), so the footer needs no inset of its own to stay aligned.
144
+ .uilib-carousel__footer {
145
+ display: flex;
146
+ gap: var(--uilib-spacing-400);
147
+ align-items: center;
148
+ }
149
+
150
+ .uilib-carousel--item .uilib-carousel__controls {
151
+ gap: var(--uilib-spacing-200);
152
+
153
+ margin-left: auto;
154
+ }
155
+
156
+ // Behaviour toggles this when everything fits (a single scroll snap): nothing to scroll.
157
+ .uilib-carousel--controls-hidden .uilib-carousel__controls {
158
+ display: none;
159
+ }
160
+
161
+ .uilib-carousel__announcement {
162
+ @include uilib-visually-hidden;
163
+ }
164
+ }
@@ -0,0 +1,13 @@
1
+ @use '../../../variables/env-variables' as *;
2
+
3
+ // Carousel specific variables to allow theming
4
+ $uilib-carousel-variables: (
5
+ gap: var(--uilib-spacing-400),
6
+ viewport-padding: var(--uilib-spacing-200),
7
+ prev-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/chevron-left.svg'),
8
+ next-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/chevron-right.svg'),
9
+ counter-color: var(--uilib-color-text-body),
10
+ counter-font: var(--uilib-typography-body-medium),
11
+ motion-duration: 300ms,
12
+ motion-easing: ease-out,
13
+ ) !default;
@@ -0,0 +1,2 @@
1
+ @use 'mixins' as *;
2
+ @include uilib-highlight-panel;