@inseefr/lunatic 3.4.11-rc.0 → 3.5.0-rc.0

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 (104) hide show
  1. package/components/Loop/Loop.js +7 -27
  2. package/components/Loop/Loop.js.map +1 -1
  3. package/components/RosterForLoop/RosterForLoop.js +8 -37
  4. package/components/RosterForLoop/RosterForLoop.js.map +1 -1
  5. package/components/Sequence/Sequence.d.ts +1 -1
  6. package/components/Subsequence/Subsequence.d.ts +1 -1
  7. package/components/library.d.ts +2 -2
  8. package/esm/components/Loop/Loop.js +7 -27
  9. package/esm/components/Loop/Loop.js.map +1 -1
  10. package/esm/components/RosterForLoop/RosterForLoop.js +8 -34
  11. package/esm/components/RosterForLoop/RosterForLoop.js.map +1 -1
  12. package/esm/components/Sequence/Sequence.d.ts +1 -1
  13. package/esm/components/Subsequence/Subsequence.d.ts +1 -1
  14. package/esm/components/library.d.ts +2 -2
  15. package/esm/hooks/useArticulation.d.ts +58 -0
  16. package/esm/hooks/useArticulation.js +81 -0
  17. package/esm/hooks/useArticulation.js.map +1 -0
  18. package/esm/i18n/dictionary.d.ts +0 -8
  19. package/esm/i18n/dictionary.js +0 -5
  20. package/esm/i18n/dictionary.js.map +1 -1
  21. package/esm/i18n/index.d.ts +1 -1
  22. package/esm/type.source.js +1 -0
  23. package/esm/type.source.js.map +1 -1
  24. package/esm/use-lunatic/commons/variables/behaviours/resizing-behaviour.js +7 -23
  25. package/esm/use-lunatic/commons/variables/behaviours/resizing-behaviour.js.map +1 -1
  26. package/esm/use-lunatic/commons/variables/lunatic-variables-store.d.ts +1 -3
  27. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js +1 -1
  28. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  29. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js +1 -66
  30. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  31. package/esm/use-lunatic/props/getComponentTypeProps.d.ts +4 -4
  32. package/esm/use-lunatic/reducer/commons/index.d.ts +1 -0
  33. package/esm/use-lunatic/reducer/commons/index.js +1 -0
  34. package/esm/use-lunatic/reducer/commons/index.js.map +1 -1
  35. package/esm/use-lunatic/reducer/commons/resize-array-variable.d.ts +5 -0
  36. package/esm/use-lunatic/reducer/commons/resize-array-variable.js +21 -0
  37. package/esm/use-lunatic/reducer/commons/resize-array-variable.js.map +1 -0
  38. package/esm/use-lunatic/reducer/reducerInitializer.d.ts +2 -2
  39. package/esm/use-lunatic/reducer/reducerInitializer.js +31 -24
  40. package/esm/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  41. package/esm/use-lunatic/type.d.ts +0 -1
  42. package/esm/utils/array.d.ts +0 -4
  43. package/esm/utils/array.js +2 -15
  44. package/esm/utils/array.js.map +1 -1
  45. package/esm/utils/array.spec.js +1 -12
  46. package/esm/utils/array.spec.js.map +1 -1
  47. package/hooks/useArticulation.d.ts +58 -0
  48. package/hooks/useArticulation.js +81 -0
  49. package/hooks/useArticulation.js.map +1 -0
  50. package/i18n/dictionary.d.ts +0 -8
  51. package/i18n/dictionary.js +0 -5
  52. package/i18n/dictionary.js.map +1 -1
  53. package/i18n/index.d.ts +1 -1
  54. package/package.json +20 -4
  55. package/src/components/Loop/Loop.tsx +12 -42
  56. package/src/components/RosterForLoop/RosterForLoop.tsx +2 -42
  57. package/src/components/RosterForLoop/__snapshots__/RosterForLoop.spec.tsx.snap +0 -18
  58. package/src/hooks/useArticulation.ts +124 -0
  59. package/src/i18n/dictionary.ts +0 -5
  60. package/src/stories/behaviour/articulation/articulation.stories.tsx +105 -0
  61. package/src/stories/behaviour/articulation/roundabout.json +348 -0
  62. package/src/stories/behaviour/performance/performance.stories.jsx +1 -1
  63. package/src/stories/pairwise/data.json +1 -1
  64. package/src/stories/pairwise/source.json +1 -3
  65. package/src/stories/utils/{SchemaValidator.jsx → SchemaValidator.tsx} +1 -1
  66. package/src/stories/utils/{orchestrator.jsx → orchestrator.tsx} +13 -9
  67. package/src/stories/utils/{overview.jsx → overview.tsx} +2 -0
  68. package/src/type.source.ts +1 -0
  69. package/src/use-lunatic/__snapshots__/use-lunatic.test.ts.snap +323 -0
  70. package/src/use-lunatic/commons/variables/behaviours/resizing-behaviour.ts +10 -35
  71. package/src/use-lunatic/commons/variables/lunatic-variables-store.spec.ts +1 -68
  72. package/src/use-lunatic/commons/variables/lunatic-variables-store.ts +2 -4
  73. package/src/use-lunatic/reducer/commons/index.ts +1 -0
  74. package/src/use-lunatic/reducer/commons/resize-array-variable.ts +28 -0
  75. package/src/use-lunatic/reducer/reducerInitializer.tsx +40 -29
  76. package/src/use-lunatic/type.ts +0 -1
  77. package/src/utils/array.spec.ts +1 -18
  78. package/src/utils/array.ts +3 -21
  79. package/tsconfig.build.tsbuildinfo +1 -1
  80. package/type.source.js +1 -0
  81. package/type.source.js.map +1 -1
  82. package/use-lunatic/commons/variables/behaviours/resizing-behaviour.js +6 -22
  83. package/use-lunatic/commons/variables/behaviours/resizing-behaviour.js.map +1 -1
  84. package/use-lunatic/commons/variables/lunatic-variables-store.d.ts +1 -3
  85. package/use-lunatic/commons/variables/lunatic-variables-store.js +1 -1
  86. package/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  87. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js +1 -66
  88. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  89. package/use-lunatic/props/getComponentTypeProps.d.ts +4 -4
  90. package/use-lunatic/reducer/commons/index.d.ts +1 -0
  91. package/use-lunatic/reducer/commons/index.js +6 -0
  92. package/use-lunatic/reducer/commons/index.js.map +1 -1
  93. package/use-lunatic/reducer/commons/resize-array-variable.d.ts +5 -0
  94. package/use-lunatic/reducer/commons/resize-array-variable.js +23 -0
  95. package/use-lunatic/reducer/commons/resize-array-variable.js.map +1 -0
  96. package/use-lunatic/reducer/reducerInitializer.d.ts +2 -2
  97. package/use-lunatic/reducer/reducerInitializer.js +31 -24
  98. package/use-lunatic/reducer/reducerInitializer.js.map +1 -1
  99. package/use-lunatic/type.d.ts +0 -1
  100. package/utils/array.d.ts +0 -4
  101. package/utils/array.js +2 -16
  102. package/utils/array.js.map +1 -1
  103. package/utils/array.spec.js +0 -11
  104. package/utils/array.spec.js.map +1 -1
