@wise/dynamic-flow-client 3.5.0-experimental-6654c72 → 3.5.0-experimental-63c768d

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 (296) hide show
  1. package/build/common/makeHttpClient/makeHttpClient.spec.js +141 -0
  2. package/build/i18n/de.json +46 -46
  3. package/build/i18n/en.json +46 -46
  4. package/build/i18n/es.json +46 -46
  5. package/build/i18n/fr.json +46 -46
  6. package/build/i18n/hu.json +46 -46
  7. package/build/i18n/id.json +46 -46
  8. package/build/i18n/it.json +46 -46
  9. package/build/i18n/ja.json +46 -46
  10. package/build/i18n/pl.json +46 -46
  11. package/build/i18n/pt.json +46 -46
  12. package/build/i18n/ro.json +46 -46
  13. package/build/i18n/ru.json +46 -46
  14. package/build/i18n/th.json +46 -46
  15. package/build/i18n/tr.json +46 -46
  16. package/build/i18n/zh_CN.json +46 -46
  17. package/build/i18n/zh_HK.json +46 -46
  18. package/build/index.js +10 -0
  19. package/build/legacy/common/contexts/eventsContext/EventsContext.spec.js +58 -0
  20. package/build/legacy/common/contexts/featureContext/FeatureContext.spec.js +41 -0
  21. package/build/legacy/common/contexts/logContext/LogContext.spec.js +54 -0
  22. package/build/legacy/common/hooks/useDebouncedFunction/useDebouncedFunction.spec.js +59 -0
  23. package/build/legacy/common/hooks/useExternal/useExternal.spec.js +236 -0
  24. package/build/legacy/common/hooks/useStepPolling/useStepPolling.spec.js +288 -0
  25. package/build/legacy/common/utils/debounce.spec.js +72 -0
  26. package/build/legacy/common/utils/file-utils.spec.js +69 -0
  27. package/build/legacy/common/utils/id-utils.spec.js +12 -0
  28. package/build/legacy/common/utils/is-equal.spec.js +88 -0
  29. package/build/legacy/common/utils/mobile-utils.spec.js +71 -0
  30. package/build/legacy/common/validators/models/model-utils.spec.js +45 -0
  31. package/build/legacy/common/validators/models/model-validators.spec.js +647 -0
  32. package/build/legacy/common/validators/schemas/schema-validators.spec.js +157 -0
  33. package/build/legacy/common/validators/types/type-validators.spec.js +147 -0
  34. package/build/legacy/common/validators/validationFailures/validation-failures.spec.js +198 -0
  35. package/build/legacy/common/validators/validationFailures/validation-failures.utils.spec.js +145 -0
  36. package/build/legacy/common/validators/values/value-validators.spec.js +22 -0
  37. package/build/legacy/dynamicFlow/stories/dev-tools/DynamicFlow.story.js +78 -0
  38. package/build/legacy/dynamicFlow/stories/dev-tools/ErrorResponses.story.js +124 -0
  39. package/build/legacy/dynamicFlow/stories/dev-tools/Examples.story.js +25 -0
  40. package/build/legacy/dynamicFlow/stories/dev-tools/Features.story.js +33 -0
  41. package/build/legacy/dynamicFlow/stories/dev-tools/JsonSchemaForm.story.js +31 -0
  42. package/build/legacy/dynamicFlow/stories/dev-tools/RefreshOnChange.story.js +194 -0
  43. package/build/legacy/dynamicFlow/stories/dev-tools/SearchFeature.story.js +114 -0
  44. package/build/legacy/dynamicFlow/stories/dev-tools/ServerTest.story.js +44 -0
  45. package/build/legacy/dynamicFlow/stories/dev-tools/Upload.story.js +212 -0
  46. package/build/legacy/dynamicFlow/stories/dev-tools/ValidationAsync.story.js +156 -0
  47. package/build/legacy/dynamicFlow/stories/examples/ObjectConst.story.js +150 -0
  48. package/build/legacy/dynamicFlow/stories/fixtureHttpClient.js +117 -0
  49. package/build/legacy/dynamicFlow/stories/visual-tests/VisualTests.story.js +43 -0
  50. package/build/legacy/dynamicFlow/tests/Actions.spec.js +185 -0
  51. package/build/legacy/dynamicFlow/tests/AllOfSchema.spec.js +196 -0
  52. package/build/legacy/dynamicFlow/tests/AutocompleteHints.spec.js +59 -0
  53. package/build/legacy/dynamicFlow/tests/DynamicFlow.BackButton.spec.js +179 -0
  54. package/build/legacy/dynamicFlow/tests/DynamicFlow.search.spec.js +475 -0
  55. package/build/legacy/dynamicFlow/tests/DynamicFlow.spec.js +559 -0
  56. package/build/legacy/dynamicFlow/tests/DynamicImage.spec.js +287 -0
  57. package/build/legacy/dynamicFlow/tests/DynamicInstructions.spec.js +49 -0
  58. package/build/legacy/dynamicFlow/tests/HiddenSchemas.spec.js +307 -0
  59. package/build/legacy/dynamicFlow/tests/ModalLayout.spec.js +252 -0
  60. package/build/legacy/dynamicFlow/tests/MultiSelect.spec.js +327 -0
  61. package/build/legacy/dynamicFlow/tests/MultipleFileUploadSchema.spec.js +401 -0
  62. package/build/legacy/dynamicFlow/tests/ObjectSchema.spec.js +295 -0
  63. package/build/legacy/dynamicFlow/tests/OneOfSchema.spec.js +773 -0
  64. package/build/legacy/dynamicFlow/tests/PersistAsync.blob-schema.spec.js +331 -0
  65. package/build/legacy/dynamicFlow/tests/PersistAsync.string-schema.spec.js +389 -0
  66. package/build/legacy/dynamicFlow/tests/RefreshStepOnChange.debouncing.spec.js +273 -0
  67. package/build/legacy/dynamicFlow/tests/RefreshStepOnChange.spec.js +567 -0
  68. package/build/legacy/dynamicFlow/tests/RepeatableSchema.spec.js +977 -0
  69. package/build/legacy/dynamicFlow/tests/StepModel.spec.js +119 -0
  70. package/build/legacy/dynamicFlow/tests/ValidationAsync.spec.js +484 -0
  71. package/build/legacy/dynamicFlow/tests/ssr.spec.js +47 -0
  72. package/build/legacy/dynamicFlow/utils/responseParsers/response-parsers.spec.js +463 -0
  73. package/build/legacy/formControl/Select.spec.js +104 -0
  74. package/build/legacy/formControl/utils/getAutocompleteString.spec.js +30 -0
  75. package/build/legacy/formControl/utils/value-utils.spec.js +158 -0
  76. package/build/legacy/jsonSchemaForm/JsonSchemaForm.end-to-end.spec.js +563 -0
  77. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/index.js +1 -0
  78. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/utils/summary-utils.spec.js +909 -0
  79. package/build/legacy/jsonSchemaForm/genericSchema/GenericSchema.rtl.spec.js +55 -0
  80. package/build/legacy/jsonSchemaForm/schemaFormControl/SchemaFormControl.spec.js +312 -0
  81. package/build/legacy/jsonSchemaForm/schemaFormControl/utils/mapping-utils.spec.js +231 -0
  82. package/build/legacy/layout/button/DynamicButton.spec.js +152 -0
  83. package/build/legacy/layout/button/utils.spec.js +50 -0
  84. package/build/legacy/layout/icon/DynamicIcon.spec.js +20 -0
  85. package/build/legacy/layout/list/DynamicStatusList.spec.js +111 -0
  86. package/build/legacy/layout/loadingIndicator/DynamicLoadingIndicator.spec.js +25 -0
  87. package/build/legacy/layout/markdown/DynamicMarkdown.spec.js +58 -0
  88. package/build/legacy/layout/review/DynamicReview.spec.js +152 -0
  89. package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.spec.js +432 -0
  90. package/build/legacy/test-utils/DynamicFlowProviders.js +19 -0
  91. package/build/legacy/test-utils/index.js +4 -0
  92. package/build/legacy/test-utils/legacy-utils.js +69 -0
  93. package/build/legacy/test-utils/log-utils.js +9 -0
  94. package/build/main.js +20 -20
  95. package/build/main.min.js +1 -1
  96. package/build/main.mjs +20 -20
  97. package/build/revamp/DynamicFlowCore.js +299 -0
  98. package/build/revamp/DynamicFlowWise.js +69 -0
  99. package/build/revamp/DynamicFlowWise.spec.js +105 -0
  100. package/build/revamp/domain/components/repeatableComponent/RepeatableComponent.spec.js +145 -0
  101. package/build/revamp/domain/components/searchComponent/SearchComponent.spec.js +327 -0
  102. package/build/revamp/domain/components/utils/debounce.spec.js +72 -0
  103. package/build/revamp/domain/components/utils/isPartialLocalValueMatch.spec.js +108 -0
  104. package/build/revamp/domain/features/persistAsync/getComponentPersistAsync.spec.js +199 -0
  105. package/build/revamp/domain/features/persistAsync/getInitialPersistedState.js +6 -0
  106. package/build/revamp/domain/features/persistAsync/getPerformPersistAsync.spec.js +280 -0
  107. package/build/revamp/domain/features/search/getPerformSearchFunction.js +104 -0
  108. package/build/revamp/domain/features/search/getPerformSearchFunction.spec.js +260 -0
  109. package/build/revamp/domain/features/summary/summary-utils.spec.js +110 -0
  110. package/build/revamp/domain/features/validation/spec-utils.js +16 -0
  111. package/build/revamp/domain/features/validation/validation-functions.spec.js +110 -0
  112. package/build/revamp/domain/features/validation/value-checks.spec.js +204 -0
  113. package/build/revamp/domain/features/validationAsync/getComponentValidationAsync.spec.js +177 -0
  114. package/build/revamp/domain/features/validationAsync/getInitialValidationState.js +5 -0
  115. package/build/revamp/domain/features/validationAsync/getPerformValidationAsync.spec.js +266 -0
  116. package/build/revamp/domain/mappers/layout/alertLayoutToComponent.js +12 -0
  117. package/build/revamp/domain/mappers/layout/boxLayoutToComponents.js +15 -0
  118. package/build/revamp/domain/mappers/layout/buttonLayoutToComponent.js +64 -0
  119. package/build/revamp/domain/mappers/layout/columnsLayoutToComponent.js +18 -0
  120. package/build/revamp/domain/mappers/layout/decisionLayoutToComponent.js +36 -0
  121. package/build/revamp/domain/mappers/layout/dividerLayoutToComponent.js +5 -0
  122. package/build/revamp/domain/mappers/layout/formLayoutToComponent.js +27 -0
  123. package/build/revamp/domain/mappers/layout/headingLayoutToComponent.js +13 -0
  124. package/build/revamp/domain/mappers/layout/imageLayoutToComponent.js +12 -0
  125. package/build/revamp/domain/mappers/layout/infoLayoutToComponent.js +12 -0
  126. package/build/revamp/domain/mappers/layout/instructionsLayoutToComponent.js +18 -0
  127. package/build/revamp/domain/mappers/layout/listLayoutToComponent.js +30 -0
  128. package/build/revamp/domain/mappers/layout/loadingIndicatorLayoutToComponent.js +5 -0
  129. package/build/revamp/domain/mappers/layout/markdownLayoutToComponent.js +12 -0
  130. package/build/revamp/domain/mappers/layout/modalLayoutToComponent.js +17 -0
  131. package/build/revamp/domain/mappers/layout/paragraphLayoutToComponent.js +12 -0
  132. package/build/revamp/domain/mappers/layout/reviewLayoutToComponent.js +51 -0
  133. package/build/revamp/domain/mappers/layout/searchLayoutToComponent.js +14 -0
  134. package/build/revamp/domain/mappers/layout/statusListLayoutToComponent.js +11 -0
  135. package/build/revamp/domain/mappers/mapLayoutToComponent.js +63 -0
  136. package/build/revamp/domain/mappers/mapSchemaToComponent.js +84 -0
  137. package/build/revamp/domain/mappers/mapSchemaToComponent.spec.js +197 -0
  138. package/build/revamp/domain/mappers/mapStepToComponent.js +143 -0
  139. package/build/revamp/domain/mappers/mapStepToComponent.spec.js +184 -0
  140. package/build/revamp/domain/mappers/schema/allOfSchemaToComponent.js +29 -0
  141. package/build/revamp/domain/mappers/schema/arraySchemaToComponent/arraySchemaToComponent.js +35 -0
  142. package/build/revamp/domain/mappers/schema/arraySchemaToComponent/arraySchemaToMultiUploadComponent.js +63 -0
  143. package/build/revamp/domain/mappers/schema/arraySchemaToComponent/arraySchemaToRepeatableComponent.js +65 -0
  144. package/build/revamp/domain/mappers/schema/blobSchemaToComponent.js +30 -0
  145. package/build/revamp/domain/mappers/schema/booleanSchemaToComponent.js +38 -0
  146. package/build/revamp/domain/mappers/schema/constSchemaToComponent.js +14 -0
  147. package/build/revamp/domain/mappers/schema/integerSchemaToComponent.js +36 -0
  148. package/build/revamp/domain/mappers/schema/numberSchemaToComponent.js +35 -0
  149. package/build/revamp/domain/mappers/schema/objectSchemaToComponent/objectSchemaToComponent.js +41 -0
  150. package/build/revamp/domain/mappers/schema/objectSchemaToComponent/objectSchemaToComponent.spec.js +165 -0
  151. package/build/revamp/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.js +67 -0
  152. package/build/revamp/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.spec.js +316 -0
  153. package/build/revamp/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.js +14 -0
  154. package/build/revamp/domain/mappers/schema/stringSchemaToComponent/stringSchemaToComponent.spec.js +220 -0
  155. package/build/revamp/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.js +37 -0
  156. package/build/revamp/domain/mappers/schema/stringSchemaToComponent/stringSchemaToTextInputComponent.js +45 -0
  157. package/build/revamp/domain/mappers/schema/stringSchemaToComponent/stringSchemaToUploadInputComponent.js +32 -0
  158. package/build/revamp/domain/mappers/schema/tests/test-utils.js +27 -0
  159. package/build/revamp/domain/mappers/schema/types.js +1 -0
  160. package/build/revamp/domain/mappers/schema/utils/getPersistAsyncInitialState.js +35 -0
  161. package/build/revamp/domain/mappers/schema/utils/getValidationAsyncInitialState.js +25 -0
  162. package/build/revamp/domain/mappers/schema/utils/mapCommonSchemaProps.js +28 -0
  163. package/build/revamp/domain/mappers/utils/getAutocompleteString.js +76 -0
  164. package/build/revamp/domain/mappers/utils/getAutocompleteString.spec.js +21 -0
  165. package/build/revamp/domain/mappers/utils/getRandomId.js +2 -0
  166. package/build/revamp/domain/mappers/utils/legacy-utils.js +53 -0
  167. package/build/revamp/flow/executeRefresh.js +97 -0
  168. package/build/revamp/flow/executeSubmission.js +152 -0
  169. package/build/revamp/flow/getResponseType.js +76 -0
  170. package/build/revamp/flow/response-utils.js +1 -1
  171. package/build/revamp/renderers/getRenderFunction.js +55 -0
  172. package/build/revamp/renderers/getSchemaErrorMessageFunction.js +90 -0
  173. package/build/revamp/renderers/mappers/alertComponentToProps.js +4 -0
  174. package/build/revamp/renderers/mappers/allOfComponentToProps.js +11 -0
  175. package/build/revamp/renderers/mappers/booleanInputComponentToProps.js +16 -0
  176. package/build/revamp/renderers/mappers/boxComponentToProps.js +4 -0
  177. package/build/revamp/renderers/mappers/buttonComponentToProps.js +14 -0
  178. package/build/revamp/renderers/mappers/columnsComponentToProps.js +4 -0
  179. package/build/revamp/renderers/mappers/componentToRendererProps.js +105 -0
  180. package/build/revamp/renderers/mappers/containerComponentToProps.js +4 -0
  181. package/build/revamp/renderers/mappers/dateInputComponentToProps.js +13 -0
  182. package/build/revamp/renderers/mappers/decisionComponentToProps.js +4 -0
  183. package/build/revamp/renderers/mappers/dividerComponentToProps.js +4 -0
  184. package/build/revamp/renderers/mappers/formComponentToProps.js +4 -0
  185. package/build/revamp/renderers/mappers/headingComponentToProps.js +11 -0
  186. package/build/revamp/renderers/mappers/hiddenComponentToProps.js +3 -0
  187. package/build/revamp/renderers/mappers/imageComponentToProps.js +11 -0
  188. package/build/revamp/renderers/mappers/instructionsComponentToProps.js +10 -0
  189. package/build/revamp/renderers/mappers/integerInputComponentToProps.js +13 -0
  190. package/build/revamp/renderers/mappers/loadingIndicatorComponentToProps.js +9 -0
  191. package/build/revamp/renderers/mappers/markdownComponentToProps.js +10 -0
  192. package/build/revamp/renderers/mappers/modalComponentToProps.js +10 -0
  193. package/build/revamp/renderers/mappers/multiUploadInputComponentToProps.js +24 -0
  194. package/build/revamp/renderers/mappers/numberInputComponentToProps.js +13 -0
  195. package/build/revamp/renderers/mappers/objectComponentToProps.js +11 -0
  196. package/build/revamp/renderers/mappers/paragraphComponentToProps.js +10 -0
  197. package/build/revamp/renderers/mappers/repeatableComponentToProps.js +40 -0
  198. package/build/revamp/renderers/mappers/reviewComponentToProps.js +11 -0
  199. package/build/revamp/renderers/mappers/searchComponentToProps.js +49 -0
  200. package/build/revamp/renderers/mappers/selectInputComponentToProps.js +29 -0
  201. package/build/revamp/renderers/mappers/statusListComponentToProps.js +10 -0
  202. package/build/revamp/renderers/mappers/textInputComponentToProps.js +13 -0
  203. package/build/revamp/renderers/mappers/uploadInputComponentToProps.js +16 -0
  204. package/build/revamp/renderers/mappers/utils/inputComponentToProps.js +27 -0
  205. package/build/revamp/renderers/step/ExternalConfirmationDialog.js +31 -0
  206. package/build/revamp/renderers/step/StepRenderer.js +29 -0
  207. package/build/revamp/renderers/step/useExternal.js +15 -0
  208. package/build/revamp/renderers/stepComponentToProps.js +9 -0
  209. package/build/revamp/stories/dev-tools/DynamicFlowRevamp.story.js +304 -0
  210. package/build/revamp/stories/dev-tools/EditableStep.story.js +71 -0
  211. package/build/revamp/stories/dev-tools/ErrorHandling.story.js +149 -0
  212. package/build/revamp/stories/dev-tools/External.story.js +83 -0
  213. package/build/revamp/stories/dev-tools/OneOf.Inititalisation.story.js +123 -0
  214. package/build/revamp/stories/dev-tools/PersistAsync.story.js +168 -0
  215. package/build/revamp/stories/dev-tools/RefreshOnChange.story.js +309 -0
  216. package/build/revamp/stories/dev-tools/RefreshOnChange.with.PersistAsync.story.js +1004 -0
  217. package/build/revamp/stories/dev-tools/ServerTest.story.js +81 -0
  218. package/build/revamp/stories/dev-tools/Upload.story.js +221 -0
  219. package/build/revamp/stories/dev-tools/ValidationAsync.story.js +161 -0
  220. package/build/revamp/stories/examples/ObjectConst.story.js +153 -0
  221. package/build/revamp/stories/examples/OneOfInitialisation.story.js +102 -0
  222. package/build/revamp/stories/utils/fixtureHttpClient.js +130 -0
  223. package/build/revamp/stories/utils/mockSearchHandler.js +125 -0
  224. package/build/revamp/stories/visual-tests/VisualTests.story.js +111 -0
  225. package/build/revamp/test-utils/component-utils.js +19 -0
  226. package/build/revamp/test-utils/step-utils.js +6 -0
  227. package/build/revamp/tests/ImageRenderer.spec.js +108 -0
  228. package/build/revamp/tests/InitialAction.spec.js +281 -0
  229. package/build/revamp/tests/InitialStep.spec.js +104 -0
  230. package/build/revamp/tests/Logging.spec.js +112 -0
  231. package/build/revamp/tests/OneOfInitialisation.spec.js +654 -0
  232. package/build/revamp/tests/RefreshOnChange.ResponseHandling.spec.js +322 -0
  233. package/build/revamp/tests/RefreshOnChange.with.Tabs.spec.js +390 -0
  234. package/build/revamp/tests/RefreshOnChangePreserve.spec.js +218 -0
  235. package/build/revamp/tests/Submission.ResponseHandling.spec.js +697 -0
  236. package/build/revamp/tests/Submission.spec.js +399 -0
  237. package/build/revamp/tests/legacy/HiddenSchemas.spec.js +312 -0
  238. package/build/revamp/tests/legacy/MultipleFileUploadSchema.spec.js +447 -0
  239. package/build/revamp/tests/legacy/PersistAsync.blob-schema.spec.js +339 -0
  240. package/build/revamp/tests/legacy/PersistAsync.string-schema.spec.js +385 -0
  241. package/build/revamp/tests/legacy/RefreshStepOnChange.debouncing.spec.js +235 -0
  242. package/build/revamp/tests/legacy/RefreshStepOnChange.spec.js +623 -0
  243. package/build/revamp/tests/legacy/ValidationAsync.spec.js +452 -0
  244. package/build/revamp/tests/legacy/useExternal.spec.js +235 -0
  245. package/build/revamp/utils/component-utils.spec.js +385 -0
  246. package/build/revamp/utils/findComponent.js +29 -0
  247. package/build/revamp/utils/findComponent.spec.js +92 -0
  248. package/build/revamp/utils/type-validators.spec.js +163 -0
  249. package/build/revamp/utils/useStableCallback.js +21 -0
  250. package/build/revamp/wise/renderers/DateInputRenderer.js +35 -0
  251. package/build/revamp/wise/renderers/DecisionRenderer.js +29 -0
  252. package/build/revamp/wise/renderers/DividerRenderer.js +10 -0
  253. package/build/revamp/wise/renderers/FormRenderer.js +21 -0
  254. package/build/revamp/wise/renderers/FormSectionRenderer.js +16 -0
  255. package/build/revamp/wise/renderers/HeadingRenderer.js +57 -0
  256. package/build/revamp/wise/renderers/ImageRenderer.js +111 -0
  257. package/build/revamp/wise/renderers/InstructionsRenderer.js +34 -0
  258. package/build/revamp/wise/renderers/IntegerInputRenderer.js +38 -0
  259. package/build/revamp/wise/renderers/LoadingIndicatorRenderer.js +11 -0
  260. package/build/revamp/wise/renderers/MarkdownRenderer.js +22 -0
  261. package/build/revamp/wise/renderers/ModalRenderer.js +25 -0
  262. package/build/revamp/wise/renderers/MultiUploadInputRenderer.js +74 -0
  263. package/build/revamp/wise/renderers/NumberInputRenderer.js +38 -0
  264. package/build/revamp/wise/renderers/ParagraphRenderer.js +44 -0
  265. package/build/revamp/wise/renderers/RepeatableRenderer.js +58 -0
  266. package/build/revamp/wise/renderers/ReviewRenderer.js +46 -0
  267. package/build/revamp/wise/renderers/SearchRenderer.js +63 -0
  268. package/build/revamp/wise/renderers/SelectInputRenderer/OptionMedia.js +27 -0
  269. package/build/revamp/wise/renderers/SelectInputRenderer/RadioInputRendererComponent.js +25 -0
  270. package/build/revamp/wise/renderers/SelectInputRenderer/SelectInputRenderer.js +30 -0
  271. package/build/revamp/wise/renderers/SelectInputRenderer/SelectInputRendererComponent.js +56 -0
  272. package/build/revamp/wise/renderers/SelectInputRenderer/SelectTriggerMedia.js +27 -0
  273. package/build/revamp/wise/renderers/SelectInputRenderer/TabInputRendererComponent.js +33 -0
  274. package/build/revamp/wise/renderers/StatusListRenderer.js +32 -0
  275. package/build/revamp/wise/renderers/TextInputRenderer.js +35 -0
  276. package/build/revamp/wise/renderers/UploadInputRenderer.js +136 -0
  277. package/build/revamp/wise/renderers/components/UploadFieldInput.js +25 -0
  278. package/build/revamp/wise/renderers/components/VariableDateInput.js +30 -0
  279. package/build/revamp/wise/renderers/components/VariableTextInput.js +69 -0
  280. package/build/revamp/wise/renderers/components/icon/DynamicIcon.js +17 -0
  281. package/build/revamp/wise/renderers/components/icon/FlagIcon.js +198 -0
  282. package/build/revamp/wise/renderers/components/icon/NamedIcon.js +19 -0
  283. package/build/revamp/wise/renderers/components/icon/NavigationOptionMedia.js +31 -0
  284. package/build/revamp/wise/renderers/getWiseRenderers.js +57 -0
  285. package/build/revamp/wise/renderers/hooks/useSnackBarIfAvailable.js +6 -0
  286. package/build/revamp/wise/renderers/utils/file-utils.js +70 -0
  287. package/build/revamp/wise/renderers/utils/getRandomId.js +2 -0
  288. package/build/revamp/wise/renderers/utils/input-utils.js +6 -0
  289. package/build/revamp/wise/renderers/utils/value-utils.js +23 -0
  290. package/build/revamp/wise/renderers/utils/value-utils.spec.js +33 -0
  291. package/build/revamp/wise/renderers/validators/type-validators.js +15 -0
  292. package/build/test-utils/NeptuneProviders.js +23 -0
  293. package/build/test-utils/fetch-utils.js +104 -0
  294. package/build/test-utils/index.js +2 -0
  295. package/build/test-utils/rtl-utils.js +20 -0
  296. package/package.json +3 -2
