@inseefr/lunatic 3.3.0 → 3.4.1

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 (107) hide show
  1. package/lib/components/Accordion/Accordion.d.ts +1 -2
  2. package/lib/components/Accordion/Accordion.js +1 -1
  3. package/lib/components/Accordion/Accordion.js.map +1 -1
  4. package/lib/components/CheckboxBoolean/CheckboxBoolean.d.ts +0 -1
  5. package/lib/components/CheckboxGroup/CustomCheckboxGroup.d.ts +0 -1
  6. package/lib/components/Datepicker/Datepicker.d.ts +0 -1
  7. package/lib/components/Dropdown/Dropdown.d.ts +0 -1
  8. package/lib/components/Duration/Duration.d.ts +0 -1
  9. package/lib/components/Input/Input.d.ts +0 -1
  10. package/lib/components/InputNumber/InputNumber.d.ts +0 -1
  11. package/lib/components/PairwiseLinks/PairwiseLinks.d.ts +1 -1
  12. package/lib/components/Question/Question.d.ts +1 -1
  13. package/lib/components/Radio/Radio.d.ts +4 -5
  14. package/lib/components/RosterForLoop/RosterForLoop.d.ts +1 -1
  15. package/lib/components/RosterForLoop/RosterForLoop.js +5 -1
  16. package/lib/components/RosterForLoop/RosterForLoop.js.map +1 -1
  17. package/lib/components/Roundabout/CustomRoundabout.d.ts +11 -2
  18. package/lib/components/Roundabout/CustomRoundabout.js +4 -3
  19. package/lib/components/Roundabout/CustomRoundabout.js.map +1 -1
  20. package/lib/components/Roundabout/Roundabout.js +6 -1
  21. package/lib/components/Roundabout/Roundabout.js.map +1 -1
  22. package/lib/components/Roundabout/roundabout.spec.js +3 -3
  23. package/lib/components/Roundabout/roundabout.spec.js.map +1 -1
  24. package/lib/components/Sequence/Sequence.d.ts +1 -2
  25. package/lib/components/Subsequence/Subsequence.d.ts +1 -2
  26. package/lib/components/Suggester/Suggester.js +1 -1
  27. package/lib/components/Suggester/Suggester.js.map +1 -1
  28. package/lib/components/Suggester/useSuggestions.js +2 -1
  29. package/lib/components/Suggester/useSuggestions.js.map +1 -1
  30. package/lib/components/Switch/Switch.d.ts +2 -2
  31. package/lib/components/Text/Text.d.ts +0 -1
  32. package/lib/components/Textarea/Textarea.d.ts +0 -1
  33. package/lib/components/library.d.ts +12 -49
  34. package/lib/components/shared/Combobox/Panel/ComboboxOption.d.ts +0 -1
  35. package/lib/components/shared/Combobox/Selection/ComboboxClearButton.d.ts +0 -1
  36. package/lib/components/shared/Combobox/Selection/ComboboxLabelSelection.d.ts +0 -1
  37. package/lib/components/shared/Declarations/Declarations.d.ts +1 -1
  38. package/lib/components/shared/HOC/slottableComponent.js +2 -2
  39. package/lib/components/shared/HOC/slottableComponent.js.map +1 -1
  40. package/lib/components/shared/Missing/Missing.d.ts +1 -1
  41. package/lib/components/shared/Radio/RadioGroup.d.ts +0 -1
  42. package/lib/components/shared/Radio/RadioOption.d.ts +0 -1
  43. package/lib/components/shared/Table/Td.js +1 -1
  44. package/lib/components/shared/Table/Td.js.map +1 -1
  45. package/lib/components/shared/Table/Th.js +1 -1
  46. package/lib/components/shared/Table/Th.js.map +1 -1
  47. package/lib/components/shared/Table/Tr.js +1 -1
  48. package/lib/components/shared/Table/Tr.js.map +1 -1
  49. package/lib/hooks/use-track-changes.d.ts +1 -7
  50. package/lib/hooks/useRefSync.d.ts +0 -1
  51. package/lib/i18n/build-dictionary.d.ts +1 -1
  52. package/lib/main.css +7 -1
  53. package/lib/main.css.map +1 -1
  54. package/lib/type.source.d.ts +2 -0
  55. package/lib/type.source.js +0 -1
  56. package/lib/type.source.js.map +1 -1
  57. package/lib/use-lunatic/actions.d.ts +8 -8
  58. package/lib/use-lunatic/commons/check-loops.d.ts +4 -4
  59. package/lib/use-lunatic/commons/compile-controls.js +3 -3
  60. package/lib/use-lunatic/commons/compile-controls.js.map +1 -1
  61. package/lib/use-lunatic/commons/component.js.map +1 -1
  62. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +1 -1
  63. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  64. package/lib/use-lunatic/commons/page-navigation.js +2 -0
  65. package/lib/use-lunatic/commons/page-navigation.js.map +1 -1
  66. package/lib/use-lunatic/commons/page.d.ts +1 -1
  67. package/lib/use-lunatic/commons/page.js +1 -1
  68. package/lib/use-lunatic/commons/page.js.map +1 -1
  69. package/lib/use-lunatic/commons/variables/get-questionnaire-data.js +1 -1
  70. package/lib/use-lunatic/commons/variables/get-questionnaire-data.js.map +1 -1
  71. package/lib/use-lunatic/commons/variables/lunatic-variables-store.js +1 -1
  72. package/lib/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  73. package/lib/use-lunatic/hooks/useOverview.d.ts +1 -1
  74. package/lib/use-lunatic/hooks/useWarnDepChange.js +4 -2
  75. package/lib/use-lunatic/hooks/useWarnDepChange.js.map +1 -1
  76. package/lib/use-lunatic/props/getComponentTypeProps.d.ts +117 -150
  77. package/lib/use-lunatic/props/propOptions.js +22 -4
  78. package/lib/use-lunatic/props/propOptions.js.map +1 -1
  79. package/lib/use-lunatic/props/propOptions.spec.js +1 -1
  80. package/lib/use-lunatic/props/propOptions.spec.js.map +1 -1
  81. package/lib/use-lunatic/reducer/commons/auto-explore-loop.js +1 -1
  82. package/lib/use-lunatic/reducer/commons/auto-explore-loop.js.map +1 -1
  83. package/lib/use-lunatic/reducer/controls/check-base-control.js +1 -1
  84. package/lib/use-lunatic/reducer/controls/check-base-control.js.map +1 -1
  85. package/lib/use-lunatic/reducer/reduce-go-previous-page.js +3 -3
  86. package/lib/use-lunatic/reducer/reduce-go-previous-page.js.map +1 -1
  87. package/lib/use-lunatic/type.d.ts +1 -1
  88. package/lib/use-lunatic/use-lunatic.d.ts +7 -22
  89. package/lib/utils/env.js +1 -1
  90. package/lib/utils/env.js.map +1 -1
  91. package/lib/utils/object.d.ts +1 -1
  92. package/lib/utils/object.js +1 -1
  93. package/lib/utils/object.js.map +1 -1
  94. package/lib/utils/search/SuggestersDatabase.js +1 -0
  95. package/lib/utils/search/SuggestersDatabase.js.map +1 -1
  96. package/lib/utils/search/melauto.js +2 -2
  97. package/lib/utils/search/melauto.js.map +1 -1
  98. package/lib/utils/search/tokenizer.d.ts +2 -2
  99. package/lib/utils/variables.d.ts +2 -10
  100. package/lib/utils/variables.js +2 -1
  101. package/lib/utils/variables.js.map +1 -1
  102. package/lib/utils/vtl.js +1 -1
  103. package/lib/utils/vtl.js.map +1 -1
  104. package/package.json +37 -43
  105. package/lib/use-lunatic/commons/compose.d.ts +0 -3
  106. package/lib/use-lunatic/commons/compose.js +0 -7
  107. package/lib/use-lunatic/commons/compose.js.map +0 -1
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { LunaticComponentDefinition } from '../type';
3
2
  import { type DeepTranslateExpression } from '../commons/fill-components/fill-component-expressions';