@@ -44,36 +44,16 @@ function Loop({ lines, iterations, value, handleChanges, getComponents, errors,
44
44
  handleChanges(newResponses);
45
45
  }
46
46
  }, [nbRows, handleChanges, value]);
47
- const removeRowWithIndex = (0, react_1.useCallback)((indexToRemove) => {
48
- if (nbRows <= min) {
49
- return;
50
- }
51
- /**
52
- * Case 0: trying to delete
53
- */
54
- if (indexToRemove >= nbRows || indexToRemove < 0) {
55
- return;
56
- }
57
- const newResponses = Object.entries(value).map(([k, v]) => {
58
- return {
59
- name: k,
60
- value: v?.filter((_, i) => i !== indexToRemove),
61
- removedIndex: indexToRemove,
62
- };
63
- });
64
- handleChanges(newResponses);
65
- setNbRows((n) => n - 1);
66
- }, [nbRows, min, value, handleChanges]);
67
47
  if (nbRows <= 0) {
68
48
  return null;
69
49
  }
70
- return ((0, jsx_runtime_1.jsxs)(exports.CustomLoop, { ...props, errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: [(0, array_1.times)(nbRows, (n) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(LunaticComponents_1.LunaticComponents, { blocklist: constant_1.blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
71
- ...props,
72
- ...c,
73
- iteration: n,
74
- id: `${c.id}-${n}`,
75
- errors,
76
- }) }, n), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: () => removeRowWithIndex(n), disabled: nbRows === 1, children: i18n_1.default.DEFAULT_BUTTON_REMOVE_THAT_ROW })] }))), (0, jsx_runtime_1.jsx)("br", {})] }));
50
+ return ((0, jsx_runtime_1.jsx)(exports.CustomLoop, { ...props, errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: (0, array_1.times)(nbRows, (n) => ((0, jsx_runtime_1.jsx)(LunaticComponents_1.LunaticComponents, { blocklist: constant_1.blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
51
+ ...props,
52
+ ...c,
53
+ iteration: n,
54
+ id: `${c.id}-${n}`,
55
+ errors,
56
+ }) }, n))) }));
77
57
  }
