@adamosuiteservices/ui 1.8.13 → 1.9.14

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 (144) hide show
  1. package/dist/components/ui/icon/icon.d.ts +11 -0
  2. package/dist/components/ui/icon/icon.stories.d.ts +55 -0
  3. package/dist/components/ui/icon/index.d.ts +1 -0
  4. package/dist/components/ui/input-group/input-group.d.ts +1 -1
  5. package/dist/custom-layered-styles.css +1 -1
  6. package/dist/icon.cjs +6 -0
  7. package/dist/icon.js +36 -0
  8. package/dist/icons.css +1 -0
  9. package/dist/styles.css +1 -1
  10. package/docs/AI-GUIDE.md +321 -321
  11. package/docs/components/layout/sidebar.md +404 -404
  12. package/docs/components/layout/toaster.md +436 -436
  13. package/docs/components/ui/accordion-rounded.md +583 -583
  14. package/docs/components/ui/accordion.md +267 -267
  15. package/docs/components/ui/alert.md +671 -671
  16. package/docs/components/ui/avatar.md +588 -588
  17. package/docs/components/ui/badge.md +1024 -1024
  18. package/docs/components/ui/button-group.md +1002 -1002
  19. package/docs/components/ui/button.md +1078 -1078
  20. package/docs/components/ui/calendar.md +1159 -1159
  21. package/docs/components/ui/card.md +1265 -1265
  22. package/docs/components/ui/checkbox.md +292 -292
  23. package/docs/components/ui/collapsible.md +320 -320
  24. package/docs/components/ui/command.md +454 -454
  25. package/docs/components/ui/context-menu.md +540 -540
  26. package/docs/components/ui/dialog.md +628 -628
  27. package/docs/components/ui/dropdown-menu.md +731 -731
  28. package/docs/components/ui/field.md +706 -706
  29. package/docs/components/ui/hover-card.md +446 -446
  30. package/docs/components/ui/icon.md +502 -0
  31. package/docs/components/ui/input-group.md +509 -509
  32. package/docs/components/ui/input.md +362 -362
  33. package/docs/components/ui/kbd.md +434 -434
  34. package/docs/components/ui/label.md +359 -359
  35. package/docs/components/ui/pagination.md +650 -650
  36. package/docs/components/ui/popover.md +536 -536
  37. package/docs/components/ui/progress.md +182 -182
  38. package/docs/components/ui/radio-group.md +311 -311
  39. package/docs/components/ui/select.md +352 -352
  40. package/docs/components/ui/separator.md +214 -214
  41. package/docs/components/ui/sheet.md +142 -142
  42. package/docs/components/ui/skeleton.md +140 -140
  43. package/docs/components/ui/slider.md +341 -341
  44. package/docs/components/ui/spinner.md +170 -170
  45. package/docs/components/ui/switch.md +402 -402
  46. package/docs/components/ui/table.md +183 -183
  47. package/docs/components/ui/tabs-underline.md +106 -106
  48. package/docs/components/ui/tabs.md +122 -122
  49. package/docs/components/ui/textarea.md +243 -243
  50. package/docs/components/ui/toggle.md +243 -243
  51. package/docs/components/ui/tooltip.md +320 -320
  52. package/docs/components/ui/typography.md +191 -191
  53. package/package.json +6 -5
  54. package/dist/components/icons/account-balance-icon.d.ts +0 -3
  55. package/dist/components/icons/account-icon.d.ts +0 -3
  56. package/dist/components/icons/add-circle-icon.d.ts +0 -3
  57. package/dist/components/icons/alarm-icon.d.ts +0 -3
  58. package/dist/components/icons/archive-icon.d.ts +0 -3
  59. package/dist/components/icons/arrow-back-icon.d.ts +0 -3
  60. package/dist/components/icons/arrow-circle-up-icon.d.ts +0 -3
  61. package/dist/components/icons/arrow-forward-icon.d.ts +0 -3
  62. package/dist/components/icons/arrow-outward-icon.d.ts +0 -3
  63. package/dist/components/icons/article-icon.d.ts +0 -3
  64. package/dist/components/icons/attach-file-icon.d.ts +0 -3
  65. package/dist/components/icons/autorenew-icon.d.ts +0 -3
  66. package/dist/components/icons/bookmark-icon.d.ts +0 -3
  67. package/dist/components/icons/calculate-icon.d.ts +0 -3
  68. package/dist/components/icons/calendar-today-icon.d.ts +0 -3
  69. package/dist/components/icons/call-split-icon.d.ts +0 -3
  70. package/dist/components/icons/cancel-filled-icon.d.ts +0 -3
  71. package/dist/components/icons/cancel-icon.d.ts +0 -3
  72. package/dist/components/icons/check-circle-icon.d.ts +0 -3
  73. package/dist/components/icons/check-icon.d.ts +0 -3
  74. package/dist/components/icons/chevron-back-icon.d.ts +0 -3
  75. package/dist/components/icons/chevron-down-icon.d.ts +0 -3
  76. package/dist/components/icons/chevron-forward-icon.d.ts +0 -3
  77. package/dist/components/icons/chevron-up-icon.d.ts +0 -3
  78. package/dist/components/icons/clarify-icon.d.ts +0 -3
  79. package/dist/components/icons/clock-icon.d.ts +0 -3
  80. package/dist/components/icons/close-icon.d.ts +0 -3
  81. package/dist/components/icons/confirmation-number-icon.d.ts +0 -3
  82. package/dist/components/icons/contacts-icon.d.ts +0 -3
  83. package/dist/components/icons/contract-delete-icon.d.ts +0 -3
  84. package/dist/components/icons/copy-icon.d.ts +0 -3
  85. package/dist/components/icons/do-not-touch-icon.d.ts +0 -3
  86. package/dist/components/icons/download-icon.d.ts +0 -3
  87. package/dist/components/icons/dragger-icon.d.ts +0 -3
  88. package/dist/components/icons/edit-icon.d.ts +0 -3
  89. package/dist/components/icons/edit-square-icon.d.ts +0 -3
  90. package/dist/components/icons/exclamation-icon.d.ts +0 -3
  91. package/dist/components/icons/expand-circle-right-icon.d.ts +0 -3
  92. package/dist/components/icons/feature-search-icon.d.ts +0 -3
  93. package/dist/components/icons/filter-icon.d.ts +0 -3
  94. package/dist/components/icons/folder-icon.d.ts +0 -3
  95. package/dist/components/icons/folder-open-icon.d.ts +0 -3
  96. package/dist/components/icons/format-list-bulleted-icon.d.ts +0 -3
  97. package/dist/components/icons/hamburger-menu-icon.d.ts +0 -3
  98. package/dist/components/icons/help-icon.d.ts +0 -3
  99. package/dist/components/icons/hide-pass-icon.d.ts +0 -3
  100. package/dist/components/icons/home-icon.d.ts +0 -3
  101. package/dist/components/icons/id-card-icon.d.ts +0 -3
  102. package/dist/components/icons/index.d.ts +0 -88
  103. package/dist/components/icons/info-icon.d.ts +0 -3
  104. package/dist/components/icons/kid-star-icon.d.ts +0 -3
  105. package/dist/components/icons/language-icon.d.ts +0 -3
  106. package/dist/components/icons/last-page-icon.d.ts +0 -3
  107. package/dist/components/icons/layers-icon.d.ts +0 -3
  108. package/dist/components/icons/location-icon.d.ts +0 -3
  109. package/dist/components/icons/mail-icon.d.ts +0 -3
  110. package/dist/components/icons/manage-search-icon.d.ts +0 -3
  111. package/dist/components/icons/menu-icon.d.ts +0 -3
  112. package/dist/components/icons/message-icon.d.ts +0 -3
  113. package/dist/components/icons/metrics-icon.d.ts +0 -3
  114. package/dist/components/icons/mic-icon.d.ts +0 -3
  115. package/dist/components/icons/minus-icon.d.ts +0 -3
  116. package/dist/components/icons/mode-comment-icon.d.ts +0 -3
  117. package/dist/components/icons/money-icon.d.ts +0 -3
  118. package/dist/components/icons/monitoring-icon.d.ts +0 -3
  119. package/dist/components/icons/more-icon.d.ts +0 -3
  120. package/dist/components/icons/notifications-icon.d.ts +0 -3
  121. package/dist/components/icons/open-in-new-icon.d.ts +0 -3
  122. package/dist/components/icons/palette-icon.d.ts +0 -3
  123. package/dist/components/icons/password-icon.d.ts +0 -3
  124. package/dist/components/icons/pending-icon.d.ts +0 -3
  125. package/dist/components/icons/person-add-icon.d.ts +0 -3
  126. package/dist/components/icons/person-search-icon.d.ts +0 -3
  127. package/dist/components/icons/photo-icon.d.ts +0 -3
  128. package/dist/components/icons/plus-icon.d.ts +0 -3
  129. package/dist/components/icons/policy-icon.d.ts +0 -3
  130. package/dist/components/icons/publish-icon.d.ts +0 -3
  131. package/dist/components/icons/ready-icon.d.ts +0 -3
  132. package/dist/components/icons/receipt-icon.d.ts +0 -3
  133. package/dist/components/icons/receive-icon.d.ts +0 -3
  134. package/dist/components/icons/refresh-icon.d.ts +0 -3
  135. package/dist/components/icons/search-icon.d.ts +0 -3
  136. package/dist/components/icons/see-icon.d.ts +0 -3
  137. package/dist/components/icons/send-icon.d.ts +0 -3
  138. package/dist/components/icons/settings-icon.d.ts +0 -3
  139. package/dist/components/icons/shield-icon.d.ts +0 -3
  140. package/dist/components/icons/swap-horiz-icon.d.ts +0 -3
  141. package/dist/components/icons/tag-icon.d.ts +0 -3
  142. package/dist/components/icons/trash-icon.d.ts +0 -3
  143. package/dist/icons.cjs +0 -1
  144. package/dist/icons.js +0 -1507
