@inseefr/lunatic 3.0.0-rc.24 → 3.0.0-rc.25

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.
@@ -46,7 +46,7 @@ export const RosterForLoop = (props) => {
46
46
  ...otherProps,
47
47
  ...c,
48
48
  id: `${c.id}-${n}`,
49
- }), wrapper: ({ id, children }) => (_jsx(Td, { id: `${id}-${n}`, children: children })) }) }, n), hasLineErrors && (_jsx("tr", { className: "lunatic-errors", children: _jsx("td", { colSpan: cols, children: _jsx(ComponentErrors, { errors: lineErrors }) }) }))] }, n));
49
+ }), wrapper: ({ id, children }) => (_jsx(Td, { id: `${id}-${n}`, children: children })) }) }, n), hasLineErrors && (_jsx(Tr, { className: "lunatic-errors", children: _jsx(Td, { colSpan: cols, children: _jsx(ComponentErrors, { errors: lineErrors }) }) }))] }, n));
50
50
  }) })] }) }));
51
51
  };
52
52
  //# sourceMappingURL=RosterForLoop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC5B,KAA6C,EAC5C,EAAE;IACH,MAAM,EACL,KAAK,EAAE,QAAQ,EACf,KAAK,EACL,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,UAAU,EACV,EAAE,EACF,aAAa,EACb,KAAK,EACL,GAAG,UAAU,CAAC,0DAA0D;MACxE,GAAG,KAAK,CAAC;IACV,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,gBAAgB,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,gBAAgB,CAAC;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAClB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC;IACF,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAElB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;QAC7B,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YACpD,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1C,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO,CACN,KAAC,UAAU,OACN,KAAK,EACT,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC3C,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjD,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,YAE7C,MAAC,KAAK,IAAC,EAAE,EAAE,EAAE,aACX,MAAM,IAAI,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAI,EAClD,KAAC,KAAK,IAAC,EAAE,EAAE,EAAE,YACX,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;wBACpB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBACpC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClE,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;wBAC3C,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;wBACzB,OAAO,CACN,MAAC,QAAQ,eACR,KAAC,EAAE,IACF,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,GAAG,EAAE,CAAC,EAEN,SAAS,EACR,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,YAGpD,KAAC,iBAAiB,IACjB,SAAS,EAAE,uBAAuB,EAClC,UAAU,EAAE,UAAU,EACtB,IAAI,QACJ,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4CACvB,GAAG,UAAU;4CACb,GAAG,CAAC;4CACJ,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;yCAClB,CAAC,EACF,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC9B,KAAC,EAAE,IAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,YAAG,QAAQ,GAAM,CACrC,GACA,IAjBG,CAAC,CAkBF,EACJ,aAAa,IAAI,CACjB,aAAI,SAAS,EAAC,gBAAgB,YAC7B,aAAI,OAAO,EAAE,IAAI,YAChB,KAAC,eAAe,IAAC,MAAM,EAAE,UAAU,GAAI,GACnC,GACD,CACL,KA7Ba,CAAC,CA8BL,CACX,CAAC;oBACH,CAAC,CAAC,GACK,IACD,GACI,CACb,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useCallback } from 'react';
3
3
  import classnames from 'classnames';
4
4
  import { CheckboxCheckedIcon, CheckboxUncheckedIcon } from '../Icons';
5
- import KeyboardEventHandler from 'react-keyboard-event-handler';
6
5
  import { slottableComponent } from '../HOC/slottableComponent';
7
6
  import { Label } from '../Label/Label';
