@inseefr/lunatic 3.4.14 → 3.4.16

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 (209) hide show
  1. package/components/shared/Label/Label.js +1 -1
  2. package/components/shared/Label/Label.js.map +1 -1
  3. package/components/shared/Label/Label.spec.js +11 -3
  4. package/components/shared/Label/Label.spec.js.map +1 -1
  5. package/esm/components/shared/Label/Label.js +1 -1
  6. package/esm/components/shared/Label/Label.js.map +1 -1
  7. package/esm/components/shared/Label/Label.spec.js +11 -3
  8. package/esm/components/shared/Label/Label.spec.js.map +1 -1
  9. package/esm/stories/overview/sourceWithHierarchy.json +5151 -0
  10. package/esm/tests/utils/lunatic.d.ts +0 -4
  11. package/esm/tests/utils/lunatic.js +0 -4
  12. package/esm/tests/utils/lunatic.js.map +1 -1
  13. package/esm/type.source.d.ts +1 -5
  14. package/esm/use-lunatic/commons/variables/get-questionnaire-data.js +0 -8
  15. package/esm/use-lunatic/commons/variables/get-questionnaire-data.js.map +1 -1
  16. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js +0 -8
  17. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  18. package/esm/use-lunatic/hooks/useOverview.d.ts +1 -1
  19. package/esm/use-lunatic/hooks/useOverview.js +19 -14
  20. package/esm/use-lunatic/hooks/useOverview.js.map +1 -1
  21. package/esm/use-lunatic/hooks/useOverview.spec.d.ts +1 -0
  22. package/esm/use-lunatic/hooks/useOverview.spec.js +38 -0
  23. package/esm/use-lunatic/hooks/useOverview.spec.js.map +1 -0
  24. package/esm/use-lunatic/test.utils.d.ts +2 -0
  25. package/esm/use-lunatic/test.utils.js +13 -0
  26. package/esm/use-lunatic/test.utils.js.map +1 -0
  27. package/esm/use-lunatic/type.d.ts +0 -4
  28. package/esm/utils/constants/variable-status.d.ts +0 -4
  29. package/esm/utils/constants/variable-status.js +0 -4
  30. package/esm/utils/constants/variable-status.js.map +1 -1
  31. package/esm/utils/variables.spec.js +0 -8
  32. package/esm/utils/variables.spec.js.map +1 -1
  33. package/package.json +17 -57
  34. package/src/components/Input/__snapshots__/Input.spec.tsx.snap +11 -0
  35. package/src/components/shared/Label/Label.spec.tsx +15 -3
  36. package/src/components/shared/Label/Label.tsx +1 -1
  37. package/src/stories/accordion/source.json +1 -5
  38. package/src/stories/behaviour/cleaning/source-loop.json +3 -15
  39. package/src/stories/behaviour/cleaning/source.json +2 -10
  40. package/src/stories/behaviour/controls/boucles-n.json +2 -10
  41. package/src/stories/behaviour/controls/loop.json +2 -10
  42. package/src/stories/behaviour/controls/roundabout.json +3 -15
  43. package/src/stories/behaviour/controls/simple-numeric.json +19 -95
  44. package/src/stories/behaviour/controls/simple.json +7 -35
  45. package/src/stories/behaviour/filter/dataLoop.json +0 -8
  46. package/src/stories/behaviour/filter/source.json +0 -12
  47. package/src/stories/behaviour/filter/sourceLoop.json +0 -12
  48. package/src/stories/behaviour/missing/source.json +12 -60
  49. package/src/stories/behaviour/others/V2_DeclarationsSimples.json +14 -70
  50. package/src/stories/behaviour/others/V2_MinMaxSum_Boucles.json +5 -25
  51. package/src/stories/behaviour/others/V2_QuestSimple_Boucles.json +107 -535
  52. package/src/stories/behaviour/others/V2_TCMRallyeGames.json +33 -165
  53. package/src/stories/behaviour/others/test-dylan.json +5 -25
  54. package/src/stories/behaviour/paste/source.json +1 -5
  55. package/src/stories/behaviour/performance/source.json +4 -20
  56. package/src/stories/behaviour/resizing/source-resizing-cleaning.json +2 -10
  57. package/src/stories/behaviour/resizing/source.json +5 -25
  58. package/src/stories/checkbox-boolean/source.json +1 -5
  59. package/src/stories/checkbox-group/source.json +16 -80
  60. package/src/stories/checkbox-group/sourceCondition.json +3 -15
  61. package/src/stories/checkbox-group/sourceDetail.json +18 -90
  62. package/src/stories/checkbox-group/sourceLoop.json +2 -10
  63. package/src/stories/checkbox-one/source.json +1 -5
  64. package/src/stories/checkbox-one/sourceDetail.json +2 -10
  65. package/src/stories/date-picker/source.json +1 -5
  66. package/src/stories/declaration/source.json +2 -10
  67. package/src/stories/disabled/data.json +0 -16
  68. package/src/stories/disabled/source.json +7 -35
  69. package/src/stories/dropdown/data.json +2 -10
  70. package/src/stories/dropdown/source.json +2 -10
  71. package/src/stories/duration/mois.json +1 -5
  72. package/src/stories/duration/time.json +1 -5
  73. package/src/stories/filter-description/source-options.json +3 -15
  74. package/src/stories/input/source.json +1 -5
  75. package/src/stories/input-number/source-big-number.json +1 -5
  76. package/src/stories/input-number/source-euro.json +1 -5
  77. package/src/stories/input-number/source.json +1 -5
  78. package/src/stories/loop/source-bloc.json +2 -10
  79. package/src/stories/loop/source-paginated.json +2 -10
  80. package/src/stories/loop/source-roster.json +2 -10
  81. package/src/stories/loop/source-with-header.json +2 -10
  82. package/src/stories/overview/dataLoop.json +24 -120
  83. package/src/stories/overview/overview.stories.jsx +9 -0
  84. package/src/stories/overview/source.json +1 -5
  85. package/src/stories/overview/sourceLoop.json +24 -120
  86. package/src/stories/overview/sourceWithHierarchy.json +164 -820
  87. package/src/stories/pairwise/source.json +5 -25
  88. package/src/stories/question/source.json +2 -10
  89. package/src/stories/questionnaires/logement/data.json +0 -1288
  90. package/src/stories/questionnaires/logement/source-sequence.json +564 -2820
  91. package/src/stories/questionnaires/logement/source-sum.json +280 -1400
  92. package/src/stories/questionnaires/logement/source.json +564 -2820
  93. package/src/stories/questionnaires/recensement/source.json +106 -530
  94. package/src/stories/questionnaires/rp/source.json +8 -40
  95. package/src/stories/questionnaires/simpsons/source.json +104 -520
  96. package/src/stories/radio/source.json +1 -5
  97. package/src/stories/radio/sourceCondition.json +2 -10
  98. package/src/stories/radio/sourceDetail.json +2 -10
  99. package/src/stories/radio/sourceHorizontal.json +1 -5
  100. package/src/stories/roundabout/data1.json +0 -12
  101. package/src/stories/roundabout/data2.json +0 -16
  102. package/src/stories/roundabout/source.json +7 -35
  103. package/src/stories/suggester/source-arbitrary-response.json +6 -30
  104. package/src/stories/suggester/source-error.json +6 -30
  105. package/src/stories/suggester/source-multiline.json +0 -16
  106. package/src/stories/suggester/source-option-responses.json +5 -25
  107. package/src/stories/suggester/source.json +7 -35
  108. package/src/stories/summary/data.json +0 -16
  109. package/src/stories/summary/source.json +7 -35
  110. package/src/stories/switch/data-forced.json +2 -10
  111. package/src/stories/switch/source.json +4 -20
  112. package/src/stories/table/source-colspan.json +8 -40
  113. package/src/stories/table/table-dynamique.json +1 -5
  114. package/src/stories/text/source-roster.json +3 -15
  115. package/src/stories/text/source-table.json +9 -45
  116. package/src/stories/textarea/source.json +1 -5
  117. package/src/tests/utils/lunatic.ts +0 -4
  118. package/src/type.source.ts +1 -5
  119. package/src/use-lunatic/__snapshots__/use-lunatic.test.ts.snap +0 -1159
  120. package/src/use-lunatic/commons/variables/get-questionnaire-data.ts +0 -12
  121. package/src/use-lunatic/commons/variables/lunatic-variables-store.spec.ts +0 -8
  122. package/src/use-lunatic/hooks/useOverview.spec.ts +42 -0
  123. package/src/use-lunatic/hooks/useOverview.ts +41 -18
  124. package/src/use-lunatic/test.utils.ts +17 -0
  125. package/src/use-lunatic/type.ts +0 -4
  126. package/src/use-lunatic/use-lunatic.test.ts +2 -21
  127. package/src/utils/constants/variable-status.ts +0 -4
  128. package/src/utils/variables.spec.ts +0 -8
  129. package/stories/overview/sourceWithHierarchy.json +5151 -0
  130. package/tests/utils/lunatic.d.ts +0 -4
  131. package/tests/utils/lunatic.js +0 -4
  132. package/tests/utils/lunatic.js.map +1 -1
  133. package/tsconfig.build.tsbuildinfo +1 -1
  134. package/type.source.d.ts +1 -5
  135. package/use-lunatic/commons/variables/get-questionnaire-data.js +0 -8
  136. package/use-lunatic/commons/variables/get-questionnaire-data.js.map +1 -1
  137. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js +0 -8
  138. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  139. package/use-lunatic/hooks/useOverview.d.ts +1 -1
  140. package/use-lunatic/hooks/useOverview.js +19 -14
  141. package/use-lunatic/hooks/useOverview.js.map +1 -1
  142. package/use-lunatic/hooks/useOverview.spec.d.ts +1 -0
  143. package/use-lunatic/hooks/useOverview.spec.js +43 -0
  144. package/use-lunatic/hooks/useOverview.spec.js.map +1 -0
  145. package/use-lunatic/test.utils.d.ts +2 -0
  146. package/use-lunatic/test.utils.js +17 -0
  147. package/use-lunatic/test.utils.js.map +1 -0
  148. package/use-lunatic/type.d.ts +0 -4
  149. package/utils/constants/variable-status.d.ts +0 -4
  150. package/utils/constants/variable-status.js +1 -5
  151. package/utils/constants/variable-status.js.map +1 -1
  152. package/utils/variables.spec.js +0 -8
  153. package/utils/variables.spec.js.map +1 -1
  154. package/constants/component-types.d.ts +0 -1
  155. package/constants/component-types.js +0 -5
  156. package/constants/component-types.js.map +0 -1
  157. package/constants/declarations.d.ts +0 -9
  158. package/constants/declarations.js +0 -15
  159. package/constants/declarations.js.map +0 -1
  160. package/constants/event-types.d.ts +0 -10
  161. package/constants/event-types.js +0 -16
  162. package/constants/event-types.js.map +0 -1
  163. package/constants/index.d.ts +0 -5
  164. package/constants/index.js +0 -22
  165. package/constants/index.js.map +0 -1
  166. package/constants/indexedDBStore.d.ts +0 -21
  167. package/constants/indexedDBStore.js +0 -22
  168. package/constants/indexedDBStore.js.map +0 -1
  169. package/constants/supported-preferences.d.ts +0 -1
  170. package/constants/supported-preferences.js +0 -36
  171. package/constants/supported-preferences.js.map +0 -1
  172. package/constants/value-types.d.ts +0 -5
  173. package/constants/value-types.js +0 -9
  174. package/constants/value-types.js.map +0 -1
  175. package/constants/variable-types.d.ts +0 -2
  176. package/constants/variable-types.js +0 -8
  177. package/constants/variable-types.js.map +0 -1
  178. package/esm/constants/component-types.d.ts +0 -1
  179. package/esm/constants/component-types.js +0 -2
  180. package/esm/constants/component-types.js.map +0 -1
  181. package/esm/constants/declarations.d.ts +0 -9
  182. package/esm/constants/declarations.js +0 -12
  183. package/esm/constants/declarations.js.map +0 -1
  184. package/esm/constants/event-types.d.ts +0 -10
  185. package/esm/constants/event-types.js +0 -13
  186. package/esm/constants/event-types.js.map +0 -1
  187. package/esm/constants/index.d.ts +0 -5
  188. package/esm/constants/index.js +0 -6
  189. package/esm/constants/index.js.map +0 -1
  190. package/esm/constants/indexedDBStore.d.ts +0 -21
  191. package/esm/constants/indexedDBStore.js +0 -19
  192. package/esm/constants/indexedDBStore.js.map +0 -1
  193. package/esm/constants/supported-preferences.d.ts +0 -1
  194. package/esm/constants/supported-preferences.js +0 -10
  195. package/esm/constants/supported-preferences.js.map +0 -1
  196. package/esm/constants/value-types.d.ts +0 -5
  197. package/esm/constants/value-types.js +0 -6
  198. package/esm/constants/value-types.js.map +0 -1
  199. package/esm/constants/variable-types.d.ts +0 -2
  200. package/esm/constants/variable-types.js +0 -5
  201. package/esm/constants/variable-types.js.map +0 -1
  202. package/src/constants/component-types.ts +0 -1
  203. package/src/constants/declarations.ts +0 -14
  204. package/src/constants/event-types.ts +0 -13
  205. package/src/constants/index.ts +0 -5
  206. package/src/constants/indexedDBStore.ts +0 -20
  207. package/src/constants/supported-preferences.ts +0 -10
  208. package/src/constants/value-types.ts +0 -5
  209. package/src/constants/variable-types.ts +0 -4
