@transferwise/components 46.100.0 → 46.100.2

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 (606) 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 +1 -1
  18. package/build/avatarLayout/AvatarLayout.js.map +1 -1
  19. package/build/avatarLayout/AvatarLayout.mjs +1 -1
  20. package/build/avatarLayout/AvatarLayout.mjs.map +1 -1
  21. package/build/avatarView/AvatarView.js.map +1 -1
  22. package/build/avatarView/AvatarView.mjs.map +1 -1
  23. package/build/avatarView/NotificationDot.js.map +1 -1
  24. package/build/avatarView/NotificationDot.mjs.map +1 -1
  25. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  26. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  27. package/build/badge/Badge.js.map +1 -1
  28. package/build/badge/Badge.mjs.map +1 -1
  29. package/build/badge/BadgeAssets.js.map +1 -1
  30. package/build/badge/BadgeAssets.mjs.map +1 -1
  31. package/build/body/Body.js.map +1 -1
  32. package/build/body/Body.mjs.map +1 -1
  33. package/build/button/Button.js.map +1 -1
  34. package/build/button/Button.mjs.map +1 -1
  35. package/build/button/Button.resolver.js.map +1 -1
  36. package/build/button/Button.resolver.mjs.map +1 -1
  37. package/build/button/LegacyButton.js.map +1 -1
  38. package/build/button/LegacyButton.mjs.map +1 -1
  39. package/build/button/legacyUtils/legacyUtils.js.map +1 -1
  40. package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
  41. package/build/card/Card.js.map +1 -1
  42. package/build/card/Card.mjs.map +1 -1
  43. package/build/carousel/Carousel.js.map +1 -1
  44. package/build/carousel/Carousel.mjs.map +1 -1
  45. package/build/checkbox/Checkbox.js.map +1 -1
  46. package/build/checkbox/Checkbox.mjs.map +1 -1
  47. package/build/checkboxButton/CheckboxButton.js.map +1 -1
  48. package/build/checkboxButton/CheckboxButton.mjs.map +1 -1
  49. package/build/checkboxOption/CheckboxOption.js.map +1 -1
  50. package/build/checkboxOption/CheckboxOption.mjs.map +1 -1
  51. package/build/chevron/Chevron.js.map +1 -1
  52. package/build/chevron/Chevron.mjs.map +1 -1
  53. package/build/chips/Chip.js.map +1 -1
  54. package/build/chips/Chip.mjs.map +1 -1
  55. package/build/chips/Chips.js.map +1 -1
  56. package/build/chips/Chips.mjs.map +1 -1
  57. package/build/circularButton/CircularButton.js.map +1 -1
  58. package/build/circularButton/CircularButton.mjs.map +1 -1
  59. package/build/common/DOMOperations/DOMOperations.js.map +1 -1
  60. package/build/common/DOMOperations/DOMOperations.mjs.map +1 -1
  61. package/build/common/Option/Option.js.map +1 -1
  62. package/build/common/Option/Option.mjs.map +1 -1
  63. package/build/common/RadioButton/RadioButton.js.map +1 -1
  64. package/build/common/RadioButton/RadioButton.mjs.map +1 -1
  65. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  66. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  67. package/build/common/card/Card.js.map +1 -1
  68. package/build/common/card/Card.mjs.map +1 -1
  69. package/build/common/circle/Circle.js.map +1 -1
  70. package/build/common/circle/Circle.mjs.map +1 -1
  71. package/build/common/closeButton/CloseButton.js.map +1 -1
  72. package/build/common/closeButton/CloseButton.mjs.map +1 -1
  73. package/build/common/colors.js.map +1 -1
  74. package/build/common/colors.mjs.map +1 -1
  75. package/build/common/dateUtils/getDayNames/getDayNames.js.map +1 -1
  76. package/build/common/dateUtils/getDayNames/getDayNames.mjs.map +1 -1
  77. package/build/common/dateUtils/getMonthNames/getMonthNames.js.map +1 -1
  78. package/build/common/dateUtils/getMonthNames/getMonthNames.mjs.map +1 -1
  79. package/build/common/dateUtils/isDateValid/isDateValid.js.map +1 -1
  80. package/build/common/dateUtils/isDateValid/isDateValid.mjs.map +1 -1
  81. package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.js.map +1 -1
  82. package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.mjs.map +1 -1
  83. package/build/common/deviceDetection/deviceDetection.js.map +1 -1
  84. package/build/common/deviceDetection/deviceDetection.mjs.map +1 -1
  85. package/build/common/direction.js.map +1 -1
  86. package/build/common/direction.mjs.map +1 -1
  87. package/build/common/domHelpers/documentIosClick.js.map +1 -1
  88. package/build/common/domHelpers/documentIosClick.mjs.map +1 -1
  89. package/build/common/fileType.js.map +1 -1
  90. package/build/common/fileType.mjs.map +1 -1
  91. package/build/common/flowHeader/FlowHeader.js.map +1 -1
  92. package/build/common/flowHeader/FlowHeader.mjs.map +1 -1
  93. package/build/common/focusBoundary/FocusBoundary.js.map +1 -1
  94. package/build/common/focusBoundary/FocusBoundary.mjs.map +1 -1
  95. package/build/common/historyNavigator/historyNavigator.js.map +1 -1
  96. package/build/common/historyNavigator/historyNavigator.mjs.map +1 -1
  97. package/build/common/hooks/useConditionalListener/useConditionalListener.js.map +1 -1
  98. package/build/common/hooks/useConditionalListener/useConditionalListener.mjs.map +1 -1
  99. package/build/common/hooks/useDirection/useDirection.js.map +1 -1
  100. package/build/common/hooks/useDirection/useDirection.mjs.map +1 -1
  101. package/build/common/hooks/useEffectEvent.js.map +1 -1
  102. package/build/common/hooks/useEffectEvent.mjs.map +1 -1
  103. package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
  104. package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
  105. package/build/common/hooks/useLayout/useLayout.js.map +1 -1
  106. package/build/common/hooks/useLayout/useLayout.mjs.map +1 -1
  107. package/build/common/hooks/useMedia.js.map +1 -1
  108. package/build/common/hooks/useMedia.mjs.map +1 -1
  109. package/build/common/hooks/useResizeObserver.js.map +1 -1
  110. package/build/common/hooks/useResizeObserver.mjs.map +1 -1
  111. package/build/common/hooks/useScreenSize.js.map +1 -1
  112. package/build/common/hooks/useScreenSize.mjs.map +1 -1
  113. package/build/common/hooks/useVirtualKeyboard.js.map +1 -1
  114. package/build/common/hooks/useVirtualKeyboard.mjs.map +1 -1
  115. package/build/common/initials.js.map +1 -1
  116. package/build/common/initials.mjs.map +1 -1
  117. package/build/common/locale/index.js +1 -1
  118. package/build/common/locale/index.js.map +1 -1
  119. package/build/common/locale/index.mjs +1 -1
  120. package/build/common/locale/index.mjs.map +1 -1
  121. package/build/common/panel/Panel.js.map +1 -1
  122. package/build/common/panel/Panel.mjs.map +1 -1
  123. package/build/common/propsValues/breakpoint.js.map +1 -1
  124. package/build/common/propsValues/breakpoint.mjs.map +1 -1
  125. package/build/common/propsValues/control.js.map +1 -1
  126. package/build/common/propsValues/control.mjs.map +1 -1
  127. package/build/common/propsValues/dateMode.js.map +1 -1
  128. package/build/common/propsValues/dateMode.mjs.map +1 -1
  129. package/build/common/propsValues/layouts.js.map +1 -1
  130. package/build/common/propsValues/layouts.mjs.map +1 -1
  131. package/build/common/propsValues/markdownNodeType.js.map +1 -1
  132. package/build/common/propsValues/markdownNodeType.mjs.map +1 -1
  133. package/build/common/propsValues/monthFormat.js.map +1 -1
  134. package/build/common/propsValues/monthFormat.mjs.map +1 -1
  135. package/build/common/propsValues/position.js.map +1 -1
  136. package/build/common/propsValues/position.mjs.map +1 -1
  137. package/build/common/propsValues/profileType.js.map +1 -1
  138. package/build/common/propsValues/profileType.mjs.map +1 -1
  139. package/build/common/propsValues/scroll.js.map +1 -1
  140. package/build/common/propsValues/scroll.mjs.map +1 -1
  141. package/build/common/propsValues/sentiment.js.map +1 -1
  142. package/build/common/propsValues/sentiment.mjs.map +1 -1
  143. package/build/common/propsValues/size.js.map +1 -1
  144. package/build/common/propsValues/size.mjs.map +1 -1
  145. package/build/common/propsValues/status.js.map +1 -1
  146. package/build/common/propsValues/status.mjs.map +1 -1
  147. package/build/common/propsValues/type.js.map +1 -1
  148. package/build/common/propsValues/type.mjs.map +1 -1
  149. package/build/common/propsValues/typography.js.map +1 -1
  150. package/build/common/propsValues/typography.mjs.map +1 -1
  151. package/build/common/propsValues/variant.js.map +1 -1
  152. package/build/common/propsValues/variant.mjs.map +1 -1
  153. package/build/common/propsValues/width.js.map +1 -1
  154. package/build/common/propsValues/width.mjs.map +1 -1
  155. package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
  156. package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
  157. package/build/common/textFormat/formatWithPattern/formatWithPattern.js.map +1 -1
  158. package/build/common/textFormat/formatWithPattern/formatWithPattern.mjs.map +1 -1
  159. package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.js.map +1 -1
  160. package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.mjs.map +1 -1
  161. package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.js.map +1 -1
  162. package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.mjs.map +1 -1
  163. package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.js.map +1 -1
  164. package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.mjs.map +1 -1
  165. package/build/common/textFormat/unformatWithPattern/unformatWithPattern.js.map +1 -1
  166. package/build/common/textFormat/unformatWithPattern/unformatWithPattern.mjs.map +1 -1
  167. package/build/common/theme.js.map +1 -1
  168. package/build/common/theme.mjs.map +1 -1
  169. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  170. package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
  171. package/build/dateInput/DateInput.js.map +1 -1
  172. package/build/dateInput/DateInput.mjs.map +1 -1
  173. package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.js.map +1 -1
  174. package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.mjs.map +1 -1
  175. package/build/dateLookup/DateLookup.js +3 -2
  176. package/build/dateLookup/DateLookup.js.map +1 -1
  177. package/build/dateLookup/DateLookup.mjs +3 -2
  178. package/build/dateLookup/DateLookup.mjs.map +1 -1
  179. package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
  180. package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
  181. package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
  182. package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
  183. package/build/dateLookup/dayCalendar/DayCalendar.js.map +1 -1
  184. package/build/dateLookup/dayCalendar/DayCalendar.mjs.map +1 -1
  185. package/build/dateLookup/dayCalendar/table/DayCalendarTable.js.map +1 -1
  186. package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs.map +1 -1
  187. package/build/dateLookup/getStartOfDay/getStartOfDay.js.map +1 -1
  188. package/build/dateLookup/getStartOfDay/getStartOfDay.mjs.map +1 -1
  189. package/build/dateLookup/monthCalendar/MonthCalendar.js.map +1 -1
  190. package/build/dateLookup/monthCalendar/MonthCalendar.mjs.map +1 -1
  191. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.js.map +1 -1
  192. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.mjs.map +1 -1
  193. package/build/dateLookup/tableLink/TableLink.js.map +1 -1
  194. package/build/dateLookup/tableLink/TableLink.mjs.map +1 -1
  195. package/build/dateLookup/yearCalendar/YearCalendar.js.map +1 -1
  196. package/build/dateLookup/yearCalendar/YearCalendar.mjs.map +1 -1
  197. package/build/dateLookup/yearCalendar/table/YearCalendarTable.js.map +1 -1
  198. package/build/dateLookup/yearCalendar/table/YearCalendarTable.mjs.map +1 -1
  199. package/build/decision/Decision.js.map +1 -1
  200. package/build/decision/Decision.mjs.map +1 -1
  201. package/build/definitionList/DefinitionList.js.map +1 -1
  202. package/build/definitionList/DefinitionList.mjs.map +1 -1
  203. package/build/dimmer/Dimmer.js.map +1 -1
  204. package/build/dimmer/Dimmer.mjs.map +1 -1
  205. package/build/dimmer/dimmerManager/DimmerManager.js.map +1 -1
  206. package/build/dimmer/dimmerManager/DimmerManager.mjs.map +1 -1
  207. package/build/display/Display.js.map +1 -1
  208. package/build/display/Display.mjs.map +1 -1
  209. package/build/divider/Divider.js.map +1 -1
  210. package/build/divider/Divider.mjs.map +1 -1
  211. package/build/drawer/Drawer.js.map +1 -1
  212. package/build/drawer/Drawer.mjs.map +1 -1
  213. package/build/dropFade/DropFade.js.map +1 -1
  214. package/build/dropFade/DropFade.mjs.map +1 -1
  215. package/build/emphasis/Emphasis.js.map +1 -1
  216. package/build/emphasis/Emphasis.mjs.map +1 -1
  217. package/build/emphasis/EmphasisHtmlTransformer.js.map +1 -1
  218. package/build/emphasis/EmphasisHtmlTransformer.mjs.map +1 -1
  219. package/build/field/Field.js.map +1 -1
  220. package/build/field/Field.mjs.map +1 -1
  221. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  222. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  223. package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -1
  224. package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -1
  225. package/build/header/Header.js.map +1 -1
  226. package/build/header/Header.mjs.map +1 -1
  227. package/build/i18n/index.js +2 -0
  228. package/build/i18n/index.js.map +1 -1
  229. package/build/i18n/index.mjs +2 -0
  230. package/build/i18n/index.mjs.map +1 -1
  231. package/build/i18n/nl.json.js +81 -0
  232. package/build/i18n/nl.json.js.map +1 -0
  233. package/build/i18n/nl.json.mjs +77 -0
  234. package/build/i18n/nl.json.mjs.map +1 -0
  235. package/build/image/Image.js.map +1 -1
  236. package/build/image/Image.mjs.map +1 -1
  237. package/build/info/Info.js.map +1 -1
  238. package/build/info/Info.mjs.map +1 -1
  239. package/build/info/infoPresentations.js.map +1 -1
  240. package/build/info/infoPresentations.mjs.map +1 -1
  241. package/build/inlineAlert/InlineAlert.js.map +1 -1
  242. package/build/inlineAlert/InlineAlert.mjs.map +1 -1
  243. package/build/inputs/Input.js.map +1 -1
  244. package/build/inputs/Input.mjs.map +1 -1
  245. package/build/inputs/InputGroup.js.map +1 -1
  246. package/build/inputs/InputGroup.mjs.map +1 -1
  247. package/build/inputs/SearchInput.js.map +1 -1
  248. package/build/inputs/SearchInput.mjs.map +1 -1
  249. package/build/inputs/SelectInput.js.map +1 -1
  250. package/build/inputs/SelectInput.mjs.map +1 -1
  251. package/build/inputs/_BottomSheet.js.map +1 -1
  252. package/build/inputs/_BottomSheet.mjs.map +1 -1
  253. package/build/inputs/_ButtonInput.js.map +1 -1
  254. package/build/inputs/_ButtonInput.mjs.map +1 -1
  255. package/build/inputs/_Popover.js.map +1 -1
  256. package/build/inputs/_Popover.mjs.map +1 -1
  257. package/build/inputs/contexts.js.map +1 -1
  258. package/build/inputs/contexts.mjs.map +1 -1
  259. package/build/instructionsList/InstructionsList.js.map +1 -1
  260. package/build/instructionsList/InstructionsList.mjs.map +1 -1
  261. package/build/label/Label.js.map +1 -1
  262. package/build/label/Label.mjs.map +1 -1
  263. package/build/legacylistItem/LegacyListItem.js.map +1 -1
  264. package/build/legacylistItem/LegacyListItem.mjs.map +1 -1
  265. package/build/legacylistItem/List.js.map +1 -1
  266. package/build/legacylistItem/List.mjs.map +1 -1
  267. package/build/link/Link.js.map +1 -1
  268. package/build/link/Link.mjs.map +1 -1
  269. package/build/loader/Loader.js.map +1 -1
  270. package/build/loader/Loader.mjs.map +1 -1
  271. package/build/logo/Logo.js.map +1 -1
  272. package/build/logo/Logo.mjs.map +1 -1
  273. package/build/logo/logo-assets.js.map +1 -1
  274. package/build/logo/logo-assets.mjs.map +1 -1
  275. package/build/main.css +4 -94
  276. package/build/markdown/Markdown.js.map +1 -1
  277. package/build/markdown/Markdown.mjs.map +1 -1
  278. package/build/mocks.js.map +1 -1
  279. package/build/mocks.mjs.map +1 -1
  280. package/build/modal/Modal.js.map +1 -1
  281. package/build/modal/Modal.mjs.map +1 -1
  282. package/build/money/Money.js.map +1 -1
  283. package/build/money/Money.mjs.map +1 -1
  284. package/build/moneyInput/MoneyInput.js.map +1 -1
  285. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  286. package/build/moneyInput/currencyFormatting.js.map +1 -1
  287. package/build/moneyInput/currencyFormatting.mjs.map +1 -1
  288. package/build/navigationOption/NavigationOption.js.map +1 -1
  289. package/build/navigationOption/NavigationOption.mjs.map +1 -1
  290. package/build/navigationOptionsList/NavigationOptionsList.js.map +1 -1
  291. package/build/navigationOptionsList/NavigationOptionsList.mjs.map +1 -1
  292. package/build/nudge/Nudge.js.map +1 -1
  293. package/build/nudge/Nudge.mjs.map +1 -1
  294. package/build/overlayHeader/OverlayHeader.js.map +1 -1
  295. package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
  296. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  297. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  298. package/build/phoneNumberInput/data/countries.js.map +1 -1
  299. package/build/phoneNumberInput/data/countries.mjs.map +1 -1
  300. package/build/phoneNumberInput/utils/explodeNumberModel/index.js.map +1 -1
  301. package/build/phoneNumberInput/utils/explodeNumberModel/index.mjs.map +1 -1
  302. package/build/phoneNumberInput/utils/findCountryByCode/index.js.map +1 -1
  303. package/build/phoneNumberInput/utils/findCountryByCode/index.mjs.map +1 -1
  304. package/build/phoneNumberInput/utils/findCountryByPrefix/index.js.map +1 -1
  305. package/build/phoneNumberInput/utils/findCountryByPrefix/index.mjs.map +1 -1
  306. package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js.map +1 -1
  307. package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs.map +1 -1
  308. package/build/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.js.map +1 -1
  309. package/build/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.mjs.map +1 -1
  310. package/build/phoneNumberInput/utils/longestMatchingPrefix/index.js.map +1 -1
  311. package/build/phoneNumberInput/utils/longestMatchingPrefix/index.mjs.map +1 -1
  312. package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.js.map +1 -1
  313. package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.mjs.map +1 -1
  314. package/build/popover/Popover.js.map +1 -1
  315. package/build/popover/Popover.mjs.map +1 -1
  316. package/build/primitives/PrimitiveAnchor/PrimitiveAnchor.js.map +1 -1
  317. package/build/primitives/PrimitiveAnchor/PrimitiveAnchor.mjs.map +1 -1
  318. package/build/primitives/PrimitiveButton/PrimitiveButton.js.map +1 -1
  319. package/build/primitives/PrimitiveButton/PrimitiveButton.mjs.map +1 -1
  320. package/build/processIndicator/ProcessIndicator.js.map +1 -1
  321. package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
  322. package/build/progress/Progress.js.map +1 -1
  323. package/build/progress/Progress.mjs.map +1 -1
  324. package/build/progressBar/ProgressBar.js.map +1 -1
  325. package/build/progressBar/ProgressBar.mjs.map +1 -1
  326. package/build/promoCard/PromoCard.js.map +1 -1
  327. package/build/promoCard/PromoCard.mjs.map +1 -1
  328. package/build/promoCard/PromoCardContext.js.map +1 -1
  329. package/build/promoCard/PromoCardContext.mjs.map +1 -1
  330. package/build/promoCard/PromoCardGroup.js.map +1 -1
  331. package/build/promoCard/PromoCardGroup.mjs.map +1 -1
  332. package/build/promoCard/PromoCardIndicator.js.map +1 -1
  333. package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
  334. package/build/provider/Provider.js.map +1 -1
  335. package/build/provider/Provider.mjs.map +1 -1
  336. package/build/provider/direction/DirectionProvider.js.map +1 -1
  337. package/build/provider/direction/DirectionProvider.mjs.map +1 -1
  338. package/build/provider/language/LanguageProvider.js.map +1 -1
  339. package/build/provider/language/LanguageProvider.mjs.map +1 -1
  340. package/build/provider/overlay/OverlayIdProvider.js.map +1 -1
  341. package/build/provider/overlay/OverlayIdProvider.mjs.map +1 -1
  342. package/build/radio/Radio.js.map +1 -1
  343. package/build/radio/Radio.mjs.map +1 -1
  344. package/build/radioGroup/RadioGroup.js.map +1 -1
  345. package/build/radioGroup/RadioGroup.mjs.map +1 -1
  346. package/build/radioOption/RadioOption.js.map +1 -1
  347. package/build/radioOption/RadioOption.mjs.map +1 -1
  348. package/build/section/Section.js.map +1 -1
  349. package/build/section/Section.mjs.map +1 -1
  350. package/build/segmentedControl/SegmentedControl.js.map +1 -1
  351. package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
  352. package/build/select/Select.js.map +1 -1
  353. package/build/select/Select.mjs.map +1 -1
  354. package/build/select/option/Option.js.map +1 -1
  355. package/build/select/option/Option.mjs.map +1 -1
  356. package/build/select/searchBox/SearchBox.js.map +1 -1
  357. package/build/select/searchBox/SearchBox.mjs.map +1 -1
  358. package/build/slidingPanel/SlidingPanel.js.map +1 -1
  359. package/build/slidingPanel/SlidingPanel.mjs.map +1 -1
  360. package/build/snackbar/Snackbar.js.map +1 -1
  361. package/build/snackbar/Snackbar.mjs.map +1 -1
  362. package/build/snackbar/SnackbarContext.js.map +1 -1
  363. package/build/snackbar/SnackbarContext.mjs.map +1 -1
  364. package/build/snackbar/SnackbarProvider.js.map +1 -1
  365. package/build/snackbar/SnackbarProvider.mjs.map +1 -1
  366. package/build/snackbar/useSnackbar.js.map +1 -1
  367. package/build/snackbar/useSnackbar.mjs.map +1 -1
  368. package/build/statusIcon/StatusIcon.js.map +1 -1
  369. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  370. package/build/stepper/Stepper.js.map +1 -1
  371. package/build/stepper/Stepper.mjs.map +1 -1
  372. package/build/stepper/deviceDetection.js.map +1 -1
  373. package/build/stepper/deviceDetection.mjs.map +1 -1
  374. package/build/sticky/Sticky.js.map +1 -1
  375. package/build/sticky/Sticky.mjs.map +1 -1
  376. package/build/styles/accordion/Accordion.css +27 -16
  377. package/build/styles/avatar/Avatar.css +95 -50
  378. package/build/styles/inputs/Input.css +37 -21
  379. package/build/styles/inputs/TextArea.css +35 -20
  380. package/build/styles/loader/Loader.css +4 -90
  381. package/build/styles/main.css +4 -94
  382. package/build/styles/popover/Popover.css +19 -12
  383. package/build/styles/select/Select.css +131 -68
  384. package/build/styles/switch/Switch.css +27 -16
  385. package/build/styles/tile/Tile.css +31 -18
  386. package/build/summary/Summary.js.map +1 -1
  387. package/build/summary/Summary.mjs.map +1 -1
  388. package/build/switch/Switch.js.map +1 -1
  389. package/build/switch/Switch.mjs.map +1 -1
  390. package/build/switchOption/SwitchOption.js.map +1 -1
  391. package/build/switchOption/SwitchOption.mjs.map +1 -1
  392. package/build/table/Table.js.map +1 -1
  393. package/build/table/Table.mjs.map +1 -1
  394. package/build/table/TableCell.js.map +1 -1
  395. package/build/table/TableCell.mjs.map +1 -1
  396. package/build/table/TableHeader.js.map +1 -1
  397. package/build/table/TableHeader.mjs.map +1 -1
  398. package/build/table/TableRow.js.map +1 -1
  399. package/build/table/TableRow.mjs.map +1 -1
  400. package/build/table/TableStatusText.js.map +1 -1
  401. package/build/table/TableStatusText.mjs.map +1 -1
  402. package/build/tabs/Tab.js.map +1 -1
  403. package/build/tabs/Tab.mjs.map +1 -1
  404. package/build/tabs/TabList.js.map +1 -1
  405. package/build/tabs/TabList.mjs.map +1 -1
  406. package/build/tabs/TabPanel.js.map +1 -1
  407. package/build/tabs/TabPanel.mjs.map +1 -1
  408. package/build/tabs/Tabs.js.map +1 -1
  409. package/build/tabs/Tabs.mjs.map +1 -1
  410. package/build/tabs/utils.js.map +1 -1
  411. package/build/tabs/utils.mjs.map +1 -1
  412. package/build/tile/Tile.js.map +1 -1
  413. package/build/tile/Tile.mjs.map +1 -1
  414. package/build/title/Title.js.map +1 -1
  415. package/build/title/Title.mjs.map +1 -1
  416. package/build/tooltip/Tooltip.js.map +1 -1
  417. package/build/tooltip/Tooltip.mjs.map +1 -1
  418. package/build/typeahead/Typeahead.js.map +1 -1
  419. package/build/typeahead/Typeahead.mjs.map +1 -1
  420. package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -1
  421. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -1
  422. package/build/typeahead/typeaheadOption/TypeaheadOption.js.map +1 -1
  423. package/build/typeahead/typeaheadOption/TypeaheadOption.mjs.map +1 -1
  424. package/build/typeahead/util/highlight.js.map +1 -1
  425. package/build/typeahead/util/highlight.mjs.map +1 -1
  426. package/build/types/common/locale/index.d.ts.map +1 -1
  427. package/build/types/dateLookup/DateLookup.d.ts +2 -2
  428. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  429. package/build/types/i18n/index.d.ts.map +1 -1
  430. package/build/types/test-utils/story-config.d.ts +2 -3
  431. package/build/types/test-utils/story-config.d.ts.map +1 -1
  432. package/build/upload/Upload.js.map +1 -1
  433. package/build/upload/Upload.mjs.map +1 -1
  434. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  435. package/build/upload/steps/completeStep/completeStep.mjs.map +1 -1
  436. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  437. package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
  438. package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
  439. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
  440. package/build/upload/utils/asyncFileRead/asyncFileRead.js.map +1 -1
  441. package/build/upload/utils/asyncFileRead/asyncFileRead.mjs.map +1 -1
  442. package/build/upload/utils/getFileType/getFileType.js.map +1 -1
  443. package/build/upload/utils/getFileType/getFileType.mjs.map +1 -1
  444. package/build/upload/utils/isSizeValid/isSizeValid.js.map +1 -1
  445. package/build/upload/utils/isSizeValid/isSizeValid.mjs.map +1 -1
  446. package/build/upload/utils/isTypeValid/isTypeValid.js.map +1 -1
  447. package/build/upload/utils/isTypeValid/isTypeValid.mjs.map +1 -1
  448. package/build/upload/utils/postData/postData.js.map +1 -1
  449. package/build/upload/utils/postData/postData.mjs.map +1 -1
  450. package/build/uploadInput/UploadInput.js.map +1 -1
  451. package/build/uploadInput/UploadInput.mjs.map +1 -1
  452. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  453. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  454. package/build/uploadInput/uploadButton/defaults.js.map +1 -1
  455. package/build/uploadInput/uploadButton/defaults.mjs.map +1 -1
  456. package/build/uploadInput/uploadButton/getAllowedFileTypes.js.map +1 -1
  457. package/build/uploadInput/uploadButton/getAllowedFileTypes.mjs.map +1 -1
  458. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  459. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  460. package/build/uploadInput/uploadItem/UploadItemLink.js.map +1 -1
  461. package/build/uploadInput/uploadItem/UploadItemLink.mjs.map +1 -1
  462. package/build/utilities/cssValueWithUnit.js.map +1 -1
  463. package/build/utilities/cssValueWithUnit.mjs.map +1 -1
  464. package/build/utilities/logActionRequired.js.map +1 -1
  465. package/build/utilities/logActionRequired.mjs.map +1 -1
  466. package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -1
  467. package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -1
  468. package/build/withId/withId.js.map +1 -1
  469. package/build/withId/withId.mjs.map +1 -1
  470. package/build/withNextPortal/withNextPortal.js.map +1 -1
  471. package/build/withNextPortal/withNextPortal.mjs.map +1 -1
  472. package/package.json +37 -45
  473. package/src/accordion/Accordion.css +27 -16
  474. package/src/accordion/Accordion.story.tsx +31 -22
  475. package/src/actionButton/ActionButton.story.tsx +3 -3
  476. package/src/actionOption/ActionOption.story.tsx +2 -3
  477. package/src/alert/Alert.story.tsx +3 -3
  478. package/src/alert/Alert.tests.story.tsx +2 -2
  479. package/src/avatar/Avatar.css +95 -50
  480. package/src/avatar/Avatar.spec.tsx +7 -4
  481. package/src/avatar/Avatar.story.tsx +3 -3
  482. package/src/avatarLayout/AvatarLayout.story.tsx +1 -4
  483. package/src/avatarLayout/AvatarLayout.tsx +1 -1
  484. package/src/avatarView/AvatarView.story.tsx +1 -7
  485. package/src/avatarWrapper/AvatarWrapper.story.tsx +3 -3
  486. package/src/badge/Badge.story.tsx +49 -29
  487. package/src/body/Body.story.tsx +0 -1
  488. package/src/button/Button.accessibility.docs.mdx +1 -1
  489. package/src/button/Button.story.tsx +3 -3
  490. package/src/button/Button.tests.story.tsx +2 -2
  491. package/src/button/LegacyButton.story.tsx +4 -3
  492. package/src/card/Card.story.tsx +2 -3
  493. package/src/carousel/Carousel.story.tsx +1 -1
  494. package/src/checkbox/Checkbox.story.tsx +2 -3
  495. package/src/checkboxButton/CheckboxButton.story.tsx +3 -3
  496. package/src/checkboxOption/CheckboxOption.story.tsx +35 -30
  497. package/src/chevron/Chevron.story.tsx +1 -2
  498. package/src/chips/Chips.story.tsx +1 -2
  499. package/src/circularButton/CircularButton.story.tsx +2 -2
  500. package/src/circularButton/CircularButton.tests.story.tsx +1 -1
  501. package/src/common/bottomSheet/BottomSheet.story.tsx +7 -6
  502. package/src/common/card/Card.story.tsx +1 -2
  503. package/src/common/circle/Circle.story.tsx +2 -3
  504. package/src/common/locale/index.spec.ts +29 -17
  505. package/src/common/locale/index.ts +2 -0
  506. package/src/common/responsivePanel/ResponsivePanel.spec.js +8 -29
  507. package/src/criticalBanner/CriticalCommsBanner.story.tsx +1 -2
  508. package/src/dateInput/DateInput.story.tsx +2 -3
  509. package/src/dateInput/DateInput.tests.story.tsx +2 -2
  510. package/src/dateLookup/DateLookup.spec.tsx +5 -5
  511. package/src/dateLookup/DateLookup.story.tsx +43 -71
  512. package/src/dateLookup/DateLookup.tests.story.tsx +3 -3
  513. package/src/dateLookup/DateLookup.tsx +4 -1
  514. package/src/decision/Decision.story.tsx +24 -49
  515. package/src/definitionList/DefinitionList.story.tsx +1 -1
  516. package/src/dimmer/Dimmer.story.tsx +2 -2
  517. package/src/divider/Divider.accessibility.docs.mdx +1 -1
  518. package/src/divider/Divider.story.tsx +2 -2
  519. package/src/drawer/Drawer.story.tsx +13 -7
  520. package/src/dropFade/DropFade.story.tsx +1 -1
  521. package/src/emphasis/Emphasis.spec.tsx +8 -8
  522. package/src/emphasis/Emphasis.story.tsx +1 -2
  523. package/src/field/Field.story.tsx +4 -4
  524. package/src/flowNavigation/FlowNavigation.story.tsx +305 -260
  525. package/src/i18n/index.ts +2 -0
  526. package/src/iconButton/IconButton.story.tsx +2 -3
  527. package/src/image/Image.story.tsx +27 -54
  528. package/src/info/Info.story.tsx +3 -2
  529. package/src/inlineAlert/InlineAlert.story.tsx +1 -1
  530. package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.tsx +3 -2
  531. package/src/inputs/Input.css +37 -21
  532. package/src/inputs/InputGroup.story.tsx +1 -1
  533. package/src/inputs/SearchInput.story.tsx +1 -1
  534. package/src/inputs/SelectInput.docs.mdx +1 -1
  535. package/src/inputs/SelectInput.story.tsx +3 -3
  536. package/src/inputs/TextArea.css +35 -20
  537. package/src/instructionsList/InstructionsList.story.tsx +2 -3
  538. package/src/label/Label.story.tsx +0 -1
  539. package/src/legacylistItem/LegacyListItem.story.tsx +1 -2
  540. package/src/loader/Loader.css +4 -90
  541. package/src/loader/Loader.story.tsx +1 -2
  542. package/src/logo/Logo.story.tsx +1 -2
  543. package/src/main.css +4 -94
  544. package/src/markdown/Markdown.story.tsx +1 -2
  545. package/src/modal/Modal.story.tsx +13 -8
  546. package/src/money/Money.story.tsx +1 -1
  547. package/src/moneyInput/MoneyInput.docs.mdx +1 -1
  548. package/src/moneyInput/MoneyInput.spec.tsx +8 -5
  549. package/src/moneyInput/MoneyInput.story.tsx +2 -3
  550. package/src/moneyInput/currencyFormatting.spec.ts +1 -1
  551. package/src/navigationOption/NavigationOption.story.tsx +264 -226
  552. package/src/nudge/Nudge.story.tsx +1 -1
  553. package/src/overlayHeader/OverlayHeader.story.tsx +32 -24
  554. package/src/phoneNumberInput/PhoneNumberInput.story.tsx +1 -2
  555. package/src/phoneNumberInput/utils/setDefaultPrefix/setDefaultPrefix.spec.ts +6 -3
  556. package/src/popover/Popover.css +19 -12
  557. package/src/popover/Popover.story.tsx +3 -3
  558. package/src/primitives/PrimitiveAnchor/stories/PrimitiveAnchor.story.tsx +2 -3
  559. package/src/primitives/PrimitiveAnchor/stories/PrimitiveAnchor.tests.story.tsx +2 -2
  560. package/src/primitives/PrimitiveButton/stories/PrimitiveButton.story.tsx +2 -3
  561. package/src/primitives/PrimitiveButton/stories/PrimitiveButton.tests.story.tsx +2 -3
  562. package/src/processIndicator/ProcessIndicator.story.tsx +1 -2
  563. package/src/progress/Progress.story.tsx +1 -1
  564. package/src/progressBar/ProgressBar.story.tsx +1 -2
  565. package/src/promoCard/PromoCard.story.tsx +2 -2
  566. package/src/promoCard/PromoCardGroup.story.tsx +1 -2
  567. package/src/provider/Provider.spec.tsx +2 -2
  568. package/src/provider/Provider.story.tsx +1 -1
  569. package/src/provider/direction/DirectionProvider.spec.tsx +1 -1
  570. package/src/provider/language/LanguageProvider.spec.tsx +1 -1
  571. package/src/provider/theme/ThemeProvider.story.tsx +1 -1
  572. package/src/radio/Radio.story.tsx +59 -42
  573. package/src/radioGroup/RadioGroup.story.tsx +2 -2
  574. package/src/radioOption/RadioOption.story.tsx +73 -38
  575. package/src/segmentedControl/SegmentedControl.story.tsx +1 -1
  576. package/src/select/Select.css +131 -68
  577. package/src/select/Select.story.tsx +385 -397
  578. package/src/slidingPanel/SlidingPanel.story.tsx +30 -13
  579. package/src/snackbar/Snackbar.story.tsx +50 -36
  580. package/src/snackbar/Snackbar.tests.story.tsx +3 -2
  581. package/src/statusIcon/StatusIcon.docs.mdx +1 -1
  582. package/src/statusIcon/StatusIcon.spec.tsx +8 -5
  583. package/src/statusIcon/StatusIcon.story.tsx +2 -2
  584. package/src/stepper/Stepper.story.tsx +2 -3
  585. package/src/stepper/Stepper.tests.story.tsx +2 -2
  586. package/src/sticky/Sticky.story.tsx +2 -2
  587. package/src/summary/Summary.story.tsx +18 -17
  588. package/src/switch/Switch.css +27 -16
  589. package/src/switch/Switch.story.tsx +2 -3
  590. package/src/switchOption/SwitchOption.story.tsx +2 -2
  591. package/src/table/Table.story.tsx +1 -2
  592. package/src/tabs/Tabs.story.tsx +0 -1
  593. package/src/test-utils/story-config.ts +9 -6
  594. package/src/textareaWithDisplayFormat/TextareaWithDisplayFormat.story.tsx +2 -2
  595. package/src/tile/Tile.css +31 -18
  596. package/src/tile/Tile.story.tsx +43 -43
  597. package/src/tooltip/Tooltip.story.tsx +2 -3
  598. package/src/typeahead/Typeahead.story.tsx +3 -2
  599. package/src/upload/Upload.story.tsx +3 -3
  600. package/src/upload/Upload.tests.story.tsx +2 -2
  601. package/src/upload/utils/isTypeValid/isTypeValid.spec.ts +3 -1
  602. package/src/uploadInput/UploadInput.story.tsx +1 -2
  603. package/src/uploadInput/UploadInput.tests.story.tsx +3 -3
  604. package/src/withId/withId.docs.mdx +1 -1
  605. package/src/withId/withId.story.tsx +1 -1
  606. package/src/common/responsivePanel/__snapshots__/ResponsivePanel.spec.js.snap +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.mjs","sources":["../../src/tile/Tile.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Body from '../body';\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nexport interface TileProps {\n /** Classes to apply to the Tile container */\n /** A label for the accordion item, used for accessibility purposes. */\n 'aria-label'?: string;\n className?: string;\n description?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n /** Accepts only Avatar and images */\n media: React.ReactNode;\n /** Function called onClick or onKeyDown */\n onClick?: (event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** The size applied to Tile */\n size?: `${Size.SMALL | Size.MEDIUM}`;\n title: React.ReactNode;\n}\n\nexport default function Tile({\n 'aria-label': ariaLabel,\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size = 'md',\n title,\n}: TileProps) {\n const isSmall = size === 'sm';\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={clsx(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n aria-label={ariaLabel}\n onClick={disabled ? undefined : onClick}\n onKeyDown={\n disabled\n ? undefined\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick?.();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={clsx(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n}\n"],"names":["Tile","ariaLabel","className","description","disabled","href","target","media","onClick","size","title","isSmall","Element","_jsxs","clsx","undefined","onKeyDown","key","children","_jsx","Title","type","Typography","TITLE_SUBSECTION","Body","as","BODY_DEFAULT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBwB,SAAAA,IAAIA,CAAC;AAC3B,EAAA,YAAY,EAAEC,SAAS;EACvBC,SAAS;EACTC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,OAAO;AACPC,EAAAA,IAAI,GAAG,IAAI;AACXC,EAAAA;AACU,CAAA,EAAA;AACV,EAAA,MAAMC,OAAO,GAAGF,IAAI,KAAK,IAAI;AAC7B,EAAA,MAAMG,OAAO,GAAGP,IAAI,GAAG,GAAG,GAAG,QAAQ;EAErC,oBACEQ,IAAA,CAACD,OAAO,EAAA;AACNV,IAAAA,SAAS,EAAEY,IAAI,CACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChBZ,SAAS,EACT;MACE,OAAO,EAAE,CAACS,OAAO;AACjB,MAAA,sBAAsB,EAAEA;AACzB,KAAA,EACDP,QAAQ,IAAI,UAAU,CACtB;AACFC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EAAYL,SAAU;AACtBO,IAAAA,OAAO,EAAEJ,QAAQ,GAAGW,SAAS,GAAGP,OAAQ;AACxCQ,IAAAA,SAAS,EACPZ,QAAQ,GACJW,SAAS,GACT,CAAC;AAAEE,MAAAA;AAAG,KAAE,KAAI;AACV,MAAA,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;AAClCT,QAAAA,OAAO,IAAI;AACb;KAEP;AAAAU,IAAAA,QAAA,gBAEDC,GAAA,CAAA,KAAA,EAAA;AAAKjB,MAAAA,SAAS,EAAC,8CAA8C;AAAAgB,MAAAA,QAAA,EAAEX;AAAK,KAAM,CAC1E,eAAAY,GAAA,CAACC,KAAK,EAAA;MAACC,IAAI,EAAEC,UAAU,CAACC,gBAAiB;MAACrB,SAAS,EAAEY,IAAI,CAACH,OAAO,GAAG,OAAO,GAAG,OAAO,CAAE;AAAAO,MAAAA,QAAA,EACpFR;AAAK,KACD,CACP,EAACP,WAAW,gBACVgB,GAAA,CAACK,IAAI,EAAA;AAACC,MAAAA,EAAE,EAAC,MAAM;MAACJ,IAAI,EAAEC,UAAU,CAACI,YAAa;AAACxB,MAAAA,SAAS,EAAC,OAAO;AAAAgB,MAAAA,QAAA,EAC7Df;KACG,CAAC,GACL,IAAI;AAAA,GACD,CAAC;AAEd;;;;"}
1
+ {"version":3,"file":"Tile.mjs","sources":["../../src/tile/Tile.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Body from '../body';\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nexport interface TileProps {\n /** Classes to apply to the Tile container */\n /** A label for the accordion item, used for accessibility purposes. */\n 'aria-label'?: string;\n className?: string;\n description?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n /** Accepts only Avatar and images */\n media: React.ReactNode;\n /** Function called onClick or onKeyDown */\n onClick?: (event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** The size applied to Tile */\n size?: `${Size.SMALL | Size.MEDIUM}`;\n title: React.ReactNode;\n}\n\nexport default function Tile({\n 'aria-label': ariaLabel,\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size = 'md',\n title,\n}: TileProps) {\n const isSmall = size === 'sm';\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={clsx(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n aria-label={ariaLabel}\n onClick={disabled ? undefined : onClick}\n onKeyDown={\n disabled\n ? undefined\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick?.();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={clsx(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n}\n"],"names":["Tile","ariaLabel","className","description","disabled","href","target","media","onClick","size","title","isSmall","Element","_jsxs","clsx","undefined","onKeyDown","key","children","_jsx","Title","type","Typography","TITLE_SUBSECTION","Body","as","BODY_DEFAULT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBc,SAAUA,IAAIA,CAAC;AAC3B,EAAA,YAAY,EAAEC,SAAS;EACvBC,SAAS;EACTC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,OAAO;AACPC,EAAAA,IAAI,GAAG,IAAI;AACXC,EAAAA;AAAK,CACK,EAAA;AACV,EAAA,MAAMC,OAAO,GAAGF,IAAI,KAAK,IAAI;AAC7B,EAAA,MAAMG,OAAO,GAAGP,IAAI,GAAG,GAAG,GAAG,QAAQ;EAErC,oBACEQ,IAAA,CAACD,OAAO,EAAA;AACNV,IAAAA,SAAS,EAAEY,IAAI,CACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChBZ,SAAS,EACT;MACE,OAAO,EAAE,CAACS,OAAO;AACjB,MAAA,sBAAsB,EAAEA;AACzB,KAAA,EACDP,QAAQ,IAAI,UAAU,CACtB;AACFC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EAAYL,SAAU;AACtBO,IAAAA,OAAO,EAAEJ,QAAQ,GAAGW,SAAS,GAAGP,OAAQ;AACxCQ,IAAAA,SAAS,EACPZ,QAAQ,GACJW,SAAS,GACT,CAAC;AAAEE,MAAAA;AAAG,KAAE,KAAI;AACV,MAAA,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;AAClCT,QAAAA,OAAO,IAAI;AACb,MAAA;IACF,CACL;AAAAU,IAAAA,QAAA,gBAEDC,GAAA,CAAA,KAAA,EAAA;AAAKjB,MAAAA,SAAS,EAAC,8CAA8C;AAAAgB,MAAAA,QAAA,EAAEX;AAAK,KAAM,CAC1E,eAAAY,GAAA,CAACC,KAAK,EAAA;MAACC,IAAI,EAAEC,UAAU,CAACC,gBAAiB;MAACrB,SAAS,EAAEY,IAAI,CAACH,OAAO,GAAG,OAAO,GAAG,OAAO,CAAE;AAAAO,MAAAA,QAAA,EACpFR;AAAK,KACD,CACP,EAACP,WAAW,gBACVgB,GAAA,CAACK,IAAI,EAAA;AAACC,MAAAA,EAAE,EAAC,MAAM;MAACJ,IAAI,EAAEC,UAAU,CAACI,YAAa;AAACxB,MAAAA,SAAS,EAAC,OAAO;AAAAgB,MAAAA,QAAA,EAC7Df;KACG,CAAC,GACL,IAAI;AAAA,GACD,CAAC;AAEd;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Title.js","sources":["../../src/title/Title.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { LabelHTMLAttributes, LiHTMLAttributes, ReactHTML } from 'react';\n\nimport { TitleTypes, Typography, Heading } from '../common';\n\nconst DEFAULT_TYPE = Typography.TITLE_GROUP;\n\nconst titleTypeMapping = {\n [Typography.TITLE_SCREEN]: 'h1',\n [Typography.TITLE_SECTION]: 'h2',\n [Typography.TITLE_SUBSECTION]: 'h3',\n [Typography.TITLE_BODY]: 'h4',\n [Typography.TITLE_GROUP]: 'h5',\n} as const;\n\ntype Props = LabelHTMLAttributes<HTMLHeadingElement | HTMLSpanElement | HTMLLabelElement> &\n LiHTMLAttributes<HTMLLIElement> & {\n /**\n * Default value will based one `type` prop\n */\n as?: 'span' | 'label' | 'li' | 'legend' | 'header' | Heading;\n /**\n * Default value: {@link DEFAULT_TYPE}\n */\n type?: TitleTypes;\n };\n\nfunction Title({ as, type = DEFAULT_TYPE, className, ...props }: Props) {\n const mapping = titleTypeMapping[type];\n const isTypeSupported = mapping !== undefined;\n\n if (isTypeSupported) {\n const HeaderTag = as ?? mapping;\n return <HeaderTag {...props} className={clsx(`np-text-${type}`, className)} />;\n }\n const HeaderTag = as ?? titleTypeMapping[DEFAULT_TYPE];\n return <HeaderTag {...props} className={clsx(`np-text-${DEFAULT_TYPE}`, className)} />;\n}\n\nexport default Title;\n"],"names":["DEFAULT_TYPE","Typography","TITLE_GROUP","titleTypeMapping","TITLE_SCREEN","TITLE_SECTION","TITLE_SUBSECTION","TITLE_BODY","Title","as","type","className","props","mapping","isTypeSupported","undefined","HeaderTag","_jsx","clsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,YAAY,GAAGC,qBAAU,CAACC,WAAW;AAE3C,MAAMC,gBAAgB,GAAG;AACvB,EAAA,CAACF,qBAAU,CAACG,YAAY,GAAG,IAAI;AAC/B,EAAA,CAACH,qBAAU,CAACI,aAAa,GAAG,IAAI;AAChC,EAAA,CAACJ,qBAAU,CAACK,gBAAgB,GAAG,IAAI;AACnC,EAAA,CAACL,qBAAU,CAACM,UAAU,GAAG,IAAI;EAC7B,CAACN,qBAAU,CAACC,WAAW,GAAG;CAClB;AAcV,SAASM,KAAKA,CAAC;EAAEC,EAAE;AAAEC,EAAAA,IAAI,GAAGV,YAAY;EAAEW,SAAS;EAAE,GAAGC;AAAc,CAAA,EAAA;AACpE,EAAA,MAAMC,OAAO,GAAGV,gBAAgB,CAACO,IAAI,CAAC;AACtC,EAAA,MAAMI,eAAe,GAAGD,OAAO,KAAKE,SAAS;AAE7C,EAAA,IAAID,eAAe,EAAE;AACnB,IAAA,MAAME,SAAS,GAAGP,EAAE,IAAII,OAAO;IAC/B,oBAAOI,cAAA,CAACD,SAAS,EAAA;AAAA,MAAA,GAAKJ,KAAK;AAAED,MAAAA,SAAS,EAAEO,SAAI,CAAC,WAAWR,IAAI,CAAA,CAAE,EAAEC,SAAS;AAAE,MAAG;AAChF;AACA,EAAA,MAAMK,SAAS,GAAGP,EAAE,IAAIN,gBAAgB,CAACH,YAAY,CAAC;EACtD,oBAAOiB,cAAA,CAACD,SAAS,EAAA;AAAA,IAAA,GAAKJ,KAAK;AAAED,IAAAA,SAAS,EAAEO,SAAI,CAAC,WAAWlB,YAAY,CAAA,CAAE,EAAEW,SAAS;AAAE,IAAG;AACxF;;;;"}
1
+ {"version":3,"file":"Title.js","sources":["../../src/title/Title.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { LabelHTMLAttributes, LiHTMLAttributes, ReactHTML } from 'react';\n\nimport { TitleTypes, Typography, Heading } from '../common';\n\nconst DEFAULT_TYPE = Typography.TITLE_GROUP;\n\nconst titleTypeMapping = {\n [Typography.TITLE_SCREEN]: 'h1',\n [Typography.TITLE_SECTION]: 'h2',\n [Typography.TITLE_SUBSECTION]: 'h3',\n [Typography.TITLE_BODY]: 'h4',\n [Typography.TITLE_GROUP]: 'h5',\n} as const;\n\ntype Props = LabelHTMLAttributes<HTMLHeadingElement | HTMLSpanElement | HTMLLabelElement> &\n LiHTMLAttributes<HTMLLIElement> & {\n /**\n * Default value will based one `type` prop\n */\n as?: 'span' | 'label' | 'li' | 'legend' | 'header' | Heading;\n /**\n * Default value: {@link DEFAULT_TYPE}\n */\n type?: TitleTypes;\n };\n\nfunction Title({ as, type = DEFAULT_TYPE, className, ...props }: Props) {\n const mapping = titleTypeMapping[type];\n const isTypeSupported = mapping !== undefined;\n\n if (isTypeSupported) {\n const HeaderTag = as ?? mapping;\n return <HeaderTag {...props} className={clsx(`np-text-${type}`, className)} />;\n }\n const HeaderTag = as ?? titleTypeMapping[DEFAULT_TYPE];\n return <HeaderTag {...props} className={clsx(`np-text-${DEFAULT_TYPE}`, className)} />;\n}\n\nexport default Title;\n"],"names":["DEFAULT_TYPE","Typography","TITLE_GROUP","titleTypeMapping","TITLE_SCREEN","TITLE_SECTION","TITLE_SUBSECTION","TITLE_BODY","Title","as","type","className","props","mapping","isTypeSupported","undefined","HeaderTag","_jsx","clsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,YAAY,GAAGC,qBAAU,CAACC,WAAW;AAE3C,MAAMC,gBAAgB,GAAG;AACvB,EAAA,CAACF,qBAAU,CAACG,YAAY,GAAG,IAAI;AAC/B,EAAA,CAACH,qBAAU,CAACI,aAAa,GAAG,IAAI;AAChC,EAAA,CAACJ,qBAAU,CAACK,gBAAgB,GAAG,IAAI;AACnC,EAAA,CAACL,qBAAU,CAACM,UAAU,GAAG,IAAI;EAC7B,CAACN,qBAAU,CAACC,WAAW,GAAG;CAClB;AAcV,SAASM,KAAKA,CAAC;EAAEC,EAAE;AAAEC,EAAAA,IAAI,GAAGV,YAAY;EAAEW,SAAS;EAAE,GAAGC;AAAK,CAAS,EAAA;AACpE,EAAA,MAAMC,OAAO,GAAGV,gBAAgB,CAACO,IAAI,CAAC;AACtC,EAAA,MAAMI,eAAe,GAAGD,OAAO,KAAKE,SAAS;AAE7C,EAAA,IAAID,eAAe,EAAE;AACnB,IAAA,MAAME,SAAS,GAAGP,EAAE,IAAII,OAAO;IAC/B,oBAAOI,cAAA,CAACD,SAAS,EAAA;AAAA,MAAA,GAAKJ,KAAK;AAAED,MAAAA,SAAS,EAAEO,SAAI,CAAC,WAAWR,IAAI,CAAA,CAAE,EAAEC,SAAS;AAAE,MAAG;AAChF,EAAA;AACA,EAAA,MAAMK,SAAS,GAAGP,EAAE,IAAIN,gBAAgB,CAACH,YAAY,CAAC;EACtD,oBAAOiB,cAAA,CAACD,SAAS,EAAA;AAAA,IAAA,GAAKJ,KAAK;AAAED,IAAAA,SAAS,EAAEO,SAAI,CAAC,WAAWlB,YAAY,CAAA,CAAE,EAAEW,SAAS;AAAE,IAAG;AACxF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Title.mjs","sources":["../../src/title/Title.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { LabelHTMLAttributes, LiHTMLAttributes, ReactHTML } from 'react';\n\nimport { TitleTypes, Typography, Heading } from '../common';\n\nconst DEFAULT_TYPE = Typography.TITLE_GROUP;\n\nconst titleTypeMapping = {\n [Typography.TITLE_SCREEN]: 'h1',\n [Typography.TITLE_SECTION]: 'h2',\n [Typography.TITLE_SUBSECTION]: 'h3',\n [Typography.TITLE_BODY]: 'h4',\n [Typography.TITLE_GROUP]: 'h5',\n} as const;\n\ntype Props = LabelHTMLAttributes<HTMLHeadingElement | HTMLSpanElement | HTMLLabelElement> &\n LiHTMLAttributes<HTMLLIElement> & {\n /**\n * Default value will based one `type` prop\n */\n as?: 'span' | 'label' | 'li' | 'legend' | 'header' | Heading;\n /**\n * Default value: {@link DEFAULT_TYPE}\n */\n type?: TitleTypes;\n };\n\nfunction Title({ as, type = DEFAULT_TYPE, className, ...props }: Props) {\n const mapping = titleTypeMapping[type];\n const isTypeSupported = mapping !== undefined;\n\n if (isTypeSupported) {\n const HeaderTag = as ?? mapping;\n return <HeaderTag {...props} className={clsx(`np-text-${type}`, className)} />;\n }\n const HeaderTag = as ?? titleTypeMapping[DEFAULT_TYPE];\n return <HeaderTag {...props} className={clsx(`np-text-${DEFAULT_TYPE}`, className)} />;\n}\n\nexport default Title;\n"],"names":["DEFAULT_TYPE","Typography","TITLE_GROUP","titleTypeMapping","TITLE_SCREEN","TITLE_SECTION","TITLE_SUBSECTION","TITLE_BODY","Title","as","type","className","props","mapping","isTypeSupported","undefined","HeaderTag","_jsx","clsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,YAAY,GAAGC,UAAU,CAACC,WAAW;AAE3C,MAAMC,gBAAgB,GAAG;AACvB,EAAA,CAACF,UAAU,CAACG,YAAY,GAAG,IAAI;AAC/B,EAAA,CAACH,UAAU,CAACI,aAAa,GAAG,IAAI;AAChC,EAAA,CAACJ,UAAU,CAACK,gBAAgB,GAAG,IAAI;AACnC,EAAA,CAACL,UAAU,CAACM,UAAU,GAAG,IAAI;EAC7B,CAACN,UAAU,CAACC,WAAW,GAAG;CAClB;AAcV,SAASM,KAAKA,CAAC;EAAEC,EAAE;AAAEC,EAAAA,IAAI,GAAGV,YAAY;EAAEW,SAAS;EAAE,GAAGC;AAAc,CAAA,EAAA;AACpE,EAAA,MAAMC,OAAO,GAAGV,gBAAgB,CAACO,IAAI,CAAC;AACtC,EAAA,MAAMI,eAAe,GAAGD,OAAO,KAAKE,SAAS;AAE7C,EAAA,IAAID,eAAe,EAAE;AACnB,IAAA,MAAME,SAAS,GAAGP,EAAE,IAAII,OAAO;IAC/B,oBAAOI,GAAA,CAACD,SAAS,EAAA;AAAA,MAAA,GAAKJ,KAAK;AAAED,MAAAA,SAAS,EAAEO,IAAI,CAAC,WAAWR,IAAI,CAAA,CAAE,EAAEC,SAAS;AAAE,MAAG;AAChF;AACA,EAAA,MAAMK,SAAS,GAAGP,EAAE,IAAIN,gBAAgB,CAACH,YAAY,CAAC;EACtD,oBAAOiB,GAAA,CAACD,SAAS,EAAA;AAAA,IAAA,GAAKJ,KAAK;AAAED,IAAAA,SAAS,EAAEO,IAAI,CAAC,WAAWlB,YAAY,CAAA,CAAE,EAAEW,SAAS;AAAE,IAAG;AACxF;;;;"}
1
+ {"version":3,"file":"Title.mjs","sources":["../../src/title/Title.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { LabelHTMLAttributes, LiHTMLAttributes, ReactHTML } from 'react';\n\nimport { TitleTypes, Typography, Heading } from '../common';\n\nconst DEFAULT_TYPE = Typography.TITLE_GROUP;\n\nconst titleTypeMapping = {\n [Typography.TITLE_SCREEN]: 'h1',\n [Typography.TITLE_SECTION]: 'h2',\n [Typography.TITLE_SUBSECTION]: 'h3',\n [Typography.TITLE_BODY]: 'h4',\n [Typography.TITLE_GROUP]: 'h5',\n} as const;\n\ntype Props = LabelHTMLAttributes<HTMLHeadingElement | HTMLSpanElement | HTMLLabelElement> &\n LiHTMLAttributes<HTMLLIElement> & {\n /**\n * Default value will based one `type` prop\n */\n as?: 'span' | 'label' | 'li' | 'legend' | 'header' | Heading;\n /**\n * Default value: {@link DEFAULT_TYPE}\n */\n type?: TitleTypes;\n };\n\nfunction Title({ as, type = DEFAULT_TYPE, className, ...props }: Props) {\n const mapping = titleTypeMapping[type];\n const isTypeSupported = mapping !== undefined;\n\n if (isTypeSupported) {\n const HeaderTag = as ?? mapping;\n return <HeaderTag {...props} className={clsx(`np-text-${type}`, className)} />;\n }\n const HeaderTag = as ?? titleTypeMapping[DEFAULT_TYPE];\n return <HeaderTag {...props} className={clsx(`np-text-${DEFAULT_TYPE}`, className)} />;\n}\n\nexport default Title;\n"],"names":["DEFAULT_TYPE","Typography","TITLE_GROUP","titleTypeMapping","TITLE_SCREEN","TITLE_SECTION","TITLE_SUBSECTION","TITLE_BODY","Title","as","type","className","props","mapping","isTypeSupported","undefined","HeaderTag","_jsx","clsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,YAAY,GAAGC,UAAU,CAACC,WAAW;AAE3C,MAAMC,gBAAgB,GAAG;AACvB,EAAA,CAACF,UAAU,CAACG,YAAY,GAAG,IAAI;AAC/B,EAAA,CAACH,UAAU,CAACI,aAAa,GAAG,IAAI;AAChC,EAAA,CAACJ,UAAU,CAACK,gBAAgB,GAAG,IAAI;AACnC,EAAA,CAACL,UAAU,CAACM,UAAU,GAAG,IAAI;EAC7B,CAACN,UAAU,CAACC,WAAW,GAAG;CAClB;AAcV,SAASM,KAAKA,CAAC;EAAEC,EAAE;AAAEC,EAAAA,IAAI,GAAGV,YAAY;EAAEW,SAAS;EAAE,GAAGC;AAAK,CAAS,EAAA;AACpE,EAAA,MAAMC,OAAO,GAAGV,gBAAgB,CAACO,IAAI,CAAC;AACtC,EAAA,MAAMI,eAAe,GAAGD,OAAO,KAAKE,SAAS;AAE7C,EAAA,IAAID,eAAe,EAAE;AACnB,IAAA,MAAME,SAAS,GAAGP,EAAE,IAAII,OAAO;IAC/B,oBAAOI,GAAA,CAACD,SAAS,EAAA;AAAA,MAAA,GAAKJ,KAAK;AAAED,MAAAA,SAAS,EAAEO,IAAI,CAAC,WAAWR,IAAI,CAAA,CAAE,EAAEC,SAAS;AAAE,MAAG;AAChF,EAAA;AACA,EAAA,MAAMK,SAAS,GAAGP,EAAE,IAAIN,gBAAgB,CAACH,YAAY,CAAC;EACtD,oBAAOiB,GAAA,CAACD,SAAS,EAAA;AAAA,IAAA,GAAKJ,KAAK;AAAED,IAAAA,SAAS,EAAEO,IAAI,CAAC,WAAWlB,YAAY,CAAA,CAAE,EAAEW,SAAS;AAAE,IAAG;AACxF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../src/tooltip/Tooltip.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { clsx } from 'clsx';\nimport {\n AriaAttributes,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n cloneElement,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { CommonProps, Position } from '../common';\nimport {\n PositionBottom,\n PositionLeft,\n PositionRight,\n PositionTop,\n} from '../common/propsValues/position';\n\nexport type TooltipProps = PropsWithChildren<{\n position?: PositionTop | PositionRight | PositionBottom | PositionLeft;\n label: ReactNode;\n id?: string;\n}> &\n CommonProps;\n\nconst Tooltip = ({\n position = Position.TOP,\n children = undefined,\n label,\n id,\n className,\n}: TooltipProps) => {\n const [open, setOpen] = useState(false);\n const anchorReference = useRef(null);\n const [arrowElement, setArrowElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n\n const fallbackId = useId();\n const tooltipId = id ?? fallbackId;\n const modifiers = [];\n\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrowElement,\n options: {\n padding: 8, // 8px from the edges of the popper\n },\n },\n });\n // This lets you displace a popper element from its reference element.\n modifiers.push({ name: 'offset', options: { offset: [0, 16] } });\n modifiers.push({\n name: 'flip',\n options: {\n fallbackPlacements: Position.TOP,\n },\n });\n\n const { styles, attributes, forceUpdate } = usePopper(anchorReference.current, popperElement, {\n placement: position,\n modifiers,\n });\n\n // If the trigger is not visible when the position is calculated, it will be incorrect. Because this can happen repeatedly (on resize for example),\n // it is most simple just to always position before opening\n useEffect(() => {\n if (open && forceUpdate) {\n forceUpdate();\n }\n }, [open]);\n\n return (\n <span\n ref={anchorReference}\n className=\"tw-tooltip-container\"\n onMouseOver={() => setOpen(true)}\n onFocus={() => setOpen(true)}\n onMouseOut={() => setOpen(false)}\n onBlur={() => setOpen(false)}\n >\n {children\n ? cloneElement(children as ReactElement<Pick<AriaAttributes, 'aria-describedby'>>, {\n 'aria-describedby': `${tooltipId}-tooltip`,\n })\n : null}\n <div\n // @ts-expect-error\n ref={setPopperElement}\n className={clsx(\n 'np-tooltip',\n 'np-panel',\n open ? `np-panel--open np-tooltip--open` : null,\n className,\n )}\n style={{ ...styles.popper }}\n {...attributes.popper}\n aria-hidden={!open}\n role=\"tooltip\"\n id={`${tooltipId}-tooltip`}\n >\n <div className=\"np-panel__content tooltip-inner\">\n {label}\n <div\n // @ts-expect-error\n ref={setArrowElement}\n className={clsx('np-panel__arrow')}\n style={styles.arrow}\n />\n </div>\n </div>\n </span>\n );\n};\n\nexport default Tooltip;\n"],"names":["Tooltip","position","Position","TOP","children","undefined","label","id","className","open","setOpen","useState","anchorReference","useRef","arrowElement","setArrowElement","popperElement","setPopperElement","fallbackId","useId","tooltipId","modifiers","push","name","options","element","padding","offset","fallbackPlacements","styles","attributes","forceUpdate","usePopper","current","placement","useEffect","_jsxs","ref","onMouseOver","onFocus","onMouseOut","onBlur","cloneElement","_jsx","clsx","style","popper","role","arrow"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../src/tooltip/Tooltip.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { clsx } from 'clsx';\nimport {\n AriaAttributes,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n cloneElement,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { CommonProps, Position } from '../common';\nimport {\n PositionBottom,\n PositionLeft,\n PositionRight,\n PositionTop,\n} from '../common/propsValues/position';\n\nexport type TooltipProps = PropsWithChildren<{\n position?: PositionTop | PositionRight | PositionBottom | PositionLeft;\n label: ReactNode;\n id?: string;\n}> &\n CommonProps;\n\nconst Tooltip = ({\n position = Position.TOP,\n children = undefined,\n label,\n id,\n className,\n}: TooltipProps) => {\n const [open, setOpen] = useState(false);\n const anchorReference = useRef(null);\n const [arrowElement, setArrowElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n\n const fallbackId = useId();\n const tooltipId = id ?? fallbackId;\n const modifiers = [];\n\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrowElement,\n options: {\n padding: 8, // 8px from the edges of the popper\n },\n },\n });\n // This lets you displace a popper element from its reference element.\n modifiers.push({ name: 'offset', options: { offset: [0, 16] } });\n modifiers.push({\n name: 'flip',\n options: {\n fallbackPlacements: Position.TOP,\n },\n });\n\n const { styles, attributes, forceUpdate } = usePopper(anchorReference.current, popperElement, {\n placement: position,\n modifiers,\n });\n\n // If the trigger is not visible when the position is calculated, it will be incorrect. Because this can happen repeatedly (on resize for example),\n // it is most simple just to always position before opening\n useEffect(() => {\n if (open && forceUpdate) {\n forceUpdate();\n }\n }, [open]);\n\n return (\n <span\n ref={anchorReference}\n className=\"tw-tooltip-container\"\n onMouseOver={() => setOpen(true)}\n onFocus={() => setOpen(true)}\n onMouseOut={() => setOpen(false)}\n onBlur={() => setOpen(false)}\n >\n {children\n ? cloneElement(children as ReactElement<Pick<AriaAttributes, 'aria-describedby'>>, {\n 'aria-describedby': `${tooltipId}-tooltip`,\n })\n : null}\n <div\n // @ts-expect-error\n ref={setPopperElement}\n className={clsx(\n 'np-tooltip',\n 'np-panel',\n open ? `np-panel--open np-tooltip--open` : null,\n className,\n )}\n style={{ ...styles.popper }}\n {...attributes.popper}\n aria-hidden={!open}\n role=\"tooltip\"\n id={`${tooltipId}-tooltip`}\n >\n <div className=\"np-panel__content tooltip-inner\">\n {label}\n <div\n // @ts-expect-error\n ref={setArrowElement}\n className={clsx('np-panel__arrow')}\n style={styles.arrow}\n />\n </div>\n </div>\n </span>\n );\n};\n\nexport default Tooltip;\n"],"names":["Tooltip","position","Position","TOP","children","undefined","label","id","className","open","setOpen","useState","anchorReference","useRef","arrowElement","setArrowElement","popperElement","setPopperElement","fallbackId","useId","tooltipId","modifiers","push","name","options","element","padding","offset","fallbackPlacements","styles","attributes","forceUpdate","usePopper","current","placement","useEffect","_jsxs","ref","onMouseOver","onFocus","onMouseOut","onBlur","cloneElement","_jsx","clsx","style","popper","role","arrow"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.mjs","sources":["../../src/tooltip/Tooltip.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { clsx } from 'clsx';\nimport {\n AriaAttributes,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n cloneElement,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { CommonProps, Position } from '../common';\nimport {\n PositionBottom,\n PositionLeft,\n PositionRight,\n PositionTop,\n} from '../common/propsValues/position';\n\nexport type TooltipProps = PropsWithChildren<{\n position?: PositionTop | PositionRight | PositionBottom | PositionLeft;\n label: ReactNode;\n id?: string;\n}> &\n CommonProps;\n\nconst Tooltip = ({\n position = Position.TOP,\n children = undefined,\n label,\n id,\n className,\n}: TooltipProps) => {\n const [open, setOpen] = useState(false);\n const anchorReference = useRef(null);\n const [arrowElement, setArrowElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n\n const fallbackId = useId();\n const tooltipId = id ?? fallbackId;\n const modifiers = [];\n\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrowElement,\n options: {\n padding: 8, // 8px from the edges of the popper\n },\n },\n });\n // This lets you displace a popper element from its reference element.\n modifiers.push({ name: 'offset', options: { offset: [0, 16] } });\n modifiers.push({\n name: 'flip',\n options: {\n fallbackPlacements: Position.TOP,\n },\n });\n\n const { styles, attributes, forceUpdate } = usePopper(anchorReference.current, popperElement, {\n placement: position,\n modifiers,\n });\n\n // If the trigger is not visible when the position is calculated, it will be incorrect. Because this can happen repeatedly (on resize for example),\n // it is most simple just to always position before opening\n useEffect(() => {\n if (open && forceUpdate) {\n forceUpdate();\n }\n }, [open]);\n\n return (\n <span\n ref={anchorReference}\n className=\"tw-tooltip-container\"\n onMouseOver={() => setOpen(true)}\n onFocus={() => setOpen(true)}\n onMouseOut={() => setOpen(false)}\n onBlur={() => setOpen(false)}\n >\n {children\n ? cloneElement(children as ReactElement<Pick<AriaAttributes, 'aria-describedby'>>, {\n 'aria-describedby': `${tooltipId}-tooltip`,\n })\n : null}\n <div\n // @ts-expect-error\n ref={setPopperElement}\n className={clsx(\n 'np-tooltip',\n 'np-panel',\n open ? `np-panel--open np-tooltip--open` : null,\n className,\n )}\n style={{ ...styles.popper }}\n {...attributes.popper}\n aria-hidden={!open}\n role=\"tooltip\"\n id={`${tooltipId}-tooltip`}\n >\n <div className=\"np-panel__content tooltip-inner\">\n {label}\n <div\n // @ts-expect-error\n ref={setArrowElement}\n className={clsx('np-panel__arrow')}\n style={styles.arrow}\n />\n </div>\n </div>\n </span>\n );\n};\n\nexport default Tooltip;\n"],"names":["Tooltip","position","Position","TOP","children","undefined","label","id","className","open","setOpen","useState","anchorReference","useRef","arrowElement","setArrowElement","popperElement","setPopperElement","fallbackId","useId","tooltipId","modifiers","push","name","options","element","padding","offset","fallbackPlacements","styles","attributes","forceUpdate","usePopper","current","placement","useEffect","_jsxs","ref","onMouseOver","onFocus","onMouseOut","onBlur","cloneElement","_jsx","clsx","style","popper","role","arrow"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.mjs","sources":["../../src/tooltip/Tooltip.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { clsx } from 'clsx';\nimport {\n AriaAttributes,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n cloneElement,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { CommonProps, Position } from '../common';\nimport {\n PositionBottom,\n PositionLeft,\n PositionRight,\n PositionTop,\n} from '../common/propsValues/position';\n\nexport type TooltipProps = PropsWithChildren<{\n position?: PositionTop | PositionRight | PositionBottom | PositionLeft;\n label: ReactNode;\n id?: string;\n}> &\n CommonProps;\n\nconst Tooltip = ({\n position = Position.TOP,\n children = undefined,\n label,\n id,\n className,\n}: TooltipProps) => {\n const [open, setOpen] = useState(false);\n const anchorReference = useRef(null);\n const [arrowElement, setArrowElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n\n const fallbackId = useId();\n const tooltipId = id ?? fallbackId;\n const modifiers = [];\n\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrowElement,\n options: {\n padding: 8, // 8px from the edges of the popper\n },\n },\n });\n // This lets you displace a popper element from its reference element.\n modifiers.push({ name: 'offset', options: { offset: [0, 16] } });\n modifiers.push({\n name: 'flip',\n options: {\n fallbackPlacements: Position.TOP,\n },\n });\n\n const { styles, attributes, forceUpdate } = usePopper(anchorReference.current, popperElement, {\n placement: position,\n modifiers,\n });\n\n // If the trigger is not visible when the position is calculated, it will be incorrect. Because this can happen repeatedly (on resize for example),\n // it is most simple just to always position before opening\n useEffect(() => {\n if (open && forceUpdate) {\n forceUpdate();\n }\n }, [open]);\n\n return (\n <span\n ref={anchorReference}\n className=\"tw-tooltip-container\"\n onMouseOver={() => setOpen(true)}\n onFocus={() => setOpen(true)}\n onMouseOut={() => setOpen(false)}\n onBlur={() => setOpen(false)}\n >\n {children\n ? cloneElement(children as ReactElement<Pick<AriaAttributes, 'aria-describedby'>>, {\n 'aria-describedby': `${tooltipId}-tooltip`,\n })\n : null}\n <div\n // @ts-expect-error\n ref={setPopperElement}\n className={clsx(\n 'np-tooltip',\n 'np-panel',\n open ? `np-panel--open np-tooltip--open` : null,\n className,\n )}\n style={{ ...styles.popper }}\n {...attributes.popper}\n aria-hidden={!open}\n role=\"tooltip\"\n id={`${tooltipId}-tooltip`}\n >\n <div className=\"np-panel__content tooltip-inner\">\n {label}\n <div\n // @ts-expect-error\n ref={setArrowElement}\n className={clsx('np-panel__arrow')}\n style={styles.arrow}\n />\n </div>\n </div>\n </span>\n );\n};\n\nexport default Tooltip;\n"],"names":["Tooltip","position","Position","TOP","children","undefined","label","id","className","open","setOpen","useState","anchorReference","useRef","arrowElement","setArrowElement","popperElement","setPopperElement","fallbackId","useId","tooltipId","modifiers","push","name","options","element","padding","offset","fallbackPlacements","styles","attributes","forceUpdate","usePopper","current","placement","useEffect","_jsxs","ref","onMouseOver","onFocus","onMouseOut","onBlur","cloneElement","_jsx","clsx","style","popper","role","arrow"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Typeahead.js","sources":["../../src/typeahead/Typeahead.tsx"],"sourcesContent":["import { Cross as CrossIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { DebouncedFunc } from 'lodash';\nimport clamp from 'lodash.clamp';\nimport debounce from 'lodash.debounce';\nimport React, { Component, ReactNode } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport Chip from '../chips/Chip';\nimport {\n Size,\n Sentiment,\n SizeMedium,\n SizeLarge,\n addClickClassToDocumentOnIos,\n removeClickClassFromDocumentOnIos,\n stopPropagation,\n} from '../common';\nimport InlineAlert from '../inlineAlert';\nimport { InlineAlertProps } from '../inlineAlert/InlineAlert';\nimport { withInputAttributes, WithInputAttributesProps } from '../inputs/contexts';\n\nimport TypeaheadInput from './typeaheadInput/TypeaheadInput';\nimport TypeaheadOption from './typeaheadOption/TypeaheadOption';\nimport messages from './Typeahead.messages';\n\nconst DEFAULT_MIN_QUERY_LENGTH = 3;\nconst SEARCH_DELAY = 200;\n\nexport type TypeaheadOption<T = string> = {\n label: string;\n note?: string;\n secondary?: string;\n value?: T;\n clearQueryOnSelect?: boolean;\n keepFocusOnSelect?: boolean;\n};\n\nexport interface TypeaheadProps<T> extends Partial<WrappedComponentProps> {\n id: string;\n name: string;\n addon?: ReactNode;\n alert?: {\n message: InlineAlertProps['children'];\n type?: InlineAlertProps['type'];\n };\n allowNew?: boolean;\n autoFillOnBlur?: boolean;\n autoFocus?: boolean;\n chipSeparators?: readonly string[];\n clearable?: boolean;\n footer?: ReactNode;\n initialValue?: readonly TypeaheadOption<T>[];\n inputAutoComplete?: string;\n maxHeight?: number;\n minQueryLength?: number;\n placeholder?: string;\n multiple?: boolean;\n options: readonly TypeaheadOption<T>[];\n searchDelay?: number;\n showSuggestions?: boolean;\n showNewEntry?: boolean;\n size?: SizeMedium | SizeLarge;\n\n onBlur?: () => void;\n onChange: (options: TypeaheadOption<T>[]) => void;\n onFocus?: () => void;\n onInputChange?: (query: string) => void;\n onSearch?: (query: string) => void;\n validateChip?: (chip: TypeaheadOption<T>) => boolean;\n}\n\ntype TypeaheadPropsWithInputAttributes<T> = TypeaheadProps<T> &\n Partial<WithInputAttributesProps> &\n WrappedComponentProps;\n\ntype TypeaheadState<T> = {\n selected: readonly TypeaheadOption<T>[];\n keyboardFocusedOptionIndex: number | null;\n errorState: boolean;\n query: string;\n optionsShown: boolean;\n isFocused: boolean;\n};\n\nclass Typeahead<T> extends Component<TypeaheadPropsWithInputAttributes<T>, TypeaheadState<T>> {\n declare props: TypeaheadPropsWithInputAttributes<T> &\n Required<Pick<TypeaheadPropsWithInputAttributes<T>, keyof typeof Typeahead.defaultProps>>;\n\n static defaultProps = {\n allowNew: false,\n autoFillOnBlur: true,\n autoFocus: false,\n chipSeparators: [],\n clearable: true,\n initialValue: [],\n inputAutoComplete: 'new-password',\n minQueryLength: DEFAULT_MIN_QUERY_LENGTH,\n multiple: false,\n searchDelay: SEARCH_DELAY,\n showSuggestions: true,\n showNewEntry: true,\n size: Size.MEDIUM,\n validateChip: () => true,\n } satisfies Partial<TypeaheadProps<unknown>>;\n optionRefs: (React.RefObject<HTMLLIElement> | null)[];\n\n constructor(props: TypeaheadPropsWithInputAttributes<T>) {\n super(props);\n const { searchDelay, initialValue, multiple } = this.props;\n this.handleSearchDebounced = debounce(this.handleSearch, searchDelay);\n const initialQuery = !multiple && initialValue.length > 0 ? initialValue[0].label : '';\n this.state = {\n selected: initialValue,\n errorState: false,\n query: initialQuery,\n keyboardFocusedOptionIndex: null,\n optionsShown: false,\n isFocused: false,\n };\n this.optionRefs = [] as (React.RefObject<HTMLLIElement> | null)[];\n }\n\n handleSearchDebounced: DebouncedFunc<Typeahead<T>['handleSearch']>;\n\n UNSAFE_componentWillReceiveProps(nextProps: TypeaheadPropsWithInputAttributes<T>) {\n if (nextProps.multiple !== this.props.multiple) {\n this.setState((previousState) => {\n const { selected } = previousState;\n if (!nextProps.multiple && selected.length > 0) {\n return {\n query: selected[0].label,\n selected: [selected[0]],\n };\n }\n return {\n selected: previousState.selected,\n query: '',\n };\n });\n }\n }\n\n componentWillUnmount() {\n this.handleSearchDebounced.cancel();\n }\n\n handleOnFocus = () => {\n this.showMenu();\n this.props.onFocus?.();\n };\n\n onOptionSelected = (event: React.MouseEvent, item: TypeaheadOption<T>) => {\n event.preventDefault();\n this.selectItem(item);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const { optionsShown, selected } = this.state;\n const { multiple, onInputChange } = this.props;\n\n if (!optionsShown) {\n this.showMenu();\n }\n\n const query = event.target.value;\n\n if (!multiple && selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({ query }, () => {\n this.handleSearchDebounced(query);\n if (onInputChange) {\n onInputChange(query);\n }\n });\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n const { allowNew, multiple, chipSeparators } = this.props;\n const { selected } = this.state;\n\n if (allowNew && multiple && chipSeparators.length > 0) {\n event.preventDefault();\n const value = event.clipboardData.getData('text');\n if (value) {\n const regex = new RegExp(chipSeparators.join('|'));\n const pastedChips = value\n .split(regex)\n .map((label) => ({ label: label.trim() }))\n .filter((chip) => chip.label);\n\n this.updateSelectedValue([...selected, ...pastedChips]);\n }\n }\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const { showSuggestions, allowNew, multiple, chipSeparators, options } = this.props;\n const { keyboardFocusedOptionIndex, query, selected } = this.state;\n const chipsMode = !showSuggestions && allowNew && multiple;\n\n if (chipsMode && ['Enter', 'Tab', ...chipSeparators].includes(event.key) && query.trim()) {\n event.preventDefault();\n this.selectItem({ label: query });\n } else {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.moveFocusedOption(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveFocusedOption(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (keyboardFocusedOptionIndex != null && options[keyboardFocusedOptionIndex]) {\n this.selectItem(options[keyboardFocusedOptionIndex]);\n } else if (allowNew && query.trim()) {\n this.selectItem({ label: query });\n }\n break;\n case 'Backspace':\n if (multiple && !query && selected.length > 0) {\n this.updateSelectedValue(selected.slice(0, -1));\n }\n break;\n default:\n break;\n }\n }\n };\n moveFocusedOption(offset: number) {\n this.setState((previousState) => {\n const { keyboardFocusedOptionIndex } = previousState;\n const { options } = this.props;\n let index = 0;\n if (keyboardFocusedOptionIndex !== null) {\n index = clamp(keyboardFocusedOptionIndex + offset, 0, options.length - 1);\n }\n const optionRef = this.optionRefs[index];\n if (optionRef?.current) {\n optionRef.current.focus(); // Set focus on the option element\n }\n return {\n keyboardFocusedOptionIndex: index,\n };\n });\n }\n\n selectItem = (item: TypeaheadOption<T>) => {\n const { multiple } = this.props;\n let selected = [...this.state.selected];\n let query;\n if (multiple) {\n selected.push(item);\n query = '';\n } else {\n selected = [item];\n query = item.label;\n }\n\n this.updateSelectedValue(selected);\n\n if (!item.keepFocusOnSelect) {\n this.hideMenu();\n }\n\n if (item.clearQueryOnSelect) {\n query = '';\n }\n\n this.setState({\n query,\n });\n };\n\n handleSearch = (query: string) => {\n const { onSearch } = this.props;\n if (onSearch) {\n onSearch(query);\n }\n\n this.setState((previousState) => ({\n keyboardFocusedOptionIndex: previousState.keyboardFocusedOptionIndex === null ? null : 0,\n }));\n };\n\n handleDocumentClick = () => {\n if (this.state.optionsShown) {\n this.hideMenu();\n const { allowNew, onBlur, autoFillOnBlur } = this.props;\n const { query } = this.state;\n this.setState({\n isFocused: false,\n });\n if (allowNew && autoFillOnBlur && query.trim()) {\n this.selectItem({ label: query });\n }\n\n if (onBlur) {\n onBlur();\n }\n }\n };\n\n showMenu = () => {\n this.setState(\n {\n isFocused: true,\n optionsShown: true,\n },\n () => {\n addClickClassToDocumentOnIos();\n document.addEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n hideMenu = () => {\n this.setState(\n {\n optionsShown: false,\n keyboardFocusedOptionIndex: null,\n },\n () => {\n removeClickClassFromDocumentOnIos();\n document.removeEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n updateSelectedValue = (selected: readonly TypeaheadOption<T>[]) => {\n const { onChange, validateChip } = this.props;\n\n const errorState = selected.some((chip) => !validateChip(chip));\n this.setState({ selected, errorState }, () => {\n onChange([...selected]);\n });\n };\n\n clear = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (this.state.selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({\n query: '',\n });\n };\n\n removeChip = (option: TypeaheadOption<T>) => {\n const { selected } = this.state;\n\n if (selected.length > 0) {\n this.updateSelectedValue([...selected.filter((selectedOption) => selectedOption !== option)]);\n }\n };\n\n renderChip = (option: TypeaheadOption<T>, idx: number): ReactNode => {\n const valid = this.props.validateChip?.(option);\n\n return (\n <Chip\n key={idx}\n label={option.label}\n className={clsx('m-t-1', {\n 'has-error': !valid,\n 'np-chip--valid': valid,\n })}\n onRemove={() => this.removeChip(option)}\n />\n );\n };\n\n renderMenu = ({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n }: Pick<\n TypeaheadPropsWithInputAttributes<T>,\n 'footer' | 'options' | 'id' | 'allowNew' | 'showNewEntry'\n > &\n Pick<TypeaheadState<T>, 'keyboardFocusedOptionIndex' | 'query'> & {\n dropdownOpen: boolean;\n }) => {\n const optionsToRender = [...options];\n if (\n allowNew &&\n query.trim() &&\n options.every((option) => option.label.trim().toUpperCase() !== query.trim().toUpperCase()) &&\n showNewEntry\n ) {\n optionsToRender.push({\n label: query,\n });\n }\n return (\n <div\n className={clsx('dropdown btn-group btn-block', { open: dropdownOpen })}\n id={`menu-${id}`}\n >\n {(!!optionsToRender.length || footer) && (\n <ul className=\"dropdown-menu\" role=\"menu\">\n {optionsToRender.map((option, idx) => {\n const ref = React.createRef<HTMLLIElement>();\n this.optionRefs[idx] = ref;\n return (\n <TypeaheadOption\n key={`${option.label}${idx.toString()}`}\n ref={ref}\n query={query}\n option={option}\n selected={keyboardFocusedOptionIndex === idx}\n id={String(option.label.replace(/\\s+/g, '-'))}\n onClick={(event) => {\n this.onOptionSelected(event, option);\n }}\n />\n );\n })}\n {footer}\n </ul>\n )}\n </div>\n );\n };\n\n render() {\n const {\n inputAttributes,\n id: idProp,\n placeholder,\n multiple,\n size,\n addon,\n name,\n clearable,\n allowNew,\n footer,\n showSuggestions,\n showNewEntry,\n options,\n minQueryLength,\n autoFocus,\n maxHeight,\n alert,\n inputAutoComplete,\n } = this.props;\n const id = idProp ?? inputAttributes?.id;\n\n const { errorState, query, selected, optionsShown, keyboardFocusedOptionIndex } = this.state;\n\n const clearButton = clearable && (query || selected.length > 0);\n\n const dropdownOpen = optionsShown && showSuggestions && query.length >= minQueryLength;\n\n const menu = this.renderMenu({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n });\n\n const alertType = alert?.type ?? Sentiment.NEUTRAL;\n const hasError = errorState || (alert && alertType === Sentiment.ERROR);\n const displayAlert = (!errorState && alert) || (alert && alertType === Sentiment.ERROR);\n const hasWarning = displayAlert && alertType === Sentiment.WARNING;\n const hasInfo = displayAlert && alertType === Sentiment.NEUTRAL;\n return (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <div\n role=\"group\"\n {...inputAttributes}\n id={id}\n className={clsx('typeahead', `typeahead-${size}`, {\n 'typeahead--has-value': selected.length > 0,\n 'typeahead--empty': selected.length === 0,\n 'typeahead--multiple': multiple,\n open: dropdownOpen,\n })}\n onClick={stopPropagation}\n >\n <div\n className={clsx('form-group', {\n 'has-error': hasError,\n 'has-warning': hasWarning,\n 'has-info': hasInfo,\n })}\n >\n <div\n className={clsx(`input-group input-group-${size}`, {\n 'input-group--has-error': hasError,\n })}\n >\n {addon && <span className=\"input-group-addon input-group-addon--search\">{addon}</span>}\n\n <TypeaheadInput\n {...{\n autoFocus,\n multiple,\n dropdownOpen,\n placeholder,\n selected,\n maxHeight,\n }}\n id={id}\n name={name}\n value={query}\n typeaheadId={id}\n renderChip={this.renderChip}\n autoComplete={inputAutoComplete}\n ariaActivedescendant={\n keyboardFocusedOptionIndex !== null && options[keyboardFocusedOptionIndex]\n ? `option-${options[keyboardFocusedOptionIndex].label.replace(/\\s+/g, '-')}`\n : undefined\n }\n onChange={this.handleOnChange}\n onKeyDown={this.handleOnKeyDown}\n onFocus={this.handleOnFocus}\n onPaste={this.handleOnPaste}\n />\n\n {clearButton && (\n <div className=\"input-group-addon\">\n <button\n type=\"button\"\n className=\"btn-unstyled\"\n aria-label={this.props?.intl?.formatMessage(messages.clearLabel)}\n onClick={this.clear}\n >\n <CrossIcon />\n </button>\n </div>\n )}\n </div>\n {displayAlert ? <InlineAlert type={alert.type}>{alert.message}</InlineAlert> : menu}\n </div>\n </div>\n );\n }\n}\n\nexport default injectIntl(withInputAttributes(Typeahead, { nonLabelable: true })) as <T>(\n props: TypeaheadProps<T>,\n) => React.ReactElement;\n"],"names":["DEFAULT_MIN_QUERY_LENGTH","SEARCH_DELAY","Typeahead","Component","defaultProps","allowNew","autoFillOnBlur","autoFocus","chipSeparators","clearable","initialValue","inputAutoComplete","minQueryLength","multiple","searchDelay","showSuggestions","showNewEntry","size","Size","MEDIUM","validateChip","optionRefs","constructor","props","handleSearchDebounced","debounce","handleSearch","initialQuery","length","label","state","selected","errorState","query","keyboardFocusedOptionIndex","optionsShown","isFocused","UNSAFE_componentWillReceiveProps","nextProps","setState","previousState","componentWillUnmount","cancel","handleOnFocus","showMenu","onFocus","onOptionSelected","event","item","preventDefault","selectItem","handleOnChange","onInputChange","target","value","updateSelectedValue","handleOnPaste","clipboardData","getData","regex","RegExp","join","pastedChips","split","map","trim","filter","chip","handleOnKeyDown","options","chipsMode","includes","key","moveFocusedOption","slice","offset","index","clamp","optionRef","current","focus","push","keepFocusOnSelect","hideMenu","clearQueryOnSelect","onSearch","handleDocumentClick","onBlur","addClickClassToDocumentOnIos","document","addEventListener","removeClickClassFromDocumentOnIos","removeEventListener","onChange","some","clear","removeChip","option","selectedOption","renderChip","idx","valid","_jsx","Chip","className","clsx","onRemove","renderMenu","footer","id","dropdownOpen","optionsToRender","every","toUpperCase","open","children","_jsxs","role","ref","React","createRef","TypeaheadOption","String","replace","onClick","toString","render","inputAttributes","idProp","placeholder","addon","name","maxHeight","alert","clearButton","menu","alertType","type","Sentiment","NEUTRAL","hasError","ERROR","displayAlert","hasWarning","WARNING","hasInfo","stopPropagation","TypeaheadInput","typeaheadId","autoComplete","ariaActivedescendant","undefined","onKeyDown","onPaste","intl","formatMessage","messages","clearLabel","CrossIcon","InlineAlert","message","injectIntl","withInputAttributes","nonLabelable"],"mappings":"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"}
1
+ {"version":3,"file":"Typeahead.js","sources":["../../src/typeahead/Typeahead.tsx"],"sourcesContent":["import { Cross as CrossIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { DebouncedFunc } from 'lodash';\nimport clamp from 'lodash.clamp';\nimport debounce from 'lodash.debounce';\nimport React, { Component, ReactNode } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport Chip from '../chips/Chip';\nimport {\n Size,\n Sentiment,\n SizeMedium,\n SizeLarge,\n addClickClassToDocumentOnIos,\n removeClickClassFromDocumentOnIos,\n stopPropagation,\n} from '../common';\nimport InlineAlert from '../inlineAlert';\nimport { InlineAlertProps } from '../inlineAlert/InlineAlert';\nimport { withInputAttributes, WithInputAttributesProps } from '../inputs/contexts';\n\nimport TypeaheadInput from './typeaheadInput/TypeaheadInput';\nimport TypeaheadOption from './typeaheadOption/TypeaheadOption';\nimport messages from './Typeahead.messages';\n\nconst DEFAULT_MIN_QUERY_LENGTH = 3;\nconst SEARCH_DELAY = 200;\n\nexport type TypeaheadOption<T = string> = {\n label: string;\n note?: string;\n secondary?: string;\n value?: T;\n clearQueryOnSelect?: boolean;\n keepFocusOnSelect?: boolean;\n};\n\nexport interface TypeaheadProps<T> extends Partial<WrappedComponentProps> {\n id: string;\n name: string;\n addon?: ReactNode;\n alert?: {\n message: InlineAlertProps['children'];\n type?: InlineAlertProps['type'];\n };\n allowNew?: boolean;\n autoFillOnBlur?: boolean;\n autoFocus?: boolean;\n chipSeparators?: readonly string[];\n clearable?: boolean;\n footer?: ReactNode;\n initialValue?: readonly TypeaheadOption<T>[];\n inputAutoComplete?: string;\n maxHeight?: number;\n minQueryLength?: number;\n placeholder?: string;\n multiple?: boolean;\n options: readonly TypeaheadOption<T>[];\n searchDelay?: number;\n showSuggestions?: boolean;\n showNewEntry?: boolean;\n size?: SizeMedium | SizeLarge;\n\n onBlur?: () => void;\n onChange: (options: TypeaheadOption<T>[]) => void;\n onFocus?: () => void;\n onInputChange?: (query: string) => void;\n onSearch?: (query: string) => void;\n validateChip?: (chip: TypeaheadOption<T>) => boolean;\n}\n\ntype TypeaheadPropsWithInputAttributes<T> = TypeaheadProps<T> &\n Partial<WithInputAttributesProps> &\n WrappedComponentProps;\n\ntype TypeaheadState<T> = {\n selected: readonly TypeaheadOption<T>[];\n keyboardFocusedOptionIndex: number | null;\n errorState: boolean;\n query: string;\n optionsShown: boolean;\n isFocused: boolean;\n};\n\nclass Typeahead<T> extends Component<TypeaheadPropsWithInputAttributes<T>, TypeaheadState<T>> {\n declare props: TypeaheadPropsWithInputAttributes<T> &\n Required<Pick<TypeaheadPropsWithInputAttributes<T>, keyof typeof Typeahead.defaultProps>>;\n\n static defaultProps = {\n allowNew: false,\n autoFillOnBlur: true,\n autoFocus: false,\n chipSeparators: [],\n clearable: true,\n initialValue: [],\n inputAutoComplete: 'new-password',\n minQueryLength: DEFAULT_MIN_QUERY_LENGTH,\n multiple: false,\n searchDelay: SEARCH_DELAY,\n showSuggestions: true,\n showNewEntry: true,\n size: Size.MEDIUM,\n validateChip: () => true,\n } satisfies Partial<TypeaheadProps<unknown>>;\n optionRefs: (React.RefObject<HTMLLIElement> | null)[];\n\n constructor(props: TypeaheadPropsWithInputAttributes<T>) {\n super(props);\n const { searchDelay, initialValue, multiple } = this.props;\n this.handleSearchDebounced = debounce(this.handleSearch, searchDelay);\n const initialQuery = !multiple && initialValue.length > 0 ? initialValue[0].label : '';\n this.state = {\n selected: initialValue,\n errorState: false,\n query: initialQuery,\n keyboardFocusedOptionIndex: null,\n optionsShown: false,\n isFocused: false,\n };\n this.optionRefs = [] as (React.RefObject<HTMLLIElement> | null)[];\n }\n\n handleSearchDebounced: DebouncedFunc<Typeahead<T>['handleSearch']>;\n\n UNSAFE_componentWillReceiveProps(nextProps: TypeaheadPropsWithInputAttributes<T>) {\n if (nextProps.multiple !== this.props.multiple) {\n this.setState((previousState) => {\n const { selected } = previousState;\n if (!nextProps.multiple && selected.length > 0) {\n return {\n query: selected[0].label,\n selected: [selected[0]],\n };\n }\n return {\n selected: previousState.selected,\n query: '',\n };\n });\n }\n }\n\n componentWillUnmount() {\n this.handleSearchDebounced.cancel();\n }\n\n handleOnFocus = () => {\n this.showMenu();\n this.props.onFocus?.();\n };\n\n onOptionSelected = (event: React.MouseEvent, item: TypeaheadOption<T>) => {\n event.preventDefault();\n this.selectItem(item);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const { optionsShown, selected } = this.state;\n const { multiple, onInputChange } = this.props;\n\n if (!optionsShown) {\n this.showMenu();\n }\n\n const query = event.target.value;\n\n if (!multiple && selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({ query }, () => {\n this.handleSearchDebounced(query);\n if (onInputChange) {\n onInputChange(query);\n }\n });\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n const { allowNew, multiple, chipSeparators } = this.props;\n const { selected } = this.state;\n\n if (allowNew && multiple && chipSeparators.length > 0) {\n event.preventDefault();\n const value = event.clipboardData.getData('text');\n if (value) {\n const regex = new RegExp(chipSeparators.join('|'));\n const pastedChips = value\n .split(regex)\n .map((label) => ({ label: label.trim() }))\n .filter((chip) => chip.label);\n\n this.updateSelectedValue([...selected, ...pastedChips]);\n }\n }\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const { showSuggestions, allowNew, multiple, chipSeparators, options } = this.props;\n const { keyboardFocusedOptionIndex, query, selected } = this.state;\n const chipsMode = !showSuggestions && allowNew && multiple;\n\n if (chipsMode && ['Enter', 'Tab', ...chipSeparators].includes(event.key) && query.trim()) {\n event.preventDefault();\n this.selectItem({ label: query });\n } else {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.moveFocusedOption(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveFocusedOption(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (keyboardFocusedOptionIndex != null && options[keyboardFocusedOptionIndex]) {\n this.selectItem(options[keyboardFocusedOptionIndex]);\n } else if (allowNew && query.trim()) {\n this.selectItem({ label: query });\n }\n break;\n case 'Backspace':\n if (multiple && !query && selected.length > 0) {\n this.updateSelectedValue(selected.slice(0, -1));\n }\n break;\n default:\n break;\n }\n }\n };\n moveFocusedOption(offset: number) {\n this.setState((previousState) => {\n const { keyboardFocusedOptionIndex } = previousState;\n const { options } = this.props;\n let index = 0;\n if (keyboardFocusedOptionIndex !== null) {\n index = clamp(keyboardFocusedOptionIndex + offset, 0, options.length - 1);\n }\n const optionRef = this.optionRefs[index];\n if (optionRef?.current) {\n optionRef.current.focus(); // Set focus on the option element\n }\n return {\n keyboardFocusedOptionIndex: index,\n };\n });\n }\n\n selectItem = (item: TypeaheadOption<T>) => {\n const { multiple } = this.props;\n let selected = [...this.state.selected];\n let query;\n if (multiple) {\n selected.push(item);\n query = '';\n } else {\n selected = [item];\n query = item.label;\n }\n\n this.updateSelectedValue(selected);\n\n if (!item.keepFocusOnSelect) {\n this.hideMenu();\n }\n\n if (item.clearQueryOnSelect) {\n query = '';\n }\n\n this.setState({\n query,\n });\n };\n\n handleSearch = (query: string) => {\n const { onSearch } = this.props;\n if (onSearch) {\n onSearch(query);\n }\n\n this.setState((previousState) => ({\n keyboardFocusedOptionIndex: previousState.keyboardFocusedOptionIndex === null ? null : 0,\n }));\n };\n\n handleDocumentClick = () => {\n if (this.state.optionsShown) {\n this.hideMenu();\n const { allowNew, onBlur, autoFillOnBlur } = this.props;\n const { query } = this.state;\n this.setState({\n isFocused: false,\n });\n if (allowNew && autoFillOnBlur && query.trim()) {\n this.selectItem({ label: query });\n }\n\n if (onBlur) {\n onBlur();\n }\n }\n };\n\n showMenu = () => {\n this.setState(\n {\n isFocused: true,\n optionsShown: true,\n },\n () => {\n addClickClassToDocumentOnIos();\n document.addEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n hideMenu = () => {\n this.setState(\n {\n optionsShown: false,\n keyboardFocusedOptionIndex: null,\n },\n () => {\n removeClickClassFromDocumentOnIos();\n document.removeEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n updateSelectedValue = (selected: readonly TypeaheadOption<T>[]) => {\n const { onChange, validateChip } = this.props;\n\n const errorState = selected.some((chip) => !validateChip(chip));\n this.setState({ selected, errorState }, () => {\n onChange([...selected]);\n });\n };\n\n clear = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (this.state.selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({\n query: '',\n });\n };\n\n removeChip = (option: TypeaheadOption<T>) => {\n const { selected } = this.state;\n\n if (selected.length > 0) {\n this.updateSelectedValue([...selected.filter((selectedOption) => selectedOption !== option)]);\n }\n };\n\n renderChip = (option: TypeaheadOption<T>, idx: number): ReactNode => {\n const valid = this.props.validateChip?.(option);\n\n return (\n <Chip\n key={idx}\n label={option.label}\n className={clsx('m-t-1', {\n 'has-error': !valid,\n 'np-chip--valid': valid,\n })}\n onRemove={() => this.removeChip(option)}\n />\n );\n };\n\n renderMenu = ({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n }: Pick<\n TypeaheadPropsWithInputAttributes<T>,\n 'footer' | 'options' | 'id' | 'allowNew' | 'showNewEntry'\n > &\n Pick<TypeaheadState<T>, 'keyboardFocusedOptionIndex' | 'query'> & {\n dropdownOpen: boolean;\n }) => {\n const optionsToRender = [...options];\n if (\n allowNew &&\n query.trim() &&\n options.every((option) => option.label.trim().toUpperCase() !== query.trim().toUpperCase()) &&\n showNewEntry\n ) {\n optionsToRender.push({\n label: query,\n });\n }\n return (\n <div\n className={clsx('dropdown btn-group btn-block', { open: dropdownOpen })}\n id={`menu-${id}`}\n >\n {(!!optionsToRender.length || footer) && (\n <ul className=\"dropdown-menu\" role=\"menu\">\n {optionsToRender.map((option, idx) => {\n const ref = React.createRef<HTMLLIElement>();\n this.optionRefs[idx] = ref;\n return (\n <TypeaheadOption\n key={`${option.label}${idx.toString()}`}\n ref={ref}\n query={query}\n option={option}\n selected={keyboardFocusedOptionIndex === idx}\n id={String(option.label.replace(/\\s+/g, '-'))}\n onClick={(event) => {\n this.onOptionSelected(event, option);\n }}\n />\n );\n })}\n {footer}\n </ul>\n )}\n </div>\n );\n };\n\n render() {\n const {\n inputAttributes,\n id: idProp,\n placeholder,\n multiple,\n size,\n addon,\n name,\n clearable,\n allowNew,\n footer,\n showSuggestions,\n showNewEntry,\n options,\n minQueryLength,\n autoFocus,\n maxHeight,\n alert,\n inputAutoComplete,\n } = this.props;\n const id = idProp ?? inputAttributes?.id;\n\n const { errorState, query, selected, optionsShown, keyboardFocusedOptionIndex } = this.state;\n\n const clearButton = clearable && (query || selected.length > 0);\n\n const dropdownOpen = optionsShown && showSuggestions && query.length >= minQueryLength;\n\n const menu = this.renderMenu({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n });\n\n const alertType = alert?.type ?? Sentiment.NEUTRAL;\n const hasError = errorState || (alert && alertType === Sentiment.ERROR);\n const displayAlert = (!errorState && alert) || (alert && alertType === Sentiment.ERROR);\n const hasWarning = displayAlert && alertType === Sentiment.WARNING;\n const hasInfo = displayAlert && alertType === Sentiment.NEUTRAL;\n return (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <div\n role=\"group\"\n {...inputAttributes}\n id={id}\n className={clsx('typeahead', `typeahead-${size}`, {\n 'typeahead--has-value': selected.length > 0,\n 'typeahead--empty': selected.length === 0,\n 'typeahead--multiple': multiple,\n open: dropdownOpen,\n })}\n onClick={stopPropagation}\n >\n <div\n className={clsx('form-group', {\n 'has-error': hasError,\n 'has-warning': hasWarning,\n 'has-info': hasInfo,\n })}\n >\n <div\n className={clsx(`input-group input-group-${size}`, {\n 'input-group--has-error': hasError,\n })}\n >\n {addon && <span className=\"input-group-addon input-group-addon--search\">{addon}</span>}\n\n <TypeaheadInput\n {...{\n autoFocus,\n multiple,\n dropdownOpen,\n placeholder,\n selected,\n maxHeight,\n }}\n id={id}\n name={name}\n value={query}\n typeaheadId={id}\n renderChip={this.renderChip}\n autoComplete={inputAutoComplete}\n ariaActivedescendant={\n keyboardFocusedOptionIndex !== null && options[keyboardFocusedOptionIndex]\n ? `option-${options[keyboardFocusedOptionIndex].label.replace(/\\s+/g, '-')}`\n : undefined\n }\n onChange={this.handleOnChange}\n onKeyDown={this.handleOnKeyDown}\n onFocus={this.handleOnFocus}\n onPaste={this.handleOnPaste}\n />\n\n {clearButton && (\n <div className=\"input-group-addon\">\n <button\n type=\"button\"\n className=\"btn-unstyled\"\n aria-label={this.props?.intl?.formatMessage(messages.clearLabel)}\n onClick={this.clear}\n >\n <CrossIcon />\n </button>\n </div>\n )}\n </div>\n {displayAlert ? <InlineAlert type={alert.type}>{alert.message}</InlineAlert> : menu}\n </div>\n </div>\n );\n }\n}\n\nexport default injectIntl(withInputAttributes(Typeahead, { nonLabelable: true })) as <T>(\n props: TypeaheadProps<T>,\n) => React.ReactElement;\n"],"names":["DEFAULT_MIN_QUERY_LENGTH","SEARCH_DELAY","Typeahead","Component","defaultProps","allowNew","autoFillOnBlur","autoFocus","chipSeparators","clearable","initialValue","inputAutoComplete","minQueryLength","multiple","searchDelay","showSuggestions","showNewEntry","size","Size","MEDIUM","validateChip","optionRefs","constructor","props","handleSearchDebounced","debounce","handleSearch","initialQuery","length","label","state","selected","errorState","query","keyboardFocusedOptionIndex","optionsShown","isFocused","UNSAFE_componentWillReceiveProps","nextProps","setState","previousState","componentWillUnmount","cancel","handleOnFocus","showMenu","onFocus","onOptionSelected","event","item","preventDefault","selectItem","handleOnChange","onInputChange","target","value","updateSelectedValue","handleOnPaste","clipboardData","getData","regex","RegExp","join","pastedChips","split","map","trim","filter","chip","handleOnKeyDown","options","chipsMode","includes","key","moveFocusedOption","slice","offset","index","clamp","optionRef","current","focus","push","keepFocusOnSelect","hideMenu","clearQueryOnSelect","onSearch","handleDocumentClick","onBlur","addClickClassToDocumentOnIos","document","addEventListener","removeClickClassFromDocumentOnIos","removeEventListener","onChange","some","clear","removeChip","option","selectedOption","renderChip","idx","valid","_jsx","Chip","className","clsx","onRemove","renderMenu","footer","id","dropdownOpen","optionsToRender","every","toUpperCase","open","children","_jsxs","role","ref","React","createRef","TypeaheadOption","String","replace","onClick","toString","render","inputAttributes","idProp","placeholder","addon","name","maxHeight","alert","clearButton","menu","alertType","type","Sentiment","NEUTRAL","hasError","ERROR","displayAlert","hasWarning","WARNING","hasInfo","stopPropagation","TypeaheadInput","typeaheadId","autoComplete","ariaActivedescendant","undefined","onKeyDown","onPaste","intl","formatMessage","messages","clearLabel","CrossIcon","InlineAlert","message","injectIntl","withInputAttributes","nonLabelable"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Typeahead.mjs","sources":["../../src/typeahead/Typeahead.tsx"],"sourcesContent":["import { Cross as CrossIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { DebouncedFunc } from 'lodash';\nimport clamp from 'lodash.clamp';\nimport debounce from 'lodash.debounce';\nimport React, { Component, ReactNode } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport Chip from '../chips/Chip';\nimport {\n Size,\n Sentiment,\n SizeMedium,\n SizeLarge,\n addClickClassToDocumentOnIos,\n removeClickClassFromDocumentOnIos,\n stopPropagation,\n} from '../common';\nimport InlineAlert from '../inlineAlert';\nimport { InlineAlertProps } from '../inlineAlert/InlineAlert';\nimport { withInputAttributes, WithInputAttributesProps } from '../inputs/contexts';\n\nimport TypeaheadInput from './typeaheadInput/TypeaheadInput';\nimport TypeaheadOption from './typeaheadOption/TypeaheadOption';\nimport messages from './Typeahead.messages';\n\nconst DEFAULT_MIN_QUERY_LENGTH = 3;\nconst SEARCH_DELAY = 200;\n\nexport type TypeaheadOption<T = string> = {\n label: string;\n note?: string;\n secondary?: string;\n value?: T;\n clearQueryOnSelect?: boolean;\n keepFocusOnSelect?: boolean;\n};\n\nexport interface TypeaheadProps<T> extends Partial<WrappedComponentProps> {\n id: string;\n name: string;\n addon?: ReactNode;\n alert?: {\n message: InlineAlertProps['children'];\n type?: InlineAlertProps['type'];\n };\n allowNew?: boolean;\n autoFillOnBlur?: boolean;\n autoFocus?: boolean;\n chipSeparators?: readonly string[];\n clearable?: boolean;\n footer?: ReactNode;\n initialValue?: readonly TypeaheadOption<T>[];\n inputAutoComplete?: string;\n maxHeight?: number;\n minQueryLength?: number;\n placeholder?: string;\n multiple?: boolean;\n options: readonly TypeaheadOption<T>[];\n searchDelay?: number;\n showSuggestions?: boolean;\n showNewEntry?: boolean;\n size?: SizeMedium | SizeLarge;\n\n onBlur?: () => void;\n onChange: (options: TypeaheadOption<T>[]) => void;\n onFocus?: () => void;\n onInputChange?: (query: string) => void;\n onSearch?: (query: string) => void;\n validateChip?: (chip: TypeaheadOption<T>) => boolean;\n}\n\ntype TypeaheadPropsWithInputAttributes<T> = TypeaheadProps<T> &\n Partial<WithInputAttributesProps> &\n WrappedComponentProps;\n\ntype TypeaheadState<T> = {\n selected: readonly TypeaheadOption<T>[];\n keyboardFocusedOptionIndex: number | null;\n errorState: boolean;\n query: string;\n optionsShown: boolean;\n isFocused: boolean;\n};\n\nclass Typeahead<T> extends Component<TypeaheadPropsWithInputAttributes<T>, TypeaheadState<T>> {\n declare props: TypeaheadPropsWithInputAttributes<T> &\n Required<Pick<TypeaheadPropsWithInputAttributes<T>, keyof typeof Typeahead.defaultProps>>;\n\n static defaultProps = {\n allowNew: false,\n autoFillOnBlur: true,\n autoFocus: false,\n chipSeparators: [],\n clearable: true,\n initialValue: [],\n inputAutoComplete: 'new-password',\n minQueryLength: DEFAULT_MIN_QUERY_LENGTH,\n multiple: false,\n searchDelay: SEARCH_DELAY,\n showSuggestions: true,\n showNewEntry: true,\n size: Size.MEDIUM,\n validateChip: () => true,\n } satisfies Partial<TypeaheadProps<unknown>>;\n optionRefs: (React.RefObject<HTMLLIElement> | null)[];\n\n constructor(props: TypeaheadPropsWithInputAttributes<T>) {\n super(props);\n const { searchDelay, initialValue, multiple } = this.props;\n this.handleSearchDebounced = debounce(this.handleSearch, searchDelay);\n const initialQuery = !multiple && initialValue.length > 0 ? initialValue[0].label : '';\n this.state = {\n selected: initialValue,\n errorState: false,\n query: initialQuery,\n keyboardFocusedOptionIndex: null,\n optionsShown: false,\n isFocused: false,\n };\n this.optionRefs = [] as (React.RefObject<HTMLLIElement> | null)[];\n }\n\n handleSearchDebounced: DebouncedFunc<Typeahead<T>['handleSearch']>;\n\n UNSAFE_componentWillReceiveProps(nextProps: TypeaheadPropsWithInputAttributes<T>) {\n if (nextProps.multiple !== this.props.multiple) {\n this.setState((previousState) => {\n const { selected } = previousState;\n if (!nextProps.multiple && selected.length > 0) {\n return {\n query: selected[0].label,\n selected: [selected[0]],\n };\n }\n return {\n selected: previousState.selected,\n query: '',\n };\n });\n }\n }\n\n componentWillUnmount() {\n this.handleSearchDebounced.cancel();\n }\n\n handleOnFocus = () => {\n this.showMenu();\n this.props.onFocus?.();\n };\n\n onOptionSelected = (event: React.MouseEvent, item: TypeaheadOption<T>) => {\n event.preventDefault();\n this.selectItem(item);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const { optionsShown, selected } = this.state;\n const { multiple, onInputChange } = this.props;\n\n if (!optionsShown) {\n this.showMenu();\n }\n\n const query = event.target.value;\n\n if (!multiple && selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({ query }, () => {\n this.handleSearchDebounced(query);\n if (onInputChange) {\n onInputChange(query);\n }\n });\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n const { allowNew, multiple, chipSeparators } = this.props;\n const { selected } = this.state;\n\n if (allowNew && multiple && chipSeparators.length > 0) {\n event.preventDefault();\n const value = event.clipboardData.getData('text');\n if (value) {\n const regex = new RegExp(chipSeparators.join('|'));\n const pastedChips = value\n .split(regex)\n .map((label) => ({ label: label.trim() }))\n .filter((chip) => chip.label);\n\n this.updateSelectedValue([...selected, ...pastedChips]);\n }\n }\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const { showSuggestions, allowNew, multiple, chipSeparators, options } = this.props;\n const { keyboardFocusedOptionIndex, query, selected } = this.state;\n const chipsMode = !showSuggestions && allowNew && multiple;\n\n if (chipsMode && ['Enter', 'Tab', ...chipSeparators].includes(event.key) && query.trim()) {\n event.preventDefault();\n this.selectItem({ label: query });\n } else {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.moveFocusedOption(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveFocusedOption(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (keyboardFocusedOptionIndex != null && options[keyboardFocusedOptionIndex]) {\n this.selectItem(options[keyboardFocusedOptionIndex]);\n } else if (allowNew && query.trim()) {\n this.selectItem({ label: query });\n }\n break;\n case 'Backspace':\n if (multiple && !query && selected.length > 0) {\n this.updateSelectedValue(selected.slice(0, -1));\n }\n break;\n default:\n break;\n }\n }\n };\n moveFocusedOption(offset: number) {\n this.setState((previousState) => {\n const { keyboardFocusedOptionIndex } = previousState;\n const { options } = this.props;\n let index = 0;\n if (keyboardFocusedOptionIndex !== null) {\n index = clamp(keyboardFocusedOptionIndex + offset, 0, options.length - 1);\n }\n const optionRef = this.optionRefs[index];\n if (optionRef?.current) {\n optionRef.current.focus(); // Set focus on the option element\n }\n return {\n keyboardFocusedOptionIndex: index,\n };\n });\n }\n\n selectItem = (item: TypeaheadOption<T>) => {\n const { multiple } = this.props;\n let selected = [...this.state.selected];\n let query;\n if (multiple) {\n selected.push(item);\n query = '';\n } else {\n selected = [item];\n query = item.label;\n }\n\n this.updateSelectedValue(selected);\n\n if (!item.keepFocusOnSelect) {\n this.hideMenu();\n }\n\n if (item.clearQueryOnSelect) {\n query = '';\n }\n\n this.setState({\n query,\n });\n };\n\n handleSearch = (query: string) => {\n const { onSearch } = this.props;\n if (onSearch) {\n onSearch(query);\n }\n\n this.setState((previousState) => ({\n keyboardFocusedOptionIndex: previousState.keyboardFocusedOptionIndex === null ? null : 0,\n }));\n };\n\n handleDocumentClick = () => {\n if (this.state.optionsShown) {\n this.hideMenu();\n const { allowNew, onBlur, autoFillOnBlur } = this.props;\n const { query } = this.state;\n this.setState({\n isFocused: false,\n });\n if (allowNew && autoFillOnBlur && query.trim()) {\n this.selectItem({ label: query });\n }\n\n if (onBlur) {\n onBlur();\n }\n }\n };\n\n showMenu = () => {\n this.setState(\n {\n isFocused: true,\n optionsShown: true,\n },\n () => {\n addClickClassToDocumentOnIos();\n document.addEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n hideMenu = () => {\n this.setState(\n {\n optionsShown: false,\n keyboardFocusedOptionIndex: null,\n },\n () => {\n removeClickClassFromDocumentOnIos();\n document.removeEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n updateSelectedValue = (selected: readonly TypeaheadOption<T>[]) => {\n const { onChange, validateChip } = this.props;\n\n const errorState = selected.some((chip) => !validateChip(chip));\n this.setState({ selected, errorState }, () => {\n onChange([...selected]);\n });\n };\n\n clear = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (this.state.selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({\n query: '',\n });\n };\n\n removeChip = (option: TypeaheadOption<T>) => {\n const { selected } = this.state;\n\n if (selected.length > 0) {\n this.updateSelectedValue([...selected.filter((selectedOption) => selectedOption !== option)]);\n }\n };\n\n renderChip = (option: TypeaheadOption<T>, idx: number): ReactNode => {\n const valid = this.props.validateChip?.(option);\n\n return (\n <Chip\n key={idx}\n label={option.label}\n className={clsx('m-t-1', {\n 'has-error': !valid,\n 'np-chip--valid': valid,\n })}\n onRemove={() => this.removeChip(option)}\n />\n );\n };\n\n renderMenu = ({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n }: Pick<\n TypeaheadPropsWithInputAttributes<T>,\n 'footer' | 'options' | 'id' | 'allowNew' | 'showNewEntry'\n > &\n Pick<TypeaheadState<T>, 'keyboardFocusedOptionIndex' | 'query'> & {\n dropdownOpen: boolean;\n }) => {\n const optionsToRender = [...options];\n if (\n allowNew &&\n query.trim() &&\n options.every((option) => option.label.trim().toUpperCase() !== query.trim().toUpperCase()) &&\n showNewEntry\n ) {\n optionsToRender.push({\n label: query,\n });\n }\n return (\n <div\n className={clsx('dropdown btn-group btn-block', { open: dropdownOpen })}\n id={`menu-${id}`}\n >\n {(!!optionsToRender.length || footer) && (\n <ul className=\"dropdown-menu\" role=\"menu\">\n {optionsToRender.map((option, idx) => {\n const ref = React.createRef<HTMLLIElement>();\n this.optionRefs[idx] = ref;\n return (\n <TypeaheadOption\n key={`${option.label}${idx.toString()}`}\n ref={ref}\n query={query}\n option={option}\n selected={keyboardFocusedOptionIndex === idx}\n id={String(option.label.replace(/\\s+/g, '-'))}\n onClick={(event) => {\n this.onOptionSelected(event, option);\n }}\n />\n );\n })}\n {footer}\n </ul>\n )}\n </div>\n );\n };\n\n render() {\n const {\n inputAttributes,\n id: idProp,\n placeholder,\n multiple,\n size,\n addon,\n name,\n clearable,\n allowNew,\n footer,\n showSuggestions,\n showNewEntry,\n options,\n minQueryLength,\n autoFocus,\n maxHeight,\n alert,\n inputAutoComplete,\n } = this.props;\n const id = idProp ?? inputAttributes?.id;\n\n const { errorState, query, selected, optionsShown, keyboardFocusedOptionIndex } = this.state;\n\n const clearButton = clearable && (query || selected.length > 0);\n\n const dropdownOpen = optionsShown && showSuggestions && query.length >= minQueryLength;\n\n const menu = this.renderMenu({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n });\n\n const alertType = alert?.type ?? Sentiment.NEUTRAL;\n const hasError = errorState || (alert && alertType === Sentiment.ERROR);\n const displayAlert = (!errorState && alert) || (alert && alertType === Sentiment.ERROR);\n const hasWarning = displayAlert && alertType === Sentiment.WARNING;\n const hasInfo = displayAlert && alertType === Sentiment.NEUTRAL;\n return (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <div\n role=\"group\"\n {...inputAttributes}\n id={id}\n className={clsx('typeahead', `typeahead-${size}`, {\n 'typeahead--has-value': selected.length > 0,\n 'typeahead--empty': selected.length === 0,\n 'typeahead--multiple': multiple,\n open: dropdownOpen,\n })}\n onClick={stopPropagation}\n >\n <div\n className={clsx('form-group', {\n 'has-error': hasError,\n 'has-warning': hasWarning,\n 'has-info': hasInfo,\n })}\n >\n <div\n className={clsx(`input-group input-group-${size}`, {\n 'input-group--has-error': hasError,\n })}\n >\n {addon && <span className=\"input-group-addon input-group-addon--search\">{addon}</span>}\n\n <TypeaheadInput\n {...{\n autoFocus,\n multiple,\n dropdownOpen,\n placeholder,\n selected,\n maxHeight,\n }}\n id={id}\n name={name}\n value={query}\n typeaheadId={id}\n renderChip={this.renderChip}\n autoComplete={inputAutoComplete}\n ariaActivedescendant={\n keyboardFocusedOptionIndex !== null && options[keyboardFocusedOptionIndex]\n ? `option-${options[keyboardFocusedOptionIndex].label.replace(/\\s+/g, '-')}`\n : undefined\n }\n onChange={this.handleOnChange}\n onKeyDown={this.handleOnKeyDown}\n onFocus={this.handleOnFocus}\n onPaste={this.handleOnPaste}\n />\n\n {clearButton && (\n <div className=\"input-group-addon\">\n <button\n type=\"button\"\n className=\"btn-unstyled\"\n aria-label={this.props?.intl?.formatMessage(messages.clearLabel)}\n onClick={this.clear}\n >\n <CrossIcon />\n </button>\n </div>\n )}\n </div>\n {displayAlert ? <InlineAlert type={alert.type}>{alert.message}</InlineAlert> : menu}\n </div>\n </div>\n );\n }\n}\n\nexport default injectIntl(withInputAttributes(Typeahead, { nonLabelable: true })) as <T>(\n props: TypeaheadProps<T>,\n) => React.ReactElement;\n"],"names":["DEFAULT_MIN_QUERY_LENGTH","SEARCH_DELAY","Typeahead","Component","defaultProps","allowNew","autoFillOnBlur","autoFocus","chipSeparators","clearable","initialValue","inputAutoComplete","minQueryLength","multiple","searchDelay","showSuggestions","showNewEntry","size","Size","MEDIUM","validateChip","optionRefs","constructor","props","handleSearchDebounced","debounce","handleSearch","initialQuery","length","label","state","selected","errorState","query","keyboardFocusedOptionIndex","optionsShown","isFocused","UNSAFE_componentWillReceiveProps","nextProps","setState","previousState","componentWillUnmount","cancel","handleOnFocus","showMenu","onFocus","onOptionSelected","event","item","preventDefault","selectItem","handleOnChange","onInputChange","target","value","updateSelectedValue","handleOnPaste","clipboardData","getData","regex","RegExp","join","pastedChips","split","map","trim","filter","chip","handleOnKeyDown","options","chipsMode","includes","key","moveFocusedOption","slice","offset","index","clamp","optionRef","current","focus","push","keepFocusOnSelect","hideMenu","clearQueryOnSelect","onSearch","handleDocumentClick","onBlur","addClickClassToDocumentOnIos","document","addEventListener","removeClickClassFromDocumentOnIos","removeEventListener","onChange","some","clear","removeChip","option","selectedOption","renderChip","idx","valid","_jsx","Chip","className","clsx","onRemove","renderMenu","footer","id","dropdownOpen","optionsToRender","every","toUpperCase","open","children","_jsxs","role","ref","React","createRef","TypeaheadOption","String","replace","onClick","toString","render","inputAttributes","idProp","placeholder","addon","name","maxHeight","alert","clearButton","menu","alertType","type","Sentiment","NEUTRAL","hasError","ERROR","displayAlert","hasWarning","WARNING","hasInfo","stopPropagation","TypeaheadInput","typeaheadId","autoComplete","ariaActivedescendant","undefined","onKeyDown","onPaste","intl","formatMessage","messages","clearLabel","CrossIcon","InlineAlert","message","injectIntl","withInputAttributes","nonLabelable"],"mappings":"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"}
1
+ {"version":3,"file":"Typeahead.mjs","sources":["../../src/typeahead/Typeahead.tsx"],"sourcesContent":["import { Cross as CrossIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { DebouncedFunc } from 'lodash';\nimport clamp from 'lodash.clamp';\nimport debounce from 'lodash.debounce';\nimport React, { Component, ReactNode } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport Chip from '../chips/Chip';\nimport {\n Size,\n Sentiment,\n SizeMedium,\n SizeLarge,\n addClickClassToDocumentOnIos,\n removeClickClassFromDocumentOnIos,\n stopPropagation,\n} from '../common';\nimport InlineAlert from '../inlineAlert';\nimport { InlineAlertProps } from '../inlineAlert/InlineAlert';\nimport { withInputAttributes, WithInputAttributesProps } from '../inputs/contexts';\n\nimport TypeaheadInput from './typeaheadInput/TypeaheadInput';\nimport TypeaheadOption from './typeaheadOption/TypeaheadOption';\nimport messages from './Typeahead.messages';\n\nconst DEFAULT_MIN_QUERY_LENGTH = 3;\nconst SEARCH_DELAY = 200;\n\nexport type TypeaheadOption<T = string> = {\n label: string;\n note?: string;\n secondary?: string;\n value?: T;\n clearQueryOnSelect?: boolean;\n keepFocusOnSelect?: boolean;\n};\n\nexport interface TypeaheadProps<T> extends Partial<WrappedComponentProps> {\n id: string;\n name: string;\n addon?: ReactNode;\n alert?: {\n message: InlineAlertProps['children'];\n type?: InlineAlertProps['type'];\n };\n allowNew?: boolean;\n autoFillOnBlur?: boolean;\n autoFocus?: boolean;\n chipSeparators?: readonly string[];\n clearable?: boolean;\n footer?: ReactNode;\n initialValue?: readonly TypeaheadOption<T>[];\n inputAutoComplete?: string;\n maxHeight?: number;\n minQueryLength?: number;\n placeholder?: string;\n multiple?: boolean;\n options: readonly TypeaheadOption<T>[];\n searchDelay?: number;\n showSuggestions?: boolean;\n showNewEntry?: boolean;\n size?: SizeMedium | SizeLarge;\n\n onBlur?: () => void;\n onChange: (options: TypeaheadOption<T>[]) => void;\n onFocus?: () => void;\n onInputChange?: (query: string) => void;\n onSearch?: (query: string) => void;\n validateChip?: (chip: TypeaheadOption<T>) => boolean;\n}\n\ntype TypeaheadPropsWithInputAttributes<T> = TypeaheadProps<T> &\n Partial<WithInputAttributesProps> &\n WrappedComponentProps;\n\ntype TypeaheadState<T> = {\n selected: readonly TypeaheadOption<T>[];\n keyboardFocusedOptionIndex: number | null;\n errorState: boolean;\n query: string;\n optionsShown: boolean;\n isFocused: boolean;\n};\n\nclass Typeahead<T> extends Component<TypeaheadPropsWithInputAttributes<T>, TypeaheadState<T>> {\n declare props: TypeaheadPropsWithInputAttributes<T> &\n Required<Pick<TypeaheadPropsWithInputAttributes<T>, keyof typeof Typeahead.defaultProps>>;\n\n static defaultProps = {\n allowNew: false,\n autoFillOnBlur: true,\n autoFocus: false,\n chipSeparators: [],\n clearable: true,\n initialValue: [],\n inputAutoComplete: 'new-password',\n minQueryLength: DEFAULT_MIN_QUERY_LENGTH,\n multiple: false,\n searchDelay: SEARCH_DELAY,\n showSuggestions: true,\n showNewEntry: true,\n size: Size.MEDIUM,\n validateChip: () => true,\n } satisfies Partial<TypeaheadProps<unknown>>;\n optionRefs: (React.RefObject<HTMLLIElement> | null)[];\n\n constructor(props: TypeaheadPropsWithInputAttributes<T>) {\n super(props);\n const { searchDelay, initialValue, multiple } = this.props;\n this.handleSearchDebounced = debounce(this.handleSearch, searchDelay);\n const initialQuery = !multiple && initialValue.length > 0 ? initialValue[0].label : '';\n this.state = {\n selected: initialValue,\n errorState: false,\n query: initialQuery,\n keyboardFocusedOptionIndex: null,\n optionsShown: false,\n isFocused: false,\n };\n this.optionRefs = [] as (React.RefObject<HTMLLIElement> | null)[];\n }\n\n handleSearchDebounced: DebouncedFunc<Typeahead<T>['handleSearch']>;\n\n UNSAFE_componentWillReceiveProps(nextProps: TypeaheadPropsWithInputAttributes<T>) {\n if (nextProps.multiple !== this.props.multiple) {\n this.setState((previousState) => {\n const { selected } = previousState;\n if (!nextProps.multiple && selected.length > 0) {\n return {\n query: selected[0].label,\n selected: [selected[0]],\n };\n }\n return {\n selected: previousState.selected,\n query: '',\n };\n });\n }\n }\n\n componentWillUnmount() {\n this.handleSearchDebounced.cancel();\n }\n\n handleOnFocus = () => {\n this.showMenu();\n this.props.onFocus?.();\n };\n\n onOptionSelected = (event: React.MouseEvent, item: TypeaheadOption<T>) => {\n event.preventDefault();\n this.selectItem(item);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const { optionsShown, selected } = this.state;\n const { multiple, onInputChange } = this.props;\n\n if (!optionsShown) {\n this.showMenu();\n }\n\n const query = event.target.value;\n\n if (!multiple && selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({ query }, () => {\n this.handleSearchDebounced(query);\n if (onInputChange) {\n onInputChange(query);\n }\n });\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n const { allowNew, multiple, chipSeparators } = this.props;\n const { selected } = this.state;\n\n if (allowNew && multiple && chipSeparators.length > 0) {\n event.preventDefault();\n const value = event.clipboardData.getData('text');\n if (value) {\n const regex = new RegExp(chipSeparators.join('|'));\n const pastedChips = value\n .split(regex)\n .map((label) => ({ label: label.trim() }))\n .filter((chip) => chip.label);\n\n this.updateSelectedValue([...selected, ...pastedChips]);\n }\n }\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const { showSuggestions, allowNew, multiple, chipSeparators, options } = this.props;\n const { keyboardFocusedOptionIndex, query, selected } = this.state;\n const chipsMode = !showSuggestions && allowNew && multiple;\n\n if (chipsMode && ['Enter', 'Tab', ...chipSeparators].includes(event.key) && query.trim()) {\n event.preventDefault();\n this.selectItem({ label: query });\n } else {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.moveFocusedOption(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveFocusedOption(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (keyboardFocusedOptionIndex != null && options[keyboardFocusedOptionIndex]) {\n this.selectItem(options[keyboardFocusedOptionIndex]);\n } else if (allowNew && query.trim()) {\n this.selectItem({ label: query });\n }\n break;\n case 'Backspace':\n if (multiple && !query && selected.length > 0) {\n this.updateSelectedValue(selected.slice(0, -1));\n }\n break;\n default:\n break;\n }\n }\n };\n moveFocusedOption(offset: number) {\n this.setState((previousState) => {\n const { keyboardFocusedOptionIndex } = previousState;\n const { options } = this.props;\n let index = 0;\n if (keyboardFocusedOptionIndex !== null) {\n index = clamp(keyboardFocusedOptionIndex + offset, 0, options.length - 1);\n }\n const optionRef = this.optionRefs[index];\n if (optionRef?.current) {\n optionRef.current.focus(); // Set focus on the option element\n }\n return {\n keyboardFocusedOptionIndex: index,\n };\n });\n }\n\n selectItem = (item: TypeaheadOption<T>) => {\n const { multiple } = this.props;\n let selected = [...this.state.selected];\n let query;\n if (multiple) {\n selected.push(item);\n query = '';\n } else {\n selected = [item];\n query = item.label;\n }\n\n this.updateSelectedValue(selected);\n\n if (!item.keepFocusOnSelect) {\n this.hideMenu();\n }\n\n if (item.clearQueryOnSelect) {\n query = '';\n }\n\n this.setState({\n query,\n });\n };\n\n handleSearch = (query: string) => {\n const { onSearch } = this.props;\n if (onSearch) {\n onSearch(query);\n }\n\n this.setState((previousState) => ({\n keyboardFocusedOptionIndex: previousState.keyboardFocusedOptionIndex === null ? null : 0,\n }));\n };\n\n handleDocumentClick = () => {\n if (this.state.optionsShown) {\n this.hideMenu();\n const { allowNew, onBlur, autoFillOnBlur } = this.props;\n const { query } = this.state;\n this.setState({\n isFocused: false,\n });\n if (allowNew && autoFillOnBlur && query.trim()) {\n this.selectItem({ label: query });\n }\n\n if (onBlur) {\n onBlur();\n }\n }\n };\n\n showMenu = () => {\n this.setState(\n {\n isFocused: true,\n optionsShown: true,\n },\n () => {\n addClickClassToDocumentOnIos();\n document.addEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n hideMenu = () => {\n this.setState(\n {\n optionsShown: false,\n keyboardFocusedOptionIndex: null,\n },\n () => {\n removeClickClassFromDocumentOnIos();\n document.removeEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n updateSelectedValue = (selected: readonly TypeaheadOption<T>[]) => {\n const { onChange, validateChip } = this.props;\n\n const errorState = selected.some((chip) => !validateChip(chip));\n this.setState({ selected, errorState }, () => {\n onChange([...selected]);\n });\n };\n\n clear = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (this.state.selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({\n query: '',\n });\n };\n\n removeChip = (option: TypeaheadOption<T>) => {\n const { selected } = this.state;\n\n if (selected.length > 0) {\n this.updateSelectedValue([...selected.filter((selectedOption) => selectedOption !== option)]);\n }\n };\n\n renderChip = (option: TypeaheadOption<T>, idx: number): ReactNode => {\n const valid = this.props.validateChip?.(option);\n\n return (\n <Chip\n key={idx}\n label={option.label}\n className={clsx('m-t-1', {\n 'has-error': !valid,\n 'np-chip--valid': valid,\n })}\n onRemove={() => this.removeChip(option)}\n />\n );\n };\n\n renderMenu = ({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n }: Pick<\n TypeaheadPropsWithInputAttributes<T>,\n 'footer' | 'options' | 'id' | 'allowNew' | 'showNewEntry'\n > &\n Pick<TypeaheadState<T>, 'keyboardFocusedOptionIndex' | 'query'> & {\n dropdownOpen: boolean;\n }) => {\n const optionsToRender = [...options];\n if (\n allowNew &&\n query.trim() &&\n options.every((option) => option.label.trim().toUpperCase() !== query.trim().toUpperCase()) &&\n showNewEntry\n ) {\n optionsToRender.push({\n label: query,\n });\n }\n return (\n <div\n className={clsx('dropdown btn-group btn-block', { open: dropdownOpen })}\n id={`menu-${id}`}\n >\n {(!!optionsToRender.length || footer) && (\n <ul className=\"dropdown-menu\" role=\"menu\">\n {optionsToRender.map((option, idx) => {\n const ref = React.createRef<HTMLLIElement>();\n this.optionRefs[idx] = ref;\n return (\n <TypeaheadOption\n key={`${option.label}${idx.toString()}`}\n ref={ref}\n query={query}\n option={option}\n selected={keyboardFocusedOptionIndex === idx}\n id={String(option.label.replace(/\\s+/g, '-'))}\n onClick={(event) => {\n this.onOptionSelected(event, option);\n }}\n />\n );\n })}\n {footer}\n </ul>\n )}\n </div>\n );\n };\n\n render() {\n const {\n inputAttributes,\n id: idProp,\n placeholder,\n multiple,\n size,\n addon,\n name,\n clearable,\n allowNew,\n footer,\n showSuggestions,\n showNewEntry,\n options,\n minQueryLength,\n autoFocus,\n maxHeight,\n alert,\n inputAutoComplete,\n } = this.props;\n const id = idProp ?? inputAttributes?.id;\n\n const { errorState, query, selected, optionsShown, keyboardFocusedOptionIndex } = this.state;\n\n const clearButton = clearable && (query || selected.length > 0);\n\n const dropdownOpen = optionsShown && showSuggestions && query.length >= minQueryLength;\n\n const menu = this.renderMenu({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n });\n\n const alertType = alert?.type ?? Sentiment.NEUTRAL;\n const hasError = errorState || (alert && alertType === Sentiment.ERROR);\n const displayAlert = (!errorState && alert) || (alert && alertType === Sentiment.ERROR);\n const hasWarning = displayAlert && alertType === Sentiment.WARNING;\n const hasInfo = displayAlert && alertType === Sentiment.NEUTRAL;\n return (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <div\n role=\"group\"\n {...inputAttributes}\n id={id}\n className={clsx('typeahead', `typeahead-${size}`, {\n 'typeahead--has-value': selected.length > 0,\n 'typeahead--empty': selected.length === 0,\n 'typeahead--multiple': multiple,\n open: dropdownOpen,\n })}\n onClick={stopPropagation}\n >\n <div\n className={clsx('form-group', {\n 'has-error': hasError,\n 'has-warning': hasWarning,\n 'has-info': hasInfo,\n })}\n >\n <div\n className={clsx(`input-group input-group-${size}`, {\n 'input-group--has-error': hasError,\n })}\n >\n {addon && <span className=\"input-group-addon input-group-addon--search\">{addon}</span>}\n\n <TypeaheadInput\n {...{\n autoFocus,\n multiple,\n dropdownOpen,\n placeholder,\n selected,\n maxHeight,\n }}\n id={id}\n name={name}\n value={query}\n typeaheadId={id}\n renderChip={this.renderChip}\n autoComplete={inputAutoComplete}\n ariaActivedescendant={\n keyboardFocusedOptionIndex !== null && options[keyboardFocusedOptionIndex]\n ? `option-${options[keyboardFocusedOptionIndex].label.replace(/\\s+/g, '-')}`\n : undefined\n }\n onChange={this.handleOnChange}\n onKeyDown={this.handleOnKeyDown}\n onFocus={this.handleOnFocus}\n onPaste={this.handleOnPaste}\n />\n\n {clearButton && (\n <div className=\"input-group-addon\">\n <button\n type=\"button\"\n className=\"btn-unstyled\"\n aria-label={this.props?.intl?.formatMessage(messages.clearLabel)}\n onClick={this.clear}\n >\n <CrossIcon />\n </button>\n </div>\n )}\n </div>\n {displayAlert ? <InlineAlert type={alert.type}>{alert.message}</InlineAlert> : menu}\n </div>\n </div>\n );\n }\n}\n\nexport default injectIntl(withInputAttributes(Typeahead, { nonLabelable: true })) as <T>(\n props: TypeaheadProps<T>,\n) => React.ReactElement;\n"],"names":["DEFAULT_MIN_QUERY_LENGTH","SEARCH_DELAY","Typeahead","Component","defaultProps","allowNew","autoFillOnBlur","autoFocus","chipSeparators","clearable","initialValue","inputAutoComplete","minQueryLength","multiple","searchDelay","showSuggestions","showNewEntry","size","Size","MEDIUM","validateChip","optionRefs","constructor","props","handleSearchDebounced","debounce","handleSearch","initialQuery","length","label","state","selected","errorState","query","keyboardFocusedOptionIndex","optionsShown","isFocused","UNSAFE_componentWillReceiveProps","nextProps","setState","previousState","componentWillUnmount","cancel","handleOnFocus","showMenu","onFocus","onOptionSelected","event","item","preventDefault","selectItem","handleOnChange","onInputChange","target","value","updateSelectedValue","handleOnPaste","clipboardData","getData","regex","RegExp","join","pastedChips","split","map","trim","filter","chip","handleOnKeyDown","options","chipsMode","includes","key","moveFocusedOption","slice","offset","index","clamp","optionRef","current","focus","push","keepFocusOnSelect","hideMenu","clearQueryOnSelect","onSearch","handleDocumentClick","onBlur","addClickClassToDocumentOnIos","document","addEventListener","removeClickClassFromDocumentOnIos","removeEventListener","onChange","some","clear","removeChip","option","selectedOption","renderChip","idx","valid","_jsx","Chip","className","clsx","onRemove","renderMenu","footer","id","dropdownOpen","optionsToRender","every","toUpperCase","open","children","_jsxs","role","ref","React","createRef","TypeaheadOption","String","replace","onClick","toString","render","inputAttributes","idProp","placeholder","addon","name","maxHeight","alert","clearButton","menu","alertType","type","Sentiment","NEUTRAL","hasError","ERROR","displayAlert","hasWarning","WARNING","hasInfo","stopPropagation","TypeaheadInput","typeaheadId","autoComplete","ariaActivedescendant","undefined","onKeyDown","onPaste","intl","formatMessage","messages","clearLabel","CrossIcon","InlineAlert","message","injectIntl","withInputAttributes","nonLabelable"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeaheadInput.js","sources":["../../../src/typeahead/typeaheadInput/TypeaheadInput.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport { clsx } from 'clsx';\nimport { Component, createRef, ReactNode } from 'react';\n\nimport { Input } from '../../inputs/Input';\nimport { TypeaheadOption, TypeaheadProps } from '../Typeahead';\n\nconst DEFAULT_INPUT_MIN_WIDTH = 10;\n\nexport type TypeaheadInputProps<T> = {\n typeaheadId: string;\n value: string;\n selected: readonly TypeaheadOption<T>[];\n dropdownOpen?: boolean;\n autoComplete: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n onFocus: () => void;\n onPaste: React.ClipboardEventHandler<HTMLInputElement>;\n renderChip: (chip: TypeaheadOption<T>, index: number) => ReactNode;\n ariaActivedescendant?: string;\n} & Pick<TypeaheadProps<T>, 'id' | 'name' | 'autoFocus' | 'multiple' | 'placeholder' | 'maxHeight'>;\n\ntype TypeaheadInputState = {\n inputWidth: number;\n keyboardFocusedOptionIndex: number | null;\n};\n\nexport default class TypeaheadInput<T> extends Component<\n TypeaheadInputProps<T>,\n TypeaheadInputState\n> {\n inputRef = createRef<HTMLInputElement>();\n sizerRef = createRef<HTMLDivElement>();\n\n constructor(props: TypeaheadInputProps<T>) {\n super(props);\n this.state = {\n inputWidth: DEFAULT_INPUT_MIN_WIDTH,\n keyboardFocusedOptionIndex: null,\n };\n }\n\n componentDidMount() {\n const { autoFocus } = this.props;\n if (autoFocus) {\n // Autofocus after context code executions (e.g open Modal) is completed\n setTimeout(() => {\n this.inputRef.current?.focus();\n });\n }\n }\n\n componentDidUpdate(previousProps: TypeaheadInputProps<T>) {\n if (previousProps.value !== this.props.value && this.props.multiple) {\n this.recalculateWidth();\n }\n }\n\n recalculateWidth = () => {\n requestAnimationFrame(() => {\n this.setState({\n inputWidth: Math.max(DEFAULT_INPUT_MIN_WIDTH, this.sizerRef.current?.scrollWidth ?? 0 + 10),\n });\n });\n };\n\n renderInput = () => {\n const {\n typeaheadId,\n autoFocus,\n multiple,\n name,\n dropdownOpen,\n placeholder,\n selected,\n value,\n onChange,\n onKeyDown,\n onFocus,\n onPaste,\n autoComplete,\n ariaActivedescendant, // Declare the ariaActivedescendant variable\n } = this.props;\n const { inputWidth } = this.state;\n\n const hasPlaceholder = !multiple || selected.length === 0;\n return (\n <Input\n ref={this.inputRef}\n className={clsx(multiple && 'typeahead__input')}\n name={name}\n id={`input-${typeaheadId}`}\n aria-activedescendant={\n ariaActivedescendant\n ? `menu-${typeaheadId} ${ariaActivedescendant}`\n : `menu-${typeaheadId}`\n }\n autoFocus={autoFocus}\n placeholder={hasPlaceholder ? placeholder : ''}\n aria-autocomplete=\"list\"\n aria-expanded={dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-controls={dropdownOpen ? `menu-${typeaheadId}` : undefined}\n autoComplete={autoComplete}\n role=\"combobox\"\n value={value}\n style={multiple && selected.length > 0 ? { width: inputWidth } : {}}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onClick={onFocus}\n onFocus={onFocus}\n onPaste={onPaste}\n />\n );\n };\n\n render() {\n const { multiple, selected, value, maxHeight, renderChip } = this.props;\n\n return multiple ? (\n <div\n className=\"form-control typeahead__input-container\"\n style={{ maxHeight }}\n onClick={() => {\n this.inputRef.current?.focus();\n }}\n >\n <div className=\"typeahead__input-wrapper\">\n {selected && selected.map((chip, idx) => renderChip(chip, idx))}\n\n {this.renderInput()}\n <div className=\"typeahead__input-aligner\" />\n </div>\n <div ref={this.sizerRef} className=\"sizer form-control typeahead__input\">\n {value}\n </div>\n </div>\n ) : (\n this.renderInput()\n );\n }\n}\n"],"names":["DEFAULT_INPUT_MIN_WIDTH","TypeaheadInput","Component","inputRef","createRef","sizerRef","constructor","props","state","inputWidth","keyboardFocusedOptionIndex","componentDidMount","autoFocus","setTimeout","current","focus","componentDidUpdate","previousProps","value","multiple","recalculateWidth","requestAnimationFrame","setState","Math","max","scrollWidth","renderInput","typeaheadId","name","dropdownOpen","placeholder","selected","onChange","onKeyDown","onFocus","onPaste","autoComplete","ariaActivedescendant","hasPlaceholder","length","_jsx","Input","ref","className","clsx","id","undefined","role","style","width","onClick","render","maxHeight","renderChip","_jsxs","children","map","chip","idx"],"mappings":"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"}
1
+ {"version":3,"file":"TypeaheadInput.js","sources":["../../../src/typeahead/typeaheadInput/TypeaheadInput.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport { clsx } from 'clsx';\nimport { Component, createRef, ReactNode } from 'react';\n\nimport { Input } from '../../inputs/Input';\nimport { TypeaheadOption, TypeaheadProps } from '../Typeahead';\n\nconst DEFAULT_INPUT_MIN_WIDTH = 10;\n\nexport type TypeaheadInputProps<T> = {\n typeaheadId: string;\n value: string;\n selected: readonly TypeaheadOption<T>[];\n dropdownOpen?: boolean;\n autoComplete: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n onFocus: () => void;\n onPaste: React.ClipboardEventHandler<HTMLInputElement>;\n renderChip: (chip: TypeaheadOption<T>, index: number) => ReactNode;\n ariaActivedescendant?: string;\n} & Pick<TypeaheadProps<T>, 'id' | 'name' | 'autoFocus' | 'multiple' | 'placeholder' | 'maxHeight'>;\n\ntype TypeaheadInputState = {\n inputWidth: number;\n keyboardFocusedOptionIndex: number | null;\n};\n\nexport default class TypeaheadInput<T> extends Component<\n TypeaheadInputProps<T>,\n TypeaheadInputState\n> {\n inputRef = createRef<HTMLInputElement>();\n sizerRef = createRef<HTMLDivElement>();\n\n constructor(props: TypeaheadInputProps<T>) {\n super(props);\n this.state = {\n inputWidth: DEFAULT_INPUT_MIN_WIDTH,\n keyboardFocusedOptionIndex: null,\n };\n }\n\n componentDidMount() {\n const { autoFocus } = this.props;\n if (autoFocus) {\n // Autofocus after context code executions (e.g open Modal) is completed\n setTimeout(() => {\n this.inputRef.current?.focus();\n });\n }\n }\n\n componentDidUpdate(previousProps: TypeaheadInputProps<T>) {\n if (previousProps.value !== this.props.value && this.props.multiple) {\n this.recalculateWidth();\n }\n }\n\n recalculateWidth = () => {\n requestAnimationFrame(() => {\n this.setState({\n inputWidth: Math.max(DEFAULT_INPUT_MIN_WIDTH, this.sizerRef.current?.scrollWidth ?? 0 + 10),\n });\n });\n };\n\n renderInput = () => {\n const {\n typeaheadId,\n autoFocus,\n multiple,\n name,\n dropdownOpen,\n placeholder,\n selected,\n value,\n onChange,\n onKeyDown,\n onFocus,\n onPaste,\n autoComplete,\n ariaActivedescendant, // Declare the ariaActivedescendant variable\n } = this.props;\n const { inputWidth } = this.state;\n\n const hasPlaceholder = !multiple || selected.length === 0;\n return (\n <Input\n ref={this.inputRef}\n className={clsx(multiple && 'typeahead__input')}\n name={name}\n id={`input-${typeaheadId}`}\n aria-activedescendant={\n ariaActivedescendant\n ? `menu-${typeaheadId} ${ariaActivedescendant}`\n : `menu-${typeaheadId}`\n }\n autoFocus={autoFocus}\n placeholder={hasPlaceholder ? placeholder : ''}\n aria-autocomplete=\"list\"\n aria-expanded={dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-controls={dropdownOpen ? `menu-${typeaheadId}` : undefined}\n autoComplete={autoComplete}\n role=\"combobox\"\n value={value}\n style={multiple && selected.length > 0 ? { width: inputWidth } : {}}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onClick={onFocus}\n onFocus={onFocus}\n onPaste={onPaste}\n />\n );\n };\n\n render() {\n const { multiple, selected, value, maxHeight, renderChip } = this.props;\n\n return multiple ? (\n <div\n className=\"form-control typeahead__input-container\"\n style={{ maxHeight }}\n onClick={() => {\n this.inputRef.current?.focus();\n }}\n >\n <div className=\"typeahead__input-wrapper\">\n {selected && selected.map((chip, idx) => renderChip(chip, idx))}\n\n {this.renderInput()}\n <div className=\"typeahead__input-aligner\" />\n </div>\n <div ref={this.sizerRef} className=\"sizer form-control typeahead__input\">\n {value}\n </div>\n </div>\n ) : (\n this.renderInput()\n );\n }\n}\n"],"names":["DEFAULT_INPUT_MIN_WIDTH","TypeaheadInput","Component","inputRef","createRef","sizerRef","constructor","props","state","inputWidth","keyboardFocusedOptionIndex","componentDidMount","autoFocus","setTimeout","current","focus","componentDidUpdate","previousProps","value","multiple","recalculateWidth","requestAnimationFrame","setState","Math","max","scrollWidth","renderInput","typeaheadId","name","dropdownOpen","placeholder","selected","onChange","onKeyDown","onFocus","onPaste","autoComplete","ariaActivedescendant","hasPlaceholder","length","_jsx","Input","ref","className","clsx","id","undefined","role","style","width","onClick","render","maxHeight","renderChip","_jsxs","children","map","chip","idx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeaheadInput.mjs","sources":["../../../src/typeahead/typeaheadInput/TypeaheadInput.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport { clsx } from 'clsx';\nimport { Component, createRef, ReactNode } from 'react';\n\nimport { Input } from '../../inputs/Input';\nimport { TypeaheadOption, TypeaheadProps } from '../Typeahead';\n\nconst DEFAULT_INPUT_MIN_WIDTH = 10;\n\nexport type TypeaheadInputProps<T> = {\n typeaheadId: string;\n value: string;\n selected: readonly TypeaheadOption<T>[];\n dropdownOpen?: boolean;\n autoComplete: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n onFocus: () => void;\n onPaste: React.ClipboardEventHandler<HTMLInputElement>;\n renderChip: (chip: TypeaheadOption<T>, index: number) => ReactNode;\n ariaActivedescendant?: string;\n} & Pick<TypeaheadProps<T>, 'id' | 'name' | 'autoFocus' | 'multiple' | 'placeholder' | 'maxHeight'>;\n\ntype TypeaheadInputState = {\n inputWidth: number;\n keyboardFocusedOptionIndex: number | null;\n};\n\nexport default class TypeaheadInput<T> extends Component<\n TypeaheadInputProps<T>,\n TypeaheadInputState\n> {\n inputRef = createRef<HTMLInputElement>();\n sizerRef = createRef<HTMLDivElement>();\n\n constructor(props: TypeaheadInputProps<T>) {\n super(props);\n this.state = {\n inputWidth: DEFAULT_INPUT_MIN_WIDTH,\n keyboardFocusedOptionIndex: null,\n };\n }\n\n componentDidMount() {\n const { autoFocus } = this.props;\n if (autoFocus) {\n // Autofocus after context code executions (e.g open Modal) is completed\n setTimeout(() => {\n this.inputRef.current?.focus();\n });\n }\n }\n\n componentDidUpdate(previousProps: TypeaheadInputProps<T>) {\n if (previousProps.value !== this.props.value && this.props.multiple) {\n this.recalculateWidth();\n }\n }\n\n recalculateWidth = () => {\n requestAnimationFrame(() => {\n this.setState({\n inputWidth: Math.max(DEFAULT_INPUT_MIN_WIDTH, this.sizerRef.current?.scrollWidth ?? 0 + 10),\n });\n });\n };\n\n renderInput = () => {\n const {\n typeaheadId,\n autoFocus,\n multiple,\n name,\n dropdownOpen,\n placeholder,\n selected,\n value,\n onChange,\n onKeyDown,\n onFocus,\n onPaste,\n autoComplete,\n ariaActivedescendant, // Declare the ariaActivedescendant variable\n } = this.props;\n const { inputWidth } = this.state;\n\n const hasPlaceholder = !multiple || selected.length === 0;\n return (\n <Input\n ref={this.inputRef}\n className={clsx(multiple && 'typeahead__input')}\n name={name}\n id={`input-${typeaheadId}`}\n aria-activedescendant={\n ariaActivedescendant\n ? `menu-${typeaheadId} ${ariaActivedescendant}`\n : `menu-${typeaheadId}`\n }\n autoFocus={autoFocus}\n placeholder={hasPlaceholder ? placeholder : ''}\n aria-autocomplete=\"list\"\n aria-expanded={dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-controls={dropdownOpen ? `menu-${typeaheadId}` : undefined}\n autoComplete={autoComplete}\n role=\"combobox\"\n value={value}\n style={multiple && selected.length > 0 ? { width: inputWidth } : {}}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onClick={onFocus}\n onFocus={onFocus}\n onPaste={onPaste}\n />\n );\n };\n\n render() {\n const { multiple, selected, value, maxHeight, renderChip } = this.props;\n\n return multiple ? (\n <div\n className=\"form-control typeahead__input-container\"\n style={{ maxHeight }}\n onClick={() => {\n this.inputRef.current?.focus();\n }}\n >\n <div className=\"typeahead__input-wrapper\">\n {selected && selected.map((chip, idx) => renderChip(chip, idx))}\n\n {this.renderInput()}\n <div className=\"typeahead__input-aligner\" />\n </div>\n <div ref={this.sizerRef} className=\"sizer form-control typeahead__input\">\n {value}\n </div>\n </div>\n ) : (\n this.renderInput()\n );\n }\n}\n"],"names":["DEFAULT_INPUT_MIN_WIDTH","TypeaheadInput","Component","inputRef","createRef","sizerRef","constructor","props","state","inputWidth","keyboardFocusedOptionIndex","componentDidMount","autoFocus","setTimeout","current","focus","componentDidUpdate","previousProps","value","multiple","recalculateWidth","requestAnimationFrame","setState","Math","max","scrollWidth","renderInput","typeaheadId","name","dropdownOpen","placeholder","selected","onChange","onKeyDown","onFocus","onPaste","autoComplete","ariaActivedescendant","hasPlaceholder","length","_jsx","Input","ref","className","clsx","id","undefined","role","style","width","onClick","render","maxHeight","renderChip","_jsxs","children","map","chip","idx"],"mappings":"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"}
1
+ {"version":3,"file":"TypeaheadInput.mjs","sources":["../../../src/typeahead/typeaheadInput/TypeaheadInput.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport { clsx } from 'clsx';\nimport { Component, createRef, ReactNode } from 'react';\n\nimport { Input } from '../../inputs/Input';\nimport { TypeaheadOption, TypeaheadProps } from '../Typeahead';\n\nconst DEFAULT_INPUT_MIN_WIDTH = 10;\n\nexport type TypeaheadInputProps<T> = {\n typeaheadId: string;\n value: string;\n selected: readonly TypeaheadOption<T>[];\n dropdownOpen?: boolean;\n autoComplete: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n onFocus: () => void;\n onPaste: React.ClipboardEventHandler<HTMLInputElement>;\n renderChip: (chip: TypeaheadOption<T>, index: number) => ReactNode;\n ariaActivedescendant?: string;\n} & Pick<TypeaheadProps<T>, 'id' | 'name' | 'autoFocus' | 'multiple' | 'placeholder' | 'maxHeight'>;\n\ntype TypeaheadInputState = {\n inputWidth: number;\n keyboardFocusedOptionIndex: number | null;\n};\n\nexport default class TypeaheadInput<T> extends Component<\n TypeaheadInputProps<T>,\n TypeaheadInputState\n> {\n inputRef = createRef<HTMLInputElement>();\n sizerRef = createRef<HTMLDivElement>();\n\n constructor(props: TypeaheadInputProps<T>) {\n super(props);\n this.state = {\n inputWidth: DEFAULT_INPUT_MIN_WIDTH,\n keyboardFocusedOptionIndex: null,\n };\n }\n\n componentDidMount() {\n const { autoFocus } = this.props;\n if (autoFocus) {\n // Autofocus after context code executions (e.g open Modal) is completed\n setTimeout(() => {\n this.inputRef.current?.focus();\n });\n }\n }\n\n componentDidUpdate(previousProps: TypeaheadInputProps<T>) {\n if (previousProps.value !== this.props.value && this.props.multiple) {\n this.recalculateWidth();\n }\n }\n\n recalculateWidth = () => {\n requestAnimationFrame(() => {\n this.setState({\n inputWidth: Math.max(DEFAULT_INPUT_MIN_WIDTH, this.sizerRef.current?.scrollWidth ?? 0 + 10),\n });\n });\n };\n\n renderInput = () => {\n const {\n typeaheadId,\n autoFocus,\n multiple,\n name,\n dropdownOpen,\n placeholder,\n selected,\n value,\n onChange,\n onKeyDown,\n onFocus,\n onPaste,\n autoComplete,\n ariaActivedescendant, // Declare the ariaActivedescendant variable\n } = this.props;\n const { inputWidth } = this.state;\n\n const hasPlaceholder = !multiple || selected.length === 0;\n return (\n <Input\n ref={this.inputRef}\n className={clsx(multiple && 'typeahead__input')}\n name={name}\n id={`input-${typeaheadId}`}\n aria-activedescendant={\n ariaActivedescendant\n ? `menu-${typeaheadId} ${ariaActivedescendant}`\n : `menu-${typeaheadId}`\n }\n autoFocus={autoFocus}\n placeholder={hasPlaceholder ? placeholder : ''}\n aria-autocomplete=\"list\"\n aria-expanded={dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-controls={dropdownOpen ? `menu-${typeaheadId}` : undefined}\n autoComplete={autoComplete}\n role=\"combobox\"\n value={value}\n style={multiple && selected.length > 0 ? { width: inputWidth } : {}}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onClick={onFocus}\n onFocus={onFocus}\n onPaste={onPaste}\n />\n );\n };\n\n render() {\n const { multiple, selected, value, maxHeight, renderChip } = this.props;\n\n return multiple ? (\n <div\n className=\"form-control typeahead__input-container\"\n style={{ maxHeight }}\n onClick={() => {\n this.inputRef.current?.focus();\n }}\n >\n <div className=\"typeahead__input-wrapper\">\n {selected && selected.map((chip, idx) => renderChip(chip, idx))}\n\n {this.renderInput()}\n <div className=\"typeahead__input-aligner\" />\n </div>\n <div ref={this.sizerRef} className=\"sizer form-control typeahead__input\">\n {value}\n </div>\n </div>\n ) : (\n this.renderInput()\n );\n }\n}\n"],"names":["DEFAULT_INPUT_MIN_WIDTH","TypeaheadInput","Component","inputRef","createRef","sizerRef","constructor","props","state","inputWidth","keyboardFocusedOptionIndex","componentDidMount","autoFocus","setTimeout","current","focus","componentDidUpdate","previousProps","value","multiple","recalculateWidth","requestAnimationFrame","setState","Math","max","scrollWidth","renderInput","typeaheadId","name","dropdownOpen","placeholder","selected","onChange","onKeyDown","onFocus","onPaste","autoComplete","ariaActivedescendant","hasPlaceholder","length","_jsx","Input","ref","className","clsx","id","undefined","role","style","width","onClick","render","maxHeight","renderChip","_jsxs","children","map","chip","idx"],"mappings":";;;;;AAAA;AACA;AACA;AAOA,MAAMA,uBAAuB,GAAG,EAAE;AAqBpB,MAAOC,cAAkB,SAAQC,SAG9C,CAAA;EACCC,QAAQ,gBAAGC,SAAS,EAAoB;EACxCC,QAAQ,gBAAGD,SAAS,EAAkB;EAEtCE,WAAAA,CAAYC,KAA6B,EAAA;IACvC,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;AACXC,MAAAA,UAAU,EAAET,uBAAuB;AACnCU,MAAAA,0BAA0B,EAAE;KAC7B;AACH,EAAA;AAEAC,EAAAA,iBAAiBA,GAAA;IACf,MAAM;AAAEC,MAAAA;KAAW,GAAG,IAAI,CAACL,KAAK;AAChC,IAAA,IAAIK,SAAS,EAAE;AACb;AACAC,MAAAA,UAAU,CAAC,MAAK;AACd,QAAA,IAAI,CAACV,QAAQ,CAACW,OAAO,EAAEC,KAAK,EAAE;AAChC,MAAA,CAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEAC,kBAAkBA,CAACC,aAAqC,EAAA;AACtD,IAAA,IAAIA,aAAa,CAACC,KAAK,KAAK,IAAI,CAACX,KAAK,CAACW,KAAK,IAAI,IAAI,CAACX,KAAK,CAACY,QAAQ,EAAE;MACnE,IAAI,CAACC,gBAAgB,EAAE;AACzB,IAAA;AACF,EAAA;EAEAA,gBAAgB,GAAGA,MAAK;AACtBC,IAAAA,qBAAqB,CAAC,MAAK;MACzB,IAAI,CAACC,QAAQ,CAAC;AACZb,QAAAA,UAAU,EAAEc,IAAI,CAACC,GAAG,CAACxB,uBAAuB,EAAE,IAAI,CAACK,QAAQ,CAACS,OAAO,EAAEW,WAAW,IAAI,CAAC,GAAG,EAAE;AAC3F,OAAA,CAAC;AACJ,IAAA,CAAC,CAAC;EACJ,CAAC;EAEDC,WAAW,GAAGA,MAAK;IACjB,MAAM;MACJC,WAAW;MACXf,SAAS;MACTO,QAAQ;MACRS,IAAI;MACJC,YAAY;MACZC,WAAW;MACXC,QAAQ;MACRb,KAAK;MACLc,QAAQ;MACRC,SAAS;MACTC,OAAO;MACPC,OAAO;MACPC,YAAY;AACZC,MAAAA,oBAAoB;KACrB,GAAG,IAAI,CAAC9B,KAAK;IACd,MAAM;AAAEE,MAAAA;KAAY,GAAG,IAAI,CAACD,KAAK;IAEjC,MAAM8B,cAAc,GAAG,CAACnB,QAAQ,IAAIY,QAAQ,CAACQ,MAAM,KAAK,CAAC;IACzD,oBACEC,GAAA,CAACC,KAAK,EAAA;MACJC,GAAG,EAAE,IAAI,CAACvC,QAAS;AACnBwC,MAAAA,SAAS,EAAEC,IAAI,CAACzB,QAAQ,IAAI,kBAAkB,CAAE;AAChDS,MAAAA,IAAI,EAAEA,IAAK;MACXiB,EAAE,EAAE,CAAA,MAAA,EAASlB,WAAW,CAAA,CAAG;MAC3B,uBAAA,EACEU,oBAAoB,GAChB,CAAA,KAAA,EAAQV,WAAW,CAAA,CAAA,EAAIU,oBAAoB,CAAA,CAAE,GAC7C,CAAA,KAAA,EAAQV,WAAW,CAAA,CACxB;AACDf,MAAAA,SAAS,EAAEA,SAAU;AACrBkB,MAAAA,WAAW,EAAEQ,cAAc,GAAGR,WAAW,GAAG,EAAG;AAC/C,MAAA,mBAAA,EAAkB,MAAM;AACxB,MAAA,eAAA,EAAeD,YAAa;AAC5B,MAAA,eAAA,EAAc,SAAS;AACvB,MAAA,eAAA,EAAeA,YAAY,GAAG,CAAA,KAAA,EAAQF,WAAW,CAAA,CAAE,GAAGmB,SAAU;AAChEV,MAAAA,YAAY,EAAEA,YAAa;AAC3BW,MAAAA,IAAI,EAAC,UAAU;AACf7B,MAAAA,KAAK,EAAEA,KAAM;MACb8B,KAAK,EAAE7B,QAAQ,IAAIY,QAAQ,CAACQ,MAAM,GAAG,CAAC,GAAG;AAAEU,QAAAA,KAAK,EAAExC;OAAY,GAAG,EAAG;AACpEuB,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,SAAS,EAAEA,SAAU;AACrBiB,MAAAA,OAAO,EAAEhB,OAAQ;AACjBA,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,OAAO,EAAEA;AAAQ,KAAA,CACjB;EAEN,CAAC;AAEDgB,EAAAA,MAAMA,GAAA;IACJ,MAAM;MAAEhC,QAAQ;MAAEY,QAAQ;MAAEb,KAAK;MAAEkC,SAAS;AAAEC,MAAAA;KAAY,GAAG,IAAI,CAAC9C,KAAK;IAEvE,OAAOY,QAAQ,gBACbmC,IAAA,CAAA,KAAA,EAAA;AACEX,MAAAA,SAAS,EAAC,yCAAyC;AACnDK,MAAAA,KAAK,EAAE;AAAEI,QAAAA;OAAY;MACrBF,OAAO,EAAEA,MAAK;AACZ,QAAA,IAAI,CAAC/C,QAAQ,CAACW,OAAO,EAAEC,KAAK,EAAE;MAChC,CAAE;AAAAwC,MAAAA,QAAA,gBAEFD,IAAA,CAAA,KAAA,EAAA;AAAKX,QAAAA,SAAS,EAAC,0BAA0B;QAAAY,QAAA,EAAA,CACtCxB,QAAQ,IAAIA,QAAQ,CAACyB,GAAG,CAAC,CAACC,IAAI,EAAEC,GAAG,KAAKL,UAAU,CAACI,IAAI,EAAEC,GAAG,CAAC,CAAC,EAE9D,IAAI,CAAChC,WAAW,EAAE,eACnBc,GAAA,CAAA,KAAA,EAAA;AAAKG,UAAAA,SAAS,EAAC;AAA0B,SAAA,CAC3C;OAAK,CACL,eAAAH,GAAA,CAAA,KAAA,EAAA;QAAKE,GAAG,EAAE,IAAI,CAACrC,QAAS;AAACsC,QAAAA,SAAS,EAAC,qCAAqC;AAAAY,QAAAA,QAAA,EACrErC;AAAK,OACH,CACP;AAAA,KAAK,CAAC,GAEN,IAAI,CAACQ,WAAW,EACjB;AACH,EAAA;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeaheadOption.js","sources":["../../../src/typeahead/typeaheadOption/TypeaheadOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport { TypeaheadOption } from '../Typeahead';\nimport Highlight from '../util/highlight';\n\nexport type TypeaheadOptionProps<T> = {\n option: TypeaheadOption<T>;\n selected?: boolean;\n onClick?: React.MouseEventHandler;\n query?: string;\n id?: string;\n};\n\nconst Option = forwardRef<HTMLLIElement, TypeaheadOptionProps<any>>((props, ref) => {\n const { option, selected = false, onClick = () => {}, query = '', id } = props;\n const { label, note, secondary } = option;\n\n return (\n <li\n ref={ref}\n role=\"option\"\n aria-selected={selected ? 'true' : 'false'}\n id={`option-${id}`}\n className={clsx('typeahead__option tw-dropdown-item clickable', {\n 'tw-dropdown-item--focused': selected,\n })}\n >\n <a className=\"dropdown-item\" href=\"#\" tabIndex={0} onClick={onClick}>\n <Highlight value={label} query={query} />\n {note && <span className=\"np-text-body-default m-l-1\">{note}</span>}\n {secondary && (\n <Highlight\n className=\"np-text-body-default text-ellipsis\"\n value={secondary}\n query={query}\n />\n )}\n </a>\n </li>\n );\n});\n\nexport default Option;\n"],"names":["Option","forwardRef","props","ref","option","selected","onClick","query","id","label","note","secondary","_jsx","role","className","clsx","children","_jsxs","href","tabIndex","Highlight","value"],"mappings":";;;;;;;;;AAcMA,MAAAA,MAAM,gBAAGC,gBAAU,CAA2C,CAACC,KAAK,EAAEC,GAAG,KAAI;EACjF,MAAM;IAAEC,MAAM;AAAEC,IAAAA,QAAQ,GAAG,KAAK;AAAEC,IAAAA,OAAO,GAAGA,QAAQ;AAAEC,IAAAA,KAAK,GAAG,EAAE;AAAEC,IAAAA;AAAE,GAAE,GAAGN,KAAK;EAC9E,MAAM;IAAEO,KAAK;IAAEC,IAAI;AAAEC,IAAAA;AAAS,GAAE,GAAGP,MAAM;AAEzC,EAAA,oBACEQ,cAAA,CAAA,IAAA,EAAA;AACET,IAAAA,GAAG,EAAEA,GAAI;AACTU,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,eAAA,EAAeR,QAAQ,GAAG,MAAM,GAAG,OAAQ;IAC3CG,EAAE,EAAE,CAAUA,OAAAA,EAAAA,EAAE,CAAG,CAAA;AACnBM,IAAAA,SAAS,EAAEC,SAAI,CAAC,8CAA8C,EAAE;AAC9D,MAAA,2BAA2B,EAAEV;AAC9B,KAAA,CAAE;AAAAW,IAAAA,QAAA,eAEHC,eAAA,CAAA,GAAA,EAAA;AAAGH,MAAAA,SAAS,EAAC,eAAe;AAACI,MAAAA,IAAI,EAAC,GAAG;AAACC,MAAAA,QAAQ,EAAE,CAAE;AAACb,MAAAA,OAAO,EAAEA,OAAQ;MAAAU,QAAA,EAAA,cAClEJ,cAAA,CAACQ,iBAAS,EAAA;AAACC,QAAAA,KAAK,EAAEZ,KAAM;AAACF,QAAAA,KAAK,EAAEA;AAAM,OACtC,CAAA,EAACG,IAAI,iBAAIE,cAAA,CAAA,MAAA,EAAA;AAAME,QAAAA,SAAS,EAAC,4BAA4B;AAAAE,QAAAA,QAAA,EAAEN;AAAI,OAAO,CAAC,EAClEC,SAAS,iBACRC,cAAA,CAACQ,iBAAS,EAAA;AACRN,QAAAA,SAAS,EAAC,oCAAoC;AAC9CO,QAAAA,KAAK,EAAEV,SAAU;AACjBJ,QAAAA,KAAK,EAAEA;AAAM,OACb,CACH;KACA;AACL,GAAI,CAAC;AAET,CAAC;;;;"}
1
+ {"version":3,"file":"TypeaheadOption.js","sources":["../../../src/typeahead/typeaheadOption/TypeaheadOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport { TypeaheadOption } from '../Typeahead';\nimport Highlight from '../util/highlight';\n\nexport type TypeaheadOptionProps<T> = {\n option: TypeaheadOption<T>;\n selected?: boolean;\n onClick?: React.MouseEventHandler;\n query?: string;\n id?: string;\n};\n\nconst Option = forwardRef<HTMLLIElement, TypeaheadOptionProps<any>>((props, ref) => {\n const { option, selected = false, onClick = () => {}, query = '', id } = props;\n const { label, note, secondary } = option;\n\n return (\n <li\n ref={ref}\n role=\"option\"\n aria-selected={selected ? 'true' : 'false'}\n id={`option-${id}`}\n className={clsx('typeahead__option tw-dropdown-item clickable', {\n 'tw-dropdown-item--focused': selected,\n })}\n >\n <a className=\"dropdown-item\" href=\"#\" tabIndex={0} onClick={onClick}>\n <Highlight value={label} query={query} />\n {note && <span className=\"np-text-body-default m-l-1\">{note}</span>}\n {secondary && (\n <Highlight\n className=\"np-text-body-default text-ellipsis\"\n value={secondary}\n query={query}\n />\n )}\n </a>\n </li>\n );\n});\n\nexport default Option;\n"],"names":["Option","forwardRef","props","ref","option","selected","onClick","query","id","label","note","secondary","_jsx","role","className","clsx","children","_jsxs","href","tabIndex","Highlight","value"],"mappings":";;;;;;;;;AAcA,MAAMA,MAAM,gBAAGC,gBAAU,CAA2C,CAACC,KAAK,EAAEC,GAAG,KAAI;EACjF,MAAM;IAAEC,MAAM;AAAEC,IAAAA,QAAQ,GAAG,KAAK;AAAEC,IAAAA,OAAO,GAAGA,OAAO,CAAC;AAAEC,IAAAA,KAAK,GAAG,EAAE;AAAEC,IAAAA;AAAE,GAAE,GAAGN,KAAK;EAC9E,MAAM;IAAEO,KAAK;IAAEC,IAAI;AAAEC,IAAAA;AAAS,GAAE,GAAGP,MAAM;AAEzC,EAAA,oBACEQ,cAAA,CAAA,IAAA,EAAA;AACET,IAAAA,GAAG,EAAEA,GAAI;AACTU,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,eAAA,EAAeR,QAAQ,GAAG,MAAM,GAAG,OAAQ;IAC3CG,EAAE,EAAE,CAAA,OAAA,EAAUA,EAAE,CAAA,CAAG;AACnBM,IAAAA,SAAS,EAAEC,SAAI,CAAC,8CAA8C,EAAE;AAC9D,MAAA,2BAA2B,EAAEV;AAC9B,KAAA,CAAE;AAAAW,IAAAA,QAAA,eAEHC,eAAA,CAAA,GAAA,EAAA;AAAGH,MAAAA,SAAS,EAAC,eAAe;AAACI,MAAAA,IAAI,EAAC,GAAG;AAACC,MAAAA,QAAQ,EAAE,CAAE;AAACb,MAAAA,OAAO,EAAEA,OAAQ;MAAAU,QAAA,EAAA,cAClEJ,cAAA,CAACQ,iBAAS,EAAA;AAACC,QAAAA,KAAK,EAAEZ,KAAM;AAACF,QAAAA,KAAK,EAAEA;AAAM,OAAA,CACtC,EAACG,IAAI,iBAAIE,cAAA,CAAA,MAAA,EAAA;AAAME,QAAAA,SAAS,EAAC,4BAA4B;AAAAE,QAAAA,QAAA,EAAEN;AAAI,OAAO,CAAC,EAClEC,SAAS,iBACRC,cAAA,CAACQ,iBAAS,EAAA;AACRN,QAAAA,SAAS,EAAC,oCAAoC;AAC9CO,QAAAA,KAAK,EAAEV,SAAU;AACjBJ,QAAAA,KAAK,EAAEA;AAAM,OAAA,CAEhB;KACA;AACL,GAAI,CAAC;AAET,CAAC;;;;"}