anima-ds-nucleus 1.0.26 → 1.0.27

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anima-ds-nucleus",
3
- "version": "1.0.26",
3
+ "version": "1.0.27",
4
4
  "description": "Anima Design System - A comprehensive React component library",
5
5
  "author": "Nucleus Labs <ipvasallo@nucleus.com.ar>",
6
6
  "license": "UNLICENSED",
@@ -194,7 +194,7 @@ export const HeaderCore = ({
194
194
  }
195
195
  `}</style>
196
196
 
197
- <div className="w-full" style={{ paddingLeft: '4px', paddingRight: '4px' }}>
197
+ <div className="w-full">
198
198
  {/* Layout Desktop (más de 1365px) */}
199
199
  <div
200
200
  className={`header-desktop-layout flex items-center justify-between h-16 ${desktopLayoutClassName}`}
@@ -118,9 +118,10 @@ export const NavPoint = ({
118
118
  />
119
119
  <Typography
120
120
  variant="body-sm"
121
- className="mt-1 font-medium nav-point-text"
121
+ className={`mt-1 ${isActive ? 'font-medium' : 'font-regular'} nav-point-text`}
122
122
  style={{
123
123
  color: isActive ? TEXT_COLOR_ACTIVE : TEXT_COLOR_INACTIVE,
124
+ fontSize: '1rem',
124
125
  whiteSpace: 'nowrap',
125
126
  overflow: 'hidden',
126
127
  textOverflow: 'ellipsis',
@@ -306,8 +306,7 @@ const SidebarCoreMobile = ({
306
306
  {/* Título de la sección */}
307
307
  <div className="px-4 mb-2">
308
308
  <Typography
309
- variant="body-sm"
310
- className="color-gray-500 uppercase font-medium tracking-wider"
309
+ className="text-sidebar-core color-gray-500 uppercase font-medium tracking-wider"
311
310
  >
312
311
  {section.title}
313
312
  </Typography>
@@ -404,7 +403,7 @@ const SidebarCoreMobile = ({
404
403
  <div
405
404
  style={{
406
405
  position: 'absolute',
407
- top: '24px',
406
+ top: '0px',
408
407
  left: '16px',
409
408
  right: '16px',
410
409
  height: '1px',
@@ -416,6 +415,7 @@ const SidebarCoreMobile = ({
416
415
  if (enableOptimisticActiveItem) {
417
416
  setOptimisticActiveItem(configSectionId);
418
417
  }
418
+ onItemClick && onItemClick(configSectionId);
419
419
  onConfigClick && onConfigClick(configSectionId);
420
420
  if (controlledOnClose) {
421
421
  if (closeOnItemClickAnimationFrame) {
@@ -1103,8 +1103,7 @@ export const SidebarCore = ({
1103
1103
  {!isCollapsed && (
1104
1104
  <div className="px-4 mb-2">
1105
1105
  <Typography
1106
- variant="body-sm"
1107
- className="color-gray-500 uppercase font-medium tracking-wider"
1106
+ className="text-sidebar-core color-gray-500 uppercase font-medium tracking-wider"
1108
1107
  >
1109
1108
  {section.title}
1110
1109
  </Typography>
@@ -1295,7 +1294,7 @@ export const SidebarCore = ({
1295
1294
  <div
1296
1295
  style={{
1297
1296
  position: 'absolute',
1298
- top: '24px',
1297
+ top: '0px',
1299
1298
  left: '16px',
1300
1299
  right: '16px',
1301
1300
  height: '1px',
@@ -1303,7 +1302,10 @@ export const SidebarCore = ({
1303
1302
  }}
1304
1303
  />
1305
1304
  <button
1306
- onClick={() => onConfigClick && onConfigClick(configSectionId)}
1305
+ onClick={() => {
1306
+ onItemClick && onItemClick(configSectionId);
1307
+ onConfigClick && onConfigClick(configSectionId);
1308
+ }}
1307
1309
  className={`w-full flex items-center cursor-pointer px-4 justify-between py-2.5 rounded-lg transition-all duration-200 ${
1308
1310
  activeItem === configSectionId
1309
1311
  ? ''
@@ -1372,7 +1374,7 @@ export const SidebarCore = ({
1372
1374
  <div
1373
1375
  style={{
1374
1376
  position: 'absolute',
1375
- top: '24px',
1377
+ top: '0px',
1376
1378
  left: '8px',
1377
1379
  right: '8px',
1378
1380
  height: '1px',
@@ -1390,7 +1392,10 @@ export const SidebarCore = ({
1390
1392
  title={configSectionLabel}
1391
1393
  >
1392
1394
  <button
1393
- onClick={() => onConfigClick && onConfigClick(configSectionId)}
1395
+ onClick={() => {
1396
+ onItemClick && onItemClick(configSectionId);
1397
+ onConfigClick && onConfigClick(configSectionId);
1398
+ }}
1394
1399
  className="flex items-center justify-center transition-all duration-200"
1395
1400
  style={{
1396
1401
  width: '100%',
@@ -289,7 +289,7 @@ export const ForgotPassword = ({
289
289
  {/* Error general */}
290
290
  {error && (
291
291
  <div
292
- className="rounded-lg p-4 border"
292
+ className="rounded-lg p-4 border anima-forgotpassword__errorBox"
293
293
  style={{
294
294
  backgroundColor: '#fecaca',
295
295
  borderColor: '#ef4444',
@@ -298,7 +298,15 @@ export const ForgotPassword = ({
298
298
  <Typography
299
299
  variant="body2"
300
300
  className="font-bold"
301
- style={{ color: '#b91c1c' }}
301
+ style={{
302
+ color: '#b91c1c',
303
+ fontFamily: "'IBM Plex Mono', monospace",
304
+ fontWeight: 400,
305
+ fontStyle: 'normal',
306
+ fontSize: '14px',
307
+ lineHeight: '21px',
308
+ letterSpacing: '0.02em',
309
+ }}
302
310
  >
303
311
  {error}
304
312
  </Typography>
@@ -300,7 +300,10 @@ export const NewPassword = ({
300
300
  t('form.passwordRequirementOther') || 'Una mayúscula, un número, un carácter especial',
301
301
  ];
302
302
 
303
- return `${prefix}\n${defaultItems[0]}\n\n${defaultItems.slice(1).join(', ')}`;
303
+ if (defaultItems.length > 0) {
304
+ return `${prefix}\n\n${defaultItems.map(item => `• ${item}`).join('\n')}`;
305
+ }
306
+ return prefix;
304
307
  })()}
305
308
  </Typography>
306
309
  </div>
package/src/style.css CHANGED
@@ -81,6 +81,13 @@
81
81
  font-weight: 400; /* Regular */
82
82
  letter-spacing: -0.02em; /* -2% */
83
83
  }
84
+ .text-sidebar-core {
85
+ font-family: 'IBM Plex Sans', sans-serif;
86
+ font-size: 0.875rem; /* 12px */
87
+ line-height: 1.125rem; /* 18px */
88
+ font-weight: 400; /* Regular */
89
+ letter-spacing: 1px; /* -2% */
90
+ }
84
91
 
85
92
  /* --- TEXT SIZES ADICIONALES --- */
86
93
  .text-xsm {
@@ -863,6 +870,23 @@
863
870
  font-family: var(--anima-hexa-login-font-family, 'IBM Plex Sans', sans-serif) !important;
864
871
  }
865
872
 
873
+ /* Excepción: Caja de error debe usar IBM Plex Mono */
874
+ .anima-loginform__container[data-variant="hexa-login"] .anima-loginform__errorBox,
875
+ .anima-loginform__container[data-variant="hexa-login"] .anima-loginform__errorBox p,
876
+ .anima-loginform__container[data-variant="hexa-login"] .anima-loginform__errorBox span {
877
+ font-family: 'IBM Plex Mono', monospace !important;
878
+ }
879
+
880
+ /* Excepción: Caja de error en ForgotPassword debe usar IBM Plex Mono */
881
+ .anima-forgotpassword__errorBox,
882
+ .anima-forgotpassword__errorBox p,
883
+ .anima-forgotpassword__errorBox span,
884
+ [data-variant="hexa-login"] .anima-forgotpassword__errorBox,
885
+ [data-variant="hexa-login"] .anima-forgotpassword__errorBox p,
886
+ [data-variant="hexa-login"] .anima-forgotpassword__errorBox span {
887
+ font-family: 'IBM Plex Mono', monospace !important;
888
+ }
889
+
866
890
  /* 2. Tamaño fijo de iconos en botones sociales de LoginForm (variante hexa-login) */
867
891
  .anima-loginform__container[data-variant="hexa-login"] .anima-loginform__socialButton svg {
868
892
  width: var(--anima-hexa-login-social-icon-size, 18px) !important;