@inseefr/lunatic 2.5.2-rc1-beta → 2.6.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.fr.md +186 -0
  2. package/README.md +111 -94
  3. package/lib/components/button/lunatic-button.js +10 -13
  4. package/lib/components/checkbox/checkbox-group/html/checkbox-group.js +0 -1
  5. package/lib/components/commons/components/combo-box/combo-box-content.js +2 -1
  6. package/lib/components/commons/components/combo-box/combo-box.js +94 -66
  7. package/lib/components/commons/components/combo-box/combo-box.stories.js +69 -8
  8. package/lib/components/commons/components/combo-box/panel/panel.js +0 -1
  9. package/lib/components/commons/components/combo-box/selection/LabelOrInput.js +4 -1
  10. package/lib/components/commons/components/combo-box/selection/LabelOrInput.spec.js +2 -4
  11. package/lib/components/commons/components/combo-box/selection/combo-box-label-selection.js +5 -2
  12. package/lib/components/commons/components/combo-box/selection/label-selection.js +4 -2
  13. package/lib/components/commons/components/combo-box/selection/selection.js +2 -0
  14. package/lib/components/commons/components/fab/fab.js +0 -1
  15. package/lib/components/commons/components/fieldset.js +0 -1
  16. package/lib/components/commons/components/lunatic-component-with-label.js +1 -3
  17. package/lib/components/commons/components/md-label/md-label.js +5 -1
  18. package/lib/components/commons/components/md-label/md-label.spec.js +15 -0
  19. package/lib/components/commons/components/missing/missing.js +1 -3
  20. package/lib/components/commons/components/variable-status/variable-status.js +2 -3
  21. package/lib/components/commons/create-customizable-field.js +1 -0
  22. package/lib/components/commons/icons/closed-icon.js +0 -2
  23. package/lib/components/commons/icons/cross-icon.js +0 -2
  24. package/lib/components/commons/index.js +0 -7
  25. package/lib/components/component-set/html/__snapshots__/component-set.spec.tsx.snap +124 -0
  26. package/lib/components/component-set/html/{legend/legend.js → component-set-legend.js} +4 -6
  27. package/lib/components/component-set/html/component-set-wrapper.js +16 -0
  28. package/lib/components/component-set/html/component-set.js +7 -8
  29. package/lib/components/component-set/html/component-set.spec.js +91 -0
  30. package/lib/components/component-set/lunatic-component-set.js +19 -9
  31. package/lib/components/datepicker/html/__snapshots__/datepicker.spec.tsx.snap +34 -0
  32. package/lib/components/datepicker/html/datepicker-input.js +0 -1
  33. package/lib/components/datepicker/html/datepicker.js +1 -4
  34. package/lib/components/datepicker/html/datepicker.spec.js +38 -0
  35. package/lib/components/datepicker/lunatic-datepicker.js +0 -1
  36. package/lib/components/dropdown/html/__snapshots__/dropdown.spec.tsx.snap +85 -0
  37. package/lib/components/dropdown/html/dropdown-simple/dropdown-simple.js +3 -2
  38. package/lib/components/dropdown/html/dropdown-simple/simple-label-renderer.js +0 -2
  39. package/lib/components/dropdown/html/dropdown-writable/dropdown-writable.js +4 -5
  40. package/lib/components/dropdown/html/dropdown-writable/writable-label-renderer.js +1 -4
  41. package/lib/components/dropdown/html/dropdown-writable/writable-option-renderer.js +1 -3
  42. package/lib/components/dropdown/html/dropdown.js +4 -2
  43. package/lib/components/dropdown/html/dropdown.spec.js +48 -0
  44. package/lib/components/dropdown/lunatic-dropdown.js +5 -4
  45. package/lib/components/duration/getDurationFromValue.js +0 -1
  46. package/lib/components/filter-description/component.js +0 -2
  47. package/lib/components/index.js +6 -5
  48. package/lib/components/input/html/__snapshots__/input.spec.tsx.snap +34 -0
  49. package/lib/components/input/html/input.js +4 -5
  50. package/lib/components/input/html/input.spec.js +81 -0
  51. package/lib/components/input/lunatic-input.js +4 -2
  52. package/lib/components/input-number/html/__snapshots__/input-number.spec.tsx.snap +38 -90
  53. package/lib/components/input-number/html/input-number-thousand.js +2 -0
  54. package/lib/components/input-number/html/input-number.js +3 -0
  55. package/lib/components/input-number/html/input-number.spec.js +35 -19
  56. package/lib/components/input-number/lunatic-input-number.js +2 -1
  57. package/lib/components/loop/{block-for-loop/block-for-loop.js → block-for-loop.js} +39 -64
  58. package/lib/components/loop/{commons/handle-row-button.js → loop-button.js} +4 -7
  59. package/lib/components/loop/{roster-for-loop/header.js → loop-header.js} +4 -8
  60. package/lib/components/loop/loop.js +19 -65
  61. package/lib/components/loop/roster-for-loop/roster-for-loop.js +102 -83
  62. package/lib/components/loop/{commons/get-init-length.js → utils/get-initial-nb-rows.js} +6 -5
  63. package/lib/components/{loop/roster-for-loop/body.js → lunatic-components.js} +46 -37
  64. package/lib/components/modal/html/modal.js +45 -73
  65. package/lib/components/modal/html/modal.scss +25 -42
  66. package/lib/components/modal/lunatic-modal.js +33 -9
  67. package/lib/components/modal-controls/close-or-skip.js +0 -1
  68. package/lib/components/modal-controls/modal-controls.spec.js +5 -6
  69. package/lib/components/pairwise-links/orchestrator.js +1 -4
  70. package/lib/components/pairwise-links/row.js +1 -4
  71. package/lib/components/question-explication/html/question-explication.js +0 -1
  72. package/lib/components/radio/html/radio-group-content.js +4 -3
  73. package/lib/components/radio/html/radio-group.js +4 -2
  74. package/lib/components/radio/html/radio-option.js +7 -8
  75. package/lib/components/radio/lunatic-radio-group.js +4 -2
  76. package/lib/components/roundabout/components/roundabout-it-title.js +0 -2
  77. package/lib/components/roundabout/components/roundabout-label.js +0 -2
  78. package/lib/components/roundabout/lunatic-roundabout.js +1 -4
  79. package/lib/components/roundabout/roundabout.js +0 -1
  80. package/lib/components/suggester/html/notification.js +0 -1
  81. package/lib/components/suggester/html/suggester.js +3 -3
  82. package/lib/components/suggester/idb-suggester/check-store.js +3 -5
  83. package/lib/components/suggester/idb-suggester/idb-suggester.js +4 -5
  84. package/lib/components/suggester/idb-suggester/suggester-notification.js +2 -2
  85. package/lib/components/suggester/lunatic-suggester.js +3 -1
  86. package/lib/components/suggester-loader-widget/loader-row.js +1 -4
  87. package/lib/components/suggester-loader-widget/loader.js +1 -3
  88. package/lib/components/summary/html/summary-responses.js +13 -7
  89. package/lib/components/summary/lunatic-summary.js +8 -4
  90. package/lib/components/switch/html/switch.js +0 -1
  91. package/lib/components/table/cell.js +0 -2
  92. package/lib/components/table/header.js +0 -2
  93. package/lib/components/table/row.js +0 -1
  94. package/lib/components/textarea/html/__snapshots__/textarea.spec.tsx.snap +30 -0
  95. package/lib/components/textarea/html/textarea.js +5 -6
  96. package/lib/components/textarea/html/textarea.spec.js +38 -0
  97. package/lib/components/textarea/lunatic-textarea.js +4 -2
  98. package/lib/index.js +8 -0
  99. package/lib/src/components/button/lunatic-button.d.ts +5 -3
  100. package/lib/src/components/checkbox/checkbox-boolean/html/checkbox-boolean.d.ts +2 -2
  101. package/lib/src/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.d.ts +1 -1
  102. package/lib/src/components/checkbox/checkbox-group/checkbox-group-content.d.ts +1 -1
  103. package/lib/src/components/checkbox/checkbox-group/html/checkbox-group-content.d.ts +1 -1
  104. package/lib/src/components/checkbox/checkbox-group/html/checkbox-group.d.ts +4 -4
  105. package/lib/src/components/checkbox/checkbox-group/lunatic-checkbox-group.d.ts +2 -2
  106. package/lib/src/components/checkbox/checkbox-one/html/checkbox-one.d.ts +1 -1
  107. package/lib/src/components/checkbox/checkbox-one/lunatic-checkbox-one.d.ts +1 -1
  108. package/lib/src/components/checkbox/commons/checkbox-option.d.ts +2 -2
  109. package/lib/src/components/commons/components/combo-box/combo-box-container.d.ts +1 -1
  110. package/lib/src/components/commons/components/combo-box/combo-box-content-box.d.ts +1 -1
  111. package/lib/src/components/commons/components/combo-box/combo-box-content.d.ts +1 -1
  112. package/lib/src/components/commons/components/combo-box/combo-box.d.ts +6 -5
  113. package/lib/src/components/commons/components/combo-box/combo-box.stories.d.ts +30 -2
  114. package/lib/src/components/commons/components/combo-box/combo-box.type.d.ts +1 -1
  115. package/lib/src/components/commons/components/combo-box/panel/combo-box-option.d.ts +1 -1
  116. package/lib/src/components/commons/components/combo-box/panel/panel-container.d.ts +1 -1
  117. package/lib/src/components/commons/components/combo-box/panel/panel.d.ts +2 -2
  118. package/lib/src/components/commons/components/combo-box/selection/LabelOrInput.d.ts +3 -2
  119. package/lib/src/components/commons/components/combo-box/selection/combo-box-label-selection.d.ts +2 -1
  120. package/lib/src/components/commons/components/combo-box/selection/input.d.ts +1 -1
  121. package/lib/src/components/commons/components/combo-box/selection/label-selection.d.ts +4 -3
  122. package/lib/src/components/commons/components/combo-box/selection/selection-container.d.ts +1 -1
  123. package/lib/src/components/commons/components/combo-box/selection/selection.d.ts +3 -2
  124. package/lib/src/components/commons/components/description.d.ts +1 -1
  125. package/lib/src/components/commons/components/dragger/dragger.d.ts +1 -1
  126. package/lib/src/components/commons/components/errors/errors.d.ts +1 -1
  127. package/lib/src/components/commons/components/fab/fab.d.ts +1 -1
  128. package/lib/src/components/commons/components/field-container/field-container.d.ts +1 -1
  129. package/lib/src/components/commons/components/fieldset.d.ts +3 -3
  130. package/lib/src/components/commons/components/html-table/table.d.ts +1 -1
  131. package/lib/src/components/commons/components/html-table/thead.d.ts +1 -1
  132. package/lib/src/components/commons/components/label/label.d.ts +1 -1
  133. package/lib/src/components/commons/components/lunatic-component-with-label.d.ts +2 -2
  134. package/lib/src/components/commons/components/lunatic-component-without-label.d.ts +2 -2
  135. package/lib/src/components/commons/components/md-label/link.d.ts +1 -1
  136. package/lib/src/components/commons/components/md-label/md-label.spec.d.ts +1 -0
  137. package/lib/src/components/commons/components/missing/missing.d.ts +1 -1
  138. package/lib/src/components/commons/components/orchestrated-component.d.ts +2 -2
  139. package/lib/src/components/commons/components/variable-status/variable-status.d.ts +1 -1
  140. package/lib/src/components/commons/create-customizable-field.d.ts +1 -1
  141. package/lib/src/components/commons/icons/checkbox-checked-icon.d.ts +1 -1
  142. package/lib/src/components/commons/icons/checkbox-unchecked-icon.d.ts +1 -1
  143. package/lib/src/components/commons/icons/closed-icon.d.ts +1 -1
  144. package/lib/src/components/commons/icons/cross-icon.d.ts +1 -1
  145. package/lib/src/components/commons/icons/load-icon.d.ts +1 -1
  146. package/lib/src/components/commons/icons/lunatic-icon.d.ts +1 -1
  147. package/lib/src/components/commons/icons/network-icon.d.ts +1 -1
  148. package/lib/src/components/commons/icons/on-drag-icon.d.ts +1 -1
  149. package/lib/src/components/commons/icons/opened-icon.d.ts +1 -1
  150. package/lib/src/components/commons/icons/radio-checked-icon.d.ts +1 -1
  151. package/lib/src/components/commons/icons/radio-unchecked-icon.d.ts +1 -1
  152. package/lib/src/components/commons/index.d.ts +0 -1
  153. package/lib/src/components/commons/safety-label.d.ts +1 -1
  154. package/lib/src/components/component-set/html/component-set-legend.d.ts +8 -0
  155. package/lib/src/components/component-set/html/component-set-wrapper.d.ts +6 -0
  156. package/lib/src/components/component-set/html/component-set.d.ts +5 -4
  157. package/lib/src/components/component-set/html/component-set.spec.d.ts +1 -0
  158. package/lib/src/components/component-set/lunatic-component-set.d.ts +3 -4
  159. package/lib/src/components/datepicker/html/datepicker-container.d.ts +1 -1
  160. package/lib/src/components/datepicker/html/datepicker-input.d.ts +1 -1
  161. package/lib/src/components/datepicker/html/datepicker.d.ts +3 -3
  162. package/lib/src/components/datepicker/html/datepicker.spec.d.ts +1 -0
  163. package/lib/src/components/datepicker/lunatic-datepicker.d.ts +2 -2
  164. package/lib/src/components/declarations/declaration.d.ts +1 -1
  165. package/lib/src/components/declarations/declarations-after-text.d.ts +1 -1
  166. package/lib/src/components/declarations/declarations-before-text.d.ts +1 -1
  167. package/lib/src/components/declarations/declarations-detachable.d.ts +1 -1
  168. package/lib/src/components/declarations/declarations.d.ts +1 -1
  169. package/lib/src/components/dropdown/html/dropdown-simple/dropdown-simple.d.ts +2 -2
  170. package/lib/src/components/dropdown/html/dropdown-simple/simple-label-renderer.d.ts +1 -1
  171. package/lib/src/components/dropdown/html/dropdown-simple/simple-option-renderer.d.ts +1 -1
  172. package/lib/src/components/dropdown/html/dropdown-writable/dropdown-writable.d.ts +5 -4
  173. package/lib/src/components/dropdown/html/dropdown-writable/writable-label-renderer.d.ts +1 -1
  174. package/lib/src/components/dropdown/html/dropdown-writable/writable-option-renderer.d.ts +1 -1
  175. package/lib/src/components/dropdown/html/dropdown.d.ts +4 -3
  176. package/lib/src/components/dropdown/html/dropdown.spec.d.ts +1 -0
  177. package/lib/src/components/dropdown/lunatic-dropdown.d.ts +2 -2
  178. package/lib/src/components/duration/duration.d.ts +1 -1
  179. package/lib/src/components/duration/durationInput.d.ts +1 -1
  180. package/lib/src/components/duration/formatDuration.d.ts +1 -1
  181. package/lib/src/components/duration/getDurationFromValue.d.ts +1 -1
  182. package/lib/src/components/duration/index.d.ts +1 -1
  183. package/lib/src/components/filter-description/component.d.ts +2 -2
  184. package/lib/src/components/index.d.ts +4 -4
  185. package/lib/src/components/input/html/input.d.ts +4 -3
  186. package/lib/src/components/input/html/input.spec.d.ts +1 -0
  187. package/lib/src/components/input/lunatic-input.d.ts +1 -1
  188. package/lib/src/components/input-number/html/input-number-thousand.d.ts +2 -1
  189. package/lib/src/components/input-number/html/input-number.d.ts +3 -2
  190. package/lib/src/components/input-number/lunatic-input-number.d.ts +1 -1
  191. package/lib/src/components/loop/{block-for-loop/block-for-loop.d.ts → block-for-loop.d.ts} +6 -4
  192. package/lib/src/components/loop/loop-button.d.ts +7 -0
  193. package/lib/src/components/loop/loop-header.d.ts +9 -0
  194. package/lib/src/components/loop/loop.d.ts +2 -3
  195. package/lib/src/components/loop/roster-for-loop/roster-for-loop.d.ts +7 -5
  196. package/lib/src/components/loop/utils/get-initial-nb-rows.d.ts +4 -0
  197. package/lib/src/components/lunatic-components.d.ts +13 -0
  198. package/lib/src/components/modal/html/modal.d.ts +10 -13
  199. package/lib/src/components/modal/lunatic-modal.d.ts +2 -2
  200. package/lib/src/components/modal-controls/close-or-skip.d.ts +1 -1
  201. package/lib/src/components/modal-controls/modal-container.d.ts +1 -1
  202. package/lib/src/components/modal-controls/modal-controls.d.ts +2 -2
  203. package/lib/src/components/pairwise-links/orchestrator.d.ts +1 -1
  204. package/lib/src/components/pairwise-links/pairwise-links.d.ts +1 -1
  205. package/lib/src/components/pairwise-links/row.d.ts +1 -1
  206. package/lib/src/components/question-explication/html/question-explication.d.ts +1 -1
  207. package/lib/src/components/question-explication/lunatic-question-explication.d.ts +1 -1
  208. package/lib/src/components/radio/html/radio-group-content.d.ts +3 -2
  209. package/lib/src/components/radio/html/radio-group.d.ts +3 -2
  210. package/lib/src/components/radio/html/radio-option.d.ts +3 -2
  211. package/lib/src/components/roundabout/components/roundabout-it-title.d.ts +3 -3
  212. package/lib/src/components/roundabout/components/roundabout-label.d.ts +3 -3
  213. package/lib/src/components/roundabout/lunatic-roundabout.d.ts +1 -1
  214. package/lib/src/components/roundabout/roundabout.d.ts +2 -2
  215. package/lib/src/components/sequence/html/sequence.d.ts +1 -1
  216. package/lib/src/components/sequence/lunatic-sequence.d.ts +2 -2
  217. package/lib/src/components/suggester/html/notification.d.ts +2 -2
  218. package/lib/src/components/suggester/html/suggester.d.ts +6 -5
  219. package/lib/src/components/suggester/idb-suggester/check-store.d.ts +1 -1
  220. package/lib/src/components/suggester/idb-suggester/idb-suggester.d.ts +3 -3
  221. package/lib/src/components/suggester/idb-suggester/suggester-notification.d.ts +1 -1
  222. package/lib/src/components/suggester/idb-suggester/suggester-status.d.ts +1 -1
  223. package/lib/src/components/suggester/lunatic-suggester.d.ts +2 -2
  224. package/lib/src/components/suggester/searching/create-searching.d.ts +1 -1
  225. package/lib/src/components/suggester-loader-widget/loader-row.d.ts +1 -1
  226. package/lib/src/components/suggester-loader-widget/loader.d.ts +1 -1
  227. package/lib/src/components/suggester-loader-widget/tools/action-tool.d.ts +1 -1
  228. package/lib/src/components/suggester-loader-widget/tools/tools.d.ts +1 -1
  229. package/lib/src/components/suggester-loader-widget/widget.d.ts +1 -1
  230. package/lib/src/components/summary/html/summary-container.d.ts +1 -1
  231. package/lib/src/components/summary/html/summary-responses.d.ts +3 -1
  232. package/lib/src/components/summary/html/summary-title.d.ts +1 -1
  233. package/lib/src/components/summary/lunatic-summary.d.ts +3 -2
  234. package/lib/src/components/switch/html/switch.d.ts +3 -3
  235. package/lib/src/components/switch/lunatic-switch.d.ts +1 -1
  236. package/lib/src/components/table/cell.d.ts +1 -1
  237. package/lib/src/components/table/header.d.ts +1 -1
  238. package/lib/src/components/table/lunatic-table.d.ts +1 -1
  239. package/lib/src/components/table/row.d.ts +1 -1
  240. package/lib/src/components/table/table-orchestrator.d.ts +1 -1
  241. package/lib/src/components/textarea/html/textarea.d.ts +4 -3
  242. package/lib/src/components/textarea/html/textarea.spec.d.ts +1 -0
  243. package/lib/src/components/textarea/lunatic-textarea.d.ts +1 -1
  244. package/lib/src/components/type.d.ts +9 -6
  245. package/lib/src/i18n/build-dictionary.d.ts +1 -1
  246. package/lib/src/index.d.ts +1 -0
  247. package/lib/src/use-lunatic/actions.d.ts +4 -8
  248. package/lib/src/use-lunatic/commons/calculated-variables.d.ts +1 -1
  249. package/lib/src/use-lunatic/commons/check-loops.d.ts +1 -1
  250. package/lib/src/use-lunatic/commons/check-pager.d.ts +1 -1
  251. package/lib/src/use-lunatic/commons/compile-controls.d.ts +1 -1
  252. package/lib/src/use-lunatic/commons/compose.d.ts +1 -1
  253. package/lib/src/use-lunatic/commons/create-map-pages.d.ts +2 -2
  254. package/lib/src/use-lunatic/commons/execute-condition-filter.d.ts +1 -1
  255. package/lib/src/use-lunatic/commons/execute-expression/create-execute-expression.d.ts +1 -1
  256. package/lib/src/use-lunatic/commons/execute-expression/create-refresh-calculated.d.ts +2 -2
  257. package/lib/src/use-lunatic/commons/execute-expression/execute-expression.d.ts +3 -3
  258. package/lib/src/use-lunatic/commons/execute-expression/get-safety-expression.d.ts +1 -1
  259. package/lib/src/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +5 -2
  260. package/lib/src/use-lunatic/commons/fill-components/fill-component-value.d.ts +1 -1
  261. package/lib/src/use-lunatic/commons/fill-components/fill-components.d.ts +15 -10
  262. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +38 -1
  263. package/lib/src/use-lunatic/commons/fill-components/fill-management.d.ts +1 -1
  264. package/lib/src/use-lunatic/commons/fill-components/fill-missing-response.d.ts +1 -1
  265. package/lib/src/use-lunatic/commons/fill-components/fill-pagination.d.ts +1 -1
  266. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +62 -33
  267. package/lib/src/use-lunatic/commons/get-compatible-vtl-expression.d.ts +1 -1
  268. package/lib/src/use-lunatic/commons/get-component-value/get-component-value.d.ts +1 -1
  269. package/lib/src/use-lunatic/commons/get-components-from-state.d.ts +1 -2
  270. package/lib/src/use-lunatic/commons/get-data.d.ts +1 -1
  271. package/lib/src/use-lunatic/commons/get-errors-without-empty-value.d.ts +1 -1
  272. package/lib/src/use-lunatic/commons/getOverview.d.ts +1 -1
  273. package/lib/src/use-lunatic/commons/is-First-last-page.d.ts +1 -1
  274. package/lib/src/use-lunatic/commons/is-paginated-loop.d.ts +1 -1
  275. package/lib/src/use-lunatic/commons/is-roundabout.d.ts +1 -1
  276. package/lib/src/use-lunatic/commons/page-navigation.d.ts +2 -2
  277. package/lib/src/use-lunatic/commons/page-tag.d.ts +1 -1
  278. package/lib/src/use-lunatic/commons/page.d.ts +2 -2
  279. package/lib/src/use-lunatic/commons/use-components-from-state.d.ts +2 -2
  280. package/lib/src/use-lunatic/hooks/use-loop-variables.d.ts +1 -1
  281. package/lib/src/use-lunatic/lunatic-context.d.ts +1 -1
  282. package/lib/src/use-lunatic/reducer/commons/auto-explore-loop.d.ts +1 -1
  283. package/lib/src/use-lunatic/reducer/commons/is-loop-component.d.ts +3 -3
  284. package/lib/src/use-lunatic/reducer/commons/validate-condition-filter.d.ts +1 -1
  285. package/lib/src/use-lunatic/reducer/overview/overview-on-change.d.ts +1 -1
  286. package/lib/src/use-lunatic/reducer/overview/overview-on-init.d.ts +2 -2
  287. package/lib/src/use-lunatic/reducer/reduce-go-next-page.d.ts +2 -4
  288. package/lib/src/use-lunatic/reducer/reduce-go-next-page.spec.d.ts +1 -0
  289. package/lib/src/use-lunatic/reducer/reduce-go-previous-page.d.ts +1 -1
  290. package/lib/src/use-lunatic/reducer/reduce-go-previous-page.spec.d.ts +1 -0
  291. package/lib/src/use-lunatic/reducer/reduce-go-to-page.d.ts +2 -2
  292. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.d.ts +2 -2
  293. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.d.ts +2 -2
  294. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.d.ts +2 -2
  295. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-missing.d.ts +2 -2
  296. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-resizing.d.ts +2 -2
  297. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.d.ts +1 -1
  298. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.d.ts +1 -1
  299. package/lib/src/use-lunatic/reducer/reduce-on-init.d.ts +2 -2
  300. package/lib/src/use-lunatic/reducer/reduce-on-set-waiting.d.ts +2 -2
  301. package/lib/src/use-lunatic/reducer/reduce-update-state.d.ts +2 -2
  302. package/lib/src/use-lunatic/reducer/reducer.d.ts +2 -2
  303. package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-component-control.d.ts +2 -2
  304. package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-roundabout-control.d.ts +2 -2
  305. package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-simple-control.d.ts +2 -2
  306. package/lib/src/use-lunatic/replace-component-sequence.d.ts +3 -1
  307. package/lib/src/use-lunatic/type-source.d.ts +3 -1
  308. package/lib/src/use-lunatic/type.d.ts +3 -3
  309. package/lib/src/use-lunatic/use-lunatic.d.ts +21 -15
  310. package/lib/src/use-lunatic/use-suggesters.d.ts +1 -1
  311. package/lib/src/utils/array.d.ts +8 -0
  312. package/lib/src/utils/dom.d.ts +14 -0
  313. package/lib/src/utils/get-component-value.d.ts +1 -1
  314. package/lib/src/utils/get-component-value.test.d.ts +1 -0
  315. package/lib/src/utils/is-element.d.ts +1 -1
  316. package/lib/src/utils/number.d.ts +5 -0
  317. package/lib/src/utils/number.spec.d.ts +1 -0
  318. package/lib/src/utils/store-tools/initStore.d.ts +1 -1
  319. package/lib/src/utils/suggester-workers/append-to-index/create-append-task.d.ts +1 -1
  320. package/lib/src/utils/suggester-workers/searching/compute-score.d.ts +1 -1
  321. package/lib/stories/checkbox-one/source.json +2 -2
  322. package/lib/stories/component-set/component-set.stories.js +9 -9
  323. package/lib/stories/component-set/{data2.json → data-roundabout.json} +1 -1
  324. package/lib/stories/component-set/data.json +8 -1
  325. package/lib/stories/component-set/source-loop.json +308 -0
  326. package/lib/stories/component-set/source-roundabout.json +434 -0
  327. package/lib/stories/component-set/source.json +16 -2
  328. package/lib/stories/disabled/data.json +32 -0
  329. package/lib/{components/commons/components/combo-box/state-management/reduce-on-keydown/on-end.js → stories/disabled/disabled.stories.js} +25 -12
  330. package/lib/stories/disabled/source.json +382 -0
  331. package/lib/stories/input/source-with-question.json +9 -3
  332. package/lib/stories/input/source.json +6 -0
  333. package/lib/stories/loop/source-paginated.json +2 -2
  334. package/lib/stories/overview/source.json +1 -1
  335. package/lib/stories/overview/sourceWithHierarchy.json +10 -2
  336. package/lib/stories/pairwise/links-componentset.json +292 -0
  337. package/lib/stories/pairwise/pairwise-links.stories.js +11 -2
  338. package/lib/stories/question-explication/source.json +16 -16
  339. package/lib/stories/questionnaires/logement/source-sum.json +31805 -34611
  340. package/lib/stories/questionnaires/recensement/source.json +2 -2
  341. package/lib/stories/questionnaires/simpsons/simpsons.stories.js +4 -4
  342. package/lib/stories/questionnaires-test/V2_DeclarationsSimples.json +963 -847
  343. package/lib/stories/questionnaires-test/V2_QuestSimple_Boucles.json +4350 -4090
  344. package/lib/stories/suggester/simple.json +4 -0
  345. package/lib/stories/summary/source.json +55 -40
  346. package/lib/stories/utils/orchestrator.js +11 -22
  347. package/lib/tests/utils/lunatic.d.ts +16 -2
  348. package/lib/use-lunatic/commons/execute-expression/create-execute-expression.js +13 -45
  349. package/lib/use-lunatic/commons/execute-expression/execute-expression.js +0 -1
  350. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +5 -1
  351. package/lib/use-lunatic/commons/fill-components/fill-components.js +10 -2
  352. package/lib/use-lunatic/commons/fill-components/fill-from-state.js +3 -0
  353. package/lib/use-lunatic/commons/fill-components/fill-specific-expression.js +66 -21
  354. package/lib/use-lunatic/commons/get-component-value/get-component-value.js +1 -3
  355. package/lib/use-lunatic/commons/page.js +6 -0
  356. package/lib/use-lunatic/hooks/use-loop-variables.js +1 -1
  357. package/lib/use-lunatic/reducer/reduce-go-next-page.js +10 -10
  358. package/lib/use-lunatic/reducer/reduce-go-next-page.spec.js +13 -0
  359. package/lib/use-lunatic/reducer/reduce-go-previous-page.js +3 -3
  360. package/lib/use-lunatic/reducer/reduce-go-previous-page.spec.js +14 -0
  361. package/lib/use-lunatic/reducer/reduce-go-to-page.js +3 -8
  362. package/lib/use-lunatic/reducer/reduce-handle-change/__mocks__/source-cleaning-loop.json +790 -924
  363. package/lib/use-lunatic/reducer/reducer.js +2 -2
  364. package/lib/use-lunatic/use-lunatic.js +5 -2
  365. package/lib/use-lunatic/use-lunatic.test.js +26 -0
  366. package/lib/utils/array.js +33 -0
  367. package/lib/utils/dom.js +27 -0
  368. package/lib/utils/get-component-value.js +13 -11
  369. package/lib/utils/get-component-value.test.js +57 -0
  370. package/lib/utils/number.js +30 -0
  371. package/lib/utils/number.spec.js +11 -0
  372. package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +0 -2
  373. package/package.json +9 -3
  374. package/lib/components/commons/components/combo-box/state-management/actions.js +0 -79
  375. package/lib/components/commons/components/combo-box/state-management/index.js +0 -25
  376. package/lib/components/commons/components/combo-box/state-management/reduce-on-init.js +0 -38
  377. package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-down.js +0 -30
  378. package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-up.js +0 -30
  379. package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-enter.js +0 -19
  380. package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-escape.js +0 -18
  381. package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-home.js +0 -23
  382. package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-tab.js +0 -18
  383. package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/reduce-on-keydown.js +0 -40
  384. package/lib/components/commons/components/combo-box/state-management/reducer.js +0 -53
  385. package/lib/components/commons/create-row-orchestrator.js +0 -58
  386. package/lib/components/component-set/html/component-set-component-container.js +0 -20
  387. package/lib/components/component-set/html/component-set-components.js +0 -45
  388. package/lib/components/component-set/html/legend/index.js +0 -13
  389. package/lib/components/component-set/index.js +0 -13
  390. package/lib/components/loop/block-for-loop/block-for-loop-ochestrator.js +0 -12
  391. package/lib/components/loop/block-for-loop/index.js +0 -13
  392. package/lib/components/loop/block-for-loop/row.js +0 -56
  393. package/lib/components/loop/commons/index.js +0 -20
  394. package/lib/components/loop/commons/row-component.js +0 -72
  395. package/lib/components/loop/index.js +0 -13
  396. package/lib/components/loop/roster-for-loop/index.js +0 -13
  397. package/lib/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +0 -12
  398. package/lib/components/loop/roster-for-loop/roster-table.js +0 -50
  399. package/lib/components/loop/roster-for-loop/row.js +0 -85
  400. package/lib/src/components/commons/components/combo-box/state-management/actions.d.ts +0 -78
  401. package/lib/src/components/commons/components/combo-box/state-management/index.d.ts +0 -9
  402. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-init.d.ts +0 -4
  403. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-down.d.ts +0 -2
  404. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-up.d.ts +0 -2
  405. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-end.d.ts +0 -2
  406. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-enter.d.ts +0 -2
  407. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-escape.d.ts +0 -2
  408. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-home.d.ts +0 -2
  409. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-tab.d.ts +0 -2
  410. package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/reduce-on-keydown.d.ts +0 -9
  411. package/lib/src/components/commons/components/combo-box/state-management/reducer.d.ts +0 -3
  412. package/lib/src/components/commons/create-row-orchestrator.d.ts +0 -32
  413. package/lib/src/components/component-set/html/component-set-component-container.d.ts +0 -6
  414. package/lib/src/components/component-set/html/component-set-components.d.ts +0 -7
  415. package/lib/src/components/component-set/html/legend/index.d.ts +0 -1
  416. package/lib/src/components/component-set/html/legend/legend.d.ts +0 -8
  417. package/lib/src/components/component-set/index.d.ts +0 -1
  418. package/lib/src/components/loop/block-for-loop/block-for-loop-ochestrator.d.ts +0 -51
  419. package/lib/src/components/loop/block-for-loop/index.d.ts +0 -1
  420. package/lib/src/components/loop/block-for-loop/row.d.ts +0 -23
  421. package/lib/src/components/loop/commons/get-init-length.d.ts +0 -2
  422. package/lib/src/components/loop/commons/handle-row-button.d.ts +0 -7
  423. package/lib/src/components/loop/commons/index.d.ts +0 -2
  424. package/lib/src/components/loop/commons/row-component.d.ts +0 -9
  425. package/lib/src/components/loop/index.d.ts +0 -1
  426. package/lib/src/components/loop/roster-for-loop/body.d.ts +0 -12
  427. package/lib/src/components/loop/roster-for-loop/header.d.ts +0 -9
  428. package/lib/src/components/loop/roster-for-loop/index.d.ts +0 -1
  429. package/lib/src/components/loop/roster-for-loop/roster-for-loop-orchestrator.d.ts +0 -51
  430. package/lib/src/components/loop/roster-for-loop/roster-table.d.ts +0 -13
  431. package/lib/src/components/loop/roster-for-loop/row.d.ts +0 -24
  432. package/lib/stories/component-set/source1.json +0 -287
  433. package/lib/stories/component-set/source2.json +0 -413
  434. /package/lib/components/commons/components/combo-box/{state-management/reduce-on-keydown/keyboard-key-codes.js → keyboard-key-codes.js} +0 -0
  435. /package/lib/src/components/commons/components/combo-box/{state-management/reduce-on-keydown/keyboard-key-codes.d.ts → keyboard-key-codes.d.ts} +0 -0
  436. /package/lib/stories/component-set/{data1.json → data-loop.json} +0 -0
