@wise/dynamic-flow-client 5.13.2 → 5.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/build/main.css +24 -15
  2. package/build/tsconfig.types.tsbuildinfo +1 -1
  3. package/build/types/stories/utils/render-utils.d.ts.map +1 -1
  4. package/package.json +16 -16
  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 -378
  25. package/build/controller/executePoll.js +0 -64
  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/controller/response-utils.test.js +0 -52
  38. package/build/domain/components/AlertComponent.js +0 -1
  39. package/build/domain/components/AllOfComponent.js +0 -40
  40. package/build/domain/components/BooleanInputComponent.js +0 -50
  41. package/build/domain/components/BoxComponent.js +0 -3
  42. package/build/domain/components/ButtonComponent.js +0 -1
  43. package/build/domain/components/ColumnsComponent.js +0 -3
  44. package/build/domain/components/ConstComponent.js +0 -18
  45. package/build/domain/components/ContainerComponent.js +0 -3
  46. package/build/domain/components/DateInputComponent.js +0 -75
  47. package/build/domain/components/DecisionComponent.js +0 -1
  48. package/build/domain/components/DividerComponent.js +0 -1
  49. package/build/domain/components/FormComponent.js +0 -3
  50. package/build/domain/components/FormattedValueComponent.js +0 -44
  51. package/build/domain/components/HeadingComponent.js +0 -1
  52. package/build/domain/components/ImageComponent.js +0 -1
  53. package/build/domain/components/InstructionsComponent.js +0 -1
  54. package/build/domain/components/IntegerInputComponent.js +0 -74
  55. package/build/domain/components/ListComponent.js +0 -1
  56. package/build/domain/components/LoadingIndicatorComponent.js +0 -1
  57. package/build/domain/components/MarkdownComponent.js +0 -1
  58. package/build/domain/components/MediaComponent.js +0 -1
  59. package/build/domain/components/ModalComponent.js +0 -16
  60. package/build/domain/components/ModalLayoutComponent.js +0 -3
  61. package/build/domain/components/MoneyInputComponent.js +0 -57
  62. package/build/domain/components/MultiSelectInputComponent.js +0 -81
  63. package/build/domain/components/MultiUploadInputComponent.js +0 -88
  64. package/build/domain/components/NumberInputComponent.js +0 -73
  65. package/build/domain/components/ObjectComponent.js +0 -45
  66. package/build/domain/components/ParagraphComponent.js +0 -1
  67. package/build/domain/components/PersistAsyncComponent.js +0 -92
  68. package/build/domain/components/ProgressComponent.js +0 -1
  69. package/build/domain/components/RepeatableComponent.js +0 -103
  70. package/build/domain/components/ReviewComponent.js +0 -1
  71. package/build/domain/components/RootDomainComponent.js +0 -173
  72. package/build/domain/components/SectionComponent.js +0 -5
  73. package/build/domain/components/SelectInputComponent.js +0 -88
  74. package/build/domain/components/StatusListComponent.js +0 -1
  75. package/build/domain/components/SubflowDomainComponent.js +0 -9
  76. package/build/domain/components/TabsComponent.js +0 -1
  77. package/build/domain/components/TextInputComponent.js +0 -76
  78. package/build/domain/components/TupleComponent.js +0 -41
  79. package/build/domain/components/UploadInputComponent.js +0 -83
  80. package/build/domain/components/UpsellComponent.js +0 -25
  81. package/build/domain/components/searchComponent/SearchComponent.js +0 -92
  82. package/build/domain/components/searchComponent/SearchComponent.test.js +0 -190
  83. package/build/domain/components/step/ExternalConfirmationComponent.js +0 -24
  84. package/build/domain/components/step/StepDomainComponent.js +0 -78
  85. package/build/domain/components/step/ToolbarComponent.js +0 -1
  86. package/build/domain/components/utils/WithUpdate.js +0 -1
  87. package/build/domain/components/utils/component-utils.js +0 -12
  88. package/build/domain/components/utils/debounce.js +0 -34
  89. package/build/domain/components/utils/debounce.test.js +0 -67
  90. package/build/domain/components/utils/file-utils.js +0 -21
  91. package/build/domain/components/utils/file-utils.test.js +0 -27
  92. package/build/domain/components/utils/getRandomId.js +0 -1
  93. package/build/domain/components/utils/isExactLocalValueMatch.js +0 -14
  94. package/build/domain/components/utils/isOrWasValid.js +0 -5
  95. package/build/domain/components/utils/isPartialModelMatch.js +0 -18
  96. package/build/domain/components/utils/isPartialModelMatch.test.js +0 -74
  97. package/build/domain/features/eventNames.js +0 -24
  98. package/build/domain/features/events.js +0 -1
  99. package/build/domain/features/persistAsync/getComponentMultiPersistAsync.js +0 -50
  100. package/build/domain/features/persistAsync/getInitialPersistedState.js +0 -7
  101. package/build/domain/features/persistAsync/getPerformPersistAsync.js +0 -43
  102. package/build/domain/features/persistAsync/getPerformPersistAsync.test.js +0 -139
  103. package/build/domain/features/polling/getStepPolling.js +0 -50
  104. package/build/domain/features/polling/getStepPolling.test.js +0 -115
  105. package/build/domain/features/prefetch/getStepPrefetch.js +0 -43
  106. package/build/domain/features/prefetch/request-cache.js +0 -49
  107. package/build/domain/features/prefetch/request-cache.test.js +0 -70
  108. package/build/domain/features/refreshAfter/getStepRefreshAfter.js +0 -24
  109. package/build/domain/features/refreshAfter/getStepRefreshAfter.test.js +0 -40
  110. package/build/domain/features/schema-on-change/getDebouncedSchemaOnChange.js +0 -50
  111. package/build/domain/features/schema-on-change/getSchemaOnChange.js +0 -34
  112. package/build/domain/features/search/getPerformSearchFunction.js +0 -75
  113. package/build/domain/features/search/getPerformSearchFunction.test.js +0 -301
  114. package/build/domain/features/summary/summary-utils.js +0 -40
  115. package/build/domain/features/summary/summary-utils.test.js +0 -125
  116. package/build/domain/features/utils/http-utils.js +0 -21
  117. package/build/domain/features/utils/response-utils.js +0 -9
  118. package/build/domain/features/validation/spec-utils.js +0 -19
  119. package/build/domain/features/validation/validateStringPattern.js +0 -24
  120. package/build/domain/features/validation/validation-functions.js +0 -6
  121. package/build/domain/features/validation/validation-functions.test.js +0 -108
  122. package/build/domain/features/validation/value-checks.js +0 -125
  123. package/build/domain/features/validation/value-checks.test.js +0 -262
  124. package/build/domain/features/validationAsync/getComponentValidationAsync.js +0 -53
  125. package/build/domain/features/validationAsync/getComponentValidationAsync.test.js +0 -67
  126. package/build/domain/features/validationAsync/getInitialValidationAsyncState.js +0 -5
  127. package/build/domain/features/validationAsync/getPerformValidationAsync.js +0 -45
  128. package/build/domain/features/validationAsync/getPerformValidationAsync.test.js +0 -143
  129. package/build/domain/mappers/layout/alertLayoutToComponent.js +0 -16
  130. package/build/domain/mappers/layout/boxLayoutToComponent.js +0 -13
  131. package/build/domain/mappers/layout/buttonLayoutToComponent.js +0 -77
  132. package/build/domain/mappers/layout/columnsLayoutToComponent.js +0 -13
  133. package/build/domain/mappers/layout/decisionLayoutToComponent.js +0 -22
  134. package/build/domain/mappers/layout/deprecatedListLayoutToComponent.js +0 -30
  135. package/build/domain/mappers/layout/dividerLayoutToComponent.js +0 -2
  136. package/build/domain/mappers/layout/formLayoutToComponent.js +0 -19
  137. package/build/domain/mappers/layout/headingLayoutToComponent.js +0 -12
  138. package/build/domain/mappers/layout/imageLayoutToComponent.js +0 -20
  139. package/build/domain/mappers/layout/infoLayoutToComponent.js +0 -12
  140. package/build/domain/mappers/layout/instructionsLayoutToComponent.js +0 -12
  141. package/build/domain/mappers/layout/listLayoutToComponent.js +0 -39
  142. package/build/domain/mappers/layout/loadingIndicatorLayoutToComponent.js +0 -9
  143. package/build/domain/mappers/layout/markdownLayoutToComponent.js +0 -12
  144. package/build/domain/mappers/layout/mediaLayoutToComponent.js +0 -12
  145. package/build/domain/mappers/layout/modalLayoutToComponent.js +0 -17
  146. package/build/domain/mappers/layout/modalToComponent.js +0 -8
  147. package/build/domain/mappers/layout/paragraphLayoutToComponent.js +0 -12
  148. package/build/domain/mappers/layout/progressLayoutToComponent.js +0 -15
  149. package/build/domain/mappers/layout/reviewLayoutToComponent.js +0 -48
  150. package/build/domain/mappers/layout/searchLayoutToComponent.js +0 -44
  151. package/build/domain/mappers/layout/sectionLayoutToComponent.js +0 -15
  152. package/build/domain/mappers/layout/statusListLayoutToComponent.js +0 -15
  153. package/build/domain/mappers/layout/tabsLayoutToComponent.js +0 -16
  154. package/build/domain/mappers/layout/upsellLayoutToComponent.js +0 -25
  155. package/build/domain/mappers/mapLayoutToComponent.js +0 -81
  156. package/build/domain/mappers/mapSchemaToComponent.js +0 -61
  157. package/build/domain/mappers/mapSchemaToComponent.test.js +0 -112
  158. package/build/domain/mappers/mapStepSchemas.js +0 -15
  159. package/build/domain/mappers/mapStepToComponent.js +0 -133
  160. package/build/domain/mappers/mapStepToComponent.test.js +0 -221
  161. package/build/domain/mappers/mapToolbarToComponent.js +0 -15
  162. package/build/domain/mappers/schema/allOfSchemaToComponent.js +0 -16
  163. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToComponent.js +0 -26
  164. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiSelectComponent.js +0 -55
  165. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiUploadComponent.js +0 -67
  166. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToRepeatableComponent.js +0 -57
  167. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToTupleComponent.js +0 -20
  168. package/build/domain/mappers/schema/blobSchemaToComponent.js +0 -15
  169. package/build/domain/mappers/schema/booleanSchemaToComponent.js +0 -29
  170. package/build/domain/mappers/schema/constSchemaToComponent.js +0 -23
  171. package/build/domain/mappers/schema/integerSchemaToComponent.js +0 -28
  172. package/build/domain/mappers/schema/numberSchemaToComponent.js +0 -26
  173. package/build/domain/mappers/schema/objectSchemaToComponent/assertDisplayOrder.js +0 -23
  174. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToFormattedValueComponent.js +0 -9
  175. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.js +0 -119
  176. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.test.js +0 -96
  177. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.js +0 -31
  178. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.test.js +0 -99
  179. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.js +0 -66
  180. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.test.js +0 -225
  181. package/build/domain/mappers/schema/persistAsyncSchemaToComponent.js +0 -29
  182. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.js +0 -18
  183. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.test.js +0 -133
  184. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.js +0 -48
  185. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToTextInputComponent.js +0 -38
  186. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToUploadInputComponent.js +0 -28
  187. package/build/domain/mappers/schema/tests/test-utils.js +0 -16
  188. package/build/domain/mappers/schema/types.js +0 -1
  189. package/build/domain/mappers/schema/utils/getPerformPersistAsyncFn.js +0 -19
  190. package/build/domain/mappers/schema/utils/getValidationAsyncInitialState.js +0 -23
  191. package/build/domain/mappers/schema/utils/mapCommonSchemaProps.js +0 -16
  192. package/build/domain/mappers/types.js +0 -1
  193. package/build/domain/mappers/utils/FeatureFlags.js +0 -22
  194. package/build/domain/mappers/utils/behavior-utils.js +0 -44
  195. package/build/domain/mappers/utils/call-to-action-utils.js +0 -21
  196. package/build/domain/mappers/utils/getAutocompleteString.js +0 -76
  197. package/build/domain/mappers/utils/getAutocompleteString.test.js +0 -21
  198. package/build/domain/mappers/utils/groupLayoutByPinned.js +0 -38
  199. package/build/domain/mappers/utils/groupLayoutByPinned.test.js +0 -166
  200. package/build/domain/mappers/utils/image.js +0 -9
  201. package/build/domain/mappers/utils/layout-utils.js +0 -11
  202. package/build/domain/mappers/utils/legacy-utils.js +0 -49
  203. package/build/domain/mappers/utils/media-utils.js +0 -14
  204. package/build/domain/mappers/utils/suggestions-utils.js +0 -26
  205. package/build/domain/mappers/utils/suggestions-utils.test.js +0 -36
  206. package/build/domain/mappers/utils/tags-utils.js +0 -1
  207. package/build/domain/mappers/utils/utils.js +0 -35
  208. package/build/domain/types.js +0 -1
  209. package/build/getSubflowCallbacks.js +0 -38
  210. package/build/i18n/index.js +0 -40
  211. package/build/index.js +0 -8
  212. package/build/renderers/CoreContainerRenderer.js +0 -5
  213. package/build/renderers/CoreRootRenderer.js +0 -12
  214. package/build/renderers/EmptyLoadingStateRenderer.js +0 -5
  215. package/build/renderers/getRenderFunction.js +0 -24
  216. package/build/renderers/getSchemaErrorMessageFunction.js +0 -97
  217. package/build/renderers/mappers/alertComponentToProps.js +0 -2
  218. package/build/renderers/mappers/allOfComponentToProps.js +0 -6
  219. package/build/renderers/mappers/booleanInputComponentToProps.js +0 -5
  220. package/build/renderers/mappers/boxComponentToProps.js +0 -13
  221. package/build/renderers/mappers/buttonComponentToProps.js +0 -4
  222. package/build/renderers/mappers/columnsComponentToProps.js +0 -11
  223. package/build/renderers/mappers/componentToRendererProps.js +0 -164
  224. package/build/renderers/mappers/constComponentToProps.js +0 -5
  225. package/build/renderers/mappers/containerComponentToProps.js +0 -7
  226. package/build/renderers/mappers/dateInputComponentToProps.js +0 -2
  227. package/build/renderers/mappers/decisionComponentToProps.js +0 -16
  228. package/build/renderers/mappers/dividerComponentToProps.js +0 -2
  229. package/build/renderers/mappers/externalComponentToProps.js +0 -3
  230. package/build/renderers/mappers/formComponentToProps.js +0 -12
  231. package/build/renderers/mappers/formattedValueComponentToProps.js +0 -5
  232. package/build/renderers/mappers/headingComponentToProps.js +0 -2
  233. package/build/renderers/mappers/hiddenComponentToProps.js +0 -4
  234. package/build/renderers/mappers/imageComponentToProps.js +0 -2
  235. package/build/renderers/mappers/instructionsComponentToProps.js +0 -2
  236. package/build/renderers/mappers/integerInputComponentToProps.js +0 -2
  237. package/build/renderers/mappers/listComponentToProps.js +0 -2
  238. package/build/renderers/mappers/loadingIndicatorComponentToProps.js +0 -2
  239. package/build/renderers/mappers/markdownComponentToProps.js +0 -2
  240. package/build/renderers/mappers/mediaComponentToProps.js +0 -2
  241. package/build/renderers/mappers/modalComponentToProps.js +0 -11
  242. package/build/renderers/mappers/modalLayoutComponentToProps.js +0 -16
  243. package/build/renderers/mappers/moneyInputComponentToProps.js +0 -36
  244. package/build/renderers/mappers/multiSelectComponentToProps.js +0 -23
  245. package/build/renderers/mappers/multiUploadInputComponentToProps.js +0 -12
  246. package/build/renderers/mappers/numberInputComponentToProps.js +0 -2
  247. package/build/renderers/mappers/objectComponentToProps.js +0 -8
  248. package/build/renderers/mappers/paragraphComponentToProps.js +0 -2
  249. package/build/renderers/mappers/persistAsyncComponentToProps.js +0 -8
  250. package/build/renderers/mappers/progressComponentToProps.js +0 -2
  251. package/build/renderers/mappers/repeatableComponentToProps.js +0 -30
  252. package/build/renderers/mappers/reviewComponentToProps.js +0 -2
  253. package/build/renderers/mappers/rootComponentToProps.js +0 -21
  254. package/build/renderers/mappers/searchComponentToProps.js +0 -57
  255. package/build/renderers/mappers/sectionComponentToProps.js +0 -6
  256. package/build/renderers/mappers/selectInputComponentToProps.js +0 -34
  257. package/build/renderers/mappers/statusListComponentToProps.js +0 -2
  258. package/build/renderers/mappers/subflowComponentToRendererProps.js +0 -4
  259. package/build/renderers/mappers/tabsComponentToProps.js +0 -14
  260. package/build/renderers/mappers/textInputComponentToProps.js +0 -2
  261. package/build/renderers/mappers/tupleComponentToProps.js +0 -8
  262. package/build/renderers/mappers/uploadInputComponentToProps.js +0 -8
  263. package/build/renderers/mappers/upsellComponentToProps.js +0 -2
  264. package/build/renderers/mappers/utils/getValidationState.js +0 -12
  265. package/build/renderers/mappers/utils/inputComponentToProps.js +0 -26
  266. package/build/renderers/mappers/utils/mapErrorsToValidationState.js +0 -9
  267. package/build/renderers/mappers/utils/pick.js +0 -8
  268. package/build/renderers/mappers/utils/selectInputOptionsToProps.js +0 -11
  269. package/build/renderers/stepComponentToProps.js +0 -32
  270. package/build/renderers/utils.js +0 -69
  271. package/build/renderers/utils.test.js +0 -70
  272. package/build/stories/dev-tools/ContainerQueries.story.js +0 -66
  273. package/build/stories/dev-tools/Debugger.story.js +0 -38
  274. package/build/stories/dev-tools/FixtureSelect.story.js +0 -23
  275. package/build/stories/dev-tools/TestServer.story.js +0 -32
  276. package/build/stories/examples/NativeFlow.story.js +0 -80
  277. package/build/stories/examples/Recipients.story.js +0 -568
  278. package/build/stories/spec/behavior/Copy.story.js +0 -71
  279. package/build/stories/spec/behavior/Link.story.js +0 -40
  280. package/build/stories/spec/behavior/Modal.story.js +0 -79
  281. package/build/stories/spec/behavior/Subflow.story.js +0 -267
  282. package/build/stories/spec/layouts/Decision.story.js +0 -241
  283. package/build/stories/spec/layouts/Image.Illustrations.Animated.story.js +0 -37
  284. package/build/stories/spec/layouts/Image.Sizes.story.js +0 -58
  285. package/build/stories/spec/layouts/Modal.story.js +0 -81
  286. package/build/stories/spec/layouts/Search.story.js +0 -325
  287. package/build/stories/spec/layouts/Upsell.story.js +0 -55
  288. package/build/stories/spec/layouts/button/Button.story.js +0 -100
  289. package/build/stories/spec/layouts/button/PinnedButton.story.js +0 -81
  290. package/build/stories/spec/response/ActionResponse.story.js +0 -66
  291. package/build/stories/spec/schemas/MultiSelect.story.js +0 -148
  292. package/build/stories/spec/schemas/Upload.story.js +0 -168
  293. package/build/stories/spec/schemas/const/ConstLayout.story.js +0 -159
  294. package/build/stories/spec/schemas/const/ObjectConst.story.js +0 -94
  295. package/build/stories/spec/schemas/features/PersistAsync.story.js +0 -211
  296. package/build/stories/spec/schemas/features/ValidationAsync.story.js +0 -103
  297. package/build/stories/spec/schemas/object/FormattedValue.story.js +0 -92
  298. package/build/stories/spec/schemas/object/MoneyInput.story.js +0 -240
  299. package/build/stories/spec/schemas/oneOf/OneOfInitialisation.story.js +0 -55
  300. package/build/stories/spec/schemas/oneOf/OneOfWithSingleOption.story.js +0 -114
  301. package/build/stories/spec/step/Controls.story.js +0 -109
  302. package/build/stories/spec/step/DFModal.story.js +0 -58
  303. package/build/stories/spec/step/Footer.story.js +0 -70
  304. package/build/stories/spec/step/Navigation.story.js +0 -20
  305. package/build/stories/spec/step/ScrollToBottom.story.js +0 -103
  306. package/build/stories/spec/step/Tags.story.js +0 -39
  307. package/build/stories/spec/step/ToolBar.story.js +0 -60
  308. package/build/stories/spec/step/features/ErrorHandling.story.js +0 -92
  309. package/build/stories/spec/step/features/External.story.js +0 -91
  310. package/build/stories/spec/step/features/Polling.story.js +0 -108
  311. package/build/stories/spec/step/features/RefreshAfter.story.js +0 -92
  312. package/build/stories/spec/step/features/refresh/Refresh.story.js +0 -258
  313. package/build/stories/spec/step/features/refresh/RefreshWithPersistAsync.story.js +0 -958
  314. package/build/stories/types.js +0 -1
  315. package/build/stories/utils/fixtureHttpClient.js +0 -70
  316. package/build/stories/utils/getBasicStep.js +0 -223
  317. package/build/stories/utils/mockSearchHandler.js +0 -71
  318. package/build/stories/utils/render-utils.js +0 -41
  319. package/build/stories/visual-tests/layouts/NotUsingListItem.story.js +0 -17
  320. package/build/test-utils/DynamicFlowWise.js +0 -37
  321. package/build/test-utils/DynamicFlowWiseModal.js +0 -34
  322. package/build/test-utils/NeptuneProviders.js +0 -11
  323. package/build/test-utils/component-utils.js +0 -5
  324. package/build/test-utils/fetch-utils.js +0 -45
  325. package/build/test-utils/getMergedTestRenderers.js +0 -34
  326. package/build/test-utils/getRandomId.js +0 -1
  327. package/build/test-utils/index.js +0 -3
  328. package/build/test-utils/openLinkInNewTab.js +0 -15
  329. package/build/test-utils/rtl-utils.js +0 -7
  330. package/build/test-utils/step-utils.js +0 -6
  331. package/build/test-utils/wait.js +0 -3
  332. package/build/tests/AlertLayout.test.js +0 -78
  333. package/build/tests/ArrayTuple.test.js +0 -118
  334. package/build/tests/ButtonLayout.test.js +0 -308
  335. package/build/tests/ConstLayout.test.js +0 -95
  336. package/build/tests/DateInput.test.js +0 -163
  337. package/build/tests/DecisionLayout.test.js +0 -146
  338. package/build/tests/DynamicFlow.test.js +0 -147
  339. package/build/tests/External.test.js +0 -169
  340. package/build/tests/Flow.test.js +0 -328
  341. package/build/tests/FormLayout.test.js +0 -28
  342. package/build/tests/FormattedValue.test.js +0 -107
  343. package/build/tests/ImageRenderer.test.js +0 -78
  344. package/build/tests/InitialAction.test.js +0 -179
  345. package/build/tests/InitialStep.test.js +0 -168
  346. package/build/tests/InstructionsLayout.test.js +0 -45
  347. package/build/tests/ListLayout.test.js +0 -168
  348. package/build/tests/Logging.test.js +0 -53
  349. package/build/tests/ModalBehavior.test.js +0 -149
  350. package/build/tests/MoneyInput.test.js +0 -316
  351. package/build/tests/MultiUpload.test.js +0 -293
  352. package/build/tests/NativeBack.test.js +0 -267
  353. package/build/tests/NoOp.test.js +0 -194
  354. package/build/tests/OneOfInitialisation.test.js +0 -571
  355. package/build/tests/PersistAsync.test.js +0 -687
  356. package/build/tests/Polling.test.js +0 -702
  357. package/build/tests/Prefetching.test.js +0 -230
  358. package/build/tests/RefreshAfter.test.js +0 -63
  359. package/build/tests/RefreshOnChange.ResponseHandling.test.js +0 -205
  360. package/build/tests/RefreshOnChange.test.js +0 -233
  361. package/build/tests/RefreshOnChange.with.Segmented.test.js +0 -350
  362. package/build/tests/RefreshOnChange.with.Tabs.test.js +0 -358
  363. package/build/tests/RefreshOnChangePreserve.test.js +0 -224
  364. package/build/tests/RendererProps.test.js +0 -361
  365. package/build/tests/Repeatable.test.js +0 -107
  366. package/build/tests/Rerendering.test.js +0 -67
  367. package/build/tests/ReviewLayout.test.js +0 -274
  368. package/build/tests/SchemaOnChange.test.js +0 -133
  369. package/build/tests/SchemaReferences.test.js +0 -88
  370. package/build/tests/ScrollToBottom.test.js +0 -122
  371. package/build/tests/ScrollToError.test.js +0 -217
  372. package/build/tests/SegmentedControl.test.js +0 -49
  373. package/build/tests/SingleFileUpload.test.js +0 -168
  374. package/build/tests/StatusList.test.js +0 -85
  375. package/build/tests/Subflow.test.js +0 -887
  376. package/build/tests/Submission.ResponseHandling.test.js +0 -557
  377. package/build/tests/Submission.merging.test.js +0 -202
  378. package/build/tests/Submission.test.js +0 -748
  379. package/build/tests/Tags.test.js +0 -475
  380. package/build/tests/Upsell.test.js +0 -154
  381. package/build/tests/ValidationAsync.test.js +0 -295
  382. package/build/tests/legacy/Actions.test.js +0 -158
  383. package/build/tests/legacy/BackButton.test.js +0 -114
  384. package/build/tests/legacy/HiddenSchemas.test.js +0 -246
  385. package/build/tests/legacy/MultiSelect.test.js +0 -501
  386. package/build/tests/legacy/MultipleFileUploadSchema.test.js +0 -350
  387. package/build/tests/legacy/PersistAsync.blob-schema.test.js +0 -224
  388. package/build/tests/legacy/PersistAsync.string-schema.test.js +0 -211
  389. package/build/tests/legacy/RefreshStepOnChange.debouncing.test.js +0 -209
  390. package/build/tests/legacy/RefreshStepOnChange.test.js +0 -424
  391. package/build/tests/legacy/Search.test.js +0 -439
  392. package/build/tests/renderers/MultiSelectInputRendererProps.test.js +0 -58
  393. package/build/tests/renderers/SelectInputRendererProps.test.js +0 -43
  394. package/build/tests/renderers/TextInputRenderer.test.js +0 -51
  395. package/build/types.js +0 -1
  396. package/build/useDynamicFlow.js +0 -105
  397. package/build/useDynamicFlowModal.js +0 -58
  398. package/build/utils/analyse-step.js +0 -14
  399. package/build/utils/component-utils.js +0 -8
  400. package/build/utils/component-utils.test.js +0 -113
  401. package/build/utils/getScrollToTop.js +0 -12
  402. package/build/utils/normalise-flow-id.js +0 -1
  403. package/build/utils/normalise-flow-id.test.js +0 -24
  404. package/build/utils/recursiveMerge.js +0 -40
  405. package/build/utils/recursiveMerge.test.js +0 -93
  406. package/build/utils/type-utils.js +0 -21
  407. package/build/utils/type-validators.js +0 -11
  408. package/build/utils/type-validators.test.js +0 -180
  409. package/build/utils/useStableCallback.js +0 -15
