@inseefr/lunatic 3.5.0-rc.3 → 3.5.1-rc.1743691949561

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 (434) hide show
  1. package/components/Datepicker/Datepicker.js +1 -1
  2. package/components/Datepicker/Datepicker.js.map +1 -1
  3. package/components/Duration/Duration.js +3 -2
  4. package/components/Duration/Duration.js.map +1 -1
  5. package/components/Duration/durationUtils.d.ts +0 -1
  6. package/components/Duration/durationUtils.js.map +1 -1
  7. package/components/Duration/getDurationFromValue.d.ts +3 -2
  8. package/components/Duration/getDurationFromValue.js.map +1 -1
  9. package/components/Input/Input.js +6 -3
  10. package/components/Input/Input.js.map +1 -1
  11. package/components/Input/Input.spec.js +25 -0
  12. package/components/Input/Input.spec.js.map +1 -1
  13. package/components/InputNumber/InputNumber.js +1 -1
  14. package/components/InputNumber/InputNumber.js.map +1 -1
  15. package/components/InputNumber/InputNumber.spec.js +9 -1
  16. package/components/InputNumber/InputNumber.spec.js.map +1 -1
  17. package/components/InputNumber/InputNumberThousand.d.ts +2 -1
  18. package/components/InputNumber/InputNumberThousand.js +8 -2
  19. package/components/InputNumber/InputNumberThousand.js.map +1 -1
  20. package/components/Loop/Loop.js +1 -1
  21. package/components/Loop/Loop.js.map +1 -1
  22. package/components/Loop/Loop.spec.d.ts +1 -0
  23. package/components/Loop/Loop.spec.js +39 -0
  24. package/components/Loop/Loop.spec.js.map +1 -0
  25. package/components/Roundabout/CustomRoundabout.d.ts +1 -1
  26. package/components/Roundabout/CustomRoundabout.js +4 -3
  27. package/components/Roundabout/CustomRoundabout.js.map +1 -1
  28. package/components/Roundabout/roundabout.spec.js +3 -1
  29. package/components/Roundabout/roundabout.spec.js.map +1 -1
  30. package/components/Textarea/Textarea.js +4 -1
  31. package/components/Textarea/Textarea.js.map +1 -1
  32. package/components/Textarea/Textarea.spec.js +13 -0
  33. package/components/Textarea/Textarea.spec.js.map +1 -1
  34. package/components/shared/CharactersCount/CharactersCount.d.ts +7 -0
  35. package/components/shared/CharactersCount/CharactersCount.js +20 -0
  36. package/components/shared/CharactersCount/CharactersCount.js.map +1 -0
  37. package/components/shared/CharactersCount/CharactersCount.spec.d.ts +1 -0
  38. package/components/shared/CharactersCount/CharactersCount.spec.js +28 -0
  39. package/components/shared/CharactersCount/CharactersCount.spec.js.map +1 -0
  40. package/components/shared/Label/Label.js +1 -1
  41. package/components/shared/Label/Label.js.map +1 -1
  42. package/components/shared/Label/Label.spec.js +11 -3
  43. package/components/shared/Label/Label.spec.js.map +1 -1
  44. package/components/shared/utils/getCharactersCountId.d.ts +4 -0
  45. package/components/shared/utils/getCharactersCountId.js +10 -0
  46. package/components/shared/utils/getCharactersCountId.js.map +1 -0
  47. package/components/type.d.ts +3 -3
  48. package/esm/components/Datepicker/Datepicker.js +1 -1
  49. package/esm/components/Datepicker/Datepicker.js.map +1 -1
  50. package/esm/components/Duration/Duration.js +3 -2
  51. package/esm/components/Duration/Duration.js.map +1 -1
  52. package/esm/components/Duration/durationUtils.d.ts +0 -1
  53. package/esm/components/Duration/durationUtils.js.map +1 -1
  54. package/esm/components/Duration/getDurationFromValue.d.ts +3 -2
  55. package/esm/components/Duration/getDurationFromValue.js.map +1 -1
  56. package/esm/components/Input/Input.js +6 -3
  57. package/esm/components/Input/Input.js.map +1 -1
  58. package/esm/components/Input/Input.spec.js +25 -0
  59. package/esm/components/Input/Input.spec.js.map +1 -1
  60. package/esm/components/InputNumber/InputNumber.js +1 -1
  61. package/esm/components/InputNumber/InputNumber.js.map +1 -1
  62. package/esm/components/InputNumber/InputNumber.spec.js +9 -1
  63. package/esm/components/InputNumber/InputNumber.spec.js.map +1 -1
  64. package/esm/components/InputNumber/InputNumberThousand.d.ts +2 -1
  65. package/esm/components/InputNumber/InputNumberThousand.js +8 -2
  66. package/esm/components/InputNumber/InputNumberThousand.js.map +1 -1
  67. package/esm/components/Loop/Loop.js +1 -1
  68. package/esm/components/Loop/Loop.js.map +1 -1
  69. package/esm/components/Loop/Loop.spec.d.ts +1 -0
  70. package/esm/components/Loop/Loop.spec.js +37 -0
  71. package/esm/components/Loop/Loop.spec.js.map +1 -0
  72. package/esm/components/Roundabout/CustomRoundabout.d.ts +1 -1
  73. package/esm/components/Roundabout/CustomRoundabout.js +4 -3
  74. package/esm/components/Roundabout/CustomRoundabout.js.map +1 -1
  75. package/esm/components/Roundabout/roundabout.spec.js +3 -1
  76. package/esm/components/Roundabout/roundabout.spec.js.map +1 -1
  77. package/esm/components/Textarea/Textarea.js +4 -1
  78. package/esm/components/Textarea/Textarea.js.map +1 -1
  79. package/esm/components/Textarea/Textarea.spec.js +13 -0
  80. package/esm/components/Textarea/Textarea.spec.js.map +1 -1
  81. package/esm/components/shared/CharactersCount/CharactersCount.d.ts +7 -0
  82. package/esm/components/shared/CharactersCount/CharactersCount.js +15 -0
  83. package/esm/components/shared/CharactersCount/CharactersCount.js.map +1 -0
  84. package/esm/components/shared/CharactersCount/CharactersCount.spec.d.ts +1 -0
  85. package/esm/components/shared/CharactersCount/CharactersCount.spec.js +26 -0
  86. package/esm/components/shared/CharactersCount/CharactersCount.spec.js.map +1 -0
  87. package/esm/components/shared/Label/Label.js +1 -1
  88. package/esm/components/shared/Label/Label.js.map +1 -1
  89. package/esm/components/shared/Label/Label.spec.js +11 -3
  90. package/esm/components/shared/Label/Label.spec.js.map +1 -1
  91. package/esm/components/shared/utils/getCharactersCountId.d.ts +4 -0
  92. package/esm/components/shared/utils/getCharactersCountId.js +7 -0
  93. package/esm/components/shared/utils/getCharactersCountId.js.map +1 -0
  94. package/esm/components/type.d.ts +3 -3
  95. package/esm/index.d.ts +0 -1
  96. package/esm/index.js +0 -1
  97. package/esm/index.js.map +1 -1
  98. package/esm/main.css +20 -0
  99. package/esm/main.css.map +1 -1
  100. package/esm/stories/overview/sourceWithHierarchy.json +5151 -0
  101. package/esm/tests/utils/lunatic.d.ts +0 -4
  102. package/esm/tests/utils/lunatic.js +0 -4
  103. package/esm/tests/utils/lunatic.js.map +1 -1
  104. package/esm/type.source.d.ts +6 -6
  105. package/esm/type.source.js +0 -1
  106. package/esm/type.source.js.map +1 -1
  107. package/esm/use-lunatic/commons/fill-components/fill-components.d.ts +2 -0
  108. package/esm/use-lunatic/commons/fill-components/fill-components.js +1 -1
  109. package/esm/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  110. package/esm/use-lunatic/commons/page.js +8 -0
  111. package/esm/use-lunatic/commons/page.js.map +1 -1
  112. package/esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.d.ts +1 -1
  113. package/esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js +111 -14
  114. package/esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js.map +1 -1
  115. package/esm/use-lunatic/commons/variables/behaviours/resizing-behaviour.js +3 -3
  116. package/esm/use-lunatic/commons/variables/behaviours/resizing-behaviour.js.map +1 -1
  117. package/esm/use-lunatic/commons/variables/get-questionnaire-data.js +0 -8
  118. package/esm/use-lunatic/commons/variables/get-questionnaire-data.js.map +1 -1
  119. package/esm/use-lunatic/commons/variables/lunatic-variables-store.d.ts +2 -2
  120. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js +5 -3
  121. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  122. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js +181 -9
  123. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  124. package/esm/use-lunatic/hooks/use-page-has-response.js +50 -35
  125. package/esm/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  126. package/esm/use-lunatic/hooks/useOverview.d.ts +1 -1
  127. package/esm/use-lunatic/hooks/useOverview.js +19 -14
  128. package/esm/use-lunatic/hooks/useOverview.js.map +1 -1
  129. package/esm/use-lunatic/hooks/useOverview.spec.d.ts +1 -0
  130. package/esm/use-lunatic/hooks/useOverview.spec.js +38 -0
  131. package/esm/use-lunatic/hooks/useOverview.spec.js.map +1 -0
  132. package/esm/use-lunatic/props/getComponentTypeProps.d.ts +2 -1
  133. package/esm/use-lunatic/props/propOptions.d.ts +2 -1
  134. package/esm/use-lunatic/props/propOptions.js +23 -3
  135. package/esm/use-lunatic/props/propOptions.js.map +1 -1
  136. package/esm/use-lunatic/props/propOptions.spec.js +46 -5
  137. package/esm/use-lunatic/props/propOptions.spec.js.map +1 -1
  138. package/esm/use-lunatic/props/propValue.js +18 -6
  139. package/esm/use-lunatic/props/propValue.js.map +1 -1
  140. package/esm/use-lunatic/props/propValue.spec.js +97 -2
  141. package/esm/use-lunatic/props/propValue.spec.js.map +1 -1
  142. package/esm/use-lunatic/reducer/reducerInitializer.d.ts +2 -2
  143. package/esm/use-lunatic/reducer/reducerInitializer.js +25 -32
  144. package/esm/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  145. package/esm/use-lunatic/test.utils.d.ts +2 -0
  146. package/esm/use-lunatic/test.utils.js +13 -0
  147. package/esm/use-lunatic/test.utils.js.map +1 -0
  148. package/esm/use-lunatic/type.d.ts +18 -8
  149. package/esm/use-lunatic/use-lunatic.d.ts +1 -2
  150. package/esm/use-lunatic/use-lunatic.js +2 -3
  151. package/esm/use-lunatic/use-lunatic.js.map +1 -1
  152. package/esm/utils/cast.d.ts +19 -0
  153. package/esm/utils/cast.js +63 -0
  154. package/esm/utils/cast.js.map +1 -0
  155. package/esm/utils/constants/variable-status.d.ts +0 -4
  156. package/esm/utils/constants/variable-status.js +0 -4
  157. package/esm/utils/constants/variable-status.js.map +1 -1
  158. package/esm/utils/variables.spec.js +0 -8
  159. package/esm/utils/variables.spec.js.map +1 -1
  160. package/index.d.ts +0 -1
  161. package/index.js +1 -3
  162. package/index.js.map +1 -1
  163. package/main.css +20 -0
  164. package/main.css.map +1 -1
  165. package/package.json +60 -69
  166. package/src/components/Datepicker/Datepicker.tsx +1 -1
  167. package/src/components/Datepicker/__snapshots__/Datepicker.spec.tsx.snap +2 -2
  168. package/src/components/Duration/Duration.test.tsx +52 -0
  169. package/src/components/Duration/Duration.tsx +17 -4
  170. package/src/components/Duration/durationUtils.ts +0 -2
  171. package/src/components/Duration/getDurationFromValue.ts +4 -3
  172. package/src/components/Input/Input.spec.tsx +34 -0
  173. package/src/components/Input/Input.tsx +26 -18
  174. package/src/components/Input/__snapshots__/Input.spec.tsx.snap +38 -19
  175. package/src/components/InputNumber/InputNumber.spec.tsx +15 -1
  176. package/src/components/InputNumber/InputNumber.tsx +1 -0
  177. package/src/components/InputNumber/InputNumberThousand.tsx +11 -1
  178. package/src/components/Loop/Loop.spec.tsx +77 -0
  179. package/src/components/Loop/Loop.tsx +1 -1
  180. package/src/components/RosterForLoop/__snapshots__/RosterForLoop.spec.tsx.snap +42 -20
  181. package/src/components/Roundabout/CustomRoundabout.tsx +13 -4
  182. package/src/components/Roundabout/roundabout.spec.tsx +3 -0
  183. package/src/components/Textarea/Textarea.spec.tsx +18 -0
  184. package/src/components/Textarea/Textarea.tsx +21 -13
  185. package/src/components/Textarea/__snapshots__/Textarea.spec.tsx.snap +21 -11
  186. package/src/components/shared/CharactersCount/CharactersCount.spec.tsx +31 -0
  187. package/src/components/shared/CharactersCount/CharactersCount.tsx +27 -0
  188. package/src/components/shared/Label/Label.spec.tsx +15 -3
  189. package/src/components/shared/Label/Label.tsx +1 -1
  190. package/src/components/shared/utils/getCharactersCountId.test.ts +14 -0
  191. package/src/components/shared/utils/getCharactersCountId.ts +6 -0
  192. package/src/components/type.ts +3 -2
  193. package/src/css/components/Input.scss +10 -0
  194. package/src/css/components/Roundabout.scss +10 -0
  195. package/src/index.ts +0 -1
  196. package/src/stories/accordion/source.json +1 -5
  197. package/src/stories/behaviour/cleaning/cleaning.stories.jsx +11 -0
  198. package/src/stories/behaviour/cleaning/loop.json +246 -0
  199. package/src/stories/behaviour/cleaning/source-loop.json +3 -15
  200. package/src/stories/behaviour/cleaning/source.json +2 -10
  201. package/src/stories/behaviour/controls/boucles-n.json +2 -10
  202. package/src/stories/behaviour/controls/loop.json +2 -10
  203. package/src/stories/behaviour/controls/roundabout.json +3 -15
  204. package/src/stories/behaviour/controls/simple-numeric.json +19 -95
  205. package/src/stories/behaviour/controls/simple.json +7 -35
  206. package/src/stories/behaviour/filter/dataLoop.json +0 -8
  207. package/src/stories/behaviour/filter/source.json +0 -12
  208. package/src/stories/behaviour/filter/sourceLoop.json +0 -12
  209. package/src/stories/behaviour/missing/source.json +12 -60
  210. package/src/stories/behaviour/others/V2_DeclarationsSimples.json +14 -70
  211. package/src/stories/behaviour/others/V2_MinMaxSum_Boucles.json +5 -25
  212. package/src/stories/behaviour/others/V2_QuestSimple_Boucles.json +107 -535
  213. package/src/stories/behaviour/others/V2_TCMRallyeGames.json +33 -165
  214. package/src/stories/behaviour/others/test-dylan.json +5 -25
  215. package/src/stories/behaviour/paste/source.json +1 -5
  216. package/src/stories/behaviour/performance/performance.stories.jsx +2 -2
  217. package/src/stories/behaviour/performance/source.json +4 -20
  218. package/src/stories/behaviour/resizing/source-resizing-cleaning.json +2 -10
  219. package/src/stories/behaviour/resizing/source.json +5 -25
  220. package/src/stories/checkbox-boolean/source.json +1 -5
  221. package/src/stories/checkbox-group/source.json +16 -80
  222. package/src/stories/checkbox-group/sourceCondition.json +3 -15
  223. package/src/stories/checkbox-group/sourceDetail.json +18 -90
  224. package/src/stories/checkbox-group/sourceLoop.json +2 -10
  225. package/src/stories/checkbox-one/source.json +1 -5
  226. package/src/stories/checkbox-one/sourceDetail.json +2 -10
  227. package/src/stories/date-picker/source.json +1 -5
  228. package/src/stories/declaration/source.json +2 -10
  229. package/src/stories/disabled/data.json +0 -16
  230. package/src/stories/disabled/source.json +7 -35
  231. package/src/stories/dropdown/data.json +2 -10
  232. package/src/stories/dropdown/source.json +2 -10
  233. package/src/stories/duration/mois.json +1 -5
  234. package/src/stories/duration/time.json +1 -5
  235. package/src/stories/filter-description/source-options.json +3 -15
  236. package/src/stories/input/source.json +1 -5
  237. package/src/stories/input-number/input-number.stories.jsx +5 -0
  238. package/src/stories/input-number/source-big-number.json +27 -0
  239. package/src/stories/input-number/source-euro.json +2 -6
  240. package/src/stories/input-number/source.json +1 -5
  241. package/src/stories/loop/source-bloc.json +2 -10
  242. package/src/stories/loop/source-paginated.json +2 -10
  243. package/src/stories/loop/source-roster.json +2 -10
  244. package/src/stories/loop/source-with-header.json +2 -10
  245. package/src/stories/overview/dataLoop.json +24 -120
  246. package/src/stories/overview/overview.stories.jsx +9 -0
  247. package/src/stories/overview/source.json +1 -5
  248. package/src/stories/overview/sourceLoop.json +24 -120
  249. package/src/stories/overview/sourceWithHierarchy.json +164 -820
  250. package/src/stories/pairwise/source.json +5 -25
  251. package/src/stories/question/source.json +2 -10
  252. package/src/stories/questionnaires/logement/data.json +0 -1288
  253. package/src/stories/questionnaires/logement/source-sequence.json +564 -2820
  254. package/src/stories/questionnaires/logement/source-sum.json +280 -1400
  255. package/src/stories/questionnaires/logement/source.json +564 -2820
  256. package/src/stories/questionnaires/recensement/source.json +106 -530
  257. package/src/stories/questionnaires/rp/source.json +8 -40
  258. package/src/stories/questionnaires/simpsons/source.json +104 -520
  259. package/src/stories/radio/source.json +1 -5
  260. package/src/stories/radio/sourceCondition.json +2 -10
  261. package/src/stories/radio/sourceDetail.json +2 -10
  262. package/src/stories/radio/sourceHorizontal.json +1 -5
  263. package/src/stories/roundabout/data1.json +0 -12
  264. package/src/stories/roundabout/data2.json +0 -16
  265. package/src/stories/roundabout/source.json +11 -35
  266. package/src/stories/suggester/source-arbitrary-response.json +6 -30
  267. package/src/stories/suggester/source-error.json +6 -30
  268. package/src/stories/suggester/source-multiline.json +0 -16
  269. package/src/stories/suggester/source-option-responses.json +5 -25
  270. package/src/stories/suggester/source.json +7 -35
  271. package/src/stories/summary/data.json +0 -16
  272. package/src/stories/summary/source.json +7 -35
  273. package/src/stories/switch/data-forced.json +2 -10
  274. package/src/stories/switch/source.json +4 -20
  275. package/src/stories/table/source-colspan.json +8 -40
  276. package/src/stories/table/table-dynamique.json +1 -5
  277. package/src/stories/text/source-roster.json +3 -15
  278. package/src/stories/text/source-table.json +9 -45
  279. package/src/stories/textarea/source.json +1 -5
  280. package/src/stories/utils/{SchemaValidator.tsx → SchemaValidator.jsx} +1 -1
  281. package/src/stories/utils/{orchestrator.tsx → orchestrator.jsx} +9 -13
  282. package/src/stories/utils/{overview.tsx → overview.jsx} +0 -2
  283. package/src/tests/utils/lunatic.ts +0 -4
  284. package/src/type.source.ts +8 -7
  285. package/src/use-lunatic/__snapshots__/use-lunatic.test.ts.snap +0 -1159
  286. package/src/use-lunatic/commons/fill-components/fill-components.ts +4 -1
  287. package/src/use-lunatic/commons/page.ts +10 -0
  288. package/src/use-lunatic/commons/variables/behaviours/cleaning-behaviour.ts +182 -24
  289. package/src/use-lunatic/commons/variables/behaviours/resizing-behaviour.ts +2 -5
  290. package/src/use-lunatic/commons/variables/get-questionnaire-data.ts +0 -12
  291. package/src/use-lunatic/commons/variables/lunatic-variables-store.spec.ts +207 -9
  292. package/src/use-lunatic/commons/variables/lunatic-variables-store.ts +7 -4
  293. package/src/use-lunatic/hooks/use-page-has-response.test.ts +200 -0
  294. package/src/use-lunatic/hooks/use-page-has-response.ts +67 -44
  295. package/src/use-lunatic/hooks/useOverview.spec.ts +42 -0
  296. package/src/use-lunatic/hooks/useOverview.ts +41 -18
  297. package/src/use-lunatic/props/propOptions.spec.ts +71 -5
  298. package/src/use-lunatic/props/propOptions.ts +23 -3
  299. package/src/use-lunatic/props/propValue.spec.ts +105 -2
  300. package/src/use-lunatic/props/propValue.ts +26 -8
  301. package/src/use-lunatic/reducer/reducerInitializer.tsx +31 -41
  302. package/src/use-lunatic/test.utils.ts +17 -0
  303. package/src/use-lunatic/type.ts +18 -8
  304. package/src/use-lunatic/use-lunatic.test.ts +15 -44
  305. package/src/use-lunatic/use-lunatic.ts +7 -7
  306. package/src/utils/cast.ts +67 -0
  307. package/src/utils/constants/variable-status.ts +0 -4
  308. package/src/utils/variables.spec.ts +0 -8
  309. package/stories/overview/sourceWithHierarchy.json +5151 -0
  310. package/tests/utils/lunatic.d.ts +0 -4
  311. package/tests/utils/lunatic.js +0 -4
  312. package/tests/utils/lunatic.js.map +1 -1
  313. package/tsconfig.build.tsbuildinfo +1 -1
  314. package/type.source.d.ts +6 -6
  315. package/type.source.js +0 -1
  316. package/type.source.js.map +1 -1
  317. package/use-lunatic/commons/fill-components/fill-components.d.ts +2 -0
  318. package/use-lunatic/commons/fill-components/fill-components.js +1 -1
  319. package/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  320. package/use-lunatic/commons/page.js +8 -0
  321. package/use-lunatic/commons/page.js.map +1 -1
  322. package/use-lunatic/commons/variables/behaviours/cleaning-behaviour.d.ts +1 -1
  323. package/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js +111 -14
  324. package/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js.map +1 -1
  325. package/use-lunatic/commons/variables/behaviours/resizing-behaviour.js +3 -3
  326. package/use-lunatic/commons/variables/behaviours/resizing-behaviour.js.map +1 -1
  327. package/use-lunatic/commons/variables/get-questionnaire-data.js +0 -8
  328. package/use-lunatic/commons/variables/get-questionnaire-data.js.map +1 -1
  329. package/use-lunatic/commons/variables/lunatic-variables-store.d.ts +2 -2
  330. package/use-lunatic/commons/variables/lunatic-variables-store.js +5 -3
  331. package/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  332. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js +204 -9
  333. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  334. package/use-lunatic/hooks/use-page-has-response.js +49 -34
  335. package/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  336. package/use-lunatic/hooks/useOverview.d.ts +1 -1
  337. package/use-lunatic/hooks/useOverview.js +19 -14
  338. package/use-lunatic/hooks/useOverview.js.map +1 -1
  339. package/use-lunatic/hooks/useOverview.spec.d.ts +1 -0
  340. package/use-lunatic/hooks/useOverview.spec.js +43 -0
  341. package/use-lunatic/hooks/useOverview.spec.js.map +1 -0
  342. package/use-lunatic/props/getComponentTypeProps.d.ts +2 -1
  343. package/use-lunatic/props/propOptions.d.ts +2 -1
  344. package/use-lunatic/props/propOptions.js +23 -3
  345. package/use-lunatic/props/propOptions.js.map +1 -1
  346. package/use-lunatic/props/propOptions.spec.js +46 -5
  347. package/use-lunatic/props/propOptions.spec.js.map +1 -1
  348. package/use-lunatic/props/propValue.js +18 -6
  349. package/use-lunatic/props/propValue.js.map +1 -1
  350. package/use-lunatic/props/propValue.spec.js +97 -2
  351. package/use-lunatic/props/propValue.spec.js.map +1 -1
  352. package/use-lunatic/reducer/reducerInitializer.d.ts +2 -2
  353. package/use-lunatic/reducer/reducerInitializer.js +25 -32
  354. package/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  355. package/use-lunatic/test.utils.d.ts +2 -0
  356. package/use-lunatic/test.utils.js +17 -0
  357. package/use-lunatic/test.utils.js.map +1 -0
  358. package/use-lunatic/type.d.ts +18 -8
  359. package/use-lunatic/use-lunatic.d.ts +1 -2
  360. package/use-lunatic/use-lunatic.js +2 -3
  361. package/use-lunatic/use-lunatic.js.map +1 -1
  362. package/utils/cast.d.ts +19 -0
  363. package/utils/cast.js +70 -0
  364. package/utils/cast.js.map +1 -0
  365. package/utils/constants/variable-status.d.ts +0 -4
  366. package/utils/constants/variable-status.js +1 -5
  367. package/utils/constants/variable-status.js.map +1 -1
  368. package/utils/variables.spec.js +0 -8
  369. package/utils/variables.spec.js.map +1 -1
  370. package/constants/component-types.d.ts +0 -1
  371. package/constants/component-types.js +0 -5
  372. package/constants/component-types.js.map +0 -1
  373. package/constants/declarations.d.ts +0 -9
  374. package/constants/declarations.js +0 -15
  375. package/constants/declarations.js.map +0 -1
  376. package/constants/event-types.d.ts +0 -10
  377. package/constants/event-types.js +0 -16
  378. package/constants/event-types.js.map +0 -1
  379. package/constants/index.d.ts +0 -5
  380. package/constants/index.js +0 -22
  381. package/constants/index.js.map +0 -1
  382. package/constants/indexedDBStore.d.ts +0 -21
  383. package/constants/indexedDBStore.js +0 -22
  384. package/constants/indexedDBStore.js.map +0 -1
  385. package/constants/supported-preferences.d.ts +0 -1
  386. package/constants/supported-preferences.js +0 -36
  387. package/constants/supported-preferences.js.map +0 -1
  388. package/constants/value-types.d.ts +0 -5
  389. package/constants/value-types.js +0 -9
  390. package/constants/value-types.js.map +0 -1
  391. package/constants/variable-types.d.ts +0 -2
  392. package/constants/variable-types.js +0 -8
  393. package/constants/variable-types.js.map +0 -1
  394. package/esm/constants/component-types.d.ts +0 -1
  395. package/esm/constants/component-types.js +0 -2
  396. package/esm/constants/component-types.js.map +0 -1
  397. package/esm/constants/declarations.d.ts +0 -9
  398. package/esm/constants/declarations.js +0 -12
  399. package/esm/constants/declarations.js.map +0 -1
  400. package/esm/constants/event-types.d.ts +0 -10
  401. package/esm/constants/event-types.js +0 -13
  402. package/esm/constants/event-types.js.map +0 -1
  403. package/esm/constants/index.d.ts +0 -5
  404. package/esm/constants/index.js +0 -6
  405. package/esm/constants/index.js.map +0 -1
  406. package/esm/constants/indexedDBStore.d.ts +0 -21
  407. package/esm/constants/indexedDBStore.js +0 -19
  408. package/esm/constants/indexedDBStore.js.map +0 -1
  409. package/esm/constants/supported-preferences.d.ts +0 -1
  410. package/esm/constants/supported-preferences.js +0 -10
  411. package/esm/constants/supported-preferences.js.map +0 -1
  412. package/esm/constants/value-types.d.ts +0 -5
  413. package/esm/constants/value-types.js +0 -6
  414. package/esm/constants/value-types.js.map +0 -1
  415. package/esm/constants/variable-types.d.ts +0 -2
  416. package/esm/constants/variable-types.js +0 -5
  417. package/esm/constants/variable-types.js.map +0 -1
  418. package/esm/utils/getArticulation.d.ts +0 -58
  419. package/esm/utils/getArticulation.js +0 -78
  420. package/esm/utils/getArticulation.js.map +0 -1
  421. package/src/constants/component-types.ts +0 -1
  422. package/src/constants/declarations.ts +0 -14
  423. package/src/constants/event-types.ts +0 -13
  424. package/src/constants/index.ts +0 -5
  425. package/src/constants/indexedDBStore.ts +0 -20
  426. package/src/constants/supported-preferences.ts +0 -10
  427. package/src/constants/value-types.ts +0 -5
  428. package/src/constants/variable-types.ts +0 -4
  429. package/src/stories/behaviour/articulation/articulation.stories.tsx +0 -108
  430. package/src/stories/behaviour/articulation/roundabout.json +0 -348
  431. package/src/utils/getArticulation.ts +0 -117
  432. package/utils/getArticulation.d.ts +0 -58
  433. package/utils/getArticulation.js +0 -77
  434. package/utils/getArticulation.js.map +0 -1
