@inseefr/lunatic 3.5.0-rc.0 → 3.5.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) 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/Input/Input.js +6 -3
  6. package/components/Input/Input.js.map +1 -1
  7. package/components/Input/Input.spec.js +25 -0
  8. package/components/Input/Input.spec.js.map +1 -1
  9. package/components/InputNumber/InputNumber.js +1 -1
  10. package/components/InputNumber/InputNumber.js.map +1 -1
  11. package/components/InputNumber/InputNumber.spec.js +9 -1
  12. package/components/InputNumber/InputNumber.spec.js.map +1 -1
  13. package/components/InputNumber/InputNumberThousand.d.ts +2 -1
  14. package/components/InputNumber/InputNumberThousand.js +8 -2
  15. package/components/InputNumber/InputNumberThousand.js.map +1 -1
  16. package/components/Loop/Loop.js +1 -1
  17. package/components/Loop/Loop.js.map +1 -1
  18. package/components/Loop/Loop.spec.d.ts +1 -0
  19. package/components/Loop/Loop.spec.js +39 -0
  20. package/components/Loop/Loop.spec.js.map +1 -0
  21. package/components/Roundabout/CustomRoundabout.d.ts +1 -1
  22. package/components/Roundabout/CustomRoundabout.js +4 -3
  23. package/components/Roundabout/CustomRoundabout.js.map +1 -1
  24. package/components/Roundabout/roundabout.spec.js +3 -1
  25. package/components/Roundabout/roundabout.spec.js.map +1 -1
  26. package/components/Textarea/Textarea.js +4 -1
  27. package/components/Textarea/Textarea.js.map +1 -1
  28. package/components/Textarea/Textarea.spec.js +13 -0
  29. package/components/Textarea/Textarea.spec.js.map +1 -1
  30. package/components/shared/CharactersCount/CharactersCount.d.ts +7 -0
  31. package/components/shared/CharactersCount/CharactersCount.js +20 -0
  32. package/components/shared/CharactersCount/CharactersCount.js.map +1 -0
  33. package/components/shared/CharactersCount/CharactersCount.spec.d.ts +1 -0
  34. package/components/shared/CharactersCount/CharactersCount.spec.js +28 -0
  35. package/components/shared/CharactersCount/CharactersCount.spec.js.map +1 -0
  36. package/components/shared/Label/Label.js +1 -1
  37. package/components/shared/Label/Label.js.map +1 -1
  38. package/components/shared/Label/Label.spec.js +11 -3
  39. package/components/shared/Label/Label.spec.js.map +1 -1
  40. package/components/shared/utils/getCharactersCountId.d.ts +4 -0
  41. package/components/shared/utils/getCharactersCountId.js +10 -0
  42. package/components/shared/utils/getCharactersCountId.js.map +1 -0
  43. package/components/type.d.ts +1 -0
  44. package/esm/components/Datepicker/Datepicker.js +1 -1
  45. package/esm/components/Datepicker/Datepicker.js.map +1 -1
  46. package/esm/components/Duration/Duration.js +3 -2
  47. package/esm/components/Duration/Duration.js.map +1 -1
  48. package/esm/components/Input/Input.js +6 -3
  49. package/esm/components/Input/Input.js.map +1 -1
  50. package/esm/components/Input/Input.spec.js +25 -0
  51. package/esm/components/Input/Input.spec.js.map +1 -1
  52. package/esm/components/InputNumber/InputNumber.js +1 -1
  53. package/esm/components/InputNumber/InputNumber.js.map +1 -1
  54. package/esm/components/InputNumber/InputNumber.spec.js +9 -1
  55. package/esm/components/InputNumber/InputNumber.spec.js.map +1 -1
  56. package/esm/components/InputNumber/InputNumberThousand.d.ts +2 -1
  57. package/esm/components/InputNumber/InputNumberThousand.js +8 -2
  58. package/esm/components/InputNumber/InputNumberThousand.js.map +1 -1
  59. package/esm/components/Loop/Loop.js +1 -1
  60. package/esm/components/Loop/Loop.js.map +1 -1
  61. package/esm/components/Loop/Loop.spec.d.ts +1 -0
  62. package/esm/components/Loop/Loop.spec.js +37 -0
  63. package/esm/components/Loop/Loop.spec.js.map +1 -0
  64. package/esm/components/Roundabout/CustomRoundabout.d.ts +1 -1
  65. package/esm/components/Roundabout/CustomRoundabout.js +4 -3
  66. package/esm/components/Roundabout/CustomRoundabout.js.map +1 -1
  67. package/esm/components/Roundabout/roundabout.spec.js +3 -1
  68. package/esm/components/Roundabout/roundabout.spec.js.map +1 -1
  69. package/esm/components/Textarea/Textarea.js +4 -1
  70. package/esm/components/Textarea/Textarea.js.map +1 -1
  71. package/esm/components/Textarea/Textarea.spec.js +13 -0
  72. package/esm/components/Textarea/Textarea.spec.js.map +1 -1
  73. package/esm/components/shared/CharactersCount/CharactersCount.d.ts +7 -0
  74. package/esm/components/shared/CharactersCount/CharactersCount.js +15 -0
  75. package/esm/components/shared/CharactersCount/CharactersCount.js.map +1 -0
  76. package/esm/components/shared/CharactersCount/CharactersCount.spec.d.ts +1 -0
  77. package/esm/components/shared/CharactersCount/CharactersCount.spec.js +26 -0
  78. package/esm/components/shared/CharactersCount/CharactersCount.spec.js.map +1 -0
  79. package/esm/components/shared/Label/Label.js +1 -1
  80. package/esm/components/shared/Label/Label.js.map +1 -1
  81. package/esm/components/shared/Label/Label.spec.js +11 -3
  82. package/esm/components/shared/Label/Label.spec.js.map +1 -1
  83. package/esm/components/shared/utils/getCharactersCountId.d.ts +4 -0
  84. package/esm/components/shared/utils/getCharactersCountId.js +7 -0
  85. package/esm/components/shared/utils/getCharactersCountId.js.map +1 -0
  86. package/esm/components/type.d.ts +1 -0
  87. package/esm/main.css +20 -0
  88. package/esm/main.css.map +1 -1
  89. package/esm/stories/overview/sourceWithHierarchy.json +5151 -0
  90. package/esm/tests/utils/lunatic.d.ts +0 -4
  91. package/esm/tests/utils/lunatic.js +0 -4
  92. package/esm/tests/utils/lunatic.js.map +1 -1
  93. package/esm/type.source.d.ts +6 -6
  94. package/esm/type.source.js +0 -1
  95. package/esm/type.source.js.map +1 -1
  96. package/esm/use-lunatic/commons/page.js +8 -0
  97. package/esm/use-lunatic/commons/page.js.map +1 -1
  98. package/esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.d.ts +1 -1
  99. package/esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js +111 -14
  100. package/esm/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js.map +1 -1
  101. package/esm/use-lunatic/commons/variables/get-questionnaire-data.js +0 -8
  102. package/esm/use-lunatic/commons/variables/get-questionnaire-data.js.map +1 -1
  103. package/esm/use-lunatic/commons/variables/lunatic-variables-store.d.ts +2 -2
  104. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js +5 -3
  105. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  106. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js +164 -8
  107. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  108. package/esm/use-lunatic/hooks/use-page-has-response.js +50 -35
  109. package/esm/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  110. package/esm/use-lunatic/hooks/useOverview.d.ts +1 -1
  111. package/esm/use-lunatic/hooks/useOverview.js +19 -14
  112. package/esm/use-lunatic/hooks/useOverview.js.map +1 -1
  113. package/esm/use-lunatic/hooks/useOverview.spec.d.ts +1 -0
  114. package/esm/use-lunatic/hooks/useOverview.spec.js +38 -0
  115. package/esm/use-lunatic/hooks/useOverview.spec.js.map +1 -0
  116. package/esm/use-lunatic/props/getComponentTypeProps.d.ts +1 -0
  117. package/esm/use-lunatic/props/propValue.js +18 -6
  118. package/esm/use-lunatic/props/propValue.js.map +1 -1
  119. package/esm/use-lunatic/props/propValue.spec.js +97 -2
  120. package/esm/use-lunatic/props/propValue.spec.js.map +1 -1
  121. package/esm/use-lunatic/reducer/reducerInitializer.d.ts +2 -2
  122. package/esm/use-lunatic/reducer/reducerInitializer.js +25 -32
  123. package/esm/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  124. package/esm/use-lunatic/test.utils.d.ts +2 -0
  125. package/esm/use-lunatic/test.utils.js +13 -0
  126. package/esm/use-lunatic/test.utils.js.map +1 -0
  127. package/esm/use-lunatic/type.d.ts +0 -4
  128. package/esm/use-lunatic/use-lunatic.d.ts +1 -2
  129. package/esm/use-lunatic/use-lunatic.js.map +1 -1
  130. package/esm/utils/cast.d.ts +19 -0
  131. package/esm/utils/cast.js +63 -0
  132. package/esm/utils/cast.js.map +1 -0
  133. package/esm/utils/constants/variable-status.d.ts +0 -4
  134. package/esm/utils/constants/variable-status.js +0 -4
  135. package/esm/utils/constants/variable-status.js.map +1 -1
  136. package/esm/utils/variables.spec.js +0 -8
  137. package/esm/utils/variables.spec.js.map +1 -1
  138. package/main.css +20 -0
  139. package/main.css.map +1 -1
  140. package/package.json +61 -69
  141. package/src/components/Datepicker/Datepicker.tsx +1 -1
  142. package/src/components/Datepicker/__snapshots__/Datepicker.spec.tsx.snap +2 -2
  143. package/src/components/Duration/Duration.test.tsx +52 -0
  144. package/src/components/Duration/Duration.tsx +17 -4
  145. package/src/components/Input/Input.spec.tsx +34 -0
  146. package/src/components/Input/Input.tsx +26 -18
  147. package/src/components/Input/__snapshots__/Input.spec.tsx.snap +38 -19
  148. package/src/components/InputNumber/InputNumber.spec.tsx +15 -1
  149. package/src/components/InputNumber/InputNumber.tsx +1 -0
  150. package/src/components/InputNumber/InputNumberThousand.tsx +11 -1
  151. package/src/components/Loop/Loop.spec.tsx +77 -0
  152. package/src/components/Loop/Loop.tsx +1 -1
  153. package/src/components/RosterForLoop/__snapshots__/RosterForLoop.spec.tsx.snap +42 -20
  154. package/src/components/Roundabout/CustomRoundabout.tsx +13 -4
  155. package/src/components/Roundabout/roundabout.spec.tsx +3 -0
  156. package/src/components/Textarea/Textarea.spec.tsx +18 -0
  157. package/src/components/Textarea/Textarea.tsx +21 -13
  158. package/src/components/Textarea/__snapshots__/Textarea.spec.tsx.snap +21 -11
  159. package/src/components/shared/CharactersCount/CharactersCount.spec.tsx +31 -0
  160. package/src/components/shared/CharactersCount/CharactersCount.tsx +27 -0
  161. package/src/components/shared/Label/Label.spec.tsx +15 -3
  162. package/src/components/shared/Label/Label.tsx +1 -1
  163. package/src/components/shared/utils/getCharactersCountId.test.ts +14 -0
  164. package/src/components/shared/utils/getCharactersCountId.ts +6 -0
  165. package/src/components/type.ts +1 -0
  166. package/src/css/components/Input.scss +10 -0
  167. package/src/css/components/Roundabout.scss +10 -0
  168. package/src/stories/accordion/source.json +1 -5
  169. package/src/stories/behaviour/cleaning/cleaning.stories.jsx +11 -0
  170. package/src/stories/behaviour/cleaning/loop.json +246 -0
  171. package/src/stories/behaviour/cleaning/source-loop.json +3 -15
  172. package/src/stories/behaviour/cleaning/source.json +2 -10
  173. package/src/stories/behaviour/controls/boucles-n.json +2 -10
  174. package/src/stories/behaviour/controls/loop.json +2 -10
  175. package/src/stories/behaviour/controls/roundabout.json +3 -15
  176. package/src/stories/behaviour/controls/simple-numeric.json +19 -95
  177. package/src/stories/behaviour/controls/simple.json +7 -35
  178. package/src/stories/behaviour/filter/dataLoop.json +0 -8
  179. package/src/stories/behaviour/filter/source.json +0 -12
  180. package/src/stories/behaviour/filter/sourceLoop.json +0 -12
  181. package/src/stories/behaviour/missing/source.json +12 -60
  182. package/src/stories/behaviour/others/V2_DeclarationsSimples.json +14 -70
  183. package/src/stories/behaviour/others/V2_MinMaxSum_Boucles.json +5 -25
  184. package/src/stories/behaviour/others/V2_QuestSimple_Boucles.json +107 -535
  185. package/src/stories/behaviour/others/V2_TCMRallyeGames.json +33 -165
  186. package/src/stories/behaviour/others/test-dylan.json +5 -25
  187. package/src/stories/behaviour/paste/source.json +1 -5
  188. package/src/stories/behaviour/performance/performance.stories.jsx +9 -1
  189. package/src/stories/behaviour/performance/source.json +4 -20
  190. package/src/stories/behaviour/performance/srcv.json +44747 -0
  191. package/src/stories/behaviour/resizing/source-resizing-cleaning.json +2 -10
  192. package/src/stories/behaviour/resizing/source.json +5 -25
  193. package/src/stories/checkbox-boolean/source.json +1 -5
  194. package/src/stories/checkbox-group/source.json +16 -80
  195. package/src/stories/checkbox-group/sourceCondition.json +3 -15
  196. package/src/stories/checkbox-group/sourceDetail.json +18 -90
  197. package/src/stories/checkbox-group/sourceLoop.json +2 -10
  198. package/src/stories/checkbox-one/source.json +1 -5
  199. package/src/stories/checkbox-one/sourceDetail.json +2 -10
  200. package/src/stories/date-picker/source.json +1 -5
  201. package/src/stories/declaration/source.json +2 -10
  202. package/src/stories/disabled/data.json +0 -16
  203. package/src/stories/disabled/source.json +7 -35
  204. package/src/stories/dropdown/data.json +2 -10
  205. package/src/stories/dropdown/source.json +2 -10
  206. package/src/stories/duration/mois.json +1 -5
  207. package/src/stories/duration/time.json +1 -5
  208. package/src/stories/filter-description/source-options.json +3 -15
  209. package/src/stories/input/source.json +1 -5
  210. package/src/stories/input-number/input-number.stories.jsx +5 -0
  211. package/src/stories/input-number/source-big-number.json +27 -0
  212. package/src/stories/input-number/source-euro.json +2 -6
  213. package/src/stories/input-number/source.json +1 -5
  214. package/src/stories/loop/source-bloc.json +2 -10
  215. package/src/stories/loop/source-paginated.json +2 -10
  216. package/src/stories/loop/source-roster.json +2 -10
  217. package/src/stories/loop/source-with-header.json +2 -10
  218. package/src/stories/overview/dataLoop.json +24 -120
  219. package/src/stories/overview/overview.stories.jsx +9 -0
  220. package/src/stories/overview/source.json +1 -5
  221. package/src/stories/overview/sourceLoop.json +24 -120
  222. package/src/stories/overview/sourceWithHierarchy.json +164 -820
  223. package/src/stories/pairwise/source.json +5 -25
  224. package/src/stories/question/source.json +2 -10
  225. package/src/stories/questionnaires/logement/data.json +0 -1288
  226. package/src/stories/questionnaires/logement/source-sequence.json +564 -2820
  227. package/src/stories/questionnaires/logement/source-sum.json +280 -1400
  228. package/src/stories/questionnaires/logement/source.json +564 -2820
  229. package/src/stories/questionnaires/recensement/source.json +106 -530
  230. package/src/stories/questionnaires/rp/source.json +8 -40
  231. package/src/stories/questionnaires/simpsons/source.json +104 -520
  232. package/src/stories/radio/source.json +1 -5
  233. package/src/stories/radio/sourceCondition.json +2 -10
  234. package/src/stories/radio/sourceDetail.json +2 -10
  235. package/src/stories/radio/sourceHorizontal.json +1 -5
  236. package/src/stories/roundabout/data1.json +0 -12
  237. package/src/stories/roundabout/data2.json +0 -16
  238. package/src/stories/roundabout/source.json +11 -35
  239. package/src/stories/suggester/source-arbitrary-response.json +6 -30
  240. package/src/stories/suggester/source-error.json +6 -30
  241. package/src/stories/suggester/source-multiline.json +0 -16
  242. package/src/stories/suggester/source-option-responses.json +5 -25
  243. package/src/stories/suggester/source.json +7 -35
  244. package/src/stories/summary/data.json +0 -16
  245. package/src/stories/summary/source.json +7 -35
  246. package/src/stories/switch/data-forced.json +2 -10
  247. package/src/stories/switch/source.json +4 -20
  248. package/src/stories/table/source-colspan.json +8 -40
  249. package/src/stories/table/table-dynamique.json +1 -5
  250. package/src/stories/text/source-roster.json +3 -15
  251. package/src/stories/text/source-table.json +9 -45
  252. package/src/stories/textarea/source.json +1 -5
  253. package/src/stories/utils/{SchemaValidator.tsx → SchemaValidator.jsx} +1 -1
  254. package/src/stories/utils/{orchestrator.tsx → orchestrator.jsx} +9 -13
  255. package/src/stories/utils/{overview.tsx → overview.jsx} +0 -2
  256. package/src/tests/utils/lunatic.ts +0 -4
  257. package/src/type.source.ts +8 -7
  258. package/src/use-lunatic/__snapshots__/use-lunatic.test.ts.snap +0 -1159
  259. package/src/use-lunatic/commons/page.ts +10 -0
  260. package/src/use-lunatic/commons/variables/behaviours/cleaning-behaviour.ts +182 -24
  261. package/src/use-lunatic/commons/variables/get-questionnaire-data.ts +0 -12
  262. package/src/use-lunatic/commons/variables/lunatic-variables-store.spec.ts +190 -8
  263. package/src/use-lunatic/commons/variables/lunatic-variables-store.ts +7 -4
  264. package/src/use-lunatic/hooks/use-page-has-response.test.ts +200 -0
  265. package/src/use-lunatic/hooks/use-page-has-response.ts +67 -44
  266. package/src/use-lunatic/hooks/useOverview.spec.ts +42 -0
  267. package/src/use-lunatic/hooks/useOverview.ts +41 -18
  268. package/src/use-lunatic/props/propValue.spec.ts +105 -2
  269. package/src/use-lunatic/props/propValue.ts +26 -8
  270. package/src/use-lunatic/reducer/reducerInitializer.tsx +31 -41
  271. package/src/use-lunatic/test.utils.ts +17 -0
  272. package/src/use-lunatic/type.ts +0 -4
  273. package/src/use-lunatic/use-lunatic.test.ts +2 -21
  274. package/src/use-lunatic/use-lunatic.ts +5 -4
  275. package/src/utils/cast.ts +67 -0
  276. package/src/utils/constants/variable-status.ts +0 -4
  277. package/src/utils/variables.spec.ts +0 -8
  278. package/stories/overview/sourceWithHierarchy.json +5151 -0
  279. package/tests/utils/lunatic.d.ts +0 -4
  280. package/tests/utils/lunatic.js +0 -4
  281. package/tests/utils/lunatic.js.map +1 -1
  282. package/tsconfig.build.tsbuildinfo +1 -1
  283. package/type.source.d.ts +6 -6
  284. package/type.source.js +0 -1
  285. package/type.source.js.map +1 -1
  286. package/use-lunatic/commons/page.js +8 -0
  287. package/use-lunatic/commons/page.js.map +1 -1
  288. package/use-lunatic/commons/variables/behaviours/cleaning-behaviour.d.ts +1 -1
  289. package/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js +111 -14
  290. package/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js.map +1 -1
  291. package/use-lunatic/commons/variables/get-questionnaire-data.js +0 -8
  292. package/use-lunatic/commons/variables/get-questionnaire-data.js.map +1 -1
  293. package/use-lunatic/commons/variables/lunatic-variables-store.d.ts +2 -2
  294. package/use-lunatic/commons/variables/lunatic-variables-store.js +5 -3
  295. package/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  296. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js +187 -8
  297. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  298. package/use-lunatic/hooks/use-page-has-response.js +49 -34
  299. package/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  300. package/use-lunatic/hooks/useOverview.d.ts +1 -1
  301. package/use-lunatic/hooks/useOverview.js +19 -14
  302. package/use-lunatic/hooks/useOverview.js.map +1 -1
  303. package/use-lunatic/hooks/useOverview.spec.d.ts +1 -0
  304. package/use-lunatic/hooks/useOverview.spec.js +43 -0
  305. package/use-lunatic/hooks/useOverview.spec.js.map +1 -0
  306. package/use-lunatic/props/getComponentTypeProps.d.ts +1 -0
  307. package/use-lunatic/props/propValue.js +18 -6
  308. package/use-lunatic/props/propValue.js.map +1 -1
  309. package/use-lunatic/props/propValue.spec.js +97 -2
  310. package/use-lunatic/props/propValue.spec.js.map +1 -1
  311. package/use-lunatic/reducer/reducerInitializer.d.ts +2 -2
  312. package/use-lunatic/reducer/reducerInitializer.js +25 -32
  313. package/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  314. package/use-lunatic/test.utils.d.ts +2 -0
  315. package/use-lunatic/test.utils.js +17 -0
  316. package/use-lunatic/test.utils.js.map +1 -0
  317. package/use-lunatic/type.d.ts +0 -4
  318. package/use-lunatic/use-lunatic.d.ts +1 -2
  319. package/use-lunatic/use-lunatic.js.map +1 -1
  320. package/utils/cast.d.ts +19 -0
  321. package/utils/cast.js +70 -0
  322. package/utils/cast.js.map +1 -0
  323. package/utils/constants/variable-status.d.ts +0 -4
  324. package/utils/constants/variable-status.js +1 -5
  325. package/utils/constants/variable-status.js.map +1 -1
  326. package/utils/variables.spec.js +0 -8
  327. package/utils/variables.spec.js.map +1 -1
  328. package/constants/component-types.d.ts +0 -1
  329. package/constants/component-types.js +0 -5
  330. package/constants/component-types.js.map +0 -1
  331. package/constants/declarations.d.ts +0 -9
  332. package/constants/declarations.js +0 -15
  333. package/constants/declarations.js.map +0 -1
  334. package/constants/event-types.d.ts +0 -10
  335. package/constants/event-types.js +0 -16
  336. package/constants/event-types.js.map +0 -1
  337. package/constants/index.d.ts +0 -5
  338. package/constants/index.js +0 -22
  339. package/constants/index.js.map +0 -1
  340. package/constants/indexedDBStore.d.ts +0 -21
  341. package/constants/indexedDBStore.js +0 -22
  342. package/constants/indexedDBStore.js.map +0 -1
  343. package/constants/supported-preferences.d.ts +0 -1
  344. package/constants/supported-preferences.js +0 -36
  345. package/constants/supported-preferences.js.map +0 -1
  346. package/constants/value-types.d.ts +0 -5
  347. package/constants/value-types.js +0 -9
  348. package/constants/value-types.js.map +0 -1
  349. package/constants/variable-types.d.ts +0 -2
  350. package/constants/variable-types.js +0 -8
  351. package/constants/variable-types.js.map +0 -1
  352. package/esm/constants/component-types.d.ts +0 -1
  353. package/esm/constants/component-types.js +0 -2
  354. package/esm/constants/component-types.js.map +0 -1
  355. package/esm/constants/declarations.d.ts +0 -9
  356. package/esm/constants/declarations.js +0 -12
  357. package/esm/constants/declarations.js.map +0 -1
  358. package/esm/constants/event-types.d.ts +0 -10
  359. package/esm/constants/event-types.js +0 -13
  360. package/esm/constants/event-types.js.map +0 -1
  361. package/esm/constants/index.d.ts +0 -5
  362. package/esm/constants/index.js +0 -6
  363. package/esm/constants/index.js.map +0 -1
  364. package/esm/constants/indexedDBStore.d.ts +0 -21
  365. package/esm/constants/indexedDBStore.js +0 -19
  366. package/esm/constants/indexedDBStore.js.map +0 -1
  367. package/esm/constants/supported-preferences.d.ts +0 -1
  368. package/esm/constants/supported-preferences.js +0 -10
  369. package/esm/constants/supported-preferences.js.map +0 -1
  370. package/esm/constants/value-types.d.ts +0 -5
  371. package/esm/constants/value-types.js +0 -6
  372. package/esm/constants/value-types.js.map +0 -1
  373. package/esm/constants/variable-types.d.ts +0 -2
  374. package/esm/constants/variable-types.js +0 -5
  375. package/esm/constants/variable-types.js.map +0 -1
  376. package/esm/hooks/useArticulation.d.ts +0 -58
  377. package/esm/hooks/useArticulation.js +0 -81
  378. package/esm/hooks/useArticulation.js.map +0 -1
  379. package/hooks/useArticulation.d.ts +0 -58
  380. package/hooks/useArticulation.js +0 -81
  381. package/hooks/useArticulation.js.map +0 -1
  382. package/src/constants/component-types.ts +0 -1
  383. package/src/constants/declarations.ts +0 -14
  384. package/src/constants/event-types.ts +0 -13
  385. package/src/constants/index.ts +0 -5
  386. package/src/constants/indexedDBStore.ts +0 -20
  387. package/src/constants/supported-preferences.ts +0 -10
  388. package/src/constants/value-types.ts +0 -5
  389. package/src/constants/variable-types.ts +0 -4
  390. package/src/hooks/useArticulation.ts +0 -124
  391. package/src/stories/behaviour/articulation/articulation.stories.tsx +0 -105
  392. package/src/stories/behaviour/articulation/roundabout.json +0 -348
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const vitest_1 = require("vitest");
5
+ const CharactersCount_1 = require("./CharactersCount");
6
+ const react_1 = require("@testing-library/react");
7
+ (0, vitest_1.describe)('CharactersCount', () => {
8
+ const defaultProps = {
9
+ id: 'test-id',
10
+ maxLength: 20,
11
+ value: 'Hello',
12
+ };
13
+ (0, vitest_1.it)('renders correctly characters count if there is a maximum length', () => {
14
+ const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CharactersCount_1.CharactersCount, { ...defaultProps }));
15
+ (0, vitest_1.expect)(getByText('5/20')).toBeInTheDocument();
16
+ });
17
+ (0, vitest_1.it)('should apply the max-length-reached class when limit is reached', () => {
18
+ const props = { ...defaultProps, maxLength: 5 };
19
+ const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CharactersCount_1.CharactersCount, { ...props }));
20
+ (0, vitest_1.expect)(getByText('5/5')).toHaveClass('max-length-reached');
21
+ });
22
+ (0, vitest_1.it)('should not render anything when maxLength is not provided', () => {
23
+ const props = { ...defaultProps, maxLength: undefined };
24
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CharactersCount_1.CharactersCount, { ...props }));
25
+ (0, vitest_1.expect)(container.firstChild).toBeNull();
26
+ });
27
+ });
28
+ //# sourceMappingURL=CharactersCount.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CharactersCount.spec.js","sourceRoot":"","sources":["../../../src/components/shared/CharactersCount/CharactersCount.spec.tsx"],"names":[],"mappings":";;;AAAA,mCAA8C;AAC9C,uDAAoD;AACpD,kDAAgD;AAEhD,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,MAAM,YAAY,GAAG;QACpB,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,OAAO;KACd,CAAC;IAEF,IAAA,WAAE,EAAC,iEAAiE,EAAE,GAAG,EAAE;QAC1E,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,uBAAC,iCAAe,OAAK,YAAY,GAAI,CAAC,CAAC;QAEpE,IAAA,eAAM,EAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iEAAiE,EAAE,GAAG,EAAE;QAC1E,MAAM,KAAK,GAAG,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,uBAAC,iCAAe,OAAK,KAAK,GAAI,CAAC,CAAC;QAE7D,IAAA,eAAM,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACxD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,uBAAC,iCAAe,OAAK,KAAK,GAAI,CAAC,CAAC;QAE7D,IAAA,eAAM,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -12,7 +12,7 @@ const LabelDescription_1 = require("../LabelDescription");
12
12
  * Label displayed on top of a field
