@adamosuiteservices/ui 2.13.4 → 2.14.0
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/dist/{button-Bn4LFAa9.js → button-B0lWuG-D.js} +27 -18
- package/dist/{button-Day6_fbu.cjs → button-DVrteFz9.cjs} +2 -2
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/{calendar-B1_ybTg0.js → calendar-CfqtuOWv.js} +1 -1
- package/dist/{calendar-CZkzHgYi.cjs → calendar-CpUN6BGK.cjs} +1 -1
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.js +1 -1
- package/dist/{combobox-BOi7QzmO.js → combobox-B8HMlZy6.js} +1 -1
- package/dist/{combobox-0ndFo07_.cjs → combobox-Btj-hiBy.cjs} +1 -1
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.js +1 -1
- package/dist/components/ui/alert/alert.d.ts +1 -1
- package/dist/components/ui/button/button.d.ts +3 -2
- package/dist/components/ui/card/card.d.ts +2 -2
- package/dist/date-picker-selector.cjs +1 -1
- package/dist/date-picker-selector.js +3 -3
- package/dist/file-upload.cjs +1 -1
- package/dist/file-upload.js +1 -1
- package/dist/full-screen-loader.cjs +1 -1
- package/dist/full-screen-loader.js +1 -1
- package/dist/input-group.cjs +1 -1
- package/dist/input-group.js +1 -1
- package/dist/pagination.cjs +1 -1
- package/dist/pagination.js +1 -1
- package/dist/sidebar.cjs +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tabs.cjs +14 -16
- package/dist/tabs.js +17 -19
- package/docs/AI-GUIDE.md +321 -321
- package/docs/components/layout/full-screen-loader.md +2 -2
- package/docs/components/layout/sidebar.md +399 -399
- package/docs/components/layout/toaster.md +436 -436
- package/docs/components/ui/accordion-rounded.md +584 -584
- package/docs/components/ui/accordion.md +269 -269
- package/docs/components/ui/button.md +35 -23
- package/docs/components/ui/calendar.md +1159 -1159
- package/docs/components/ui/card.md +1455 -1455
- package/docs/components/ui/checkbox.md +292 -292
- package/docs/components/ui/collapsible.md +323 -323
- package/docs/components/ui/dialog.md +628 -628
- package/docs/components/ui/field.md +706 -706
- package/docs/components/ui/hover-card.md +446 -446
- package/docs/components/ui/kbd.md +434 -434
- package/docs/components/ui/label.md +359 -359
- package/docs/components/ui/pagination.md +650 -650
- package/docs/components/ui/popover.md +536 -536
- package/docs/components/ui/progress.md +182 -182
- package/docs/components/ui/radio-group.md +311 -311
- package/docs/components/ui/separator.md +214 -214
- package/docs/components/ui/sheet.md +174 -174
- package/docs/components/ui/skeleton.md +140 -140
- package/docs/components/ui/spinner.md +170 -170
- package/docs/components/ui/switch.md +408 -408
- package/docs/components/ui/tabs-underline.md +106 -106
- package/docs/components/ui/tabs.md +125 -122
- package/docs/components/ui/textarea.md +243 -243
- package/docs/components/ui/toggle.md +237 -237
- package/docs/components/ui/tooltip.md +317 -317
- package/docs/components/ui/typography.md +320 -320
- package/package.json +1 -1
|
@@ -1,320 +1,320 @@
|
|
|
1
|
-
# Typography
|
|
2
|
-
|
|
3
|
-
Sistema de estilos de texto con variantes de tamaño. Wrapper flexible con soporte `asChild`.
|
|
4
|
-
|
|
5
|
-
## Importación
|
|
6
|
-
|
|
7
|
-
```tsx
|
|
8
|
-
import { Typography } from "@adamosuiteservices/ui/typography";
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Anatomía
|
|
12
|
-
|
|
13
|
-
```tsx
|
|
14
|
-
<Typography variant="md">Default paragraph text.</Typography>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
**Componentes**: 1 (Typography)
|
|
18
|
-
|
|
19
|
-
## Props
|
|
20
|
-
|
|
21
|
-
| Prop | Tipo | Default | Descripción |
|
|
22
|
-
| ----------- | ------------------------------------------- | ----------- | --------------------------------------- |
|
|
23
|
-
| `variant` | `"lg" \| "md" \| "sm" \| "xs" \| "caption"` | `"sm"` | Tamaño del texto |
|
|
24
|
-
| `color` | `"default" \| "muted" \| "primary" \| "success" \| "warning" \| "destructive" \| "waiting" \| "secondary"` | `"default"` | Color del texto |
|
|
25
|
-
| `asChild` | `boolean` | `false` | Renderiza como child element (usa Slot) |
|
|
26
|
-
| `className` | `string` | - | Clases CSS adicionales |
|
|
27
|
-
|
|
28
|
-
**Nota**: Acepta todas las props de `<p>` cuando `asChild=false`
|
|
29
|
-
|
|
30
|
-
## Variantes
|
|
31
|
-
|
|
32
|
-
### Tamaños
|
|
33
|
-
|
|
34
|
-
| Variante | Font Size | Uso |
|
|
35
|
-
| --------- | ------------- | -------------------------- |
|
|
36
|
-
| `lg` | `text-lg` | Headings, texto enfatizado |
|
|
37
|
-
| `md` | `text-base` | Body text |
|
|
38
|
-
| `sm` | `text-sm` | Secondary text, labels (default) |
|
|
39
|
-
| `xs` | `text-xs` | Fine print, detalles |
|
|
40
|
-
| `caption` | `text-[11px]` | Captions, metadata |
|
|
41
|
-
|
|
42
|
-
### Colores
|
|
43
|
-
|
|
44
|
-
| Color | Clase CSS | Uso |
|
|
45
|
-
| ------------- | ------------------------- | -------------------------------------- |
|
|
46
|
-
| `default` | `text-foreground` | Texto principal (default) |
|
|
47
|
-
| `muted` | `text-muted-foreground` | Texto secundario |
|
|
48
|
-
| `primary` | `text-primary` | Texto con color de marca |
|
|
49
|
-
| `success` | `text-success` | Mensajes de éxito, confirmaciones |
|
|
50
|
-
| `warning` | `text-warning` | Advertencias, precauciones |
|
|
51
|
-
| `destructive` | `text-destructive` | Errores, acciones destructivas |
|
|
52
|
-
| `waiting` | `text-waiting` | Estados pendientes, en progreso |
|
|
53
|
-
| `secondary` | `text-secondary-foreground` | Texto secundario alternativo |
|
|
54
|
-
|
|
55
|
-
## Patrones de Uso
|
|
56
|
-
|
|
57
|
-
### Básico
|
|
58
|
-
|
|
59
|
-
```tsx
|
|
60
|
-
import { Typography } from "@adamosuiteservices/ui/typography";
|
|
61
|
-
|
|
62
|
-
<Typography>Default paragraph with no variant.</Typography>
|
|
63
|
-
<Typography variant="lg">Large text for emphasis.</Typography>
|
|
64
|
-
<Typography variant="sm">Small secondary text.</Typography>
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Como Headings
|
|
68
|
-
|
|
69
|
-
```tsx
|
|
70
|
-
// H1
|
|
71
|
-
<Typography asChild variant="lg">
|
|
72
|
-
<h1 className="scroll-m-20 text-4xl font-extrabold tracking-tight">
|
|
73
|
-
Main Page Heading
|
|
74
|
-
</h1>
|
|
75
|
-
</Typography>
|
|
76
|
-
|
|
77
|
-
// H2
|
|
78
|
-
<Typography asChild variant="lg">
|
|
79
|
-
<h2 className="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight">
|
|
80
|
-
Section Heading
|
|
81
|
-
</h2>
|
|
82
|
-
</Typography>
|
|
83
|
-
|
|
84
|
-
// H3
|
|
85
|
-
<Typography asChild variant="md">
|
|
86
|
-
<h3 className="scroll-m-20 text-2xl font-semibold tracking-tight">
|
|
87
|
-
Subsection
|
|
88
|
-
</h3>
|
|
89
|
-
</Typography>
|
|
90
|
-
|
|
91
|
-
// H4
|
|
92
|
-
<Typography asChild variant="md">
|
|
93
|
-
<h4 className="scroll-m-20 text-xl font-semibold tracking-tight">
|
|
94
|
-
Small Heading
|
|
95
|
-
</h4>
|
|
96
|
-
</Typography>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Paragraph
|
|
100
|
-
|
|
101
|
-
```tsx
|
|
102
|
-
<Typography asChild variant="md">
|
|
103
|
-
<p className="leading-7 [&:not(:first-child)]:mt-6">
|
|
104
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
105
|
-
</p>
|
|
106
|
-
</Typography>
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Blockquote
|
|
110
|
-
|
|
111
|
-
```tsx
|
|
112
|
-
<Typography asChild variant="md">
|
|
113
|
-
<blockquote className="mt-6 border-l-2 pl-6 italic">
|
|
114
|
-
"This is a quote with proper styling and emphasis."
|
|
115
|
-
</blockquote>
|
|
116
|
-
</Typography>
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### Inline Code
|
|
120
|
-
|
|
121
|
-
```tsx
|
|
122
|
-
<Typography asChild variant="sm">
|
|
123
|
-
<code className="bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold">
|
|
124
|
-
@radix-ui/react-alert-dialog
|
|
125
|
-
</code>
|
|
126
|
-
</Typography>
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### Lead Text
|
|
130
|
-
|
|
131
|
-
```tsx
|
|
132
|
-
<Typography asChild variant="lg">
|
|
133
|
-
<p className="text-xl text-muted-foreground">
|
|
134
|
-
An introductory paragraph that stands out from regular body text.
|
|
135
|
-
</p>
|
|
136
|
-
</Typography>
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Small / Fine Print
|
|
140
|
-
|
|
141
|
-
```tsx
|
|
142
|
-
<Typography asChild variant="sm">
|
|
143
|
-
<small className="text-sm font-medium leading-none">Email address</small>
|
|
144
|
-
</Typography>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### Muted Text
|
|
148
|
-
|
|
149
|
-
```tsx
|
|
150
|
-
<Typography asChild variant="sm">
|
|
151
|
-
<p className="text-sm text-muted-foreground">
|
|
152
|
-
Secondary information with reduced emphasis.
|
|
153
|
-
</p>
|
|
154
|
-
</Typography>
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Caption
|
|
158
|
-
|
|
159
|
-
```tsx
|
|
160
|
-
<Typography variant="caption">
|
|
161
|
-
Image caption or metadata · Published 2 hours ago
|
|
162
|
-
</Typography>
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Color Variants
|
|
166
|
-
|
|
167
|
-
```tsx
|
|
168
|
-
{/* Default color - Primary text */}
|
|
169
|
-
<Typography variant="md" color="default">
|
|
170
|
-
This is primary text with default color (foreground).
|
|
171
|
-
</Typography>
|
|
172
|
-
|
|
173
|
-
{/* Muted color - Secondary text */}
|
|
174
|
-
<Typography variant="md" color="muted">
|
|
175
|
-
This is secondary text with muted color (muted-foreground).
|
|
176
|
-
</Typography>
|
|
177
|
-
|
|
178
|
-
{/* Primary brand color */}
|
|
179
|
-
<Typography variant="md" color="primary">
|
|
180
|
-
Important information with brand color.
|
|
181
|
-
</Typography>
|
|
182
|
-
|
|
183
|
-
{/* Success messages */}
|
|
184
|
-
<Typography variant="md" color="success">
|
|
185
|
-
✓ Operation completed successfully!
|
|
186
|
-
</Typography>
|
|
187
|
-
|
|
188
|
-
{/* Warning messages */}
|
|
189
|
-
<Typography variant="md" color="warning">
|
|
190
|
-
⚠ Please review this information carefully.
|
|
191
|
-
</Typography>
|
|
192
|
-
|
|
193
|
-
{/* Error messages */}
|
|
194
|
-
<Typography variant="md" color="destructive">
|
|
195
|
-
✕ Error: File could not be uploaded.
|
|
196
|
-
</Typography>
|
|
197
|
-
|
|
198
|
-
{/* Pending states */}
|
|
199
|
-
<Typography variant="md" color="waiting">
|
|
200
|
-
⏳ Processing your request...
|
|
201
|
-
</Typography>
|
|
202
|
-
|
|
203
|
-
{/* Combining with sizes */}
|
|
204
|
-
<Typography variant="lg" color="primary">
|
|
205
|
-
Large heading with brand color
|
|
206
|
-
</Typography>
|
|
207
|
-
|
|
208
|
-
<Typography variant="sm" color="muted">
|
|
209
|
-
Small secondary information
|
|
210
|
-
</Typography>
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
## Casos de Uso
|
|
214
|
-
|
|
215
|
-
**Headings**: H1-H6 con tamaños consistentes
|
|
216
|
-
**Body text**: Párrafos y contenido principal
|
|
217
|
-
**Labels**: Etiquetas de formularios
|
|
218
|
-
**Captions**: Descripciones de imágenes, metadata
|
|
219
|
-
**Fine print**: Términos, condiciones, notas
|
|
220
|
-
**Quotes**: Citas y testimonios
|
|
221
|
-
**Secondary text**: Información complementaria con `color="muted"`
|
|
222
|
-
|
|
223
|
-
## Mejores Prácticas
|
|
224
|
-
|
|
225
|
-
### Uso de Colores
|
|
226
|
-
|
|
227
|
-
```tsx
|
|
228
|
-
{/* ✅ Correcto - Color default para contenido principal */}
|
|
229
|
-
<Typography variant="md" color="default">
|
|
230
|
-
This is the main content that users should read.
|
|
231
|
-
</Typography>
|
|
232
|
-
|
|
233
|
-
{/* ✅ Correcto - Color muted para información secundaria */}
|
|
234
|
-
<Typography variant="sm" color="muted">
|
|
235
|
-
Optional description or helper text.
|
|
236
|
-
</Typography>
|
|
237
|
-
|
|
238
|
-
{/* ✅ Correcto - Combinar tamaño y color apropiadamente */}
|
|
239
|
-
<div>
|
|
240
|
-
<Typography variant="lg" color="default">Main Heading</Typography>
|
|
241
|
-
<Typography variant="sm" color="muted">Subtitle or description</Typography>
|
|
242
|
-
</div>
|
|
243
|
-
|
|
244
|
-
{/* ⚠️ Evitar - Color muted en contenido principal */}
|
|
245
|
-
<Typography variant="md" color="muted">
|
|
246
|
-
Important information that should be easily readable
|
|
247
|
-
</Typography>
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Jerarquía Visual
|
|
251
|
-
|
|
252
|
-
```tsx
|
|
253
|
-
{/* ✅ Correcto - Jerarquía clara con tamaño y color */}
|
|
254
|
-
<article>
|
|
255
|
-
<Typography variant="lg" color="default">Article Title</Typography>
|
|
256
|
-
<Typography variant="sm" color="muted">Published 2 hours ago</Typography>
|
|
257
|
-
<Typography variant="md" color="default">
|
|
258
|
-
Article content goes here with proper emphasis.
|
|
259
|
-
</Typography>
|
|
260
|
-
</article>
|
|
261
|
-
|
|
262
|
-
{/* ✅ Correcto - Lista con estados */}
|
|
263
|
-
<div>
|
|
264
|
-
<Typography variant="md" color="default">Active item</Typography>
|
|
265
|
-
<Typography variant="md" color="muted">Inactive item</Typography>
|
|
266
|
-
</div>
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
## Estilos Base
|
|
270
|
-
|
|
271
|
-
### Tamaños de Texto
|
|
272
|
-
|
|
273
|
-
- **lg**: 18px (text-lg)
|
|
274
|
-
- **md**: 16px (text-base)
|
|
275
|
-
- **sm**: 14px (text-sm) - **default**
|
|
276
|
-
- **xs**: 12px (text-xs)
|
|
277
|
-
- **caption**: 11px (text-[11px])
|
|
278
|
-
|
|
279
|
-
### Colores de Texto
|
|
280
|
-
|
|
281
|
-
- **default**: text-foreground - **default**
|
|
282
|
-
- **muted**: text-muted-foreground
|
|
283
|
-
- **primary**: text-primary
|
|
284
|
-
- **success**: text-success
|
|
285
|
-
- **warning**: text-warning
|
|
286
|
-
- **destructive**: text-destructive
|
|
287
|
-
- **waiting**: text-waiting
|
|
288
|
-
- **secondary**: text-secondary-foreground
|
|
289
|
-
|
|
290
|
-
## Accesibilidad
|
|
291
|
-
|
|
292
|
-
- ✅ **Semantic HTML**: Usa `asChild` con elementos semánticos apropiados
|
|
293
|
-
- ✅ **Heading hierarchy**: Mantén orden lógico de headings (H1 → H2 → H3)
|
|
294
|
-
- ✅ **Contrast**: Asegura contraste suficiente con backgrounds
|
|
295
|
-
- ⚠️ **No usar solo para estilo**: Usa elementos semánticos apropiados
|
|
296
|
-
|
|
297
|
-
## Notas de Implementación
|
|
298
|
-
|
|
299
|
-
- **CVA**: Variantes con class-variance-authority
|
|
300
|
-
- **Slot**: Usa `@radix-ui/react-slot` para `asChild`
|
|
301
|
-
- **Default element**: `<p>` cuando `asChild=false`
|
|
302
|
-
- **Default variants**: `variant="sm"` y `color="default"`
|
|
303
|
-
- **Data attribute**: `data-slot="typography"` para identificación
|
|
304
|
-
- **Color variants**: 8 variantes de color para diferentes contextos semánticos:
|
|
305
|
-
- Neutral: default, muted, secondary
|
|
306
|
-
- Brand: primary
|
|
307
|
-
- States: success, warning, destructive, waiting
|
|
308
|
-
- **Extensibilidad**: Combina con utility classes para estilos adicionales (weight, spacing, etc.)
|
|
309
|
-
|
|
310
|
-
## Troubleshooting
|
|
311
|
-
|
|
312
|
-
**Variant no aplica**: Verifica que variant esté entre las opciones válidas
|
|
313
|
-
**asChild no funciona**: Asegura que child sea un elemento válido, no texto plano
|
|
314
|
-
**Line height incorrecto**: Typography define line-heights base, pueden ser sobrescritos con className
|
|
315
|
-
**No semantic HTML**: Usa `asChild` con elementos apropiados (h1, h2, p, etc.)
|
|
316
|
-
|
|
317
|
-
## Referencias
|
|
318
|
-
|
|
319
|
-
- **shadcn/ui Typography**: <https://ui.shadcn.com/docs/components/typography>
|
|
320
|
-
- **Tailwind Typography**: <https://tailwindcss.com/docs/typography-plugin>
|
|
1
|
+
# Typography
|
|
2
|
+
|
|
3
|
+
Sistema de estilos de texto con variantes de tamaño. Wrapper flexible con soporte `asChild`.
|
|
4
|
+
|
|
5
|
+
## Importación
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Typography } from "@adamosuiteservices/ui/typography";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Anatomía
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<Typography variant="md">Default paragraph text.</Typography>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Componentes**: 1 (Typography)
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| Prop | Tipo | Default | Descripción |
|
|
22
|
+
| ----------- | ------------------------------------------- | ----------- | --------------------------------------- |
|
|
23
|
+
| `variant` | `"lg" \| "md" \| "sm" \| "xs" \| "caption"` | `"sm"` | Tamaño del texto |
|
|
24
|
+
| `color` | `"default" \| "muted" \| "primary" \| "success" \| "warning" \| "destructive" \| "waiting" \| "secondary"` | `"default"` | Color del texto |
|
|
25
|
+
| `asChild` | `boolean` | `false` | Renderiza como child element (usa Slot) |
|
|
26
|
+
| `className` | `string` | - | Clases CSS adicionales |
|
|
27
|
+
|
|
28
|
+
**Nota**: Acepta todas las props de `<p>` cuando `asChild=false`
|
|
29
|
+
|
|
30
|
+
## Variantes
|
|
31
|
+
|
|
32
|
+
### Tamaños
|
|
33
|
+
|
|
34
|
+
| Variante | Font Size | Uso |
|
|
35
|
+
| --------- | ------------- | -------------------------- |
|
|
36
|
+
| `lg` | `text-lg` | Headings, texto enfatizado |
|
|
37
|
+
| `md` | `text-base` | Body text |
|
|
38
|
+
| `sm` | `text-sm` | Secondary text, labels (default) |
|
|
39
|
+
| `xs` | `text-xs` | Fine print, detalles |
|
|
40
|
+
| `caption` | `text-[11px]` | Captions, metadata |
|
|
41
|
+
|
|
42
|
+
### Colores
|
|
43
|
+
|
|
44
|
+
| Color | Clase CSS | Uso |
|
|
45
|
+
| ------------- | ------------------------- | -------------------------------------- |
|
|
46
|
+
| `default` | `text-foreground` | Texto principal (default) |
|
|
47
|
+
| `muted` | `text-muted-foreground` | Texto secundario |
|
|
48
|
+
| `primary` | `text-primary` | Texto con color de marca |
|
|
49
|
+
| `success` | `text-success` | Mensajes de éxito, confirmaciones |
|
|
50
|
+
| `warning` | `text-warning` | Advertencias, precauciones |
|
|
51
|
+
| `destructive` | `text-destructive` | Errores, acciones destructivas |
|
|
52
|
+
| `waiting` | `text-waiting` | Estados pendientes, en progreso |
|
|
53
|
+
| `secondary` | `text-secondary-foreground` | Texto secundario alternativo |
|
|
54
|
+
|
|
55
|
+
## Patrones de Uso
|
|
56
|
+
|
|
57
|
+
### Básico
|
|
58
|
+
|
|
59
|
+
```tsx
|
|
60
|
+
import { Typography } from "@adamosuiteservices/ui/typography";
|
|
61
|
+
|
|
62
|
+
<Typography>Default paragraph with no variant.</Typography>
|
|
63
|
+
<Typography variant="lg">Large text for emphasis.</Typography>
|
|
64
|
+
<Typography variant="sm">Small secondary text.</Typography>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Como Headings
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
// H1
|
|
71
|
+
<Typography asChild variant="lg">
|
|
72
|
+
<h1 className="scroll-m-20 text-4xl font-extrabold tracking-tight">
|
|
73
|
+
Main Page Heading
|
|
74
|
+
</h1>
|
|
75
|
+
</Typography>
|
|
76
|
+
|
|
77
|
+
// H2
|
|
78
|
+
<Typography asChild variant="lg">
|
|
79
|
+
<h2 className="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight">
|
|
80
|
+
Section Heading
|
|
81
|
+
</h2>
|
|
82
|
+
</Typography>
|
|
83
|
+
|
|
84
|
+
// H3
|
|
85
|
+
<Typography asChild variant="md">
|
|
86
|
+
<h3 className="scroll-m-20 text-2xl font-semibold tracking-tight">
|
|
87
|
+
Subsection
|
|
88
|
+
</h3>
|
|
89
|
+
</Typography>
|
|
90
|
+
|
|
91
|
+
// H4
|
|
92
|
+
<Typography asChild variant="md">
|
|
93
|
+
<h4 className="scroll-m-20 text-xl font-semibold tracking-tight">
|
|
94
|
+
Small Heading
|
|
95
|
+
</h4>
|
|
96
|
+
</Typography>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Paragraph
|
|
100
|
+
|
|
101
|
+
```tsx
|
|
102
|
+
<Typography asChild variant="md">
|
|
103
|
+
<p className="leading-7 [&:not(:first-child)]:mt-6">
|
|
104
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
105
|
+
</p>
|
|
106
|
+
</Typography>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Blockquote
|
|
110
|
+
|
|
111
|
+
```tsx
|
|
112
|
+
<Typography asChild variant="md">
|
|
113
|
+
<blockquote className="mt-6 border-l-2 pl-6 italic">
|
|
114
|
+
"This is a quote with proper styling and emphasis."
|
|
115
|
+
</blockquote>
|
|
116
|
+
</Typography>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Inline Code
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
<Typography asChild variant="sm">
|
|
123
|
+
<code className="bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold">
|
|
124
|
+
@radix-ui/react-alert-dialog
|
|
125
|
+
</code>
|
|
126
|
+
</Typography>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Lead Text
|
|
130
|
+
|
|
131
|
+
```tsx
|
|
132
|
+
<Typography asChild variant="lg">
|
|
133
|
+
<p className="text-xl text-muted-foreground">
|
|
134
|
+
An introductory paragraph that stands out from regular body text.
|
|
135
|
+
</p>
|
|
136
|
+
</Typography>
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Small / Fine Print
|
|
140
|
+
|
|
141
|
+
```tsx
|
|
142
|
+
<Typography asChild variant="sm">
|
|
143
|
+
<small className="text-sm font-medium leading-none">Email address</small>
|
|
144
|
+
</Typography>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Muted Text
|
|
148
|
+
|
|
149
|
+
```tsx
|
|
150
|
+
<Typography asChild variant="sm">
|
|
151
|
+
<p className="text-sm text-muted-foreground">
|
|
152
|
+
Secondary information with reduced emphasis.
|
|
153
|
+
</p>
|
|
154
|
+
</Typography>
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Caption
|
|
158
|
+
|
|
159
|
+
```tsx
|
|
160
|
+
<Typography variant="caption">
|
|
161
|
+
Image caption or metadata · Published 2 hours ago
|
|
162
|
+
</Typography>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Color Variants
|
|
166
|
+
|
|
167
|
+
```tsx
|
|
168
|
+
{/* Default color - Primary text */}
|
|
169
|
+
<Typography variant="md" color="default">
|
|
170
|
+
This is primary text with default color (foreground).
|
|
171
|
+
</Typography>
|
|
172
|
+
|
|
173
|
+
{/* Muted color - Secondary text */}
|
|
174
|
+
<Typography variant="md" color="muted">
|
|
175
|
+
This is secondary text with muted color (muted-foreground).
|
|
176
|
+
</Typography>
|
|
177
|
+
|
|
178
|
+
{/* Primary brand color */}
|
|
179
|
+
<Typography variant="md" color="primary">
|
|
180
|
+
Important information with brand color.
|
|
181
|
+
</Typography>
|
|
182
|
+
|
|
183
|
+
{/* Success messages */}
|
|
184
|
+
<Typography variant="md" color="success">
|
|
185
|
+
✓ Operation completed successfully!
|
|
186
|
+
</Typography>
|
|
187
|
+
|
|
188
|
+
{/* Warning messages */}
|
|
189
|
+
<Typography variant="md" color="warning">
|
|
190
|
+
⚠ Please review this information carefully.
|
|
191
|
+
</Typography>
|
|
192
|
+
|
|
193
|
+
{/* Error messages */}
|
|
194
|
+
<Typography variant="md" color="destructive">
|
|
195
|
+
✕ Error: File could not be uploaded.
|
|
196
|
+
</Typography>
|
|
197
|
+
|
|
198
|
+
{/* Pending states */}
|
|
199
|
+
<Typography variant="md" color="waiting">
|
|
200
|
+
⏳ Processing your request...
|
|
201
|
+
</Typography>
|
|
202
|
+
|
|
203
|
+
{/* Combining with sizes */}
|
|
204
|
+
<Typography variant="lg" color="primary">
|
|
205
|
+
Large heading with brand color
|
|
206
|
+
</Typography>
|
|
207
|
+
|
|
208
|
+
<Typography variant="sm" color="muted">
|
|
209
|
+
Small secondary information
|
|
210
|
+
</Typography>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## Casos de Uso
|
|
214
|
+
|
|
215
|
+
**Headings**: H1-H6 con tamaños consistentes
|
|
216
|
+
**Body text**: Párrafos y contenido principal
|
|
217
|
+
**Labels**: Etiquetas de formularios
|
|
218
|
+
**Captions**: Descripciones de imágenes, metadata
|
|
219
|
+
**Fine print**: Términos, condiciones, notas
|
|
220
|
+
**Quotes**: Citas y testimonios
|
|
221
|
+
**Secondary text**: Información complementaria con `color="muted"`
|
|
222
|
+
|
|
223
|
+
## Mejores Prácticas
|
|
224
|
+
|
|
225
|
+
### Uso de Colores
|
|
226
|
+
|
|
227
|
+
```tsx
|
|
228
|
+
{/* ✅ Correcto - Color default para contenido principal */}
|
|
229
|
+
<Typography variant="md" color="default">
|
|
230
|
+
This is the main content that users should read.
|
|
231
|
+
</Typography>
|
|
232
|
+
|
|
233
|
+
{/* ✅ Correcto - Color muted para información secundaria */}
|
|
234
|
+
<Typography variant="sm" color="muted">
|
|
235
|
+
Optional description or helper text.
|
|
236
|
+
</Typography>
|
|
237
|
+
|
|
238
|
+
{/* ✅ Correcto - Combinar tamaño y color apropiadamente */}
|
|
239
|
+
<div>
|
|
240
|
+
<Typography variant="lg" color="default">Main Heading</Typography>
|
|
241
|
+
<Typography variant="sm" color="muted">Subtitle or description</Typography>
|
|
242
|
+
</div>
|
|
243
|
+
|
|
244
|
+
{/* ⚠️ Evitar - Color muted en contenido principal */}
|
|
245
|
+
<Typography variant="md" color="muted">
|
|
246
|
+
Important information that should be easily readable
|
|
247
|
+
</Typography>
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Jerarquía Visual
|
|
251
|
+
|
|
252
|
+
```tsx
|
|
253
|
+
{/* ✅ Correcto - Jerarquía clara con tamaño y color */}
|
|
254
|
+
<article>
|
|
255
|
+
<Typography variant="lg" color="default">Article Title</Typography>
|
|
256
|
+
<Typography variant="sm" color="muted">Published 2 hours ago</Typography>
|
|
257
|
+
<Typography variant="md" color="default">
|
|
258
|
+
Article content goes here with proper emphasis.
|
|
259
|
+
</Typography>
|
|
260
|
+
</article>
|
|
261
|
+
|
|
262
|
+
{/* ✅ Correcto - Lista con estados */}
|
|
263
|
+
<div>
|
|
264
|
+
<Typography variant="md" color="default">Active item</Typography>
|
|
265
|
+
<Typography variant="md" color="muted">Inactive item</Typography>
|
|
266
|
+
</div>
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## Estilos Base
|
|
270
|
+
|
|
271
|
+
### Tamaños de Texto
|
|
272
|
+
|
|
273
|
+
- **lg**: 18px (text-lg)
|
|
274
|
+
- **md**: 16px (text-base)
|
|
275
|
+
- **sm**: 14px (text-sm) - **default**
|
|
276
|
+
- **xs**: 12px (text-xs)
|
|
277
|
+
- **caption**: 11px (text-[11px])
|
|
278
|
+
|
|
279
|
+
### Colores de Texto
|
|
280
|
+
|
|
281
|
+
- **default**: text-foreground - **default**
|
|
282
|
+
- **muted**: text-muted-foreground
|
|
283
|
+
- **primary**: text-primary
|
|
284
|
+
- **success**: text-success
|
|
285
|
+
- **warning**: text-warning
|
|
286
|
+
- **destructive**: text-destructive
|
|
287
|
+
- **waiting**: text-waiting
|
|
288
|
+
- **secondary**: text-secondary-foreground
|
|
289
|
+
|
|
290
|
+
## Accesibilidad
|
|
291
|
+
|
|
292
|
+
- ✅ **Semantic HTML**: Usa `asChild` con elementos semánticos apropiados
|
|
293
|
+
- ✅ **Heading hierarchy**: Mantén orden lógico de headings (H1 → H2 → H3)
|
|
294
|
+
- ✅ **Contrast**: Asegura contraste suficiente con backgrounds
|
|
295
|
+
- ⚠️ **No usar solo para estilo**: Usa elementos semánticos apropiados
|
|
296
|
+
|
|
297
|
+
## Notas de Implementación
|
|
298
|
+
|
|
299
|
+
- **CVA**: Variantes con class-variance-authority
|
|
300
|
+
- **Slot**: Usa `@radix-ui/react-slot` para `asChild`
|
|
301
|
+
- **Default element**: `<p>` cuando `asChild=false`
|
|
302
|
+
- **Default variants**: `variant="sm"` y `color="default"`
|
|
303
|
+
- **Data attribute**: `data-slot="typography"` para identificación
|
|
304
|
+
- **Color variants**: 8 variantes de color para diferentes contextos semánticos:
|
|
305
|
+
- Neutral: default, muted, secondary
|
|
306
|
+
- Brand: primary
|
|
307
|
+
- States: success, warning, destructive, waiting
|
|
308
|
+
- **Extensibilidad**: Combina con utility classes para estilos adicionales (weight, spacing, etc.)
|
|
309
|
+
|
|
310
|
+
## Troubleshooting
|
|
311
|
+
|
|
312
|
+
**Variant no aplica**: Verifica que variant esté entre las opciones válidas
|
|
313
|
+
**asChild no funciona**: Asegura que child sea un elemento válido, no texto plano
|
|
314
|
+
**Line height incorrecto**: Typography define line-heights base, pueden ser sobrescritos con className
|
|
315
|
+
**No semantic HTML**: Usa `asChild` con elementos apropiados (h1, h2, p, etc.)
|
|
316
|
+
|
|
317
|
+
## Referencias
|
|
318
|
+
|
|
319
|
+
- **shadcn/ui Typography**: <https://ui.shadcn.com/docs/components/typography>
|
|
320
|
+
- **Tailwind Typography**: <https://tailwindcss.com/docs/typography-plugin>
|