@@ -3,12 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _htmlTable = require("../../commons/components/html-table");
9
- var _rosterForLoopOrchestrator = _interopRequireDefault(require("./roster-for-loop-orchestrator"));
6
+ exports.LunaticComponents = LunaticComponents;
7
+ var _react = require("react");
8
+ var lunaticComponents = _interopRequireWildcard(require("./index"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
12
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
@@ -17,38 +15,49 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
17
15
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
16
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
19
17
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
- function Body(_ref) {
21
- var id = _ref.id,
22
- components = _ref.components,
23
- nbRows = _ref.nbRows,
24
- executeExpression = _ref.executeExpression,
25
- handleChange = _ref.handleChange,
26
- valueMap = _ref.value,
27
- missing = _ref.missing,
28
- disabled = _ref.disabled;
29
- var handleChangeRow = (0, _react.useCallback)(function (response, value, args) {
30
- handleChange(response, value, _objectSpread(_objectSpread({}, args), {}, {
31
- loop: true,
32
- length: nbRows
33
- }));
34
- }, [nbRows, handleChange]);
35
- if (nbRows <= 0) {
36
- return null;
37
- }
38
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_htmlTable.Tbody, {
39
- id: id,
40
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_rosterForLoopOrchestrator["default"], {
41
- id: "roster-".concat(id),
42
- components: components,
43
- nbRows: nbRows,
44
- handleChange: handleChangeRow,
45
- executeExpression: executeExpression,
46
- valueMap: valueMap,
47
- missing: missing,
48
- preferences: ['COLLECTED'],
49
- disabled: disabled
18
+ /**
19
+ * Entry point for orchestrators, this component display the list of fields
20
+ */
21
+ function LunaticComponents(_ref) {
22
+ var components = _ref.components,
23
+ autoFocusKey = _ref.autoFocusKey,
24
+ componentProps = _ref.componentProps,
25
+ _ref$wrapper = _ref.wrapper,
26
+ wrapper = _ref$wrapper === void 0 ? function (_ref2) {
27
+ var children = _ref2.children;
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
29
+ className: "lunatic lunatic-component",
30
+ children: children
31
+ });
32
+ } : _ref$wrapper;
33
+ var wrapperRef = (0, _react.useRef)(null);
34
+ var hasComponents = components.length > 0;
35
+ (0, _react.useEffect)(function () {
36
+ var _wrapperRef$current;
37
+ if (!autoFocusKey || !hasComponents || !wrapperRef.current) {
38
+ return;
39
+ }
40
+ var firstFocusableElement = (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
41
+ // The first element can be focusable
42
+ if (firstFocusableElement) {
43
+ return firstFocusableElement.focus();
44
+ }
45
+ }, [autoFocusKey, hasComponents]);
46
+ var WrapperComponent = autoFocusKey ? 'div' : _react.Fragment;
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrapperComponent, {
48
+ ref: WrapperComponent === _react.Fragment ? undefined : wrapperRef,
49
+ children: components.map(function (component, k) {
50
+ var props = _objectSpread(_objectSpread({}, component), componentProps === null || componentProps === void 0 ? void 0 : componentProps(component));
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
52
+ children: wrapper(_objectSpread({
53
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LunaticComponent, _objectSpread({}, props))
54
+ }, props))
55
+ }, 'id' in component ? component.id : "index-".concat(k));
50
56
  })
51
57
  });
52
58
  }
