@transferwise/components 46.39.0 → 46.41.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.
- package/build/index.js +244 -493
- package/build/index.js.map +1 -1
- package/build/index.mjs +245 -494
- package/build/index.mjs.map +1 -1
- package/build/main.css +4 -2
- package/build/styles/main.css +4 -2
- package/build/styles/statusIcon/StatusIcon.css +4 -2
- package/build/types/dateInput/DateInput.d.ts.map +1 -1
- package/build/types/field/Field.d.ts +6 -1
- package/build/types/field/Field.d.ts.map +1 -1
- package/build/types/index.d.ts +2 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/types/inlineAlert/InlineAlert.d.ts +2 -2
- package/build/types/inlineAlert/InlineAlert.d.ts.map +1 -1
- package/build/types/processIndicator/ProcessIndicator.d.ts +1 -1
- package/build/types/processIndicator/ProcessIndicator.d.ts.map +1 -1
- package/build/types/upload/Upload.d.ts +91 -55
- package/build/types/upload/Upload.d.ts.map +1 -1
- package/build/types/upload/Upload.messages.d.ts +42 -60
- package/build/types/upload/Upload.messages.d.ts.map +1 -1
- package/build/types/upload/index.d.ts +2 -2
- package/build/types/upload/index.d.ts.map +1 -1
- package/build/types/upload/steps/completeStep/completeStep.d.ts +11 -18
- package/build/types/upload/steps/completeStep/completeStep.d.ts.map +1 -1
- package/build/types/upload/steps/completeStep/index.d.ts +2 -1
- package/build/types/upload/steps/completeStep/index.d.ts.map +1 -1
- package/build/types/upload/steps/index.d.ts +3 -4
- package/build/types/upload/steps/index.d.ts.map +1 -1
- package/build/types/upload/steps/processingStep/index.d.ts +2 -1
- package/build/types/upload/steps/processingStep/index.d.ts.map +1 -1
- package/build/types/upload/steps/processingStep/processingStep.d.ts +11 -13
- package/build/types/upload/steps/processingStep/processingStep.d.ts.map +1 -1
- package/build/types/upload/steps/uploadImageStep/index.d.ts +2 -1
- package/build/types/upload/steps/uploadImageStep/index.d.ts.map +1 -1
- package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts +14 -18
- package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts.map +1 -1
- package/build/types/upload/utils/asyncFileRead/asyncFileRead.d.ts +1 -1
- package/build/types/upload/utils/asyncFileRead/asyncFileRead.d.ts.map +1 -1
- package/build/types/upload/utils/asyncFileRead/index.d.ts +1 -1
- package/build/types/upload/utils/asyncFileRead/index.d.ts.map +1 -1
- package/build/types/upload/utils/getFileType/getFileType.d.ts +1 -1
- package/build/types/upload/utils/getFileType/getFileType.d.ts.map +1 -1
- package/build/types/upload/utils/getFileType/index.d.ts +1 -1
- package/build/types/upload/utils/getFileType/index.d.ts.map +1 -1
- package/build/types/upload/utils/index.d.ts +5 -7
- package/build/types/upload/utils/index.d.ts.map +1 -1
- package/build/types/upload/utils/isSizeValid/index.d.ts +1 -1
- package/build/types/upload/utils/isSizeValid/index.d.ts.map +1 -1
- package/build/types/upload/utils/isSizeValid/isSizeValid.d.ts +1 -1
- package/build/types/upload/utils/isSizeValid/isSizeValid.d.ts.map +1 -1
- package/build/types/upload/utils/isTypeValid/index.d.ts +1 -1
- package/build/types/upload/utils/isTypeValid/index.d.ts.map +1 -1
- package/build/types/upload/utils/isTypeValid/isTypeValid.d.ts +1 -1
- package/build/types/upload/utils/isTypeValid/isTypeValid.d.ts.map +1 -1
- package/build/types/upload/utils/postData/index.d.ts +1 -1
- package/build/types/upload/utils/postData/index.d.ts.map +1 -1
- package/build/types/upload/utils/postData/postData.d.ts +11 -1
- package/build/types/upload/utils/postData/postData.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/dateInput/DateInput.spec.tsx +220 -0
- package/src/dateInput/DateInput.story.tsx +3 -76
- package/src/dateInput/DateInput.tests.story.tsx +238 -0
- package/src/dateInput/DateInput.tsx +50 -53
- package/src/field/Field.story.tsx +17 -36
- package/src/field/Field.tests.story.tsx +33 -0
- package/src/field/Field.tsx +23 -13
- package/src/index.ts +2 -1
- package/src/inlineAlert/InlineAlert.story.tsx +13 -5
- package/src/inlineAlert/InlineAlert.tsx +14 -7
- package/src/main.css +4 -2
- package/src/processIndicator/ProcessIndicator.tsx +1 -1
- package/src/statusIcon/StatusIcon.css +4 -2
- package/src/statusIcon/StatusIcon.less +4 -2
- package/src/statusIcon/StatusIcon.tsx +1 -1
- package/src/upload/Upload.spec.js +3 -14
- package/src/upload/Upload.story.tsx +37 -0
- package/src/upload/{Upload.js → Upload.tsx} +164 -169
- package/src/upload/index.ts +2 -0
- package/src/upload/steps/completeStep/completeStep.spec.js +3 -2
- package/src/upload/steps/completeStep/completeStep.tsx +74 -0
- package/src/upload/steps/completeStep/index.ts +2 -0
- package/src/upload/steps/{index.js → index.ts} +0 -1
- package/src/upload/steps/processingStep/index.ts +2 -0
- package/src/upload/steps/processingStep/processingStep.tsx +53 -0
- package/src/upload/steps/uploadImageStep/index.ts +2 -0
- package/src/upload/steps/uploadImageStep/{uploadImageStep.js → uploadImageStep.tsx} +17 -23
- package/src/upload/utils/asyncFileRead/asyncFileRead.spec.ts +14 -0
- package/src/upload/utils/asyncFileRead/asyncFileRead.ts +12 -0
- package/src/upload/utils/getFileType/getFileType.spec.ts +22 -0
- package/src/upload/utils/getFileType/getFileType.ts +16 -0
- package/src/upload/utils/{index.js → index.ts} +0 -2
- package/src/upload/utils/isSizeValid/{isSizeValid.spec.js → isSizeValid.spec.ts} +3 -3
- package/src/upload/utils/isSizeValid/isSizeValid.ts +3 -0
- package/src/upload/utils/isTypeValid/isTypeValid.spec.ts +62 -0
- package/src/upload/utils/isTypeValid/isTypeValid.ts +19 -0
- package/src/upload/utils/postData/postData.spec.ts +65 -0
- package/src/upload/utils/postData/postData.ts +36 -0
- package/src/uploadInput/UploadInput.tsx +1 -1
- package/build/types/upload/steps/mediaUploadStep/index.d.ts +0 -2
- package/build/types/upload/steps/mediaUploadStep/index.d.ts.map +0 -1
- package/build/types/upload/steps/mediaUploadStep/mediaUploadStep.d.ts +0 -24
- package/build/types/upload/steps/mediaUploadStep/mediaUploadStep.d.ts.map +0 -1
- package/build/types/upload/uploadSteps.d.ts +0 -5
- package/build/types/upload/uploadSteps.d.ts.map +0 -1
- package/build/types/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.d.ts +0 -2
- package/build/types/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.d.ts.map +0 -1
- package/build/types/upload/utils/getSupportedSpotMimeTypes/index.d.ts +0 -2
- package/build/types/upload/utils/getSupportedSpotMimeTypes/index.d.ts.map +0 -1
- package/build/types/upload/utils/requestMedia/index.d.ts +0 -2
- package/build/types/upload/utils/requestMedia/index.d.ts.map +0 -1
- package/build/types/upload/utils/requestMedia/requestMedia.d.ts +0 -2
- package/build/types/upload/utils/requestMedia/requestMedia.d.ts.map +0 -1
- package/src/dateInput/DateInput.rtl.spec.tsx +0 -17
- package/src/dateInput/DateInput.spec.js +0 -477
- package/src/upload/Upload.story.js +0 -36
- package/src/upload/index.js +0 -2
- package/src/upload/steps/completeStep/completeStep.js +0 -98
- package/src/upload/steps/completeStep/index.js +0 -1
- package/src/upload/steps/mediaUploadStep/index.js +0 -1
- package/src/upload/steps/mediaUploadStep/mediaUploadStep.js +0 -80
- package/src/upload/steps/mediaUploadStep/mediaUploadStep.spec.js +0 -77
- package/src/upload/steps/processingStep/index.js +0 -1
- package/src/upload/steps/processingStep/processingStep.js +0 -73
- package/src/upload/steps/uploadImageStep/index.js +0 -1
- package/src/upload/uploadSteps.ts +0 -5
- package/src/upload/utils/asyncFileRead/asyncFileRead.js +0 -11
- package/src/upload/utils/asyncFileRead/asyncFileRead.spec.js +0 -17
- package/src/upload/utils/getFileType/getFileType.js +0 -19
- package/src/upload/utils/getFileType/getFileType.spec.js +0 -33
- package/src/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.js +0 -18
- package/src/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.spec.js +0 -22
- package/src/upload/utils/getSupportedSpotMimeTypes/index.js +0 -1
- package/src/upload/utils/isSizeValid/isSizeValid.js +0 -1
- package/src/upload/utils/isTypeValid/isTypeValid.js +0 -26
- package/src/upload/utils/isTypeValid/isTypeValid.spec.js +0 -68
- package/src/upload/utils/postData/postData.js +0 -18
- package/src/upload/utils/postData/postData.spec.js +0 -109
- package/src/upload/utils/requestMedia/index.js +0 -1
- package/src/upload/utils/requestMedia/requestMedia.js +0 -26
- package/src/upload/utils/requestMedia/requestMedia.spec.js +0 -44
- /package/src/upload/{Upload.messages.js → Upload.messages.ts} +0 -0
- /package/src/upload/utils/asyncFileRead/{index.js → index.ts} +0 -0
- /package/src/upload/utils/getFileType/{index.js → index.ts} +0 -0
- /package/src/upload/utils/isSizeValid/{index.js → index.ts} +0 -0
- /package/src/upload/utils/isTypeValid/{index.js → index.ts} +0 -0
- /package/src/upload/utils/postData/{index.js → index.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AlertCircle as AlertCircleIcon } from '@transferwise/icons';
|
|
2
1
|
import classNames from 'classnames';
|
|
3
|
-
import { ReactNode } from 'react';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
4
3
|
|
|
5
|
-
import { Sentiment } from '../common';
|
|
4
|
+
import { Sentiment, Size } from '../common';
|
|
5
|
+
import StatusIcon from '../statusIcon';
|
|
6
6
|
|
|
7
7
|
export interface InlineAlertProps {
|
|
8
8
|
id?: string;
|
|
@@ -17,15 +17,22 @@ export default function InlineAlert({
|
|
|
17
17
|
className,
|
|
18
18
|
children,
|
|
19
19
|
}: InlineAlertProps) {
|
|
20
|
-
const danger = type === 'negative' || type === 'error';
|
|
21
20
|
return (
|
|
22
21
|
<div
|
|
23
22
|
role="alert"
|
|
24
23
|
id={id}
|
|
25
|
-
className={classNames(
|
|
24
|
+
className={classNames(
|
|
25
|
+
'alert alert-detach',
|
|
26
|
+
`alert-${type === Sentiment.NEGATIVE || type === Sentiment.ERROR ? 'danger' : type}`,
|
|
27
|
+
className,
|
|
28
|
+
)}
|
|
26
29
|
>
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
<div className="d-inline-flex">
|
|
31
|
+
{type !== Sentiment.NEUTRAL && type !== Sentiment.PENDING && (
|
|
32
|
+
<StatusIcon sentiment={type} size={Size.SMALL} />
|
|
33
|
+
)}
|
|
34
|
+
<div className="np-text-body-default">{children}</div>
|
|
35
|
+
</div>
|
|
29
36
|
</div>
|
|
30
37
|
);
|
|
31
38
|
}
|
package/src/main.css
CHANGED
|
@@ -4208,14 +4208,16 @@ html:not([dir="rtl"]) .np-navigation-option {
|
|
|
4208
4208
|
height: var(--size-32);
|
|
4209
4209
|
}
|
|
4210
4210
|
}
|
|
4211
|
-
.status-circle.negative
|
|
4211
|
+
.status-circle.negative,
|
|
4212
|
+
.status-circle.error {
|
|
4212
4213
|
background-color: var(--color-sentiment-negative);
|
|
4213
4214
|
}
|
|
4214
4215
|
.status-circle.neutral {
|
|
4215
4216
|
background-color: #5d7079;
|
|
4216
4217
|
background-color: var(--color-content-secondary);
|
|
4217
4218
|
}
|
|
4218
|
-
.status-circle.positive
|
|
4219
|
+
.status-circle.positive,
|
|
4220
|
+
.status-circle.success {
|
|
4219
4221
|
background-color: var(--color-sentiment-positive);
|
|
4220
4222
|
}
|
|
4221
4223
|
.tw-stepper {
|
|
@@ -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 {
|
|
@@ -66,13 +66,15 @@
|
|
|
66
66
|
height: var(--size-32);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
.status-circle.negative
|
|
69
|
+
.status-circle.negative,
|
|
70
|
+
.status-circle.error {
|
|
70
71
|
background-color: var(--color-sentiment-negative);
|
|
71
72
|
}
|
|
72
73
|
.status-circle.neutral {
|
|
73
74
|
background-color: #5d7079;
|
|
74
75
|
background-color: var(--color-content-secondary);
|
|
75
76
|
}
|
|
76
|
-
.status-circle.positive
|
|
77
|
+
.status-circle.positive,
|
|
78
|
+
.status-circle.success {
|
|
77
79
|
background-color: var(--color-sentiment-positive);
|
|
78
80
|
}
|
|
@@ -60,7 +60,8 @@
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
.status-circle.negative
|
|
63
|
+
.status-circle.negative,
|
|
64
|
+
.status-circle.error {
|
|
64
65
|
background-color: var(--color-sentiment-negative);
|
|
65
66
|
}
|
|
66
67
|
|
|
@@ -68,6 +69,7 @@
|
|
|
68
69
|
background-color: var(--color-content-secondary);
|
|
69
70
|
}
|
|
70
71
|
|
|
71
|
-
.status-circle.positive
|
|
72
|
+
.status-circle.positive,
|
|
73
|
+
.status-circle.success {
|
|
72
74
|
background-color: var(--color-sentiment-positive);
|
|
73
75
|
}
|
|
@@ -26,7 +26,7 @@ const StatusIcon = ({ sentiment = 'neutral', size = 'md' }: StatusIconProps) =>
|
|
|
26
26
|
return (
|
|
27
27
|
<span
|
|
28
28
|
data-testid="status-icon"
|
|
29
|
-
className={classNames('status-circle',
|
|
29
|
+
className={classNames('status-circle', `status-circle-${size}`, sentiment)}
|
|
30
30
|
>
|
|
31
31
|
<Icon className={classNames('status-icon', iconColor)} />
|
|
32
32
|
</span>
|
|
@@ -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,
|
|
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:
|
|
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;
|