@@ -1,5 +0,0 @@
1
- export const getInitialValidationAsyncState = () => ({
2
- abortController: new AbortController(),
3
- lastSubmitted: null,
4
- messages: {},
5
- });
@@ -1,45 +0,0 @@
1
- import { isObject, isString } from '../../../utils/type-validators';
2
- import { constructPayload } from '../utils/http-utils';
3
- import { getAnalyticsFromErrorResponse } from '../utils/response-utils';
4
- /**
5
- * Takes an httpClient and schema validation async config and returns a function that can
6
- * execute a validation async request.
7
- */
8
- export const getPerformValidationAsync = ({ httpClient, validationAsyncConfig, schemaId, trackEvent, }) => {
9
- const { method, param, url } = validationAsyncConfig;
10
- const trackFailureAndReturn = (json) => {
11
- const analytics = getAnalyticsFromErrorResponse(json);
12
- trackEvent('ValidationAsync Failed', Object.assign({ schema: schemaId }, analytics));
13
- return null;
14
- };
15
- return async function performValidationAsync({ value, signal }) {
16
- let response;
17
- trackEvent('ValidationAsync Triggered', { schema: schemaId });
18
- try {
19
- response = await httpClient(url, constructPayload({ value, signal, requestConfig: { method, param } }));
20
- }
21
- catch (e) {
22
- return trackFailureAndReturn();
23
- }
24
- const json = (await response.json().catch(() => null));
25
- const message = getValidationMessage(json);
26
- if (response.ok) {
27
- trackEvent('ValidationAsync Succeeded', { schema: schemaId });
28
- return message;
29
- }
30
- if (response.status === 422) {
31
- if (message) {
32
- trackEvent('ValidationAsync Succeeded', { schema: schemaId });
33
- throw new Error(message);
34
- }
35
- }
36
- return trackFailureAndReturn(json);
37
- };
38
- };
39
- const getValidationMessage = (json) => {
40
- if (!isObject(json)) {
41
- return null;
42
- }
43
- const { message } = json;
44
- return isString(message) ? message : null;
45
- };
@@ -1,143 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { getMockHttpClient, respondWith } from '../../../test-utils';
3
- import { getPerformValidationAsync } from './getPerformValidationAsync';
4
- describe('getPerformValidationAsync', () => {
5
- const trackEvent = vi.fn();
6
- const signal = {};
7
- const validationAsyncConfig = {
8
- method: 'POST',
9
- param: 'param',
10
- url: '/validate',
11
- };
12
- it('should make the request using the specified parameter', async () => {
13
- const spyHttpClient = vi.fn().mockResolvedValue(respondWith({ message: 'Validation failed' }));
14
- const spyTrackEvent = vi.fn();
15
- const performValidationAsync = getPerformValidationAsync({
16
- httpClient: spyHttpClient,
17
- trackEvent: spyTrackEvent,
18
- validationAsyncConfig,
19
- schemaId: 'schemaId',
20
- });
21
- await performValidationAsync({ value: 'value', signal });
22
- expect(spyHttpClient).toHaveBeenCalledWith('/validate', {
23
- body: '{"param":"value"}',
24
- headers: { 'Content-Type': 'application/json' },
25
- method: 'POST',
26
- signal,
27
- });
28
- expect(spyTrackEvent).toHaveBeenCalledWith('ValidationAsync Triggered', expect.objectContaining({ schema: 'schemaId' }));
29
- });
30
- it('should wrap blobs in form data before submitting', async () => {
31
- const spyHttpClient = vi.fn().mockResolvedValue(respondWith({ message: 'Validation failed' }));
32
- const performValidationAsync = getPerformValidationAsync({
33
- httpClient: spyHttpClient,
34
- trackEvent,
35
- validationAsyncConfig,
36
- });
37
- const file = new File(['file'], 'file.txt');
38
- await performValidationAsync({ value: file, signal });
39
- expect(spyHttpClient).toHaveBeenCalledWith('/validate', {
40
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
41
- body: expect.any(FormData),
42
- headers: {},
43
- method: 'POST',
44
- signal,
45
- });
46
- });
47
- describe('when the response is ok', () => {
48
- it('should respond with message if response includes one', async () => {
49
- const httpClient = getMockHttpClient({
50
- '/validate': async () => respondWith({ message: 'Validation succeeded' }),
51
- });
52
- const spyTrackEvent = vi.fn();
53
- const performValidationAsync = getPerformValidationAsync({
54
- httpClient,
55
- trackEvent: spyTrackEvent,
56
- validationAsyncConfig,
57
- schemaId: 'schemaId',
58
- });
59
- const result = await performValidationAsync({ value: 'value', signal });
60
- expect(result).toBe('Validation succeeded');
61
- expect(spyTrackEvent).toHaveBeenLastCalledWith('ValidationAsync Succeeded', expect.objectContaining({ schema: 'schemaId' }));
62
- });
63
- it('should respond with null if response does not include a message', async () => {
64
- const httpClient = getMockHttpClient({
65
- '/validate': async () => respondWith({}, { status: 200 }),
66
- });
67
- const spyTrackEvent = vi.fn();
68
- const performValidationAsync = getPerformValidationAsync({
69
- httpClient,
70
- trackEvent: spyTrackEvent,
71
- validationAsyncConfig,
72
- schemaId: 'schemaId',
73
- });
74
- const result = await performValidationAsync({ value: 'value', signal });
75
- expect(result).toBeNull();
76
- expect(spyTrackEvent).toHaveBeenLastCalledWith('ValidationAsync Succeeded', expect.objectContaining({ schema: 'schemaId' }));
77
- });
78
- });
79
- describe('when the response is 422', () => {
80
- it('should throw if the response includes a message', async () => {
81
- const httpClient = getMockHttpClient({
82
- '/validate': async () => respondWith({ message: 'error with this field' }, { status: 422 }),
83
- });
84
- const spyTrackEvent = vi.fn();
85
- const performValidationAsync = getPerformValidationAsync({
86
- httpClient,
87
- trackEvent: spyTrackEvent,
88
- validationAsyncConfig,
89
- schemaId: 'schemaId',
90
- });
91
- await expect(performValidationAsync({ value: 'value', signal })).rejects.toThrow('error with this field');
92
- expect(spyTrackEvent).toHaveBeenLastCalledWith('ValidationAsync Succeeded', expect.objectContaining({ schema: 'schemaId' }));
93
- });
94
- it('should respond with null if response does not include a message', async () => {
95
- const httpClient = getMockHttpClient({
96
- '/validate': async () => respondWith({}, { status: 422 }),
97
- });
98
- const spyTrackEvent = vi.fn();
99
- const performValidationAsync = getPerformValidationAsync({
100
- httpClient,
101
- trackEvent: spyTrackEvent,
102
- validationAsyncConfig,
103
- schemaId: 'schemaId',
104
- });
105
- const result = await performValidationAsync({ value: 'value', signal });
106
- expect(result).toBeNull();
107
- expect(spyTrackEvent).toHaveBeenLastCalledWith('ValidationAsync Failed', expect.objectContaining({ schema: 'schemaId' }));
108
- });
109
- });
110
- describe('when the response is neither 2xx or 422', () => {
111
- it('should track a failure and return null', async () => {
112
- const analytics = { something: 'important' };
113
- const httpClient = getMockHttpClient({
114
- '/validate': async () => respondWith({ analytics }, { status: 500 }),
115
- });
116
- const spyTrackEvent = vi.fn();
117
- const performValidationAsync = getPerformValidationAsync({
118
- httpClient,
119
- trackEvent: spyTrackEvent,
120
- validationAsyncConfig,
121
- schemaId: 'schemaId',
122
- });
123
- const result = await performValidationAsync({ value: 'value', signal });
124
- expect(result).toBeNull();
125
- expect(spyTrackEvent).toHaveBeenLastCalledWith('ValidationAsync Failed', expect.objectContaining({ schema: 'schemaId', something: 'important' }));
126
- });
127
- it('should track and return null if the response fails', async () => {
128
- const httpClient = getMockHttpClient({
129
- '/validate': async () => Promise.reject(new Error()),
130
- });
131
- const spyTrackEvent = vi.fn();
132
- const performValidationAsync = getPerformValidationAsync({
133
- httpClient,
134
- trackEvent: spyTrackEvent,
135
- validationAsyncConfig,
136
- schemaId: 'schemaId',
137
- });
138
- const result = await performValidationAsync({ value: 'value', signal });
139
- expect(result).toBeNull();
140
- expect(spyTrackEvent).toHaveBeenLastCalledWith('ValidationAsync Failed', expect.objectContaining({ schema: 'schemaId' }));
141
- });
142
- });
143
- });
@@ -1,16 +0,0 @@
1
- import { createAlertComponent } from '../../components/AlertComponent';
2
- import { getDomainLayerCallToAction } from '../utils/call-to-action-utils';
3
- import { mapLegacyContext } from '../utils/legacy-utils';
4
- export const alertLayoutToComponent = (uid, { control, markdown, margin, context, callToAction, analyticsId, tags, }, mapperProps) => {
5
- const cta = callToAction ? getDomainLayerCallToAction(callToAction, mapperProps) : undefined;
6
- return createAlertComponent({
7
- uid,
8
- analyticsId,
9
- control,
10
- markdown,
11
- margin: margin !== null && margin !== void 0 ? margin : 'md',
12
- callToAction: cta,
13
- context: mapLegacyContext(context !== null && context !== void 0 ? context : 'neutral'),
14
- tags,
15
- });
16
- };
@@ -1,13 +0,0 @@
1
- import { createBoxComponent } from '../../components/BoxComponent';
2
- import { mapLayoutToComponent } from '../mapLayoutToComponent';
3
- import { normaliseMarginInLastComponent } from '../utils/layout-utils';
4
- export const boxLayoutToComponent = (uid, { border = false, components, control, margin, width, analyticsId, tags }, mapperProps, schemaComponents) => createBoxComponent({
5
- uid,
6
- analyticsId,
7
- border,
8
- control,
9
- margin: margin !== null && margin !== void 0 ? margin : 'md',
10
- width: width !== null && width !== void 0 ? width : 'xl',
11
- tags,
12
- components: normaliseMarginInLastComponent(components).map((component, index) => mapLayoutToComponent(`${uid}.box-${index}`, component, mapperProps, schemaComponents)),
13
- });
@@ -1,77 +0,0 @@
1
- import { createButtonComponent } from '../../components/ButtonComponent';
2
- import { getDomainLayerBehavior, inlineAction } from '../utils/behavior-utils';
3
- import { mapLegacyActionTypeToContext, mapLegacyActionTypeToControl, mapLegacyContext, } from '../utils/legacy-utils';
4
- import { getDomainLayerMedia } from '../utils/media-utils';
5
- export const buttonLayoutToComponent = (uid, button, mapperProps) => {
6
- if (!button.behavior &&
7
- !button.action &&
8
- mapperProps.features.isEnabled('strictButtonOperations')) {
9
- throw new Error('ButtonLayout must have either a behavior or an action');
10
- }
11
- // Soon-to-be deprecated behaviour
12
- if (!button.behavior && button.action) {
13
- return buttonLayoutToComponentWithAction(uid, Object.assign(Object.assign({}, button), { action: button.action }), mapperProps);
14
- }
15
- return buttonLayoutToComponentWithBehavior(uid, button, mapperProps);
16
- };
17
- const buttonLayoutToComponentWithBehavior = (uid, button, mapperProps) => {
18
- var _a;
19
- const { onBehavior } = mapperProps;
20
- const { context, control, disabled, margin, media, pinOrder, size, title, analyticsId, tags } = button;
21
- const behavior = getDomainLayerBehavior(button, (_a = mapperProps.step.actions) !== null && _a !== void 0 ? _a : [], mapperProps.registerSubmissionBehavior);
22
- const onClick = () => {
23
- void onBehavior(behavior);
24
- };
25
- return createButtonComponent({
26
- uid,
27
- analyticsId,
28
- context: mapLegacyContext(context !== null && context !== void 0 ? context : 'neutral'),
29
- control,
30
- disabled: disabled !== null && disabled !== void 0 ? disabled : false,
31
- margin: margin !== null && margin !== void 0 ? margin : 'md',
32
- media: getDomainLayerMedia({ media }),
33
- pinOrder,
34
- size,
35
- title: title !== null && title !== void 0 ? title : '',
36
- onClick,
37
- tags,
38
- });
39
- };
40
- // Soon-to-be deprecated behaviour
41
- const buttonLayoutToComponentWithAction = (uid, button, mapperProps) => {
42
- const { onBehavior, step } = mapperProps;
43
- const { context, control, disabled, margin = 'md', media, pinOrder, size, title, analyticsId, tags, } = button;
44
- const { action } = button;
45
- const inlinedAction = action ? inlineAction(action, step === null || step === void 0 ? void 0 : step.actions) : {};
46
- const onClick = () => {
47
- void onBehavior({ type: 'action', action: inlinedAction });
48
- };
49
- return createButtonComponent({
50
- uid,
51
- context: getButtonContext({ context, action: inlinedAction }),
52
- control: getButtonControl({ control, action: inlinedAction }),
53
- disabled: getButtonDisabled({ disabled, action: inlinedAction }),
54
- margin,
55
- media: getDomainLayerMedia({ media }),
56
- pinOrder,
57
- size,
58
- title: getButtonTitle({ title, action: inlinedAction }),
59
- onClick,
60
- analyticsId,
61
- tags,
62
- });
63
- };
64
- const getButtonTitle = ({ title, action }) => { var _a; return (_a = title !== null && title !== void 0 ? title : action === null || action === void 0 ? void 0 : action.title) !== null && _a !== void 0 ? _a : ''; };
65
- const getButtonDisabled = ({ disabled, action, }) => { var _a; return (_a = disabled !== null && disabled !== void 0 ? disabled : action === null || action === void 0 ? void 0 : action.disabled) !== null && _a !== void 0 ? _a : false; };
66
- const getButtonControl = ({ control, action }) => {
67
- if (control) {
68
- return control;
69
- }
70
- return (action === null || action === void 0 ? void 0 : action.type) ? mapLegacyActionTypeToControl(action.type) : undefined;
71
- };
72
- const getButtonContext = ({ context, action }) => {
73
- if (context) {
74
- return mapLegacyContext(context);
75
- }
76
- return (action === null || action === void 0 ? void 0 : action.type) ? mapLegacyActionTypeToContext(action.type) : 'neutral';
77
- };
@@ -1,13 +0,0 @@
1
- import { createColumnsComponent } from '../../components/ColumnsComponent';
2
- import { mapLayoutToComponent } from '../mapLayoutToComponent';
3
- import { mapLegacyBias } from '../utils/legacy-utils';
4
- export const columnsLayoutToComponent = (uid, { control, left, right, bias, margin, analyticsId, tags }, mapperProps, schemaComponents) => createColumnsComponent({
5
- uid,
6
- analyticsId,
7
- control,
8
- margin: margin !== null && margin !== void 0 ? margin : 'md',
9
- bias: mapLegacyBias(bias !== null && bias !== void 0 ? bias : 'none'),
10
- tags,
11
- startComponents: left.map((component, index) => mapLayoutToComponent(`${uid}.columns-start-${index}`, component, mapperProps, schemaComponents)),
12
- endComponents: right.map((component, index) => mapLayoutToComponent(`${uid}.columns-end-${index}`, component, mapperProps, schemaComponents)),
13
- });
@@ -1,22 +0,0 @@
1
- import { createDecisionComponent } from '../../components/DecisionComponent';
2
- import { getDomainLayerBehavior } from '../utils/behavior-utils';
3
- import { getDomainLayerMedia } from '../utils/media-utils';
4
- import { mapTags } from '../utils/tags-utils';
5
- import { mapInlineAlert } from '../utils/utils';
6
- export const decisionLayoutToComponent = (uid, { analyticsId, control, margin, options, tags, title, }, mapperProps) => createDecisionComponent({
7
- uid,
8
- analyticsId,
9
- control,
10
- margin: margin !== null && margin !== void 0 ? margin : 'md',
11
- options: options.map((option) => mapOption(option, mapperProps)),
12
- tags,
13
- title,
14
- });
15
- const mapOption = (option, mapperProps) => {
16
- var _a, _b;
17
- const { step, onBehavior, registerSubmissionBehavior } = mapperProps;
18
- const behavior = getDomainLayerBehavior(option, (_a = step.actions) !== null && _a !== void 0 ? _a : [], registerSubmissionBehavior);
19
- return Object.assign(Object.assign({}, option), { disabled: (_b = option.disabled) !== null && _b !== void 0 ? _b : false, href: behavior.type === 'link' ? behavior.url : undefined, media: getDomainLayerMedia(option), inlineAlert: mapInlineAlert(option.inlineAlert), tags: mapTags(option), onClick: () => {
20
- void onBehavior(behavior);
21
- } });
22
- };
@@ -1,30 +0,0 @@
1
- import { createStatusListComponent } from '../../components/StatusListComponent';
2
- export const isDeprecatedListLayout = (layout) => {
3
- return layout.items.some((item) => item.status);
4
- };
5
- export const deprecatedListLayoutToComponent = (uid, { analyticsId, control, items, margin, title, tags }) => createStatusListComponent({
6
- uid,
7
- analyticsId,
8
- control,
9
- items: items.map(({ description, icon, status, title: itemTitle, tags: itemTags }) => ({
10
- description,
11
- icon: icon !== null && icon !== void 0 ? icon : { text: '' },
12
- title: itemTitle !== null && itemTitle !== void 0 ? itemTitle : '',
13
- status: status ? mapLegacyStatus(status) : undefined,
14
- tags: itemTags,
15
- })),
16
- margin: margin !== null && margin !== void 0 ? margin : 'md',
17
- title,
18
- tags,
19
- });
20
- const mapLegacyStatus = (status) => {
21
- switch (status) {
22
- case 'positive':
23
- return 'done';
24
- case 'warning':
25
- return 'pending';
26
- case 'neutral':
27
- default:
28
- return 'not-done';
29
- }
30
- };
@@ -1,2 +0,0 @@
1
- import { createDividerComponent } from '../../components/DividerComponent';
2
- export const dividerLayoutToComponent = (uid, { control, margin, analyticsId, tags }) => createDividerComponent({ uid, analyticsId, control, margin: margin !== null && margin !== void 0 ? margin : 'md', tags });
@@ -1,19 +0,0 @@
1
- import { createFormComponent } from '../../components/FormComponent';
2
- export const formLayoutToComponent = (uid, { analyticsId, schemaId, schema: schemaRef, control, margin, tags }, schemaComponents) => {
3
- const id = schemaId !== null && schemaId !== void 0 ? schemaId : schemaRef === null || schemaRef === void 0 ? void 0 : schemaRef.$ref;
4
- if (id == null) {
5
- throw new Error('FormLayouts must refer to a schema. Set the `schemaId` property to the intended schema.');
6
- }
7
- const schemaComponent = schemaComponents.find((component) => component.schemaId === id);
8
- if (!schemaComponent) {
9
- throw new Error(`FormLayout with schemaId ${id} not found in inputComponents. The schema is probably missing in the step.schemas array.`);
10
- }
11
- return createFormComponent({
12
- uid,
13
- analyticsId,
14
- schemaComponent,
15
- control,
16
- margin: margin !== null && margin !== void 0 ? margin : 'md',
17
- tags,
18
- });
19
- };
@@ -1,12 +0,0 @@
1
- import { createHeadingComponent } from '../../components/HeadingComponent';
2
- import { mapLegacyAlign } from '../utils/legacy-utils';
3
- export const headingLayoutToComponent = (uid, { analyticsId, align, margin, size, control, tags, text }) => createHeadingComponent({
4
- uid,
5
- analyticsId,
6
- align: mapLegacyAlign(align !== null && align !== void 0 ? align : 'left'),
7
- control,
8
- margin: margin !== null && margin !== void 0 ? margin : 'md',
9
- size: size !== null && size !== void 0 ? size : 'md',
10
- tags,
11
- text,
12
- });
@@ -1,20 +0,0 @@
1
- import { createImageComponent } from '../../components/ImageComponent';
2
- import { mapLegacyAlign } from '../utils/legacy-utils';
3
- export const imageLayoutToComponent = (uid, { analyticsId, accessibilityDescription, align, content, control, margin, size, tags, text, url, }) => {
4
- var _a, _b, _c;
5
- return createImageComponent({
6
- uid,
7
- analyticsId,
8
- align: mapLegacyAlign(align !== null && align !== void 0 ? align : 'center'),
9
- content: content
10
- ? {
11
- uri: (_b = (_a = content.uri) !== null && _a !== void 0 ? _a : content.url) !== null && _b !== void 0 ? _b : '',
12
- accessibilityDescription: (_c = content.accessibilityDescription) !== null && _c !== void 0 ? _c : content.text,
13
- }
14
- : { accessibilityDescription: accessibilityDescription !== null && accessibilityDescription !== void 0 ? accessibilityDescription : text, uri: url !== null && url !== void 0 ? url : '' },
15
- control,
16
- margin: margin !== null && margin !== void 0 ? margin : 'md',
17
- size: size !== null && size !== void 0 ? size : 'md',
18
- tags,
19
- });
20
- };
@@ -1,12 +0,0 @@
1
- import { createMarkdownComponent } from '../../components/MarkdownComponent';
2
- import { mapLegacyAlign } from '../utils/legacy-utils';
3
- export const infoLayoutToComponent = (uid, { analyticsId, align, control, margin, markdown: content, tags }) => createMarkdownComponent({
4
- uid,
5
- analyticsId,
6
- align: mapLegacyAlign(align !== null && align !== void 0 ? align : 'left'),
7
- content,
8
- control,
9
- margin: margin !== null && margin !== void 0 ? margin : 'md',
10
- tags,
11
- size: 'md',
12
- });
@@ -1,12 +0,0 @@
1
- import { createInstructionsComponent } from '../../components/InstructionsComponent';
2
- import { mapLegacyContext } from '../utils/legacy-utils';
3
- import { mapTags } from '../utils/tags-utils';
4
- export const instructionsLayoutToComponent = (uid, { analyticsId, control, items, margin, tags, title }) => createInstructionsComponent({
5
- uid,
6
- analyticsId,
7
- control,
8
- items: items.map((item) => (Object.assign(Object.assign({}, item), { context: mapLegacyContext(item.context), tags: mapTags(item) }))),
9
- margin: margin !== null && margin !== void 0 ? margin : 'md',
10
- tags,
11
- title,
12
- });
@@ -1,39 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import { createListComponent } from '../../components/ListComponent';
13
- import { getDomainLayerCallToAction } from '../utils/call-to-action-utils';
14
- import { mapAdditionalInfo, mapInlineAlert } from '../utils/utils';
15
- import { getDomainLayerMedia } from '../utils/media-utils';
16
- import { mapTags } from '../utils/tags-utils';
17
- export const listLayoutToComponent = (uid, { analyticsId, callToAction, control, items, margin, tags, title }, mapperProps) => {
18
- return createListComponent({
19
- uid,
20
- analyticsId,
21
- control,
22
- items: items.map((item) => mapItem(item, mapperProps)),
23
- callToAction: getDomainLayerCallToAction(callToAction, mapperProps),
24
- margin: margin !== null && margin !== void 0 ? margin : 'md',
25
- tags,
26
- title,
27
- });
28
- };
29
- const mapItem = (item, mapperProps) => {
30
- const { value, subvalue, subtitle, callToAction, description, icon, image, media, additionalInfo, inlineAlert } = item, rest = __rest(item, ["value", "subvalue", "subtitle", "callToAction", "description", "icon", "image", "media", "additionalInfo", "inlineAlert"]);
31
- return Object.assign(Object.assign({}, rest), { description: description !== null && description !== void 0 ? description : subtitle, media: getDomainLayerMedia({ icon, image, media }), supportingValues: mapSupportingValues(item), additionalInfo: mapAdditionalInfo(additionalInfo, mapperProps), inlineAlert: mapInlineAlert(inlineAlert), callToAction: getDomainLayerCallToAction(callToAction, mapperProps), tags: mapTags(rest) });
32
- };
33
- const mapSupportingValues = (item) => {
34
- const { value, subvalue, supportingValues } = item;
35
- if (supportingValues) {
36
- return supportingValues;
37
- }
38
- return value || subvalue ? { value, subvalue } : undefined;
39
- };
@@ -1,9 +0,0 @@
1
- import { createLoadingIndicatorComponent } from '../../components/LoadingIndicatorComponent';
2
- export const loadingIndicatorLayoutToComponent = (uid, { analyticsId, control, margin, size, tags }) => createLoadingIndicatorComponent({
3
- uid,
4
- analyticsId,
5
- control,
6
- margin: margin !== null && margin !== void 0 ? margin : 'md',
7
- size: size !== null && size !== void 0 ? size : 'md',
8
- tags,
9
- });
@@ -1,12 +0,0 @@
1
- import { createMarkdownComponent } from '../../components/MarkdownComponent';
2
- import { mapLegacyAlign } from '../utils/legacy-utils';
3
- export const markdownLayoutToComponent = (uid, { analyticsId, align, margin, control, content, size, tags, }) => createMarkdownComponent({
4
- uid,
5
- analyticsId,
6
- align: mapLegacyAlign(align !== null && align !== void 0 ? align : 'left'),
7
- control,
8
- content,
9
- margin: margin !== null && margin !== void 0 ? margin : 'md',
10
- tags,
11
- size: size !== null && size !== void 0 ? size : 'md',
12
- });
@@ -1,12 +0,0 @@
1
- import { createMediaComponent } from '../../components/MediaComponent';
2
- import { mapLegacyAlign } from '../utils/legacy-utils';
3
- export const mediaLayoutToComponent = (uid, { analyticsId, align, control, margin, media, size, tags }) => createMediaComponent({
4
- uid,
5
- analyticsId,
6
- align: mapLegacyAlign(align !== null && align !== void 0 ? align : 'center'),
7
- control,
8
- margin: margin !== null && margin !== void 0 ? margin : 'md',
9
- media,
10
- size: size !== null && size !== void 0 ? size : 'md',
11
- tags,
12
- });
@@ -1,17 +0,0 @@
1
- import { createModalComponent } from '../../components/ModalLayoutComponent';
2
- import { mapLayoutToComponent } from '../mapLayoutToComponent';
3
- export const modalLayoutToComponent = (uid, { analyticsId, content, control, margin, tags, trigger }, mapperProps, schemaComponents) => {
4
- const { components, title } = content;
5
- return createModalComponent({
6
- uid,
7
- analyticsId,
8
- content: {
9
- components: components.map((component, index) => mapLayoutToComponent(`${uid}.modal-${index}`, component, mapperProps, schemaComponents)),
10
- title,
11
- },
12
- control,
13
- margin: margin !== null && margin !== void 0 ? margin : 'md',
14
- tags,
15
- trigger,
16
- });
17
- };
@@ -1,8 +0,0 @@
1
- import { createModalContentComponent } from '../../components/ModalComponent';
2
- import { getRandomId } from '../../components/utils/getRandomId';
3
- import { mapLayoutToComponent } from '../mapLayoutToComponent';
4
- export const modalToComponent = (uid, { content, title }, mapperProps, schemaComponents) => createModalContentComponent({
5
- uid: `${uid}-modal-${getRandomId()}`,
6
- title,
7
- components: content.map((component, index) => mapLayoutToComponent(`${uid}.modal-${index}`, component, mapperProps, schemaComponents)),
8
- }, mapperProps.onComponentUpdate);
@@ -1,12 +0,0 @@
1
- import { createParagraphComponent } from '../../components/ParagraphComponent';
2
- import { mapLegacyAlign } from '../utils/legacy-utils';
3
- export const paragraphLayoutToComponent = (uid, { analyticsId, align, control, margin, size, tags, text }) => createParagraphComponent({
4
- uid,
5
- analyticsId,
6
- text,
7
- control,
8
- align: mapLegacyAlign(align !== null && align !== void 0 ? align : 'left'),
9
- margin: margin !== null && margin !== void 0 ? margin : 'md',
10
- tags,
11
- size: size !== null && size !== void 0 ? size : 'md',
12
- });
@@ -1,15 +0,0 @@
1
- import { createProgressComponent } from '../../components/ProgressComponent';
2
- import { mapLegacyContext } from '../utils/legacy-utils';
3
- export const progressLayoutToComponent = (uid, { analyticsId, context, control, description, help, margin, progress, progressText, tags, title, }) => createProgressComponent({
4
- uid,
5
- analyticsId,
6
- context: mapLegacyContext(context !== null && context !== void 0 ? context : 'neutral'),
7
- control,
8
- description,
9
- help: help === null || help === void 0 ? void 0 : help.markdown,
10
- margin: margin !== null && margin !== void 0 ? margin : 'md',
11
- progress,
12
- progressText,
13
- tags,
14
- title,
15
- });
@@ -1,48 +0,0 @@
1
- import { createReviewComponent } from '../../components/ReviewComponent';
2
- import { getDomainLayerCallToAction } from '../utils/call-to-action-utils';
3
- import { getDomainLayerMedia } from '../utils/media-utils';
4
- import { mapTags } from '../utils/tags-utils';
5
- import { mapAdditionalInfo, mapInlineAlert } from '../utils/utils';
6
- export const reviewLayoutToComponent = (uid, { analyticsId, fields, title, callToAction, control, margin, tags, orientation, action, }, mapperProps) => createReviewComponent({
7
- uid,
8
- analyticsId,
9
- callToAction: getCallToAction({ mapperProps, callToAction, action }),
10
- control: getOrientationControl({ control, orientation }),
11
- fields: fields.map((field) => mapReviewField(field, mapperProps)),
12
- margin: margin !== null && margin !== void 0 ? margin : 'md',
13
- tags,
14
- title,
15
- });
16
- const getCallToAction = ({ callToAction, action, mapperProps, }) => {
17
- if (callToAction) {
18
- return getDomainLayerCallToAction(callToAction, mapperProps);
19
- }
20
- // for legacy reasons, we need to support regular actions, and use the legacy action.title for the CTA title
21
- if (action === null || action === void 0 ? void 0 : action.title) {
22
- return {
23
- type: 'action',
24
- title: action.title,
25
- onClick: () => {
26
- void mapperProps.onBehavior({ type: 'action', action });
27
- },
28
- };
29
- }
30
- return undefined;
31
- };
32
- const getOrientationControl = ({ control, orientation, }) => {
33
- if (control) {
34
- return control;
35
- }
36
- // for legacy we support an orientation property, but this has been replaced by control
37
- if (orientation) {
38
- return orientation;
39
- }
40
- return undefined;
41
- };
42
- const mapReviewField = (field, mapperProps) => {
43
- var _a;
44
- return (Object.assign(Object.assign({}, field), { media: getDomainLayerMedia(field), help: (_a = field.help) === null || _a === void 0 ? void 0 : _a.markdown, inlineAlert: mapInlineAlert(field.inlineAlert), additionalInfo: mapAdditionalInfo(field.additionalInfo, mapperProps), callToAction: getCallToAction({
45
- callToAction: field.callToAction,
46
- mapperProps,
47
- }), tags: mapTags(field) }));
48
- };