@inseefr/lunatic 3.11.2 → 3.12.0

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 (287) hide show
  1. package/components/Accordion/Accordion.d.ts +1 -1
  2. package/components/Datepicker/DatepickerFields.js +4 -2
  3. package/components/Datepicker/DatepickerFields.js.map +1 -1
  4. package/components/Duration/getDurationFromValue.js +3 -3
  5. package/components/Duration/getDurationFromValue.js.map +1 -1
  6. package/components/FilterDescription/FilterDescription.d.ts +1 -1
  7. package/components/LunaticComponents.d.ts +1 -1
  8. package/components/LunaticComponents.js +9 -7
  9. package/components/LunaticComponents.js.map +1 -1
  10. package/components/PairwiseLinks/PairwiseLinks.d.ts +1 -1
  11. package/components/PairwiseLinks/PairwiseLinks.js +15 -30
  12. package/components/PairwiseLinks/PairwiseLinks.js.map +1 -1
  13. package/components/PairwiseLinks/PairwiseMirror.d.ts +2 -0
  14. package/components/PairwiseLinks/PairwiseMirror.js +14 -0
  15. package/components/PairwiseLinks/PairwiseMirror.js.map +1 -0
  16. package/components/PairwiseLinks/combinations.d.ts +18 -0
  17. package/components/PairwiseLinks/combinations.js +29 -0
  18. package/components/PairwiseLinks/combinations.js.map +1 -0
  19. package/components/Radio/Radio.d.ts +1 -1
  20. package/components/Sequence/Sequence.d.ts +1 -1
  21. package/components/Subsequence/Subsequence.d.ts +1 -1
  22. package/components/Switch/Switch.d.ts +1 -1
  23. package/components/library.d.ts +6 -6
  24. package/components/type.d.ts +25 -28
  25. package/esm/components/Accordion/Accordion.d.ts +1 -1
  26. package/esm/components/Datepicker/DatepickerFields.js +4 -2
  27. package/esm/components/Datepicker/DatepickerFields.js.map +1 -1
  28. package/esm/components/Duration/getDurationFromValue.js +3 -3
  29. package/esm/components/Duration/getDurationFromValue.js.map +1 -1
  30. package/esm/components/FilterDescription/FilterDescription.d.ts +1 -1
  31. package/esm/components/LunaticComponents.d.ts +1 -1
  32. package/esm/components/LunaticComponents.js +9 -7
  33. package/esm/components/LunaticComponents.js.map +1 -1
  34. package/esm/components/PairwiseLinks/PairwiseLinks.d.ts +1 -1
  35. package/esm/components/PairwiseLinks/PairwiseLinks.js +16 -31
  36. package/esm/components/PairwiseLinks/PairwiseLinks.js.map +1 -1
  37. package/esm/components/PairwiseLinks/PairwiseMirror.d.ts +2 -0
  38. package/esm/components/PairwiseLinks/PairwiseMirror.js +10 -0
  39. package/esm/components/PairwiseLinks/PairwiseMirror.js.map +1 -0
  40. package/esm/components/PairwiseLinks/combinations.d.ts +18 -0
  41. package/esm/components/PairwiseLinks/combinations.js +24 -0
  42. package/esm/components/PairwiseLinks/combinations.js.map +1 -0
  43. package/esm/components/Radio/Radio.d.ts +1 -1
  44. package/esm/components/Sequence/Sequence.d.ts +1 -1
  45. package/esm/components/Subsequence/Subsequence.d.ts +1 -1
  46. package/esm/components/Switch/Switch.d.ts +1 -1
  47. package/esm/components/library.d.ts +6 -6
  48. package/esm/components/type.d.ts +25 -28
  49. package/esm/index.d.ts +1 -1
  50. package/esm/index.js.map +1 -1
  51. package/esm/type.source.d.ts +43 -13
  52. package/esm/type.source.js +0 -1
  53. package/esm/type.source.js.map +1 -1
  54. package/esm/use-lunatic/commons/compile-controls.js +1 -1
  55. package/esm/use-lunatic/commons/compile-controls.js.map +1 -1
  56. package/esm/use-lunatic/commons/component.d.ts +3 -2
  57. package/esm/use-lunatic/commons/component.js +5 -0
  58. package/esm/use-lunatic/commons/component.js.map +1 -1
  59. package/esm/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +1 -1
  60. package/esm/use-lunatic/commons/fill-components/fill-component-expressions.js +1 -42
  61. package/esm/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  62. package/esm/use-lunatic/commons/fill-components/fill-components.js +10 -2
  63. package/esm/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  64. package/esm/use-lunatic/commons/index.d.ts +4 -4
  65. package/esm/use-lunatic/commons/index.js +4 -4
  66. package/esm/use-lunatic/commons/index.js.map +1 -1
  67. package/esm/use-lunatic/commons/{check-loops.d.ts → pagination/check-loops.d.ts} +7 -7
  68. package/esm/use-lunatic/commons/{check-loops.js → pagination/check-loops.js} +3 -5
  69. package/esm/use-lunatic/commons/pagination/check-loops.js.map +1 -0
  70. package/{use-lunatic/commons → esm/use-lunatic/commons/pagination}/check-pager.d.ts +1 -1
  71. package/esm/use-lunatic/commons/pagination/check-pager.js.map +1 -0
  72. package/{use-lunatic/commons → esm/use-lunatic/commons/pagination}/create-map-pages.d.ts +1 -1
  73. package/esm/use-lunatic/commons/pagination/create-map-pages.js.map +1 -0
  74. package/esm/use-lunatic/commons/{is-First-last-page.d.ts → pagination/is-First-last-page.d.ts} +1 -1
  75. package/esm/use-lunatic/commons/pagination/is-First-last-page.js.map +1 -0
  76. package/{use-lunatic/commons → esm/use-lunatic/commons/pagination}/is-paginated-loop.d.ts +1 -1
  77. package/esm/use-lunatic/commons/pagination/is-paginated-loop.js.map +1 -0
  78. package/esm/use-lunatic/commons/{is-roundabout.d.ts → pagination/is-roundabout.d.ts} +1 -1
  79. package/esm/use-lunatic/commons/pagination/is-roundabout.js.map +1 -0
  80. package/esm/use-lunatic/commons/{page-navigation.d.ts → pagination/page-navigation.d.ts} +2 -2
  81. package/esm/use-lunatic/commons/{page-navigation.js → pagination/page-navigation.js} +6 -6
  82. package/esm/use-lunatic/commons/pagination/page-navigation.js.map +1 -0
  83. package/esm/use-lunatic/commons/pagination/page-navigation.spec.js.map +1 -0
  84. package/esm/use-lunatic/commons/{page-tag.d.ts → pagination/page-tag.d.ts} +8 -1
  85. package/esm/use-lunatic/commons/{page-tag.js → pagination/page-tag.js} +17 -6
  86. package/esm/use-lunatic/commons/pagination/page-tag.js.map +1 -0
  87. package/esm/use-lunatic/commons/{page-tag.spec.js → pagination/page-tag.spec.js} +9 -1
  88. package/esm/use-lunatic/commons/pagination/page-tag.spec.js.map +1 -0
  89. package/{use-lunatic/commons → esm/use-lunatic/commons/pagination}/page.d.ts +1 -1
  90. package/esm/use-lunatic/commons/{page.js → pagination/page.js} +2 -2
  91. package/esm/use-lunatic/commons/pagination/page.js.map +1 -0
  92. package/esm/use-lunatic/hooks/use-page-has-response.js +37 -21
  93. package/esm/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  94. package/esm/use-lunatic/hooks/useOverview.js +2 -2
  95. package/esm/use-lunatic/hooks/useOverview.js.map +1 -1
  96. package/esm/use-lunatic/props/getComponentTypeProps.d.ts +28 -26
  97. package/esm/use-lunatic/props/getComponentTypeProps.js +3 -1
  98. package/esm/use-lunatic/props/getComponentTypeProps.js.map +1 -1
  99. package/esm/use-lunatic/props/propOptions.d.ts +9 -1
  100. package/esm/use-lunatic/props/propOptions.js +56 -1
  101. package/esm/use-lunatic/props/propOptions.js.map +1 -1
  102. package/esm/use-lunatic/props/propOptions.spec.js +220 -56
  103. package/esm/use-lunatic/props/propOptions.spec.js.map +1 -1
  104. package/esm/use-lunatic/reducer/commons/auto-explore-loop.js +3 -2
  105. package/esm/use-lunatic/reducer/commons/auto-explore-loop.js.map +1 -1
  106. package/esm/use-lunatic/reducer/overview/overviewOnInit.d.ts +1 -2
  107. package/esm/use-lunatic/reducer/overview/overviewOnInit.js +1 -1
  108. package/esm/use-lunatic/reducer/overview/overviewOnInit.js.map +1 -1
  109. package/esm/use-lunatic/reducer/reduce-go-next-page.js +4 -3
  110. package/esm/use-lunatic/reducer/reduce-go-next-page.js.map +1 -1
  111. package/esm/use-lunatic/reducer/reduce-go-previous-page.js +2 -2
  112. package/esm/use-lunatic/reducer/reduce-go-previous-page.js.map +1 -1
  113. package/esm/use-lunatic/reducer/reduce-go-to-page.js +2 -2
  114. package/esm/use-lunatic/reducer/reduce-go-to-page.js.map +1 -1
  115. package/esm/use-lunatic/reducer/reducerInitializer.js +2 -2
  116. package/esm/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  117. package/esm/use-lunatic/type.d.ts +1 -1
  118. package/esm/utils/cast.js +5 -2
  119. package/esm/utils/cast.js.map +1 -1
  120. package/esm/utils/getArticulationState.js +2 -1
  121. package/esm/utils/getArticulationState.js.map +1 -1
  122. package/esm/utils/number.js +4 -4
  123. package/esm/utils/number.js.map +1 -1
  124. package/index.d.ts +1 -1
  125. package/index.js.map +1 -1
  126. package/package.json +98 -79
  127. package/src/components/Datepicker/DatepickerFields.tsx +4 -2
  128. package/src/components/Duration/getDurationFromValue.ts +3 -3
  129. package/src/components/LunaticComponents.tsx +32 -25
  130. package/src/components/PairwiseLinks/PairwiseLinks.tsx +18 -57
  131. package/src/components/PairwiseLinks/PairwiseMirror.tsx +19 -0
  132. package/src/components/PairwiseLinks/combinations.test.ts +103 -0
  133. package/src/components/PairwiseLinks/combinations.ts +34 -0
  134. package/src/components/type.ts +204 -231
  135. package/src/index.ts +1 -4
  136. package/src/stories/checkbox/checkbox.stories.tsx +13 -0
  137. package/src/stories/checkbox/sourceOneDynamicOptions.json +496 -0
  138. package/src/stories/dropdown/dropdown.stories.tsx +12 -0
  139. package/src/stories/dropdown/sourceDynamicOptions.json +496 -0
  140. package/src/stories/pairwise/pairwise.stories.tsx +17 -1
  141. package/src/stories/pairwise/sourcePairwiseLoop.json +356 -0
  142. package/src/stories/radio/radio.stories.tsx +13 -0
  143. package/src/stories/radio/sourceDynamicOptions.json +496 -0
  144. package/src/type.source.ts +45 -14
  145. package/src/use-lunatic/commons/compile-controls.ts +1 -1
  146. package/src/use-lunatic/commons/component.ts +7 -2
  147. package/src/use-lunatic/commons/fill-components/fill-component-expressions.ts +3 -46
  148. package/src/use-lunatic/commons/fill-components/fill-components.ts +9 -10
  149. package/src/use-lunatic/commons/index.ts +8 -4
  150. package/src/use-lunatic/commons/{check-loops.ts → pagination/check-loops.ts} +4 -10
  151. package/src/use-lunatic/commons/{check-pager.ts → pagination/check-pager.ts} +1 -1
  152. package/src/use-lunatic/commons/{create-map-pages.ts → pagination/create-map-pages.ts} +2 -2
  153. package/src/use-lunatic/commons/{is-First-last-page.ts → pagination/is-First-last-page.ts} +1 -1
  154. package/src/use-lunatic/commons/{is-paginated-loop.ts → pagination/is-paginated-loop.ts} +1 -1
  155. package/src/use-lunatic/commons/{is-roundabout.ts → pagination/is-roundabout.ts} +1 -1
  156. package/src/use-lunatic/commons/{page-navigation.spec.ts → pagination/page-navigation.spec.ts} +1 -1
  157. package/src/use-lunatic/commons/{page-navigation.ts → pagination/page-navigation.ts} +8 -8
  158. package/src/use-lunatic/commons/{page-tag.spec.ts → pagination/page-tag.spec.ts} +15 -2
  159. package/src/use-lunatic/commons/{page-tag.ts → pagination/page-tag.ts} +18 -7
  160. package/src/use-lunatic/commons/{page.ts → pagination/page.ts} +6 -3
  161. package/src/use-lunatic/hooks/use-page-has-response.ts +59 -28
  162. package/src/use-lunatic/hooks/useOverview.ts +6 -3
  163. package/src/use-lunatic/props/getComponentTypeProps.ts +2 -1
  164. package/src/use-lunatic/props/propOptions.spec.ts +217 -147
  165. package/src/use-lunatic/props/propOptions.ts +99 -10
  166. package/src/use-lunatic/reducer/commons/auto-explore-loop.ts +3 -2
  167. package/src/use-lunatic/reducer/overview/overviewOnInit.ts +2 -2
  168. package/src/use-lunatic/reducer/reduce-go-next-page.ts +4 -3
  169. package/src/use-lunatic/reducer/reduce-go-previous-page.ts +2 -2
  170. package/src/use-lunatic/reducer/reduce-go-to-page.ts +2 -2
  171. package/src/use-lunatic/reducer/reducerInitializer.tsx +2 -2
  172. package/src/use-lunatic/type.ts +1 -1
  173. package/src/utils/cast.ts +5 -2
  174. package/src/utils/getArticulationState.ts +2 -1
  175. package/src/utils/number.ts +4 -4
  176. package/tsconfig.build.tsbuildinfo +1 -1
  177. package/type.source.d.ts +43 -13
  178. package/type.source.js +0 -1
  179. package/type.source.js.map +1 -1
  180. package/use-lunatic/commons/compile-controls.js +1 -1
  181. package/use-lunatic/commons/compile-controls.js.map +1 -1
  182. package/use-lunatic/commons/component.d.ts +3 -2
  183. package/use-lunatic/commons/component.js +5 -0
  184. package/use-lunatic/commons/component.js.map +1 -1
  185. package/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +1 -1
  186. package/use-lunatic/commons/fill-components/fill-component-expressions.js +12 -53
  187. package/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  188. package/use-lunatic/commons/fill-components/fill-components.js +9 -1
  189. package/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  190. package/use-lunatic/commons/index.d.ts +4 -4
  191. package/use-lunatic/commons/index.js +4 -4
  192. package/use-lunatic/commons/index.js.map +1 -1
  193. package/use-lunatic/commons/{check-loops.d.ts → pagination/check-loops.d.ts} +7 -7
  194. package/use-lunatic/commons/{check-loops.js → pagination/check-loops.js} +3 -5
  195. package/use-lunatic/commons/pagination/check-loops.js.map +1 -0
  196. package/{esm/use-lunatic/commons → use-lunatic/commons/pagination}/check-pager.d.ts +1 -1
  197. package/use-lunatic/commons/pagination/check-pager.js.map +1 -0
  198. package/{esm/use-lunatic/commons → use-lunatic/commons/pagination}/create-map-pages.d.ts +1 -1
  199. package/use-lunatic/commons/pagination/create-map-pages.js.map +1 -0
  200. package/use-lunatic/commons/{is-First-last-page.d.ts → pagination/is-First-last-page.d.ts} +1 -1
  201. package/use-lunatic/commons/pagination/is-First-last-page.js.map +1 -0
  202. package/{esm/use-lunatic/commons → use-lunatic/commons/pagination}/is-paginated-loop.d.ts +1 -1
  203. package/use-lunatic/commons/pagination/is-paginated-loop.js.map +1 -0
  204. package/use-lunatic/commons/{is-roundabout.d.ts → pagination/is-roundabout.d.ts} +1 -1
  205. package/use-lunatic/commons/pagination/is-roundabout.js.map +1 -0
  206. package/use-lunatic/commons/{page-navigation.d.ts → pagination/page-navigation.d.ts} +2 -2
  207. package/use-lunatic/commons/{page-navigation.js → pagination/page-navigation.js} +6 -6
  208. package/use-lunatic/commons/pagination/page-navigation.js.map +1 -0
  209. package/use-lunatic/commons/pagination/page-navigation.spec.js.map +1 -0
  210. package/use-lunatic/commons/{page-tag.d.ts → pagination/page-tag.d.ts} +8 -1
  211. package/use-lunatic/commons/{page-tag.js → pagination/page-tag.js} +18 -6
  212. package/use-lunatic/commons/pagination/page-tag.js.map +1 -0
  213. package/use-lunatic/commons/{page-tag.spec.js → pagination/page-tag.spec.js} +8 -0
  214. package/use-lunatic/commons/pagination/page-tag.spec.js.map +1 -0
  215. package/{esm/use-lunatic/commons → use-lunatic/commons/pagination}/page.d.ts +1 -1
  216. package/use-lunatic/commons/{page.js → pagination/page.js} +2 -2
  217. package/use-lunatic/commons/pagination/page.js.map +1 -0
  218. package/use-lunatic/hooks/use-page-has-response.js +36 -21
  219. package/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  220. package/use-lunatic/hooks/useOverview.js +2 -2
  221. package/use-lunatic/hooks/useOverview.js.map +1 -1
  222. package/use-lunatic/props/getComponentTypeProps.d.ts +28 -26
  223. package/use-lunatic/props/getComponentTypeProps.js +2 -1
  224. package/use-lunatic/props/getComponentTypeProps.js.map +1 -1
  225. package/use-lunatic/props/propOptions.d.ts +9 -1
  226. package/use-lunatic/props/propOptions.js +57 -2
  227. package/use-lunatic/props/propOptions.js.map +1 -1
  228. package/use-lunatic/props/propOptions.spec.js +217 -55
  229. package/use-lunatic/props/propOptions.spec.js.map +1 -1
  230. package/use-lunatic/reducer/commons/auto-explore-loop.js +6 -2
  231. package/use-lunatic/reducer/commons/auto-explore-loop.js.map +1 -1
  232. package/use-lunatic/reducer/overview/overviewOnInit.d.ts +1 -2
  233. package/use-lunatic/reducer/overview/overviewOnInit.js +1 -1
  234. package/use-lunatic/reducer/overview/overviewOnInit.js.map +1 -1
  235. package/use-lunatic/reducer/reduce-go-next-page.js +4 -3
  236. package/use-lunatic/reducer/reduce-go-next-page.js.map +1 -1
  237. package/use-lunatic/reducer/reduce-go-previous-page.js +2 -2
  238. package/use-lunatic/reducer/reduce-go-previous-page.js.map +1 -1
  239. package/use-lunatic/reducer/reduce-go-to-page.js +2 -2
  240. package/use-lunatic/reducer/reduce-go-to-page.js.map +1 -1
  241. package/use-lunatic/reducer/reducerInitializer.js +2 -2
  242. package/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  243. package/use-lunatic/type.d.ts +1 -1
  244. package/utils/cast.js +5 -2
  245. package/utils/cast.js.map +1 -1
  246. package/utils/getArticulationState.js +2 -1
  247. package/utils/getArticulationState.js.map +1 -1
  248. package/utils/number.js +4 -4
  249. package/utils/number.js.map +1 -1
  250. package/esm/use-lunatic/commons/check-loops.js.map +0 -1
  251. package/esm/use-lunatic/commons/check-pager.js.map +0 -1
  252. package/esm/use-lunatic/commons/create-map-pages.js.map +0 -1
  253. package/esm/use-lunatic/commons/is-First-last-page.js.map +0 -1
  254. package/esm/use-lunatic/commons/is-paginated-loop.js.map +0 -1
  255. package/esm/use-lunatic/commons/is-roundabout.js.map +0 -1
  256. package/esm/use-lunatic/commons/page-navigation.js.map +0 -1
  257. package/esm/use-lunatic/commons/page-navigation.spec.js.map +0 -1
  258. package/esm/use-lunatic/commons/page-tag.js.map +0 -1
  259. package/esm/use-lunatic/commons/page-tag.spec.js.map +0 -1
  260. package/esm/use-lunatic/commons/page.js.map +0 -1
  261. package/use-lunatic/commons/check-loops.js.map +0 -1
  262. package/use-lunatic/commons/check-pager.js.map +0 -1
  263. package/use-lunatic/commons/create-map-pages.js.map +0 -1
  264. package/use-lunatic/commons/is-First-last-page.js.map +0 -1
  265. package/use-lunatic/commons/is-paginated-loop.js.map +0 -1
  266. package/use-lunatic/commons/is-roundabout.js.map +0 -1
  267. package/use-lunatic/commons/page-navigation.js.map +0 -1
  268. package/use-lunatic/commons/page-navigation.spec.js.map +0 -1
  269. package/use-lunatic/commons/page-tag.js.map +0 -1
  270. package/use-lunatic/commons/page-tag.spec.js.map +0 -1
  271. package/use-lunatic/commons/page.js.map +0 -1
  272. /package/esm/use-lunatic/commons/{check-pager.js → pagination/check-pager.js} +0 -0
  273. /package/esm/use-lunatic/commons/{create-map-pages.js → pagination/create-map-pages.js} +0 -0
  274. /package/esm/use-lunatic/commons/{is-First-last-page.js → pagination/is-First-last-page.js} +0 -0
  275. /package/esm/use-lunatic/commons/{is-paginated-loop.js → pagination/is-paginated-loop.js} +0 -0
  276. /package/esm/use-lunatic/commons/{is-roundabout.js → pagination/is-roundabout.js} +0 -0
  277. /package/esm/use-lunatic/commons/{page-navigation.spec.d.ts → pagination/page-navigation.spec.d.ts} +0 -0
  278. /package/esm/use-lunatic/commons/{page-navigation.spec.js → pagination/page-navigation.spec.js} +0 -0
  279. /package/esm/use-lunatic/commons/{page-tag.spec.d.ts → pagination/page-tag.spec.d.ts} +0 -0
  280. /package/use-lunatic/commons/{check-pager.js → pagination/check-pager.js} +0 -0
  281. /package/use-lunatic/commons/{create-map-pages.js → pagination/create-map-pages.js} +0 -0
  282. /package/use-lunatic/commons/{is-First-last-page.js → pagination/is-First-last-page.js} +0 -0
  283. /package/use-lunatic/commons/{is-paginated-loop.js → pagination/is-paginated-loop.js} +0 -0
  284. /package/use-lunatic/commons/{is-roundabout.js → pagination/is-roundabout.js} +0 -0
  285. /package/use-lunatic/commons/{page-navigation.spec.d.ts → pagination/page-navigation.spec.d.ts} +0 -0
  286. /package/use-lunatic/commons/{page-navigation.spec.js → pagination/page-navigation.spec.js} +0 -0
  287. /package/use-lunatic/commons/{page-tag.spec.d.ts → pagination/page-tag.spec.d.ts} +0 -0
