siesa-ui-kit 1.0.2 → 1.0.3
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/package.json +2 -9
- package/claude/settings.local.json +0 -7
- 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/public/,Business Logo.png +0 -0
- package/public/.Siesa Logo.png +0 -0
- package/public/bg_siesa.png +0 -0
- package/public/siesa_logo_mobile.png +0 -0
- package/public/vite.svg +0 -1
- 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/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +0 -317
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +0 -287
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +0 -111
- package/src/components/DropdownItemCollapsible/README.md +0 -264
- package/src/components/DropdownItemCollapsible/icons.tsx +0 -57
- package/src/components/DropdownItemCollapsible/index.ts +0 -12
- package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +0 -386
- package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +0 -216
- package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +0 -93
- package/src/components/DropdownItemHeading/README.md +0 -573
- package/src/components/DropdownItemHeading/icons.tsx +0 -125
- package/src/components/DropdownItemHeading/index.ts +0 -3
- 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/NavigationRailItem/NavigationRailItem.stories.tsx +0 -667
- package/src/components/NavigationRailItem/NavigationRailItem.tsx +0 -313
- package/src/components/NavigationRailItem/NavigationRailItem.types.ts +0 -167
- package/src/components/NavigationRailItem/README.md +0 -476
- package/src/components/NavigationRailItem/index.ts +0 -2
- package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +0 -462
- package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +0 -332
- package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +0 -178
- package/src/components/NavigationRailPanel/README.md +0 -461
- package/src/components/NavigationRailPanel/index.ts +0 -6
- package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +0 -528
- package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +0 -378
- package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +0 -130
- package/src/components/NavigationRailTypes/README.md +0 -573
- package/src/components/NavigationRailTypes/icons.tsx +0 -141
- package/src/components/NavigationRailTypes/index.ts +0 -7
- 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 -102
- package/src/main.tsx +0 -10
- package/src/views/ListView/ListView.stories.tsx +0 -329
- package/src/views/ListView/ListView.tsx +0 -570
- package/src/views/ListView/ListView.types.ts +0 -211
- package/src/views/ListView/icons.tsx +0 -282
- package/src/views/ListView/index.ts +0 -11
- package/src/views/LoginView/LoginView.stories.tsx +0 -148
- package/src/views/LoginView/LoginView.tsx +0 -426
- package/src/views/LoginView/LoginView.types.ts +0 -52
- package/src/views/LoginView/README.md +0 -396
- package/src/views/LoginView/icons.tsx +0 -85
- package/src/views/LoginView/index.ts +0 -3
- 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/SignUpView/SignUpView.stories.tsx +0 -129
- package/src/views/SignUpView/SignUpView.tsx +0 -503
- package/src/views/SignUpView/SignUpView.types.ts +0 -58
- package/src/views/SignUpView/icons.tsx +0 -71
- package/src/views/SignUpView/index.ts +0 -3
- 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
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import type { ReactNode, ReactElement } from 'react';
|
|
2
|
-
import type { BadgeColor } from '../../components/Badge/Badge.types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Interfaz para los items de navegación (Navigation Rail)
|
|
6
|
-
*/
|
|
7
|
-
export interface ListViewNavigationItem {
|
|
8
|
-
/** ID único del item */
|
|
9
|
-
id: string;
|
|
10
|
-
/** Icono del item */
|
|
11
|
-
icon: ReactNode;
|
|
12
|
-
/** Label del item */
|
|
13
|
-
label: string;
|
|
14
|
-
/** Si el item está seleccionado */
|
|
15
|
-
selected?: boolean;
|
|
16
|
-
/** Si el item está deshabilitado */
|
|
17
|
-
disabled?: boolean;
|
|
18
|
-
/** Badge de notificación */
|
|
19
|
-
badge?: boolean;
|
|
20
|
-
/** Contador de badge */
|
|
21
|
-
badgeCount?: number;
|
|
22
|
-
/** Handler de click */
|
|
23
|
-
onClick?: () => void;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Interfaz para los filtros rápidos (badges en la barra de navegación)
|
|
28
|
-
*/
|
|
29
|
-
export interface ListViewQuickFilter {
|
|
30
|
-
/** ID único del filtro */
|
|
31
|
-
id: string;
|
|
32
|
-
/** Label del filtro */
|
|
33
|
-
label: string;
|
|
34
|
-
/** Color del badge */
|
|
35
|
-
color: BadgeColor;
|
|
36
|
-
/** Icono del filtro */
|
|
37
|
-
icon?: ReactElement;
|
|
38
|
-
/** Si el filtro está activo */
|
|
39
|
-
active?: boolean;
|
|
40
|
-
/** Handler de click */
|
|
41
|
-
onClick?: () => void;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Interfaz para las columnas de la tabla
|
|
46
|
-
*/
|
|
47
|
-
export interface ListViewColumn<T = any> {
|
|
48
|
-
/** Título del header */
|
|
49
|
-
header: string;
|
|
50
|
-
/** Key del objeto para acceder al valor */
|
|
51
|
-
accessor: keyof T | ((row: T) => any);
|
|
52
|
-
/** Si es sortable */
|
|
53
|
-
sortable?: boolean;
|
|
54
|
-
/** Render custom */
|
|
55
|
-
render?: (value: any, row: T, index: number) => ReactNode;
|
|
56
|
-
/** Alineación */
|
|
57
|
-
align?: 'left' | 'center' | 'right';
|
|
58
|
-
/** Ancho */
|
|
59
|
-
width?: string;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Interfaz para los datos del dropdown de usuario
|
|
64
|
-
*/
|
|
65
|
-
export interface ListViewUserDropdown {
|
|
66
|
-
/** URL del avatar */
|
|
67
|
-
avatar: string;
|
|
68
|
-
/** Nombre del usuario */
|
|
69
|
-
name: string;
|
|
70
|
-
/** Email o rol del usuario */
|
|
71
|
-
email?: string;
|
|
72
|
-
/** Rol del usuario */
|
|
73
|
-
role?: string;
|
|
74
|
-
/** Handler del click en menú */
|
|
75
|
-
onMenuClick?: () => void;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Interfaz para las notificaciones
|
|
80
|
-
*/
|
|
81
|
-
export interface ListViewNotifications {
|
|
82
|
-
/** Contador del carrito */
|
|
83
|
-
cart?: number;
|
|
84
|
-
/** Si tiene notificaciones de campana */
|
|
85
|
-
bell?: boolean;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Interfaz para los botones de acción
|
|
90
|
-
*/
|
|
91
|
-
export interface ListViewActionButton {
|
|
92
|
-
/** ID del botón */
|
|
93
|
-
id: string;
|
|
94
|
-
/** Label del botón */
|
|
95
|
-
label: string;
|
|
96
|
-
/** Icono del botón */
|
|
97
|
-
icon?: ReactNode;
|
|
98
|
-
/** Handler del click */
|
|
99
|
-
onClick?: () => void;
|
|
100
|
-
/** Variante del botón */
|
|
101
|
-
variant?: 'primary' | 'secondary';
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Dirección de ordenamiento
|
|
106
|
-
*/
|
|
107
|
-
export type ListViewSortDirection = 'asc' | 'desc' | null;
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Props del componente ListView
|
|
111
|
-
*/
|
|
112
|
-
export interface ListViewProps<T = any> {
|
|
113
|
-
/** Título de la vista */
|
|
114
|
-
title?: string;
|
|
115
|
-
|
|
116
|
-
/** Título del navbar */
|
|
117
|
-
navbarTitle?: string;
|
|
118
|
-
|
|
119
|
-
/** Título de la tabla */
|
|
120
|
-
tableTitle?: string;
|
|
121
|
-
|
|
122
|
-
/** Columnas de la tabla */
|
|
123
|
-
columns: ListViewColumn<T>[];
|
|
124
|
-
|
|
125
|
-
/** Datos de la tabla */
|
|
126
|
-
data: T[];
|
|
127
|
-
|
|
128
|
-
/** Items de navegación lateral */
|
|
129
|
-
navigationItems?: ListViewNavigationItem[];
|
|
130
|
-
|
|
131
|
-
/** Filtros rápidos */
|
|
132
|
-
quickFilters?: ListViewQuickFilter[];
|
|
133
|
-
|
|
134
|
-
/** Botones de acción */
|
|
135
|
-
actionButtons?: ListViewActionButton[];
|
|
136
|
-
|
|
137
|
-
/** Dropdown del usuario */
|
|
138
|
-
userDropdown?: ListViewUserDropdown;
|
|
139
|
-
|
|
140
|
-
/** Notificaciones */
|
|
141
|
-
notifications?: ListViewNotifications;
|
|
142
|
-
|
|
143
|
-
/** Badge de ambiente */
|
|
144
|
-
environmentBadge?: string;
|
|
145
|
-
|
|
146
|
-
/** Si mostrar el FAB en navigation rail */
|
|
147
|
-
showFab?: boolean;
|
|
148
|
-
|
|
149
|
-
/** Icono del FAB */
|
|
150
|
-
fabIcon?: ReactNode;
|
|
151
|
-
|
|
152
|
-
/** Handler del FAB */
|
|
153
|
-
onFabClick?: () => void;
|
|
154
|
-
|
|
155
|
-
/** Handler de búsqueda */
|
|
156
|
-
onSearch?: (query: string) => void;
|
|
157
|
-
|
|
158
|
-
/** Placeholder del buscador */
|
|
159
|
-
searchPlaceholder?: string;
|
|
160
|
-
|
|
161
|
-
/** Handler de ordenamiento */
|
|
162
|
-
onSort?: (column: keyof T | string, direction: ListViewSortDirection) => void;
|
|
163
|
-
|
|
164
|
-
/** Columna de ordenamiento actual */
|
|
165
|
-
sortColumn?: keyof T | string;
|
|
166
|
-
|
|
167
|
-
/** Dirección de ordenamiento actual */
|
|
168
|
-
sortDirection?: ListViewSortDirection;
|
|
169
|
-
|
|
170
|
-
/** Props de paginación */
|
|
171
|
-
pagination?: {
|
|
172
|
-
currentPage: number;
|
|
173
|
-
totalPages: number;
|
|
174
|
-
onPageChange: (page: number) => void;
|
|
175
|
-
previousLabel?: string;
|
|
176
|
-
nextLabel?: string;
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
/** Si está cargando */
|
|
180
|
-
loading?: boolean;
|
|
181
|
-
|
|
182
|
-
/** Número de filas skeleton */
|
|
183
|
-
loadingRows?: number;
|
|
184
|
-
|
|
185
|
-
/** Mensaje cuando no hay datos */
|
|
186
|
-
emptyMessage?: string;
|
|
187
|
-
|
|
188
|
-
/** Clases adicionales */
|
|
189
|
-
className?: string;
|
|
190
|
-
|
|
191
|
-
/** ID de navegación seleccionado */
|
|
192
|
-
selectedNavId?: string;
|
|
193
|
-
|
|
194
|
-
/** Handler de selección de navegación */
|
|
195
|
-
onNavSelect?: (id: string) => void;
|
|
196
|
-
|
|
197
|
-
/** Handler click en carrito */
|
|
198
|
-
onCartClick?: () => void;
|
|
199
|
-
|
|
200
|
-
/** Handler click en notificaciones */
|
|
201
|
-
onNotificationsClick?: () => void;
|
|
202
|
-
|
|
203
|
-
/** Opciones del dropdown de vista */
|
|
204
|
-
viewOptions?: Array<{ id: string; label: string }>;
|
|
205
|
-
|
|
206
|
-
/** Opción de vista seleccionada */
|
|
207
|
-
selectedViewOption?: string;
|
|
208
|
-
|
|
209
|
-
/** Handler de cambio de opción de vista */
|
|
210
|
-
onViewOptionChange?: (id: string) => void;
|
|
211
|
-
}
|
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Iconos para ListView del sistema de diseño Siesa
|
|
5
|
-
* Basados en Heroicons Micro (16x16)
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
export const HomeIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
9
|
-
<svg
|
|
10
|
-
className={className}
|
|
11
|
-
width="16"
|
|
12
|
-
height="16"
|
|
13
|
-
viewBox="0 0 16 16"
|
|
14
|
-
fill="currentColor"
|
|
15
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
16
|
-
>
|
|
17
|
-
<path d="M8.543 2.232a.75.75 0 0 0-1.085 0l-5.25 5.5A.75.75 0 0 0 2.75 9H4v4a1 1 0 0 0 1 1h1.5a.5.5 0 0 0 .5-.5v-2a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v2a.5.5 0 0 0 .5.5H12a1 1 0 0 0 1-1V9h1.25a.75.75 0 0 0 .543-1.268l-5.25-5.5Z" />
|
|
18
|
-
</svg>
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
export const GlobeAltIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
22
|
-
<svg
|
|
23
|
-
className={className}
|
|
24
|
-
width="16"
|
|
25
|
-
height="16"
|
|
26
|
-
viewBox="0 0 16 16"
|
|
27
|
-
fill="currentColor"
|
|
28
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
29
|
-
>
|
|
30
|
-
<path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM5.37 2.822a6.493 6.493 0 0 0-2.818 3.428h2.103c.088-.907.254-1.778.494-2.595a8.932 8.932 0 0 1 .221-.833ZM1.5 8c0 .522.062 1.03.179 1.516l.135.484h2.49a16.15 16.15 0 0 1 0-4H1.815L1.68 6.484A6.533 6.533 0 0 0 1.5 8Zm.552 2.75A6.493 6.493 0 0 0 5.37 14.18a8.932 8.932 0 0 1-.221-.833 13.2 13.2 0 0 1-.494-2.595H2.552Zm4.058 0c.083.78.23 1.497.429 2.128.197.622.423 1.07.649 1.357.225.286.401.265.312.265.089 0 .265.021.49-.265.226-.287.452-.735.649-1.357.199-.631.346-1.348.429-2.128H6.11Zm4.234 0a13.198 13.198 0 0 1-.494 2.595 8.938 8.938 0 0 1-.22.833 6.493 6.493 0 0 0 2.817-3.428h-2.103Zm2.104-2h-2.48a16.15 16.15 0 0 0 0-4h2.48l.135.484A6.538 6.538 0 0 1 14.5 8a6.538 6.538 0 0 1-.179 1.516l-.135.484h.162Zm-2.818-4.928c.167.251.394.699.221.833.24.817.406 1.688.494 2.595h2.103a6.493 6.493 0 0 0-2.818-3.428ZM9.89 6h-3.78c.083-.78.23-1.497.429-2.128.197-.622.423-1.07.649-1.357.225-.286.401-.265.312-.265.089 0 .265-.021.49.265.226.287.452.735.649 1.357.199.631.346 1.348.429 2.128Zm-4.234 0H3.553a6.493 6.493 0 0 1 2.818-3.428 8.932 8.932 0 0 0-.221.833c-.24.817-.406 1.688-.494 2.595Zm.144 2a14.65 14.65 0 0 0 0 4h4.4a14.65 14.65 0 0 0 0-4H5.8Z" />
|
|
31
|
-
</svg>
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
export const DocumentTextIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
35
|
-
<svg
|
|
36
|
-
className={className}
|
|
37
|
-
width="16"
|
|
38
|
-
height="16"
|
|
39
|
-
viewBox="0 0 16 16"
|
|
40
|
-
fill="currentColor"
|
|
41
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
42
|
-
>
|
|
43
|
-
<path
|
|
44
|
-
fillRule="evenodd"
|
|
45
|
-
d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm1 5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5Zm-.5 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5Z"
|
|
46
|
-
clipRule="evenodd"
|
|
47
|
-
/>
|
|
48
|
-
</svg>
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
export const CloudIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
52
|
-
<svg
|
|
53
|
-
className={className}
|
|
54
|
-
width="16"
|
|
55
|
-
height="16"
|
|
56
|
-
viewBox="0 0 16 16"
|
|
57
|
-
fill="currentColor"
|
|
58
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
59
|
-
>
|
|
60
|
-
<path d="M1 9.5A3.5 3.5 0 0 0 4.5 13H12a3 3 0 0 0 .917-5.857 2.503 2.503 0 0 0-3.198-3.019 3.5 3.5 0 0 0-6.628 2.171A3.5 3.5 0 0 0 1 9.5Z" />
|
|
61
|
-
</svg>
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
export const SquaresPlusIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
65
|
-
<svg
|
|
66
|
-
className={className}
|
|
67
|
-
width="16"
|
|
68
|
-
height="16"
|
|
69
|
-
viewBox="0 0 16 16"
|
|
70
|
-
fill="currentColor"
|
|
71
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
72
|
-
>
|
|
73
|
-
<path d="M2 4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4ZM10 4a2 2 0 0 1 2-2h.5a.5.5 0 0 1 0 1H12a1 1 0 0 0-1 1v.5a.5.5 0 0 1-1 0V4ZM2 12a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v2ZM10.5 8a.5.5 0 0 0-.5.5V10H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V11h1.5a.5.5 0 0 0 0-1H11V8.5a.5.5 0 0 0-.5-.5Z" />
|
|
74
|
-
</svg>
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
export const MagnifyingGlassIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
78
|
-
<svg
|
|
79
|
-
className={className}
|
|
80
|
-
width="16"
|
|
81
|
-
height="16"
|
|
82
|
-
viewBox="0 0 16 16"
|
|
83
|
-
fill="currentColor"
|
|
84
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
85
|
-
>
|
|
86
|
-
<path
|
|
87
|
-
fillRule="evenodd"
|
|
88
|
-
d="M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z"
|
|
89
|
-
clipRule="evenodd"
|
|
90
|
-
/>
|
|
91
|
-
</svg>
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
export const PlusIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
95
|
-
<svg
|
|
96
|
-
className={className}
|
|
97
|
-
width="16"
|
|
98
|
-
height="16"
|
|
99
|
-
viewBox="0 0 16 16"
|
|
100
|
-
fill="currentColor"
|
|
101
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
102
|
-
>
|
|
103
|
-
<path d="M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z" />
|
|
104
|
-
</svg>
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
export const ListBulletIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
108
|
-
<svg
|
|
109
|
-
className={className}
|
|
110
|
-
width="16"
|
|
111
|
-
height="16"
|
|
112
|
-
viewBox="0 0 16 16"
|
|
113
|
-
fill="currentColor"
|
|
114
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
115
|
-
>
|
|
116
|
-
<path
|
|
117
|
-
fillRule="evenodd"
|
|
118
|
-
d="M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM4.75 3.25a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5ZM4 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 4 8Zm.75 3.25a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5ZM3 8a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-.5 4.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z"
|
|
119
|
-
clipRule="evenodd"
|
|
120
|
-
/>
|
|
121
|
-
</svg>
|
|
122
|
-
);
|
|
123
|
-
|
|
124
|
-
export const FunnelIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
125
|
-
<svg
|
|
126
|
-
className={className}
|
|
127
|
-
width="16"
|
|
128
|
-
height="16"
|
|
129
|
-
viewBox="0 0 16 16"
|
|
130
|
-
fill="currentColor"
|
|
131
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
132
|
-
>
|
|
133
|
-
<path d="M14 2H2c-.55 0-.95.538-.75 1.032l3 7.5c.127.318.44.528.783.528h5.934c.343 0 .656-.21.783-.528l3-7.5C14.95 2.538 14.55 2 14 2Z" />
|
|
134
|
-
<path d="M6 12.25v1.25a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1.25H6Z" />
|
|
135
|
-
</svg>
|
|
136
|
-
);
|
|
137
|
-
|
|
138
|
-
export const DocumentCheckIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
139
|
-
<svg
|
|
140
|
-
className={className}
|
|
141
|
-
width="16"
|
|
142
|
-
height="16"
|
|
143
|
-
viewBox="0 0 16 16"
|
|
144
|
-
fill="currentColor"
|
|
145
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
146
|
-
>
|
|
147
|
-
<path
|
|
148
|
-
fillRule="evenodd"
|
|
149
|
-
d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm6.78 5.28a.75.75 0 1 0-1.06-1.06L7 8.94 5.78 7.72a.75.75 0 0 0-1.06 1.06l1.75 1.75a.75.75 0 0 0 1.06 0l3.25-3.25Z"
|
|
150
|
-
clipRule="evenodd"
|
|
151
|
-
/>
|
|
152
|
-
</svg>
|
|
153
|
-
);
|
|
154
|
-
|
|
155
|
-
export const DocumentMinusIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
156
|
-
<svg
|
|
157
|
-
className={className}
|
|
158
|
-
width="16"
|
|
159
|
-
height="16"
|
|
160
|
-
viewBox="0 0 16 16"
|
|
161
|
-
fill="currentColor"
|
|
162
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
163
|
-
>
|
|
164
|
-
<path
|
|
165
|
-
fillRule="evenodd"
|
|
166
|
-
d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm1 6.25a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5H5Z"
|
|
167
|
-
clipRule="evenodd"
|
|
168
|
-
/>
|
|
169
|
-
</svg>
|
|
170
|
-
);
|
|
171
|
-
|
|
172
|
-
export const DocumentArrowUpIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
173
|
-
<svg
|
|
174
|
-
className={className}
|
|
175
|
-
width="16"
|
|
176
|
-
height="16"
|
|
177
|
-
viewBox="0 0 16 16"
|
|
178
|
-
fill="currentColor"
|
|
179
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
180
|
-
>
|
|
181
|
-
<path
|
|
182
|
-
fillRule="evenodd"
|
|
183
|
-
d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm4.53 4.22a.75.75 0 0 0-1.06 0L5.22 8.47a.75.75 0 1 0 1.06 1.06l.97-.97v2.69a.75.75 0 0 0 1.5 0V8.56l.97.97a.75.75 0 1 0 1.06-1.06L8.53 6.22Z"
|
|
184
|
-
clipRule="evenodd"
|
|
185
|
-
/>
|
|
186
|
-
</svg>
|
|
187
|
-
);
|
|
188
|
-
|
|
189
|
-
export const BellIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
190
|
-
<svg
|
|
191
|
-
className={className}
|
|
192
|
-
width="16"
|
|
193
|
-
height="16"
|
|
194
|
-
viewBox="0 0 16 16"
|
|
195
|
-
fill="currentColor"
|
|
196
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
197
|
-
>
|
|
198
|
-
<path
|
|
199
|
-
fillRule="evenodd"
|
|
200
|
-
d="M12 5a4 4 0 0 0-8 0v2.379c0 .398-.158.779-.44 1.06L2.294 9.707a1 1 0 0 0 .707 1.707h9.998a1 1 0 0 0 .707-1.707l-1.266-1.268A1.5 1.5 0 0 1 12 7.379V5ZM6.268 13.682a.75.75 0 0 0 1.04.199 1.496 1.496 0 0 0 1.385 0 .75.75 0 1 0-.839-1.244.003.003 0 0 1-.004.003.003.003 0 0 1-.004-.003.75.75 0 0 0-1.244.199.75.75 0 0 0 .666.846Z"
|
|
201
|
-
clipRule="evenodd"
|
|
202
|
-
/>
|
|
203
|
-
</svg>
|
|
204
|
-
);
|
|
205
|
-
|
|
206
|
-
export const ChevronDownIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
207
|
-
<svg
|
|
208
|
-
className={className}
|
|
209
|
-
width="16"
|
|
210
|
-
height="16"
|
|
211
|
-
viewBox="0 0 16 16"
|
|
212
|
-
fill="currentColor"
|
|
213
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
214
|
-
>
|
|
215
|
-
<path
|
|
216
|
-
fillRule="evenodd"
|
|
217
|
-
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"
|
|
218
|
-
clipRule="evenodd"
|
|
219
|
-
/>
|
|
220
|
-
</svg>
|
|
221
|
-
);
|
|
222
|
-
|
|
223
|
-
export const ArrowLongLeftIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
224
|
-
<svg
|
|
225
|
-
className={className}
|
|
226
|
-
width="16"
|
|
227
|
-
height="16"
|
|
228
|
-
viewBox="0 0 16 16"
|
|
229
|
-
fill="currentColor"
|
|
230
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
231
|
-
>
|
|
232
|
-
<path
|
|
233
|
-
fillRule="evenodd"
|
|
234
|
-
d="M14 8a.75.75 0 0 1-.75.75H3.81l2.72 2.72a.75.75 0 1 1-1.06 1.06l-4-4a.75.75 0 0 1 0-1.06l4-4a.75.75 0 0 1 1.06 1.06L3.81 7.25h9.44A.75.75 0 0 1 14 8Z"
|
|
235
|
-
clipRule="evenodd"
|
|
236
|
-
/>
|
|
237
|
-
</svg>
|
|
238
|
-
);
|
|
239
|
-
|
|
240
|
-
export const ArrowLongRightIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
241
|
-
<svg
|
|
242
|
-
className={className}
|
|
243
|
-
width="16"
|
|
244
|
-
height="16"
|
|
245
|
-
viewBox="0 0 16 16"
|
|
246
|
-
fill="currentColor"
|
|
247
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
248
|
-
>
|
|
249
|
-
<path
|
|
250
|
-
fillRule="evenodd"
|
|
251
|
-
d="M2 8a.75.75 0 0 1 .75-.75h9.44l-2.72-2.72a.75.75 0 0 1 1.06-1.06l4 4a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 1 1-1.06-1.06l2.72-2.72H2.75A.75.75 0 0 1 2 8Z"
|
|
252
|
-
clipRule="evenodd"
|
|
253
|
-
/>
|
|
254
|
-
</svg>
|
|
255
|
-
);
|
|
256
|
-
|
|
257
|
-
export const EllipsisHorizontalIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
258
|
-
<svg
|
|
259
|
-
className={className}
|
|
260
|
-
width="16"
|
|
261
|
-
height="16"
|
|
262
|
-
viewBox="0 0 16 16"
|
|
263
|
-
fill="currentColor"
|
|
264
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
265
|
-
>
|
|
266
|
-
<path d="M2 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM6.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM12.5 6.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z" />
|
|
267
|
-
</svg>
|
|
268
|
-
);
|
|
269
|
-
|
|
270
|
-
export const EnvelopeIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
|
|
271
|
-
<svg
|
|
272
|
-
className={className}
|
|
273
|
-
width="16"
|
|
274
|
-
height="16"
|
|
275
|
-
viewBox="0 0 16 16"
|
|
276
|
-
fill="currentColor"
|
|
277
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
278
|
-
>
|
|
279
|
-
<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" />
|
|
280
|
-
<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" />
|
|
281
|
-
</svg>
|
|
282
|
-
);
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { ListView } from './ListView';
|
|
2
|
-
export type {
|
|
3
|
-
ListViewProps,
|
|
4
|
-
ListViewColumn,
|
|
5
|
-
ListViewNavigationItem,
|
|
6
|
-
ListViewQuickFilter,
|
|
7
|
-
ListViewUserDropdown,
|
|
8
|
-
ListViewNotifications,
|
|
9
|
-
ListViewActionButton,
|
|
10
|
-
ListViewSortDirection,
|
|
11
|
-
} from './ListView.types';
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { LoginView } from './LoginView';
|
|
3
|
-
|
|
4
|
-
const meta = {
|
|
5
|
-
title: 'Siesa UI Kit/Views/LoginView',
|
|
6
|
-
component: LoginView,
|
|
7
|
-
parameters: {
|
|
8
|
-
layout: 'fullscreen',
|
|
9
|
-
docs: {
|
|
10
|
-
description: {
|
|
11
|
-
component: 'Vista completa de inicio de sesión del sistema Siesa.',
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
tags: ['autodocs'],
|
|
16
|
-
argTypes: {
|
|
17
|
-
onSubmit: {
|
|
18
|
-
action: 'submit',
|
|
19
|
-
description: 'Handler cuando se envía el formulario con (email, password)',
|
|
20
|
-
},
|
|
21
|
-
onForgotPassword: {
|
|
22
|
-
action: 'forgot-password',
|
|
23
|
-
description: 'Handler cuando se hace click en "Olvidé mi Contraseña"',
|
|
24
|
-
},
|
|
25
|
-
onSignUp: {
|
|
26
|
-
action: 'sign-up',
|
|
27
|
-
description: 'Handler cuando se hace click en "¿No tienes una cuenta?"',
|
|
28
|
-
},
|
|
29
|
-
isLoading: {
|
|
30
|
-
control: 'boolean',
|
|
31
|
-
description: 'Si el formulario está en estado de carga',
|
|
32
|
-
},
|
|
33
|
-
errorMessage: {
|
|
34
|
-
control: 'text',
|
|
35
|
-
description: 'Mensaje de error general a mostrar',
|
|
36
|
-
},
|
|
37
|
-
showBackground: {
|
|
38
|
-
control: 'boolean',
|
|
39
|
-
description: 'Si se muestra el fondo decorativo con imagen',
|
|
40
|
-
},
|
|
41
|
-
variant: {
|
|
42
|
-
control: 'select',
|
|
43
|
-
options: ['responsive', 'mobile', 'desktop'],
|
|
44
|
-
description: 'Variante de visualización: responsive (adapta al viewport), mobile (siempre mobile), desktop (siempre desktop)',
|
|
45
|
-
defaultValue: 'responsive',
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
} satisfies Meta<typeof LoginView>;
|
|
49
|
-
|
|
50
|
-
export default meta;
|
|
51
|
-
type Story = StoryObj<typeof meta>;
|
|
52
|
-
|
|
53
|
-
// ============================================
|
|
54
|
-
// 1. DESKTOP
|
|
55
|
-
// ============================================
|
|
56
|
-
export const Desktop: Story = {
|
|
57
|
-
render: () => (
|
|
58
|
-
<div className="min-h-screen w-full">
|
|
59
|
-
<LoginView
|
|
60
|
-
onSubmit={(email, password) => {
|
|
61
|
-
console.log('Login:', { email, password });
|
|
62
|
-
alert(`Login con:\nEmail: ${email}\nPassword: ${password}`);
|
|
63
|
-
}}
|
|
64
|
-
onForgotPassword={() => {
|
|
65
|
-
console.log('Forgot password clicked');
|
|
66
|
-
alert('Redirigiendo a recuperación de contraseña...');
|
|
67
|
-
}}
|
|
68
|
-
onSignUp={() => {
|
|
69
|
-
console.log('Sign up clicked');
|
|
70
|
-
alert('Redirigiendo a registro...');
|
|
71
|
-
}}
|
|
72
|
-
/>
|
|
73
|
-
</div>
|
|
74
|
-
),
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
// ============================================
|
|
78
|
-
// 2. CON ESTADO DE CARGA
|
|
79
|
-
// ============================================
|
|
80
|
-
export const Loading: Story = {
|
|
81
|
-
render: () => (
|
|
82
|
-
<div className="min-h-screen w-full">
|
|
83
|
-
<LoginView
|
|
84
|
-
isLoading={true}
|
|
85
|
-
onSubmit={(email, password) => {
|
|
86
|
-
console.log('Login:', { email, password });
|
|
87
|
-
}}
|
|
88
|
-
onForgotPassword={() => {
|
|
89
|
-
console.log('Forgot password clicked');
|
|
90
|
-
}}
|
|
91
|
-
onSignUp={() => {
|
|
92
|
-
console.log('Sign up clicked');
|
|
93
|
-
}}
|
|
94
|
-
/>
|
|
95
|
-
</div>
|
|
96
|
-
),
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
// ============================================
|
|
100
|
-
// 3. CON MENSAJE DE ERROR
|
|
101
|
-
// ============================================
|
|
102
|
-
export const WithError: Story = {
|
|
103
|
-
render: () => (
|
|
104
|
-
<div className="min-h-screen w-full">
|
|
105
|
-
<LoginView
|
|
106
|
-
errorMessage="Credenciales incorrectas. Por favor verifica tu email y contraseña."
|
|
107
|
-
onSubmit={(email, password) => {
|
|
108
|
-
console.log('Login:', { email, password });
|
|
109
|
-
alert(`Login con:\nEmail: ${email}\nPassword: ${password}`);
|
|
110
|
-
}}
|
|
111
|
-
onForgotPassword={() => {
|
|
112
|
-
console.log('Forgot password clicked');
|
|
113
|
-
alert('Redirigiendo a recuperación de contraseña...');
|
|
114
|
-
}}
|
|
115
|
-
onSignUp={() => {
|
|
116
|
-
console.log('Sign up clicked');
|
|
117
|
-
alert('Redirigiendo a registro...');
|
|
118
|
-
}}
|
|
119
|
-
/>
|
|
120
|
-
</div>
|
|
121
|
-
),
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
// ============================================
|
|
125
|
-
// 4. SIN FONDO DECORATIVO
|
|
126
|
-
// ============================================
|
|
127
|
-
export const WithoutBackground: Story = {
|
|
128
|
-
render: () => (
|
|
129
|
-
<div className="min-h-screen w-full bg-gray-100 dark:bg-gray-900">
|
|
130
|
-
<LoginView
|
|
131
|
-
showBackground={false}
|
|
132
|
-
onSubmit={(email, password) => {
|
|
133
|
-
console.log('Login:', { email, password });
|
|
134
|
-
alert(`Login con:\nEmail: ${email}\nPassword: ${password}`);
|
|
135
|
-
}}
|
|
136
|
-
onForgotPassword={() => {
|
|
137
|
-
console.log('Forgot password clicked');
|
|
138
|
-
alert('Redirigiendo a recuperación de contraseña...');
|
|
139
|
-
}}
|
|
140
|
-
onSignUp={() => {
|
|
141
|
-
console.log('Sign up clicked');
|
|
142
|
-
alert('Redirigiendo a registro...');
|
|
143
|
-
}}
|
|
144
|
-
/>
|
|
145
|
-
</div>
|
|
146
|
-
),
|
|
147
|
-
};
|
|
148
|
-
|