53
- var _default = Body;
54
- exports["default"] = _default;
59
+ function LunaticComponent(props) {
60
+ // Component is too dynamic to be typed
61
+ var Component = lunaticComponents[props.componentType];
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({}, props));
63
+ }
@@ -3,86 +3,58 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
7
- var _react = require("react");
8
- var _commons = require("../../commons");
6
+ exports.Modal = void 0;
9
7
  var _reactDom = require("react-dom");
10
- require("./modal.scss");
11
8
  var _button = _interopRequireDefault(require("../../button"));
9
+ var _commons = require("../../commons");
10
+ require("./modal.scss");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
- function Modal(props) {
15
- var id = props.id,
16
- label = props.label,
17
- description = props.description,
18
- goNextPage = props.goNextPage,
19
- goPreviousPage = props.goPreviousPage;
20
- var first = (0, _react.useRef)(null);
21
- var last = (0, _react.useRef)(null);
22
- (0, _react.useEffect)(function () {
23
- var _first$current;
24
- var focusOnInit = first === null || first === void 0 || (_first$current = first.current) === null || _first$current === void 0 ? void 0 : _first$current.lastElementChild;
25
- focusOnInit.focus();
26
- }, [first]);
27
- var onKeyDown = (0, _react.useCallback)(function (e) {
28
- var _first$current2, _last$current;
29
- var firstButtonToFocus = first === null || first === void 0 || (_first$current2 = first.current) === null || _first$current2 === void 0 ? void 0 : _first$current2.lastElementChild;
30
- var lastButtonToFocus = last === null || last === void 0 || (_last$current = last.current) === null || _last$current === void 0 ? void 0 : _last$current.lastElementChild;
31
- if (e.key === 'Tab') {
32
- if (e.shiftKey) {
33
- if (document.activeElement === firstButtonToFocus) {
34
- lastButtonToFocus.focus();
35
- e.nativeEvent.preventDefault();
36
- }
37
- } else if (document.activeElement === lastButtonToFocus) {
38
- firstButtonToFocus.focus();
39
- e.nativeEvent.preventDefault();
40
- }
41
- }
42
- }, [first, last]);
43
- var handleNextClick = (0, _react.useCallback)(function () {
44
- goNextPage();
45
- }, [goNextPage]);
46
- var handlePreviousClick = (0, _react.useCallback)(function () {
47
- goPreviousPage();
48
- }, [goPreviousPage]);
13
+ function ModalPure(_ref) {
14
+ var id = _ref.id,
15
+ label = _ref.label,
16
+ description = _ref.description,
17
+ onClose = _ref.onClose,
18
+ onCancel = _ref.onCancel,
19
+ onClick = _ref.onClick,
20
+ dialogRef = _ref.dialogRef;
49
21
  return /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/(0, _jsxRuntime.jsx)("dialog", {
22
+ onClose: onClose,
23
+ onCancel: onCancel,
50
24
  className: "lunatic-modal",
51
- open: true,
52
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
- className: "modal-content",
54
- onKeyDown: onKeyDown,
55
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
56
- id: id,
57
- className: "lunatic-modal-container",
58
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
59
- className: "close-button",
60
- ref: first,
61
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button["default"], {
62
- onClick: handlePreviousClick,
63
- children: "fermer x"
64
- })
65
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
66
- className: "modal-message",
67
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
68
- children: label
69
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
70
- children: description
71
- })]
72
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
73
- className: "cancel-confirm-buttons",
74
- ref: last,
75
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button["default"], {
76
- onClick: handlePreviousClick,
77
- children: "Annuler"
78
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button["default"], {
79
- onClick: handleNextClick,
80
- children: "Je confirme"
81
- })]
25
+ ref: dialogRef,
26
+ id: id,
27
+ onClick: onClick,
28
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("form", {
29
+ method: "dialog",
30
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
31
+ className: "lunatic-modal_title",
32
+ children: label
33
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
34
+ className: "lunatic-modal_description",
35
+ children: description
36
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
37
+ className: "lunatic-modal_buttons",
38
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button["default"], {
39
+ type: "submit",
40
+ value: "default",
41
+ children: "Je confirme"
42
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button["default"], {
43
+ type: "submit",
44
+ value: "cancel",
45
+ children: "Annuler"
46
+ })]
47
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_button["default"], {
48
+ type: "submit",
49
+ value: "cancel",
50
+ className: "lunatic-modal_close",
51
+ children: ["fermer ", /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
52
+ "aria-hidden": true,
53
+ children: "x"
82
54
  })]