78
58
  exports.CustomLoop = (0, slottableComponent_1.slottableComponent)('Loop', (props) => {
79
59
  const { declarations, id, label, canControlRows, children, errors, addRow, removeRow, } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/components/Loop/Loop.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/components/Loop/Loop.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.RosterForLoop = void 0;
7
4
  const jsx_runtime_1 = require("react/jsx-runtime");
8
5
  const react_1 = require("react");
9
6
  const Table_1 = require("../shared/Table");
10
7
  const array_1 = require("../../utils/array");
11
- const i18n_1 = __importDefault(require("../../i18n"));
12
8
  const LunaticComponents_1 = require("../LunaticComponents");
13
9
  const constant_1 = require("../Loop/constant");
14
10
  const ComponentErrors_1 = require("../shared/ComponentErrors/ComponentErrors");
15
11
  const Loop_1 = require("../Loop/Loop");
16
- const Button_1 = require("../shared/Button/Button");
17
12
  const DEFAULT_MIN_ROWS = 1;
18
13
  const DEFAULT_MAX_ROWS = 12;
19
14
  /**
@@ -34,7 +29,6 @@ const RosterForLoop = (props) => {
34
29
  setNbRows(nbRows + 1);
35
30
  }
36
31
  }, [max, nbRows]);
37
- const cantRemove = nbRows === min;
38
32
  const removeRow = (0, react_1.useCallback)(() => {
39
33
  if (nbRows <= min) {
40
34
  return;
@@ -50,45 +44,22 @@ const RosterForLoop = (props) => {
50
44
  });
51
45
  handleChanges(newResponses);
52
46
  }, [nbRows, min, valueMap, handleChanges]);
53
- const removeRowWithIndex = (0, react_1.useCallback)((indexToRemove) => {
54
- if (nbRows <= min) {
55
- return;
56
- }
57
- /**
58
- * Case 0: trying to delete
59
- */
60
- if (indexToRemove >= nbRows || indexToRemove < 0) {
61
- return;
62
- }
63
- const newResponses = Object.entries(valueMap).map(([k, v]) => {
64
- return {
65
- name: k,
66
- value: v?.filter((_, i) => i !== indexToRemove),
67
- removedIndex: indexToRemove,
68
- };
69
- });
70
- handleChanges(newResponses);
71
- setNbRows((n) => n - 1);
72
- }, [nbRows, min, valueMap, handleChanges]);
73
47
  if (nbRows === 0) {
74
48
  return null;
75
49
  }
76
50
  let cols = 0;
