@jonapin006/tiger 1.0.34 → 1.0.35

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/README.md CHANGED
@@ -107,12 +107,146 @@ La `TigerTopBar` está diseñada para ser 100% agnóstica a estilos de layout.
107
107
  description="Bienvenido al panel centralizado"
108
108
  actions={<MyActionsComponent />}
109
109
  />
110
+
111
+ ---
112
+
113
+ ## 🎨 Catálogo de Componentes (Ejemplos)
114
+
115
+ Tiger está diseñado para ser intuitivo. Aquí tienes cómo usar las piezas maestras de la librería.
116
+
117
+ ### 🏛️ Dashboard Layout (Orquestación)
118
+ El `TigerDashboardLayout` es el contenedor estructural. Gestiona el scroll independiente del Sidebar y el Contenido, y aplica las sombras direccionales automáticamente.
119
+
120
+ ```tsx
121
+ import { TigerDashboardLayout, TigerSidebar, TigerTopBar } from '@jonapin006/tiger';
122
+
123
+ // ... tu lógica de estado para el sidebar
124
+
125
+ <TigerDashboardLayout
126
+ sidebar={<TigerSidebar items={menuItems} activeId={active} />}
127
+ topbar={
128
+ <TigerTopBar
129
+ title="Dashboard"
130
+ description="Estado de tus operaciones"
131
+ actions={<UserMenu />}
132
+ />
133
+ }
134
+ >
135
+ {/* El contenido aquí tendrá scroll automático independiente */}
136
+ <div className="p-6">
137
+ <MyMainContent />
138
+ </div>
139
+ </TigerDashboardLayout>
140
+ ```
141
+
142
+ ### 🔘 Botones e Iconos
143
+ Tiger soporta iconos integrados en ambos lados, respetando el sistema de tamaños y espaciado temático de forma nativa.
144
+
145
+ ```tsx
146
+ import { TigerButton, ComponentSize } from '@jonapin006/tiger';
147
+ import { Plus, ArrowRight, Download, Send } from 'lucide-react';
148
+
149
+ /* Ejemplos por tamaño */
150
+ <TigerButton size={ComponentSize.Small} iconLeft={Plus}>
151
+ Nuevo
152
+ </TigerButton>
153
+
154
+ <TigerButton size={ComponentSize.Medium} iconRight={ArrowRight}>
155
+ Continuar
156
+ </TigerButton>
157
+
158
+ <TigerButton size={ComponentSize.Large} iconLeft={Download} iconRight={Send}>
159
+ Doble Icono
160
+ </TigerButton>
161
+
162
+ <TigerButton size={ComponentSize.Xlarge} iconLeft={Plus} iconRight={ArrowRight}>
163
+ Boton Hero
164
+ </TigerButton>
165
+ ```
166
+
167
+ ### ✍️ Inputs y Switch
168
+ Todos los inputs consumen el sistema de tamaños (Size System) de Tiger.
169
+
170
+ ```tsx
171
+ import { TigerInput, TigerSwitch, TigerStack } from '@jonapin006/tiger';
172
+
173
+ <TigerStack gap="medium">
174
+ <TigerInput
175
+ label="Correo Electrónico"
176
+ placeholder="ejemplo@tiger.com"
177
+ icon={Mail}
178
+ />
179
+
180
+ <TigerSwitch
181
+ label="Notificaciones Push"
182
+ checked={isEnabled}
183
+ onChange={setIsEnabled}
184
+ />
185
+ </TigerStack>
186
+ ```
187
+
188
+ ### 📊 Tablas de Datos
189
+ La `TigerTable` es premium por defecto, con soporte para estados de carga, filas vacías y estilos de celdas temáticos.
190
+
191
+ ```tsx
192
+ import { TigerTable } from '@jonapin006/tiger';
193
+
194
+ const columns = [
195
+ { key: 'name', header: 'Nombre' },
196
+ { key: 'status', header: 'Estado', render: (val) => <TigerBadge status={val} /> },
197
+ { key: 'amount', header: 'Monto', align: 'right' }
198
+ ];
199
+
200
+ <TigerTable
201
+ columns={columns}
202
+ data={myRecords}
203
+ loading={isLoading}
204
+ />
205
+ ```
206
+
207
+ ### 📦 Cards y Badges
208
+ Úsalos para agrupar información con elevaciones temáticas.
209
+
210
+ ```tsx
211
+ import { TigerCard, TigerBadge, TigerTypography } from '@jonapin006/tiger';
212
+
213
+ <TigerCard hoverable padding="large">
214
+ <div className="flex justify-between items-center">
215
+ <TigerTypography variant="h3">Ventas Totales</TigerTypography>
216
+ <TigerBadge variant="success" label="Activo" />
217
+ </div>
218
+ <TigerTypography variant="body1" className="mt-4">
219
+ $4,250.00
220
+ </TigerTypography>
221
+ </TigerCard>
222
+ ```
223
+
224
+ ### 🔔 Modales y Feedback
225
+ Gestiona overlays con transiciones suaves y fondos desenfocados (glassmorphism).
226
+
227
+ ```tsx
228
+ import { TigerModal, TigerButton } from '@jonapin006/tiger';
229
+
230
+ <TigerModal
231
+ isOpen={show}
232
+ onClose={() => setShow(false)}
233
+ title="Confirmar Acción"
234
+ footer={
235
+ <div className="flex gap-2">
236
+ <TigerButton variant="ghost" onClick={() => setShow(false)}>Cancelar</TigerButton>
237
+ <TigerButton variant="primary">Confirmar</TigerButton>
238
+ </div>
239
+ }
240
+ >
241
+ <p>¿Estás seguro de que deseas eliminar este registro?</p>
242
+ </TigerModal>
110
243
  ```