83
- })
55
+ })]
84
56
  })
85
57
  }), document.body);
86
58
  }
87
- var _default = (0, _commons.createCustomizableLunaticField)(Modal, 'Modal');
88
- exports["default"] = _default;
59
+ var Modal = (0, _commons.createCustomizableLunaticField)(ModalPure, 'Modal');
60
+ exports.Modal = Modal;
@@ -1,43 +1,26 @@
1
+ .lunatic-modal::backdrop {
2
+ background-color: rgba(50, 50, 50, 0.5);
3
+ }
1
4
  .lunatic-modal {
2
- position: fixed;
3
- top: 0;
4
- left: 0;
5
- width: 100%;
6
- height: 100%;
7
- background-color: rgba(50, 50, 50, 0.5);
8
- z-index: 101;
9
-
10
- .modal-content {
11
- background-color: snow;
12
- height: fit-content;
13
- width: 50%;
14
- margin: auto;
15
- padding: 0.5rem;
16
- margin-top: 38vh;
17
- display: flex;
18
- flex-direction: column;
19
- border-radius: 8px;
20
- overflow-wrap: break-word;
21
- .lunatic-modal-container {
22
- .close-button {
23
- color: blue;
24
- display: flex;
25
- justify-content: right;
26
- }
27
- }
28
- .body {
29
- color: black;
30
- font-size: 16px;
31
- font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
32
- }
33
-
34
- .modal-buttons {
35
- align-self: end;
36
- margin: 0 0.2em 0.2em 0;
37
- :first-child {
38
- margin-right: 0.5em;
39
- }
40
- }
41
- }
42
- }
43
-
5
+ background-color: snow;
6
+ height: fit-content;
7
+ flex-direction: column;
8
+ border-radius: 8px;
9
+ overflow-wrap: break-word;
10
+ position: relative;
11
+ width: max-content;
12
+ min-width: 400px;
13
+ max-width: calc(100vw - 2rem);
14
+ padding: 0.5rem;
15
+ }
16
+ .lunatic-modal_buttons {
17
+ display: flex;
18
+ flex-direction: row-reverse;
19
+ gap: .5rem;
20
+ }
21
+ .lunatic-modal_close {
22
+ position: absolute;
23
+ top: .5rem;
24
+ right: .5rem;
25
+ align-self: flex-end;
26
+ }
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _modal = _interopRequireDefault(require("./html/modal"));
7
+ var _react = require("react");
8
+ var _dom = require("../../utils/dom");
8
9
  var _lunaticComponentWithoutLabel = _interopRequireDefault(require("../commons/components/lunatic-component-without-label"));