package/esm/utils/cast.js CHANGED
@@ -9,12 +9,15 @@ export function castNumber(v) {
9
9
  return v;
10
10
  }
11
11
  if (typeof v === 'string') {
12
- return parseInt(v, 10);
12
+ return Number.parseInt(v, 10);
13
13
  }
14
14
  if (Array.isArray(v) && v.length > 0) {
15
15
  return castNumber(v[0]);
16
16
  }
17
- throw new Error(`Cannot cast "${v}" to number`);
17
+ if (v === null) {
18
+ return 0;
19
+ }
20
+ throw new TypeError(`Cannot cast "${v}" to number`);
18
21
  }
19
22
  /**
20
23
  * Force a number, with a default value if an unmanageable type is encountered
@@ -1 +1 @@
1
- {"version":3,"file":"cast.js","sourceRoot":"","sources":["../../src/utils/cast.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,CAAU;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GACjC,CAAC,UAAkB,CAAC,EAAE,EAAE,CACxB,CAAC,CAAU,EAAU,EAAE;IACtB,IAAI,CAAC;QACJ,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAAC,WAAM,CAAC;QACR,OAAO,OAAO,CAAC;IAChB,CAAC;AACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,CAAU;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"cast.js","sourceRoot":"","sources":["../../src/utils/cast.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,CAAU;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC;IACV,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GACjC,CAAC,UAAkB,CAAC,EAAE,EAAE,CACxB,CAAC,CAAU,EAAU,EAAE;IACtB,IAAI,CAAC;QACJ,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAAC,WAAM,CAAC;QACR,OAAO,OAAO,CAAC;IAChB,CAAC;AACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,CAAU;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { reducerInitializer } from '../use-lunatic/reducer/reducerInitializer';
2
2
  import { times } from './array';
3
3
  import { forceInt } from './number';
4
+ import { isRoundaboutComponent } from '../use-lunatic/commons/component';
4
5
  export var ArticulationState;
5
6
  (function (ArticulationState) {
6
7
  ArticulationState[ArticulationState["COMPLETED"] = 1] = "COMPLETED";
@@ -67,7 +68,7 @@ export function getArticulationState(source, data) {
67
68
  }
68
69
  export function findComponentById(components, id) {
69
70
  for (const c of components) {
70
- if ('id' in c && c.id === id && c.componentType === 'Roundabout') {
71
+ if ('id' in c && c.id === id && isRoundaboutComponent(c)) {
71
72
  return c;
72
73
  }
73
74
  if ('components' in c) {
@@ -1 +1 @@
1
- {"version":3,"file":"getArticulationState.js","sourceRoot":"","sources":["../../src/utils/getArticulationState.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC5B,mEAAa,CAAA;IACb,+DAAW,CAAA;IACX,wEAAgB,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,oBAAoB,CACnC,MAAsD,EACtD,IAAiB;;IAEjB,MAAM,UAAU,GAAG,iBAAiB,CACnC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,CAAC,MAAM,CAC1B,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAC1B,SAAS,CAAC,GAAG,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAC,KAAK,mCAAI,GAAG,CAAC,CAClD,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAc;KACjE,CAAC,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;YACN,KAAK,EAAE,EAAE;SACT,CAAC;IACH,CAAC;IAED,OAAO;QACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAC5B,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,QAAQ,CACjB,MAAA,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,mCAC9C,iBAAiB,CAAC,WAAW,CAC9B;gBACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI;oBACrB,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;oBACjC,CAAC,CAAC,GAAG,CAAY;aAClB,CAAC,CAAA;SAAA,CAAC;KACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,UAAiC,EACjC,EAAU;IAEV,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;YAClE,OAAO,CAAC,CAAC;QACV,CAAC;QACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"getArticulationState.js","sourceRoot":"","sources":["../../src/utils/getArticulationState.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC5B,mEAAa,CAAA;IACb,+DAAW,CAAA;IACX,wEAAgB,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,oBAAoB,CACnC,MAAsD,EACtD,IAAiB;;IAEjB,MAAM,UAAU,GAAG,iBAAiB,CACnC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,CAAC,MAAM,CAC1B,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAC1B,SAAS,CAAC,GAAG,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAC,KAAK,mCAAI,GAAG,CAAC,CAClD,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAc;KACjE,CAAC,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;YACN,KAAK,EAAE,EAAE;SACT,CAAC;IACH,CAAC;IAED,OAAO;QACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAC5B,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,QAAQ,CACjB,MAAA,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,mCAC9C,iBAAiB,CAAC,WAAW,CAC9B;gBACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI;oBACrB,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;oBACjC,CAAC,CAAC,GAAG,CAAY;aAClB,CAAC,CAAA;SAAA,CAAC;KACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,UAAiC,EACjC,EAAU;IAEV,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,CAAC;QACV,CAAC;QACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -1,15 +1,15 @@
1
1
  export function forceInt(n) {
2
2
  if (typeof n === 'string') {
3
- const casted = parseInt(n, 10);
3
+ const casted = Number.parseInt(n, 10);
4
4
  if (Number.isNaN(casted)) {
5
- throw new Error(`Cannot cast ${n} to int`);
5
+ throw new TypeError(`Cannot cast ${n} to int`);
6
6
  }
7
7
  return casted;
8
8
  }
9
9
  if (typeof n === 'number') {
10
10
  return n;
11
11
  }
12
- throw new Error(`Cannot cast ${typeof n} to int`);
12
+ throw new TypeError(`Cannot cast ${typeof n} to int`);
13
13
  }
14
14
  /**
15
15
  * Limit a number between 2 values
@@ -37,7 +37,7 @@ export function toNumber(v) {
37
37
  return v;
38
38
  }
39
39
  if (typeof v === 'string') {
40
- return parseInt(v, 10);
40
+ return Number.parseInt(v, 10);
41
41
  }
42
42
  return null;
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/utils/number.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW;IAC1D,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/utils/number.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW;IAC1D,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
package/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { useLunatic } from './use-lunatic/use-lunatic';
11
11
  export { getArticulationState } from './utils/getArticulationState';
12
12
  export { MDLabel } from './components/shared/MDLabel/MDLabel';
13
13
  export type { LunaticComponentDefinition, LunaticControl, LunaticData, LunaticValues, LunaticError, LunaticExpression, LunaticVariable, LunaticCollectedValue, LunaticStateVariable, LunaticState, LunaticPager, LunaticOptions, LunaticChangesHandler, } from './use-lunatic/type';
14
- export type { LunaticComponentProps, LunaticExtraProps, } from './components/type';
14
+ export type { LunaticComponentProps } from './components/type';
15
15
  export type { LunaticSlotComponents } from './components/shared/HOC/slottableComponent';
16
16
  export type { LunaticSource } from './use-lunatic/type';
17
17
  export { VTLMissingDependencies, VTLExpressionError, VTLMissingDependency, VTLInterpretationError, } from './use-lunatic/commons/variables/errors';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,gDAA6D;AAApD,qGAAA,OAAO,OAAc;AAC9B,iFAAgF;AAAvE,8GAAA,aAAa,OAAA;AACtB,4DAA2D;AAAlD,gGAAA,MAAM,OAAA;AAEf,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,mGAAgG;AAAvF,gIAAA,qBAAqB,OAAA;AAC9B,yDAAuD;AAA9C,yGAAA,UAAU,OAAA;AACnB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAE7B,+DAA8D;AAArD,kGAAA,OAAO,OAAA;AAyBhB,oCAAoC;AACpC,iEAKgD;AAJ/C,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,gHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,gDAA6D;AAApD,qGAAA,OAAO,OAAc;AAC9B,iFAAgF;AAAvE,8GAAA,aAAa,OAAA;AACtB,4DAA2D;AAAlD,gGAAA,MAAM,OAAA;AAEf,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,mGAAgG;AAAvF,gIAAA,qBAAqB,OAAA;AAC9B,yDAAuD;AAA9C,yGAAA,UAAU,OAAA;AACnB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAE7B,+DAA8D;AAArD,kGAAA,OAAO,OAAA;AAsBhB,oCAAoC;AACpC,iEAKgD;AAJ/C,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,gHAAA,sBAAsB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "3.11.2",
3
+ "version": "3.12.0",
4
4
  "description": "Library of questionnaire components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -74,6 +74,9 @@
74
74
  "src/components/Loop/utils.ts",
75
75
  "src/components/LunaticComponents.tsx",
76
76
  "src/components/PairwiseLinks/PairwiseLinks.tsx",
77
+ "src/components/PairwiseLinks/PairwiseMirror.tsx",
78
+ "src/components/PairwiseLinks/combinations.test.ts",
79
+ "src/components/PairwiseLinks/combinations.ts",
77
80
  "src/components/Question/Question.tsx",
78
81
  "src/components/Radio/Radio.tsx",
79
82
  "src/components/RosterForLoop/RosterForLoop.spec.tsx",
@@ -277,6 +280,7 @@
277
280
  "src/stories/checkbox/sourceGroupLoop.json",
278
281
  "src/stories/checkbox/sourceOne.json",
279
282
  "src/stories/checkbox/sourceOneDetail.json",
283
+ "src/stories/checkbox/sourceOneDynamicOptions.json",
280
284
  "src/stories/datepicker/datepicker.stories.tsx",
281
285
  "src/stories/datepicker/source.json",
282
286
  "src/stories/declaration/declaration.stories.tsx",
@@ -284,6 +288,7 @@
284
288
  "src/stories/declaration/sourceMarkdown.json",
285
289
  "src/stories/dropdown/dropdown.stories.tsx",
286
290
  "src/stories/dropdown/source.json",
291
+ "src/stories/dropdown/sourceDynamicOptions.json",
287
292
  "src/stories/duration/duration.stories.tsx",
288
293
  "src/stories/duration/sourceMonths.json",
289
294
  "src/stories/duration/sourceTime.json",
@@ -304,6 +309,7 @@
304
309
  "src/stories/pairwise/pairwise.stories.tsx",
305
310
  "src/stories/pairwise/source.json",
306
311
  "src/stories/pairwise/sourceGlobalVariables.json",
312
+ "src/stories/pairwise/sourcePairwiseLoop.json",
307
313
  "src/stories/paste.stories.tsx",
308
314
  "src/stories/question/question.stories.tsx",
309
315
  "src/stories/question/source.json",
@@ -322,6 +328,7 @@
322
328
  "src/stories/radio/source.json",
323
329
  "src/stories/radio/sourceCondition.json",
324
330
  "src/stories/radio/sourceDetail.json",
331
+ "src/stories/radio/sourceDynamicOptions.json",
325
332
  "src/stories/radio/sourceHorizontal.json",
326
333
  "src/stories/roundabout/roundabout.stories.tsx",
327
334
  "src/stories/roundabout/source.json",
@@ -362,11 +369,8 @@
362
369
  "src/type.utils.ts",
363
370
  "src/use-lunatic/__snapshots__/use-lunatic.test.ts.snap",
364
371
  "src/use-lunatic/actions.ts",
365
- "src/use-lunatic/commons/check-loops.ts",
366
- "src/use-lunatic/commons/check-pager.ts",
367
372
  "src/use-lunatic/commons/compile-controls.ts",
368
373
  "src/use-lunatic/commons/component.ts",
369
- "src/use-lunatic/commons/create-map-pages.ts",
370
374
  "src/use-lunatic/commons/execute-condition-filter.ts",
371
375
  "src/use-lunatic/commons/fill-components/fill-component-expressions.spec.ts",
372
376
  "src/use-lunatic/commons/fill-components/fill-component-expressions.ts",
@@ -375,14 +379,17 @@
375
379
  "src/use-lunatic/commons/get-compatible-vtl-expression.ts",
376
380
  "src/use-lunatic/commons/get-components-from-state.ts",
377
381
  "src/use-lunatic/commons/index.ts",
378
- "src/use-lunatic/commons/is-First-last-page.ts",
379
- "src/use-lunatic/commons/is-paginated-loop.ts",
380
- "src/use-lunatic/commons/is-roundabout.ts",
381
- "src/use-lunatic/commons/page-navigation.spec.ts",
382
- "src/use-lunatic/commons/page-navigation.ts",
383
- "src/use-lunatic/commons/page-tag.spec.ts",
384
- "src/use-lunatic/commons/page-tag.ts",
385
- "src/use-lunatic/commons/page.ts",
382
+ "src/use-lunatic/commons/pagination/check-loops.ts",
383
+ "src/use-lunatic/commons/pagination/check-pager.ts",
384
+ "src/use-lunatic/commons/pagination/create-map-pages.ts",
385
+ "src/use-lunatic/commons/pagination/is-First-last-page.ts",
386
+ "src/use-lunatic/commons/pagination/is-paginated-loop.ts",
387
+ "src/use-lunatic/commons/pagination/is-roundabout.ts",
388
+ "src/use-lunatic/commons/pagination/page-navigation.spec.ts",
389
+ "src/use-lunatic/commons/pagination/page-navigation.ts",
390
+ "src/use-lunatic/commons/pagination/page-tag.spec.ts",
391
+ "src/use-lunatic/commons/pagination/page-tag.ts",
392
+ "src/use-lunatic/commons/pagination/page.ts",
386
393
  "src/use-lunatic/commons/variables/behaviours/cleaning-behaviour.ts",
387
394
  "src/use-lunatic/commons/variables/behaviours/missing-behaviour.ts",
388
395
  "src/use-lunatic/commons/variables/behaviours/resizing-behaviour.ts",
@@ -560,6 +567,12 @@
560
567
  "components/PairwiseLinks/PairwiseLinks.d.ts",
561
568
  "components/PairwiseLinks/PairwiseLinks.js",
562
569
  "components/PairwiseLinks/PairwiseLinks.js.map",
570
+ "components/PairwiseLinks/PairwiseMirror.d.ts",
571
+ "components/PairwiseLinks/PairwiseMirror.js",
572
+ "components/PairwiseLinks/PairwiseMirror.js.map",
573
+ "components/PairwiseLinks/combinations.d.ts",
574
+ "components/PairwiseLinks/combinations.js",
575
+ "components/PairwiseLinks/combinations.js.map",
563
576
  "components/Question/Question.d.ts",
564
577
  "components/Question/Question.js",
565
578
  "components/Question/Question.js.map",
@@ -989,6 +1002,12 @@
989
1002
  "esm/components/PairwiseLinks/PairwiseLinks.d.ts",
990
1003
  "esm/components/PairwiseLinks/PairwiseLinks.js",
991
1004
  "esm/components/PairwiseLinks/PairwiseLinks.js.map",
1005
+ "esm/components/PairwiseLinks/PairwiseMirror.d.ts",
1006
+ "esm/components/PairwiseLinks/PairwiseMirror.js",
1007
+ "esm/components/PairwiseLinks/PairwiseMirror.js.map",
1008
+ "esm/components/PairwiseLinks/combinations.d.ts",
1009
+ "esm/components/PairwiseLinks/combinations.js",
1010
+ "esm/components/PairwiseLinks/combinations.js.map",
992
1011
  "esm/components/Question/Question.d.ts",
993
1012
  "esm/components/Question/Question.js",
994
1013
  "esm/components/Question/Question.js.map",
@@ -1381,21 +1400,12 @@
1381
1400
  "esm/use-lunatic/actions.d.ts",
1382
1401
  "esm/use-lunatic/actions.js",
1383
1402
  "esm/use-lunatic/actions.js.map",
1384
- "esm/use-lunatic/commons/check-loops.d.ts",
1385
- "esm/use-lunatic/commons/check-loops.js",
1386
- "esm/use-lunatic/commons/check-loops.js.map",
1387
- "esm/use-lunatic/commons/check-pager.d.ts",
1388
- "esm/use-lunatic/commons/check-pager.js",
1389
- "esm/use-lunatic/commons/check-pager.js.map",
1390
1403
  "esm/use-lunatic/commons/compile-controls.d.ts",
1391
1404
  "esm/use-lunatic/commons/compile-controls.js",
1392
1405
  "esm/use-lunatic/commons/compile-controls.js.map",
1393
1406
  "esm/use-lunatic/commons/component.d.ts",
1394
1407
  "esm/use-lunatic/commons/component.js",
1395
1408
  "esm/use-lunatic/commons/component.js.map",
1396
- "esm/use-lunatic/commons/create-map-pages.d.ts",
1397
- "esm/use-lunatic/commons/create-map-pages.js",
1398
- "esm/use-lunatic/commons/create-map-pages.js.map",
1399
1409
  "esm/use-lunatic/commons/execute-condition-filter.d.ts",
1400
1410
  "esm/use-lunatic/commons/execute-condition-filter.js",
1401
1411
  "esm/use-lunatic/commons/execute-condition-filter.js.map",
@@ -1420,30 +1430,39 @@
1420
1430
  "esm/use-lunatic/commons/index.d.ts",
1421
1431
  "esm/use-lunatic/commons/index.js",
1422
1432
  "esm/use-lunatic/commons/index.js.map",
1423
- "esm/use-lunatic/commons/is-First-last-page.d.ts",
1424
- "esm/use-lunatic/commons/is-First-last-page.js",
1425
- "esm/use-lunatic/commons/is-First-last-page.js.map",
1426
- "esm/use-lunatic/commons/is-paginated-loop.d.ts",
1427
- "esm/use-lunatic/commons/is-paginated-loop.js",
1428
- "esm/use-lunatic/commons/is-paginated-loop.js.map",
1429
- "esm/use-lunatic/commons/is-roundabout.d.ts",
1430
- "esm/use-lunatic/commons/is-roundabout.js",
1431
- "esm/use-lunatic/commons/is-roundabout.js.map",
1432
- "esm/use-lunatic/commons/page-navigation.d.ts",
1433
- "esm/use-lunatic/commons/page-navigation.js",
1434
- "esm/use-lunatic/commons/page-navigation.js.map",
1435
- "esm/use-lunatic/commons/page-navigation.spec.d.ts",
1436
- "esm/use-lunatic/commons/page-navigation.spec.js",
1437
- "esm/use-lunatic/commons/page-navigation.spec.js.map",
1438
- "esm/use-lunatic/commons/page-tag.d.ts",
1439
- "esm/use-lunatic/commons/page-tag.js",
1440
- "esm/use-lunatic/commons/page-tag.js.map",
1441
- "esm/use-lunatic/commons/page-tag.spec.d.ts",
1442
- "esm/use-lunatic/commons/page-tag.spec.js",
1443
- "esm/use-lunatic/commons/page-tag.spec.js.map",
1444
- "esm/use-lunatic/commons/page.d.ts",
1445
- "esm/use-lunatic/commons/page.js",
1446
- "esm/use-lunatic/commons/page.js.map",
1433
+ "esm/use-lunatic/commons/pagination/check-loops.d.ts",
1434
+ "esm/use-lunatic/commons/pagination/check-loops.js",
1435
+ "esm/use-lunatic/commons/pagination/check-loops.js.map",
1436
+ "esm/use-lunatic/commons/pagination/check-pager.d.ts",
1437
+ "esm/use-lunatic/commons/pagination/check-pager.js",
1438
+ "esm/use-lunatic/commons/pagination/check-pager.js.map",
1439
+ "esm/use-lunatic/commons/pagination/create-map-pages.d.ts",
1440
+ "esm/use-lunatic/commons/pagination/create-map-pages.js",
1441
+ "esm/use-lunatic/commons/pagination/create-map-pages.js.map",
1442
+ "esm/use-lunatic/commons/pagination/is-First-last-page.d.ts",
1443
+ "esm/use-lunatic/commons/pagination/is-First-last-page.js",
1444
+ "esm/use-lunatic/commons/pagination/is-First-last-page.js.map",
1445
+ "esm/use-lunatic/commons/pagination/is-paginated-loop.d.ts",
1446
+ "esm/use-lunatic/commons/pagination/is-paginated-loop.js",
1447
+ "esm/use-lunatic/commons/pagination/is-paginated-loop.js.map",
1448
+ "esm/use-lunatic/commons/pagination/is-roundabout.d.ts",
1449
+ "esm/use-lunatic/commons/pagination/is-roundabout.js",
1450
+ "esm/use-lunatic/commons/pagination/is-roundabout.js.map",
1451
+ "esm/use-lunatic/commons/pagination/page-navigation.d.ts",
1452
+ "esm/use-lunatic/commons/pagination/page-navigation.js",
1453
+ "esm/use-lunatic/commons/pagination/page-navigation.js.map",
1454
+ "esm/use-lunatic/commons/pagination/page-navigation.spec.d.ts",
1455
+ "esm/use-lunatic/commons/pagination/page-navigation.spec.js",
1456
+ "esm/use-lunatic/commons/pagination/page-navigation.spec.js.map",
1457
+ "esm/use-lunatic/commons/pagination/page-tag.d.ts",
1458
+ "esm/use-lunatic/commons/pagination/page-tag.js",
1459
+ "esm/use-lunatic/commons/pagination/page-tag.js.map",
1460
+ "esm/use-lunatic/commons/pagination/page-tag.spec.d.ts",
1461
+ "esm/use-lunatic/commons/pagination/page-tag.spec.js",
1462
+ "esm/use-lunatic/commons/pagination/page-tag.spec.js.map",
1463
+ "esm/use-lunatic/commons/pagination/page.d.ts",
1464
+ "esm/use-lunatic/commons/pagination/page.js",
1465
+ "esm/use-lunatic/commons/pagination/page.js.map",
1447
1466
  "esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.d.ts",
1448
1467
  "esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js",
1449
1468
  "esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js.map",
@@ -1723,21 +1742,12 @@
1723
1742
  "use-lunatic/actions.d.ts",
1724
1743
  "use-lunatic/actions.js",
1725
1744
  "use-lunatic/actions.js.map",
1726
- "use-lunatic/commons/check-loops.d.ts",
1727
- "use-lunatic/commons/check-loops.js",
1728
- "use-lunatic/commons/check-loops.js.map",
1729
- "use-lunatic/commons/check-pager.d.ts",
1730
- "use-lunatic/commons/check-pager.js",
1731
- "use-lunatic/commons/check-pager.js.map",
1732
1745
  "use-lunatic/commons/compile-controls.d.ts",
1733
1746
  "use-lunatic/commons/compile-controls.js",
1734
1747
  "use-lunatic/commons/compile-controls.js.map",
1735
1748
  "use-lunatic/commons/component.d.ts",
1736
1749
  "use-lunatic/commons/component.js",
1737
1750
  "use-lunatic/commons/component.js.map",
1738
- "use-lunatic/commons/create-map-pages.d.ts",
1739
- "use-lunatic/commons/create-map-pages.js",
1740
- "use-lunatic/commons/create-map-pages.js.map",
1741
1751
  "use-lunatic/commons/execute-condition-filter.d.ts",
1742
1752
  "use-lunatic/commons/execute-condition-filter.js",
1743
1753
  "use-lunatic/commons/execute-condition-filter.js.map",
@@ -1762,30 +1772,39 @@
1762
1772
  "use-lunatic/commons/index.d.ts",
1763
1773
  "use-lunatic/commons/index.js",
1764
1774
  "use-lunatic/commons/index.js.map",
1765
- "use-lunatic/commons/is-First-last-page.d.ts",
1766
- "use-lunatic/commons/is-First-last-page.js",
1767
- "use-lunatic/commons/is-First-last-page.js.map",
1768
- "use-lunatic/commons/is-paginated-loop.d.ts",
1769
- "use-lunatic/commons/is-paginated-loop.js",
1770
- "use-lunatic/commons/is-paginated-loop.js.map",
1771
- "use-lunatic/commons/is-roundabout.d.ts",
1772
- "use-lunatic/commons/is-roundabout.js",
1773
- "use-lunatic/commons/is-roundabout.js.map",
1774
- "use-lunatic/commons/page-navigation.d.ts",
1775
- "use-lunatic/commons/page-navigation.js",
1776
- "use-lunatic/commons/page-navigation.js.map",
1777
- "use-lunatic/commons/page-navigation.spec.d.ts",
1778
- "use-lunatic/commons/page-navigation.spec.js",
1779
- "use-lunatic/commons/page-navigation.spec.js.map",
1780
- "use-lunatic/commons/page-tag.d.ts",
1781
- "use-lunatic/commons/page-tag.js",
1782
- "use-lunatic/commons/page-tag.js.map",
1783
- "use-lunatic/commons/page-tag.spec.d.ts",
1784
- "use-lunatic/commons/page-tag.spec.js",
1785
- "use-lunatic/commons/page-tag.spec.js.map",
1786
- "use-lunatic/commons/page.d.ts",
1787
- "use-lunatic/commons/page.js",
1788
- "use-lunatic/commons/page.js.map",
1775
+ "use-lunatic/commons/pagination/check-loops.d.ts",
1776
+ "use-lunatic/commons/pagination/check-loops.js",
1777
+ "use-lunatic/commons/pagination/check-loops.js.map",
1778
+ "use-lunatic/commons/pagination/check-pager.d.ts",
1779
+ "use-lunatic/commons/pagination/check-pager.js",
1780
+ "use-lunatic/commons/pagination/check-pager.js.map",
1781
+ "use-lunatic/commons/pagination/create-map-pages.d.ts",
1782
+ "use-lunatic/commons/pagination/create-map-pages.js",
1783
+ "use-lunatic/commons/pagination/create-map-pages.js.map",
1784
+ "use-lunatic/commons/pagination/is-First-last-page.d.ts",
1785
+ "use-lunatic/commons/pagination/is-First-last-page.js",
1786
+ "use-lunatic/commons/pagination/is-First-last-page.js.map",
1787
+ "use-lunatic/commons/pagination/is-paginated-loop.d.ts",
1788
+ "use-lunatic/commons/pagination/is-paginated-loop.js",
1789
+ "use-lunatic/commons/pagination/is-paginated-loop.js.map",
1790
+ "use-lunatic/commons/pagination/is-roundabout.d.ts",
1791
+ "use-lunatic/commons/pagination/is-roundabout.js",
1792
+ "use-lunatic/commons/pagination/is-roundabout.js.map",
1793
+ "use-lunatic/commons/pagination/page-navigation.d.ts",
1794
+ "use-lunatic/commons/pagination/page-navigation.js",
1795
+ "use-lunatic/commons/pagination/page-navigation.js.map",
1796
+ "use-lunatic/commons/pagination/page-navigation.spec.d.ts",
1797
+ "use-lunatic/commons/pagination/page-navigation.spec.js",
1798
+ "use-lunatic/commons/pagination/page-navigation.spec.js.map",
1799
+ "use-lunatic/commons/pagination/page-tag.d.ts",
1800
+ "use-lunatic/commons/pagination/page-tag.js",
1801
+ "use-lunatic/commons/pagination/page-tag.js.map",
1802
+ "use-lunatic/commons/pagination/page-tag.spec.d.ts",
1803
+ "use-lunatic/commons/pagination/page-tag.spec.js",
1804
+ "use-lunatic/commons/pagination/page-tag.spec.js.map",
1805
+ "use-lunatic/commons/pagination/page.d.ts",
1806
+ "use-lunatic/commons/pagination/page.js",
1807
+ "use-lunatic/commons/pagination/page.js.map",
1789
1808
  "use-lunatic/commons/variables/behaviours/cleaning-behaviour.d.ts",
1790
1809
  "use-lunatic/commons/variables/behaviours/cleaning-behaviour.js",
1791
1810
  "use-lunatic/commons/variables/behaviours/cleaning-behaviour.js.map",
@@ -2085,4 +2104,4 @@
2085
2104
  "node": "20.16.0",
2086
2105
  "pnpm": "9.15.0"
2087
2106
  }
2088
- }
2107
+ }
@@ -102,9 +102,11 @@ export const CustomDatepickerFields = slottableComponent<CustomProps>(
102
102
 
103
103
  function numbersFromDateString(s?: string): [number, number, number] {
104
104
  if (!s) {
105
- return [NaN, NaN, NaN];
105
+ return [Number.NaN, Number.NaN, Number.NaN];
106
106
  }
107
- const [year, month, day] = s.split('-').map((part) => parseInt(part, 10));
107
+ const [year, month, day] = s
108
+ .split('-')
109
+ .map((part) => Number.parseInt(part, 10));
108
110
  return [year, month, day];
109
111
  }
110
112
 
@@ -32,13 +32,13 @@ export const getDurationFromValue = (
32
32
  * - "P12Y3M" => [12, 3]
33
33
  */
