@tui/design-system 5.0.0-beta.1 → 5.0.0-beta.5

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 (227) hide show
  1. package/CHANGELOG.md +83 -5
  2. package/README.md +36 -8
  3. package/dist/themes/crystalski/fonts.css +30 -0
  4. package/dist/themes/crystalski/fonts.css.map +1 -0
  5. package/dist/themes/crystalski/index.css +435 -0
  6. package/dist/themes/crystalski/index.css.map +1 -0
  7. package/dist/themes/firstchoice/fonts.css +23 -0
  8. package/dist/themes/firstchoice/fonts.css.map +1 -0
  9. package/dist/themes/firstchoice/index.css +449 -0
  10. package/dist/themes/firstchoice/index.css.map +1 -0
  11. package/dist/themes/tui/fonts.css +72 -0
  12. package/dist/themes/tui/fonts.css.map +1 -0
  13. package/dist/themes/tui/index.css +482 -0
  14. package/dist/themes/tui/index.css.map +1 -0
  15. package/package.json +31 -37
  16. package/scss/functions/_map.scss +84 -0
  17. package/scss/functions.scss +1 -0
  18. package/scss/lib/accordion/_index.scss +4 -0
  19. package/scss/lib/accordion/_mixins.scss +233 -0
  20. package/scss/lib/accordion/_variables.scss +11 -0
  21. package/scss/lib/active-tag/_index.scss +4 -0
  22. package/scss/lib/active-tag/_mixins.scss +112 -0
  23. package/scss/lib/active-tag/_variables.scss +8 -0
  24. package/scss/lib/alert/_index.scss +3 -0
  25. package/scss/lib/alert/_mixins.scss +135 -0
  26. package/scss/lib/alert/_variables.scss +15 -0
  27. package/scss/lib/breadcrumb/_index.scss +3 -0
  28. package/scss/lib/breadcrumb/_mixins.scss +58 -0
  29. package/scss/lib/breadcrumb/_variables.scss +6 -0
  30. package/scss/lib/button/_index.scss +4 -0
  31. package/scss/lib/button/_mixins.scss +193 -0
  32. package/scss/lib/button/_variables.scss +25 -0
  33. package/scss/lib/cards/card/_index.scss +3 -0
  34. package/scss/lib/cards/card/_mixins.scss +37 -0
  35. package/scss/lib/cards/card/_variables.scss +2 -0
  36. package/scss/lib/cards/search/_index.scss +3 -0
  37. package/scss/lib/cards/search/_mixins.scss +432 -0
  38. package/scss/lib/cards/search/_variables.scss +10 -0
  39. package/scss/lib/divider/_index.scss +4 -0
  40. package/scss/lib/divider/_mixins.scss +54 -0
  41. package/scss/lib/divider/_variables.scss +17 -0
  42. package/scss/lib/flight-details/_index.scss +3 -0
  43. package/scss/lib/flight-details/_mixins.scss +468 -0
  44. package/scss/lib/flight-details/_variables.scss +6 -0
  45. package/scss/lib/flyout-dropdown/_index.scss +3 -0
  46. package/scss/lib/flyout-dropdown/_mixins.scss +124 -0
  47. package/scss/lib/forms/form-row/_index.scss +3 -0
  48. package/scss/lib/forms/form-row/_mixins.scss +72 -0
  49. package/scss/lib/forms/form-row/_variables.scss +7 -0
  50. package/scss/lib/forms/input-checkbox/_index.scss +3 -0
  51. package/scss/lib/forms/input-checkbox/_mixins.scss +216 -0
  52. package/scss/lib/forms/input-checkbox/_variables.scss +9 -0
  53. package/scss/lib/forms/input-chip/_index.scss +4 -0
  54. package/scss/lib/forms/input-chip/_mixins.scss +124 -0
  55. package/scss/lib/forms/input-chip/_variables.scss +19 -0
  56. package/scss/lib/forms/input-count/_index.scss +3 -0
  57. package/scss/lib/forms/input-count/_mixins.scss +72 -0
  58. package/scss/lib/forms/input-count/_variables.scss +13 -0
  59. package/scss/lib/forms/input-radio/_index.scss +3 -0
  60. package/scss/lib/forms/input-radio/_mixins.scss +139 -0
  61. package/scss/lib/forms/input-radio/_variables.scss +6 -0
  62. package/scss/lib/forms/input-slider/_index.scss +3 -0
  63. package/scss/lib/forms/input-slider/_mixins.scss +147 -0
  64. package/scss/lib/forms/input-slider/_variables.scss +12 -0
  65. package/scss/lib/forms/input-stepper/_index.scss +3 -0
  66. package/scss/lib/forms/input-stepper/_mixins.scss +143 -0
  67. package/scss/lib/forms/input-stepper/_variables.scss +7 -0
  68. package/scss/lib/forms/input-switch/_index.scss +3 -0
  69. package/scss/lib/forms/input-switch/_mixins.scss +122 -0
  70. package/scss/lib/forms/input-switch/_variables.scss +18 -0
  71. package/scss/lib/forms/input-text/_index.scss +3 -0
  72. package/scss/lib/forms/input-text/_mixins.scss +155 -0
  73. package/scss/lib/forms/input-text/_variables.scss +9 -0
  74. package/scss/lib/forms/textarea/_index.scss +3 -0
  75. package/scss/lib/forms/textarea/_mixins.scss +88 -0
  76. package/scss/lib/grid/_column.scss +51 -0
  77. package/scss/lib/grid/_container.scss +21 -0
  78. package/scss/lib/grid/_index.scss +3 -0
  79. package/scss/lib/grid/_mixins.scss +126 -0
  80. package/scss/lib/grid/_variables.scss +11 -0
  81. package/scss/lib/hero/_index.scss +3 -0
  82. package/scss/lib/hero/_mixins.scss +336 -0
  83. package/scss/lib/hero/_variables.scss +21 -0
  84. package/scss/lib/icon/_index.scss +3 -0
  85. package/scss/lib/icon/_mixins.scss +54 -0
  86. package/scss/lib/icon/_variables.scss +10 -0
  87. package/scss/lib/icon-button/_index.scss +3 -0
  88. package/scss/lib/icon-button/_mixins.scss +168 -0
  89. package/scss/lib/icon-button/_variables.scss +31 -0
  90. package/scss/lib/image/_index.scss +3 -0
  91. package/scss/lib/image/_mixins.scss +89 -0
  92. package/scss/lib/image/_variables.scss +13 -0
  93. package/scss/lib/info-tag/_index.scss +4 -0
  94. package/scss/lib/info-tag/_mixins.scss +100 -0
  95. package/scss/lib/info-tag/_variables.scss +13 -0
  96. package/scss/lib/link/_index.scss +3 -0
  97. package/scss/lib/link/_mixins.scss +86 -0
  98. package/scss/lib/link/_variables.scss +13 -0
  99. package/scss/lib/list/_index.scss +3 -0
  100. package/scss/lib/list/_mixins.scss +198 -0
  101. package/scss/lib/list/_variables.scss +9 -0
  102. package/scss/lib/loader/_index.scss +3 -0
  103. package/scss/lib/loader/_mixins.scss +52 -0
  104. package/scss/lib/loader/_variables.scss +12 -0
  105. package/scss/lib/media-button/_index.scss +4 -0
  106. package/scss/lib/media-button/_mixins.scss +75 -0
  107. package/scss/lib/media-button/_variables.scss +4 -0
  108. package/scss/lib/modal/_index.scss +2 -0
  109. package/scss/lib/modal/_mixins.scss +135 -0
  110. package/scss/lib/modal/_variables.scss +11 -0
  111. package/scss/lib/pagination/_index.scss +3 -0
  112. package/scss/lib/pagination/_mixins.scss +220 -0
  113. package/scss/lib/pagination/_variables.scss +12 -0
  114. package/scss/lib/price/_index.scss +3 -0
  115. package/scss/lib/price/_mixins.scss +83 -0
  116. package/scss/lib/price/_variables.scss +10 -0
  117. package/scss/lib/promo-tag/_index.scss +4 -0
  118. package/scss/lib/promo-tag/_mixins.scss +81 -0
  119. package/scss/lib/promo-tag/_variables.scss +7 -0
  120. package/scss/lib/ratings-reviews/numerical/_index.scss +3 -0
  121. package/scss/lib/ratings-reviews/numerical/_mixins.scss +91 -0
  122. package/scss/lib/ratings-reviews/numerical/_variables.scss +18 -0
  123. package/scss/lib/ratings-reviews/percentage/_index.scss +3 -0
  124. package/scss/lib/ratings-reviews/percentage/_mixins.scss +74 -0
  125. package/scss/lib/ratings-reviews/percentage/_variables.scss +6 -0
  126. package/scss/lib/ratings-reviews/range-bar/_index.scss +3 -0
  127. package/scss/lib/ratings-reviews/range-bar/_mixins.scss +88 -0
  128. package/scss/lib/ratings-reviews/range-bar/_variables.scss +16 -0
  129. package/scss/lib/ratings-reviews/range-icons/_index.scss +3 -0
  130. package/scss/lib/ratings-reviews/range-icons/_mixins.scss +200 -0
  131. package/scss/lib/ratings-reviews/range-icons/_variables.scss +31 -0
  132. package/scss/lib/ratings-reviews/range-icons-group/_index.scss +3 -0
  133. package/scss/lib/ratings-reviews/range-icons-group/_mixins.scss +26 -0
  134. package/scss/lib/richtext/_index.scss +3 -0
  135. package/scss/lib/richtext/_mixins.scss +136 -0
  136. package/scss/lib/scroller/_index.scss +4 -0
  137. package/scss/lib/scroller/_mixins.scss +130 -0
  138. package/scss/lib/scroller/_variables.scss +9 -0
  139. package/scss/lib/show-more-less/_index.scss +3 -0
  140. package/scss/lib/show-more-less/_mixins.scss +90 -0
  141. package/scss/lib/show-more-less/_variables.scss +6 -0
  142. package/scss/lib/skeleton/_index.scss +3 -0
  143. package/scss/lib/skeleton/_mixins.scss +151 -0
  144. package/scss/lib/skeleton/_variables.scss +8 -0
  145. package/scss/lib/tooltip/_index.scss +3 -0
  146. package/scss/lib/tooltip/_mixins.scss +305 -0
  147. package/scss/lib/tooltip/_variables.scss +8 -0
  148. package/scss/lib/typography/_index.scss +14 -0
  149. package/scss/lib/typography/_mixins.scss +27 -0
  150. package/scss/lib/typography/_variables.scss +58 -0
  151. package/scss/lib/utility/_index.scss +109 -0
  152. package/scss/lib/utility/_mixins.scss +198 -0
  153. package/scss/mixins.scss +44 -0
  154. package/scss/reset.scss +168 -0
  155. package/scss/themes/crystalski/_colors.scss +48 -0
  156. package/scss/themes/crystalski/_overrides.scss +285 -0
  157. package/scss/themes/crystalski/_primitives.scss +73 -0
  158. package/scss/themes/crystalski/_typography.scss +12 -0
  159. package/scss/themes/crystalski/fonts.json +49 -0
  160. package/scss/themes/crystalski/fonts.scss +5 -0
  161. package/scss/themes/crystalski/index.scss +166 -0
  162. package/scss/themes/crystalski/theme.json +232 -0
  163. package/scss/themes/firstchoice/_colors.scss +53 -0
  164. package/scss/themes/firstchoice/_overrides.scss +355 -0
  165. package/scss/themes/firstchoice/_primitives.scss +106 -0
  166. package/scss/themes/firstchoice/_typography.scss +20 -0
  167. package/scss/themes/firstchoice/fonts.json +50 -0
  168. package/scss/themes/firstchoice/fonts.scss +4 -0
  169. package/scss/themes/firstchoice/index.scss +166 -0
  170. package/scss/themes/firstchoice/theme.json +323 -0
  171. package/scss/themes/tui/_colors.scss +61 -0
  172. package/scss/themes/tui/_overrides.scss +34 -0
  173. package/scss/themes/tui/_primitives.scss +23 -0
  174. package/scss/themes/tui/_typography.scss +24 -0
  175. package/scss/themes/tui/fonts.json +117 -0
  176. package/scss/themes/tui/fonts.scss +12 -0
  177. package/scss/themes/tui/index.scss +166 -0
  178. package/scss/themes/tui/theme.json +139 -0
  179. package/scss/variables/_aspect-ratios.scss +8 -0
  180. package/scss/variables/_assets.scss +6 -0
  181. package/scss/variables/_border-radius.scss +20 -0
  182. package/scss/variables/_breakpoints.scss +17 -0
  183. package/scss/variables/_colors.scss +58 -0
  184. package/scss/variables/_directions.scss +8 -0
  185. package/scss/variables/_display-values.scss +9 -0
  186. package/scss/variables/_elevations.scss +17 -0
  187. package/scss/variables/_env-variables.scss +1 -0
  188. package/scss/variables/_focus.scss +14 -0
  189. package/scss/variables/_grid.scss +21 -0
  190. package/scss/variables/_icons.scss +26 -0
  191. package/scss/variables/_layers.scss +20 -0
  192. package/scss/variables/_motion.scss +27 -0
  193. package/scss/variables/_prefix.scss +1 -0
  194. package/scss/variables/_primitives.scss +100 -0
  195. package/scss/variables/_spacing.scss +38 -0
  196. package/scss/variables/_strokes.scss +18 -0
  197. package/scss/variables/_typography.scss +125 -0
  198. package/scss/variables/base-theme.json +2142 -0
  199. package/scss/variables/fonts/_ambit-bold-italic.scss +10 -0
  200. package/scss/variables/fonts/_ambit-bold.scss +10 -0
  201. package/scss/variables/fonts/_ambit-fallback.scss +21 -0
  202. package/scss/variables/fonts/_ambit-regular-italic.scss +10 -0
  203. package/scss/variables/fonts/_ambit-regular.scss +10 -0
  204. package/scss/variables/fonts/_ambit-semibold-italic.scss +10 -0
  205. package/scss/variables/fonts/_ambit-semibold.scss +10 -0
  206. package/scss/variables/fonts/_brandon-fallback.scss +22 -0
  207. package/scss/variables/fonts/_brandon-medium-italic.scss +10 -0
  208. package/scss/variables/fonts/_brandon-medium.scss +10 -0
  209. package/scss/variables/fonts/_brandon-regular-italic.scss +10 -0
  210. package/scss/variables/fonts/_brandon-regular.scss +10 -0
  211. package/scss/variables/fonts/_font-path.scss +3 -0
  212. package/scss/variables/fonts/_graphie-extralight.scss +10 -0
  213. package/scss/variables/fonts/_graphie-fallback.scss +11 -0
  214. package/scss/variables/fonts/_pastiche-grotesque-black.scss +10 -0
  215. package/scss/variables/fonts/_pastiche-grotesque-fallback.scss +11 -0
  216. package/scss/variables/fonts/_rondelle-black.scss +10 -0
  217. package/scss/variables/fonts/_rondelle-book.scss +10 -0
  218. package/scss/variables/fonts/_rondelle-fallback.scss +21 -0
  219. package/scss/variables/fonts/_tuiheadline-black-italic.scss +10 -0
  220. package/scss/variables/fonts/_tuiheadline-black.scss +10 -0
  221. package/scss/variables/fonts/_tuiheadline-fallback.scss +11 -0
  222. package/scss/variables/fonts/_tuitypelight-bold-italic.scss +10 -0
  223. package/scss/variables/fonts/_tuitypelight-bold.scss +10 -0
  224. package/scss/variables/fonts/_tuitypelight-fallback.scss +21 -0
  225. package/scss/variables/fonts/_tuitypelight-regular-italic.scss +10 -0
  226. package/scss/variables/fonts/_tuitypelight-regular.scss +10 -0
  227. package/scss/variables.scss +60 -0
