@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.
Files changed (130) hide show
  1. package/README.fr.md +15 -15
  2. package/README.md +13 -13
  3. package/lib/components/CheckboxBoolean/CheckboxBoolean.d.ts +2 -2
  4. package/lib/components/CheckboxBoolean/CheckboxBoolean.js +7 -2
  5. package/lib/components/CheckboxBoolean/CheckboxBoolean.js.map +1 -1
  6. package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js +7 -7
  7. package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js.map +1 -1
  8. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  9. package/lib/components/CheckboxGroup/CheckboxGroup.js +3 -3
  10. package/lib/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  11. package/lib/components/CheckboxGroup/CustomCheckboxGroup.d.ts +2 -0
  12. package/lib/components/CheckboxGroup/CustomCheckboxGroup.js +2 -2
  13. package/lib/components/CheckboxGroup/CustomCheckboxGroup.js.map +1 -1
  14. package/lib/components/CheckboxOne/CheckboxOne.d.ts +1 -1
  15. package/lib/components/CheckboxOne/CheckboxOne.js +2 -2
  16. package/lib/components/CheckboxOne/CheckboxOne.js.map +1 -1
  17. package/lib/components/CheckboxOne/CheckboxOne.spec.js +5 -3
  18. package/lib/components/CheckboxOne/CheckboxOne.spec.js.map +1 -1
  19. package/lib/components/Datepicker/Datepicker.d.ts +2 -2
  20. package/lib/components/Datepicker/Datepicker.js +2 -2
  21. package/lib/components/Datepicker/Datepicker.js.map +1 -1
  22. package/lib/components/Datepicker/Datepicker.spec.js +28 -9
  23. package/lib/components/Datepicker/Datepicker.spec.js.map +1 -1
  24. package/lib/components/Dropdown/Dropdown.d.ts +2 -2
  25. package/lib/components/Dropdown/Dropdown.js +2 -2
  26. package/lib/components/Dropdown/Dropdown.js.map +1 -1
  27. package/lib/components/Dropdown/Dropdown.spec.js +1 -1
  28. package/lib/components/Dropdown/Dropdown.spec.js.map +1 -1
  29. package/lib/components/Duration/Duration.d.ts +2 -2
  30. package/lib/components/Duration/Duration.js +2 -2
  31. package/lib/components/Duration/Duration.js.map +1 -1
  32. package/lib/components/Input/Input.d.ts +2 -2
  33. package/lib/components/Input/Input.js +2 -2
  34. package/lib/components/Input/Input.js.map +1 -1
  35. package/lib/components/Input/Input.spec.js +4 -2
  36. package/lib/components/Input/Input.spec.js.map +1 -1
  37. package/lib/components/InputNumber/InputNumber.d.ts +2 -2
  38. package/lib/components/InputNumber/InputNumber.js +2 -2
  39. package/lib/components/InputNumber/InputNumber.js.map +1 -1
  40. package/lib/components/InputNumber/InputNumber.spec.js +8 -3
  41. package/lib/components/InputNumber/InputNumber.spec.js.map +1 -1
  42. package/lib/components/Loop/Loop.d.ts +2 -2
  43. package/lib/components/Loop/Loop.js +9 -5
  44. package/lib/components/Loop/Loop.js.map +1 -1
  45. package/lib/components/Radio/Radio.js +2 -2
  46. package/lib/components/Radio/Radio.js.map +1 -1
  47. package/lib/components/RosterForLoop/RosterForLoop.js +10 -5
  48. package/lib/components/RosterForLoop/RosterForLoop.js.map +1 -1
  49. package/lib/components/RosterForLoop/RosterForLoop.spec.js +1 -1
  50. package/lib/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
  51. package/lib/components/Suggester/Suggester.d.ts +1 -1
  52. package/lib/components/Suggester/Suggester.js +24 -8
  53. package/lib/components/Suggester/Suggester.js.map +1 -1
  54. package/lib/components/Suggester/useSuggestions.js +25 -18
  55. package/lib/components/Suggester/useSuggestions.js.map +1 -1
  56. package/lib/components/Switch/Switch.d.ts +1 -1
  57. package/lib/components/Switch/Switch.js +2 -2
  58. package/lib/components/Switch/Switch.js.map +1 -1
  59. package/lib/components/Text/Text.d.ts +3 -0
  60. package/lib/components/Text/Text.js +4 -0
  61. package/lib/components/Text/Text.js.map +1 -0
  62. package/lib/components/Textarea/Textarea.d.ts +2 -2
  63. package/lib/components/Textarea/Textarea.js +2 -2
  64. package/lib/components/Textarea/Textarea.js.map +1 -1
  65. package/lib/components/Textarea/Textarea.spec.js +1 -1
  66. package/lib/components/Textarea/Textarea.spec.js.map +1 -1
  67. package/lib/components/library.d.ts +4 -2
  68. package/lib/components/library.js +2 -0
  69. package/lib/components/library.js.map +1 -1
  70. package/lib/components/shared/Checkbox/CheckboxOption.d.ts +2 -1
  71. package/lib/components/shared/Checkbox/CheckboxOption.js +14 -18
  72. package/lib/components/shared/Checkbox/CheckboxOption.js.map +1 -1
  73. package/lib/components/shared/ComponentWrapper.d.ts +2 -3
  74. package/lib/components/shared/ComponentWrapper.js +2 -2
  75. package/lib/components/shared/ComponentWrapper.js.map +1 -1
  76. package/lib/components/shared/Icons/checkbox-disabled-icon.d.ts +2 -0
  77. package/lib/components/shared/Icons/checkbox-disabled-icon.js +7 -0
  78. package/lib/components/shared/Icons/checkbox-disabled-icon.js.map +1 -0
  79. package/lib/components/shared/Missing/Missing.d.ts +2 -2
  80. package/lib/components/shared/Missing/Missing.js +2 -2
  81. package/lib/components/shared/Missing/Missing.js.map +1 -1
  82. package/lib/components/shared/Missing/Missing.spec.js +13 -9
  83. package/lib/components/shared/Missing/Missing.spec.js.map +1 -1
  84. package/lib/components/shared/Radio/RadioOption.js +20 -39
  85. package/lib/components/shared/Radio/RadioOption.js.map +1 -1
  86. package/lib/components/shared/Radio/RadioOption.spec.js +4 -4
  87. package/lib/components/shared/Radio/RadioOption.spec.js.map +1 -1
  88. package/lib/components/type.d.ts +6 -8
  89. package/lib/index.d.ts +1 -1
  90. package/lib/main.css +77 -26
  91. package/lib/main.css.map +1 -1
  92. package/lib/use-lunatic/actions.d.ts +13 -11
  93. package/lib/use-lunatic/actions.js +10 -7
  94. package/lib/use-lunatic/actions.js.map +1 -1
  95. package/lib/use-lunatic/commons/compile-controls.js +1 -1
  96. package/lib/use-lunatic/commons/compile-controls.js.map +1 -1
  97. package/lib/use-lunatic/commons/execute-condition-filter.js +1 -2
  98. package/lib/use-lunatic/commons/execute-condition-filter.js.map +1 -1
  99. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +3 -1
  100. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +9 -0
  101. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  102. package/lib/use-lunatic/commons/fill-components/fill-components.d.ts +2 -2
  103. package/lib/use-lunatic/commons/fill-components/fill-components.js +1 -1
  104. package/lib/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  105. package/lib/use-lunatic/hooks/use-page-has-response.js +2 -1
  106. package/lib/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  107. package/lib/use-lunatic/hooks/useOverview.js +5 -3
  108. package/lib/use-lunatic/hooks/useOverview.js.map +1 -1
  109. package/lib/use-lunatic/props/propComponentType.js +35 -16
  110. package/lib/use-lunatic/props/propComponentType.js.map +1 -1
  111. package/lib/use-lunatic/reducer/controls/check-roundabout-control.js +2 -8
  112. package/lib/use-lunatic/reducer/controls/check-roundabout-control.js.map +1 -1
  113. package/lib/use-lunatic/reducer/reduce-go-to-page.js +1 -1
  114. package/lib/use-lunatic/reducer/reduce-go-to-page.js.map +1 -1
  115. package/lib/use-lunatic/reducer/reduce-handle-changes.d.ts +6 -0
  116. package/lib/use-lunatic/reducer/reduce-handle-changes.js +24 -0
  117. package/lib/use-lunatic/reducer/reduce-handle-changes.js.map +1 -0
  118. package/lib/use-lunatic/reducer/reducer.js +3 -3
  119. package/lib/use-lunatic/reducer/reducer.js.map +1 -1
  120. package/lib/use-lunatic/type.d.ts +8 -8
  121. package/lib/use-lunatic/use-lunatic.d.ts +4 -4
  122. package/lib/use-lunatic/use-lunatic.js +9 -9
  123. package/lib/use-lunatic/use-lunatic.js.map +1 -1
  124. package/lib/utils/search/SuggestersDatabase.d.ts +5 -0
  125. package/lib/utils/search/SuggestersDatabase.js +7 -1
  126. package/lib/utils/search/SuggestersDatabase.js.map +1 -1
  127. package/package.json +1 -1
  128. package/lib/use-lunatic/reducer/reduce-handle-change.d.ts +0 -6
  129. package/lib/use-lunatic/reducer/reduce-handle-change.js +0 -20
  130. package/lib/use-lunatic/reducer/reduce-handle-change.js.map +0 -1
