@wise/dynamic-flow-client 5.12.1 → 5.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/build/main.js +7 -0
  2. package/build/main.mjs +7 -0
  3. package/build/tsconfig.types.tsbuildinfo +1 -1
  4. package/build/types/domain/components/TextInputComponent.d.ts +2 -1
  5. package/build/types/domain/components/TextInputComponent.d.ts.map +1 -1
  6. package/build/types/domain/mappers/schema/persistAsyncSchemaToComponent.d.ts +1 -0
  7. package/build/types/domain/mappers/schema/persistAsyncSchemaToComponent.d.ts.map +1 -1
  8. package/build/types/domain/mappers/schema/stringSchemaToComponent/stringSchemaToTextInputComponent.d.ts.map +1 -1
  9. package/build/types/renderers/mappers/textInputComponentToProps.d.ts.map +1 -1
  10. package/build/types/test-utils/DynamicFlowWise.d.ts.map +1 -1
  11. package/build/types/useDynamicFlow.d.ts +1 -0
  12. package/build/types/useDynamicFlow.d.ts.map +1 -1
  13. package/build/types/useDynamicFlowModal.d.ts +1 -0
  14. package/build/types/useDynamicFlowModal.d.ts.map +1 -1
  15. package/package.json +14 -14
  16. package/build/DynamicFlowCore.js +0 -5
  17. package/build/common/errorBoundary/ErrorBoundary.js +0 -26
  18. package/build/common/errorBoundary/ErrorBoundary.test.js +0 -29
  19. package/build/common/errorBoundary/ErrorBoundaryAlert.js +0 -11
  20. package/build/common/makeHttpClient/api-utils.js +0 -3
  21. package/build/common/makeHttpClient/index.js +0 -1
  22. package/build/common/makeHttpClient/makeHttpClient.js +0 -10
  23. package/build/common/makeHttpClient/makeHttpClient.test.js +0 -186
  24. package/build/common/messages/external-confirmation.messages.js +0 -23
  25. package/build/common/messages/file-upload.messages.js +0 -13
  26. package/build/common/messages/generic-error.messages.js +0 -18
  27. package/build/common/messages/help.messages.js +0 -8
  28. package/build/common/messages/multi-file-upload.messages.js +0 -18
  29. package/build/common/messages/multi-select.messages.js +0 -8
  30. package/build/common/messages/paragraph.messages.js +0 -13
  31. package/build/common/messages/repeatable.messages.js +0 -23
  32. package/build/common/messages/search.messages.js +0 -8
  33. package/build/common/messages/validation.array.messages.js +0 -13
  34. package/build/common/messages/validation.messages.js +0 -53
  35. package/build/controller/FlowController.js +0 -373
  36. package/build/controller/executePoll.js +0 -64
  37. package/build/controller/executeRefresh.js +0 -45
  38. package/build/controller/executeRequest.js +0 -80
  39. package/build/controller/executeSubmission.js +0 -70
  40. package/build/controller/getErrorMessage.js +0 -7
  41. package/build/controller/getRequestAbortController.js +0 -13
  42. package/build/controller/getResponseType.js +0 -35
  43. package/build/controller/getSafeHttpClient.js +0 -8
  44. package/build/controller/getStepCounter.js +0 -16
  45. package/build/controller/handleErrorResponse.js +0 -26
  46. package/build/controller/makeSafeHttpClient.js +0 -8
  47. package/build/controller/response-utils.js +0 -72
  48. package/build/domain/components/AlertComponent.js +0 -1
  49. package/build/domain/components/AllOfComponent.js +0 -40
  50. package/build/domain/components/BooleanInputComponent.js +0 -50
  51. package/build/domain/components/BoxComponent.js +0 -3
  52. package/build/domain/components/ButtonComponent.js +0 -1
  53. package/build/domain/components/ColumnsComponent.js +0 -3
  54. package/build/domain/components/ConstComponent.js +0 -18
  55. package/build/domain/components/ContainerComponent.js +0 -3
  56. package/build/domain/components/DateInputComponent.js +0 -75
  57. package/build/domain/components/DecisionComponent.js +0 -1
  58. package/build/domain/components/DividerComponent.js +0 -1
  59. package/build/domain/components/FormComponent.js +0 -3
  60. package/build/domain/components/FormattedValueComponent.js +0 -44
  61. package/build/domain/components/HeadingComponent.js +0 -1
  62. package/build/domain/components/ImageComponent.js +0 -1
  63. package/build/domain/components/InstructionsComponent.js +0 -1
  64. package/build/domain/components/IntegerInputComponent.js +0 -74
  65. package/build/domain/components/ListComponent.js +0 -1
  66. package/build/domain/components/LoadingIndicatorComponent.js +0 -1
  67. package/build/domain/components/MarkdownComponent.js +0 -1
  68. package/build/domain/components/MediaComponent.js +0 -1
  69. package/build/domain/components/ModalComponent.js +0 -16
  70. package/build/domain/components/ModalLayoutComponent.js +0 -3
  71. package/build/domain/components/MoneyInputComponent.js +0 -57
  72. package/build/domain/components/MultiSelectInputComponent.js +0 -81
  73. package/build/domain/components/MultiUploadInputComponent.js +0 -88
  74. package/build/domain/components/NumberInputComponent.js +0 -73
  75. package/build/domain/components/ObjectComponent.js +0 -45
  76. package/build/domain/components/ParagraphComponent.js +0 -1
  77. package/build/domain/components/PersistAsyncComponent.js +0 -92
  78. package/build/domain/components/ProgressComponent.js +0 -1
  79. package/build/domain/components/RepeatableComponent.js +0 -103
  80. package/build/domain/components/ReviewComponent.js +0 -1
  81. package/build/domain/components/RootDomainComponent.js +0 -173
  82. package/build/domain/components/SectionComponent.js +0 -5
  83. package/build/domain/components/SelectInputComponent.js +0 -88
  84. package/build/domain/components/StatusListComponent.js +0 -1
  85. package/build/domain/components/SubflowDomainComponent.js +0 -9
  86. package/build/domain/components/TabsComponent.js +0 -1
  87. package/build/domain/components/TextInputComponent.js +0 -76
  88. package/build/domain/components/TupleComponent.js +0 -41
  89. package/build/domain/components/UploadInputComponent.js +0 -83
  90. package/build/domain/components/UpsellComponent.js +0 -25
  91. package/build/domain/components/searchComponent/SearchComponent.js +0 -92
  92. package/build/domain/components/searchComponent/SearchComponent.test.js +0 -190
  93. package/build/domain/components/step/ExternalConfirmationComponent.js +0 -24
  94. package/build/domain/components/step/StepDomainComponent.js +0 -78
  95. package/build/domain/components/step/ToolbarComponent.js +0 -1
  96. package/build/domain/components/utils/WithUpdate.js +0 -1
  97. package/build/domain/components/utils/component-utils.js +0 -12
  98. package/build/domain/components/utils/debounce.js +0 -34
  99. package/build/domain/components/utils/debounce.test.js +0 -67
  100. package/build/domain/components/utils/file-utils.js +0 -21
  101. package/build/domain/components/utils/file-utils.test.js +0 -27
  102. package/build/domain/components/utils/getRandomId.js +0 -1
  103. package/build/domain/components/utils/isExactLocalValueMatch.js +0 -14
  104. package/build/domain/components/utils/isOrWasValid.js +0 -5
  105. package/build/domain/components/utils/isPartialModelMatch.js +0 -18
  106. package/build/domain/components/utils/isPartialModelMatch.test.js +0 -74
  107. package/build/domain/features/eventNames.js +0 -24
  108. package/build/domain/features/events.js +0 -1
  109. package/build/domain/features/persistAsync/getComponentMultiPersistAsync.js +0 -50
  110. package/build/domain/features/persistAsync/getInitialPersistedState.js +0 -7
  111. package/build/domain/features/persistAsync/getPerformPersistAsync.js +0 -43
  112. package/build/domain/features/persistAsync/getPerformPersistAsync.test.js +0 -139
  113. package/build/domain/features/polling/getStepPolling.js +0 -43
  114. package/build/domain/features/polling/getStepPolling.test.js +0 -90
  115. package/build/domain/features/prefetch/getStepPrefetch.js +0 -43
  116. package/build/domain/features/prefetch/request-cache.js +0 -49
  117. package/build/domain/features/prefetch/request-cache.test.js +0 -70
  118. package/build/domain/features/refreshAfter/getStepRefreshAfter.js +0 -24
  119. package/build/domain/features/refreshAfter/getStepRefreshAfter.test.js +0 -40
  120. package/build/domain/features/schema-on-change/getDebouncedSchemaOnChange.js +0 -50
  121. package/build/domain/features/schema-on-change/getSchemaOnChange.js +0 -34
  122. package/build/domain/features/search/getPerformSearchFunction.js +0 -75
  123. package/build/domain/features/search/getPerformSearchFunction.test.js +0 -301
  124. package/build/domain/features/summary/summary-utils.js +0 -40
  125. package/build/domain/features/summary/summary-utils.test.js +0 -125
  126. package/build/domain/features/utils/http-utils.js +0 -21
  127. package/build/domain/features/utils/response-utils.js +0 -9
  128. package/build/domain/features/validation/spec-utils.js +0 -19
  129. package/build/domain/features/validation/validateStringPattern.js +0 -24
  130. package/build/domain/features/validation/validation-functions.js +0 -6
  131. package/build/domain/features/validation/validation-functions.test.js +0 -108
  132. package/build/domain/features/validation/value-checks.js +0 -125
  133. package/build/domain/features/validation/value-checks.test.js +0 -262
  134. package/build/domain/features/validationAsync/getComponentValidationAsync.js +0 -53
  135. package/build/domain/features/validationAsync/getComponentValidationAsync.test.js +0 -67
  136. package/build/domain/features/validationAsync/getInitialValidationAsyncState.js +0 -5
  137. package/build/domain/features/validationAsync/getPerformValidationAsync.js +0 -45
  138. package/build/domain/features/validationAsync/getPerformValidationAsync.test.js +0 -143
  139. package/build/domain/mappers/layout/alertLayoutToComponent.js +0 -16
  140. package/build/domain/mappers/layout/boxLayoutToComponent.js +0 -13
  141. package/build/domain/mappers/layout/buttonLayoutToComponent.js +0 -77
  142. package/build/domain/mappers/layout/columnsLayoutToComponent.js +0 -13
  143. package/build/domain/mappers/layout/decisionLayoutToComponent.js +0 -22
  144. package/build/domain/mappers/layout/deprecatedListLayoutToComponent.js +0 -30
  145. package/build/domain/mappers/layout/dividerLayoutToComponent.js +0 -2
  146. package/build/domain/mappers/layout/formLayoutToComponent.js +0 -19
  147. package/build/domain/mappers/layout/headingLayoutToComponent.js +0 -12
  148. package/build/domain/mappers/layout/imageLayoutToComponent.js +0 -20
  149. package/build/domain/mappers/layout/infoLayoutToComponent.js +0 -12
  150. package/build/domain/mappers/layout/instructionsLayoutToComponent.js +0 -12
  151. package/build/domain/mappers/layout/listLayoutToComponent.js +0 -39
  152. package/build/domain/mappers/layout/loadingIndicatorLayoutToComponent.js +0 -9
  153. package/build/domain/mappers/layout/markdownLayoutToComponent.js +0 -12
  154. package/build/domain/mappers/layout/mediaLayoutToComponent.js +0 -12
  155. package/build/domain/mappers/layout/modalLayoutToComponent.js +0 -17
  156. package/build/domain/mappers/layout/modalToComponent.js +0 -8
  157. package/build/domain/mappers/layout/paragraphLayoutToComponent.js +0 -12
  158. package/build/domain/mappers/layout/progressLayoutToComponent.js +0 -15
  159. package/build/domain/mappers/layout/reviewLayoutToComponent.js +0 -48
  160. package/build/domain/mappers/layout/searchLayoutToComponent.js +0 -44
  161. package/build/domain/mappers/layout/sectionLayoutToComponent.js +0 -15
  162. package/build/domain/mappers/layout/statusListLayoutToComponent.js +0 -15
  163. package/build/domain/mappers/layout/tabsLayoutToComponent.js +0 -16
  164. package/build/domain/mappers/layout/upsellLayoutToComponent.js +0 -25
  165. package/build/domain/mappers/mapLayoutToComponent.js +0 -81
  166. package/build/domain/mappers/mapSchemaToComponent.js +0 -61
  167. package/build/domain/mappers/mapSchemaToComponent.test.js +0 -112
  168. package/build/domain/mappers/mapStepSchemas.js +0 -15
  169. package/build/domain/mappers/mapStepToComponent.js +0 -133
  170. package/build/domain/mappers/mapStepToComponent.test.js +0 -221
  171. package/build/domain/mappers/mapToolbarToComponent.js +0 -15
  172. package/build/domain/mappers/schema/allOfSchemaToComponent.js +0 -16
  173. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToComponent.js +0 -26
  174. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiSelectComponent.js +0 -55
  175. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiUploadComponent.js +0 -67
  176. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToRepeatableComponent.js +0 -57
  177. package/build/domain/mappers/schema/arraySchemaToComponent/arraySchemaToTupleComponent.js +0 -20
  178. package/build/domain/mappers/schema/blobSchemaToComponent.js +0 -15
  179. package/build/domain/mappers/schema/booleanSchemaToComponent.js +0 -29
  180. package/build/domain/mappers/schema/constSchemaToComponent.js +0 -23
  181. package/build/domain/mappers/schema/integerSchemaToComponent.js +0 -28
  182. package/build/domain/mappers/schema/numberSchemaToComponent.js +0 -26
  183. package/build/domain/mappers/schema/objectSchemaToComponent/assertDisplayOrder.js +0 -23
  184. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToFormattedValueComponent.js +0 -9
  185. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.js +0 -119
  186. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToMoneyInputComponent.test.js +0 -96
  187. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.js +0 -31
  188. package/build/domain/mappers/schema/objectSchemaToComponent/objectSchemaToObjectComponent.test.js +0 -99
  189. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.js +0 -66
  190. package/build/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.test.js +0 -225
  191. package/build/domain/mappers/schema/persistAsyncSchemaToComponent.js +0 -29
  192. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.js +0 -18
  193. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.test.js +0 -133
  194. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.js +0 -48
  195. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToTextInputComponent.js +0 -37
  196. package/build/domain/mappers/schema/stringSchemaToComponent/stringSchemaToUploadInputComponent.js +0 -28
  197. package/build/domain/mappers/schema/tests/test-utils.js +0 -16
  198. package/build/domain/mappers/schema/types.js +0 -1
  199. package/build/domain/mappers/schema/utils/getPerformPersistAsyncFn.js +0 -19
  200. package/build/domain/mappers/schema/utils/getValidationAsyncInitialState.js +0 -23
  201. package/build/domain/mappers/schema/utils/mapCommonSchemaProps.js +0 -16
  202. package/build/domain/mappers/types.js +0 -1
  203. package/build/domain/mappers/utils/FeatureFlags.js +0 -22
  204. package/build/domain/mappers/utils/behavior-utils.js +0 -44
  205. package/build/domain/mappers/utils/call-to-action-utils.js +0 -21
  206. package/build/domain/mappers/utils/getAutocompleteString.js +0 -76
  207. package/build/domain/mappers/utils/getAutocompleteString.test.js +0 -21
  208. package/build/domain/mappers/utils/groupLayoutByPinned.js +0 -38
  209. package/build/domain/mappers/utils/groupLayoutByPinned.test.js +0 -166
  210. package/build/domain/mappers/utils/image.js +0 -9
  211. package/build/domain/mappers/utils/layout-utils.js +0 -11
  212. package/build/domain/mappers/utils/legacy-utils.js +0 -49
  213. package/build/domain/mappers/utils/media-utils.js +0 -14
  214. package/build/domain/mappers/utils/suggestions-utils.js +0 -26
  215. package/build/domain/mappers/utils/suggestions-utils.test.js +0 -36
  216. package/build/domain/mappers/utils/tags-utils.js +0 -1
  217. package/build/domain/mappers/utils/utils.js +0 -35
  218. package/build/domain/types.js +0 -1
  219. package/build/getSubflowCallbacks.js +0 -38
  220. package/build/i18n/index.js +0 -40
  221. package/build/index.js +0 -8
  222. package/build/renderers/CoreContainerRenderer.js +0 -5
  223. package/build/renderers/CoreRootRenderer.js +0 -12
  224. package/build/renderers/EmptyLoadingStateRenderer.js +0 -5
  225. package/build/renderers/getRenderFunction.js +0 -24
  226. package/build/renderers/getSchemaErrorMessageFunction.js +0 -97
  227. package/build/renderers/mappers/alertComponentToProps.js +0 -2
  228. package/build/renderers/mappers/allOfComponentToProps.js +0 -6
  229. package/build/renderers/mappers/booleanInputComponentToProps.js +0 -5
  230. package/build/renderers/mappers/boxComponentToProps.js +0 -13
  231. package/build/renderers/mappers/buttonComponentToProps.js +0 -4
  232. package/build/renderers/mappers/columnsComponentToProps.js +0 -11
  233. package/build/renderers/mappers/componentToRendererProps.js +0 -164
  234. package/build/renderers/mappers/constComponentToProps.js +0 -5
  235. package/build/renderers/mappers/containerComponentToProps.js +0 -7
  236. package/build/renderers/mappers/dateInputComponentToProps.js +0 -2
  237. package/build/renderers/mappers/decisionComponentToProps.js +0 -16
  238. package/build/renderers/mappers/dividerComponentToProps.js +0 -2
  239. package/build/renderers/mappers/externalComponentToProps.js +0 -3
  240. package/build/renderers/mappers/formComponentToProps.js +0 -12
  241. package/build/renderers/mappers/formattedValueComponentToProps.js +0 -5
  242. package/build/renderers/mappers/headingComponentToProps.js +0 -2
  243. package/build/renderers/mappers/hiddenComponentToProps.js +0 -4
  244. package/build/renderers/mappers/imageComponentToProps.js +0 -2
  245. package/build/renderers/mappers/instructionsComponentToProps.js +0 -2
  246. package/build/renderers/mappers/integerInputComponentToProps.js +0 -2
  247. package/build/renderers/mappers/listComponentToProps.js +0 -2
  248. package/build/renderers/mappers/loadingIndicatorComponentToProps.js +0 -2
  249. package/build/renderers/mappers/markdownComponentToProps.js +0 -2
  250. package/build/renderers/mappers/mediaComponentToProps.js +0 -2
  251. package/build/renderers/mappers/modalComponentToProps.js +0 -11
  252. package/build/renderers/mappers/modalLayoutComponentToProps.js +0 -16
  253. package/build/renderers/mappers/moneyInputComponentToProps.js +0 -36
  254. package/build/renderers/mappers/multiSelectComponentToProps.js +0 -23
  255. package/build/renderers/mappers/multiUploadInputComponentToProps.js +0 -12
  256. package/build/renderers/mappers/numberInputComponentToProps.js +0 -2
  257. package/build/renderers/mappers/objectComponentToProps.js +0 -8
  258. package/build/renderers/mappers/paragraphComponentToProps.js +0 -2
  259. package/build/renderers/mappers/persistAsyncComponentToProps.js +0 -8
  260. package/build/renderers/mappers/progressComponentToProps.js +0 -2
  261. package/build/renderers/mappers/repeatableComponentToProps.js +0 -30
  262. package/build/renderers/mappers/reviewComponentToProps.js +0 -2
  263. package/build/renderers/mappers/rootComponentToProps.js +0 -21
  264. package/build/renderers/mappers/searchComponentToProps.js +0 -57
  265. package/build/renderers/mappers/sectionComponentToProps.js +0 -6
  266. package/build/renderers/mappers/selectInputComponentToProps.js +0 -34
  267. package/build/renderers/mappers/statusListComponentToProps.js +0 -2
  268. package/build/renderers/mappers/subflowComponentToRendererProps.js +0 -4
  269. package/build/renderers/mappers/tabsComponentToProps.js +0 -14
  270. package/build/renderers/mappers/textInputComponentToProps.js +0 -2
  271. package/build/renderers/mappers/tupleComponentToProps.js +0 -8
  272. package/build/renderers/mappers/uploadInputComponentToProps.js +0 -8
  273. package/build/renderers/mappers/upsellComponentToProps.js +0 -2
  274. package/build/renderers/mappers/utils/getValidationState.js +0 -12
  275. package/build/renderers/mappers/utils/inputComponentToProps.js +0 -26
  276. package/build/renderers/mappers/utils/mapErrorsToValidationState.js +0 -9
  277. package/build/renderers/mappers/utils/pick.js +0 -8
  278. package/build/renderers/mappers/utils/selectInputOptionsToProps.js +0 -11
  279. package/build/renderers/stepComponentToProps.js +0 -32
  280. package/build/renderers/utils.js +0 -69
  281. package/build/renderers/utils.test.js +0 -70
  282. package/build/stories/dev-tools/ContainerQueries.story.js +0 -66
  283. package/build/stories/dev-tools/Debugger.story.js +0 -38
  284. package/build/stories/dev-tools/FixtureSelect.story.js +0 -23
  285. package/build/stories/dev-tools/TestServer.story.js +0 -32
  286. package/build/stories/examples/NativeFlow.story.js +0 -80
  287. package/build/stories/examples/Recipients.story.js +0 -568
  288. package/build/stories/spec/behavior/Copy.story.js +0 -71
  289. package/build/stories/spec/behavior/Link.story.js +0 -40
  290. package/build/stories/spec/behavior/Modal.story.js +0 -79
  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 -211
  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/schemas/oneOf/OneOfWithSingleOption.story.js +0 -114
  310. package/build/stories/spec/step/Controls.story.js +0 -109
  311. package/build/stories/spec/step/DFModal.story.js +0 -58
  312. package/build/stories/spec/step/Footer.story.js +0 -70
  313. package/build/stories/spec/step/Navigation.story.js +0 -20
  314. package/build/stories/spec/step/ScrollToBottom.story.js +0 -103
  315. package/build/stories/spec/step/Tags.story.js +0 -39
  316. package/build/stories/spec/step/ToolBar.story.js +0 -60
  317. package/build/stories/spec/step/features/ErrorHandling.story.js +0 -92
  318. package/build/stories/spec/step/features/External.story.js +0 -91
  319. package/build/stories/spec/step/features/Polling.story.js +0 -108
  320. package/build/stories/spec/step/features/RefreshAfter.story.js +0 -92
  321. package/build/stories/spec/step/features/refresh/Refresh.story.js +0 -258
  322. package/build/stories/spec/step/features/refresh/RefreshWithPersistAsync.story.js +0 -958
  323. package/build/stories/types.js +0 -1
  324. package/build/stories/utils/fixtureHttpClient.js +0 -70
  325. package/build/stories/utils/getBasicStep.js +0 -223
  326. package/build/stories/utils/mockSearchHandler.js +0 -71
  327. package/build/stories/utils/render-utils.js +0 -41
  328. package/build/stories/visual-tests/layouts/NotUsingListItem.story.js +0 -17
  329. package/build/test-utils/DynamicFlowWise.js +0 -32
  330. package/build/test-utils/DynamicFlowWiseModal.js +0 -34
  331. package/build/test-utils/NeptuneProviders.js +0 -11
  332. package/build/test-utils/component-utils.js +0 -5
  333. package/build/test-utils/fetch-utils.js +0 -45
  334. package/build/test-utils/getMergedTestRenderers.js +0 -34
  335. package/build/test-utils/getRandomId.js +0 -1
  336. package/build/test-utils/index.js +0 -3
  337. package/build/test-utils/openLinkInNewTab.js +0 -15
  338. package/build/test-utils/rtl-utils.js +0 -7
  339. package/build/test-utils/step-utils.js +0 -6
  340. package/build/test-utils/wait.js +0 -3
  341. package/build/tests/AlertLayout.test.js +0 -78
  342. package/build/tests/ArrayTuple.test.js +0 -118
  343. package/build/tests/ButtonLayout.test.js +0 -308
  344. package/build/tests/ConstLayout.test.js +0 -95
  345. package/build/tests/DateInput.test.js +0 -163
  346. package/build/tests/DecisionLayout.test.js +0 -146
  347. package/build/tests/DynamicFlow.test.js +0 -147
  348. package/build/tests/External.test.js +0 -169
  349. package/build/tests/Flow.test.js +0 -328
  350. package/build/tests/FormLayout.test.js +0 -28
  351. package/build/tests/FormattedValue.test.js +0 -107
  352. package/build/tests/ImageRenderer.test.js +0 -78
  353. package/build/tests/InitialAction.test.js +0 -179
  354. package/build/tests/InitialStep.test.js +0 -168
  355. package/build/tests/InstructionsLayout.test.js +0 -45
  356. package/build/tests/ListLayout.test.js +0 -168
  357. package/build/tests/Logging.test.js +0 -53
  358. package/build/tests/ModalBehavior.test.js +0 -149
  359. package/build/tests/MoneyInput.test.js +0 -316
  360. package/build/tests/MultiUpload.test.js +0 -293
  361. package/build/tests/NativeBack.test.js +0 -267
  362. package/build/tests/NoOp.test.js +0 -194
  363. package/build/tests/OneOfInitialisation.test.js +0 -571
  364. package/build/tests/PersistAsync.test.js +0 -687
  365. package/build/tests/Polling.test.js +0 -702
  366. package/build/tests/Prefetching.test.js +0 -230
  367. package/build/tests/RefreshAfter.test.js +0 -63
  368. package/build/tests/RefreshOnChange.ResponseHandling.test.js +0 -205
  369. package/build/tests/RefreshOnChange.test.js +0 -233
  370. package/build/tests/RefreshOnChange.with.Segmented.test.js +0 -348
  371. package/build/tests/RefreshOnChange.with.Tabs.test.js +0 -358
  372. package/build/tests/RefreshOnChangePreserve.test.js +0 -224
  373. package/build/tests/RendererProps.test.js +0 -342
  374. package/build/tests/Repeatable.test.js +0 -107
  375. package/build/tests/Rerendering.test.js +0 -67
  376. package/build/tests/ReviewLayout.test.js +0 -274
  377. package/build/tests/SchemaOnChange.test.js +0 -133
  378. package/build/tests/SchemaReferences.test.js +0 -88
  379. package/build/tests/ScrollToBottom.test.js +0 -122
  380. package/build/tests/ScrollToError.test.js +0 -217
  381. package/build/tests/SegmentedControl.test.js +0 -49
  382. package/build/tests/SingleFileUpload.test.js +0 -168
  383. package/build/tests/StatusList.test.js +0 -85
  384. package/build/tests/Subflow.test.js +0 -710
  385. package/build/tests/Submission.ResponseHandling.test.js +0 -557
  386. package/build/tests/Submission.merging.test.js +0 -202
  387. package/build/tests/Submission.test.js +0 -748
  388. package/build/tests/Tags.test.js +0 -475
  389. package/build/tests/Upsell.test.js +0 -154
  390. package/build/tests/ValidationAsync.test.js +0 -295
  391. package/build/tests/legacy/Actions.test.js +0 -158
  392. package/build/tests/legacy/BackButton.test.js +0 -114
  393. package/build/tests/legacy/HiddenSchemas.test.js +0 -246
  394. package/build/tests/legacy/MultiSelect.test.js +0 -501
  395. package/build/tests/legacy/MultipleFileUploadSchema.test.js +0 -341
  396. package/build/tests/legacy/PersistAsync.blob-schema.test.js +0 -224
  397. package/build/tests/legacy/PersistAsync.string-schema.test.js +0 -211
  398. package/build/tests/legacy/RefreshStepOnChange.debouncing.test.js +0 -209
  399. package/build/tests/legacy/RefreshStepOnChange.test.js +0 -424
  400. package/build/tests/legacy/Search.test.js +0 -437
  401. package/build/tests/renderers/MultiSelectInputRendererProps.test.js +0 -58
  402. package/build/tests/renderers/SelectInputRendererProps.test.js +0 -43
  403. package/build/tests/renderers/TextInputRenderer.test.js +0 -51
  404. package/build/types.js +0 -1
  405. package/build/useDynamicFlow.js +0 -104
  406. package/build/useDynamicFlowModal.js +0 -58
  407. package/build/utils/analyse-step.js +0 -14
  408. package/build/utils/component-utils.js +0 -8
  409. package/build/utils/component-utils.test.js +0 -113
  410. package/build/utils/getScrollToTop.js +0 -12
  411. package/build/utils/normalise-flow-id.js +0 -1
  412. package/build/utils/normalise-flow-id.test.js +0 -24
  413. package/build/utils/recursiveMerge.js +0 -40
  414. package/build/utils/recursiveMerge.test.js +0 -93
  415. package/build/utils/type-utils.js +0 -21
  416. package/build/utils/type-validators.js +0 -11
  417. package/build/utils/type-validators.test.js +0 -180
  418. package/build/utils/useStableCallback.js +0 -15
