@movalib/movalib-commons 1.1.27 → 1.1.29

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.
package/dist/index.d.ts CHANGED
@@ -38,7 +38,7 @@ export type { APIRequest, APIResponse } from './src/helpers/ApiHelper';
38
38
  export type { DaySchedule, DayInterval } from './src/ScheduleFields';
39
39
  export type { MovaFormField, MovaLoginForm, MovaUserSignUpForm, MovaInterval, MovaVehicleForm, AddressFieldName } from './src/helpers/Types';
40
40
  export { readCookie, deleteCookie } from './src/helpers/CookieUtils';
41
- export { validateField, formatVehicleTire, formatFrenchVehiclePlate, isEmpty, getApplicationShortLabel, capitalizeFirstLetter } from './src/helpers/Tools';
41
+ export { validateField, formatVehicleTire, formatFrenchVehiclePlate, isEmpty, getApplicationShortLabel, capitalizeFirstLetter, flexLeftRow } from './src/helpers/Tools';
42
42
  export { validatePhoneNumber, validateText, validateEmail } from './src/helpers/Validator';
43
43
  export { formatDateByCountryCode, getLongFormattedDateTime } from './src/helpers/DateUtils';
44
44
  export { RoleType, MovaAppType, DayOfWeek, EventState, EventType, DocumentType, DigitalPassportIndex, DocumentState, Gender, DateFormatTypes, PartsApplicationType, ProductType, OrderPreference, OrderState, SlotAlgorithm, VehiclePlateFormat as VehiclePlateType } from './src/helpers/Enums';
package/dist/index.js CHANGED
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.RoleType = exports.getLongFormattedDateTime = exports.formatDateByCountryCode = exports.validateEmail = exports.validateText = exports.validatePhoneNumber = exports.capitalizeFirstLetter = exports.getApplicationShortLabel = exports.isEmpty = exports.formatFrenchVehiclePlate = exports.formatVehicleTire = exports.validateField = exports.deleteCookie = exports.readCookie = exports.VehicleTire = exports.Event = exports.Schedule = exports.Garage = exports.Document = exports.Vehicle = exports.Address = exports.Role = exports.User = exports.Customer = exports.Logger = exports.Operation = exports.Prestation = exports.Product = exports.Supplier = exports.GenderSelector = exports.ConfirmationDialog = exports.MovaVehicleTireField = exports.MovaCopyright = exports.MovaSignUp = exports.MovaLogin = exports.MovaSnackbar = exports.TestButton = exports.VehiclePlateField = exports.QRCode = exports.MovaDialog = exports.Loader = exports.MovaDigitalPassport = exports.VehicleFullCard = exports.ScheduleFields = exports.AddressFields = exports.AccountValidation = exports.GaragePLV = exports.UserService = exports.GarageService = exports.AuthenticationService = void 0;
8
- exports.VehiclePlateType = exports.SlotAlgorithm = exports.OrderState = exports.OrderPreference = exports.ProductType = exports.PartsApplicationType = exports.DateFormatTypes = exports.Gender = exports.DocumentState = exports.DigitalPassportIndex = exports.DocumentType = exports.EventType = exports.EventState = exports.DayOfWeek = exports.MovaAppType = void 0;
7
+ exports.getLongFormattedDateTime = exports.formatDateByCountryCode = exports.validateEmail = exports.validateText = exports.validatePhoneNumber = exports.flexLeftRow = exports.capitalizeFirstLetter = exports.getApplicationShortLabel = exports.isEmpty = exports.formatFrenchVehiclePlate = exports.formatVehicleTire = exports.validateField = exports.deleteCookie = exports.readCookie = exports.VehicleTire = exports.Event = exports.Schedule = exports.Garage = exports.Document = exports.Vehicle = exports.Address = exports.Role = exports.User = exports.Customer = exports.Logger = exports.Operation = exports.Prestation = exports.Product = exports.Supplier = exports.GenderSelector = exports.ConfirmationDialog = exports.MovaVehicleTireField = exports.MovaCopyright = exports.MovaSignUp = exports.MovaLogin = exports.MovaSnackbar = exports.TestButton = exports.VehiclePlateField = exports.QRCode = exports.MovaDialog = exports.Loader = exports.MovaDigitalPassport = exports.VehicleFullCard = exports.ScheduleFields = exports.AddressFields = exports.AccountValidation = exports.GaragePLV = exports.UserService = exports.GarageService = exports.AuthenticationService = void 0;
8
+ exports.VehiclePlateType = exports.SlotAlgorithm = exports.OrderState = exports.OrderPreference = exports.ProductType = exports.PartsApplicationType = exports.DateFormatTypes = exports.Gender = exports.DocumentState = exports.DigitalPassportIndex = exports.DocumentType = exports.EventType = exports.EventState = exports.DayOfWeek = exports.MovaAppType = exports.RoleType = void 0;
9
9
  // Export des services
