@transferwise/components 46.39.0 → 46.40.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 (123) hide show
  1. package/build/index.js +176 -419
  2. package/build/index.js.map +1 -1
  3. package/build/index.mjs +176 -419
  4. package/build/index.mjs.map +1 -1
  5. package/build/types/index.d.ts +2 -1
  6. package/build/types/index.d.ts.map +1 -1
  7. package/build/types/processIndicator/ProcessIndicator.d.ts +1 -1
  8. package/build/types/processIndicator/ProcessIndicator.d.ts.map +1 -1
  9. package/build/types/upload/Upload.d.ts +91 -55
  10. package/build/types/upload/Upload.d.ts.map +1 -1
  11. package/build/types/upload/Upload.messages.d.ts +42 -60
  12. package/build/types/upload/Upload.messages.d.ts.map +1 -1
  13. package/build/types/upload/index.d.ts +2 -2
  14. package/build/types/upload/index.d.ts.map +1 -1
  15. package/build/types/upload/steps/completeStep/completeStep.d.ts +11 -18
  16. package/build/types/upload/steps/completeStep/completeStep.d.ts.map +1 -1
  17. package/build/types/upload/steps/completeStep/index.d.ts +2 -1
  18. package/build/types/upload/steps/completeStep/index.d.ts.map +1 -1
  19. package/build/types/upload/steps/index.d.ts +3 -4
  20. package/build/types/upload/steps/index.d.ts.map +1 -1
  21. package/build/types/upload/steps/processingStep/index.d.ts +2 -1
  22. package/build/types/upload/steps/processingStep/index.d.ts.map +1 -1
  23. package/build/types/upload/steps/processingStep/processingStep.d.ts +11 -13
  24. package/build/types/upload/steps/processingStep/processingStep.d.ts.map +1 -1
  25. package/build/types/upload/steps/uploadImageStep/index.d.ts +2 -1
  26. package/build/types/upload/steps/uploadImageStep/index.d.ts.map +1 -1
  27. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts +14 -18
  28. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts.map +1 -1
  29. package/build/types/upload/utils/asyncFileRead/asyncFileRead.d.ts +1 -1
  30. package/build/types/upload/utils/asyncFileRead/asyncFileRead.d.ts.map +1 -1
  31. package/build/types/upload/utils/asyncFileRead/index.d.ts +1 -1
  32. package/build/types/upload/utils/asyncFileRead/index.d.ts.map +1 -1
  33. package/build/types/upload/utils/getFileType/getFileType.d.ts +1 -1
  34. package/build/types/upload/utils/getFileType/getFileType.d.ts.map +1 -1
  35. package/build/types/upload/utils/getFileType/index.d.ts +1 -1
  36. package/build/types/upload/utils/getFileType/index.d.ts.map +1 -1
  37. package/build/types/upload/utils/index.d.ts +5 -7
  38. package/build/types/upload/utils/index.d.ts.map +1 -1
  39. package/build/types/upload/utils/isSizeValid/index.d.ts +1 -1
  40. package/build/types/upload/utils/isSizeValid/index.d.ts.map +1 -1
  41. package/build/types/upload/utils/isSizeValid/isSizeValid.d.ts +1 -1
  42. package/build/types/upload/utils/isSizeValid/isSizeValid.d.ts.map +1 -1
  43. package/build/types/upload/utils/isTypeValid/index.d.ts +1 -1
  44. package/build/types/upload/utils/isTypeValid/index.d.ts.map +1 -1
  45. package/build/types/upload/utils/isTypeValid/isTypeValid.d.ts +1 -1
  46. package/build/types/upload/utils/isTypeValid/isTypeValid.d.ts.map +1 -1
  47. package/build/types/upload/utils/postData/index.d.ts +1 -1
  48. package/build/types/upload/utils/postData/index.d.ts.map +1 -1
  49. package/build/types/upload/utils/postData/postData.d.ts +11 -1
  50. package/build/types/upload/utils/postData/postData.d.ts.map +1 -1
  51. package/package.json +3 -3
  52. package/src/index.ts +2 -1
  53. package/src/processIndicator/ProcessIndicator.tsx +1 -1
  54. package/src/upload/Upload.spec.js +3 -14
  55. package/src/upload/Upload.story.tsx +37 -0
  56. package/src/upload/{Upload.js → Upload.tsx} +164 -169
  57. package/src/upload/index.ts +2 -0
  58. package/src/upload/steps/completeStep/completeStep.spec.js +3 -2
  59. package/src/upload/steps/completeStep/completeStep.tsx +74 -0
  60. package/src/upload/steps/completeStep/index.ts +2 -0
  61. package/src/upload/steps/{index.js → index.ts} +0 -1
  62. package/src/upload/steps/processingStep/index.ts +2 -0
  63. package/src/upload/steps/processingStep/processingStep.tsx +53 -0
  64. package/src/upload/steps/uploadImageStep/index.ts +2 -0
  65. package/src/upload/steps/uploadImageStep/{uploadImageStep.js → uploadImageStep.tsx} +17 -23
  66. package/src/upload/utils/asyncFileRead/asyncFileRead.spec.ts +14 -0
  67. package/src/upload/utils/asyncFileRead/asyncFileRead.ts +12 -0
  68. package/src/upload/utils/getFileType/getFileType.spec.ts +22 -0
  69. package/src/upload/utils/getFileType/getFileType.ts +16 -0
  70. package/src/upload/utils/{index.js → index.ts} +0 -2
  71. package/src/upload/utils/isSizeValid/{isSizeValid.spec.js → isSizeValid.spec.ts} +3 -3
  72. package/src/upload/utils/isSizeValid/isSizeValid.ts +3 -0
  73. package/src/upload/utils/isTypeValid/isTypeValid.spec.ts +62 -0
  74. package/src/upload/utils/isTypeValid/isTypeValid.ts +19 -0
  75. package/src/upload/utils/postData/postData.spec.ts +65 -0
  76. package/src/upload/utils/postData/postData.ts +36 -0
  77. package/src/uploadInput/UploadInput.tsx +1 -1
  78. package/build/types/upload/steps/mediaUploadStep/index.d.ts +0 -2
  79. package/build/types/upload/steps/mediaUploadStep/index.d.ts.map +0 -1
  80. package/build/types/upload/steps/mediaUploadStep/mediaUploadStep.d.ts +0 -24
  81. package/build/types/upload/steps/mediaUploadStep/mediaUploadStep.d.ts.map +0 -1
  82. package/build/types/upload/uploadSteps.d.ts +0 -5
  83. package/build/types/upload/uploadSteps.d.ts.map +0 -1
  84. package/build/types/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.d.ts +0 -2
  85. package/build/types/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.d.ts.map +0 -1
  86. package/build/types/upload/utils/getSupportedSpotMimeTypes/index.d.ts +0 -2
  87. package/build/types/upload/utils/getSupportedSpotMimeTypes/index.d.ts.map +0 -1
  88. package/build/types/upload/utils/requestMedia/index.d.ts +0 -2
  89. package/build/types/upload/utils/requestMedia/index.d.ts.map +0 -1
  90. package/build/types/upload/utils/requestMedia/requestMedia.d.ts +0 -2
  91. package/build/types/upload/utils/requestMedia/requestMedia.d.ts.map +0 -1
  92. package/src/upload/Upload.story.js +0 -36
  93. package/src/upload/index.js +0 -2
  94. package/src/upload/steps/completeStep/completeStep.js +0 -98
  95. package/src/upload/steps/completeStep/index.js +0 -1
  96. package/src/upload/steps/mediaUploadStep/index.js +0 -1
  97. package/src/upload/steps/mediaUploadStep/mediaUploadStep.js +0 -80
  98. package/src/upload/steps/mediaUploadStep/mediaUploadStep.spec.js +0 -77
  99. package/src/upload/steps/processingStep/index.js +0 -1
  100. package/src/upload/steps/processingStep/processingStep.js +0 -73
  101. package/src/upload/steps/uploadImageStep/index.js +0 -1
  102. package/src/upload/uploadSteps.ts +0 -5
  103. package/src/upload/utils/asyncFileRead/asyncFileRead.js +0 -11
  104. package/src/upload/utils/asyncFileRead/asyncFileRead.spec.js +0 -17
  105. package/src/upload/utils/getFileType/getFileType.js +0 -19
  106. package/src/upload/utils/getFileType/getFileType.spec.js +0 -33
  107. package/src/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.js +0 -18
  108. package/src/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.spec.js +0 -22
  109. package/src/upload/utils/getSupportedSpotMimeTypes/index.js +0 -1
  110. package/src/upload/utils/isSizeValid/isSizeValid.js +0 -1
  111. package/src/upload/utils/isTypeValid/isTypeValid.js +0 -26
  112. package/src/upload/utils/isTypeValid/isTypeValid.spec.js +0 -68
  113. package/src/upload/utils/postData/postData.js +0 -18
  114. package/src/upload/utils/postData/postData.spec.js +0 -109
  115. package/src/upload/utils/requestMedia/index.js +0 -1
  116. package/src/upload/utils/requestMedia/requestMedia.js +0 -26
  117. package/src/upload/utils/requestMedia/requestMedia.spec.js +0 -44
  118. /package/src/upload/{Upload.messages.js → Upload.messages.ts} +0 -0
  119. /package/src/upload/utils/asyncFileRead/{index.js → index.ts} +0 -0
  120. /package/src/upload/utils/getFileType/{index.js → index.ts} +0 -0
  121. /package/src/upload/utils/isSizeValid/{index.js → index.ts} +0 -0
  122. /package/src/upload/utils/isTypeValid/{index.js → index.ts} +0 -0
  123. /package/src/upload/utils/postData/{index.js → index.ts} +0 -0