@@ -1,142 +1,142 @@
1
- # Sheet
2
-
3
- Panel lateral deslizable (drawer). Basado en Radix UI Dialog con 4 direcciones.
4
-
5
- ## Descripción
6
-
7
- El componente `Sheet` muestra un panel lateral deslizante, similar a un drawer.
8
-
9
- ## Importación
10
-
11
- ```typescript
12
- import {
13
- Sheet,
14
- SheetContent,
15
- SheetDescription,
16
- SheetHeader,
17
- SheetTitle,
18
- SheetTrigger,
19
- SheetFooter,
20
- SheetClose,
21
- } from "@adamosuiteservices/ui/sheet";
22
- ```
23
-
24
- ## Anatomía
25
-
26
- ```tsx
27
- <Sheet>
28
- <SheetTrigger>Open</SheetTrigger>
29
- <SheetContent>
30
- <SheetHeader>
31
- <SheetTitle>Are you sure?</SheetTitle>
32
- <SheetDescription>This action cannot be undone.</SheetDescription>
33
- </SheetHeader>
34
- </SheetContent>
35
- </Sheet>
36
- ```
37
-
38
- **Componentes**: 8 (Sheet, SheetTrigger, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, SheetClose)
39
-
40
- ## Props
41
-
42
- ### Sheet (Root)
43
-
44
- | Prop | Tipo | Descripción |
45
- | -------------- | ------------------------- | ------------------- |
46
- | `open` | `boolean` | Estado controlado |
47
- | `defaultOpen` | `boolean` | Estado inicial |
48
- | `onOpenChange` | `(open: boolean) => void` | Callback al cambiar |
49
-
50
- ### SheetContent
51
-
52
- | Prop | Tipo | Descripción |
53
- | ----------------- | ---------------------------------------- | -------------------------------- |
54
- | `side` | `"top" \| "right" \| "bottom" \| "left"` | Dirección (default: "right") |
55
- | `showCloseButton` | `boolean` | Mostrar X button (default: true) |
56
-
57
- ## Patrones de Uso
58
-
59
- ### Desde Derecha (Default)
60
-
61
- ```tsx
62
- <Sheet>
63
- <SheetTrigger asChild>
64
- <Button>Open Sheet</Button>
65
- </SheetTrigger>
66
- <SheetContent>
67
- <SheetHeader>
68
- <SheetTitle>Settings</SheetTitle>
69
- <SheetDescription>Configure your preferences</SheetDescription>
70
- </SheetHeader>
71
- </SheetContent>
72
- </Sheet>
73
- ```
74
-
75
- ### Desde Izquierda
76
-
77
- ```tsx
78
- <Sheet>
79
- <SheetTrigger>Open Left</SheetTrigger>
80
- <SheetContent side="left">
81
- <SheetHeader>
82
- <SheetTitle>Navigation</SheetTitle>
83
- </SheetHeader>
84
- </SheetContent>
85
- </Sheet>
86
- ```
87
-
88
- ### Desde Arriba/Abajo
89
-
90
- ```tsx
91
- <Sheet>
92
- <SheetTrigger>Open Top</SheetTrigger>
93
- <SheetContent side="top">
94
- <SheetHeader>
95
- <SheetTitle>Top Sheet</SheetTitle>
96
- </SheetHeader>
97
- </SheetContent>
98
- </Sheet>
99
-
100
- <Sheet>
101
- <SheetTrigger>Open Bottom</SheetTrigger>
102
- <SheetContent side="bottom">
103
- <SheetHeader>
104
- <SheetTitle>Bottom Sheet</SheetTitle>
105
- </SheetHeader>
106
- </SheetContent>
107
- </Sheet>
108
- ```
109
-
110
- ### Con Footer
111
-
112
- ```tsx
113
- <Sheet>
114
- <SheetTrigger>Edit Profile</SheetTrigger>
115
- <SheetContent>
116
- <SheetHeader>
117
- <SheetTitle>Edit profile</SheetTitle>
118
- <SheetDescription>Make changes to your profile here.</SheetDescription>
119
- </SheetHeader>
120
- {/* Form fields */}
121
- <SheetFooter>
122
- <SheetClose asChild>
123
- <Button variant="outline">Cancel</Button>
124
- </SheetClose>
125
- <Button type="submit">Save changes</Button>
126
- </SheetFooter>
127
- </SheetContent>
128
- </Sheet>
129
- ```
130
-
131
- ## Casos de Uso
132
-
133
- **Navigation menu**: Menú móvil
134
- **Filters**: Panel de filtros
135
- **Details**: Vista de detalles
136
- **Forms**: Formularios laterales
137
- **Settings**: Panel de configuración
138
-
139
- ## Referencias
140
-
141
- - **Radix UI Dialog**: <https://www.radix-ui.com/primitives/docs/components/dialog>
142
- - **shadcn/ui Sheet**: <https://ui.shadcn.com/docs/components/sheet>
1
+ # Sheet
2
+
3
+ Panel lateral deslizable (drawer). Basado en Radix UI Dialog con 4 direcciones.
4
+
5
+ ## Descripción
6
+
7
+ El componente `Sheet` muestra un panel lateral deslizante, similar a un drawer.
8
+
9
+ ## Importación
10
+
11
+ ```typescript
12
+ import {
13
+ Sheet,
14
+ SheetContent,
15
+ SheetDescription,
16
+ SheetHeader,
17
+ SheetTitle,
18
+ SheetTrigger,
19
+ SheetFooter,
20
+ SheetClose,
21
+ } from "@adamosuiteservices/ui/sheet";
22
+ ```
23
+
24
+ ## Anatomía
25
+
26
+ ```tsx
27
+ <Sheet>
28
+ <SheetTrigger>Open</SheetTrigger>
29
+ <SheetContent>
30
+ <SheetHeader>
31
+ <SheetTitle>Are you sure?</SheetTitle>
32
+ <SheetDescription>This action cannot be undone.</SheetDescription>
33
+ </SheetHeader>
34
+ </SheetContent>
35
+ </Sheet>
36
+ ```
37
+
38
+ **Componentes**: 8 (Sheet, SheetTrigger, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, SheetClose)
39
+
40
+ ## Props
41
+
42
+ ### Sheet (Root)
43
+
44
+ | Prop | Tipo | Descripción |
45
+ | -------------- | ------------------------- | ------------------- |
46
+ | `open` | `boolean` | Estado controlado |
47
+ | `defaultOpen` | `boolean` | Estado inicial |
48
+ | `onOpenChange` | `(open: boolean) => void` | Callback al cambiar |
49
+
50
+ ### SheetContent
51
+
52
+ | Prop | Tipo | Descripción |
53
+ | ----------------- | ---------------------------------------- | -------------------------------- |
54
+ | `side` | `"top" \| "right" \| "bottom" \| "left"` | Dirección (default: "right") |
55
+ | `showCloseButton` | `boolean` | Mostrar X button (default: true) |
56
+
57
+ ## Patrones de Uso
58
+
59
+ ### Desde Derecha (Default)
60
+
61
+ ```tsx
62
+ <Sheet>
63
+ <SheetTrigger asChild>
64
+ <Button>Open Sheet</Button>
65
+ </SheetTrigger>
66
+ <SheetContent>
67
+ <SheetHeader>
68
+ <SheetTitle>Settings</SheetTitle>
69
+ <SheetDescription>Configure your preferences</SheetDescription>
70
+ </SheetHeader>
71
+ </SheetContent>
72
+ </Sheet>
73
+ ```
74
+
75
+ ### Desde Izquierda
76
+
77
+ ```tsx
78
+ <Sheet>
79
+ <SheetTrigger>Open Left</SheetTrigger>
80
+ <SheetContent side="left">
81
+ <SheetHeader>
82
+ <SheetTitle>Navigation</SheetTitle>
83
+ </SheetHeader>
84
+ </SheetContent>
85
+ </Sheet>
86
+ ```
87
+
88
+ ### Desde Arriba/Abajo
89
+
90
+ ```tsx
91
+ <Sheet>
92
+ <SheetTrigger>Open Top</SheetTrigger>
93
+ <SheetContent side="top">
94
+ <SheetHeader>
95
+ <SheetTitle>Top Sheet</SheetTitle>
96
+ </SheetHeader>
97
+ </SheetContent>
98
+ </Sheet>
99
+
100
+ <Sheet>
101
+ <SheetTrigger>Open Bottom</SheetTrigger>
102
+ <SheetContent side="bottom">
103
+ <SheetHeader>
104
+ <SheetTitle>Bottom Sheet</SheetTitle>
105
+ </SheetHeader>
106
+ </SheetContent>
107
+ </Sheet>
108
+ ```
109
+
110
+ ### Con Footer
111
+
112
+ ```tsx
113
+ <Sheet>
114
+ <SheetTrigger>Edit Profile</SheetTrigger>
115
+ <SheetContent>
116
+ <SheetHeader>
117
+ <SheetTitle>Edit profile</SheetTitle>
118
+ <SheetDescription>Make changes to your profile here.</SheetDescription>
119
+ </SheetHeader>
120
+ {/* Form fields */}
121
+ <SheetFooter>
122
+ <SheetClose asChild>
123
+ <Button variant="outline">Cancel</Button>
124
+ </SheetClose>
125
+ <Button type="submit">Save changes</Button>
126
+ </SheetFooter>
127
+ </SheetContent>
128
+ </Sheet>
129
+ ```
130
+
131
+ ## Casos de Uso
132
+
133
+ **Navigation menu**: Menú móvil
134
+ **Filters**: Panel de filtros
135
+ **Details**: Vista de detalles
136
+ **Forms**: Formularios laterales
137
+ **Settings**: Panel de configuración
138
+
139
+ ## Referencias
140
+
141
+ - **Radix UI Dialog**: <https://www.radix-ui.com/primitives/docs/components/dialog>
142
+ - **shadcn/ui Sheet**: <https://ui.shadcn.com/docs/components/sheet>
@@ -1,140 +1,140 @@
1
- # Skeleton
2
-
3
- Placeholder animado para contenido en carga. Simula la estructura del contenido final con bloques pulsantes.
4
-
5
- ## Descripción
6
-
7
- El componente `Skeleton` muestra placeholders de carga para contenido que está siendo cargado.
8
-
9
- ## Importación
10
-
11
- ```typescript
12
- import { Skeleton } from "@adamosuiteservices/ui/skeleton";
13
- ```
14
-
15
- ## Anatomía
16
-
17
- ```tsx
18
- <Skeleton className="w-full h-12" />
19
- ```
20
-
21
- **Componentes**: 1 (Skeleton)
22
-
23
- ## Props
24
-
25
- | Prop | Tipo | Descripción |
26
- | ----------- | -------- | ------------------------------ |
27
- | `className` | `string` | Clases CSS para tamaño y forma |
28
-
29
- **Nota**: Acepta todas las props de `<div>`
30
-
31
- ## Patrones de Uso
32
-
33
- ### Básico
34
-
35
- ```tsx
36
- <Skeleton className="h-4 w-[250px]" />
37
- ```
38
-
39
- ### Avatar + Text
40
-
41
- ```tsx
42
- <div className="flex items-center space-x-4">
43
- <Skeleton className="h-12 w-12 rounded-full" />
44
- <div className="space-y-2">
45
- <Skeleton className="h-4 w-[250px]" />
46
- <Skeleton className="h-4 w-[200px]" />
47
- </div>
48
- </div>
49
- ```
50
-
51
- ### Card
52
-
53
- ```tsx
54
- <div className="flex flex-col space-y-3">
55
- <Skeleton className="h-[125px] w-[250px] rounded-xl" />
56
- <div className="space-y-2">
57
- <Skeleton className="h-4 w-[250px]" />
58
- <Skeleton className="h-4 w-[200px]" />
59
- </div>
60
- </div>
61
- ```
62
-
63
- ### Text Lines
64
-
65
- ```tsx
66
- <div className="space-y-2">
67
- <Skeleton className="h-4 w-full" />
68
- <Skeleton className="h-4 w-[90%]" />
69
- <Skeleton className="h-4 w-[80%]" />
70
- </div>
71
- ```
72
-
73
- ### Form
74
-
75
- ```tsx
76
- <div className="space-y-4 max-w-md">
77
- <div className="space-y-2">
78
- <Skeleton className="h-4 w-16" />
79
- <Skeleton className="h-10 w-full rounded-md" />
80
- </div>
81
- <div className="space-y-2">
82
- <Skeleton className="h-4 w-20" />
83
- <Skeleton className="h-10 w-full rounded-md" />
84
- </div>
85
- <Skeleton className="h-10 w-24 rounded-md" />
86
- </div>
87
- ```
88
-
89
- ### List Items
90
-
91
- ```tsx
92
- <div className="space-y-4">
93
- {Array.from({ length: 4 }).map((_, i) => (
94
- <div key={i} className="flex items-center space-x-4">
95
- <Skeleton className="h-10 w-10 rounded-full" />
96
- <div className="space-y-2 flex-1">
97
- <Skeleton className="h-4 w-[200px]" />
98
- <Skeleton className="h-3 w-[150px]" />
99
- </div>
100
- <Skeleton className="h-8 w-16 rounded-md" />
101
- </div>
102
- ))}
103
- </div>
104
- ```
105
-
106
- ## Casos de Uso
107
-
108
- **Loading states**: Placeholder mientras carga contenido
109
- **Lazy loading**: Imágenes/contenido que carga progresivamente
110
- **Optimistic UI**: Simular contenido antes de respuesta
111
- **Infinite scroll**: Items mientras cargan más
112
-
113
- ## Estilos Base
114
-
115
- - **Background**: `bg-accent`
116
- - **Animation**: `animate-pulse`
117
- - **Border radius**: `rounded-md` default
118
-
119
- ## Accesibilidad
120
-
121
- - ✅ **ARIA**: Usa `aria-busy="true"` en contenedor padre
122
- - ✅ **Screen readers**: Anuncia estado de carga en contenedor
123
- - ⚠️ **Replace**: Reemplaza skeleton con contenido real al cargar
124
-
125
- ## Notas de Implementación
126
-
127
- - **HTML nativo**: Simple `<div>` con estilos
128
- - **Pulse animation**: Tailwind `animate-pulse`
129
- - **Customizable**: Totalmente personalizable con className
130
- - **No state**: Stateless, solo visual
131
-
132
- ## Troubleshooting
133
-
134
- **No pulsa**: Verifica que `animate-pulse` esté aplicado
135
- **Tamaño inconsistente**: Usa height/width específicos con className
136
- **Forma incorrecta**: Ajusta `rounded-*` para avatars, cards, etc.
137
-
138
- ## Referencias
139
-
140
- - **shadcn/ui Skeleton**: <https://ui.shadcn.com/docs/components/skeleton>
1
+ # Skeleton
2
+
3
+ Placeholder animado para contenido en carga. Simula la estructura del contenido final con bloques pulsantes.
4
+
5
+ ## Descripción
6
+
7
+ El componente `Skeleton` muestra placeholders de carga para contenido que está siendo cargado.
8
+
9
+ ## Importación
10
+
11
+ ```typescript
12
+ import { Skeleton } from "@adamosuiteservices/ui/skeleton";
13
+ ```
14
+
15
+ ## Anatomía
16
+
17
+ ```tsx
18
+ <Skeleton className="w-full h-12" />
19
+ ```
20
+
21
+ **Componentes**: 1 (Skeleton)
22
+
23
+ ## Props
24
+
25
+ | Prop | Tipo | Descripción |
26
+ | ----------- | -------- | ------------------------------ |
27
+ | `className` | `string` | Clases CSS para tamaño y forma |
28
+
29
+ **Nota**: Acepta todas las props de `<div>`
30
+
31
+ ## Patrones de Uso
32
+
33
+ ### Básico
34
+
35
+ ```tsx
36
+ <Skeleton className="h-4 w-[250px]" />
37
+ ```
38
+
39
+ ### Avatar + Text
40
+
41
+ ```tsx
42
+ <div className="flex items-center space-x-4">
43
+ <Skeleton className="h-12 w-12 rounded-full" />
44
+ <div className="space-y-2">
45
+ <Skeleton className="h-4 w-[250px]" />
46
+ <Skeleton className="h-4 w-[200px]" />
47
+ </div>
48
+ </div>
49
+ ```
50
+
51
+ ### Card
52
+
53
+ ```tsx
54
+ <div className="flex flex-col space-y-3">
55
+ <Skeleton className="h-[125px] w-[250px] rounded-xl" />
56
+ <div className="space-y-2">
57
+ <Skeleton className="h-4 w-[250px]" />
58
+ <Skeleton className="h-4 w-[200px]" />
59
+ </div>
60
+ </div>
61
+ ```
62
+
63
+ ### Text Lines
64
+
65
+ ```tsx
66
+ <div className="space-y-2">
67
+ <Skeleton className="h-4 w-full" />
68
+ <Skeleton className="h-4 w-[90%]" />
69
+ <Skeleton className="h-4 w-[80%]" />
70
+ </div>
71
+ ```
72
+
73
+ ### Form
74
+
75
+ ```tsx
76
+ <div className="space-y-4 max-w-md">
77
+ <div className="space-y-2">
78
+ <Skeleton className="h-4 w-16" />
79
+ <Skeleton className="h-10 w-full rounded-md" />
80
+ </div>
81
+ <div className="space-y-2">
82
+ <Skeleton className="h-4 w-20" />
83
+ <Skeleton className="h-10 w-full rounded-md" />
84
+ </div>
85
+ <Skeleton className="h-10 w-24 rounded-md" />
86
+ </div>
87
+ ```
88
+
89
+ ### List Items
90
+
91
+ ```tsx
92
+ <div className="space-y-4">
93
+ {Array.from({ length: 4 }).map((_, i) => (
94
+ <div key={i} className="flex items-center space-x-4">
95
+ <Skeleton className="h-10 w-10 rounded-full" />
96
+ <div className="space-y-2 flex-1">
97
+ <Skeleton className="h-4 w-[200px]" />
98
+ <Skeleton className="h-3 w-[150px]" />
99
+ </div>
100
+ <Skeleton className="h-8 w-16 rounded-md" />
101
+ </div>
102
+ ))}
103
+ </div>
104
+ ```
105
+
106
+ ## Casos de Uso
107
+
108
+ **Loading states**: Placeholder mientras carga contenido
109
+ **Lazy loading**: Imágenes/contenido que carga progresivamente
110
+ **Optimistic UI**: Simular contenido antes de respuesta
111
+ **Infinite scroll**: Items mientras cargan más
112
+
113
+ ## Estilos Base
114
+
115
+ - **Background**: `bg-accent`
116
+ - **Animation**: `animate-pulse`
117
+ - **Border radius**: `rounded-md` default
118
+
119
+ ## Accesibilidad
120
+
121
+ - ✅ **ARIA**: Usa `aria-busy="true"` en contenedor padre
122
+ - ✅ **Screen readers**: Anuncia estado de carga en contenedor
123
+ - ⚠️ **Replace**: Reemplaza skeleton con contenido real al cargar
124
+
125
+ ## Notas de Implementación
126
+
127
+ - **HTML nativo**: Simple `<div>` con estilos
128
+ - **Pulse animation**: Tailwind `animate-pulse`
129
+ - **Customizable**: Totalmente personalizable con className
130
+ - **No state**: Stateless, solo visual
131
+
132
+ ## Troubleshooting
133
+
134
+ **No pulsa**: Verifica que `animate-pulse` esté aplicado
135
+ **Tamaño inconsistente**: Usa height/width específicos con className
136
+ **Forma incorrecta**: Ajusta `rounded-*` para avatars, cards, etc.
137
+
138
+ ## Referencias
139
+
140
+ - **shadcn/ui Skeleton**: <https://ui.shadcn.com/docs/components/skeleton>