@wise/dynamic-flow-client 5.9.1 → 5.9.2-logging-bf0bd22

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 (402) hide show
  1. package/build/main.js +7 -1
  2. package/build/main.mjs +7 -1
  3. package/package.json +9 -8
  4. package/build/DynamicFlowCore.js +0 -5
  5. package/build/common/errorBoundary/ErrorBoundary.js +0 -26
  6. package/build/common/errorBoundary/ErrorBoundary.test.js +0 -29
  7. package/build/common/errorBoundary/ErrorBoundaryAlert.js +0 -11
  8. package/build/common/makeHttpClient/api-utils.js +0 -3
  9. package/build/common/makeHttpClient/index.js +0 -1
  10. package/build/common/makeHttpClient/makeHttpClient.js +0 -10
  11. package/build/common/makeHttpClient/makeHttpClient.test.js +0 -186
  12. package/build/common/messages/external-confirmation.messages.js +0 -23
  13. package/build/common/messages/file-upload.messages.js +0 -13
  14. package/build/common/messages/generic-error.messages.js +0 -18
  15. package/build/common/messages/help.messages.js +0 -8
  16. package/build/common/messages/multi-file-upload.messages.js +0 -18
  17. package/build/common/messages/multi-select.messages.js +0 -8
  18. package/build/common/messages/paragraph.messages.js +0 -13
  19. package/build/common/messages/repeatable.messages.js +0 -23
  20. package/build/common/messages/search.messages.js +0 -8
  21. package/build/common/messages/validation.array.messages.js +0 -13
  22. package/build/common/messages/validation.messages.js +0 -53
  23. package/build/controller/FlowController.js +0 -368
  24. package/build/controller/executePoll.js +0 -49
  25. package/build/controller/executeRefresh.js +0 -39
  26. package/build/controller/executeRequest.js +0 -77
  27. package/build/controller/executeSubmission.js +0 -69
  28. package/build/controller/getErrorMessage.js +0 -7
  29. package/build/controller/getRequestAbortController.js +0 -13
  30. package/build/controller/getResponseType.js +0 -35
  31. package/build/controller/getSafeHttpClient.js +0 -8
  32. package/build/controller/getStepCounter.js +0 -16
  33. package/build/controller/handleErrorResponse.js +0 -26
  34. package/build/controller/makeSafeHttpClient.js +0 -8
  35. package/build/controller/response-utils.js +0 -72
  36. package/build/domain/components/AlertComponent.js +0 -1
  37. package/build/domain/components/AllOfComponent.js +0 -40
  38. package/build/domain/components/BooleanInputComponent.js +0 -50
  39. package/build/domain/components/BoxComponent.js +0 -3
  40. package/build/domain/components/ButtonComponent.js +0 -1
  41. package/build/domain/components/ColumnsComponent.js +0 -3
  42. package/build/domain/components/ConstComponent.js +0 -18
  43. package/build/domain/components/ContainerComponent.js +0 -3
  44. package/build/domain/components/DateInputComponent.js +0 -75
  45. package/build/domain/components/DecisionComponent.js +0 -1
  46. package/build/domain/components/DividerComponent.js +0 -1
  47. package/build/domain/components/FormComponent.js +0 -3
  48. package/build/domain/components/FormattedValueComponent.js +0 -44
  49. package/build/domain/components/HeadingComponent.js +0 -1
  50. package/build/domain/components/ImageComponent.js +0 -1
  51. package/build/domain/components/InstructionsComponent.js +0 -1
  52. package/build/domain/components/IntegerInputComponent.js +0 -74
  53. package/build/domain/components/ListComponent.js +0 -1
  54. package/build/domain/components/LoadingIndicatorComponent.js +0 -1
  55. package/build/domain/components/MarkdownComponent.js +0 -1
  56. package/build/domain/components/MediaComponent.js +0 -1
  57. package/build/domain/components/ModalComponent.js +0 -16
  58. package/build/domain/components/ModalLayoutComponent.js +0 -3
  59. package/build/domain/components/MoneyInputComponent.js +0 -57
  60. package/build/domain/components/MultiSelectInputComponent.js +0 -81
  61. package/build/domain/components/MultiUploadInputComponent.js +0 -88
  62. package/build/domain/components/NumberInputComponent.js +0 -73
  63. package/build/domain/components/ObjectComponent.js +0 -45
  64. package/build/domain/components/ParagraphComponent.js +0 -1
  65. package/build/domain/components/PersistAsyncComponent.js +0 -92
  66. package/build/domain/components/ProgressComponent.js +0 -1
  67. package/build/domain/components/RepeatableComponent.js +0 -103
  68. package/build/domain/components/ReviewComponent.js +0 -1
  69. package/build/domain/components/RootDomainComponent.js +0 -173
  70. package/build/domain/components/SectionComponent.js +0 -5
  71. package/build/domain/components/SelectInputComponent.js +0 -88
  72. package/build/domain/components/StatusListComponent.js +0 -1
  73. package/build/domain/components/SubflowDomainComponent.js +0 -9
  74. package/build/domain/components/TabsComponent.js +0 -1
  75. package/build/domain/components/TextInputComponent.js +0 -76
  76. package/build/domain/components/TupleComponent.js +0 -41
  77. package/build/domain/components/UploadInputComponent.js +0 -83
  78. package/build/domain/components/UpsellComponent.js +0 -25
  79. package/build/domain/components/searchComponent/SearchComponent.js +0 -92
  80. package/build/domain/components/searchComponent/SearchComponent.test.js +0 -190
  81. package/build/domain/components/step/ExternalConfirmationComponent.js +0 -28
  82. package/build/domain/components/step/StepDomainComponent.js +0 -78
  83. package/build/domain/components/step/ToolbarComponent.js +0 -1
  84. package/build/domain/components/utils/WithUpdate.js +0 -1
  85. package/build/domain/components/utils/component-utils.js +0 -12
  86. package/build/domain/components/utils/debounce.js +0 -34
  87. package/build/domain/components/utils/debounce.test.js +0 -67
  88. package/build/domain/components/utils/file-utils.js +0 -21
  89. package/build/domain/components/utils/file-utils.test.js +0 -27
  90. package/build/domain/components/utils/getRandomId.js +0 -1
  91. package/build/domain/components/utils/isExactLocalValueMatch.js +0 -14
  92. package/build/domain/components/utils/isOrWasValid.js +0 -5
  93. package/build/domain/components/utils/isPartialModelMatch.js +0 -18
  94. package/build/domain/components/utils/isPartialModelMatch.test.js +0 -74
  95. package/build/domain/features/eventNames.js +0 -24
  96. package/build/domain/features/events.js +0 -1
  97. package/build/domain/features/persistAsync/getComponentMultiPersistAsync.js +0 -50
  98. package/build/domain/features/persistAsync/getInitialPersistedState.js +0 -7
  99. package/build/domain/features/persistAsync/getPerformPersistAsync.js +0 -43
  100. package/build/domain/features/persistAsync/getPerformPersistAsync.test.js +0 -139
  101. package/build/domain/features/polling/getStepPolling.js +0 -43
  102. package/build/domain/features/polling/getStepPolling.test.js +0 -90
  103. package/build/domain/features/prefetch/getStepPrefetch.js +0 -43
  104. package/build/domain/features/prefetch/request-cache.js +0 -49
  105. package/build/domain/features/prefetch/request-cache.test.js +0 -70
  106. package/build/domain/features/refreshAfter/getStepRefreshAfter.js +0 -24
  107. package/build/domain/features/refreshAfter/getStepRefreshAfter.test.js +0 -40
  108. package/build/domain/features/schema-on-change/getDebouncedSchemaOnChange.js +0 -50
  109. package/build/domain/features/schema-on-change/getSchemaOnChange.js +0 -34
  110. package/build/domain/features/search/getPerformSearchFunction.js +0 -75
  111. package/build/domain/features/search/getPerformSearchFunction.test.js +0 -301
  112. package/build/domain/features/summary/summary-utils.js +0 -40
  113. package/build/domain/features/summary/summary-utils.test.js +0 -125
  114. package/build/domain/features/utils/http-utils.js +0 -21
  115. package/build/domain/features/utils/response-utils.js +0 -9
  116. package/build/domain/features/validation/spec-utils.js +0 -19
  117. package/build/domain/features/validation/validateStringPattern.js +0 -24
  118. package/build/domain/features/validation/validation-functions.js +0 -6
  119. package/build/domain/features/validation/validation-functions.test.js +0 -108
  120. package/build/domain/features/validation/value-checks.js +0 -125
  121. package/build/domain/features/validation/value-checks.test.js +0 -262
  122. package/build/domain/features/validationAsync/getComponentValidationAsync.js +0 -53
  123. package/build/domain/features/validationAsync/getComponentValidationAsync.test.js +0 -67
  124. package/build/domain/features/validationAsync/getInitialValidationAsyncState.js +0 -5
  125. package/build/domain/features/validationAsync/getPerformValidationAsync.js +0 -45
  126. package/build/domain/features/validationAsync/getPerformValidationAsync.test.js +0 -143
  127. package/build/domain/mappers/layout/alertLayoutToComponent.js +0 -16
  128. package/build/domain/mappers/layout/boxLayoutToComponent.js +0 -13
  129. package/build/domain/mappers/layout/buttonLayoutToComponent.js +0 -77
  130. package/build/domain/mappers/layout/columnsLayoutToComponent.js +0 -13
  131. package/build/domain/mappers/layout/decisionLayoutToComponent.js +0 -22
  132. package/build/domain/mappers/layout/deprecatedListLayoutToComponent.js +0 -30
  133. package/build/domain/mappers/layout/dividerLayoutToComponent.js +0 -2
  134. package/build/domain/mappers/layout/formLayoutToComponent.js +0 -19
  135. package/build/domain/mappers/layout/headingLayoutToComponent.js +0 -12
  136. package/build/domain/mappers/layout/imageLayoutToComponent.js +0 -20
  137. package/build/domain/mappers/layout/infoLayoutToComponent.js +0 -12
  138. package/build/domain/mappers/layout/instructionsLayoutToComponent.js +0 -12
  139. package/build/domain/mappers/layout/listLayoutToComponent.js +0 -39
  140. package/build/domain/mappers/layout/loadingIndicatorLayoutToComponent.js +0 -9
  141. package/build/domain/mappers/layout/markdownLayoutToComponent.js +0 -12
  142. package/build/domain/mappers/layout/mediaLayoutToComponent.js +0 -12
  143. package/build/domain/mappers/layout/modalLayoutToComponent.js +0 -17
  144. package/build/domain/mappers/layout/modalToComponent.js +0 -8
  145. package/build/domain/mappers/layout/paragraphLayoutToComponent.js +0 -12
  146. package/build/domain/mappers/layout/progressLayoutToComponent.js +0 -15
  147. package/build/domain/mappers/layout/reviewLayoutToComponent.js +0 -48
  148. package/build/domain/mappers/layout/searchLayoutToComponent.js +0 -44
  149. package/build/domain/mappers/layout/sectionLayoutToComponent.js +0 -15
  150. package/build/domain/mappers/layout/statusListLayoutToComponent.js +0 -15
  151. package/build/domain/mappers/layout/tabsLayoutToComponent.js +0 -16
  152. package/build/domain/mappers/layout/upsellLayoutToComponent.js +0 -25
  153. package/build/domain/mappers/mapLayoutToComponent.js +0 -81
  154. package/build/domain/mappers/mapSchemaToComponent.js +0 -61
  155. package/build/domain/mappers/mapSchemaToComponent.test.js +0 -112
  156. package/build/domain/mappers/mapStepSchemas.js +0 -15
  157. package/build/domain/mappers/mapStepToComponent.js +0 -133
  158. package/build/domain/mappers/mapStepToComponent.test.js +0 -221
  159. package/build/domain/mappers/mapToolbarToComponent.js +0 -15
  160. package/build/domain/mappers/schema/allOfSchemaToComponent.js +0 -16
  161. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToComponent.js +0 -26
  162. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiSelectComponent.js +0 -55
  163. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiUploadComponent.js +0 -67
  164. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToRepeatableComponent.js +0 -57
  165. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToTupleComponent.js +0 -20
  166. package/build/domain/mappers/schema/blobSchemaToComponent.js +0 -15
  167. package/build/domain/mappers/schema/booleanSchemaToComponent.js +0 -29
  168. package/build/domain/mappers/schema/constSchemaToComponent.js +0 -23
  169. package/build/domain/mappers/schema/integerSchemaToComponent.js +0 -28
  170. package/build/domain/mappers/schema/numberSchemaToComponent.js +0 -26
  171. package/build/domain/mappers/schema/objectSchemaToComponent/assertDisplayOrder.js +0 -23
  172. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToFormattedValueComponent.js +0 -9
  173. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.js +0 -119
  174. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.test.js +0 -96
  175. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.js +0 -31
  176. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.test.js +0 -99
  177. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.js +0 -66
  178. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.test.js +0 -225
  179. package/build/domain/mappers/schema/persistAsyncSchemaToComponent.js +0 -29
  180. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.js +0 -18
  181. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.test.js +0 -133
  182. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.js +0 -48
  183. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToTextInputComponent.js +0 -37
  184. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToUploadInputComponent.js +0 -28
  185. package/build/domain/mappers/schema/tests/test-utils.js +0 -16
  186. package/build/domain/mappers/schema/types.js +0 -1
  187. package/build/domain/mappers/schema/utils/getPerformPersistAsyncFn.js +0 -19
  188. package/build/domain/mappers/schema/utils/getValidationAsyncInitialState.js +0 -23
  189. package/build/domain/mappers/schema/utils/mapCommonSchemaProps.js +0 -16
  190. package/build/domain/mappers/types.js +0 -1
  191. package/build/domain/mappers/utils/FeatureFlags.js +0 -22
  192. package/build/domain/mappers/utils/behavior-utils.js +0 -44
  193. package/build/domain/mappers/utils/call-to-action-utils.js +0 -21
  194. package/build/domain/mappers/utils/getAutocompleteString.js +0 -76
  195. package/build/domain/mappers/utils/getAutocompleteString.test.js +0 -21
  196. package/build/domain/mappers/utils/groupLayoutByPinned.js +0 -38
  197. package/build/domain/mappers/utils/groupLayoutByPinned.test.js +0 -166
  198. package/build/domain/mappers/utils/image.js +0 -9
  199. package/build/domain/mappers/utils/layout-utils.js +0 -11
  200. package/build/domain/mappers/utils/legacy-utils.js +0 -49
  201. package/build/domain/mappers/utils/media-utils.js +0 -14
  202. package/build/domain/mappers/utils/suggestions-utils.js +0 -26
  203. package/build/domain/mappers/utils/suggestions-utils.test.js +0 -36
  204. package/build/domain/mappers/utils/tags-utils.js +0 -1
  205. package/build/domain/mappers/utils/utils.js +0 -35
  206. package/build/domain/types.js +0 -1
  207. package/build/getSubflowCallbacks.js +0 -38
  208. package/build/i18n/index.js +0 -40
  209. package/build/index.js +0 -8
  210. package/build/renderers/CoreContainerRenderer.js +0 -5
  211. package/build/renderers/CoreRootRenderer.js +0 -12
  212. package/build/renderers/EmptyLoadingStateRenderer.js +0 -5
  213. package/build/renderers/getRenderFunction.js +0 -24
  214. package/build/renderers/getSchemaErrorMessageFunction.js +0 -97
  215. package/build/renderers/mappers/alertComponentToProps.js +0 -2
  216. package/build/renderers/mappers/allOfComponentToProps.js +0 -6
  217. package/build/renderers/mappers/booleanInputComponentToProps.js +0 -5
  218. package/build/renderers/mappers/boxComponentToProps.js +0 -13
  219. package/build/renderers/mappers/buttonComponentToProps.js +0 -4
  220. package/build/renderers/mappers/columnsComponentToProps.js +0 -11
  221. package/build/renderers/mappers/componentToRendererProps.js +0 -164
  222. package/build/renderers/mappers/constComponentToProps.js +0 -5
  223. package/build/renderers/mappers/containerComponentToProps.js +0 -7
  224. package/build/renderers/mappers/dateInputComponentToProps.js +0 -2
  225. package/build/renderers/mappers/decisionComponentToProps.js +0 -16
  226. package/build/renderers/mappers/dividerComponentToProps.js +0 -2
  227. package/build/renderers/mappers/externalComponentToProps.js +0 -3
  228. package/build/renderers/mappers/formComponentToProps.js +0 -12
  229. package/build/renderers/mappers/formattedValueComponentToProps.js +0 -5
  230. package/build/renderers/mappers/headingComponentToProps.js +0 -2
  231. package/build/renderers/mappers/hiddenComponentToProps.js +0 -4
  232. package/build/renderers/mappers/imageComponentToProps.js +0 -2
  233. package/build/renderers/mappers/instructionsComponentToProps.js +0 -2
  234. package/build/renderers/mappers/integerInputComponentToProps.js +0 -2
  235. package/build/renderers/mappers/listComponentToProps.js +0 -2
  236. package/build/renderers/mappers/loadingIndicatorComponentToProps.js +0 -2
  237. package/build/renderers/mappers/markdownComponentToProps.js +0 -2
  238. package/build/renderers/mappers/mediaComponentToProps.js +0 -2
  239. package/build/renderers/mappers/modalComponentToProps.js +0 -11
  240. package/build/renderers/mappers/modalLayoutComponentToProps.js +0 -16
  241. package/build/renderers/mappers/moneyInputComponentToProps.js +0 -36
  242. package/build/renderers/mappers/multiSelectComponentToProps.js +0 -23
  243. package/build/renderers/mappers/multiUploadInputComponentToProps.js +0 -12
  244. package/build/renderers/mappers/numberInputComponentToProps.js +0 -2
  245. package/build/renderers/mappers/objectComponentToProps.js +0 -8
  246. package/build/renderers/mappers/paragraphComponentToProps.js +0 -2
  247. package/build/renderers/mappers/persistAsyncComponentToProps.js +0 -8
  248. package/build/renderers/mappers/progressComponentToProps.js +0 -2
  249. package/build/renderers/mappers/repeatableComponentToProps.js +0 -30
  250. package/build/renderers/mappers/reviewComponentToProps.js +0 -2
  251. package/build/renderers/mappers/rootComponentToProps.js +0 -21
  252. package/build/renderers/mappers/searchComponentToProps.js +0 -57
  253. package/build/renderers/mappers/sectionComponentToProps.js +0 -6
  254. package/build/renderers/mappers/selectInputComponentToProps.js +0 -34
  255. package/build/renderers/mappers/statusListComponentToProps.js +0 -2
  256. package/build/renderers/mappers/subflowComponentToRendererProps.js +0 -4
  257. package/build/renderers/mappers/tabsComponentToProps.js +0 -14
  258. package/build/renderers/mappers/textInputComponentToProps.js +0 -2
  259. package/build/renderers/mappers/tupleComponentToProps.js +0 -8
  260. package/build/renderers/mappers/uploadInputComponentToProps.js +0 -8
  261. package/build/renderers/mappers/upsellComponentToProps.js +0 -2
  262. package/build/renderers/mappers/utils/getValidationState.js +0 -12
  263. package/build/renderers/mappers/utils/inputComponentToProps.js +0 -26
  264. package/build/renderers/mappers/utils/mapErrorsToValidationState.js +0 -9
  265. package/build/renderers/mappers/utils/pick.js +0 -8
  266. package/build/renderers/mappers/utils/selectInputOptionsToProps.js +0 -11
  267. package/build/renderers/stepComponentToProps.js +0 -32
  268. package/build/renderers/utils.js +0 -69
  269. package/build/renderers/utils.test.js +0 -70
  270. package/build/stories/dev-tools/ContainerQueries.story.js +0 -66
  271. package/build/stories/dev-tools/Debugger.story.js +0 -38
  272. package/build/stories/dev-tools/FixtureSelect.story.js +0 -23
  273. package/build/stories/dev-tools/TestServer.story.js +0 -32
  274. package/build/stories/examples/NativeFlow.story.js +0 -80
  275. package/build/stories/examples/Recipients.story.js +0 -568
  276. package/build/stories/spec/behavior/Copy.story.js +0 -59
  277. package/build/stories/spec/behavior/Modal.story.js +0 -76
  278. package/build/stories/spec/behavior/Subflow.story.js +0 -267
  279. package/build/stories/spec/layouts/Decision.story.js +0 -241
  280. package/build/stories/spec/layouts/Image.story.js +0 -42
  281. package/build/stories/spec/layouts/Modal.story.js +0 -81
  282. package/build/stories/spec/layouts/Search.story.js +0 -325
  283. package/build/stories/spec/layouts/Upsell.story.js +0 -55
  284. package/build/stories/spec/layouts/button/Button.story.js +0 -100
  285. package/build/stories/spec/layouts/button/PinnedButton.story.js +0 -81
  286. package/build/stories/spec/response/ActionResponse.story.js +0 -66
  287. package/build/stories/spec/schemas/MultiSelect.story.js +0 -148
  288. package/build/stories/spec/schemas/Upload.story.js +0 -168
  289. package/build/stories/spec/schemas/const/ConstLayout.story.js +0 -159
  290. package/build/stories/spec/schemas/const/ObjectConst.story.js +0 -94
  291. package/build/stories/spec/schemas/features/PersistAsync.story.js +0 -211
  292. package/build/stories/spec/schemas/features/ValidationAsync.story.js +0 -103
  293. package/build/stories/spec/schemas/object/FormattedValue.story.js +0 -92
  294. package/build/stories/spec/schemas/object/MoneyInput.story.js +0 -240
  295. package/build/stories/spec/schemas/oneOf/OneOfInitialisation.story.js +0 -55
  296. package/build/stories/spec/schemas/oneOf/OneOfWithSingleOption.story.js +0 -114
  297. package/build/stories/spec/step/Controls.story.js +0 -109
  298. package/build/stories/spec/step/DFModal.story.js +0 -58
  299. package/build/stories/spec/step/Footer.story.js +0 -70
  300. package/build/stories/spec/step/Navigation.story.js +0 -20
  301. package/build/stories/spec/step/Tags.story.js +0 -39
  302. package/build/stories/spec/step/ToolBar.story.js +0 -60
  303. package/build/stories/spec/step/features/ErrorHandling.story.js +0 -92
  304. package/build/stories/spec/step/features/External.story.js +0 -44
  305. package/build/stories/spec/step/features/Polling.story.js +0 -108
  306. package/build/stories/spec/step/features/RefreshAfter.story.js +0 -92
  307. package/build/stories/spec/step/features/refresh/Refresh.story.js +0 -258
  308. package/build/stories/spec/step/features/refresh/RefreshWithPersistAsync.story.js +0 -958
  309. package/build/stories/types.js +0 -1
  310. package/build/stories/utils/fixtureHttpClient.js +0 -70
  311. package/build/stories/utils/getBasicStep.js +0 -223
  312. package/build/stories/utils/mockSearchHandler.js +0 -71
  313. package/build/stories/utils/render-utils.js +0 -41
  314. package/build/stories/visual-tests/layouts/NotUsingListItem.story.js +0 -17
  315. package/build/test-utils/DynamicFlowWise.js +0 -32
  316. package/build/test-utils/DynamicFlowWiseModal.js +0 -34
  317. package/build/test-utils/NeptuneProviders.js +0 -11
  318. package/build/test-utils/component-utils.js +0 -5
  319. package/build/test-utils/fetch-utils.js +0 -45
  320. package/build/test-utils/getMergedTestRenderers.js +0 -34
  321. package/build/test-utils/getRandomId.js +0 -1
  322. package/build/test-utils/index.js +0 -3
  323. package/build/test-utils/rtl-utils.js +0 -7
  324. package/build/test-utils/step-utils.js +0 -6
  325. package/build/test-utils/wait.js +0 -3
  326. package/build/tests/AlertLayout.test.js +0 -78
  327. package/build/tests/ArrayTuple.test.js +0 -118
  328. package/build/tests/ButtonLayout.test.js +0 -308
  329. package/build/tests/ConstLayout.test.js +0 -95
  330. package/build/tests/DateInput.test.js +0 -163
  331. package/build/tests/DecisionLayout.test.js +0 -146
  332. package/build/tests/DynamicFlow.test.js +0 -147
  333. package/build/tests/External.test.js +0 -169
  334. package/build/tests/Flow.test.js +0 -328
  335. package/build/tests/FormLayout.test.js +0 -28
  336. package/build/tests/FormattedValue.test.js +0 -107
  337. package/build/tests/ImageRenderer.test.js +0 -78
  338. package/build/tests/InitialAction.test.js +0 -179
  339. package/build/tests/InitialStep.test.js +0 -168
  340. package/build/tests/InstructionsLayout.test.js +0 -45
  341. package/build/tests/ListLayout.test.js +0 -145
  342. package/build/tests/Logging.test.js +0 -53
  343. package/build/tests/ModalBehavior.test.js +0 -149
  344. package/build/tests/MoneyInput.test.js +0 -316
  345. package/build/tests/MultiUpload.test.js +0 -293
  346. package/build/tests/NativeBack.test.js +0 -267
  347. package/build/tests/OneOfInitialisation.test.js +0 -571
  348. package/build/tests/PersistAsync.test.js +0 -686
  349. package/build/tests/Polling.test.js +0 -617
  350. package/build/tests/Prefetching.test.js +0 -230
  351. package/build/tests/RefreshAfter.test.js +0 -63
  352. package/build/tests/RefreshOnChange.ResponseHandling.test.js +0 -205
  353. package/build/tests/RefreshOnChange.test.js +0 -233
  354. package/build/tests/RefreshOnChange.with.Segmented.test.js +0 -348
  355. package/build/tests/RefreshOnChange.with.Tabs.test.js +0 -358
  356. package/build/tests/RefreshOnChangePreserve.test.js +0 -224
  357. package/build/tests/RendererProps.test.js +0 -342
  358. package/build/tests/Repeatable.test.js +0 -107
  359. package/build/tests/Rerendering.test.js +0 -67
  360. package/build/tests/ReviewLayout.test.js +0 -274
  361. package/build/tests/SchemaOnChange.test.js +0 -133
  362. package/build/tests/SchemaReferences.test.js +0 -88
  363. package/build/tests/ScrollToError.test.js +0 -217
  364. package/build/tests/SegmentedControl.test.js +0 -49
  365. package/build/tests/SingleFileUpload.test.js +0 -88
  366. package/build/tests/StatusList.test.js +0 -85
  367. package/build/tests/Subflow.test.js +0 -710
  368. package/build/tests/Submission.ResponseHandling.test.js +0 -557
  369. package/build/tests/Submission.merging.test.js +0 -202
  370. package/build/tests/Submission.test.js +0 -603
  371. package/build/tests/Tags.test.js +0 -475
  372. package/build/tests/Upsell.test.js +0 -126
  373. package/build/tests/ValidationAsync.test.js +0 -295
  374. package/build/tests/legacy/Actions.test.js +0 -158
  375. package/build/tests/legacy/BackButton.test.js +0 -114
  376. package/build/tests/legacy/HiddenSchemas.test.js +0 -246
  377. package/build/tests/legacy/MultiSelect.test.js +0 -497
  378. package/build/tests/legacy/MultipleFileUploadSchema.test.js +0 -341
  379. package/build/tests/legacy/PersistAsync.blob-schema.test.js +0 -224
  380. package/build/tests/legacy/PersistAsync.string-schema.test.js +0 -211
  381. package/build/tests/legacy/RefreshStepOnChange.debouncing.test.js +0 -209
  382. package/build/tests/legacy/RefreshStepOnChange.test.js +0 -424
  383. package/build/tests/legacy/Search.test.js +0 -437
  384. package/build/tests/renderers/MultiSelectInputRendererProps.test.js +0 -58
  385. package/build/tests/renderers/SelectInputRendererProps.test.js +0 -43
  386. package/build/tests/renderers/TextInputRenderer.test.js +0 -51
  387. package/build/types.js +0 -1
  388. package/build/useDynamicFlow.js +0 -104
  389. package/build/useDynamicFlowModal.js +0 -58
  390. package/build/utils/analyse-step.js +0 -14
  391. package/build/utils/component-utils.js +0 -8
  392. package/build/utils/component-utils.test.js +0 -113
  393. package/build/utils/getScrollToTop.js +0 -12
  394. package/build/utils/normalise-flow-id.js +0 -1
  395. package/build/utils/normalise-flow-id.test.js +0 -24
  396. package/build/utils/openLinkInNewTab.js +0 -10
  397. package/build/utils/recursiveMerge.js +0 -40
  398. package/build/utils/recursiveMerge.test.js +0 -93
  399. package/build/utils/type-utils.js +0 -21
  400. package/build/utils/type-validators.js +0 -11
  401. package/build/utils/type-validators.test.js +0 -180
  402. package/build/utils/useStableCallback.js +0 -15