10
+ var _modal = require("./html/modal");
9
11
  var _jsxRuntime = require("react/jsx-runtime");
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
13
  function empty() {}
@@ -13,24 +15,46 @@ function LunaticModal(props) {
13
15
  var id = props.id,
14
16
  label = props.label,
15
17
  description = props.description,
16
- goToPage = props.goToPage,
17
- page = props.page,
18
18
  goNextPage = props.goNextPage,
19
19
  goPreviousPage = props.goPreviousPage;
20
+ var dialogRef = (0, _react.useRef)(null);
21
+ (0, _react.useEffect)(function () {
22
+ var _dialogRef$current;
23
+ // Browser behaviour is different for dialog displayed with this API, it creates de dialog with backdrop
24
+ (_dialogRef$current = dialogRef.current) === null || _dialogRef$current === void 0 ? void 0 : _dialogRef$current.showModal();
25
+ }, []);
26
+ var handleClose = function handleClose() {
27
+ var _dialogRef$current2;
28
+ // A cancel button was pressed
29
+ if (((_dialogRef$current2 = dialogRef.current) === null || _dialogRef$current2 === void 0 ? void 0 : _dialogRef$current2.returnValue) === 'cancel') {
30
+ handleCancel();
31
+ return;
32
+ }
33
+ goNextPage();
34
+ };
35
+ var handleCancel = function handleCancel() {
36
+ goPreviousPage();
37
+ };
38
+ var handleDialogClick = function handleDialogClick(e) {
39
+ // Cancel the modal on backdrop blick
40
+ if (!(0, _dom.isEventInRect)(e, dialogRef.current.getBoundingClientRect())) {
41
+ handleCancel();
42
+ }
43
+ };
20
44
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_lunaticComponentWithoutLabel["default"], {
21
45
  id: id,
22
46
  label: label,
23
47
  handleChange: empty,
24
48
  value: undefined,
25
49
  description: description,
26
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_modal["default"], {
50
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_modal.Modal, {
51
+ dialogRef: dialogRef,
52
+ onClose: handleClose,
53
+ onCancel: handleCancel,
54
+ onClick: handleDialogClick,
27
55
  id: id,
28
56
  label: label,
29
- page: page,
30
- description: description,
31
- goToPage: goToPage,
32
- goNextPage: goNextPage,
33
- goPreviousPage: goPreviousPage
57
+ description: description
34
58
  })
35
59
  });
