@transferwise/components 46.93.0 → 46.93.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/build/button/LegacyButton.js +0 -2
  2. package/build/button/LegacyButton.js.map +1 -1
  3. package/build/button/LegacyButton.mjs +0 -2
  4. package/build/button/LegacyButton.mjs.map +1 -1
  5. package/build/carousel/Carousel.js +1 -3
  6. package/build/carousel/Carousel.js.map +1 -1
  7. package/build/carousel/Carousel.mjs +1 -3
  8. package/build/carousel/Carousel.mjs.map +1 -1
  9. package/build/checkbox/Checkbox.js.map +1 -1
  10. package/build/checkbox/Checkbox.mjs.map +1 -1
  11. package/build/checkboxButton/CheckboxButton.js +1 -1
  12. package/build/checkboxButton/CheckboxButton.js.map +1 -1
  13. package/build/checkboxButton/CheckboxButton.mjs +1 -1
  14. package/build/checkboxButton/CheckboxButton.mjs.map +1 -1
  15. package/build/checkboxOption/CheckboxOption.js.map +1 -1
  16. package/build/checkboxOption/CheckboxOption.mjs.map +1 -1
  17. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  18. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  19. package/build/common/dateUtils/isDateValid/isDateValid.js +3 -3
  20. package/build/common/dateUtils/isDateValid/isDateValid.js.map +1 -1
  21. package/build/common/dateUtils/isDateValid/isDateValid.mjs +3 -3
  22. package/build/common/dateUtils/isDateValid/isDateValid.mjs.map +1 -1
  23. package/build/common/panel/Panel.js +3 -8
  24. package/build/common/panel/Panel.js.map +1 -1
  25. package/build/common/panel/Panel.mjs +3 -8
  26. package/build/common/panel/Panel.mjs.map +1 -1
  27. package/build/dimmer/dimmerManager/DimmerManager.js.map +1 -1
  28. package/build/dimmer/dimmerManager/DimmerManager.mjs.map +1 -1
  29. package/build/dropFade/DropFade.js.map +1 -1
  30. package/build/dropFade/DropFade.mjs.map +1 -1
  31. package/build/emphasis/EmphasisHtmlTransformer.js.map +1 -1
  32. package/build/emphasis/EmphasisHtmlTransformer.mjs.map +1 -1
  33. package/build/inputs/Input.js +1 -3
  34. package/build/inputs/Input.js.map +1 -1
  35. package/build/inputs/Input.mjs +1 -3
  36. package/build/inputs/Input.mjs.map +1 -1
  37. package/build/inputs/SelectInput.js +1 -3
  38. package/build/inputs/SelectInput.js.map +1 -1
  39. package/build/inputs/SelectInput.mjs +1 -3
  40. package/build/inputs/SelectInput.mjs.map +1 -1
  41. package/build/inputs/_ButtonInput.js +1 -3
  42. package/build/inputs/_ButtonInput.js.map +1 -1
  43. package/build/inputs/_ButtonInput.mjs +1 -3
  44. package/build/inputs/_ButtonInput.mjs.map +1 -1
  45. package/build/inputs/_Popover.js +1 -3
  46. package/build/inputs/_Popover.js.map +1 -1
  47. package/build/inputs/_Popover.mjs +1 -3
  48. package/build/inputs/_Popover.mjs.map +1 -1
  49. package/build/moneyInput/currencyFormatting.js +2 -2
  50. package/build/moneyInput/currencyFormatting.js.map +1 -1
  51. package/build/moneyInput/currencyFormatting.mjs +2 -2
  52. package/build/moneyInput/currencyFormatting.mjs.map +1 -1
  53. package/build/nudge/Nudge.js +0 -2
  54. package/build/nudge/Nudge.js.map +1 -1
  55. package/build/nudge/Nudge.mjs +0 -2
  56. package/build/nudge/Nudge.mjs.map +1 -1
  57. package/build/promoCard/PromoCardContext.js +0 -1
  58. package/build/promoCard/PromoCardContext.js.map +1 -1
  59. package/build/promoCard/PromoCardContext.mjs +0 -1
  60. package/build/promoCard/PromoCardContext.mjs.map +1 -1
  61. package/build/promoCard/PromoCardGroup.js +0 -1
  62. package/build/promoCard/PromoCardGroup.js.map +1 -1
  63. package/build/promoCard/PromoCardGroup.mjs +0 -1
  64. package/build/promoCard/PromoCardGroup.mjs.map +1 -1
  65. package/build/select/Select.js +19 -25
  66. package/build/select/Select.js.map +1 -1
  67. package/build/select/Select.mjs +19 -25
  68. package/build/select/Select.mjs.map +1 -1
  69. package/build/table/Table.js +1 -3
  70. package/build/table/Table.js.map +1 -1
  71. package/build/table/Table.mjs +1 -3
  72. package/build/table/Table.mjs.map +1 -1
  73. package/build/tooltip/Tooltip.js +2 -6
  74. package/build/tooltip/Tooltip.js.map +1 -1
  75. package/build/tooltip/Tooltip.mjs +2 -6
  76. package/build/tooltip/Tooltip.mjs.map +1 -1
  77. package/build/typeahead/typeaheadInput/TypeaheadInput.js +4 -1
  78. package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -1
  79. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs +4 -1
  80. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -1
  81. package/build/types/button/LegacyButton.d.ts.map +1 -1
  82. package/build/types/carousel/Carousel.d.ts.map +1 -1
  83. package/build/types/checkbox/Checkbox.d.ts.map +1 -1
  84. package/build/types/checkboxOption/CheckboxOption.d.ts +1 -2
  85. package/build/types/checkboxOption/CheckboxOption.d.ts.map +1 -1
  86. package/build/types/common/bottomSheet/BottomSheet.d.ts.map +1 -1
  87. package/build/types/common/dateUtils/isDateValid/isDateValid.d.ts.map +1 -1
  88. package/build/types/common/panel/Panel.d.ts.map +1 -1
  89. package/build/types/dimmer/dimmerManager/DimmerManager.d.ts +1 -1
  90. package/build/types/dimmer/dimmerManager/DimmerManager.d.ts.map +1 -1
  91. package/build/types/dropFade/DropFade.d.ts.map +1 -1
  92. package/build/types/emphasis/EmphasisHtmlTransformer.d.ts +2 -2
  93. package/build/types/emphasis/EmphasisHtmlTransformer.d.ts.map +1 -1
  94. package/build/types/inputs/Input.d.ts.map +1 -1
  95. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  96. package/build/types/inputs/_ButtonInput.d.ts.map +1 -1
  97. package/build/types/inputs/_Popover.d.ts.map +1 -1
  98. package/build/types/nudge/Nudge.d.ts.map +1 -1
  99. package/build/types/promoCard/PromoCardContext.d.ts.map +1 -1
  100. package/build/types/promoCard/PromoCardGroup.d.ts.map +1 -1
  101. package/build/types/select/Select.d.ts.map +1 -1
  102. package/build/types/table/Table.d.ts.map +1 -1
  103. package/build/types/tooltip/Tooltip.d.ts.map +1 -1
  104. package/build/types/typeahead/typeaheadInput/TypeaheadInput.d.ts.map +1 -1
  105. package/build/types/withId/story/source.d.ts +1 -1
  106. package/build/types/withId/story/source.d.ts.map +1 -1
  107. package/build/upload/steps/completeStep/completeStep.js +1 -0
  108. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  109. package/build/upload/steps/completeStep/completeStep.mjs +1 -0
  110. package/build/upload/steps/completeStep/completeStep.mjs.map +1 -1
  111. package/build/upload/steps/processingStep/processingStep.js +1 -0
  112. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  113. package/build/upload/steps/processingStep/processingStep.mjs +1 -0
  114. package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
  115. package/package.json +6 -3
  116. package/src/accordion/Accordion.story.tsx +2 -2
  117. package/src/alert/Alert.story.tsx +4 -4
  118. package/src/alert/Alert.tests.story.tsx +3 -3
  119. package/src/button/LegacyButton.tsx +0 -2
  120. package/src/carousel/Carousel.spec.tsx +0 -4
  121. package/src/carousel/Carousel.tsx +0 -1
  122. package/src/checkbox/Checkbox.tsx +0 -1
  123. package/src/checkboxButton/CheckboxButton.story.tsx +0 -2
  124. package/src/checkboxButton/CheckboxButton.tsx +1 -1
  125. package/src/checkboxOption/CheckboxOption.tsx +1 -2
  126. package/src/common/bottomSheet/BottomSheet.spec.tsx +0 -1
  127. package/src/common/bottomSheet/BottomSheet.story.tsx +1 -1
  128. package/src/common/bottomSheet/BottomSheet.tsx +0 -1
  129. package/src/common/dateUtils/isDateValid/isDateValid.ts +5 -3
  130. package/src/common/hooks/useHasIntersected/useHasIntersected.spec.js +0 -2
  131. package/src/common/panel/Panel.tsx +2 -13
  132. package/src/dimmer/Dimmer.spec.tsx +3 -1
  133. package/src/dimmer/Dimmer.story.tsx +3 -2
  134. package/src/dimmer/dimmerManager/DimmerManager.ts +1 -1
  135. package/src/display/Display.story.tsx +0 -2
  136. package/src/drawer/Drawer.story.tsx +6 -4
  137. package/src/dropFade/DropFade.story.tsx +1 -2
  138. package/src/dropFade/DropFade.tsx +0 -1
  139. package/src/emphasis/EmphasisHtmlTransformer.spec.tsx +4 -4
  140. package/src/emphasis/EmphasisHtmlTransformer.ts +2 -2
  141. package/src/flowNavigation/FlowNavigation.story.tsx +6 -1
  142. package/src/inputs/Input.tsx +0 -1
  143. package/src/inputs/SelectInput.story.tsx +6 -2
  144. package/src/inputs/SelectInput.tsx +1 -7
  145. package/src/inputs/_ButtonInput.tsx +0 -1
  146. package/src/inputs/_Popover.tsx +0 -1
  147. package/src/link/Link.story.tsx +0 -1
  148. package/src/listItem/ListItem.story.tsx +0 -2
  149. package/src/markdown/Markdown.spec.tsx +0 -1
  150. package/src/modal/Modal.story.tsx +14 -4
  151. package/src/moneyInput/currencyFormatting.ts +3 -3
  152. package/src/nudge/Nudge.tsx +0 -2
  153. package/src/popover/Popover.story.tsx +10 -2
  154. package/src/promoCard/PromoCardContext.tsx +0 -1
  155. package/src/promoCard/PromoCardGroup.story.tsx +3 -15
  156. package/src/promoCard/PromoCardGroup.tsx +0 -1
  157. package/src/provider/theme/ThemeProvider.story.tsx +3 -5
  158. package/src/select/Select.spec.tsx +0 -1
  159. package/src/select/Select.tsx +0 -3
  160. package/src/select/option/Option.spec.js +2 -2
  161. package/src/selectOption/SelectOption.story.tsx +1 -2
  162. package/src/slidingPanel/SlidingPanel.story.tsx +1 -1
  163. package/src/table/Table.tsx +0 -1
  164. package/src/test-utils/jest.setup.ts +0 -1
  165. package/src/tooltip/Tooltip.tsx +0 -2
  166. package/src/typeahead/Typeahead.story.tsx +46 -0
  167. package/src/typeahead/typeaheadInput/TypeaheadInput.tsx +4 -1
  168. package/src/upload/Upload.events.spec.js +4 -4
  169. package/src/upload/steps/completeStep/completeStep.tsx +1 -1
  170. package/src/upload/steps/processingStep/processingStep.tsx +1 -1
  171. package/src/withId/story/source.tsx +1 -1
  172. package/src/withId/withId.story.tsx +3 -1
