@transferwise/components 0.0.0-experimental-24a0a12 → 0.0.0-experimental-d678cd6

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 (441) hide show
  1. package/build/accordion/AccordionItem/AccordionItem.js +1 -0
  2. package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
  3. package/build/accordion/AccordionItem/AccordionItem.mjs +1 -0
  4. package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  5. package/build/actionButton/ActionButton.js +1 -0
  6. package/build/actionButton/ActionButton.js.map +1 -1
  7. package/build/actionButton/ActionButton.mjs +1 -0
  8. package/build/actionButton/ActionButton.mjs.map +1 -1
  9. package/build/actionOption/ActionOption.js +1 -0
  10. package/build/actionOption/ActionOption.js.map +1 -1
  11. package/build/actionOption/ActionOption.mjs +1 -0
  12. package/build/actionOption/ActionOption.mjs.map +1 -1
  13. package/build/alert/Alert.js +1 -0
  14. package/build/alert/Alert.js.map +1 -1
  15. package/build/alert/Alert.mjs +1 -0
  16. package/build/alert/Alert.mjs.map +1 -1
  17. package/build/alert/inlineMarkdown/InlineMarkdown.js +1 -0
  18. package/build/alert/inlineMarkdown/InlineMarkdown.js.map +1 -1
  19. package/build/alert/inlineMarkdown/InlineMarkdown.mjs +1 -0
  20. package/build/alert/inlineMarkdown/InlineMarkdown.mjs.map +1 -1
  21. package/build/avatar/Avatar.js +1 -0
  22. package/build/avatar/Avatar.js.map +1 -1
  23. package/build/avatar/Avatar.mjs +1 -0
  24. package/build/avatar/Avatar.mjs.map +1 -1
  25. package/build/avatarView/AvatarView.js +1 -0
  26. package/build/avatarView/AvatarView.js.map +1 -1
  27. package/build/avatarView/AvatarView.mjs +1 -0
  28. package/build/avatarView/AvatarView.mjs.map +1 -1
  29. package/build/avatarWrapper/AvatarWrapper.js +1 -0
  30. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  31. package/build/avatarWrapper/AvatarWrapper.mjs +1 -0
  32. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  33. package/build/badge/Badge.js +1 -0
  34. package/build/badge/Badge.js.map +1 -1
  35. package/build/badge/Badge.mjs +1 -0
  36. package/build/badge/Badge.mjs.map +1 -1
  37. package/build/badge/BadgeAssets.js +2 -1
  38. package/build/badge/BadgeAssets.js.map +1 -1
  39. package/build/badge/BadgeAssets.mjs +2 -1
  40. package/build/badge/BadgeAssets.mjs.map +1 -1
  41. package/build/button/Button.js +1 -0
  42. package/build/button/Button.js.map +1 -1
  43. package/build/button/Button.mjs +1 -0
  44. package/build/button/Button.mjs.map +1 -1
  45. package/build/button/LegacyButton.js +1 -0
  46. package/build/button/LegacyButton.js.map +1 -1
  47. package/build/button/LegacyButton.mjs +1 -0
  48. package/build/button/LegacyButton.mjs.map +1 -1
  49. package/build/button/classMap.js +1 -0
  50. package/build/button/classMap.js.map +1 -1
  51. package/build/button/classMap.mjs +1 -0
  52. package/build/button/classMap.mjs.map +1 -1
  53. package/build/button/legacyUtils/legacyUtils.js +1 -0
  54. package/build/button/legacyUtils/legacyUtils.js.map +1 -1
  55. package/build/button/legacyUtils/legacyUtils.mjs +1 -0
  56. package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
  57. package/build/card/Card.js +1 -0
  58. package/build/card/Card.js.map +1 -1
  59. package/build/card/Card.mjs +1 -0
  60. package/build/card/Card.mjs.map +1 -1
  61. package/build/checkbox/Checkbox.js +1 -0
  62. package/build/checkbox/Checkbox.js.map +1 -1
  63. package/build/checkbox/Checkbox.mjs +1 -0
  64. package/build/checkbox/Checkbox.mjs.map +1 -1
  65. package/build/chevron/Chevron.js +1 -0
  66. package/build/chevron/Chevron.js.map +1 -1
  67. package/build/chevron/Chevron.mjs +1 -0
  68. package/build/chevron/Chevron.mjs.map +1 -1
  69. package/build/chips/Chip.js +1 -0
  70. package/build/chips/Chip.js.map +1 -1
  71. package/build/chips/Chip.mjs +1 -0
  72. package/build/chips/Chip.mjs.map +1 -1
  73. package/build/circularButton/CircularButton.js +1 -0
  74. package/build/circularButton/CircularButton.js.map +1 -1
  75. package/build/circularButton/CircularButton.mjs +1 -0
  76. package/build/circularButton/CircularButton.mjs.map +1 -1
  77. package/build/common/locale/index.js +9 -4
  78. package/build/common/locale/index.js.map +1 -1
  79. package/build/common/locale/index.mjs +9 -4
  80. package/build/common/locale/index.mjs.map +1 -1
  81. package/build/common/panel/Panel.js +41 -56
  82. package/build/common/panel/Panel.js.map +1 -1
  83. package/build/common/panel/Panel.mjs +46 -61
  84. package/build/common/panel/Panel.mjs.map +1 -1
  85. package/build/common/responsivePanel/ResponsivePanel.js +1 -0
  86. package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
  87. package/build/common/responsivePanel/ResponsivePanel.mjs +1 -0
  88. package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
  89. package/build/criticalBanner/CriticalCommsBanner.js +1 -0
  90. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  91. package/build/criticalBanner/CriticalCommsBanner.mjs +1 -0
  92. package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
  93. package/build/dateInput/DateInput.js +1 -1
  94. package/build/dateInput/DateInput.mjs +1 -1
  95. package/build/dateLookup/DateLookup.js +1 -1
  96. package/build/dateLookup/DateLookup.mjs +1 -1
  97. package/build/dateLookup/dateHeader/DateHeader.js +1 -0
  98. package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
  99. package/build/dateLookup/dateHeader/DateHeader.mjs +1 -0
  100. package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
  101. package/build/decision/Decision.js +1 -0
  102. package/build/decision/Decision.js.map +1 -1
  103. package/build/decision/Decision.mjs +1 -0
  104. package/build/decision/Decision.mjs.map +1 -1
  105. package/build/definitionList/DefinitionList.js +1 -0
  106. package/build/definitionList/DefinitionList.js.map +1 -1
  107. package/build/definitionList/DefinitionList.mjs +1 -0
  108. package/build/definitionList/DefinitionList.mjs.map +1 -1
  109. package/build/dimmer/Dimmer.js +1 -0
  110. package/build/dimmer/Dimmer.js.map +1 -1
  111. package/build/dimmer/Dimmer.mjs +1 -0
  112. package/build/dimmer/Dimmer.mjs.map +1 -1
  113. package/build/display/Display.js +1 -0
  114. package/build/display/Display.js.map +1 -1
  115. package/build/display/Display.mjs +1 -0
  116. package/build/display/Display.mjs.map +1 -1
  117. package/build/drawer/Drawer.js +1 -0
  118. package/build/drawer/Drawer.js.map +1 -1
  119. package/build/drawer/Drawer.mjs +1 -0
  120. package/build/drawer/Drawer.mjs.map +1 -1
  121. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js +4 -3
  122. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js.map +1 -1
  123. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs +4 -3
  124. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs.map +1 -1
  125. package/build/field/Field.js +5 -5
  126. package/build/field/Field.mjs +5 -5
  127. package/build/flowNavigation/FlowNavigation.js +1 -0
  128. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  129. package/build/flowNavigation/FlowNavigation.mjs +1 -0
  130. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  131. package/build/header/Header.js +1 -0
  132. package/build/header/Header.js.map +1 -1
  133. package/build/header/Header.mjs +1 -0
  134. package/build/header/Header.mjs.map +1 -1
  135. package/build/i18n/en.json +0 -2
  136. package/build/i18n/en.json.js +0 -2
  137. package/build/i18n/en.json.js.map +1 -1
  138. package/build/i18n/en.json.mjs +0 -2
  139. package/build/i18n/en.json.mjs.map +1 -1
  140. package/build/index.js +0 -2
  141. package/build/index.js.map +1 -1
  142. package/build/index.mjs +0 -1
  143. package/build/index.mjs.map +1 -1
  144. package/build/info/Info.js +1 -0
  145. package/build/info/Info.js.map +1 -1
  146. package/build/info/Info.mjs +1 -0
  147. package/build/info/Info.mjs.map +1 -1
  148. package/build/inlineAlert/InlineAlert.js +1 -0
  149. package/build/inlineAlert/InlineAlert.js.map +1 -1
  150. package/build/inlineAlert/InlineAlert.mjs +1 -0
  151. package/build/inlineAlert/InlineAlert.mjs.map +1 -1
  152. package/build/inputs/SearchInput.js +1 -0
  153. package/build/inputs/SearchInput.js.map +1 -1
  154. package/build/inputs/SearchInput.mjs +1 -0
  155. package/build/inputs/SearchInput.mjs.map +1 -1
  156. package/build/instructionsList/InstructionsList.js +1 -0
  157. package/build/instructionsList/InstructionsList.js.map +1 -1
  158. package/build/instructionsList/InstructionsList.mjs +1 -0
  159. package/build/instructionsList/InstructionsList.mjs.map +1 -1
  160. package/build/link/Link.js +1 -0
  161. package/build/link/Link.js.map +1 -1
  162. package/build/link/Link.mjs +1 -0
  163. package/build/link/Link.mjs.map +1 -1
  164. package/build/listItem/AdditionalInfo/ListItemAdditionalInfo.js +1 -0
  165. package/build/listItem/AdditionalInfo/ListItemAdditionalInfo.js.map +1 -1
  166. package/build/listItem/AdditionalInfo/ListItemAdditionalInfo.mjs +1 -0
  167. package/build/listItem/AdditionalInfo/ListItemAdditionalInfo.mjs.map +1 -1
  168. package/build/listItem/ListItem.js +1 -0
  169. package/build/listItem/ListItem.js.map +1 -1
  170. package/build/listItem/ListItem.mjs +1 -0
  171. package/build/listItem/ListItem.mjs.map +1 -1
  172. package/build/listItem/Prompt/ListItemPrompt.js +5 -5
  173. package/build/listItem/Prompt/ListItemPrompt.mjs +5 -5
  174. package/build/loader/Loader.js +1 -0
  175. package/build/loader/Loader.js.map +1 -1
  176. package/build/loader/Loader.mjs +1 -0
  177. package/build/loader/Loader.mjs.map +1 -1
  178. package/build/main.css +51 -130
  179. package/build/markdown/Markdown.js +1 -0
  180. package/build/markdown/Markdown.js.map +1 -1
  181. package/build/markdown/Markdown.mjs +1 -0
  182. package/build/markdown/Markdown.mjs.map +1 -1
  183. package/build/modal/Modal.js +1 -0
  184. package/build/modal/Modal.js.map +1 -1
  185. package/build/modal/Modal.mjs +1 -0
  186. package/build/modal/Modal.mjs.map +1 -1
  187. package/build/moneyInput/MoneyInput.js +28 -12
  188. package/build/moneyInput/MoneyInput.js.map +1 -1
  189. package/build/moneyInput/MoneyInput.mjs +30 -14
  190. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  191. package/build/moneyInput/currencyFormatting.js +8 -2
  192. package/build/moneyInput/currencyFormatting.js.map +1 -1
  193. package/build/moneyInput/currencyFormatting.mjs +5 -4
  194. package/build/moneyInput/currencyFormatting.mjs.map +1 -1
  195. package/build/navigationOption/NavigationOption.js +1 -0
  196. package/build/navigationOption/NavigationOption.js.map +1 -1
  197. package/build/navigationOption/NavigationOption.mjs +1 -0
  198. package/build/navigationOption/NavigationOption.mjs.map +1 -1
  199. package/build/nudge/Nudge.js +1 -0
  200. package/build/nudge/Nudge.js.map +1 -1
  201. package/build/nudge/Nudge.mjs +1 -0
  202. package/build/nudge/Nudge.mjs.map +1 -1
  203. package/build/overlayHeader/OverlayHeader.js +1 -0
  204. package/build/overlayHeader/OverlayHeader.js.map +1 -1
  205. package/build/overlayHeader/OverlayHeader.mjs +1 -0
  206. package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
  207. package/build/phoneNumberInput/PhoneNumberInput.js +1 -0
  208. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  209. package/build/phoneNumberInput/PhoneNumberInput.mjs +1 -0
  210. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  211. package/build/popover/Popover.js +1 -0
  212. package/build/popover/Popover.js.map +1 -1
  213. package/build/popover/Popover.mjs +1 -0
  214. package/build/popover/Popover.mjs.map +1 -1
  215. package/build/processIndicator/ProcessIndicator.js +1 -0
  216. package/build/processIndicator/ProcessIndicator.js.map +1 -1
  217. package/build/processIndicator/ProcessIndicator.mjs +1 -0
  218. package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
  219. package/build/progressBar/ProgressBar.js +1 -0
  220. package/build/progressBar/ProgressBar.js.map +1 -1
  221. package/build/progressBar/ProgressBar.mjs +1 -0
  222. package/build/progressBar/ProgressBar.mjs.map +1 -1
  223. package/build/promoCard/PromoCard.js +1 -0
  224. package/build/promoCard/PromoCard.js.map +1 -1
  225. package/build/promoCard/PromoCard.mjs +1 -0
  226. package/build/promoCard/PromoCard.mjs.map +1 -1
  227. package/build/promoCard/PromoCardIndicator.js +1 -0
  228. package/build/promoCard/PromoCardIndicator.js.map +1 -1
  229. package/build/promoCard/PromoCardIndicator.mjs +1 -0
  230. package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
  231. package/build/prompt/ActionPrompt/ActionPrompt.js +41 -8
  232. package/build/prompt/ActionPrompt/ActionPrompt.js.map +1 -1
  233. package/build/prompt/ActionPrompt/ActionPrompt.mjs +41 -8
  234. package/build/prompt/ActionPrompt/ActionPrompt.mjs.map +1 -1
  235. package/build/prompt/InfoPrompt/InfoPrompt.js +1 -0
  236. package/build/prompt/InfoPrompt/InfoPrompt.js.map +1 -1
  237. package/build/prompt/InfoPrompt/InfoPrompt.mjs +1 -0
  238. package/build/prompt/InfoPrompt/InfoPrompt.mjs.map +1 -1
  239. package/build/prompt/InlinePrompt/InlinePrompt.js +1 -0
  240. package/build/prompt/InlinePrompt/InlinePrompt.js.map +1 -1
  241. package/build/prompt/InlinePrompt/InlinePrompt.mjs +1 -0
  242. package/build/prompt/InlinePrompt/InlinePrompt.mjs.map +1 -1
  243. package/build/prompt/PrimitivePrompt/PrimitivePrompt.js +0 -2
  244. package/build/prompt/PrimitivePrompt/PrimitivePrompt.js.map +1 -1
  245. package/build/prompt/PrimitivePrompt/PrimitivePrompt.mjs +0 -2
  246. package/build/prompt/PrimitivePrompt/PrimitivePrompt.mjs.map +1 -1
  247. package/build/radio/Radio.js +1 -0
  248. package/build/radio/Radio.js.map +1 -1
  249. package/build/radio/Radio.mjs +1 -0
  250. package/build/radio/Radio.mjs.map +1 -1
  251. package/build/segmentedControl/SegmentedControl.js +1 -0
  252. package/build/segmentedControl/SegmentedControl.js.map +1 -1
  253. package/build/segmentedControl/SegmentedControl.mjs +1 -0
  254. package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
  255. package/build/select/Select.js +1 -0
  256. package/build/select/Select.js.map +1 -1
  257. package/build/select/Select.mjs +1 -0
  258. package/build/select/Select.mjs.map +1 -1
  259. package/build/select/option/Option.js +1 -0
  260. package/build/select/option/Option.js.map +1 -1
  261. package/build/select/option/Option.mjs +1 -0
  262. package/build/select/option/Option.mjs.map +1 -1
  263. package/build/statusIcon/StatusIcon.js +1 -0
  264. package/build/statusIcon/StatusIcon.js.map +1 -1
  265. package/build/statusIcon/StatusIcon.mjs +1 -0
  266. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  267. package/build/stepper/Stepper.js +1 -0
  268. package/build/stepper/Stepper.js.map +1 -1
  269. package/build/stepper/Stepper.mjs +1 -0
  270. package/build/stepper/Stepper.mjs.map +1 -1
  271. package/build/sticky/Sticky.js +1 -0
  272. package/build/sticky/Sticky.js.map +1 -1
  273. package/build/sticky/Sticky.mjs +1 -0
  274. package/build/sticky/Sticky.mjs.map +1 -1
  275. package/build/styles/css/neptune.css +22 -22
  276. package/build/styles/less/neptune-tokens.less +4 -4
  277. package/build/styles/main.css +51 -130
  278. package/build/styles/props/neptune-tokens.css +2 -2
  279. package/build/styles/styles/less/neptune.css +22 -22
  280. package/build/summary/Summary.js +1 -0
  281. package/build/summary/Summary.js.map +1 -1
  282. package/build/summary/Summary.mjs +1 -0
  283. package/build/summary/Summary.mjs.map +1 -1
  284. package/build/table/Table.js +1 -0
  285. package/build/table/Table.js.map +1 -1
  286. package/build/table/Table.mjs +1 -0
  287. package/build/table/Table.mjs.map +1 -1
  288. package/build/table/TableRow.js +1 -0
  289. package/build/table/TableRow.js.map +1 -1
  290. package/build/table/TableRow.mjs +1 -0
  291. package/build/table/TableRow.mjs.map +1 -1
  292. package/build/table/TableStatusText.js +1 -0
  293. package/build/table/TableStatusText.js.map +1 -1
  294. package/build/table/TableStatusText.mjs +1 -0
  295. package/build/table/TableStatusText.mjs.map +1 -1
  296. package/build/tabs/Tabs.js +1 -0
  297. package/build/tabs/Tabs.js.map +1 -1
  298. package/build/tabs/Tabs.mjs +1 -0
  299. package/build/tabs/Tabs.mjs.map +1 -1
  300. package/build/tile/Tile.js +1 -0
  301. package/build/tile/Tile.js.map +1 -1
  302. package/build/tile/Tile.mjs +1 -0
  303. package/build/tile/Tile.mjs.map +1 -1
  304. package/build/title/Title.js +1 -0
  305. package/build/title/Title.js.map +1 -1
  306. package/build/title/Title.mjs +1 -0
  307. package/build/title/Title.mjs.map +1 -1
  308. package/build/tooltip/Tooltip.js +30 -50
  309. package/build/tooltip/Tooltip.js.map +1 -1
  310. package/build/tooltip/Tooltip.mjs +31 -51
  311. package/build/tooltip/Tooltip.mjs.map +1 -1
  312. package/build/typeahead/Typeahead.js +5 -5
  313. package/build/typeahead/Typeahead.mjs +5 -5
  314. package/build/types/badge/BadgeAssets.d.ts.map +1 -1
  315. package/build/types/common/locale/index.d.ts +1 -1
  316. package/build/types/common/locale/index.d.ts.map +1 -1
  317. package/build/types/common/panel/Panel.d.ts.map +1 -1
  318. package/build/types/expressiveMoneyInput/currencySelector/CurrencySelector.d.ts.map +1 -1
  319. package/build/types/index.d.ts +2 -2
  320. package/build/types/index.d.ts.map +1 -1
  321. package/build/types/moneyInput/MoneyInput.d.ts +6 -0
  322. package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
  323. package/build/types/moneyInput/currencyFormatting.d.ts +4 -3
  324. package/build/types/moneyInput/currencyFormatting.d.ts.map +1 -1
  325. package/build/types/prompt/ActionPrompt/ActionPrompt.d.ts +11 -2
  326. package/build/types/prompt/ActionPrompt/ActionPrompt.d.ts.map +1 -1
  327. package/build/types/prompt/PrimitivePrompt/PrimitivePrompt.d.ts +3 -8
  328. package/build/types/prompt/PrimitivePrompt/PrimitivePrompt.d.ts.map +1 -1
  329. package/build/types/prompt/index.d.ts +0 -2
  330. package/build/types/prompt/index.d.ts.map +1 -1
  331. package/build/types/test-utils/index.d.ts +0 -4
  332. package/build/types/test-utils/index.d.ts.map +1 -1
  333. package/build/types/tooltip/Tooltip.d.ts.map +1 -1
  334. package/build/upload/Upload.js +1 -0
  335. package/build/upload/Upload.js.map +1 -1
  336. package/build/upload/Upload.mjs +1 -0
  337. package/build/upload/Upload.mjs.map +1 -1
  338. package/build/upload/steps/completeStep/completeStep.js +1 -0
  339. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  340. package/build/upload/steps/completeStep/completeStep.mjs +1 -0
  341. package/build/upload/steps/completeStep/completeStep.mjs.map +1 -1
  342. package/build/upload/steps/processingStep/processingStep.js +1 -0
  343. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  344. package/build/upload/steps/processingStep/processingStep.mjs +1 -0
  345. package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
  346. package/build/upload/steps/uploadImageStep/uploadImageStep.js +1 -0
  347. package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
  348. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +1 -0
  349. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
  350. package/build/uploadInput/UploadInput.js +1 -0
  351. package/build/uploadInput/UploadInput.js.map +1 -1
  352. package/build/uploadInput/UploadInput.mjs +1 -0
  353. package/build/uploadInput/UploadInput.mjs.map +1 -1
  354. package/build/uploadInput/uploadButton/UploadButton.js +1 -0
  355. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  356. package/build/uploadInput/uploadButton/UploadButton.mjs +1 -0
  357. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  358. package/build/uploadInput/uploadButton/defaults.js +1 -0
  359. package/build/uploadInput/uploadButton/defaults.js.map +1 -1
  360. package/build/uploadInput/uploadButton/defaults.mjs +1 -0
  361. package/build/uploadInput/uploadButton/defaults.mjs.map +1 -1
  362. package/build/uploadInput/uploadItem/UploadItem.js +1 -0
  363. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  364. package/build/uploadInput/uploadItem/UploadItem.mjs +1 -0
  365. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  366. package/build/withDisplayFormat/WithDisplayFormat.js +1 -0
  367. package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -1
  368. package/build/withDisplayFormat/WithDisplayFormat.mjs +1 -0
  369. package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -1
  370. package/package.json +14 -16
  371. package/src/avatarView/AvatarView.story.tsx +1 -1
  372. package/src/badge/BadgeAssets.tsx +2 -0
  373. package/src/common/locale/index.test.ts +13 -4
  374. package/src/common/locale/index.ts +9 -3
  375. package/src/common/panel/Panel.tsx +42 -50
  376. package/src/expressiveMoneyInput/ExpressiveMoneyInput.story.tsx +18 -0
  377. package/src/expressiveMoneyInput/currencySelector/CurrencySelector.test.tsx +119 -1
  378. package/src/expressiveMoneyInput/currencySelector/CurrencySelector.tsx +4 -3
  379. package/src/i18n/en.json +0 -2
  380. package/src/index.ts +2 -2
  381. package/src/main.css +51 -130
  382. package/src/main.less +1 -3
  383. package/src/moneyInput/MoneyInput.story.tsx +10 -1
  384. package/src/moneyInput/MoneyInput.test.story.tsx +141 -1
  385. package/src/moneyInput/MoneyInput.test.tsx +45 -0
  386. package/src/moneyInput/MoneyInput.tsx +27 -3
  387. package/src/moneyInput/currencyFormatting.ts +11 -5
  388. package/src/prompt/ActionPrompt/ActionPrompt.tsx +62 -9
  389. package/src/prompt/PrimitivePrompt/PrimitivePrompt.tsx +2 -9
  390. package/src/prompt/index.ts +0 -4
  391. package/src/sentimentSurface/SentimentSurface.story.tsx +17 -43
  392. package/src/styles/less/neptune.css +22 -22
  393. package/src/tooltip/Tooltip.tsx +26 -45
  394. package/build/prompt/CriticalBanner/CriticalBanner.js +0 -148
  395. package/build/prompt/CriticalBanner/CriticalBanner.js.map +0 -1
  396. package/build/prompt/CriticalBanner/CriticalBanner.mjs +0 -146
  397. package/build/prompt/CriticalBanner/CriticalBanner.mjs.map +0 -1
  398. package/build/prompt/CriticalBanner/helpers.js +0 -29
  399. package/build/prompt/CriticalBanner/helpers.js.map +0 -1
  400. package/build/prompt/CriticalBanner/helpers.mjs +0 -26
  401. package/build/prompt/CriticalBanner/helpers.mjs.map +0 -1
  402. package/build/prompt/common/Expander/Expander.js +0 -47
  403. package/build/prompt/common/Expander/Expander.js.map +0 -1
  404. package/build/prompt/common/Expander/Expander.messages.js +0 -17
  405. package/build/prompt/common/Expander/Expander.messages.js.map +0 -1
  406. package/build/prompt/common/Expander/Expander.messages.mjs +0 -13
  407. package/build/prompt/common/Expander/Expander.messages.mjs.map +0 -1
  408. package/build/prompt/common/Expander/Expander.mjs +0 -44
  409. package/build/prompt/common/Expander/Expander.mjs.map +0 -1
  410. package/build/prompt/helpers/promptMedia.js +0 -52
  411. package/build/prompt/helpers/promptMedia.js.map +0 -1
  412. package/build/prompt/helpers/promptMedia.mjs +0 -50
  413. package/build/prompt/helpers/promptMedia.mjs.map +0 -1
  414. package/build/styles/prompt/CriticalBanner/CriticalBanner.css +0 -59
  415. package/build/styles/prompt/common/Expander/Expander.css +0 -8
  416. package/build/types/prompt/CriticalBanner/CriticalBanner.d.ts +0 -40
  417. package/build/types/prompt/CriticalBanner/CriticalBanner.d.ts.map +0 -1
  418. package/build/types/prompt/CriticalBanner/helpers.d.ts +0 -18
  419. package/build/types/prompt/CriticalBanner/helpers.d.ts.map +0 -1
  420. package/build/types/prompt/CriticalBanner/index.d.ts +0 -3
  421. package/build/types/prompt/CriticalBanner/index.d.ts.map +0 -1
  422. package/build/types/prompt/common/Expander/Expander.d.ts +0 -20
  423. package/build/types/prompt/common/Expander/Expander.d.ts.map +0 -1
  424. package/build/types/prompt/common/Expander/Expander.messages.d.ts +0 -14
  425. package/build/types/prompt/common/Expander/Expander.messages.d.ts.map +0 -1
  426. package/build/types/prompt/helpers/promptMedia.d.ts +0 -22
  427. package/build/types/prompt/helpers/promptMedia.d.ts.map +0 -1
  428. package/src/prompt/CriticalBanner/CriticalBanner.accessibility.docs.mdx +0 -131
  429. package/src/prompt/CriticalBanner/CriticalBanner.css +0 -59
  430. package/src/prompt/CriticalBanner/CriticalBanner.less +0 -64
  431. package/src/prompt/CriticalBanner/CriticalBanner.story.tsx +0 -645
  432. package/src/prompt/CriticalBanner/CriticalBanner.test.story.tsx +0 -285
  433. package/src/prompt/CriticalBanner/CriticalBanner.tsx +0 -194
  434. package/src/prompt/CriticalBanner/helpers.ts +0 -39
  435. package/src/prompt/CriticalBanner/index.ts +0 -2
  436. package/src/prompt/common/Expander/Expander.css +0 -8
  437. package/src/prompt/common/Expander/Expander.less +0 -9
  438. package/src/prompt/common/Expander/Expander.messages.ts +0 -14
  439. package/src/prompt/common/Expander/Expander.test.tsx +0 -167
  440. package/src/prompt/common/Expander/Expander.tsx +0 -83
  441. package/src/prompt/helpers/promptMedia.tsx +0 -79