@@ -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"}
@@ -6,7 +6,7 @@ import { LabelDescription } from '../LabelDescription';
6
6
  * Label displayed on top of a field
7
7
  */
8
8
  function LunaticLabel({ children, id, htmlFor, className, style, description, }) {
9
- if (!children) {
9
+ if (!children && !description) {
10
10
  return null;
11
11
  }
12
12
  return (_jsxs("label", { htmlFor: htmlFor, id: id, className: classnames('lunatic-label', className), style: style, children: [children, _jsx(LabelDescription, { value: description })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../src/components/shared/Label/Label.tsx"],"names":[],"mappings":";AAKA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;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,iBACC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EAAE,KAAK,aAEX,QAAQ,EACT,KAAC,gBAAgB,IAAC,KAAK,EAAE,WAAW,GAAI,IACjC,CACR,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../src/components/shared/Label/Label.tsx"],"names":[],"mappings":";AAKA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;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,iBACC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EAAE,KAAK,aAEX,QAAQ,EACT,KAAC,gBAAgB,IAAC,KAAK,EAAE,WAAW,GAAI,IACjC,CACR,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC"}
@@ -3,17 +3,25 @@ import { render } from '@testing-library/react';
3
3
  import { Label } from './Label';
4
4
  import { describe, it, expect } from 'vitest';
5
5
  describe('Label', () => {
6
- it('renders null when children is falsy', () => {
7
- const { container } = render(_jsx(Label, { htmlFor: "input", id: "label", description: "This is a label", children: null }));
6
+ it('renders null when children and description are falsy', () => {
7
+ const { container } = render(_jsx(Label, { htmlFor: "input", id: "label", children: null }));
8
8
  expect(container.firstChild).toBeNull();
9
9
  });
10
10
  it('renders a label without description', () => {
11
11
  const { getByText, queryByText } = render(_jsxs(_Fragment, { children: [_jsx(Label, { htmlFor: "kze792d8", id: "label", children: _jsx("p", { children: "Name" }) }), _jsx("input", { id: "kze792d8", className: "", type: "number", "aria-labelledby": "label", min: "0", max: "10", value: "", lang: "en" })] }));
12
12
  const label = getByText('Name');
13
13
  expect(label).toBeInTheDocument();
14
- expect(label.parentNode).toHaveAttribute('for', 'kze792d8');
14
+ expect(label.closest('label')).toHaveAttribute('for', 'kze792d8');
15
15
  const description = queryByText('This is a label');
16
16
  expect(description).not.toBeInTheDocument();
17
17
  });
18
+ it('renders a label with description and no label', () => {
19
+ const { container, queryByText } = render(_jsx(Label, { htmlFor: "kze792d8", id: "label", description: "This is a label" }));
20
+ const label = container.querySelector('label');
21
+ expect(label).toBeInTheDocument();
22
+ expect(label).toHaveAttribute('for', 'kze792d8');
23
+ const description = queryByText('This is a label');
24
+ expect(description).toBeInTheDocument();
25
+ });
18
26
  });
19
27
  //# 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,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,WAAW,EAAC,iBAAiB,YAC7D,IAAI,GACE,CACR,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CACxC,8BACC,KAAC,KAAK,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAC,OAAO,YACnC,+BAAW,GACJ,EACR,gBACC,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,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,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,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,YAC/B,IAAI,GACE,CACR,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CACxC,8BACC,KAAC,KAAK,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAC,OAAO,YACnC,+BAAW,GACJ,EACR,gBACC,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,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,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,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CACxC,KAAC,KAAK,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,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}