@axzydev/axzy_ui_system 1.2.11 → 1.2.12

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 (44) hide show
  1. package/dist/index.cjs +179 -176
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.css.map +1 -1
  5. package/dist/index.d.cts +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +179 -176
  8. package/dist/index.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/components/avatar/avatar.tsx +1 -1
  11. package/src/components/calendar/calendar.tsx +1 -1
  12. package/src/components/card/card.tsx +11 -8
  13. package/src/components/data-table/dataTable.tsx +3 -3
  14. package/src/components/dialog/dialog.tsx +2 -2
  15. package/src/components/divider/divider.tsx +1 -1
  16. package/src/components/dropfile/dropfile.tsx +14 -14
  17. package/src/components/form-builder/fieldRenderer.tsx +3 -3
  18. package/src/components/input/input.tsx +7 -7
  19. package/src/components/loader/loader.tsx +1 -1
  20. package/src/components/navbar/navbar.tsx +10 -10
  21. package/src/components/pagination/pagination.tsx +11 -11
  22. package/src/components/search-select/search-select.tsx +8 -8
  23. package/src/components/searchTable/components/EditableCell.tsx +1 -1
  24. package/src/components/searchTable/components/PaginationControls.tsx +2 -2
  25. package/src/components/searchTable/components/PaginationInfo.tsx +1 -1
  26. package/src/components/searchTable/components/SearchAndSortBar.tsx +1 -1
  27. package/src/components/searchTable/components/SearchInput.tsx +1 -1
  28. package/src/components/searchTable/components/SortButton.tsx +3 -3
  29. package/src/components/searchTable/components/TableHeader.tsx +1 -1
  30. package/src/components/searchTable/components/TableRow.tsx +4 -4
  31. package/src/components/searchTable/searchTable.tsx +2 -2
  32. package/src/components/select/select.tsx +2 -2
  33. package/src/components/sidebar/sidebar.tsx +15 -15
  34. package/src/components/slider/slider.tsx +3 -3
  35. package/src/components/stepper/stepper.tsx +5 -5
  36. package/src/components/table/table.tsx +3 -3
  37. package/src/components/tabs/tabs.tsx +4 -4
  38. package/src/components/textarea/textarea.tsx +3 -3
  39. package/src/components/theme-provider/themeProvider.tsx +32 -32
  40. package/src/components/time-picker/timePicker.tsx +5 -5
  41. package/src/components/topbar/topbar.tsx +6 -6
  42. package/src/index.css +23 -0
  43. package/src/theme/theme.ts +17 -17
  44. package/src/utils/styles.ts +5 -5