@@ -2,6 +2,7 @@ import type { LunaticChangesHandler, LunaticComponentDefinition, LunaticState }
2
2
  import type { ReactNode } from 'react';
3
3
  import type { DeepTranslateExpression } from '../commons/fill-components/fill-component-expressions';
4
4
  import type { LunaticVariablesStore } from '../commons/variables/lunatic-variables-store';
5
+ import { LunaticLogger } from '../logger/type';
5
6
  export type InterpretedOption = {
6
7
  label: ReactNode;
7
8
  value?: string;
@@ -16,7 +17,7 @@ export type InterpretedOption = {
16
17
  /**
17
18
  * Compute options for checkboxes / radios
18
19
  */
19
- export declare function getOptionsProp(definition: DeepTranslateExpression<LunaticComponentDefinition>, variables: LunaticVariablesStore, handleChanges: LunaticChangesHandler, pagerIteration: LunaticState['pager']['iteration'], value: unknown): {
20
+ export declare function getOptionsProp(definition: DeepTranslateExpression<LunaticComponentDefinition>, variables: LunaticVariablesStore, handleChanges: LunaticChangesHandler, pagerIteration: LunaticState['pager']['iteration'], value: unknown, logger: LunaticLogger): {
20
21
  label: ReactNode;
21
22
  name: string;
22
23
  id: string;
@@ -2,7 +2,7 @@ import { isNumber } from '../../utils/number';
2
2
  /**
3
3
  * Compute options for checkboxes / radios
4
4
  */
5
- export function getOptionsProp(definition, variables, handleChanges, pagerIteration, value) {
5
+ export function getOptionsProp(definition, variables, handleChanges, pagerIteration, value, logger) {
6
6
  const iteration = isNumber(pagerIteration) ? [pagerIteration] : undefined;
7
7
  //const iteration = pagerIteration ? [pagerIteration] : undefined;
8
8
  if (definition.componentType === 'CheckboxGroup') {
@@ -11,7 +11,17 @@ export function getOptionsProp(definition, variables, handleChanges, pagerIterat
11
11
  if (!response.conditionFilter) {
12
12
  return true;
13
13
  }
14
- return variables.run(response.conditionFilter.value, { iteration });
14
+ try {
15
+ return variables.run(response.conditionFilter.value, { iteration });
16
+ }
17
+ catch (e) {
18
+ // If there is an error interpreting a variable, we do not filter
19
+ logger({
20
+ type: 'ERROR',
21
+ error: e,
22
+ });
23
+ return true;
24
+ }
15
25
  })
16
26
  .map((response) => {
17
27
  var _a, _b, _c;
@@ -46,7 +56,17 @@ export function getOptionsProp(definition, variables, handleChanges, pagerIterat
46
56
  if (!('conditionFilter' in option) || !option.conditionFilter) {
47
57
  return true;
48
58
  }
49
- return variables.run(option.conditionFilter.value, { iteration });
59
+ try {
60
+ return variables.run(option.conditionFilter.value, { iteration });
61
+ }
62
+ catch (e) {
63
+ // If there is an error interpreting a variable, we do not filter
64
+ logger({
65
+ type: 'ERROR',
66
+ error: e,
67
+ });
68
+ return true;
69
+ }
50
70
  })
51
71
  .map((option) => {
52
72
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ describe('getOptionsProp()', () => {
20
20
  ],
21
21
  };
22
22
  let mockChange;
23
+ const mockLogger = vi.fn();
23
24
  beforeEach(() => {
24
25
  mockChange = vi.fn();
25
26
  variables = new LunaticVariablesStore();
@@ -27,31 +28,71 @@ describe('getOptionsProp()', () => {
27
28
  describe('CheckboxGroup', () => {
28
29
  it('should check boxes', () => {
29
30
  variables.set('O2', false);
30
- let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined);
31
+ let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined, mockLogger);
31
32
  expect(options[1].checked).toBe(false);
32
33
  variables.set('O2', true);
33
- options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined);
34
+ options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined, mockLogger);
34
35
  expect(options[1].checked).toBe(true);
35
36
  });
36
37
  it('should check boxes correctly within iteration', () => {
37
38
  variables.set('O1', []);
38
39
  variables.set('O2', []);
39
- let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined);
40
+ let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined, mockLogger);
40
41
  expect(options.filter((o) => o.checked), 'Nothing checked when variable empty').toHaveLength(0);
41
42
  variables.set('O1', [true, 0]);
42
- options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined);
43
+ options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined, mockLogger);
43
44
  expect(options[0].checked).toBe(true);
44
45
  expect(options[1].checked).toBe(false);
45
46
  });
46
47
  it('should create handleChange correctly', () => {
47
48
  variables.set('O1', [true, false]);
48
49
  variables.set('O2', [false, true]);
49
- const options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 1, undefined);
50
+ const options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 1, undefined, mockLogger);
50
51
  options[1].onCheck(false);
51
52
  expect(mockChange).toHaveBeenLastCalledWith([
52
53
  { name: 'O2', value: false },
53
54
  ]);
54
55
  });
56
+ it('should not filter response (checkboxGroup) when its conditionFilter evaluation fails', () => {
57
+ const definition = {
58
+ ...checkboxGroupDefinition,
59
+ responses: [
60
+ {
61
+ label: 'Option 1',
62
+ response: { name: 'O1' },
63
+ id: 'id1',
64
+ conditionFilter: { type: 'VTL', value: 'invalid expression' },
65
+ },
66
+ ],
67
+ };
68
+ // mock variables.run for having an error interpreting a variable
69
+ vi.spyOn(variables, 'run').mockImplementation(() => {
70
+ throw new Error('Test error');
71
+ });
72
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
73
+ // Ensure the option is not filtered
74
+ expect(options).toHaveLength(1);
75
+ });
76
+ it('should not filter option (radio) when its conditionFilter evaluation fails', () => {
77
+ const definition = {
78
+ id: 'RadioGroup',
79
+ componentType: 'Radio',
80
+ options: [
81
+ {
82
+ label: 'Option 1',
83
+ value: 'id1',
84
+ conditionFilter: { type: 'VTL', value: 'invalid expression' },
85
+ },
86
+ ],
87
+ };
88
+ // Mock `variables.run` to throw an error
89
+ vi.spyOn(variables, 'run').mockImplementation(() => {
90
+ throw new Error('Test error');
91
+ });
92
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
93
+ // Ensure the option is not filtered
94
+ expect(options).toHaveLength(1);
95
+ });
55
96
  });
56
97
  });
57
98
  //# sourceMappingURL=propOptions.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propOptions.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propOptions.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.spec.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,25 @@ export function getValueProp(component, args) {
17
17
  if (hasResponse(component)) {
18
18
  return args.variables.get(component.response.name, iteration);
19
19
  }
20
- // For loop, value will be a map of child component values
21
- if ('components' in component) {
22
- return Object.fromEntries(component.components
23
- .map((c) => ('response' in c ? c.response.name : null))
24
- .filter((name) => name !== null)
25
- .map((name) => [name, args.variables.get(name)]));
20
+ // For Loop and RosterForLoop, value will be a map of child component values
21
+ if (component.componentType === 'Loop' ||
22
+ component.componentType === 'RosterForLoop') {
23
+ return getChildResponseValues(component.components, args.variables);
26
24
  }
27
25
  return null;
28
26
  }
27
+ /**
28
+ * Get the values of every child components recursively.
29
+ */
30
+ function getChildResponseValues(components, variables) {
31
+ return Object.fromEntries(components.flatMap((c) => {
32
+ if ('response' in c) {
33
+ return [[c.response.name, variables.get(c.response.name)]];
34
+ }
35
+ if ('components' in c) {
36
+ return Object.entries(getChildResponseValues(c.components, variables));
37
+ }
38
+ return [];
39
+ }));
40
+ }
29
41
  //# sourceMappingURL=propValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propValue.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,UAAU,YAAY,CAC3B,SAAqC,EACrC,IAGC;;IAED,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACxC,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,WAAW,CACxB,MAAA,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;SAC5C,CAAC,mCAAI,EAAE,CACR,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IACD,0DAA0D;IAC1D,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,WAAW,CACxB,SAAS,CAAC,UAAU;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;aAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAK,CAAC,CAAC,CAAC,CAClD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"propValue.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,UAAU,YAAY,CAC3B,SAAqC,EACrC,IAGC;;IAED,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACxC,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,WAAW,CACxB,MAAA,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;SAC5C,CAAC,mCAAI,EAAE,CACR,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IACD,4EAA4E;IAC5E,IACC,SAAS,CAAC,aAAa,KAAK,MAAM;QAClC,SAAS,CAAC,aAAa,KAAK,eAAe,EAC1C,CAAC;QACF,OAAO,sBAAsB,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC9B,UAAwC,EACxC,SAAgC;IAEhC,OAAO,MAAM,CAAC,WAAW,CACxB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC,CACF,CAAC;AACH,CAAC"}
@@ -18,7 +18,7 @@ describe('fillComponentValue', () => {
18
18
  },
19
19
  }));