13
13
  */
14
14
  function LunaticLabel({ children, id, htmlFor, className, style, description, }) {
15
- if (!children) {
15
+ if (!children && !description) {
16
16
  return null;
17
17
  }
18
18
  return ((0, jsx_runtime_1.jsxs)("label", { htmlFor: htmlFor, id: id, className: (0, classnames_1.default)('lunatic-label', className), style: style, children: [children, (0, jsx_runtime_1.jsx)(LabelDescription_1.LabelDescription, { value: description })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/shared/Label/Label.tsx"],"names":[],"mappings":";;;;;;;AAKA,4DAAoC;AACpC,kEAA+D;AAC/D,0DAAuD;AAWvD;;GAEG;AACH,SAAS,YAAY,CAAC,EACrB,QAAQ,EACR,EAAE,EACF,OAAO,EACP,SAAS,EACT,KAAK,EACL,WAAW,GACJ;IACP,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CACN,mCACC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EAAE,KAAK,aAEX,QAAQ,EACT,uBAAC,mCAAgB,IAAC,KAAK,EAAE,WAAW,GAAI,IACjC,CACR,CAAC;AACH,CAAC;AAEY,QAAA,KAAK,GAAG,IAAA,uCAAkB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/shared/Label/Label.tsx"],"names":[],"mappings":";;;;;;;AAKA,4DAAoC;AACpC,kEAA+D;AAC/D,0DAAuD;AAWvD;;GAEG;AACH,SAAS,YAAY,CAAC,EACrB,QAAQ,EACR,EAAE,EACF,OAAO,EACP,SAAS,EACT,KAAK,EACL,WAAW,GACJ;IACP,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CACN,mCACC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EAAE,KAAK,aAEX,QAAQ,EACT,uBAAC,mCAAgB,IAAC,KAAK,EAAE,WAAW,GAAI,IACjC,CACR,CAAC;AACH,CAAC;AAEY,QAAA,KAAK,GAAG,IAAA,uCAAkB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC"}
@@ -5,17 +5,25 @@ const react_1 = require("@testing-library/react");
5
5
  const Label_1 = require("./Label");
6
6
  const vitest_1 = require("vitest");
7
7
  (0, vitest_1.describe)('Label', () => {
8
- (0, vitest_1.it)('renders null when children is falsy', () => {
9
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: "input", id: "label", description: "This is a label", children: null }));
8
+ (0, vitest_1.it)('renders null when children and description are falsy', () => {
9
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: "input", id: "label", children: null }));
10
10
  (0, vitest_1.expect)(container.firstChild).toBeNull();
11
11
  });
12
12
  (0, vitest_1.it)('renders a label without description', () => {
13
13
  const { getByText, queryByText } = (0, react_1.render)((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: "kze792d8", id: "label", children: (0, jsx_runtime_1.jsx)("p", { children: "Name" }) }), (0, jsx_runtime_1.jsx)("input", { id: "kze792d8", className: "", type: "number", "aria-labelledby": "label", min: "0", max: "10", value: "", lang: "en" })] }));
14
14
  const label = getByText('Name');
15
15
  (0, vitest_1.expect)(label).toBeInTheDocument();
16
- (0, vitest_1.expect)(label.parentNode).toHaveAttribute('for', 'kze792d8');
16
+ (0, vitest_1.expect)(label.closest('label')).toHaveAttribute('for', 'kze792d8');
17
17
  const description = queryByText('This is a label');
18
18
  (0, vitest_1.expect)(description).not.toBeInTheDocument();
19
19
  });
