@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
@@ -47,7 +47,7 @@ exports.CustomDatepicker = (0, slottableComponent_1.slottableComponent)('Datepic
47
47
  readOnly,
48
48
  disabled,
49
49
  };
50
- return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-input", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsxs)("div", { className: "lunaticDatepickerFields", children: [showDay && ((0, jsx_runtime_1.jsx)(DatepickerField_1.DatepickerField, { id: id + 'day', label: "Jour", description: "Exemple: 14", max: 31, value: numbers[2], onChange: setNumber(2), ...extraProps })), showMonth && ((0, jsx_runtime_1.jsx)(DatepickerField_1.DatepickerField, { id: id + 'month', label: "Mois", description: "Exemple: 07", max: 12, value: numbers[1], onChange: setNumber(1), ...extraProps })), (0, jsx_runtime_1.jsx)(DatepickerField_1.DatepickerField, { id: id + 'year', label: "Ann\u00E9e", description: "Exemple: 2023", value: numbers[0], max: 9999, onChange: setNumber(0), ...extraProps })] }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
50
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-input", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsxs)("div", { className: "lunaticDatepickerFields", children: [showDay && ((0, jsx_runtime_1.jsx)(DatepickerField_1.DatepickerField, { id: id + 'day', label: "Jour", description: "Exemple: 14", max: 31, value: numbers[2], onChange: setNumber(2), ...extraProps })), showMonth && ((0, jsx_runtime_1.jsx)(DatepickerField_1.DatepickerField, { id: id + 'month', label: "Mois", description: "Exemple: 7", max: 12, value: numbers[1], onChange: setNumber(1), ...extraProps })), (0, jsx_runtime_1.jsx)(DatepickerField_1.DatepickerField, { id: id + 'year', label: "Ann\u00E9e", description: "Exemple: 2023", value: numbers[0], max: 9999, onChange: setNumber(0), ...extraProps })] }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
51
51
  });
52
52
  function numbersFromDateString(s) {
53
53
  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":"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"}
@@ -15,11 +15,12 @@ const object_1 = require("../../utils/object");
15
15
  const slottableComponent_1 = require("../shared/HOC/slottableComponent");
16
16
  const ComponentErrors_1 = require("../shared/ComponentErrors/ComponentErrors");
17
17
  const Declarations_1 = require("../shared/Declarations/Declarations");
18
+ const Fieldset_1 = require("../shared/Fieldset/Fieldset");
18
19
  function Duration({ handleChanges, response, errors, ...props }) {
19
20
  return ((0, jsx_runtime_1.jsx)(exports.CustomDuration, { ...props, onChange: (value) => handleChanges([{ name: response.name, value }]), errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id) }));
20
21
  }