34
34
  const matchFromFormat = (value: string, format: DurationFormat): number[] => {
35
- const regex = new RegExp(format.replaceAll('n', '(\\d+)'));
36
- const match = value.match(regex);
35
+ const regex = new RegExp(format.replaceAll('n', String.raw`(\d+)`));
36
+ const match = regex.exec(value);
37
37
  if (!match) {
38
38
  throw new Error(
39
39
  `Invalid duration value "${value}" does not match the format "${format}"`
40
40
  );
41
41
  }
42
42
  const [, ...matches] = match;
43
- return matches.map((v) => parseInt(v, 10));
43
+ return matches.map((v) => Number.parseInt(v, 10));
44
44
  };
@@ -57,7 +57,7 @@ export function LunaticComponents<V = unknown>({
57
57
  memo,
58
58
  slots,
59
59
  wrapper = (args) => <LunaticComponentWrapper {...args} />,
60
- }: Props<V>) {
60
+ }: Readonly<Props<V>>) {
61
61
  const wrapperRef = useRef<HTMLDivElement>(null);
62
62
  const hasComponents = components.length > 0;
63
63
  const WrapperComponent = autoFocusKey ? 'div' : Fragment;
@@ -66,24 +66,27 @@ export function LunaticComponents<V = unknown>({
66
66
 
67
67
  return (
68
68
  <WrapperComponent
69
- ref={WrapperComponent === Fragment ? undefined : wrapperRef}
69
+ // ref is not allowed on React.Fragment
70
+ {...(WrapperComponent == Fragment ? {} : { ref: wrapperRef })}
70
71
  >
71
72
  <SlotsProvider slots={slots}>
72
73
  {components.map((component, k) => {
73
74
  if (hasComponentType(component)) {
74
- if (blocklist && blocklist.includes(component.componentType)) {
75
+ if (blocklist?.includes(component.componentType)) {
75
76
  return (
76
77
  <Fragment key={computeId(component, k)}>
77
- {wrapper({
78
- children: (
79
- <div style={{ color: 'red' }}>
80
- Component "{component.componentType}" is not allowed
81
- here
82
- </div>
83
- ),
84
- index: k,
85
- ...component,
86
- })}
78
+ {wrapper(
79
+ {
80
+ children: (
81
+ <div style={{ color: 'red' }}>
82
+ Component "{component.componentType}" is not allowed
83
+ here
84
+ </div>
85
+ ),
86
+ index: k,
87
+ ...component,
88
+ } as any /* this is too dynamic */
89
+ )}
87
90
  </Fragment>
88
91
  );
89
92
  }
@@ -94,15 +97,17 @@ export function LunaticComponents<V = unknown>({
94
97
  };
95
98
  return (
96
99
  <Fragment key={computeId(component, k)}>
97
- {wrapper({
98
- children: memo ? (
99
- <LunaticComponentMemo {...props} />
100
- ) : (
101
- <LunaticComponent {...props} />
102
- ),
103
- index: k,
104
- ...props,
105
- })}
100
+ {wrapper(
101
+ {
102
+ children: memo ? (
103
+ <LunaticComponentMemo {...props} />
104
+ ) : (
105
+ <LunaticComponent {...props} />
106
+ ),
107
+ index: k,
108
+ ...props,
109
+ } as any /* this is too dynamic */
110
+ )}
106
111
  </Fragment>
107
112
  );
108
113
  }
@@ -110,7 +115,7 @@ export function LunaticComponents<V = unknown>({
110
115
  // In some case (table for instance) we have static component that only have a label (no componentType)
111
116
  if (hasLabel(component)) {
112
117
  return (
113
- <Fragment key={k}>
118
+ <Fragment key={computeId(component, k)}>
114
119
  {wrapper({
115
120
  ...component,
116
121
  children: component.label,
@@ -123,7 +128,7 @@ export function LunaticComponents<V = unknown>({
123
128
  // Component is a ReactNode
124
129
  if (isValidElement(component)) {
125
130
  return (
126
- <Fragment key={k}>
131
+ <Fragment key={computeId(component, k)}>
127
132
  {wrapper({
128
133
  children: component,
129
134
  index: k,
@@ -151,7 +156,9 @@ function LunaticComponent(props: LunaticComponentProps) {
151
156
  );
152
157
  }
153
158
 
154
- function LunaticError({ error }: { error: { toString: () => string } }) {
159
+ function LunaticError({
160
+ error,
161
+ }: Readonly<{ error: { toString: () => string } }>) {
155
162
  console.error(error);
156
163
  return (
157
164
  <p style={{ color: 'red' }}>