20
+ (0, vitest_1.it)('renders a label with description and no label', () => {
21
+ const { container, queryByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: "kze792d8", id: "label", description: "This is a label" }));
22
+ const label = container.querySelector('label');
23
+ (0, vitest_1.expect)(label).toBeInTheDocument();
24
+ (0, vitest_1.expect)(label).toHaveAttribute('for', 'kze792d8');
25
+ const description = queryByText('This is a label');
26
+ (0, vitest_1.expect)(description).toBeInTheDocument();
27
+ });
20
28
  });
21
29
  //# sourceMappingURL=Label.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Label.spec.js","sourceRoot":"","sources":["../../../src/components/shared/Label/Label.spec.tsx"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,mCAAgC;AAChC,mCAA8C;AAE9C,IAAA,iBAAQ,EAAC,OAAO,EAAE,GAAG,EAAE;IACtB,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,aAAK,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,WAAW,EAAC,iBAAiB,YAC7D,IAAI,GACE,CACR,CAAC;QAEF,IAAA,eAAM,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,cAAM,EACxC,6DACC,uBAAC,aAAK,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAC,OAAO,YACnC,iDAAW,GACJ,EACR,kCACC,EAAE,EAAC,UAAU,EACb,SAAS,EAAC,EAAE,EACZ,IAAI,EAAC,QAAQ,qBACG,OAAO,EACvB,GAAG,EAAC,GAAG,EACP,GAAG,EAAC,IAAI,EACR,KAAK,EAAC,EAAE,EACR,IAAI,EAAC,IAAI,GACD,IACP,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClC,IAAA,eAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Label.spec.js","sourceRoot":"","sources":["../../../src/components/shared/Label/Label.spec.tsx"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,mCAAgC;AAChC,mCAA8C;AAE9C,IAAA,iBAAQ,EAAC,OAAO,EAAE,GAAG,EAAE;IACtB,IAAA,WAAE,EAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,aAAK,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,YAC/B,IAAI,GACE,CACR,CAAC;QAEF,IAAA,eAAM,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,cAAM,EACxC,6DACC,uBAAC,aAAK,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAC,OAAO,YACnC,iDAAW,GACJ,EACR,kCACC,EAAE,EAAC,UAAU,EACb,SAAS,EAAC,EAAE,EACZ,IAAI,EAAC,QAAQ,qBACG,OAAO,EACvB,GAAG,EAAC,GAAG,EACP,GAAG,EAAC,IAAI,EACR,KAAK,EAAC,EAAE,EACR,IAAI,EAAC,IAAI,GACD,IACP,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClC,IAAA,eAAM,EAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,cAAM,EACxC,uBAAC,aAAK,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAC,OAAO,EAAC,WAAW,EAAC,iBAAiB,GAAG,CACrE,CAAC;QAEF,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClC,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Get the correct id for characters count div, used for both input and textarea.