4
3
  import { fillComponent } from '../commons/fill-components/fill-components';
@@ -17,41 +16,36 @@ export declare function getComponentTypeProps(component: DeepTranslateExpression
17
16
  getComponents: (x: number, y: number) => import("../..").LunaticComponentProps[];
18
17
  } | {
19
18
  body: ((import("../../components/type").LunaticBaseProps<string> & import("../..").LunaticExtraProps & {
20
- maxLength?: number | undefined;
21
- value: string | null;
19
+ maxLength?: number;
20
+ value: null | string;
22
21
  response: {
23
22
  name: string;
24
23
  };
25
- componentType?: "Input" | undefined;
24
+ componentType?: "Input";
26
25
  } & {
27
- conditionFilter?: boolean | undefined;
26
+ conditionFilter?: boolean;
28
27
  }) | (import("../../components/type").LunaticBaseProps<string> & import("../..").LunaticExtraProps & {
29
- cols?: number | undefined;
30
- placeHolder?: string | undefined;
31
- maxLength?: number | undefined;
32
- rows?: number | undefined;
28
+ cols?: number;
29
+ placeHolder?: string;
30
+ maxLength?: number;
31
+ rows?: number;
33
32
  response: {
34
33
  name: string;
35
34
  };
36
- componentType?: "Textarea" | undefined;
35
+ componentType?: "Textarea";
37
36
  } & {
38
- conditionFilter?: boolean | undefined;
37
+ conditionFilter?: boolean;
39
38
  }) | (Pick<import("../../components/type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id" | "style"> & import("../..").LunaticExtraProps & {
40
- componentType?: "Sequence" | undefined;
39
+ componentType?: "Sequence";
41
40
  } & {
42
- conditionFilter?: boolean | undefined;
41
+ conditionFilter?: boolean;
43
42
  }) | (Pick<import("../../components/type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id"> & import("../..").LunaticExtraProps & {
44
- componentType?: "Subsequence" | undefined;
43
+ componentType?: "Subsequence";
45
44
  } & {
46
- conditionFilter?: boolean | undefined;
45
+ conditionFilter?: boolean;
47
46
  }) | (import("../../components/type").LunaticBaseProps<string> & import("../..").LunaticExtraProps & {
48
47
  iterations: number;
49
- goToPage: (page: {
50
- page: number | import("../type").PageTag;
51
- iteration?: number | undefined;
52
- nbIterations?: number | undefined;
53
- subPage?: number | undefined;
54
- }) => void;
48
+ goToPage: ReturnType<typeof import("../use-lunatic").useLunatic>["goToPage"];
55
49
  page: number;
56
50
  progressVariable: string;
57
51
  locked: boolean;
@@ -59,102 +53,90 @@ export declare function getComponentTypeProps(component: DeepTranslateExpression
59
53
  label?: import("react").ReactNode;
60
54
  progress: number;
61
55
  description?: import("react").ReactNode;
62
- disabled?: boolean | undefined;
56
+ disabled?: boolean;
63
57
  }[];
64
- componentType?: "Roundabout" | undefined;
58
+ componentType?: "Roundabout";
65
59
  } & {
66
- conditionFilter?: boolean | undefined;
60
+ conditionFilter?: boolean;
67
61
  }) | (import("../../components/type").LunaticBaseProps<unknown> & import("../..").LunaticExtraProps & {
68
62
  lines: {
69
63
  min: number;
70
64
  max: number;
71
65
  };
72
66
  iterations: number;
73
- getComponents: (n: number) => import("../..").LunaticComponentProps<keyof import("../../components/type").ComponentPropsByType>[];
74
- executeExpression: <T extends unknown = unknown>(expression: import("../../type.source").VTLExpression, args?: {
75
- iteration?: number | number[] | undefined;
76
- bindingDependencies?: string[] | undefined;
77
- deps?: string[] | undefined;
78
- } | undefined) => T;
67
+ getComponents: (n: number) => import("../..").LunaticComponentProps[];
68
+ executeExpression: import("../type").LunaticReducerState["executeExpression"];
79
69
  value: Record<string, unknown[]>;
80
- header?: {
70
+ header?: Array<{
81
71
  label: import("react").ReactNode;
82
- }[] | undefined;
83
- paginatedLoop?: boolean | undefined;
84
- componentType?: "Loop" | undefined;
72
+ }>;
73
+ paginatedLoop?: boolean;
74
+ componentType?: "Loop";
85
75
  } & {
86
- conditionFilter?: boolean | undefined;
76
+ conditionFilter?: boolean;
87
77
  }) | (import("../../components/type").LunaticBaseProps<unknown> & import("../..").LunaticExtraProps & {
88
78
  lines: {
89
79
  min: number;
90
80
  max: number;
91
81
  };
92
82
  iterations: number;
93
- getComponents: (n: number) => import("../..").LunaticComponentProps<keyof import("../../components/type").ComponentPropsByType>[];
94
- executeExpression: <T extends unknown = unknown>(expression: import("../../type.source").VTLExpression, args?: {
95
- iteration?: number | number[] | undefined;
96
- bindingDependencies?: string[] | undefined;
97
- deps?: string[] | undefined;
98
- } | undefined) => T;
83
+ getComponents: (n: number) => import("../..").LunaticComponentProps[];
84
+ executeExpression: import("../type").LunaticReducerState["executeExpression"];
99
85
  value: Record<string, unknown[]>;
100
- header?: {
86
+ header?: Array<{
101
87
  label: import("react").ReactNode;
102
- rowspan?: number | undefined;
103
- colspan?: number | undefined;
104
- }[] | undefined;
105
- paginatedLoop?: boolean | undefined;
106
- componentType?: "RosterForLoop" | undefined;
88
+ rowspan?: number;
89
+ colspan?: number;
90
+ }>;
91
+ paginatedLoop?: boolean;
92
+ componentType?: "RosterForLoop";
107
93
  } & {
108
- conditionFilter?: boolean | undefined;
94
+ conditionFilter?: boolean;
109
95
  }) | (import("../../components/type").LunaticBaseProps<unknown> & import("../..").LunaticExtraProps & {
110
96
  value: Record<string, unknown>;
111
- header: {
97
+ header: Array<{
112
98
  label: import("react").ReactNode;
113
- rowspan?: number | undefined;
114
- colspan?: number | undefined;
115
- }[];
116
- body: (import("../..").LunaticComponentProps<keyof import("../../components/type").ComponentPropsByType> & {
117
- colspan?: number | undefined;
118
- rowspan?: number | undefined;
99
+ rowspan?: number;
100
+ colspan?: number;
101
+ }>;
102
+ body: (import("../..").LunaticComponentProps & {
103
+ colspan?: number;
104
+ rowspan?: number;
119
105
  })[][];
120
- executeExpression: <T extends unknown = unknown>(expression: import("../../type.source").VTLExpression, args?: {
121
- iteration?: number | number[] | undefined;
122
- bindingDependencies?: string[] | undefined;
123
- deps?: string[] | undefined;
124
- } | undefined) => T;
125
- iteration: number | undefined;
126
- componentType?: "Table" | undefined;
106
+ executeExpression: import("../type").LunaticReducerState["executeExpression"];
107
+ iteration: import("../type").LunaticReducerState["pager"]["iteration"];
108
+ componentType?: "Table";
127
109
  } & {
128
- conditionFilter?: boolean | undefined;
110
+ conditionFilter?: boolean;
129
111
  }) | (import("../../components/type").LunaticBaseProps<number | null> & import("../..").LunaticExtraProps & {
130
- min?: number | undefined;
131
- max?: number | undefined;
132
- decimals?: number | undefined;
133
- unit?: string | undefined;
112
+ min?: number;
113
+ max?: number;
114
+ decimals?: number;
115
+ unit?: string;
134
116
  response: {
135
117
  name: string;
136
118
  };
137
- componentType?: "InputNumber" | undefined;
119
+ componentType?: "InputNumber";
138
120
  } & {
139
- conditionFilter?: boolean | undefined;
121
+ conditionFilter?: boolean;
140
122
  }) | (import("../../components/type").LunaticBaseProps<string | null> & import("../..").LunaticExtraProps & {
141
123
  format: "PnYnM" | "PTnHnM";
142
124
  response: {
143
125
  name: string;
144
126
  };
145
- componentType?: "Duration" | undefined;
127
+ componentType?: "Duration";
146
128
  } & {
147
- conditionFilter?: boolean | undefined;
129
+ conditionFilter?: boolean;
148
130
  }) | (import("../../components/type").LunaticBaseProps<string | null> & import("../..").LunaticExtraProps & {
149
- dateFormat: "YYYY-MM-DD" | "YYYY" | "YYYY-MM";
150
- min?: string | undefined;
151
- max?: string | undefined;
131
+ dateFormat: "YYYY-MM-DD" | "YYYY-MM" | "YYYY";
132
+ min?: string;
133
+ max?: string;
152
134
  response: {
153
135
  name: string;
154
136
  };
155
- componentType?: "Datepicker" | undefined;
137
+ componentType?: "Datepicker";
156
138
  } & {
157
- conditionFilter?: boolean | undefined;
139
+ conditionFilter?: boolean;
158
140
  }) | (import("../../components/type").LunaticBaseProps<Record<string, boolean | null>> & import("../..").LunaticExtraProps & {
159
141
  options: {
160
142
  id: string;
@@ -163,66 +145,66 @@ export declare function getComponentTypeProps(component: DeepTranslateExpression
163
145
  checked: boolean;
164
146
  description?: import("react").ReactNode;
165
147
  onCheck: (b: boolean) => void;
166
- onDetailChange?: ((v: string) => void) | undefined;
167
- detailValue?: string | null | undefined;
148
+ onDetailChange?: (v: string) => void;
149
+ detailValue?: string | null;
168
150
  detailLabel?: import("react").ReactNode;
169
151
  }[];
170
- orientation?: "horizontal" | "vertical" | undefined;
171
- componentType?: "CheckboxGroup" | undefined;
152
+ orientation?: "horizontal" | "vertical";
153
+ componentType?: "CheckboxGroup";
172
154
  } & {
173
- conditionFilter?: boolean | undefined;
155
+ conditionFilter?: boolean;
174
156
  }) | (import("../../components/type").LunaticBaseProps<boolean> & import("../..").LunaticExtraProps & {
175
157
  response: {
176
158
  name: string;
177
159
  };
178
- componentType?: "CheckboxBoolean" | undefined;
160
+ componentType?: "CheckboxBoolean";
179
161
  } & {
180
- conditionFilter?: boolean | undefined;
162
+ conditionFilter?: boolean;
181
163
  }) | (import("../../components/type").LunaticBaseProps<string | null> & import("../..").LunaticExtraProps & {
182
- options: import("./propOptions").InterpretedOption[];
183
- checkboxStyle?: boolean | undefined;
164
+ options: Array<import("./propOptions").InterpretedOption>;
165
+ checkboxStyle?: boolean;
184
166
  response: {
185
167
  name: string;
186
168
  };
187
- componentType?: "Radio" | undefined;
188
- orientation?: "horizontal" | "vertical" | undefined;
169
+ componentType?: "Radio";
170
+ orientation?: "horizontal" | "vertical";
189
171
  } & {
190
- conditionFilter?: boolean | undefined;
172
+ conditionFilter?: boolean;
191
173
  }) | (import("../../components/type").LunaticBaseProps<string | null> & import("../..").LunaticExtraProps & {
192
- options: {
174
+ options: Array<{
193
175
  description?: import("react").ReactNode;
194
176
  label: import("react").ReactNode;
195
177
  value: string;
196
- }[];
178
+ }>;
197
179
  response: {
198
180
  name: string;
199
181
  };
200
- componentType?: "Dropdown" | undefined;
182
+ componentType?: "Dropdown";
201
183
  } & {
202
- conditionFilter?: boolean | undefined;
184
+ conditionFilter?: boolean;
203
185
  }) | (Pick<import("../../components/type").LunaticBaseProps<unknown>, "label" | "description" | "declarations" | "id" | "errors" | "disabled" | "readOnly"> & import("../..").LunaticExtraProps & {
204
- components: import("../..").LunaticComponentProps<keyof import("../../components/type").ComponentPropsByType>[];
205
- componentType?: "Question" | undefined;
186
+ components: import("../..").LunaticComponentProps[];
187
+ componentType?: "Question";
206
188
  } & {
207
- conditionFilter?: boolean | undefined;
189
+ conditionFilter?: boolean;
208
190
  }) | (import("../../components/type").LunaticBaseProps<string | null> & import("../..").LunaticExtraProps & {
209
- options: import("./propOptions").InterpretedOption[];
210
- componentType?: "CheckboxOne" | undefined;
211
- orientation?: "horizontal" | "vertical" | undefined;
191
+ options: Array<import("./propOptions").InterpretedOption>;
192
+ componentType?: "CheckboxOne";
193
+ orientation?: "horizontal" | "vertical";
212
194
  } & {
213
- conditionFilter?: boolean | undefined;
195
+ conditionFilter?: boolean;
214
196
  }) | (import("../../components/type").LunaticBaseProps<string | null> & import("../..").LunaticExtraProps & {
215
- componentType?: "Suggester" | undefined;
197
+ componentType?: "Suggester";
216
198
  storeName: string;
217
199
  optionRenderer: import("react").FunctionComponent<{
218
200
  option: import("../../components/type").SuggesterOption;
219
- placeholder?: string | undefined;
220
- search?: string | undefined;
201
+ placeholder?: string;
202
+ search?: string;
221
203
  }>;
222
204
  labelRenderer: import("react").FunctionComponent<{
223
- option?: import("../../components/type").SuggesterOption | undefined;
224
- selected?: boolean | undefined;
225
- search?: string | undefined;
205
+ option?: import("../../components/type").SuggesterOption;
206
+ selected?: boolean;
207
+ search?: string;
226
208
  }>;
227
209
  focused: boolean;
228
210
  response: {
@@ -231,87 +213,72 @@ export declare function getComponentTypeProps(component: DeepTranslateExpression
231
213
  optionResponses?: {
232
214
  name: string;
233
215
  attribute: string;
234
- }[] | undefined;
216
+ }[];
235
217
  arbitrary?: {
236
218
  response: {
237
219
  name: string;
238
220
  };
239
- } | undefined;
240
- arbitraryValue?: string | undefined;
241
- allowArbitrary?: boolean | undefined;
242
- executeExpression: <T extends unknown = unknown>(expression: import("../../type.source").VTLExpression, args?: {
243
- iteration?: number | number[] | undefined;
244
- bindingDependencies?: string[] | undefined;
245
- deps?: string[] | undefined;
246
- } | undefined) => T;
247
- iteration: number | undefined;
221
+ };
222
+ arbitraryValue?: string;
223
+ allowArbitrary?: boolean;
224
+ executeExpression: import("../type").LunaticReducerState["executeExpression"];
225
+ iteration: import("../type").LunaticReducerState["pager"]["iteration"];
248
226
  } & {
249
- conditionFilter?: boolean | undefined;
227
+ conditionFilter?: boolean;
250
228
  }) | (Omit<import("../../components/type").LunaticBaseProps<unknown>, "value"> & import("../..").LunaticExtraProps & {
251
229
  components: LunaticComponentDefinition[];
252
- features?: ("VTL" | "MD")[] | undefined;
253
- executeExpression: <T extends unknown = unknown>(expression: import("../../type.source").VTLExpression, args?: {
254
- iteration?: number | number[] | undefined;
255
- bindingDependencies?: string[] | undefined;
256
- deps?: string[] | undefined;
257
- } | undefined) => T;
230
+ features?: import("../type").LunaticOptions["features"];
231
+ executeExpression: import("../type").LunaticReducerState["executeExpression"];
258
232
  xAxisIterations: number;
259
233
  yAxisIterations: number;
260
234
  symLinks: Record<string, Record<string, string>>;
261
235
  value: Record<string, unknown[]>;
262
- getComponents: (x: number, y: number) => import("../..").LunaticComponentProps<keyof import("../../components/type").ComponentPropsByType>[];
263
- componentType?: "PairwiseLinks" | undefined;
236
+ getComponents: (x: number, y: number) => import("../..").LunaticComponentProps[];
237
+ componentType?: "PairwiseLinks";
264
238
  } & {
265
- conditionFilter?: boolean | undefined;
239
+ conditionFilter?: boolean;
266
240
  }) | (import("../../components/type").LunaticBaseProps<string | null> & import("../..").LunaticExtraProps & {
267
- componentType?: "Summary" | undefined;
268
- executeExpression: <T extends unknown = unknown>(expression: import("../../type.source").VTLExpression, args?: {
269
- iteration?: number | number[] | undefined;
270
- bindingDependencies?: string[] | undefined;
271
- deps?: string[] | undefined;
272
- } | undefined) => T;
273
- sections: {
241
+ componentType?: "Summary";
242
+ executeExpression: import("../type").LunaticReducerState["executeExpression"];
243
+ sections: Array<{
274
244
  id: string;
275
- responses?: {
245
+ responses?: Array<{
276
246
  id: string;
277
247
  label: import("../../components/type").VtlExpression;
278
248
  value: import("../../components/type").VtlExpression;
279
- }[] | undefined;
280
- title?: import("../../components/type").VtlExpression | undefined;
281
- iterations?: import("../../components/type").VtlExpression | undefined;
282
- }[];
249
+ }>;
250
+ title?: import("../../components/type").VtlExpression;
251
+ iterations?: import("../../components/type").VtlExpression;
252
+ }>;
283
253
  } & {
284
- conditionFilter?: boolean | undefined;
254
+ conditionFilter?: boolean;
285
255
  }) | (import("../../components/type").LunaticBaseProps<string> & import("../..").LunaticExtraProps & {
286
- componentType?: "Text" | undefined;
256
+ componentType?: "Text";
287
257
  } & {
288
- conditionFilter?: boolean | undefined;
258
+ conditionFilter?: boolean;
289
259
  }) | (import("../../components/type").LunaticBaseProps<string> & import("../..").LunaticExtraProps & {
290
- componentType?: "Accordion" | undefined;
260
+ componentType?: "Accordion";
291
261
  items: {
292
262
  label: import("react").ReactNode;
293
263
  body: import("react").ReactNode;
294
264
  }[];
295
265
  } & {
296
- conditionFilter?: boolean | undefined;
266
+ conditionFilter?: boolean;
297
267
  }) | (import("../../components/type").LunaticBaseProps<boolean> & import("../..").LunaticExtraProps & {
298
268
  response: {
299
- /**
300
- * Get component specific props (RoundAbout for instance)
301
- */
302
269
  name: string;
303
270
  };
304
271
  statusLabel?: {
305
272
  true: string;
306
273
  false: string;
307
- } | undefined;
308
- componentType?: "Switch" | undefined;
274
+ };
275
+ componentType?: "Switch";
309
276
  } & {
310
- conditionFilter?: boolean | undefined;
277
+ conditionFilter?: boolean;
311
278
  }) | (Pick<import("../../components/type").LunaticBaseProps<string>, "label" | "id"> & import("../..").LunaticExtraProps & {
312
- componentType?: "FilterDescription" | undefined;
279
+ componentType?: "FilterDescription";
313
280
  } & {
314
- conditionFilter?: boolean | undefined;
281
+ conditionFilter?: boolean;
315
282
  }) | {
316
283
  label: unknown;
317
284
  })[][];
@@ -6,7 +6,14 @@ export function getOptionsProp(definition, variables, handleChanges, pagerIterat
6
6
  const iteration = isNumber(pagerIteration) ? [pagerIteration] : undefined;
7
7
  //const iteration = pagerIteration ? [pagerIteration] : undefined;
8
8
  if (definition.componentType === 'CheckboxGroup') {
9
- return definition.responses.map((response) => ({
9
+ return definition.responses
10
+ .filter((response) => {
11
+ if (!response.conditionFilter) {
12
+ return true;
13
+ }
14
+ return variables.run(response.conditionFilter.value, { iteration });
15
+ })
16
+ .map((response) => ({
10
17
  label: response.label,
11
18
  name: response.response.name,
12
19
  id: response.id,
@@ -21,7 +28,9 @@ export function getOptionsProp(definition, variables, handleChanges, pagerIterat
21
28
  },
22
29
  onDetailChange: response.detail?.response
23
30
  ? (v) => {
24
- handleChanges([{ name: response.detail.response.name, value: v }]);
31
+ handleChanges([
32
+ { name: response.detail.response.name, value: v },
33
+ ]);
25
34
  }
26
35
  : undefined,
27
36
  }));
@@ -29,14 +38,23 @@ export function getOptionsProp(definition, variables, handleChanges, pagerIterat
29
38
  if (!('options' in definition)) {
30
39
  return [];
31
40
  }
32
- return definition.options.map((option) => ({
41
+ return definition.options
42
+ .filter((option) => {
43
+ if (!('conditionFilter' in option) || !option.conditionFilter) {
44
+ return true;
45
+ }
46
+ return variables.run(option.conditionFilter.value, { iteration });
47
+ })
48
+ .map((option) => ({
33
49
  label: option.label,
34
50
  description: option.description,
35
51
  value: option.value,
36
52
  checked: value === option.value,
37
53
  detailLabel: 'detail' in option ? option.detail?.label : undefined,
38
54
  onCheck: () => {
39
- handleChanges([{ name: definition.response.name, value: option.value }]);
55
+ handleChanges([
56
+ { name: definition.response.name, value: option.value },
57
+ ]);
40
58
  },
41
59
  detailValue: 'detail' in option && option.detail
42
60
  ? variables.get(option.detail.response.name, iteration)
@@ -1 +1 @@
1
- {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ describe('getOptionsProp()', () => {
46
46
  it('should create handleChange correctly', () => {
47
47
  variables.set('O1', [true, false]);
48
48
  variables.set('O2', [false, true]);
49
- let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 1, undefined);
49
+ const options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 1, undefined);
50
50
  options[1].onCheck(false);
51
51
  expect(mockChange).toHaveBeenLastCalledWith([
52
52
  { name: 'O2', value: false },
@@ -1 +1 @@
1
- {"version":3,"file":"propOptions.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propOptions.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.spec.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export function autoExploreLoop(state, direction = 'forward') {
7
7
  ...state.pager,
8
8
  };
9
9
  const pageId = getPageId(newPager);
10
- let page = state.pages[pageId];
10
+ const page = state.pages[pageId];
11
11
  let hasExploredLoop = false;
12
12
  const isForward = direction === 'forward';
13
13
  const goInsideSubpage = (subPages, nbIteration) => {
@@ -1 +1 @@
1
- {"version":3,"file":"auto-explore-loop.js","sourceRoot":"","sources":["../../../../src/use-lunatic/reducer/commons/auto-explore-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,KAA0B,EAC1B,YAAoC,SAAS;IAE7C,MAAM,QAAQ,GAAG;QAChB,GAAG,KAAK,CAAC,KAAK;KACd,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,CAAC;IAE1C,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,WAAmB,EAAE,EAAE;QACnE,uCAAuC;QACvC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO;QACR,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,MAAM,YAAY,GAAG,mBAAmB,CACvC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CACxC,CAAC;QACF,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAC9D,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;QACpC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAC/D,eAAe,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC;IAEF,qBAAqB;IACrB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,eAAe,CACd,IAAI,CAAC,QAAQ,EACb,KAAK,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,CAChD,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,IACC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,YAAY;QACjD,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACvB,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACxB,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACN,GAAG,KAAK;QACR,QAAQ,EAAE,QAAQ,CAAC,YAAY,KAAK,SAAS;QAC7C,KAAK,EAAE,QAAQ;KACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auto-explore-loop.js","sourceRoot":"","sources":["../../../../src/use-lunatic/reducer/commons/auto-explore-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,KAA0B,EAC1B,YAAoC,SAAS;IAE7C,MAAM,QAAQ,GAAG;QAChB,GAAG,KAAK,CAAC,KAAK;KACd,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,CAAC;IAE1C,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,WAAmB,EAAE,EAAE;QACnE,uCAAuC;QACvC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO;QACR,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,MAAM,YAAY,GAAG,mBAAmB,CACvC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CACxC,CAAC;QACF,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAC9D,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;QACpC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAC/D,eAAe,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC;IAEF,qBAAqB;IACrB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,eAAe,CACd,IAAI,CAAC,QAAQ,EACb,KAAK,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,CAChD,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,IACC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,YAAY;QACjD,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACvB,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAS,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACxB,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACN,GAAG,KAAK;QACR,QAAQ,EAAE,QAAQ,CAAC,YAAY,KAAK,SAAS;QAC7C,KAAK,EAAE,QAAQ;KACf,CAAC;AACH,CAAC"}
@@ -28,7 +28,7 @@ export function checkBaseControl(controlItem, executeExpression, pager) {
28
28
  typeOfControl,
29
29
  };
30
30
  }
31
- catch (e) {
31
+ catch {
32
32
  console.warn(`Error on validating control ${control.value}`);
33
33
  return undefined;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"check-base-control.js","sourceRoot":"","sources":["../../../../src/use-lunatic/reducer/controls/check-base-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,OAAO,CAAC;AAOvC,MAAM,UAAU,gBAAgB,CAC/B,WAA2B,EAC3B,iBAA2D,EAC3D,KAAmC;IAEnC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAE9E,uEAAuE;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE;QACzC,SAAS,EAAE,eAAe,IAAI,SAAS;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ;;;;;WAKG;QACH,IAAI,MAAM;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,KAAK,GAAG,iBAAiB,CAAY,YAAY,EAAE;YACxD,SAAS;SACT,CAAC,CAAC;QACH,OAAO;YACN,WAAW;YACX,YAAY,EAAE,KAAK;YACnB,EAAE;YACF,aAAa;SACb,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"check-base-control.js","sourceRoot":"","sources":["../../../../src/use-lunatic/reducer/controls/check-base-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,OAAO,CAAC;AAOvC,MAAM,UAAU,gBAAgB,CAC/B,WAA2B,EAC3B,iBAA2D,EAC3D,KAAmC;IAEnC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAE9E,uEAAuE;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE;QACzC,SAAS,EAAE,eAAe,IAAI,SAAS;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ;;;;;WAKG;QACH,IAAI,MAAM;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,KAAK,GAAG,iBAAiB,CAAY,YAAY,EAAE;YACxD,SAAS;SACT,CAAC,CAAC;QACH,OAAO;YACN,WAAW;YACX,YAAY,EAAE,KAAK;YACnB,EAAE;YACF,aAAa;SACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}
@@ -6,19 +6,19 @@ export function reduceGoPreviousPage(state) {
6
6
  const parentType = pages[pager.page]?.components[0].componentType;
7
7
  const prevPager = getPrevPager(pager, parentType);
8
8
  const pageId = getPageId(prevPager);
9
- let prevPage = pages[pageId];
9
+ const prevPage = pages[pageId];
10
10
  if (!prevPage) {
11
11
  throw new Error(`Cannot reach previous page ${pageId}`);
12
12
  }
13
13
  let newState = { ...state, pager: prevPager };
14
14
  // We reached an empty page, keep going backward
15
- if (isPageEmpty(newState, true)) {
15
+ if (isPageEmpty(newState)) {
16
16
  return reduceGoPreviousPage(newState);
17
17
  }
18
18
  // If we reached a loop, go to the last iteration / sequence
19
19
  newState = autoExploreLoop(newState, 'backward');
20
20
  // We explored a loop, check if we reached an empty page, move backward
21
- if (newState.pager !== prevPager && isPageEmpty(newState, true)) {
21
+ if (newState.pager !== prevPager && isPageEmpty(newState)) {
22
22
  return reduceGoPreviousPage(newState);
23
23
  }
24
24
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"reduce-go-previous-page.js","sourceRoot":"","sources":["../../../src/use-lunatic/reducer/reduce-go-previous-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,UAAU,oBAAoB,CACnC,KAA0B;IAE1B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAClE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAE9C,gDAAgD;IAChD,IAAI,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,4DAA4D;IAC5D,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEjD,uEAAuE;IACvE,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACN,GAAG,QAAQ;QACX,aAAa,EAAE,KAAK,CAAC,KAAK;QAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;KAChD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"reduce-go-previous-page.js","sourceRoot":"","sources":["../../../src/use-lunatic/reducer/reduce-go-previous-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,UAAU,oBAAoB,CACnC,KAA0B;IAE1B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAClE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAE9C,gDAAgD;IAChD,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,4DAA4D;IAC5D,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEjD,uEAAuE;IACvE,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACN,GAAG,QAAQ;QACX,aAAa,EAAE,KAAK,CAAC,KAAK;QAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;KAChD,CAAC;AACH,CAAC"}
@@ -83,7 +83,7 @@ export type LunaticReducerState = {
83
83
  subPages: string[];
84
84
  };
85
85
  };
86
- executeExpression: <T extends unknown = unknown>(expression: VTLExpression, args?: {
86
+ executeExpression: <T = unknown>(expression: VTLExpression, args?: {
87
87
  iteration?: number | number[];
88
88
  bindingDependencies?: string[];
89
89
  deps?: string[];