@transferwise/components 0.0.0-experimental-9050641 → 0.0.0-experimental-ce05ccb

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 (425) hide show
  1. package/build/accordion/AccordionItem/AccordionItem.js +1 -1
  2. package/build/accordion/AccordionItem/AccordionItem.mjs +1 -1
  3. package/build/actionButton/ActionButton.js +1 -1
  4. package/build/actionButton/ActionButton.mjs +1 -1
  5. package/build/actionOption/ActionOption.js +1 -1
  6. package/build/actionOption/ActionOption.mjs +1 -1
  7. package/build/alert/Alert.js +1 -1
  8. package/build/alert/Alert.mjs +1 -1
  9. package/build/alert/inlineMarkdown/InlineMarkdown.js +1 -1
  10. package/build/alert/inlineMarkdown/InlineMarkdown.mjs +1 -1
  11. package/build/avatar/Avatar.js +1 -1
  12. package/build/avatar/Avatar.mjs +1 -1
  13. package/build/avatarLayout/AvatarLayout.js +1 -1
  14. package/build/avatarLayout/AvatarLayout.mjs +1 -1
  15. package/build/avatarView/AvatarView.js +1 -1
  16. package/build/avatarView/AvatarView.mjs +1 -1
  17. package/build/avatarWrapper/AvatarWrapper.js +1 -1
  18. package/build/avatarWrapper/AvatarWrapper.mjs +1 -1
  19. package/build/badge/Badge.js +1 -1
  20. package/build/badge/Badge.mjs +1 -1
  21. package/build/button/Button.js +1 -1
  22. package/build/button/Button.mjs +1 -1
  23. package/build/button/LegacyButton.js +1 -1
  24. package/build/button/LegacyButton.mjs +1 -1
  25. package/build/button/classMap.js +1 -1
  26. package/build/button/classMap.mjs +1 -1
  27. package/build/button/legacyUtils/legacyUtils.js +1 -1
  28. package/build/button/legacyUtils/legacyUtils.mjs +1 -1
  29. package/build/card/Card.js +1 -1
  30. package/build/card/Card.mjs +1 -1
  31. package/build/checkbox/Checkbox.js +1 -1
  32. package/build/checkbox/Checkbox.mjs +1 -1
  33. package/build/chevron/Chevron.js +1 -1
  34. package/build/chevron/Chevron.mjs +1 -1
  35. package/build/chips/Chip.js +1 -1
  36. package/build/chips/Chip.mjs +1 -1
  37. package/build/circularButton/CircularButton.js +2 -2
  38. package/build/circularButton/CircularButton.js.map +1 -1
  39. package/build/circularButton/CircularButton.mjs +2 -2
  40. package/build/circularButton/CircularButton.mjs.map +1 -1
  41. package/build/common/bottomSheet/BottomSheet.js +2 -2
  42. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  43. package/build/common/bottomSheet/BottomSheet.mjs +2 -2
  44. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  45. package/build/common/circle/Circle.js +2 -2
  46. package/build/common/circle/Circle.js.map +1 -1
  47. package/build/common/circle/Circle.mjs +2 -2
  48. package/build/common/circle/Circle.mjs.map +1 -1
  49. package/build/common/hooks/useLayout/useLayout.js +6 -6
  50. package/build/common/hooks/useLayout/useLayout.js.map +1 -1
  51. package/build/common/hooks/useLayout/useLayout.mjs +1 -1
  52. package/build/common/hooks/useLayout/useLayout.mjs.map +1 -1
  53. package/build/common/hooks/useScreenSize.js.map +1 -1
  54. package/build/common/hooks/useScreenSize.mjs.map +1 -1
  55. package/build/common/panel/Panel.js +1 -1
  56. package/build/common/panel/Panel.mjs +1 -1
  57. package/build/common/propsValues/breakpoint.js +12 -0
  58. package/build/common/propsValues/breakpoint.js.map +1 -0
  59. package/build/common/propsValues/breakpoint.mjs +12 -0
  60. package/build/common/propsValues/breakpoint.mjs.map +1 -0
  61. package/build/common/responsivePanel/ResponsivePanel.js +1 -1
  62. package/build/common/responsivePanel/ResponsivePanel.mjs +1 -1
  63. package/build/criticalBanner/CriticalCommsBanner.js +1 -1
  64. package/build/criticalBanner/CriticalCommsBanner.mjs +1 -1
  65. package/build/dateInput/DateInput.js +1 -1
  66. package/build/dateInput/DateInput.mjs +1 -1
  67. package/build/dateLookup/DateLookup.js +2 -2
  68. package/build/dateLookup/DateLookup.js.map +1 -1
  69. package/build/dateLookup/DateLookup.mjs +1 -1
  70. package/build/dateLookup/DateLookup.mjs.map +1 -1
  71. package/build/dateLookup/dateHeader/DateHeader.js +1 -1
  72. package/build/dateLookup/dateHeader/DateHeader.mjs +1 -1
  73. package/build/dateLookup/dateTrigger/DateTrigger.js +1 -1
  74. package/build/dateLookup/dateTrigger/DateTrigger.mjs +1 -1
  75. package/build/decision/Decision.js +3 -3
  76. package/build/decision/Decision.js.map +1 -1
  77. package/build/decision/Decision.mjs +1 -1
  78. package/build/decision/Decision.mjs.map +1 -1
  79. package/build/definitionList/DefinitionList.js +1 -1
  80. package/build/definitionList/DefinitionList.mjs +1 -1
  81. package/build/dimmer/Dimmer.js +1 -1
  82. package/build/dimmer/Dimmer.mjs +1 -1
  83. package/build/display/Display.js +1 -1
  84. package/build/display/Display.mjs +1 -1
  85. package/build/drawer/Drawer.js +1 -1
  86. package/build/drawer/Drawer.mjs +1 -1
  87. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.js +1 -1
  88. package/build/expressiveMoneyInput/currencySelector/CurrencySelector.mjs +1 -1
  89. package/build/field/Field.js +1 -1
  90. package/build/field/Field.mjs +1 -1
  91. package/build/flowNavigation/FlowNavigation.js +3 -3
  92. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  93. package/build/flowNavigation/FlowNavigation.mjs +1 -1
  94. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  95. package/build/header/Header.js +1 -1
  96. package/build/header/Header.mjs +1 -1
  97. package/build/image/Image.js +1 -1
  98. package/build/image/Image.mjs +1 -1
  99. package/build/index.js +2 -2
  100. package/build/index.mjs +1 -1
  101. package/build/info/Info.js +1 -1
  102. package/build/info/Info.mjs +1 -1
  103. package/build/inlineAlert/InlineAlert.js +1 -1
  104. package/build/inlineAlert/InlineAlert.mjs +1 -1
  105. package/build/inputs/SearchInput.js +1 -1
  106. package/build/inputs/SearchInput.mjs +1 -1
  107. package/build/inputs/SelectInput/SelectInput.js +2 -2
  108. package/build/inputs/SelectInput/SelectInput.js.map +1 -1
  109. package/build/inputs/SelectInput/SelectInput.mjs +1 -1
  110. package/build/inputs/SelectInput/SelectInput.mjs.map +1 -1
  111. package/build/instructionsList/InstructionsList.js +1 -1
  112. package/build/instructionsList/InstructionsList.mjs +1 -1
  113. package/build/link/Link.js +1 -1
  114. package/build/link/Link.mjs +1 -1
  115. package/build/listItem/AdditionalInfo/ListItemAdditionalInfo.js +1 -1
  116. package/build/listItem/AdditionalInfo/ListItemAdditionalInfo.mjs +1 -1
  117. package/build/listItem/ListItem.js +1 -1
  118. package/build/listItem/ListItem.mjs +1 -1
  119. package/build/listItem/Prompt/ListItemPrompt.js +1 -1
  120. package/build/listItem/Prompt/ListItemPrompt.mjs +1 -1
  121. package/build/loader/Loader.js +1 -1
  122. package/build/loader/Loader.mjs +1 -1
  123. package/build/logo/Logo.js +3 -3
  124. package/build/logo/Logo.js.map +1 -1
  125. package/build/logo/Logo.mjs +2 -2
  126. package/build/logo/Logo.mjs.map +1 -1
  127. package/build/main.css +477 -319
  128. package/build/markdown/Markdown.js +1 -1
  129. package/build/markdown/Markdown.mjs +1 -1
  130. package/build/modal/Modal.js +3 -3
  131. package/build/modal/Modal.js.map +1 -1
  132. package/build/modal/Modal.mjs +3 -3
  133. package/build/modal/Modal.mjs.map +1 -1
  134. package/build/moneyInput/MoneyInput.js +1 -1
  135. package/build/moneyInput/MoneyInput.mjs +1 -1
  136. package/build/navigationOption/NavigationOption.js +1 -1
  137. package/build/navigationOption/NavigationOption.mjs +1 -1
  138. package/build/nudge/Nudge.js +1 -1
  139. package/build/nudge/Nudge.mjs +1 -1
  140. package/build/overlayHeader/OverlayHeader.js +1 -1
  141. package/build/overlayHeader/OverlayHeader.mjs +1 -1
  142. package/build/phoneNumberInput/PhoneNumberInput.js +1 -1
  143. package/build/phoneNumberInput/PhoneNumberInput.mjs +1 -1
  144. package/build/popover/Popover.js +1 -1
  145. package/build/popover/Popover.mjs +1 -1
  146. package/build/processIndicator/ProcessIndicator.js +1 -1
  147. package/build/processIndicator/ProcessIndicator.mjs +1 -1
  148. package/build/progressBar/ProgressBar.js +1 -1
  149. package/build/progressBar/ProgressBar.mjs +1 -1
  150. package/build/promoCard/PromoCard.js +1 -1
  151. package/build/promoCard/PromoCard.mjs +1 -1
  152. package/build/promoCard/PromoCardIndicator.js +1 -1
  153. package/build/promoCard/PromoCardIndicator.mjs +1 -1
  154. package/build/prompt/ActionPrompt/ActionPrompt.js +2 -2
  155. package/build/prompt/ActionPrompt/ActionPrompt.js.map +1 -1
  156. package/build/prompt/ActionPrompt/ActionPrompt.mjs +2 -2
  157. package/build/prompt/ActionPrompt/ActionPrompt.mjs.map +1 -1
  158. package/build/prompt/CriticalBanner/CriticalBanner.js +83 -70
  159. package/build/prompt/CriticalBanner/CriticalBanner.js.map +1 -1
  160. package/build/prompt/CriticalBanner/CriticalBanner.mjs +83 -70
  161. package/build/prompt/CriticalBanner/CriticalBanner.mjs.map +1 -1
  162. package/build/prompt/InfoPrompt/InfoPrompt.js +1 -1
  163. package/build/prompt/InfoPrompt/InfoPrompt.mjs +1 -1
  164. package/build/prompt/InlinePrompt/InlinePrompt.js +1 -1
  165. package/build/prompt/InlinePrompt/InlinePrompt.mjs +1 -1
  166. package/build/provider/Provider.js +1 -1
  167. package/build/provider/Provider.mjs +1 -1
  168. package/build/radio/Radio.js +1 -1
  169. package/build/radio/Radio.mjs +1 -1
  170. package/build/segmentedControl/SegmentedControl.js +1 -1
  171. package/build/segmentedControl/SegmentedControl.mjs +1 -1
  172. package/build/select/Select.js +1 -1
  173. package/build/select/Select.mjs +1 -1
  174. package/build/select/option/Option.js +1 -1
  175. package/build/select/option/Option.mjs +1 -1
  176. package/build/statusIcon/StatusIcon.js +2 -2
  177. package/build/statusIcon/StatusIcon.js.map +1 -1
  178. package/build/statusIcon/StatusIcon.mjs +2 -2
  179. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  180. package/build/stepper/Stepper.js +1 -1
  181. package/build/stepper/Stepper.mjs +1 -1
  182. package/build/sticky/Sticky.js +1 -1
  183. package/build/sticky/Sticky.mjs +1 -1
  184. package/build/styles/accordion/Accordion.css +1 -1
  185. package/build/styles/card/Card.css +2 -2
  186. package/build/styles/carousel/Carousel.css +5 -5
  187. package/build/styles/common/Option/Option.css +4 -2
  188. package/build/styles/common/baseCard/BaseCard.css +1 -1
  189. package/build/styles/container/Container.css +3 -3
  190. package/build/styles/criticalBanner/CriticalCommsBanner.css +1 -1
  191. package/build/styles/css/accordion.css +4 -4
  192. package/build/styles/css/button-groups.css +6 -6
  193. package/build/styles/css/buttons.css +1 -1
  194. package/build/styles/css/circles.css +1 -1
  195. package/build/styles/css/column-layout.css +4 -4
  196. package/build/styles/css/decision.css +4 -4
  197. package/build/styles/css/dropdowns.css +10 -10
  198. package/build/styles/css/droppable.css +8 -8
  199. package/build/styles/css/flex.css +15 -13
  200. package/build/styles/css/footer.css +3 -3
  201. package/build/styles/css/grid.css +19 -19
  202. package/build/styles/css/input-groups.css +12 -12
  203. package/build/styles/css/list-group.css +8 -8
  204. package/build/styles/css/modals.css +6 -6
  205. package/build/styles/css/navbar.css +62 -62
  206. package/build/styles/css/navs.css +2 -2
  207. package/build/styles/css/neptune.css +338 -270
  208. package/build/styles/css/panels.css +9 -9
  209. package/build/styles/css/popovers.css +13 -13
  210. package/build/styles/css/select.css +1 -1
  211. package/build/styles/css/sequences.css +6 -6
  212. package/build/styles/css/table.css +6 -6
  213. package/build/styles/css/utilities.css +20 -8
  214. package/build/styles/css/wells.css +18 -4
  215. package/build/styles/dateInput/DateInput.css +1 -1
  216. package/build/styles/definitionList/DefinitionList.css +2 -2
  217. package/build/styles/drawer/Drawer.css +2 -2
  218. package/build/styles/flowNavigation/FlowNavigation.css +1 -1
  219. package/build/styles/inputs/Input.css +3 -3
  220. package/build/styles/inputs/SelectInput/Options/SelectInputOptions.css +2 -2
  221. package/build/styles/inputs/SelectInput/SelectInput.css +2 -2
  222. package/build/styles/inputs/TextArea.css +3 -3
  223. package/build/styles/less/legacy-variables.less +47 -34
  224. package/build/styles/less/neptune-tokens.less +2 -2
  225. package/build/styles/main.css +477 -319
  226. package/build/styles/modal/Modal.css +20 -7
  227. package/build/styles/overlayHeader/OverlayHeader.css +1 -1
  228. package/build/styles/popover/Popover.css +3 -3
  229. package/build/styles/promoCard/PromoCard.css +1 -1
  230. package/build/styles/prompt/ActionPrompt/ActionPrompt.css +1 -1
  231. package/build/styles/prompt/CriticalBanner/CriticalBanner.css +63 -1
  232. package/build/styles/prompt/PrimitivePrompt/PrimitivePrompt.css +1 -1
  233. package/build/styles/props/custom-media.css +11 -23
  234. package/build/styles/props/neptune-tokens.css +1 -1
  235. package/build/styles/snackbar/Snackbar.css +2 -2
  236. package/build/styles/stepper/Stepper.css +2 -2
  237. package/build/styles/styles/less/accordion.css +4 -4
  238. package/build/styles/styles/less/button-groups.css +6 -6
  239. package/build/styles/styles/less/buttons.css +1 -1
  240. package/build/styles/styles/less/circles.css +1 -1
  241. package/build/styles/styles/less/column-layout.css +4 -4
  242. package/build/styles/styles/less/decision.css +4 -4
  243. package/build/styles/styles/less/dropdowns.css +10 -10
  244. package/build/styles/styles/less/droppable.css +8 -8
  245. package/build/styles/styles/less/flex.css +15 -13
  246. package/build/styles/styles/less/footer.css +3 -3
  247. package/build/styles/styles/less/forms/bootstrap-forms.css +9 -9
  248. package/build/styles/styles/less/grid.css +19 -19
  249. package/build/styles/styles/less/input-groups.css +12 -12
  250. package/build/styles/styles/less/list-group.css +8 -8
  251. package/build/styles/styles/less/modals.css +6 -6
  252. package/build/styles/styles/less/navbar.css +62 -62
  253. package/build/styles/styles/less/navs.css +2 -2
  254. package/build/styles/styles/less/neptune.css +338 -270
  255. package/build/styles/styles/less/panels.css +9 -9
  256. package/build/styles/styles/less/popovers.css +13 -13
  257. package/build/styles/styles/less/select.css +1 -1
  258. package/build/styles/styles/less/sequences.css +6 -6
  259. package/build/styles/styles/less/table.css +6 -6
  260. package/build/styles/styles/less/utilities.css +20 -8
  261. package/build/styles/styles/less/wells.css +18 -4
  262. package/build/styles/styles/props/custom-media.css +11 -1
  263. package/build/styles/table/Table.css +1 -1
  264. package/build/styles/tabs/Tabs.css +2 -2
  265. package/build/styles/typeahead/Typeahead.css +1 -1
  266. package/build/summary/Summary.js +1 -1
  267. package/build/summary/Summary.mjs +1 -1
  268. package/build/table/Table.js +1 -1
  269. package/build/table/Table.mjs +1 -1
  270. package/build/table/TableRow.js +1 -1
  271. package/build/table/TableRow.mjs +1 -1
  272. package/build/table/TableStatusText.js +1 -1
  273. package/build/table/TableStatusText.mjs +1 -1
  274. package/build/tabs/Tabs.js +1 -1
  275. package/build/tabs/Tabs.mjs +1 -1
  276. package/build/tile/Tile.js +1 -1
  277. package/build/tile/Tile.mjs +1 -1
  278. package/build/title/Title.js +1 -1
  279. package/build/title/Title.mjs +1 -1
  280. package/build/tooltip/Tooltip.js +1 -1
  281. package/build/tooltip/Tooltip.mjs +1 -1
  282. package/build/typeahead/Typeahead.js +1 -1
  283. package/build/typeahead/Typeahead.mjs +1 -1
  284. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  285. package/build/types/common/bottomSheet/BottomSheet.d.ts.map +1 -1
  286. package/build/types/common/hooks/useScreenSize.d.ts +1 -1
  287. package/build/types/common/hooks/useScreenSize.d.ts.map +1 -1
  288. package/build/types/common/index.d.ts +1 -1
  289. package/build/types/common/index.d.ts.map +1 -1
  290. package/build/types/common/propsValues/breakpoint.d.ts +9 -0
  291. package/build/types/common/propsValues/breakpoint.d.ts.map +1 -0
  292. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  293. package/build/types/decision/Decision.d.ts.map +1 -1
  294. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  295. package/build/types/index.d.ts +1 -2
  296. package/build/types/index.d.ts.map +1 -1
  297. package/build/types/logo/Logo.d.ts +1 -1
  298. package/build/types/prompt/ActionPrompt/ActionPrompt.d.ts.map +1 -1
  299. package/build/types/prompt/CriticalBanner/CriticalBanner.d.ts.map +1 -1
  300. package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
  301. package/build/upload/Upload.js +1 -1
  302. package/build/upload/Upload.mjs +1 -1
  303. package/build/upload/steps/completeStep/completeStep.js +1 -1
  304. package/build/upload/steps/completeStep/completeStep.mjs +1 -1
  305. package/build/upload/steps/processingStep/processingStep.js +1 -1
  306. package/build/upload/steps/processingStep/processingStep.mjs +1 -1
  307. package/build/upload/steps/uploadImageStep/uploadImageStep.js +1 -1
  308. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +1 -1
  309. package/build/uploadInput/UploadInput.js +1 -1
  310. package/build/uploadInput/UploadInput.mjs +1 -1
  311. package/build/uploadInput/uploadButton/UploadButton.js +1 -1
  312. package/build/uploadInput/uploadButton/UploadButton.mjs +1 -1
  313. package/build/uploadInput/uploadButton/defaults.js +1 -1
  314. package/build/uploadInput/uploadButton/defaults.mjs +1 -1
  315. package/build/uploadInput/uploadItem/UploadItem.js +1 -1
  316. package/build/uploadInput/uploadItem/UploadItem.mjs +1 -1
  317. package/build/withDisplayFormat/WithDisplayFormat.js +1 -1
  318. package/build/withDisplayFormat/WithDisplayFormat.mjs +1 -1
  319. package/package.json +3 -3
  320. package/src/accordion/Accordion.css +1 -1
  321. package/src/card/Card.css +2 -2
  322. package/src/carousel/Carousel.css +5 -5
  323. package/src/carousel/Carousel.less +3 -3
  324. package/src/circularButton/CircularButton.tsx +2 -3
  325. package/src/common/Option/Option.css +4 -2
  326. package/src/common/Option/Option.less +4 -2
  327. package/src/common/baseCard/BaseCard.css +1 -1
  328. package/src/common/bottomSheet/BottomSheet.tsx +2 -2
  329. package/src/common/circle/Circle.tsx +2 -2
  330. package/src/common/hooks/useLayout/useLayout.ts +1 -1
  331. package/src/common/hooks/useScreenSize.ts +1 -1
  332. package/src/common/index.ts +1 -1
  333. package/src/common/propsValues/breakpoint.ts +8 -0
  334. package/src/common/responsivePanel/ResponsivePanel.test.js +2 -3
  335. package/src/container/Container.css +3 -3
  336. package/src/criticalBanner/CriticalCommsBanner.css +1 -1
  337. package/src/dateInput/DateInput.css +1 -1
  338. package/src/dateLookup/DateLookup.tsx +1 -1
  339. package/src/decision/Decision.test.tsx +1 -2
  340. package/src/decision/Decision.tsx +1 -2
  341. package/src/definitionList/DefinitionList.css +2 -2
  342. package/src/definitionList/DefinitionList.less +2 -2
  343. package/src/drawer/Drawer.css +2 -2
  344. package/src/drawer/Drawer.less +3 -4
  345. package/src/flowNavigation/FlowNavigation.css +1 -1
  346. package/src/flowNavigation/FlowNavigation.less +1 -2
  347. package/src/flowNavigation/FlowNavigation.story.tsx +0 -3
  348. package/src/flowNavigation/FlowNavigation.test.js +1 -1
  349. package/src/flowNavigation/FlowNavigation.tsx +1 -2
  350. package/src/index.ts +1 -1
  351. package/src/inputs/Input.css +3 -3
  352. package/src/inputs/SelectInput/Options/SelectInputOptions.css +2 -2
  353. package/src/inputs/SelectInput/SelectInput.css +2 -2
  354. package/src/inputs/SelectInput/SelectInput.tsx +1 -1
  355. package/src/inputs/TextArea.css +3 -3
  356. package/src/logo/Logo.tsx +1 -1
  357. package/src/main.css +477 -319
  358. package/src/modal/Modal.css +20 -7
  359. package/src/modal/Modal.less +19 -7
  360. package/src/modal/Modal.tsx +2 -2
  361. package/src/overlayHeader/OverlayHeader.css +1 -1
  362. package/src/overlayHeader/OverlayHeader.less +2 -3
  363. package/src/popover/Popover.css +3 -3
  364. package/src/popover/Popover.test.tsx +1 -2
  365. package/src/promoCard/PromoCard.css +1 -1
  366. package/src/prompt/ActionPrompt/ActionPrompt.css +1 -1
  367. package/src/prompt/ActionPrompt/ActionPrompt.less +1 -1
  368. package/src/prompt/ActionPrompt/ActionPrompt.test.tsx +6 -37
  369. package/src/prompt/ActionPrompt/ActionPrompt.tsx +2 -3
  370. package/src/prompt/CriticalBanner/CriticalBanner.accessibility.docs.mdx +9 -0
  371. package/src/prompt/CriticalBanner/CriticalBanner.css +63 -1
  372. package/src/prompt/CriticalBanner/CriticalBanner.less +96 -2
  373. package/src/prompt/CriticalBanner/CriticalBanner.story.tsx +156 -169
  374. package/src/prompt/CriticalBanner/CriticalBanner.test.story.tsx +25 -6
  375. package/src/prompt/CriticalBanner/CriticalBanner.test.tsx +37 -0
  376. package/src/prompt/CriticalBanner/CriticalBanner.tsx +98 -81
  377. package/src/prompt/CriticalBanner/CriticalBanner.vars.less +1 -0
  378. package/src/prompt/PrimitivePrompt/PrimitivePrompt.css +1 -1
  379. package/src/prompt/PrimitivePrompt/PrimitivePrompt.less +1 -1
  380. package/src/select/Select.test.tsx +1 -1
  381. package/src/snackbar/Snackbar.css +2 -2
  382. package/src/statusIcon/StatusIcon.tsx +2 -3
  383. package/src/stepper/Stepper.css +2 -2
  384. package/src/styles/less/accordion.css +4 -4
  385. package/src/styles/less/addons/_display-utilities.less +27 -13
  386. package/src/styles/less/button-groups.css +6 -6
  387. package/src/styles/less/buttons.css +1 -1
  388. package/src/styles/less/circles.css +1 -1
  389. package/src/styles/less/column-layout.css +4 -4
  390. package/src/styles/less/core/_typography-utilities.less +22 -10
  391. package/src/styles/less/decision.css +4 -4
  392. package/src/styles/less/dropdowns.css +10 -10
  393. package/src/styles/less/droppable.css +8 -8
  394. package/src/styles/less/flex.css +15 -13
  395. package/src/styles/less/flex.less +3 -1
  396. package/src/styles/less/footer.css +3 -3
  397. package/src/styles/less/forms/bootstrap-forms.css +9 -9
  398. package/src/styles/less/forms/bootstrap-forms.less +1 -1
  399. package/src/styles/less/grid.css +19 -19
  400. package/src/styles/less/input-groups.css +12 -12
  401. package/src/styles/less/list-group.css +8 -8
  402. package/src/styles/less/modals.css +6 -6
  403. package/src/styles/less/modals.less +4 -4
  404. package/src/styles/less/navbar.css +62 -62
  405. package/src/styles/less/navbar.less +2 -2
  406. package/src/styles/less/navs.css +2 -2
  407. package/src/styles/less/neptune.bundle.less +0 -1
  408. package/src/styles/less/neptune.css +338 -270
  409. package/src/styles/less/panels.css +9 -9
  410. package/src/styles/less/popovers.css +13 -13
  411. package/src/styles/less/popovers.less +6 -6
  412. package/src/styles/less/select.css +1 -1
  413. package/src/styles/less/sequences.css +6 -6
  414. package/src/styles/less/table.css +6 -6
  415. package/src/styles/less/table.less +1 -1
  416. package/src/styles/less/utilities.css +20 -8
  417. package/src/styles/less/utilities.less +14 -6
  418. package/src/styles/less/wells.css +18 -4
  419. package/src/styles/less/wells.less +5 -3
  420. package/src/styles/props/custom-media.css +11 -1
  421. package/src/styles/variables/legacy-variables.less +47 -4
  422. package/src/table/Table.css +1 -1
  423. package/src/tabs/Tabs.css +2 -2
  424. package/src/typeahead/Typeahead.css +1 -1
  425. package/src/uploadInput/uploadItem/UploadItem.less +2 -2
