@legalplace/wizardx-core 2.6.3 → 2.7.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 (357) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/App.js +13 -4
  3. package/dist/PluginLoader.d.ts +3 -1
  4. package/dist/PluginLoader.js +12 -0
  5. package/dist/ThemeLoader.d.ts +2 -2
  6. package/dist/componentsConnectors/connectBox.d.ts +3 -1
  7. package/dist/componentsConnectors/connectDocument.d.ts +3 -1
  8. package/dist/componentsConnectors/connectHeader.d.ts +3 -1
  9. package/dist/componentsConnectors/connectMetaTitle.d.ts +3 -1
  10. package/dist/componentsConnectors/connectOption.d.ts +6 -2
  11. package/dist/componentsConnectors/connectOption.js +1 -1
  12. package/dist/componentsConnectors/connectPagination.d.ts +3 -1
  13. package/dist/componentsConnectors/connectPreview.d.ts +3 -1
  14. package/dist/componentsConnectors/connectProgress.d.ts +3 -1
  15. package/dist/componentsConnectors/connectRootOption.d.ts +3 -1
  16. package/dist/componentsConnectors/connectSection.d.ts +3 -1
  17. package/dist/componentsConnectors/connectSection.js +7 -10
  18. package/dist/componentsConnectors/connectSummary.d.ts +3 -1
  19. package/dist/componentsConnectors/connectSummaryItem.d.ts +3 -1
  20. package/dist/componentsConnectors/connectVariable.d.ts +6 -2
  21. package/dist/componentsConnectors/connectVariable.js +1 -1
  22. package/dist/componentsConnectors/connectWizardWrapper.d.ts +3 -1
  23. package/dist/componentsConnectors/connector/componentConnector.d.ts +5 -1
  24. package/dist/componentsConnectors/connector/componentConnector.js +44 -4
  25. package/dist/componentsConnectors/connector/index.d.ts +1 -0
  26. package/dist/componentsConnectors/connector/index.js +1 -0
  27. package/dist/componentsConnectors/index.d.ts +17 -0
  28. package/dist/componentsConnectors/index.js +17 -0
  29. package/dist/componentsConnectors/library.d.ts +43 -15
  30. package/dist/constants/phoneValidation.d.ts +0 -1
  31. package/dist/constants/phoneValidation.js +0 -1
  32. package/dist/helpers/apiEndpoint.d.ts +1 -0
  33. package/dist/helpers/apiEndpoint.js +4 -0
  34. package/dist/helpers/index.d.ts +4 -0
  35. package/dist/helpers/index.js +4 -0
  36. package/dist/helpers/propsEqualityCheck.d.ts +1 -0
  37. package/dist/helpers/propsEqualityCheck.js +9 -0
  38. package/dist/hooks/index.d.ts +4 -0
  39. package/dist/hooks/index.js +4 -0
  40. package/dist/hooks/useActions.d.ts +2 -0
  41. package/dist/hooks/useActions.js +4 -0
  42. package/dist/hooks/useDispatch.d.ts +1 -0
  43. package/dist/hooks/useDispatch.js +4 -0
  44. package/dist/hooks/useSelectors.d.ts +2 -0
  45. package/dist/hooks/useSelectors.js +4 -0
  46. package/dist/index.d.ts +13 -0
  47. package/dist/index.js +13 -0
  48. package/dist/libs/EventsTracking.d.ts +0 -1
  49. package/dist/libs/EventsTracking.js +0 -18
  50. package/dist/libs/PathReader.d.ts +10 -6
  51. package/dist/libs/PathReader.js +47 -28
  52. package/dist/libs/index.d.ts +5 -0
  53. package/dist/libs/index.js +5 -0
  54. package/dist/redux/actions/index.d.ts +9 -0
  55. package/dist/redux/actions/index.js +9 -0
  56. package/dist/redux/actions/library.d.ts +59 -63
  57. package/dist/redux/actions/sagas/index.d.ts +3 -0
  58. package/dist/redux/actions/sagas/index.js +3 -0
  59. package/dist/redux/actions/sagas/model.d.ts +1 -5
  60. package/dist/redux/constants/app.d.ts +2 -0
  61. package/dist/redux/constants/app.js +2 -0
  62. package/dist/redux/constants/index.d.ts +8 -0
  63. package/dist/redux/constants/index.js +8 -0
  64. package/dist/redux/constants/sagas/index.d.ts +3 -0
  65. package/dist/redux/constants/sagas/index.js +3 -0
  66. package/dist/redux/index.d.ts +5 -0
  67. package/dist/redux/index.js +5 -0
  68. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +11 -5
  69. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +120 -113
  70. package/dist/redux/middlewares/paginationWatcherMiddleware.js +2 -2
  71. package/dist/redux/middlewares/smartscriptMiddleware.js +8 -0
  72. package/dist/redux/reducers/pluginsStore.d.ts +3 -0
  73. package/dist/redux/reducers/pluginsStore.js +12 -0
  74. package/dist/redux/routerHistory.js +2 -2
  75. package/dist/redux/sagas/fetchModel.js +22 -6
  76. package/dist/redux/sagas/initInputs.js +6 -7
  77. package/dist/redux/sagas/saveData.js +3 -46
  78. package/dist/redux/sagas/setUserEmail.js +1 -28
  79. package/dist/redux/selectors/app.js +13 -18
  80. package/dist/redux/selectors/cache.d.ts +17 -0
  81. package/dist/redux/selectors/cache.js +35 -0
  82. package/dist/redux/selectors/conditions.js +7 -7
  83. package/dist/redux/selectors/index.d.ts +8 -0
  84. package/dist/redux/selectors/index.js +8 -0
  85. package/dist/redux/selectors/inputs.js +3 -3
  86. package/dist/redux/selectors/library.d.ts +2 -2
  87. package/dist/redux/selectors/references.js +26 -26
  88. package/dist/redux/selectors/selectors.d.ts +2 -2
  89. package/dist/redux/selectors/selectors.js +19 -8
  90. package/dist/redux/selectors/selectors.test.js +6 -6
  91. package/dist/redux/selectors/user.js +5 -5
  92. package/dist/redux/store.d.ts +1 -1
  93. package/dist/redux/store.js +12 -4
  94. package/dist/service/api.manager.d.ts +1 -6
  95. package/dist/service/index.d.ts +3 -0
  96. package/dist/service/index.js +3 -0
  97. package/dist/types/PluginConfig.type.d.ts +57 -0
  98. package/dist/types/PluginConfig.type.js +1 -0
  99. package/dist/types/State.type.d.ts +6 -0
  100. package/dist/types/config.type.d.ts +3 -1
  101. package/dist/types/index.d.ts +11 -0
  102. package/dist/types/index.js +11 -0
  103. package/package.json +11 -12
  104. package/.depcheckrc +0 -1
  105. package/.eslintignore +0 -2
  106. package/.eslintrc +0 -5
  107. package/__mocks__/fileMock.js +0 -1
  108. package/babel.config.json +0 -3
  109. package/dist/helpers/sendinblueHelper.d.ts +0 -4
  110. package/dist/helpers/sendinblueHelper.js +0 -46
  111. package/dist/libs/Extracts.d.ts +0 -20
  112. package/dist/libs/Extracts.js +0 -110
  113. package/jest.config.ts +0 -193
  114. package/setupJest.ts +0 -8
  115. package/src/App.test.tsx +0 -41
  116. package/src/App.tsx +0 -152
  117. package/src/Globals.ts +0 -69
  118. package/src/Loader.tsx +0 -8
  119. package/src/PluginLoader.test.tsx +0 -70
  120. package/src/PluginLoader.tsx +0 -407
  121. package/src/Shimmer.tsx +0 -108
  122. package/src/ThemeLoader.test.tsx +0 -82
  123. package/src/ThemeLoader.tsx +0 -95
  124. package/src/components/PluginRoute.tsx +0 -48
  125. package/src/components/SmartScript.tsx +0 -166
  126. package/src/components/UserLocked/UserLockedComponent.tsx +0 -33
  127. package/src/components/View.test.tsx +0 -110
  128. package/src/components/View.tsx +0 -114
  129. package/src/componentsConnectors/connectBox.test.tsx +0 -226
  130. package/src/componentsConnectors/connectBox.tsx +0 -70
  131. package/src/componentsConnectors/connectDocument.test.tsx +0 -108
  132. package/src/componentsConnectors/connectDocument.tsx +0 -64
  133. package/src/componentsConnectors/connectHeader.tsx +0 -21
  134. package/src/componentsConnectors/connectMetaTitle.test.tsx +0 -40
  135. package/src/componentsConnectors/connectMetaTitle.tsx +0 -8
  136. package/src/componentsConnectors/connectOption.tsx +0 -222
  137. package/src/componentsConnectors/connectPagination.tsx +0 -102
  138. package/src/componentsConnectors/connectPreview.tsx +0 -5
  139. package/src/componentsConnectors/connectProgress.tsx +0 -59
  140. package/src/componentsConnectors/connectRootOption.tsx +0 -95
  141. package/src/componentsConnectors/connectSection.tsx +0 -79
  142. package/src/componentsConnectors/connectSummary.tsx +0 -21
  143. package/src/componentsConnectors/connectSummaryItem.tsx +0 -102
  144. package/src/componentsConnectors/connectTermsheet.tsx +0 -359
  145. package/src/componentsConnectors/connectVariable.tsx +0 -191
  146. package/src/componentsConnectors/connectWizardWrapper.tsx +0 -30
  147. package/src/componentsConnectors/connector/componentConnector.tsx +0 -219
  148. package/src/componentsConnectors/library.ts +0 -35
  149. package/src/config.test.ts +0 -63
  150. package/src/config.ts +0 -11
  151. package/src/constants/emailValidation.ts +0 -2
  152. package/src/constants/phoneValidation.ts +0 -6
  153. package/src/definitions/path.join.d.ts +0 -4
  154. package/src/helpers/outputsParsing.ts +0 -412
  155. package/src/helpers/preloadTheme.ts +0 -17
  156. package/src/helpers/scriptsLoader.ts +0 -20
  157. package/src/helpers/sendinblueHelper.ts +0 -65
  158. package/src/hooks/usePrevious.ts +0 -9
  159. package/src/libs/ConditionsInitiator.ts +0 -164
  160. package/src/libs/ConditionsRunner/DataPopulator.ts +0 -266
  161. package/src/libs/ConditionsRunner.ts +0 -454
  162. package/src/libs/DocumentsOutputs.ts +0 -171
  163. package/src/libs/Eval/EvalBase.ts +0 -116
  164. package/src/libs/Eval/EvalFunctions.ts +0 -724
  165. package/src/libs/Eval/NumbersToLetters.ts +0 -185
  166. package/src/libs/EvalVariable.ts +0 -265
  167. package/src/libs/EventsTracking.ts +0 -276
  168. package/src/libs/Extracts.ts +0 -159
  169. package/src/libs/InputsInitiator.ts +0 -136
  170. package/src/libs/NumAuto.test.ts +0 -55
  171. package/src/libs/NumAuto.ts +0 -56
  172. package/src/libs/OvcConverter.ts +0 -285
  173. package/src/libs/PathReader.ts +0 -272
  174. package/src/libs/SectionValidity.test.ts +0 -146
  175. package/src/libs/SectionValidity.ts +0 -110
  176. package/src/libs/SmartScriptStore.ts +0 -492
  177. package/src/misc/test_model.ts +0 -14603
  178. package/src/misc/test_models/connectDocumen.testmodel.json +0 -178
  179. package/src/misc/test_models/setDefaults.testmodel.json +0 -279
  180. package/src/misc/test_models/testmodel.json +0 -1
  181. package/src/polyfills/index.ts +0 -5
  182. package/src/polyfills/objectValues.ts +0 -4
  183. package/src/polyfills/prepend.ts +0 -31
  184. package/src/polyfills/stringRepeat.ts +0 -44
  185. package/src/redux/actions/app.test.ts +0 -123
  186. package/src/redux/actions/app.ts +0 -249
  187. package/src/redux/actions/conditions.test.ts +0 -84
  188. package/src/redux/actions/conditions.ts +0 -135
  189. package/src/redux/actions/inputs.test.ts +0 -85
  190. package/src/redux/actions/inputs.ts +0 -111
  191. package/src/redux/actions/library.ts +0 -23
  192. package/src/redux/actions/mandatories.ts +0 -98
  193. package/src/redux/actions/references.test.ts +0 -48
  194. package/src/redux/actions/references.ts +0 -37
  195. package/src/redux/actions/sagas/data.test.ts +0 -11
  196. package/src/redux/actions/sagas/data.ts +0 -18
  197. package/src/redux/actions/sagas/model.test.ts +0 -14
  198. package/src/redux/actions/sagas/model.ts +0 -48
  199. package/src/redux/actions/sagas/user.ts +0 -25
  200. package/src/redux/actions/smartscript.ts +0 -55
  201. package/src/redux/actions/user.test.ts +0 -18
  202. package/src/redux/actions/user.ts +0 -41
  203. package/src/redux/constants/app.ts +0 -36
  204. package/src/redux/constants/conditions.ts +0 -25
  205. package/src/redux/constants/inputs.ts +0 -15
  206. package/src/redux/constants/mandatories.ts +0 -11
  207. package/src/redux/constants/references.ts +0 -7
  208. package/src/redux/constants/sagas/data.ts +0 -1
  209. package/src/redux/constants/sagas/model.ts +0 -2
  210. package/src/redux/constants/sagas/user.ts +0 -2
  211. package/src/redux/constants/smartscript.ts +0 -9
  212. package/src/redux/constants/user.ts +0 -6
  213. package/src/redux/listeners/subscriber.test.ts +0 -45
  214. package/src/redux/listeners/subscriber.ts +0 -29
  215. package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +0 -370
  216. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +0 -321
  217. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +0 -323
  218. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +0 -250
  219. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +0 -473
  220. package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +0 -230
  221. package/src/redux/middlewares/multiplesActionsMiddleware.ts +0 -121
  222. package/src/redux/middlewares/paginationWatcherMiddleware.ts +0 -251
  223. package/src/redux/middlewares/pluginsHookMiddleware.ts +0 -24
  224. package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +0 -118
  225. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +0 -462
  226. package/src/redux/middlewares/smartscriptMiddleware.ts +0 -228
  227. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +0 -41
  228. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +0 -16
  229. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +0 -16
  230. package/src/redux/reducers/app/instance/initInstance.ts +0 -29
  231. package/src/redux/reducers/app/instance/setDataStatus.ts +0 -16
  232. package/src/redux/reducers/app/instance/updateInstance.ts +0 -30
  233. package/src/redux/reducers/app/instance/updateInstancePaid.ts +0 -20
  234. package/src/redux/reducers/app/instance.test.ts +0 -106
  235. package/src/redux/reducers/app/meta/fetchModelFailed.ts +0 -11
  236. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +0 -11
  237. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +0 -11
  238. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +0 -18
  239. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +0 -11
  240. package/src/redux/reducers/app/meta/initMeta.ts +0 -22
  241. package/src/redux/reducers/app/meta/setModelUuid.ts +0 -17
  242. package/src/redux/reducers/app/meta.test.ts +0 -90
  243. package/src/redux/reducers/app/pagination/goNextPage.ts +0 -69
  244. package/src/redux/reducers/app/pagination/goPage.ts +0 -81
  245. package/src/redux/reducers/app/pagination/goPreviousPage.ts +0 -60
  246. package/src/redux/reducers/app/pagination/initPagination.ts +0 -46
  247. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +0 -77
  248. package/src/redux/reducers/app/pagination.test.ts +0 -363
  249. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +0 -40
  250. package/src/redux/reducers/app/wizard.test.ts +0 -84
  251. package/src/redux/reducers/app.test.ts +0 -336
  252. package/src/redux/reducers/app.ts +0 -150
  253. package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +0 -131
  254. package/src/redux/reducers/conditions/addMultipleOccurency.ts +0 -155
  255. package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +0 -95
  256. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +0 -141
  257. package/src/redux/reducers/conditions/initConditions.ts +0 -18
  258. package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +0 -47
  259. package/src/redux/reducers/conditions/updateDocumentConditions.ts +0 -21
  260. package/src/redux/reducers/conditions/updateOptionConditions.ts +0 -24
  261. package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +0 -50
  262. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +0 -28
  263. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +0 -29
  264. package/src/redux/reducers/conditions/updateSectionConditions.ts +0 -28
  265. package/src/redux/reducers/conditions/updateVariableConditions.ts +0 -25
  266. package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +0 -50
  267. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +0 -28
  268. package/src/redux/reducers/conditions.test.ts +0 -241
  269. package/src/redux/reducers/conditions.ts +0 -68
  270. package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +0 -117
  271. package/src/redux/reducers/inputs/addMultipleOccurency.ts +0 -50
  272. package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +0 -70
  273. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +0 -50
  274. package/src/redux/reducers/inputs/initOption.ts +0 -16
  275. package/src/redux/reducers/inputs/initVariable.ts +0 -16
  276. package/src/redux/reducers/inputs/updateOptionInput.ts +0 -24
  277. package/src/redux/reducers/inputs/updateVariableInput.ts +0 -24
  278. package/src/redux/reducers/inputs.test.ts +0 -221
  279. package/src/redux/reducers/inputs.ts +0 -51
  280. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +0 -52
  281. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +0 -55
  282. package/src/redux/reducers/mandatories/initMandatoryOption.ts +0 -17
  283. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +0 -17
  284. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +0 -17
  285. package/src/redux/reducers/mandatories/setMandatoryOption.ts +0 -25
  286. package/src/redux/reducers/mandatories/setMandatorySection.ts +0 -20
  287. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +0 -24
  288. package/src/redux/reducers/mandatories.ts +0 -56
  289. package/src/redux/reducers/references/initReferences.ts +0 -37
  290. package/src/redux/reducers/references/updateOptionMeta.ts +0 -73
  291. package/src/redux/reducers/references/updateVariableMeta.ts +0 -72
  292. package/src/redux/reducers/references.ts +0 -59
  293. package/src/redux/reducers/smartscript/enableSmartScript.ts +0 -13
  294. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +0 -14
  295. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +0 -30
  296. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +0 -30
  297. package/src/redux/reducers/smartscript.ts +0 -47
  298. package/src/redux/reducers/user/initUser.ts +0 -15
  299. package/src/redux/reducers/user/setUserStatus.ts +0 -13
  300. package/src/redux/reducers/user/setUserValidToken.ts +0 -13
  301. package/src/redux/reducers/user.test.ts +0 -51
  302. package/src/redux/reducers/user.ts +0 -40
  303. package/src/redux/routerHistore.test.ts +0 -19
  304. package/src/redux/routerHistory.ts +0 -26
  305. package/src/redux/sagas/fetchModel.test.ts +0 -76
  306. package/src/redux/sagas/fetchModel.ts +0 -683
  307. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +0 -42
  308. package/src/redux/sagas/initInputs.ts +0 -110
  309. package/src/redux/sagas/runner.test.ts +0 -12
  310. package/src/redux/sagas/runner.ts +0 -26
  311. package/src/redux/sagas/saveData.test.ts +0 -125
  312. package/src/redux/sagas/saveData.ts +0 -116
  313. package/src/redux/sagas/setDefaults.test.ts +0 -100
  314. package/src/redux/sagas/setDefaults.ts +0 -167
  315. package/src/redux/sagas/setUserEmail.ts +0 -221
  316. package/src/redux/selectors/app.test.ts +0 -162
  317. package/src/redux/selectors/app.ts +0 -331
  318. package/src/redux/selectors/conditions.test.ts +0 -92
  319. package/src/redux/selectors/conditions.ts +0 -293
  320. package/src/redux/selectors/inputs.test.ts +0 -72
  321. package/src/redux/selectors/inputs.ts +0 -76
  322. package/src/redux/selectors/library.ts +0 -17
  323. package/src/redux/selectors/mandatories.ts +0 -83
  324. package/src/redux/selectors/references.test.ts +0 -660
  325. package/src/redux/selectors/references.ts +0 -413
  326. package/src/redux/selectors/selectors.test.ts +0 -21
  327. package/src/redux/selectors/selectors.ts +0 -87
  328. package/src/redux/selectors/smartscript.ts +0 -30
  329. package/src/redux/selectors/user.test.ts +0 -39
  330. package/src/redux/selectors/user.ts +0 -45
  331. package/src/redux/store.test.ts +0 -22
  332. package/src/redux/store.ts +0 -100
  333. package/src/service/api.manager.ts +0 -261
  334. package/src/service/auth.service.ts +0 -5
  335. package/src/service/pardot.service.ts +0 -10
  336. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +0 -5
  337. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +0 -11
  338. package/src/tests-misc/plugins/jestTestPlugin/index.ts +0 -11
  339. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +0 -8
  340. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +0 -5
  341. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +0 -5
  342. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +0 -5
  343. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +0 -3
  344. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +0 -1
  345. package/src/tests-misc/themes/jestTestTheme/index.ts +0 -13
  346. package/src/types/Actions.type.ts +0 -612
  347. package/src/types/Components.type.ts +0 -181
  348. package/src/types/State.type.ts +0 -323
  349. package/src/types/Termsheet.type.ts +0 -28
  350. package/src/types/api.type.ts +0 -37
  351. package/src/types/config.type.ts +0 -55
  352. package/src/types/env.type.ts +0 -5
  353. package/src/types/getActions.type.ts +0 -3
  354. package/src/types/getConnectors.type.ts +0 -5
  355. package/src/types/getSelectors.type.ts +0 -3
  356. package/src/wizard-params.ts +0 -56
  357. package/tsconfig.json +0 -43
