@legalplace/wizardx-core 0.0.1-alpha.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 (742) hide show
  1. package/.depcheckrc +1 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc +5 -0
  4. package/CHANGELOG.md +245 -0
  5. package/__mocks__/fileMock.js +1 -0
  6. package/babel.config.json +3 -0
  7. package/dist/App.d.ts +20 -0
  8. package/dist/App.js +60 -0
  9. package/dist/App.test.d.ts +1 -0
  10. package/dist/App.test.js +37 -0
  11. package/dist/Globals.d.ts +21 -0
  12. package/dist/Globals.js +34 -0
  13. package/dist/PluginLoader.d.ts +34 -0
  14. package/dist/PluginLoader.js +218 -0
  15. package/dist/PluginLoader.test.d.ts +1 -0
  16. package/dist/PluginLoader.test.js +52 -0
  17. package/dist/Shimmer.d.ts +15 -0
  18. package/dist/Shimmer.js +66 -0
  19. package/dist/ThemeLoader.d.ts +27 -0
  20. package/dist/ThemeLoader.js +74 -0
  21. package/dist/ThemeLoader.test.d.ts +2 -0
  22. package/dist/ThemeLoader.test.js +64 -0
  23. package/dist/components/PluginRoute.d.ts +7 -0
  24. package/dist/components/PluginRoute.js +34 -0
  25. package/dist/components/SmartScript.d.ts +31 -0
  26. package/dist/components/SmartScript.js +85 -0
  27. package/dist/components/UserLocked/UserLockedComponent.d.ts +6 -0
  28. package/dist/components/UserLocked/UserLockedComponent.js +10 -0
  29. package/dist/components/View.d.ts +12 -0
  30. package/dist/components/View.js +91 -0
  31. package/dist/components/View.test.d.ts +2 -0
  32. package/dist/components/View.test.js +83 -0
  33. package/dist/componentsConnectors/connectBox.d.ts +17 -0
  34. package/dist/componentsConnectors/connectBox.js +28 -0
  35. package/dist/componentsConnectors/connectBox.test.d.ts +1 -0
  36. package/dist/componentsConnectors/connectBox.test.js +208 -0
  37. package/dist/componentsConnectors/connectDocument.d.ts +11 -0
  38. package/dist/componentsConnectors/connectDocument.js +29 -0
  39. package/dist/componentsConnectors/connectDocument.test.d.ts +1 -0
  40. package/dist/componentsConnectors/connectDocument.test.js +82 -0
  41. package/dist/componentsConnectors/connectHeader.d.ts +10 -0
  42. package/dist/componentsConnectors/connectHeader.js +8 -0
  43. package/dist/componentsConnectors/connectMetaTitle.d.ts +10 -0
  44. package/dist/componentsConnectors/connectMetaTitle.js +7 -0
  45. package/dist/componentsConnectors/connectMetaTitle.test.d.ts +1 -0
  46. package/dist/componentsConnectors/connectMetaTitle.test.js +32 -0
  47. package/dist/componentsConnectors/connectOption.d.ts +31 -0
  48. package/dist/componentsConnectors/connectOption.js +83 -0
  49. package/dist/componentsConnectors/connectPagination.d.ts +21 -0
  50. package/dist/componentsConnectors/connectPagination.js +37 -0
  51. package/dist/componentsConnectors/connectPreview.d.ts +8 -0
  52. package/dist/componentsConnectors/connectPreview.js +4 -0
  53. package/dist/componentsConnectors/connectProgress.d.ts +15 -0
  54. package/dist/componentsConnectors/connectProgress.js +21 -0
  55. package/dist/componentsConnectors/connectRootOption.d.ts +21 -0
  56. package/dist/componentsConnectors/connectRootOption.js +43 -0
  57. package/dist/componentsConnectors/connectSection.d.ts +14 -0
  58. package/dist/componentsConnectors/connectSection.js +39 -0
  59. package/dist/componentsConnectors/connectSummary.d.ts +12 -0
  60. package/dist/componentsConnectors/connectSummary.js +8 -0
  61. package/dist/componentsConnectors/connectSummaryItem.d.ts +16 -0
  62. package/dist/componentsConnectors/connectSummaryItem.js +47 -0
  63. package/dist/componentsConnectors/connectTermsheet.d.ts +3 -0
  64. package/dist/componentsConnectors/connectTermsheet.js +202 -0
  65. package/dist/componentsConnectors/connectVariable.d.ts +26 -0
  66. package/dist/componentsConnectors/connectVariable.js +69 -0
  67. package/dist/componentsConnectors/connectWizardWrapper.d.ts +9 -0
  68. package/dist/componentsConnectors/connectWizardWrapper.js +9 -0
  69. package/dist/componentsConnectors/connector/componentConnector.d.ts +24 -0
  70. package/dist/componentsConnectors/connector/componentConnector.js +62 -0
  71. package/dist/componentsConnectors/connector/connectorSelectors.d.ts +97 -0
  72. package/dist/componentsConnectors/connector/connectorSelectors.js +9 -0
  73. package/dist/componentsConnectors/index.d.ts +16 -0
  74. package/dist/componentsConnectors/index.js +16 -0
  75. package/dist/config.d.ts +5 -0
  76. package/dist/config.js +21 -0
  77. package/dist/config.test.d.ts +1 -0
  78. package/dist/config.test.js +36 -0
  79. package/dist/constants/emailValidation.d.ts +1 -0
  80. package/dist/constants/emailValidation.js +1 -0
  81. package/dist/constants/index.d.ts +1 -0
  82. package/dist/constants/index.js +1 -0
  83. package/dist/helpers/index.d.ts +2 -0
  84. package/dist/helpers/index.js +2 -0
  85. package/dist/helpers/outputsParsing.d.ts +15 -0
  86. package/dist/helpers/outputsParsing.js +186 -0
  87. package/dist/helpers/sendinblueHelper.d.ts +4 -0
  88. package/dist/helpers/sendinblueHelper.js +35 -0
  89. package/dist/hooks/index.d.ts +1 -0
  90. package/dist/hooks/index.js +1 -0
  91. package/dist/hooks/usePrevious.d.ts +1 -0
  92. package/dist/hooks/usePrevious.js +8 -0
  93. package/dist/index.d.ts +23 -0
  94. package/dist/index.js +23 -0
  95. package/dist/libs/ConditionsInitiator.d.ts +16 -0
  96. package/dist/libs/ConditionsInitiator.js +88 -0
  97. package/dist/libs/ConditionsRunner/DataPopulator.d.ts +37 -0
  98. package/dist/libs/ConditionsRunner/DataPopulator.js +140 -0
  99. package/dist/libs/ConditionsRunner.d.ts +17 -0
  100. package/dist/libs/ConditionsRunner.js +254 -0
  101. package/dist/libs/DocumentsOutputs.d.ts +26 -0
  102. package/dist/libs/DocumentsOutputs.js +78 -0
  103. package/dist/libs/Eval/EvalBase.d.ts +13 -0
  104. package/dist/libs/Eval/EvalBase.js +69 -0
  105. package/dist/libs/Eval/EvalFunctions.d.ts +26 -0
  106. package/dist/libs/Eval/EvalFunctions.js +480 -0
  107. package/dist/libs/Eval/NumbersToLetters.d.ts +3 -0
  108. package/dist/libs/Eval/NumbersToLetters.js +151 -0
  109. package/dist/libs/EvalVariable.d.ts +15 -0
  110. package/dist/libs/EvalVariable.js +182 -0
  111. package/dist/libs/EventsTracking.d.ts +21 -0
  112. package/dist/libs/EventsTracking.js +174 -0
  113. package/dist/libs/Extracts.d.ts +20 -0
  114. package/dist/libs/Extracts.js +110 -0
  115. package/dist/libs/InputsInitiator.d.ts +19 -0
  116. package/dist/libs/InputsInitiator.js +86 -0
  117. package/dist/libs/NumAuto.d.ts +9 -0
  118. package/dist/libs/NumAuto.js +32 -0
  119. package/dist/libs/NumAuto.test.d.ts +1 -0
  120. package/dist/libs/NumAuto.test.js +43 -0
  121. package/dist/libs/OvcConverter.d.ts +21 -0
  122. package/dist/libs/OvcConverter.js +182 -0
  123. package/dist/libs/PathReader.d.ts +26 -0
  124. package/dist/libs/PathReader.js +143 -0
  125. package/dist/libs/SectionValidity.d.ts +8 -0
  126. package/dist/libs/SectionValidity.js +53 -0
  127. package/dist/libs/SectionValidity.test.d.ts +1 -0
  128. package/dist/libs/SectionValidity.test.js +116 -0
  129. package/dist/libs/SmartScriptStore.d.ts +38 -0
  130. package/dist/libs/SmartScriptStore.js +246 -0
  131. package/dist/libs/index.d.ts +12 -0
  132. package/dist/libs/index.js +12 -0
  133. package/dist/misc/test_model.d.ts +17 -0
  134. package/dist/misc/test_model.js +14037 -0
  135. package/dist/polyfills/objectValues.d.ts +2 -0
  136. package/dist/polyfills/objectValues.js +5 -0
  137. package/dist/polyfills/prepend.d.ts +2 -0
  138. package/dist/polyfills/prepend.js +22 -0
  139. package/dist/polyfills/stringRepeat.d.ts +2 -0
  140. package/dist/polyfills/stringRepeat.js +28 -0
  141. package/dist/redux/actions/app.d.ts +26 -0
  142. package/dist/redux/actions/app.js +73 -0
  143. package/dist/redux/actions/app.test.d.ts +1 -0
  144. package/dist/redux/actions/app.test.js +90 -0
  145. package/dist/redux/actions/conditions.d.ts +10 -0
  146. package/dist/redux/actions/conditions.js +43 -0
  147. package/dist/redux/actions/conditions.test.d.ts +1 -0
  148. package/dist/redux/actions/conditions.test.js +68 -0
  149. package/dist/redux/actions/index.d.ts +8 -0
  150. package/dist/redux/actions/index.js +8 -0
  151. package/dist/redux/actions/inputs.d.ts +7 -0
  152. package/dist/redux/actions/inputs.js +32 -0
  153. package/dist/redux/actions/inputs.test.d.ts +1 -0
  154. package/dist/redux/actions/inputs.test.js +53 -0
  155. package/dist/redux/actions/mandatories.d.ts +7 -0
  156. package/dist/redux/actions/mandatories.js +32 -0
  157. package/dist/redux/actions/references.d.ts +5 -0
  158. package/dist/redux/actions/references.js +12 -0
  159. package/dist/redux/actions/references.test.d.ts +1 -0
  160. package/dist/redux/actions/references.test.js +41 -0
  161. package/dist/redux/actions/sagas/data.d.ts +2 -0
  162. package/dist/redux/actions/sagas/data.js +8 -0
  163. package/dist/redux/actions/sagas/data.test.d.ts +1 -0
  164. package/dist/redux/actions/sagas/data.test.js +10 -0
  165. package/dist/redux/actions/sagas/index.d.ts +3 -0
  166. package/dist/redux/actions/sagas/index.js +3 -0
  167. package/dist/redux/actions/sagas/model.d.ts +12 -0
  168. package/dist/redux/actions/sagas/model.js +18 -0
  169. package/dist/redux/actions/sagas/model.test.d.ts +1 -0
  170. package/dist/redux/actions/sagas/model.test.js +11 -0
  171. package/dist/redux/actions/sagas/user.d.ts +3 -0
  172. package/dist/redux/actions/sagas/user.js +10 -0
  173. package/dist/redux/actions/smartscript.d.ts +6 -0
  174. package/dist/redux/actions/smartscript.js +20 -0
  175. package/dist/redux/actions/user.d.ts +5 -0
  176. package/dist/redux/actions/user.js +10 -0
  177. package/dist/redux/actions/user.test.d.ts +1 -0
  178. package/dist/redux/actions/user.test.js +16 -0
  179. package/dist/redux/constants/app.d.ts +22 -0
  180. package/dist/redux/constants/app.js +22 -0
  181. package/dist/redux/constants/conditions.d.ts +8 -0
  182. package/dist/redux/constants/conditions.js +8 -0
  183. package/dist/redux/constants/index.d.ts +8 -0
  184. package/dist/redux/constants/index.js +8 -0
  185. package/dist/redux/constants/inputs.d.ts +6 -0
  186. package/dist/redux/constants/inputs.js +6 -0
  187. package/dist/redux/constants/mandatories.d.ts +6 -0
  188. package/dist/redux/constants/mandatories.js +6 -0
  189. package/dist/redux/constants/references.d.ts +3 -0
  190. package/dist/redux/constants/references.js +3 -0
  191. package/dist/redux/constants/sagas/data.d.ts +1 -0
  192. package/dist/redux/constants/sagas/data.js +1 -0
  193. package/dist/redux/constants/sagas/index.d.ts +3 -0
  194. package/dist/redux/constants/sagas/index.js +3 -0
  195. package/dist/redux/constants/sagas/model.d.ts +2 -0
  196. package/dist/redux/constants/sagas/model.js +2 -0
  197. package/dist/redux/constants/sagas/user.d.ts +2 -0
  198. package/dist/redux/constants/sagas/user.js +2 -0
  199. package/dist/redux/constants/smartscript.d.ts +4 -0
  200. package/dist/redux/constants/smartscript.js +4 -0
  201. package/dist/redux/constants/user.d.ts +3 -0
  202. package/dist/redux/constants/user.js +3 -0
  203. package/dist/redux/index.d.ts +4 -0
  204. package/dist/redux/index.js +4 -0
  205. package/dist/redux/listeners/subscriber.d.ts +5 -0
  206. package/dist/redux/listeners/subscriber.js +13 -0
  207. package/dist/redux/listeners/subscriber.test.d.ts +1 -0
  208. package/dist/redux/listeners/subscriber.test.js +31 -0
  209. package/dist/redux/middlewares/conditionsWatcherMiddleware.d.ts +5 -0
  210. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +144 -0
  211. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.d.ts +1 -0
  212. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +323 -0
  213. package/dist/redux/middlewares/evaluationsWatcherMiddleware.d.ts +5 -0
  214. package/dist/redux/middlewares/evaluationsWatcherMiddleware.js +115 -0
  215. package/dist/redux/middlewares/evaluationsWatcherMiddleware.test.d.ts +1 -0
  216. package/dist/redux/middlewares/evaluationsWatcherMiddleware.test.js +242 -0
  217. package/dist/redux/middlewares/mandatoriesWatcherMiddleware.d.ts +5 -0
  218. package/dist/redux/middlewares/mandatoriesWatcherMiddleware.js +220 -0
  219. package/dist/redux/middlewares/multiplesActionsMiddleware.d.ts +5 -0
  220. package/dist/redux/middlewares/multiplesActionsMiddleware.js +43 -0
  221. package/dist/redux/middlewares/multiplesActionsMiddleware.test.d.ts +1 -0
  222. package/dist/redux/middlewares/multiplesActionsMiddleware.test.js +209 -0
  223. package/dist/redux/middlewares/paginationWatcherMiddleware.d.ts +6 -0
  224. package/dist/redux/middlewares/paginationWatcherMiddleware.js +111 -0
  225. package/dist/redux/middlewares/pluginsHookMiddleware.d.ts +3 -0
  226. package/dist/redux/middlewares/pluginsHookMiddleware.js +10 -0
  227. package/dist/redux/middlewares/prefillerWatcherMiddleware.d.ts +5 -0
  228. package/dist/redux/middlewares/prefillerWatcherMiddleware.js +244 -0
  229. package/dist/redux/middlewares/prefillerWatcherMiddleware.test.d.ts +1 -0
  230. package/dist/redux/middlewares/prefillerWatcherMiddleware.test.js +84 -0
  231. package/dist/redux/middlewares/smartscriptMiddleware.d.ts +5 -0
  232. package/dist/redux/middlewares/smartscriptMiddleware.js +81 -0
  233. package/dist/redux/reducers/app/customizations/initCustomizationAutoDefault.d.ts +3 -0
  234. package/dist/redux/reducers/app/customizations/initCustomizationAutoDefault.js +4 -0
  235. package/dist/redux/reducers/app/customizations/initCustomizationMeta.d.ts +3 -0
  236. package/dist/redux/reducers/app/customizations/initCustomizationMeta.js +4 -0
  237. package/dist/redux/reducers/app/instance/initInstance.d.ts +3 -0
  238. package/dist/redux/reducers/app/instance/initInstance.js +12 -0
  239. package/dist/redux/reducers/app/instance/setDataStatus.d.ts +3 -0
  240. package/dist/redux/reducers/app/instance/setDataStatus.js +4 -0
  241. package/dist/redux/reducers/app/instance/updateInstance.d.ts +3 -0
  242. package/dist/redux/reducers/app/instance/updateInstance.js +5 -0
  243. package/dist/redux/reducers/app/instance/updateInstancePaid.d.ts +3 -0
  244. package/dist/redux/reducers/app/instance/updateInstancePaid.js +6 -0
  245. package/dist/redux/reducers/app/instance.test.d.ts +1 -0
  246. package/dist/redux/reducers/app/instance.test.js +76 -0
  247. package/dist/redux/reducers/app/meta/fetchModelFailed.d.ts +2 -0
  248. package/dist/redux/reducers/app/meta/fetchModelFailed.js +3 -0
  249. package/dist/redux/reducers/app/meta/fetchModelNonBlocking.d.ts +2 -0
  250. package/dist/redux/reducers/app/meta/fetchModelNonBlocking.js +3 -0
  251. package/dist/redux/reducers/app/meta/fetchModelSucceeded.d.ts +2 -0
  252. package/dist/redux/reducers/app/meta/fetchModelSucceeded.js +3 -0
  253. package/dist/redux/reducers/app/meta/fetchModelUnhealthy.d.ts +3 -0
  254. package/dist/redux/reducers/app/meta/fetchModelUnhealthy.js +4 -0
  255. package/dist/redux/reducers/app/meta/fetchModelUserLocked.d.ts +2 -0
  256. package/dist/redux/reducers/app/meta/fetchModelUserLocked.js +3 -0
  257. package/dist/redux/reducers/app/meta/initMeta.d.ts +3 -0
  258. package/dist/redux/reducers/app/meta/initMeta.js +9 -0
  259. package/dist/redux/reducers/app/meta/setModelUuid.d.ts +3 -0
  260. package/dist/redux/reducers/app/meta/setModelUuid.js +4 -0
  261. package/dist/redux/reducers/app/meta.test.d.ts +1 -0
  262. package/dist/redux/reducers/app/meta.test.js +64 -0
  263. package/dist/redux/reducers/app/pagination/goNextPage.d.ts +2 -0
  264. package/dist/redux/reducers/app/pagination/goNextPage.js +34 -0
  265. package/dist/redux/reducers/app/pagination/goPage.d.ts +3 -0
  266. package/dist/redux/reducers/app/pagination/goPage.js +41 -0
  267. package/dist/redux/reducers/app/pagination/goPreviousPage.d.ts +2 -0
  268. package/dist/redux/reducers/app/pagination/goPreviousPage.js +29 -0
  269. package/dist/redux/reducers/app/pagination/initPagination.d.ts +3 -0
  270. package/dist/redux/reducers/app/pagination/initPagination.js +16 -0
  271. package/dist/redux/reducers/app/pagination/updateAvailableAppStates.d.ts +3 -0
  272. package/dist/redux/reducers/app/pagination/updateAvailableAppStates.js +43 -0
  273. package/dist/redux/reducers/app/pagination.test.d.ts +1 -0
  274. package/dist/redux/reducers/app/pagination.test.js +134 -0
  275. package/dist/redux/reducers/app/wizard/updateAvailableSections.d.ts +3 -0
  276. package/dist/redux/reducers/app/wizard/updateAvailableSections.js +12 -0
  277. package/dist/redux/reducers/app/wizard.test.d.ts +1 -0
  278. package/dist/redux/reducers/app/wizard.test.js +53 -0
  279. package/dist/redux/reducers/app.d.ts +9 -0
  280. package/dist/redux/reducers/app.js +79 -0
  281. package/dist/redux/reducers/app.test.d.ts +1 -0
  282. package/dist/redux/reducers/app.test.js +166 -0
  283. package/dist/redux/reducers/conditions/addMultipleOccurency.d.ts +3 -0
  284. package/dist/redux/reducers/conditions/addMultipleOccurency.js +68 -0
  285. package/dist/redux/reducers/conditions/addMultipleOccurency.test.d.ts +1 -0
  286. package/dist/redux/reducers/conditions/addMultipleOccurency.test.js +108 -0
  287. package/dist/redux/reducers/conditions/deleteMultipleOccurency.d.ts +3 -0
  288. package/dist/redux/reducers/conditions/deleteMultipleOccurency.js +56 -0
  289. package/dist/redux/reducers/conditions/deleteMultipleOccurency.test.d.ts +1 -0
  290. package/dist/redux/reducers/conditions/deleteMultipleOccurency.test.js +77 -0
  291. package/dist/redux/reducers/conditions/initConditions.d.ts +3 -0
  292. package/dist/redux/reducers/conditions/initConditions.js +11 -0
  293. package/dist/redux/reducers/conditions/updateDocumentConditions.d.ts +3 -0
  294. package/dist/redux/reducers/conditions/updateDocumentConditions.js +6 -0
  295. package/dist/redux/reducers/conditions/updateDocumentConditions.test.d.ts +1 -0
  296. package/dist/redux/reducers/conditions/updateDocumentConditions.test.js +35 -0
  297. package/dist/redux/reducers/conditions/updateOptionConditions.d.ts +3 -0
  298. package/dist/redux/reducers/conditions/updateOptionConditions.js +10 -0
  299. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.d.ts +3 -0
  300. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.js +10 -0
  301. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.test.d.ts +1 -0
  302. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.test.js +35 -0
  303. package/dist/redux/reducers/conditions/updatePrefillerConditions.d.ts +3 -0
  304. package/dist/redux/reducers/conditions/updatePrefillerConditions.js +12 -0
  305. package/dist/redux/reducers/conditions/updateSectionConditions.d.ts +3 -0
  306. package/dist/redux/reducers/conditions/updateSectionConditions.js +8 -0
  307. package/dist/redux/reducers/conditions/updateVariableConditions.d.ts +3 -0
  308. package/dist/redux/reducers/conditions/updateVariableConditions.js +10 -0
  309. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.d.ts +3 -0
  310. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.js +10 -0
  311. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.test.d.ts +1 -0
  312. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.test.js +35 -0
  313. package/dist/redux/reducers/conditions.d.ts +3 -0
  314. package/dist/redux/reducers/conditions.js +41 -0
  315. package/dist/redux/reducers/conditions.test.d.ts +1 -0
  316. package/dist/redux/reducers/conditions.test.js +196 -0
  317. package/dist/redux/reducers/inputs/addMultipleOccurency.d.ts +3 -0
  318. package/dist/redux/reducers/inputs/addMultipleOccurency.js +27 -0
  319. package/dist/redux/reducers/inputs/addMultipleOccurency.test.d.ts +1 -0
  320. package/dist/redux/reducers/inputs/addMultipleOccurency.test.js +101 -0
  321. package/dist/redux/reducers/inputs/deleteMultipleOccurency.d.ts +3 -0
  322. package/dist/redux/reducers/inputs/deleteMultipleOccurency.js +27 -0
  323. package/dist/redux/reducers/inputs/deleteMultipleOccurency.test.d.ts +1 -0
  324. package/dist/redux/reducers/inputs/deleteMultipleOccurency.test.js +56 -0
  325. package/dist/redux/reducers/inputs/initOption.d.ts +3 -0
  326. package/dist/redux/reducers/inputs/initOption.js +4 -0
  327. package/dist/redux/reducers/inputs/initVariable.d.ts +3 -0
  328. package/dist/redux/reducers/inputs/initVariable.js +4 -0
  329. package/dist/redux/reducers/inputs/updateOptionInput.d.ts +3 -0
  330. package/dist/redux/reducers/inputs/updateOptionInput.js +10 -0
  331. package/dist/redux/reducers/inputs/updateVariableInput.d.ts +3 -0
  332. package/dist/redux/reducers/inputs/updateVariableInput.js +10 -0
  333. package/dist/redux/reducers/inputs.d.ts +3 -0
  334. package/dist/redux/reducers/inputs.js +25 -0
  335. package/dist/redux/reducers/inputs.test.d.ts +1 -0
  336. package/dist/redux/reducers/inputs.test.js +171 -0
  337. package/dist/redux/reducers/mandatories/addMultipleOccurency.d.ts +3 -0
  338. package/dist/redux/reducers/mandatories/addMultipleOccurency.js +23 -0
  339. package/dist/redux/reducers/mandatories/deleteMultipleOccurency.d.ts +3 -0
  340. package/dist/redux/reducers/mandatories/deleteMultipleOccurency.js +26 -0
  341. package/dist/redux/reducers/mandatories/initMandatoryOption.d.ts +3 -0
  342. package/dist/redux/reducers/mandatories/initMandatoryOption.js +4 -0
  343. package/dist/redux/reducers/mandatories/initMandatoryVariable.d.ts +3 -0
  344. package/dist/redux/reducers/mandatories/initMandatoryVariable.js +4 -0
  345. package/dist/redux/reducers/mandatories/setMandatoryIgnore.d.ts +3 -0
  346. package/dist/redux/reducers/mandatories/setMandatoryIgnore.js +6 -0
  347. package/dist/redux/reducers/mandatories/setMandatoryOption.d.ts +3 -0
  348. package/dist/redux/reducers/mandatories/setMandatoryOption.js +10 -0
  349. package/dist/redux/reducers/mandatories/setMandatorySection.d.ts +3 -0
  350. package/dist/redux/reducers/mandatories/setMandatorySection.js +6 -0
  351. package/dist/redux/reducers/mandatories/setMandatoryVariable.d.ts +3 -0
  352. package/dist/redux/reducers/mandatories/setMandatoryVariable.js +10 -0
  353. package/dist/redux/reducers/mandatories.d.ts +3 -0
  354. package/dist/redux/reducers/mandatories.js +32 -0
  355. package/dist/redux/reducers/references/initReferences.d.ts +3 -0
  356. package/dist/redux/reducers/references/initReferences.js +13 -0
  357. package/dist/redux/reducers/references/updateOptionMeta.d.ts +3 -0
  358. package/dist/redux/reducers/references/updateOptionMeta.js +27 -0
  359. package/dist/redux/reducers/references/updateVariableMeta.d.ts +3 -0
  360. package/dist/redux/reducers/references/updateVariableMeta.js +33 -0
  361. package/dist/redux/reducers/references.d.ts +3 -0
  362. package/dist/redux/reducers/references.js +41 -0
  363. package/dist/redux/reducers/smartscript/enableSmartScript.d.ts +2 -0
  364. package/dist/redux/reducers/smartscript/enableSmartScript.js +5 -0
  365. package/dist/redux/reducers/smartscript/initSmartScriptTriggers.d.ts +3 -0
  366. package/dist/redux/reducers/smartscript/initSmartScriptTriggers.js +4 -0
  367. package/dist/redux/reducers/smartscript/updateSmartscriptOptionHidden.d.ts +3 -0
  368. package/dist/redux/reducers/smartscript/updateSmartscriptOptionHidden.js +13 -0
  369. package/dist/redux/reducers/smartscript/updateSmartscriptVariableHidden.d.ts +3 -0
  370. package/dist/redux/reducers/smartscript/updateSmartscriptVariableHidden.js +13 -0
  371. package/dist/redux/reducers/smartscript.d.ts +3 -0
  372. package/dist/redux/reducers/smartscript.js +28 -0
  373. package/dist/redux/reducers/user/initUser.d.ts +3 -0
  374. package/dist/redux/reducers/user/initUser.js +6 -0
  375. package/dist/redux/reducers/user/setUserStatus.d.ts +3 -0
  376. package/dist/redux/reducers/user/setUserStatus.js +4 -0
  377. package/dist/redux/reducers/user/setUserValidToken.d.ts +3 -0
  378. package/dist/redux/reducers/user/setUserValidToken.js +4 -0
  379. package/dist/redux/reducers/user.d.ts +3 -0
  380. package/dist/redux/reducers/user.js +23 -0
  381. package/dist/redux/reducers/user.test.d.ts +1 -0
  382. package/dist/redux/reducers/user.test.js +42 -0
  383. package/dist/redux/routerHistore.test.d.ts +1 -0
  384. package/dist/redux/routerHistore.test.js +15 -0
  385. package/dist/redux/routerHistory.d.ts +3 -0
  386. package/dist/redux/routerHistory.js +12 -0
  387. package/dist/redux/sagas/fetchModel.d.ts +26 -0
  388. package/dist/redux/sagas/fetchModel.js +372 -0
  389. package/dist/redux/sagas/fetchModel.test.d.ts +1 -0
  390. package/dist/redux/sagas/fetchModel.test.js +56 -0
  391. package/dist/redux/sagas/homogeneousRadioInputsSaga.d.ts +2 -0
  392. package/dist/redux/sagas/homogeneousRadioInputsSaga.js +22 -0
  393. package/dist/redux/sagas/runner.d.ts +2 -0
  394. package/dist/redux/sagas/runner.js +15 -0
  395. package/dist/redux/sagas/runner.test.d.ts +1 -0
  396. package/dist/redux/sagas/runner.test.js +10 -0
  397. package/dist/redux/sagas/saveData.d.ts +2 -0
  398. package/dist/redux/sagas/saveData.js +71 -0
  399. package/dist/redux/sagas/saveData.test.d.ts +1 -0
  400. package/dist/redux/sagas/saveData.test.js +74 -0
  401. package/dist/redux/sagas/setDefaults.d.ts +2 -0
  402. package/dist/redux/sagas/setDefaults.js +102 -0
  403. package/dist/redux/sagas/setDefaults.test.d.ts +1 -0
  404. package/dist/redux/sagas/setDefaults.test.js +73 -0
  405. package/dist/redux/sagas/setUserEmail.d.ts +2 -0
  406. package/dist/redux/sagas/setUserEmail.js +136 -0
  407. package/dist/redux/selectors/app.d.ts +30 -0
  408. package/dist/redux/selectors/app.js +100 -0
  409. package/dist/redux/selectors/app.test.d.ts +1 -0
  410. package/dist/redux/selectors/app.test.js +99 -0
  411. package/dist/redux/selectors/conditions.d.ts +14 -0
  412. package/dist/redux/selectors/conditions.js +140 -0
  413. package/dist/redux/selectors/conditions.test.d.ts +1 -0
  414. package/dist/redux/selectors/conditions.test.js +70 -0
  415. package/dist/redux/selectors/index.d.ts +7 -0
  416. package/dist/redux/selectors/index.js +7 -0
  417. package/dist/redux/selectors/inputs.d.ts +7 -0
  418. package/dist/redux/selectors/inputs.js +20 -0
  419. package/dist/redux/selectors/inputs.test.d.ts +1 -0
  420. package/dist/redux/selectors/inputs.test.js +44 -0
  421. package/dist/redux/selectors/mandatories.d.ts +8 -0
  422. package/dist/redux/selectors/mandatories.js +26 -0
  423. package/dist/redux/selectors/references.d.ts +29 -0
  424. package/dist/redux/selectors/references.js +180 -0
  425. package/dist/redux/selectors/references.test.d.ts +1 -0
  426. package/dist/redux/selectors/references.test.js +469 -0
  427. package/dist/redux/selectors/selectors.d.ts +8 -0
  428. package/dist/redux/selectors/selectors.js +29 -0
  429. package/dist/redux/selectors/selectors.test.d.ts +1 -0
  430. package/dist/redux/selectors/selectors.test.js +16 -0
  431. package/dist/redux/selectors/smartscript.d.ts +2 -0
  432. package/dist/redux/selectors/smartscript.js +11 -0
  433. package/dist/redux/selectors/user.d.ts +5 -0
  434. package/dist/redux/selectors/user.js +14 -0
  435. package/dist/redux/selectors/user.test.d.ts +1 -0
  436. package/dist/redux/selectors/user.test.js +28 -0
  437. package/dist/redux/store.d.ts +2 -0
  438. package/dist/redux/store.js +53 -0
  439. package/dist/redux/store.test.d.ts +1 -0
  440. package/dist/redux/store.test.js +16 -0
  441. package/dist/service/api.manager.d.ts +14 -0
  442. package/dist/service/api.manager.js +159 -0
  443. package/dist/service/auth.service.d.ts +1 -0
  444. package/dist/service/auth.service.js +3 -0
  445. package/dist/service/index.d.ts +3 -0
  446. package/dist/service/index.js +3 -0
  447. package/dist/service/pardot.service.d.ts +4 -0
  448. package/dist/service/pardot.service.js +7 -0
  449. package/dist/tests-misc/plugins/jestTestPlugin/after.d.ts +3 -0
  450. package/dist/tests-misc/plugins/jestTestPlugin/after.js +3 -0
  451. package/dist/tests-misc/plugins/jestTestPlugin/before.d.ts +3 -0
  452. package/dist/tests-misc/plugins/jestTestPlugin/before.js +6 -0
  453. package/dist/tests-misc/plugins/jestTestPlugin/index.d.ts +8 -0
  454. package/dist/tests-misc/plugins/jestTestPlugin/index.js +9 -0
  455. package/dist/tests-misc/plugins/jestTestPlugin/title.d.ts +3 -0
  456. package/dist/tests-misc/plugins/jestTestPlugin/title.js +6 -0
  457. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.d.ts +3 -0
  458. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.js +5 -0
  459. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.d.ts +3 -0
  460. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.js +5 -0
  461. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.d.ts +3 -0
  462. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.js +5 -0
  463. package/dist/tests-misc/themes/jestTestTheme/faltyIndex.d.ts +1 -0
  464. package/dist/tests-misc/themes/jestTestTheme/faltyIndex.js +3 -0
  465. package/dist/tests-misc/themes/jestTestTheme/faltyIndexLoader.d.ts +1 -0
  466. package/dist/tests-misc/themes/jestTestTheme/faltyIndexLoader.js +1 -0
  467. package/dist/tests-misc/themes/jestTestTheme/index.d.ts +6 -0
  468. package/dist/tests-misc/themes/jestTestTheme/index.js +9 -0
  469. package/dist/types/Actions.type.d.ts +334 -0
  470. package/dist/types/Actions.type.js +1 -0
  471. package/dist/types/Components.type.d.ts +127 -0
  472. package/dist/types/Components.type.js +1 -0
  473. package/dist/types/State.type.d.ts +265 -0
  474. package/dist/types/State.type.js +1 -0
  475. package/dist/types/Termsheet.type.d.ts +25 -0
  476. package/dist/types/Termsheet.type.js +1 -0
  477. package/dist/types/api.type.d.ts +33 -0
  478. package/dist/types/api.type.js +1 -0
  479. package/dist/types/config.type.d.ts +48 -0
  480. package/dist/types/config.type.js +1 -0
  481. package/dist/types/env.type.d.ts +5 -0
  482. package/dist/types/env.type.js +1 -0
  483. package/dist/types/getActions.type.d.ts +2 -0
  484. package/dist/types/getActions.type.js +1 -0
  485. package/dist/types/getConnectors.type.d.ts +4 -0
  486. package/dist/types/getConnectors.type.js +1 -0
  487. package/dist/types/getSelectors.type.d.ts +2 -0
  488. package/dist/types/getSelectors.type.js +1 -0
  489. package/dist/types/index.d.ts +10 -0
  490. package/dist/types/index.js +10 -0
  491. package/dist/wizard-params.d.ts +3 -0
  492. package/dist/wizard-params.js +38 -0
  493. package/jest.config.ts +196 -0
  494. package/package.json +86 -0
  495. package/src/App.test.tsx +41 -0
  496. package/src/App.tsx +118 -0
  497. package/src/Globals.ts +64 -0
  498. package/src/PluginLoader.test.tsx +70 -0
  499. package/src/PluginLoader.tsx +409 -0
  500. package/src/Shimmer.tsx +97 -0
  501. package/src/ThemeLoader.test.tsx +81 -0
  502. package/src/ThemeLoader.tsx +111 -0
  503. package/src/components/PluginRoute.tsx +46 -0
  504. package/src/components/SmartScript.tsx +165 -0
  505. package/src/components/UserLocked/UserLockedComponent.tsx +33 -0
  506. package/src/components/View.test.tsx +107 -0
  507. package/src/components/View.tsx +116 -0
  508. package/src/componentsConnectors/connectBox.test.tsx +226 -0
  509. package/src/componentsConnectors/connectBox.tsx +70 -0
  510. package/src/componentsConnectors/connectDocument.test.tsx +108 -0
  511. package/src/componentsConnectors/connectDocument.tsx +64 -0
  512. package/src/componentsConnectors/connectHeader.tsx +21 -0
  513. package/src/componentsConnectors/connectMetaTitle.test.tsx +40 -0
  514. package/src/componentsConnectors/connectMetaTitle.tsx +8 -0
  515. package/src/componentsConnectors/connectOption.tsx +222 -0
  516. package/src/componentsConnectors/connectPagination.tsx +104 -0
  517. package/src/componentsConnectors/connectPreview.tsx +5 -0
  518. package/src/componentsConnectors/connectProgress.tsx +59 -0
  519. package/src/componentsConnectors/connectRootOption.tsx +95 -0
  520. package/src/componentsConnectors/connectSection.tsx +79 -0
  521. package/src/componentsConnectors/connectSummary.tsx +21 -0
  522. package/src/componentsConnectors/connectSummaryItem.tsx +102 -0
  523. package/src/componentsConnectors/connectTermsheet.tsx +359 -0
  524. package/src/componentsConnectors/connectVariable.tsx +191 -0
  525. package/src/componentsConnectors/connectWizardWrapper.tsx +30 -0
  526. package/src/componentsConnectors/connector/componentConnector.tsx +217 -0
  527. package/src/componentsConnectors/connector/connectorSelectors.ts +19 -0
  528. package/src/componentsConnectors/index.ts +16 -0
  529. package/src/config.test.ts +30 -0
  530. package/src/config.ts +17 -0
  531. package/src/constants/emailValidation.ts +2 -0
  532. package/src/constants/index.ts +1 -0
  533. package/src/definitions/path.join.d.ts +4 -0
  534. package/src/helpers/index.ts +2 -0
  535. package/src/helpers/outputsParsing.ts +412 -0
  536. package/src/helpers/sendinblueHelper.ts +59 -0
  537. package/src/hooks/index.ts +1 -0
  538. package/src/hooks/usePrevious.ts +9 -0
  539. package/src/index.ts +47 -0
  540. package/src/libs/ConditionsInitiator.ts +164 -0
  541. package/src/libs/ConditionsRunner/DataPopulator.ts +266 -0
  542. package/src/libs/ConditionsRunner.ts +454 -0
  543. package/src/libs/DocumentsOutputs.ts +171 -0
  544. package/src/libs/Eval/EvalBase.ts +116 -0
  545. package/src/libs/Eval/EvalFunctions.ts +724 -0
  546. package/src/libs/Eval/NumbersToLetters.ts +185 -0
  547. package/src/libs/EvalVariable.ts +262 -0
  548. package/src/libs/EventsTracking.ts +241 -0
  549. package/src/libs/Extracts.ts +159 -0
  550. package/src/libs/InputsInitiator.ts +136 -0
  551. package/src/libs/NumAuto.test.ts +55 -0
  552. package/src/libs/NumAuto.ts +56 -0
  553. package/src/libs/OvcConverter.ts +285 -0
  554. package/src/libs/PathReader.ts +272 -0
  555. package/src/libs/SectionValidity.test.ts +146 -0
  556. package/src/libs/SectionValidity.ts +110 -0
  557. package/src/libs/SmartScriptStore.ts +492 -0
  558. package/src/libs/index.ts +12 -0
  559. package/src/misc/test_model.ts +14603 -0
  560. package/src/misc/test_models/connectDocumen.testmodel.json +178 -0
  561. package/src/misc/test_models/setDefaults.testmodel.json +279 -0
  562. package/src/misc/test_models/testmodel.json +1 -0
  563. package/src/polyfills/objectValues.ts +5 -0
  564. package/src/polyfills/prepend.ts +31 -0
  565. package/src/polyfills/stringRepeat.ts +44 -0
  566. package/src/redux/actions/app.test.ts +123 -0
  567. package/src/redux/actions/app.ts +249 -0
  568. package/src/redux/actions/conditions.test.ts +84 -0
  569. package/src/redux/actions/conditions.ts +135 -0
  570. package/src/redux/actions/index.ts +8 -0
  571. package/src/redux/actions/inputs.test.ts +85 -0
  572. package/src/redux/actions/inputs.ts +95 -0
  573. package/src/redux/actions/mandatories.ts +98 -0
  574. package/src/redux/actions/references.test.ts +48 -0
  575. package/src/redux/actions/references.ts +37 -0
  576. package/src/redux/actions/sagas/data.test.ts +11 -0
  577. package/src/redux/actions/sagas/data.ts +18 -0
  578. package/src/redux/actions/sagas/index.ts +3 -0
  579. package/src/redux/actions/sagas/model.test.ts +14 -0
  580. package/src/redux/actions/sagas/model.ts +48 -0
  581. package/src/redux/actions/sagas/user.ts +25 -0
  582. package/src/redux/actions/smartscript.ts +55 -0
  583. package/src/redux/actions/user.test.ts +18 -0
  584. package/src/redux/actions/user.ts +41 -0
  585. package/src/redux/constants/app.ts +36 -0
  586. package/src/redux/constants/conditions.ts +25 -0
  587. package/src/redux/constants/index.ts +8 -0
  588. package/src/redux/constants/inputs.ts +13 -0
  589. package/src/redux/constants/mandatories.ts +11 -0
  590. package/src/redux/constants/references.ts +7 -0
  591. package/src/redux/constants/sagas/data.ts +1 -0
  592. package/src/redux/constants/sagas/index.ts +3 -0
  593. package/src/redux/constants/sagas/model.ts +2 -0
  594. package/src/redux/constants/sagas/user.ts +2 -0
  595. package/src/redux/constants/smartscript.ts +9 -0
  596. package/src/redux/constants/user.ts +6 -0
  597. package/src/redux/index.ts +4 -0
  598. package/src/redux/listeners/subscriber.test.ts +45 -0
  599. package/src/redux/listeners/subscriber.ts +29 -0
  600. package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +370 -0
  601. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +321 -0
  602. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +323 -0
  603. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +250 -0
  604. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +473 -0
  605. package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +230 -0
  606. package/src/redux/middlewares/multiplesActionsMiddleware.ts +121 -0
  607. package/src/redux/middlewares/paginationWatcherMiddleware.ts +251 -0
  608. package/src/redux/middlewares/pluginsHookMiddleware.ts +24 -0
  609. package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +118 -0
  610. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +462 -0
  611. package/src/redux/middlewares/smartscriptMiddleware.ts +171 -0
  612. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +16 -0
  613. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +16 -0
  614. package/src/redux/reducers/app/instance/initInstance.ts +29 -0
  615. package/src/redux/reducers/app/instance/setDataStatus.ts +16 -0
  616. package/src/redux/reducers/app/instance/updateInstance.ts +30 -0
  617. package/src/redux/reducers/app/instance/updateInstancePaid.ts +20 -0
  618. package/src/redux/reducers/app/instance.test.ts +106 -0
  619. package/src/redux/reducers/app/meta/fetchModelFailed.ts +13 -0
  620. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +13 -0
  621. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +13 -0
  622. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +18 -0
  623. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +13 -0
  624. package/src/redux/reducers/app/meta/initMeta.ts +22 -0
  625. package/src/redux/reducers/app/meta/setModelUuid.ts +17 -0
  626. package/src/redux/reducers/app/meta.test.ts +90 -0
  627. package/src/redux/reducers/app/pagination/goNextPage.ts +69 -0
  628. package/src/redux/reducers/app/pagination/goPage.ts +81 -0
  629. package/src/redux/reducers/app/pagination/goPreviousPage.ts +60 -0
  630. package/src/redux/reducers/app/pagination/initPagination.ts +46 -0
  631. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +77 -0
  632. package/src/redux/reducers/app/pagination.test.ts +363 -0
  633. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +40 -0
  634. package/src/redux/reducers/app/wizard.test.ts +84 -0
  635. package/src/redux/reducers/app.test.ts +336 -0
  636. package/src/redux/reducers/app.ts +150 -0
  637. package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +131 -0
  638. package/src/redux/reducers/conditions/addMultipleOccurency.ts +155 -0
  639. package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +95 -0
  640. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +141 -0
  641. package/src/redux/reducers/conditions/initConditions.ts +18 -0
  642. package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +47 -0
  643. package/src/redux/reducers/conditions/updateDocumentConditions.ts +21 -0
  644. package/src/redux/reducers/conditions/updateOptionConditions.ts +24 -0
  645. package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +50 -0
  646. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +28 -0
  647. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +29 -0
  648. package/src/redux/reducers/conditions/updateSectionConditions.ts +28 -0
  649. package/src/redux/reducers/conditions/updateVariableConditions.ts +25 -0
  650. package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +50 -0
  651. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +28 -0
  652. package/src/redux/reducers/conditions.test.ts +241 -0
  653. package/src/redux/reducers/conditions.ts +68 -0
  654. package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +117 -0
  655. package/src/redux/reducers/inputs/addMultipleOccurency.ts +50 -0
  656. package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +70 -0
  657. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +50 -0
  658. package/src/redux/reducers/inputs/initOption.ts +16 -0
  659. package/src/redux/reducers/inputs/initVariable.ts +16 -0
  660. package/src/redux/reducers/inputs/updateOptionInput.ts +24 -0
  661. package/src/redux/reducers/inputs/updateVariableInput.ts +24 -0
  662. package/src/redux/reducers/inputs.test.ts +221 -0
  663. package/src/redux/reducers/inputs.ts +51 -0
  664. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +52 -0
  665. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +55 -0
  666. package/src/redux/reducers/mandatories/initMandatoryOption.ts +17 -0
  667. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +17 -0
  668. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +17 -0
  669. package/src/redux/reducers/mandatories/setMandatoryOption.ts +25 -0
  670. package/src/redux/reducers/mandatories/setMandatorySection.ts +20 -0
  671. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +24 -0
  672. package/src/redux/reducers/mandatories.ts +56 -0
  673. package/src/redux/reducers/references/initReferences.ts +37 -0
  674. package/src/redux/reducers/references/updateOptionMeta.ts +73 -0
  675. package/src/redux/reducers/references/updateVariableMeta.ts +72 -0
  676. package/src/redux/reducers/references.ts +59 -0
  677. package/src/redux/reducers/smartscript/enableSmartScript.ts +13 -0
  678. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +14 -0
  679. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +30 -0
  680. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +30 -0
  681. package/src/redux/reducers/smartscript.ts +47 -0
  682. package/src/redux/reducers/user/initUser.ts +15 -0
  683. package/src/redux/reducers/user/setUserStatus.ts +13 -0
  684. package/src/redux/reducers/user/setUserValidToken.ts +13 -0
  685. package/src/redux/reducers/user.test.ts +51 -0
  686. package/src/redux/reducers/user.ts +40 -0
  687. package/src/redux/routerHistore.test.ts +19 -0
  688. package/src/redux/routerHistory.ts +21 -0
  689. package/src/redux/sagas/fetchModel.test.ts +79 -0
  690. package/src/redux/sagas/fetchModel.ts +787 -0
  691. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +42 -0
  692. package/src/redux/sagas/runner.test.ts +12 -0
  693. package/src/redux/sagas/runner.ts +24 -0
  694. package/src/redux/sagas/saveData.test.ts +125 -0
  695. package/src/redux/sagas/saveData.ts +112 -0
  696. package/src/redux/sagas/setDefaults.test.ts +100 -0
  697. package/src/redux/sagas/setDefaults.ts +167 -0
  698. package/src/redux/sagas/setUserEmail.ts +220 -0
  699. package/src/redux/selectors/app.test.ts +162 -0
  700. package/src/redux/selectors/app.ts +328 -0
  701. package/src/redux/selectors/conditions.test.ts +92 -0
  702. package/src/redux/selectors/conditions.ts +293 -0
  703. package/src/redux/selectors/index.ts +7 -0
  704. package/src/redux/selectors/inputs.test.ts +72 -0
  705. package/src/redux/selectors/inputs.ts +76 -0
  706. package/src/redux/selectors/mandatories.ts +83 -0
  707. package/src/redux/selectors/references.test.ts +660 -0
  708. package/src/redux/selectors/references.ts +410 -0
  709. package/src/redux/selectors/selectors.test.ts +21 -0
  710. package/src/redux/selectors/selectors.ts +87 -0
  711. package/src/redux/selectors/smartscript.ts +30 -0
  712. package/src/redux/selectors/user.test.ts +39 -0
  713. package/src/redux/selectors/user.ts +45 -0
  714. package/src/redux/store.test.ts +22 -0
  715. package/src/redux/store.ts +90 -0
  716. package/src/service/api.manager.ts +261 -0
  717. package/src/service/auth.service.ts +5 -0
  718. package/src/service/index.ts +3 -0
  719. package/src/service/pardot.service.ts +12 -0
  720. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +5 -0
  721. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +11 -0
  722. package/src/tests-misc/plugins/jestTestPlugin/index.ts +11 -0
  723. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +8 -0
  724. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +7 -0
  725. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +7 -0
  726. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +7 -0
  727. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +3 -0
  728. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +1 -0
  729. package/src/tests-misc/themes/jestTestTheme/index.ts +13 -0
  730. package/src/types/Actions.type.ts +604 -0
  731. package/src/types/Components.type.ts +181 -0
  732. package/src/types/State.type.ts +323 -0
  733. package/src/types/Termsheet.type.ts +28 -0
  734. package/src/types/api.type.ts +37 -0
  735. package/src/types/config.type.ts +51 -0
  736. package/src/types/env.type.ts +5 -0
  737. package/src/types/getActions.type.ts +3 -0
  738. package/src/types/getConnectors.type.ts +5 -0
  739. package/src/types/getSelectors.type.ts +3 -0
  740. package/src/types/index.ts +10 -0
  741. package/src/wizard-params.ts +55 -0
  742. package/tsconfig.json +43 -0
