@transferwise/components 46.50.1 → 46.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/build/accordion/AccordionItem/AccordionItem.js +3 -7
  2. package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
  3. package/build/accordion/AccordionItem/AccordionItem.mjs +3 -3
  4. package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  5. package/build/actionButton/ActionButton.js +2 -6
  6. package/build/actionButton/ActionButton.js.map +1 -1
  7. package/build/actionButton/ActionButton.mjs +2 -2
  8. package/build/actionButton/ActionButton.mjs.map +1 -1
  9. package/build/actionOption/ActionOption.js +2 -6
  10. package/build/actionOption/ActionOption.js.map +1 -1
  11. package/build/actionOption/ActionOption.mjs +2 -2
  12. package/build/actionOption/ActionOption.mjs.map +1 -1
  13. package/build/alert/Alert.js +3 -7
  14. package/build/alert/Alert.js.map +1 -1
  15. package/build/alert/Alert.mjs +3 -3
  16. package/build/alert/Alert.mjs.map +1 -1
  17. package/build/avatar/Avatar.js +2 -6
  18. package/build/avatar/Avatar.js.map +1 -1
  19. package/build/avatar/Avatar.mjs +2 -2
  20. package/build/avatar/Avatar.mjs.map +1 -1
  21. package/build/badge/Badge.js +2 -6
  22. package/build/badge/Badge.js.map +1 -1
  23. package/build/badge/Badge.mjs +2 -2
  24. package/build/badge/Badge.mjs.map +1 -1
  25. package/build/body/Body.js +2 -6
  26. package/build/body/Body.js.map +1 -1
  27. package/build/body/Body.mjs +2 -2
  28. package/build/body/Body.mjs.map +1 -1
  29. package/build/button/Button.js +2 -6
  30. package/build/button/Button.js.map +1 -1
  31. package/build/button/Button.mjs +2 -2
  32. package/build/button/Button.mjs.map +1 -1
  33. package/build/card/Card.js +4 -8
  34. package/build/card/Card.js.map +1 -1
  35. package/build/card/Card.mjs +4 -4
  36. package/build/card/Card.mjs.map +1 -1
  37. package/build/carousel/Carousel.js +5 -9
  38. package/build/carousel/Carousel.js.map +1 -1
  39. package/build/carousel/Carousel.mjs +5 -5
  40. package/build/carousel/Carousel.mjs.map +1 -1
  41. package/build/checkbox/Checkbox.js +3 -7
  42. package/build/checkbox/Checkbox.js.map +1 -1
  43. package/build/checkbox/Checkbox.mjs +3 -3
  44. package/build/checkbox/Checkbox.mjs.map +1 -1
  45. package/build/checkboxButton/CheckboxButton.js +2 -6
  46. package/build/checkboxButton/CheckboxButton.js.map +1 -1
  47. package/build/checkboxButton/CheckboxButton.mjs +2 -2
  48. package/build/checkboxButton/CheckboxButton.mjs.map +1 -1
  49. package/build/chevron/Chevron.js +3 -7
  50. package/build/chevron/Chevron.js.map +1 -1
  51. package/build/chevron/Chevron.mjs +3 -3
  52. package/build/chevron/Chevron.mjs.map +1 -1
  53. package/build/chips/Chip.js +2 -6
  54. package/build/chips/Chip.js.map +1 -1
  55. package/build/chips/Chip.mjs +2 -2
  56. package/build/chips/Chip.mjs.map +1 -1
  57. package/build/chips/Chips.js +3 -7
  58. package/build/chips/Chips.js.map +1 -1
  59. package/build/chips/Chips.mjs +3 -3
  60. package/build/chips/Chips.mjs.map +1 -1
  61. package/build/circularButton/CircularButton.js +3 -7
  62. package/build/circularButton/CircularButton.js.map +1 -1
  63. package/build/circularButton/CircularButton.mjs +3 -3
  64. package/build/circularButton/CircularButton.mjs.map +1 -1
  65. package/build/common/Option/Option.js +3 -7
  66. package/build/common/Option/Option.js.map +1 -1
  67. package/build/common/Option/Option.mjs +3 -3
  68. package/build/common/Option/Option.mjs.map +1 -1
  69. package/build/common/RadioButton/RadioButton.js +2 -6
  70. package/build/common/RadioButton/RadioButton.js.map +1 -1
  71. package/build/common/RadioButton/RadioButton.mjs +2 -2
  72. package/build/common/RadioButton/RadioButton.mjs.map +1 -1
  73. package/build/common/action/Action.js +2 -6
  74. package/build/common/action/Action.js.map +1 -1
  75. package/build/common/action/Action.mjs +2 -2
  76. package/build/common/action/Action.mjs.map +1 -1
  77. package/build/common/bottomSheet/BottomSheet.js +2 -6
  78. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  79. package/build/common/bottomSheet/BottomSheet.mjs +2 -2
  80. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  81. package/build/common/card/Card.js +2 -6
  82. package/build/common/card/Card.js.map +1 -1
  83. package/build/common/card/Card.mjs +2 -2
  84. package/build/common/card/Card.mjs.map +1 -1
  85. package/build/common/closeButton/CloseButton.js +2 -6
  86. package/build/common/closeButton/CloseButton.js.map +1 -1
  87. package/build/common/closeButton/CloseButton.mjs +2 -2
  88. package/build/common/closeButton/CloseButton.mjs.map +1 -1
  89. package/build/common/flowHeader/FlowHeader.js +3 -6
  90. package/build/common/flowHeader/FlowHeader.js.map +1 -1
  91. package/build/common/flowHeader/FlowHeader.mjs +3 -3
  92. package/build/common/flowHeader/FlowHeader.mjs.map +1 -1
  93. package/build/common/panel/Panel.js +4 -8
  94. package/build/common/panel/Panel.js.map +1 -1
  95. package/build/common/panel/Panel.mjs +4 -4
  96. package/build/common/panel/Panel.mjs.map +1 -1
  97. package/build/criticalBanner/CriticalCommsBanner.js +4 -8
  98. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  99. package/build/criticalBanner/CriticalCommsBanner.mjs +4 -4
  100. package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
  101. package/build/dateInput/DateInput.js +2 -6
  102. package/build/dateInput/DateInput.js.map +1 -1
  103. package/build/dateInput/DateInput.mjs +2 -2
  104. package/build/dateInput/DateInput.mjs.map +1 -1
  105. package/build/dateLookup/DateLookup.js +2 -6
  106. package/build/dateLookup/DateLookup.js.map +1 -1
  107. package/build/dateLookup/DateLookup.mjs +2 -2
  108. package/build/dateLookup/DateLookup.mjs.map +1 -1
  109. package/build/dateLookup/dateHeader/DateHeader.js +2 -6
  110. package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
  111. package/build/dateLookup/dateHeader/DateHeader.mjs +2 -2
  112. package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
  113. package/build/dateLookup/tableLink/TableLink.js +15 -21
  114. package/build/dateLookup/tableLink/TableLink.js.map +1 -1
  115. package/build/dateLookup/tableLink/TableLink.mjs +16 -18
  116. package/build/dateLookup/tableLink/TableLink.mjs.map +1 -1
  117. package/build/decision/Decision.js +3 -7
  118. package/build/decision/Decision.js.map +1 -1
  119. package/build/decision/Decision.mjs +3 -3
  120. package/build/decision/Decision.mjs.map +1 -1
  121. package/build/definitionList/DefinitionList.js +4 -8
  122. package/build/definitionList/DefinitionList.js.map +1 -1
  123. package/build/definitionList/DefinitionList.mjs +4 -4
  124. package/build/definitionList/DefinitionList.mjs.map +1 -1
  125. package/build/dimmer/Dimmer.js +6 -10
  126. package/build/dimmer/Dimmer.js.map +1 -1
  127. package/build/dimmer/Dimmer.mjs +6 -6
  128. package/build/dimmer/Dimmer.mjs.map +1 -1
  129. package/build/display/Display.js +2 -6
  130. package/build/display/Display.js.map +1 -1
  131. package/build/display/Display.mjs +2 -2
  132. package/build/display/Display.mjs.map +1 -1
  133. package/build/drawer/Drawer.js +5 -9
  134. package/build/drawer/Drawer.js.map +1 -1
  135. package/build/drawer/Drawer.mjs +5 -5
  136. package/build/drawer/Drawer.mjs.map +1 -1
  137. package/build/field/Field.js +2 -6
  138. package/build/field/Field.js.map +1 -1
  139. package/build/field/Field.mjs +2 -2
  140. package/build/field/Field.mjs.map +1 -1
  141. package/build/flowNavigation/FlowNavigation.js +4 -8
  142. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  143. package/build/flowNavigation/FlowNavigation.mjs +4 -4
  144. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  145. package/build/flowNavigation/animatedLabel/AnimatedLabel.js +3 -7
  146. package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -1
  147. package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs +3 -3
  148. package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -1
  149. package/build/flowNavigation/backButton/BackButton.js +2 -6
  150. package/build/flowNavigation/backButton/BackButton.js.map +1 -1
  151. package/build/flowNavigation/backButton/BackButton.mjs +2 -2
  152. package/build/flowNavigation/backButton/BackButton.mjs.map +1 -1
  153. package/build/header/Header.js +3 -7
  154. package/build/header/Header.js.map +1 -1
  155. package/build/header/Header.mjs +3 -3
  156. package/build/header/Header.mjs.map +1 -1
  157. package/build/i18n/zh-HK.json +2 -0
  158. package/build/i18n/zh-HK.json.js +2 -0
  159. package/build/i18n/zh-HK.json.js.map +1 -1
  160. package/build/i18n/zh-HK.json.mjs +2 -0
  161. package/build/i18n/zh-HK.json.mjs.map +1 -1
  162. package/build/image/Image.js +2 -6
  163. package/build/image/Image.js.map +1 -1
  164. package/build/image/Image.mjs +2 -2
  165. package/build/image/Image.mjs.map +1 -1
  166. package/build/info/Info.js +2 -6
  167. package/build/info/Info.js.map +1 -1
  168. package/build/info/Info.mjs +2 -2
  169. package/build/info/Info.mjs.map +1 -1
  170. package/build/inlineAlert/InlineAlert.js +2 -6
  171. package/build/inlineAlert/InlineAlert.js.map +1 -1
  172. package/build/inlineAlert/InlineAlert.mjs +2 -2
  173. package/build/inlineAlert/InlineAlert.mjs.map +1 -1
  174. package/build/inputs/Input.js +2 -6
  175. package/build/inputs/Input.js.map +1 -1
  176. package/build/inputs/Input.mjs +2 -2
  177. package/build/inputs/Input.mjs.map +1 -1
  178. package/build/inputs/InputGroup.js +3 -7
  179. package/build/inputs/InputGroup.js.map +1 -1
  180. package/build/inputs/InputGroup.mjs +3 -3
  181. package/build/inputs/InputGroup.mjs.map +1 -1
  182. package/build/inputs/SelectInput.js +118 -48
  183. package/build/inputs/SelectInput.js.map +1 -1
  184. package/build/inputs/SelectInput.mjs +120 -49
  185. package/build/inputs/SelectInput.mjs.map +1 -1
  186. package/build/inputs/TextArea.js +2 -6
  187. package/build/inputs/TextArea.js.map +1 -1
  188. package/build/inputs/TextArea.mjs +2 -2
  189. package/build/inputs/TextArea.mjs.map +1 -1
  190. package/build/inputs/_BottomSheet.js +2 -6
  191. package/build/inputs/_BottomSheet.js.map +1 -1
  192. package/build/inputs/_BottomSheet.mjs +2 -2
  193. package/build/inputs/_BottomSheet.mjs.map +1 -1
  194. package/build/inputs/_ButtonInput.js +2 -6
  195. package/build/inputs/_ButtonInput.js.map +1 -1
  196. package/build/inputs/_ButtonInput.mjs +2 -2
  197. package/build/inputs/_ButtonInput.mjs.map +1 -1
  198. package/build/inputs/_Popover.js +3 -7
  199. package/build/inputs/_Popover.js.map +1 -1
  200. package/build/inputs/_Popover.mjs +3 -3
  201. package/build/inputs/_Popover.mjs.map +1 -1
  202. package/build/inputs/_common.js +2 -6
  203. package/build/inputs/_common.js.map +1 -1
  204. package/build/inputs/_common.mjs +2 -2
  205. package/build/inputs/_common.mjs.map +1 -1
  206. package/build/instructionsList/InstructionsList.js +2 -6
  207. package/build/instructionsList/InstructionsList.js.map +1 -1
  208. package/build/instructionsList/InstructionsList.mjs +2 -2
  209. package/build/instructionsList/InstructionsList.mjs.map +1 -1
  210. package/build/label/Label.js +2 -6
  211. package/build/label/Label.js.map +1 -1
  212. package/build/label/Label.mjs +2 -2
  213. package/build/label/Label.mjs.map +1 -1
  214. package/build/link/Link.js +2 -6
  215. package/build/link/Link.js.map +1 -1
  216. package/build/link/Link.mjs +2 -2
  217. package/build/link/Link.mjs.map +1 -1
  218. package/build/listItem/ListItem.js +3 -7
  219. package/build/listItem/ListItem.js.map +1 -1
  220. package/build/listItem/ListItem.mjs +3 -3
  221. package/build/listItem/ListItem.mjs.map +1 -1
  222. package/build/loader/Loader.js +2 -6
  223. package/build/loader/Loader.js.map +1 -1
  224. package/build/loader/Loader.mjs +4 -4
  225. package/build/loader/Loader.mjs.map +1 -1
  226. package/build/logo/Logo.js +2 -6
  227. package/build/logo/Logo.js.map +1 -1
  228. package/build/logo/Logo.mjs +2 -2
  229. package/build/logo/Logo.mjs.map +1 -1
  230. package/build/main.css +10 -0
  231. package/build/modal/Modal.js +7 -11
  232. package/build/modal/Modal.js.map +1 -1
  233. package/build/modal/Modal.mjs +7 -7
  234. package/build/modal/Modal.mjs.map +1 -1
  235. package/build/moneyInput/MoneyInput.js +17 -39
  236. package/build/moneyInput/MoneyInput.js.map +1 -1
  237. package/build/moneyInput/MoneyInput.mjs +17 -35
  238. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  239. package/build/navigationOption/NavigationOption.js +2 -6
  240. package/build/navigationOption/NavigationOption.js.map +1 -1
  241. package/build/navigationOption/NavigationOption.mjs +2 -2
  242. package/build/navigationOption/NavigationOption.mjs.map +1 -1
  243. package/build/nudge/Nudge.js +4 -8
  244. package/build/nudge/Nudge.js.map +1 -1
  245. package/build/nudge/Nudge.mjs +4 -4
  246. package/build/nudge/Nudge.mjs.map +1 -1
  247. package/build/overlayHeader/OverlayHeader.js +3 -7
  248. package/build/overlayHeader/OverlayHeader.js.map +1 -1
  249. package/build/overlayHeader/OverlayHeader.mjs +3 -3
  250. package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
  251. package/build/popover/Popover.js +2 -6
  252. package/build/popover/Popover.js.map +1 -1
  253. package/build/popover/Popover.mjs +2 -2
  254. package/build/popover/Popover.mjs.map +1 -1
  255. package/build/processIndicator/ProcessIndicator.js +2 -6
  256. package/build/processIndicator/ProcessIndicator.js.map +1 -1
  257. package/build/processIndicator/ProcessIndicator.mjs +2 -2
  258. package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
  259. package/build/progress/Progress.js +2 -6
  260. package/build/progress/Progress.js.map +1 -1
  261. package/build/progress/Progress.mjs +2 -2
  262. package/build/progress/Progress.mjs.map +1 -1
  263. package/build/progressBar/ProgressBar.js +2 -6
  264. package/build/progressBar/ProgressBar.js.map +1 -1
  265. package/build/progressBar/ProgressBar.mjs +2 -2
  266. package/build/progressBar/ProgressBar.mjs.map +1 -1
  267. package/build/promoCard/PromoCard.js +3 -4
  268. package/build/promoCard/PromoCard.js.map +1 -1
  269. package/build/promoCard/PromoCard.mjs +3 -3
  270. package/build/promoCard/PromoCard.mjs.map +1 -1
  271. package/build/promoCard/PromoCardGroup.js +2 -3
  272. package/build/promoCard/PromoCardGroup.js.map +1 -1
  273. package/build/promoCard/PromoCardGroup.mjs +2 -2
  274. package/build/promoCard/PromoCardGroup.mjs.map +1 -1
  275. package/build/promoCard/PromoCardIndicator.js +2 -6
  276. package/build/promoCard/PromoCardIndicator.js.map +1 -1
  277. package/build/promoCard/PromoCardIndicator.mjs +2 -2
  278. package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
  279. package/build/radio/Radio.js +5 -9
  280. package/build/radio/Radio.js.map +1 -1
  281. package/build/radio/Radio.mjs +5 -5
  282. package/build/radio/Radio.mjs.map +1 -1
  283. package/build/section/Section.js +2 -6
  284. package/build/section/Section.js.map +1 -1
  285. package/build/section/Section.mjs +2 -2
  286. package/build/section/Section.mjs.map +1 -1
  287. package/build/segmentedControl/SegmentedControl.js +5 -9
  288. package/build/segmentedControl/SegmentedControl.js.map +1 -1
  289. package/build/segmentedControl/SegmentedControl.mjs +5 -5
  290. package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
  291. package/build/select/Select.js +9 -10
  292. package/build/select/Select.js.map +1 -1
  293. package/build/select/Select.mjs +9 -9
  294. package/build/select/Select.mjs.map +1 -1
  295. package/build/select/option/Option.js +2 -6
  296. package/build/select/option/Option.js.map +1 -1
  297. package/build/select/option/Option.mjs +2 -2
  298. package/build/select/option/Option.mjs.map +1 -1
  299. package/build/select/searchBox/SearchBox.js +4 -8
  300. package/build/select/searchBox/SearchBox.js.map +1 -1
  301. package/build/select/searchBox/SearchBox.mjs +6 -6
  302. package/build/select/searchBox/SearchBox.mjs.map +1 -1
  303. package/build/selectOption/SelectOption.js +4 -8
  304. package/build/selectOption/SelectOption.js.map +1 -1
  305. package/build/selectOption/SelectOption.mjs +4 -4
  306. package/build/selectOption/SelectOption.mjs.map +1 -1
  307. package/build/slidingPanel/SlidingPanel.js +2 -6
  308. package/build/slidingPanel/SlidingPanel.js.map +1 -1
  309. package/build/slidingPanel/SlidingPanel.mjs +2 -2
  310. package/build/slidingPanel/SlidingPanel.mjs.map +1 -1
  311. package/build/statusIcon/StatusIcon.js +3 -7
  312. package/build/statusIcon/StatusIcon.js.map +1 -1
  313. package/build/statusIcon/StatusIcon.mjs +3 -3
  314. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  315. package/build/stepper/Stepper.js +3 -7
  316. package/build/stepper/Stepper.js.map +1 -1
  317. package/build/stepper/Stepper.mjs +3 -3
  318. package/build/stepper/Stepper.mjs.map +1 -1
  319. package/build/styles/inputs/SelectInput.css +10 -0
  320. package/build/styles/main.css +10 -0
  321. package/build/summary/Summary.js +2 -6
  322. package/build/summary/Summary.js.map +1 -1
  323. package/build/summary/Summary.mjs +2 -2
  324. package/build/summary/Summary.mjs.map +1 -1
  325. package/build/switch/Switch.js +2 -6
  326. package/build/switch/Switch.js.map +1 -1
  327. package/build/switch/Switch.mjs +2 -2
  328. package/build/switch/Switch.mjs.map +1 -1
  329. package/build/tabs/Tab.js +6 -7
  330. package/build/tabs/Tab.js.map +1 -1
  331. package/build/tabs/Tab.mjs +6 -6
  332. package/build/tabs/Tab.mjs.map +1 -1
  333. package/build/tabs/Tabs.js +2 -3
  334. package/build/tabs/Tabs.js.map +1 -1
  335. package/build/tabs/Tabs.mjs +2 -2
  336. package/build/tabs/Tabs.mjs.map +1 -1
  337. package/build/tile/Tile.js +3 -7
  338. package/build/tile/Tile.js.map +1 -1
  339. package/build/tile/Tile.mjs +3 -3
  340. package/build/tile/Tile.mjs.map +1 -1
  341. package/build/title/Title.js +3 -7
  342. package/build/title/Title.js.map +1 -1
  343. package/build/title/Title.mjs +3 -3
  344. package/build/title/Title.mjs.map +1 -1
  345. package/build/tooltip/Tooltip.js +3 -7
  346. package/build/tooltip/Tooltip.js.map +1 -1
  347. package/build/tooltip/Tooltip.mjs +3 -3
  348. package/build/tooltip/Tooltip.mjs.map +1 -1
  349. package/build/typeahead/Typeahead.js +6 -7
  350. package/build/typeahead/Typeahead.js.map +1 -1
  351. package/build/typeahead/Typeahead.mjs +6 -6
  352. package/build/typeahead/Typeahead.mjs.map +1 -1
  353. package/build/typeahead/typeaheadInput/TypeaheadInput.js +2 -6
  354. package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -1
  355. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs +2 -2
  356. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -1
  357. package/build/typeahead/typeaheadOption/TypeaheadOption.js +2 -6
  358. package/build/typeahead/typeaheadOption/TypeaheadOption.js.map +1 -1
  359. package/build/typeahead/typeaheadOption/TypeaheadOption.mjs +2 -2
  360. package/build/typeahead/typeaheadOption/TypeaheadOption.mjs.map +1 -1
  361. package/build/types/accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
  362. package/build/types/chevron/Chevron.d.ts.map +1 -1
  363. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  364. package/build/types/dateLookup/tableLink/TableLink.d.ts.map +1 -1
  365. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  366. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  367. package/build/types/link/Link.d.ts.map +1 -1
  368. package/build/types/modal/Modal.d.ts.map +1 -1
  369. package/build/types/moneyInput/MoneyInput.d.ts +0 -1
  370. package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
  371. package/build/types/select/searchBox/SearchBox.d.ts.map +1 -1
  372. package/build/types/tabs/Tab.d.ts.map +1 -1
  373. package/build/types/uploadInput/uploadButton/UploadButton.d.ts.map +1 -1
  374. package/build/upload/Upload.js +2 -6
  375. package/build/upload/Upload.js.map +1 -1
  376. package/build/upload/Upload.mjs +2 -2
  377. package/build/upload/Upload.mjs.map +1 -1
  378. package/build/uploadInput/UploadInput.js +2 -6
  379. package/build/uploadInput/UploadInput.js.map +1 -1
  380. package/build/uploadInput/UploadInput.mjs +2 -2
  381. package/build/uploadInput/UploadInput.mjs.map +1 -1
  382. package/build/uploadInput/uploadButton/UploadButton.js +5 -9
  383. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  384. package/build/uploadInput/uploadButton/UploadButton.mjs +5 -5
  385. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  386. package/build/uploadInput/uploadItem/UploadItem.js +3 -7
  387. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  388. package/build/uploadInput/uploadItem/UploadItem.mjs +3 -3
  389. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  390. package/build/uploadInput/uploadItem/UploadItemLink.js +2 -6
  391. package/build/uploadInput/uploadItem/UploadItemLink.js.map +1 -1
  392. package/build/uploadInput/uploadItem/UploadItemLink.mjs +2 -2
  393. package/build/uploadInput/uploadItem/UploadItemLink.mjs.map +1 -1
  394. package/package.json +6 -5
  395. package/src/accordion/AccordionItem/AccordionItem.tsx +5 -9
  396. package/src/actionButton/ActionButton.tsx +2 -2
  397. package/src/actionOption/ActionOption.tsx +2 -2
  398. package/src/alert/Alert.tsx +3 -3
  399. package/src/avatar/Avatar.tsx +2 -2
  400. package/src/badge/Badge.tsx +2 -2
  401. package/src/body/Body.tsx +2 -2
  402. package/src/button/Button.tsx +2 -2
  403. package/src/card/Card.tsx +4 -4
  404. package/src/carousel/Carousel.tsx +5 -5
  405. package/src/checkbox/Checkbox.tsx +3 -3
  406. package/src/checkboxButton/CheckboxButton.tsx +2 -2
  407. package/src/chevron/Chevron.tsx +3 -12
  408. package/src/chips/Chip.tsx +2 -2
  409. package/src/chips/Chips.tsx +3 -3
  410. package/src/circularButton/CircularButton.tsx +4 -7
  411. package/src/common/Option/Option.tsx +3 -3
  412. package/src/common/RadioButton/RadioButton.tsx +2 -2
  413. package/src/common/action/Action.tsx +2 -2
  414. package/src/common/bottomSheet/BottomSheet.tsx +2 -2
  415. package/src/common/card/Card.tsx +2 -2
  416. package/src/common/closeButton/CloseButton.tsx +2 -2
  417. package/src/common/flowHeader/FlowHeader.tsx +3 -3
  418. package/src/common/panel/Panel.tsx +4 -4
  419. package/src/criticalBanner/CriticalCommsBanner.tsx +4 -4
  420. package/src/dateInput/DateInput.tsx +2 -2
  421. package/src/dateLookup/DateLookup.tsx +2 -2
  422. package/src/dateLookup/dateHeader/DateHeader.tsx +2 -2
  423. package/src/dateLookup/tableLink/TableLink.tsx +3 -5
  424. package/src/decision/Decision.tsx +3 -3
  425. package/src/definitionList/DefinitionList.tsx +4 -4
  426. package/src/dimmer/Dimmer.tsx +6 -6
  427. package/src/display/Display.tsx +2 -2
  428. package/src/drawer/Drawer.tsx +5 -5
  429. package/src/field/Field.tsx +3 -3
  430. package/src/flowNavigation/FlowNavigation.tsx +6 -7
  431. package/src/flowNavigation/animatedLabel/AnimatedLabel.tsx +3 -3
  432. package/src/flowNavigation/backButton/BackButton.tsx +2 -2
  433. package/src/header/Header.tsx +3 -3
  434. package/src/i18n/zh-HK.json +2 -0
  435. package/src/image/Image.tsx +2 -2
  436. package/src/info/Info.tsx +2 -2
  437. package/src/inlineAlert/InlineAlert.tsx +2 -2
  438. package/src/inputs/Input.tsx +2 -2
  439. package/src/inputs/InputGroup.tsx +3 -3
  440. package/src/inputs/SelectInput.css +10 -0
  441. package/src/inputs/SelectInput.less +12 -0
  442. package/src/inputs/SelectInput.story.tsx +22 -2
  443. package/src/inputs/SelectInput.tsx +156 -58
  444. package/src/inputs/TextArea.tsx +2 -2
  445. package/src/inputs/_BottomSheet.tsx +2 -2
  446. package/src/inputs/_ButtonInput.tsx +2 -2
  447. package/src/inputs/_Popover.tsx +3 -3
  448. package/src/inputs/_common.ts +2 -2
  449. package/src/instructionsList/InstructionsList.tsx +3 -3
  450. package/src/label/Label.tsx +2 -2
  451. package/src/link/Link.tsx +2 -7
  452. package/src/listItem/ListItem.tsx +3 -3
  453. package/src/loader/Loader.tsx +2 -2
  454. package/src/logo/Logo.tsx +2 -2
  455. package/src/main.css +10 -0
  456. package/src/modal/Modal.tsx +9 -15
  457. package/src/moneyInput/MoneyInput.story.tsx +0 -34
  458. package/src/moneyInput/MoneyInput.tsx +6 -29
  459. package/src/navigationOption/NavigationOption.tsx +2 -2
  460. package/src/nudge/Nudge.tsx +4 -4
  461. package/src/overlayHeader/OverlayHeader.tsx +3 -3
  462. package/src/popover/Popover.tsx +2 -2
  463. package/src/processIndicator/ProcessIndicator.tsx +2 -2
  464. package/src/progress/Progress.tsx +2 -2
  465. package/src/progressBar/ProgressBar.tsx +2 -2
  466. package/src/promoCard/PromoCard.tsx +4 -4
  467. package/src/promoCard/PromoCardGroup.tsx +2 -2
  468. package/src/promoCard/PromoCardIndicator.tsx +2 -2
  469. package/src/radio/Radio.tsx +5 -5
  470. package/src/section/Section.tsx +2 -2
  471. package/src/segmentedControl/SegmentedControl.tsx +5 -5
  472. package/src/select/Select.js +9 -9
  473. package/src/select/option/Option.tsx +2 -2
  474. package/src/select/searchBox/SearchBox.tsx +4 -7
  475. package/src/selectOption/SelectOption.tsx +5 -5
  476. package/src/slidingPanel/SlidingPanel.tsx +2 -2
  477. package/src/statusIcon/StatusIcon.tsx +3 -3
  478. package/src/stepper/Stepper.tsx +3 -3
  479. package/src/summary/Summary.tsx +2 -2
  480. package/src/switch/Switch.tsx +2 -2
  481. package/src/tabs/Tab.js +8 -12
  482. package/src/tabs/Tabs.js +2 -2
  483. package/src/tile/Tile.tsx +3 -3
  484. package/src/title/Title.tsx +3 -3
  485. package/src/tooltip/Tooltip.tsx +3 -3
  486. package/src/typeahead/Typeahead.tsx +6 -6
  487. package/src/typeahead/typeaheadInput/TypeaheadInput.tsx +2 -2
  488. package/src/typeahead/typeaheadOption/TypeaheadOption.tsx +2 -2
  489. package/src/upload/Upload.tsx +2 -2
  490. package/src/uploadInput/UploadInput.tsx +2 -2
  491. package/src/uploadInput/uploadButton/UploadButton.tsx +5 -9
  492. package/src/uploadInput/uploadItem/UploadItem.tsx +3 -3
  493. package/src/uploadInput/uploadItem/UploadItemLink.tsx +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../../src/switch/Switch.tsx"],"sourcesContent":["import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classnames from 'classnames';\nimport type { KeyboardEventHandler, MouseEvent } from 'react';\n\nimport type { CommonProps } from '../common';\nimport { useInputAttributes } from '../inputs/contexts';\n\nexport type SwitchProps = CommonProps & {\n /**\n * Used to describe the purpose of the switch. To be used if there is no external label (i.e. aria-labelledby is null)\n * @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead.\n */\n 'aria-label'?: string;\n /** A reference to a label that describes the purpose of the switch. Ignored if aria-label is provided */\n 'aria-labelledby'?: string;\n /** Whether the switch is checked or not */\n checked?: boolean;\n disabled?: boolean;\n /** ID to apply to the switch container */\n id?: string;\n /** Function called when the switch is toggled */\n onClick: (event?: MouseEvent<HTMLSpanElement>) => void;\n};\n\nconst Switch = (props: SwitchProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n\n const { isModern } = useTheme();\n const {\n checked,\n className,\n id = inputAttributes.id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledbyProp,\n onClick,\n disabled,\n } = props;\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n };\n\n const returnIcon = () => {\n if (isModern) {\n return <span className=\"np-switch--thumb\" />;\n }\n\n if (checked) {\n return (\n <span className=\"np-switch--thumb\">\n <CheckCircleFill size={24} />\n </span>\n );\n }\n return (\n <span className=\"np-switch--thumb\">\n <CrossCircleFill size={24} />\n </span>\n );\n };\n\n const ariaLabelledby =\n (ariaLabel ? undefined : ariaLabelledbyProp) ?? inputAttributes['aria-labelledby'];\n\n return (\n <span\n className={classnames(\n 'np-switch',\n\n {\n 'np-switch--unchecked': !checked,\n 'np-switch--checked': checked,\n disabled,\n },\n className,\n )}\n tabIndex={0}\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n {...inputAttributes}\n aria-labelledby={ariaLabelledby}\n id={id}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? handleKeyDown : undefined}\n >\n {returnIcon()}\n <input type=\"checkbox\" checked={checked} readOnly />\n </span>\n );\n};\n\nexport default Switch;\n"],"names":["Switch","props","inputAttributes","useInputAttributes","nonLabelable","isModern","useTheme","checked","className","id","ariaLabel","ariaLabelledbyProp","onClick","disabled","handleKeyDown","event","key","preventDefault","returnIcon","_jsx","children","CheckCircleFill","size","CrossCircleFill","ariaLabelledby","undefined","_jsxs","classnames","tabIndex","role","onKeyDown","type","readOnly"],"mappings":";;;;;;;;;;;;AAyBMA,MAAAA,MAAM,GAAIC,KAAkB,IAAI;EACpC,MAAMC,eAAe,GAAGC,2BAAkB,CAAC;AAAEC,IAAAA,YAAY,EAAE,IAAA;AAAM,GAAA,CAAC,CAAA;EAElE,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,0BAAQ,EAAE,CAAA;EAC/B,MAAM;IACJC,OAAO;IACPC,SAAS;IACTC,EAAE,GAAGP,eAAe,CAACO,EAAE;AACvB,IAAA,YAAY,EAAEC,SAAS;AACvB,IAAA,iBAAiB,EAAEC,kBAAkB;IACrCC,OAAO;AACPC,IAAAA,QAAAA;AAAQ,GACT,GAAGZ,KAAK,CAAA;EAET,MAAMa,aAAa,GAA0BC,KAAK,IAAI;AACpD,IAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MACrBD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBL,MAAAA,OAAO,EAAE,CAAA;AACX,KAAA;GACD,CAAA;EAED,MAAMM,UAAU,GAAGA,MAAK;AACtB,IAAA,IAAIb,QAAQ,EAAE;AACZ,MAAA,oBAAOc,cAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAA;AAAkB,QAAG,CAAA;AAC9C,KAAA;AAEA,IAAA,IAAID,OAAO,EAAE;AACX,MAAA,oBACEY,cAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAkB;QAAAY,QAAA,eAChCD,cAAA,CAACE,qBAAe,EAAA;AAACC,UAAAA,IAAI,EAAE,EAAA;SACzB,CAAA;AAAA,OAAM,CAAC,CAAA;AAEX,KAAA;AACA,IAAA,oBACEH,cAAA,CAAA,MAAA,EAAA;AAAMX,MAAAA,SAAS,EAAC,kBAAkB;MAAAY,QAAA,eAChCD,cAAA,CAACI,qBAAe,EAAA;AAACD,QAAAA,IAAI,EAAE,EAAA;OACzB,CAAA;AAAA,KAAM,CAAC,CAAA;GAEV,CAAA;AAED,EAAA,MAAME,cAAc,GAClB,CAACd,SAAS,GAAGe,SAAS,GAAGd,kBAAkB,KAAKT,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEpF,EAAA,oBACEwB,eAAA,CAAA,MAAA,EAAA;AACElB,IAAAA,SAAS,EAAEmB,2BAAU,CACnB,WAAW,EAEX;MACE,sBAAsB,EAAE,CAACpB,OAAO;AAChC,MAAA,oBAAoB,EAAEA,OAAO;AAC7BM,MAAAA,QAAAA;KACD,EACDL,SAAS,CACT;AACFoB,IAAAA,QAAQ,EAAE,CAAE;AACZC,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,cAAA,EAActB,OAAQ;AACtB,IAAA,YAAA,EAAYG,SAAU;AAAA,IAAA,GAClBR,eAAe;AACnB,IAAA,iBAAA,EAAiBsB,cAAe;AAChCf,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeI,QAAS;AACxBD,IAAAA,OAAO,EAAE,CAACC,QAAQ,GAAGD,OAAO,GAAGa,SAAU;AACzCK,IAAAA,SAAS,EAAE,CAACjB,QAAQ,GAAGC,aAAa,GAAGW,SAAU;AAAAL,IAAAA,QAAA,EAEhDF,CAAAA,UAAU,EAAE,eACbC,cAAA,CAAA,OAAA,EAAA;AAAOY,MAAAA,IAAI,EAAC,UAAU;AAACxB,MAAAA,OAAO,EAAEA,OAAQ;MAACyB,QAAQ,EAAA,IAAA;AAAA,KACnD,CAAA,CAAA;AAAA,GAAM,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"Switch.js","sources":["../../src/switch/Switch.tsx"],"sourcesContent":["import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport type { KeyboardEventHandler, MouseEvent } from 'react';\n\nimport type { CommonProps } from '../common';\nimport { useInputAttributes } from '../inputs/contexts';\n\nexport type SwitchProps = CommonProps & {\n /**\n * Used to describe the purpose of the switch. To be used if there is no external label (i.e. aria-labelledby is null)\n * @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead.\n */\n 'aria-label'?: string;\n /** A reference to a label that describes the purpose of the switch. Ignored if aria-label is provided */\n 'aria-labelledby'?: string;\n /** Whether the switch is checked or not */\n checked?: boolean;\n disabled?: boolean;\n /** ID to apply to the switch container */\n id?: string;\n /** Function called when the switch is toggled */\n onClick: (event?: MouseEvent<HTMLSpanElement>) => void;\n};\n\nconst Switch = (props: SwitchProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n\n const { isModern } = useTheme();\n const {\n checked,\n className,\n id = inputAttributes.id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledbyProp,\n onClick,\n disabled,\n } = props;\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n };\n\n const returnIcon = () => {\n if (isModern) {\n return <span className=\"np-switch--thumb\" />;\n }\n\n if (checked) {\n return (\n <span className=\"np-switch--thumb\">\n <CheckCircleFill size={24} />\n </span>\n );\n }\n return (\n <span className=\"np-switch--thumb\">\n <CrossCircleFill size={24} />\n </span>\n );\n };\n\n const ariaLabelledby =\n (ariaLabel ? undefined : ariaLabelledbyProp) ?? inputAttributes['aria-labelledby'];\n\n return (\n <span\n className={clsx(\n 'np-switch',\n\n {\n 'np-switch--unchecked': !checked,\n 'np-switch--checked': checked,\n disabled,\n },\n className,\n )}\n tabIndex={0}\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n {...inputAttributes}\n aria-labelledby={ariaLabelledby}\n id={id}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? handleKeyDown : undefined}\n >\n {returnIcon()}\n <input type=\"checkbox\" checked={checked} readOnly />\n </span>\n );\n};\n\nexport default Switch;\n"],"names":["Switch","props","inputAttributes","useInputAttributes","nonLabelable","isModern","useTheme","checked","className","id","ariaLabel","ariaLabelledbyProp","onClick","disabled","handleKeyDown","event","key","preventDefault","returnIcon","_jsx","children","CheckCircleFill","size","CrossCircleFill","ariaLabelledby","undefined","_jsxs","clsx","tabIndex","role","onKeyDown","type","readOnly"],"mappings":";;;;;;;;AAyBMA,MAAAA,MAAM,GAAIC,KAAkB,IAAI;EACpC,MAAMC,eAAe,GAAGC,2BAAkB,CAAC;AAAEC,IAAAA,YAAY,EAAE,IAAA;AAAM,GAAA,CAAC,CAAA;EAElE,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,0BAAQ,EAAE,CAAA;EAC/B,MAAM;IACJC,OAAO;IACPC,SAAS;IACTC,EAAE,GAAGP,eAAe,CAACO,EAAE;AACvB,IAAA,YAAY,EAAEC,SAAS;AACvB,IAAA,iBAAiB,EAAEC,kBAAkB;IACrCC,OAAO;AACPC,IAAAA,QAAAA;AAAQ,GACT,GAAGZ,KAAK,CAAA;EAET,MAAMa,aAAa,GAA0BC,KAAK,IAAI;AACpD,IAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MACrBD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBL,MAAAA,OAAO,EAAE,CAAA;AACX,KAAA;GACD,CAAA;EAED,MAAMM,UAAU,GAAGA,MAAK;AACtB,IAAA,IAAIb,QAAQ,EAAE;AACZ,MAAA,oBAAOc,cAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAA;AAAkB,QAAG,CAAA;AAC9C,KAAA;AAEA,IAAA,IAAID,OAAO,EAAE;AACX,MAAA,oBACEY,cAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAkB;QAAAY,QAAA,eAChCD,cAAA,CAACE,qBAAe,EAAA;AAACC,UAAAA,IAAI,EAAE,EAAA;SACzB,CAAA;AAAA,OAAM,CAAC,CAAA;AAEX,KAAA;AACA,IAAA,oBACEH,cAAA,CAAA,MAAA,EAAA;AAAMX,MAAAA,SAAS,EAAC,kBAAkB;MAAAY,QAAA,eAChCD,cAAA,CAACI,qBAAe,EAAA;AAACD,QAAAA,IAAI,EAAE,EAAA;OACzB,CAAA;AAAA,KAAM,CAAC,CAAA;GAEV,CAAA;AAED,EAAA,MAAME,cAAc,GAClB,CAACd,SAAS,GAAGe,SAAS,GAAGd,kBAAkB,KAAKT,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEpF,EAAA,oBACEwB,eAAA,CAAA,MAAA,EAAA;AACElB,IAAAA,SAAS,EAAEmB,SAAI,CACb,WAAW,EAEX;MACE,sBAAsB,EAAE,CAACpB,OAAO;AAChC,MAAA,oBAAoB,EAAEA,OAAO;AAC7BM,MAAAA,QAAAA;KACD,EACDL,SAAS,CACT;AACFoB,IAAAA,QAAQ,EAAE,CAAE;AACZC,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,cAAA,EAActB,OAAQ;AACtB,IAAA,YAAA,EAAYG,SAAU;AAAA,IAAA,GAClBR,eAAe;AACnB,IAAA,iBAAA,EAAiBsB,cAAe;AAChCf,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeI,QAAS;AACxBD,IAAAA,OAAO,EAAE,CAACC,QAAQ,GAAGD,OAAO,GAAGa,SAAU;AACzCK,IAAAA,SAAS,EAAE,CAACjB,QAAQ,GAAGC,aAAa,GAAGW,SAAU;AAAAL,IAAAA,QAAA,EAEhDF,CAAAA,UAAU,EAAE,eACbC,cAAA,CAAA,OAAA,EAAA;AAAOY,MAAAA,IAAI,EAAC,UAAU;AAACxB,MAAAA,OAAO,EAAEA,OAAQ;MAACyB,QAAQ,EAAA,IAAA;AAAA,KACnD,CAAA,CAAA;AAAA,GAAM,CAAC,CAAA;AAEX;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';
2
2
  import { useTheme } from '@wise/components-theming';
3
- import classNames from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import { useInputAttributes } from '../inputs/contexts.mjs';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
@@ -49,7 +49,7 @@ const Switch = props => {
49
49
  };
50
50
  const ariaLabelledby = (ariaLabel ? undefined : ariaLabelledbyProp) ?? inputAttributes['aria-labelledby'];
51
51
  return /*#__PURE__*/jsxs("span", {
52
- className: classNames('np-switch', {
52
+ className: clsx('np-switch', {
53
53
  'np-switch--unchecked': !checked,
54
54
  'np-switch--checked': checked,
55
55
  disabled
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.mjs","sources":["../../src/switch/Switch.tsx"],"sourcesContent":["import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classnames from 'classnames';\nimport type { KeyboardEventHandler, MouseEvent } from 'react';\n\nimport type { CommonProps } from '../common';\nimport { useInputAttributes } from '../inputs/contexts';\n\nexport type SwitchProps = CommonProps & {\n /**\n * Used to describe the purpose of the switch. To be used if there is no external label (i.e. aria-labelledby is null)\n * @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead.\n */\n 'aria-label'?: string;\n /** A reference to a label that describes the purpose of the switch. Ignored if aria-label is provided */\n 'aria-labelledby'?: string;\n /** Whether the switch is checked or not */\n checked?: boolean;\n disabled?: boolean;\n /** ID to apply to the switch container */\n id?: string;\n /** Function called when the switch is toggled */\n onClick: (event?: MouseEvent<HTMLSpanElement>) => void;\n};\n\nconst Switch = (props: SwitchProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n\n const { isModern } = useTheme();\n const {\n checked,\n className,\n id = inputAttributes.id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledbyProp,\n onClick,\n disabled,\n } = props;\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n };\n\n const returnIcon = () => {\n if (isModern) {\n return <span className=\"np-switch--thumb\" />;\n }\n\n if (checked) {\n return (\n <span className=\"np-switch--thumb\">\n <CheckCircleFill size={24} />\n </span>\n );\n }\n return (\n <span className=\"np-switch--thumb\">\n <CrossCircleFill size={24} />\n </span>\n );\n };\n\n const ariaLabelledby =\n (ariaLabel ? undefined : ariaLabelledbyProp) ?? inputAttributes['aria-labelledby'];\n\n return (\n <span\n className={classnames(\n 'np-switch',\n\n {\n 'np-switch--unchecked': !checked,\n 'np-switch--checked': checked,\n disabled,\n },\n className,\n )}\n tabIndex={0}\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n {...inputAttributes}\n aria-labelledby={ariaLabelledby}\n id={id}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? handleKeyDown : undefined}\n >\n {returnIcon()}\n <input type=\"checkbox\" checked={checked} readOnly />\n </span>\n );\n};\n\nexport default Switch;\n"],"names":["Switch","props","inputAttributes","useInputAttributes","nonLabelable","isModern","useTheme","checked","className","id","ariaLabel","ariaLabelledbyProp","onClick","disabled","handleKeyDown","event","key","preventDefault","returnIcon","_jsx","children","CheckCircleFill","size","CrossCircleFill","ariaLabelledby","undefined","_jsxs","classnames","tabIndex","role","onKeyDown","type","readOnly"],"mappings":";;;;;;AAyBMA,MAAAA,MAAM,GAAIC,KAAkB,IAAI;EACpC,MAAMC,eAAe,GAAGC,kBAAkB,CAAC;AAAEC,IAAAA,YAAY,EAAE,IAAA;AAAM,GAAA,CAAC,CAAA;EAElE,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,QAAQ,EAAE,CAAA;EAC/B,MAAM;IACJC,OAAO;IACPC,SAAS;IACTC,EAAE,GAAGP,eAAe,CAACO,EAAE;AACvB,IAAA,YAAY,EAAEC,SAAS;AACvB,IAAA,iBAAiB,EAAEC,kBAAkB;IACrCC,OAAO;AACPC,IAAAA,QAAAA;AAAQ,GACT,GAAGZ,KAAK,CAAA;EAET,MAAMa,aAAa,GAA0BC,KAAK,IAAI;AACpD,IAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MACrBD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBL,MAAAA,OAAO,EAAE,CAAA;AACX,KAAA;GACD,CAAA;EAED,MAAMM,UAAU,GAAGA,MAAK;AACtB,IAAA,IAAIb,QAAQ,EAAE;AACZ,MAAA,oBAAOc,GAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAA;AAAkB,QAAG,CAAA;AAC9C,KAAA;AAEA,IAAA,IAAID,OAAO,EAAE;AACX,MAAA,oBACEY,GAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAkB;QAAAY,QAAA,eAChCD,GAAA,CAACE,eAAe,EAAA;AAACC,UAAAA,IAAI,EAAE,EAAA;SACzB,CAAA;AAAA,OAAM,CAAC,CAAA;AAEX,KAAA;AACA,IAAA,oBACEH,GAAA,CAAA,MAAA,EAAA;AAAMX,MAAAA,SAAS,EAAC,kBAAkB;MAAAY,QAAA,eAChCD,GAAA,CAACI,eAAe,EAAA;AAACD,QAAAA,IAAI,EAAE,EAAA;OACzB,CAAA;AAAA,KAAM,CAAC,CAAA;GAEV,CAAA;AAED,EAAA,MAAME,cAAc,GAClB,CAACd,SAAS,GAAGe,SAAS,GAAGd,kBAAkB,KAAKT,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEpF,EAAA,oBACEwB,IAAA,CAAA,MAAA,EAAA;AACElB,IAAAA,SAAS,EAAEmB,UAAU,CACnB,WAAW,EAEX;MACE,sBAAsB,EAAE,CAACpB,OAAO;AAChC,MAAA,oBAAoB,EAAEA,OAAO;AAC7BM,MAAAA,QAAAA;KACD,EACDL,SAAS,CACT;AACFoB,IAAAA,QAAQ,EAAE,CAAE;AACZC,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,cAAA,EAActB,OAAQ;AACtB,IAAA,YAAA,EAAYG,SAAU;AAAA,IAAA,GAClBR,eAAe;AACnB,IAAA,iBAAA,EAAiBsB,cAAe;AAChCf,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeI,QAAS;AACxBD,IAAAA,OAAO,EAAE,CAACC,QAAQ,GAAGD,OAAO,GAAGa,SAAU;AACzCK,IAAAA,SAAS,EAAE,CAACjB,QAAQ,GAAGC,aAAa,GAAGW,SAAU;AAAAL,IAAAA,QAAA,EAEhDF,CAAAA,UAAU,EAAE,eACbC,GAAA,CAAA,OAAA,EAAA;AAAOY,MAAAA,IAAI,EAAC,UAAU;AAACxB,MAAAA,OAAO,EAAEA,OAAQ;MAACyB,QAAQ,EAAA,IAAA;AAAA,KACnD,CAAA,CAAA;AAAA,GAAM,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"Switch.mjs","sources":["../../src/switch/Switch.tsx"],"sourcesContent":["import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport type { KeyboardEventHandler, MouseEvent } from 'react';\n\nimport type { CommonProps } from '../common';\nimport { useInputAttributes } from '../inputs/contexts';\n\nexport type SwitchProps = CommonProps & {\n /**\n * Used to describe the purpose of the switch. To be used if there is no external label (i.e. aria-labelledby is null)\n * @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead.\n */\n 'aria-label'?: string;\n /** A reference to a label that describes the purpose of the switch. Ignored if aria-label is provided */\n 'aria-labelledby'?: string;\n /** Whether the switch is checked or not */\n checked?: boolean;\n disabled?: boolean;\n /** ID to apply to the switch container */\n id?: string;\n /** Function called when the switch is toggled */\n onClick: (event?: MouseEvent<HTMLSpanElement>) => void;\n};\n\nconst Switch = (props: SwitchProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n\n const { isModern } = useTheme();\n const {\n checked,\n className,\n id = inputAttributes.id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledbyProp,\n onClick,\n disabled,\n } = props;\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n };\n\n const returnIcon = () => {\n if (isModern) {\n return <span className=\"np-switch--thumb\" />;\n }\n\n if (checked) {\n return (\n <span className=\"np-switch--thumb\">\n <CheckCircleFill size={24} />\n </span>\n );\n }\n return (\n <span className=\"np-switch--thumb\">\n <CrossCircleFill size={24} />\n </span>\n );\n };\n\n const ariaLabelledby =\n (ariaLabel ? undefined : ariaLabelledbyProp) ?? inputAttributes['aria-labelledby'];\n\n return (\n <span\n className={clsx(\n 'np-switch',\n\n {\n 'np-switch--unchecked': !checked,\n 'np-switch--checked': checked,\n disabled,\n },\n className,\n )}\n tabIndex={0}\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n {...inputAttributes}\n aria-labelledby={ariaLabelledby}\n id={id}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? handleKeyDown : undefined}\n >\n {returnIcon()}\n <input type=\"checkbox\" checked={checked} readOnly />\n </span>\n );\n};\n\nexport default Switch;\n"],"names":["Switch","props","inputAttributes","useInputAttributes","nonLabelable","isModern","useTheme","checked","className","id","ariaLabel","ariaLabelledbyProp","onClick","disabled","handleKeyDown","event","key","preventDefault","returnIcon","_jsx","children","CheckCircleFill","size","CrossCircleFill","ariaLabelledby","undefined","_jsxs","clsx","tabIndex","role","onKeyDown","type","readOnly"],"mappings":";;;;;;AAyBMA,MAAAA,MAAM,GAAIC,KAAkB,IAAI;EACpC,MAAMC,eAAe,GAAGC,kBAAkB,CAAC;AAAEC,IAAAA,YAAY,EAAE,IAAA;AAAM,GAAA,CAAC,CAAA;EAElE,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,QAAQ,EAAE,CAAA;EAC/B,MAAM;IACJC,OAAO;IACPC,SAAS;IACTC,EAAE,GAAGP,eAAe,CAACO,EAAE;AACvB,IAAA,YAAY,EAAEC,SAAS;AACvB,IAAA,iBAAiB,EAAEC,kBAAkB;IACrCC,OAAO;AACPC,IAAAA,QAAAA;AAAQ,GACT,GAAGZ,KAAK,CAAA;EAET,MAAMa,aAAa,GAA0BC,KAAK,IAAI;AACpD,IAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MACrBD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBL,MAAAA,OAAO,EAAE,CAAA;AACX,KAAA;GACD,CAAA;EAED,MAAMM,UAAU,GAAGA,MAAK;AACtB,IAAA,IAAIb,QAAQ,EAAE;AACZ,MAAA,oBAAOc,GAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAA;AAAkB,QAAG,CAAA;AAC9C,KAAA;AAEA,IAAA,IAAID,OAAO,EAAE;AACX,MAAA,oBACEY,GAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAkB;QAAAY,QAAA,eAChCD,GAAA,CAACE,eAAe,EAAA;AAACC,UAAAA,IAAI,EAAE,EAAA;SACzB,CAAA;AAAA,OAAM,CAAC,CAAA;AAEX,KAAA;AACA,IAAA,oBACEH,GAAA,CAAA,MAAA,EAAA;AAAMX,MAAAA,SAAS,EAAC,kBAAkB;MAAAY,QAAA,eAChCD,GAAA,CAACI,eAAe,EAAA;AAACD,QAAAA,IAAI,EAAE,EAAA;OACzB,CAAA;AAAA,KAAM,CAAC,CAAA;GAEV,CAAA;AAED,EAAA,MAAME,cAAc,GAClB,CAACd,SAAS,GAAGe,SAAS,GAAGd,kBAAkB,KAAKT,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEpF,EAAA,oBACEwB,IAAA,CAAA,MAAA,EAAA;AACElB,IAAAA,SAAS,EAAEmB,IAAI,CACb,WAAW,EAEX;MACE,sBAAsB,EAAE,CAACpB,OAAO;AAChC,MAAA,oBAAoB,EAAEA,OAAO;AAC7BM,MAAAA,QAAAA;KACD,EACDL,SAAS,CACT;AACFoB,IAAAA,QAAQ,EAAE,CAAE;AACZC,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,cAAA,EAActB,OAAQ;AACtB,IAAA,YAAA,EAAYG,SAAU;AAAA,IAAA,GAClBR,eAAe;AACnB,IAAA,iBAAA,EAAiBsB,cAAe;AAChCf,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeI,QAAS;AACxBD,IAAAA,OAAO,EAAE,CAACC,QAAQ,GAAGD,OAAO,GAAGa,SAAU;AACzCK,IAAAA,SAAS,EAAE,CAACjB,QAAQ,GAAGC,aAAa,GAAGW,SAAU;AAAAL,IAAAA,QAAA,EAEhDF,CAAAA,UAAU,EAAE,eACbC,GAAA,CAAA,OAAA,EAAA;AAAOY,MAAAA,IAAI,EAAC,UAAU;AAACxB,MAAAA,OAAO,EAAEA,OAAQ;MAACyB,QAAQ,EAAA,IAAA;AAAA,KACnD,CAAA,CAAA;AAAA,GAAM,CAAC,CAAA;AAEX;;;;"}
package/build/tabs/Tab.js CHANGED
@@ -1,13 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var classNames = require('classnames');
3
+ var clsx = require('clsx');
4
4
  var PropTypes = require('prop-types');
5
5
  var React = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
8
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
11
10
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
12
11
 
13
12
  const Tab = /*#__PURE__*/React.forwardRef(({
@@ -36,10 +35,10 @@ const Tab = /*#__PURE__*/React.forwardRef(({
36
35
  }, [selected]);
37
36
  return /*#__PURE__*/jsxRuntime.jsx("li", {
38
37
  ref: reference,
39
- className: classNames__default.default('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {
38
+ className: clsx.clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {
40
39
  'tabs__tab--selected': selected,
41
40
  clickable: !disabled,
42
- disabled: disabled
41
+ disabled
43
42
  }),
44
43
  role: "tab",
45
44
  id: id,
@@ -69,12 +68,12 @@ Tab.propTypes = {
69
68
  selected: PropTypes__default.default.bool,
70
69
  id: PropTypes__default.default.string.isRequired,
71
70
  panelId: PropTypes__default.default.string.isRequired,
72
- onKeyDown: PropTypes__default.default.func.isRequired,
73
- onClick: PropTypes__default.default.func,
74
71
  style: PropTypes__default.default.shape({
75
72
  width: PropTypes__default.default.string
76
73
  }),
77
- focusTab: PropTypes__default.default.func
74
+ focusTab: PropTypes__default.default.func,
75
+ onKeyDown: PropTypes__default.default.func.isRequired,
76
+ onClick: PropTypes__default.default.func
78
77
  };
79
78
 
80
79
  module.exports = Tab;
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={classNames(\n 'tabs__tab',\n selected ? 'np-text-body-large-bold' : 'np-text-body-large',\n {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled: disabled,\n },\n )}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n};\n\nexport default Tab;\n"],"names":["Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","firstUpdate","useRef","checkFocus","current","useEffect","_jsx","ref","className","classNames","clickable","role","tabIndex","defaultProps","propTypes","PropTypes","node","isRequired","bool","string","func","shape","width"],"mappings":";;;;;;;;;;;;AAIA,MAAMA,GAAG,gBAAGC,gBAAU,CACpB,CACE;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,OAAO;EAAEC,KAAK;AAAEC,EAAAA,QAAAA;AAAS,CAAC,EAClFC,SAAS,KACN;AACH,EAAA,MAAMC,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;EAEhC,MAAMC,UAAU,GAAGA,MAAM;IACvB,IAAIF,WAAW,CAACG,OAAO,EAAE;MACvBH,WAAW,CAACG,OAAO,GAAG,KAAK,CAAA;AAC3B,MAAA,OAAA;AACF,KAAA;IAEA,IAAIT,QAAQ,IAAII,QAAQ,EAAE;AACxBA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD,CAAA;AAEDM,EAAAA,eAAS,CAAC,MAAM;AACdF,IAAAA,UAAU,EAAE,CAAA;AACd,GAAC,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEW,cAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAEP,SAAU;IACfQ,SAAS,EAAEC,2BAAU,CACnB,WAAW,EACXd,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAC3D;AACE,MAAA,qBAAqB,EAAEA,QAAQ;MAC/Be,SAAS,EAAE,CAACjB,QAAQ;AACpBA,MAAAA,QAAQ,EAAEA,QAAAA;AACZ,KACF,CAAE;AACFkB,IAAAA,IAAI,EAAC,KAAK;AACVnB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAG,IAAI,GAAGC,OAAQ;AACzCkB,IAAAA,QAAQ,EAAC,GAAG;AACZd,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAG,IAAI,GAAGG,SAAU;AACvCC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBe,cAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAjB,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GACpD,CAAC,CAAA;AAET,CACF,EAAC;AAEDF,GAAG,CAACwB,YAAY,GAAG;AACjBpB,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEDV,GAAG,CAACyB,SAAS,GAAG;AACdvB,EAAAA,QAAQ,EAAEwB,0BAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,QAAQ,EAAEsB,0BAAS,CAACG,IAAI;EACxBvB,QAAQ,EAAEoB,0BAAS,CAACG,IAAI;AACxB1B,EAAAA,EAAE,EAAEuB,0BAAS,CAACI,MAAM,CAACF,UAAU;AAC/BvB,EAAAA,OAAO,EAAEqB,0BAAS,CAACI,MAAM,CAACF,UAAU;AACpCrB,EAAAA,SAAS,EAAEmB,0BAAS,CAACK,IAAI,CAACH,UAAU;EACpCpB,OAAO,EAAEkB,0BAAS,CAACK,IAAI;AACvBtB,EAAAA,KAAK,EAAEiB,0BAAS,CAACM,KAAK,CAAC;IAAEC,KAAK,EAAEP,0BAAS,CAACI,MAAAA;AAAO,GAAC,CAAC;EACnDpB,QAAQ,EAAEgB,0BAAS,CAACK,IAAAA;AACtB,CAAC;;;;"}
1
+ {"version":3,"file":"Tab.js","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import { clsx } from 'clsx';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n};\n\nexport default Tab;\n"],"names":["Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","firstUpdate","useRef","checkFocus","current","useEffect","_jsx","ref","className","clsx","clickable","role","tabIndex","defaultProps","propTypes","PropTypes","node","isRequired","bool","string","shape","width","func"],"mappings":";;;;;;;;;;;AAIA,MAAMA,GAAG,gBAAGC,gBAAU,CACpB,CACE;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,OAAO;EAAEC,KAAK;AAAEC,EAAAA,QAAAA;AAAS,CAAC,EAClFC,SAAS,KACN;AACH,EAAA,MAAMC,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;EAEhC,MAAMC,UAAU,GAAGA,MAAM;IACvB,IAAIF,WAAW,CAACG,OAAO,EAAE;MACvBH,WAAW,CAACG,OAAO,GAAG,KAAK,CAAA;AAC3B,MAAA,OAAA;AACF,KAAA;IAEA,IAAIT,QAAQ,IAAII,QAAQ,EAAE;AACxBA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD,CAAA;AAEDM,EAAAA,eAAS,CAAC,MAAM;AACdF,IAAAA,UAAU,EAAE,CAAA;AACd,GAAC,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEW,cAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAEP,SAAU;IACfQ,SAAS,EAAEC,SAAI,CAAC,WAAW,EAAEd,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/Be,SAAS,EAAE,CAACjB,QAAQ;AACpBA,MAAAA,QAAAA;AACF,KAAC,CAAE;AACHkB,IAAAA,IAAI,EAAC,KAAK;AACVnB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAG,IAAI,GAAGC,OAAQ;AACzCkB,IAAAA,QAAQ,EAAC,GAAG;AACZd,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAG,IAAI,GAAGG,SAAU;AACvCC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBe,cAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAjB,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GACpD,CAAC,CAAA;AAET,CACF,EAAC;AAEDF,GAAG,CAACwB,YAAY,GAAG;AACjBpB,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEDV,GAAG,CAACyB,SAAS,GAAG;AACdvB,EAAAA,QAAQ,EAAEwB,0BAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,QAAQ,EAAEsB,0BAAS,CAACG,IAAI;EACxBvB,QAAQ,EAAEoB,0BAAS,CAACG,IAAI;AACxB1B,EAAAA,EAAE,EAAEuB,0BAAS,CAACI,MAAM,CAACF,UAAU;AAC/BvB,EAAAA,OAAO,EAAEqB,0BAAS,CAACI,MAAM,CAACF,UAAU;AACpCnB,EAAAA,KAAK,EAAEiB,0BAAS,CAACK,KAAK,CAAC;IAAEC,KAAK,EAAEN,0BAAS,CAACI,MAAAA;AAAO,GAAC,CAAC;EACnDpB,QAAQ,EAAEgB,0BAAS,CAACO,IAAI;AACxB1B,EAAAA,SAAS,EAAEmB,0BAAS,CAACO,IAAI,CAACL,UAAU;EACpCpB,OAAO,EAAEkB,0BAAS,CAACO,IAAAA;AACrB,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import classNames from 'classnames';
1
+ import { clsx } from 'clsx';
2
2
  import PropTypes from 'prop-types';
3
3
  import { forwardRef, useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -29,10 +29,10 @@ const Tab = /*#__PURE__*/forwardRef(({
29
29
  }, [selected]);
30
30
  return /*#__PURE__*/jsx("li", {
31
31
  ref: reference,
32
- className: classNames('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {
32
+ className: clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {
33
33
  'tabs__tab--selected': selected,
34
34
  clickable: !disabled,
35
- disabled: disabled
35
+ disabled
36
36
  }),
37
37
  role: "tab",
38
38
  id: id,
@@ -62,12 +62,12 @@ Tab.propTypes = {
62
62
  selected: PropTypes.bool,
63
63
  id: PropTypes.string.isRequired,
64
64
  panelId: PropTypes.string.isRequired,
65
- onKeyDown: PropTypes.func.isRequired,
66
- onClick: PropTypes.func,
67
65
  style: PropTypes.shape({
68
66
  width: PropTypes.string
69
67
  }),
70
- focusTab: PropTypes.func
68
+ focusTab: PropTypes.func,
69
+ onKeyDown: PropTypes.func.isRequired,
70
+ onClick: PropTypes.func
71
71
  };
72
72
 
73
73
  export { Tab as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.mjs","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={classNames(\n 'tabs__tab',\n selected ? 'np-text-body-large-bold' : 'np-text-body-large',\n {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled: disabled,\n },\n )}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n};\n\nexport default Tab;\n"],"names":["Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","firstUpdate","useRef","checkFocus","current","useEffect","_jsx","ref","className","classNames","clickable","role","tabIndex","defaultProps","propTypes","PropTypes","node","isRequired","bool","string","func","shape","width"],"mappings":";;;;;AAIA,MAAMA,GAAG,gBAAGC,UAAU,CACpB,CACE;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,OAAO;EAAEC,KAAK;AAAEC,EAAAA,QAAAA;AAAS,CAAC,EAClFC,SAAS,KACN;AACH,EAAA,MAAMC,WAAW,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;EAEhC,MAAMC,UAAU,GAAGA,MAAM;IACvB,IAAIF,WAAW,CAACG,OAAO,EAAE;MACvBH,WAAW,CAACG,OAAO,GAAG,KAAK,CAAA;AAC3B,MAAA,OAAA;AACF,KAAA;IAEA,IAAIT,QAAQ,IAAII,QAAQ,EAAE;AACxBA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD,CAAA;AAEDM,EAAAA,SAAS,CAAC,MAAM;AACdF,IAAAA,UAAU,EAAE,CAAA;AACd,GAAC,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEW,GAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAEP,SAAU;IACfQ,SAAS,EAAEC,UAAU,CACnB,WAAW,EACXd,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAC3D;AACE,MAAA,qBAAqB,EAAEA,QAAQ;MAC/Be,SAAS,EAAE,CAACjB,QAAQ;AACpBA,MAAAA,QAAQ,EAAEA,QAAAA;AACZ,KACF,CAAE;AACFkB,IAAAA,IAAI,EAAC,KAAK;AACVnB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAG,IAAI,GAAGC,OAAQ;AACzCkB,IAAAA,QAAQ,EAAC,GAAG;AACZd,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAG,IAAI,GAAGG,SAAU;AACvCC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBe,GAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAjB,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GACpD,CAAC,CAAA;AAET,CACF,EAAC;AAEDF,GAAG,CAACwB,YAAY,GAAG;AACjBpB,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEDV,GAAG,CAACyB,SAAS,GAAG;AACdvB,EAAAA,QAAQ,EAAEwB,SAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,QAAQ,EAAEsB,SAAS,CAACG,IAAI;EACxBvB,QAAQ,EAAEoB,SAAS,CAACG,IAAI;AACxB1B,EAAAA,EAAE,EAAEuB,SAAS,CAACI,MAAM,CAACF,UAAU;AAC/BvB,EAAAA,OAAO,EAAEqB,SAAS,CAACI,MAAM,CAACF,UAAU;AACpCrB,EAAAA,SAAS,EAAEmB,SAAS,CAACK,IAAI,CAACH,UAAU;EACpCpB,OAAO,EAAEkB,SAAS,CAACK,IAAI;AACvBtB,EAAAA,KAAK,EAAEiB,SAAS,CAACM,KAAK,CAAC;IAAEC,KAAK,EAAEP,SAAS,CAACI,MAAAA;AAAO,GAAC,CAAC;EACnDpB,QAAQ,EAAEgB,SAAS,CAACK,IAAAA;AACtB,CAAC;;;;"}
1
+ {"version":3,"file":"Tab.mjs","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import { clsx } from 'clsx';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n};\n\nexport default Tab;\n"],"names":["Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","firstUpdate","useRef","checkFocus","current","useEffect","_jsx","ref","className","clsx","clickable","role","tabIndex","defaultProps","propTypes","PropTypes","node","isRequired","bool","string","shape","width","func"],"mappings":";;;;;AAIA,MAAMA,GAAG,gBAAGC,UAAU,CACpB,CACE;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,OAAO;EAAEC,KAAK;AAAEC,EAAAA,QAAAA;AAAS,CAAC,EAClFC,SAAS,KACN;AACH,EAAA,MAAMC,WAAW,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;EAEhC,MAAMC,UAAU,GAAGA,MAAM;IACvB,IAAIF,WAAW,CAACG,OAAO,EAAE;MACvBH,WAAW,CAACG,OAAO,GAAG,KAAK,CAAA;AAC3B,MAAA,OAAA;AACF,KAAA;IAEA,IAAIT,QAAQ,IAAII,QAAQ,EAAE;AACxBA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD,CAAA;AAEDM,EAAAA,SAAS,CAAC,MAAM;AACdF,IAAAA,UAAU,EAAE,CAAA;AACd,GAAC,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEW,GAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAEP,SAAU;IACfQ,SAAS,EAAEC,IAAI,CAAC,WAAW,EAAEd,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/Be,SAAS,EAAE,CAACjB,QAAQ;AACpBA,MAAAA,QAAAA;AACF,KAAC,CAAE;AACHkB,IAAAA,IAAI,EAAC,KAAK;AACVnB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAG,IAAI,GAAGC,OAAQ;AACzCkB,IAAAA,QAAQ,EAAC,GAAG;AACZd,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAG,IAAI,GAAGG,SAAU;AACvCC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBe,GAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAjB,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GACpD,CAAC,CAAA;AAET,CACF,EAAC;AAEDF,GAAG,CAACwB,YAAY,GAAG;AACjBpB,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEDV,GAAG,CAACyB,SAAS,GAAG;AACdvB,EAAAA,QAAQ,EAAEwB,SAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,QAAQ,EAAEsB,SAAS,CAACG,IAAI;EACxBvB,QAAQ,EAAEoB,SAAS,CAACG,IAAI;AACxB1B,EAAAA,EAAE,EAAEuB,SAAS,CAACI,MAAM,CAACF,UAAU;AAC/BvB,EAAAA,OAAO,EAAEqB,SAAS,CAACI,MAAM,CAACF,UAAU;AACpCnB,EAAAA,KAAK,EAAEiB,SAAS,CAACK,KAAK,CAAC;IAAEC,KAAK,EAAEN,SAAS,CAACI,MAAAA;AAAO,GAAC,CAAC;EACnDpB,QAAQ,EAAEgB,SAAS,CAACO,IAAI;AACxB1B,EAAAA,SAAS,EAAEmB,SAAS,CAACO,IAAI,CAACL,UAAU;EACpCpB,OAAO,EAAEkB,SAAS,CAACO,IAAAA;AACrB,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var web = require('@react-spring/web');
4
- var classNames = require('classnames');
4
+ var clsx = require('clsx');
5
5
  var clamp = require('lodash.clamp');
6
6
  var PropTypes = require('prop-types');
7
7
  var React = require('react');
@@ -17,7 +17,6 @@ var size = require('../common/propsValues/size.js');
17
17
 
18
18
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
19
19
 
20
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
21
20
  var clamp__default = /*#__PURE__*/_interopDefault(clamp);
22
21
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
23
22
 
@@ -409,7 +408,7 @@ class Tabs extends React.Component {
409
408
  const isRTL = direction$1 === direction.Direction.RTL;
410
409
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
411
410
  ref: this.containerReference,
412
- className: classNames__default.default('tabs', className, {
411
+ className: clsx.clsx('tabs', className, {
413
412
  'tabs--auto-width': headerWidth === width.Width.AUTO
414
413
  }),
415
414
  onTouchStart: changeTabOnSwipe ? this.handleTouchStart : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../src/tabs/Tabs.js"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\nimport { Spring, SpringValue, animated } from '@react-spring/web';\nimport classNames from 'classnames';\nimport clamp from 'lodash.clamp';\nimport PropTypes from 'prop-types';\nimport { Component, createRef, Fragment } from 'react';\n\nimport { Size, Width, Direction } from '../common';\nimport { DirectionContext } from '../provider/direction';\n\nimport Tab from './Tab';\nimport TabList from './TabList';\nimport TabPanel from './TabPanel';\nimport {\n getElasticDragDifference,\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n getVelocity,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nconst enabledTabsFilter = (tab) => !tab.disabled;\n\nconst SpacerWidth = { default: 0, xs: 8, sm: 16, md: 24, lg: 32 };\n\nclass Tabs extends Component {\n /** @type {React.RefObject<HTMLDivElement | null>} */\n containerReference = createRef();\n\n constructor(props) {\n super(props);\n this.state = {\n start: null,\n translateX: 0,\n translateFrom: 0,\n translateTo: 0,\n translateLineX: null,\n isAnimating: false,\n isSwiping: false,\n isScrolling: false,\n lastSwipeVelocity: 0,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container = null;\n\n containerWidth = 0;\n\n tabRefs = [];\n\n get filteredTabsLength() {\n return this.props.tabs.filter(enabledTabsFilter).length;\n }\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateToTab(clamp(selected, MIN_INDEX, this.MAX_INDEX), true);\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps, previousState) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab && currentSelectedTab.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab && previousSelectedTab.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter(enabledTabsFilter).length;\n const previousDisabledTabsLength = previousProps.tabs.filter(enabledTabsFilter).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n const { animatePanelsOnClick } = this.props;\n const instantOnClick = !animatePanelsOnClick && !previousState.isSwiping;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateToTab(\n clamp(currentSelected, MIN_INDEX, this.MAX_INDEX),\n currentSelected === previousSelected || instantOnClick,\n );\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n\n this.setState(({ selectedTabIndex }) => ({\n translateTo: -(this.containerWidth * selectedTabIndex),\n }));\n };\n\n setContainerRefAndWidth = (node) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index) => {\n const { tabs } = this.props;\n\n return tabs[index] && tabs[index].disabled;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected, start, end) => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference) => difference / this.containerWidth >= 0.5;\n\n calculateApplicableDragDifference = ({ currentSelected, nextSelected, start, end }) => {\n const difference = getSwipeDifference(start, end);\n const elasticDrag = getElasticDragDifference(difference);\n\n if (swipedLeftToRight(start, end)) {\n if (currentSelected > MIN_INDEX && currentSelected !== nextSelected) {\n return Math.min(difference, this.containerWidth);\n }\n return elasticDrag;\n }\n if (swipedRightToLeft(start, end)) {\n if (currentSelected < this.MAX_INDEX && currentSelected !== nextSelected) {\n return -Math.min(difference, this.containerWidth);\n }\n return -elasticDrag;\n }\n\n return false;\n };\n\n switchTab = (index) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n getTabIndexWithoutDisabledTabs(index) {\n return index - this.props.tabs.slice(0, index).filter((tab) => !enabledTabsFilter(tab)).length;\n }\n\n animateToTab = (index, instant) => {\n this.animateLine(index);\n\n this.animatePanel(this.getTabIndexWithoutDisabledTabs(index), instant);\n };\n\n animateLine = (index) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n // Pass `instant` to set the `translateX` to the new panel with no transition\n animatePanel = (index, instant = false) => {\n const { translateTo: currentTranslateTo } = this.state;\n\n const translateFrom = currentTranslateTo;\n const translateTo = -(this.containerWidth * index);\n\n this.setState({\n selectedTabIndex: index,\n isAnimating: !instant && translateFrom !== translateTo,\n translateFrom,\n translateTo,\n });\n };\n\n disableScroll = (event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index) => (event) => {\n if (event && event.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n currentSwipe: [start],\n });\n\n event.persist();\n };\n\n handleTouchMove = (event) => {\n const { start } = this.state;\n const { selected: currentSelectedFromProps } = this.props;\n const selected = this.getTabIndexWithoutDisabledTabs(currentSelectedFromProps);\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n event.persist();\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n\n const dragDifference = this.calculateApplicableDragDifference({\n currentSelected: currentSelectedFromProps,\n nextSelected,\n start,\n end,\n });\n\n const translateX = dragDifference\n ? -(this.containerWidth * selected) + dragDifference\n : false;\n\n this.setState((state) => ({\n currentSwipe: [...state.currentSwipe, end],\n translateFrom: translateX || state.translateFrom,\n translateTo: translateX || state.translateTo,\n }));\n }\n };\n\n handleTouchEnd = (event) => {\n const { start, isSwiping } = this.state;\n const { selected } = this.props;\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const velocity = getVelocity([...this.state.currentSwipe, end]);\n\n this.setState({\n currentSwipe: [],\n });\n\n let nextSelected = selected;\n\n event.persist();\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n\n this.setState({\n lastSwipeVelocity: velocity,\n });\n } else {\n this.animateToTab(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, transitionSpacing, headerWidth } =\n this.props;\n const {\n isSwiping,\n translateLineX,\n isAnimating,\n translateFrom,\n translateTo,\n lastSwipeVelocity,\n fullWidthTabs,\n } = this.state;\n\n const spacer = SpacerWidth[transitionSpacing];\n\n const tabsLength = this.filteredTabsLength;\n\n const distanceSwiped = Math.abs(-translateFrom - this.containerWidth * selected);\n\n const remainingContainerToTravel = isSwiping\n ? 1 - distanceSwiped / this.containerWidth\n : 1 - Math.abs(distanceSwiped / this.containerWidth - 1);\n\n const restrictedVelocity =\n (Number.isNaN(remainingContainerToTravel) ? 0 : remainingContainerToTravel) *\n Math.min(10 * Math.E, lastSwipeVelocity * 10 * Math.E);\n\n const hidePanelOverflow = isAnimating || isSwiping;\n\n const sliderWidth = tabsLength * this.containerWidth + spacer * 2;\n\n // Uses `props.panelTransitionSpacing` to add a spacer in-between the `TabPanel` you're transitioning to/from\n const Spacer = ({ id }) =>\n spacer > 0 && (\n <div\n key={id}\n style={{\n width: spacer,\n display: hidePanelOverflow ? 'block' : 'none',\n }}\n />\n );\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={classNames('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index].focus();\n }\n }}\n onClick={disabled ? null : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div\n ref={this.setContainerRefAndWidth}\n className=\"tabs__panel-container\"\n style={{\n overflow: hidePanelOverflow ? 'hidden' : 'visible',\n }}\n >\n <Spring\n from={{\n transform: `translateX(${translateFrom - spacer}px)`,\n }}\n to={{\n transform: `translateX(${translateTo - spacer}px)`,\n }}\n config={{\n precision: isSwiping ? 1 : 0.01,\n velocity: !isSwiping ? restrictedVelocity : 0,\n clamp: true,\n }}\n onRest={() => {\n if (isAnimating) {\n this.setState({\n isAnimating: false,\n lastSwipeVelocity: 0,\n });\n }\n }}\n >\n {(props) => (\n <animated.div\n className=\"tabs__slider\"\n style={{\n width: hidePanelOverflow ? `${sliderWidth}px` : '100%',\n transform: hidePanelOverflow ? props.transform : 'translateX(0px)',\n }}\n >\n {tabs.map(({ content, disabled }, index) =>\n !disabled ? (\n <Fragment key={`${tabs[index].title}-fragment`}>\n {index === selected && <Spacer id=\"left-spacer\" />}\n <TabPanel\n key={tabs[index].title}\n tabId={`${name}-tab-${index}`}\n id={`${name}-panel-${index}`}\n style={{\n width: hidePanelOverflow ? `${this.containerWidth}px` : '100%',\n display: hidePanelOverflow || index === selected ? 'block' : 'none',\n }}\n >\n {content}\n </TabPanel>\n {index === selected && <Spacer id=\"right-spacer\" />}\n </Fragment>\n ) : null,\n )}\n </animated.div>\n )}\n </Spring>\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n\nconst SpacerSizes = { ...Size, NONE: 'default' };\n\nTabs.propTypes = {\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n content: PropTypes.node.isRequired,\n disabled: PropTypes.bool.isRequired,\n }),\n ).isRequired,\n selected: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n animatePanelsOnClick: PropTypes.bool,\n changeTabOnSwipe: PropTypes.bool,\n className: PropTypes.string,\n transitionSpacing: PropTypes.oneOf(['default', 'xs', 'sm', 'md', 'lg']),\n headerWidth: PropTypes.oneOf(['auto', 'block']),\n id: PropTypes.string,\n onTabSelect: PropTypes.func.isRequired,\n};\n\nTabs.defaultProps = {\n animatePanelsOnClick: false,\n changeTabOnSwipe: true,\n className: '',\n transitionSpacing: SpacerSizes.NONE,\n headerWidth: Width.BLOCK,\n};\n\nexport default Tabs;\n"],"names":["MIN_INDEX","enabledTabsFilter","tab","disabled","SpacerWidth","default","xs","sm","md","lg","Tabs","Component","containerReference","createRef","constructor","props","state","start","translateX","translateFrom","translateTo","translateLineX","isAnimating","isSwiping","isScrolling","lastSwipeVelocity","fullWidthTabs","headerWidth","Width","BLOCK","container","containerWidth","tabRefs","filteredTabsLength","tabs","filter","length","MAX_INDEX","componentDidMount","selected","setTabWidth","switchTab","clamp","animateToTab","document","body","addEventListener","disableScroll","passive","window","handleResize","componentDidUpdate","previousProps","previousState","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","animatePanelsOnClick","instantOnClick","componentWillUnmount","removeEventListener","setContainerWidth","setState","selectedTabIndex","setContainerRefAndWidth","node","width","getBoundingClientRect","isTabDisabled","index","getAllTabsWidth","map","reference","reduce","a","b","getDistanceToSelectedTab","_","idx","allTabsWidth","AUTO","getTabLineWidth","getTabToSelect","end","nextSelected","swipedLeftToRight","swipedRightToLeft","Math","max","min","swipedOverHalfOfContainer","difference","calculateApplicableDragDifference","getSwipeDifference","elasticDrag","getElasticDragDifference","onTabSelect","getTabIndexWithoutDisabledTabs","slice","instant","animateLine","animatePanel","currentTranslateTo","event","preventDefault","handleTabClick","onKeyDown","key","handleTouchStart","x","nativeEvent","touches","clientX","y","clientY","time","Date","now","currentSwipe","persist","handleTouchMove","currentSelectedFromProps","changedTouches","yAxisDifference","dragDifference","handleTouchEnd","velocity","getVelocity","swipeShouldChangeTab","render","changeTabOnSwipe","name","className","transitionSpacing","spacer","tabsLength","distanceSwiped","abs","remainingContainerToTravel","restrictedVelocity","Number","isNaN","E","hidePanelOverflow","sliderWidth","Spacer","id","_jsx","style","display","DirectionContext","Consumer","children","direction","isRTL","Direction","RTL","_jsxs","ref","classNames","onTouchStart","undefined","onTouchEnd","onTouchMove","TabList","title","Tab","panelId","focusTab","current","contains","activeElement","focus","onClick","role","transform","overflow","Spring","from","to","config","precision","onRest","animated","div","content","Fragment","TabPanel","tabId","SpacerSizes","Size","NONE","propTypes","PropTypes","arrayOf","shape","string","isRequired","bool","number","oneOf","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../src/tabs/Tabs.js"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\nimport { Spring, SpringValue, animated } from '@react-spring/web';\nimport { clsx } from 'clsx';\nimport clamp from 'lodash.clamp';\nimport PropTypes from 'prop-types';\nimport { Component, createRef, Fragment } from 'react';\n\nimport { Size, Width, Direction } from '../common';\nimport { DirectionContext } from '../provider/direction';\n\nimport Tab from './Tab';\nimport TabList from './TabList';\nimport TabPanel from './TabPanel';\nimport {\n getElasticDragDifference,\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n getVelocity,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nconst enabledTabsFilter = (tab) => !tab.disabled;\n\nconst SpacerWidth = { default: 0, xs: 8, sm: 16, md: 24, lg: 32 };\n\nclass Tabs extends Component {\n /** @type {React.RefObject<HTMLDivElement | null>} */\n containerReference = createRef();\n\n constructor(props) {\n super(props);\n this.state = {\n start: null,\n translateX: 0,\n translateFrom: 0,\n translateTo: 0,\n translateLineX: null,\n isAnimating: false,\n isSwiping: false,\n isScrolling: false,\n lastSwipeVelocity: 0,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container = null;\n\n containerWidth = 0;\n\n tabRefs = [];\n\n get filteredTabsLength() {\n return this.props.tabs.filter(enabledTabsFilter).length;\n }\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateToTab(clamp(selected, MIN_INDEX, this.MAX_INDEX), true);\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps, previousState) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab && currentSelectedTab.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab && previousSelectedTab.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter(enabledTabsFilter).length;\n const previousDisabledTabsLength = previousProps.tabs.filter(enabledTabsFilter).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n const { animatePanelsOnClick } = this.props;\n const instantOnClick = !animatePanelsOnClick && !previousState.isSwiping;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateToTab(\n clamp(currentSelected, MIN_INDEX, this.MAX_INDEX),\n currentSelected === previousSelected || instantOnClick,\n );\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n\n this.setState(({ selectedTabIndex }) => ({\n translateTo: -(this.containerWidth * selectedTabIndex),\n }));\n };\n\n setContainerRefAndWidth = (node) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index) => {\n const { tabs } = this.props;\n\n return tabs[index] && tabs[index].disabled;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected, start, end) => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference) => difference / this.containerWidth >= 0.5;\n\n calculateApplicableDragDifference = ({ currentSelected, nextSelected, start, end }) => {\n const difference = getSwipeDifference(start, end);\n const elasticDrag = getElasticDragDifference(difference);\n\n if (swipedLeftToRight(start, end)) {\n if (currentSelected > MIN_INDEX && currentSelected !== nextSelected) {\n return Math.min(difference, this.containerWidth);\n }\n return elasticDrag;\n }\n if (swipedRightToLeft(start, end)) {\n if (currentSelected < this.MAX_INDEX && currentSelected !== nextSelected) {\n return -Math.min(difference, this.containerWidth);\n }\n return -elasticDrag;\n }\n\n return false;\n };\n\n switchTab = (index) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n getTabIndexWithoutDisabledTabs(index) {\n return index - this.props.tabs.slice(0, index).filter((tab) => !enabledTabsFilter(tab)).length;\n }\n\n animateToTab = (index, instant) => {\n this.animateLine(index);\n\n this.animatePanel(this.getTabIndexWithoutDisabledTabs(index), instant);\n };\n\n animateLine = (index) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n // Pass `instant` to set the `translateX` to the new panel with no transition\n animatePanel = (index, instant = false) => {\n const { translateTo: currentTranslateTo } = this.state;\n\n const translateFrom = currentTranslateTo;\n const translateTo = -(this.containerWidth * index);\n\n this.setState({\n selectedTabIndex: index,\n isAnimating: !instant && translateFrom !== translateTo,\n translateFrom,\n translateTo,\n });\n };\n\n disableScroll = (event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index) => (event) => {\n if (event && event.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n currentSwipe: [start],\n });\n\n event.persist();\n };\n\n handleTouchMove = (event) => {\n const { start } = this.state;\n const { selected: currentSelectedFromProps } = this.props;\n const selected = this.getTabIndexWithoutDisabledTabs(currentSelectedFromProps);\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n event.persist();\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n\n const dragDifference = this.calculateApplicableDragDifference({\n currentSelected: currentSelectedFromProps,\n nextSelected,\n start,\n end,\n });\n\n const translateX = dragDifference\n ? -(this.containerWidth * selected) + dragDifference\n : false;\n\n this.setState((state) => ({\n currentSwipe: [...state.currentSwipe, end],\n translateFrom: translateX || state.translateFrom,\n translateTo: translateX || state.translateTo,\n }));\n }\n };\n\n handleTouchEnd = (event) => {\n const { start, isSwiping } = this.state;\n const { selected } = this.props;\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const velocity = getVelocity([...this.state.currentSwipe, end]);\n\n this.setState({\n currentSwipe: [],\n });\n\n let nextSelected = selected;\n\n event.persist();\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n\n this.setState({\n lastSwipeVelocity: velocity,\n });\n } else {\n this.animateToTab(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, transitionSpacing, headerWidth } =\n this.props;\n const {\n isSwiping,\n translateLineX,\n isAnimating,\n translateFrom,\n translateTo,\n lastSwipeVelocity,\n fullWidthTabs,\n } = this.state;\n\n const spacer = SpacerWidth[transitionSpacing];\n\n const tabsLength = this.filteredTabsLength;\n\n const distanceSwiped = Math.abs(-translateFrom - this.containerWidth * selected);\n\n const remainingContainerToTravel = isSwiping\n ? 1 - distanceSwiped / this.containerWidth\n : 1 - Math.abs(distanceSwiped / this.containerWidth - 1);\n\n const restrictedVelocity =\n (Number.isNaN(remainingContainerToTravel) ? 0 : remainingContainerToTravel) *\n Math.min(10 * Math.E, lastSwipeVelocity * 10 * Math.E);\n\n const hidePanelOverflow = isAnimating || isSwiping;\n\n const sliderWidth = tabsLength * this.containerWidth + spacer * 2;\n\n // Uses `props.panelTransitionSpacing` to add a spacer in-between the `TabPanel` you're transitioning to/from\n const Spacer = ({ id }) =>\n spacer > 0 && (\n <div\n key={id}\n style={{\n width: spacer,\n display: hidePanelOverflow ? 'block' : 'none',\n }}\n />\n );\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={clsx('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index].focus();\n }\n }}\n onClick={disabled ? null : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div\n ref={this.setContainerRefAndWidth}\n className=\"tabs__panel-container\"\n style={{\n overflow: hidePanelOverflow ? 'hidden' : 'visible',\n }}\n >\n <Spring\n from={{\n transform: `translateX(${translateFrom - spacer}px)`,\n }}\n to={{\n transform: `translateX(${translateTo - spacer}px)`,\n }}\n config={{\n precision: isSwiping ? 1 : 0.01,\n velocity: !isSwiping ? restrictedVelocity : 0,\n clamp: true,\n }}\n onRest={() => {\n if (isAnimating) {\n this.setState({\n isAnimating: false,\n lastSwipeVelocity: 0,\n });\n }\n }}\n >\n {(props) => (\n <animated.div\n className=\"tabs__slider\"\n style={{\n width: hidePanelOverflow ? `${sliderWidth}px` : '100%',\n transform: hidePanelOverflow ? props.transform : 'translateX(0px)',\n }}\n >\n {tabs.map(({ content, disabled }, index) =>\n !disabled ? (\n <Fragment key={`${tabs[index].title}-fragment`}>\n {index === selected && <Spacer id=\"left-spacer\" />}\n <TabPanel\n key={tabs[index].title}\n tabId={`${name}-tab-${index}`}\n id={`${name}-panel-${index}`}\n style={{\n width: hidePanelOverflow ? `${this.containerWidth}px` : '100%',\n display: hidePanelOverflow || index === selected ? 'block' : 'none',\n }}\n >\n {content}\n </TabPanel>\n {index === selected && <Spacer id=\"right-spacer\" />}\n </Fragment>\n ) : null,\n )}\n </animated.div>\n )}\n </Spring>\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n\nconst SpacerSizes = { ...Size, NONE: 'default' };\n\nTabs.propTypes = {\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n content: PropTypes.node.isRequired,\n disabled: PropTypes.bool.isRequired,\n }),\n ).isRequired,\n selected: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n animatePanelsOnClick: PropTypes.bool,\n changeTabOnSwipe: PropTypes.bool,\n className: PropTypes.string,\n transitionSpacing: PropTypes.oneOf(['default', 'xs', 'sm', 'md', 'lg']),\n headerWidth: PropTypes.oneOf(['auto', 'block']),\n id: PropTypes.string,\n onTabSelect: PropTypes.func.isRequired,\n};\n\nTabs.defaultProps = {\n animatePanelsOnClick: false,\n changeTabOnSwipe: true,\n className: '',\n transitionSpacing: SpacerSizes.NONE,\n headerWidth: Width.BLOCK,\n};\n\nexport default Tabs;\n"],"names":["MIN_INDEX","enabledTabsFilter","tab","disabled","SpacerWidth","default","xs","sm","md","lg","Tabs","Component","containerReference","createRef","constructor","props","state","start","translateX","translateFrom","translateTo","translateLineX","isAnimating","isSwiping","isScrolling","lastSwipeVelocity","fullWidthTabs","headerWidth","Width","BLOCK","container","containerWidth","tabRefs","filteredTabsLength","tabs","filter","length","MAX_INDEX","componentDidMount","selected","setTabWidth","switchTab","clamp","animateToTab","document","body","addEventListener","disableScroll","passive","window","handleResize","componentDidUpdate","previousProps","previousState","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","animatePanelsOnClick","instantOnClick","componentWillUnmount","removeEventListener","setContainerWidth","setState","selectedTabIndex","setContainerRefAndWidth","node","width","getBoundingClientRect","isTabDisabled","index","getAllTabsWidth","map","reference","reduce","a","b","getDistanceToSelectedTab","_","idx","allTabsWidth","AUTO","getTabLineWidth","getTabToSelect","end","nextSelected","swipedLeftToRight","swipedRightToLeft","Math","max","min","swipedOverHalfOfContainer","difference","calculateApplicableDragDifference","getSwipeDifference","elasticDrag","getElasticDragDifference","onTabSelect","getTabIndexWithoutDisabledTabs","slice","instant","animateLine","animatePanel","currentTranslateTo","event","preventDefault","handleTabClick","onKeyDown","key","handleTouchStart","x","nativeEvent","touches","clientX","y","clientY","time","Date","now","currentSwipe","persist","handleTouchMove","currentSelectedFromProps","changedTouches","yAxisDifference","dragDifference","handleTouchEnd","velocity","getVelocity","swipeShouldChangeTab","render","changeTabOnSwipe","name","className","transitionSpacing","spacer","tabsLength","distanceSwiped","abs","remainingContainerToTravel","restrictedVelocity","Number","isNaN","E","hidePanelOverflow","sliderWidth","Spacer","id","_jsx","style","display","DirectionContext","Consumer","children","direction","isRTL","Direction","RTL","_jsxs","ref","clsx","onTouchStart","undefined","onTouchEnd","onTouchMove","TabList","title","Tab","panelId","focusTab","current","contains","activeElement","focus","onClick","role","transform","overflow","Spring","from","to","config","precision","onRest","animated","div","content","Fragment","TabPanel","tabId","SpacerSizes","Size","NONE","propTypes","PropTypes","arrayOf","shape","string","isRequired","bool","number","oneOf","func","defaultProps"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Spring, animated } from '@react-spring/web';
2
- import classNames from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import clamp from 'lodash.clamp';
4
4
  import PropTypes from 'prop-types';
5
5
  import { Component, createRef, Fragment } from 'react';
@@ -401,7 +401,7 @@ class Tabs extends Component {
401
401
  const isRTL = direction === Direction.RTL;
402
402
  return /*#__PURE__*/jsxs("div", {
403
403
  ref: this.containerReference,
404
- className: classNames('tabs', className, {
404
+ className: clsx('tabs', className, {
405
405
  'tabs--auto-width': headerWidth === Width.AUTO
406
406
  }),
407
407
  onTouchStart: changeTabOnSwipe ? this.handleTouchStart : undefined,