@inseefr/lunatic 2.4.5-beta → 2.4.5-mvp-eap

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 (70) hide show
  1. package/lib/components/commons/components/combo-box/combo-box-content.js +2 -5
  2. package/lib/components/commons/components/combo-box/combo-box.js +16 -16
  3. package/lib/components/commons/components/combo-box/panel/panel.js +2 -4
  4. package/lib/components/commons/components/combo-box/state-management/reduce-on-init.js +4 -1
  5. package/lib/components/commons/components/orchestrated-component.js +2 -0
  6. package/lib/components/commons/create-row-orchestrator.js +2 -2
  7. package/lib/components/dropdown/lunatic-dropdown.js +1 -0
  8. package/lib/components/input-number/html/input-number.js +2 -1
  9. package/lib/components/input-number/html/input-number.scss +1 -1
  10. package/lib/components/input-number/lunatic-input-number.js +2 -0
  11. package/lib/components/loop/loop.js +6 -4
  12. package/lib/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +1 -0
  13. package/lib/components/loop/roster-for-loop/roster-for-loop.js +45 -33
  14. package/lib/components/loop/roster-for-loop/roster-table.js +22 -18
  15. package/lib/components/loop/roster-for-loop/roster.scss +30 -37
  16. package/lib/components/loop/roster-for-loop/row.js +84 -31
  17. package/lib/components/pairwise-links/pairwise-links.js +2 -4
  18. package/lib/components/pairwise-links/row.js +1 -0
  19. package/lib/components/suggester/html/suggester.js +31 -12
  20. package/lib/components/suggester/idb-suggester/idb-suggester.js +10 -7
  21. package/lib/components/suggester/lunatic-suggester.js +31 -4
  22. package/lib/hooks/use-did-change.js +19 -0
  23. package/lib/src/components/commons/components/combo-box/combo-box.d.ts +4 -4
  24. package/lib/src/components/commons/components/combo-box/combo-box.stories.d.ts +2 -2
  25. package/lib/src/components/commons/components/combo-box/panel/panel.d.ts +1 -1
  26. package/lib/src/components/commons/components/combo-box/state-management/actions.d.ts +4 -4
  27. package/lib/src/components/commons/components/orchestrated-component.d.ts +3 -3
  28. package/lib/src/components/commons/create-row-orchestrator.d.ts +4 -3
  29. package/lib/src/components/dropdown/html/dropdown-writable/dropdown-writable.d.ts +1 -1
  30. package/lib/src/components/dropdown/html/dropdown.d.ts +2 -1
  31. package/lib/src/components/input-number/html/input-number.d.ts +1 -0
  32. package/lib/src/components/loop/block-for-loop/block-for-loop-ochestrator.d.ts +11 -3
  33. package/lib/src/components/loop/block-for-loop/block-for-loop.d.ts +5 -1
  34. package/lib/src/components/loop/roster-for-loop/roster-for-loop-orchestrator.d.ts +11 -3
  35. package/lib/src/components/loop/roster-for-loop/roster-for-loop.d.ts +8 -4
  36. package/lib/src/components/loop/roster-for-loop/roster-table.d.ts +3 -3
  37. package/lib/src/components/loop/roster-for-loop/row.d.ts +3 -2
  38. package/lib/src/components/suggester/html/suggester.d.ts +6 -4
  39. package/lib/src/components/suggester/idb-suggester/idb-suggester.d.ts +4 -3
  40. package/lib/src/components/suggester/lunatic-suggester.d.ts +1 -1
  41. package/lib/src/components/type.d.ts +25 -5
  42. package/lib/src/hooks/use-did-change.d.ts +4 -0
  43. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +61 -16
  44. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +36 -0
  45. package/lib/src/use-lunatic/reducer/commons/is-loop-component.d.ts +2 -2
  46. package/lib/src/use-lunatic/reducer/overview/overview-on-init.d.ts +1 -1
  47. package/lib/src/use-lunatic/reducer/reduce-update-state.d.ts +106 -1
  48. package/lib/src/use-lunatic/replace-component-sequence.d.ts +1 -1
  49. package/lib/src/use-lunatic/type-source.d.ts +11 -1
  50. package/lib/src/use-lunatic/type.d.ts +1 -1
  51. package/lib/stories/input-number/input-number.stories.js +8 -1
  52. package/lib/stories/input-number/source-dynamic.json +41 -0
  53. package/lib/stories/loop/block-for-loop.stories.js +1 -8
  54. package/lib/stories/loop/roster-for-loop.stories.js +8 -1
  55. package/lib/stories/loop/source-with-header.json +15 -3
  56. package/lib/stories/questionnaires/EAP/data-eap.json +46 -0
  57. package/lib/stories/questionnaires/EAP/eap.stories.js +71 -0
  58. package/lib/stories/questionnaires/EAP/source-eap.json +433 -0
  59. package/lib/stories/suggester/multipleResponses.json +100 -0
  60. package/lib/stories/suggester/suggester-workers.stories.js +1 -1
  61. package/lib/stories/suggester/suggester.stories.js +18 -6
  62. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +1 -1
  63. package/lib/use-lunatic/commons/get-component-value/get-component-value.js +8 -0
  64. package/lib/use-lunatic/initial-state.js +1 -0
  65. package/lib/use-lunatic/reducer/reducer.js +1 -0
  66. package/package.json +1 -1
  67. package/lib/components/loop/roster-for-loop/body.js +0 -52
  68. package/lib/components/loop/roster-for-loop/header.js +0 -34
  69. package/lib/src/components/loop/roster-for-loop/body.d.ts +0 -12
  70. package/lib/src/components/loop/roster-for-loop/header.d.ts +0 -9
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare const RosterForLoopOrchestrator: ({ id, components, nbRows, valueMap, handleChange, features, missing, shortcut, preferences, executeExpression, iteration, xAxisIterations, errors, }: {
2
+ declare const RosterForLoopOrchestrator: ({ id, components, nbRows, valueMap, handleChange, features, missing, shortcut, preferences, executeExpression, getSuggesterStatus, iteration, xAxisIterations, errors, }: {
3
3
  nbRows: number;
4
4
  xAxisIterations?: number | undefined;
5
5
  handleChange: (response: {
@@ -25,6 +25,10 @@ declare const RosterForLoopOrchestrator: ({ id, components, nbRows, valueMap, ha
25
25
  logging?: import("../../../use-lunatic/commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
26
26
  bindingDependencies?: string[] | undefined;
27
27
  } | undefined) => T;
28
+ getSuggesterStatus?: ((name: string | undefined) => {
29
+ status: import("../../../use-lunatic/use-suggesters").SuggesterStatus;
30
+ timestamp: number;
31
+ }) | undefined;
28
32
  iteration?: number | undefined;
29
33
  linksIterations?: [number, number] | undefined;
30
34
  features?: string[] | undefined;
@@ -41,10 +45,14 @@ declare const RosterForLoopOrchestrator: ({ id, components, nbRows, valueMap, ha
41
45
  logging?: import("../../../use-lunatic/commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
42
46
  bindingDependencies?: string[] | undefined;
43
47
  } | undefined) => T;
48
+ getSuggesterStatus: (name: string) => {
49
+ status: import("../../../use-lunatic/use-suggesters").SuggesterStatus;
50
+ timestamp: number;
51
+ };
44
52
  value: Record<string, unknown[]>;
45
- headers?: {
53
+ header?: {
46
54
  label: import("react").ReactNode;
47
55
  }[] | undefined;
48
56
  paginatedLoop?: boolean | undefined;
49
- }, "id" | "preferences" | "missing" | "errors" | "shortcut">, "id" | "components" | "iteration" | "executeExpression" | "features" | "preferences" | "missing" | "errors" | "shortcut" | "valueMap">) => import("react/jsx-runtime").JSX.Element | null;
57
+ }, "id" | "preferences" | "missing" | "errors" | "shortcut">, "id" | "components" | "iteration" | "executeExpression" | "features" | "preferences" | "missing" | "errors" | "shortcut" | "getSuggesterStatus" | "valueMap">) => import("react/jsx-runtime").JSX.Element | null;
50
58
  export default RosterForLoopOrchestrator;
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- declare const _default: React.ComponentType<import("../../type").LunaticBaseProps<unknown> & {
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").ComponentType<import("../../type").LunaticBaseProps<unknown> & {
3
3
  lines: {
4
4
  min: number;
5
5
  max: number;
@@ -12,9 +12,13 @@ declare const _default: React.ComponentType<import("../../type").LunaticBaseProp
12
12
  logging?: import("../../../use-lunatic/commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
13
13
  bindingDependencies?: string[] | undefined;
14
14
  } | undefined) => T;
15
+ getSuggesterStatus: (name: string) => {
16
+ status: import("../../../use-lunatic/use-suggesters").SuggesterStatus;
17
+ timestamp: number;
18
+ };
15
19
  value: Record<string, unknown[]>;
16
- headers?: {
17
- label: React.ReactNode;
20
+ header?: {
21
+ label: import("react").ReactNode;
18
22
  }[] | undefined;
19
23
  paginatedLoop?: boolean | undefined;
20
24
  }>;
@@ -1,5 +1,5 @@
1
- import './roster.scss';
2
1
  import { LunaticComponentProps } from '../../type';
2
+ import './roster.scss';
3
3
  type Props = {
4
4
  nbRows: number;
5
5
  handleChange: (response: {
@@ -8,6 +8,6 @@ type Props = {
8
8
  index: number;
9
9
  [k: string]: unknown;
10
10
  }) => void;
11
- } & Pick<LunaticComponentProps<'RosterForLoop'>, 'id' | 'components' | 'executeExpression' | 'headers' | 'value' | 'management' | 'missing' | 'shortcut' | 'errors'>;
12
- declare function RosterTable({ components, nbRows, executeExpression, id, headers, value: valueMap, shortcut, missing, management, handleChange, }: Props): import("react/jsx-runtime").JSX.Element;
11
+ } & Pick<LunaticComponentProps<'RosterForLoop'>, 'id' | 'components' | 'executeExpression' | 'header' | 'value' | 'missing' | 'errors' | 'getSuggesterStatus'>;
12
+ declare function RosterTable({ components, nbRows, executeExpression, getSuggesterStatus, id, header, value: valueMap, missing, handleChange, }: Props): import("react/jsx-runtime").JSX.Element;
13
13
  export default RosterTable;
@@ -1,5 +1,5 @@
1
+ import { LunaticComponentDefinition, LunaticState } from '../../../use-lunatic/type';
1
2
  import { LunaticBaseProps } from '../../type';
2
- import { LunaticComponentDefinition } from '../../../use-lunatic/type';
3
3
  type Props = {
4
4
  id: string;
5
5
  valueMap?: Record<string, unknown>;
@@ -14,10 +14,11 @@ type Props = {
14
14
  missing?: LunaticBaseProps['missing'];
15
15
  management?: LunaticBaseProps['management'];
16
16
  executeExpression: LunaticBaseProps['executeExpression'];
17
+ getSuggesterStatus: LunaticState['getSuggesterStatus'];
17
18
  errors?: LunaticBaseProps['errors'];
18
19
  components: LunaticComponentDefinition[];
19
20
  preferences?: LunaticBaseProps['preferences'];
20
21
  shortcut?: LunaticBaseProps['shortcut'];
21
22
  };
22
- declare function Row({ id, components, valueMap, rowIndex, handleChange, features, missing, shortcut, management, preferences, executeExpression, errors, }: Props): import("react/jsx-runtime").JSX.Element;
23
+ declare function Row({ id, components, valueMap, rowIndex, handleChange, features, missing, shortcut, management, preferences, executeExpression, getSuggesterStatus, errors, }: Props): import("react/jsx-runtime").JSX.Element;
23
24
  export default Row;
@@ -1,12 +1,12 @@
1
- import React, { ReactNode } from 'react';
2
- import './default-style.scss';
1
+ import { ReactNode } from 'react';
3
2
  import { LunaticError } from '../../../use-lunatic/type';
4
3
  import { ComboBoxOption } from '../../commons/components/combo-box/combo-box.type';
5
4
  import { LunaticComponentProps } from '../../type';
5
+ import './default-style.scss';
6
6
  type Props = {
7
7
  className?: string;
8
8
  placeholder?: string;
9
- onSelect?: (s: string | null) => void;
9
+ onSelect?: (s: ComboBoxOption | null | string) => void;
10
10
  value: string | null;
11
11
  labelRenderer: LunaticComponentProps<'Suggester'>['labelRenderer'];
12
12
  optionRenderer: LunaticComponentProps<'Suggester'>['optionRenderer'];
@@ -18,6 +18,8 @@ type Props = {
18
18
  label?: ReactNode;
19
19
  description?: ReactNode;
20
20
  errors?: Record<string, LunaticError[]>;
21
+ responses?: any;
22
+ response?: any;
21
23
  };
22
- declare const _default: React.ComponentType<Props>;
24
+ declare const _default: import("react").ComponentType<Props>;
23
25
  export default _default;
@@ -1,6 +1,7 @@
1
+ import { ComboBoxOption } from '../../commons/components/combo-box/combo-box.type';
1
2
  import { LunaticComponentProps } from '../../type';
2
- type Props = Pick<LunaticComponentProps<'Suggester'>, 'storeName' | 'idbVersion' | 'id' | 'className' | 'optionRenderer' | 'labelRenderer' | 'disabled' | 'value' | 'label' | 'description' | 'getSuggesterStatus' | 'errors'> & {
3
- onSelect: (v: string | null) => void;
3
+ type Props = Pick<LunaticComponentProps<'Suggester'>, 'storeName' | 'idbVersion' | 'id' | 'className' | 'optionRenderer' | 'labelRenderer' | 'disabled' | 'value' | 'label' | 'description' | 'getSuggesterStatus' | 'errors' | 'response' | 'responses'> & {
4
+ onSelect: (v: ComboBoxOption | null) => void;
4
5
  };
5
- export declare function IDBSuggester({ storeName, idbVersion, id, className, optionRenderer, labelRenderer, onSelect, disabled, value, label, description, getSuggesterStatus, errors, }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export declare function IDBSuggester({ storeName, idbVersion, id, className, optionRenderer, labelRenderer, onSelect, disabled, value, label, description, getSuggesterStatus, errors, responses, response, }: Props): import("react/jsx-runtime").JSX.Element;
6
7
  export {};
@@ -1,3 +1,3 @@
1
1
  import { LunaticComponentProps } from '../type';
2
- declare function LunaticSuggester({ id, storeName, optionRenderer, labelRenderer, idbVersion, focused, value, handleChange, disabled, errors, label, description, preferences, declarations, missing, missingResponse, management, response, getSuggesterStatus, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
2
+ declare function LunaticSuggester({ id, storeName, optionRenderer, labelRenderer, idbVersion, focused, value, handleChange, disabled, errors, label, description, preferences, declarations, missing, missingResponse, management, response, responses, getSuggesterStatus, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
3
3
  export default LunaticSuggester;
@@ -1,7 +1,7 @@
1
- import { LunaticComponentDefinition, LunaticError, LunaticExpression, LunaticState } from '../use-lunatic/type';
2
1
  import { CSSProperties, FunctionComponent, ReactNode } from 'react';
3
- import { SuggesterStatus } from '../use-lunatic/use-suggesters';
4
2
  import useLunatic from '../use-lunatic';
3
+ import { LunaticComponentDefinition, LunaticError, LunaticExpression, LunaticState } from '../use-lunatic/type';
4
+ import { SuggesterStatus } from '../use-lunatic/use-suggesters';
5
5
  export type LunaticBaseProps<ValueType = unknown> = {
6
6
  id: string;
7
7
  handleChange: (response: {
@@ -38,6 +38,10 @@ export type LunaticBaseProps<ValueType = unknown> = {
38
38
  componentType?: string;
39
39
  questionContext?: ReactNode;
40
40
  questionInformation?: ReactNode;
41
+ getSuggesterStatus?: (name: string) => {
42
+ status: SuggesterStatus;
43
+ timestamp: number;
44
+ };
41
45
  };
42
46
  export type SuggesterOption = {
43
47
  children?: string[];
@@ -58,6 +62,7 @@ type ComponentPropsByType = {
58
62
  max: number;
59
63
  decimals: number;
60
64
  unit?: string;
65
+ dynamicUnit?: ReactNode;
61
66
  response: {
62
67
  name: string;
63
68
  };
@@ -83,8 +88,12 @@ type ComponentPropsByType = {
83
88
  iterations?: number;
84
89
  components: LunaticComponentDefinition[];
85
90
  executeExpression: LunaticState['executeExpression'];
91
+ getSuggesterStatus: (name: string) => {
92
+ status: SuggesterStatus;
93
+ timestamp: number;
94
+ };
86
95
  value: Record<string, unknown[]>;
87
- headers?: Array<{
96
+ header?: Array<{
88
97
  label: ReactNode;
89
98
  }>;
90
99
  paginatedLoop?: boolean;
@@ -97,8 +106,12 @@ type ComponentPropsByType = {
97
106
  iterations?: number;
98
107
  components: LunaticComponentDefinition[];
99
108
  executeExpression: LunaticState['executeExpression'];
109
+ getSuggesterStatus: (name: string) => {
110
+ status: SuggesterStatus;
111
+ timestamp: number;
112
+ };
100
113
  value: Record<string, unknown[]>;
101
- headers?: Array<{
114
+ header?: Array<{
102
115
  label: ReactNode;
103
116
  }>;
104
117
  paginatedLoop?: boolean;
@@ -198,6 +211,7 @@ type ComponentPropsByType = {
198
211
  name: string;
199
212
  };
200
213
  writable?: boolean;
214
+ onSelect?: any;
201
215
  };
202
216
  Textarea: LunaticBaseProps<string> & {
203
217
  cols?: number;
@@ -236,9 +250,15 @@ type ComponentPropsByType = {
236
250
  }>;
237
251
  idbVersion?: string;
238
252
  focused: boolean;
239
- response: {
253
+ response?: {
240
254
  name: string;
241
255
  };
256
+ responses?: Array<{
257
+ id: string;
258
+ response: {
259
+ name: string;
260
+ };
261
+ }>;
242
262
  };
243
263
  };
244
264
  export type LunaticComponentType = keyof ComponentPropsByType;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Hook for debug purpose that log the data that changed between 2 renders
3
+ */
4
+ export declare function useDidChange(obj: Record<string, unknown>, suffix?: string): void;
@@ -27,7 +27,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
27
27
  } | undefined;
28
28
  }) => void;
29
29
  shortcut: boolean | undefined;
30
- getSuggesterStatus: (name: string) => {
30
+ getSuggesterStatus: (name: string | undefined) => {
31
31
  status: import("../../use-suggesters").SuggesterStatus;
32
32
  timestamp: number;
33
33
  };
@@ -64,7 +64,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
64
64
  } | undefined;
65
65
  }) => void;
66
66
  shortcut: boolean | undefined;
67
- getSuggesterStatus: (name: string) => {
67
+ getSuggesterStatus: (name: string | undefined) => {
68
68
  status: import("../../use-suggesters").SuggesterStatus;
69
69
  timestamp: number;
70
70
  };
@@ -102,7 +102,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
102
102
  } | undefined;
103
103
  }) => void;
104
104
  shortcut: boolean | undefined;
105
- getSuggesterStatus: (name: string) => {
105
+ getSuggesterStatus: (name: string | undefined) => {
106
106
  status: import("../../use-suggesters").SuggesterStatus;
107
107
  timestamp: number;
108
108
  };
@@ -139,6 +139,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
139
139
  format?: string | undefined;
140
140
  dateFormat?: string | undefined;
141
141
  unit?: string | undefined;
142
+ dynamicUnit?: import("../../type-source").LabelType | undefined;
142
143
  options: {
143
144
  value: string;
144
145
  label: import("../../type-source").LabelType;
@@ -176,7 +177,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
176
177
  } | undefined;
177
178
  }) => void;
178
179
  shortcut: boolean | undefined;
179
- getSuggesterStatus: (name: string) => {
180
+ getSuggesterStatus: (name: string | undefined) => {
180
181
  status: import("../../use-suggesters").SuggesterStatus;
181
182
  timestamp: number;
182
183
  };
@@ -223,7 +224,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
223
224
  } | undefined;
224
225
  }) => void;
225
226
  shortcut: boolean | undefined;
226
- getSuggesterStatus: (name: string) => {
227
+ getSuggesterStatus: (name: string | undefined) => {
227
228
  status: import("../../use-suggesters").SuggesterStatus;
228
229
  timestamp: number;
229
230
  };
@@ -259,6 +260,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
259
260
  format?: string | undefined;
260
261
  dateFormat?: string | undefined;
261
262
  unit?: string | undefined;
263
+ dynamicUnit?: import("../../type-source").LabelType | undefined;
262
264
  options: {
263
265
  value: string;
264
266
  label: import("../../type-source").LabelType;
@@ -296,7 +298,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
296
298
  } | undefined;
297
299
  }) => void;
298
300
  shortcut: boolean | undefined;
299
- getSuggesterStatus: (name: string) => {
301
+ getSuggesterStatus: (name: string | undefined) => {
300
302
  status: import("../../use-suggesters").SuggesterStatus;
301
303
  timestamp: number;
302
304
  };
@@ -313,6 +315,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
313
315
  page: string;
314
316
  componentType: "InputNumber";
315
317
  unit: string;
318
+ dynamicUnit?: import("../../type-source").LabelType | undefined;
316
319
  response: import("../../type-source").ResponseType;
317
320
  min?: number | undefined;
318
321
  max?: number | undefined;
@@ -338,7 +341,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
338
341
  } | undefined;
339
342
  }) => void;
340
343
  shortcut: boolean | undefined;
341
- getSuggesterStatus: (name: string) => {
344
+ getSuggesterStatus: (name: string | undefined) => {
342
345
  status: import("../../use-suggesters").SuggesterStatus;
343
346
  timestamp: number;
344
347
  };
@@ -379,7 +382,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
379
382
  } | undefined;
380
383
  }) => void;
381
384
  shortcut: boolean | undefined;
382
- getSuggesterStatus: (name: string) => {
385
+ getSuggesterStatus: (name: string | undefined) => {
383
386
  status: import("../../use-suggesters").SuggesterStatus;
384
387
  timestamp: number;
385
388
  };
@@ -421,7 +424,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
421
424
  } | undefined;
422
425
  }) => void;
423
426
  shortcut: boolean | undefined;
424
- getSuggesterStatus: (name: string) => {
427
+ getSuggesterStatus: (name: string | undefined) => {
425
428
  status: import("../../use-suggesters").SuggesterStatus;
426
429
  timestamp: number;
427
430
  };
@@ -459,7 +462,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
459
462
  } | undefined;
460
463
  }) => void;
461
464
  shortcut: boolean | undefined;
462
- getSuggesterStatus: (name: string) => {
465
+ getSuggesterStatus: (name: string | undefined) => {
463
466
  status: import("../../use-suggesters").SuggesterStatus;
464
467
  timestamp: number;
465
468
  };
@@ -501,7 +504,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
501
504
  } | undefined;
502
505
  }) => void;
503
506
  shortcut: boolean | undefined;
504
- getSuggesterStatus: (name: string) => {
507
+ getSuggesterStatus: (name: string | undefined) => {
505
508
  status: import("../../use-suggesters").SuggesterStatus;
506
509
  timestamp: number;
507
510
  };
@@ -539,7 +542,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
539
542
  } | undefined;
540
543
  }) => void;
