siesa-ui-kit 1.0.5 → 1.0.6
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/index.cjs +1479 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +1479 -0
- package/dist/index.js.map +1 -0
- package/package.json +23 -14
- package/claude/agents/siesa-ui-kit-specialist.md +0 -2401
- package/claude/prompts/component-template.md +0 -121
- package/claude/settings.local.json +0 -61
- package/docs/border-radius.md +0 -1261
- package/docs/colors.md +0 -832
- package/docs/dark-mode-guide.md +0 -1426
- package/docs/filters.md +0 -1243
- package/docs/icons.md +0 -1283
- package/docs/shadows.md +0 -1377
- package/docs/spacing.md +0 -1684
- package/docs/typography.md +0 -1268
- package/postcss.config.cjs +0 -6
- package/src/App.css +0 -42
- package/src/App.tsx +0 -8
- package/src/ButtonTest.tsx +0 -147
- package/src/assets/fonts/README.md +0 -261
- package/src/assets/fonts/SiesaBT/SiesaBT-Bold.otf +0 -0
- package/src/assets/fonts/SiesaBT/SiesaBT-Light.otf +0 -0
- package/src/assets/fonts/SiesaBT/SiesaBT-Regular.otf +0 -0
- package/src/assets/react.svg +0 -1
- package/src/components/Alert/Alert.stories.tsx +0 -332
- package/src/components/Alert/Alert.tsx +0 -106
- package/src/components/Alert/Alert.types.ts +0 -54
- package/src/components/Avatar/Avatar.stories.tsx +0 -494
- package/src/components/Avatar/Avatar.tsx +0 -143
- package/src/components/Avatar/Avatar.types.ts +0 -53
- package/src/components/Badge/Badge.stories.tsx +0 -339
- package/src/components/Badge/Badge.tsx +0 -278
- package/src/components/Badge/Badge.types.ts +0 -58
- package/src/components/Button/Button.stories.tsx +0 -950
- package/src/components/Button/Button.tsx +0 -337
- package/src/components/Button/Button.types.ts +0 -180
- package/src/components/Button/icons.tsx +0 -87
- package/src/components/Button/index.ts +0 -3
- package/src/components/Checkbox/Checkbox.stories.tsx +0 -453
- package/src/components/Checkbox/Checkbox.tsx +0 -208
- package/src/components/Checkbox/Checkbox.types.ts +0 -61
- package/src/components/DescriptionList/DescriptionList.stories.tsx +0 -250
- package/src/components/DescriptionList/DescriptionList.tsx +0 -96
- package/src/components/DescriptionList/DescriptionList.types.ts +0 -29
- package/src/components/Divider/Divider.stories.tsx +0 -263
- package/src/components/Divider/Divider.tsx +0 -80
- package/src/components/Divider/Divider.types.ts +0 -24
- package/src/components/Dropdown/Dropdown.stories.tsx +0 -552
- package/src/components/Dropdown/Dropdown.tsx +0 -422
- package/src/components/Dropdown/Dropdown.types.ts +0 -146
- package/src/components/Dropdown/README.md +0 -266
- package/src/components/Dropdown/icons.tsx +0 -72
- package/src/components/Dropdown/index.ts +0 -8
- package/src/components/Input/Input.stories.tsx +0 -583
- package/src/components/Input/Input.tsx +0 -204
- package/src/components/Input/Input.types.ts +0 -80
- package/src/components/Input/icons.tsx +0 -145
- package/src/components/Input/index.ts +0 -2
- package/src/components/LoginView/LoginView.stories.tsx +0 -148
- package/src/components/LoginView/LoginView.tsx +0 -426
- package/src/components/LoginView/LoginView.types.ts +0 -52
- package/src/components/LoginView/README.md +0 -396
- package/src/components/LoginView/icons.tsx +0 -85
- package/src/components/LoginView/index.ts +0 -3
- package/src/components/Navbar/Navbar.stories.tsx +0 -810
- package/src/components/Navbar/Navbar.tsx +0 -755
- package/src/components/Navbar/Navbar.types.ts +0 -219
- package/src/components/Navbar/README.md +0 -279
- package/src/components/Navbar/icons.tsx +0 -102
- package/src/components/Navbar/index.ts +0 -8
- package/src/components/NavigationBar/NavigationBar.stories.tsx +0 -406
- package/src/components/NavigationBar/NavigationBar.tsx +0 -246
- package/src/components/NavigationBar/NavigationBar.types.ts +0 -74
- package/src/components/NavigationBar/README.md +0 -469
- package/src/components/NavigationBar/index.ts +0 -2
- package/src/components/NavigationRail/NavigationRail.stories.tsx +0 -417
- package/src/components/NavigationRail/NavigationRail.tsx +0 -418
- package/src/components/NavigationRail/NavigationRail.types.ts +0 -109
- package/src/components/NavigationRail/README.md +0 -224
- package/src/components/NavigationRail/index.ts +0 -2
- package/src/components/Notification/Notification.stories.tsx +0 -513
- package/src/components/Notification/Notification.tsx +0 -145
- package/src/components/Notification/Notification.types.ts +0 -142
- package/src/components/Notification/README.md +0 -409
- package/src/components/Notification/index.ts +0 -3
- package/src/components/POSConvention/POSConvention.stories.tsx +0 -235
- package/src/components/POSConvention/POSConvention.tsx +0 -129
- package/src/components/POSConvention/POSConvention.types.ts +0 -38
- package/src/components/POSConvention/README.md +0 -123
- package/src/components/POSConvention/icons.tsx +0 -45
- package/src/components/POSConvention/index.ts +0 -3
- package/src/components/POSLocationButton/POSLocationButton.stories.tsx +0 -531
- package/src/components/POSLocationButton/POSLocationButton.tsx +0 -247
- package/src/components/POSLocationButton/POSLocationButton.types.ts +0 -87
- package/src/components/POSLocationButton/README.md +0 -253
- package/src/components/POSLocationButton/icons.tsx +0 -120
- package/src/components/POSLocationButton/index.ts +0 -14
- package/src/components/POSNumberButton/POSNumberButton.stories.tsx +0 -415
- package/src/components/POSNumberButton/POSNumberButton.tsx +0 -179
- package/src/components/POSNumberButton/POSNumberButton.types.ts +0 -51
- package/src/components/POSNumberButton/README.md +0 -321
- package/src/components/POSNumberButton/index.ts +0 -3
- package/src/components/POSProductButton/POSProductButton.stories.tsx +0 -318
- package/src/components/POSProductButton/POSProductButton.tsx +0 -152
- package/src/components/POSProductButton/POSProductButton.types.ts +0 -46
- package/src/components/POSProductButton/README.md +0 -269
- package/src/components/POSProductButton/index.ts +0 -2
- package/src/components/POSProductCard/POSProductCard.stories.tsx +0 -642
- package/src/components/POSProductCard/POSProductCard.tsx +0 -208
- package/src/components/POSProductCard/POSProductCard.types.ts +0 -76
- package/src/components/POSProductCard/README.md +0 -179
- package/src/components/POSProductCard/icons.tsx +0 -26
- package/src/components/POSProductCard/index.ts +0 -2
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +0 -753
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +0 -332
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +0 -119
- package/src/components/POSProductSidebarItems/README.md +0 -198
- package/src/components/POSProductSidebarItems/icons.tsx +0 -21
- package/src/components/POSProductSidebarItems/index.ts +0 -3
- package/src/components/POSTable/POSTable.stories.tsx +0 -737
- package/src/components/POSTable/POSTable.tsx +0 -401
- package/src/components/POSTable/POSTable.types.ts +0 -83
- package/src/components/POSTable/README.md +0 -286
- package/src/components/POSTable/index.ts +0 -7
- package/src/components/Pagination/Pagination.stories.tsx +0 -555
- package/src/components/Pagination/Pagination.tsx +0 -286
- package/src/components/Pagination/Pagination.types.ts +0 -93
- package/src/components/Pagination/README.md +0 -298
- package/src/components/Pagination/icons.tsx +0 -47
- package/src/components/Pagination/index.ts +0 -3
- package/src/components/Quantity/Quantity.stories.tsx +0 -457
- package/src/components/Quantity/Quantity.tsx +0 -289
- package/src/components/Quantity/Quantity.types.ts +0 -70
- package/src/components/Radio/Radio.stories.tsx +0 -523
- package/src/components/Radio/Radio.tsx +0 -170
- package/src/components/Radio/Radio.types.ts +0 -122
- package/src/components/Select/README.md +0 -299
- package/src/components/Select/Select.stories.tsx +0 -673
- package/src/components/Select/Select.tsx +0 -454
- package/src/components/Select/Select.types.ts +0 -148
- package/src/components/Select/icons.tsx +0 -50
- package/src/components/Select/index.ts +0 -3
- package/src/components/SignUpView/SignUpView.stories.tsx +0 -129
- package/src/components/SignUpView/SignUpView.tsx +0 -503
- package/src/components/SignUpView/SignUpView.types.ts +0 -58
- package/src/components/SignUpView/icons.tsx +0 -71
- package/src/components/SignUpView/index.ts +0 -3
- package/src/components/Switch/README.md +0 -112
- package/src/components/Switch/Switch.stories.tsx +0 -550
- package/src/components/Switch/Switch.tsx +0 -246
- package/src/components/Switch/Switch.types.ts +0 -67
- package/src/components/Table/README.md +0 -369
- package/src/components/Table/Table.stories.tsx +0 -805
- package/src/components/Table/Table.tsx +0 -688
- package/src/components/Table/Table.types.ts +0 -204
- package/src/components/Table/index.ts +0 -9
- package/src/components/Tabs/README.md +0 -201
- package/src/components/Tabs/Tabs.stories.tsx +0 -580
- package/src/components/Tabs/Tabs.tsx +0 -356
- package/src/components/Tabs/Tabs.types.ts +0 -127
- package/src/components/Tabs/icons.tsx +0 -129
- package/src/components/Tabs/index.ts +0 -11
- package/src/components/Textarea/Textarea.stories.tsx +0 -535
- package/src/components/Textarea/Textarea.tsx +0 -188
- package/src/components/Textarea/Textarea.types.ts +0 -54
- package/src/context/ThemeContext.tsx +0 -99
- package/src/context/index.ts +0 -1
- package/src/index.css +0 -29
- package/src/index.ts +0 -39
- package/src/main.tsx +0 -10
- package/src/views/ProductsView/ProductsView.stories.tsx +0 -344
- package/src/views/ProductsView/ProductsView.tsx +0 -480
- package/src/views/ProductsView/ProductsView.types.ts +0 -238
- package/src/views/ProductsView/README.md +0 -312
- package/src/views/ProductsView/icons.tsx +0 -38
- package/src/views/ProductsView/index.ts +0 -8
- package/src/views/RecoverPasswordView/README.md +0 -269
- package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +0 -131
- package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +0 -376
- package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +0 -56
- package/src/views/RecoverPasswordView/icons.tsx +0 -17
- package/src/views/RecoverPasswordView/index.ts +0 -2
- package/src/views/TableLayoutView/README.md +0 -268
- package/src/views/TableLayoutView/TableLayoutView.stories.tsx +0 -235
- package/src/views/TableLayoutView/TableLayoutView.tsx +0 -461
- package/src/views/TableLayoutView/TableLayoutView.types.ts +0 -209
- package/src/views/TableLayoutView/icons.tsx +0 -113
- package/src/views/TableLayoutView/index.ts +0 -6
- package/storybook/main.ts +0 -20
- package/storybook/preview.tsx +0 -84
- package/storybook/vitest.setup.ts +0 -7
- package/tailwind.config.js +0 -128
- /package/{public → dist}/,Business Logo.png +0 -0
- /package/{public → dist}/.Siesa Logo.png +0 -0
- /package/{public → dist}/bg_siesa.png +0 -0
- /package/{public → dist}/siesa_logo_mobile.png +0 -0
- /package/{public → dist}/vite.svg +0 -0
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
# Dropdown Component
|
|
2
|
-
|
|
3
|
-
Componente de menú desplegable del sistema de diseño Siesa UI Kit.
|
|
4
|
-
|
|
5
|
-
## Características
|
|
6
|
-
|
|
7
|
-
- **Múltiples tipos de items**: Con iconos, descripciones y shortcuts
|
|
8
|
-
- **Headings y dividers**: Para organizar el menú
|
|
9
|
-
- **Estados completos**: Default, Hover, Focus, Disabled
|
|
10
|
-
- **Cierre automático**: Al hacer click fuera del menú
|
|
11
|
-
- **Keyboard navigation**: Escape para cerrar
|
|
12
|
-
- **Dark mode**: Soporte completo con tokens del sistema
|
|
13
|
-
- **Type-safe**: TypeScript estricto con tipos exportados
|
|
14
|
-
- **Accesible**: ARIA labels y atributos de accesibilidad
|
|
15
|
-
|
|
16
|
-
## Uso Básico
|
|
17
|
-
|
|
18
|
-
```tsx
|
|
19
|
-
import { Dropdown } from '@/components/Dropdown';
|
|
20
|
-
|
|
21
|
-
<Dropdown
|
|
22
|
-
placeholder="Options"
|
|
23
|
-
items={[
|
|
24
|
-
{ children: 'Account' },
|
|
25
|
-
{ children: 'Settings' },
|
|
26
|
-
{ children: 'Logout' },
|
|
27
|
-
]}
|
|
28
|
-
/>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Con Iconos
|
|
32
|
-
|
|
33
|
-
```tsx
|
|
34
|
-
import { Dropdown, UserIcon, CogIcon } from '@/components/Dropdown';
|
|
35
|
-
|
|
36
|
-
<Dropdown
|
|
37
|
-
placeholder="Menu"
|
|
38
|
-
items={[
|
|
39
|
-
{ children: 'Profile', icon: <UserIcon /> },
|
|
40
|
-
{ children: 'Settings', icon: <CogIcon /> },
|
|
41
|
-
]}
|
|
42
|
-
/>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Con Descripciones y Shortcuts
|
|
46
|
-
|
|
47
|
-
```tsx
|
|
48
|
-
<Dropdown
|
|
49
|
-
placeholder="Edit"
|
|
50
|
-
items={[
|
|
51
|
-
{
|
|
52
|
-
children: 'Profile',
|
|
53
|
-
icon: <UserIcon />,
|
|
54
|
-
description: 'View your profile',
|
|
55
|
-
shortcut: '⌘ P',
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
children: 'Settings',
|
|
59
|
-
icon: <CogIcon />,
|
|
60
|
-
description: 'Manage preferences',
|
|
61
|
-
shortcut: '⌘ ,',
|
|
62
|
-
},
|
|
63
|
-
]}
|
|
64
|
-
/>
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Con Headings y Dividers
|
|
68
|
-
|
|
69
|
-
```tsx
|
|
70
|
-
<Dropdown
|
|
71
|
-
placeholder="Account"
|
|
72
|
-
items={[
|
|
73
|
-
{ isHeading: true, children: 'Account' },
|
|
74
|
-
{ children: 'Profile' },
|
|
75
|
-
{ children: 'Settings' },
|
|
76
|
-
{ isDivider: true },
|
|
77
|
-
{ isHeading: true, children: 'Actions' },
|
|
78
|
-
{ children: 'Logout' },
|
|
79
|
-
]}
|
|
80
|
-
/>
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Controlado
|
|
84
|
-
|
|
85
|
-
```tsx
|
|
86
|
-
const [open, setOpen] = useState(false);
|
|
87
|
-
|
|
88
|
-
<Dropdown
|
|
89
|
-
placeholder="Options"
|
|
90
|
-
open={open}
|
|
91
|
-
onOpenChange={setOpen}
|
|
92
|
-
items={[
|
|
93
|
-
{ children: 'Account' },
|
|
94
|
-
{ children: 'Settings' },
|
|
95
|
-
]}
|
|
96
|
-
/>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Con Callbacks
|
|
100
|
-
|
|
101
|
-
```tsx
|
|
102
|
-
<Dropdown
|
|
103
|
-
placeholder="Actions"
|
|
104
|
-
onOpenChange={(open) => console.log('Dropdown', open ? 'opened' : 'closed')}
|
|
105
|
-
items={[
|
|
106
|
-
{
|
|
107
|
-
children: 'Edit',
|
|
108
|
-
onClick: () => console.log('Edit clicked'),
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
children: 'Delete',
|
|
112
|
-
onClick: () => console.log('Delete clicked'),
|
|
113
|
-
},
|
|
114
|
-
]}
|
|
115
|
-
/>
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## Props
|
|
119
|
-
|
|
120
|
-
### DropdownProps
|
|
121
|
-
|
|
122
|
-
| Prop | Type | Default | Description |
|
|
123
|
-
|------|------|---------|-------------|
|
|
124
|
-
| `children` | `ReactNode` | - | Texto del botón trigger |
|
|
125
|
-
| `items` | `DropdownItemProps[]` | - | Items del menú |
|
|
126
|
-
| `open` | `boolean` | - | Estado controlado (abierto/cerrado) |
|
|
127
|
-
| `onOpenChange` | `(open: boolean) => void` | - | Callback cuando cambia el estado |
|
|
128
|
-
| `disabled` | `boolean` | `false` | Si está deshabilitado |
|
|
129
|
-
| `className` | `string` | `''` | Clases CSS adicionales para el trigger |
|
|
130
|
-
| `menuClassName` | `string` | `''` | Clases CSS adicionales para el menú |
|
|
131
|
-
| `ariaLabel` | `string` | - | Label para accesibilidad |
|
|
132
|
-
| `placeholder` | `string` | `'Options'` | Texto cuando no hay children |
|
|
133
|
-
|
|
134
|
-
### DropdownItemProps
|
|
135
|
-
|
|
136
|
-
| Prop | Type | Default | Description |
|
|
137
|
-
|------|------|---------|-------------|
|
|
138
|
-
| `children` | `ReactNode` | - | Contenido del item |
|
|
139
|
-
| `icon` | `ReactNode` | - | Icono a la izquierda |
|
|
140
|
-
| `description` | `string` | - | Descripción secundaria |
|
|
141
|
-
| `shortcut` | `string` | - | Atajo de teclado |
|
|
142
|
-
| `disabled` | `boolean` | `false` | Si está deshabilitado |
|
|
143
|
-
| `selected` | `boolean` | `false` | Si está seleccionado |
|
|
144
|
-
| `onClick` | `(event: MouseEvent) => void` | - | Handler del click |
|
|
145
|
-
| `className` | `string` | `''` | Clases CSS adicionales |
|
|
146
|
-
| `isDivider` | `boolean` | `false` | Si es un separador |
|
|
147
|
-
| `isHeading` | `boolean` | `false` | Si es un encabezado |
|
|
148
|
-
|
|
149
|
-
## Ejemplos de Uso
|
|
150
|
-
|
|
151
|
-
### User Menu
|
|
152
|
-
|
|
153
|
-
```tsx
|
|
154
|
-
<Dropdown
|
|
155
|
-
placeholder="John Doe"
|
|
156
|
-
items={[
|
|
157
|
-
{ children: 'Profile', icon: <UserIcon />, description: 'View your profile' },
|
|
158
|
-
{ children: 'Settings', icon: <CogIcon />, description: 'Manage your account', shortcut: '⌘ ,' },
|
|
159
|
-
{ isDivider: true },
|
|
160
|
-
{ children: 'Sign out' },
|
|
161
|
-
]}
|
|
162
|
-
/>
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Edit Menu
|
|
166
|
-
|
|
167
|
-
```tsx
|
|
168
|
-
<Dropdown
|
|
169
|
-
placeholder="Edit"
|
|
170
|
-
items={[
|
|
171
|
-
{ children: 'Undo', shortcut: '⌘ Z' },
|
|
172
|
-
{ children: 'Redo', shortcut: '⌘ ⇧ Z' },
|
|
173
|
-
{ isDivider: true },
|
|
174
|
-
{ children: 'Cut', shortcut: '⌘ X' },
|
|
175
|
-
{ children: 'Copy', shortcut: '⌘ C' },
|
|
176
|
-
{ children: 'Paste', shortcut: '⌘ V' },
|
|
177
|
-
]}
|
|
178
|
-
/>
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### View Menu
|
|
182
|
-
|
|
183
|
-
```tsx
|
|
184
|
-
<Dropdown
|
|
185
|
-
placeholder="View"
|
|
186
|
-
items={[
|
|
187
|
-
{ isHeading: true, children: 'Layout' },
|
|
188
|
-
{ children: 'Show Sidebar', shortcut: '⌘ B' },
|
|
189
|
-
{ children: 'Show Toolbar', shortcut: '⌘ T' },
|
|
190
|
-
{ isDivider: true },
|
|
191
|
-
{ isHeading: true, children: 'Appearance' },
|
|
192
|
-
{ children: 'Light Mode' },
|
|
193
|
-
{ children: 'Dark Mode' },
|
|
194
|
-
{ children: 'Auto' },
|
|
195
|
-
]}
|
|
196
|
-
/>
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
## Tokens del Sistema
|
|
200
|
-
|
|
201
|
-
El componente usa los siguientes tokens del sistema:
|
|
202
|
-
|
|
203
|
-
### Colores
|
|
204
|
-
|
|
205
|
-
- `bg-bg-primary` / `dark:bg-dark-bg-primary` - Fondo del trigger
|
|
206
|
-
- `bg-background-secondary` / `dark:bg-dark-bg-primary` - Fondo del menú
|
|
207
|
-
- `text-content-primary` / `dark:text-dark-content-primary` - Texto principal
|
|
208
|
-
- `text-content-secondary` / `dark:text-content-secondary` - Texto secundario
|
|
209
|
-
- `text-content-tertiary` / `dark:text-content-tertiary` - Headings
|
|
210
|
-
- `border-border-primary` / `dark:border-dark-border-primary` - Bordes
|
|
211
|
-
|
|
212
|
-
### Spacing
|
|
213
|
-
|
|
214
|
-
- `px-3` (12px) - Padding horizontal del trigger
|
|
215
|
-
- `py-2` (8px) - Padding vertical del trigger
|
|
216
|
-
- `px-4` (16px) - Padding horizontal de items
|
|
217
|
-
- `p-1` (4px) - Padding del menú
|
|
218
|
-
- `gap-3` (12px) - Gap entre elementos
|
|
219
|
-
|
|
220
|
-
### Border Radius
|
|
221
|
-
|
|
222
|
-
- `rounded-lg` (8px) - Trigger y items
|
|
223
|
-
- `rounded-xl` (12px) - Menú
|
|
224
|
-
|
|
225
|
-
### Typography
|
|
226
|
-
|
|
227
|
-
- `text-sm` (14px) - Trigger y items
|
|
228
|
-
- `text-xs` (12px) - Headings y shortcuts
|
|
229
|
-
|
|
230
|
-
### Shadows
|
|
231
|
-
|
|
232
|
-
- `shadow-menu` - Sombra del menú desplegable
|
|
233
|
-
|
|
234
|
-
## Especificaciones de Figma
|
|
235
|
-
|
|
236
|
-
Basado en las especificaciones de Figma del Siesa UI Kit:
|
|
237
|
-
|
|
238
|
-
- **Node ID**: 4194:15134
|
|
239
|
-
- **Componentes**: DropdownButton, DropdownMenu, DropdownItem, DropdownHeading, DropdownDivider
|
|
240
|
-
- **Estados**: Default, Hover, Focus, Disabled
|
|
241
|
-
- **Dark Mode**: Completo
|
|
242
|
-
|
|
243
|
-
## Accesibilidad
|
|
244
|
-
|
|
245
|
-
- Usa `aria-haspopup="true"` en el trigger
|
|
246
|
-
- Usa `aria-expanded` para indicar el estado
|
|
247
|
-
- Soporta `Escape` para cerrar
|
|
248
|
-
- Todos los items son navegables por teclado
|
|
249
|
-
- Usa `ariaLabel` para lectores de pantalla
|
|
250
|
-
|
|
251
|
-
## Mejores Prácticas
|
|
252
|
-
|
|
253
|
-
- Usa `isDivider: true` para separadores visuales
|
|
254
|
-
- Usa `isHeading: true` para encabezados de sección
|
|
255
|
-
- Agrega `description` para contexto adicional
|
|
256
|
-
- Agrega `shortcut` para indicar atajos de teclado
|
|
257
|
-
- Usa iconos para mejorar la claridad visual
|
|
258
|
-
- Limita la cantidad de items para evitar scroll excesivo
|
|
259
|
-
|
|
260
|
-
## Referencias
|
|
261
|
-
|
|
262
|
-
- [Sistema de Colores](../../docs/colors.md)
|
|
263
|
-
- [Sistema de Tipografía](../../docs/typography.md)
|
|
264
|
-
- [Sistema de Spacing](../../docs/spacing.md)
|
|
265
|
-
- [Sistema de Sombras](../../docs/shadows.md)
|
|
266
|
-
- [Dark Mode Guide](../../docs/dark-mode-guide.md)
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Iconos para el componente Dropdown
|
|
3
|
-
* Usando heroicons-micro según especificaciones de Figma
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export const ChevronDownIcon = () => (
|
|
7
|
-
<svg
|
|
8
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
-
viewBox="0 0 16 16"
|
|
10
|
-
fill="currentColor"
|
|
11
|
-
className="w-4 h-4"
|
|
12
|
-
>
|
|
13
|
-
<path
|
|
14
|
-
fillRule="evenodd"
|
|
15
|
-
d="M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z"
|
|
16
|
-
clipRule="evenodd"
|
|
17
|
-
/>
|
|
18
|
-
</svg>
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
export const CogIcon = () => (
|
|
22
|
-
<svg
|
|
23
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
24
|
-
viewBox="0 0 16 16"
|
|
25
|
-
fill="currentColor"
|
|
26
|
-
className="w-4 h-4"
|
|
27
|
-
>
|
|
28
|
-
<path
|
|
29
|
-
fillRule="evenodd"
|
|
30
|
-
d="M6.455 1.45A.5.5 0 0 1 6.952 1h2.096a.5.5 0 0 1 .497.45l.186 1.858a4.996 4.996 0 0 1 1.466.848l1.703-.769a.5.5 0 0 1 .639.206l1.047 1.814a.5.5 0 0 1-.14.656l-1.517 1.09a5.026 5.026 0 0 1 0 1.694l1.516 1.09a.5.5 0 0 1 .141.656l-1.047 1.814a.5.5 0 0 1-.639.206l-1.703-.768c-.433.36-.928.649-1.466.847l-.186 1.858a.5.5 0 0 1-.497.45H6.952a.5.5 0 0 1-.497-.45l-.186-1.858a4.993 4.993 0 0 1-1.466-.848l-1.703.769a.5.5 0 0 1-.639-.206l-1.047-1.814a.5.5 0 0 1 .14-.656l1.517-1.09a5.033 5.033 0 0 1 0-1.694l-1.516-1.09a.5.5 0 0 1-.141-.656L2.461 3.39a.5.5 0 0 1 .639-.206l1.703.768c.433-.36.928-.649 1.466-.847l.186-1.858ZM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"
|
|
31
|
-
clipRule="evenodd"
|
|
32
|
-
/>
|
|
33
|
-
</svg>
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
export const UserIcon = () => (
|
|
37
|
-
<svg
|
|
38
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
39
|
-
viewBox="0 0 16 16"
|
|
40
|
-
fill="currentColor"
|
|
41
|
-
className="w-4 h-4"
|
|
42
|
-
>
|
|
43
|
-
<path d="M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM12.735 14c.618 0 1.093-.561.872-1.139a6.002 6.002 0 0 0-11.215 0c-.22.578.254 1.139.872 1.139h9.47Z" />
|
|
44
|
-
</svg>
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
export const BellIcon = () => (
|
|
48
|
-
<svg
|
|
49
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
50
|
-
viewBox="0 0 16 16"
|
|
51
|
-
fill="currentColor"
|
|
52
|
-
className="w-4 h-4"
|
|
53
|
-
>
|
|
54
|
-
<path
|
|
55
|
-
fillRule="evenodd"
|
|
56
|
-
d="M12 5a4 4 0 0 0-8 0v2.379a1.5 1.5 0 0 1-.44 1.06L2.294 9.707a1 1 0 0 0-.293.707V11a1 1 0 0 0 1 1h2a3 3 0 1 0 6 0h2a1 1 0 0 0 1-1v-.586a1 1 0 0 0-.293-.707L12.44 8.44A1.5 1.5 0 0 1 12 7.38V5Zm-5.5 7a1.5 1.5 0 0 0 3 0h-3Z"
|
|
57
|
-
clipRule="evenodd"
|
|
58
|
-
/>
|
|
59
|
-
</svg>
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
export const CreditCardIcon = () => (
|
|
63
|
-
<svg
|
|
64
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
65
|
-
viewBox="0 0 16 16"
|
|
66
|
-
fill="currentColor"
|
|
67
|
-
className="w-4 h-4"
|
|
68
|
-
>
|
|
69
|
-
<path d="M2.5 3A1.5 1.5 0 0 0 1 4.5v.793c.026.009.051.02.076.032L7.674 8.51c.206.1.446.1.652 0l6.598-3.185A.755.755 0 0 1 15 5.293V4.5A1.5 1.5 0 0 0 13.5 3h-11Z" />
|
|
70
|
-
<path d="M15 6.954 8.978 9.86a2.25 2.25 0 0 1-1.956 0L1 6.954V11.5A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5V6.954Z" />
|
|
71
|
-
</svg>
|
|
72
|
-
);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { Dropdown, DropdownItem, DropdownHeading, DropdownDivider } from './Dropdown';
|
|
2
|
-
export type {
|
|
3
|
-
DropdownProps,
|
|
4
|
-
DropdownItemProps,
|
|
5
|
-
DropdownHeadingProps,
|
|
6
|
-
DropdownDividerProps,
|
|
7
|
-
} from './Dropdown.types';
|
|
8
|
-
export { ChevronDownIcon, CogIcon, UserIcon, BellIcon, CreditCardIcon } from './icons';
|