@wise/dynamic-flow-client 3.3.2 → 3.4.0-experimental-ed080a1

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 (168) hide show
  1. package/build/common/httpClientContext/HttpClientContext.js +35 -0
  2. package/build/common/httpClientContext/index.js +1 -0
  3. package/build/common/makeHttpClient/index.js +1 -0
  4. package/build/common/makeHttpClient/makeHttpClient.js +34 -0
  5. package/build/common/messages/generic-error.messages.js +18 -0
  6. package/build/common/messages/help.messages.js +8 -0
  7. package/build/common/messages/multi-file-upload.messages.js +18 -0
  8. package/build/common/messages/paragraph.messages.js +13 -0
  9. package/build/common/messages/repeatable.messages.js +23 -0
  10. package/build/common/messages/validation.array.messages.js +13 -0
  11. package/build/common/messages/validation.messages.js +53 -0
  12. package/build/common/utils/api-utils.js +4 -0
  13. package/build/legacy/common/constants/DateMode.js +4 -0
  14. package/build/legacy/common/constants/FeatureName.js +4 -0
  15. package/build/legacy/common/constants/FormControlType.js +21 -0
  16. package/build/legacy/common/constants/MonthFormat.js +4 -0
  17. package/build/legacy/common/constants/Size.js +7 -0
  18. package/build/legacy/common/constants/index.js +4 -0
  19. package/build/legacy/common/contexts/dynamicFlowContexts/DynamicFlowContexts.js +36 -0
  20. package/build/legacy/common/contexts/dynamicFlowContexts/usePendingPromiseCounter.js +13 -0
  21. package/build/legacy/common/contexts/eventsContext/EventsContext.js +38 -0
  22. package/build/legacy/common/contexts/featureContext/FeatureContext.js +22 -0
  23. package/build/legacy/common/contexts/index.js +3 -0
  24. package/build/legacy/common/contexts/logContext/LogContext.js +44 -0
  25. package/build/legacy/common/hooks/index.js +7 -0
  26. package/build/legacy/common/hooks/useDebouncedFunction/useDebouncedFunction.js +9 -0
  27. package/build/legacy/common/hooks/useExternal/useExternal.js +15 -0
  28. package/build/legacy/common/hooks/useExternalStepPolling/useExternalStepPolling.js +70 -0
  29. package/build/legacy/common/hooks/usePersistAsync/usePersistAsync.js +172 -0
  30. package/build/legacy/common/hooks/usePolling/usePolling.js +51 -0
  31. package/build/legacy/common/hooks/usePrevious/usePrevious.js +8 -0
  32. package/build/legacy/common/hooks/useStepPolling/useStepPolling.js +43 -0
  33. package/build/legacy/common/messages.js +8 -0
  34. package/build/legacy/common/utils/api-utils.js +6 -0
  35. package/build/legacy/common/utils/date-utils.js +22 -0
  36. package/build/legacy/common/utils/debounce.js +38 -0
  37. package/build/legacy/common/utils/file-utils.js +45 -0
  38. package/build/legacy/common/utils/id-utils.js +5 -0
  39. package/build/legacy/common/utils/index.js +11 -0
  40. package/build/legacy/common/utils/is-equal.js +21 -0
  41. package/build/legacy/common/utils/misc-utils.js +4 -0
  42. package/build/legacy/common/utils/mobile-utils.js +23 -0
  43. package/build/legacy/common/utils/model-utils.js +33 -0
  44. package/build/legacy/common/utils/schema-utils.js +97 -0
  45. package/build/legacy/common/utils/step-utils.js +32 -0
  46. package/build/legacy/common/validators/index.js +5 -0
  47. package/build/legacy/common/validators/models/model-utils.js +119 -0
  48. package/build/legacy/common/validators/models/model-validators.js +62 -0
  49. package/build/legacy/common/validators/schemas/schema-validators.js +101 -0
  50. package/build/legacy/common/validators/types/type-validators.js +14 -0
  51. package/build/legacy/common/validators/validationFailures/validation-failures.js +139 -0
  52. package/build/legacy/common/validators/validationFailures/validation-failures.utils.js +40 -0
  53. package/build/legacy/common/validators/values/value-validators.js +6 -0
  54. package/build/legacy/dynamic-flow-types.js +1 -0
  55. package/build/legacy/dynamicFlow/BackButton.js +22 -0
  56. package/build/legacy/dynamicFlow/DynamicFlowStep.js +37 -0
  57. package/build/legacy/formControl/FormControl.js +266 -0
  58. package/build/legacy/formControl/index.js +1 -0
  59. package/build/legacy/formControl/utils/getAutocompleteString.js +80 -0
  60. package/build/legacy/formControl/utils/index.js +2 -0
  61. package/build/legacy/formControl/utils/value-utils.js +108 -0
  62. package/build/legacy/jsonSchemaForm/allOfSchema/AllOfSchema.js +50 -0
  63. package/build/legacy/jsonSchemaForm/allOfSchema/index.js +1 -0
  64. package/build/legacy/jsonSchemaForm/arrayTypeSchema/ArraySchema.js +25 -0
  65. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/ArrayListSchema.js +30 -0
  66. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/MultipleFileUploadSchema.js +141 -0
  67. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/index.js +1 -0
  68. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/index.js +2 -0
  69. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/upload-utils.js +79 -0
  70. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/useFormattedDefaultErrorMessages.js +14 -0
  71. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/ItemSummary.js +7 -0
  72. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchema.js +134 -0
  73. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchemaStep.js +85 -0
  74. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/utils/summary-utils.js +135 -0
  75. package/build/legacy/jsonSchemaForm/arrayTypeSchema/index.js +1 -0
  76. package/build/legacy/jsonSchemaForm/basicTypeSchema/BasicTypeSchema.js +111 -0
  77. package/build/legacy/jsonSchemaForm/basicTypeSchema/index.js +1 -0
  78. package/build/legacy/jsonSchemaForm/controlFeedback/ControlFeedback.js +86 -0
  79. package/build/legacy/jsonSchemaForm/controlFeedback/index.js +1 -0
  80. package/build/legacy/jsonSchemaForm/help/Help.js +20 -0
  81. package/build/legacy/jsonSchemaForm/help/index.js +1 -0
  82. package/build/legacy/jsonSchemaForm/objectSchema/ObjectSchema.js +77 -0
  83. package/build/legacy/jsonSchemaForm/objectSchema/index.js +1 -0
  84. package/build/legacy/jsonSchemaForm/oneOfSchema/OneOfSchema.js +155 -0
  85. package/build/legacy/jsonSchemaForm/oneOfSchema/index.js +1 -0
  86. package/build/legacy/jsonSchemaForm/oneOfSchema/utils.js +68 -0
  87. package/build/legacy/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.js +26 -0
  88. package/build/legacy/jsonSchemaForm/persistAsyncSchema/index.js +1 -0
  89. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/PersistAsyncBasicSchema.js +165 -0
  90. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/index.js +1 -0
  91. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/PersistAsyncBlobSchema.js +131 -0
  92. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/UploadInputAdapter.js +31 -0
  93. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/index.js +1 -0
  94. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchema.js +72 -0
  95. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/index.js +1 -0
  96. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promoted-one-of-utils.js +8 -0
  97. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfCheckboxControl.js +27 -0
  98. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfControl.js +31 -0
  99. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfRadioControl.js +32 -0
  100. package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.js +54 -0
  101. package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.messages.js +13 -0
  102. package/build/legacy/jsonSchemaForm/readOnlySchema/index.js +1 -0
  103. package/build/legacy/jsonSchemaForm/schemaFormControl/SchemaFormControl.js +133 -0
  104. package/build/legacy/jsonSchemaForm/schemaFormControl/index.js +1 -0
  105. package/build/legacy/jsonSchemaForm/schemaFormControl/utils/index.js +1 -0
  106. package/build/legacy/jsonSchemaForm/schemaFormControl/utils/mapping-utils.js +107 -0
  107. package/build/legacy/layout/DynamicLayout.js +68 -0
  108. package/build/legacy/layout/alert/DynamicAlert.js +29 -0
  109. package/build/legacy/layout/box/DynamicBox.js +41 -0
  110. package/build/legacy/layout/button/DynamicButton.js +27 -0
  111. package/build/legacy/layout/button/utils.js +45 -0
  112. package/build/legacy/layout/columns/DynamicColumns.js +38 -0
  113. package/build/legacy/layout/decision/DynamicDecision.js +21 -0
  114. package/build/legacy/layout/divider/DynamicDivider.js +9 -0
  115. package/build/legacy/layout/external/DynamicExternal.js +32 -0
  116. package/build/legacy/layout/external/DynamicExternal.messages.js +8 -0
  117. package/build/legacy/layout/form/DynamicForm.js +22 -0
  118. package/build/legacy/layout/heading/DynamicHeading.js +51 -0
  119. package/build/legacy/layout/icon/DynamicIcon.js +17 -0
  120. package/build/legacy/layout/icon/FlagIcon.js +198 -0
  121. package/build/legacy/layout/icon/NamedIcon.js +19 -0
  122. package/build/legacy/layout/image/DynamicImage.js +111 -0
  123. package/build/legacy/layout/index.js +20 -0
  124. package/build/legacy/layout/instructions/DynamicInstructions.js +30 -0
  125. package/build/legacy/layout/list/DynamicStatusList.js +37 -0
  126. package/build/legacy/layout/loadingIndicator/DynamicLoadingIndicator.js +11 -0
  127. package/build/legacy/layout/markdown/DynamicMarkdown.js +23 -0
  128. package/build/legacy/layout/modal/DynamicModal.js +26 -0
  129. package/build/legacy/layout/paragraph/DynamicParagraph.js +46 -0
  130. package/build/legacy/layout/paragraph/useSnackBarIfAvailable.js +9 -0
  131. package/build/legacy/layout/review/DynamicReview.js +58 -0
  132. package/build/legacy/layout/search/DynamicSearch.js +58 -0
  133. package/build/legacy/layout/search/SearchInput.js +17 -0
  134. package/build/legacy/layout/search/SearchResults.js +31 -0
  135. package/build/legacy/layout/search/useSearch.js +137 -0
  136. package/build/legacy/layout/utils/getNavigationOptionMedia.js +28 -0
  137. package/build/legacy/layout/utils/index.js +32 -0
  138. package/build/legacy/step/cameraStep/CameraStep.js +124 -0
  139. package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.js +161 -0
  140. package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.messages.js +58 -0
  141. package/build/legacy/step/cameraStep/cameraCapture/components/bottomBar/BottomBar.js +28 -0
  142. package/build/legacy/step/cameraStep/cameraCapture/components/index.js +3 -0
  143. package/build/legacy/step/cameraStep/cameraCapture/components/orientationLockOverlay/OrientationLockOverlay.js +19 -0
  144. package/build/legacy/step/cameraStep/cameraCapture/components/orientationLockOverlay/OrientationLockOverlay.messages.js +8 -0
  145. package/build/legacy/step/cameraStep/cameraCapture/hooks/useFullScreenOrientationLock.js +60 -0
  146. package/build/legacy/step/cameraStep/cameraCapture/hooks/useVideoConstraints.js +80 -0
  147. package/build/legacy/step/cameraStep/cameraCapture/index.js +1 -0
  148. package/build/legacy/step/cameraStep/cameraCapture/overlay/Overlay.js +77 -0
  149. package/build/legacy/step/cameraStep/cameraCapture/screens/cameraErrorScreen/CameraErrorScreen.js +18 -0
  150. package/build/legacy/step/cameraStep/cameraCapture/screens/index.js +1 -0
  151. package/build/legacy/step/cameraStep/cameraCapture/tracking/index.js +109 -0
  152. package/build/legacy/step/cameraStep/cameraCapture/types/index.js +7 -0
  153. package/build/legacy/step/cameraStep/cameraCapture/utils/index.js +107 -0
  154. package/build/legacy/step/cameraStep/index.js +1 -0
  155. package/build/legacy/step/externalConfirmationStep/ExternalConfirmationStep.js +64 -0
  156. package/build/legacy/step/externalConfirmationStep/ExternalConfirmationStep.messages.js +23 -0
  157. package/build/legacy/step/externalConfirmationStep/index.js +1 -0
  158. package/build/legacy/step/index.js +3 -0
  159. package/build/legacy/step/layoutStep/LayoutStep.js +33 -0
  160. package/build/legacy/step/layoutStep/index.js +1 -0
  161. package/build/legacy/step/layoutStep/utils/index.js +2 -0
  162. package/build/legacy/step/layoutStep/utils/inline-reference-utils.js +105 -0
  163. package/build/legacy/step/layoutStep/utils/layout-utils.js +212 -0
  164. package/build/main.js +13 -28
  165. package/build/main.min.js +1 -1
  166. package/build/main.mjs +13 -28
  167. package/build/types/revamp/domain/features/events.d.ts +1 -1
  168. package/package.json +2 -2
