@transferwise/components 46.165.5 → 46.167.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 (454) hide show
  1. package/build/Body/Body.js +2 -2
  2. package/build/Body/Body.js.map +1 -1
  3. package/build/Body/Body.mjs +2 -2
  4. package/build/Body/Body.mjs.map +1 -1
  5. package/build/Calendar/DayCalendar/Table/DayCalendarTable.js +1 -1
  6. package/build/Calendar/DayCalendar/Table/DayCalendarTable.js.map +1 -1
  7. package/build/Calendar/DayCalendar/Table/DayCalendarTable.mjs +1 -1
  8. package/build/Calendar/DayCalendar/Table/DayCalendarTable.mjs.map +1 -1
  9. package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.js +1 -1
  10. package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.js.map +1 -1
  11. package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.mjs +1 -1
  12. package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.mjs.map +1 -1
  13. package/build/Calendar/TableLink/TableLink.js +1 -1
  14. package/build/Calendar/TableLink/TableLink.js.map +1 -1
  15. package/build/Calendar/TableLink/TableLink.mjs +1 -1
  16. package/build/Calendar/TableLink/TableLink.mjs.map +1 -1
  17. package/build/CardContainer/CardContainer.js +34 -0
  18. package/build/CardContainer/CardContainer.js.map +1 -0
  19. package/build/CardContainer/CardContainer.mjs +30 -0
  20. package/build/CardContainer/CardContainer.mjs.map +1 -0
  21. package/build/CardWidget/CardWidget.js +98 -0
  22. package/build/CardWidget/CardWidget.js.map +1 -0
  23. package/build/CardWidget/CardWidget.mjs +94 -0
  24. package/build/CardWidget/CardWidget.mjs.map +1 -0
  25. package/build/CardWidget/CardWidgetAction.js +73 -0
  26. package/build/CardWidget/CardWidgetAction.js.map +1 -0
  27. package/build/CardWidget/CardWidgetAction.mjs +68 -0
  28. package/build/CardWidget/CardWidgetAction.mjs.map +1 -0
  29. package/build/Display/Display.js +3 -1
  30. package/build/Display/Display.js.map +1 -1
  31. package/build/Display/Display.mjs +3 -1
  32. package/build/Display/Display.mjs.map +1 -1
  33. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.js +1 -1
  34. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.js.map +1 -1
  35. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.mjs +1 -1
  36. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.mjs.map +1 -1
  37. package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.js +1 -1
  38. package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.js.map +1 -1
  39. package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.mjs +1 -1
  40. package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.mjs.map +1 -1
  41. package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.js +2 -2
  42. package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.js.map +1 -1
  43. package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.mjs +2 -2
  44. package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.mjs.map +1 -1
  45. package/build/Inputs/SelectInput/Option/SelectInputOption.js +1 -1
  46. package/build/Inputs/SelectInput/Option/SelectInputOption.js.map +1 -1
  47. package/build/Inputs/SelectInput/Option/SelectInputOption.mjs +1 -1
  48. package/build/Inputs/SelectInput/Option/SelectInputOption.mjs.map +1 -1
  49. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.js +3 -3
  50. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.js.map +1 -1
  51. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs +3 -3
  52. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs.map +1 -1
  53. package/build/Inputs/SelectInput/Popover/SelectInputPopover.js +2 -2
  54. package/build/Inputs/SelectInput/Popover/SelectInputPopover.js.map +1 -1
  55. package/build/Inputs/SelectInput/Popover/SelectInputPopover.mjs +2 -2
  56. package/build/Inputs/SelectInput/Popover/SelectInputPopover.mjs.map +1 -1
  57. package/build/Label/Label.js +1 -1
  58. package/build/Label/Label.js.map +1 -1
  59. package/build/Label/Label.mjs +1 -1
  60. package/build/Label/Label.mjs.map +1 -1
  61. package/build/ListItem/ListItem.js +2 -0
  62. package/build/ListItem/ListItem.js.map +1 -1
  63. package/build/ListItem/ListItem.mjs +2 -0
  64. package/build/ListItem/ListItem.mjs.map +1 -1
  65. package/build/Stepper/Stepper.js +3 -2
  66. package/build/Stepper/Stepper.js.map +1 -1
  67. package/build/Stepper/Stepper.mjs +3 -2
  68. package/build/Stepper/Stepper.mjs.map +1 -1
  69. package/build/Table/Header/TableHeader.js +1 -1
  70. package/build/Table/Header/TableHeader.js.map +1 -1
  71. package/build/Table/Header/TableHeader.mjs +1 -1
  72. package/build/Table/Header/TableHeader.mjs.map +1 -1
  73. package/build/Tabs/Tab/Tab.js +1 -1
  74. package/build/Tabs/Tab/Tab.js.map +1 -1
  75. package/build/Tabs/Tab/Tab.mjs +1 -1
  76. package/build/Tabs/Tab/Tab.mjs.map +1 -1
  77. package/build/Tag/Tag.js +1 -1
  78. package/build/Tag/Tag.js.map +1 -1
  79. package/build/Tag/Tag.mjs +1 -1
  80. package/build/Tag/Tag.mjs.map +1 -1
  81. package/build/Title/Title.js +2 -2
  82. package/build/Title/Title.js.map +1 -1
  83. package/build/Title/Title.mjs +2 -2
  84. package/build/Title/Title.mjs.map +1 -1
  85. package/build/Typeahead/TypeaheadOption/TypeaheadOption.js +2 -2
  86. package/build/Typeahead/TypeaheadOption/TypeaheadOption.js.map +1 -1
  87. package/build/Typeahead/TypeaheadOption/TypeaheadOption.mjs +2 -2
  88. package/build/Typeahead/TypeaheadOption/TypeaheadOption.mjs.map +1 -1
  89. package/build/Upload/Steps/UploadImageStep/UploadImageStep.js +2 -2
  90. package/build/Upload/Steps/UploadImageStep/UploadImageStep.js.map +1 -1
  91. package/build/Upload/Steps/UploadImageStep/UploadImageStep.mjs +2 -2
  92. package/build/Upload/Steps/UploadImageStep/UploadImageStep.mjs.map +1 -1
  93. package/build/_deprecated/ActionButton/ActionButton.js +1 -1
  94. package/build/_deprecated/ActionButton/ActionButton.js.map +1 -1
  95. package/build/_deprecated/ActionButton/ActionButton.mjs +1 -1
  96. package/build/_deprecated/ActionButton/ActionButton.mjs.map +1 -1
  97. package/build/_deprecated/Avatar/Avatar.js +1 -1
  98. package/build/_deprecated/Avatar/Avatar.js.map +1 -1
  99. package/build/_deprecated/Avatar/Avatar.mjs +1 -1
  100. package/build/_deprecated/Avatar/Avatar.mjs.map +1 -1
  101. package/build/_deprecated/Select/Select.js +2 -2
  102. package/build/_deprecated/Select/Select.js.map +1 -1
  103. package/build/_deprecated/Select/Select.mjs +2 -2
  104. package/build/_deprecated/Select/Select.mjs.map +1 -1
  105. package/build/common/PropsValues/typography.js +6 -0
  106. package/build/common/PropsValues/typography.js.map +1 -1
  107. package/build/common/PropsValues/typography.mjs +6 -0
  108. package/build/common/PropsValues/typography.mjs.map +1 -1
  109. package/build/index.js +4 -0
  110. package/build/index.js.map +1 -1
  111. package/build/index.mjs +2 -0
  112. package/build/index.mjs.map +1 -1
  113. package/build/main.css +9245 -1899
  114. package/build/styles/Accordion/Accordion.css +7 -6
  115. package/build/styles/Body/Body.css +2 -1
  116. package/build/styles/Calendar/Calendar.css +5 -4
  117. package/build/styles/Calendar/TableLink/TableLink.css +5 -4
  118. package/build/styles/CardContainer/CardContainer.css +108 -0
  119. package/build/styles/CardWidget/CardWidget.css +78 -0
  120. package/build/styles/Chips/Chip/Chip.css +5 -3
  121. package/build/styles/Decision/Decision.css +4 -3
  122. package/build/styles/Emphasis/Emphasis.css +1 -1
  123. package/build/styles/ExpressiveMoneyInput/AmountInput/AmountInput.css +2 -1
  124. package/build/styles/ExpressiveMoneyInput/ExpressiveMoneyInput.css +2 -1
  125. package/build/styles/Inputs/Input/Input.css +98 -24
  126. package/build/styles/Inputs/TextArea/TextArea.css +98 -24
  127. package/build/styles/Label/Label.css +3 -0
  128. package/build/styles/ListItem/ListItem.css +8 -0
  129. package/build/styles/Markup/Markup.css +2 -2
  130. package/build/styles/MoneyInput/MoneyInput.css +9 -6
  131. package/build/styles/Nudge/Nudge.css +3 -3
  132. package/build/styles/Popover/Popover.css +30 -7
  133. package/build/styles/ProgressBar/ProgressBar.css +3 -2
  134. package/build/styles/Prompt/PrimitivePrompt/PrimitivePrompt.css +2 -1
  135. package/build/styles/Snackbar/Snackbar.css +1 -1
  136. package/build/styles/Table/Table.css +18 -8
  137. package/build/styles/Tabs/Tabs.css +3 -3
  138. package/build/styles/Tag/Tag.css +1 -1
  139. package/build/styles/Tile/Tile.css +4 -3
  140. package/build/styles/Typeahead/Typeahead.css +4 -2
  141. package/build/styles/UploadInput/UploadInput.css +1 -1
  142. package/build/styles/_deprecated/ActionButton/ActionButton.css +3 -4
  143. package/build/styles/_deprecated/Avatar/Avatar.css +2 -2
  144. package/build/styles/_deprecated/CriticalBanner/CriticalCommsBanner.css +2 -1
  145. package/build/styles/_deprecated/Select/Select.css +49 -14
  146. package/build/styles/_deprecated/Summary/Summary.css +2 -2
  147. package/build/styles/common/Circle/Circle.css +1 -1
  148. package/build/styles/common/Option/Option.css +4 -4
  149. package/build/styles/css/accordion.css +53 -11
  150. package/build/styles/css/badge.css +2 -2
  151. package/build/styles/css/button-groups.css +29 -6
  152. package/build/styles/css/buttons.css +35 -11
  153. package/build/styles/css/decision.css +53 -11
  154. package/build/styles/css/dropdowns.css +65 -18
  155. package/build/styles/css/droppable.css +28 -6
  156. package/build/styles/css/footer.css +41 -10
  157. package/build/styles/css/input-groups.css +249 -117
  158. package/build/styles/css/list-group.css +28 -8
  159. package/build/styles/css/modals.css +1 -1
  160. package/build/styles/css/navbar.css +92 -45
  161. package/build/styles/css/navs.css +8 -8
  162. package/build/styles/css/neptune-addons.css +15 -0
  163. package/build/styles/css/neptune-core.css +6230 -525
  164. package/build/styles/css/neptune.css +8790 -1768
  165. package/build/styles/css/panels.css +2 -2
  166. package/build/styles/css/popovers.css +64 -20
  167. package/build/styles/css/progress-bars.css +2 -2
  168. package/build/styles/css/sequences.css +14 -9
  169. package/build/styles/css/table.css +7 -7
  170. package/build/styles/css/tooltip.css +28 -6
  171. package/build/styles/less/legacy-variables.less +3 -3
  172. package/build/styles/less/neptune-tokens.less +0 -48
  173. package/build/styles/main.css +9245 -1899
  174. package/build/styles/props/neptune-tokens.css +805 -3
  175. package/build/styles/styles/less/accordion.css +53 -11
  176. package/build/styles/styles/less/badge.css +2 -2
  177. package/build/styles/styles/less/button-groups.css +29 -6
  178. package/build/styles/styles/less/buttons.css +35 -11
  179. package/build/styles/styles/less/decision.css +53 -11
  180. package/build/styles/styles/less/dropdowns.css +65 -18
  181. package/build/styles/styles/less/droppable.css +28 -6
  182. package/build/styles/styles/less/footer.css +41 -10
  183. package/build/styles/styles/less/forms/bootstrap-forms.css +153 -100
  184. package/build/styles/styles/less/forms/checkbox-radio.css +3 -3
  185. package/build/styles/styles/less/input-groups.css +249 -117
  186. package/build/styles/styles/less/list-group.css +28 -8
  187. package/build/styles/styles/less/modals.css +1 -1
  188. package/build/styles/styles/less/navbar.css +92 -45
  189. package/build/styles/styles/less/navs.css +8 -8
  190. package/build/styles/styles/less/neptune-addons.css +15 -0
  191. package/build/styles/styles/less/neptune-core.css +6230 -525
  192. package/build/styles/styles/less/neptune.css +8790 -1768
  193. package/build/styles/styles/less/panels.css +2 -2
  194. package/build/styles/styles/less/popovers.css +64 -20
  195. package/build/styles/styles/less/progress-bars.css +2 -2
  196. package/build/styles/styles/less/sequences.css +14 -9
  197. package/build/styles/styles/less/table.css +7 -7
  198. package/build/styles/styles/less/tooltip.css +28 -6
  199. package/build/types/Body/Body.d.ts +2 -2
  200. package/build/types/Body/Body.d.ts.map +1 -1
  201. package/build/types/CardContainer/CardContainer.d.ts +8 -0
  202. package/build/types/CardContainer/CardContainer.d.ts.map +1 -0
  203. package/build/types/CardContainer/CardContainer.types.d.ts +55 -0
  204. package/build/types/CardContainer/CardContainer.types.d.ts.map +1 -0
  205. package/build/types/CardContainer/_stories/helpers.d.ts +3 -0
  206. package/build/types/CardContainer/_stories/helpers.d.ts.map +1 -0
  207. package/build/types/CardContainer/index.d.ts +3 -0
  208. package/build/types/CardContainer/index.d.ts.map +1 -0
  209. package/build/types/CardWidget/CardWidget.d.ts +10 -0
  210. package/build/types/CardWidget/CardWidget.d.ts.map +1 -0
  211. package/build/types/CardWidget/CardWidget.types.d.ts +55 -0
  212. package/build/types/CardWidget/CardWidget.types.d.ts.map +1 -0
  213. package/build/types/CardWidget/CardWidgetAction.d.ts +54 -0
  214. package/build/types/CardWidget/CardWidgetAction.d.ts.map +1 -0
  215. package/build/types/CardWidget/index.d.ts +4 -0
  216. package/build/types/CardWidget/index.d.ts.map +1 -0
  217. package/build/types/Display/Display.d.ts.map +1 -1
  218. package/build/types/ExpressiveMoneyInput/AmountInput/AmountInput.d.ts.map +1 -1
  219. package/build/types/IconButton/IconButton.d.ts +1 -1
  220. package/build/types/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.d.ts.map +1 -1
  221. package/build/types/Inputs/SelectInput/Popover/SelectInputPopover.d.ts.map +1 -1
  222. package/build/types/ListItem/ListItem.d.ts +1 -1
  223. package/build/types/ListItem/ListItem.d.ts.map +1 -1
  224. package/build/types/MoneyInput/MoneyInput.d.ts +1 -1
  225. package/build/types/MoneyInput/MoneyInput.d.ts.map +1 -1
  226. package/build/types/Stepper/Stepper.d.ts.map +1 -1
  227. package/build/types/Tabs/Tab/Tab.d.ts.map +1 -1
  228. package/build/types/Title/Title.d.ts +2 -2
  229. package/build/types/Upload/Steps/UploadImageStep/UploadImageStep.d.ts +1 -1
  230. package/build/types/Upload/Steps/UploadImageStep/UploadImageStep.d.ts.map +1 -1
  231. package/build/types/UploadInput/UploadItem/UploadItemLink.d.ts +1 -1
  232. package/build/types/_deprecated/Select/Select.d.ts.map +1 -1
  233. package/build/types/common/PropsValues/typography.d.ts +13 -1
  234. package/build/types/common/PropsValues/typography.d.ts.map +1 -1
  235. package/build/types/index.d.ts +4 -0
  236. package/build/types/index.d.ts.map +1 -1
  237. package/package.json +4 -4
  238. package/src/Accordion/Accordion.css +7 -6
  239. package/src/Accordion/Accordion.less +7 -6
  240. package/src/Body/Body.css +2 -1
  241. package/src/Body/Body.less +2 -1
  242. package/src/Body/Body.test.tsx +13 -4
  243. package/src/Body/Body.tsx +4 -3
  244. package/src/Body/_stories/Body.test.story.tsx +42 -0
  245. package/src/Calendar/Calendar.css +5 -4
  246. package/src/Calendar/DayCalendar/Table/DayCalendarTable.tsx +2 -2
  247. package/src/Calendar/MonthCalendar/Table/MonthCalendarTable.tsx +1 -1
  248. package/src/Calendar/TableLink/TableLink.css +5 -4
  249. package/src/Calendar/TableLink/TableLink.less +5 -4
  250. package/src/Calendar/TableLink/TableLink.tsx +1 -1
  251. package/src/Calendar/_stories/Calendar.test.story.tsx +33 -0
  252. package/src/CardContainer/CardContainer.css +108 -0
  253. package/src/CardContainer/CardContainer.less +171 -0
  254. package/src/CardContainer/CardContainer.test.tsx +150 -0
  255. package/src/CardContainer/CardContainer.tsx +51 -0
  256. package/src/CardContainer/CardContainer.types.ts +62 -0
  257. package/src/CardContainer/_stories/CardContainer.story.tsx +167 -0
  258. package/src/CardContainer/_stories/CardContainer.test.story.tsx +103 -0
  259. package/src/CardContainer/_stories/helpers.tsx +50 -0
  260. package/src/CardContainer/index.ts +6 -0
  261. package/src/CardWidget/CardWidget.css +78 -0
  262. package/src/CardWidget/CardWidget.less +107 -0
  263. package/src/CardWidget/CardWidget.test.tsx +221 -0
  264. package/src/CardWidget/CardWidget.tsx +78 -0
  265. package/src/CardWidget/CardWidget.types.ts +63 -0
  266. package/src/CardWidget/CardWidgetAction.tsx +128 -0
  267. package/src/CardWidget/_stories/CardWidget.story.tsx +238 -0
  268. package/src/CardWidget/_stories/CardWidget.test.story.tsx +350 -0
  269. package/src/CardWidget/index.ts +3 -0
  270. package/src/Chips/Chip/Chip.css +5 -3
  271. package/src/Chips/Chip/Chip.less +3 -2
  272. package/src/CircularButton/_stories/CircularButton.story.tsx +6 -16
  273. package/src/DateInput/_stories/DateInput.rtl.test.story.tsx +45 -0
  274. package/src/Decision/Decision.css +4 -3
  275. package/src/Decision/Decision.less +4 -3
  276. package/src/DefinitionList/_stories/DefinitionList.story.tsx +1 -1
  277. package/src/Display/Display.test.tsx +43 -0
  278. package/src/Display/Display.tsx +11 -1
  279. package/src/Display/_stories/Display.story.tsx +36 -21
  280. package/src/Display/_stories/Display.test.story.tsx +108 -0
  281. package/src/Emphasis/Emphasis.css +1 -1
  282. package/src/Emphasis/Emphasis.less +1 -1
  283. package/src/ExpressiveMoneyInput/AmountInput/AmountInput.css +2 -1
  284. package/src/ExpressiveMoneyInput/AmountInput/AmountInput.less +2 -1
  285. package/src/ExpressiveMoneyInput/AmountInput/AmountInput.tsx +1 -4
  286. package/src/ExpressiveMoneyInput/ExpressiveMoneyInput.css +2 -1
  287. package/src/FlowNavigation/AnimatedLabel/AnimatedLabel.tsx +1 -1
  288. package/src/Inputs/Input/Input.css +98 -24
  289. package/src/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.tsx +4 -2
  290. package/src/Inputs/SelectInput/Option/SelectInputOption.tsx +1 -1
  291. package/src/Inputs/SelectInput/OptionContent/SelectInputOptionContent.tsx +3 -3
  292. package/src/Inputs/SelectInput/Popover/SelectInputPopover.tsx +6 -2
  293. package/src/Inputs/SelectInput/_stories/SelectInput.story.tsx +1 -1
  294. package/src/Inputs/TextArea/TextArea.css +98 -24
  295. package/src/Inputs/_common.less +16 -10
  296. package/src/Label/Label.css +3 -0
  297. package/src/Label/Label.less +8 -0
  298. package/src/Label/Label.tsx +1 -1
  299. package/src/ListItem/ListItem.css +8 -0
  300. package/src/ListItem/ListItem.less +8 -0
  301. package/src/ListItem/ListItem.test.tsx +20 -0
  302. package/src/ListItem/ListItem.tsx +3 -1
  303. package/src/ListItem/_stories/ListItem.layout.test.story.tsx +1 -1
  304. package/src/ListItem/_stories/ListItem.story.tsx +1 -1
  305. package/src/Markup/Markup.css +2 -2
  306. package/src/Markup/Markup.less +2 -2
  307. package/src/MoneyInput/MoneyInput.css +9 -6
  308. package/src/MoneyInput/MoneyInput.less +10 -7
  309. package/src/Nudge/Nudge.css +3 -3
  310. package/src/Nudge/Nudge.less +3 -3
  311. package/src/PocketSurface/_stories/PocketSurface.story.tsx +2 -2
  312. package/src/Popover/Popover.css +30 -7
  313. package/src/Popover/Popover.less +2 -2
  314. package/src/ProgressBar/ProgressBar.css +3 -2
  315. package/src/ProgressBar/ProgressBar.less +12 -11
  316. package/src/Prompt/CriticalBanner/_stories/CriticalBanner.docs.mdx +122 -0
  317. package/src/Prompt/CriticalBanner/_stories/CriticalBanner.story.tsx +0 -2
  318. package/src/Prompt/PrimitivePrompt/PrimitivePrompt.css +2 -1
  319. package/src/Prompt/PrimitivePrompt/PrimitivePrompt.less +2 -1
  320. package/src/SentimentSurface/_stories/SentimentSurface.story.tsx +1 -1
  321. package/src/Snackbar/Snackbar.css +1 -1
  322. package/src/Snackbar/Snackbar.less +1 -1
  323. package/src/Stepper/Stepper.tsx +4 -2
  324. package/src/Table/Header/TableHeader.tsx +1 -1
  325. package/src/Table/StatusText/TableStatusText.test.tsx +20 -5
  326. package/src/Table/Table.css +18 -8
  327. package/src/Table/Table.less +20 -9
  328. package/src/Tabs/Tab/Tab.tsx +11 -5
  329. package/src/Tabs/Tabs.css +3 -3
  330. package/src/Tabs/Tabs.less +3 -3
  331. package/src/Tag/Tag.css +1 -1
  332. package/src/Tag/Tag.less +1 -1
  333. package/src/Tag/Tag.tsx +1 -1
  334. package/src/Tag/_stories/Tag.story.tsx +1 -1
  335. package/src/Tile/Tile.css +4 -3
  336. package/src/Tile/Tile.less +4 -3
  337. package/src/Title/Title.test.tsx +22 -3
  338. package/src/Title/Title.tsx +2 -2
  339. package/src/Typeahead/Typeahead.css +4 -2
  340. package/src/Typeahead/Typeahead.less +2 -1
  341. package/src/Typeahead/TypeaheadOption/TypeaheadOption.tsx +2 -2
  342. package/src/Upload/Steps/UploadImageStep/UploadImageStep.tsx +4 -2
  343. package/src/UploadInput/UploadInput.css +1 -1
  344. package/src/UploadInput/UploadInput.less +7 -4
  345. package/src/_deprecated/ActionButton/ActionButton.css +3 -4
  346. package/src/_deprecated/ActionButton/ActionButton.less +4 -5
  347. package/src/_deprecated/ActionButton/ActionButton.tsx +1 -1
  348. package/src/_deprecated/Avatar/Avatar.css +2 -2
  349. package/src/_deprecated/Avatar/Avatar.less +2 -2
  350. package/src/_deprecated/Avatar/Avatar.tsx +1 -1
  351. package/src/_deprecated/CriticalBanner/CriticalCommsBanner.css +2 -1
  352. package/src/_deprecated/CriticalBanner/CriticalCommsBanner.less +2 -1
  353. package/src/_deprecated/NavigationOption/_stories/NavigationOption.story.tsx +6 -6
  354. package/src/_deprecated/Select/Select.css +49 -14
  355. package/src/_deprecated/Select/Select.less +14 -10
  356. package/src/_deprecated/Select/Select.test.tsx +16 -0
  357. package/src/_deprecated/Select/Select.tsx +6 -1
  358. package/src/_deprecated/Summary/Summary.css +2 -2
  359. package/src/_deprecated/Summary/Summary.less +2 -2
  360. package/src/common/Circle/Circle.css +1 -1
  361. package/src/common/Circle/Circle.less +1 -1
  362. package/src/common/Option/Option.css +4 -4
  363. package/src/common/Option/Option.less +4 -4
  364. package/src/common/PropsValues/typography.ts +20 -1
  365. package/src/index.ts +13 -0
  366. package/src/main.css +9245 -1899
  367. package/src/main.less +5 -2
  368. package/src/styles/less/accordion.css +53 -11
  369. package/src/styles/less/addons/_background-utilities.less +5 -0
  370. package/src/styles/less/badge.css +2 -2
  371. package/src/styles/less/badge.less +2 -2
  372. package/src/styles/less/button-groups.css +29 -6
  373. package/src/styles/less/button-groups.less +3 -2
  374. package/src/styles/less/buttons.css +35 -11
  375. package/src/styles/less/buttons.less +7 -7
  376. package/src/styles/less/core/_fonts.less +7 -75
  377. package/src/styles/less/core/_scaffolding.less +4 -4
  378. package/src/styles/less/core/_typography-utilities.less +3 -3
  379. package/src/styles/less/core/_typography.less +91 -236
  380. package/src/styles/less/core/fonts/_fonts-ar.less +86 -0
  381. package/src/styles/less/core/fonts/_fonts-base.less +99 -0
  382. package/src/styles/less/core/fonts/_fonts-he.less +8 -0
  383. package/src/styles/less/core/fonts/_fonts-ja.less +4247 -0
  384. package/src/styles/less/core/fonts/_fonts-ko.less +1079 -0
  385. package/src/styles/less/core/fonts/_fonts-th.less +8 -0
  386. package/src/styles/less/core/fonts/_fonts-zh.less +872 -0
  387. package/src/styles/less/decision.css +53 -11
  388. package/src/styles/less/decision.less +2 -2
  389. package/src/styles/less/dropdowns.css +65 -18
  390. package/src/styles/less/dropdowns.less +8 -7
  391. package/src/styles/less/droppable.css +28 -6
  392. package/src/styles/less/droppable.less +4 -4
  393. package/src/styles/less/footer.css +41 -10
  394. package/src/styles/less/footer.less +4 -3
  395. package/src/styles/less/forms/bootstrap-forms.css +153 -100
  396. package/src/styles/less/forms/bootstrap-forms.less +85 -72
  397. package/src/styles/less/forms/checkbox-radio.css +3 -3
  398. package/src/styles/less/forms/checkbox-radio.less +3 -3
  399. package/src/styles/less/input-groups.css +249 -117
  400. package/src/styles/less/input-groups.less +23 -9
  401. package/src/styles/less/list-group.css +28 -8
  402. package/src/styles/less/list-group.less +8 -5
  403. package/src/styles/less/mixins/_reset-text.less +1 -1
  404. package/src/styles/less/mixins/_text-emphasis.less +7 -1
  405. package/src/styles/less/modals.css +1 -1
  406. package/src/styles/less/modals.less +1 -1
  407. package/src/styles/less/navbar.css +92 -45
  408. package/src/styles/less/navbar.less +19 -19
  409. package/src/styles/less/navs.css +8 -8
  410. package/src/styles/less/navs.less +8 -8
  411. package/src/styles/less/neptune-addons.css +15 -0
  412. package/src/styles/less/neptune-core.css +6230 -525
  413. package/src/styles/less/neptune.bundle.less +4 -0
  414. package/src/styles/less/neptune.css +8790 -1768
  415. package/src/styles/less/panels.css +2 -2
  416. package/src/styles/less/panels.less +2 -2
  417. package/src/styles/less/popovers.css +64 -20
  418. package/src/styles/less/popovers.less +7 -7
  419. package/src/styles/less/progress-bars.css +2 -2
  420. package/src/styles/less/progress-bars.less +2 -2
  421. package/src/styles/less/sequences.css +14 -9
  422. package/src/styles/less/sequences.less +15 -10
  423. package/src/styles/less/table.css +7 -7
  424. package/src/styles/less/table.less +7 -7
  425. package/src/styles/less/tooltip.css +28 -6
  426. package/src/styles/less/tooltip.less +1 -1
  427. package/src/styles/variables/legacy-variables.less +3 -3
  428. package/build/styles/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  429. package/build/styles/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  430. package/build/styles/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  431. package/build/styles/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  432. package/build/styles/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  433. package/build/styles/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  434. package/build/styles/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  435. package/build/styles/fonts/rubik/rubik-body-cyrillic-330-normal.woff2 +0 -0
  436. package/build/styles/fonts/rubik/rubik-body-cyrillic-600-normal.woff2 +0 -0
  437. package/build/styles/fonts/rubik/rubik-body-cyrillic-ext-330-normal.woff2 +0 -0
  438. package/build/styles/fonts/rubik/rubik-body-cyrillic-ext-600-normal.woff2 +0 -0
  439. package/build/styles/fonts/rubik/rubik-cyrillic-900-normal.woff2 +0 -0
  440. package/build/styles/fonts/rubik/rubik-cyrillic-ext-900-normal.woff2 +0 -0
  441. package/src/FlowNavigation/_stories/FlowNavigation.CriticalBanner.docs.mdx +0 -66
  442. package/src/styles/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  443. package/src/styles/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  444. package/src/styles/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  445. package/src/styles/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  446. package/src/styles/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  447. package/src/styles/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  448. package/src/styles/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  449. package/src/styles/fonts/rubik/rubik-body-cyrillic-330-normal.woff2 +0 -0
  450. package/src/styles/fonts/rubik/rubik-body-cyrillic-600-normal.woff2 +0 -0
  451. package/src/styles/fonts/rubik/rubik-body-cyrillic-ext-330-normal.woff2 +0 -0
  452. package/src/styles/fonts/rubik/rubik-body-cyrillic-ext-600-normal.woff2 +0 -0
  453. package/src/styles/fonts/rubik/rubik-cyrillic-900-normal.woff2 +0 -0
  454. package/src/styles/fonts/rubik/rubik-cyrillic-ext-900-normal.woff2 +0 -0
