siesa-ui-kit 1.0.6 → 1.0.7
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 -89
- package/dist/ButtonTest.d.ts +6 -0
- package/dist/ButtonTest.d.ts.map +1 -0
- package/dist/components/Alert/Alert.d.ts +23 -0
- package/dist/components/Alert/Alert.d.ts.map +1 -0
- package/dist/components/Alert/Alert.types.d.ts +46 -0
- package/dist/components/Alert/Alert.types.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.d.ts +41 -0
- package/dist/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.types.d.ts +46 -0
- package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
- package/dist/components/Badge/Badge.d.ts +42 -0
- package/dist/components/Badge/Badge.d.ts.map +1 -0
- package/dist/components/Badge/Badge.types.d.ts +32 -0
- package/dist/components/Badge/Badge.types.d.ts.map +1 -0
- package/dist/components/Button/Button.d.ts +84 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.types.d.ts +162 -0
- package/dist/components/Button/Button.types.d.ts.map +1 -0
- package/dist/components/Button/icons.d.ts +26 -0
- package/dist/components/Button/icons.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts +4 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +31 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts +53 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.d.ts +38 -0
- package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.types.d.ts +27 -0
- package/dist/components/DescriptionList/DescriptionList.types.d.ts.map +1 -0
- package/dist/components/Divider/Divider.d.ts +33 -0
- package/dist/components/Divider/Divider.d.ts.map +1 -0
- package/dist/components/Divider/Divider.types.d.ts +22 -0
- package/dist/components/Divider/Divider.types.d.ts.map +1 -0
- package/dist/components/Dropdown/Dropdown.d.ts +66 -0
- package/dist/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/Dropdown/Dropdown.types.d.ts +124 -0
- package/dist/components/Dropdown/Dropdown.types.d.ts.map +1 -0
- package/dist/components/Dropdown/icons.d.ts +10 -0
- package/dist/components/Dropdown/icons.d.ts.map +1 -0
- package/dist/components/Dropdown/index.d.ts +4 -0
- package/dist/components/Dropdown/index.d.ts.map +1 -0
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +101 -0
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -0
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +95 -0
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -0
- package/dist/components/DropdownItemCollapsible/icons.d.ts +19 -0
- package/dist/components/DropdownItemCollapsible/icons.d.ts.map +1 -0
- package/dist/components/DropdownItemCollapsible/index.d.ts +9 -0
- package/dist/components/DropdownItemCollapsible/index.d.ts.map +1 -0
- package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +75 -0
- package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +1 -0
- package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +85 -0
- package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +1 -0
- package/dist/components/DropdownItemHeading/icons.d.ts +48 -0
- package/dist/components/DropdownItemHeading/icons.d.ts.map +1 -0
- package/dist/components/DropdownItemHeading/index.d.ts +4 -0
- package/dist/components/DropdownItemHeading/index.d.ts.map +1 -0
- package/dist/components/Input/Input.d.ts +40 -0
- package/dist/components/Input/Input.d.ts.map +1 -0
- package/dist/components/Input/Input.types.d.ts +71 -0
- package/dist/components/Input/Input.types.d.ts.map +1 -0
- package/dist/components/Input/icons.d.ts +15 -0
- package/dist/components/Input/icons.d.ts.map +1 -0
- package/dist/components/Input/index.d.ts +3 -0
- package/dist/components/Input/index.d.ts.map +1 -0
- package/dist/components/LoginView/LoginView.d.ts +36 -0
- package/dist/components/LoginView/LoginView.d.ts.map +1 -0
- package/dist/components/LoginView/LoginView.types.d.ts +46 -0
- package/dist/components/LoginView/LoginView.types.d.ts.map +1 -0
- package/dist/components/LoginView/icons.d.ts +18 -0
- package/dist/components/LoginView/icons.d.ts.map +1 -0
- package/dist/components/LoginView/index.d.ts +4 -0
- package/dist/components/LoginView/index.d.ts.map +1 -0
- package/dist/components/Navbar/Navbar.d.ts +63 -0
- package/dist/components/Navbar/Navbar.d.ts.map +1 -0
- package/dist/components/Navbar/Navbar.types.d.ts +194 -0
- package/dist/components/Navbar/Navbar.types.d.ts.map +1 -0
- package/dist/components/Navbar/icons.d.ts +12 -0
- package/dist/components/Navbar/icons.d.ts.map +1 -0
- package/dist/components/Navbar/index.d.ts +4 -0
- package/dist/components/Navbar/index.d.ts.map +1 -0
- package/dist/components/NavigationBar/NavigationBar.d.ts +75 -0
- package/dist/components/NavigationBar/NavigationBar.d.ts.map +1 -0
- package/dist/components/NavigationBar/NavigationBar.types.d.ts +63 -0
- package/dist/components/NavigationBar/NavigationBar.types.d.ts.map +1 -0
- package/dist/components/NavigationBar/index.d.ts +3 -0
- package/dist/components/NavigationBar/index.d.ts.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.d.ts +7 -0
- package/dist/components/NavigationRail/NavigationRail.d.ts.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.types.d.ts +92 -0
- package/dist/components/NavigationRail/NavigationRail.types.d.ts.map +1 -0
- package/dist/components/NavigationRail/index.d.ts +3 -0
- package/dist/components/NavigationRail/index.d.ts.map +1 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +90 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +155 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -0
- package/dist/components/NavigationRailItem/index.d.ts +3 -0
- package/dist/components/NavigationRailItem/index.d.ts.map +1 -0
- package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +124 -0
- package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +1 -0
- package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +154 -0
- package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +1 -0
- package/dist/components/NavigationRailPanel/index.d.ts +3 -0
- package/dist/components/NavigationRailPanel/index.d.ts.map +1 -0
- package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +99 -0
- package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -0
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +111 -0
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -0
- package/dist/components/NavigationRailTypes/icons.d.ts +58 -0
- package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -0
- package/dist/components/NavigationRailTypes/index.d.ts +4 -0
- package/dist/components/NavigationRailTypes/index.d.ts.map +1 -0
- package/dist/components/Notification/Notification.d.ts +52 -0
- package/dist/components/Notification/Notification.d.ts.map +1 -0
- package/dist/components/Notification/Notification.types.d.ts +138 -0
- package/dist/components/Notification/Notification.types.d.ts.map +1 -0
- package/dist/components/Notification/index.d.ts +3 -0
- package/dist/components/Notification/index.d.ts.map +1 -0
- package/dist/components/POSConvention/POSConvention.d.ts +55 -0
- package/dist/components/POSConvention/POSConvention.d.ts.map +1 -0
- package/dist/components/POSConvention/POSConvention.types.d.ts +37 -0
- package/dist/components/POSConvention/POSConvention.types.d.ts.map +1 -0
- package/dist/components/POSConvention/icons.d.ts +21 -0
- package/dist/components/POSConvention/icons.d.ts.map +1 -0
- package/dist/components/POSConvention/index.d.ts +4 -0
- package/dist/components/POSConvention/index.d.ts.map +1 -0
- package/dist/components/POSLocationButton/POSLocationButton.d.ts +73 -0
- package/dist/components/POSLocationButton/POSLocationButton.d.ts.map +1 -0
- package/dist/components/POSLocationButton/POSLocationButton.types.d.ts +75 -0
- package/dist/components/POSLocationButton/POSLocationButton.types.d.ts.map +1 -0
- package/dist/components/POSLocationButton/icons.d.ts +37 -0
- package/dist/components/POSLocationButton/icons.d.ts.map +1 -0
- package/dist/components/POSLocationButton/index.d.ts +4 -0
- package/dist/components/POSLocationButton/index.d.ts.map +1 -0
- package/dist/components/POSNumberButton/POSNumberButton.d.ts +61 -0
- package/dist/components/POSNumberButton/POSNumberButton.d.ts.map +1 -0
- package/dist/components/POSNumberButton/POSNumberButton.types.d.ts +43 -0
- package/dist/components/POSNumberButton/POSNumberButton.types.d.ts.map +1 -0
- package/dist/components/POSNumberButton/index.d.ts +3 -0
- package/dist/components/POSNumberButton/index.d.ts.map +1 -0
- package/dist/components/POSProductButton/POSProductButton.d.ts +59 -0
- package/dist/components/POSProductButton/POSProductButton.d.ts.map +1 -0
- package/dist/components/POSProductButton/POSProductButton.types.d.ts +40 -0
- package/dist/components/POSProductButton/POSProductButton.types.d.ts.map +1 -0
- package/dist/components/POSProductButton/index.d.ts +3 -0
- package/dist/components/POSProductButton/index.d.ts.map +1 -0
- package/dist/components/POSProductCard/POSProductCard.d.ts +68 -0
- package/dist/components/POSProductCard/POSProductCard.d.ts.map +1 -0
- package/dist/components/POSProductCard/POSProductCard.types.d.ts +67 -0
- package/dist/components/POSProductCard/POSProductCard.types.d.ts.map +1 -0
- package/dist/components/POSProductCard/icons.d.ts +10 -0
- package/dist/components/POSProductCard/icons.d.ts.map +1 -0
- package/dist/components/POSProductCard/index.d.ts +3 -0
- package/dist/components/POSProductCard/index.d.ts.map +1 -0
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts +57 -0
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts.map +1 -0
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts +85 -0
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts.map +1 -0
- package/dist/components/POSProductSidebarItems/icons.d.ts +9 -0
- package/dist/components/POSProductSidebarItems/icons.d.ts.map +1 -0
- package/dist/components/POSProductSidebarItems/index.d.ts +4 -0
- package/dist/components/POSProductSidebarItems/index.d.ts.map +1 -0
- package/dist/components/POSTable/POSTable.d.ts +75 -0
- package/dist/components/POSTable/POSTable.d.ts.map +1 -0
- package/dist/components/POSTable/POSTable.types.d.ts +71 -0
- package/dist/components/POSTable/POSTable.types.d.ts.map +1 -0
- package/dist/components/POSTable/index.d.ts +3 -0
- package/dist/components/POSTable/index.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.d.ts +29 -0
- package/dist/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.types.d.ts +79 -0
- package/dist/components/Pagination/Pagination.types.d.ts.map +1 -0
- package/dist/components/Pagination/icons.d.ts +18 -0
- package/dist/components/Pagination/icons.d.ts.map +1 -0
- package/dist/components/Pagination/index.d.ts +4 -0
- package/dist/components/Pagination/index.d.ts.map +1 -0
- package/dist/components/Quantity/Quantity.d.ts +38 -0
- package/dist/components/Quantity/Quantity.d.ts.map +1 -0
- package/dist/components/Quantity/Quantity.types.d.ts +59 -0
- package/dist/components/Quantity/Quantity.types.d.ts.map +1 -0
- package/dist/components/Radio/Radio.d.ts +45 -0
- package/dist/components/Radio/Radio.d.ts.map +1 -0
- package/dist/components/Radio/Radio.types.d.ts +115 -0
- package/dist/components/Radio/Radio.types.d.ts.map +1 -0
- package/dist/components/Select/Select.d.ts +37 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.types.d.ts +124 -0
- package/dist/components/Select/Select.types.d.ts.map +1 -0
- package/dist/components/Select/icons.d.ts +16 -0
- package/dist/components/Select/icons.d.ts.map +1 -0
- package/dist/components/Select/index.d.ts +4 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/SignUpView/SignUpView.d.ts +38 -0
- package/dist/components/SignUpView/SignUpView.d.ts.map +1 -0
- package/dist/components/SignUpView/SignUpView.types.d.ts +51 -0
- package/dist/components/SignUpView/SignUpView.types.d.ts.map +1 -0
- package/dist/components/SignUpView/icons.d.ts +18 -0
- package/dist/components/SignUpView/icons.d.ts.map +1 -0
- package/dist/components/SignUpView/index.d.ts +4 -0
- package/dist/components/SignUpView/index.d.ts.map +1 -0
- package/dist/components/Switch/Switch.d.ts +46 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/Switch.types.d.ts +58 -0
- package/dist/components/Switch/Switch.types.d.ts.map +1 -0
- package/dist/components/Table/Table.d.ts +64 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/Table.types.d.ts +173 -0
- package/dist/components/Table/Table.types.d.ts.map +1 -0
- package/dist/components/Table/index.d.ts +3 -0
- package/dist/components/Table/index.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts +76 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.types.d.ts +107 -0
- package/dist/components/Tabs/Tabs.types.d.ts.map +1 -0
- package/dist/components/Tabs/icons.d.ts +45 -0
- package/dist/components/Tabs/icons.d.ts.map +1 -0
- package/dist/components/Tabs/index.d.ts +4 -0
- package/dist/components/Tabs/index.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +38 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.types.d.ts +46 -0
- package/dist/components/Textarea/Textarea.types.d.ts.map +1 -0
- package/dist/context/ThemeContext.d.ts +46 -0
- package/dist/context/ThemeContext.d.ts.map +1 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/siesa-ui-kit.cjs +1273 -0
- package/dist/siesa-ui-kit.cjs.map +1 -0
- package/dist/siesa-ui-kit.mjs +4510 -0
- package/dist/siesa-ui-kit.mjs.map +1 -0
- package/dist/views/ListView/ListView.d.ts +47 -0
- package/dist/views/ListView/ListView.d.ts.map +1 -0
- package/dist/views/ListView/ListView.types.d.ts +177 -0
- package/dist/views/ListView/ListView.types.d.ts.map +1 -0
- package/dist/views/ListView/icons.d.ts +60 -0
- package/dist/views/ListView/icons.d.ts.map +1 -0
- package/dist/views/ListView/index.d.ts +3 -0
- package/dist/views/ListView/index.d.ts.map +1 -0
- package/dist/views/LoginView/LoginView.d.ts +36 -0
- package/dist/views/LoginView/LoginView.d.ts.map +1 -0
- package/dist/views/LoginView/LoginView.types.d.ts +46 -0
- package/dist/views/LoginView/LoginView.types.d.ts.map +1 -0
- package/dist/views/LoginView/icons.d.ts +18 -0
- package/dist/views/LoginView/icons.d.ts.map +1 -0
- package/dist/views/LoginView/index.d.ts +4 -0
- package/dist/views/LoginView/index.d.ts.map +1 -0
- package/dist/views/ProductsView/ProductsView.d.ts +56 -0
- package/dist/views/ProductsView/ProductsView.d.ts.map +1 -0
- package/dist/views/ProductsView/ProductsView.types.d.ts +184 -0
- package/dist/views/ProductsView/ProductsView.types.d.ts.map +1 -0
- package/dist/views/ProductsView/icons.d.ts +12 -0
- package/dist/views/ProductsView/icons.d.ts.map +1 -0
- package/dist/views/ProductsView/index.d.ts +3 -0
- package/dist/views/ProductsView/index.d.ts.map +1 -0
- package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts +34 -0
- package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts.map +1 -0
- package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts +50 -0
- package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts.map +1 -0
- package/dist/views/RecoverPasswordView/icons.d.ts +9 -0
- package/dist/views/RecoverPasswordView/icons.d.ts.map +1 -0
- package/dist/views/RecoverPasswordView/index.d.ts +3 -0
- package/dist/views/RecoverPasswordView/index.d.ts.map +1 -0
- package/dist/views/SignUpView/SignUpView.d.ts +38 -0
- package/dist/views/SignUpView/SignUpView.d.ts.map +1 -0
- package/dist/views/SignUpView/SignUpView.types.d.ts +51 -0
- package/dist/views/SignUpView/SignUpView.types.d.ts.map +1 -0
- package/dist/views/SignUpView/icons.d.ts +18 -0
- package/dist/views/SignUpView/icons.d.ts.map +1 -0
- package/dist/views/SignUpView/index.d.ts +4 -0
- package/dist/views/SignUpView/index.d.ts.map +1 -0
- package/dist/views/TableLayoutView/TableLayoutView.d.ts +46 -0
- package/dist/views/TableLayoutView/TableLayoutView.d.ts.map +1 -0
- package/dist/views/TableLayoutView/TableLayoutView.types.d.ts +170 -0
- package/dist/views/TableLayoutView/TableLayoutView.types.d.ts.map +1 -0
- package/dist/views/TableLayoutView/icons.d.ts +27 -0
- package/dist/views/TableLayoutView/icons.d.ts.map +1 -0
- package/dist/views/TableLayoutView/index.d.ts +3 -0
- package/dist/views/TableLayoutView/index.d.ts.map +1 -0
- package/package.json +93 -92
- package/bin/install.cjs +0 -502
- package/bin/prepare-publish.cjs +0 -28
- package/bin/restore-folders.cjs +0 -28
- package/dist/,Business Logo.png +0 -0
- package/dist/.Siesa Logo.png +0 -0
- package/dist/bg_siesa.png +0 -0
- package/dist/index.cjs +0 -1479
- package/dist/index.cjs.map +0 -1
- package/dist/index.js +0 -1479
- package/dist/index.js.map +0 -1
- package/dist/siesa_logo_mobile.png +0 -0
- package/dist/vite.svg +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props del componente LoginView
|
|
3
|
+
*/
|
|
4
|
+
export interface LoginViewProps {
|
|
5
|
+
/**
|
|
6
|
+
* Handler para el submit del formulario de login
|
|
7
|
+
* @param email - Email ingresado por el usuario
|
|
8
|
+
* @param password - Contraseña ingresada por el usuario
|
|
9
|
+
*/
|
|
10
|
+
onSubmit?: (email: string, password: string) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Handler para el click en "Olvidé mi Contraseña"
|
|
13
|
+
*/
|
|
14
|
+
onForgotPassword?: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Handler para el click en "¿No tienes una cuenta?"
|
|
17
|
+
*/
|
|
18
|
+
onSignUp?: () => void;
|
|
19
|
+
/**
|
|
20
|
+
* Estado de carga del botón de submit
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
isLoading?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Mensaje de error general para mostrar en el formulario
|
|
26
|
+
*/
|
|
27
|
+
errorMessage?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Clases CSS adicionales para el contenedor
|
|
30
|
+
*/
|
|
31
|
+
className?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Si se muestra el fondo decorativo con imagen
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
showBackground?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Variante de visualización
|
|
39
|
+
* - 'responsive': Se adapta según el viewport (default)
|
|
40
|
+
* - 'mobile': Siempre se muestra como mobile sin efectos de card
|
|
41
|
+
* - 'desktop': Siempre se muestra como desktop con card
|
|
42
|
+
* @default 'responsive'
|
|
43
|
+
*/
|
|
44
|
+
variant?: 'responsive' | 'mobile' | 'desktop';
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=LoginView.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginView.types.d.ts","sourceRoot":"","sources":["../../../src/components/LoginView/LoginView.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAErD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC/C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Icono de sobre (envelope) para el input de email
|
|
4
|
+
*/
|
|
5
|
+
export declare const EnvelopeIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
6
|
+
/**
|
|
7
|
+
* Icono de candado cerrado (lock) para el input de contraseña
|
|
8
|
+
*/
|
|
9
|
+
export declare const LockClosedIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
10
|
+
/**
|
|
11
|
+
* Icono de ojo (eye) para mostrar/ocultar contraseña
|
|
12
|
+
*/
|
|
13
|
+
export declare const EyeIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
14
|
+
/**
|
|
15
|
+
* Logo de Siesa
|
|
16
|
+
*/
|
|
17
|
+
export declare const SiesaLogo: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
18
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/LoginView/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAUhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAalE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAc3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CA2B7D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/LoginView/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { NavbarProps } from './Navbar.types';
|
|
3
|
+
/**
|
|
4
|
+
* Componente Navbar del sistema de diseño Siesa
|
|
5
|
+
* Basado en especificaciones de Figma con Tailwind CSS
|
|
6
|
+
*
|
|
7
|
+
* Barra de navegación principal con soporte completo para responsive y dark mode.
|
|
8
|
+
* Incluye logo, nombre de producto, badge de ambiente, botones de acción y dropdown de usuario.
|
|
9
|
+
*
|
|
10
|
+
* **Variantes de dispositivo:**
|
|
11
|
+
* - `responsive`: Se adapta automáticamente al viewport (por defecto)
|
|
12
|
+
* - `desktop`: Versión completa (1360x64px) con todos los elementos
|
|
13
|
+
* - `tablet`: Versión tablet (1024x64px) con elementos reducidos
|
|
14
|
+
* - `mobile`: Versión simplificada (428x40px) con logo icono y avatar circular
|
|
15
|
+
*
|
|
16
|
+
* **Elementos incluidos:**
|
|
17
|
+
* - Botón de navegación (solo desktop/tablet) - Usa shadow-button-inset
|
|
18
|
+
* - Logo del negocio (solo desktop/tablet)
|
|
19
|
+
* - Dividers verticales (solo desktop/tablet)
|
|
20
|
+
* - Logo Siesa (completo en desktop/tablet, icono en mobile)
|
|
21
|
+
* - Nombre del producto (solo desktop/tablet) - Heading/Tiny (20px Bold)
|
|
22
|
+
* - Badge de ambiente con icono de advertencia (yellow)
|
|
23
|
+
* - Botones de acción (search solo mobile, cart, notifications)
|
|
24
|
+
* - Dropdown de usuario con avatar, nombre y email
|
|
25
|
+
* - Logo Siesa trailing (solo desktop)
|
|
26
|
+
*
|
|
27
|
+
* **Mejores prácticas implementadas:**
|
|
28
|
+
* - Orden de modificadores: {responsive}:{dark}:{state}:{utility}
|
|
29
|
+
* - Dark mode con estrategia 'class' (darkMode: 'class')
|
|
30
|
+
* - Tokens de color consistentes con la documentación (NO colores hardcodeados)
|
|
31
|
+
* - Focus rings adaptativos para light y dark mode
|
|
32
|
+
* - Type safety con TypeScript estricto
|
|
33
|
+
* - Responsive design con breakpoints md: y lg:
|
|
34
|
+
* - Tipografía del sistema: Heading/Tiny, Paragraph/Small, Paragraph/Tiny
|
|
35
|
+
* - Spacing del sistema (4px, 8px, 12px, 16px, 32px)
|
|
36
|
+
*
|
|
37
|
+
* @see docs/colors.md - Sistema de colores y tokens dark mode
|
|
38
|
+
* @see docs/typography.md - Sistema tipográfico (Heading, Paragraph)
|
|
39
|
+
* @see docs/spacing.md - Sistema de espaciado
|
|
40
|
+
* @see docs/shadows.md - Sistema de sombras (button-inset)
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* <Navbar
|
|
45
|
+
* productName="Mi Producto"
|
|
46
|
+
* environmentBadge="Ambiente de Pruebas"
|
|
47
|
+
* userDropdown={{
|
|
48
|
+
* avatar: "/path/to/avatar.jpg",
|
|
49
|
+
* name: "Juan Pérez",
|
|
50
|
+
* email: "juan@ejemplo.com",
|
|
51
|
+
* }}
|
|
52
|
+
* notifications={{
|
|
53
|
+
* cart: 99,
|
|
54
|
+
* bell: true,
|
|
55
|
+
* }}
|
|
56
|
+
* onNavigationClick={() => router.back()}
|
|
57
|
+
* onCartClick={() => openCart()}
|
|
58
|
+
* onNotificationsClick={() => openNotifications()}
|
|
59
|
+
* />
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare const Navbar: React.FC<NavbarProps>;
|
|
63
|
+
//# sourceMappingURL=Navbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/Navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2qBxC,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Variante de dispositivo del Navbar
|
|
4
|
+
* - `responsive`: Se adapta automáticamente al viewport (por defecto)
|
|
5
|
+
* - `desktop`: Versión completa (≥1024px) con todos los elementos
|
|
6
|
+
* - `tablet`: Versión tablet (≥768px) con elementos reducidos
|
|
7
|
+
* - `mobile`: Versión simplificada (<768px) con logo icono y avatar circular
|
|
8
|
+
*
|
|
9
|
+
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4278-18626
|
|
10
|
+
*/
|
|
11
|
+
export type NavbarVariant = 'responsive' | 'desktop' | 'tablet' | 'mobile';
|
|
12
|
+
/**
|
|
13
|
+
* Datos del dropdown de usuario
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* const userDropdown: UserDropdownProps = {
|
|
18
|
+
* avatar: '/path/to/avatar.jpg',
|
|
19
|
+
* name: 'Juan Pérez',
|
|
20
|
+
* email: 'juan@ejemplo.com',
|
|
21
|
+
* onMenuClick: () => setMenuOpen(true),
|
|
22
|
+
* };
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export interface UserDropdownProps {
|
|
26
|
+
/**
|
|
27
|
+
* URL del avatar del usuario
|
|
28
|
+
* Recomendado: mínimo 80x80px para retina
|
|
29
|
+
*/
|
|
30
|
+
avatar: string;
|
|
31
|
+
/**
|
|
32
|
+
* Nombre del usuario (se muestra en desktop/tablet)
|
|
33
|
+
*/
|
|
34
|
+
name: string;
|
|
35
|
+
/**
|
|
36
|
+
* Email del usuario (se muestra en desktop/tablet)
|
|
37
|
+
*/
|
|
38
|
+
email?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Rol del usuario (alternativa a email, ej: "Administrador")
|
|
41
|
+
*/
|
|
42
|
+
role?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Handler para click en el dropdown de usuario
|
|
45
|
+
*/
|
|
46
|
+
onMenuClick?: () => void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Configuración de badges de notificación
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```tsx
|
|
53
|
+
* const notifications: NotificationsProps = {
|
|
54
|
+
* cart: 15, // Muestra badge con "15"
|
|
55
|
+
* bell: true, // Muestra dot de notificación
|
|
56
|
+
* };
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export interface NotificationsProps {
|
|
60
|
+
/**
|
|
61
|
+
* Número de items en el carrito
|
|
62
|
+
* Si es > 99, muestra "+99"
|
|
63
|
+
*/
|
|
64
|
+
cart?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Muestra dot de notificación en la campana
|
|
67
|
+
*/
|
|
68
|
+
bell?: boolean;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Props del componente Navbar
|
|
72
|
+
*
|
|
73
|
+
* Barra de navegación principal con soporte completo para responsive design y dark mode.
|
|
74
|
+
* Incluye logo, nombre de producto, badge de ambiente, botones de acción y dropdown de usuario.
|
|
75
|
+
*
|
|
76
|
+
* **Mejores prácticas implementadas:**
|
|
77
|
+
* - Orden de modificadores: {responsive}:{dark}:{state}:{utility}
|
|
78
|
+
* - Dark mode con estrategia 'class' (darkMode: 'class')
|
|
79
|
+
* - Tokens de color consistentes con la documentación
|
|
80
|
+
* - Focus rings adaptativos para light y dark mode
|
|
81
|
+
* - Tipografía del sistema: Heading/Tiny (20px Bold), Paragraph/Small (14px), Paragraph/Tiny (12px)
|
|
82
|
+
* - Spacing del sistema: 4px, 8px, 12px, 16px, 32px
|
|
83
|
+
*
|
|
84
|
+
* @see docs/colors.md - Sistema de colores y tokens dark mode
|
|
85
|
+
* @see docs/typography.md - Sistema tipográfico (Heading, Paragraph)
|
|
86
|
+
* @see docs/spacing.md - Sistema de espaciado
|
|
87
|
+
* @see docs/shadows.md - Sistema de sombras (button-inset)
|
|
88
|
+
*/
|
|
89
|
+
export interface NavbarProps {
|
|
90
|
+
/**
|
|
91
|
+
* Logo del negocio/cliente (componente o imagen)
|
|
92
|
+
* Solo visible en desktop/tablet
|
|
93
|
+
*
|
|
94
|
+
* @default Logo por defecto de la carpeta public
|
|
95
|
+
*/
|
|
96
|
+
logo?: ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* Logo de Siesa personalizado
|
|
99
|
+
* Si no se proporciona, usa el logo por defecto según variante
|
|
100
|
+
*
|
|
101
|
+
* @default Logo Siesa de la carpeta public
|
|
102
|
+
*/
|
|
103
|
+
siesaLogo?: ReactNode;
|
|
104
|
+
/**
|
|
105
|
+
* Nombre del producto que aparece después del logo
|
|
106
|
+
* Solo visible en desktop/tablet (se oculta en mobile)
|
|
107
|
+
*
|
|
108
|
+
* @default 'Nombre Producto'
|
|
109
|
+
*/
|
|
110
|
+
productName?: string;
|
|
111
|
+
/**
|
|
112
|
+
* Badge de ambiente/entorno (ej: "Ambiente de Pruebas")
|
|
113
|
+
* En mobile muestra versión corta ("Pruebas")
|
|
114
|
+
*/
|
|
115
|
+
environmentBadge?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Contenido del dropdown de usuario
|
|
118
|
+
*/
|
|
119
|
+
userDropdown?: UserDropdownProps;
|
|
120
|
+
/**
|
|
121
|
+
* Elementos de acción adicionales en la barra (botones, iconos, etc.)
|
|
122
|
+
* Se muestran a la derecha después del dropdown de usuario
|
|
123
|
+
*/
|
|
124
|
+
actions?: ReactNode;
|
|
125
|
+
/**
|
|
126
|
+
* Configuración de badges de notificación para los botones
|
|
127
|
+
*/
|
|
128
|
+
notifications?: NotificationsProps;
|
|
129
|
+
/**
|
|
130
|
+
* Clases CSS adicionales para el contenedor del navbar
|
|
131
|
+
*/
|
|
132
|
+
className?: string;
|
|
133
|
+
/**
|
|
134
|
+
* Modo de visualización del navbar
|
|
135
|
+
* - `responsive`: Se adapta automáticamente al viewport
|
|
136
|
+
* - `desktop`: Versión completa (1360x64px)
|
|
137
|
+
* - `tablet`: Versión tablet (1024x64px)
|
|
138
|
+
* - `mobile`: Versión compacta (428x40px)
|
|
139
|
+
*
|
|
140
|
+
* @default 'responsive'
|
|
141
|
+
*/
|
|
142
|
+
variant?: NavbarVariant;
|
|
143
|
+
/**
|
|
144
|
+
* Ocultar botones de acción (carrito, notificaciones, búsqueda)
|
|
145
|
+
*
|
|
146
|
+
* @default false
|
|
147
|
+
*/
|
|
148
|
+
hideActionButtons?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Elemento leading personalizado (reemplaza el botón de navegación por defecto)
|
|
151
|
+
* Solo visible en desktop/tablet
|
|
152
|
+
*/
|
|
153
|
+
leadingAction?: ReactNode;
|
|
154
|
+
/**
|
|
155
|
+
* Mostrar Business Logo en el leading (lado izquierdo)
|
|
156
|
+
* Solo visible en desktop/tablet
|
|
157
|
+
*
|
|
158
|
+
* @default false
|
|
159
|
+
*/
|
|
160
|
+
showBusinessLogo?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Mostrar Logo de Siesa en el leading (lado izquierdo)
|
|
163
|
+
* Solo visible en desktop/tablet (en mobile siempre muestra el icono)
|
|
164
|
+
*
|
|
165
|
+
* @default true
|
|
166
|
+
*/
|
|
167
|
+
showSiesaLogoLeading?: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Mostrar Logo de Siesa en el trailing (lado derecho)
|
|
170
|
+
* Solo visible en desktop/tablet
|
|
171
|
+
*
|
|
172
|
+
* @default false
|
|
173
|
+
*/
|
|
174
|
+
showSiesaLogoTrailing?: boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Handler para click en el botón de navegación (flecha izquierda)
|
|
177
|
+
* Solo visible en desktop/tablet cuando no hay leadingAction
|
|
178
|
+
*/
|
|
179
|
+
onNavigationClick?: () => void;
|
|
180
|
+
/**
|
|
181
|
+
* Handler para click en el botón de búsqueda
|
|
182
|
+
* Solo visible en mobile
|
|
183
|
+
*/
|
|
184
|
+
onSearchClick?: () => void;
|
|
185
|
+
/**
|
|
186
|
+
* Handler para click en el botón de carrito
|
|
187
|
+
*/
|
|
188
|
+
onCartClick?: () => void;
|
|
189
|
+
/**
|
|
190
|
+
* Handler para click en el botón de notificaciones
|
|
191
|
+
*/
|
|
192
|
+
onNotificationsClick?: () => void;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=Navbar.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Navbar.types.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/Navbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Iconos para el componente Navbar
|
|
3
|
+
* Basados en Heroicons Micro (16x16px)
|
|
4
|
+
*/
|
|
5
|
+
export declare const ShoppingCartIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const BellIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const MagnifyingGlassIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const ChevronDownIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const ExclamationTriangleIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const NotificationDot: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const ArrowLeftStartOnRectangleIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/icons.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,+CAU5B,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAcpB,CAAC;AAEF,eAAO,MAAM,mBAAmB,+CAc/B,CAAC;AAEF,eAAO,MAAM,eAAe,+CAc3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,+CAcnC,CAAC;AAEF,eAAO,MAAM,eAAe,+CAI3B,CAAC;AAEF,eAAO,MAAM,6BAA6B,+CAczC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { NavigationBarProps } from './NavigationBar.types';
|
|
3
|
+
/**
|
|
4
|
+
* NavigationBar del sistema de diseño Siesa
|
|
5
|
+
*
|
|
6
|
+
* **Componente de navegación inferior (Bottom Navigation Bar) para móvil.**
|
|
7
|
+
* Permite al usuario navegar entre vistas principales de la aplicación.
|
|
8
|
+
* Diseñado para contener 3-5 ítems de navegación.
|
|
9
|
+
*
|
|
10
|
+
* **🔄 Navegación Responsive:**
|
|
11
|
+
* El NavigationRail (navegación lateral vertical) se convierte en NavigationBar
|
|
12
|
+
* (navegación inferior horizontal) cuando la pantalla es móvil. Esta es una
|
|
13
|
+
* práctica recomendada de UX para aprovechar mejor el espacio en diferentes
|
|
14
|
+
* dispositivos:
|
|
15
|
+
* - **Desktop/Tablet**: Usar NavigationRail (lateral)
|
|
16
|
+
* - **Mobile**: Usar NavigationBar (inferior)
|
|
17
|
+
*
|
|
18
|
+
* **Características:**
|
|
19
|
+
* - Soporta hasta 5 ítems de navegación (recomendado: 3-5)
|
|
20
|
+
* - Cada ítem tiene icono + label
|
|
21
|
+
* - Indicador visual de ítem activo (fondo azul claro)
|
|
22
|
+
* - Estados: active, hover, disabled
|
|
23
|
+
* - Dark mode completo
|
|
24
|
+
* - Accesibilidad con ARIA labels
|
|
25
|
+
*
|
|
26
|
+
* **Mejores prácticas implementadas:**
|
|
27
|
+
* - Orden de modificadores: {responsive}:{dark}:{state}:{utility}
|
|
28
|
+
* - Dark mode con estrategia 'class' (darkMode: 'class')
|
|
29
|
+
* - Tokens de color consistentes con la documentación
|
|
30
|
+
* - Type safety con TypeScript estricto
|
|
31
|
+
* - Tipografía Label XXSmall (10px Bold) según sistema de diseño
|
|
32
|
+
* - Iconos de 16x16px según especificaciones de Figma
|
|
33
|
+
*
|
|
34
|
+
* @see docs/colors.md - Sistema de colores
|
|
35
|
+
* @see docs/typography.md - Sistema tipográfico (Label XXSmall)
|
|
36
|
+
* @see docs/spacing.md - Sistema de espaciado
|
|
37
|
+
* @see NavigationRail - Componente de navegación lateral para desktop
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```tsx
|
|
41
|
+
* const items = [
|
|
42
|
+
* { id: 'home', icon: <HomeIcon />, label: 'Inicio', active: true },
|
|
43
|
+
* { id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
44
|
+
* { id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
45
|
+
* ];
|
|
46
|
+
*
|
|
47
|
+
* <NavigationBar
|
|
48
|
+
* items={items}
|
|
49
|
+
* activeItemId="home"
|
|
50
|
+
* onItemClick={(id) => console.log('Clicked:', id)}
|
|
51
|
+
* />
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* // Patrón responsive: NavigationRail en desktop, NavigationBar en mobile
|
|
56
|
+
* ```tsx
|
|
57
|
+
* function ResponsiveNav() {
|
|
58
|
+
* return (
|
|
59
|
+
* <>
|
|
60
|
+
* // NavigationRail para desktop/tablet
|
|
61
|
+
* <div className="hidden md:block">
|
|
62
|
+
* <NavigationRail items={items} />
|
|
63
|
+
* </div>
|
|
64
|
+
*
|
|
65
|
+
* // NavigationBar para móvil
|
|
66
|
+
* <div className="md:hidden fixed bottom-0 left-0 right-0 z-50">
|
|
67
|
+
* <NavigationBar items={items} />
|
|
68
|
+
* </div>
|
|
69
|
+
* </>
|
|
70
|
+
* );
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare const NavigationBar: React.FC<NavigationBarProps>;
|
|
75
|
+
//# sourceMappingURL=NavigationBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationBar/NavigationBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,uBAAuB,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2KtD,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Interfaz para un ítem individual del Navigation Bar
|
|
4
|
+
*/
|
|
5
|
+
export interface NavigationBarItem {
|
|
6
|
+
/**
|
|
7
|
+
* Identificador único del ítem
|
|
8
|
+
*/
|
|
9
|
+
id: string;
|
|
10
|
+
/**
|
|
11
|
+
* Icono del ítem (componente React)
|
|
12
|
+
*/
|
|
13
|
+
icon: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Label del ítem (texto debajo del icono)
|
|
16
|
+
*/
|
|
17
|
+
label: string;
|
|
18
|
+
/**
|
|
19
|
+
* Si el ítem está activo
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
active?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Si el ítem está deshabilitado
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Función onClick del ítem
|
|
30
|
+
*/
|
|
31
|
+
onClick?: (id: string) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Etiqueta accesible para lectores de pantalla
|
|
34
|
+
*/
|
|
35
|
+
ariaLabel?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Props del componente NavigationBar
|
|
39
|
+
*/
|
|
40
|
+
export interface NavigationBarProps {
|
|
41
|
+
/**
|
|
42
|
+
* Lista de ítems del navigation bar (máximo 5 ítems recomendado)
|
|
43
|
+
*/
|
|
44
|
+
items: NavigationBarItem[];
|
|
45
|
+
/**
|
|
46
|
+
* ID del ítem actualmente activo
|
|
47
|
+
*/
|
|
48
|
+
activeItemId?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Función que se ejecuta cuando se hace click en un ítem
|
|
51
|
+
*/
|
|
52
|
+
onItemClick?: (id: string) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Clases CSS adicionales para el contenedor
|
|
55
|
+
*/
|
|
56
|
+
className?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Etiqueta accesible para el navigation bar
|
|
59
|
+
* @default 'Navigation Bar'
|
|
60
|
+
*/
|
|
61
|
+
ariaLabel?: string;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=NavigationBar.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationBar.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationBar/NavigationBar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationRail.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationRail/NavigationRail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,wBAAwB,CAAC;AAwO3F;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqLxD,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props para NavigationRailItem
|
|
4
|
+
*/
|
|
5
|
+
export interface NavigationRailItemProps {
|
|
6
|
+
/**
|
|
7
|
+
* Icono a mostrar en el item
|
|
8
|
+
*/
|
|
9
|
+
icon: ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Label del item de navegación
|
|
12
|
+
*/
|
|
13
|
+
label: string;
|
|
14
|
+
/**
|
|
15
|
+
* Si el item está seleccionado actualmente
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
selected?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Si el item está deshabilitado
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Mostrar badge de notificación (dot rojo)
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
badge?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Número a mostrar en el badge (reemplaza el dot)
|
|
31
|
+
*/
|
|
32
|
+
badgeCount?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Handler para evento click
|
|
35
|
+
*/
|
|
36
|
+
onClick?: () => void;
|
|
37
|
+
/**
|
|
38
|
+
* Label para accesibilidad (ARIA)
|
|
39
|
+
*/
|
|
40
|
+
ariaLabel?: string;
|
|
41
|
+
/**
|
|
42
|
+
* ID único del item (para navegación)
|
|
43
|
+
*/
|
|
44
|
+
id?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Props del componente NavigationRail
|
|
48
|
+
*/
|
|
49
|
+
export interface NavigationRailProps {
|
|
50
|
+
/**
|
|
51
|
+
* Items de navegación a mostrar
|
|
52
|
+
*/
|
|
53
|
+
items: NavigationRailItemProps[];
|
|
54
|
+
/**
|
|
55
|
+
* Alineación vertical de los items
|
|
56
|
+
* - `top`: Items alineados arriba (debajo del FAB)
|
|
57
|
+
* - `center`: Items centrados verticalmente
|
|
58
|
+
* - `bottom`: Items alineados abajo
|
|
59
|
+
* @default 'top'
|
|
60
|
+
*/
|
|
61
|
+
alignment?: 'top' | 'center' | 'bottom';
|
|
62
|
+
/**
|
|
63
|
+
* Mostrar botón FAB (Floating Action Button) en la parte superior
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
showFab?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Icono del botón FAB
|
|
69
|
+
*/
|
|
70
|
+
fabIcon?: ReactNode;
|
|
71
|
+
/**
|
|
72
|
+
* Handler para click en el FAB
|
|
73
|
+
*/
|
|
74
|
+
onFabClick?: () => void;
|
|
75
|
+
/**
|
|
76
|
+
* Label del FAB para accesibilidad
|
|
77
|
+
*/
|
|
78
|
+
fabAriaLabel?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Clases CSS adicionales para el contenedor
|
|
81
|
+
*/
|
|
82
|
+
className?: string;
|
|
83
|
+
/**
|
|
84
|
+
* ID del item seleccionado actualmente
|
|
85
|
+
*/
|
|
86
|
+
selectedId?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Handler cuando se selecciona un item
|
|
89
|
+
*/
|
|
90
|
+
onItemSelect?: (id: string) => void;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=NavigationRail.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationRail.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationRail/NavigationRail.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAEjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAExC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationRail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
|