@legalplace/wizardx-core 2.6.4 → 2.7.1

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