@inseefr/lunatic 3.7.4 → 3.7.5

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 (42) hide show
  1. package/components/Loop/Loop.d.ts +1 -0
  2. package/components/Loop/Loop.js +2 -2
  3. package/components/Loop/Loop.js.map +1 -1
  4. package/components/RosterForLoop/RosterForLoop.js +3 -1
  5. package/components/RosterForLoop/RosterForLoop.js.map +1 -1
  6. package/components/RosterForLoop/RosterForLoop.spec.js +12 -0
  7. package/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
  8. package/components/shared/Missing/Missing.js +3 -3
  9. package/components/shared/Missing/Missing.js.map +1 -1
  10. package/esm/components/Loop/Loop.d.ts +1 -0
  11. package/esm/components/Loop/Loop.js +2 -2
  12. package/esm/components/Loop/Loop.js.map +1 -1
  13. package/esm/components/RosterForLoop/RosterForLoop.js +3 -1
  14. package/esm/components/RosterForLoop/RosterForLoop.js.map +1 -1
  15. package/esm/components/RosterForLoop/RosterForLoop.spec.js +12 -0
  16. package/esm/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
  17. package/esm/components/shared/Missing/Missing.js +3 -3
  18. package/esm/components/shared/Missing/Missing.js.map +1 -1
  19. package/esm/use-lunatic/lunatic-context.d.ts +25 -23
  20. package/esm/use-lunatic/lunatic-context.js +11 -4
  21. package/esm/use-lunatic/lunatic-context.js.map +1 -1
  22. package/esm/use-lunatic/type.d.ts +56 -11
  23. package/esm/use-lunatic/use-lunatic.js +5 -1
  24. package/esm/use-lunatic/use-lunatic.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/components/Loop/Loop.tsx +6 -1
  27. package/src/components/RosterForLoop/RosterForLoop.spec.tsx +28 -0
  28. package/src/components/RosterForLoop/RosterForLoop.tsx +3 -0
  29. package/src/components/RosterForLoop/__snapshots__/RosterForLoop.spec.tsx.snap +114 -0
  30. package/src/components/shared/Missing/Missing.tsx +3 -3
  31. package/src/stories/utils/Orchestrator.tsx +8 -1
  32. package/src/use-lunatic/lunatic-context.tsx +26 -14
  33. package/src/use-lunatic/type.ts +59 -12
  34. package/src/use-lunatic/use-lunatic.test.ts +4 -1
  35. package/src/use-lunatic/use-lunatic.ts +5 -1
  36. package/tsconfig.build.tsbuildinfo +1 -1
  37. package/use-lunatic/lunatic-context.d.ts +25 -23
  38. package/use-lunatic/lunatic-context.js +16 -9
  39. package/use-lunatic/lunatic-context.js.map +1 -1
  40. package/use-lunatic/type.d.ts +56 -11
  41. package/use-lunatic/use-lunatic.js +5 -1
  42. package/use-lunatic/use-lunatic.js.map +1 -1
@@ -10,6 +10,7 @@ type CustomProps = Omit<LunaticComponentProps<'RosterForLoop' | 'Loop'>, 'respon
10
10
  addRow?: () => void;
11
11
  removeRow?: () => void;
12
12
  canControlRows?: boolean;
13
+ disableDeleteRowButton?: boolean;
13
14
  }>;
14
15
  export declare const CustomLoop: import("react").ComponentType<CustomProps>;
15
16
  export {};
@@ -34,7 +34,7 @@ function Loop(props) {
34
34
  }) }, n))) }));
35
35
  }
36
36
  exports.CustomLoop = (0, slottableComponent_1.slottableComponent)('Loop', (props) => {
37
- const { declarations, id, label, canControlRows, children, errors, addRow, removeRow, } = props;
38
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: `label-${id}`, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), children, (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors }), canControlRows && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: addRow, disabled: !addRow, children: i18n_1.default.DEFAULT_BUTTON_ADD }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: removeRow, disabled: !removeRow, children: i18n_1.default.DEFAULT_BUTTON_REMOVE })] }))] }));
37
+ const { declarations, id, label, canControlRows, children, errors, addRow, removeRow, disableDeleteRowButton = false, } = props;
38
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: `label-${id}`, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), children, (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors }), canControlRows && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: addRow, disabled: !addRow, children: i18n_1.default.DEFAULT_BUTTON_ADD }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: removeRow, disabled: disableDeleteRowButton || !removeRow, children: i18n_1.default.DEFAULT_BUTTON_REMOVE })] }))] }));
39
39
  });