77
- const headerWithActions = header
78
- ? [...header, { label: i18n_1.default.ACTION_HEADER }]
79
- : undefined;
80
- return ((0, jsx_runtime_1.jsx)(Loop_1.CustomLoop, { ...props, errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: cantRemove ? undefined : removeRow, canControlRows: !!(min && max && min !== max), children: (0, jsx_runtime_1.jsxs)(Table_1.Table, { id: id, children: [headerWithActions && (0, jsx_runtime_1.jsx)(Table_1.TableHeader, { header: headerWithActions }), (0, jsx_runtime_1.jsx)(Table_1.Tbody, { children: (0, array_1.times)(nbRows, (n) => {
51
+ return ((0, jsx_runtime_1.jsx)(Loop_1.CustomLoop, { ...props, errors: (0, ComponentErrors_1.getComponentErrors)(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === min ? undefined : removeRow, canControlRows: !!(min && max && min !== max), children: (0, jsx_runtime_1.jsxs)(Table_1.Table, { id: id, children: [header && (0, jsx_runtime_1.jsx)(Table_1.TableHeader, { header: header }), (0, jsx_runtime_1.jsx)(Table_1.Tbody, { children: (0, array_1.times)(nbRows, (n) => {
81
52
  const components = getComponents(n);
82
53
  const lineErrors = (0, ComponentErrors_1.getComponentErrors)(props.errors, `${id}-${n}`);
83
54
  const hasLineErrors = !!lineErrors?.length;
84
55
  cols = components.length;
85
- return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Table_1.Tr, { row: n, className: hasLineErrors ? 'lunatic-row-has-error' : undefined, children: [(0, jsx_runtime_1.jsx)(LunaticComponents_1.LunaticComponents, { blocklist: constant_1.blockedInLoopComponents, components: components, memo: true, componentProps: (c) => ({
86
- ...otherProps,
87
- ...c,
88
- id: `${c.id}-${n}`,
89
- iteration: n,
90
- errors,
91
- }), wrapper: (props) => (0, jsx_runtime_1.jsx)(Table_1.Td, { ...props }) }), (0, jsx_runtime_1.jsx)(Table_1.Td, { id: `delete-action-${n}`, children: (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: () => removeRowWithIndex(n), disabled: cantRemove, children: i18n_1.default.DEFAULT_BUTTON_REMOVE_THAT_ROW }) })] }, n), hasLineErrors && ((0, jsx_runtime_1.jsx)(Table_1.Tr, { className: "lunatic-errors", children: (0, jsx_runtime_1.jsx)(Table_1.Td, { colSpan: cols, children: (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: lineErrors }) }) }))] }, n));
56
+ return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Table_1.Tr, { row: n, className: hasLineErrors ? 'lunatic-row-has-error' : undefined, children: (0, jsx_runtime_1.jsx)(LunaticComponents_1.LunaticComponents, { blocklist: constant_1.blockedInLoopComponents, components: components, memo: true, componentProps: (c) => ({
57
+ ...otherProps,
58
+ ...c,
59
+ id: `${c.id}-${n}`,
60
+ iteration: n,
61
+ errors,
62
+ }), wrapper: (props) => (0, jsx_runtime_1.jsx)(Table_1.Td, { ...props }) }) }, n), hasLineErrors && ((0, jsx_runtime_1.jsx)(Table_1.Tr, { className: "lunatic-errors", children: (0, jsx_runtime_1.jsx)(Table_1.Td, { colSpan: cols, children: (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: lineErrors }) }) }))] }, n));
92
63
  }) })] }) }));
93
64
  };
94
65
  exports.RosterForLoop = RosterForLoop;
@@ -1 +1 @@
1
- {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const Sequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "id" | "label" | "style" | "declarations" | "description"> & import("../type").LunaticExtraProps & {
1
+ export declare const Sequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id" | "style"> & import("../type").LunaticExtraProps & {
2
2
  componentType?: "Sequence";
3
3
  }>;
@@ -1,3 +1,3 @@
1
- export declare const Subsequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "id" | "label" | "declarations" | "description"> & import("../type").LunaticExtraProps & {
1
+ export declare const Subsequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id"> & import("../type").LunaticExtraProps & {
2
2
  componentType?: "Subsequence";
3
3
  }>;
@@ -16,10 +16,10 @@ import { CheckboxOne } from './CheckboxOne/CheckboxOne';
16
16
  import { Suggester } from './Suggester/Suggester';
17
17
  import { Summary } from './Summary/Summary';
18
18
  export declare const library: {
19
- Sequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "id" | "label" | "style" | "declarations" | "description"> & import("./type").LunaticExtraProps & {
19
+ Sequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id" | "style"> & import("./type").LunaticExtraProps & {
20
20
  componentType?: "Sequence";
21
21
  }>;
22
- Subsequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "id" | "label" | "declarations" | "description"> & import("./type").LunaticExtraProps & {
22
+ Subsequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id"> & import("./type").LunaticExtraProps & {
23
23
  componentType?: "Subsequence";
24
24
  }>;
25
25
  RosterForLoop: (props: LunaticComponentProps<"RosterForLoop">) => import("react/jsx-runtime").JSX.Element | null;
@@ -38,36 +38,16 @@ export function Loop({ lines, iterations, value, handleChanges, getComponents, e
38
38
  handleChanges(newResponses);
39
39
  }
40
40
  }, [nbRows, handleChanges, value]);
41
- const removeRowWithIndex = useCallback((indexToRemove) => {
42
- if (nbRows <= min) {
43
- return;
44
- }
45
- /**
46
- * Case 0: trying to delete
47
- */
48
- if (indexToRemove >= nbRows || indexToRemove < 0) {
49
- return;
50
- }
51
- const newResponses = Object.entries(value).map(([k, v]) => {
52
- return {
53
- name: k,
54
- value: v === null || v === void 0 ? void 0 : v.filter((_, i) => i !== indexToRemove),
55
- removedIndex: indexToRemove,
56
- };
57
- });
58
- handleChanges(newResponses);
59
- setNbRows((n) => n - 1);
60
- }, [nbRows, min, value, handleChanges]);
61
41
  if (nbRows <= 0) {
62
42
  return null;
63
43
  }
64
- return (_jsxs(CustomLoop, { ...props, errors: getComponentErrors(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: [times(nbRows, (n) => (_jsxs(_Fragment, { children: [_jsx(LunaticComponents, { blocklist: blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
65
- ...props,
66
- ...c,
67
- iteration: n,
68
- id: `${c.id}-${n}`,
69
- errors,
70
- }) }, n), _jsx(Button, { onClick: () => removeRowWithIndex(n), disabled: nbRows === 1, children: D.DEFAULT_BUTTON_REMOVE_THAT_ROW })] }))), _jsx("br", {})] }));
44
+ return (_jsx(CustomLoop, { ...props, errors: getComponentErrors(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === 1 ? undefined : removeRow, canControlRows: min !== max && Number.isFinite(max), children: times(nbRows, (n) => (_jsx(LunaticComponents, { blocklist: blockedInLoopComponents, components: getComponents(n), componentProps: (c) => ({
45
+ ...props,
46
+ ...c,
47
+ iteration: n,
48
+ id: `${c.id}-${n}`,
49
+ errors,
50
+ }) }, n))) }));
71
51
  }