@@ -1,211 +0,0 @@
1
- import { getMockHttpClient, respondWith } from '../../../../test-utils';
2
- import { respondWithDelay } from '../../../../test-utils/fetch-utils';
3
- import DynamicFlowWise from '../../../../test-utils/DynamicFlowWise';
4
- import { renderWithStep } from '../../../utils/render-utils';
5
- const httpClient = getMockHttpClient({
6
- '/submit': async () => respondWithDelay({
7
- id: 'new-df-flow-id',
8
- title: 'Success',
9
- layout: [],
10
- schemas: [],
11
- }, 1000),
12
- '/persist-async': async () => respondWith({ token: '123' }),
13
- '/persist-async-delayed-2s': async () => respondWithDelay({ token: '123' }, 2000),
14
- '/persist-async-delayed-5s': async () => respondWithDelay({ token: '345' }, 5000),
15
- '/persist-async-generic-failure': async () => Promise.reject(new Error('Failed to persist')),
16
- '/persist-async-validation-failure': async () => Promise.resolve(new Response(JSON.stringify({ validation: { param: 'Invalid field' } }), { status: 401 })),
17
- '/persist-async-file-upload': async () => respondWithDelay({ token: '123' }, 1000),
18
- '/persist-async-file-upload-fail': async () => respondWith({
19
- validation: {
20
- document: 'This is a custom, server-side, error message',
21
- },
22
- }, { status: 401 }),
23
- });
24
- export default {
25
- component: DynamicFlowWise,
26
- title: 'Spec/Schemas/Features/Persist Async',
27
- parameters: {
28
- chromatic: { disableSnapshot: true },
29
- },
30
- };
31
- export function BasicPersistAsync() {
32
- return renderWithStep(getBasicStep('/persist-async'), httpClient);
33
- }
34
- export function PersistAsyncWithDelay() {
35
- return renderWithStep(getBasicStep('/persist-async-delayed-2s'), httpClient);
36
- }
37
- export function MultiplePersistAsyncWithDelay() {
38
- return renderWithStep(getComplexStepWithDelay(), httpClient);
39
- }
40
- export function PersistAsyncGenericFailure() {
41
- return renderWithStep(getBasicStep('/persist-async-generic-failure'), httpClient);
42
- }
43
- export function PersistAsyncValidationFailure() {
44
- return renderWithStep(getBasicStep('/persist-async-validation-failure'), httpClient);
45
- }
46
- export function PersistAsyncValidationFailureWithObjectSchemaWrapper() {
47
- return renderWithStep(getBasicStepWithObjectWrapper('/persist-async-validation-failure'), httpClient);
48
- }
49
- export function PersistAsyncFileUpload() {
50
- return renderWithStep(getFileUploadStep(), httpClient);
51
- }
52
- export function PersistAsyncFileUploadWithAutoSubmit() {
53
- return renderWithStep(getFileUploadStep(true), httpClient);
54
- }
55
- const getBasicStep = (url) => ({
56
- id: 'step-id',
57
- title: 'Persist async on text input',
58
- schemas: [
59
- {
60
- $id: '#schema',
61
- type: 'string',
62
- persistAsync: {
63
- method: 'POST',
64
- url,
65
- param: 'param',
66
- idProperty: 'token',
67
- schema: { title: 'Card number', type: 'number' },
68
- },
69
- },
70
- ],
71
- layout: [
72
- { type: 'form', schemaId: '#schema' },
73
- {
74
- type: 'button',
75
- title: 'Submit',
76
- action: { url: '/submit', method: 'POST' },
77
- },
78
- ],
79
- model: 'the-token',
80
- });
81
- const getBasicStepWithObjectWrapper = (url) => ({
82
- id: 'step-id',
83
- title: 'Persist async on text input',
84
- schemas: [
85
- {
86
- $id: '#schema',
87
- type: 'object',
88
- displayOrder: ['field'],
89
- properties: {
90
- field: {
91
- type: 'string',
92
- persistAsync: {
93
- method: 'POST',
94
- url,
95
- param: 'param',
96
- idProperty: 'token',
97
- schema: { title: 'Card number', type: 'number' },
98
- },
99
- },
100
- },
101
- },
102
- ],
103
- layout: [
104
- { type: 'form', schemaId: '#schema' },
105
- {
106
- type: 'button',
107
- title: 'Submit',
108
- action: { url: '/submit', method: 'POST' },
109
- },
110
- ],
111
- model: 'the-token',
112
- });
113
- const getComplexStepWithDelay = () => ({
114
- id: 'step-id',
115
- title: 'Persist async on text input',
116
- schemas: [
117
- {
118
- $id: '#schema',
119
- type: 'object',
120
- displayOrder: ['name', 'number'],
121
- properties: {
122
- name: {
123
- type: 'string',
124
- persistAsync: {
125
- method: 'POST',
126
- url: '/persist-async-delayed-5s',
127
- param: 'param',
128
- idProperty: 'token',
129
- schema: { title: 'Name on card', type: 'string' },
130
- },
131
- },
132
- number: {
133
- type: 'string',
134
- persistAsync: {
135
- method: 'POST',
136
- url: '/persist-async-delayed-2s',
137
- param: 'param',
138
- idProperty: 'token',
139
- schema: { title: 'Card number', type: 'string' },
140
- },
141
- },
142
- },
143
- },
144
- ],
145
- layout: [
146
- { type: 'form', schemaId: '#schema' },
147
- {
148
- type: 'button',
149
- title: 'Submit',
150
- action: { url: '/submit', method: 'POST' },
151
- },
152
- ],
153
- });
154
- const getFileUploadStep = (submitOnChange = false) => ({
155
- id: 'step-id',
156
- title: 'Persist async on file upload',
157
- schemas: [
158
- {
159
- $id: '#schema',
160
- type: 'object',
161
- displayOrder: ['okFile', 'failFile'],
162
- properties: {
163
- okFile: {
164
- type: 'string',
165
- persistAsync: {
166
- method: 'POST',
167
- url: '/persist-async-file-upload',
168
- param: 'document',
169
- idProperty: 'token',
170
- schema: {
171
- title: 'Upload any file',
172
- description: 'The request should succeed.',
173
- type: 'blob',
174
- },
175
- },
176
- onChange: submitOnChange
177
- ? {
178
- type: 'action',
179
- action: {
180
- url: '/submit',
181
- },
182
- }
183
- : undefined,
184
- },
185
- failFile: {
186
- type: 'string',
187
- persistAsync: {
188
- method: 'POST',
189
- url: '/persist-async-file-upload-fail',
190
- param: 'document',
191
- idProperty: 'token',
192
- schema: {
193
- title: 'Upload any file',
194
- description: 'The request should fail with a custom error mesage.',
195
- type: 'blob',
196
- },
197
- },
198
- },
199
- },
200
- },
201
- ],
202
- layout: [
203
- { type: 'form', schemaId: '#schema' },
204
- {
205
- type: 'button',
206
- title: 'Submit',
207
- control: 'primary',
208
- action: { url: '/submit', method: 'POST' },
209
- },
210
- ],
211
- });
@@ -1,103 +0,0 @@
1
- import { getMockHttpClient, respondWith, respondWithEmptyOk } from '../../../../test-utils';
2
- import DynamicFlowWise from '../../../../test-utils/DynamicFlowWise';
3
- import { renderWithStep } from '../../../utils/render-utils';
4
- const validationAsyncConfig = {
5
- method: 'POST',
6
- url: '/validate',
7
- param: 'param',
8
- };
9
- const getHttpClient = (validateAsync = 'failValidation') => getMockHttpClient({
10
- '/submit': async (input, init) => {
11
- console.log(input, init && JSON.parse(init.body));
12
- return respondWith({
13
- title: 'Success',
14
- schemas: [],
15
- layout: [{ type: 'heading', title: 'Success' }],
16
- });
17
- },
18
- '/validate': async (input, init) => {
19
- switch (validateAsync) {
20
- case 'failGenerically':
21
- return Promise.reject(new Error('Failed to validate'));
22
- case 'failValidation':
23
- return Promise.resolve(new Response(JSON.stringify({ message: 'This field is invalid' }), {
24
- status: 422,
25
- }));
26
- case 'succeedWithMessage':
27
- return respondWith({ message: 'This field is super valid' });
28
- case 'succeed':
29
- default:
30
- return respondWithEmptyOk();
31
- }
32
- },
33
- '/persist-async': async (input, init) => {
34
- return respondWith({ token: '123' });
35
- },
36
- });
37
- export default {
38
- component: DynamicFlowWise,
39
- title: 'Spec/Schemas/Features/Validation Async',
40
- parameters: {
41
- chromatic: { disableSnapshot: true },
42
- },
43
- argTypes: {
44
- validateAsync: {
45
- options: ['succeed', 'succeedWithMessage', 'failGenerically', 'failValidation'],
46
- type: 'select',
47
- defaultValue: 'failValidation',
48
- },
49
- },
50
- };
51
- export const BasicTypes = {
52
- args: { validateAsync: 'failValidation' },
53
- render: ({ validateAsync }) => renderWithStep(getBasicTypesStep(), getHttpClient(validateAsync)),
54
- };
55
- const getBasicTypesStep = () => getStep('Basic inputs with validation async', {
56
- $id: '#the-schema',
57
- type: 'object',
58
- displayOrder: ['name', 'boolean', 'rate', 'age'],
59
- properties: {
60
- name: {
61
- type: 'string',
62
- title: 'Name',
63
- validationAsync: validationAsyncConfig,
64
- },
65
- boolean: {
66
- type: 'boolean',
67
- title: 'I accept the terms and conditions',
68
- validationAsync: validationAsyncConfig,
69
- },
70
- rate: {
71
- title: 'Conversion rate',
72
- type: 'number',
73
- validationAsync: validationAsyncConfig,
74
- },
75
- age: {
76
- title: 'Age',
77
- type: 'integer',
78
- validationAsync: validationAsyncConfig,
79
- },
80
- },
81
- });
82
- const getStep = (title, schema) => ({
83
- id: 'step-id',
84
- title,
85
- schemas: [
86
- {
87
- $id: '#schema',
88
- type: 'object',
89
- properties: {
90
- schema,
91
- },
92
- displayOrder: ['schema'],
93
- },
94
- ],
95
- layout: [
96
- { type: 'form', schemaId: '#schema' },
97
- {
98
- type: 'button',
99
- title: 'Submit',
100
- action: { url: '/submit', method: 'POST' },
101
- },
102
- ],
103
- });
@@ -1,92 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getMockHttpClient, respondWith } from '../../../../test-utils';
3
- import DynamicFlowWise from '../../../../test-utils/DynamicFlowWise';
4
- import { renderWithStepAndOverrides } from '../../../utils/render-utils';
5
- /**
6
- * There is no default renderer for formatted-value on web,
7
- * so we create a simple one here for testing purposes.
8
- */
9
- const FormattedValueRenderer = {
10
- canRenderType: 'formatted-value',
11
- render: (props) => {
12
- const onBlur = (event) => {
13
- try {
14
- const newValue = JSON.parse(event.target.value);
15
- props.onChange(newValue);
16
- }
17
- catch (_a) {
18
- // ignore JSON parse errors
19
- }
20
- };
21
- return (_jsxs("div", { children: [_jsx("p", { children: "This is a testing-only renderer for formatted-value. It is not available in the released packages." }), _jsx("p", { children: "Note that the value is not passed from the step model to the renderer. Only from the renderer to the domain layer component. If you need an example, you can copy-paste the following JSON:" }), _jsx("pre", { children: `{ "some-key": "some-value" }` }), _jsx("textarea", { style: { width: '100%', height: '200px' }, onBlur: onBlur }), "If the text is not valid JSON, onChange will not be triggered."] }));
22
- },
23
- };
24
- const renderers = [FormattedValueRenderer];
25
- const getStep = (title, description, onChange) => ({
26
- id: 'step',
27
- title,
28
- description,
29
- layout: [
30
- {
31
- type: 'form',
32
- schemaId: '#schema',
33
- },
34
- {
35
- type: 'button',
36
- title: 'Submit',
37
- control: 'primary',
38
- action: {
39
- url: '/submit',
40
- },
41
- },
42
- ],
43
- schemas: [
44
- {
45
- type: 'object',
46
- $id: '#schema',
47
- title: 'Formatted Value',
48
- properties: {},
49
- displayOrder: [],
50
- format: 'banana',
51
- onChange,
52
- },
53
- ],
54
- model: {
55
- 'model-key': 'model-value',
56
- },
57
- });
58
- const getHttpClient = () => getMockHttpClient({
59
- '/submit': async (input, init) => {
60
- const payload = JSON.parse(init === null || init === void 0 ? void 0 : init.body);
61
- return respondWith({
62
- id: 'next-step',
63
- title: 'Submission successful',
64
- layout: [
65
- {
66
- type: 'markdown',
67
- content: `You have successfully submitted the form with a formatted value.\n\`\`\`\n${JSON.stringify(payload, null, 2)}\n\`\`\``,
68
- },
69
- ],
70
- schemas: [],
71
- });
72
- },
73
- '/refresh': async () => {
74
- return respondWith(null, { status: 304 });
75
- },
76
- });
77
- export default {
78
- component: DynamicFlowWise,
79
- title: 'Spec/Schemas/Object/FormattedValue',
80
- parameters: {
81
- chromatic: { disableSnapshot: true },
82
- },
83
- };
84
- export function Basic() {
85
- return renderWithStepAndOverrides(getStep('Formatted Value', 'Example of FormattedValue with a fake renderer.'), { renderers, httpClient: getHttpClient() });
86
- }
87
- export function WithOnChange() {
88
- return renderWithStepAndOverrides(getStep('Formatted Value with onChange', 'Modify the JSON value and then click outside the textarea to trigger onChange. No need to click submit.', {
89
- type: 'action',
90
- action: { url: '/submit' },
91
- }), { renderers, httpClient: getHttpClient() });
92
- }
@@ -1,240 +0,0 @@
1
- import { getMockHttpClient, respondWith } from '../../../../test-utils';
2
- import DynamicFlowWise from '../../../../test-utils/DynamicFlowWise';
3
- import { renderWithStep } from '../../../utils/render-utils';
4
- const getHttpClient = () => getMockHttpClient({
5
- '/submit': async (input, init) => {
6
- // console.log(input, init && JSON.parse(init.body as string));
7
- const step = getStep(`Submission Successful`, `The form was submitted with body: ${init === null || init === void 0 ? void 0 : init.body}`);
8
- return respondWith(step);
9
- },
10
- '/refresh': async () => {
11
- return respondWith(null, { status: 304 });
12
- },
13
- });
14
- export default {
15
- component: DynamicFlowWise,
16
- title: 'Spec/Schemas/Object/MoneyInput',
17
- parameters: {
18
- chromatic: { disableSnapshot: false },
19
- },
20
- };
21
- export function Basic() {
22
- return renderWithStep(getStep('Money Input', 'Basic money input: no placeholder, no default value, no model, no onChange.'), getHttpClient());
23
- }
24
- export function WithPlaceholder() {
25
- const step = getStep('Money Input', 'Money input with placeholder in the amount.');
26
- const schema = step.schemas[0];
27
- schema.properties.amount.placeholder = '9.99';
28
- return renderWithStep(step, getHttpClient());
29
- }
30
- export function WithDefaultValue() {
31
- const step = getStep('Money Input', 'Money input with default value in the amount and currency.');
32
- const schema = step.schemas[0];
33
- schema.properties.amount.default = '49.99';
34
- schema.properties.currency.default = 'GBP';
35
- return renderWithStep(step, getHttpClient());
36
- }
37
- export function WithModel() {
38
- const step = Object.assign(Object.assign({}, getStep('Money Input', 'Money input with model values for the amount and currency.')), { model: { currency: 'EUR', amount: '100.00' } });
39
- return renderWithStep(step, getHttpClient());
40
- }
41
- export function WithOnChangeInTheAmount() {
42
- const step = getStep('Money Input', 'Money input with onChange in the amount, which triggers a refresh after the debounce period.');
43
- const schema = step.schemas[0];
44
- schema.properties.amount.onChange = { type: 'refresh' };
45
- return renderWithStep(step, getHttpClient());
46
- }
47
- export function WithOnChangeInTheCurrency() {
48
- const step = getStep('Money Input', 'Money input with onChange in the currency, which triggers a refresh immediately.');
49
- const schema = step.schemas[0];
50
- schema.properties.currency.onChange = { type: 'refresh' };
51
- return renderWithStep(step, getHttpClient());
52
- }
53
- export function WithExtraConstAndHiddenProperties() {
54
- const step = getStep('Money Input', 'Money input with extra const and hidden properties in the object schema.');
55
- const schema = step.schemas[0];
56
- schema.properties.hiddenProp = {
57
- type: 'string',
58
- hidden: true,
59
- const: 'hiddenValue',
60
- };
61
- schema.properties.constProp = {
62
- const: 'constValue',
63
- };
64
- schema.properties.invalidSchema = {
65
- type: 'number', // not hidden and not const, should be ignored
66
- };
67
- step.model = { amount: '99.99', currency: 'USD' };
68
- return renderWithStep(step, getHttpClient());
69
- }
70
- export function WithValidationErrors() {
71
- const step = getStep('Money Input', 'Money input with validation errors on the amount.');
72
- step.model = { amount: '12', currency: 'EUR' };
73
- step.errors = {
74
- validation: {
75
- amount: 'This error is in the step errors object.',
76
- },
77
- };
78
- return renderWithStep(step, getHttpClient());
79
- }
80
- export function WithOnlyOneCurrencyOption() {
81
- const step = getStep('Money Input', 'Money input with only one currency option, which should render as a const field.');
82
- const schema = step.schemas[0];
83
- schema.properties.currency = {
84
- const: 'USD',
85
- title: 'USD',
86
- description: 'US Dollar',
87
- };
88
- step.model = { amount: '75.50', currency: 'USD' };
89
- return renderWithStep(step, getHttpClient());
90
- }
91
- export function WithGroupingTags() {
92
- const step = getStep('Money Input', 'Money input with grouping tags in the currency options.');
93
- const schema = step.schemas[0];
94
- const { oneOf } = schema.properties.currency;
95
- oneOf.forEach((option, index) => {
96
- const rnd = predictablyRandomNumbers[index];
97
- const constSchemaOption = option;
98
- constSchemaOption.tags = [];
99
- if (rnd < 0.7)
100
- return; // randomly skip some options
101
- if (rnd >= 0.7 && rnd < 0.8) {
102
- constSchemaOption.tags.push('recent');
103
- }
104
- if (rnd >= 0.75 && rnd < 0.85) {
105
- constSchemaOption.tags.push('popular');
106
- }
107
- if (rnd >= 0.9) {
108
- constSchemaOption.tags.push('currencies-with-account-details');
109
- }
110
- });
111
- step.model = { amount: '150', currency: 'EUR' };
112
- return renderWithStep(step, getHttpClient());
113
- }
114
- const getStep = (title, description) => ({
115
- id: 'step',
116
- title,
117
- description,
118
- layout: [
119
- {
120
- type: 'form',
121
- schemaId: '#schema',
122
- },
123
- {
124
- type: 'button',
125
- title: 'Submit',
126
- control: 'primary',
127
- action: {
128
- url: '/submit',
129
- },
130
- },
131
- ],
132
- schemas: [
133
- {
134
- $id: '#schema',
135
- type: 'object',
136
- title: 'Money Input (object schema title)',
137
- description: 'A money input with amount and currency (object schema description)',
138
- format: 'money',
139
- properties: {
140
- currency: {
141
- oneOf: [
142
- {
143
- const: 'USD',
144
- title: 'USD',
145
- description: 'US Dollar',
146
- keywords: ['American Dollar'],
147
- },
148
- {
149
- const: 'EUR',
150
- title: 'EUR',
151
- description: 'Euro',
152
- },
153
- {
154
- const: 'AUD',
155
- title: 'AUD',
156
- description: 'Australian Dollar',
157
- keywords: ['Aussie Dollar'],
158
- },
159
- {
160
- const: 'GBP',
161
- title: 'GBP',
162
- description: 'British Pound',
163
- keywords: ['Blighty'],
164
- },
165
- {
166
- const: 'JPY',
167
- title: 'JPY',
168
- description: 'Japanese Yen',
169
- keywords: ['Nippon Yen'],
170
- },
171
- {
172
- const: 'CAD',
173
- title: 'CAD',
174
- description: 'Canadian Dollar',
175
- keywords: ['Loonie'],
176
- },
177
- { const: 'CHF', title: 'CHF', description: 'Swiss Franc', keywords: ['Swissie'] },
178
- { const: 'CNY', title: 'CNY', description: 'Chinese Yuan', keywords: ['Renminbi'] },
179
- { const: 'INR', title: 'INR', description: 'Indian Rupee', keywords: ['Rupee'] },
180
- { const: 'MXN', title: 'MXN', description: 'Mexican Peso', keywords: ['Peso'] },
181
- {
182
- const: 'NZD',
183
- title: 'NZD',
184
- description: 'New Zealand Dollar',
185
- keywords: ['Kiwi Dollar'],
186
- },
187
- { const: 'ZAR', title: 'ZAR', description: 'South African Rand', keywords: ['Rand'] },
188
- { const: 'SEK', title: 'SEK', description: 'Swedish Krona', keywords: ['Krona'] },
189
- { const: 'NOK', title: 'NOK', description: 'Norwegian Krone', keywords: ['Krone'] },
190
- { const: 'DKK', title: 'DKK', description: 'Danish Krone', keywords: ['Krone'] },
191
- { const: 'BRL', title: 'BRL', description: 'Brazilian Real', keywords: ['Real'] },
192
- {
193
- const: 'SGD',
194
- title: 'SGD',
195
- description: 'Singapore Dollar',
196
- keywords: ['Sing Dollar'],
197
- },
198
- {
199
- const: 'HKD',
200
- title: 'HKD',
201
- description: 'Hong Kong Dollar',
202
- keywords: ['HK Dollar'],
203
- },
204
- { const: 'KRW', title: 'KRW', description: 'South Korean Won', keywords: ['Won'] },
205
- { const: 'TRY', title: 'TRY', description: 'Turkish Lira', keywords: ['Lira'] },
206
- {
207
- const: 'IDR',
208
- title: 'IDR',
209
- description: 'Indonesian Rupiah',
210
- keywords: ['Rupiah'],
211
- },
212
- { const: 'SAR', title: 'SAR', description: 'Saudi Riyal', keywords: ['Riyal'] },
213
- { const: 'AED', title: 'AED', description: 'Emirati Dirham', keywords: ['Dirham'] },
214
- {
215
- const: 'PLN',
216
- title: 'PLN',
217
- description: 'Polish Zloty',
218
- keywords: ['Zloty'],
219
- },
220
- {
221
- const: 'THB',
222
- title: 'THB',
223
- description: 'Thai Baht',
224
- keywords: ['Baht'],
225
- },
226
- ],
227
- },
228
- amount: { type: 'string', format: 'numeric', minLength: 5 },
229
- },
230
- displayOrder: ['currency', 'amount'],
231
- required: ['currency', 'amount'],
232
- },
233
- ],
234
- refreshUrl: '/refresh',
235
- });
236
- const predictablyRandomNumbers = [
237
- 0.25, 0.7, 0.74, 0.81, 0.87, 0.53, 0.41, 0.19, 0.18, 0.2, 0.76, 0.66, 0.52, 0.1, 0.81, 0.19, 0.19,
238
- 0.59, 0.9, 0.19, 0.28, 0.44, 0.01, 0.37, 0.12, 0.62, 0.37, 0.71, 0.07, 0.67, 0.82, 0.35, 0.81,
239
- 0.8, 0.04, 0.88, 0.99, 0.29, 0.04, 0.21, 0.46, 0.84, 0.64, 0.2, 0.02, 0.34, 0.17, 0.1, 0.91, 0.83,
240
- ];