@@ -6,8 +6,8 @@ var Body = require('../../body/Body.js');
6
6
  var Button_resolver = require('../../button/Button.resolver.js');
7
7
  require('../../common/theme.js');
8
8
  require('../../common/direction.js');
9
- var neptuneTokens = require('@transferwise/neptune-tokens');
10
9
  require('../../common/propsValues/control.js');
10
+ var breakpoint = require('../../common/propsValues/breakpoint.js');
11
11
  require('../../common/propsValues/size.js');
12
12
  var typography = require('../../common/propsValues/typography.js');
13
13
  require('../../common/propsValues/width.js');
@@ -48,7 +48,7 @@ const CriticalBanner = ({
48
48
  className,
49
49
  'data-testid': testId
50
50
  }) => {
51
- const [containerRef, isDesktop] = useContainerSize.useContainerSize(neptuneTokens.Breakpoint.MEDIUM);
51
+ const [containerRef, isDesktop] = useContainerSize.useContainerSize(breakpoint.Breakpoint.MEDIUM);
52
52
  const isControlled = expandedProp !== undefined && onToggle !== undefined;
53
53
  const [internalExpanded, setInternalExpanded] = React.useState(true);
54
54
  const resolvedExpanded = isDesktop ? true : isControlled ? expandedProp : internalExpanded;
@@ -58,6 +58,75 @@ const CriticalBanner = ({
58
58
  const titleId = React.useId();
59
59
  const descId = React.useId();
60
60
  const ariaLabelledByIds = [media['aria-hidden'] ? undefined : mediaId, !title ? undefined : titleId].filter(Boolean).join(' ');
61
+ const bannerSurface = /*#__PURE__*/jsxRuntime.jsxs(PrimitivePrompt.PrimitivePrompt, {
62
+ ref: containerRef,
63
+ id: id,
64
+ sentiment: sentiment,
65
+ emphasis: sentiment === 'neutral' ? 'base' : 'elevated',
66
+ "data-testid": testId,
67
+ className: clsx.clsx('wds-critical-banner', {
68
+ 'wds-critical-banner--collapsed': !resolvedExpanded,
69
+ 'wds-critical-banner--with-two-actions': !!actionSecondary
70
+ }, className),
71
+ media: promptMedia.renderPromptMedia({
72
+ media,
73
+ sentiment,
74
+ mediaId,
75
+ imgClassName: 'wds-critical-banner--media-image'
76
+ }),
77
+ actions: hasActions ? /*#__PURE__*/jsxRuntime.jsxs("div", {
78
+ "aria-hidden": !resolvedExpanded ? true : undefined,
79
+ style: {
80
+ display: 'contents'
81
+ },
82
+ children: [actionSecondary &&
83
+ /*#__PURE__*/
84
+ // @ts-expect-error onClick type mismatch
85
+ jsxRuntime.jsx(Button_resolver.default, {
86
+ v2: true,
87
+ size: "md",
88
+ priority: "secondary",
89
+ href: actionSecondary.href,
90
+ tabIndex: resolvedExpanded ? undefined : -1,
91
+ onClick: actionSecondary?.onClick,
92
+ children: actionSecondary.label
93
+ }), action &&
94
+ /*#__PURE__*/
95
+ // @ts-expect-error onClick type mismatch
96
+ jsxRuntime.jsx(Button_resolver.default, {
97
+ v2: true,
98
+ size: "md",
99
+ priority: "primary",
100
+ href: action.href,
101
+ tabIndex: resolvedExpanded ? undefined : -1,
102
+ onClick: action.onClick,
103
+ children: action.label
104
+ })]
105
+ }) : undefined,
106
+ role: "region",
107
+ "aria-labelledby": ariaLabelledByIds || undefined,
108
+ "aria-describedby": description ? descId : undefined,
109
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
110
+ className: "wds-critical-banner__text-wrapper",
111
+ children: [title && /*#__PURE__*/jsxRuntime.jsx(Body.default, {
112
+ id: titleId,
113
+ type: typography.Typography.BODY_LARGE_BOLD,
114
+ className: "wds-critical-banner__content wds-critical-banner__title",
115
+ children: title
116
+ }), description && /*#__PURE__*/jsxRuntime.jsx(Body.default, {
117
+ id: descId,
118
+ className: clsx.clsx('wds-critical-banner__content', 'wds-critical-banner__description', {
119
+ 'wds-critical-banner__description--with-title': !!title
120
+ }),
121
+ children: description
122
+ })]
123
+ }), /*#__PURE__*/jsxRuntime.jsx(Expander.ExpanderToggle, {
124
+ expanded: resolvedExpanded,
125
+ size: 24,
126
+ className: "wds-critical-banner__toggle",
127
+ onToggle: handleToggle
128
+ })]
129
+ });
61
130
  return /*#__PURE__*/jsxRuntime.jsx(LiveRegion.LiveRegion, {
62
131
  "aria-live": "assertive",
63
132
  announceOnChange: helpers.buildAnnouncementString({
@@ -67,74 +136,18 @@ const CriticalBanner = ({
67
136
  actionLabel: action?.label,
68
137
  actionSecondaryLabel: actionSecondary?.label
69
138
  }),
70
- children: /*#__PURE__*/jsxRuntime.jsxs(PrimitivePrompt.PrimitivePrompt, {
71
- ref: containerRef,
72
- id: id,
73
- sentiment: sentiment,
74
- emphasis: sentiment === 'neutral' ? 'base' : 'elevated',
75
- "data-testid": testId,
76
- className: clsx.clsx('wds-critical-banner', {
77
- 'wds-critical-banner--collapsed': !resolvedExpanded,
78
- 'wds-critical-banner--with-two-actions': !!actionSecondary
79
- }, className),
80
- media: promptMedia.renderPromptMedia({
81
- media,
82
- sentiment,
83
- mediaId,
84
- imgClassName: 'wds-critical-banner--media-image'
85
- }),
86
- actions: hasActions ? /*#__PURE__*/jsxRuntime.jsxs("div", {
87
- "aria-hidden": !resolvedExpanded ? true : undefined,
88
- style: {
89
- display: 'contents'
90
- },
91
- children: [actionSecondary &&
92
- /*#__PURE__*/
93
- // @ts-expect-error onClick type mismatch
94
- jsxRuntime.jsx(Button_resolver.default, {
95
- v2: true,
96
- size: "md",
97
- priority: "secondary",
98
- href: actionSecondary.href,
99
- tabIndex: resolvedExpanded ? undefined : -1,
100
- onClick: actionSecondary?.onClick,
101
- children: actionSecondary.label
102
- }), action &&
103
- /*#__PURE__*/
104
- // @ts-expect-error onClick type mismatch
105
- jsxRuntime.jsx(Button_resolver.default, {
106
- v2: true,
107
- size: "md",
108
- priority: "primary",
109
- href: action.href,
110
- tabIndex: resolvedExpanded ? undefined : -1,
111
- onClick: action.onClick,
112
- children: action.label
113
- })]
114
- }) : undefined,
115
- role: "region",
116
- "aria-labelledby": ariaLabelledByIds || undefined,
117
- "aria-describedby": description ? descId : undefined,
118
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
119
- className: "wds-critical-banner__text-wrapper",
120
- children: [title && /*#__PURE__*/jsxRuntime.jsx(Body.default, {
121
- id: titleId,
122
- type: typography.Typography.BODY_LARGE_BOLD,
123
- className: "wds-critical-banner__content wds-critical-banner__title",
124
- children: title
125
- }), description && /*#__PURE__*/jsxRuntime.jsx(Body.default, {
126
- id: descId,
127
- className: clsx.clsx('wds-critical-banner__content', 'wds-critical-banner__description', {
128
- 'wds-critical-banner__description--with-title': !!title
129
- }),
130
- children: description
131
- })]
132
- }), /*#__PURE__*/jsxRuntime.jsx(Expander.ExpanderToggle, {
133
- expanded: resolvedExpanded,
134
- size: 24,
135
- className: "wds-critical-banner__toggle",
136
- onToggle: handleToggle
137
- })]
139
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
140
+ className: "wds-critical-banner-overhang-query",
141
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
142
+ className: "wds-critical-banner__entry-mask",
143
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
144
+ className: "wds-critical-banner__entry-track",
145
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
146
+ className: clsx.clsx('wds-critical-banner-overhang', `wds-critical-banner-overhang--${sentiment}`),
147
+ children: bannerSurface
148
+ })
149
+ })
150
+ })
138
151
  })