40
40
  //# sourceMappingURL=Loop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/components/Loop/Loop.tsx"],"names":[],"mappings":";;;;;;AAoBA,oBAgCC;;AAnDD,sDAA2B;AAC3B,6CAA0C;AAC1C,4DAAyD;AAEzD,yCAAqD;AACrD,yEAAsE;AACtE,iDAA8C;AAC9C,sEAAmE;AACnE,oDAAiD;AACjD,+EAGmD;AAEnD,mCAAuC;AAEvC;;GAEG;AACH,SAAgB,IAAI,CAAC,KAAoC;IACxD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IACpE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAExC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,uBAAC,kBAAU,OACN,KAAK,EACT,MAAM,EAAE,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC3C,SAAS,EAAE,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjE,cAAc,EAAE,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAElD,IAAA,aAAK,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,uBAAC,qCAAiB,IACjB,SAAS,EAAE,kCAAuB,EAElC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,GAAG,KAAK;gBACR,GAAG,CAAC;gBACJ,SAAS,EAAE,CAAC;gBACZ,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;gBAClB,MAAM;aACN,CAAC,IARG,CAAC,CASL,CACF,CAAC,GACU,CACb,CAAC;AACH,CAAC;AAmBY,QAAA,UAAU,GAAG,IAAA,uCAAkB,EAAc,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;IAC3E,MAAM,EACL,YAAY,EACZ,EAAE,EACF,KAAK,EACL,cAAc,EACd,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,GACT,GAAG,KAAK,CAAC;IAEV,OAAO,CACN,6DACC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,YACnC,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACD,QAAQ,EACT,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,EAClC,cAAc,IAAI,CAClB,6DACC,uBAAC,eAAM,IAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,YACxC,cAAC,CAAC,kBAAkB,GACb,EACT,uBAAC,eAAM,IAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,SAAS,YAC9C,cAAC,CAAC,qBAAqB,GAChB,IACP,CACH,IACC,CACH,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/components/Loop/Loop.tsx"],"names":[],"mappings":";;;;;;AAoBA,oBAgCC;;AAnDD,sDAA2B;AAC3B,6CAA0C;AAC1C,4DAAyD;AAEzD,yCAAqD;AACrD,yEAAsE;AACtE,iDAA8C;AAC9C,sEAAmE;AACnE,oDAAiD;AACjD,+EAGmD;AAEnD,mCAAuC;AAEvC;;GAEG;AACH,SAAgB,IAAI,CAAC,KAAoC;IACxD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IACpE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAExC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,uBAAC,kBAAU,OACN,KAAK,EACT,MAAM,EAAE,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC3C,SAAS,EAAE,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjE,cAAc,EAAE,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAElD,IAAA,aAAK,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,uBAAC,qCAAiB,IACjB,SAAS,EAAE,kCAAuB,EAElC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,GAAG,KAAK;gBACR,GAAG,CAAC;gBACJ,SAAS,EAAE,CAAC;gBACZ,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;gBAClB,MAAM;aACN,CAAC,IARG,CAAC,CASL,CACF,CAAC,GACU,CACb,CAAC;AACH,CAAC;AAoBY,QAAA,UAAU,GAAG,IAAA,uCAAkB,EAAc,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;IAC3E,MAAM,EACL,YAAY,EACZ,EAAE,EACF,KAAK,EACL,cAAc,EACd,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,sBAAsB,GAAG,KAAK,GAC9B,GAAG,KAAK,CAAC;IAEV,OAAO,CACN,6DACC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,YACnC,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACD,QAAQ,EACT,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,EAClC,cAAc,IAAI,CAClB,6DACC,uBAAC,eAAM,IAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,YACxC,cAAC,CAAC,kBAAkB,GACb,EACT,uBAAC,eAAM,IACN,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,sBAAsB,IAAI,CAAC,SAAS,YAE7C,cAAC,CAAC,qBAAqB,GAChB,IACP,CACH,IACC,CACH,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -10,10 +10,12 @@ const constant_1 = require("../Loop/constant");
10
10
  const ComponentErrors_1 = require("../shared/ComponentErrors/ComponentErrors");
11
11
  const Loop_1 = require("../Loop/Loop");
12
12
  const utils_1 = require("../Loop/utils");
13
+ const lunatic_context_1 = require("../../use-lunatic/lunatic-context");
13
14
  /**
14
15
  * Loop displayed as a table
15
16
  */