@@ -1,412 +0,0 @@
1
- import { filterXSS } from "xss";
2
- import {
3
- selectVariableParents,
4
- selectOptionRelations,
5
- selectVariableReference,
6
- selectOptionReference,
7
- selectVariableRelations,
8
- } from "../redux/selectors/references";
9
- import {
10
- selectVariableInput,
11
- selectVariableInputByIndex,
12
- } from "../redux/selectors/inputs";
13
- import { OVC_TYPE } from "../libs/InputsInitiator";
14
-
15
- /**
16
- * Parses number to correct french number format ("," instead of ".")
17
- */
18
- const frenchNumber = (value: string | number) => {
19
- let result = typeof value === "number" ? value.toString() : value;
20
- if (/^([0-9]+)\.([0-9]+)$/.test(result.trim()))
21
- result = result.trim().replace(".", ",");
22
- return result;
23
- };
24
-
25
- /**
26
- * Returns option's related variable values
27
- * @param optionId Option's id
28
- * @param index Occurency index
29
- * @param variables Variables ids list
30
- */
31
- export type relVarsValsT = Record<string, string | number>;
32
- export type getRelatedVarsT = (
33
- optionId: number,
34
- index: number,
35
- variables: number[]
36
- ) => relVarsValsT;
37
- export const getRelatedVariablesValues: getRelatedVarsT = (
38
- optionId,
39
- index,
40
- variables
41
- ) => {
42
- // Getting variables values
43
- const variablesValues: Record<string, string> = {};
44
- variables.forEach((currentVariableId) => {
45
- // Getting option value
46
- let value = selectVariableInput(currentVariableId);
47
- const variableParents = selectVariableParents(currentVariableId);
48
- if (variableParents === undefined)
49
- throw new Error(
50
- `Variable ${currentVariableId} parents object does not exist`
51
- );
52
- const rootVariableParentId = variableParents[variableParents.length - 1];
53
- const rootVariableParentRelations =
54
- selectOptionRelations(rootVariableParentId);
55
- if (rootVariableParentRelations === undefined)
56
- throw new Error(`Option ${rootVariableParentId} does not exist`);
57
-
58
- if (typeof variableParents === "undefined") return;
59
-
60
- // Getting rootOption parent
61
-
62
- // Checking if current option is related to the option that changed
63
- if (
64
- rootVariableParentRelations.children.options.includes(optionId) ||
65
- rootVariableParentRelations.dependants.includes(optionId) ||
66
- optionId === rootVariableParentId
67
- )
68
- value = [value[index]];
69
-
70
- // Making sure all values are strings
71
- const cleanValues = value.map((currentValue) => {
72
- if (["number", "string"].includes(typeof currentValue))
73
- return frenchNumber(currentValue);
74
- return "";
75
- });
76
-
77
- // Joining multiple variables if needed
78
- let currentVariableValue =
79
- cleanValues.length === 1 ? cleanValues[0] : cleanValues.join(", ");
80
-
81
- // Replacing \n with <br /> tags
82
- currentVariableValue = currentVariableValue.replace(/\n/g, "<br />");
83
-
84
- // Setting variable value
85
- variablesValues[currentVariableId] = currentVariableValue;
86
- });
87
-
88
- return variablesValues;
89
- };
90
-
91
- /**
92
- * Parses content with variables
93
- * @param output Raw content
94
- * @param id Box id
95
- * @param index Occurency Index
96
- * @param variables Variables values list
97
- */
98
- const contentParsingCache: Record<string, string> = {};
99
- export type parseContentT = (
100
- output: string,
101
- id: number,
102
- index: number,
103
- variables: relVarsValsT
104
- ) => string;
105
- export const parseContentWithVariables: parseContentT = (
106
- content,
107
- id,
108
- index,
109
- variables
110
- ) => {
111
- const variablesKey = Object.keys(variables).map(
112
- (variableId) => `${variableId}:${variables[variableId]};`
113
- );
114
- const cacheKey = `${id}-${index}-${content}-${variablesKey}`;
115
-
116
- // Checking cache before sarting anything
117
- if (Object.prototype.hasOwnProperty.call(contentParsingCache, cacheKey)) {
118
- return contentParsingCache[cacheKey];
119
- }
120
-
121
- // Inserting values
122
- let parsedContent = `${content}`;
123
- Object.keys(variables).forEach((variableId) => {
124
- let value: string = variables[variableId].toString();
125
- if (value.trim().length === 0) {
126
- value = new Array(16).join("_");
127
- }
128
- parsedContent = parsedContent.replace(
129
- new RegExp(`\\[var:${variableId}\\]`, "gi"),
130
- filterXSS(value, {
131
- whiteList: {
132
- a: [],
133
- },
134
- })
135
- );
136
- });
137
-
138
- // Refreshing cache result
139
- contentParsingCache[cacheKey] = parsedContent;
140
-
141
- return contentParsingCache[cacheKey];
142
- };
143
-
144
- /**
145
- * Parses output with variables
146
- * @param output Raw output
147
- * @param id Box id
148
- * @param index Occurency Index
149
- * @param variables Variables values list
150
- * @param autonums Autonums values
151
- */
152
- const outputParsingCache: Record<string, string> = {};
153
- export type autonumsType = [string, string, number, string | null][];
154
- export type parseOutputT = (
155
- output: string,
156
- id: number,
157
- index: number,
158
- variables: relVarsValsT,
159
- autonums: autonumsType
160
- ) => string;
161
- export const parseOutputWithVariables: parseOutputT = (
162
- output,
163
- id,
164
- index,
165
- variables,
166
- autonums
167
- ) => {
168
- const variablesKey = Object.keys(variables).map(
169
- (variableId) => `${variableId}:${variables[variableId]};`
170
- );
171
- const autonumsKey = autonums.map((autonum) => `${autonum[1]}:${autonum[2]};`);
172
- const cacheKey = `${id}-${index}-${variablesKey}-${autonumsKey}`;
173
-
174
- // Checking cache before sarting anything
175
- if (Object.prototype.hasOwnProperty.call(outputParsingCache, cacheKey)) {
176
- return outputParsingCache[cacheKey];
177
- }
178
-
179
- // Inserting values
180
- let parsedOutput = `${output}`;
181
- Object.keys(variables).forEach((variableId) => {
182
- let value: string = variables[variableId].toString();
183
- if (value.trim().length === 0) {
184
- value = new Array(16).join("_");
185
- }
186
- parsedOutput = parsedOutput.replace(
187
- new RegExp(`\\[var:${variableId}\\]`, "gi"),
188
- filterXSS(value)
189
- );
190
- });
191
-
192
- // Inserting page breaks
193
- parsedOutput = parsedOutput.replace(
194
- /\[\[PAGE_BREAK\]\]/gi,
195
- '<p class="pagebreak"><!-- pagebreak --></p>'
196
- );
197
-
198
- // Cleaning BLURS
199
- parsedOutput = parsedOutput.replace(/\[(E|B)_BLUR\]/gi, "");
200
-
201
- // Removing signature tags
202
- parsedOutput = parsedOutput.replace(/\[signature:([0-9]+)\]/g, "");
203
-
204
- // Inserting autonums
205
- autonums.forEach((currentAn) => {
206
- if (currentAn[3] === null)
207
- parsedOutput = parsedOutput.replace(
208
- `[${currentAn[0]}:${currentAn[1]}]`,
209
- `<span class="${currentAn[0]}">${currentAn[2]}</span>`
210
- );
211
- else
212
- parsedOutput = parsedOutput.replace(
213
- `[${currentAn[0]}:${currentAn[1]}](${currentAn[3]})`,
214
- `<span class="${currentAn[0]}">${currentAn[2]}</span>`
215
- );
216
- });
217
-
218
- // Refreshing cache result
219
- outputParsingCache[cacheKey] = parsedOutput;
220
-
221
- return outputParsingCache[cacheKey];
222
- };
223
-
224
- /**
225
- * Parses variable label
226
- * @param id Variable's ID
227
- * @param index Variable's index
228
- */
229
- export type parseVariableLabelT = (id: number, index: number) => string;
230
- export const parseVariableLabel: parseVariableLabelT = (id, index = 0) => {
231
- // Getting variable reference
232
- const { label, fallbackLabel } = selectVariableReference(id);
233
-
234
- // If label has no variables, let's stop here
235
- // and return it
236
- if (!/\[var:([0-9]+)\]/gi.test(label)) return label;
237
-
238
- // Extracting variables ids
239
- const variablesList: number[] = [];
240
- const matchs = Array.from(label.matchAll(/\[var:([0-9]+)\]/g));
241
- matchs.forEach((currentMatch) => {
242
- variablesList.push(parseInt(currentMatch[1], 10));
243
- });
244
-
245
- // Getting parent option
246
- const parentOptionId = selectVariableRelations(id).parents[0];
247
-
248
- // Getting related variables
249
- const relatedVariables = getRelatedVariablesValues(
250
- parentOptionId,
251
- index,
252
- variablesList
253
- );
254
-
255
- // Getting values
256
- const variablesValues: Record<string, string> = {};
257
-
258
- // Tells wether to use fallbackLabel
259
- let useFallback: true | null = null;
260
-
261
- variablesList.forEach((variableId) => {
262
- const value = relatedVariables[variableId];
263
- if (
264
- value === undefined ||
265
- value === null ||
266
- (typeof value === "string" && value.trim().length === 0)
267
- ) {
268
- useFallback = true;
269
- return;
270
- }
271
- variablesValues[variableId] = value.toString();
272
- });
273
-
274
- if (useFallback === true && typeof fallbackLabel === "string")
275
- return fallbackLabel;
276
-
277
- // Inserting values
278
- let parsedLabel = `${label}`;
279
- variablesList.forEach((variableId) => {
280
- const value: string = variablesValues[variableId];
281
- parsedLabel = parsedLabel.replace(
282
- new RegExp(`\\[var:${variableId}\\]`, "gi"),
283
- filterXSS(value)
284
- );
285
- });
286
-
287
- return parsedLabel;
288
- };
289
-
290
- /**
291
- * Parses option label
292
- * @param id Option's ID
293
- * @param index Option's index
294
- */
295
- export type parseOptionLabelT = (id: number, index: number) => string;
296
- export const parseOptionLabel: parseOptionLabelT = (id, index = 0) => {
297
- // Getting option's reference
298
- const { label, fallbackLabel } = selectOptionReference(id).meta;
299
-
300
- // If label has no variables, let's stop here
301
- // and return it
302
- if (!/\[var:([0-9]+)\]/gi.test(label)) return label;
303
-
304
- // Extracting variables ids
305
- const variablesList: number[] = [];
306
- const matchs = Array.from(label.matchAll(/\[var:([0-9]+)\]/g));
307
- matchs.forEach((currentMatch) => {
308
- variablesList.push(parseInt(currentMatch[1], 10));
309
- });
310
-
311
- // Getting related variables
312
- const relatedVariables = getRelatedVariablesValues(id, index, variablesList);
313
-
314
- // Getting values
315
- const variablesValues: Record<string, string> = {};
316
-
317
- // Tells wether to use fallbackLabel
318
- let useFallback: true | null = null;
319
-
320
- variablesList.forEach((variableId) => {
321
- const value = relatedVariables[variableId];
322
- if (
323
- value === undefined ||
324
- value === null ||
325
- (typeof value === "string" && value.trim().length === 0)
326
- ) {
327
- useFallback = true;
328
- return;
329
- }
330
- variablesValues[variableId] = value.toString();
331
- });
332
-
333
- if (useFallback === true && typeof fallbackLabel === "string")
334
- return fallbackLabel;
335
-
336
- // Inserting values
337
- let parsedLabel = `${label}`;
338
- variablesList.forEach((variableId) => {
339
- const value: string = variablesValues[variableId];
340
- parsedLabel = parsedLabel.replace(
341
- new RegExp(`\\[var:${variableId}\\]`, "gi"),
342
- filterXSS(value)
343
- );
344
- });
345
-
346
- return parsedLabel;
347
- };
348
-
349
- /**
350
- * Parses raw string with variables
351
- * @param text String to parse
352
- */
353
- export type parseRawT = (
354
- text: string,
355
- inputs?: OVC_TYPE,
356
- placeholder?: string
357
- ) => string;
358
- export const parseRawWithVariables: parseRawT = (text, inputs, placeholder) => {
359
- /**
360
- * Variables
361
- */
362
-
363
- // Extracting list of variables
364
- const tagsMatch = text.match(/\[var:([0-9]+)\]/gi);
365
- let variables: number[] = [];
366
- if (tagsMatch !== null) {
367
- // Tranforming tags into integer ids
368
- const variablesTags: string[] = [...tagsMatch];
369
- variables = variablesTags.map((current) => {
370
- const outputVariableMatch = current.match(/([0-9]+)/);
371
- if (outputVariableMatch === null) return 0;
372
- return parseInt(outputVariableMatch[0], 10);
373
- });
374
- }
375
-
376
- // Removing duplicated variables
377
- variables = variables.filter((c, i) => variables.indexOf(c) === i);
378
-
379
- // Making sure all variables exist
380
- variables = variables.filter(
381
- (c) => inputs !== undefined || selectVariableReference(c) !== undefined
382
- );
383
-
384
- // Getting values
385
- const variablesValues: Record<string, string> = {};
386
- variables.forEach((variableId) => {
387
- const value = inputs
388
- ? inputs.variables[variableId]?.[0]
389
- : selectVariableInputByIndex(variableId, 0);
390
- if (
391
- value === undefined ||
392
- value === null ||
393
- (typeof value === "string" && value.trim().length === 0)
394
- ) {
395
- variablesValues[variableId] = placeholder || "";
396
- } else {
397
- variablesValues[variableId] = value.toString();
398
- }
399
- });
400
-
401
- // Inserting values
402
- let parsedText = `${text}`;
403
- variables.forEach((variableId) => {
404
- const value: string = variablesValues[variableId];
405
- parsedText = parsedText.replace(
406
- new RegExp(`\\[var:${variableId}\\]`, "gi"),
407
- filterXSS(value)
408
- );
409
- });
410
-
411
- return parsedText;
412
- };
@@ -1,17 +0,0 @@
1
- import { LoadableComponent } from "@loadable/component";
2
- import Globals from "../Globals";
3
-
4
- export const preloadTheme = async (theme: string) => {
5
- // Preloading theme
6
- const { default: components } = (await Globals.loadTheme(theme)) as {
7
- default: Record<string, LoadableComponent<React.ComponentType>>;
8
- };
9
-
10
- // Preloading components
11
- try {
12
- components.WizardComponent.preload();
13
- components.TermsheetComponent.preload();
14
- components.EmailComponent.preload();
15
- // eslint-disable-next-line no-empty
16
- } catch (e) {}
17
- };
@@ -1,20 +0,0 @@
1
- export const loadScripts = () => {
2
- if (Array.isArray(window.wizardxLoadAfterLcp)) {
3
- setTimeout(
4
- () =>
5
- window.wizardxLoadAfterLcp.forEach(async (script) => {
6
- if (typeof script === "function") {
7
- (async () => script())();
8
- } else if (
9
- typeof script === "object" &&
10
- Object.keys(script).length === 1 &&
11
- typeof script.src === "string"
12
- ) {
13
- const element = document.createElement("script");
14
- element.src = script.src;
15
- }
16
- }),
17
- 1000
18
- );
19
- }
20
- };
@@ -1,65 +0,0 @@
1
- import { FRENCH_OVERSEAS_NUMBERS_REGEX } from "../constants/phoneValidation";
2
- import Extracts from "../libs/Extracts";
3
- import { pardotAttributes } from "../service/pardot.service";
4
-
5
- const formatMobilePhone = async (number: string): Promise<string> => {
6
- const phoneNumber = new (await (
7
- await import("awesome-phonenumber")
8
- ).default)(number, "FR");
9
- const sanitizedNumber = phoneNumber.getNumber();
10
-
11
- return !sanitizedNumber?.length ||
12
- (!phoneNumber.isValid() &&
13
- // Overseas number aren't considerate as valid mobile number by the core library whereas it should
14
- !FRENCH_OVERSEAS_NUMBERS_REGEX.test(sanitizedNumber))
15
- ? ""
16
- : sanitizedNumber;
17
- };
18
-
19
- export const getSIBExtract = async () => {
20
- let sibExtract;
21
- try {
22
- Extracts.extractData();
23
- sibExtract = Extracts.getSibExtractedData();
24
- if (sibExtract.TEL) {
25
- try {
26
- sibExtract.SMS = await formatMobilePhone(sibExtract.TEL);
27
- } catch (error) {
28
- // the lib we use to format phone can throw exception
29
- }
30
- }
31
- } catch (error) {
32
- // eslint-disable-next-line no-console
33
- console.error("Error while extracting sendiblue data", error);
34
- }
35
- return sibExtract;
36
- };
37
-
38
- export const getSendinblueIdentifyAttributes = async (
39
- uniqid: string,
40
- documentTitle: string,
41
- nbFilledVars: number,
42
- VALIDATION_Q2 = false,
43
- domain = "www.legalplace.fr"
44
- ): Promise<Record<string, string | number | undefined | boolean | null>> => {
45
- // Identifying client into Sendinblue
46
- const sendinblueVars: {
47
- [k: string]: string | undefined | boolean | number | null;
48
- } = {
49
- // TODO: Client_type: lpApp.getState().contract.client_type ? 'pro' : 'ind',
50
- UNIQID: uniqid,
51
- AB: Math.floor(Math.random() * 2),
52
- TELECHARGEMENT: `${domain}/rt/${uniqid}`,
53
- DOCUMENT: documentTitle,
54
- WIZZARD_FILLED_FIELDS: nbFilledVars,
55
- ...(await getSIBExtract()),
56
- ...pardotAttributes(),
57
- VALIDATION_Q2,
58
- };
59
-
60
- if (localStorage && localStorage.getItem("entranceUrl")) {
61
- sendinblueVars.URL_ENTREE = localStorage.getItem("entranceUrl");
62
- }
63
-
64
- return sendinblueVars;
65
- };
@@ -1,9 +0,0 @@
1
- import { useRef, useEffect } from "react";
2
-
3
- export const usePrevious = <T>(value: T): T | undefined => {
4
- const ref = useRef<T>();
5
- useEffect(() => {
6
- ref.current = value;
7
- });
8
- return ref.current;
9
- };
@@ -1,164 +0,0 @@
1
- import { StateType } from "../types/State.type";
2
-
3
- export class ConditionsInitiator {
4
- private conditions: StateType.Conditions = {
5
- options: {},
6
- variables: {},
7
- sections: {},
8
- documents: {},
9
- prefillers: {},
10
- validators: {
11
- options: {},
12
- variables: {},
13
- },
14
- };
15
-
16
- private references: StateType.References;
17
-
18
- private inputs: StateType.Inputs;
19
-
20
- /**
21
- * InitalConditions Constructor
22
- * @param references References object
23
- */
24
- constructor(references: StateType.References, inputs: StateType.Inputs) {
25
- this.references = references;
26
- this.inputs = inputs;
27
-
28
- // Initiating conditions
29
- this.initOptionsConditions();
30
- this.initVariablesConditions();
31
- this.initDocumentsConditions();
32
- this.initSectionsConditions();
33
- this.initPrefilliersConditions();
34
- this.initValidators();
35
- }
36
-
37
- /**
38
- * Returns the related occurencies length for an option
39
- */
40
- private getOptionOccurencyLength(optionId: string) {
41
- const { parents } = this.references.relations.options[optionId];
42
- if (parents === undefined)
43
- throw new Error(`Cannot find parents for option ${optionId}`);
44
- const rootParent = parents[parents.length - 1] || optionId;
45
- const rootReference = this.references.options[rootParent];
46
- const occurenciesOptionId =
47
- rootReference.meta.type === "repeated" &&
48
- rootReference.meta.repeatOption !== undefined
49
- ? rootReference.meta.repeatOption
50
- : rootParent;
51
- const inputs = this.inputs.options[occurenciesOptionId];
52
- return inputs.length;
53
- }
54
-
55
- /**
56
- * Returns the related occurencies length for a variable
57
- */
58
- private getVariableOccurencyLength(variableId: string) {
59
- const { parents } = this.references.relations.variables[variableId];
60
- if (parents === undefined || parents.length === 0)
61
- throw new Error(`Cannot find parents for variable ${variableId}`);
62
- const rootParent = parents[parents.length - 1];
63
- const rootReference = this.references.options[rootParent];
64
- const occurenciesOptionId =
65
- rootReference.meta.type === "repeated" &&
66
- rootReference.meta.repeatOption !== undefined
67
- ? rootReference.meta.repeatOption
68
- : rootParent;
69
- const inputs = this.inputs.options[occurenciesOptionId];
70
- return inputs.length;
71
- }
72
-
73
- /**
74
- * Initiates Options conditions
75
- */
76
- private initOptionsConditions() {
77
- Object.keys(this.references.conditions.options).forEach((optionId) => {
78
- this.conditions.options[optionId] = new Array(
79
- this.getOptionOccurencyLength(optionId)
80
- ).fill(false);
81
- });
82
- }
83
-
84
- /**
85
- * Initiates Variables conditions
86
- */
87
- private initVariablesConditions() {
88
- Object.keys(this.references.conditions.variables).forEach((variableId) => {
89
- this.conditions.variables[variableId] = new Array(
90
- this.getVariableOccurencyLength(variableId)
91
- ).fill(false);
92
- });
93
- }
94
-
95
- /**
96
- * Initiates Documents conditions
97
- */
98
- private initDocumentsConditions() {
99
- Object.keys(this.references.conditions.documents).forEach(
100
- (documentName) => {
101
- this.conditions.documents[documentName] = false;
102
- }
103
- );
104
- }
105
-
106
- /**
107
- * Initiates Sections conditions
108
- */
109
- private initSectionsConditions() {
110
- Object.keys(this.references.conditions.sections).forEach((documentName) => {
111
- this.conditions.sections[documentName] = {};
112
- Object.keys(this.references.conditions.sections[documentName]).forEach(
113
- (sectionId) => {
114
- this.conditions.sections[documentName][sectionId] = false;
115
- }
116
- );
117
- });
118
- }
119
-
120
- /**
121
- * Initiates Prefillers conditions
122
- */
123
- private initPrefilliersConditions() {
124
- Object.keys(this.references.conditions.prefillers).forEach(
125
- (prefillerId) => {
126
- this.conditions.prefillers[prefillerId] = new Array(
127
- this.getVariableOccurencyLength(prefillerId)
128
- ).fill(
129
- this.references.conditions.prefillers[prefillerId].map(() => false)
130
- );
131
- }
132
- );
133
- }
134
-
135
- /**
136
- * Initiates validators
137
- */
138
- private initValidators() {
139
- // Initiating options validators
140
- Object.keys(this.references.conditions.validators.options).forEach(
141
- (optionId) => {
142
- this.conditions.validators.options[optionId] = new Array(
143
- this.getOptionOccurencyLength(optionId)
144
- ).fill(false);
145
- }
146
- );
147
-
148
- // Initiating variables validators
149
- Object.keys(this.references.conditions.validators.variables).forEach(
150
- (variableId) => {
151
- this.conditions.validators.variables[variableId] = new Array(
152
- this.getVariableOccurencyLength(variableId)
153
- ).fill(false);
154
- }
155
- );
156
- }
157
-
158
- /**
159
- * Returns resulting conditions object
160
- */
161
- public getConditions() {
162
- return this.conditions;
163
- }
164
- }