@@ -0,0 +1,122 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks';
2
+
3
+ <Meta title="Prompts/CriticalBanner/Developer Guide" tags={['new']} />
4
+
5
+ # Developer Guide
6
+
7
+ **Note:** Any usages of `Layout`, `Flow` or `HashRouterFlow` rely on the `global-critical-banner` feature flag being enabled. Whilst this flag is currently disabled in production, it's recommended to test with this flag enabled in staging, to ensure the critical banner behaves as expected for your users.
8
+
9
+ Typically `CriticalBanner` should be used in one of three ways. Pick the one that matches the page or flow you're building and avoid using CriticalBanner as a standalone component.
10
+
11
+ - `Layout` via `@transferwise/navigation-ui` - Fetched automatically from navigation-service (for non-flow layouts)
12
+ - `Flow` / `HashRouterFlow` via `@transferwise/flow` - Fetched automatically from navigation-service (for flows)
13
+ - `FlowNavigation` via `@transferwise/components` - Passed in by you through the `banner` prop (for custom solutions)
14
+
15
+ If your page uses `Layout`, `Flow` or `HashRouterFlow`, you don't need to render `CriticalBanner` yourself. These components fetch the banner, cache it and render it for you automatically.
16
+
17
+ ## Layout from @transferwise/navigation-ui
18
+
19
+ `Layout` has no banner prop. It fetches the critical banner from navigation-service on the client and renders it above the page content.
20
+
21
+ Requirements:
22
+
23
+ - `@transferwise/navigation-ui` `4.46.0` or later
24
+ - The page must use the composable layout, and `global-critical-banner` feature flags in navigation-service control this. The legacy layout doesn't render the banner.
25
+
26
+ <Source
27
+ code={`import { Layout, fetchNavigationData, type NavigationData } from '@transferwise/navigation-ui';
28
+
29
+ // Optional: fetch initial navigation data server side, so the banner cache is scoped correctly.
30
+ export const getServerSideProps = async () => {
31
+ const navigationData = await fetchNavigationData({
32
+ httpClient,
33
+ navigationServiceUrl: process.env.NAVIGATION_SERVICE_URL,
34
+ });
35
+
36
+ return { props: { navigationData } };
37
+ };
38
+
39
+ const Page = ({ navigationData }: { navigationData: NavigationData }) => (
40
+ <Layout navigationData={navigationData} onMixpanelEvent={trackEvent}>
41
+ { /* Page content */ }
42
+ </Layout>
43
+ );
44
+ `}
45
+ language="typescript"
46
+ dark
47
+ />
48
+
49
+ `Layout` also handles:
50
+
51
+ - saving the collapsed or expanded state when the user toggles the banner
52
+ - caching the banner for the session, so the entry animation only plays for new or changed banners
53
+ - sending Mixpanel events for toggles and action clicks through `onMixpanelEvent`
54
+
55
+
56
+ ## Flow / HashRouterFlow from @transferwise/flow
57
+
58
+ `Flow` and `HashRouterFlow`, from `@transferwise/flow` render `FlowNavigationWrapper` from `@transferwise/navigation-ui`. It fetches, caches and renders the critical banner the same way `Layout` does. You don't need to pass a banner, but do require `@transferwise/navigation-ui` as a dependency.
59
+
60
+ Requirements:
61
+
62
+ - `@transferwise/flow` `13.0.0` or later
63
+ - `@transferwise/navigation-ui` `4.51.0` or later, which is a required peer dependency
64
+
65
+ You can pass two optional properties in the `navigation` options:
66
+
67
+ - `navigationData`: initial navigation data, usually fetched server side, so the banner cache is scoped correctly. If you leave it out, the banner is fetched on the client.
68
+ - `onMixpanelEvent`: called when the user toggles the banner or clicks its action.
69
+
70
+ <Source
71
+ code={`import { HashRouterFlow } from '@transferwise/flow';
72
+ import type { NavigationData } from '@transferwise/navigation-ui';
73
+
74
+ const SendFlow = ({ navigationData }: { navigationData?: NavigationData }) => (
75
+ <HashRouterFlow
76
+ steps={steps}
77
+ trackEvent={trackEvent}
78
+ navigation={{
79
+ profile,
80
+ onClose,
81
+ navigationData,
82
+ onMixpanelEvent: trackEvent,
83
+ }}
84
+ />
85
+ );
86
+ `}
87
+ language="typescript"
88
+ dark
89
+ />
90
+
91
+ ## FlowNavigation from @transferwise/components
92
+
93
+ `FlowNavigation` from `@transferwise/components` renders a critical banner above the navigation when you pass a `banner` prop. Use this if you build your flow with `FlowNavigation` directly. You're responsible for getting the banner data.
94
+
95
+ `banner` accepts either:
96
+
97
+ - `CriticalBannerProps`, the same props `CriticalBanner` takes
98
+ - the legacy `CriticalBannerData` shape returned by navigation-service. `FlowNavigation` maps it to `CriticalBannerProps` for you.
99
+
100
+ <Source
101
+ code={`import { FlowNavigation, type CriticalBannerProps } from '@transferwise/components';
102
+
103
+ const banner: CriticalBannerProps = {
104
+ sentiment: 'negative',
105
+ title: 'Action required',
106
+ description: 'Please verify your identity to continue with this transfer.',
107
+ action: { label: 'Verify now', onClick: handleVerify },
108
+ };
109
+
110
+ <FlowNavigation
111
+ banner={banner}
112
+ steps={steps}
113
+ activeStep={activeStep}
114
+ avatar={avatar}
115
+ onClose={onClose}
116
+ />;
117
+ `}
118
+ language="typescript"
119
+ dark
120
+ />
121
+
122
+ Requires `@transferwise/components` `46.162.0` or later. Support for the legacy `CriticalBannerData` shape was added in `46.164.0`.
@@ -14,8 +14,6 @@ import { CriticalBanner, type CriticalBannerProps } from '..';
14
14
  * **Design guidance**: <a href="https://docs.wise.design/components/critical-banner" target="_blank">wise.design/components/critical-banner</a>