36
60
  }
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _i18n = _interopRequireDefault(require("../../i18n"));
9
8
  var _button = _interopRequireDefault(require("../button"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _react = _interopRequireDefault(require("react"));
4
- var _react2 = require("@testing-library/react");
3
+ var _react = require("@testing-library/react");
5
4
  var _modalControls = _interopRequireDefault(require("./modal-controls"));
6
5
  var _vitest = require("vitest");
7
6
  var _typeSource = require("../../use-lunatic/type-source");
@@ -24,7 +23,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
24
23
  }]
25
24
  };
26
25
  var goNext = _vitest.vi.fn();
27
- var _render = (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_modalControls["default"], {
26
+ var _render = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_modalControls["default"], {
28
27
  errors: errors,
29
28
  goNext: goNext,
30
29
  onClose: function onClose() {}
@@ -35,7 +34,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
35
34
  });
36
35
  (0, _vitest.it)('should render correctly when there are no errors', function () {
37
36
  var goNext = _vitest.vi.fn();
38
- var _render2 = (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_modalControls["default"], {
37
+ var _render2 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_modalControls["default"], {
39
38
  errors: {},
40
39
  goNext: goNext,
41
40
  onClose: function onClose() {}
@@ -60,13 +59,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
60
59
  }]
61
60
  };
62
61
  var goNext = _vitest.vi.fn();
63
- var _render3 = (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_modalControls["default"], {
62
+ var _render3 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_modalControls["default"], {
64
63
  errors: errors,
65
64
  goNext: goNext,
66
65
  onClose: function onClose() {}
67
66
  })),
68
67
  getByText = _render3.getByText;
69
- _react2.fireEvent.click(getByText('Ignore'));
68
+ _react.fireEvent.click(getByText('Ignore'));
70
69
  (0, _vitest.expect)(goNext).toHaveBeenCalled();
71
70
  });
72
71
  });
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("react");
9
8
  var _row = _interopRequireDefault(require("./row"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
11
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
13
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("react");
9
8
  var _commons = require("../commons");
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
10
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
11
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
12
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -48,6 +48,5 @@ function QuestionExplication(_ref) {
48
48
  })]