7
+ import { useKeyboardKey } from '../../../hooks/useKeyboardKey';
8
8
  function LunaticCheckboxOption({ disabled, checked, id, onClick, label, description, codeModality, shortcut, invalid, }) {
9
9
  const onClickOption = useCallback(function () {
10
10
  onClick(!checked);
@@ -17,13 +17,15 @@ function LunaticCheckboxOption({ disabled, checked, id, onClick, label, descript
17
17
  }, [onClickOption]);
18
18
  const Icon = checked ? CheckboxCheckedIcon : CheckboxUncheckedIcon;
19
19
  const labelId = `label-${id}`;
20
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: classnames('checkbox-modality', 'checkbox-modality-block', {
21
- checked,
22
- disabled,
23
- }), children: _jsxs("span", { id: id, role: "checkbox", "aria-invalid": invalid, className: `lunatic-input-checkbox`, "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [_jsx(Icon, {}), _jsxs(Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), label] })] }) }), shortcut && codeModality && (_jsx(KeyboardEventHandler, { handleKeys: [codeModality], onKeyEvent: (key, e) => {
24
- e.preventDefault();
25
- onClickOption();
26
- }, handleFocusableElements: true }))] }));
20
+ const hasKeyboardShortcut = Boolean(shortcut && codeModality);
21
+ useKeyboardKey(codeModality ? [codeModality] : [], (e) => {
22
+ e.preventDefault();
23
+ onClickOption();
24
+ }, hasKeyboardShortcut);
25
+ return (_jsx(_Fragment, { children: _jsx("div", { className: classnames('checkbox-modality', 'checkbox-modality-block', {
26
+ checked,
27
+ disabled,
28
+ }), children: _jsxs("span", { id: id, role: "checkbox", "aria-invalid": invalid, className: `lunatic-input-checkbox`, "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [_jsx(Icon, {}), _jsxs(Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), label] })] }) }) }));
27
29
  }
28
30
  export const CheckboxOption = slottableComponent('CheckboxOption', LunaticCheckboxOption);
29
31
  //# sourceMappingURL=CheckboxOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Checkbox/CheckboxOption.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,oBAAoB,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAcvC,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,aAAa,GAAG,WAAW,CAChC;QACC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAChC,UAAU,CAAmB;QAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,EACD,CAAC,aAAa,CAAC,CACf,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACnE,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,OAAO,CACN,8BACC,cACC,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,yBAAyB,EAAE;oBACrE,OAAO;oBACP,QAAQ;iBACR,CAAC,YAEF,gBACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,EACrB,SAAS,EAAE,wBAAwB,kBACrB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,KAAC,IAAI,KAAG,EACR,MAAC,KAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,eAAM,SAAS,EAAC,eAAe,YAC7B,YAAY,CAAC,WAAW,EAAE,GACrB,CACP,EACA,KAAK,IACC,IACF,GACF,EACL,QAAQ,IAAI,YAAY,IAAI,CAC5B,KAAC,oBAAoB,IACpB,UAAU,EAAE,CAAC,YAAY,CAAC,EAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,aAAa,EAAE,CAAC;gBACjB,CAAC,EACD,uBAAuB,SACtB,CACF,IACC,CACH,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":";AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEtE,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,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,aAAa,GAAG,WAAW,CAChC;QACC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAChC,UAAU,CAAmB;QAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,EACD,CAAC,aAAa,CAAC,CACf,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACnE,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;IAC9D,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,4BACC,cACC,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,yBAAyB,EAAE;gBACrE,OAAO;gBACP,QAAQ;aACR,CAAC,YAEF,gBACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,EACrB,SAAS,EAAE,wBAAwB,kBACrB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,KAAC,IAAI,KAAG,EACR,MAAC,KAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,eAAM,SAAS,EAAC,eAAe,YAC7B,YAAY,CAAC,WAAW,EAAE,GACrB,CACP,EACA,KAAK,IACC,IACF,GACF,GACJ,CACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback } from 'react';
3
3
  import { DK, RF } from '../../../utils/constants';
4
- import KeyboardEventHandler from 'react-keyboard-event-handler';
5
4
  import { useLunaticMissing } from '../../../use-lunatic/lunatic-context';
6
5
  import { Button } from '../Button/Button';
6
+ import { useKeyboardKey } from '../../../hooks/useKeyboardKey';
7
7
  export const Missing = (props) => {
8
8
  const propsContext = useLunaticMissing();
9
9
  if (!propsContext.missing || !props.missingResponse) {
@@ -32,16 +32,18 @@ export const MissingPure = (props) => {
32
32
  onClick(RF);
33
33
  handleMissingStrategy();
34
34
  };
35
- return (_jsxs("div", { className: "missing-buttons", children: [_jsx("span", { className: `missing-button${value === DK ? '-active' : ''} missing-button-dk${value === DK ? '-active' : ''}`, children: _jsx(Button, { disabled: disabled, label: dontKnowButton, onClick: onClickDK }) }), _jsx("span", { className: `missing-button${value === RF ? '-active' : ''} missing-button-rf${value === RF ? '-active' : ''}`, children: _jsx(Button, { disabled: disabled, label: refusedButton, onClick: onClickRF }) }), shortcut &&
36
- missingShortcut &&
37
- missingShortcut.dontKnow &&
38
- missingShortcut.refused && (_jsx(KeyboardEventHandler, { handleKeys: Object.values(missingShortcut), handleEventType: "keydown", onKeyEvent: (key, e) => {
39
- e.preventDefault();
40
- if (key === missingShortcut.dontKnow)
41
- onClickDK();
42
- if (key === missingShortcut.refused)
43
- onClickRF();
44
- }, handleFocusableElements: true }))] }));
35
+ const hasKeyboardShortcut = Boolean(shortcut &&
36
+ missingShortcut &&
37
+ missingShortcut.dontKnow &&
38
+ missingShortcut.refused);
39
+ useKeyboardKey(Object.values(missingShortcut), (e) => {
40
+ e.preventDefault();
41
+ if (e.key === missingShortcut.dontKnow)
42
+ onClickDK();
43
+ if (e.key === missingShortcut.refused)
44
+ onClickRF();
45
+ }, hasKeyboardShortcut);
46
+ return (_jsxs("div", { className: "missing-buttons", children: [_jsx("span", { className: `missing-button${value === DK ? '-active' : ''} missing-button-dk${value === DK ? '-active' : ''}`, children: _jsx(Button, { disabled: disabled, label: dontKnowButton, onClick: onClickDK }) }), _jsx("span", { className: `missing-button${value === RF ? '-active' : ''} missing-button-rf${value === RF ? '-active' : ''}`, children: _jsx(Button, { disabled: disabled, label: refusedButton, onClick: onClickRF }) })] }));
45
47
  };
46
48
  export default Missing;
47
49
  //# sourceMappingURL=Missing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  /* eslint-disable jsx-a11y/role-supports-aria-props */
3
3
  import classnames from 'classnames';
4
4
  import { useCallback, useEffect, useRef } from 'react';
5
- import KeyboardEventHandler from 'react-keyboard-event-handler';
6
5
  import { voidFunction } from '../../../utils/function';
7
6
  import { Label } from '../Label/Label';
8
7
  import { slottableComponent } from '../HOC/slottableComponent';
9
8
  import { CheckboxCheckedIcon, CheckboxUncheckedIcon, RadioCheckedIcon, RadioUncheckedIcon, } from '../Icons';
9
+ import { useKeyboardKey } from '../../../hooks/useKeyboardKey';
10
10
  function LunaticRadioOption({ checked, onClick = voidFunction, value = null, id, disabled, onKeyDown = voidFunction, index = -1, labelledBy, checkboxStyle, label, description, shortcut, codeModality, readOnly, invalid, }) {
11
11
  const spanEl = useRef(null);
12
12
  const Icon = getIcon(checked, checkboxStyle);
@@ -29,14 +29,16 @@ function LunaticRadioOption({ checked, onClick = voidFunction, value = null, id,
29
29
  current.focus();
30
30
  }
31
31
  }, [checked, spanEl, value]);
32
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: "lunatic-radio-group-option", children: _jsx("div", { className: classnames('radio-modality', 'radio-modality-block', {
33
- checked,
34
- disabled,
35
- readOnly,
36
- }), "aria-invalid": invalid, children: _jsxs("span", { id: id, role: "radio", className: "lunatic-input-radio", "aria-checked": checked, tabIndex: tabIndex, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelledBy, ref: spanEl, children: [_jsx(Icon, {}), _jsxs(Label, { id: labelledBy, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), label] })] }) }) }), shortcut && codeModality && (_jsx(KeyboardEventHandler, { handleKeys: [codeModality], onKeyEvent: (key, e) => {
37
- e.preventDefault();
38
- onClickOption();
39
- }, handleFocusableElements: true }))] }));
32
+ const hasKeyboardShortcut = Boolean(shortcut && codeModality);
33
+ useKeyboardKey(codeModality ? [codeModality] : [], (e) => {
34
+ e.preventDefault();
35
+ onClickOption();
36
+ }, hasKeyboardShortcut);
37
+ return (_jsx(_Fragment, { children: _jsx("div", { className: "lunatic-radio-group-option", children: _jsx("div", { className: classnames('radio-modality', 'radio-modality-block', {
38
+ checked,
39
+ disabled,
40
+ readOnly,
41
+ }), "aria-invalid": invalid, children: _jsxs("span", { id: id, role: "radio", className: "lunatic-input-radio", "aria-checked": checked, tabIndex: tabIndex, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelledBy, ref: spanEl, children: [_jsx(Icon, {}), _jsxs(Label, { id: labelledBy, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), label] })] }) }) }) }));
40
42
  }
