@wise/dynamic-flow-client-internal 4.6.3 → 4.7.0-experimental-a9244bb

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.
@@ -0,0 +1,500 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/renderers.ts
31
+ var renderers_exports = {};
32
+ __export(renderers_exports, {
33
+ NavigationOptionMedia: () => NavigationOptionMedia
34
+ });
35
+ module.exports = __toCommonJS(renderers_exports);
36
+
37
+ // ../renderers/src/AlertRenderer.tsx
38
+ var import_components = require("@transferwise/components");
39
+ var import_jsx_runtime = require("react/jsx-runtime");
40
+
41
+ // ../renderers/src/components/FieldInput.tsx
42
+ var import_components3 = require("@transferwise/components");
43
+
44
+ // ../renderers/src/components/Help.tsx
45
+ var import_components2 = require("@transferwise/components");
46
+ var import_react_intl2 = require("react-intl");
47
+
48
+ // ../renderers/src/messages/help.messages.ts
49
+ var import_react_intl = require("react-intl");
50
+ var help_messages_default = (0, import_react_intl.defineMessages)({
51
+ helpAria: {
52
+ id: "df.wise.Help.ariaLabel",
53
+ defaultMessage: "Click here for more info.",
54
+ description: "Aria label for help."
55
+ }
56
+ });
57
+
58
+ // ../renderers/src/components/Help.tsx
59
+ var import_jsx_runtime2 = require("react/jsx-runtime");
60
+
61
+ // ../renderers/src/components/LabelContentWithHelp.tsx
62
+ var import_jsx_runtime3 = require("react/jsx-runtime");
63
+
64
+ // ../renderers/src/components/FieldInput.tsx
65
+ var import_jsx_runtime4 = require("react/jsx-runtime");
66
+
67
+ // ../renderers/src/CheckboxInputRenderer.tsx
68
+ var import_components4 = require("@transferwise/components");
69
+ var import_jsx_runtime5 = require("react/jsx-runtime");
70
+
71
+ // ../renderers/src/BoxRenderer.tsx
72
+ var import_classnames = __toESM(require("classnames"));
73
+ var import_jsx_runtime6 = require("react/jsx-runtime");
74
+
75
+ // ../renderers/src/ButtonRenderer.tsx
76
+ var import_components5 = require("@transferwise/components");
77
+ var import_jsx_runtime7 = require("react/jsx-runtime");
78
+
79
+ // ../renderers/src/ColumnsRenderer.tsx
80
+ var import_classnames2 = __toESM(require("classnames"));
81
+ var import_jsx_runtime8 = require("react/jsx-runtime");
82
+
83
+ // ../renderers/src/components/VariableDateInput.tsx
84
+ var import_components6 = require("@transferwise/components");
85
+
86
+ // ../renderers/src/validators/type-validators.ts
87
+ var isNull = (value) => value === null;
88
+ var isUndefined = (value) => typeof value === "undefined";
89
+ var isNullish = (v) => isNull(v) || isUndefined(v);
90
+
91
+ // ../renderers/src/components/VariableDateInput.tsx
92
+ var import_jsx_runtime9 = require("react/jsx-runtime");
93
+
94
+ // ../renderers/src/DateInputRenderer.tsx
95
+ var import_jsx_runtime10 = require("react/jsx-runtime");
96
+
97
+ // ../renderers/src/DecisionRenderer.tsx
98
+ var import_components8 = require("@transferwise/components");
99
+
100
+ // ../renderers/src/components/icon/FlagIcon.tsx
101
+ var import_art = require("@wise/art");
102
+ var import_jsx_runtime11 = require("react/jsx-runtime");
103
+ var isFlagIcon = (name) => name.startsWith("flag-");
104
+ function FlagIcon({ name }) {
105
+ if (!isFlagIcon(name)) {
106
+ return null;
107
+ }
108
+ const code = name.substring(5);
109
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_art.Flag, { code });
110
+ }
111
+
112
+ // ../renderers/src/components/icon/NamedIcon.tsx
113
+ var icons = __toESM(require("@transferwise/icons"));
114
+ var import_jsx_runtime12 = require("react/jsx-runtime");
115
+ var isNamedIcon = (name) => {
116
+ const iconName = toCapitalisedCamelCase(name);
117
+ return Object.keys(icons).includes(iconName);
118
+ };
119
+ function NamedIcon({ name }) {
120
+ if (!isNamedIcon(name)) {
121
+ return null;
122
+ }
123
+ const iconName = toCapitalisedCamelCase(name);
124
+ const Icon = icons[iconName];
125
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, { size: 24 });
126
+ }
127
+ var toCapitalisedCamelCase = (value) => value.split("-").map(capitaliseFirstChar).join("");
128
+ var capitaliseFirstChar = (value) => `${value[0].toUpperCase()}${value.slice(1)}`;
129
+
130
+ // ../renderers/src/components/icon/DynamicIcon.tsx
131
+ var import_jsx_runtime13 = require("react/jsx-runtime");
132
+ function DynamicIcon({ name }) {
133
+ if (isFlagIcon(name)) {
134
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FlagIcon, { name });
135
+ }
136
+ if (isNamedIcon(name)) {
137
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(NamedIcon, { name });
138
+ }
139
+ return null;
140
+ }
141
+ var DynamicIcon_default = DynamicIcon;
142
+
143
+ // ../renderers/src/components/icon/NavigationOptionMedia.tsx
144
+ var import_components7 = require("@transferwise/components");
145
+ var import_jsx_runtime14 = require("react/jsx-runtime");
146
+ function NavigationOptionMedia({ icon, image }) {
147
+ const iconNode = getIconNode(icon);
148
+ const imageNode = getImageNode(image);
149
+ if (imageNode) {
150
+ if (iconNode) {
151
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_components7.AvatarView, { badge: { asset: iconNode }, children: imageNode });
152
+ }
153
+ return imageNode;
154
+ }
155
+ if (iconNode) {
156
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_components7.AvatarView, { children: iconNode });
157
+ }
158
+ return null;
159
+ }
160
+ var getIconNode = (icon) => {
161
+ if (!isNullish(icon)) {
162
+ if ("name" in icon) {
163
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DynamicIcon_default, { name: icon.name });
164
+ }
165
+ if (icon.text) {
166
+ return icon.text;
167
+ }
168
+ }
169
+ return null;
170
+ };
171
+ var getImageNode = (image) => {
172
+ if (image) {
173
+ const { accessibilityDescription, uri } = image;
174
+ if (!uri.startsWith("urn:")) {
175
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("img", { src: uri, alt: accessibilityDescription });
176
+ }
177
+ }
178
+ return null;
179
+ };
180
+
181
+ // ../renderers/src/DecisionRenderer.tsx
182
+ var import_jsx_runtime15 = require("react/jsx-runtime");
183
+
184
+ // ../renderers/src/DividerRenderer.tsx
185
+ var import_jsx_runtime16 = require("react/jsx-runtime");
186
+
187
+ // ../renderers/src/FormRenderer.tsx
188
+ var import_jsx_runtime17 = require("react/jsx-runtime");
189
+
190
+ // ../renderers/src/FormSectionRenderer.tsx
191
+ var import_components9 = require("@transferwise/components");
192
+ var import_jsx_runtime18 = require("react/jsx-runtime");
193
+
194
+ // ../renderers/src/HeadingRenderer.tsx
195
+ var import_components10 = require("@transferwise/components");
196
+ var import_jsx_runtime19 = require("react/jsx-runtime");
197
+
198
+ // ../renderers/src/ImageRenderer/UrlImage.tsx
199
+ var import_components11 = require("@transferwise/components");
200
+ var import_react = require("react");
201
+ var import_jsx_runtime20 = require("react/jsx-runtime");
202
+
203
+ // ../renderers/src/ImageRenderer/UrnIllustration.tsx
204
+ var import_art2 = require("@wise/art");
205
+ var import_jsx_runtime21 = require("react/jsx-runtime");
206
+
207
+ // ../renderers/src/ImageRenderer/UrnImage.tsx
208
+ var import_jsx_runtime22 = require("react/jsx-runtime");
209
+
210
+ // ../renderers/src/ImageRenderer/ImageRenderer.tsx
211
+ var import_jsx_runtime23 = require("react/jsx-runtime");
212
+
213
+ // ../renderers/src/InstructionsRenderer.tsx
214
+ var import_components12 = require("@transferwise/components");
215
+ var import_jsx_runtime24 = require("react/jsx-runtime");
216
+
217
+ // ../renderers/src/IntegerInputRenderer.tsx
218
+ var import_components14 = require("@transferwise/components");
219
+
220
+ // ../renderers/src/utils/getIconAvatar.tsx
221
+ var import_components13 = require("@transferwise/components");
222
+ var import_jsx_runtime25 = require("react/jsx-runtime");
223
+
224
+ // ../renderers/src/IntegerInputRenderer.tsx
225
+ var import_jsx_runtime26 = require("react/jsx-runtime");
226
+
227
+ // ../renderers/src/LoadingIndicatorRenderer.tsx
228
+ var import_components15 = require("@transferwise/components");
229
+ var import_jsx_runtime27 = require("react/jsx-runtime");
230
+
231
+ // ../renderers/src/MarkdownRenderer.tsx
232
+ var import_components16 = require("@transferwise/components");
233
+ var import_jsx_runtime28 = require("react/jsx-runtime");
234
+
235
+ // ../renderers/src/ModalRenderer.tsx
236
+ var import_components17 = require("@transferwise/components");
237
+ var import_react2 = require("react");
238
+ var import_jsx_runtime29 = require("react/jsx-runtime");
239
+
240
+ // ../renderers/src/MultiSelectInputRenderer.tsx
241
+ var import_components19 = require("@transferwise/components");
242
+
243
+ // ../renderers/src/SelectInputRenderer/OptionMedia.tsx
244
+ var import_components18 = require("@transferwise/components");
245
+ var import_jsx_runtime30 = require("react/jsx-runtime");
246
+
247
+ // ../renderers/src/MultiSelectInputRenderer.tsx
248
+ var import_react_intl4 = require("react-intl");
249
+
250
+ // ../renderers/src/messages/multi-select.messages.ts
251
+ var import_react_intl3 = require("react-intl");
252
+ var multi_select_messages_default = (0, import_react_intl3.defineMessages)({
253
+ summary: {
254
+ id: "df.wise.MultiSelect.summary",
255
+ defaultMessage: "{first} and {count} more",
256
+ description: "A summary of the multiple items selected. Showing the title of the first selected item, and the number of other items that have been selected."
257
+ }
258
+ });
259
+
260
+ // ../renderers/src/MultiSelectInputRenderer.tsx
261
+ var import_react3 = require("react");
262
+ var import_jsx_runtime31 = require("react/jsx-runtime");
263
+
264
+ // ../renderers/src/MultiUploadInputRenderer.tsx
265
+ var import_components21 = require("@transferwise/components");
266
+
267
+ // ../renderers/src/components/UploadFieldInput.tsx
268
+ var import_components20 = require("@transferwise/components");
269
+ var import_classnames3 = __toESM(require("classnames"));
270
+ var import_jsx_runtime32 = require("react/jsx-runtime");
271
+
272
+ // ../renderers/src/MultiUploadInputRenderer.tsx
273
+ var import_jsx_runtime33 = require("react/jsx-runtime");
274
+
275
+ // ../renderers/src/NumberInputRenderer.tsx
276
+ var import_components22 = require("@transferwise/components");
277
+ var import_jsx_runtime34 = require("react/jsx-runtime");
278
+
279
+ // ../renderers/src/ParagraphRenderer.tsx
280
+ var import_react_intl6 = require("react-intl");
281
+
282
+ // ../renderers/src/hooks/useSnackBarIfAvailable.ts
283
+ var import_components23 = require("@transferwise/components");
284
+ var import_react4 = require("react");
285
+
286
+ // ../renderers/src/ParagraphRenderer.tsx
287
+ var import_components24 = require("@transferwise/components");
288
+ var import_classnames4 = __toESM(require("classnames"));
289
+
290
+ // ../renderers/src/messages/paragraph.messages.ts
291
+ var import_react_intl5 = require("react-intl");
292
+ var paragraph_messages_default = (0, import_react_intl5.defineMessages)({
293
+ copy: {
294
+ id: "df.wise.DynamicParagraph.copy",
295
+ defaultMessage: "Copy",
296
+ description: "Copy to clipboard button label."
297
+ },
298
+ copied: {
299
+ id: "df.wise.DynamicParagraph.copied",
300
+ defaultMessage: "Copied to clipboard",
301
+ description: "Appears in a snackbar when the copy operation succeeds."
302
+ }
303
+ });
304
+
305
+ // ../renderers/src/ParagraphRenderer.tsx
306
+ var import_jsx_runtime35 = require("react/jsx-runtime");
307
+
308
+ // ../renderers/src/RepeatableRenderer.tsx
309
+ var import_components25 = require("@transferwise/components");
310
+ var import_react5 = require("react");
311
+ var import_icons = require("@transferwise/icons");
312
+ var import_react_intl8 = require("react-intl");
313
+
314
+ // ../renderers/src/messages/repeatable.messages.ts
315
+ var import_react_intl7 = require("react-intl");
316
+ var repeatable_messages_default = (0, import_react_intl7.defineMessages)({
317
+ addItemTitle: {
318
+ id: "df.wise.ArraySchema.addItemTitle",
319
+ defaultMessage: "Add Item",
320
+ description: "Label on the button used to open a form to add an item"
321
+ },
322
+ addItem: {
323
+ id: "df.wise.ArraySchema.addItem",
324
+ defaultMessage: "Save",
325
+ description: "Label on the add button used to submit a form that adds an item"
326
+ },
327
+ editItem: {
328
+ id: "df.wise.ArraySchema.editItem",
329
+ defaultMessage: "Save",
330
+ description: "Label on the edit button used to submit a form that edits an item"
331
+ },
332
+ removeItem: {
333
+ id: "df.wise.ArraySchema.removeItem",
334
+ defaultMessage: "Remove",
335
+ description: "Label on the remove button used to confirm deletion of an item"
336
+ }
337
+ });
338
+
339
+ // ../renderers/src/RepeatableRenderer.tsx
340
+ var import_classnames5 = __toESM(require("classnames"));
341
+ var import_jsx_runtime36 = require("react/jsx-runtime");
342
+
343
+ // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
344
+ var import_components27 = require("@transferwise/components");
345
+ var import_react6 = require("react");
346
+ var import_react_intl12 = require("react-intl");
347
+
348
+ // ../renderers/src/messages/search.messages.ts
349
+ var import_react_intl9 = require("react-intl");
350
+ var search_messages_default = (0, import_react_intl9.defineMessages)({
351
+ loading: {
352
+ id: "df.wise.SearchLayout.loading",
353
+ defaultMessage: "Loading...",
354
+ description: "A message shown to the user while their search is being processed, before results appear."
355
+ }
356
+ });
357
+
358
+ // ../renderers/src/SearchRenderer/ErrorResult.tsx
359
+ var import_react_intl11 = require("react-intl");
360
+
361
+ // ../renderers/src/messages/generic-error.messages.ts
362
+ var import_react_intl10 = require("react-intl");
363
+ var generic_error_messages_default = (0, import_react_intl10.defineMessages)({
364
+ genericErrorRetryHint: {
365
+ id: "df.wise.PersistAsyncSchema.genericError",
366
+ defaultMessage: "Something went wrong, please try again.",
367
+ description: "Generic error message for persist async schema"
368
+ },
369
+ genericError: {
370
+ id: "df.wise.ErrorBoundary.errorAlert",
371
+ defaultMessage: "Something went wrong.",
372
+ description: "Generic error message for when something has gone wrong."
373
+ },
374
+ retry: {
375
+ id: "df.wise.ErrorBoundary.retry",
376
+ defaultMessage: "Retry",
377
+ description: "Usually this follows the generic error and contains a link."
378
+ }
379
+ });
380
+
381
+ // ../renderers/src/SearchRenderer/ErrorResult.tsx
382
+ var import_components26 = require("@transferwise/components");
383
+ var import_jsx_runtime37 = require("react/jsx-runtime");
384
+
385
+ // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
386
+ var import_jsx_runtime38 = require("react/jsx-runtime");
387
+
388
+ // ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
389
+ var import_components28 = require("@transferwise/components");
390
+ var import_icons2 = require("@transferwise/icons");
391
+ var import_react7 = require("react");
392
+ var import_react_intl13 = require("react-intl");
393
+ var import_jsx_runtime39 = require("react/jsx-runtime");
394
+
395
+ // ../renderers/src/SearchRenderer/SearchRenderer.tsx
396
+ var import_jsx_runtime40 = require("react/jsx-runtime");
397
+
398
+ // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
399
+ var import_components29 = require("@transferwise/components");
400
+ var import_jsx_runtime41 = require("react/jsx-runtime");
401
+
402
+ // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
403
+ var import_components30 = require("@transferwise/components");
404
+ var import_react8 = require("react");
405
+ var import_jsx_runtime42 = require("react/jsx-runtime");
406
+
407
+ // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
408
+ var import_components31 = require("@transferwise/components");
409
+ var import_jsx_runtime43 = require("react/jsx-runtime");
410
+
411
+ // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
412
+ var import_react9 = require("react");
413
+ var import_components32 = require("@transferwise/components");
414
+ var import_jsx_runtime44 = require("react/jsx-runtime");
415
+
416
+ // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
417
+ var import_jsx_runtime45 = require("react/jsx-runtime");
418
+
419
+ // ../renderers/src/StatusListRenderer.tsx
420
+ var import_components33 = require("@transferwise/components");
421
+ var import_jsx_runtime46 = require("react/jsx-runtime");
422
+
423
+ // ../renderers/src/TextInputRenderer.tsx
424
+ var import_components35 = require("@transferwise/components");
425
+
426
+ // ../renderers/src/components/VariableTextInput.tsx
427
+ var import_components34 = require("@transferwise/components");
428
+ var import_jsx_runtime47 = require("react/jsx-runtime");
429
+
430
+ // ../renderers/src/TextInputRenderer.tsx
431
+ var import_jsx_runtime48 = require("react/jsx-runtime");
432
+
433
+ // ../renderers/src/UploadInputRenderer.tsx
434
+ var import_components36 = require("@transferwise/components");
435
+ var import_jsx_runtime49 = require("react/jsx-runtime");
436
+
437
+ // ../renderers/src/ReviewRenderer.tsx
438
+ var import_components37 = require("@transferwise/components");
439
+ var import_jsx_runtime50 = require("react/jsx-runtime");
440
+
441
+ // ../renderers/src/step/StepRenderer.tsx
442
+ var import_components40 = require("@transferwise/components");
443
+
444
+ // ../renderers/src/step/BackButton.tsx
445
+ var import_components38 = require("@transferwise/components");
446
+ var import_icons3 = require("@transferwise/icons");
447
+ var import_jsx_runtime51 = require("react/jsx-runtime");
448
+
449
+ // ../renderers/src/step/ExternalConfirmationDialog.tsx
450
+ var import_react_intl15 = require("react-intl");
451
+
452
+ // ../renderers/src/messages/external-confirmation.messages.ts
453
+ var import_react_intl14 = require("react-intl");
454
+ var external_confirmation_messages_default = (0, import_react_intl14.defineMessages)({
455
+ title: {
456
+ id: "df.wise.ExternalConfirmation.title",
457
+ defaultMessage: "Please confirm",
458
+ description: "Heading for the confirmation screen."
459
+ },
460
+ description: {
461
+ id: "df.wise.ExternalConfirmation.description",
462
+ defaultMessage: "Please confirm you want to open **{origin}** in a new browser tab.",
463
+ description: "Description for the confirmation screen."
464
+ },
465
+ open: {
466
+ id: "df.wise.ExternalConfirmation.open",
467
+ defaultMessage: "Open in new tab",
468
+ description: "Button text confirming opening a new browser tab."
469
+ },
470
+ cancel: {
471
+ id: "df.wise.ExternalConfirmation.cancel",
472
+ defaultMessage: "Cancel",
473
+ description: "Button text rejecting opening a new browser tab."
474
+ }
475
+ });
476
+
477
+ // ../renderers/src/step/ExternalConfirmationDialog.tsx
478
+ var import_components39 = require("@transferwise/components");
479
+ var import_jsx_runtime52 = require("react/jsx-runtime");
480
+
481
+ // ../renderers/src/step/useExternal.tsx
482
+ var import_react10 = require("react");
483
+
484
+ // ../renderers/src/step/StepRenderer.tsx
485
+ var import_jsx_runtime53 = require("react/jsx-runtime");
486
+
487
+ // ../renderers/src/ListRenderer.tsx
488
+ var import_components41 = require("@transferwise/components");
489
+ var import_classnames6 = __toESM(require("classnames"));
490
+ var import_jsx_runtime54 = require("react/jsx-runtime");
491
+
492
+ // ../renderers/src/step/SplashStepRenderer.tsx
493
+ var import_jsx_runtime55 = require("react/jsx-runtime");
494
+
495
+ // ../renderers/src/utils/useCustomTheme.ts
496
+ var import_components_theming = require("@wise/components-theming");
497
+ var import_react11 = require("react");
498
+
499
+ // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
500
+ var import_jsx_runtime56 = require("react/jsx-runtime");
@@ -0,0 +1,477 @@
1
+ // ../renderers/src/AlertRenderer.tsx
2
+ import { Alert } from "@transferwise/components";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ // ../renderers/src/components/FieldInput.tsx
6
+ import { Field } from "@transferwise/components";
7
+
8
+ // ../renderers/src/components/Help.tsx
9
+ import { Info, Markdown } from "@transferwise/components";
10
+ import { useIntl } from "react-intl";
11
+
12
+ // ../renderers/src/messages/help.messages.ts
13
+ import { defineMessages } from "react-intl";
14
+ var help_messages_default = defineMessages({
15
+ helpAria: {
16
+ id: "df.wise.Help.ariaLabel",
17
+ defaultMessage: "Click here for more info.",
18
+ description: "Aria label for help."
19
+ }
20
+ });
21
+
22
+ // ../renderers/src/components/Help.tsx
23
+ import { jsx as jsx2 } from "react/jsx-runtime";
24
+
25
+ // ../renderers/src/components/LabelContentWithHelp.tsx
26
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
27
+
28
+ // ../renderers/src/components/FieldInput.tsx
29
+ import { jsx as jsx4 } from "react/jsx-runtime";
30
+
31
+ // ../renderers/src/CheckboxInputRenderer.tsx
32
+ import { Checkbox } from "@transferwise/components";
33
+ import { jsx as jsx5 } from "react/jsx-runtime";
34
+
35
+ // ../renderers/src/BoxRenderer.tsx
36
+ import classNames from "classnames";
37
+ import { jsx as jsx6 } from "react/jsx-runtime";
38
+
39
+ // ../renderers/src/ButtonRenderer.tsx
40
+ import { Button } from "@transferwise/components";
41
+ import { jsx as jsx7 } from "react/jsx-runtime";
42
+
43
+ // ../renderers/src/ColumnsRenderer.tsx
44
+ import classNames2 from "classnames";
45
+ import { jsx as jsx8, jsxs as jsxs2 } from "react/jsx-runtime";
46
+
47
+ // ../renderers/src/components/VariableDateInput.tsx
48
+ import { DateInput, DateLookup } from "@transferwise/components";
49
+
50
+ // ../renderers/src/validators/type-validators.ts
51
+ var isNull = (value) => value === null;
52
+ var isUndefined = (value) => typeof value === "undefined";
53
+ var isNullish = (v) => isNull(v) || isUndefined(v);
54
+
55
+ // ../renderers/src/components/VariableDateInput.tsx
56
+ import { jsx as jsx9 } from "react/jsx-runtime";
57
+
58
+ // ../renderers/src/DateInputRenderer.tsx
59
+ import { jsx as jsx10 } from "react/jsx-runtime";
60
+
61
+ // ../renderers/src/DecisionRenderer.tsx
62
+ import { Header, NavigationOption, NavigationOptionsList } from "@transferwise/components";
63
+
64
+ // ../renderers/src/components/icon/FlagIcon.tsx
65
+ import { Flag } from "@wise/art";
66
+ import { jsx as jsx11 } from "react/jsx-runtime";
67
+ var isFlagIcon = (name) => name.startsWith("flag-");
68
+ function FlagIcon({ name }) {
69
+ if (!isFlagIcon(name)) {
70
+ return null;
71
+ }
72
+ const code = name.substring(5);
73
+ return /* @__PURE__ */ jsx11(Flag, { code });
74
+ }
75
+
76
+ // ../renderers/src/components/icon/NamedIcon.tsx
77
+ import * as icons from "@transferwise/icons";
78
+ import { jsx as jsx12 } from "react/jsx-runtime";
79
+ var isNamedIcon = (name) => {
80
+ const iconName = toCapitalisedCamelCase(name);
81
+ return Object.keys(icons).includes(iconName);
82
+ };
83
+ function NamedIcon({ name }) {
84
+ if (!isNamedIcon(name)) {
85
+ return null;
86
+ }
87
+ const iconName = toCapitalisedCamelCase(name);
88
+ const Icon = icons[iconName];
89
+ return /* @__PURE__ */ jsx12(Icon, { size: 24 });
90
+ }
91
+ var toCapitalisedCamelCase = (value) => value.split("-").map(capitaliseFirstChar).join("");
92
+ var capitaliseFirstChar = (value) => `${value[0].toUpperCase()}${value.slice(1)}`;
93
+
94
+ // ../renderers/src/components/icon/DynamicIcon.tsx
95
+ import { jsx as jsx13 } from "react/jsx-runtime";
96
+ function DynamicIcon({ name }) {
97
+ if (isFlagIcon(name)) {
98
+ return /* @__PURE__ */ jsx13(FlagIcon, { name });
99
+ }
100
+ if (isNamedIcon(name)) {
101
+ return /* @__PURE__ */ jsx13(NamedIcon, { name });
102
+ }
103
+ return null;
104
+ }
105
+ var DynamicIcon_default = DynamicIcon;
106
+
107
+ // ../renderers/src/components/icon/NavigationOptionMedia.tsx
108
+ import { AvatarView } from "@transferwise/components";
109
+ import { jsx as jsx14 } from "react/jsx-runtime";
110
+ function NavigationOptionMedia({ icon, image }) {
111
+ const iconNode = getIconNode(icon);
112
+ const imageNode = getImageNode(image);
113
+ if (imageNode) {
114
+ if (iconNode) {
115
+ return /* @__PURE__ */ jsx14(AvatarView, { badge: { asset: iconNode }, children: imageNode });
116
+ }
117
+ return imageNode;
118
+ }
119
+ if (iconNode) {
120
+ return /* @__PURE__ */ jsx14(AvatarView, { children: iconNode });
121
+ }
122
+ return null;
123
+ }
124
+ var getIconNode = (icon) => {
125
+ if (!isNullish(icon)) {
126
+ if ("name" in icon) {
127
+ return /* @__PURE__ */ jsx14(DynamicIcon_default, { name: icon.name });
128
+ }
129
+ if (icon.text) {
130
+ return icon.text;
131
+ }
132
+ }
133
+ return null;
134
+ };
135
+ var getImageNode = (image) => {
136
+ if (image) {
137
+ const { accessibilityDescription, uri } = image;
138
+ if (!uri.startsWith("urn:")) {
139
+ return /* @__PURE__ */ jsx14("img", { src: uri, alt: accessibilityDescription });
140
+ }
141
+ }
142
+ return null;
143
+ };
144
+
145
+ // ../renderers/src/DecisionRenderer.tsx
146
+ import { jsx as jsx15, jsxs as jsxs3 } from "react/jsx-runtime";
147
+
148
+ // ../renderers/src/DividerRenderer.tsx
149
+ import { jsx as jsx16 } from "react/jsx-runtime";
150
+
151
+ // ../renderers/src/FormRenderer.tsx
152
+ import { jsx as jsx17 } from "react/jsx-runtime";
153
+
154
+ // ../renderers/src/FormSectionRenderer.tsx
155
+ import { Header as Header2 } from "@transferwise/components";
156
+ import { jsx as jsx18, jsxs as jsxs4 } from "react/jsx-runtime";
157
+
158
+ // ../renderers/src/HeadingRenderer.tsx
159
+ import { Display } from "@transferwise/components";
160
+ import { jsx as jsx19 } from "react/jsx-runtime";
161
+
162
+ // ../renderers/src/ImageRenderer/UrlImage.tsx
163
+ import { Image } from "@transferwise/components";
164
+ import { useEffect, useState } from "react";
165
+ import { jsx as jsx20 } from "react/jsx-runtime";
166
+
167
+ // ../renderers/src/ImageRenderer/UrnIllustration.tsx
168
+ import {
169
+ Illustration,
170
+ Illustration3D,
171
+ isIllustrationSupport3D
172
+ } from "@wise/art";
173
+ import { jsx as jsx21 } from "react/jsx-runtime";
174
+
175
+ // ../renderers/src/ImageRenderer/UrnImage.tsx
176
+ import { jsx as jsx22 } from "react/jsx-runtime";
177
+
178
+ // ../renderers/src/ImageRenderer/ImageRenderer.tsx
179
+ import { jsx as jsx23 } from "react/jsx-runtime";
180
+
181
+ // ../renderers/src/InstructionsRenderer.tsx
182
+ import { Header as Header3, InstructionsList } from "@transferwise/components";
183
+ import { jsx as jsx24, jsxs as jsxs5 } from "react/jsx-runtime";
184
+
185
+ // ../renderers/src/IntegerInputRenderer.tsx
186
+ import { Input, InputGroup } from "@transferwise/components";
187
+
188
+ // ../renderers/src/utils/getIconAvatar.tsx
189
+ import { AvatarView as AvatarView2 } from "@transferwise/components";
190
+ import { jsx as jsx25 } from "react/jsx-runtime";
191
+
192
+ // ../renderers/src/IntegerInputRenderer.tsx
193
+ import { jsx as jsx26 } from "react/jsx-runtime";
194
+
195
+ // ../renderers/src/LoadingIndicatorRenderer.tsx
196
+ import { Loader } from "@transferwise/components";
197
+ import { jsx as jsx27 } from "react/jsx-runtime";
198
+
199
+ // ../renderers/src/MarkdownRenderer.tsx
200
+ import { Markdown as Markdown2 } from "@transferwise/components";
201
+ import { jsx as jsx28 } from "react/jsx-runtime";
202
+
203
+ // ../renderers/src/ModalRenderer.tsx
204
+ import { Button as Button2, Modal } from "@transferwise/components";
205
+ import { useState as useState2 } from "react";
206
+ import { jsx as jsx29, jsxs as jsxs6 } from "react/jsx-runtime";
207
+
208
+ // ../renderers/src/MultiSelectInputRenderer.tsx
209
+ import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
210
+
211
+ // ../renderers/src/SelectInputRenderer/OptionMedia.tsx
212
+ import { Avatar as Avatar2, AvatarType as AvatarType2 } from "@transferwise/components";
213
+ import { jsx as jsx30 } from "react/jsx-runtime";
214
+
215
+ // ../renderers/src/MultiSelectInputRenderer.tsx
216
+ import { useIntl as useIntl2 } from "react-intl";
217
+
218
+ // ../renderers/src/messages/multi-select.messages.ts
219
+ import { defineMessages as defineMessages2 } from "react-intl";
220
+ var multi_select_messages_default = defineMessages2({
221
+ summary: {
222
+ id: "df.wise.MultiSelect.summary",
223
+ defaultMessage: "{first} and {count} more",
224
+ description: "A summary of the multiple items selected. Showing the title of the first selected item, and the number of other items that have been selected."
225
+ }
226
+ });
227
+
228
+ // ../renderers/src/MultiSelectInputRenderer.tsx
229
+ import { useState as useState3 } from "react";
230
+ import { jsx as jsx31 } from "react/jsx-runtime";
231
+
232
+ // ../renderers/src/MultiUploadInputRenderer.tsx
233
+ import { UploadInput } from "@transferwise/components";
234
+
235
+ // ../renderers/src/components/UploadFieldInput.tsx
236
+ import { InlineAlert } from "@transferwise/components";
237
+ import classNames3 from "classnames";
238
+ import { jsx as jsx32, jsxs as jsxs7 } from "react/jsx-runtime";
239
+
240
+ // ../renderers/src/MultiUploadInputRenderer.tsx
241
+ import { jsx as jsx33 } from "react/jsx-runtime";
242
+
243
+ // ../renderers/src/NumberInputRenderer.tsx
244
+ import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
245
+ import { jsx as jsx34 } from "react/jsx-runtime";
246
+
247
+ // ../renderers/src/ParagraphRenderer.tsx
248
+ import { useIntl as useIntl3 } from "react-intl";
249
+
250
+ // ../renderers/src/hooks/useSnackBarIfAvailable.ts
251
+ import { SnackbarContext } from "@transferwise/components";
252
+ import { useContext } from "react";
253
+
254
+ // ../renderers/src/ParagraphRenderer.tsx
255
+ import { Button as Button3, Input as Input3 } from "@transferwise/components";
256
+ import classNames4 from "classnames";
257
+
258
+ // ../renderers/src/messages/paragraph.messages.ts
259
+ import { defineMessages as defineMessages3 } from "react-intl";
260
+ var paragraph_messages_default = defineMessages3({
261
+ copy: {
262
+ id: "df.wise.DynamicParagraph.copy",
263
+ defaultMessage: "Copy",
264
+ description: "Copy to clipboard button label."
265
+ },
266
+ copied: {
267
+ id: "df.wise.DynamicParagraph.copied",
268
+ defaultMessage: "Copied to clipboard",
269
+ description: "Appears in a snackbar when the copy operation succeeds."
270
+ }
271
+ });
272
+
273
+ // ../renderers/src/ParagraphRenderer.tsx
274
+ import { jsx as jsx35, jsxs as jsxs8 } from "react/jsx-runtime";
275
+
276
+ // ../renderers/src/RepeatableRenderer.tsx
277
+ import { Button as Button4, Header as Header4, Modal as Modal2, NavigationOption as NavigationOption2, InlineAlert as InlineAlert2 } from "@transferwise/components";
278
+ import { useState as useState4 } from "react";
279
+ import { Plus } from "@transferwise/icons";
280
+ import { useIntl as useIntl4 } from "react-intl";
281
+
282
+ // ../renderers/src/messages/repeatable.messages.ts
283
+ import { defineMessages as defineMessages4 } from "react-intl";
284
+ var repeatable_messages_default = defineMessages4({
285
+ addItemTitle: {
286
+ id: "df.wise.ArraySchema.addItemTitle",
287
+ defaultMessage: "Add Item",
288
+ description: "Label on the button used to open a form to add an item"
289
+ },
290
+ addItem: {
291
+ id: "df.wise.ArraySchema.addItem",
292
+ defaultMessage: "Save",
293
+ description: "Label on the add button used to submit a form that adds an item"
294
+ },
295
+ editItem: {
296
+ id: "df.wise.ArraySchema.editItem",
297
+ defaultMessage: "Save",
298
+ description: "Label on the edit button used to submit a form that edits an item"
299
+ },
300
+ removeItem: {
301
+ id: "df.wise.ArraySchema.removeItem",
302
+ defaultMessage: "Remove",
303
+ description: "Label on the remove button used to confirm deletion of an item"
304
+ }
305
+ });
306
+
307
+ // ../renderers/src/RepeatableRenderer.tsx
308
+ import classNames5 from "classnames";
309
+ import { Fragment, jsx as jsx36, jsxs as jsxs9 } from "react/jsx-runtime";
310
+
311
+ // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
312
+ import { Input as Input4, Markdown as Markdown3, NavigationOption as NavigationOption3, NavigationOptionsList as NavigationOptionsList2 } from "@transferwise/components";
313
+ import { useState as useState5 } from "react";
314
+ import { useIntl as useIntl6 } from "react-intl";
315
+
316
+ // ../renderers/src/messages/search.messages.ts
317
+ import { defineMessages as defineMessages5 } from "react-intl";
318
+ var search_messages_default = defineMessages5({
319
+ loading: {
320
+ id: "df.wise.SearchLayout.loading",
321
+ defaultMessage: "Loading...",
322
+ description: "A message shown to the user while their search is being processed, before results appear."
323
+ }
324
+ });
325
+
326
+ // ../renderers/src/SearchRenderer/ErrorResult.tsx
327
+ import { useIntl as useIntl5 } from "react-intl";
328
+
329
+ // ../renderers/src/messages/generic-error.messages.ts
330
+ import { defineMessages as defineMessages6 } from "react-intl";
331
+ var generic_error_messages_default = defineMessages6({
332
+ genericErrorRetryHint: {
333
+ id: "df.wise.PersistAsyncSchema.genericError",
334
+ defaultMessage: "Something went wrong, please try again.",
335
+ description: "Generic error message for persist async schema"
336
+ },
337
+ genericError: {
338
+ id: "df.wise.ErrorBoundary.errorAlert",
339
+ defaultMessage: "Something went wrong.",
340
+ description: "Generic error message for when something has gone wrong."
341
+ },
342
+ retry: {
343
+ id: "df.wise.ErrorBoundary.retry",
344
+ defaultMessage: "Retry",
345
+ description: "Usually this follows the generic error and contains a link."
346
+ }
347
+ });
348
+
349
+ // ../renderers/src/SearchRenderer/ErrorResult.tsx
350
+ import { Button as Button5 } from "@transferwise/components";
351
+ import { jsx as jsx37, jsxs as jsxs10 } from "react/jsx-runtime";
352
+
353
+ // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
354
+ import { Fragment as Fragment2, jsx as jsx38, jsxs as jsxs11 } from "react/jsx-runtime";
355
+
356
+ // ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
357
+ import { Markdown as Markdown4, Typeahead } from "@transferwise/components";
358
+ import { Search } from "@transferwise/icons";
359
+ import { useState as useState6 } from "react";
360
+ import { useIntl as useIntl7 } from "react-intl";
361
+ import { jsx as jsx39 } from "react/jsx-runtime";
362
+
363
+ // ../renderers/src/SearchRenderer/SearchRenderer.tsx
364
+ import { jsx as jsx40 } from "react/jsx-runtime";
365
+
366
+ // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
367
+ import { RadioGroup } from "@transferwise/components";
368
+ import { Fragment as Fragment3, jsx as jsx41, jsxs as jsxs12 } from "react/jsx-runtime";
369
+
370
+ // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
371
+ import { Tabs } from "@transferwise/components";
372
+ import { useEffect as useEffect2 } from "react";
373
+ import { Fragment as Fragment4, jsx as jsx42, jsxs as jsxs13 } from "react/jsx-runtime";
374
+
375
+ // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
376
+ import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
377
+ import { Fragment as Fragment5, jsx as jsx43, jsxs as jsxs14 } from "react/jsx-runtime";
378
+
379
+ // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
380
+ import { useEffect as useEffect3 } from "react";
381
+ import { SegmentedControl } from "@transferwise/components";
382
+ import { Fragment as Fragment6, jsx as jsx44, jsxs as jsxs15 } from "react/jsx-runtime";
383
+
384
+ // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
385
+ import { jsx as jsx45 } from "react/jsx-runtime";
386
+
387
+ // ../renderers/src/StatusListRenderer.tsx
388
+ import { Header as Header5, Summary } from "@transferwise/components";
389
+ import { jsx as jsx46, jsxs as jsxs16 } from "react/jsx-runtime";
390
+
391
+ // ../renderers/src/TextInputRenderer.tsx
392
+ import { InputGroup as InputGroup3 } from "@transferwise/components";
393
+
394
+ // ../renderers/src/components/VariableTextInput.tsx
395
+ import {
396
+ Input as Input5,
397
+ InputWithDisplayFormat,
398
+ PhoneNumberInput,
399
+ TextArea,
400
+ TextareaWithDisplayFormat
401
+ } from "@transferwise/components";
402
+ import { jsx as jsx47 } from "react/jsx-runtime";
403
+
404
+ // ../renderers/src/TextInputRenderer.tsx
405
+ import { jsx as jsx48 } from "react/jsx-runtime";
406
+
407
+ // ../renderers/src/UploadInputRenderer.tsx
408
+ import { Upload, UploadInput as UploadInput2 } from "@transferwise/components";
409
+ import { jsx as jsx49 } from "react/jsx-runtime";
410
+
411
+ // ../renderers/src/ReviewRenderer.tsx
412
+ import { DefinitionList, Header as Header6 } from "@transferwise/components";
413
+ import { Fragment as Fragment7, jsx as jsx50, jsxs as jsxs17 } from "react/jsx-runtime";
414
+
415
+ // ../renderers/src/step/StepRenderer.tsx
416
+ import { Alert as Alert2, Title } from "@transferwise/components";
417
+
418
+ // ../renderers/src/step/BackButton.tsx
419
+ import { AvatarView as AvatarView3 } from "@transferwise/components";
420
+ import { ArrowLeft } from "@transferwise/icons";
421
+ import { jsx as jsx51, jsxs as jsxs18 } from "react/jsx-runtime";
422
+
423
+ // ../renderers/src/step/ExternalConfirmationDialog.tsx
424
+ import { useIntl as useIntl8 } from "react-intl";
425
+
426
+ // ../renderers/src/messages/external-confirmation.messages.ts
427
+ import { defineMessages as defineMessages7 } from "react-intl";
428
+ var external_confirmation_messages_default = defineMessages7({
429
+ title: {
430
+ id: "df.wise.ExternalConfirmation.title",
431
+ defaultMessage: "Please confirm",
432
+ description: "Heading for the confirmation screen."
433
+ },
434
+ description: {
435
+ id: "df.wise.ExternalConfirmation.description",
436
+ defaultMessage: "Please confirm you want to open **{origin}** in a new browser tab.",
437
+ description: "Description for the confirmation screen."
438
+ },
439
+ open: {
440
+ id: "df.wise.ExternalConfirmation.open",
441
+ defaultMessage: "Open in new tab",
442
+ description: "Button text confirming opening a new browser tab."
443
+ },
444
+ cancel: {
445
+ id: "df.wise.ExternalConfirmation.cancel",
446
+ defaultMessage: "Cancel",
447
+ description: "Button text rejecting opening a new browser tab."
448
+ }
449
+ });
450
+
451
+ // ../renderers/src/step/ExternalConfirmationDialog.tsx
452
+ import { Button as Button6, Markdown as Markdown5 } from "@transferwise/components";
453
+ import { jsx as jsx52, jsxs as jsxs19 } from "react/jsx-runtime";
454
+
455
+ // ../renderers/src/step/useExternal.tsx
456
+ import { useEffect as useEffect4, useState as useState7 } from "react";
457
+
458
+ // ../renderers/src/step/StepRenderer.tsx
459
+ import { Fragment as Fragment8, jsx as jsx53, jsxs as jsxs20 } from "react/jsx-runtime";
460
+
461
+ // ../renderers/src/ListRenderer.tsx
462
+ import { Body, Header as Header7 } from "@transferwise/components";
463
+ import classNames6 from "classnames";
464
+ import { jsx as jsx54, jsxs as jsxs21 } from "react/jsx-runtime";
465
+
466
+ // ../renderers/src/step/SplashStepRenderer.tsx
467
+ import { jsx as jsx55, jsxs as jsxs22 } from "react/jsx-runtime";
468
+
469
+ // ../renderers/src/utils/useCustomTheme.ts
470
+ import { useTheme } from "@wise/components-theming";
471
+ import { useEffect as useEffect5, useMemo } from "react";
472
+
473
+ // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
474
+ import { jsx as jsx56, jsxs as jsxs23 } from "react/jsx-runtime";
475
+ export {
476
+ NavigationOptionMedia
477
+ };
@@ -0,0 +1 @@
1
+ export { NavigationOptionMedia } from '@wise/dynamic-flow-renderers';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-client-internal",
3
- "version": "4.6.3",
3
+ "version": "4.7.0-experimental-a9244bb",
4
4
  "description": "Dynamic Flow web client for Wise",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./build/main.js",
