@inseefr/lunatic 3.0.0-rc.32 → 3.0.0-rc.34

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.
Files changed (141) hide show
  1. package/README.md +19 -19
  2. package/lib/components/CheckboxBoolean/CheckboxBoolean.d.ts +2 -2
  3. package/lib/components/CheckboxBoolean/CheckboxBoolean.js +7 -2
  4. package/lib/components/CheckboxBoolean/CheckboxBoolean.js.map +1 -1
  5. package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js +7 -7
  6. package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js.map +1 -1
  7. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  8. package/lib/components/CheckboxGroup/CheckboxGroup.js +3 -3
  9. package/lib/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  10. package/lib/components/CheckboxGroup/CustomCheckboxGroup.d.ts +2 -0
  11. package/lib/components/CheckboxGroup/CustomCheckboxGroup.js +2 -2
  12. package/lib/components/CheckboxGroup/CustomCheckboxGroup.js.map +1 -1
  13. package/lib/components/CheckboxOne/CheckboxOne.d.ts +1 -1
  14. package/lib/components/CheckboxOne/CheckboxOne.js +2 -2
  15. package/lib/components/CheckboxOne/CheckboxOne.js.map +1 -1
  16. package/lib/components/CheckboxOne/CheckboxOne.spec.js +5 -3
  17. package/lib/components/CheckboxOne/CheckboxOne.spec.js.map +1 -1
  18. package/lib/components/Datepicker/Datepicker.d.ts +2 -2
  19. package/lib/components/Datepicker/Datepicker.js +2 -2
  20. package/lib/components/Datepicker/Datepicker.js.map +1 -1
  21. package/lib/components/Datepicker/Datepicker.spec.js +28 -9
  22. package/lib/components/Datepicker/Datepicker.spec.js.map +1 -1
  23. package/lib/components/Dropdown/Dropdown.d.ts +2 -2
  24. package/lib/components/Dropdown/Dropdown.js +2 -2
  25. package/lib/components/Dropdown/Dropdown.js.map +1 -1
  26. package/lib/components/Dropdown/Dropdown.spec.js +1 -1
  27. package/lib/components/Dropdown/Dropdown.spec.js.map +1 -1
  28. package/lib/components/Duration/Duration.d.ts +2 -2
  29. package/lib/components/Duration/Duration.js +2 -2
  30. package/lib/components/Duration/Duration.js.map +1 -1
  31. package/lib/components/Input/Input.d.ts +2 -2
  32. package/lib/components/Input/Input.js +2 -2
  33. package/lib/components/Input/Input.js.map +1 -1
  34. package/lib/components/Input/Input.spec.js +4 -2
  35. package/lib/components/Input/Input.spec.js.map +1 -1
  36. package/lib/components/InputNumber/InputNumber.d.ts +2 -2
  37. package/lib/components/InputNumber/InputNumber.js +2 -2
  38. package/lib/components/InputNumber/InputNumber.js.map +1 -1
  39. package/lib/components/InputNumber/InputNumber.spec.js +8 -3
  40. package/lib/components/InputNumber/InputNumber.spec.js.map +1 -1
  41. package/lib/components/Loop/Loop.d.ts +2 -2
  42. package/lib/components/Loop/Loop.js +9 -5
  43. package/lib/components/Loop/Loop.js.map +1 -1
  44. package/lib/components/Question/Question.js +6 -1
  45. package/lib/components/Question/Question.js.map +1 -1
  46. package/lib/components/Radio/Radio.js +2 -2
  47. package/lib/components/Radio/Radio.js.map +1 -1
  48. package/lib/components/RosterForLoop/RosterForLoop.js +9 -5
  49. package/lib/components/RosterForLoop/RosterForLoop.js.map +1 -1
  50. package/lib/components/RosterForLoop/RosterForLoop.spec.js +1 -1
  51. package/lib/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
  52. package/lib/components/Suggester/Suggester.d.ts +1 -1
  53. package/lib/components/Suggester/Suggester.js +24 -9
  54. package/lib/components/Suggester/Suggester.js.map +1 -1
  55. package/lib/components/Suggester/useSuggestions.js +29 -18
  56. package/lib/components/Suggester/useSuggestions.js.map +1 -1
  57. package/lib/components/Switch/Switch.d.ts +1 -1
  58. package/lib/components/Switch/Switch.js +2 -2
  59. package/lib/components/Switch/Switch.js.map +1 -1
  60. package/lib/components/Text/Text.d.ts +3 -0
  61. package/lib/components/Text/Text.js +4 -0
  62. package/lib/components/Text/Text.js.map +1 -0
  63. package/lib/components/Textarea/Textarea.d.ts +2 -2
  64. package/lib/components/Textarea/Textarea.js +2 -2
  65. package/lib/components/Textarea/Textarea.js.map +1 -1
  66. package/lib/components/Textarea/Textarea.spec.js +1 -1
  67. package/lib/components/Textarea/Textarea.spec.js.map +1 -1
  68. package/lib/components/library.d.ts +5 -3
  69. package/lib/components/library.js +2 -0
  70. package/lib/components/library.js.map +1 -1
  71. package/lib/components/shared/Button/Button.d.ts +1 -0
  72. package/lib/components/shared/Button/Button.js +3 -3
  73. package/lib/components/shared/Button/Button.js.map +1 -1
  74. package/lib/components/shared/Checkbox/CheckboxOption.d.ts +2 -1
  75. package/lib/components/shared/Checkbox/CheckboxOption.js +14 -18
  76. package/lib/components/shared/Checkbox/CheckboxOption.js.map +1 -1
  77. package/lib/components/shared/Combobox/Selection/ComboboxInput.js +1 -1
  78. package/lib/components/shared/Combobox/Selection/ComboboxInput.js.map +1 -1
  79. package/lib/components/shared/Combobox/Selection/ComboboxSelection.js +1 -1
  80. package/lib/components/shared/Combobox/Selection/ComboboxSelection.js.map +1 -1
  81. package/lib/components/shared/ComponentWrapper.d.ts +2 -3
  82. package/lib/components/shared/ComponentWrapper.js +2 -2
  83. package/lib/components/shared/ComponentWrapper.js.map +1 -1
  84. package/lib/components/shared/Icons/checkbox-disabled-icon.d.ts +2 -0
  85. package/lib/components/shared/Icons/checkbox-disabled-icon.js +7 -0
  86. package/lib/components/shared/Icons/checkbox-disabled-icon.js.map +1 -0
  87. package/lib/components/shared/Missing/Missing.d.ts +3 -2
  88. package/lib/components/shared/Missing/Missing.js +4 -3
  89. package/lib/components/shared/Missing/Missing.js.map +1 -1
  90. package/lib/components/shared/Missing/Missing.spec.js +13 -9
  91. package/lib/components/shared/Missing/Missing.spec.js.map +1 -1
  92. package/lib/components/shared/Radio/RadioOption.js +20 -39
  93. package/lib/components/shared/Radio/RadioOption.js.map +1 -1
  94. package/lib/components/shared/Radio/RadioOption.spec.js +4 -4
  95. package/lib/components/shared/Radio/RadioOption.spec.js.map +1 -1
  96. package/lib/components/type.d.ts +7 -9
  97. package/lib/index.d.ts +1 -1
  98. package/lib/main.css +77 -26
  99. package/lib/main.css.map +1 -1
  100. package/lib/use-lunatic/actions.d.ts +13 -11
  101. package/lib/use-lunatic/actions.js +9 -7
  102. package/lib/use-lunatic/actions.js.map +1 -1
  103. package/lib/use-lunatic/commons/compile-controls.js +1 -1
  104. package/lib/use-lunatic/commons/compile-controls.js.map +1 -1
  105. package/lib/use-lunatic/commons/execute-condition-filter.js +1 -2
  106. package/lib/use-lunatic/commons/execute-condition-filter.js.map +1 -1
  107. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +3 -1
  108. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +9 -0
  109. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  110. package/lib/use-lunatic/commons/fill-components/fill-components.d.ts +2 -2
  111. package/lib/use-lunatic/commons/fill-components/fill-components.js +1 -1
  112. package/lib/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  113. package/lib/use-lunatic/hooks/use-page-has-response.js +2 -1
  114. package/lib/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  115. package/lib/use-lunatic/hooks/useOverview.js +5 -3
  116. package/lib/use-lunatic/hooks/useOverview.js.map +1 -1
  117. package/lib/use-lunatic/props/propComponentType.js +35 -17
  118. package/lib/use-lunatic/props/propComponentType.js.map +1 -1
  119. package/lib/use-lunatic/reducer/controls/check-roundabout-control.js +2 -8
  120. package/lib/use-lunatic/reducer/controls/check-roundabout-control.js.map +1 -1
  121. package/lib/use-lunatic/reducer/reduce-go-to-page.js +1 -1
  122. package/lib/use-lunatic/reducer/reduce-go-to-page.js.map +1 -1
  123. package/lib/use-lunatic/reducer/reduce-handle-changes.d.ts +6 -0
  124. package/lib/use-lunatic/reducer/reduce-handle-changes.js +24 -0
  125. package/lib/use-lunatic/reducer/reduce-handle-changes.js.map +1 -0
  126. package/lib/use-lunatic/reducer/reducer.js +3 -3
  127. package/lib/use-lunatic/reducer/reducer.js.map +1 -1
  128. package/lib/use-lunatic/type.d.ts +8 -8
  129. package/lib/use-lunatic/use-lunatic.d.ts +4 -4
  130. package/lib/use-lunatic/use-lunatic.js +9 -9
  131. package/lib/use-lunatic/use-lunatic.js.map +1 -1
  132. package/lib/utils/search/SearchMinisearch.js +1 -1
  133. package/lib/utils/search/SearchMinisearch.js.map +1 -1
  134. package/lib/utils/search/SuggestersDatabase.d.ts +5 -0
  135. package/lib/utils/search/SuggestersDatabase.js +7 -1
  136. package/lib/utils/search/SuggestersDatabase.js.map +1 -1
  137. package/package.json +1 -1
  138. package/README.fr.md +0 -186
  139. package/lib/use-lunatic/reducer/reduce-handle-change.d.ts +0 -6
  140. package/lib/use-lunatic/reducer/reduce-handle-change.js +0 -20
  141. package/lib/use-lunatic/reducer/reduce-handle-change.js.map +0 -1
