@wise/dynamic-flow-client 2.7.1 → 2.8.1
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/README.md +42 -13
- package/build/i18n/en.json +4 -0
- package/build/i18n/pt.json +2 -2
- package/build/i18n/zh_CN.json +20 -20
- package/build/main.css +0 -20
- package/build/main.js +333 -296
- package/build/main.min.js +1 -1
- package/build/types/dynamic-flow-types.d.ts +1 -1
- package/build/types/legacy/common/constants/FeatureName.d.ts +1 -1
- package/build/types/legacy/common/hooks/useDebouncedFunction/useDebouncedFunction.d.ts +1 -1
- package/build/types/legacy/common/utils/debounce.d.ts +2 -2
- package/build/types/legacy/jsonSchemaForm/controlFeedback/ControlFeedback.d.ts +5 -5
- package/build/types/legacy/step/cameraStep/cameraCapture/CameraCapture.messages.d.ts +40 -0
- package/build/types/legacy/step/cameraStep/cameraCapture/components/orientationLockOverlay/OrientationLockOverlay.d.ts +1 -1
- package/build/types/legacy/step/cameraStep/cameraCapture/hooks/useFullScreenOrientationLock.d.ts +2 -1
- package/build/types/legacy/step/cameraStep/cameraCapture/overlay/Overlay.d.ts +1 -1
- package/build/types/legacy/step/cameraStep/cameraCapture/screens/cameraErrorScreen/CameraErrorScreen.d.ts +3 -0
- package/build/types/legacy/step/cameraStep/cameraCapture/screens/index.d.ts +1 -2
- package/build/types/legacy/step/cameraStep/cameraCapture/tracking/index.d.ts +4 -3
- package/build/types/legacy/step/cameraStep/cameraCapture/types/index.d.ts +11 -0
- package/build/types/revamp/DynamicFlowRevamp.d.ts +5 -1
- package/build/types/revamp/domain/components/AlertComponent.d.ts +2 -3
- package/build/types/revamp/domain/components/BoxComponent.d.ts +3 -4
- package/build/types/revamp/domain/components/ButtonComponent.d.ts +2 -4
- package/build/types/revamp/domain/components/ColumnsComponent.d.ts +19 -0
- package/build/types/revamp/domain/components/HeadingComponent.d.ts +2 -3
- package/build/types/revamp/domain/components/ObjectComponent.d.ts +3 -4
- package/build/types/revamp/domain/components/ParagraphComponent.d.ts +2 -3
- package/build/types/revamp/domain/components/TextInputComponent.d.ts +7 -8
- package/build/types/revamp/domain/mappers/layout/alertLayoutToComponent.d.ts +1 -1
- package/build/types/revamp/domain/mappers/layout/boxLayoutToComponents.d.ts +3 -3
- package/build/types/revamp/domain/mappers/layout/buttonLayoutToComponent.d.ts +1 -1
- package/build/types/revamp/domain/mappers/layout/columnsLayoutToComponent.d.ts +4 -0
- package/build/types/revamp/domain/mappers/layout/formLayoutToComponent.d.ts +1 -1
- package/build/types/revamp/domain/mappers/layout/headingLayoutToComponent.d.ts +1 -1
- package/build/types/revamp/domain/mappers/layout/paragraphLayoutToComponent.d.ts +1 -1
- package/build/types/revamp/domain/mappers/mapLayoutToComponent.d.ts +2 -2
- package/build/types/revamp/domain/mappers/mapStepToComponents.d.ts +2 -9
- package/build/types/revamp/domain/mappers/schema/objectSchemaToComponent.d.ts +1 -1
- package/build/types/revamp/domain/mappers/schema/stringSchemaToComponent.d.ts +9 -2
- package/build/types/revamp/domain/mappers/schema/types.d.ts +4 -1
- package/build/types/revamp/domain/mappers/types.d.ts +11 -0
- package/build/types/revamp/domain/mappers/utils/legacy-utils.d.ts +5 -2
- package/build/types/revamp/domain/mappers/utils/type-validators.d.ts +9 -0
- package/build/types/revamp/domain/mappers/utils/value-checks.d.ts +10 -0
- package/build/types/revamp/domain/types.d.ts +13 -10
- package/build/types/revamp/renderers/mappers/alertComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/mappers/boxComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/mappers/columnsComponentToProps.d.ts +4 -0
- package/build/types/revamp/renderers/mappers/componentToRendererProps.d.ts +5 -1
- package/build/types/revamp/renderers/mappers/headingComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/mappers/objectComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/mappers/paragraphComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/mappers/textInputComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/types.d.ts +19 -10
- package/build/types/revamp/step/Step.d.ts +1 -1
- package/build/types/revamp/step/utils/getRenderFunction.d.ts +3 -0
- package/build/types/revamp/step/utils/getSchemaErrorMessageFunction.d.ts +3 -0
- package/build/types/revamp/utils/getSubmittableData.d.ts +1 -1
- package/build/types/revamp/utils/type-utils.d.ts +7 -1
- package/build/types/revamp/utils/validateComponents.d.ts +2 -0
- package/build/types/revamp/wise/renderers/ColumnsRenderer.d.ts +3 -0
- package/package.json +4 -3
- package/build/types/legacy/step/cameraStep/cameraCapture/screens/CameraNotSupported/CameraNotSupported.d.ts +0 -2
- package/build/types/legacy/step/cameraStep/cameraCapture/screens/CameraNotSupported/CameraNotSupported.messages.d.ts +0 -13
- package/build/types/legacy/step/cameraStep/cameraCapture/screens/NoCameraAccess/NoCameraAccess.d.ts +0 -5
- package/build/types/legacy/step/cameraStep/cameraCapture/screens/NoCameraAccess/NoCameraAccess.messages.d.ts +0 -18
- package/build/types/revamp/renderers/utils/mapping-utils.d.ts +0 -3
- package/build/types/revamp/step/utils/render-utils.d.ts +0 -5
- /package/build/types/{legacy/jsonSchemaForm/controlFeedback/ControlFeedback.messages.d.ts → common/validationMessages/validation.messages.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -43,27 +43,56 @@ import '@wise/dynamic-flow-client/build/main.css';
|
|
|
43
43
|
|
|
44
44
|
The `DynamicFlow` component must be wraped in a Neptune `Provider` to support localisation, a `ThemeProvider` to provide theming, and a `SnackbarProvider` to ensure snackbars display correctly. Translations should be imported from both components and dynamic flows, merged, and passed to the `Provider` component (as below).
|
|
45
45
|
|
|
46
|
+
### For CRAB apps, use the `getLocalisedMessages(...)` function for translations
|
|
47
|
+
|
|
46
48
|
```js
|
|
47
49
|
import {
|
|
48
50
|
Provider,
|
|
49
51
|
SnackbarProvider,
|
|
50
52
|
translations as componentTranslations,
|
|
51
|
-
getLangFromLocale,
|
|
52
|
-
DEFAULT_LANG,
|
|
53
53
|
} from '@transferwise/components';
|
|
54
|
-
import {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
54
|
+
import { getLocalisedMessages } from '@transferwise/crab/client';
|
|
55
|
+
import {
|
|
56
|
+
DynamicFlow,
|
|
57
|
+
translations as dynamicFlowsTranslations,
|
|
58
|
+
} from '@wise/dynamic-flow-client';
|
|
59
|
+
|
|
60
|
+
const messages = getLocalisedMessages(locale, [componentTranslations, dynamicFlowsTranslations])
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
<Provider i18n={{ locale, messages }}>
|
|
64
|
+
<ThemeProvider theme={theme} screenMode={screenMode}>
|
|
65
|
+
<SnackbarProvider>
|
|
66
|
+
<DynamicFlow {...props} />
|
|
67
|
+
</SnackbarProvider>
|
|
68
|
+
</ThemeProvider>
|
|
69
|
+
</Provider>
|
|
70
|
+
);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### For non-CRAB apps
|
|
74
|
+
|
|
75
|
+
You'll need to merge the '@transferwise/components' translations with the '@wise/dynamic-flow-client' translations.
|
|
76
|
+
|
|
77
|
+
```js
|
|
78
|
+
import {
|
|
79
|
+
Provider,
|
|
80
|
+
SnackbarProvider,
|
|
81
|
+
translations as componentTranslations,
|
|
82
|
+
} from '@transferwise/components';
|
|
83
|
+
import {
|
|
84
|
+
DynamicFlow,
|
|
85
|
+
translations as dynamicFlowsTranslations,
|
|
86
|
+
} from '@wise/dynamic-flow-client';
|
|
87
|
+
|
|
88
|
+
// create your messages object
|
|
89
|
+
const messages: Record<string, string> = {
|
|
90
|
+
...(componentTranslations[lang] || componentTranslations[lang.replace('-', '_')] || componentTranslations[lang.substring(0, 2)] || {}),
|
|
91
|
+
...(translations[lang] || translations[lang.replace('-', '_')] || translations[lang.substring(0, 2)] || {}),
|
|
92
|
+
}
|
|
64
93
|
|
|
65
94
|
return (
|
|
66
|
-
<Provider i18n={
|
|
95
|
+
<Provider i18n={{ locale, messages }}>
|
|
67
96
|
<ThemeProvider theme={theme} screenMode={screenMode}>
|
|
68
97
|
<SnackbarProvider>
|
|
69
98
|
<DynamicFlow {...props} />
|
package/build/i18n/en.json
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
"dynamicFlows.ArraySchema.maxItemsError": "Please add {maxItems} or fewer.",
|
|
6
6
|
"dynamicFlows.ArraySchema.minItemsError": "Please add at least {minItems}.",
|
|
7
7
|
"dynamicFlows.ArraySchema.removeItem": "Remove",
|
|
8
|
+
"dynamicFlows.CameraCapture.CameraConnectionIssue.action": "Try again",
|
|
9
|
+
"dynamicFlows.CameraCapture.CameraConnectionIssue.paragraph": "Please check if it is connected and try again.",
|
|
10
|
+
"dynamicFlows.CameraCapture.CameraConnectionIssue.title": "We can't access your camera",
|
|
8
11
|
"dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "The browser you're using doesn't have support for a camera. Try a different browser, device, or download our mobile app.",
|
|
9
12
|
"dynamicFlows.CameraCapture.CameraNotSupported.title": "Camera not supported",
|
|
10
13
|
"dynamicFlows.CameraCapture.NoCameraAccess.action": "Enable camera access",
|
|
@@ -24,6 +27,7 @@
|
|
|
24
27
|
"dynamicFlows.ControlFeedback.patternDate": "Please enter a date in the corrrect format.",
|
|
25
28
|
"dynamicFlows.ControlFeedback.required": "Please fill out this field.",
|
|
26
29
|
"dynamicFlows.ControlFeedback.type": "Incorrect type",
|
|
30
|
+
"dynamicFlows.DefaultErrorMessages.required": "Please fill out this field.",
|
|
27
31
|
"dynamicFlows.DynamicExternal.retryTitle": "Reopen window",
|
|
28
32
|
"dynamicFlows.DynamicParagraph.copied": "Copied to clipboard",
|
|
29
33
|
"dynamicFlows.DynamicParagraph.copy": "Copy",
|
package/build/i18n/pt.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dynamicFlows.ArraySchema.addItem": "Salvar",
|
|
3
|
-
"dynamicFlows.ArraySchema.addItemTitle": "
|
|
3
|
+
"dynamicFlows.ArraySchema.addItemTitle": "Adicionar item",
|
|
4
4
|
"dynamicFlows.ArraySchema.editItem": "Salvar",
|
|
5
5
|
"dynamicFlows.ArraySchema.maxItemsError": "Adicione {maxItems} ou menos.",
|
|
6
6
|
"dynamicFlows.ArraySchema.minItemsError": "Adicione pelo menos {minItems}.",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dynamicFlows.CameraCapture.reviewInstructions": "A sua foto está clara, legível e aparece por inteiro?",
|
|
14
14
|
"dynamicFlows.CameraCapture.reviewRetry": "Não, tentar novamente",
|
|
15
15
|
"dynamicFlows.CameraCapture.reviewSubmit": "Sim, enviar",
|
|
16
|
-
"dynamicFlows.CameraCapture.rotatePhone.text": "
|
|
16
|
+
"dynamicFlows.CameraCapture.rotatePhone.text": "Gire o telefone para o modo retrato para tirar uma foto",
|
|
17
17
|
"dynamicFlows.ControlFeedback.maxLength": "Por favor, insira {maxLength} caracteres ou menos.",
|
|
18
18
|
"dynamicFlows.ControlFeedback.maximum": "Por favor, insira um número que seja {maximum} ou menos.",
|
|
19
19
|
"dynamicFlows.ControlFeedback.maximumDate": "Por favor, insira uma data que seja em ou antes de {maximum}.",
|
package/build/i18n/zh_CN.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dynamicFlows.ArraySchema.addItem": "保存",
|
|
3
|
-
"dynamicFlows.ArraySchema.addItemTitle": "
|
|
3
|
+
"dynamicFlows.ArraySchema.addItemTitle": "添加项目",
|
|
4
4
|
"dynamicFlows.ArraySchema.editItem": "保存",
|
|
5
|
-
"dynamicFlows.ArraySchema.maxItemsError": "
|
|
6
|
-
"dynamicFlows.ArraySchema.minItemsError": "请至少添加 {minItems}
|
|
7
|
-
"dynamicFlows.ArraySchema.removeItem": "
|
|
8
|
-
"dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "
|
|
5
|
+
"dynamicFlows.ArraySchema.maxItemsError": "请添加不超过 {maxItems} 项。",
|
|
6
|
+
"dynamicFlows.ArraySchema.minItemsError": "请至少添加 {minItems} 项。",
|
|
7
|
+
"dynamicFlows.ArraySchema.removeItem": "移除",
|
|
8
|
+
"dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "您目前使用的浏览器不支持摄像头。请尝试其他浏览器、设备或下载我们的应用。",
|
|
9
9
|
"dynamicFlows.CameraCapture.CameraNotSupported.title": "不支持摄像头",
|
|
10
|
-
"dynamicFlows.CameraCapture.NoCameraAccess.action": "
|
|
11
|
-
"dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "
|
|
12
|
-
"dynamicFlows.CameraCapture.NoCameraAccess.title": "
|
|
10
|
+
"dynamicFlows.CameraCapture.NoCameraAccess.action": "允许访问摄像头",
|
|
11
|
+
"dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "在浏览器设置中启用相机访问权限,再重新尝试。",
|
|
12
|
+
"dynamicFlows.CameraCapture.NoCameraAccess.title": "我们无法访问您的摄像头",
|
|
13
13
|
"dynamicFlows.CameraCapture.reviewInstructions": "您的图片是否清晰、可读和完整?",
|
|
14
|
-
"dynamicFlows.CameraCapture.reviewRetry": "
|
|
14
|
+
"dynamicFlows.CameraCapture.reviewRetry": "否,再试一次",
|
|
15
15
|
"dynamicFlows.CameraCapture.reviewSubmit": "是,提交",
|
|
16
|
-
"dynamicFlows.CameraCapture.rotatePhone.text": "
|
|
17
|
-
"dynamicFlows.ControlFeedback.maxLength": "
|
|
18
|
-
"dynamicFlows.ControlFeedback.maximum": "请输入一个小于或等于 {maximum}
|
|
16
|
+
"dynamicFlows.CameraCapture.rotatePhone.text": "将手机旋转到纵向视图以拍照",
|
|
17
|
+
"dynamicFlows.ControlFeedback.maxLength": "请输入不超过 {maxLength} 个字符。",
|
|
18
|
+
"dynamicFlows.ControlFeedback.maximum": "请输入一个小于或等于 {maximum} 的数字。",
|
|
19
19
|
"dynamicFlows.ControlFeedback.maximumDate": "请输入 {maximum} 或之前的日期",
|
|
20
20
|
"dynamicFlows.ControlFeedback.minLength": "请至少输入 {minLength} 个字符",
|
|
21
21
|
"dynamicFlows.ControlFeedback.minimum": "请输入一个大于或等于 {minimum} 的数字",
|
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
"dynamicFlows.ControlFeedback.pattern": "请以正确的格式输入",
|
|
24
24
|
"dynamicFlows.ControlFeedback.patternDate": "请以正确的格式输入日期",
|
|
25
25
|
"dynamicFlows.ControlFeedback.required": "请填写此字段。",
|
|
26
|
-
"dynamicFlows.ControlFeedback.type": "
|
|
26
|
+
"dynamicFlows.ControlFeedback.type": "类型错误",
|
|
27
27
|
"dynamicFlows.DynamicExternal.retryTitle": "重新打开窗口",
|
|
28
28
|
"dynamicFlows.DynamicParagraph.copied": "已复制到剪贴板",
|
|
29
29
|
"dynamicFlows.DynamicParagraph.copy": "复制",
|
|
30
|
-
"dynamicFlows.ErrorBoundary.errorAlert": "
|
|
30
|
+
"dynamicFlows.ErrorBoundary.errorAlert": "糟糕。出错了…",
|
|
31
31
|
"dynamicFlows.ErrorBoundary.retry": "重试",
|
|
32
32
|
"dynamicFlows.ExternalConfirmation.cancel": "取消",
|
|
33
|
-
"dynamicFlows.ExternalConfirmation.description": "
|
|
34
|
-
"dynamicFlows.ExternalConfirmation.open": "
|
|
35
|
-
"dynamicFlows.ExternalConfirmation.title": "
|
|
33
|
+
"dynamicFlows.ExternalConfirmation.description": "请确认您是否要在新标签页中打开**{origin}**。",
|
|
34
|
+
"dynamicFlows.ExternalConfirmation.open": "在新标签页中打开",
|
|
35
|
+
"dynamicFlows.ExternalConfirmation.title": "请确认",
|
|
36
36
|
"dynamicFlows.Help.ariaLabel": "点击此处获取更多信息。",
|
|
37
37
|
"dynamicFlows.MultipleFileUploadSchema.maxFileSizeError": "抱歉,该文件太大。请上传一个更小的文件。",
|
|
38
|
-
"dynamicFlows.MultipleFileUploadSchema.maxItemsError": "
|
|
39
|
-
"dynamicFlows.MultipleFileUploadSchema.minItemsError": "
|
|
40
|
-
"dynamicFlows.PersistAsyncSchema.genericError": "
|
|
38
|
+
"dynamicFlows.MultipleFileUploadSchema.maxItemsError": "请上传不超过 {maxItems} 个文件。",
|
|
39
|
+
"dynamicFlows.MultipleFileUploadSchema.minItemsError": "请上传至少 {minItems} 个文件。",
|
|
40
|
+
"dynamicFlows.PersistAsyncSchema.genericError": "出错了,请稍后再试!",
|
|
41
41
|
"dynamicFlows.ReadOnlySchema.no": "否",
|
|
42
42
|
"dynamicFlows.ReadOnlySchema.yes": "是"
|
|
43
43
|
}
|
package/build/main.css
CHANGED
|
@@ -129,26 +129,6 @@
|
|
|
129
129
|
.df-back-btn:active .tw-avatar__content {
|
|
130
130
|
background-color: var(--color-background-neutral-active);
|
|
131
131
|
}
|
|
132
|
-
#camera-not-supported {
|
|
133
|
-
background-color: #fff;
|
|
134
|
-
height: 100%;
|
|
135
|
-
left: 0;
|
|
136
|
-
overflow: scroll;
|
|
137
|
-
position: fixed;
|
|
138
|
-
top: 0;
|
|
139
|
-
width: 100%;
|
|
140
|
-
z-index: 10000;
|
|
141
|
-
}
|
|
142
|
-
#no-camera-access {
|
|
143
|
-
background-color: #fff;
|
|
144
|
-
height: 100%;
|
|
145
|
-
left: 0;
|
|
146
|
-
overflow: scroll;
|
|
147
|
-
position: fixed;
|
|
148
|
-
top: 0;
|
|
149
|
-
width: 100%;
|
|
150
|
-
z-index: 10000;
|
|
151
|
-
}
|
|
152
132
|
.orientation-lock-overlay {
|
|
153
133
|
display: none;
|
|
154
134
|
position: fixed;
|