@tui/design-system 0.1.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 (227) hide show
  1. package/CHANGELOG.md +317 -0
  2. package/README.md +99 -0
  3. package/dist/themes/crystalski/fonts.css +49 -0
  4. package/dist/themes/crystalski/fonts.css.map +1 -0
  5. package/dist/themes/crystalski/index.css +416 -0
  6. package/dist/themes/crystalski/index.css.map +1 -0
  7. package/dist/themes/firstchoice/fonts.css +50 -0
  8. package/dist/themes/firstchoice/fonts.css.map +1 -0
  9. package/dist/themes/firstchoice/index.css +422 -0
  10. package/dist/themes/firstchoice/index.css.map +1 -0
  11. package/dist/themes/tui/fonts.css +117 -0
  12. package/dist/themes/tui/fonts.css.map +1 -0
  13. package/dist/themes/tui/index.css +437 -0
  14. package/dist/themes/tui/index.css.map +1 -0
  15. package/package.json +175 -0
  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 +9 -0
  159. package/scss/themes/crystalski/fonts.json +49 -0
  160. package/scss/themes/crystalski/fonts.scss +8 -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 +14 -0
  167. package/scss/themes/firstchoice/fonts.json +50 -0
  168. package/scss/themes/firstchoice/fonts.scss +8 -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 +16 -0
  175. package/scss/themes/tui/fonts.json +117 -0
  176. package/scss/themes/tui/fonts.scss +17 -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