72
52
  export const CustomLoop = slottableComponent('Loop', (props) => {
73
53
  const { declarations, id, label, canControlRows, children, errors, addRow, removeRow, } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../../src/components/Loop/Loop.tsx"],"names":[],"mappings":"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"}
@@ -2,12 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Fragment, useCallback, useState } from 'react';
3
3
  import { Table, Tbody, Td, Tr, TableHeader } from '../shared/Table';
4
4
  import { times } from '../../utils/array';
5
- import D from '../../i18n';
6
5
  import { LunaticComponents } from '../LunaticComponents';
7
6
  import { blockedInLoopComponents } from '../Loop/constant';
8
7
  import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/ComponentErrors';
9
8
  import { CustomLoop } from '../Loop/Loop';
10
- import { Button } from '../shared/Button/Button';
11
9
  const DEFAULT_MIN_ROWS = 1;
12
10
  const DEFAULT_MAX_ROWS = 12;
13
11
  /**
@@ -29,7 +27,6 @@ export const RosterForLoop = (props) => {
29
27
  setNbRows(nbRows + 1);
30
28
  }
31
29
  }, [max, nbRows]);
32
- const cantRemove = nbRows === min;
33
30
  const removeRow = useCallback(() => {
34
31
  if (nbRows <= min) {
35
32
  return;
@@ -45,45 +42,22 @@ export const RosterForLoop = (props) => {
45
42
  });
46
43
  handleChanges(newResponses);
47
44
  }, [nbRows, min, valueMap, handleChanges]);
48
- const removeRowWithIndex = useCallback((indexToRemove) => {
49
- if (nbRows <= min) {
50
- return;
51
- }
52
- /**
53
- * Case 0: trying to delete
54
- */
55
- if (indexToRemove >= nbRows || indexToRemove < 0) {
56
- return;
57
- }
58
- const newResponses = Object.entries(valueMap).map(([k, v]) => {
59
- return {
60
- name: k,
61
- value: v === null || v === void 0 ? void 0 : v.filter((_, i) => i !== indexToRemove),
62
- removedIndex: indexToRemove,
63
- };
64
- });
65
- handleChanges(newResponses);
66
- setNbRows((n) => n - 1);
67
- }, [nbRows, min, valueMap, handleChanges]);
68
45
  if (nbRows === 0) {
69
46
  return null;
70
47
  }
71
48
  let cols = 0;
