@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
package/build/index.js DELETED
@@ -1,8 +0,0 @@
1
- export { makeHttpClient } from './common/makeHttpClient';
2
- export { default as translations } from './i18n';
3
- export { findRendererPropsByType } from './renderers/utils';
4
- export { useDynamicFlow } from './useDynamicFlow';
5
- export { useDynamicFlowModal } from './useDynamicFlowModal';
6
- export { DynamicFlowCore as DynamicFlow } from './DynamicFlowCore';
7
- export { makeRequestCache } from './domain/features/prefetch/request-cache';
8
- export { eventNames } from './domain/features/eventNames';
@@ -1,5 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- export const CoreContainerRenderer = {
3
- canRenderType: 'container',
4
- render: ({ children }) => _jsx(_Fragment, { children: children }),
5
- };
@@ -1,12 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { findRendererPropsByType } from './utils';
3
- export const CoreRootRenderer = {
4
- canRenderType: 'root',
5
- render: ({ children, childrenProps, subflow }) => {
6
- if ((subflow === null || subflow === void 0 ? void 0 : subflow.presentation.type) === 'push') {
7
- return _jsx(_Fragment, { children: subflow.children });
8
- }
9
- const [stepProps] = findRendererPropsByType(childrenProps, 'step');
10
- return (_jsxs("div", { id: stepProps === null || stepProps === void 0 ? void 0 : stepProps.id, className: "dynamic-flow-step", children: [children, (subflow === null || subflow === void 0 ? void 0 : subflow.presentation.type) === 'modal' ? subflow.children : undefined] }));
11
- },
12
- };
@@ -1,5 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- export const EmptyLoadingStateRenderer = {
3
- canRenderType: 'loading-state',
4
- render: () => _jsx(_Fragment, {}),
5
- };
@@ -1,24 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- export const getRenderFunction = (renderers) => {
3
- function ComponentRenderer(props) {
4
- const { type } = props;
5
- if (type === 'hidden') {
6
- return null;
7
- }
8
- const renderer = renderers.find(({ canRenderType, canRender = () => true }) =>
9
- // once the type is matched, we know the props are of the correct type
10
- canRenderType === type && canRender(props));
11
- if (!renderer) {
12
- throw new Error(`Could not find a renderer for ${type}`);
13
- }
14
- // if renderer defined, we know props are of the correct type
15
- return renderer.render(props);
16
- }
17
- const render = (props) => {
18
- if (!props) {
19
- return _jsx(_Fragment, {});
20
- }
21
- return _jsx(ComponentRenderer, Object.assign({}, props), props.uid);
22
- };
23
- return render;
24
- };
@@ -1,97 +0,0 @@
1
- import { formatDate } from '@transferwise/formatting';
2
- import errorMessages from '../common/messages/validation.messages';
3
- import genericErrorMessages from '../common/messages/generic-error.messages';
4
- import arrayErrorMessages from '../common/messages/validation.array.messages';
5
- import fileUploadMessages from '../common/messages/file-upload.messages';
6
- import multiFileUploadMessages from '../common/messages/multi-file-upload.messages';
7
- export function getSchemaErrorMessageFunction(formatMessage, locale) {
8
- return (validationMessages) => createErrorMessageFunctions(validationMessages !== null && validationMessages !== void 0 ? validationMessages : {}, formatMessage, locale);
9
- }
10
- const createErrorMessageFunctions = (validationMessages, formatMessage, locale) => ({
11
- minimum(minimum) {
12
- var _a;
13
- return ((_a = validationMessages.minimum) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.minimum, {
14
- minimum,
15
- }));
16
- },
17
- maximum(maximum) {
18
- var _a;
19
- return ((_a = validationMessages.maximum) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.maximum, {
20
- maximum,
21
- }));
22
- },
23
- minimumDate(minimumDate) {
24
- var _a;
25
- return ((_a = validationMessages.minimum) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.minimumDate, {
26
- minimum: formatDate(new Date(minimumDate), locale, formatDateOptions),
27
- }));
28
- },
29
- maximumDate(maximumDate) {
30
- var _a;
31
- return ((_a = validationMessages.maximum) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.maximumDate, {
32
- maximum: formatDate(new Date(maximumDate), locale, formatDateOptions),
33
- }));
34
- },
35
- minLength(minLength) {
36
- var _a;
37
- return ((_a = validationMessages.minLength) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.minLength, {
38
- minLength,
39
- }));
40
- },
41
- maxLength(maxLength) {
42
- var _a;
43
- return ((_a = validationMessages.maxLength) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.maxLength, {
44
- maxLength,
45
- }));
46
- },
47
- minItems(minItems) {
48
- var _a;
49
- return ((_a = validationMessages.minItems) !== null && _a !== void 0 ? _a : formatMessage(arrayErrorMessages.minItemsError, {
50
- minItems,
51
- }));
52
- },
53
- maxItems(maxItems) {
54
- var _a;
55
- return ((_a = validationMessages.maxItems) !== null && _a !== void 0 ? _a : formatMessage(arrayErrorMessages.maxItemsError, {
56
- maxItems,
57
- }));
58
- },
59
- minFiles(minItems) {
60
- var _a;
61
- return ((_a = validationMessages.minItems) !== null && _a !== void 0 ? _a : formatMessage(multiFileUploadMessages.minItemsError, {
62
- minItems,
63
- }));
64
- },
65
- maxFiles(maxItems) {
66
- var _a;
67
- return ((_a = validationMessages.maxItems) !== null && _a !== void 0 ? _a : formatMessage(multiFileUploadMessages.maxItemsError, {
68
- maxItems,
69
- }));
70
- },
71
- maxSize() {
72
- var _a;
73
- return (_a = validationMessages.maxSize) !== null && _a !== void 0 ? _a : formatMessage(fileUploadMessages.maxFileSizeError);
74
- },
75
- accepts() {
76
- var _a;
77
- return (_a = validationMessages.accepts) !== null && _a !== void 0 ? _a : formatMessage(fileUploadMessages.wrongFileTypeError);
78
- },
79
- pattern() {
80
- var _a;
81
- return (_a = validationMessages.pattern) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.pattern);
82
- },
83
- required() {
84
- var _a;
85
- return (_a = validationMessages.required) !== null && _a !== void 0 ? _a : formatMessage(errorMessages.required);
86
- },
87
- genericError() {
88
- return formatMessage(genericErrorMessages.genericError);
89
- },
90
- genericErrorWithRetry() {
91
- return formatMessage(genericErrorMessages.genericErrorRetryHint);
92
- },
93
- });
94
- const formatDateOptions = {
95
- timeZone: 'UTC',
96
- dateStyle: 'long',
97
- };
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const alertComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'callToAction', 'context', 'control', 'margin', 'markdown', 'tags')), rendererMapperProps));
@@ -1,6 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- import { pick } from './utils/pick';
3
- export const allOfComponentToProps = (component, rendererMapperProps) => {
4
- const childrenProps = component.components.map((c) => componentToRendererProps(c, rendererMapperProps));
5
- return Object.assign(Object.assign(Object.assign({ type: 'form-section' }, pick(component, 'uid', 'analyticsId', 'control', 'description', 'help', 'media', 'tags', 'title')), rendererMapperProps), { children: childrenProps.map(rendererMapperProps.render), childrenProps });
6
- };
@@ -1,5 +0,0 @@
1
- import { inputComponentToProps } from './utils/inputComponentToProps';
2
- export const booleanInputComponentToProps = (component, rendererMapperProps) => {
3
- var _a;
4
- return (Object.assign(Object.assign(Object.assign({}, inputComponentToProps(component, 'input-checkbox')), rendererMapperProps), { additionalText: component.additionalText, supportingValues: component.supportingValues, inlineAlert: component.inlineAlert, value: (_a = component.value) !== null && _a !== void 0 ? _a : false, onChange: component.onChange.bind(component) }));
5
- };
@@ -1,13 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- import { pick } from './utils/pick';
3
- export const boxComponentToProps = (component, rendererMapperProps) => {
4
- const childrenProps = component.components.map((c) => componentToRendererProps(c, rendererMapperProps));
5
- const { border, control } = component;
6
- return Object.assign(Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'control', 'width', 'margin', 'tags')), rendererMapperProps), { control: mapBoxControl({ border, control }), children: childrenProps.map(rendererMapperProps.render), childrenProps });
7
- };
8
- const mapBoxControl = ({ border, control, }) => {
9
- if (border && control == null) {
10
- return 'bordered';
11
- }
12
- return control;
13
- };
@@ -1,4 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const buttonComponentToProps = (component, rendererMapperProps) => {
3
- return Object.assign(Object.assign(Object.assign({ type: 'button' }, pick(component, 'uid', 'analyticsId', 'title', 'control', 'context', 'margin', 'media', 'pinOrder', 'size', 'onClick', 'tags')), { disabled: component.disabled || rendererMapperProps.stepLoadingState !== 'idle' }), rendererMapperProps);
4
- };
@@ -1,11 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- export const columnsComponentToProps = ({ uid, analyticsId, bias, control, margin, tags, startComponents, endComponents, }, rendererMapperProps) => {
3
- const startChildrenProps = startComponents.map((c) => componentToRendererProps(c, rendererMapperProps));
4
- const endChildrenProps = endComponents.map((c) => componentToRendererProps(c, rendererMapperProps));
5
- return Object.assign(Object.assign({}, rendererMapperProps), { uid,
6
- analyticsId, type: 'columns', bias,
7
- control,
8
- margin,
9
- tags, startChildren: startChildrenProps.map(rendererMapperProps.render), endChildren: endChildrenProps.map(rendererMapperProps.render), startChildrenProps,
10
- endChildrenProps });
11
- };
@@ -1,164 +0,0 @@
1
- import { isHiddenComponent } from '../../utils/type-utils';
2
- import { alertComponentToProps } from './alertComponentToProps';
3
- import { allOfComponentToProps } from './allOfComponentToProps';
4
- import { booleanInputComponentToProps } from './booleanInputComponentToProps';
5
- import { boxComponentToProps } from './boxComponentToProps';
6
- import { buttonComponentToProps } from './buttonComponentToProps';
7
- import { columnsComponentToProps } from './columnsComponentToProps';
8
- import { constComponentToProps } from './constComponentToProps';
9
- import { containerComponentToProps } from './containerComponentToProps';
10
- import { dateInputComponentToProps } from './dateInputComponentToProps';
11
- import { decisionComponentToProps } from './decisionComponentToProps';
12
- import { dividerComponentToProps } from './dividerComponentToProps';
13
- import { externalComponentToProps } from './externalComponentToProps';
14
- import { formattedValueComponentToProps } from './formattedValueComponentToProps';
15
- import { formComponentToProps } from './formComponentToProps';
16
- import { headingComponentToProps } from './headingComponentToProps';
17
- import { hiddenComponentToProps } from './hiddenComponentToProps';
18
- import { imageComponentToProps } from './imageComponentToProps';
19
- import { instructionsComponentToProps } from './instructionsComponentToProps';
20
- import { integerInputComponentToProps } from './integerInputComponentToProps';
21
- import { listComponentToProps } from './listComponentToProps';
22
- import { loadingIndicatorComponentToProps } from './loadingIndicatorComponentToProps';
23
- import { markdownComponentToProps } from './markdownComponentToProps';
24
- import { mediaComponentToProps } from './mediaComponentToProps';
25
- import { modalComponentToProps } from './modalComponentToProps';
26
- import { modalLayoutComponentToProps } from './modalLayoutComponentToProps';
27
- import { moneyInputComponentToProps } from './moneyInputComponentToProps';
28
- import { multiSelectInputComponentToProps } from './multiSelectComponentToProps';
29
- import { multiUploadInputComponentToProps } from './multiUploadInputComponentToProps';
30
- import { numberInputComponentToProps } from './numberInputComponentToProps';
31
- import { objectComponentToProps } from './objectComponentToProps';
32
- import { paragraphComponentToProps } from './paragraphComponentToProps';
33
- import { persistAsyncComponentToProps } from './persistAsyncComponentToProps';
34
- import { progressComponentToProps } from './progressComponentToProps';
35
- import { repeatableComponentToProps } from './repeatableComponentToProps';
36
- import { reviewComponentToProps } from './reviewComponentToProps';
37
- import { rootComponentToProps } from './rootComponentToProps';
38
- import { searchComponentToProps } from './searchComponentToProps';
39
- import { sectionComponentToProps } from './sectionComponentToProps';
40
- import { selectInputComponentToProps } from './selectInputComponentToProps';
41
- import { statusListComponentToProps } from './statusListComponentToProps';
42
- import { tabsComponentToProps } from './tabsComponentToProps';
43
- import { textInputComponentToProps } from './textInputComponentToProps';
44
- import { tupleComponentToProps } from './tupleComponentToProps';
45
- import { uploadInputComponentToProps } from './uploadInputComponentToProps';
46
- import { upsellComponentToProps } from './upsellComponentToProps';
47
- import { subflowComponentToRendererProps } from './subflowComponentToRendererProps';
48
- export const componentToRendererProps = (component, mapperProps) => {
49
- if (isHiddenComponent(component)) {
50
- // Any component that is hidden is mapped to the same HiddenRendererProps, and won't be rendered
51
- return hiddenComponentToProps(component);
52
- }
53
- const trackEventWithLayoutId = ((eventName, properties) => mapperProps.trackEvent(eventName, Object.assign({ layoutId: component.analyticsId }, properties)));
54
- const rendererMapperProps = component.kind === 'layout'
55
- ? Object.assign(Object.assign({}, mapperProps), { trackEvent: trackEventWithLayoutId }) : mapperProps;
56
- const componentProps = getComponentProps(component, rendererMapperProps);
57
- const alertProps = getComponentAlertProps(component, rendererMapperProps);
58
- if (alertProps) {
59
- // A component with an alert is mapped to a container with the alert and the component
60
- const childrenProps = [alertProps, componentProps];
61
- return Object.assign({ type: 'container', uid: `${component.uid}-wrapper`, children: childrenProps.map(rendererMapperProps.render), childrenProps }, rendererMapperProps);
62
- }
63
- return componentProps;
64
- };
65
- const getComponentProps = (component, rendererMapperProps) => {
66
- switch (component.type) {
67
- case 'root':
68
- return rootComponentToProps(component, rendererMapperProps);
69
- case 'alert':
70
- return alertComponentToProps(component, rendererMapperProps);
71
- case 'all-of':
72
- return allOfComponentToProps(component, rendererMapperProps);
73
- case 'boolean':
74
- return booleanInputComponentToProps(component, rendererMapperProps);
75
- case 'box':
76
- return boxComponentToProps(component, rendererMapperProps);
77
- case 'button':
78
- return buttonComponentToProps(component, rendererMapperProps);
79
- case 'columns':
80
- return columnsComponentToProps(component, rendererMapperProps);
81
- case 'container':
82
- return containerComponentToProps(component, rendererMapperProps);
83
- case 'date':
84
- return dateInputComponentToProps(component, rendererMapperProps);
85
- case 'decision':
86
- return decisionComponentToProps(component, rendererMapperProps);
87
- case 'divider':
88
- return dividerComponentToProps(component, rendererMapperProps);
89
- case 'external-confirmation':
90
- return externalComponentToProps(component, rendererMapperProps);
91
- case 'formatted-value':
92
- return formattedValueComponentToProps(component, rendererMapperProps);
93
- case 'form':
94
- return formComponentToProps(component, rendererMapperProps);
95
- case 'heading':
96
- return headingComponentToProps(component, rendererMapperProps);
97
- case 'const':
98
- return constComponentToProps(component, rendererMapperProps);
99
- case 'image':
100
- return imageComponentToProps(component, rendererMapperProps);
101
- case 'instructions':
102
- return instructionsComponentToProps(component, rendererMapperProps);
103
- case 'integer':
104
- return integerInputComponentToProps(component, rendererMapperProps);
105
- case 'list':
106
- return listComponentToProps(component, rendererMapperProps);
107
- case 'loading-indicator':
108
- return loadingIndicatorComponentToProps(component, rendererMapperProps);
109
- case 'markdown':
110
- return markdownComponentToProps(component, rendererMapperProps);
111
- case 'media':
112
- return mediaComponentToProps(component, rendererMapperProps);
113
- case 'modal-layout':
114
- return modalLayoutComponentToProps(component, rendererMapperProps);
115
- case 'modal':
116
- return modalComponentToProps(component, rendererMapperProps);
117
- case 'money-input':
118
- return moneyInputComponentToProps(component, rendererMapperProps);
119
- case 'multi-select':
120
- return multiSelectInputComponentToProps(component, rendererMapperProps);
121
- case 'multi-upload':
122
- return multiUploadInputComponentToProps(component, rendererMapperProps);
123
- case 'number':
124
- return numberInputComponentToProps(component, rendererMapperProps);
125
- case 'object':
126
- return objectComponentToProps(component, rendererMapperProps);
127
- case 'paragraph':
128
- return paragraphComponentToProps(component, rendererMapperProps);
129
- case 'progress':
130
- return progressComponentToProps(component, rendererMapperProps);
131
- case 'repeatable':
132
- return repeatableComponentToProps(component, rendererMapperProps);
133
- case 'review':
134
- return reviewComponentToProps(component, rendererMapperProps);
135
- case 'search':
136
- return searchComponentToProps(component, rendererMapperProps);
137
- case 'section':
138
- return sectionComponentToProps(component, rendererMapperProps);
139
- case 'select':
140
- return selectInputComponentToProps(component, rendererMapperProps);
141
- case 'status-list':
142
- return statusListComponentToProps(component, rendererMapperProps);
143
- case 'subflow':
144
- return subflowComponentToRendererProps(component, rendererMapperProps);
145
- case 'tabs':
146
- return tabsComponentToProps(component, rendererMapperProps);
147
- case 'text':
148
- return textInputComponentToProps(component, rendererMapperProps);
149
- case 'tuple':
150
- return tupleComponentToProps(component, rendererMapperProps);
151
- case 'upload':
152
- return uploadInputComponentToProps(component, rendererMapperProps);
153
- case 'upsell':
154
- return upsellComponentToProps(component, rendererMapperProps);
155
- case 'persist-async':
156
- return persistAsyncComponentToProps(component, rendererMapperProps);
157
- case 'step':
158
- throw Error('Step components are only mapped from rootComponentToProps');
159
- default:
160
- throw new Error('Unknown component type');
161
- }
162
- };
163
- const getComponentAlertProps = (component, rendererMapperProps) => 'alert' in component && component.alert
164
- ? Object.assign({ type: 'alert', uid: `${component.uid}-alert`, margin: 'md', context: component.alert.context, markdown: component.alert.content }, rendererMapperProps) : null;
@@ -1,5 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- export const constComponentToProps = (component, rendererMapperProps) => {
3
- const childrenProps = component.layout.map((c) => componentToRendererProps(c, rendererMapperProps));
4
- return Object.assign({ type: 'container', uid: `${component.uid}-wrapper`, childrenProps, children: childrenProps.map(rendererMapperProps.render) }, rendererMapperProps);
5
- };
@@ -1,7 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- export const containerComponentToProps = (component, rendererMapperProps) => {
3
- const childrenProps = component
4
- .getChildren()
5
- .map((c) => componentToRendererProps(c, rendererMapperProps));
6
- return Object.assign({ type: 'container', uid: component.uid, children: childrenProps.map(rendererMapperProps.render), childrenProps }, rendererMapperProps);
7
- };
@@ -1,2 +0,0 @@
1
- import { inputComponentToProps } from './utils/inputComponentToProps';
2
- export const dateInputComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign(Object.assign({}, inputComponentToProps(component, 'input-date')), rendererMapperProps), { autoComplete: component.autoComplete, minimumDate: component.minimumDate, maximumDate: component.maximumDate, suggestions: component.suggestions, onChange: component.onChange.bind(component) }));
@@ -1,16 +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 { pick } from './utils/pick';
13
- export const decisionComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'control', 'margin', 'title', 'tags')), rendererMapperProps), { options: component.options.map((_a) => {
14
- var { disabled } = _a, rest = __rest(_a, ["disabled"]);
15
- return (Object.assign(Object.assign({}, rest), { disabled: disabled || rendererMapperProps.stepLoadingState !== 'idle' }));
16
- }) }));
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const dividerComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'control', 'margin', 'tags')), rendererMapperProps));
@@ -1,3 +0,0 @@
1
- export const externalComponentToProps = (component, rendererMapperProps) => {
2
- return Object.assign({ type: 'external-confirmation', uid: component.uid, url: component.url, status: component.status, onSuccess: component.onSuccess.bind(component), onFailure: component.onFailure.bind(component), onCancel: component.onCancel.bind(component) }, rendererMapperProps);
3
- };
@@ -1,12 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- export const formComponentToProps = (component, rendererMapperProps) => {
3
- const childrenProps = component
4
- .getChildren()
5
- .map((c) => componentToRendererProps(c, rendererMapperProps));
6
- const { uid, analyticsId, control, margin, tags } = component;
7
- return Object.assign({ uid,
8
- analyticsId, type: 'form', children: childrenProps.map(rendererMapperProps.render), childrenProps,
9
- control,
10
- margin,
11
- tags }, rendererMapperProps);
12
- };
@@ -1,5 +0,0 @@
1
- import { pick } from './utils/pick';
2
- import { getValidationState } from './utils/getValidationState';
3
- export const formattedValueComponentToProps = (component, rendererMapperProps) => {
4
- return Object.assign(Object.assign(Object.assign({ type: 'formatted-value' }, pick(component, 'format', 'uid', 'analyticsId', 'control', 'description', 'help', 'media', 'tags', 'title')), { validationState: getValidationState(component.errors, undefined), onChange: component.onChange.bind(component) }), rendererMapperProps);
5
- };
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const headingComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'align', 'control', 'margin', 'size', 'tags', 'text')), rendererMapperProps));
@@ -1,4 +0,0 @@
1
- export const hiddenComponentToProps = ({ uid }) => ({
2
- uid,
3
- type: 'hidden',
4
- });
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const imageComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'align', 'control', 'margin', 'size', 'tags')), rendererMapperProps), { uri: component.content.uri, accessibilityDescription: component.content.accessibilityDescription }));
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const instructionsComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'control', 'items', 'margin', 'title', 'tags')), rendererMapperProps));
@@ -1,2 +0,0 @@
1
- import { inputComponentToProps } from './utils/inputComponentToProps';
2
- export const integerInputComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign(Object.assign({}, inputComponentToProps(component, 'input-integer')), rendererMapperProps), { autoComplete: component.autoComplete, maximum: component.maximum, minimum: component.minimum, onChange: component.onChange.bind(component) }));
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const listComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'callToAction', 'control', 'items', 'margin', 'title', 'tags')), rendererMapperProps));
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const loadingIndicatorComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'control', 'margin', 'size', 'tags')), rendererMapperProps));
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const markdownComponentToProps = (control, rendererMapperProps) => (Object.assign(Object.assign({}, pick(control, 'uid', 'analyticsId', 'type', 'align', 'margin', 'content', 'control', 'tags', 'size')), rendererMapperProps));
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const mediaComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'align', 'control', 'margin', 'media', 'size', 'tags')), rendererMapperProps));
@@ -1,11 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- export const modalComponentToProps = (component, rendererMapperProps) => {
3
- const { uid, analyticsId, open, tags, title, close } = component;
4
- const childrenProps = component
5
- .getChildren()
6
- .map((c) => componentToRendererProps(c, rendererMapperProps));
7
- return Object.assign({ uid,
8
- analyticsId, type: 'modal', open,
9
- tags,
10
- title, children: childrenProps.map(rendererMapperProps.render), childrenProps, onClose: close.bind(component) }, rendererMapperProps);
11
- };
@@ -1,16 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- export const modalLayoutComponentToProps = (component, rendererMapperProps) => {
3
- const { uid, analyticsId, content, control, margin, tags, trigger } = component;
4
- const childrenProps = component
5
- .getChildren()
6
- .map((c) => componentToRendererProps(c, rendererMapperProps));
7
- return Object.assign({ uid,
8
- analyticsId, type: 'modal-layout', content: {
9
- children: childrenProps.map(rendererMapperProps.render),
10
- childrenProps,
11
- title: content.title,
12
- }, control,
13
- margin,
14
- tags,
15
- trigger }, rendererMapperProps);
16
- };
@@ -1,36 +0,0 @@
1
- import { getValidationState } from './utils/getValidationState';
2
- import { inputComponentToProps } from './utils/inputComponentToProps';
3
- export const moneyInputComponentToProps = (component, rendererMapperProps) => {
4
- const { components, errors, validationAsyncState } = component;
5
- const amountComponent = components.amount;
6
- const currencyComponent = components.currency;
7
- const validationState = pickValidationState([
8
- getValidationState(amountComponent.errors, amountComponent.validationAsyncState),
9
- getValidationState(currencyComponent.errors, currencyComponent.validationAsyncState),
10
- getValidationState(errors, validationAsyncState),
11
- ]);
12
- const currencies = currencyComponent.options.map(({ analyticsId, title, description, media, keywords, tags }, i) => ({
13
- currencyCode: currencyComponent.children[i].getLocalValue(),
14
- analyticsId,
15
- title,
16
- description,
17
- media,
18
- keywords,
19
- tags,
20
- }));
21
- return Object.assign(Object.assign(Object.assign({}, inputComponentToProps(component, 'money-input')), { amountValue: amountComponent.getLocalValue(), selectedCurrencyIndex: currencyComponent.selectedIndex, onAmountChange: amountComponent.onChange.bind(amountComponent), onCurrencyChange: currencyComponent.onSelect.bind(currencyComponent), placeholder: amountComponent.placeholder, currencies,
22
- validationState }), rendererMapperProps);
23
- };
24
- // Picks the most relevant validation state from a list of validation states
25
- const pickValidationState = (states) => {
26
- const definedStates = states.filter((state) => state !== undefined);
27
- if (definedStates.length === 0) {
28
- return undefined;
29
- }
30
- // if there are any invalid states, return the first one
31
- if (definedStates.some((state) => state.status === 'invalid')) {
32
- return definedStates.find((state) => state.status === 'invalid');
33
- }
34
- // otherwise, return the first valid state
35
- return definedStates[0];
36
- };
@@ -1,23 +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 { inputComponentToProps } from './utils/inputComponentToProps';
13
- import { selectInputOptionsToProps } from './utils/selectInputOptionsToProps';
14
- export const multiSelectInputComponentToProps = (component, rendererMapperProps) => {
15
- const { autoComplete, maxItems, minItems, selectedIndices, onSelect } = component;
16
- const _a = inputComponentToProps(component, 'input-multi-select'), { required, value } = _a, props = __rest(_a, ["required", "value"]);
17
- const options = selectInputOptionsToProps(component.options, component.getChildren(), rendererMapperProps);
18
- return Object.assign(Object.assign(Object.assign({}, props), rendererMapperProps), { autoComplete,
19
- maxItems,
20
- minItems,
21
- options,
22
- selectedIndices, onSelect: onSelect.bind(component) });
23
- };
@@ -1,12 +0,0 @@
1
- import { inputComponentToProps } from './utils/inputComponentToProps';
2
- import { mapErrorsToValidationState } from './utils/mapErrorsToValidationState';
3
- export const multiUploadInputComponentToProps = (component, rendererMapperProps) => {
4
- const { accepts, cameraConfig, files, maxSize, minItems, maxItems, source, uploadLabel } = component;
5
- return Object.assign(Object.assign(Object.assign({}, inputComponentToProps(component, 'input-upload-multi')), rendererMapperProps), { accepts,
6
- cameraConfig,
7
- maxSize,
8
- minItems,
9
- maxItems,
10
- source,
11
- uploadLabel, value: files.map((file) => (Object.assign(Object.assign({}, file), { validationState: mapErrorsToValidationState(file.errors) }))), onInsertFile: component.onInsertFile.bind(component), onRemoveFile: component.onRemoveFile.bind(component) });
12
- };
@@ -1,2 +0,0 @@
1
- import { inputComponentToProps } from './utils/inputComponentToProps';
2
- export const numberInputComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign(Object.assign({}, inputComponentToProps(component, 'input-number')), rendererMapperProps), { maximum: component.maximum, minimum: component.minimum, onChange: component.onChange.bind(component) }));
@@ -1,8 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- import { pick } from './utils/pick';
3
- export const objectComponentToProps = (component, rendererMapperProps) => {
4
- const childrenProps = component
5
- .getChildren()
6
- .map((c) => componentToRendererProps(c, rendererMapperProps));
7
- return Object.assign(Object.assign(Object.assign({ type: 'form-section' }, pick(component, 'uid', 'analyticsId', 'control', 'description', 'help', 'media', 'tags', 'title')), rendererMapperProps), { children: childrenProps.map(rendererMapperProps.render), childrenProps });
8
- };
@@ -1,2 +0,0 @@
1
- import { pick } from './utils/pick';
2
- export const paragraphComponentToProps = (component, rendererMapperProps) => (Object.assign(Object.assign({}, pick(component, 'uid', 'analyticsId', 'type', 'align', 'control', 'margin', 'tags', 'text', 'size')), rendererMapperProps));
@@ -1,8 +0,0 @@
1
- import { componentToRendererProps } from './componentToRendererProps';
2
- export const persistAsyncComponentToProps = (component, rendererMapperProps) => {
3
- const props = componentToRendererProps(component.component, rendererMapperProps);
4
- if ('validationState' in props && component.errors.length > 0) {
5
- return Object.assign(Object.assign({}, props), { validationState: { status: 'invalid', message: component.errors[0] } });
6
- }
7
- return props;
8
- };