@inseefr/lunatic 3.4.12 → 3.4.13

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 (32) hide show
  1. package/components/Input/Input.spec.js +12 -0
  2. package/components/Input/Input.spec.js.map +1 -1
  3. package/components/InputNumber/InputNumber.js +1 -1
  4. package/components/InputNumber/InputNumber.js.map +1 -1
  5. package/components/InputNumber/InputNumber.spec.js +9 -1
  6. package/components/InputNumber/InputNumber.spec.js.map +1 -1
  7. package/components/InputNumber/InputNumberThousand.d.ts +2 -1
  8. package/components/InputNumber/InputNumberThousand.js +8 -2
  9. package/components/InputNumber/InputNumberThousand.js.map +1 -1
  10. package/esm/components/Input/Input.spec.js +12 -0
  11. package/esm/components/Input/Input.spec.js.map +1 -1
  12. package/esm/components/InputNumber/InputNumber.js +1 -1
  13. package/esm/components/InputNumber/InputNumber.js.map +1 -1
  14. package/esm/components/InputNumber/InputNumber.spec.js +9 -1
  15. package/esm/components/InputNumber/InputNumber.spec.js.map +1 -1
  16. package/esm/components/InputNumber/InputNumberThousand.d.ts +2 -1
  17. package/esm/components/InputNumber/InputNumberThousand.js +8 -2
  18. package/esm/components/InputNumber/InputNumberThousand.js.map +1 -1
  19. package/esm/use-lunatic/commons/page.js +8 -0
  20. package/esm/use-lunatic/commons/page.js.map +1 -1
  21. package/package.json +2 -1
  22. package/src/components/Input/Input.spec.tsx +15 -0
  23. package/src/components/InputNumber/InputNumber.spec.tsx +15 -1
  24. package/src/components/InputNumber/InputNumber.tsx +1 -0
  25. package/src/components/InputNumber/InputNumberThousand.tsx +11 -1
  26. package/src/stories/input-number/input-number.stories.jsx +5 -0
  27. package/src/stories/input-number/source-big-number.json +31 -0
  28. package/src/stories/input-number/source-euro.json +1 -1
  29. package/src/use-lunatic/commons/page.ts +10 -0
  30. package/tsconfig.build.tsbuildinfo +1 -1
  31. package/use-lunatic/commons/page.js +8 -0
  32. package/use-lunatic/commons/page.js.map +1 -1
@@ -50,5 +50,17 @@ const Input_1 = require("./Input");
50
50
  (0, vitest_1.expect)(input).toHaveFocus();
51
51
  (0, vitest_1.expect)(input).toHaveValue('toto');
52
52
  });
53
+ (0, vitest_1.it)('should display input value from the start when user leave input', () => {
54
+ const setSelectionRangeMock = vitest_1.vi.fn();
55
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Input_1.Input, { ...baseProps }));
56
+ const input = container.querySelector('input[type="text"]');
57
+ react_1.fireEvent.blur(input, {
58
+ target: {
59
+ ...input,
60
+ setSelectionRange: setSelectionRangeMock,
61
+ },
62
+ });
63
+ (0, vitest_1.expect)(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
64
+ });
53
65
  });
54
66
  //# sourceMappingURL=Input.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
@@ -14,6 +14,6 @@ function InputNumber({ handleChanges, response, errors, decimals, ...props }) {
14
14
  exports.CustomInputNumber = (0, slottableComponent_1.slottableComponent)('InputNumber', (props) => {
15
15
  const { id, value, onChange, disabled, readOnly, max, decimals, unit, label, errors, required, description, declarations, } = props;
16
16
  const labelId = `label-${id}`;
17
- return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-input-number", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)(InputNumberThousand_1.InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors }), unit && (0, jsx_runtime_1.jsx)("span", { children: unit }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
17
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "lunatic-input-number", children: [(0, jsx_runtime_1.jsx)(Label_1.Label, { htmlFor: id, id: labelId, description: description, children: label }), (0, jsx_runtime_1.jsx)(Declarations_1.Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), (0, jsx_runtime_1.jsx)(InputNumberThousand_1.InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors, unit: unit }), unit && (0, jsx_runtime_1.jsx)("span", { children: unit }), (0, jsx_runtime_1.jsx)(ComponentErrors_1.ComponentErrors, { errors: errors })] }));
18
18
  });
