siesa-ui-kit 1.0.3 → 1.0.5
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 +28 -54
- package/claude/agents/siesa-ui-kit-specialist.md +2401 -0
- package/claude/prompts/component-template.md +121 -0
- package/claude/settings.local.json +61 -0
- package/docs/border-radius.md +1261 -0
- package/docs/colors.md +832 -0
- package/docs/dark-mode-guide.md +1426 -0
- package/docs/filters.md +1243 -0
- package/docs/icons.md +1283 -0
- package/docs/shadows.md +1377 -0
- package/docs/spacing.md +1684 -0
- package/docs/typography.md +1268 -0
- package/package.json +14 -34
- package/postcss.config.cjs +6 -0
- 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 +1 -0
- package/src/App.css +42 -0
- package/src/App.tsx +8 -0
- package/src/ButtonTest.tsx +147 -0
- package/src/assets/fonts/README.md +261 -0
- 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 +1 -0
- package/src/components/Alert/Alert.stories.tsx +332 -0
- package/src/components/Alert/Alert.tsx +106 -0
- package/src/components/Alert/Alert.types.ts +54 -0
- package/src/components/Avatar/Avatar.stories.tsx +494 -0
- package/src/components/Avatar/Avatar.tsx +143 -0
- package/src/components/Avatar/Avatar.types.ts +53 -0
- package/src/components/Badge/Badge.stories.tsx +339 -0
- package/src/components/Badge/Badge.tsx +278 -0
- package/src/components/Badge/Badge.types.ts +58 -0
- package/src/components/Button/Button.stories.tsx +950 -0
- package/src/components/Button/Button.tsx +337 -0
- package/src/components/Button/Button.types.ts +180 -0
- package/src/components/Button/icons.tsx +87 -0
- package/{dist/components/Button/index.d.ts → src/components/Button/index.ts} +3 -4
- package/src/components/Checkbox/Checkbox.stories.tsx +453 -0
- package/src/components/Checkbox/Checkbox.tsx +208 -0
- package/src/components/Checkbox/Checkbox.types.ts +61 -0
- package/src/components/DescriptionList/DescriptionList.stories.tsx +250 -0
- package/src/components/DescriptionList/DescriptionList.tsx +96 -0
- package/src/components/DescriptionList/DescriptionList.types.ts +29 -0
- package/src/components/Divider/Divider.stories.tsx +263 -0
- package/src/components/Divider/Divider.tsx +80 -0
- package/src/components/Divider/Divider.types.ts +24 -0
- package/src/components/Dropdown/Dropdown.stories.tsx +552 -0
- package/src/components/Dropdown/Dropdown.tsx +422 -0
- package/src/components/Dropdown/Dropdown.types.ts +146 -0
- package/src/components/Dropdown/README.md +266 -0
- package/src/components/Dropdown/icons.tsx +72 -0
- package/{dist/components/Dropdown/index.d.ts → src/components/Dropdown/index.ts} +8 -4
- package/src/components/Input/Input.stories.tsx +583 -0
- package/src/components/Input/Input.tsx +204 -0
- package/src/components/Input/Input.types.ts +80 -0
- package/src/components/Input/icons.tsx +145 -0
- package/{dist/components/Input/index.d.ts → src/components/Input/index.ts} +2 -3
- package/src/components/LoginView/LoginView.stories.tsx +148 -0
- package/src/components/LoginView/LoginView.tsx +426 -0
- package/src/components/LoginView/LoginView.types.ts +52 -0
- package/src/components/LoginView/README.md +396 -0
- package/src/components/LoginView/icons.tsx +85 -0
- package/{dist/components/LoginView/index.d.ts → src/components/LoginView/index.ts} +3 -4
- package/src/components/Navbar/Navbar.stories.tsx +810 -0
- package/src/components/Navbar/Navbar.tsx +755 -0
- package/src/components/Navbar/Navbar.types.ts +219 -0
- package/src/components/Navbar/README.md +279 -0
- package/src/components/Navbar/icons.tsx +102 -0
- package/src/components/Navbar/index.ts +8 -0
- package/src/components/NavigationBar/NavigationBar.stories.tsx +406 -0
- package/src/components/NavigationBar/NavigationBar.tsx +246 -0
- package/src/components/NavigationBar/NavigationBar.types.ts +74 -0
- package/src/components/NavigationBar/README.md +469 -0
- package/{dist/components/NavigationBar/index.d.ts → src/components/NavigationBar/index.ts} +2 -3
- package/src/components/NavigationRail/NavigationRail.stories.tsx +417 -0
- package/src/components/NavigationRail/NavigationRail.tsx +418 -0
- package/src/components/NavigationRail/NavigationRail.types.ts +109 -0
- package/src/components/NavigationRail/README.md +224 -0
- package/{dist/components/NavigationRail/index.d.ts → src/components/NavigationRail/index.ts} +2 -3
- package/src/components/Notification/Notification.stories.tsx +513 -0
- package/src/components/Notification/Notification.tsx +145 -0
- package/src/components/Notification/Notification.types.ts +142 -0
- package/src/components/Notification/README.md +409 -0
- package/{dist/components/Notification/index.d.ts → src/components/Notification/index.ts} +3 -3
- package/src/components/POSConvention/POSConvention.stories.tsx +235 -0
- package/src/components/POSConvention/POSConvention.tsx +129 -0
- package/{dist/components/POSConvention/POSConvention.types.d.ts → src/components/POSConvention/POSConvention.types.ts} +38 -37
- package/src/components/POSConvention/README.md +123 -0
- package/src/components/POSConvention/icons.tsx +45 -0
- package/{dist/components/POSConvention/index.d.ts → src/components/POSConvention/index.ts} +3 -4
- package/src/components/POSLocationButton/POSLocationButton.stories.tsx +531 -0
- package/src/components/POSLocationButton/POSLocationButton.tsx +247 -0
- package/src/components/POSLocationButton/POSLocationButton.types.ts +87 -0
- package/src/components/POSLocationButton/README.md +253 -0
- package/src/components/POSLocationButton/icons.tsx +120 -0
- package/src/components/POSLocationButton/index.ts +14 -0
- package/src/components/POSNumberButton/POSNumberButton.stories.tsx +415 -0
- package/src/components/POSNumberButton/POSNumberButton.tsx +179 -0
- package/src/components/POSNumberButton/POSNumberButton.types.ts +51 -0
- package/src/components/POSNumberButton/README.md +321 -0
- package/{dist/components/POSNumberButton/index.d.ts → src/components/POSNumberButton/index.ts} +3 -3
- package/src/components/POSProductButton/POSProductButton.stories.tsx +318 -0
- package/src/components/POSProductButton/POSProductButton.tsx +152 -0
- package/src/components/POSProductButton/POSProductButton.types.ts +46 -0
- package/src/components/POSProductButton/README.md +269 -0
- package/{dist/components/POSProductButton/index.d.ts → src/components/POSProductButton/index.ts} +2 -3
- package/src/components/POSProductCard/POSProductCard.stories.tsx +642 -0
- package/src/components/POSProductCard/POSProductCard.tsx +208 -0
- package/src/components/POSProductCard/POSProductCard.types.ts +76 -0
- package/src/components/POSProductCard/README.md +179 -0
- package/src/components/POSProductCard/icons.tsx +26 -0
- package/{dist/components/POSProductCard/index.d.ts → src/components/POSProductCard/index.ts} +2 -3
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +753 -0
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +332 -0
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +119 -0
- package/src/components/POSProductSidebarItems/README.md +198 -0
- package/src/components/POSProductSidebarItems/icons.tsx +21 -0
- package/{dist/components/POSProductSidebarItems/index.d.ts → src/components/POSProductSidebarItems/index.ts} +3 -4
- package/src/components/POSTable/POSTable.stories.tsx +737 -0
- package/src/components/POSTable/POSTable.tsx +401 -0
- package/src/components/POSTable/POSTable.types.ts +83 -0
- package/src/components/POSTable/README.md +286 -0
- package/src/components/POSTable/index.ts +7 -0
- package/src/components/Pagination/Pagination.stories.tsx +555 -0
- package/src/components/Pagination/Pagination.tsx +286 -0
- package/src/components/Pagination/Pagination.types.ts +93 -0
- package/src/components/Pagination/README.md +298 -0
- package/src/components/Pagination/icons.tsx +47 -0
- package/{dist/components/Pagination/index.d.ts → src/components/Pagination/index.ts} +3 -4
- package/src/components/Quantity/Quantity.stories.tsx +457 -0
- package/src/components/Quantity/Quantity.tsx +289 -0
- package/src/components/Quantity/Quantity.types.ts +70 -0
- package/src/components/Radio/Radio.stories.tsx +523 -0
- package/src/components/Radio/Radio.tsx +170 -0
- package/src/components/Radio/Radio.types.ts +122 -0
- package/src/components/Select/README.md +299 -0
- package/src/components/Select/Select.stories.tsx +673 -0
- package/src/components/Select/Select.tsx +454 -0
- package/src/components/Select/Select.types.ts +148 -0
- package/src/components/Select/icons.tsx +50 -0
- package/{dist/components/Select/index.d.ts → src/components/Select/index.ts} +3 -4
- package/src/components/SignUpView/SignUpView.stories.tsx +129 -0
- package/src/components/SignUpView/SignUpView.tsx +503 -0
- package/src/components/SignUpView/SignUpView.types.ts +58 -0
- package/src/components/SignUpView/icons.tsx +71 -0
- package/{dist/components/SignUpView/index.d.ts → src/components/SignUpView/index.ts} +3 -4
- package/src/components/Switch/README.md +112 -0
- package/src/components/Switch/Switch.stories.tsx +550 -0
- package/src/components/Switch/Switch.tsx +246 -0
- package/src/components/Switch/Switch.types.ts +67 -0
- package/src/components/Table/README.md +369 -0
- package/src/components/Table/Table.stories.tsx +805 -0
- package/src/components/Table/Table.tsx +688 -0
- package/src/components/Table/Table.types.ts +204 -0
- package/src/components/Table/index.ts +9 -0
- package/src/components/Tabs/README.md +201 -0
- package/src/components/Tabs/Tabs.stories.tsx +580 -0
- package/src/components/Tabs/Tabs.tsx +356 -0
- package/src/components/Tabs/Tabs.types.ts +127 -0
- package/src/components/Tabs/icons.tsx +129 -0
- package/src/components/Tabs/index.ts +11 -0
- package/src/components/Textarea/Textarea.stories.tsx +535 -0
- package/src/components/Textarea/Textarea.tsx +188 -0
- package/src/components/Textarea/Textarea.types.ts +54 -0
- package/src/context/ThemeContext.tsx +99 -0
- package/{dist/context/index.d.ts → src/context/index.ts} +1 -2
- package/src/index.css +29 -0
- package/src/index.ts +39 -0
- package/src/main.tsx +10 -0
- package/src/views/ProductsView/ProductsView.stories.tsx +344 -0
- package/src/views/ProductsView/ProductsView.tsx +480 -0
- package/src/views/ProductsView/ProductsView.types.ts +238 -0
- package/src/views/ProductsView/README.md +312 -0
- package/src/views/ProductsView/icons.tsx +38 -0
- package/src/views/ProductsView/index.ts +8 -0
- package/src/views/RecoverPasswordView/README.md +269 -0
- package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +131 -0
- package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +376 -0
- package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +56 -0
- package/src/views/RecoverPasswordView/icons.tsx +17 -0
- package/{dist/views/RecoverPasswordView/index.d.ts → src/views/RecoverPasswordView/index.ts} +2 -3
- package/src/views/TableLayoutView/README.md +268 -0
- package/src/views/TableLayoutView/TableLayoutView.stories.tsx +235 -0
- package/src/views/TableLayoutView/TableLayoutView.tsx +461 -0
- package/src/views/TableLayoutView/TableLayoutView.types.ts +209 -0
- package/src/views/TableLayoutView/icons.tsx +113 -0
- package/src/views/TableLayoutView/index.ts +6 -0
- package/storybook/main.ts +20 -0
- package/storybook/preview.tsx +84 -0
- package/storybook/vitest.setup.ts +7 -0
- package/tailwind.config.js +128 -0
- package/dist/ButtonTest.d.ts +0 -6
- package/dist/ButtonTest.d.ts.map +0 -1
- package/dist/components/Alert/Alert.d.ts +0 -23
- package/dist/components/Alert/Alert.d.ts.map +0 -1
- package/dist/components/Alert/Alert.types.d.ts +0 -46
- package/dist/components/Alert/Alert.types.d.ts.map +0 -1
- package/dist/components/Avatar/Avatar.d.ts +0 -41
- package/dist/components/Avatar/Avatar.d.ts.map +0 -1
- package/dist/components/Avatar/Avatar.types.d.ts +0 -46
- package/dist/components/Avatar/Avatar.types.d.ts.map +0 -1
- package/dist/components/Badge/Badge.d.ts +0 -42
- package/dist/components/Badge/Badge.d.ts.map +0 -1
- package/dist/components/Badge/Badge.types.d.ts +0 -32
- package/dist/components/Badge/Badge.types.d.ts.map +0 -1
- package/dist/components/Button/Button.d.ts +0 -84
- package/dist/components/Button/Button.d.ts.map +0 -1
- package/dist/components/Button/Button.types.d.ts +0 -162
- package/dist/components/Button/Button.types.d.ts.map +0 -1
- package/dist/components/Button/icons.d.ts +0 -26
- package/dist/components/Button/icons.d.ts.map +0 -1
- package/dist/components/Button/index.d.ts.map +0 -1
- package/dist/components/Checkbox/Checkbox.d.ts +0 -31
- package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/Checkbox/Checkbox.types.d.ts +0 -53
- package/dist/components/Checkbox/Checkbox.types.d.ts.map +0 -1
- package/dist/components/DescriptionList/DescriptionList.d.ts +0 -38
- package/dist/components/DescriptionList/DescriptionList.d.ts.map +0 -1
- package/dist/components/DescriptionList/DescriptionList.types.d.ts +0 -27
- package/dist/components/DescriptionList/DescriptionList.types.d.ts.map +0 -1
- package/dist/components/Divider/Divider.d.ts +0 -33
- package/dist/components/Divider/Divider.d.ts.map +0 -1
- package/dist/components/Divider/Divider.types.d.ts +0 -22
- package/dist/components/Divider/Divider.types.d.ts.map +0 -1
- package/dist/components/Dropdown/Dropdown.d.ts +0 -66
- package/dist/components/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/components/Dropdown/Dropdown.types.d.ts +0 -124
- package/dist/components/Dropdown/Dropdown.types.d.ts.map +0 -1
- package/dist/components/Dropdown/icons.d.ts +0 -10
- package/dist/components/Dropdown/icons.d.ts.map +0 -1
- package/dist/components/Dropdown/index.d.ts.map +0 -1
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +0 -101
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +0 -1
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +0 -95
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +0 -1
- package/dist/components/DropdownItemCollapsible/icons.d.ts +0 -19
- package/dist/components/DropdownItemCollapsible/icons.d.ts.map +0 -1
- package/dist/components/DropdownItemCollapsible/index.d.ts +0 -9
- package/dist/components/DropdownItemCollapsible/index.d.ts.map +0 -1
- package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +0 -75
- package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +0 -1
- package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +0 -85
- package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +0 -1
- package/dist/components/DropdownItemHeading/icons.d.ts +0 -48
- package/dist/components/DropdownItemHeading/icons.d.ts.map +0 -1
- package/dist/components/DropdownItemHeading/index.d.ts +0 -4
- package/dist/components/DropdownItemHeading/index.d.ts.map +0 -1
- package/dist/components/Input/Input.d.ts +0 -40
- package/dist/components/Input/Input.d.ts.map +0 -1
- package/dist/components/Input/Input.types.d.ts +0 -71
- package/dist/components/Input/Input.types.d.ts.map +0 -1
- package/dist/components/Input/icons.d.ts +0 -15
- package/dist/components/Input/icons.d.ts.map +0 -1
- package/dist/components/Input/index.d.ts.map +0 -1
- package/dist/components/LoginView/LoginView.d.ts +0 -36
- package/dist/components/LoginView/LoginView.d.ts.map +0 -1
- package/dist/components/LoginView/LoginView.types.d.ts +0 -46
- package/dist/components/LoginView/LoginView.types.d.ts.map +0 -1
- package/dist/components/LoginView/icons.d.ts +0 -18
- package/dist/components/LoginView/icons.d.ts.map +0 -1
- package/dist/components/LoginView/index.d.ts.map +0 -1
- package/dist/components/Navbar/Navbar.d.ts +0 -63
- package/dist/components/Navbar/Navbar.d.ts.map +0 -1
- package/dist/components/Navbar/Navbar.types.d.ts +0 -194
- package/dist/components/Navbar/Navbar.types.d.ts.map +0 -1
- package/dist/components/Navbar/icons.d.ts +0 -12
- package/dist/components/Navbar/icons.d.ts.map +0 -1
- package/dist/components/Navbar/index.d.ts +0 -4
- package/dist/components/Navbar/index.d.ts.map +0 -1
- package/dist/components/NavigationBar/NavigationBar.d.ts +0 -75
- package/dist/components/NavigationBar/NavigationBar.d.ts.map +0 -1
- package/dist/components/NavigationBar/NavigationBar.types.d.ts +0 -63
- package/dist/components/NavigationBar/NavigationBar.types.d.ts.map +0 -1
- package/dist/components/NavigationBar/index.d.ts.map +0 -1
- package/dist/components/NavigationRail/NavigationRail.d.ts +0 -7
- package/dist/components/NavigationRail/NavigationRail.d.ts.map +0 -1
- package/dist/components/NavigationRail/NavigationRail.types.d.ts +0 -92
- package/dist/components/NavigationRail/NavigationRail.types.d.ts.map +0 -1
- package/dist/components/NavigationRail/index.d.ts.map +0 -1
- package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +0 -90
- package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +0 -1
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +0 -155
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +0 -1
- package/dist/components/NavigationRailItem/index.d.ts +0 -3
- package/dist/components/NavigationRailItem/index.d.ts.map +0 -1
- package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +0 -124
- package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +0 -1
- package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +0 -154
- package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +0 -1
- package/dist/components/NavigationRailPanel/index.d.ts +0 -3
- package/dist/components/NavigationRailPanel/index.d.ts.map +0 -1
- package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +0 -99
- package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +0 -1
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +0 -111
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +0 -1
- package/dist/components/NavigationRailTypes/icons.d.ts +0 -58
- package/dist/components/NavigationRailTypes/icons.d.ts.map +0 -1
- package/dist/components/NavigationRailTypes/index.d.ts +0 -4
- package/dist/components/NavigationRailTypes/index.d.ts.map +0 -1
- package/dist/components/Notification/Notification.d.ts +0 -52
- package/dist/components/Notification/Notification.d.ts.map +0 -1
- package/dist/components/Notification/Notification.types.d.ts +0 -138
- package/dist/components/Notification/Notification.types.d.ts.map +0 -1
- package/dist/components/Notification/index.d.ts.map +0 -1
- package/dist/components/POSConvention/POSConvention.d.ts +0 -55
- package/dist/components/POSConvention/POSConvention.d.ts.map +0 -1
- package/dist/components/POSConvention/POSConvention.types.d.ts.map +0 -1
- package/dist/components/POSConvention/icons.d.ts +0 -21
- package/dist/components/POSConvention/icons.d.ts.map +0 -1
- package/dist/components/POSConvention/index.d.ts.map +0 -1
- package/dist/components/POSLocationButton/POSLocationButton.d.ts +0 -73
- package/dist/components/POSLocationButton/POSLocationButton.d.ts.map +0 -1
- package/dist/components/POSLocationButton/POSLocationButton.types.d.ts +0 -75
- package/dist/components/POSLocationButton/POSLocationButton.types.d.ts.map +0 -1
- package/dist/components/POSLocationButton/icons.d.ts +0 -37
- package/dist/components/POSLocationButton/icons.d.ts.map +0 -1
- package/dist/components/POSLocationButton/index.d.ts +0 -4
- package/dist/components/POSLocationButton/index.d.ts.map +0 -1
- package/dist/components/POSNumberButton/POSNumberButton.d.ts +0 -61
- package/dist/components/POSNumberButton/POSNumberButton.d.ts.map +0 -1
- package/dist/components/POSNumberButton/POSNumberButton.types.d.ts +0 -43
- package/dist/components/POSNumberButton/POSNumberButton.types.d.ts.map +0 -1
- package/dist/components/POSNumberButton/index.d.ts.map +0 -1
- package/dist/components/POSProductButton/POSProductButton.d.ts +0 -59
- package/dist/components/POSProductButton/POSProductButton.d.ts.map +0 -1
- package/dist/components/POSProductButton/POSProductButton.types.d.ts +0 -40
- package/dist/components/POSProductButton/POSProductButton.types.d.ts.map +0 -1
- package/dist/components/POSProductButton/index.d.ts.map +0 -1
- package/dist/components/POSProductCard/POSProductCard.d.ts +0 -68
- package/dist/components/POSProductCard/POSProductCard.d.ts.map +0 -1
- package/dist/components/POSProductCard/POSProductCard.types.d.ts +0 -67
- package/dist/components/POSProductCard/POSProductCard.types.d.ts.map +0 -1
- package/dist/components/POSProductCard/icons.d.ts +0 -10
- package/dist/components/POSProductCard/icons.d.ts.map +0 -1
- package/dist/components/POSProductCard/index.d.ts.map +0 -1
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts +0 -57
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts.map +0 -1
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts +0 -85
- package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts.map +0 -1
- package/dist/components/POSProductSidebarItems/icons.d.ts +0 -9
- package/dist/components/POSProductSidebarItems/icons.d.ts.map +0 -1
- package/dist/components/POSProductSidebarItems/index.d.ts.map +0 -1
- package/dist/components/POSTable/POSTable.d.ts +0 -75
- package/dist/components/POSTable/POSTable.d.ts.map +0 -1
- package/dist/components/POSTable/POSTable.types.d.ts +0 -71
- package/dist/components/POSTable/POSTable.types.d.ts.map +0 -1
- package/dist/components/POSTable/index.d.ts +0 -3
- package/dist/components/POSTable/index.d.ts.map +0 -1
- package/dist/components/Pagination/Pagination.d.ts +0 -29
- package/dist/components/Pagination/Pagination.d.ts.map +0 -1
- package/dist/components/Pagination/Pagination.types.d.ts +0 -79
- package/dist/components/Pagination/Pagination.types.d.ts.map +0 -1
- package/dist/components/Pagination/icons.d.ts +0 -18
- package/dist/components/Pagination/icons.d.ts.map +0 -1
- package/dist/components/Pagination/index.d.ts.map +0 -1
- package/dist/components/Quantity/Quantity.d.ts +0 -38
- package/dist/components/Quantity/Quantity.d.ts.map +0 -1
- package/dist/components/Quantity/Quantity.types.d.ts +0 -59
- package/dist/components/Quantity/Quantity.types.d.ts.map +0 -1
- package/dist/components/Radio/Radio.d.ts +0 -45
- package/dist/components/Radio/Radio.d.ts.map +0 -1
- package/dist/components/Radio/Radio.types.d.ts +0 -115
- package/dist/components/Radio/Radio.types.d.ts.map +0 -1
- package/dist/components/Select/Select.d.ts +0 -37
- package/dist/components/Select/Select.d.ts.map +0 -1
- package/dist/components/Select/Select.types.d.ts +0 -124
- package/dist/components/Select/Select.types.d.ts.map +0 -1
- package/dist/components/Select/icons.d.ts +0 -16
- package/dist/components/Select/icons.d.ts.map +0 -1
- package/dist/components/Select/index.d.ts.map +0 -1
- package/dist/components/SignUpView/SignUpView.d.ts +0 -38
- package/dist/components/SignUpView/SignUpView.d.ts.map +0 -1
- package/dist/components/SignUpView/SignUpView.types.d.ts +0 -51
- package/dist/components/SignUpView/SignUpView.types.d.ts.map +0 -1
- package/dist/components/SignUpView/icons.d.ts +0 -18
- package/dist/components/SignUpView/icons.d.ts.map +0 -1
- package/dist/components/SignUpView/index.d.ts.map +0 -1
- package/dist/components/Switch/Switch.d.ts +0 -46
- package/dist/components/Switch/Switch.d.ts.map +0 -1
- package/dist/components/Switch/Switch.types.d.ts +0 -58
- package/dist/components/Switch/Switch.types.d.ts.map +0 -1
- package/dist/components/Table/Table.d.ts +0 -64
- package/dist/components/Table/Table.d.ts.map +0 -1
- package/dist/components/Table/Table.types.d.ts +0 -173
- package/dist/components/Table/Table.types.d.ts.map +0 -1
- package/dist/components/Table/index.d.ts +0 -3
- package/dist/components/Table/index.d.ts.map +0 -1
- package/dist/components/Tabs/Tabs.d.ts +0 -76
- package/dist/components/Tabs/Tabs.d.ts.map +0 -1
- package/dist/components/Tabs/Tabs.types.d.ts +0 -107
- package/dist/components/Tabs/Tabs.types.d.ts.map +0 -1
- package/dist/components/Tabs/icons.d.ts +0 -45
- package/dist/components/Tabs/icons.d.ts.map +0 -1
- package/dist/components/Tabs/index.d.ts +0 -4
- package/dist/components/Tabs/index.d.ts.map +0 -1
- package/dist/components/Textarea/Textarea.d.ts +0 -38
- package/dist/components/Textarea/Textarea.d.ts.map +0 -1
- package/dist/components/Textarea/Textarea.types.d.ts +0 -46
- package/dist/components/Textarea/Textarea.types.d.ts.map +0 -1
- package/dist/context/ThemeContext.d.ts +0 -46
- package/dist/context/ThemeContext.d.ts.map +0 -1
- package/dist/context/index.d.ts.map +0 -1
- package/dist/index.d.ts +0 -56
- package/dist/index.d.ts.map +0 -1
- package/dist/siesa-ui-kit.cjs +0 -1260
- package/dist/siesa-ui-kit.cjs.map +0 -1
- package/dist/siesa-ui-kit.mjs +0 -4496
- package/dist/siesa-ui-kit.mjs.map +0 -1
- package/dist/views/ListView/ListView.d.ts +0 -47
- package/dist/views/ListView/ListView.d.ts.map +0 -1
- package/dist/views/ListView/ListView.types.d.ts +0 -177
- package/dist/views/ListView/ListView.types.d.ts.map +0 -1
- package/dist/views/ListView/icons.d.ts +0 -60
- package/dist/views/ListView/icons.d.ts.map +0 -1
- package/dist/views/ListView/index.d.ts +0 -3
- package/dist/views/ListView/index.d.ts.map +0 -1
- package/dist/views/LoginView/LoginView.d.ts +0 -36
- package/dist/views/LoginView/LoginView.d.ts.map +0 -1
- package/dist/views/LoginView/LoginView.types.d.ts +0 -46
- package/dist/views/LoginView/LoginView.types.d.ts.map +0 -1
- package/dist/views/LoginView/icons.d.ts +0 -18
- package/dist/views/LoginView/icons.d.ts.map +0 -1
- package/dist/views/LoginView/index.d.ts +0 -4
- package/dist/views/LoginView/index.d.ts.map +0 -1
- package/dist/views/ProductsView/ProductsView.d.ts +0 -56
- package/dist/views/ProductsView/ProductsView.d.ts.map +0 -1
- package/dist/views/ProductsView/ProductsView.types.d.ts +0 -184
- package/dist/views/ProductsView/ProductsView.types.d.ts.map +0 -1
- package/dist/views/ProductsView/icons.d.ts +0 -12
- package/dist/views/ProductsView/icons.d.ts.map +0 -1
- package/dist/views/ProductsView/index.d.ts +0 -3
- package/dist/views/ProductsView/index.d.ts.map +0 -1
- package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts +0 -34
- package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts.map +0 -1
- package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts +0 -50
- package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts.map +0 -1
- package/dist/views/RecoverPasswordView/icons.d.ts +0 -9
- package/dist/views/RecoverPasswordView/icons.d.ts.map +0 -1
- package/dist/views/RecoverPasswordView/index.d.ts.map +0 -1
- package/dist/views/SignUpView/SignUpView.d.ts +0 -38
- package/dist/views/SignUpView/SignUpView.d.ts.map +0 -1
- package/dist/views/SignUpView/SignUpView.types.d.ts +0 -51
- package/dist/views/SignUpView/SignUpView.types.d.ts.map +0 -1
- package/dist/views/SignUpView/icons.d.ts +0 -18
- package/dist/views/SignUpView/icons.d.ts.map +0 -1
- package/dist/views/SignUpView/index.d.ts +0 -4
- package/dist/views/SignUpView/index.d.ts.map +0 -1
- package/dist/views/TableLayoutView/TableLayoutView.d.ts +0 -46
- package/dist/views/TableLayoutView/TableLayoutView.d.ts.map +0 -1
- package/dist/views/TableLayoutView/TableLayoutView.types.d.ts +0 -170
- package/dist/views/TableLayoutView/TableLayoutView.types.d.ts.map +0 -1
- package/dist/views/TableLayoutView/icons.d.ts +0 -27
- package/dist/views/TableLayoutView/icons.d.ts.map +0 -1
- package/dist/views/TableLayoutView/index.d.ts +0 -3
- package/dist/views/TableLayoutView/index.d.ts.map +0 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Dirección de ordenamiento para columnas sortables
|
|
5
|
+
*/
|
|
6
|
+
export type SortDirection = 'asc' | 'desc' | null;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Definición de una columna de la tabla
|
|
10
|
+
*/
|
|
11
|
+
export interface TableColumn<T = any> {
|
|
12
|
+
/**
|
|
13
|
+
* Título que se muestra en el header de la columna
|
|
14
|
+
*/
|
|
15
|
+
header: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Key del objeto de datos para acceder al valor
|
|
19
|
+
* Puede ser una string o una función que retorna el valor
|
|
20
|
+
*/
|
|
21
|
+
accessor: keyof T | ((row: T) => any);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Si la columna es sortable (ordenable)
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
sortable?: boolean;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Función custom para renderizar el contenido de la celda
|
|
31
|
+
* Si no se provee, se usa el valor del accessor directamente
|
|
32
|
+
*/
|
|
33
|
+
render?: (value: any, row: T, index: number) => ReactNode;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Alineación del contenido de la celda
|
|
37
|
+
* @default 'left'
|
|
38
|
+
*/
|
|
39
|
+
align?: 'left' | 'center' | 'right';
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Ancho de la columna (CSS width)
|
|
43
|
+
*/
|
|
44
|
+
width?: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Props de paginación para la tabla
|
|
49
|
+
*/
|
|
50
|
+
export interface PaginationProps {
|
|
51
|
+
/**
|
|
52
|
+
* Página actual (1-indexed)
|
|
53
|
+
*/
|
|
54
|
+
currentPage: number;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Total de páginas
|
|
58
|
+
*/
|
|
59
|
+
totalPages: number;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Callback cuando cambia la página
|
|
63
|
+
*/
|
|
64
|
+
onPageChange: (page: number) => void;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Texto del botón "Anterior"
|
|
68
|
+
* @default 'Anterior'
|
|
69
|
+
*/
|
|
70
|
+
previousLabel?: string;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Texto del botón "Siguiente"
|
|
74
|
+
* @default 'Siguiente'
|
|
75
|
+
*/
|
|
76
|
+
nextLabel?: string;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Props del componente Table
|
|
81
|
+
*/
|
|
82
|
+
export interface TableProps<T = any> {
|
|
83
|
+
/**
|
|
84
|
+
* Título opcional de la tabla
|
|
85
|
+
*/
|
|
86
|
+
title?: string;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Definición de las columnas
|
|
90
|
+
*/
|
|
91
|
+
columns: TableColumn<T>[];
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Datos de las filas
|
|
95
|
+
*/
|
|
96
|
+
data: T[];
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Variante visual de la tabla
|
|
100
|
+
* @default 'basic'
|
|
101
|
+
*/
|
|
102
|
+
variant?: 'basic' | 'fullWidth' | 'striped' | 'grid';
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Si se muestra el borde del container
|
|
106
|
+
* @default true
|
|
107
|
+
*/
|
|
108
|
+
showBorder?: boolean;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Si se muestra la sombra del container
|
|
112
|
+
* @default true
|
|
113
|
+
*/
|
|
114
|
+
showShadow?: boolean;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Callback cuando se hace click en una fila
|
|
118
|
+
*/
|
|
119
|
+
onRowClick?: (row: T, index: number) => void;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Callback cuando cambia el sort
|
|
123
|
+
*/
|
|
124
|
+
onSort?: (column: keyof T | string, direction: SortDirection) => void;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Estado de sort controlado desde fuera
|
|
128
|
+
*/
|
|
129
|
+
sortColumn?: keyof T | string;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Dirección de sort controlada desde fuera
|
|
133
|
+
*/
|
|
134
|
+
sortDirection?: SortDirection;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Si la tabla debe ocupar todo el ancho disponible
|
|
138
|
+
* @default false
|
|
139
|
+
*/
|
|
140
|
+
fullWidth?: boolean;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Texto a mostrar cuando no hay datos
|
|
144
|
+
* @default 'No hay datos disponibles'
|
|
145
|
+
*/
|
|
146
|
+
emptyMessage?: string;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Si se está cargando la información
|
|
150
|
+
* @default false
|
|
151
|
+
*/
|
|
152
|
+
loading?: boolean;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Número de filas skeleton a mostrar cuando loading=true
|
|
156
|
+
* @default 5
|
|
157
|
+
*/
|
|
158
|
+
loadingRows?: number;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Props de paginación (si se provee, se muestra paginación)
|
|
162
|
+
*/
|
|
163
|
+
pagination?: PaginationProps;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Clases CSS adicionales para el container
|
|
167
|
+
*/
|
|
168
|
+
className?: string;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* ID único para accesibilidad
|
|
172
|
+
*/
|
|
173
|
+
id?: string;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Props del TableHeader (uso interno)
|
|
178
|
+
*/
|
|
179
|
+
export interface TableHeaderProps<T = any> {
|
|
180
|
+
column: TableColumn<T>;
|
|
181
|
+
sortable: boolean;
|
|
182
|
+
sorted: boolean;
|
|
183
|
+
sortDirection: SortDirection;
|
|
184
|
+
onSort: () => void;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Props del TableCell (uso interno)
|
|
189
|
+
*/
|
|
190
|
+
export interface TableCellProps {
|
|
191
|
+
children: ReactNode;
|
|
192
|
+
align?: 'left' | 'center' | 'right';
|
|
193
|
+
width?: string;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Props del TableRow (uso interno)
|
|
198
|
+
*/
|
|
199
|
+
export interface TableRowProps {
|
|
200
|
+
children: ReactNode;
|
|
201
|
+
onClick?: () => void;
|
|
202
|
+
striped?: boolean;
|
|
203
|
+
index: number;
|
|
204
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Tabs
|
|
2
|
+
|
|
3
|
+
Componente de navegación por pestañas del sistema de diseño Siesa UI Kit.
|
|
4
|
+
|
|
5
|
+
## Descripción
|
|
6
|
+
|
|
7
|
+
El componente `Tabs` proporciona una interfaz de navegación horizontal que permite a los usuarios cambiar entre diferentes vistas o secciones de contenido. Está diseñado siguiendo las especificaciones de Figma con soporte completo para dark mode.
|
|
8
|
+
|
|
9
|
+
## Características
|
|
10
|
+
|
|
11
|
+
- ✅ Estados: Default, Hover, Focus, Active, Disabled
|
|
12
|
+
- ✅ Soporte para iconos (Heroicons Micro 16x16)
|
|
13
|
+
- ✅ Badge de notificación con contador
|
|
14
|
+
- ✅ Dark mode completo
|
|
15
|
+
- ✅ Modo controlado y no controlado
|
|
16
|
+
- ✅ Accesibilidad con ARIA roles
|
|
17
|
+
- ✅ TypeScript estricto
|
|
18
|
+
|
|
19
|
+
## Instalación
|
|
20
|
+
|
|
21
|
+
El componente está incluido en el Siesa UI Kit. Importa desde la carpeta de componentes:
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
import { Tabs, Tab } from '@/components/Tabs';
|
|
25
|
+
import type { TabItem } from '@/components/Tabs';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Uso Básico
|
|
29
|
+
|
|
30
|
+
### Modo No Controlado
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Tabs
|
|
34
|
+
items={[
|
|
35
|
+
{ id: 'inicio', label: 'Inicio' },
|
|
36
|
+
{ id: 'perfil', label: 'Perfil' },
|
|
37
|
+
{ id: 'configuracion', label: 'Configuración' },
|
|
38
|
+
]}
|
|
39
|
+
defaultActiveId="inicio"
|
|
40
|
+
/>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Modo Controlado
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
const [activeTab, setActiveTab] = useState('inicio');
|
|
47
|
+
|
|
48
|
+
<Tabs
|
|
49
|
+
items={[
|
|
50
|
+
{ id: 'inicio', label: 'Inicio' },
|
|
51
|
+
{ id: 'perfil', label: 'Perfil' },
|
|
52
|
+
{ id: 'configuracion', label: 'Configuración' },
|
|
53
|
+
]}
|
|
54
|
+
activeId={activeTab}
|
|
55
|
+
onChange={setActiveTab}
|
|
56
|
+
/>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Con Iconos
|
|
60
|
+
|
|
61
|
+
```tsx
|
|
62
|
+
import { HomeIcon, UserIcon, CogIcon } from '@/components/Tabs';
|
|
63
|
+
|
|
64
|
+
<Tabs
|
|
65
|
+
items={[
|
|
66
|
+
{ id: 'inicio', label: 'Inicio', icon: <HomeIcon className="w-3 h-3" /> },
|
|
67
|
+
{ id: 'perfil', label: 'Perfil', icon: <UserIcon className="w-3 h-3" /> },
|
|
68
|
+
{ id: 'configuracion', label: 'Configuración', icon: <CogIcon className="w-3 h-3" /> },
|
|
69
|
+
]}
|
|
70
|
+
activeId={activeTab}
|
|
71
|
+
onChange={setActiveTab}
|
|
72
|
+
/>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Con Badges de Notificación
|
|
76
|
+
|
|
77
|
+
```tsx
|
|
78
|
+
<Tabs
|
|
79
|
+
items={[
|
|
80
|
+
{ id: 'mensajes', label: 'Mensajes', badge: 5 },
|
|
81
|
+
{ id: 'notificaciones', label: 'Notificaciones', badge: 12 },
|
|
82
|
+
{ id: 'tareas', label: 'Tareas' },
|
|
83
|
+
]}
|
|
84
|
+
activeId={activeTab}
|
|
85
|
+
onChange={setActiveTab}
|
|
86
|
+
/>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Full Width
|
|
90
|
+
|
|
91
|
+
```tsx
|
|
92
|
+
<Tabs
|
|
93
|
+
items={[...]}
|
|
94
|
+
activeId={activeTab}
|
|
95
|
+
onChange={setActiveTab}
|
|
96
|
+
fullWidth
|
|
97
|
+
/>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Props
|
|
101
|
+
|
|
102
|
+
### TabsProps (Contenedor)
|
|
103
|
+
|
|
104
|
+
| Prop | Tipo | Default | Descripción |
|
|
105
|
+
|------|------|---------|-------------|
|
|
106
|
+
| `items` | `TabItem[]` | **requerido** | Lista de tabs a mostrar |
|
|
107
|
+
| `activeId` | `string` | - | ID del tab seleccionado (modo controlado) |
|
|
108
|
+
| `defaultActiveId` | `string` | - | ID del tab inicial (modo no controlado) |
|
|
109
|
+
| `onChange` | `(id: string) => void` | - | Callback al cambiar de tab |
|
|
110
|
+
| `fullWidth` | `boolean` | `false` | Si los tabs ocupan todo el ancho |
|
|
111
|
+
| `size` | `'sm' \| 'base' \| 'lg'` | `'base'` | Tamaño (espaciado entre tabs) |
|
|
112
|
+
| `showBorder` | `boolean` | `true` | Mostrar línea inferior |
|
|
113
|
+
| `className` | `string` | - | Clases CSS adicionales |
|
|
114
|
+
|
|
115
|
+
### TabItem
|
|
116
|
+
|
|
117
|
+
| Prop | Tipo | Default | Descripción |
|
|
118
|
+
|------|------|---------|-------------|
|
|
119
|
+
| `id` | `string` | **requerido** | Identificador único |
|
|
120
|
+
| `label` | `string` | **requerido** | Texto del tab |
|
|
121
|
+
| `icon` | `ReactNode` | - | Icono a la izquierda |
|
|
122
|
+
| `badge` | `number` | - | Número de notificaciones |
|
|
123
|
+
| `disabled` | `boolean` | `false` | Si está deshabilitado |
|
|
124
|
+
|
|
125
|
+
### TabProps (Tab Individual)
|
|
126
|
+
|
|
127
|
+
| Prop | Tipo | Default | Descripción |
|
|
128
|
+
|------|------|---------|-------------|
|
|
129
|
+
| `label` | `string` | **requerido** | Texto del tab |
|
|
130
|
+
| `active` | `boolean` | `false` | Si está activo |
|
|
131
|
+
| `icon` | `ReactNode` | - | Icono a la izquierda |
|
|
132
|
+
| `badge` | `number` | - | Número de notificaciones |
|
|
133
|
+
| `disabled` | `boolean` | `false` | Si está deshabilitado |
|
|
134
|
+
| `onClick` | `() => void` | - | Callback al hacer click |
|
|
135
|
+
| `className` | `string` | - | Clases CSS adicionales |
|
|
136
|
+
| `ariaLabel` | `string` | - | Etiqueta accesible |
|
|
137
|
+
|
|
138
|
+
## Iconos Incluidos
|
|
139
|
+
|
|
140
|
+
El componente incluye los siguientes iconos Heroicons Micro (16x16):
|
|
141
|
+
|
|
142
|
+
- `CheckIcon` - Icono de verificación
|
|
143
|
+
- `HomeIcon` - Icono de inicio
|
|
144
|
+
- `UserIcon` - Icono de usuario
|
|
145
|
+
- `CogIcon` - Icono de configuración
|
|
146
|
+
- `BellIcon` - Icono de notificaciones
|
|
147
|
+
- `DocumentIcon` - Icono de documento
|
|
148
|
+
- `ChartIcon` - Icono de estadísticas
|
|
149
|
+
|
|
150
|
+
## Especificaciones de Diseño
|
|
151
|
+
|
|
152
|
+
### Dimensiones (según Figma)
|
|
153
|
+
|
|
154
|
+
- **Padding interno**: 8px
|
|
155
|
+
- **Gap entre icono y texto**: 4px
|
|
156
|
+
- **Altura del indicador activo**: 2px
|
|
157
|
+
- **Border radius**: 8px (rounded-lg)
|
|
158
|
+
|
|
159
|
+
### Tipografía
|
|
160
|
+
|
|
161
|
+
- **Texto**: Label Small (14px Bold, line-height 20px)
|
|
162
|
+
- **Badge**: 12px Regular
|
|
163
|
+
|
|
164
|
+
### Colores
|
|
165
|
+
|
|
166
|
+
**Light Mode:**
|
|
167
|
+
- Texto inactivo: `#18181b` (content-primary)
|
|
168
|
+
- Texto activo: `#0e79fd` (primary-custom-600)
|
|
169
|
+
- Hover overlay: `rgba(0,0,0,0.03)`
|
|
170
|
+
- Indicador activo: `#0e79fd`
|
|
171
|
+
|
|
172
|
+
**Dark Mode:**
|
|
173
|
+
- Texto inactivo: `#ffffff` (dark-content-primary)
|
|
174
|
+
- Texto activo: `#0e79fd` (primary-custom-600)
|
|
175
|
+
- Hover overlay: `rgba(255,255,255,0.05)`
|
|
176
|
+
- Indicador activo: `#0e79fd`
|
|
177
|
+
|
|
178
|
+
## Accesibilidad
|
|
179
|
+
|
|
180
|
+
El componente implementa las siguientes características de accesibilidad:
|
|
181
|
+
|
|
182
|
+
- `role="tablist"` en el contenedor
|
|
183
|
+
- `role="tab"` en cada tab individual
|
|
184
|
+
- `aria-selected` para indicar el tab activo
|
|
185
|
+
- `aria-disabled` para tabs deshabilitados
|
|
186
|
+
- Navegación con teclado (Tab para focus)
|
|
187
|
+
- Focus visible con anillo de foco
|
|
188
|
+
|
|
189
|
+
## Mejores Prácticas
|
|
190
|
+
|
|
191
|
+
1. **Usa iconos consistentemente** - Si un tab tiene icono, considera agregar iconos a todos
|
|
192
|
+
2. **Badges para notificaciones** - Usa badges solo cuando hay información relevante para el usuario
|
|
193
|
+
3. **Deshabilita en lugar de ocultar** - Si un tab no está disponible, deshabilítalo en lugar de ocultarlo
|
|
194
|
+
4. **Textos cortos** - Mantén los labels de los tabs concisos
|
|
195
|
+
5. **Orden lógico** - Organiza los tabs en orden de importancia o flujo de trabajo
|
|
196
|
+
|
|
197
|
+
## Referencias
|
|
198
|
+
|
|
199
|
+
- **Figma**: [Tabs Component](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4514-29083)
|
|
200
|
+
- **Documentación de colores**: `docs/colors.md`
|
|
201
|
+
- **Documentación de tipografía**: `docs/typography.md`
|