@legalplace/wizardx-core 2.3.0 → 2.5.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 (543) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/App.d.ts +5 -5
  3. package/dist/App.js +22 -35
  4. package/dist/App.test.js +2 -2
  5. package/dist/Globals.d.ts +4 -0
  6. package/dist/Globals.js +9 -6
  7. package/dist/Loader.d.ts +1 -0
  8. package/dist/Loader.js +2 -0
  9. package/dist/PluginLoader.d.ts +3 -3
  10. package/dist/PluginLoader.js +22 -26
  11. package/dist/PluginLoader.test.js +6 -6
  12. package/dist/Shimmer.d.ts +1 -1
  13. package/dist/Shimmer.js +45 -47
  14. package/dist/ThemeLoader.d.ts +6 -5
  15. package/dist/ThemeLoader.js +21 -25
  16. package/dist/ThemeLoader.test.js +4 -3
  17. package/dist/components/PluginRoute.d.ts +3 -3
  18. package/dist/components/PluginRoute.js +8 -7
  19. package/dist/components/SmartScript.d.ts +7 -8
  20. package/dist/components/SmartScript.js +22 -21
  21. package/dist/components/UserLocked/UserLockedComponent.d.ts +1 -1
  22. package/dist/components/UserLocked/UserLockedComponent.js +5 -6
  23. package/dist/components/View.d.ts +8 -4
  24. package/dist/components/View.js +46 -55
  25. package/dist/components/View.test.js +6 -5
  26. package/dist/componentsConnectors/connectBox.d.ts +2 -3
  27. package/dist/componentsConnectors/connectBox.js +4 -4
  28. package/dist/componentsConnectors/connectBox.test.js +7 -7
  29. package/dist/componentsConnectors/connectDocument.d.ts +0 -1
  30. package/dist/componentsConnectors/connectDocument.js +6 -6
  31. package/dist/componentsConnectors/connectDocument.test.js +5 -5
  32. package/dist/componentsConnectors/connectHeader.d.ts +0 -1
  33. package/dist/componentsConnectors/connectHeader.js +2 -2
  34. package/dist/componentsConnectors/connectMetaTitle.d.ts +0 -1
  35. package/dist/componentsConnectors/connectMetaTitle.js +2 -2
  36. package/dist/componentsConnectors/connectMetaTitle.test.js +3 -3
  37. package/dist/componentsConnectors/connectOption.d.ts +2 -3
  38. package/dist/componentsConnectors/connectOption.js +9 -9
  39. package/dist/componentsConnectors/connectPagination.d.ts +0 -1
  40. package/dist/componentsConnectors/connectPagination.js +3 -3
  41. package/dist/componentsConnectors/connectPreview.d.ts +0 -1
  42. package/dist/componentsConnectors/connectPreview.js +2 -2
  43. package/dist/componentsConnectors/connectProgress.d.ts +0 -1
  44. package/dist/componentsConnectors/connectProgress.js +3 -3
  45. package/dist/componentsConnectors/connectRootOption.d.ts +2 -3
  46. package/dist/componentsConnectors/connectRootOption.js +2 -2
  47. package/dist/componentsConnectors/connectSection.d.ts +0 -1
  48. package/dist/componentsConnectors/connectSection.js +4 -4
  49. package/dist/componentsConnectors/connectSummary.d.ts +0 -1
  50. package/dist/componentsConnectors/connectSummary.js +2 -2
  51. package/dist/componentsConnectors/connectSummaryItem.d.ts +0 -1
  52. package/dist/componentsConnectors/connectSummaryItem.js +6 -6
  53. package/dist/componentsConnectors/connectTermsheet.d.ts +2 -2
  54. package/dist/componentsConnectors/connectTermsheet.js +43 -46
  55. package/dist/componentsConnectors/connectVariable.d.ts +1 -2
  56. package/dist/componentsConnectors/connectVariable.js +10 -10
  57. package/dist/componentsConnectors/connectWizardWrapper.d.ts +0 -1
  58. package/dist/componentsConnectors/connectWizardWrapper.js +4 -4
  59. package/dist/componentsConnectors/connector/componentConnector.d.ts +8 -8
  60. package/dist/componentsConnectors/connector/componentConnector.js +16 -19
  61. package/dist/componentsConnectors/library.d.ts +61 -0
  62. package/dist/componentsConnectors/library.js +34 -0
  63. package/dist/config.d.ts +1 -1
  64. package/dist/constants/phoneValidation.d.ts +3 -0
  65. package/dist/constants/phoneValidation.js +3 -0
  66. package/dist/helpers/outputsParsing.d.ts +1 -1
  67. package/dist/helpers/outputsParsing.js +25 -25
  68. package/dist/helpers/preloadTheme.js +1 -1
  69. package/dist/helpers/scriptsLoader.d.ts +1 -0
  70. package/dist/helpers/scriptsLoader.js +24 -0
  71. package/dist/helpers/sendinblueHelper.d.ts +3 -3
  72. package/dist/helpers/sendinblueHelper.js +29 -18
  73. package/dist/hooks/usePrevious.js +1 -1
  74. package/dist/libs/ConditionsInitiator.d.ts +1 -1
  75. package/dist/libs/ConditionsInitiator.js +2 -2
  76. package/dist/libs/ConditionsRunner/DataPopulator.js +7 -7
  77. package/dist/libs/ConditionsRunner.d.ts +3 -3
  78. package/dist/libs/ConditionsRunner.js +43 -43
  79. package/dist/libs/DocumentsOutputs.d.ts +2 -2
  80. package/dist/libs/DocumentsOutputs.js +5 -5
  81. package/dist/libs/Eval/EvalBase.js +17 -17
  82. package/dist/libs/Eval/EvalFunctions.d.ts +1 -1
  83. package/dist/libs/Eval/EvalFunctions.js +100 -100
  84. package/dist/libs/Eval/NumbersToLetters.js +46 -46
  85. package/dist/libs/EvalVariable.d.ts +2 -2
  86. package/dist/libs/EvalVariable.js +30 -29
  87. package/dist/libs/EventsTracking.js +32 -32
  88. package/dist/libs/Extracts.js +20 -20
  89. package/dist/libs/InputsInitiator.d.ts +1 -1
  90. package/dist/libs/InputsInitiator.js +15 -15
  91. package/dist/libs/NumAuto.js +1 -1
  92. package/dist/libs/OvcConverter.d.ts +1 -1
  93. package/dist/libs/OvcConverter.js +23 -23
  94. package/dist/libs/PathReader.d.ts +1 -1
  95. package/dist/libs/PathReader.js +22 -22
  96. package/dist/libs/SectionValidity.js +3 -3
  97. package/dist/libs/SmartScriptStore.d.ts +6 -6
  98. package/dist/libs/SmartScriptStore.js +33 -33
  99. package/dist/misc/test_model.d.ts +2 -2
  100. package/dist/misc/test_model.js +3807 -3807
  101. package/dist/polyfills/index.d.ts +5 -0
  102. package/dist/polyfills/index.js +5 -0
  103. package/dist/polyfills/prepend.js +2 -2
  104. package/dist/polyfills/stringRepeat.js +4 -4
  105. package/dist/redux/actions/app.d.ts +12 -12
  106. package/dist/redux/actions/app.js +1 -1
  107. package/dist/redux/actions/conditions.d.ts +2 -2
  108. package/dist/redux/actions/conditions.js +1 -1
  109. package/dist/redux/actions/inputs.d.ts +3 -1
  110. package/dist/redux/actions/inputs.js +6 -1
  111. package/dist/redux/actions/library.d.ts +74 -0
  112. package/dist/redux/actions/library.js +11 -0
  113. package/dist/redux/actions/mandatories.d.ts +1 -1
  114. package/dist/redux/actions/mandatories.js +1 -1
  115. package/dist/redux/actions/references.d.ts +4 -4
  116. package/dist/redux/actions/references.js +1 -1
  117. package/dist/redux/actions/sagas/data.d.ts +1 -1
  118. package/dist/redux/actions/sagas/data.js +1 -1
  119. package/dist/redux/actions/sagas/model.d.ts +3 -3
  120. package/dist/redux/actions/sagas/model.js +3 -3
  121. package/dist/redux/actions/sagas/user.d.ts +1 -1
  122. package/dist/redux/actions/sagas/user.js +1 -1
  123. package/dist/redux/actions/smartscript.d.ts +3 -3
  124. package/dist/redux/actions/smartscript.js +1 -1
  125. package/dist/redux/actions/user.d.ts +4 -4
  126. package/dist/redux/actions/user.js +1 -1
  127. package/dist/redux/constants/app.js +22 -22
  128. package/dist/redux/constants/conditions.js +8 -8
  129. package/dist/redux/constants/inputs.d.ts +1 -0
  130. package/dist/redux/constants/inputs.js +7 -6
  131. package/dist/redux/constants/mandatories.js +6 -6
  132. package/dist/redux/constants/references.js +3 -3
  133. package/dist/redux/constants/sagas/data.js +1 -1
  134. package/dist/redux/constants/sagas/model.js +2 -2
  135. package/dist/redux/constants/sagas/user.js +2 -2
  136. package/dist/redux/constants/smartscript.js +4 -4
  137. package/dist/redux/constants/user.js +3 -3
  138. package/dist/redux/listeners/subscriber.d.ts +2 -2
  139. package/dist/redux/middlewares/conditionsWatcherMiddleware.d.ts +2 -2
  140. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +28 -28
  141. package/dist/redux/middlewares/evaluationsWatcherMiddleware.d.ts +4 -2
  142. package/dist/redux/middlewares/evaluationsWatcherMiddleware.js +10 -10
  143. package/dist/redux/middlewares/mandatoriesWatcherMiddleware.d.ts +2 -2
  144. package/dist/redux/middlewares/mandatoriesWatcherMiddleware.js +13 -13
  145. package/dist/redux/middlewares/multiplesActionsMiddleware.d.ts +2 -2
  146. package/dist/redux/middlewares/multiplesActionsMiddleware.js +2 -2
  147. package/dist/redux/middlewares/paginationWatcherMiddleware.d.ts +3 -3
  148. package/dist/redux/middlewares/paginationWatcherMiddleware.js +24 -24
  149. package/dist/redux/middlewares/pluginsHookMiddleware.d.ts +1 -1
  150. package/dist/redux/middlewares/pluginsHookMiddleware.js +1 -1
  151. package/dist/redux/middlewares/prefillerWatcherMiddleware.d.ts +2 -2
  152. package/dist/redux/middlewares/prefillerWatcherMiddleware.js +28 -28
  153. package/dist/redux/middlewares/smartscriptMiddleware.d.ts +2 -2
  154. package/dist/redux/middlewares/smartscriptMiddleware.js +33 -15
  155. package/dist/redux/middlewares/thirdpartyScriptsMiddleware.d.ts +5 -0
  156. package/dist/redux/middlewares/thirdpartyScriptsMiddleware.js +16 -0
  157. package/dist/redux/reducers/app/customizations/initCustomizationAutoDefault.d.ts +2 -2
  158. package/dist/redux/reducers/app/customizations/initCustomizationMeta.d.ts +2 -2
  159. package/dist/redux/reducers/app/instance/initInstance.d.ts +2 -2
  160. package/dist/redux/reducers/app/instance/setDataStatus.d.ts +2 -2
  161. package/dist/redux/reducers/app/instance/updateInstance.d.ts +2 -2
  162. package/dist/redux/reducers/app/instance/updateInstancePaid.d.ts +2 -2
  163. package/dist/redux/reducers/app/meta/fetchModelFailed.d.ts +1 -1
  164. package/dist/redux/reducers/app/meta/fetchModelFailed.js +1 -1
  165. package/dist/redux/reducers/app/meta/fetchModelNonBlocking.d.ts +1 -1
  166. package/dist/redux/reducers/app/meta/fetchModelNonBlocking.js +1 -1
  167. package/dist/redux/reducers/app/meta/fetchModelSucceeded.d.ts +1 -1
  168. package/dist/redux/reducers/app/meta/fetchModelSucceeded.js +1 -1
  169. package/dist/redux/reducers/app/meta/fetchModelUnhealthy.d.ts +2 -2
  170. package/dist/redux/reducers/app/meta/fetchModelUnhealthy.js +1 -1
  171. package/dist/redux/reducers/app/meta/fetchModelUserLocked.d.ts +1 -1
  172. package/dist/redux/reducers/app/meta/fetchModelUserLocked.js +1 -1
  173. package/dist/redux/reducers/app/meta/initMeta.d.ts +2 -2
  174. package/dist/redux/reducers/app/meta/setModelUuid.d.ts +2 -2
  175. package/dist/redux/reducers/app/pagination/goNextPage.d.ts +1 -1
  176. package/dist/redux/reducers/app/pagination/goNextPage.js +1 -1
  177. package/dist/redux/reducers/app/pagination/goPage.d.ts +2 -2
  178. package/dist/redux/reducers/app/pagination/goPage.js +2 -2
  179. package/dist/redux/reducers/app/pagination/goPreviousPage.d.ts +1 -1
  180. package/dist/redux/reducers/app/pagination/goPreviousPage.js +1 -1
  181. package/dist/redux/reducers/app/pagination/initPagination.d.ts +2 -2
  182. package/dist/redux/reducers/app/pagination/initPagination.js +1 -1
  183. package/dist/redux/reducers/app/pagination/updateAvailableAppStates.d.ts +2 -2
  184. package/dist/redux/reducers/app/pagination/updateAvailableAppStates.js +5 -5
  185. package/dist/redux/reducers/app/wizard/updateAvailableSections.d.ts +2 -2
  186. package/dist/redux/reducers/app/wizard/updateAvailableSections.js +2 -2
  187. package/dist/redux/reducers/app.d.ts +2 -2
  188. package/dist/redux/reducers/app.js +30 -30
  189. package/dist/redux/reducers/conditions/addMultipleOccurency.d.ts +2 -2
  190. package/dist/redux/reducers/conditions/addMultipleOccurency.js +3 -3
  191. package/dist/redux/reducers/conditions/deleteMultipleOccurency.d.ts +2 -2
  192. package/dist/redux/reducers/conditions/deleteMultipleOccurency.js +2 -2
  193. package/dist/redux/reducers/conditions/initConditions.d.ts +2 -2
  194. package/dist/redux/reducers/conditions/updateDocumentConditions.d.ts +2 -2
  195. package/dist/redux/reducers/conditions/updateOptionConditions.d.ts +2 -2
  196. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.d.ts +2 -2
  197. package/dist/redux/reducers/conditions/updatePrefillerConditions.d.ts +2 -2
  198. package/dist/redux/reducers/conditions/updatePrefillerConditions.js +2 -2
  199. package/dist/redux/reducers/conditions/updateSectionConditions.d.ts +2 -2
  200. package/dist/redux/reducers/conditions/updateVariableConditions.d.ts +2 -2
  201. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.d.ts +2 -2
  202. package/dist/redux/reducers/conditions.d.ts +2 -2
  203. package/dist/redux/reducers/conditions.js +13 -13
  204. package/dist/redux/reducers/inputs/addMultipleOccurency.d.ts +2 -2
  205. package/dist/redux/reducers/inputs/addMultipleOccurency.js +4 -4
  206. package/dist/redux/reducers/inputs/deleteMultipleOccurency.d.ts +2 -2
  207. package/dist/redux/reducers/inputs/deleteMultipleOccurency.js +2 -2
  208. package/dist/redux/reducers/inputs/initOption.d.ts +2 -2
  209. package/dist/redux/reducers/inputs/initVariable.d.ts +2 -2
  210. package/dist/redux/reducers/inputs/updateOptionInput.d.ts +2 -2
  211. package/dist/redux/reducers/inputs/updateVariableInput.d.ts +2 -2
  212. package/dist/redux/reducers/inputs.d.ts +2 -2
  213. package/dist/redux/reducers/inputs.js +8 -8
  214. package/dist/redux/reducers/mandatories/addMultipleOccurency.d.ts +2 -2
  215. package/dist/redux/reducers/mandatories/addMultipleOccurency.js +2 -2
  216. package/dist/redux/reducers/mandatories/deleteMultipleOccurency.d.ts +2 -2
  217. package/dist/redux/reducers/mandatories/deleteMultipleOccurency.js +2 -2
  218. package/dist/redux/reducers/mandatories/initMandatoryOption.d.ts +2 -2
  219. package/dist/redux/reducers/mandatories/initMandatoryVariable.d.ts +2 -2
  220. package/dist/redux/reducers/mandatories/setMandatoryIgnore.d.ts +2 -2
  221. package/dist/redux/reducers/mandatories/setMandatoryOption.d.ts +2 -2
  222. package/dist/redux/reducers/mandatories/setMandatorySection.d.ts +2 -2
  223. package/dist/redux/reducers/mandatories/setMandatoryVariable.d.ts +2 -2
  224. package/dist/redux/reducers/mandatories.d.ts +2 -2
  225. package/dist/redux/reducers/mandatories.js +11 -11
  226. package/dist/redux/reducers/references/initReferences.d.ts +2 -2
  227. package/dist/redux/reducers/references/updateOptionMeta.d.ts +2 -2
  228. package/dist/redux/reducers/references/updateOptionMeta.js +2 -2
  229. package/dist/redux/reducers/references/updateVariableMeta.d.ts +2 -2
  230. package/dist/redux/reducers/references/updateVariableMeta.js +2 -2
  231. package/dist/redux/reducers/references.d.ts +2 -2
  232. package/dist/redux/reducers/references.js +5 -5
  233. package/dist/redux/reducers/smartscript/enableSmartScript.d.ts +1 -1
  234. package/dist/redux/reducers/smartscript/initSmartScriptTriggers.d.ts +2 -2
  235. package/dist/redux/reducers/smartscript/updateSmartscriptOptionHidden.d.ts +2 -2
  236. package/dist/redux/reducers/smartscript/updateSmartscriptVariableHidden.d.ts +2 -2
  237. package/dist/redux/reducers/smartscript.d.ts +2 -2
  238. package/dist/redux/reducers/smartscript.js +6 -6
  239. package/dist/redux/reducers/user/initUser.d.ts +2 -2
  240. package/dist/redux/reducers/user/setUserStatus.d.ts +2 -2
  241. package/dist/redux/reducers/user/setUserValidToken.d.ts +2 -2
  242. package/dist/redux/reducers/user.d.ts +2 -2
  243. package/dist/redux/reducers/user.js +9 -9
  244. package/dist/redux/routerHistory.d.ts +2 -2
  245. package/dist/redux/routerHistory.js +5 -5
  246. package/dist/redux/sagas/fetchModel.d.ts +4 -4
  247. package/dist/redux/sagas/fetchModel.js +79 -131
  248. package/dist/redux/sagas/fetchModel.test.js +2 -3
  249. package/dist/redux/sagas/homogeneousRadioInputsSaga.js +5 -5
  250. package/dist/redux/sagas/initInputs.d.ts +5 -0
  251. package/dist/redux/sagas/initInputs.js +63 -0
  252. package/dist/redux/sagas/runner.d.ts +1 -1
  253. package/dist/redux/sagas/runner.js +7 -5
  254. package/dist/redux/sagas/saveData.js +34 -25
  255. package/dist/redux/sagas/setDefaults.js +8 -8
  256. package/dist/redux/sagas/setUserEmail.js +43 -43
  257. package/dist/redux/selectors/app.d.ts +1 -0
  258. package/dist/redux/selectors/app.js +26 -25
  259. package/dist/redux/selectors/conditions.js +34 -34
  260. package/dist/redux/selectors/inputs.d.ts +1 -1
  261. package/dist/redux/selectors/inputs.js +8 -8
  262. package/dist/{componentsConnectors/connector/connectorSelectors.d.ts → redux/selectors/library.d.ts} +17 -16
  263. package/dist/redux/selectors/library.js +8 -0
  264. package/dist/redux/selectors/mandatories.js +10 -10
  265. package/dist/redux/selectors/references.d.ts +1 -0
  266. package/dist/redux/selectors/references.js +20 -19
  267. package/dist/redux/selectors/selectors.d.ts +2 -2
  268. package/dist/redux/selectors/selectors.js +2 -2
  269. package/dist/redux/selectors/smartscript.js +5 -5
  270. package/dist/redux/selectors/user.js +5 -5
  271. package/dist/redux/store.d.ts +6 -2
  272. package/dist/redux/store.js +31 -31
  273. package/dist/service/api.manager.d.ts +2 -2
  274. package/dist/service/api.manager.js +46 -46
  275. package/dist/service/auth.service.js +2 -2
  276. package/dist/service/pardot.service.js +2 -2
  277. package/dist/tests-misc/plugins/jestTestPlugin/after.d.ts +1 -1
  278. package/dist/tests-misc/plugins/jestTestPlugin/after.js +2 -2
  279. package/dist/tests-misc/plugins/jestTestPlugin/before.d.ts +1 -1
  280. package/dist/tests-misc/plugins/jestTestPlugin/before.js +2 -5
  281. package/dist/tests-misc/plugins/jestTestPlugin/index.js +4 -4
  282. package/dist/tests-misc/plugins/jestTestPlugin/title.d.ts +1 -1
  283. package/dist/tests-misc/plugins/jestTestPlugin/title.js +2 -2
  284. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.d.ts +0 -1
  285. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.js +2 -2
  286. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.d.ts +0 -1
  287. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.js +2 -2
  288. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.d.ts +0 -1
  289. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.js +2 -2
  290. package/dist/tests-misc/themes/jestTestTheme/faltyIndex.js +1 -1
  291. package/dist/tests-misc/themes/jestTestTheme/faltyIndexLoader.js +1 -1
  292. package/dist/tests-misc/themes/jestTestTheme/index.js +4 -4
  293. package/dist/types/Actions.type.d.ts +42 -37
  294. package/dist/types/Components.type.d.ts +4 -5
  295. package/dist/types/State.type.d.ts +9 -9
  296. package/dist/types/Termsheet.type.d.ts +4 -4
  297. package/dist/types/api.type.d.ts +4 -4
  298. package/dist/types/config.type.d.ts +2 -3
  299. package/dist/types/getActions.type.d.ts +2 -2
  300. package/dist/types/getConnectors.type.d.ts +2 -3
  301. package/dist/types/getSelectors.type.d.ts +2 -2
  302. package/dist/wizard-params.d.ts +1 -1
  303. package/dist/wizard-params.js +16 -16
  304. package/jest.config.ts +1 -1
  305. package/package.json +16 -8
  306. package/setupJest.ts +8 -0
  307. package/src/App.tsx +22 -25
  308. package/src/Globals.ts +12 -8
  309. package/src/Loader.tsx +8 -0
  310. package/src/PluginLoader.tsx +20 -37
  311. package/src/Shimmer.tsx +58 -45
  312. package/src/ThemeLoader.test.tsx +1 -0
  313. package/src/ThemeLoader.tsx +27 -42
  314. package/src/components/PluginRoute.tsx +8 -6
  315. package/src/components/SmartScript.tsx +29 -28
  316. package/src/components/UserLocked/UserLockedComponent.tsx +3 -3
  317. package/src/components/View.test.tsx +3 -0
  318. package/src/components/View.tsx +52 -54
  319. package/src/componentsConnectors/connectBox.tsx +6 -6
  320. package/src/componentsConnectors/connectDocument.tsx +6 -6
  321. package/src/componentsConnectors/connectHeader.tsx +2 -2
  322. package/src/componentsConnectors/connectMetaTitle.tsx +2 -2
  323. package/src/componentsConnectors/connectOption.tsx +11 -11
  324. package/src/componentsConnectors/connectPagination.tsx +3 -3
  325. package/src/componentsConnectors/connectPreview.tsx +2 -2
  326. package/src/componentsConnectors/connectProgress.tsx +3 -3
  327. package/src/componentsConnectors/connectRootOption.tsx +4 -4
  328. package/src/componentsConnectors/connectSection.tsx +4 -4
  329. package/src/componentsConnectors/connectSummary.tsx +2 -2
  330. package/src/componentsConnectors/connectSummaryItem.tsx +6 -6
  331. package/src/componentsConnectors/connectTermsheet.tsx +46 -46
  332. package/src/componentsConnectors/connectVariable.tsx +11 -11
  333. package/src/componentsConnectors/connectWizardWrapper.tsx +4 -4
  334. package/src/componentsConnectors/connector/componentConnector.tsx +22 -20
  335. package/src/componentsConnectors/library.ts +35 -0
  336. package/src/config.test.ts +2 -1
  337. package/src/config.ts +1 -1
  338. package/src/constants/phoneValidation.ts +6 -0
  339. package/src/definitions/path.join.d.ts +1 -1
  340. package/src/helpers/outputsParsing.ts +26 -26
  341. package/src/helpers/preloadTheme.ts +2 -2
  342. package/src/helpers/scriptsLoader.ts +20 -0
  343. package/src/helpers/sendinblueHelper.ts +23 -17
  344. package/src/hooks/usePrevious.ts +1 -1
  345. package/src/libs/ConditionsInitiator.ts +3 -3
  346. package/src/libs/ConditionsRunner/DataPopulator.ts +7 -7
  347. package/src/libs/ConditionsRunner.ts +53 -53
  348. package/src/libs/DocumentsOutputs.ts +7 -7
  349. package/src/libs/Eval/EvalBase.ts +17 -17
  350. package/src/libs/Eval/EvalFunctions.ts +100 -100
  351. package/src/libs/Eval/NumbersToLetters.ts +48 -48
  352. package/src/libs/EvalVariable.ts +34 -31
  353. package/src/libs/EventsTracking.ts +38 -38
  354. package/src/libs/Extracts.ts +21 -21
  355. package/src/libs/InputsInitiator.ts +16 -16
  356. package/src/libs/NumAuto.ts +1 -1
  357. package/src/libs/OvcConverter.ts +25 -25
  358. package/src/libs/PathReader.ts +23 -23
  359. package/src/libs/SectionValidity.ts +3 -3
  360. package/src/libs/SmartScriptStore.ts +40 -40
  361. package/src/misc/test_model.ts +3809 -3809
  362. package/src/polyfills/index.ts +5 -0
  363. package/src/polyfills/prepend.ts +2 -2
  364. package/src/polyfills/stringRepeat.ts +4 -4
  365. package/src/redux/actions/app.ts +13 -13
  366. package/src/redux/actions/conditions.ts +3 -3
  367. package/src/redux/actions/inputs.ts +18 -2
  368. package/src/redux/actions/library.ts +23 -0
  369. package/src/redux/actions/mandatories.ts +2 -2
  370. package/src/redux/actions/references.ts +5 -5
  371. package/src/redux/actions/sagas/data.ts +2 -2
  372. package/src/redux/actions/sagas/model.ts +6 -6
  373. package/src/redux/actions/sagas/user.ts +2 -2
  374. package/src/redux/actions/smartscript.ts +4 -4
  375. package/src/redux/actions/user.ts +5 -5
  376. package/src/redux/constants/app.ts +22 -22
  377. package/src/redux/constants/conditions.ts +8 -8
  378. package/src/redux/constants/inputs.ts +8 -6
  379. package/src/redux/constants/mandatories.ts +6 -6
  380. package/src/redux/constants/references.ts +3 -3
  381. package/src/redux/constants/sagas/data.ts +1 -1
  382. package/src/redux/constants/sagas/model.ts +2 -2
  383. package/src/redux/constants/sagas/user.ts +2 -2
  384. package/src/redux/constants/smartscript.ts +4 -4
  385. package/src/redux/constants/user.ts +3 -3
  386. package/src/redux/listeners/subscriber.ts +2 -2
  387. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +31 -31
  388. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +1 -1
  389. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +13 -13
  390. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +16 -16
  391. package/src/redux/middlewares/multiplesActionsMiddleware.ts +6 -6
  392. package/src/redux/middlewares/paginationWatcherMiddleware.ts +27 -27
  393. package/src/redux/middlewares/pluginsHookMiddleware.ts +2 -2
  394. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +31 -31
  395. package/src/redux/middlewares/smartscriptMiddleware.ts +61 -20
  396. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +41 -0
  397. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +2 -2
  398. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +2 -2
  399. package/src/redux/reducers/app/instance/initInstance.ts +2 -2
  400. package/src/redux/reducers/app/instance/setDataStatus.ts +2 -2
  401. package/src/redux/reducers/app/instance/updateInstance.ts +2 -2
  402. package/src/redux/reducers/app/instance/updateInstancePaid.ts +2 -2
  403. package/src/redux/reducers/app/meta/fetchModelFailed.ts +2 -2
  404. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +2 -2
  405. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +2 -2
  406. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +3 -3
  407. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +2 -2
  408. package/src/redux/reducers/app/meta/initMeta.ts +2 -2
  409. package/src/redux/reducers/app/meta/setModelUuid.ts +2 -2
  410. package/src/redux/reducers/app/pagination/goNextPage.ts +2 -2
  411. package/src/redux/reducers/app/pagination/goPage.ts +4 -4
  412. package/src/redux/reducers/app/pagination/goPreviousPage.ts +2 -2
  413. package/src/redux/reducers/app/pagination/initPagination.ts +3 -3
  414. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +7 -7
  415. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +4 -4
  416. package/src/redux/reducers/app.ts +32 -32
  417. package/src/redux/reducers/conditions/addMultipleOccurency.ts +5 -5
  418. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +4 -4
  419. package/src/redux/reducers/conditions/initConditions.ts +2 -2
  420. package/src/redux/reducers/conditions/updateDocumentConditions.ts +2 -2
  421. package/src/redux/reducers/conditions/updateOptionConditions.ts +2 -2
  422. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +2 -2
  423. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +4 -4
  424. package/src/redux/reducers/conditions/updateSectionConditions.ts +2 -2
  425. package/src/redux/reducers/conditions/updateVariableConditions.ts +2 -2
  426. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +2 -2
  427. package/src/redux/reducers/conditions.ts +15 -15
  428. package/src/redux/reducers/inputs/addMultipleOccurency.ts +6 -6
  429. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +4 -4
  430. package/src/redux/reducers/inputs/initOption.ts +2 -2
  431. package/src/redux/reducers/inputs/initVariable.ts +2 -2
  432. package/src/redux/reducers/inputs/updateOptionInput.ts +2 -2
  433. package/src/redux/reducers/inputs/updateVariableInput.ts +2 -2
  434. package/src/redux/reducers/inputs.ts +10 -10
  435. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +4 -4
  436. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +4 -4
  437. package/src/redux/reducers/mandatories/initMandatoryOption.ts +2 -2
  438. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +2 -2
  439. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +2 -2
  440. package/src/redux/reducers/mandatories/setMandatoryOption.ts +2 -2
  441. package/src/redux/reducers/mandatories/setMandatorySection.ts +2 -2
  442. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +2 -2
  443. package/src/redux/reducers/mandatories.ts +13 -13
  444. package/src/redux/reducers/references/initReferences.ts +2 -2
  445. package/src/redux/reducers/references/updateOptionMeta.ts +4 -4
  446. package/src/redux/reducers/references/updateVariableMeta.ts +4 -4
  447. package/src/redux/reducers/references.ts +7 -7
  448. package/src/redux/reducers/smartscript/enableSmartScript.ts +1 -1
  449. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +2 -2
  450. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +2 -2
  451. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +2 -2
  452. package/src/redux/reducers/smartscript.ts +8 -8
  453. package/src/redux/reducers/user/initUser.ts +2 -2
  454. package/src/redux/reducers/user/setUserStatus.ts +2 -2
  455. package/src/redux/reducers/user/setUserValidToken.ts +2 -2
  456. package/src/redux/reducers/user.ts +11 -11
  457. package/src/redux/routerHistory.ts +6 -6
  458. package/src/redux/sagas/fetchModel.test.ts +2 -5
  459. package/src/redux/sagas/fetchModel.ts +86 -187
  460. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +6 -6
  461. package/src/redux/sagas/initInputs.ts +110 -0
  462. package/src/redux/sagas/runner.ts +8 -6
  463. package/src/redux/sagas/saveData.ts +32 -28
  464. package/src/redux/sagas/setDefaults.ts +8 -8
  465. package/src/redux/sagas/setUserEmail.ts +46 -45
  466. package/src/redux/selectors/app.ts +34 -28
  467. package/src/redux/selectors/conditions.ts +41 -41
  468. package/src/redux/selectors/inputs.ts +10 -10
  469. package/src/redux/selectors/library.ts +17 -0
  470. package/src/redux/selectors/mandatories.ts +10 -10
  471. package/src/redux/selectors/references.ts +25 -21
  472. package/src/redux/selectors/selectors.ts +4 -4
  473. package/src/redux/selectors/smartscript.ts +6 -6
  474. package/src/redux/selectors/user.ts +8 -8
  475. package/src/redux/store.ts +42 -32
  476. package/src/service/api.manager.ts +53 -53
  477. package/src/service/auth.service.ts +2 -2
  478. package/src/service/pardot.service.ts +2 -2
  479. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +1 -1
  480. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +1 -1
  481. package/src/tests-misc/plugins/jestTestPlugin/index.ts +4 -4
  482. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +2 -2
  483. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +1 -1
  484. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +1 -1
  485. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +1 -1
  486. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +1 -1
  487. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +1 -1
  488. package/src/tests-misc/themes/jestTestTheme/index.ts +4 -4
  489. package/src/types/Actions.type.ts +63 -55
  490. package/src/types/Components.type.ts +4 -4
  491. package/src/types/State.type.ts +14 -14
  492. package/src/types/Termsheet.type.ts +4 -4
  493. package/src/types/api.type.ts +4 -4
  494. package/src/types/config.type.ts +3 -3
  495. package/src/types/getActions.type.ts +2 -2
  496. package/src/types/getConnectors.type.ts +2 -2
  497. package/src/types/getSelectors.type.ts +2 -2
  498. package/src/wizard-params.ts +17 -17
  499. package/tsconfig.json +1 -1
  500. package/dist/componentsConnectors/connector/connectorSelectors.js +0 -9
  501. package/dist/componentsConnectors/index.d.ts +0 -16
  502. package/dist/componentsConnectors/index.js +0 -16
  503. package/dist/constants/index.d.ts +0 -1
  504. package/dist/constants/index.js +0 -1
  505. package/dist/helpers/index.d.ts +0 -2
  506. package/dist/helpers/index.js +0 -2
  507. package/dist/hooks/index.d.ts +0 -1
  508. package/dist/hooks/index.js +0 -1
  509. package/dist/index.d.ts +0 -23
  510. package/dist/index.js +0 -23
  511. package/dist/libs/index.d.ts +0 -12
  512. package/dist/libs/index.js +0 -12
  513. package/dist/redux/actions/index.d.ts +0 -8
  514. package/dist/redux/actions/index.js +0 -8
  515. package/dist/redux/actions/sagas/index.d.ts +0 -3
  516. package/dist/redux/actions/sagas/index.js +0 -3
  517. package/dist/redux/constants/index.d.ts +0 -8
  518. package/dist/redux/constants/index.js +0 -8
  519. package/dist/redux/constants/sagas/index.d.ts +0 -3
  520. package/dist/redux/constants/sagas/index.js +0 -3
  521. package/dist/redux/index.d.ts +0 -4
  522. package/dist/redux/index.js +0 -4
  523. package/dist/redux/selectors/index.d.ts +0 -7
  524. package/dist/redux/selectors/index.js +0 -7
  525. package/dist/service/index.d.ts +0 -3
  526. package/dist/service/index.js +0 -3
  527. package/dist/types/index.d.ts +0 -10
  528. package/dist/types/index.js +0 -10
  529. package/src/componentsConnectors/connector/connectorSelectors.ts +0 -19
  530. package/src/componentsConnectors/index.ts +0 -16
  531. package/src/constants/index.ts +0 -1
  532. package/src/helpers/index.ts +0 -2
  533. package/src/hooks/index.ts +0 -1
  534. package/src/index.ts +0 -47
  535. package/src/libs/index.ts +0 -12
  536. package/src/redux/actions/index.ts +0 -8
  537. package/src/redux/actions/sagas/index.ts +0 -3
  538. package/src/redux/constants/index.ts +0 -8
  539. package/src/redux/constants/sagas/index.ts +0 -3
  540. package/src/redux/index.ts +0 -4
  541. package/src/redux/selectors/index.ts +0 -7
  542. package/src/service/index.ts +0 -3
  543. package/src/types/index.ts +0 -10