@@ -0,0 +1,412 @@
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 '..';
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
+ };
@@ -0,0 +1,59 @@
1
+ import PhoneNumber from 'awesome-phonenumber';
2
+ import Extracts from '../libs/Extracts';
3
+ import { pardotAttributes } from '../service/pardot.service';
4
+
5
+ const formatMobilePhone = (phoneNumber: string): string => {
6
+ const sanitizedNumber = new PhoneNumber(phoneNumber, 'FR');
7
+
8
+ return !sanitizedNumber?.getNumber()?.length || !sanitizedNumber.isMobile()
9
+ ? ''
10
+ : sanitizedNumber.getNumber();
11
+ };
12
+
13
+ export const getSIBExtract = () => {
14
+ let sibExtract;
15
+ try {
16
+ Extracts.extractData();
17
+ sibExtract = Extracts.getSibExtractedData();
18
+ if (sibExtract.TEL) {
19
+ try {
20
+ sibExtract.SMS = formatMobilePhone(sibExtract.TEL);
21
+ } catch (error) {
22
+ // the lib we use to format phone can throw exception
23
+ }
24
+ }
25
+ } catch (error) {
26
+ // eslint-disable-next-line no-console
27
+ console.error('Error while extracting sendiblue data', error);
28
+ }
29
+ return sibExtract;
30
+ };
31
+
32
+ export const getSendinblueIdentifyAttributes = (
33
+ uniqid: string,
34
+ documentTitle: string,
35
+ nbFilledVars: number,
36
+ VALIDATION_Q2 = false,
37
+ domain = 'www.legalplace.fr'
38
+ ): Record<string, string | number | undefined | boolean | null> => {
39
+ // Identifying client into Sendinblue
40
+ const sendinblueVars: {
41
+ [k: string]: string | undefined | boolean | number | null;
42
+ } = {
43
+ // TODO: Client_type: lpApp.getState().contract.client_type ? 'pro' : 'ind',
44
+ UNIQID: uniqid,
45
+ AB: Math.floor(Math.random() * 2),
46
+ TELECHARGEMENT: `${domain}/rt/${uniqid}`,
47
+ DOCUMENT: documentTitle,
48
+ WIZZARD_FILLED_FIELDS: nbFilledVars,
49
+ ...getSIBExtract(),
50
+ ...pardotAttributes(),
51
+ VALIDATION_Q2,
52
+ };
53
+
54
+ if (localStorage && localStorage.getItem('entranceUrl')) {
55
+ sendinblueVars.URL_ENTREE = localStorage.getItem('entranceUrl');
56
+ }
57
+
58
+ return sendinblueVars;
59
+ };
@@ -0,0 +1 @@
1
+ export * from './usePrevious';
@@ -0,0 +1,9 @@
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
+ };
package/src/index.ts ADDED
@@ -0,0 +1,47 @@
1
+ import 'react-app-polyfill/ie11';
2
+ import 'react-app-polyfill/stable';
3
+ import './polyfills/stringRepeat';
4
+ import './polyfills/prepend';
5
+ import './polyfills/objectValues';
6
+ import App from './App';
7
+
8
+ // Exporting config
9
+ export * from './config';
10
+
11
+ // Exporting PluginLoader
12
+ export * from './PluginLoader';
13
+
14
+ // Exporting ThemeLoader
15
+ export * from './ThemeLoader';
16
+
17
+ // Exporting hooks
18
+ export * from './hooks';
19
+
20
+ // Exporting helpers
21
+ export * from './helpers';
22
+
23
+ // Exporting constants
24
+ export * from './constants';
25
+
26
+ // Exporting redux (selectors, actions & store)
27
+ export * from './redux';
28
+ export * as reduxSelectorsList from './redux/selectors';
29
+
30
+ // Exporting connectors
31
+ export * from './componentsConnectors';
32
+ export * as componentsConnectorsList from './componentsConnectors';
33
+
34
+ // Exporting librairies
35
+ export * from './libs';
36
+
37
+ // Exporting services
38
+ export * from './service';
39
+
40
+ // Exporting Types
41
+ export * from './types/getConnectors.type';
42
+ export * from './componentsConnectors/connector/componentConnector';
43
+ export * from './types/State.type';
44
+ export * from './types';
45
+
46
+ // Exporting App
47
+ export default App;
@@ -0,0 +1,164 @@
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
+ }