541
544
  shortcut: boolean | undefined;
542
- getSuggesterStatus: (name: string) => {
545
+ getSuggesterStatus: (name: string | undefined) => {
543
546
  status: import("../../use-suggesters").SuggesterStatus;
544
547
  timestamp: number;
545
548
  };
@@ -581,7 +584,49 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
581
584
  } | undefined;
582
585
  }) => void;
583
586
  shortcut: boolean | undefined;
584
- getSuggesterStatus: (name: string) => {
587
+ getSuggesterStatus: (name: string | undefined) => {
588
+ status: import("../../use-suggesters").SuggesterStatus;
589
+ timestamp: number;
590
+ };
591
+ label: import("../../type-source").LabelType;
592
+ declarations: import("../../type-source").DeclarationType[];
593
+ conditionFilter: import("../../type-source").ConditionFilterType;
594
+ controls?: import("../../type-source").ControlType[] | undefined;
595
+ id: string;
596
+ storeName: string;
597
+ bindingDependencies: string[];
598
+ hierarchy: import("../../type-source").Hierarchy;
599
+ missingResponse: import("../../type-source").ResponseType;
600
+ mandatory?: boolean | undefined;
601
+ page: string;
602
+ componentType: "Suggester";
603
+ response?: import("../../type-source").ResponseType | undefined;
604
+ responses?: {
605
+ id: string;
606
+ response: import("../../type-source").ResponseType;
607
+ }[] | undefined;
608
+ } | {
609
+ handleChange: (response: {
610
+ name: string;
611
+ }, value: any, args?: Record<string, unknown> | undefined) => void;
612
+ executeExpression: <T extends unknown = unknown>(expression: unknown, args?: {
613
+ iteration?: number | undefined;
614
+ linksIterations?: number[] | undefined;
615
+ logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
616
+ bindingDependencies?: string[] | undefined;
617
+ } | undefined) => T;
618
+ preferences: ["COLLECTED"];
619
+ goToPage: (page: {
620
+ page: string;
621
+ iteration?: number | undefined;
622
+ nbIterations?: number | undefined;
623
+ subPage?: number | undefined;
624
+ roundabout?: {
625
+ page: string;
626
+ } | undefined;
627
+ }) => void;
628
+ shortcut: boolean | undefined;
629
+ getSuggesterStatus: (name: string | undefined) => {
585
630
  status: import("../../use-suggesters").SuggesterStatus;
586
631
  timestamp: number;
587
632
  };
@@ -623,7 +668,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
623
668
  } | undefined;
