@inseefr/lunatic 3.0.8 → 3.0.9

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.
@@ -238,7 +238,7 @@ export type VariableScalarValue = string | number | null;
238
238
  /**
239
239
  * A lunatic survey unit
240
240
  */
241
- export interface LunaticSource {
241
+ export type LunaticSource = {
242
242
  label?: VTLExpression;
243
243
  pagination?: 'question' | 'sequence';
244
244
  enoCoreVersion?: string;
@@ -284,8 +284,8 @@ export interface LunaticSource {
284
284
  };
285
285
  };
286
286
  maxPage?: string;
287
- }
288
- export interface VTLExpression {
287
+ };
288
+ export type VTLExpression = {
289
289
  /**
290
290
  * Valid VTL Expression
291
291
  */
@@ -295,8 +295,8 @@ export interface VTLExpression {
295
295
  */
296
296
  bindingDependencies?: string[];
297
297
  type: 'VTL' | 'VTL|MD' | 'TXT';
298
- }
299
- export interface ComponentDefinitionBase {
298
+ };
299
+ export type ComponentDefinitionBase = {
300
300
  label?: VTLExpression;
301
301
  description?: VTLExpression;
302
302
  declarations?: Declaration[];
@@ -305,14 +305,14 @@ export interface ComponentDefinitionBase {
305
305
  id: string;
306
306
  mandatory?: boolean;
307
307
  missingResponse?: ResponseDefinition;
308
- }
309
- export interface Declaration {
308
+ };
309
+ export type Declaration = {
310
310
  id: string;
311
311
  declarationType: 'INSTRUCTION' | 'COMMENT' | 'HELP' | 'CODECARD' | 'WARNING' | 'STATEMENT';
312
312
  position: 'AFTER_QUESTION_TEXT' | 'AFTER_RESPONSE' | 'BEFORE_QUESTION_TEXT' | 'DETACHABLE';
313
313
  label: VTLExpression;
314
- }
315
- export interface VTLScalarExpression {
314
+ };
315
+ export type VTLScalarExpression = {
316
316
  /**
317
317
  * Valid VTL Expression
318
318
  */
@@ -322,8 +322,8 @@ export interface VTLScalarExpression {
322
322
  */
323
323
  bindingDependencies?: string[];
324
324
  type: 'VTL';
325
- }
326
- export interface ControlDefinition {
325
+ };
326
+ export type ControlDefinition = {
327
327
  id: string;
328
328
  criticality: 'INFO' | 'WARN' | 'ERROR';
329
329
  typeOfControl?: 'FORMAT' | 'CONSISTENCY';
@@ -332,22 +332,22 @@ export interface ControlDefinition {
332
332
  bindingDependencies?: string[];
333
333
  type?: 'roundabout' | 'ROW' | 'simple';
334
334
  iterations?: VTLScalarExpression;
335
- }
336
- export interface ResponseDefinition {
335
+ };
336
+ export type ResponseDefinition = {
337
337
  name: string;
338
- }
339
- export interface ComponentText {
338
+ };
339
+ export type ComponentText = {
340
340
  componentType: 'Text';
341
341
  label: VTLExpression;
342
- }
343
- export interface ComponentAccordion {
342
+ };
343
+ export type ComponentAccordion = {
344
344
  componentType: 'Accordion';
345
345
  items: {
346
346
  label: VTLExpression;
347
347
  body: VTLExpression;
348
348
  }[];
349
- }
350
- export interface SuggesterDefinition {
349
+ };
350
+ export type SuggesterDefinition = {
351
351
  /**
352
352
  * Name of the list (will be used as storeName for suggester)
353
353
  */
@@ -401,4 +401,4 @@ export interface SuggesterDefinition {
401
401
  } | {
402
402
  type: 'soft';
403
403
  };
404
- }
404
+ };
@@ -1,6 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { LunaticComponentDefinition, LunaticExpression, LunaticReducerState } from '../../type';
3
- type UntranslatedProperties = 'expressions' | 'sections';
3
+ type UntranslatedProperties = 'expressions' | 'sections' | 'body' | 'controls' | 'components';
4
4
  export type DeepTranslateExpression<T> = T extends LunaticExpression ? ReactNode : T extends (infer ElementType)[] ? DeepTranslateExpression<ElementType>[] : T extends {
5
5
  [k: string | number]: unknown;
6
6
  } ? {
@@ -1 +1 @@
1
- {"version":3,"file":"fill-component-expressions.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-component-expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fill-component-expressions.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-component-expressions.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export const fillComponent = (component, state) => {
25
25
  missingResponse: getMissingResponseProp(component, state),
26
26
  management: state.management,
27
27
  iterations: getIterationsProp(component, state),
28
- options: getOptionsProp(interpretedProps, state, value),
28
+ options: getOptionsProp(interpretedProps, state.variables, state.handleChanges, state.pager.iteration, value),
29
29
  ...getComponentTypeProps(interpretedProps, state),
30
30
  // This is too dynamic to be typed correctly, so we allow any here
31
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fill-components.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-components.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAezD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC5B,SAAqC,EACrC,KAAwB,EACgC,EAAE;IAC1D,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO;QACN,GAAG,gBAAgB;QACnB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;QAChC,QAAQ,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;QAChE,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC;QACzD,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC;QAC/C,OAAO,EAAE,cAAc,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC;QACvD,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,CAAC;QACjD,kEAAkE;KAC3D,CAAC;AACV,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,UAAwC,EACxC,KAAwB;IAExB,OAAO,UAAU;SACf,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"fill-components.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-components.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAezD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC5B,SAAqC,EACrC,KAAwB,EACgC,EAAE;IAC1D,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO;QACN,GAAG,gBAAgB;QACnB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;QAChC,QAAQ,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;QAChE,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC;QACzD,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC;QAC/C,OAAO,EAAE,cAAc,CACtB,gBAAgB,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,KAAK,CAAC,SAAS,EACrB,KAAK,CACL;QACD,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,CAAC;QACjD,kEAAkE;KAC3D,CAAC;AACV,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,UAAwC,EACxC,KAAwB;IAExB,OAAO,UAAU;SACf,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { LunaticComponentDefinition } from '../type';
1
+ import type { LunaticChangesHandler, LunaticComponentDefinition, LunaticState } from '../type';
2
2
  import type { ReactNode } from 'react';
3
- import { fillComponent } from '../commons/fill-components/fill-components';
4
3
  import type { DeepTranslateExpression } from '../commons/fill-components/fill-component-expressions';
4
+ import type { LunaticVariablesStore } from '../commons/variables/lunatic-variables-store';
5
5
  export type InterpretedOption = {
6
6
  label: ReactNode;
7
7
  value?: string;
@@ -15,22 +15,22 @@ export type InterpretedOption = {
15
15
  /**
16
16
  * Compute options for checkboxes / radios
17
17
  */
18
- export declare function getOptionsProp(definition: DeepTranslateExpression<LunaticComponentDefinition>, state: Parameters<typeof fillComponent>[1], value: unknown): {
19
- label: import("../../type.source").VTLExpression;
18
+ export declare function getOptionsProp(definition: DeepTranslateExpression<LunaticComponentDefinition>, variables: LunaticVariablesStore, handleChanges: LunaticChangesHandler, pagerIteration: LunaticState['pager']['iteration'], value: unknown): {
19
+ label: ReactNode;
20
20
  name: string;
21
21
  id: string;
22
22
  checked: boolean;
23
- description: import("../../type.source").VTLExpression | undefined;
24
- detailLabel: import("../../type.source").VTLExpression | undefined;
23
+ description: ReactNode;
24
+ detailLabel: ReactNode;
25
25
  detailValue: unknown;
26
26
  onCheck: (checked: boolean) => void;
27
27
  onDetailChange: ((v: string) => void) | undefined;
28
28
  }[] | {
29
- label: import("../../type.source").VTLExpression;
30
- description: import("../../type.source").VTLExpression | undefined;
29
+ label: ReactNode;
30
+ description: ReactNode;
31
31
  value: string | boolean;
32
32
  checked: boolean;
33
- detailLabel: import("../../type.source").VTLExpression | undefined;
33
+ detailLabel: ReactNode;
34
34
  onCheck: () => void;
35
35
  detailValue: unknown;
36
36
  onDetailChange: ((value: string) => void) | null;
@@ -1,31 +1,27 @@
1
- import { fillComponent } from '../commons/fill-components/fill-components';
2
1
  import { isNumber } from '../../utils/number';
3
2
  /**
4
3
  * Compute options for checkboxes / radios
5
4
  */
6
- export function getOptionsProp(definition, state, value) {
5
+ export function getOptionsProp(definition, variables, handleChanges, pagerIteration, value) {
6
+ const iteration = isNumber(pagerIteration) ? [pagerIteration] : undefined;
7
+ //const iteration = pagerIteration ? [pagerIteration] : undefined;
7
8
  if (definition.componentType === 'CheckboxGroup') {
8
- const iteration = state.pager.iteration
9
- ? [state.pager.iteration]
10
- : undefined;
11
9
  return definition.responses.map((response) => ({
12
10
  label: response.label,
13
11
  name: response.response.name,
14
12
  id: response.id,
15
- checked: !!state.variables.get(response.response.name, iteration),
13
+ checked: !!variables.get(response.response.name, iteration),
16
14
  description: response.description,
17
15
  detailLabel: response.detail?.label,
18
16
  detailValue: response.detail?.response
19
- ? state.variables.get(response.detail.response.name, iteration)
17
+ ? variables.get(response.detail.response.name, iteration)
20
18
  : undefined,
21
19
  onCheck: (checked) => {
22
- state.handleChanges([{ name: response.response.name, value: checked }]);
20
+ handleChanges([{ name: response.response.name, value: checked }]);
23
21
  },
24
22
  onDetailChange: response.detail?.response
25
23
  ? (v) => {
26
- state.handleChanges([
27
- { name: response.detail.response.name, value: v },
28
- ]);
24
+ handleChanges([{ name: response.detail.response.name, value: v }]);
29
25
  }
30
26
  : undefined,
31
27
  }));
@@ -40,20 +36,14 @@ export function getOptionsProp(definition, state, value) {
40
36
  checked: value === option.value,
41
37
  detailLabel: 'detail' in option ? option.detail?.label : undefined,
42
38
  onCheck: () => {
43
- state.handleChanges([
44
- { name: definition.response.name, value: option.value },
45
- ]);
39
+ handleChanges([{ name: definition.response.name, value: option.value }]);
46
40
  },
47
41
  detailValue: 'detail' in option && option.detail
48
- ? state.variables.get(option.detail.response.name, isNumber(state.pager.iteration)
49
- ? [state.pager.iteration]
50
- : undefined)
42
+ ? variables.get(option.detail.response.name, iteration)
51
43
  : null,
52
44
  onDetailChange: 'detail' in option && option.detail
53
45
  ? (value) => {
54
- state.handleChanges([
55
- { name: option.detail.response.name, value },
56
- ]);
46
+ handleChanges([{ name: option.detail.response.name, value }]);
57
47
  }
58
48
  : null,
59
49
  }));
@@ -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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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,57 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
2
+ import { LunaticVariablesStore } from '../commons/variables/lunatic-variables-store';
3
+ import { getOptionsProp } from './propOptions';
4
+ describe('getOptionsProp()', () => {
5
+ let variables;
6
+ const checkboxGroupDefinition = {
7
+ id: 'CheckboxGroup',
8
+ componentType: 'CheckboxGroup',
9
+ responses: [
10
+ {
11
+ label: 'Option 1',
12
+ response: { name: 'O1' },
13
+ id: 'id1',
14
+ },
15
+ {
16
+ label: 'Option 2',
17
+ response: { name: 'O2' },
18
+ id: 'id2',
19
+ },
20
+ ],
21
+ };
22
+ let mockChange;
23
+ beforeEach(() => {
24
+ mockChange = vi.fn();
25
+ variables = new LunaticVariablesStore();
26
+ });
27
+ describe('CheckboxGroup', () => {
28
+ it('should check boxes', () => {
29
+ variables.set('O2', false);
30
+ let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined);
31
+ expect(options[1].checked).toBe(false);
32
+ variables.set('O2', true);
33
+ options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined);
34
+ expect(options[1].checked).toBe(true);
35
+ });
36
+ it('should check boxes correctly within iteration', () => {
37
+ variables.set('O1', []);
38
+ variables.set('O2', []);
39
+ let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined);
40
+ expect(options.filter((o) => o.checked), 'Nothing checked when variable empty').toHaveLength(0);
41
+ variables.set('O1', [true, 0]);
42
+ options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined);
43
+ expect(options[0].checked).toBe(true);
44
+ expect(options[1].checked).toBe(false);
45
+ });
46
+ it('should create handleChange correctly', () => {
47
+ variables.set('O1', [true, false]);
48
+ variables.set('O2', [false, true]);
49
+ let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 1, undefined);
50
+ options[1].onCheck(false);
51
+ expect(mockChange).toHaveBeenLastCalledWith([
52
+ { name: 'O2', value: false },
53
+ ]);
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=propOptions.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propOptions.spec.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.spec.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export function autoExploreLoop(state, direction = 'forward') {
11
11
  let hasExploredLoop = false;
12
12
  const isForward = direction === 'forward';
13
13
  const goInsideSubpage = (subPages, nbIteration) => {
14
+ // For empty loop jump to the next page
15
+ if (nbIteration === 0) {
16
+ newPager.page += isForward ? 1 : -1;
17
+ hasExploredLoop = true;
18
+ return;
19
+ }
14
20
  const maxSubPage = subPages.length;
15
21
  const firstSubPage = pageStringToNumbers(subPages[isForward ? 0 : maxSubPage - 1]);
16
22
  newPager.page = firstSubPage[0];
@@ -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,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "3.0.8",
3
+ "version": "3.0.9",
4
4
  "description": "Library of questionnaire components",
5
5
  "type": "module",
6
6
  "repository": {