@inseefr/lunatic 3.6.9 → 3.6.10
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/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/reducer/commons/auto-explore-loop.ts +17 -1
- package/tsconfig.build.tsbuildinfo +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"}
|
|
@@ -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":"AACA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,KAA0B,EAC1B,YAAoC,SAAS;;IAE7C,MAAM,QAAQ,GAAG;QAChB,GAAG,KAAK,CAAC,KAAK;KACd,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,CAAC;IAE1C,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,WAAmB,EAAE,EAAE;QACnE,uCAAuC;QACvC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO;QACR,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,MAAM,YAAY,GAAG,mBAAmB,CACvC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CACxC,CAAC;QACF,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAC9D,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;QACpC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAC/D,eAAe,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC;IAEF,qBAAqB;IACrB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,eAAe,CACd,IAAI,CAAC,QAAQ,EACb,KAAK,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,CAChD,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,IACC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,YAAY;QACjD,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACvB,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,wBAAwB,GAAG,KAAK,CAAC;YACrC,mEAAmE;YACnE,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,mBAAmB,GAAG;oBAC3B,GAAG,KAAK,CAAC,KAAK;oBACd,SAAS,EAAE,CAAC;iBACZ,CAAC;gBAEF,kDAAkD;gBAClD,wBAAwB,GAAG,KAAK,CAAC,iBAAiB,CACjD,EAAE,KAAK,EAAE,MAAA,mBAAmB,CAAC,IAAI,CAAC,QAAQ,0CAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAChE,mBAAmB,CACnB,CAAC;YACH,CAAC;YACD,2FAA2F;YAC3F,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACN,GAAG,KAAK;QACR,QAAQ,EAAE,QAAQ,CAAC,YAAY,KAAK,SAAS;QAC7C,KAAK,EAAE,QAAQ;KACf,CAAC;AACH,CAAC"}
|
|
@@ -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
|
) {
|
|
@@ -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
|
|