@@ -16,7 +16,12 @@
16
16
  "import": "./build/main.mjs",
17
17
  "require": "./build/main.js"
18
18
  },
19
- "./build/main.css": "./build/main.css"
19
+ "./build/main.css": "./build/main.css",
20
+ "./build/renderers": {
21
+ "types": "./build/types/renderers.d.ts",
22
+ "import": "./build/renderers.mjs",
23
+ "require": "./build/renderers.js"
24
+ }
20
25
  },
21
26
  "sideEffects": [
22
27
  "*.css"
@@ -83,8 +88,8 @@
83
88
  "typescript": "5.8.2",
84
89
  "webpack": "5.98.0",
85
90
  "@wise/dynamic-flow-fixtures": "0.0.1",
86
- "@wise/dynamic-flow-types": "3.1.2",
87
- "@wise/dynamic-flow-renderers": "0.0.0"
91
+ "@wise/dynamic-flow-renderers": "0.0.0",
92
+ "@wise/dynamic-flow-types": "3.1.2"
88
93
  },
89
94
  "peerDependencies": {
90
95
  "@transferwise/components": "^46.92.0",
@@ -99,7 +104,7 @@
99
104
  },
100
105
  "dependencies": {
101
106
  "classnames": "2.5.1",
102
- "@wise/dynamic-flow-client": "4.3.3",
107
+ "@wise/dynamic-flow-client": "4.3.2",
103
108
  "@wise/dynamic-flow-types": "3.1.2"
104
109
  },
105
110
  "scripts": {