49
49
  });
50
50
  }
51
- ;
52
51
  var _default = (0, _commons.createCustomizableLunaticField)(QuestionExplication, 'QuestionExplication');
53
52
  exports["default"] = _default;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _radioOption = _interopRequireDefault(require("./radio-option"));
9
8
  var _commons = require("../../commons");
10
9
  var _getShortcutKey = require("../../checkbox/commons/getShortcutKey");
@@ -20,7 +19,8 @@ function RadioGroupContent(_ref) {
20
19
  _ref$checkboxStyle = _ref.checkboxStyle,
21
20
  checkboxStyle = _ref$checkboxStyle === void 0 ? false : _ref$checkboxStyle,
22
21
  shortcut = _ref.shortcut,
23
- disabled = _ref.disabled;
22
+ disabled = _ref.disabled,
23
+ readOnly = _ref.readOnly;
24
24
  var onKeyDown = (0, _commons.useOptionsKeydown)(options, onClick);
25
25
  var maxIndex = options.length;
26
26
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
@@ -42,7 +42,8 @@ function RadioGroupContent(_ref) {
42
42
  description: description,
43
43
  codeModality: shortcut ? codeModality : undefined,
44
44
  shortcut: shortcut,
45
- disabled: disabled
45
+ disabled: disabled,
46
+ readOnly: readOnly
46
47
  }, radioId);