111
244
 
112
245
  ---
113
246
 
114
247
  ## 🏗️ Excelencia Arquitectónica
115
248
 
249
+ - **Zero-Override Architecture**: Ningún componente de Tiger tiene clases de estilo hardcoded que necesiten ser "pisadas". El componente es una estructura pura que se viste con los tokens del tema activo.
116
250
  - **Clean Architecture**: Separación estricta entre **Domain** (Tipos/Enums), **Application** (Theme Context), **Infrastructure** (Temas Físicos) y **Presentation** (UI Components).
117
251
  - **SOLID Principles**: Componentes desacoplados, abiertos a extensión pero cerrados a modificación, cumpliendo con responsabilidad única (SRP).
118
252
  - **Scale System**: Sistema de 4 niveles de tamaño (**S, M, L, XL**) que sincroniza espaciado, tipografía y elevación en toda la librería.
package/dist/index.d.ts CHANGED
@@ -13,6 +13,8 @@ export declare interface BaseComponentProps {
13
13
  declare interface ButtonProps extends default_2.ButtonHTMLAttributes<HTMLButtonElement> {
14
14
  variant?: TigerButtonVariant;
15
15
  size?: Exclude<ComponentSize, ComponentSize.Xsmall>;
16
+ iconLeft?: default_2.ElementType;
17
+ iconRight?: default_2.ElementType;
16
18
  }
17
19
 
18
20
  declare interface CardProps extends SizedComponentProps {
@@ -113,6 +115,10 @@ export declare interface ThemeGeometryConfig {
113
115
  };
114
116
  baseTypography: string;
115
117
  baseStyles: string;
118
+ layout: {
119
+ container: string;
120
+ icon: string;
121
+ };
116
122
  });
117
123
  iconButtons: Record<Exclude<ComponentSize, ComponentSize.Xsmall>, {
118
124
  size: string;
@@ -876,7 +882,7 @@ declare interface TigerTbodyProps extends BaseComponentProps {
876
882
 
877
883
  export declare const TigerTd: default_2.FC<TigerTdProps>;
878
884
 
879
- declare interface TigerTdProps extends BaseComponentProps {
885
+ declare interface TigerTdProps extends default_2.TdHTMLAttributes<HTMLTableCellElement> {
880
886
  size?: Exclude<ComponentSize, ComponentSize.Xsmall>;
881
887
  }
882
888
 
@@ -888,7 +894,7 @@ declare interface TigerTheadProps extends BaseComponentProps {
888
894
  size?: Exclude<ComponentSize, ComponentSize.Xsmall>;
889
895
  }
890
896
 
891
- declare interface TigerThProps extends BaseComponentProps {
897
+ declare interface TigerThProps extends default_2.ThHTMLAttributes<HTMLTableHeaderCellElement> {
892
898
  size?: Exclude<ComponentSize, ComponentSize.Xsmall>;
893
899
  }
894
900