@inseefr/lunatic 3.4.9 → 3.4.10-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 (31) hide show
  1. package/components/shared/Checkbox/CheckboxOption.js +1 -1
  2. package/components/shared/Checkbox/CheckboxOption.js.map +1 -1
  3. package/components/shared/Radio/RadioOption.js +5 -1
  4. package/components/shared/Radio/RadioOption.js.map +1 -1
  5. package/components/shared/Radio/RadioOption.spec.js +21 -0
  6. package/components/shared/Radio/RadioOption.spec.js.map +1 -1
  7. package/esm/components/shared/Checkbox/CheckboxOption.js +2 -2
  8. package/esm/components/shared/Checkbox/CheckboxOption.js.map +1 -1
  9. package/esm/components/shared/Radio/RadioOption.js +5 -1
  10. package/esm/components/shared/Radio/RadioOption.js.map +1 -1
  11. package/esm/components/shared/Radio/RadioOption.spec.js +21 -0
  12. package/esm/components/shared/Radio/RadioOption.spec.js.map +1 -1
  13. package/esm/use-lunatic/props/propOptions.d.ts +2 -0
  14. package/esm/use-lunatic/props/propOptions.js +4 -0
  15. package/esm/use-lunatic/props/propOptions.js.map +1 -1
  16. package/esm/use-lunatic/use-lunatic.js +6 -3
  17. package/esm/use-lunatic/use-lunatic.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/components/shared/Checkbox/CheckboxOption.tsx +35 -33
  20. package/src/components/shared/Radio/RadioOption.spec.tsx +55 -0
  21. package/src/components/shared/Radio/RadioOption.tsx +5 -0
  22. package/src/stories/utils/orchestrator.jsx +1 -4
  23. package/src/use-lunatic/props/propOptions.ts +5 -0
  24. package/src/use-lunatic/use-lunatic.test.ts +16 -1
  25. package/src/use-lunatic/use-lunatic.ts +4 -2
  26. package/tsconfig.build.tsbuildinfo +1 -1
  27. package/use-lunatic/props/propOptions.d.ts +2 -0
  28. package/use-lunatic/props/propOptions.js +4 -0
  29. package/use-lunatic/props/propOptions.js.map +1 -1
  30. package/use-lunatic/use-lunatic.js +6 -3
  31. package/use-lunatic/use-lunatic.js.map +1 -1
@@ -25,7 +25,7 @@ function LunaticCheckboxOption({ disabled, readOnly, checked, id, onCheck, label
25
25
  e.preventDefault();
26
26
  onClickOption();
27
27
  }, hasKeyboardShortcut);
28
- return ((0, jsx_runtime_1.jsxs)("div", { id: id, role: "checkbox", "aria-invalid": invalid, "aria-disabled": disabled, "aria-readonly": readOnly, className: "lunatic-input-checkbox", "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [(0, jsx_runtime_1.jsx)("div", { className: "lunatic-input-checkbox__icon", children: checked && ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 11", children: (0, jsx_runtime_1.jsx)("path", { d: "M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z", fill: "currentColor" }) })) }), (0, jsx_runtime_1.jsxs)(Label_1.Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && ((0, jsx_runtime_1.jsx)("span", { className: "code-modality", children: codeModality.toUpperCase() })), ' ', label] }), hasDetail && (checked || detailAlwaysDisplayed) && ((0, jsx_runtime_1.jsx)(Input_1.CustomInput, { id: "detailId", label: detailLabel ?? 'Précisez :', value: typeof detailValue === 'string' ? detailValue : '', onChange: onDetailChange, disabled: disabled }))] }));
28
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { id: id, role: "checkbox", "aria-invalid": invalid, "aria-disabled": disabled, "aria-readonly": readOnly, className: "lunatic-input-checkbox", "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [(0, jsx_runtime_1.jsx)("div", { className: "lunatic-input-checkbox__icon", children: checked && ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 11", children: (0, jsx_runtime_1.jsx)("path", { d: "M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z", fill: "currentColor" }) })) }), (0, jsx_runtime_1.jsxs)(Label_1.Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && ((0, jsx_runtime_1.jsx)("span", { className: "code-modality", children: codeModality.toUpperCase() })), ' ', label] })] }), hasDetail && (checked || detailAlwaysDisplayed) && ((0, jsx_runtime_1.jsx)(Input_1.CustomInput, { id: "detailId", label: detailLabel ?? 'Précisez :', value: typeof detailValue === 'string' ? detailValue : '', onChange: onDetailChange, disabled: disabled }))] }));
29
29
  }
