@portnet/ui 3.1.3 → 3.1.4

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.
@@ -123,11 +123,12 @@ const DataColumn = (0, _styles.styled)(_material.Box)(() => ({
123
123
 
124
124
  // Label de colonne
125
125
  const ColumnLabel = (0, _styles.styled)(_material.Typography)(() => ({
126
- fontSize: '11px',
126
+ fontSize: '12px',
127
127
  fontWeight: 600,
128
- color: _apperance.palette.gray[500],
129
- textTransform: 'uppercase',
130
- letterSpacing: '0.5px'
128
+ color: "#293854",
129
+ // Couleur bleu marine pour les en-têtes
130
+ textTransform: 'none',
131
+ letterSpacing: '0.3px'
131
132
  }));
132
133
 
133
134
  // Valeur de colonne
@@ -148,12 +149,9 @@ const ActionsSection = (0, _styles.styled)(_material.Box)(() => ({
148
149
  transform: 'translateX(10px)',
149
150
  transition: 'all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)',
150
151
  position: 'relative',
151
- // Afficher les actions uniquement au survol de la card parent directe
152
- '&:hover': {
153
- opacity: 1,
154
- transform: 'translateX(0)',
155
- transitionDelay: '0.1s' // Délai d'apparition pour un effet plus fluide
156
- },
152
+ // Les actions restent toujours cachées, même au hover direct
153
+ // Elles ne s'affichent que via le hover de la card parent
154
+
157
155
  // Indicateur subtil d'actions disponibles (icône menu)
158
156
  '&::before': {
159
157
  content: '""',
@@ -174,9 +172,9 @@ const ActionsSection = (0, _styles.styled)(_material.Box)(() => ({
174
172
  },
175
173
  '@media (max-width: 768px)': {
176
174
  justifyContent: 'center',
177
- opacity: 1,
178
- // Toujours visible sur mobile
179
- transform: 'translateX(0)',
175
+ opacity: 0,
176
+ // Reste caché même sur mobile
177
+ transform: 'translateX(10px)',
180
178
  '&::before': {
181
179
  display: 'none' // Pas d'indicateur sur mobile
182
180
  }
@@ -336,12 +334,16 @@ const PuiModernTable = _ref => {
336
334
  const config = actionConfig[action.type] || actionConfig.validate;
337
335
  const IconComponent = action.icon || config.icon;
338
336
  const isDisabled = (_action$disabled = action.disabled) === null || _action$disabled === void 0 ? void 0 : _action$disabled.call(action, item);
337
+
338
+ // Couleur unique basée sur le hover (couleur primaire avec transparence)
339
+ const hoverColor = "".concat(_apperance.palette.primary, "dd"); // Couleur du hover comme couleur unique
340
+
339
341
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
340
342
  color: "primary",
341
343
  size: "small",
342
344
  startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
343
345
  sx: {
344
- fontSize: '14px'
346
+ fontSize: '12px'
345
347
  }
346
348
  }),
347
349
  onClick: () => {
@@ -351,20 +353,21 @@ const PuiModernTable = _ref => {
351
353
  disabled: isDisabled,
352
354
  sx: {
353
355
  minWidth: 'auto',
354
- padding: '6px 12px',
356
+ padding: '4px 8px',
355
357
  fontSize: '11px',
356
358
  fontWeight: 500,
357
- backgroundColor: isDisabled ? _apperance.palette.gray[300] : action.bgColor || config.bgColor,
358
- color: isDisabled ? _apperance.palette.gray[500] : action.textColor || config.textColor,
359
+ backgroundColor: isDisabled ? _apperance.palette.gray[300] : hoverColor,
360
+ color: isDisabled ? _apperance.palette.gray[500] : _apperance.palette.white,
359
361
  border: 'none',
360
- borderRadius: '6px',
362
+ borderRadius: '4px',
361
363
  textTransform: 'none',
364
+ boxShadow: 'none',
362
365
  '&:hover': {
363
- backgroundColor: isDisabled ? _apperance.palette.gray[300] : "".concat(action.bgColor || config.bgColor, "dd"),
364
- transform: isDisabled ? 'none' : 'translateY(-1px)'
366
+ backgroundColor: isDisabled ? _apperance.palette.gray[300] : hoverColor,
367
+ transform: 'none'
365
368
  },
366
369
  '&:active': {
367
- transform: isDisabled ? 'none' : 'translateY(0)'
370
+ transform: 'none'
368
371
  }
369
372
  },
370
373
  children: action.label || config.label
@@ -420,62 +423,41 @@ const PuiModernTable = _ref => {
420
423
  children: emptyMessage
421
424
  })
422
425
  }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
423
- children: [data.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(TableCard, {
426
+ children: [data.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(TableCard, {
424
427
  sx: {
425
- backgroundColor: "".concat(_apperance.palette.primary, "05"),
426
- borderColor: "".concat(_apperance.palette.primary, "20"),
428
+ backgroundColor: _apperance.palette.gray[50],
429
+ // Fond gris très clair comme dans l'image
430
+ borderColor: _apperance.palette.border.light,
427
431
  cursor: 'default',
432
+ // Pas d'effet de hover pour l'en-tête
428
433
  '&:hover': {
434
+ backgroundColor: _apperance.palette.gray[50],
435
+ // Garde le même fond au survol
436
+ borderColor: _apperance.palette.border.light,
429
437
  transform: 'none',
430
- boxShadow: _apperance.palette.shadow.card,
431
- borderColor: "".concat(_apperance.palette.primary, "20"),
432
- backgroundColor: "".concat(_apperance.palette.primary, "05")
438
+ boxShadow: 'none'
433
439
  }
434
440
  },
435
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DataSection, {
436
- children: columns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsxs)(DataColumn, {
441
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DataSection, {
442
+ children: columns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)(DataColumn, {
437
443
  style: {
438
444
  flex: column.flex || 1
439
445
  },
440
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ColumnLabel, {
446
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
441
447
  sx: {
442
448
  fontSize: '12px',
443
- fontWeight: 700,
444
- color: _apperance.palette.primary,
445
- textTransform: 'uppercase',
446
- letterSpacing: '0.8px'
447
- },
448
- children: column.label
449
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ColumnValue, {
450
- sx: {
451
- fontSize: '13px',
452
449
  fontWeight: 600,
453
- color: _apperance.palette.gray[600],
454
- fontStyle: 'italic'
450
+ color: "#029cfd !important",
451
+ textTransform: 'none',
452
+ letterSpacing: '0.3px',
453
+ '& *': {
454
+ color: "#2C3E5F !important"
455
+ }
455
456
  },
456
- children: "En-t\xEAte"
457
- })]
457
+ children: column.label
458
+ })
458
459
  }, column.key))
459
- }), actions.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionsSection, {
460
- className: "actions-section",
461
- sx: {
462
- opacity: 0.6,
463
- '&::before': {
464
- backgroundColor: _apperance.palette.primary,
465
- boxShadow: "\n 0 6px 0 ".concat(_apperance.palette.primary, ",\n 0 12px 0 ").concat(_apperance.palette.primary, "\n ")
466
- }
467
- },
468
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
469
- sx: {
470
- fontSize: '11px',
471
- fontWeight: 600,
472
- color: _apperance.palette.primary,
473
- textTransform: 'uppercase',
474
- letterSpacing: '0.5px'
475
- },
476
- children: "Actions"
477
- })
478
- })]
460
+ })
479
461
  }), data.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(TableCard, {
480
462
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DataSection, {
481
463
  children: columns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)(DataColumn, {
@@ -6,36 +6,40 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.palette = void 0;
7
7
  const palette = exports.palette = {
8
8
  inherit: "inherit",
9
- // Couleurs principales extraites des maquettes
10
- primary: "#1976D2",
11
- // Bleu principal des maquettes
9
+ // Couleurs principales basées sur l'image "1 - Listing 1.png"
10
+ primary: "#007BFF",
11
+ // Bleu vif utilisé pour les éléments actifs
12
12
  secondary: "#F5F5F5",
13
13
  // Gris très clair pour les backgrounds
14
- tertiary: "#757575",
14
+ tertiary: "#637381",
15
15
  // Gris moyen pour les textes secondaires
16
16
 
17
- // Status colors des maquettes
18
- error: "#F44336",
19
- // Rouge des maquettes
20
- warning: "#FF9800",
21
- // Orange des maquettes
22
- success: "#4CAF50",
23
- // Vert des maquettes
24
- info: "#2196F3",
25
- // Bleu info des maquettes
17
+ // Status colors basées sur l'image
18
+ error: "#DC3545",
19
+ // Rouge "Expiré" de l'image
20
+ warning: "#FFC107",
21
+ // Orange "Renouveler" de l'image
22
+ success: "#28A745",
23
+ // Vert "Validé" de l'image
24
+ info: "#007BFF",
25
+ // Bleu "En cours" de l'image
26
26
 
27
- // Colors neutres
27
+ // Colors neutres basées sur l'image
28
28
  white: "#FFFFFF",
29
- dark: "#212121",
29
+ dark: "#212B36",
30
+ // Bleu très foncé de la barre d'en-tête
31
+ navy: "#293854",
32
+ // Bleu marine pour la navigation
30
33
  black: "#000000",
31
- // Palette complète basée sur l'analyse des maquettes
32
- accent: "#FF5722",
33
- // Orange accent des maquettes
34
+ // Palette complète basée sur l'analyse de l'image
35
+ accent: "#007BFF",
36
+ // Bleu accent principal
34
37
  blue: {
35
38
  light: "#E3F2FD",
36
- main: "#1976D2",
37
- // Bleu principal
38
- dark: "#1565C0",
39
+ main: "#007BFF",
40
+ // Bleu principal de l'image
41
+ dark: "#293854",
42
+ // Bleu marine du header
39
43
  darker: "#0D47A1"
40
44
  },
41
45
  gray: {
@@ -43,19 +47,25 @@ const palette = exports.palette = {
43
47
  100: "#F5F5F5",
44
48
  200: "#EEEEEE",
45
49
  300: "#E0E0E0",
50
+ // Gris clair pour "Souscrit"
46
51
  400: "#BDBDBD",
47
52
  500: "#9E9E9E",
48
- 600: "#757575",
49
- 700: "#616161",
53
+ 600: "#637381",
54
+ // Gris moyen pour les onglets inactifs
55
+ 700: "#454F5B",
56
+ // Gris foncé pour le texte principal
50
57
  800: "#424242",
51
- 900: "#212121"
58
+ 900: "#212B36" // Bleu très foncé
52
59
  },
53
60
  background: {
54
- default: "#FAFAFA",
55
- // Background principal des maquettes
61
+ default: "#FFFFFF",
62
+ // Fond principal blanc de l'image
56
63
  paper: "#FFFFFF",
64
+ // Cartes blanches
57
65
  card: "#FFFFFF",
58
- sidebar: "#F5F5F5",
66
+ // Cartes du tableau
67
+ sidebar: "#FFFFFF",
68
+ // Barre latérale blanche
59
69
  required: "#FFF3E0",
60
70
  // Orange très clair
61
71
  error: "#FFEBEE",
@@ -67,11 +77,11 @@ const palette = exports.palette = {
67
77
  info: "#E3F2FD" // Bleu très clair
68
78
  },
69
79
  border: {
70
- light: "#E0E0E0",
71
- // Bordures claires des maquettes
80
+ light: "#DFE3E8",
81
+ // Bordures claires des cartes de l'image
72
82
  main: "#BDBDBD",
73
- // Bordures moyennes des maquettes
74
- dark: "#757575" // Bordures foncées des maquettes
83
+ // Bordures moyennes
84
+ dark: "#454F5B" // Bordures foncées
75
85
  },
76
86
  shadow: {
77
87
  light: "0px 1px 3px rgba(0, 0, 0, 0.1)",
@@ -79,20 +89,20 @@ const palette = exports.palette = {
79
89
  strong: "0px 10px 25px rgba(0, 0, 0, 0.15)",
80
90
  card: "0px 2px 8px rgba(0, 0, 0, 0.08)"
81
91
  },
82
- // Couleurs spécifiques des boutons d'actions des maquettes
92
+ // Couleurs spécifiques des boutons d'actions basées sur l'image
83
93
  actions: {
84
- validate: "#4CAF50",
85
- // Vert "Validé" des maquettes
86
- expire: "#F44336",
87
- // Rouge "Expiré" des maquettes
88
- renew: "#FF9800",
89
- // Orange "Renouveler" des maquettes
90
- download: "#2196F3",
91
- // Bleu "Télécharger" des maquettes
92
- processing: "#9C27B0",
93
- // Violet "En cours" des maquettes
94
- souscrit: "#607D8B",
95
- // Gris bleu "Souscrit" des maquettes
96
- default: "#757575" // Gris par défaut
94
+ validate: "#28A745",
95
+ // Vert "Validé" de l'image
96
+ expire: "#DC3545",
97
+ // Rouge "Expiré" de l'image
98
+ renew: "#FFC107",
99
+ // Orange "Renouveler" de l'image
100
+ download: "#007BFF",
101
+ // Bleu "Télécharger" de l'image
102
+ processing: "#007BFF",
103
+ // Bleu "En cours" de l'image
104
+ souscrit: "#E0E0E0",
105
+ // Gris clair "Souscrit" de l'image
106
+ default: "#637381" // Gris moyen par défaut
97
107
  }
98
108
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portnet/ui",
3
- "version": "3.1.3",
3
+ "version": "3.1.4",
4
4
  "description": "Portnet UI",
5
5
  "keywords": [
6
6
  "react",