47
48
  })
48
49
  });
@@ -21,7 +21,8 @@ function RadioGroup(_ref) {
21
21
  errors = _ref.errors,
22
22
  className = _ref.className,
23
23
  shortcut = _ref.shortcut,
24
- disabled = _ref.disabled;
24
+ disabled = _ref.disabled,
25
+ readOnly = _ref.readOnly;
25
26
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_commons.Fieldset, {
26
27
  className: className,
27
28
  legend: label,
@@ -33,7 +34,8 @@ function RadioGroup(_ref) {
33
34
  checkboxStyle: checkboxStyle,
34
35
  options: options,
35
36
  shortcut: shortcut,
36
- disabled: disabled
37
+ disabled: disabled,
38
+ readOnly: readOnly
37
39
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_commons.Errors, {
38
40
  errors: errors,
39
41
  activeId: id
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("react");
9
8
  var _classnames = _interopRequireDefault(require("classnames"));
10
9
  var _commons = require("../../commons");
11
10
  var _icons = require("../../commons/icons");
@@ -13,8 +12,6 @@ var _reactKeyboardEventHandler = _interopRequireDefault(require("react-keyboard-
13
12
  var _function = require("../../../utils/function");
14
13
  var _jsxRuntime = require("react/jsx-runtime");
15
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
15
  function RadioOption(_ref) {
19
16
  var checked = _ref.checked,
20
17
  _ref$onClick = _ref.onClick,
@@ -32,17 +29,18 @@ function RadioOption(_ref) {
32
29
  label = _ref.label,
33
30
  description = _ref.description,
34
31
  shortcut = _ref.shortcut,
35
- codeModality = _ref.codeModality;
32
+ codeModality = _ref.codeModality,
33
+ readOnly = _ref.readOnly;
36
34
  var spanEl = (0, _react.useRef)(null);
37
35
  var Icon = getIcon(checked, checkboxStyle);
38
36
  var tabIndex = checked ? 0 : -1;
39
37
  var onClickOption = (0, _react.useCallback)(function () {
40
- if (disabled) {
38
+ if (disabled || readOnly) {
41
39
  return;
42
40
  }
43
41
  // on checkboxStyle, clicking on checked value unchecks it, so it acts as if empty answer was clicked
44
42
  checkboxStyle && checked ? onClick(null) : onClick(value);
45
- }, [value, onClick, checked, checkboxStyle, disabled]);
43
+ }, [value, onClick, checked, checkboxStyle, disabled, readOnly]);
46
44
  var handleKeyDown = (0, _react.useCallback)(function (e) {
47
45
  var _spanEl$current;
48
46
  var key = e.key;
@@ -64,7 +62,8 @@ function RadioOption(_ref) {
64
62
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
65
63
  className: (0, _classnames["default"])('radio-modality', 'radio-modality-block', {
66
64
  checked: checked,
67
- disabled: disabled
65
+ disabled: disabled,
66
+ readOnly: readOnly
68
67
  }),
69
68
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
70
69
  id: id,
@@ -28,7 +28,8 @@ function LunaticRadioGroup(props) {
28
28
  management = props.management,
29
29
  _props$className = props.className,
30
30
  className = _props$className === void 0 ? 'lunatic-radio-group' : _props$className,
31
- disabled = props.disabled;
31
+ disabled = props.disabled,
32
+ readOnly = props.readOnly;
32
33
  var onChange = (0, _useOnHandleChange["default"])({
33
34
  handleChange: handleChange,
34
35
  response: response,
@@ -55,7 +56,8 @@ function LunaticRadioGroup(props) {
55
56
  label: label,
56
57
  className: className,
57
58
  shortcut: shortcut,
58
- disabled: disabled
59
+ disabled: disabled,
60
+ readOnly: readOnly
59
61
  })
60
62
  });
61
63
  }
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _commons = require("../../commons");
9
8
  var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
9
  function RoundaboutItTitle(_ref) {
12
10
  var label = _ref.label;
13
11
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _commons = require("../../commons");
9
8
  var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
9
  function RoundaboutLabel(_ref) {
12
10
  var value = _ref.value;
13
11
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("react");
9
8
  var _roundabout = _interopRequireDefault(require("./roundabout"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
11
  /**
15
12
  * Logique fonctionnelle et immuable du composant
16
13
  */