139
152
  });
140
153
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CriticalBanner.js","sources":["../../../src/prompt/CriticalBanner/CriticalBanner.tsx"],"sourcesContent":["import { ReactNode, useId, useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport Body from '../../body';\nimport Button from '../../button';\nimport { Breakpoint, LiveRegion, Typography } from '../../common';\nimport { ButtonProps } from '../../button/Button.types';\nimport { PrimitivePrompt, PrimitivePromptProps } from '../PrimitivePrompt';\n\nimport { renderPromptMedia, PromptMedia } from '../helpers/promptMedia';\nimport { ExpanderToggle } from '../common/Expander/Expander';\nimport { buildAnnouncementString } from './helpers';\nimport { useContainerSize } from '../../common/hooks/useContainerSize';\n\nexport type CriticalBannerProps = {\n title?: ReactNode;\n description: ReactNode;\n media?: PromptMedia;\n action?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n actionSecondary?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n sentiment?: Exclude<PrimitivePromptProps['sentiment'], 'proposition'>;\n /**\n * Controls whether the description and actions are visible, as a controlled component.\n * When collapsed with a title, only the title is shown.\n * When collapsed without a title, the description is trimmed to 2 lines.\n *\n * Note: On desktop (container width >= 768px), the banner is always expanded\n * regardless of this prop value.\n */\n expanded?: boolean;\n /**\n * Called when the user clicks the chevron toggle.\n * If not provided, the component will manage expanded state internally.\n */\n onToggle?: () => void;\n} & Pick<PrimitivePromptProps, 'id' | 'className' | 'data-testid'>;\n\n/**\n * A full-width, non-dismissible banner for critical messages such as account blocks or\n * time-sensitive actions that require immediate user attention.\n\n * @see {@link https://wise.design/components/critical-banner Design Spec}\n */\nexport const CriticalBanner = ({\n sentiment = 'negative',\n title,\n description,\n media = {},\n action,\n actionSecondary,\n expanded: expandedProp,\n onToggle,\n id,\n className,\n 'data-testid': testId,\n}: CriticalBannerProps) => {\n const [containerRef, isDesktop] = useContainerSize(Breakpoint.MEDIUM);\n const isControlled = expandedProp !== undefined && onToggle !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(true);\n const resolvedExpanded = isDesktop ? true : isControlled ? expandedProp : internalExpanded;\n const handleToggle = isControlled\n ? onToggle\n : () => setInternalExpanded((previousExpanded) => !previousExpanded);\n const hasActions = action ?? actionSecondary;\n const mediaId = useId();\n const titleId = useId();\n const descId = useId();\n\n const ariaLabelledByIds = [\n media['aria-hidden'] ? undefined : mediaId,\n !title ? undefined : titleId,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <LiveRegion\n aria-live=\"assertive\"\n announceOnChange={buildAnnouncementString({\n title,\n description,\n expanded: resolvedExpanded,\n actionLabel: action?.label,\n actionSecondaryLabel: actionSecondary?.label,\n })}\n >\n <PrimitivePrompt\n ref={containerRef}\n id={id}\n sentiment={sentiment}\n emphasis={sentiment === 'neutral' ? 'base' : 'elevated'}\n data-testid={testId}\n className={clsx(\n 'wds-critical-banner',\n {\n 'wds-critical-banner--collapsed': !resolvedExpanded,\n 'wds-critical-banner--with-two-actions': !!actionSecondary,\n },\n className,\n )}\n media={renderPromptMedia({\n media,\n sentiment,\n mediaId,\n imgClassName: 'wds-critical-banner--media-image',\n })}\n actions={\n hasActions ? (\n <div aria-hidden={!resolvedExpanded ? true : undefined} style={{ display: 'contents' }}>\n {actionSecondary && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"secondary\"\n href={actionSecondary.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={actionSecondary?.onClick}\n >\n {actionSecondary.label}\n </Button>\n )}\n {action && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"primary\"\n href={action.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n )}\n </div>\n ) : undefined\n }\n role=\"region\"\n aria-labelledby={ariaLabelledByIds || undefined}\n aria-describedby={description ? descId : undefined}\n >\n <div className=\"wds-critical-banner__text-wrapper\">\n {title && (\n <Body\n id={titleId}\n type={Typography.BODY_LARGE_BOLD}\n className=\"wds-critical-banner__content wds-critical-banner__title\"\n >\n {title}\n </Body>\n )}\n {description && (\n <Body\n id={descId}\n className={clsx('wds-critical-banner__content', 'wds-critical-banner__description', {\n 'wds-critical-banner__description--with-title': !!title,\n })}\n >\n {description}\n </Body>\n )}\n </div>\n <ExpanderToggle\n expanded={resolvedExpanded}\n size={24}\n className=\"wds-critical-banner__toggle\"\n onToggle={handleToggle}\n />\n </PrimitivePrompt>\n </LiveRegion>\n );\n};\n\nexport default CriticalBanner;\n"],"names":["CriticalBanner","sentiment","title","description","media","action","actionSecondary","expanded","expandedProp","onToggle","id","className","testId","containerRef","isDesktop","useContainerSize","Breakpoint","MEDIUM","isControlled","undefined","internalExpanded","setInternalExpanded","useState","resolvedExpanded","handleToggle","previousExpanded","hasActions","mediaId","useId","titleId","descId","ariaLabelledByIds","filter","Boolean","join","_jsx","LiveRegion","announceOnChange","buildAnnouncementString","actionLabel","label","actionSecondaryLabel","children","_jsxs","PrimitivePrompt","ref","emphasis","clsx","renderPromptMedia","imgClassName","actions","style","display","Button","v2","size","priority","href","tabIndex","onClick","role","Body","type","Typography","BODY_LARGE_BOLD","ExpanderToggle"],"mappings":"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"}
1
+ {"version":3,"file":"CriticalBanner.js","sources":["../../../src/prompt/CriticalBanner/CriticalBanner.tsx"],"sourcesContent":["import { ReactNode, useId, useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport Body from '../../body';\nimport Button from '../../button';\nimport { Breakpoint, LiveRegion, Typography } from '../../common';\nimport { ButtonProps } from '../../button/Button.types';\nimport { PrimitivePrompt, PrimitivePromptProps } from '../PrimitivePrompt';\n\nimport { renderPromptMedia, PromptMedia } from '../helpers/promptMedia';\nimport { ExpanderToggle } from '../common/Expander/Expander';\nimport { buildAnnouncementString } from './helpers';\nimport { useContainerSize } from '../../common/hooks/useContainerSize';\n\nexport type CriticalBannerProps = {\n title?: ReactNode;\n description: ReactNode;\n media?: PromptMedia;\n action?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n actionSecondary?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n sentiment?: Exclude<PrimitivePromptProps['sentiment'], 'proposition'>;\n /**\n * Controls whether the description and actions are visible, as a controlled component.\n * When collapsed with a title, only the title is shown.\n * When collapsed without a title, the description is trimmed to 2 lines.\n *\n * Note: On desktop (container width >= 768px), the banner is always expanded\n * regardless of this prop value.\n */\n expanded?: boolean;\n /**\n * Called when the user clicks the chevron toggle.\n * If not provided, the component will manage expanded state internally.\n */\n onToggle?: () => void;\n} & Pick<PrimitivePromptProps, 'id' | 'className' | 'data-testid'>;\n\n/**\n * A full-width, non-dismissible banner for critical messages such as account blocks or\n * time-sensitive actions that require immediate user attention.\n\n * @see {@link https://wise.design/components/critical-banner Design Spec}\n */\nexport const CriticalBanner = ({\n sentiment = 'negative',\n title,\n description,\n media = {},\n action,\n actionSecondary,\n expanded: expandedProp,\n onToggle,\n id,\n className,\n 'data-testid': testId,\n}: CriticalBannerProps) => {\n const [containerRef, isDesktop] = useContainerSize(Breakpoint.MEDIUM);\n const isControlled = expandedProp !== undefined && onToggle !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(true);\n const resolvedExpanded = isDesktop ? true : isControlled ? expandedProp : internalExpanded;\n const handleToggle = isControlled\n ? onToggle\n : () => setInternalExpanded((previousExpanded) => !previousExpanded);\n const hasActions = action ?? actionSecondary;\n const mediaId = useId();\n const titleId = useId();\n const descId = useId();\n\n const ariaLabelledByIds = [\n media['aria-hidden'] ? undefined : mediaId,\n !title ? undefined : titleId,\n ]\n .filter(Boolean)\n .join(' ');\n\n const bannerSurface = (\n <PrimitivePrompt\n ref={containerRef}\n id={id}\n sentiment={sentiment}\n emphasis={sentiment === 'neutral' ? 'base' : 'elevated'}\n data-testid={testId}\n className={clsx(\n 'wds-critical-banner',\n {\n 'wds-critical-banner--collapsed': !resolvedExpanded,\n 'wds-critical-banner--with-two-actions': !!actionSecondary,\n },\n className,\n )}\n media={renderPromptMedia({\n media,\n sentiment,\n mediaId,\n imgClassName: 'wds-critical-banner--media-image',\n })}\n actions={\n hasActions ? (\n <div aria-hidden={!resolvedExpanded ? true : undefined} style={{ display: 'contents' }}>\n {actionSecondary && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"secondary\"\n href={actionSecondary.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={actionSecondary?.onClick}\n >\n {actionSecondary.label}\n </Button>\n )}\n {action && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"primary\"\n href={action.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n )}\n </div>\n ) : undefined\n }\n role=\"region\"\n aria-labelledby={ariaLabelledByIds || undefined}\n aria-describedby={description ? descId : undefined}\n >\n <div className=\"wds-critical-banner__text-wrapper\">\n {title && (\n <Body\n id={titleId}\n type={Typography.BODY_LARGE_BOLD}\n className=\"wds-critical-banner__content wds-critical-banner__title\"\n >\n {title}\n </Body>\n )}\n {description && (\n <Body\n id={descId}\n className={clsx('wds-critical-banner__content', 'wds-critical-banner__description', {\n 'wds-critical-banner__description--with-title': !!title,\n })}\n >\n {description}\n </Body>\n )}\n </div>\n <ExpanderToggle\n expanded={resolvedExpanded}\n size={24}\n className=\"wds-critical-banner__toggle\"\n onToggle={handleToggle}\n />\n </PrimitivePrompt>\n );\n\n return (\n <LiveRegion\n aria-live=\"assertive\"\n announceOnChange={buildAnnouncementString({\n title,\n description,\n expanded: resolvedExpanded,\n actionLabel: action?.label,\n actionSecondaryLabel: actionSecondary?.label,\n })}\n >\n <div className=\"wds-critical-banner-overhang-query\">\n <div className=\"wds-critical-banner__entry-mask\">\n <div className=\"wds-critical-banner__entry-track\">\n <div\n className={clsx(\n 'wds-critical-banner-overhang',\n `wds-critical-banner-overhang--${sentiment}`,\n )}\n >\n {bannerSurface}\n </div>\n </div>\n </div>\n </div>\n </LiveRegion>\n );\n};\n\nexport default CriticalBanner;\n"],"names":["CriticalBanner","sentiment","title","description","media","action","actionSecondary","expanded","expandedProp","onToggle","id","className","testId","containerRef","isDesktop","useContainerSize","Breakpoint","MEDIUM","isControlled","undefined","internalExpanded","setInternalExpanded","useState","resolvedExpanded","handleToggle","previousExpanded","hasActions","mediaId","useId","titleId","descId","ariaLabelledByIds","filter","Boolean","join","bannerSurface","_jsxs","PrimitivePrompt","ref","emphasis","clsx","renderPromptMedia","imgClassName","actions","style","display","children","_jsx","Button","v2","size","priority","href","tabIndex","onClick","label","role","Body","type","Typography","BODY_LARGE_BOLD","ExpanderToggle","LiveRegion","announceOnChange","buildAnnouncementString","actionLabel","actionSecondaryLabel"],"mappings":"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"}
@@ -4,8 +4,8 @@ import Body from '../../body/Body.mjs';
4
4
  import Button from '../../button/Button.resolver.mjs';
5
5
  import '../../common/theme.mjs';
6
6
  import '../../common/direction.mjs';
7
- import { Breakpoint } from '@transferwise/neptune-tokens';
8
7
  import '../../common/propsValues/control.mjs';
8
+ import { Breakpoint } from '../../common/propsValues/breakpoint.mjs';
9
9
  import '../../common/propsValues/size.mjs';
10
10
  import { Typography } from '../../common/propsValues/typography.mjs';
11
11
  import '../../common/propsValues/width.mjs';
@@ -25,7 +25,7 @@ import '@transferwise/formatting';
25
25
  import '@transferwise/icons';
26
26
  import 'react-intl';
27
27
  import '../../common/closeButton/CloseButton.messages.mjs';
28
- import { jsx, jsxs } from 'react/jsx-runtime';
28
+ import { jsxs, jsx } from 'react/jsx-runtime';
29
29
  import { LiveRegion } from '../../common/liveRegion/LiveRegion.mjs';
30
30
  import { PrimitivePrompt } from '../PrimitivePrompt/PrimitivePrompt.mjs';
31
31
  import { renderPromptMedia } from '../helpers/promptMedia.mjs';
@@ -56,6 +56,75 @@ const CriticalBanner = ({
56
56
  const titleId = useId();
57
57
  const descId = useId();
58
58
  const ariaLabelledByIds = [media['aria-hidden'] ? undefined : mediaId, !title ? undefined : titleId].filter(Boolean).join(' ');
59
+ const bannerSurface = /*#__PURE__*/jsxs(PrimitivePrompt, {
60
+ ref: containerRef,
61
+ id: id,
62
+ sentiment: sentiment,
63
+ emphasis: sentiment === 'neutral' ? 'base' : 'elevated',
64
+ "data-testid": testId,
65
+ className: clsx('wds-critical-banner', {
66
+ 'wds-critical-banner--collapsed': !resolvedExpanded,
67
+ 'wds-critical-banner--with-two-actions': !!actionSecondary
68
+ }, className),
69
+ media: renderPromptMedia({
70
+ media,
71
+ sentiment,
72
+ mediaId,
73
+ imgClassName: 'wds-critical-banner--media-image'
74
+ }),
75
+ actions: hasActions ? /*#__PURE__*/jsxs("div", {
76
+ "aria-hidden": !resolvedExpanded ? true : undefined,
77
+ style: {
78
+ display: 'contents'
79
+ },
80
+ children: [actionSecondary &&
81
+ /*#__PURE__*/
82
+ // @ts-expect-error onClick type mismatch
83
+ jsx(Button, {
84
+ v2: true,
85
+ size: "md",
86
+ priority: "secondary",
87
+ href: actionSecondary.href,
88
+ tabIndex: resolvedExpanded ? undefined : -1,
89
+ onClick: actionSecondary?.onClick,
90
+ children: actionSecondary.label
91
+ }), action &&
92
+ /*#__PURE__*/
93
+ // @ts-expect-error onClick type mismatch
94
+ jsx(Button, {
95
+ v2: true,
96
+ size: "md",
97
+ priority: "primary",
98
+ href: action.href,
99
+ tabIndex: resolvedExpanded ? undefined : -1,
100
+ onClick: action.onClick,
101
+ children: action.label
102
+ })]
103
+ }) : undefined,
104
+ role: "region",
105
+ "aria-labelledby": ariaLabelledByIds || undefined,
106
+ "aria-describedby": description ? descId : undefined,
107
+ children: [/*#__PURE__*/jsxs("div", {
108
+ className: "wds-critical-banner__text-wrapper",
109
+ children: [title && /*#__PURE__*/jsx(Body, {
110
+ id: titleId,
111
+ type: Typography.BODY_LARGE_BOLD,
112
+ className: "wds-critical-banner__content wds-critical-banner__title",
113
+ children: title
114
+ }), description && /*#__PURE__*/jsx(Body, {
115
+ id: descId,
116
+ className: clsx('wds-critical-banner__content', 'wds-critical-banner__description', {
117
+ 'wds-critical-banner__description--with-title': !!title
118
+ }),
119
+ children: description
120
+ })]
121
+ }), /*#__PURE__*/jsx(ExpanderToggle, {
122
+ expanded: resolvedExpanded,
123
+ size: 24,
124
+ className: "wds-critical-banner__toggle",
125
+ onToggle: handleToggle
126
+ })]
127
+ });
59
128
  return /*#__PURE__*/jsx(LiveRegion, {
60
129
  "aria-live": "assertive",
61
130
  announceOnChange: buildAnnouncementString({
@@ -65,74 +134,18 @@ const CriticalBanner = ({
65
134
  actionLabel: action?.label,
66
135
  actionSecondaryLabel: actionSecondary?.label
67
136
  }),
68
- children: /*#__PURE__*/jsxs(PrimitivePrompt, {
69
- ref: containerRef,
70
- id: id,
71
- sentiment: sentiment,
72
- emphasis: sentiment === 'neutral' ? 'base' : 'elevated',
73
- "data-testid": testId,
74
- className: clsx('wds-critical-banner', {
75
- 'wds-critical-banner--collapsed': !resolvedExpanded,
76
- 'wds-critical-banner--with-two-actions': !!actionSecondary
77
- }, className),
78
- media: renderPromptMedia({
79
- media,
80
- sentiment,
81
- mediaId,
82
- imgClassName: 'wds-critical-banner--media-image'
83
- }),
84
- actions: hasActions ? /*#__PURE__*/jsxs("div", {
85
- "aria-hidden": !resolvedExpanded ? true : undefined,
86
- style: {
87
- display: 'contents'
88
- },
89
- children: [actionSecondary &&
90
- /*#__PURE__*/
91
- // @ts-expect-error onClick type mismatch
92
- jsx(Button, {
93
- v2: true,
94
- size: "md",
95
- priority: "secondary",
96
- href: actionSecondary.href,
97
- tabIndex: resolvedExpanded ? undefined : -1,
98
- onClick: actionSecondary?.onClick,
99
- children: actionSecondary.label
100
- }), action &&
101
- /*#__PURE__*/
102
- // @ts-expect-error onClick type mismatch
103
- jsx(Button, {
104
- v2: true,
105
- size: "md",
106
- priority: "primary",
107
- href: action.href,
108
- tabIndex: resolvedExpanded ? undefined : -1,
109
- onClick: action.onClick,
110
- children: action.label
111
- })]
112
- }) : undefined,
113
- role: "region",
114
- "aria-labelledby": ariaLabelledByIds || undefined,
115
- "aria-describedby": description ? descId : undefined,
116
- children: [/*#__PURE__*/jsxs("div", {
117
- className: "wds-critical-banner__text-wrapper",
118
- children: [title && /*#__PURE__*/jsx(Body, {
119
- id: titleId,
120
- type: Typography.BODY_LARGE_BOLD,
121
- className: "wds-critical-banner__content wds-critical-banner__title",
122
- children: title
123
- }), description && /*#__PURE__*/jsx(Body, {
124
- id: descId,
125
- className: clsx('wds-critical-banner__content', 'wds-critical-banner__description', {
126
- 'wds-critical-banner__description--with-title': !!title
127
- }),
128
- children: description
129
- })]
130
- }), /*#__PURE__*/jsx(ExpanderToggle, {
131
- expanded: resolvedExpanded,
132
- size: 24,
133
- className: "wds-critical-banner__toggle",
134
- onToggle: handleToggle
135
- })]
137
+ children: /*#__PURE__*/jsx("div", {
138
+ className: "wds-critical-banner-overhang-query",
139
+ children: /*#__PURE__*/jsx("div", {
140
+ className: "wds-critical-banner__entry-mask",
141
+ children: /*#__PURE__*/jsx("div", {
142
+ className: "wds-critical-banner__entry-track",
143
+ children: /*#__PURE__*/jsx("div", {
144
+ className: clsx('wds-critical-banner-overhang', `wds-critical-banner-overhang--${sentiment}`),
145
+ children: bannerSurface
146
+ })
147
+ })
148
+ })
136
149
  })
137
150
  });
138
151
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CriticalBanner.mjs","sources":["../../../src/prompt/CriticalBanner/CriticalBanner.tsx"],"sourcesContent":["import { ReactNode, useId, useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport Body from '../../body';\nimport Button from '../../button';\nimport { Breakpoint, LiveRegion, Typography } from '../../common';\nimport { ButtonProps } from '../../button/Button.types';\nimport { PrimitivePrompt, PrimitivePromptProps } from '../PrimitivePrompt';\n\nimport { renderPromptMedia, PromptMedia } from '../helpers/promptMedia';\nimport { ExpanderToggle } from '../common/Expander/Expander';\nimport { buildAnnouncementString } from './helpers';\nimport { useContainerSize } from '../../common/hooks/useContainerSize';\n\nexport type CriticalBannerProps = {\n title?: ReactNode;\n description: ReactNode;\n media?: PromptMedia;\n action?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n actionSecondary?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n sentiment?: Exclude<PrimitivePromptProps['sentiment'], 'proposition'>;\n /**\n * Controls whether the description and actions are visible, as a controlled component.\n * When collapsed with a title, only the title is shown.\n * When collapsed without a title, the description is trimmed to 2 lines.\n *\n * Note: On desktop (container width >= 768px), the banner is always expanded\n * regardless of this prop value.\n */\n expanded?: boolean;\n /**\n * Called when the user clicks the chevron toggle.\n * If not provided, the component will manage expanded state internally.\n */\n onToggle?: () => void;\n} & Pick<PrimitivePromptProps, 'id' | 'className' | 'data-testid'>;\n\n/**\n * A full-width, non-dismissible banner for critical messages such as account blocks or\n * time-sensitive actions that require immediate user attention.\n\n * @see {@link https://wise.design/components/critical-banner Design Spec}\n */\nexport const CriticalBanner = ({\n sentiment = 'negative',\n title,\n description,\n media = {},\n action,\n actionSecondary,\n expanded: expandedProp,\n onToggle,\n id,\n className,\n 'data-testid': testId,\n}: CriticalBannerProps) => {\n const [containerRef, isDesktop] = useContainerSize(Breakpoint.MEDIUM);\n const isControlled = expandedProp !== undefined && onToggle !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(true);\n const resolvedExpanded = isDesktop ? true : isControlled ? expandedProp : internalExpanded;\n const handleToggle = isControlled\n ? onToggle\n : () => setInternalExpanded((previousExpanded) => !previousExpanded);\n const hasActions = action ?? actionSecondary;\n const mediaId = useId();\n const titleId = useId();\n const descId = useId();\n\n const ariaLabelledByIds = [\n media['aria-hidden'] ? undefined : mediaId,\n !title ? undefined : titleId,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <LiveRegion\n aria-live=\"assertive\"\n announceOnChange={buildAnnouncementString({\n title,\n description,\n expanded: resolvedExpanded,\n actionLabel: action?.label,\n actionSecondaryLabel: actionSecondary?.label,\n })}\n >\n <PrimitivePrompt\n ref={containerRef}\n id={id}\n sentiment={sentiment}\n emphasis={sentiment === 'neutral' ? 'base' : 'elevated'}\n data-testid={testId}\n className={clsx(\n 'wds-critical-banner',\n {\n 'wds-critical-banner--collapsed': !resolvedExpanded,\n 'wds-critical-banner--with-two-actions': !!actionSecondary,\n },\n className,\n )}\n media={renderPromptMedia({\n media,\n sentiment,\n mediaId,\n imgClassName: 'wds-critical-banner--media-image',\n })}\n actions={\n hasActions ? (\n <div aria-hidden={!resolvedExpanded ? true : undefined} style={{ display: 'contents' }}>\n {actionSecondary && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"secondary\"\n href={actionSecondary.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={actionSecondary?.onClick}\n >\n {actionSecondary.label}\n </Button>\n )}\n {action && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"primary\"\n href={action.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n )}\n </div>\n ) : undefined\n }\n role=\"region\"\n aria-labelledby={ariaLabelledByIds || undefined}\n aria-describedby={description ? descId : undefined}\n >\n <div className=\"wds-critical-banner__text-wrapper\">\n {title && (\n <Body\n id={titleId}\n type={Typography.BODY_LARGE_BOLD}\n className=\"wds-critical-banner__content wds-critical-banner__title\"\n >\n {title}\n </Body>\n )}\n {description && (\n <Body\n id={descId}\n className={clsx('wds-critical-banner__content', 'wds-critical-banner__description', {\n 'wds-critical-banner__description--with-title': !!title,\n })}\n >\n {description}\n </Body>\n )}\n </div>\n <ExpanderToggle\n expanded={resolvedExpanded}\n size={24}\n className=\"wds-critical-banner__toggle\"\n onToggle={handleToggle}\n />\n </PrimitivePrompt>\n </LiveRegion>\n );\n};\n\nexport default CriticalBanner;\n"],"names":["CriticalBanner","sentiment","title","description","media","action","actionSecondary","expanded","expandedProp","onToggle","id","className","testId","containerRef","isDesktop","useContainerSize","Breakpoint","MEDIUM","isControlled","undefined","internalExpanded","setInternalExpanded","useState","resolvedExpanded","handleToggle","previousExpanded","hasActions","mediaId","useId","titleId","descId","ariaLabelledByIds","filter","Boolean","join","_jsx","LiveRegion","announceOnChange","buildAnnouncementString","actionLabel","label","actionSecondaryLabel","children","_jsxs","PrimitivePrompt","ref","emphasis","clsx","renderPromptMedia","imgClassName","actions","style","display","Button","v2","size","priority","href","tabIndex","onClick","role","Body","type","Typography","BODY_LARGE_BOLD","ExpanderToggle"],"mappings":"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"}
1
+ {"version":3,"file":"CriticalBanner.mjs","sources":["../../../src/prompt/CriticalBanner/CriticalBanner.tsx"],"sourcesContent":["import { ReactNode, useId, useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport Body from '../../body';\nimport Button from '../../button';\nimport { Breakpoint, LiveRegion, Typography } from '../../common';\nimport { ButtonProps } from '../../button/Button.types';\nimport { PrimitivePrompt, PrimitivePromptProps } from '../PrimitivePrompt';\n\nimport { renderPromptMedia, PromptMedia } from '../helpers/promptMedia';\nimport { ExpanderToggle } from '../common/Expander/Expander';\nimport { buildAnnouncementString } from './helpers';\nimport { useContainerSize } from '../../common/hooks/useContainerSize';\n\nexport type CriticalBannerProps = {\n title?: ReactNode;\n description: ReactNode;\n media?: PromptMedia;\n action?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n actionSecondary?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {\n label: ButtonProps['children'];\n };\n sentiment?: Exclude<PrimitivePromptProps['sentiment'], 'proposition'>;\n /**\n * Controls whether the description and actions are visible, as a controlled component.\n * When collapsed with a title, only the title is shown.\n * When collapsed without a title, the description is trimmed to 2 lines.\n *\n * Note: On desktop (container width >= 768px), the banner is always expanded\n * regardless of this prop value.\n */\n expanded?: boolean;\n /**\n * Called when the user clicks the chevron toggle.\n * If not provided, the component will manage expanded state internally.\n */\n onToggle?: () => void;\n} & Pick<PrimitivePromptProps, 'id' | 'className' | 'data-testid'>;\n\n/**\n * A full-width, non-dismissible banner for critical messages such as account blocks or\n * time-sensitive actions that require immediate user attention.\n\n * @see {@link https://wise.design/components/critical-banner Design Spec}\n */\nexport const CriticalBanner = ({\n sentiment = 'negative',\n title,\n description,\n media = {},\n action,\n actionSecondary,\n expanded: expandedProp,\n onToggle,\n id,\n className,\n 'data-testid': testId,\n}: CriticalBannerProps) => {\n const [containerRef, isDesktop] = useContainerSize(Breakpoint.MEDIUM);\n const isControlled = expandedProp !== undefined && onToggle !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(true);\n const resolvedExpanded = isDesktop ? true : isControlled ? expandedProp : internalExpanded;\n const handleToggle = isControlled\n ? onToggle\n : () => setInternalExpanded((previousExpanded) => !previousExpanded);\n const hasActions = action ?? actionSecondary;\n const mediaId = useId();\n const titleId = useId();\n const descId = useId();\n\n const ariaLabelledByIds = [\n media['aria-hidden'] ? undefined : mediaId,\n !title ? undefined : titleId,\n ]\n .filter(Boolean)\n .join(' ');\n\n const bannerSurface = (\n <PrimitivePrompt\n ref={containerRef}\n id={id}\n sentiment={sentiment}\n emphasis={sentiment === 'neutral' ? 'base' : 'elevated'}\n data-testid={testId}\n className={clsx(\n 'wds-critical-banner',\n {\n 'wds-critical-banner--collapsed': !resolvedExpanded,\n 'wds-critical-banner--with-two-actions': !!actionSecondary,\n },\n className,\n )}\n media={renderPromptMedia({\n media,\n sentiment,\n mediaId,\n imgClassName: 'wds-critical-banner--media-image',\n })}\n actions={\n hasActions ? (\n <div aria-hidden={!resolvedExpanded ? true : undefined} style={{ display: 'contents' }}>\n {actionSecondary && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"secondary\"\n href={actionSecondary.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={actionSecondary?.onClick}\n >\n {actionSecondary.label}\n </Button>\n )}\n {action && (\n // @ts-expect-error onClick type mismatch\n <Button\n v2\n size=\"md\"\n priority=\"primary\"\n href={action.href}\n tabIndex={resolvedExpanded ? undefined : -1}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n )}\n </div>\n ) : undefined\n }\n role=\"region\"\n aria-labelledby={ariaLabelledByIds || undefined}\n aria-describedby={description ? descId : undefined}\n >\n <div className=\"wds-critical-banner__text-wrapper\">\n {title && (\n <Body\n id={titleId}\n type={Typography.BODY_LARGE_BOLD}\n className=\"wds-critical-banner__content wds-critical-banner__title\"\n >\n {title}\n </Body>\n )}\n {description && (\n <Body\n id={descId}\n className={clsx('wds-critical-banner__content', 'wds-critical-banner__description', {\n 'wds-critical-banner__description--with-title': !!title,\n })}\n >\n {description}\n </Body>\n )}\n </div>\n <ExpanderToggle\n expanded={resolvedExpanded}\n size={24}\n className=\"wds-critical-banner__toggle\"\n onToggle={handleToggle}\n />\n </PrimitivePrompt>\n );\n\n return (\n <LiveRegion\n aria-live=\"assertive\"\n announceOnChange={buildAnnouncementString({\n title,\n description,\n expanded: resolvedExpanded,\n actionLabel: action?.label,\n actionSecondaryLabel: actionSecondary?.label,\n })}\n >\n <div className=\"wds-critical-banner-overhang-query\">\n <div className=\"wds-critical-banner__entry-mask\">\n <div className=\"wds-critical-banner__entry-track\">\n <div\n className={clsx(\n 'wds-critical-banner-overhang',\n `wds-critical-banner-overhang--${sentiment}`,\n )}\n >\n {bannerSurface}\n </div>\n </div>\n </div>\n </div>\n </LiveRegion>\n );\n};\n\nexport default CriticalBanner;\n"],"names":["CriticalBanner","sentiment","title","description","media","action","actionSecondary","expanded","expandedProp","onToggle","id","className","testId","containerRef","isDesktop","useContainerSize","Breakpoint","MEDIUM","isControlled","undefined","internalExpanded","setInternalExpanded","useState","resolvedExpanded","handleToggle","previousExpanded","hasActions","mediaId","useId","titleId","descId","ariaLabelledByIds","filter","Boolean","join","bannerSurface","_jsxs","PrimitivePrompt","ref","emphasis","clsx","renderPromptMedia","imgClassName","actions","style","display","children","_jsx","Button","v2","size","priority","href","tabIndex","onClick","label","role","Body","type","Typography","BODY_LARGE_BOLD","ExpanderToggle","LiveRegion","announceOnChange","buildAnnouncementString","actionLabel","actionSecondaryLabel"],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  var React = require('react');
4
4
  require('../../common/theme.js');
5
5
  require('../../common/direction.js');
6
- require('@transferwise/neptune-tokens');
7
6
  require('../../common/propsValues/control.js');
7
+ require('../../common/propsValues/breakpoint.js');
8
8
  require('../../common/propsValues/size.js');
9
9
  var typography = require('../../common/propsValues/typography.js');
10
10
  require('../../common/propsValues/width.js');
@@ -1,8 +1,8 @@
1
1
  import { useState } from 'react';
2
2
  import '../../common/theme.mjs';
3
3
  import '../../common/direction.mjs';
4
- import '@transferwise/neptune-tokens';
5
4
  import '../../common/propsValues/control.mjs';
5
+ import '../../common/propsValues/breakpoint.mjs';
6
6
  import '../../common/propsValues/size.mjs';
7
7
  import { Typography } from '../../common/propsValues/typography.mjs';
8
8
  import '../../common/propsValues/width.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  require('../../common/theme.js');
4
4
  require('../../common/direction.js');
5
- require('@transferwise/neptune-tokens');
6
5
  require('../../common/propsValues/control.js');
6
+ require('../../common/propsValues/breakpoint.js');
7
7
  require('../../common/propsValues/size.js');
8
8
  require('../../common/propsValues/typography.js');
9
9
  require('../../common/propsValues/width.js');
@@ -1,7 +1,7 @@
1
1
  import '../../common/theme.mjs';
2
2
  import '../../common/direction.mjs';
3
- import '@transferwise/neptune-tokens';
4
3
  import '../../common/propsValues/control.mjs';
4
+ import '../../common/propsValues/breakpoint.mjs';
5
5
  import '../../common/propsValues/size.mjs';
6
6
  import '../../common/propsValues/typography.mjs';
7
7
  import '../../common/propsValues/width.mjs';
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var reactIntl = require('react-intl');
6
6
  require('../common/theme.js');
7
7
  require('../common/direction.js');
8
- require('@transferwise/neptune-tokens');
9
8
  require('../common/propsValues/control.js');
9
+ require('../common/propsValues/breakpoint.js');
10
10
  require('../common/propsValues/size.js');
11
11
  require('../common/propsValues/typography.js');
12
12
  require('../common/propsValues/width.js');
@@ -1,8 +1,8 @@
1
1
  import { IntlProvider } from 'react-intl';
2
2
  import '../common/theme.mjs';
3
3
  import '../common/direction.mjs';
4
- import '@transferwise/neptune-tokens';
5
4
  import '../common/propsValues/control.mjs';
5
+ import '../common/propsValues/breakpoint.mjs';
6
6
  import '../common/propsValues/size.mjs';
7
7
  import '../common/propsValues/typography.mjs';
8
8
  import '../common/propsValues/width.mjs';
@@ -6,8 +6,8 @@ var clsx = require('clsx');
6
6
  var Body = require('../body/Body.js');
7
7
  require('../common/theme.js');
8
8
  require('../common/direction.js');
9
- require('@transferwise/neptune-tokens');
10
9
  require('../common/propsValues/control.js');
10
+ require('../common/propsValues/breakpoint.js');
11
11
  require('../common/propsValues/size.js');
12
12
  var typography = require('../common/propsValues/typography.js');
13
13
  require('../common/propsValues/width.js');
@@ -2,8 +2,8 @@ import { clsx } from 'clsx';
2
2
  import Body from '../body/Body.mjs';
3
3
  import '../common/theme.mjs';
4
4
  import '../common/direction.mjs';
5
- import '@transferwise/neptune-tokens';
6
5
  import '../common/propsValues/control.mjs';
6
+ import '../common/propsValues/breakpoint.mjs';
7
7
  import '../common/propsValues/size.mjs';
8
8
  import { Typography } from '../common/propsValues/typography.mjs';
9
9
  import '../common/propsValues/width.mjs';
@@ -7,8 +7,8 @@ var React = require('react');
7
7
  var Body = require('../body/Body.js');
8
8
  require('../common/theme.js');
9
9
  require('../common/direction.js');
10
- require('@transferwise/neptune-tokens');
11
10
  require('../common/propsValues/control.js');
11
+ require('../common/propsValues/breakpoint.js');
12
12
  require('../common/propsValues/size.js');
13
13
  var typography = require('../common/propsValues/typography.js');
14
14
  require('../common/propsValues/width.js');
@@ -3,8 +3,8 @@ import { useState, useRef, createRef, useEffect } from 'react';
3
3
  import Body from '../body/Body.mjs';
4
4
  import '../common/theme.mjs';
5
5
  import '../common/direction.mjs';
6
- import '@transferwise/neptune-tokens';
7
6
  import '../common/propsValues/control.mjs';
7
+ import '../common/propsValues/breakpoint.mjs';
8
8
  import '../common/propsValues/size.mjs';
9
9
  import { Typography } from '../common/propsValues/typography.mjs';
10
10
  import '../common/propsValues/width.mjs';
@@ -10,8 +10,8 @@ var Chevron = require('../chevron/Chevron.js');
10
10
  var documentIosClick = require('../common/domHelpers/documentIosClick.js');
11
11
  require('../common/theme.js');
12
12
  require('../common/direction.js');
13
- require('@transferwise/neptune-tokens');
14
13
  require('../common/propsValues/control.js');
14
+ require('../common/propsValues/breakpoint.js');
15
15
  require('../common/propsValues/size.js');
16
16
  require('../common/propsValues/typography.js');
17
17
  require('../common/propsValues/width.js');
@@ -6,8 +6,8 @@ import Chevron from '../chevron/Chevron.mjs';
6
6
  import { stopPropagation } from '../common/domHelpers/documentIosClick.mjs';
7
7
  import '../common/theme.mjs';
8
8
  import '../common/direction.mjs';
9
- import '@transferwise/neptune-tokens';
10
9
  import '../common/propsValues/control.mjs';
10
+ import '../common/propsValues/breakpoint.mjs';
11
11
  import '../common/propsValues/size.mjs';
12
12
  import '../common/propsValues/typography.mjs';
13
13
  import '../common/propsValues/width.mjs';
@@ -8,8 +8,8 @@ var React = require('react');
8
8
  var Body = require('../../body/Body.js');
9
9
  require('../../common/theme.js');
10
10
  require('../../common/direction.js');
11
- require('@transferwise/neptune-tokens');
12
11
  require('../../common/propsValues/control.js');
12
+ require('../../common/propsValues/breakpoint.js');
13
13
  require('../../common/propsValues/size.js');
14
14
  var typography = require('../../common/propsValues/typography.js');
15
15
  require('../../common/propsValues/width.js');
@@ -4,8 +4,8 @@ import { cloneElement } from 'react';
4
4
  import Body from '../../body/Body.mjs';
5
5
  import '../../common/theme.mjs';
6
6
  import '../../common/direction.mjs';
7
- import '@transferwise/neptune-tokens';
8
7
  import '../../common/propsValues/control.mjs';
8
+ import '../../common/propsValues/breakpoint.mjs';
9
9
  import '../../common/propsValues/size.mjs';
10
10
  import { Typography } from '../../common/propsValues/typography.mjs';
11
11
  import '../../common/propsValues/width.mjs';