@@ -1,2 +1,2 @@
1
- export { isTypeValid } from "./isTypeValid";
1
+ export { isTypeValid } from './isTypeValid';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/isTypeValid/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/isTypeValid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +1,2 @@
1
- export function isTypeValid(file: any, rule: any, file64: any): any;
1
+ export declare function isTypeValid(file: Blob, rule: string, file64?: string): boolean;
2
2
  //# sourceMappingURL=isTypeValid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isTypeValid.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/isTypeValid/isTypeValid.js"],"names":[],"mappings":"AAEO,oEAuBN"}
1
+ {"version":3,"file":"isTypeValid.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/isTypeValid/isTypeValid.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,WAgBpE"}
@@ -1,2 +1,2 @@
1
- export { postData } from "./postData";
1
+ export { postData } from './postData';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/postData/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/postData/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,2 +1,12 @@
1
- export function postData(httpOptions: any, data?: {}, fetcher?: typeof fetch): Promise<Response>;
1
+ export declare class ResponseError extends Error {
2
+ response: Response;
3
+ status: number;
4
+ constructor(response: Response, message?: string);
5
+ }
6
+ export interface PostDataHTTPOptions extends Omit<RequestInit, 'body'> {
7
+ url: string;
8
+ method?: 'POST' | 'PUT' | 'PATCH';
9
+ }
10
+ export type PostDataFetcher = (input: string, init: RequestInit) => Promise<Response>;
11
+ export declare function postData({ url, method, ...httpOptions }: PostDataHTTPOptions, data: RequestInit['body'], fetcher?: PostDataFetcher): Promise<Response>;
2
12
  //# sourceMappingURL=postData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postData.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/postData/postData.js"],"names":[],"mappings":"AAAO,iGAiBD"}
