@inseefr/lunatic 2.0.1 → 2.0.2-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 (739) 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 +30 -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 +46 -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 -4236
  256. package/lib/stories/Introduction.stories.mdx +114 -0
  257. package/lib/stories/checkboxOne/checkboxOne.stories.js +35 -0
  258. package/lib/stories/checkboxOne/source.json +36 -0
  259. package/lib/stories/custom-mui/checkbox-boolean-mui.js +39 -0
  260. package/lib/stories/custom-mui/checkbox-group-mui.js +80 -0
  261. package/lib/stories/custom-mui/checkbox-one-mui.js +17 -0
  262. package/lib/stories/custom-mui/index.js +127 -0
  263. package/lib/stories/custom-mui/input-mui.js +61 -0
  264. package/lib/stories/custom-mui/input-number-mui.js +47 -0
  265. package/lib/stories/custom-mui/radio-mui.js +75 -0
  266. package/lib/stories/custom-mui/suggester-mui/index.js +15 -0
  267. package/lib/stories/custom-mui/suggester-mui/suggester-mui.js +328 -0
  268. package/lib/stories/custom-mui/switch-mui.js +51 -0
  269. package/lib/stories/custom-mui/table-mui.js +33 -0
  270. package/lib/stories/custom-mui/tbody-mui.js +27 -0
  271. package/lib/stories/custom-mui/td-mui.js +29 -0
  272. package/lib/stories/custom-mui/textarea-mui.js +51 -0
  273. package/lib/stories/custom-mui/th-mui.js +28 -0
  274. package/lib/stories/custom-mui/thead-mui.js +27 -0
  275. package/lib/stories/custom-mui/tr-mui.js +38 -0
  276. package/lib/stories/date-picker/data.json +3 -0
  277. package/lib/stories/date-picker/datepicker.stories.js +38 -0
  278. package/lib/stories/date-picker/source.json +140 -0
  279. package/lib/stories/dropdown/data.json +16 -0
  280. package/lib/stories/dropdown/dropdown.stories.js +38 -0
  281. package/lib/stories/dropdown/source.json +122 -0
  282. package/lib/stories/filter-description/filter-description.stories.js +58 -0
  283. package/lib/stories/filter-description/source-options.json +81 -0
  284. package/lib/stories/filter-description/source.json +11 -0
  285. package/lib/stories/input/data.json +1 -0
  286. package/lib/stories/input/input.stories.js +38 -0
  287. package/lib/stories/input/source.json +28 -0
  288. package/lib/stories/input-number/input-number.stories.js +43 -0
  289. package/lib/stories/input-number/source-euros.json +38 -0
  290. package/lib/stories/input-number/source.json +37 -0
  291. package/lib/stories/pairwise/data.json +13 -0
  292. package/lib/stories/pairwise/links.json +207 -0
  293. package/lib/stories/pairwise/pairwise-links.stories.js +39 -0
  294. package/lib/stories/paste-questionnaire/source.json +6290 -0
  295. package/lib/stories/paste-questionnaire/test.stories.js +91 -0
  296. package/lib/stories/questionnaires/logement/data.json +2691 -0
  297. package/lib/stories/questionnaires/logement/logement.stories.js +86 -0
  298. package/lib/stories/questionnaires/logement/source-sequence.json +34181 -0
  299. package/lib/stories/questionnaires/logement/source-sum.json +34612 -0
  300. package/lib/stories/questionnaires/logement/source.json +34191 -0
  301. package/lib/stories/questionnaires/simpsons/simpsons.stories.js +71 -0
  302. package/lib/stories/questionnaires/simpsons/source.json +6290 -0
  303. package/lib/stories/questionnaires-test/V2_DeclarationsSimples.json +848 -0
  304. package/lib/stories/questionnaires-test/V2_MinMaxSum_Boucles.json +509 -0
  305. package/lib/stories/questionnaires-test/V2_QuestSimple_Boucles.json +4091 -0
  306. package/lib/stories/questionnaires-test/V2_TCMRallyeGames.json +2892 -0
  307. package/lib/stories/questionnaires-test/controls/V2_ControlesNonNum_horsBoucle_PasPageFin.json +666 -0
  308. package/lib/stories/questionnaires-test/controls/V2_ControlesNum_horsBoucle_PasPageFin.json +1957 -0
  309. package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees2_PasPageFin.json +709 -0
  310. package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees_PasPageFin.json +533 -0
  311. package/lib/stories/questionnaires-test/controls/boucles-n.json +202 -0
  312. package/lib/stories/questionnaires-test/controls/controls.stories.js +108 -0
  313. package/lib/stories/questionnaires-test/test-dylan.json +558 -0
  314. package/lib/stories/questionnaires-test/test.stories.js +104 -0
  315. package/lib/stories/radio/radio.stories.js +35 -0
  316. package/lib/stories/radio/source.json +36 -0
  317. package/lib/stories/roster-for-loop/roster-for-loop.stories.js +35 -0
  318. package/lib/stories/roster-for-loop/source.json +114 -0
  319. package/lib/stories/suggester/source.json +234 -0
  320. package/lib/stories/suggester/suggester.stories.js +59 -0
  321. package/{src/stories/checkbox-one → lib/stories/switch}/README.md +31 -31
  322. package/lib/stories/switch/SwitchMaterialUI.js +51 -0
  323. package/{src/stories/checkbox-boolean/data.json → lib/stories/switch/data-forced.json} +48 -48
  324. package/lib/stories/switch/data.json +80 -0
  325. package/lib/stories/switch/switch.js +108 -0
  326. package/lib/stories/table/data-roster.json +1 -0
  327. package/lib/stories/table/data.json +1 -0
  328. package/{src/stories/table/data-roster.json → lib/stories/table/source-roster.json} +504 -461
  329. package/{src/stories/table/data-default.json → lib/stories/table/source.json} +19 -19
  330. package/lib/stories/table/table-dynamique.json +67 -0
  331. package/lib/stories/table/table.stories.js +73 -0
  332. package/lib/stories/utils/custom-lunatic.scss +28 -0
  333. package/lib/stories/utils/default-arg-types.js +23 -0
  334. package/lib/stories/utils/options.js +32 -0
  335. package/lib/stories/utils/orchestrator.js +188 -0
  336. package/lib/stories/utils/waiting/index.js +15 -0
  337. package/lib/stories/utils/waiting/preloader.svg +1 -0
  338. package/lib/stories/utils/waiting/waiting.js +40 -0
  339. package/lib/stories/utils/waiting/waiting.scss +21 -0
  340. package/lib/tests/sample.spec.js +7 -0
  341. package/lib/use-lunatic/actions.js +102 -0
  342. package/lib/use-lunatic/commons/calculated-variables.js +124 -0
  343. package/lib/use-lunatic/commons/check-loops.js +111 -0
  344. package/lib/use-lunatic/commons/compose.js +28 -0
  345. package/lib/use-lunatic/commons/create-map-pages.js +108 -0
  346. package/lib/use-lunatic/commons/execute-condition-filter.js +34 -0
  347. package/lib/use-lunatic/commons/execute-expression/create-execute-expression.js +308 -0
  348. package/lib/use-lunatic/commons/execute-expression/create-memoizer.js +78 -0
  349. package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.js +160 -0
  350. package/lib/use-lunatic/commons/execute-expression/execute-expression.js +118 -0
  351. package/lib/use-lunatic/commons/execute-expression/get-expressions-variables.js +51 -0
  352. package/lib/use-lunatic/commons/execute-expression/get-safety-expression.js +37 -0
  353. package/lib/use-lunatic/commons/execute-expression/index.js +15 -0
  354. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +149 -0
  355. package/lib/use-lunatic/commons/fill-components/fill-component-value.js +26 -0
  356. package/lib/use-lunatic/commons/fill-components/fill-components.js +47 -0
  357. package/lib/use-lunatic/commons/fill-components/fill-errors.js +31 -0
  358. package/lib/use-lunatic/commons/fill-components/fill-from-state.js +26 -0
  359. package/lib/use-lunatic/commons/fill-components/fill-management.js +27 -0
  360. package/lib/use-lunatic/commons/fill-components/fill-missing-response.js +37 -0
  361. package/lib/use-lunatic/commons/fill-components/fill-pagination.js +23 -0
  362. package/lib/use-lunatic/commons/fill-components/index.js +15 -0
  363. package/lib/use-lunatic/commons/get-compatible-vtl-expression.js +32 -0
  364. package/lib/use-lunatic/commons/get-component-value/get-component-value.js +217 -0
  365. package/lib/use-lunatic/commons/get-component-value/index.js +15 -0
  366. package/lib/use-lunatic/commons/get-components-from-state.js +44 -0
  367. package/lib/use-lunatic/commons/get-data.js +90 -0
  368. package/lib/use-lunatic/commons/get-errors-without-empty-value.js +31 -0
  369. package/lib/use-lunatic/commons/index.js +123 -0
  370. package/lib/use-lunatic/commons/is-First-last-page.js +20 -0
  371. package/lib/use-lunatic/commons/is-paginated-loop.js +15 -0
  372. package/lib/use-lunatic/commons/load-suggesters.js +199 -0
  373. package/lib/use-lunatic/commons/page-tag.js +83 -0
  374. package/lib/use-lunatic/commons/use-components-from-state.js +49 -0
  375. package/lib/use-lunatic/index.js +15 -0
  376. package/lib/use-lunatic/initial-state.js +44 -0
  377. package/lib/use-lunatic/reducer/commons/index.js +41 -0
  378. package/lib/use-lunatic/reducer/commons/is-empty-on-empty-page.js +49 -0
  379. package/lib/use-lunatic/reducer/commons/resize-array-variable.js +48 -0
  380. package/lib/use-lunatic/reducer/commons/validate-condition-filter.js +41 -0
  381. package/lib/use-lunatic/reducer/index.js +15 -0
  382. package/lib/use-lunatic/reducer/reduce-go-next-page.js +218 -0
  383. package/lib/use-lunatic/reducer/reduce-go-previous-page.js +165 -0
  384. package/lib/use-lunatic/reducer/reduce-go-to-page.js +60 -0
  385. package/lib/use-lunatic/reducer/reduce-handle-change/index.js +15 -0
  386. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.js +77 -0
  387. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +142 -0
  388. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.js +53 -0
  389. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-missing.js +90 -0
  390. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-resizing.js +118 -0
  391. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.js +50 -0
  392. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.js +29 -0
  393. package/lib/use-lunatic/reducer/reduce-on-init.js +260 -0
  394. package/lib/use-lunatic/reducer/reduce-on-set-waiting.js +23 -0
  395. package/lib/use-lunatic/reducer/reducer.js +58 -0
  396. package/lib/use-lunatic/reducer/validate-controls/create-controls-reducer.js +69 -0
  397. package/lib/use-lunatic/reducer/validate-controls/create-modal-controls-reducer.js +100 -0
  398. package/lib/use-lunatic/reducer/validate-controls/index.js +23 -0
  399. package/lib/use-lunatic/reducer/validate-controls/validation-utils.js +73 -0
  400. package/lib/use-lunatic/use-lunatic.js +215 -0
  401. package/lib/utils/constants/features.js +12 -0
  402. package/lib/utils/constants/index.js +70 -0
  403. package/lib/utils/constants/links.js +10 -0
  404. package/lib/utils/constants/missing.js +10 -0
  405. package/lib/utils/constants/variable-status.js +16 -0
  406. package/lib/utils/constants/variable-types.js +8 -0
  407. package/lib/utils/idb-tools/clear-store.js +52 -0
  408. package/lib/utils/idb-tools/create-db-opener.js +60 -0
  409. package/lib/utils/idb-tools/create-open-db.js +35 -0
  410. package/lib/utils/idb-tools/get-entity.js +25 -0
  411. package/lib/utils/idb-tools/get-idb.js +15 -0
  412. package/lib/utils/idb-tools/idb-bulk-insert.js +157 -0
  413. package/lib/utils/idb-tools/index.js +75 -0
  414. package/lib/utils/idb-tools/insert-entity.js +25 -0
  415. package/lib/utils/idb-tools/open-db.js +29 -0
  416. package/lib/utils/idb-tools/open-or-create-db.js +49 -0
  417. package/lib/utils/is-element.js +12 -0
  418. package/lib/utils/store-tools/auto-load.js +209 -0
  419. package/lib/utils/store-tools/clear-store-data.js +46 -0
  420. package/lib/utils/store-tools/clear-store-info.js +46 -0
  421. package/lib/utils/store-tools/constantes.js +31 -0
  422. package/lib/utils/store-tools/create/create.js +70 -0
  423. package/lib/utils/store-tools/create/index.js +23 -0
  424. package/lib/utils/store-tools/create/update-store-info.js +33 -0
  425. package/lib/utils/store-tools/get-store-count.js +29 -0
  426. package/lib/utils/store-tools/index.js +66 -0
  427. package/lib/utils/store-tools/open-or-create-store.js +60 -0
  428. package/lib/utils/store-tools/use-store-index.js +82 -0
  429. package/lib/utils/suggester-workers/append-to-index/append.js +96 -0
  430. package/lib/utils/suggester-workers/append-to-index/append.worker.js +31 -0
  431. package/lib/utils/suggester-workers/append-to-index/create-append-task.js +66 -0
  432. package/lib/utils/suggester-workers/append-to-index/index.js +23 -0
  433. package/lib/utils/suggester-workers/append-to-index/prepare-entities.js +114 -0
  434. package/lib/utils/suggester-workers/append-to-index/store-messages.js +48 -0
  435. package/lib/utils/suggester-workers/commons-tokenizer/create-entity-tokenizer.js +64 -0
  436. package/lib/utils/suggester-workers/commons-tokenizer/create-fields-tokenizer.js +103 -0
  437. package/lib/utils/suggester-workers/commons-tokenizer/create-filter-stop-words.js +47 -0
  438. package/lib/utils/suggester-workers/commons-tokenizer/filters/compose-filters.js +24 -0
  439. package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.js +47 -0
  440. package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.spec.js +16 -0
  441. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.js +24 -0
  442. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.spec.js +18 -0
  443. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.js +34 -0
  444. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.spec.js +25 -0
  445. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.js +17 -0
  446. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.spec.js +25 -0
  447. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.js +29 -0
  448. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.spec.js +18 -0
  449. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.js +71 -0
  450. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +15 -0
  451. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.js +19 -0
  452. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.spec.js +16 -0
  453. package/lib/utils/suggester-workers/commons-tokenizer/filters/index.js +23 -0
  454. package/lib/utils/suggester-workers/commons-tokenizer/filters/stop-words.js +9 -0
  455. package/lib/utils/suggester-workers/commons-tokenizer/get-regexp-from-pattern.js +17 -0
  456. package/lib/utils/suggester-workers/commons-tokenizer/get-stemmer.js +31 -0
  457. package/lib/utils/suggester-workers/commons-tokenizer/index.js +79 -0
  458. package/lib/utils/suggester-workers/commons-tokenizer/prepare-string-indexation.js +24 -0
  459. package/lib/utils/suggester-workers/commons-tokenizer/soft-tokenizer.js +15 -0
  460. package/lib/utils/suggester-workers/create-worker.js +64 -0
  461. package/lib/utils/suggester-workers/find-best-label/find-best-label.js +81 -0
  462. package/lib/utils/suggester-workers/find-best-label/find-best-label.worker.js +67 -0
  463. package/lib/utils/suggester-workers/find-best-label/index.js +1 -0
  464. package/lib/utils/suggester-workers/find-best-label/tokenize.js +62 -0
  465. package/lib/utils/suggester-workers/find-best-label/tokenize.spec.js +26 -0
  466. package/lib/utils/suggester-workers/searching/compute-score.js +63 -0
  467. package/lib/utils/suggester-workers/searching/get-db.js +64 -0
  468. package/lib/utils/suggester-workers/searching/index.js +15 -0
  469. package/lib/utils/suggester-workers/searching/order/create-alphanumeric-orderer.js +33 -0
  470. package/lib/utils/suggester-workers/searching/order/index.js +33 -0
  471. package/lib/utils/suggester-workers/searching/query-parser/index.js +23 -0
  472. package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.js +15 -0
  473. package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.spec.js +28 -0
  474. package/lib/utils/suggester-workers/searching/query-parser/query-parser-tokenized.js +51 -0
  475. package/lib/utils/suggester-workers/searching/resolve-query-parser.js +73 -0
  476. package/lib/utils/suggester-workers/searching/search-in-index.js +25 -0
  477. package/lib/utils/suggester-workers/searching/searching.js +170 -0
  478. package/lib/utils/suggester-workers/searching/searching.worker.js +23 -0
  479. package/lib/utils/vtl/dataset-builder.js +28 -0
  480. package/lib/utils/vtl/index.js +15 -0
  481. package/package.json +160 -137
  482. package/lib/index.js.map +0 -1
  483. package/src/components/breadcrumb/breadcrumb.scss +0 -22
  484. package/src/components/breadcrumb/component.js +0 -29
  485. package/src/components/breadcrumb/index.js +0 -1
  486. package/src/components/button/button.scss +0 -26
  487. package/src/components/button/component.js +0 -25
  488. package/src/components/button/index.js +0 -1
  489. package/src/components/checkbox/boolean.js +0 -144
  490. package/src/components/checkbox/checkbox.scss +0 -43
  491. package/src/components/checkbox/group.js +0 -180
  492. package/src/components/checkbox/index.js +0 -3
  493. package/src/components/checkbox/one.js +0 -10
  494. package/src/components/components.js +0 -16
  495. package/src/components/datepicker/component.js +0 -10
  496. package/src/components/datepicker/datepicker.scss +0 -16
  497. package/src/components/datepicker/index.js +0 -1
  498. package/src/components/declarations/component.js +0 -38
  499. package/src/components/declarations/declarations.scss +0 -34
  500. package/src/components/declarations/index.js +0 -1
  501. package/src/components/declarations/wrappers/index.js +0 -3
  502. package/src/components/declarations/wrappers/input-declarations-wrapper.js +0 -174
  503. package/src/components/declarations/wrappers/list-declarations-wrapper.js +0 -187
  504. package/src/components/declarations/wrappers/simple-declarations-wrapper.js +0 -54
  505. package/src/components/dropdown/commons/actions.js +0 -56
  506. package/src/components/dropdown/commons/children-to-option.js +0 -9
  507. package/src/components/dropdown/commons/cleaner-callbacks.js +0 -58
  508. package/src/components/dropdown/commons/components/closed.icon.js +0 -24
  509. package/src/components/dropdown/commons/components/dropdown-container.js +0 -169
  510. package/src/components/dropdown/commons/components/label.js +0 -21
  511. package/src/components/dropdown/commons/components/opened.icon.js +0 -24
  512. package/src/components/dropdown/commons/components/panel.js +0 -78
  513. package/src/components/dropdown/commons/event-callbacks/index.js +0 -5
  514. package/src/components/dropdown/commons/event-callbacks/on-keydown-callback.js +0 -30
  515. package/src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js +0 -11
  516. package/src/components/dropdown/commons/reducer.js +0 -149
  517. package/src/components/dropdown/commons/tools/index.js +0 -17
  518. package/src/components/dropdown/component.js +0 -117
  519. package/src/components/dropdown/dropdown-edit/cross.icon.js +0 -20
  520. package/src/components/dropdown/dropdown-edit/dropdown-edit.js +0 -174
  521. package/src/components/dropdown/dropdown-edit/icone.js +0 -33
  522. package/src/components/dropdown/dropdown-edit/index.js +0 -11
  523. package/src/components/dropdown/dropdown-edit/option.js +0 -62
  524. package/src/components/dropdown/dropdown-edit/prefix-tools.js +0 -51
  525. package/src/components/dropdown/dropdown-simple/dropdown.js +0 -155
  526. package/src/components/dropdown/dropdown-simple/index.js +0 -20
  527. package/src/components/dropdown/dropdown-simple/option.js +0 -15
  528. package/src/components/dropdown/dropdown.scss +0 -183
  529. package/src/components/dropdown/index.js +0 -1
  530. package/src/components/filter-description/component.js +0 -41
  531. package/src/components/filter-description/index.js +0 -1
  532. package/src/components/index.js +0 -4
  533. package/src/components/index.scss +0 -76
  534. package/src/components/input/index.js +0 -2
  535. package/src/components/input/input-number.js +0 -238
  536. package/src/components/input/input.js +0 -10
  537. package/src/components/input/input.scss +0 -27
  538. package/src/components/loop/build-components.js +0 -33
  539. package/src/components/loop/component.js +0 -94
  540. package/src/components/loop/index.js +0 -1
  541. package/src/components/loop/loop.scss +0 -17
  542. package/src/components/loop/wrapper.js +0 -11
  543. package/src/components/loop-constructor/block/block.scss +0 -10
  544. package/src/components/loop-constructor/block/component.js +0 -8
  545. package/src/components/loop-constructor/block/index.js +0 -1
  546. package/src/components/loop-constructor/index.js +0 -1
  547. package/src/components/loop-constructor/roster/component.js +0 -7
  548. package/src/components/loop-constructor/roster/index.js +0 -1
  549. package/src/components/loop-constructor/wrapper/body-component.js +0 -118
  550. package/src/components/loop-constructor/wrapper/build-components.js +0 -33
  551. package/src/components/loop-constructor/wrapper/component.js +0 -152
  552. package/src/components/loop-constructor/wrapper/index.js +0 -1
  553. package/src/components/progress-bar/component.js +0 -28
  554. package/src/components/progress-bar/index.js +0 -1
  555. package/src/components/progress-bar/progress-bar.scss +0 -54
  556. package/src/components/radio/component.js +0 -8
  557. package/src/components/radio/index.js +0 -1
  558. package/src/components/radio/radio.scss +0 -24
  559. package/src/components/sequence/component.js +0 -41
  560. package/src/components/sequence/index.js +0 -1
  561. package/src/components/sequence/sequence.scss +0 -15
  562. package/src/components/subsequence/component.js +0 -48
  563. package/src/components/subsequence/index.js +0 -1
  564. package/src/components/subsequence/subsequence.scss +0 -15
  565. package/src/components/table/index.js +0 -1
  566. package/src/components/table/table.js +0 -160
  567. package/src/components/table/table.scss +0 -23
  568. package/src/components/textarea/component.js +0 -10
  569. package/src/components/textarea/index.js +0 -1
  570. package/src/components/textarea/textarea.scss +0 -16
  571. package/src/components/tooltip/img/collected.png +0 -0
  572. package/src/components/tooltip/img/index.js +0 -5
  573. package/src/components/tooltip/index.js +0 -1
  574. package/src/components/tooltip/response.js +0 -51
  575. package/src/components/tooltip/tooltip.scss +0 -35
  576. package/src/constants/component-types.js +0 -1
  577. package/src/constants/declarations.js +0 -14
  578. package/src/constants/index.js +0 -4
  579. package/src/constants/supported-preferences.js +0 -10
  580. package/src/constants/value-types.js +0 -5
  581. package/src/constants/variable-types.js +0 -4
  582. package/src/stories/breadcrumb/README.md +0 -14
  583. package/src/stories/breadcrumb/breadcrumb.stories.js +0 -33
  584. package/src/stories/button/README.md +0 -14
  585. package/src/stories/button/button.stories.js +0 -63
  586. package/src/stories/checkbox-boolean/README.md +0 -27
  587. package/src/stories/checkbox-boolean/checkbox-boolean.stories.js +0 -30
  588. package/src/stories/checkbox-group/README.md +0 -29
  589. package/src/stories/checkbox-group/checkbox-group.stories.js +0 -81
  590. package/src/stories/checkbox-group/data-vtl.json +0 -89
  591. package/src/stories/checkbox-group/data.json +0 -89
  592. package/src/stories/checkbox-one/checkbox-one.stories.js +0 -77
  593. package/src/stories/checkbox-one/data-vtl.json +0 -33
  594. package/src/stories/checkbox-one/data.json +0 -33
  595. package/src/stories/datepicker/README.md +0 -31
  596. package/src/stories/datepicker/data.json +0 -28
  597. package/src/stories/datepicker/datepicker.stories.js +0 -65
  598. package/src/stories/declarations/README.md +0 -19
  599. package/src/stories/declarations/declarations.stories.js +0 -112
  600. package/src/stories/dropdown/README.md +0 -44
  601. package/src/stories/dropdown/data-naf.json +0 -6963
  602. package/src/stories/dropdown/data-props.json +0 -81
  603. package/src/stories/dropdown/data.json +0 -78
  604. package/src/stories/dropdown/dropdown.stories.js +0 -65
  605. package/src/stories/filter-description/README.md +0 -15
  606. package/src/stories/filter-description/filter-description.stories.js +0 -70
  607. package/src/stories/input/README.md +0 -33
  608. package/src/stories/input/data.json +0 -28
  609. package/src/stories/input/input.stories.js +0 -67
  610. package/src/stories/input-number/README.md +0 -37
  611. package/src/stories/input-number/data.json +0 -30
  612. package/src/stories/input-number/input-number.stories.js +0 -75
  613. package/src/stories/loop/README.md +0 -25
  614. package/src/stories/loop/loop.stories.js +0 -80
  615. package/src/stories/loop/with-loop/data-loop-deeper.json +0 -298
  616. package/src/stories/loop/with-loop/data-loop.json +0 -211
  617. package/src/stories/loop/with-loop/data-vqs.json +0 -1384
  618. package/src/stories/loop/with-loop/index.js +0 -3
  619. package/src/stories/loop/with-roster/data-loop-deeper.json +0 -298
  620. package/src/stories/loop/with-roster/data-loop.json +0 -213
  621. package/src/stories/loop/with-roster/data-vqs.json +0 -1383
  622. package/src/stories/loop/with-roster/index.js +0 -3
  623. package/src/stories/loop-constructor/README.md +0 -27
  624. package/src/stories/loop-constructor/data-loop.json +0 -66
  625. package/src/stories/loop-constructor/data-roster.json +0 -68
  626. package/src/stories/loop-constructor/loop-constructor.stories.js +0 -42
  627. package/src/stories/progress-bar/README.md +0 -13
  628. package/src/stories/progress-bar/progress-bar.stories.js +0 -24
  629. package/src/stories/radio/README.md +0 -31
  630. package/src/stories/radio/data-vtl.json +0 -32
  631. package/src/stories/radio/data.json +0 -32
  632. package/src/stories/radio/radio.stories.js +0 -81
  633. package/src/stories/sequence/README.md +0 -18
  634. package/src/stories/sequence/sequence.stories.js +0 -58
  635. package/src/stories/subsequence/README.md +0 -18
  636. package/src/stories/subsequence/subsequence.stories.js +0 -58
  637. package/src/stories/table/README.md +0 -29
  638. package/src/stories/table/data-one-axis-one-measure.json +0 -124
  639. package/src/stories/table/data-one-axis-two-measures.json +0 -193
  640. package/src/stories/table/data-one-hierarchical-axis.json +0 -204
  641. package/src/stories/table/data-two-axis-one-measure.json +0 -492
  642. package/src/stories/table/table.stories.js +0 -77
  643. package/src/stories/textarea/README.md +0 -33
  644. package/src/stories/textarea/data-forced.json +0 -28
  645. package/src/stories/textarea/data.json +0 -28
  646. package/src/stories/textarea/textarea.stories.js +0 -90
  647. package/src/stories/tooltip-response/README.md +0 -14
  648. package/src/stories/tooltip-response/tooltip.stories.js +0 -43
  649. package/src/stories/utils/custom-lunatic.scss +0 -787
  650. package/src/stories/utils/img/arrow.png +0 -0
  651. package/src/stories/utils/img/check_box.svg +0 -1
  652. package/src/stories/utils/img/check_box_outline.svg +0 -1
  653. package/src/stories/utils/img/lunatic-logo.png +0 -0
  654. package/src/stories/utils/img/menu-down.svg +0 -1
  655. package/src/stories/utils/img/menu-up.svg +0 -1
  656. package/src/stories/utils/img/radio_button_checked.svg +0 -1
  657. package/src/stories/utils/img/radio_button_unchecked.svg +0 -1
  658. package/src/stories/utils/options.js +0 -21
  659. package/src/stories/utils/orchestrator.js +0 -53
  660. package/src/tests/components/breadcrumb.spec.js +0 -13
  661. package/src/tests/components/button.spec.js +0 -11
  662. package/src/tests/components/checkbox-boolean.spec.js +0 -40
  663. package/src/tests/components/checkbox-group.spec.js +0 -48
  664. package/src/tests/components/checkbox-one.spec.js +0 -32
  665. package/src/tests/components/datepicker.spec.js +0 -22
  666. package/src/tests/components/declarations-wrappers/input-declarations-wrapper.spec.js +0 -65
  667. package/src/tests/components/declarations-wrappers/list-declarations-wrapper.spec.js +0 -47
  668. package/src/tests/components/declarations-wrappers/simple-declarations-wrapper.spec.js +0 -21
  669. package/src/tests/components/declarations.spec.js +0 -46
  670. package/src/tests/components/input-number.spec.js +0 -173
  671. package/src/tests/components/input.spec.js +0 -18
  672. package/src/tests/components/progress-bar.spec.js +0 -15
  673. package/src/tests/components/radio.spec.js +0 -27
  674. package/src/tests/components/sequence.spec.js +0 -9
  675. package/src/tests/components/subsequence.spec.js +0 -9
  676. package/src/tests/components/table.spec.js +0 -11
  677. package/src/tests/components/textarea.spec.js +0 -18
  678. package/src/tests/components/tooltip.spec.js +0 -25
  679. package/src/tests/setup/setupTests.js +0 -4
  680. package/src/tests/utils/lib/alphabet.spec.js +0 -36
  681. package/src/tests/utils/lib/checkbox/group.spec.js +0 -72
  682. package/src/tests/utils/lib/decorator/title-decorator.spec.js +0 -12
  683. package/src/tests/utils/lib/items-positioning.spec.js +0 -17
  684. package/src/tests/utils/lib/label-position.spec.js +0 -22
  685. package/src/tests/utils/lib/loops/bindings.spec.js +0 -60
  686. package/src/tests/utils/lib/loops/shared.spec.js +0 -77
  687. package/src/tests/utils/lib/responses.spec.js +0 -58
  688. package/src/tests/utils/lib/style.spec.js +0 -26
  689. package/src/tests/utils/lib/table/roster.spec.js +0 -25
  690. package/src/tests/utils/lib/tooltip/build-response.spec.js +0 -95
  691. package/src/tests/utils/lib/tooltip/content.spec.js +0 -109
  692. package/src/tests/utils/to-expose/handler/handler.spec.js +0 -86
  693. package/src/tests/utils/to-expose/handler/questionnaire.json +0 -154
  694. package/src/tests/utils/to-expose/handler/results/index.js +0 -6
  695. package/src/tests/utils/to-expose/handler/results/res-double.json +0 -157
  696. package/src/tests/utils/to-expose/handler/results/res-input-collected.json +0 -154
  697. package/src/tests/utils/to-expose/handler/results/res-input-edited.json +0 -157
  698. package/src/tests/utils/to-expose/handler/results/res-loop.json +0 -157
  699. package/src/tests/utils/to-expose/handler/results/res-matrix.json +0 -157
  700. package/src/tests/utils/to-expose/handler/results/res-responses.json +0 -157
  701. package/src/tests/utils/to-expose/init-questionnaire/data.json +0 -12
  702. package/src/tests/utils/to-expose/init-questionnaire/init-questionnaire.spec.js +0 -19
  703. package/src/tests/utils/to-expose/init-questionnaire/questionnaire.json +0 -129
  704. package/src/tests/utils/to-expose/init-questionnaire/result.json +0 -162
  705. package/src/tests/utils/to-expose/interpret.spec.js +0 -42
  706. package/src/tests/utils/to-expose/state/questionnaire.json +0 -61
  707. package/src/tests/utils/to-expose/state/results.js +0 -78
  708. package/src/tests/utils/to-expose/state/state.spec.js +0 -59
  709. package/src/utils/lib/alphabet.js +0 -1
  710. package/src/utils/lib/checkbox/group.js +0 -21
  711. package/src/utils/lib/checkbox/index.js +0 -1
  712. package/src/utils/lib/decorator/index.js +0 -1
  713. package/src/utils/lib/decorator/title-decorator.js +0 -16
  714. package/src/utils/lib/index.js +0 -12
  715. package/src/utils/lib/label-position.js +0 -12
  716. package/src/utils/lib/loops/bindings.js +0 -47
  717. package/src/utils/lib/loops/index.js +0 -2
  718. package/src/utils/lib/loops/shared.js +0 -43
  719. package/src/utils/lib/memo-check.js +0 -24
  720. package/src/utils/lib/options-positioning.js +0 -9
  721. package/src/utils/lib/prop-types/declarations.js +0 -22
  722. package/src/utils/lib/prop-types/index.js +0 -5
  723. package/src/utils/lib/prop-types/lines.js +0 -6
  724. package/src/utils/lib/prop-types/options.js +0 -8
  725. package/src/utils/lib/prop-types/response.js +0 -6
  726. package/src/utils/lib/prop-types/value-type.js +0 -9
  727. package/src/utils/lib/responses.js +0 -9
  728. package/src/utils/lib/style.js +0 -10
  729. package/src/utils/lib/table/index.js +0 -1
  730. package/src/utils/lib/table/roster.js +0 -18
  731. package/src/utils/lib/tooltip/build-response.js +0 -41
  732. package/src/utils/lib/tooltip/content.js +0 -52
  733. package/src/utils/lib/tooltip/index.js +0 -6
  734. package/src/utils/to-expose/handler.js +0 -99
  735. package/src/utils/to-expose/hook.js +0 -65
  736. package/src/utils/to-expose/index.js +0 -11
  737. package/src/utils/to-expose/init-questionnaire.js +0 -114
  738. package/src/utils/to-expose/interpret.js +0 -53
  739. 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/event-callbacks/on-keydown-callback.js","../src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js","../src/components/dropdown/commons/components/dropdown-container.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 '';\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}, '');\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 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,\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 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 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,\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 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\tif (management && value === null) {\r\n\t\t\tsetValue(\r\n\t\t\t\tU.getResponseByPreference(preferences)(\r\n\t\t\t\t\tU.buildLocalResponse(response, value)\r\n\t\t\t\t)\r\n\t\t\t);\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\tsetValue(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 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,\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\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={() => {\r\n\t\t\t\t\t\t\t\t\t\t\tconst update = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t[U.getResponseName(response)]: optionValue,\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\tif (hasSpecificHandler) specificHandleChange(update);\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetValue(optionValue);\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleChange({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t[U.getResponseName(response)]: optionValue,\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/>\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\nconst Label = ({ content, focused, mandatory }) => (\r\n\t<div className={classnames('lunatic-dropdown-label', { focused, mandatory })}>\r\n\t\t{content}\r\n\t</div>\r\n);\r\n\r\nLabel.defaultProps = {\r\n\tmandatory: false,\r\n};\r\n\r\nLabel.propTypes = {\r\n\tcontent: PropTypes.string.isRequired,\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 * as actions from \"../actions\";\r\n\r\nexport const BINDED_KEYS = {\r\n arrowUp: \"ArrowUp\",\r\n arrowDown: \"ArrowDown\",\r\n enter: \"Enter\",\r\n tab: \"Tab\"\r\n};\r\n\r\n/** */\r\nexport default (_, dispatch, onSelect) => key => {\r\n switch (key) {\r\n case BINDED_KEYS.arrowUp:\r\n dispatch(actions.arrowUpPressed());\r\n // dispatch(actions.showPanel());\r\n break;\r\n case BINDED_KEYS.arrowDown:\r\n dispatch(actions.arrowDownPressed());\r\n dispatch(actions.showPanel());\r\n break;\r\n case BINDED_KEYS.enter:\r\n dispatch(actions.enterPressed(onSelect));\r\n break;\r\n case BINDED_KEYS.tab:\r\n dispatch(actions.setFocused(false));\r\n dispatch(actions.hidePanel());\r\n break;\r\n default:\r\n }\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 } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport Label from './label';\r\nimport { TooltipResponse } from '../../../tooltip';\r\nimport * as U from '../../../../utils/lib';\r\nimport * as CLEAN from '../cleaner-callbacks';\r\nimport * as actions from '../actions';\r\nimport {\r\n\tonKeyDownCallback,\r\n\tonMouseDownCallback,\r\n\tBINDED_KEYS,\r\n} from '../event-callbacks';\r\n\r\n/** */\r\nconst stopAndPrevent = (e) => {\r\n\te.preventDefault();\r\n\te.stopPropagation();\r\n};\r\n\r\n/** */\r\nconst onKeyDownCallback_ = (state, dispatch, onSelect) => (e) => {\r\n\tswitch (e.key) {\r\n\t\tcase BINDED_KEYS.enter:\r\n\t\tcase BINDED_KEYS.arrowUp:\r\n\t\tcase BINDED_KEYS.arrowDown:\r\n\t\t\tstopAndPrevent(e);\r\n\t\t\tonKeyDownCallback(state, dispatch, onSelect)(e.key);\r\n\t\t\tbreak;\r\n\t\tcase BINDED_KEYS.tab:\r\n\t\t\tonKeyDownCallback(state, dispatch, onSelect)(e.key);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t}\r\n};\r\n\r\nconst getZIndex = (z) => z || 0;\r\n\r\nconst DropdownContainer = ({\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\tzIndex,\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, () => {\r\n\t\tdispatch(actions.hidePanel());\r\n\t\tdispatch(actions.setFocused(false));\r\n\t});\r\n\tuseEffect(() => {\r\n\t\tconst hook = () => {\r\n\t\t\tdispatch(actions.hidePanel());\r\n\t\t\tdispatch(actions.setFocused(false));\r\n\t\t};\r\n\t\twindow.addEventListener('mousedown', hook);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('mousedown', hook);\r\n\t\t\tCLEAN.clear(id);\r\n\t\t};\r\n\t}, [id, dispatch]);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(actions.setOptions(options));\r\n\t}, [options, dispatch]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (valueFromProps) {\r\n\t\t\tconst { option, index } = options.reduce(\r\n\t\t\t\t(a, o, i) =>\r\n\t\t\t\t\to.value === valueFromProps && a.index === -1\r\n\t\t\t\t\t\t? { index: i, option: o }\r\n\t\t\t\t\t\t: a,\r\n\t\t\t\t{ index: -1, option: {} }\r\n\t\t\t);\r\n\t\t\tdispatch(actions.setSelectedOption(option));\r\n\t\t\tdispatch(actions.setActiveOption(index));\r\n\t\t}\r\n\t}, [valueFromProps, options, dispatch]);\r\n\r\n\tconst z = getZIndex(zIndex);\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classnames(\r\n\t\t\t\t`${className} ${U.getLabelPositionClass(labelPosition)}`,\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused,\r\n\t\t\t\t\tdisabled,\r\n\t\t\t\t}\r\n\t\t\t)}\r\n\t\t\ttabIndex=\"-1\"\r\n\t\t\tid={id}\r\n\t\t\tonMouseDown={onMouseDownCallback(state, dispatch, 'id')}\r\n\t\t\tonKeyDown={onKeyDownCallback_(state, dispatch, onSelect)}\r\n\t\t\tonFocus={() => dispatch(actions.setFocused(true && !disabled))}\r\n\t\t\tonBlur={function () {\r\n\t\t\t\tdispatch(actions.setFocused(false));\r\n\t\t\t}}\r\n\t\t\tref={refs}\r\n\t\t>\r\n\t\t\t{label ? (\r\n\t\t\t\t<Label content={label} focused={focused} mandatory={mandatory} />\r\n\t\t\t) : null}\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<div\r\n\t\t\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\t\t\tstyle={{ zIndex: focused ? z + 1 : z }}\r\n\t\t\t\t\t\tclassName=\"lunatic-dropdown-container\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclassName={classnames(`lunatic-dropdown-content`, {\r\n\t\t\t\t\t\t\t\tfocused,\r\n\t\t\t\t\t\t\t\tvisible,\r\n\t\t\t\t\t\t\t\tdisabled,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{children}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\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</div>\r\n\t);\r\n};\r\n\r\nDropdownContainer.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\nDropdownContainer.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<DropdownContainer {...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-container';\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 } 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-container';\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\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\tif (management && value === null) {\r\n\t\t\tsetValue(\r\n\t\t\t\tU.getResponseByPreference(preferences)(\r\n\t\t\t\t\tU.buildLocalResponse(response, value)\r\n\t\t\t\t)\r\n\t\t\t);\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\tsetValue(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","focused","keyboardSelection","fieldsetStyle","modalityStyle","inputRef","useRef","setValues","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","optionLabel","optionValue","update","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","BINDED_KEYS","arrowUp","arrowDown","enter","tab","dispatch","actions","visible","CLEAN","stopAndPrevent","onKeyDownCallback_","state","onKeyDownCallback","getZIndex","z","DropdownContainer","className","valueFromProps","zIndex","hook","window","addEventListener","removeEventListener","a","onMouseDownCallback","array","forwardRef","ref","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","Dropdown","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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"}