@@ -1,44 +0,0 @@
1
- import 'react';
2
- import { clsx } from 'clsx';
3
- import { ChevronUp } from '@transferwise/icons';
4
- import IconButton from '../../../iconButton/IconButton.mjs';
5
- import { useIntl } from 'react-intl';
6
- import messages from './Expander.messages.mjs';
7
- import { jsx } from 'react/jsx-runtime';
8
-
9
- // Helper for conditional rendering based on expanded state
10
- function shouldShowWhenExpanded({
11
- expanded,
12
- hasContent,
13
- alwaysShow = false
14
- }) {
15
- if (alwaysShow) {
16
- return hasContent;
17
- }
18
- return expanded && hasContent;
19
- }
20
- // Reusable toggle button component
21
- const ExpanderToggle = ({
22
- expanded,
23
- onToggle,
24
- size = 24,
25
- className,
26
- 'data-testid': testId
27
- }) => {
28
- const intl = useIntl();
29
- return /*#__PURE__*/jsx(IconButton, {
30
- size: size,
31
- priority: "secondary",
32
- "aria-label": intl.formatMessage(expanded ? messages.collapseAriaLabel : messages.expandAriaLabel),
33
- "aria-expanded": expanded,
34
- className: clsx('wds-expander-toggle', {
35
- 'wds-expander-toggle--collapsed': !expanded
36
- }, className),
37
- "data-testid": testId,
38
- onClick: onToggle,
39
- children: /*#__PURE__*/jsx(ChevronUp, {})
40
- });
41
- };
42
-
43
- export { ExpanderToggle, shouldShowWhenExpanded };
44
- //# sourceMappingURL=Expander.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Expander.mjs","sources":["../../../../src/prompt/common/Expander/Expander.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport { ChevronUp } from '@transferwise/icons';\nimport IconButton from '../../../iconButton';\nimport { useIntl } from 'react-intl';\nimport messages from './Expander.messages';\n\nexport type ExpanderState = {\n expanded: boolean;\n toggle: () => void;\n setExpanded: (expanded: boolean) => void;\n};\n\n// Hook for managing expander state\nexport function useExpanderState(initialExpanded = true): ExpanderState {\n const [expanded, setExpanded] = useState(initialExpanded);\n\n const toggle = useCallback(() => {\n setExpanded((prev) => !prev);\n }, []);\n\n return {\n expanded,\n toggle,\n setExpanded,\n };\n}\n\n// Helper for conditional rendering based on expanded state\nexport function shouldShowWhenExpanded({\n expanded,\n hasContent,\n alwaysShow = false,\n}: {\n expanded: boolean;\n hasContent: boolean;\n alwaysShow?: boolean;\n}): boolean {\n if (alwaysShow) {\n return hasContent;\n }\n\n return expanded && hasContent;\n}\n\nexport type ExpanderToggleProps = {\n expanded: boolean;\n onToggle?: () => void;\n size?: 16 | 24 | 32 | 40 | 48 | 56 | 72;\n className?: string;\n 'data-testid'?: string;\n};\n\n// Reusable toggle button component\nexport const ExpanderToggle = ({\n expanded,\n onToggle,\n size = 24,\n className,\n 'data-testid': testId,\n}: ExpanderToggleProps) => {\n const intl = useIntl();\n\n return (\n <IconButton\n size={size}\n priority=\"secondary\"\n aria-label={intl.formatMessage(\n expanded ? messages.collapseAriaLabel : messages.expandAriaLabel,\n )}\n aria-expanded={expanded}\n className={clsx(\n 'wds-expander-toggle',\n { 'wds-expander-toggle--collapsed': !expanded },\n className,\n )}\n data-testid={testId}\n onClick={onToggle}\n >\n <ChevronUp />\n </IconButton>\n );\n};\n"],"names":["shouldShowWhenExpanded","expanded","hasContent","alwaysShow","ExpanderToggle","onToggle","size","className","testId","intl","useIntl","_jsx","IconButton","priority","formatMessage","messages","collapseAriaLabel","expandAriaLabel","clsx","onClick","children","ChevronUp"],"mappings":";;;;;;;;AA4BA;AACM,SAAUA,sBAAsBA,CAAC;EACrCC,QAAQ;EACRC,UAAU;AACVC,EAAAA,UAAU,GAAG;AAAK,CAKnB,EAAA;AACC,EAAA,IAAIA,UAAU,EAAE;AACd,IAAA,OAAOD,UAAU;AACnB,EAAA;EAEA,OAAOD,QAAQ,IAAIC,UAAU;AAC/B;AAUA;AACO,MAAME,cAAc,GAAGA,CAAC;EAC7BH,QAAQ;EACRI,QAAQ;AACRC,EAAAA,IAAI,GAAG,EAAE;EACTC,SAAS;AACT,EAAA,aAAa,EAAEC;AAAM,CACD,KAAI;AACxB,EAAA,MAAMC,IAAI,GAAGC,OAAO,EAAE;EAEtB,oBACEC,GAAA,CAACC,UAAU,EAAA;AACTN,IAAAA,IAAI,EAAEA,IAAK;AACXO,IAAAA,QAAQ,EAAC,WAAW;AACpB,IAAA,YAAA,EAAYJ,IAAI,CAACK,aAAa,CAC5Bb,QAAQ,GAAGc,QAAQ,CAACC,iBAAiB,GAAGD,QAAQ,CAACE,eAAe,CAChE;AACF,IAAA,eAAA,EAAehB,QAAS;AACxBM,IAAAA,SAAS,EAAEW,IAAI,CACb,qBAAqB,EACrB;AAAE,MAAA,gCAAgC,EAAE,CAACjB;KAAU,EAC/CM,SAAS,CACT;AACF,IAAA,aAAA,EAAaC,MAAO;AACpBW,IAAAA,OAAO,EAAEd,QAAS;AAAAe,IAAAA,QAAA,eAElBT,GAAA,CAACU,SAAS,EAAA,EAAA;AACZ,GAAY,CAAC;AAEjB;;;;"}
@@ -1,52 +0,0 @@
1
- 'use strict';
2
-
3
- var icons = require('@transferwise/icons');
4
- var AvatarView = require('../../avatarView/AvatarView.js');
5
- var Image = require('../../image/Image.js');
6
- var StatusIcon = require('../../statusIcon/StatusIcon.js');
7
- var jsxRuntime = require('react/jsx-runtime');
8
-
9
- function renderPromptMedia({
10
- media,
11
- sentiment,
12
- mediaId,
13
- imgClassName
14
- }) {
15
- if (media?.imgSrc) {
16
- return /*#__PURE__*/jsxRuntime.jsx(Image.default, {
17
- id: mediaId,
18
- src: media.imgSrc,
19
- className: imgClassName,
20
- alt: media['aria-label'] ?? ''
21
- });
22
- }
23
- if (media?.avatar) {
24
- const badge = media.avatar.badge ? media.avatar.badge : sentiment === 'proposition' ? {} : {
25
- status: sentiment
26
- };
27
- return /*#__PURE__*/jsxRuntime.jsx(AvatarView.default, {
28
- ...media.avatar,
29
- badge: badge,
30
- "aria-label": media['aria-label'],
31
- "aria-hidden": media['aria-hidden'],
32
- id: mediaId,
33
- size: 48,
34
- children: media.avatar.asset
35
- });
36
- }
37
- return sentiment === 'proposition' ? /*#__PURE__*/jsxRuntime.jsx(AvatarView.default, {
38
- id: mediaId,
39
- size: 48,
40
- "aria-label": media['aria-label'],
41
- "aria-hidden": media['aria-hidden'],
42
- children: /*#__PURE__*/jsxRuntime.jsx(icons.GiftBox, {})
43
- }) : /*#__PURE__*/jsxRuntime.jsx(StatusIcon.default, {
44
- id: mediaId,
45
- size: 48,
46
- sentiment: sentiment,
47
- iconLabel: media['aria-hidden'] ? null : media['aria-label']
48
- });
49
- }
50
-
51
- exports.renderPromptMedia = renderPromptMedia;
52
- //# sourceMappingURL=promptMedia.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptMedia.js","sources":["../../../src/prompt/helpers/promptMedia.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { GiftBox } from '@transferwise/icons';\n\nimport AvatarView, { AvatarViewProps } from '../../avatarView';\nimport Image from '../../image';\nimport StatusIcon from '../../statusIcon';\nimport { BadgeAssetsProps } from '../../badge';\nimport { PrimitivePromptProps } from '../PrimitivePrompt';\n\nexport type PromptMedia = {\n imgSrc?: string;\n avatar?: Pick<AvatarViewProps, 'imgSrc' | 'profileName' | 'profileType'> & {\n asset?: AvatarViewProps['children'];\n badge?: Pick<BadgeAssetsProps, 'flagCode'>;\n };\n 'aria-label'?: string;\n 'aria-hidden'?: boolean;\n};\n\ntype RenderPromptMediaOptions = {\n media: PromptMedia;\n sentiment: PrimitivePromptProps['sentiment'];\n mediaId: string;\n imgClassName: string;\n};\n\nexport function renderPromptMedia({\n media,\n sentiment,\n mediaId,\n imgClassName,\n}: RenderPromptMediaOptions): ReactNode {\n if (media?.imgSrc) {\n return (\n <Image\n id={mediaId}\n src={media.imgSrc}\n className={imgClassName}\n alt={media['aria-label'] ?? ''}\n />\n );\n }\n if (media?.avatar) {\n const badge = media.avatar.badge\n ? media.avatar.badge\n : sentiment === 'proposition'\n ? {}\n : { status: sentiment };\n return (\n <AvatarView\n {...media.avatar}\n badge={badge}\n aria-label={media['aria-label']}\n aria-hidden={media['aria-hidden']}\n id={mediaId}\n size={48}\n >\n {media.avatar.asset}\n </AvatarView>\n );\n }\n return sentiment === 'proposition' ? (\n <AvatarView\n id={mediaId}\n size={48}\n aria-label={media['aria-label']}\n aria-hidden={media['aria-hidden']}\n >\n <GiftBox />\n </AvatarView>\n ) : (\n <StatusIcon\n id={mediaId}\n size={48}\n sentiment={sentiment}\n iconLabel={media['aria-hidden'] ? null : media['aria-label']}\n />\n );\n}\n"],"names":["renderPromptMedia","media","sentiment","mediaId","imgClassName","imgSrc","_jsx","Image","id","src","className","alt","avatar","badge","status","AvatarView","size","children","asset","GiftBox","StatusIcon","iconLabel"],"mappings":";;;;;;;;AA0BM,SAAUA,iBAAiBA,CAAC;EAChCC,KAAK;EACLC,SAAS;EACTC,OAAO;AACPC,EAAAA;AAAY,CACa,EAAA;EACzB,IAAIH,KAAK,EAAEI,MAAM,EAAE;IACjB,oBACEC,cAAA,CAACC,aAAK,EAAA;AACJC,MAAAA,EAAE,EAAEL,OAAQ;MACZM,GAAG,EAAER,KAAK,CAACI,MAAO;AAClBK,MAAAA,SAAS,EAAEN,YAAa;AACxBO,MAAAA,GAAG,EAAEV,KAAK,CAAC,YAAY,CAAC,IAAI;AAAG,KAAA,CAC/B;AAEN,EAAA;EACA,IAAIA,KAAK,EAAEW,MAAM,EAAE;IACjB,MAAMC,KAAK,GAAGZ,KAAK,CAACW,MAAM,CAACC,KAAK,GAC5BZ,KAAK,CAACW,MAAM,CAACC,KAAK,GAClBX,SAAS,KAAK,aAAa,GACzB,EAAE,GACF;AAAEY,MAAAA,MAAM,EAAEZ;KAAW;IAC3B,oBACEI,cAAA,CAACS,kBAAU,EAAA;MAAA,GACLd,KAAK,CAACW,MAAM;AAChBC,MAAAA,KAAK,EAAEA,KAAM;MACb,YAAA,EAAYZ,KAAK,CAAC,YAAY,CAAE;MAChC,aAAA,EAAaA,KAAK,CAAC,aAAa,CAAE;AAClCO,MAAAA,EAAE,EAAEL,OAAQ;AACZa,MAAAA,IAAI,EAAE,EAAG;AAAAC,MAAAA,QAAA,EAERhB,KAAK,CAACW,MAAM,CAACM;AAAK,KACT,CAAC;AAEjB,EAAA;AACA,EAAA,OAAOhB,SAAS,KAAK,aAAa,gBAChCI,cAAA,CAACS,kBAAU,EAAA;AACTP,IAAAA,EAAE,EAAEL,OAAQ;AACZa,IAAAA,IAAI,EAAE,EAAG;IACT,YAAA,EAAYf,KAAK,CAAC,YAAY,CAAE;IAChC,aAAA,EAAaA,KAAK,CAAC,aAAa,CAAE;AAAAgB,IAAAA,QAAA,eAElCX,cAAA,CAACa,aAAO,EAAA,EAAA;AACV,GAAY,CAAC,gBAEbb,cAAA,CAACc,kBAAU,EAAA;AACTZ,IAAAA,EAAE,EAAEL,OAAQ;AACZa,IAAAA,IAAI,EAAE,EAAG;AACTd,IAAAA,SAAS,EAAEA,SAAU;IACrBmB,SAAS,EAAEpB,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,GAAGA,KAAK,CAAC,YAAY;AAAE,GAAA,CAEhE;AACH;;;;"}
@@ -1,50 +0,0 @@
1
- import { GiftBox } from '@transferwise/icons';
2
- import AvatarView from '../../avatarView/AvatarView.mjs';
3
- import Image from '../../image/Image.mjs';
4
- import StatusIcon from '../../statusIcon/StatusIcon.mjs';
5
- import { jsx } from 'react/jsx-runtime';
6
-
7
- function renderPromptMedia({
8
- media,
9
- sentiment,
10
- mediaId,
11
- imgClassName
12
- }) {
13
- if (media?.imgSrc) {
14
- return /*#__PURE__*/jsx(Image, {
15
- id: mediaId,
16
- src: media.imgSrc,
17
- className: imgClassName,
18
- alt: media['aria-label'] ?? ''
19
- });
20
- }
21
- if (media?.avatar) {
22
- const badge = media.avatar.badge ? media.avatar.badge : sentiment === 'proposition' ? {} : {
23
- status: sentiment
24
- };
25
- return /*#__PURE__*/jsx(AvatarView, {
26
- ...media.avatar,
27
- badge: badge,
28
- "aria-label": media['aria-label'],
29
- "aria-hidden": media['aria-hidden'],
30
- id: mediaId,
31
- size: 48,
32
- children: media.avatar.asset
33
- });
34
- }
35
- return sentiment === 'proposition' ? /*#__PURE__*/jsx(AvatarView, {
36
- id: mediaId,
37
- size: 48,
38
- "aria-label": media['aria-label'],
39
- "aria-hidden": media['aria-hidden'],
40
- children: /*#__PURE__*/jsx(GiftBox, {})
41
- }) : /*#__PURE__*/jsx(StatusIcon, {
42
- id: mediaId,
43
- size: 48,
44
- sentiment: sentiment,
45
- iconLabel: media['aria-hidden'] ? null : media['aria-label']
46
- });
47
- }
48
-
49
- export { renderPromptMedia };
50
- //# sourceMappingURL=promptMedia.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptMedia.mjs","sources":["../../../src/prompt/helpers/promptMedia.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { GiftBox } from '@transferwise/icons';\n\nimport AvatarView, { AvatarViewProps } from '../../avatarView';\nimport Image from '../../image';\nimport StatusIcon from '../../statusIcon';\nimport { BadgeAssetsProps } from '../../badge';\nimport { PrimitivePromptProps } from '../PrimitivePrompt';\n\nexport type PromptMedia = {\n imgSrc?: string;\n avatar?: Pick<AvatarViewProps, 'imgSrc' | 'profileName' | 'profileType'> & {\n asset?: AvatarViewProps['children'];\n badge?: Pick<BadgeAssetsProps, 'flagCode'>;\n };\n 'aria-label'?: string;\n 'aria-hidden'?: boolean;\n};\n\ntype RenderPromptMediaOptions = {\n media: PromptMedia;\n sentiment: PrimitivePromptProps['sentiment'];\n mediaId: string;\n imgClassName: string;\n};\n\nexport function renderPromptMedia({\n media,\n sentiment,\n mediaId,\n imgClassName,\n}: RenderPromptMediaOptions): ReactNode {\n if (media?.imgSrc) {\n return (\n <Image\n id={mediaId}\n src={media.imgSrc}\n className={imgClassName}\n alt={media['aria-label'] ?? ''}\n />\n );\n }\n if (media?.avatar) {\n const badge = media.avatar.badge\n ? media.avatar.badge\n : sentiment === 'proposition'\n ? {}\n : { status: sentiment };\n return (\n <AvatarView\n {...media.avatar}\n badge={badge}\n aria-label={media['aria-label']}\n aria-hidden={media['aria-hidden']}\n id={mediaId}\n size={48}\n >\n {media.avatar.asset}\n </AvatarView>\n );\n }\n return sentiment === 'proposition' ? (\n <AvatarView\n id={mediaId}\n size={48}\n aria-label={media['aria-label']}\n aria-hidden={media['aria-hidden']}\n >\n <GiftBox />\n </AvatarView>\n ) : (\n <StatusIcon\n id={mediaId}\n size={48}\n sentiment={sentiment}\n iconLabel={media['aria-hidden'] ? null : media['aria-label']}\n />\n );\n}\n"],"names":["renderPromptMedia","media","sentiment","mediaId","imgClassName","imgSrc","_jsx","Image","id","src","className","alt","avatar","badge","status","AvatarView","size","children","asset","GiftBox","StatusIcon","iconLabel"],"mappings":";;;;;;AA0BM,SAAUA,iBAAiBA,CAAC;EAChCC,KAAK;EACLC,SAAS;EACTC,OAAO;AACPC,EAAAA;AAAY,CACa,EAAA;EACzB,IAAIH,KAAK,EAAEI,MAAM,EAAE;IACjB,oBACEC,GAAA,CAACC,KAAK,EAAA;AACJC,MAAAA,EAAE,EAAEL,OAAQ;MACZM,GAAG,EAAER,KAAK,CAACI,MAAO;AAClBK,MAAAA,SAAS,EAAEN,YAAa;AACxBO,MAAAA,GAAG,EAAEV,KAAK,CAAC,YAAY,CAAC,IAAI;AAAG,KAAA,CAC/B;AAEN,EAAA;EACA,IAAIA,KAAK,EAAEW,MAAM,EAAE;IACjB,MAAMC,KAAK,GAAGZ,KAAK,CAACW,MAAM,CAACC,KAAK,GAC5BZ,KAAK,CAACW,MAAM,CAACC,KAAK,GAClBX,SAAS,KAAK,aAAa,GACzB,EAAE,GACF;AAAEY,MAAAA,MAAM,EAAEZ;KAAW;IAC3B,oBACEI,GAAA,CAACS,UAAU,EAAA;MAAA,GACLd,KAAK,CAACW,MAAM;AAChBC,MAAAA,KAAK,EAAEA,KAAM;MACb,YAAA,EAAYZ,KAAK,CAAC,YAAY,CAAE;MAChC,aAAA,EAAaA,KAAK,CAAC,aAAa,CAAE;AAClCO,MAAAA,EAAE,EAAEL,OAAQ;AACZa,MAAAA,IAAI,EAAE,EAAG;AAAAC,MAAAA,QAAA,EAERhB,KAAK,CAACW,MAAM,CAACM;AAAK,KACT,CAAC;AAEjB,EAAA;AACA,EAAA,OAAOhB,SAAS,KAAK,aAAa,gBAChCI,GAAA,CAACS,UAAU,EAAA;AACTP,IAAAA,EAAE,EAAEL,OAAQ;AACZa,IAAAA,IAAI,EAAE,EAAG;IACT,YAAA,EAAYf,KAAK,CAAC,YAAY,CAAE;IAChC,aAAA,EAAaA,KAAK,CAAC,aAAa,CAAE;AAAAgB,IAAAA,QAAA,eAElCX,GAAA,CAACa,OAAO,EAAA,EAAA;AACV,GAAY,CAAC,gBAEbb,GAAA,CAACc,UAAU,EAAA;AACTZ,IAAAA,EAAE,EAAEL,OAAQ;AACZa,IAAAA,IAAI,EAAE,EAAG;AACTd,IAAAA,SAAS,EAAEA,SAAU;IACrBmB,SAAS,EAAEpB,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,GAAGA,KAAK,CAAC,YAAY;AAAE,GAAA,CAEhE;AACH;;;;"}
@@ -1,59 +0,0 @@
1
- .wds-critical-banner {
2
- --Prompt-padding: var(--size-16);
3
- --Prompt-actions-gap: var(--size-8);
4
- --Prompt-gap: var(--size-10) var(--size-16);
5
- --Prompt-border-radius: 0;
6
- /* Override PrimitivePrompt's --screen-sm-max actions behaviour:
7
- actions only go full-width below 480px (--screen-xs) */
8
- }
9
- .wds-critical-banner__mobile--collapsed {
10
- max-height: 30vh;
11
- }
12
- .wds-critical-banner--media-image {
13
- width: 48px;
14
- width: var(--size-48);
15
- height: 48px;
16
- height: var(--size-48);
17
- -o-object-fit: contain;
18
- object-fit: contain;
19
- }
20
- .wds-critical-banner__title--collapsed {
21
- display: -webkit-box;
22
- -webkit-line-clamp: 2;
23
- line-clamp: 2;
24
- -webkit-box-orient: vertical;
25
- overflow: hidden;
26
- }
27
- .wds-critical-banner__description--collapsed {
28
- display: -webkit-box;
29
- -webkit-line-clamp: 2;
30
- line-clamp: 2;
31
- -webkit-box-orient: vertical;
32
- overflow: hidden;
33
- }
34
- .wds-critical-banner .wds-prompt__content-wrapper {
35
- grid-template-columns: auto 1fr auto;
36
- align-items: flex-start;
37
- }
38
- .wds-critical-banner__text-wrapper {
39
- min-width: 0;
40
- max-width: 480px;
41
- height: 100%;
42
- }
43
- .wds-critical-banner .wds-prompt__actions-wrapper {
44
- grid-column-start: 2;
45
- grid-column-end: 3;
46
- }
47
- @media not (min-width: 480px) {
48
- .wds-critical-banner .wds-prompt__actions-wrapper {
49
- grid-column: span 3;
50
- width: 100%;
51
- }
52
- }
53
- @media not (min-width: 480px) {
54
- .wds-critical-banner--with-two-actions .wds-prompt__actions-wrapper .wds-Button {
55
- flex: 1 1 calc(50% - (var(--Prompt-actions-gap) / 2));
56
- min-width: -moz-fit-content;
57
- min-width: fit-content;
58
- }
59
- }
@@ -1,8 +0,0 @@
1
- .wds-expander-toggle {
2
- align-self: flex-start;
3
- flex-shrink: 0;
4
- transition: transform 0.2s ease-in-out;
5
- }
6
- .wds-expander-toggle--collapsed {
7
- transform: rotate(180deg);
8
- }
@@ -1,40 +0,0 @@
1
- import { AriaAttributes, ReactNode } from 'react';
2
- import { ButtonProps } from '../../button/Button.types';
3
- import { PrimitivePromptProps } from '../PrimitivePrompt';
4
- import { PromptMedia } from '../helpers/promptMedia';
5
- export type CriticalBannerProps = {
6
- title?: ReactNode;
7
- description?: ReactNode;
8
- media?: PromptMedia;
9
- action?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {
10
- label: ButtonProps['children'];
11
- };
12
- actionSecondary?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {
13
- label: ButtonProps['children'];
14
- };
15
- sentiment?: Exclude<PrimitivePromptProps['sentiment'], 'proposition'>;
16
- /**
17
- * Controls whether the description and actions are visible.
18
- * When collapsed with a title, only the title is shown.
19
- * When collapsed without a title, the description is trimmed to 2 lines.
20
- */
21
- expanded?: boolean;
22
- /** Called when the user clicks the chevron toggle. */
23
- onToggle?: () => void;
24
- /**
25
- * Overrides the default labelling derived from `title` and `description`.
26
- *
27
- * **NB:** When provided, the default `aria-labelledby` / `aria-describedby`
28
- * attributes are removed — include all necessary context in the label.
29
- */
30
- 'aria-label'?: AriaAttributes['aria-label'];
31
- } & Pick<PrimitivePromptProps, 'id' | 'className' | 'data-testid'>;
32
- /**
33
- * A full-width, non-dismissible banner for critical messages such as account blocks or
34
- * time-sensitive actions that require immediate user attention.
35
-
36
- * @see {@link https://wise.design/components/critical-banner Design Spec}
37
- */
38
- export declare const CriticalBanner: ({ sentiment, title, description, media, action, actionSecondary, expanded, onToggle, id, className, "data-testid": testId, "aria-label": ariaLabel, }: CriticalBannerProps) => import("react").JSX.Element;
39
- export default CriticalBanner;
40
- //# sourceMappingURL=CriticalBanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CriticalBanner.d.ts","sourceRoot":"","sources":["../../../../src/prompt/CriticalBanner/CriticalBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAS,MAAM,OAAO,CAAC;AAMzD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAqB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIxE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;QAC1D,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;KAChC,CAAC;IACF,eAAe,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;QACnE,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;KAChC,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;IACtE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;CAC7C,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,uJAa5B,mBAAmB,gCAkIrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,18 +0,0 @@
1
- import { ReactNode } from 'react';
2
- /**
3
- * Helper to extract string from ReactNode for announcements.
4
- * Complex ReactNodes (JSX elements) return empty string.
5
- */
6
- export declare const getStringValue: (node: ReactNode) => string;
7
- /**
8
- * Builds the announcement string from visible content only.
9
- * Content visibility depends on expanded state and presence of title.
10
- */
11
- export declare const buildAnnouncementString: ({ title, description, expanded, actionLabel, actionSecondaryLabel, }: {
12
- title?: ReactNode;
13
- description?: ReactNode;
14
- expanded: boolean;
15
- actionLabel?: ReactNode;
16
- actionSecondaryLabel?: ReactNode;
17
- }) => string;
18
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/prompt/CriticalBanner/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,KAAG,MAKhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,sEAMrC;IACD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,oBAAoB,CAAC,EAAE,SAAS,CAAC;CAClC,KAAG,MASH,CAAC"}
@@ -1,3 +0,0 @@
1
- export type { CriticalBannerProps } from './CriticalBanner';
2
- export { CriticalBanner } from './CriticalBanner';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/prompt/CriticalBanner/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,20 +0,0 @@
1
- export type ExpanderState = {
2
- expanded: boolean;
3
- toggle: () => void;
4
- setExpanded: (expanded: boolean) => void;
5
- };
6
- export declare function useExpanderState(initialExpanded?: boolean): ExpanderState;
7
- export declare function shouldShowWhenExpanded({ expanded, hasContent, alwaysShow, }: {
8
- expanded: boolean;
9
- hasContent: boolean;
10
- alwaysShow?: boolean;
11
- }): boolean;
12
- export type ExpanderToggleProps = {
13
- expanded: boolean;
14
- onToggle?: () => void;
15
- size?: 16 | 24 | 32 | 40 | 48 | 56 | 72;
16
- className?: string;
17
- 'data-testid'?: string;
18
- };
19
- export declare const ExpanderToggle: ({ expanded, onToggle, size, className, "data-testid": testId, }: ExpanderToggleProps) => import("react").JSX.Element;
20
- //# sourceMappingURL=Expander.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Expander.d.ts","sourceRoot":"","sources":["../../../../../src/prompt/common/Expander/Expander.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AAGF,wBAAgB,gBAAgB,CAAC,eAAe,UAAO,GAAG,aAAa,CAYtE;AAGD,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,UAAU,EACV,UAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAMV;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,iEAM5B,mBAAmB,gCAsBrB,CAAC"}
@@ -1,14 +0,0 @@
1
- declare const _default: {
2
- expandAriaLabel: {
3
- id: string;
4
- defaultMessage: string;
5
- description: string;
6
- };
7
- collapseAriaLabel: {
8
- id: string;
9
- defaultMessage: string;
10
- description: string;
11
- };
12
- };
13
- export default _default;
14
- //# sourceMappingURL=Expander.messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Expander.messages.d.ts","sourceRoot":"","sources":["../../../../../src/prompt/common/Expander/Expander.messages.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,wBAWG"}
@@ -1,22 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { AvatarViewProps } from '../../avatarView';
3
- import { BadgeAssetsProps } from '../../badge';
4
- import { PrimitivePromptProps } from '../PrimitivePrompt';
5
- export type PromptMedia = {
6
- imgSrc?: string;
7
- avatar?: Pick<AvatarViewProps, 'imgSrc' | 'profileName' | 'profileType'> & {
8
- asset?: AvatarViewProps['children'];
9
- badge?: Pick<BadgeAssetsProps, 'flagCode'>;
10
- };
11
- 'aria-label'?: string;
12
- 'aria-hidden'?: boolean;
13
- };
14
- type RenderPromptMediaOptions = {
15
- media: PromptMedia;
16
- sentiment: PrimitivePromptProps['sentiment'];
17
- mediaId: string;
18
- imgClassName: string;
19
- };
20
- export declare function renderPromptMedia({ media, sentiment, mediaId, imgClassName, }: RenderPromptMediaOptions): ReactNode;
21
- export {};
22
- //# sourceMappingURL=promptMedia.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptMedia.d.ts","sourceRoot":"","sources":["../../../../src/prompt/helpers/promptMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC,GAAG;QACzE,KAAK,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;KAC5C,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAS,EACT,OAAO,EACP,YAAY,GACb,EAAE,wBAAwB,GAAG,SAAS,CA+CtC"}
@@ -1,131 +0,0 @@
1
- import { Meta, Source, Canvas } from '@storybook/addon-docs/blocks';
2
- import * as CriticalBannerStories from './CriticalBanner.story';
3
-
4
- <Meta title="Prompts/CriticalBanner/Accessibility" tags={['new']} />
5
-
6
- # Accessibility
7
-
8
- Under the hood, `CriticalBanner` is marked as `role="region"` for a section of content that users might want to navigate to directly.
9
-
10
- By default, it's labelled by the `title` and described by the `description`.
11
-
12
- ## Announcement Behavior
13
-
14
- `CriticalBanner` is designed for critical messages that require immediate attention. It always uses **`aria-live="assertive"`** to immediately interrupt and announce changes to screen readers.
15
-
16
- Unlike `InfoPrompt` which offers configurable politeness levels, `CriticalBanner` is always assertive because it communicates critical, time-sensitive information that users must be aware of immediately.
17
-
18
- ### What Gets Announced
19
-
20
- The component intelligently announces only **visible content**, respecting the collapsed/expanded state:
21
-
22
- - **Collapsed with title**: Announces title only (description is hidden)
23
- - **Collapsed without title**: Announces description only (visible up to 2 lines)
24
- - **Expanded**: Announces title, description, and action button labels (all visible)
25
-
26
- <Source
27
- dark
28
- code={`
29
- // Collapsed with title - announces: "Your account requires verification"
30
- <CriticalBanner
31
- title="Your account requires verification"
32
- description="Please verify your identity to continue"
33
- action={{ label: "Verify now", onClick: handleVerify }}
34
- expanded={false}
35
- onToggle={handleToggle}
36
- />
37
-
38
- // Expanded - announces: "Your account requires verification | Please verify your identity to continue | Verify now | Learn more"
39
-
40
- <CriticalBanner
41
- title="Your account requires verification"
42
- description="Please verify your identity to continue"
43
- action={{ label: 'Verify now', onClick: handleVerify }}
44
- actionSecondary={{ label: 'Learn more', onClick: handleLearnMore }}
45
- expanded={true}
46
- onToggle={handleToggle}
47
- />
48
-
49
- // Collapsed without title - announces: "Your verification is pending..."
50
-
51
- <CriticalBanner
52
- description="Your verification is pending. We'll notify you once complete."
53
- expanded={false}
54
- onToggle={handleToggle}
55
- />
56
- `}
57
- />
58
-
59
- ### When Announcements Trigger
60
-
61
- Screen readers announce the banner content whenever:
62
-
63
- - The banner first appears in the DOM
64
- - The user toggles between collapsed and expanded states
65
- - The content (title, description, or action labels) changes
66
-
67
- ## Custom Labels
68
-
69
- If you want to provide a custom label for screen readers, you can use the `aria-label` prop. Make sure to include all necessary information in it, because when provided, the default labelling will be removed.
70
-
71
- <Source
72
- dark
73
- code={`
74
- <CriticalBanner
75
- title="Account suspended"
76
- description="Unusual activity detected"
77
- action={{ label: "Verify identity", onClick: handleVerify }}
78
- aria-label="Critical: Your account has been suspended due to unusual activity. Please verify your identity immediately to restore access."
79
- expanded={false}
80
- onToggle={handleToggle}
81
- />
82
- `}
83
- />
84
-
85
- ## Media
86
-
87
- Custom media icons should include their own accessibility attributes. Use the `title` prop on icons to provide accessible names for screen readers:
88
-
89
- <Source
90
- dark
91
- code={`
92
- import { Bank, AlertCircle } from '@transferwise/icons';
93
-
94
- <CriticalBanner
95
- title="Bank connection required"
96
- description="Connect your bank account to continue"
97
- media={{ avatar: { asset: <Bank title="Bank account" /> } }}
98
- action={{ label: 'Connect now', onClick: handleConnect }}
99
- expanded={false}
100
- onToggle={handleToggle}
101
- />
102
-
103
- <CriticalBanner
104
- title="Verification required"
105
- description="We need to verify your identity"
106
- media={{ avatar: { asset: <AlertCircle title="Alert" /> } }}
107
- action={{ label: "Start verification", onClick: handleVerify }}
108
- expanded={false}
109
- onToggle={handleToggle}
110
- />
111
- `}
112
- />
113
-
114
- Alternatively, you can use `media['aria-label']` to provide a label for custom images:
115
-
116
- <Source
117
- dark
118
- code={`
119
- <CriticalBanner
120
- title="Card blocked"
121
- description="Your card has been blocked for security reasons"
122
- media={{
123
- imgSrc: '/wise-card.svg',
124
- 'aria-label': 'Wise debit card'
125
- }}
126
- action={{ label: "Unblock card", onClick: handleUnblock }}
127
- expanded={false}
128
- onToggle={handleToggle}
129
- />
130
- `}
131
- />
@@ -1,59 +0,0 @@
1
- .wds-critical-banner {
2
- --Prompt-padding: var(--size-16);
3
- --Prompt-actions-gap: var(--size-8);
4
- --Prompt-gap: var(--size-10) var(--size-16);
5
- --Prompt-border-radius: 0;
6
- /* Override PrimitivePrompt's --screen-sm-max actions behaviour:
7
- actions only go full-width below 480px (--screen-xs) */
8
- }
9
- .wds-critical-banner__mobile--collapsed {
10
- max-height: 30vh;
11
- }
12
- .wds-critical-banner--media-image {
13
- width: 48px;
14
- width: var(--size-48);
15
- height: 48px;
16
- height: var(--size-48);
17
- -o-object-fit: contain;
18
- object-fit: contain;
19
- }
20
- .wds-critical-banner__title--collapsed {
21
- display: -webkit-box;
22
- -webkit-line-clamp: 2;
23
- line-clamp: 2;
24
- -webkit-box-orient: vertical;
25
- overflow: hidden;
26
- }
27
- .wds-critical-banner__description--collapsed {
28
- display: -webkit-box;
29
- -webkit-line-clamp: 2;
30
- line-clamp: 2;
31
- -webkit-box-orient: vertical;
32
- overflow: hidden;
33
- }
34
- .wds-critical-banner .wds-prompt__content-wrapper {
35
- grid-template-columns: auto 1fr auto;
36
- align-items: flex-start;
37
- }
38
- .wds-critical-banner__text-wrapper {
39
- min-width: 0;
40
- max-width: 480px;
41
- height: 100%;
42
- }
43
- .wds-critical-banner .wds-prompt__actions-wrapper {
44
- grid-column-start: 2;
45
- grid-column-end: 3;
46
- }
47
- @media not (min-width: 480px) {
48
- .wds-critical-banner .wds-prompt__actions-wrapper {
49
- grid-column: span 3;
50
- width: 100%;
51
- }
52
- }
53
- @media not (min-width: 480px) {
54
- .wds-critical-banner--with-two-actions .wds-prompt__actions-wrapper .wds-Button {
55
- flex: 1 1 calc(50% - (var(--Prompt-actions-gap) / 2));
56
- min-width: -moz-fit-content;
57
- min-width: fit-content;
58
- }
59
- }
@@ -1,64 +0,0 @@
1
- .wds-critical-banner {
2
- --Prompt-padding: var(--size-16);
3
- --Prompt-actions-gap: var(--size-8);
4
- --Prompt-gap: var(--size-10) var(--size-16);
5
- --Prompt-border-radius: 0;
6
-
7
- &__mobile--collapsed {
8
- max-height: 30vh;
9
- }
10
-
11
- &--media-image {
12
- width: var(--size-48);
13
- height: var(--size-48);
14
- object-fit: contain;
15
- }
16
-
17
- &__title--collapsed {
18
- display: -webkit-box;
19
- -webkit-line-clamp: 2;
20
- line-clamp: 2;
21
- -webkit-box-orient: vertical;
22
- overflow: hidden;
23
- }
24
-
25
- &__description--collapsed {
26
- display: -webkit-box;
27
- -webkit-line-clamp: 2;
28
- line-clamp: 2;
29
- -webkit-box-orient: vertical;
30
- overflow: hidden;
31
- }
32
-
33
- .wds-prompt__content-wrapper {
34
- grid-template-columns: auto 1fr auto;
35
- align-items: flex-start;
36
- }
37
-
38
- &__text-wrapper {
39
- min-width: 0;
40
- max-width: 480px;
41
- height: 100%;
42
- }
43
-
44
- /* Override PrimitivePrompt's --screen-sm-max actions behaviour:
45
- actions only go full-width below 480px (--screen-xs) */
46
- .wds-prompt__actions-wrapper {
47
- grid-column-start: 2;
48
- grid-column-end: 3;
49
-
50
- @media not (--screen-xs) {
51
- grid-column: span 3;
52
- width: 100%;
53
- }
54
- }
55
-
56
- &--with-two-actions .wds-prompt__actions-wrapper {
57
- @media not (--screen-xs) {
58
- .wds-Button {
59
- flex: 1 1 calc(50% - (var(--Prompt-actions-gap) / 2));
60
- min-width: fit-content;
61
- }
62
- }
63
- }
64
- }