@legalplace/wizardx-core 2.6.4 → 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 (346) hide show
  1. package/CHANGELOG.md +35 -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/helpers/apiEndpoint.d.ts +1 -0
  31. package/dist/helpers/apiEndpoint.js +4 -0
  32. package/dist/helpers/index.d.ts +4 -0
  33. package/dist/helpers/index.js +4 -0
  34. package/dist/helpers/propsEqualityCheck.d.ts +1 -0
  35. package/dist/helpers/propsEqualityCheck.js +9 -0
  36. package/dist/hooks/index.d.ts +4 -0
  37. package/dist/hooks/index.js +4 -0
  38. package/dist/hooks/useActions.d.ts +2 -0
  39. package/dist/hooks/useActions.js +4 -0
  40. package/dist/hooks/useDispatch.d.ts +1 -0
  41. package/dist/hooks/useDispatch.js +4 -0
  42. package/dist/hooks/useSelectors.d.ts +2 -0
  43. package/dist/hooks/useSelectors.js +4 -0
  44. package/dist/index.d.ts +13 -0
  45. package/dist/index.js +13 -0
  46. package/dist/libs/PathReader.d.ts +10 -6
  47. package/dist/libs/PathReader.js +47 -28
  48. package/dist/libs/index.d.ts +5 -0
  49. package/dist/libs/index.js +5 -0
  50. package/dist/redux/actions/index.d.ts +9 -0
  51. package/dist/redux/actions/index.js +9 -0
  52. package/dist/redux/actions/library.d.ts +59 -63
  53. package/dist/redux/actions/sagas/index.d.ts +3 -0
  54. package/dist/redux/actions/sagas/index.js +3 -0
  55. package/dist/redux/actions/sagas/model.d.ts +1 -5
  56. package/dist/redux/constants/app.d.ts +2 -0
  57. package/dist/redux/constants/app.js +2 -0
  58. package/dist/redux/constants/index.d.ts +8 -0
  59. package/dist/redux/constants/index.js +8 -0
  60. package/dist/redux/constants/sagas/index.d.ts +3 -0
  61. package/dist/redux/constants/sagas/index.js +3 -0
  62. package/dist/redux/index.d.ts +5 -0
  63. package/dist/redux/index.js +5 -0
  64. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +11 -5
  65. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +120 -113
  66. package/dist/redux/middlewares/paginationWatcherMiddleware.js +2 -2
  67. package/dist/redux/middlewares/smartscriptMiddleware.js +8 -0
  68. package/dist/redux/reducers/pluginsStore.d.ts +3 -0
  69. package/dist/redux/reducers/pluginsStore.js +12 -0
  70. package/dist/redux/routerHistory.js +2 -2
  71. package/dist/redux/sagas/fetchModel.js +22 -6
  72. package/dist/redux/sagas/initInputs.js +6 -7
  73. package/dist/redux/sagas/saveData.js +2 -0
  74. package/dist/redux/selectors/app.js +13 -18
  75. package/dist/redux/selectors/cache.d.ts +17 -0
  76. package/dist/redux/selectors/cache.js +35 -0
  77. package/dist/redux/selectors/conditions.js +7 -7
  78. package/dist/redux/selectors/index.d.ts +8 -0
  79. package/dist/redux/selectors/index.js +8 -0
  80. package/dist/redux/selectors/inputs.js +3 -3
  81. package/dist/redux/selectors/library.d.ts +2 -2
  82. package/dist/redux/selectors/references.js +26 -26
  83. package/dist/redux/selectors/selectors.d.ts +2 -2
  84. package/dist/redux/selectors/selectors.js +19 -8
  85. package/dist/redux/selectors/selectors.test.js +6 -6
  86. package/dist/redux/selectors/user.js +5 -5
  87. package/dist/redux/store.d.ts +1 -1
  88. package/dist/redux/store.js +12 -4
  89. package/dist/service/api.manager.d.ts +1 -6
  90. package/dist/service/index.d.ts +3 -0
  91. package/dist/service/index.js +3 -0
  92. package/dist/types/PluginConfig.type.d.ts +57 -0
  93. package/dist/types/PluginConfig.type.js +1 -0
  94. package/dist/types/State.type.d.ts +6 -0
  95. package/dist/types/config.type.d.ts +3 -1
  96. package/dist/types/index.d.ts +11 -0
  97. package/dist/types/index.js +11 -0
  98. package/package.json +11 -11
  99. package/.depcheckrc +0 -1
  100. package/.eslintignore +0 -2
  101. package/.eslintrc +0 -5
  102. package/__mocks__/fileMock.js +0 -1
  103. package/babel.config.json +0 -3
  104. package/jest.config.ts +0 -193
  105. package/setupJest.ts +0 -8
  106. package/src/App.test.tsx +0 -41
  107. package/src/App.tsx +0 -152
  108. package/src/Globals.ts +0 -69
  109. package/src/Loader.tsx +0 -8
  110. package/src/PluginLoader.test.tsx +0 -70
  111. package/src/PluginLoader.tsx +0 -407
  112. package/src/Shimmer.tsx +0 -108
  113. package/src/ThemeLoader.test.tsx +0 -82
  114. package/src/ThemeLoader.tsx +0 -95
  115. package/src/components/PluginRoute.tsx +0 -48
  116. package/src/components/SmartScript.tsx +0 -166
  117. package/src/components/UserLocked/UserLockedComponent.tsx +0 -33
  118. package/src/components/View.test.tsx +0 -110
  119. package/src/components/View.tsx +0 -114
  120. package/src/componentsConnectors/connectBox.test.tsx +0 -226
  121. package/src/componentsConnectors/connectBox.tsx +0 -70
  122. package/src/componentsConnectors/connectDocument.test.tsx +0 -108
  123. package/src/componentsConnectors/connectDocument.tsx +0 -64
  124. package/src/componentsConnectors/connectHeader.tsx +0 -21
  125. package/src/componentsConnectors/connectMetaTitle.test.tsx +0 -40
  126. package/src/componentsConnectors/connectMetaTitle.tsx +0 -8
  127. package/src/componentsConnectors/connectOption.tsx +0 -222
  128. package/src/componentsConnectors/connectPagination.tsx +0 -102
  129. package/src/componentsConnectors/connectPreview.tsx +0 -5
  130. package/src/componentsConnectors/connectProgress.tsx +0 -59
  131. package/src/componentsConnectors/connectRootOption.tsx +0 -95
  132. package/src/componentsConnectors/connectSection.tsx +0 -79
  133. package/src/componentsConnectors/connectSummary.tsx +0 -21
  134. package/src/componentsConnectors/connectSummaryItem.tsx +0 -102
  135. package/src/componentsConnectors/connectTermsheet.tsx +0 -359
  136. package/src/componentsConnectors/connectVariable.tsx +0 -191
  137. package/src/componentsConnectors/connectWizardWrapper.tsx +0 -30
  138. package/src/componentsConnectors/connector/componentConnector.tsx +0 -219
  139. package/src/componentsConnectors/library.ts +0 -35
  140. package/src/config.test.ts +0 -63
  141. package/src/config.ts +0 -11
  142. package/src/constants/emailValidation.ts +0 -2
  143. package/src/constants/phoneValidation.ts +0 -4
  144. package/src/definitions/path.join.d.ts +0 -4
  145. package/src/helpers/outputsParsing.ts +0 -412
  146. package/src/helpers/preloadTheme.ts +0 -17
  147. package/src/helpers/scriptsLoader.ts +0 -20
  148. package/src/hooks/usePrevious.ts +0 -9
  149. package/src/libs/ConditionsInitiator.ts +0 -164
  150. package/src/libs/ConditionsRunner/DataPopulator.ts +0 -266
  151. package/src/libs/ConditionsRunner.ts +0 -454
  152. package/src/libs/DocumentsOutputs.ts +0 -171
  153. package/src/libs/Eval/EvalBase.ts +0 -116
  154. package/src/libs/Eval/EvalFunctions.ts +0 -724
  155. package/src/libs/Eval/NumbersToLetters.ts +0 -185
  156. package/src/libs/EvalVariable.ts +0 -265
  157. package/src/libs/EventsTracking.ts +0 -250
  158. package/src/libs/InputsInitiator.ts +0 -136
  159. package/src/libs/NumAuto.test.ts +0 -55
  160. package/src/libs/NumAuto.ts +0 -56
  161. package/src/libs/OvcConverter.ts +0 -285
  162. package/src/libs/PathReader.ts +0 -272
  163. package/src/libs/SectionValidity.test.ts +0 -146
  164. package/src/libs/SectionValidity.ts +0 -110
  165. package/src/libs/SmartScriptStore.ts +0 -492
  166. package/src/misc/test_model.ts +0 -14603
  167. package/src/misc/test_models/connectDocumen.testmodel.json +0 -178
  168. package/src/misc/test_models/setDefaults.testmodel.json +0 -279
  169. package/src/misc/test_models/testmodel.json +0 -1
  170. package/src/polyfills/index.ts +0 -5
  171. package/src/polyfills/objectValues.ts +0 -4
  172. package/src/polyfills/prepend.ts +0 -31
  173. package/src/polyfills/stringRepeat.ts +0 -44
  174. package/src/redux/actions/app.test.ts +0 -123
  175. package/src/redux/actions/app.ts +0 -249
  176. package/src/redux/actions/conditions.test.ts +0 -84
  177. package/src/redux/actions/conditions.ts +0 -135
  178. package/src/redux/actions/inputs.test.ts +0 -85
  179. package/src/redux/actions/inputs.ts +0 -111
  180. package/src/redux/actions/library.ts +0 -23
  181. package/src/redux/actions/mandatories.ts +0 -98
  182. package/src/redux/actions/references.test.ts +0 -48
  183. package/src/redux/actions/references.ts +0 -37
  184. package/src/redux/actions/sagas/data.test.ts +0 -11
  185. package/src/redux/actions/sagas/data.ts +0 -18
  186. package/src/redux/actions/sagas/model.test.ts +0 -14
  187. package/src/redux/actions/sagas/model.ts +0 -48
  188. package/src/redux/actions/sagas/user.ts +0 -25
  189. package/src/redux/actions/smartscript.ts +0 -55
  190. package/src/redux/actions/user.test.ts +0 -18
  191. package/src/redux/actions/user.ts +0 -41
  192. package/src/redux/constants/app.ts +0 -36
  193. package/src/redux/constants/conditions.ts +0 -25
  194. package/src/redux/constants/inputs.ts +0 -15
  195. package/src/redux/constants/mandatories.ts +0 -11
  196. package/src/redux/constants/references.ts +0 -7
  197. package/src/redux/constants/sagas/data.ts +0 -1
  198. package/src/redux/constants/sagas/model.ts +0 -2
  199. package/src/redux/constants/sagas/user.ts +0 -2
  200. package/src/redux/constants/smartscript.ts +0 -9
  201. package/src/redux/constants/user.ts +0 -6
  202. package/src/redux/listeners/subscriber.test.ts +0 -45
  203. package/src/redux/listeners/subscriber.ts +0 -29
  204. package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +0 -370
  205. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +0 -321
  206. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +0 -323
  207. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +0 -250
  208. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +0 -473
  209. package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +0 -230
  210. package/src/redux/middlewares/multiplesActionsMiddleware.ts +0 -121
  211. package/src/redux/middlewares/paginationWatcherMiddleware.ts +0 -251
  212. package/src/redux/middlewares/pluginsHookMiddleware.ts +0 -24
  213. package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +0 -118
  214. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +0 -462
  215. package/src/redux/middlewares/smartscriptMiddleware.ts +0 -228
  216. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +0 -41
  217. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +0 -16
  218. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +0 -16
  219. package/src/redux/reducers/app/instance/initInstance.ts +0 -29
  220. package/src/redux/reducers/app/instance/setDataStatus.ts +0 -16
  221. package/src/redux/reducers/app/instance/updateInstance.ts +0 -30
  222. package/src/redux/reducers/app/instance/updateInstancePaid.ts +0 -20
  223. package/src/redux/reducers/app/instance.test.ts +0 -106
  224. package/src/redux/reducers/app/meta/fetchModelFailed.ts +0 -11
  225. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +0 -11
  226. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +0 -11
  227. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +0 -18
  228. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +0 -11
  229. package/src/redux/reducers/app/meta/initMeta.ts +0 -22
  230. package/src/redux/reducers/app/meta/setModelUuid.ts +0 -17
  231. package/src/redux/reducers/app/meta.test.ts +0 -90
  232. package/src/redux/reducers/app/pagination/goNextPage.ts +0 -69
  233. package/src/redux/reducers/app/pagination/goPage.ts +0 -81
  234. package/src/redux/reducers/app/pagination/goPreviousPage.ts +0 -60
  235. package/src/redux/reducers/app/pagination/initPagination.ts +0 -46
  236. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +0 -77
  237. package/src/redux/reducers/app/pagination.test.ts +0 -363
  238. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +0 -40
  239. package/src/redux/reducers/app/wizard.test.ts +0 -84
  240. package/src/redux/reducers/app.test.ts +0 -336
  241. package/src/redux/reducers/app.ts +0 -150
  242. package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +0 -131
  243. package/src/redux/reducers/conditions/addMultipleOccurency.ts +0 -155
  244. package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +0 -95
  245. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +0 -141
  246. package/src/redux/reducers/conditions/initConditions.ts +0 -18
  247. package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +0 -47
  248. package/src/redux/reducers/conditions/updateDocumentConditions.ts +0 -21
  249. package/src/redux/reducers/conditions/updateOptionConditions.ts +0 -24
  250. package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +0 -50
  251. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +0 -28
  252. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +0 -29
  253. package/src/redux/reducers/conditions/updateSectionConditions.ts +0 -28
  254. package/src/redux/reducers/conditions/updateVariableConditions.ts +0 -25
  255. package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +0 -50
  256. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +0 -28
  257. package/src/redux/reducers/conditions.test.ts +0 -241
  258. package/src/redux/reducers/conditions.ts +0 -68
  259. package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +0 -117
  260. package/src/redux/reducers/inputs/addMultipleOccurency.ts +0 -50
  261. package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +0 -70
  262. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +0 -50
  263. package/src/redux/reducers/inputs/initOption.ts +0 -16
  264. package/src/redux/reducers/inputs/initVariable.ts +0 -16
  265. package/src/redux/reducers/inputs/updateOptionInput.ts +0 -24
  266. package/src/redux/reducers/inputs/updateVariableInput.ts +0 -24
  267. package/src/redux/reducers/inputs.test.ts +0 -221
  268. package/src/redux/reducers/inputs.ts +0 -51
  269. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +0 -52
  270. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +0 -55
  271. package/src/redux/reducers/mandatories/initMandatoryOption.ts +0 -17
  272. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +0 -17
  273. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +0 -17
  274. package/src/redux/reducers/mandatories/setMandatoryOption.ts +0 -25
  275. package/src/redux/reducers/mandatories/setMandatorySection.ts +0 -20
  276. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +0 -24
  277. package/src/redux/reducers/mandatories.ts +0 -56
  278. package/src/redux/reducers/references/initReferences.ts +0 -37
  279. package/src/redux/reducers/references/updateOptionMeta.ts +0 -73
  280. package/src/redux/reducers/references/updateVariableMeta.ts +0 -72
  281. package/src/redux/reducers/references.ts +0 -59
  282. package/src/redux/reducers/smartscript/enableSmartScript.ts +0 -13
  283. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +0 -14
  284. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +0 -30
  285. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +0 -30
  286. package/src/redux/reducers/smartscript.ts +0 -47
  287. package/src/redux/reducers/user/initUser.ts +0 -15
  288. package/src/redux/reducers/user/setUserStatus.ts +0 -13
  289. package/src/redux/reducers/user/setUserValidToken.ts +0 -13
  290. package/src/redux/reducers/user.test.ts +0 -51
  291. package/src/redux/reducers/user.ts +0 -40
  292. package/src/redux/routerHistore.test.ts +0 -19
  293. package/src/redux/routerHistory.ts +0 -26
  294. package/src/redux/sagas/fetchModel.test.ts +0 -76
  295. package/src/redux/sagas/fetchModel.ts +0 -683
  296. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +0 -42
  297. package/src/redux/sagas/initInputs.ts +0 -110
  298. package/src/redux/sagas/runner.test.ts +0 -12
  299. package/src/redux/sagas/runner.ts +0 -26
  300. package/src/redux/sagas/saveData.test.ts +0 -125
  301. package/src/redux/sagas/saveData.ts +0 -55
  302. package/src/redux/sagas/setDefaults.test.ts +0 -100
  303. package/src/redux/sagas/setDefaults.ts +0 -167
  304. package/src/redux/sagas/setUserEmail.ts +0 -175
  305. package/src/redux/selectors/app.test.ts +0 -162
  306. package/src/redux/selectors/app.ts +0 -331
  307. package/src/redux/selectors/conditions.test.ts +0 -92
  308. package/src/redux/selectors/conditions.ts +0 -293
  309. package/src/redux/selectors/inputs.test.ts +0 -72
  310. package/src/redux/selectors/inputs.ts +0 -76
  311. package/src/redux/selectors/library.ts +0 -17
  312. package/src/redux/selectors/mandatories.ts +0 -83
  313. package/src/redux/selectors/references.test.ts +0 -660
  314. package/src/redux/selectors/references.ts +0 -413
  315. package/src/redux/selectors/selectors.test.ts +0 -21
  316. package/src/redux/selectors/selectors.ts +0 -87
  317. package/src/redux/selectors/smartscript.ts +0 -30
  318. package/src/redux/selectors/user.test.ts +0 -39
  319. package/src/redux/selectors/user.ts +0 -45
  320. package/src/redux/store.test.ts +0 -22
  321. package/src/redux/store.ts +0 -100
  322. package/src/service/api.manager.ts +0 -261
  323. package/src/service/auth.service.ts +0 -5
  324. package/src/service/pardot.service.ts +0 -10
  325. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +0 -5
  326. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +0 -11
  327. package/src/tests-misc/plugins/jestTestPlugin/index.ts +0 -11
  328. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +0 -8
  329. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +0 -5
  330. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +0 -5
  331. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +0 -5
  332. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +0 -3
  333. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +0 -1
  334. package/src/tests-misc/themes/jestTestTheme/index.ts +0 -13
  335. package/src/types/Actions.type.ts +0 -612
  336. package/src/types/Components.type.ts +0 -181
  337. package/src/types/State.type.ts +0 -323
  338. package/src/types/Termsheet.type.ts +0 -28
  339. package/src/types/api.type.ts +0 -37
  340. package/src/types/config.type.ts +0 -55
  341. package/src/types/env.type.ts +0 -5
  342. package/src/types/getActions.type.ts +0 -3
  343. package/src/types/getConnectors.type.ts +0 -5
  344. package/src/types/getSelectors.type.ts +0 -3
  345. package/src/wizard-params.ts +0 -56
  346. 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
- }