30
30
  exports.CheckboxOption = (0, slottableComponent_1.slottableComponent)('CheckboxOption', LunaticCheckboxOption);
31
31
  //# sourceMappingURL=CheckboxOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxOption.js","sourceRoot":"","sources":["../../../src/components/shared/Checkbox/CheckboxOption.tsx"],"names":[],"mappings":";;;;AAEA,kEAA+D;AAC/D,0CAAuC;AACvC,kEAA+D;AAC/D,6CAAgD;AAmBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC;IACnC,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAyC,CAAC,CAAC,EAAE,EAAE;QACjE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,IAAA,+BAAc,EACb,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;IACjB,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,iCACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,mBACN,QAAQ,mBACR,QAAQ,EACvB,SAAS,EAAC,wBAAwB,kBACpB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,gCAAK,SAAS,EAAC,8BAA8B,YAC3C,OAAO,IAAI,CACX,gCACC,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,iCACC,CAAC,EAAC,2CAA2C,EAC7C,IAAI,EAAC,cAAc,GAClB,GACG,CACN,GACI,EACN,wBAAC,aAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,iCAAM,SAAS,EAAC,eAAe,YAAE,YAAY,CAAC,WAAW,EAAE,GAAQ,CACnE,EAAE,GAAG,EACL,KAAK,IACC,EACP,SAAS,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CACnD,uBAAC,mBAAW,IACX,EAAE,EAAC,UAAU,EACb,KAAK,EAAE,WAAW,IAAI,YAAY,EAClC,KAAK,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACzD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,GACjB,CACF,IACI,CACN,CAAC;AACH,CAAC;AAEY,QAAA,cAAc,GAAG,IAAA,uCAAkB,EAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
