@movalib/movalib-commons 1.1.45 → 1.1.46

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.
@@ -1,6 +1,9 @@
1
1
  import React from 'react';
2
+ import { SxProps, Theme } from '@mui/material';
2
3
  interface IbanInputProps {
3
4
  onIbanChange: (iban: string) => void;
5
+ size?: 'small' | 'medium';
6
+ sx?: SxProps<Theme>;
4
7
  }
5
8
  declare const IbanInput: React.FC<IbanInputProps>;
6
9
  export default IbanInput;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
@@ -7,9 +18,9 @@ var jsx_runtime_1 = require("react/jsx-runtime");
7
18
  var react_1 = require("react");
8
19
  var TextField_1 = __importDefault(require("@mui/material/TextField"));
9
20
  var IbanInput = function (_a) {
10
- var onIbanChange = _a.onIbanChange;
11
- var _b = (0, react_1.useState)(''), iban = _b[0], setIban = _b[1];
12
- var _c = (0, react_1.useState)(null), error = _c[0], setError = _c[1];
21
+ var onIbanChange = _a.onIbanChange, _b = _a.size, size = _b === void 0 ? 'medium' : _b, sx = _a.sx;
22
+ var _c = (0, react_1.useState)(''), iban = _c[0], setIban = _c[1];
23
+ var _d = (0, react_1.useState)(null), error = _d[0], setError = _d[1];
13
24
  var formatIban = function (value) {
14
25
  // Supprime les espaces et convertit en majuscules avant d'ajouter des espaces tous les 4 caractères
15
26
  return value.replace(/\s/g, '').toUpperCase().replace(/(.{4})/g, '$1 ').trim();
@@ -32,9 +43,9 @@ var IbanInput = function (_a) {
32
43
  setError("Format de l'IBAN invalide"); // Message d'erreur pour un IBAN invalide
33
44
  }
34
45
  };
35
- return ((0, jsx_runtime_1.jsx)(TextField_1.default, { label: "IBAN", variant: "outlined", value: iban, onChange: handleChange, placeholder: "FRXX XXXX XXXX XXXX XXXX XXXX XX", error: !!error, helperText: error, inputProps: {
46
+ return ((0, jsx_runtime_1.jsx)(TextField_1.default, { label: "IBAN", variant: "outlined", value: iban, onChange: handleChange, placeholder: "FRXX XXXX XXXX XXXX XXXX XXXX XX", error: !!error, helperText: error, size: size, inputProps: {
36
47
  maxLength: 39,
37
48
  style: { textTransform: 'uppercase' }
38
- }, fullWidth: true }));
49
+ }, fullWidth: true, sx: __assign({}, sx) }));
39
50
  };
40
51
  exports.default = IbanInput;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@movalib/movalib-commons",
3
- "version": "1.1.45",
3
+ "version": "1.1.46",
4
4
  "description": "Bibliothèque d'objets communs à l'ensemble des projets React de Movalib",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/IbanInput.tsx CHANGED
@@ -1,11 +1,14 @@
1
1
  import React, { useState } from 'react';
2
2
  import TextField from '@mui/material/TextField';
3
+ import { SxProps, Theme } from '@mui/material';
3
4
 
4
5
  interface IbanInputProps {
5
6
  onIbanChange: (iban: string) => void; // Ajout d'une prop pour le callback
7
+ size?: 'small' | 'medium';
8
+ sx?: SxProps<Theme>;
6
9
  }
7
10
 
8
- const IbanInput: React.FC<IbanInputProps> = ({ onIbanChange }) => {
11
+ const IbanInput: React.FC<IbanInputProps> = ({ onIbanChange, size = 'medium', sx }) => {
9
12
  const [iban, setIban] = useState('');
10
13
  const [error, setError] = useState<string | null>(null);
11
14
 
@@ -43,10 +46,12 @@ const IbanInput: React.FC<IbanInputProps> = ({ onIbanChange }) => {
43
46
  placeholder="FRXX XXXX XXXX XXXX XXXX XXXX XX"
44
47
  error={!!error}
45
48
  helperText={error}
49
+ size={size}
46
50
  inputProps={{
47
51
  maxLength: 39, // 34 caractères + espaces pour les blocs de 4 caractères
48
52
  style: { textTransform: 'uppercase' } }}
49
53
  fullWidth
54
+ sx={{ ...sx }}
50
55
  />
51
56
  );
52
57
  };