@@ -139,7 +139,7 @@ return (
139
139
  {/* Contenido con scroll */}
140
140
  <div className="bg-white">
141
141
  {/* Barra de búsqueda y ordenamiento */}
142
- <div className="p-4 border-b border-gray-200">
142
+ <div className="p-4 border-b border-secondary-200">
143
143
  <SearchAndSortBar
144
144
  searchTerm={searchTerm}
145
145
  onSearchChange={handleSearchChange}
@@ -154,7 +154,7 @@ return (
154
154
  <div className="overflow-x-auto">
155
155
  <table
156
156
  className={clsx(
157
- "min-w-full text-sm text-left bg-white text-gray-900 table-auto",
157
+ "min-w-full text-sm text-left bg-white text-secondary-900 table-auto",
158
158
  variantStyles[variant],
159
159
  sizeStyles[size]
160
160
  )}
@@ -84,7 +84,7 @@ export default function ITSelect({
84
84
  className={inputLabel(hasError)}
85
85
  >
86
86
  <ITText as="span">{label}</ITText>
87
- {required && <ITText as="span" className="text-red-500 ml-1">*</ITText>}
87
+ {required && <ITText as="span" className="text-danger-500 ml-1">*</ITText>}
88
88
  </ITText>
89
89
  )}
90
90
  <div className="flex flex-col w-full">
@@ -127,7 +127,7 @@ export default function ITSelect({
127
127
  )
128
128
  }
129
129
  </select>
130
- <div className="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-gray-500">
130
+ <div className="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-secondary-500">
131
131
  <FaAngleDown />
132
132
  </div>
133
133
  </div>
@@ -121,7 +121,7 @@ export default function ITSidebar({
121
121
  ${sidebarWidth}
122
122
  ${className}
123
123
  ${!visibleOnMobile ? "hidden lg:flex" : "flex"}
124
- shadow-[4px_0_24px_rgba(0,0,0,0.02)]
124
+ shadow-[4px_0_32px_rgba(15,23,42,0.04)]
125
125
  `}
126
126
  style={{
127
127
  zIndex: 50,
@@ -144,7 +144,7 @@ export default function ITSidebar({
144
144
  `}
145
145
  style={{
146
146
  backgroundColor: item.isActive ? "var(--sidebar-active-bg, var(--color-secondary-50))" : 'transparent',
147
- boxShadow: item.isActive ? '0 1px 2px 0 rgba(0, 0, 0, 0.05)' : 'none',
147
+ boxShadow: item.isActive ? 'var(--shadow-xs)' : 'none',
148
148
  border: item.isActive ? "1px solid var(--sidebar-border, var(--color-secondary-200))" : '1px solid transparent'
149
149
  }}
150
150
  onMouseEnter={(e) => {
@@ -158,7 +158,7 @@ export default function ITSidebar({
158
158
  {item.isActive && !isSidebarCollapsed && (
159
159
  <div
160
160
  className="absolute left-0 top-1/4 bottom-1/4 w-[3px] rounded-r-full transition-all"
161
- style={{ backgroundColor: "var(--sidebar-active-icon, #10b981)", boxShadow: "0 0 10px var(--sidebar-active-icon, #10b981)" }}
161
+ style={{ backgroundColor: "var(--sidebar-active-icon, var(--color-primary-500))", boxShadow: "0 0 10px var(--sidebar-active-icon, var(--color-primary-500))" }}
162
162
  />
163
163
  )}
164
164
 
@@ -167,7 +167,7 @@ export default function ITSidebar({
167
167
  <div
168
168
  className={`transition-all duration-300 flex-shrink-0 flex items-center justify-center`}
169
169
  style={{
170
- color: item.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, #9ca3af)",
170
+ color: item.isActive ? "var(--sidebar-active-icon, var(--color-primary-500))" : "var(--sidebar-icon-color, #9ca3af)",
171
171
  opacity: item.isActive ? 1 : 0.8,
172
172
  fontSize: item.isActive ? '1.35rem' : '1.25rem',
173
173
  filter: item.isActive ? 'drop-shadow(0 0 8px rgba(255,255,255,0.2))' : 'none'
@@ -181,7 +181,7 @@ export default function ITSidebar({
181
181
  <ITText as="span"
182
182
  className={`transition-all duration-300 truncate tracking-wide`}
183
183
  style={{
184
- color: item.isActive ? "var(--sidebar-active-color, #ffffff)" : "var(--sidebar-label-color, #d1d5db)",
184
+ color: item.isActive ? "var(--sidebar-active-color, #ffffff)" : "var(--sidebar-label-color, var(--color-secondary-300))",
185
185
  fontSize: '0.9rem',
186
186
  fontWeight: item.isActive ? '600' : '500'
187
187
  }}
@@ -207,9 +207,9 @@ export default function ITSidebar({
207
207
  : "right-3 top-1/2 transform -translate-y-1/2 px-2 py-0.5 text-[10px] rounded-full backdrop-blur-sm"}
208
208
  `}
209
209
  style={{
210
- backgroundColor: "var(--sidebar-badge-bg, #10b981)",
210
+ backgroundColor: "var(--sidebar-badge-bg, var(--color-primary-500))",
211
211
  color: "var(--sidebar-badge-color, #ffffff)",
212
- boxShadow: isSidebarCollapsed ? "0 0 0 2px var(--sidebar-bg, #111827)" : 'none'
212
+ boxShadow: isSidebarCollapsed ? "0 0 0 2px var(--sidebar-bg, var(--color-secondary-900))" : 'none'
213
213
  }}
214
214
  >
215
215
  {isSidebarCollapsed ? "" : item.badge}
@@ -229,7 +229,7 @@ export default function ITSidebar({
229
229
  }}
230
230
  >
231
231
  <div className="px-5 py-4 flex items-center gap-3 font-semibold border-b" style={{ borderColor: "var(--sidebar-border, var(--color-secondary-200))", color: "var(--sidebar-active-color, var(--color-secondary-900))" }}>
232
- {item.icon && <span style={{ color: "var(--sidebar-active-icon, #10b981)" }} className="text-xl drop-shadow-sm">{item.icon}</span>}
232
+ {item.icon && <span style={{ color: "var(--sidebar-active-icon, var(--color-primary-500))" }} className="text-xl drop-shadow-sm">{item.icon}</span>}
233
233
  <ITText as="span" className="tracking-wide text-[15px]">{item.label}</ITText>
234
234
  </div>
235
235
 
@@ -244,18 +244,18 @@ export default function ITSidebar({
244
244
  <div
245
245
  className="absolute left-0 top-1/3 bottom-1/3 w-[2.5px] rounded-r-full"
246
246
  style={{
247
- backgroundColor: "var(--sidebar-active-icon, #10b981)",
248
- boxShadow: "0 0 6px color-mix(in srgb, var(--sidebar-active-icon, #10b981) 25%, transparent)",
247
+ backgroundColor: "var(--sidebar-active-icon, var(--color-primary-500))",
248
+ boxShadow: "0 0 6px color-mix(in srgb, var(--sidebar-active-icon, var(--color-primary-500)) 25%, transparent)",
249
249
  }}
250
250
  />
251
251
  )}
252
- <span className={`w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`} style={{ backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, var(--color-secondary-400))" }} />
252
+ <span className={`w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`} style={{ backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, var(--color-primary-500))" : "var(--sidebar-icon-color, var(--color-secondary-400))" }} />
253
253
  <ITText as="span" style={{ color: subitem.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-label-color, var(--color-secondary-600))", fontWeight: subitem.isActive ? 600 : 500 }}>{subitem.label}</ITText>
254
254
  </div>
255
255
  ))}
256
256
  </div>
257
257
  ) : (
258
- <ITText as="div" className="px-5 py-3 text-sm italic" style={{ color: "var(--sidebar-label-color, #71717a)" }}>No hay submenú</ITText>
258
+ <ITText as="div" className="px-5 py-3 text-sm italic" style={{ color: "var(--sidebar-label-color, var(--color-secondary-400))" }}>No hay submenú</ITText>
259
259
  )}
260
260
  </div>
261
261
  )}
@@ -304,8 +304,8 @@ export default function ITSidebar({
304
304
  <div
305
305
  className="absolute left-0 top-1/3 bottom-1/3 w-[2.5px] rounded-r-full transition-all"
306
306
  style={{
307
- backgroundColor: "var(--sidebar-active-icon, #10b981)",
308
- boxShadow: "0 0 6px color-mix(in srgb, var(--sidebar-active-icon, #10b981) 25%, transparent)",
307
+ backgroundColor: "var(--sidebar-active-icon, var(--color-primary-500))",
308
+ boxShadow: "0 0 6px color-mix(in srgb, var(--sidebar-active-icon, var(--color-primary-500)) 25%, transparent)",
309
309
  }}
310
310
  />
311
311
  )}
@@ -314,7 +314,7 @@ export default function ITSidebar({
314
314
  className={`w-1.5 h-1.5 rounded-full flex-shrink-0 transition-all duration-300 ${subitem.isActive ? 'scale-125' : ''}`}
315
315
  style={{
316
316
  backgroundColor: subitem.isActive
317
- ? "var(--sidebar-active-icon, #10b981)"
317
+ ? "var(--sidebar-active-icon, var(--color-primary-500))"
318
318
  : "var(--sidebar-icon-color, var(--color-secondary-400))"
319
319
  }}
320
320
  />
@@ -30,7 +30,7 @@ export default function ITSlider({
30
30
  return (
31
31
  <div className={clsx("flex flex-col gap-1.5", className)}>
32
32
  {label && (
33
- <ITText as="label" className="text-xs font-semibold text-gray-600 dark:text-gray-400">
33
+ <ITText as="label" className="text-xs font-semibold text-secondary-600 dark:text-secondary-400">
34
34
  {label}: {value}
35
35
  </ITText>
36
36
  )}
@@ -45,7 +45,7 @@ export default function ITSlider({
45
45
  disabled={disabled}
46
46
  className={clsx(
47
47
  "w-full h-1.5 appearance-none rounded-full outline-none cursor-pointer",
48
- "bg-gray-200 dark:bg-gray-700",
48
+ "bg-secondary-200 dark:bg-secondary-700",
49
49
  "accent-primary-500",
50
50
  "disabled:opacity-50 disabled:cursor-not-allowed",
51
51
  "[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4",
@@ -54,7 +54,7 @@ export default function ITSlider({
54
54
  "[&::-webkit-slider-thumb]:hover:bg-primary-600 [&::-webkit-slider-thumb]:transition-colors",
55
55
  "[&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full",
56
56
  "[&::-moz-range-thumb]:bg-primary-500 [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-white",
57
- "[&::-moz-range-track]:bg-gray-200 dark:[&::-moz-range-track]:bg-gray-700",
57
+ "[&::-moz-range-track]:bg-secondary-200 dark:[&::-moz-range-track]:bg-secondary-700",
58
58
  "[&::-moz-range-track]:rounded-full [&::-moz-range-track]:h-1.5"
59
59
  )}
60
60
  />
@@ -128,7 +128,7 @@ export default function ITStepper({
128
128
  <div className={clsx("w-full max-w-5xl mx-auto px-4", containerClassName)}>
129
129
  <div className="relative mb-8">
130
130
  <div
131
- className="absolute left-6 right-6 top-5 h-1 bg-gray-200 rounded-full z-0"
131
+ className="absolute left-6 right-6 top-5 h-1 bg-secondary-200 rounded-full z-0"
132
132
  aria-hidden
133
133
  />
134
134
  <div
@@ -161,7 +161,7 @@ export default function ITStepper({
161
161
  hasIcon && "p-2",
162
162
  isCompleted && "bg-slate-400 border-slate-400 text-white scale-100 shadow",
163
163
  isActive && "text-white scale-110 shadow-lg",
164
- !isActive && !isCompleted && "bg-white border-gray-300 text-gray-400"
164
+ !isActive && !isCompleted && "bg-white border-secondary-300 text-secondary-400"
165
165
  )}
166
166
  style={isActive ? { backgroundColor: resolvedColor, borderColor: resolvedColor } : undefined}
167
167
  >
@@ -172,7 +172,7 @@ export default function ITStepper({
172
172
  as="span"
173
173
  className={clsx(
174
174
  "mt-2 text-xs sm:text-sm font-medium transition-colors text-center",
175
- isCompleted ? "text-slate-400" : !isActive && "text-gray-400"
175
+ isCompleted ? "text-slate-400" : !isActive && "text-secondary-400"
176
176
  )}
177
177
  style={isActive ? { color: resolvedColor } : undefined}
178
178
  >
@@ -193,7 +193,7 @@ export default function ITStepper({
193
193
  aria-labelledby={`step-${currentStep}`}
194
194
  className={clsx(
195
195
  stepClassName,
196
- "bg-white border border-gray-100 rounded-2xl shadow-lg min-h-[280px] transition-transform duration-400 no-scrollbar p-6",
196
+ "bg-white border border-secondary-100 rounded-2xl shadow-lg min-h-[280px] transition-transform duration-400 no-scrollbar p-6",
197
197
  scrollableContent && "overflow-y-auto hide-scrollbar"
198
198
  )}
199
199
  style={
@@ -220,7 +220,7 @@ export default function ITStepper({
220
220
  </ITButton>
221
221
 
222
222
  <div className="flex items-center gap-3">
223
- <ITText as="div" className="text-sm text-gray-500 mr-2 hidden sm:block">
223
+ <ITText as="div" className="text-sm text-secondary-500 mr-2 hidden sm:block">
224
224
  Paso {currentStep + 1} de {steps.length}
225
225
  </ITText>
226
226
 
@@ -194,14 +194,14 @@ export default function ITTable<T extends Record<string, unknown>>({
194
194
  aria-label={`${getToggleLabel()} para ${col.label}`}
195
195
  title={`${getToggleLabel()} para ${col.label}`}
196
196
  >
197
- <div className="relative w-10 h-5 bg-gray-300 rounded-full">
197
+ <div className="relative w-10 h-5 bg-secondary-300 rounded-full">
198
198
  <div
199
199
  className={clsx(
200
200
  "absolute top-0.5 w-4 h-4 rounded-full transition-all duration-300 shadow-sm",
201
201
  {
202
- "left-0.5 bg-gray-400": currentValue === undefined,
202
+ "left-0.5 bg-secondary-400": currentValue === undefined,
203
203
  "left-5 bg-slate-500": currentValue === true,
204
- "left-0.5 bg-gray-500": currentValue === false,
204
+ "left-0.5 bg-secondary-500": currentValue === false,
205
205
  }
206
206
  )}
207
207
  />
@@ -39,8 +39,8 @@ const ITTabs: React.FC<ITTabsProps> = ({
39
39
  <div className={clsx("w-full", containerClassName)}>
40
40
  {/* HEADER */}
41
41
  <div className={clsx(
42
- "flex border-gray-200 mb-4",
43
- variant === 'line' ? "border-b" : "gap-2 p-1 bg-gray-100 rounded-lg w-fit",
42
+ "flex border-secondary-200 mb-4",
43
+ variant === 'line' ? "border-b" : "gap-2 p-1 bg-secondary-100 rounded-lg w-fit",
44
44
  className
45
45
  )}>
46
46
  {items.map((item) => {
@@ -58,14 +58,14 @@ const ITTabs: React.FC<ITTabsProps> = ({
58
58
  "border-b-2 -mb-[2px]",
59
59
  isActive
60
60
  ? "border-primary-500 text-primary-600"
61
- : "border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300",
61
+ : "border-transparent text-secondary-500 hover:text-secondary-700 hover:border-secondary-300",
62
62
  ],
63
63
  // PILL VARIANT
64
64
  variant === 'pill' && [
65
65
  "rounded-md",
66
66
  isActive
67
67
  ? "bg-white text-primary-600 shadow-sm"
68
- : "text-gray-500 hover:text-gray-700",
68
+ : "text-secondary-500 hover:text-secondary-700",
69
69
  ],
70
70
  item.disabled && "opacity-50 cursor-not-allowed"
71
71
  )}
@@ -60,9 +60,9 @@ export default function ITTextarea({
60
60
  "focus:ring-2",
61
61
  resizeMap[resize],
62
62
  error
63
- ? "border-red-500 ring-red-100 focus:border-red-500 focus:ring-red-100"
64
- : "border-gray-300 focus:border-primary-500 focus:ring-primary-100",
65
- disabled && "opacity-50 cursor-not-allowed bg-gray-100 dark:bg-slate-800"
63
+ ? "border-danger-500 ring-danger-100 focus:border-danger-500 focus:ring-danger-100"
64
+ : "border-secondary-300 focus:border-primary-500 focus:ring-primary-100",
65
+ disabled && "opacity-50 cursor-not-allowed bg-secondary-100 dark:bg-slate-800"
66
66
  )}
67
67
  />
68
68
  {error && <ITText as="span" className={inputError}>{error}</ITText>}
@@ -799,23 +799,23 @@ export default function ITThemeProvider({
799
799
  color: #cbd5e1;
800
800
  }
801
801
  .dark .text-slate-800, [data-theme="dark"] .text-slate-800,
802
- .dark .text-gray-800, [data-theme="dark"] .text-gray-800 {
802
+ .dark .text-secondary-800, [data-theme="dark"] .text-secondary-800 {
803
803
  color: #f8fafc !important;
804
804
  }
805
805
  .dark .text-slate-700, [data-theme="dark"] .text-slate-700,
806
- .dark .text-gray-700, [data-theme="dark"] .text-gray-700 {
806
+ .dark .text-secondary-700, [data-theme="dark"] .text-secondary-700 {
807
807
  color: #cbd5e1 !important;
808
808
  }
809
809
  .dark .text-slate-600, [data-theme="dark"] .text-slate-600,
810
- .dark .text-gray-600, [data-theme="dark"] .text-gray-600 {
810
+ .dark .text-secondary-600, [data-theme="dark"] .text-secondary-600 {
811
811
  color: #cbd5e1 !important;
812
812
  }
813
813
  .dark .text-slate-500, [data-theme="dark"] .text-slate-500,
814
- .dark .text-gray-500, [data-theme="dark"] .text-gray-500 {
814
+ .dark .text-secondary-500, [data-theme="dark"] .text-secondary-500 {
815
815
  color: #94a3b8 !important;
816
816
  }
817
817
  .dark .text-slate-400, [data-theme="dark"] .text-slate-400,
818
- .dark .text-gray-400, [data-theme="dark"] .text-gray-400 {
818
+ .dark .text-secondary-400, [data-theme="dark"] .text-secondary-400 {
819
819
  color: #64748b !important;
820
820
  }
821
821
 
@@ -823,25 +823,25 @@ export default function ITThemeProvider({
823
823
  background-color: var(--card-bg, #111827) !important;
824
824
  }
825
825
  .dark .bg-slate-50, [data-theme="dark"] .bg-slate-50,
826
- .dark .bg-gray-50, [data-theme="dark"] .bg-gray-50 {
826
+ .dark .bg-secondary-50, [data-theme="dark"] .bg-secondary-50 {
827
827
  background-color: #1f2937 !important;
828
828
  }
829
829
  .dark .border-slate-100, [data-theme="dark"] .border-slate-100,
830
- .dark .border-gray-100, [data-theme="dark"] .border-gray-100,
830
+ .dark .border-secondary-100, [data-theme="dark"] .border-secondary-100,
831
831
  .dark .border-slate-200, [data-theme="dark"] .border-slate-200,
832
- .dark .border-gray-200, [data-theme="dark"] .border-gray-200 {
832
+ .dark .border-secondary-200, [data-theme="dark"] .border-secondary-200 {
833
833
  border-color: #374151 !important;
834
834
  }
835
835
 
836
- .dark .bg-gray-100, [data-theme="dark"] .bg-gray-100,
836
+ .dark .bg-secondary-100, [data-theme="dark"] .bg-secondary-100,
837
837
  .dark .bg-slate-100, [data-theme="dark"] .bg-slate-100 {
838
838
  background-color: #1f2937 !important;
839
839
  }
840
- .dark .border-gray-300, [data-theme="dark"] .border-gray-300,
840
+ .dark .border-secondary-300, [data-theme="dark"] .border-secondary-300,
841
841
  .dark .border-slate-300, [data-theme="dark"] .border-slate-300 {
842
842
  border-color: #4b5563 !important;
843
843
  }
844
- .dark .bg-gray-200, [data-theme="dark"] .bg-gray-200,
844
+ .dark .bg-secondary-200, [data-theme="dark"] .bg-secondary-200,
845
845
  .dark .bg-slate-200, [data-theme="dark"] .bg-slate-200 {
846
846
  background-color: #374151 !important;
847
847
  }
@@ -909,23 +909,23 @@ export default function ITThemeProvider({
909
909
  }
910
910
 
911
911
  [data-theme="light"] .text-slate-800,
912
- [data-theme="light"] .text-gray-800 {
912
+ [data-theme="light"] .text-secondary-800 {
913
913
  color: #1e293b !important;
914
914
  }
915
915
  [data-theme="light"] .text-slate-700,
916
- [data-theme="light"] .text-gray-700 {
916
+ [data-theme="light"] .text-secondary-700 {
917
917
  color: #334155 !important;
918
918
  }
919
919
  [data-theme="light"] .text-slate-600,
920
- [data-theme="light"] .text-gray-600 {
920
+ [data-theme="light"] .text-secondary-600 {
921
921
  color: #475569 !important;
922
922
  }
923
923
  [data-theme="light"] .text-slate-500,
924
- [data-theme="light"] .text-gray-500 {
924
+ [data-theme="light"] .text-secondary-500 {
925
925
  color: #64748b !important;
926
926
  }
927
927
  [data-theme="light"] .text-slate-400,
928
- [data-theme="light"] .text-gray-400 {
928
+ [data-theme="light"] .text-secondary-400 {
929
929
  color: #94a3b8 !important;
930
930
  }
931
931
 
@@ -933,24 +933,24 @@ export default function ITThemeProvider({
933
933
  background-color: #ffffff !important;
934
934
  }
935
935
  [data-theme="light"] .bg-slate-50,
936
- [data-theme="light"] .bg-gray-50 {
936
+ [data-theme="light"] .bg-secondary-50 {
937
937
  background-color: #f8fafc !important;
938
938
  }
939
939
  [data-theme="light"] .border-slate-100,
940
- [data-theme="light"] .border-gray-100,
940
+ [data-theme="light"] .border-secondary-100,
941
941
  [data-theme="light"] .border-slate-200,
942
- [data-theme="light"] .border-gray-200 {
942
+ [data-theme="light"] .border-secondary-200 {
943
943
  border-color: #e2e8f0 !important;
944
944
  }
945
- [data-theme="light"] .bg-gray-100,
945
+ [data-theme="light"] .bg-secondary-100,
946
946
  [data-theme="light"] .bg-slate-100 {
947
947
  background-color: #f1f5f9 !important;
948
948
  }
949
- [data-theme="light"] .border-gray-300,
949
+ [data-theme="light"] .border-secondary-300,
950
950
  [data-theme="light"] .border-slate-300 {
951
951
  border-color: #cbd5e1 !important;
952
952
  }
953
- [data-theme="light"] .bg-gray-200,
953
+ [data-theme="light"] .bg-secondary-200,
954
954
  [data-theme="light"] .bg-slate-200 {
955
955
  background-color: #e2e8f0 !important;
956
956
  }
@@ -978,13 +978,13 @@ export default function ITThemeProvider({
978
978
  .hover\\:bg-green-600:hover { background-color: var(--color-success-hover) !important; }
979
979
 
980
980
  /* Danger overrides (red mappings in UI library) */
981
- .bg-red-700 { background-color: var(--color-danger) !important; }
982
- .hover\\:bg-red-800:hover { background-color: var(--color-danger-hover) !important; }
983
- .focus\\:ring-red-300:focus { --tw-ring-color: var(--color-danger-ring) !important; }
984
- .text-red-700 { color: var(--color-danger) !important; }
985
- .border-red-700 { border-color: var(--color-danger) !important; }
986
- .bg-red-500 { background-color: var(--color-danger) !important; }
987
- .hover\\:bg-red-600:hover { background-color: var(--color-danger-hover) !important; }
981
+ .bg-danger-700 { background-color: var(--color-danger) !important; }
982
+ .hover\\:bg-danger-800:hover { background-color: var(--color-danger-hover) !important; }
983
+ .focus\\:ring-danger-300:focus { --tw-ring-color: var(--color-danger-ring) !important; }
984
+ .text-danger-700 { color: var(--color-danger) !important; }
985
+ .border-danger-700 { border-color: var(--color-danger) !important; }
986
+ .bg-danger-500 { background-color: var(--color-danger) !important; }
987
+ .hover\\:bg-danger-600:hover { background-color: var(--color-danger-hover) !important; }
988
988
 
989
989
  /* Warning overrides (yellow mappings in UI library) */
990
990
  .bg-yellow-400 { background-color: var(--color-warning) !important; }
@@ -1014,12 +1014,12 @@ export default function ITThemeProvider({
1014
1014
  .border-blue-500 { border-color: var(--color-info) !important; }
1015
1015
 
1016
1016
  /* Secondary elements overrides */
1017
- button[class*="bg-white"][class*="hover:bg-gray-100"] {
1017
+ button[class*="bg-white"][class*="hover:bg-secondary-100"] {
1018
1018
  background-color: var(--color-secondary) !important;
1019
1019
  border-color: var(--color-secondary-soft-border) !important;
1020
1020
  color: #111827 !important;
1021
1021
  }
1022
- button[class*="bg-white"][class*="hover:bg-gray-100"]:hover {
1022
+ button[class*="bg-white"][class*="hover:bg-secondary-100"]:hover {
1023
1023
  background-color: var(--color-secondary-hover) !important;
1024
1024
  }
1025
1025
 
@@ -1625,7 +1625,7 @@ export default function ITThemeProvider({
1625
1625
  e.stopPropagation();
1626
1626
  handleDeletePreset(preset.name, e);
1627
1627
  }}
1628
- className="absolute top-1.5 right-1.5 opacity-0 group-hover:opacity-100 p-0.5 rounded-md hover:bg-red-500/10 hover:text-red-500 text-slate-400 dark:text-slate-500 cursor-pointer transition-all z-10"
1628
+ className="absolute top-1.5 right-1.5 opacity-0 group-hover:opacity-100 p-0.5 rounded-md hover:bg-danger-500/10 hover:text-danger-500 text-slate-400 dark:text-slate-500 cursor-pointer transition-all z-10"
1629
1629
  title="Eliminar"
1630
1630
  >
1631
1631
  <MdClose size={12} />
@@ -227,14 +227,14 @@ export default function ITTimePicker({
227
227
  {isOpen && !disabled && (
228
228
  <div
229
229
  ref={dropdownRef}
230
- className="fixed z-[70] bg-white border border-gray-100 shadow-xl rounded-xl w-64 overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-200 origin-top it-timepicker-dropdown"
230
+ className="fixed z-[70] bg-white border border-secondary-100 shadow-xl rounded-xl w-64 overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-200 origin-top it-timepicker-dropdown"
231
231
  style={{
232
232
  top: `${dropdownPosition.top}px`,
233
233
  left: `${dropdownPosition.left}px`,
234
234
  }}
235
235
  >
236
- <div className="flex bg-gray-50 border-b border-gray-100 text-xs font-semibold text-gray-500 uppercase tracking-wider">
237
- <ITText as="div" className="flex-1 text-center py-2 border-r border-gray-100">
236
+ <div className="flex bg-secondary-50 border-b border-secondary-100 text-xs font-semibold text-secondary-500 uppercase tracking-wider">
237
+ <ITText as="div" className="flex-1 text-center py-2 border-r border-secondary-100">
238
238
  Horas
239
239
  </ITText>
240
240
  <ITText as="div" className="flex-1 text-center py-2">Minutos</ITText>
@@ -244,7 +244,7 @@ export default function ITTimePicker({
244
244
  {/* Hours Column */}
245
245
  <div
246
246
  ref={hoursRef}
247
- className="flex-1 overflow-y-auto no-scrollbar border-r border-gray-50 scroll-smooth relative"
247
+ className="flex-1 overflow-y-auto no-scrollbar border-r border-secondary-50 scroll-smooth relative"
248
248
  >
249
249
  <div className="py-2">
250
250
  {hoursList.map((h) => {
@@ -321,7 +321,7 @@ export default function ITTimePicker({
321
321
  <div className="absolute top-1/2 left-0 right-0 h-10 -mt-5 bg-black/5 pointer-events-none border-y border-black/10 z-10" />
322
322
  </div>
323
323
 
324
- <div className="p-3 bg-gray-50 border-t border-gray-100 flex justify-end">
324
+ <div className="p-3 bg-secondary-50 border-t border-secondary-100 flex justify-end">
325
325
  <ITButton
326
326
  variant="solid"
327
327
  color={color as any}
@@ -61,8 +61,8 @@ export default function ITTopBar({
61
61
  className="sticky top-0 z-40 backdrop-blur-md transition-all duration-300"
62
62
  style={{
63
63
  backgroundColor: "var(--topbar-bg, rgba(255, 255, 255, 0.9))",
64
- borderBottom: "1px solid var(--topbar-border, #e2e8f0)",
65
- boxShadow: "none",
64
+ borderBottom: "1px solid var(--topbar-border, rgba(15, 23, 42, 0.06))",
65
+ boxShadow: "var(--shadow-xs)",
66
66
  }}
67
67
  >
68
68
  <div className="flex items-center justify-between h-[72px] px-6 lg:px-8">
@@ -105,7 +105,7 @@ export default function ITTopBar({
105
105
 
106
106
  {/* Top Navigation Items (Desktop) */}
107
107
  {navItems && navItems.length > 0 && (
108
- <nav className="hidden md:flex ml-8 space-x-1 border-l pl-8" style={{ borderColor: "var(--topbar-border, #e2e8f0)" }}>
108
+ <nav className="hidden md:flex ml-8 space-x-1 border-l pl-8" style={{ borderColor: "var(--topbar-border, rgba(15, 23, 42, 0.06))" }}>
109
109
  {navItems.map((item) => (
110
110
  <button
111
111
  key={item.id}
@@ -136,7 +136,7 @@ export default function ITTopBar({
136
136
  <div className="relative">
137
137
  <button
138
138
  type="button"
139
- className="flex items-center gap-3 rounded-full pl-2 pr-4 py-1.5 transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)] border border-transparent hover:border-gray-200"
139
+ className="flex items-center gap-3 rounded-full pl-2 pr-4 py-1.5 transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)] border border-transparent hover:border-secondary-200"
140
140
  style={{
141
141
  backgroundColor: isUserMenuOpen ? "var(--topbar-user-hover, #f1f5f9)" : "transparent",
142
142
  }}
@@ -220,9 +220,9 @@ export default function ITTopBar({
220
220
  setIsUserMenuOpen(false);
221
221
  }}
222
222
  className="block w-full text-left px-3 py-2.5 rounded-xl text-[0.875rem] font-medium transition-colors duration-150"
223
- style={{ color: isDestructive ? '#ef4444' : "var(--topbar-user-text, #334155)" }}
223
+ style={{ color: isDestructive ? 'var(--color-danger-500)' : "var(--topbar-user-text, #334155)" }}
224
224
  onMouseEnter={(e) => {
225
- e.currentTarget.style.backgroundColor = isDestructive ? '#fef2f2' : "var(--topbar-user-item-hover, #f8fafc)";
225
+ e.currentTarget.style.backgroundColor = isDestructive ? 'var(--color-danger-50)' : "var(--topbar-user-item-hover, #f8fafc)";
226
226
  }}
227
227
  onMouseLeave={(e) => {
228
228
  e.currentTarget.style.backgroundColor = "transparent";
package/src/index.css CHANGED
@@ -94,6 +94,29 @@
94
94
  --color-info-800: #075985;
95
95
  --color-info-900: #0c4a6e;
96
96
  --color-info-950: #082f49;
97
+
98
+ /* Soft-depth radius scale: larger, more consistent rounding across the system */
99
+ --radius-xs: 0.25rem;
100
+ --radius-sm: 0.375rem;
101
+ --radius-md: 0.625rem;
102
+ --radius-lg: 0.875rem;
103
+ --radius-xl: 1.125rem;
104
+ --radius-2xl: 1.5rem;
105
+ --radius-3xl: 2rem;
106
+
107
+ /* Soft-depth shadow scale: cool slate-tinted, low-opacity, multi-layer.
108
+ Overrides Tailwind's default shadow-* tokens system-wide so every
109
+ existing shadow-* usage picks up the new "floating" look with no
110
+ per-component changes. */
111
+ --shadow-2xs: 0 1px 2px 0 rgb(15 23 42 / 0.04);
112
+ --shadow-xs: 0 1px 3px 0 rgb(15 23 42 / 0.05), 0 1px 2px -1px rgb(15 23 42 / 0.04);
113
+ --shadow-sm: 0 2px 6px -1px rgb(15 23 42 / 0.06), 0 1px 3px -1px rgb(15 23 42 / 0.05);
114
+ --shadow-md: 0 6px 16px -4px rgb(15 23 42 / 0.08), 0 3px 6px -3px rgb(15 23 42 / 0.05);
115
+ --shadow-lg: 0 12px 28px -6px rgb(15 23 42 / 0.1), 0 6px 12px -6px rgb(15 23 42 / 0.06);
116
+ --shadow-xl: 0 20px 40px -8px rgb(15 23 42 / 0.12), 0 10px 20px -8px rgb(15 23 42 / 0.06);
117
+ --shadow-2xl: 0 32px 64px -16px rgb(15 23 42 / 0.18);
118
+ --shadow: 0 2px 6px -1px rgb(15 23 42 / 0.06), 0 1px 3px -1px rgb(15 23 42 / 0.05);
119
+ --shadow-inner: inset 0 2px 4px 0 rgb(15 23 42 / 0.04);
97
120
  }
98
121
 
99
122
  @keyframes fadeIn {