21
22
  exports.CustomDuration = (0, slottableComponent_1.slottableComponent)('Duration', (props) => {
22
- const { errors, value, label, format, onChange, declarations, id } = props;
23
+ const { errors, value, label, format, onChange, declarations, id, description, } = props;
23
24
  // We need to keep an internal state since one field can be empty (null value in duration)
24
25
  // but we still send "0" and we don't want the field to display "0"
25
26
  const [duration, setDuration] = (0, react_1.useState)((0, getDurationFromValue_1.getDurationFromValue)(value, format));
@@ -33,6 +34,6 @@ exports.CustomDuration = (0, slottableComponent_1.slottableComponent)('Duration'
33
34
  onChange((0, formatDuration_1.formatDuration)(newDuration));
34
35
  setDuration(newDuration);
35
36
  };
36
- return ((0, jsx_runtime_1.jsxs)("fieldset", { className: (0, classnames_1.default)('lunatic-input'), children: [label && (0, jsx_runtime_1.jsx)("legend", { children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)("div", { className: "duration-fields", children: (0, object_1.objectKeys)(duration).map((unit) => ((0, jsx_runtime_1.jsxs)("div", { className: "duration-field", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: `${unit}Input`, className: "input-label", children: durationUtils_1.labelByUnit[unit] }), (0, jsx_runtime_1.jsx)("input", { id: `${unit}Input`, type: "number", value: duration[unit] ?? '', className: "input-field", onChange: changeHandler(unit), ...durationUtils_1.propsByUnit[unit] })] }, unit))) }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
37
+ return ((0, jsx_runtime_1.jsxs)(Fieldset_1.Fieldset, { className: (0, classnames_1.default)('lunatic-input'), legend: label, description: description, children: [(0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)("div", { className: "duration-fields", children: (0, object_1.objectKeys)(duration).map((unit) => ((0, jsx_runtime_1.jsxs)("div", { className: "duration-field", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: `${unit}Input`, className: "input-label", children: durationUtils_1.labelByUnit[unit] }), (0, jsx_runtime_1.jsx)("input", { id: `${unit}Input`, type: "number", value: duration[unit] ?? '', className: "input-field", onChange: changeHandler(unit), ...durationUtils_1.propsByUnit[unit] })] }, unit))) }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
37
38
  });
38
39
  //# sourceMappingURL=Duration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../src/components/Duration/Duration.tsx"],"names":[],"mappings":";;;;;;AAeA,4BAaC;;AA3BD,iCAAiC;AACjC,iEAA8D;AAC9D,mDAA0E;AAC1E,qDAAkD;AAClD,4DAAoC;AACpC,+CAAgD;AAChD,yEAAsE;AAEtE,+EAGmD;AACnD,sEAAmE;AAEnE,SAAgB,QAAQ,CAAC,EACxB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,uBAAC,sBAAc,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,cAAc,GAAG,IAAA,uCAAkB,EAC/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,IAAA,gBAAQ,EACvC,IAAA,2CAAoB,EAAC,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,IAAA,6BAAa,EAC/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,IAAA,+BAAc,EAAC,WAAW,CAAC,CAAC,CAAC;QACtC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEH,OAAO,CACN,sCAAU,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,CAAC,aAC9C,KAAK,IAAI,6CAAS,KAAK,GAAU,EAClC,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,gCAAK,SAAS,EAAC,iBAAiB,YAC9B,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnC,iCAAK,SAAS,EAAC,gBAAgB,aAC9B,kCAAO,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,SAAS,EAAC,aAAa,YACrD,2BAAW,CAAC,IAAI,CAAC,GACX,EACR,kCACC,EAAE,EAAE,GAAG,IAAI,OAAO,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAC3B,SAAS,EAAC,aAAa,EACvB,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KACzB,2BAAW,CAAC,IAAI,CAAC,GACpB,KAXkC,IAAI,CAYnC,CACN,CAAC,GACG,EACN,uBAAC,iCAAe,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":";;;;;;AAgBA,4BAaC;;AA5BD,iCAAiC;AACjC,iEAA8D;AAC9D,mDAA0E;AAC1E,qDAAkD;AAClD,4DAAoC;AACpC,+CAAgD;AAChD,yEAAsE;AAEtE,+EAGmD;AACnD,sEAAmE;AACnE,0DAAuD;AAEvD,SAAgB,QAAQ,CAAC,EACxB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,uBAAC,sBAAc,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,cAAc,GAAG,IAAA,uCAAkB,EAC/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,IAAA,gBAAQ,EACvC,IAAA,2CAAoB,EAAC,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,IAAA,6BAAa,EAC/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,IAAA,+BAAc,EAAC,WAAW,CAAC,CAAC,CAAC;QACtC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEH,OAAO,CACN,wBAAC,mBAAQ,IACR,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,CAAC,EACtC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,WAAW,aAExB,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,gCAAK,SAAS,EAAC,iBAAiB,YAC9B,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnC,iCAAK,SAAS,EAAC,gBAAgB,aAC9B,kCAAO,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,SAAS,EAAC,aAAa,YACrD,2BAAW,CAAC,IAAI,CAAC,GACX,EACR,kCACC,EAAE,EAAE,GAAG,IAAI,OAAO,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAC3B,SAAS,EAAC,aAAa,EACvB,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KACzB,2BAAW,CAAC,IAAI,CAAC,GACpB,KAXkC,IAAI,CAYnC,CACN,CAAC,GACG,EACN,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IACzB,CACX,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -11,14 +11,17 @@ const Label_1 = require("../shared/Label/Label");
11
11
  const slottableComponent_1 = require("../shared/HOC/slottableComponent");
12
12
  const ComponentErrors_1 = require("../shared/ComponentErrors/ComponentErrors");
13
13
  const Declarations_1 = require("../shared/Declarations/Declarations");
14
+ const CharactersCount_1 = require("../shared/CharactersCount/CharactersCount");
15
+ const getCharactersCountId_1 = require("../shared/utils/getCharactersCountId");
14
16
  function Input({ handleChanges, response, errors, ...props }) {
15
17
  return ((0, jsx_runtime_1.jsx)(exports.CustomInput, { ...props, onChange: (value) => handleChanges([{ name: response.name, value }]), errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id) }));
16
18
  }
17
19
  exports.CustomInput = (0, slottableComponent_1.slottableComponent)('Input', (props) => {
18
20
  const { value, onChange, disabled, required, maxLength, label, description, id, errors, readOnly, declarations, } = props;
19
21
  const labelId = `label-${id}`;
20
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('lunatic-input'), children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)("input", { id: id, "aria-labelledby": labelId, autoComplete: "off", type: "text", disabled: disabled, readOnly: readOnly, value: (value ?? '').toString(), title: value ?? '', onChange: (e) => onChange(e.target.value), "aria-required": required, required: required, maxLength: maxLength, "aria-invalid": !!errors, onBlur: (e) => {
21
- e.target.setSelectionRange(0, 0);
22
- } }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
22
+ const charactersCountId = (0, getCharactersCountId_1.getCharactersCountId)(id, maxLength);
23
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('lunatic-input'), children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsxs)("div", { className: "field-with-count", children: [(0, jsx_runtime_1.jsx)("input", { id: id, "aria-labelledby": labelId, "aria-describedby": maxLength ? charactersCountId : undefined, autoComplete: "off", type: "text", disabled: disabled, readOnly: readOnly, value: (value ?? '').toString(), title: value ?? '', onChange: (e) => onChange(e.target.value), "aria-required": required, required: required, maxLength: maxLength, "aria-invalid": !!errors, onBlur: (e) => {
24
+ e.target.setSelectionRange(0, 0);
25
+ } }), (0, jsx_runtime_1.jsx)(CharactersCount_1.CharactersCount, { id: id, maxLength: maxLength, value: value })] }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
23
26
  });
24
27
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input/Input.tsx"],"names":[],"mappings":";;;;;;AAWA,sBAaC;;AAxBD,4DAAoC;AAEpC,iDAA8C;AAC9C,yEAAsE;AACtE,+EAGmD;AACnD,sEAAmE;AAGnE,SAAgB,KAAK,CAAC,EACrB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACwB;IAChC,OAAO,CACN,uBAAC,mBAAW,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,WAAW,GAAG,IAAA,uCAAkB,EAAc,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,iCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,CAAC,aAC1C,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,kCACC,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,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAC/B,KAAK,EAAE,KAAK,IAAI,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,uBAAC,iCAAe,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,sBAaC;;AA1BD,4DAAoC;AAEpC,iDAA8C;AAC9C,yEAAsE;AACtE,+EAGmD;AACnD,sEAAmE;AAEnE,+EAA4E;AAC5E,+EAA4E;AAE5E,SAAgB,KAAK,CAAC,EACrB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACwB;IAChC,OAAO,CACN,uBAAC,mBAAW,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,WAAW,GAAG,IAAA,uCAAkB,EAAc,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,IAAA,2CAAoB,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAE9D,OAAO,CACN,iCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,CAAC,aAC1C,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,iCAAK,SAAS,EAAC,kBAAkB,aAChC,kCACC,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,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAC/B,KAAK,EAAE,KAAK,IAAI,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,uBAAC,iCAAe,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,IAC1D,EACN,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -4,6 +4,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const react_1 = require("@testing-library/react");
5
5
  const vitest_1 = require("vitest");
6
6
  const Input_1 = require("./Input");
7
+ const CharactersCount_1 = require("../shared/CharactersCount/CharactersCount");
8
+ vitest_1.vi.mock('../shared/CharactersCount/CharactersCount', () => ({
9
+ CharactersCount: vitest_1.vi.fn(),
10
+ }));
7
11
  (0, vitest_1.describe)('Input', () => {
8
12
  const mockOnChange = vitest_1.vi.fn();
9
13
  const baseProps = {
@@ -27,6 +31,15 @@ const Input_1 = require("./Input");
27
31
  (0, vitest_1.expect)(label).toBeInTheDocument();
28
32
  (0, vitest_1.expect)(input).toBeInTheDocument();
29
33
  });
34
+ (0, vitest_1.it)('calls CharactersCount component with correct props', () => {
35
+ const props = { ...baseProps, maxLength: 30 };
36
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(Input_1.Input, { ...props }));
37
+ (0, vitest_1.expect)(CharactersCount_1.CharactersCount).toHaveBeenCalledWith({
38
+ id: props.id,
39
+ maxLength: props.maxLength,
40
+ value: props.value,
41
+ }, {});
42
+ });
30
43
  (0, vitest_1.it)('calls onChange with parsed value', () => {
31
44
  const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Input_1.Input, { ...baseProps, errors: undefined }));
32
45
  const input = container.querySelector('input[type="text"]');
@@ -50,5 +63,17 @@ const Input_1 = require("./Input");
50
63
  (0, vitest_1.expect)(input).toHaveFocus();
51
64
  (0, vitest_1.expect)(input).toHaveValue('toto');
52
65
  });
66
+ (0, vitest_1.it)('should display input value from the start when user leave input', () => {
67
+ const setSelectionRangeMock = vitest_1.vi.fn();
68
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Input_1.Input, { ...baseProps }));
69
+ const input = container.querySelector('input[type="text"]');
70
+ react_1.fireEvent.blur(input, {
71
+ target: {
72
+ ...input,
73
+ setSelectionRange: setSelectionRangeMock,
74
+ },
75
+ });
76
+ (0, vitest_1.expect)(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
77
+ });
53
78
  });
