@inseefr/lunatic 3.0.0-rc.32 → 3.0.0-rc.33
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/README.fr.md +15 -15
- package/README.md +13 -13
- package/lib/components/CheckboxBoolean/CheckboxBoolean.d.ts +2 -2
- package/lib/components/CheckboxBoolean/CheckboxBoolean.js +7 -2
- package/lib/components/CheckboxBoolean/CheckboxBoolean.js.map +1 -1
- package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js +7 -7
- package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js.map +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.js +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/lib/components/CheckboxGroup/CustomCheckboxGroup.d.ts +2 -0
- package/lib/components/CheckboxGroup/CustomCheckboxGroup.js +2 -2
- package/lib/components/CheckboxGroup/CustomCheckboxGroup.js.map +1 -1
- package/lib/components/CheckboxOne/CheckboxOne.d.ts +1 -1
- package/lib/components/CheckboxOne/CheckboxOne.js +2 -2
- package/lib/components/CheckboxOne/CheckboxOne.js.map +1 -1
- package/lib/components/CheckboxOne/CheckboxOne.spec.js +5 -3
- package/lib/components/CheckboxOne/CheckboxOne.spec.js.map +1 -1
- package/lib/components/Datepicker/Datepicker.d.ts +2 -2
- package/lib/components/Datepicker/Datepicker.js +2 -2
- package/lib/components/Datepicker/Datepicker.js.map +1 -1
- package/lib/components/Datepicker/Datepicker.spec.js +28 -9
- package/lib/components/Datepicker/Datepicker.spec.js.map +1 -1
- package/lib/components/Dropdown/Dropdown.d.ts +2 -2
- package/lib/components/Dropdown/Dropdown.js +2 -2
- package/lib/components/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/Dropdown/Dropdown.spec.js +1 -1
- package/lib/components/Dropdown/Dropdown.spec.js.map +1 -1
- package/lib/components/Duration/Duration.d.ts +2 -2
- package/lib/components/Duration/Duration.js +2 -2
- package/lib/components/Duration/Duration.js.map +1 -1
- package/lib/components/Input/Input.d.ts +2 -2
- package/lib/components/Input/Input.js +2 -2
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/Input/Input.spec.js +4 -2
- package/lib/components/Input/Input.spec.js.map +1 -1
- package/lib/components/InputNumber/InputNumber.d.ts +2 -2
- package/lib/components/InputNumber/InputNumber.js +2 -2
- package/lib/components/InputNumber/InputNumber.js.map +1 -1
- package/lib/components/InputNumber/InputNumber.spec.js +8 -3
- package/lib/components/InputNumber/InputNumber.spec.js.map +1 -1
- package/lib/components/Loop/Loop.d.ts +2 -2
- package/lib/components/Loop/Loop.js +9 -5
- package/lib/components/Loop/Loop.js.map +1 -1
- package/lib/components/Radio/Radio.js +2 -2
- package/lib/components/Radio/Radio.js.map +1 -1
- package/lib/components/RosterForLoop/RosterForLoop.js +10 -5
- package/lib/components/RosterForLoop/RosterForLoop.js.map +1 -1
- package/lib/components/RosterForLoop/RosterForLoop.spec.js +1 -1
- package/lib/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
- package/lib/components/Suggester/Suggester.d.ts +1 -1
- package/lib/components/Suggester/Suggester.js +24 -8
- package/lib/components/Suggester/Suggester.js.map +1 -1
- package/lib/components/Suggester/useSuggestions.js +25 -18
- package/lib/components/Suggester/useSuggestions.js.map +1 -1
- package/lib/components/Switch/Switch.d.ts +1 -1
- package/lib/components/Switch/Switch.js +2 -2
- package/lib/components/Switch/Switch.js.map +1 -1
- package/lib/components/Text/Text.d.ts +3 -0
- package/lib/components/Text/Text.js +4 -0
- package/lib/components/Text/Text.js.map +1 -0
- package/lib/components/Textarea/Textarea.d.ts +2 -2
- package/lib/components/Textarea/Textarea.js +2 -2
- package/lib/components/Textarea/Textarea.js.map +1 -1
- package/lib/components/Textarea/Textarea.spec.js +1 -1
- package/lib/components/Textarea/Textarea.spec.js.map +1 -1
- package/lib/components/library.d.ts +4 -2
- package/lib/components/library.js +2 -0
- package/lib/components/library.js.map +1 -1
- package/lib/components/shared/Checkbox/CheckboxOption.d.ts +2 -1
- package/lib/components/shared/Checkbox/CheckboxOption.js +14 -18
- package/lib/components/shared/Checkbox/CheckboxOption.js.map +1 -1
- package/lib/components/shared/ComponentWrapper.d.ts +2 -3
- package/lib/components/shared/ComponentWrapper.js +2 -2
- package/lib/components/shared/ComponentWrapper.js.map +1 -1
- package/lib/components/shared/Icons/checkbox-disabled-icon.d.ts +2 -0
- package/lib/components/shared/Icons/checkbox-disabled-icon.js +7 -0
- package/lib/components/shared/Icons/checkbox-disabled-icon.js.map +1 -0
- package/lib/components/shared/Missing/Missing.d.ts +2 -2
- package/lib/components/shared/Missing/Missing.js +2 -2
- package/lib/components/shared/Missing/Missing.js.map +1 -1
- package/lib/components/shared/Missing/Missing.spec.js +13 -9
- package/lib/components/shared/Missing/Missing.spec.js.map +1 -1
- package/lib/components/shared/Radio/RadioOption.js +20 -39
- package/lib/components/shared/Radio/RadioOption.js.map +1 -1
- package/lib/components/shared/Radio/RadioOption.spec.js +4 -4
- package/lib/components/shared/Radio/RadioOption.spec.js.map +1 -1
- package/lib/components/type.d.ts +6 -8
- package/lib/index.d.ts +1 -1
- package/lib/main.css +77 -26
- package/lib/main.css.map +1 -1
- package/lib/use-lunatic/actions.d.ts +13 -11
- package/lib/use-lunatic/actions.js +10 -7
- package/lib/use-lunatic/actions.js.map +1 -1
- package/lib/use-lunatic/commons/compile-controls.js +1 -1
- package/lib/use-lunatic/commons/compile-controls.js.map +1 -1
- package/lib/use-lunatic/commons/execute-condition-filter.js +1 -2
- package/lib/use-lunatic/commons/execute-condition-filter.js.map +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +3 -1
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +9 -0
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-components.d.ts +2 -2
- package/lib/use-lunatic/commons/fill-components/fill-components.js +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
- package/lib/use-lunatic/hooks/use-page-has-response.js +2 -1
- package/lib/use-lunatic/hooks/use-page-has-response.js.map +1 -1
- package/lib/use-lunatic/hooks/useOverview.js +5 -3
- package/lib/use-lunatic/hooks/useOverview.js.map +1 -1
- package/lib/use-lunatic/props/propComponentType.js +35 -16
- package/lib/use-lunatic/props/propComponentType.js.map +1 -1
- package/lib/use-lunatic/reducer/controls/check-roundabout-control.js +2 -8
- package/lib/use-lunatic/reducer/controls/check-roundabout-control.js.map +1 -1
- package/lib/use-lunatic/reducer/reduce-go-to-page.js +1 -1
- package/lib/use-lunatic/reducer/reduce-go-to-page.js.map +1 -1
- package/lib/use-lunatic/reducer/reduce-handle-changes.d.ts +6 -0
- package/lib/use-lunatic/reducer/reduce-handle-changes.js +24 -0
- package/lib/use-lunatic/reducer/reduce-handle-changes.js.map +1 -0
- package/lib/use-lunatic/reducer/reducer.js +3 -3
- package/lib/use-lunatic/reducer/reducer.js.map +1 -1
- package/lib/use-lunatic/type.d.ts +8 -8
- package/lib/use-lunatic/use-lunatic.d.ts +4 -4
- package/lib/use-lunatic/use-lunatic.js +9 -9
- package/lib/use-lunatic/use-lunatic.js.map +1 -1
- package/lib/utils/search/SuggestersDatabase.d.ts +5 -0
- package/lib/utils/search/SuggestersDatabase.js +7 -1
- package/lib/utils/search/SuggestersDatabase.js.map +1 -1
- package/package.json +1 -1
- package/lib/use-lunatic/reducer/reduce-handle-change.d.ts +0 -6
- package/lib/use-lunatic/reducer/reduce-handle-change.js +0 -20
- package/lib/use-lunatic/reducer/reduce-handle-change.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG;QACjB,KAAK,EAAE,OAAO;QACd,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1B,
|
|
1
|
+
{"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { LunaticComponentProps } from '../type';
|
|
3
3
|
import type { LunaticError } from '../../use-lunatic/type';
|
|
4
|
-
export declare function InputNumber({
|
|
5
|
-
type CustomProps = Omit<LunaticComponentProps<'InputNumber'>, 'response' | '
|
|
4
|
+
export declare function InputNumber({ handleChanges, response, errors, decimals, ...props }: LunaticComponentProps<'InputNumber'>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
type CustomProps = Omit<LunaticComponentProps<'InputNumber'>, 'response' | 'handleChanges' | 'errors'> & {
|
|
6
6
|
onChange: (v: number | null) => void;
|
|
7
7
|
errors?: LunaticError[];
|
|
8
8
|
};
|
|
@@ -4,8 +4,8 @@ import { Label } from '../shared/Label/Label';
|
|
|
4
4
|
import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/ComponentErrors';
|
|
5
5
|
import { slottableComponent } from '../shared/HOC/slottableComponent';
|
|
6
6
|
import { Declarations } from '../shared/Declarations/Declarations';
|
|
7
|
-
export function InputNumber({
|
|
8
|
-
return (_jsx(CustomInputNumber, { ...props, decimals: decimals ?? 0, onChange: (
|
|
7
|
+
export function InputNumber({ handleChanges, response, errors, decimals, ...props }) {
|
|
8
|
+
return (_jsx(CustomInputNumber, { ...props, decimals: decimals ?? 0, onChange: (value) => handleChanges([{ name: response.name, value }]), errors: getComponentErrors(errors, props.id) }));
|
|
9
9
|
}
|
|
10
10
|
export const CustomInputNumber = slottableComponent('InputNumber', (props) => {
|
|
11
11
|
const { id, value, onChange, disabled, readOnly, max, decimals, unit, label, errors, required, description, declarations, } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,WAAW,CAAC,EAC3B,
|
|
1
|
+
{"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,KAAC,iBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,IAAI,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAClD,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,eAAK,SAAS,EAAC,sBAAsB,aACpC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,KAAC,mBAAmB,IACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,MAAM,GAChB,EACD,IAAI,IAAI,yBAAO,IAAI,GAAQ,EAC5B,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { InputNumber } from './InputNumber';
|
|
|
5
5
|
describe('InputNumber', () => {
|
|
6
6
|
const mockOnChange = vi.fn();
|
|
7
7
|
const baseProps = {
|
|
8
|
-
|
|
8
|
+
handleChanges: mockOnChange,
|
|
9
9
|
response: { name: 'demo' },
|
|
10
10
|
value: 10,
|
|
11
11
|
id: 'number',
|
|
@@ -20,7 +20,7 @@ describe('InputNumber', () => {
|
|
|
20
20
|
});
|
|
21
21
|
it('renders label and input', () => {
|
|
22
22
|
const labelText = 'Enter a number';
|
|
23
|
-
const { container } = render(_jsx(InputNumber, { ...baseProps, label: labelText,
|
|
23
|
+
const { container } = render(_jsx(InputNumber, { ...baseProps, label: labelText, handleChanges: mockOnChange }));
|
|
24
24
|
const label = screen.getByText(labelText);
|
|
25
25
|
const input = container.querySelector('input[type="text"]');
|
|
26
26
|
expect(label).toBeInTheDocument();
|
|
@@ -41,7 +41,12 @@ describe('InputNumber', () => {
|
|
|
41
41
|
const input = container.querySelector('input[type="text"]');
|
|
42
42
|
fireEvent.change(input, { target: { value: '12' } });
|
|
43
43
|
expect(mockOnChange).toHaveBeenCalledTimes(1);
|
|
44
|
-
expect(mockOnChange).toHaveBeenCalledWith(
|
|
44
|
+
expect(mockOnChange).toHaveBeenCalledWith([
|
|
45
|
+
{
|
|
46
|
+
...baseProps.response,
|
|
47
|
+
value: 12,
|
|
48
|
+
},
|
|
49
|
+
]);
|
|
45
50
|
});
|
|
46
51
|
it('renders unit element if provided', () => {
|
|
47
52
|
const { getByText } = render(_jsx(InputNumber, { ...baseProps, id: "input-number-test", value: 5, label: "Input Number", unit: "kg" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG;QACjB,
|
|
1
|
+
{"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import type { LunaticError } from '../../use-lunatic/type';
|
|
|
4
4
|
/**
|
|
5
5
|
* Loop without specific markup (stack of subcomponents)
|
|
6
6
|
*/
|
|
7
|
-
export declare function Loop({ lines, iterations, value,
|
|
8
|
-
type CustomProps = Omit<LunaticComponentProps<'RosterForLoop' | 'Loop'>, 'response' | '
|
|
7
|
+
export declare function Loop({ lines, iterations, value, handleChanges, getComponents, errors, ...props }: LunaticComponentProps<'Loop'>): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
type CustomProps = Omit<LunaticComponentProps<'RosterForLoop' | 'Loop'>, 'response' | 'handleChanges' | 'errors' | 'lines' | 'iterations' | 'value' | 'getComponents'> & PropsWithChildren<{
|
|
9
9
|
errors?: LunaticError[];
|
|
10
10
|
addRow?: () => void;
|
|
11
11
|
removeRow?: () => void;
|
|
@@ -12,7 +12,7 @@ import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/
|
|
|
12
12
|
/**
|
|
13
13
|
* Loop without specific markup (stack of subcomponents)
|
|
14
14
|
*/
|
|
15
|
-
export function Loop({ lines, iterations, value,
|
|
15
|
+
export function Loop({ lines, iterations, value, handleChanges, getComponents, errors, ...props }) {
|
|
16
16
|
const min = lines?.min ?? 0;
|
|
17
17
|
const max = lines?.max ?? Infinity;
|
|
18
18
|
const [nbRows, setNbRows] = useState(() => {
|
|
@@ -27,12 +27,16 @@ export function Loop({ lines, iterations, value, handleChange, getComponents, er
|
|
|
27
27
|
if (nbRows > 1) {
|
|
28
28
|
const newNbRows = nbRows - 1;
|
|
29
29
|
setNbRows(newNbRows);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
// Downsize all variables by 1
|
|
31
|
+
const newResponses = Object.entries(value).map(([k, v]) => {
|
|
32
|
+
return {
|
|
33
|
+
name: k,
|
|
34
|
+
value: v?.filter((_, i) => i < newNbRows),
|
|
35
|
+
};
|
|
33
36
|
});
|
|
37
|
+
handleChanges(newResponses);
|
|
34
38
|
}
|
|
35
|
-
}, [nbRows,
|
|
39
|
+
}, [nbRows, handleChanges, value]);
|
|
36
40
|
if (nbRows <= 0) {
|
|
37
41
|
return null;
|
|
38
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AAGnD;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,EACpB,KAAK,EACL,UAAU,EACV,KAAK,EACL,
|
|
1
|
+
{"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { getComponentErrors } from '../shared/ComponentErrors/ComponentErrors';
|
|
|
3
3
|
import { RadioGroup } from '../shared/Radio/RadioGroup';
|
|
4
4
|
import { slottableComponent } from '../shared/HOC/slottableComponent';
|
|
5
5
|
function LunaticRadio(props) {
|
|
6
|
-
const { id, options, value, checkboxStyle, errors,
|
|
7
|
-
return (_jsx(RadioGroup, { id: id, options: options, value: value, description: description, onSelect: (
|
|
6
|
+
const { id, options, value, checkboxStyle, errors, handleChanges, response, label, shortcut, className = 'lunatic-radio-group', disabled, readOnly, description, } = props;
|
|
7
|
+
return (_jsx(RadioGroup, { id: id, options: options, value: value, description: description, onSelect: (value) => handleChanges([{ name: response.name, value }]), checkboxStyle: checkboxStyle, errors: getComponentErrors(errors, id), label: label, className: className, shortcut: shortcut, disabled: disabled, readOnly: readOnly }));
|
|
8
8
|
}
|
|
9
9
|
export const Radio = slottableComponent('Radio', LunaticRadio);
|
|
10
10
|
//# sourceMappingURL=Radio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,SAAS,YAAY,CAAC,KAAqC;IAC1D,MAAM,EACL,EAAE,EACF,OAAO,EACP,KAAK,EACL,aAAa,EACb,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,SAAS,YAAY,CAAC,KAAqC;IAC1D,MAAM,EACL,EAAE,EACF,OAAO,EACP,KAAK,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,GAAG,qBAAqB,EACjC,QAAQ,EACR,QAAQ,EACR,WAAW,GACX,GAAG,KAAK,CAAC;IACV,OAAO,CACN,KAAC,UAAU,IACV,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,EACtC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,CACF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC"}
|
|
@@ -6,13 +6,14 @@ import { LunaticComponents } from '../LunaticComponents';
|
|
|
6
6
|
import { blockedInLoopComponents } from '../Loop/constant';
|
|
7
7
|
import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/ComponentErrors';
|
|
8
8
|
import { CustomLoop } from '../Loop/Loop';
|
|
9
|
+
import { objectMap } from '../../utils/object';
|
|
9
10
|
const DEFAULT_MIN_ROWS = 1;
|
|
10
11
|
const DEFAULT_MAX_ROWS = 12;
|
|
11
12
|
/**
|
|
12
13
|
* Loop displayed as a table
|
|
13
14
|
*/
|
|
14
15
|
export const RosterForLoop = (props) => {
|
|
15
|
-
const { value: valueMap, lines, errors,
|
|
16
|
+
const { value: valueMap, lines, errors, handleChanges, declarations, header, iterations, id, getComponents, label, ...otherProps // These props will be passed down to the child components
|
|
16
17
|
} = props;
|
|
17
18
|
const min = lines?.min ?? DEFAULT_MIN_ROWS;
|
|
18
19
|
const max = lines?.max ?? DEFAULT_MAX_ROWS;
|
|
@@ -28,11 +29,15 @@ export const RosterForLoop = (props) => {
|
|
|
28
29
|
}
|
|
29
30
|
const newNbRows = nbRows - 1;
|
|
30
31
|
setNbRows(newNbRows);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
// Downsize all variables by 1
|
|
33
|
+
const newResponses = Object.entries(valueMap).map(([k, v]) => {
|
|
34
|
+
return {
|
|
35
|
+
name: k,
|
|
36
|
+
value: v?.filter((_, i) => i < newNbRows),
|
|
37
|
+
};
|
|
34
38
|
});
|
|
35
|
-
|
|
39
|
+
handleChanges(newResponses);
|
|
40
|
+
}, [nbRows, min, valueMap, handleChanges]);
|
|
36
41
|
if (nbRows === 0) {
|
|
37
42
|
return null;
|
|
38
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ describe('RosterForLoop', () => {
|
|
|
20
20
|
},
|
|
21
21
|
];
|
|
22
22
|
it('renders the right number of columns', () => {
|
|
23
|
-
const { container } = render(_jsx(RosterForLoop, { value: { name: ['John Doe', 'Jane Doe'] },
|
|
23
|
+
const { container } = render(_jsx(RosterForLoop, { value: { name: ['John Doe', 'Jane Doe'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 1, max: 3 }, iterations: 2, getComponents: getComponents, executeExpression: () => null }));
|
|
24
24
|
expect(container).toMatchSnapshot();
|
|
25
25
|
expect(screen.getAllByRole('row')).toHaveLength(2);
|
|
26
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;QAC5C;YACC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,GAAG;YACd,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ;SACmB;KACnC,CAAC;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,aAAa,IACb,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EACzC,
|
|
1
|
+
{"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;QAC5C;YACC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,GAAG;YACd,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ;SACmB;KACnC,CAAC;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,aAAa,IACb,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EACzC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAC,OAAO,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EACzB,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAW,GACnC,CACF,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { LunaticComponentProps } from '../type';
|
|
2
|
-
export declare function Suggester({ storeName, id, className, optionRenderer, labelRenderer,
|
|
2
|
+
export declare function Suggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, description, errors, readOnly, response, optionResponses, executeExpression, iteration, arbitrary, arbitraryValue, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,7 +4,7 @@ import { CustomSuggester } from './CustomSuggester';
|
|
|
4
4
|
import { getComponentErrors } from '../shared/ComponentErrors/ComponentErrors';
|
|
5
5
|
import { OTHER_VALUE, useSuggestions } from './useSuggestions';
|
|
6
6
|
import D from '../../i18n';
|
|
7
|
-
export function Suggester({ storeName, id, className, optionRenderer, labelRenderer,
|
|
7
|
+
export function Suggester({ storeName, id, className, optionRenderer, labelRenderer, handleChanges, disabled, value, label, description, errors, readOnly, response, optionResponses = [], executeExpression, iteration, arbitrary, arbitraryValue, }) {
|
|
8
8
|
// Default options should not change between render
|
|
9
9
|
// so we can break the rule of hooks here
|
|
10
10
|
const [selectedOptions, setSelectedOptions] = useState(() => {
|
|
@@ -18,7 +18,7 @@ export function Suggester({ storeName, id, className, optionRenderer, labelRende
|
|
|
18
18
|
if (!labelResponse) {
|
|
19
19
|
return [{ id: value, label: value, value: value }];
|
|
20
20
|
}
|
|
21
|
-
const label = executeExpression(labelResponse.name, {
|
|
21
|
+
const label = executeExpression({ value: labelResponse.name, type: 'VTL' }, {
|
|
22
22
|
iteration,
|
|
23
23
|
});
|
|
24
24
|
if (typeof label !== 'string') {
|
|
@@ -41,27 +41,43 @@ export function Suggester({ storeName, id, className, optionRenderer, labelRende
|
|
|
41
41
|
setSelectedOptions(v?.id ? [v] : []);
|
|
42
42
|
// User has selected an option
|
|
43
43
|
if (v?.id && v.id !== OTHER_VALUE) {
|
|
44
|
-
|
|
44
|
+
const newResponses = [
|
|
45
|
+
{ name: response.name, value: v.id },
|
|
46
|
+
];
|
|
45
47
|
if (arbitrary) {
|
|
46
|
-
|
|
48
|
+
newResponses.push({
|
|
49
|
+
name: arbitrary.response.name,
|
|
50
|
+
value: null,
|
|
51
|
+
});
|
|
47
52
|
}
|
|
48
53
|
// Update additional responses
|
|
49
54
|
for (const optionResponse of optionResponses) {
|
|
50
55
|
if (optionResponse.attribute in v) {
|
|
51
|
-
|
|
56
|
+
newResponses.push({
|
|
57
|
+
name: optionResponse.name,
|
|
58
|
+
value: v[optionResponse.attribute],
|
|
59
|
+
});
|
|
52
60
|
}
|
|
53
61
|
}
|
|
62
|
+
handleChanges(newResponses);
|
|
54
63
|
onBlur();
|
|
55
64
|
return;
|
|
56
65
|
}
|
|
66
|
+
// Use has selected the arbitrary value
|
|
67
|
+
const newResponses = [
|
|
68
|
+
{ name: response.name, value: null },
|
|
69
|
+
];
|
|
57
70
|
// User chose an arbitrary option or clear the value
|
|
58
71
|
if (arbitrary && arbitrary.response) {
|
|
59
|
-
|
|
72
|
+
newResponses.push({
|
|
73
|
+
name: arbitrary.response.name,
|
|
74
|
+
value: v?.id === OTHER_VALUE ? search : null,
|
|
75
|
+
});
|
|
60
76
|
}
|
|
61
|
-
handleChange(response, null);
|
|
62
77
|
for (const optionResponse of optionResponses) {
|
|
63
|
-
|
|
78
|
+
newResponses.push({ name: optionResponse.name, value: null });
|
|
64
79
|
}
|
|
80
|
+
handleChanges(newResponses);
|
|
65
81
|
onBlur();
|
|
66
82
|
};
|
|
67
83
|
let componentErrors = getComponentErrors(errors, id) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,CAAC,MAAM,YAAY,CAAC;AAG3B,MAAM,UAAU,SAAS,CAAC,EACzB,SAAS,EACT,EAAE,EACF,SAAS,EACT,cAAc,EACd,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,36 +4,46 @@ import { getSearchForStore } from '../../utils/search/SuggestersDatabase';
|
|
|
4
4
|
import { useRefSync } from '../../hooks/useRefSync';
|
|
5
5
|
export const OTHER_VALUE = 'OTHER';
|
|
6
6
|
export function useSuggestions({ storeName, selectedOptions, allowArbitrary, }) {
|
|
7
|
-
const [
|
|
8
|
-
const
|
|
9
|
-
const
|
|
7
|
+
const [searchQuery, setSearchQuery] = useState('');
|
|
8
|
+
const store = getSearchForStore(storeName);
|
|
9
|
+
const searchIndexRef = useRefSync(store.index);
|
|
10
10
|
let [options, setOptions] = useState(selectedOptions);
|
|
11
|
-
const [state, setState] = useState(
|
|
11
|
+
const [state, setState] = useState(store.error !== null
|
|
12
|
+
? 'error'
|
|
13
|
+
: store.search.isIndexed()
|
|
14
|
+
? 'success'
|
|
15
|
+
: 'loading');
|
|
12
16
|
// Index the data when the component is loaded
|
|
13
17
|
useEffect(() => {
|
|
14
|
-
|
|
18
|
+
if (!searchIndexRef.current) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
searchIndexRef
|
|
15
22
|
.current()
|
|
16
23
|
.then(() => {
|
|
17
24
|
setState('success');
|
|
18
25
|
})
|
|
19
26
|
.catch((err) => {
|
|
20
27
|
setState('error');
|
|
21
|
-
throw new Error(err);
|
|
22
28
|
});
|
|
23
|
-
}, [
|
|
29
|
+
}, [searchIndexRef]);
|
|
24
30
|
useEffectDebounced(() => {
|
|
25
|
-
|
|
31
|
+
store.search
|
|
32
|
+
?.search(searchQuery)
|
|
26
33
|
.then((r) => {
|
|
27
34
|
setOptions(r);
|
|
28
35
|
setState('success');
|
|
29
36
|
})
|
|
30
37
|
.catch(() => setState('error'));
|
|
31
|
-
}, [
|
|
32
|
-
if (
|
|
38
|
+
}, [searchQuery], 300);
|
|
39
|
+
if (searchQuery &&
|
|
40
|
+
allowArbitrary &&
|
|
41
|
+
options.length === 0 &&
|
|
42
|
+
state !== 'loading') {
|
|
33
43
|
options = [
|
|
34
44
|
{
|
|
35
45
|
id: OTHER_VALUE,
|
|
36
|
-
label:
|
|
46
|
+
label: searchQuery,
|
|
37
47
|
value: OTHER_VALUE,
|
|
38
48
|
},
|
|
39
49
|
];
|
|
@@ -41,22 +51,19 @@ export function useSuggestions({ storeName, selectedOptions, allowArbitrary, })
|
|
|
41
51
|
// Since the underlying implementation of onFocus / onBlur can be wrong, ensure we don't call focus / blur handler multiple times
|
|
42
52
|
const [isFocused, setFocused] = useState(false);
|
|
43
53
|
return {
|
|
44
|
-
search,
|
|
54
|
+
search: searchQuery,
|
|
45
55
|
setSearch: (s) => {
|
|
46
|
-
if (state === 'error') {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
56
|
if (s.length > 0 && !isFocused) {
|
|
50
57
|
setFocused(true);
|
|
51
58
|
}
|
|
52
59
|
// setState('loading'); // Current implementation being sync, we won't need to show a "loading" state
|
|
53
|
-
|
|
60
|
+
setSearchQuery(s);
|
|
54
61
|
},
|
|
55
62
|
state,
|
|
56
63
|
options: isFocused ? options : selectedOptions,
|
|
57
64
|
onBlur: () => {
|
|
58
65
|
setFocused(false);
|
|
59
|
-
|
|
66
|
+
setSearchQuery('');
|
|
60
67
|
// Prevent extra calls
|
|
61
68
|
if (!isFocused) {
|
|
62
69
|
return;
|
|
@@ -66,7 +73,7 @@ export function useSuggestions({ storeName, selectedOptions, allowArbitrary, })
|
|
|
66
73
|
onFocus: () => {
|
|
67
74
|
if (!isFocused) {
|
|
68
75
|
setFocused(true);
|
|
69
|
-
|
|
76
|
+
setSearchQuery(selectedOptions[0]?.label ?? '');
|
|
70
77
|
}
|
|
71
78
|
},
|
|
72
79
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSuggestions.js","sourceRoot":"","sources":["../../../src/components/Suggester/useSuggestions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAQpD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAInC,MAAM,UAAU,cAAc,CAAC,EAC9B,SAAS,EACT,eAAe,EACf,cAAc,GACP;IACP,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"useSuggestions.js","sourceRoot":"","sources":["../../../src/components/Suggester/useSuggestions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LunaticComponentProps } from '../type';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { LunaticError } from '../../use-lunatic/type';
|
|
4
|
-
type CustomProps = Omit<LunaticComponentProps<'Switch'>, 'response' | '
|
|
4
|
+
type CustomProps = Omit<LunaticComponentProps<'Switch'>, 'response' | 'handleChanges' | 'errors' | 'value'> & {
|
|
5
5
|
onChange: () => void;
|
|
6
6
|
errors?: LunaticError[];
|
|
7
7
|
checked: boolean;
|
|
@@ -6,9 +6,9 @@ import { slottableComponent } from '../shared/HOC/slottableComponent';
|
|
|
6
6
|
import { Label } from '../shared/Label/Label';
|
|
7
7
|
import { Declarations } from '../shared/Declarations/Declarations';
|
|
8
8
|
const defaultLabel = { true: 'True', false: 'False' };
|
|
9
|
-
function LunaticSwitch({
|
|
9
|
+
function LunaticSwitch({ handleChanges, response, errors, value, statusLabel, ...props }) {
|
|
10
10
|
const checked = value ?? false;
|
|
11
|
-
return (_jsx(CustomSwitch, { ...props, statusLabel: statusLabel ?? defaultLabel, checked: value ?? false, onChange: () =>
|
|
11
|
+
return (_jsx(CustomSwitch, { ...props, statusLabel: statusLabel ?? defaultLabel, checked: value ?? false, onChange: () => handleChanges([{ name: response.name, value: !checked }]), errors: getComponentErrors(errors, props.id) }));
|
|
12
12
|
}
|
|
13
13
|
export const CustomSwitch = slottableComponent('Switch', (props) => {
|
|
14
14
|
const { id, onChange, checked, statusLabel = defaultLabel, label, errors, disabled, declarations, } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/components/Switch/Switch.tsx"],"names":[],"mappings":";AACA,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,EAAsB,MAAM,OAAO,CAAC;AAClD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAEtD,SAAS,aAAa,CAAC,EACtB,
|
|
1
|
+
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/components/Switch/Switch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/components/Text/Text.tsx"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,EAAE,KAAK,EAAiC;IAC5D,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { LunaticComponentProps } from '../type';
|
|
3
3
|
import type { LunaticError } from '../../use-lunatic/type';
|
|
4
|
-
export declare function Textarea({
|
|
5
|
-
type CustomProps = Omit<LunaticComponentProps<'Textarea'>, 'response' | '
|
|
4
|
+
export declare function Textarea({ handleChanges, response, errors, ...props }: LunaticComponentProps<'Textarea'>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
type CustomProps = Omit<LunaticComponentProps<'Textarea'>, 'response' | 'handleChanges' | 'errors'> & {
|
|
6
6
|
onChange: (v: string) => void;
|
|
7
7
|
errors?: LunaticError[];
|
|
8
8
|
};
|
|
@@ -3,8 +3,8 @@ import { Label } from '../shared/Label/Label';
|
|
|
3
3
|
import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/ComponentErrors';
|
|
4
4
|
import { slottableComponent } from '../shared/HOC/slottableComponent';
|
|
5
5
|
import { Declarations } from '../shared/Declarations/Declarations';
|
|
6
|
-
export function Textarea({
|
|
7
|
-
return (_jsx(CustomTextarea, { ...props, onChange: (
|
|
6
|
+
export function Textarea({ handleChanges, response, errors, ...props }) {
|
|
7
|
+
return (_jsx(CustomTextarea, { ...props, onChange: (value) => handleChanges([{ name: response.name, value }]), errors: getComponentErrors(errors, props.id) }));
|
|
8
8
|
}
|
|
9
9
|
export const CustomTextarea = slottableComponent('Textarea', (props) => {
|
|
10
10
|
const { value, onChange, disabled, required, maxLength, label, description, id, errors, readOnly, declarations, rows, cols, placeHolder, } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,QAAQ,CAAC,EACxB,
|
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,QAAQ,CAAC,EACxB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,KAAC,cAAc,OACV,KAAK,EACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,UAAU,EACV,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,EAAE,EACF,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,WAAW,GACX,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,OAAO,CACN,eAAK,SAAS,EAAC,kBAAkB,aAChC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,mBACC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,kBACJ,CAAC,CAAC,MAAM,GACrB,EACF,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.spec.js","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACzB,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG;QACjB,KAAK,EAAE,OAAO;QACd,EAAE,EAAE,OAAO;QACX,iBAAiB,EAAE,OAAO;QAC1B,
|
|
1
|
+
{"version":3,"file":"Textarea.spec.js","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACzB,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG;QACjB,KAAK,EAAE,OAAO;QACd,EAAE,EAAE,OAAO;QACX,iBAAiB,EAAE,OAAO;QAC1B,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,QAAQ,OAAK,SAAS,GAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,QAAQ,OACJ,SAAS,EACb,EAAE,EAAC,UAAU,EACb,KAAK,EACJ,+bAA+b,EAEhc,QAAQ,SACP,CACF,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,KAAqB,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CACxB,+bAA+b,CAC/b,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|