@@ -1,70 +0,0 @@
1
- import { recursiveMerge } from '../utils/recursiveMerge';
2
- import { getErrorMessage } from './getErrorMessage';
3
- import { executeRequest } from './executeRequest';
4
- export const executeSubmission = async (props) => {
5
- const { httpClient, requestCache, trackEvent, logEvent } = props;
6
- const triggerAction = async (action, model, isInitial) => {
7
- var _a, _b;
8
- const { exit, url, result = null, id: actionId } = action;
9
- const trackSubmissionEvent = !isInitial ? trackEvent : () => { };
10
- trackSubmissionEvent('Action Triggered', { actionId });
11
- if (exit && !url) {
12
- trackSubmissionEvent('Action Succeeded', { actionId });
13
- return { type: 'complete', result };
14
- }
15
- try {
16
- const command = await executeRequest({
17
- exit,
18
- request: createRequestFromAction(action, model),
19
- requestCache,
20
- httpClient,
21
- trackEvent: (name, properties) => {
22
- trackSubmissionEvent(name, Object.assign(Object.assign({}, properties), { actionId }));
23
- },
24
- logEvent,
25
- });
26
- switch (command.type) {
27
- case 'error': {
28
- trackSubmissionEvent('Action Failed', Object.assign({ actionId, statusCode: (_a = command.httpError) === null || _a === void 0 ? void 0 : _a.statusCode }, (_b = command.body) === null || _b === void 0 ? void 0 : _b.analytics));
29
- return command;
30
- }
31
- case 'behavior': {
32
- if (command.behavior.type === 'action') {
33
- trackSubmissionEvent('Action Succeeded', { actionId });
34
- return await executeSubmission({
35
- action: command.behavior.action,
36
- isInitial: false,
37
- model: null,
38
- requestCache,
39
- httpClient,
40
- trackEvent,
41
- logEvent,
42
- });
43
- }
44
- trackSubmissionEvent('Action Succeeded', { actionId });
45
- return command;
46
- }
47
- case 'complete': {
48
- trackSubmissionEvent('Action Succeeded', { actionId });
49
- return Object.assign(Object.assign({}, command), { result: recursiveMerge(command.result, result) });
50
- }
51
- case 'no-op':
52
- default: {
53
- trackSubmissionEvent('Action Succeeded', { actionId });
54
- return command;
55
- }
56
- }
57
- }
58
- catch (error) {
59
- const errorMessage = getErrorMessage(error);
60
- trackSubmissionEvent('Action Failed', { actionId, errorMessage });
61
- logEvent('error', 'Dynamic Flow - Action Failed Unexpectedly', { actionId, errorMessage });
62
- throw error;
63
- }
64
- };
65
- return triggerAction(props.action, props.model, props.isInitial);
66
- };
67
- export const createRequestFromAction = (action, model) => {
68
- var _a, _b, _c;
69
- return (Object.assign(Object.assign({}, action), { url: (_a = action.url) !== null && _a !== void 0 ? _a : '', method: (_b = action.method) !== null && _b !== void 0 ? _b : 'POST', body: action.method === 'GET' ? undefined : recursiveMerge(model, (_c = action.data) !== null && _c !== void 0 ? _c : null) }));
70
- };
@@ -1,7 +0,0 @@
1
- export const getErrorMessage = (error) => {
2
- return error instanceof Error
3
- ? error.message
4
- : typeof error === 'string'
5
- ? error
6
- : `Unknown Error: type is ${typeof error}`;
7
- };
@@ -1,13 +0,0 @@
1
- export const getRequestAbortController = () => {
2
- let abortController = new AbortController();
3
- return {
4
- abortAndGetNewSignal() {
5
- abortController.abort();
6
- abortController = new AbortController();
7
- return abortController.signal;
8
- },
9
- abort() {
10
- abortController.abort();
11
- },
12
- };
13
- };
@@ -1,35 +0,0 @@
1
- import { isObject } from '../utils/type-validators';
2
- const responseTypes = ['step', 'action', 'exit', 'modal', 'subflow', 'no-op'];
3
- /**
4
- * Returns either 'step', 'action', 'exit', 'modal', 'subflow', or 'no-op' based on the response headers and body.
5
- * This function takes a response body parameter because, for legacy reasons, we still need to consider the body
6
- * to determine the response type, in cases where the response headers are not set.
7
- * Ideally it should just be a matter of checking the "X-Df-Response-Type" response header.
8
- */
9
- export const getResponseType = (headers, body) => {
10
- const headerResponseType = getResponseTypeFromHeader(headers);
11
- if (headerResponseType) {
12
- return headerResponseType;
13
- }
14
- if (isObject(body) && body.action) {
15
- // TODO: use Zod to validate the action object
16
- return 'action';
17
- }
18
- return 'step';
19
- };
20
- export const getResponseTypeFromHeader = (headers) => {
21
- if (headers === null || headers === void 0 ? void 0 : headers.has('X-Df-Response-Type')) {
22
- const type = headers.get('X-Df-Response-Type');
23
- assertDFResponseType(type);
24
- return type;
25
- }
26
- if (headers === null || headers === void 0 ? void 0 : headers.has('X-Df-Exit')) {
27
- return 'exit';
28
- }
29
- return undefined;
30
- };
31
- function assertDFResponseType(type) {
32
- if (!responseTypes.includes(type)) {
33
- throw new Error("Unsupported X-Df-Response-Type. Allowed values are 'step', 'action', 'exit', 'modal', 'subflow', 'no-op'.");
34
- }
35
- }
@@ -1,8 +0,0 @@
1
- export const getSafeHttpClient = (httpClient) => async (input, init) => {
2
- try {
3
- return await httpClient(input, init);
4
- }
5
- catch (_a) {
6
- return null;
7
- }
8
- };
@@ -1,16 +0,0 @@
1
- /**
2
- * To ensure there are no uid collisions between consecutive steps, we use a
3
- * counter that is appended to the step id. This means that even steps with the
4
- * same structure and ids will not have the same component uids.
5
- */
6
- export const getStepCounter = () => {
7
- let count = 0;
8
- return {
9
- increment() {
10
- count = (count + 1) % 100;
11
- },
12
- get current() {
13
- return count;
14
- },
15
- };
16
- };
@@ -1,26 +0,0 @@
1
- import { parseResponseBodyAsJsonElement, isErrorResponseBody, parseResponseBodyAsText, } from './response-utils';
2
- export const handleErrorResponse = async (response, actionId, trackEvent) => {
3
- const body = await parseResponseBodyAsJsonElement(response.clone());
4
- if (isErrorResponseBody(body)) {
5
- const refreshUrl = body.refreshUrl || body.refreshFormUrl;
6
- const { error, validation, analytics } = body;
7
- trackEvent('Action Failed', Object.assign(Object.assign({}, analytics), { actionId, statusCode: response.status }));
8
- const errors = { error, validation };
9
- return refreshUrl
10
- ? { type: 'refresh', body: { refreshUrl, errors } }
11
- : {
12
- type: 'error',
13
- body: { errors, analytics },
14
- httpError: { statusCode: response.status },
15
- };
16
- }
17
- trackEvent('Action Failed', { actionId, statusCode: response.status });
18
- const errorMessage = await parseResponseBodyAsText(response);
19
- return {
20
- type: 'error',
21
- httpError: {
22
- message: errorMessage || undefined,
23
- statusCode: response.status,
24
- },
25
- };
26
- };
@@ -1,8 +0,0 @@
1
- export const makeSafeHttpClient = (httpClient) => async (...props) => {
2
- try {
3
- return await httpClient(...props);
4
- }
5
- catch (_a) {
6
- return null;
7
- }
8
- };
@@ -1,72 +0,0 @@
1
- import { validateActionResponse, validateSubflowResponse } from '@wise/dynamic-flow-types/spec';
2
- import { isArray, isObject } from '../utils/type-validators';
3
- export const parseResponseBodyAsJsonElement = async (response) => {
4
- assertResponseIsValid(response);
5
- try {
6
- return (await response.json());
7
- }
8
- catch (_a) {
9
- return null;
10
- }
11
- };
12
- export const parseResponseBodyAsText = async (response) => {
13
- try {
14
- return await response.text();
15
- }
16
- catch (_a) {
17
- return null;
18
- }
19
- };
20
- export function isActionResponseBody(body) {
21
- return validateActionResponse(body).valid;
22
- }
23
- export function assertActionResponseBody(body) {
24
- // TODO: use zod to validate the action object instead of this
25
- if (!isObject(body) || !isObject(body.action)) {
26
- throw new Error('Incorrect response body in action response. Expected an object satisfying the type { action: Action }.');
27
- }
28
- }
29
- // TODO make this a modal response body type
30
- export function assertModalResponseBody(body) {
31
- if (isObject(body)) {
32
- if ('content' in body && isArray(body.content)) {
33
- return;
34
- }
35
- }
36
- throw new Error('Incorrect response body in modal response. Expected an object satisfying the type { title?: string, components: Layout[] }.');
37
- }
38
- export function assertSubflowResponseBody(body) {
39
- const { valid } = validateSubflowResponse(body);
40
- if (valid) {
41
- return;
42
- }
43
- throw new Error('Incorrect response body in subflow response.');
44
- }
45
- export function isErrorResponseBody(body) {
46
- return Boolean(isObject(body) &&
47
- (body.refreshFormUrl || body.refreshUrl || body.validation || body.error || body.analytics));
48
- }
49
- export function assertErrorResponseBody(body) {
50
- // TODO: use zod to validate the error object instead of this
51
- if (!isErrorResponseBody(body)) {
52
- throw new Error('Incorrect error response body in error response. Expected an object with either `refreshUrl`, `validation` or `error` properties.');
53
- }
54
- }
55
- export function assertStepResponseBody(body) {
56
- // TODO: use zod to validate the error object instead of this
57
- if (!isObject(body)) {
58
- throw new Error('Incorrect response body in step response. Expected an object.');
59
- }
60
- }
61
- const assertResponseIsValid = (response) => {
62
- if (!isResponse(response)) {
63
- throw new Error('Incorrect type of response from fetch. Expected object of type Response.');
64
- }
65
- if (response.bodyUsed) {
66
- throw new Error('The body of the provided Response object has already been used. Every request must respond with a new Response object.');
67
- }
68
- };
69
- const isResponse = (response) => typeof response === 'object' &&
70
- response !== null &&
71
- 'clone' in response &&
72
- 'bodyUsed' in response;
@@ -1 +0,0 @@
1
- export const createAlertComponent = (alertProps) => (Object.assign({ type: 'alert', kind: 'layout' }, alertProps));
@@ -1,40 +0,0 @@
1
- import { getLocalValues, getSubmittableData, getSubmittableDataSync, } from '../../utils/component-utils';
2
- import { summariseFromChildren } from '../features/summary/summary-utils';
3
- import { validateComponents } from '../features/validation/validation-functions';
4
- export const createAllOfComponent = (allOfProps) => {
5
- const { uid, schemaId, analyticsId, alert, components, control, description, help, hidden, media, title, tags, } = allOfProps;
6
- return {
7
- type: 'all-of',
8
- kind: 'input',
9
- uid,
10
- schemaId,
11
- analyticsId,
12
- alert,
13
- components,
14
- control,
15
- description,
16
- help,
17
- hidden,
18
- media,
19
- title,
20
- tags,
21
- getChildren() {
22
- return this.components;
23
- },
24
- getSummary() {
25
- return summariseFromChildren(this.getChildren());
26
- },
27
- async getSubmittableValue() {
28
- return getSubmittableData(this.components);
29
- },
30
- getSubmittableValueSync() {
31
- return getSubmittableDataSync(this.components);
32
- },
33
- getLocalValue() {
34
- return getLocalValues(this.components);
35
- },
36
- validate() {
37
- return hidden ? true : validateComponents(this.getChildren());
38
- },
39
- };
40
- };
@@ -1,50 +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 { getComponentValidationAsync } from '../features/validationAsync/getComponentValidationAsync';
13
- import { getInputUpdateFunction } from './utils/component-utils';
14
- export const createBooleanInputComponent = (booleanInputProps, onComponentUpdate) => {
15
- const { uid, id, value, schemaOnChange, performValidationAsync, onValueChange, onPersistAsync, summariser } = booleanInputProps, rest = __rest(booleanInputProps, ["uid", "id", "value", "schemaOnChange", "performValidationAsync", "onValueChange", "onPersistAsync", "summariser"]);
16
- const update = getInputUpdateFunction(onComponentUpdate);
17
- const validateAsync = performValidationAsync
18
- ? getComponentValidationAsync(update, performValidationAsync)
19
- : undefined;
20
- const booleanComponent = Object.assign({ type: 'boolean', kind: 'input', uid,
21
- id, autoComplete: '', value,
22
- _update(updateFn) {
23
- update(this, updateFn);
24
- },
25
- onBlur() { }, // Noop
26
- onFocus() { }, // Noop
27
- onChange(updatedValue) {
28
- this._update((draft) => {
29
- draft.errors = [];
30
- draft.value = updatedValue;
31
- });
32
- void (schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange());
33
- void (onPersistAsync === null || onPersistAsync === void 0 ? void 0 : onPersistAsync().catch(() => { }));
34
- validateAsync === null || validateAsync === void 0 ? void 0 : validateAsync(this, this.getLocalValue()).catch(() => { }); // Noop
35
- onValueChange();
36
- },
37
- async getSubmittableValue() {
38
- return this.getSubmittableValueSync();
39
- },
40
- getSubmittableValueSync() {
41
- return this.getLocalValue();
42
- },
43
- getSummary() {
44
- return summariser(this.getLocalValue());
45
- },
46
- getLocalValue() {
47
- return this.value;
48
- }, validate: () => true }, rest);
49
- return booleanComponent;
50
- };
@@ -1,3 +0,0 @@
1
- export const createBoxComponent = (boxProps) => (Object.assign(Object.assign({}, boxProps), { type: 'box', kind: 'layout', getChildren() {
2
- return this.components;
3
- } }));
@@ -1 +0,0 @@
1
- export const createButtonComponent = (buttonProps) => (Object.assign({ type: 'button', kind: 'layout' }, buttonProps));
@@ -1,3 +0,0 @@
1
- export const createColumnsComponent = (columnsProps) => (Object.assign(Object.assign({}, columnsProps), { type: 'columns', kind: 'layout', getChildren() {
2
- return [...this.startComponents, ...this.endComponents];
3
- } }));
@@ -1,18 +0,0 @@
1
- export const createConstComponent = (hiddenProps) => {
2
- const { uid, schemaId, analyticsId, value, summary, layout, hidden, tags } = hiddenProps;
3
- return {
4
- type: 'const',
5
- kind: 'input',
6
- uid,
7
- schemaId,
8
- analyticsId,
9
- layout,
10
- hidden,
11
- tags,
12
- getLocalValue: () => value,
13
- getSubmittableValue: async () => value,
14
- getSubmittableValueSync: () => value,
15
- getSummary: () => summary,
16
- validate: () => true,
17
- };
18
- };
@@ -1,3 +0,0 @@
1
- export const createContainerComponent = (containerProps) => (Object.assign(Object.assign({}, containerProps), { type: 'container', kind: 'layout', getChildren() {
2
- return this.components;
3
- } }));
@@ -1,75 +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 { isValidDate } from '../../utils/type-validators';
13
- import { getLocalValueValidator } from '../features/validation/validation-functions';
14
- import { getComponentValidationAsync } from '../features/validationAsync/getComponentValidationAsync';
15
- import { getInputUpdateFunction } from './utils/component-utils';
16
- import { isOrWasValid } from './utils/isOrWasValid';
17
- export const createDateInputComponent = (textInputProps, onComponentUpdate) => {
18
- const { uid, id, checks, schemaOnChange, performValidationAsync, onValueChange, onPersistAsync, summariser, value } = textInputProps, rest = __rest(textInputProps, ["uid", "id", "checks", "schemaOnChange", "performValidationAsync", "onValueChange", "onPersistAsync", "summariser", "value"]);
19
- const update = getInputUpdateFunction(onComponentUpdate);
20
- const getValidationErrors = getLocalValueValidator(checks);
21
- const validateAsync = performValidationAsync
22
- ? getComponentValidationAsync(update, performValidationAsync)
23
- : undefined;
24
- const dateInputComponent = Object.assign({ type: 'date', kind: 'input', uid,
25
- id,
26
- value,
27
- _update(updateFn) {
28
- update(this, updateFn);
29
- },
30
- onBlur() {
31
- const isValid = this.validate();
32
- if (isValid) {
33
- validateAsync === null || validateAsync === void 0 ? void 0 : validateAsync(this, this.getLocalValue()).catch(() => { }); // Noop
34
- }
35
- },
36
- onFocus() { }, // Noop
37
- onChange(updatedValue) {
38
- const prevValue = this.value;
39
- this._update((draft) => {
40
- draft.errors = [];
41
- draft.validationAsyncState.messages = {};
42
- draft.value = updatedValue;
43
- });
44
- if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
45
- void (schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange());
46
- }
47
- onValueChange();
48
- if (getValidationErrors(updatedValue).length === 0) {
49
- void (onPersistAsync === null || onPersistAsync === void 0 ? void 0 : onPersistAsync().catch(() => { }));
50
- }
51
- },
52
- async getSubmittableValue() {
53
- return this.getSubmittableValueSync();
54
- },
55
- getSubmittableValueSync() {
56
- if (isValidDate(this.getLocalValue())) {
57
- return this.getLocalValue();
58
- }
59
- return null;
60
- },
61
- getSummary() {
62
- return summariser(this.getLocalValue());
63
- },
64
- getLocalValue() {
65
- return this.value;
66
- },
67
- validate() {
68
- const errors = getValidationErrors(this.getLocalValue());
69
- this._update((draft) => {
70
- draft.errors = errors;
71
- });
72
- return errors.length === 0;
73
- } }, rest);
74
- return dateInputComponent;
75
- };
@@ -1 +0,0 @@
1
- export const createDecisionComponent = (decisionProps) => (Object.assign({ type: 'decision', kind: 'layout' }, decisionProps));
@@ -1 +0,0 @@
1
- export const createDividerComponent = (props) => (Object.assign({ type: 'divider', kind: 'layout' }, props));
@@ -1,3 +0,0 @@
1
- export const createFormComponent = (formProps) => (Object.assign(Object.assign({}, formProps), { type: 'form', kind: 'layout', getChildren() {
2
- return [this.schemaComponent];
3
- } }));
@@ -1,44 +0,0 @@
1
- import { getInputUpdateFunction } from './utils/component-utils';
2
- export const createFormattedValueComponent = (props, onComponentUpdate) => {
3
- const { uid, schemaId, analyticsId, alert, control, description, errors, format, help, hidden, media, summariser, title, tags, value, schemaOnChange, } = props;
4
- const update = getInputUpdateFunction(onComponentUpdate);
5
- return {
6
- type: 'formatted-value',
7
- kind: 'input',
8
- uid,
9
- schemaId,
10
- analyticsId,
11
- alert,
12
- control,
13
- description,
14
- errors,
15
- format,
16
- help,
17
- hidden,
18
- media,
19
- title,
20
- tags,
21
- value,
22
- async getSubmittableValue() {
23
- return this.getSubmittableValueSync();
24
- },
25
- getSubmittableValueSync() {
26
- return this.getLocalValue();
27
- },
28
- getSummary() {
29
- return summariser(this.getLocalValue());
30
- },
31
- getLocalValue() {
32
- return this.value;
33
- },
34
- validate() {
35
- return true;
36
- },
37
- onChange(newValue) {
38
- update(this, (draft) => {
39
- draft.value = newValue;
40
- });
41
- void (schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange());
42
- },
43
- };
44
- };
@@ -1 +0,0 @@
1
- export const createHeadingComponent = (headingProps) => (Object.assign({ type: 'heading', kind: 'layout' }, headingProps));
@@ -1 +0,0 @@
1
- export const createImageComponent = (imageProps) => (Object.assign({ type: 'image', kind: 'layout' }, imageProps));
@@ -1 +0,0 @@
1
- export const createInstructionsComponent = (instructionsProps) => (Object.assign({ type: 'instructions', kind: 'layout' }, instructionsProps));
@@ -1,74 +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 { getDebouncedSchemaOnChange } from '../features/schema-on-change/getDebouncedSchemaOnChange';
13
- import { getLocalValueValidator } from '../features/validation/validation-functions';
14
- import { getDebouncedComponentValidationAsync } from '../features/validationAsync/getComponentValidationAsync';
15
- import { getInputUpdateFunction } from './utils/component-utils';
16
- export const createIntegerInputComponent = (integerInputProps, onComponentUpdate) => {
17
- const { uid, id, checks, value, schemaOnChange, performValidationAsync, onValueChange, onPersistAsync, summariser } = integerInputProps, rest = __rest(integerInputProps, ["uid", "id", "checks", "value", "schemaOnChange", "performValidationAsync", "onValueChange", "onPersistAsync", "summariser"]);
18
- const update = getInputUpdateFunction(onComponentUpdate);
19
- const getValidationErrors = getLocalValueValidator(checks);
20
- const performOnChange = getDebouncedSchemaOnChange(schemaOnChange, getValidationErrors);
21
- const validateAsync = performValidationAsync
22
- ? getDebouncedComponentValidationAsync(update, performValidationAsync)
23
- : undefined;
24
- const integerComponent = Object.assign({ type: 'integer', kind: 'input', uid,
25
- id,
26
- value,
27
- _update(updateFn) {
28
- update(this, updateFn);
29
- },
30
- onBlur() {
31
- const isValid = this.validate();
32
- performOnChange === null || performOnChange === void 0 ? void 0 : performOnChange.flush();
33
- if (isValid) {
34
- void (onPersistAsync === null || onPersistAsync === void 0 ? void 0 : onPersistAsync().catch(() => { }));
35
- validateAsync === null || validateAsync === void 0 ? void 0 : validateAsync.flush();
36
- }
37
- },
38
- onFocus() { }, // Noop
39
- onChange(updatedValue) {
40
- const prevValue = this.value;
41
- this._update((draft) => {
42
- draft.errors = [];
43
- draft.validationAsyncState.messages = {};
44
- draft.value = updatedValue;
45
- });
46
- performOnChange === null || performOnChange === void 0 ? void 0 : performOnChange(prevValue, updatedValue);
47
- const isValid = getValidationErrors(updatedValue).length === 0;
48
- if (isValid) {
49
- validateAsync === null || validateAsync === void 0 ? void 0 : validateAsync(this, updatedValue);
50
- }
51
- onValueChange();
52
- },
53
- async getSubmittableValue() {
54
- return this.getSubmittableValueSync();
55
- },
56
- getSubmittableValueSync() {
57
- var _a;
58
- return (_a = this.getLocalValue()) !== null && _a !== void 0 ? _a : null;
59
- },
60
- getSummary() {
61
- return summariser(this.getLocalValue());
62
- },
63
- getLocalValue() {
64
- return this.value;
65
- },
66
- validate() {
67
- const errors = getValidationErrors(this.getLocalValue());
68
- this._update((draft) => {
69
- draft.errors = errors;
70
- });
71
- return errors.length === 0;
72
- } }, rest);
73
- return integerComponent;
74
- };
@@ -1 +0,0 @@
1
- export const createListComponent = (listProps) => (Object.assign({ type: 'list', kind: 'layout' }, listProps));
@@ -1 +0,0 @@
1
- export const createLoadingIndicatorComponent = (loadingIndicatorProps) => (Object.assign({ type: 'loading-indicator', kind: 'layout' }, loadingIndicatorProps));
@@ -1 +0,0 @@
1
- export const createMarkdownComponent = (markdownProps) => (Object.assign({ type: 'markdown', kind: 'layout' }, markdownProps));
@@ -1 +0,0 @@
1
- export const createMediaComponent = (props) => (Object.assign({ type: 'media', kind: 'layout' }, props));
@@ -1,16 +0,0 @@
1
- import { getInputUpdateFunction } from './utils/component-utils';
2
- export const createModalContentComponent = (modalProps, onComponentUpdate) => {
3
- const update = getInputUpdateFunction(onComponentUpdate);
4
- const modalContentComponent = Object.assign(Object.assign({ type: 'modal', kind: 'layout', open: true }, modalProps), { _update(updateFn) {
5
- update(this, updateFn);
6
- },
7
- getChildren() {
8
- return this.components;
9
- },
10
- close() {
11
- update(this, (draft) => {
12
- draft.open = false;
13
- });
14
- } });
15
- return modalContentComponent;
16
- };
@@ -1,3 +0,0 @@
1
- export const createModalComponent = (modalProps) => (Object.assign(Object.assign({ type: 'modal-layout', kind: 'layout' }, modalProps), { getChildren() {
2
- return this.content.components;
3
- } }));