@@ -3,6 +3,7 @@ import { Datepicker } from './Datepicker/Datepicker';
3
3
  import { CheckboxGroup } from './CheckboxGroup/CheckboxGroup';
4
4
  import { CheckboxBoolean } from './CheckboxBoolean/CheckboxBoolean';
5
5
  import { Input } from './Input/Input';
6
+ import { Text } from './Text/Text';
6
7
  import { Textarea } from './Textarea/Textarea';
7
8
  import type { LunaticComponentProps } from './type';
8
9
  import type { ComponentType } from 'react';
@@ -28,7 +29,7 @@ export declare const library: {
28
29
  };
29
30
  iterations: number;
30
31
  getComponents: (n: number) => LunaticComponentProps<keyof import("./type").ComponentPropsByType>[];
31
- executeExpression: <T extends unknown = unknown>(expression: unknown, args?: {
32
+ executeExpression: <T extends unknown = unknown>(expression: import("../use-lunatic/type-source").LabelType, args?: {
32
33
  iteration?: number | number[] | undefined;
33
34
  bindingDependencies?: string[] | undefined;
34
35
  deps?: string[] | undefined;
@@ -61,6 +62,7 @@ export declare const library: {
61
62
  };
62
63
  componentType?: "Radio" | undefined;
63
64
  }>;
65
+ Text: typeof Text;
64
66
  Input: typeof Input;
65
67
  Duration: typeof Duration;
66
68
  Textarea: typeof Textarea;
@@ -86,7 +88,7 @@ export declare const library: {
86
88
  PairwiseLinks: ({ declarations, xAxisIterations, yAxisIterations, id, getComponents, }: Omit<import("./type").LunaticBaseProps<unknown>, "value"> & {
87
89
  components: import("..").LunaticComponentDefinition[];
88
90
  features?: ("VTL" | "MD")[] | undefined;
89
- executeExpression: <T extends unknown = unknown>(expression: unknown, args?: {
91
+ executeExpression: <T extends unknown = unknown>(expression: import("../use-lunatic/type-source").LabelType, args?: {
90
92
  iteration?: number | number[] | undefined;
91
93
  bindingDependencies?: string[] | undefined;
92
94
  deps?: string[] | undefined;
@@ -7,6 +7,7 @@ import { CheckboxGroup } from './CheckboxGroup/CheckboxGroup';
7
7
  import { CheckboxBoolean } from './CheckboxBoolean/CheckboxBoolean';
8
8
  import { Radio } from './Radio/Radio';
9
9
  import { Input } from './Input/Input';
10
+ import { Text } from './Text/Text';
10
11
  import { Textarea } from './Textarea/Textarea';
11
12
  import { Switch } from './Switch/Switch';
12
13
  import { FilterDescription } from './FilterDescription/FilterDescription';
@@ -33,6 +34,7 @@ export const library = {
33
34
  CheckboxOne: CheckboxOne,
34
35
  CheckboxBoolean: CheckboxBoolean,
35
36
  Radio: Radio,
37
+ Text: Text,
36
38
  Input: Input,
37
39
  Duration: Duration,
38
40
  Textarea: Textarea,
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/components/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,kCAAkC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;IAC5B,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,eAAe;IAChC,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,iBAAiB,EAAE,iBAAiB;IACpC,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;CAKhB,CAAC"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/components/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,kCAAkC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;IAC5B,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,eAAe;IAChC,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,iBAAiB,EAAE,iBAAiB;IACpC,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;CAKhB,CAAC"}
@@ -2,10 +2,11 @@ import { type ReactNode } from 'react';
2
2
  import type { LunaticBaseProps } from '../../type';
3
3
  export type CheckboxOptionProps = {
4
4
  disabled?: boolean;
5
+ readOnly?: boolean;
5
6
  checked?: boolean;
6
7
  id?: string;
7
8
  onClick: (b: boolean) => void;
8
- label: ReactNode;
9
+ label?: ReactNode;
9
10
  description?: LunaticBaseProps['description'];
10
11
  codeModality?: string;
11
12
  shortcut?: boolean;
@@ -1,31 +1,27 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useCallback } from 'react';
3
- import classnames from 'classnames';
4
- import { CheckboxCheckedIcon, CheckboxUncheckedIcon } from '../Icons';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import {} from 'react';
5
3
  import { slottableComponent } from '../HOC/slottableComponent';
6
4
  import { Label } from '../Label/Label';
7
5
  import { useKeyboardKey } from '../../../hooks/useKeyboardKey';
8
- function LunaticCheckboxOption({ disabled, checked, id, onClick, label, description, codeModality, shortcut, invalid, }) {
9
- const onClickOption = useCallback(function () {
10
- onClick(!checked);
11
- }, [checked, onClick]);
12
- const handleKeyDown = useCallback(function (e) {
13
- const { code } = e;
14
- if (code === 'Space') {
6
+ function LunaticCheckboxOption({ disabled, readOnly, checked, id, onClick, label, description, codeModality, shortcut, invalid, }) {
7
+ const isEnabled = !readOnly && !disabled;
8
+ const hasKeyboardShortcut = Boolean(shortcut && codeModality && isEnabled);
9
+ const onClickOption = () => {
10
+ if (isEnabled) {
11
+ onClick(!checked);
12
+ }
13
+ };
14
+ const handleKeyDown = (e) => {
15
+ if (e.code === 'Space') {
15
16
  onClickOption();
16
17
  }
17
- }, [onClickOption]);
18
- const Icon = checked ? CheckboxCheckedIcon : CheckboxUncheckedIcon;
18
+ };
19
19
  const labelId = `label-${id}`;
20
- const hasKeyboardShortcut = Boolean(shortcut && codeModality);
21
20
  useKeyboardKey(codeModality ? [codeModality] : [], (e) => {
22
21
  e.preventDefault();
23
22
  onClickOption();
24
23
  }, hasKeyboardShortcut);
25
- return (_jsx(_Fragment, { children: _jsx("div", { className: classnames('checkbox-modality', 'checkbox-modality-block', {
26
- checked,
27
- disabled,
28
- }), children: _jsxs("span", { id: id, role: "checkbox", "aria-invalid": invalid, className: `lunatic-input-checkbox`, "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [_jsx(Icon, {}), _jsxs(Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), label] })] }) }) }));
24
+ return (_jsxs("div", { id: id, role: "checkbox", "aria-invalid": invalid, "aria-disabled": disabled, "aria-readonly": readOnly, className: "lunatic-input-checkbox", "aria-checked": checked, tabIndex: 0, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelId, children: [_jsx("div", { className: "lunatic-input-checkbox__icon", children: checked && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 11", children: _jsx("path", { d: "M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z", fill: "currentColor" }) })) }), _jsxs(Label, { id: labelId, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), ' ', label] })] }));
29
25
  }
30
26
  export const CheckboxOption = slottableComponent('CheckboxOption', LunaticCheckboxOption);
31
27
  //# sourceMappingURL=CheckboxOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Checkbox/CheckboxOption.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAc/D,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,aAAa,GAAG,WAAW,CAChC;QACC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAChC,UAAU,CAAmB;QAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,EACD,CAAC,aAAa,CAAC,CACf,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACnE,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;IAC9D,cAAc,CACb,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;IACjB,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,4BACC,cACC,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,yBAAyB,EAAE;gBACrE,OAAO;gBACP,QAAQ;aACR,CAAC,YAEF,gBACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,EACrB,SAAS,EAAE,wBAAwB,kBACrB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,KAAC,IAAI,KAAG,EACR,MAAC,KAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,eAAM,SAAS,EAAC,eAAe,YAC7B,YAAY,CAAC,WAAW,EAAE,GACrB,CACP,EACA,KAAK,IACC,IACF,GACF,GACJ,CACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
1
+ {"version":3,"file":"CheckboxOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Checkbox/CheckboxOption.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6C,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAe/D,SAAS,qBAAqB,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,GACc;IACrB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAyC,CAAC,CAAC,EAAE,EAAE;QACjE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAE9B,cAAc,CACb,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAClC,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;IACjB,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,eACC,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,kBACD,OAAO,mBACN,QAAQ,mBACR,QAAQ,EACvB,SAAS,EAAC,wBAAwB,kBACpB,OAAO,EACrB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,qBACP,OAAO,aAExB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,OAAO,IAAI,CACX,cACC,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,eACC,CAAC,EAAC,2CAA2C,EAC7C,IAAI,EAAC,cAAc,GAClB,GACG,CACN,GACI,EACN,MAAC,KAAK,IAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,aACvD,YAAY,IAAI,CAChB,eAAM,SAAS,EAAC,eAAe,YAAE,YAAY,CAAC,WAAW,EAAE,GAAQ,CACnE,EAAE,GAAG,EACL,KAAK,IACC,IACH,CACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC/C,gBAAgB,EAChB,qBAAqB,CACrB,CAAC"}
@@ -1,11 +1,10 @@
1
1
  import { type PropsWithChildren } from 'react';
2
2
  import type { LunaticBaseProps } from '../type';
3
+ import type { LunaticChangesHandler } from '../../use-lunatic/type';
3
4
  type Props = PropsWithChildren<{
4
5
  componentType?: string;
5
6
  paginatedLoop?: boolean;
6
- handleChange?: (response: {
7
- name: string;
8
- }, value: any, args?: Record<string, unknown>) => void;
7
+ handleChanges?: LunaticChangesHandler;
9
8
  }> & Pick<LunaticBaseProps, 'declarations' | 'management' | 'id' | 'label' | 'missingResponse' | 'preferences' | 'value' | 'missing' | 'disabled'>;
10
9
  /**
11
10
  * Wrapper around Lunatic components, handle Declarations and missing buttons
@@ -20,10 +20,10 @@ import { voidFunction } from '../../utils/function';
20
20
  * |__________________________|
21
21
  */
22
22
  export function ComponentWrapper(props) {
23
- const { id, declarations, children, management, handleChange } = props;
23
+ const { id, declarations, children, management, handleChanges } = props;
24
24
  return (_jsxs(_Fragment, { children: [_jsx(Declarations, { type: "BEFORE_QUESTION_TEXT", declarations: declarations, id: id }), _jsxs("div", { className: "field-container", children: [_jsx("div", { className: classnames({
25
25
  'field-with-tooltip': management,
26
26
  field: !management,
27
- }), children: children }), management && _jsx("div", { className: "tooltip" })] }), _jsx(Declarations, { type: "DETACHABLE", declarations: declarations, id: id }), _jsx(Missing, { ...props, handleChange: handleChange ?? voidFunction })] }));
27
+ }), children: children }), management && _jsx("div", { className: "tooltip" })] }), _jsx(Declarations, { type: "DETACHABLE", declarations: declarations, id: id }), _jsx(Missing, { ...props, handleChanges: handleChanges ?? voidFunction })] }));
28
28
  }
29
29
  //# sourceMappingURL=ComponentWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentWrapper.js","sourceRoot":"","sources":["../../../src/components/shared/ComponentWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAwBpD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAY;IAC5C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACvE,OAAO,CACN,8BACC,KAAC,YAAY,IACZ,IAAI,EAAC,sBAAsB,EAC3B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,eAAK,SAAS,EAAC,iBAAiB,aAC/B,cACC,SAAS,EAAE,UAAU,CAAC;4BACrB,oBAAoB,EAAE,UAAU;4BAChC,KAAK,EAAE,CAAC,UAAU;yBAClB,CAAC,YAED,QAAQ,GACJ,EACL,UAAU,IAAI,cAAK,SAAS,EAAC,SAAS,GAAG,IACrC,EACN,KAAC,YAAY,IAAC,IAAI,EAAC,YAAY,EAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,GAAI,EACtE,KAAC,OAAO,OAAK,KAAK,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,GAAI,IAChE,CACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ComponentWrapper.js","sourceRoot":"","sources":["../../../src/components/shared/ComponentWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAqBpD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAY;IAC5C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACxE,OAAO,CACN,8BACC,KAAC,YAAY,IACZ,IAAI,EAAC,sBAAsB,EAC3B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,eAAK,SAAS,EAAC,iBAAiB,aAC/B,cACC,SAAS,EAAE,UAAU,CAAC;4BACrB,oBAAoB,EAAE,UAAU;4BAChC,KAAK,EAAE,CAAC,UAAU;yBAClB,CAAC,YAED,QAAQ,GACJ,EACL,UAAU,IAAI,cAAK,SAAS,EAAC,SAAS,GAAG,IACrC,EACN,KAAC,YAAY,IAAC,IAAI,EAAC,YAAY,EAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,GAAI,EACtE,KAAC,OAAO,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,IAAI,YAAY,GAAI,IAClE,CACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type IconProps } from './icon-props';
2
+ export declare function CheckboxCheckedIcon({ className, width, height, }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { LunaticIcon } from './lunatic-icon';
3
+ import {} from './icon-props';
4
+ export function CheckboxCheckedIcon({ className, width = 32, height = 32, }) {
5
+ return (_jsx(LunaticIcon, { className: className, children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: width, height: height, x: "0", y: "0", enableBackground: "new 0 0 32 32", version: "1.1", viewBox: "0 0 32 32", xmlSpace: "preserve", children: [_jsx("path", { d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" })] }) }));
6
+ }
7
+ //# sourceMappingURL=checkbox-disabled-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-disabled-icon.js","sourceRoot":"","sources":["../../../../src/components/shared/Icons/checkbox-disabled-icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAkB,MAAM,cAAc,CAAC;AAE9C,MAAM,UAAU,mBAAmB,CAAC,EACnC,SAAS,EACT,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,GACA;IACX,OAAO,CACN,KAAC,WAAW,IAAC,SAAS,EAAE,SAAS,YAChC,eACC,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,gBAAgB,EAAC,eAAe,EAChC,OAAO,EAAC,KAAK,EACb,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAC,UAAU,aAEnB,eAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,EACtC,eAAM,CAAC,EAAC,qIAAqI,GAAG,IAC3I,GACO,CACd,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { useLunaticMissing } from '../../../use-lunatic/lunatic-context';
2
2
  import type { LunaticBaseProps } from '../../type';
3
3
  type Props = {
4
- handleChange: LunaticBaseProps<any>['handleChange'];
4
+ handleChanges: LunaticBaseProps<any>['handleChanges'];
5
5
  componentType?: string;
6
6
  paginatedLoop?: boolean;
7
7
  disabled?: boolean;
@@ -9,5 +9,5 @@ type Props = {
9
9
  };
10
10
  type PropsFromContext = Pick<ReturnType<typeof useLunaticMissing>, 'shortcut' | 'missingStrategy' | 'dontKnowButton' | 'refusedButton' | 'missingShortcut'>;
11
11
  export declare const Missing: (props: Props) => import("react/jsx-runtime").JSX.Element | null;
12
- export declare const MissingPure: (props: Pick<Props, 'handleChange' | 'missingResponse' | 'disabled'> & PropsFromContext) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const MissingPure: (props: Pick<Props, 'handleChanges' | 'missingResponse' | 'disabled'> & PropsFromContext) => import("react/jsx-runtime").JSX.Element;
13
13
  export default Missing;
@@ -15,10 +15,10 @@ export const Missing = (props) => {
15
15
  return _jsx(MissingPure, { ...props, ...propsContext });
16
16
  };
17
17
  export const MissingPure = (props) => {
18
- const { missingResponse, handleChange, missingStrategy, shortcut, missingShortcut, dontKnowButton, refusedButton, disabled, } = props;
18
+ const { missingResponse, handleChanges, missingStrategy, shortcut, missingShortcut, dontKnowButton, refusedButton, disabled, } = props;
19
19
  const value = missingResponse?.value;
20
20
  const onClick = (value) => {
21
- handleChange(missingResponse ?? { name: 'UNKNOWN' }, value);
21
+ handleChanges([{ name: missingResponse?.name ?? 'UNKNOWN', value }]);
22
22
  };
23
23
  const handleMissingStrategy = useCallback(() => {
24
24
  if (missingStrategy)
@@ -1 +1 @@
1
- {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAmB/D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;IACvC,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAC,WAAW,OAAK,KAAK,KAAM,YAAY,GAAI,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,KACiB,EAChB,EAAE;IACH,MAAM,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,GACR,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,eAAe,EAAE,KAAK,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAE,EAAE;QACtC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,eAAe;YAAE,eAAe,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,qBAAqB,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,qBAAqB,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAClC,QAAQ;QACP,CAAC,QAAQ;QACT,eAAe;QACf,eAAe,CAAC,QAAQ;QACxB,eAAe,CAAC,OAAO,CACxB,CAAC;IAEF,cAAc,CACb,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAC9B,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE;YACjE,SAAS,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE;YAChE,SAAS,EAAE,CAAC;IACd,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,eAAK,SAAS,EAAC,iBAAiB,aAC/B,eACC,SAAS,EAAE,iBACV,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAC5B,qBAAqB,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,YAEpD,KAAC,MAAM,IACN,QAAQ,EAAE,KAAK,KAAK,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,SAAS,GACjB,GACI,EACP,eACC,SAAS,EAAE,iBACV,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAC5B,qBAAqB,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,YAEpD,KAAC,MAAM,IACN,QAAQ,EAAE,KAAK,KAAK,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,SAAS,GACjB,GACI,IACF,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -3,7 +3,7 @@ import { render, fireEvent } from '@testing-library/react';
3
3
  import { MissingPure } from './Missing';
4
4
  import { describe, it, expect, vi, afterEach } from 'vitest';
5
5
  describe('Missing', () => {
6
- const handleChange = vi.fn();
6
+ const handleChanges = vi.fn();
7
7
  const missingResponse = {
8
8
  name: 'Demo',
9
9
  value: '',
@@ -14,28 +14,32 @@ describe('Missing', () => {
14
14
  vi.clearAllMocks();
15
15
  });
16
16
  it('should render the "Don\'t Know" and "Refused" buttons', () => {
17
- const { getByText } = render(_jsx(MissingPure, { dontKnowButton: dontKnowButton, refusedButton: refusedButton, missingResponse: missingResponse, handleChange: handleChange, missingShortcut: { dontKnow: '', refused: '' }, missingStrategy: () => { }, shortcut: false }));
17
+ const { getByText } = render(_jsx(MissingPure, { dontKnowButton: dontKnowButton, refusedButton: refusedButton, missingResponse: missingResponse, handleChanges: handleChanges, missingShortcut: { dontKnow: '', refused: '' }, missingStrategy: () => { }, shortcut: false }));
18
18
  const dontKnow = getByText(dontKnowButton);
19
19
  const refused = getByText(refusedButton);
20
20
  expect(dontKnow).toBeInTheDocument();
21
21
  expect(refused).toBeInTheDocument();
22
22
  });
23
- it('should call the handleChange function when a button is clicked', () => {
24
- const { getByText } = render(_jsx(MissingPure, { dontKnowButton: dontKnowButton, refusedButton: refusedButton, missingResponse: missingResponse, handleChange: handleChange, missingShortcut: { dontKnow: '', refused: '' }, missingStrategy: () => { }, shortcut: false }));
23
+ it('should call the handleChanges function when a button is clicked', () => {
24
+ const { getByText } = render(_jsx(MissingPure, { dontKnowButton: dontKnowButton, refusedButton: refusedButton, missingResponse: missingResponse, handleChanges: handleChanges, missingShortcut: { dontKnow: '', refused: '' }, missingStrategy: () => { }, shortcut: false }));
25
25
  const dontKnow = getByText(dontKnowButton);
26
26
  const refused = getByText(refusedButton);
27
27
  fireEvent.click(dontKnow);
28
28
  fireEvent.click(refused);
29
- expect(handleChange).toHaveBeenCalledTimes(2);
30
- expect(handleChange).toHaveBeenCalledWith(missingResponse, 'DK');
31
- expect(handleChange).toHaveBeenCalledWith(missingResponse, 'RF');
29
+ expect(handleChanges).toHaveBeenCalledTimes(2);
30
+ expect(handleChanges).toHaveBeenCalledWith([
31
+ { ...missingResponse, value: 'DK' },
32
+ ]);
33
+ expect(handleChanges).toHaveBeenCalledWith([
34
+ { ...missingResponse, value: 'RF' },
35
+ ]);
32
36
  });
33
37
  it('should not handle keyboard shortcuts when a shortcut is not provided', () => {
34
- render(_jsx(MissingPure, { dontKnowButton: dontKnowButton, refusedButton: refusedButton, missingResponse: missingResponse, handleChange: handleChange, missingShortcut: { dontKnow: '', refused: '' }, missingStrategy: () => { }, shortcut: false }));
38
+ render(_jsx(MissingPure, { dontKnowButton: dontKnowButton, refusedButton: refusedButton, missingResponse: missingResponse, handleChanges: handleChanges, missingShortcut: { dontKnow: '', refused: '' }, missingStrategy: () => { }, shortcut: false }));
35
39
  const body = document.body;
36
40
  fireEvent.click(body, { key: 'd' });
37
41
  fireEvent.click(body, { key: 'r' });
38
- expect(handleChange).toHaveBeenCalledTimes(0);
42
+ expect(handleChanges).toHaveBeenCalledTimes(0);
39
43
  });
40
44
  });
41
45
  //# sourceMappingURL=Missing.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Missing.spec.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Missing.spec.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,56 +1,37 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /* eslint-disable jsx-a11y/role-supports-aria-props */
3
- import classnames from 'classnames';
4
- import { useCallback, useEffect, useRef } from 'react';
5
- import { voidFunction } from '../../../utils/function';
6
- import { Label } from '../Label/Label';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, } from 'react';
7
3
  import { slottableComponent } from '../HOC/slottableComponent';
8
- import { CheckboxCheckedIcon, CheckboxUncheckedIcon, RadioCheckedIcon, RadioUncheckedIcon, } from '../Icons';
9
4
  import { useKeyboardKey } from '../../../hooks/useKeyboardKey';
10
- function LunaticRadioOption({ checked, onClick = voidFunction, value = null, id, disabled, onKeyDown = voidFunction, index = -1, labelledBy, checkboxStyle, label, description, shortcut, codeModality, readOnly, invalid, }) {
11
- const spanEl = useRef(null);
12
- const Icon = getIcon(checked, checkboxStyle);
5
+ import { Label } from '../Label/Label';
6
+ import classnames from 'classnames';
7
+ function LunaticRadioOption({ checked, disabled, readOnly, checkboxStyle, onClick, value, onKeyDown, index, shortcut, codeModality, invalid, id, labelledBy, description, label, }) {
8
+ const divEl = useRef(null);
13
9
  const tabIndex = checked ? 0 : -1;
14
- const onClickOption = useCallback(function () {
15
- if (disabled || readOnly) {
10
+ const isEnabled = !disabled && !readOnly;
11
+ const isRadio = !checkboxStyle;
12
+ const onClickOption = () => {
13
+ if (!isEnabled || !onClick) {
16
14
  return;
17
15
  }
18
16
  // on checkboxStyle, clicking on checked value unchecks it, so it acts as if empty answer was clicked
19
- checkboxStyle && checked ? onClick(null) : onClick(value);
20
- }, [value, onClick, checked, checkboxStyle, disabled, readOnly]);
21
- const handleKeyDown = useCallback(function (e) {
22
- const { key } = e;
23
- onKeyDown({ key, index });
24
- spanEl.current?.blur();
25
- }, [onKeyDown, index, spanEl]);
17
+ checkboxStyle && checked ? onClick(null) : onClick(value ?? null);
18
+ };
19
+ const handleKeyDown = (e) => {
20
+ onKeyDown?.({ key: e.key, index: index ?? -1 });
21
+ divEl.current?.blur();
22
+ };
26
23
  useEffect(function () {
27
- const { current } = spanEl;
24
+ const { current } = divEl;
28
25
  if (current && checked) {
29
26
  current.focus();
30
27
  }
31
- }, [checked, spanEl, value]);
32
- const hasKeyboardShortcut = Boolean(shortcut && codeModality);
28
+ }, [checked, divEl, value]);
29
+ const hasKeyboardShortcut = Boolean(shortcut && codeModality && isEnabled);
33
30
  useKeyboardKey(codeModality ? [codeModality] : [], (e) => {
34
31
  e.preventDefault();
35
32
  onClickOption();
36
33
  }, hasKeyboardShortcut);
37
- return (_jsx(_Fragment, { children: _jsx("div", { className: "lunatic-radio-group-option", children: _jsx("div", { className: classnames('radio-modality', 'radio-modality-block', {
38
- checked,
39
- disabled,
40
- readOnly,
41
- }), "aria-invalid": invalid, children: _jsxs("span", { id: id, role: "radio", className: "lunatic-input-radio", "aria-checked": checked, tabIndex: tabIndex, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelledBy, ref: spanEl, children: [_jsx(Icon, {}), _jsxs(Label, { id: labelledBy, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), label] })] }) }) }) }));
42
- }
43
- function getIcon(checked, checkboxStyle) {
44
- if (checked) {
45
- if (checkboxStyle) {
46
- return CheckboxCheckedIcon;
47
- }
48
- return RadioCheckedIcon;
49
- }
50
- if (checkboxStyle) {
51
- return CheckboxUncheckedIcon;
52
- }
53
- return RadioUncheckedIcon;
34
+ return (_jsxs("div", { id: id, role: "radio", "aria-invalid": invalid, "aria-disabled": disabled, "aria-readonly": readOnly, className: classnames('lunatic-input-checkbox', isRadio && 'lunatic-input-radio'), "aria-checked": checked, tabIndex: tabIndex, onClick: onClickOption, onKeyDown: handleKeyDown, "aria-labelledby": labelledBy, ref: divEl, children: [_jsx("div", { className: "lunatic-input-checkbox__icon", children: checked && checkboxStyle && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 11", children: _jsx("path", { d: "M5 11 0 6l1.4-1.4L5 8.2 12.6.6 14 2l-9 9Z", fill: "currentColor" }) })) }), _jsxs(Label, { id: labelledBy, htmlFor: id, description: description, children: [codeModality && (_jsx("span", { className: "code-modality", children: codeModality.toUpperCase() })), label] })] }));
54
35
  }
55
36
  export const RadioOption = slottableComponent('RadioOption', LunaticRadioOption);
56
37
  //# sourceMappingURL=RadioOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.tsx"],"names":[],"mappings":"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"}
@@ -23,13 +23,13 @@ describe('RadioOption', () => {
23
23
  const { getByRole } = render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", checked: true }));
24
24
  expect(getByRole('radio')).toHaveAttribute('tabIndex', '0');
25
25
  });
26
- it('applies the disabled class when disabled prop is present', () => {
26
+ it('applies the disabled aria when disabled prop is present', () => {
27
27
  const { getByRole } = render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", disabled: true }));
28
- expect(getByRole('radio').parentNode).toHaveClass('disabled');
28
+ expect(getByRole('radio')).toHaveAttribute('aria-disabled');
29
29
  });
30
- it('applies the checked class when checked prop is present', () => {
30
+ it('applies the checked aria when checked prop is present', () => {
31
31
  const { getByRole } = render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", checked: true }));
32
- expect(getByRole('radio').parentNode).toHaveClass('checked');
32
+ expect(getByRole('radio')).toHaveAttribute('aria-checked', 'true');
33
33
  });
34
34
  it('applies the code-modality class when codeModality prop is present', () => {
35
35
  const { getByText } = render(_jsx(RadioOption, { id: "radio-option", label: "Test Option", codeModality: "html" }));
@@ -1 +1 @@
1
- {"version":3,"file":"RadioOption.spec.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioOption.spec.js","sourceRoot":"","sources":["../../../../src/components/shared/Radio/RadioOption.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CSSProperties, FunctionComponent, ReactNode } from 'react';
2
2
  import useLunatic from '../use-lunatic';
3
- import type { LunaticComponentDefinition, LunaticError, LunaticOptions, LunaticReducerState } from '../use-lunatic/type';
3
+ import type { LunaticChangesHandler, LunaticComponentDefinition, LunaticError, LunaticOptions, LunaticReducerState } from '../use-lunatic/type';
4
4
  type Formats = 'PTnHnM' | 'PnYnM';
5
5
  export type VtlExpression = {
6
6
  value: string;
@@ -8,9 +8,7 @@ export type VtlExpression = {
8
8
  };
9
9
  export type LunaticBaseProps<ValueType = unknown> = {
10
10
  id: string;
11
- handleChange: (response: {
12
- name: string;
13
- }, value: ValueType, args?: Record<string, unknown>) => void;
11
+ handleChanges: LunaticChangesHandler;
14
12
  errors?: {
15
13
  [id: string]: LunaticError[];
16
14
  };
@@ -72,6 +70,9 @@ export type ComponentPropsByType = {
72
70
  };
73
71
  componentType?: 'Duration';
74
72
  };
73
+ Text: LunaticBaseProps<string> & {
74
+ componentType?: 'Text';
75
+ };
75
76
  Input: LunaticBaseProps<string> & {
76
77
  maxLength?: number;
77
78
  value: null | string;
@@ -155,9 +156,6 @@ export type ComponentPropsByType = {
155
156
  name: string;
156
157
  };
157
158
  }>;
158
- handleChange: (response: {
159
- name: string;
160
- }, value: boolean, args?: Record<string, unknown>) => void;
161
159
  componentType?: 'CheckboxGroup';
162
160
  };
163
161
  CheckboxOne: LunaticBaseProps<string | null> & {
@@ -289,7 +287,7 @@ export type ComponentPropsByType = {
289
287
  value: VtlExpression;
290
288
  }>;
291
289
  title?: VtlExpression;
292
- iterations?: number;
290
+ iterations?: VtlExpression;
293
291
  }>;
294
292
  };
295
293
  };
package/lib/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { ModalControls } from './components/shared/ModalControls/ModalControls';
7
7
  export { Button } from './components/shared/Button/Button';
8
8
  export { LunaticComponents } from './components/LunaticComponents';
9
9
  export { default as useLunatic } from './use-lunatic';
10
- export type { LunaticComponentDefinition, LunaticControl, LunaticData, LunaticValues, LunaticError, LunaticExpression, LunaticVariable, LunaticCollectedValue, LunaticStateVariable, LunaticState, LunaticPager, LunaticOptions, LunaticChangeHandler, } from './use-lunatic/type';
10
+ export type { LunaticComponentDefinition, LunaticControl, LunaticData, LunaticValues, LunaticError, LunaticExpression, LunaticVariable, LunaticCollectedValue, LunaticStateVariable, LunaticState, LunaticPager, LunaticOptions, LunaticChangesHandler, } from './use-lunatic/type';
11
11
  export type { LunaticComponentProps } from './components/type';
12
12
  export type { LunaticSlotComponents } from './components/shared/HOC/slottableComponent';
13
13
  export type { LunaticSource } from './use-lunatic/type-source';