41
43
  function getIcon(checked, checkboxStyle) {
42
44
  if (checked) {
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Triggers a callback when a key is pressed
3
+ */
4
+ export declare function useKeyboardKey(key: string[], cb: (e: KeyboardEvent) => void, enabled?: boolean): void;
@@ -0,0 +1,24 @@
1
+ import { useEffect } from 'react';
2
+ import { useRefSync } from './useRefSync';
3
+ /**
4
+ * Triggers a callback when a key is pressed
5
+ */
6
+ export function useKeyboardKey(key, cb, enabled = true) {
7
+ const cbRef = useRefSync(cb);
8
+ const keyRef = useRefSync(key);
9
+ useEffect(() => {
10
+ if (!enabled) {
11
+ return;
12
+ }
13
+ const listener = (e) => {
14
+ if (keyRef.current.includes(e.key)) {
15
+ cbRef.current(e);
16
+ }
17
+ };
18
+ window.addEventListener('keydown', listener);
19
+ return () => {
20
+ window.removeEventListener('keydown', listener);
21
+ };
22
+ }, [enabled]);
23
+ }
24
+ //# sourceMappingURL=useKeyboardKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardKey.js","sourceRoot":"","sources":["../../src/hooks/useKeyboardKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,GAAa,EACb,EAA8B,EAC9B,UAAmB,IAAI;IAEvB,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,CAAgB,EAAE,EAAE;YACrC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACF,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACX,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACf,CAAC"}
@@ -272,6 +272,7 @@ export type Variable = {
272
272
  };
273
273
  export type LunaticSource = {
274
274
  id: string;
275
+ componentType?: 'Questionnaire';
275
276
  modele?: string;
276
277
  enoCoreVersion?: string;
277
278
  lunaticModelVersion?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "3.0.0-rc.24",
3
+ "version": "3.0.0-rc.25",
4
4
  "description": "Library of questionnaire components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -67,7 +67,6 @@
67
67
  "date-fns": "^2.25.0",
68
68
  "minisearch": "^6.3.0",
69
69
  "react-error-boundary": "^4.0.12",
70
- "react-keyboard-event-handler": "^1.5.4",
71
70
  "react-markdown": "^8.0.3",
72
71
  "react-number-format": "^5.1.3",
73
72
  "react-tooltip": "^5.23.0",
@@ -95,12 +94,11 @@
95
94
  "@testing-library/react-hooks": "^8.0.1",
96
95
  "@types/react": "^18.0.26",
97
96
  "@types/react-dom": "^18.0.9",
98
- "@types/react-keyboard-event-handler": "^1.5.2",
99
97
  "@typescript-eslint/eslint-plugin": "^7.0.2",
100
98
  "@typescript-eslint/parser": "^7.0.2",
101
99
  "@vitejs/plugin-react": "^3.0.0",
102
100
  "@vitest/coverage-c8": "^0.27.2",
103
- "concurrently": "^7.6.0",
101
+ "concurrently": "^8.2.2",
104
102
  "eslint": "8.57.0",
105
103
  "eslint-config-prettier": "^9.1.0",
106
104
  "eslint-config-react-app": "^7.0.1",