@@ -0,0 +1,58 @@
1
+ // colors
2
+ @use 'sass:map';
3
+ @use 'sass:color';
4
+ @use 'primitives' as *;
5
+ @use '../lib/utility/mixins' as util;
6
+
7
+ $uilib-color-semantic: (
8
+ core-interaction: map.get($uilib-primitives, 'color-blue-70'),
9
+ core-brand: map.get($uilib-primitives, 'color-coolblue-50'),
10
+ core-brand-strong: map.get($uilib-primitives, 'color-blue-100'),
11
+ core-surface: map.get($uilib-primitives, 'color-coolblue-20'),
12
+ core-neutral: map.get($uilib-primitives, 'color-neutral-10'),
13
+ text-strong: map.get($uilib-primitives, 'color-blue-100'),
14
+ text-body: map.get($uilib-primitives, 'color-neutral-90'),
15
+ text-link: map.get($uilib-primitives, 'color-blue-70'),
16
+ text-link-visited: map.get($uilib-primitives, 'color-purple-80'),
17
+ text-link-visited-inverse: map.get($uilib-primitives, 'color-purple-30'),
18
+ text-inverse: map.get($uilib-primitives, 'color-neutral-10'),
19
+ text-promotion: map.get($uilib-primitives, 'color-red-80'),
20
+ text-danger: map.get($uilib-primitives, 'color-red-80'),
21
+ status-success-surface: map.get($uilib-primitives, 'color-green-20'),
22
+ status-danger-surface: map.get($uilib-primitives, 'color-red-20'),
23
+ status-warning-surface: map.get($uilib-primitives, 'color-orange-20'),
24
+ status-info-surface: map.get($uilib-primitives, 'color-blue-20'),
25
+ status-success-icon: map.get($uilib-primitives, 'color-green-80'),
26
+ status-danger-icon: map.get($uilib-primitives, 'color-red-80'),
27
+ status-warning-icon: map.get($uilib-primitives, 'color-orange-80'),
28
+ status-info-icon: map.get($uilib-primitives, 'color-blue-100'),
29
+ canvas-default: map.get($uilib-primitives, 'color-neutral-10'),
30
+ canvas-contrast: map.get($uilib-primitives, 'color-neutral-20'),
31
+ border-interaction: map.get($uilib-primitives, 'color-blue-70'),
32
+ border-brand-strong: map.get($uilib-primitives, 'color-blue-100'),
33
+ border-input: map.get($uilib-primitives, 'color-neutral-70'),
34
+ border-card: map.get($uilib-primitives, 'color-neutral-40'),
35
+ border-danger: map.get($uilib-primitives, 'color-red-80'),
36
+ border-inverse: map.get($uilib-primitives, 'color-neutral-10'),
37
+ border-divider: map.get($uilib-primitives, 'color-neutral-40'),
38
+ promotion: map.get($uilib-primitives, 'color-red-80'),
39
+ other-disabled-soft: map.get($uilib-primitives, 'color-neutral-40'),
40
+ other-disabled-strong: map.get($uilib-primitives, 'color-neutral-70'),
41
+ other-elevation: color.scale(map.get($uilib-primitives, 'color-neutral-100'), $alpha: -60%),
42
+ other-scrim: color.scale(map.get($uilib-primitives, 'color-neutral-100'), $alpha: -20%),
43
+ other-active-state-tint: color.scale(map.get($uilib-primitives, 'color-blue-20'), $alpha: -70%),
44
+ other-button-hover-state: color.scale(map.get($uilib-primitives, 'color-neutral-10'), $alpha: -80%),
45
+ other-secondary-button-hover-state: color.scale(map.get($uilib-primitives, 'color-blue-20'), $alpha: -70%),
46
+ other-skeleton-loading: map.get($uilib-primitives, 'color-neutral-40'),
47
+ brand-trip-advisor: map.get($uilib-primitives, 'color-brand-trip-advisor-green'),
48
+ brand-paypal: map.get($uilib-primitives, 'color-brand-paypal-blue'),
49
+ other-scroll-handle: map.get($uilib-primitives, 'color-neutral-50'),
50
+ );
51
+
52
+ // color palette
53
+ // use theme tui-base as basline
54
+ @mixin uilib-color-palette-base-vars($colors) {
55
+ $base-colors: map.merge($uilib-color-semantic, $colors);
56
+
57
+ @include util.uilib-build-css-vars('color', $base-colors);
58
+ }
@@ -0,0 +1,8 @@
1
+ $uilib-sides: (
2
+ 't': 'top',
3
+ 'r': 'right',
4
+ 'b': 'bottom',
5
+ 'l': 'left',
6
+ 'x': 'x',
7
+ 'y': 'y',
8
+ ) !default;
@@ -0,0 +1,9 @@
1
+ $uilib-display-values: (
2
+ 'block': block,
3
+ 'inline': inline,
4
+ 'inline-block': inline-block,
5
+ 'flex': flex,
6
+ 'grid': grid,
7
+ 'table': table,
8
+ 'none': none,
9
+ ) !default;
@@ -0,0 +1,17 @@
1
+ // Elevations
2
+ @use 'sass:map';
3
+ @use '../lib/utility/mixins' as util;
4
+
5
+ $uilib-elevation-base: (
6
+ 'none': none,
7
+ // 0 0 2 0 / 16px
8
+ 100: 0 0 0.125rem 0 var(--uilib-color-other-elevation),
9
+ // 0 0 4 0 / 16px
10
+ 200: 0 0 0.25rem 0 var(--uilib-color-other-elevation),
11
+ // 0 0 8 0 / 16px
12
+ 300: 0 0 0.5rem 0 var(--uilib-color-other-elevation),
13
+ ) !default;
14
+
15
+ @mixin uilib-elevation-base-vars() {
16
+ @include util.uilib-build-css-vars('elevation', $uilib-elevation-base);
17
+ }
@@ -0,0 +1 @@
1
+ $uilib-assets-base-url: 'https://mwa.tui.com/shared/mwa/assets/' !default;
@@ -0,0 +1,14 @@
1
+ @use 'sass:map';
2
+ @use 'sass:color';
3
+ @use 'primitives' as *;
4
+ @use '../lib/utility/mixins' as util;
5
+
6
+ $uilib-focus-default:
7
+ 0 0 0 0.125rem map.get($uilib-primitives, 'color-neutral-10'),
8
+ 0 0 0 0.25rem map.get($uilib-primitives, 'color-blue-70'),
9
+ 0 0 0 0.375rem color.scale(map.get($uilib-primitives, 'color-blue-70'), $alpha: -60%);
10
+ $uilib-focus-base: (
11
+ default: $uilib-focus-default,
12
+ size: calc(var(--uilib-spacing-050) * 3),
13
+ gap: var(--uilib-spacing-050),
14
+ ) !default;
@@ -0,0 +1,21 @@
1
+ // grid
2
+ $uilib-grid-size: 0.25rem !default; // 4px
3
+ $uilib-grid-columns: 12 !default;
4
+ $uilib-grid-gutter-width: $uilib-grid-size * 4; // 16px
5
+ $uilib-grid-gutter-height: $uilib-grid-size * 4; // 16px
6
+
7
+ // layout
8
+ $uilib-layout-max-width: 80rem; // 1280px
9
+ $uilib-layout-app-height: 100dvh;
10
+
11
+ @mixin uilib-grid-base-vars() {
12
+ // Grid
13
+ --uilib-grid-size: #{$uilib-grid-size};
14
+ --uilib-grid-columns: #{$uilib-grid-columns};
15
+ --uilib-grid-gutter-width: #{$uilib-grid-gutter-width};
16
+ --uilib-grid-gutter-height: #{$uilib-grid-gutter-height};
17
+
18
+ // Layout
19
+ --uilib-layout-max-width: #{$uilib-layout-max-width};
20
+ --uilib-layout-app-height: #{$uilib-layout-app-height};
21
+ }
@@ -0,0 +1,26 @@
1
+ @use '../lib/utility/mixins' as util;
2
+
3
+ // icon sizes
4
+ $uilib-icon-sizes: (
5
+ // 16px
6
+ xsmall: 1rem,
7
+ // 20px
8
+ small: 1.25rem,
9
+ // 24px
10
+ medium: 1.5rem,
11
+ // 32px
12
+ large: 2rem,
13
+ // 36px
14
+ xlarge: 2.25rem,
15
+ // 40px
16
+ xxlarge: 2.5rem,
17
+ // 48px
18
+ xxxlarge: 3rem
19
+ ) !default;
20
+
21
+ // generate icon size variables
22
+ @mixin uilib-icon-base-vars($sizes) {
23
+ --uilib-icon-size-default: 1.25rem;
24
+
25
+ @include util.uilib-build-css-vars('icon-size', $sizes);
26
+ }
@@ -0,0 +1,20 @@
1
+ // Layers
2
+ @use 'sass:map';
3
+ @use '../lib/utility/mixins' as util;
4
+
5
+ $uilib-layers-base: (
6
+ hidden: -1,
7
+ default: 0,
8
+ top: 1,
9
+ dropdown: 1000,
10
+ sticky: 1500,
11
+ fixed: 2000,
12
+ overlay: 2500,
13
+ modal: 3000,
14
+ popover: 3500,
15
+ tooltip: 4000,
16
+ ) !default;
17
+
18
+ @mixin uilib-layers-base-vars() {
19
+ @include util.uilib-build-css-vars('layer', $uilib-layers-base);
20
+ }
@@ -0,0 +1,27 @@
1
+ // Elevations
2
+ @use 'sass:map';
3
+ @use '../lib/utility/mixins' as util;
4
+
5
+ $uilib-motion: (
6
+ 'duration': (
7
+ 'slow': 0.5s,
8
+ 'medium': 0.35s,
9
+ 'fast': 0.2s,
10
+ ),
11
+ 'timing': (
12
+ // EaseInOut - cubic-bezier(0.42, 0, 0.58, 1)
13
+ 'inout': ease-in-out,
14
+ // EaseInSine
15
+ 'in': cubic-bezier(0.12, 0, 0.39, 0),
16
+ // EaseOutSine
17
+ 'out': cubic-bezier(0.61, 1, 0.88, 1),
18
+ // EaseOutBack
19
+ 'brand': cubic-bezier(0.34, 1.56, 0.64, 1),
20
+ ),
21
+ ) !default;
22
+
23
+ @mixin uilib-motion-base-vars($motion) {
24
+ @each $name, $value in $motion {
25
+ @include util.uilib-build-css-vars('motion-#{$name}', $value);
26
+ }
27
+ }
@@ -0,0 +1 @@
1
+ $app-prefix: '' !default;
@@ -0,0 +1,100 @@
1
+ $uilib-primitives: (
2
+ color-blue-100: #1b115c,
3
+ color-blue-90: #072d92,
4
+ color-blue-80: #0a3cc2,
5
+ color-blue-70: #0c4bf3,
6
+ color-blue-60: #3567f6,
7
+ color-blue-50: #6d93f8,
8
+ color-blue-40: #94b0fa,
9
+ color-blue-30: #b6c8fc,
10
+ color-blue-20: #d8e2fd,
11
+ color-blue-10: #ecf1fe,
12
+
13
+ color-coolblue-100: #054461,
14
+ color-coolblue-90: #076692,
15
+ color-coolblue-80: #0a88c2,
16
+ color-coolblue-70: #0caaf3,
17
+ color-coolblue-60: #38b9f5,
18
+ color-coolblue-50: #70cbf4,
19
+ color-coolblue-40: #a9dff8,
20
+ color-coolblue-30: #c6eafb,
21
+ color-coolblue-20: #e2f4fd,
22
+ color-coolblue-10: #f0fafe,
23
+
24
+ color-green-100: #05423d,
25
+ color-green-90: #246f49,
26
+ color-green-80: #2ba168,
27
+ color-green-70: #30b675,
28
+ color-green-60: #61c48d,
29
+ color-green-50: #87d2a6,
30
+ color-green-40: #a9e0bf,
31
+ color-green-30: #c5e4cd,
32
+ color-green-20: #dff6eb,
33
+ color-green-10: #effbf5,
34
+
35
+ color-red-100: #600609,
36
+ color-red-90: #90090e,
37
+ color-red-80: #c00c12,
38
+ color-red-70: #f00f17,
39
+ color-red-60: #f23a41,
40
+ color-red-50: #f66f74,
41
+ color-red-40: #f89699,
42
+ color-red-30: #fab7b9,
43
+ color-red-20: #fde2e3,
44
+ color-red-10: #feecec,
45
+
46
+ color-orange-100: #663d00,
47
+ color-orange-90: #995c00,
48
+ color-orange-80: #cc7a00,
49
+ color-orange-70: #f90,
50
+ color-orange-60: #ffab2e,
51
+ color-orange-50: #ffc266,
52
+ color-orange-40: #ffd28f,
53
+ color-orange-30: #ffe0b2,
54
+ color-orange-20: #ffefd6,
55
+ color-orange-10: #fff7eb,
56
+
57
+ color-neutral-100: #000,
58
+ color-neutral-90: #4c4c4c,
59
+ color-neutral-80: #666,
60
+ color-neutral-70: #737373,
61
+ color-neutral-60: #969696,
62
+ color-neutral-50: #b9b9b9,
63
+ color-neutral-40: #dcdcdc,
64
+ color-neutral-30: #ebebeb,
65
+ color-neutral-20: #f5f5f5,
66
+ color-neutral-10: #fff,
67
+
68
+ color-purple-100: #39115c,
69
+ color-purple-90: #510792,
70
+ color-purple-80: #6c0ac2,
71
+ color-purple-70: #870cf3,
72
+ color-purple-60: #9c35f6,
73
+ color-purple-50: #b76df8,
74
+ color-purple-40: #ca94fa,
75
+ color-purple-30: #dbb6fc,
76
+ color-purple-20: #ecd8fd,
77
+ color-purple-10: #f5ecfe,
78
+
79
+ color-brand-trip-advisor-green: #00aa6c,
80
+ color-brand-paypal-blue: #253b80,
81
+
82
+ // 11px
83
+ font-size-40: 0.6875rem,
84
+ // 13px
85
+ font-size-60: 0.8125rem,
86
+ // 14px
87
+ font-size-80: 0.875rem,
88
+ // 16px - baseline
89
+ font-size-100: 1rem,
90
+ // 18px
91
+ font-size-120: 1.125rem,
92
+ // 20px
93
+ font-size-140: 1.25rem,
94
+ // 23px
95
+ font-size-160: 1.4375rem,
96
+ // 26px
97
+ font-size-190: 1.625rem,
98
+ // 29px
99
+ font-size-220: 1.8125rem,
100
+ );
@@ -0,0 +1,38 @@
1
+ $uilib-spacing: (
2
+ 'auto': auto,
3
+ 'none': 0,
4
+ // 2 / 16px
5
+ '050': 0.125rem,
6
+ // 4 / 16px
7
+ '100': 0.25rem,
8
+ // 8 / 16px
9
+ '200': 0.5rem,
10
+ // 12 / 16px
11
+ '300': 0.75rem,
12
+ // 16px
13
+ '400': 1rem,
14
+ // 20 / 16px
15
+ '500': 1.25rem,
16
+ // 24 / 16px
17
+ '600': 1.5rem,
18
+ // 28 / 16px
19
+ '700': 1.75rem,
20
+ // 32 / 16px
21
+ '800': 2rem,
22
+ // 36 / 16px
23
+ '900': 2.25rem,
24
+ // 40 / 16px
25
+ '1000': 2.5rem,
26
+ // 44 / 16px
27
+ '1100': 2.75rem,
28
+ // 48 / 16px
29
+ '1200': 3rem,
30
+ // 52 / 16px
31
+ '1300': 3.25rem,
32
+ // 56 / 16px
33
+ '1400': 3.5rem,
34
+ // 60 / 16px
35
+ '1500': 3.75rem,
36
+ // 64 / 16px
37
+ '1600': 4rem,
38
+ ) !default;
@@ -0,0 +1,18 @@
1
+ // Strokes
2
+
3
+ // Strokes / size @16px
4
+ $uilib-stroke-sizes: (
5
+ // 1 / 16px
6
+ '025': 0.0625rem,
7
+ // 2 / 16px
8
+ '050': 0.125rem,
9
+ // 3 / 16px
10
+ '075': 0.1875rem
11
+ ) !default;
12
+
13
+ // Strokes / styles
14
+ $uilib-stroke-styles: (
15
+ 'none': none,
16
+ 'solid': solid,
17
+ 'dashed': dashed,
18
+ ) !default;
@@ -0,0 +1,125 @@
1
+ // typography
2
+ @use 'sass:meta';
3
+ @use 'sass:map';
4
+ @use 'primitives' as *;
5
+ @use '../variables/prefix' as *;
6
+ @use '../lib/utility/mixins' as util;
7
+
8
+ // font-family
9
+ $uilib-font-family-tuitypelight:
10
+ #{$app-prefix}TUITypeLight,
11
+ #{$app-prefix}TUITypeLightFallbackFont,
12
+ arial,
13
+ sans-serif !default;
14
+
15
+ // font-families
16
+ $uilib-font-families: (
17
+ 'display': #{meta.inspect($uilib-font-family-tuitypelight)},
18
+ 'lead': #{meta.inspect($uilib-font-family-tuitypelight)},
19
+ 'base': #{meta.inspect($uilib-font-family-tuitypelight)},
20
+ ) !default;
21
+
22
+ // Dymanic font sizes for display headings - https://utopia.fyi/type/calculator/?c=367,40,1.125,960,64,1.2,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12
23
+ // Dymanic font sizes for page headings - https://utopia.fyi/type/calculator/?c=367,14,1.125,960,16,1.2,10,2,&s=0.75%7C0.5%7C0.25,1.5%7C2%7C3%7C4%7C6,s-l&g=s,l,xl,12
24
+ $uilib-font-styles: (
25
+ 'display-large': var(--uilib-font-weight-bold) clamp(2.8125rem, 1.5825rem + 5.3626vw, 4.8rem) / var(--uilib-line-height-heading)
26
+ var(--uilib-font-family-lead),
27
+ 'display-medium': var(--uilib-font-weight-bold) clamp(2.5rem, 1.5717rem + 4.0472vw, 4rem) / var(--uilib-line-height-heading)
28
+ var(--uilib-font-family-lead),
29
+ 'display-small': var(--uilib-font-weight-bold) clamp(2.2222rem, 1.5346rem + 2.9979vw, 3.3333rem) / var(--uilib-line-height-heading)
30
+ var(--uilib-font-family-lead),
31
+ 'heading-xxlarge': var(--uilib-font-weight-bold) clamp(1.5768rem, 1.0126rem + 2.4595vw, 2.4883rem) / var(--uilib-line-height-heading)
32
+ var(--uilib-font-family-lead),
33
+ 'heading-xlarge': var(--uilib-font-weight-bold) clamp(1.4016rem, 0.9857rem + 1.8132vw, 2.0736rem) / var(--uilib-line-height-heading)
34
+ var(--uilib-font-family-lead),
35
+ 'heading-large': var(--uilib-font-weight-bold) clamp(1.2458rem, 0.9475rem + 1.3009vw, 1.728rem) / var(--uilib-line-height-heading)
36
+ var(--uilib-font-family-lead),
37
+ 'heading-medium': var(--uilib-font-weight-bold) clamp(1.1074rem, 0.9016rem + 0.8973vw, 1.44rem) / var(--uilib-line-height-heading)
38
+ var(--uilib-font-family-lead),
39
+ 'heading-small': var(--uilib-font-weight-bold) clamp(0.9844rem, 0.8509rem + 0.5818vw, 1.2rem) / var(--uilib-line-height-heading)
40
+ var(--uilib-font-family-lead),
41
+ // 23 / 16px
42
+ 'component-heading-xlarge': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-160') / var(--uilib-line-height-heading)
43
+ var(--uilib-font-family-lead),
44
+ 'component-heading-xxlarge': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-220') / var(--uilib-line-height-heading)
45
+ var(--uilib-font-family-lead),
46
+ 'component-heading-xxlarge-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-220') / var(--uilib-line-height-heading)
47
+ var(--uilib-font-family-lead),
48
+ 'component-heading-xlarge-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-160') / var(--uilib-line-height-heading)
49
+ var(--uilib-font-family-lead),
50
+ // 20 / 16px
51
+ 'component-heading-large': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-140') / var(--uilib-line-height-heading)
52
+ var(--uilib-font-family-lead),
53
+ 'component-heading-large-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-140') / var(--uilib-line-height-heading)
54
+ var(--uilib-font-family-lead),
55
+ // 18 / 16px
56
+ 'component-heading-medium': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
57
+ var(--uilib-font-family-lead),
58
+ 'component-heading-medium-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
59
+ var(--uilib-font-family-lead),
60
+ // 16 / 16px
61
+ 'component-heading-small': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
62
+ var(--uilib-font-family-lead),
63
+ 'component-heading-small-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
64
+ var(--uilib-font-family-lead),
65
+ // 18 / 16px
66
+ 'body-large': var(--uilib-font-weight-regular) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-body)
67
+ var(--uilib-font-family-base),
68
+ 'body-large-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-body)
69
+ var(--uilib-font-family-base),
70
+ // 16 / 16px
71
+ 'body-medium': var(--uilib-font-weight-regular) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-body)
72
+ var(--uilib-font-family-base),
73
+ 'body-medium-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-body)
74
+ var(--uilib-font-family-base),
75
+ // 14 / 16px
76
+ 'body-small': var(--uilib-font-weight-regular) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-body)
77
+ var(--uilib-font-family-base),
78
+ 'body-small-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-body)
79
+ var(--uilib-font-family-base),
80
+ // 18 / 16px
81
+ 'label-large': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
82
+ var(--uilib-font-family-lead),
83
+ 'label-large-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
84
+ var(--uilib-font-family-lead),
85
+ // 16 / 16px
86
+ 'label-medium': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
87
+ var(--uilib-font-family-lead),
88
+ 'label-medium-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
89
+ var(--uilib-font-family-lead),
90
+ // 14 / 16px
91
+ 'label-small': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-heading)
92
+ var(--uilib-font-family-lead),
93
+ 'label-small-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-heading)
94
+ var(--uilib-font-family-lead),
95
+ // 13 / 16px
96
+ 'label-xsmall': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-60') / var(--uilib-line-height-heading)
97
+ var(--uilib-font-family-lead),
98
+ 'label-xsmall-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-60') / var(--uilib-line-height-heading)
99
+ var(--uilib-font-family-lead),
100
+ ) !default;
101
+
102
+ // font-size/scale variables
103
+ $uilib-font-size-root: 1rem !default; // Browser default > `16px`
104
+
105
+ // line-height
106
+ $uilib-line-height: (
107
+ 'heading': 1.3,
108
+ 'body': 1.3,
109
+ 'none': 1,
110
+ ) !default;
111
+
112
+ // font-weight
113
+ $uilib-font-weight: (
114
+ 'regular': 400,
115
+ 'semibold': 600,
116
+ 'bold': 700,
117
+ ) !default;
118
+
119
+ @mixin uilib-font-base-vars($typography: $uilib-font-styles, $line-height: $uilib-line-height, $font-weight: $uilib-font-weight) {
120
+ --uilib-font-size-root: #{$uilib-font-size-root};
121
+
122
+ @include util.uilib-build-css-vars('typography', $typography);
123
+ @include util.uilib-build-css-vars('line-height', $line-height);
124
+ @include util.uilib-build-css-vars('font-weight', $font-weight);
125
+ }