siesa-ui-kit 1.0.5 → 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/{src/components/Button/index.ts → dist/components/Button/index.d.ts} +4 -3
- 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/{src/components/Dropdown/index.ts → dist/components/Dropdown/index.d.ts} +4 -8
- 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/{src/components/Input/index.ts → dist/components/Input/index.d.ts} +3 -2
- 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/{src/components/LoginView/index.ts → dist/components/LoginView/index.d.ts} +4 -3
- 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/{src/components/NavigationBar/index.ts → dist/components/NavigationBar/index.d.ts} +3 -2
- 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/{src/components/NavigationRail/index.ts → dist/components/NavigationRail/index.d.ts} +3 -2
- 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/{src/components/Notification/index.ts → dist/components/Notification/index.d.ts} +3 -3
- 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/{src/components/POSConvention/POSConvention.types.ts → dist/components/POSConvention/POSConvention.types.d.ts} +37 -38
- 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/{src/components/POSConvention/index.ts → dist/components/POSConvention/index.d.ts} +4 -3
- 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/{src/components/POSNumberButton/index.ts → dist/components/POSNumberButton/index.d.ts} +3 -3
- 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/{src/components/POSProductButton/index.ts → dist/components/POSProductButton/index.d.ts} +3 -2
- 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/{src/components/POSProductCard/index.ts → dist/components/POSProductCard/index.d.ts} +3 -2
- 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/{src/components/POSProductSidebarItems/index.ts → dist/components/POSProductSidebarItems/index.d.ts} +4 -3
- 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/{src/components/Pagination/index.ts → dist/components/Pagination/index.d.ts} +4 -3
- 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/{src/components/Select/index.ts → dist/components/Select/index.d.ts} +4 -3
- 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/{src/components/SignUpView/index.ts → dist/components/SignUpView/index.d.ts} +4 -3
- 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/{src/context/index.ts → dist/context/index.d.ts} +2 -1
- 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/{src/views/RecoverPasswordView/index.ts → dist/views/RecoverPasswordView/index.d.ts} +3 -2
- 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 -83
- package/bin/install.cjs +0 -502
- package/bin/prepare-publish.cjs +0 -28
- package/bin/restore-folders.cjs +0 -28
- package/claude/agents/siesa-ui-kit-specialist.md +0 -2401
- package/claude/prompts/component-template.md +0 -121
- package/claude/settings.local.json +0 -61
- package/docs/border-radius.md +0 -1261
- package/docs/colors.md +0 -832
- package/docs/dark-mode-guide.md +0 -1426
- package/docs/filters.md +0 -1243
- package/docs/icons.md +0 -1283
- package/docs/shadows.md +0 -1377
- package/docs/spacing.md +0 -1684
- package/docs/typography.md +0 -1268
- package/postcss.config.cjs +0 -6
- package/public/,Business Logo.png +0 -0
- package/public/.Siesa Logo.png +0 -0
- package/public/bg_siesa.png +0 -0
- package/public/siesa_logo_mobile.png +0 -0
- package/public/vite.svg +0 -1
- package/src/App.css +0 -42
- package/src/App.tsx +0 -8
- package/src/ButtonTest.tsx +0 -147
- package/src/assets/fonts/README.md +0 -261
- package/src/assets/fonts/SiesaBT/SiesaBT-Bold.otf +0 -0
- package/src/assets/fonts/SiesaBT/SiesaBT-Light.otf +0 -0
- package/src/assets/fonts/SiesaBT/SiesaBT-Regular.otf +0 -0
- package/src/assets/react.svg +0 -1
- package/src/components/Alert/Alert.stories.tsx +0 -332
- package/src/components/Alert/Alert.tsx +0 -106
- package/src/components/Alert/Alert.types.ts +0 -54
- package/src/components/Avatar/Avatar.stories.tsx +0 -494
- package/src/components/Avatar/Avatar.tsx +0 -143
- package/src/components/Avatar/Avatar.types.ts +0 -53
- package/src/components/Badge/Badge.stories.tsx +0 -339
- package/src/components/Badge/Badge.tsx +0 -278
- package/src/components/Badge/Badge.types.ts +0 -58
- package/src/components/Button/Button.stories.tsx +0 -950
- package/src/components/Button/Button.tsx +0 -337
- package/src/components/Button/Button.types.ts +0 -180
- package/src/components/Button/icons.tsx +0 -87
- package/src/components/Checkbox/Checkbox.stories.tsx +0 -453
- package/src/components/Checkbox/Checkbox.tsx +0 -208
- package/src/components/Checkbox/Checkbox.types.ts +0 -61
- package/src/components/DescriptionList/DescriptionList.stories.tsx +0 -250
- package/src/components/DescriptionList/DescriptionList.tsx +0 -96
- package/src/components/DescriptionList/DescriptionList.types.ts +0 -29
- package/src/components/Divider/Divider.stories.tsx +0 -263
- package/src/components/Divider/Divider.tsx +0 -80
- package/src/components/Divider/Divider.types.ts +0 -24
- package/src/components/Dropdown/Dropdown.stories.tsx +0 -552
- package/src/components/Dropdown/Dropdown.tsx +0 -422
- package/src/components/Dropdown/Dropdown.types.ts +0 -146
- package/src/components/Dropdown/README.md +0 -266
- package/src/components/Dropdown/icons.tsx +0 -72
- package/src/components/Input/Input.stories.tsx +0 -583
- package/src/components/Input/Input.tsx +0 -204
- package/src/components/Input/Input.types.ts +0 -80
- package/src/components/Input/icons.tsx +0 -145
- package/src/components/LoginView/LoginView.stories.tsx +0 -148
- package/src/components/LoginView/LoginView.tsx +0 -426
- package/src/components/LoginView/LoginView.types.ts +0 -52
- package/src/components/LoginView/README.md +0 -396
- package/src/components/LoginView/icons.tsx +0 -85
- package/src/components/Navbar/Navbar.stories.tsx +0 -810
- package/src/components/Navbar/Navbar.tsx +0 -755
- package/src/components/Navbar/Navbar.types.ts +0 -219
- package/src/components/Navbar/README.md +0 -279
- package/src/components/Navbar/icons.tsx +0 -102
- package/src/components/Navbar/index.ts +0 -8
- package/src/components/NavigationBar/NavigationBar.stories.tsx +0 -406
- package/src/components/NavigationBar/NavigationBar.tsx +0 -246
- package/src/components/NavigationBar/NavigationBar.types.ts +0 -74
- package/src/components/NavigationBar/README.md +0 -469
- package/src/components/NavigationRail/NavigationRail.stories.tsx +0 -417
- package/src/components/NavigationRail/NavigationRail.tsx +0 -418
- package/src/components/NavigationRail/NavigationRail.types.ts +0 -109
- package/src/components/NavigationRail/README.md +0 -224
- package/src/components/Notification/Notification.stories.tsx +0 -513
- package/src/components/Notification/Notification.tsx +0 -145
- package/src/components/Notification/Notification.types.ts +0 -142
- package/src/components/Notification/README.md +0 -409
- package/src/components/POSConvention/POSConvention.stories.tsx +0 -235
- package/src/components/POSConvention/POSConvention.tsx +0 -129
- package/src/components/POSConvention/README.md +0 -123
- package/src/components/POSConvention/icons.tsx +0 -45
- package/src/components/POSLocationButton/POSLocationButton.stories.tsx +0 -531
- package/src/components/POSLocationButton/POSLocationButton.tsx +0 -247
- package/src/components/POSLocationButton/POSLocationButton.types.ts +0 -87
- package/src/components/POSLocationButton/README.md +0 -253
- package/src/components/POSLocationButton/icons.tsx +0 -120
- package/src/components/POSLocationButton/index.ts +0 -14
- package/src/components/POSNumberButton/POSNumberButton.stories.tsx +0 -415
- package/src/components/POSNumberButton/POSNumberButton.tsx +0 -179
- package/src/components/POSNumberButton/POSNumberButton.types.ts +0 -51
- package/src/components/POSNumberButton/README.md +0 -321
- package/src/components/POSProductButton/POSProductButton.stories.tsx +0 -318
- package/src/components/POSProductButton/POSProductButton.tsx +0 -152
- package/src/components/POSProductButton/POSProductButton.types.ts +0 -46
- package/src/components/POSProductButton/README.md +0 -269
- package/src/components/POSProductCard/POSProductCard.stories.tsx +0 -642
- package/src/components/POSProductCard/POSProductCard.tsx +0 -208
- package/src/components/POSProductCard/POSProductCard.types.ts +0 -76
- package/src/components/POSProductCard/README.md +0 -179
- package/src/components/POSProductCard/icons.tsx +0 -26
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +0 -753
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +0 -332
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +0 -119
- package/src/components/POSProductSidebarItems/README.md +0 -198
- package/src/components/POSProductSidebarItems/icons.tsx +0 -21
- package/src/components/POSTable/POSTable.stories.tsx +0 -737
- package/src/components/POSTable/POSTable.tsx +0 -401
- package/src/components/POSTable/POSTable.types.ts +0 -83
- package/src/components/POSTable/README.md +0 -286
- package/src/components/POSTable/index.ts +0 -7
- package/src/components/Pagination/Pagination.stories.tsx +0 -555
- package/src/components/Pagination/Pagination.tsx +0 -286
- package/src/components/Pagination/Pagination.types.ts +0 -93
- package/src/components/Pagination/README.md +0 -298
- package/src/components/Pagination/icons.tsx +0 -47
- package/src/components/Quantity/Quantity.stories.tsx +0 -457
- package/src/components/Quantity/Quantity.tsx +0 -289
- package/src/components/Quantity/Quantity.types.ts +0 -70
- package/src/components/Radio/Radio.stories.tsx +0 -523
- package/src/components/Radio/Radio.tsx +0 -170
- package/src/components/Radio/Radio.types.ts +0 -122
- package/src/components/Select/README.md +0 -299
- package/src/components/Select/Select.stories.tsx +0 -673
- package/src/components/Select/Select.tsx +0 -454
- package/src/components/Select/Select.types.ts +0 -148
- package/src/components/Select/icons.tsx +0 -50
- package/src/components/SignUpView/SignUpView.stories.tsx +0 -129
- package/src/components/SignUpView/SignUpView.tsx +0 -503
- package/src/components/SignUpView/SignUpView.types.ts +0 -58
- package/src/components/SignUpView/icons.tsx +0 -71
- package/src/components/Switch/README.md +0 -112
- package/src/components/Switch/Switch.stories.tsx +0 -550
- package/src/components/Switch/Switch.tsx +0 -246
- package/src/components/Switch/Switch.types.ts +0 -67
- package/src/components/Table/README.md +0 -369
- package/src/components/Table/Table.stories.tsx +0 -805
- package/src/components/Table/Table.tsx +0 -688
- package/src/components/Table/Table.types.ts +0 -204
- package/src/components/Table/index.ts +0 -9
- package/src/components/Tabs/README.md +0 -201
- package/src/components/Tabs/Tabs.stories.tsx +0 -580
- package/src/components/Tabs/Tabs.tsx +0 -356
- package/src/components/Tabs/Tabs.types.ts +0 -127
- package/src/components/Tabs/icons.tsx +0 -129
- package/src/components/Tabs/index.ts +0 -11
- package/src/components/Textarea/Textarea.stories.tsx +0 -535
- package/src/components/Textarea/Textarea.tsx +0 -188
- package/src/components/Textarea/Textarea.types.ts +0 -54
- package/src/context/ThemeContext.tsx +0 -99
- package/src/index.css +0 -29
- package/src/index.ts +0 -39
- package/src/main.tsx +0 -10
- package/src/views/ProductsView/ProductsView.stories.tsx +0 -344
- package/src/views/ProductsView/ProductsView.tsx +0 -480
- package/src/views/ProductsView/ProductsView.types.ts +0 -238
- package/src/views/ProductsView/README.md +0 -312
- package/src/views/ProductsView/icons.tsx +0 -38
- package/src/views/ProductsView/index.ts +0 -8
- package/src/views/RecoverPasswordView/README.md +0 -269
- package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +0 -131
- package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +0 -376
- package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +0 -56
- package/src/views/RecoverPasswordView/icons.tsx +0 -17
- package/src/views/TableLayoutView/README.md +0 -268
- package/src/views/TableLayoutView/TableLayoutView.stories.tsx +0 -235
- package/src/views/TableLayoutView/TableLayoutView.tsx +0 -461
- package/src/views/TableLayoutView/TableLayoutView.types.ts +0 -209
- package/src/views/TableLayoutView/icons.tsx +0 -113
- package/src/views/TableLayoutView/index.ts +0 -6
- package/storybook/main.ts +0 -20
- package/storybook/preview.tsx +0 -84
- package/storybook/vitest.setup.ts +0 -7
- package/tailwind.config.js +0 -128
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Interfaz para un ítem individual del Navigation Bar
|
|
5
|
-
*/
|
|
6
|
-
export interface NavigationBarItem {
|
|
7
|
-
/**
|
|
8
|
-
* Identificador único del ítem
|
|
9
|
-
*/
|
|
10
|
-
id: string;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Icono del ítem (componente React)
|
|
14
|
-
*/
|
|
15
|
-
icon: ReactNode;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Label del ítem (texto debajo del icono)
|
|
19
|
-
*/
|
|
20
|
-
label: string;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Si el ítem está activo
|
|
24
|
-
* @default false
|
|
25
|
-
*/
|
|
26
|
-
active?: boolean;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Si el ítem está deshabilitado
|
|
30
|
-
* @default false
|
|
31
|
-
*/
|
|
32
|
-
disabled?: boolean;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Función onClick del ítem
|
|
36
|
-
*/
|
|
37
|
-
onClick?: (id: string) => void;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Etiqueta accesible para lectores de pantalla
|
|
41
|
-
*/
|
|
42
|
-
ariaLabel?: string;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Props del componente NavigationBar
|
|
47
|
-
*/
|
|
48
|
-
export interface NavigationBarProps {
|
|
49
|
-
/**
|
|
50
|
-
* Lista de ítems del navigation bar (máximo 5 ítems recomendado)
|
|
51
|
-
*/
|
|
52
|
-
items: NavigationBarItem[];
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* ID del ítem actualmente activo
|
|
56
|
-
*/
|
|
57
|
-
activeItemId?: string;
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Función que se ejecuta cuando se hace click en un ítem
|
|
61
|
-
*/
|
|
62
|
-
onItemClick?: (id: string) => void;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Clases CSS adicionales para el contenedor
|
|
66
|
-
*/
|
|
67
|
-
className?: string;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Etiqueta accesible para el navigation bar
|
|
71
|
-
* @default 'Navigation Bar'
|
|
72
|
-
*/
|
|
73
|
-
ariaLabel?: string;
|
|
74
|
-
}
|
|
@@ -1,469 +0,0 @@
|
|
|
1
|
-
# NavigationBar
|
|
2
|
-
|
|
3
|
-
Barra de navegación inferior (Bottom Navigation Bar) para aplicaciones móviles del sistema de diseño Siesa UI Kit.
|
|
4
|
-
|
|
5
|
-
## 📋 Descripción
|
|
6
|
-
|
|
7
|
-
El **NavigationBar** es un componente de navegación diseñado específicamente para aplicaciones móviles. Permite al usuario navegar entre 3-5 vistas principales de la aplicación mediante una barra fija en la parte inferior de la pantalla.
|
|
8
|
-
|
|
9
|
-
## 🔄 Navegación Responsive
|
|
10
|
-
|
|
11
|
-
**El NavigationRail se convierte en NavigationBar cuando es responsive.**
|
|
12
|
-
|
|
13
|
-
Esta es una práctica recomendada de UX para optimizar el espacio en diferentes dispositivos:
|
|
14
|
-
- **Desktop/Tablet (≥768px)**: Usar **NavigationRail** (navegación lateral vertical)
|
|
15
|
-
- **Mobile (<768px)**: Usar **NavigationBar** (navegación inferior horizontal)
|
|
16
|
-
|
|
17
|
-
El patrón responsive permite aprovechar mejor el espacio disponible: en desktop se usa el espacio lateral, mientras que en móvil se usa el espacio inferior para mantener el contenido principal en el centro de la pantalla.
|
|
18
|
-
|
|
19
|
-
## 🎨 Características
|
|
20
|
-
|
|
21
|
-
- ✅ Soporte para 3-5 ítems de navegación (recomendado)
|
|
22
|
-
- ✅ Cada ítem incluye icono + label
|
|
23
|
-
- ✅ Indicador visual de ítem activo (fondo azul claro)
|
|
24
|
-
- ✅ Estados: active, hover, disabled
|
|
25
|
-
- ✅ Dark mode completo
|
|
26
|
-
- ✅ Accesibilidad con ARIA labels
|
|
27
|
-
- ✅ TypeScript con types estrictos
|
|
28
|
-
- ✅ Iconos de 16x16px según especificaciones de Figma
|
|
29
|
-
- ✅ Tipografía Label XXSmall (10px Bold)
|
|
30
|
-
|
|
31
|
-
## 📦 Instalación
|
|
32
|
-
|
|
33
|
-
```tsx
|
|
34
|
-
import { NavigationBar } from '@/components/NavigationBar';
|
|
35
|
-
import type { NavigationBarItem } from '@/components/NavigationBar';
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## 🚀 Uso Básico
|
|
39
|
-
|
|
40
|
-
### Ejemplo Simple
|
|
41
|
-
|
|
42
|
-
```tsx
|
|
43
|
-
import { NavigationBar } from '@/components/NavigationBar';
|
|
44
|
-
import { HomeIcon, SearchIcon, ProfileIcon } from '@/icons';
|
|
45
|
-
|
|
46
|
-
const items = [
|
|
47
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio', active: true },
|
|
48
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
49
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
50
|
-
];
|
|
51
|
-
|
|
52
|
-
function App() {
|
|
53
|
-
return <NavigationBar items={items} activeItemId="home" />;
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Ejemplo con Estado Controlado
|
|
58
|
-
|
|
59
|
-
```tsx
|
|
60
|
-
import { useState } from 'react';
|
|
61
|
-
import { NavigationBar } from '@/components/NavigationBar';
|
|
62
|
-
import { HomeIcon, SearchIcon, HeartIcon, ProfileIcon } from '@/icons';
|
|
63
|
-
|
|
64
|
-
function App() {
|
|
65
|
-
const [activeTab, setActiveTab] = useState('home');
|
|
66
|
-
|
|
67
|
-
const items = [
|
|
68
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
69
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
70
|
-
{ id: 'favorites', icon: <HeartIcon />, label: 'Favoritos' },
|
|
71
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
72
|
-
];
|
|
73
|
-
|
|
74
|
-
return (
|
|
75
|
-
<NavigationBar
|
|
76
|
-
items={items}
|
|
77
|
-
activeItemId={activeTab}
|
|
78
|
-
onItemClick={(id) => setActiveTab(id)}
|
|
79
|
-
/>
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Ejemplo con Ítem Deshabilitado
|
|
85
|
-
|
|
86
|
-
```tsx
|
|
87
|
-
const items = [
|
|
88
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
89
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
90
|
-
{
|
|
91
|
-
id: 'favorites',
|
|
92
|
-
icon: <HeartIcon />,
|
|
93
|
-
label: 'Favoritos',
|
|
94
|
-
disabled: true, // Ítem deshabilitado
|
|
95
|
-
},
|
|
96
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
97
|
-
];
|
|
98
|
-
|
|
99
|
-
<NavigationBar items={items} activeItemId="home" />;
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## 📐 Props
|
|
103
|
-
|
|
104
|
-
### NavigationBarProps
|
|
105
|
-
|
|
106
|
-
| Prop | Tipo | Default | Descripción |
|
|
107
|
-
| -------------- | -------------------------- | --------------------- | ---------------------------------------------------- |
|
|
108
|
-
| `items` | `NavigationBarItem[]` | **Required** | Lista de ítems del navigation bar (máximo 5) |
|
|
109
|
-
| `activeItemId` | `string` | `undefined` | ID del ítem actualmente activo |
|
|
110
|
-
| `onItemClick` | `(id: string) => void` | `undefined` | Función que se ejecuta cuando se hace click en ítem |
|
|
111
|
-
| `className` | `string` | `''` | Clases CSS adicionales para el contenedor |
|
|
112
|
-
| `ariaLabel` | `string` | `'Navegación Principal'` | Etiqueta accesible para el navigation bar |
|
|
113
|
-
|
|
114
|
-
### NavigationBarItem
|
|
115
|
-
|
|
116
|
-
| Prop | Tipo | Default | Descripción |
|
|
117
|
-
| ----------- | ----------------------- | ----------- | ---------------------------------------- |
|
|
118
|
-
| `id` | `string` | **Required** | Identificador único del ítem |
|
|
119
|
-
| `icon` | `ReactNode` | **Required** | Icono del ítem (componente React) |
|
|
120
|
-
| `label` | `string` | **Required** | Label del ítem (texto debajo del icono) |
|
|
121
|
-
| `active` | `boolean` | `false` | Si el ítem está activo |
|
|
122
|
-
| `disabled` | `boolean` | `false` | Si el ítem está deshabilitado |
|
|
123
|
-
| `onClick` | `(id: string) => void` | `undefined` | Función onClick del ítem individual |
|
|
124
|
-
| `ariaLabel` | `string` | `undefined` | Etiqueta accesible para el ítem |
|
|
125
|
-
|
|
126
|
-
## 🎨 Variantes
|
|
127
|
-
|
|
128
|
-
### Por Cantidad de Ítems
|
|
129
|
-
|
|
130
|
-
#### 3 Ítems (Mínimo Recomendado)
|
|
131
|
-
|
|
132
|
-
```tsx
|
|
133
|
-
<NavigationBar
|
|
134
|
-
items={[
|
|
135
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
136
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
137
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
138
|
-
]}
|
|
139
|
-
activeItemId="home"
|
|
140
|
-
/>
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**Uso:** Aplicaciones simples con pocas secciones principales.
|
|
144
|
-
|
|
145
|
-
#### 4 Ítems (Óptimo)
|
|
146
|
-
|
|
147
|
-
```tsx
|
|
148
|
-
<NavigationBar
|
|
149
|
-
items={[
|
|
150
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
151
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
152
|
-
{ id: 'favorites', icon: <HeartIcon />, label: 'Favoritos' },
|
|
153
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
154
|
-
]}
|
|
155
|
-
activeItemId="home"
|
|
156
|
-
/>
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
**Uso:** Balance perfecto entre funcionalidad y usabilidad.
|
|
160
|
-
|
|
161
|
-
#### 5 Ítems (Máximo Recomendado)
|
|
162
|
-
|
|
163
|
-
```tsx
|
|
164
|
-
<NavigationBar
|
|
165
|
-
items={[
|
|
166
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
167
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
168
|
-
{ id: 'favorites', icon: <HeartIcon />, label: 'Favoritos' },
|
|
169
|
-
{ id: 'notifications', icon: <BellIcon />, label: 'Alertas' },
|
|
170
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
171
|
-
]}
|
|
172
|
-
activeItemId="home"
|
|
173
|
-
/>
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
**Uso:** Máximo de ítems para mantener buena experiencia de usuario.
|
|
177
|
-
|
|
178
|
-
## 🎯 Estados
|
|
179
|
-
|
|
180
|
-
### Estado Normal
|
|
181
|
-
|
|
182
|
-
```tsx
|
|
183
|
-
<NavigationBar
|
|
184
|
-
items={[
|
|
185
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio', active: true },
|
|
186
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
187
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
188
|
-
]}
|
|
189
|
-
activeItemId="home"
|
|
190
|
-
/>
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
El ítem activo muestra un fondo azul claro en light mode o azul oscuro transparente en dark mode.
|
|
194
|
-
|
|
195
|
-
### Estado Hover
|
|
196
|
-
|
|
197
|
-
Los ítems inactivos muestran un overlay ligero al pasar el mouse sobre ellos.
|
|
198
|
-
|
|
199
|
-
### Estado Disabled
|
|
200
|
-
|
|
201
|
-
```tsx
|
|
202
|
-
<NavigationBar
|
|
203
|
-
items={[
|
|
204
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio', active: true },
|
|
205
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar', disabled: true },
|
|
206
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
207
|
-
]}
|
|
208
|
-
activeItemId="home"
|
|
209
|
-
/>
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
Los ítems deshabilitados tienen opacidad reducida y no responden a clicks.
|
|
213
|
-
|
|
214
|
-
## 📱 Uso Responsive
|
|
215
|
-
|
|
216
|
-
El NavigationBar está diseñado específicamente para **móviles**. En desktop, debes usar **NavigationRail** (navegación lateral).
|
|
217
|
-
|
|
218
|
-
### Patrón Responsive: NavigationRail → NavigationBar
|
|
219
|
-
|
|
220
|
-
**Implementación recomendada para aplicaciones responsive:**
|
|
221
|
-
|
|
222
|
-
```tsx
|
|
223
|
-
import { NavigationBar } from '@/components/NavigationBar';
|
|
224
|
-
import { NavigationRail } from '@/components/NavigationRail';
|
|
225
|
-
|
|
226
|
-
function ResponsiveApp() {
|
|
227
|
-
const [activeTab, setActiveTab] = useState('home');
|
|
228
|
-
|
|
229
|
-
const navItems = [
|
|
230
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
231
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
232
|
-
{ id: 'favorites', icon: <HeartIcon />, label: 'Favoritos' },
|
|
233
|
-
{ id: 'profile', icon: <UserIcon />, label: 'Perfil' },
|
|
234
|
-
];
|
|
235
|
-
|
|
236
|
-
return (
|
|
237
|
-
<div className="min-h-screen">
|
|
238
|
-
{/* NavigationRail para desktop/tablet (≥768px) */}
|
|
239
|
-
<div className="hidden md:block">
|
|
240
|
-
<NavigationRail
|
|
241
|
-
items={navItems}
|
|
242
|
-
activeItemId={activeTab}
|
|
243
|
-
onItemClick={setActiveTab}
|
|
244
|
-
/>
|
|
245
|
-
</div>
|
|
246
|
-
|
|
247
|
-
{/* Contenido principal */}
|
|
248
|
-
<main className="md:ml-20 pb-20 md:pb-0">
|
|
249
|
-
{/* Tu contenido aquí */}
|
|
250
|
-
</main>
|
|
251
|
-
|
|
252
|
-
{/* NavigationBar para móvil (<768px) */}
|
|
253
|
-
<div className="md:hidden fixed bottom-0 left-0 right-0 z-50">
|
|
254
|
-
<NavigationBar
|
|
255
|
-
items={navItems}
|
|
256
|
-
activeItemId={activeTab}
|
|
257
|
-
onItemClick={setActiveTab}
|
|
258
|
-
/>
|
|
259
|
-
</div>
|
|
260
|
-
</div>
|
|
261
|
-
);
|
|
262
|
-
}
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Fijar en la Parte Inferior (Solo Móvil)
|
|
266
|
-
|
|
267
|
-
```tsx
|
|
268
|
-
import { NavigationBar } from '@/components/NavigationBar';
|
|
269
|
-
|
|
270
|
-
function MobileApp() {
|
|
271
|
-
return (
|
|
272
|
-
<div className="min-h-screen flex flex-col">
|
|
273
|
-
{/* Contenido principal */}
|
|
274
|
-
<main className="flex-1 pb-20">{/* Tu contenido aquí */}</main>
|
|
275
|
-
|
|
276
|
-
{/* Navigation Bar fijo en bottom */}
|
|
277
|
-
<div className="fixed bottom-0 left-0 right-0 z-50">
|
|
278
|
-
<NavigationBar items={items} activeItemId={activeTab} />
|
|
279
|
-
</div>
|
|
280
|
-
</div>
|
|
281
|
-
);
|
|
282
|
-
}
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
### Breakpoints Recomendados
|
|
286
|
-
|
|
287
|
-
```tsx
|
|
288
|
-
// Tailwind breakpoints para la conversión
|
|
289
|
-
// mobile : <768px → NavigationBar (inferior)
|
|
290
|
-
// tablet+ : ≥768px → NavigationRail (lateral)
|
|
291
|
-
|
|
292
|
-
<div className="md:hidden"> {/* Solo móvil */}
|
|
293
|
-
<NavigationBar />
|
|
294
|
-
</div>
|
|
295
|
-
|
|
296
|
-
<div className="hidden md:block"> {/* Tablet y desktop */}
|
|
297
|
-
<NavigationRail />
|
|
298
|
-
</div>
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
## 🌓 Dark Mode
|
|
302
|
-
|
|
303
|
-
El componente soporta dark mode completo automáticamente usando la estrategia `class` de Tailwind CSS.
|
|
304
|
-
|
|
305
|
-
```tsx
|
|
306
|
-
// El componente detecta automáticamente el modo oscuro
|
|
307
|
-
<NavigationBar items={items} activeItemId="home" />
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
### Colores en Dark Mode
|
|
311
|
-
|
|
312
|
-
| Elemento | Light Mode | Dark Mode |
|
|
313
|
-
| --------------------- | -------------------------- | ----------------------------------- |
|
|
314
|
-
| Fondo principal | `bg-bg-primary` (#ffffff) | `dark:bg-dark-bg-primary` (#18181b) |
|
|
315
|
-
| Icono activo (fondo) | `bg-primary-custom-100` | `dark:bg-primary-custom-100/20` |
|
|
316
|
-
| Icono/texto | `text-content-primary` | `dark:text-dark-content-primary` |
|
|
317
|
-
| Hover (inactivo) | `hover:bg-hover-overlay` | `dark:hover:bg-hover-overlay-dark` |
|
|
318
|
-
|
|
319
|
-
## ♿ Accesibilidad
|
|
320
|
-
|
|
321
|
-
### ARIA Labels
|
|
322
|
-
|
|
323
|
-
```tsx
|
|
324
|
-
<NavigationBar
|
|
325
|
-
items={[
|
|
326
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio', ariaLabel: 'Ir a Inicio' },
|
|
327
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar', ariaLabel: 'Buscar contenido' },
|
|
328
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil', ariaLabel: 'Ver mi perfil' },
|
|
329
|
-
]}
|
|
330
|
-
ariaLabel="Navegación Principal de la Aplicación"
|
|
331
|
-
activeItemId="home"
|
|
332
|
-
/>
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
### Atributos ARIA Automáticos
|
|
336
|
-
|
|
337
|
-
- `role="navigation"`: Identifica el componente como navegación
|
|
338
|
-
- `aria-label`: Descripción del navigation bar completo
|
|
339
|
-
- `aria-current="page"`: Marca el ítem activo
|
|
340
|
-
- `aria-label` en cada ítem: Descripción de la acción del ítem
|
|
341
|
-
|
|
342
|
-
## 💡 Mejores Prácticas
|
|
343
|
-
|
|
344
|
-
### ✅ Hacer
|
|
345
|
-
|
|
346
|
-
1. **Usar entre 3-5 ítems** para mejor usabilidad
|
|
347
|
-
2. **Iconos simples y reconocibles** de 16x16px
|
|
348
|
-
3. **Labels cortos** (máximo 10 caracteres)
|
|
349
|
-
4. **Primer ítem como "Inicio"** o vista principal
|
|
350
|
-
5. **Fijar en bottom** con `position: fixed`
|
|
351
|
-
6. **Considerar safe-area-inset-bottom** en dispositivos con notch
|
|
352
|
-
|
|
353
|
-
```tsx
|
|
354
|
-
// ✅ CORRECTO
|
|
355
|
-
<NavigationBar
|
|
356
|
-
items={[
|
|
357
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
358
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
359
|
-
{ id: 'profile', icon: <ProfileIcon />, label: 'Perfil' },
|
|
360
|
-
]}
|
|
361
|
-
activeItemId="home"
|
|
362
|
-
/>
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
### ❌ Evitar
|
|
366
|
-
|
|
367
|
-
1. **NO usar más de 5 ítems**
|
|
368
|
-
2. **NO usar labels largos** ("Configuración Avanzada" → "Ajustes")
|
|
369
|
-
3. **NO usar en desktop** (usar sidebar o tabs)
|
|
370
|
-
4. **NO cambiar orden de ítems** dinámicamente
|
|
371
|
-
5. **NO omitir el indicador de ítem activo**
|
|
372
|
-
|
|
373
|
-
```tsx
|
|
374
|
-
// ❌ INCORRECTO - Demasiados ítems
|
|
375
|
-
<NavigationBar
|
|
376
|
-
items={[
|
|
377
|
-
{ id: '1', icon: <Icon1 />, label: 'Item 1' },
|
|
378
|
-
{ id: '2', icon: <Icon2 />, label: 'Item 2' },
|
|
379
|
-
{ id: '3', icon: <Icon3 />, label: 'Item 3' },
|
|
380
|
-
{ id: '4', icon: <Icon4 />, label: 'Item 4' },
|
|
381
|
-
{ id: '5', icon: <Icon5 />, label: 'Item 5' },
|
|
382
|
-
{ id: '6', icon: <Icon6 />, label: 'Item 6' }, // ❌ Demasiados
|
|
383
|
-
{ id: '7', icon: <Icon7 />, label: 'Item 7' }, // ❌ Demasiados
|
|
384
|
-
]}
|
|
385
|
-
/>
|
|
386
|
-
```
|
|
387
|
-
|
|
388
|
-
## 🎨 Especificaciones de Diseño
|
|
389
|
-
|
|
390
|
-
### Tipografía
|
|
391
|
-
|
|
392
|
-
- **Label**: 10px Bold (Label XXSmall según `docs/typography.md`)
|
|
393
|
-
- **Line Height**: 12px
|
|
394
|
-
- **Font Family**: SiesaBT Bold
|
|
395
|
-
|
|
396
|
-
### Espaciado
|
|
397
|
-
|
|
398
|
-
- **Padding contenedor**: 16px (`p-4`)
|
|
399
|
-
- **Gap entre ítems**: 8px (`gap-2`)
|
|
400
|
-
- **Gap icono-label**: 4px (`gap-1`)
|
|
401
|
-
- **Padding icon-container**: 16px horizontal, 4px vertical (`px-4 py-1`)
|
|
402
|
-
|
|
403
|
-
### Iconos
|
|
404
|
-
|
|
405
|
-
- **Tamaño**: 16x16px (`w-4 h-4`)
|
|
406
|
-
- **Formato**: SVG con `stroke="currentColor"`
|
|
407
|
-
- **Estilo**: Outline (no fill)
|
|
408
|
-
|
|
409
|
-
### Colores
|
|
410
|
-
|
|
411
|
-
- **Fondo activo (light)**: `#dbeefe` (`bg-primary-custom-100`)
|
|
412
|
-
- **Fondo activo (dark)**: `rgba(219, 238, 254, 0.2)` (`dark:bg-primary-custom-100/20`)
|
|
413
|
-
- **Texto/Icono**: Token `content-primary` / `dark-content-primary`
|
|
414
|
-
|
|
415
|
-
## 🔗 Ver También
|
|
416
|
-
|
|
417
|
-
- [Figma - NavigationBar](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4348-22539)
|
|
418
|
-
- [Documentación de Colores](../../docs/colors.md)
|
|
419
|
-
- [Documentación de Tipografía](../../docs/typography.md)
|
|
420
|
-
- [Documentación de Espaciado](../../docs/spacing.md)
|
|
421
|
-
- [NavigationRail](../NavigationRail) - Componente similar para desktop
|
|
422
|
-
|
|
423
|
-
## 📚 Ejemplos de Casos de Uso
|
|
424
|
-
|
|
425
|
-
### E-commerce App
|
|
426
|
-
|
|
427
|
-
```tsx
|
|
428
|
-
<NavigationBar
|
|
429
|
-
items={[
|
|
430
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
431
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
432
|
-
{ id: 'cart', icon: <CartIcon />, label: 'Carrito' },
|
|
433
|
-
{ id: 'profile', icon: <UserIcon />, label: 'Cuenta' },
|
|
434
|
-
]}
|
|
435
|
-
/>
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
### Social Media App
|
|
439
|
-
|
|
440
|
-
```tsx
|
|
441
|
-
<NavigationBar
|
|
442
|
-
items={[
|
|
443
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
444
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Explorar' },
|
|
445
|
-
{ id: 'notifications', icon: <BellIcon />, label: 'Alertas' },
|
|
446
|
-
{ id: 'favorites', icon: <HeartIcon />, label: 'Guardados' },
|
|
447
|
-
{ id: 'profile', icon: <UserIcon />, label: 'Perfil' },
|
|
448
|
-
]}
|
|
449
|
-
/>
|
|
450
|
-
```
|
|
451
|
-
|
|
452
|
-
### Banking App
|
|
453
|
-
|
|
454
|
-
```tsx
|
|
455
|
-
<NavigationBar
|
|
456
|
-
items={[
|
|
457
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
458
|
-
{ id: 'payments', icon: <PaymentIcon />, label: 'Pagos' },
|
|
459
|
-
{ id: 'cards', icon: <CardIcon />, label: 'Tarjetas' },
|
|
460
|
-
{ id: 'profile', icon: <UserIcon />, label: 'Perfil' },
|
|
461
|
-
]}
|
|
462
|
-
/>
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
---
|
|
466
|
-
|
|
467
|
-
**Versión**: 1.0.0
|
|
468
|
-
**Última actualización**: 2025-11-20
|
|
469
|
-
**Mantenido por**: Equipo Siesa UI Kit
|