19
19
  //# sourceMappingURL=InputNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";;;AAWA,kCAeC;;AA1BD,+DAA4D;AAE5D,iDAA8C;AAC9C,+EAGmD;AACnD,yEAAsE;AACtE,sEAAmE;AAGnE,SAAgB,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,uBAAC,yBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,IAAI,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,iBAAiB,GAAG,IAAA,uCAAkB,EAClD,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,iCAAK,SAAS,EAAC,sBAAsB,aACpC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,uBAAC,yCAAmB,IACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,MAAM,GAChB,EACD,IAAI,IAAI,2CAAO,IAAI,GAAQ,EAC5B,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";;;AAWA,kCAeC;;AA1BD,+DAA4D;AAE5D,iDAA8C;AAC9C,+EAGmD;AACnD,yEAAsE;AACtE,sEAAmE;AAGnE,SAAgB,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,uBAAC,yBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,IAAI,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,IAAA,oCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUY,QAAA,iBAAiB,GAAG,IAAA,uCAAkB,EAClD,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,iCAAK,SAAS,EAAC,sBAAsB,aACpC,uBAAC,aAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,uBAAC,2BAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,uBAAC,yCAAmB,IACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EACjB,IAAI,EAAE,IAAI,GACT,EACD,IAAI,IAAI,2CAAO,IAAI,GAAQ,EAC5B,uBAAC,iCAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -74,7 +74,7 @@ const InputNumber_1 = require("./InputNumber");
74
74
  const unit = container.querySelector('span');
75
75
  (0, vitest_1.expect)(unit).toHaveTextContent('kg');
76
76
  });
77
- (0, vitest_1.it)('should display the input value from the start', () => {
77
+ (0, vitest_1.it)('should display input value from the start when user leave input', () => {
78
78
  const setSelectionRangeMock = vitest_1.vi.fn();
79
79
  const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(InputNumber_1.InputNumber, { ...baseProps, value: 100000000000000000000000000000000000 }));
80
80
  const input = container.querySelector('input[type="text"]');
@@ -86,5 +86,13 @@ const InputNumber_1 = require("./InputNumber");
86
86
  });
87
87
  (0, vitest_1.expect)(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
88
88
  });
89
+ (0, vitest_1.it)('should have the proper title', async () => {
90
+ const { getByTitle } = (0, react_1.render)((0, jsx_runtime_1.jsx)(InputNumber_1.InputNumber, { ...baseProps, value: 100000, unit: "\u20AC" }));
91
+ (0, vitest_1.expect)(getByTitle((content) => content.includes('€'))).toBeInTheDocument();
92
+ });
93
+ (0, vitest_1.it)('should have the proper title when equal to 0', async () => {
94
+ const { getByTitle } = (0, react_1.render)((0, jsx_runtime_1.jsx)(InputNumber_1.InputNumber, { ...baseProps, value: 0, unit: "\u20AC" }));
95
+ (0, vitest_1.expect)(getByTitle('0 €')).toBeInTheDocument();
96
+ });
89
97
  });
90
98
  //# sourceMappingURL=InputNumber.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ type Props = {
9
9
  max?: number;
10
10
  decimals?: number;
11
11
  invalid?: boolean;
12
+ unit?: string;
12
13
  };
13
- export declare const InputNumberThousand: ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const InputNumberThousand: ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, unit, }: Props) => import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -9,7 +9,7 @@ const classnames_1 = __importDefault(require("classnames"));
9
9
  const react_1 = require("react");
10
10
  const react_number_format_1 = require("react-number-format");
11
11
  const i18n_1 = require("../../i18n");