54
79
  //# sourceMappingURL=Input.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
@@ -14,6 +14,6 @@ function InputNumber({ handleChanges, response, errors, decimals, ...props }) {
14
14
  exports.CustomInputNumber = (0, slottableComponent_1.slottableComponent)('InputNumber', (props) => {
15
15
  const { id, value, onChange, disabled, readOnly, max, decimals, unit, label, errors, required, description, declarations, } = props;
16
16
  const labelId = `label-${id}`;
17
- return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-input-number", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)(InputNumberThousand_1.InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors }), unit && (0, jsx_runtime_1.jsx)("span", { children: unit }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
17
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-input-number", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)(InputNumberThousand_1.InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors, unit: unit }), unit && (0, jsx_runtime_1.jsx)("span", { children: unit }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
18
18
  });
19
19
  //# sourceMappingURL=InputNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";;;AAWA,kCAeC;;AA1BD,+DAA4D;AAE5D,iDAA8C;AAC9C,+EAGmD;AACnD,yEAAsE;AACtE,sEAAmE;AAGnE,SAAgB,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,uBAAC,yBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,IAAI,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,iBAAiB,GAAG,IAAA,uCAAkB,EAClD,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,iCAAK,SAAS,EAAC,sBAAsB,aACpC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,uBAAC,yCAAmB,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,2CAAO,IAAI,GAAQ,EAC5B,uBAAC,iCAAe,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":";;;AAWA,kCAeC;;AA1BD,+DAA4D;AAE5D,iDAA8C;AAC9C,+EAGmD;AACnD,yEAAsE;AACtE,sEAAmE;AAGnE,SAAgB,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,uBAAC,yBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,IAAI,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,iBAAiB,GAAG,IAAA,uCAAkB,EAClD,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,iCAAK,SAAS,EAAC,sBAAsB,aACpC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,uBAAC,yCAAmB,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,2CAAO,IAAI,GAAQ,EAC5B,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -74,7 +74,7 @@ const InputNumber_1 = require("./InputNumber");
74
74
  const unit = container.querySelector('span');
75
75
  (0, vitest_1.expect)(unit).toHaveTextContent('kg');
76
76
  });