package/CHANGELOG.md ADDED
@@ -0,0 +1,317 @@
1
+ # Changelog
2
+
3
+ ## v1.0.0
4
+
5
+ ### General changes
6
+
7
+ - Mixins available have been reduced to simplify use of the library. Mixins for components now have class names baked in to aid in code consistency
8
+ across TUI, although these can be overridden by updating the SASS variables if required.
9
+ - Theming
10
+ - TUI Light has been renamed to TUI
11
+ - Removed support for TUI, TUI Magic Life, Robinson, LTUR and Airtours themes. TUI, Crystal Ski, First Choice and VIP selection remain fully
12
+ supported
13
+ - Removed support for dark theme. This may be added again in a future release.
14
+ - Assets - All assets used within the library now reference the v3 version of the asset library
15
+ - SCSS provided now uses @use and @forward. Mixins need to be imported as individual modules where they are required and can not be loaded once and
16
+ used globally anymore.
17
+ - Update reset stylesheet.
18
+ - Box model is set to box-sizing on all elements by default to help with flexible layouts which we are used more often within our builds.
19
+ - Tokens
20
+ - All tokens have been updated to match the token naming for the master figma files. This has resulted in a vastly reduced number of base tokens
21
+ that reference primitive variables for each theme. Individual components may have their own tokens that map back to these base tokens for each
22
+ theme as nessessary.
23
+ - App height is now set to 100dvh removing the requirement to use JS to fix the viewport height on mobile devices when the browser toolbars disapear
24
+ on scroll.
25
+
26
+ ### [Typography](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/globals-typography--docs)
27
+
28
+ - All webfonts have fallbacks with f-mods specified to minimise CLS when the webfonts load
29
+ - New mixin for generic heading and copy styling classes
30
+ - Modifer mixin updated to remove options covered by css variables
31
+
32
+ ### [Breakpoints](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/globals-breakpoints--docs)
33
+
34
+ - New xxs breakpoint included to further control styling where required. This breakpoint is used for grids so that below 320px content will simply
35
+ stack and remain readable and usable.
36
+
37
+ ### [Grid](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/globals-grid--docs)
38
+
39
+ - Design System now uses CSS Grid Layout Module instead of Flexbox
40
+
41
+ ### [Accordion](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-accordion--docs)
42
+
43
+ - Reduced down to single variant with border, also replacing elevations.
44
+ - Two group styling options available
45
+ - Option to include a logo next to the accordion heading has been added for where a collection of logos is required
46
+ - Notification label replaced by option to include a sub title
47
+ - Mixins simplified so variants and states are all baked into the main uilib-accordion mixin, with a second mixin uilib-accordion-group for styling
48
+ groups of accordions
49
+ - Rebuilt to use native details, summary elements; fixing various accessibility and usability issues
50
+ - JavaScript provided to support expand/collapse all functionality where 5 or more accordions are in a group.
51
+
52
+ ### [Alert](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-alert--docs)
53
+
54
+ - Mixins simplified so variants are all baked into the main uilib-alert mixin
55
+ - Default variant has been removed in line with 1web design patterns
56
+
57
+ ### [Active tag](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-active-tag--docs)
58
+
59
+ - New component added to indicate which filters are currently applied. They allow users to easily modify their search and filtering criteria, making
60
+ the results easier to refine.
61
+
62
+ ### Badge
63
+
64
+ - Removed with some variations being covered by the new info tag component
65
+
66
+ ### [Breadcrumb](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-breadcrumb--docs)
67
+
68
+ - Created new component, all the styles are baked into a single uilib-breadcrumb mixin
69
+ - Breadcrumb inherits styles from it's base Link and Icon components
70
+
71
+ ### [Button](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-button--docs)
72
+
73
+ - Mixins simplified so variants, states and sizes are all baked into the main uilib-button mixin
74
+ - Button styling has been aligned with the latest 1web designs across all themes
75
+
76
+ ### [Card search](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-cards-search-card--docs)
77
+
78
+ - Card added to contain a summary of information for a product in a set of results.
79
+
80
+ ### [Divider](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-divider--docs)
81
+
82
+ - Mixins simplified so vertical, size and variant are all baked into the main uilib-divider mixin
83
+ - Title option has been removed
84
+ - Colour variants have been reduced to default, strong and inverse
85
+ - New dashed divider style has been added
86
+
87
+ ### Eye catcher
88
+
89
+ - Removed from the library. There is not replacement for this component.
90
+
91
+ ### [Flight details](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-flight-details--docs)
92
+
93
+ - New flight details has been added. It presents comprehensive information about a holiday's flights
94
+ - Two variants are available allowing for the display of both direct and indirect flights
95
+
96
+ ### [Flyout dropdown](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-flyout-dropdown--docs)
97
+
98
+ - New flyout Dropdown component has been added. It is an overlay panel that emerges from a control like a button or menu item
99
+ - Two variants available with three pointer locations
100
+
101
+ ### Forms
102
+
103
+ #### [Form row](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-form-row--docs)
104
+
105
+ - Replacing the base input styling provided in v4
106
+ - Success message styling removed
107
+
108
+ #### [Input checkbox](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-input-checkbox--docs)
109
+
110
+ - Mixins simplified to one main uilib-input-checkbox mixin
111
+ - Error, valid states removed
112
+ - New checkbox label variant options included
113
+ - New confirmation checkbox variant included
114
+
115
+ ### [Input Chip](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-input-chip--docs)
116
+
117
+ - New Input Chip component has been added. Chips are compact, interactive elements used to select or filter without interrupting users flow.
118
+ - Two variants available with disabled and active states. Based on variant, options are available for use in lists and month-calendars.
119
+
120
+ #### [Input count](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-input-count--docs)
121
+
122
+ - Mixins simplified to one main uilib-input-count mixin
123
+ - Variants removed to match latest 1web designs
124
+ - Error, valid and disabled states removed
125
+ - Count limited to maximum of 7 options
126
+ - Can now support text as well as numbers within the count input
127
+
128
+ #### [Input radio](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-input-radio--docs)
129
+
130
+ - Mixins simplified to one main uilib-input-radio mixin
131
+ - Error, valid states removed
132
+ - New radio label variant options included
133
+
134
+ #### [Input slider](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-input-slider--docs)
135
+
136
+ - Mixin renamed to uilib-input-slider
137
+ - Valid state removed
138
+ - Input text is now required to aid accessibility and the range input is added via JavaScript to ensure the fields are properly connected
139
+
140
+ #### [Input stepper](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-input-stepper--docs)
141
+
142
+ - Mixins simplified to one main uilib-input-stepper mixin
143
+ - Control and input sizes have been adjusted to match latest 1web designs
144
+ - Web component provided to include increment and decrement controls to update the original text input
145
+
146
+ #### [Input switch](https://mwa.tui.com/browse/mwa/uilib-production/index.html?path=/docs/components-forms-input-switch--docs)
147
+
148
+ - Mixins simplified to one main uilib-input-switch mixin
149
+
150
+ #### [Input text](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-input-text--docs)
151
+
152
+ - Mixin renamed to uilib-input-text
153
+ - Floating label, placeholder and readonly options have been removed
154
+ - Valid state usage rules and styling updated
155
+ - Web component provided to clear prefilled inputs, clear search inputs and toggle view of password fields
156
+
157
+ #### [Textarea](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-forms-textarea--docs)
158
+
159
+ - Mixin added for uilib-textarea
160
+ - Utilises label, hint and error from formrow
161
+
162
+ #### Input toggle
163
+
164
+ - Removed from the library. Please use input chips or input radio.
165
+
166
+ ### [Hero (formerly header)](https://mwa.tui.com/browse/mwa/uilib-production/index.html?path=/docs/components-hero--docs)
167
+
168
+ - Mixins simplified so size options are now baked into the main uilib-hero mixin
169
+ - Hero now includes styling for the content area overlay supporting left, right and center positioning as well as standard, slim and illustration
170
+ heros
171
+
172
+ ### [Icon](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-icon--docs)
173
+
174
+ - Mixins simplified so size options are now baked into the main uilib-icon mixin
175
+ - Icon sizes have been adjusted to match latest designs
176
+
177
+ ### [Icon button](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-icon-button--docs)
178
+
179
+ - Mixins simplified so size options are now baked into the main uilib-icon-button mixin
180
+ - Button variants have been remapped
181
+ - Half icon button has been removed
182
+ - New control, promotion, search and shortlist variants added
183
+ - Elevation option has been removed and automatically applied to control variant
184
+ - Button styling has been aligned with the latest 1web designs across all themes
185
+
186
+ ### [Image (picture)](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-image--docs)
187
+
188
+ - Mixins simplified so shapes and ratios are all baked into the main uilib-image mixin
189
+ - Added ability to control the focal point if the source image is cropped by the focal point option
190
+ - Error handling with fallback image has been added.
191
+
192
+ ### Image counter
193
+
194
+ - Removed from the library. There is not replacement for this component.
195
+
196
+ ### [Info tag](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-info-tag--docs)
197
+
198
+ - New component added to highlight informational, promotional or branded content
199
+ - Four variants available: neutral, info, scarcity, and local-product
200
+
201
+ ### [Link](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-link--docs)
202
+
203
+ - Mixins simplified so size options are now baked into the main uilib-link mixin
204
+ - Links styling has been aligned to match latest designs
205
+ - Link variants have been removed as well as disabled state
206
+
207
+ ### [List](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-list--docs)
208
+
209
+ - Divider, state, and meta label style options removed
210
+ - Basic bullet list no longer requires icon setting reducing markup
211
+ - New image variant added with square or circular image options
212
+
213
+ ### [Loader](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-loader--docs)
214
+
215
+ - Mixins simplified so size options are now baked into the main uilib-loader mixin
216
+ - TUI ripple loader option removed
217
+ - Snowflake and FC-loader options are now controlled by theming rather than being specific options
218
+ - Option to include visible loading message now included for all size variants
219
+ - Overlay mixin removed with no replacement. Placement of loader is developers responsibility. The loader will always position centered (vertically
220
+ and horizontally) within the 'uilib-loader' element.
221
+
222
+ ### [Media button](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-media-button--docs)
223
+
224
+ - New media button has been added for opening media galleries
225
+
226
+ ### [Modal](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-modal--docs)
227
+
228
+ - New modal component added using native HTML dialog element
229
+ - Three size variants available: small (6 cols), medium (8 cols), and large (12 cols)
230
+ - Built-in accessibility features including focus management and keyboard navigation
231
+ - Sticky header and footer when content is scrollable
232
+ - Optional navigation slot for moving between modal states
233
+ - NoJS example with fallback to dedicated page
234
+ - Full-width drawer on mobile devices
235
+
236
+ ### [Pagination](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-pagination--docs)
237
+
238
+ - Mixins are baked into uilib-pagination mixin
239
+
240
+ ### [Price](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-price--docs)
241
+
242
+ - Mixins simplified so size options are baked into a single uilib-price mixin
243
+ - Component styles are aligned with latest 1web designs for tui theme
244
+ - xLarge variant has been removed
245
+
246
+ ### [Promo tag](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-promo-tag--docs)
247
+
248
+ - Mixin names and classes updated to be prefixed with uilib
249
+ - Background variant renamed to filled
250
+ - Additional mixin for list of promo tags added
251
+
252
+ ### Ratings and Reviews
253
+
254
+ #### [Numerical](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-ratings-and-reviews-numerical--docs) (previously Review base variant)
255
+
256
+ - Mixins simplified to single mixin controlling numerical rating/review styles uilib-ratings-numerical
257
+ - Now single size option available with small and xsmall being removed
258
+ - New variant added for providing alternative styling to use with musement ratings
259
+
260
+ #### [Percentage](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-ratings-and-reviews-percentage--docs)
261
+
262
+ - New component that can be used for displaying HolidayCheck reviews
263
+ - Provides two variants; default and compact
264
+
265
+ #### [Range bar](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-ratings-and-reviews-range-bar--docs) (previously Review range, and rangeBar variants)
266
+
267
+ - Mixins simplified to single mixin controlling range bar rating/review styles uilib-ratings-range-bar
268
+ - Component now includes label (with icon for customer review variant)
269
+
270
+ #### [Range icons](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-ratings-and-reviews-range-icons--docs) (previously Rating, and Review range variant)
271
+
272
+ - Mixins simplified to single mixin controlling range icon rating/review styles uilib-ratings-range-icons
273
+ - Added tripadvisor variant
274
+ - Group styling option included
275
+
276
+ #### [Range icon group](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-ratings-and-reviews-range-icons-group--docs)
277
+
278
+ - New component to display lists of range icons for use with the likes of TripAdvisor
279
+
280
+ ### [Rich Text](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-rich-text--docs)
281
+
282
+ - New component added that provides a wrapper that automatically styles basic html content such as headings, paragaphs, links, lists etc. This allows
283
+ for simple and consistent styling of rich text content from CMS/APIs.
284
+
285
+ ### [Scroller](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-scroller--docs)
286
+
287
+ - Mixins simplified so scrollbar and fade-out options are baked into a single uilib-scroller mixin
288
+ - Fade is applied by default
289
+ - Fade effect is applied via modern CSS techniques
290
+ - Small web component provided to improve accessibility support
291
+
292
+ ### [Show more/less](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-show-more-or-less--docs)
293
+
294
+ - New component added to hide and reveal content, in order to save space and support visual balance and hierarchy or information
295
+ - Two variants available. Default displays the first paragraph of content hiding the rest, Text only truncates a block of content (for use with
296
+ content such as customer reviews)
297
+
298
+ ### [Skeleton](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-skeleton--docs)
299
+
300
+ - New component added to provide loading state placeholders that visually represent page structure while content loads
301
+ - Mixins simplified to single uilib-skeleton mixin with all variants and utilities baked in
302
+ - Synchronized shimmer animation across all skeleton elements using CSS custom properties
303
+ - Multiple skeleton types available: heading, subheading, text, circle, card, and container
304
+ - Width utilities from 10% to 100% in 10% increments, with responsive variants for xs breakpoint
305
+ - Height utilities from 1rem to 20rem in 1rem increments
306
+ - Layout helper classes for organizing skeleton elements with flexible gap and direction options
307
+ - Outlined variant with border and transparent background
308
+ - Spacer variant for creating transparent gaps without animation
309
+ - Respects prefers-reduced-motion for accessibility
310
+ - Pre-made templates for common use cases: search cards, browse cards, article cards, and headers
311
+
312
+ ### [Toolip](https://uilib-testing.static-nonprod.browse.tui/index.html?path=/docs/components-tooltip--docs)
313
+
314
+ - Mixins simplified to one main uilib-tooltip mixin
315
+ - Tooltip now opens on click or enter rather than hover
316
+ - JavaScript controls tooltip positioning and ensures the tooltip is read by assistive technologies, with a non-JavaScript fallback provided
317
+ - Hit target for icon variant increased improving accessibility for all user
package/README.md ADDED
@@ -0,0 +1,99 @@
1
+ # TUI Design System
2
+
3
+ ## Quick Start
4
+
5
+ ```
6
+ nvm use
7
+ npm i
8
+ npm run dev
9
+ ```
10
+
11
+ This will spin up:
12
+
13
+ - storybook: http://localhost:6006/
14
+
15
+ ## How to use it
16
+
17
+ **Installation**
18
+
19
+ To install the latest stable version:
20
+
21
+ `npm install @tui/design-system` or `yarn add @tui/design-system`
22
+
23
+ To install the next major version (be aware it might contain untested features):
24
+
25
+ `npm install @tui/design-system@next` or `yarn add @tui/design-system@next`
26
+
27
+ **Themes**
28
+
29
+ Theme files provide some global variables that are needed by the components in order to adhere to the theme guidelines (colors, spacing, etc.). TUI is
30
+ the only available theme at the moment.
31
+
32
+ In `dist/themes/<<themename>>/`, you will find the theme file `style.css` as well as other global stylesheets. For example, for the TUI theme you
33
+ could import in your .js files:
34
+
35
+ ```js
36
+ import '@tui/design-system/dist/themes/tui/index.css';
37
+ import '@tui/design-system/dist/themes/tui/fonts.css';
38
+ ```
39
+
40
+ Themes variables are declared within the "data-theme" attribute selector, so you will need to add it on either the host page `html` tag or your MFE:
41
+
42
+ ```html
43
+ <html data-theme="tui">
44
+ <!--or-->
45
+ <my-custom-mfe data-theme="tui">
46
+ <!--or-->
47
+ <div data-theme="tui"></div>
48
+ </my-custom-mfe>
49
+ </html>
50
+ ```
51
+
52
+ ## Development mode
53
+
54
+ You can also clone this repository, install the dependencies and use `npm run dev` to run a local server where to check the example templates for the
55
+ components, how themes are generated, the original unprocessed stylesheets (post processed with postcss-preset-env), etc.
56
+
57
+ ## Contributing
58
+
59
+ Your feedback is welcome. You may request changes and improvements by creating an Issue on the
60
+ [UI Library (UILIB)](https://tui.atlassian.net/jira/software/c/projects/UILIB/boards/2275/backlog) project in Jira. If you have a general query about
61
+ the Design System you are welcome to post in the
62
+ [UI Library Support channel](https://teams.microsoft.com/l/channel/19%3A537d7e30d4284701a3b985a0763f7b2e%40thread.tacv2/Support%20UI%20Library?groupId=237c9a11-b89a-449e-8d69-416a09bd8f55&tenantId=e3e1f65b-b973-440d-b61c-bc895fc98e28)
63
+ on Teams.
64
+
65
+ Please check the [contributing document](/docs/CONTRIBUTING.md) and the [guidelines](/docs/GUIDELINES.md) for contribution.
66
+
67
+ ## Migration
68
+
69
+ Please check the [migration document](/docs/MIGRATION.md)
70
+
71
+ ## Deployment
72
+
73
+ ### Documentation (Storybook)
74
+
75
+ **Feature (MR):**
76
+
77
+ - Manual job `deploy-feature` in MR pipeline
78
+ - Creates temporary environment: `uilib-mr-{MR_ID}`
79
+ - Cleanup:
80
+ - Manual: `destroy-feature` job in MR pipeline
81
+ - Auto: After 9 hours of inactivity
82
+ - Auto: When MR is closed/merged
83
+
84
+ **Testing:**
85
+
86
+ 1. Add label `Ready For Testing` to your MR
87
+ 2. Run manual job `prepare-testing` from `main` branch
88
+ 3. Job merges all `Ready For Testing` MRs into `testing` branch
89
+ 4. `deploy-testing` automatically deploys when `testing` branch updates
90
+
91
+ **Preprod & Production:**
92
+
93
+ - Manual deployment from `main` branch only
94
+ - Jobs: `deploy-preprod`, `deploy-prod`
95
+ - Independent from NPM package releases
96
+
97
+ ### NPM Package
98
+
99
+ Publish to NPM using manual GitLab CI job: `Release BETA version`
@@ -0,0 +1,49 @@
1
+ @font-face {
2
+ font-weight: 600 700;
3
+ font-family: "Brandon";
4
+ font-style: normal;
5
+ src: url("https://mwa.tui.com/shared/mwa/assets/v3/fonts/brandon-medium.subset.woff2") format("woff2");
6
+ font-display: swap;
7
+ }
8
+ @font-face {
9
+ font-weight: 600 700;
10
+ font-family: "Brandon";
11
+ font-style: italic;
12
+ src: url("https://mwa.tui.com/shared/mwa/assets/v3/fonts/brandon-medium-italic.subset.woff2") format("woff2");
13
+ font-display: swap;
14
+ }
15
+ @font-face {
16
+ font-weight: 400;
17
+ font-family: "Brandon";
18
+ font-style: normal;
19
+ src: url("https://mwa.tui.com/shared/mwa/assets/v3/fonts/brandon-regular.subset.woff2") format("woff2");
20
+ font-display: swap;
21
+ }
22
+ @font-face {
23
+ font-weight: 400;
24
+ font-family: "Brandon";
25
+ font-style: italic;
26
+ src: url("https://mwa.tui.com/shared/mwa/assets/v3/fonts/brandon-regular-italic.subset.woff2") format("woff2");
27
+ font-display: swap;
28
+ }
29
+ @font-face {
30
+ font-weight: 400 700;
31
+ font-family: "BrandonFallbackFont";
32
+ src: local("verdana");
33
+ size-adjust: 85.5%;
34
+ ascent-override: 110.8%;
35
+ descent-override: 31.7%;
36
+ line-gap-override: 19.1%;
37
+ }
38
+ @font-face {
39
+ font-weight: 400 700;
40
+ font-family: "BrandonFallbackFont";
41
+ font-style: italic;
42
+ src: local("verdana italic");
43
+ size-adjust: 85.5%;
44
+ ascent-override: 110.8%;
45
+ descent-override: 31.7%;
46
+ line-gap-override: 19.1%;
47
+ }
48
+
49
+ /*# sourceMappingURL=fonts.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/variables/fonts/_brandon-medium.scss","../../../src/variables/fonts/_brandon-medium-italic.scss","../../../src/variables/fonts/_brandon-regular.scss","../../../src/variables/fonts/_brandon-regular-italic.scss","../../../src/variables/fonts/_brandon-fallback.scss"],"names":[],"mappings":"AAGA;EACC;EACA;EACA;EACA;EACA;;ACLD;EACC;EACA;EACA;EACA;EACA;;ACLD;EACC;EACA;EACA;EACA;EACA;;ACLD;EACC;EACA;EACA;EACA;EACA;;ACND;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"fonts.css"}