@wise/dynamic-flow-client 5.9.0 → 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 (413) hide show
  1. package/build/main.js +41 -44
  2. package/build/main.mjs +41 -44
  3. package/build/types/domain/components/step/StepDomainComponent.d.ts +2 -1
  4. package/build/types/domain/components/step/StepDomainComponent.d.ts.map +1 -1
  5. package/build/types/domain/mappers/mapStepSchemas.d.ts +1 -1
  6. package/build/types/domain/mappers/mapStepSchemas.d.ts.map +1 -1
  7. package/build/types/domain/mappers/mapStepToComponent.d.ts.map +1 -1
  8. package/build/types/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.d.ts +1 -531
  9. package/build/types/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.d.ts.map +1 -1
  10. package/build/types/domain/mappers/schema/persistAsyncSchemaToComponent.d.ts +0 -16
  11. package/build/types/domain/mappers/schema/persistAsyncSchemaToComponent.d.ts.map +1 -1
  12. package/build/types/domain/types.d.ts +0 -1
  13. package/build/types/domain/types.d.ts.map +1 -1
  14. package/build/types/renderers/mappers/selectInputComponentToProps.d.ts +2 -2
  15. package/build/types/renderers/mappers/selectInputComponentToProps.d.ts.map +1 -1
  16. package/package.json +20 -19
  17. package/build/DynamicFlowCore.js +0 -5
  18. package/build/common/errorBoundary/ErrorBoundary.js +0 -26
  19. package/build/common/errorBoundary/ErrorBoundary.test.js +0 -29
  20. package/build/common/errorBoundary/ErrorBoundaryAlert.js +0 -11
  21. package/build/common/makeHttpClient/api-utils.js +0 -3
  22. package/build/common/makeHttpClient/index.js +0 -1
  23. package/build/common/makeHttpClient/makeHttpClient.js +0 -10
  24. package/build/common/makeHttpClient/makeHttpClient.test.js +0 -186
  25. package/build/common/messages/external-confirmation.messages.js +0 -23
  26. package/build/common/messages/file-upload.messages.js +0 -13
  27. package/build/common/messages/generic-error.messages.js +0 -18
  28. package/build/common/messages/help.messages.js +0 -8
  29. package/build/common/messages/multi-file-upload.messages.js +0 -18
  30. package/build/common/messages/multi-select.messages.js +0 -8
  31. package/build/common/messages/paragraph.messages.js +0 -13
  32. package/build/common/messages/repeatable.messages.js +0 -23
  33. package/build/common/messages/search.messages.js +0 -8
  34. package/build/common/messages/validation.array.messages.js +0 -13
  35. package/build/common/messages/validation.messages.js +0 -53
  36. package/build/controller/FlowController.js +0 -368
  37. package/build/controller/executePoll.js +0 -49
  38. package/build/controller/executeRefresh.js +0 -39
  39. package/build/controller/executeRequest.js +0 -77
  40. package/build/controller/executeSubmission.js +0 -69
  41. package/build/controller/getErrorMessage.js +0 -7
  42. package/build/controller/getRequestAbortController.js +0 -13
  43. package/build/controller/getResponseType.js +0 -35
  44. package/build/controller/getSafeHttpClient.js +0 -8
  45. package/build/controller/getStepCounter.js +0 -16
  46. package/build/controller/handleErrorResponse.js +0 -26
  47. package/build/controller/makeSafeHttpClient.js +0 -8
  48. package/build/controller/response-utils.js +0 -72
  49. package/build/domain/components/AlertComponent.js +0 -1
  50. package/build/domain/components/AllOfComponent.js +0 -40
  51. package/build/domain/components/BooleanInputComponent.js +0 -50
  52. package/build/domain/components/BoxComponent.js +0 -3
  53. package/build/domain/components/ButtonComponent.js +0 -1
  54. package/build/domain/components/ColumnsComponent.js +0 -3
  55. package/build/domain/components/ConstComponent.js +0 -18
  56. package/build/domain/components/ContainerComponent.js +0 -3
  57. package/build/domain/components/DateInputComponent.js +0 -75
  58. package/build/domain/components/DecisionComponent.js +0 -1
  59. package/build/domain/components/DividerComponent.js +0 -1
  60. package/build/domain/components/FormComponent.js +0 -3
  61. package/build/domain/components/FormattedValueComponent.js +0 -44
  62. package/build/domain/components/HeadingComponent.js +0 -1
  63. package/build/domain/components/ImageComponent.js +0 -1
  64. package/build/domain/components/InstructionsComponent.js +0 -1
  65. package/build/domain/components/IntegerInputComponent.js +0 -74
  66. package/build/domain/components/ListComponent.js +0 -1
  67. package/build/domain/components/LoadingIndicatorComponent.js +0 -1
  68. package/build/domain/components/MarkdownComponent.js +0 -1
  69. package/build/domain/components/MediaComponent.js +0 -1
  70. package/build/domain/components/ModalComponent.js +0 -16
  71. package/build/domain/components/ModalLayoutComponent.js +0 -3
  72. package/build/domain/components/MoneyInputComponent.js +0 -57
  73. package/build/domain/components/MultiSelectInputComponent.js +0 -81
  74. package/build/domain/components/MultiUploadInputComponent.js +0 -88
  75. package/build/domain/components/NumberInputComponent.js +0 -73
  76. package/build/domain/components/ObjectComponent.js +0 -45
  77. package/build/domain/components/ParagraphComponent.js +0 -1
  78. package/build/domain/components/PersistAsyncComponent.js +0 -92
  79. package/build/domain/components/ProgressComponent.js +0 -1
  80. package/build/domain/components/RepeatableComponent.js +0 -103
  81. package/build/domain/components/ReviewComponent.js +0 -1
  82. package/build/domain/components/RootDomainComponent.js +0 -173
  83. package/build/domain/components/SectionComponent.js +0 -5
  84. package/build/domain/components/SelectInputComponent.js +0 -88
  85. package/build/domain/components/StatusListComponent.js +0 -1
  86. package/build/domain/components/SubflowDomainComponent.js +0 -9
  87. package/build/domain/components/TabsComponent.js +0 -1
  88. package/build/domain/components/TextInputComponent.js +0 -76
  89. package/build/domain/components/TupleComponent.js +0 -41
  90. package/build/domain/components/UploadInputComponent.js +0 -83
  91. package/build/domain/components/UpsellComponent.js +0 -25
  92. package/build/domain/components/searchComponent/SearchComponent.js +0 -92
  93. package/build/domain/components/searchComponent/SearchComponent.test.js +0 -190
  94. package/build/domain/components/step/ExternalConfirmationComponent.js +0 -28
  95. package/build/domain/components/step/StepDomainComponent.js +0 -73
  96. package/build/domain/components/step/ToolbarComponent.js +0 -1
  97. package/build/domain/components/utils/WithUpdate.js +0 -1
  98. package/build/domain/components/utils/component-utils.js +0 -12
  99. package/build/domain/components/utils/debounce.js +0 -34
  100. package/build/domain/components/utils/debounce.test.js +0 -67
  101. package/build/domain/components/utils/file-utils.js +0 -21
  102. package/build/domain/components/utils/file-utils.test.js +0 -27
  103. package/build/domain/components/utils/getRandomId.js +0 -1
  104. package/build/domain/components/utils/isExactLocalValueMatch.js +0 -14
  105. package/build/domain/components/utils/isOrWasValid.js +0 -5
  106. package/build/domain/components/utils/isPartialModelMatch.js +0 -18
  107. package/build/domain/components/utils/isPartialModelMatch.test.js +0 -74
  108. package/build/domain/features/eventNames.js +0 -24
  109. package/build/domain/features/events.js +0 -1
  110. package/build/domain/features/persistAsync/getComponentMultiPersistAsync.js +0 -50
  111. package/build/domain/features/persistAsync/getInitialPersistedState.js +0 -7
  112. package/build/domain/features/persistAsync/getPerformPersistAsync.js +0 -43
  113. package/build/domain/features/persistAsync/getPerformPersistAsync.test.js +0 -139
  114. package/build/domain/features/polling/getStepPolling.js +0 -43
  115. package/build/domain/features/polling/getStepPolling.test.js +0 -90
  116. package/build/domain/features/prefetch/getStepPrefetch.js +0 -43
  117. package/build/domain/features/prefetch/request-cache.js +0 -49
  118. package/build/domain/features/prefetch/request-cache.test.js +0 -70
  119. package/build/domain/features/refreshAfter/getStepRefreshAfter.js +0 -24
  120. package/build/domain/features/refreshAfter/getStepRefreshAfter.test.js +0 -40
  121. package/build/domain/features/schema-on-change/getDebouncedSchemaOnChange.js +0 -50
  122. package/build/domain/features/schema-on-change/getSchemaOnChange.js +0 -34
  123. package/build/domain/features/search/getPerformSearchFunction.js +0 -75
  124. package/build/domain/features/search/getPerformSearchFunction.test.js +0 -301
  125. package/build/domain/features/summary/summary-utils.js +0 -40
  126. package/build/domain/features/summary/summary-utils.test.js +0 -125
  127. package/build/domain/features/utils/http-utils.js +0 -21
  128. package/build/domain/features/utils/response-utils.js +0 -9
  129. package/build/domain/features/validation/spec-utils.js +0 -19
  130. package/build/domain/features/validation/validateStringPattern.js +0 -24
  131. package/build/domain/features/validation/validation-functions.js +0 -6
  132. package/build/domain/features/validation/validation-functions.test.js +0 -108
  133. package/build/domain/features/validation/value-checks.js +0 -125
  134. package/build/domain/features/validation/value-checks.test.js +0 -262
  135. package/build/domain/features/validationAsync/getComponentValidationAsync.js +0 -53
  136. package/build/domain/features/validationAsync/getComponentValidationAsync.test.js +0 -67
  137. package/build/domain/features/validationAsync/getInitialValidationAsyncState.js +0 -5
  138. package/build/domain/features/validationAsync/getPerformValidationAsync.js +0 -45
  139. package/build/domain/features/validationAsync/getPerformValidationAsync.test.js +0 -143
  140. package/build/domain/mappers/layout/alertLayoutToComponent.js +0 -16
  141. package/build/domain/mappers/layout/boxLayoutToComponent.js +0 -13
  142. package/build/domain/mappers/layout/buttonLayoutToComponent.js +0 -77
  143. package/build/domain/mappers/layout/columnsLayoutToComponent.js +0 -13
  144. package/build/domain/mappers/layout/decisionLayoutToComponent.js +0 -22
  145. package/build/domain/mappers/layout/deprecatedListLayoutToComponent.js +0 -30
  146. package/build/domain/mappers/layout/dividerLayoutToComponent.js +0 -2
  147. package/build/domain/mappers/layout/formLayoutToComponent.js +0 -19
  148. package/build/domain/mappers/layout/headingLayoutToComponent.js +0 -12
  149. package/build/domain/mappers/layout/imageLayoutToComponent.js +0 -20
  150. package/build/domain/mappers/layout/infoLayoutToComponent.js +0 -12
  151. package/build/domain/mappers/layout/instructionsLayoutToComponent.js +0 -12
  152. package/build/domain/mappers/layout/listLayoutToComponent.js +0 -39
  153. package/build/domain/mappers/layout/loadingIndicatorLayoutToComponent.js +0 -9
  154. package/build/domain/mappers/layout/markdownLayoutToComponent.js +0 -12
  155. package/build/domain/mappers/layout/mediaLayoutToComponent.js +0 -12
  156. package/build/domain/mappers/layout/modalLayoutToComponent.js +0 -17
  157. package/build/domain/mappers/layout/modalToComponent.js +0 -8
  158. package/build/domain/mappers/layout/paragraphLayoutToComponent.js +0 -12
  159. package/build/domain/mappers/layout/progressLayoutToComponent.js +0 -15
  160. package/build/domain/mappers/layout/reviewLayoutToComponent.js +0 -48
  161. package/build/domain/mappers/layout/searchLayoutToComponent.js +0 -44
  162. package/build/domain/mappers/layout/sectionLayoutToComponent.js +0 -15
  163. package/build/domain/mappers/layout/statusListLayoutToComponent.js +0 -15
  164. package/build/domain/mappers/layout/tabsLayoutToComponent.js +0 -16
  165. package/build/domain/mappers/layout/upsellLayoutToComponent.js +0 -25
  166. package/build/domain/mappers/mapLayoutToComponent.js +0 -81
  167. package/build/domain/mappers/mapSchemaToComponent.js +0 -61
  168. package/build/domain/mappers/mapSchemaToComponent.test.js +0 -112
  169. package/build/domain/mappers/mapStepSchemas.js +0 -17
  170. package/build/domain/mappers/mapStepToComponent.js +0 -132
  171. package/build/domain/mappers/mapStepToComponent.test.js +0 -221
  172. package/build/domain/mappers/mapToolbarToComponent.js +0 -15
  173. package/build/domain/mappers/schema/allOfSchemaToComponent.js +0 -16
  174. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToComponent.js +0 -26
  175. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiSelectComponent.js +0 -55
  176. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiUploadComponent.js +0 -67
  177. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToRepeatableComponent.js +0 -57
  178. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToTupleComponent.js +0 -20
  179. package/build/domain/mappers/schema/blobSchemaToComponent.js +0 -15
  180. package/build/domain/mappers/schema/booleanSchemaToComponent.js +0 -29
  181. package/build/domain/mappers/schema/constSchemaToComponent.js +0 -23
  182. package/build/domain/mappers/schema/integerSchemaToComponent.js +0 -28
  183. package/build/domain/mappers/schema/numberSchemaToComponent.js +0 -26
  184. package/build/domain/mappers/schema/objectSchemaToComponent/assertDisplayOrder.js +0 -23
  185. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToFormattedValueComponent.js +0 -9
  186. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.js +0 -119
  187. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.test.js +0 -96
  188. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.js +0 -31
  189. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.test.js +0 -99
  190. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.js +0 -76
  191. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.test.js +0 -265
  192. package/build/domain/mappers/schema/persistAsyncSchemaToComponent.js +0 -29
  193. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.js +0 -18
  194. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.test.js +0 -133
  195. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.js +0 -48
  196. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToTextInputComponent.js +0 -37
  197. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToUploadInputComponent.js +0 -28
  198. package/build/domain/mappers/schema/tests/test-utils.js +0 -16
  199. package/build/domain/mappers/schema/types.js +0 -1
  200. package/build/domain/mappers/schema/utils/getPerformPersistAsyncFn.js +0 -19
  201. package/build/domain/mappers/schema/utils/getValidationAsyncInitialState.js +0 -23
  202. package/build/domain/mappers/schema/utils/mapCommonSchemaProps.js +0 -16
  203. package/build/domain/mappers/types.js +0 -1
  204. package/build/domain/mappers/utils/FeatureFlags.js +0 -22
  205. package/build/domain/mappers/utils/behavior-utils.js +0 -44
  206. package/build/domain/mappers/utils/call-to-action-utils.js +0 -21
  207. package/build/domain/mappers/utils/getAutocompleteString.js +0 -76
  208. package/build/domain/mappers/utils/getAutocompleteString.test.js +0 -21
  209. package/build/domain/mappers/utils/groupLayoutByPinned.js +0 -38
  210. package/build/domain/mappers/utils/groupLayoutByPinned.test.js +0 -166
  211. package/build/domain/mappers/utils/image.js +0 -9
  212. package/build/domain/mappers/utils/layout-utils.js +0 -11
  213. package/build/domain/mappers/utils/legacy-utils.js +0 -49
  214. package/build/domain/mappers/utils/media-utils.js +0 -14
  215. package/build/domain/mappers/utils/suggestions-utils.js +0 -26
  216. package/build/domain/mappers/utils/suggestions-utils.test.js +0 -36
  217. package/build/domain/mappers/utils/tags-utils.js +0 -1
  218. package/build/domain/mappers/utils/utils.js +0 -35
  219. package/build/domain/types.js +0 -1
  220. package/build/getSubflowCallbacks.js +0 -38
  221. package/build/i18n/index.js +0 -40
  222. package/build/index.js +0 -8
  223. package/build/renderers/CoreContainerRenderer.js +0 -5
  224. package/build/renderers/CoreRootRenderer.js +0 -12
  225. package/build/renderers/EmptyLoadingStateRenderer.js +0 -5
  226. package/build/renderers/getRenderFunction.js +0 -24
  227. package/build/renderers/getSchemaErrorMessageFunction.js +0 -97
  228. package/build/renderers/mappers/alertComponentToProps.js +0 -2
  229. package/build/renderers/mappers/allOfComponentToProps.js +0 -6
  230. package/build/renderers/mappers/booleanInputComponentToProps.js +0 -5
  231. package/build/renderers/mappers/boxComponentToProps.js +0 -13
  232. package/build/renderers/mappers/buttonComponentToProps.js +0 -4
  233. package/build/renderers/mappers/columnsComponentToProps.js +0 -11
  234. package/build/renderers/mappers/componentToRendererProps.js +0 -164
  235. package/build/renderers/mappers/constComponentToProps.js +0 -5
  236. package/build/renderers/mappers/containerComponentToProps.js +0 -7
  237. package/build/renderers/mappers/dateInputComponentToProps.js +0 -2
  238. package/build/renderers/mappers/decisionComponentToProps.js +0 -16
  239. package/build/renderers/mappers/dividerComponentToProps.js +0 -2
  240. package/build/renderers/mappers/externalComponentToProps.js +0 -3
  241. package/build/renderers/mappers/formComponentToProps.js +0 -12
  242. package/build/renderers/mappers/formattedValueComponentToProps.js +0 -5
  243. package/build/renderers/mappers/headingComponentToProps.js +0 -2
  244. package/build/renderers/mappers/hiddenComponentToProps.js +0 -4
  245. package/build/renderers/mappers/imageComponentToProps.js +0 -2
  246. package/build/renderers/mappers/instructionsComponentToProps.js +0 -2
  247. package/build/renderers/mappers/integerInputComponentToProps.js +0 -2
  248. package/build/renderers/mappers/listComponentToProps.js +0 -2
  249. package/build/renderers/mappers/loadingIndicatorComponentToProps.js +0 -2
  250. package/build/renderers/mappers/markdownComponentToProps.js +0 -2
  251. package/build/renderers/mappers/mediaComponentToProps.js +0 -2
  252. package/build/renderers/mappers/modalComponentToProps.js +0 -11
  253. package/build/renderers/mappers/modalLayoutComponentToProps.js +0 -16
  254. package/build/renderers/mappers/moneyInputComponentToProps.js +0 -36
  255. package/build/renderers/mappers/multiSelectComponentToProps.js +0 -23
  256. package/build/renderers/mappers/multiUploadInputComponentToProps.js +0 -12
  257. package/build/renderers/mappers/numberInputComponentToProps.js +0 -2
  258. package/build/renderers/mappers/objectComponentToProps.js +0 -8
  259. package/build/renderers/mappers/paragraphComponentToProps.js +0 -2
  260. package/build/renderers/mappers/persistAsyncComponentToProps.js +0 -8
  261. package/build/renderers/mappers/progressComponentToProps.js +0 -2
  262. package/build/renderers/mappers/repeatableComponentToProps.js +0 -30
  263. package/build/renderers/mappers/reviewComponentToProps.js +0 -2
  264. package/build/renderers/mappers/rootComponentToProps.js +0 -21
  265. package/build/renderers/mappers/searchComponentToProps.js +0 -57
  266. package/build/renderers/mappers/sectionComponentToProps.js +0 -6
  267. package/build/renderers/mappers/selectInputComponentToProps.js +0 -26
  268. package/build/renderers/mappers/statusListComponentToProps.js +0 -2
  269. package/build/renderers/mappers/subflowComponentToRendererProps.js +0 -4
  270. package/build/renderers/mappers/tabsComponentToProps.js +0 -14
  271. package/build/renderers/mappers/textInputComponentToProps.js +0 -2
  272. package/build/renderers/mappers/tupleComponentToProps.js +0 -8
  273. package/build/renderers/mappers/uploadInputComponentToProps.js +0 -8
  274. package/build/renderers/mappers/upsellComponentToProps.js +0 -2
  275. package/build/renderers/mappers/utils/getValidationState.js +0 -12
  276. package/build/renderers/mappers/utils/inputComponentToProps.js +0 -26
  277. package/build/renderers/mappers/utils/mapErrorsToValidationState.js +0 -9
  278. package/build/renderers/mappers/utils/pick.js +0 -8
  279. package/build/renderers/mappers/utils/selectInputOptionsToProps.js +0 -11
  280. package/build/renderers/stepComponentToProps.js +0 -32
  281. package/build/renderers/utils.js +0 -69
  282. package/build/renderers/utils.test.js +0 -70
  283. package/build/stories/dev-tools/ContainerQueries.story.js +0 -66
  284. package/build/stories/dev-tools/Debugger.story.js +0 -38
  285. package/build/stories/dev-tools/FixtureSelect.story.js +0 -23
  286. package/build/stories/dev-tools/TestServer.story.js +0 -32
  287. package/build/stories/examples/NativeFlow.story.js +0 -80
  288. package/build/stories/examples/Recipients.story.js +0 -568
  289. package/build/stories/spec/behavior/Copy.story.js +0 -59
  290. package/build/stories/spec/behavior/Modal.story.js +0 -76
  291. package/build/stories/spec/behavior/Subflow.story.js +0 -267
  292. package/build/stories/spec/layouts/Decision.story.js +0 -241
  293. package/build/stories/spec/layouts/Image.story.js +0 -42
  294. package/build/stories/spec/layouts/Modal.story.js +0 -81
  295. package/build/stories/spec/layouts/Search.story.js +0 -325
  296. package/build/stories/spec/layouts/Upsell.story.js +0 -55
  297. package/build/stories/spec/layouts/button/Button.story.js +0 -100
  298. package/build/stories/spec/layouts/button/PinnedButton.story.js +0 -81
  299. package/build/stories/spec/response/ActionResponse.story.js +0 -66
  300. package/build/stories/spec/schemas/MultiSelect.story.js +0 -148
  301. package/build/stories/spec/schemas/Upload.story.js +0 -168
  302. package/build/stories/spec/schemas/const/ConstLayout.story.js +0 -159
  303. package/build/stories/spec/schemas/const/ObjectConst.story.js +0 -94
  304. package/build/stories/spec/schemas/features/PersistAsync.story.js +0 -176
  305. package/build/stories/spec/schemas/features/ValidationAsync.story.js +0 -103
  306. package/build/stories/spec/schemas/object/FormattedValue.story.js +0 -92
  307. package/build/stories/spec/schemas/object/MoneyInput.story.js +0 -240
  308. package/build/stories/spec/schemas/oneOf/OneOfInitialisation.story.js +0 -55
  309. package/build/stories/spec/step/Controls.story.js +0 -109
  310. package/build/stories/spec/step/DFModal.story.js +0 -58
  311. package/build/stories/spec/step/Footer.story.js +0 -70
  312. package/build/stories/spec/step/Navigation.story.js +0 -20
  313. package/build/stories/spec/step/Tags.story.js +0 -39
  314. package/build/stories/spec/step/ToolBar.story.js +0 -60
  315. package/build/stories/spec/step/features/ErrorHandling.story.js +0 -92
  316. package/build/stories/spec/step/features/External.story.js +0 -44
  317. package/build/stories/spec/step/features/Polling.story.js +0 -108
  318. package/build/stories/spec/step/features/RefreshAfter.story.js +0 -92
  319. package/build/stories/spec/step/features/refresh/Refresh.story.js +0 -258
  320. package/build/stories/spec/step/features/refresh/RefreshWithPersistAsync.story.js +0 -958
  321. package/build/stories/types.js +0 -1
  322. package/build/stories/utils/fixtureHttpClient.js +0 -70
  323. package/build/stories/utils/getBasicStep.js +0 -223
  324. package/build/stories/utils/mockSearchHandler.js +0 -71
  325. package/build/stories/utils/render-utils.js +0 -41
  326. package/build/stories/visual-tests/layouts/NotUsingListItem.story.js +0 -17
  327. package/build/test-utils/DynamicFlowWise.js +0 -32
  328. package/build/test-utils/DynamicFlowWiseModal.js +0 -34
  329. package/build/test-utils/NeptuneProviders.js +0 -11
  330. package/build/test-utils/component-utils.js +0 -5
  331. package/build/test-utils/fetch-utils.js +0 -45
  332. package/build/test-utils/getMergedTestRenderers.js +0 -34
  333. package/build/test-utils/getRandomId.js +0 -1
  334. package/build/test-utils/index.js +0 -3
  335. package/build/test-utils/rtl-utils.js +0 -7
  336. package/build/test-utils/step-utils.js +0 -6
  337. package/build/test-utils/wait.js +0 -3
  338. package/build/tests/AlertLayout.test.js +0 -78
  339. package/build/tests/ArrayTuple.test.js +0 -118
  340. package/build/tests/ButtonLayout.test.js +0 -308
  341. package/build/tests/ConstLayout.test.js +0 -95
  342. package/build/tests/DateInput.test.js +0 -163
  343. package/build/tests/DecisionLayout.test.js +0 -146
  344. package/build/tests/DynamicFlow.test.js +0 -147
  345. package/build/tests/External.test.js +0 -169
  346. package/build/tests/Flow.test.js +0 -328
  347. package/build/tests/FormLayout.test.js +0 -28
  348. package/build/tests/FormattedValue.test.js +0 -107
  349. package/build/tests/ImageRenderer.test.js +0 -78
  350. package/build/tests/InitialAction.test.js +0 -179
  351. package/build/tests/InitialStep.test.js +0 -168
  352. package/build/tests/InstructionsLayout.test.js +0 -45
  353. package/build/tests/ListLayout.test.js +0 -145
  354. package/build/tests/Logging.test.js +0 -53
  355. package/build/tests/ModalBehavior.test.js +0 -149
  356. package/build/tests/MoneyInput.test.js +0 -316
  357. package/build/tests/MultiUpload.test.js +0 -293
  358. package/build/tests/NativeBack.test.js +0 -267
  359. package/build/tests/OneOfInitialisation.test.js +0 -571
  360. package/build/tests/PersistAsync.test.js +0 -653
  361. package/build/tests/Polling.test.js +0 -617
  362. package/build/tests/Prefetching.test.js +0 -230
  363. package/build/tests/RefreshAfter.test.js +0 -63
  364. package/build/tests/RefreshOnChange.ResponseHandling.test.js +0 -205
  365. package/build/tests/RefreshOnChange.test.js +0 -233
  366. package/build/tests/RefreshOnChange.with.Segmented.test.js +0 -348
  367. package/build/tests/RefreshOnChange.with.Tabs.test.js +0 -358
  368. package/build/tests/RefreshOnChangePreserve.test.js +0 -224
  369. package/build/tests/RendererProps.test.js +0 -342
  370. package/build/tests/Repeatable.test.js +0 -107
  371. package/build/tests/Rerendering.test.js +0 -67
  372. package/build/tests/ReviewLayout.test.js +0 -274
  373. package/build/tests/SchemaOnChange.test.js +0 -133
  374. package/build/tests/ScrollToError.test.js +0 -217
  375. package/build/tests/SegmentedControl.test.js +0 -49
  376. package/build/tests/SingleFileUpload.test.js +0 -88
  377. package/build/tests/StatusList.test.js +0 -85
  378. package/build/tests/Subflow.test.js +0 -710
  379. package/build/tests/Submission.ResponseHandling.test.js +0 -557
  380. package/build/tests/Submission.merging.test.js +0 -202
  381. package/build/tests/Submission.test.js +0 -523
  382. package/build/tests/Tags.test.js +0 -475
  383. package/build/tests/Upsell.test.js +0 -126
  384. package/build/tests/ValidationAsync.test.js +0 -295
  385. package/build/tests/legacy/Actions.test.js +0 -158
  386. package/build/tests/legacy/BackButton.test.js +0 -114
  387. package/build/tests/legacy/HiddenSchemas.test.js +0 -246
  388. package/build/tests/legacy/MultiSelect.test.js +0 -497
  389. package/build/tests/legacy/MultipleFileUploadSchema.test.js +0 -341
  390. package/build/tests/legacy/PersistAsync.blob-schema.test.js +0 -224
  391. package/build/tests/legacy/PersistAsync.string-schema.test.js +0 -211
  392. package/build/tests/legacy/RefreshStepOnChange.debouncing.test.js +0 -209
  393. package/build/tests/legacy/RefreshStepOnChange.test.js +0 -424
  394. package/build/tests/legacy/Search.test.js +0 -437
  395. package/build/tests/renderers/MultiSelectInputRendererProps.test.js +0 -58
  396. package/build/tests/renderers/SelectInputRendererProps.test.js +0 -42
  397. package/build/tests/renderers/TextInputRenderer.test.js +0 -51
  398. package/build/types.js +0 -1
  399. package/build/useDynamicFlow.js +0 -104
  400. package/build/useDynamicFlowModal.js +0 -58
  401. package/build/utils/analyse-step.js +0 -14
  402. package/build/utils/component-utils.js +0 -8
  403. package/build/utils/component-utils.test.js +0 -113
  404. package/build/utils/getScrollToTop.js +0 -12
  405. package/build/utils/normalise-flow-id.js +0 -1
  406. package/build/utils/normalise-flow-id.test.js +0 -24
  407. package/build/utils/openLinkInNewTab.js +0 -10
  408. package/build/utils/recursiveMerge.js +0 -40
  409. package/build/utils/recursiveMerge.test.js +0 -93
  410. package/build/utils/type-utils.js +0 -21
  411. package/build/utils/type-validators.js +0 -11
  412. package/build/utils/type-validators.test.js +0 -180
  413. package/build/utils/useStableCallback.js +0 -15