10
10
  var AuthenticationService_1 = require("./src/services/AuthenticationService");
11
11
  Object.defineProperty(exports, "AuthenticationService", { enumerable: true, get: function () { return __importDefault(AuthenticationService_1).default; } });
@@ -92,6 +92,7 @@ Object.defineProperty(exports, "formatFrenchVehiclePlate", { enumerable: true, g
92
92
  Object.defineProperty(exports, "isEmpty", { enumerable: true, get: function () { return Tools_1.isEmpty; } });
93
93
  Object.defineProperty(exports, "getApplicationShortLabel", { enumerable: true, get: function () { return Tools_1.getApplicationShortLabel; } });
94
94
  Object.defineProperty(exports, "capitalizeFirstLetter", { enumerable: true, get: function () { return Tools_1.capitalizeFirstLetter; } });
95
+ Object.defineProperty(exports, "flexLeftRow", { enumerable: true, get: function () { return Tools_1.flexLeftRow; } });
95
96
  var Validator_1 = require("./src/helpers/Validator");
96
97
  Object.defineProperty(exports, "validatePhoneNumber", { enumerable: true, get: function () { return Validator_1.validatePhoneNumber; } });
97
98
  Object.defineProperty(exports, "validateText", { enumerable: true, get: function () { return Validator_1.validateText; } });
@@ -1,9 +1,13 @@
1
- import { FunctionComponent } from 'react';
1
+ import React, { FunctionComponent } from 'react';
2
2
  interface ConfirmationDialogProps {
3
3
  open: boolean;
4
4
  onClose: () => void;
5
- onConfirm: () => void;
6
- message?: string;
5
+ onConfirm?: () => void;
6
+ showConfirm?: boolean;
7
+ confirmLabel?: string;
8
+ closeLabel?: string;
9
+ title?: React.ReactNode;
10
+ message?: React.ReactNode;
7
11
  }
8
12
  declare const ConfirmationDialog: FunctionComponent<ConfirmationDialogProps>;
9
13
  export default ConfirmationDialog;
@@ -21,9 +21,20 @@ var DialogContent_1 = __importDefault(require("@mui/material/DialogContent"));
21
21
  var DialogContentText_1 = __importDefault(require("@mui/material/DialogContentText"));
22
22
  var DialogTitle_1 = __importDefault(require("@mui/material/DialogTitle"));
23
23
  var Button_1 = __importDefault(require("@mui/material/Button"));
24
+ var material_1 = require("@mui/material");
25
+ var Tools_1 = require("./helpers/Tools");
24
26
  var ConfirmationDialog = function (_a) {
25
- var open = _a.open, onClose = _a.onClose, onConfirm = _a.onConfirm, message = _a.message;
27
+ var open = _a.open, onClose = _a.onClose, onConfirm = _a.onConfirm, title = _a.title, message = _a.message, _b = _a.showConfirm, showConfirm = _b === void 0 ? true : _b, confirmLabel = _a.confirmLabel, closeLabel = _a.closeLabel;
28
+ var theme = (0, material_1.useTheme)();
26
29
  var defaultMessage = "Êtes-vous sûr de vouloir continuer ?";
27
- return ((0, jsx_runtime_1.jsxs)(Dialog_1.default, __assign({ open: open, onClose: onClose, "aria-labelledby": "alert-dialog-title", "aria-describedby": "alert-dialog-description" }, { children: [(0, jsx_runtime_1.jsx)(DialogTitle_1.default, __assign({ id: "alert-dialog-title" }, { children: "Confirmation" })), (0, jsx_runtime_1.jsx)(DialogContent_1.default, { children: (0, jsx_runtime_1.jsx)(DialogContentText_1.default, __assign({ id: "alert-dialog-description" }, { children: message || defaultMessage })) }), (0, jsx_runtime_1.jsxs)(DialogActions_1.default, { children: [(0, jsx_runtime_1.jsx)(Button_1.default, __assign({ onClick: onClose, color: "inherit" }, { children: "Non" })), (0, jsx_runtime_1.jsx)(Button_1.default, __assign({ onClick: onConfirm, color: "inherit", autoFocus: true, sx: { ml: 1 } }, { children: "Oui" }))] })] })));
30
+ var defaultTitle = "Confirmation";
31
+ var defaultConfirmLabel = "Oui";
32
+ var defaultCloseLabel = "Non";
33
+ return ((0, jsx_runtime_1.jsxs)(Dialog_1.default, __assign({ open: open, onClose: onClose, "aria-labelledby": "alert-dialog-title", "aria-describedby": "alert-dialog-description" }, { children: [(0, jsx_runtime_1.jsx)(DialogTitle_1.default, __assign({ id: "alert-dialog-title", sx: {
34
+ backgroundColor: theme.palette.grey[200]
35
+ }, style: Tools_1.flexLeftRow }, { children: title || defaultTitle })), (0, jsx_runtime_1.jsxs)(DialogContent_1.default, __assign({ sx: { textAlign: 'center' } }, { children: [(0, jsx_runtime_1.jsx)(DialogContentText_1.default, __assign({ id: "alert-dialog-description", sx: { pt: 2 } }, { children: message || defaultMessage })), (0, jsx_runtime_1.jsx)(DialogContent_1.default, {})] })), (0, jsx_runtime_1.jsxs)(DialogActions_1.default, __assign({ sx: {
36
+ py: 1,
37
+ backgroundColor: theme.palette.grey[200]
38
+ } }, { children: [showConfirm && (0, jsx_runtime_1.jsx)(Button_1.default, __assign({ onClick: onConfirm, color: "inherit", autoFocus: true, sx: { ml: 1 } }, { children: (0, jsx_runtime_1.jsx)("b", { children: confirmLabel || defaultConfirmLabel }) })), (0, jsx_runtime_1.jsx)(Button_1.default, __assign({ onClick: onClose, color: "inherit" }, { children: closeLabel || defaultCloseLabel }))] }))] })));
28
39
  };
29
40
  exports.default = ConfirmationDialog;
@@ -205,7 +205,7 @@ var MovaLogin = function (_a) {
205
205
  display: 'flex',
206
206
  flexDirection: 'column',
207
207
  alignItems: 'center',
208
- } }, { children: [(0, jsx_runtime_1.jsx)("img", { src: getMovaLogo(), style: { width: '50%' } }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "button", sx: { pt: 2 } }, { children: "Nouveau compte utilisateur" }))] })), (0, jsx_runtime_1.jsxs)(material_1.Box, __assign({ component: "form", onSubmit: handleSubmit, noValidate: true, sx: { mt: 1 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.TextField, { margin: "normal", required: true, autoFocus: true, fullWidth: true, id: "firstname", label: "Pr\u00E9nom", name: "firstname", autoComplete: "given-name", onChange: function (e) { return handleInputChange(e); }, value: userForm.firstname.value, error: Boolean(userForm.firstname.error), helperText: userForm.firstname.error, sx: {
208
+ } }, { children: [(0, jsx_runtime_1.jsx)("img", { src: getMovaLogo(), style: { width: '60%' } }), (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "button", sx: { pt: 2 } }, { children: "Nouveau compte utilisateur" }))] })), (0, jsx_runtime_1.jsxs)(material_1.Box, __assign({ component: "form", onSubmit: handleSubmit, noValidate: true, sx: { mt: 1 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.TextField, { margin: "normal", required: true, autoFocus: true, fullWidth: true, id: "firstname", label: "Pr\u00E9nom", name: "firstname", autoComplete: "given-name", onChange: function (e) { return handleInputChange(e); }, value: userForm.firstname.value, error: Boolean(userForm.firstname.error), helperText: userForm.firstname.error, sx: {
209
209
  '& .MuiOutlinedInput-notchedOutline': {
210
210
  borderColor: darkMode ? 'white' : 'default', // Couleur de la bordure
211
211
  }
@@ -2,6 +2,7 @@ import VehicleTire from "../models/VehicleTire";
2
2
  import { MovaFormField } from "./Types";
3
3
  import { CSSProperties } from "react";
4
4
  import { PartsApplicationType } from "./Enums";
5
+ export declare const flexLeftRow: CSSProperties;
5
6
  export declare const capitalizeFirstLetter: (str: string) => string;
6
7
  export declare const getApplicationShortLabel: (application: PartsApplicationType | undefined) => "" | "AV" | "AR" | "AV + AR" | "G" | "D" | "G + D";
7
8
  export declare const flexEnd: CSSProperties;
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateField = exports.formatVehicleTireStr = exports.formatVehicleTire = exports.formatFrenchVehiclePlate = exports.isEmpty = exports.flexCenter = exports.flexEnd = exports.getApplicationShortLabel = exports.capitalizeFirstLetter = void 0;
3
+ exports.validateField = exports.formatVehicleTireStr = exports.formatVehicleTire = exports.formatFrenchVehiclePlate = exports.isEmpty = exports.flexCenter = exports.flexEnd = exports.getApplicationShortLabel = exports.capitalizeFirstLetter = exports.flexLeftRow = void 0;
4
4
  var Enums_1 = require("./Enums");
5
+ exports.flexLeftRow = {
6
+ display: 'flex',
7
+ justifyContent: 'start',
8
+ alignItems: 'center'
9
+ };
5
10
  var capitalizeFirstLetter = function (str) {
6
11
  if (str.length === 0) {
7
12
  return str;
package/index.ts CHANGED
@@ -51,7 +51,7 @@ export type { MovaFormField, MovaLoginForm, MovaUserSignUpForm, MovaInterval,
51
51
  // Export des méthodes utilitaires
52
52
  export { readCookie, deleteCookie } from './src/helpers/CookieUtils';
53
53
  export { validateField, formatVehicleTire, formatFrenchVehiclePlate, isEmpty, getApplicationShortLabel,
54
- capitalizeFirstLetter } from './src/helpers/Tools';
54
+ capitalizeFirstLetter, flexLeftRow } from './src/helpers/Tools';
55
55
  export { validatePhoneNumber, validateText, validateEmail } from './src/helpers/Validator';
56
56
  export { formatDateByCountryCode, getLongFormattedDateTime } from './src/helpers/DateUtils';
57
57
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@movalib/movalib-commons",
3
- "version": "1.1.27",
3
+ "version": "1.1.29",
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",
@@ -5,16 +5,28 @@ import DialogContent from '@mui/material/DialogContent';
5
5
  import DialogContentText from '@mui/material/DialogContentText';
6
6
  import DialogTitle from '@mui/material/DialogTitle';
7
7
  import Button from '@mui/material/Button';
8
+ import { useTheme } from '@mui/material';
9
+ import { flexLeftRow } from './helpers/Tools';
8
10
 
9
11
  interface ConfirmationDialogProps {
10
12
  open: boolean;
11
13
  onClose: () => void;
12
- onConfirm: () => void;
13
- message?: string;
14
+ onConfirm?: () => void;
15
+ showConfirm?: boolean;
16
+ confirmLabel?: string;
17
+ closeLabel?: string;
18
+ title?: React.ReactNode;
19
+ message?: React.ReactNode;
14
20
  }
15
21
 
16
- const ConfirmationDialog: FunctionComponent<ConfirmationDialogProps> = ({ open, onClose, onConfirm, message }) => {
22
+ const ConfirmationDialog: FunctionComponent<ConfirmationDialogProps> = ({ open, onClose, onConfirm, title, message, showConfirm = true,
23
+ confirmLabel, closeLabel }) => {
24
+
25
+ const theme = useTheme();
17
26
  const defaultMessage = "Êtes-vous sûr de vouloir continuer ?";
27
+ const defaultTitle = "Confirmation";
28
+ const defaultConfirmLabel = "Oui";
29
+ const defaultCloseLabel = "Non";
18
30
 
19
31
  return (
20
32
  <Dialog
@@ -23,18 +35,30 @@ const ConfirmationDialog: FunctionComponent<ConfirmationDialogProps> = ({ open,
23
35
  aria-labelledby="alert-dialog-title"
24
36
  aria-describedby="alert-dialog-description"
25
37
  >
26
- <DialogTitle id="alert-dialog-title">Confirmation</DialogTitle>
27
- <DialogContent>
28
- <DialogContentText id="alert-dialog-description">
38
+ <DialogTitle id="alert-dialog-title" sx={{
39
+ backgroundColor: theme.palette.grey[200]
40
+ }} style={flexLeftRow}
41
+ >
42
+ {title || defaultTitle}
43
+ </DialogTitle>
44
+ <DialogContent sx={{ textAlign: 'center' }}>
45
+ <DialogContentText id="alert-dialog-description" sx={{ pt: 2 }}>
29
46
  {message || defaultMessage}
30
47
  </DialogContentText>
48
+ <DialogContent>
49
+
50
+ </DialogContent>
31
51
  </DialogContent>
32
- <DialogActions>
52
+ <DialogActions sx={{
53
+ py: 1,
54
+ backgroundColor: theme.palette.grey[200]
55
+ }}
56
+ >
57
+ {showConfirm && <Button onClick={onConfirm} color="inherit" autoFocus sx={{ ml: 1}}>
58
+ <b>{confirmLabel || defaultConfirmLabel}</b>
59
+ </Button>}
33
60
  <Button onClick={onClose} color="inherit">
34
- Non
35
- </Button>
36
- <Button onClick={onConfirm} color="inherit" autoFocus sx={{ ml: 1}}>
37
- Oui
61
+ {closeLabel || defaultCloseLabel}
38
62
  </Button>
39
63
  </DialogActions>
40
64
  </Dialog>
@@ -202,8 +202,7 @@ const MovaLogin: FunctionComponent<MovaSignUpProps> = ({ loading, movaAppType, o
202
202
  alignItems: 'center',
203
203
  }}
204
204
  >
205
- <img src={getMovaLogo()} style={{width:'50%'}}/>
206
- <br />
205
+ <img src={getMovaLogo()} style={{width:'60%'}}/>
207
206
  <Typography variant="button" sx={{ pt: 2 }}>Nouveau compte utilisateur</Typography>
208
207
  </Box>
209
208
 
@@ -4,6 +4,12 @@ import { MovaFormField } from "./Types";
4
4
  import { CSSProperties } from "react";
5
5
  import { PartsApplicationType, VehiclePlateFormat } from "./Enums";
6
6
 
7
+ export const flexLeftRow:CSSProperties = {
8
+ display: 'flex',
9
+ justifyContent: 'start',
10
+ alignItems: 'center'
11
+ }
12
+
7
13
  export const capitalizeFirstLetter = (str: string): string => {
8
14
  if (str.length === 0) {
9
15
  return str;