@inseefr/lunatic 0.1.0-hackathon → 0.1.0-v2

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 (350) hide show
  1. package/lib/index.js +1433 -835
  2. package/lib/index.js.map +1 -1
  3. package/package.json +11 -8
  4. package/src/components/breadcrumb/component.js +29 -29
  5. package/src/components/button/index.js +1 -1
  6. package/src/components/button/lunatic-button.js +32 -0
  7. package/src/components/checkbox/checkbox-boolean/index.js +1 -0
  8. package/src/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +44 -0
  9. package/src/components/checkbox/checkbox-group/checkbox-group.js +78 -0
  10. package/src/components/checkbox/checkbox-group/checkbox-option.js +46 -0
  11. package/src/components/checkbox/checkbox-group/index.js +1 -0
  12. package/src/components/checkbox/checkbox-group/lunatic-checkbox-group.js +32 -0
  13. package/src/components/checkbox/checkbox-one/index.js +1 -0
  14. package/src/components/checkbox/checkbox-one/lunatic-checkbox-one.js +7 -0
  15. package/src/components/checkbox/checkbox.scss +1 -73
  16. package/src/components/checkbox/commons/checkbox-option.js +49 -0
  17. package/src/components/checkbox/commons/index.js +1 -0
  18. package/src/components/checkbox/index.js +3 -3
  19. package/src/components/commons/components/field-container/field-container.js +28 -0
  20. package/src/components/commons/components/field-container/field-container.scss +0 -0
  21. package/src/components/commons/components/field-container/index.js +1 -0
  22. package/src/components/commons/components/fieldset.js +12 -0
  23. package/src/components/commons/components/input-container.js +30 -0
  24. package/src/components/commons/components/label.js +14 -0
  25. package/src/components/commons/components/lunatic-field.js +35 -0
  26. package/src/components/commons/create-customizable-field.js +13 -0
  27. package/src/components/commons/index.js +9 -0
  28. package/src/components/commons/use-on-handle-change.js +16 -0
  29. package/src/components/commons/use-options-keydown.js +22 -0
  30. package/src/components/commons/use-previous.js +11 -0
  31. package/src/components/component-wrapper/controls/component.js +70 -0
  32. package/src/components/component-wrapper/controls/controls.scss +6 -0
  33. package/src/components/component-wrapper/controls/index.js +1 -0
  34. package/src/components/component-wrapper/controls/validators/datepicker.js +33 -0
  35. package/src/components/component-wrapper/controls/validators/index.js +16 -0
  36. package/src/components/component-wrapper/controls/validators/input-number.js +23 -0
  37. package/src/components/{missing-wrapper → component-wrapper}/index.js +1 -1
  38. package/src/components/{missing-wrapper → component-wrapper/missing}/component.js +72 -12
  39. package/src/components/component-wrapper/missing/index.js +1 -0
  40. package/src/components/{missing-wrapper → component-wrapper/missing}/missing.scss +0 -0
  41. package/src/components/component-wrapper/wrapper.js +23 -0
  42. package/src/components/components.js +22 -18
  43. package/src/components/datepicker/datepicker.js +25 -0
  44. package/src/components/datepicker/index.js +1 -1
  45. package/src/components/datepicker/lunatic-datepicker.js +50 -0
  46. package/src/components/declarations/declaration.js +11 -0
  47. package/src/components/declarations/declarations-after-text.js +8 -0
  48. package/src/components/declarations/declarations-before-text.js +8 -0
  49. package/src/components/declarations/declarations-detachable.js +8 -0
  50. package/src/components/declarations/declarations.js +35 -0
  51. package/src/components/declarations/index.js +4 -1
  52. package/src/components/declarations/wrappers/input-declarations-wrapper.js +40 -12
  53. package/src/components/declarations/wrappers/list-declarations-wrapper.js +235 -232
  54. package/src/components/dropdown/commons/actions.js +40 -31
  55. package/src/components/dropdown/commons/components/panel.js +78 -78
  56. package/src/components/dropdown/commons/reducer.js +152 -149
  57. package/src/components/dropdown/component.js +121 -115
  58. package/src/components/dropdown/dropdown-edit/dropdown-edit.js +6 -0
  59. package/src/components/dropdown/dropdown-simple/dropdown.js +8 -1
  60. package/src/components/filter-description/component.js +48 -42
  61. package/src/components/icon/component.js +31 -33
  62. package/src/components/index.scss +5 -3
  63. package/src/components/input/index.js +1 -2
  64. package/src/components/input/input.js +45 -9
  65. package/src/components/input/input.scss +0 -6
  66. package/src/components/input/lunatic-input.js +53 -0
  67. package/src/components/input-number/index.js +1 -0
  68. package/src/components/input-number/input-number.js +38 -0
  69. package/src/components/input-number/input-number.scss +0 -0
  70. package/src/components/input-number/lunatic-input-number.js +50 -0
  71. package/src/components/loop/{component.js → _old/component.js} +1 -0
  72. package/src/components/loop/{loop.scss → _old/loop.scss} +0 -0
  73. package/src/components/loop/{wrapper.js → _old/wrapper.js} +15 -15
  74. package/src/components/loop/block-for-loop/block-for-loop-ochestrator.js +6 -0
  75. package/src/components/loop/block-for-loop/block-for-loop.js +91 -0
  76. package/src/components/loop/block-for-loop/index.js +1 -0
  77. package/src/components/loop/block-for-loop/row.js +52 -0
  78. package/src/components/loop/commons/create-loop-orchestrator.js +36 -0
  79. package/src/components/loop/commons/index.js +2 -0
  80. package/src/components/loop/commons/row-component.js +52 -0
  81. package/src/components/loop/index.js +1 -1
  82. package/src/components/loop/loop.js +78 -0
  83. package/src/components/loop/roster-for-loop/add-row-button.js +12 -0
  84. package/src/components/loop/roster-for-loop/body.js +44 -0
  85. package/src/components/loop/roster-for-loop/header.js +25 -0
  86. package/src/components/loop/roster-for-loop/html-table/table.js +11 -0
  87. package/src/components/loop/roster-for-loop/html-table/tbody.js +11 -0
  88. package/src/components/loop/roster-for-loop/html-table/td.js +14 -0
  89. package/src/components/loop/roster-for-loop/html-table/th.js +11 -0
  90. package/src/components/loop/roster-for-loop/html-table/thead.js +11 -0
  91. package/src/components/loop/roster-for-loop/html-table/tr.js +11 -0
  92. package/src/components/loop/roster-for-loop/index.js +1 -0
  93. package/src/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +6 -0
  94. package/src/components/loop/roster-for-loop/roster-for-loop.js +90 -0
  95. package/src/components/loop/roster-for-loop/roster-table.js +39 -0
  96. package/src/components/loop/roster-for-loop/roster.scss +42 -0
  97. package/src/components/loop/roster-for-loop/row.js +65 -0
  98. package/src/components/loop-constructor/block/component.js +2 -2
  99. package/src/components/loop-constructor/block/index.js +1 -1
  100. package/src/components/loop-constructor/index.js +1 -1
  101. package/src/components/loop-constructor/roster/component.js +2 -2
  102. package/src/components/loop-constructor/roster/index.js +1 -1
  103. package/src/components/loop-constructor/wrapper/body-component.js +6 -0
  104. package/src/components/loop-constructor/wrapper/build-components.js +33 -33
  105. package/src/components/loop-constructor/wrapper/index.js +1 -1
  106. package/src/components/modal/component.js +42 -0
  107. package/src/components/modal/index.js +1 -0
  108. package/src/components/modal/modal.scss +33 -0
  109. package/src/components/radio/index.js +1 -1
  110. package/src/components/radio/lunatic-radio-group.js +45 -0
  111. package/src/components/radio/radio-group.js +33 -0
  112. package/src/components/radio/radio-option.js +87 -0
  113. package/src/components/radio/radio.scss +52 -52
  114. package/src/components/sequence/index.js +1 -1
  115. package/src/components/sequence/sequence.js +75 -0
  116. package/src/components/subsequence/index.js +1 -1
  117. package/src/components/subsequence/subsequence.js +73 -0
  118. package/src/components/suggester/check-store.js +70 -70
  119. package/src/components/suggester/components/panel/option-container.js +11 -10
  120. package/src/components/suggester/components/panel/panel.js +20 -6
  121. package/src/components/suggester/components/selection/label.js +7 -6
  122. package/src/components/suggester/components/selection/selection.js +36 -11
  123. package/src/components/suggester/components/suggester-content.js +35 -42
  124. package/src/components/suggester/components/suggester.js +45 -26
  125. package/src/components/suggester/{components/create-on-keydown-callback.js → create-on-keydown-callback.js} +28 -28
  126. package/src/components/suggester/find-best-label/find-best-label.js +3 -1
  127. package/src/components/suggester/idb-suggester.js +2 -1
  128. package/src/components/suggester/lunatic-suggester.js +48 -96
  129. package/src/components/suggester/searching/create-searching.js +3 -1
  130. package/src/components/suggester/suggester-wrapper.js +75 -9
  131. package/src/components/switch/index.js +1 -0
  132. package/src/components/switch/lunatic-switch.js +49 -0
  133. package/src/components/switch/switch.js +72 -0
  134. package/src/components/switch/switch.scss +47 -0
  135. package/src/components/table/table.js +164 -158
  136. package/src/components/textarea/component.js +11 -5
  137. package/src/components/tooltip/response.js +58 -52
  138. package/src/stories/checkbox-boolean/data-forced.json +48 -48
  139. package/src/stories/checkbox-group/data-vtl.json +102 -102
  140. package/src/stories/cleaning/cleaning.stories.js +39 -0
  141. package/src/stories/cleaning/simple-loop.json +911 -0
  142. package/src/stories/cleaning/simpsons.json +5839 -0
  143. package/src/stories/datepicker/data.json +45 -43
  144. package/src/stories/declarations/declarations.stories.js +20 -13
  145. package/src/stories/icons/icons.stories.js +24 -16
  146. package/src/stories/loop-constructor/README.md +27 -27
  147. package/src/stories/loop-constructor/data-input-forced.json +64 -64
  148. package/src/stories/loop-constructor/data-input.json +100 -100
  149. package/src/stories/loop-constructor/data-loop-forced.json +66 -66
  150. package/src/stories/loop-constructor/data-loop-static-forced.json +66 -66
  151. package/src/stories/loop-constructor/data-loop-static.json +81 -81
  152. package/src/stories/loop-constructor/data-loop.json +81 -81
  153. package/src/stories/loop-constructor/data-roster-forced.json +68 -68
  154. package/src/stories/loop-constructor/data-roster.json +83 -83
  155. package/src/stories/loop-constructor/loop-constructor.stories.js +180 -180
  156. package/src/stories/questionnaire/logement-queen.json +23234 -0
  157. package/src/stories/questionnaire/logement.json +22068 -26812
  158. package/src/stories/questionnaire/questionnaire.stories.js +86 -29
  159. package/src/stories/questionnaire/update-external/data.json +1 -0
  160. package/src/stories/questionnaire/update-external/questionnaire.json +75 -0
  161. package/src/stories/suggester/bailleurs-sociaux-2021/fetch-bailleurs.js +12 -0
  162. package/src/stories/suggester/bailleurs-sociaux-2021/index.js +1 -0
  163. package/src/stories/suggester/data-auto.json +1 -0
  164. package/src/stories/suggester/data.json +35 -2
  165. package/src/stories/suggester/lunatic-suggester-mui.scss +27 -0
  166. package/src/stories/suggester/suggester-material-ui.js +148 -0
  167. package/src/stories/suggester/suggester-workers.stories.js +48 -1
  168. package/src/stories/suggester/suggester.stories.js +27 -1
  169. package/src/stories/switch/README.md +31 -0
  170. package/src/stories/switch/SwitchMaterialUI.js +35 -0
  171. package/src/stories/switch/data-forced.json +48 -0
  172. package/src/stories/switch/data.json +80 -0
  173. package/src/stories/switch/switch.stories.js +78 -0
  174. package/src/stories/utils/custom-lunatic.scss +28 -23
  175. package/src/stories/utils/orchestrator.js +151 -58
  176. package/src/stories/utils/waiting/index.js +1 -0
  177. package/src/stories/utils/waiting/preloader.svg +1 -0
  178. package/src/stories/utils/waiting/waiting.js +21 -0
  179. package/src/stories/utils/waiting/waiting.scss +21 -0
  180. package/src/tests/sample.spec.js +5 -0
  181. package/src/utils/icons/checkbox-checked.icon.js +25 -0
  182. package/src/utils/icons/checkbox-unchecked.icon.js +25 -0
  183. package/src/utils/icons/radio-checked.icon.js +25 -0
  184. package/src/utils/icons/radio-unchecked.icon.js +25 -0
  185. package/src/utils/lib/controls/index.js +1 -0
  186. package/src/utils/lib/controls/utils.js +146 -0
  187. package/src/utils/lib/index.js +20 -19
  188. package/src/utils/lib/pagination/navigation/shared.js +7 -4
  189. package/src/utils/lib/responses.js +9 -7
  190. package/src/utils/lib/tooltip/build-response.js +53 -41
  191. package/src/utils/store-tools/auto-load.js +2 -1
  192. package/src/utils/store-tools/create/index.js +2 -1
  193. package/src/utils/store-tools/create/update-store-info.js +26 -26
  194. package/src/utils/store-tools/index.js +7 -5
  195. package/src/utils/suggester-workers/append-to-index/create-append-task.js +3 -1
  196. package/src/utils/suggester-workers/commons-tokenizer/create-entity-tokenizer.js +56 -0
  197. package/src/utils/suggester-workers/commons-tokenizer/create-fields-tokenizer.js +56 -0
  198. package/src/utils/suggester-workers/commons-tokenizer/create-filter-stop-words.js +11 -11
  199. package/src/utils/suggester-workers/commons-tokenizer/filters/compose-filters.js +10 -0
  200. package/src/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.js +17 -0
  201. package/src/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.spec.js +14 -0
  202. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-accents.js +12 -0
  203. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-accents.spec.js +12 -0
  204. package/src/utils/suggester-workers/commons-tokenizer/{filter-double.js → filters/filter-double.js} +0 -0
  205. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-double.spec.js +20 -0
  206. package/src/utils/suggester-workers/commons-tokenizer/{filter-length.js → filters/filter-length.js} +0 -0
  207. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-length.spec.js +18 -0
  208. package/src/utils/suggester-workers/commons-tokenizer/{filter-stemmer.js → filters/filter-stemmer.js} +2 -2
  209. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.spec.js +12 -0
  210. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.js +36 -0
  211. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +12 -0
  212. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.js +10 -0
  213. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.spec.js +12 -0
  214. package/src/utils/suggester-workers/commons-tokenizer/filters/index.js +2 -0
  215. package/src/utils/suggester-workers/commons-tokenizer/{stop-words.js → filters/stop-words.js} +0 -0
  216. package/src/utils/suggester-workers/commons-tokenizer/index.js +6 -5
  217. package/src/utils/suggester-workers/commons-tokenizer/prepare-string-indexation.js +7 -3
  218. package/src/utils/suggester-workers/commons-tokenizer/soft-tokenizer.js +1 -1
  219. package/src/utils/suggester-workers/create-worker.js +55 -0
  220. package/src/utils/suggester-workers/find-best-label/tokenize.js +2 -5
  221. package/src/utils/suggester-workers/{query-parser → searching/query-parser}/index.js +0 -0
  222. package/src/utils/suggester-workers/searching/query-parser/query-parser-soft.js +7 -0
  223. package/src/utils/suggester-workers/{query-parser → searching/query-parser}/query-parser-soft.spec.js +0 -0
  224. package/src/utils/suggester-workers/searching/query-parser/query-parser-tokenized.js +34 -0
  225. package/src/utils/suggester-workers/searching/resolve-query-parser.js +2 -2
  226. package/src/utils/suggester-workers/searching/searching.js +2 -2
  227. package/src/utils/to-expose/{calculated-variables.js → _old/calculated-variables.js} +0 -0
  228. package/src/utils/to-expose/{handler.js → _old/handler.js} +22 -0
  229. package/src/utils/to-expose/{init-questionnaire.js → _old/init-questionnaire.js} +0 -0
  230. package/src/utils/to-expose/{state.js → _old/state.js} +13 -14
  231. package/src/utils/to-expose/hooks/filter-components.js +106 -106
  232. package/src/utils/to-expose/hooks/index.js +1 -1
  233. package/src/utils/to-expose/hooks/lunatic.js +68 -7
  234. package/src/utils/to-expose/hooks/use-lunatic/actions.js +23 -0
  235. package/src/utils/to-expose/hooks/use-lunatic/commons/check-loops.js +61 -0
  236. package/src/utils/to-expose/hooks/use-lunatic/commons/create-map-pages.js +69 -0
  237. package/src/utils/to-expose/hooks/use-lunatic/commons/execute-condition-filter.js +16 -0
  238. package/src/utils/to-expose/hooks/use-lunatic/commons/execute-expression/create-execute-expression.js +182 -0
  239. package/src/utils/to-expose/hooks/use-lunatic/commons/execute-expression/create-memoizer.js +42 -0
  240. package/src/utils/to-expose/hooks/use-lunatic/commons/execute-expression/create-refresh-calculated.js +50 -0
  241. package/src/utils/to-expose/hooks/use-lunatic/commons/execute-expression/execute-expression.js +60 -0
  242. package/src/utils/to-expose/hooks/use-lunatic/commons/execute-expression/get-expressions-variables.js +22 -0
  243. package/src/utils/to-expose/hooks/use-lunatic/commons/execute-expression/index.js +1 -0
  244. package/src/utils/to-expose/hooks/use-lunatic/commons/fill-component-expressions.js +113 -0
  245. package/src/utils/to-expose/hooks/use-lunatic/commons/fill-components.js +31 -0
  246. package/src/utils/to-expose/hooks/use-lunatic/commons/get-compatible-vtl-expression.js +14 -0
  247. package/src/utils/to-expose/hooks/use-lunatic/commons/get-component-value/get-component-value.js +161 -0
  248. package/src/utils/to-expose/hooks/use-lunatic/commons/get-component-value/index.js +1 -0
  249. package/src/utils/to-expose/hooks/use-lunatic/commons/get-components-from-state.js +24 -0
  250. package/src/utils/to-expose/hooks/use-lunatic/commons/get-page-tag.js +10 -0
  251. package/src/utils/to-expose/hooks/use-lunatic/commons/index.js +12 -0
  252. package/src/utils/to-expose/hooks/use-lunatic/commons/is-First-last-page.js +8 -0
  253. package/src/utils/to-expose/hooks/use-lunatic/commons/is-paginated-loop.js +6 -0
  254. package/src/utils/to-expose/hooks/use-lunatic/commons/load-suggesters.js +59 -0
  255. package/src/utils/to-expose/hooks/use-lunatic/commons/use-components-from-state.js +20 -0
  256. package/src/utils/to-expose/hooks/use-lunatic/index.js +1 -0
  257. package/src/utils/to-expose/hooks/use-lunatic/initial-state.js +22 -0
  258. package/src/utils/to-expose/hooks/use-lunatic/reducer/commons/index.js +3 -0
  259. package/src/utils/to-expose/hooks/use-lunatic/reducer/commons/is-empty-on-empty-page.js +29 -0
  260. package/src/utils/to-expose/hooks/use-lunatic/reducer/commons/resize-array-variable.js +26 -0
  261. package/src/utils/to-expose/hooks/use-lunatic/reducer/commons/validate-loop-condition-filter.js +20 -0
  262. package/src/utils/to-expose/hooks/use-lunatic/reducer/index.js +1 -0
  263. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-go-next-page.js +129 -0
  264. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-go-previous-page.js +131 -0
  265. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-handle-change/index.js +1 -0
  266. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +69 -0
  267. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.js +22 -0
  268. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.js +13 -0
  269. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-on-init.js +166 -0
  270. package/src/utils/to-expose/hooks/use-lunatic/reducer/reduce-on-set-waiting.js +7 -0
  271. package/src/utils/to-expose/hooks/use-lunatic/reducer/reducer.js +26 -0
  272. package/src/utils/to-expose/hooks/use-lunatic/use-lunatic.js +79 -0
  273. package/src/utils/to-expose/index.js +16 -11
  274. package/src/components/button/component.js +0 -53
  275. package/src/components/checkbox/boolean.js +0 -172
  276. package/src/components/checkbox/group.js +0 -231
  277. package/src/components/checkbox/one.js +0 -11
  278. package/src/components/datepicker/component.js +0 -11
  279. package/src/components/input/input-number.js +0 -54
  280. package/src/components/missing-wrapper/wrapper.js +0 -10
  281. package/src/components/radio/component.js +0 -9
  282. package/src/components/sequence/component.js +0 -50
  283. package/src/components/subsequence/component.js +0 -49
  284. package/src/tests/components/breadcrumb.spec.js +0 -13
  285. package/src/tests/components/button.spec.js +0 -11
  286. package/src/tests/components/checkbox-boolean.spec.js +0 -45
  287. package/src/tests/components/checkbox-group.spec.js +0 -53
  288. package/src/tests/components/checkbox-one.spec.js +0 -32
  289. package/src/tests/components/datepicker.spec.js +0 -22
  290. package/src/tests/components/declarations-wrappers/input-declarations-wrapper.spec.js +0 -67
  291. package/src/tests/components/declarations-wrappers/list-declarations-wrapper.spec.js +0 -52
  292. package/src/tests/components/declarations-wrappers/simple-declarations-wrapper.spec.js +0 -21
  293. package/src/tests/components/declarations.spec.js +0 -46
  294. package/src/tests/components/input-number.spec.js +0 -194
  295. package/src/tests/components/input.spec.js +0 -18
  296. package/src/tests/components/loops/loop-static.json +0 -66
  297. package/src/tests/components/loops/loop.json +0 -258
  298. package/src/tests/components/loops/loop.spec.js +0 -30
  299. package/src/tests/components/loops/roster-for-loop.spec.js +0 -18
  300. package/src/tests/components/loops/roster-loop.json +0 -71
  301. package/src/tests/components/missing-wrapper.spec.js +0 -33
  302. package/src/tests/components/progress-bar.spec.js +0 -15
  303. package/src/tests/components/radio.spec.js +0 -27
  304. package/src/tests/components/sequence.spec.js +0 -9
  305. package/src/tests/components/subsequence.spec.js +0 -9
  306. package/src/tests/components/table.spec.js +0 -11
  307. package/src/tests/components/textarea.spec.js +0 -18
  308. package/src/tests/components/tooltip.spec.js +0 -25
  309. package/src/tests/setup/setupTests.js +0 -4
  310. package/src/tests/utils/lib/alphabet.spec.js +0 -36
  311. package/src/tests/utils/lib/array.spec.js +0 -22
  312. package/src/tests/utils/lib/checkbox/group.spec.js +0 -72
  313. package/src/tests/utils/lib/decorator/title-decorator.spec.js +0 -12
  314. package/src/tests/utils/lib/input-number.spec.js +0 -18
  315. package/src/tests/utils/lib/items-positioning.spec.js +0 -17
  316. package/src/tests/utils/lib/label-position.spec.js +0 -22
  317. package/src/tests/utils/lib/loops/bindings.spec.js +0 -75
  318. package/src/tests/utils/lib/loops/shared.spec.js +0 -82
  319. package/src/tests/utils/lib/missing/missing.spec.js +0 -74
  320. package/src/tests/utils/lib/missing/mock.js +0 -137
  321. package/src/tests/utils/lib/pagination/shared.spec.js +0 -42
  322. package/src/tests/utils/lib/responses.spec.js +0 -64
  323. package/src/tests/utils/lib/style.spec.js +0 -26
  324. package/src/tests/utils/lib/table/roster.spec.js +0 -25
  325. package/src/tests/utils/lib/tooltip/build-response.spec.js +0 -95
  326. package/src/tests/utils/lib/tooltip/content.spec.js +0 -109
  327. package/src/tests/utils/to-expose/handler/handler.spec.js +0 -94
  328. package/src/tests/utils/to-expose/handler/questionnaire.json +0 -158
  329. package/src/tests/utils/to-expose/handler/results/index.js +0 -6
  330. package/src/tests/utils/to-expose/handler/results/res-double.json +0 -158
  331. package/src/tests/utils/to-expose/handler/results/res-input-collected.json +0 -158
  332. package/src/tests/utils/to-expose/handler/results/res-input-edited.json +0 -158
  333. package/src/tests/utils/to-expose/handler/results/res-loop.json +0 -158
  334. package/src/tests/utils/to-expose/handler/results/res-matrix.json +0 -158
  335. package/src/tests/utils/to-expose/handler/results/res-responses.json +0 -158
  336. package/src/tests/utils/to-expose/hooks/use-lunatic.spec.js +0 -46
  337. package/src/tests/utils/to-expose/init-questionnaire/data.json +0 -12
  338. package/src/tests/utils/to-expose/init-questionnaire/init-questionnaire.spec.js +0 -19
  339. package/src/tests/utils/to-expose/init-questionnaire/questionnaire.json +0 -148
  340. package/src/tests/utils/to-expose/init-questionnaire/result.json +0 -181
  341. package/src/tests/utils/to-expose/interpret/interpret.spec.js +0 -48
  342. package/src/tests/utils/to-expose/state/questionnaire.json +0 -61
  343. package/src/tests/utils/to-expose/state/results.js +0 -78
  344. package/src/tests/utils/to-expose/state/state.spec.js +0 -59
  345. package/src/utils/suggester-workers/commons-tokenizer/create-tokenizer.js +0 -103
  346. package/src/utils/suggester-workers/commons-tokenizer/filter-accents-to-lower.js +0 -9
  347. package/src/utils/suggester-workers/commons-tokenizer/filter-synonyms.js +0 -10
  348. package/src/utils/suggester-workers/query-parser/query-parser-soft.js +0 -7
  349. package/src/utils/suggester-workers/query-parser/query-parser-tokenized.js +0 -31
  350. package/src/utils/suggester-workers/query-parser/query-parser-tokenized.spec.js +0 -32
