@inseefr/lunatic 3.6.9 → 3.6.11
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.
- package/components/shared/Checkbox/CheckboxOption.js +2 -1
- package/components/shared/Checkbox/CheckboxOption.js.map +1 -1
- package/components/shared/Radio/RadioOption.js +2 -1
- package/components/shared/Radio/RadioOption.js.map +1 -1
- package/esm/components/shared/Checkbox/CheckboxOption.js +2 -1
- package/esm/components/shared/Checkbox/CheckboxOption.js.map +1 -1
- package/esm/components/shared/Radio/RadioOption.js +2 -1
- package/esm/components/shared/Radio/RadioOption.js.map +1 -1
- package/esm/hooks/useKeyboardKey.d.ts +1 -1
- package/esm/hooks/useKeyboardKey.js +11 -1
- package/esm/hooks/useKeyboardKey.js.map +1 -1
- package/esm/use-lunatic/props/propValue.js +20 -5
- package/esm/use-lunatic/props/propValue.js.map +1 -1
- package/esm/use-lunatic/props/propValue.spec.js +19 -1
- package/esm/use-lunatic/props/propValue.spec.js.map +1 -1
- package/esm/use-lunatic/reducer/commons/auto-explore-loop.js +14 -1
- package/esm/use-lunatic/reducer/commons/auto-explore-loop.js.map +1 -1
- package/hooks/useKeyboardKey.d.ts +1 -1
- package/hooks/useKeyboardKey.js +10 -1
- package/hooks/useKeyboardKey.js.map +1 -1
- package/package.json +1 -1
- package/src/components/shared/Checkbox/CheckboxOption.tsx +2 -1
- package/src/components/shared/Radio/RadioOption.tsx +2 -1
- package/src/hooks/useKeyboardKey.ts +14 -1
- package/src/stories/roundabout/roundabout.stories.tsx +1 -1
- package/src/use-lunatic/props/propValue.spec.ts +19 -1
- package/src/use-lunatic/props/propValue.ts +25 -5
- package/src/use-lunatic/reducer/commons/auto-explore-loop.ts +17 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/use-lunatic/props/propValue.js +19 -5
- package/use-lunatic/props/propValue.js.map +1 -1
- package/use-lunatic/props/propValue.spec.js +19 -1
- package/use-lunatic/props/propValue.spec.js.map +1 -1
- package/use-lunatic/reducer/commons/auto-explore-loop.js +13 -1
- package/use-lunatic/reducer/commons/auto-explore-loop.js.map +1 -1
|
@@ -24,7 +24,8 @@ function LunaticCheckboxOption({ disabled, readOnly, checked, id, onCheck, label
|
|
|
24
24
|
(0, useKeyboardKey_1.useKeyboardKey)(codeModality ? [codeModality] : [], (e) => {
|
|
25
25
|
e.preventDefault();
|
|
26
26
|
onClickOption();
|
|
27
|
-
}, hasKeyboardShortcut
|
|
27
|
+
}, hasKeyboardShortcut, false // disable shortcut when editing a field
|
|
28
|
+
);
|
|
28
29
|
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 : '', maxLength: detailMaxLength, onChange: onDetailChange, disabled: disabled, autoFocus: true }))] }));
|
|
29
30
|
}
|
|
30
31
|
exports.CheckboxOption = (0, slottableComponent_1.slottableComponent)('CheckboxOption', LunaticCheckboxOption);
|
|
@@ -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;AAqBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACwB;IAC/B,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,
|
|
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;AAqBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACwB;IAC/B,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,EACnB,KAAK,CAAC,wCAAwC;KAC9C,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,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,SACR,CACF,IACC,CACH,CAAC;AACH,CAAC;AAEY,QAAA,cAAc,GAAG,IAAA,uCAAkB,EAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
|
|
@@ -34,7 +34,8 @@ function LunaticRadioOption({ checked, disabled, readOnly, checkboxStyle, onKeyD
|
|
|
34
34
|
(0, useKeyboardKey_1.useKeyboardKey)(codeModality ? [codeModality] : [], (e) => {
|
|
35
35
|
e.preventDefault();
|
|
36
36
|
onClickOption();
|
|
37
|
-
}, hasKeyboardShortcut
|
|
37
|
+
}, hasKeyboardShortcut, false // disable shortcut when editing a field
|
|
38
|
+
);
|
|
38
39
|
return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-input-checkbox-wrapper", children: [(0, jsx_runtime_1.jsxs)("div", { id: id, role: "radio", "aria-invalid": invalid, "aria-disabled": disabled, className: (0, classnames_1.default)('lunatic-input-checkbox', isRadio && 'lunatic-input-radio'), "aria-checked": checked, tabIndex: checked ? -1 : 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelledBy, ref: divEl, children: [(0, jsx_runtime_1.jsx)("div", { className: "lunatic-input-checkbox__icon", children: checked && checkboxStyle && ((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: labelledBy, 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 : '', maxLength: detailMaxLength, onChange: onDetailChange, disabled: disabled, autoFocus: true }))] }));
|
|
39
40
|
}
|
|
40
41
|
exports.RadioOption = (0, slottableComponent_1.slottableComponent)('RadioOption', LunaticRadioOption);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA0D;AAC1D,kEAA+D;AAC/D,kEAA+D;AAC/D,0CAAuC;AACvC,4DAAoC;AACpC,6CAAgD;AAiBhD,SAAS,kBAAkB,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,EAAE,EACF,OAAO,EACP,UAAU,EACV,WAAW,EACX,KAAK,EACL,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,SAAS,GACF;IACP,MAAM,KAAK,GAAG,IAAA,cAAM,EAAiB,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,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,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,
|
|
1
|
+
{"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA0D;AAC1D,kEAA+D;AAC/D,kEAA+D;AAC/D,0CAAuC;AACvC,4DAAoC;AACpC,6CAAgD;AAiBhD,SAAS,kBAAkB,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,EAAE,EACF,OAAO,EACP,UAAU,EACV,WAAW,EACX,KAAK,EACL,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,SAAS,GACF;IACP,MAAM,KAAK,GAAG,IAAA,cAAM,EAAiB,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,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,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,EACnB,KAAK,CAAC,wCAAwC;KAC9C,CAAC;IAEF,OAAO,CACN,iCAAK,SAAS,EAAC,gCAAgC,aAC9C,iCACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,kBACE,OAAO,mBACN,QAAQ,EACvB,SAAS,EAAE,IAAA,oBAAU,EACpB,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,gCAAK,SAAS,EAAC,8BAA8B,YAC3C,OAAO,IAAI,aAAa,IAAI,CAC5B,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,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aAC1D,YAAY,IAAI,CAChB,iCAAM,SAAS,EAAC,eAAe,YAAE,YAAY,CAAC,WAAW,EAAE,GAAQ,CACnE,EACA,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,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,SACR,CACF,IACI,CACN,CAAC;AACH,CAAC;AAEY,QAAA,WAAW,GAAG,IAAA,uCAAkB,EAC5C,aAAa,EACb,kBAAkB,CAClB,CAAC"}
|
|
@@ -21,7 +21,8 @@ function LunaticCheckboxOption({ disabled, readOnly, checked, id, onCheck, label
|
|
|
21
21
|
useKeyboardKey(codeModality ? [codeModality] : [], (e) => {
|
|
22
22
|
e.preventDefault();
|
|
23
23
|
onClickOption();
|
|
24
|
-
}, hasKeyboardShortcut
|
|
24
|
+
}, hasKeyboardShortcut, false // disable shortcut when editing a field
|
|
25
|
+
);
|
|
25
26
|
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 : '', maxLength: detailMaxLength, onChange: onDetailChange, disabled: disabled, autoFocus: true }))] }));
|
|
26
27
|
}
|
|
27
28
|
export const CheckboxOption = slottableComponent('CheckboxOption', LunaticCheckboxOption);
|
|
@@ -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;AAqBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACwB;IAC/B,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,
|
|
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;AAqBhD,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,GACwB;IAC/B,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,EACnB,KAAK,CAAC,wCAAwC;KAC9C,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,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,SACR,CACF,IACC,CACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
|
|
@@ -29,7 +29,8 @@ function LunaticRadioOption({ checked, disabled, readOnly, checkboxStyle, onKeyD
|
|
|
29
29
|
useKeyboardKey(codeModality ? [codeModality] : [], (e) => {
|
|
30
30
|
e.preventDefault();
|
|
31
31
|
onClickOption();
|
|
32
|
-
}, hasKeyboardShortcut
|
|
32
|
+
}, hasKeyboardShortcut, false // disable shortcut when editing a field
|
|
33
|
+
);
|
|
33
34
|
return (_jsxs("div", { className: "lunatic-input-checkbox-wrapper", children: [_jsxs("div", { id: id, role: "radio", "aria-invalid": invalid, "aria-disabled": disabled, className: classnames('lunatic-input-checkbox', isRadio && 'lunatic-input-radio'), "aria-checked": checked, tabIndex: checked ? -1 : 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelledBy, ref: divEl, children: [_jsx("div", { className: "lunatic-input-checkbox__icon", children: checked && checkboxStyle && (_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: labelledBy, 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 : '', maxLength: detailMaxLength, onChange: onDetailChange, disabled: disabled, autoFocus: true }))] }));
|
|
34
35
|
}
|
|
35
36
|
export const RadioOption = slottableComponent('RadioOption', LunaticRadioOption);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1D,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,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,EAAE,EACF,OAAO,EACP,UAAU,EACV,WAAW,EACX,KAAK,EACL,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,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,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,
|
|
1
|
+
{"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Triggers a callback when a key is pressed
|
|
3
3
|
*/
|
|
4
|
-
export declare function useKeyboardKey(key: string[], cb: (e: KeyboardEvent) => void, enabled?: boolean): void;
|
|
4
|
+
export declare function useKeyboardKey(key: string[], cb: (e: KeyboardEvent) => void, enabled?: boolean, allowWhileTyping?: boolean): void;
|
|
@@ -3,7 +3,7 @@ import { useRefSync } from './useRefSync';
|
|
|
3
3
|
/**
|
|
4
4
|
* Triggers a callback when a key is pressed
|
|
5
5
|
*/
|
|
6
|
-
export function useKeyboardKey(key, cb, enabled = true) {
|
|
6
|
+
export function useKeyboardKey(key, cb, enabled = true, allowWhileTyping = true) {
|
|
7
7
|
const cbRef = useRefSync(cb);
|
|
8
8
|
const keyRef = useRefSync(key);
|
|
9
9
|
useEffect(() => {
|
|
@@ -11,6 +11,16 @@ export function useKeyboardKey(key, cb, enabled = true) {
|
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
const listener = (e) => {
|
|
14
|
+
var _a;
|
|
15
|
+
const activeEl = document.activeElement;
|
|
16
|
+
const tag = (_a = activeEl === null || activeEl === void 0 ? void 0 : activeEl.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
17
|
+
if (!allowWhileTyping) {
|
|
18
|
+
const isTyping = tag === 'input' ||
|
|
19
|
+
tag === 'textarea' ||
|
|
20
|
+
(activeEl === null || activeEl === void 0 ? void 0 : activeEl.isContentEditable);
|
|
21
|
+
if (isTyping)
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
14
24
|
if (keyRef.current.map((s) => s.toLowerCase()).includes(e.key.toLowerCase())) {
|
|
15
25
|
cbRef.current(e);
|
|
16
26
|
}
|
|
@@ -1 +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;
|
|
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,EACvB,mBAA4B,IAAI;IAEhC,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,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;YACxC,MAAM,GAAG,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,WAAW,EAAE,CAAC;YAE7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,MAAM,QAAQ,GACb,GAAG,KAAK,OAAO;oBACf,GAAG,KAAK,UAAU;qBACjB,QAAwB,aAAxB,QAAQ,uBAAR,QAAQ,CAAkB,iBAAiB,CAAA,CAAC;gBAE9C,IAAI,QAAQ;oBAAE,OAAO;YACtB,CAAC;YAED,IACC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EACvE,CAAC;gBACF,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;QACF,uDAAuD;IACxD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -29,13 +29,28 @@ export function getValueProp(component, args) {
|
|
|
29
29
|
*/
|
|
30
30
|
function getChildResponseValues(components, variables) {
|
|
31
31
|
return Object.fromEntries(components.flatMap((c) => {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
var _a;
|
|
33
|
+
const entries = [];
|
|
34
|
+
// Handle main response
|
|
35
|
+
if ('response' in c && ((_a = c.response) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
36
|
+
entries.push([c.response.name, variables.get(c.response.name)]);
|
|
34
37
|
}
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
// Handle optionResponses safely
|
|
39
|
+
if (c.componentType === 'Suggester' && c.optionResponses) {
|
|
40
|
+
for (const optionResponse of c.optionResponses) {
|
|
41
|
+
if (optionResponse === null || optionResponse === void 0 ? void 0 : optionResponse.name) {
|
|
42
|
+
entries.push([
|
|
43
|
+
optionResponse.name,
|
|
44
|
+
variables.get(optionResponse.name),
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
37
48
|
}
|
|
38
|
-
|
|
49
|
+
// Handle nested components
|
|
50
|
+
if ('components' in c && Array.isArray(c.components)) {
|
|
51
|
+
entries.push(...Object.entries(getChildResponseValues(c.components, variables)));
|
|
52
|
+
}
|
|
53
|
+
return entries;
|
|
39
54
|
}));
|
|
40
55
|
}
|
|
41
56
|
//# sourceMappingURL=propValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propValue.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,UAAU,YAAY,CAC3B,SAAqC,EACrC,IAGC;;IAED,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACxC,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,WAAW,CACxB,MAAA,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;SAC5C,CAAC,mCAAI,EAAE,CACR,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IACD,4EAA4E;IAC5E,IACC,SAAS,CAAC,aAAa,KAAK,MAAM;QAClC,SAAS,CAAC,aAAa,KAAK,eAAe,EAC1C,CAAC;QACF,OAAO,sBAAsB,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC9B,UAAwC,EACxC,SAAgC;IAEhC,OAAO,MAAM,CAAC,WAAW,CACxB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"propValue.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,UAAU,YAAY,CAC3B,SAAqC,EACrC,IAGC;;IAED,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACxC,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,WAAW,CACxB,MAAA,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;SAC5C,CAAC,mCAAI,EAAE,CACR,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IACD,4EAA4E;IAC5E,IACC,SAAS,CAAC,aAAa,KAAK,MAAM;QAClC,SAAS,CAAC,aAAa,KAAK,eAAe,EAC1C,CAAC;QACF,OAAO,sBAAsB,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC9B,UAAwC,EACxC,SAAgC;IAEhC,OAAO,MAAM,CAAC,WAAW,CACxB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;QACxB,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,uBAAuB;QACvB,IAAI,UAAU,IAAI,CAAC,KAAI,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAA,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;YAC1D,KAAK,MAAM,cAAc,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;gBAChD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC;wBACZ,cAAc,CAAC,IAAI;wBACnB,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;qBAClC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;QAED,2BAA2B;QAC3B,IAAI,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CACX,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAClE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CACF,CAAC;AACH,CAAC"}
|
|
@@ -97,7 +97,7 @@ describe('fillComponentValue', () => {
|
|
|
97
97
|
});
|
|
98
98
|
});
|
|
99
99
|
});
|
|
100
|
-
describe('RosterForLoop', () => {
|
|
100
|
+
describe('RosterForLoop with suggester having optionResponses', () => {
|
|
101
101
|
const rosterForLoopComponent = {
|
|
102
102
|
id: 'loop-prenom',
|
|
103
103
|
componentType: 'RosterForLoop',
|
|
@@ -131,17 +131,35 @@ describe('fillComponentValue', () => {
|
|
|
131
131
|
name: 'PRENOM',
|
|
132
132
|
},
|
|
133
133
|
},
|
|
134
|
+
{
|
|
135
|
+
id: 'commune',
|
|
136
|
+
response: {
|
|
137
|
+
name: 'COMMUNE',
|
|
138
|
+
},
|
|
139
|
+
storeName: 'nomenclature-commune',
|
|
140
|
+
componentType: 'Suggester',
|
|
141
|
+
optionResponses: [
|
|
142
|
+
{
|
|
143
|
+
name: 'LABEL_COMMUNE',
|
|
144
|
+
attribute: 'label_attribute',
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
},
|
|
134
148
|
],
|
|
135
149
|
};
|
|
136
150
|
it('should correctly extract values from nested responses as arrays', () => {
|
|
137
151
|
const values = {
|
|
138
152
|
PRENOM: ['Alice', 'Bob', 'Charlie'],
|
|
153
|
+
COMMUNE: ['59000', '25000', '54000'],
|
|
154
|
+
LABEL_COMMUNE: ['Lille', 'Besançon', 'Nancy'],
|
|
139
155
|
};
|
|
140
156
|
expectFilledComponent(rosterForLoopComponent, values).toEqual(values);
|
|
141
157
|
});
|
|
142
158
|
it('should return null for missing responses', () => {
|
|
143
159
|
expectFilledComponent(rosterForLoopComponent).toEqual({
|
|
144
160
|
PRENOM: null,
|
|
161
|
+
COMMUNE: null,
|
|
162
|
+
LABEL_COMMUNE: null,
|
|
145
163
|
});
|
|
146
164
|
});
|
|
147
165
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propValue.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"propValue.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propValue.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { getPageId, pageStringToNumbers } from '../../commons/page';
|
|
|
3
3
|
* Update the pager to enter a loop if the pager is on a loop
|
|
4
4
|
*/
|
|
5
5
|
export function autoExploreLoop(state, direction = 'forward') {
|
|
6
|
+
var _a;
|
|
6
7
|
const newPager = {
|
|
7
8
|
...state.pager,
|
|
8
9
|
};
|
|
@@ -36,7 +37,19 @@ export function autoExploreLoop(state, direction = 'forward') {
|
|
|
36
37
|
page.subPages.length > 0) {
|
|
37
38
|
const nbIterations = state.executeExpression(page.iterations);
|
|
38
39
|
if (nbIterations === 1) {
|
|
39
|
-
|
|
40
|
+
const roundaboutComponent = page.components[0];
|
|
41
|
+
let isFirstIterationDisabled = false;
|
|
42
|
+
// check if the roundabout has a condition for disabling iterations
|
|
43
|
+
if (roundaboutComponent.item.disabled) {
|
|
44
|
+
const firstIterationPager = {
|
|
45
|
+
...state.pager,
|
|
46
|
+
iteration: 0,
|
|
47
|
+
};
|
|
48
|
+
// check if the first iteration should be disabled
|
|
49
|
+
isFirstIterationDisabled = state.executeExpression({ value: (_a = roundaboutComponent.item.disabled) === null || _a === void 0 ? void 0 : _a.value, type: 'VTL' }, firstIterationPager);
|
|
50
|
+
}
|
|
51
|
+
// if the only iteration is disabled, we skip it, loop is empty. Else go to first iteration
|
|
52
|
+
goInsideSubpage(page.subPages, isFirstIterationDisabled ? 0 : 1);
|
|
40
53
|
}
|
|
41
54
|
}
|
|
42
55
|
// No loop were explored, don't mutate the state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-explore-loop.js","sourceRoot":"","sources":["../../../../src/use-lunatic/reducer/commons/auto-explore-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,KAA0B,EAC1B,YAAoC,SAAS
|
|
1
|
+
{"version":3,"file":"auto-explore-loop.js","sourceRoot":"","sources":["../../../../src/use-lunatic/reducer/commons/auto-explore-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Triggers a callback when a key is pressed
|
|
3
3
|
*/
|
|
4
|
-
export declare function useKeyboardKey(key: string[], cb: (e: KeyboardEvent) => void, enabled?: boolean): void;
|
|
4
|
+
export declare function useKeyboardKey(key: string[], cb: (e: KeyboardEvent) => void, enabled?: boolean, allowWhileTyping?: boolean): void;
|
package/hooks/useKeyboardKey.js
CHANGED
|
@@ -6,7 +6,7 @@ const useRefSync_1 = require("./useRefSync");
|
|
|
6
6
|
/**
|
|
7
7
|
* Triggers a callback when a key is pressed
|
|
8
8
|
*/
|
|
9
|
-
function useKeyboardKey(key, cb, enabled = true) {
|
|
9
|
+
function useKeyboardKey(key, cb, enabled = true, allowWhileTyping = true) {
|
|
10
10
|
const cbRef = (0, useRefSync_1.useRefSync)(cb);
|
|
11
11
|
const keyRef = (0, useRefSync_1.useRefSync)(key);
|
|
12
12
|
(0, react_1.useEffect)(() => {
|
|
@@ -14,6 +14,15 @@ function useKeyboardKey(key, cb, enabled = true) {
|
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
const listener = (e) => {
|
|
17
|
+
const activeEl = document.activeElement;
|
|
18
|
+
const tag = activeEl?.tagName?.toLowerCase();
|
|
19
|
+
if (!allowWhileTyping) {
|
|
20
|
+
const isTyping = tag === 'input' ||
|
|
21
|
+
tag === 'textarea' ||
|
|
22
|
+
activeEl?.isContentEditable;
|
|
23
|
+
if (isTyping)
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
17
26
|
if (keyRef.current.map((s) => s.toLowerCase()).includes(e.key.toLowerCase())) {
|
|
18
27
|
cbRef.current(e);
|
|
19
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboardKey.js","sourceRoot":"","sources":["../src/hooks/useKeyboardKey.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"useKeyboardKey.js","sourceRoot":"","sources":["../src/hooks/useKeyboardKey.ts"],"names":[],"mappings":";;AAMA,wCAqCC;AA3CD,iCAAkC;AAClC,6CAA0C;AAE1C;;GAEG;AACH,SAAgB,cAAc,CAC7B,GAAa,EACb,EAA8B,EAC9B,UAAmB,IAAI,EACvB,mBAA4B,IAAI;IAEhC,MAAM,KAAK,GAAG,IAAA,uBAAU,EAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;IAC/B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,CAAgB,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;YACxC,MAAM,GAAG,GAAG,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAE7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,MAAM,QAAQ,GACb,GAAG,KAAK,OAAO;oBACf,GAAG,KAAK,UAAU;oBACjB,QAAwB,EAAE,iBAAiB,CAAC;gBAE9C,IAAI,QAAQ;oBAAE,OAAO;YACtB,CAAC;YAED,IACC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EACvE,CAAC;gBACF,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;QACF,uDAAuD;IACxD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,8 @@ import { useRefSync } from './useRefSync';
|
|
|
7
7
|
export function useKeyboardKey(
|
|
8
8
|
key: string[],
|
|
9
9
|
cb: (e: KeyboardEvent) => void,
|
|
10
|
-
enabled: boolean = true
|
|
10
|
+
enabled: boolean = true,
|
|
11
|
+
allowWhileTyping: boolean = true
|
|
11
12
|
) {
|
|
12
13
|
const cbRef = useRefSync(cb);
|
|
13
14
|
const keyRef = useRefSync(key);
|
|
@@ -16,6 +17,18 @@ export function useKeyboardKey(
|
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
19
|
const listener = (e: KeyboardEvent) => {
|
|
20
|
+
const activeEl = document.activeElement;
|
|
21
|
+
const tag = activeEl?.tagName?.toLowerCase();
|
|
22
|
+
|
|
23
|
+
if (!allowWhileTyping) {
|
|
24
|
+
const isTyping =
|
|
25
|
+
tag === 'input' ||
|
|
26
|
+
tag === 'textarea' ||
|
|
27
|
+
(activeEl as HTMLElement)?.isContentEditable;
|
|
28
|
+
|
|
29
|
+
if (isTyping) return;
|
|
30
|
+
}
|
|
31
|
+
|
|
19
32
|
if (
|
|
20
33
|
keyRef.current.map((s) => s.toLowerCase()).includes(e.key.toLowerCase())
|
|
21
34
|
) {
|
|
@@ -116,7 +116,7 @@ describe('fillComponentValue', () => {
|
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
118
|
|
|
119
|
-
describe('RosterForLoop', () => {
|
|
119
|
+
describe('RosterForLoop with suggester having optionResponses', () => {
|
|
120
120
|
const rosterForLoopComponent = {
|
|
121
121
|
id: 'loop-prenom',
|
|
122
122
|
componentType: 'RosterForLoop',
|
|
@@ -150,12 +150,28 @@ describe('fillComponentValue', () => {
|
|
|
150
150
|
name: 'PRENOM',
|
|
151
151
|
},
|
|
152
152
|
},
|
|
153
|
+
{
|
|
154
|
+
id: 'commune',
|
|
155
|
+
response: {
|
|
156
|
+
name: 'COMMUNE',
|
|
157
|
+
},
|
|
158
|
+
storeName: 'nomenclature-commune',
|
|
159
|
+
componentType: 'Suggester',
|
|
160
|
+
optionResponses: [
|
|
161
|
+
{
|
|
162
|
+
name: 'LABEL_COMMUNE',
|
|
163
|
+
attribute: 'label_attribute',
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
153
167
|
],
|
|
154
168
|
} as any as LunaticComponentDefinition<'RosterForLoop'>;
|
|
155
169
|
|
|
156
170
|
it('should correctly extract values from nested responses as arrays', () => {
|
|
157
171
|
const values = {
|
|
158
172
|
PRENOM: ['Alice', 'Bob', 'Charlie'],
|
|
173
|
+
COMMUNE: ['59000', '25000', '54000'],
|
|
174
|
+
LABEL_COMMUNE: ['Lille', 'Besançon', 'Nancy'],
|
|
159
175
|
};
|
|
160
176
|
|
|
161
177
|
expectFilledComponent(rosterForLoopComponent, values).toEqual(values);
|
|
@@ -164,6 +180,8 @@ describe('fillComponentValue', () => {
|
|
|
164
180
|
it('should return null for missing responses', () => {
|
|
165
181
|
expectFilledComponent(rosterForLoopComponent).toEqual({
|
|
166
182
|
PRENOM: null,
|
|
183
|
+
COMMUNE: null,
|
|
184
|
+
LABEL_COMMUNE: null,
|
|
167
185
|
});
|
|
168
186
|
});
|
|
169
187
|
});
|
|
@@ -46,13 +46,33 @@ function getChildResponseValues(
|
|
|
46
46
|
): Record<string, unknown> {
|
|
47
47
|
return Object.fromEntries(
|
|
48
48
|
components.flatMap((c) => {
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
const entries: [string, unknown][] = [];
|
|
50
|
+
|
|
51
|
+
// Handle main response
|
|
52
|
+
if ('response' in c && c.response?.name) {
|
|
53
|
+
entries.push([c.response.name, variables.get(c.response.name)]);
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
|
|
56
|
+
// Handle optionResponses safely
|
|
57
|
+
if (c.componentType === 'Suggester' && c.optionResponses) {
|
|
58
|
+
for (const optionResponse of c.optionResponses) {
|
|
59
|
+
if (optionResponse?.name) {
|
|
60
|
+
entries.push([
|
|
61
|
+
optionResponse.name,
|
|
62
|
+
variables.get(optionResponse.name),
|
|
63
|
+
]);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
54
66
|
}
|
|
55
|
-
|
|
67
|
+
|
|
68
|
+
// Handle nested components
|
|
69
|
+
if ('components' in c && Array.isArray(c.components)) {
|
|
70
|
+
entries.push(
|
|
71
|
+
...Object.entries(getChildResponseValues(c.components, variables))
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return entries;
|
|
56
76
|
})
|
|
57
77
|
);
|
|
58
78
|
}
|
|
@@ -51,7 +51,23 @@ export function autoExploreLoop(
|
|
|
51
51
|
) {
|
|
52
52
|
const nbIterations = state.executeExpression<number>(page.iterations);
|
|
53
53
|
if (nbIterations === 1) {
|
|
54
|
-
|
|
54
|
+
const roundaboutComponent = page.components[0];
|
|
55
|
+
let isFirstIterationDisabled = false;
|
|
56
|
+
// check if the roundabout has a condition for disabling iterations
|
|
57
|
+
if (roundaboutComponent.item.disabled) {
|
|
58
|
+
const firstIterationPager = {
|
|
59
|
+
...state.pager,
|
|
60
|
+
iteration: 0,
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// check if the first iteration should be disabled
|
|
64
|
+
isFirstIterationDisabled = state.executeExpression(
|
|
65
|
+
{ value: roundaboutComponent.item.disabled?.value, type: 'VTL' },
|
|
66
|
+
firstIterationPager
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
// if the only iteration is disabled, we skip it, loop is empty. Else go to first iteration
|
|
70
|
+
goInsideSubpage(page.subPages, isFirstIterationDisabled ? 0 : 1);
|
|
55
71
|
}
|
|
56
72
|
}
|
|
57
73
|
|