@@ -1,9 +1,10 @@
1
- import { SagaMiddleware } from '@redux-saga/core';
2
- import fetchModelSaga from './fetchModel';
3
- import setDefaultsSaga from './setDefaults';
4
- import saveDataSaga from './saveData';
5
- import homogeneousRadioInputsSaga from './homogeneousRadioInputsSaga';
6
- import setUserEmailSaga from './setUserEmail';
1
+ import { SagaMiddleware } from "@redux-saga/core";
2
+ import fetchModelSaga from "./fetchModel";
3
+ import setDefaultsSaga from "./setDefaults";
4
+ import saveDataSaga from "./saveData";
5
+ import homogeneousRadioInputsSaga from "./homogeneousRadioInputsSaga";
6
+ import setUserEmailSaga from "./setUserEmail";
7
+ import initInputsSaga from "./initInputs";
7
8
 
8
9
  const sagas: { (): any }[] = [
9
10
  fetchModelSaga,
@@ -11,6 +12,7 @@ const sagas: { (): any }[] = [
11
12
  saveDataSaga,
12
13
  setUserEmailSaga,
13
14
  homogeneousRadioInputsSaga,
15
+ initInputsSaga,
14
16
  ];
15
17
 
16
18
  /**
@@ -1,25 +1,25 @@
1
- import { call, put, takeLatest } from 'redux-saga/effects';
2
- import { v4 as uuid } from 'uuid';
3
- import { setDataStatus } from '../actions/app';
1
+ import { call, put, takeLatest } from "redux-saga/effects";
2
+ import { v4 as uuid } from "uuid";
3
+ import { setDataStatus } from "../actions/app";
4
4
  import {
5
5
  selectPermalink,
6
6
  selectInstanceUniqid,
7
7
  selectDocumentTitle,
8
8
  selectInstanceIsPaid,
9
- } from '../selectors/app';
10
- import { SAVE_DATA } from '../constants/sagas/data';
11
- import { selectInputs } from '../selectors/inputs';
12
- import { OvcConverter } from '../../libs/OvcConverter';
13
- import { ActionsType } from '../../types/Actions.type';
14
- import { updateInstanceArguments } from '../../service/api.manager';
15
- import { getSendinblueIdentifyAttributes } from '../../helpers/sendinblueHelper';
16
- import { getConfig } from '../../config';
17
- import { selectUserEmail } from '../selectors/user';
9
+ } from "../selectors/app";
10
+ import { SAVE_DATA } from "../constants/sagas/data";
11
+ import { selectInputs } from "../selectors/inputs";
12
+ import { OvcConverter } from "../../libs/OvcConverter";
13
+ import { ActionsType } from "../../types/Actions.type";
14
+ import { updateInstanceArguments } from "../../service/api.manager";
15
+ import { getSendinblueIdentifyAttributes } from "../../helpers/sendinblueHelper";
16
+ import { getConfig } from "../../config";
17
+ import { selectUserEmail } from "../selectors/user";
18
18
 
19
- const getSendinblueData = (uniqid: string, paid: boolean) => {
19
+ const getSendinblueData = async (uniqid: string, paid: boolean) => {
20
20
  const email = selectUserEmail();
21
21
  const apiEndpoint =
22
- getConfig().apiEndpoint + (/\/$/.test(getConfig().apiEndpoint) ? '' : '/');
22
+ getConfig().apiEndpoint + (/\/$/.test(getConfig().apiEndpoint) ? "" : "/");
23
23
 
24
24
  // Getting OVC
25
25
  const ovc = OvcConverter.convertToOvc(selectInputs());
@@ -29,14 +29,14 @@ const getSendinblueData = (uniqid: string, paid: boolean) => {
29
29
  const currentValue = ovc.v[c];
30
30
  // eslint-disable-next-line no-nested-ternary
31
31
  const o: number = Array.isArray(currentValue)
32
- ? currentValue.reduce((_p: number, _c) => _p + (_c !== '' ? 1 : 0), 0)
33
- : currentValue !== ''
32
+ ? currentValue.reduce((_p: number, _c) => _p + (_c !== "" ? 1 : 0), 0)
33
+ : currentValue !== ""
34
34
  ? 1
35
35
  : 0;
36
36
  return p + o;
37
37
  }, 0);
38
38
  // if (typeof window.sendinblue !== 'undefined' && response.user) {
39
- const attributes = getSendinblueIdentifyAttributes(
39
+ const attributes = await getSendinblueIdentifyAttributes(
40
40
  uniqid as string,
41
41
  selectDocumentTitle(),
42
42
  nbFilledVars,
@@ -45,10 +45,13 @@ const getSendinblueData = (uniqid: string, paid: boolean) => {
45
45
  );
46
46
  return [apiEndpoint, email, attributes];
47
47
  };
48
- function* saveDataDecorator(action: ActionsType.Sagas.Data.saveData) {
48
+
49
+ function* saveDataDecorator(
50
+ action: ActionsType.Sagas.Data.saveData
51
+ ): Generator<any, any, any> {
49
52
  try {
50
53
  // eslint-disable-next-line no-console
51
- yield put(setDataStatus('saving'));
54
+ yield put(setDataStatus("saving"));
52
55
  const permalink = selectPermalink();
53
56
  const uniqid = selectInstanceUniqid();
54
57
  // @ts-ignore because of saga implementation
@@ -64,21 +67,22 @@ function* saveDataDecorator(action: ActionsType.Sagas.Data.saveData) {
64
67
  )
65
68
  );
66
69
  // @ts-ignore because of saga implementation
67
- const responseData = yield call([response, 'json']);
70
+ const responseData = yield call([response, "json"]);
68
71
  // Redirecting if we recieved order to
69
72
  if (action.redirect === true) {
70
73
  if (responseData.redirect_to) {
71
74
  try {
72
75
  // Get Data to send to sendinblue
73
- const [apiEndpoint, email, attributes] = getSendinblueData(
74
- uniqid as string,
75
- selectInstanceIsPaid()
76
+ const [apiEndpoint, email, attributes] = yield call(
77
+ // @ts-ignore: due to saga implementation
78
+ getSendinblueData,
79
+ [uniqid as string, selectInstanceIsPaid()]
76
80
  );
77
81
  yield call(fetch, `${apiEndpoint}event/create/${uniqid}/${uuid()}`, {
78
- method: 'POST',
79
- credentials: 'include',
82
+ method: "POST",
83
+ credentials: "include",
80
84
  headers: {
81
- 'Content-Type': 'application/json',
85
+ "Content-Type": "application/json",
82
86
  },
83
87
  body: JSON.stringify({
84
88
  email,
@@ -97,11 +101,11 @@ function* saveDataDecorator(action: ActionsType.Sagas.Data.saveData) {
97
101
  }
98
102
  }
99
103
 
100
- yield put(setDataStatus('saved'));
104
+ yield put(setDataStatus("saved"));
101
105
  } catch (e) {
102
106
  // eslint-disable-next-line no-console
103
107
  console.error(e);
104
- yield put(setDataStatus('failed'));
108
+ yield put(setDataStatus("failed"));
105
109
  }
106
110
  }
107
111
 
@@ -1,20 +1,20 @@
1
- import { call, put, takeLatest } from 'redux-saga/effects';
1
+ import { call, put, takeLatest } from "redux-saga/effects";
2
2
  import {
3
3
  selectCurrentPage,
4
4
  selectAvailableSections,
5
5
  selectCurrentSectionId,
6
- } from '../selectors/app';
6
+ } from "../selectors/app";
7
7
  import {
8
8
  selectSectionDefaults,
9
9
  selectRadioSiblings,
10
- } from '../selectors/references';
10
+ } from "../selectors/references";
11
11
  import {
12
12
  selectOptionInput,
13
13
  selectOptionInputByIndex,
14
- } from '../selectors/inputs';
15
- import { updateOptionAction } from '../actions/inputs';
16
- import { goPageAction } from '../actions/app';
17
- import { selectOptionConditionValue } from '../selectors/conditions';
14
+ } from "../selectors/inputs";
15
+ import { updateOptionAction } from "../actions/inputs";
16
+ import { goPageAction } from "../actions/app";
17
+ import { selectOptionConditionValue } from "../selectors/conditions";
18
18
 
19
19
  function setOptionsDefaults(
20
20
  id: number,
@@ -161,7 +161,7 @@ function* setDefaultOptions() {
161
161
  }
162
162
 
163
163
  function* setDefaultsSaga() {
164
- yield takeLatest('SET_DEFAULTS', setDefaultOptions);
164
+ yield takeLatest("SET_DEFAULTS", setDefaultOptions);
165
165
  }
166
166
 
167
167
  export default setDefaultsSaga;
@@ -1,33 +1,33 @@
1
- import { call, fork, put, takeLatest } from 'redux-saga/effects';
2
- import { getContractFunnelGAEvent } from '@legalplace/lp-events';
3
- import { v4 as uuid } from 'uuid';
4
- import { getConfig } from '../../config';
1
+ import { call, fork, put, takeLatest } from "redux-saga/effects";
2
+ import { getContractFunnelGAEvent } from "@legalplace/lp-events";
3
+ import { v4 as uuid } from "uuid";
4
+ import { getConfig } from "../../config";
5
5
  import {
6
6
  selectPermalink,
7
7
  selectInstanceUniqid,
8
8
  selectDocumentTitle,
9
9
  selectAvailableAppStates,
10
10
  selectDocumentModelVersion,
11
- } from '../selectors/app';
12
- import { selectInputs } from '../selectors/inputs';
13
- import { SET_USER_EMAIL } from '../constants/sagas/user';
14
- import { setUserStatusAction, initUserAction } from '../actions/user';
15
- import { ActionsType } from '../../types/Actions.type';
16
- import { IInstanceCreationResponse } from '../../types/api.type';
11
+ } from "../selectors/app";
12
+ import { selectInputs } from "../selectors/inputs";
13
+ import { SET_USER_EMAIL } from "../constants/sagas/user";
14
+ import { setUserStatusAction, initUserAction } from "../actions/user";
15
+ import { ActionsType } from "../../types/Actions.type";
16
+ import { IInstanceCreationResponse } from "../../types/api.type";
17
17
  import {
18
18
  updateAvailableAppStatesAction,
19
19
  initInstanceAction,
20
20
  goNextPageAction,
21
- } from '../actions/app';
21
+ } from "../actions/app";
22
22
 
23
- import { OvcConverter } from '../../libs/OvcConverter';
24
- import { getSendinblueIdentifyAttributes } from '../../helpers/sendinblueHelper';
25
- import { setUserEmailSucceeded } from '../actions/sagas/user';
26
- import { EMAIL_REGEX } from '../../constants/emailValidation';
23
+ import { OvcConverter } from "../../libs/OvcConverter";
24
+ import { getSendinblueIdentifyAttributes } from "../../helpers/sendinblueHelper";
25
+ import { setUserEmailSucceeded } from "../actions/sagas/user";
26
+ import { EMAIL_REGEX } from "../../constants/emailValidation";
27
27
 
28
28
  const canalHeaders = {
29
- 'lp-referrer': window.document.referrer,
30
- 'lp-origin': window.location.href,
29
+ "lp-referrer": window.document.referrer,
30
+ "lp-origin": window.location.href,
31
31
  };
32
32
 
33
33
  function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
@@ -37,11 +37,11 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
37
37
  */
38
38
  const { email, tags, inBackground } = action;
39
39
  if (!EMAIL_REGEX.test(email)) {
40
- if (!inBackground) yield put(setUserStatusAction('failed'));
40
+ if (!inBackground) yield put(setUserStatusAction("failed"));
41
41
  return;
42
42
  }
43
43
 
44
- yield put(setUserStatusAction('inprogress'));
44
+ yield put(setUserStatusAction("inprogress"));
45
45
 
46
46
  // Getting Permalink & uniqid
47
47
  const permalink = selectPermalink();
@@ -55,8 +55,8 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
55
55
  const currentValue = ovc.v[c];
56
56
  // eslint-disable-next-line no-nested-ternary
57
57
  const o: number = Array.isArray(currentValue)
58
- ? currentValue.reduce((_p: number, _c) => _p + (_c !== '' ? 1 : 0), 0)
59
- : currentValue !== ''
58
+ ? currentValue.reduce((_p: number, _c) => _p + (_c !== "" ? 1 : 0), 0)
59
+ : currentValue !== ""
60
60
  ? 1
61
61
  : 0;
62
62
  return p + o;
@@ -75,7 +75,7 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
75
75
  if (instanceUniqid === undefined || instanceUniqid.length === 0) {
76
76
  body = {
77
77
  ...body,
78
- app_type: 'wizardx',
78
+ app_type: "wizardx",
79
79
  draft: 1,
80
80
  contract_version: selectDocumentModelVersion(),
81
81
  };
@@ -83,19 +83,19 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
83
83
 
84
84
  const apiEndpoint =
85
85
  getConfig().apiEndpoint +
86
- (/\/$/.test(getConfig().apiEndpoint) ? '' : '/');
86
+ (/\/$/.test(getConfig().apiEndpoint) ? "" : "/");
87
87
 
88
88
  const instanceResponse = yield call(
89
89
  fetch,
90
- `${apiEndpoint}wizard/instance/${permalink}/${instanceUniqid || ''}`,
90
+ `${apiEndpoint}wizard/instance/${permalink}/${instanceUniqid || ""}`,
91
91
  {
92
92
  method:
93
93
  instanceUniqid === undefined || instanceUniqid.length === 0
94
- ? 'POST'
95
- : 'PUT',
96
- credentials: 'include',
94
+ ? "POST"
95
+ : "PUT",
96
+ credentials: "include",
97
97
  headers: {
98
- 'Content-Type': 'application/json',
98
+ "Content-Type": "application/json",
99
99
  ...canalHeaders,
100
100
  },
101
101
  body: JSON.stringify(body),
@@ -103,25 +103,25 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
103
103
  );
104
104
  const response: IInstanceCreationResponse = yield call([
105
105
  instanceResponse,
106
- 'json',
106
+ "json",
107
107
  ]);
108
108
 
109
109
  /**
110
110
  * Redirecting user in case we recieved a redirect order
111
111
  */
112
112
  const { redirect_to: redirectTo, user, uniqid, isPaid } = response;
113
- if (typeof redirectTo !== 'string' || action.disableRedirect) {
114
- if (instanceUniqid === undefined || instanceUniqid.length === 0) {
113
+ if (typeof redirectTo !== "string" || action.disableRedirect) {
114
+ if (!instanceUniqid?.length) {
115
115
  yield put(
116
116
  initInstanceAction({
117
- dataStatus: 'saved',
117
+ dataStatus: "saved",
118
118
  uniqid,
119
119
  isPaid: isPaid || false,
120
120
  steps: [1],
121
121
  })
122
122
  );
123
123
  }
124
- yield put(setUserStatusAction('authenticated'));
124
+ yield put(setUserStatusAction("authenticated"));
125
125
  if (user) {
126
126
  yield put(
127
127
  initUserAction({
@@ -133,8 +133,8 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
133
133
  }
134
134
 
135
135
  // Identifying user
136
- if (typeof window.sendinblue !== 'undefined' && response.user) {
137
- const attributes = getSendinblueIdentifyAttributes(
136
+ if (typeof window.sendinblue !== "undefined" && response.user) {
137
+ const attributes = yield getSendinblueIdentifyAttributes(
138
138
  uniqid,
139
139
  selectDocumentTitle(),
140
140
  nbFilledVars,
@@ -143,10 +143,10 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
143
143
  );
144
144
  window.sendinblue.identify(email, attributes);
145
145
  const fetchParams = {
146
- method: 'POST',
147
- credentials: 'include',
146
+ method: "POST",
147
+ credentials: "include",
148
148
  headers: {
149
- 'Content-Type': 'application/json',
149
+ "Content-Type": "application/json",
150
150
  },
151
151
  body: JSON.stringify({
152
152
  email,
@@ -155,7 +155,7 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
155
155
  };
156
156
  try {
157
157
  // if we redirect afterwards we wait for the call to finish otherwise we do it in background
158
- if (typeof redirectTo === 'string' && !action.disableRedirect) {
158
+ if (typeof redirectTo === "string" && !action.disableRedirect) {
159
159
  yield call(
160
160
  // @ts-ignore for some reason saga doesn't like fetchParams being in a seperate variable
161
161
  fetch,
@@ -176,13 +176,13 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
176
176
  }
177
177
 
178
178
  try {
179
- if (redirectTo && redirectTo.includes('generation'))
179
+ if (redirectTo && redirectTo.includes("generation"))
180
180
  window.dataLayer.push(
181
181
  getContractFunnelGAEvent({
182
182
  currentStep: 1,
183
183
  contractName: selectDocumentTitle(),
184
- sectionTitle: 'Choississez votre pack',
185
- pageAction: 'Confirmation avant paiement 1 | 2',
184
+ sectionTitle: "Choississez votre pack",
185
+ pageAction: "Confirmation avant paiement 1 | 2",
186
186
  })
187
187
  );
188
188
  } catch (error) {
@@ -190,17 +190,18 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
190
190
  console.error(error);
191
191
  }
192
192
  // Redirecting user
193
- if (typeof redirectTo === 'string' && !action.disableRedirect) {
193
+ if (typeof redirectTo === "string" && !action.disableRedirect) {
194
194
  // Disabling onbeforeunload
195
195
  window.onbeforeunload = () => {};
196
196
 
197
+ // Add 1 second before redirection to wait for all HTTP requests to finish
197
198
  setTimeout(() => {
198
199
  window.location.href = redirectTo;
199
200
  }, 1000);
200
201
  }
201
202
 
202
203
  const availableAppStates = [...selectAvailableAppStates()];
203
- availableAppStates.splice(availableAppStates.indexOf('email'), 1);
204
+ availableAppStates.splice(availableAppStates.indexOf("email"), 1);
204
205
 
205
206
  // Updating appstates
206
207
  yield put(updateAvailableAppStatesAction(availableAppStates));
@@ -209,7 +210,7 @@ function* setUserEmailDecorator(action: ActionsType.User.setUserEmail): any {
209
210
  } catch (e) {
210
211
  // eslint-disable-next-line no-console
211
212
  console.error(e);
212
- yield put(setUserStatusAction('inprogress'));
213
+ yield put(setUserStatusAction("inprogress"));
213
214
  }
214
215
  }
215
216
 
@@ -1,6 +1,6 @@
1
- import { createSelector } from './selectors';
2
- import { selectOptionInput } from './inputs';
3
- import { StateType } from '../../types/State.type';
1
+ import { createSelector } from "./selectors";
2
+ import { selectOptionInput } from "./inputs";
3
+ import { StateType } from "../../types/State.type";
4
4
 
5
5
  /**
6
6
  * Returns current page number
@@ -15,7 +15,7 @@ export const selectCurrentPage = createSelector(
15
15
  */
16
16
  export const selectAvailableAppStates = createSelector(
17
17
  (state: StateType) => state.app.pagination.availableAppStates,
18
- (state: StateType) => state.app.pagination.availableAppStates.join('-')
18
+ (state: StateType) => state.app.pagination.availableAppStates.join("-")
19
19
  );
20
20
 
21
21
  /**
@@ -78,14 +78,14 @@ export const selectAvailableSections = createSelector(
78
78
  * Returns all available options
79
79
  */
80
80
  export const selectAvailableOptions = createSelector(
81
- (state: StateType, document = 'main') => {
81
+ (state: StateType, document = "main") => {
82
82
  let availableOptions: number[] = [];
83
83
 
84
84
  const { availableSections } = state.app.wizard;
85
85
  const documentSections = Object.keys(
86
86
  state.references.sections[document]
87
87
  ).map((id) => parseInt(id, 10));
88
- const sections = document === 'main' ? availableSections : documentSections;
88
+ const sections = document === "main" ? availableSections : documentSections;
89
89
 
90
90
  sections.forEach((sectionId) => {
91
91
  const { options } = state.references.sections[document][sectionId];
@@ -93,11 +93,11 @@ export const selectAvailableOptions = createSelector(
93
93
  });
94
94
  return availableOptions;
95
95
  },
96
- (state: StateType, document = 'main') => {
97
- if (document === 'main')
96
+ (state: StateType, document = "main") => {
97
+ if (document === "main")
98
98
  return state.app.wizard.availableSections.reduce(
99
99
  (a, b) => `${a}${b}`,
100
- ''
100
+ ""
101
101
  );
102
102
  return document;
103
103
  }
@@ -109,7 +109,7 @@ export const selectAvailableOptions = createSelector(
109
109
  export const selectMultipleOccurencies = createSelector(
110
110
  (state: StateType) => {
111
111
  const multipleOptionsOccurencies: Record<string, number> = {};
112
- const availableOptions = selectAvailableOptions('main');
112
+ const availableOptions = selectAvailableOptions("main");
113
113
  if (availableOptions === undefined) return {};
114
114
  availableOptions.forEach((optionId) => {
115
115
  const ref = state.references.options[optionId];
@@ -135,8 +135,8 @@ export const selectOutputsIds = createSelector(
135
135
  return outputs;
136
136
  },
137
137
  (state: StateType, document: string) => {
138
- if (document !== 'main') return document;
139
- return state.app.wizard.availableSections.reduce((a, b) => `${a}${b}`, '');
138
+ if (document !== "main") return document;
139
+ return state.app.wizard.availableSections.reduce((a, b) => `${a}${b}`, "");
140
140
  }
141
141
  );
142
142
 
@@ -201,7 +201,7 @@ export const selectMetaFetchStatus = createSelector(
201
201
  */
202
202
  export const selectPrefix = createSelector(
203
203
  (state: StateType) => (!state.app.meta ? undefined : state.app.meta.prefix),
204
- (state: StateType) => (!state.app.meta ? '0' : state.app.meta.permalink)
204
+ (state: StateType) => (!state.app.meta ? "0" : state.app.meta.permalink)
205
205
  );
206
206
 
207
207
  /**
@@ -210,7 +210,7 @@ export const selectPrefix = createSelector(
210
210
  export const selectInstanceUniqid = createSelector(
211
211
  (state: StateType) =>
212
212
  !state.app.instance ? undefined : state.app.instance.uniqid,
213
- (state: StateType) => (!state.app.instance ? '0' : state.app.instance.uniqid)
213
+ (state: StateType) => (!state.app.instance ? "0" : state.app.instance.uniqid)
214
214
  );
215
215
 
216
216
  /**
@@ -221,7 +221,7 @@ export const selectInstanceCompanyId = createSelector(
221
221
  !state.app.instance ? undefined : state.app.instance.companyId,
222
222
  (state: StateType) =>
223
223
  !state.app.instance || !state.app.instance.companyId
224
- ? '0'
224
+ ? "0"
225
225
  : state.app.instance.companyId
226
226
  );
227
227
 
@@ -233,7 +233,7 @@ export const selectInstanceEmployeeId = createSelector(
233
233
  !state.app.instance ? undefined : state.app.instance.employeeId,
234
234
  (state: StateType) =>
235
235
  !state.app.instance || !state.app.instance.employeeId
236
- ? '0'
236
+ ? "0"
237
237
  : state.app.instance.employeeId
238
238
  );
239
239
 
@@ -242,9 +242,9 @@ export const selectInstanceEmployeeId = createSelector(
242
242
  */
243
243
  export const selectDataStatus = createSelector(
244
244
  (state: StateType) =>
245
- !state.app.instance ? 'unsaved' : state.app.instance.dataStatus,
245
+ !state.app.instance ? "unsaved" : state.app.instance.dataStatus,
246
246
  (state: StateType) =>
247
- !state.app.instance ? '0' : state.app.instance.dataStatus
247
+ !state.app.instance ? "0" : state.app.instance.dataStatus
248
248
  );
249
249
 
250
250
  /**
@@ -255,7 +255,7 @@ export const selectInstanceIsPaid = createSelector(
255
255
  (state: StateType) =>
256
256
  state.app.instance && state.app.instance.isPaid
257
257
  ? state.app.instance.isPaid.toString()
258
- : '0'
258
+ : "0"
259
259
  );
260
260
 
261
261
  /**
@@ -266,25 +266,25 @@ export const selectInstanceSteps = createSelector(
266
266
  (state: StateType) =>
267
267
  state.app.instance && state.app.instance.steps
268
268
  ? state.app.instance.steps.toString()
269
- : '0'
269
+ : "0"
270
270
  );
271
271
 
272
272
  /**
273
273
  * Verifies whether step is available for insatnce
274
274
  */
275
275
  export const isStepAvailable = createSelector(
276
- (state: StateType, steps: '*' | number[] | undefined) => {
276
+ (state: StateType, steps: "*" | number[] | undefined) => {
277
277
  if (steps === undefined) return true;
278
278
 
279
279
  // If instance isn't defined
280
280
  if (state.app.instance === undefined)
281
- return steps === '*' ? true : steps.includes(1);
281
+ return steps === "*" ? true : steps.includes(1);
282
282
 
283
283
  // If step is accessible by all
284
- if (steps === '*') return true;
284
+ if (steps === "*") return true;
285
285
 
286
286
  // If instance gives access to all steps
287
- if (state.app.instance.steps === '*') return true;
287
+ if (state.app.instance.steps === "*") return true;
288
288
  return state.app.instance.steps
289
289
  .map((c) => steps.includes(c))
290
290
  .reduce((a, b) => a || b, false);
@@ -292,7 +292,7 @@ export const isStepAvailable = createSelector(
292
292
  (state: StateType, steps) =>
293
293
  state.app.instance && state.app.instance.steps && steps
294
294
  ? `${state.app.instance.steps.toString()}-${steps.toString()}`
295
- : '0'
295
+ : "0"
296
296
  );
297
297
 
298
298
  /**
@@ -301,7 +301,7 @@ export const isStepAvailable = createSelector(
301
301
  export const selectCustomizationMeta = createSelector(
302
302
  (state: StateType) => state.app.customization.meta,
303
303
  (state: StateType) =>
304
- state.app.customization.meta !== undefined ? '1' : Math.random()
304
+ state.app.customization.meta !== undefined ? "1" : Math.random()
305
305
  );
306
306
 
307
307
  /**
@@ -311,7 +311,7 @@ export const selectCustomizationAutoDefaultType = createSelector(
311
311
  (state: StateType) => state.app.customization.disableAutoDefault,
312
312
  (state: StateType) =>
313
313
  state.app.customization.disableAutoDefault !== undefined
314
- ? '1'
314
+ ? "1"
315
315
  : Math.random()
316
316
  );
317
317
 
@@ -321,5 +321,11 @@ export const selectCustomizationAutoDefaultType = createSelector(
321
321
  export const selectModelUuid = createSelector(
322
322
  (state: StateType) => state.app.meta.modelUuid,
323
323
  (state: StateType) =>
324
- state.app.meta.modelUuid !== undefined ? '1' : Math.random()
324
+ state.app.meta.modelUuid !== undefined ? "1" : Math.random()
325
+ );
326
+
327
+ export const CompletelyUnusedSelector = createSelector(
328
+ (state: StateType) => state.app.meta.modelUuid,
329
+ (state: StateType) =>
330
+ state.app.meta.modelUuid !== undefined ? "1" : Math.random()
325
331
  );