1
+ {"version":3,"file":"postData.d.ts","sourceRoot":"","sources":["../../../../../src/upload/utils/postData/postData.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;gBAEH,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM;CAMjD;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;CACnC;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtF,wBAAsB,QAAQ,CAC5B,EAAE,GAAG,EAAE,MAAe,EAAE,GAAG,WAAW,EAAE,EAAE,mBAAmB,EAC7D,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,OAAO,GAAE,eAAuB,qBAajC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "46.39.0",
3
+ "version": "46.40.0",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -93,8 +93,8 @@
93
93
  "rollup": "^4.17.2",
94
94
  "storybook": "^8.1.10",
95
95
  "@transferwise/neptune-css": "14.10.0",
96
- "@transferwise/less-config": "3.1.0",
97
- "@wise/components-theming": "1.3.0"
96
+ "@wise/components-theming": "1.3.0",
97
+ "@transferwise/less-config": "3.1.0"
98
98
  },
99
99
  "peerDependencies": {
100
100
  "@transferwise/icons": "^3.7.0",
package/src/index.ts CHANGED
@@ -58,7 +58,7 @@ export type { NavigationOptionListProps } from './navigationOptionsList';
58
58
  export type { OverlayHeaderProps } from './overlayHeader';
59
59
  export type { PhoneNumberInputProps } from './phoneNumberInput/PhoneNumberInput';
60
60
  export type { PopoverProps } from './popover';
61
- export type { ProcessIndicatorProps } from './processIndicator';
61
+ export type { ProcessIndicatorProps, ProcessIndicatorStatus } from './processIndicator';
62
62
  export type { ProgressProps } from './progress';
63
63
  export type { ProgressBarProps } from './progressBar';
64
64
  export type { DirectionProviderProps, LanguageProviderProps, ProviderProps } from './provider';
@@ -77,6 +77,7 @@ export type { SwitchOptionProps } from './switchOption';
77
77
  export type { TextareaWithDisplayFormatProps } from './textareaWithDisplayFormat';
78
78
  export type { TooltipProps } from './tooltip';
79
79
  export type { TypeaheadOption, TypeaheadProps } from './typeahead';
80
+ export type { UploadProps } from './upload';
80
81
  export type { UploadError, UploadResponse, UploadedFile } from './uploadInput/types';
81
82
 
82
83
  /**
@@ -7,7 +7,7 @@ const radius = { xxs: 6, xs: 11, sm: 22, xl: 61 };
7
7
 
8
8
  const ANIMATION_DURATION_IN_MS = 1500;
9
9
 
10
- type ProcessIndicatorStatus =
10
+ export type ProcessIndicatorStatus =
11
11
  `${Status.PROCESSING | Status.FAILED | Status.SUCCEEDED | Status.HIDDEN}`;
12
12
 
13
13
  export interface ProcessIndicatorProps {
@@ -3,7 +3,7 @@ import { act } from 'react';
3
3
 
4
4
  import { ANIMATION_DURATION_IN_MS } from '../processIndicator';
5
5
 
6
- import { CompleteStep, UploadImageStep, MediaUploadStep, ProcessingStep } from './steps';
6
+ import { CompleteStep, UploadImageStep, ProcessingStep } from './steps';
7
7
 
8
8
  import Upload from '.';
9
9
 
@@ -56,7 +56,7 @@ const UPLOADIMAGE_STEP_PROPS = {
56
56
  usAccept: props.usAccept,
57
57
  usButtonText: props.usButtonText,
58
58
  usDisabled: false,
59
- usHelpImage: '',
59
+ usHelpImage: undefined,
60
60
  usLabel: '',
61
61
  usPlaceholder: props.usPlaceholder,
62
62
  };
@@ -105,17 +105,6 @@ describe('Upload', () => {
105
105
 
106
106
  it('renders the UploadImageStep by default', () => {
107
107
  expect(component.find(UploadImageStep)).toHaveLength(1);
108
- expect(component.find(MediaUploadStep)).toHaveLength(0);
109
- expect(component.find(ProcessingStep)).toHaveLength(0);
110
- expect(component.find(CompleteStep)).toHaveLength(0);
111
- expect(component.find('.droppable-dropping-card')).toHaveLength(1);
112
- });
113
-
114
- it(`renders the MediaUploadStep by default is it's the uploadStep in props`, () => {
115
- component.setProps({ uploadStep: 'mediaUploadStep' });
116
-
117
- expect(component.find(MediaUploadStep)).toHaveLength(1);
118
- expect(component.find(UploadImageStep)).toHaveLength(0);
119
108
  expect(component.find(ProcessingStep)).toHaveLength(0);
120
109
  expect(component.find(CompleteStep)).toHaveLength(0);
121
110
  expect(component.find('.droppable-dropping-card')).toHaveLength(1);
@@ -260,7 +249,7 @@ describe('Upload', () => {
260
249
  isImage: false,
261
250
  isComplete: true,
262
251
  isError: true,
263
- uploadedImage: null,
252
+ uploadedImage: undefined,
264
253
  });
265
254
  });
266
255
 
@@ -0,0 +1,37 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { fn } from '@storybook/test';
3
+
4
+ import Upload from '.';
5
+ import { MAX_SIZE_DEFAULT } from './Upload';
6
+
7
+ const meta = {
8
+ component: Upload,
9
+ tags: ['autodocs'],
10
+ argTypes: {
11
+ maxSize: {
12
+ control: {
13
+ type: 'number',
14
+ min: 0,
15
+ },
16
+ },
17
+ },
18
+ } satisfies Meta<typeof Upload>;
19
+
20
+ export default meta;
21
+ type Story = StoryObj<typeof meta>;
22
+
23
+ export const Basic = {
24
+ args: {
25
+ maxSize: MAX_SIZE_DEFAULT,
26
+ usAccept: 'image/*',
27
+ usLabel: 'Front of your ID document',
28
+ httpOptions: {
29
+ url: 'https://httpbin.org/post',
30
+ method: 'POST',
31
+ },
32
+ onStart: fn(),
33
+ onSuccess: fn(),
34
+ onFailure: fn(),
35
+ onCancel: fn(),
36
+ },
37
+ } satisfies Story;