16
17
  const RosterForLoop = (props) => {
18
+ const { disableRosterForLoopDeleteRowButton } = (0, lunatic_context_1.useLunaticComponentsOptions)();
17
19
  const { min, max, nbRows, addRow, removeRow } = (0, utils_1.useLoopUtils)(props);
18
20
  const { errors,
19
21
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -25,7 +27,7 @@ const RosterForLoop = (props) => {
25
27
  return null;
26
28
  }
27
29
  let cols = 0;
28
- 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) => {
30
+ 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), disableDeleteRowButton: disableRosterForLoopDeleteRowButton, 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) => {
29
31
  const components = getComponents(n);
30
32
  const lineErrors = (0, ComponentErrors_1.getComponentErrors)(props.errors, `${id}-${n}`);
31
33
  const hasLineErrors = !!lineErrors?.length;
@@ -1 +1 @@
1
- {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":";;;;AAAA,iCAAiC;AAEjC,2CAAoE;AACpE,6CAA0C;AAC1C,4DAAyD;AACzD,+CAA2D;AAC3D,+EAGmD;AACnD,uCAA0C;AAC1C,yCAA6C;AAE7C;;GAEG;AACI,MAAM,aAAa,GAAG,CAC5B,KAA6C,EAC5C,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IACpE,MAAM,EACL,MAAM;IACN,6DAA6D;IAC7D,YAAY,EACZ,MAAM,EACN,EAAE,EACF,aAAa;IACb,6DAA6D;IAC7D,KAAK,EACL,GAAG,UAAU,CAAC,0DAA0D;MACxE,GAAG,KAAK,CAAC;IAEV,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO,CACN,uBAAC,iBAAU,OACN,KAAK,EACT,MAAM,EAAE,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC3C,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjD,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,YAE7C,wBAAC,aAAK,IAAC,EAAE,EAAE,EAAE,aACX,MAAM,IAAI,uBAAC,mBAAW,IAAC,MAAM,EAAE,MAAM,GAAI,EAC1C,uBAAC,aAAK,cACJ,IAAA,aAAK,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;wBACpB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBACpC,MAAM,UAAU,GAAG,IAAA,oCAAkB,EAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClE,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;wBAC3C,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;wBACzB,OAAO,CACN,wBAAC,gBAAQ,eACR,uBAAC,UAAE,IACF,GAAG,EAAE,CAAC,EAEN,SAAS,EACR,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,YAGpD,uBAAC,qCAAiB,IACjB,SAAS,EAAE,kCAAuB,EAClC,UAAU,EAAE,UAAU,EACtB,IAAI,QACJ,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4CACvB,GAAG,UAAU;4CACb,GAAG,CAAC;4CACJ,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;4CAClB,SAAS,EAAE,CAAC;4CACZ,MAAM;yCACN,CAAC,EACF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAC,UAAE,OAAK,KAAK,GAAI,GACpC,IAjBG,CAAC,CAkBF,EACJ,aAAa,IAAI,CACjB,uBAAC,UAAE,IAAC,SAAS,EAAC,gBAAgB,YAE7B,uBAAC,UAAE,IAAC,OAAO,EAAE,IAAI,YAChB,uBAAC,iCAAe,IAAC,MAAM,EAAE,UAAU,GAAI,GACnC,GACD,CACL,KA7Ba,CAAC,CA8BL,CACX,CAAC;oBACH,CAAC,CAAC,GACK,IACD,GACI,CACb,CAAC;AACH,CAAC,CAAC;AA5EW,QAAA,aAAa,iBA4ExB"}
1
+ {"version":3,"file":"RosterForLoop.js","sourceRoot":"","sources":["../../src/components/RosterForLoop/RosterForLoop.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const vitest_1 = require("vitest");
5
5
  const react_1 = require("@testing-library/react");
6
6
  const RosterForLoop_1 = require("./RosterForLoop");
7
+ const lunatic_context_1 = require("../../use-lunatic/lunatic-context");
7
8
  (0, vitest_1.describe)('RosterForLoop', () => {
8
9
  const mockOnChange = vitest_1.vi.fn();
9
10
  (0, vitest_1.beforeEach)(() => {
@@ -25,6 +26,17 @@ const RosterForLoop_1 = require("./RosterForLoop");
25
26
  const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(RosterForLoop_1.RosterForLoop, { value: { name: ['John Doe', 'Jane Doe'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 1, max: 3 }, iterations: 2, getComponents: getComponents, executeExpression: () => null }));
26
27
  (0, vitest_1.expect)(container).toMatchSnapshot();
27
28
  (0, vitest_1.expect)(react_1.screen.getAllByRole('row')).toHaveLength(2);
29
+ (0, vitest_1.expect)(react_1.screen.getByRole('button', { name: /add/i })).toBeEnabled();
30
+ (0, vitest_1.expect)(react_1.screen.getByRole('button', { name: /remove/i })).toBeEnabled();
31
+ });
32
+ (0, vitest_1.it)('disable the remove row button', () => {
33
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(lunatic_context_1.LunaticContext.Provider, { value: {
34
+ componentsOptions: { disableRosterForLoopDeleteRowButton: true },
35
+ }, children: (0, jsx_runtime_1.jsx)(RosterForLoop_1.RosterForLoop, { value: { name: ['John Doe', 'Jane Doe'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 1, max: 3 }, iterations: 2, getComponents: getComponents, executeExpression: () => null }) }));
36
+ (0, vitest_1.expect)(container).toMatchSnapshot();
37
+ (0, vitest_1.expect)(react_1.screen.getAllByRole('row')).toHaveLength(2);
38
+ (0, vitest_1.expect)(react_1.screen.getByRole('button', { name: /add/i })).toBeEnabled();
39
+ (0, vitest_1.expect)(react_1.screen.getByRole('button', { name: /remove/i })).toBeDisabled();
28
40
  });
29
41
  });
30
42
  //# sourceMappingURL=RosterForLoop.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":";;;AAAA,mCAA8D;AAC9D,kDAAwD;AACxD,mDAAgD;AAGhD,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,MAAM,YAAY,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,IAAA,mBAAU,EAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;QAC5C;YACC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,GAAG;YACd,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ;SACmB;KACnC,CAAC;IAEF,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC3B,uBAAC,6BAAa,IACb,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EACzC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAC,OAAO,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EACzB,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAW,GACnC,CACF,CAAC;QACF,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACpC,IAAA,eAAM,EAAC,cAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":"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"}
@@ -42,11 +42,11 @@ const MissingPure = (props) => {
42
42
  missingShortcut &&
43
43
  missingShortcut.dontKnow &&
44
44
  missingShortcut.refused);
45
- (0, useKeyboardKey_1.useKeyboardKey)(Object.values(missingShortcut), (e) => {
45
+ (0, useKeyboardKey_1.useKeyboardKey)(missingShortcut ? Object.values(missingShortcut) : [], (e) => {
46
46
  e.preventDefault();
47
- if (e.key.toLowerCase() === missingShortcut.dontKnow.toLowerCase())
47
+ if (e.key.toLowerCase() === missingShortcut?.dontKnow.toLowerCase())
48
48
  onClickDK();
49
- if (e.key.toLowerCase() === missingShortcut.refused.toLowerCase())
49
+ if (e.key.toLowerCase() === missingShortcut?.refused.toLowerCase())
50
50
  onClickRF();
51
51
  }, hasKeyboardShortcut);
52
52
  return ((0, jsx_runtime_1.jsxs)("div", { className: "missing-buttons", children: [(0, jsx_runtime_1.jsx)("span", { className: `missing-button${value === constants_1.DK ? '-active' : ''} missing-button-dk${value === constants_1.DK ? '-active' : ''}`, children: (0, jsx_runtime_1.jsx)(Button_1.Button, { selected: value === constants_1.DK, disabled: disabled, readOnly: readOnly, label: dontKnowButton, onClick: onClickDK }) }), (0, jsx_runtime_1.jsx)("span", { className: `missing-button${value === constants_1.RF ? '-active' : ''} missing-button-rf${value === constants_1.RF ? '-active' : ''}`, children: (0, jsx_runtime_1.jsx)(Button_1.Button, { selected: value === constants_1.RF, disabled: disabled, readOnly: readOnly, label: refusedButton, onClick: onClickRF }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ type CustomProps = Omit<LunaticComponentProps<'RosterForLoop' | 'Loop'>, 'respon
10
10
  addRow?: () => void;
11
11
  removeRow?: () => void;
12
12
  canControlRows?: boolean;
13
+ disableDeleteRowButton?: boolean;
13
14
  }>;
14
15
  export declare const CustomLoop: import("react").ComponentType<CustomProps>;
15
16
  export {};
@@ -27,7 +27,7 @@ export function Loop(props) {
27
27
  }) }, n))) }));
28
28
  }
29
29
  export const CustomLoop = slottableComponent('Loop', (props) => {
30
- const { declarations, id, label, canControlRows, children, errors, addRow, removeRow, } = props;
31
- return (_jsxs(_Fragment, { children: [_jsx(Label, { htmlFor: id, id: `label-${id}`, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), children, _jsx(ComponentErrors, { errors: errors }), canControlRows && (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: addRow, disabled: !addRow, children: D.DEFAULT_BUTTON_ADD }), _jsx(Button, { onClick: removeRow, disabled: !removeRow, children: D.DEFAULT_BUTTON_REMOVE })] }))] }));
30
+ const { declarations, id, label, canControlRows, children, errors, addRow, removeRow, disableDeleteRowButton = false, } = props;
31
+ return (_jsxs(_Fragment, { children: [_jsx(Label, { htmlFor: id, id: `label-${id}`, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), children, _jsx(ComponentErrors, { errors: errors }), canControlRows && (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: addRow, disabled: !addRow, children: D.DEFAULT_BUTTON_ADD }), _jsx(Button, { onClick: removeRow, disabled: disableDeleteRowButton || !removeRow, children: D.DEFAULT_BUTTON_REMOVE })] }))] }));
32
32
  });
