@transferwise/components 0.0.0-experimental-301f7d4 → 0.0.0-experimental-5397040

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 (664) hide show
  1. package/build/accordion/Accordion.js.map +1 -1
  2. package/build/accordion/Accordion.mjs.map +1 -1
  3. package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
  4. package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  5. package/build/actionButton/ActionButton.js.map +1 -1
  6. package/build/actionButton/ActionButton.mjs.map +1 -1
  7. package/build/actionOption/ActionOption.js.map +1 -1
  8. package/build/actionOption/ActionOption.mjs.map +1 -1
  9. package/build/alert/Alert.js.map +1 -1
  10. package/build/alert/Alert.mjs.map +1 -1
  11. package/build/alert/inlineMarkdown/InlineMarkdown.js.map +1 -1
  12. package/build/alert/inlineMarkdown/InlineMarkdown.mjs.map +1 -1
  13. package/build/avatar/Avatar.js.map +1 -1
  14. package/build/avatar/Avatar.mjs.map +1 -1
  15. package/build/avatar/avatarTypes.js.map +1 -1
  16. package/build/avatar/avatarTypes.mjs.map +1 -1
  17. package/build/avatarLayout/AvatarLayout.js.map +1 -1
  18. package/build/avatarLayout/AvatarLayout.mjs.map +1 -1
  19. package/build/avatarView/AvatarView.js.map +1 -1
  20. package/build/avatarView/AvatarView.mjs.map +1 -1
  21. package/build/avatarView/NotificationDot.js.map +1 -1
  22. package/build/avatarView/NotificationDot.mjs.map +1 -1
  23. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  24. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  25. package/build/badge/Badge.js.map +1 -1
  26. package/build/badge/Badge.mjs.map +1 -1
  27. package/build/badge/BadgeAssets.js.map +1 -1
  28. package/build/badge/BadgeAssets.mjs.map +1 -1
  29. package/build/body/Body.js.map +1 -1
  30. package/build/body/Body.mjs.map +1 -1
  31. package/build/button/Button.js.map +1 -1
  32. package/build/button/Button.mjs.map +1 -1
  33. package/build/button/Button.resolver.js.map +1 -1
  34. package/build/button/Button.resolver.mjs.map +1 -1
  35. package/build/button/LegacyButton.js.map +1 -1
  36. package/build/button/LegacyButton.mjs +1 -1
  37. package/build/button/LegacyButton.mjs.map +1 -1
  38. package/build/button/classMap.js.map +1 -1
  39. package/build/button/classMap.mjs.map +1 -1
  40. package/build/button/legacyUtils/legacyUtils.js.map +1 -1
  41. package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
  42. package/build/card/Card.js.map +1 -1
  43. package/build/card/Card.mjs.map +1 -1
  44. package/build/carousel/Carousel.js.map +1 -1
  45. package/build/carousel/Carousel.mjs.map +1 -1
  46. package/build/checkbox/Checkbox.js.map +1 -1
  47. package/build/checkbox/Checkbox.mjs.map +1 -1
  48. package/build/checkboxButton/CheckboxButton.js.map +1 -1
  49. package/build/checkboxButton/CheckboxButton.mjs.map +1 -1
  50. package/build/checkboxOption/CheckboxOption.js.map +1 -1
  51. package/build/checkboxOption/CheckboxOption.mjs.map +1 -1
  52. package/build/chevron/Chevron.js.map +1 -1
  53. package/build/chevron/Chevron.mjs.map +1 -1
  54. package/build/chips/Chip.js.map +1 -1
  55. package/build/chips/Chip.mjs.map +1 -1
  56. package/build/chips/Chips.js.map +1 -1
  57. package/build/chips/Chips.messages.js.map +1 -1
  58. package/build/chips/Chips.messages.mjs.map +1 -1
  59. package/build/chips/Chips.mjs.map +1 -1
  60. package/build/circularButton/CircularButton.js.map +1 -1
  61. package/build/circularButton/CircularButton.mjs.map +1 -1
  62. package/build/common/DOMOperations/DOMOperations.js.map +1 -1
  63. package/build/common/DOMOperations/DOMOperations.mjs.map +1 -1
  64. package/build/common/Option/Option.js.map +1 -1
  65. package/build/common/Option/Option.mjs.map +1 -1
  66. package/build/common/RadioButton/RadioButton.js.map +1 -1
  67. package/build/common/RadioButton/RadioButton.mjs.map +1 -1
  68. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  69. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  70. package/build/common/card/Card.js.map +1 -1
  71. package/build/common/card/Card.mjs.map +1 -1
  72. package/build/common/circle/Circle.js.map +1 -1
  73. package/build/common/circle/Circle.mjs.map +1 -1
  74. package/build/common/closeButton/CloseButton.js.map +1 -1
  75. package/build/common/closeButton/CloseButton.messages.js.map +1 -1
  76. package/build/common/closeButton/CloseButton.messages.mjs.map +1 -1
  77. package/build/common/closeButton/CloseButton.mjs.map +1 -1
  78. package/build/common/colors.js.map +1 -1
  79. package/build/common/colors.mjs.map +1 -1
  80. package/build/common/dateUtils/getDateView/getDateView.js.map +1 -1
  81. package/build/common/dateUtils/getDateView/getDateView.mjs.map +1 -1
  82. package/build/common/dateUtils/getDayNames/getDayNames.js.map +1 -1
  83. package/build/common/dateUtils/getDayNames/getDayNames.mjs.map +1 -1
  84. package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.js.map +1 -1
  85. package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.mjs.map +1 -1
  86. package/build/common/dateUtils/getMonthNames/getMonthNames.js.map +1 -1
  87. package/build/common/dateUtils/getMonthNames/getMonthNames.mjs.map +1 -1
  88. package/build/common/dateUtils/isDateValid/isDateValid.js.map +1 -1
  89. package/build/common/dateUtils/isDateValid/isDateValid.mjs.map +1 -1
  90. package/build/common/dateUtils/isWithinRange/isWithinRange.js.map +1 -1
  91. package/build/common/dateUtils/isWithinRange/isWithinRange.mjs.map +1 -1
  92. package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.js.map +1 -1
  93. package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.mjs.map +1 -1
  94. package/build/common/deviceDetection/deviceDetection.js.map +1 -1
  95. package/build/common/deviceDetection/deviceDetection.mjs.map +1 -1
  96. package/build/common/direction.js.map +1 -1
  97. package/build/common/direction.mjs.map +1 -1
  98. package/build/common/domHelpers/documentIosClick.js.map +1 -1
  99. package/build/common/domHelpers/documentIosClick.mjs.map +1 -1
  100. package/build/common/fileType.js.map +1 -1
  101. package/build/common/fileType.mjs.map +1 -1
  102. package/build/common/flowHeader/FlowHeader.js.map +1 -1
  103. package/build/common/flowHeader/FlowHeader.mjs.map +1 -1
  104. package/build/common/focusBoundary/FocusBoundary.js.map +1 -1
  105. package/build/common/focusBoundary/FocusBoundary.mjs.map +1 -1
  106. package/build/common/historyNavigator/historyNavigator.js.map +1 -1
  107. package/build/common/historyNavigator/historyNavigator.mjs.map +1 -1
  108. package/build/common/hooks/useConditionalListener/useConditionalListener.js.map +1 -1
  109. package/build/common/hooks/useConditionalListener/useConditionalListener.mjs.map +1 -1
  110. package/build/common/hooks/useDirection/useDirection.js.map +1 -1
  111. package/build/common/hooks/useDirection/useDirection.mjs.map +1 -1
  112. package/build/common/hooks/useEffectEvent.js.map +1 -1
  113. package/build/common/hooks/useEffectEvent.mjs.map +1 -1
  114. package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
  115. package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
  116. package/build/common/hooks/useLayout/useLayout.js.map +1 -1
  117. package/build/common/hooks/useLayout/useLayout.mjs.map +1 -1
  118. package/build/common/hooks/useMedia.js.map +1 -1
  119. package/build/common/hooks/useMedia.mjs.map +1 -1
  120. package/build/common/hooks/useResizeObserver.js.map +1 -1
  121. package/build/common/hooks/useResizeObserver.mjs.map +1 -1
  122. package/build/common/hooks/useScreenSize.js.map +1 -1
  123. package/build/common/hooks/useScreenSize.mjs.map +1 -1
  124. package/build/common/hooks/useVirtualKeyboard.js.map +1 -1
  125. package/build/common/hooks/useVirtualKeyboard.mjs.map +1 -1
  126. package/build/common/initials.js.map +1 -1
  127. package/build/common/initials.mjs.map +1 -1
  128. package/build/common/locale/index.js.map +1 -1
  129. package/build/common/locale/index.mjs.map +1 -1
  130. package/build/common/panel/Panel.js.map +1 -1
  131. package/build/common/panel/Panel.mjs.map +1 -1
  132. package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.js.map +1 -1
  133. package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.mjs.map +1 -1
  134. package/build/common/preventScroll/PreventScroll.js.map +1 -1
  135. package/build/common/preventScroll/PreventScroll.mjs.map +1 -1
  136. package/build/common/propsValues/breakpoint.js.map +1 -1
  137. package/build/common/propsValues/breakpoint.mjs.map +1 -1
  138. package/build/common/propsValues/control.js.map +1 -1
  139. package/build/common/propsValues/control.mjs.map +1 -1
  140. package/build/common/propsValues/dateMode.js.map +1 -1
  141. package/build/common/propsValues/dateMode.mjs.map +1 -1
  142. package/build/common/propsValues/layouts.js.map +1 -1
  143. package/build/common/propsValues/layouts.mjs.map +1 -1
  144. package/build/common/propsValues/markdownNodeType.js.map +1 -1
  145. package/build/common/propsValues/markdownNodeType.mjs.map +1 -1
  146. package/build/common/propsValues/monthFormat.js.map +1 -1
  147. package/build/common/propsValues/monthFormat.mjs.map +1 -1
  148. package/build/common/propsValues/position.js.map +1 -1
  149. package/build/common/propsValues/position.mjs.map +1 -1
  150. package/build/common/propsValues/profileType.js.map +1 -1
  151. package/build/common/propsValues/profileType.mjs.map +1 -1
  152. package/build/common/propsValues/scroll.js.map +1 -1
  153. package/build/common/propsValues/scroll.mjs.map +1 -1
  154. package/build/common/propsValues/sentiment.js.map +1 -1
  155. package/build/common/propsValues/sentiment.mjs.map +1 -1
  156. package/build/common/propsValues/size.js.map +1 -1
  157. package/build/common/propsValues/size.mjs.map +1 -1
  158. package/build/common/propsValues/status.js.map +1 -1
  159. package/build/common/propsValues/status.mjs.map +1 -1
  160. package/build/common/propsValues/type.js.map +1 -1
  161. package/build/common/propsValues/type.mjs.map +1 -1
  162. package/build/common/propsValues/typography.js.map +1 -1
  163. package/build/common/propsValues/typography.mjs.map +1 -1
  164. package/build/common/propsValues/variant.js.map +1 -1
  165. package/build/common/propsValues/variant.mjs.map +1 -1
  166. package/build/common/propsValues/width.js.map +1 -1
  167. package/build/common/propsValues/width.mjs.map +1 -1
  168. package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
  169. package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
  170. package/build/common/textFormat/formatWithPattern/formatWithPattern.js.map +1 -1
  171. package/build/common/textFormat/formatWithPattern/formatWithPattern.mjs.map +1 -1
  172. package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.js.map +1 -1
  173. package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.mjs.map +1 -1
  174. package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.js.map +1 -1
  175. package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.mjs.map +1 -1
  176. package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.js.map +1 -1
  177. package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.mjs.map +1 -1
  178. package/build/common/textFormat/unformatWithPattern/unformatWithPattern.js.map +1 -1
  179. package/build/common/textFormat/unformatWithPattern/unformatWithPattern.mjs.map +1 -1
  180. package/build/common/theme.js.map +1 -1
  181. package/build/common/theme.mjs.map +1 -1
  182. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  183. package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
  184. package/build/dateInput/DateInput.js.map +1 -1
  185. package/build/dateInput/DateInput.messages.js.map +1 -1
  186. package/build/dateInput/DateInput.messages.mjs.map +1 -1
  187. package/build/dateInput/DateInput.mjs.map +1 -1
  188. package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.js.map +1 -1
  189. package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.mjs.map +1 -1
  190. package/build/dateLookup/DateLookup.js +4 -4
  191. package/build/dateLookup/DateLookup.js.map +1 -1
  192. package/build/dateLookup/DateLookup.messages.js.map +1 -1
  193. package/build/dateLookup/DateLookup.messages.mjs.map +1 -1
  194. package/build/dateLookup/DateLookup.mjs +4 -4
  195. package/build/dateLookup/DateLookup.mjs.map +1 -1
  196. package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
  197. package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
  198. package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
  199. package/build/dateLookup/dateTrigger/DateTrigger.messages.js.map +1 -1
  200. package/build/dateLookup/dateTrigger/DateTrigger.messages.mjs.map +1 -1
  201. package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
  202. package/build/dateLookup/dayCalendar/DayCalendar.js.map +1 -1
  203. package/build/dateLookup/dayCalendar/DayCalendar.mjs.map +1 -1
  204. package/build/dateLookup/dayCalendar/table/DayCalendarTable.js +3 -3
  205. package/build/dateLookup/dayCalendar/table/DayCalendarTable.js.map +1 -1
  206. package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs +3 -3
  207. package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs.map +1 -1
  208. package/build/dateLookup/getFocusableTime/getFocusableTime.js.map +1 -1
  209. package/build/dateLookup/getFocusableTime/getFocusableTime.mjs.map +1 -1
  210. package/build/dateLookup/getStartOfDay/getStartOfDay.js.map +1 -1
  211. package/build/dateLookup/getStartOfDay/getStartOfDay.mjs.map +1 -1
  212. package/build/dateLookup/monthCalendar/MonthCalendar.js.map +1 -1
  213. package/build/dateLookup/monthCalendar/MonthCalendar.mjs.map +1 -1
  214. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.js.map +1 -1
  215. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.mjs.map +1 -1
  216. package/build/dateLookup/tableLink/TableLink.js.map +1 -1
  217. package/build/dateLookup/tableLink/TableLink.mjs.map +1 -1
  218. package/build/dateLookup/yearCalendar/YearCalendar.js.map +1 -1
  219. package/build/dateLookup/yearCalendar/YearCalendar.mjs.map +1 -1
  220. package/build/dateLookup/yearCalendar/table/YearCalendarTable.js.map +1 -1
  221. package/build/dateLookup/yearCalendar/table/YearCalendarTable.mjs.map +1 -1
  222. package/build/decision/Decision.js.map +1 -1
  223. package/build/decision/Decision.mjs.map +1 -1
  224. package/build/definitionList/DefinitionList.js.map +1 -1
  225. package/build/definitionList/DefinitionList.mjs.map +1 -1
  226. package/build/dimmer/Dimmer.js.map +1 -1
  227. package/build/dimmer/Dimmer.mjs.map +1 -1
  228. package/build/dimmer/dimmerManager/DimmerManager.js.map +1 -1
  229. package/build/dimmer/dimmerManager/DimmerManager.mjs.map +1 -1
  230. package/build/display/Display.js.map +1 -1
  231. package/build/display/Display.mjs.map +1 -1
  232. package/build/divider/Divider.js.map +1 -1
  233. package/build/divider/Divider.mjs.map +1 -1
  234. package/build/drawer/Drawer.js.map +1 -1
  235. package/build/drawer/Drawer.mjs.map +1 -1
  236. package/build/dropFade/DropFade.js.map +1 -1
  237. package/build/dropFade/DropFade.mjs.map +1 -1
  238. package/build/emphasis/Emphasis.js.map +1 -1
  239. package/build/emphasis/Emphasis.mjs.map +1 -1
  240. package/build/emphasis/EmphasisHtmlTransformer.js.map +1 -1
  241. package/build/emphasis/EmphasisHtmlTransformer.mjs.map +1 -1
  242. package/build/field/Field.js.map +1 -1
  243. package/build/field/Field.mjs.map +1 -1
  244. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  245. package/build/flowNavigation/FlowNavigation.messages.js.map +1 -1
  246. package/build/flowNavigation/FlowNavigation.messages.mjs.map +1 -1
  247. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  248. package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -1
  249. package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -1
  250. package/build/header/Header.js.map +1 -1
  251. package/build/header/Header.mjs.map +1 -1
  252. package/build/i18n/commonMessages/Button.messages.js.map +1 -1
  253. package/build/i18n/commonMessages/Button.messages.mjs.map +1 -1
  254. package/build/i18n/index.js.map +1 -1
  255. package/build/i18n/index.mjs.map +1 -1
  256. package/build/iconButton/IconButton.js.map +1 -1
  257. package/build/iconButton/IconButton.mjs.map +1 -1
  258. package/build/image/Image.js.map +1 -1
  259. package/build/image/Image.mjs.map +1 -1
  260. package/build/info/Info.js.map +1 -1
  261. package/build/info/Info.messages.js.map +1 -1
  262. package/build/info/Info.messages.mjs.map +1 -1
  263. package/build/info/Info.mjs.map +1 -1
  264. package/build/info/infoPresentations.js.map +1 -1
  265. package/build/info/infoPresentations.mjs.map +1 -1
  266. package/build/inlineAlert/InlineAlert.js.map +1 -1
  267. package/build/inlineAlert/InlineAlert.mjs.map +1 -1
  268. package/build/inputWithDisplayFormat/InputWithDisplayFormat.js.map +1 -1
  269. package/build/inputWithDisplayFormat/InputWithDisplayFormat.mjs.map +1 -1
  270. package/build/inputs/Input.js.map +1 -1
  271. package/build/inputs/Input.mjs.map +1 -1
  272. package/build/inputs/InputGroup.js +20 -16
  273. package/build/inputs/InputGroup.js.map +1 -1
  274. package/build/inputs/InputGroup.mjs +21 -17
  275. package/build/inputs/InputGroup.mjs.map +1 -1
  276. package/build/inputs/SearchInput.js.map +1 -1
  277. package/build/inputs/SearchInput.mjs.map +1 -1
  278. package/build/inputs/SelectInput.js +1 -6
  279. package/build/inputs/SelectInput.js.map +1 -1
  280. package/build/inputs/SelectInput.messages.js.map +1 -1
  281. package/build/inputs/SelectInput.messages.mjs.map +1 -1
  282. package/build/inputs/SelectInput.mjs +1 -6
  283. package/build/inputs/SelectInput.mjs.map +1 -1
  284. package/build/inputs/TextArea.js.map +1 -1
  285. package/build/inputs/TextArea.mjs.map +1 -1
  286. package/build/inputs/_BottomSheet.js.map +1 -1
  287. package/build/inputs/_BottomSheet.mjs.map +1 -1
  288. package/build/inputs/_ButtonInput.js.map +1 -1
  289. package/build/inputs/_ButtonInput.mjs.map +1 -1
  290. package/build/inputs/_Popover.js.map +1 -1
  291. package/build/inputs/_Popover.mjs +1 -1
  292. package/build/inputs/_Popover.mjs.map +1 -1
  293. package/build/inputs/_common.js.map +1 -1
  294. package/build/inputs/_common.mjs.map +1 -1
  295. package/build/inputs/contexts.js.map +1 -1
  296. package/build/inputs/contexts.mjs.map +1 -1
  297. package/build/instructionsList/InstructionsList.js.map +1 -1
  298. package/build/instructionsList/InstructionsList.mjs.map +1 -1
  299. package/build/label/Label.js.map +1 -1
  300. package/build/label/Label.messages.js.map +1 -1
  301. package/build/label/Label.messages.mjs.map +1 -1
  302. package/build/label/Label.mjs.map +1 -1
  303. package/build/legacylistItem/LegacyListItem.js.map +1 -1
  304. package/build/legacylistItem/LegacyListItem.mjs.map +1 -1
  305. package/build/legacylistItem/List.js.map +1 -1
  306. package/build/legacylistItem/List.mjs.map +1 -1
  307. package/build/link/Link.js.map +1 -1
  308. package/build/link/Link.messages.js.map +1 -1
  309. package/build/link/Link.messages.mjs.map +1 -1
  310. package/build/link/Link.mjs.map +1 -1
  311. package/build/loader/Loader.js.map +1 -1
  312. package/build/loader/Loader.mjs.map +1 -1
  313. package/build/logo/Logo.js.map +1 -1
  314. package/build/logo/Logo.mjs +1 -1
  315. package/build/logo/Logo.mjs.map +1 -1
  316. package/build/logo/logo-assets.js.map +1 -1
  317. package/build/logo/logo-assets.mjs.map +1 -1
  318. package/build/markdown/Markdown.js +4 -20
  319. package/build/markdown/Markdown.js.map +1 -1
  320. package/build/markdown/Markdown.mjs +1 -1
  321. package/build/markdown/Markdown.mjs.map +1 -1
  322. package/build/mocks.js.map +1 -1
  323. package/build/mocks.mjs.map +1 -1
  324. package/build/modal/Modal.js.map +1 -1
  325. package/build/modal/Modal.mjs.map +1 -1
  326. package/build/money/Money.js.map +1 -1
  327. package/build/money/Money.mjs.map +1 -1
  328. package/build/moneyInput/MoneyInput.js +2 -2
  329. package/build/moneyInput/MoneyInput.js.map +1 -1
  330. package/build/moneyInput/MoneyInput.messages.js.map +1 -1
  331. package/build/moneyInput/MoneyInput.messages.mjs.map +1 -1
  332. package/build/moneyInput/MoneyInput.mjs +2 -2
  333. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  334. package/build/moneyInput/currencyFormatting.js.map +1 -1
  335. package/build/moneyInput/currencyFormatting.mjs.map +1 -1
  336. package/build/navigationOption/NavigationOption.js.map +1 -1
  337. package/build/navigationOption/NavigationOption.mjs.map +1 -1
  338. package/build/navigationOptionsList/NavigationOptionsList.js.map +1 -1
  339. package/build/navigationOptionsList/NavigationOptionsList.mjs.map +1 -1
  340. package/build/nudge/Nudge.js.map +1 -1
  341. package/build/nudge/Nudge.mjs.map +1 -1
  342. package/build/overlayHeader/OverlayHeader.js.map +1 -1
  343. package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
  344. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  345. package/build/phoneNumberInput/PhoneNumberInput.messages.js.map +1 -1
  346. package/build/phoneNumberInput/PhoneNumberInput.messages.mjs.map +1 -1
  347. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  348. package/build/phoneNumberInput/data/countries.js.map +1 -1
  349. package/build/phoneNumberInput/data/countries.mjs.map +1 -1
  350. package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.js.map +1 -1
  351. package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.mjs.map +1 -1
  352. package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.js.map +1 -1
  353. package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.mjs.map +1 -1
  354. package/build/phoneNumberInput/utils/explodeNumberModel/index.js.map +1 -1
  355. package/build/phoneNumberInput/utils/explodeNumberModel/index.mjs.map +1 -1
  356. package/build/phoneNumberInput/utils/findCountryByCode/index.js.map +1 -1
  357. package/build/phoneNumberInput/utils/findCountryByCode/index.mjs.map +1 -1
  358. package/build/phoneNumberInput/utils/findCountryByPrefix/index.js.map +1 -1
  359. package/build/phoneNumberInput/utils/findCountryByPrefix/index.mjs.map +1 -1
  360. package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js.map +1 -1
  361. package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs.map +1 -1
  362. package/build/phoneNumberInput/utils/setDefaultPrefix/index.js.map +1 -1
  363. package/build/phoneNumberInput/utils/setDefaultPrefix/index.mjs.map +1 -1
  364. package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.js.map +1 -1
  365. package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.mjs.map +1 -1
  366. package/build/popover/Popover.js.map +1 -1
  367. package/build/popover/Popover.mjs +1 -1
  368. package/build/popover/Popover.mjs.map +1 -1
  369. package/build/primitives/PrimitiveAnchor/PrimitiveAnchor.js.map +1 -1
  370. package/build/primitives/PrimitiveAnchor/PrimitiveAnchor.mjs.map +1 -1
  371. package/build/primitives/PrimitiveButton/PrimitiveButton.js.map +1 -1
  372. package/build/primitives/PrimitiveButton/PrimitiveButton.mjs.map +1 -1
  373. package/build/processIndicator/ProcessIndicator.js.map +1 -1
  374. package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
  375. package/build/progress/Progress.js.map +1 -1
  376. package/build/progress/Progress.mjs.map +1 -1
  377. package/build/progressBar/ProgressBar.js.map +1 -1
  378. package/build/progressBar/ProgressBar.mjs.map +1 -1
  379. package/build/promoCard/PromoCard.js.map +1 -1
  380. package/build/promoCard/PromoCard.mjs.map +1 -1
  381. package/build/promoCard/PromoCardContext.js.map +1 -1
  382. package/build/promoCard/PromoCardContext.mjs.map +1 -1
  383. package/build/promoCard/PromoCardGroup.js +1 -1
  384. package/build/promoCard/PromoCardGroup.js.map +1 -1
  385. package/build/promoCard/PromoCardGroup.mjs +1 -1
  386. package/build/promoCard/PromoCardGroup.mjs.map +1 -1
  387. package/build/promoCard/PromoCardIndicator.js.map +1 -1
  388. package/build/promoCard/PromoCardIndicator.mjs +1 -1
  389. package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
  390. package/build/provider/Provider.js.map +1 -1
  391. package/build/provider/Provider.mjs.map +1 -1
  392. package/build/provider/direction/DirectionProvider.js.map +1 -1
  393. package/build/provider/direction/DirectionProvider.mjs.map +1 -1
  394. package/build/provider/language/LanguageProvider.js.map +1 -1
  395. package/build/provider/language/LanguageProvider.mjs.map +1 -1
  396. package/build/provider/overlay/OverlayIdProvider.js.map +1 -1
  397. package/build/provider/overlay/OverlayIdProvider.mjs +1 -1
  398. package/build/provider/overlay/OverlayIdProvider.mjs.map +1 -1
  399. package/build/radio/Radio.js.map +1 -1
  400. package/build/radio/Radio.mjs.map +1 -1
  401. package/build/radioGroup/RadioGroup.js.map +1 -1
  402. package/build/radioGroup/RadioGroup.mjs.map +1 -1
  403. package/build/radioOption/RadioOption.js.map +1 -1
  404. package/build/radioOption/RadioOption.mjs.map +1 -1
  405. package/build/section/Section.js.map +1 -1
  406. package/build/section/Section.mjs.map +1 -1
  407. package/build/segmentedControl/SegmentedControl.js.map +1 -1
  408. package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
  409. package/build/select/Select.js +22 -14
  410. package/build/select/Select.js.map +1 -1
  411. package/build/select/Select.messages.js.map +1 -1
  412. package/build/select/Select.messages.mjs.map +1 -1
  413. package/build/select/Select.mjs +22 -14
  414. package/build/select/Select.mjs.map +1 -1
  415. package/build/select/option/Option.js.map +1 -1
  416. package/build/select/option/Option.mjs.map +1 -1
  417. package/build/select/searchBox/SearchBox.js.map +1 -1
  418. package/build/select/searchBox/SearchBox.mjs.map +1 -1
  419. package/build/selectOption/SelectOption.js.map +1 -1
  420. package/build/selectOption/SelectOption.messages.js.map +1 -1
  421. package/build/selectOption/SelectOption.messages.mjs.map +1 -1
  422. package/build/selectOption/SelectOption.mjs +1 -1
  423. package/build/selectOption/SelectOption.mjs.map +1 -1
  424. package/build/slidingPanel/SlidingPanel.js.map +1 -1
  425. package/build/slidingPanel/SlidingPanel.mjs.map +1 -1
  426. package/build/snackbar/Snackbar.js +1 -1
  427. package/build/snackbar/Snackbar.js.map +1 -1
  428. package/build/snackbar/Snackbar.mjs +1 -1
  429. package/build/snackbar/Snackbar.mjs.map +1 -1
  430. package/build/snackbar/SnackbarContext.js.map +1 -1
  431. package/build/snackbar/SnackbarContext.mjs.map +1 -1
  432. package/build/snackbar/SnackbarProvider.js.map +1 -1
  433. package/build/snackbar/SnackbarProvider.mjs.map +1 -1
  434. package/build/snackbar/useSnackbar.js.map +1 -1
  435. package/build/snackbar/useSnackbar.mjs.map +1 -1
  436. package/build/statusIcon/StatusIcon.js.map +1 -1
  437. package/build/statusIcon/StatusIcon.messages.js.map +1 -1
  438. package/build/statusIcon/StatusIcon.messages.mjs.map +1 -1
  439. package/build/statusIcon/StatusIcon.mjs +1 -1
  440. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  441. package/build/stepper/Stepper.js.map +1 -1
  442. package/build/stepper/Stepper.mjs.map +1 -1
  443. package/build/stepper/deviceDetection.js.map +1 -1
  444. package/build/stepper/deviceDetection.mjs.map +1 -1
  445. package/build/sticky/Sticky.js.map +1 -1
  446. package/build/sticky/Sticky.mjs.map +1 -1
  447. package/build/summary/Summary.js.map +1 -1
  448. package/build/summary/Summary.messages.js.map +1 -1
  449. package/build/summary/Summary.messages.mjs.map +1 -1
  450. package/build/summary/Summary.mjs +1 -1
  451. package/build/summary/Summary.mjs.map +1 -1
  452. package/build/switch/Switch.js.map +1 -1
  453. package/build/switch/Switch.mjs.map +1 -1
  454. package/build/switchOption/SwitchOption.js.map +1 -1
  455. package/build/switchOption/SwitchOption.mjs.map +1 -1
  456. package/build/table/Table.js.map +1 -1
  457. package/build/table/Table.messages.js.map +1 -1
  458. package/build/table/Table.messages.mjs.map +1 -1
  459. package/build/table/Table.mjs.map +1 -1
  460. package/build/table/TableCell.js.map +1 -1
  461. package/build/table/TableCell.mjs.map +1 -1
  462. package/build/table/TableHeader.js.map +1 -1
  463. package/build/table/TableHeader.mjs.map +1 -1
  464. package/build/table/TableRow.js.map +1 -1
  465. package/build/table/TableRow.mjs.map +1 -1
  466. package/build/table/TableStatusText.js.map +1 -1
  467. package/build/table/TableStatusText.mjs.map +1 -1
  468. package/build/tabs/Tab.js.map +1 -1
  469. package/build/tabs/Tab.mjs.map +1 -1
  470. package/build/tabs/TabList.js.map +1 -1
  471. package/build/tabs/TabList.mjs.map +1 -1
  472. package/build/tabs/TabPanel.js.map +1 -1
  473. package/build/tabs/TabPanel.mjs.map +1 -1
  474. package/build/tabs/Tabs.js +3 -3
  475. package/build/tabs/Tabs.js.map +1 -1
  476. package/build/tabs/Tabs.mjs +4 -4
  477. package/build/tabs/Tabs.mjs.map +1 -1
  478. package/build/tabs/utils.js +1 -1
  479. package/build/tabs/utils.js.map +1 -1
  480. package/build/tabs/utils.mjs +1 -1
  481. package/build/tabs/utils.mjs.map +1 -1
  482. package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.js.map +1 -1
  483. package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.mjs.map +1 -1
  484. package/build/tile/Tile.js.map +1 -1
  485. package/build/tile/Tile.mjs.map +1 -1
  486. package/build/title/Title.js.map +1 -1
  487. package/build/title/Title.mjs.map +1 -1
  488. package/build/tooltip/Tooltip.js.map +1 -1
  489. package/build/tooltip/Tooltip.mjs.map +1 -1
  490. package/build/typeahead/Typeahead.js +61 -57
  491. package/build/typeahead/Typeahead.js.map +1 -1
  492. package/build/typeahead/Typeahead.messages.js.map +1 -1
  493. package/build/typeahead/Typeahead.messages.mjs.map +1 -1
  494. package/build/typeahead/Typeahead.mjs +61 -57
  495. package/build/typeahead/Typeahead.mjs.map +1 -1
  496. package/build/typeahead/typeaheadInput/TypeaheadInput.js +2 -2
  497. package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -1
  498. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs +2 -2
  499. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -1
  500. package/build/typeahead/typeaheadOption/TypeaheadOption.js.map +1 -1
  501. package/build/typeahead/typeaheadOption/TypeaheadOption.mjs.map +1 -1
  502. package/build/typeahead/util/highlight.js.map +1 -1
  503. package/build/typeahead/util/highlight.mjs.map +1 -1
  504. package/build/types/actionOption/ActionOption.d.ts.map +1 -1
  505. package/build/types/avatarWrapper/AvatarWrapper.d.ts.map +1 -1
  506. package/build/types/badge/Badge.d.ts.map +1 -1
  507. package/build/types/chevron/Chevron.d.ts.map +1 -1
  508. package/build/types/chips/Chip.d.ts.map +1 -1
  509. package/build/types/chips/Chips.d.ts.map +1 -1
  510. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  511. package/build/types/common/bottomSheet/BottomSheet.d.ts.map +1 -1
  512. package/build/types/common/colors.d.ts.map +1 -1
  513. package/build/types/common/dateUtils/getDateView/getDateView.d.ts.map +1 -1
  514. package/build/types/common/dateUtils/getMonthNames/getMonthNames.d.ts.map +1 -1
  515. package/build/types/common/dateUtils/isDateValid/isDateValid.d.ts.map +1 -1
  516. package/build/types/common/dateUtils/isMonthAndYearFormat/isMonthAndYearFormat.d.ts.map +1 -1
  517. package/build/types/common/fakeEvents.d.ts.map +1 -1
  518. package/build/types/common/focusBoundary/FocusBoundary.d.ts.map +1 -1
  519. package/build/types/common/historyNavigator/historyNavigator.d.ts.map +1 -1
  520. package/build/types/common/hooks/useConditionalListener/useConditionalListener.d.ts.map +1 -1
  521. package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts.map +1 -1
  522. package/build/types/common/textFormat/formatWithPattern/formatWithPattern.d.ts.map +1 -1
  523. package/build/types/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.d.ts.map +1 -1
  524. package/build/types/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.d.ts.map +1 -1
  525. package/build/types/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.d.ts.map +1 -1
  526. package/build/types/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.d.ts.map +1 -1
  527. package/build/types/common/textFormat/unformatWithPattern/unformatWithPattern.d.ts.map +1 -1
  528. package/build/types/common/theme.d.ts.map +1 -1
  529. package/build/types/dateInput/DateInput.d.ts.map +1 -1
  530. package/build/types/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.d.ts.map +1 -1
  531. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  532. package/build/types/dateLookup/monthCalendar/table/MonthCalendarTable.d.ts.map +1 -1
  533. package/build/types/dateLookup/tableLink/TableLink.d.ts.map +1 -1
  534. package/build/types/dateLookup/yearCalendar/table/YearCalendarTable.d.ts.map +1 -1
  535. package/build/types/decision/Decision.d.ts.map +1 -1
  536. package/build/types/dimmer/Dimmer.d.ts.map +1 -1
  537. package/build/types/dropFade/DropFade.d.ts.map +1 -1
  538. package/build/types/emphasis/Emphasis.d.ts.map +1 -1
  539. package/build/types/field/Field.d.ts.map +1 -1
  540. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  541. package/build/types/flowNavigation/animatedLabel/AnimatedLabel.d.ts.map +1 -1
  542. package/build/types/header/Header.d.ts.map +1 -1
  543. package/build/types/image/Image.d.ts.map +1 -1
  544. package/build/types/info/Info.d.ts.map +1 -1
  545. package/build/types/inputWithDisplayFormat/InputWithDisplayFormat.d.ts.map +1 -1
  546. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  547. package/build/types/instructionsList/InstructionsList.d.ts.map +1 -1
  548. package/build/types/link/Link.d.ts.map +1 -1
  549. package/build/types/loader/Loader.d.ts.map +1 -1
  550. package/build/types/markdown/Markdown.d.ts.map +1 -1
  551. package/build/types/modal/Modal.d.ts.map +1 -1
  552. package/build/types/money/Money.d.ts.map +1 -1
  553. package/build/types/navigationOptionsList/NavigationOptionsList.d.ts.map +1 -1
  554. package/build/types/nudge/Nudge.d.ts.map +1 -1
  555. package/build/types/phoneNumberInput/PhoneNumberInput.d.ts.map +1 -1
  556. package/build/types/phoneNumberInput/utils/cleanNumber/cleanNumber.d.ts.map +1 -1
  557. package/build/types/phoneNumberInput/utils/excludeCountries/excludeCountries.d.ts.map +1 -1
  558. package/build/types/phoneNumberInput/utils/explodeNumberModel/index.d.ts.map +1 -1
  559. package/build/types/phoneNumberInput/utils/findCountryByCode/index.d.ts.map +1 -1
  560. package/build/types/phoneNumberInput/utils/findCountryByPrefix/index.d.ts.map +1 -1
  561. package/build/types/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.d.ts.map +1 -1
  562. package/build/types/phoneNumberInput/utils/isStringNumeric/isStringNumeric.d.ts.map +1 -1
  563. package/build/types/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.d.ts.map +1 -1
  564. package/build/types/phoneNumberInput/utils/longestMatchingPrefix/index.d.ts.map +1 -1
  565. package/build/types/phoneNumberInput/utils/setDefaultPrefix/index.d.ts.map +1 -1
  566. package/build/types/progress/Progress.d.ts.map +1 -1
  567. package/build/types/progressBar/ProgressBar.d.ts.map +1 -1
  568. package/build/types/provider/direction/DirectionProvider.d.ts.map +1 -1
  569. package/build/types/provider/language/LanguageProvider.d.ts.map +1 -1
  570. package/build/types/provider/overlay/OverlayIdProvider.d.ts.map +1 -1
  571. package/build/types/section/Section.d.ts.map +1 -1
  572. package/build/types/segmentedControl/SegmentedControl.d.ts.map +1 -1
  573. package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
  574. package/build/types/stepper/Stepper.d.ts.map +1 -1
  575. package/build/types/summary/Summary.d.ts.map +1 -1
  576. package/build/types/switch/Switch.d.ts.map +1 -1
  577. package/build/types/switchOption/SwitchOption.d.ts.map +1 -1
  578. package/build/types/table/Table.d.ts.map +1 -1
  579. package/build/types/table/TableCell.d.ts.map +1 -1
  580. package/build/types/table/TableHeader.d.ts.map +1 -1
  581. package/build/types/table/TableRow.d.ts.map +1 -1
  582. package/build/types/table/TableStatusText.d.ts.map +1 -1
  583. package/build/types/tabs/Tabs.d.ts.map +1 -1
  584. package/build/types/tabs/utils.d.ts.map +1 -1
  585. package/build/types/test-utils/story-config.d.ts.map +1 -1
  586. package/build/types/textareaWithDisplayFormat/TextareaWithDisplayFormat.d.ts.map +1 -1
  587. package/build/types/tooltip/Tooltip.d.ts.map +1 -1
  588. package/build/types/upload/Upload.d.ts +0 -2
  589. package/build/types/upload/Upload.d.ts.map +1 -1
  590. package/build/types/uploadInput/UploadInput.d.ts.map +1 -1
  591. package/build/types/uploadInput/uploadButton/getAllowedFileTypes.d.ts.map +1 -1
  592. package/build/types/utilities/deprecatedProperty/deprecatedProperty.d.ts.map +1 -1
  593. package/build/types/withDisplayFormat/WithDisplayFormat.d.ts.map +1 -1
  594. package/build/types/withNextPortal/withNextPortal.d.ts.map +1 -1
  595. package/build/upload/Upload.js +35 -48
  596. package/build/upload/Upload.js.map +1 -1
  597. package/build/upload/Upload.messages.js.map +1 -1
  598. package/build/upload/Upload.messages.mjs.map +1 -1
  599. package/build/upload/Upload.mjs +35 -48
  600. package/build/upload/Upload.mjs.map +1 -1
  601. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  602. package/build/upload/steps/completeStep/completeStep.mjs.map +1 -1
  603. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  604. package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
  605. package/build/upload/steps/uploadImageStep/uploadImageStep.js +1 -1
  606. package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
  607. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +1 -1
  608. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
  609. package/build/upload/utils/asyncFileRead/asyncFileRead.js.map +1 -1
  610. package/build/upload/utils/asyncFileRead/asyncFileRead.mjs.map +1 -1
  611. package/build/upload/utils/getFileType/getFileType.js.map +1 -1
  612. package/build/upload/utils/getFileType/getFileType.mjs.map +1 -1
  613. package/build/upload/utils/isSizeValid/isSizeValid.js.map +1 -1
  614. package/build/upload/utils/isSizeValid/isSizeValid.mjs.map +1 -1
  615. package/build/upload/utils/isTypeValid/isTypeValid.js.map +1 -1
  616. package/build/upload/utils/isTypeValid/isTypeValid.mjs.map +1 -1
  617. package/build/upload/utils/postData/postData.js.map +1 -1
  618. package/build/upload/utils/postData/postData.mjs.map +1 -1
  619. package/build/uploadInput/UploadInput.js.map +1 -1
  620. package/build/uploadInput/UploadInput.messages.js.map +1 -1
  621. package/build/uploadInput/UploadInput.messages.mjs.map +1 -1
  622. package/build/uploadInput/UploadInput.mjs +2 -2
  623. package/build/uploadInput/UploadInput.mjs.map +1 -1
  624. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  625. package/build/uploadInput/uploadButton/UploadButton.messages.js.map +1 -1
  626. package/build/uploadInput/uploadButton/UploadButton.messages.mjs.map +1 -1
  627. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  628. package/build/uploadInput/uploadButton/defaults.js.map +1 -1
  629. package/build/uploadInput/uploadButton/defaults.mjs.map +1 -1
  630. package/build/uploadInput/uploadButton/getAllowedFileTypes.js.map +1 -1
  631. package/build/uploadInput/uploadButton/getAllowedFileTypes.mjs.map +1 -1
  632. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  633. package/build/uploadInput/uploadItem/UploadItem.messages.js.map +1 -1
  634. package/build/uploadInput/uploadItem/UploadItem.messages.mjs.map +1 -1
  635. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  636. package/build/uploadInput/uploadItem/UploadItemLink.js.map +1 -1
  637. package/build/uploadInput/uploadItem/UploadItemLink.mjs.map +1 -1
  638. package/build/utilities/cssValueWithUnit.js.map +1 -1
  639. package/build/utilities/cssValueWithUnit.mjs.map +1 -1
  640. package/build/utilities/logActionRequired.js.map +1 -1
  641. package/build/utilities/logActionRequired.mjs.map +1 -1
  642. package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -1
  643. package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -1
  644. package/build/withId/withId.js.map +1 -1
  645. package/build/withId/withId.mjs.map +1 -1
  646. package/build/withNextPortal/withNextPortal.js +1 -1
  647. package/build/withNextPortal/withNextPortal.js.map +1 -1
  648. package/build/withNextPortal/withNextPortal.mjs +1 -1
  649. package/build/withNextPortal/withNextPortal.mjs.map +1 -1
  650. package/package.json +52 -52
  651. package/src/alert/Alert.spec.tsx +4 -2
  652. package/src/card/Card.story.tsx +2 -4
  653. package/src/checkbox/Checkbox.story.tsx +2 -3
  654. package/src/dateInput/DateInput.story.tsx +2 -2
  655. package/src/dateInput/DateInput.tests.story.tsx +10 -11
  656. package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.tsx +1 -1
  657. package/src/inputs/SelectInput.tsx +2 -11
  658. package/src/markdown/Markdown.tsx +1 -2
  659. package/src/primitives/PrimitiveAnchor/stories/PrimitiveAnchor.story.tsx +2 -3
  660. package/src/primitives/PrimitiveButton/stories/PrimitiveButton.story.tsx +2 -3
  661. package/src/radioGroup/RadioGroup.story.tsx +2 -2
  662. package/src/typeahead/Typeahead.story.tsx +2 -3
  663. package/src/upload/Upload.story.tsx +1 -1
  664. package/src/upload/Upload.tsx +35 -49
