@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,222 +0,0 @@
1
- import type { OptionV3 } from "@legalplace/models-v3-types";
2
- import {
3
- parseOptionLabel,
4
- parseRawWithVariables,
5
- } from "../helpers/outputsParsing";
6
- import {
7
- componentConnector,
8
- ConnectorStateToProps,
9
- ConnectorDispatchProps,
10
- ConnectorMapSelectors,
11
- } from "./connector/componentConnector";
12
- import { isStepAvailable } from "../redux/selectors/app";
13
-
14
- export type ConnectOptionOwnProps = {
15
- id: number;
16
- index: number;
17
- isLast?: boolean;
18
- isMultiple?: boolean;
19
- hasMany?: boolean;
20
- };
21
- export type ConnectOptionMapProps = {
22
- label: string;
23
- type: string;
24
- value: boolean;
25
- condition?: boolean;
26
- validator?: boolean;
27
- mandatoryValidated: boolean;
28
- mandatoryIgnore: boolean;
29
- display: boolean;
30
- meta: OptionV3["meta"];
31
- selectedRadioChild: number;
32
- childOptions: number[];
33
- childVariables: number[];
34
- };
35
- export type ConnectOptionDispatchProps = {
36
- updateOption: (value: boolean, id?: number, index?: number) => void;
37
- addMultipleOccurency: () => void;
38
- deleteMultipleOccurency: () => void;
39
- };
40
-
41
- /**
42
- * canOptionDisplay
43
- * ----------------
44
- * This helper function checks whether an option
45
- * can be displayed. It currently handle this cases:
46
- * - Checks stepTwo options
47
- * - Checks special grants options
48
- * @param id Option's ID
49
- * @param selectors StateToProps selectors
50
- * @returns (boolean)
51
- */
52
- const canOptionDisplay = (
53
- id: number,
54
- index: number,
55
- selectors: ConnectorMapSelectors
56
- ) => {
57
- const option = selectors.selectOptionReference(id);
58
-
59
- // Checking steps
60
- let display = isStepAvailable(option.meta.step);
61
-
62
- // Checking if option is hidden by model or smartscript on all indexes
63
- display = display && !(option.meta.hidden === true);
64
-
65
- // Checking if option's index is hidden by smartscript
66
- display =
67
- display && !selectors.selectIsSmartscriptOptionIndexHidden(id, index);
68
-
69
- // Checking if current user is granted access to this option
70
- const grantLevel =
71
- typeof option.meta.grantLevel === "string"
72
- ? option.meta.grantLevel
73
- : "GUEST";
74
- display = display && selectors.isLevelAccessibleForUser(grantLevel);
75
-
76
- // Returning result
77
- return display;
78
- };
79
-
80
- /**
81
- * selectedRadioChilds
82
- * -------------------
83
- * This helper functions returns the selected
84
- * radio children of a given option at a specific
85
- * index if there's any
86
- * @param id Option's id
87
- * @param index Option's index
88
- * @param selectors StateToProps selectors
89
- */
90
- const selectedRadioChilds = (
91
- id: number,
92
- index: number,
93
- selectors: ConnectorMapSelectors
94
- ) => {
95
- const option = selectors.selectOptionReference(id);
96
- return option.options.filter((childId) => {
97
- const childReference = selectors.selectOptionReference(childId);
98
-
99
- return (
100
- childReference.meta.type === "radio" &&
101
- selectors.selectOptionInputByIndex(childId, index)
102
- );
103
- })[0];
104
- };
105
-
106
- /**
107
- * stateToProps
108
- * ------------
109
- * State to props function maps state to connected
110
- * component's props
111
- * @param selectors StateToProps selectors
112
- */
113
- const stateToProps: ConnectorStateToProps<
114
- ConnectOptionOwnProps,
115
- ConnectOptionMapProps
116
- > = (selectors) => (state, ownProps) => {
117
- const { id, index } = ownProps;
118
- const option = selectors.selectOptionReference(id);
119
-
120
- // Checking if option can display (this is not related to conditions)
121
- const display = canOptionDisplay(id, index, selectors);
122
-
123
- // Getting option's selected radio children
124
- const selectedRadioChild = selectedRadioChilds(id, index, selectors);
125
-
126
- // Getting & parsing label (if needed)
127
- const label = parseOptionLabel(id, index);
128
-
129
- // Getting value
130
- let value = selectors.selectOptionInputByIndex(id, index);
131
- value = value || false;
132
-
133
- // Getting condition
134
- const condition = selectors.selectOptionConditionValue(id, index);
135
-
136
- // Getting valudator
137
- const validator = selectors.selectOptionValidatorConditionValue(id, index);
138
-
139
- // Getting mandatoryValidated
140
- const mandatoryValidated = selectors.selectMandatoryOptionByIndex(id, index);
141
-
142
- // Getting MandartoryIgnore
143
- const mandatoryIgnore = selectors.selectMandatoryIgnore();
144
-
145
- // Extracting props from option reference
146
- const { meta, options: childOptions, variables: childVariables } = option;
147
-
148
- // Parsing helper's variables
149
- const helper = meta.helper
150
- ? parseRawWithVariables(meta.helper, undefined, "________________")
151
- : undefined;
152
-
153
- // Parsing warning's variables
154
- const warning = meta.warning
155
- ? parseRawWithVariables(meta.warning, undefined, "________________")
156
- : undefined;
157
-
158
- const { type } = meta;
159
- return {
160
- label,
161
- type,
162
- meta: {
163
- ...meta,
164
- warning,
165
- helper,
166
- },
167
- value,
168
- mandatoryValidated,
169
- mandatoryIgnore,
170
- condition,
171
- validator,
172
- display,
173
- selectedRadioChild,
174
- childOptions,
175
- childVariables,
176
- };
177
- };
178
-
179
- /**
180
- * dispatchToProps
181
- * ------------
182
- * Dispatch to props function maps dispatch to connected
183
- * component's props
184
- * @param actions DispatchToProps actions
185
- */
186
- const dispatchToProps: ConnectorDispatchProps<
187
- ConnectOptionOwnProps,
188
- ConnectOptionDispatchProps
189
- > = (actions) => (dispatch, ownProps) => ({
190
- updateOption: (
191
- value: boolean,
192
- id: number = ownProps.id,
193
- index: number = ownProps.index
194
- ) => dispatch(actions.updateOptionAction(id, value, index)),
195
- addMultipleOccurency: () => {
196
- dispatch(actions.addMultipleOccurencyAction(ownProps.id));
197
- },
198
- deleteMultipleOccurency: () => {
199
- dispatch(
200
- actions.deleteMultipleOccurencyAction(ownProps.id, ownProps.index)
201
- );
202
- },
203
- });
204
-
205
- /**
206
- * Creating our component connector
207
- */
208
- export const connectOption = componentConnector({
209
- componentName: "Option",
210
- stateToProps,
211
- dispatchToProps,
212
- additionnalHooks: (props, hookType) => {
213
- const { tags, type } = props.meta;
214
- const hooks: string[] = [`${hookType}OptionOfType(${type})`];
215
- if (Array.isArray(tags)) {
216
- tags.forEach((currentTag) => {
217
- hooks.push(`${hookType}Tag{${currentTag}}`);
218
- });
219
- }
220
- return hooks;
221
- },
222
- });
@@ -1,102 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- ConnectorDispatchProps,
5
- } from "./connector/componentConnector";
6
-
7
- export type ConnectPaginationOwnProps = {};
8
- export type ConnectPaginationMapProps = {
9
- totalPages: number;
10
- isFirstPage: boolean;
11
- isLastPage: boolean;
12
- isLastWizardPage: boolean;
13
- isUserAuthenticated: boolean;
14
- isCurrentSectionMandatoryValidated: boolean;
15
- mandatoryIgnore: boolean;
16
- firstUnfinishedSectionId: number;
17
- currentSection: number;
18
- currentPage: number;
19
- };
20
- export type ConnectPaginationDispatchProps = {
21
- goNextPage: () => void;
22
- goPreviousPage: () => void;
23
- };
24
-
25
- /**
26
- * stateToProps
27
- * ------------
28
- * State to props function maps state to connected
29
- * component's props
30
- * @param selectors StateToProps selectors
31
- */
32
- const stateToProps: ConnectorStateToProps<
33
- ConnectPaginationOwnProps,
34
- ConnectPaginationMapProps
35
- > = (selectors) => () => {
36
- const {
37
- selectIsFirstPage,
38
- selectCurrentPage,
39
- selectIsLastPage,
40
- selectIsLastWizardPage,
41
- selectAvailableSections,
42
- selectUserStatus,
43
- selectMandatorySection,
44
- selectCurrentSectionId,
45
- selectFirstUnfinishedSectionId,
46
- selectMandatoryIgnore,
47
- } = selectors;
48
- const isFirstPage = selectIsFirstPage();
49
- const currentPage = selectCurrentPage();
50
- const isLastPage = selectIsLastPage();
51
- const isLastWizardPage = selectIsLastWizardPage();
52
- const totalPages = selectAvailableSections().length;
53
- const userStatus = selectUserStatus();
54
-
55
- const currentSection = selectCurrentSectionId();
56
-
57
- // Getting MandatoryIgnore
58
- const mandatoryIgnore = selectMandatoryIgnore();
59
-
60
- const isCurrentSectionMandatoryValidated =
61
- selectMandatorySection(currentSection);
62
-
63
- const firstUnfinishedSectionId =
64
- selectFirstUnfinishedSectionId(currentSection);
65
-
66
- return {
67
- isFirstPage,
68
- isLastPage,
69
- totalPages,
70
- isLastWizardPage,
71
- isCurrentSectionMandatoryValidated,
72
- firstUnfinishedSectionId,
73
- currentSection,
74
- mandatoryIgnore,
75
- isUserAuthenticated: userStatus === "authenticated",
76
- currentPage,
77
- };
78
- };
79
-
80
- /**
81
- * dispatchToProps
82
- * ------------
83
- * Dispatch to props function maps dispatch to connected
84
- * component's props
85
- * @param actions DispatchToProps actions
86
- */
87
- const dispatchToProps: ConnectorDispatchProps<
88
- ConnectPaginationOwnProps,
89
- ConnectPaginationDispatchProps
90
- > = (actions) => (dispatch) => ({
91
- goNextPage: () => dispatch(actions.goNextPageAction()),
92
- goPreviousPage: () => dispatch(actions.goPreviousPageAction()),
93
- });
94
-
95
- /**
96
- * Creating our component connector
97
- */
98
- export const connectPagination = componentConnector({
99
- componentName: "Pagination",
100
- stateToProps,
101
- dispatchToProps,
102
- });
@@ -1,5 +0,0 @@
1
- import { componentConnector } from "./connector/componentConnector";
2
-
3
- export const connectPreview = componentConnector({
4
- componentName: "PreviewComponent",
5
- });
@@ -1,59 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- } from "./connector/componentConnector";
5
-
6
- export type ConnectPreviewOwnProps = {
7
- id?: number;
8
- };
9
- export type ConnectPreviewMapProps = {
10
- currentSectionTitle: string;
11
- currentSectionId: number;
12
- currentSection: number;
13
- currentPage: number;
14
- greatestPage: number;
15
- totalPages: number;
16
- };
17
-
18
- /**
19
- * stateToProps
20
- * ------------
21
- * State to props function maps state to connected
22
- * component's props
23
- * @param selectors StateToProps selectors
24
- */
25
- const stateToProps: ConnectorStateToProps<
26
- ConnectPreviewOwnProps,
27
- ConnectPreviewMapProps
28
- > = (selectors) => (state, ownProps) => {
29
- const {
30
- selectCurrentSectionId,
31
- selectAvailableSections,
32
- selectSectionReference,
33
- selectCurrentPage,
34
- } = selectors;
35
-
36
- const currentSectionId =
37
- typeof ownProps.id === "number" ? ownProps.id : selectCurrentSectionId();
38
- const sectionReference = selectSectionReference(currentSectionId);
39
- const currentSectionTitle = sectionReference.label;
40
- const availableSections = selectAvailableSections();
41
- const totalPages = availableSections.length;
42
-
43
- return {
44
- currentSectionTitle,
45
- currentSectionId,
46
- totalPages,
47
- currentSection: availableSections.indexOf(currentSectionId) + 1,
48
- currentPage: selectCurrentPage(),
49
- greatestPage: state.app.pagination.greatestPage,
50
- };
51
- };
52
-
53
- /**
54
- * Creating our component connector
55
- */
56
- export const connectProgress = componentConnector({
57
- componentName: "Progress",
58
- stateToProps,
59
- });
@@ -1,95 +0,0 @@
1
- import type { OptionV3 } from "@legalplace/models-v3-types";
2
- import {
3
- componentConnector,
4
- ConnectorStateToProps,
5
- ConnectorDispatchProps,
6
- } from "./connector/componentConnector";
7
-
8
- export type ConnectRootOptionOwnProps = {
9
- id: number;
10
- };
11
- export type ConnectRootOptionMapProps = {
12
- id: number;
13
- multiple: boolean;
14
- values: boolean[];
15
- isMultiple: boolean;
16
- hasMany: boolean;
17
- lastIndex: number;
18
- meta: OptionV3["meta"];
19
- };
20
- export type ConnectRootOptionDispatchProps = {
21
- addMultipleOccurency: () => void;
22
- deleteMultipleOccurency: (index: number) => void;
23
- };
24
-
25
- /**
26
- * stateToProps
27
- * ------------
28
- * State to props function maps state to connected
29
- * component's props
30
- * @param selectors StateToProps selectors
31
- */
32
- const stateToProps: ConnectorStateToProps<
33
- ConnectRootOptionOwnProps,
34
- ConnectRootOptionMapProps
35
- > = (selectors) => (state, ownProps) => {
36
- const { selectOptionReference } = selectors;
37
-
38
- const option = selectOptionReference(ownProps.id);
39
-
40
- // Checking wether option can be displayed
41
- const multiple = option.meta.multiple?.enabled || false;
42
-
43
- const values = state.inputs.options[ownProps.id];
44
-
45
- return {
46
- id: ownProps.id,
47
- multiple,
48
- meta: option.meta,
49
- values,
50
- hasMany: values.length > 1,
51
- isMultiple: option.meta.multiple?.enabled === true,
52
- lastIndex: values.length - 1,
53
- };
54
- };
55
-
56
- /**
57
- * dispatchToProps
58
- * ------------
59
- * Dispatch to props function maps dispatch to connected
60
- * component's props
61
- * @param actions DispatchToProps actions
62
- */
63
- const dispatchToProps: ConnectorDispatchProps<
64
- ConnectRootOptionOwnProps,
65
- ConnectRootOptionDispatchProps
66
- > = (actions) => (dispatch, ownProps) => ({
67
- addMultipleOccurency: () => {
68
- dispatch(actions.addMultipleOccurencyAction(ownProps.id));
69
- },
70
- deleteMultipleOccurency: (index: number) => {
71
- dispatch(actions.deleteMultipleOccurencyAction(ownProps.id, index));
72
- },
73
- });
74
-
75
- /**
76
- * Creating our component connector
77
- */
78
- export const connectRootOption = componentConnector({
79
- componentName: "RootOption",
80
- stateToProps,
81
- dispatchToProps,
82
- additionnalHooks: (props, hookType) => {
83
- const { tags, type } = props.meta;
84
- const hooks: string[] = [`${hookType}RootOptionOfType(${type})`];
85
- if (props.meta.multiple) {
86
- hooks.push(`${hookType}RootOptionMultiple`);
87
- }
88
- if (Array.isArray(tags)) {
89
- tags.forEach((currentTag) => {
90
- hooks.push(`${hookType}Tag{${currentTag}}`);
91
- });
92
- }
93
- return hooks;
94
- },
95
- });
@@ -1,79 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- } from "./connector/componentConnector";
5
-
6
- export type ConnectSectionOwnProps = {
7
- id?: number;
8
- };
9
- export type ConnectSectionMapProps = {
10
- id: number;
11
- title: string;
12
- mandatoryValidated: boolean;
13
- childOptions: number[];
14
- tags?: string[];
15
- };
16
-
17
- /**
18
- * stateToProps
19
- * ------------
20
- * State to props function maps state to connected
21
- * component's props
22
- * @param selectors StateToProps selectors
23
- */
24
- const childOptionsCache: Record<string, number[]> = {};
25
- const stateToProps: ConnectorStateToProps<
26
- ConnectSectionOwnProps,
27
- ConnectSectionMapProps
28
- > = (selectors) => (state, ownProps) => {
29
- const {
30
- selectCurrentSectionId,
31
- selectSectionReference,
32
- selectOptionReference,
33
- } = selectors;
34
-
35
- // If we recieve id in props we use it at the section's id
36
- const id =
37
- typeof ownProps.id !== "undefined" ? ownProps.id : selectCurrentSectionId();
38
-
39
- const section = selectSectionReference(id);
40
- if (section === undefined) throw new Error(`Section ${id} does not exist`);
41
-
42
- if (!(id in childOptionsCache)) {
43
- childOptionsCache[id] = section.options.filter((optionId) => {
44
- const optionReference = selectOptionReference(optionId);
45
- if (optionReference === undefined)
46
- throw new Error(`Option ${optionId} does not exist`);
47
- return !["hidden", "repeated"].includes(optionReference.meta.type);
48
- });
49
- }
50
-
51
- // Getting mandatory validation
52
- const mandatoryValidated = selectors.selectMandatorySection(id);
53
-
54
- return {
55
- id,
56
- mandatoryValidated,
57
- childOptions: childOptionsCache[id],
58
- title: section.label,
59
- tags: section.tags,
60
- };
61
- };
62
-
63
- /**
64
- * Creating our component connector
65
- */
66
- export const connectSection = componentConnector({
67
- componentName: "Section",
68
- stateToProps,
69
- additionnalHooks: (props, hookType) => {
70
- const { tags } = props;
71
- const hooks: string[] = [];
72
- if (Array.isArray(tags)) {
73
- tags.forEach((currentTag) => {
74
- hooks.push(`${hookType}Tag{${currentTag}}`);
75
- });
76
- }
77
- return hooks;
78
- },
79
- });
@@ -1,21 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- } from "./connector/componentConnector";
5
-
6
- export type ConnectSummaryOwnProps = {};
7
- export type ConnectSummaryMapProps = {
8
- sections: Readonly<number[]>;
9
- };
10
-
11
- const stateToProps: ConnectorStateToProps<
12
- ConnectSummaryOwnProps,
13
- ConnectSummaryMapProps
14
- > = (selectors) => () => ({
15
- sections: selectors.selectAvailableSections(),
16
- });
17
-
18
- export const connectSummary = componentConnector({
19
- componentName: "Summary",
20
- stateToProps,
21
- });
@@ -1,102 +0,0 @@
1
- import queryString from "query-string";
2
- import {
3
- componentConnector,
4
- ConnectorStateToProps,
5
- } from "./connector/componentConnector";
6
- import { PathReader } from "../libs/PathReader";
7
- import { SectionValidity } from "../libs/SectionValidity";
8
-
9
- export type ConnectSummaryItemOwnProps = {
10
- id: number;
11
- };
12
- export type ConnectSummaryItemMapProps = {
13
- link: string;
14
- label: string;
15
- validity: boolean;
16
- preLabel: string;
17
- active: boolean;
18
- pageNumber: number;
19
- disableClick?: boolean;
20
- };
21
-
22
- const stateToProps: ConnectorStateToProps<
23
- ConnectSummaryItemOwnProps,
24
- ConnectSummaryItemMapProps
25
- > = (selectors) => (state, ownProps) => {
26
- const {
27
- selectSectionReference,
28
- selectAvailableSections,
29
- selectCurrentSectionId,
30
- selectMandatorySection,
31
- selectMandatoryIgnore,
32
- } = selectors;
33
-
34
- const currentSection = selectCurrentSectionId();
35
-
36
- // Getting MandatoryIgnore
37
- const mandatoryIgnore = selectMandatoryIgnore();
38
-
39
- const isCurrentSectionMandatoryValidated =
40
- selectMandatorySection(currentSection);
41
-
42
- // Getting list of sections
43
- const sectionReference = selectSectionReference(ownProps.id);
44
- const { label, id } = sectionReference;
45
-
46
- // Initiating PathReader
47
- const pathReader = new PathReader(state);
48
-
49
- // Generating section's path
50
- const pageNumber = selectAvailableSections().indexOf(ownProps.id) + 1;
51
- const link = pathReader.parsePath(pageNumber);
52
- // Is section active?
53
- const active = id === currentSection;
54
-
55
- let disableClick = false;
56
- // disableClick Conditions
57
- if (
58
- queryString.parse(window.location.search).ignore !== "true" &&
59
- id > currentSection &&
60
- mandatoryIgnore === false
61
- ) {
62
- const mandatoriesSections = selectAvailableSections().map((sectionId) =>
63
- selectMandatorySection(sectionId)
64
- );
65
- // All sections True : enableClick
66
- if (mandatoriesSections.every((sectionValue) => sectionValue === true)) {
67
- disableClick = false;
68
- }
69
- // enable click only for nextCurrentSection if isCurrentSectionMandatoryValidated = true
70
- else if (
71
- id === currentSection + 1 &&
72
- isCurrentSectionMandatoryValidated === true
73
- ) {
74
- disableClick = false;
75
- }
76
- // disable click for all next sections
77
- else {
78
- disableClick = true;
79
- }
80
- }
81
-
82
- // Is section valid
83
- const { validity } = new SectionValidity(ownProps.id);
84
-
85
- // Calculating preLabel
86
- const preLabel = pageNumber < 10 ? `0${pageNumber}` : pageNumber.toString();
87
-
88
- return {
89
- link,
90
- validity,
91
- preLabel,
92
- label,
93
- active,
94
- pageNumber,
95
- disableClick,
96
- };
97
- };
98
-
99
- export const connectSummaryItem = componentConnector({
100
- componentName: "SummaryItem",
101
- stateToProps,
102
- });