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,178 +1,178 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { DropdownItemCollapsibleChildProps } from '../DropdownItemCollapsible/DropdownItemCollapsible.types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Props de la sección de items dentro del NavigationRailPanel
|
|
6
|
-
*/
|
|
7
|
-
export interface NavigationRailPanelSectionProps {
|
|
8
|
-
/**
|
|
9
|
-
* Encabezado de la sección (label del heading)
|
|
10
|
-
* Ejemplo: "Categorías", "Departamentos", "Opciones"
|
|
11
|
-
*/
|
|
12
|
-
heading?: string;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Items que se muestran en la sección
|
|
16
|
-
* Pueden ser items simples o items colapsables
|
|
17
|
-
*/
|
|
18
|
-
items: NavigationRailPanelItemProps[];
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Si mostrar divisor después de esta sección
|
|
22
|
-
* @default true
|
|
23
|
-
*/
|
|
24
|
-
showDivider?: boolean;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Clases CSS adicionales
|
|
28
|
-
*/
|
|
29
|
-
className?: string;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Props de un item individual dentro del NavigationRailPanel
|
|
34
|
-
*/
|
|
35
|
-
export interface NavigationRailPanelItemProps {
|
|
36
|
-
/**
|
|
37
|
-
* Texto o contenido principal del item
|
|
38
|
-
* Ejemplo: "Users", "Settings", "Help"
|
|
39
|
-
*/
|
|
40
|
-
label: string;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Icono a mostrar antes del texto (izquierda)
|
|
44
|
-
* Recomendado: 16x16px
|
|
45
|
-
*/
|
|
46
|
-
icon?: ReactNode;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Si el item es colapsable (muestra items anidados)
|
|
50
|
-
* @default false
|
|
51
|
-
*/
|
|
52
|
-
isCollapsible?: boolean;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Items anidados que se muestran cuando el item está expandido
|
|
56
|
-
* Se usa solo cuando isCollapsible es true
|
|
57
|
-
*/
|
|
58
|
-
children?: DropdownItemCollapsibleChildProps[];
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Si el item está expandido inicialmente (para items colapsables)
|
|
62
|
-
* @default false
|
|
63
|
-
*/
|
|
64
|
-
defaultOpen?: boolean;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Si el item está deshabilitado
|
|
68
|
-
* @default false
|
|
69
|
-
*/
|
|
70
|
-
disabled?: boolean;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Callback cuando se hace click en el item
|
|
74
|
-
*/
|
|
75
|
-
onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Callback cuando el item colapsable se expande/contrae
|
|
79
|
-
* @param open - nuevo estado de expansión
|
|
80
|
-
*/
|
|
81
|
-
onOpenChange?: (open: boolean) => void;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Clases CSS adicionales
|
|
85
|
-
*/
|
|
86
|
-
className?: string;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Props del componente NavigationRailPanel
|
|
91
|
-
*
|
|
92
|
-
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=6134-34415
|
|
93
|
-
*/
|
|
94
|
-
export interface NavigationRailPanelProps {
|
|
95
|
-
/**
|
|
96
|
-
* Altura del panel en píxeles
|
|
97
|
-
* Se usa para el contenedor principal
|
|
98
|
-
* Ejemplo: 600, 800, 900
|
|
99
|
-
* @default 900
|
|
100
|
-
*/
|
|
101
|
-
height?: number | string;
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Ancho del panel en píxeles
|
|
105
|
-
* Ancho estándar: 248px (con padding incluido)
|
|
106
|
-
* @default 248
|
|
107
|
-
*/
|
|
108
|
-
width?: number | string;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Encabezado del panel con icono, label, descripción y acción
|
|
112
|
-
* Ejemplo: { label: "Settings", description: "Configure your preferences" }
|
|
113
|
-
*/
|
|
114
|
-
heading?: {
|
|
115
|
-
label: string;
|
|
116
|
-
description?: string;
|
|
117
|
-
showDescription?: boolean;
|
|
118
|
-
iconName?: string;
|
|
119
|
-
actionLabel?: string;
|
|
120
|
-
showAction?: boolean;
|
|
121
|
-
onActionClick?: () => void;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Si mostrar el encabezado (DropdownItemHeading)
|
|
126
|
-
* @default true
|
|
127
|
-
*/
|
|
128
|
-
showHeading?: boolean;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Configuración del input de búsqueda
|
|
132
|
-
*/
|
|
133
|
-
search?: {
|
|
134
|
-
/**
|
|
135
|
-
* Placeholder del input
|
|
136
|
-
* @default "Buscar módulo"
|
|
137
|
-
*/
|
|
138
|
-
placeholder?: string;
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Valor actual del input
|
|
142
|
-
*/
|
|
143
|
-
value?: string;
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Callback cuando cambia el valor del input
|
|
147
|
-
*/
|
|
148
|
-
onChange?: (value: string) => void;
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Si mostrar el input de búsqueda
|
|
153
|
-
* @default true
|
|
154
|
-
*/
|
|
155
|
-
showSearch?: boolean;
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Secciones de items dentro del panel
|
|
159
|
-
* Cada sección puede tener un encabezado y múltiples items
|
|
160
|
-
*/
|
|
161
|
-
sections?: NavigationRailPanelSectionProps[];
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Alternativa a sections: items simples sin agrupar
|
|
165
|
-
* Se usan cuando no necesitas secciones
|
|
166
|
-
*/
|
|
167
|
-
items?: NavigationRailPanelItemProps[];
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Clases CSS adicionales para el contenedor principal
|
|
171
|
-
*/
|
|
172
|
-
className?: string;
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Clases CSS adicionales para el panel interno
|
|
176
|
-
*/
|
|
177
|
-
panelClassName?: string;
|
|
178
|
-
}
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { DropdownItemCollapsibleChildProps } from '../DropdownItemCollapsible/DropdownItemCollapsible.types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Props de la sección de items dentro del NavigationRailPanel
|
|
6
|
+
*/
|
|
7
|
+
export interface NavigationRailPanelSectionProps {
|
|
8
|
+
/**
|
|
9
|
+
* Encabezado de la sección (label del heading)
|
|
10
|
+
* Ejemplo: "Categorías", "Departamentos", "Opciones"
|
|
11
|
+
*/
|
|
12
|
+
heading?: string;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Items que se muestran en la sección
|
|
16
|
+
* Pueden ser items simples o items colapsables
|
|
17
|
+
*/
|
|
18
|
+
items: NavigationRailPanelItemProps[];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Si mostrar divisor después de esta sección
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
showDivider?: boolean;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Clases CSS adicionales
|
|
28
|
+
*/
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Props de un item individual dentro del NavigationRailPanel
|
|
34
|
+
*/
|
|
35
|
+
export interface NavigationRailPanelItemProps {
|
|
36
|
+
/**
|
|
37
|
+
* Texto o contenido principal del item
|
|
38
|
+
* Ejemplo: "Users", "Settings", "Help"
|
|
39
|
+
*/
|
|
40
|
+
label: string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Icono a mostrar antes del texto (izquierda)
|
|
44
|
+
* Recomendado: 16x16px
|
|
45
|
+
*/
|
|
46
|
+
icon?: ReactNode;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Si el item es colapsable (muestra items anidados)
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
isCollapsible?: boolean;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Items anidados que se muestran cuando el item está expandido
|
|
56
|
+
* Se usa solo cuando isCollapsible es true
|
|
57
|
+
*/
|
|
58
|
+
children?: DropdownItemCollapsibleChildProps[];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Si el item está expandido inicialmente (para items colapsables)
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
defaultOpen?: boolean;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Si el item está deshabilitado
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
disabled?: boolean;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Callback cuando se hace click en el item
|
|
74
|
+
*/
|
|
75
|
+
onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Callback cuando el item colapsable se expande/contrae
|
|
79
|
+
* @param open - nuevo estado de expansión
|
|
80
|
+
*/
|
|
81
|
+
onOpenChange?: (open: boolean) => void;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Clases CSS adicionales
|
|
85
|
+
*/
|
|
86
|
+
className?: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Props del componente NavigationRailPanel
|
|
91
|
+
*
|
|
92
|
+
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=6134-34415
|
|
93
|
+
*/
|
|
94
|
+
export interface NavigationRailPanelProps {
|
|
95
|
+
/**
|
|
96
|
+
* Altura del panel en píxeles
|
|
97
|
+
* Se usa para el contenedor principal
|
|
98
|
+
* Ejemplo: 600, 800, 900
|
|
99
|
+
* @default 900
|
|
100
|
+
*/
|
|
101
|
+
height?: number | string;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Ancho del panel en píxeles
|
|
105
|
+
* Ancho estándar: 248px (con padding incluido)
|
|
106
|
+
* @default 248
|
|
107
|
+
*/
|
|
108
|
+
width?: number | string;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Encabezado del panel con icono, label, descripción y acción
|
|
112
|
+
* Ejemplo: { label: "Settings", description: "Configure your preferences" }
|
|
113
|
+
*/
|
|
114
|
+
heading?: {
|
|
115
|
+
label: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
showDescription?: boolean;
|
|
118
|
+
iconName?: string;
|
|
119
|
+
actionLabel?: string;
|
|
120
|
+
showAction?: boolean;
|
|
121
|
+
onActionClick?: () => void;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Si mostrar el encabezado (DropdownItemHeading)
|
|
126
|
+
* @default true
|
|
127
|
+
*/
|
|
128
|
+
showHeading?: boolean;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Configuración del input de búsqueda
|
|
132
|
+
*/
|
|
133
|
+
search?: {
|
|
134
|
+
/**
|
|
135
|
+
* Placeholder del input
|
|
136
|
+
* @default "Buscar módulo"
|
|
137
|
+
*/
|
|
138
|
+
placeholder?: string;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Valor actual del input
|
|
142
|
+
*/
|
|
143
|
+
value?: string;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Callback cuando cambia el valor del input
|
|
147
|
+
*/
|
|
148
|
+
onChange?: (value: string) => void;
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Si mostrar el input de búsqueda
|
|
153
|
+
* @default true
|
|
154
|
+
*/
|
|
155
|
+
showSearch?: boolean;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Secciones de items dentro del panel
|
|
159
|
+
* Cada sección puede tener un encabezado y múltiples items
|
|
160
|
+
*/
|
|
161
|
+
sections?: NavigationRailPanelSectionProps[];
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Alternativa a sections: items simples sin agrupar
|
|
165
|
+
* Se usan cuando no necesitas secciones
|
|
166
|
+
*/
|
|
167
|
+
items?: NavigationRailPanelItemProps[];
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Clases CSS adicionales para el contenedor principal
|
|
171
|
+
*/
|
|
172
|
+
className?: string;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Clases CSS adicionales para el panel interno
|
|
176
|
+
*/
|
|
177
|
+
panelClassName?: string;
|
|
178
|
+
}
|