siesa-ui-kit 1.0.2 → 1.0.4
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/README.md +115 -115
- package/bin/install.cjs +502 -502
- package/bin/prepare-publish.cjs +28 -28
- package/bin/restore-folders.cjs +28 -28
- package/claude/agents/siesa-ui-kit-specialist.md +2445 -0
- package/claude/prompts/component-template.md +121 -0
- package/claude/prompts/siesa-ui-kit.md +28 -0
- package/claude/settings.local.json +67 -2
- package/dist/components/Button/icons.d.ts +6 -5
- package/dist/components/Button/icons.d.ts.map +1 -1
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -1
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +21 -0
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -1
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts +122 -0
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts.map +1 -0
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts +139 -0
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts.map +1 -0
- package/dist/components/NavigationRailCommercial/icons.d.ts +33 -0
- package/dist/components/NavigationRailCommercial/icons.d.ts.map +1 -0
- package/dist/components/NavigationRailCommercial/index.d.ts +4 -0
- package/dist/components/NavigationRailCommercial/index.d.ts.map +1 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -1
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +7 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -1
- package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -1
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +41 -0
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -1
- package/dist/components/NavigationRailTypes/icons.d.ts +15 -29
- package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/icons.d.ts +6 -2
- package/dist/components/Select/icons.d.ts.map +1 -1
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/siesa-ui-kit.cjs +404 -190
- package/dist/siesa-ui-kit.cjs.map +1 -1
- package/dist/siesa-ui-kit.mjs +6590 -1506
- package/dist/siesa-ui-kit.mjs.map +1 -1
- package/dist/views/LayoutCommercial/LayoutCommercial.d.ts +48 -0
- package/dist/views/LayoutCommercial/LayoutCommercial.d.ts.map +1 -0
- package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts +49 -0
- package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts.map +1 -0
- package/dist/views/LayoutCommercial/index.d.ts +3 -0
- package/dist/views/LayoutCommercial/index.d.ts.map +1 -0
- package/docs/icons.md +12 -31
- package/package.json +111 -110
- package/src/components/Avatar/Avatar.stories.tsx +494 -494
- package/src/components/Button/Button.stories.tsx +950 -950
- package/src/components/Button/Button.tsx +337 -337
- package/src/components/Button/Button.types.ts +180 -180
- package/src/components/Button/icons.tsx +23 -62
- package/src/components/DescriptionList/DescriptionList.stories.tsx +250 -250
- package/src/components/Divider/Divider.stories.tsx +263 -263
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +317 -317
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +307 -287
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +136 -111
- package/src/components/DropdownItemCollapsible/README.md +264 -264
- package/src/components/DropdownItemCollapsible/icons.tsx +57 -57
- package/src/components/DropdownItemCollapsible/index.ts +12 -12
- package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +386 -386
- package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +216 -216
- package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +93 -93
- package/src/components/DropdownItemHeading/README.md +573 -573
- package/src/components/DropdownItemHeading/icons.tsx +125 -125
- package/src/components/DropdownItemHeading/index.ts +3 -3
- package/src/components/Input/Input.stories.tsx +583 -583
- package/src/components/LoginView/LoginView.stories.tsx +148 -148
- package/src/components/LoginView/LoginView.tsx +426 -426
- package/src/components/LoginView/LoginView.types.ts +52 -52
- package/src/components/LoginView/README.md +396 -396
- package/src/components/LoginView/icons.tsx +85 -85
- package/src/components/LoginView/index.ts +3 -3
- package/src/components/Navbar/Navbar.stories.tsx +810 -810
- package/src/components/Navbar/Navbar.tsx +755 -755
- package/src/components/Navbar/Navbar.types.ts +219 -219
- package/src/components/Navbar/README.md +279 -279
- package/src/components/Navbar/index.ts +8 -8
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.stories.tsx +464 -0
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.tsx +301 -0
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.types.ts +162 -0
- package/src/components/NavigationRailCommercial/README.md +251 -0
- package/src/components/NavigationRailCommercial/icons.tsx +54 -0
- package/src/components/NavigationRailCommercial/index.ts +6 -0
- package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +667 -667
- package/src/components/NavigationRailItem/NavigationRailItem.tsx +314 -313
- package/src/components/NavigationRailItem/NavigationRailItem.types.ts +175 -167
- package/src/components/NavigationRailItem/README.md +476 -476
- package/src/components/NavigationRailItem/index.ts +2 -2
- package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +462 -462
- package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +332 -332
- package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +178 -178
- package/src/components/NavigationRailPanel/README.md +461 -461
- package/src/components/NavigationRailPanel/index.ts +6 -6
- package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +682 -528
- package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +363 -378
- package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +178 -130
- package/src/components/NavigationRailTypes/README.md +573 -573
- package/src/components/NavigationRailTypes/icons.tsx +76 -141
- package/src/components/NavigationRailTypes/index.ts +7 -7
- package/src/components/Notification/Notification.stories.tsx +513 -513
- package/src/components/Notification/Notification.tsx +145 -145
- package/src/components/Notification/Notification.types.ts +142 -142
- package/src/components/Notification/README.md +409 -409
- package/src/components/POSConvention/POSConvention.stories.tsx +235 -235
- package/src/components/POSConvention/POSConvention.tsx +129 -129
- package/src/components/POSConvention/POSConvention.types.ts +38 -38
- package/src/components/POSConvention/README.md +123 -123
- package/src/components/POSConvention/icons.tsx +45 -45
- package/src/components/POSConvention/index.ts +3 -3
- package/src/components/POSLocationButton/POSLocationButton.stories.tsx +531 -531
- package/src/components/POSLocationButton/POSLocationButton.tsx +247 -247
- package/src/components/POSLocationButton/POSLocationButton.types.ts +87 -87
- package/src/components/POSLocationButton/README.md +253 -253
- package/src/components/POSLocationButton/icons.tsx +120 -120
- package/src/components/POSLocationButton/index.ts +14 -14
- package/src/components/POSNumberButton/POSNumberButton.stories.tsx +415 -415
- package/src/components/POSNumberButton/POSNumberButton.tsx +179 -179
- package/src/components/POSNumberButton/POSNumberButton.types.ts +51 -51
- package/src/components/POSNumberButton/README.md +321 -321
- package/src/components/POSNumberButton/index.ts +3 -3
- package/src/components/POSProductButton/POSProductButton.stories.tsx +318 -318
- package/src/components/POSProductCard/POSProductCard.stories.tsx +642 -642
- package/src/components/POSProductCard/POSProductCard.tsx +208 -208
- package/src/components/POSProductCard/POSProductCard.types.ts +76 -76
- package/src/components/POSProductCard/README.md +179 -179
- package/src/components/POSProductCard/icons.tsx +26 -26
- package/src/components/POSProductCard/index.ts +2 -2
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +753 -753
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +332 -332
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +119 -119
- package/src/components/POSProductSidebarItems/README.md +198 -198
- package/src/components/POSProductSidebarItems/icons.tsx +21 -21
- package/src/components/POSProductSidebarItems/index.ts +3 -3
- package/src/components/POSTable/POSTable.stories.tsx +737 -737
- package/src/components/POSTable/POSTable.tsx +401 -401
- package/src/components/POSTable/README.md +286 -286
- package/src/components/Quantity/Quantity.stories.tsx +457 -457
- package/src/components/Radio/Radio.stories.tsx +523 -523
- package/src/components/Radio/Radio.tsx +1 -1
- package/src/components/Select/Select.stories.tsx +32 -0
- package/src/components/Select/Select.tsx +457 -454
- package/src/components/Select/icons.tsx +16 -41
- package/src/components/SignUpView/SignUpView.stories.tsx +129 -129
- package/src/components/SignUpView/SignUpView.tsx +503 -503
- package/src/components/SignUpView/SignUpView.types.ts +58 -58
- package/src/components/SignUpView/icons.tsx +71 -71
- package/src/components/SignUpView/index.ts +3 -3
- package/src/components/Switch/README.md +112 -112
- package/src/components/Switch/Switch.stories.tsx +550 -550
- package/src/components/Switch/Switch.tsx +246 -246
- package/src/components/Switch/Switch.types.ts +67 -67
- package/src/components/Table/Table.stories.tsx +805 -805
- package/src/components/Tabs/README.md +201 -201
- package/src/components/Tabs/Tabs.stories.tsx +580 -580
- package/src/components/Tabs/Tabs.tsx +356 -356
- package/src/components/Tabs/Tabs.types.ts +127 -127
- package/src/components/Tabs/icons.tsx +129 -129
- package/src/components/Tabs/index.ts +11 -11
- package/src/components/Textarea/Textarea.stories.tsx +535 -535
- package/src/index.ts +133 -102
- package/src/views/LayoutCommercial/LayoutCommercial.stories.tsx +374 -0
- package/src/views/LayoutCommercial/LayoutCommercial.tsx +125 -0
- package/src/views/LayoutCommercial/LayoutCommercial.types.ts +54 -0
- package/src/views/LayoutCommercial/README.md +286 -0
- package/src/views/LayoutCommercial/index.ts +2 -0
- package/src/views/ListView/ListView.stories.tsx +329 -329
- package/src/views/ListView/ListView.tsx +570 -570
- package/src/views/ListView/ListView.types.ts +211 -211
- package/src/views/ListView/icons.tsx +282 -282
- package/src/views/ListView/index.ts +11 -11
- package/src/views/LoginView/LoginView.tsx +426 -426
- package/src/views/ProductsView/ProductsView.stories.tsx +344 -344
- package/src/views/ProductsView/ProductsView.tsx +480 -480
- package/src/views/ProductsView/ProductsView.types.ts +238 -238
- package/src/views/ProductsView/README.md +312 -312
- package/src/views/ProductsView/icons.tsx +38 -38
- package/src/views/ProductsView/index.ts +8 -8
- package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +376 -376
- package/src/views/SignUpView/SignUpView.tsx +503 -503
- package/src/views/TableLayoutView/README.md +268 -268
- package/src/views/TableLayoutView/TableLayoutView.stories.tsx +235 -235
- package/src/views/TableLayoutView/TableLayoutView.tsx +461 -461
- package/src/views/TableLayoutView/TableLayoutView.types.ts +209 -209
- package/src/views/TableLayoutView/icons.tsx +113 -113
- package/src/views/TableLayoutView/index.ts +6 -6
- package/storybook/main.ts +19 -19
- package/storybook/preview.tsx +84 -84
- package/storybook/vitest.setup.ts +6 -6
- package/tailwind.config.js +128 -128
|
@@ -1,238 +1,238 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Categoría de producto
|
|
5
|
-
*/
|
|
6
|
-
export interface ProductCategory {
|
|
7
|
-
id: string;
|
|
8
|
-
label: string;
|
|
9
|
-
image: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Producto individual
|
|
14
|
-
*/
|
|
15
|
-
export interface Product {
|
|
16
|
-
id: string;
|
|
17
|
-
name: string;
|
|
18
|
-
price: string;
|
|
19
|
-
image: string;
|
|
20
|
-
categoryId: string;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Item en el carrito/pedido
|
|
25
|
-
*/
|
|
26
|
-
export interface OrderItem {
|
|
27
|
-
productId: string;
|
|
28
|
-
productName: string;
|
|
29
|
-
categoryLabel: string;
|
|
30
|
-
categoryColor?:
|
|
31
|
-
| 'lime'
|
|
32
|
-
| 'red'
|
|
33
|
-
| 'orange'
|
|
34
|
-
| 'amber'
|
|
35
|
-
| 'yellow'
|
|
36
|
-
| 'green'
|
|
37
|
-
| 'emerald'
|
|
38
|
-
| 'teal'
|
|
39
|
-
| 'cyan'
|
|
40
|
-
| 'sky'
|
|
41
|
-
| 'blue'
|
|
42
|
-
| 'indigo'
|
|
43
|
-
| 'violet'
|
|
44
|
-
| 'purple'
|
|
45
|
-
| 'fuchsia'
|
|
46
|
-
| 'pink'
|
|
47
|
-
| 'rose'
|
|
48
|
-
| 'zinc'
|
|
49
|
-
| 'primary';
|
|
50
|
-
productRef: string;
|
|
51
|
-
price: string;
|
|
52
|
-
quantity: number;
|
|
53
|
-
descriptionItems?: Array<{
|
|
54
|
-
description: string;
|
|
55
|
-
price: string;
|
|
56
|
-
}>;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Menú disponible
|
|
61
|
-
*/
|
|
62
|
-
export interface Menu {
|
|
63
|
-
id: string;
|
|
64
|
-
label: string;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Props del componente ProductsView
|
|
69
|
-
*/
|
|
70
|
-
export interface ProductsViewProps {
|
|
71
|
-
/**
|
|
72
|
-
* Título del header (ej: "Mesa 1")
|
|
73
|
-
* @default "Mesa 1"
|
|
74
|
-
*/
|
|
75
|
-
tableTitle?: string;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Label del botón de cambiar mesa
|
|
79
|
-
* @default "Cambiar Mesa"
|
|
80
|
-
*/
|
|
81
|
-
changeTableLabel?: string;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Título de la sección de menús
|
|
85
|
-
* @default "Menús"
|
|
86
|
-
*/
|
|
87
|
-
menusTitle?: string;
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Lista de menús disponibles
|
|
91
|
-
*/
|
|
92
|
-
menus?: Menu[];
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* ID del menú seleccionado actualmente
|
|
96
|
-
*/
|
|
97
|
-
selectedMenuId?: string;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Handler cuando se selecciona un menú
|
|
101
|
-
*/
|
|
102
|
-
onMenuSelect?: (menuId: string) => void;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Handler cuando se hace clic en cambiar mesa
|
|
106
|
-
*/
|
|
107
|
-
onChangeTable?: () => void;
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Título de la sección de categorías
|
|
111
|
-
* @default "Categoría"
|
|
112
|
-
*/
|
|
113
|
-
categoryTitle?: string;
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Lista de categorías de productos
|
|
117
|
-
*/
|
|
118
|
-
categories?: ProductCategory[];
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* ID de la categoría seleccionada actualmente
|
|
122
|
-
*/
|
|
123
|
-
selectedCategoryId?: string;
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Handler cuando se selecciona una categoría
|
|
127
|
-
*/
|
|
128
|
-
onCategorySelect?: (categoryId: string) => void;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Título de la sección de productos
|
|
132
|
-
* @default "Productos"
|
|
133
|
-
*/
|
|
134
|
-
productsTitle?: string;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Lista de productos a mostrar
|
|
138
|
-
*/
|
|
139
|
-
products?: Product[];
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Handler cuando se agrega un producto
|
|
143
|
-
*/
|
|
144
|
-
onAddProduct?: (productId: string) => void;
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Tab activo en el sidebar ("products" | "client")
|
|
148
|
-
* @default "products"
|
|
149
|
-
*/
|
|
150
|
-
activeTab?: 'products' | 'client';
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Handler cuando se cambia de tab
|
|
154
|
-
*/
|
|
155
|
-
onTabChange?: (tab: 'products' | 'client') => void;
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Items del pedido actual
|
|
159
|
-
*/
|
|
160
|
-
orderItems?: OrderItem[];
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Handler cuando cambia la cantidad de un item
|
|
164
|
-
*/
|
|
165
|
-
onOrderItemQuantityChange?: (itemId: string, quantity: number) => void;
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Handler cuando se elimina un item del pedido
|
|
169
|
-
*/
|
|
170
|
-
onOrderItemDelete?: (itemId: string) => void;
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Subtotal del pedido
|
|
174
|
-
*/
|
|
175
|
-
subtotal?: string;
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Impuestos del pedido
|
|
179
|
-
*/
|
|
180
|
-
taxes?: string;
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Total del pedido
|
|
184
|
-
*/
|
|
185
|
-
total?: string;
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Label del botón confirmar
|
|
189
|
-
* @default "Confirmar Pedido"
|
|
190
|
-
*/
|
|
191
|
-
confirmLabel?: string;
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Handler cuando se confirma el pedido
|
|
195
|
-
*/
|
|
196
|
-
onConfirmOrder?: () => void;
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Estado de carga
|
|
200
|
-
* @default false
|
|
201
|
-
*/
|
|
202
|
-
isLoading?: boolean;
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Mensaje de error (si existe)
|
|
206
|
-
*/
|
|
207
|
-
errorMessage?: string;
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Icono/avatar del usuario (opcional)
|
|
211
|
-
*/
|
|
212
|
-
userAvatar?: string;
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Nombre del usuario
|
|
216
|
-
*/
|
|
217
|
-
userName?: string;
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Rol del usuario
|
|
221
|
-
*/
|
|
222
|
-
userRole?: string;
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Logo del negocio
|
|
226
|
-
*/
|
|
227
|
-
businessLogo?: string | ReactNode;
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Logo de Siesa
|
|
231
|
-
*/
|
|
232
|
-
siesaLogo?: string | ReactNode;
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Clases CSS adicionales
|
|
236
|
-
*/
|
|
237
|
-
className?: string;
|
|
238
|
-
}
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Categoría de producto
|
|
5
|
+
*/
|
|
6
|
+
export interface ProductCategory {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
image: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Producto individual
|
|
14
|
+
*/
|
|
15
|
+
export interface Product {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
price: string;
|
|
19
|
+
image: string;
|
|
20
|
+
categoryId: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Item en el carrito/pedido
|
|
25
|
+
*/
|
|
26
|
+
export interface OrderItem {
|
|
27
|
+
productId: string;
|
|
28
|
+
productName: string;
|
|
29
|
+
categoryLabel: string;
|
|
30
|
+
categoryColor?:
|
|
31
|
+
| 'lime'
|
|
32
|
+
| 'red'
|
|
33
|
+
| 'orange'
|
|
34
|
+
| 'amber'
|
|
35
|
+
| 'yellow'
|
|
36
|
+
| 'green'
|
|
37
|
+
| 'emerald'
|
|
38
|
+
| 'teal'
|
|
39
|
+
| 'cyan'
|
|
40
|
+
| 'sky'
|
|
41
|
+
| 'blue'
|
|
42
|
+
| 'indigo'
|
|
43
|
+
| 'violet'
|
|
44
|
+
| 'purple'
|
|
45
|
+
| 'fuchsia'
|
|
46
|
+
| 'pink'
|
|
47
|
+
| 'rose'
|
|
48
|
+
| 'zinc'
|
|
49
|
+
| 'primary';
|
|
50
|
+
productRef: string;
|
|
51
|
+
price: string;
|
|
52
|
+
quantity: number;
|
|
53
|
+
descriptionItems?: Array<{
|
|
54
|
+
description: string;
|
|
55
|
+
price: string;
|
|
56
|
+
}>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Menú disponible
|
|
61
|
+
*/
|
|
62
|
+
export interface Menu {
|
|
63
|
+
id: string;
|
|
64
|
+
label: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Props del componente ProductsView
|
|
69
|
+
*/
|
|
70
|
+
export interface ProductsViewProps {
|
|
71
|
+
/**
|
|
72
|
+
* Título del header (ej: "Mesa 1")
|
|
73
|
+
* @default "Mesa 1"
|
|
74
|
+
*/
|
|
75
|
+
tableTitle?: string;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Label del botón de cambiar mesa
|
|
79
|
+
* @default "Cambiar Mesa"
|
|
80
|
+
*/
|
|
81
|
+
changeTableLabel?: string;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Título de la sección de menús
|
|
85
|
+
* @default "Menús"
|
|
86
|
+
*/
|
|
87
|
+
menusTitle?: string;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Lista de menús disponibles
|
|
91
|
+
*/
|
|
92
|
+
menus?: Menu[];
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* ID del menú seleccionado actualmente
|
|
96
|
+
*/
|
|
97
|
+
selectedMenuId?: string;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Handler cuando se selecciona un menú
|
|
101
|
+
*/
|
|
102
|
+
onMenuSelect?: (menuId: string) => void;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Handler cuando se hace clic en cambiar mesa
|
|
106
|
+
*/
|
|
107
|
+
onChangeTable?: () => void;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Título de la sección de categorías
|
|
111
|
+
* @default "Categoría"
|
|
112
|
+
*/
|
|
113
|
+
categoryTitle?: string;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Lista de categorías de productos
|
|
117
|
+
*/
|
|
118
|
+
categories?: ProductCategory[];
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* ID de la categoría seleccionada actualmente
|
|
122
|
+
*/
|
|
123
|
+
selectedCategoryId?: string;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Handler cuando se selecciona una categoría
|
|
127
|
+
*/
|
|
128
|
+
onCategorySelect?: (categoryId: string) => void;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Título de la sección de productos
|
|
132
|
+
* @default "Productos"
|
|
133
|
+
*/
|
|
134
|
+
productsTitle?: string;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Lista de productos a mostrar
|
|
138
|
+
*/
|
|
139
|
+
products?: Product[];
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Handler cuando se agrega un producto
|
|
143
|
+
*/
|
|
144
|
+
onAddProduct?: (productId: string) => void;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Tab activo en el sidebar ("products" | "client")
|
|
148
|
+
* @default "products"
|
|
149
|
+
*/
|
|
150
|
+
activeTab?: 'products' | 'client';
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Handler cuando se cambia de tab
|
|
154
|
+
*/
|
|
155
|
+
onTabChange?: (tab: 'products' | 'client') => void;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Items del pedido actual
|
|
159
|
+
*/
|
|
160
|
+
orderItems?: OrderItem[];
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Handler cuando cambia la cantidad de un item
|
|
164
|
+
*/
|
|
165
|
+
onOrderItemQuantityChange?: (itemId: string, quantity: number) => void;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Handler cuando se elimina un item del pedido
|
|
169
|
+
*/
|
|
170
|
+
onOrderItemDelete?: (itemId: string) => void;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Subtotal del pedido
|
|
174
|
+
*/
|
|
175
|
+
subtotal?: string;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Impuestos del pedido
|
|
179
|
+
*/
|
|
180
|
+
taxes?: string;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Total del pedido
|
|
184
|
+
*/
|
|
185
|
+
total?: string;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Label del botón confirmar
|
|
189
|
+
* @default "Confirmar Pedido"
|
|
190
|
+
*/
|
|
191
|
+
confirmLabel?: string;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Handler cuando se confirma el pedido
|
|
195
|
+
*/
|
|
196
|
+
onConfirmOrder?: () => void;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Estado de carga
|
|
200
|
+
* @default false
|
|
201
|
+
*/
|
|
202
|
+
isLoading?: boolean;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Mensaje de error (si existe)
|
|
206
|
+
*/
|
|
207
|
+
errorMessage?: string;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Icono/avatar del usuario (opcional)
|
|
211
|
+
*/
|
|
212
|
+
userAvatar?: string;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Nombre del usuario
|
|
216
|
+
*/
|
|
217
|
+
userName?: string;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Rol del usuario
|
|
221
|
+
*/
|
|
222
|
+
userRole?: string;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Logo del negocio
|
|
226
|
+
*/
|
|
227
|
+
businessLogo?: string | ReactNode;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Logo de Siesa
|
|
231
|
+
*/
|
|
232
|
+
siesaLogo?: string | ReactNode;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Clases CSS adicionales
|
|
236
|
+
*/
|
|
237
|
+
className?: string;
|
|
238
|
+
}
|