12
- const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, }) => {
12
+ const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, unit, }) => {
13
13
  const handleChange = (0, react_1.useCallback)(function (e) {
14
14
  const val = e.floatValue ?? null;
15
15
  onChange(Number.isNaN(val) ? null : val);
@@ -20,7 +20,13 @@ const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required
20
20
  return floatValue <= max || false;
21
21
  return true;
22
22
  }, [max]);
23
- return ((0, jsx_runtime_1.jsx)(react_number_format_1.NumericFormat, { id: id, className: (0, classnames_1.default)({ disabled }), onValueChange: handleChange, value: value ?? '', title: value ? value.toString() : '', "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: i18n_1.inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: i18n_1.inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: i18n_1.inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
23
+ // we want to display the user input and its unit on hover
24
+ let title;
25
+ if (value !== undefined && value !== null) {
26
+ const unitTitle = unit ? ` ${unit}` : '';
27
+ title = `${value.toLocaleString()}${unitTitle}`;
28
+ }
29
+ return ((0, jsx_runtime_1.jsx)(react_number_format_1.NumericFormat, { id: id, className: (0, classnames_1.default)({ disabled }), onValueChange: handleChange, value: value ?? '', title: title, "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: i18n_1.inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: i18n_1.inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: i18n_1.inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
24
30
  e.target.setSelectionRange(0, 0);
25
31
  } }));
26
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";;;;;;;AAAA,4DAAoC;AACpC,iCAAoC;AACpC,6DAI6B;AAC7B,qCAAkD;AAe3C,MAAM,mBAAmB,GAAG,CAAC,EACnC,EAAE,EACF,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,GAAG,EACH,QAAQ,EACR,OAAO,GACA,EAAE,EAAE;IACX,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC/B,UAAU,CAAC;QACV,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC5B,CAAC,MAA0B,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,IAAI,GAAG;YAC7C,OAAO,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAC;IACF,OAAO,CACN,uBAAC,mCAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,qBACnB,OAAO,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,2BAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,2BAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,2BAAoB,CAAC,iBAAiB,EACzD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,kBAC7B,OAAO,EACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC;AAtDW,QAAA,mBAAmB,uBAsD9B"}
1
+ {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";;;;;;;AAAA,4DAAoC;AACpC,iCAAoC;AACpC,6DAI6B;AAC7B,qCAAkD;AAgB3C,MAAM,mBAAmB,GAAG,CAAC,EACnC,EAAE,EACF,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,GAAG,EACH,QAAQ,EACR,OAAO,EACP,IAAI,GACG,EAAE,EAAE;IACX,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC/B,UAAU,CAAC;QACV,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC5B,CAAC,MAA0B,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,IAAI,GAAG;YAC7C,OAAO,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAC;IAEF,0DAA0D;IAC1D,IAAI,KAAK,CAAC;IACV,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,CACN,uBAAC,mCAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,KAAK,EAAE,KAAK,qBACK,OAAO,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,2BAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,2BAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,2BAAoB,CAAC,iBAAiB,EACzD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,kBAC7B,OAAO,EACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC;AA/DW,QAAA,mBAAmB,uBA+D9B"}
@@ -48,5 +48,17 @@ describe('Input', () => {
48
48
  expect(input).toHaveFocus();
49
49
  expect(input).toHaveValue('toto');
50
50
  });
51
+ it('should display input value from the start when user leave input', () => {
52
+ const setSelectionRangeMock = vi.fn();
53
+ const { container } = render(_jsx(Input, { ...baseProps }));
54
+ const input = container.querySelector('input[type="text"]');
55
+ fireEvent.blur(input, {
56
+ target: {
57
+ ...input,
58
+ setSelectionRange: setSelectionRangeMock,
59
+ },
60
+ });
61
+ expect(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
62
+ });
51
63
  });
52
64
  //# sourceMappingURL=Input.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.spec.js","sourceRoot":"","sources":["../../../src/components/Input/Input.spec.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,6 @@ export function InputNumber({ handleChanges, response, errors, decimals, ...prop
10
10
  export const CustomInputNumber = slottableComponent('InputNumber', (props) => {
11
11
  const { id, value, onChange, disabled, readOnly, max, decimals, unit, label, errors, required, description, declarations, } = props;
12
12
  const labelId = `label-${id}`;
13
- return (_jsxs("div", { className: "lunatic-input-number", children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx(InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors }), unit && _jsx("span", { children: unit }), _jsx(ComponentErrors, { errors: errors })] }));
13
+ return (_jsxs("div", { className: "lunatic-input-number", children: [_jsx(Label, { htmlFor: id, id: labelId, description: description, children: label }), _jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), _jsx(InputNumberThousand, { id: id, value: value, onChange: onChange, disabled: !!disabled, readOnly: !!readOnly, required: !!required, labelId: labelId, max: max, decimals: decimals, invalid: !!errors, unit: unit }), unit && _jsx("span", { children: unit }), _jsx(ComponentErrors, { errors: errors })] }));
14
14
  });