20
20
  };
21
- describe('response', () => {
21
+ describe('single response', () => {
22
22
  const component = {
23
23
  response: { name: 'PRENOM' },
24
24
  };
@@ -31,7 +31,7 @@ describe('fillComponentValue', () => {
31
31
  expectFilledComponent(component, { PRENOM: ['John', 'Renaud'] }, 3).toBe(undefined);
32
32
  });
33
33
  });
34
- describe('responses', () => {
34
+ describe('multiple responses', () => {
35
35
  const component = {
36
36
  responses: times(3, (k) => ({
37
37
  response: { name: `NAME${k}` },
@@ -50,5 +50,100 @@ describe('fillComponentValue', () => {
50
50
  });
51
51
  });
52
52
  });
53
+ describe('Loop component with nested components', () => {
54
+ const loopComponent = {
55
+ id: 'm7j9kwro',
56
+ componentType: 'Loop',
57
+ components: [
58
+ {
59
+ id: 'm7j9iem8',
60
+ componentType: 'Sequence',
61
+ },
62
+ {
63
+ id: 'question-m7j9q1ep',
64
+ componentType: 'Question',
65
+ components: [
66
+ {
67
+ id: 'm7j9q1ep',
68
+ componentType: 'Input',
69
+ response: { name: 'VOTREPRENO' },
70
+ },
71
+ ],
72
+ },
73
+ {
74
+ id: 'question-m7jb81xh',
75
+ componentType: 'Question',
76
+ components: [
77
+ {
78
+ id: 'm7jb81xh',
79
+ componentType: 'InputNumber',
80
+ response: { name: 'VOTREAGE' },
81
+ },
82
+ ],
83
+ },
84
+ ],
85
+ };
86
+ it('should correctly extract values from nested responses as arrays', () => {
87
+ const values = {
88
+ VOTREPRENO: ['Alice', 'Bob', 'Charlie'],
89
+ VOTREAGE: [22, 30, 40],
90
+ };
91
+ expectFilledComponent(loopComponent, values).toEqual(values);
92
+ });
93
+ it('should return null for missing responses', () => {
94
+ expectFilledComponent(loopComponent).toEqual({
95
+ VOTREPRENO: null,
96
+ VOTREAGE: null,
97
+ });
98
+ });
99
+ });
100
+ describe('RosterForLoop', () => {
101
+ const rosterForLoopComponent = {
102
+ id: 'loop-prenom',
103
+ componentType: 'RosterForLoop',
104
+ bindingDependencies: ['PRENOM'],
105
+ lines: {
106
+ min: {
107
+ value: '1',
108
+ type: 'VTL',
109
+ },
110
+ max: {
111
+ value: '10',
112
+ type: 'VTL',
113
+ },
114
+ },
115
+ page: '1',
116
+ components: [
117
+ {
118
+ componentType: 'Input',
119
+ label: {
120
+ value: '"Prénom"',
121
+ type: 'VTL|MD',
122
+ },
123
+ conditionFilter: {
124
+ value: 'true',
125
+ type: 'VTL',
126
+ },
127
+ maxLength: 30,
128
+ bindingDependencies: ['PRENOM'],
129
+ id: 'prenom',
130
+ response: {
131
+ name: 'PRENOM',
132
+ },
133
+ },
134
+ ],
135
+ };
136
+ it('should correctly extract values from nested responses as arrays', () => {
137
+ const values = {
138
+ PRENOM: ['Alice', 'Bob', 'Charlie'],
139
+ };
140
+ expectFilledComponent(rosterForLoopComponent, values).toEqual(values);
141
+ });
142
+ it('should return null for missing responses', () => {
143
+ expectFilledComponent(rosterForLoopComponent).toEqual({
144
+ PRENOM: null,
145
+ });
146
+ });
147
+ });
53
148
  });
54
149
  //# sourceMappingURL=propValue.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propValue.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,6BAA6B;IAC7B,MAAM,qBAAqB,GAAG,CAC7B,SAAqC;IACrC,6BAA6B;IAC7B,SAAkC,EAAE;IACpC,kBAAkB;IAClB,SAAkB,EACjB,EAAE;QACH,OAAO,MAAM,CACZ,YAAY,CAAC,SAAS,EAAE;YACvB,SAAS,EAAE,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC;YACvD,KAAK,EAAE;gBACN,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,CAAC;gBACP,SAAS;aACT;SACD,CAAC,CACF,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACzB,MAAM,SAAS,GAAG;YACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACW,CAAC;QAEzC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC3C,qBAAqB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACpD,qBAAqB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACvE,QAAQ,CACR,CAAC;YACF,qBAAqB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACvE,SAAS,CACT,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,MAAM,SAAS,GAAG;YACjB,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;aAC9B,CAAC,CAAC;SAC4C,CAAC;QAEjD,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC9C,qBAAqB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;gBACxC,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACX,CAAC,CAAC;YACH,qBAAqB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzD,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACX,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"propValue.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.spec.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,6 @@ export declare function reducerInitializer({ source, data, features, initialPage
10
10
  withOverview?: LunaticOptions['withOverview'];
11
11
  disableFilters?: LunaticOptions['disableFilters'];
12
12
  getReferentiel?: LunaticOptions['getReferentiel'];
13
- onVariableChange?: RefObject<LunaticOptions['onVariableChange']>;
14
- logger?: LunaticLogger;
13
+ onVariableChange: RefObject<LunaticOptions['onVariableChange']>;
14
+ logger: LunaticLogger;
15
15
  }): LunaticReducerState;
@@ -29,10 +29,9 @@ const baseState = {
29
29
  executeExpression: () => null,
30
30
  options: { disableFilters: false },
31
31
  };
32
- const onChange = { current: () => { } };
33
- export function reducerInitializer({ source, data, features = ['VTL'], initialPage = '1', lastReachedPage = undefined, withOverview = false, disableFilters = false, getReferentiel, onVariableChange = onChange, logger = console.error, }) {
32
+ export function reducerInitializer({ source, data, features = ['VTL'], initialPage = '1', lastReachedPage = undefined, withOverview = false, disableFilters = false, getReferentiel, onVariableChange, logger, }) {
34
33
  var _a;
35
- const variables = LunaticVariablesStore.makeFromSource(source, data, onVariableChange);
34
+ const variables = LunaticVariablesStore.makeFromSource(source, data, onVariableChange, disableFilters);
36
35
  const pages = checkLoops(createMapPages(source));
37
36
  if (!source || !data) {
38
37
  return baseState;
@@ -69,13 +68,11 @@ export function reducerInitializer({ source, data, features = ['VTL'], initialPa
69
68
  return result;
70
69
  }
71
70
  catch (e) {
72
- if (logger) {
73
- // If there is an error interpreting a variable, return the raw expression
74
- logger({
75
- type: 'ERROR',
76
- error: e,
77
- });
78
- }
71
+ // If there is an error interpreting a variable, return the raw expression
72
+ logger({
73
+ type: 'ERROR',
74
+ error: e,
75
+ });
79
76
  return expressionString;
80
77
  }
81
78
  };
@@ -86,9 +83,9 @@ export function reducerInitializer({ source, data, features = ['VTL'], initialPa
86
83
  const pager = {
87
84
  page: (_a = initialPager === null || initialPager === void 0 ? void 0 : initialPager.page) !== null && _a !== void 0 ? _a : 1,
88
85
  maxPage: source.maxPage ? parseInt(source.maxPage, 10) : 1,
89
- subPage: initialPager === null || initialPager === void 0 ? void 0 : initialPager.subPage,
86
+ subPage: undefined,
90
87
  nbSubPages: undefined,
91
- iteration: initialPager === null || initialPager === void 0 ? void 0 : initialPager.iteration,
88
+ iteration: undefined,
92
89
  nbIterations: undefined,
93
90
  lastReachedPage: lastReachedPage !== null && lastReachedPage !== void 0 ? lastReachedPage : initialPage,
94
91
  };
@@ -97,7 +94,7 @@ export function reducerInitializer({ source, data, features = ['VTL'], initialPa
97
94
  pager,
98
95
  previousPager: pager,
99
96
  pages,
100
- isInLoop: pager.subPage !== undefined,
97
+ isInLoop: false,
101
98
  updatedAt: Date.now(),
102
99
  overview: withOverview ? buildOverview(source) : [],
103
100
  updateBindings,
@@ -115,25 +112,21 @@ function fillPagerForLoop(state) {
115
112
  return state;
116
113
  }
117
114
  const { isLoop, subPages, iterations, loopDependencies } = pages[pager.page];
118
- if (
119
- // For loop, jump at the first page
120
- isLoop ||
121
- // For roundabout, jump at the desired iteration / subpage (only if defined)
122
- ((pager === null || pager === void 0 ? void 0 : pager.iteration) !== undefined && subPages)) {
123
- return {
124
- ...state,
125
- isInLoop: true,
126
- pager: {
127
- ...pager,
128
- subPage: (_a = pager === null || pager === void 0 ? void 0 : pager.subPage) !== null && _a !== void 0 ? _a : 1,
129
- nbSubPages: (subPages !== null && subPages !== void 0 ? subPages : []).length,
130
- iteration: (_b = pager === null || pager === void 0 ? void 0 : pager.iteration) !== null && _b !== void 0 ? _b : 0,
131
- nbIterations: forceInt(state.executeExpression(iterations, {
132
- deps: loopDependencies,
133
- })),
134
- },
135
- };
115
+ if (!isLoop) {
116
+ return state;
136
117
  }
137
- return state;
118
+ return {
119
+ ...state,
120
+ isInLoop: true,
121
+ pager: {
122
+ ...pager,
123
+ subPage: (_a = pager === null || pager === void 0 ? void 0 : pager.subPage) !== null && _a !== void 0 ? _a : 0,
124
+ nbSubPages: (subPages !== null && subPages !== void 0 ? subPages : []).length,
125
+ iteration: (_b = pager === null || pager === void 0 ? void 0 : pager.iteration) !== null && _b !== void 0 ? _b : 0,
126
+ nbIterations: forceInt(state.executeExpression(iterations, {
127
+ deps: loopDependencies,
128
+ })),
129
+ },
130
+ };
138
131
  }
139
132
  //# sourceMappingURL=reducerInitializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducerInitializer.js","sourceRoot":"","sources":["../../../src/use-lunatic/reducer/reducerInitializer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reducerInitializer.js","sourceRoot":"","sources":["../../../src/use-lunatic/reducer/reducerInitializer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { LunaticData } from './type';
2
+ export declare const dataFromObject: (o: Record<string, unknown>) => LunaticData;
@@ -0,0 +1,13 @@
1
+ export const dataFromObject = (o) => {
2
+ return {
3
+ EXTERNAL: {},
4
+ COLLECTED: Object.keys(o).reduce((acc, k) => ({
5
+ ...acc,
6
+ [k]: {
7
+ COLLECTED: o[k],
8
+ },
9
+ }), {}),
10
+ CALCULATED: {},
11
+ };
12
+ };
13
+ //# sourceMappingURL=test.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.utils.js","sourceRoot":"","sources":["../../src/use-lunatic/test.utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAA0B,EAAe,EAAE;IACzE,OAAO;QACN,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAC/B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,GAAG;YACN,CAAC,CAAC,CAAC,EAAE;gBACJ,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;aACf;SACD,CAAC,EACF,EAAE,CACF;QACD,UAAU,EAAE,EAAE;KACd,CAAC;AACH,CAAC,CAAC"}
@@ -51,10 +51,6 @@ export type PageTag = `${number}.${number}#${number}` | `${number}`;
51
51
  export type LunaticVariable = Variable;
52
52
  export type LunaticCollectedValue = Partial<{
53
53
  COLLECTED: unknown;
54
- EDITED: unknown;
55
- FORCED: unknown;
56
- INPUTTED: unknown;
57
- PREVIOUS: unknown;
58
54
  }>;
59
55
  export type LunaticStateVariable = {
60
56
  [key in LunaticVariable['variableType']]: {
@@ -310,10 +306,24 @@ export type LunaticState = {
310
306
  resetChangedData: () => void;
311
307
  /** Return `true` as soon as the current page has at least one answer. */
312
308
  hasPageResponse: () => boolean;
313
- /** Used for testing purpose only. */
314
- testing: {
315
- handleChanges: LunaticChangesHandler;
316
- };
309
+ /**
310
+ * Change several variable values.
311
+ *
312
+ * Be careful when using this function.
313
+ *
314
+ * In most cases, you don't need this function.
315
+ * It's used directly by the components (and available as a props.)
316
+ *
317
+ * - With only one change or with serveral changes
318
+ * @example
319
+ * handleChanges([{name: "MY_VAR", value: "new value"}])
320
+ *
321
+ * handleChanges([
322
+ * {name: "MY_VAR", value: "new value"},
323
+ * {name: "MY_VAR_2", value: "new value 2"}
324
+ * ])
325
+ */
326
+ handleChanges: LunaticChangesHandler;
317
327
  };
318
328
  /** Function taking as arguments the various changes the user has made. */
319
329
  export type LunaticChangesHandler = (args: {
@@ -1,5 +1,4 @@
1
- import type { LunaticData, LunaticOptions, LunaticState } from './type';
2
- import type { LunaticSource } from './type';
1
+ import type { LunaticSource, LunaticData, LunaticOptions, LunaticState } from './type';
3
2
  /** The first library entrypoint is the `useLunatic` hook. */
4
3
  export declare function useLunatic(
5
4
  /**
@@ -125,6 +125,7 @@ argOptions = empty) {
125
125
  goNextPage,
126
126
  goPreviousPage,
127
127
  management,
128
+ logger,
128
129
  ...state,
129
130
  });
130
131
  const getComponents = () => {
@@ -151,9 +152,7 @@ argOptions = empty) {
151
152
  hasPageResponse: usePageHasResponse(components, state.executeExpression),
152
153
  // Components
153
154
  Provider,
154
- testing: {
155
- handleChanges,
156
- },
155
+ handleChanges,
157
156
  };
158
157
  }
159
158
  //# sourceMappingURL=use-lunatic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-lunatic.js","sourceRoot":"","sources":["../../src/use-lunatic/use-lunatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-lunatic.js","sourceRoot":"","sources":["../../src/use-lunatic/use-lunatic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Cast functions that force an unknown type to a specific type
3
+ */
4
+ /**
5
+ * Force a number (throw if it cannot be converted)
6
+ */
7
+ export declare function castNumber(v: unknown): number;
8
+ /**
9
+ * Force a number, with a default value if an unmanageable type is encountered
10
+ */
11
+ export declare const castNumberWithDefault: (initial?: number) => (v: unknown) => number;
12
+ /**
13
+ * Force a bool
14
+ */
15
+ export declare function castBool(v: unknown): boolean;
16
+ /**
17
+ * Force a string
18
+ */
19
+ export declare function castString(v: unknown): string;