15
15
  *
16
16
  * Can be controlled or uncontrolled. When `onToggle` is provided, the consumer manages the expanded state via `expanded` and the banner calls `onToggle` when the user clicks the chevron. When `onToggle` is not provided, the banner manages its own expanded state internally and toggles it when the user clicks the chevron.
17
- *
18
- * **Using with FlowNavigation**: See the [FlowNavigation Critical Banner Guide](?path=/docs/navigation-flownavigation-critical-banner-guide--docs) for integration patterns and data mapping examples.
19
17
  */
20
18
  const meta = {
21
19
  component: CriticalBanner,
@@ -21,7 +21,8 @@
21
21
  }
22
22
  .wds-prompt__media-wrapper {
23
23
  align-self: flex-start;
24
- padding-block-start: calc(var(--size-4) - 1px);
24
+ align-content: center;
25
+ min-block-size: calc(var(--wds-line-height-body) * var(--wds-font-size-body));
25
26
  }
26
27
  .wds-prompt__media-wrapper .tw-icon-tags,
27
28
  .wds-prompt__media-wrapper .tw-icon-confetti {
@@ -22,7 +22,8 @@
22
22
 
23
23
  &__media-wrapper {
24
24
  align-self: flex-start;
25
- padding-top: calc(var(--size-4) - 1px);
25
+ align-content: center;
26
+ min-height: calc(var(--wds-line-height-body) * var(--wds-font-size-body));
26
27
 
27
28
  .tw-icon-tags,
28
29
  .tw-icon-confetti {
@@ -564,7 +564,7 @@ export const ExposedTokens: Story = {
564
564
  }}
565
565
  >
566
566
  <h4
567
- className="d-block m-b-2 text-capitalize np-text-title-body"
567
+ className="d-block m-b-2 text-capitalize wds-text-title-body"
568
568
  style={{
569
569
  color: 'inherit',
570
570
  }}
@@ -15,7 +15,7 @@
15
15
  align-items: center;
16
16
  justify-content: space-between;
17
17
  text-align: start;
18
- font-size: var(--font-size-14);
18
+ font-size: var(--wds-font-size-body);
19
19
  margin-block: 0;
20
20
  margin-inline: var(--size-16);
21
21
  padding-block: var(--size-8);
@@ -21,7 +21,7 @@
21
21
  justify-content: space-between;
22
22
  text-align: left;
23
23
 
24
- font-size: var(--font-size-14);
24
+ font-size: var(--wds-font-size-body);
25
25
  margin: 0 var(--size-16);
26
26
  padding: var(--size-8) var(--size-16);
27
27
  width: calc(100% - var(--size-32));
@@ -61,7 +61,7 @@ const Stepper = ({ steps, activeStep = 0, className, testId }: StepperProps) =>
61
61
  className="btn-unstyled tw-stepper__step-label"
62
62
  onClick={() => clickable && step.onClick?.()}
63
63
  >
64
- <small>{step.label}</small>
64
+ <span className="wds-text-body-default">{step.label}</span>
65
65
  </button>
66
66
  ) : (
67
67
  <span className="tw-stepper__step-label">{step.label}</span>
@@ -73,7 +73,9 @@ const Stepper = ({ steps, activeStep = 0, className, testId }: StepperProps) =>
73
73
  className={clsx(
74
74
  'hidden-xs',
75
75
  'tw-stepper__step',
76
- active ? 'np-text-body-default-bold tw-stepper__step--active' : 'np-text-body-default',
76
+ active
77
+ ? 'np-text-body-default-bold wds-text-body-default-bold tw-stepper__step--active'
78
+ : 'np-text-body-default wds-text-body-default',
77
79
  clickable && 'tw-stepper__step--clickable',
78
80
  step.hoverLabel && 'tw-stepper__step--has-tooltip',
79
81
  )}
@@ -50,7 +50,7 @@ const TableHeader = ({
50
50
  // If headers are empty, we still should render empty headers to keep visual consistency
51
51
  return (
52
52
  <div
53
- className="np-table-header-content np-text-body-default-bold"
53
+ className="np-table-header-content np-text-body-default-bold wds-text-body-default-bold"
54
54
  data-testid="np-table-empty-header"
55
55
  >
56
56
  &nbsp;
@@ -13,7 +13,10 @@ describe('TableStatusText Component', () => {
13
13
  it('renders the text and applies the default class', () => {
14
14
  renderComponent();
15
15
  expect(screen.getByText('Status Text')).toBeInTheDocument();
16
- expect(screen.getByText('Status Text')).toHaveClass('np-text-body-default');
16
+ expect(screen.getByText('Status Text')).toHaveClass(
17
+ 'np-text-body-default',
18
+ 'wds-text-body-default',
19
+ );
17
20
  });
18
21
 
19
22
  it('applies the custom class name', () => {
@@ -23,12 +26,18 @@ describe('TableStatusText Component', () => {
23
26
 
24
27
  it('applies the default typography class when typography is not provided', () => {
25
28
  renderComponent();
26
- expect(screen.getByText('Status Text')).toHaveClass('np-text-body-default');
29
+ expect(screen.getByText('Status Text')).toHaveClass(
30
+ 'np-text-body-default',
31
+ 'wds-text-body-default',
32
+ );
27
33
  });
28
34
 
29
35
  it('applies the typography class when typography equals `default-bold`', () => {
30
36
  renderComponent({ typography: 'default-bold' });
31
- expect(screen.getByText('Status Text')).toHaveClass('np-text-body-default-bold');
37
+ expect(screen.getByText('Status Text')).toHaveClass(
38
+ 'np-text-body-default-bold',
39
+ 'wds-text-body-default-bold',
40
+ );
32
41
  });
33
42
 
34
43
  it('does not render any icon when status is not provided', () => {
@@ -39,14 +48,20 @@ describe('TableStatusText Component', () => {
39
48
 
40
49
  it('applies the typography and status classes, renders the error icon when status equals `error`', () => {
41
50
  renderComponent({ status: 'error' });
42
- expect(screen.getByText('Status Text')).toHaveClass('np-text-body-default-bold');
51
+ expect(screen.getByText('Status Text')).toHaveClass(
52
+ 'np-text-body-default-bold',
53
+ 'wds-text-body-default-bold',
54
+ );
43
55
  expect(screen.getByText('Status Text')).toHaveClass('np-table-content--error');
44
56
  expect(screen.getByTestId('alert-icon')).toBeInTheDocument();
45
57
  });
46
58
 
47
59
  it('applies the typography and status classes, renders the success icon when status equals `success`', () => {
48
60
  renderComponent({ status: 'success' });
49
- expect(screen.getByText('Status Text')).toHaveClass('np-text-body-default-bold');
61
+ expect(screen.getByText('Status Text')).toHaveClass(
62
+ 'np-text-body-default-bold',
63
+ 'wds-text-body-default-bold',
64
+ );
50
65
  expect(screen.getByText('Status Text')).toHaveClass('np-table-content--success');
51
66
  expect(screen.getByTestId('check-icon')).toBeInTheDocument();
52
67
  });
@@ -37,10 +37,16 @@
37
37
  }
38
38
  .np-table-inner-container {
39
39
  background-image: linear-gradient(to right, var(--color-contrast-overlay), var(--color-contrast-overlay)), linear-gradient(to right, var(--color-contrast-overlay), var(--color-contrast-overlay)), linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0)), linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0));
40
- background-position: left center, right center, left center, right center;
40
+ background-position: left center,
41
+ right center,
42
+ left center,
43
+ right center;
41
44
  background-repeat: no-repeat;
42
45
  background-color: var(--color-contrast-overlay);
43
- background-size: 15px 100%, 15px 100%, 15px 100%, 15px 100%;
46
+ background-size: 15px 100%,
47
+ 15px 100%,
48
+ 15px 100%,
49
+ 15px 100%;
44
50
  background-attachment: local, local, scroll, scroll;
45
51
  overflow-x: auto;
46
52
  border-radius: 10px;
@@ -130,7 +136,9 @@
130
136
  padding-inline-end: 0;
131
137
  }
132
138
  .np-table-header.np-table-header--right > .np-text-body-default,
133
- .np-table-cell.np-table-cell--right > .np-text-body-default {
139
+ .np-table-cell.np-table-cell--right > .np-text-body-default,
140
+ .np-table-header.np-table-header--right > .wds-text-body-default,
141
+ .np-table-cell.np-table-cell--right > .wds-text-body-default {
134
142
  text-align: end;
135
143
  }
136
144
  .np-table-header.np-table-header--right + .np-table-header:not(.np-table-header--right),
@@ -159,8 +167,8 @@
159
167
  padding-block-start: 5px;
160
168
  padding-block-end: 5px;
161
169
  white-space: nowrap;
162
- line-height: var(--line-height-22);
163
- letter-spacing: var(--letter-spacing-sm);
170
+ line-height: var(--wds-line-height-title-subsection);
171
+ letter-spacing: var(--wds-letter-spacing-title-subsection);
164
172
  }
165
173
  .np-table-header--error {
166
174
  color: var(--color-sentiment-negative);
@@ -180,7 +188,8 @@
180
188
  .np-table-cell--primary {
181
189
  min-inline-size: 200px;
182
190
  }
183
- .np-table-cell--currency .np-text-body-default {
191
+ .np-table-cell--currency .np-text-body-default,
192
+ .np-table-cell--currency .wds-text-body-default {
184
193
  white-space: nowrap;
185
194
  }
186
195
  .np-table-cell .tw-chevron {
@@ -193,7 +202,8 @@
193
202
  background-color: var(--color-background-neutral);
194
203
  padding: 0;
195
204
  }
196
- .np-table-cell .np-text-body-default-bold {
205
+ .np-table-cell .np-text-body-default-bold,
206
+ .np-table-cell .wds-text-body-default-bold {
197
207
  display: flex;
198
208
  align-items: center;
199
209
  color: var(--color-content-primary);
@@ -232,7 +242,7 @@
232
242
  .np-table-content-body {
233
243
  display: flex;
234
244
  flex-direction: column;
235
- font-size: var(--font-size-12);
245
+ font-size: var(--wds-font-size-nav);
236
246
  color: var(--color-content-tertiary);
237
247
  }
238
248
  .np-table-content--reversed {
@@ -59,10 +59,18 @@
59
59
  linear-gradient(to right, var(--color-contrast-overlay), var(--color-contrast-overlay)),
60
60
  linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0)),
61
61
  linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0));
62
- background-position: left center, right center, left center, right center;
62
+ background-position:
63
+ left center,
64
+ right center,
65
+ left center,
66
+ right center;
63
67
  background-repeat: no-repeat;
64
68
  background-color: var(--color-contrast-overlay);
65
- background-size: 15px 100%, 15px 100%, 15px 100%, 15px 100%;
69
+ background-size:
70
+ 15px 100%,
71
+ 15px 100%,
72
+ 15px 100%,
73
+ 15px 100%;
66
74
  background-attachment: local, local, scroll, scroll;
67
75
  overflow-x: auto;
68
76
  border-radius: @table-inner-border-radius;
@@ -188,7 +196,8 @@
188
196
 
189
197
  &-header.np-table-header--right,
190
198
  &-cell.np-table-cell--right {
191
- > .np-text-body-default {
199
+ > .np-text-body-default,
200
+ > .wds-text-body-default {
192
201
  text-align: right;
193
202
  }
194
203
  }
@@ -222,8 +231,8 @@
222
231
  padding-top: 5px;
223
232
  padding-bottom: 5px;
224
233
  white-space: nowrap;
225
- line-height: var(--line-height-22);
226
- letter-spacing: var(--letter-spacing-sm);
234
+ line-height: var(--wds-line-height-title-subsection);
235
+ letter-spacing: var(--wds-letter-spacing-title-subsection);
227
236
  }
228
237
 
229
238
  &--error {
@@ -249,7 +258,8 @@
249
258
  }
250
259
 
251
260
  &--currency {
252
- .np-text-body-default {
261
+ .np-text-body-default,
262
+ .wds-text-body-default {
253
263
  white-space: nowrap;
254
264
  }
255
265
  }
@@ -266,7 +276,8 @@
266
276
  padding: 0;
267
277
  }
268
278
 
269
- .np-text-body-default-bold {
279
+ .np-text-body-default-bold,
280
+ .wds-text-body-default-bold {
270
281
  display: flex;
271
282
  align-items: center;
272
283
  color: var(--color-content-primary);
@@ -306,11 +317,11 @@
306
317
  &-media {
307
318
  flex-shrink: 0;
308
319
  }
309
-
320
+
310
321
  &-body {
311
322
  display: flex;
312
323
  flex-direction: column;
313
- font-size: var(--font-size-12);
324
+ font-size: var(--wds-font-size-nav);
314
325
  color: var(--color-content-tertiary);
315
326
  }
316
327
 
@@ -49,11 +49,17 @@ const Tab = forwardRef(function Tab(
49
49
  return (
50
50
  <li
51
51
  ref={reference}
52
- className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {
53
- 'tabs__tab--selected': selected,
54
- clickable: !disabled,
55
- disabled,
56
- })}
52
+ className={clsx(
53
+ 'tabs__tab',
54
+ selected
55
+ ? 'np-text-body-large-bold wds-text-body-large-bold'
56
+ : 'np-text-body-large wds-text-body-large',
57
+ {
58
+ 'tabs__tab--selected': selected,
59
+ clickable: !disabled,
60
+ disabled,
61
+ },
62
+ )}
57
63
  role="tab"
58
64
  id={id}
59
65
  aria-selected={selected ? 'true' : 'false'}
package/src/Tabs/Tabs.css CHANGED
@@ -8,19 +8,19 @@
8
8
  padding: var(--size-8);
9
9
  margin-block-end: -2px;
10
10
  color: var(--color-content-primary);
11
- font-weight: var(--font-weight-semi-bold);
11
+ font-weight: var(--wds-font-weight-body-bold);
12
12
  transition: color 0.15s ease-in-out;
13
13
  }
14
14
  .np-theme-personal .tabs__tab {
15
15
  color: var(--color-content-secondary);
16
- font-weight: var(--font-weight-regular);
16
+ font-weight: var(--wds-font-weight-body-regular);
17
17
  }
18
18
  .tabs__tab--selected {
19
19
  color: var(--color-content-accent);
20
20
  }
21
21
  .np-theme-personal .tabs__tab--selected {
22
22
  color: var(--color-interactive-primary);
23
- font-weight: var(--font-weight-semi-bold);
23
+ font-weight: var(--wds-font-weight-body-bold);
24
24
  }
25
25
  .tabs__tab__content {
26
26
  border-radius: 2px;
@@ -16,12 +16,12 @@
16
16
  padding: var(--size-8);
17
17
  margin-bottom: -@line-thickness;
18
18
  color: var(--color-content-primary);
19
- font-weight: var(--font-weight-semi-bold);
19
+ font-weight: var(--wds-font-weight-body-bold);
20
20
  transition: color @short-transition-duration @transition-timing-function;
21
21
 
22
22
  .np-theme-personal & {
23
23
  color: var(--color-content-secondary);
24
- font-weight: var(--font-weight-regular);
24
+ font-weight: var(--wds-font-weight-body-regular);
25
25
  }
26
26
 
27
27
  &--selected {
@@ -29,7 +29,7 @@
29
29
 
30
30
  .np-theme-personal & {
31
31
  color: var(--color-interactive-primary);
32
- font-weight: var(--font-weight-semi-bold);
32
+ font-weight: var(--wds-font-weight-body-bold);
33
33
  }
34
34
  }
35
35
 
package/src/Tag/Tag.css CHANGED
@@ -11,7 +11,7 @@
11
11
  }
12
12
  .wds-tag--small {
13
13
  border-radius: 6px;
14
- font-size: var(--font-size-12);
14
+ font-size: var(--wds-font-size-nav);
15
15
  padding-block: 1px;
16
16
  padding-inline: var(--size-4);
17
17
  }
package/src/Tag/Tag.less CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  &--small {
12
12
  border-radius: 6px;
13
- font-size: var(--font-size-12);
13
+ font-size: var(--wds-font-size-nav);
14
14
  padding-block: 1px;
15
15
  padding-inline: var(--size-4);
16
16
  }
package/src/Tag/Tag.tsx CHANGED
@@ -58,7 +58,7 @@ const Tag = forwardRef<HTMLSpanElement, TagProps>(function Tag(
58
58
  'wds-tag',
59
59
  `wds-tag--${size}`,
60
60
  `wds-tag--${sentiment}`,
61
- 'np-text-body-default-bold',
61
+ 'np-text-body-default-bold wds-text-body-default-bold',
62
62
  className,
63
63
  )}
64
64
  >
@@ -29,7 +29,7 @@ const PHOTO = '../card-payment-bakery.webp';
29
29
 
30
30
  const Label = ({ children }: { children: ReactNode }) => (
31
31
  <span
32
- className="np-text-body-default"
32
+ className="wds-text-body-default"
33
33
  style={{
34
34
  color: 'var(--color-content-secondary)',
35
35
  textTransform: 'capitalize',
package/src/Tile/Tile.css CHANGED
@@ -22,7 +22,8 @@
22
22
  .np-theme-personal .np-tile.decision:active {
23
23
  background-color: var(--color-background-neutral-active);
24
24
  }
25
- .np-theme-personal .np-tile.decision .np-text-body-default {
25
+ .np-theme-personal .np-tile.decision .np-text-body-default,
26
+ .np-theme-personal .np-tile.decision .wds-text-body-default {
26
27
  color: var(--color-content-secondary);
27
28
  }
28
29
  .np-tile.np-decision__tile--fixed-width {
@@ -50,7 +51,7 @@
50
51
  }
51
52
  .np-tile__description {
52
53
  color: var(--color-content-secondary);
53
- font-weight: var(--font-weight-regular);
54
- line-height: var(--line-height-body);
54
+ font-weight: var(--wds-font-weight-body-regular);
55
+ line-height: var(--wds-line-height-body);
55
56
  margin-block-start: var(--size-12);
56
57
  }
@@ -28,7 +28,8 @@
28
28
  background-color: var(--color-background-neutral-active);
29
29
  }
30
30
 
31
- .np-text-body-default {
31
+ .np-text-body-default,
32
+ .wds-text-body-default {
32
33
  color: var(--color-content-secondary);
33
34
  }
34
35
  }
@@ -71,7 +72,7 @@
71
72
 
72
73
  .np-tile__description {
73
74
  color: var(--color-content-secondary);
74
- font-weight: var(--font-weight-regular);
75
- line-height: var(--line-height-body);
75
+ font-weight: var(--wds-font-weight-body-regular);
76
+ line-height: var(--wds-line-height-body);
76
77
  margin-top: var(--size-12);
77
78
  }
@@ -9,7 +9,20 @@ describe('Title', () => {
9
9
  const copy = screen.getByText('Test');
10
10
  expect(copy).toBeInTheDocument();
11
11
  expect(copy.tagName).toBe('H5');
12
- expect(copy).toHaveClass(`np-text-${Typography.TITLE_GROUP}`);
12
+ expect(copy).toHaveClass(
13
+ `np-text-${Typography.TITLE_GROUP}`,
14
+ `wds-text-${Typography.TITLE_GROUP}`,
15
+ );
16
+ });
17
+
18
+ it('renders both typography classes for the given type', () => {
19
+ render(<Title type={Typography.TITLE_SCREEN}>Test</Title>);
20
+ const copy = screen.getByText('Test');
21
+ expect(copy.tagName).toBe('H1');
22
+ expect(copy).toHaveClass(
23
+ `np-text-${Typography.TITLE_SCREEN}`,
24
+ `wds-text-${Typography.TITLE_SCREEN}`,
25
+ );
13
26
  });
14
27
 
15
28
  it('enforces tag via `as` prop', () => {
@@ -17,7 +30,10 @@ describe('Title', () => {
17
30
  const copy = screen.getByText('Test');
18
31
  expect(copy).toBeInTheDocument();
19
32
  expect(copy.tagName).toBe('SPAN');
20
- expect(copy).toHaveClass(`np-text-${Typography.TITLE_GROUP}`);
33
+ expect(copy).toHaveClass(
34
+ `np-text-${Typography.TITLE_GROUP}`,
35
+ `wds-text-${Typography.TITLE_GROUP}`,
36
+ );
21
37
  });
22
38
 
23
39
  it('supports native HTML attrs', () => {
@@ -39,6 +55,9 @@ describe('Title', () => {
39
55
  const copy = screen.getByText('Test');
40
56
  expect(copy).toBeInTheDocument();
41
57
  expect(copy.tagName).toBe('H5');
42
- expect(copy).toHaveClass(`np-text-${Typography.TITLE_GROUP}`);
58
+ expect(copy).toHaveClass(
59
+ `np-text-${Typography.TITLE_GROUP}`,
60
+ `wds-text-${Typography.TITLE_GROUP}`,
61
+ );
43
62
  });
44
63
  });
@@ -39,7 +39,7 @@ const Title = React.forwardRef<
39
39
  <HeaderTag
40
40
  ref={ref as React.Ref<any>}
41
41
  {...props}
42
- className={clsx(`np-text-${type}`, className)}
42
+ className={clsx(`np-text-${type}`, `wds-text-${type}`, className)}
43
43
  />
44
44
  );
45
45
  }
@@ -48,7 +48,7 @@ const Title = React.forwardRef<
48
48
  <HeaderTag
49
49
  ref={ref as React.Ref<any>}
50
50
  {...props}
51
- className={clsx(`np-text-${DEFAULT_TYPE}`, className)}
51
+ className={clsx(`np-text-${DEFAULT_TYPE}`, `wds-text-${DEFAULT_TYPE}`, className)}
52
52
  />
53
53
  );
54
54
  });
@@ -149,11 +149,13 @@
149
149
  .np-theme-personal .typeahead .np-chip {
150
150
  margin-block-start: var(--size-8);
151
151
  }
152
- .np-theme-personal .typeahead .np-chip--removable .np-text-body-default-bold {
152
+ .np-theme-personal .typeahead .np-chip--removable .np-text-body-default-bold,
153
+ .np-theme-personal .typeahead .np-chip--removable .wds-text-body-default-bold {
153
154
  padding-inline-end: var(--size-16);
154
155
  }
155
156
  @media (max-width: 320px) {
156
- .np-theme-personal .typeahead .np-chip--removable .np-text-body-default-bold {
157
+ .np-theme-personal .typeahead .np-chip--removable .np-text-body-default-bold,
158
+ .np-theme-personal .typeahead .np-chip--removable .wds-text-body-default-bold {
157
159
  padding-inline-end: var(--size-32);
158
160
  }
159
161
  }
@@ -209,7 +209,8 @@
209
209
  margin-top: var(--size-8);
210
210
  }
211
211
  .np-chip--removable {
212
- .np-text-body-default-bold {
212
+ .np-text-body-default-bold,
213
+ .wds-text-body-default-bold {
213
214
  padding-right: var(--size-16);
214
215
  @media (--screen-400-zoom) {
215
216
  padding-right: var(--size-32);