@tui/design-system 1.5.0 → 1.7.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 (40) hide show
  1. package/CHANGELOG.md +277 -1
  2. package/dist/themes/crystalski/index.css +12 -2
  3. package/dist/themes/crystalski/index.css.map +1 -1
  4. package/dist/themes/firstchoice/index.css +12 -2
  5. package/dist/themes/firstchoice/index.css.map +1 -1
  6. package/dist/themes/tui/index.css +14 -4
  7. package/dist/themes/tui/index.css.map +1 -1
  8. package/package.json +12 -12
  9. package/scss/lib/accordion/_mixins.scss +1 -3
  10. package/scss/lib/active-tag/_mixins.scss +16 -4
  11. package/scss/lib/cards/promotion/_index.scss +3 -0
  12. package/scss/lib/cards/promotion/_mixins.scss +275 -0
  13. package/scss/lib/cards/promotion/_variables.scss +14 -0
  14. package/scss/lib/cards/selectable/_mixins.scss +1 -5
  15. package/scss/lib/cards/selectable/_variables.scss +2 -1
  16. package/scss/lib/flyout-dropdown/_variables.scss +0 -1
  17. package/scss/lib/forms/datepicker/_mixins.scss +5 -0
  18. package/scss/lib/forms/input-radio-scroll/_mixins.scss +6 -1
  19. package/scss/lib/forms/input-switch/_mixins.scss +12 -6
  20. package/scss/lib/grid/_column.scss +7 -0
  21. package/scss/lib/grid/_mixins.scss +4 -0
  22. package/scss/lib/list/_mixins.scss +91 -72
  23. package/scss/lib/list/_variables.scss +1 -0
  24. package/scss/lib/modal/_variables.scss +1 -4
  25. package/scss/lib/skeleton/_variables.scss +2 -6
  26. package/scss/lib/tabs/_mixins.scss +117 -60
  27. package/scss/lib/tabs/anchor/_mixins.scss +36 -0
  28. package/scss/lib/tabs/in-page/_mixins.scss +82 -29
  29. package/scss/lib/tooltip/_mixins.scss +2 -0
  30. package/scss/mixins.scss +1 -0
  31. package/scss/themes/crystalski/_overrides.scss +10 -0
  32. package/scss/themes/crystalski/index.scss +3 -0
  33. package/scss/themes/crystalski/theme.json +7 -0
  34. package/scss/themes/firstchoice/_overrides.scss +10 -0
  35. package/scss/themes/firstchoice/index.scss +3 -0
  36. package/scss/themes/firstchoice/theme.json +7 -0
  37. package/scss/themes/tui/index.scss +3 -0
  38. package/scss/variables/base-theme.json +64 -6
  39. package/scss/variables.scss +1 -0
  40. package/types/components.ts +33 -9
@@ -66,6 +66,9 @@ export interface AnchorTab {
66
66
 
67
67
  export interface AnchorTabsProps {
68
68
  icon?: string;
69
+ tabsLabelledby?: string;
70
+ tabsLabel?: string;
71
+ /** @deprecated Use `tabsLabelledby` instead */
69
72
  ariaLabelledby?: string;
70
73
  tabs?: AnchorTab[];
71
74
  sticky?: boolean;
@@ -146,6 +149,9 @@ export interface DatepickerProps {
146
149
  maxDate?: string;
147
150
  previousLabel?: string;
148
151
  nextLabel?: string;
152
+ announceStart?: string;
153
+ announceRange?: string;
154
+ instructions?: string;
149
155
  locale?: string;
150
156
  }
151
157
 
@@ -224,15 +230,7 @@ export interface ImageSrcItem {
224
230
  }
225
231
 
226
232
  export type ImageFocalPoint =
227
- | 'top-left'
228
- | 'top-center'
229
- | 'top-right'
230
- | 'center-left'
231
- | 'center'
232
- | 'center-right'
233
- | 'bottom-left'
234
- | 'bottom-center'
235
- | 'bottom-right';
233
+ 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
236
234
 
237
235
  export interface ImageProps {
238
236
  altText: string;
@@ -255,6 +253,9 @@ export interface InPageTabsProps {
255
253
  variant?: 'left-aligned' | 'full-width';
256
254
  icon?: string;
257
255
  active?: string;
256
+ tabsLabelledby?: string;
257
+ tabsLabel?: string;
258
+ /** @deprecated Use `tabsLabelledby` instead */
258
259
  ariaLabelledby?: string;
259
260
  tabs?: InPageTab[];
260
261
  }
@@ -386,11 +387,14 @@ export interface LinkProps {
386
387
  export type ListVariant = 'bulleted' | 'numbered' | 'icon' | 'image';
387
388
  export type ListTextVariant = 'default' | 'strong' | 'label';
388
389
  export type ListIconSize = 'small' | 'medium' | 'large';
390
+ export type ListLayout = 'default' | 'columns' | 'horizontal';
389
391
 
390
392
  export interface ListProps {
391
393
  variant?: ListVariant;
392
394
  textVariant?: ListTextVariant;
393
395
  iconSize?: ListIconSize;
396
+ layout?: ListLayout;
397
+ /** @deprecated Use `layout: 'columns'` instead. */
394
398
  columns?: boolean;
395
399
  inverse?: boolean;
396
400
  altShape?: boolean;
@@ -466,6 +470,26 @@ export interface PriceBoxProps {
466
470
  footerHtml?: string;
467
471
  }
468
472
 
473
+ // ─── Card Promotion ───────────────────────────────────────
474
+ export interface CardPromotionProps {
475
+ type?: 'default' | 'promo-code';
476
+ condensed?: boolean;
477
+ headingLevel?: HeadingLevel;
478
+ headline?: string;
479
+ scarcityLabel?: string;
480
+ conditions?: string;
481
+ linkLabel?: string;
482
+ icon?: string;
483
+ code?: string;
484
+ copied?: boolean;
485
+ copyLabel?: string;
486
+ copiedLabel?: string;
487
+ expired?: boolean;
488
+ expiredLabel?: string;
489
+ announcementLabel?: string;
490
+ theme?: Theme;
491
+ }
492
+
469
493
  // ─── Promo Tag ──────────────────────────────────────────
470
494
  export const PromoTagSizes = ['xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge'] as const;
471
495
  export type PromoTagSize = (typeof PromoTagSizes)[number];