@@ -1,109 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { FlowNavigation } from '@transferwise/components';
3
- import { ThemeProvider } from '@wise/components-theming';
4
- import { action } from 'storybook/actions';
5
- import { respondWith } from '../../../test-utils';
6
- import DynamicFlowWise from '../../../test-utils/DynamicFlowWise';
7
- export default {
8
- component: DynamicFlowWise,
9
- title: 'Spec/Step/Controls',
10
- parameters: {
11
- layout: 'fullscreen',
12
- },
13
- };
14
- export function Splash() {
15
- return render('splash');
16
- }
17
- export function SplashCelebration() {
18
- return render('splash-celebration');
19
- }
20
- export function SplashInteractive() {
21
- return (_jsx(ThemeProvider, { theme: "personal", className: "animate-theme", children: _jsxs("div", { style: {
22
- width: '100%',
23
- height: '100vh',
24
- }, children: [_jsx(FlowNavigation, { steps: [], onClose: () => { } }), _jsx("div", { style: {
25
- maxWidth: '546px',
26
- margin: 'auto',
27
- paddingTop: '48px',
28
- }, children: _jsx(DynamicFlowWise, { flowId: "splash", httpClient: async (input) => {
29
- if (input === '/continue') {
30
- return respondWith(step('splash-celebration'));
31
- }
32
- return respondWith({
33
- id: 'next',
34
- title: 'This is the step after the splash',
35
- description: 'The theme should be reset to personal',
36
- layout: [],
37
- schemas: [],
38
- });
39
- }, initialStep: {
40
- title: 'Click the button to continue',
41
- id: 'step',
42
- layout: [
43
- {
44
- type: 'button',
45
- title: 'Continue',
46
- behavior: {
47
- type: 'action',
48
- action: {
49
- url: '/continue',
50
- },
51
- },
52
- },
53
- ],
54
- schemas: [],
55
- }, onCompletion: action('onCompletion'), onEvent: action('onEvent'), onError: (error) => {
56
- action('onError');
57
- console.error(error);
58
- }, onLog: action('onLog') }) })] }) }));
59
- }
60
- SplashInteractive.parameters = {
61
- chromatic: { disableSnapshot: true },
62
- };
63
- const render = (control) => {
64
- return (_jsx("div", { style: {
65
- width: '60%',
66
- margin: 'auto',
67
- }, children: _jsx(DynamicFlowWise, { flowId: "splash", httpClient: fetch, initialStep: step(control), onCompletion: action('onCompletion'), onEvent: action('onEvent'), onError: (error) => {
68
- action('onError');
69
- console.error(error);
70
- }, onLog: action('onLog') }) }));
71
- };
72
- const step = (control) => ({
73
- id: 'splash',
74
- title: '',
75
- layout: [
76
- {
77
- type: 'image',
78
- content: {
79
- accessibilityDescription: 'plane',
80
- uri: 'urn:wise:illustrations:plane',
81
- },
82
- },
83
- {
84
- type: 'heading',
85
- control: 'display',
86
- text: 'Almost there',
87
- align: 'center',
88
- margin: 'lg',
89
- },
90
- {
91
- type: 'markdown',
92
- content: "Your money should arrive **by Wednesday**. We'll keep you posted.",
93
- align: 'center',
94
- margin: 'lg',
95
- },
96
- {
97
- type: 'button',
98
- title: 'Track your transfer',
99
- behavior: {
100
- type: 'action',
101
- action: {
102
- url: '/submit',
103
- },
104
- },
105
- },
106
- ],
107
- schemas: [],
108
- control,
109
- });
@@ -1,58 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Layout } from '@transferwise/navigation-ui';
3
- import { action } from 'storybook/actions';
4
- import { DynamicFlowWiseModal } from '../../../test-utils/DynamicFlowWiseModal';
5
- export default {
6
- component: DynamicFlowWiseModal,
7
- title: 'Spec/Step/DFModal',
8
- parameters: {
9
- layout: 'fullscreen',
10
- },
11
- };
12
- const httpClient = async (input, init) => {
13
- action('httpClient')(input, init);
14
- const url = typeof input === 'string' ? input : '';
15
- const match = /\/submit\/(\d+)/.exec(url);
16
- if (!match) {
17
- return new Response('Not Found', { status: 404 });
18
- }
19
- const index = match[1];
20
- action('httpClient response index')(index);
21
- return new Response(JSON.stringify(getStep(index)));
22
- };
23
- export function DFModalExample() {
24
- return (_jsx(Layout, { children: _jsx(DynamicFlowWiseModal, { flowId: "df-modal-story", initialStep: getStep('1'), features: {
25
- nativeBack: true,
26
- hideStepTitle: false,
27
- }, httpClient: httpClient, onCompletion: action('onCompletion'), onAnalytics: action('onAnalytics'), onCancellation: action('onCancellation'), onEvent: action('onEvent'), onError: (error) => {
28
- action('onError');
29
- console.error(error);
30
- }, onLog: action('onLog') }) }));
31
- }
32
- const getStep = (index) => {
33
- return {
34
- id: 'step',
35
- title: `Step title ${index}`,
36
- description: 'This is a description of the step.',
37
- schemas: [],
38
- layout: [
39
- {
40
- type: 'markdown',
41
- content: 'The title is now missing from the layout, and only visible in the modal header. This is because we are using the hideStepTitle to hide it.',
42
- align: 'left',
43
- margin: 'xl',
44
- },
45
- {
46
- type: 'button',
47
- title: 'Continue',
48
- behavior: {
49
- type: 'action',
50
- action: {
51
- url: `/submit/${Number(index) + 1}`,
52
- },
53
- },
54
- },
55
- ],
56
- tags: ['root-screen'],
57
- };
58
- };
@@ -1,70 +0,0 @@
1
- import DynamicFlowWise from '../../../test-utils/DynamicFlowWise';
2
- import { renderWithStepAndOverrides } from '../../utils/render-utils';
3
- export default {
4
- component: DynamicFlowWise,
5
- title: 'Spec/Step/Footer',
6
- parameters: {
7
- chromatic: { disableSnapshot: false },
8
- },
9
- globals: { viewport: { value: 'iphone6' } },
10
- };
11
- export const Basic = {
12
- render: () => renderWithStepAndOverrides(getFooterStep(), { features: { pinnedButtons: true } }),
13
- };
14
- const getFooterStep = () => ({
15
- id: 'step-footer',
16
- title: 'Step Footer Demo',
17
- description: 'This step demonstrates the step footer.',
18
- layout: [
19
- {
20
- type: 'paragraph',
21
- text: 'Pinned buttons like the one below are not pinned here because a footer layout is provided.',
22
- },
23
- {
24
- type: 'button',
25
- title: 'The pinOrder prop is ignored',
26
- control: 'secondary',
27
- pinOrder: 1,
28
- behavior: {
29
- type: 'copy',
30
- content: 'Banana.',
31
- },
32
- },
33
- {
34
- type: 'paragraph',
35
- text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
36
- },
37
- {
38
- type: 'image',
39
- content: {
40
- uri: 'urn:wise:illustrations:confetti',
41
- },
42
- },
43
- {
44
- type: 'paragraph',
45
- text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
46
- },
47
- ],
48
- schemas: [
49
- {
50
- $id: '#footer-schema',
51
- type: 'boolean',
52
- title: 'I accept the terms and conditions without having scrolled all the way down, thanks to the new footer layout.',
53
- },
54
- ],
55
- footer: [
56
- {
57
- type: 'form',
58
- schemaId: '#footer-schema',
59
- },
60
- {
61
- type: 'button',
62
- title: 'Submit',
63
- control: 'primary',
64
- behavior: {
65
- type: 'action',
66
- action: { url: '/submit' },
67
- },
68
- },
69
- ],
70
- });
@@ -1,20 +0,0 @@
1
- import DynamicFlowWise from '../../../test-utils/DynamicFlowWise';
2
- import { getBasicStep } from '../../utils/getBasicStep';
3
- import { renderWithStep } from '../../utils/render-utils';
4
- export default {
5
- component: DynamicFlowWise,
6
- title: 'Spec/Step/Navigation',
7
- parameters: {
8
- chromatic: { disableSnapshot: true },
9
- },
10
- };
11
- export function NavigationWithBackButton() {
12
- return renderWithStep(Object.assign(Object.assign({}, getBasicStep()), { navigation: {
13
- back: {
14
- title: 'Go back',
15
- action: {
16
- url: '/back',
17
- },
18
- },
19
- } }));
20
- }
@@ -1,39 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import DynamicFlowWise from '../../../test-utils/DynamicFlowWise';
3
- import { Layout } from '@transferwise/navigation-ui';
4
- import { renderWithStep } from '../../utils/render-utils';
5
- export default {
6
- component: DynamicFlowWise,
7
- title: 'Spec/Step/Tags',
8
- parameters: {
9
- layout: 'fullscreen',
10
- },
11
- };
12
- export function RootScreen() {
13
- return _jsx(Layout, { children: renderWithStep(step) });
14
- }
15
- const step = {
16
- id: 'step',
17
- title: 'Step title',
18
- description: 'This is a description of the step, which is left-aligned',
19
- schemas: [],
20
- layout: [
21
- {
22
- type: 'markdown',
23
- content: "Your money should arrive **by Wednesday**. We'll keep you posted.",
24
- align: 'left',
25
- margin: 'xl',
26
- },
27
- {
28
- type: 'button',
29
- title: 'Continue',
30
- behavior: {
31
- type: 'action',
32
- action: {
33
- url: '/submit',
34
- },
35
- },
36
- },
37
- ],
38
- tags: ['root-screen'],
39
- };
@@ -1,60 +0,0 @@
1
- import { renderWithStep } from '../../utils/render-utils';
2
- import { getBasicStep } from '../../utils/getBasicStep';
3
- import DynamicFlowWise from '../../../test-utils/DynamicFlowWise';
4
- export default {
5
- component: DynamicFlowWise,
6
- title: 'Spec/Step/Toolbar',
7
- parameters: {
8
- chromatic: { disableSnapshot: true },
9
- },
10
- };
11
- export function ToolbarStep() {
12
- return renderWithStep(Object.assign(Object.assign({}, getBasicStep()), { toolbar: getToolbar() }));
13
- }
14
- export function ToolbarStepWithBack() {
15
- return renderWithStep(Object.assign(Object.assign({}, getBasicStep()), { navigation: {
16
- back: {
17
- title: 'Go back',
18
- action: {
19
- url: '/back',
20
- },
21
- },
22
- }, toolbar: getToolbar() }));
23
- }
24
- const getToolbar = () => ({
25
- items: [
26
- {
27
- type: 'toolbar-button',
28
- title: 'Settings',
29
- control: 'primary',
30
- media: {
31
- type: 'avatar',
32
- content: [{ type: 'uri', uri: 'urn:wise:icons:cog' }],
33
- },
34
- behavior: { type: 'action', action: { url: '/settings', skipValidation: true } },
35
- accessibilityDescription: 'Open settings for this step',
36
- },
37
- {
38
- type: 'toolbar-button',
39
- title: 'Settings',
40
- control: 'secondary',
41
- media: {
42
- type: 'avatar',
43
- content: [{ type: 'uri', uri: 'urn:wise:icons:cog' }],
44
- },
45
- behavior: { type: 'action', action: { url: '/settings', skipValidation: true } },
46
- accessibilityDescription: 'Open settings for this step',
47
- },
48
- {
49
- type: 'toolbar-button',
50
- title: 'Settings',
51
- control: 'secondary-neutral',
52
- media: {
53
- type: 'avatar',
54
- content: [{ type: 'uri', uri: 'urn:wise:icons:cog' }],
55
- },
56
- behavior: { type: 'action', action: { url: '/settings', skipValidation: true } },
57
- accessibilityDescription: 'Open settings for this step',
58
- },
59
- ],
60
- });
@@ -1,92 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { action } from 'storybook/actions';
3
- import DynamicFlowWise from '../../../../test-utils/DynamicFlowWise';
4
- import { fixtureHttpClient } from '../../../utils/fixtureHttpClient';
5
- import { getMockHttpClient, respondWith } from '../../../../test-utils';
6
- export default {
7
- component: DynamicFlowWise,
8
- title: 'Spec/Step/Features/Error Handling',
9
- parameters: {
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export function ErrorOnSubmission() {
14
- const step = getBasicStep();
15
- return renderWithStep(step, getHttpClient());
16
- }
17
- export function StepWithErrors() {
18
- const step = getGlobalErrorStep();
19
- return renderWithStep(step);
20
- }
21
- const getHttpClient = () => getMockHttpClient({
22
- '/submit': async () => respondWith({
23
- error: 'Server-side Global Error',
24
- validation: {
25
- name: "I don't like your name",
26
- age: 'You are too young',
27
- date: 'You are too old',
28
- money: 'You are too poor',
29
- },
30
- }, { status: 422 }),
31
- });
32
- const renderWithStep = (step, httpClient = fixtureHttpClient) => (_jsx(DynamicFlowWise, { flowId: "new-df-flow-id", httpClient: httpClient, initialStep: step, onCompletion: action('onCompletion'), onEvent: action('onEvent'), onLog: action('onLog'), onError: (error) => {
33
- action('onError');
34
- console.error(error);
35
- } }));
36
- const getBasicStep = () => ({
37
- id: 'new-df-initial-step',
38
- title: 'Error Handling in Dynamic Flow',
39
- schemas: [
40
- {
41
- $id: '#personal-details',
42
- type: 'object',
43
- title: 'Personal details object',
44
- description: 'Personal details schema description',
45
- displayOrder: ['name', 'date', 'age', 'money'],
46
- properties: {
47
- name: {
48
- title: 'Full name',
49
- type: 'string',
50
- },
51
- date: {
52
- title: 'Date',
53
- type: 'string',
54
- format: 'date',
55
- control: 'date-lookup',
56
- },
57
- age: {
58
- title: 'Age',
59
- type: 'integer',
60
- },
61
- money: {
62
- title: 'How much money would you like?',
63
- type: 'number',
64
- },
65
- },
66
- },
67
- ],
68
- layout: [
69
- {
70
- type: 'form',
71
- schemaId: '#personal-details',
72
- },
73
- {
74
- type: 'button',
75
- title: 'Submit',
76
- control: 'primary',
77
- action: {
78
- url: '/submit',
79
- method: 'POST',
80
- },
81
- },
82
- ],
83
- });
84
- const getGlobalErrorStep = () => (Object.assign(Object.assign({}, getBasicStep()), { errors: {
85
- error: 'This is a global error',
86
- validation: {
87
- name: "I don't like your name",
88
- age: 'You are too young',
89
- date: 'You are too old',
90
- money: 'You are too poor',
91
- },
92
- } }));
@@ -1,44 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { action } from 'storybook/actions';
3
- import DynamicFlowWise from '../../../../test-utils/DynamicFlowWise';
4
- export default {
5
- component: DynamicFlowWise,
6
- title: 'Spec/Step/Features',
7
- parameters: {
8
- chromatic: { disableSnapshot: true },
9
- },
10
- };
11
- export function External() {
12
- return renderWithStep(initialStep);
13
- }
14
- const renderWithStep = (step) => (_jsx(DynamicFlowWise, { flowId: "new-df-flow-id", httpClient: async (input, init) => {
15
- action('httpClient')(input, init === null || init === void 0 ? void 0 : init.body);
16
- return fetch(input, init);
17
- }, initialStep: step, onCompletion: action('onCompletion'), onEvent: action('onEvent'), onLog: action('onLog'), onError: (error) => {
18
- action('onError');
19
- console.error(error);
20
- } }));
21
- const initialStep = {
22
- id: 'step-id',
23
- title: 'Step Title',
24
- external: { url: 'https://www.google.com' },
25
- schemas: [],
26
- layout: [
27
- {
28
- type: 'paragraph',
29
- align: 'center',
30
- text: 'Your bank is opening in another window.',
31
- },
32
- {
33
- type: 'paragraph',
34
- align: 'center',
35
- text: 'Please, follow their instructions. Keep this window open.',
36
- },
37
- { type: 'loading-indicator', margin: 'xl' },
38
- {
39
- type: 'info',
40
- align: 'center',
41
- markdown: `If it didn't work, you can [reopen](http://google.com/) the tab`,
42
- },
43
- ],
44
- };
@@ -1,108 +0,0 @@
1
- import { action } from 'storybook/actions';
2
- import { getMockHttpClient, respondWith } from '../../../../test-utils';
3
- import DynamicFlowWise from '../../../../test-utils/DynamicFlowWise';
4
- import { renderWithStep } from '../../../utils/render-utils';
5
- export default {
6
- component: DynamicFlowWise,
7
- title: 'Spec/Step/Features/Polling',
8
- parameters: {
9
- chromatic: { disableSnapshot: true },
10
- },
11
- argTypes: {},
12
- };
13
- export function PollingSuccess() {
14
- let attempts = 0;
15
- const httpClient = getMockHttpClient({
16
- '/polling/1234': async () => {
17
- action('attempts!')(attempts);
18
- if (attempts <= 2) {
19
- attempts += 1;
20
- return respondWith({}, { status: 200 });
21
- }
22
- action('attempts!')(attempts, 'going to respond with step');
23
- return respondWith({
24
- id: 'hello',
25
- title: 'Direct Success',
26
- description: 'Direct success after polling. Response is a step.',
27
- layout: [],
28
- schemas: [],
29
- }, { status: 200, headers: { 'X-Df-Response-Type': 'step' } });
30
- },
31
- });
32
- return renderWithStep(step, httpClient);
33
- }
34
- export function PollingActionResponse() {
35
- let attempts = 0;
36
- const httpClient = getMockHttpClient({
37
- '/polling/1234': async () => {
38
- if (attempts <= 2) {
39
- attempts += 1;
40
- return respondWith({}, { status: 200 });
41
- }
42
- return respondWith({ action: { id: 'polling-action-response', url: '/success' } }, { status: 200 });
43
- },
44
- '/success': async () => respondWith({
45
- id: 'hello',
46
- title: 'Success after polling',
47
- description: 'ActionResponse submitted to /success which returned this step.',
48
- layout: [],
49
- schemas: [],
50
- }),
51
- });
52
- return renderWithStep(step, httpClient);
53
- }
54
- export function PollingFails() {
55
- let attempts = 0;
56
- const httpClient = getMockHttpClient({
57
- '/polling/1234': async () => {
58
- if (attempts <= 5) {
59
- attempts += 1;
60
- return respondWith({}, { status: 200 });
61
- }
62
- return respondWith({ action: { url: '/success' } }, { status: 200 });
63
- },
64
- '/success': async () => respondWith({
65
- id: 'hello',
66
- title: 'success',
67
- layout: [],
68
- schemas: [],
69
- }),
70
- });
71
- return renderWithStep(step, httpClient);
72
- }
73
- const step = {
74
- id: 'Features/Polling',
75
- title: 'Polling Feature',
76
- polling: {
77
- url: '/polling/1234',
78
- delay: 2,
79
- maxAttempts: 5,
80
- onError: {
81
- action: { url: '/failure', data: { error: 'Polling failed' } },
82
- },
83
- },
84
- layout: [
85
- {
86
- type: 'paragraph',
87
- align: 'center',
88
- text: 'We are waiting for something to happen.',
89
- },
90
- { type: 'loading-indicator', margin: 'xl' },
91
- {
92
- type: 'button',
93
- title: 'Back',
94
- action: {
95
- type: 'link',
96
- url: '/back',
97
- },
98
- },
99
- ],
100
- schemas: [
101
- {
102
- $id: '#unreferenced-schema',
103
- const: {
104
- unreferencedKey: 'unreferenced value',
105
- },
106
- },
107
- ],
108
- };