72
- const headerWithActions = header
73
- ? [...header, { label: D.ACTION_HEADER }]
74
- : undefined;
75
- return (_jsx(CustomLoop, { ...props, errors: getComponentErrors(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: cantRemove ? undefined : removeRow, canControlRows: !!(min && max && min !== max), children: _jsxs(Table, { id: id, children: [headerWithActions && _jsx(TableHeader, { header: headerWithActions }), _jsx(Tbody, { children: times(nbRows, (n) => {
49
+ return (_jsx(CustomLoop, { ...props, errors: getComponentErrors(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === min ? undefined : removeRow, canControlRows: !!(min && max && min !== max), children: _jsxs(Table, { id: id, children: [header && _jsx(TableHeader, { header: header }), _jsx(Tbody, { children: times(nbRows, (n) => {
76
50
  const components = getComponents(n);
77
51
  const lineErrors = getComponentErrors(props.errors, `${id}-${n}`);
78
52
  const hasLineErrors = !!(lineErrors === null || lineErrors === void 0 ? void 0 : lineErrors.length);
79
53
  cols = components.length;
80
- return (_jsxs(Fragment, { children: [_jsxs(Tr, { row: n, className: hasLineErrors ? 'lunatic-row-has-error' : undefined, children: [_jsx(LunaticComponents, { blocklist: blockedInLoopComponents, components: components, memo: true, componentProps: (c) => ({
81
- ...otherProps,
82
- ...c,
83
- id: `${c.id}-${n}`,
84
- iteration: n,
85
- errors,
86
- }), wrapper: (props) => _jsx(Td, { ...props }) }), _jsx(Td, { id: `delete-action-${n}`, children: _jsx(Button, { onClick: () => removeRowWithIndex(n), disabled: cantRemove, children: D.DEFAULT_BUTTON_REMOVE_THAT_ROW }) })] }, n), hasLineErrors && (_jsx(Tr, { className: "lunatic-errors", children: _jsx(Td, { colSpan: cols, children: _jsx(ComponentErrors, { errors: lineErrors }) }) }))] }, n));
54
+ return (_jsxs(Fragment, { children: [_jsx(Tr, { row: n, className: hasLineErrors ? 'lunatic-row-has-error' : undefined, children: _jsx(LunaticComponents, { blocklist: blockedInLoopComponents, components: components, memo: true, componentProps: (c) => ({
55
+ ...otherProps,
56
+ ...c,
57
+ id: `${c.id}-${n}`,
58
+ iteration: n,
59
+ errors,
60
+ }), wrapper: (props) => _jsx(Td, { ...props }) }) }, n), hasLineErrors && (_jsx(Tr, { className: "lunatic-errors", children: _jsx(Td, { colSpan: cols, children: _jsx(ComponentErrors, { errors: lineErrors }) }) }))] }, n));
87
61
  }) })] }) }));
88
62
  };
89
63
  //# sourceMappingURL=RosterForLoop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const Sequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "id" | "label" | "style" | "declarations" | "description"> & import("../type").LunaticExtraProps & {
1
+ export declare const Sequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id" | "style"> & import("../type").LunaticExtraProps & {
2
2
  componentType?: "Sequence";
3
3
  }>;
@@ -1,3 +1,3 @@
1
- export declare const Subsequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "id" | "label" | "declarations" | "description"> & import("../type").LunaticExtraProps & {
1
+ export declare const Subsequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id"> & import("../type").LunaticExtraProps & {
2
2
  componentType?: "Subsequence";
3
3
  }>;
@@ -16,10 +16,10 @@ import { CheckboxOne } from './CheckboxOne/CheckboxOne';
16
16
  import { Suggester } from './Suggester/Suggester';
17
17
  import { Summary } from './Summary/Summary';
18
18
  export declare const library: {
19
- Sequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "id" | "label" | "style" | "declarations" | "description"> & import("./type").LunaticExtraProps & {
19
+ Sequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id" | "style"> & import("./type").LunaticExtraProps & {
20
20
  componentType?: "Sequence";
21
21
  }>;
22
- Subsequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "id" | "label" | "declarations" | "description"> & import("./type").LunaticExtraProps & {
22
+ Subsequence: ComponentType<Pick<import("./type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id"> & import("./type").LunaticExtraProps & {
23
23
  componentType?: "Subsequence";
24
24
  }>;
25
25
  RosterForLoop: (props: LunaticComponentProps<"RosterForLoop">) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,58 @@
1
+ import type { LunaticSource } from '../type.source';
2
+ import type { LunaticData } from '../use-lunatic/type';
3
+ import { type ReactNode } from 'react';
4
+ type ArticulationItem = {
5
+ label: string;
6
+ value: string;
7
+ };
8
+ type Articulation = {
9
+ source: string;
10
+ items: ArticulationItem[];
11
+ };
12
+ type Item = {
13
+ cells: {
14
+ label: string;
15
+ value: ReactNode;
16
+ page?: string;
17
+ }[];
18
+ progress: number;
19
+ };
20
+ /**
21
+ * Hook to get articulation state
22
+ *
23
+ * ## Why this hook
24
+ *
25
+ * The goal of this hook is to provide insights about a roundabout using extra information inserted in the JSON source
26
+ * provided to Lunatic.
27
+ *
28
+ * For instance
29
+ *
30
+ * ```
31
+ * "articulation": {
32
+ * "source": "roundabout",
33
+ * "items": [
34
+ * {
35
+ * "label": "Prénom",
36
+ * "value": "PRENOMS"
37
+ * },
38
+ * {
39
+ * "label": "Sexe",
40
+ * "value": "if SEXE = \"H\" then \"Homme\" else \"Femme\""
41
+ * },
42
+ * {
43
+ * "label": "Age",
44
+ * "value": "cast(AGE, string) || \" ans\""
45
+ * }
46
+ * ]
47
+ * },
48
+ * ```
49
+ *
50
+ * - source is the ID of the roundabout component
51
+ * - items define the field to extract from the roundabout data
52
+ */
53
+ export declare function useArticulation(source: LunaticSource & {
54
+ articulation: Articulation;
55
+ }, data: LunaticData): {
56
+ items: Item[];
57
+ };
58
+ export {};
@@ -0,0 +1,81 @@
1
+ import { reducerInitializer } from '../use-lunatic/reducer/reducerInitializer';
2
+ import { useMemo } from 'react';
3
+ import { times } from '../utils/array';
4
+ import { forceInt } from '../utils/number';
5
+ /**
6
+ * Hook to get articulation state
7
+ *
8
+ * ## Why this hook
9
+ *
10
+ * The goal of this hook is to provide insights about a roundabout using extra information inserted in the JSON source
11
+ * provided to Lunatic.
12
+ *
13
+ * For instance
14
+ *
15
+ * ```
16
+ * "articulation": {
17
+ * "source": "roundabout",
18
+ * "items": [
19
+ * {
20
+ * "label": "Prénom",
21
+ * "value": "PRENOMS"
22
+ * },
23
+ * {
24
+ * "label": "Sexe",
25
+ * "value": "if SEXE = \"H\" then \"Homme\" else \"Femme\""
26
+ * },
27
+ * {
28
+ * "label": "Age",
29
+ * "value": "cast(AGE, string) || \" ans\""
30
+ * }
31
+ * ]
32
+ * },
33
+ * ```
34
+ *
35
+ * - source is the ID of the roundabout component
36
+ * - items define the field to extract from the roundabout data
37
+ */
38
+ export function useArticulation(source, data) {
39
+ const roundabout = useMemo(() => findComponentById(source.components, source.articulation.source), [source]);
40
+ const { variables } = useMemo(() => reducerInitializer({ source, data }), [source, data]);
41
+ const iterations = useMemo(() => { var _a; return forceInt(variables.run((_a = roundabout === null || roundabout === void 0 ? void 0 : roundabout.iterations.value) !== null && _a !== void 0 ? _a : '0')); },
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ [source, data]);
44
+ const rows = useMemo(() => {
45
+ return times(iterations, (k) => source.articulation.items.map((item) => ({
46
+ label: item.label,
47
+ value: variables.run(item.value, { iteration: [k] }),
48
+ })));
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ }, [source, data, iterations, roundabout === null || roundabout === void 0 ? void 0 : roundabout.progressVariable]);
51
+ if (!roundabout) {
52
+ return {
53
+ items: [],
54
+ };
55
+ }
56
+ return {
57
+ items: rows.map((row, k) => {
58
+ var _a;
59
+ return ({
60
+ cells: row,
61
+ progress: forceInt((_a = variables.get(roundabout.progressVariable, [k])) !== null && _a !== void 0 ? _a : -1),
62
+ page: roundabout.page ? `${roundabout.page}.1#${k + 1}` : '1',
63
+ });
64
+ }),
65
+ };
66
+ }
67
+ function findComponentById(components, id) {
68
+ for (const c of components) {
69
+ if ('id' in c && c.id === id && c.componentType === 'Roundabout') {
70
+ return c;
71
+ }
72
+ if ('components' in c) {
73
+ const child = findComponentById(c.components, id);
74
+ if (child) {
75
+ return child;
76
+ }
77
+ }
78
+ }
79
+ return null;
80
+ }
81
+ //# sourceMappingURL=useArticulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useArticulation.js","sourceRoot":"","sources":["../../src/hooks/useArticulation.ts"],"names":[],"mappings":"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"}
@@ -7,14 +7,6 @@ declare const dictionary: {
7
7
  readonly fr: "Supprimer une ligne";
8
8
  readonly en: "Remove row";
9
9
  };
10
- readonly DEFAULT_BUTTON_REMOVE_THAT_ROW: {
11
- readonly fr: "Supprimer cette ligne";
12
- readonly en: "Remove that row";
13
- };
14
- readonly ACTION_HEADER: {
15
- readonly fr: "Action";
16
- readonly en: "Action";
17
- };
18
10
  readonly MODAL_IGNORE: {
19
11
  readonly fr: "Poursuivre";
20
12
  readonly en: "Ignore";
@@ -1,11 +1,6 @@
1
1
  const dictionary = {
2
2
  DEFAULT_BUTTON_ADD: { fr: 'Ajouter une ligne', en: 'Add row' },
3
3
  DEFAULT_BUTTON_REMOVE: { fr: 'Supprimer une ligne', en: 'Remove row' },
4
- DEFAULT_BUTTON_REMOVE_THAT_ROW: {
5
- fr: 'Supprimer cette ligne',
6
- en: 'Remove that row',
7
- },
8
- ACTION_HEADER: { fr: 'Action', en: 'Action' },
9
4
  MODAL_IGNORE: { fr: 'Poursuivre', en: 'Ignore' },
10
5
  MODAL_CORRECT: { fr: 'Corriger ma réponse', en: 'Correct' },
11
6
  DK: { fr: 'Ne sais pas', en: "Don't know" },
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../src/i18n/dictionary.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG;IAClB,kBAAkB,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE;IAC9D,qBAAqB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,YAAY,EAAE;IACtE,8BAA8B,EAAE;QAC/B,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,iBAAiB;KACrB;IACD,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC7C,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE;IAChD,aAAa,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,SAAS,EAAE;IAC3D,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE;IAC3C,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;IAClC,WAAW,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,iBAAiB,EAAE;IACvE,iBAAiB,EAAE;QAClB,EAAE,EAAE,8BAA8B;QAClC,EAAE,EAAE,iBAAiB;KACrB;IACD,mBAAmB,EAAE;QACpB,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,YAAY;KAChB;IACD,eAAe,EAAE;QAChB,EAAE,EAAE,uCAAuC;QAC3C,EAAE,EAAE,6CAA6C;KACjD;IACD,mBAAmB,EAAE;QACpB,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,QAAQ;KACZ;CACQ,CAAC;AAEX,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../src/i18n/dictionary.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG;IAClB,kBAAkB,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE;IAC9D,qBAAqB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,YAAY,EAAE;IACtE,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE;IAChD,aAAa,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,SAAS,EAAE;IAC3D,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE;IAC3C,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;IAClC,WAAW,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,iBAAiB,EAAE;IACvE,iBAAiB,EAAE;QAClB,EAAE,EAAE,8BAA8B;QAClC,EAAE,EAAE,iBAAiB;KACrB;IACD,mBAAmB,EAAE;QACpB,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,YAAY;KAChB;IACD,eAAe,EAAE;QAChB,EAAE,EAAE,uCAAuC;QAC3C,EAAE,EAAE,6CAA6C;KACjD;IACD,mBAAmB,EAAE;QACpB,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,QAAQ;KACZ;CACQ,CAAC;AAEX,eAAe,UAAU,CAAC"}
@@ -3,5 +3,5 @@ export declare const inputNumberPropsI18N: {
3
3
  thousandSeparator: string;
4
4
  decimalSeparator: string;
5
5
  };
6
- declare const _default: Record<"DK" | "RF" | "DEFAULT_BUTTON_ADD" | "DEFAULT_BUTTON_REMOVE" | "DEFAULT_BUTTON_REMOVE_THAT_ROW" | "ACTION_HEADER" | "MODAL_IGNORE" | "MODAL_CORRECT" | "PLACEHOLDER" | "SUGGESTER_LOADING" | "SUGGESTER_NO_RESULT" | "SUGGESTER_ERROR" | "SUGGESTER_ARBITRARY", string>;
6
+ declare const _default: Record<"DK" | "RF" | "DEFAULT_BUTTON_ADD" | "DEFAULT_BUTTON_REMOVE" | "MODAL_IGNORE" | "MODAL_CORRECT" | "PLACEHOLDER" | "SUGGESTER_LOADING" | "SUGGESTER_NO_RESULT" | "SUGGESTER_ERROR" | "SUGGESTER_ARBITRARY", string>;
7
7
  export default _default;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable */
1
2
  /**
2
3
  * This file was automatically generated by json-schema-to-typescript.
3
4
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
@@ -1 +1 @@
1
- {"version":3,"file":"type.source.js","sourceRoot":"","sources":["../src/type.source.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"type.source.js","sourceRoot":"","sources":["../src/type.source.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;GAIG"}