@@ -60,6 +60,7 @@ function ProcessingStep({
60
60
  "aria-live": "polite",
61
61
  children: psProcessingText
62
62
  }), psButtonText && /*#__PURE__*/jsxRuntime.jsx(Button_resolver, {
63
+ v2: true,
63
64
  disabled: psButtonDisabled,
64
65
  onClick: onClear,
65
66
  children: psButtonText
@@ -1 +1 @@
1
- {"version":3,"file":"processingStep.js","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator, { ProcessIndicatorStatus } from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onAnimationCompleted: (status: ProcessIndicatorStatus) => void;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onAnimationCompleted","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBwB,SAAAA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,oBAAoB;EACpBC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA,gBAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,aAAM,CAACC,UAAU,CAAA;AACrC,EAAA,IAAIT,OAAO,EAAE;IACXO,aAAa,GAAGC,aAAM,CAACE,MAAM,CAAA;AAC/B,GAAA;AACA,EAAA,IAAIT,SAAS,EAAE;IACbM,aAAa,GAAGC,aAAM,CAACG,SAAS,CAAA;AAClC,GAAA;AAEA,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAad,UAAW;AAAAe,IAAAA,QAAA,eAChFC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,cAAA,CAACI,gBAAgB,EAAA;AACfC,QAAAA,MAAM,EAAEV,aAAc;AACtBL,QAAAA,oBAAoB,EAAGe,MAAM,IAAKf,oBAAoB,CAACe,MAAM,CAAA;AAAE,OAEjE,CAAA,eAAAL,cAAA,CAACM,KAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,qBAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET,gBAAAA;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,cAAA,CAACU,eAAM,EAAA;AAACC,QAAAA,QAAQ,EAAEjB,gBAAiB;AAACkB,QAAAA,OAAO,EAAErB,OAAQ;AAAAW,QAAAA,QAAA,EAClDV,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"processingStep.js","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator, { ProcessIndicatorStatus } from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onAnimationCompleted: (status: ProcessIndicatorStatus) => void;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button v2 disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onAnimationCompleted","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","v2","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBwB,SAAAA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,oBAAoB;EACpBC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA,gBAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,aAAM,CAACC,UAAU,CAAA;AACrC,EAAA,IAAIT,OAAO,EAAE;IACXO,aAAa,GAAGC,aAAM,CAACE,MAAM,CAAA;AAC/B,GAAA;AACA,EAAA,IAAIT,SAAS,EAAE;IACbM,aAAa,GAAGC,aAAM,CAACG,SAAS,CAAA;AAClC,GAAA;AAEA,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAad,UAAW;AAAAe,IAAAA,QAAA,eAChFC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,cAAA,CAACI,gBAAgB,EAAA;AACfC,QAAAA,MAAM,EAAEV,aAAc;AACtBL,QAAAA,oBAAoB,EAAGe,MAAM,IAAKf,oBAAoB,CAACe,MAAM,CAAA;AAAE,OAEjE,CAAA,eAAAL,cAAA,CAACM,KAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,qBAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET,gBAAAA;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,cAAA,CAACU,eAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACC,QAAAA,QAAQ,EAAElB,gBAAiB;AAACmB,QAAAA,OAAO,EAAEtB,OAAQ;AAAAW,QAAAA,QAAA,EACrDV,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
@@ -58,6 +58,7 @@ function ProcessingStep({
58
58
  "aria-live": "polite",
59
59
  children: psProcessingText
60
60
  }), psButtonText && /*#__PURE__*/jsx(Button, {
61
+ v2: true,
61
62
  disabled: psButtonDisabled,
62
63
  onClick: onClear,
63
64
  children: psButtonText
@@ -1 +1 @@
1
- {"version":3,"file":"processingStep.mjs","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator, { ProcessIndicatorStatus } from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onAnimationCompleted: (status: ProcessIndicatorStatus) => void;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onAnimationCompleted","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBwB,SAAAA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,oBAAoB;EACpBC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA,gBAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,MAAM,CAACC,UAAU,CAAA;AACrC,EAAA,IAAIT,OAAO,EAAE;IACXO,aAAa,GAAGC,MAAM,CAACE,MAAM,CAAA;AAC/B,GAAA;AACA,EAAA,IAAIT,SAAS,EAAE;IACbM,aAAa,GAAGC,MAAM,CAACG,SAAS,CAAA;AAClC,GAAA;AAEA,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAad,UAAW;AAAAe,IAAAA,QAAA,eAChFC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,GAAA,CAACI,gBAAgB,EAAA;AACfC,QAAAA,MAAM,EAAEV,aAAc;AACtBL,QAAAA,oBAAoB,EAAGe,MAAM,IAAKf,oBAAoB,CAACe,MAAM,CAAA;AAAE,OAEjE,CAAA,eAAAL,GAAA,CAACM,KAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,UAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET,gBAAAA;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,GAAA,CAACU,MAAM,EAAA;AAACC,QAAAA,QAAQ,EAAEjB,gBAAiB;AAACkB,QAAAA,OAAO,EAAErB,OAAQ;AAAAW,QAAAA,QAAA,EAClDV,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"processingStep.mjs","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator, { ProcessIndicatorStatus } from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onAnimationCompleted: (status: ProcessIndicatorStatus) => void;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button v2 disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onAnimationCompleted","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","v2","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBwB,SAAAA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,oBAAoB;EACpBC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA,gBAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,MAAM,CAACC,UAAU,CAAA;AACrC,EAAA,IAAIT,OAAO,EAAE;IACXO,aAAa,GAAGC,MAAM,CAACE,MAAM,CAAA;AAC/B,GAAA;AACA,EAAA,IAAIT,SAAS,EAAE;IACbM,aAAa,GAAGC,MAAM,CAACG,SAAS,CAAA;AAClC,GAAA;AAEA,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAad,UAAW;AAAAe,IAAAA,QAAA,eAChFC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,GAAA,CAACI,gBAAgB,EAAA;AACfC,QAAAA,MAAM,EAAEV,aAAc;AACtBL,QAAAA,oBAAoB,EAAGe,MAAM,IAAKf,oBAAoB,CAACe,MAAM,CAAA;AAAE,OAEjE,CAAA,eAAAL,GAAA,CAACM,KAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,UAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET,gBAAAA;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,GAAA,CAACU,MAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACC,QAAAA,QAAQ,EAAElB,gBAAiB;AAACmB,QAAAA,OAAO,EAAEtB,OAAQ;AAAAW,QAAAA,QAAA,EACrDV,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "46.93.0",
3
+ "version": "46.93.2",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -81,8 +81,10 @@
81
81
  "@types/react-dom": "^18.3.1",
82
82
  "@types/react-transition-group": "4.4.10",
83
83
  "@wise/art": "^2.16.3",
84
+ "@wise/eslint-config": "^12.2.0",
84
85
  "babel-plugin-formatjs": "^10.5.16",
85
86
  "enzyme": "^3.11.0",
87
+ "eslint": "^9.21.0",
86
88
  "jest": "^29.7.0",
87
89
  "jest-environment-jsdom": "^29.7.0",
88
90
  "jest-fetch-mock": "^3.0.3",
@@ -93,7 +95,8 @@
93
95
  "storybook": "^8.2.2",
94
96
  "@transferwise/less-config": "3.1.0",
95
97
  "@transferwise/neptune-css": "14.22.0",
96
- "@wise/components-theming": "1.6.1"
98
+ "@wise/components-theming": "1.6.1",
99
+ "@wise/wds-configs": "0.0.0"
97
100
  },
98
101
  "peerDependencies": {
99
102
  "@transferwise/icons": "^3.13.1",
@@ -149,7 +152,7 @@
149
152
  "lint": "pnpm run lint:check",
150
153
  "lint:check": "npm-run-all --parallel lint:check:*",
151
154
  "lint:check:format": "prettier --check --ignore-path ../../.prettierignore . || echo \"Prettier failed. Remove this to make this a failure\"",
152
- "lint:check:js+ts": "eslint --ext .js,.jsx,.mjs,.cjs,.ts,.tsx,.mts,.cts --ignore-path ../../.gitignore .",
155
+ "lint:check:js+ts": "eslint .",
153
156
  "lint:check:types": "tsc --noEmit --emitDeclarationOnly false",
154
157
  "lint:fix": "npm-run-all --serial lint:fix:*",
155
158
  "lint:fix:format": "prettier --write --ignore-path ../../.prettierignore .",
@@ -75,7 +75,7 @@ export const Default: Story = {
75
75
 
76
76
  export const Multiple: Story = {
77
77
  render: (args) => {
78
- const items = args.items;
78
+ const { items } = args;
79
79
  return (
80
80
  <>
81
81
  <Accordion {...args} items={[items[0]]} />
@@ -105,7 +105,7 @@ export const WithinModal: Story = {
105
105
  },
106
106
  },
107
107
  render: (args) => {
108
- const items = args.items;
108
+ const { items } = args;
109
109
  return (
110
110
  <Modal
111
111
  body={
@@ -213,7 +213,7 @@ export const DynamicRender: Story = {
213
213
 
214
214
  return (
215
215
  <>
216
- <Button htmlType="button" onClick={() => setIsOneActive(true)}>
216
+ <Button v2 onClick={() => setIsOneActive(true)}>
217
217
  Trigger Alert
218
218
  </Button>
219
219
 
@@ -248,7 +248,7 @@ function Render(args) {
248
248
 
249
249
  return (
250
250
  <>
251
- <Button htmlType="button" onClick={() => setIsOneActive(true)}>
251
+ <Button v2 onClick={() => setIsOneActive(true)}>
252
252
  Trigger Alert
253
253
  </Button>
254
254
 
@@ -325,7 +325,7 @@ export const MultipleDynamicAlerts: Story = {
325
325
  </Button>
326
326
 
327
327
  {alerts.map((props) => (
328
- <Alert {...props} key={props.title} className="m-t-3" />
328
+ <Alert key={props.title} {...props} className="m-t-3" />
329
329
  ))}
330
330
  </>
331
331
  );
@@ -352,8 +352,8 @@ function Render() {
352
352
 
353
353
  {alerts.map(props => (
354
354
  <Alert
355
- {...props}
356
355
  key={props.title}
356
+ {...props}
357
357
  className="m-t-3"
358
358
  />
359
359
  ))}
@@ -37,7 +37,7 @@ export const SimpleTrigger: Story = {
37
37
 
38
38
  return (
39
39
  <>
40
- <Button htmlType="button" onClick={() => setIsActive(true)}>
40
+ <Button v2 onClick={() => setIsActive(true)}>
41
41
  Trigger Alert
42
42
  </Button>
43
43
 
@@ -119,12 +119,12 @@ export const MultipleDynamicAlerts: Story = {
119
119
 
120
120
  return (
121
121
  <>
122
- <Button htmlType="button" onClick={() => setAlerts(getAlerts())}>
122
+ <Button v2 onClick={() => setAlerts(getAlerts())}>
123
123
  Generate dynamic alerts
124
124
  </Button>
125
125
 
126
126
  {alerts.map((props) => (
127
- <Alert {...props} key={props.title} className="m-t-3" />
127
+ <Alert key={props.title} {...props} className="m-t-3" />
128
128
  ))}
129
129
  </>
130
130
  );
@@ -133,10 +133,8 @@ const LegacyButton = forwardRef<ButtonReferenceType, LegacyButtonProps>(
133
133
  disabled,
134
134
  },
135
135
  // @ts-expect-error fix when refactor `typeClassMap` to TypeScript
136
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
137
136
  typeClassMap[newType],
138
137
  // @ts-expect-error fix when refactor `typeClassMap` to TypeScript
139
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
140
138
  priorityClassMap[newPriority],
141
139
  className,
142
140
  );
@@ -47,9 +47,7 @@ describe('Carousel', () => {
47
47
  const scrollBy = jest.fn();
48
48
 
49
49
  beforeEach(() => {
50
- // eslint-disable-next-line functional/immutable-data
51
50
  window.HTMLElement.prototype.scrollIntoView = focusSpy;
52
- // eslint-disable-next-line functional/immutable-data
53
51
  window.HTMLElement.prototype.scrollBy = scrollBy;
54
52
  });
55
53
 
@@ -198,13 +196,11 @@ describe('Carousel', () => {
198
196
  });
199
197
 
200
198
  const mockPositions = (scrollWidth: number, offsetWidth: number) => {
201
- // eslint-disable-next-line functional/immutable-data
202
199
  Object.defineProperty(HTMLElement.prototype, 'scrollWidth', {
203
200
  configurable: true,
204
201
  value: scrollWidth,
205
202
  });
206
203
 
207
- // eslint-disable-next-line functional/immutable-data
208
204
  Object.defineProperty(HTMLElement.prototype, 'offsetWidth', {
209
205
  configurable: true,
210
206
  value: offsetWidth,
@@ -228,7 +228,6 @@ const Carousel: React.FC<CarouselProps> = ({ header, className, cards, onClick }
228
228
  className={clsx('carousel__card-content', {
229
229
  [card.className ?? '']: !!card.className,
230
230
  })}
231
- // eslint-disable-next-line react/forbid-dom-props
232
231
  style={card.styles}
233
232
  >
234
233
  {card.content}
@@ -44,7 +44,6 @@ export default function Checkbox({
44
44
  const innerDisabled = disabled || readOnly;
45
45
  return (
46
46
  <div id={id} className={classList}>
47
- {/* eslint-disable-next-line jsx-a11y/label-has-for */}
48
47
  <label className={clsx({ disabled })}>
49
48
  <CheckboxButton
50
49
  className="p-r-2"
@@ -23,7 +23,6 @@ export const Basic: Story = {
23
23
  'aria-label': 'Toggle email updates',
24
24
  },
25
25
  render: (args) => {
26
- // eslint-disable-next-line react-hooks/rules-of-hooks
27
26
  const [checked, setChecked] = useState(true);
28
27
 
29
28
  return <CheckboxButton {...args} checked={checked} onChange={() => setChecked(!checked)} />;
@@ -36,7 +35,6 @@ export const Indeterminate: Story = {
36
35
  indeterminate: true,
37
36
  },
38
37
  render: (args) => {
39
- // eslint-disable-next-line react-hooks/rules-of-hooks
40
38
  const [indeterminate, setIndeterminate] = useState(true);
41
39
 
42
40
  return (
@@ -19,7 +19,7 @@ const CheckboxButton = forwardRef<HTMLInputElement, CheckboxButtonProps>(functio
19
19
 
20
20
  useEffect(() => {
21
21
  if (internalRef.current) {
22
- // eslint-disable-next-line functional/immutable-data, @typescript-eslint/no-unsafe-assignment
22
+ // eslint-disable-next-line functional/immutable-data
23
23
  internalRef.current.indeterminate = indeterminate;
24
24
  }
25
25
  }, [indeterminate, reference]);
@@ -2,8 +2,7 @@ import { forwardRef } from 'react';
2
2
 
3
3
  import CheckboxButton from '../checkboxButton';
4
4
  import Option from '../common/Option';
5
- import { ReferenceType } from '../common/Option/Option';
6
- import { BaseOptionProps } from '../common/Option/Option';
5
+ import { ReferenceType, BaseOptionProps } from '../common/Option/Option';
7
6
 
8
7
  export type CheckboxOptionProps = Omit<BaseOptionProps, 'onChange'> & {
9
8
  /**
@@ -2,7 +2,6 @@ import { render, mockMatchMedia } from '../../test-utils';
2
2
 
3
3
  import BottomSheet from './BottomSheet';
4
4
 
5
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
6
5
  mockMatchMedia();
7
6
 
8
7
  describe('BottomSheet', () => {
@@ -19,8 +19,8 @@ export default {
19
19
  open: true,
20
20
  },
21
21
  render: (args) => {
22
- // eslint-disable-next-line react-hooks/rules-of-hooks
23
22
  const [open, setOpen] = useState(args.open);
23
+
24
24
  return (
25
25
  <div style={{ height: '2000px' }}>
26
26
  <Button onClick={() => setOpen(true)}>Open BottomSheet</Button>
@@ -201,7 +201,6 @@ const BottomSheet = ({ role = 'dialog', ...props }: BottomSheetProps) => {
201
201
  position={Position.BOTTOM}
202
202
  className={clsx('np-bottom-sheet', props.className)}
203
203
  >
204
- {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}
205
204
  <div
206
205
  id={overlayId}
207
206
  aria-labelledby={props['aria-labelledby'] || undefined}
@@ -1,11 +1,13 @@
1
1
  export const isDateValid = (date: Date | string | null) => {
2
2
  if (date === null) {
3
3
  return false;
4
- } else if (date instanceof Date) {
4
+ }
5
+
6
+ if (date instanceof Date) {
5
7
  return validDateObject(date);
6
- } else {
7
- return validDateString(date);
8
8
  }
9
+
10
+ return validDateString(date);
9
11
  };
10
12
 
11
13
  export const validDateString = (dateString: string) => validDateObject(new Date(dateString));
@@ -65,7 +65,6 @@ describe('useHasIntersected', () => {
65
65
  });
66
66
 
67
67
  it('calls observer', () => {
68
- // eslint-disable-next-line jest/prefer-spy-on
69
68
  window.IntersectionObserver = jest.fn(() => ({
70
69
  observe,
71
70
  unobserve,
@@ -107,7 +106,6 @@ describe('useHasIntersected', () => {
107
106
  });
108
107
 
109
108
  const setupIntersectionObserver = (isIntersecting) => {
110
- // eslint-disable-next-line jest/prefer-spy-on
111
109
  window.IntersectionObserver = jest.fn((callback) => {
112
110
  callback([{ isIntersecting }], { unobserve });
113
111
  return {
@@ -119,26 +119,15 @@ const Panel = forwardRef<HTMLDivElement, PanelProps>(function Panel(
119
119
  {...rest}
120
120
  ref={setPopperElement}
121
121
  role="dialog"
122
- // eslint-disable-next-line react/forbid-dom-props
123
122
  style={{ ...styles.popper }}
124
123
  {...attributes.popper}
125
124
  className={clsx('np-panel', { 'np-panel--open': open }, rest.className)}
126
125
  >
127
- <div
128
- ref={reference}
129
- /* eslint-disable-next-line react/forbid-dom-props */
130
- style={contentStyle}
131
- className={clsx('np-panel__content')}
132
- >
126
+ <div ref={reference} style={contentStyle} className={clsx('np-panel__content')}>
133
127
  {children}
134
128
  {/* Arrow has to stay inside content to get the same animations as the "dialog" and to get hidden when panel is closed. */}
135
129
  {arrow && (
136
- <div
137
- ref={setArrowElement}
138
- className={clsx('np-panel__arrow')}
139
- // eslint-disable-next-line react/forbid-dom-props
140
- style={styles.arrow}
141
- />
130
+ <div ref={setArrowElement} className={clsx('np-panel__arrow')} style={styles.arrow} />
142
131
  )}
143
132
  </div>
144
133
  </div>
@@ -33,7 +33,9 @@ describe('Dimmer', () => {
33
33
  it('does not call onClose if the dimmer content is clicked', async () => {
34
34
  render(
35
35
  <Dimmer {...props}>
36
- <Button onClick={() => {}}>McClicky</Button>
36
+ <Button v2 onClick={() => {}}>
37
+ McClicky
38
+ </Button>
37
39
  </Dimmer>,
38
40
  );
39
41
  await userEvent.click(screen.getByRole('button'));
@@ -18,12 +18,13 @@ type Story = StoryObj<typeof Dimmer>;
18
18
 
19
19
  export const Basic: Story = {
20
20
  render: (args) => {
21
- // eslint-disable-next-line react-hooks/rules-of-hooks
22
21
  const [open, setOpen] = useState(false);
23
22
 
24
23
  return (
25
24
  <>
26
- <Button onClick={() => setOpen((isOpen) => !isOpen)}>Toggle dimmer</Button>
25
+ <Button v2 onClick={() => setOpen((isOpen) => !isOpen)}>
26
+ Toggle dimmer
27
+ </Button>
27
28
  <Dimmer
28
29
  {...args}
29
30
  open={open}
@@ -5,7 +5,7 @@ export default class DimmerManager {
5
5
  /**
6
6
  * Dimmer refs
7
7
  */
8
- private dimmers: Element[];
8
+ private readonly dimmers: Element[];
9
9
 
10
10
  constructor() {
11
11
  this.dimmers = [];
@@ -1,5 +1,3 @@
1
- /* eslint-disable jsx-a11y/accessible-emoji */
2
-
3
1
  import { Typography } from '../common';
4
2
  import Money from '../money/Money';
5
3
  import Title from '../title/Title';
@@ -18,7 +18,7 @@ export const Basic = () => {
18
18
 
19
19
  return (
20
20
  <>
21
- <Button disabled={false} block={false} onClick={() => setOpenDrawer(true)}>
21
+ <Button v2 disabled={false} block={false} onClick={() => setOpenDrawer(true)}>
22
22
  Open drawer
23
23
  </Button>
24
24
  <Drawer
@@ -27,10 +27,10 @@ export const Basic = () => {
27
27
  headerTitle="This is the title of the drawer"
28
28
  footerContent={
29
29
  <>
30
- <Button block onClick={() => {}}>
30
+ <Button v2 block onClick={() => {}}>
31
31
  Action 1
32
32
  </Button>
33
- <Button block priority={Priority.SECONDARY} onClick={() => {}}>
33
+ <Button v2 block priority={Priority.SECONDARY} onClick={() => {}}>
34
34
  Action 2
35
35
  </Button>
36
36
  </>
@@ -50,7 +50,9 @@ export const Basic = () => {
50
50
  <Section className="m-t-2">
51
51
  <Input />
52
52
  <p className="m-t-3">Cat ipsum dolor sit amet, purr when being pet.</p>
53
- <Button onClick={() => setOpenModal(true)}>Open Modal</Button>
53
+ <Button v2 onClick={() => setOpenModal(true)}>
54
+ Open Modal
55
+ </Button>
54
56
  <Modal
55
57
  body={
56
58
  <p className="m-t-4">
@@ -1,4 +1,3 @@
1
- /* eslint-disable react/forbid-dom-props */
2
1
  import { action } from '@storybook/addon-actions';
3
2
  import { useState } from 'react';
4
3
 
@@ -35,7 +34,7 @@ export const Basic = () => {
35
34
  }}
36
35
  />
37
36
  </DropFade>
38
- <Button className="m-t-3" block onClick={() => setOpen(true)}>
37
+ <Button v2 className="m-t-3" block onClick={() => setOpen(true)}>
39
38
  Some other content
40
39
  </Button>
41
40
  </div>
@@ -26,7 +26,6 @@ const DropFade = ({ children, show }: { children: ReactElement; show: boolean })
26
26
  setHeight(0);
27
27
  }}
28
28
  >
29
- {/* eslint-disable-next-line react/forbid-dom-props */}
30
29
  <div ref={reference} style={{ height }} className="np-dropfade">
31
30
  {clonedChild}
32
31
  </div>
@@ -7,7 +7,7 @@ describe('creates safe, enphasised html', () => {
7
7
  emphasisHtmlTransformer.transform(
8
8
  '<script>something malicious</script><p>some text & more text</p>',
9
9
  ),
10
- ).toStrictEqual(
10
+ ).toBe(
11
11
  '&lt;script&gt;something malicious&lt;/script&gt;&lt;p&gt;some text &amp; more text&lt;/p&gt;',
12
12
  );
13
13
  });
@@ -18,7 +18,7 @@ describe('creates safe, enphasised html', () => {
18
18
  emphasisHtmlTransformer.transform(
19
19
  '<script>something malicious</script><positive>hello</positive><negative>world</negative><positive>!</positive>',
20
20
  ),
21
- ).toStrictEqual(
21
+ ).toBe(
22
22
  '&lt;script&gt;something malicious&lt;/script&gt;<em class="emphasis emphasis--positive">hello</em><em class="emphasis emphasis--negative">world</em><em class="emphasis emphasis--positive">!</em>',
23
23
  );
24
24
  });
@@ -26,11 +26,11 @@ describe('creates safe, enphasised html', () => {
26
26
  describe('supports new line characters', () => {
27
27
  it('supports slash n in the string', () => {
28
28
  const emphasisHtmlTransformer = new EmphasisHtmlTransformer();
29
- expect(emphasisHtmlTransformer.transform('hello\\nworld')).toStrictEqual('hello<br />world');
29
+ expect(emphasisHtmlTransformer.transform('hello\\nworld')).toBe('hello<br />world');
30
30
  });
31
31
  it('supports new line characters', () => {
32
32
  const emphasisHtmlTransformer = new EmphasisHtmlTransformer();
33
- expect(emphasisHtmlTransformer.transform('hello\nworld')).toStrictEqual('hello<br />world');
33
+ expect(emphasisHtmlTransformer.transform('hello\nworld')).toBe('hello<br />world');
34
34
  });
35
35
  });
36
36
  });
@@ -13,9 +13,9 @@ type Tags = {
13
13
  };
14
14
 
15
15
  class EmphasisHtmlTransformer {
16
- tags: Array<Tags>;
16
+ tags: Tags[];
17
17
 
18
- constructor(whitelistedTags?: Array<string>) {
18
+ constructor(whitelistedTags?: string[]) {
19
19
  this.tags = (whitelistedTags || []).map((tag) => {
20
20
  return {
21
21
  transformed: {
@@ -235,7 +235,12 @@ export const SendFlow = () => {
235
235
 
236
236
  <Sticky>
237
237
  <div className="d-flex justify-content-center align-items-center p-a-3">
238
- <Button disabled={activeStep === 3} block onClick={() => setActiveStep(activeStep + 1)}>
238
+ <Button
239
+ v2
240
+ disabled={activeStep === 3}
241
+ block
242
+ onClick={() => setActiveStep(activeStep + 1)}
243
+ >
239
244
  Continue
240
245
  </Button>
241
246
  </div>
@@ -31,7 +31,6 @@ export const Input = forwardRef(function Input(
31
31
  'np-input--shape-rectangle': shape === 'rectangle',
32
32
  'np-input--shape-pill': shape === 'pill',
33
33
  })}
34
- // eslint-disable-next-line react/forbid-dom-props
35
34
  style={inputPaddings}
36
35
  {...inputAttributes}
37
36
  {...restProps}
@@ -464,7 +464,9 @@ export const WithinDrawer: Story<Currency> = {
464
464
  const [open, setOpen] = useState(context.viewMode === 'story');
465
465
  return (
466
466
  <>
467
- <Button onClick={() => setOpen(true)}>Open drawer</Button>
467
+ <Button v2 onClick={() => setOpen(true)}>
468
+ Open drawer
469
+ </Button>
468
470
  <Drawer
469
471
  open={open}
470
472
  headerTitle="This is the title of the drawer"
@@ -485,7 +487,9 @@ export const WithinModal: Story<Currency> = {
485
487
  const [open, setOpen] = useState(context.viewMode === 'story');
486
488
  return (
487
489
  <>
488
- <Button onClick={() => setOpen(true)}>Open modal</Button>
490
+ <Button v2 onClick={() => setOpen(true)}>
491
+ Open modal
492
+ </Button>
489
493
  <Modal open={open} body={<Story />} onClose={() => setOpen(false)} />
490
494
  </>
491
495
  );
@@ -629,13 +629,7 @@ function SelectInputOptions<T = string>({
629
629
  const getItemNode = (index: number) => {
630
630
  const item = filteredItems[index];
631
631
  return (
632
- <SelectInputItemView
633
- // eslint-disable-next-line react/no-array-index-key
634
- key={index}
635
- item={item}
636
- renderValue={renderValue}
637
- needle={needle}
638
- />
632
+ <SelectInputItemView key={index} item={item} renderValue={renderValue} needle={needle} />
639
633
  );
640
634
  };
641
635
 
@@ -19,7 +19,6 @@ export const ButtonInput = forwardRef(function ButtonInput(
19
19
  ref={ref}
20
20
  type="button"
21
21
  className={clsx(className, inputClassNameBase({ size }), 'np-button-input')}
22
- // eslint-disable-next-line react/forbid-dom-props
23
22
  style={{ ...inputPaddings, ...style }}
24
23
  {...restProps}
25
24
  />
@@ -113,7 +113,6 @@ export function Popover({
113
113
  'np-popover-v2-container--size-md': size === 'md',
114
114
  'np-popover-v2-container--size-lg': size === 'lg',
115
115
  })}
116
- // eslint-disable-next-line react/forbid-dom-props
117
116
  style={floatingStyles}
118
117
  {...getFloatingProps()}
119
118
  >
@@ -1,4 +1,3 @@
1
- /* eslint-disable react/jsx-child-element-spacing */
2
1
  import Body from '../body/Body';
3
2
  import { Typography } from '../common';
4
3
  import Title from '../title/Title';
@@ -1,5 +1,3 @@
1
- /* eslint-disable react/jsx-child-element-spacing */
2
-
3
1
  import { action } from '@storybook/addon-actions';
4
2
  import { Documents, FastFlag } from '@transferwise/icons';
5
3
  import { ComponentProps } from 'react';
@@ -1,4 +1,3 @@
1
- /* eslint-disable react/jsx-key */
2
1
  import { MarkdownNodeType } from '../common';
3
2
  import { render, screen } from '../test-utils';
4
3