@inseefr/lunatic 2.0.2 → 2.0.4-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 (746) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +25 -22
  3. package/lib/components/button/button.scss +24 -0
  4. package/lib/components/button/index.js +15 -0
  5. package/lib/components/button/lunatic-button.js +66 -0
  6. package/lib/components/checkbox/checkbox-boolean/checkbox-boolean.js +36 -0
  7. package/lib/components/checkbox/checkbox-boolean/index.js +15 -0
  8. package/lib/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +48 -0
  9. package/lib/components/checkbox/checkbox-group/checkbox-group.js +96 -0
  10. package/lib/components/checkbox/checkbox-group/checkbox.scss +4 -0
  11. package/lib/components/checkbox/checkbox-group/index.js +15 -0
  12. package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +42 -0
  13. package/lib/components/checkbox/checkbox-one/index.js +15 -0
  14. package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +39 -0
  15. package/lib/components/checkbox/commons/checkbox-option.js +68 -0
  16. package/lib/components/checkbox/commons/checkbox-option.scss +3 -0
  17. package/lib/components/checkbox/commons/index.js +15 -0
  18. package/lib/components/checkbox/index.js +31 -0
  19. package/lib/components/commons/build-style-object.js +36 -0
  20. package/lib/components/commons/components/combo-box/combo-box-container.js +37 -0
  21. package/lib/components/commons/components/combo-box/combo-box-content.js +73 -0
  22. package/lib/components/commons/components/combo-box/combo-box.js +222 -0
  23. package/lib/components/commons/components/combo-box/combo-box.scss +205 -0
  24. package/lib/components/commons/components/combo-box/index.js +15 -0
  25. package/lib/components/commons/components/combo-box/panel/index.js +15 -0
  26. package/lib/components/commons/components/combo-box/panel/option-container.js +77 -0
  27. package/lib/components/commons/components/combo-box/panel/panel-container.js +31 -0
  28. package/lib/components/commons/components/combo-box/panel/panel.js +70 -0
  29. package/lib/components/commons/components/combo-box/selection/delete.js +69 -0
  30. package/lib/components/commons/components/combo-box/selection/displayLabelOrInput.js +29 -0
  31. package/lib/components/commons/components/combo-box/selection/index.js +15 -0
  32. package/lib/components/commons/components/combo-box/selection/input.js +68 -0
  33. package/lib/components/commons/components/combo-box/selection/label-selection.js +39 -0
  34. package/lib/components/commons/components/combo-box/selection/selection-container.js +40 -0
  35. package/lib/components/commons/components/combo-box/selection/selection.js +71 -0
  36. package/lib/components/commons/components/combo-box/state-management/actions.js +98 -0
  37. package/lib/components/commons/components/combo-box/state-management/combo-box-context.js +20 -0
  38. package/lib/components/commons/components/combo-box/state-management/index.js +42 -0
  39. package/lib/components/commons/components/combo-box/state-management/initial-state.js +14 -0
  40. package/lib/components/commons/components/combo-box/state-management/reducer/index.js +15 -0
  41. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-blur.js +22 -0
  42. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-change.js +24 -0
  43. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-delete.js +23 -0
  44. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-focus.js +22 -0
  45. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-init.js +46 -0
  46. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/index.js +15 -0
  47. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/keyboard-key-codes.js +18 -0
  48. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-arrow-down.js +37 -0
  49. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-arrow-up.js +37 -0
  50. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-end.js +28 -0
  51. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-enter.js +23 -0
  52. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-escape.js +22 -0
  53. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-home.js +28 -0
  54. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-tab.js +22 -0
  55. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/reduce-on-keydown.js +59 -0
  56. package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-select.js +24 -0
  57. package/lib/components/commons/components/combo-box/state-management/reducer/reducer.js +63 -0
  58. package/lib/components/commons/components/create-lunatic-component/create-lunatic-component.js +75 -0
  59. package/lib/components/commons/components/create-lunatic-component/index.js +14 -0
  60. package/lib/components/commons/components/default-label-renderer.js +54 -0
  61. package/lib/components/commons/components/default-option-renderer.js +43 -0
  62. package/lib/components/commons/components/dragger/dragger.js +118 -0
  63. package/lib/components/commons/components/dragger/dragger.scss +8 -0
  64. package/lib/components/commons/components/dragger/index.js +15 -0
  65. package/lib/components/commons/components/errors/errors.js +55 -0
  66. package/lib/components/commons/components/errors/errors.scss +5 -0
  67. package/lib/components/commons/components/errors/index.js +15 -0
  68. package/lib/components/commons/components/fab/fab.js +56 -0
  69. package/lib/components/commons/components/fab/fab.scss +32 -0
  70. package/lib/components/commons/components/fab/index.js +15 -0
  71. package/lib/components/commons/components/field-container/field-container.js +48 -0
  72. package/lib/components/commons/components/field-container/field-container.scss +0 -0
  73. package/lib/components/commons/components/field-container/index.js +15 -0
  74. package/lib/components/commons/components/fieldset.js +26 -0
  75. package/lib/components/commons/components/fieldset.scss +5 -0
  76. package/lib/components/commons/components/html-table/index.js +55 -0
  77. package/lib/components/commons/components/html-table/table.js +38 -0
  78. package/lib/components/commons/components/html-table/tbody.js +38 -0
  79. package/lib/components/commons/components/html-table/td.js +50 -0
  80. package/lib/components/commons/components/html-table/th.js +48 -0
  81. package/lib/components/commons/components/html-table/thead.js +38 -0
  82. package/lib/components/commons/components/html-table/tr.js +40 -0
  83. package/lib/components/commons/components/is-network/index.js +15 -0
  84. package/lib/components/commons/components/is-network/is-network.js +70 -0
  85. package/lib/components/commons/components/is-network/use-online-status.js +55 -0
  86. package/lib/components/commons/components/label.js +35 -0
  87. package/lib/components/commons/components/lunatic-component.js +67 -0
  88. package/lib/components/commons/components/lunatic-fieldset-component.js +60 -0
  89. package/lib/components/commons/components/md-label/index.js +15 -0
  90. package/lib/components/commons/components/md-label/link.js +57 -0
  91. package/lib/components/commons/components/md-label/md-label.js +52 -0
  92. package/lib/components/commons/components/missing/index.js +15 -0
  93. package/lib/components/commons/components/missing/missing.js +90 -0
  94. package/lib/components/commons/components/missing/missing.scss +30 -0
  95. package/lib/components/commons/components/nothing-to-display.js +17 -0
  96. package/lib/components/commons/components/orchestrated-component.js +71 -0
  97. package/{src/components/tooltip → lib/components/commons/components/variable-status}/img/edited.png +0 -0
  98. package/{src/components/tooltip → lib/components/commons/components/variable-status}/img/forced.png +0 -0
  99. package/lib/components/commons/components/variable-status/img/index.js +23 -0
  100. package/lib/components/commons/components/variable-status/index.js +15 -0
  101. package/lib/components/commons/components/variable-status/variable-status.js +95 -0
  102. package/lib/components/commons/components/variable-status/variable-status.scss +39 -0
  103. package/lib/components/commons/create-customizable-field.js +37 -0
  104. package/lib/components/commons/create-row-orchestrator.js +60 -0
  105. package/lib/components/commons/icons/checkbox-checked.icon.js +41 -0
  106. package/lib/components/commons/icons/checkbox-unchecked.icon.js +41 -0
  107. package/lib/components/commons/icons/closed.icon.js +38 -0
  108. package/lib/components/commons/icons/cross.icon.js +38 -0
  109. package/lib/components/commons/icons/index.js +87 -0
  110. package/lib/components/commons/icons/load.icon.js +38 -0
  111. package/lib/components/commons/icons/lunatic-icon.js +25 -0
  112. package/lib/components/commons/icons/lunatic-icon.scss +3 -0
  113. package/lib/components/commons/icons/network.icon.js +38 -0
  114. package/lib/components/commons/icons/on-drag.icon.js +38 -0
  115. package/lib/components/commons/icons/opened.icon.js +38 -0
  116. package/lib/components/commons/icons/radio-checked.icon.js +41 -0
  117. package/lib/components/commons/icons/radio-unchecked.icon.js +41 -0
  118. package/lib/components/commons/index.js +162 -0
  119. package/lib/components/commons/prop-types/declarations.js +27 -0
  120. package/lib/components/commons/prop-types/index.js +47 -0
  121. package/lib/components/commons/prop-types/lines.js +17 -0
  122. package/lib/components/commons/prop-types/options.js +17 -0
  123. package/lib/components/commons/prop-types/response.js +17 -0
  124. package/lib/components/commons/prop-types/value-type.js +22 -0
  125. package/lib/components/commons/safety-label.js +34 -0
  126. package/lib/components/commons/use-document-add-event-listener.js +108 -0
  127. package/lib/components/commons/use-on-handle-change.js +22 -0
  128. package/lib/components/commons/use-options-keydown.js +29 -0
  129. package/lib/components/commons/use-previous.js +19 -0
  130. package/lib/components/components.js +188 -0
  131. package/lib/components/datepicker/datepicker.js +56 -0
  132. package/lib/components/datepicker/datepicker.scss +1 -0
  133. package/lib/components/datepicker/index.js +15 -0
  134. package/lib/components/datepicker/lunatic-datepicker.js +39 -0
  135. package/lib/components/declarations/declaration.js +26 -0
  136. package/lib/components/declarations/declarations-after-text.js +29 -0
  137. package/lib/components/declarations/declarations-before-text.js +29 -0
  138. package/lib/components/declarations/declarations-detachable.js +29 -0
  139. package/lib/components/declarations/declarations.js +61 -0
  140. package/lib/components/declarations/declarations.scss +36 -0
  141. package/lib/components/declarations/index.js +51 -0
  142. package/lib/components/dropdown/dropdown-simple/dropdown-simple.js +43 -0
  143. package/lib/components/dropdown/dropdown-simple/index.js +15 -0
  144. package/lib/components/dropdown/dropdown-simple/simple-label-renderer.js +53 -0
  145. package/lib/components/dropdown/dropdown-simple/simple-option-renderer.js +42 -0
  146. package/lib/components/dropdown/dropdown-writable/dropdown-writable.js +79 -0
  147. package/lib/components/dropdown/dropdown-writable/filter-tools/filter-options.js +47 -0
  148. package/lib/components/dropdown/dropdown-writable/filter-tools/letters-matching.js +40 -0
  149. package/lib/components/dropdown/dropdown-writable/filter-tools/match.js +27 -0
  150. package/lib/components/dropdown/dropdown-writable/filter-tools/prepare-prefix.js +17 -0
  151. package/lib/components/dropdown/dropdown-writable/index.js +15 -0
  152. package/lib/components/dropdown/dropdown-writable/writable-label-renderer.js +53 -0
  153. package/lib/components/dropdown/dropdown-writable/writable-option-renderer.js +170 -0
  154. package/lib/components/dropdown/dropdown.js +58 -0
  155. package/lib/components/dropdown/dropdown.scss +41 -0
  156. package/lib/components/dropdown/index.js +15 -0
  157. package/lib/components/dropdown/lunatic-dropdown.js +62 -0
  158. package/lib/components/filter-description/component.js +26 -0
  159. package/lib/components/filter-description/index.js +15 -0
  160. package/lib/components/index.js +32 -0
  161. package/lib/components/index.scss +136 -0
  162. package/lib/components/input/index.js +15 -0
  163. package/lib/components/input/input.js +61 -0
  164. package/lib/components/input/input.scss +32 -0
  165. package/lib/components/input/lunatic-input.js +43 -0
  166. package/lib/components/input-number/index.js +15 -0
  167. package/lib/components/input-number/input-number.js +61 -0
  168. package/lib/components/input-number/input-number.scss +7 -0
  169. package/lib/components/input-number/lunatic-input-number.js +37 -0
  170. package/lib/components/loop/block-for-loop/block-for-loop-ochestrator.js +16 -0
  171. package/lib/components/loop/block-for-loop/block-for-loop.js +171 -0
  172. package/lib/components/loop/block-for-loop/index.js +15 -0
  173. package/lib/components/loop/block-for-loop/row.js +84 -0
  174. package/lib/components/loop/commons/get-init-length.js +19 -0
  175. package/lib/components/loop/commons/handle-row-button.js +25 -0
  176. package/lib/components/loop/commons/index.js +23 -0
  177. package/lib/components/loop/commons/row-component.js +86 -0
  178. package/lib/components/loop/index.js +15 -0
  179. package/lib/components/loop/loop.js +94 -0
  180. package/lib/components/loop/roster-for-loop/body.js +69 -0
  181. package/lib/components/loop/roster-for-loop/header.js +42 -0
  182. package/lib/components/loop/roster-for-loop/index.js +15 -0
  183. package/lib/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +16 -0
  184. package/lib/components/loop/roster-for-loop/roster-for-loop.js +153 -0
  185. package/lib/components/loop/roster-for-loop/roster-table.js +61 -0
  186. package/lib/components/loop/roster-for-loop/roster.scss +42 -0
  187. package/lib/components/loop/roster-for-loop/row.js +88 -0
  188. package/lib/components/modal-controls/close-or-skip.js +46 -0
  189. package/lib/components/modal-controls/index.js +15 -0
  190. package/lib/components/modal-controls/modal-container.js +24 -0
  191. package/lib/components/modal-controls/modal-controls.js +94 -0
  192. package/lib/components/modal-controls/modal-controls.scss +47 -0
  193. package/lib/components/pairwise/index.js +15 -0
  194. package/lib/components/pairwise/links/index.js +15 -0
  195. package/lib/components/pairwise/links/orchestrator.js +16 -0
  196. package/lib/components/pairwise/links/pairwise-links.js +75 -0
  197. package/lib/components/pairwise/links/row.js +95 -0
  198. package/lib/components/radio/index.js +15 -0
  199. package/lib/components/radio/lunatic-radio-group.js +45 -0
  200. package/lib/components/radio/radio-group.js +48 -0
  201. package/lib/components/radio/radio-option.js +94 -0
  202. package/lib/components/radio/radio.scss +66 -0
  203. package/lib/components/sequence/index.js +15 -0
  204. package/lib/components/sequence/sequence.js +41 -0
  205. package/lib/components/sequence/sequence.scss +10 -0
  206. package/lib/components/subsequence/index.js +15 -0
  207. package/lib/components/subsequence/subsequence.js +38 -0
  208. package/lib/components/suggester/check-store.js +149 -0
  209. package/lib/components/suggester/default-style.scss +125 -0
  210. package/lib/components/suggester/find-best-label/find-best-label.js +67 -0
  211. package/lib/components/suggester/find-best-label/index.js +15 -0
  212. package/lib/components/suggester/idb-suggester.js +95 -0
  213. package/lib/components/suggester/index.js +15 -0
  214. package/lib/components/suggester/lunatic-suggester.js +94 -0
  215. package/lib/components/suggester/searching/create-searching.js +88 -0
  216. package/lib/components/suggester/searching/index.js +15 -0
  217. package/lib/components/suggester/suggester.js +172 -0
  218. package/lib/components/suggester-loader-widget/index.js +15 -0
  219. package/lib/components/suggester-loader-widget/loader-row.js +150 -0
  220. package/lib/components/suggester-loader-widget/loader.js +180 -0
  221. package/lib/components/suggester-loader-widget/progress.js +45 -0
  222. package/lib/components/suggester-loader-widget/tools/action-tool.js +35 -0
  223. package/lib/components/suggester-loader-widget/tools/index.js +23 -0
  224. package/lib/components/suggester-loader-widget/tools/tools.js +20 -0
  225. package/lib/components/suggester-loader-widget/widget-container.js +48 -0
  226. package/lib/components/suggester-loader-widget/widget.js +170 -0
  227. package/lib/components/suggester-loader-widget/widget.scss +176 -0
  228. package/lib/components/switch/index.js +15 -0
  229. package/lib/components/switch/lunatic-switch.js +59 -0
  230. package/lib/components/switch/switch.js +92 -0
  231. package/lib/components/switch/switch.scss +47 -0
  232. package/lib/components/table/cell.js +113 -0
  233. package/lib/components/table/components/cell.js +113 -0
  234. package/lib/components/table/components/header.js +48 -0
  235. package/lib/components/table/components/row.js +47 -0
  236. package/lib/components/table/components/table.js +38 -0
  237. package/lib/components/table/components/table.scss +27 -0
  238. package/lib/components/table/index.js +15 -0
  239. package/lib/components/table/lunatic-table.js +97 -0
  240. package/lib/components/table/table-orchestrator.js +55 -0
  241. package/lib/components/textarea/index.js +15 -0
  242. package/lib/components/textarea/lunatic-textarea.js +52 -0
  243. package/lib/components/textarea/textarea.js +54 -0
  244. package/lib/components/textarea/textarea.scss +8 -0
  245. package/lib/constants/component-types.js +8 -0
  246. package/lib/constants/declarations.js +26 -0
  247. package/lib/constants/event-types.js +28 -0
  248. package/lib/constants/index.js +70 -0
  249. package/lib/constants/supported-preferences.js +18 -0
  250. package/lib/constants/value-types.js +16 -0
  251. package/lib/constants/variable-types.js +12 -0
  252. package/lib/i18n/build-dictionary.js +56 -0
  253. package/lib/i18n/dictionary.js +26 -0
  254. package/lib/i18n/index.js +19 -0
  255. package/lib/index.js +21 -4300
  256. package/lib/stories/Introduction.stories.mdx +114 -0
  257. package/lib/stories/checkboxBoolean/checkboxBoolean.stories.js +35 -0
  258. package/lib/stories/checkboxBoolean/source.json +36 -0
  259. package/lib/stories/checkboxOne/checkboxOne.stories.js +35 -0
  260. package/lib/stories/checkboxOne/source.json +36 -0
  261. package/lib/stories/custom-mui/checkbox-boolean-mui.js +39 -0
  262. package/lib/stories/custom-mui/checkbox-group-mui.js +80 -0
  263. package/lib/stories/custom-mui/checkbox-one-mui.js +17 -0
  264. package/lib/stories/custom-mui/index.js +127 -0
  265. package/lib/stories/custom-mui/input-mui.js +61 -0
  266. package/lib/stories/custom-mui/input-number-mui.js +47 -0
  267. package/lib/stories/custom-mui/radio-mui.js +75 -0
  268. package/lib/stories/custom-mui/suggester-mui/index.js +15 -0
  269. package/lib/stories/custom-mui/suggester-mui/suggester-mui.js +328 -0
  270. package/lib/stories/custom-mui/switch-mui.js +51 -0
  271. package/lib/stories/custom-mui/table-mui.js +33 -0
  272. package/lib/stories/custom-mui/tbody-mui.js +27 -0
  273. package/lib/stories/custom-mui/td-mui.js +29 -0
  274. package/lib/stories/custom-mui/textarea-mui.js +51 -0
  275. package/lib/stories/custom-mui/th-mui.js +28 -0
  276. package/lib/stories/custom-mui/thead-mui.js +27 -0
  277. package/lib/stories/custom-mui/tr-mui.js +38 -0
  278. package/lib/stories/date-picker/data.json +3 -0
  279. package/lib/stories/date-picker/datepicker.stories.js +40 -0
  280. package/lib/stories/date-picker/source.json +91 -0
  281. package/lib/stories/dropdown/data.json +16 -0
  282. package/lib/stories/dropdown/dropdown.stories.js +41 -0
  283. package/lib/stories/dropdown/source.json +122 -0
  284. package/lib/stories/filter-description/filter-description.stories.js +58 -0
  285. package/lib/stories/filter-description/source-options.json +81 -0
  286. package/lib/stories/filter-description/source.json +11 -0
  287. package/lib/stories/input/data.json +1 -0
  288. package/lib/stories/input/input.stories.js +38 -0
  289. package/lib/stories/input/source.json +28 -0
  290. package/lib/stories/input-number/input-number.stories.js +43 -0
  291. package/lib/stories/input-number/source-euros.json +38 -0
  292. package/lib/stories/input-number/source.json +37 -0
  293. package/lib/stories/pairwise/data.json +13 -0
  294. package/lib/stories/pairwise/links.json +207 -0
  295. package/lib/stories/pairwise/pairwise-links.stories.js +39 -0
  296. package/lib/stories/paste-questionnaire/source.json +6290 -0
  297. package/lib/stories/paste-questionnaire/test.stories.js +91 -0
  298. package/lib/stories/questionnaires/logement/data.json +2691 -0
  299. package/lib/stories/questionnaires/logement/logement.stories.js +86 -0
  300. package/lib/stories/questionnaires/logement/source-sequence.json +34181 -0
  301. package/lib/stories/questionnaires/logement/source-sum.json +34612 -0
  302. package/lib/stories/questionnaires/logement/source.json +34191 -0
  303. package/lib/stories/questionnaires/simpsons/simpsons.stories.js +71 -0
  304. package/lib/stories/questionnaires/simpsons/source.json +6290 -0
  305. package/lib/stories/questionnaires-test/V2_DeclarationsSimples.json +848 -0
  306. package/lib/stories/questionnaires-test/V2_MinMaxSum_Boucles.json +509 -0
  307. package/lib/stories/questionnaires-test/V2_QuestSimple_Boucles.json +4091 -0
  308. package/lib/stories/questionnaires-test/V2_TCMRallyeGames.json +2892 -0
  309. package/lib/stories/questionnaires-test/controls/V2_ControlesNonNum_horsBoucle_PasPageFin.json +666 -0
  310. package/lib/stories/questionnaires-test/controls/V2_ControlesNum_horsBoucle_PasPageFin.json +1957 -0
  311. package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees2_PasPageFin.json +709 -0
  312. package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees_PasPageFin.json +533 -0
  313. package/lib/stories/questionnaires-test/controls/boucles-n.json +202 -0
  314. package/lib/stories/questionnaires-test/controls/controls.stories.js +108 -0
  315. package/lib/stories/questionnaires-test/test-dylan.json +558 -0
  316. package/lib/stories/questionnaires-test/test.stories.js +104 -0
  317. package/lib/stories/radio/radio.stories.js +35 -0
  318. package/lib/stories/radio/source.json +36 -0
  319. package/lib/stories/roster-for-loop/roster-for-loop.stories.js +35 -0
  320. package/lib/stories/roster-for-loop/source.json +114 -0
  321. package/lib/stories/suggester/source.json +234 -0
  322. package/lib/stories/suggester/suggester-workers.stories.js +242 -0
  323. package/lib/stories/suggester/suggester.stories.js +59 -0
  324. package/{src/stories/checkbox-one → lib/stories/switch}/README.md +31 -31
  325. package/lib/stories/switch/SwitchMaterialUI.js +51 -0
  326. package/{src/stories/checkbox-boolean/data.json → lib/stories/switch/data-forced.json} +48 -48
  327. package/lib/stories/switch/data.json +80 -0
  328. package/lib/stories/switch/switch.js +108 -0
  329. package/lib/stories/table/data-roster.json +1 -0
  330. package/lib/stories/table/data.json +1 -0
  331. package/{src/stories/table/data-roster.json → lib/stories/table/source-roster.json} +504 -461
  332. package/{src/stories/table/data-default.json → lib/stories/table/source.json} +19 -19
  333. package/lib/stories/table/table-dynamique.json +67 -0
  334. package/lib/stories/table/table.stories.js +73 -0
  335. package/lib/stories/utils/custom-lunatic.scss +28 -0
  336. package/lib/stories/utils/default-arg-types.js +23 -0
  337. package/lib/stories/utils/options.js +32 -0
  338. package/lib/stories/utils/orchestrator.js +188 -0
  339. package/lib/stories/utils/waiting/index.js +15 -0
  340. package/lib/stories/utils/waiting/preloader.svg +1 -0
  341. package/lib/stories/utils/waiting/waiting.js +40 -0
  342. package/lib/stories/utils/waiting/waiting.scss +21 -0
  343. package/lib/tests/sample.spec.js +7 -0
  344. package/lib/use-lunatic/actions.js +102 -0
  345. package/lib/use-lunatic/commons/calculated-variables.js +124 -0
  346. package/lib/use-lunatic/commons/check-loops.js +111 -0
  347. package/lib/use-lunatic/commons/compose.js +28 -0
  348. package/lib/use-lunatic/commons/create-map-pages.js +108 -0
  349. package/lib/use-lunatic/commons/execute-condition-filter.js +34 -0
  350. package/lib/use-lunatic/commons/execute-expression/create-execute-expression.js +308 -0
  351. package/lib/use-lunatic/commons/execute-expression/create-memoizer.js +78 -0
  352. package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.js +160 -0
  353. package/lib/use-lunatic/commons/execute-expression/execute-expression.js +118 -0
  354. package/lib/use-lunatic/commons/execute-expression/get-expressions-variables.js +51 -0
  355. package/lib/use-lunatic/commons/execute-expression/get-safety-expression.js +37 -0
  356. package/lib/use-lunatic/commons/execute-expression/index.js +15 -0
  357. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +149 -0
  358. package/lib/use-lunatic/commons/fill-components/fill-component-value.js +26 -0
  359. package/lib/use-lunatic/commons/fill-components/fill-components.js +47 -0
  360. package/lib/use-lunatic/commons/fill-components/fill-errors.js +31 -0
  361. package/lib/use-lunatic/commons/fill-components/fill-from-state.js +26 -0
  362. package/lib/use-lunatic/commons/fill-components/fill-management.js +27 -0
  363. package/lib/use-lunatic/commons/fill-components/fill-missing-response.js +37 -0
  364. package/lib/use-lunatic/commons/fill-components/fill-pagination.js +23 -0
  365. package/lib/use-lunatic/commons/fill-components/index.js +15 -0
  366. package/lib/use-lunatic/commons/get-compatible-vtl-expression.js +32 -0
  367. package/lib/use-lunatic/commons/get-component-value/get-component-value.js +217 -0
  368. package/lib/use-lunatic/commons/get-component-value/index.js +15 -0
  369. package/lib/use-lunatic/commons/get-components-from-state.js +44 -0
  370. package/lib/use-lunatic/commons/get-data.js +90 -0
  371. package/lib/use-lunatic/commons/get-errors-without-empty-value.js +31 -0
  372. package/lib/use-lunatic/commons/index.js +123 -0
  373. package/lib/use-lunatic/commons/is-First-last-page.js +20 -0
  374. package/lib/use-lunatic/commons/is-paginated-loop.js +15 -0
  375. package/lib/use-lunatic/commons/load-suggesters.js +199 -0
  376. package/lib/use-lunatic/commons/page-tag.js +83 -0
  377. package/lib/use-lunatic/commons/use-components-from-state.js +49 -0
  378. package/lib/use-lunatic/index.js +15 -0
  379. package/lib/use-lunatic/initial-state.js +44 -0
  380. package/lib/use-lunatic/reducer/commons/index.js +41 -0
  381. package/lib/use-lunatic/reducer/commons/is-empty-on-empty-page.js +49 -0
  382. package/lib/use-lunatic/reducer/commons/resize-array-variable.js +48 -0
  383. package/lib/use-lunatic/reducer/commons/validate-condition-filter.js +41 -0
  384. package/lib/use-lunatic/reducer/index.js +15 -0
  385. package/lib/use-lunatic/reducer/reduce-go-next-page.js +218 -0
  386. package/lib/use-lunatic/reducer/reduce-go-previous-page.js +165 -0
  387. package/lib/use-lunatic/reducer/reduce-go-to-page.js +60 -0
  388. package/lib/use-lunatic/reducer/reduce-handle-change/index.js +15 -0
  389. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.js +77 -0
  390. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +142 -0
  391. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.js +53 -0
  392. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-missing.js +90 -0
  393. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-resizing.js +118 -0
  394. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.js +50 -0
  395. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.js +29 -0
  396. package/lib/use-lunatic/reducer/reduce-on-init.js +260 -0
  397. package/lib/use-lunatic/reducer/reduce-on-set-waiting.js +23 -0
  398. package/lib/use-lunatic/reducer/reducer.js +58 -0
  399. package/lib/use-lunatic/reducer/validate-controls/create-controls-reducer.js +69 -0
  400. package/lib/use-lunatic/reducer/validate-controls/create-modal-controls-reducer.js +100 -0
  401. package/lib/use-lunatic/reducer/validate-controls/index.js +23 -0
  402. package/lib/use-lunatic/reducer/validate-controls/validation-utils.js +73 -0
  403. package/lib/use-lunatic/use-lunatic.js +215 -0
  404. package/lib/utils/constants/features.js +12 -0
  405. package/lib/utils/constants/index.js +70 -0
  406. package/lib/utils/constants/links.js +10 -0
  407. package/lib/utils/constants/missing.js +10 -0
  408. package/lib/utils/constants/variable-status.js +16 -0
  409. package/lib/utils/constants/variable-types.js +8 -0
  410. package/lib/utils/idb-tools/clear-store.js +52 -0
  411. package/lib/utils/idb-tools/create-db-opener.js +60 -0
  412. package/lib/utils/idb-tools/create-open-db.js +35 -0
  413. package/lib/utils/idb-tools/get-entity.js +25 -0
  414. package/lib/utils/idb-tools/get-idb.js +15 -0
  415. package/lib/utils/idb-tools/idb-bulk-insert.js +157 -0
  416. package/lib/utils/idb-tools/index.js +75 -0
  417. package/lib/utils/idb-tools/insert-entity.js +25 -0
  418. package/lib/utils/idb-tools/open-db.js +29 -0
  419. package/lib/utils/idb-tools/open-or-create-db.js +49 -0
  420. package/lib/utils/is-element.js +12 -0
  421. package/lib/utils/store-tools/auto-load.js +209 -0
  422. package/lib/utils/store-tools/clear-store-data.js +46 -0
  423. package/lib/utils/store-tools/clear-store-info.js +46 -0
  424. package/lib/utils/store-tools/constantes.js +31 -0
  425. package/lib/utils/store-tools/create/create.js +70 -0
  426. package/lib/utils/store-tools/create/index.js +23 -0
  427. package/lib/utils/store-tools/create/update-store-info.js +33 -0
  428. package/lib/utils/store-tools/get-store-count.js +29 -0
  429. package/lib/utils/store-tools/index.js +66 -0
  430. package/lib/utils/store-tools/open-or-create-store.js +60 -0
  431. package/lib/utils/store-tools/use-store-index.js +82 -0
  432. package/lib/utils/suggester-workers/append-to-index/append.js +96 -0
  433. package/lib/utils/suggester-workers/append-to-index/append.worker.js +31 -0
  434. package/lib/utils/suggester-workers/append-to-index/create-append-task.js +66 -0
  435. package/lib/utils/suggester-workers/append-to-index/index.js +23 -0
  436. package/lib/utils/suggester-workers/append-to-index/prepare-entities.js +114 -0
  437. package/lib/utils/suggester-workers/append-to-index/store-messages.js +48 -0
  438. package/lib/utils/suggester-workers/commons-tokenizer/create-entity-tokenizer.js +70 -0
  439. package/lib/utils/suggester-workers/commons-tokenizer/create-fields-tokenizer.js +103 -0
  440. package/lib/utils/suggester-workers/commons-tokenizer/create-filter-stop-words.js +47 -0
  441. package/lib/utils/suggester-workers/commons-tokenizer/filters/compose-filters.js +24 -0
  442. package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.js +47 -0
  443. package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.spec.js +16 -0
  444. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.js +24 -0
  445. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.spec.js +18 -0
  446. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.js +34 -0
  447. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.spec.js +25 -0
  448. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.js +17 -0
  449. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.spec.js +25 -0
  450. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.js +29 -0
  451. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.spec.js +18 -0
  452. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.js +71 -0
  453. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +15 -0
  454. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.js +19 -0
  455. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.spec.js +16 -0
  456. package/lib/utils/suggester-workers/commons-tokenizer/filters/index.js +23 -0
  457. package/lib/utils/suggester-workers/commons-tokenizer/filters/stop-words.js +9 -0
  458. package/lib/utils/suggester-workers/commons-tokenizer/get-regexp-from-pattern.js +17 -0
  459. package/lib/utils/suggester-workers/commons-tokenizer/get-stemmer.js +31 -0
  460. package/lib/utils/suggester-workers/commons-tokenizer/index.js +79 -0
  461. package/lib/utils/suggester-workers/commons-tokenizer/prepare-string-indexation.js +24 -0
  462. package/lib/utils/suggester-workers/commons-tokenizer/soft-tokenizer.js +15 -0
  463. package/lib/utils/suggester-workers/create-worker.js +64 -0
  464. package/lib/utils/suggester-workers/find-best-label/find-best-label.js +81 -0
  465. package/lib/utils/suggester-workers/find-best-label/find-best-label.worker.js +67 -0
  466. package/lib/utils/suggester-workers/find-best-label/index.js +1 -0
  467. package/lib/utils/suggester-workers/find-best-label/tokenize.js +62 -0
  468. package/lib/utils/suggester-workers/find-best-label/tokenize.spec.js +26 -0
  469. package/lib/utils/suggester-workers/searching/compute-score.js +63 -0
  470. package/lib/utils/suggester-workers/searching/get-db.js +64 -0
  471. package/lib/utils/suggester-workers/searching/index.js +15 -0
  472. package/lib/utils/suggester-workers/searching/order/create-alphanumeric-orderer.js +33 -0
  473. package/lib/utils/suggester-workers/searching/order/index.js +33 -0
  474. package/lib/utils/suggester-workers/searching/query-parser/index.js +23 -0
  475. package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.js +15 -0
  476. package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.spec.js +28 -0
  477. package/lib/utils/suggester-workers/searching/query-parser/query-parser-tokenized.js +53 -0
  478. package/lib/utils/suggester-workers/searching/resolve-query-parser.js +73 -0
  479. package/lib/utils/suggester-workers/searching/search-in-index.js +25 -0
  480. package/lib/utils/suggester-workers/searching/searching.js +170 -0
  481. package/lib/utils/suggester-workers/searching/searching.worker.js +23 -0
  482. package/lib/utils/vtl/dataset-builder.js +28 -0
  483. package/lib/utils/vtl/index.js +15 -0
  484. package/package.json +161 -139
  485. package/lib/index.js.map +0 -1
  486. package/src/components/breadcrumb/breadcrumb.scss +0 -22
  487. package/src/components/breadcrumb/component.js +0 -29
  488. package/src/components/breadcrumb/index.js +0 -1
  489. package/src/components/button/button.scss +0 -26
  490. package/src/components/button/component.js +0 -25
  491. package/src/components/button/index.js +0 -1
  492. package/src/components/checkbox/boolean.js +0 -147
  493. package/src/components/checkbox/checkbox.scss +0 -43
  494. package/src/components/checkbox/group.js +0 -183
  495. package/src/components/checkbox/index.js +0 -3
  496. package/src/components/checkbox/one.js +0 -10
  497. package/src/components/components.js +0 -16
  498. package/src/components/datepicker/component.js +0 -10
  499. package/src/components/datepicker/datepicker.scss +0 -16
  500. package/src/components/datepicker/index.js +0 -1
  501. package/src/components/declarations/component.js +0 -38
  502. package/src/components/declarations/declarations.scss +0 -34
  503. package/src/components/declarations/index.js +0 -1
  504. package/src/components/declarations/wrappers/index.js +0 -3
  505. package/src/components/declarations/wrappers/input-declarations-wrapper.js +0 -168
  506. package/src/components/declarations/wrappers/list-declarations-wrapper.js +0 -190
  507. package/src/components/declarations/wrappers/simple-declarations-wrapper.js +0 -54
  508. package/src/components/dropdown/commons/actions.js +0 -56
  509. package/src/components/dropdown/commons/children-to-option.js +0 -9
  510. package/src/components/dropdown/commons/cleaner-callbacks.js +0 -58
  511. package/src/components/dropdown/commons/components/closed.icon.js +0 -24
  512. package/src/components/dropdown/commons/components/dropdown-container.js +0 -29
  513. package/src/components/dropdown/commons/components/dropdown-field.js +0 -46
  514. package/src/components/dropdown/commons/components/dropdown.js +0 -182
  515. package/src/components/dropdown/commons/components/label.js +0 -28
  516. package/src/components/dropdown/commons/components/opened.icon.js +0 -24
  517. package/src/components/dropdown/commons/components/panel.js +0 -78
  518. package/src/components/dropdown/commons/event-callbacks/index.js +0 -5
  519. package/src/components/dropdown/commons/event-callbacks/on-keydown-callback.js +0 -29
  520. package/src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js +0 -11
  521. package/src/components/dropdown/commons/reducer.js +0 -149
  522. package/src/components/dropdown/commons/tools/index.js +0 -17
  523. package/src/components/dropdown/component.js +0 -117
  524. package/src/components/dropdown/dropdown-edit/cross.icon.js +0 -20
  525. package/src/components/dropdown/dropdown-edit/dropdown-edit.js +0 -185
  526. package/src/components/dropdown/dropdown-edit/icone.js +0 -33
  527. package/src/components/dropdown/dropdown-edit/index.js +0 -11
  528. package/src/components/dropdown/dropdown-edit/option.js +0 -62
  529. package/src/components/dropdown/dropdown-edit/prefix-tools.js +0 -51
  530. package/src/components/dropdown/dropdown-simple/dropdown.js +0 -155
  531. package/src/components/dropdown/dropdown-simple/index.js +0 -20
  532. package/src/components/dropdown/dropdown-simple/option.js +0 -15
  533. package/src/components/dropdown/dropdown.scss +0 -201
  534. package/src/components/dropdown/index.js +0 -1
  535. package/src/components/filter-description/component.js +0 -41
  536. package/src/components/filter-description/index.js +0 -1
  537. package/src/components/index.js +0 -4
  538. package/src/components/index.scss +0 -76
  539. package/src/components/input/index.js +0 -2
  540. package/src/components/input/input-number.js +0 -232
  541. package/src/components/input/input.js +0 -10
  542. package/src/components/input/input.scss +0 -27
  543. package/src/components/loop/build-components.js +0 -33
  544. package/src/components/loop/component.js +0 -94
  545. package/src/components/loop/index.js +0 -1
  546. package/src/components/loop/loop.scss +0 -17
  547. package/src/components/loop/wrapper.js +0 -11
  548. package/src/components/loop-constructor/block/block.scss +0 -10
  549. package/src/components/loop-constructor/block/component.js +0 -8
  550. package/src/components/loop-constructor/block/index.js +0 -1
  551. package/src/components/loop-constructor/index.js +0 -1
  552. package/src/components/loop-constructor/roster/component.js +0 -7
  553. package/src/components/loop-constructor/roster/index.js +0 -1
  554. package/src/components/loop-constructor/wrapper/body-component.js +0 -118
  555. package/src/components/loop-constructor/wrapper/build-components.js +0 -33
  556. package/src/components/loop-constructor/wrapper/component.js +0 -152
  557. package/src/components/loop-constructor/wrapper/index.js +0 -1
  558. package/src/components/progress-bar/component.js +0 -28
  559. package/src/components/progress-bar/index.js +0 -1
  560. package/src/components/progress-bar/progress-bar.scss +0 -54
  561. package/src/components/radio/component.js +0 -8
  562. package/src/components/radio/index.js +0 -1
  563. package/src/components/radio/radio.scss +0 -24
  564. package/src/components/sequence/component.js +0 -41
  565. package/src/components/sequence/index.js +0 -1
  566. package/src/components/sequence/sequence.scss +0 -15
  567. package/src/components/subsequence/component.js +0 -48
  568. package/src/components/subsequence/index.js +0 -1
  569. package/src/components/subsequence/subsequence.scss +0 -15
  570. package/src/components/table/index.js +0 -1
  571. package/src/components/table/table.js +0 -160
  572. package/src/components/table/table.scss +0 -23
  573. package/src/components/textarea/component.js +0 -10
  574. package/src/components/textarea/index.js +0 -1
  575. package/src/components/textarea/textarea.scss +0 -16
  576. package/src/components/tooltip/img/collected.png +0 -0
  577. package/src/components/tooltip/img/index.js +0 -5
  578. package/src/components/tooltip/index.js +0 -1
  579. package/src/components/tooltip/response.js +0 -51
  580. package/src/components/tooltip/tooltip.scss +0 -35
  581. package/src/constants/component-types.js +0 -1
  582. package/src/constants/declarations.js +0 -14
  583. package/src/constants/index.js +0 -4
  584. package/src/constants/supported-preferences.js +0 -10
  585. package/src/constants/value-types.js +0 -5
  586. package/src/constants/variable-types.js +0 -4
  587. package/src/stories/breadcrumb/README.md +0 -14
  588. package/src/stories/breadcrumb/breadcrumb.stories.js +0 -33
  589. package/src/stories/button/README.md +0 -14
  590. package/src/stories/button/button.stories.js +0 -63
  591. package/src/stories/checkbox-boolean/README.md +0 -27
  592. package/src/stories/checkbox-boolean/checkbox-boolean.stories.js +0 -30
  593. package/src/stories/checkbox-group/README.md +0 -29
  594. package/src/stories/checkbox-group/checkbox-group.stories.js +0 -81
  595. package/src/stories/checkbox-group/data-vtl.json +0 -89
  596. package/src/stories/checkbox-group/data.json +0 -89
  597. package/src/stories/checkbox-one/checkbox-one.stories.js +0 -77
  598. package/src/stories/checkbox-one/data-vtl.json +0 -33
  599. package/src/stories/checkbox-one/data.json +0 -33
  600. package/src/stories/datepicker/README.md +0 -31
  601. package/src/stories/datepicker/data.json +0 -28
  602. package/src/stories/datepicker/datepicker.stories.js +0 -65
  603. package/src/stories/declarations/README.md +0 -19
  604. package/src/stories/declarations/declarations.stories.js +0 -112
  605. package/src/stories/dropdown/README.md +0 -44
  606. package/src/stories/dropdown/data-naf.json +0 -6963
  607. package/src/stories/dropdown/data-props.json +0 -81
  608. package/src/stories/dropdown/data.json +0 -78
  609. package/src/stories/dropdown/dropdown.stories.js +0 -65
  610. package/src/stories/filter-description/README.md +0 -15
  611. package/src/stories/filter-description/filter-description.stories.js +0 -70
  612. package/src/stories/input/README.md +0 -33
  613. package/src/stories/input/data.json +0 -28
  614. package/src/stories/input/input.stories.js +0 -67
  615. package/src/stories/input-number/README.md +0 -37
  616. package/src/stories/input-number/data.json +0 -30
  617. package/src/stories/input-number/input-number.stories.js +0 -75
  618. package/src/stories/loop/README.md +0 -25
  619. package/src/stories/loop/loop.stories.js +0 -80
  620. package/src/stories/loop/with-loop/data-loop-deeper.json +0 -298
  621. package/src/stories/loop/with-loop/data-loop.json +0 -211
  622. package/src/stories/loop/with-loop/data-vqs.json +0 -1384
  623. package/src/stories/loop/with-loop/index.js +0 -3
  624. package/src/stories/loop/with-roster/data-loop-deeper.json +0 -298
  625. package/src/stories/loop/with-roster/data-loop.json +0 -213
  626. package/src/stories/loop/with-roster/data-vqs.json +0 -1383
  627. package/src/stories/loop/with-roster/index.js +0 -3
  628. package/src/stories/loop-constructor/README.md +0 -27
  629. package/src/stories/loop-constructor/data-loop.json +0 -66
  630. package/src/stories/loop-constructor/data-roster.json +0 -68
  631. package/src/stories/loop-constructor/loop-constructor.stories.js +0 -42
  632. package/src/stories/progress-bar/README.md +0 -13
  633. package/src/stories/progress-bar/progress-bar.stories.js +0 -24
  634. package/src/stories/questionnaire/fat.json +0 -6558
  635. package/src/stories/questionnaire/questionnaire.stories.js +0 -25
  636. package/src/stories/radio/README.md +0 -31
  637. package/src/stories/radio/data-vtl.json +0 -32
  638. package/src/stories/radio/data.json +0 -32
  639. package/src/stories/radio/radio.stories.js +0 -81
  640. package/src/stories/sequence/README.md +0 -18
  641. package/src/stories/sequence/sequence.stories.js +0 -58
  642. package/src/stories/subsequence/README.md +0 -18
  643. package/src/stories/subsequence/subsequence.stories.js +0 -58
  644. package/src/stories/table/README.md +0 -29
  645. package/src/stories/table/data-one-axis-one-measure.json +0 -124
  646. package/src/stories/table/data-one-axis-two-measures.json +0 -193
  647. package/src/stories/table/data-one-hierarchical-axis.json +0 -204
  648. package/src/stories/table/data-two-axis-one-measure.json +0 -492
  649. package/src/stories/table/table.stories.js +0 -77
  650. package/src/stories/textarea/README.md +0 -33
  651. package/src/stories/textarea/data-forced.json +0 -28
  652. package/src/stories/textarea/data.json +0 -28
  653. package/src/stories/textarea/textarea.stories.js +0 -90
  654. package/src/stories/tooltip-response/README.md +0 -14
  655. package/src/stories/tooltip-response/tooltip.stories.js +0 -43
  656. package/src/stories/utils/custom-lunatic.scss +0 -595
  657. package/src/stories/utils/img/arrow.png +0 -0
  658. package/src/stories/utils/img/check_box.svg +0 -1
  659. package/src/stories/utils/img/check_box_outline.svg +0 -1
  660. package/src/stories/utils/img/lunatic-logo.png +0 -0
  661. package/src/stories/utils/img/menu-down.svg +0 -1
  662. package/src/stories/utils/img/menu-up.svg +0 -1
  663. package/src/stories/utils/img/radio_button_checked.svg +0 -1
  664. package/src/stories/utils/img/radio_button_unchecked.svg +0 -1
  665. package/src/stories/utils/options.js +0 -21
  666. package/src/stories/utils/orchestrator.js +0 -53
  667. package/src/tests/components/breadcrumb.spec.js +0 -13
  668. package/src/tests/components/button.spec.js +0 -11
  669. package/src/tests/components/checkbox-boolean.spec.js +0 -45
  670. package/src/tests/components/checkbox-group.spec.js +0 -53
  671. package/src/tests/components/checkbox-one.spec.js +0 -32
  672. package/src/tests/components/datepicker.spec.js +0 -22
  673. package/src/tests/components/declarations-wrappers/input-declarations-wrapper.spec.js +0 -67
  674. package/src/tests/components/declarations-wrappers/list-declarations-wrapper.spec.js +0 -52
  675. package/src/tests/components/declarations-wrappers/simple-declarations-wrapper.spec.js +0 -21
  676. package/src/tests/components/declarations.spec.js +0 -46
  677. package/src/tests/components/input-number.spec.js +0 -175
  678. package/src/tests/components/input.spec.js +0 -18
  679. package/src/tests/components/progress-bar.spec.js +0 -15
  680. package/src/tests/components/radio.spec.js +0 -27
  681. package/src/tests/components/sequence.spec.js +0 -9
  682. package/src/tests/components/subsequence.spec.js +0 -9
  683. package/src/tests/components/table.spec.js +0 -11
  684. package/src/tests/components/textarea.spec.js +0 -18
  685. package/src/tests/components/tooltip.spec.js +0 -25
  686. package/src/tests/setup/setupTests.js +0 -4
  687. package/src/tests/utils/lib/alphabet.spec.js +0 -36
  688. package/src/tests/utils/lib/checkbox/group.spec.js +0 -72
  689. package/src/tests/utils/lib/decorator/title-decorator.spec.js +0 -12
  690. package/src/tests/utils/lib/items-positioning.spec.js +0 -17
  691. package/src/tests/utils/lib/label-position.spec.js +0 -22
  692. package/src/tests/utils/lib/loops/bindings.spec.js +0 -60
  693. package/src/tests/utils/lib/loops/shared.spec.js +0 -77
  694. package/src/tests/utils/lib/responses.spec.js +0 -64
  695. package/src/tests/utils/lib/style.spec.js +0 -26
  696. package/src/tests/utils/lib/table/roster.spec.js +0 -25
  697. package/src/tests/utils/lib/tooltip/build-response.spec.js +0 -95
  698. package/src/tests/utils/lib/tooltip/content.spec.js +0 -109
  699. package/src/tests/utils/to-expose/handler/handler.spec.js +0 -86
  700. package/src/tests/utils/to-expose/handler/questionnaire.json +0 -154
  701. package/src/tests/utils/to-expose/handler/results/index.js +0 -6
  702. package/src/tests/utils/to-expose/handler/results/res-double.json +0 -157
  703. package/src/tests/utils/to-expose/handler/results/res-input-collected.json +0 -154
  704. package/src/tests/utils/to-expose/handler/results/res-input-edited.json +0 -157
  705. package/src/tests/utils/to-expose/handler/results/res-loop.json +0 -157
  706. package/src/tests/utils/to-expose/handler/results/res-matrix.json +0 -157
  707. package/src/tests/utils/to-expose/handler/results/res-responses.json +0 -157
  708. package/src/tests/utils/to-expose/init-questionnaire/data.json +0 -12
  709. package/src/tests/utils/to-expose/init-questionnaire/init-questionnaire.spec.js +0 -19
  710. package/src/tests/utils/to-expose/init-questionnaire/questionnaire.json +0 -129
  711. package/src/tests/utils/to-expose/init-questionnaire/result.json +0 -162
  712. package/src/tests/utils/to-expose/interpret.spec.js +0 -42
  713. package/src/tests/utils/to-expose/state/questionnaire.json +0 -61
  714. package/src/tests/utils/to-expose/state/results.js +0 -78
  715. package/src/tests/utils/to-expose/state/state.spec.js +0 -59
  716. package/src/utils/lib/alphabet.js +0 -1
  717. package/src/utils/lib/checkbox/group.js +0 -21
  718. package/src/utils/lib/checkbox/index.js +0 -1
  719. package/src/utils/lib/decorator/index.js +0 -1
  720. package/src/utils/lib/decorator/title-decorator.js +0 -16
  721. package/src/utils/lib/index.js +0 -12
  722. package/src/utils/lib/label-position.js +0 -12
  723. package/src/utils/lib/loops/bindings.js +0 -47
  724. package/src/utils/lib/loops/index.js +0 -2
  725. package/src/utils/lib/loops/shared.js +0 -43
  726. package/src/utils/lib/memo-check.js +0 -24
  727. package/src/utils/lib/options-positioning.js +0 -9
  728. package/src/utils/lib/prop-types/declarations.js +0 -22
  729. package/src/utils/lib/prop-types/index.js +0 -5
  730. package/src/utils/lib/prop-types/lines.js +0 -6
  731. package/src/utils/lib/prop-types/options.js +0 -8
  732. package/src/utils/lib/prop-types/response.js +0 -6
  733. package/src/utils/lib/prop-types/value-type.js +0 -9
  734. package/src/utils/lib/responses.js +0 -9
  735. package/src/utils/lib/style.js +0 -10
  736. package/src/utils/lib/table/index.js +0 -1
  737. package/src/utils/lib/table/roster.js +0 -18
  738. package/src/utils/lib/tooltip/build-response.js +0 -41
  739. package/src/utils/lib/tooltip/content.js +0 -52
  740. package/src/utils/lib/tooltip/index.js +0 -6
  741. package/src/utils/to-expose/handler.js +0 -99
  742. package/src/utils/to-expose/hook.js +0 -65
  743. package/src/utils/to-expose/index.js +0 -11
  744. package/src/utils/to-expose/init-questionnaire.js +0 -114
  745. package/src/utils/to-expose/interpret.js +0 -53
  746. package/src/utils/to-expose/state.js +0 -58
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants/declarations.js","../src/constants/value-types.js","../src/constants/variable-types.js","../src/utils/lib/prop-types/declarations.js","../src/utils/lib/prop-types/options.js","../src/utils/lib/prop-types/response.js","../src/utils/lib/prop-types/value-type.js","../src/utils/lib/prop-types/lines.js","../src/utils/lib/tooltip/content.js","../src/utils/to-expose/interpret.js","../src/utils/to-expose/init-questionnaire.js","../src/constants/supported-preferences.js","../src/utils/lib/loops/bindings.js","../src/utils/to-expose/handler.js","../src/utils/lib/tooltip/build-response.js","../src/utils/lib/alphabet.js","../src/utils/lib/label-position.js","../src/utils/lib/options-positioning.js","../src/utils/lib/responses.js","../src/utils/lib/style.js","../src/utils/lib/table/roster.js","../src/utils/lib/loops/shared.js","../src/utils/lib/memo-check.js","../src/utils/lib/checkbox/group.js","../node_modules/style-inject/dist/style-inject.es.js","../src/components/breadcrumb/component.js","../src/components/button/component.js","../src/utils/to-expose/state.js","../src/utils/to-expose/hook.js","../src/components/declarations/component.js","../src/components/tooltip/img/collected.png","../src/components/tooltip/img/edited.png","../src/components/tooltip/img/forced.png","../src/components/tooltip/response.js","../src/components/checkbox/group.js","../src/components/checkbox/boolean.js","../src/components/declarations/wrappers/input-declarations-wrapper.js","../src/components/declarations/wrappers/list-declarations-wrapper.js","../src/components/declarations/wrappers/simple-declarations-wrapper.js","../src/components/checkbox/one.js","../src/components/datepicker/component.js","../node_modules/classnames/index.js","../src/components/dropdown/commons/actions.js","../src/components/dropdown/commons/components/panel.js","../src/components/dropdown/commons/components/closed.icon.js","../src/components/dropdown/commons/components/opened.icon.js","../src/components/dropdown/commons/components/label.js","../src/components/dropdown/commons/cleaner-callbacks.js","../src/components/dropdown/commons/components/dropdown-field.js","../src/components/dropdown/commons/components/dropdown-container.js","../src/components/dropdown/commons/event-callbacks/on-keydown-callback.js","../src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js","../src/components/dropdown/commons/components/dropdown.js","../src/components/dropdown/commons/tools/index.js","../src/components/dropdown/dropdown-edit/prefix-tools.js","../src/components/dropdown/commons/reducer.js","../src/components/dropdown/dropdown-simple/option.js","../src/components/dropdown/dropdown-simple/dropdown.js","../src/components/dropdown/dropdown-simple/index.js","../src/components/dropdown/dropdown-edit/option.js","../src/components/dropdown/dropdown-edit/cross.icon.js","../src/components/dropdown/dropdown-edit/icone.js","../src/components/dropdown/dropdown-edit/dropdown-edit.js","../src/components/dropdown/commons/children-to-option.js","../src/components/dropdown/dropdown-edit/index.js","../src/components/dropdown/component.js","../src/components/input/input.js","../src/components/input/input-number.js","../src/components/filter-description/component.js","../src/components/progress-bar/component.js","../src/components/radio/component.js","../src/components/loop/build-components.js","../src/components/loop/component.js","../src/components/loop-constructor/wrapper/build-components.js","../src/components/loop-constructor/wrapper/body-component.js","../src/components/loop-constructor/wrapper/component.js","../src/components/loop-constructor/block/component.js","../src/components/loop/wrapper.js","../src/components/loop-constructor/roster/component.js","../src/components/sequence/component.js","../src/components/subsequence/component.js","../src/components/textarea/component.js","../src/components/table/table.js"],"sourcesContent":["// Declaration position\r\n\r\nexport const BEFORE_QUESTION_TEXT = 'BEFORE_QUESTION_TEXT';\r\nexport const AFTER_QUESTION_TEXT = 'AFTER_QUESTION_TEXT';\r\nexport const DETACHABLE = 'DETACHABLE';\r\n\r\n// Declaration types\r\n\r\nexport const INSTRUCTION = 'INSTRUCTION';\r\nexport const COMMENT = 'COMMENT';\r\nexport const HELP = 'HELP';\r\nexport const WARNING = 'WARNING';\r\nexport const MESSAGE_FILTER = 'MESSAGE_FILTER';\r\nexport const STATEMENT = 'STATEMENT';\r\n","export const PREVIOUS = 'PREVIOUS';\r\nexport const COLLECTED = 'COLLECTED';\r\nexport const FORCED = 'FORCED';\r\nexport const EDITED = 'EDITED';\r\nexport const INPUTED = 'INPUTED';\r\n","export const EXTERNAL = 'EXTERNAL';\r\nexport const CALCULATED = 'CALCULATED';\r\n// Already define in value-types\r\n//export const COLLECTED = 'COLLECTED';\r\n","import PropTypes from 'prop-types';\r\nimport * as C from '../../../constants';\r\n\r\nexport default PropTypes.arrayOf(\r\n\tPropTypes.shape({\r\n\t\tid: PropTypes.string.isRequired,\r\n\t\tdeclarationType: PropTypes.oneOf([\r\n\t\t\tC.INSTRUCTION,\r\n\t\t\tC.COMMENT,\r\n\t\t\tC.HELP,\r\n\t\t\tC.WARNING,\r\n\t\t\tC.MESSAGE_FILTER,\r\n\t\t\tC.STATEMENT,\r\n\t\t]),\r\n\t\tposition: PropTypes.oneOf([\r\n\t\t\tC.BEFORE_QUESTION_TEXT,\r\n\t\t\tC.AFTER_QUESTION_TEXT,\r\n\t\t\tC.DETACHABLE,\r\n\t\t]),\r\n\t\tlabel: PropTypes.string.isRequired,\r\n\t})\r\n).isRequired;\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.arrayOf(\r\n\tPropTypes.shape({\r\n\t\tlabel: PropTypes.string.isRequired,\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\t})\r\n);\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.shape({\r\n\tname: PropTypes.string,\r\n\tvalues: PropTypes.shape({}),\r\n});\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.oneOf([\r\n\t'COLLECTED',\r\n\t'PREVIOUS',\r\n\t'FORCED',\r\n\t'EDITED',\r\n\t'INPUTED',\r\n]);\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.shape({\r\n\tmin: PropTypes.number,\r\n\tmax: PropTypes.number,\r\n});\r\n","import * as C from '../../../constants';\r\n\r\nexport const buildTooltip = (response) => {\r\n\tif (\r\n\t\t!response ||\r\n\t\t!response.values ||\r\n\t\tObject.keys(response.values).length === 0\r\n\t)\r\n\t\treturn {};\r\n\tconst { values } = response;\r\n\tconst edited = values[C.EDITED];\r\n\tconst forced = values[C.FORCED];\r\n\tconst collected = values[C.COLLECTED];\r\n\tif (has(edited)) {\r\n\t\tif (!has(forced))\r\n\t\t\treturn {\r\n\t\t\t\tcontent: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tkey: 'Brute',\r\n\t\t\t\t\t\tvalue: collected || ' - ',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\timgName: 'editedImg',\r\n\t\t\t};\r\n\t\treturn {\r\n\t\t\tcontent: [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'Brute',\r\n\t\t\t\t\tvalue: collected || ' - ',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'Correction automatique',\r\n\t\t\t\t\tvalue: forced,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\timgName: 'editedImg',\r\n\t\t};\r\n\t}\r\n\tif (has(forced))\r\n\t\treturn {\r\n\t\t\tcontent: [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'Brute',\r\n\t\t\t\t\tvalue: collected || ' - ',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\timgName: 'forcedImg',\r\n\t\t};\r\n\treturn {};\r\n};\r\n\r\nconst has = (status) => status !== undefined && status !== null;\r\n","import { interpret as interpretVtl } from '@inseefr/vtl-2.1-engine';\r\n\r\nexport const interpret = (features) => (bindings, doNotReplaceNullBindings) => (\r\n\texpression\r\n) => {\r\n\tif (!expression) return '';\r\n\tif (!Array.isArray(features)) return expression;\r\n\tif (features.includes('VTL')) {\r\n\t\ttry {\r\n\t\t\tconst VTLExpr = interpretVtl(\r\n\t\t\t\texpression,\r\n\t\t\t\tdoNotReplaceNullBindings ? bindings : replaceNullBindings(bindings)\r\n\t\t\t);\r\n\t\t\tif (!VTLExpr) return expression;\r\n\t\t\treturn VTLExpr;\r\n\t\t} catch (e) {\r\n\t\t\treturn expression;\r\n\t\t}\r\n\t}\r\n\treturn expression;\r\n};\r\n\r\nexport const interpretWithEmptyDefault = (\r\n\tfeatures,\r\n\tdoNotReplaceNullBindings\r\n) => (bindings, replaceNullBindings) => (expression) => {\r\n\tif (!expression) return '';\r\n\tif (!Array.isArray(features)) return expression;\r\n\tif (features.includes('VTL')) {\r\n\t\ttry {\r\n\t\t\tconst VTLExpr = interpretVtl(\r\n\t\t\t\texpression,\r\n\t\t\t\tdoNotReplaceNullBindings ? bindings : replaceNullBindings(bindings, '')\r\n\t\t\t);\r\n\t\t\tif (!VTLExpr) return '';\r\n\t\t\treturn VTLExpr;\r\n\t\t} catch (e) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n\treturn '';\r\n};\r\n\r\nexport const replaceNullBindings = (bindings, defaultValue) =>\r\n\tbindings\r\n\t\t? Object.entries(bindings).reduce(\r\n\t\t\t\t(acc, [key, value]) => ({\r\n\t\t\t\t\t...acc,\r\n\t\t\t\t\t[key]: value === null ? defaultValue || key : value,\r\n\t\t\t\t}),\r\n\t\t\t\t{}\r\n\t\t )\r\n\t\t: {};\r\n","import * as C from '../../constants';\r\nimport { interpret } from './interpret';\r\n\r\nexport const mergeQuestionnaireAndData = (questionnaire) => (data) => {\r\n\tif (!questionnaire || !questionnaire.components) return {};\r\n\tif (questionnaire.components.length === 0) return questionnaire;\r\n\tconst { components, variables, ...props } = questionnaire;\r\n\r\n\tconst vars = buildVars(data || {})(variables);\r\n\tconst filledComponents = buildFilledComponents(vars[C.COLLECTED])(components)(\r\n\t\t0\r\n\t);\r\n\r\n\treturn { ...props, components: filledComponents, variables: vars };\r\n};\r\n\r\nconst buildVars = (data) => (variables) => {\r\n\tif (!Array.isArray(variables)) return {};\r\n\tconst { COLLECTED: collectedData } = data;\r\n\tconst collected = variables\r\n\t\t.filter(({ variableType }) => variableType === C.COLLECTED)\r\n\t\t.reduce((acc, { values, name, componentRef }) => {\r\n\t\t\tconst d = (collectedData && collectedData[name]) || {};\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[name]: {\r\n\t\t\t\t\tcomponentRef,\r\n\t\t\t\t\tvalues: { ...values, ...d },\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}, {});\r\n\tconst EXTERNAL = variables\r\n\t\t.filter(({ variableType }) => variableType === C.EXTERNAL)\r\n\t\t.reduce((_, v) => ({ ..._, ...initExternalVariable(v)(data) }), {});\r\n\treturn {\r\n\t\tEXTERNAL,\r\n\t\tCOLLECTED: collected,\r\n\t\tCALCULATED: variables\r\n\t\t\t.filter(({ variableType }) => variableType === C.CALCULATED)\r\n\t\t\t.reduce(\r\n\t\t\t\t(_, v) => ({\r\n\t\t\t\t\t..._,\r\n\t\t\t\t\t...initCalculatedVariable(v)({ ...EXTERNAL, ...collected }),\r\n\t\t\t\t}),\r\n\t\t\t\t{}\r\n\t\t\t),\r\n\t};\r\n};\r\n\r\nconst buildFilledComponents = (vars) => (components) => (depth) =>\r\n\tcomponents.map((c) => {\r\n\t\tconst component = { depth, ...c };\r\n\t\treturn buildFilledComponent(vars)(component);\r\n\t});\r\n\r\nexport const buildFilledComponent = (vars) => (component) => {\r\n\tif (component.response) return buildResponseComponent(vars)(component);\r\n\telse if (component.responses) return buildResponsesComponent(vars)(component);\r\n\telse if (component.cells) return buildCellsComponent(vars)(component);\r\n\telse if (component.components)\r\n\t\treturn buildComponentsComponent(vars)(component);\r\n\treturn component;\r\n};\r\n\r\nexport const buildResponseComponent = (vars) => (c) => ({\r\n\t...c,\r\n\tresponse: {\r\n\t\tname: c.response.name,\r\n\t\tvalues: vars[c.response.name].values,\r\n\t},\r\n});\r\n\r\nexport const buildResponsesComponent = (vars) => (c) => {\r\n\tconst { responses, ...rest } = c;\r\n\tconst filledResponses = responses.map((r) => buildResponseComponent(vars)(r));\r\n\treturn { ...rest, responses: filledResponses };\r\n};\r\n\r\nexport const buildCellsComponent = (vars) => (c) => {\r\n\tconst { cells, depth, ...rest } = c;\r\n\tconst filledCells = cells.map((row) =>\r\n\t\tbuildFilledComponents(vars)(row)(depth)\r\n\t);\r\n\treturn { ...rest, depth, cells: filledCells };\r\n};\r\n\r\nexport const buildComponentsComponent = (vars) => (component) => {\r\n\tconst { components, depth, ...rest } = component;\r\n\tconst filledComponents = buildFilledComponents(vars)(components)(depth + 1);\r\n\treturn { ...rest, depth, components: filledComponents };\r\n};\r\n\r\nconst initExternalVariable = ({ name }) => (data) => ({\r\n\t[name]: (data && data.EXTERNAL && data.EXTERNAL[name]) || null,\r\n});\r\n\r\nconst initCalculatedVariable = ({ name, expression }) => (data) => {\r\n\tconst bindings = Object.entries(data).reduce(\r\n\t\t(acc, [key, value]) => ({\r\n\t\t\t...acc,\r\n\t\t\t[key]:\r\n\t\t\t\ttypeof value === 'string' || value === null\r\n\t\t\t\t\t? value\r\n\t\t\t\t\t: value.values[C.COLLECTED],\r\n\t\t}),\r\n\t\t{}\r\n\t);\r\n\treturn {\r\n\t\t[name]: {\r\n\t\t\texpression,\r\n\t\t\tvalue: interpret(['VTL'])(bindings)(expression),\r\n\t\t},\r\n\t};\r\n};\r\n","import * as C from './value-types';\r\n\r\n// ORDERED ARRAY\r\nexport const supportedPreferences = [\r\n\tC.PREVIOUS,\r\n\tC.COLLECTED,\r\n\tC.FORCED,\r\n\tC.EDITED,\r\n\tC.INPUTED,\r\n];\r\n","export const buildBindingsForDeeperComponents = (index) => (bindings) =>\r\n\tbindings\r\n\t\t? Object.entries(bindings).reduce((_, [name, value]) => {\r\n\t\t\t\tif (Array.isArray(value)) return { ..._, [name]: value[index] || null };\r\n\t\t\t\treturn { ..._, [name]: value };\r\n\t\t }, {})\r\n\t\t: {};\r\n\r\nconst getDefaultDatasetStructure = (name, value) => ({\r\n\t[name]: { dataStructure: {}, dataPoints: { [name]: value } },\r\n});\r\n\r\nexport const buildVectorialBindings = (bindings) =>\r\n\tbindings\r\n\t\t? Object.entries(bindings).reduce((_, [name, value]) => {\r\n\t\t\t\tif (Array.isArray(value))\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\t...getDefaultDatasetStructure(name, value),\r\n\t\t\t\t\t};\r\n\t\t\t\treturn { ..._, [name]: value };\r\n\t\t }, {})\r\n\t\t: {};\r\n\r\nexport const displayLoop = (dependencyList) => (bindings) => {\r\n\tif (!Array.isArray(dependencyList) || !bindings) return false;\r\n\treturn !(\r\n\t\tdependencyList\r\n\t\t\t.map((iv) =>\r\n\t\t\t\tArray.isArray(bindings[iv][0])\r\n\t\t\t\t\t? bindings[iv][0].flat()[0]\r\n\t\t\t\t\t: bindings[iv][0]\r\n\t\t\t)\r\n\t\t\t.filter((v) => v).length === 0\r\n\t);\r\n};\r\n\r\nexport const displayLoopQuestion = (dependencyList) => (bindings) => {\r\n\tif (!Array.isArray(dependencyList) || !bindings) return false;\r\n\treturn !(\r\n\t\tdependencyList\r\n\t\t\t.map((iv) =>\r\n\t\t\t\tArray.isArray(bindings[iv]) ? bindings[iv].flat()[0] : bindings[iv]\r\n\t\t\t)\r\n\t\t\t.filter((v) => v).length === 0\r\n\t);\r\n};\r\n","import * as C from '../../constants';\r\nimport { buildFilledComponent } from './init-questionnaire';\r\nimport { supportedPreferences } from '../../constants/supported-preferences';\r\nimport { interpret } from './interpret';\r\nimport { buildVectorialBindings } from '../lib/loops/bindings';\r\n\r\nexport const updateQuestionnaire = (valueType) => (questionnaire) => (\r\n\tpreferences\r\n) => (updatedValues) => {\r\n\tif (\r\n\t\t!supportedPreferences.includes(valueType) ||\r\n\t\tpreferences.length === 0 ||\r\n\t\t!updatedValues\r\n\t)\r\n\t\treturn questionnaire;\r\n\tconst { variables, components, ...other } = questionnaire;\r\n\tif (!components || components.length === 0) return questionnaire;\r\n\tconst varsAndRefs = Object.entries(updatedValues).reduce(\r\n\t\t(acc, [key, value]) => {\r\n\t\t\tconst {\r\n\t\t\t\tnewVariables: { COLLECTED, ...otherVars },\r\n\t\t\t\trefs,\r\n\t\t\t} = acc;\r\n\t\t\tconst { componentRef, values } = COLLECTED[key];\r\n\t\t\tconst updated = {\r\n\t\t\t\tcomponentRef,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...values,\r\n\t\t\t\t\t[valueType]: buildNewValue(preferences)(valueType)(values)(value),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tconst newCollected = { ...COLLECTED, [key]: updated };\r\n\t\t\treturn {\r\n\t\t\t\tnewVariables: {\r\n\t\t\t\t\t...otherVars,\r\n\t\t\t\t\tCOLLECTED: newCollected,\r\n\t\t\t\t},\r\n\t\t\t\trefs: [...refs, componentRef],\r\n\t\t\t};\r\n\t\t},\r\n\t\t{ newVariables: variables, refs: [] }\r\n\t);\r\n\tconst { newVariables, refs: r } = varsAndRefs;\r\n\tconst newVariablesWithCalculated =\r\n\t\tvalueType === C.COLLECTED ? addCalculatedVars(newVariables) : newVariables;\r\n\tconst collectedVars = newVariables[C.COLLECTED];\r\n\tconst newComponents = components.map((c) => {\r\n\t\tif (r.includes(c.id)) return buildFilledComponent(collectedVars)(c);\r\n\t\treturn c;\r\n\t});\r\n\treturn {\r\n\t\t...other,\r\n\t\tvariables: newVariablesWithCalculated,\r\n\t\tcomponents: newComponents,\r\n\t};\r\n};\r\n\r\nexport const buildNewValue = (preferences) => (valueType) => (oldValues) => (\r\n\tvalue\r\n) => {\r\n\tif (preferences.length === 1) return value;\r\n\tconst index = preferences.indexOf(valueType);\r\n\tif (index < 1) return value;\r\n\tconst valuesByPreference = preferences\r\n\t\t.slice(0, index)\r\n\t\t.map((p) => oldValues[p])\r\n\t\t.filter((v) => v !== null);\r\n\tconst lastValue = valuesByPreference[valuesByPreference.length - 1];\r\n\treturn lastValue === value ? null : value;\r\n};\r\n\r\nconst addCalculatedVars = (variables) => {\r\n\tif (\r\n\t\t!variables[C.CALCULATED] ||\r\n\t\tObject.keys(variables[C.CALCULATED]).length === 0\r\n\t)\r\n\t\treturn variables;\r\n\tconst { COLLECTED, EXTERNAL, CALCULATED } = variables;\r\n\tconst collected = Object.entries(COLLECTED).reduce(\r\n\t\t(acc, [key, { values }]) => ({ ...acc, [key]: values[C.COLLECTED] }),\r\n\t\t{}\r\n\t);\r\n\tconst bindings = buildVectorialBindings({ ...collected, ...EXTERNAL });\r\n\tconst calculated = Object.entries(CALCULATED).reduce(\r\n\t\t(acc, [key, { expression }]) => {\r\n\t\t\t// Assume that a calculated variable has a first level scope\r\n\t\t\t// If we need to handle deep calculated variables, we have to\r\n\t\t\t// update the shape of bindings, grouping vars by type\r\n\t\t\tconst res = interpret(['VTL'])(bindings)(expression);\r\n\t\t\tconst value = Array.isArray(res) ? res.join(',') : res;\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[key]: { expression, value },\r\n\t\t\t};\r\n\t\t},\r\n\t\t{}\r\n\t);\r\n\treturn { EXTERNAL, COLLECTED, CALCULATED: calculated };\r\n};\r\n","import { buildNewValue } from '../../to-expose/handler';\r\nimport * as C from '../../../constants/value-types';\r\n\r\nexport const buildMultiTooltipResponse = (options) => (response) => {\r\n\tif (!response || Object.keys(response).length === 0 || !options) return {};\r\n\tconst { name, values } = response;\r\n\tconst newValues = Object.entries(values).reduce(\r\n\t\t(acc, [k, v]) =>\r\n\t\t\tv === null\r\n\t\t\t\t? { ...acc, [k]: v }\r\n\t\t\t\t: { ...acc, [k]: options.find((o) => o.value === v).label },\r\n\t\t{}\r\n\t);\r\n\treturn { name, values: newValues };\r\n};\r\n\r\nexport const buildBooleanTooltipResponse = (response) => {\r\n\tif (!response || Object.keys(response).length === 0) return {};\r\n\tconst { name, values } = response;\r\n\tconst newValues = Object.entries(values).reduce(\r\n\t\t(acc, [k, v]) =>\r\n\t\t\tv === null ? { ...acc, [k]: v } : { ...acc, [k]: v ? 'Vrai' : 'Faux' },\r\n\t\t{}\r\n\t);\r\n\treturn { name, values: newValues };\r\n};\r\n\r\n/**\r\n * Assume we use this tool in management mode only\r\n */\r\nexport const buildLocalResponse = (response, value) => {\r\n\tif (!response || Object.keys(response).length === 0) return {};\r\n\tconst { name, values } = response;\r\n\tconst newValue = buildNewValue([C.COLLECTED, C.FORCED, C.EDITED])(C.EDITED)(\r\n\t\tvalues\r\n\t)(value);\r\n\treturn {\r\n\t\tname,\r\n\t\tvalues: { ...values, EDITED: newValue },\r\n\t};\r\n};\r\n","export const getAlphabet = () => 'abcdefghijklmnopqrstuvwxyz'.split('');\r\n","export const getLabelPositionClass = (position) => {\r\n\tswitch (position) {\r\n\t\tcase 'LEFT':\r\n\t\t\treturn 'label-left';\r\n\t\tcase 'BOTTOM':\r\n\t\t\treturn 'label-bottom';\r\n\t\tcase 'RIGHT':\r\n\t\t\treturn 'label-right';\r\n\t\tdefault:\r\n\t\t\treturn 'label-top';\r\n\t}\r\n};\r\n","export const getItemsPositioningClass = positioning => {\r\n\tswitch (positioning) {\r\n\t\tcase 'HORIZONTAL':\r\n\t\t\treturn 'horizontal-options';\r\n\t\tcase 'VERTICAL':\r\n\t\tdefault:\r\n\t\t\treturn '';\r\n\t}\r\n};\r\n","export const getResponseName = (response) => (response && response.name) || '';\r\n\r\nexport const getResponseByPreference = (preferences) => (response) => {\r\n\tif (!(response && response.values)) return null;\r\n\treturn preferences.reduce((acc, p) => {\r\n\t\tconst value = response.values[p];\r\n\t\treturn value !== null ? value : acc;\r\n\t}, null);\r\n};\r\n","import camelCase from 'lodash.camelcase';\r\n\r\nexport const buildStyleObject = obj =>\r\n\tobj\r\n\t\t? Object.entries(obj).reduce((_, [key, value]) => {\r\n\t\t\t\tif (key.startsWith(':')) _[key] = buildStyleObject(value);\r\n\t\t\t\telse _[camelCase(key)] = value;\r\n\t\t\t\treturn _;\r\n\t\t }, {})\r\n\t\t: {};\r\n","const isResponseEmpty = (response) =>\r\n\tObject.values(response.values).filter((v) => v !== null).length === 0;\r\n\r\nexport const getRosterInitLines = (cells) =>\r\n\tArray.isArray(cells)\r\n\t\t? cells\r\n\t\t\t\t.reduce(\r\n\t\t\t\t\t(_, line) => [\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\tline.reduce((__, component) => {\r\n\t\t\t\t\t\t\tif (!component.response || __) return __;\r\n\t\t\t\t\t\t\treturn !isResponseEmpty(component.response);\r\n\t\t\t\t\t\t}, false),\r\n\t\t\t\t\t],\r\n\t\t\t\t\t[]\r\n\t\t\t\t)\r\n\t\t\t\t.filter((b) => b).length\r\n\t\t: 0;\r\n","import * as C from '../../../constants';\r\n\r\nexport const getLoopConstructorInitLines = (components) =>\r\n\tArray.isArray(components)\r\n\t\t? components.reduce(\r\n\t\t\t\t(_, c) =>\r\n\t\t\t\t\tc.response &&\r\n\t\t\t\t\tc.response.values[C.COLLECTED] &&\r\n\t\t\t\t\tc.response.values[C.COLLECTED].length > _\r\n\t\t\t\t\t\t? c.response.values[C.COLLECTED].length\r\n\t\t\t\t\t\t: _,\r\n\t\t\t\t0\r\n\t\t )\r\n\t\t: 0;\r\n\r\nexport const getInvolvedVariables = (parentComponents) =>\r\n\tArray.isArray(parentComponents)\r\n\t\t? parentComponents\r\n\t\t\t\t.reduce((_, c) => {\r\n\t\t\t\t\tconst { response, responses, components, depth } = c;\r\n\t\t\t\t\tif (response && response.name)\r\n\t\t\t\t\t\treturn [..._, { name: response.name, depth }];\r\n\t\t\t\t\tif (responses || components)\r\n\t\t\t\t\t\treturn [..._, getInvolvedVariables(responses || components)];\r\n\t\t\t\t\treturn _;\r\n\t\t\t\t}, [])\r\n\t\t\t\t.flat()\r\n\t\t: [];\r\n\r\nexport const lastLoopChildLineIsEmpty = (bindings) => (involvedVariables) =>\r\n\tbindings && involvedVariables\r\n\t\t? involvedVariables\r\n\t\t\t\t.map((iv) => iv.name)\r\n\t\t\t\t.filter((iv) => bindings[iv] && bindings[iv][bindings[iv].length - 1])\r\n\t\t\t\t.length === 0\r\n\t\t: true;\r\n\r\nexport const buildEmptyValue = (depth) => {\r\n\tif (!depth || depth === 1) return null;\r\n\treturn new Array(depth - 1)\r\n\t\t.fill(null)\r\n\t\t.reduce((acc) => new Array(1).fill(acc), null);\r\n};\r\n","import isEqual from 'lodash.isequal';\r\n\r\nconst VarsHasBeenUpdated = (prevProps, props) => {\r\n\tconst { response: oldR, responses: oldRs, cells: oldC } = prevProps;\r\n\tconst { response: newR, responses: newRs, cells: newC } = props;\r\n\tif (!newR && !newRs && !newC) return true;\r\n\treturn !(\r\n\t\t(newR && isEqual(oldR, newR)) ||\r\n\t\t(newRs && isEqual(oldRs, newRs)) ||\r\n\t\t(newC && isEqual(oldC, newC))\r\n\t);\r\n};\r\nexport const areEqual = (prevProps, props) => {\r\n\tif (VarsHasBeenUpdated(prevProps, props)) return false;\r\n\tconst { bindingDependencies } = props;\r\n\tif (Array.isArray(bindingDependencies) && bindingDependencies.length > 0) {\r\n\t\tconst { bindings: oldB } = prevProps;\r\n\t\tconst { bindings: newB } = props;\r\n\t\treturn !bindingDependencies\r\n\t\t\t.map((d) => isEqual(oldB[d], newB[d]))\r\n\t\t\t.includes(false);\r\n\t}\r\n\treturn true;\r\n};\r\n","export const responseToClean = (response) => (preferences) => {\r\n\tif (!preferences || !response.values) return false;\r\n\tconst { values } = response;\r\n\tif (!values) return false;\r\n\tconst cutedValues = {\r\n\t\t...values,\r\n\t\t[preferences[preferences.length - 1]]: null,\r\n\t};\r\n\treturn Object.values(cutedValues).filter((v) => v !== null).length === 0;\r\n};\r\n\r\nexport const responsesToClean = (responses) => (preferences) => (key) => {\r\n\tif (!preferences || !key) return false;\r\n\tconst values = responses.find((r) => r.response.name === key).response.values;\r\n\tif (!values) return false;\r\n\tconst cutedValues = {\r\n\t\t...values,\r\n\t\t[preferences[preferences.length - 1]]: null,\r\n\t};\r\n\treturn Object.values(cutedValues).filter((v) => v !== null).length === 0;\r\n};\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { buildStyleObject } from '../../utils/lib';\r\nimport './breadcrumb.scss';\r\n\r\nconst Breadcrumb = ({ elements, style }) => (\r\n\t<div\r\n\t\taria-label={`breadcrumb`}\r\n\t\tclassName=\"breadcrumb-lunatic\"\r\n\t\tstyle={buildStyleObject(style)}\r\n\t>\r\n\t\t{elements.map((e, i) => (\r\n\t\t\t<React.Fragment key={`breadcrumb-${e.toLowerCase()}`}>\r\n\t\t\t\t{e && (\r\n\t\t\t\t\t<span className={i !== 0 ? 'breadcrumb-element-lunatic' : undefined}>\r\n\t\t\t\t\t\t{e}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t)}\r\n\t\t\t</React.Fragment>\r\n\t\t))}\r\n\t</div>\r\n);\r\n\r\nBreadcrumb.propTypes = {\r\n\telements: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default Breadcrumb;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { buildStyleObject } from '../../utils/lib';\r\nimport './button.scss';\r\n\r\nconst Button = ({ label, value, onClick, disabled, style }) => (\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\taria-label={label || 'button'}\r\n\t\tclassName=\"button-lunatic\"\r\n\t\tstyle={buildStyleObject(style)}\r\n\t\tdisabled={disabled}\r\n\t\tonClick={onClick}\r\n\t>\r\n\t\t{value}\r\n\t</button>\r\n);\r\n\r\nButton.propTypes = {\r\n\tvalue: PropTypes.string.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tonClick: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default Button;\r\n","import * as C from '../../constants';\r\n\r\nexport const getState = (questionnaire) => {\r\n\tconst { variables } = questionnaire;\r\n\treturn {\r\n\t\t[C.CALCULATED]: getCalculatedFromVariables(variables),\r\n\t\t[C.COLLECTED]: getCollectedState(questionnaire),\r\n\t\t[C.EXTERNAL]: getExternalFromVariables(variables),\r\n\t};\r\n};\r\n\r\nexport const getCollectedState = (questionnaire) => {\r\n\tconst { variables } = questionnaire;\r\n\treturn (\r\n\t\t(variables &&\r\n\t\t\tvariables[C.COLLECTED] &&\r\n\t\t\tObject.entries(variables[C.COLLECTED]).reduce(\r\n\t\t\t\t(acc, [name, { values }]) => ({ ...acc, [name]: values }),\r\n\t\t\t\t{}\r\n\t\t\t)) ||\r\n\t\t{}\r\n\t);\r\n};\r\n\r\nconst getCalculatedFromVariables = (variables) =>\r\n\tvariables && variables[C.CALCULATED]\r\n\t\t? Object.entries(variables[C.CALCULATED]).reduce(\r\n\t\t\t\t(_, [name, { value }]) => ({ ..._, [name]: value }),\r\n\t\t\t\t{}\r\n\t\t )\r\n\t\t: {};\r\n\r\nconst getExternalFromVariables = (variables) =>\r\n\t(variables && variables[C.EXTERNAL]) || {};\r\n\r\nexport const getCollectedStateByValueType = (questionnaire) => (\r\n\tvalueType,\r\n\tdisplayNull\r\n) =>\r\n\t['PREVIOUS', 'COLLECTED', 'FORCED', 'EDITED', 'INPUTED'].includes(valueType)\r\n\t\t? Object.entries(getCollectedState(questionnaire)).reduce((_, v) => {\r\n\t\t\t\tif (displayNull || v[1][valueType] !== null)\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\t[v[0]]: v[1][valueType],\r\n\t\t\t\t\t};\r\n\t\t\t\treturn _;\r\n\t\t }, {})\r\n\t\t: {};\r\n\r\nexport const getBindings = (questionnaire) => {\r\n\tconst { variables } = questionnaire;\r\n\treturn {\r\n\t\t...getCollectedStateByValueType(questionnaire)('COLLECTED', true),\r\n\t\t...getCalculatedFromVariables(variables),\r\n\t\t...getExternalFromVariables(variables),\r\n\t};\r\n};\r\n","import { useState, useEffect, useCallback } from 'react';\r\nimport { interpret } from './interpret';\r\nimport { mergeQuestionnaireAndData } from './init-questionnaire';\r\nimport { getBindings } from './state';\r\nimport { updateQuestionnaire } from './handler';\r\nimport { COLLECTED } from '../../constants';\r\n\r\nconst filterComponents = (components, management, bindings, features) => {\r\n\tconst filteredComponents = management\r\n\t\t? components\r\n\t\t: components.filter(\r\n\t\t\t\t({ conditionFilter }) =>\r\n\t\t\t\t\t!conditionFilter ||\r\n\t\t\t\t\tinterpret(features)(bindings, true)(conditionFilter) === 'normal'\r\n\t\t );\r\n\treturn filteredComponents;\r\n};\r\n\r\nconst useLunatic = (\r\n\tsource,\r\n\tdata,\r\n\t{\r\n\t\tsavingType = COLLECTED,\r\n\t\tpreferences = [COLLECTED],\r\n\t\tfeatures = ['VTL'],\r\n\t\tmanagement = false,\r\n\t}\r\n) => {\r\n\tconst [questionnaire, setQuestionnaire] = useState(\r\n\t\tmergeQuestionnaireAndData(source)(data || {})\r\n\t);\r\n\tconst [todo, setTodo] = useState({});\r\n\r\n\tconst handleChange = useCallback((updatedValue) => {\r\n\t\tsetTodo(updatedValue);\r\n\t}, []);\r\n\r\n\t// Assume we only want to handle source update\r\n\tuseEffect(() => {\r\n\t\tsetQuestionnaire(mergeQuestionnaireAndData(source)(data));\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [source]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Object.keys(todo).length !== 0) {\r\n\t\t\tconst newQ = updateQuestionnaire(savingType)(questionnaire)(preferences)(\r\n\t\t\t\ttodo\r\n\t\t\t);\r\n\t\t\tsetQuestionnaire(newQ);\r\n\t\t\tsetTodo({});\r\n\t\t}\r\n\t}, [todo, preferences, questionnaire, savingType, features, management]);\r\n\r\n\tconst bindings = getBindings(questionnaire);\r\n\tconst components = filterComponents(\r\n\t\tquestionnaire.components,\r\n\t\tmanagement,\r\n\t\tbindings,\r\n\t\tfeatures\r\n\t);\r\n\r\n\treturn { questionnaire, handleChange, components, bindings };\r\n};\r\n\r\nexport default useLunatic;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as U from '../../utils/lib';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './declarations.scss';\r\n\r\nconst Declarations = ({ id, type, declarations, features, bindings }) => {\r\n\tconst filtered = declarations.filter(({ position }) => position === type);\r\n\treturn (\r\n\t\t<div id={`declarations-${id}-${type}`} className=\"declarations-lunatic\">\r\n\t\t\t{filtered.map(({ id: idD, label, declarationType }) => (\r\n\t\t\t\t<div\r\n\t\t\t\t\tkey={`${idD}`}\r\n\t\t\t\t\tclassName={`declaration-lunatic declaration-${declarationType.toLowerCase()}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t\t\t</div>\r\n\t\t\t))}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nDeclarations.defaultProps = {\r\n\ttype: 'AFTER_QUESTION_TEXT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n};\r\n\r\nDeclarations.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\ttype: PropTypes.string,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n};\r\n\r\nexport default Declarations;\r\n","var img = new Image(); img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAMPSURBVEhLrZVdSBRRFMePs36vubp+JJul1pYKEdESlRShL9aDFFZsEEgGBUIvRQ8R9VhEBL0IQUEPPVQWSJBgYil9ET1YVARhqemappmlu4vf2vzPzp3uzoyjVj8Y7syZufO/556PGzOnQja0fR+j+o4gfR6ZVK8JzUqUnRRLK1Pi6HBxGpXkJGtWa+YVqfs0QmdfDVJ4alazzI8zTqEzvkyqLk7XLNGYREYnZ6n0fhf1h6d5cmq8QvvWuKh8lZNc8Q72YHBsmkYmZ6ipJ0yPAiH6+DPiIb5vrMgjryuenwVRItiS3Q+69dVf2Z5D/rUuvrdD9hpCd8pzyZeVpL2VROCB724Hf1iUnkDXSj2mFdmB+Udb++hZX5ifn1YW6PN1EQhgi3Z4nFSnruRvOaYKNXwJUoIjhrqq1rGNReDuieff2CCvwEhrb5hOvxygQGhKs0RAlp3cmKFvrVjw8Q0ZnBAKjJfeDPHLc5uzLAXw8y33OulQc69JAMAGccHlkhwer38Y5lFBHYhMqlnvZqMMBGqe9Fv+XEZOkNJcJ2/7xMwcJ0UsCg1Y5bgQGFXTVaaqKI0ubluuPVlTuXoZJ0F9Z5CU16onYFNmIo8yiJMsgJ/3VRcuKAB82ZEURpdQUFjAm2aOhXgHFrN6GRFbhIIDD1DJdixFwIguIq/6f6OLoBfZgSxZCmhRAFmriDaNZmcEVStAHSxFqG1QSyi1h8W0BEJzKDL0q5a9+fxCUPvuB11oixSqHcaKB6K9nN+aTQoKBy6hXT/sDmmfRBBtYSGMFY8ChwDAMcExET860vKVhsejY7NYIdmLioYeHlHgOI/0Llxws53bwL924VMvBuhW+y++R+ECPbua9+RzoNEK/E29Jo8WA+InBG6UreARRJ2M2Mv9jQH2CODDXXkpfG8H5h1UFyZOVOO8KBGA/PY3BbgdAGTdAW8qlXmSqdD9p7/B02b1fH8cCFJDdyT9sRNXd3pMCzOJABylte+H9fNAeGYHgox0tcJSRAYFeFu93g6Nm8SEl36vi9yJDs1qhOg33VaTt51lxw8AAAAASUVORK5CYII='; export default img;","var img = new Image(); img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAAGEMEXHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABjUExURf///8Xn9XrH6Va44zKp3Eiy4GW+5b7j9Kja8Bme2CSj2p7W7vH5/UGv34XM69vw+czq9iCh2ZbT7bfg82W94+33/Njt92zB5k+14XPE6On2+4vN6sLl9Mno9i+n3Cum2wAAAIfAWccAAAAhdFJOU///////////////////////////////////////////AJ/B0CEAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAEVSURBVChTVVIBcsMgDFODm2JKIFnTbvv/Ryfb0F11Z4ptWYBSYL8wFBk34A7kLwDCUIbBfkcIHppsM2tIVy61exRoQ0LFaa2NhLSiP7l/MA7no6rsdd+UI5SINQSvZKVsBXSB7N4plnFRyihxxrFdtxeep5qwYRFZx1ZK6735IMrmJSQOZR9sXKWZSKeaVdQVfftOirdG8kHjhXlFxZ0ZWezpwrclo4Q69ZUWZj28BPyobmbCQPYxR6HdE53leLyBpGIGEELHP7GGtB/DIyds+mathZ/BEBefyNSRMJxDwRggcXbMlSlGsPM9uWHpgKnRgPB/zBCd/yStLB3z1hK6wO+8zn7o+7sx47v/s9oOdgdoLAD8AWlNC8M57XWRAAAAAElFTkSuQmCC'; export default img;","var img = new Image(); img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAZCAMAAAFiGY6DAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABUUExURf///6zc8Uiy4PH5/d/x+b7j9Bme2DKp3CSj2la442W+5YnN61O34nrH6Z7W7tDr9yCh2bfg8+33/HPE6EGv35bT7U+14czq9nDD56XZ7+n2+wAAAJWny4EAAAAcdFJOU////////////////////////////////////wAXsuLXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABKElEQVQoU2VSC3bDIAwzJRM0hCb0ldfd/6STDFm7TgnEX2GbGHExQ4PZoc0scT0MgC/6xkqZ+tC0x6y4E4zlU5VAs8I2Wrv0/PL/xzih4gKsCJVB1RZKsvXYrJntG7gXrM/ddgZ3JPDtBRHFSQYG1Ylgy9cUhStwdaGKO6tAdX0wCQi5tUyzK6oYYNHB+aDDBXhHcjtu09uHKgfTYGTUXMRDtCOU7HUU8ShH1CdWdj1FoS/3k+4vyB3Se6KV8tv6Bamm2Z3d+GWvuNmel4WC7A9+OUcV9AKr5PHEJHIxavjui4mOisf0/B7uiqwTrp9/gisa0wuycLTs3zlI2yl7QpTvDR8FlXy3jWq3hqBYjYpXPy/A7Lmu33GIMR1r3z6OPnFngYFXbfYDTw4LkdQNpj4AAAAASUVORK5CYII='; export default img;","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as U from '../../utils/lib';\r\nimport * as img from './img';\r\nimport './tooltip.scss';\r\n\r\nconst TooltipResponse = ({ id, response }) => {\r\n\tconst [tooltipElements, setTooltipElements] = useState(() =>\r\n\t\tU.buildTooltip(response)\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetTooltipElements(U.buildTooltip(response));\r\n\t}, [response]);\r\n\r\n\tconst { content, imgName } = tooltipElements;\r\n\r\n\tif (!content)\r\n\t\treturn (\r\n\t\t\t<div className=\"tooltip-lunatic\">\r\n\t\t\t\t<img\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\talt=\"img-tooltip\"\r\n\t\t\t\t\tsrc={img.collectedImg.src || img.collectedImg}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t);\r\n\treturn (\r\n\t\t<div className=\"tooltip-lunatic\">\r\n\t\t\t<img id={id} alt=\"img-tooltip\" src={img[imgName].src || img[imgName]} />\r\n\t\t\t<span className=\"tooltip-text\">\r\n\t\t\t\t<ul>\r\n\t\t\t\t\t{content.map(({ key, value }) => (\r\n\t\t\t\t\t\t<li key={`tooltip-${id}-content-${key}`}>{`${key} : ${value}`}</li>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</ul>\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nTooltipResponse.defaultProps = {\r\n\tresponse: {},\r\n};\r\n\r\nTooltipResponse.propTypes = {\r\n\tid: PropTypes.string,\r\n\tresponse: U.responsePropTypes,\r\n};\r\n\r\nexport default TooltipResponse;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport debounce from 'lodash.debounce';\r\nimport Declarations from '../declarations';\r\nimport { TooltipResponse } from '../tooltip';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './checkbox.scss';\r\n\r\nconst CheckboxGroup = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponses,\r\n\thandleChange: propsHandleChange,\r\n\tdisabled,\r\n\tfocused,\r\n\tkeyboardSelection,\r\n\tpositioning,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tstyle,\r\n}) => {\r\n\tconst { fieldsetStyle, modalityStyle } = style;\r\n\tconst inputRef = useRef();\r\n\r\n\tconst [values, setValues] = useState(() =>\r\n\t\tresponses.map(({ response }) =>\r\n\t\t\tU.getResponseByPreference(preferences)(response)\r\n\t\t)\r\n\t);\r\n\r\n\tconst handleChange = debounce((obj) => propsHandleChange(obj), 50);\r\n\r\n\tconst specificHandleChange = (e) => {\r\n\t\tconst [key, value] = Object.entries(e)[0];\r\n\t\tif (value === false && U.responsesToClean(responses)(preferences)(key))\r\n\t\t\thandleChange({ [key]: null });\r\n\t\telse handleChange(e);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tconst checkedArray = [];\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<fieldset\r\n\t\t\t\tkey={`checkbox-${id}`}\r\n\t\t\t\tclassName=\"checkbox-group\"\r\n\t\t\t\tstyle={U.buildStyleObject(fieldsetStyle)}\r\n\t\t\t>\r\n\t\t\t\t<legend>{interpret(features)(bindings)(label)}</legend>\r\n\t\t\t\t<Declarations\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t/>\r\n\t\t\t\t{responses.map(({ id: modId, label: modLabel, response }, i) => {\r\n\t\t\t\t\tconst checked = values[i];\r\n\t\t\t\t\tif (checked) checkedArray.push(modId);\r\n\t\t\t\t\tconst toRef =\r\n\t\t\t\t\t\ti === 0 || (checkedArray[0] && checkedArray[0] === modId);\r\n\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(modLabel);\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclassName={`${U.getItemsPositioningClass(positioning)}`}\r\n\t\t\t\t\t\t\tkey={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<div className=\"field-container\">\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tclassName={`${management ? 'field-with-tooltip' : 'field'}`}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tclassName={`checkbox-modality ${\r\n\t\t\t\t\t\t\t\t\t\t\tchecked ? 'content-checked' : ''\r\n\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\t\t\t\tid={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tref={toRef ? inputRef : null}\r\n\t\t\t\t\t\t\t\t\t\t\tkey={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\taria-labelledby={`input-label-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"checkbox-lunatic\"\r\n\t\t\t\t\t\t\t\t\t\t\tchecked={checked}\r\n\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\t\t\t\t\tonChange={({ target: { checked } }) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetValues(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalues.map((v, j) => (i === j ? checked : v))\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\tspecificHandleChange({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t[U.getResponseName(response)]: checked,\r\n\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<label\r\n\t\t\t\t\t\t\t\t\t\t\thtmlFor={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tid={`input-label-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={checked ? U.buildStyleObject(modalityStyle) : {}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{keyboardSelection && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"code-modality\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{responses.length < 10\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? i + 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: U.getAlphabet()[i].toUpperCase()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{interpretedLabel}\r\n\t\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t{management && (\r\n\t\t\t\t\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\t\t\t\t\tresponse={U.buildBooleanTooltipResponse(response)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t</fieldset>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nCheckboxGroup.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponses: [],\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\tkeyboardSelection: false,\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: { fieldsetStyle: {}, modalityStyle: {} },\r\n};\r\n\r\nCheckboxGroup.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tkeyboardSelection: PropTypes.bool,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(CheckboxGroup, U.areEqual);\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport debounce from 'lodash.debounce';\r\nimport Declarations from '../declarations';\r\nimport { TooltipResponse } from '../tooltip';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './checkbox.scss';\r\n\r\nconst CheckboxBoolean = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\thandleChange: propsHandleChange,\r\n\tdisabled,\r\n\tpositioning,\r\n\tfocused,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tstyle,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tconst [value, setValue] = useState(() =>\r\n\t\tU.getResponseByPreference(preferences)(response)\r\n\t);\r\n\r\n\tconst handleChange = debounce((obj) => propsHandleChange(obj), 50);\r\n\r\n\tconst specificHandleChange = (e) => {\r\n\t\tconst [key, value] = Object.entries(e)[0];\r\n\t\tif (value === false && U.responseToClean(response)(preferences))\r\n\t\t\thandleChange({ [key]: null });\r\n\t\telse handleChange(e);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tconst isVertical = positioning === 'VERTICAL';\r\n\tconst isHorizontal = positioning === 'HORIZONTAL';\r\n\tconst input = (\r\n\t\t<>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\tid={`checkbox-boolean-${id}`}\r\n\t\t\t\tref={inputRef}\r\n\t\t\t\ttitle={label ? label : 'empty-label'}\r\n\t\t\t\tclassName={`checkbox-boolean-lunatic${isVertical ? '-no-margin' : ''}`}\r\n\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\tchecked={value}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tonChange={({ target: { checked } }) => {\r\n\t\t\t\t\tsetValue(checked);\r\n\t\t\t\t\tspecificHandleChange({\r\n\t\t\t\t\t\t[U.getResponseName(response)]: checked,\r\n\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t{label && (\r\n\t\t\t\t<label htmlFor={`checkbox-boolean-${id}`}>\r\n\t\t\t\t\t{isHorizontal ? interpret(features)(bindings)(label) : ''}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n\treturn (\r\n\t\t<div key={`checkbox-boolean-${id}`} className={`checkbox-boolean-modality`}>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{label && !isHorizontal && (\r\n\t\t\t\t<label htmlFor={`checkbox-boolean-${id}`}>\r\n\t\t\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className=\"field-container\">\r\n\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t{isVertical ? <div>{input}</div> : input}\r\n\t\t\t\t</div>\r\n\t\t\t\t{management && (\r\n\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\tresponse={U.buildBooleanTooltipResponse(response)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nCheckboxBoolean.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\tdisabled: false,\r\n\tpositioning: 'DEFAULT',\r\n\tfocused: false,\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: {},\r\n};\r\n\r\nCheckboxBoolean.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tfocused: PropTypes.bool,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(CheckboxBoolean, U.areEqual);\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../';\r\nimport { TooltipResponse } from '../../tooltip';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\nimport { interpret } from '../../../utils/to-expose';\r\n\r\nconst InputDeclarationsWrapper = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\tplaceholder,\r\n\thandleChange,\r\n\tmaxLength,\r\n\treadOnly,\r\n\tdisabled,\r\n\tautoComplete,\r\n\tlabelPosition,\r\n\tmandatory,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tfocused,\r\n\tmanagement,\r\n\tstyle,\r\n\ttype,\r\n\troleType,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tconst [value, setValue] = useState(() =>\r\n\t\tU.getResponseByPreference(preferences)(response)\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\t// Assume we only want to handle enable external updates\r\n\t// Don't need to check all value changes\r\n\tuseEffect(() => {\r\n\t\tif (U.getResponseByPreference(preferences)(response) !== value)\r\n\t\t\tsetValue(U.getResponseByPreference(preferences)(response));\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [response, preferences]);\r\n\r\n\tconst handleChangeOnBlur = () => {\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: value,\r\n\t\t});\r\n\t};\r\n\r\n\tconst Component = roleType === 'textarea' ? 'textarea' : 'input';\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className={U.getLabelPositionClass(labelPosition)}>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label\r\n\t\t\t\t\t\thtmlFor={`${roleType}-${id}`}\r\n\t\t\t\t\t\tid={`${roleType}-label-${id}`}\r\n\t\t\t\t\t\tclassName={`${mandatory ? 'mandatory' : ''}`}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t<Declarations\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t/>\r\n\t\t\t\t<div className=\"field-container\">\r\n\t\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\tid={`${roleType}-${id}`}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tautoComplete={autoComplete ? 'on' : 'off'}\r\n\t\t\t\t\t\t\tclassName={`${roleType}-lunatic`}\r\n\t\t\t\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\t\t\t\treadOnly={readOnly}\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\tmaxLength={maxLength || 524288}\r\n\t\t\t\t\t\t\trequired={mandatory}\r\n\t\t\t\t\t\t\taria-required={mandatory}\r\n\t\t\t\t\t\t\tonChange={({ target: { value: v } }) => {\r\n\t\t\t\t\t\t\t\tif (management) setValue(v);\r\n\t\t\t\t\t\t\t\telse setValue(v === '' ? null : v);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonBlur={handleChangeOnBlur}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{management && (\r\n\t\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\t\tresponse={U.buildLocalResponse(response, value)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nInputDeclarationsWrapper.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\tplaceholder: '',\r\n\treadOnly: false,\r\n\tdisabled: false,\r\n\tautoComplete: false,\r\n\tlabelPosition: 'DEFAULT',\r\n\tmandatory: false,\r\n\tfocused: false,\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: {},\r\n};\r\n\r\nInputDeclarationsWrapper.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\tplaceholder: PropTypes.string,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\treadOnly: PropTypes.bool,\r\n\tdisabled: PropTypes.bool,\r\n\tmaxLength: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n\tautoComplete: PropTypes.bool,\r\n\tlabelPosition: PropTypes.oneOf(['DEFAULT', 'TOP', 'BOTTOM', 'LEFT', 'RIGHT']),\r\n\tmandatory: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n\ttype: PropTypes.oneOf(['text', 'date', null]),\r\n\troleType: PropTypes.oneOf(['input', 'datepicker', 'textarea']),\r\n};\r\n\r\nexport default InputDeclarationsWrapper;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport debounce from 'lodash.debounce';\r\nimport Declarations from '../';\r\nimport { TooltipResponse } from '../../tooltip';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\nimport { interpret } from '../../../utils/to-expose';\r\n\r\nconst ListDeclarationsWrapper = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\toptions,\r\n\thandleChange: propsHandleChange,\r\n\tdisabled,\r\n\tfocused,\r\n\tkeyboardSelection,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tstyle,\r\n\tpositioning,\r\n\ttype,\r\n\thasSpecificHandler,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tconst [value, setValue] = useState(() =>\r\n\t\tU.getResponseByPreference(preferences)(response)\r\n\t);\r\n\r\n\tconst specificHandleChange = (e) => {\r\n\t\tconst { values } = response;\r\n\t\tconst [key, value] = Object.entries(e)[0];\r\n\t\tconst newValue =\r\n\t\t\tvalues[preferences[preferences.length - 1]] === value ? null : value;\r\n\t\thandleChange({ [key]: newValue });\r\n\t\tif (management) {\r\n\t\t\tsetValue(\r\n\t\t\t\tU.getResponseByPreference(preferences)(\r\n\t\t\t\t\tU.buildLocalResponse(response, newValue)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t} else setValue(newValue);\r\n\t};\r\n\r\n\tconst handleChange = debounce((obj) => propsHandleChange(obj), 50);\r\n\r\n\tconst onChange = (v) => {\r\n\t\tconst update = {\r\n\t\t\t[U.getResponseName(response)]: v,\r\n\t\t};\r\n\t\tif (hasSpecificHandler) specificHandleChange(update);\r\n\t\telse {\r\n\t\t\tsetValue(v);\r\n\t\t\thandleChange(update);\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tconst { fieldsetStyle, modalityStyle } = style;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className=\"field-container\">\r\n\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t<fieldset\r\n\t\t\t\t\t\tkey={`${type}-${id}`}\r\n\t\t\t\t\t\tclassName={`${type}-group`}\r\n\t\t\t\t\t\tstyle={U.buildStyleObject(fieldsetStyle)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<legend>{interpret(features)(bindings)(label)}</legend>\r\n\t\t\t\t\t\t<Declarations\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{options.map(({ label: optionLabel, value: optionValue }, i) => {\r\n\t\t\t\t\t\t\tconst checked = value === optionValue;\r\n\t\t\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(\r\n\t\t\t\t\t\t\t\toptionLabel\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tkey={`${type}-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\tclassName={`${type}-modality ${U.getItemsPositioningClass(\r\n\t\t\t\t\t\t\t\t\t\tpositioning\r\n\t\t\t\t\t\t\t\t\t)} ${checked ? 'content-checked' : ''}`}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\t\t\t\tname={`${type}-${id}`}\r\n\t\t\t\t\t\t\t\t\t\tref={i === 0 || checked ? inputRef : null}\r\n\t\t\t\t\t\t\t\t\t\tid={`${type}-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\taria-labelledby={`input-label-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\tclassName={`${type}-lunatic`}\r\n\t\t\t\t\t\t\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\t\t\t\t\t\t\tchecked={checked}\r\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\t\t\t\tonChange={(optionLabel) => onChange(optionValue)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<label\r\n\t\t\t\t\t\t\t\t\t\thtmlFor={`${type}-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\tid={`input-label-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\tstyle={checked ? U.buildStyleObject(modalityStyle) : {}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{keyboardSelection && (\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"code-modality\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{options.length < 10\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? i + 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: U.getAlphabet()[i].toUpperCase()}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{interpretedLabel}\r\n\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t</fieldset>\r\n\t\t\t\t</div>\r\n\t\t\t\t{management && (\r\n\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\tresponse={U.buildMultiTooltipResponse(options)(response)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nListDeclarationsWrapper.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\toptions: [],\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\tkeyboardSelection: false,\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: { fieldsetStyle: {}, modalityStyle: {} },\r\n};\r\n\r\nListDeclarationsWrapper.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\toptions: U.optionsPropTypes,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tkeyboardSelection: PropTypes.bool,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n\ttype: PropTypes.oneOf(['radio', 'checkbox']),\r\n};\r\n\r\nexport default ListDeclarationsWrapper;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\n\r\nconst SimpleDeclarationsWrapper = ({\r\n\tid,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tchildren,\r\n}) => (\r\n\t<>\r\n\t\t<Declarations\r\n\t\t\tid={id}\r\n\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\tdeclarations={declarations}\r\n\t\t\tfeatures={features}\r\n\t\t\tbindings={bindings}\r\n\t\t/>\r\n\t\t{children}\r\n\t\t<Declarations\r\n\t\t\tid={id}\r\n\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\tdeclarations={declarations}\r\n\t\t\tfeatures={features}\r\n\t\t\tbindings={bindings}\r\n\t\t/>\r\n\t\t<Declarations\r\n\t\t\tid={id}\r\n\t\t\ttype={C.DETACHABLE}\r\n\t\t\tdeclarations={declarations}\r\n\t\t\tfeatures={features}\r\n\t\t\tbindings={bindings}\r\n\t\t/>\r\n\t</>\r\n);\r\n\r\nSimpleDeclarationsWrapper.defaultProps = {\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n};\r\n\r\nSimpleDeclarationsWrapper.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tchildren: PropTypes.element.isRequired,\r\n};\r\n\r\nexport default SimpleDeclarationsWrapper;\r\n","import React from 'react';\r\nimport { ListDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './checkbox.scss';\r\n\r\nconst CheckboxOne = (props) => (\r\n\t<ListDeclarationsWrapper type=\"checkbox\" {...props} hasSpecificHandler />\r\n);\r\n\r\nexport default React.memo(CheckboxOne, areEqual);\r\n","import React from 'react';\r\nimport { InputDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './datepicker.scss';\r\n\r\nconst Datepicker = (props) => (\r\n\t<InputDeclarationsWrapper type=\"date\" roleType=\"datepicker\" {...props} />\r\n);\r\n\r\nexport default React.memo(Datepicker, areEqual);\r\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export const SHOW_PANEL = \"dropdown/show-panel\";\r\nexport const showPanel = () => ({ type: SHOW_PANEL });\r\n\r\nexport const HIDE_PANEL = \"dropdown/hide-panel\";\r\nexport const hidePanel = () => ({ type: HIDE_PANEL });\r\n\r\nexport const SET_ACTIVE_OPTION = \"dropdown/set-active-option\";\r\nexport const setActiveOption = index => ({\r\n type: SET_ACTIVE_OPTION,\r\n payload: { index }\r\n});\r\n\r\nexport const SET_OPTIONS = \"dropdown/set-options\";\r\nexport const setOptions = options => ({\r\n type: SET_OPTIONS,\r\n payload: { options }\r\n});\r\n\r\nexport const SET_VALUE = \"dropdown/set-value\";\r\nexport const setValue = value => ({ type: SET_VALUE, payload: { value } });\r\n\r\nexport const SET_FOCUSED = \"dropdown/set-focused\";\r\nexport const setFocused = focused => ({\r\n type: SET_FOCUSED,\r\n payload: { focused }\r\n});\r\n\r\nexport const SET_SELECTED_OPTION = \"dropdown/set-selectted-option\";\r\nexport const setSelectedOption = option => ({\r\n type: SET_SELECTED_OPTION,\r\n payload: { option }\r\n});\r\n\r\nexport const RESET_SELECTION = \"dropdown/reset-selection\";\r\nexport const resetSelection = option => ({\r\n type: RESET_SELECTION\r\n});\r\n\r\n/* */\r\nexport const ARROW_UP_PRESSED = \"dropdown/arrow-up-ressed\";\r\nexport const arrowUpPressed = () => ({ type: ARROW_UP_PRESSED });\r\n\r\n/* */\r\nexport const ARROW_DOWN_PRESSED = \"dropdown/arrow-down-pressed\";\r\nexport const arrowDownPressed = () => ({ type: ARROW_DOWN_PRESSED });\r\n\r\n/* */\r\nexport const ENTER_PRESSED = \"dropdown/enter-pressed\";\r\nexport const enterPressed = callback => ({\r\n type: ENTER_PRESSED,\r\n payload: { callback }\r\n});\r\n\r\n/* */\r\nexport const SET_PREFIX = \"dropdown/set-prefix\";\r\nexport const setPrefix = prefix => ({ type: SET_PREFIX, payload: { prefix } });\r\n","import React, { useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n/**\r\n *\r\n */\r\nfunction Panel({\r\n\toptions = [],\r\n\tdisplay,\r\n\thandleActive,\r\n\tprefix,\r\n\tactiveIndex,\r\n\tselectedOption,\r\n\tonSelect,\r\n\tidDropdown,\r\n\toptionComponent: Option,\r\n}) {\r\n\tconst ulRef = useRef();\r\n\r\n\treturn display ? (\r\n\t\t<div className=\"lunatic-dropdown-panel-container\">\r\n\t\t\t<ul className=\"lunatic-dropdown-panel\" ref={ulRef} tabIndex=\"-1\">\r\n\t\t\t\t{options.map(({ label, value }, index) => (\r\n\t\t\t\t\t<li\r\n\t\t\t\t\t\tkey={value}\r\n\t\t\t\t\t\tid={`${idDropdown}-option-${value}`}\r\n\t\t\t\t\t\tonMouseEnter={() => handleActive(index)}\r\n\t\t\t\t\t\tonMouseDown={(e) => {\r\n\t\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\tif (e.button === 0) {\r\n\t\t\t\t\t\t\t\tonSelect({ label, value });\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Option\r\n\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tprefix={prefix}\r\n\t\t\t\t\t\t\tactive={activeIndex === index}\r\n\t\t\t\t\t\t\tselected={selectedOption && selectedOption.value === value}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t))}\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t) : null;\r\n}\r\n\r\nconst propTypesOption = PropTypes.shape({\r\n\tlabel: PropTypes.string,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.object,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.symbol,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n});\r\n\r\nPanel.propTypes = {\r\n\tidDropdown: PropTypes.string.isRequired,\r\n\tprefix: PropTypes.string,\r\n\tonSelect: PropTypes.func,\r\n\thandleActive: PropTypes.func.isRequired,\r\n\tactiveIndex: PropTypes.number,\r\n\tselectedOption: propTypesOption,\r\n\tdisplay: PropTypes.bool.isRequired,\r\n\toptions: PropTypes.arrayOf(propTypesOption),\r\n};\r\n\r\nPanel.defaultProps = {\r\n\toptions: [],\r\n\tonSelect: () => null,\r\n\tselectedOption: undefined,\r\n};\r\n\r\nexport default Panel;\r\n","import React from \"react\";\r\n\r\nfunction Icon({ height = 20, width = 20, color = \"#aaa\" }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={width}\r\n height={height}\r\n x=\"0\"\r\n y=\"0\"\r\n enableBackground=\"new 0 0 292.362 292.362\"\r\n version=\"1.1\"\r\n viewBox=\"0 0 292.362 292.362\"\r\n xmlSpace=\"preserve\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n\r\nexport default Icon;\r\n","import React from \"react\";\r\n\r\nfunction Icon({ height = 20, width = 20, color = \"#aaa\" }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={width}\r\n height={height}\r\n x=\"0\"\r\n y=\"0\"\r\n enableBackground=\"new 0 0 292.362 292.362\"\r\n version=\"1.1\"\r\n viewBox=\"0 0 292.362 292.362\"\r\n xmlSpace=\"preserve\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M286.935 197.286L159.028 69.379c-3.613-3.617-7.895-5.424-12.847-5.424s-9.233 1.807-12.85 5.424L5.424 197.286C1.807 200.9 0 205.184 0 210.132s1.807 9.233 5.424 12.847c3.621 3.617 7.902 5.428 12.85 5.428h255.813c4.949 0 9.233-1.811 12.848-5.428 3.613-3.613 5.427-7.898 5.427-12.847s-1.814-9.232-5.427-12.846z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n\r\nexport default Icon;\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction Label({ content, focused, mandatory }) {\r\n\tif (!content) {\r\n\t\treturn null;\r\n\t}\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classnames('lunatic-dropdown-label', { focused, mandatory })}\r\n\t\t>\r\n\t\t\t{content}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nLabel.defaultProps = {\r\n\tmandatory: false,\r\n};\r\n\r\nLabel.propTypes = {\r\n\tcontent: PropTypes.string,\r\n\tfocused: PropTypes.bool.isRequired,\r\n\tmandatory: PropTypes.bool,\r\n};\r\n\r\nexport default Label;\r\n","let CLEANER_CALLBACKS = {};\r\n\r\n/**\r\n *\r\n * @param {string} id identifiant de dropdown\r\n * @param {function} hook fonction de rappelle à invoquer\r\n */\r\nexport const setCallback = (id, hook) => {\r\n CLEANER_CALLBACKS[id] = hook;\r\n};\r\n\r\n/**\r\n *\r\n * @param {...any} execpt identifiants de dropdownn a ne pas appliquer\r\n */\r\nexport const applyAll = (...execpt) => {\r\n Object.entries(CLEANER_CALLBACKS).forEach(([k, todo]) => {\r\n if (execpt.indexOf(k) === -1) {\r\n apply(k);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * Applique une fonction pour l'identifiant transmis\r\n * @param {string} id\r\n */\r\nexport const apply = id => {\r\n if (id in CLEANER_CALLBACKS && typeof CLEANER_CALLBACKS[id] === \"function\") {\r\n CLEANER_CALLBACKS[id]();\r\n }\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} id\r\n * @param {function} callback\r\n */\r\nexport const add = (id, callback) => {\r\n if (typeof callback === \"function\") {\r\n CLEANER_CALLBACKS[id] = callback;\r\n }\r\n};\r\n\r\n/**\r\n *\r\n */\r\nexport const clearAll = () => {\r\n CLEANER_CALLBACKS = [];\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} id\r\n */\r\nexport const clear = id => {\r\n delete CLEANER_CALLBACKS[id];\r\n};\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { TooltipResponse } from '../../../tooltip';\r\nimport * as U from '../../../../utils/lib';\r\n\r\nfunction DropdownFieldContainer({\r\n\tchildren,\r\n\tid,\r\n\tresponse,\r\n\toptions,\r\n\tmanagement,\r\n\tfocused,\r\n\tvisible,\r\n\tdisabled,\r\n}) {\r\n\treturn (\r\n\t\t<div className=\"field-container\">\r\n\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t<div\r\n\t\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\t\tclassName={classnames('lunatic-dropdown-container', { focused })}\r\n\t\t\t\t>\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\tclassName={classnames(`lunatic-dropdown-content`, {\r\n\t\t\t\t\t\t\tfocused,\r\n\t\t\t\t\t\t\tvisible,\r\n\t\t\t\t\t\t\tdisabled,\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{children}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t{management && (\r\n\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\tresponse={U.buildMultiTooltipResponse(options)(response)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nexport default DropdownFieldContainer;\r\n","import React from 'react';\r\n\r\nconst DropdownContainer = React.forwardRef(function (props, ref) {\r\n\tconst {\r\n\t\tchildren,\r\n\t\tclassName,\r\n\t\tid,\r\n\t\tonMouseDown,\r\n\t\tonKeyDown,\r\n\t\tonFocus,\r\n\t\tonBlur,\r\n\t} = props;\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={className}\r\n\t\t\ttabIndex=\"0\"\r\n\t\t\tid={id}\r\n\t\t\tonMouseDown={onMouseDown}\r\n\t\t\tonKeyDown={onKeyDown}\r\n\t\t\tonFocus={onFocus}\r\n\t\t\tonBlur={onBlur}\r\n\t\t\tref={ref}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nexport default DropdownContainer;\r\n","import * as actions from '../actions';\r\n\r\nexport const BINDED_KEYS = {\r\n\tarrowUp: 'ArrowUp',\r\n\tarrowDown: 'ArrowDown',\r\n\tenter: 'Enter',\r\n\ttab: 'Tab',\r\n};\r\n\r\n/** */\r\nexport default (_, dispatch, onSelect) => (key) => {\r\n\tswitch (key) {\r\n\t\tcase BINDED_KEYS.arrowUp:\r\n\t\t\tdispatch(actions.arrowUpPressed());\r\n\t\t\tbreak;\r\n\t\tcase BINDED_KEYS.arrowDown:\r\n\t\t\tdispatch(actions.arrowDownPressed());\r\n\t\t\tdispatch(actions.showPanel());\r\n\t\t\tbreak;\r\n\t\tcase BINDED_KEYS.enter:\r\n\t\t\tdispatch(actions.enterPressed(onSelect));\r\n\t\t\tbreak;\r\n\t\tcase BINDED_KEYS.tab:\r\n\t\t\tdispatch(actions.setFocused(false));\r\n\t\t\tdispatch(actions.hidePanel());\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t}\r\n};\r\n","import * as CLEAN from '../cleaner-callbacks';\r\nimport * as actions from '../actions';\r\n\r\n/** */\r\nexport default ({ visible, id, disabled }, dispatch) => e => {\r\n\te.stopPropagation();\r\n\tif (!visible && !disabled) {\r\n\t\tCLEAN.applyAll(id);\r\n\t\tdispatch(actions.showPanel());\r\n\t}\r\n};\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport Label from './label';\r\nimport * as U from '../../../../utils/lib';\r\nimport * as CLEAN from '../cleaner-callbacks';\r\nimport * as actions from '../actions';\r\nimport DropdownField from './dropdown-field';\r\nimport DropdownContainer from './dropdown-container';\r\nimport {\r\n\tcreateOnKeyDownCallback,\r\n\tcreateOnMouseDownCallback,\r\n\tBINDED_KEYS,\r\n} from '../event-callbacks';\r\n\r\n/** */\r\nfunction stopAndPrevent(e) {\r\n\te.preventDefault();\r\n\te.stopPropagation();\r\n}\r\n\r\n/** */\r\nfunction prepareOptions(options, valueFromProps) {\r\n\treturn options.reduce(\r\n\t\t(a, o, i) =>\r\n\t\t\to.value === valueFromProps && a.index === -1\r\n\t\t\t\t? { index: i, option: o }\r\n\t\t\t\t: a,\r\n\t\t{ index: -1, option: {} }\r\n\t);\r\n}\r\n\r\n/** */\r\nfunction onKeyDownCallbackProxy(state, dispatch, onSelect) {\r\n\tconst callback = createOnKeyDownCallback(state, dispatch, onSelect);\r\n\treturn function (e) {\r\n\t\tswitch (e.key) {\r\n\t\t\tcase BINDED_KEYS.enter:\r\n\t\t\tcase BINDED_KEYS.arrowUp:\r\n\t\t\tcase BINDED_KEYS.arrowDown:\r\n\t\t\t\tstopAndPrevent(e);\r\n\t\t\t\tcallback(e.key);\r\n\t\t\t\tbreak;\r\n\t\t\tcase BINDED_KEYS.tab:\r\n\t\t\t\tcallback(e.key);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction Dropdown({\r\n\toptions,\r\n\tchildren,\r\n\tonSelect,\r\n\tresponse,\r\n\tclassName,\r\n\tlabel,\r\n\tlabelPosition,\r\n\tmandatory,\r\n\tvalue: valueFromProps,\r\n\tmanagement,\r\n\tstate,\r\n\tdispatch,\r\n\trefs,\r\n}) {\r\n\tconst { visible, focused, id, disabled } = state;\r\n\r\n\tCLEAN.add(id, function () {\r\n\t\tdispatch(actions.hidePanel());\r\n\t\tdispatch(actions.setFocused(false));\r\n\t});\r\n\tuseEffect(\r\n\t\tfunction () {\r\n\t\t\tconst hook = function () {\r\n\t\t\t\tdispatch(actions.hidePanel());\r\n\t\t\t\tdispatch(actions.setFocused(false));\r\n\t\t\t};\r\n\t\t\twindow.addEventListener('mousedown', hook);\r\n\r\n\t\t\treturn function () {\r\n\t\t\t\twindow.removeEventListener('mousedown', hook);\r\n\t\t\t\tCLEAN.clear(id);\r\n\t\t\t};\r\n\t\t},\r\n\t\t[id, dispatch]\r\n\t);\r\n\r\n\tuseEffect(\r\n\t\tfunction () {\r\n\t\t\tdispatch(actions.setOptions(options));\r\n\t\t},\r\n\t\t[options, dispatch]\r\n\t);\r\n\r\n\tuseEffect(\r\n\t\tfunction () {\r\n\t\t\tif (valueFromProps) {\r\n\t\t\t\tconst { option, index } = prepareOptions(options, valueFromProps);\r\n\t\t\t\tdispatch(actions.setSelectedOption(option));\r\n\t\t\t\tdispatch(actions.setActiveOption(index));\r\n\t\t\t}\r\n\t\t},\r\n\t\t[valueFromProps, options, dispatch]\r\n\t);\r\n\r\n\tconst onFocus = useCallback(\r\n\t\tfunction () {\r\n\t\t\tdispatch(actions.setFocused(true && !disabled));\r\n\t\t},\r\n\t\t[dispatch, disabled]\r\n\t);\r\n\r\n\tconst onBlur = useCallback(\r\n\t\tfunction () {\r\n\t\t\tdispatch(actions.setFocused(false));\r\n\t\t},\r\n\t\t[dispatch]\r\n\t);\r\n\r\n\tconst onMouseDownCallback = useCallback(\r\n\t\tcreateOnMouseDownCallback(state, dispatch),\r\n\t\t[state, dispatch]\r\n\t);\r\n\r\n\tconst onKeyDownCallback = useCallback(\r\n\t\tonKeyDownCallbackProxy(state, dispatch, onSelect),\r\n\t\t[state, dispatch, onSelect]\r\n\t);\r\n\r\n\treturn (\r\n\t\t<DropdownContainer\r\n\t\t\tclassName={classnames(className, U.getLabelPositionClass(labelPosition), {\r\n\t\t\t\tfocused,\r\n\t\t\t\tdisabled,\r\n\t\t\t})}\r\n\t\t\tid={id}\r\n\t\t\tonMouseDown={onMouseDownCallback}\r\n\t\t\tonKeyDown={onKeyDownCallback}\r\n\t\t\tonFocus={onFocus}\r\n\t\t\tonBlur={onBlur}\r\n\t\t\tref={refs}\r\n\t\t>\r\n\t\t\t<Label content={label} focused={focused} mandatory={mandatory} />\r\n\t\t\t<DropdownField\r\n\t\t\t\tid={id}\r\n\t\t\t\tresponse={response}\r\n\t\t\t\toptions={options}\r\n\t\t\t\tmanagement={management}\r\n\t\t\t\tfocused={focused}\r\n\t\t\t\tvisible={visible}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</DropdownField>\r\n\t\t</DropdownContainer>\r\n\t);\r\n}\r\n\r\nDropdown.propTypes = {\r\n\tzIndex: PropTypes.number,\r\n\tclassName: PropTypes.string,\r\n\tid: PropTypes.string,\r\n\toptions: PropTypes.array.isRequired,\r\n\tonSelect: PropTypes.func,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.object,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n};\r\n\r\nDropdown.defaultProps = {\r\n\toptions: [],\r\n\tzIndex: 0,\r\n\tonSelect: () => null,\r\n};\r\n\r\nexport default React.forwardRef((props, ref) => (\r\n\t<Dropdown {...props} refs={ref} />\r\n));\r\n","/** */\r\nexport const scrollTo = id => {\r\n const li = document.getElementById(id);\r\n if (li) {\r\n const parent = li.parentNode;\r\n const pr = parent.getBoundingClientRect();\r\n const lr = li.getBoundingClientRect();\r\n const top = lr.top - pr.top + parent.scrollTop;\r\n const bottom = lr.bottom - pr.top + parent.scrollTop;\r\n\r\n if (bottom > parent.scrollTop + pr.height) {\r\n parent.scrollTo(0, bottom - pr.height);\r\n } else if (top < parent.scrollTop) {\r\n parent.scrollTo(0, top);\r\n }\r\n }\r\n};\r\n","import removeAccents from 'remove-accents';\r\n\r\nexport const preparePrefix = (prefix) =>\r\n\ttypeof prefix === 'string'\r\n\t\t? removeAccents(prefix.toLowerCase()).replace(/[- ']/g, '')\r\n\t\t: prefix;\r\n\r\nexport const lettersMatching = (label, prefix = '') => {\r\n\tconst pref = prefix.split('');\r\n\tlet pos = -1;\r\n\tconst clean = preparePrefix(label);\r\n\treturn clean.split('').reduce((a, c, idx) => {\r\n\t\tif (pos < pref.length && pref[pos + 1] === c) {\r\n\t\t\tpos++;\r\n\t\t\treturn [...a, c];\r\n\t\t}\r\n\t\treturn a;\r\n\t}, []);\r\n};\r\n\r\nexport const match = (label, prefix) => {\r\n\tconst pref = prefix.split('');\r\n\tlet pos = -1;\r\n\tconst clean = preparePrefix(label);\r\n\treturn (\r\n\t\tclean.split('').reduce((a, c, idx) => {\r\n\t\t\tif (pos < pref.length && pref[pos + 1] === c) {\r\n\t\t\t\tpos++;\r\n\t\t\t\treturn a + 1;\r\n\t\t\t}\r\n\t\t\treturn a / (idx * 0.0001 + 1);\r\n\t\t}, 0) / prefix.length\r\n\t);\r\n};\r\n\r\n/** */\r\nexport const filterOption = (options, prefix) => {\r\n\tif (!prefix || prefix.length === 0) {\r\n\t\treturn options;\r\n\t}\r\n\r\n\treturn options\r\n\t\t.reduce((acc, o) => {\r\n\t\t\tconst { label, search } = o;\r\n\t\t\tconst how = match(search || label, prefix);\r\n\t\t\treturn how >= 0.6\r\n\t\t\t\t? [{ o, how }, ...acc].sort((a, b) => a.how <= b.how)\r\n\t\t\t\t: acc;\r\n\t\t}, [])\r\n\t\t.map(({ o }) => o);\r\n};\r\n","import * as actions from './actions';\r\nimport { scrollTo } from './tools';\r\nimport { filterOption } from '../dropdown-edit/prefix-tools';\r\nimport { preparePrefix } from '../dropdown-edit/prefix-tools';\r\n\r\nexport const initial = {\r\n\tprefix: undefined,\r\n\toptions: [],\r\n\tvisibleOptions: [],\r\n\tvisible: false,\r\n\tactiveIndex: undefined,\r\n\tselectedOption: undefined,\r\n\tfocused: false,\r\n\tvalue: '',\r\n};\r\n\r\n/** */\r\nconst isPrefix = (prefix) => prefix !== undefined && prefix.length > 0;\r\n\r\n/** */\r\nconst reduceArrowDownPressed = (state) => {\r\n\tconst { visibleOptions, activeIndex } = state;\r\n\tconst next = visibleOptions.length\r\n\t\t? Math.min(\r\n\t\t\t\tvisibleOptions.length - 1,\r\n\t\t\t\tactiveIndex === undefined ? 0 : activeIndex + 1\r\n\t\t )\r\n\t\t: undefined;\r\n\tif (next !== undefined) {\r\n\t\tscrollTo(`${state.id}-option-${visibleOptions[next].value}`);\r\n\t}\r\n\treturn { ...state, activeIndex: next };\r\n};\r\n\r\n/** */\r\nconst reduceArrowUpPressed = (state) => {\r\n\tconst { visibleOptions, activeIndex } = state;\r\n\tconst next = visibleOptions.length\r\n\t\t? Math.max(0, activeIndex === undefined ? 0 : activeIndex - 1)\r\n\t\t: undefined;\r\n\r\n\tif (next !== undefined) {\r\n\t\tscrollTo(`${state.id}-option-${visibleOptions[next].value}`);\r\n\t}\r\n\treturn { ...state, activeIndex: next };\r\n};\r\n\r\n/** */\r\nconst reduceEnterPressed = (state, callback) => {\r\n\tconst { activeIndex, visibleOptions, visible } = state;\r\n\tif (!visible) {\r\n\t\treturn { ...state, visible: true };\r\n\t}\r\n\tif (activeIndex !== undefined) {\r\n\t\tconst option = visibleOptions[activeIndex];\r\n\t\tcallback(option);\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tselectedOption: option,\r\n\t\t\tvalue: option.label,\r\n\t\t\tprefix: preparePrefix(option.label),\r\n\t\t\tvisible: false,\r\n\t\t};\r\n\t}\r\n\treturn state;\r\n};\r\n\r\n/** */\r\nconst reducer = (state, action) => {\r\n\tconst { type, payload } = action;\r\n\tswitch (type) {\r\n\t\tcase actions.SHOW_PANEL: {\r\n\t\t\treturn { ...state, visible: true };\r\n\t\t}\r\n\t\tcase actions.HIDE_PANEL: {\r\n\t\t\treturn { ...state, visible: false };\r\n\t\t}\r\n\t\tcase actions.SET_ACTIVE_OPTION: {\r\n\t\t\tconst { index } = payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tactiveIndex: index,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_OPTIONS: {\r\n\t\t\tconst { options } = payload;\r\n\t\t\tconst { prefix } = state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\toptions,\r\n\t\t\t\tvisibleOptions: isPrefix(prefix) ? filterOption(options) : options,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_PREFIX: {\r\n\t\t\tconst { prefix } = payload;\r\n\t\t\tconst { options } = state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tprefix,\r\n\t\t\t\tactiveIndex: undefined,\r\n\t\t\t\tvisibleOptions: isPrefix(prefix)\r\n\t\t\t\t\t? filterOption(options, prefix)\r\n\t\t\t\t\t: options,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_VALUE: {\r\n\t\t\tconst { value } = payload;\r\n\t\t\treturn { ...state, value };\r\n\t\t}\r\n\t\tcase actions.SET_SELECTED_OPTION: {\r\n\t\t\tconst { option } = payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tvalue: option.label,\r\n\t\t\t\tselectedOption: option,\r\n\t\t\t\tprefix: preparePrefix(option.label),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_FOCUSED: {\r\n\t\t\tconst { focused } = payload;\r\n\t\t\treturn { ...state, focused };\r\n\t\t}\r\n\t\tcase actions.RESET_SELECTION: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tprefix: undefined,\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tselectedOption: undefined,\r\n\t\t\t\tactiveIndex: undefined,\r\n\t\t\t\tactiveOption: undefined,\r\n\t\t\t\tvisibleOptions: state.options,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.ARROW_UP_PRESSED: {\r\n\t\t\treturn reduceArrowUpPressed(state);\r\n\t\t}\r\n\t\tcase actions.ARROW_DOWN_PRESSED: {\r\n\t\t\treturn reduceArrowDownPressed(state);\r\n\t\t}\r\n\t\tcase actions.ENTER_PRESSED: {\r\n\t\t\tconst { callback } = payload;\r\n\t\t\treturn reduceEnterPressed(state, callback);\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\n\r\nexport default reducer;\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\n\r\nexport default ({ label, active, selected }) => {\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName={classnames('lunatic-dropdown-option', {\r\n\t\t\t\t'lunatic-dropdown-option-active': active,\r\n\t\t\t\t'lunatic-dropdown-option-selected': selected,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t{label}\r\n\t\t</span>\r\n\t);\r\n};\r\n","import React, { useReducer, useRef } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport * as actions from '../commons/actions';\r\nimport Panel from '../commons/components/panel';\r\nimport ClosedIcon from '../commons/components/closed.icon';\r\nimport OpenedIcon from '../commons/components/opened.icon';\r\nimport DropdownContainer from '../commons/components/dropdown';\r\nimport reducer, { initial } from '../commons/reducer';\r\nimport Option from './option';\r\n\r\nconst Dropdown = ({\r\n\twidthAuto,\r\n\tid: initId,\r\n\tlabel,\r\n\tvalue,\r\n\toptions,\r\n\tresponse,\r\n\tonSelect,\r\n\tplaceholder,\r\n\tdisabled,\r\n\tfocused: initFocused,\r\n\tmandatory,\r\n\tlabelPosition,\r\n\tmanagement,\r\n\tclassName,\r\n\tzIndex,\r\n}) => {\r\n\tconst containerEl = useRef();\r\n\tconst [state, dispatch] = useReducer(reducer, {\r\n\t\t...initial,\r\n\t\tid: `dropdown-${initId}-${new Date().getMilliseconds()}`,\r\n\t\tdisabled,\r\n\t\tfocused: initFocused,\r\n\t});\r\n\tconst { focused, visible, activeIndex, id } = state;\r\n\tconst onSelect_ = createOnSelect(state, dispatch, onSelect);\r\n\tconst selectedOption = options.find((o) => o.value === value);\r\n\treturn (\r\n\t\t<DropdownContainer\r\n\t\t\tclassName={className || 'lunatic-dropdown'}\r\n\t\t\tref={containerEl}\r\n\t\t\tstate={state}\r\n\t\t\tdispatch={dispatch}\r\n\t\t\toptions={options}\r\n\t\t\tresponse={response}\r\n\t\t\tmanagement={management}\r\n\t\t\tlabel={label}\r\n\t\t\tlabelPosition={labelPosition}\r\n\t\t\tmandatory={mandatory}\r\n\t\t\tonSelect={onSelect_}\r\n\t\t\tvalue={value}\r\n\t\t\tzIndex={zIndex}\r\n\t\t>\r\n\t\t\t<span className={classnames('lunatic-dropdown-input', { focused })}>\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tvalue={selectedOption ? selectedOption.label : placeholder || ''}\r\n\t\t\t\t/>\r\n\t\t\t</span>\r\n\t\t\t{getIcon(state, dispatch)(visible, containerEl)}\r\n\t\t\t<div\r\n\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\tclassName={classnames('lunatic-transition', {\r\n\t\t\t\t\tvisible: isDisplay(state),\r\n\t\t\t\t\t'width-auto': widthAuto,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t<Panel\r\n\t\t\t\t\tidDropdown={id}\r\n\t\t\t\t\toptions={options}\r\n\t\t\t\t\tdisplay={isDisplay(state)}\r\n\t\t\t\t\tactiveIndex={activeIndex}\r\n\t\t\t\t\toptionComponent={Option}\r\n\t\t\t\t\tselectedOption={selectedOption}\r\n\t\t\t\t\tonSelect={onSelect_}\r\n\t\t\t\t\thandleActive={(index) => dispatch(actions.setActiveOption(index))}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</DropdownContainer>\r\n\t);\r\n};\r\n\r\nDropdown.propTypes = {\r\n\twidthAuto: PropTypes.bool,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tzIndex: PropTypes.number,\r\n\tclassName: PropTypes.string,\r\n\tid: PropTypes.string,\r\n\toptions: PropTypes.array.isRequired,\r\n\tonSelect: PropTypes.func,\r\n\tplaceholder: PropTypes.string,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n};\r\n\r\nDropdown.defaultProps = {\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\toptions: [],\r\n\tzIndex: 0,\r\n\tonSelect: () => null,\r\n\tplaceholder: 'Search...',\r\n\twidthAuto: false,\r\n};\r\n\r\nexport default Dropdown;\r\n\r\n/* **/\r\nconst isDisplay = ({ visible, options }) => visible && options.length > 0;\r\n\r\n/** */\r\nconst getIcon = ({ disabled }, dispatch) => (visible, containerEl) => {\r\n\tif (disabled) {\r\n\t\treturn (\r\n\t\t\t<span className=\"lunatic-icone\">\r\n\t\t\t\t<ClosedIcon width={10} height={10} />\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName=\"lunatic-icone\"\r\n\t\t\ttabIndex=\"-1\"\r\n\t\t\tonMouseDown={(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (visible) {\r\n\t\t\t\t\tdispatch(actions.hidePanel());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdispatch(actions.showPanel());\r\n\t\t\t\t\tcontainerEl.current.focus();\r\n\t\t\t\t}\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t{visible ? (\r\n\t\t\t\t<OpenedIcon width={10} height={10} />\r\n\t\t\t) : (\r\n\t\t\t\t<ClosedIcon width={10} height={10} />\r\n\t\t\t)}\r\n\t\t</span>\r\n\t);\r\n};\r\n\r\nconst createOnSelect = (_, dispatch, onSelect) => (option) => {\r\n\tdispatch(actions.setSelectedOption(option));\r\n\tdispatch(actions.hidePanel());\r\n\tonSelect(option);\r\n};\r\n","import React from 'react';\r\nimport Dropdown from './dropdown';\r\n\r\nconst childrenToOption = (children = []) =>\r\n\t(Array.isArray(children) ? children : [children]).map(child => {\r\n\t\tconst { value } = child.props;\r\n\t\tconst label = child.props.children;\r\n\t\tif (label === undefined || value === undefined) {\r\n\t\t\tthrow new Error('Ooops');\r\n\t\t}\r\n\t\treturn { label, value };\r\n\t});\r\n\r\nconst createDropdown = Component => ({ children, options, ...props }) => {\r\n\tconst o = options || childrenToOption(children);\r\n\treturn <Component options={o} {...props} />;\r\n};\r\n\r\nexport default createDropdown(Dropdown);\r\nexport { default as Option } from './option';\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { lettersMatching, preparePrefix } from './prefix-tools';\r\n\r\nexport default ({ label, active, prefix, selected }) => {\r\n\tconst initLetters = lettersMatching(label, prefix);\r\n\tconst what = label\r\n\t\t.split('')\r\n\t\t.reduce(\r\n\t\t\t({ letters, stack }, c) => {\r\n\t\t\t\tconst m = preparePrefix(c);\r\n\t\t\t\tconst [first, ...rest] = letters;\r\n\t\t\t\tif (m === first) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tletters: rest,\r\n\t\t\t\t\t\tstack: [...stack, { char: c, className: 'lunatic-prefix' }],\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tletters,\r\n\t\t\t\t\tstack: [...stack, { char: c, className: 'lunatic-normal' }],\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t{ letters: initLetters, stack: [] }\r\n\t\t)\r\n\t\t.stack.reduce(\r\n\t\t\t({ last, stack }, { char, className }) => {\r\n\t\t\t\tif (!last) {\r\n\t\t\t\t\treturn { last: className, stack: [{ part: char, className }] };\r\n\t\t\t\t}\r\n\t\t\t\tif (last !== className) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tlast: className,\r\n\t\t\t\t\t\tstack: [{ part: char, className }, ...stack],\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tconst [first, ...rest] = stack;\r\n\t\t\t\treturn {\r\n\t\t\t\t\tlast: className,\r\n\t\t\t\t\tstack: [{ ...first, part: `${first.part}${char}` }, ...rest],\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t{ last: undefined, stack: [] }\r\n\t\t)\r\n\t\t.stack.reverse()\r\n\t\t.map(({ part, className }, i) => (\r\n\t\t\t<span className={className} key={i}>\r\n\t\t\t\t{part}\r\n\t\t\t</span>\r\n\t\t));\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName={classnames('lunatic-dropdown-option', {\r\n\t\t\t\t'lunatic-dropdown-option-active': active,\r\n\t\t\t\t'lunatic-dropdown-option-selected': selected,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t{what}\r\n\t\t</span>\r\n\t);\r\n};\r\n","import React from \"react\";\r\n\r\nexport default ({ width = 20, height = 20, color = \"#aaa\" }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={width}\r\n height={height}\r\n x=\"0\"\r\n y=\"0\"\r\n enableBackground=\"new 0 0 612 612\"\r\n version=\"1.1\"\r\n viewBox=\"0 0 612 612\"\r\n xmlSpace=\"preserve\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M444.644 306l138.644-138.644c38.284-38.284 38.284-100.36 0-138.644-38.283-38.284-100.359-38.284-138.644 0L306 167.356 167.356 28.713c-38.284-38.284-100.36-38.284-138.644 0s-38.284 100.36 0 138.644L167.356 306 28.713 444.644c-38.284 38.283-38.284 100.36 0 138.644 38.284 38.284 100.36 38.284 138.644 0L306 444.644l138.644 138.644c38.283 38.284 100.36 38.284 138.644 0 38.284-38.283 38.284-100.36 0-138.644L444.644 306z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from 'react';\r\nimport OpenedIcon from '../commons/components/opened.icon';\r\nimport CrossIcon from './cross.icon';\r\nimport ClosedIcon from '../commons/components/closed.icon';\r\n\r\n/** */\r\nconst getIcon = visible =>\r\n\tvisible ? (\r\n\t\t<OpenedIcon width={10} height={10} />\r\n\t) : (\r\n\t\t<ClosedIcon width={10} height={10} />\r\n\t);\r\n\r\nconst Icone = ({ prefix, visible, disabled, onDelete, onSwitch }) => {\r\n\tif (disabled) {\r\n\t\treturn (\r\n\t\t\t<span className=\"lunatic-icone\" tabIndex=\"-1\" onMouseDown={onSwitch}>\r\n\t\t\t\t<ClosedIcon width={10} height={10} />\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n\treturn prefix && prefix.length > 0 ? (\r\n\t\t<span className=\"lunatic-icone\" tabIndex=\"-1\" onMouseDown={onDelete}>\r\n\t\t\t<CrossIcon width={10} height={10} />\r\n\t\t</span>\r\n\t) : (\r\n\t\t<span className=\"lunatic-icone\" tabIndex=\"-1\" onMouseDown={onSwitch}>\r\n\t\t\t{getIcon(visible)}\r\n\t\t</span>\r\n\t);\r\n};\r\n\r\nexport default Icone;\r\n","import React, { useReducer, useRef, useEffect } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport * as actions from '../commons/actions';\r\nimport Panel from '../commons/components/panel';\r\nimport DropdownContainer from '../commons/components/dropdown';\r\nimport { preparePrefix } from './prefix-tools';\r\nimport reducer, { initial } from '../commons/reducer';\r\nimport Option from './option';\r\nimport Icone from './icone';\r\n\r\n/* **/\r\nconst isDisplay = ({ visible, visibleOptions }) =>\r\n\tvisible && visibleOptions.length > 0;\r\n\r\n/** */\r\nconst onChangeCallback = (state, dispatch) => (e) => {\r\n\te.stopPropagation();\r\n\te.preventDefault();\r\n\tdispatch(actions.setValue(e.target.value));\r\n\tdispatch(actions.setPrefix(preparePrefix(e.target.value)));\r\n};\r\n\r\n/** */\r\nconst createOnSelect = (_, dispatch, onSelect) => (option) => {\r\n\tdispatch(actions.setSelectedOption(option));\r\n\tdispatch(actions.hidePanel());\r\n\tonSelect(option);\r\n};\r\n\r\n/**\r\n *\r\n * @param {props}\r\n */\r\nfunction Dropdown({\r\n\twidthAuto,\r\n\toptions = [],\r\n\tonSelect,\r\n\tresponse,\r\n\tclassName,\r\n\tplaceholder,\r\n\tlabel,\r\n\tlabelPosition,\r\n\tmandatory,\r\n\tvalue: valueFromProps,\r\n\tzIndex,\r\n\tmanagement,\r\n\tdisabled,\r\n\tfocused: initFocused,\r\n}) {\r\n\tconst [state, dispatch] = useReducer(reducer, {\r\n\t\t...initial,\r\n\t\tid: `dropdown-${new Date().getMilliseconds()}`,\r\n\t\tdisabled,\r\n\t\tfocused: initFocused,\r\n\t});\r\n\tconst {\r\n\t\tprefix,\r\n\t\tvisible,\r\n\t\tactiveIndex,\r\n\t\tvisibleOptions,\r\n\t\tvalue,\r\n\t\tfocused,\r\n\t\tid,\r\n\t} = state;\r\n\tconst inputEl = useRef();\r\n\tconst containerEl = useRef();\r\n\tconst onSelect_ = createOnSelect(state, dispatch, onSelect);\r\n\tconst selectedOption = options.find((o) => o.value === value);\r\n\r\n\tuseEffect(\r\n\t\tfunction () {\r\n\t\t\tconst { current } = inputEl;\r\n\t\t\tif (current && focused) {\r\n\t\t\t\tcurrent.focus();\r\n\t\t\t}\r\n\t\t},\r\n\t\t[inputEl, focused]\r\n\t);\r\n\r\n\treturn (\r\n\t\t<DropdownContainer\r\n\t\t\tclassName={className || 'lunatic-dropdown'}\r\n\t\t\tstate={state}\r\n\t\t\tref={containerEl}\r\n\t\t\tdispatch={dispatch}\r\n\t\t\toptions={options}\r\n\t\t\tlabel={label}\r\n\t\t\tlabelPosition={labelPosition}\r\n\t\t\tmandatory={mandatory}\r\n\t\t\tresponse={response}\r\n\t\t\tonSelect={onSelect_}\r\n\t\t\tvalue={valueFromProps}\r\n\t\t\tzIndex={zIndex}\r\n\t\t\tmanagement={management}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classnames('lunatic-dropdown-input', { focused, disabled })}\r\n\t\t\t>\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tref={inputEl}\r\n\t\t\t\t\tvalue={value || ''}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\tautoComplete=\"list\"\r\n\t\t\t\t\tautoCorrect=\"off\"\r\n\t\t\t\t\tautoCapitalize=\"off\"\r\n\t\t\t\t\tspellCheck=\"false\"\r\n\t\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\t\tonChange={onChangeCallback(state, dispatch)}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<Icone\r\n\t\t\t\tprefix={prefix}\r\n\t\t\t\tvisible={visible}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tonDelete={(e) => {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\tinputEl.current.value = '';\r\n\t\t\t\t\tdispatch(actions.resetSelection());\r\n\t\t\t\t\tonSelect_({ value: null });\r\n\t\t\t\t}}\r\n\t\t\t\tonSwitch={(e) => {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tif (visible) {\r\n\t\t\t\t\t\tdispatch(actions.hidePanel());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdispatch(actions.showPanel());\r\n\t\t\t\t\t\tcontainerEl.current.focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t<div\r\n\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\tclassName={classnames('lunatic-transition', {\r\n\t\t\t\t\tvisible: isDisplay(state),\r\n\t\t\t\t\t'width-auto': widthAuto,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t<Panel\r\n\t\t\t\t\tidDropdown={id}\r\n\t\t\t\t\toptions={visibleOptions}\r\n\t\t\t\t\tdisplay={isDisplay(state) && !disabled}\r\n\t\t\t\t\tprefix={prefix}\r\n\t\t\t\t\tactiveIndex={activeIndex}\r\n\t\t\t\t\toptionComponent={Option}\r\n\t\t\t\t\tselectedOption={selectedOption}\r\n\t\t\t\t\tonSelect={onSelect_}\r\n\t\t\t\t\thandleActive={(index) => dispatch(actions.setActiveOption(index))}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</DropdownContainer>\r\n\t);\r\n}\r\n\r\nDropdown.propTypes = {\r\n\twidthAuto: PropTypes.bool,\r\n\tzIndex: PropTypes.number,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tclassName: PropTypes.string,\r\n\tid: PropTypes.string,\r\n\toptions: PropTypes.array.isRequired,\r\n\tonSelect: PropTypes.func,\r\n\tplaceholder: PropTypes.string,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n};\r\n\r\nDropdown.defaultProps = {\r\n\toptions: [],\r\n\tzIndex: 0,\r\n\tonSelect: () => null,\r\n\tplaceholder: 'Search...',\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\twidthAuto: false,\r\n};\r\n\r\nexport default Dropdown;\r\n","export default (children = []) =>\r\n (Array.isArray(children) ? children : [children]).map(child => {\r\n const { value } = child.props;\r\n const label = child.props.children;\r\n if (label === undefined || value === undefined) {\r\n throw new Error(\"Ooops\");\r\n }\r\n return { label, value };\r\n });\r\n","import React from \"react\";\r\nimport DropdownEdit from \"./dropdown-edit\";\r\nimport childrenToOption from \"../commons/children-to-option\";\r\n\r\nconst createDropDown = Component => ({ children, options, ...props }) => {\r\n const o = options || childrenToOption(children);\r\n return <Component options={o} {...props} />;\r\n};\r\n\r\nexport default createDropDown(DropdownEdit);\r\nexport { default as Option } from \"./option\";\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport DropdownSimple from './dropdown-simple';\r\nimport DropdownEdit from './dropdown-edit';\r\nimport Declarations from '../declarations';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './dropdown.scss';\r\n\r\nconst Dropdown = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\thandleChange,\r\n\toptions,\r\n\twritable,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tfreezeOptions,\r\n\t...rest\r\n}) => {\r\n\tconst [opts, setOpts] = useState(options);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!freezeOptions) {\r\n\t\t\tconst featOptions = options.map(\r\n\t\t\t\t({ label: labelOption, ...restOpts }) => ({\r\n\t\t\t\t\tlabel: interpret(features)(bindings)(labelOption),\r\n\t\t\t\t\t...restOpts,\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t\tsetOpts(featOptions);\r\n\t\t}\r\n\t}, [freezeOptions, features, bindings, options]);\r\n\r\n\tconst interpretedLabel = interpret(features)(bindings)(label);\r\n\tconst value = U.getResponseByPreference(preferences)(response);\r\n\r\n\tconst onSelect = (e) =>\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: e.value,\r\n\t\t});\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{writable ? (\r\n\t\t\t\t<DropdownEdit\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tresponse={response}\r\n\t\t\t\t\tlabel={interpretedLabel}\r\n\t\t\t\t\toptions={opts}\r\n\t\t\t\t\tonSelect={onSelect}\r\n\t\t\t\t\tmanagement={management}\r\n\t\t\t\t/>\r\n\t\t\t) : (\r\n\t\t\t\t<DropdownSimple\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tresponse={response}\r\n\t\t\t\t\tlabel={interpretedLabel}\r\n\t\t\t\t\toptions={opts}\r\n\t\t\t\t\tonSelect={onSelect}\r\n\t\t\t\t\tmanagement={management}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nDropdown.propTypes = {\r\n\tdisabled: PropTypes.bool,\r\n\twritable: PropTypes.bool,\r\n\thandleChange: PropTypes.func,\r\n\tlabel: PropTypes.string,\r\n\tclassName: PropTypes.string,\r\n\tzIndex: PropTypes.number,\r\n\tfreezeOptions: PropTypes.bool,\r\n};\r\n\r\nDropdown.defaultProps = {\r\n\twritable: false,\r\n\thandleChange: () => null,\r\n\tlabel: undefined,\r\n\tclassName: undefined,\r\n\tzIndex: 0,\r\n\tdisabled: false,\r\n\tfreezeOptions: false,\r\n};\r\n\r\nexport default React.memo(Dropdown, U.areEqual);\r\n","import React from 'react';\r\nimport { InputDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './input.scss';\r\n\r\nconst Input = (props) => (\r\n\t<InputDeclarationsWrapper type=\"text\" roleType=\"input\" {...props} />\r\n);\r\n\r\nexport default React.memo(Input, areEqual);\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../declarations';\r\nimport { TooltipResponse } from '../tooltip';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './input.scss';\r\n\r\nconst InputNumber = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\tmin,\r\n\tmax,\r\n\tdecimals,\r\n\tplaceholder,\r\n\thandleChange,\r\n\treadOnly,\r\n\tdisabled,\r\n\tautoComplete,\r\n\tfocused,\r\n\tstyle,\r\n\tunit,\r\n\tlabelPosition,\r\n\tunitPosition,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tmandatory,\r\n\tvalidators,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tconst [value, setValue] = useState(() =>\r\n\t\tU.getResponseByPreference(preferences)(response)\r\n\t);\r\n\r\n\tconst [messagesError, setMessagesError] = useState(\r\n\t\t[minMaxValidator({ min, max }), ...validators]\r\n\t\t\t.map((v) => v(value))\r\n\t\t\t.filter((m) => m !== undefined)\r\n\t);\r\n\r\n\t// Assume we only want to handle enable external updates\r\n\t// Don't need to check all value changes\r\n\tuseEffect(() => {\r\n\t\tif (U.getResponseByPreference(preferences)(response) !== value)\r\n\t\t\tsetValue(U.getResponseByPreference(preferences)(response));\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [response, preferences]);\r\n\r\n\tconst handleChangeOnBlur = () => {\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: value,\r\n\t\t});\r\n\t};\r\n\r\n\tconst validate = (v) => {\r\n\t\tsetMessagesError(\r\n\t\t\t[minMaxValidator({ min, max }), ...validators]\r\n\t\t\t\t.map((f) => f(v))\r\n\t\t\t\t.filter((m) => m !== undefined)\r\n\t\t);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetMessagesError(\r\n\t\t\t[minMaxValidator({ min, max }), ...validators]\r\n\t\t\t\t.map((v) => v(value))\r\n\t\t\t\t.filter((m) => m !== undefined)\r\n\t\t);\r\n\t}, [value, min, max, validators]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className={U.getLabelPositionClass(labelPosition)}>\r\n\t\t\t\t<label\r\n\t\t\t\t\thtmlFor={`input-${id}`}\r\n\t\t\t\t\tid={`input-label-${id}`}\r\n\t\t\t\t\tclassName={`${mandatory ? 'mandatory' : ''}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(label)}{' '}\r\n\t\t\t\t\t<span className=\"unit\">\r\n\t\t\t\t\t\t{unit && ['DEFAULT', 'BEFORE'].includes(unitPosition)\r\n\t\t\t\t\t\t\t? `(${unit})`\r\n\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</label>\r\n\t\t\t\t<Declarations\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t/>\r\n\t\t\t\t<div className=\"field-container\">\r\n\t\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\tid={`input-${id}`}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t\taria-labelledby={`input-label-${id}`}\r\n\t\t\t\t\t\t\tvalue={value || ''}\r\n\t\t\t\t\t\t\tmin={min}\r\n\t\t\t\t\t\t\tmax={max}\r\n\t\t\t\t\t\t\tstep={decimals ? `${Math.pow(10, -decimals)}` : '0'}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tclassName={`input-lunatic ${\r\n\t\t\t\t\t\t\t\tmessagesError.length > 0 ? 'warning' : ''\r\n\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\t\t\t\treadOnly={readOnly}\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\tautoComplete={autoComplete ? 'on' : 'off'}\r\n\t\t\t\t\t\t\trequired={mandatory}\r\n\t\t\t\t\t\t\taria-required={mandatory}\r\n\t\t\t\t\t\t\tonChange={({ target: { value: v } }) => {\r\n\t\t\t\t\t\t\t\tvalidate(v);\r\n\t\t\t\t\t\t\t\tif (management) setValue(v);\r\n\t\t\t\t\t\t\t\telse setValue(v === '' ? null : v);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonBlur={handleChangeOnBlur}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{unitPosition === 'AFTER' && <span className=\"unit\">{unit}</span>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{management && (\r\n\t\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\t\tresponse={U.buildLocalResponse(response, value)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className=\"lunatic-input-number-errors\">\r\n\t\t\t\t\t{messagesError.map((m, i) => (\r\n\t\t\t\t\t\t<div key={i} className=\"error\">\r\n\t\t\t\t\t\t\t{m}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nconst minMaxValidator = ({ min, max }) => (value) => {\r\n\tif (!value) {\r\n\t\treturn undefined;\r\n\t}\r\n\tconst valueNumber = Number(value);\r\n\tif (!min && isDef(max) && valueNumber > max)\r\n\t\treturn <span>{`La valeur doit être inférieure à ${max}`}</span>;\r\n\telse if (isDef(min) && !max && valueNumber < min)\r\n\t\treturn <span>{`La valeur doit être supérieure à ${min}`}</span>;\r\n\telse if (isDef(min) && isDef(max) && (valueNumber < min || valueNumber > max))\r\n\t\treturn <span>{`La valeur doit être comprise entre ${min} et ${max}`}</span>;\r\n\treturn undefined;\r\n};\r\n\r\nconst isDef = (number) => number || number === 0;\r\n\r\nInputNumber.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\tmin: undefined,\r\n\tmax: undefined,\r\n\tdecimals: 0,\r\n\tplaceholder: '',\r\n\treadOnly: false,\r\n\tdisabled: false,\r\n\tautoComplete: false,\r\n\tfocused: false,\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tlabelPosition: 'DEFAULT',\r\n\tunitPosition: 'DEFAULT',\r\n\tmandatory: false,\r\n\tmanagement: false,\r\n\tstyle: {},\r\n\tvalidators: [],\r\n};\r\n\r\nInputNumber.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\tmin: PropTypes.number,\r\n\tmax: PropTypes.number,\r\n\tdecimals: PropTypes.number,\r\n\tplaceholder: PropTypes.string,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\treadOnly: PropTypes.bool,\r\n\tdisabled: PropTypes.bool,\r\n\tautoComplete: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tlabelPosition: PropTypes.oneOf(['DEFAULT', 'TOP', 'BOTTOM', 'LEFT', 'RIGHT']),\r\n\tunitPosition: PropTypes.oneOf(['DEFAULT', 'BEFORE', 'AFTER']),\r\n\tmandatory: PropTypes.bool,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n\tvalidators: PropTypes.arrayOf(PropTypes.func),\r\n};\r\n\r\nexport default React.memo(InputNumber, U.areEqual);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport { buildStyleObject } from '../../utils/lib';\r\n\r\nconst FilterDescription = ({\r\n\tid,\r\n\tlabel,\r\n\tfilterDescription,\r\n\tfeatures,\r\n\tbindings,\r\n\tstyle,\r\n}) =>\r\n\tfilterDescription ? (\r\n\t\t<div\r\n\t\t\tid={`filter-description-${id}`}\r\n\t\t\taria-label={`filter-description`}\r\n\t\t\tclassName=\"filter-description-lunatic\"\r\n\t\t\tstyle={buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t</div>\r\n\t) : null;\r\n\r\nFilterDescription.defaultProps = {\r\n\tfilterDescription: false,\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tstyle: {},\r\n};\r\n\r\nFilterDescription.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string.isRequired,\r\n\tfilterDescription: PropTypes.bool,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default FilterDescription;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { buildStyleObject } from '../../utils/lib';\r\nimport './progress-bar.scss';\r\n\r\nconst ProgressBar = ({ id, value, style }) => {\r\n\tlet controledValue = value;\r\n\tif (value < 0) controledValue = 0;\r\n\tif (value > 100) controledValue = 100;\r\n\treturn (\r\n\t\t<div\r\n\t\t\tid={`progress-${id}`}\r\n\t\t\tclassName=\"progress-lunatic\"\r\n\t\t\tstyle={buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{`${controledValue.toFixed(0)} %`}\r\n\t\t\t<span style={{ width: `${controledValue}%` }} />\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nProgressBar.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tvalue: PropTypes.number.isRequired,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default ProgressBar;\r\n","import React from 'react';\r\nimport { ListDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './radio.scss';\r\n\r\nconst Radio = (props) => <ListDeclarationsWrapper type=\"radio\" {...props} />;\r\n\r\nexport default React.memo(Radio, areEqual);\r\n","export const buildLoopComponents = (iterations) => (components) => {\r\n\tconst toFlat = [...Array(iterations).keys()].map((rowNumber) =>\r\n\t\tbuildFlatten(rowNumber)(components).map((c) => ({ ...c, rowNumber }))\r\n\t);\r\n\treturn toFlat.flat();\r\n};\r\n\r\nconst buildFlatten = (i) => (parentComponents) =>\r\n\tparentComponents.map((component) => {\r\n\t\tconst { response, responses, components } = component;\r\n\t\tif (response) return buildFlattenResponse(i)(component);\r\n\t\telse if (responses)\r\n\t\t\treturn {\r\n\t\t\t\t...component,\r\n\t\t\t\tresponses: responses.map((r) => buildFlattenResponse(i)(r)),\r\n\t\t\t};\r\n\t\telse if (components)\r\n\t\t\treturn { ...component, components: buildFlatten(i)(components) };\r\n\t\telse return component;\r\n\t});\r\n\r\nconst buildFlattenResponse = (i) => (component) => {\r\n\tconst { response, ...other } = component;\r\n\tconst { name, values } = response;\r\n\tconst newValues = Object.entries(values).reduce(\r\n\t\t(acc, [key, value]) => ({ ...acc, [key]: value ? value[i] : null }),\r\n\t\t{}\r\n\t);\r\n\treturn {\r\n\t\t...other,\r\n\t\tresponse: { name, values: newValues },\r\n\t};\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport * as lunatic from '../components';\r\nimport { buildLoopComponents } from './build-components';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport * as U from '../../utils/lib';\r\nimport './loop.scss';\r\n\r\nconst Loop = ({\r\n\tid,\r\n\tlabel,\r\n\titerations,\r\n\tcomponents,\r\n\tbindings,\r\n\thandleChange,\r\n\tloopDependencies,\r\n\t...orchetratorProps\r\n}) => {\r\n\tconst [todo, setTodo] = useState({});\r\n\tconst vectorialBindings = U.buildVectorialBindings(bindings);\r\n\tconst { features } = orchetratorProps;\r\n\tconst iterationNb = interpret(features)(vectorialBindings)(iterations);\r\n\tconst involvedVariables = U.getInvolvedVariables(components);\r\n\r\n\t/**\r\n\t * Handle the increase in the number of iterations\r\n\t * Assume we only want to update if iterationNb changes\r\n\t */\r\n\tuseEffect(() => {\r\n\t\tconst toUpdate = involvedVariables.reduce((acc, { name: iv, depth }) => {\r\n\t\t\tif (bindings[iv] && iterationNb > bindings[iv].length)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...acc,\r\n\t\t\t\t\t[iv]: [\r\n\t\t\t\t\t\t...bindings[iv],\r\n\t\t\t\t\t\t...new Array(iterationNb - bindings[iv].length).fill(\r\n\t\t\t\t\t\t\tU.buildEmptyValue(depth)\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\treturn acc;\r\n\t\t}, {});\r\n\t\tif (Object.keys(toUpdate).length !== 0) handleChange(toUpdate);\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [iterationNb]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Object.keys(todo).length !== 0) {\r\n\t\t\tconst { up, rowNumber } = todo;\r\n\t\t\tconst [key, value] = Object.entries(up)[0];\r\n\t\t\tconst previousValue = bindings[key];\r\n\t\t\tconst newValue = previousValue.map((v, i) =>\r\n\t\t\t\ti === rowNumber ? value : v\r\n\t\t\t);\r\n\t\t\thandleChange({ [key]: newValue });\r\n\t\t\tsetTodo({});\r\n\t\t}\r\n\t}, [bindings, todo, handleChange]);\r\n\r\n\tconst flattenComponents = buildLoopComponents(iterationNb)(components);\r\n\r\n\tif (!U.displayLoop(loopDependencies)(bindings)) return null;\r\n\r\n\tconst loopComponents = flattenComponents.map(\r\n\t\t({ componentType, id: idC, rowNumber, conditionFilter, ...rest }) => {\r\n\t\t\tconst loopBindings = U.buildBindingsForDeeperComponents(rowNumber)(\r\n\t\t\t\tbindings\r\n\t\t\t);\r\n\t\t\tif (!U.displayLoopQuestion(loopDependencies)(loopBindings)) return null;\r\n\t\t\tconst Component = lunatic[componentType];\r\n\t\t\tif (interpret(features)(loopBindings, true)(conditionFilter) !== 'normal')\r\n\t\t\t\treturn null;\r\n\t\t\treturn (\r\n\t\t\t\t<div key={`${idC}-loop-${rowNumber}`} className=\"loop-component\">\r\n\t\t\t\t\t<Component\r\n\t\t\t\t\t\t{...orchetratorProps}\r\n\t\t\t\t\t\t{...rest}\r\n\t\t\t\t\t\tid={`${idC}-loop-${rowNumber}`}\r\n\t\t\t\t\t\thandleChange={(up) => setTodo({ up, rowNumber })}\r\n\t\t\t\t\t\tbindings={loopBindings}\r\n\t\t\t\t\t\tcomponentType={componentType}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t}\r\n\t);\r\n\r\n\treturn (\r\n\t\t<div id={`loop-${id}`} className=\"lunatic-loop\">\r\n\t\t\t{loopComponents}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default React.memo(Loop, U.areEqual);\r\n","import * as C from '../../../constants';\r\n\r\nexport const buildContentForLoopConstructor = ({ components, headers }) => {\r\n\t// Start hack to find interation number\r\n\t// Refactor if we have to handle complex components (vector, matrix)\r\n\tconst iterations =\r\n\t\tcomponents.find((c) => c.response).response.values[C.COLLECTED].length || 1;\r\n\t// End\r\n\tconst initialArray = [...Array(iterations).keys()];\r\n\tconst uiComponents = components.map((comp) => {\r\n\t\tconst { response, ...other } = comp;\r\n\t\tif (!response) return initialArray.map(() => comp);\r\n\t\t// Handle reponses & cells components ?\r\n\t\tconst { name, values } = response;\r\n\t\treturn initialArray.map((rowNumber) => {\r\n\t\t\tconst newValues = Object.entries(values).reduce(\r\n\t\t\t\t(acc, [key, value]) => ({\r\n\t\t\t\t\t...acc,\r\n\t\t\t\t\t[key]: value ? value[rowNumber] : null,\r\n\t\t\t\t}),\r\n\t\t\t\t{}\r\n\t\t\t);\r\n\t\t\treturn {\r\n\t\t\t\t...other,\r\n\t\t\t\tresponse: { name, values: newValues },\r\n\t\t\t\trowNumber,\r\n\t\t\t};\r\n\t\t});\r\n\t}, []);\r\n\tconst transpose = (m) => m[0].map((_, i) => m.map((x) => x[i]));\r\n\tconst rows = transpose(uiComponents);\r\n\treturn headers ? [headers, ...rows] : rows;\r\n};\r\n","import React from 'react';\r\nimport * as lunatic from '../../components';\r\nimport * as U from '../../../utils/lib';\r\nimport { interpret } from '../../../utils/to-expose';\r\nimport { buildContentForLoopConstructor } from './build-components';\r\n\r\nconst BodyComponent = ({\r\n\tcomponentType,\r\n\tmainId,\r\n\theaders,\r\n\tcomponents,\r\n\tbindings,\r\n\twidth,\r\n\tpreferences,\r\n\tpositioning,\r\n\tmanagement,\r\n\tfeatures,\r\n\tsetTodo,\r\n}) => {\r\n\tconst uiComponents = buildContentForLoopConstructor({\r\n\t\tcomponents,\r\n\t\theaders,\r\n\t});\r\n\tif (componentType === 'RosterForLoop')\r\n\t\treturn (\r\n\t\t\t<table id={`table-${mainId}`} className=\"table-lunatic\">\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t{uiComponents.map((row, i) => (\r\n\t\t\t\t\t\t<tr key={`table-${mainId}-row${i}`}>\r\n\t\t\t\t\t\t\t{row.map((component, j) => {\r\n\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\tlabel,\r\n\t\t\t\t\t\t\t\t\theaderCell,\r\n\t\t\t\t\t\t\t\t\tcolspan,\r\n\t\t\t\t\t\t\t\t\trowspan,\r\n\t\t\t\t\t\t\t\t\tcomponentType,\r\n\t\t\t\t\t\t\t\t\tid,\r\n\t\t\t\t\t\t\t\t\trowNumber,\r\n\t\t\t\t\t\t\t\t\t...componentProps\r\n\t\t\t\t\t\t\t\t} = component;\r\n\t\t\t\t\t\t\t\tconst localBindings = U.buildBindingsForDeeperComponents(\r\n\t\t\t\t\t\t\t\t\trowNumber\r\n\t\t\t\t\t\t\t\t)(bindings);\r\n\t\t\t\t\t\t\t\tif (componentType) {\r\n\t\t\t\t\t\t\t\t\tconst Component = lunatic[componentType];\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<td\r\n\t\t\t\t\t\t\t\t\t\t\tkey={`table-${mainId}-row-${i}-cell-${j}`}\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ width }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\t\t\t\t\t\t{...componentProps}\r\n\t\t\t\t\t\t\t\t\t\t\t\tid={`${id}-row-${i}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleChange={(up) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTodo({ up, rowNumber });\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tpreferences={preferences}\r\n\t\t\t\t\t\t\t\t\t\t\t\tpositioning={positioning}\r\n\t\t\t\t\t\t\t\t\t\t\t\tmanagement={management}\r\n\t\t\t\t\t\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\t\t\t\t\t\tbindings={localBindings}\r\n\t\t\t\t\t\t\t\t\t\t\t\tzIndex={uiComponents.length - i || 0}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst cellOptions = {\r\n\t\t\t\t\t\t\t\t\tkey: `table-${mainId}-row-${i}-cell-${j}`,\r\n\t\t\t\t\t\t\t\t\tstyle: { width },\r\n\t\t\t\t\t\t\t\t\tcolSpan: colspan || 1,\r\n\t\t\t\t\t\t\t\t\trowSpan: rowspan || 1,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(label);\r\n\t\t\t\t\t\t\t\treturn headerCell ? (\r\n\t\t\t\t\t\t\t\t\t<th {...cellOptions}>{interpretedLabel}</th>\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<td {...cellOptions}>{interpretedLabel}</td>\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t);\r\n\telse\r\n\t\treturn (\r\n\t\t\t<div className=\"block-for-loop\">\r\n\t\t\t\t{uiComponents.map((row, i) =>\r\n\t\t\t\t\trow.map(({ componentType, id, label, ...componentProps }) => {\r\n\t\t\t\t\t\tconst Component = lunatic[componentType];\r\n\t\t\t\t\t\tconst localBindings = U.buildBindingsForDeeperComponents(i)(\r\n\t\t\t\t\t\t\tbindings\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<div className=\"block-component\" key={`${id}-row-${i}`}>\r\n\t\t\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\t\t\t{...componentProps}\r\n\t\t\t\t\t\t\t\t\tid={`${id}-row-${i}`}\r\n\t\t\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\t\t\thandleChange={(up) => {\r\n\t\t\t\t\t\t\t\t\t\tsetTodo({ up, rowNumber: i });\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tpreferences={preferences}\r\n\t\t\t\t\t\t\t\t\tpositioning={positioning}\r\n\t\t\t\t\t\t\t\t\tmanagement={management}\r\n\t\t\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\t\t\tbindings={localBindings}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t);\r\n};\r\n\r\nexport default BodyComponent;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as lunatic from '../../components';\r\nimport BodyComponent from './body-component';\r\nimport Declarations from '../../declarations';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\nimport { interpret } from '../../../utils/to-expose';\r\n\r\nconst LoopConstructorWrapper = ({\r\n\tid: mainId,\r\n\tlabel: mainLabel,\r\n\tcomponents,\r\n\thandleChange,\r\n\tlines,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\taddBtnLabel,\r\n\thideBtn,\r\n\tcomponentType,\r\n\t...otherProps\r\n}) => {\r\n\tconst [todo, setTodo] = useState({});\r\n\tconst minLines = Math.max(\r\n\t\tlines.min || 0,\r\n\t\tU.getLoopConstructorInitLines(components)\r\n\t);\r\n\tconst maxLines = lines ? lines.max : undefined;\r\n\r\n\tconst width = `${100 / Math.max(...components.map((row) => row.length))}%`;\r\n\tconst Button = lunatic.Button;\r\n\tconst involvedVariables = U.getInvolvedVariables(components);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Object.keys(todo).length !== 0) {\r\n\t\t\tconst { up, rowNumber } = todo;\r\n\t\t\tconst [key, value] = Object.entries(up)[0];\r\n\t\t\tconst previousValue = bindings[key];\r\n\t\t\tconst newValue = previousValue.map((v, i) =>\r\n\t\t\t\ti === rowNumber ? value : v\r\n\t\t\t);\r\n\t\t\thandleChange({ [key]: newValue });\r\n\t\t\tsetTodo({});\r\n\t\t}\r\n\t}, [bindings, todo, handleChange]);\r\n\r\n\tconst addLine = () => {\r\n\t\tconst toHandle = involvedVariables.reduce(\r\n\t\t\t(acc, { name: iv, depth }) => ({\r\n\t\t\t\t...acc,\r\n\t\t\t\t[iv]: [...bindings[iv], U.buildEmptyValue(depth)],\r\n\t\t\t}),\r\n\t\t\t{}\r\n\t\t);\r\n\t\thandleChange(toHandle);\r\n\t};\r\n\r\n\tconst customBtnLabel =\r\n\t\t(componentType === 'Loop' && interpret(features)(bindings)(mainLabel)) ||\r\n\t\taddBtnLabel;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={mainId}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{componentType === 'RosterForLoop' && mainLabel && (\r\n\t\t\t\t<label\r\n\t\t\t\t\thtmlFor={`loops-constructor-${mainId}`}\r\n\t\t\t\t\tid={`loops-constructor-label-${mainId}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(mainLabel)}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={mainId}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<BodyComponent\r\n\t\t\t\tmainId={mainId}\r\n\t\t\t\tcomponentType={componentType}\r\n\t\t\t\tcomponents={components}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t\twidth={width}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tsetTodo={setTodo}\r\n\t\t\t\t{...otherProps}\r\n\t\t\t/>\r\n\t\t\t{!hideBtn && (\r\n\t\t\t\t<Button\r\n\t\t\t\t\tlabel=\"addLine\"\r\n\t\t\t\t\tvalue={customBtnLabel}\r\n\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t(Number.isInteger(minLines) && minLines === maxLines) ||\r\n\t\t\t\t\t\tU.lastLoopChildLineIsEmpty(bindings)(involvedVariables)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tonClick={addLine}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={mainId}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nLoopConstructorWrapper.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tcomponents: [],\r\n\tlines: {},\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\taddBtnLabel: 'Add a line',\r\n\tmanagement: false,\r\n\thideBtn: false,\r\n\tstyle: {},\r\n};\r\n\r\nLoopConstructorWrapper.propTypes = {\r\n\tcomponentType: PropTypes.string.isRequired,\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tcomponents: PropTypes.array,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tlines: U.linesPropTypes,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\taddBtnLabel: PropTypes.string,\r\n\thideBtn: PropTypes.bool,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(LoopConstructorWrapper, U.areEqual);\r\n","import React from 'react';\r\nimport LoopConstructorWrapper from '../wrapper';\r\nimport * as U from '../../../utils/lib';\r\nimport './block.scss';\r\n\r\nconst BlockForLoop = (props) => <LoopConstructorWrapper {...props} />;\r\n\r\nexport default React.memo(BlockForLoop, U.areEqual);\r\n","import React from 'react';\r\nimport Loop from '../loop/component';\r\nimport BlockForLoop from '../loop-constructor/block';\r\n\r\nconst LoopWrapper = (props) => {\r\n\tconst { iterations } = props;\r\n\tif (iterations) return <Loop {...props} />;\r\n\treturn <BlockForLoop {...props} />;\r\n};\r\n\r\nexport default LoopWrapper;\r\n","import React from 'react';\r\nimport LoopConstructorWrapper from '../wrapper';\r\nimport * as U from '../../../utils/lib';\r\n\r\nconst RosterForLoop = (props) => <LoopConstructorWrapper {...props} />;\r\n\r\nexport default React.memo(RosterForLoop, U.areEqual);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { SimpleDeclarationsWrapper } from '../declarations/wrappers';\r\nimport * as U from '../../utils/lib';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './sequence.scss';\r\n\r\nconst Sequence = ({ id, label, declarations, features, bindings, style }) => (\r\n\t<SimpleDeclarationsWrapper\r\n\t\tid={id}\r\n\t\tdeclarations={declarations}\r\n\t\tfeatures={features}\r\n\t\tbindings={bindings}\r\n\t>\r\n\t\t<div\r\n\t\t\taria-label={`sequence-${id}`}\r\n\t\t\tclassName=\"sequence-lunatic\"\r\n\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t</div>\r\n\t</SimpleDeclarationsWrapper>\r\n);\r\n\r\nSequence.defaultProps = {\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tstyle: {},\r\n};\r\n\r\nSequence.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string.isRequired,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(Sequence, U.areEqual);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { SimpleDeclarationsWrapper } from '../declarations/wrappers';\r\nimport * as U from '../../utils/lib';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './subsequence.scss';\r\n\r\nconst Subsequence = ({\r\n\tid,\r\n\tlabel,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tstyle,\r\n}) => (\r\n\t<SimpleDeclarationsWrapper\r\n\t\tid={id}\r\n\t\tdeclarations={declarations}\r\n\t\tfeatures={features}\r\n\t\tbindings={bindings}\r\n\t>\r\n\t\t<div\r\n\t\t\taria-label={`subsequence-${id}`}\r\n\t\t\tclassName=\"subsequence-lunatic\"\r\n\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t</div>\r\n\t</SimpleDeclarationsWrapper>\r\n);\r\n\r\nSubsequence.defaultProps = {\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tstyle: {},\r\n};\r\n\r\nSubsequence.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string.isRequired,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(Subsequence, U.areEqual);\r\n","import React from 'react';\r\nimport { InputDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './textarea.scss';\r\n\r\nconst Textarea = (props) => (\r\n\t<InputDeclarationsWrapper type={null} roleType=\"textarea\" {...props} />\r\n);\r\n\r\nexport default React.memo(Textarea, areEqual);\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as lunatic from '../components';\r\nimport Declarations from '../declarations';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './table.scss';\r\n\r\nconst Table = ({\r\n\tid: tableId,\r\n\tlabel: tableLabel,\r\n\tpreferences,\r\n\tcells,\r\n\thandleChange,\r\n\tlines: initLines,\r\n\tpositioning,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\taddBtnLabel,\r\n\thideBtn,\r\n\tmanagement,\r\n}) => {\r\n\tconst minLines = initLines\r\n\t\t? Math.max(initLines.min, U.getRosterInitLines(cells))\r\n\t\t: undefined;\r\n\tconst maxLines = initLines ? initLines.max : undefined;\r\n\tconst [lines, setLines] = useState(minLines);\r\n\r\n\tconst width = `${100 / Math.max(...cells.map((line) => line.length))}%`;\r\n\tconst Button = lunatic.Button;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={tableId}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{tableLabel && (\r\n\t\t\t\t<label\r\n\t\t\t\t\thtmlFor={`table-one-axis-${tableId}`}\r\n\t\t\t\t\tid={`table-one-axis-label-${tableId}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(tableLabel)}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={tableId}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<table id={`table-${tableId}`} className=\"table-lunatic\">\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t{(minLines || minLines === 0 ? cells.slice(0, lines + 1) : cells).map(\r\n\t\t\t\t\t\t(line, i) => (\r\n\t\t\t\t\t\t\t<tr key={`table-${tableId}-line${i}`}>\r\n\t\t\t\t\t\t\t\t{line.map((component, j) => {\r\n\t\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\t\tlabel,\r\n\t\t\t\t\t\t\t\t\t\theaderCell,\r\n\t\t\t\t\t\t\t\t\t\tcolspan,\r\n\t\t\t\t\t\t\t\t\t\trowspan,\r\n\t\t\t\t\t\t\t\t\t\tcomponentType,\r\n\t\t\t\t\t\t\t\t\t\t...componentProps\r\n\t\t\t\t\t\t\t\t\t} = component;\r\n\t\t\t\t\t\t\t\t\tif (componentType) {\r\n\t\t\t\t\t\t\t\t\t\tconst Component = lunatic[componentType];\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t<td\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey={`table-${tableId}-line${i}-cell-${j}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ width }}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleChange={handleChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferences={preferences}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpositioning={positioning}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmanagement={management}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{...componentProps}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tzIndex={cells.length - i || 0}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tconst cellOptions = {\r\n\t\t\t\t\t\t\t\t\t\tkey: `table-${tableId}-line${i}-cell-${j}`,\r\n\t\t\t\t\t\t\t\t\t\tstyle: { width },\r\n\t\t\t\t\t\t\t\t\t\tcolSpan: colspan || 1,\r\n\t\t\t\t\t\t\t\t\t\trowSpan: rowspan || 1,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(label);\r\n\t\t\t\t\t\t\t\t\treturn headerCell ? (\r\n\t\t\t\t\t\t\t\t\t\t<th {...cellOptions}>{interpretedLabel}</th>\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<td {...cellOptions}>{interpretedLabel}</td>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t)}\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t\t{Number.isInteger(minLines) && lines < maxLines && !hideBtn && (\r\n\t\t\t\t<Button\r\n\t\t\t\t\tlabel=\"addLine\"\r\n\t\t\t\t\tvalue={addBtnLabel}\r\n\t\t\t\t\tonClick={() => setLines(lines + 1)}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={tableId}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nTable.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tcells: [],\r\n\tlines: {},\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\taddBtnLabel: 'Add a line',\r\n\tmanagement: false,\r\n\thideBtn: false,\r\n\tstyle: {},\r\n};\r\n\r\nTable.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tcells: PropTypes.array,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tlines: U.linesPropTypes,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\taddBtnLabel: PropTypes.string,\r\n\thideBtn: PropTypes.bool,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(Table, U.areEqual);\r\n"],"names":["BEFORE_QUESTION_TEXT","AFTER_QUESTION_TEXT","DETACHABLE","INSTRUCTION","COMMENT","HELP","WARNING","MESSAGE_FILTER","STATEMENT","PREVIOUS","COLLECTED","FORCED","EDITED","INPUTED","EXTERNAL","CALCULATED","PropTypes","arrayOf","shape","id","string","isRequired","declarationType","oneOf","C","position","label","value","name","values","min","number","max","buildTooltip","response","Object","keys","length","edited","forced","collected","has","content","key","imgName","status","undefined","interpret","features","bindings","doNotReplaceNullBindings","expression","Array","isArray","includes","VTLExpr","interpretVtl","replaceNullBindings","e","interpretWithEmptyDefault","defaultValue","entries","reduce","acc","mergeQuestionnaireAndData","questionnaire","data","components","variables","props","vars","buildVars","filledComponents","buildFilledComponents","collectedData","filter","variableType","componentRef","d","_","v","initExternalVariable","initCalculatedVariable","depth","map","c","component","buildFilledComponent","buildResponseComponent","responses","buildResponsesComponent","cells","buildCellsComponent","buildComponentsComponent","rest","filledResponses","r","filledCells","row","supportedPreferences","buildBindingsForDeeperComponents","index","getDefaultDatasetStructure","dataStructure","dataPoints","buildVectorialBindings","displayLoop","dependencyList","iv","flat","displayLoopQuestion","updateQuestionnaire","valueType","preferences","updatedValues","other","varsAndRefs","newVariables","otherVars","refs","updated","buildNewValue","newCollected","newVariablesWithCalculated","addCalculatedVars","collectedVars","newComponents","oldValues","indexOf","valuesByPreference","slice","p","lastValue","calculated","res","join","buildMultiTooltipResponse","options","newValues","k","find","o","buildBooleanTooltipResponse","buildLocalResponse","newValue","getAlphabet","split","getLabelPositionClass","getItemsPositioningClass","positioning","getResponseName","getResponseByPreference","buildStyleObject","obj","startsWith","camelCase","isResponseEmpty","getRosterInitLines","line","__","b","getLoopConstructorInitLines","getInvolvedVariables","parentComponents","lastLoopChildLineIsEmpty","involvedVariables","buildEmptyValue","fill","VarsHasBeenUpdated","prevProps","oldR","oldRs","oldC","newR","newRs","newC","isEqual","areEqual","bindingDependencies","oldB","newB","responseToClean","cutedValues","responsesToClean","Breadcrumb","elements","style","React","i","toLowerCase","propTypes","object","Button","onClick","disabled","bool","func","getState","getCalculatedFromVariables","getCollectedState","getExternalFromVariables","getCollectedStateByValueType","displayNull","getBindings","filterComponents","management","filteredComponents","conditionFilter","useLunatic","source","savingType","useState","setQuestionnaire","todo","setTodo","handleChange","useCallback","updatedValue","useEffect","newQ","Declarations","type","declarations","filtered","idD","defaultProps","U","img","TooltipResponse","tooltipElements","setTooltipElements","src","CheckboxGroup","propsHandleChange","focused","keyboardSelection","fieldsetStyle","modalityStyle","inputRef","useRef","setValues","debounce","specificHandleChange","current","focus","checkedArray","modId","modLabel","checked","push","toRef","interpretedLabel","target","j","toUpperCase","memo","CheckboxBoolean","setValue","isVertical","isHorizontal","input","InputDeclarationsWrapper","placeholder","maxLength","readOnly","autoComplete","labelPosition","mandatory","roleType","handleChangeOnBlur","Component","oneOfType","ListDeclarationsWrapper","hasSpecificHandler","onChange","update","optionLabel","optionValue","SimpleDeclarationsWrapper","children","element","CheckboxOne","Datepicker","SHOW_PANEL","showPanel","HIDE_PANEL","hidePanel","SET_ACTIVE_OPTION","setActiveOption","payload","SET_OPTIONS","setOptions","SET_VALUE","SET_FOCUSED","setFocused","SET_SELECTED_OPTION","setSelectedOption","option","RESET_SELECTION","resetSelection","ARROW_UP_PRESSED","arrowUpPressed","ARROW_DOWN_PRESSED","arrowDownPressed","ENTER_PRESSED","enterPressed","callback","SET_PREFIX","setPrefix","prefix","Panel","display","handleActive","activeIndex","selectedOption","onSelect","idDropdown","Option","optionComponent","ulRef","stopPropagation","preventDefault","button","propTypesOption","symbol","Icon","height","width","color","Label","classnames","CLEANER_CALLBACKS","applyAll","execpt","forEach","apply","add","clear","DropdownFieldContainer","visible","DropdownContainer","forwardRef","ref","className","onMouseDown","onKeyDown","onFocus","onBlur","BINDED_KEYS","arrowUp","arrowDown","enter","tab","dispatch","actions","CLEAN","stopAndPrevent","prepareOptions","valueFromProps","a","onKeyDownCallbackProxy","state","createOnKeyDownCallback","Dropdown","hook","window","addEventListener","removeEventListener","onMouseDownCallback","createOnMouseDownCallback","onKeyDownCallback","DropdownField","zIndex","array","scrollTo","li","document","getElementById","parent","parentNode","pr","getBoundingClientRect","lr","top","scrollTop","bottom","preparePrefix","removeAccents","replace","lettersMatching","pref","pos","clean","idx","match","filterOption","search","how","sort","initial","visibleOptions","isPrefix","reduceArrowDownPressed","next","Math","reduceArrowUpPressed","reduceEnterPressed","reducer","action","activeOption","active","selected","widthAuto","initId","initFocused","containerEl","useReducer","Date","getMilliseconds","onSelect_","createOnSelect","getIcon","isDisplay","ClosedIcon","OpenedIcon","childrenToOption","child","Error","createDropdown","initLetters","what","letters","stack","m","first","last","char","part","reverse","Icone","onDelete","onSwitch","onChangeCallback","inputEl","createDropDown","DropdownEdit","writable","freezeOptions","opts","setOpts","featOptions","labelOption","restOpts","Input","InputNumber","decimals","unit","unitPosition","validators","minMaxValidator","messagesError","setMessagesError","validate","f","pow","valueNumber","Number","isDef","FilterDescription","filterDescription","ProgressBar","controledValue","toFixed","Radio","buildLoopComponents","iterations","toFlat","rowNumber","buildFlatten","buildFlattenResponse","Loop","loopDependencies","orchetratorProps","vectorialBindings","iterationNb","toUpdate","up","previousValue","flattenComponents","loopComponents","componentType","idC","loopBindings","lunatic","buildContentForLoopConstructor","headers","initialArray","uiComponents","comp","transpose","x","rows","BodyComponent","mainId","headerCell","colspan","rowspan","componentProps","localBindings","cellOptions","colSpan","rowSpan","LoopConstructorWrapper","mainLabel","lines","addBtnLabel","hideBtn","otherProps","minLines","maxLines","addLine","toHandle","customBtnLabel","isInteger","BlockForLoop","LoopWrapper","RosterForLoop","Sequence","Subsequence","Textarea","Table","tableId","tableLabel","initLines","setLines"],"mappings":"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"}