@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 +134 -0
- package/dist/index.d.ts +8 -2
- package/dist/tiger.css +1 -1
- package/dist/tiger.es.js +45 -27
- package/dist/tiger.umd.js +1 -1
- package/package.json +1 -1
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
|
|
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
|
|
897
|
+
declare interface TigerThProps extends default_2.ThHTMLAttributes<HTMLTableHeaderCellElement> {
|
|
892
898
|
size?: Exclude<ComponentSize, ComponentSize.Xsmall>;
|
|
893
899
|
}
|
|
894
900
|
|