3
+ */
4
+ export declare function getCharactersCountId(id: string, maxLength?: number): string | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCharactersCountId = getCharactersCountId;
4
+ /**
5
+ * Get the correct id for characters count div, used for both input and textarea.
6
+ */
7
+ function getCharactersCountId(id, maxLength) {
8
+ return maxLength ? `characters-count-${id}` : undefined;
9
+ }
10
+ //# sourceMappingURL=getCharactersCountId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCharactersCountId.js","sourceRoot":"","sources":["../../../src/components/shared/utils/getCharactersCountId.ts"],"names":[],"mappings":";;AAGA,oDAEC;AALD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,EAAU,EAAE,SAAkB;IAClE,OAAO,SAAS,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC"}
@@ -103,6 +103,7 @@ export type ComponentPropsByType = {
103
103
  components: LunaticComponentProps[];
104
104
  componentType?: 'Question';
105
105
  iteration?: number;
106
+ value: Record<string, unknown>;
106
107
  };
107
108
  RosterForLoop: LunaticBaseProps<unknown> & LunaticExtraProps & {
108
109
  lines: {
@@ -43,7 +43,7 @@ export const CustomDatepicker = slottableComponent('Datepicker', (props) => {
43
43
  readOnly,
44
44
  disabled,
45
45
  };
46
- return (_jsxs("div", { className: "lunatic-input", children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsxs("div", { className: "lunaticDatepickerFields", children: [showDay && (_jsx(DatepickerField, { id: id + 'day', label: "Jour", description: "Exemple: 14", max: 31, value: numbers[2], onChange: setNumber(2), ...extraProps })), showMonth && (_jsx(DatepickerField, { id: id + 'month', label: "Mois", description: "Exemple: 07", max: 12, value: numbers[1], onChange: setNumber(1), ...extraProps })), _jsx(DatepickerField, { id: id + 'year', label: "Ann\u00E9e", description: "Exemple: 2023", value: numbers[0], max: 9999, onChange: setNumber(0), ...extraProps })] }), _jsx(ComponentErrors, { errors: errors })] }));
46
+ return (_jsxs("div", { className: "lunatic-input", children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsxs("div", { className: "lunaticDatepickerFields", children: [showDay && (_jsx(DatepickerField, { id: id + 'day', label: "Jour", description: "Exemple: 14", max: 31, value: numbers[2], onChange: setNumber(2), ...extraProps })), showMonth && (_jsx(DatepickerField, { id: id + 'month', label: "Mois", description: "Exemple: 7", max: 12, value: numbers[1], onChange: setNumber(1), ...extraProps })), _jsx(DatepickerField, { id: id + 'year', label: "Ann\u00E9e", description: "Exemple: 2023", value: numbers[0], max: 9999, onChange: setNumber(0), ...extraProps })] }), _jsx(ComponentErrors, { errors: errors })] }));
47
47
  });