77
- (0, vitest_1.it)('should display the input value from the start', () => {
77
+ (0, vitest_1.it)('should display input value from the start when user leave input', () => {
78
78
  const setSelectionRangeMock = vitest_1.vi.fn();
79
79
  const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(InputNumber_1.InputNumber, { ...baseProps, value: 100000000000000000000000000000000000 }));
80
80
  const input = container.querySelector('input[type="text"]');
@@ -86,5 +86,13 @@ const InputNumber_1 = require("./InputNumber");
86
86
  });
87
87
  (0, vitest_1.expect)(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
88
88
  });
89
+ (0, vitest_1.it)('should have the proper title', async () => {
90
+ const { getByTitle } = (0, react_1.render)((0, jsx_runtime_1.jsx)(InputNumber_1.InputNumber, { ...baseProps, value: 100000, unit: "\u20AC" }));
91
+ (0, vitest_1.expect)(getByTitle((content) => content.includes('€'))).toBeInTheDocument();
92
+ });
93
+ (0, vitest_1.it)('should have the proper title when equal to 0', async () => {
94
+ const { getByTitle } = (0, react_1.render)((0, jsx_runtime_1.jsx)(InputNumber_1.InputNumber, { ...baseProps, value: 0, unit: "\u20AC" }));
95
+ (0, vitest_1.expect)(getByTitle('0 €')).toBeInTheDocument();
96
+ });
89
97
  });
90
98
  //# 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 {};
@@ -9,7 +9,7 @@ const classnames_1 = __importDefault(require("classnames"));
9
9
  const react_1 = require("react");
10
10
  const react_number_format_1 = require("react-number-format");
11
11
  const i18n_1 = require("../../i18n");