15
15
  //# sourceMappingURL=InputNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,KAAC,iBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAClD,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,eAAK,SAAS,EAAC,sBAAsB,aACpC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,KAAC,mBAAmB,IACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,MAAM,GAChB,EACD,IAAI,IAAI,yBAAO,IAAI,GAAQ,EAC5B,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"InputNumber.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACN,eAAe,EACf,kBAAkB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,UAAU,WAAW,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACN,KAAC,iBAAiB,OACb,KAAK,EACT,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EACpE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,CACF,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAClD,aAAa,EACb,CAAC,KAAK,EAAE,EAAE;IACT,MAAM,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC;IAC9B,OAAO,CACN,eAAK,SAAS,EAAC,sBAAsB,aACpC,KAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,YACvD,KAAK,GACC,EACR,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACF,KAAC,mBAAmB,IACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EACjB,IAAI,EAAE,IAAI,GACT,EACD,IAAI,IAAI,yBAAO,IAAI,GAAQ,EAC5B,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,IAC9B,CACN,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -72,7 +72,7 @@ describe('InputNumber', () => {
72
72
  const unit = container.querySelector('span');
73
73
  expect(unit).toHaveTextContent('kg');
74
74
  });
75
- it('should display the input value from the start', () => {
75
+ it('should display input value from the start when user leave input', () => {
76
76
  const setSelectionRangeMock = vi.fn();
77
77
  const { container } = render(_jsx(InputNumber, { ...baseProps, value: 100000000000000000000000000000000000 }));
78
78
  const input = container.querySelector('input[type="text"]');
@@ -84,5 +84,13 @@ describe('InputNumber', () => {
84
84
  });
85
85
  expect(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
86
86
  });
87
+ it('should have the proper title', async () => {
88
+ const { getByTitle } = render(_jsx(InputNumber, { ...baseProps, value: 100000, unit: "\u20AC" }));
89
+ expect(getByTitle((content) => content.includes('€'))).toBeInTheDocument();
90
+ });
91
+ it('should have the proper title when equal to 0', async () => {
92
+ const { getByTitle } = render(_jsx(InputNumber, { ...baseProps, value: 0, unit: "\u20AC" }));
93
+ expect(getByTitle('0 €')).toBeInTheDocument();
94
+ });
87
95
  });
88
96
  //# sourceMappingURL=InputNumber.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.spec.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.spec.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ type Props = {
9
9
  max?: number;
10
10
  decimals?: number;
11
11
  invalid?: boolean;
12
+ unit?: string;
12
13
  };
13
- export declare const InputNumberThousand: ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const InputNumberThousand: ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, unit, }: Props) => import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
  import { useCallback } from 'react';
4
4
  import { NumericFormat, } from 'react-number-format';
5
5
  import { inputNumberPropsI18N } from '../../i18n';