@@ -1 +1 @@
1
- {"version":3,"file":"logActionRequired.mjs","sources":["../../src/utilities/logActionRequired.ts"],"sourcesContent":["export function logActionRequired(message: string) {\n if (typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n}\n\nexport function logActionRequiredIf(message: string, conditional: boolean) {\n if (conditional) {\n logActionRequired(message);\n }\n}\n"],"names":["logActionRequired","message","process","env","NODE_ENV","console","warn","logActionRequiredIf","conditional"],"mappings":"AAAM,SAAUA,iBAAiBA,CAACC,OAAe,EAAA;AAC/C,EAAA,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,GAAG,EAAEC,QAAQ,KAAK,YAAY,EAAE;AAC5E;AACAC,IAAAA,OAAO,CAACC,IAAI,CAACL,OAAO,CAAC;AACvB;AACF;AAEgB,SAAAM,mBAAmBA,CAACN,OAAe,EAAEO,WAAoB,EAAA;AACvE,EAAA,IAAIA,WAAW,EAAE;IACfR,iBAAiB,CAACC,OAAO,CAAC;AAC5B;AACF;;;;"}
1
+ {"version":3,"file":"logActionRequired.mjs","sources":["../../src/utilities/logActionRequired.ts"],"sourcesContent":["export function logActionRequired(message: string) {\n if (typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n}\n\nexport function logActionRequiredIf(message: string, conditional: boolean) {\n if (conditional) {\n logActionRequired(message);\n }\n}\n"],"names":["logActionRequired","message","process","env","NODE_ENV","console","warn","logActionRequiredIf","conditional"],"mappings":"AAAM,SAAUA,iBAAiBA,CAACC,OAAe,EAAA;AAC/C,EAAA,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,GAAG,EAAEC,QAAQ,KAAK,YAAY,EAAE;AAC5E;AACAC,IAAAA,OAAO,CAACC,IAAI,CAACL,OAAO,CAAC,CAAA;AACvB,GAAA;AACF,CAAA;AAEgB,SAAAM,mBAAmBA,CAACN,OAAe,EAAEO,WAAoB,EAAA;AACvE,EAAA,IAAIA,WAAW,EAAE;IACfR,iBAAiB,CAACC,OAAO,CAAC,CAAA;AAC5B,GAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WithDisplayFormat.js","sources":["../../src/withDisplayFormat/WithDisplayFormat.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { HistoryNavigator } from '../common';\nimport {\n formatWithPattern,\n getCountOfSymbolsInSelection,\n getCursorPositionAfterKeystroke,\n unformatWithPattern,\n getDistanceToPreviousSymbol,\n getDistanceToNextSymbol,\n} from '../common/textFormat';\nimport { InputProps } from '../inputs/Input';\nimport { TextAreaProps } from '../inputs/TextArea';\n\ntype HTMLTextElement = HTMLInputElement | HTMLTextAreaElement;\ntype TextElementProps = InputProps | TextAreaProps;\n\nexport type EventType =\n | 'KeyDown'\n | 'Paste'\n | 'Cut'\n | 'Undo'\n | 'Redo'\n | 'Backspace'\n | 'Delete'\n | 'Initial';\n\ninterface WithDisplayFormatState {\n value: string;\n historyNavigator: HistoryNavigator;\n prevDisplayPattern: string;\n triggerType: EventType;\n triggerEvent: React.KeyboardEvent<HTMLTextElement> | null;\n pastedLength: number;\n selectionStart: number;\n selectionEnd: number;\n}\n\nexport interface WithDisplayFormatProps<T extends TextElementProps = TextElementProps>\n extends Pick<\n TextElementProps,\n | 'className'\n | 'disabled'\n | 'id'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'inputMode'\n > {\n value?: string;\n displayPattern: string;\n /**\n * autocomplete hides our form help so we need to disable it when help text\n * is present. Chrome ignores autocomplete=off, the only way to disable it is\n * to provide an 'invalid' value, for which 'disabled' serves.\n */\n autoComplete?: TextElementProps['autoComplete'] | 'disabled';\n onChange?: (value: string) => void;\n onBlur?: (value: string) => void;\n onFocus?: (value: string) => void;\n render: (renderProps: T) => React.JSX.Element;\n}\n\nclass WithDisplayFormat<T extends TextElementProps> extends React.Component<\n WithDisplayFormatProps<T>,\n WithDisplayFormatState\n> {\n declare props: WithDisplayFormatProps<T> &\n Required<Pick<WithDisplayFormatProps<T>, keyof typeof WithDisplayFormat.defaultProps>>;\n static defaultProps = {\n autoComplete: 'off',\n displayPattern: '',\n value: '',\n };\n\n constructor(props: WithDisplayFormatProps) {\n super(props);\n const unformattedValue = unformatWithPattern(props.value ?? '', props.displayPattern);\n this.state = {\n value: formatWithPattern(unformattedValue, props.displayPattern),\n historyNavigator: new HistoryNavigator(),\n prevDisplayPattern: props.displayPattern,\n triggerType: 'Initial',\n triggerEvent: null,\n selectionStart: 0,\n selectionEnd: 0,\n pastedLength: 0,\n };\n }\n\n static getDerivedStateFromProps(\n { displayPattern }: WithDisplayFormatProps,\n { prevDisplayPattern = displayPattern, value, historyNavigator }: WithDisplayFormatState,\n ) {\n if (prevDisplayPattern !== displayPattern) {\n const unFormattedValue = unformatWithPattern(value, prevDisplayPattern);\n historyNavigator.reset();\n\n return {\n prevDisplayPattern: displayPattern,\n value: formatWithPattern(unFormattedValue, displayPattern),\n triggerType: null,\n triggerEvent: null,\n pastedLength: 0,\n };\n }\n return null;\n }\n\n getUserAction = (unformattedValue: string): EventType | string => {\n const { triggerEvent, triggerType, value } = this.state;\n const { displayPattern } = this.props;\n\n if (triggerEvent) {\n if (triggerType === 'Paste' || triggerType === 'Cut') {\n return triggerType;\n }\n\n if ((triggerEvent.ctrlKey || triggerEvent.metaKey) && triggerEvent.key === 'z') {\n return triggerEvent.shiftKey ? 'Redo' : 'Undo';\n }\n\n // Detect mouse event redo\n if (triggerEvent.ctrlKey && triggerEvent.key === 'd') {\n return 'Delete';\n }\n\n // Android Fix.\n if (\n typeof triggerEvent.key === 'undefined' &&\n unformattedValue.length <= unformatWithPattern(value, displayPattern).length\n ) {\n return 'Backspace';\n }\n return triggerEvent.key;\n }\n // triggerEvent can be null only in case of \"autofilling\" (via password manager extension or browser build-in one) events\n return 'Paste';\n };\n\n resetEvent = () => {\n this.setState({\n triggerType: 'Initial',\n triggerEvent: null,\n pastedLength: 0,\n });\n };\n\n detectUndoRedo = (event: React.KeyboardEvent<HTMLTextElement>) => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'z') {\n return event.shiftKey ? 'Redo' : 'Undo';\n }\n return null;\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLTextElement> = (event) => {\n event.persist();\n const { selectionStart, selectionEnd } = event.currentTarget;\n const { historyNavigator } = this.state;\n const { displayPattern } = this.props;\n\n // Unfortunately Undo and Redo don't trigger OnChange event so we need to handle some value logic here.\n let newFormattedValue = '';\n\n if (this.detectUndoRedo(event) === 'Undo') {\n newFormattedValue = formatWithPattern(historyNavigator.undo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Undo' });\n } else if (this.detectUndoRedo(event) === 'Redo') {\n newFormattedValue = formatWithPattern(historyNavigator.redo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Redo' });\n } else {\n this.setState({\n triggerEvent: event,\n triggerType: 'KeyDown',\n selectionStart: selectionStart ?? 0,\n selectionEnd: selectionEnd ?? 0,\n });\n }\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern } = this.props;\n const pastedLength = unformatWithPattern(\n event.clipboardData.getData('Text'),\n displayPattern,\n ).length;\n\n this.setState({ triggerType: 'Paste', pastedLength });\n };\n\n handleOnCut: React.ClipboardEventHandler<HTMLTextElement> = () => {\n this.setState({ triggerType: 'Cut' });\n };\n\n isKeyAllowed = (action: EventType | string) => {\n const { displayPattern } = this.props;\n const symbolsInPattern = displayPattern.split('').filter((character) => character !== '*');\n\n return !symbolsInPattern.includes(action);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLTextElement> = (event) => {\n const { historyNavigator, triggerType } = this.state;\n const { displayPattern, onChange } = this.props;\n const { value } = event.target;\n let unformattedValue = unformatWithPattern(value, displayPattern);\n const action = this.getUserAction(unformattedValue);\n if (!this.isKeyAllowed(action) || triggerType === 'Undo' || triggerType === 'Redo') {\n return;\n }\n\n if (action === 'Backspace' || action === 'Delete') {\n unformattedValue = this.handleDelete(unformattedValue, action);\n }\n\n const newFormattedValue = formatWithPattern(unformattedValue, displayPattern);\n historyNavigator.add(unformattedValue);\n\n this.handleCursorPositioning(action);\n\n this.setState({ value: newFormattedValue }, () => {\n this.resetEvent();\n if (onChange) {\n const broadcastValue = unformatWithPattern(newFormattedValue, displayPattern);\n onChange(broadcastValue);\n }\n });\n };\n\n handleOnBlur: React.FocusEventHandler<HTMLTextElement> = (event) => {\n this.props.onBlur?.(unformatWithPattern(event.target.value, this.props.displayPattern));\n };\n\n handleOnFocus: React.FocusEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern, onFocus } = this.props;\n if (onFocus) {\n this.handleOnChange(event);\n onFocus(unformatWithPattern(event.target.value, displayPattern));\n }\n };\n\n handleDelete = (unformattedValue: string, action: EventType) => {\n const { displayPattern } = this.props;\n const { selectionStart, selectionEnd } = this.state;\n const newStack = [...unformattedValue];\n if (selectionStart === selectionEnd) {\n let startPosition =\n selectionStart - getCountOfSymbolsInSelection(0, selectionStart, displayPattern);\n let toDelete = 0;\n\n let count = getDistanceToNextSymbol(selectionStart, displayPattern);\n if (action === 'Backspace') {\n startPosition -= 1;\n count = getDistanceToPreviousSymbol(selectionStart, displayPattern);\n }\n\n if (startPosition >= 0 && count) {\n toDelete = 1;\n }\n\n newStack.splice(startPosition, toDelete);\n }\n\n return newStack.join('');\n };\n\n handleCursorPositioning = (action: string) => {\n const { displayPattern } = this.props;\n const { triggerEvent, selectionStart, selectionEnd, pastedLength } = this.state;\n const target = triggerEvent?.currentTarget;\n\n const cursorPosition = getCursorPositionAfterKeystroke(\n action,\n selectionStart,\n selectionEnd,\n displayPattern,\n pastedLength,\n );\n\n setTimeout(() => {\n target?.setSelectionRange(cursorPosition, cursorPosition);\n this.setState({ selectionStart: cursorPosition, selectionEnd: cursorPosition });\n }, 0);\n };\n\n render() {\n const {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n } = this.props;\n const { value } = this.state;\n const renderProps: TextElementProps = {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n value,\n onFocus: this.handleOnFocus,\n onBlur: this.handleOnBlur,\n onPaste: this.handleOnPaste,\n onKeyDown: this.handleOnKeyDown,\n onChange: this.handleOnChange,\n onCut: this.handleOnCut,\n };\n return this.props.render(renderProps as T);\n }\n}\n\nexport default WithDisplayFormat;\n"],"names":["WithDisplayFormat","React","Component","defaultProps","autoComplete","displayPattern","value","constructor","props","unformattedValue","unformatWithPattern","state","formatWithPattern","historyNavigator","HistoryNavigator","prevDisplayPattern","triggerType","triggerEvent","selectionStart","selectionEnd","pastedLength","getDerivedStateFromProps","unFormattedValue","reset","getUserAction","ctrlKey","metaKey","key","shiftKey","length","resetEvent","setState","detectUndoRedo","event","handleOnKeyDown","persist","currentTarget","newFormattedValue","undo","toString","redo","handleOnPaste","clipboardData","getData","handleOnCut","isKeyAllowed","action","symbolsInPattern","split","filter","character","includes","handleOnChange","onChange","target","handleDelete","add","handleCursorPositioning","broadcastValue","handleOnBlur","onBlur","handleOnFocus","onFocus","newStack","startPosition","getCountOfSymbolsInSelection","toDelete","count","getDistanceToNextSymbol","getDistanceToPreviousSymbol","splice","join","cursorPosition","getCursorPositionAfterKeystroke","setTimeout","setSelectionRange","render","inputMode","className","id","name","placeholder","readOnly","required","minLength","maxLength","disabled","renderProps","onPaste","onKeyDown","onCut"],"mappings":"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"}
1
+ {"version":3,"file":"WithDisplayFormat.js","sources":["../../src/withDisplayFormat/WithDisplayFormat.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { HistoryNavigator } from '../common';\nimport {\n formatWithPattern,\n getCountOfSymbolsInSelection,\n getCursorPositionAfterKeystroke,\n unformatWithPattern,\n getDistanceToPreviousSymbol,\n getDistanceToNextSymbol,\n} from '../common/textFormat';\nimport { InputProps } from '../inputs/Input';\nimport { TextAreaProps } from '../inputs/TextArea';\n\ntype HTMLTextElement = HTMLInputElement | HTMLTextAreaElement;\ntype TextElementProps = InputProps | TextAreaProps;\n\nexport type EventType =\n | 'KeyDown'\n | 'Paste'\n | 'Cut'\n | 'Undo'\n | 'Redo'\n | 'Backspace'\n | 'Delete'\n | 'Initial';\n\ninterface WithDisplayFormatState {\n value: string;\n historyNavigator: HistoryNavigator;\n prevDisplayPattern: string;\n triggerType: EventType;\n triggerEvent: React.KeyboardEvent<HTMLTextElement> | null;\n pastedLength: number;\n selectionStart: number;\n selectionEnd: number;\n}\n\nexport interface WithDisplayFormatProps<T extends TextElementProps = TextElementProps>\n extends Pick<\n TextElementProps,\n | 'className'\n | 'disabled'\n | 'id'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'inputMode'\n > {\n value?: string;\n displayPattern: string;\n /**\n * autocomplete hides our form help so we need to disable it when help text\n * is present. Chrome ignores autocomplete=off, the only way to disable it is\n * to provide an 'invalid' value, for which 'disabled' serves.\n */\n autoComplete?: TextElementProps['autoComplete'] | 'disabled';\n onChange?: (value: string) => void;\n onBlur?: (value: string) => void;\n onFocus?: (value: string) => void;\n render: (renderProps: T) => React.JSX.Element;\n}\n\nclass WithDisplayFormat<T extends TextElementProps> extends React.Component<\n WithDisplayFormatProps<T>,\n WithDisplayFormatState\n> {\n declare props: WithDisplayFormatProps<T> &\n Required<Pick<WithDisplayFormatProps<T>, keyof typeof WithDisplayFormat.defaultProps>>;\n static defaultProps = {\n autoComplete: 'off',\n displayPattern: '',\n value: '',\n };\n\n constructor(props: WithDisplayFormatProps) {\n super(props);\n const unformattedValue = unformatWithPattern(props.value ?? '', props.displayPattern);\n this.state = {\n value: formatWithPattern(unformattedValue, props.displayPattern),\n historyNavigator: new HistoryNavigator(),\n prevDisplayPattern: props.displayPattern,\n triggerType: 'Initial',\n triggerEvent: null,\n selectionStart: 0,\n selectionEnd: 0,\n pastedLength: 0,\n };\n }\n\n static getDerivedStateFromProps(\n { displayPattern }: WithDisplayFormatProps,\n { prevDisplayPattern = displayPattern, value, historyNavigator }: WithDisplayFormatState,\n ) {\n if (prevDisplayPattern !== displayPattern) {\n const unFormattedValue = unformatWithPattern(value, prevDisplayPattern);\n historyNavigator.reset();\n\n return {\n prevDisplayPattern: displayPattern,\n value: formatWithPattern(unFormattedValue, displayPattern),\n triggerType: null,\n triggerEvent: null,\n pastedLength: 0,\n };\n }\n return null;\n }\n\n getUserAction = (unformattedValue: string): EventType | string => {\n const { triggerEvent, triggerType, value } = this.state;\n const { displayPattern } = this.props;\n\n if (triggerEvent) {\n if (triggerType === 'Paste' || triggerType === 'Cut') {\n return triggerType;\n }\n\n if ((triggerEvent.ctrlKey || triggerEvent.metaKey) && triggerEvent.key === 'z') {\n return triggerEvent.shiftKey ? 'Redo' : 'Undo';\n }\n\n // Detect mouse event redo\n if (triggerEvent.ctrlKey && triggerEvent.key === 'd') {\n return 'Delete';\n }\n\n // Android Fix.\n if (\n typeof triggerEvent.key === 'undefined' &&\n unformattedValue.length <= unformatWithPattern(value, displayPattern).length\n ) {\n return 'Backspace';\n }\n return triggerEvent.key;\n }\n // triggerEvent can be null only in case of \"autofilling\" (via password manager extension or browser build-in one) events\n return 'Paste';\n };\n\n resetEvent = () => {\n this.setState({\n triggerType: 'Initial',\n triggerEvent: null,\n pastedLength: 0,\n });\n };\n\n detectUndoRedo = (event: React.KeyboardEvent<HTMLTextElement>) => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'z') {\n return event.shiftKey ? 'Redo' : 'Undo';\n }\n return null;\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLTextElement> = (event) => {\n event.persist();\n const { selectionStart, selectionEnd } = event.currentTarget;\n const { historyNavigator } = this.state;\n const { displayPattern } = this.props;\n\n // Unfortunately Undo and Redo don't trigger OnChange event so we need to handle some value logic here.\n let newFormattedValue = '';\n\n if (this.detectUndoRedo(event) === 'Undo') {\n newFormattedValue = formatWithPattern(historyNavigator.undo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Undo' });\n } else if (this.detectUndoRedo(event) === 'Redo') {\n newFormattedValue = formatWithPattern(historyNavigator.redo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Redo' });\n } else {\n this.setState({\n triggerEvent: event,\n triggerType: 'KeyDown',\n selectionStart: selectionStart ?? 0,\n selectionEnd: selectionEnd ?? 0,\n });\n }\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern } = this.props;\n const pastedLength = unformatWithPattern(\n event.clipboardData.getData('Text'),\n displayPattern,\n ).length;\n\n this.setState({ triggerType: 'Paste', pastedLength });\n };\n\n handleOnCut: React.ClipboardEventHandler<HTMLTextElement> = () => {\n this.setState({ triggerType: 'Cut' });\n };\n\n isKeyAllowed = (action: EventType | string) => {\n const { displayPattern } = this.props;\n const symbolsInPattern = displayPattern.split('').filter((character) => character !== '*');\n\n return !symbolsInPattern.includes(action);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLTextElement> = (event) => {\n const { historyNavigator, triggerType } = this.state;\n const { displayPattern, onChange } = this.props;\n const { value } = event.target;\n let unformattedValue = unformatWithPattern(value, displayPattern);\n const action = this.getUserAction(unformattedValue);\n if (!this.isKeyAllowed(action) || triggerType === 'Undo' || triggerType === 'Redo') {\n return;\n }\n\n if (action === 'Backspace' || action === 'Delete') {\n unformattedValue = this.handleDelete(unformattedValue, action);\n }\n\n const newFormattedValue = formatWithPattern(unformattedValue, displayPattern);\n historyNavigator.add(unformattedValue);\n\n this.handleCursorPositioning(action);\n\n this.setState({ value: newFormattedValue }, () => {\n this.resetEvent();\n if (onChange) {\n const broadcastValue = unformatWithPattern(newFormattedValue, displayPattern);\n onChange(broadcastValue);\n }\n });\n };\n\n handleOnBlur: React.FocusEventHandler<HTMLTextElement> = (event) => {\n this.props.onBlur?.(unformatWithPattern(event.target.value, this.props.displayPattern));\n };\n\n handleOnFocus: React.FocusEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern, onFocus } = this.props;\n if (onFocus) {\n this.handleOnChange(event);\n onFocus(unformatWithPattern(event.target.value, displayPattern));\n }\n };\n\n handleDelete = (unformattedValue: string, action: EventType) => {\n const { displayPattern } = this.props;\n const { selectionStart, selectionEnd } = this.state;\n const newStack = [...unformattedValue];\n if (selectionStart === selectionEnd) {\n let startPosition =\n selectionStart - getCountOfSymbolsInSelection(0, selectionStart, displayPattern);\n let toDelete = 0;\n\n let count = getDistanceToNextSymbol(selectionStart, displayPattern);\n if (action === 'Backspace') {\n startPosition -= 1;\n count = getDistanceToPreviousSymbol(selectionStart, displayPattern);\n }\n\n if (startPosition >= 0 && count) {\n toDelete = 1;\n }\n\n newStack.splice(startPosition, toDelete);\n }\n\n return newStack.join('');\n };\n\n handleCursorPositioning = (action: string) => {\n const { displayPattern } = this.props;\n const { triggerEvent, selectionStart, selectionEnd, pastedLength } = this.state;\n const target = triggerEvent?.currentTarget;\n\n const cursorPosition = getCursorPositionAfterKeystroke(\n action,\n selectionStart,\n selectionEnd,\n displayPattern,\n pastedLength,\n );\n\n setTimeout(() => {\n target?.setSelectionRange(cursorPosition, cursorPosition);\n this.setState({ selectionStart: cursorPosition, selectionEnd: cursorPosition });\n }, 0);\n };\n\n render() {\n const {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n } = this.props;\n const { value } = this.state;\n const renderProps: TextElementProps = {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n value,\n onFocus: this.handleOnFocus,\n onBlur: this.handleOnBlur,\n onPaste: this.handleOnPaste,\n onKeyDown: this.handleOnKeyDown,\n onChange: this.handleOnChange,\n onCut: this.handleOnCut,\n };\n return this.props.render(renderProps as T);\n }\n}\n\nexport default WithDisplayFormat;\n"],"names":["WithDisplayFormat","React","Component","defaultProps","autoComplete","displayPattern","value","constructor","props","unformattedValue","unformatWithPattern","state","formatWithPattern","historyNavigator","HistoryNavigator","prevDisplayPattern","triggerType","triggerEvent","selectionStart","selectionEnd","pastedLength","getDerivedStateFromProps","unFormattedValue","reset","getUserAction","ctrlKey","metaKey","key","shiftKey","length","resetEvent","setState","detectUndoRedo","event","handleOnKeyDown","persist","currentTarget","newFormattedValue","undo","toString","redo","handleOnPaste","clipboardData","getData","handleOnCut","isKeyAllowed","action","symbolsInPattern","split","filter","character","includes","handleOnChange","onChange","target","handleDelete","add","handleCursorPositioning","broadcastValue","handleOnBlur","onBlur","handleOnFocus","onFocus","newStack","startPosition","getCountOfSymbolsInSelection","toDelete","count","getDistanceToNextSymbol","getDistanceToPreviousSymbol","splice","join","cursorPosition","getCursorPositionAfterKeystroke","setTimeout","setSelectionRange","render","inputMode","className","id","name","placeholder","readOnly","required","minLength","maxLength","disabled","renderProps","onPaste","onKeyDown","onCut"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WithDisplayFormat.mjs","sources":["../../src/withDisplayFormat/WithDisplayFormat.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { HistoryNavigator } from '../common';\nimport {\n formatWithPattern,\n getCountOfSymbolsInSelection,\n getCursorPositionAfterKeystroke,\n unformatWithPattern,\n getDistanceToPreviousSymbol,\n getDistanceToNextSymbol,\n} from '../common/textFormat';\nimport { InputProps } from '../inputs/Input';\nimport { TextAreaProps } from '../inputs/TextArea';\n\ntype HTMLTextElement = HTMLInputElement | HTMLTextAreaElement;\ntype TextElementProps = InputProps | TextAreaProps;\n\nexport type EventType =\n | 'KeyDown'\n | 'Paste'\n | 'Cut'\n | 'Undo'\n | 'Redo'\n | 'Backspace'\n | 'Delete'\n | 'Initial';\n\ninterface WithDisplayFormatState {\n value: string;\n historyNavigator: HistoryNavigator;\n prevDisplayPattern: string;\n triggerType: EventType;\n triggerEvent: React.KeyboardEvent<HTMLTextElement> | null;\n pastedLength: number;\n selectionStart: number;\n selectionEnd: number;\n}\n\nexport interface WithDisplayFormatProps<T extends TextElementProps = TextElementProps>\n extends Pick<\n TextElementProps,\n | 'className'\n | 'disabled'\n | 'id'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'inputMode'\n > {\n value?: string;\n displayPattern: string;\n /**\n * autocomplete hides our form help so we need to disable it when help text\n * is present. Chrome ignores autocomplete=off, the only way to disable it is\n * to provide an 'invalid' value, for which 'disabled' serves.\n */\n autoComplete?: TextElementProps['autoComplete'] | 'disabled';\n onChange?: (value: string) => void;\n onBlur?: (value: string) => void;\n onFocus?: (value: string) => void;\n render: (renderProps: T) => React.JSX.Element;\n}\n\nclass WithDisplayFormat<T extends TextElementProps> extends React.Component<\n WithDisplayFormatProps<T>,\n WithDisplayFormatState\n> {\n declare props: WithDisplayFormatProps<T> &\n Required<Pick<WithDisplayFormatProps<T>, keyof typeof WithDisplayFormat.defaultProps>>;\n static defaultProps = {\n autoComplete: 'off',\n displayPattern: '',\n value: '',\n };\n\n constructor(props: WithDisplayFormatProps) {\n super(props);\n const unformattedValue = unformatWithPattern(props.value ?? '', props.displayPattern);\n this.state = {\n value: formatWithPattern(unformattedValue, props.displayPattern),\n historyNavigator: new HistoryNavigator(),\n prevDisplayPattern: props.displayPattern,\n triggerType: 'Initial',\n triggerEvent: null,\n selectionStart: 0,\n selectionEnd: 0,\n pastedLength: 0,\n };\n }\n\n static getDerivedStateFromProps(\n { displayPattern }: WithDisplayFormatProps,\n { prevDisplayPattern = displayPattern, value, historyNavigator }: WithDisplayFormatState,\n ) {\n if (prevDisplayPattern !== displayPattern) {\n const unFormattedValue = unformatWithPattern(value, prevDisplayPattern);\n historyNavigator.reset();\n\n return {\n prevDisplayPattern: displayPattern,\n value: formatWithPattern(unFormattedValue, displayPattern),\n triggerType: null,\n triggerEvent: null,\n pastedLength: 0,\n };\n }\n return null;\n }\n\n getUserAction = (unformattedValue: string): EventType | string => {\n const { triggerEvent, triggerType, value } = this.state;\n const { displayPattern } = this.props;\n\n if (triggerEvent) {\n if (triggerType === 'Paste' || triggerType === 'Cut') {\n return triggerType;\n }\n\n if ((triggerEvent.ctrlKey || triggerEvent.metaKey) && triggerEvent.key === 'z') {\n return triggerEvent.shiftKey ? 'Redo' : 'Undo';\n }\n\n // Detect mouse event redo\n if (triggerEvent.ctrlKey && triggerEvent.key === 'd') {\n return 'Delete';\n }\n\n // Android Fix.\n if (\n typeof triggerEvent.key === 'undefined' &&\n unformattedValue.length <= unformatWithPattern(value, displayPattern).length\n ) {\n return 'Backspace';\n }\n return triggerEvent.key;\n }\n // triggerEvent can be null only in case of \"autofilling\" (via password manager extension or browser build-in one) events\n return 'Paste';\n };\n\n resetEvent = () => {\n this.setState({\n triggerType: 'Initial',\n triggerEvent: null,\n pastedLength: 0,\n });\n };\n\n detectUndoRedo = (event: React.KeyboardEvent<HTMLTextElement>) => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'z') {\n return event.shiftKey ? 'Redo' : 'Undo';\n }\n return null;\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLTextElement> = (event) => {\n event.persist();\n const { selectionStart, selectionEnd } = event.currentTarget;\n const { historyNavigator } = this.state;\n const { displayPattern } = this.props;\n\n // Unfortunately Undo and Redo don't trigger OnChange event so we need to handle some value logic here.\n let newFormattedValue = '';\n\n if (this.detectUndoRedo(event) === 'Undo') {\n newFormattedValue = formatWithPattern(historyNavigator.undo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Undo' });\n } else if (this.detectUndoRedo(event) === 'Redo') {\n newFormattedValue = formatWithPattern(historyNavigator.redo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Redo' });\n } else {\n this.setState({\n triggerEvent: event,\n triggerType: 'KeyDown',\n selectionStart: selectionStart ?? 0,\n selectionEnd: selectionEnd ?? 0,\n });\n }\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern } = this.props;\n const pastedLength = unformatWithPattern(\n event.clipboardData.getData('Text'),\n displayPattern,\n ).length;\n\n this.setState({ triggerType: 'Paste', pastedLength });\n };\n\n handleOnCut: React.ClipboardEventHandler<HTMLTextElement> = () => {\n this.setState({ triggerType: 'Cut' });\n };\n\n isKeyAllowed = (action: EventType | string) => {\n const { displayPattern } = this.props;\n const symbolsInPattern = displayPattern.split('').filter((character) => character !== '*');\n\n return !symbolsInPattern.includes(action);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLTextElement> = (event) => {\n const { historyNavigator, triggerType } = this.state;\n const { displayPattern, onChange } = this.props;\n const { value } = event.target;\n let unformattedValue = unformatWithPattern(value, displayPattern);\n const action = this.getUserAction(unformattedValue);\n if (!this.isKeyAllowed(action) || triggerType === 'Undo' || triggerType === 'Redo') {\n return;\n }\n\n if (action === 'Backspace' || action === 'Delete') {\n unformattedValue = this.handleDelete(unformattedValue, action);\n }\n\n const newFormattedValue = formatWithPattern(unformattedValue, displayPattern);\n historyNavigator.add(unformattedValue);\n\n this.handleCursorPositioning(action);\n\n this.setState({ value: newFormattedValue }, () => {\n this.resetEvent();\n if (onChange) {\n const broadcastValue = unformatWithPattern(newFormattedValue, displayPattern);\n onChange(broadcastValue);\n }\n });\n };\n\n handleOnBlur: React.FocusEventHandler<HTMLTextElement> = (event) => {\n this.props.onBlur?.(unformatWithPattern(event.target.value, this.props.displayPattern));\n };\n\n handleOnFocus: React.FocusEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern, onFocus } = this.props;\n if (onFocus) {\n this.handleOnChange(event);\n onFocus(unformatWithPattern(event.target.value, displayPattern));\n }\n };\n\n handleDelete = (unformattedValue: string, action: EventType) => {\n const { displayPattern } = this.props;\n const { selectionStart, selectionEnd } = this.state;\n const newStack = [...unformattedValue];\n if (selectionStart === selectionEnd) {\n let startPosition =\n selectionStart - getCountOfSymbolsInSelection(0, selectionStart, displayPattern);\n let toDelete = 0;\n\n let count = getDistanceToNextSymbol(selectionStart, displayPattern);\n if (action === 'Backspace') {\n startPosition -= 1;\n count = getDistanceToPreviousSymbol(selectionStart, displayPattern);\n }\n\n if (startPosition >= 0 && count) {\n toDelete = 1;\n }\n\n newStack.splice(startPosition, toDelete);\n }\n\n return newStack.join('');\n };\n\n handleCursorPositioning = (action: string) => {\n const { displayPattern } = this.props;\n const { triggerEvent, selectionStart, selectionEnd, pastedLength } = this.state;\n const target = triggerEvent?.currentTarget;\n\n const cursorPosition = getCursorPositionAfterKeystroke(\n action,\n selectionStart,\n selectionEnd,\n displayPattern,\n pastedLength,\n );\n\n setTimeout(() => {\n target?.setSelectionRange(cursorPosition, cursorPosition);\n this.setState({ selectionStart: cursorPosition, selectionEnd: cursorPosition });\n }, 0);\n };\n\n render() {\n const {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n } = this.props;\n const { value } = this.state;\n const renderProps: TextElementProps = {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n value,\n onFocus: this.handleOnFocus,\n onBlur: this.handleOnBlur,\n onPaste: this.handleOnPaste,\n onKeyDown: this.handleOnKeyDown,\n onChange: this.handleOnChange,\n onCut: this.handleOnCut,\n };\n return this.props.render(renderProps as T);\n }\n}\n\nexport default WithDisplayFormat;\n"],"names":["WithDisplayFormat","React","Component","defaultProps","autoComplete","displayPattern","value","constructor","props","unformattedValue","unformatWithPattern","state","formatWithPattern","historyNavigator","HistoryNavigator","prevDisplayPattern","triggerType","triggerEvent","selectionStart","selectionEnd","pastedLength","getDerivedStateFromProps","unFormattedValue","reset","getUserAction","ctrlKey","metaKey","key","shiftKey","length","resetEvent","setState","detectUndoRedo","event","handleOnKeyDown","persist","currentTarget","newFormattedValue","undo","toString","redo","handleOnPaste","clipboardData","getData","handleOnCut","isKeyAllowed","action","symbolsInPattern","split","filter","character","includes","handleOnChange","onChange","target","handleDelete","add","handleCursorPositioning","broadcastValue","handleOnBlur","onBlur","handleOnFocus","onFocus","newStack","startPosition","getCountOfSymbolsInSelection","toDelete","count","getDistanceToNextSymbol","getDistanceToPreviousSymbol","splice","join","cursorPosition","getCursorPositionAfterKeystroke","setTimeout","setSelectionRange","render","inputMode","className","id","name","placeholder","readOnly","required","minLength","maxLength","disabled","renderProps","onPaste","onKeyDown","onCut"],"mappings":"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"}
1
+ {"version":3,"file":"WithDisplayFormat.mjs","sources":["../../src/withDisplayFormat/WithDisplayFormat.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { HistoryNavigator } from '../common';\nimport {\n formatWithPattern,\n getCountOfSymbolsInSelection,\n getCursorPositionAfterKeystroke,\n unformatWithPattern,\n getDistanceToPreviousSymbol,\n getDistanceToNextSymbol,\n} from '../common/textFormat';\nimport { InputProps } from '../inputs/Input';\nimport { TextAreaProps } from '../inputs/TextArea';\n\ntype HTMLTextElement = HTMLInputElement | HTMLTextAreaElement;\ntype TextElementProps = InputProps | TextAreaProps;\n\nexport type EventType =\n | 'KeyDown'\n | 'Paste'\n | 'Cut'\n | 'Undo'\n | 'Redo'\n | 'Backspace'\n | 'Delete'\n | 'Initial';\n\ninterface WithDisplayFormatState {\n value: string;\n historyNavigator: HistoryNavigator;\n prevDisplayPattern: string;\n triggerType: EventType;\n triggerEvent: React.KeyboardEvent<HTMLTextElement> | null;\n pastedLength: number;\n selectionStart: number;\n selectionEnd: number;\n}\n\nexport interface WithDisplayFormatProps<T extends TextElementProps = TextElementProps>\n extends Pick<\n TextElementProps,\n | 'className'\n | 'disabled'\n | 'id'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'inputMode'\n > {\n value?: string;\n displayPattern: string;\n /**\n * autocomplete hides our form help so we need to disable it when help text\n * is present. Chrome ignores autocomplete=off, the only way to disable it is\n * to provide an 'invalid' value, for which 'disabled' serves.\n */\n autoComplete?: TextElementProps['autoComplete'] | 'disabled';\n onChange?: (value: string) => void;\n onBlur?: (value: string) => void;\n onFocus?: (value: string) => void;\n render: (renderProps: T) => React.JSX.Element;\n}\n\nclass WithDisplayFormat<T extends TextElementProps> extends React.Component<\n WithDisplayFormatProps<T>,\n WithDisplayFormatState\n> {\n declare props: WithDisplayFormatProps<T> &\n Required<Pick<WithDisplayFormatProps<T>, keyof typeof WithDisplayFormat.defaultProps>>;\n static defaultProps = {\n autoComplete: 'off',\n displayPattern: '',\n value: '',\n };\n\n constructor(props: WithDisplayFormatProps) {\n super(props);\n const unformattedValue = unformatWithPattern(props.value ?? '', props.displayPattern);\n this.state = {\n value: formatWithPattern(unformattedValue, props.displayPattern),\n historyNavigator: new HistoryNavigator(),\n prevDisplayPattern: props.displayPattern,\n triggerType: 'Initial',\n triggerEvent: null,\n selectionStart: 0,\n selectionEnd: 0,\n pastedLength: 0,\n };\n }\n\n static getDerivedStateFromProps(\n { displayPattern }: WithDisplayFormatProps,\n { prevDisplayPattern = displayPattern, value, historyNavigator }: WithDisplayFormatState,\n ) {\n if (prevDisplayPattern !== displayPattern) {\n const unFormattedValue = unformatWithPattern(value, prevDisplayPattern);\n historyNavigator.reset();\n\n return {\n prevDisplayPattern: displayPattern,\n value: formatWithPattern(unFormattedValue, displayPattern),\n triggerType: null,\n triggerEvent: null,\n pastedLength: 0,\n };\n }\n return null;\n }\n\n getUserAction = (unformattedValue: string): EventType | string => {\n const { triggerEvent, triggerType, value } = this.state;\n const { displayPattern } = this.props;\n\n if (triggerEvent) {\n if (triggerType === 'Paste' || triggerType === 'Cut') {\n return triggerType;\n }\n\n if ((triggerEvent.ctrlKey || triggerEvent.metaKey) && triggerEvent.key === 'z') {\n return triggerEvent.shiftKey ? 'Redo' : 'Undo';\n }\n\n // Detect mouse event redo\n if (triggerEvent.ctrlKey && triggerEvent.key === 'd') {\n return 'Delete';\n }\n\n // Android Fix.\n if (\n typeof triggerEvent.key === 'undefined' &&\n unformattedValue.length <= unformatWithPattern(value, displayPattern).length\n ) {\n return 'Backspace';\n }\n return triggerEvent.key;\n }\n // triggerEvent can be null only in case of \"autofilling\" (via password manager extension or browser build-in one) events\n return 'Paste';\n };\n\n resetEvent = () => {\n this.setState({\n triggerType: 'Initial',\n triggerEvent: null,\n pastedLength: 0,\n });\n };\n\n detectUndoRedo = (event: React.KeyboardEvent<HTMLTextElement>) => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'z') {\n return event.shiftKey ? 'Redo' : 'Undo';\n }\n return null;\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLTextElement> = (event) => {\n event.persist();\n const { selectionStart, selectionEnd } = event.currentTarget;\n const { historyNavigator } = this.state;\n const { displayPattern } = this.props;\n\n // Unfortunately Undo and Redo don't trigger OnChange event so we need to handle some value logic here.\n let newFormattedValue = '';\n\n if (this.detectUndoRedo(event) === 'Undo') {\n newFormattedValue = formatWithPattern(historyNavigator.undo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Undo' });\n } else if (this.detectUndoRedo(event) === 'Redo') {\n newFormattedValue = formatWithPattern(historyNavigator.redo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Redo' });\n } else {\n this.setState({\n triggerEvent: event,\n triggerType: 'KeyDown',\n selectionStart: selectionStart ?? 0,\n selectionEnd: selectionEnd ?? 0,\n });\n }\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern } = this.props;\n const pastedLength = unformatWithPattern(\n event.clipboardData.getData('Text'),\n displayPattern,\n ).length;\n\n this.setState({ triggerType: 'Paste', pastedLength });\n };\n\n handleOnCut: React.ClipboardEventHandler<HTMLTextElement> = () => {\n this.setState({ triggerType: 'Cut' });\n };\n\n isKeyAllowed = (action: EventType | string) => {\n const { displayPattern } = this.props;\n const symbolsInPattern = displayPattern.split('').filter((character) => character !== '*');\n\n return !symbolsInPattern.includes(action);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLTextElement> = (event) => {\n const { historyNavigator, triggerType } = this.state;\n const { displayPattern, onChange } = this.props;\n const { value } = event.target;\n let unformattedValue = unformatWithPattern(value, displayPattern);\n const action = this.getUserAction(unformattedValue);\n if (!this.isKeyAllowed(action) || triggerType === 'Undo' || triggerType === 'Redo') {\n return;\n }\n\n if (action === 'Backspace' || action === 'Delete') {\n unformattedValue = this.handleDelete(unformattedValue, action);\n }\n\n const newFormattedValue = formatWithPattern(unformattedValue, displayPattern);\n historyNavigator.add(unformattedValue);\n\n this.handleCursorPositioning(action);\n\n this.setState({ value: newFormattedValue }, () => {\n this.resetEvent();\n if (onChange) {\n const broadcastValue = unformatWithPattern(newFormattedValue, displayPattern);\n onChange(broadcastValue);\n }\n });\n };\n\n handleOnBlur: React.FocusEventHandler<HTMLTextElement> = (event) => {\n this.props.onBlur?.(unformatWithPattern(event.target.value, this.props.displayPattern));\n };\n\n handleOnFocus: React.FocusEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern, onFocus } = this.props;\n if (onFocus) {\n this.handleOnChange(event);\n onFocus(unformatWithPattern(event.target.value, displayPattern));\n }\n };\n\n handleDelete = (unformattedValue: string, action: EventType) => {\n const { displayPattern } = this.props;\n const { selectionStart, selectionEnd } = this.state;\n const newStack = [...unformattedValue];\n if (selectionStart === selectionEnd) {\n let startPosition =\n selectionStart - getCountOfSymbolsInSelection(0, selectionStart, displayPattern);\n let toDelete = 0;\n\n let count = getDistanceToNextSymbol(selectionStart, displayPattern);\n if (action === 'Backspace') {\n startPosition -= 1;\n count = getDistanceToPreviousSymbol(selectionStart, displayPattern);\n }\n\n if (startPosition >= 0 && count) {\n toDelete = 1;\n }\n\n newStack.splice(startPosition, toDelete);\n }\n\n return newStack.join('');\n };\n\n handleCursorPositioning = (action: string) => {\n const { displayPattern } = this.props;\n const { triggerEvent, selectionStart, selectionEnd, pastedLength } = this.state;\n const target = triggerEvent?.currentTarget;\n\n const cursorPosition = getCursorPositionAfterKeystroke(\n action,\n selectionStart,\n selectionEnd,\n displayPattern,\n pastedLength,\n );\n\n setTimeout(() => {\n target?.setSelectionRange(cursorPosition, cursorPosition);\n this.setState({ selectionStart: cursorPosition, selectionEnd: cursorPosition });\n }, 0);\n };\n\n render() {\n const {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n } = this.props;\n const { value } = this.state;\n const renderProps: TextElementProps = {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n value,\n onFocus: this.handleOnFocus,\n onBlur: this.handleOnBlur,\n onPaste: this.handleOnPaste,\n onKeyDown: this.handleOnKeyDown,\n onChange: this.handleOnChange,\n onCut: this.handleOnCut,\n };\n return this.props.render(renderProps as T);\n }\n}\n\nexport default WithDisplayFormat;\n"],"names":["WithDisplayFormat","React","Component","defaultProps","autoComplete","displayPattern","value","constructor","props","unformattedValue","unformatWithPattern","state","formatWithPattern","historyNavigator","HistoryNavigator","prevDisplayPattern","triggerType","triggerEvent","selectionStart","selectionEnd","pastedLength","getDerivedStateFromProps","unFormattedValue","reset","getUserAction","ctrlKey","metaKey","key","shiftKey","length","resetEvent","setState","detectUndoRedo","event","handleOnKeyDown","persist","currentTarget","newFormattedValue","undo","toString","redo","handleOnPaste","clipboardData","getData","handleOnCut","isKeyAllowed","action","symbolsInPattern","split","filter","character","includes","handleOnChange","onChange","target","handleDelete","add","handleCursorPositioning","broadcastValue","handleOnBlur","onBlur","handleOnFocus","onFocus","newStack","startPosition","getCountOfSymbolsInSelection","toDelete","count","getDistanceToNextSymbol","getDistanceToPreviousSymbol","splice","join","cursorPosition","getCursorPositionAfterKeystroke","setTimeout","setSelectionRange","render","inputMode","className","id","name","placeholder","readOnly","required","minLength","maxLength","disabled","renderProps","onPaste","onKeyDown","onCut"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"withId.js","sources":["../../src/withId/withId.tsx"],"sourcesContent":["import { useId, ComponentType } from 'react';\n\ntype ChildProps<Props> = Props & {\n id?: string;\n};\n\nexport type WithIdProps<Props> = Props & {\n id: string;\n};\n\n/**\n * @internal\n * @param {ReactNode} WrappedComponent\n */\nexport default function withId<Props extends object>(\n WrappedComponent: ComponentType<WithIdProps<Props>>,\n) {\n function WithIdComponent(props: ChildProps<Props>) {\n const id = useId();\n\n return <WrappedComponent {...props} id={props.id || id} />;\n }\n\n WithIdComponent.displayName = `withId(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n return WithIdComponent;\n}\n"],"names":["withId","WrappedComponent","WithIdComponent","props","id","useId","_jsx","displayName","name"],"mappings":";;;;;;;AAcwB,SAAAA,MAAMA,CAC5BC,gBAAmD,EAAA;EAEnD,SAASC,eAAeA,CAACC,KAAwB,EAAA;AAC/C,IAAA,MAAMC,EAAE,GAAGC,WAAK,EAAE;IAElB,oBAAOC,cAAA,CAACL,gBAAgB,EAAA;AAAA,MAAA,GAAKE,KAAK;AAAEC,MAAAA,EAAE,EAAED,KAAK,CAACC,EAAE,IAAIA;AAAG,MAAG;AAC5D;AAEAF,EAAAA,eAAe,CAACK,WAAW,GAAG,CAAA,OAAA,EAAUN,gBAAgB,CAACM,WAAW,IAAIN,gBAAgB,CAACO,IAAI,IAAI,WAAW,CAAG,CAAA,CAAA;AAE/G,EAAA,OAAON,eAAe;AACxB;;;;"}
1
+ {"version":3,"file":"withId.js","sources":["../../src/withId/withId.tsx"],"sourcesContent":["import { useId, ComponentType } from 'react';\n\ntype ChildProps<Props> = Props & {\n id?: string;\n};\n\nexport type WithIdProps<Props> = Props & {\n id: string;\n};\n\n/**\n * @internal\n * @param {ReactNode} WrappedComponent\n */\nexport default function withId<Props extends object>(\n WrappedComponent: ComponentType<WithIdProps<Props>>,\n) {\n function WithIdComponent(props: ChildProps<Props>) {\n const id = useId();\n\n return <WrappedComponent {...props} id={props.id || id} />;\n }\n\n WithIdComponent.displayName = `withId(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n return WithIdComponent;\n}\n"],"names":["withId","WrappedComponent","WithIdComponent","props","id","useId","_jsx","displayName","name"],"mappings":";;;;;;;AAcwB,SAAAA,MAAMA,CAC5BC,gBAAmD,EAAA;EAEnD,SAASC,eAAeA,CAACC,KAAwB,EAAA;AAC/C,IAAA,MAAMC,EAAE,GAAGC,WAAK,EAAE,CAAA;IAElB,oBAAOC,cAAA,CAACL,gBAAgB,EAAA;AAAA,MAAA,GAAKE,KAAK;AAAEC,MAAAA,EAAE,EAAED,KAAK,CAACC,EAAE,IAAIA,EAAAA;AAAG,MAAG,CAAA;AAC5D,GAAA;AAEAF,EAAAA,eAAe,CAACK,WAAW,GAAG,CAAA,OAAA,EAAUN,gBAAgB,CAACM,WAAW,IAAIN,gBAAgB,CAACO,IAAI,IAAI,WAAW,CAAG,CAAA,CAAA,CAAA;AAE/G,EAAA,OAAON,eAAe,CAAA;AACxB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"withId.mjs","sources":["../../src/withId/withId.tsx"],"sourcesContent":["import { useId, ComponentType } from 'react';\n\ntype ChildProps<Props> = Props & {\n id?: string;\n};\n\nexport type WithIdProps<Props> = Props & {\n id: string;\n};\n\n/**\n * @internal\n * @param {ReactNode} WrappedComponent\n */\nexport default function withId<Props extends object>(\n WrappedComponent: ComponentType<WithIdProps<Props>>,\n) {\n function WithIdComponent(props: ChildProps<Props>) {\n const id = useId();\n\n return <WrappedComponent {...props} id={props.id || id} />;\n }\n\n WithIdComponent.displayName = `withId(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n return WithIdComponent;\n}\n"],"names":["withId","WrappedComponent","WithIdComponent","props","id","useId","_jsx","displayName","name"],"mappings":";;;AAcwB,SAAAA,MAAMA,CAC5BC,gBAAmD,EAAA;EAEnD,SAASC,eAAeA,CAACC,KAAwB,EAAA;AAC/C,IAAA,MAAMC,EAAE,GAAGC,KAAK,EAAE;IAElB,oBAAOC,GAAA,CAACL,gBAAgB,EAAA;AAAA,MAAA,GAAKE,KAAK;AAAEC,MAAAA,EAAE,EAAED,KAAK,CAACC,EAAE,IAAIA;AAAG,MAAG;AAC5D;AAEAF,EAAAA,eAAe,CAACK,WAAW,GAAG,CAAA,OAAA,EAAUN,gBAAgB,CAACM,WAAW,IAAIN,gBAAgB,CAACO,IAAI,IAAI,WAAW,CAAG,CAAA,CAAA;AAE/G,EAAA,OAAON,eAAe;AACxB;;;;"}
1
+ {"version":3,"file":"withId.mjs","sources":["../../src/withId/withId.tsx"],"sourcesContent":["import { useId, ComponentType } from 'react';\n\ntype ChildProps<Props> = Props & {\n id?: string;\n};\n\nexport type WithIdProps<Props> = Props & {\n id: string;\n};\n\n/**\n * @internal\n * @param {ReactNode} WrappedComponent\n */\nexport default function withId<Props extends object>(\n WrappedComponent: ComponentType<WithIdProps<Props>>,\n) {\n function WithIdComponent(props: ChildProps<Props>) {\n const id = useId();\n\n return <WrappedComponent {...props} id={props.id || id} />;\n }\n\n WithIdComponent.displayName = `withId(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n return WithIdComponent;\n}\n"],"names":["withId","WrappedComponent","WithIdComponent","props","id","useId","_jsx","displayName","name"],"mappings":";;;AAcwB,SAAAA,MAAMA,CAC5BC,gBAAmD,EAAA;EAEnD,SAASC,eAAeA,CAACC,KAAwB,EAAA;AAC/C,IAAA,MAAMC,EAAE,GAAGC,KAAK,EAAE,CAAA;IAElB,oBAAOC,GAAA,CAACL,gBAAgB,EAAA;AAAA,MAAA,GAAKE,KAAK;AAAEC,MAAAA,EAAE,EAAED,KAAK,CAACC,EAAE,IAAIA,EAAAA;AAAG,MAAG,CAAA;AAC5D,GAAA;AAEAF,EAAAA,eAAe,CAACK,WAAW,GAAG,CAAA,OAAA,EAAUN,gBAAgB,CAACM,WAAW,IAAIN,gBAAgB,CAACO,IAAI,IAAI,WAAW,CAAG,CAAA,CAAA,CAAA;AAE/G,EAAA,OAAON,eAAe,CAAA;AACxB;;;;"}
@@ -12,7 +12,7 @@ function withNextPortalWrapper(Component) {
12
12
  React.useEffect(() => {
13
13
  setMounted(true);
14
14
  }, [setMounted]);
15
- return mounted ? /*#__PURE__*/reactDom.createPortal(/*#__PURE__*/jsxRuntime.jsx(Component, {
15
+ return mounted ? /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/jsxRuntime.jsx(Component, {
16
16
  ...props
17
17
  }), document.body) : null;
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"withNextPortal.js","sources":["../../src/withNextPortal/withNextPortal.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport default function withNextPortalWrapper<T extends Record<string, any>>(\n Component: React.ComponentType<T>,\n) {\n return function (props: T) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, [setMounted]);\n return mounted ? createPortal(<Component {...props} />, document.body) : null;\n };\n}\n"],"names":["withNextPortalWrapper","Component","props","mounted","setMounted","useState","useEffect","createPortal","_jsx","document","body"],"mappings":";;;;;;;;AAGwB,SAAAA,qBAAqBA,CAC3CC,SAAiC,EAAA;EAEjC,OAAO,UAAUC,KAAQ,EAAA;IACvB,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAE7CC,IAAAA,eAAS,CAAC,MAAK;MACbF,UAAU,CAAC,IAAI,CAAC;AAClB,KAAC,EAAE,CAACA,UAAU,CAAC,CAAC;AAChB,IAAA,OAAOD,OAAO,gBAAGI,qBAAY,cAACC,cAAA,CAACP,SAAS,EAAA;MAAA,GAAKC;AAAK,KAAI,CAAA,EAAEO,QAAQ,CAACC,IAAI,CAAC,GAAG,IAAI;GAC9E;AACH;;;;"}
1
+ {"version":3,"file":"withNextPortal.js","sources":["../../src/withNextPortal/withNextPortal.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport default function withNextPortalWrapper<T extends Record<string, any>>(\n Component: React.ComponentType<T>,\n) {\n return function (props: T) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, [setMounted]);\n return mounted ? createPortal(<Component {...props} />, document.body) : null;\n };\n}\n"],"names":["withNextPortalWrapper","Component","props","mounted","setMounted","useState","useEffect","createPortal","_jsx","document","body"],"mappings":";;;;;;;;AAGwB,SAAAA,qBAAqBA,CAC3CC,SAAiC,EAAA;EAEjC,OAAO,UAAUC,KAAQ,EAAA;IACvB,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAA;AAE7CC,IAAAA,eAAS,CAAC,MAAK;MACbF,UAAU,CAAC,IAAI,CAAC,CAAA;AAClB,KAAC,EAAE,CAACA,UAAU,CAAC,CAAC,CAAA;AAChB,IAAA,OAAOD,OAAO,gBAAGI,qBAAY,eAACC,cAAA,CAACP,SAAS,EAAA;MAAA,GAAKC,KAAAA;AAAK,KAAI,CAAA,EAAEO,QAAQ,CAACC,IAAI,CAAC,GAAG,IAAI,CAAA;GAC9E,CAAA;AACH;;;;"}
@@ -8,7 +8,7 @@ function withNextPortalWrapper(Component) {
8
8
  useEffect(() => {
9
9
  setMounted(true);
10
10
  }, [setMounted]);
11
- return mounted ? /*#__PURE__*/createPortal(/*#__PURE__*/jsx(Component, {
11
+ return mounted ? /*#__PURE__*/createPortal( /*#__PURE__*/jsx(Component, {
12
12
  ...props
13
13
  }), document.body) : null;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"withNextPortal.mjs","sources":["../../src/withNextPortal/withNextPortal.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport default function withNextPortalWrapper<T extends Record<string, any>>(\n Component: React.ComponentType<T>,\n) {\n return function (props: T) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, [setMounted]);\n return mounted ? createPortal(<Component {...props} />, document.body) : null;\n };\n}\n"],"names":["withNextPortalWrapper","Component","props","mounted","setMounted","useState","useEffect","createPortal","_jsx","document","body"],"mappings":";;;;AAGwB,SAAAA,qBAAqBA,CAC3CC,SAAiC,EAAA;EAEjC,OAAO,UAAUC,KAAQ,EAAA;IACvB,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;AAE7CC,IAAAA,SAAS,CAAC,MAAK;MACbF,UAAU,CAAC,IAAI,CAAC;AAClB,KAAC,EAAE,CAACA,UAAU,CAAC,CAAC;AAChB,IAAA,OAAOD,OAAO,gBAAGI,YAAY,cAACC,GAAA,CAACP,SAAS,EAAA;MAAA,GAAKC;AAAK,KAAI,CAAA,EAAEO,QAAQ,CAACC,IAAI,CAAC,GAAG,IAAI;GAC9E;AACH;;;;"}
1
+ {"version":3,"file":"withNextPortal.mjs","sources":["../../src/withNextPortal/withNextPortal.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport default function withNextPortalWrapper<T extends Record<string, any>>(\n Component: React.ComponentType<T>,\n) {\n return function (props: T) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, [setMounted]);\n return mounted ? createPortal(<Component {...props} />, document.body) : null;\n };\n}\n"],"names":["withNextPortalWrapper","Component","props","mounted","setMounted","useState","useEffect","createPortal","_jsx","document","body"],"mappings":";;;;AAGwB,SAAAA,qBAAqBA,CAC3CC,SAAiC,EAAA;EAEjC,OAAO,UAAUC,KAAQ,EAAA;IACvB,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE7CC,IAAAA,SAAS,CAAC,MAAK;MACbF,UAAU,CAAC,IAAI,CAAC,CAAA;AAClB,KAAC,EAAE,CAACA,UAAU,CAAC,CAAC,CAAA;AAChB,IAAA,OAAOD,OAAO,gBAAGI,YAAY,eAACC,GAAA,CAACP,SAAS,EAAA;MAAA,GAAKC,KAAAA;AAAK,KAAI,CAAA,EAAEO,QAAQ,CAACC,IAAI,CAAC,GAAG,IAAI,CAAA;GAC9E,CAAA;AACH;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-301f7d4",
3
+ "version": "0.0.0-experimental-5397040",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -38,95 +38,95 @@
38
38
  "!**/*.tsbuildinfo"
39
39
  ],
40
40
  "devDependencies": {
41
- "@babel/core": "^7.27.3",
42
- "@babel/plugin-transform-runtime": "^7.27.3",
43
- "@babel/preset-env": "^7.27.2",
44
- "@babel/preset-react": "^7.27.1",
45
- "@babel/preset-typescript": "^7.27.1",
41
+ "@babel/core": "^7.24.8",
42
+ "@babel/plugin-transform-runtime": "^7.24.7",
43
+ "@babel/preset-env": "^7.24.8",
44
+ "@babel/preset-react": "^7.24.7",
45
+ "@babel/preset-typescript": "^7.24.7",
46
46
  "@cfaester/enzyme-adapter-react-18": "0.8.0",
47
- "@formatjs/cli": "^6.7.1",
47
+ "@formatjs/cli": "^6.2.12",
48
48
  "@rollup/plugin-babel": "^6.0.4",
49
49
  "@rollup/plugin-json": "^6.1.0",
50
50
  "@rollup/plugin-node-resolve": "^15.2.3",
51
- "@rollup/plugin-typescript": "^12.1.2",
51
+ "@rollup/plugin-typescript": "^11.1.6",
52
52
  "@rollup/plugin-url": "^8.0.2",
53
- "@storybook/addon-a11y": "^8.6.14",
54
- "@storybook/addon-actions": "^8.6.14",
55
- "@storybook/addon-essentials": "^8.6.14",
56
- "@storybook/addon-interactions": "^8.6.14",
53
+ "@storybook/addon-a11y": "^8.2.2",
54
+ "@storybook/addon-actions": "^8.2.2",
55
+ "@storybook/addon-essentials": "^8.2.2",
56
+ "@storybook/addon-interactions": "^8.2.2",
57
57
  "@storybook/addon-knobs": "^8.0.1",
58
- "@storybook/addon-viewport": "^8.6.14",
59
- "@storybook/addon-webpack5-compiler-babel": "^3.0.6",
60
- "@storybook/components": "^8.6.14",
61
- "@storybook/core-events": "^8.6.14",
62
- "@storybook/manager-api": "^8.6.14",
63
- "@storybook/react": "^8.6.14",
64
- "@storybook/react-webpack5": "^8.6.14",
65
- "@storybook/test": "^8.6.14",
66
- "@storybook/theming": "^8.6.14",
67
- "@testing-library/dom": "^10.4.0",
68
- "@testing-library/jest-dom": "^6.6.3",
69
- "@testing-library/react": "^16.3.0",
70
- "@testing-library/user-event": "^14.6.1",
71
- "@transferwise/icons": "^3.22.0",
72
- "@tsconfig/recommended": "^1.0.8",
58
+ "@storybook/addon-viewport": "^8.2.2",
59
+ "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
60
+ "@storybook/components": "^8.2.2",
61
+ "@storybook/core-events": "^8.2.2",
62
+ "@storybook/manager-api": "^8.2.2",
63
+ "@storybook/react": "^8.2.2",
64
+ "@storybook/react-webpack5": "^8.2.2",
65
+ "@storybook/test": "^8.2.2",
66
+ "@storybook/theming": "^8.2.2",
67
+ "@testing-library/dom": "^10.3.1",
68
+ "@testing-library/jest-dom": "^6.4.6",
69
+ "@testing-library/react": "^16.0.0",
70
+ "@testing-library/user-event": "^14.5.2",
71
+ "@transferwise/icons": "^3.21.0",
72
+ "@tsconfig/recommended": "^1.0.7",
73
73
  "@types/babel__core": "^7.20.5",
74
74
  "@types/commonmark": "^0.27.9",
75
- "@types/enzyme": "^3.10.19",
76
- "@types/jest": "^29.5.14",
77
- "@types/lodash": "4.17.17",
75
+ "@types/enzyme": "^3.10.18",
76
+ "@types/jest": "^29.5.12",
77
+ "@types/lodash": "4.17.6",
78
78
  "@types/lodash.clamp": "^4.0.9",
79
79
  "@types/lodash.debounce": "^4.0.9",
80
80
  "@types/react": "^18.3.11",
81
81
  "@types/react-dom": "^18.3.1",
82
- "@types/react-transition-group": "4.4.12",
82
+ "@types/react-transition-group": "4.4.10",
83
83
  "@wise/art": "^2.21.1",
84
84
  "@wise/eslint-config": "^12.3.0",
85
- "babel-plugin-formatjs": "^10.5.38",
85
+ "babel-plugin-formatjs": "^10.5.16",
86
86
  "enzyme": "^3.11.0",
87
- "eslint": "^9.27.0",
87
+ "eslint": "^9.26.0",
88
88
  "gulp": "^5.0.0",
89
89
  "jest": "^29.7.0",
90
90
  "jest-environment-jsdom": "^29.7.0",
91
91
  "jest-fetch-mock": "^3.0.3",
92
92
  "lodash.times": "^4.3.2",
93
- "react-intl": "^7.1.11",
94
- "rollup": "^4.41.1",
95
- "rollup-preserve-directives": "^1.1.3",
96
- "storybook": "^8.6.14",
97
- "@transferwise/less-config": "0.0.0-experimental-301f7d4",
93
+ "react-intl": "^6.6.8",
94
+ "rollup": "^4.18.1",
95
+ "rollup-preserve-directives": "^1.1.1",
96
+ "storybook": "^8.2.2",
97
+ "@transferwise/less-config": "3.1.1",
98
98
  "@transferwise/neptune-css": "14.24.4",
99
- "@wise/components-theming": "0.0.0-experimental-301f7d4",
99
+ "@wise/components-theming": "1.6.2",
100
100
  "@wise/wds-configs": "0.0.0"
101
101
  },
102
102
  "peerDependencies": {
103
- "@transferwise/icons": "^3.22.0",
103
+ "@transferwise/icons": "^3.21.0",
104
104
  "@transferwise/neptune-css": "^14.24",
105
- "@wise/art": "^2.21",
106
- "@wise/components-theming": "0.0.0-experimental-301f7d4",
105
+ "@wise/art": "^2.16",
106
+ "@wise/components-theming": "^1.0.0",
107
107
  "react": ">=18",
108
108
  "react-dom": ">=18",
109
109
  "react-intl": "^5.10.0 || ^6"
110
110
  },
111
111
  "dependencies": {
112
- "@babel/runtime": "^7.27.3",
113
- "@floating-ui/react": "^0.27.9",
112
+ "@babel/runtime": "^7.24.8",
113
+ "@floating-ui/react": "^0.25.4",
114
114
  "@headlessui/react": "^1.7.19",
115
115
  "@popperjs/core": "^2.11.8",
116
- "@react-aria/focus": "^3.20.3",
117
- "@react-aria/overlays": "^3.27.1",
118
- "@react-spring/web": "~10.0.1",
119
- "@transferwise/formatting": "^2.13.1",
120
- "@transferwise/neptune-validation": "0.0.0-experimental-301f7d4",
116
+ "@react-aria/focus": "^3.17.1",
117
+ "@react-aria/overlays": "^3.22.1",
118
+ "@react-spring/web": "~9.7.3",
119
+ "@transferwise/formatting": "^2.13.0",
120
+ "@transferwise/neptune-validation": "^3.3.0",
121
121
  "clsx": "^2.1.1",
122
- "commonmark": "^0.31.2",
123
- "core-js": "^3.42.0",
122
+ "commonmark": "0.29.1",
123
+ "core-js": "^3.37.1",
124
124
  "lodash.clamp": "^4.0.3",
125
125
  "lodash.debounce": "^4.0.8",
126
126
  "merge-props": "^6.0.0",
127
127
  "react-popper": "^2.3.0",
128
128
  "react-transition-group": "^4.4.5",
129
- "virtua": "^0.41.2"
129
+ "virtua": "^0.33.3"
130
130
  },
131
131
  "publishConfig": {
132
132
  "access": "public"
@@ -328,7 +328,6 @@ describe('Alert', () => {
328
328
  jest.spyOn(window, 'open').mockImplementation();
329
329
  // @ts-expect-error value gets set right after its deletion
330
330
  delete window.location;
331
- // @ts-expect-error TypeScript doesn't allow assigning a plain object to window.location
332
331
  window.location = {
333
332
  ...window.location,
334
333
  assign: jest.fn(),
@@ -336,7 +335,6 @@ describe('Alert', () => {
336
335
  });
337
336
 
338
337
  afterAll(() => {
339
- // @ts-expect-error TypeScript doesn't allow assigning a plain object to window.location
340
338
  window.location = location;
341
339
  });
342
340
 
@@ -358,6 +356,10 @@ describe('Alert', () => {
358
356
  });
359
357
  });
360
358
 
359
+ afterEach(() => {
360
+ cleanup();
361
+ });
362
+
361
363
  it('loads action on tap', () => {
362
364
  fireEvent.touchStart(alert);
363
365
  expect(window.location.assign).not.toHaveBeenCalled();
@@ -12,7 +12,7 @@ type Story = StoryObj<typeof Card>;
12
12
  *
13
13
  * @see https://transferwise.atlassian.net/wiki/spaces/DS/pages/2387314550/Instructions+for+killing+expanding+cards+on+web+design+pattern
14
14
  */
15
- const meta: Meta<typeof Card> = {
15
+ export default {
16
16
  component: Card,
17
17
  title: 'Layouts/Card (Deprecated)',
18
18
  args: {
@@ -23,9 +23,7 @@ const meta: Meta<typeof Card> = {
23
23
  as: 'div',
24
24
  },
25
25
  tags: ['autodocs'],
26
- };
27
-
28
- export default meta;
26
+ } satisfies Meta<typeof Card>;
29
27
 
30
28
  export const Basic: Story = {
31
29
  render: function Render(args) {
@@ -6,7 +6,7 @@ import { lorem10, storyConfig } from '../test-utils';
6
6
 
7
7
  import Checkbox from './Checkbox';
8
8
 
9
- const meta: Meta<typeof Checkbox> = {
9
+ export default {
10
10
  component: Checkbox,
11
11
  title: 'Forms/Checkbox',
12
12
  args: {
@@ -14,8 +14,7 @@ const meta: Meta<typeof Checkbox> = {
14
14
  onChange: fn(),
15
15
  },
16
16
  tags: ['autodocs'],
17
- };
18
- export default meta;
17
+ } satisfies Meta<typeof Checkbox>;
19
18
 
20
19
  type Story = StoryObj<typeof Checkbox>;
21
20
 
@@ -3,7 +3,7 @@ import { fn } from '@storybook/test';
3
3
 
4
4
  import { DateInput } from '..';
5
5
 
6
- const meta: Meta<typeof DateInput> = {
6
+ const meta = {
7
7
  component: DateInput,
8
8
  title: 'Forms/DateInput',
9
9
  tags: ['autodocs'],
@@ -13,7 +13,7 @@ export default meta;
13
13
 
14
14
  type Story = StoryObj<typeof meta>;
15
15
 
16
- export const Basic: Story = {
16
+ export const Basic = {
17
17
  args: {
18
18
  onChange: fn(),
19
19
  },
@@ -7,7 +7,7 @@ import { lorem10, storyConfig } from '../test-utils';
7
7
  import Provider from '../provider/Provider';
8
8
  import translations from '../i18n';
9
9
 
10
- const meta: Meta<typeof DateInput> = {
10
+ const meta = {
11
11
  component: DateInput,
12
12
  title: 'Forms/DateInput/Tests',
13
13
  args: {
@@ -16,15 +16,14 @@ const meta: Meta<typeof DateInput> = {
16
16
  monthLabel: 'Month select',
17
17
  yearLabel: 'Year input',
18
18
  yearAutoComplete: 'bday-year',
19
- onChange: fn(),
20
19
  },
21
- };
20
+ } satisfies Meta<typeof DateInput>;
22
21
 
23
22
  export default meta;
24
23
 
25
- type Story = StoryObj<typeof DateInput>;
24
+ type Story = StoryObj<typeof meta>;
26
25
 
27
- const Basic: Story = {
26
+ const Basic = {
28
27
  args: {
29
28
  onChange: fn(),
30
29
  },
@@ -32,9 +31,9 @@ const Basic: Story = {
32
31
  const canvas = within(canvasElement);
33
32
  await userEvent.click(canvas.getByRole('combobox'));
34
33
  },
35
- };
34
+ } satisfies Story;
36
35
 
37
- export const WithLabel: Story = {
36
+ export const WithLabel = {
38
37
  args: {
39
38
  onChange: fn(),
40
39
  },
@@ -45,18 +44,18 @@ export const WithLabel: Story = {
45
44
  </Field>
46
45
  );
47
46
  },
48
- };
47
+ } satisfies Story;
49
48
 
50
- export const InputError: Story = {
49
+ export const InputError = {
51
50
  ...Basic,
52
51
  render: (args) => (
53
52
  <Field sentiment="negative" message={lorem10}>
54
53
  <DateInput {...args} value={new Date('2010-04-05')} />
55
54
  </Field>
56
55
  ),
57
- };
56
+ } satisfies Story;
58
57
 
59
- export const CustomPlaceholders: Story = {
58
+ export const CustomPlaceholders = {
60
59
  ...Basic,
61
60
  args: {
62
61
  placeholders: {
@@ -6,7 +6,7 @@ import { Meta, type StoryObj } from '@storybook/react';
6
6
 
7
7
  type Story = StoryObj<InputWithDisplayFormatProps & { label: string }>;
8
8
 
9
- const meta: Meta<typeof InputWithDisplayFormat> = {
9
+ const meta = {
10
10
  title: 'Forms/InputWithDisplayFormat',
11
11
  component: InputWithDisplayFormat,
12
12
  render: function Render({ label, ...args }: InputWithDisplayFormatProps & FieldProps) {