@@ -8,7 +8,7 @@ describe('Input', () => {
8
8
  value: 'input',
9
9
  id: 'input',
10
10
  response: { name: 'demo' },
11
- handleChange: mockOnChange,
11
+ handleChanges: mockOnChange,
12
12
  };
13
13
  beforeEach(() => {
14
14
  mockOnChange.mockClear();
@@ -30,7 +30,9 @@ describe('Input', () => {
30
30
  const input = container.querySelector('input[type="text"]');
31
31
  fireEvent.change(input, { target: { value: 'Dupont' } });
32
32
  expect(mockOnChange).toHaveBeenCalledTimes(1);
33
- expect(mockOnChange).toHaveBeenCalledWith(baseProps.response, 'Dupont');
33
+ expect(mockOnChange).toHaveBeenCalledWith([
34
+ { ...baseProps.response, value: 'Dupont' },
35
+ ]);
34
36
  });
35
37
  it('disables input when disabled prop is true', () => {
36
38
  const { container } = render(_jsx(Input, { ...baseProps, disabled: true, errors: undefined }));
@@ -1 +1 @@
1
- {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
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({ handleChange, response, errors, decimals, ...props }: LunaticComponentProps<'InputNumber'>): import("react/jsx-runtime").JSX.Element;
5
- type CustomProps = Omit<LunaticComponentProps<'InputNumber'>, 'response' | 'handleChange' | 'errors'> & {
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({ handleChange, response, errors, decimals, ...props }) {
8
- return (_jsx(CustomInputNumber, { ...props, decimals: decimals ?? 0, onChange: (v) => handleChange(response, v), errors: getComponentErrors(errors, props.id) }));
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,YAAY,EACZ,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,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC1C,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"}
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
- handleChange: mockOnChange,
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, handleChange: mockOnChange }));
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(baseProps.response, 12);
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":"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"}
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, handleChange, getComponents, errors, ...props }: LunaticComponentProps<'Loop'>): import("react/jsx-runtime").JSX.Element | null;
8
- type CustomProps = Omit<LunaticComponentProps<'RosterForLoop' | 'Loop'>, 'response' | 'handleChange' | 'errors' | 'lines' | 'iterations' | 'value' | 'getComponents'> & PropsWithChildren<{
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, handleChange, getComponents, errors, ...props }) {
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
- Object.entries(value).forEach(([k, v]) => {
31
- const newValue = v.filter((_, i) => i < newNbRows);
32
- handleChange({ name: k }, newValue);
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, handleChange, value]);
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":"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"}
1
+ {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,12 @@ import { Declarations } from '../shared/Declarations/Declarations';
6
6
  * Surround a question giving additional context with label / description / declarations
7
7
  */
8
8
  export const Question = ({ components, ...props }) => {
9
- return (_jsx(CustomQuestion, { ...props, children: _jsx(LunaticComponents, { components: components }) }));
9
+ const { errors, disabled, readOnly } = props;
10
+ return (_jsx(CustomQuestion, { ...props, children: _jsx(LunaticComponents, { components: components, componentProps: () => ({
11
+ errors,
12
+ disabled,
13
+ readOnly,
14
+ }) }) }));
10
15
  };
11
16
  export const CustomQuestion = slottableComponent('Question', (props) => {
12
17
  const { id, description, declarations, label, children } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../src/components/Question/Question.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACxB,UAAU,EACV,GAAG,KAAK,EAC2B,EAAE,EAAE;IACvC,OAAO,CACN,KAAC,cAAc,OAAK,KAAK,YACxB,KAAC,iBAAiB,IAAC,UAAU,EAAE,UAAU,GAAI,GAC7B,CACjB,CAAC;AACH,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,UAAU,EACV,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjE,OAAO,CACN,+BACC,kBAAQ,EAAE,EAAE,mBAAmB,EAAE,EAAE,aAClC,uBAAK,KAAK,GAAM,EAChB,YAAG,SAAS,EAAC,qBAAqB,EAAC,EAAE,EAAE,wBAAwB,EAAE,EAAE,YACjE,WAAW,GACT,IACI,EACT,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACD,QAAQ,IACC,CACX,CAAC;AACH,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../src/components/Question/Question.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACxB,UAAU,EACV,GAAG,KAAK,EAC2B,EAAE,EAAE;IACvC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,CACN,KAAC,cAAc,OAAK,KAAK,YACxB,KAAC,iBAAiB,IACjB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtB,MAAM;gBACN,QAAQ;gBACR,QAAQ;aACR,CAAC,GACD,GACc,CACjB,CAAC;AACH,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,UAAU,EACV,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjE,OAAO,CACN,+BACC,kBAAQ,EAAE,EAAE,mBAAmB,EAAE,EAAE,aAClC,uBAAK,KAAK,GAAM,EAChB,YAAG,SAAS,EAAC,qBAAqB,EAAC,EAAE,EAAE,wBAAwB,EAAE,EAAE,YACjE,WAAW,GACT,IACI,EACT,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACD,QAAQ,IACC,CACX,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -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, handleChange, response, label, shortcut, className = 'lunatic-radio-group', disabled, readOnly, description, } = props;
7
- return (_jsx(RadioGroup, { id: id, options: options, value: value, description: description, onSelect: (v) => handleChange(response, v), checkboxStyle: checkboxStyle, errors: getComponentErrors(errors, id), label: label, className: className, shortcut: shortcut, disabled: disabled, readOnly: readOnly }));
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,YAAY,EACZ,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,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC1C,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"}
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"}
@@ -12,7 +12,7 @@ const DEFAULT_MAX_ROWS = 12;
12
12
  * Loop displayed as a table
13
13
  */
14
14
  export const RosterForLoop = (props) => {
15
- const { value: valueMap, lines, errors, handleChange, declarations, header, iterations, id, getComponents, label, ...otherProps // These props will be passed down to the child components
15
+ const { value: valueMap, lines, errors, handleChanges, declarations, header, iterations, id, getComponents, label, ...otherProps // These props will be passed down to the child components
16
16
  } = props;
17
17
  const min = lines?.min ?? DEFAULT_MIN_ROWS;
18
18
  const max = lines?.max ?? DEFAULT_MAX_ROWS;
@@ -28,11 +28,15 @@ export const RosterForLoop = (props) => {
28
28
  }
29
29
  const newNbRows = nbRows - 1;
30
30
  setNbRows(newNbRows);
31
- Object.entries(valueMap).forEach(([k, v]) => {
32
- const newValue = v?.filter((_, i) => i < newNbRows);
33
- handleChange({ name: k }, newValue);
31
+ // Downsize all variables by 1
32
+ const newResponses = Object.entries(valueMap).map(([k, v]) => {
33
+ return {
34
+ name: k,
35
+ value: v?.filter((_, i) => i < newNbRows),
36
+ };
34
37
  });
35
- }, [nbRows, min, valueMap, handleChange]);
38
+ handleChanges(newResponses);
39
+ }, [nbRows, min, valueMap, handleChanges]);
36
40
  if (nbRows === 0) {
37
41
  return null;
38
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
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'] }, handleChange: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 1, max: 3 }, iterations: 2, getComponents: getComponents, executeExpression: () => null }));
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,YAAY,EAAE,YAAY,EAC1B,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
+ {"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, handleChange, disabled, value, label, description, errors, readOnly, response, optionResponses, executeExpression, iteration, arbitrary, arbitraryValue, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
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, handleChange, disabled, value, label, description, errors, readOnly, response, optionResponses = [], executeExpression, iteration, arbitrary, arbitraryValue, }) {
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,42 @@ 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
- handleChange(response, v.id);
44
+ const newResponses = [
45
+ { name: response.name, value: v.id },
46
+ ];
45
47
  if (arbitrary) {
46
- handleChange(arbitrary.response, null);
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
- handleChange({ name: optionResponse.name }, v[optionResponse.attribute]);
56
+ newResponses.push({
57
+ name: optionResponse.name,
58
+ value: v[optionResponse.attribute],
59
+ });
52
60
  }
53
61
  }
54
- onBlur();
62
+ handleChanges(newResponses);
55
63
  return;
56
64
  }
65
+ // Use has selected the arbitrary value
66
+ const newResponses = [
67
+ { name: response.name, value: null },
68
+ ];
57
69
  // User chose an arbitrary option or clear the value
58
70
  if (arbitrary && arbitrary.response) {
59
- handleChange(arbitrary.response, v?.id === OTHER_VALUE ? search : null);
71
+ newResponses.push({
72
+ name: arbitrary.response.name,
73
+ value: v?.id === OTHER_VALUE ? search : null,
74
+ });
60
75
  }
61
- handleChange(response, null);
62
76
  for (const optionResponse of optionResponses) {
63
- handleChange({ name: optionResponse.name }, null);
77
+ newResponses.push({ name: optionResponse.name, value: null });
64
78
  }
79
+ handleChanges(newResponses);
65
80
  onBlur();
66
81
  };
67
82
  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,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,eAAe,GAAG,EAAE,EACpB,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,cAAc,GACsB;IACpC,mDAAmD;IACnD,yCAAyC;IACzC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CACrD,GAAG,EAAE;QACJ,IAAI,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,aAAa,GAAG,eAAe,EAAE,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAC9B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE;YACnD,SAAS;SACT,CAAC,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO;YACN;gBACC,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACZ;SACD,CAAC;IACH,CAAC,CACD,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,CAC5E;QACC,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,CAAC,CAAC,SAAS;QAC3B,eAAe,EAAE,eAAe;KAChC,CACD,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,CAA6B,EAAE,EAAE;QAClD,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,8BAA8B;QAC9B,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;YACnC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,SAAS,EAAE,CAAC;gBACf,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,8BAA8B;YAC9B,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC9C,IAAI,cAAc,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;oBACnC,YAAY,CACX,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAC7B,CAAC,CAAC,cAAc,CAAC,SAAS,CAAkB,CAC5C,CAAC;gBACH,CAAC;YACF,CAAC;YACD,MAAM,EAAE,CAAC;YACT,OAAO;QACR,CAAC;QACD,oDAAoD;QACpD,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACrC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC;QACD,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC9C,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,EAAE,CAAC;IACV,CAAC,CAAC;IAEF,IAAI,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACvB,eAAe,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,WAAW;YACf,YAAY,EAAE,CAAC,CAAC,eAAe;YAC/B,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,QAAQ;SACvB,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACtC,IAAI,KAAK,KAAK,EAAE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACxB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,CACN,KAAC,eAAe,IACf,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,eAAe,GACtB,CACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":"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"}
@@ -4,36 +4,50 @@ 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 [search, setSearch] = useState('');
8
- const { search: db, index: dbIndex } = getSearchForStore(storeName);
9
- const dbIndexRef = useRefSync(dbIndex);
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(db.isIndexed() ? 'success' : 'loading');
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
- dbIndexRef
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
- }, [dbIndexRef]);
29
+ }, [searchIndexRef]);
24
30
  useEffectDebounced(() => {
25
- db.search(search)
31
+ // Do not reset search for empty search
32
+ if (!searchQuery) {
33
+ return;
34
+ }
35
+ store.search
36
+ ?.search(searchQuery)
26
37
  .then((r) => {
27
38
  setOptions(r);
28
39
  setState('success');
29
40
  })
30
41
  .catch(() => setState('error'));
31
- }, [search], 300);
32
- if (search && allowArbitrary && options.length === 0 && state === 'success') {
42
+ }, [searchQuery], 300);
43
+ if (searchQuery &&
44
+ allowArbitrary &&
45
+ options.length === 0 &&
46
+ state !== 'loading') {
33
47
  options = [
34
48
  {
35
49
  id: OTHER_VALUE,
36
- label: search,
50
+ label: searchQuery,
37
51
  value: OTHER_VALUE,
38
52
  },
39
53
  ];
@@ -41,22 +55,19 @@ export function useSuggestions({ storeName, selectedOptions, allowArbitrary, })
41
55
  // Since the underlying implementation of onFocus / onBlur can be wrong, ensure we don't call focus / blur handler multiple times
42
56
  const [isFocused, setFocused] = useState(false);
43
57
  return {
44
- search,
58
+ search: searchQuery,
45
59
  setSearch: (s) => {
46
- if (state === 'error') {
47
- return;
48
- }
49
60
  if (s.length > 0 && !isFocused) {
50
61
  setFocused(true);
51
62
  }
52
63
  // setState('loading'); // Current implementation being sync, we won't need to show a "loading" state
53
- setSearch(s);
64
+ setSearchQuery(s);
54
65
  },
55
66
  state,
56
67
  options: isFocused ? options : selectedOptions,
57
68
  onBlur: () => {
58
69
  setFocused(false);
59
- setSearch('');
70
+ setSearchQuery('');
60
71
  // Prevent extra calls
61
72
  if (!isFocused) {
62
73
  return;
@@ -66,7 +77,7 @@ export function useSuggestions({ storeName, selectedOptions, allowArbitrary, })
66
77
  onFocus: () => {
67
78
  if (!isFocused) {
68
79
  setFocused(true);
69
- setSearch(selectedOptions[0]?.label ?? '');
80
+ setSearchQuery(selectedOptions[0]?.label ?? '');
70
81
  }
71
82
  },
72
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSuggestions.js","sourceRoot":"","sources":["../../../src/components/Suggester/useSuggestions.ts"],"names":[],"mappings":"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"}
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' | 'handleChange' | 'errors' | 'value'> & {
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({ handleChange, response, errors, value, statusLabel, ...props }) {
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: () => handleChange(response, !checked), errors: getComponentErrors(errors, props.id) }));
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,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,EACX,GAAG,KAAK,EACyB;IACjC,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC;IAC/B,OAAO,CACN,KAAC,YAAY,OACR,KAAK,EACT,WAAW,EAAE,WAAW,IAAI,YAAY,EACxC,OAAO,EAAE,KAAK,IAAI,KAAK,EACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAChD,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAWD,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAC7C,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,QAAQ,EACR,OAAO,EACP,WAAW,GAAG,YAAY,EAC1B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;IAC3D,MAAM,OAAO,GAAG,wBAAwB,EAAE,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,CAAC,CAAgC,EAAE,EAAE;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACtB,QAAQ,EAAE,CAAC;QACZ,CAAC;IACF,CAAC,CAAC;IACF,OAAO,CACN,8BACC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,YAC7B,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,eAAK,SAAS,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,aACrC,cACC,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE;4BAC7C,OAAO,EAAE,CAAC,OAAO;yBACjB,CAAC,YAED,UAAU,GACN,EACN,cACC,IAAI,EAAC,QAAQ,kBACC,OAAO,kBACP,CAAC,CAAC,MAAM,EACtB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,UAAU,CAAC,0BAA0B,EAAE;4BACjD,QAAQ;4BACR,OAAO;yBACP,CAAC,EACF,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,aAAa,qBACP,OAAO,YAExB,cAAK,SAAS,EAAC,uBAAuB,GAAO,GACxC,EACN,cAAK,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,YAC7D,SAAS,GACL,IACD,EACN,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IACjC,CACH,CAAC;AACH,CAAC,CACD,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/components/Switch/Switch.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { LunaticComponentProps } from '../type';
3
+ export declare function Text({ label }: LunaticComponentProps<'Text'>): import("react").ReactNode;
@@ -0,0 +1,4 @@
1
+ export function Text({ label }) {
2
+ return label;
3
+ }
4
+ //# sourceMappingURL=Text.js.map
@@ -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({ handleChange, response, errors, ...props }: LunaticComponentProps<'Textarea'>): import("react/jsx-runtime").JSX.Element;
5
- type CustomProps = Omit<LunaticComponentProps<'Textarea'>, 'response' | 'handleChange' | 'errors'> & {
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({ handleChange, response, errors, ...props }) {
7
- return (_jsx(CustomTextarea, { ...props, onChange: (v) => handleChange(response, v), errors: getComponentErrors(errors, props.id) }));
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,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EAC2B;IACnC,OAAO,CACN,KAAC,cAAc,OACV,KAAK,EACT,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC1C,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
+ {"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"}