48
48
  function numbersFromDateString(s) {
49
49
  if (!s) {
@@ -1 +1 @@
1
- {"version":3,"file":"Datepicker.js","sourceRoot":"","sources":["../../../src/components/Datepicker/Datepicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Datepicker.js","sourceRoot":"","sources":["../../../src/components/Datepicker/Datepicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,UAAU,CAAC,EAC1B,UAAU,GAAG,YAAY,EACzB,QAAQ,EACR,aAAa,EACb,MAAM,EACN,GAAG,KAAK,EAC6B;IACrC,OAAO,CACN,KAAC,gBAAgB,OACZ,KAAK,EACT,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,YAAY,EACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CACjD,YAAY,EACZ,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,YAAY,EACzB,EAAE,EACF,KAAK,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,GACR,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,sBAAsB,EAAE,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5C,gDAAgD;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC3C,qBAAqB,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,CAAC,CACzC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,KAAa,EAAE,EAAE;QACtD,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAmB,CAAC;QAClD,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC1B,UAAU,CAAC,UAAU,CAAC,CAAC;QACvB,eAAe,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,OAAiC,EAAE,EAAE;QAC7D,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,0BAA0B;QAC1B,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACR,CAAC;QAED,oBAAoB;QACpB,IAAI,UAAU,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,WAAW;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;aAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG;QAClB,QAAQ;QACR,QAAQ;KACR,CAAC;IAEF,OAAO,CACN,eAAK,SAAS,EAAC,eAAe,aAC7B,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,eAAK,SAAS,EAAC,yBAAyB,aACtC,OAAO,IAAI,CACX,KAAC,eAAe,IACf,EAAE,EAAE,EAAE,GAAG,KAAK,EACd,KAAK,EAAC,MAAM,EACZ,WAAW,EAAC,aAAa,EACzB,GAAG,EAAE,EAAE,EACP,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,UAAU,GACb,CACF,EACA,SAAS,IAAI,CACb,KAAC,eAAe,IACf,EAAE,EAAE,EAAE,GAAG,OAAO,EAChB,KAAK,EAAC,MAAM,EACZ,WAAW,EAAC,YAAY,EACxB,GAAG,EAAE,EAAE,EACP,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,UAAU,GACb,CACF,EACD,KAAC,eAAe,IACf,EAAE,EAAE,EAAE,GAAG,MAAM,EACf,KAAK,EAAC,YAAO,EACb,WAAW,EAAC,eAAe,EAC3B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,UAAU,GACb,IACG,EACN,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC;AAEF,SAAS,qBAAqB,CAAC,CAAU;IACxC,IAAI,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO;QACN,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,SAAmC;IACvD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAErC,gGAAgG;IAChG,qGAAqG;IACrG,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvC,OAAO,CACN,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI;QAC3B,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,GAAG,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,CACtB,CAAC;AACH,CAAC"}
@@ -8,11 +8,12 @@ import { objectKeys } from '../../utils/object';
8
8
  import { slottableComponent } from '../shared/HOC/slottableComponent';
9
9
  import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/ComponentErrors';
10
10
  import { Declarations } from '../shared/Declarations/Declarations';
11
+ import { Fieldset } from '../shared/Fieldset/Fieldset';
11
12
  export function Duration({ handleChanges, response, errors, ...props }) {
12
13
  return (_jsx(CustomDuration, { ...props, onChange: (value) => handleChanges([{ name: response.name, value }]), errors: getComponentErrors(errors, props.id) }));
13
14
  }
14
15
  export const CustomDuration = slottableComponent('Duration', (props) => {
15
- const { errors, value, label, format, onChange, declarations, id } = props;
16
+ const { errors, value, label, format, onChange, declarations, id, description, } = props;
16
17
  // We need to keep an internal state since one field can be empty (null value in duration)
17
18
  // but we still send "0" and we don't want the field to display "0"
18
19
  const [duration, setDuration] = useState(getDurationFromValue(value, format));
@@ -26,7 +27,7 @@ export const CustomDuration = slottableComponent('Duration', (props) => {
26
27
  onChange(formatDuration(newDuration));
27
28
  setDuration(newDuration);
28
29
  };
29
- return (_jsxs("fieldset", { className: classnames('lunatic-input'), children: [label && _jsx("legend", { children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx("div", { className: "duration-fields", children: objectKeys(duration).map((unit) => {
30
+ return (_jsxs(Fieldset, { className: classnames('lunatic-input'), legend: label, description: description, children: [_jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx("div", { className: "duration-fields", children: objectKeys(duration).map((unit) => {
30
31
  var _a;
31
32
  return (_jsxs("div", { className: "duration-field", children: [_jsx("label", { htmlFor: `${unit}Input`, className: "input-label", children: labelByUnit[unit] }), _jsx("input", { id: `${unit}Input`, type: "number", value: (_a = duration[unit]) !== null && _a !== void 0 ? _a : '', className: "input-field", onChange: changeHandler(unit), ...propsByUnit[unit] })] }, unit));
32
33
  }) }), _jsx(ComponentErrors, { errors: errors })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../src/components/Duration/Duration.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,MAAM,UAAU,QAAQ,CAAC,EACxB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,KAAC,cAAc,OACV,KAAK,EACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,UAAU,EACV,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAC3E,0FAA0F;IAC1F,mEAAmE;IACnE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACvC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CACnC,CAAC;IAEF,8DAA8D;IAC9D,MAAM,aAAa,GAClB,CAAC,IAA8C,EAAE,EAAE,CACnD,CAAC,CAGA,EAAE,EAAE;QACJ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,CAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EACpE,IAAI,CACJ,CAAC;QACF,MAAM,WAAW,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QACxD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEH,OAAO,CACN,oBAAU,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,aAC9C,KAAK,IAAI,2BAAS,KAAK,GAAU,EAClC,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,cAAK,SAAS,EAAC,iBAAiB,YAC9B,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;oBAAC,OAAA,CACnC,eAAK,SAAS,EAAC,gBAAgB,aAC9B,gBAAO,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,SAAS,EAAC,aAAa,YACrD,WAAW,CAAC,IAAI,CAAC,GACX,EACR,gBACC,EAAE,EAAE,GAAG,IAAI,OAAO,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,mCAAI,EAAE,EAC3B,SAAS,EAAC,aAAa,EACvB,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KACzB,WAAW,CAAC,IAAI,CAAC,GACpB,KAXkC,IAAI,CAYnC,CACN,CAAA;iBAAA,CAAC,GACG,EACN,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IACzB,CACX,CAAC;AACH,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../src/components/Duration/Duration.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,MAAM,UAAU,QAAQ,CAAC,EACxB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,KAAC,cAAc,OACV,KAAK,EACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,UAAU,EACV,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,EAAE,EACF,WAAW,GACX,GAAG,KAAK,CAAC;IACV,0FAA0F;IAC1F,mEAAmE;IACnE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACvC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CACnC,CAAC;IAEF,8DAA8D;IAC9D,MAAM,aAAa,GAClB,CAAC,IAA8C,EAAE,EAAE,CACnD,CAAC,CAGA,EAAE,EAAE;QACJ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,CAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EACpE,IAAI,CACJ,CAAC;QACF,MAAM,WAAW,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QACxD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEH,OAAO,CACN,MAAC,QAAQ,IACR,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,EACtC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,WAAW,aAExB,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,cAAK,SAAS,EAAC,iBAAiB,YAC9B,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;oBAAC,OAAA,CACnC,eAAK,SAAS,EAAC,gBAAgB,aAC9B,gBAAO,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,SAAS,EAAC,aAAa,YACrD,WAAW,CAAC,IAAI,CAAC,GACX,EACR,gBACC,EAAE,EAAE,GAAG,IAAI,OAAO,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,mCAAI,EAAE,EAC3B,SAAS,EAAC,aAAa,EACvB,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KACzB,WAAW,CAAC,IAAI,CAAC,GACpB,KAXkC,IAAI,CAYnC,CACN,CAAA;iBAAA,CAAC,GACG,EACN,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IACzB,CACX,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -4,14 +4,17 @@ import { Label } from '../shared/Label/Label';
4
4
  import { slottableComponent } from '../shared/HOC/slottableComponent';
5
5
  import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/ComponentErrors';
6
6
  import { Declarations } from '../shared/Declarations/Declarations';
7
+ import { CharactersCount } from '../shared/CharactersCount/CharactersCount';
8
+ import { getCharactersCountId } from '../shared/utils/getCharactersCountId';
7
9
  export function Input({ handleChanges, response, errors, ...props }) {
8
10
  return (_jsx(CustomInput, { ...props, onChange: (value) => handleChanges([{ name: response.name, value }]), errors: getComponentErrors(errors, props.id) }));
9
11
  }
10
12
  export const CustomInput = slottableComponent('Input', (props) => {
11
13
  const { value, onChange, disabled, required, maxLength, label, description, id, errors, readOnly, declarations, } = props;
12
14
  const labelId = `label-${id}`;
13
- return (_jsxs("div", { className: classnames('lunatic-input'), children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx("input", { id: id, "aria-labelledby": labelId, autoComplete: "off", type: "text", disabled: disabled, readOnly: readOnly, value: (value !== null && value !== void 0 ? value : '').toString(), title: value !== null && value !== void 0 ? value : '', onChange: (e) => onChange(e.target.value), "aria-required": required, required: required, maxLength: maxLength, "aria-invalid": !!errors, onBlur: (e) => {
14
- e.target.setSelectionRange(0, 0);
15
- } }), _jsx(ComponentErrors, { errors: errors })] }));
15
+ const charactersCountId = getCharactersCountId(id, maxLength);
16
+ return (_jsxs("div", { className: classnames('lunatic-input'), children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsxs("div", { className: "field-with-count", children: [_jsx("input", { id: id, "aria-labelledby": labelId, "aria-describedby": maxLength ? charactersCountId : undefined, autoComplete: "off", type: "text", disabled: disabled, readOnly: readOnly, value: (value !== null && value !== void 0 ? value : '').toString(), title: value !== null && value !== void 0 ? value : '', onChange: (e) => onChange(e.target.value), "aria-required": required, required: required, maxLength: maxLength, "aria-invalid": !!errors, onBlur: (e) => {
17
+ e.target.setSelectionRange(0, 0);
18
+ } }), _jsx(CharactersCount, { id: id, maxLength: maxLength, value: value })] }), _jsx(ComponentErrors, { errors: errors })] }));
16
19
  });
17
20
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,KAAK,CAAC,EACrB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACwB;IAChC,OAAO,CACN,KAAC,WAAW,OACP,KAAK,EACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAc,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC7E,MAAM,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,EAAE,EACF,MAAM,EACN,QAAQ,EACR,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,eAAK,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,aAC1C,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,gBACC,EAAE,EAAE,EAAE,qBACW,OAAO,EACxB,YAAY,EAAC,KAAK,EAClB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAC/B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,mBAC1B,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,kBACN,CAAC,CAAC,MAAM,EACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,CAAC,GACA,EACF,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,MAAM,UAAU,KAAK,CAAC,EACrB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACwB;IAChC,OAAO,CACN,KAAC,WAAW,OACP,KAAK,EACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAc,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC7E,MAAM,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,EAAE,EACF,MAAM,EACN,QAAQ,EACR,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAE9D,OAAO,CACN,eAAK,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,aAC1C,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,eAAK,SAAS,EAAC,kBAAkB,aAChC,gBACC,EAAE,EAAE,EAAE,qBACW,OAAO,sBACN,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC3D,YAAY,EAAC,KAAK,EAClB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAC/B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,mBAC1B,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,kBACN,CAAC,CAAC,MAAM,EACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;4BACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAClC,CAAC,GACA,EACF,KAAC,eAAe,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,IAC1D,EACN,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -2,6 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { fireEvent, render, screen } from '@testing-library/react';
3
3
  import { beforeEach, describe, expect, it, vi } from 'vitest';
4
4
  import { Input } from './Input';
5
+ import { CharactersCount } from '../shared/CharactersCount/CharactersCount';
6
+ vi.mock('../shared/CharactersCount/CharactersCount', () => ({
7
+ CharactersCount: vi.fn(),
8
+ }));
5
9
  describe('Input', () => {
6
10
  const mockOnChange = vi.fn();
7
11
  const baseProps = {
@@ -25,6 +29,15 @@ describe('Input', () => {
25
29
  expect(label).toBeInTheDocument();
26
30
  expect(input).toBeInTheDocument();
27
31
  });
32
+ it('calls CharactersCount component with correct props', () => {
33
+ const props = { ...baseProps, maxLength: 30 };
34
+ render(_jsx(Input, { ...props }));
35
+ expect(CharactersCount).toHaveBeenCalledWith({
36
+ id: props.id,
37
+ maxLength: props.maxLength,
38
+ value: props.value,
39
+ }, {});
40
+ });
28
41
  it('calls onChange with parsed value', () => {
29
42
  const { container } = render(_jsx(Input, { ...baseProps, errors: undefined }));
30
43
  const input = container.querySelector('input[type="text"]');
@@ -48,5 +61,17 @@ describe('Input', () => {
48
61
  expect(input).toHaveFocus();
49
62
  expect(input).toHaveValue('toto');
50
63
  });
64
+ it('should display input value from the start when user leave input', () => {
65
+ const setSelectionRangeMock = vi.fn();
66
+ const { container } = render(_jsx(Input, { ...baseProps }));
67
+ const input = container.querySelector('input[type="text"]');
68
+ fireEvent.blur(input, {
69
+ target: {
70
+ ...input,
71
+ setSelectionRange: setSelectionRangeMock,
72
+ },
73
+ });
74
+ expect(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
75
+ });
51
76
  });
52
77
  //# sourceMappingURL=Input.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG;QACjB,KAAK,EAAE,OAAO;QACd,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1B,aAAa,EAAE,YAAY;KAC3B,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,KAAK,OAAK,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAC,aAAa,GAAG,CACrE,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,KAAK,OAAK,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAI,CAC7D,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAE5D,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,KAAK,OAAK,SAAS,EAAE,MAAM,EAAE,SAAS,GAAI,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAE,CAAC;QAC7D,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC;YACzC,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC1C,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,KAAK,OAAK,SAAS,EAAE,QAAQ,QAAC,MAAM,EAAE,SAAS,GAAI,CACpD,CAAC;QAEF,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,KAAK,OACD,SAAS,EACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,MAAM,EACZ,QAAQ,QACR,MAAM,EAAE,SAAS,GAChB,CACF,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,KAAqB,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,6 @@ export function InputNumber({ handleChanges, response, errors, decimals, ...prop
10
10
  export const CustomInputNumber = slottableComponent('InputNumber', (props) => {
11
11
  const { id, value, onChange, disabled, readOnly, max, decimals, unit, label, errors, required, description, declarations, } = props;
12
12
  const labelId = `label-${id}`;
13
- return (_jsxs("div", { className: "lunatic-input-number", children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx(InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors }), unit && _jsx("span", { children: unit }), _jsx(ComponentErrors, { errors: errors })] }));
13
+ return (_jsxs("div", { className: "lunatic-input-number", children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx(InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors, unit: unit }), unit && _jsx("span", { children: unit }), _jsx(ComponentErrors, { errors: errors })] }));
14
14
  });
15
15
  //# sourceMappingURL=InputNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,KAAC,iBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAClD,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,eAAK,SAAS,EAAC,sBAAsB,aACpC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,KAAC,mBAAmB,IACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,MAAM,GAChB,EACD,IAAI,IAAI,yBAAO,IAAI,GAAQ,EAC5B,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,KAAC,iBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAClD,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,eAAK,SAAS,EAAC,sBAAsB,aACpC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,KAAC,mBAAmB,IACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EACjB,IAAI,EAAE,IAAI,GACT,EACD,IAAI,IAAI,yBAAO,IAAI,GAAQ,EAC5B,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -72,7 +72,7 @@ describe('InputNumber', () => {
72
72
  const unit = container.querySelector('span');
73
73
  expect(unit).toHaveTextContent('kg');
74
74
  });
75
- it('should display the input value from the start', () => {
75
+ it('should display input value from the start when user leave input', () => {
76
76
  const setSelectionRangeMock = vi.fn();
77
77
  const { container } = render(_jsx(InputNumber, { ...baseProps, value: 100000000000000000000000000000000000 }));
78
78
  const input = container.querySelector('input[type="text"]');
@@ -84,5 +84,13 @@ describe('InputNumber', () => {
84
84
  });
85
85
  expect(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
86
86
  });
87
+ it('should have the proper title', async () => {
88
+ const { getByTitle } = render(_jsx(InputNumber, { ...baseProps, value: 100000, unit: "\u20AC" }));
89
+ expect(getByTitle((content) => content.includes('€'))).toBeInTheDocument();
90
+ });
91
+ it('should have the proper title when equal to 0', async () => {
92
+ const { getByTitle } = render(_jsx(InputNumber, { ...baseProps, value: 0, unit: "\u20AC" }));
93
+ expect(getByTitle('0 €')).toBeInTheDocument();
94
+ });
87
95
  });
88
96
  //# sourceMappingURL=InputNumber.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ type Props = {
9
9
  max?: number;
10
10
  decimals?: number;
11
11
  invalid?: boolean;
12
+ unit?: string;
12
13
  };
13
- export declare const InputNumberThousand: ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const InputNumberThousand: ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, unit, }: Props) => import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
  import { useCallback } from 'react';
4
4
  import { NumericFormat, } from 'react-number-format';
5
5
  import { inputNumberPropsI18N } from '../../i18n';
6
- export const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, }) => {
6
+ export const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, unit, }) => {
7
7
  const handleChange = useCallback(function (e) {
8
8
  var _a;
9
9
  const val = (_a = e.floatValue) !== null && _a !== void 0 ? _a : null;
@@ -15,7 +15,13 @@ export const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, r
15
15
  return floatValue <= max || false;
16
16
  return true;
17
17
  }, [max]);
18
- return (_jsx(NumericFormat, { id: id, className: classNames({ disabled }), onValueChange: handleChange, value: value !== null && value !== void 0 ? value : '', title: value ? value.toString() : '', "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
18
+ // we want to display the user input and its unit on hover
19
+ let title;
20
+ if (value !== undefined && value !== null) {
21
+ const unitTitle = unit ? ` ${unit}` : '';
22
+ title = `${value.toLocaleString()}${unitTitle}`;
23
+ }
24
+ return (_jsx(NumericFormat, { id: id, className: classNames({ disabled }), onValueChange: handleChange, value: value !== null && value !== void 0 ? value : '', title: title, "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
19
25
  e.target.setSelectionRange(0, 0);
20
26
  } }));
21
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EACN,aAAa,GAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAelD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EACnC,EAAE,EACF,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,GAAG,EACH,QAAQ,EACR,OAAO,GACA,EAAE,EAAE;IACX,MAAM,YAAY,GAAG,WAAW,CAC/B,UAAU,CAAC;;QACV,MAAM,GAAG,GAAG,MAAA,CAAC,CAAC,UAAU,mCAAI,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,MAA0B,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,IAAI,GAAG;YAC7C,OAAO,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAC;IACF,OAAO,CACN,KAAC,aAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,qBACnB,OAAO,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,oBAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB,EACzD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,kBAC7B,OAAO,EACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EACN,aAAa,GAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAgBlD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EACnC,EAAE,EACF,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,GAAG,EACH,QAAQ,EACR,OAAO,EACP,IAAI,GACG,EAAE,EAAE;IACX,MAAM,YAAY,GAAG,WAAW,CAC/B,UAAU,CAAC;;QACV,MAAM,GAAG,GAAG,MAAA,CAAC,CAAC,UAAU,mCAAI,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,MAA0B,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,IAAI,GAAG;YAC7C,OAAO,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAC;IAEF,0DAA0D;IAC1D,IAAI,KAAK,CAAC;IACV,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,CACN,KAAC,aAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAClB,KAAK,EAAE,KAAK,qBACK,OAAO,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,oBAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB,EACzD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,kBAC7B,OAAO,EACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC"}
@@ -41,7 +41,7 @@ export function Loop({ lines, iterations, value, handleChanges, getComponents, e
41
41
  if (nbRows <= 0) {
42
42
  return null;
43
43
  }
44
- return (_jsx(CustomLoop, { ...props, errors: getComponentErrors(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: times(nbRows, (n) => (_jsx(LunaticComponents, { blocklist: blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
44
+ return (_jsx(CustomLoop, { ...props, errors: getComponentErrors(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 || nbRows === min ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: times(nbRows, (n) => (_jsx(LunaticComponents, { blocklist: blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
45
45
  ...props,
46
46
  ...c,
47
47
  iteration: n,
@@ -1 +1 @@
1
- {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AAGnD;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,EACpB,KAAK,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,aAAa,EACb,MAAM,EACN,GAAG,KAAK,EACuB;;IAC/B,MAAM,GAAG,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,QAAQ,CAAC;IACnC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAClB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC;IACF,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAClB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,8BAA8B;YAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACzD,OAAO;oBACN,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;iBACzC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,KAAC,UAAU,OACN,KAAK,EACT,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC3C,SAAS,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC/C,cAAc,EAAE,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAElD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,KAAC,iBAAiB,IACjB,SAAS,EAAE,uBAAuB,EAElC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,GAAG,KAAK;gBACR,GAAG,CAAC;gBACJ,SAAS,EAAE,CAAC;gBACZ,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;gBAClB,MAAM;aACN,CAAC,IARG,CAAC,CASL,CACF,CAAC,GACU,CACb,CAAC;AACH,CAAC;AAmBD,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAc,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;IAC3E,MAAM,EACL,YAAY,EACZ,EAAE,EACF,KAAK,EACL,cAAc,EACd,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,GACT,GAAG,KAAK,CAAC;IAEV,OAAO,CACN,8BACC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,YACnC,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACD,QAAQ,EACT,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,EAClC,cAAc,IAAI,CAClB,8BACC,KAAC,MAAM,IAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,YACxC,CAAC,CAAC,kBAAkB,GACb,EACT,KAAC,MAAM,IAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,SAAS,YAC9C,CAAC,CAAC,qBAAqB,GAChB,IACP,CACH,IACC,CACH,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
3
+ import { render, screen } from '@testing-library/react';
4
+ import { Loop } from './Loop';
5
+ describe('Loop', () => {
6
+ const mockOnChange = vi.fn();
7
+ beforeEach(() => {
8
+ mockOnChange.mockClear();
9
+ });
10
+ const getComponents = (iteration) => [
11
+ {
12
+ componentType: 'Input',
13
+ maxLength: 249,
14
+ id: 'nameId',
15
+ response: {
16
+ name: 'name',
17
+ },
18
+ iteration: iteration,
19
+ value: 'Jonathan Doe',
20
+ },
21
+ ];
22
+ it('render the right number of lines by default', () => {
23
+ render(_jsx(Loop, { value: { name: ['John Doe', 'Jane Doe'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 4, max: 10 }, iterations: 2, getComponents: getComponents, executeExpression: () => null }));
24
+ expect(screen.getAllByRole('textbox')).toHaveLength(4);
25
+ });
26
+ it('disables the remove row button when the minimum number of rows is reached', () => {
27
+ render(_jsx(Loop, { value: { name: ['John Doe', 'Jane Doe', 'Alice', 'Bob'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 4, max: 10 }, iterations: 4, getComponents: getComponents, executeExpression: () => null }));
28
+ const Button = screen.getByRole('button', { name: /remove/i });
29
+ expect(Button).toBeDisabled();
30
+ });
31
+ it('enables the add row button when the maximum number of rows is not reached', () => {
32
+ render(_jsx(Loop, { value: { name: ['John Doe', 'Jane Doe', 'Alice'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 2, max: 10 }, iterations: 3, getComponents: getComponents, executeExpression: () => null }));
33
+ const Button = screen.getByRole('button', { name: /add/i });
34
+ expect(Button).not.toBeDisabled();
35
+ });
36
+ });
37
+ //# sourceMappingURL=Loop.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loop.spec.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { LunaticComponentProps } from '../type';
2
2
  import type { LunaticError } from '../../use-lunatic/type';
3
3
  import type { ReactNode } from 'react';
4
- type Props = Pick<LunaticComponentProps<'Roundabout'>, 'label' | 'locked' | 'id'> & {
4
+ type Props = Pick<LunaticComponentProps<'Roundabout'>, 'declarations' | 'description' | 'label' | 'locked' | 'id'> & {
5
5
  goToIteration: (v: number) => void;
6
6
  errors?: LunaticError[];
7
7
  items: {
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { slottableComponent } from '../shared/HOC/slottableComponent';
3
- import { Label } from '../shared/Label/Label';
4
3
  import { Button } from '../shared/Button/Button';
5
4
  import classnames from 'classnames';
6
5
  import { ComponentErrors } from '../shared/ComponentErrors/ComponentErrors';
6
+ import { Declarations } from '../shared/Declarations/Declarations';
7
+ import { LabelDescription } from '../shared/LabelDescription';
7
8
  function RoundaboutItem({ label, progress, description, onClick, disabled, iteration, locked, errors, }) {
8
9
  return (_jsxs("section", { className: "lunatic-roundabout__item", children: [_jsxs("div", { children: [label && (_jsx("label", { className: "lunatic-roundabout__label", htmlFor: `action${iteration}`, children: label })), description && (_jsx("div", { className: "lunatic-roundabout__description", children: description }))] }), !disabled && (_jsx(Button, { id: `action${iteration}`, className: classnames('lunatic-roundabout__button', getButtonClass(progress)), onClick: onClick, disabled: locked && progress === 1, children: getButtonLabel(progress) })), _jsx(ComponentErrors, { errors: errors })] }));
9
10
  }
10
- export const CustomRoundabout = slottableComponent('Roundabout', ({ items, goToIteration, label, locked }) => {
11
- return (_jsxs("div", { className: "lunatic-roundabout", children: [_jsx(Label, { children: label }), _jsx("div", { className: "lunatic-roundabout__items", children: items.map((item, k) => (_jsx(RoundaboutItem, { iteration: k, ...item, errors: item.errors, onClick: () => goToIteration(k), locked: locked }, k))) })] }));
11
+ export const CustomRoundabout = slottableComponent('Roundabout', ({ declarations, description, id, items, goToIteration, label, locked }) => {
12
+ return (_jsxs("div", { className: "lunatic-roundabout", children: [_jsx("div", { id: `roundabout-${id}`, className: "lunatic-roundabout__label", children: label }), _jsx(LabelDescription, { value: description }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx("div", { className: "lunatic-roundabout__items", children: items.map((item, k) => (_jsx(RoundaboutItem, { iteration: k, ...item, errors: item.errors, onClick: () => goToIteration(k), locked: locked }, k))) })] }));
12
13
  });
13
14
  function getButtonLabel(progress) {
14
15
  if (progress === 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomRoundabout.js","sourceRoot":"","sources":["../../../src/components/Roundabout/CustomRoundabout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAW5E,SAAS,cAAc,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,GACK;IACX,OAAO,CACN,mBAAS,SAAS,EAAC,0BAA0B,aAC5C,0BACE,KAAK,IAAI,CACT,gBACC,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,SAAS,SAAS,EAAE,YAE5B,KAAK,GACC,CACR,EACA,WAAW,IAAI,CACf,cAAK,SAAS,EAAC,iCAAiC,YAAE,WAAW,GAAO,CACpE,IACI,EACL,CAAC,QAAQ,IAAI,CACb,KAAC,MAAM,IACN,EAAE,EAAE,SAAS,SAAS,EAAE,EACxB,SAAS,EAAE,UAAU,CACpB,4BAA4B,EAC5B,cAAc,CAAC,QAAQ,CAAC,CACxB,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,IAAI,QAAQ,KAAK,CAAC,YAEjC,cAAc,CAAC,QAAQ,CAAC,GACjB,CACT,EACD,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC1B,CACV,CAAC;AACH,CAAC;AAiBD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CACjD,YAAY,EACZ,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IAC3C,OAAO,CACN,eAAK,SAAS,EAAC,oBAAoB,aAClC,KAAC,KAAK,cAAE,KAAK,GAAS,EACtB,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,KAAC,cAAc,IAEd,SAAS,EAAE,CAAC,KACR,IAAI,EACR,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,IALT,CAAC,CAML,CACF,CAAC,GACG,IACD,CACN,CAAC;AACH,CAAC,CACD,CAAC;AAEF,SAAS,cAAc,CAAC,QAAgB;IACvC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACvC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,sCAAsC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,qCAAqC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"CustomRoundabout.js","sourceRoot":"","sources":["../../../src/components/Roundabout/CustomRoundabout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAS9D,SAAS,cAAc,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,GACK;IACX,OAAO,CACN,mBAAS,SAAS,EAAC,0BAA0B,aAC5C,0BACE,KAAK,IAAI,CACT,gBACC,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,SAAS,SAAS,EAAE,YAE5B,KAAK,GACC,CACR,EACA,WAAW,IAAI,CACf,cAAK,SAAS,EAAC,iCAAiC,YAAE,WAAW,GAAO,CACpE,IACI,EACL,CAAC,QAAQ,IAAI,CACb,KAAC,MAAM,IACN,EAAE,EAAE,SAAS,SAAS,EAAE,EACxB,SAAS,EAAE,UAAU,CACpB,4BAA4B,EAC5B,cAAc,CAAC,QAAQ,CAAC,CACxB,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,IAAI,QAAQ,KAAK,CAAC,YAEjC,cAAc,CAAC,QAAQ,CAAC,GACjB,CACT,EACD,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC1B,CACV,CAAC;AACH,CAAC;AAiBD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CACjD,YAAY,EACZ,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1E,OAAO,CACN,eAAK,SAAS,EAAC,oBAAoB,aAClC,cAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAC,2BAA2B,YAChE,KAAK,GACD,EACN,KAAC,gBAAgB,IAAC,KAAK,EAAE,WAAW,GAAI,EACxC,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,KAAC,cAAc,IAEd,SAAS,EAAE,CAAC,KACR,IAAI,EACR,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,IALT,CAAC,CAML,CACF,CAAC,GACG,IACD,CACN,CAAC;AACH,CAAC,CACD,CAAC;AAEF,SAAS,cAAc,CAAC,QAAgB;IACvC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACvC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,sCAAsC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,qCAAqC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -22,14 +22,16 @@ describe('Roundabout', () => {
22
22
  },
23
23
  ];
24
24
  const label = 'My Roundabout';
25
+ const description = 'Roundabout description';
25
26
  it('renders the roundabout correctly', () => {
26
- const { getByText } = render(_jsx(CustomRoundabout, { id: "r1", items: items, goToIteration: mockGoToIteration, locked: false }));
27
+ const { getByText } = render(_jsx(CustomRoundabout, { id: "r1", items: items, goToIteration: mockGoToIteration, locked: false, description: description }));
27
28
  expect(getByText('Step 1')).toBeInTheDocument();
28
29
  expect(getByText('Step 2')).toBeInTheDocument();
29
30
  expect(getByText('Step 3')).toBeInTheDocument();
30
31
  expect(getByText('Complété')).toBeInTheDocument();
31
32
  expect(getByText('Modifier')).toBeInTheDocument();
32
33
  expect(getByText('Commencer')).toBeInTheDocument();
34
+ expect(getByText('Roundabout description')).toBeInTheDocument();
33
35
  });
34
36
  it('calls the goToIteration function when a button is clicked', () => {
35
37
  const { getByText } = render(_jsx(CustomRoundabout, { id: "r1", items: items, goToIteration: mockGoToIteration, label: label, locked: false }));
@@ -1 +1 @@
1
- {"version":3,"file":"roundabout.spec.js","sourceRoot":"","sources":["../../../src/components/Roundabout/roundabout.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE7D,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAElC,SAAS,CAAC,GAAG,EAAE;QACd,iBAAiB,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACb;YACC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,CAAC,CAAC;SACZ;QACD;YACC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,CAAC;SACX;QACD;YACC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,CAAC;SACX;KACD,CAAC;IACF,MAAM,KAAK,GAAG,eAAe,CAAC;IAE9B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,gBAAgB,IAChB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,KAAK,GACZ,CACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,gBAAgB,IAChB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,iBAAiB,EAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,KAAK,GACZ,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACrC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAExB,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,gBAAgB,IAChB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,IAAI,GACX,CACF,CAAC;QAEF,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"roundabout.spec.js","sourceRoot":"","sources":["../../../src/components/Roundabout/roundabout.spec.tsx"],"names":[],"mappings":"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"}