@inseefr/lunatic 3.13.4 → 3.13.6-rc-fix-multimode.0
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/Suggester/CustomSuggester.d.ts +1 -0
- package/components/Suggester/CustomSuggester.js +2 -2
- package/components/Suggester/CustomSuggester.js.map +1 -1
- package/components/Suggester/CustomSuggester.spec.d.ts +1 -0
- package/components/Suggester/CustomSuggester.spec.js +32 -0
- package/components/Suggester/CustomSuggester.spec.js.map +1 -0
- package/components/Suggester/Suggester.d.ts +1 -1
- package/components/Suggester/Suggester.js +2 -2
- package/components/Suggester/Suggester.js.map +1 -1
- package/components/shared/Combobox/Combobox.js +2 -2
- package/components/shared/Combobox/Combobox.js.map +1 -1
- package/components/shared/Combobox/ComboboxType.d.ts +1 -0
- package/components/shared/Combobox/Selection/ComboboxInput.d.ts +1 -0
- package/components/shared/Combobox/Selection/ComboboxInput.js +2 -2
- package/components/shared/Combobox/Selection/ComboboxInput.js.map +1 -1
- package/components/shared/Combobox/Selection/ComboboxSelection.d.ts +1 -1
- package/components/shared/Combobox/Selection/ComboboxSelection.js +3 -3
- package/components/shared/Combobox/Selection/ComboboxSelection.js.map +1 -1
- package/esm/components/Suggester/CustomSuggester.d.ts +1 -0
- package/esm/components/Suggester/CustomSuggester.js +2 -2
- package/esm/components/Suggester/CustomSuggester.js.map +1 -1
- package/esm/components/Suggester/CustomSuggester.spec.d.ts +1 -0
- package/esm/components/Suggester/CustomSuggester.spec.js +30 -0
- package/esm/components/Suggester/CustomSuggester.spec.js.map +1 -0
- package/esm/components/Suggester/Suggester.d.ts +1 -1
- package/esm/components/Suggester/Suggester.js +2 -2
- package/esm/components/Suggester/Suggester.js.map +1 -1
- package/esm/components/shared/Combobox/Combobox.js +2 -2
- package/esm/components/shared/Combobox/Combobox.js.map +1 -1
- package/esm/components/shared/Combobox/ComboboxType.d.ts +1 -0
- package/esm/components/shared/Combobox/Selection/ComboboxInput.d.ts +1 -0
- package/esm/components/shared/Combobox/Selection/ComboboxInput.js +2 -2
- package/esm/components/shared/Combobox/Selection/ComboboxInput.js.map +1 -1
- package/esm/components/shared/Combobox/Selection/ComboboxSelection.d.ts +1 -1
- package/esm/components/shared/Combobox/Selection/ComboboxSelection.js +3 -3
- package/esm/components/shared/Combobox/Selection/ComboboxSelection.js.map +1 -1
- package/esm/hooks/useMultimode.js +21 -10
- package/esm/hooks/useMultimode.js.map +1 -1
- package/hooks/useMultimode.js +20 -8
- package/hooks/useMultimode.js.map +1 -1
- package/package.json +11 -3
- package/src/components/Dropdown/__snapshots__/Dropdown.spec.tsx.snap +0 -2
- package/src/components/Suggester/CustomSuggester.spec.tsx +32 -0
- package/src/components/Suggester/CustomSuggester.tsx +3 -0
- package/src/components/Suggester/Suggester.tsx +2 -0
- package/src/components/shared/Combobox/Combobox.tsx +2 -0
- package/src/components/shared/Combobox/ComboboxType.ts +1 -0
- package/src/components/shared/Combobox/Selection/ComboboxInput.tsx +4 -0
- package/src/components/shared/Combobox/Selection/ComboboxSelection.tsx +3 -2
- package/src/components/shared/Combobox/Selection/__snapshots__/ComboboxSelection.spec.tsx.snap +0 -4
- package/src/hooks/useMultimode.ts +27 -13
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -9,7 +9,7 @@ const function_1 = require("../../utils/function");
|
|
|
9
9
|
const i18n_1 = __importDefault(require("../../i18n"));
|
|
10
10
|
const slottableComponent_1 = require("../shared/HOC/slottableComponent");
|
|
11
11
|
const Combobox_1 = require("../shared/Combobox/Combobox");
|
|
12
|
-
exports.CustomSuggester = (0, slottableComponent_1.slottableComponent)('Suggester', ({ className, classNamePrefix = 'lunatic', placeholder = i18n_1.default.SUGGESTER_PLACEHOLDER, onSelect = function_1.voidFunction, labelRenderer, optionRenderer, value, disabled, readOnly, id, search, label, declarations, description, errors, options, onSearch, onBlur, onClear, state, onFocus, }) => {
|
|
12
|
+
exports.CustomSuggester = (0, slottableComponent_1.slottableComponent)('Suggester', ({ className, classNamePrefix = 'lunatic', placeholder = i18n_1.default.SUGGESTER_PLACEHOLDER, onSelect = function_1.voidFunction, labelRenderer, optionRenderer, value, disabled, readOnly, id, search, label, declarations, description, errors, options, onSearch, onBlur, onClear, state, onFocus, required, }) => {
|
|
13
13
|
const handleSelect = (id) => {
|
|
14
14
|
if (id === null) {
|
|
15
15
|
onClear();
|
|
@@ -18,6 +18,6 @@ exports.CustomSuggester = (0, slottableComponent_1.slottableComponent)('Suggeste
|
|
|
18
18
|
onSelect(options.find((o) => o.id === id) ?? null);
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)(Combobox_1.Combobox, { id: id, isLoading: state === 'loading', className: className, classNamePrefix: classNamePrefix, onChange: (v) => onSearch(v ?? ''), disabled: disabled, readOnly: readOnly, options: options.map((o) => ({ value: o.id, ...o })), shouldDisplayOptionsId: true, editable: true, onBlur: onBlur, onFocus: onFocus, onSelect: handleSelect, value: value[0]?.id ?? '', search: search, optionRenderer: optionRenderer, labelRenderer: labelRenderer, placeholder: placeholder, label: label, declarations: declarations, description: description, errors: errors }));
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(Combobox_1.Combobox, { id: id, isLoading: state === 'loading', className: className, classNamePrefix: classNamePrefix, onChange: (v) => onSearch(v ?? ''), disabled: disabled, readOnly: readOnly, options: options.map((o) => ({ value: o.id, ...o })), shouldDisplayOptionsId: true, editable: true, onBlur: onBlur, onFocus: onFocus, onSelect: handleSelect, value: value[0]?.id ?? '', search: search, optionRenderer: optionRenderer, labelRenderer: labelRenderer, placeholder: placeholder, label: label, declarations: declarations, description: description, errors: errors, required: required }));
|
|
22
22
|
});
|
|
23
23
|
//# sourceMappingURL=CustomSuggester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomSuggester.js","sourceRoot":"","sources":["../../src/components/Suggester/CustomSuggester.tsx"],"names":[],"mappings":";;;;;;;AACA,mDAAoD;AAGpD,sDAA2B;AAC3B,yEAAsE;AACtE,0DAAuD;
|
|
1
|
+
{"version":3,"file":"CustomSuggester.js","sourceRoot":"","sources":["../../src/components/Suggester/CustomSuggester.tsx"],"names":[],"mappings":";;;;;;;AACA,mDAAoD;AAGpD,sDAA2B;AAC3B,yEAAsE;AACtE,0DAAuD;AAkC1C,QAAA,eAAe,GAAG,IAAA,uCAAkB,EAChD,WAAW,EACX,CAAC,EACA,SAAS,EACT,eAAe,GAAG,SAAS,EAC3B,WAAW,GAAG,cAAC,CAAC,qBAAqB,EACrC,QAAQ,GAAG,uBAAY,EACvB,aAAa,EACb,cAAc,EACd,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,MAAM,EACN,KAAK,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACR,EAAE,EAAE;IACJ,MAAM,YAAY,GAAG,CAAC,EAAiB,EAAE,EAAE;QAC1C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;QACpD,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,CACN,uBAAC,mBAAQ,IACR,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,KAAK,KAAK,SAAS,EAC9B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EACpD,sBAAsB,EAAE,IAAI,EAC5B,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,CACF,CAAC;AACH,CAAC,CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const react_1 = require("@testing-library/react");
|
|
5
|
+
const vitest_1 = require("vitest");
|
|
6
|
+
const CustomSuggester_1 = require("./CustomSuggester");
|
|
7
|
+
const baseProps = {
|
|
8
|
+
id: 'suggester-1',
|
|
9
|
+
state: 'success',
|
|
10
|
+
value: [],
|
|
11
|
+
options: [],
|
|
12
|
+
search: '',
|
|
13
|
+
onSelect: vitest_1.vi.fn(),
|
|
14
|
+
onBlur: vitest_1.vi.fn(),
|
|
15
|
+
onFocus: vitest_1.vi.fn(),
|
|
16
|
+
onSearch: vitest_1.vi.fn(),
|
|
17
|
+
onClear: vitest_1.vi.fn(),
|
|
18
|
+
optionRenderer: vitest_1.vi.fn(),
|
|
19
|
+
labelRenderer: vitest_1.vi.fn(),
|
|
20
|
+
};
|
|
21
|
+
(0, vitest_1.describe)('CustomSuggester', () => {
|
|
22
|
+
(0, vitest_1.it)('should handle required', () => {
|
|
23
|
+
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CustomSuggester_1.CustomSuggester, { ...baseProps, required: true }));
|
|
24
|
+
// expand combobox for having the input
|
|
25
|
+
const content = container.querySelector('.lunatic-combo-box-content');
|
|
26
|
+
react_1.fireEvent.click(content);
|
|
27
|
+
const input = container.querySelector('input[type="text"]');
|
|
28
|
+
(0, vitest_1.expect)(input).toHaveAttribute('required');
|
|
29
|
+
(0, vitest_1.expect)(input).toHaveAttribute('aria-required', 'true');
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=CustomSuggester.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomSuggester.spec.js","sourceRoot":"","sources":["../../src/components/Suggester/CustomSuggester.spec.tsx"],"names":[],"mappings":";;;AAAA,kDAA2D;AAC3D,mCAAkD;AAClD,uDAAoD;AAEpD,MAAM,SAAS,GAAG;IACjB,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,SAAkB;IACzB,KAAK,EAAE,EAAQ;IACf,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,WAAE,CAAC,EAAE,EAAE;IACjB,MAAM,EAAE,WAAE,CAAC,EAAE,EAAE;IACf,OAAO,EAAE,WAAE,CAAC,EAAE,EAAE;IAChB,QAAQ,EAAE,WAAE,CAAC,EAAE,EAAE;IACjB,OAAO,EAAE,WAAE,CAAC,EAAE,EAAE;IAChB,cAAc,EAAE,WAAE,CAAC,EAAE,EAAE;IACvB,aAAa,EAAE,WAAE,CAAC,EAAE,EAAE;CACtB,CAAC;AAEF,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,uBAAC,iCAAe,OAAK,SAAS,EAAE,QAAQ,SAAG,CAAC,CAAC;QAE1E,uCAAuC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACtE,iBAAS,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5D,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LunaticComponentProps } from '../type';
|
|
2
2
|
export declare function Suggester(props: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
export declare function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses, executeExpression, iteration, arbitrary, arbitraryValue, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses, executeExpression, iteration, arbitrary, arbitraryValue, required, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -18,7 +18,7 @@ function Suggester(props) {
|
|
|
18
18
|
const suggesterKey = `${id}-${iteration}`;
|
|
19
19
|
return (0, react_1.createElement)(WrappedSuggester, { ...props, key: suggesterKey });
|
|
20
20
|
}
|
|
21
|
-
function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses = [], executeExpression, iteration, arbitrary, arbitraryValue, }) {
|
|
21
|
+
function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses = [], executeExpression, iteration, arbitrary, arbitraryValue, required, }) {
|
|
22
22
|
const { store, storeState, setStoreState, getLabelById } = (0, useSuggestions_1.useStore)({
|
|
23
23
|
storeName,
|
|
24
24
|
});
|
|
@@ -134,6 +134,6 @@ function WrappedSuggester({ storeName, id, className, optionRenderer, labelRende
|
|
|
134
134
|
}
|
|
135
135
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
136
136
|
}, [value, storeState]);
|
|
137
|
-
return ((0, jsx_runtime_1.jsx)(CustomSuggester_1.CustomSuggester, { state: state, id: id, className: className, optionRenderer: optionRenderer, labelRenderer: labelRenderer, options: options, onSelect: onChange, onFocus: onFocus, search: search, onSearch: handleSearch, onClear: handleClear, disabled: disabled, readOnly: readOnly, value: selectedOptions, label: label, onBlur: onBlur, declarations: declarations, description: description, errors: componentErrors }));
|
|
137
|
+
return ((0, jsx_runtime_1.jsx)(CustomSuggester_1.CustomSuggester, { state: state, id: id, className: className, optionRenderer: optionRenderer, labelRenderer: labelRenderer, options: options, onSelect: onChange, onFocus: onFocus, search: search, onSearch: handleSearch, onClear: handleClear, disabled: disabled, readOnly: readOnly, required: required, value: selectedOptions, label: label, onBlur: onBlur, declarations: declarations, description: description, errors: componentErrors }));
|
|
138
138
|
}
|
|
139
139
|
//# sourceMappingURL=Suggester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":";;;;;AAQA,8BAOC;AAED,
|
|
1
|
+
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ const i18n_1 = __importDefault(require("../../../i18n"));
|
|
|
19
19
|
const slottableComponent_1 = require("../HOC/slottableComponent");
|
|
20
20
|
const Declarations_1 = require("../Declarations/Declarations");
|
|
21
21
|
const EMPTY_SEARCH = '';
|
|
22
|
-
function LunaticComboBox({ className, classNamePrefix, classStyle = 'default-style', placeholder = i18n_1.default.PLACEHOLDER, editable = false, disabled, readOnly, id, optionRenderer, labelRenderer, onChange, onSelect, value, options, shouldDisplayOptionsId = true, messageError, search = EMPTY_SEARCH, getOptionValue = getDefaultOptionValue, label, description, declarations, errors, onBlur, onFocus, isLoading, }) {
|
|
22
|
+
function LunaticComboBox({ className, classNamePrefix, classStyle = 'default-style', placeholder = i18n_1.default.PLACEHOLDER, editable = false, disabled, readOnly, id, optionRenderer, labelRenderer, onChange, onSelect, value, options, shouldDisplayOptionsId = true, messageError, search = EMPTY_SEARCH, getOptionValue = getDefaultOptionValue, label, description, declarations, errors, onBlur, onFocus, isLoading, required, }) {
|
|
23
23
|
const [expanded, setExpanded] = (0, react_1.useState)(false);
|
|
24
24
|
const [focused, setFocused] = (0, react_1.useState)(false);
|
|
25
25
|
const selectedIndex = getIndexFromOptions(options, value, getOptionValue);
|
|
@@ -85,7 +85,7 @@ function LunaticComboBox({ className, classNamePrefix, classStyle = 'default-sty
|
|
|
85
85
|
if (messageError) {
|
|
86
86
|
return ((0, jsx_runtime_1.jsx)("div", { className: "lunatic-combo-box-message-error", children: messageError }));
|
|
87
87
|
}
|
|
88
|
-
return ((0, jsx_runtime_1.jsxs)(ComboboxContainer_1.ComboboxContainer, { id: id, className: className, classStyle: classStyle, classNamePrefix: classNamePrefix, errors: errors, children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations }), (0, jsx_runtime_1.jsxs)(ComboboxContent_1.ComboboxContent, { focused: focused, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: onKeyDown, classNamePrefix: classNamePrefix, children: [(0, jsx_runtime_1.jsx)(ComboboxSelection_1.ComboboxSelection, { labelRenderer: labelRenderer, placeholder: placeholder, search: search, expanded: expanded, id: id, labelId: labelId, disabled: disabled, readOnly: readOnly, focused: focused, editable: editable, selectedIndex: selectedIndex, options: options, onChange: handleChange, classNamePrefix: classNamePrefix, invalid: !!errors }), (0, jsx_runtime_1.jsx)(ComboboxPanel_1.ComboboxPanel, { isLoading: isLoading, optionRenderer: optionRenderer, options: options, shouldDisplayOptionsId: shouldDisplayOptionsId, focused: focused, selectedIndex: selectedIndex, expanded: expanded, id: id, search: search, onSelect: handleSelect })] }), showClearButton && ((0, jsx_runtime_1.jsx)(ComboboxClearButton_1.ComboboxClearButton, { className: (0, classnames_1.default)({ focused }), search: value, onClick: handleClear, editable: editable }))] }));
|
|
88
|
+
return ((0, jsx_runtime_1.jsxs)(ComboboxContainer_1.ComboboxContainer, { id: id, className: className, classStyle: classStyle, classNamePrefix: classNamePrefix, errors: errors, children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations }), (0, jsx_runtime_1.jsxs)(ComboboxContent_1.ComboboxContent, { focused: focused, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: onKeyDown, classNamePrefix: classNamePrefix, children: [(0, jsx_runtime_1.jsx)(ComboboxSelection_1.ComboboxSelection, { labelRenderer: labelRenderer, placeholder: placeholder, search: search, expanded: expanded, id: id, labelId: labelId, disabled: disabled, readOnly: readOnly, focused: focused, editable: editable, selectedIndex: selectedIndex, options: options, onChange: handleChange, classNamePrefix: classNamePrefix, invalid: !!errors, required: required }), (0, jsx_runtime_1.jsx)(ComboboxPanel_1.ComboboxPanel, { isLoading: isLoading, optionRenderer: optionRenderer, options: options, shouldDisplayOptionsId: shouldDisplayOptionsId, focused: focused, selectedIndex: selectedIndex, expanded: expanded, id: id, search: search, onSelect: handleSelect })] }), showClearButton && ((0, jsx_runtime_1.jsx)(ComboboxClearButton_1.ComboboxClearButton, { className: (0, classnames_1.default)({ focused }), search: value, onClick: handleClear, editable: editable }))] }));
|
|
89
89
|
}
|
|
90
90
|
function getIndexFromOptions(options, value, getOptionValue) {
|
|
91
91
|
if (!Array.isArray(options)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/components/shared/Combobox/Combobox.tsx"],"names":[],"mappings":";;;;;;;AAAA,4DAAoC;AACpC,iCAAiD;AACjD,2DAAwD;AACxD,uDAAoD;AAMpD,2CAAiD;AACjD,yDAAsD;AACtD,yEAAsE;AACtE,qEAAkE;AAClE,kDAA0D;AAC1D,0CAAuC;AACvC,yDAA8B;AAC9B,kEAA+D;AAE/D,+DAA4D;AAG5D,MAAM,YAAY,GAAG,EAAE,CAAC;AAuBxB,SAAS,eAAe,CAAC,EACxB,SAAS,EACT,eAAe,EACf,UAAU,GAAG,eAAe,EAC5B,WAAW,GAAG,cAAC,CAAC,WAAW,EAC3B,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,cAAc,EACd,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACP,sBAAsB,GAAG,IAAI,EAC7B,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,cAAc,GAAG,qBAAqB,EACtC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/components/shared/Combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
8
8
|
const react_1 = require("react");
|
|
9
9
|
const classnames_1 = __importDefault(require("classnames"));
|
|
10
10
|
const slottableComponent_1 = require("../../HOC/slottableComponent");
|
|
11
|
-
function LunaticComboboxInput({ placeholder, disabled, onChange, value, id, labelledBy, focused, className, invalid, }) {
|
|
11
|
+
function LunaticComboboxInput({ placeholder, disabled, onChange, value, id, labelledBy, focused, className, invalid, required, }) {
|
|
12
12
|
const inputEl = (0, react_1.useRef)(null);
|
|
13
13
|
(0, react_1.useEffect)(() => {
|
|
14
14
|
if (inputEl.current && focused) {
|
|
@@ -21,7 +21,7 @@ function LunaticComboboxInput({ placeholder, disabled, onChange, value, id, labe
|
|
|
21
21
|
e.preventDefault();
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
|
-
return ((0, jsx_runtime_1.jsx)("input", { ref: inputEl, id: id, className: (0, classnames_1.default)('lunatic-combo-box-input', className), type: "text", onChange: onChange, value: value, "aria-invalid": invalid, title: "combo-box", autoComplete: "off", autoCapitalize: "off", autoCorrect: "off", spellCheck: "false", placeholder: placeholder, disabled: disabled, "aria-labelledby": labelledBy, onKeyDown: onKeydown }));
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)("input", { ref: inputEl, id: id, className: (0, classnames_1.default)('lunatic-combo-box-input', className), type: "text", onChange: onChange, value: value, "aria-invalid": invalid, "aria-required": required, required: required, title: "combo-box", autoComplete: "off", autoCapitalize: "off", autoCorrect: "off", spellCheck: "false", placeholder: placeholder, disabled: disabled, "aria-labelledby": labelledBy, onKeyDown: onKeydown }));
|
|
25
25
|
}
|
|
26
26
|
exports.ComboboxInput = (0, slottableComponent_1.slottableComponent)('ComboboxInput', LunaticComboboxInput);
|
|
27
27
|
//# sourceMappingURL=ComboboxInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.js","sourceRoot":"","sources":["../../../../src/components/shared/Combobox/Selection/ComboboxInput.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAKe;AACf,4DAAoC;AACpC,qEAAkE;
|
|
1
|
+
{"version":3,"file":"ComboboxInput.js","sourceRoot":"","sources":["../../../../src/components/shared/Combobox/Selection/ComboboxInput.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAKe;AACf,4DAAoC;AACpC,qEAAkE;AAalE,SAAS,oBAAoB,CAAC,EAC7B,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,EAAE,EACF,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,GACI;IACZ,MAAM,OAAO,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAE/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACF,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAyB,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC9C,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,CACN,kCACC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,yBAAyB,EAAE,SAAS,CAAC,EAC3D,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,kBACE,OAAO,mBACN,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAC,WAAW,EACjB,YAAY,EAAC,KAAK,EAClB,cAAc,EAAC,KAAK,EACpB,WAAW,EAAC,KAAK,EACjB,UAAU,EAAC,OAAO,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,qBACD,UAAU,EAC3B,SAAS,EAAE,SAAS,GACnB,CACF,CAAC;AACH,CAAC;AAEY,QAAA,aAAa,GAAG,IAAA,uCAAkB,EAC9C,eAAe,EACf,oBAAoB,CACpB,CAAC"}
|
|
@@ -3,4 +3,4 @@ import type { ComboboxSelectionProps } from '../ComboboxType';
|
|
|
3
3
|
* Label displayed when a value is selected in the ComboBox
|
|
4
4
|
* This label can either be an input (when editable or expanded) or a simple span
|
|
5
5
|
*/
|
|
6
|
-
export declare function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, }: ComboboxSelectionProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, required, }: ComboboxSelectionProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -12,13 +12,13 @@ const ComboboxInput_1 = require("./ComboboxInput");
|
|
|
12
12
|
* Label displayed when a value is selected in the ComboBox
|
|
13
13
|
* This label can either be an input (when editable or expanded) or a simple span
|
|
14
14
|
*/
|
|
15
|
-
function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, }) {
|
|
15
|
+
function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, required, }) {
|
|
16
16
|
const showLabel = !editable || !expanded;
|
|
17
|
-
const selectedOption = selectedIndex
|
|
17
|
+
const selectedOption = selectedIndex === undefined ? undefined : options[selectedIndex];
|
|
18
18
|
const LabelSelectionComponent = labelRenderer ?? ComboboxLabelSelection_1.ComboboxLabelSelection;
|
|
19
19
|
return ((0, jsx_runtime_1.jsx)("div", { id: id, className: (0, classnames_1.default)(`${classNamePrefix ?? 'lunatic'}-combo-box-selection`, {
|
|
20
20
|
focused,
|
|
21
21
|
disabled,
|
|
22
|
-
}), role: "combobox", "aria-
|
|
22
|
+
}), role: "combobox", "aria-haspopup": "listbox", "aria-expanded": expanded, "aria-autocomplete": "list", "aria-owns": id, "aria-labelledby": labelId, children: showLabel ? ((0, jsx_runtime_1.jsx)(LabelSelectionComponent, { option: selectedOption, placeholder: placeholder, search: search, disabled: disabled, readOnly: readOnly })) : ((0, jsx_runtime_1.jsx)(ComboboxInput_1.ComboboxInput, { invalid: invalid, id: `combobox-input-${id}`, className: "lunatic-combo-box-input", onChange: (e) => onChange?.(e.target.value ?? e.target.innerText), value: search, placeholder: placeholder, disabled: disabled, readOnly: readOnly, focused: focused, labelledBy: labelId, required: required })) }));
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=ComboboxSelection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxSelection.js","sourceRoot":"","sources":["../../../../src/components/shared/Combobox/Selection/ComboboxSelection.tsx"],"names":[],"mappings":";;;;;AAUA,
|
|
1
|
+
{"version":3,"file":"ComboboxSelection.js","sourceRoot":"","sources":["../../../../src/components/shared/Combobox/Selection/ComboboxSelection.tsx"],"names":[],"mappings":";;;;;AAUA,8CAmEC;;AA7ED,4DAAoC;AACpC,qEAAkE;AAClE,mDAAgD;AAIhD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,EACjC,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,EACR,OAAO,EACP,EAAE,EACF,eAAe,EACf,OAAO,EACP,QAAQ,GACgB;IACxB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,cAAc,GACnB,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,uBAAuB,GAAG,aAAa,IAAI,+CAAsB,CAAC;IAExE,OAAO,CACN,gCACC,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EACpB,GAAG,eAAe,IAAI,SAAS,sBAAsB,EACrD;YACC,OAAO;YACP,QAAQ;SACR,CACD,EACD,IAAI,EAAC,UAAU,mBACD,SAAS,mBACR,QAAQ,uBACL,MAAM,eACb,EAAE,qBACI,OAAO,YAEvB,SAAS,CAAC,CAAC,CAAC,CACZ,uBAAC,uBAAuB,IACvB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,CACF,CAAC,CAAC,CAAC,CACH,uBAAC,6BAAa,IACb,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAC1B,SAAS,EAAC,yBAAyB,EACnC,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE,CAC9C,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAEjD,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,QAAQ,GACjB,CACF,GACI,CACN,CAAC;AACH,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { voidFunction } from '../../utils/function';
|
|
|
3
3
|
import D from '../../i18n';
|
|
4
4
|
import { slottableComponent } from '../shared/HOC/slottableComponent';
|
|
5
5
|
import { Combobox } from '../shared/Combobox/Combobox';
|
|
6
|
-
export const CustomSuggester = slottableComponent('Suggester', ({ className, classNamePrefix = 'lunatic', placeholder = D.SUGGESTER_PLACEHOLDER, onSelect = voidFunction, labelRenderer, optionRenderer, value, disabled, readOnly, id, search, label, declarations, description, errors, options, onSearch, onBlur, onClear, state, onFocus, }) => {
|
|
6
|
+
export const CustomSuggester = slottableComponent('Suggester', ({ className, classNamePrefix = 'lunatic', placeholder = D.SUGGESTER_PLACEHOLDER, onSelect = voidFunction, labelRenderer, optionRenderer, value, disabled, readOnly, id, search, label, declarations, description, errors, options, onSearch, onBlur, onClear, state, onFocus, required, }) => {
|
|
7
7
|
var _a, _b;
|
|
8
8
|
const handleSelect = (id) => {
|
|
9
9
|
var _a;
|
|
@@ -14,6 +14,6 @@ export const CustomSuggester = slottableComponent('Suggester', ({ className, cla
|
|
|
14
14
|
onSelect((_a = options.find((o) => o.id === id)) !== null && _a !== void 0 ? _a : null);
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
-
return (_jsx(Combobox, { id: id, isLoading: state === 'loading', className: className, classNamePrefix: classNamePrefix, onChange: (v) => onSearch(v !== null && v !== void 0 ? v : ''), disabled: disabled, readOnly: readOnly, options: options.map((o) => ({ value: o.id, ...o })), shouldDisplayOptionsId: true, editable: true, onBlur: onBlur, onFocus: onFocus, onSelect: handleSelect, value: (_b = (_a = value[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '', search: search, optionRenderer: optionRenderer, labelRenderer: labelRenderer, placeholder: placeholder, label: label, declarations: declarations, description: description, errors: errors }));
|
|
17
|
+
return (_jsx(Combobox, { id: id, isLoading: state === 'loading', className: className, classNamePrefix: classNamePrefix, onChange: (v) => onSearch(v !== null && v !== void 0 ? v : ''), disabled: disabled, readOnly: readOnly, options: options.map((o) => ({ value: o.id, ...o })), shouldDisplayOptionsId: true, editable: true, onBlur: onBlur, onFocus: onFocus, onSelect: handleSelect, value: (_b = (_a = value[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '', search: search, optionRenderer: optionRenderer, labelRenderer: labelRenderer, placeholder: placeholder, label: label, declarations: declarations, description: description, errors: errors, required: required }));
|
|
18
18
|
});
|
|
19
19
|
//# sourceMappingURL=CustomSuggester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomSuggester.js","sourceRoot":"","sources":["../../../src/components/Suggester/CustomSuggester.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"CustomSuggester.js","sourceRoot":"","sources":["../../../src/components/Suggester/CustomSuggester.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAkCvD,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAChD,WAAW,EACX,CAAC,EACA,SAAS,EACT,eAAe,GAAG,SAAS,EAC3B,WAAW,GAAG,CAAC,CAAC,qBAAqB,EACrC,QAAQ,GAAG,YAAY,EACvB,aAAa,EACb,cAAc,EACd,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,MAAM,EACN,KAAK,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACR,EAAE,EAAE;;IACJ,MAAM,YAAY,GAAG,CAAC,EAAiB,EAAE,EAAE;;QAC1C,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,mCAAI,IAAI,CAAC,CAAC;QACpD,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,CACN,KAAC,QAAQ,IACR,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,KAAK,KAAK,SAAS,EAC9B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EACpD,sBAAsB,EAAE,IAAI,EAC5B,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,EAAE,mCAAI,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,CACF,CAAC;AACH,CAAC,CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { fireEvent, render } from '@testing-library/react';
|
|
3
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
4
|
+
import { CustomSuggester } from './CustomSuggester';
|
|
5
|
+
const baseProps = {
|
|
6
|
+
id: 'suggester-1',
|
|
7
|
+
state: 'success',
|
|
8
|
+
value: [],
|
|
9
|
+
options: [],
|
|
10
|
+
search: '',
|
|
11
|
+
onSelect: vi.fn(),
|
|
12
|
+
onBlur: vi.fn(),
|
|
13
|
+
onFocus: vi.fn(),
|
|
14
|
+
onSearch: vi.fn(),
|
|
15
|
+
onClear: vi.fn(),
|
|
16
|
+
optionRenderer: vi.fn(),
|
|
17
|
+
labelRenderer: vi.fn(),
|
|
18
|
+
};
|
|
19
|
+
describe('CustomSuggester', () => {
|
|
20
|
+
it('should handle required', () => {
|
|
21
|
+
const { container } = render(_jsx(CustomSuggester, { ...baseProps, required: true }));
|
|
22
|
+
// expand combobox for having the input
|
|
23
|
+
const content = container.querySelector('.lunatic-combo-box-content');
|
|
24
|
+
fireEvent.click(content);
|
|
25
|
+
const input = container.querySelector('input[type="text"]');
|
|
26
|
+
expect(input).toHaveAttribute('required');
|
|
27
|
+
expect(input).toHaveAttribute('aria-required', 'true');
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=CustomSuggester.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomSuggester.spec.js","sourceRoot":"","sources":["../../../src/components/Suggester/CustomSuggester.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,SAAS,GAAG;IACjB,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,SAAkB;IACzB,KAAK,EAAE,EAAQ;IACf,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;IACf,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;IAChB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;CACtB,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,eAAe,OAAK,SAAS,EAAE,QAAQ,SAAG,CAAC,CAAC;QAE1E,uCAAuC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACtE,SAAS,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LunaticComponentProps } from '../type';
|
|
2
2
|
export declare function Suggester(props: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
export declare function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses, executeExpression, iteration, arbitrary, arbitraryValue, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses, executeExpression, iteration, arbitrary, arbitraryValue, required, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -11,7 +11,7 @@ export function Suggester(props) {
|
|
|
11
11
|
const suggesterKey = `${id}-${iteration}`;
|
|
12
12
|
return _createElement(WrappedSuggester, { ...props, key: suggesterKey });
|
|
13
13
|
}
|
|
14
|
-
export function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses = [], executeExpression, iteration, arbitrary, arbitraryValue, }) {
|
|
14
|
+
export function WrappedSuggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, declarations, description, errors, readOnly, response, optionResponses = [], executeExpression, iteration, arbitrary, arbitraryValue, required, }) {
|
|
15
15
|
var _a;
|
|
16
16
|
const { store, storeState, setStoreState, getLabelById } = useStore({
|
|
17
17
|
storeName,
|
|
@@ -129,6 +129,6 @@ export function WrappedSuggester({ storeName, id, className, optionRenderer, lab
|
|
|
129
129
|
}
|
|
130
130
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
131
131
|
}, [value, storeState]);
|
|
132
|
-
return (_jsx(CustomSuggester, { state: state, id: id, className: className, optionRenderer: optionRenderer, labelRenderer: labelRenderer, options: options, onSelect: onChange, onFocus: onFocus, search: search, onSearch: handleSearch, onClear: handleClear, disabled: disabled, readOnly: readOnly, value: selectedOptions, label: label, onBlur: onBlur, declarations: declarations, description: description, errors: componentErrors }));
|
|
132
|
+
return (_jsx(CustomSuggester, { state: state, id: id, className: className, optionRenderer: optionRenderer, labelRenderer: labelRenderer, options: options, onSelect: onChange, onFocus: onFocus, search: search, onSearch: handleSearch, onClear: handleClear, disabled: disabled, readOnly: readOnly, required: required, value: selectedOptions, label: label, onBlur: onBlur, declarations: declarations, description: description, errors: componentErrors }));
|
|
133
133
|
}
|
|
134
134
|
//# sourceMappingURL=Suggester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,CAAC,MAAM,YAAY,CAAC;AAG3B,MAAM,UAAU,SAAS,CAAC,KAAyC;IAClE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEhC,yIAAyI;IACzI,MAAM,YAAY,GAAG,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;IAE1C,OAAO,eAAC,gBAAgB,OAAK,KAAK,EAAE,GAAG,EAAE,YAAY,GAAI,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAChC,SAAS,EACT,EAAE,EACF,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,KAAK,EACL,KAAK,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,eAAe,GAAG,EAAE,EACpB,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,cAAc,
|
|
1
|
+
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import D from '../../../i18n';
|
|
|
13
13
|
import { slottableComponent } from '../HOC/slottableComponent';
|
|
14
14
|
import { Declarations } from '../Declarations/Declarations';
|
|
15
15
|
const EMPTY_SEARCH = '';
|
|
16
|
-
function LunaticComboBox({ className, classNamePrefix, classStyle = 'default-style', placeholder = D.PLACEHOLDER, editable = false, disabled, readOnly, id, optionRenderer, labelRenderer, onChange, onSelect, value, options, shouldDisplayOptionsId = true, messageError, search = EMPTY_SEARCH, getOptionValue = getDefaultOptionValue, label, description, declarations, errors, onBlur, onFocus, isLoading, }) {
|
|
16
|
+
function LunaticComboBox({ className, classNamePrefix, classStyle = 'default-style', placeholder = D.PLACEHOLDER, editable = false, disabled, readOnly, id, optionRenderer, labelRenderer, onChange, onSelect, value, options, shouldDisplayOptionsId = true, messageError, search = EMPTY_SEARCH, getOptionValue = getDefaultOptionValue, label, description, declarations, errors, onBlur, onFocus, isLoading, required, }) {
|
|
17
17
|
const [expanded, setExpanded] = useState(false);
|
|
18
18
|
const [focused, setFocused] = useState(false);
|
|
19
19
|
const selectedIndex = getIndexFromOptions(options, value, getOptionValue);
|
|
@@ -79,7 +79,7 @@ function LunaticComboBox({ className, classNamePrefix, classStyle = 'default-sty
|
|
|
79
79
|
if (messageError) {
|
|
80
80
|
return (_jsx("div", { className: "lunatic-combo-box-message-error", children: messageError }));
|
|
81
81
|
}
|
|
82
|
-
return (_jsxs(ComboboxContainer, { id: id, className: className, classStyle: classStyle, classNamePrefix: classNamePrefix, errors: errors, children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations }), _jsxs(ComboboxContent, { focused: focused, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: onKeyDown, classNamePrefix: classNamePrefix, children: [_jsx(ComboboxSelection, { labelRenderer: labelRenderer, placeholder: placeholder, search: search, expanded: expanded, id: id, labelId: labelId, disabled: disabled, readOnly: readOnly, focused: focused, editable: editable, selectedIndex: selectedIndex, options: options, onChange: handleChange, classNamePrefix: classNamePrefix, invalid: !!errors }), _jsx(ComboboxPanel, { isLoading: isLoading, optionRenderer: optionRenderer, options: options, shouldDisplayOptionsId: shouldDisplayOptionsId, focused: focused, selectedIndex: selectedIndex, expanded: expanded, id: id, search: search, onSelect: handleSelect })] }), showClearButton && (_jsx(ComboboxClearButton, { className: classnames({ focused }), search: value, onClick: handleClear, editable: editable }))] }));
|
|
82
|
+
return (_jsxs(ComboboxContainer, { id: id, className: className, classStyle: classStyle, classNamePrefix: classNamePrefix, errors: errors, children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations }), _jsxs(ComboboxContent, { focused: focused, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: onKeyDown, classNamePrefix: classNamePrefix, children: [_jsx(ComboboxSelection, { labelRenderer: labelRenderer, placeholder: placeholder, search: search, expanded: expanded, id: id, labelId: labelId, disabled: disabled, readOnly: readOnly, focused: focused, editable: editable, selectedIndex: selectedIndex, options: options, onChange: handleChange, classNamePrefix: classNamePrefix, invalid: !!errors, required: required }), _jsx(ComboboxPanel, { isLoading: isLoading, optionRenderer: optionRenderer, options: options, shouldDisplayOptionsId: shouldDisplayOptionsId, focused: focused, selectedIndex: selectedIndex, expanded: expanded, id: id, search: search, onSelect: handleSelect })] }), showClearButton && (_jsx(ComboboxClearButton, { className: classnames({ focused }), search: value, onClick: handleClear, editable: editable }))] }));
|
|
83
83
|
}
|
|
84
84
|
function getIndexFromOptions(options, value, getOptionValue) {
|
|
85
85
|
if (!Array.isArray(options)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../../src/components/shared/Combobox/Combobox.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,CAAC,MAAM,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,YAAY,GAAG,EAAE,CAAC;AAuBxB,SAAS,eAAe,CAAC,EACxB,SAAS,EACT,eAAe,EACf,UAAU,GAAG,eAAe,EAC5B,WAAW,GAAG,CAAC,CAAC,WAAW,EAC3B,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,cAAc,EACd,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACP,sBAAsB,GAAG,IAAI,EAC7B,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,cAAc,GAAG,qBAAqB,EACtC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../../src/components/shared/Combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef, useEffect, } from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { slottableComponent } from '../../HOC/slottableComponent';
|
|
5
|
-
function LunaticComboboxInput({ placeholder, disabled, onChange, value, id, labelledBy, focused, className, invalid, }) {
|
|
5
|
+
function LunaticComboboxInput({ placeholder, disabled, onChange, value, id, labelledBy, focused, className, invalid, required, }) {
|
|
6
6
|
const inputEl = useRef(null);
|
|
7
7
|
useEffect(() => {
|
|
8
8
|
if (inputEl.current && focused) {
|
|
@@ -15,7 +15,7 @@ function LunaticComboboxInput({ placeholder, disabled, onChange, value, id, labe
|
|
|
15
15
|
e.preventDefault();
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
return (_jsx("input", { ref: inputEl, id: id, className: classnames('lunatic-combo-box-input', className), type: "text", onChange: onChange, value: value, "aria-invalid": invalid, title: "combo-box", autoComplete: "off", autoCapitalize: "off", autoCorrect: "off", spellCheck: "false", placeholder: placeholder, disabled: disabled, "aria-labelledby": labelledBy, onKeyDown: onKeydown }));
|
|
18
|
+
return (_jsx("input", { ref: inputEl, id: id, className: classnames('lunatic-combo-box-input', className), type: "text", onChange: onChange, value: value, "aria-invalid": invalid, "aria-required": required, required: required, title: "combo-box", autoComplete: "off", autoCapitalize: "off", autoCorrect: "off", spellCheck: "false", placeholder: placeholder, disabled: disabled, "aria-labelledby": labelledBy, onKeyDown: onKeydown }));
|
|
19
19
|
}
|
|
20
20
|
export const ComboboxInput = slottableComponent('ComboboxInput', LunaticComboboxInput);
|
|
21
21
|
//# sourceMappingURL=ComboboxInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.js","sourceRoot":"","sources":["../../../../../src/components/shared/Combobox/Selection/ComboboxInput.tsx"],"names":[],"mappings":";AAAA,OAAc,EACb,MAAM,EACN,SAAS,GAGT,MAAM,OAAO,CAAC;AACf,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboboxInput.js","sourceRoot":"","sources":["../../../../../src/components/shared/Combobox/Selection/ComboboxInput.tsx"],"names":[],"mappings":";AAAA,OAAc,EACb,MAAM,EACN,SAAS,GAGT,MAAM,OAAO,CAAC;AACf,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAalE,SAAS,oBAAoB,CAAC,EAC7B,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,EAAE,EACF,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,GACI;IACZ,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACF,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAyB,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC9C,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,CACN,gBACC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAC3D,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,kBACE,OAAO,mBACN,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAC,WAAW,EACjB,YAAY,EAAC,KAAK,EAClB,cAAc,EAAC,KAAK,EACpB,WAAW,EAAC,KAAK,EACjB,UAAU,EAAC,OAAO,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,qBACD,UAAU,EAC3B,SAAS,EAAE,SAAS,GACnB,CACF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAC9C,eAAe,EACf,oBAAoB,CACpB,CAAC"}
|
|
@@ -3,4 +3,4 @@ import type { ComboboxSelectionProps } from '../ComboboxType';
|
|
|
3
3
|
* Label displayed when a value is selected in the ComboBox
|
|
4
4
|
* This label can either be an input (when editable or expanded) or a simple span
|
|
5
5
|
*/
|
|
6
|
-
export declare function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, }: ComboboxSelectionProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, required, }: ComboboxSelectionProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,13 +6,13 @@ import { ComboboxInput } from './ComboboxInput';
|
|
|
6
6
|
* Label displayed when a value is selected in the ComboBox
|
|
7
7
|
* This label can either be an input (when editable or expanded) or a simple span
|
|
8
8
|
*/
|
|
9
|
-
export function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, }) {
|
|
9
|
+
export function ComboboxSelection({ labelRenderer, placeholder, search, expanded, disabled, readOnly, focused, onChange, selectedIndex, options, editable, labelId, id, classNamePrefix, invalid, required, }) {
|
|
10
10
|
const showLabel = !editable || !expanded;
|
|
11
|
-
const selectedOption = selectedIndex
|
|
11
|
+
const selectedOption = selectedIndex === undefined ? undefined : options[selectedIndex];
|
|
12
12
|
const LabelSelectionComponent = labelRenderer !== null && labelRenderer !== void 0 ? labelRenderer : ComboboxLabelSelection;
|
|
13
13
|
return (_jsx("div", { id: id, className: classnames(`${classNamePrefix !== null && classNamePrefix !== void 0 ? classNamePrefix : 'lunatic'}-combo-box-selection`, {
|
|
14
14
|
focused,
|
|
15
15
|
disabled,
|
|
16
|
-
}), role: "combobox", "aria-
|
|
16
|
+
}), role: "combobox", "aria-haspopup": "listbox", "aria-expanded": expanded, "aria-autocomplete": "list", "aria-owns": id, "aria-labelledby": labelId, children: showLabel ? (_jsx(LabelSelectionComponent, { option: selectedOption, placeholder: placeholder, search: search, disabled: disabled, readOnly: readOnly })) : (_jsx(ComboboxInput, { invalid: invalid, id: `combobox-input-${id}`, className: "lunatic-combo-box-input", onChange: (e) => { var _a; return onChange === null || onChange === void 0 ? void 0 : onChange((_a = e.target.value) !== null && _a !== void 0 ? _a : e.target.innerText); }, value: search, placeholder: placeholder, disabled: disabled, readOnly: readOnly, focused: focused, labelledBy: labelId, required: required })) }));
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=ComboboxSelection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxSelection.js","sourceRoot":"","sources":["../../../../../src/components/shared/Combobox/Selection/ComboboxSelection.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EACjC,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,EACR,OAAO,EACP,EAAE,EACF,eAAe,EACf,OAAO,
|
|
1
|
+
{"version":3,"file":"ComboboxSelection.js","sourceRoot":"","sources":["../../../../../src/components/shared/Combobox/Selection/ComboboxSelection.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EACjC,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,EACR,OAAO,EACP,EAAE,EACF,eAAe,EACf,OAAO,EACP,QAAQ,GACgB;IACxB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,cAAc,GACnB,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,uBAAuB,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,sBAAsB,CAAC;IAExE,OAAO,CACN,cACC,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CACpB,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,SAAS,sBAAsB,EACrD;YACC,OAAO;YACP,QAAQ;SACR,CACD,EACD,IAAI,EAAC,UAAU,mBACD,SAAS,mBACR,QAAQ,uBACL,MAAM,eACb,EAAE,qBACI,OAAO,YAEvB,SAAS,CAAC,CAAC,CAAC,CACZ,KAAC,uBAAuB,IACvB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,CACF,CAAC,CAAC,CAAC,CACH,KAAC,aAAa,IACb,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAC1B,SAAS,EAAC,yBAAyB,EACnC,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE,WAC9C,OAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,MAAA,CAAC,CAAC,MAAM,CAAC,KAAK,mCAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA,EAAA,EAEjD,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,QAAQ,GACjB,CACF,GACI,CACN,CAAC;AACH,CAAC"}
|