@wise/dynamic-flow-client 0.1.1 → 0.1.3

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 (480) hide show
  1. package/build/common/api/utils.d.ts +4 -0
  2. package/build/common/api/utils.js +13 -0
  3. package/build/common/contexts/dynamicFlowContext/dynamicFlowContext.d.ts +11 -0
  4. package/build/common/contexts/dynamicFlowContext/dynamicFlowContext.js +36 -0
  5. package/build/common/contexts/dynamicFlowContext/usePendingPromiseCounter.d.ts +4 -0
  6. package/build/common/contexts/dynamicFlowContext/usePendingPromiseCounter.js +13 -0
  7. package/build/common/contexts/fetcherContext/fetcherContext.d.ts +18 -0
  8. package/build/common/contexts/fetcherContext/fetcherContext.js +35 -0
  9. package/build/common/contexts/fetcherContext/index.d.ts +2 -0
  10. package/build/common/contexts/fetcherContext/index.js +2 -0
  11. package/build/common/contexts/fetcherContext/makeFetcher.d.ts +2 -0
  12. package/build/common/contexts/fetcherContext/makeFetcher.js +33 -0
  13. package/build/common/general/index.d.ts +2 -0
  14. package/build/common/general/index.js +22 -0
  15. package/build/common/hooks/useDebouncedFunction.d.ts +2 -0
  16. package/build/common/hooks/useDebouncedFunction.js +9 -0
  17. package/build/common/hooks/useDebouncedFunction.test.d.ts +1 -0
  18. package/build/common/hooks/useDebouncedFunction.test.js +59 -0
  19. package/build/common/hooks/usePersistAsync.d.ts +7 -0
  20. package/build/common/hooks/usePersistAsync.js +170 -0
  21. package/build/common/hooks/usePolling.d.ts +11 -0
  22. package/build/common/hooks/usePolling.js +48 -0
  23. package/build/common/hooks/usePrevious.d.ts +2 -0
  24. package/build/common/hooks/usePrevious.js +9 -0
  25. package/build/common/index.d.ts +4 -0
  26. package/build/common/index.js +4 -0
  27. package/build/common/logging/index.d.ts +22 -0
  28. package/build/common/logging/index.js +39 -0
  29. package/build/common/logging/spec.d.ts +1 -0
  30. package/build/common/logging/spec.js +45 -0
  31. package/build/common/messages.d.ts +8 -0
  32. package/build/common/messages.js +8 -0
  33. package/build/common/propsValues/dateMode.d.ts +4 -0
  34. package/build/common/propsValues/dateMode.js +4 -0
  35. package/build/common/propsValues/formControlType.d.ts +17 -0
  36. package/build/common/propsValues/formControlType.js +17 -0
  37. package/build/common/propsValues/monthFormat.d.ts +4 -0
  38. package/build/common/propsValues/monthFormat.js +4 -0
  39. package/build/common/propsValues/size.d.ts +7 -0
  40. package/build/common/propsValues/size.js +7 -0
  41. package/build/common/requirements.d.ts +10 -0
  42. package/build/common/requirements.js +50 -0
  43. package/build/common/schemaTypes/schemaTypes.d.ts +23 -0
  44. package/build/common/schemaTypes/schemaTypes.js +53 -0
  45. package/build/common/schemaTypes/shouldDebounceSchema.d.ts +2 -0
  46. package/build/common/schemaTypes/shouldDebounceSchema.js +6 -0
  47. package/build/common/stepTypes/stepTypes.d.ts +7 -0
  48. package/build/common/stepTypes/stepTypes.js +42 -0
  49. package/build/common/tracking/index.d.ts +15 -0
  50. package/build/common/tracking/index.js +33 -0
  51. package/build/common/tracking/spec.d.ts +1 -0
  52. package/build/common/tracking/spec.js +49 -0
  53. package/build/common/utils/file-utils.d.ts +4 -0
  54. package/build/common/utils/file-utils.js +45 -0
  55. package/build/common/utils/generate-random-id.d.ts +1 -0
  56. package/build/common/utils/generate-random-id.js +5 -0
  57. package/build/common/utils/generate-random-id.test.d.ts +1 -0
  58. package/build/common/utils/generate-random-id.test.js +12 -0
  59. package/build/common/validation/rule-validators/index.d.ts +10 -0
  60. package/build/common/validation/rule-validators/index.js +40 -0
  61. package/build/common/validation/rule-validators/spec.d.ts +1 -0
  62. package/build/common/validation/rule-validators/spec.js +145 -0
  63. package/build/common/validation/schema-validators/index.d.ts +9 -0
  64. package/build/common/validation/schema-validators/index.js +98 -0
  65. package/build/common/validation/schema-validators/spec.d.ts +1 -0
  66. package/build/common/validation/schema-validators/spec.js +137 -0
  67. package/build/common/validation/valid-model/index.d.ts +5 -0
  68. package/build/common/validation/valid-model/index.js +64 -0
  69. package/build/common/validation/valid-model/spec.d.ts +1 -0
  70. package/build/common/validation/valid-model/spec.js +605 -0
  71. package/build/common/validation/valid-model/utils.d.ts +11 -0
  72. package/build/common/validation/valid-model/utils.js +118 -0
  73. package/build/common/validation/validation-failures/index.d.ts +23 -0
  74. package/build/common/validation/validation-failures/index.js +140 -0
  75. package/build/common/validation/validation-failures/spec.d.ts +1 -0
  76. package/build/common/validation/validation-failures/spec.js +185 -0
  77. package/build/dynamic-flow-types/Action.d.ts +19 -0
  78. package/build/dynamic-flow-types/Action.js +1 -0
  79. package/build/dynamic-flow-types/FileUploadSchema.d.ts +23 -0
  80. package/build/dynamic-flow-types/FileUploadSchema.js +3 -0
  81. package/build/dynamic-flow-types/LayoutComponent.d.ts +129 -0
  82. package/build/dynamic-flow-types/LayoutComponent.js +1 -0
  83. package/build/dynamic-flow-types/Model.d.ts +12 -0
  84. package/build/dynamic-flow-types/Model.js +28 -0
  85. package/build/dynamic-flow-types/PersistAsync.d.ts +8 -0
  86. package/build/dynamic-flow-types/PersistAsync.js +1 -0
  87. package/build/dynamic-flow-types/Polling.d.ts +12 -0
  88. package/build/dynamic-flow-types/Polling.js +1 -0
  89. package/build/dynamic-flow-types/Promotion.d.ts +20 -0
  90. package/build/dynamic-flow-types/Promotion.js +1 -0
  91. package/build/dynamic-flow-types/Schema.d.ts +184 -0
  92. package/build/dynamic-flow-types/Schema.js +49 -0
  93. package/build/dynamic-flow-types/Step.d.ts +127 -0
  94. package/build/dynamic-flow-types/Step.js +4 -0
  95. package/build/dynamic-flow-types/ValidationAsync.d.ts +6 -0
  96. package/build/dynamic-flow-types/ValidationAsync.js +1 -0
  97. package/build/dynamic-flow-types/core.d.ts +29 -0
  98. package/build/dynamic-flow-types/core.js +1 -0
  99. package/build/dynamic-flow-types/index.d.ts +14 -0
  100. package/build/dynamic-flow-types/index.js +12 -0
  101. package/build/field/Field.d.ts +69 -0
  102. package/build/field/Field.js +311 -0
  103. package/build/field/index.d.ts +2 -0
  104. package/build/field/index.js +2 -0
  105. package/build/flow/DynamicFlow.d.ts +4 -0
  106. package/build/flow/DynamicFlow.js +368 -0
  107. package/build/flow/DynamicFlowStep.d.ts +9 -0
  108. package/build/flow/DynamicFlowStep.js +32 -0
  109. package/build/flow/errorBoundary/ErrorBoundary.d.ts +20 -0
  110. package/build/flow/errorBoundary/ErrorBoundary.js +45 -0
  111. package/build/flow/errorBoundary/ErrorBoundary.messages.d.ts +13 -0
  112. package/build/flow/errorBoundary/ErrorBoundary.messages.js +13 -0
  113. package/build/flow/errorBoundary/ErrorBoundaryAlert.d.ts +6 -0
  114. package/build/flow/errorBoundary/ErrorBoundaryAlert.js +12 -0
  115. package/build/flow/errorBoundary/index.d.ts +1 -0
  116. package/build/flow/errorBoundary/index.js +1 -0
  117. package/build/flow/fixtures/components/alert.d.ts +3 -0
  118. package/build/flow/fixtures/components/alert.js +31 -0
  119. package/build/flow/fixtures/components/box.d.ts +3 -0
  120. package/build/flow/fixtures/components/box.js +20 -0
  121. package/build/flow/fixtures/components/button.d.ts +3 -0
  122. package/build/flow/fixtures/components/button.js +65 -0
  123. package/build/flow/fixtures/components/columns.d.ts +3 -0
  124. package/build/flow/fixtures/components/columns.js +36 -0
  125. package/build/flow/fixtures/components/copyable.d.ts +3 -0
  126. package/build/flow/fixtures/components/copyable.js +22 -0
  127. package/build/flow/fixtures/components/decision.d.ts +3 -0
  128. package/build/flow/fixtures/components/decision.js +54 -0
  129. package/build/flow/fixtures/components/heading.d.ts +3 -0
  130. package/build/flow/fixtures/components/heading.js +14 -0
  131. package/build/flow/fixtures/components/image.d.ts +3 -0
  132. package/build/flow/fixtures/components/image.js +22 -0
  133. package/build/flow/fixtures/components/info.d.ts +3 -0
  134. package/build/flow/fixtures/components/info.js +17 -0
  135. package/build/flow/fixtures/components/list.d.ts +3 -0
  136. package/build/flow/fixtures/components/list.js +34 -0
  137. package/build/flow/fixtures/components/loading-indicator.d.ts +3 -0
  138. package/build/flow/fixtures/components/loading-indicator.js +16 -0
  139. package/build/flow/fixtures/components/paragraph.d.ts +3 -0
  140. package/build/flow/fixtures/components/paragraph.js +28 -0
  141. package/build/flow/fixtures/components/review.d.ts +3 -0
  142. package/build/flow/fixtures/components/review.js +60 -0
  143. package/build/flow/fixtures/examples/camera-capture.d.ts +3 -0
  144. package/build/flow/fixtures/examples/camera-capture.js +121 -0
  145. package/build/flow/fixtures/examples/recipient-update.d.ts +3 -0
  146. package/build/flow/fixtures/examples/recipient-update.js +250 -0
  147. package/build/flow/fixtures/examples/recipient.d.ts +3 -0
  148. package/build/flow/fixtures/examples/recipient.js +313 -0
  149. package/build/flow/fixtures/examples/single-file-upload.d.ts +3 -0
  150. package/build/flow/fixtures/examples/single-file-upload.js +96 -0
  151. package/build/flow/fixtures/examples/step-validation-errors.d.ts +3 -0
  152. package/build/flow/fixtures/examples/step-validation-errors.js +75 -0
  153. package/build/flow/fixtures/features/action-response.d.ts +3 -0
  154. package/build/flow/fixtures/features/action-response.js +29 -0
  155. package/build/flow/fixtures/features/external.d.ts +3 -0
  156. package/build/flow/fixtures/features/external.js +31 -0
  157. package/build/flow/fixtures/features/persist-async.d.ts +3 -0
  158. package/build/flow/fixtures/features/persist-async.js +44 -0
  159. package/build/flow/fixtures/features/polling.d.ts +3 -0
  160. package/build/flow/fixtures/features/polling.js +33 -0
  161. package/build/flow/fixtures/index.d.ts +42 -0
  162. package/build/flow/fixtures/index.js +66 -0
  163. package/build/flow/fixtures/responses/action-response-final.d.ts +3 -0
  164. package/build/flow/fixtures/responses/action-response-final.js +24 -0
  165. package/build/flow/fixtures/responses/action.d.ts +5 -0
  166. package/build/flow/fixtures/responses/action.js +2 -0
  167. package/build/flow/fixtures/responses/exit.d.ts +6 -0
  168. package/build/flow/fixtures/responses/exit.js +2 -0
  169. package/build/flow/fixtures/responses/recipient-update-final.d.ts +3 -0
  170. package/build/flow/fixtures/responses/recipient-update-final.js +24 -0
  171. package/build/flow/fixtures/schemas/basic-form.d.ts +3 -0
  172. package/build/flow/fixtures/schemas/basic-form.js +39 -0
  173. package/build/flow/fixtures/schemas/number-and-integer.d.ts +3 -0
  174. package/build/flow/fixtures/schemas/number-and-integer.js +41 -0
  175. package/build/flow/fixtures/schemas/one-of.d.ts +3 -0
  176. package/build/flow/fixtures/schemas/one-of.js +223 -0
  177. package/build/flow/fixtures/schemas/string-formats.d.ts +3 -0
  178. package/build/flow/fixtures/schemas/string-formats.js +58 -0
  179. package/build/flow/index.d.ts +1 -0
  180. package/build/flow/index.js +1 -0
  181. package/build/flow/response-parsers/index.d.ts +17 -0
  182. package/build/flow/response-parsers/index.js +112 -0
  183. package/build/flow/response-parsers/spec.d.ts +1 -0
  184. package/build/flow/response-parsers/spec.js +263 -0
  185. package/build/flow/stories/EditableDynamicFlow.d.ts +5 -0
  186. package/build/flow/stories/EditableDynamicFlow.js +61 -0
  187. package/build/flow/types.d.ts +77 -0
  188. package/build/flow/types.js +3 -0
  189. package/build/flow/useDebouncedRefresh/index.d.ts +1 -0
  190. package/build/flow/useDebouncedRefresh/index.js +1 -0
  191. package/build/flow/useDebouncedRefresh/useDebouncedRefresh.d.ts +5 -0
  192. package/build/flow/useDebouncedRefresh/useDebouncedRefresh.js +24 -0
  193. package/build/flow/useDynamicFlowState.d.ts +18 -0
  194. package/build/flow/useDynamicFlowState.js +111 -0
  195. package/build/flow/useLoader.d.ts +9 -0
  196. package/build/flow/useLoader.js +22 -0
  197. package/build/formControl/FormControl.d.ts +86 -0
  198. package/build/formControl/FormControl.js +241 -0
  199. package/build/formControl/index.d.ts +1 -0
  200. package/build/formControl/index.js +1 -0
  201. package/build/formControl/types.d.ts +57 -0
  202. package/build/formControl/types.js +1 -0
  203. package/build/formControl/value-utils.d.ts +9 -0
  204. package/build/formControl/value-utils.js +108 -0
  205. package/build/i18n/cs.json +8 -0
  206. package/build/i18n/de.json +34 -0
  207. package/build/i18n/en.json +38 -0
  208. package/build/i18n/es.json +34 -0
  209. package/build/i18n/fr.json +34 -0
  210. package/build/i18n/hu.json +34 -0
  211. package/build/i18n/id.json +34 -0
  212. package/build/i18n/index.d.ts +2 -0
  213. package/build/i18n/index.js +31 -0
  214. package/build/i18n/it.json +34 -0
  215. package/build/i18n/ja.json +34 -0
  216. package/build/i18n/pl.json +11 -0
  217. package/build/i18n/pt.json +34 -0
  218. package/build/i18n/ro.json +34 -0
  219. package/build/i18n/ru.json +34 -0
  220. package/build/i18n/th.json +34 -0
  221. package/build/i18n/tr.json +11 -0
  222. package/build/i18n/uk.json +8 -0
  223. package/build/i18n/zh-CN.json +34 -0
  224. package/build/i18n/zh.json +34 -0
  225. package/build/index.d.ts +12 -0
  226. package/build/index.js +11 -0
  227. package/build/jsonSchemaForm/JsonSchemaForm.d.ts +66 -0
  228. package/build/jsonSchemaForm/JsonSchemaForm.js +31 -0
  229. package/build/jsonSchemaForm/allOfSchema/AllOfSchema.d.ts +14 -0
  230. package/build/jsonSchemaForm/allOfSchema/AllOfSchema.js +54 -0
  231. package/build/jsonSchemaForm/allOfSchema/index.d.ts +2 -0
  232. package/build/jsonSchemaForm/allOfSchema/index.js +1 -0
  233. package/build/jsonSchemaForm/arrayTypeSchema/ArraySchema.d.ts +15 -0
  234. package/build/jsonSchemaForm/arrayTypeSchema/ArraySchema.js +25 -0
  235. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/ArrayListSchema.d.ts +16 -0
  236. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/ArrayListSchema.js +26 -0
  237. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/index.d.ts +1 -0
  238. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/index.js +1 -0
  239. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/MultipleFileUploadSchema.d.ts +18 -0
  240. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/MultipleFileUploadSchema.js +141 -0
  241. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/MultipleFileUploadSchema.messages.d.ts +24 -0
  242. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/MultipleFileUploadSchema.messages.js +18 -0
  243. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/index.d.ts +1 -0
  244. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/index.js +1 -0
  245. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/useFormattedDefaultErrorMessages.d.ts +9 -0
  246. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/useFormattedDefaultErrorMessages.js +14 -0
  247. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils.d.ts +6 -0
  248. package/build/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils.js +85 -0
  249. package/build/jsonSchemaForm/arrayTypeSchema/index.d.ts +2 -0
  250. package/build/jsonSchemaForm/arrayTypeSchema/index.js +1 -0
  251. package/build/jsonSchemaForm/basicTypeSchema/BasicTypeSchema.d.ts +22 -0
  252. package/build/jsonSchemaForm/basicTypeSchema/BasicTypeSchema.js +105 -0
  253. package/build/jsonSchemaForm/basicTypeSchema/index.d.ts +2 -0
  254. package/build/jsonSchemaForm/basicTypeSchema/index.js +1 -0
  255. package/build/jsonSchemaForm/controlFeedback/ControlFeedback.d.ts +31 -0
  256. package/build/jsonSchemaForm/controlFeedback/ControlFeedback.js +79 -0
  257. package/build/jsonSchemaForm/controlFeedback/ControlFeedback.messages.d.ts +53 -0
  258. package/build/jsonSchemaForm/controlFeedback/ControlFeedback.messages.js +53 -0
  259. package/build/jsonSchemaForm/controlFeedback/index.d.ts +1 -0
  260. package/build/jsonSchemaForm/controlFeedback/index.js +1 -0
  261. package/build/jsonSchemaForm/genericSchema/GenericSchema.d.ts +19 -0
  262. package/build/jsonSchemaForm/genericSchema/GenericSchema.js +122 -0
  263. package/build/jsonSchemaForm/genericSchema/index.d.ts +1 -0
  264. package/build/jsonSchemaForm/genericSchema/index.js +1 -0
  265. package/build/jsonSchemaForm/help/Help.d.ts +8 -0
  266. package/build/jsonSchemaForm/help/Help.js +9 -0
  267. package/build/jsonSchemaForm/help/Help.messages.d.ts +8 -0
  268. package/build/jsonSchemaForm/help/Help.messages.js +8 -0
  269. package/build/jsonSchemaForm/help/index.d.ts +1 -0
  270. package/build/jsonSchemaForm/help/index.js +1 -0
  271. package/build/jsonSchemaForm/index.d.ts +1 -0
  272. package/build/jsonSchemaForm/index.js +1 -0
  273. package/build/jsonSchemaForm/objectSchema/ObjectSchema.d.ts +16 -0
  274. package/build/jsonSchemaForm/objectSchema/ObjectSchema.js +78 -0
  275. package/build/jsonSchemaForm/objectSchema/index.d.ts +2 -0
  276. package/build/jsonSchemaForm/objectSchema/index.js +1 -0
  277. package/build/jsonSchemaForm/oneOfSchema/OneOfSchema.d.ts +15 -0
  278. package/build/jsonSchemaForm/oneOfSchema/OneOfSchema.js +153 -0
  279. package/build/jsonSchemaForm/oneOfSchema/getActiveSchemaIndex.d.ts +3 -0
  280. package/build/jsonSchemaForm/oneOfSchema/getActiveSchemaIndex.js +40 -0
  281. package/build/jsonSchemaForm/oneOfSchema/getBestMatchingSchemaIndexForValue.d.ts +2 -0
  282. package/build/jsonSchemaForm/oneOfSchema/getBestMatchingSchemaIndexForValue.js +27 -0
  283. package/build/jsonSchemaForm/oneOfSchema/index.d.ts +2 -0
  284. package/build/jsonSchemaForm/oneOfSchema/index.js +1 -0
  285. package/build/jsonSchemaForm/oneOfSchema/isConstSchema.d.ts +3 -0
  286. package/build/jsonSchemaForm/oneOfSchema/isConstSchema.js +7 -0
  287. package/build/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.d.ts +16 -0
  288. package/build/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.js +26 -0
  289. package/build/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.messages.d.ts +8 -0
  290. package/build/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.messages.js +8 -0
  291. package/build/jsonSchemaForm/persistAsyncSchema/basic/PersistAsyncBasicSchema.d.ts +21 -0
  292. package/build/jsonSchemaForm/persistAsyncSchema/basic/PersistAsyncBasicSchema.js +168 -0
  293. package/build/jsonSchemaForm/persistAsyncSchema/basic/index.d.ts +1 -0
  294. package/build/jsonSchemaForm/persistAsyncSchema/basic/index.js +1 -0
  295. package/build/jsonSchemaForm/persistAsyncSchema/blob/PersistAsyncBlobSchema.d.ts +20 -0
  296. package/build/jsonSchemaForm/persistAsyncSchema/blob/PersistAsyncBlobSchema.js +127 -0
  297. package/build/jsonSchemaForm/persistAsyncSchema/blob/UploadInputAdapter.d.ts +17 -0
  298. package/build/jsonSchemaForm/persistAsyncSchema/blob/UploadInputAdapter.js +32 -0
  299. package/build/jsonSchemaForm/persistAsyncSchema/blob/index.d.ts +1 -0
  300. package/build/jsonSchemaForm/persistAsyncSchema/blob/index.js +1 -0
  301. package/build/jsonSchemaForm/persistAsyncSchema/index.d.ts +2 -0
  302. package/build/jsonSchemaForm/persistAsyncSchema/index.js +1 -0
  303. package/build/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchema.d.ts +9 -0
  304. package/build/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchema.js +72 -0
  305. package/build/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchemaModelMatcher.d.ts +2 -0
  306. package/build/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchemaModelMatcher.js +8 -0
  307. package/build/jsonSchemaForm/promotedOneOfSchema/control/PromotedOneOfCheckboxControl.d.ts +7 -0
  308. package/build/jsonSchemaForm/promotedOneOfSchema/control/PromotedOneOfCheckboxControl.js +27 -0
  309. package/build/jsonSchemaForm/promotedOneOfSchema/control/PromotedOneOfControl.d.ts +23 -0
  310. package/build/jsonSchemaForm/promotedOneOfSchema/control/PromotedOneOfControl.js +31 -0
  311. package/build/jsonSchemaForm/promotedOneOfSchema/control/PromotedOneOfRadioControl.d.ts +9 -0
  312. package/build/jsonSchemaForm/promotedOneOfSchema/control/PromotedOneOfRadioControl.js +32 -0
  313. package/build/jsonSchemaForm/promotedOneOfSchema/index.d.ts +2 -0
  314. package/build/jsonSchemaForm/promotedOneOfSchema/index.js +1 -0
  315. package/build/jsonSchemaForm/readOnlySchema/ReadOnlySchema.d.ts +8 -0
  316. package/build/jsonSchemaForm/readOnlySchema/ReadOnlySchema.js +55 -0
  317. package/build/jsonSchemaForm/readOnlySchema/ReadOnlySchema.messages.d.ts +16 -0
  318. package/build/jsonSchemaForm/readOnlySchema/ReadOnlySchema.messages.js +13 -0
  319. package/build/jsonSchemaForm/readOnlySchema/index.d.ts +1 -0
  320. package/build/jsonSchemaForm/readOnlySchema/index.js +1 -0
  321. package/build/jsonSchemaForm/schemaFormControl/SchemaFormControl.d.ts +25 -0
  322. package/build/jsonSchemaForm/schemaFormControl/SchemaFormControl.js +106 -0
  323. package/build/jsonSchemaForm/schemaFormControl/availableCurrencyFlags.d.ts +3 -0
  324. package/build/jsonSchemaForm/schemaFormControl/availableCurrencyFlags.js +73 -0
  325. package/build/jsonSchemaForm/schemaFormControl/index.d.ts +1 -0
  326. package/build/jsonSchemaForm/schemaFormControl/index.js +1 -0
  327. package/build/jsonSchemaForm/schemaFormControl/optionMapper.d.ts +40 -0
  328. package/build/jsonSchemaForm/schemaFormControl/optionMapper.js +89 -0
  329. package/build/jsonSchemaForm/schemas/allOf.json.d.ts +3 -0
  330. package/build/jsonSchemaForm/schemas/allOf.json.js +119 -0
  331. package/build/jsonSchemaForm/schemas/audRecipient.json.d.ts +3 -0
  332. package/build/jsonSchemaForm/schemas/audRecipient.json.js +1104 -0
  333. package/build/jsonSchemaForm/schemas/base64Url_MultipleFileUpload.json.d.ts +3 -0
  334. package/build/jsonSchemaForm/schemas/base64Url_MultipleFileUpload.json.js +37 -0
  335. package/build/jsonSchemaForm/schemas/blob_MultipleFileUpload.json.d.ts +3 -0
  336. package/build/jsonSchemaForm/schemas/blob_MultipleFileUpload.json.js +36 -0
  337. package/build/jsonSchemaForm/schemas/currency.json.d.ts +3 -0
  338. package/build/jsonSchemaForm/schemas/currency.json.js +48 -0
  339. package/build/jsonSchemaForm/schemas/oneOf.json.d.ts +3 -0
  340. package/build/jsonSchemaForm/schemas/oneOf.json.js +119 -0
  341. package/build/jsonSchemaForm/schemas/oneOfTabs.json.d.ts +3 -0
  342. package/build/jsonSchemaForm/schemas/oneOfTabs.json.js +53 -0
  343. package/build/jsonSchemaForm/schemas/promotedOneOf.json.d.ts +3 -0
  344. package/build/jsonSchemaForm/schemas/promotedOneOf.json.js +56 -0
  345. package/build/jsonSchemaForm/schemas/promotedOneOfCheckbox.json.d.ts +3 -0
  346. package/build/jsonSchemaForm/schemas/promotedOneOfCheckbox.json.js +102 -0
  347. package/build/jsonSchemaForm/schemas/simple.json.d.ts +3 -0
  348. package/build/jsonSchemaForm/schemas/simple.json.js +48 -0
  349. package/build/jsonSchemaForm/schemas/uploadPersistAsync.json.d.ts +3 -0
  350. package/build/jsonSchemaForm/schemas/uploadPersistAsync.json.js +71 -0
  351. package/build/jsonSchemaForm/schemas/validationAsync.json.d.ts +3 -0
  352. package/build/jsonSchemaForm/schemas/validationAsync.json.js +23 -0
  353. package/build/jsonSchemaForm/validationAsyncSchema/ValidationAsyncSchema.d.ts +17 -0
  354. package/build/jsonSchemaForm/validationAsyncSchema/ValidationAsyncSchema.js +149 -0
  355. package/build/jsonSchemaForm/validationAsyncSchema/index.d.ts +2 -0
  356. package/build/jsonSchemaForm/validationAsyncSchema/index.js +1 -0
  357. package/build/layout/DynamicLayout.d.ts +17 -0
  358. package/build/layout/DynamicLayout.js +75 -0
  359. package/build/layout/alert/index.d.ts +6 -0
  360. package/build/layout/alert/index.js +29 -0
  361. package/build/layout/box/index.d.ts +8 -0
  362. package/build/layout/box/index.js +41 -0
  363. package/build/layout/button/index.d.ts +8 -0
  364. package/build/layout/button/index.js +58 -0
  365. package/build/layout/columns/index.d.ts +8 -0
  366. package/build/layout/columns/index.js +38 -0
  367. package/build/layout/decision/index.d.ts +9 -0
  368. package/build/layout/decision/index.js +38 -0
  369. package/build/layout/divider/index.d.ts +7 -0
  370. package/build/layout/divider/index.js +9 -0
  371. package/build/layout/external/DynamicExternal.d.ts +8 -0
  372. package/build/layout/external/DynamicExternal.js +30 -0
  373. package/build/layout/external/DynamicExternal.messages.d.ts +8 -0
  374. package/build/layout/external/DynamicExternal.messages.js +8 -0
  375. package/build/layout/external/index.d.ts +1 -0
  376. package/build/layout/external/index.js +1 -0
  377. package/build/layout/external/useExternalStepPolling.d.ts +11 -0
  378. package/build/layout/external/useExternalStepPolling.js +68 -0
  379. package/build/layout/form/index.d.ts +8 -0
  380. package/build/layout/form/index.js +22 -0
  381. package/build/layout/heading/index.d.ts +6 -0
  382. package/build/layout/heading/index.js +31 -0
  383. package/build/layout/icon/index.d.ts +7 -0
  384. package/build/layout/icon/index.js +22 -0
  385. package/build/layout/image/index.d.ts +6 -0
  386. package/build/layout/image/index.js +126 -0
  387. package/build/layout/index.d.ts +1 -0
  388. package/build/layout/index.js +1 -0
  389. package/build/layout/info/index.d.ts +7 -0
  390. package/build/layout/info/index.js +19 -0
  391. package/build/layout/layouts/all.json.d.ts +3 -0
  392. package/build/layout/layouts/all.json.js +176 -0
  393. package/build/layout/layouts/final-step-layout.json.d.ts +3 -0
  394. package/build/layout/layouts/final-step-layout.json.js +39 -0
  395. package/build/layout/layouts/finalStep.json.d.ts +3 -0
  396. package/build/layout/layouts/finalStep.json.js +24 -0
  397. package/build/layout/layouts/list.json.d.ts +3 -0
  398. package/build/layout/layouts/list.json.js +33 -0
  399. package/build/layout/layouts/pay-in.json.d.ts +3 -0
  400. package/build/layout/layouts/pay-in.json.js +97 -0
  401. package/build/layout/layouts/review.json.d.ts +3 -0
  402. package/build/layout/layouts/review.json.js +160 -0
  403. package/build/layout/layouts/success.json.d.ts +3 -0
  404. package/build/layout/layouts/success.json.js +66 -0
  405. package/build/layout/list/index.d.ts +8 -0
  406. package/build/layout/list/index.js +30 -0
  407. package/build/layout/loading-indicator/index.d.ts +7 -0
  408. package/build/layout/loading-indicator/index.js +10 -0
  409. package/build/layout/loading-indicator/spec.d.ts +1 -0
  410. package/build/layout/loading-indicator/spec.js +11 -0
  411. package/build/layout/paragraph/DynamicParagraph.d.ts +7 -0
  412. package/build/layout/paragraph/DynamicParagraph.js +42 -0
  413. package/build/layout/paragraph/DynamicParagraph.messages.d.ts +13 -0
  414. package/build/layout/paragraph/DynamicParagraph.messages.js +13 -0
  415. package/build/layout/paragraph/index.d.ts +1 -0
  416. package/build/layout/paragraph/index.js +1 -0
  417. package/build/layout/paragraph/useSnackBarIfAvailable.d.ts +10 -0
  418. package/build/layout/paragraph/useSnackBarIfAvailable.js +9 -0
  419. package/build/layout/review/index.d.ts +9 -0
  420. package/build/layout/review/index.js +33 -0
  421. package/build/layout/utils.d.ts +7 -0
  422. package/build/layout/utils.js +31 -0
  423. package/build/main.css +143 -0
  424. package/build/schema.d.ts +1 -0
  425. package/build/schema.js +1 -0
  426. package/build/step/cameraStep/CameraStep.d.ts +8 -0
  427. package/build/step/cameraStep/CameraStep.js +125 -0
  428. package/build/step/cameraStep/cameraCapture/CameraCapture.d.ts +16 -0
  429. package/build/step/cameraStep/cameraCapture/CameraCapture.js +122 -0
  430. package/build/step/cameraStep/cameraCapture/CameraCapture.messages.d.ts +18 -0
  431. package/build/step/cameraStep/cameraCapture/CameraCapture.messages.js +18 -0
  432. package/build/step/cameraStep/cameraCapture/components/index.d.ts +8 -0
  433. package/build/step/cameraStep/cameraCapture/components/index.js +28 -0
  434. package/build/step/cameraStep/cameraCapture/hooks/index.d.ts +4 -0
  435. package/build/step/cameraStep/cameraCapture/hooks/index.js +80 -0
  436. package/build/step/cameraStep/cameraCapture/index.d.ts +1 -0
  437. package/build/step/cameraStep/cameraCapture/index.js +1 -0
  438. package/build/step/cameraStep/cameraCapture/overlay/Overlay.d.ts +11 -0
  439. package/build/step/cameraStep/cameraCapture/overlay/Overlay.js +78 -0
  440. package/build/step/cameraStep/cameraCapture/screens/CameraNotSupported/CameraNotSupported.d.ts +3 -0
  441. package/build/step/cameraStep/cameraCapture/screens/CameraNotSupported/CameraNotSupported.js +19 -0
  442. package/build/step/cameraStep/cameraCapture/screens/CameraNotSupported/CameraNotSupported.messages.d.ts +13 -0
  443. package/build/step/cameraStep/cameraCapture/screens/CameraNotSupported/CameraNotSupported.messages.js +13 -0
  444. package/build/step/cameraStep/cameraCapture/screens/NoCameraAccess/NoCameraAccess.d.ts +6 -0
  445. package/build/step/cameraStep/cameraCapture/screens/NoCameraAccess/NoCameraAccess.js +21 -0
  446. package/build/step/cameraStep/cameraCapture/screens/NoCameraAccess/NoCameraAccess.messages.d.ts +18 -0
  447. package/build/step/cameraStep/cameraCapture/screens/NoCameraAccess/NoCameraAccess.messages.js +18 -0
  448. package/build/step/cameraStep/cameraCapture/screens/index.d.ts +2 -0
  449. package/build/step/cameraStep/cameraCapture/screens/index.js +2 -0
  450. package/build/step/cameraStep/cameraCapture/tracking/index.d.ts +7 -0
  451. package/build/step/cameraStep/cameraCapture/tracking/index.js +101 -0
  452. package/build/step/cameraStep/cameraCapture/utils/index.d.ts +8 -0
  453. package/build/step/cameraStep/cameraCapture/utils/index.js +103 -0
  454. package/build/step/cameraStep/index.d.ts +1 -0
  455. package/build/step/cameraStep/index.js +1 -0
  456. package/build/step/externalConfirmationStep/ExternalConfirmationStep.d.ts +7 -0
  457. package/build/step/externalConfirmationStep/ExternalConfirmationStep.js +64 -0
  458. package/build/step/externalConfirmationStep/ExternalConfirmationStep.messages.d.ts +23 -0
  459. package/build/step/externalConfirmationStep/ExternalConfirmationStep.messages.js +23 -0
  460. package/build/step/externalConfirmationStep/index.d.ts +1 -0
  461. package/build/step/externalConfirmationStep/index.js +1 -0
  462. package/build/step/features/external/useExternal.d.ts +4 -0
  463. package/build/step/features/external/useExternal.js +15 -0
  464. package/build/step/features/index.d.ts +2 -0
  465. package/build/step/features/index.js +2 -0
  466. package/build/step/features/polling/useStepPolling.d.ts +2 -0
  467. package/build/step/features/polling/useStepPolling.js +44 -0
  468. package/build/step/index.d.ts +3 -0
  469. package/build/step/index.js +3 -0
  470. package/build/step/layoutStep/LayoutStep.d.ts +11 -0
  471. package/build/step/layoutStep/LayoutStep.js +34 -0
  472. package/build/step/layoutStep/index.d.ts +1 -0
  473. package/build/step/layoutStep/index.js +1 -0
  474. package/build/step/layoutStep/layoutService/convertStepToLayout.d.ts +8 -0
  475. package/build/step/layoutStep/layoutService/convertStepToLayout.js +217 -0
  476. package/build/step/layoutStep/layoutService/index.d.ts +2 -0
  477. package/build/step/layoutStep/layoutService/index.js +2 -0
  478. package/build/step/layoutStep/layoutService/inlineReferences.d.ts +7 -0
  479. package/build/step/layoutStep/layoutService/inlineReferences.js +91 -0
  480. package/package.json +1 -1