@@ -1,148 +0,0 @@
1
- {
2
- "components": [
3
- { "id": "1", "componentType": "Sequence", "page": "1" },
4
- {
5
- "id": "2",
6
- "componentType": "Input",
7
- "response": {
8
- "name": "inputOk"
9
- },
10
- "conditionFilter": { "value": "true" },
11
- "page": "1"
12
- },
13
- {
14
- "id": "3",
15
- "componentType": "CheckboxGroup",
16
- "bindingDependencies": ["inputOk"],
17
- "conditionFilter": {
18
- "value": "not(isnull(inputOk))",
19
- "bindingDependencies": ["inputOk"]
20
- },
21
- "page": "2",
22
- "responses": [
23
- {
24
- "response": {
25
- "name": "check1"
26
- }
27
- },
28
- {
29
- "response": {
30
- "name": "check2"
31
- }
32
- }
33
- ]
34
- },
35
- {
36
- "id": "4",
37
- "componentType": "Table",
38
- "page": "2",
39
- "cells": [
40
- [
41
- { "label": "label" },
42
- {
43
- "componentType": "Radio",
44
- "response": {
45
- "name": "table11"
46
- }
47
- }
48
- ]
49
- ],
50
- "conditionFilter": {
51
- "value": "true"
52
- }
53
- },
54
- {
55
- "id": "5",
56
- "componentType": "RosterForLoop",
57
- "page": "2",
58
- "components": [
59
- {
60
- "componentType": "Input",
61
- "id": "k3yn2qmr",
62
- "response": {
63
- "name": "Roster"
64
- },
65
- "page": "2"
66
- }
67
- ],
68
- "conditionFilter": {
69
- "value": "true"
70
- }
71
- }
72
- ],
73
- "variables": [
74
- { "variableType": "EXTERNAL", "name": "VAR_EXTERNAL", "value": null },
75
- {
76
- "variableType": "COLLECTED",
77
- "componentRef": "2",
78
- "name": "inputOk",
79
- "values": {
80
- "PREVIOUS": null,
81
- "COLLECTED": null,
82
- "FORCED": null,
83
- "EDITED": null,
84
- "INPUTED": null
85
- }
86
- },
87
- {
88
- "variableType": "COLLECTED",
89
- "componentRef": "3",
90
- "name": "check1",
91
- "values": {
92
- "PREVIOUS": null,
93
- "COLLECTED": null,
94
- "FORCED": null,
95
- "EDITED": null,
96
- "INPUTED": null
97
- }
98
- },
99
- {
100
- "variableType": "COLLECTED",
101
- "componentRef": "3",
102
- "name": "check2",
103
- "values": {
104
- "PREVIOUS": null,
105
- "COLLECTED": null,
106
- "FORCED": null,
107
- "EDITED": null,
108
- "INPUTED": null
109
- }
110
- },
111
- {
112
- "variableType": "COLLECTED",
113
- "componentRef": "4",
114
- "name": "table11",
115
- "values": {
116
- "PREVIOUS": null,
117
- "COLLECTED": null,
118
- "FORCED": null,
119
- "EDITED": null,
120
- "INPUTED": null
121
- }
122
- },
123
- {
124
- "variableType": "COLLECTED",
125
- "componentRef": "5",
126
- "name": "Roster",
127
- "values": {
128
- "PREVIOUS": [null],
129
- "COLLECTED": [null],
130
- "FORCED": [null],
131
- "EDITED": [null],
132
- "INPUTED": [null]
133
- }
134
- },
135
- {
136
- "variableType": "CALCULATED",
137
- "name": "Test",
138
- "expression": "inputMissing || \" world\"",
139
- "bindingDependencies": ["inputMissing"]
140
- },
141
- {
142
- "variableType": "CALCULATED",
143
- "name": "TestOk",
144
- "expression": "inputOk || \" world\"",
145
- "bindingDependencies": ["inputOk"]
146
- }
147
- ]
148
- }
@@ -1,181 +0,0 @@
1
- {
2
- "components": [
3
- { "id": "1", "componentType": "Sequence", "depth": 1, "page": "1" },
4
- {
5
- "id": "2",
6
- "componentType": "Input",
7
- "response": {
8
- "name": "inputOk",
9
- "values": {
10
- "PREVIOUS": null,
11
- "COLLECTED": "Hello",
12
- "FORCED": null,
13
- "EDITED": null,
14
- "INPUTED": null
15
- }
16
- },
17
- "conditionFilter": { "value": "true" },
18
- "depth": 1,
19
- "page": "1"
20
- },
21
- {
22
- "id": "3",
23
- "componentType": "CheckboxGroup",
24
- "bindingDependencies": ["inputOk"],
25
- "conditionFilter": {
26
- "value": "not(isnull(inputOk))",
27
- "bindingDependencies": ["inputOk"]
28
- },
29
- "page": "2",
30
- "responses": [
31
- {
32
- "response": {
33
- "name": "check1",
34
- "values": {
35
- "PREVIOUS": null,
36
- "COLLECTED": true,
37
- "FORCED": null,
38
- "EDITED": null,
39
- "INPUTED": null
40
- }
41
- }
42
- },
43
- {
44
- "response": {
45
- "name": "check2",
46
- "values": {
47
- "PREVIOUS": null,
48
- "COLLECTED": false,
49
- "FORCED": true,
50
- "EDITED": null,
51
- "INPUTED": null
52
- }
53
- }
54
- }
55
- ],
56
- "depth": 1
57
- },
58
- {
59
- "id": "4",
60
- "componentType": "Table",
61
- "page": "2",
62
- "cells": [
63
- [
64
- { "label": "label", "depth": 1 },
65
- {
66
- "componentType": "Radio",
67
- "response": {
68
- "name": "table11",
69
- "values": {
70
- "PREVIOUS": null,
71
- "COLLECTED": "1",
72
- "FORCED": null,
73
- "EDITED": null,
74
- "INPUTED": null
75
- }
76
- },
77
- "depth": 1
78
- }
79
- ]
80
- ],
81
- "conditionFilter": {
82
- "value": "true"
83
- },
84
- "depth": 1
85
- },
86
- {
87
- "id": "5",
88
- "componentType": "RosterForLoop",
89
- "page": "2",
90
- "components": [
91
- {
92
- "componentType": "Input",
93
- "id": "k3yn2qmr",
94
- "response": {
95
- "name": "Roster",
96
- "values": {
97
- "PREVIOUS": [null],
98
- "COLLECTED": ["ok"],
99
- "FORCED": [null],
100
- "EDITED": [null],
101
- "INPUTED": [null]
102
- }
103
- },
104
- "page": "2",
105
- "depth": 2
106
- }
107
- ],
108
- "conditionFilter": {
109
- "value": "true"
110
- },
111
- "depth": 1
112
- }
113
- ],
114
- "variables": {
115
- "EXTERNAL": { "VAR_EXTERNAL": "Value VAR_EXTERNAL" },
116
- "CALCULATED": {
117
- "Test": {
118
- "expression": "inputMissing || \" world\"",
119
- "value": "inputMissing || \" world\"",
120
- "bindingDependencies": ["inputMissing"]
121
- },
122
- "TestOk": {
123
- "expression": "inputOk || \" world\"",
124
- "value": "Hello world",
125
- "bindingDependencies": ["inputOk"]
126
- }
127
- },
128
- "COLLECTED": {
129
- "inputOk": {
130
- "componentRef": "2",
131
- "values": {
132
- "PREVIOUS": null,
133
- "COLLECTED": "Hello",
134
- "FORCED": null,
135
- "EDITED": null,
136
- "INPUTED": null
137
- }
138
- },
139
- "check1": {
140
- "componentRef": "3",
141
- "values": {
142
- "PREVIOUS": null,
143
- "COLLECTED": true,
144
- "FORCED": null,
145
- "EDITED": null,
146
- "INPUTED": null
147
- }
148
- },
149
- "check2": {
150
- "componentRef": "3",
151
- "values": {
152
- "PREVIOUS": null,
153
- "COLLECTED": false,
154
- "FORCED": true,
155
- "EDITED": null,
156
- "INPUTED": null
157
- }
158
- },
159
- "table11": {
160
- "componentRef": "4",
161
- "values": {
162
- "PREVIOUS": null,
163
- "COLLECTED": "1",
164
- "FORCED": null,
165
- "EDITED": null,
166
- "INPUTED": null
167
- }
168
- },
169
- "Roster": {
170
- "componentRef": "5",
171
- "values": {
172
- "PREVIOUS": [null],
173
- "COLLECTED": ["ok"],
174
- "FORCED": [null],
175
- "EDITED": [null],
176
- "INPUTED": [null]
177
- }
178
- }
179
- }
180
- }
181
- }
@@ -1,48 +0,0 @@
1
- import { interpret } from 'utils/to-expose/interpret';
2
-
3
- describe('interpret', () => {
4
- describe('interpretVTL', () => {
5
- it('should return empty label', () => {
6
- expect(interpret()()()).toEqual('');
7
- });
8
- it('should return empty label', () => {
9
- expect(interpret({})()()).toEqual('');
10
- });
11
- it('should return the same label', () => {
12
- expect(interpret([])({})('label')).toEqual('label');
13
- });
14
- it('should return VTL interpreted label', () => {
15
- expect(interpret(['VTL'])({ NAME: 'Mauro' })('"Hello " || NAME')).toEqual(
16
- 'Hello Mauro'
17
- );
18
- });
19
- it('should return VTL interpreted label with default value', () => {
20
- expect(interpret(['VTL'])({ NAME: null })('"Hello " || NAME')).toEqual(
21
- 'Hello null'
22
- );
23
- });
24
- });
25
- describe('interpretVTLMD', () => {
26
- it('should return empty label', () => {
27
- expect(interpret()()()).toEqual('');
28
- });
29
- it('should return empty label', () => {
30
- expect(interpret({})()()).toEqual('');
31
- });
32
- it('should return the same label', () => {
33
- expect(interpret([])({})('label')).toEqual('label');
34
- });
35
- it('should return VTL interpreted label', () => {
36
- expect(
37
- interpret(['VTL', 'MD'])({ NAME: 'Mauro' })('"Hello " || NAME').props
38
- .source
39
- ).toEqual('Hello Mauro');
40
- });
41
- it('should return VTL interpreted label with default value', () => {
42
- expect(
43
- interpret(['VTL', 'MD'])({ NAME: null })('"Hello " || NAME').props
44
- .source
45
- ).toEqual('Hello null');
46
- });
47
- });
48
- });
@@ -1,61 +0,0 @@
1
- {
2
- "components": [],
3
- "variables": {
4
- "EXTERNAL": { "VAR_EXTERNAL": "Value VAR_EXTERNAL" },
5
- "CALCULATED": {
6
- "VAR_CALCULATED": { "expression": "VTL expression", "value": null }
7
- },
8
- "COLLECTED": {
9
- "input": {
10
- "componentRef": "2",
11
- "values": {
12
- "PREVIOUS": null,
13
- "COLLECTED": "My input",
14
- "FORCED": null,
15
- "EDITED": null,
16
- "INPUTED": null
17
- }
18
- },
19
- "check1": {
20
- "componentRef": "3",
21
- "values": {
22
- "PREVIOUS": null,
23
- "COLLECTED": true,
24
- "FORCED": null,
25
- "EDITED": null,
26
- "INPUTED": null
27
- }
28
- },
29
- "check2": {
30
- "componentRef": "3",
31
- "values": {
32
- "PREVIOUS": null,
33
- "COLLECTED": false,
34
- "FORCED": true,
35
- "EDITED": null,
36
- "INPUTED": null
37
- }
38
- },
39
- "table11": {
40
- "componentRef": "4",
41
- "values": {
42
- "PREVIOUS": null,
43
- "COLLECTED": "1",
44
- "FORCED": null,
45
- "EDITED": null,
46
- "INPUTED": null
47
- }
48
- },
49
- "table12": {
50
- "componentRef": "4",
51
- "values": {
52
- "PREVIOUS": null,
53
- "COLLECTED": null,
54
- "FORCED": null,
55
- "EDITED": null,
56
- "INPUTED": null
57
- }
58
- }
59
- }
60
- }
61
- }
@@ -1,78 +0,0 @@
1
- export const calculatedState = {
2
- VAR_CALCULATED: null,
3
- };
4
- export const collectedState = {
5
- input: {
6
- PREVIOUS: null,
7
- COLLECTED: 'My input',
8
- FORCED: null,
9
- EDITED: null,
10
- INPUTED: null,
11
- },
12
- check1: {
13
- PREVIOUS: null,
14
- COLLECTED: true,
15
- FORCED: null,
16
- EDITED: null,
17
- INPUTED: null,
18
- },
19
- check2: {
20
- PREVIOUS: null,
21
- COLLECTED: false,
22
- FORCED: true,
23
- EDITED: null,
24
- INPUTED: null,
25
- },
26
- table11: {
27
- PREVIOUS: null,
28
- COLLECTED: '1',
29
- FORCED: null,
30
- EDITED: null,
31
- INPUTED: null,
32
- },
33
- table12: {
34
- PREVIOUS: null,
35
- COLLECTED: null,
36
- FORCED: null,
37
- EDITED: null,
38
- INPUTED: null,
39
- },
40
- };
41
-
42
- export const externalState = { VAR_EXTERNAL: 'Value VAR_EXTERNAL' };
43
-
44
- export const state = {
45
- EXTERNAL: externalState,
46
- CALCULATED: calculatedState,
47
- COLLECTED: collectedState,
48
- };
49
-
50
- export const collectedStateCollected = {
51
- input: 'My input',
52
- check1: true,
53
- check2: false,
54
- table11: '1',
55
- };
56
-
57
- export const collectedStateCollectedWithNull = {
58
- ...collectedStateCollected,
59
- table12: null,
60
- };
61
-
62
- export const collectedStateForced = {
63
- check2: true,
64
- };
65
-
66
- export const collectedStateForcedWithNull = {
67
- input: null,
68
- check1: null,
69
- check2: true,
70
- table11: null,
71
- table12: null,
72
- };
73
-
74
- export const bindingsResults = {
75
- ...collectedStateCollectedWithNull,
76
- VAR_CALCULATED: null,
77
- ...externalState,
78
- };
@@ -1,59 +0,0 @@
1
- import {
2
- getState,
3
- getCollectedState,
4
- getCollectedStateByValueType,
5
- getBindings,
6
- } from 'utils/to-expose/state';
7
- import questionnaire from './questionnaire';
8
- import * as R from './results';
9
-
10
- describe('state', () => {
11
- describe('getState', () => {
12
- it('should return empty object', () => {
13
- expect(getState([])).toEqual({
14
- COLLECTED: {},
15
- CALCULATED: {},
16
- EXTERNAL: {},
17
- });
18
- });
19
- it('should return object', () => {
20
- expect(getState(questionnaire)).toEqual(R.state);
21
- });
22
- });
23
- describe('getCollectedState', () => {
24
- it('should return empty object', () => {
25
- expect(getCollectedState([])).toEqual({});
26
- });
27
- it('should return object', () => {
28
- expect(getCollectedState(questionnaire)).toEqual(R.collectedState);
29
- });
30
- });
31
- describe('getCollectedStateByValueType', () => {
32
- it('should return empty object', () => {
33
- expect(getCollectedStateByValueType([])('')).toEqual({});
34
- expect(getCollectedStateByValueType(questionnaire)('')).toEqual({});
35
- });
36
- it('should return object', () => {
37
- expect(getCollectedStateByValueType(questionnaire)('COLLECTED')).toEqual(
38
- R.collectedStateCollected
39
- );
40
- expect(getCollectedStateByValueType(questionnaire)('FORCED')).toEqual(
41
- R.collectedStateForced
42
- );
43
- expect(
44
- getCollectedStateByValueType(questionnaire)('COLLECTED', true)
45
- ).toEqual(R.collectedStateCollectedWithNull);
46
- expect(
47
- getCollectedStateByValueType(questionnaire)('FORCED', true)
48
- ).toEqual(R.collectedStateForcedWithNull);
49
- });
50
- });
51
- describe('getBindings', () => {
52
- it('should return empty object', () => {
53
- expect(getBindings([])).toEqual({});
54
- });
55
- it('should return object', () => {
56
- expect(getBindings(questionnaire)).toEqual(R.bindingsResults);
57
- });
58
- });
59
- });
@@ -1,103 +0,0 @@
1
- import tokenizer from 'string-tokenizer';
2
- import removeAccents from 'remove-accents';
3
- import prepareStringIndexation from './prepare-string-indexation';
4
- import softTokenizer from './soft-tokenizer';
5
- import createFilterStopWords from './create-filter-stop-words';
6
- import filterStemmer from './filter-stemmer';
7
- import filterLength from './filter-length';
8
- import filterSynonyms from './filter-synonyms';
9
- import getRegExpFromPattern from './get-regexp-from-pattern';
10
-
11
- function createStemmedFiltersStack({ filterStopWords }) {
12
- return [filterStemmer, filterSynonyms, filterStopWords, filterLength].reduce(
13
- function (next, current) {
14
- return (tokens, args) => next(current(tokens, args), args);
15
- },
16
- (t) => t
17
- );
18
- }
19
-
20
- function defaultTokenizeIt(string) {
21
- return [prepareStringIndexation(string)];
22
- }
23
-
24
- export function tokensToArray(tokenized) {
25
- return Object.entries(tokenized).reduce(function (a, [k, values]) {
26
- if (k.startsWith('pattern')) {
27
- if (typeof values === 'string') {
28
- return [...a, values];
29
- }
30
- return [...a, ...values];
31
- }
32
- return a;
33
- }, []);
34
- }
35
-
36
- function createMapFieldsTokenizer(fields, filtersStack) {
37
- return fields.reduce(function (mapFieldTokenizers, field) {
38
- const {
39
- name,
40
- rules = [],
41
- min,
42
- language = 'French',
43
- stemmer = true,
44
- synonyms = {},
45
- } = field;
46
- if (rules === 'soft') {
47
- return { ...mapFieldTokenizers, [name]: softTokenizer };
48
- }
49
- if (rules.length) {
50
- const tokenRules = rules.reduce(function (rulesMap, pattern, index) {
51
- return {
52
- ...rulesMap,
53
- [`pattern${name}${index}`]: getRegExpFromPattern(pattern),
54
- };
55
- }, {});
56
-
57
- return {
58
- ...mapFieldTokenizers,
59
- [name]: function (string) {
60
- const what = tokenizer().input(string).tokens(tokenRules).resolve();
61
- return filtersStack(tokensToArray(what), {
62
- min,
63
- language,
64
- stemmer,
65
- synonyms,
66
- });
67
- },
68
- };
69
- }
70
- return { ...mapFieldTokenizers, [name]: defaultTokenizeIt };
71
- }, {});
72
- }
73
-
74
- function createTokenizer(fields, stopWords) {
75
- const filterStopWords = createFilterStopWords(stopWords);
76
- const filtersStack = createStemmedFiltersStack({ filterStopWords });
77
- const FIELDS_TOKENIZER_MAP = createMapFieldsTokenizer(
78
- fields || [],
79
- filtersStack
80
- );
81
-
82
- return function (field, entity) {
83
- const { name } = field;
84
- const tokenizeIt = FIELDS_TOKENIZER_MAP[name];
85
- if (name in entity) {
86
- const value = `${entity[name]}`;
87
- return tokenizeIt(removeAccents(`${value}`).toLowerCase());
88
- }
89
- return [];
90
- };
91
- }
92
-
93
- function createEntityTokenizer(fields, stopWords) {
94
- const tokenizeAll = createTokenizer(fields, stopWords);
95
- return function (entity) {
96
- return fields.reduce(function (a, field) {
97
- const { name } = field;
98
- return { ...a, [name]: tokenizeAll(field, entity) };
99
- }, {});
100
- };
101
- }
102
-
103
- export default createEntityTokenizer;
@@ -1,9 +0,0 @@
1
- import removeAccents from 'remove-accents';
2
-
3
- function filterAccentToLower(tokens = []) {
4
- return tokens.map(function (token) {
5
- return removeAccents(token.toLowerCase());
6
- });
7
- }
8
-
9
- export default filterAccentToLower;
@@ -1,10 +0,0 @@
1
- function filterSynonyms(tokens, { synonyms }) {
2
- return tokens.reduce(function (prec, token) {
3
- if (token in synonyms) {
4
- return [...prec, token, ...synonyms[token]];
5
- }
6
- return [...prec, token];
7
- }, []);
8
- }
9
-
10
- export default filterSynonyms;
@@ -1,7 +0,0 @@
1
- import { prepareStringIndexation } from '../commons-tokenizer';
2
-
3
- function parser(string) {
4
- return [prepareStringIndexation(string, '-')];
5
- }
6
-
7
- export default parser;