624
669
  }) => void;
625
670
  shortcut: boolean | undefined;
626
- getSuggesterStatus: (name: string) => {
671
+ getSuggesterStatus: (name: string | undefined) => {
627
672
  status: import("../../use-suggesters").SuggesterStatus;
628
673
  timestamp: number;
629
674
  };
@@ -664,7 +709,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
664
709
  } | undefined;
665
710
  }) => void;
666
711
  shortcut: boolean | undefined;
667
- getSuggesterStatus: (name: string) => {
712
+ getSuggesterStatus: (name: string | undefined) => {
668
713
  status: import("../../use-suggesters").SuggesterStatus;
669
714
  timestamp: number;
670
715
  };
@@ -701,7 +746,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
701
746
  } | undefined;
702
747
  }) => void;
703
748
  shortcut: boolean | undefined;
704
- getSuggesterStatus: (name: string) => {
749
+ getSuggesterStatus: (name: string | undefined) => {
705
750
  status: import("../../use-suggesters").SuggesterStatus;
706
751
  timestamp: number;
707
752
  };
@@ -101,6 +101,7 @@ declare function fillSpecificExpressions(component: DeepTranslateExpression<Luna
101
101
  format?: string | undefined;
102
102
  dateFormat?: string | undefined;
103
103
  unit?: string | undefined;
104
+ dynamicUnit?: import("../../type-source").LabelType | undefined;
104
105
  options: {
105
106
  value: string;
106
107
  label: import("../../type-source").LabelType;
@@ -199,6 +200,7 @@ declare function fillSpecificExpressions(component: DeepTranslateExpression<Luna
199
200
  format?: string | undefined;
200
201
  dateFormat?: string | undefined;
201
202
  unit?: string | undefined;
203
+ dynamicUnit?: import("../../type-source").LabelType | undefined;
202
204
  options: {
203
205
  value: string;
204
206
  label: import("../../type-source").LabelType;
@@ -242,6 +244,7 @@ declare function fillSpecificExpressions(component: DeepTranslateExpression<Luna
242
244
  page: string;
243
245
  componentType: "InputNumber";
244
246
  unit: string;
247
+ dynamicUnit?: import("react").ReactNode;
245
248
  response: {
246
249
  name: string;
247
250
  };
@@ -433,6 +436,39 @@ declare function fillSpecificExpressions(component: DeepTranslateExpression<Luna
433
436
  response: {
434
437
  name: string;
435
438
  };
439
+ } | {
440
+ label: import("react").ReactNode;
441
+ declarations: import("../../type-source").DeclarationType[];
442
+ conditionFilter: import("react").ReactNode;
443
+ controls?: import("../../type-source").ControlType[] | undefined;
444
+ id: string;
445
+ storeName: string;
446
+ bindingDependencies: string[];
447
+ hierarchy: {
448
+ sequence: {
449
+ label: import("react").ReactNode;
450
+ id: string;
451
+ page: string;
452
+ };
453
+ subSequence?: {
454
+ label: import("react").ReactNode;
455
+ id: string;
456
+ page: string;
457
+ } | undefined;
458
+ };
459
+ missingResponse: {
460
+ name: string;
461
+ };
462
+ mandatory?: boolean | undefined;
463
+ page: string;
464
+ componentType: "Suggester";
465
+ response?: {
466
+ name: string;
467
+ } | undefined;
468
+ responses?: {
469
+ id: string;
470
+ response: import("../../type-source").ResponseType;
471
+ }[] | undefined;
436
472
  } | {
437
473
  label: import("react").ReactNode;
438
474
  declarations: import("../../type-source").DeclarationType[];
@@ -1,10 +1,10 @@
1
1
  import { LunaticComponentDefinition } from '../../type';
2
2
  export declare const isLoopComponent: (component: LunaticComponentDefinition) => component is (import("../../type-source").ComponentTypeBase & import("../../type-source").ComponentRosterForLoopType & {
3
- componentType: "Sequence" | "Subsequence" | "RosterForLoop" | "Loop" | "Table" | "Input" | "InputNumber" | "Datepicker" | "CheckboxGroup" | "CheckboxOne" | "CheckboxBoolean" | "Radio" | "Dropdown" | "Textarea" | "FilterDescription" | "PairwiseLinks" | "ComponentSet" | "Roundabout";
3
+ componentType: "Sequence" | "Subsequence" | "RosterForLoop" | "Loop" | "Table" | "Input" | "InputNumber" | "Datepicker" | "CheckboxGroup" | "CheckboxOne" | "CheckboxBoolean" | "Radio" | "Dropdown" | "Textarea" | "FilterDescription" | "PairwiseLinks" | "Suggester" | "ComponentSet" | "Roundabout";
4
4
  } & {
5
5
  componentType: 'Loop' | 'RosterForLoop';
6
6
  }) | (import("../../type-source").ComponentTypeBase & import("../../type-source").ComponentLoopType & {
7
- componentType: "Sequence" | "Subsequence" | "RosterForLoop" | "Loop" | "Table" | "Input" | "InputNumber" | "Datepicker" | "CheckboxGroup" | "CheckboxOne" | "CheckboxBoolean" | "Radio" | "Dropdown" | "Textarea" | "FilterDescription" | "PairwiseLinks" | "ComponentSet" | "Roundabout";
7
+ componentType: "Sequence" | "Subsequence" | "RosterForLoop" | "Loop" | "Table" | "Input" | "InputNumber" | "Datepicker" | "CheckboxGroup" | "CheckboxOne" | "CheckboxBoolean" | "Radio" | "Dropdown" | "Textarea" | "FilterDescription" | "PairwiseLinks" | "Suggester" | "ComponentSet" | "Roundabout";
8
8
  } & {
9
9
  componentType: 'Loop' | 'RosterForLoop';
10
10
  });
@@ -101,7 +101,7 @@ export declare function reduceOverviewOnInit(state: LunaticState, action: Action
101
101
  page: string;
102
102
  } | undefined;
103
103
  }) => void;
104
- getSuggesterStatus: (name: string) => {
104
+ getSuggesterStatus: (name: string | undefined) => {
105
105
  status: import("../../use-suggesters").SuggesterStatus;
106
106
  timestamp: number;
107
107
  };
@@ -1,3 +1,108 @@
1
1
  import { ActionUpdateState } from '../actions';
2
2
  import { LunaticState } from '../type';
3
- export declare function reduceUpdateState(state: LunaticState, action: ActionUpdateState): LunaticState;
3
+ export declare function reduceUpdateState(state: LunaticState, action: ActionUpdateState): {
4
+ getSuggesterStatus: (name: string) => {
5
+ status: import("../use-suggesters").SuggesterStatus;
6
+ timestamp: number;
7
+ };
8
+ variables: {
9
+ [variableName: string]: import("../type").LunaticStateVariable;
10
+ };
11
+ pages: {
12
+ [key: string]: {
13
+ components: import("../type-source").ComponentType[];
14
+ isLoop: false;
15
+ iterations?: undefined;
16
+ loopDependencies?: undefined;
17
+ subPages?: undefined;
18
+ } | {
19
+ components: import("../type-source").ComponentType[];
20
+ isLoop: true;
21
+ iterations: import("../type").ExpressionType;
22
+ loopDependencies: string[];
23
+ subPages: string[];
24
+ };
25
+ [key: number]: {
26
+ components: import("../type-source").ComponentType[];
27
+ isLoop: false;
28
+ iterations?: undefined;
29
+ loopDependencies?: undefined;
30
+ subPages?: undefined;
31
+ } | {
32
+ components: import("../type-source").ComponentType[];
33
+ isLoop: true;
34
+ iterations: import("../type").ExpressionType;
35
+ loopDependencies: string[];
36
+ subPages: string[];
37
+ };
38
+ };
39
+ isInLoop: boolean;
40
+ isFirstPage: boolean;
41
+ isLastPage: boolean;
42
+ features: "VTL"[];
43
+ preferences: ["COLLECTED"];
44
+ savingType: "COLLECTED";
45
+ cleaning: {
46
+ [variableName: string]: {
47
+ [variableName: string]: string;
48
+ };
49
+ };
50
+ missingBlock: {
51
+ [variable: string]: string[];
52
+ };
53
+ resizing: {
54
+ [variable: string]: {
55
+ size: string;
56
+ variables: string[];
57
+ sizeForLinksVariables?: unknown;
58
+ linksVariables?: string[] | undefined;
59
+ };
60
+ };
61
+ overview: import("../type").LunaticOverviewItem[];
62
+ pager: {
63
+ lastReachedPage?: string | undefined;
64
+ maxPage: string;
65
+ nbSubPages?: number | undefined;
66
+ page: string;
67
+ subPage?: number | undefined;
68
+ iteration?: number | undefined;
69
+ nbIterations?: number | undefined;
70
+ shallowIteration?: number | undefined;
71
+ linksIterations?: number[] | undefined;
72
+ roundabout?: {
73
+ page: string;
74
+ } | undefined;
75
+ };
76
+ waiting: boolean;
77
+ errors?: {
78
+ [page: string]: {
79
+ [id: string]: import("../type").LunaticError[];
80
+ };
81
+ } | undefined;
82
+ currentErrors?: {
83
+ [id: string]: import("../type").LunaticError[];
84
+ } | undefined;
85
+ modalErrors?: Record<string, import("../type").LunaticError[]> | undefined;
86
+ handleChange: (response: {
87
+ name: string;
88
+ }, value: any, args?: Record<string, unknown> | undefined) => void;
89
+ executeExpression: <T extends unknown = unknown>(expression: unknown, args?: {
90
+ iteration?: number | undefined;
91
+ linksIterations?: number[] | undefined;
92
+ logging?: import("../commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
93
+ bindingDependencies?: string[] | undefined;
94
+ } | undefined) => T;
95
+ updateBindings: (variableName: string, value: unknown) => unknown;
96
+ activeControls: boolean;
97
+ shortcut?: boolean | undefined;
98
+ management?: boolean | undefined;
99
+ goToPage: (page: {
100
+ page: string;
101
+ iteration?: number | undefined;
102
+ nbIterations?: number | undefined;
103
+ subPage?: number | undefined;
104
+ roundabout?: {
105
+ page: string;
106
+ } | undefined;
107
+ }) => void;
108
+ };
@@ -6,6 +6,6 @@ import { LunaticComponentDefinition } from './type';
6
6
  * des composant à part entière.
7
7
  * D'autres composant pourraient un jour figurer ici.
8
8
  */
9
- export declare function replaceComponentSequence(components: Array<LunaticComponentDefinition>): ((import("./type-source").ComponentTypeBase & import("./type-source").ComponentSequenceType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentSubSequenceType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentRosterForLoopType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentLoopType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentTableType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentNumberType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentDatePickerType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentCheckboxGroupType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentCheckboxBooleanType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentRadioType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentFilterDescriptionType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentDropdownType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentPairWiseLinksType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentRoundaboutType) | (import("./type-source").ComponentTypeBase & {
9
+ export declare function replaceComponentSequence(components: Array<LunaticComponentDefinition>): ((import("./type-source").ComponentTypeBase & import("./type-source").ComponentSequenceType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentSubSequenceType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentRosterForLoopType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentLoopType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentTableType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentNumberType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentDatePickerType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentCheckboxGroupType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentCheckboxBooleanType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentRadioType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentFilterDescriptionType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentDropdownType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentSuggesterType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentPairWiseLinksType) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentRoundaboutType) | (import("./type-source").ComponentTypeBase & {
10
10
  componentType: "Input" | "CheckboxOne" | "Textarea";
11
11
  }) | (import("./type-source").ComponentTypeBase & import("./type-source").ComponentComponentSet))[];