@@ -0,0 +1,10 @@
1
+ export var statusListComponentToProps = function (_a) {
2
+ var control = _a.control, items = _a.items, margin = _a.margin, title = _a.title;
3
+ return ({
4
+ type: 'status-list',
5
+ control: control,
6
+ items: items,
7
+ margin: margin,
8
+ title: title
9
+ });
10
+ };
@@ -0,0 +1,13 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { inputComponentToProps } from './utils/inputComponentToProps';
13
+ export var textInputComponentToProps = function (component) { return (__assign(__assign({}, inputComponentToProps(component, 'input-text')), { displayFormat: component.displayFormat, onChange: component.onChange.bind(component) })); };
@@ -0,0 +1,16 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { inputComponentToProps } from './utils/inputComponentToProps';
13
+ export var uploadInputComponentToProps = function (component) {
14
+ var accepts = component.accepts, maxSize = component.maxSize;
15
+ return __assign(__assign({}, inputComponentToProps(component, 'input-upload')), { accepts: accepts, maxSize: maxSize, onUpload: component.onUpload.bind(component) });
16
+ };
@@ -0,0 +1,27 @@
1
+ export var inputComponentToProps = function (component, type) {
2
+ var _a, _b;
3
+ var autoComplete = component.autoComplete, control = component.control, description = component.description, disabled = component.disabled, errors = component.errors, help = component.help, id = component.id, placeholder = component.placeholder, required = component.required, title = component.title, onBlur = component.onBlur, onFocus = component.onFocus;
4
+ var validationState = componentHasValidationState(component)
5
+ ? component.validationState
6
+ : undefined;
7
+ var messages = (validationState !== null && validationState !== void 0 ? validationState : {}).messages;
8
+ return {
9
+ type: type,
10
+ autoComplete: autoComplete,
11
+ control: control,
12
+ description: (_a = messages === null || messages === void 0 ? void 0 : messages.success) !== null && _a !== void 0 ? _a : description,
13
+ disabled: disabled,
14
+ error: (_b = messages === null || messages === void 0 ? void 0 : messages.error) !== null && _b !== void 0 ? _b : errors[0],
15
+ help: help,
16
+ id: id,
17
+ label: title,
18
+ placeholder: placeholder,
19
+ required: required,
20
+ value: component.getLocalValue(),
21
+ onBlur: onBlur.bind(component),
22
+ onFocus: onFocus.bind(component)
23
+ };
24
+ };
25
+ var componentHasValidationState = function (component) {
26
+ return Boolean('validationState' in component && component.validationState);
27
+ };
@@ -0,0 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useIntl } from 'react-intl';
14
+ import messages from '../../../common/messages/external-confirmation.messages';
15
+ import { Button, Markdown } from '@transferwise/components';
16
+ export function ExternalConfirmationDialog(_a) {
17
+ var external = _a.external, onClose = _a.onClose;
18
+ var formatMessage = useIntl().formatMessage;
19
+ return (_jsx("div", __assign({ className: "df-box-renderer-fixed-width" }, { children: _jsxs("div", __assign({ className: "df-box-renderer-width-lg" }, { children: [_jsx("h2", __assign({ className: "text-xs-center m-b-5" }, { children: formatMessage(messages.title) })), _jsx(Markdown, __assign({ config: { link: { target: '_blank' } }, className: "text-xs-center m-b-5" }, { children: formatMessage(messages.description, { origin: getOrigin(external.url) }) })), _jsx("div", __assign({ className: "df-box-renderer-fixed-width" }, { children: _jsxs("div", __assign({ className: "df-box-renderer-width-lg" }, { children: [_jsx(Button, __assign({ block: true, className: "m-b-2", priority: "primary", size: "md", onClick: function () {
20
+ window.open(external.url);
21
+ onClose();
22
+ } }, { children: formatMessage(messages.open) })), _jsx(Button, __assign({ block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onClose }, { children: formatMessage(messages.cancel) }))] })) }))] })) })));
23
+ }
24
+ function getOrigin(url) {
25
+ try {
26
+ return new URL(url).origin;
27
+ }
28
+ catch (_a) {
29
+ return url;
30
+ }
31
+ }
@@ -0,0 +1,29 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { useMemo } from 'react';
14
+ import { LoadingContextProvider } from '../LoadingContext';
15
+ import { useExternal } from './useExternal';
16
+ import { ExternalConfirmationDialog } from './ExternalConfirmationDialog';
17
+ export var StepRenderer = {
18
+ canRenderType: 'step',
19
+ render: StepRendererComponent
20
+ };
21
+ function StepRendererComponent(_a) {
22
+ var children = _a.children, external = _a.external, loadingState = _a.loadingState;
23
+ var value = useMemo(function () { return ({ loadingState: loadingState }); }, [loadingState]);
24
+ var _b = useExternal(external === null || external === void 0 ? void 0 : external.url), requiresUserConfirmation = _b.requiresUserConfirmation, dismissConfirmation = _b.dismissConfirmation;
25
+ if ((external === null || external === void 0 ? void 0 : external.url) && requiresUserConfirmation) {
26
+ return _jsx(ExternalConfirmationDialog, { external: external, onClose: dismissConfirmation });
27
+ }
28
+ return _jsx(LoadingContextProvider, __assign({ value: value }, { children: children }));
29
+ }
@@ -0,0 +1,15 @@
1
+ import { useEffect, useState } from 'react';
2
+ export function useExternal(url) {
3
+ // If we fail to open the window, the user will need to open this on their own
4
+ var _a = useState(null), externalWindow = _a[0], setExternalWindow = _a[1];
5
+ var _b = useState(false), hasDismissed = _b[0], setHasDismissed = _b[1];
6
+ var dismissConfirmation = function () { return setHasDismissed(true); };
7
+ useEffect(function () {
8
+ if (url) {
9
+ setHasDismissed(false);
10
+ setExternalWindow(window.open(url, '_blank'));
11
+ }
12
+ }, [url]);
13
+ var requiresUserConfirmation = Boolean(url && !externalWindow && !hasDismissed);
14
+ return { requiresUserConfirmation: requiresUserConfirmation, dismissConfirmation: dismissConfirmation };
15
+ }
@@ -0,0 +1,9 @@
1
+ export var stepComponentToProps = function (_a, children) {
2
+ var external = _a.external, loadingState = _a.loadingState;
3
+ return ({
4
+ type: 'step',
5
+ external: external,
6
+ loadingState: loadingState,
7
+ children: children
8
+ });
9
+ };
@@ -0,0 +1,304 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
+ /* eslint-disable no-console */
14
+ import { action } from '@storybook/addon-actions';
15
+ import DynamicFlowWise from '../../DynamicFlowWise';
16
+ import { fixtureHttpClient } from '../utils/fixtureHttpClient';
17
+ import { mockSearchHandler } from '../utils/mockSearchHandler';
18
+ import { features } from '@wise/dynamic-flow-fixtures';
19
+ export default {
20
+ component: DynamicFlowWise,
21
+ title: 'Revamp/Dev Tools',
22
+ parameters: {
23
+ chromatic: { disableSnapshot: true }
24
+ }
25
+ };
26
+ export function ExampleStep() {
27
+ var step = getBasicStep();
28
+ return renderWithStep(step);
29
+ }
30
+ export function Modal() {
31
+ return renderWithStep(features.modal);
32
+ }
33
+ export var ModelStep = function () {
34
+ var step = getModelStep();
35
+ return renderWithStep(step);
36
+ };
37
+ export function GlobalErrorStep() {
38
+ var step = getGlobalErrorStep();
39
+ return renderWithStep(step);
40
+ }
41
+ export function Search() {
42
+ var step = getSearchStep();
43
+ return (_jsxs(_Fragment, { children: [_jsx("div", __assign({ style: { display: 'flex', justifyContent: 'center' } }, { children: _jsxs("ul", { children: [_jsx("li", { children: "If your search term has 3 or fewer characters, the search results will take 2 seconds to load." }), _jsx("li", { children: "If your search term has more than 3 characters, the search results will take 1 second to load." }), _jsx("li", { children: "If your search term is \"nothing\", then the search results will take 1 second to load, but will be empty." }), _jsx("li", { children: "If your search term is \"error\", then the search results will take 1 second to load, with a status 500." })] }) })), _jsx(DynamicFlowWise, { flowId: "new-df-flow-id", httpClient: mockSearchHandler, initialStep: step, onCompletion: action('onCompletion'), onEvent: action('onEvent'), onError: function (error) {
44
+ action('onError');
45
+ console.error(error);
46
+ }, onLog: action('onLog') })] }));
47
+ }
48
+ var renderWithStep = function (step, httpClient) {
49
+ if (httpClient === void 0) { httpClient = fixtureHttpClient; }
50
+ return (_jsx(DynamicFlowWise, { flowId: "new-df-flow-id", httpClient: httpClient, initialStep: step, onCompletion: action('onCompletion'), onEvent: action('onEvent'), onError: function (error) {
51
+ action('onError');
52
+ console.error(error);
53
+ }, onLog: action('onLog') }));
54
+ };
55
+ var getBasicStep = function () { return ({
56
+ id: 'new-df-initial-step',
57
+ title: 'Revamped Dynamic Flow',
58
+ schemas: [
59
+ {
60
+ $id: '#personal-details',
61
+ type: 'object',
62
+ title: 'Personal details object',
63
+ description: 'Personal details schema description',
64
+ displayOrder: ['name', 'date', 'occupation', 'age', 'money', 'profileId'],
65
+ alert: {
66
+ type: 'alert',
67
+ markdown: 'Please enter the correct details here'
68
+ },
69
+ properties: {
70
+ profileId: { "const": 12345678 },
71
+ name: {
72
+ title: 'Full name',
73
+ type: 'string',
74
+ minLength: 3,
75
+ maxLength: 50,
76
+ help: { markdown: 'Put your name here' },
77
+ validationMessages: {
78
+ required: 'Name is required',
79
+ minLength: 'Name is too short',
80
+ maxLength: 'Name is too long'
81
+ }
82
+ },
83
+ occupation: {
84
+ title: 'Occupation',
85
+ type: 'string'
86
+ },
87
+ date: {
88
+ title: 'Date',
89
+ type: 'string',
90
+ format: 'date',
91
+ control: 'date-lookup',
92
+ minimum: '2023-01-01',
93
+ maximum: '2023-12-31'
94
+ },
95
+ age: {
96
+ title: 'Age',
97
+ type: 'integer',
98
+ minimum: 10,
99
+ maximum: 99,
100
+ help: { markdown: 'Put your age here' },
101
+ validationMessages: {
102
+ required: 'Age is required',
103
+ minimum: 'Age is too low',
104
+ maximum: 'Age is too high'
105
+ },
106
+ alert: { type: 'alert', markdown: 'You must be over 18' }
107
+ },
108
+ money: {
109
+ title: 'How much money would you like?',
110
+ type: 'number',
111
+ minimum: 0,
112
+ maximum: 9999,
113
+ validationMessages: {
114
+ required: 'Money is required',
115
+ minimum: 'Money is too low',
116
+ maximum: 'Money is too high'
117
+ }
118
+ }
119
+ },
120
+ required: ['name', 'age']
121
+ },
122
+ {
123
+ $id: '#bank-info',
124
+ type: 'object',
125
+ title: 'Bank info object',
126
+ description: 'Bank info schema description',
127
+ displayOrder: ['currency', 'complexOneOf'],
128
+ required: ['currency', 'complexOneOf'],
129
+ properties: {
130
+ currency: {
131
+ description: 'Currency schema description.',
132
+ help: { markdown: 'Currency schema help' },
133
+ control: 'select',
134
+ autocompleteHint: ['transaction-currency'],
135
+ placeholder: 'This is a placeholder',
136
+ disabled: false,
137
+ validationMessages: { required: 'Please select an option' },
138
+ "default": 'EUR',
139
+ oneOf: [
140
+ {
141
+ title: 'EUR',
142
+ icon: { name: 'flag-eur' },
143
+ description: 'Euro (schema default)',
144
+ "const": 'EUR'
145
+ },
146
+ {
147
+ title: 'GBP',
148
+ icon: { name: 'flag-gbp' },
149
+ description: 'British pound',
150
+ "const": { gbp: 'GBP' }
151
+ },
152
+ {
153
+ title: 'USD',
154
+ icon: { name: 'flag-usd' },
155
+ description: 'United States dollar',
156
+ "const": 'USD'
157
+ },
158
+ ]
159
+ },
160
+ complexOneOf: {
161
+ title: 'Complex oneOf',
162
+ description: 'Complex oneOf schema description blah blah blah blah.',
163
+ control: 'tab',
164
+ "default": { type: 'type-a', accountNumber: '12345678' },
165
+ oneOf: [
166
+ {
167
+ type: 'object',
168
+ title: 'Option A (schema default)',
169
+ icon: { name: 'flag-ars' },
170
+ description: 'Option A description',
171
+ displayOrder: ['type', 'accountNumber', 'sortCodeA'],
172
+ required: ['sortCodeA'],
173
+ properties: {
174
+ type: { "const": 'type-a' },
175
+ accountNumber: {
176
+ title: '(A) Account number',
177
+ type: 'string'
178
+ },
179
+ sortCodeA: {
180
+ title: '(A) Sort code',
181
+ type: 'string'
182
+ }
183
+ }
184
+ },
185
+ {
186
+ type: 'object',
187
+ title: 'Option B',
188
+ icon: { name: 'flag-brl' },
189
+ description: 'Option B description',
190
+ displayOrder: ['type', 'accountNumber', 'sortCodeB'],
191
+ properties: {
192
+ type: { "const": 'type-b' },
193
+ accountNumber: {
194
+ title: '(B) Account number',
195
+ type: 'string'
196
+ },
197
+ sortCodeB: {
198
+ title: '(B) Sort code',
199
+ type: 'string'
200
+ }
201
+ }
202
+ },
203
+ ]
204
+ }
205
+ }
206
+ },
207
+ ],
208
+ layout: [
209
+ { type: 'heading', text: 'Welcome to the revamped Dynamic Flow', size: 'sm' },
210
+ {
211
+ type: 'alert',
212
+ markdown: 'If you can see this, things are going **well**.',
213
+ context: 'positive'
214
+ },
215
+ {
216
+ type: 'columns',
217
+ left: [
218
+ {
219
+ type: 'form',
220
+ schemaId: '#personal-details'
221
+ },
222
+ ],
223
+ right: [
224
+ {
225
+ type: 'form',
226
+ schemaId: '#bank-info'
227
+ },
228
+ ]
229
+ },
230
+ {
231
+ type: 'columns',
232
+ bias: 'left',
233
+ left: [
234
+ {
235
+ type: 'paragraph',
236
+ text: "Starting paragraph: The Wise account is the universal way for you to manage money internationally. It's made for the world. And it's built to save your money and time, so you can do more of the things you love."
237
+ },
238
+ ],
239
+ right: [
240
+ {
241
+ type: 'paragraph',
242
+ text: "Ending paragraph: The Wise account is the universal way for you to manage money internationally. It's made for the world. And it's built to save your money and time, so you can do more of the things you love."
243
+ },
244
+ ]
245
+ },
246
+ {
247
+ type: 'box',
248
+ border: true,
249
+ width: 'md',
250
+ components: [
251
+ {
252
+ type: 'paragraph',
253
+ text: "The Wise account is the universal way for you to manage money internationally. It's made for the world. And it's built to save your money and time, so you can do more of the things you love.",
254
+ align: 'center'
255
+ },
256
+ ]
257
+ },
258
+ {
259
+ type: 'button',
260
+ title: 'Submit',
261
+ control: 'primary',
262
+ action: {
263
+ url: '/submit',
264
+ method: 'POST'
265
+ }
266
+ },
267
+ {
268
+ type: 'button',
269
+ title: 'Cancel',
270
+ control: 'secondary',
271
+ action: {
272
+ url: '/cancel',
273
+ method: 'POST'
274
+ }
275
+ },
276
+ ]
277
+ }); };
278
+ var getModelStep = function () { return (__assign(__assign({}, getBasicStep()), { model: {
279
+ name: 'John Smith',
280
+ currency: 'USD',
281
+ complexOneOf: { type: 'type-a', accountNumber: '12345678', sortCodeA: '123456' }
282
+ } })); };
283
+ var getSearchStep = function () { return ({
284
+ id: 'new-df-initial-step',
285
+ title: 'Revamped Dynamic Flow',
286
+ schemas: [],
287
+ layout: [
288
+ {
289
+ type: 'search',
290
+ title: 'What is your company name?',
291
+ method: 'GET',
292
+ emptyMessage: 'No results found',
293
+ url: '/search/',
294
+ param: 'query'
295
+ },
296
+ ]
297
+ }); };
298
+ var getGlobalErrorStep = function () { return (__assign(__assign({}, getBasicStep()), { errors: {
299
+ error: 'This is a global error',
300
+ validation: {
301
+ name: "I don't like your name",
302
+ complexOneOf: { sortCodeB: 'This is a validation error' }
303
+ }
304
+ } })); };
@@ -0,0 +1,71 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ /* eslint-disable no-console */
14
+ /* eslint-disable react/forbid-dom-props */
15
+ import { action } from '@storybook/addon-actions';
16
+ import { layouts, schemas, examples, features } from '@wise/dynamic-flow-fixtures';
17
+ import { useMemo, useState } from 'react';
18
+ import DynamicFlowWise from '../../DynamicFlowWise';
19
+ import { fixtureHttpClient } from '../utils/fixtureHttpClient';
20
+ var fixtures = __assign(__assign(__assign(__assign({}, features), schemas), layouts), examples);
21
+ export function EditableStep(_a) {
22
+ var _b = _a.initialStepName, initialStepName = _b === void 0 ? '' : _b;
23
+ var selectedStep = fixtures[initialStepName] || {};
24
+ var selectedInitialStep = JSON.stringify(selectedStep, null, 2);
25
+ return _jsx(InteractiveDemo, { selectedInitialStep: selectedInitialStep }, selectedInitialStep);
26
+ }
27
+ function InteractiveDemo(_a) {
28
+ var selectedInitialStep = _a.selectedInitialStep;
29
+ var _b = useState(200), initialStatusCode = _b[0], setInitialStatusCode = _b[1];
30
+ var _c = useState(selectedInitialStep), initialStep = _c[0], setInitialStep = _c[1];
31
+ var onTextAreaChange = function (event) {
32
+ setInitialStep(event.target.value);
33
+ };
34
+ return (_jsxs("div", __assign({ style: { display: 'flex', gap: '1em' } }, { children: [_jsxs("div", __assign({ style: { flexBasis: '50%' } }, { children: [_jsx("h3", { children: "Revamp Editable Demo" }), _jsxs("p", { children: ["You can specify a response status code and body, and DF will load your step.", _jsx("br", {}), "(for ideas, you can select an initial step from the drop down in the controls panel)"] }), _jsxs("fieldset", { children: [_jsx("label", __assign({ htmlFor: "status-code" }, { children: "Response Status code: " })), _jsx(StatusCodeSelect, { id: "status-code", state: [initialStatusCode, setInitialStatusCode] })] }), _jsxs("fieldset", { children: [_jsx("label", __assign({ htmlFor: "textarea" }, { children: "Response Body:" })), _jsx(InvalidJsonWarning, { initialStep: initialStep }), _jsx("textarea", { id: "textarea", wrap: "off", rows: 40, style: { fontFamily: 'monospace', fontSize: '0.9em', width: '100%' }, value: initialStep, onChange: onTextAreaChange })] })] })), _jsx("div", __assign({ style: { flexBasis: '50%' } }, { children: _jsx(DynamicFlowWise, { flowId: "the-flow-id", initialStep: JSON.parse(initialStep), httpClient: fixtureHttpClient, onCompletion: action('onCompletion'), onError: function (error) {
35
+ action('onError');
36
+ console.error(error);
37
+ }, onEvent: action('onEvent'), onLog: action('onLog') }, "".concat(initialStep, "-").concat(initialStatusCode)) }))] })));
38
+ }
39
+ function InvalidJsonWarning(_a) {
40
+ var initialStep = _a.initialStep;
41
+ var validJson = useMemo(function () { return isValidJson(initialStep); }, [initialStep]);
42
+ return !validJson ? (_jsx("p", { children: "\u274C Invalid syntax or missing elements are preventing the JSON code you entered from being parsed." })) : null;
43
+ }
44
+ var isValidJson = function (value) {
45
+ try {
46
+ JSON.parse(value);
47
+ return true;
48
+ }
49
+ catch (_a) {
50
+ return false;
51
+ }
52
+ };
53
+ function StatusCodeSelect(_a) {
54
+ var id = _a.id, _b = _a.state, value = _b[0], setValue = _b[1];
55
+ return (_jsxs("select", __assign({ id: id, value: value, onChange: function (event) { return setValue(Number.parseInt(event.target.value, 10)); } }, { children: [_jsx("option", { children: "200" }), _jsx("option", { children: "400" }), _jsx("option", { children: "500" })] })));
56
+ }
57
+ export default {
58
+ component: EditableStep,
59
+ title: 'Revamp/Dev Tools',
60
+ parameters: {
61
+ chromatic: { disableSnapshot: true }
62
+ },
63
+ argTypes: {
64
+ initialStepName: {
65
+ label: 'Initial Step',
66
+ control: 'select',
67
+ options: Object.keys(fixtures)
68
+ }
69
+ },
70
+ args: { initialStepName: Object.keys(fixtures)[0] }
71
+ };