@wise/dynamic-flow-client 5.11.0 → 5.12.0

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 (407) hide show
  1. package/build/main.js +15 -1
  2. package/build/main.mjs +15 -1
  3. package/build/types/controller/executePoll.d.ts.map +1 -1
  4. package/package.json +1 -1
  5. package/build/DynamicFlowCore.js +0 -5
  6. package/build/common/errorBoundary/ErrorBoundary.js +0 -26
  7. package/build/common/errorBoundary/ErrorBoundary.test.js +0 -29
  8. package/build/common/errorBoundary/ErrorBoundaryAlert.js +0 -11
  9. package/build/common/makeHttpClient/api-utils.js +0 -3
  10. package/build/common/makeHttpClient/index.js +0 -1
  11. package/build/common/makeHttpClient/makeHttpClient.js +0 -10
  12. package/build/common/makeHttpClient/makeHttpClient.test.js +0 -186
  13. package/build/common/messages/external-confirmation.messages.js +0 -23
  14. package/build/common/messages/file-upload.messages.js +0 -13
  15. package/build/common/messages/generic-error.messages.js +0 -18
  16. package/build/common/messages/help.messages.js +0 -8
  17. package/build/common/messages/multi-file-upload.messages.js +0 -18
  18. package/build/common/messages/multi-select.messages.js +0 -8
  19. package/build/common/messages/paragraph.messages.js +0 -13
  20. package/build/common/messages/repeatable.messages.js +0 -23
  21. package/build/common/messages/search.messages.js +0 -8
  22. package/build/common/messages/validation.array.messages.js +0 -13
  23. package/build/common/messages/validation.messages.js +0 -53
  24. package/build/controller/FlowController.js +0 -373
  25. package/build/controller/executePoll.js +0 -49
  26. package/build/controller/executeRefresh.js +0 -45
  27. package/build/controller/executeRequest.js +0 -80
  28. package/build/controller/executeSubmission.js +0 -70
  29. package/build/controller/getErrorMessage.js +0 -7
  30. package/build/controller/getRequestAbortController.js +0 -13
  31. package/build/controller/getResponseType.js +0 -35
  32. package/build/controller/getSafeHttpClient.js +0 -8
  33. package/build/controller/getStepCounter.js +0 -16
  34. package/build/controller/handleErrorResponse.js +0 -26
  35. package/build/controller/makeSafeHttpClient.js +0 -8
  36. package/build/controller/response-utils.js +0 -72
  37. package/build/domain/components/AlertComponent.js +0 -1
  38. package/build/domain/components/AllOfComponent.js +0 -40
  39. package/build/domain/components/BooleanInputComponent.js +0 -50
  40. package/build/domain/components/BoxComponent.js +0 -3
  41. package/build/domain/components/ButtonComponent.js +0 -1
  42. package/build/domain/components/ColumnsComponent.js +0 -3
  43. package/build/domain/components/ConstComponent.js +0 -18
  44. package/build/domain/components/ContainerComponent.js +0 -3
  45. package/build/domain/components/DateInputComponent.js +0 -75
  46. package/build/domain/components/DecisionComponent.js +0 -1
  47. package/build/domain/components/DividerComponent.js +0 -1
  48. package/build/domain/components/FormComponent.js +0 -3
  49. package/build/domain/components/FormattedValueComponent.js +0 -44
  50. package/build/domain/components/HeadingComponent.js +0 -1
  51. package/build/domain/components/ImageComponent.js +0 -1
  52. package/build/domain/components/InstructionsComponent.js +0 -1
  53. package/build/domain/components/IntegerInputComponent.js +0 -74
  54. package/build/domain/components/ListComponent.js +0 -1
  55. package/build/domain/components/LoadingIndicatorComponent.js +0 -1
  56. package/build/domain/components/MarkdownComponent.js +0 -1
  57. package/build/domain/components/MediaComponent.js +0 -1
  58. package/build/domain/components/ModalComponent.js +0 -16
  59. package/build/domain/components/ModalLayoutComponent.js +0 -3
  60. package/build/domain/components/MoneyInputComponent.js +0 -57
  61. package/build/domain/components/MultiSelectInputComponent.js +0 -81
  62. package/build/domain/components/MultiUploadInputComponent.js +0 -88
  63. package/build/domain/components/NumberInputComponent.js +0 -73
  64. package/build/domain/components/ObjectComponent.js +0 -45
  65. package/build/domain/components/ParagraphComponent.js +0 -1
  66. package/build/domain/components/PersistAsyncComponent.js +0 -92
  67. package/build/domain/components/ProgressComponent.js +0 -1
  68. package/build/domain/components/RepeatableComponent.js +0 -103
  69. package/build/domain/components/ReviewComponent.js +0 -1
  70. package/build/domain/components/RootDomainComponent.js +0 -173
  71. package/build/domain/components/SectionComponent.js +0 -5
  72. package/build/domain/components/SelectInputComponent.js +0 -88
  73. package/build/domain/components/StatusListComponent.js +0 -1
  74. package/build/domain/components/SubflowDomainComponent.js +0 -9
  75. package/build/domain/components/TabsComponent.js +0 -1
  76. package/build/domain/components/TextInputComponent.js +0 -76
  77. package/build/domain/components/TupleComponent.js +0 -41
  78. package/build/domain/components/UploadInputComponent.js +0 -83
  79. package/build/domain/components/UpsellComponent.js +0 -25
  80. package/build/domain/components/searchComponent/SearchComponent.js +0 -92
  81. package/build/domain/components/searchComponent/SearchComponent.test.js +0 -190
  82. package/build/domain/components/step/ExternalConfirmationComponent.js +0 -24
  83. package/build/domain/components/step/StepDomainComponent.js +0 -78
  84. package/build/domain/components/step/ToolbarComponent.js +0 -1
  85. package/build/domain/components/utils/WithUpdate.js +0 -1
  86. package/build/domain/components/utils/component-utils.js +0 -12
  87. package/build/domain/components/utils/debounce.js +0 -34
  88. package/build/domain/components/utils/debounce.test.js +0 -67
  89. package/build/domain/components/utils/file-utils.js +0 -21
  90. package/build/domain/components/utils/file-utils.test.js +0 -27
  91. package/build/domain/components/utils/getRandomId.js +0 -1
  92. package/build/domain/components/utils/isExactLocalValueMatch.js +0 -14
  93. package/build/domain/components/utils/isOrWasValid.js +0 -5
  94. package/build/domain/components/utils/isPartialModelMatch.js +0 -18
  95. package/build/domain/components/utils/isPartialModelMatch.test.js +0 -74
  96. package/build/domain/features/eventNames.js +0 -24
  97. package/build/domain/features/events.js +0 -1
  98. package/build/domain/features/persistAsync/getComponentMultiPersistAsync.js +0 -50
  99. package/build/domain/features/persistAsync/getInitialPersistedState.js +0 -7
  100. package/build/domain/features/persistAsync/getPerformPersistAsync.js +0 -43
  101. package/build/domain/features/persistAsync/getPerformPersistAsync.test.js +0 -139
  102. package/build/domain/features/polling/getStepPolling.js +0 -43
  103. package/build/domain/features/polling/getStepPolling.test.js +0 -90
  104. package/build/domain/features/prefetch/getStepPrefetch.js +0 -43
  105. package/build/domain/features/prefetch/request-cache.js +0 -49
  106. package/build/domain/features/prefetch/request-cache.test.js +0 -70
  107. package/build/domain/features/refreshAfter/getStepRefreshAfter.js +0 -24
  108. package/build/domain/features/refreshAfter/getStepRefreshAfter.test.js +0 -40
  109. package/build/domain/features/schema-on-change/getDebouncedSchemaOnChange.js +0 -50
  110. package/build/domain/features/schema-on-change/getSchemaOnChange.js +0 -34
  111. package/build/domain/features/search/getPerformSearchFunction.js +0 -75
  112. package/build/domain/features/search/getPerformSearchFunction.test.js +0 -301
  113. package/build/domain/features/summary/summary-utils.js +0 -40
  114. package/build/domain/features/summary/summary-utils.test.js +0 -125
  115. package/build/domain/features/utils/http-utils.js +0 -21
  116. package/build/domain/features/utils/response-utils.js +0 -9
  117. package/build/domain/features/validation/spec-utils.js +0 -19
  118. package/build/domain/features/validation/validateStringPattern.js +0 -24
  119. package/build/domain/features/validation/validation-functions.js +0 -6
  120. package/build/domain/features/validation/validation-functions.test.js +0 -108
  121. package/build/domain/features/validation/value-checks.js +0 -125
  122. package/build/domain/features/validation/value-checks.test.js +0 -262
  123. package/build/domain/features/validationAsync/getComponentValidationAsync.js +0 -53
  124. package/build/domain/features/validationAsync/getComponentValidationAsync.test.js +0 -67
  125. package/build/domain/features/validationAsync/getInitialValidationAsyncState.js +0 -5
  126. package/build/domain/features/validationAsync/getPerformValidationAsync.js +0 -45
  127. package/build/domain/features/validationAsync/getPerformValidationAsync.test.js +0 -143
  128. package/build/domain/mappers/layout/alertLayoutToComponent.js +0 -16
  129. package/build/domain/mappers/layout/boxLayoutToComponent.js +0 -13
  130. package/build/domain/mappers/layout/buttonLayoutToComponent.js +0 -77
  131. package/build/domain/mappers/layout/columnsLayoutToComponent.js +0 -13
  132. package/build/domain/mappers/layout/decisionLayoutToComponent.js +0 -22
  133. package/build/domain/mappers/layout/deprecatedListLayoutToComponent.js +0 -30
  134. package/build/domain/mappers/layout/dividerLayoutToComponent.js +0 -2
  135. package/build/domain/mappers/layout/formLayoutToComponent.js +0 -19
  136. package/build/domain/mappers/layout/headingLayoutToComponent.js +0 -12
  137. package/build/domain/mappers/layout/imageLayoutToComponent.js +0 -20
  138. package/build/domain/mappers/layout/infoLayoutToComponent.js +0 -12
  139. package/build/domain/mappers/layout/instructionsLayoutToComponent.js +0 -12
  140. package/build/domain/mappers/layout/listLayoutToComponent.js +0 -39
  141. package/build/domain/mappers/layout/loadingIndicatorLayoutToComponent.js +0 -9
  142. package/build/domain/mappers/layout/markdownLayoutToComponent.js +0 -12
  143. package/build/domain/mappers/layout/mediaLayoutToComponent.js +0 -12
  144. package/build/domain/mappers/layout/modalLayoutToComponent.js +0 -17
  145. package/build/domain/mappers/layout/modalToComponent.js +0 -8
  146. package/build/domain/mappers/layout/paragraphLayoutToComponent.js +0 -12
  147. package/build/domain/mappers/layout/progressLayoutToComponent.js +0 -15
  148. package/build/domain/mappers/layout/reviewLayoutToComponent.js +0 -48
  149. package/build/domain/mappers/layout/searchLayoutToComponent.js +0 -44
  150. package/build/domain/mappers/layout/sectionLayoutToComponent.js +0 -15
  151. package/build/domain/mappers/layout/statusListLayoutToComponent.js +0 -15
  152. package/build/domain/mappers/layout/tabsLayoutToComponent.js +0 -16
  153. package/build/domain/mappers/layout/upsellLayoutToComponent.js +0 -25
  154. package/build/domain/mappers/mapLayoutToComponent.js +0 -81
  155. package/build/domain/mappers/mapSchemaToComponent.js +0 -61
  156. package/build/domain/mappers/mapSchemaToComponent.test.js +0 -112
  157. package/build/domain/mappers/mapStepSchemas.js +0 -15
  158. package/build/domain/mappers/mapStepToComponent.js +0 -133
  159. package/build/domain/mappers/mapStepToComponent.test.js +0 -221
  160. package/build/domain/mappers/mapToolbarToComponent.js +0 -15
  161. package/build/domain/mappers/schema/allOfSchemaToComponent.js +0 -16
  162. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToComponent.js +0 -26
  163. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiSelectComponent.js +0 -55
  164. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiUploadComponent.js +0 -67
  165. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToRepeatableComponent.js +0 -57
  166. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToTupleComponent.js +0 -20
  167. package/build/domain/mappers/schema/blobSchemaToComponent.js +0 -15
  168. package/build/domain/mappers/schema/booleanSchemaToComponent.js +0 -29
  169. package/build/domain/mappers/schema/constSchemaToComponent.js +0 -23
  170. package/build/domain/mappers/schema/integerSchemaToComponent.js +0 -28
  171. package/build/domain/mappers/schema/numberSchemaToComponent.js +0 -26
  172. package/build/domain/mappers/schema/objectSchemaToComponent/assertDisplayOrder.js +0 -23
  173. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToFormattedValueComponent.js +0 -9
  174. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.js +0 -119
  175. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.test.js +0 -96
  176. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.js +0 -31
  177. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.test.js +0 -99
  178. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.js +0 -66
  179. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.test.js +0 -225
  180. package/build/domain/mappers/schema/persistAsyncSchemaToComponent.js +0 -29
  181. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.js +0 -18
  182. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.test.js +0 -133
  183. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.js +0 -48
  184. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToTextInputComponent.js +0 -37
  185. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToUploadInputComponent.js +0 -28
  186. package/build/domain/mappers/schema/tests/test-utils.js +0 -16
  187. package/build/domain/mappers/schema/types.js +0 -1
  188. package/build/domain/mappers/schema/utils/getPerformPersistAsyncFn.js +0 -19
  189. package/build/domain/mappers/schema/utils/getValidationAsyncInitialState.js +0 -23
  190. package/build/domain/mappers/schema/utils/mapCommonSchemaProps.js +0 -16
  191. package/build/domain/mappers/types.js +0 -1
  192. package/build/domain/mappers/utils/FeatureFlags.js +0 -22
  193. package/build/domain/mappers/utils/behavior-utils.js +0 -44
  194. package/build/domain/mappers/utils/call-to-action-utils.js +0 -21
  195. package/build/domain/mappers/utils/getAutocompleteString.js +0 -76
  196. package/build/domain/mappers/utils/getAutocompleteString.test.js +0 -21
  197. package/build/domain/mappers/utils/groupLayoutByPinned.js +0 -38
  198. package/build/domain/mappers/utils/groupLayoutByPinned.test.js +0 -166
  199. package/build/domain/mappers/utils/image.js +0 -9
  200. package/build/domain/mappers/utils/layout-utils.js +0 -11
  201. package/build/domain/mappers/utils/legacy-utils.js +0 -49
  202. package/build/domain/mappers/utils/media-utils.js +0 -14
  203. package/build/domain/mappers/utils/suggestions-utils.js +0 -26
  204. package/build/domain/mappers/utils/suggestions-utils.test.js +0 -36
  205. package/build/domain/mappers/utils/tags-utils.js +0 -1
  206. package/build/domain/mappers/utils/utils.js +0 -35
  207. package/build/domain/types.js +0 -1
  208. package/build/getSubflowCallbacks.js +0 -38
  209. package/build/i18n/index.js +0 -40
  210. package/build/index.js +0 -8
  211. package/build/renderers/CoreContainerRenderer.js +0 -5
  212. package/build/renderers/CoreRootRenderer.js +0 -12
  213. package/build/renderers/EmptyLoadingStateRenderer.js +0 -5
  214. package/build/renderers/getRenderFunction.js +0 -24
  215. package/build/renderers/getSchemaErrorMessageFunction.js +0 -97
  216. package/build/renderers/mappers/alertComponentToProps.js +0 -2
  217. package/build/renderers/mappers/allOfComponentToProps.js +0 -6
  218. package/build/renderers/mappers/booleanInputComponentToProps.js +0 -5
  219. package/build/renderers/mappers/boxComponentToProps.js +0 -13
  220. package/build/renderers/mappers/buttonComponentToProps.js +0 -4
  221. package/build/renderers/mappers/columnsComponentToProps.js +0 -11
  222. package/build/renderers/mappers/componentToRendererProps.js +0 -164
  223. package/build/renderers/mappers/constComponentToProps.js +0 -5
  224. package/build/renderers/mappers/containerComponentToProps.js +0 -7
  225. package/build/renderers/mappers/dateInputComponentToProps.js +0 -2
  226. package/build/renderers/mappers/decisionComponentToProps.js +0 -16
  227. package/build/renderers/mappers/dividerComponentToProps.js +0 -2
  228. package/build/renderers/mappers/externalComponentToProps.js +0 -3
  229. package/build/renderers/mappers/formComponentToProps.js +0 -12
  230. package/build/renderers/mappers/formattedValueComponentToProps.js +0 -5
  231. package/build/renderers/mappers/headingComponentToProps.js +0 -2
  232. package/build/renderers/mappers/hiddenComponentToProps.js +0 -4
  233. package/build/renderers/mappers/imageComponentToProps.js +0 -2
  234. package/build/renderers/mappers/instructionsComponentToProps.js +0 -2
  235. package/build/renderers/mappers/integerInputComponentToProps.js +0 -2
  236. package/build/renderers/mappers/listComponentToProps.js +0 -2
  237. package/build/renderers/mappers/loadingIndicatorComponentToProps.js +0 -2
  238. package/build/renderers/mappers/markdownComponentToProps.js +0 -2
  239. package/build/renderers/mappers/mediaComponentToProps.js +0 -2
  240. package/build/renderers/mappers/modalComponentToProps.js +0 -11
  241. package/build/renderers/mappers/modalLayoutComponentToProps.js +0 -16
  242. package/build/renderers/mappers/moneyInputComponentToProps.js +0 -36
  243. package/build/renderers/mappers/multiSelectComponentToProps.js +0 -23
  244. package/build/renderers/mappers/multiUploadInputComponentToProps.js +0 -12
  245. package/build/renderers/mappers/numberInputComponentToProps.js +0 -2
  246. package/build/renderers/mappers/objectComponentToProps.js +0 -8
  247. package/build/renderers/mappers/paragraphComponentToProps.js +0 -2
  248. package/build/renderers/mappers/persistAsyncComponentToProps.js +0 -8
  249. package/build/renderers/mappers/progressComponentToProps.js +0 -2
  250. package/build/renderers/mappers/repeatableComponentToProps.js +0 -30
  251. package/build/renderers/mappers/reviewComponentToProps.js +0 -2
  252. package/build/renderers/mappers/rootComponentToProps.js +0 -21
  253. package/build/renderers/mappers/searchComponentToProps.js +0 -57
  254. package/build/renderers/mappers/sectionComponentToProps.js +0 -6
  255. package/build/renderers/mappers/selectInputComponentToProps.js +0 -34
  256. package/build/renderers/mappers/statusListComponentToProps.js +0 -2
  257. package/build/renderers/mappers/subflowComponentToRendererProps.js +0 -4
  258. package/build/renderers/mappers/tabsComponentToProps.js +0 -14
  259. package/build/renderers/mappers/textInputComponentToProps.js +0 -2
  260. package/build/renderers/mappers/tupleComponentToProps.js +0 -8
  261. package/build/renderers/mappers/uploadInputComponentToProps.js +0 -8
  262. package/build/renderers/mappers/upsellComponentToProps.js +0 -2
  263. package/build/renderers/mappers/utils/getValidationState.js +0 -12
  264. package/build/renderers/mappers/utils/inputComponentToProps.js +0 -26
  265. package/build/renderers/mappers/utils/mapErrorsToValidationState.js +0 -9
  266. package/build/renderers/mappers/utils/pick.js +0 -8
  267. package/build/renderers/mappers/utils/selectInputOptionsToProps.js +0 -11
  268. package/build/renderers/stepComponentToProps.js +0 -32
  269. package/build/renderers/utils.js +0 -69
  270. package/build/renderers/utils.test.js +0 -70
  271. package/build/stories/dev-tools/ContainerQueries.story.js +0 -66
  272. package/build/stories/dev-tools/Debugger.story.js +0 -38
  273. package/build/stories/dev-tools/FixtureSelect.story.js +0 -23
  274. package/build/stories/dev-tools/TestServer.story.js +0 -32
  275. package/build/stories/examples/NativeFlow.story.js +0 -80
  276. package/build/stories/examples/Recipients.story.js +0 -568
  277. package/build/stories/spec/behavior/Copy.story.js +0 -71
  278. package/build/stories/spec/behavior/Link.story.js +0 -40
  279. package/build/stories/spec/behavior/Modal.story.js +0 -79
  280. package/build/stories/spec/behavior/Subflow.story.js +0 -267
  281. package/build/stories/spec/layouts/Decision.story.js +0 -241
  282. package/build/stories/spec/layouts/Image.story.js +0 -42
  283. package/build/stories/spec/layouts/Modal.story.js +0 -81
  284. package/build/stories/spec/layouts/Search.story.js +0 -325
  285. package/build/stories/spec/layouts/Upsell.story.js +0 -55
  286. package/build/stories/spec/layouts/button/Button.story.js +0 -100
  287. package/build/stories/spec/layouts/button/PinnedButton.story.js +0 -81
  288. package/build/stories/spec/response/ActionResponse.story.js +0 -66
  289. package/build/stories/spec/schemas/MultiSelect.story.js +0 -148
  290. package/build/stories/spec/schemas/Upload.story.js +0 -168
  291. package/build/stories/spec/schemas/const/ConstLayout.story.js +0 -159
  292. package/build/stories/spec/schemas/const/ObjectConst.story.js +0 -94
  293. package/build/stories/spec/schemas/features/PersistAsync.story.js +0 -211
  294. package/build/stories/spec/schemas/features/ValidationAsync.story.js +0 -103
  295. package/build/stories/spec/schemas/object/FormattedValue.story.js +0 -92
  296. package/build/stories/spec/schemas/object/MoneyInput.story.js +0 -240
  297. package/build/stories/spec/schemas/oneOf/OneOfInitialisation.story.js +0 -55
  298. package/build/stories/spec/schemas/oneOf/OneOfWithSingleOption.story.js +0 -114
  299. package/build/stories/spec/step/Controls.story.js +0 -109
  300. package/build/stories/spec/step/DFModal.story.js +0 -58
  301. package/build/stories/spec/step/Footer.story.js +0 -70
  302. package/build/stories/spec/step/Navigation.story.js +0 -20
  303. package/build/stories/spec/step/ScrollToBottom.story.js +0 -103
  304. package/build/stories/spec/step/Tags.story.js +0 -39
  305. package/build/stories/spec/step/ToolBar.story.js +0 -60
  306. package/build/stories/spec/step/features/ErrorHandling.story.js +0 -92
  307. package/build/stories/spec/step/features/External.story.js +0 -91
  308. package/build/stories/spec/step/features/Polling.story.js +0 -108
  309. package/build/stories/spec/step/features/RefreshAfter.story.js +0 -92
  310. package/build/stories/spec/step/features/refresh/Refresh.story.js +0 -258
  311. package/build/stories/spec/step/features/refresh/RefreshWithPersistAsync.story.js +0 -958
  312. package/build/stories/types.js +0 -1
  313. package/build/stories/utils/fixtureHttpClient.js +0 -70
  314. package/build/stories/utils/getBasicStep.js +0 -223
  315. package/build/stories/utils/mockSearchHandler.js +0 -71
  316. package/build/stories/utils/render-utils.js +0 -41
  317. package/build/stories/visual-tests/layouts/NotUsingListItem.story.js +0 -17
  318. package/build/test-utils/DynamicFlowWise.js +0 -32
  319. package/build/test-utils/DynamicFlowWiseModal.js +0 -34
  320. package/build/test-utils/NeptuneProviders.js +0 -11
  321. package/build/test-utils/component-utils.js +0 -5
  322. package/build/test-utils/fetch-utils.js +0 -45
  323. package/build/test-utils/getMergedTestRenderers.js +0 -34
  324. package/build/test-utils/getRandomId.js +0 -1
  325. package/build/test-utils/index.js +0 -3
  326. package/build/test-utils/openLinkInNewTab.js +0 -15
  327. package/build/test-utils/rtl-utils.js +0 -7
  328. package/build/test-utils/step-utils.js +0 -6
  329. package/build/test-utils/wait.js +0 -3
  330. package/build/tests/AlertLayout.test.js +0 -78
  331. package/build/tests/ArrayTuple.test.js +0 -118
  332. package/build/tests/ButtonLayout.test.js +0 -308
  333. package/build/tests/ConstLayout.test.js +0 -95
  334. package/build/tests/DateInput.test.js +0 -163
  335. package/build/tests/DecisionLayout.test.js +0 -146
  336. package/build/tests/DynamicFlow.test.js +0 -147
  337. package/build/tests/External.test.js +0 -169
  338. package/build/tests/Flow.test.js +0 -328
  339. package/build/tests/FormLayout.test.js +0 -28
  340. package/build/tests/FormattedValue.test.js +0 -107
  341. package/build/tests/ImageRenderer.test.js +0 -78
  342. package/build/tests/InitialAction.test.js +0 -179
  343. package/build/tests/InitialStep.test.js +0 -168
  344. package/build/tests/InstructionsLayout.test.js +0 -45
  345. package/build/tests/ListLayout.test.js +0 -145
  346. package/build/tests/Logging.test.js +0 -53
  347. package/build/tests/ModalBehavior.test.js +0 -149
  348. package/build/tests/MoneyInput.test.js +0 -316
  349. package/build/tests/MultiUpload.test.js +0 -293
  350. package/build/tests/NativeBack.test.js +0 -267
  351. package/build/tests/NoOp.test.js +0 -194
  352. package/build/tests/OneOfInitialisation.test.js +0 -571
  353. package/build/tests/PersistAsync.test.js +0 -687
  354. package/build/tests/Polling.test.js +0 -617
  355. package/build/tests/Prefetching.test.js +0 -230
  356. package/build/tests/RefreshAfter.test.js +0 -63
  357. package/build/tests/RefreshOnChange.ResponseHandling.test.js +0 -205
  358. package/build/tests/RefreshOnChange.test.js +0 -233
  359. package/build/tests/RefreshOnChange.with.Segmented.test.js +0 -348
  360. package/build/tests/RefreshOnChange.with.Tabs.test.js +0 -358
  361. package/build/tests/RefreshOnChangePreserve.test.js +0 -224
  362. package/build/tests/RendererProps.test.js +0 -342
  363. package/build/tests/Repeatable.test.js +0 -107
  364. package/build/tests/Rerendering.test.js +0 -67
  365. package/build/tests/ReviewLayout.test.js +0 -274
  366. package/build/tests/SchemaOnChange.test.js +0 -133
  367. package/build/tests/SchemaReferences.test.js +0 -88
  368. package/build/tests/ScrollToBottom.test.js +0 -122
  369. package/build/tests/ScrollToError.test.js +0 -217
  370. package/build/tests/SegmentedControl.test.js +0 -49
  371. package/build/tests/SingleFileUpload.test.js +0 -168
  372. package/build/tests/StatusList.test.js +0 -85
  373. package/build/tests/Subflow.test.js +0 -710
  374. package/build/tests/Submission.ResponseHandling.test.js +0 -557
  375. package/build/tests/Submission.merging.test.js +0 -202
  376. package/build/tests/Submission.test.js +0 -748
  377. package/build/tests/Tags.test.js +0 -475
  378. package/build/tests/Upsell.test.js +0 -154
  379. package/build/tests/ValidationAsync.test.js +0 -295
  380. package/build/tests/legacy/Actions.test.js +0 -158
  381. package/build/tests/legacy/BackButton.test.js +0 -114
  382. package/build/tests/legacy/HiddenSchemas.test.js +0 -246
  383. package/build/tests/legacy/MultiSelect.test.js +0 -501
  384. package/build/tests/legacy/MultipleFileUploadSchema.test.js +0 -341
  385. package/build/tests/legacy/PersistAsync.blob-schema.test.js +0 -224
  386. package/build/tests/legacy/PersistAsync.string-schema.test.js +0 -211
  387. package/build/tests/legacy/RefreshStepOnChange.debouncing.test.js +0 -209
  388. package/build/tests/legacy/RefreshStepOnChange.test.js +0 -424
  389. package/build/tests/legacy/Search.test.js +0 -437
  390. package/build/tests/renderers/MultiSelectInputRendererProps.test.js +0 -58
  391. package/build/tests/renderers/SelectInputRendererProps.test.js +0 -43
  392. package/build/tests/renderers/TextInputRenderer.test.js +0 -51
  393. package/build/types.js +0 -1
  394. package/build/useDynamicFlow.js +0 -104
  395. package/build/useDynamicFlowModal.js +0 -58
  396. package/build/utils/analyse-step.js +0 -14
  397. package/build/utils/component-utils.js +0 -8
  398. package/build/utils/component-utils.test.js +0 -113
  399. package/build/utils/getScrollToTop.js +0 -12
  400. package/build/utils/normalise-flow-id.js +0 -1
  401. package/build/utils/normalise-flow-id.test.js +0 -24
  402. package/build/utils/recursiveMerge.js +0 -40
  403. package/build/utils/recursiveMerge.test.js +0 -93
  404. package/build/utils/type-utils.js +0 -21
  405. package/build/utils/type-validators.js +0 -11
  406. package/build/utils/type-validators.test.js +0 -180
  407. 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
- ];