6
- export const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, }) => {
6
+ export const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, required, labelId, max, decimals, invalid, unit, }) => {
7
7
  const handleChange = useCallback(function (e) {
8
8
  var _a;
9
9
  const val = (_a = e.floatValue) !== null && _a !== void 0 ? _a : null;
@@ -15,7 +15,13 @@ export const InputNumberThousand = ({ id, onChange, value, disabled, readOnly, r
15
15
  return floatValue <= max || false;
16
16
  return true;
17
17
  }, [max]);
18
- return (_jsx(NumericFormat, { id: id, className: classNames({ disabled }), onValueChange: handleChange, value: value !== null && value !== void 0 ? value : '', title: value ? value.toString() : '', "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
18
+ // we want to display the user input and its unit on hover
19
+ let title;
20
+ if (value !== undefined && value !== null) {
21
+ const unitTitle = unit ? ` ${unit}` : '';
22
+ title = `${value.toLocaleString()}${unitTitle}`;
23
+ }
24
+ return (_jsx(NumericFormat, { id: id, className: classNames({ disabled }), onValueChange: handleChange, value: value !== null && value !== void 0 ? value : '', title: title, "aria-labelledby": labelId, disabled: disabled, readOnly: readOnly, required: required, lang: "en", isAllowed: isAllowed, allowedDecimalSeparators: inputNumberPropsI18N.allDecimalSeparators, decimalSeparator: inputNumberPropsI18N.decimalSeparator, decimalScale: decimals, allowLeadingZeros: true, thousandSeparator: inputNumberPropsI18N.thousandSeparator, inputMode: decimals ? 'decimal' : 'numeric', "aria-invalid": invalid, onBlur: (e) => {
19
25
  e.target.setSelectionRange(0, 0);
20
26
  } }));
21
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EACN,aAAa,GAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAelD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EACnC,EAAE,EACF,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,GAAG,EACH,QAAQ,EACR,OAAO,GACA,EAAE,EAAE;IACX,MAAM,YAAY,GAAG,WAAW,CAC/B,UAAU,CAAC;;QACV,MAAM,GAAG,GAAG,MAAA,CAAC,CAAC,UAAU,mCAAI,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,MAA0B,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,IAAI,GAAG;YAC7C,OAAO,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAC;IACF,OAAO,CACN,KAAC,aAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,qBACnB,OAAO,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,oBAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB,EACzD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,kBAC7B,OAAO,EACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"InputNumberThousand.js","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumberThousand.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EACN,aAAa,GAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAgBlD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EACnC,EAAE,EACF,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,GAAG,EACH,QAAQ,EACR,OAAO,EACP,IAAI,GACG,EAAE,EAAE;IACX,MAAM,YAAY,GAAG,WAAW,CAC/B,UAAU,CAAC;;QACV,MAAM,GAAG,GAAG,MAAA,CAAC,CAAC,UAAU,mCAAI,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,MAA0B,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,IAAI,GAAG;YAC7C,OAAO,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAC;IAEF,0DAA0D;IAC1D,IAAI,KAAK,CAAC;IACV,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,CACN,KAAC,aAAa,IACb,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EACnC,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAClB,KAAK,EAAE,KAAK,qBACK,OAAO,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,oBAAoB,CAAC,oBAAoB,EACnE,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,EACvD,YAAY,EAAE,QAAQ,EACtB,iBAAiB,QACjB,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB,EACzD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,kBAC7B,OAAO,EACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC"}
@@ -24,6 +24,14 @@ export function isPageEmpty(state) {
24
24
  if (options.disableFilters) {
25
25
  return true;
26
26
  }
27
+ // The component is a paginated loop, consider it invisible if iteration size is 0
28
+ if ('paginatedLoop' in component && component.paginatedLoop) {
29
+ const iterations = state.executeExpression(component.iterations);
30
+ if (!iterations) {
31
+ return false;
32
+ }
33
+ }
34
+ // Use condition filter if present
27
35
  if ('conditionFilter' in component && component.conditionFilter) {
28
36
  return executeConditionFilter(component.conditionFilter, executeExpression, iteration);
29
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/use-lunatic/commons/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,sBAAsB,MAAM,4BAA4B,CAAC;AAEhE,MAAM,UAAU,SAAS,CAAC,EACzB,OAAO,EACP,IAAI,GACoD;IACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACrD,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACzD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,iBAAiB,IAAI,SAAS,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YACjE,OAAO,sBAAsB,CAC5B,SAAS,CAAC,eAAe,EACzB,iBAAiB,EACjB,SAAS,CACT,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/use-lunatic/commons/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,sBAAsB,MAAM,4BAA4B,CAAC;AAEhE,MAAM,UAAU,SAAS,CAAC,EACzB,OAAO,EACP,IAAI,GACoD;IACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACrD,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACzD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,kFAAkF;QAClF,IAAI,eAAe,IAAI,SAAS,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAS,SAAS,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QAED,kCAAkC;QAClC,IAAI,iBAAiB,IAAI,SAAS,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YACjE,OAAO,sBAAsB,CAC5B,SAAS,CAAC,eAAe,EACzB,iBAAiB,EACjB,SAAS,CACT,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "3.4.12",
3
+ "version": "3.4.13",
4
4
  "description": "Library of questionnaire components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -293,6 +293,7 @@
293
293
  "src/stories/input/input.stories.jsx",
294
294
  "src/stories/input/source.json",
295
295
  "src/stories/input-number/input-number.stories.jsx",
296
+ "src/stories/input-number/source-big-number.json",
296
297
  "src/stories/input-number/source-euro.json",
297
298
  "src/stories/input-number/source.json",
298
299
  "src/stories/loop/loop.stories.jsx",
@@ -73,4 +73,19 @@ describe('Input', () => {
73
73
  expect(input).toHaveFocus();
74
74
  expect(input).toHaveValue('toto');
75
75
  });
76
+
77
+ it('should display input value from the start when user leave input', () => {
78
+ const setSelectionRangeMock = vi.fn();
79
+ const { container } = render(<Input {...baseProps} />);
80
+
81
+ const input = container.querySelector('input[type="text"]');
82
+
83
+ fireEvent.blur(input!, {
84
+ target: {
85
+ ...input,
86
+ setSelectionRange: setSelectionRangeMock,
87
+ },
88
+ });
89
+ expect(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
90
+ });
76
91
  });
@@ -113,7 +113,7 @@ describe('InputNumber', () => {
113
113
  expect(unit).toHaveTextContent('kg');
114
114
  });
115
115
 
116
- it('should display the input value from the start', () => {
116
+ it('should display input value from the start when user leave input', () => {
117
117
  const setSelectionRangeMock = vi.fn();
118
118
  const { container } = render(
119
119
  <InputNumber
@@ -132,4 +132,18 @@ describe('InputNumber', () => {
132
132
  });
133
133
  expect(setSelectionRangeMock).toHaveBeenCalledWith(0, 0);
134
134
  });
135
+
136
+ it('should have the proper title', async () => {
137
+ const { getByTitle } = render(
138
+ <InputNumber {...baseProps} value={100000} unit="€" />
139
+ );
140
+ expect(getByTitle((content) => content.includes('€'))).toBeInTheDocument();
141
+ });
142
+
143
+ it('should have the proper title when equal to 0', async () => {
144
+ const { getByTitle } = render(
145
+ <InputNumber {...baseProps} value={0} unit="€" />
146
+ );
147
+ expect(getByTitle('0 €')).toBeInTheDocument();
148
+ });
135
149
  });
@@ -74,6 +74,7 @@ export const CustomInputNumber = slottableComponent<CustomProps>(
74
74
  max={max}
75
75
  decimals={decimals}
76
76
  invalid={!!errors}
77
+ unit={unit}
77
78
  />
78
79
  {unit && <span>{unit}</span>}
79
80
  <ComponentErrors errors={errors} />
@@ -18,6 +18,7 @@ type Props = {
18
18
  max?: number;
19
19
  decimals?: number;
20
20
  invalid?: boolean;
21
+ unit?: string;
21
22
  };
22
23
 
23
24
  export const InputNumberThousand = ({
@@ -31,6 +32,7 @@ export const InputNumberThousand = ({
31
32
  max,
32
33
  decimals,
33
34
  invalid,
35
+ unit,
34
36
  }: Props) => {
35
37
  const handleChange = useCallback<OnValueChange>(
36
38
  function (e) {
@@ -49,13 +51,21 @@ export const InputNumberThousand = ({
49
51
  },
50
52
  [max]
51
53
  );
54
+
55
+ // we want to display the user input and its unit on hover
56
+ let title;
57
+ if (value !== undefined && value !== null) {
58
+ const unitTitle = unit ? ` ${unit}` : '';
59
+ title = `${value.toLocaleString()}${unitTitle}`;
60
+ }
61
+
52
62
  return (
53
63
  <NumericFormat
54
64
  id={id}
55
65
  className={classNames({ disabled })}
56
66
  onValueChange={handleChange}
57
67
  value={value ?? ''}
58
- title={value ? value.toString() : ''}
68
+ title={title}
59
69
  aria-labelledby={labelId}
60
70
  disabled={disabled}
61
71
  readOnly={readOnly}
@@ -2,6 +2,7 @@ import defaultArgTypes from '../utils/default-arg-types';
2
2
  import Orchestrator from '../utils/orchestrator';
3
3
  import source from './source';
4
4
  import sourceEuro from './source-euro.json';
5
+ import sourceBigNumber from './source-big-number.json';
5
6
 
6
7
  export default {
7
8
  title: 'Components/InputNumber',
@@ -16,3 +17,7 @@ export const Default = {
16
17
  export const DynamicUnit = {
17
18
  args: { source: sourceEuro },
18
19
  };
20
+
21
+ export const BigNumber = {
22
+ args: { source: sourceBigNumber },
23
+ };
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "../../../lunatic-schema.json",
3
+ "components": [
4
+ {
5
+ "id": "kze792d8",
6
+ "componentType": "InputNumber",
7
+ "mandatory": false,
8
+ "page": "1",
9
+ "min": 0,
10
+ "decimals": 0,
11
+ "unit": { "value": "\"€\"", "type": "VTL" },
12
+ "label": { "value": "\"➡ 1. \" || \"NB \"", "type": "VTL|MD" },
13
+ "conditionFilter": { "value": "true", "type": "VTL" },
14
+ "bindingDependencies": ["NB"],
15
+ "response": { "name": "NB" }
16
+ }
17
+ ],
18
+ "variables": [
19
+ {
20
+ "variableType": "COLLECTED",
21
+ "name": "NB",
22
+ "values": {
23
+ "PREVIOUS": null,
24
+ "COLLECTED": null,
25
+ "FORCED": null,
26
+ "EDITED": null,
27
+ "INPUTTED": null
28
+ }
29
+ }
30
+ ]
31
+ }
@@ -9,7 +9,7 @@
9
9
  "min": 0,
10
10
  "max": 10,
11
11
  "decimals": 0,
12
- "unit": { "value": "\"€\"", "type": "VTL|MD" },
12
+ "unit": { "value": "\"€\"", "type": "VTL" },
13
13
  "label": { "value": "\"➡ 1. \" || \"NB \"", "type": "VTL|MD" },
14
14
  "conditionFilter": { "value": "true", "type": "VTL" },
15
15
  "bindingDependencies": ["NB"],
@@ -31,6 +31,16 @@ export function isPageEmpty(state: LunaticReducerState): boolean {
31
31
  if (options.disableFilters) {
32
32
  return true;
33
33
  }
34
+
35
+ // The component is a paginated loop, consider it invisible if iteration size is 0
36
+ if ('paginatedLoop' in component && component.paginatedLoop) {
37
+ const iterations = state.executeExpression<number>(component.iterations);
38
+ if (!iterations) {
39
+ return false;
40
+ }
41
+ }
42
+
43
+ // Use condition filter if present
34
44
  if ('conditionFilter' in component && component.conditionFilter) {
35
45
  return executeConditionFilter(
36
46
  component.conditionFilter,