1
+ {"version":3,"file":"CheckboxOption.js","sourceRoot":"","sources":["../../../src/components/shared/Checkbox/CheckboxOption.tsx"],"names":[],"mappings":";;;;AAEA,kEAA+D;AAC/D,0CAAuC;AACvC,kEAA+D;AAC/D,6CAAgD;AAmBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC;IACnC,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAyC,CAAC,CAAC,EAAE,EAAE;QACjE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,IAAA,+BAAc,EACb,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;IACjB,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,6DACC,iCACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,mBACN,QAAQ,mBACR,QAAQ,EACvB,SAAS,EAAC,wBAAwB,kBACpB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,gCAAK,SAAS,EAAC,8BAA8B,YAC3C,OAAO,IAAI,CACX,gCACC,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,iCACC,CAAC,EAAC,2CAA2C,EAC7C,IAAI,EAAC,cAAc,GAClB,GACG,CACN,GACI,EACN,wBAAC,aAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,iCAAM,SAAS,EAAC,eAAe,YAAE,YAAY,CAAC,WAAW,EAAE,GAAQ,CACnE,EAAE,GAAG,EACL,KAAK,IACC,IACH,EACL,SAAS,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CACnD,uBAAC,mBAAW,IACX,EAAE,EAAC,UAAU,EACb,KAAK,EAAE,WAAW,IAAI,YAAY,EAClC,KAAK,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACzD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,GACjB,CACF,IACC,CACH,CAAC;AACH,CAAC;AAEY,QAAA,cAAc,GAAG,IAAA,uCAAkB,EAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
@@ -11,13 +11,17 @@ const useKeyboardKey_1 = require("../../../hooks/useKeyboardKey");
11
11
  const Label_1 = require("../Label/Label");
12
12
  const classnames_1 = __importDefault(require("classnames"));
13
13
  const Input_1 = require("../../Input/Input");
14
- function LunaticRadioOption({ checked, disabled, readOnly, checkboxStyle, value, onKeyDown, index, shortcut, codeModality, id, invalid, labelledBy, description, label, onDetailChange, detailAlwaysDisplayed, detailLabel, detailValue, onCheck, }) {
14
+ function LunaticRadioOption({ checked, disabled, readOnly, checkboxStyle, value, onKeyDown, index, shortcut, codeModality, id, invalid, labelledBy, description, label, onDetailChange, detailAlwaysDisplayed, detailLabel, detailValue, onCheck, onUncheck, }) {
15
15
  const divEl = (0, react_1.useRef)(null);
16
16
  const isEnabled = !disabled && !readOnly;
17
17
  const isRadio = !checkboxStyle;
18
18
  const hasDetail = !!onDetailChange;
19
19
  const onClickOption = () => {
20
20
  if (!isEnabled || !onCheck || checked) {
21
+ // for checkboxStyle=true (only used by CheckboxOne) , we allow uncheck
22
+ if (checkboxStyle && onUncheck) {
23
+ onUncheck();
24
+ }
21
25
  return;
22
26
  }
23
27
  onCheck();
@@ -1 +1 @@
1
- {"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":"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"}
@@ -17,6 +17,27 @@ const vitest_1 = require("vitest");
17
17
  react_1.fireEvent.click(option);
18
18
  (0, vitest_1.expect)(onClickMock).toHaveBeenCalled();
19
19
  });
20
+ (0, vitest_1.it)('does not allow to uncheck modality if checkboxStyle is not defined', () => {
21
+ const onClickMock = vitest_1.vi.fn();
22
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(RadioOption_1.RadioOption, { id: "radio-option", label: "Test Option", onCheck: onClickMock, onUncheck: onClickMock, checked: true }));
23
+ const option = react_1.screen.getByRole('radio');
24
+ react_1.fireEvent.click(option);
25
+ (0, vitest_1.expect)(onClickMock).not.toHaveBeenCalled();
26
+ });
27
+ (0, vitest_1.it)('does not allow to uncheck modality if checkboxStyle is false', () => {
28
+ const onClickMock = vitest_1.vi.fn();
29
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(RadioOption_1.RadioOption, { id: "radio-option", label: "Test Option", onCheck: onClickMock, onUncheck: onClickMock, checkboxStyle: false, checked: true }));
30
+ const option = react_1.screen.getByRole('radio');
31
+ react_1.fireEvent.click(option);
32
+ (0, vitest_1.expect)(onClickMock).not.toHaveBeenCalled();
33
+ });
34
+ (0, vitest_1.it)('allows to uncheck modality if checkboxStyle = true and onUncheck', () => {
35
+ const onClickMock = vitest_1.vi.fn();
36
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(RadioOption_1.RadioOption, { id: "radio-option", label: "Test Option", onCheck: onClickMock, onUncheck: onClickMock, checkboxStyle: true, checked: true }));
37
+ const option = react_1.screen.getByRole('radio');
38
+ react_1.fireEvent.click(option);
39
+ (0, vitest_1.expect)(onClickMock).toHaveBeenCalled();
40
+ });
20
41
  (0, vitest_1.it)('sets the tabIndex to 0 when unchecked', () => {
21
42
  const { getByRole } = (0, react_1.render)((0, jsx_runtime_1.jsx)(RadioOption_1.RadioOption, { id: "radio-option", label: "Test Option", checked: false }));
22
43
  (0, vitest_1.expect)(getByRole('radio')).toHaveAttribute('tabIndex', '0');
@@ -1 +1 @@
1
- {"version":3,"file":"RadioOption.spec.js","sourceRoot":"","sources":["../../../src/components/shared/Radio/RadioOption.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioOption.spec.js","sourceRoot":"","sources":["../../../src/components/shared/Radio/RadioOption.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { slottableComponent } from '../HOC/slottableComponent';
3
3
  import { Label } from '../Label/Label';
4
4
  import { useKeyboardKey } from '../../../hooks/useKeyboardKey';
@@ -22,7 +22,7 @@ function LunaticCheckboxOption({ disabled, readOnly, checked, id, onCheck, label
22
22
  e.preventDefault();
23
23
  onClickOption();
24
24
  }, hasKeyboardShortcut);
25
- return (_jsxs("div", { id: id, role: "checkbox", "aria-invalid": invalid, "aria-disabled": disabled, "aria-readonly": readOnly, className: "lunatic-input-checkbox", "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [_jsx("div", { className: "lunatic-input-checkbox__icon", children: checked && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 11", children: _jsx("path", { d: "M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z", fill: "currentColor" }) })) }), _jsxs(Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), ' ', label] }), hasDetail && (checked || detailAlwaysDisplayed) && (_jsx(CustomInput, { id: "detailId", label: detailLabel !== null && detailLabel !== void 0 ? detailLabel : 'Précisez :', value: typeof detailValue === 'string' ? detailValue : '', onChange: onDetailChange, disabled: disabled }))] }));
25
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { id: id, role: "checkbox", "aria-invalid": invalid, "aria-disabled": disabled, "aria-readonly": readOnly, className: "lunatic-input-checkbox", "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [_jsx("div", { className: "lunatic-input-checkbox__icon", children: checked && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 11", children: _jsx("path", { d: "M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z", fill: "currentColor" }) })) }), _jsxs(Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), ' ', label] })] }), hasDetail && (checked || detailAlwaysDisplayed) && (_jsx(CustomInput, { id: "detailId", label: detailLabel !== null && detailLabel !== void 0 ? detailLabel : 'Précisez :', value: typeof detailValue === 'string' ? detailValue : '', onChange: onDetailChange, disabled: disabled }))] }));
26
26
  }