12
- const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, }) => {
12
+ const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, unit, }) => {
13
13
  const handleChange = (0, react_1.useCallback)(function (e) {
14
14
  const val = e.floatValue ?? null;
15
15
  onChange(Number.isNaN(val) ? null : val);
@@ -20,7 +20,13 @@ const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required
20
20
  return floatValue <= max || false;
21
21
  return true;
22
22
  }, [max]);
23
- return ((0, jsx_runtime_1.jsx)(react_number_format_1.NumericFormat, { id: id, className: (0, classnames_1.default)({ disabled }), onValueChange: handleChange, value: value ?? '', title: value ? value.toString() : '', "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: i18n_1.inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: i18n_1.inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: i18n_1.inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
23
+ // we want to display the user input and its unit on hover
24
+ let title;
25
+ if (value !== undefined && value !== null) {
26
+ const unitTitle = unit ? ` ${unit}` : '';
27
+ title = `${value.toLocaleString()}${unitTitle}`;
28
+ }
29
+ return ((0, jsx_runtime_1.jsx)(react_number_format_1.NumericFormat, { id: id, className: (0, classnames_1.default)({ disabled }), onValueChange: handleChange, value: value ?? '', title: title, "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: i18n_1.inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: i18n_1.inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: i18n_1.inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
24
30
  e.target.setSelectionRange(0, 0);
25
31
  } }));
26
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";;;;;;;AAAA,4DAAoC;AACpC,iCAAoC;AACpC,6DAI6B;AAC7B,qCAAkD;AAe3C,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,IAAA,mBAAW,EAC/B,UAAU,CAAC;QACV,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,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,IAAA,mBAAW,EAC5B,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,uBAAC,mCAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,IAAI,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,2BAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,2BAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,2BAAoB,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;AAtDW,QAAA,mBAAmB,uBAsD9B"}
1
+ {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";;;;;;;AAAA,4DAAoC;AACpC,iCAAoC;AACpC,6DAI6B;AAC7B,qCAAkD;AAgB3C,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,IAAA,mBAAW,EAC/B,UAAU,CAAC;QACV,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,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,IAAA,mBAAW,EAC5B,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,uBAAC,mCAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,IAAI,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,2BAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,2BAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,2BAAoB,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;AA/DW,QAAA,mBAAmB,uBA+D9B"}
@@ -47,7 +47,7 @@ function Loop({ lines, iterations, value, handleChanges, getComponents, errors,
47
47
  if (nbRows <= 0) {
48
48
  return null;
49
49
  }
50
- return ((0, jsx_runtime_1.jsx)(exports.CustomLoop, { ...props, errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: (0, array_1.times)(nbRows, (n) => ((0, jsx_runtime_1.jsx)(LunaticComponents_1.LunaticComponents, { blocklist: constant_1.blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
50
+ return ((0, jsx_runtime_1.jsx)(exports.CustomLoop, { ...props, errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 || nbRows === min ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: (0, array_1.times)(nbRows, (n) => ((0, jsx_runtime_1.jsx)(LunaticComponents_1.LunaticComponents, { blocklist: constant_1.blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
51
51
  ...props,
52
52
  ...c,
53
53
  iteration: n,
@@ -1 +1 @@
1
- {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/components/Loop/Loop.tsx"],"names":[],"mappings":";;;;;;AAmBA,oBA8DC;;AAjFD,iCAAsE;AACtE,sDAA2B;AAC3B,6CAA0C;AAC1C,4DAAyD;AAEzD,yCAAqD;AACrD,yEAAsE;AACtE,iDAA8C;AAC9C,sEAAmE;AACnE,oDAAiD;AACjD,+EAGmD;AAGnD;;GAEG;AACH,SAAgB,IAAI,CAAC,EACpB,KAAK,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,aAAa,EACb,MAAM,EACN,GAAG,KAAK,EACuB;IAC/B,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC;IACnC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,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,IAAA,mBAAW,EAAC,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,EAAE,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,uBAAC,kBAAU,OACN,KAAK,EACT,MAAM,EAAE,IAAA,oCAAkB,EAAC,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,IAAA,aAAK,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,uBAAC,qCAAiB,IACjB,SAAS,EAAE,kCAAuB,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;AAmBY,QAAA,UAAU,GAAG,IAAA,uCAAkB,EAAc,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,6DACC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,YACnC,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACD,QAAQ,EACT,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,EAClC,cAAc,IAAI,CAClB,6DACC,uBAAC,eAAM,IAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,YACxC,cAAC,CAAC,kBAAkB,GACb,EACT,uBAAC,eAAM,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,39 @@
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 react_1 = require("@testing-library/react");
6
+ const Loop_1 = require("./Loop");
7
+ (0, vitest_1.describe)('Loop', () => {
8
+ const mockOnChange = vitest_1.vi.fn();
9
+ (0, vitest_1.beforeEach)(() => {
10
+ mockOnChange.mockClear();
11
+ });
12
+ const getComponents = (iteration) => [
13
+ {
14
+ componentType: 'Input',
15
+ maxLength: 249,
16
+ id: 'nameId',
17
+ response: {
18
+ name: 'name',
19
+ },
20
+ iteration: iteration,
21
+ value: 'Jonathan Doe',
22
+ },
23
+ ];
24
+ (0, vitest_1.it)('render the right number of lines by default', () => {
25
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(Loop_1.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 }));
26
+ (0, vitest_1.expect)(react_1.screen.getAllByRole('textbox')).toHaveLength(4);
27
+ });
28
+ (0, vitest_1.it)('disables the remove row button when the minimum number of rows is reached', () => {
29
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(Loop_1.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 }));
30
+ const Button = react_1.screen.getByRole('button', { name: /remove/i });
31
+ (0, vitest_1.expect)(Button).toBeDisabled();
32
+ });
33
+ (0, vitest_1.it)('enables the add row button when the maximum number of rows is not reached', () => {
34
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(Loop_1.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 }));
35
+ const Button = react_1.screen.getByRole('button', { name: /add/i });
36
+ (0, vitest_1.expect)(Button).not.toBeDisabled();
37
+ });
38
+ });
39
+ //# 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":";;;AAAA,mCAA8D;AAC9D,kDAAwD;AACxD,iCAA8B;AAG9B,IAAA,iBAAQ,EAAC,MAAM,EAAE,GAAG,EAAE;IACrB,MAAM,YAAY,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,IAAA,mBAAU,EAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;QAC5C;YACC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,GAAG;YACd,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE;gBACT,IAAI,EAAE,MAAM;aACZ;YACD,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,cAAc;SACa;KACnC,CAAC;IAEF,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,IAAA,cAAM,EACL,uBAAC,WAAI,IACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EACzC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAC,OAAO,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAC1B,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAW,GACnC,CACF,CAAC;QACF,IAAA,eAAM,EAAC,cAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2EAA2E,EAAE,GAAG,EAAE;QACpF,IAAA,cAAM,EACL,uBAAC,WAAI,IACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EACzD,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAC,OAAO,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAC1B,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAW,GACnC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,cAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2EAA2E,EAAE,GAAG,EAAE;QACpF,IAAA,cAAM,EACL,uBAAC,WAAI,IACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAClD,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAC,OAAO,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAC1B,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAW,GACnC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,cAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -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: {
@@ -6,15 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CustomRoundabout = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const slottableComponent_1 = require("../shared/HOC/slottableComponent");
9
- const Label_1 = require("../shared/Label/Label");
10
9
  const Button_1 = require("../shared/Button/Button");
11
10
  const classnames_1 = __importDefault(require("classnames"));
12
11
  const ComponentErrors_1 = require("../shared/ComponentErrors/ComponentErrors");
12
+ const Declarations_1 = require("../shared/Declarations/Declarations");
13
+ const LabelDescription_1 = require("../shared/LabelDescription");
13
14
  function RoundaboutItem({ label, progress, description, onClick, disabled, iteration, locked, errors, }) {
14
15
  return ((0, jsx_runtime_1.jsxs)("section", { className: "lunatic-roundabout__item", children: [(0, jsx_runtime_1.jsxs)("div", { children: [label && ((0, jsx_runtime_1.jsx)("label", { className: "lunatic-roundabout__label", htmlFor: `action${iteration}`, children: label })), description && ((0, jsx_runtime_1.jsx)("div", { className: "lunatic-roundabout__description", children: description }))] }), !disabled && ((0, jsx_runtime_1.jsx)(Button_1.Button, { id: `action${iteration}`, className: (0, classnames_1.default)('lunatic-roundabout__button', getButtonClass(progress)), onClick: onClick, disabled: locked && progress === 1, children: getButtonLabel(progress) })), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
15
16
  }
16
- exports.CustomRoundabout = (0, slottableComponent_1.slottableComponent)('Roundabout', ({ items, goToIteration, label, locked }) => {
17
- return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-roundabout", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { children: label }), (0, jsx_runtime_1.jsx)("div", { className: "lunatic-roundabout__items", children: items.map((item, k) => ((0, jsx_runtime_1.jsx)(RoundaboutItem, { iteration: k, ...item, errors: item.errors, onClick: () => goToIteration(k), locked: locked }, k))) })] }));
17
+ exports.CustomRoundabout = (0, slottableComponent_1.slottableComponent)('Roundabout', ({ declarations, description, id, items, goToIteration, label, locked }) => {
18
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-roundabout", children: [(0, jsx_runtime_1.jsx)("div", { id: `roundabout-${id}`, className: "lunatic-roundabout__label", children: label }), (0, jsx_runtime_1.jsx)(LabelDescription_1.LabelDescription, { value: description }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)("div", { className: "lunatic-roundabout__items", children: items.map((item, k) => ((0, jsx_runtime_1.jsx)(RoundaboutItem, { iteration: k, ...item, errors: item.errors, onClick: () => goToIteration(k), locked: locked }, k))) })] }));
18
19
  });
19
20
  function getButtonLabel(progress) {
20
21
  if (progress === 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomRoundabout.js","sourceRoot":"","sources":["../../src/components/Roundabout/CustomRoundabout.tsx"],"names":[],"mappings":";;;;;;;AAAA,yEAAsE;AAEtE,iDAA8C;AAE9C,oDAAiD;AACjD,4DAAoC;AACpC,+EAA4E;AAW5E,SAAS,cAAc,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,GACK;IACX,OAAO,CACN,qCAAS,SAAS,EAAC,0BAA0B,aAC5C,4CACE,KAAK,IAAI,CACT,kCACC,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,SAAS,SAAS,EAAE,YAE5B,KAAK,GACC,CACR,EACA,WAAW,IAAI,CACf,gCAAK,SAAS,EAAC,iCAAiC,YAAE,WAAW,GAAO,CACpE,IACI,EACL,CAAC,QAAQ,IAAI,CACb,uBAAC,eAAM,IACN,EAAE,EAAE,SAAS,SAAS,EAAE,EACxB,SAAS,EAAE,IAAA,oBAAU,EACpB,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,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC1B,CACV,CAAC;AACH,CAAC;AAiBY,QAAA,gBAAgB,GAAG,IAAA,uCAAkB,EACjD,YAAY,EACZ,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IAC3C,OAAO,CACN,iCAAK,SAAS,EAAC,oBAAoB,aAClC,uBAAC,aAAK,cAAE,KAAK,GAAS,EACtB,gCAAK,SAAS,EAAC,2BAA2B,YACxC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,uBAAC,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,yEAAsE;AAGtE,oDAAiD;AACjD,4DAAoC;AACpC,+EAA4E;AAG5E,sEAAmE;AACnE,iEAA8D;AAS9D,SAAS,cAAc,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,GACK;IACX,OAAO,CACN,qCAAS,SAAS,EAAC,0BAA0B,aAC5C,4CACE,KAAK,IAAI,CACT,kCACC,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,SAAS,SAAS,EAAE,YAE5B,KAAK,GACC,CACR,EACA,WAAW,IAAI,CACf,gCAAK,SAAS,EAAC,iCAAiC,YAAE,WAAW,GAAO,CACpE,IACI,EACL,CAAC,QAAQ,IAAI,CACb,uBAAC,eAAM,IACN,EAAE,EAAE,SAAS,SAAS,EAAE,EACxB,SAAS,EAAE,IAAA,oBAAU,EACpB,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,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC1B,CACV,CAAC;AACH,CAAC;AAiBY,QAAA,gBAAgB,GAAG,IAAA,uCAAkB,EACjD,YAAY,EACZ,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1E,OAAO,CACN,iCAAK,SAAS,EAAC,oBAAoB,aAClC,gCAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAC,2BAA2B,YAChE,KAAK,GACD,EACN,uBAAC,mCAAgB,IAAC,KAAK,EAAE,WAAW,GAAI,EACxC,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,gCAAK,SAAS,EAAC,2BAA2B,YACxC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,uBAAC,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"}
@@ -24,14 +24,16 @@ const vitest_1 = require("vitest");
24
24
  },
25
25
  ];
26
26
  const label = 'My Roundabout';
27
+ const description = 'Roundabout description';
27
28
  (0, vitest_1.it)('renders the roundabout correctly', () => {
28
- const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CustomRoundabout_1.CustomRoundabout, { id: "r1", items: items, goToIteration: mockGoToIteration, locked: false }));
29
+ const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CustomRoundabout_1.CustomRoundabout, { id: "r1", items: items, goToIteration: mockGoToIteration, locked: false, description: description }));
29
30
  (0, vitest_1.expect)(getByText('Step 1')).toBeInTheDocument();
30
31
  (0, vitest_1.expect)(getByText('Step 2')).toBeInTheDocument();
31
32
  (0, vitest_1.expect)(getByText('Step 3')).toBeInTheDocument();
32
33
  (0, vitest_1.expect)(getByText('Complété')).toBeInTheDocument();
33
34
  (0, vitest_1.expect)(getByText('Modifier')).toBeInTheDocument();
34
35
  (0, vitest_1.expect)(getByText('Commencer')).toBeInTheDocument();
36
+ (0, vitest_1.expect)(getByText('Roundabout description')).toBeInTheDocument();
35
37
  });
36
38
  (0, vitest_1.it)('calls the goToIteration function when a button is clicked', () => {
37
39
  const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CustomRoundabout_1.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,kDAA2D;AAC3D,yDAAsD;AACtD,mCAA6D;AAE7D,IAAA,iBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,MAAM,iBAAiB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IAElC,IAAA,kBAAS,EAAC,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,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mCAAgB,IAChB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,KAAK,GACZ,CACF,CAAC;QAEF,IAAA,eAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAA,eAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAA,eAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAA,eAAM,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAA,eAAM,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAA,eAAM,EAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mCAAgB,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,iBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAExB,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gEAAgE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mCAAgB,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,IAAA,eAAM,EAAC,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":";;;AAAA,kDAA2D;AAC3D,yDAAsD;AACtD,mCAA6D;AAE7D,IAAA,iBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,MAAM,iBAAiB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IAElC,IAAA,kBAAS,EAAC,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;IAC9B,MAAM,WAAW,GAAG,wBAAwB,CAAC;IAE7C,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mCAAgB,IAChB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,WAAW,GACvB,CACF,CAAC;QAEF,IAAA,eAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAA,eAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAA,eAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAA,eAAM,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAA,eAAM,EAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAA,eAAM,EAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACnD,IAAA,eAAM,EAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mCAAgB,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,iBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAExB,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gEAAgE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mCAAgB,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,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -7,12 +7,15 @@ const Label_1 = require("../shared/Label/Label");
7
7
  const ComponentErrors_1 = require("../shared/ComponentErrors/ComponentErrors");
8
8
  const slottableComponent_1 = require("../shared/HOC/slottableComponent");
9
9
  const Declarations_1 = require("../shared/Declarations/Declarations");
10
+ const CharactersCount_1 = require("../shared/CharactersCount/CharactersCount");
11
+ const getCharactersCountId_1 = require("../shared/utils/getCharactersCountId");
10
12
  function Textarea({ handleChanges, response, errors, ...props }) {
11
13
  return ((0, jsx_runtime_1.jsx)(exports.CustomTextarea, { ...props, onChange: (value) => handleChanges([{ name: response.name, value }]), errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id) }));
12
14
  }
13
15
  exports.CustomTextarea = (0, slottableComponent_1.slottableComponent)('Textarea', (props) => {
14
16
  const { value, onChange, disabled, required, maxLength, label, description, id, errors, readOnly, declarations, rows, cols, placeHolder, } = props;
15
17
  const labelId = `label-${id}`;
16
- return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-textarea", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)("textarea", { required: required, disabled: disabled, id: id, rows: rows, maxLength: maxLength, cols: cols, onChange: (e) => onChange(e.target.value), value: value ?? '', placeholder: placeHolder, readOnly: readOnly, "aria-invalid": !!errors }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
18
+ const charactersCountId = (0, getCharactersCountId_1.getCharactersCountId)(id, maxLength);
19
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-textarea", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsxs)("div", { className: "field-with-count", children: [(0, jsx_runtime_1.jsx)("textarea", { required: required, disabled: disabled, id: id, "aria-labelledby": labelId, "aria-describedby": maxLength ? charactersCountId : undefined, rows: rows, maxLength: maxLength, cols: cols, onChange: (e) => onChange(e.target.value), value: value ?? '', placeholder: placeHolder, readOnly: readOnly, "aria-invalid": !!errors }), (0, jsx_runtime_1.jsx)(CharactersCount_1.CharactersCount, { id: id, maxLength: maxLength, value: value })] }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
17
20
  });
18
21
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":";;;AAUA,4BAaC;;AAtBD,iDAA8C;AAC9C,+EAGmD;AACnD,yEAAsE;AACtE,sEAAmE;AAGnE,SAAgB,QAAQ,CAAC,EACxB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,uBAAC,sBAAc,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,cAAc,GAAG,IAAA,uCAAkB,EAC/C,UAAU,EACV,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,EAAE,EACF,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,WAAW,GACX,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,OAAO,CACN,iCAAK,SAAS,EAAC,kBAAkB,aAChC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,qCACC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,kBACJ,CAAC,CAAC,MAAM,GACrB,EACF,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":";;;AAYA,4BAaC;;AAxBD,iDAA8C;AAC9C,+EAGmD;AACnD,yEAAsE;AACtE,sEAAmE;AAEnE,+EAA4E;AAC5E,+EAA4E;AAE5E,SAAgB,QAAQ,CAAC,EACxB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,uBAAC,sBAAc,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,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,cAAc,GAAG,IAAA,uCAAkB,EAC/C,UAAU,EACV,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,EAAE,EACF,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,WAAW,GACX,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAE9D,OAAO,CACN,iCAAK,SAAS,EAAC,kBAAkB,aAChC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,iCAAK,SAAS,EAAC,kBAAkB,aAChC,qCACC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,EAAE,qBACW,OAAO,sBACN,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC3D,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,kBACJ,CAAC,CAAC,MAAM,GACrB,EACF,uBAAC,iCAAe,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,IAC1D,EACN,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -4,6 +4,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const react_1 = require("@testing-library/react");
5
5
  const vitest_1 = require("vitest");
6
6
  const Textarea_1 = require("./Textarea");
7
+ const CharactersCount_1 = require("../shared/CharactersCount/CharactersCount");
8
+ vitest_1.vi.mock('../shared/CharactersCount/CharactersCount', () => ({
9
+ CharactersCount: vitest_1.vi.fn(),
10
+ }));
7
11
  (0, vitest_1.describe)('Textarea', () => {
8
12
  const mockOnChange = vitest_1.vi.fn();
9
13
  const baseProps = {
@@ -20,6 +24,15 @@ const Textarea_1 = require("./Textarea");
20
24
  const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Textarea_1.Textarea, { ...baseProps }));
21
25
  (0, vitest_1.expect)(container).toMatchSnapshot();
22
26
  });
27
+ (0, vitest_1.it)('calls CharactersCount component with correct props', () => {
28
+ const props = { ...baseProps, maxLength: 30 };
29
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(Textarea_1.Textarea, { ...props }));
30
+ (0, vitest_1.expect)(CharactersCount_1.CharactersCount).toHaveBeenCalledWith({
31
+ id: props.id,
32
+ maxLength: props.maxLength,
33
+ value: props.value,
34
+ }, {});
35
+ });
23
36
  (0, vitest_1.it)('should handle readOnly', () => {
24
37
  const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Textarea_1.Textarea, { ...baseProps, id: "textarea", value: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', readOnly: true }));
25
38
  (0, vitest_1.expect)(container).toMatchSnapshot();
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.spec.js","sourceRoot":"","sources":["../../src/components/Textarea/Textarea.spec.tsx"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,mCAA8D;AAC9D,yCAAsC;AAEtC,IAAA,iBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACzB,MAAM,YAAY,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG;QACjB,KAAK,EAAE,OAAO;QACd,EAAE,EAAE,OAAO;QACX,iBAAiB,EAAE,OAAO;QAC1B,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,IAAA,mBAAU,EAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,uBAAC,mBAAQ,OAAK,SAAS,GAAI,CAAC,CAAC;QAC1D,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mBAAQ,OACJ,SAAS,EACb,EAAE,EAAC,UAAU,EACb,KAAK,EACJ,+bAA+b,EAEhc,QAAQ,SACP,CACF,CAAC;QACF,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,KAAqB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,WAAW,CACxB,+bAA+b,CAC/b,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Textarea.spec.js","sourceRoot":"","sources":["../../src/components/Textarea/Textarea.spec.tsx"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,mCAA8D;AAC9D,yCAAsC;AACtC,+EAA4E;AAE5E,WAAE,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3D,eAAe,EAAE,WAAE,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AAEJ,IAAA,iBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACzB,MAAM,YAAY,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG;QACjB,KAAK,EAAE,OAAO;QACd,EAAE,EAAE,OAAO;QACX,iBAAiB,EAAE,OAAO;QAC1B,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,IAAA,mBAAU,EAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,uBAAC,mBAAQ,OAAK,SAAS,GAAI,CAAC,CAAC;QAC1D,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC7D,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC9C,IAAA,cAAM,EAAC,uBAAC,mBAAQ,OAAK,KAAK,GAAI,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,iCAAe,CAAC,CAAC,oBAAoB,CAC3C;YACC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;SAClB,EACD,EAAE,CACF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,mBAAQ,OACJ,SAAS,EACb,EAAE,EAAC,UAAU,EACb,KAAK,EACJ,+bAA+b,EAEhc,QAAQ,SACP,CACF,CAAC;QACF,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,KAAqB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,WAAW,CACxB,+bAA+b,CAC/b,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ type Props = {
2
+ id: string;
3
+ maxLength?: number;
4
+ value?: string | null;
5
+ };
6
+ export declare function CharactersCount({ id, maxLength, value }: Readonly<Props>): import("react/jsx-runtime").JSX.Element | null;
7
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CharactersCount = CharactersCount;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const classnames_1 = __importDefault(require("classnames"));
9
+ const getCharactersCountId_1 = require("../utils/getCharactersCountId");
10
+ function CharactersCount({ id, maxLength, value }) {
11
+ if (!maxLength)
12
+ return null;
13
+ const currentLength = value?.length ?? 0;
14
+ const charactersCountId = (0, getCharactersCountId_1.getCharactersCountId)(id, maxLength);
15
+ const hasReachedMaxLength = currentLength === maxLength;
16
+ return ((0, jsx_runtime_1.jsx)("span", { id: charactersCountId, className: (0, classnames_1.default)('characters-count', {
17
+ 'max-length-reached': hasReachedMaxLength,
18
+ }), children: `${currentLength}/${maxLength}` }));
19
+ }
20
+ //# sourceMappingURL=CharactersCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CharactersCount.js","sourceRoot":"","sources":["../../../src/components/shared/CharactersCount/CharactersCount.tsx"],"names":[],"mappings":";;;;;AASA,0CAiBC;;AA1BD,4DAAoC;AACpC,wEAAqE;AAQrE,SAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAmB;IACxE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,aAAa,GAAG,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,mBAAmB,GAAG,aAAa,KAAK,SAAS,CAAC;IAExD,OAAO,CACN,iCACC,EAAE,EAAE,iBAAiB,EACrB,SAAS,EAAE,IAAA,oBAAU,EAAC,kBAAkB,EAAE;YACzC,oBAAoB,EAAE,mBAAmB;SACzC,CAAC,YAED,GAAG,aAAa,IAAI,SAAS,EAAE,GAC1B,CACP,CAAC;AACH,CAAC"}