33
33
  //# sourceMappingURL=Loop.js.map
@@ -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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"}
@@ -7,10 +7,12 @@ import { blockedInLoopComponents } from '../Loop/constant';
7
7
  import { ComponentErrors, getComponentErrors, } from '../shared/ComponentErrors/ComponentErrors';
8
8
  import { CustomLoop } from '../Loop/Loop';
9
9
  import { useLoopUtils } from '../Loop/utils';
10
+ import { useLunaticComponentsOptions } from '../../use-lunatic/lunatic-context';
10
11
  /**
11
12
  * Loop displayed as a table
12
13
  */
13
14
  export const RosterForLoop = (props) => {
15
+ const { disableRosterForLoopDeleteRowButton } = useLunaticComponentsOptions();
14
16
  const { min, max, nbRows, addRow, removeRow } = useLoopUtils(props);
15
17
  const { errors,
16
18
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -22,7 +24,7 @@ export const RosterForLoop = (props) => {
22
24
  return null;
23
25
  }
24
26
  let cols = 0;
25
- 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) => {
27
+ return (_jsx(CustomLoop, { ...props, errors: getComponentErrors(errors, props.id), addRow: nbRows === max ? undefined : addRow, removeRow: nbRows === min ? undefined : removeRow, canControlRows: !!(min && max && min !== max), disableDeleteRowButton: disableRosterForLoopDeleteRowButton, children: _jsxs(Table, { id: id, children: [header && _jsx(TableHeader, { header: header }), _jsx(Tbody, { children: times(nbRows, (n) => {
26
28
  const components = getComponents(n);
27
29
  const lineErrors = getComponentErrors(props.errors, `${id}-${n}`);
28
30
  const hasLineErrors = !!(lineErrors === null || lineErrors === void 0 ? void 0 : lineErrors.length);
@@ -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":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC5B,KAA6C,EAC5C,EAAE;IACH,MAAM,EAAE,mCAAmC,EAAE,GAAG,2BAA2B,EAAE,CAAC;IAC9E,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,EACL,MAAM;IACN,6DAA6D;IAC7D,YAAY,EACZ,MAAM,EACN,EAAE,EACF,aAAa;IACb,6DAA6D;IAC7D,KAAK,EACL,GAAG,UAAU,CAAC,0DAA0D;MACxE,GAAG,KAAK,CAAC;IAEV,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO,CACN,KAAC,UAAU,OACN,KAAK,EACT,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC3C,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjD,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,EAC7C,sBAAsB,EAAE,mCAAmC,YAE3D,MAAC,KAAK,IAAC,EAAE,EAAE,EAAE,aACX,MAAM,IAAI,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,EAC1C,KAAC,KAAK,cACJ,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;wBACpB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBACpC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClE,MAAM,aAAa,GAAG,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,CAAC;wBAC3C,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;wBACzB,OAAO,CACN,MAAC,QAAQ,eACR,KAAC,EAAE,IACF,GAAG,EAAE,CAAC,EAEN,SAAS,EACR,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,YAGpD,KAAC,iBAAiB,IACjB,SAAS,EAAE,uBAAuB,EAClC,UAAU,EAAE,UAAU,EACtB,IAAI,QACJ,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4CACvB,GAAG,UAAU;4CACb,GAAG,CAAC;4CACJ,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;4CAClB,SAAS,EAAE,CAAC;4CACZ,MAAM;yCACN,CAAC,EACF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,EAAE,OAAK,KAAK,GAAI,GACpC,IAjBG,CAAC,CAkBF,EACJ,aAAa,IAAI,CACjB,KAAC,EAAE,IAAC,SAAS,EAAC,gBAAgB,YAE7B,KAAC,EAAE,IAAC,OAAO,EAAE,IAAI,YAChB,KAAC,eAAe,IAAC,MAAM,EAAE,UAAU,GAAI,GACnC,GACD,CACL,KA7Ba,CAAC,CA8BL,CACX,CAAC;oBACH,CAAC,CAAC,GACK,IACD,GACI,CACb,CAAC;AACH,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { beforeEach, describe, expect, it, vi } from 'vitest';
3
3
  import { render, screen } from '@testing-library/react';
4
4
  import { RosterForLoop } from './RosterForLoop';
5
+ import { LunaticContext } from '../../use-lunatic/lunatic-context';
5
6
  describe('RosterForLoop', () => {
6
7
  const mockOnChange = vi.fn();
7
8
  beforeEach(() => {
@@ -23,6 +24,17 @@ describe('RosterForLoop', () => {
23
24
  const { container } = render(_jsx(RosterForLoop, { value: { name: ['John Doe', 'Jane Doe'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 1, max: 3 }, iterations: 2, getComponents: getComponents, executeExpression: () => null }));
24
25
  expect(container).toMatchSnapshot();
25
26
  expect(screen.getAllByRole('row')).toHaveLength(2);
27
+ expect(screen.getByRole('button', { name: /add/i })).toBeEnabled();
28
+ expect(screen.getByRole('button', { name: /remove/i })).toBeEnabled();
29
+ });
30
+ it('disable the remove row button', () => {
31
+ const { container } = render(_jsx(LunaticContext.Provider, { value: {
32
+ componentsOptions: { disableRosterForLoopDeleteRowButton: true },
33
+ }, children: _jsx(RosterForLoop, { value: { name: ['John Doe', 'Jane Doe'] }, handleChanges: mockOnChange, label: "Ceci est un test", id: "table", lines: { min: 1, max: 3 }, iterations: 2, getComponents: getComponents, executeExpression: () => null }) }));
34
+ expect(container).toMatchSnapshot();
35
+ expect(screen.getAllByRole('row')).toHaveLength(2);
36
+ expect(screen.getByRole('button', { name: /add/i })).toBeEnabled();
37
+ expect(screen.getByRole('button', { name: /remove/i })).toBeDisabled();
26
38
  });
27
39
  });
28
40
  //# sourceMappingURL=RosterForLoop.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;QAC5C;YACC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,GAAG;YACd,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ;SACmB;KACnC,CAAC;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,aAAa,IACb,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EACzC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAC,OAAO,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EACzB,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAW,GACnC,CACF,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":"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"}
@@ -39,11 +39,11 @@ export const MissingPure = (props) => {
39
39
  missingShortcut &&
40
40
  missingShortcut.dontKnow &&
41
41
  missingShortcut.refused);
42
- useKeyboardKey(Object.values(missingShortcut), (e) => {
42
+ useKeyboardKey(missingShortcut ? Object.values(missingShortcut) : [], (e) => {
43
43
  e.preventDefault();
44
- if (e.key.toLowerCase() === missingShortcut.dontKnow.toLowerCase())
44
+ if (e.key.toLowerCase() === (missingShortcut === null || missingShortcut === void 0 ? void 0 : missingShortcut.dontKnow.toLowerCase()))
45
45
  onClickDK();
46
- if (e.key.toLowerCase() === missingShortcut.refused.toLowerCase())
46
+ if (e.key.toLowerCase() === (missingShortcut === null || missingShortcut === void 0 ? void 0 : missingShortcut.refused.toLowerCase()))
47
47
  onClickRF();
48
48
  }, hasKeyboardShortcut);
49
49
  return (_jsxs("div", { className: "missing-buttons", children: [_jsx("span", { className: `missing-button${value === DK ? '-active' : ''} missing-button-dk${value === DK ? '-active' : ''}`, children: _jsx(Button, { selected: value === DK, disabled: disabled, readOnly: readOnly, label: dontKnowButton, onClick: onClickDK }) }), _jsx("span", { className: `missing-button${value === RF ? '-active' : ''} missing-button-rf${value === RF ? '-active' : ''}`, children: _jsx(Button, { selected: value === RF, disabled: disabled, readOnly: readOnly, label: refusedButton, onClick: onClickRF }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Missing.js","sourceRoot":"","sources":["../../../../src/components/shared/Missing/Missing.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAoB/D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;IACvC,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAC,WAAW,OAAK,KAAK,KAAM,YAAY,GAAI,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,KAIiB,EAChB,EAAE;IACH,MAAM,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,QAAQ,GACR,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAE,EAAE;;QACtC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,mCAAI,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,eAAe;YAAE,eAAe,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,qBAAqB,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,qBAAqB,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAClC,QAAQ;QACP,CAAC,QAAQ;QACT,CAAC,QAAQ;QACT,eAAe;QACf,eAAe,CAAC,QAAQ;QACxB,eAAe,CAAC,OAAO,CACxB,CAAC;IAEF,cAAc,CACb,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EACrD,CAAC,CAAC,EAAE,EAAE;QACL,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,WAAW,EAAE,CAAA;YAClE,SAAS,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CAAC,WAAW,EAAE,CAAA;YACjE,SAAS,EAAE,CAAC;IACd,CAAC,EACD,mBAAmB,CACnB,CAAC;IAEF,OAAO,CACN,eAAK,SAAS,EAAC,iBAAiB,aAC/B,eACC,SAAS,EAAE,iBACV,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAC5B,qBAAqB,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,YAEpD,KAAC,MAAM,IACN,QAAQ,EAAE,KAAK,KAAK,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,SAAS,GACjB,GACI,EACP,eACC,SAAS,EAAE,iBACV,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAC5B,qBAAqB,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,YAEpD,KAAC,MAAM,IACN,QAAQ,EAAE,KAAK,KAAK,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,SAAS,GACjB,GACI,IACF,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,37 +1,39 @@
1
1
  import { type FunctionComponent, type PropsWithChildren } from 'react';
2
+ import type { LunaticOptions } from './type';
3
+ type LunaticContextType = {
4
+ missingStrategy?: LunaticOptions['missingStrategy'];
5
+ management?: LunaticOptions['management'];
6
+ missing?: LunaticOptions['missing'];
7
+ shortcut?: LunaticOptions['shortcut'];
8
+ missingShortcut?: LunaticOptions['missingShortcut'];
9
+ dontKnowButton?: LunaticOptions['dontKnowButton'];
10
+ refusedButton?: LunaticOptions['refusedButton'];
11
+ componentsOptions?: LunaticOptions['componentsOptions'];
12
+ };
13
+ /** Expose specific Lunatic options to handle some (e.g. missing, management, components options) */
14
+ export declare const LunaticContext: import("react").Context<LunaticContextType>;
2
15
  /**
3
16
  * Provide `missing`, `missingStrategy`, `shortcut` and `missingShortcut`,
4
17
  * `dontKnowButton`, `refusedButton` to `Missing` component to manage
5
18
  * non-response buttons and shortcut.
6
19
  */
7
20
  export declare const useLunaticMissing: () => {
8
- missing: boolean;
9
- missingStrategy: () => void;
10
- shortcut: boolean;
21
+ missing: boolean | undefined;
22
+ missingStrategy: (() => void) | undefined;
23
+ shortcut: boolean | undefined;
11
24
  missingShortcut: {
12
25
  dontKnow: string;
13
26
  refused: string;
14
- };
15
- dontKnowButton: string;
16
- refusedButton: string;
27
+ } | undefined;
28
+ dontKnowButton: string | undefined;
29
+ refusedButton: string | undefined;
17
30
  };
31
+ /** Expose the specified options to override default component behaviour. */
18
32
  export declare const useLunaticComponentsOptions: () => {
19
- detailAlwaysDisplayed: boolean;
33
+ detailAlwaysDisplayed?: boolean;
34
+ disableRosterForLoopDeleteRowButton?: boolean;
20
35
  };
21
36
  /** Provide `management` to display data states [COLLECTED,EDITED,FORCED] */
22
- export declare const useLunaticManagement: () => boolean;
23
- export declare function createLunaticProvider({ management, missing, missingStrategy, shortcut, missingShortcut, dontKnowButton, refusedButton, componentsOptions, }: {
24
- management: boolean;
25
- missing: boolean;
26
- missingStrategy: () => void;
27
- shortcut: boolean;
28
- missingShortcut: {
29
- dontKnow: string;
30
- refused: string;
31
- };
32
- dontKnowButton: string;
33
- refusedButton: string;
34
- componentsOptions: {
35
- detailAlwaysDisplayed: boolean;
36
- };
37
- }): FunctionComponent<PropsWithChildren>;
37
+ export declare const useLunaticManagement: () => boolean | undefined;
38
+ export declare function createLunaticProvider({ management, missing, missingStrategy, shortcut, missingShortcut, dontKnowButton, refusedButton, componentsOptions, }: LunaticContextType): FunctionComponent<PropsWithChildren>;
39
+ export {};
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext, } from 'react';
3
3
  import D from '../i18n/index';
4
- const LunaticContext = createContext({
4
+ /** Mandatory values used as a context's last-resort fallback. */
5
+ const defaultValues = {
5
6
  missingStrategy: () => { },
6
7
  management: false,
7
8
  missing: false,
@@ -9,8 +10,13 @@ const LunaticContext = createContext({
9
10
  missingShortcut: { dontKnow: '', refused: '' },
10
11
  dontKnowButton: D.DK,
11
12
  refusedButton: D.RF,
12
- componentsOptions: { detailAlwaysDisplayed: false },
13
- });
13
+ componentsOptions: {
14
+ detailAlwaysDisplayed: false,
15
+ disableRosterForLoopDeleteRowButton: false,
16
+ },
17
+ };
18
+ /** Expose specific Lunatic options to handle some (e.g. missing, management, components options) */
19
+ export const LunaticContext = createContext(defaultValues);
14
20
  /**
15
21
  * Provide `missing`, `missingStrategy`, `shortcut` and `missingShortcut`,
16
22
  * `dontKnowButton`, `refusedButton` to `Missing` component to manage
@@ -27,9 +33,10 @@ export const useLunaticMissing = () => {
27
33
  refusedButton,
28
34
  };
29
35
  };
36
+ /** Expose the specified options to override default component behaviour. */
30
37
  export const useLunaticComponentsOptions = () => {
31
38
  const { componentsOptions } = useContext(LunaticContext);
32
- return componentsOptions;
39
+ return componentsOptions !== null && componentsOptions !== void 0 ? componentsOptions : {};
33
40
  };
34
41
  /** Provide `management` to display data states [COLLECTED,EDITED,FORCED] */
35
42
  export const useLunaticManagement = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"lunatic-context.js","sourceRoot":"","sources":["../../src/use-lunatic/lunatic-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGN,aAAa,EACb,UAAU,GACV,MAAM,OAAO,CAAC;AAEf,OAAO,CAAC,MAAM,eAAe,CAAC;AAE9B,MAAM,cAAc,GAAG,aAAa,CAAC;IACpC,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;IACzB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9C,cAAc,EAAE,CAAC,CAAC,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,EAAE;IACnB,iBAAiB,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE;CACnD,CAAC,CAAC;AACH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACrC,MAAM,EACL,OAAO,EACP,eAAe,EACf,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,GACb,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC/B,OAAO;QACN,OAAO;QACP,eAAe;QACf,QAAQ;QACR,eAAe;QACf,cAAc;QACd,aAAa;KACb,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC/C,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO,iBAAiB,CAAC;AAC1B,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACxC,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,EACrC,UAAU,EACV,OAAO,EACP,eAAe,EACf,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,GAUjB;IACA,MAAM,KAAK,GAAG;QACb,UAAU;QACV,OAAO;QACP,eAAe;QACf,QAAQ;QACR,eAAe;QACf,cAAc;QACd,aAAa;QACb,iBAAiB;KACjB,CAAC;IACF,OAAO,SAAS,QAAQ,CAAC,EAAE,QAAQ,EAAqB;QACvD,OAAO,CACN,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACnC,QAAQ,GACgB,CAC1B,CAAC;IACH,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"lunatic-context.js","sourceRoot":"","sources":["../../src/use-lunatic/lunatic-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGN,aAAa,EACb,UAAU,GACV,MAAM,OAAO,CAAC;AAEf,OAAO,CAAC,MAAM,eAAe,CAAC;AAc9B,iEAAiE;AACjE,MAAM,aAAa,GAAG;IACrB,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;IACzB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9C,cAAc,EAAE,CAAC,CAAC,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,EAAE;IACnB,iBAAiB,EAAE;QAClB,qBAAqB,EAAE,KAAK;QAC5B,mCAAmC,EAAE,KAAK;KAC1C;CACD,CAAC;AAEF,oGAAoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAqB,aAAa,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACrC,MAAM,EACL,OAAO,EACP,eAAe,EACf,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,GACb,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC/B,OAAO;QACN,OAAO;QACP,eAAe;QACf,QAAQ;QACR,eAAe;QACf,cAAc;QACd,aAAa;KACb,CAAC;AACH,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC/C,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACxC,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,EACrC,UAAU,EACV,OAAO,EACP,eAAe,EACf,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,GACG;IACpB,MAAM,KAAK,GAAG;QACb,UAAU;QACV,OAAO;QACP,eAAe;QACf,QAAQ;QACR,eAAe;QACf,cAAc;QACd,aAAa;QACb,iBAAiB;KACjB,CAAC;IACF,OAAO,SAAS,QAAQ,CAAC,EAAE,QAAQ,EAAqB;QACvD,OAAO,CACN,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACnC,QAAQ,GACgB,CAC1B,CAAC;IACH,CAAC,CAAC;AACH,CAAC"}
@@ -151,14 +151,23 @@ export type LunaticReducerState = {
151
151
  };
152
152
  /** Specific behaviour options defined in the {@link useLunatic} hook. */
153
153
  export type LunaticOptions = {
154
- /** Ignore filters. (default: `false`) */
154
+ /**
155
+ * Ignore filters.
156
+ * @default false
157
+ */
155
158
  disableFilters?: boolean;
156
- /** Disable filters description. (default: `true`) */
159
+ /**
160
+ * Disable filters description.
161
+ * @default true
162
+ */
157
163
  disableFiltersDescription?: boolean;
158
164
  /** Enable VTL and Markdown support. */
159
165
  features?: ('MD' | 'VTL')[];
160
166
  preferences?: ['COLLECTED'];
161
- /** Key in which the data is saved. (default: `"COLLECTED"`) */
167
+ /**
168
+ * Key in which the data is saved.
169
+ * @default "COLLECTED"
170
+ */
162
171
  savingType?: 'COLLECTED';
163
172
  /** Function called when a variable is changed by a user input (must be memoized as it is used in dependency of a `useCallback` by the library). */
164
173
  onChange?: LunaticChangesHandler;
@@ -168,24 +177,43 @@ export type LunaticOptions = {
168
177
  *
169
178
  * Enable management mode which allow to handle multiple states of the same variable (used by recovery positions).
170
179
  *
171
- * The administrator can switch between `COLLECTED`, `EDITED`, `INPUTTED` modes. (default: `false`)
180
+ * The administrator can switch between `COLLECTED`, `EDITED`, `INPUTTED` modes.
181
+ * @default false
172
182
  */
173
183
  management?: boolean;
174
- /** Enable keyboard shortcuts for checkboxes, radio buttons and missing buttons (default: `false`). */
184
+ /**
185
+ * Enable keyboard shortcuts for checkboxes, radio buttons and missing buttons.
186
+ * @default false
187
+ */
175
188
  shortcut?: boolean;
176
- /** Starting page at launch. (default: `"1"`) */
189
+ /**
190
+ * Starting page at launch.
191
+ * @default '1'
192
+ */
177
193
  initialPage?: PageTag;
178
194
  /** Furthest page the user ever reached. */
179
195
  lastReachedPage?: PageTag;
180
- /** Enable the preemptive loading of suggester data on Lunatic initialization. (default: `false`) */
196
+ /**
197
+ * Enable the preemptive loading of suggester data on Lunatic initialization.
198
+ * @default false
199
+ */
181
200
  autoSuggesterLoading?: boolean;
182
201
  /** Function called to fetch nomenclatures used by the suggesters. */
183
202
  getReferentiel?: (name: string) => Promise<Array<IndexEntry>>;
184
- /** Enable data controls (form validation). (default: `false`) */
203
+ /**
204
+ * Enable data controls (form validation).
205
+ * @default false
206
+ */
185
207
  activeControls?: boolean;
186
- /** Enable overview system. (default: `false`) */
208
+ /**
209
+ * Enable overview system.
210
+ * @default false
211
+ */
187
212
  withOverview?: boolean;
188
- /** Enable missing system. (default: `false`) */
213
+ /**
214
+ * Enable missing system.
215
+ * @default false
216
+ */
189
217
  missing?: boolean;
190
218
  /** Function triggered when a missing button is clicked. */
191
219
  missingStrategy?: () => void;
@@ -198,11 +226,28 @@ export type LunaticOptions = {
198
226
  dontKnowButton?: string;
199
227
  /** "Refused" button label. */
200
228
  refusedButton?: string;
201
- /** Enable change tracking to keep a track of what variable changed (allow using getChangedData()). (default: `false`) */
229
+ /**
230
+ * Enable change tracking to keep a track of what variable changed
231
+ * (allow using getChangedData()).
232
+ * @default false
233
+ */
202
234
  trackChanges?: boolean;
203
235
  logger?: LunaticLogger;
236
+ /** Options that can be set to override default component behaviour. */
204
237
  componentsOptions?: {
238
+ /**
239
+ * Set the details ("autre précisez") as always displayed (even if the
240
+ * related "other" modality is not currently selected).
241
+ * @since 3.4.9
242
+ * @default false
243
+ */
205
244
  detailAlwaysDisplayed?: boolean;
245
+ /**
246
+ * Set the "remove row" button as disabled in roster for loop.
247
+ * @since 3.7.5
248
+ * @default false
249
+ */
250
+ disableRosterForLoopDeleteRowButton?: boolean;
206
251
  };
207
252
  /** Commit variable change automatically for resizing / cleaning (used for testing) **/
208
253
  autoCommit?: boolean;
@@ -50,7 +50,10 @@ const defaultOptions = {
50
50
  refusedButton: DEFAULT_REFUSED,
51
51
  trackChanges: false,
52
52
  logger: ConsoleLogger,
53
- componentsOptions: { detailAlwaysDisplayed: false },
53
+ componentsOptions: {
54
+ detailAlwaysDisplayed: false,
55
+ disableRosterForLoopDeleteRowButton: false,
56
+ },
54
57
  };
55
58
  /** The first library entrypoint is the `useLunatic` hook. */
56
59
  export function useLunatic(
@@ -96,6 +99,7 @@ argOptions = empty) {
96
99
  dontKnowButton,
97
100
  refusedButton,
98
101
  componentsOptions.detailAlwaysDisplayed,
102
+ componentsOptions.disableRosterForLoopDeleteRowButton,
99
103
  ]);
100
104
  const compileControls = () => {
101
105
  return compileControlsLib(state);
@@ -1 +1 @@
1
- {"version":3,"file":"use-lunatic.js","sourceRoot":"","sources":["../../src/use-lunatic/use-lunatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-lunatic.js","sourceRoot":"","sources":["../../src/use-lunatic/use-lunatic.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "3.7.4",
3
+ "version": "3.7.5",
4
4
  "description": "Library of questionnaire components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -67,6 +67,7 @@ type CustomProps = Omit<
67
67
  addRow?: () => void;
68
68
  removeRow?: () => void;
69
69
  canControlRows?: boolean;
70
+ disableDeleteRowButton?: boolean;
70
71
  }>;
71
72
 
72
73
  export const CustomLoop = slottableComponent<CustomProps>('Loop', (props) => {
@@ -79,6 +80,7 @@ export const CustomLoop = slottableComponent<CustomProps>('Loop', (props) => {
79
80
  errors,
80
81
  addRow,
81
82
  removeRow,
83
+ disableDeleteRowButton = false,
82
84
  } = props;
83
85
 
84
86
  return (
@@ -98,7 +100,10 @@ export const CustomLoop = slottableComponent<CustomProps>('Loop', (props) => {
98
100
  <Button onClick={addRow} disabled={!addRow}>
99
101
  {D.DEFAULT_BUTTON_ADD}
100
102
  </Button>
101
- <Button onClick={removeRow} disabled={!removeRow}>
103
+ <Button
104
+ onClick={removeRow}
105
+ disabled={disableDeleteRowButton || !removeRow}
106
+ >
102
107
  {D.DEFAULT_BUTTON_REMOVE}
103
108
  </Button>
104
109
  </>