27
27
  export const CheckboxOption = slottableComponent('CheckboxOption', LunaticCheckboxOption);
28
28
  //# sourceMappingURL=CheckboxOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Checkbox/CheckboxOption.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC;IACnC,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAyC,CAAC,CAAC,EAAE,EAAE;QACjE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,cAAc,CACb,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;IACjB,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,eACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,mBACN,QAAQ,mBACR,QAAQ,EACvB,SAAS,EAAC,wBAAwB,kBACpB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,OAAO,IAAI,CACX,cACC,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,eACC,CAAC,EAAC,2CAA2C,EAC7C,IAAI,EAAC,cAAc,GAClB,GACG,CACN,GACI,EACN,MAAC,KAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,eAAM,SAAS,EAAC,eAAe,YAAE,YAAY,CAAC,WAAW,EAAE,GAAQ,CACnE,EAAE,GAAG,EACL,KAAK,IACC,EACP,SAAS,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CACnD,KAAC,WAAW,IACX,EAAE,EAAC,UAAU,EACb,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,EAClC,KAAK,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACzD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,GACjB,CACF,IACI,CACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
1
+ {"version":3,"file":"CheckboxOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Checkbox/CheckboxOption.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC;IACnC,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAyC,CAAC,CAAC,EAAE,EAAE;QACjE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,cAAc,CACb,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;IACjB,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,8BACC,eACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,mBACN,QAAQ,mBACR,QAAQ,EACvB,SAAS,EAAC,wBAAwB,kBACpB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,OAAO,IAAI,CACX,cACC,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,eACC,CAAC,EAAC,2CAA2C,EAC7C,IAAI,EAAC,cAAc,GAClB,GACG,CACN,GACI,EACN,MAAC,KAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,eAAM,SAAS,EAAC,eAAe,YAAE,YAAY,CAAC,WAAW,EAAE,GAAQ,CACnE,EAAE,GAAG,EACL,KAAK,IACC,IACH,EACL,SAAS,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CACnD,KAAC,WAAW,IACX,EAAE,EAAC,UAAU,EACb,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,EAClC,KAAK,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACzD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,GACjB,CACF,IACC,CACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
@@ -5,13 +5,17 @@ import { useKeyboardKey } from '../../../hooks/useKeyboardKey';
5
5
  import { Label } from '../Label/Label';
6
6
  import classnames from 'classnames';
7
7
  import { CustomInput } from '../../Input/Input';
8
- function LunaticRadioOption({ checked, disabled, readOnly, checkboxStyle, value, onKeyDown, index, shortcut, codeModality, id, invalid, labelledBy, description, label, onDetailChange, detailAlwaysDisplayed, detailLabel, detailValue, onCheck, }) {
8
+ function LunaticRadioOption({ checked, disabled, readOnly, checkboxStyle, value, onKeyDown, index, shortcut, codeModality, id, invalid, labelledBy, description, label, onDetailChange, detailAlwaysDisplayed, detailLabel, detailValue, onCheck, onUncheck, }) {
9
9
  const divEl = useRef(null);
10
10
  const isEnabled = !disabled && !readOnly;
11
11
  const isRadio = !checkboxStyle;
12
12
  const hasDetail = !!onDetailChange;
13
13
  const onClickOption = () => {
14
14
  if (!isEnabled || !onCheck || checked) {
15
+ // for checkboxStyle=true (only used by CheckboxOne) , we allow uncheck
16
+ if (checkboxStyle && onUncheck) {
17
+ onUncheck();
18
+ }
15
19
  return;
16
20
  }
17
21
  onCheck();
@@ -1 +1 @@
1
- {"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAiBhD,SAAS,kBAAkB,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,EAAE,EACF,OAAO,EACP,UAAU,EACV,WAAW,EACX,KAAK,EACL,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,GACF;IACP,MAAM,KAAK,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,aAAa,CAAC;IAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC;IAEnC,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;YACvC,uEAAuE;YACvE,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;gBAChC,SAAS,EAAE,CAAC;YACb,CAAC;YACD,OAAO;QACR,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,aAAa,GAAyC,CAAC,CAAC,EAAE,EAAE;;QACjE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,SAAS,CACR;QACC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1B,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CACvB,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,cAAc,CACb,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;IACjB,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,eAAK,SAAS,EAAC,gCAAgC,aAC9C,eACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,kBACE,OAAO,mBACN,QAAQ,EACvB,SAAS,EAAE,UAAU,CACpB,wBAAwB,EACxB,OAAO,IAAI,qBAAqB,CAChC,kBACa,OAAO,EACrB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,UAAU,EAC3B,GAAG,EAAE,KAAK,aAEV,cAAK,SAAS,EAAC,8BAA8B,YAC3C,OAAO,IAAI,aAAa,IAAI,CAC5B,cACC,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,eACC,CAAC,EAAC,2CAA2C,EAC7C,IAAI,EAAC,cAAc,GAClB,GACG,CACN,GACI,EACN,MAAC,KAAK,IAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aAC1D,YAAY,IAAI,CAChB,eAAM,SAAS,EAAC,eAAe,YAAE,YAAY,CAAC,WAAW,EAAE,GAAQ,CACnE,EACA,KAAK,IACC,IACH,EACL,SAAS,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CACnD,KAAC,WAAW,IACX,EAAE,EAAC,UAAU,EACb,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,EAClC,KAAK,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACzD,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,GACjB,CACF,IACI,CACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAC5C,aAAa,EACb,kBAAkB,CAClB,CAAC"}
@@ -15,6 +15,27 @@ describe('RadioOption', () => {
15
15
  fireEvent.click(option);
16
16
  expect(onClickMock).toHaveBeenCalled();
17
17
  });
18
+ it('does not allow to uncheck modality if checkboxStyle is not defined', () => {
19
+ const onClickMock = vi.fn();
20
+ render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", onCheck: onClickMock, onUncheck: onClickMock, checked: true }));
21
+ const option = screen.getByRole('radio');
22
+ fireEvent.click(option);
23
+ expect(onClickMock).not.toHaveBeenCalled();
24
+ });
25
+ it('does not allow to uncheck modality if checkboxStyle is false', () => {
26
+ const onClickMock = vi.fn();
27
+ render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", onCheck: onClickMock, onUncheck: onClickMock, checkboxStyle: false, checked: true }));
28
+ const option = screen.getByRole('radio');
29
+ fireEvent.click(option);
30
+ expect(onClickMock).not.toHaveBeenCalled();
31
+ });
32
+ it('allows to uncheck modality if checkboxStyle = true and onUncheck', () => {
33
+ const onClickMock = vi.fn();
34
+ render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", onCheck: onClickMock, onUncheck: onClickMock, checkboxStyle: true, checked: true }));
35
+ const option = screen.getByRole('radio');
36
+ fireEvent.click(option);
37
+ expect(onClickMock).toHaveBeenCalled();
38
+ });
18
39
  it('sets the tabIndex to 0 when unchecked', () => {
19
40
  const { getByRole } = render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", checked: false }));
20
41
  expect(getByRole('radio')).toHaveAttribute('tabIndex', '0');
@@ -1 +1 @@
1
- {"version":3,"file":"RadioOption.spec.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioOption.spec.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.spec.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export type InterpretedOption = {
11
11
  detailValue?: string | null;
12
12
  onDetailChange?: (value: string) => void;
13
13
  onCheck?: () => void;
14
+ onUncheck?: () => void;
14
15
  };
15
16
  /**
16
17
  * Compute options for checkboxes / radios
@@ -32,6 +33,7 @@ export declare function getOptionsProp(definition: DeepTranslateExpression<Lunat
32
33
  checked: boolean;
33
34
  detailLabel: ReactNode;
34
35
  onCheck: () => void;
36
+ onUncheck: () => void;
35
37
  detailValue: unknown;
36
38
  onDetailChange: ((value: string) => void) | null;
37
39
  }[];
@@ -61,6 +61,10 @@ export function getOptionsProp(definition, variables, handleChanges, pagerIterat
61
61
  { name: definition.response.name, value: option.value },
62
62
  ]);
63
63
  },
64
+ // for CheckboxOne, we allow uncheck
65
+ onUncheck: () => {
66
+ handleChanges([{ name: definition.response.name, value: null }]);
67
+ },
64
68
  detailValue: 'detail' in option && option.detail
65
69
  ? variables.get(option.detail.response.name, iteration)
66
70
  : null,
@@ -1 +1 @@
1
- {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
@@ -70,15 +70,18 @@ export function useLunatic(source, data = DEFAULT_DATA, argOptions = empty) {
70
70
  dontKnowButton,
71
71
  refusedButton,
72
72
  componentsOptions,
73
- }), [
73
+ }),
74
+ /* eslint-disable-next-line react-hooks/exhaustive-deps -- object deps are not being handled very well by useMemo so we need to compare single values */
75
+ [
74
76
  management,
75
77
  missing,
76
78
  missingStrategy,
77
79
  shortcut,
78
- missingShortcut,
80
+ missingShortcut.dontKnow,
81
+ missingShortcut.refused,
79
82
  dontKnowButton,
80
83
  refusedButton,
81
- componentsOptions,
84
+ componentsOptions.detailAlwaysDisplayed,
82
85
  ]);
83
86
  const compileControls = () => {
84
87
  return compileControlsLib(state);
@@ -1 +1 @@
1
- {"version":3,"file":"use-lunatic.js","sourceRoot":"","sources":["../../src/use-lunatic/use-lunatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-lunatic.js","sourceRoot":"","sources":["../../src/use-lunatic/use-lunatic.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "3.4.9",
3
+ "version": "3.4.10-rc.1",
4
4
  "description": "Library of questionnaire components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -65,39 +65,41 @@ function LunaticCheckboxOption({
65
65
  );
66
66
 
67
67
  return (
68
- <div
69
- id={id}
70
- role="checkbox"
71
- aria-invalid={invalid}
72
- aria-disabled={disabled}
73
- aria-readonly={readOnly}
74
- className="lunatic-input-checkbox"
75
- aria-checked={checked}
76
- tabIndex={0}
77
- onClick={onClickOption}
78
- onKeyDown={handleKeyDown}
79
- aria-labelledby={labelId}
80
- >
81
- <div className="lunatic-input-checkbox__icon">
82
- {checked && (
83
- <svg
84
- xmlns="http://www.w3.org/2000/svg"
85
- fill="none"
86
- viewBox="0 0 14 11"
87
- >
88
- <path
89
- d="M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z"
90
- fill="currentColor"
91
- />
92
- </svg>
93
- )}
68
+ <>
69
+ <div
70
+ id={id}
71
+ role="checkbox"
72
+ aria-invalid={invalid}
73
+ aria-disabled={disabled}
74
+ aria-readonly={readOnly}
75
+ className="lunatic-input-checkbox"
76
+ aria-checked={checked}
77
+ tabIndex={0}
78
+ onClick={onClickOption}
79
+ onKeyDown={handleKeyDown}
80
+ aria-labelledby={labelId}
81
+ >
82
+ <div className="lunatic-input-checkbox__icon">
83
+ {checked && (
84
+ <svg
85
+ xmlns="http://www.w3.org/2000/svg"
86
+ fill="none"
87
+ viewBox="0 0 14 11"
88
+ >
89
+ <path
90
+ d="M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z"
91
+ fill="currentColor"
92
+ />
93
+ </svg>
94
+ )}
95
+ </div>
96
+ <Label id={labelId} htmlFor={id} description={description}>
97
+ {codeModality && (
98
+ <span className="code-modality">{codeModality.toUpperCase()}</span>
99
+ )}{' '}
100
+ {label}
101
+ </Label>
94
102
  </div>
95
- <Label id={labelId} htmlFor={id} description={description}>
96
- {codeModality && (
97
- <span className="code-modality">{codeModality.toUpperCase()}</span>
98
- )}{' '}
99
- {label}
100
- </Label>
101
103
  {hasDetail && (checked || detailAlwaysDisplayed) && (
102
104
  <CustomInput
103
105
  id="detailId"
@@ -107,7 +109,7 @@ function LunaticCheckboxOption({
107
109
  disabled={disabled}
108
110
  />
109
111
  )}
110
- </div>
112
+ </>
111
113
  );
112
114
  }
113
115
 
@@ -25,6 +25,61 @@ describe('RadioOption', () => {
25
25
  expect(onClickMock).toHaveBeenCalled();
26
26
  });
27
27
 
28
+ it('does not allow to uncheck modality if checkboxStyle is not defined', () => {
29
+ const onClickMock = vi.fn();
30
+ render(
31
+ <RadioOption
32
+ id="radio-option"
33
+ label="Test Option"
34
+ onCheck={onClickMock}
35
+ onUncheck={onClickMock}
36
+ checked
37
+ />
38
+ );
39
+
40
+ const option = screen.getByRole('radio');
41
+ fireEvent.click(option);
42
+ expect(onClickMock).not.toHaveBeenCalled();
43
+ });
44
+
45
+ it('does not allow to uncheck modality if checkboxStyle is false', () => {
46
+ const onClickMock = vi.fn();
47
+
48
+ render(
49
+ <RadioOption
50
+ id="radio-option"
51
+ label="Test Option"
52
+ onCheck={onClickMock}
53
+ onUncheck={onClickMock}
54
+ checkboxStyle={false}
55
+ checked
56
+ />
57
+ );
58
+
59
+ const option = screen.getByRole('radio');
60
+ fireEvent.click(option);
61
+ expect(onClickMock).not.toHaveBeenCalled();
62
+ });
63
+
64
+ it('allows to uncheck modality if checkboxStyle = true and onUncheck', () => {
65
+ const onClickMock = vi.fn();
66
+
67
+ render(
68
+ <RadioOption
69
+ id="radio-option"
70
+ label="Test Option"
71
+ onCheck={onClickMock}
72
+ onUncheck={onClickMock}
73
+ checkboxStyle={true}
74
+ checked
75
+ />
76
+ );
77
+
78
+ const option = screen.getByRole('radio');
79
+ fireEvent.click(option);
80
+ expect(onClickMock).toHaveBeenCalled();
81
+ });
82
+
28
83
  it('sets the tabIndex to 0 when unchecked', () => {
29
84
  const { getByRole } = render(
30
85
  <RadioOption id="radio-option" label="Test Option" checked={false} />
@@ -40,6 +40,7 @@ function LunaticRadioOption({
40
40
  detailLabel,
41
41
  detailValue,
42
42
  onCheck,
43
+ onUncheck,
43
44
  }: Props) {
44
45
  const divEl = useRef<HTMLDivElement>(null);
45
46
  const isEnabled = !disabled && !readOnly;
@@ -48,6 +49,10 @@ function LunaticRadioOption({
48
49
 
49
50
  const onClickOption = () => {
50
51
  if (!isEnabled || !onCheck || checked) {
52
+ // for checkboxStyle=true (only used by CheckboxOne) , we allow uncheck
53
+ if (checkboxStyle && onUncheck) {
54
+ onUncheck();
55
+ }
51
56
  return;
52
57
  }
53
58
  onCheck();
@@ -125,10 +125,7 @@ function OrchestratorForStories({
125
125
  }) {
126
126
  const { maxPage } = source;
127
127
 
128
- const componentsOptions = useMemo(
129
- () => ({ detailAlwaysDisplayed }),
130
- [detailAlwaysDisplayed]
131
- );
128
+ const componentsOptions = { detailAlwaysDisplayed };
132
129
 
133
130
  const {
134
131
  getComponents,
@@ -18,6 +18,7 @@ export type InterpretedOption = {
18
18
  detailValue?: string | null;
19
19
  onDetailChange?: (value: string) => void;
20
20
  onCheck?: () => void;
21
+ onUncheck?: () => void;
21
22
  };
22
23
 
23
24
  /**
@@ -86,6 +87,10 @@ export function getOptionsProp(
86
87
  { name: definition.response.name, value: option.value },
87
88
  ]);
88
89
  },
90
+ // for CheckboxOne, we allow uncheck
91
+ onUncheck: () => {
92
+ handleChanges([{ name: definition.response.name, value: null }]);
93
+ },
89
94
  detailValue:
90
95
  'detail' in option && option.detail
91
96
  ? variables.get(option.detail.response.name, iteration)
@@ -11,6 +11,7 @@ import sourceCleaningLoop from '../stories/behaviour/cleaning/source-loop.json';
11
11
  import sourceCleaningResizing from '../stories/behaviour/resizing/source-resizing-cleaning.json';
12
12
  import type { LunaticData, PageTag } from './type';
13
13
  import { useLunatic } from './use-lunatic';
14
+ import { useCallback } from 'react';
14
15
 
15
16
  const dataFromObject = (o: Record<string, unknown>): LunaticData => {
16
17
  return {
@@ -79,8 +80,22 @@ describe('use-lunatic()', () => {
79
80
 
80
81
  describe('Provider', () => {
81
82
  it('should not generate a new Provider every render', () => {
82
- const { result } = renderHook(() => useLunatic(...defaultParams));
83
+ const { result } = renderHook(() => {
84
+ const missingStrategy = useCallback(() => {}, []);
85
+ return useLunatic(sourceSimpsons as any, undefined, {
86
+ management: false,
87
+ missing: false,
88
+ missingStrategy,
89
+ shortcut: false,
90
+ missingShortcut: { dontKnow: '1', refused: '2' },
91
+ dontKnowButton: 'DK',
92
+ refusedButton: 'RF',
93
+ componentsOptions: { detailAlwaysDisplayed: false },
94
+ });
95
+ });
96
+
83
97
  const oldProvider = result.current.Provider;
98
+
84
99
  act(() => {
85
100
  result.current.goNextPage();
86
101
  });
@@ -119,15 +119,17 @@ export function useLunatic(
119
119
  refusedButton,
120
120
  componentsOptions,
121
121
  }),
122
+ /* eslint-disable-next-line react-hooks/exhaustive-deps -- object deps are not being handled very well by useMemo so we need to compare single values */
122
123
  [
123
124
  management,
124
125
  missing,
125
126
  missingStrategy,
126
127
  shortcut,
127
- missingShortcut,
128
+ missingShortcut.dontKnow,
129
+ missingShortcut.refused,
128
130
  dontKnowButton,
129
131
  refusedButton,
130
- componentsOptions,
132
+ componentsOptions.detailAlwaysDisplayed,
131
133
  ]
132
134
  );
133
135