@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,267 +1,267 @@
1
- # Accordion Component
2
-
3
- ## Descripción
4
-
5
- El componente `Accordion` es un elemento de interfaz vertically apilado que permite a los usuarios expandir y colapsar secciones de contenido.
6
-
7
- ## Importación
8
-
9
- ```typescript
10
- import {
11
- Accordion,
12
- AccordionContent,
13
- AccordionItem,
14
- AccordionTrigger,
15
- } from "@adamosuiteservices/ui/accordion";
16
- ```
17
-
18
- ## Componentes
19
-
20
- ### Accordion (Root)
21
-
22
- Contenedor principal que controla el comportamiento del accordion.
23
-
24
- ### AccordionItem
25
-
26
- Representa cada elemento individual del accordion.
27
-
28
- ### AccordionTrigger
29
-
30
- El botón/header que se puede clickear para expandir/colapsar.
31
-
32
- ### AccordionContent
33
-
34
- El contenido que se muestra/oculta al activar el trigger.
35
-
36
- ## Uso Básico
37
-
38
- ```tsx
39
- <Accordion type="single" collapsible>
40
- <AccordionItem value="item-1">
41
- <AccordionTrigger>Is it accessible?</AccordionTrigger>
42
- <AccordionContent>
43
- Yes. It adheres to the WAI-ARIA design pattern.
44
- </AccordionContent>
45
- </AccordionItem>
46
- <AccordionItem value="item-2">
47
- <AccordionTrigger>Is it styled?</AccordionTrigger>
48
- <AccordionContent>Yes. It comes with default styles.</AccordionContent>
49
- </AccordionItem>
50
- </Accordion>
51
- ```
52
-
53
- ## Tipos de Accordion
54
-
55
- ### Single (Un elemento a la vez)
56
-
57
- Solo permite que un elemento esté abierto a la vez.
58
-
59
- ```tsx
60
- <Accordion type="single" collapsible>
61
- {/* items */}
62
- </Accordion>
63
- ```
64
-
65
- ### Multiple (Múltiples elementos)
66
-
67
- Permite que múltiples elementos estén abiertos simultáneamente.
68
-
69
- ```tsx
70
- <Accordion type="multiple">{/* items */}</Accordion>
71
- ```
72
-
73
- ## Con Valor por Defecto
74
-
75
- Puedes especificar qué elemento debe estar abierto inicialmente.
76
-
77
- ```tsx
78
- <Accordion type="single" defaultValue="item-2" collapsible>
79
- <AccordionItem value="item-1">
80
- <AccordionTrigger>First Item</AccordionTrigger>
81
- <AccordionContent>Content 1</AccordionContent>
82
- </AccordionItem>
83
- <AccordionItem value="item-2">
84
- <AccordionTrigger>Second Item (Default Open)</AccordionTrigger>
85
- <AccordionContent>Content 2</AccordionContent>
86
- </AccordionItem>
87
- </Accordion>
88
- ```
89
-
90
- ## Modo No-Collapsible
91
-
92
- En modo `type="single"` sin `collapsible`, al menos un elemento debe estar abierto.
93
-
94
- ```tsx
95
- <Accordion type="single" collapsible={false} defaultValue="item-1">
96
- {/* items */}
97
- </Accordion>
98
- ```
99
-
100
- ## Controlado
101
-
102
- Puedes controlar el accordion externamente con estado.
103
-
104
- ```tsx
105
- const [value, setValue] = useState<string | undefined>("item-1");
106
-
107
- <Accordion type="single" collapsible value={value} onValueChange={setValue}>
108
- {/* items */}
109
- </Accordion>;
110
- ```
111
-
112
- ## Con Contenido Rico
113
-
114
- ### Con Listas
115
-
116
- ```tsx
117
- <AccordionContent>
118
- <div className="space-y-2">
119
- <p>Modern frontend development stack includes:</p>
120
- <ul className="list-disc list-inside space-y-1">
121
- <li>React for building user interfaces</li>
122
- <li>TypeScript for type safety</li>
123
- <li>Tailwind CSS for styling</li>
124
- </ul>
125
- </div>
126
- </AccordionContent>
127
- ```
128
-
129
- ### Con Iconos y Badges
130
-
131
- ```tsx
132
- <AccordionTrigger className="text-left">
133
- <div className="flex items-center gap-2">
134
- <InfoIcon className="h-4 w-4" />
135
- Product Information
136
- </div>
137
- </AccordionTrigger>
138
- <AccordionContent>
139
- <div className="flex gap-2">
140
- <Badge>Premium Quality</Badge>
141
- <Badge variant="secondary">Wireless</Badge>
142
- </div>
143
- </AccordionContent>
144
- ```
145
-
146
- ## Props
147
-
148
- ### Accordion
149
-
150
- | Prop | Tipo | Default | Descripción |
151
- | ------------- | ------------------------ | ------- | --------------------------------------------------------- |
152
- | type | `"single" \| "multiple"` | - | Tipo de accordion |
153
- | collapsible | `boolean` | - | Solo para type="single". Permite colapsar todos los items |
154
- | defaultValue | `string \| string[]` | - | Valor inicial abierto |
155
- | value | `string \| string[]` | - | Valor controlado |
156
- | onValueChange | `(value) => void` | - | Callback cuando cambia el valor |
157
-
158
- ### AccordionItem
159
-
160
- | Prop | Tipo | Default | Descripción |
161
- | --------- | --------- | ------- | ---------------------------------------- |
162
- | value | `string` | - | Identificador único del item (requerido) |
163
- | disabled | `boolean` | `false` | Desactiva el item |
164
- | className | `string` | - | Clases CSS adicionales |
165
-
166
- ### AccordionTrigger
167
-
168
- | Prop | Tipo | Default | Descripción |
169
- | --------- | ----------- | ------- | ---------------------- |
170
- | className | `string` | - | Clases CSS adicionales |
171
- | children | `ReactNode` | - | Contenido del trigger |
172
-
173
- ### AccordionContent
174
-
175
- | Prop | Tipo | Default | Descripción |
176
- | --------- | ----------- | ------- | --------------------------- |
177
- | className | `string` | - | Clases CSS adicionales |
178
- | children | `ReactNode` | - | Contenido a mostrar/ocultar |
179
-
180
- ## Animaciones
181
-
182
- El componente incluye animaciones suaves de entrada/salida:
183
-
184
- - El contenido se desliza hacia abajo al abrir
185
- - El contenido se desliza hacia arriba al cerrar
186
- - El icono chevron rota 180° al abrir
187
-
188
- ## Estilizado
189
-
190
- Cada item tiene un borde inferior que desaparece en el último elemento:
191
-
192
- ```tsx
193
- <AccordionItem className="border-b last:border-b-0">
194
- ```
195
-
196
- El trigger incluye hover effect con subrayado:
197
-
198
- ```tsx
199
- <AccordionTrigger className="hover:underline">
200
- ```
201
-
202
- ## Casos de Uso Comunes
203
-
204
- ### FAQ Section
205
-
206
- ```tsx
207
- <Accordion type="single" collapsible>
208
- <AccordionItem value="q1">
209
- <AccordionTrigger>How do I get started?</AccordionTrigger>
210
- <AccordionContent>Follow our quick start guide...</AccordionContent>
211
- </AccordionItem>
212
- </Accordion>
213
- ```
214
-
215
- ### Product Information
216
-
217
- ```tsx
218
- <Accordion type="single" collapsible defaultValue="info">
219
- <AccordionItem value="info">
220
- <AccordionTrigger>Product Information</AccordionTrigger>
221
- <AccordionContent>{/* Specifications, features, etc */}</AccordionContent>
222
- </AccordionItem>
223
- <AccordionItem value="shipping">
224
- <AccordionTrigger>Shipping & Delivery</AccordionTrigger>
225
- <AccordionContent>{/* Shipping details */}</AccordionContent>
226
- </AccordionItem>
227
- </Accordion>
228
- ```
229
-
230
- ### Project Timeline
231
-
232
- ```tsx
233
- <Accordion type="single" collapsible>
234
- <AccordionItem value="phase-1">
235
- <AccordionTrigger>
236
- <div className="flex items-center gap-2">
237
- <CheckCircleIcon className="h-4 w-4" />
238
- Phase 1: Planning
239
- </div>
240
- </AccordionTrigger>
241
- <AccordionContent>
242
- <Progress value={100} />
243
- {/* Phase details */}
244
- </AccordionContent>
245
- </AccordionItem>
246
- </Accordion>
247
- ```
248
-
249
- ## Accesibilidad
250
-
251
- - Sigue el patrón WAI-ARIA para accordions
252
- - Navegación por teclado completa
253
- - Estados de focus visibles
254
- - Screen readers pueden anunciar el estado expandido/colapsado
255
- - Cada trigger tiene el header semántico apropiado
256
-
257
- ## Notas de Implementación
258
-
259
- - Usa Radix UI Accordion internamente
260
- - Todos los estilos tienen prefijo ``
261
- - El icono ChevronDown se incluye automáticamente en el trigger
262
- - Las animaciones son manejadas por CSS y data attributes
263
-
264
- ## Referencias
265
-
266
- - Documentación de shadcn/ui: https://ui.shadcn.com/docs/components/accordion
267
- - Radix UI Accordion: https://www.radix-ui.com/primitives/docs/components/accordion
1
+ # Accordion Component
2
+
3
+ ## Descripción
4
+
5
+ El componente `Accordion` es un elemento de interfaz vertically apilado que permite a los usuarios expandir y colapsar secciones de contenido.
6
+
7
+ ## Importación
8
+
9
+ ```typescript
10
+ import {
11
+ Accordion,
12
+ AccordionContent,
13
+ AccordionItem,
14
+ AccordionTrigger,
15
+ } from "@adamosuiteservices/ui/accordion";
16
+ ```
17
+
18
+ ## Componentes
19
+
20
+ ### Accordion (Root)
21
+
22
+ Contenedor principal que controla el comportamiento del accordion.
23
+
24
+ ### AccordionItem
25
+
26
+ Representa cada elemento individual del accordion.
27
+
28
+ ### AccordionTrigger
29
+
30
+ El botón/header que se puede clickear para expandir/colapsar.
31
+
32
+ ### AccordionContent
33
+
34
+ El contenido que se muestra/oculta al activar el trigger.
35
+
36
+ ## Uso Básico
37
+
38
+ ```tsx
39
+ <Accordion type="single" collapsible>
40
+ <AccordionItem value="item-1">
41
+ <AccordionTrigger>Is it accessible?</AccordionTrigger>
42
+ <AccordionContent>
43
+ Yes. It adheres to the WAI-ARIA design pattern.
44
+ </AccordionContent>
45
+ </AccordionItem>
46
+ <AccordionItem value="item-2">
47
+ <AccordionTrigger>Is it styled?</AccordionTrigger>
48
+ <AccordionContent>Yes. It comes with default styles.</AccordionContent>
49
+ </AccordionItem>
50
+ </Accordion>
51
+ ```
52
+
53
+ ## Tipos de Accordion
54
+
55
+ ### Single (Un elemento a la vez)
56
+
57
+ Solo permite que un elemento esté abierto a la vez.
58
+
59
+ ```tsx
60
+ <Accordion type="single" collapsible>
61
+ {/* items */}
62
+ </Accordion>
63
+ ```
64
+
65
+ ### Multiple (Múltiples elementos)
66
+
67
+ Permite que múltiples elementos estén abiertos simultáneamente.
68
+
69
+ ```tsx
70
+ <Accordion type="multiple">{/* items */}</Accordion>
71
+ ```
72
+
73
+ ## Con Valor por Defecto
74
+
75
+ Puedes especificar qué elemento debe estar abierto inicialmente.
76
+
77
+ ```tsx
78
+ <Accordion type="single" defaultValue="item-2" collapsible>
79
+ <AccordionItem value="item-1">
80
+ <AccordionTrigger>First Item</AccordionTrigger>
81
+ <AccordionContent>Content 1</AccordionContent>
82
+ </AccordionItem>
83
+ <AccordionItem value="item-2">
84
+ <AccordionTrigger>Second Item (Default Open)</AccordionTrigger>
85
+ <AccordionContent>Content 2</AccordionContent>
86
+ </AccordionItem>
87
+ </Accordion>
88
+ ```
89
+
90
+ ## Modo No-Collapsible
91
+
92
+ En modo `type="single"` sin `collapsible`, al menos un elemento debe estar abierto.
93
+
94
+ ```tsx
95
+ <Accordion type="single" collapsible={false} defaultValue="item-1">
96
+ {/* items */}
97
+ </Accordion>
98
+ ```
99
+
100
+ ## Controlado
101
+
102
+ Puedes controlar el accordion externamente con estado.
103
+
104
+ ```tsx
105
+ const [value, setValue] = useState<string | undefined>("item-1");
106
+
107
+ <Accordion type="single" collapsible value={value} onValueChange={setValue}>
108
+ {/* items */}
109
+ </Accordion>;
110
+ ```
111
+
112
+ ## Con Contenido Rico
113
+
114
+ ### Con Listas
115
+
116
+ ```tsx
117
+ <AccordionContent>
118
+ <div className="space-y-2">
119
+ <p>Modern frontend development stack includes:</p>
120
+ <ul className="list-disc list-inside space-y-1">
121
+ <li>React for building user interfaces</li>
122
+ <li>TypeScript for type safety</li>
123
+ <li>Tailwind CSS for styling</li>
124
+ </ul>
125
+ </div>
126
+ </AccordionContent>
127
+ ```
128
+
129
+ ### Con Iconos y Badges
130
+
131
+ ```tsx
132
+ <AccordionTrigger className="text-left">
133
+ <div className="flex items-center gap-2">
134
+ <InfoIcon className="h-4 w-4" />
135
+ Product Information
136
+ </div>
137
+ </AccordionTrigger>
138
+ <AccordionContent>
139
+ <div className="flex gap-2">
140
+ <Badge>Premium Quality</Badge>
141
+ <Badge variant="secondary">Wireless</Badge>
142
+ </div>
143
+ </AccordionContent>
144
+ ```
145
+
146
+ ## Props
147
+
148
+ ### Accordion
149
+
150
+ | Prop | Tipo | Default | Descripción |
151
+ | ------------- | ------------------------ | ------- | --------------------------------------------------------- |
152
+ | type | `"single" \| "multiple"` | - | Tipo de accordion |
153
+ | collapsible | `boolean` | - | Solo para type="single". Permite colapsar todos los items |
154
+ | defaultValue | `string \| string[]` | - | Valor inicial abierto |
155
+ | value | `string \| string[]` | - | Valor controlado |
156
+ | onValueChange | `(value) => void` | - | Callback cuando cambia el valor |
157
+
158
+ ### AccordionItem
159
+
160
+ | Prop | Tipo | Default | Descripción |
161
+ | --------- | --------- | ------- | ---------------------------------------- |
162
+ | value | `string` | - | Identificador único del item (requerido) |
163
+ | disabled | `boolean` | `false` | Desactiva el item |
164
+ | className | `string` | - | Clases CSS adicionales |
165
+
166
+ ### AccordionTrigger
167
+
168
+ | Prop | Tipo | Default | Descripción |
169
+ | --------- | ----------- | ------- | ---------------------- |
170
+ | className | `string` | - | Clases CSS adicionales |
171
+ | children | `ReactNode` | - | Contenido del trigger |
172
+
173
+ ### AccordionContent
174
+
175
+ | Prop | Tipo | Default | Descripción |
176
+ | --------- | ----------- | ------- | --------------------------- |
177
+ | className | `string` | - | Clases CSS adicionales |
178
+ | children | `ReactNode` | - | Contenido a mostrar/ocultar |
179
+
180
+ ## Animaciones
181
+
182
+ El componente incluye animaciones suaves de entrada/salida:
183
+
184
+ - El contenido se desliza hacia abajo al abrir
185
+ - El contenido se desliza hacia arriba al cerrar
186
+ - El icono chevron rota 180° al abrir
187
+
188
+ ## Estilizado
189
+
190
+ Cada item tiene un borde inferior que desaparece en el último elemento:
191
+
192
+ ```tsx
193
+ <AccordionItem className="border-b last:border-b-0">
194
+ ```
195
+
196
+ El trigger incluye hover effect con subrayado:
197
+
198
+ ```tsx
199
+ <AccordionTrigger className="hover:underline">
200
+ ```
201
+
202
+ ## Casos de Uso Comunes
203
+
204
+ ### FAQ Section
205
+
206
+ ```tsx
207
+ <Accordion type="single" collapsible>
208
+ <AccordionItem value="q1">
209
+ <AccordionTrigger>How do I get started?</AccordionTrigger>
210
+ <AccordionContent>Follow our quick start guide...</AccordionContent>
211
+ </AccordionItem>
212
+ </Accordion>
213
+ ```
214
+
215
+ ### Product Information
216
+
217
+ ```tsx
218
+ <Accordion type="single" collapsible defaultValue="info">
219
+ <AccordionItem value="info">
220
+ <AccordionTrigger>Product Information</AccordionTrigger>
221
+ <AccordionContent>{/* Specifications, features, etc */}</AccordionContent>
222
+ </AccordionItem>
223
+ <AccordionItem value="shipping">
224
+ <AccordionTrigger>Shipping & Delivery</AccordionTrigger>
225
+ <AccordionContent>{/* Shipping details */}</AccordionContent>
226
+ </AccordionItem>
227
+ </Accordion>
228
+ ```
229
+
230
+ ### Project Timeline
231
+
232
+ ```tsx
233
+ <Accordion type="single" collapsible>
234
+ <AccordionItem value="phase-1">
235
+ <AccordionTrigger>
236
+ <div className="flex items-center gap-2">
237
+ <CheckCircleIcon className="h-4 w-4" />
238
+ Phase 1: Planning
239
+ </div>
240
+ </AccordionTrigger>
241
+ <AccordionContent>
242
+ <Progress value={100} />
243
+ {/* Phase details */}
244
+ </AccordionContent>
245
+ </AccordionItem>
246
+ </Accordion>
247
+ ```
248
+
249
+ ## Accesibilidad
250
+
251
+ - Sigue el patrón WAI-ARIA para accordions
252
+ - Navegación por teclado completa
253
+ - Estados de focus visibles
254
+ - Screen readers pueden anunciar el estado expandido/colapsado
255
+ - Cada trigger tiene el header semántico apropiado
256
+
257
+ ## Notas de Implementación
258
+
259
+ - Usa Radix UI Accordion internamente
260
+ - Todos los estilos tienen prefijo ``
261
+ - El icono ChevronDown se incluye automáticamente en el trigger
262
+ - Las animaciones son manejadas por CSS y data attributes
263
+
264
+ ## Referencias
265
+
266
+ - Documentación de shadcn/ui: https://ui.shadcn.com/docs/components/accordion
267
+ - Radix UI Accordion: https://www.radix-ui.com/primitives/docs/components/accordion