@@ -0,0 +1,86 @@
1
+ import { RadioGroupRadios } from '@transferwise/components/build/types/radioGroup/RadioGroup';
2
+ import { PureComponent } from 'react';
3
+ import { FormControlProps, FormControlState, FormControlOption } from './types';
4
+ export default class FormControl extends PureComponent<FormControlProps, FormControlState> {
5
+ static Type: {
6
+ RADIO: string;
7
+ CHECKBOX: string;
8
+ SELECT: string;
9
+ FILE: string;
10
+ DATE: string;
11
+ DATETIME: string;
12
+ DATELOOKUP: string;
13
+ TEL: string;
14
+ NUMBER: string;
15
+ HIDDEN: string;
16
+ PASSWORD: string;
17
+ TEXT: string;
18
+ TEXTAREA: string;
19
+ UPLOAD: string;
20
+ TAB: string;
21
+ };
22
+ static Size: {
23
+ EXTRA_SMALL: string;
24
+ SMALL: string;
25
+ MEDIUM: string;
26
+ LARGE: string;
27
+ EXTRA_LARGE: string;
28
+ };
29
+ static MonthFormat: {
30
+ SHORT: string;
31
+ LONG: string;
32
+ };
33
+ static DateMode: {
34
+ DAY_MONTH_YEAR: string;
35
+ MONTH_YEAR: string;
36
+ };
37
+ constructor(props: FormControlProps);
38
+ static getDerivedStateFromProps(nextProps: FormControlProps, previousState: FormControlState): {
39
+ prevValue: string | number | boolean | Date | null;
40
+ value: string | number | boolean | Date | null;
41
+ } | null;
42
+ /**
43
+ * autocomplete hides our form help so we need to disable it when help text
44
+ * is present. Chrome ignores autocomplete=off, the only way to disable it is
45
+ * to provide an 'invalid' value, for which 'disabled' serves.
46
+ */
47
+ getAutocompleteStatus: () => "on" | "disabled";
48
+ handleOnChange: (value: string | number | boolean | null) => void;
49
+ handleInputOnChange: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>;
50
+ handleOnFocus: () => void;
51
+ handleOnBlur: () => void;
52
+ getSelectedOption: (options: FormControlOption[]) => FormControlOption | undefined;
53
+ mapOption: (option: FormControlOption) => RadioGroupRadios;
54
+ render(): JSX.Element;
55
+ static defaultProps: {
56
+ autoComplete: boolean;
57
+ countryCode: null;
58
+ disabled: boolean;
59
+ displayPattern: null;
60
+ id: null;
61
+ label: string;
62
+ max: null;
63
+ maxDate: null;
64
+ maxLength: null;
65
+ min: null;
66
+ minDate: null;
67
+ minLength: null;
68
+ mode: string;
69
+ monthFormat: string;
70
+ onBlur: null;
71
+ onFocus: null;
72
+ onSearchChange: null;
73
+ options: never[];
74
+ placeholder: null;
75
+ readOnly: boolean;
76
+ required: boolean;
77
+ searchPlaceholder: null;
78
+ searchValue: string;
79
+ selectedOption: null;
80
+ size: string;
81
+ step: number;
82
+ type: string;
83
+ uploadProps: {};
84
+ value: null;
85
+ };
86
+ }
@@ -0,0 +1,241 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
28
+ import { Checkbox, DateInput, DateLookup, InputWithDisplayFormat, PhoneNumberInput, RadioGroup, Select, Tabs, TextareaWithDisplayFormat, Upload, } from '@transferwise/components';
29
+ import { isNumber, isString } from '@transferwise/neptune-validation';
30
+ import { PureComponent } from 'react';
31
+ import { DateMode, FormControlType, MonthFormat, Size } from '../common';
32
+ import { dateToDateString } from '../common/general';
33
+ import { getSafeStringOrNumberValue, getSafeDateOrStringValue, getSafeDateStringValue, getSafeStringValue, getSafeBooleanValue, } from './value-utils';
34
+ var FormControl = /** @class */ (function (_super) {
35
+ __extends(FormControl, _super);
36
+ function FormControl(props) {
37
+ var _this = _super.call(this, props) || this;
38
+ /**
39
+ * autocomplete hides our form help so we need to disable it when help text
40
+ * is present. Chrome ignores autocomplete=off, the only way to disable it is
41
+ * to provide an 'invalid' value, for which 'disabled' serves.
42
+ */
43
+ _this.getAutocompleteStatus = function () { return (_this.props.autoComplete ? 'on' : 'disabled'); };
44
+ _this.handleOnChange = function (value) {
45
+ _this.props.onChange(value);
46
+ };
47
+ _this.handleInputOnChange = function (event) {
48
+ _this.props.onChange(event.target.value);
49
+ };
50
+ _this.handleOnFocus = function () {
51
+ var _a, _b;
52
+ (_b = (_a = _this.props).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a);
53
+ };
54
+ _this.handleOnBlur = function () {
55
+ var _a, _b;
56
+ (_b = (_a = _this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a);
57
+ };
58
+ _this.getSelectedOption = function (options) {
59
+ if (_this.state.selectedOption !== null && typeof _this.state.selectedOption !== 'undefined') {
60
+ return options.find(function (option) { var _a; return ((_a = _this.state.selectedOption) === null || _a === void 0 ? void 0 : _a.value) === option.value; });
61
+ }
62
+ if (_this.props.value !== null && typeof _this.props.value !== 'undefined') {
63
+ return options.find(function (option) { return _this.props.value === option.value; });
64
+ }
65
+ return undefined;
66
+ };
67
+ _this.mapOption = function (option) {
68
+ return __assign(__assign({}, option), { value: isNumber(option.value) || isString(option.value) ? option.value : undefined, disabled: option.disabled || _this.props.disabled, readOnly: _this.props.readOnly });
69
+ };
70
+ _this.state = {
71
+ selectedOption: props.selectedOption,
72
+ touched: false,
73
+ prevValue: props.value
74
+ };
75
+ return _this;
76
+ }
77
+ FormControl.getDerivedStateFromProps = function (nextProps, previousState) {
78
+ if (previousState.prevValue !== nextProps.value) {
79
+ return { prevValue: nextProps.value, value: nextProps.value };
80
+ }
81
+ return null;
82
+ };
83
+ FormControl.prototype.render = function () {
84
+ var _this = this;
85
+ var _a;
86
+ var _b = this.props, name = _b.name, placeholder = _b.placeholder, step = _b.step, countryCode = _b.countryCode, type = _b.type, options = _b.options, disabled = _b.disabled, readOnly = _b.readOnly, required = _b.required, minLength = _b.minLength, maxLength = _b.maxLength, min = _b.min, max = _b.max, searchPlaceholder = _b.searchPlaceholder, searchValue = _b.searchValue, onSearchChange = _b.onSearchChange, size = _b.size, uploadProps = _b.uploadProps, label = _b.label, monthFormat = _b.monthFormat,
87
+ // FIXME pass id to all components that accept it
88
+ id = _b.id, minDate = _b.minDate, maxDate = _b.maxDate, value = _b.value, mode = _b.mode;
89
+ switch (type) {
90
+ case FormControlType.RADIO:
91
+ return (_jsx(RadioGroup, { radios: options.map(this.mapOption), name: name, selectedValue: getSafeStringOrNumberValue(value, { coerceValue: true }), onChange: this.handleOnChange }));
92
+ case FormControlType.CHECKBOX:
93
+ return (_jsx(Checkbox, { checked: getSafeBooleanValue(value, { coerceValue: true }), disabled: disabled, label: label, required: required, readOnly: readOnly, onChange: this.handleOnChange, onBlur: this.handleOnBlur, onFocus: this.handleOnFocus }));
94
+ case FormControlType.SELECT: {
95
+ var search = options.length >= 20;
96
+ return (_jsx(Select, { id: id, selected: this.getSelectedOption(options), options: options, search: search, required: required, disabled: disabled, placeholder: placeholder, searchPlaceholder: searchPlaceholder, searchValue: searchValue, onChange: function (option) {
97
+ var _a;
98
+ _this.setState({ selectedOption: option !== null && option !== void 0 ? option : undefined });
99
+ _this.props.onChange((_a = option === null || option === void 0 ? void 0 : option.value) !== null && _a !== void 0 ? _a : null);
100
+ }, onFocus: this.handleOnFocus, onBlur: this.handleOnBlur, onSearchChange: search ? onSearchChange : undefined }));
101
+ }
102
+ case FormControlType.TAB:
103
+ return (_jsx(Tabs, { selected: (((_a = this.getSelectedOption(options)) === null || _a === void 0 ? void 0 : _a.value) || 0), tabs: options.map(function (option) { return ({
104
+ title: option.label,
105
+ content: _jsx(_Fragment, {}),
106
+ disabled: option.disabled || false
107
+ }); }), name: id, onTabSelect: function (index) {
108
+ var hasSelectedOption = !!_this.state.selectedOption;
109
+ _this.setState({
110
+ selectedOption: options.find(function (option) { return option.value === index; })
111
+ });
112
+ _this.props.onChange(index, hasSelectedOption ? 'user' : 'init');
113
+ } }));
114
+ case FormControlType.NUMBER:
115
+ return (_jsx("input", { autoComplete: this.getAutocompleteStatus(), className: "form-control", disabled: disabled, id: id, max: max, min: min, placeholder: placeholder, readOnly: readOnly, required: required, step: step, type: "number", value: getSafeStringOrNumberValue(value, { coerceValue: true }), onBlur: this.handleOnBlur, onChange: function (event) {
116
+ // Input type number target value is a string and needs to be a number
117
+ _this.props.onChange(parseFloat(event.target.value));
118
+ // FIXME: maybe this parsing should be done outside of this component in SchemaFormControl,
119
+ // where we know what schema we're working with?
120
+ }, onFocus: this.handleOnFocus, onWheel: function (event) {
121
+ if (event.target instanceof HTMLElement) {
122
+ // To prevent values being changed when input is focussed and user scrolls
123
+ event.target.blur();
124
+ }
125
+ } }));
126
+ case FormControlType.HIDDEN:
127
+ return (_jsx("input", { type: "hidden", name: name, value: getSafeStringValue(value, { coerceValue: true }), id: id }));
128
+ case FormControlType.PASSWORD:
129
+ return (_jsx("input", { autoComplete: this.getAutocompleteStatus(), className: "form-control", disabled: disabled, id: id, placeholder: placeholder, readOnly: readOnly, required: required, type: "password", value: getSafeStringValue(value, { coerceValue: true }), onBlur: this.handleOnBlur, onChange: this.handleInputOnChange, onFocus: this.handleOnFocus }));
130
+ case FormControlType.DATE:
131
+ case FormControlType.DATETIME:
132
+ return (_jsx(DateInput, { disabled: disabled, size: size, value: getSafeDateOrStringValue(value), mode: mode, monthFormat: monthFormat, onBlur: this.handleOnBlur, onChange: this.handleOnChange, onFocus: this.handleOnFocus }));
133
+ case FormControlType.DATELOOKUP: {
134
+ return (_jsx(DateLookup
135
+ // DateLookup handles null values perfectly well, it's just typed incorrectly
136
+ , {
137
+ // DateLookup handles null values perfectly well, it's just typed incorrectly
138
+ value: getSafeDateStringValue(value), min: minDate, max: maxDate, placeholder: placeholder, monthFormat: monthFormat, disabled: disabled, onChange: function (date) {
139
+ // FIXME We need types for DateLookup
140
+ _this.handleOnChange(dateToDateString(date));
141
+ }, onBlur: this.handleOnBlur, onFocus: this.handleOnFocus }));
142
+ }
143
+ case FormControlType.TEL:
144
+ return (_jsx(PhoneNumberInput, { disabled: disabled, countryCode: countryCode, placeholder: placeholder, required: required, searchPlaceholder: searchPlaceholder, size: size, initialValue: getSafeStringValue(value), onBlur: this.handleOnBlur, onChange: this.handleOnChange, onFocus: this.handleOnFocus }));
145
+ case FormControlType.TEXTAREA: {
146
+ var textareaProps = {
147
+ className: 'form-control tw-form-control',
148
+ id: id,
149
+ name: name,
150
+ placeholder: placeholder,
151
+ value: getSafeStringValue(value, { coerceValue: true }),
152
+ readOnly: readOnly,
153
+ required: required,
154
+ minLength: minLength,
155
+ maxLength: maxLength,
156
+ onFocus: this.handleOnFocus,
157
+ onBlur: this.handleOnBlur,
158
+ disabled: disabled,
159
+ autoComplete: this.getAutocompleteStatus()
160
+ };
161
+ if (this.props.displayPattern) {
162
+ return (_jsx(TextareaWithDisplayFormat, __assign({ displayPattern: this.props.displayPattern }, textareaProps, { onChange: this.handleOnChange })));
163
+ }
164
+ return _jsx("textarea", __assign({}, textareaProps, { onChange: this.handleInputOnChange }));
165
+ }
166
+ case FormControlType.FILE:
167
+ case FormControlType.UPLOAD: {
168
+ return (
169
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
170
+ // @ts-expect-error - TODO: Remove this once Upload is migrated to TypeScript
171
+ _jsx(Upload, __assign({}, uploadProps, { usAccept: uploadProps.usAccept || '*', usDisabled: uploadProps.usDisabled || disabled, onSuccess: function (base64url) {
172
+ _this.handleOnChange(base64url);
173
+ }, onFailure: function () {
174
+ _this.handleOnChange(null);
175
+ }, onCancel: function () {
176
+ _this.handleOnChange(null);
177
+ } })));
178
+ }
179
+ case FormControlType.TEXT:
180
+ default: {
181
+ var inputProps = {
182
+ type: 'text',
183
+ className: 'form-control',
184
+ id: id,
185
+ name: name,
186
+ placeholder: placeholder,
187
+ value: getSafeStringValue(value, { coerceValue: true }),
188
+ readOnly: readOnly,
189
+ required: required,
190
+ minLength: minLength,
191
+ maxLength: maxLength,
192
+ onFocus: this.handleOnFocus,
193
+ onBlur: this.handleOnBlur,
194
+ disabled: disabled,
195
+ autoComplete: this.getAutocompleteStatus()
196
+ };
197
+ if (this.props.displayPattern) {
198
+ return (_jsx(InputWithDisplayFormat, __assign({ displayPattern: this.props.displayPattern }, inputProps, { onChange: this.handleOnChange })));
199
+ }
200
+ return _jsx("input", __assign({}, inputProps, { onChange: this.handleInputOnChange }));
201
+ }
202
+ }
203
+ };
204
+ FormControl.Type = FormControlType;
205
+ FormControl.Size = Size;
206
+ FormControl.MonthFormat = MonthFormat;
207
+ FormControl.DateMode = DateMode;
208
+ FormControl.defaultProps = {
209
+ autoComplete: true,
210
+ countryCode: null,
211
+ disabled: false,
212
+ displayPattern: null,
213
+ id: null,
214
+ label: '',
215
+ max: null,
216
+ maxDate: null,
217
+ maxLength: null,
218
+ min: null,
219
+ minDate: null,
220
+ minLength: null,
221
+ mode: FormControl.DateMode.DAY_MONTH_YEAR,
222
+ monthFormat: FormControl.MonthFormat.LONG,
223
+ onBlur: null,
224
+ onFocus: null,
225
+ onSearchChange: null,
226
+ options: [],
227
+ placeholder: null,
228
+ readOnly: false,
229
+ required: false,
230
+ searchPlaceholder: null,
231
+ searchValue: '',
232
+ selectedOption: null,
233
+ size: FormControl.Size.MEDIUM,
234
+ step: 1,
235
+ type: FormControl.Type.TEXT,
236
+ uploadProps: {},
237
+ value: null
238
+ };
239
+ return FormControl;
240
+ }(PureComponent));
241
+ export default FormControl;
@@ -0,0 +1 @@
1
+ export { default } from './FormControl';
@@ -0,0 +1 @@
1
+ export { default } from './FormControl';
@@ -0,0 +1,57 @@
1
+ import { UploadProps } from '@transferwise/components/build/types/upload/Upload';
2
+ import { ReactNode } from 'react';
3
+ import { FormControlType } from '../common';
4
+ export type FormControlOption = {
5
+ value: number | string | boolean;
6
+ label: string;
7
+ disabled?: boolean;
8
+ note?: string;
9
+ secondary?: string;
10
+ };
11
+ type FormControlSelectedOption = {
12
+ value: number | string | boolean;
13
+ label: string;
14
+ icon?: ReactNode;
15
+ currency?: string;
16
+ note?: ReactNode;
17
+ secondary?: ReactNode;
18
+ };
19
+ export type FormControlProps = {
20
+ name: string;
21
+ onChange: (value: string | number | boolean | null, type?: 'init' | 'user') => void;
22
+ autoComplete?: boolean;
23
+ countryCode?: string;
24
+ disabled?: boolean;
25
+ displayPattern?: string;
26
+ id: string;
27
+ label?: string;
28
+ max?: number;
29
+ maxDate?: Date;
30
+ maxLength?: number;
31
+ min?: number;
32
+ minDate?: Date;
33
+ minLength?: number;
34
+ mode?: 'day-month-year' | 'month-year';
35
+ monthFormat?: 'long' | 'short';
36
+ onBlur?: () => void;
37
+ onFocus?: () => void;
38
+ onSearchChange?: (searchValue: string) => void;
39
+ options: Array<FormControlOption>;
40
+ placeholder?: string;
41
+ readOnly?: boolean;
42
+ required?: boolean;
43
+ searchPlaceholder?: string;
44
+ searchValue?: string;
45
+ selectedOption?: FormControlSelectedOption;
46
+ size?: 'sm' | 'md' | 'lg';
47
+ step?: number;
48
+ type?: (typeof FormControlType)[keyof typeof FormControlType];
49
+ uploadProps: UploadProps;
50
+ value: Date | string | number | boolean | null;
51
+ };
52
+ export type FormControlState = {
53
+ prevValue: FormControlProps['value'];
54
+ selectedOption: FormControlSelectedOption | undefined;
55
+ touched: boolean;
56
+ };
57
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ type GetValueOptions = {
2
+ coerceValue?: boolean;
3
+ };
4
+ export declare const getSafeStringValue: (value: unknown, options?: GetValueOptions) => string | undefined;
5
+ export declare const getSafeStringOrNumberValue: (value: unknown, options?: GetValueOptions) => string | number | undefined;
6
+ export declare const getSafeBooleanValue: (value: unknown, options?: GetValueOptions) => boolean | undefined;
7
+ export declare const getSafeDateOrStringValue: (value: unknown) => string | Date | undefined;
8
+ export declare const getSafeDateStringValue: (value: unknown) => Date | null;
9
+ export {};
@@ -0,0 +1,108 @@
1
+ /* eslint-disable no-console */
2
+ import { isBoolean, isNull, isNumber, isObject, isString } from '@transferwise/neptune-validation';
3
+ import { dateStringToDate } from '../common/general';
4
+ export var getSafeStringValue = function (value, options) {
5
+ if (options === void 0) { options = {}; }
6
+ var _a = options.coerceValue, coerceValue = _a === void 0 ? false : _a;
7
+ if (isNull(value)) {
8
+ return undefined;
9
+ }
10
+ if (isObject(value)) {
11
+ logInvalidTypeFallbackWarning({ received: 'object', expected: 'string' });
12
+ return undefined;
13
+ }
14
+ if (!isString(value)) {
15
+ if (coerceValue) {
16
+ // TODO: Remove this coercion once we're sure everyone has had a chance to address warnings
17
+ logInvalidTypeCoercedWarning({ received: typeof value, expected: 'string' });
18
+ return String(value);
19
+ }
20
+ else {
21
+ logInvalidTypeFallbackWarning({ received: typeof value, expected: 'string' });
22
+ return undefined;
23
+ }
24
+ }
25
+ return value;
26
+ };
27
+ export var getSafeStringOrNumberValue = function (value, options) {
28
+ if (options === void 0) { options = {}; }
29
+ var _a = options.coerceValue, coerceValue = _a === void 0 ? false : _a;
30
+ if (isNull(value)) {
31
+ return undefined;
32
+ }
33
+ if (isNumber(value)) {
34
+ return value;
35
+ }
36
+ var logProps = { received: typeof value, expected: 'string or number' };
37
+ if (isObject(value)) {
38
+ logInvalidTypeFallbackWarning(logProps);
39
+ return undefined;
40
+ }
41
+ if (!isString(value)) {
42
+ if (coerceValue) {
43
+ // TODO: Remove this coercion once we're sure everyone has had a chance to address warnings
44
+ logInvalidTypeCoercedWarning(logProps);
45
+ return String(value);
46
+ }
47
+ else {
48
+ logInvalidTypeFallbackWarning(logProps);
49
+ return undefined;
50
+ }
51
+ }
52
+ return value;
53
+ };
54
+ export var getSafeBooleanValue = function (value, options) {
55
+ if (options === void 0) { options = {}; }
56
+ var _a = options.coerceValue, coerceValue = _a === void 0 ? false : _a;
57
+ if (isNull(value)) {
58
+ return false;
59
+ }
60
+ if (!isBoolean(value)) {
61
+ if (coerceValue) {
62
+ // TODO: Remove this coercion once we're sure everyone has had a chance to address warnings
63
+ logInvalidTypeCoercedWarning({ received: typeof value, expected: 'boolean' });
64
+ return Boolean(value);
65
+ }
66
+ else {
67
+ logInvalidTypeFallbackWarning({ received: typeof value, expected: 'boolean' });
68
+ return undefined;
69
+ }
70
+ }
71
+ return value;
72
+ };
73
+ export var getSafeDateOrStringValue = function (value) {
74
+ if (isNull(value)) {
75
+ return undefined;
76
+ }
77
+ if (!(value instanceof Date) && !isString(value)) {
78
+ logInvalidTypeFallbackWarning({ received: typeof value, expected: 'string or Date' });
79
+ return undefined;
80
+ }
81
+ return value;
82
+ };
83
+ export var getSafeDateStringValue = function (value) {
84
+ if (isNull(value)) {
85
+ return null;
86
+ }
87
+ if (!isString(value)) {
88
+ logInvalidTypeFallbackWarning({
89
+ received: typeof value,
90
+ expected: 'string',
91
+ fallback: 'null'
92
+ });
93
+ return null;
94
+ }
95
+ var date = dateStringToDate(value);
96
+ if (date === null) {
97
+ console.warn('Incorrectly formatted date string. Falling back to null.');
98
+ }
99
+ return date;
100
+ };
101
+ var logInvalidTypeCoercedWarning = function (_a) {
102
+ var received = _a.received, expected = _a.expected;
103
+ console.warn("Value with type ".concat(received, " passed to control that only accepts type ").concat(expected, ". Type will be coerced, but this behaviour will change in the future, so please fix your code."));
104
+ };
105
+ var logInvalidTypeFallbackWarning = function (_a) {
106
+ var received = _a.received, expected = _a.expected, _b = _a.fallback, fallback = _b === void 0 ? 'undefined' : _b;
107
+ console.warn("Value with type ".concat(received, " passed to control that only accepts type ").concat(expected, ". Falling back to ").concat(fallback));
108
+ };
@@ -0,0 +1,8 @@
1
+ {
2
+ "dynamicFlows.ErrorBoundary.errorAlert": "Ups! Něco se pokazilo...",
3
+ "dynamicFlows.ErrorBoundary.retry": "Zkusit znovu",
4
+ "dynamicFlows.Help.ariaLabel": "Pro více informací klikněte sem.",
5
+ "dynamicFlows.PersistAsyncSchema.genericError": "Něco se pokazilo, zkuste to prosím později!",
6
+ "dynamicFlows.ReadOnlySchema.no": "Ne",
7
+ "dynamicFlows.ReadOnlySchema.yes": "Ano"
8
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "dynamicFlows.ArraySchema.maxItemsError": "Bitte füge {maxItems} oder weniger hinzu.",
3
+ "dynamicFlows.ArraySchema.minItemsError": "Bitte füge mindestens {minItems} hinzu.",
4
+ "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "Der von dir verwendete Browser unterstützt keine Kameras. Bitte verwende einen anderen Browser oder ein anderes Gerät, oder lade unsere App herunter",
5
+ "dynamicFlows.CameraCapture.CameraNotSupported.title": "Kamera wird nicht unterstützt",
6
+ "dynamicFlows.CameraCapture.NoCameraAccess.action": "Kamerazugriff genehmigen",
7
+ "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "Aktiviere den Kamerazugriff in den Einstellungen deines Browsers, um weitermachen zu können.",
8
+ "dynamicFlows.CameraCapture.NoCameraAccess.title": "Wir können nicht auf deine Kamera zugreifen",
9
+ "dynamicFlows.CameraCapture.reviewInstructions": "Ist das aufgenommene Bild deutlich erkennbar und vollständig?",
10
+ "dynamicFlows.CameraCapture.reviewRetry": "Nein, erneut versuchen",
11
+ "dynamicFlows.CameraCapture.reviewSubmit": "Ja, senden",
12
+ "dynamicFlows.ControlFeedback.maxLength": "Bitte gib nicht mehr als {maxLength} Zeichen ein.",
13
+ "dynamicFlows.ControlFeedback.maximum": "Bitte gib eine Zahl ein, die {maximum} oder weniger beträgt.",
14
+ "dynamicFlows.ControlFeedback.maximumDate": "Bitte gib ein Datum ein, das am oder vor dem {maximum} liegt.",
15
+ "dynamicFlows.ControlFeedback.minLength": "Bitte gib mindestens {minLength} Zeichen ein.",
16
+ "dynamicFlows.ControlFeedback.minimum": "Bitte gib eine Zahl ein, die {minimum} oder mehr beträgt.",
17
+ "dynamicFlows.ControlFeedback.minimumDate": "Bitte gib ein Datum ein, das am oder nach dem {minimum} liegt.",
18
+ "dynamicFlows.ControlFeedback.pattern": "Falsches Format",
19
+ "dynamicFlows.ControlFeedback.patternDate": "Bitte gib ein Datum im richtigen Format ein.",
20
+ "dynamicFlows.ControlFeedback.required": "Bitte fülle dieses Feld aus.",
21
+ "dynamicFlows.ControlFeedback.type": "Falscher Typ",
22
+ "dynamicFlows.DynamicExternal.retryTitle": "Fenster erneut öffnen",
23
+ "dynamicFlows.DynamicParagraph.copied": "In Zwischenablage kopiert",
24
+ "dynamicFlows.DynamicParagraph.copy": "Kopieren",
25
+ "dynamicFlows.ErrorBoundary.errorAlert": "Hoppla – da ist was schiefgelaufen...",
26
+ "dynamicFlows.ErrorBoundary.retry": "Erneut versuchen",
27
+ "dynamicFlows.Help.ariaLabel": "Klicke hier für mehr Informationen.",
28
+ "dynamicFlows.MultipleFileUploadSchema.maxFileSizeError": "Diese Datei ist leider zu groß. Bitte lade eine kleinere Datei hoch.",
29
+ "dynamicFlows.MultipleFileUploadSchema.maxItemsError": "Bitte lade {maxItems} oder weniger Dateien hoch.",
30
+ "dynamicFlows.MultipleFileUploadSchema.minItemsError": "Bitte lade mindestens {minItems} Datei(en) hoch.",
31
+ "dynamicFlows.PersistAsyncSchema.genericError": "Da ist etwas schiefgelaufen. Probiere es bitte später noch einmal.",
32
+ "dynamicFlows.ReadOnlySchema.no": "Nein",
33
+ "dynamicFlows.ReadOnlySchema.yes": "Ja"
34
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "dynamicFlows.ArraySchema.maxItemsError": "Please add {maxItems} or fewer.",
3
+ "dynamicFlows.ArraySchema.minItemsError": "Please add at least {minItems}.",
4
+ "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.",
5
+ "dynamicFlows.CameraCapture.CameraNotSupported.title": "Camera not supported",
6
+ "dynamicFlows.CameraCapture.NoCameraAccess.action": "Enable camera access",
7
+ "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "Enable camera access in your browser's settings to get going again.",
8
+ "dynamicFlows.CameraCapture.NoCameraAccess.title": "We can't access your camera",
9
+ "dynamicFlows.CameraCapture.reviewInstructions": "Is your picture clear, readable and complete?",
10
+ "dynamicFlows.CameraCapture.reviewRetry": "No, try again",
11
+ "dynamicFlows.CameraCapture.reviewSubmit": "Yes, submit",
12
+ "dynamicFlows.ControlFeedback.maxLength": "Please enter {maxLength} or fewer characters.",
13
+ "dynamicFlows.ControlFeedback.maximum": "Please enter a number that's {maximum} or less.",
14
+ "dynamicFlows.ControlFeedback.maximumDate": "Please enter a date that's on or before {maximum}.",
15
+ "dynamicFlows.ControlFeedback.minLength": "Please enter at least {minLength} characters.",
16
+ "dynamicFlows.ControlFeedback.minimum": "Please enter a number that's {minimum} or more.",
17
+ "dynamicFlows.ControlFeedback.minimumDate": "Please enter a date that's on or after {minimum}.",
18
+ "dynamicFlows.ControlFeedback.pattern": "Please enter this in the correct format.",
19
+ "dynamicFlows.ControlFeedback.patternDate": "Please enter a date in the corrrect format.",
20
+ "dynamicFlows.ControlFeedback.required": "Please fill out this field.",
21
+ "dynamicFlows.ControlFeedback.type": "Incorrect type",
22
+ "dynamicFlows.DynamicExternal.retryTitle": "Reopen window",
23
+ "dynamicFlows.DynamicParagraph.copied": "Copied to clipboard",
24
+ "dynamicFlows.DynamicParagraph.copy": "Copy",
25
+ "dynamicFlows.ErrorBoundary.errorAlert": "Oops. Something went wrong...",
26
+ "dynamicFlows.ErrorBoundary.retry": "Retry",
27
+ "dynamicFlows.ExternalConfirmation.cancel": "Cancel",
28
+ "dynamicFlows.ExternalConfirmation.description": "Please confirm you want to open **{origin}** in a new browser tab.",
29
+ "dynamicFlows.ExternalConfirmation.open": "Open in new tab",
30
+ "dynamicFlows.ExternalConfirmation.title": "Please confirm",
31
+ "dynamicFlows.Help.ariaLabel": "Click here for more info.",
32
+ "dynamicFlows.MultipleFileUploadSchema.maxFileSizeError": "Sorry, that file is too big. Please upload a smaller file.",
33
+ "dynamicFlows.MultipleFileUploadSchema.maxItemsError": "Please upload {maxItems} or fewer files.",
34
+ "dynamicFlows.MultipleFileUploadSchema.minItemsError": "Please upload at least {minItems} file(s).",
35
+ "dynamicFlows.PersistAsyncSchema.genericError": "Something went wrong, please try again later!",
36
+ "dynamicFlows.ReadOnlySchema.no": "No",
37
+ "dynamicFlows.ReadOnlySchema.yes": "Yes"
38
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "dynamicFlows.ArraySchema.maxItemsError": "Añade {maxItems} o menos.",
3
+ "dynamicFlows.ArraySchema.minItemsError": "Añade al menos {minItems}.",
4
+ "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "El navegador que estás utilizando no es compatible con una cámara. Prueba con otro navegador o dispositivo o descarga nuestra aplicación móvil.",
5
+ "dynamicFlows.CameraCapture.CameraNotSupported.title": "Cámara no compatible",
6
+ "dynamicFlows.CameraCapture.NoCameraAccess.action": "Permitir acceso a la cámara",
7
+ "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "Habilita el acceso a la cámara en la configuración de tu navegador para volver a activarla.",
8
+ "dynamicFlows.CameraCapture.NoCameraAccess.title": "No podemos acceder a tu cámara",
9
+ "dynamicFlows.CameraCapture.reviewInstructions": "¿Tu foto es clara, legible y completa?",
10
+ "dynamicFlows.CameraCapture.reviewRetry": "No, intentar de nuevo",
11
+ "dynamicFlows.CameraCapture.reviewSubmit": "Sí, enviar",
12
+ "dynamicFlows.ControlFeedback.maxLength": "Introduce {maxLength} caracteres o menos.",
13
+ "dynamicFlows.ControlFeedback.maximum": "Introduce una cifra igual o inferior a {maximum}.",
14
+ "dynamicFlows.ControlFeedback.maximumDate": "Introduce una fecha que sea igual o anterior al {maximum}.",
15
+ "dynamicFlows.ControlFeedback.minLength": "Introduce al menos {minLength} caracteres.",
16
+ "dynamicFlows.ControlFeedback.minimum": "Introduce una cifra igual o inferior a {minimum}.",
17
+ "dynamicFlows.ControlFeedback.minimumDate": "Introduce una fecha que sea igual o posterior al {minimum}.",
18
+ "dynamicFlows.ControlFeedback.pattern": "Utiliza el formato correcto.",
19
+ "dynamicFlows.ControlFeedback.patternDate": "Introduce la fecha en un formato correcto.",
20
+ "dynamicFlows.ControlFeedback.required": "Completa este campo.",
21
+ "dynamicFlows.ControlFeedback.type": "Tipo incorrecto",
22
+ "dynamicFlows.DynamicExternal.retryTitle": "Reabrir ventana",
23
+ "dynamicFlows.DynamicParagraph.copied": "Copiado al portapapeles",
24
+ "dynamicFlows.DynamicParagraph.copy": "Copiar",
25
+ "dynamicFlows.ErrorBoundary.errorAlert": "Vaya. Algo ha salido mal...",
26
+ "dynamicFlows.ErrorBoundary.retry": "Reintentar",
27
+ "dynamicFlows.Help.ariaLabel": "Haz clic aquí para obtener más información.",
28
+ "dynamicFlows.MultipleFileUploadSchema.maxFileSizeError": "Lo sentimos, el archivo pesa demasiado. Sube uno más pequeño.",
29
+ "dynamicFlows.MultipleFileUploadSchema.maxItemsError": "Sube {maxItems} o menos archivos.",
30
+ "dynamicFlows.MultipleFileUploadSchema.minItemsError": "Sube al menos {minItems} archivo(s).",
31
+ "dynamicFlows.PersistAsyncSchema.genericError": "Algo ha ido mal. Vuelve a intentarlo más tarde.",
32
+ "dynamicFlows.ReadOnlySchema.no": "No",
33
+ "dynamicFlows.ReadOnlySchema.yes": "Sí"
34
+ }