@@ -0,0 +1,165 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { jsx as _jsx } from "react/jsx-runtime";
38
+ import { useEffect, useState } from 'react';
39
+ import { useIntl } from 'react-intl';
40
+ import { FormControlType } from '../../../common/constants';
41
+ import { useEventDispatcher } from '../../../common/contexts';
42
+ import { usePrevious } from '../../../common/hooks';
43
+ import { isEqual, isStatus2xx, isStatus422 } from '../../../common/utils';
44
+ import { isValidSchema, isNull, isObject } from '../../../common/validators';
45
+ import BasicTypeSchema from '../../basicTypeSchema';
46
+ import { getControlType } from '../../schemaFormControl/SchemaFormControl';
47
+ import messages from '../../../../common/messages/generic-error.messages';
48
+ import { useHttpClient } from '../../../../common/httpClientContext';
49
+ // TODO: LOW avoid type assertion below -- consider throwing if return value is not the expected type
50
+ export var getIdFromResponse = function (idProperty, response) {
51
+ return response[idProperty];
52
+ };
53
+ export var getErrorFromResponse = function (errorProperty, response) { var _a; return (_a = response.validation) === null || _a === void 0 ? void 0 : _a[errorProperty]; };
54
+ var controlTypesWithPersistOnChange = new Set([
55
+ FormControlType.RADIO,
56
+ FormControlType.SELECT,
57
+ FormControlType.DATELOOKUP,
58
+ FormControlType.FILE,
59
+ FormControlType.UPLOAD,
60
+ ]);
61
+ function PersistAsyncBasicSchema(props) {
62
+ var _this = this;
63
+ var schema = props.schema, required = props.required, submitted = props.submitted, errors = props.errors, onChange = props.onChange, onPersistAsync = props.onPersistAsync;
64
+ var intl = useIntl();
65
+ var httpClient = useHttpClient();
66
+ var onEvent = useEventDispatcher();
67
+ var _a = useState(null), persistAsyncModel = _a[0], setPersistAsyncModel = _a[1];
68
+ // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
69
+ var previousPersistAsyncModel = usePrevious(persistAsyncModel);
70
+ var _b = useState(null), persistAsyncError = _b[0], setPersistAsyncError = _b[1];
71
+ var _c = useState(false), fieldSubmitted = _c[0], setFieldSubmitted = _c[1];
72
+ var _d = useState(null), abortController = _d[0], setAbortController = _d[1];
73
+ useEffect(function () {
74
+ if (controlTypesWithPersistOnChange.has(
75
+ // TODO: LOW avoid type assertion below -- control type may be nullish. consider ?? ''
76
+ getControlType(schema.persistAsync.schema))) {
77
+ persistAsyncIfValid();
78
+ }
79
+ }, [persistAsyncModel]);
80
+ var setGenericPersistAsyncError = function () {
81
+ return setPersistAsyncError(intl.formatMessage(messages.genericErrorRetryHint));
82
+ };
83
+ var getPersistAsyncResponse = function (currentPersistAsyncModel, persistAsyncSpec) { return __awaiter(_this, void 0, void 0, function () {
84
+ var signal, requestBody, persistAsyncFetch, response, responseBody, _a, idProperty, param, id, validation, error, _b;
85
+ var _c;
86
+ return __generator(this, function (_d) {
87
+ switch (_d.label) {
88
+ case 0:
89
+ signal = abortCurrentRequestAndGetNewAbortSignal();
90
+ requestBody = (_c = {}, _c[persistAsyncSpec.param] = currentPersistAsyncModel, _c);
91
+ setFieldSubmitted(true); // persist async initiated implied the field has been submitted
92
+ _d.label = 1;
93
+ case 1:
94
+ _d.trys.push([1, 4, , 5]);
95
+ onEvent('Dynamic Flow - PersistAsync', { status: 'pending', schemaId: schema.$id });
96
+ persistAsyncFetch = httpClient(persistAsyncSpec.url, {
97
+ method: persistAsyncSpec.method,
98
+ headers: { 'Content-Type': 'application/json' },
99
+ body: JSON.stringify(requestBody),
100
+ signal: signal
101
+ });
102
+ onPersistAsync(persistAsyncFetch);
103
+ return [4 /*yield*/, persistAsyncFetch];
104
+ case 2:
105
+ response = _d.sent();
106
+ return [4 /*yield*/, response.json()];
107
+ case 3:
108
+ responseBody = _d.sent();
109
+ if (!isObject(responseBody)) {
110
+ throw new Error('Response is not an object');
111
+ }
112
+ _a = schema.persistAsync, idProperty = _a.idProperty, param = _a.param;
113
+ if (isStatus2xx(response.status)) {
114
+ id = getIdFromResponse(idProperty, responseBody);
115
+ onChange({ model: id, triggerSchema: schema, triggerModel: id });
116
+ }
117
+ else if (isStatus422(response.status)) {
118
+ validation = responseBody.validation;
119
+ error = (isObject(validation) && (validation === null || validation === void 0 ? void 0 : validation[param])) || null;
120
+ setPersistAsyncError(error);
121
+ onChange({ model: null, triggerSchema: schema, triggerModel: null });
122
+ }
123
+ else {
124
+ setGenericPersistAsyncError();
125
+ }
126
+ onEvent('Dynamic Flow - PersistAsync', { status: 'success', schemaId: schema.$id });
127
+ return [3 /*break*/, 5];
128
+ case 4:
129
+ _b = _d.sent();
130
+ onEvent('Dynamic Flow - PersistAsync', { status: 'failure', schemaId: schema.$id });
131
+ setGenericPersistAsyncError();
132
+ return [3 /*break*/, 5];
133
+ case 5: return [2 /*return*/];
134
+ }
135
+ });
136
+ }); };
137
+ var abortCurrentRequestAndGetNewAbortSignal = function () {
138
+ if (abortController) {
139
+ abortController.abort();
140
+ }
141
+ var newAbortController = new AbortController();
142
+ setAbortController(newAbortController);
143
+ return newAbortController.signal;
144
+ };
145
+ var persistAsyncIfValid = function () {
146
+ if (!isNull(persistAsyncModel) && !isEqual(persistAsyncModel, previousPersistAsyncModel)) {
147
+ void getPersistAsyncResponse(persistAsyncModel, schema.persistAsync);
148
+ }
149
+ };
150
+ var onBlur = function () {
151
+ persistAsyncIfValid();
152
+ };
153
+ var persistAsyncOnChange = function (_a) {
154
+ var newPersistAsyncModel = _a.model;
155
+ setPersistAsyncError(null);
156
+ if (isValidSchema(newPersistAsyncModel, schema.persistAsync.schema)) {
157
+ setPersistAsyncModel(newPersistAsyncModel);
158
+ }
159
+ };
160
+ return (_jsx(BasicTypeSchema, { required: required, submitted: submitted || fieldSubmitted, schema: schema.persistAsync.schema, errors: persistAsyncError || errors, model: null, infoMessage: null, onChange: persistAsyncOnChange, onBlur: onBlur }));
161
+ }
162
+ PersistAsyncBasicSchema.defaultProps = {
163
+ required: false
164
+ };
165
+ export default PersistAsyncBasicSchema;
@@ -0,0 +1 @@
1
+ export { default } from './PersistAsyncBasicSchema';
@@ -0,0 +1,131 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
49
+ import classNames from 'classnames';
50
+ import { useEffect, useState } from 'react';
51
+ import { useEventDispatcher } from '../../../common/contexts';
52
+ import { isStatus422 } from '../../../common/utils';
53
+ import { getValidationFailures } from '../../../common/validators';
54
+ import ControlFeedback from '../../controlFeedback';
55
+ import { mapSchemaToUploadOptions } from '../../schemaFormControl/utils';
56
+ import { getIdFromResponse } from '../persistAsyncBasicSchema/PersistAsyncBasicSchema';
57
+ import { UploadInputAdapter } from './UploadInputAdapter';
58
+ import { useHttpClient } from '../../../../common/httpClientContext';
59
+ function PersistAsyncBlobSchema(props) {
60
+ var _this = this;
61
+ var model = props.model, schema = props.schema, submitted = props.submitted, required = props.required, errors = props.errors, onChange = props.onChange;
62
+ var _a = useState({}), persistAsyncValidationMessages = _a[0], setPersistAsyncValidationMessages = _a[1];
63
+ var _b = useState(null), persistAsyncValidations = _b[0], setPersistAsyncValidations = _b[1];
64
+ var _c = useState([]), validations = _c[0], setValidations = _c[1];
65
+ var _d = useState(false), changed = _d[0], setChanged = _d[1];
66
+ var httpClient = useHttpClient();
67
+ var onEvent = useEventDispatcher();
68
+ useEffect(function () {
69
+ if (submitted) {
70
+ setValidations(getValidationFailures(model, schema, Boolean(required)));
71
+ }
72
+ else {
73
+ setValidations([]);
74
+ }
75
+ }, [model, schema, submitted, required]);
76
+ var onSuccess = function (httpResponse, _fileName) { return __awaiter(_this, void 0, void 0, function () {
77
+ var jsonResponse, id;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0: return [4 /*yield*/, httpResponse.json()];
81
+ case 1:
82
+ jsonResponse = (_a.sent());
83
+ id = getIdFromResponse(schema.persistAsync.idProperty, jsonResponse);
84
+ onChange({ model: id, triggerSchema: schema, triggerModel: id });
85
+ setChanged(true);
86
+ onEvent('Dynamic Flow - PersistAsync', { status: 'success', schemaId: schema.$id });
87
+ return [2 /*return*/];
88
+ }
89
+ });
90
+ }); };
91
+ var onFailure = function (errorResponse) { return __awaiter(_this, void 0, void 0, function () {
92
+ var jsonResponse;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ if (!(errorResponse.response && isStatus422(errorResponse.response.status))) return [3 /*break*/, 2];
97
+ return [4 /*yield*/, errorResponse.response.json()];
98
+ case 1:
99
+ jsonResponse = (_a.sent());
100
+ setPersistAsyncValidationMessages(jsonResponse.validation || {});
101
+ setPersistAsyncValidations([schema.persistAsync.param]);
102
+ _a.label = 2;
103
+ case 2:
104
+ onChange({ model: null, triggerSchema: schema, triggerModel: null });
105
+ setChanged(true);
106
+ onEvent('Dynamic Flow - PersistAsync', { status: 'failure', schemaId: schema.$id });
107
+ return [2 /*return*/];
108
+ }
109
+ });
110
+ }); };
111
+ var onCancel = function () {
112
+ setPersistAsyncValidations(null);
113
+ onChange({ model: null, triggerSchema: schema, triggerModel: null });
114
+ setChanged(true);
115
+ };
116
+ var _e = schema.persistAsync, url = _e.url, method = _e.method;
117
+ var combinedValidations = persistAsyncValidations || validations;
118
+ var formGroupClasses = {
119
+ 'form-group': true,
120
+ 'has-error': (submitted || changed) && Boolean(combinedValidations.length)
121
+ };
122
+ var id = schema.$id || schema.persistAsync.schema.$id || schema.persistAsync.idProperty;
123
+ var feedbackId = "".concat(id, "-feedback");
124
+ return (_jsxs("div", __assign({ className: classNames(formGroupClasses) }, { children: [_jsx("div", __assign({ "aria-describedby": feedbackId }, { children: _jsx(UploadInputAdapter, __assign({ id: id,
125
+ // TODO: LOW avoid type assertion -- model can be null, but fileId must be number | string -- or maybe make fileId: string| number | undefined
126
+ fileId: model, idProperty: schema.persistAsync.idProperty, animationDelay: 0, maxSize: schema.persistAsync.schema.maxSize, usLabel: schema.title || schema.persistAsync.schema.title, usPlaceholder: schema.description || schema.persistAsync.schema.description, httpOptions: { url: url, method: method, fileInputName: schema.persistAsync.param }, httpClient: httpClient, onSuccess: onSuccess, onFailure: onFailure, onCancel: onCancel }, mapSchemaToUploadOptions(schema.persistAsync.schema))) })), _jsx(ControlFeedback, { id: feedbackId, blurred: true, focused: false, changed: changed, submitted: submitted, errors: errors, schema: schema, validations: combinedValidations, validationMessages: __assign({ required: 'Value is required...' }, persistAsyncValidationMessages), infoMessage: null })] })));
127
+ }
128
+ PersistAsyncBlobSchema.defaultProps = {
129
+ required: false
130
+ };
131
+ export default PersistAsyncBlobSchema;
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Status, UploadInput } from '@transferwise/components';
3
+ import { useMemo } from 'react';
4
+ import { useEventDispatcher } from '../../../common/contexts';
5
+ import { toKilobytes } from '../../../common/utils';
6
+ export function UploadInputAdapter(props) {
7
+ var id = props.id, _a = props.httpClient, httpClient = _a === void 0 ? fetch : _a, httpOptions = props.httpOptions, fileId = props.fileId, idProperty = props.idProperty, usAccept = props.usAccept, maxSize = props.maxSize, usPlaceholder = props.usPlaceholder, onSuccess = props.onSuccess, onFailure = props.onFailure, onCancel = props.onCancel;
8
+ var onEvent = useEventDispatcher();
9
+ var files = useMemo(function () { return (fileId ? [{ id: fileId, status: Status.SUCCEEDED }] : []); }, [fileId]);
10
+ var uploadFile = function (formData) {
11
+ onEvent('Dynamic Flow - PersistAsync', { status: 'pending', schemaId: id });
12
+ return httpClient(String(httpOptions.url), {
13
+ method: httpOptions.method || 'POST',
14
+ body: formData
15
+ }).then(function (response) {
16
+ if (response.ok) {
17
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response.clone());
18
+ return response.json().then(function (responseBody) { return ({
19
+ id: responseBody[idProperty]
20
+ }); });
21
+ }
22
+ onFailure === null || onFailure === void 0 ? void 0 : onFailure({ response: response });
23
+ // eslint-disable-next-line prefer-promise-reject-errors
24
+ return Promise.reject();
25
+ });
26
+ };
27
+ return (_jsx(UploadInput, { id: id, fileInputName: httpOptions.fileInputName, files: files, uploadButtonTitle: props.usLabel, sizeLimit: maxSize ? toKilobytes(maxSize) : undefined, fileTypes: usAccept, description: usPlaceholder, onUploadFile: uploadFile, onDeleteFile: function (_id) {
28
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
29
+ return Promise.resolve();
30
+ } }));
31
+ }
@@ -0,0 +1 @@
1
+ export { default } from './PersistAsyncBlobSchema';
@@ -0,0 +1,72 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
22
+ import { useState } from 'react';
23
+ import { DynamicAlert } from '../../layout';
24
+ import GenericSchema from '../genericSchema';
25
+ import ObjectSchema from '../objectSchema';
26
+ import { getSelectionFromModel } from './promoted-one-of-utils';
27
+ import PromotedOneOfControl from './promotedOneOfControl/PromotedOneOfControl';
28
+ var isPromoted = function (schema) { return schema.promoted === true; };
29
+ var PromotedOneOfSchema = function (props) {
30
+ var _a;
31
+ // TODO: LOW avoid type assertion -- actually non-null assertion operator: props.model!
32
+ var _b = useState(getSelectionFromModel(props.schema, props.model) ||
33
+ ((_a = props.schema.promotion) === null || _a === void 0 ? void 0 : _a["default"]) ||
34
+ 'promoted'), selection = _b[0], setSelection = _b[1];
35
+ var promotedAlert = props.schema.alert;
36
+ var promotedOneOf = props.schema.oneOf.find(isPromoted);
37
+ // TODO: LOW avoid type assertion -- actually non-null assertion operator
38
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
39
+ var promotedObjectSchema = getPromotedObjectSchema(promotedOneOf);
40
+ var otherOneOf = getOtherOneOf(props.schema);
41
+ return (_jsxs(_Fragment, { children: [promotedAlert && _jsx(DynamicAlert, { component: promotedAlert }), _jsx(PromotedOneOfControl, { id: props.schema.$id, title: props.schema.title,
42
+ // TODO: LOW avoid type assertion -- actually non-null assertion operator
43
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
44
+ promotedOneOf: promotedOneOf,
45
+ // TODO: LOW avoid type assertion -- actually non-null assertion operator
46
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
47
+ promotion: props.schema.promotion, selection: selection, setSelection: setSelection }), selection === 'promoted' && _jsx(ObjectSchema, __assign({}, props, { schema: promotedObjectSchema })), selection === 'other' && _jsx(GenericSchema, __assign({}, props, { schema: otherOneOf }))] }));
48
+ };
49
+ function getPromotedObjectSchema(promotedSchema) {
50
+ return __assign(__assign({}, promotedSchema), {
51
+ // We don't need to show these since they are already displayed in the radio option
52
+ title: undefined, description: undefined });
53
+ }
54
+ function getOtherOneOf(schema) {
55
+ var _a, _b, _c;
56
+ var other = ((_a = schema.promotion) === null || _a === void 0 ? void 0 : _a.displayTwice)
57
+ ? __spreadArray([], schema.oneOf, true) : schema.oneOf.filter(function (one) { return !isPromoted(one); });
58
+ var title = (_c = (_b = schema.promotion) === null || _b === void 0 ? void 0 : _b.other.heading) === null || _c === void 0 ? void 0 : _c.text;
59
+ if (other.length === 1) {
60
+ return __assign(__assign({}, other[0]), { title: title });
61
+ }
62
+ if (other.length > 1) {
63
+ return {
64
+ title: title,
65
+ oneOf: other,
66
+ // TODO: LOW avoid type assertion -- the spec does not recognise a `control` property in ObjectSchema
67
+ control: schema.control
68
+ };
69
+ }
70
+ return null;
71
+ }
72
+ export default PromotedOneOfSchema;
@@ -0,0 +1 @@
1
+ export { default } from './PromotedOneOfSchema';
@@ -0,0 +1,8 @@
1
+ import { getBestMatchingSchemaIndexForValue } from '../oneOfSchema/utils';
2
+ export var getSelectionFromModel = function (schema, model) {
3
+ var index = getBestMatchingSchemaIndexForValue(schema, model);
4
+ if (index !== null) {
5
+ return schema.oneOf[index].promoted ? 'promoted' : 'other';
6
+ }
7
+ return null;
8
+ };
@@ -0,0 +1,27 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { Checkbox } from '@transferwise/components';
14
+ var PromotedOneOfCheckboxControl = function (props) {
15
+ var id = props.id, selection = props.selection, setSelection = props.setSelection;
16
+ var _a = props.promotion, promoted = _a.promoted, other = _a.other, checkedMeans = _a.checkedMeans;
17
+ var title = checkedMeans === 'other' ? other.title : (promoted === null || promoted === void 0 ? void 0 : promoted.title) || props.promotedOneOf.title;
18
+ var selectionWhenChecked = checkedMeans === 'other' ? 'other' : 'promoted';
19
+ var selectionWhenUnchecked = checkedMeans === 'other' ? 'promoted' : 'other';
20
+ var checked = selection === selectionWhenChecked;
21
+ var toggleSelection = function () {
22
+ setSelection(checked ? selectionWhenUnchecked : selectionWhenChecked);
23
+ };
24
+ return (_jsx("div", __assign({ className: "form-group" }, { children: _jsx(Checkbox, { id: id, label: title, checked: checked, onChange: toggleSelection }) })));
25
+ };
26
+ PromotedOneOfCheckboxControl.defaultProps = {};
27
+ export default PromotedOneOfCheckboxControl;
@@ -0,0 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
13
+ import { generateRandomId } from '../../../common/utils';
14
+ import PromotedOneOfCheckboxControl from './PromotedOneOfCheckboxControl';
15
+ import PromotedOneOfRadioControl from './PromotedOneOfRadioControl';
16
+ function PromotedOneOfControl(props) {
17
+ var controlType = props.promotion.control || 'radio';
18
+ switch (controlType) {
19
+ case 'radio':
20
+ return _jsx(PromotedOneOfRadioControl, __assign({}, props));
21
+ case 'checkbox':
22
+ return _jsx(PromotedOneOfCheckboxControl, __assign({}, props));
23
+ default:
24
+ return _jsx(_Fragment, {});
25
+ }
26
+ }
27
+ PromotedOneOfControl.defaultProps = {
28
+ id: generateRandomId(),
29
+ title: undefined
30
+ };
31
+ export default PromotedOneOfControl;
@@ -0,0 +1,32 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { RadioGroup } from '@transferwise/components';
14
+ import { getAvatarPropertyForRadioOption } from '../../schemaFormControl/utils';
15
+ function PromotedOneOfRadioControl(props) {
16
+ var _a, _b;
17
+ var id = props.id, selection = props.selection, setSelection = props.setSelection, promotion = props.promotion, promotedOneOf = props.promotedOneOf, title = props.title;
18
+ var radios = [
19
+ __assign({ value: 'promoted',
20
+ // TODO: LOW avoid type assertion below: the expression may be nullish, but "label" cannot be
21
+ label: (((_a = promotion.promoted) === null || _a === void 0 ? void 0 : _a.title) || promotedOneOf.title), secondary: ((_b = promotion.promoted) === null || _b === void 0 ? void 0 : _b.description) || promotedOneOf.description }, getAvatarPropertyForRadioOption(promotedOneOf)),
22
+ __assign({ value: 'other', label: promotion.other.title, secondary: promotion.other.description }, getAvatarPropertyForRadioOption(promotion.other)),
23
+ ];
24
+ return (_jsxs("div", __assign({ className: "form-group" }, { children: [title && (_jsx("label", __assign({ className: "control-label", htmlFor: id }, { children: title }))), _jsx(RadioGroup, { name: "promoted-selection", selectedValue: selection, radios: radios,
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-expect-error -- TODO: avoid @ts-ignore -- apparently RadioGroup does not expect an id prop
27
+ id: id, onChange: setSelection })] })));
28
+ }
29
+ PromotedOneOfRadioControl.defaultProps = {
30
+ title: undefined
31
+ };
32
+ export default PromotedOneOfRadioControl;
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { DefinitionList, Layout } from '@transferwise/components';
3
+ import { useIntl } from 'react-intl';
4
+ import { isBasicSchema, isOneOfSchema } from '../../common/utils';
5
+ import { isBoolean } from '../../common/validators';
6
+ import { getAvatarPropertyForRadioOption } from '../schemaFormControl/utils';
7
+ import messages from './ReadOnlySchema.messages';
8
+ function ReadOnlySchema(_a) {
9
+ var schema = _a.schema, model = _a.model;
10
+ var _b = schema.title, title = _b === void 0 ? '' : _b;
11
+ var formatMessage = useIntl().formatMessage;
12
+ var value = getValueForSchema({ schema: schema, model: model, formatMessage: formatMessage });
13
+ // FIXME: This is a workaround for the fact that the DefinitionList component value prop doesn't match Model
14
+ return (_jsx(DefinitionList, { layout: Layout.VERTICAL_ONE_COLUMN, definitions: [{ title: title, value: value, key: '' }] }));
15
+ }
16
+ export default ReadOnlySchema;
17
+ function getValueForSchema(_a) {
18
+ var schema = _a.schema, model = _a.model, formatMessage = _a.formatMessage;
19
+ if (isBasicSchema(schema)) {
20
+ if (isOneOfSchema(schema)) {
21
+ return getValueFromOneOfSchema(schema, model);
22
+ // eslint-disable-next-line no-else-return
23
+ }
24
+ else {
25
+ // eslint-disable-next-line no-lonely-if
26
+ if (schema.type === 'boolean' && isBoolean(model)) {
27
+ return model ? formatMessage(messages.yes) : formatMessage(messages.no);
28
+ // eslint-disable-next-line no-else-return
29
+ }
30
+ else {
31
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
32
+ return (model && model.toString()) || '';
33
+ }
34
+ }
35
+ }
36
+ return '';
37
+ }
38
+ function getValueFromOneOfSchema(schema, model) {
39
+ var option = getSelectedOneOf(schema, model);
40
+ // FIXME Remove type assertion
41
+ return option ? getValueFromOption(option) : model;
42
+ }
43
+ function getSelectedOneOf(schema, model) {
44
+ return schema.oneOf.find(function (childSchema) {
45
+ return 'const' in childSchema ? model === childSchema["const"] : false;
46
+ });
47
+ }
48
+ function getValueFromOption(option) {
49
+ var text = option.title && option.description
50
+ ? "".concat(option.title, " - ").concat(option.description)
51
+ : option.title || '';
52
+ var icon = getAvatarPropertyForRadioOption({ icon: option.icon });
53
+ return (icon === null || icon === void 0 ? void 0 : icon.avatar) ? (_jsxs(_Fragment, { children: [icon.avatar, " ", text] })) : (text);
54
+ }
@@ -0,0 +1,13 @@
1
+ import { defineMessages } from 'react-intl';
2
+ export default defineMessages({
3
+ yes: {
4
+ id: 'dynamicFlows.ReadOnlySchema.yes',
5
+ defaultMessage: 'Yes',
6
+ description: 'Yes, used for boolean schemas with a value of true.'
7
+ },
8
+ no: {
9
+ id: 'dynamicFlows.ReadOnlySchema.no',
10
+ defaultMessage: 'No',
11
+ description: 'No: used for boolean schemas with a value of false.'
12
+ }
13
+ });
@@ -0,0 +1 @@
1
+ export { default } from './ReadOnlySchema';