siesa-ui-kit 1.0.4 → 1.0.6
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 +89 -115
- package/bin/install.cjs +502 -502
- package/bin/prepare-publish.cjs +28 -28
- package/bin/restore-folders.cjs +28 -28
- package/dist/index.cjs +1479 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +1479 -0
- package/dist/index.js.map +1 -0
- package/package.json +92 -111
- package/claude/agents/siesa-ui-kit-specialist.md +0 -2445
- package/claude/prompts/component-template.md +0 -121
- package/claude/prompts/siesa-ui-kit.md +0 -28
- package/claude/settings.local.json +0 -72
- 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 -27
- package/dist/components/Button/icons.d.ts.map +0 -1
- package/dist/components/Button/index.d.ts +0 -4
- 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 +0 -4
- 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 -116
- 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 +0 -3
- 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 +0 -4
- 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 +0 -3
- 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 +0 -3
- package/dist/components/NavigationRail/index.d.ts.map +0 -1
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts +0 -122
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts.map +0 -1
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts +0 -139
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts.map +0 -1
- package/dist/components/NavigationRailCommercial/icons.d.ts +0 -33
- package/dist/components/NavigationRailCommercial/icons.d.ts.map +0 -1
- package/dist/components/NavigationRailCommercial/index.d.ts +0 -4
- package/dist/components/NavigationRailCommercial/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 -162
- 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 -152
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +0 -1
- package/dist/components/NavigationRailTypes/icons.d.ts +0 -44
- 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 +0 -3
- 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 +0 -37
- 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 +0 -4
- 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 +0 -3
- 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 +0 -3
- 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 +0 -3
- 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 +0 -4
- 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 +0 -4
- 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 -20
- package/dist/components/Select/icons.d.ts.map +0 -1
- package/dist/components/Select/index.d.ts +0 -4
- 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 +0 -4
- 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 +0 -2
- package/dist/context/index.d.ts.map +0 -1
- package/dist/index.d.ts +0 -88
- package/dist/index.d.ts.map +0 -1
- package/dist/siesa-ui-kit.cjs +0 -1474
- package/dist/siesa-ui-kit.cjs.map +0 -1
- package/dist/siesa-ui-kit.mjs +0 -9580
- package/dist/siesa-ui-kit.mjs.map +0 -1
- package/dist/views/LayoutCommercial/LayoutCommercial.d.ts +0 -48
- package/dist/views/LayoutCommercial/LayoutCommercial.d.ts.map +0 -1
- package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts +0 -49
- package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts.map +0 -1
- package/dist/views/LayoutCommercial/index.d.ts +0 -3
- package/dist/views/LayoutCommercial/index.d.ts.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 +0 -3
- 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
- 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 -1264
- 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/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 -48
- package/src/components/Button/index.ts +0 -3
- 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/Dropdown/index.ts +0 -8
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +0 -317
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +0 -307
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +0 -136
- package/src/components/DropdownItemCollapsible/README.md +0 -264
- package/src/components/DropdownItemCollapsible/icons.tsx +0 -57
- package/src/components/DropdownItemCollapsible/index.ts +0 -12
- package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +0 -386
- package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +0 -216
- package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +0 -93
- package/src/components/DropdownItemHeading/README.md +0 -573
- package/src/components/DropdownItemHeading/icons.tsx +0 -125
- package/src/components/DropdownItemHeading/index.ts +0 -3
- 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/Input/index.ts +0 -2
- 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/LoginView/index.ts +0 -3
- 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/NavigationBar/index.ts +0 -2
- 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/NavigationRail/index.ts +0 -2
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.stories.tsx +0 -464
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.tsx +0 -301
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.types.ts +0 -162
- package/src/components/NavigationRailCommercial/README.md +0 -251
- package/src/components/NavigationRailCommercial/icons.tsx +0 -54
- package/src/components/NavigationRailCommercial/index.ts +0 -6
- package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +0 -667
- package/src/components/NavigationRailItem/NavigationRailItem.tsx +0 -314
- package/src/components/NavigationRailItem/NavigationRailItem.types.ts +0 -175
- package/src/components/NavigationRailItem/README.md +0 -476
- package/src/components/NavigationRailItem/index.ts +0 -2
- package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +0 -462
- package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +0 -332
- package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +0 -178
- package/src/components/NavigationRailPanel/README.md +0 -461
- package/src/components/NavigationRailPanel/index.ts +0 -6
- package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +0 -682
- package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +0 -363
- package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +0 -178
- package/src/components/NavigationRailTypes/README.md +0 -573
- package/src/components/NavigationRailTypes/icons.tsx +0 -76
- package/src/components/NavigationRailTypes/index.ts +0 -7
- 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/Notification/index.ts +0 -3
- package/src/components/POSConvention/POSConvention.stories.tsx +0 -235
- package/src/components/POSConvention/POSConvention.tsx +0 -129
- package/src/components/POSConvention/POSConvention.types.ts +0 -38
- package/src/components/POSConvention/README.md +0 -123
- package/src/components/POSConvention/icons.tsx +0 -45
- package/src/components/POSConvention/index.ts +0 -3
- 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/POSNumberButton/index.ts +0 -3
- 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/POSProductButton/index.ts +0 -2
- 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/POSProductCard/index.ts +0 -2
- 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/POSProductSidebarItems/index.ts +0 -3
- 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/Pagination/index.ts +0 -3
- 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 -705
- package/src/components/Select/Select.tsx +0 -457
- package/src/components/Select/Select.types.ts +0 -148
- package/src/components/Select/icons.tsx +0 -25
- package/src/components/Select/index.ts +0 -3
- 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/SignUpView/index.ts +0 -3
- 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/context/index.ts +0 -1
- package/src/index.css +0 -29
- package/src/index.ts +0 -133
- package/src/main.tsx +0 -10
- package/src/views/LayoutCommercial/LayoutCommercial.stories.tsx +0 -374
- package/src/views/LayoutCommercial/LayoutCommercial.tsx +0 -125
- package/src/views/LayoutCommercial/LayoutCommercial.types.ts +0 -54
- package/src/views/LayoutCommercial/README.md +0 -286
- package/src/views/LayoutCommercial/index.ts +0 -2
- package/src/views/ListView/ListView.stories.tsx +0 -329
- package/src/views/ListView/ListView.tsx +0 -570
- package/src/views/ListView/ListView.types.ts +0 -211
- package/src/views/ListView/icons.tsx +0 -282
- package/src/views/ListView/index.ts +0 -11
- package/src/views/LoginView/LoginView.stories.tsx +0 -148
- package/src/views/LoginView/LoginView.tsx +0 -426
- package/src/views/LoginView/LoginView.types.ts +0 -52
- package/src/views/LoginView/README.md +0 -396
- package/src/views/LoginView/icons.tsx +0 -85
- package/src/views/LoginView/index.ts +0 -3
- 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/RecoverPasswordView/index.ts +0 -2
- package/src/views/SignUpView/SignUpView.stories.tsx +0 -129
- package/src/views/SignUpView/SignUpView.tsx +0 -503
- package/src/views/SignUpView/SignUpView.types.ts +0 -58
- package/src/views/SignUpView/icons.tsx +0 -71
- package/src/views/SignUpView/index.ts +0 -3
- 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
- /package/{public → dist}/,Business Logo.png +0 -0
- /package/{public → dist}/.Siesa Logo.png +0 -0
- /package/{public → dist}/bg_siesa.png +0 -0
- /package/{public → dist}/siesa_logo_mobile.png +0 -0
- /package/{public → dist}/vite.svg +0 -0
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
# NavigationRail
|
|
2
|
-
|
|
3
|
-
Componente de navegación vertical (rail) para aplicaciones del sistema de diseño Siesa.
|
|
4
|
-
|
|
5
|
-
## Descripción
|
|
6
|
-
|
|
7
|
-
El NavigationRail proporciona acceso rápido a destinos principales de la aplicación mediante iconos y labels opcionales. Es ideal para aplicaciones de escritorio y tablets donde se requiere navegación persistente sin ocupar mucho espacio horizontal.
|
|
8
|
-
|
|
9
|
-
**Figma:** [Siesa UI Kit - Navigation Rail](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4294-22925&m=dev)
|
|
10
|
-
|
|
11
|
-
## Características
|
|
12
|
-
|
|
13
|
-
- ✅ **Ancho fijo de 80px** para navegación compacta y consistente
|
|
14
|
-
- ✅ **Soporte para FAB** (Floating Action Button) en la parte superior
|
|
15
|
-
- ✅ **Estados completos**: normal, hover, selected, disabled
|
|
16
|
-
- ✅ **Badges de notificación** con contador opcional
|
|
17
|
-
- ✅ **Alineación flexible**: top, center, bottom
|
|
18
|
-
- ✅ **Dark mode completo** en todos los estados
|
|
19
|
-
- ✅ **Accesibilidad**: ARIA labels, navegación por teclado
|
|
20
|
-
- ✅ **Tipografía Label XXSmall** (10px Bold) según sistema de diseño
|
|
21
|
-
|
|
22
|
-
## Instalación
|
|
23
|
-
|
|
24
|
-
```tsx
|
|
25
|
-
import { NavigationRail } from '@/components/NavigationRail';
|
|
26
|
-
import type { NavigationRailProps, NavigationRailItemProps } from '@/components/NavigationRail';
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Uso Básico
|
|
30
|
-
|
|
31
|
-
```tsx
|
|
32
|
-
import { NavigationRail } from '@/components/NavigationRail';
|
|
33
|
-
import { HomeIcon, SearchIcon, BellIcon, UserIcon } from '@/icons';
|
|
34
|
-
|
|
35
|
-
function App() {
|
|
36
|
-
const [selectedId, setSelectedId] = useState('home');
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<NavigationRail
|
|
40
|
-
items={[
|
|
41
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
42
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
43
|
-
{ id: 'notifications', icon: <BellIcon />, label: 'Notificaciones', badgeCount: 5 },
|
|
44
|
-
{ id: 'profile', icon: <UserIcon />, label: 'Perfil' },
|
|
45
|
-
]}
|
|
46
|
-
selectedId={selectedId}
|
|
47
|
-
onItemSelect={setSelectedId}
|
|
48
|
-
alignment="top"
|
|
49
|
-
/>
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Ejemplos
|
|
55
|
-
|
|
56
|
-
### Con Botón FAB
|
|
57
|
-
|
|
58
|
-
```tsx
|
|
59
|
-
<NavigationRail
|
|
60
|
-
showFab
|
|
61
|
-
fabIcon={<PlusIcon />}
|
|
62
|
-
onFabClick={() => console.log('Create new')}
|
|
63
|
-
fabAriaLabel="Crear nuevo"
|
|
64
|
-
items={[
|
|
65
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio', selected: true },
|
|
66
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar' },
|
|
67
|
-
]}
|
|
68
|
-
/>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Con Badges de Notificación
|
|
72
|
-
|
|
73
|
-
```tsx
|
|
74
|
-
<NavigationRail
|
|
75
|
-
items={[
|
|
76
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
77
|
-
// Badge dot simple
|
|
78
|
-
{ id: 'notifications', icon: <BellIcon />, label: 'Notificaciones', badge: true },
|
|
79
|
-
// Badge con contador
|
|
80
|
-
{ id: 'messages', icon: <MessageIcon />, label: 'Mensajes', badgeCount: 12 },
|
|
81
|
-
]}
|
|
82
|
-
/>
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Alineación de Items
|
|
86
|
-
|
|
87
|
-
```tsx
|
|
88
|
-
// Items en la parte superior (default)
|
|
89
|
-
<NavigationRail items={items} alignment="top" />
|
|
90
|
-
|
|
91
|
-
// Items centrados verticalmente
|
|
92
|
-
<NavigationRail items={items} alignment="center" />
|
|
93
|
-
|
|
94
|
-
// Items en la parte inferior
|
|
95
|
-
<NavigationRail items={items} alignment="bottom" />
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### Estados de Items
|
|
99
|
-
|
|
100
|
-
```tsx
|
|
101
|
-
<NavigationRail
|
|
102
|
-
items={[
|
|
103
|
-
// Item normal
|
|
104
|
-
{ id: 'home', icon: <HomeIcon />, label: 'Inicio' },
|
|
105
|
-
// Item seleccionado
|
|
106
|
-
{ id: 'search', icon: <SearchIcon />, label: 'Buscar', selected: true },
|
|
107
|
-
// Item deshabilitado
|
|
108
|
-
{ id: 'settings', icon: <SettingsIcon />, label: 'Configuración', disabled: true },
|
|
109
|
-
]}
|
|
110
|
-
/>
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Props
|
|
114
|
-
|
|
115
|
-
### NavigationRailProps
|
|
116
|
-
|
|
117
|
-
| Prop | Tipo | Default | Descripción |
|
|
118
|
-
|------|------|---------|-------------|
|
|
119
|
-
| `items` | `NavigationRailItemProps[]` | - | **Requerido.** Array de items de navegación |
|
|
120
|
-
| `alignment` | `'top' \| 'center' \| 'bottom'` | `'top'` | Alineación vertical de los items |
|
|
121
|
-
| `showFab` | `boolean` | `false` | Mostrar botón FAB en la parte superior |
|
|
122
|
-
| `fabIcon` | `ReactNode` | - | Icono del botón FAB |
|
|
123
|
-
| `onFabClick` | `() => void` | - | Handler para click en el FAB |
|
|
124
|
-
| `fabAriaLabel` | `string` | `'Crear nuevo'` | Label del FAB para accesibilidad |
|
|
125
|
-
| `className` | `string` | `''` | Clases CSS adicionales |
|
|
126
|
-
| `selectedId` | `string` | - | ID del item seleccionado actualmente |
|
|
127
|
-
| `onItemSelect` | `(id: string) => void` | - | Handler cuando se selecciona un item |
|
|
128
|
-
|
|
129
|
-
### NavigationRailItemProps
|
|
130
|
-
|
|
131
|
-
| Prop | Tipo | Default | Descripción |
|
|
132
|
-
|------|------|---------|-------------|
|
|
133
|
-
| `icon` | `ReactNode` | - | **Requerido.** Icono a mostrar (16x16px) |
|
|
134
|
-
| `label` | `string` | - | **Requerido.** Label del item |
|
|
135
|
-
| `id` | `string` | - | ID único del item (recomendado para navegación) |
|
|
136
|
-
| `selected` | `boolean` | `false` | Si el item está seleccionado |
|
|
137
|
-
| `disabled` | `boolean` | `false` | Si el item está deshabilitado |
|
|
138
|
-
| `badge` | `boolean` | `false` | Mostrar badge dot de notificación |
|
|
139
|
-
| `badgeCount` | `number` | - | Número a mostrar en el badge (reemplaza el dot) |
|
|
140
|
-
| `onClick` | `() => void` | - | Handler para click individual del item |
|
|
141
|
-
| `ariaLabel` | `string` | - | Label ARIA (usa `label` si no se proporciona) |
|
|
142
|
-
|
|
143
|
-
## Mejores Prácticas
|
|
144
|
-
|
|
145
|
-
### ✅ Hacer
|
|
146
|
-
|
|
147
|
-
- **Usar entre 3-7 items**: Óptimo para navegación principal sin scroll
|
|
148
|
-
- **Iconos de 16x16px**: Tamaño estándar para máxima claridad
|
|
149
|
-
- **Labels descriptivos**: Usar nombres cortos y claros (1-2 palabras)
|
|
150
|
-
- **Indicar item activo**: Siempre mantener un item selected
|
|
151
|
-
- **FAB para acción principal**: Usar para "Crear", "Nuevo", etc.
|
|
152
|
-
- **Badges para notificaciones**: Actualizar en tiempo real
|
|
153
|
-
- **IDs únicos**: Facilita el manejo de estado y navegación
|
|
154
|
-
|
|
155
|
-
### ❌ Evitar
|
|
156
|
-
|
|
157
|
-
- **Demasiados items**: Más de 7 items requiere scroll, considera otro patrón
|
|
158
|
-
- **Labels largos**: Más de 12 caracteres pueden truncarse
|
|
159
|
-
- **Iconos inconsistentes**: Usar mismo estilo visual en todos los iconos
|
|
160
|
-
- **Sin item seleccionado**: Siempre debe haber uno selected
|
|
161
|
-
- **Múltiples badges rojos**: Limitar uso para evitar fatiga visual
|
|
162
|
-
|
|
163
|
-
## Especificaciones de Diseño
|
|
164
|
-
|
|
165
|
-
### Dimensiones
|
|
166
|
-
- **Ancho del rail**: 80px (w-20)
|
|
167
|
-
- **Ancho del item**: 56px (w-14)
|
|
168
|
-
- **Gap entre items**: 12px (gap-3)
|
|
169
|
-
- **Gap FAB a items**: 40px (gap-10)
|
|
170
|
-
- **Padding vertical**: 8px arriba, 40px abajo
|
|
171
|
-
|
|
172
|
-
### Tipografía
|
|
173
|
-
- **Label**: 10px Bold (Label XXSmall)
|
|
174
|
-
- **Line height**: 12px (leading-3)
|
|
175
|
-
|
|
176
|
-
### Colores
|
|
177
|
-
|
|
178
|
-
#### Light Mode
|
|
179
|
-
- **Default icon**: `content-primary` (#18181b)
|
|
180
|
-
- **Hover bg**: `primary-custom-100` (#dbeefe)
|
|
181
|
-
- **Hover icon**: `primary-custom-600` (#0e79fd)
|
|
182
|
-
- **Selected bg**: `primary-custom-100` (#dbeefe)
|
|
183
|
-
- **Selected icon**: `primary-custom-600` (#0e79fd)
|
|
184
|
-
- **Badge**: `red-700` (#b91c1c)
|
|
185
|
-
|
|
186
|
-
#### Dark Mode
|
|
187
|
-
- **Default icon**: `dark-content-primary`
|
|
188
|
-
- **Hover bg**: `primary-custom-100/20`
|
|
189
|
-
- **Selected bg**: `primary-custom-100/20`
|
|
190
|
-
- **Badge**: `red-700` (#b91c1c)
|
|
191
|
-
|
|
192
|
-
### Estados Interactivos
|
|
193
|
-
- **Hover**: Background azul suave, icon cambia a primary
|
|
194
|
-
- **Selected**: Background azul con overlay, icon primary permanente
|
|
195
|
-
- **Disabled**: Opacity 50%, cursor not-allowed, sin interacción
|
|
196
|
-
- **Focus**: Ring 2px con primary-custom-400 en light, dark-border-custom en dark
|
|
197
|
-
|
|
198
|
-
## Accesibilidad
|
|
199
|
-
|
|
200
|
-
- ✅ **Roles ARIA**: `<nav>` con `aria-label="Navegación principal"`
|
|
201
|
-
- ✅ **aria-current**: Items seleccionados tienen `aria-current="page"`
|
|
202
|
-
- ✅ **aria-label**: Todos los items tienen labels descriptivos
|
|
203
|
-
- ✅ **Navegación por teclado**: Tab para navegar, Enter/Space para activar
|
|
204
|
-
- ✅ **Focus visible**: Anillos de enfoque claros y adaptativos
|
|
205
|
-
- ✅ **Screen reader**: Badges anuncian cantidad de notificaciones
|
|
206
|
-
- ✅ **Estados semánticos**: Disabled con `disabled` attribute y `aria-disabled`
|
|
207
|
-
|
|
208
|
-
## Referencias
|
|
209
|
-
|
|
210
|
-
- 📘 [Sistema de Colores](../../../docs/colors.md)
|
|
211
|
-
- 📘 [Sistema Tipográfico](../../../docs/typography.md)
|
|
212
|
-
- 📘 [Sistema de Espaciado](../../../docs/spacing.md)
|
|
213
|
-
- 📘 [Sistema de Sombras](../../../docs/shadows.md)
|
|
214
|
-
- 🎨 [Figma: Navigation Rail](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4294-22925&m=dev)
|
|
215
|
-
|
|
216
|
-
## Componentes Relacionados
|
|
217
|
-
|
|
218
|
-
- **Button**: Usado para el FAB button
|
|
219
|
-
- **Badge**: Sistema de notificaciones similar
|
|
220
|
-
- **Navbar**: Alternativa para navegación horizontal
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
**Implementado con ❤️ siguiendo Siesa UI Kit Design System**
|
|
@@ -1,464 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { NavigationRailCommercial } from './NavigationRailCommercial';
|
|
4
|
-
import type { NavigationRailCommercialProps } from './NavigationRailCommercial.types';
|
|
5
|
-
import {
|
|
6
|
-
Cog6ToothIcon,
|
|
7
|
-
ShoppingCartIcon,
|
|
8
|
-
CubeIcon,
|
|
9
|
-
DocumentIcon,
|
|
10
|
-
} from './icons';
|
|
11
|
-
|
|
12
|
-
// Wrapper con estado para las stories interactivas
|
|
13
|
-
const NavigationRailCommercialWithState = (args: NavigationRailCommercialProps) => {
|
|
14
|
-
const [state, setState] = useState(args.state || 'collapsed');
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
<NavigationRailCommercial
|
|
18
|
-
{...args}
|
|
19
|
-
state={state}
|
|
20
|
-
onStateChange={(newState) => {
|
|
21
|
-
setState(newState);
|
|
22
|
-
args.onStateChange?.(newState);
|
|
23
|
-
}}
|
|
24
|
-
/>
|
|
25
|
-
);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const meta = {
|
|
29
|
-
title: 'Siesa UI Kit/NavigationRailCommercial',
|
|
30
|
-
component: NavigationRailCommercial,
|
|
31
|
-
parameters: {
|
|
32
|
-
layout: 'fullscreen',
|
|
33
|
-
docs: {
|
|
34
|
-
description: {
|
|
35
|
-
component:
|
|
36
|
-
'Componente de navegación lateral especializado para aplicaciones comerciales que combina NavigationRailTypes y NavigationRailPanel. Soporta cuatro estados: collapsed, expanded, hover y searcher.',
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
tags: ['autodocs'],
|
|
41
|
-
argTypes: {
|
|
42
|
-
state: {
|
|
43
|
-
control: 'select',
|
|
44
|
-
options: ['collapsed', 'expanded', 'hover', 'searcher'],
|
|
45
|
-
description: 'Estado visual del componente',
|
|
46
|
-
table: {
|
|
47
|
-
type: { summary: 'string' },
|
|
48
|
-
category: 'Apariencia',
|
|
49
|
-
defaultValue: { summary: 'collapsed' },
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
items: {
|
|
53
|
-
control: 'object',
|
|
54
|
-
description: 'Items de menú a mostrar',
|
|
55
|
-
table: {
|
|
56
|
-
type: { summary: 'NavigationRailCommercialMenuItem[]' },
|
|
57
|
-
category: 'Contenido',
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
showSearchButton: {
|
|
61
|
-
control: 'boolean',
|
|
62
|
-
description: 'Si mostrar el botón de búsqueda en modo collapsed',
|
|
63
|
-
table: {
|
|
64
|
-
type: { summary: 'boolean' },
|
|
65
|
-
category: 'Apariencia',
|
|
66
|
-
defaultValue: { summary: 'true' },
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
onStateChange: {
|
|
70
|
-
action: 'stateChanged',
|
|
71
|
-
description: 'Callback cuando cambia el estado',
|
|
72
|
-
table: {
|
|
73
|
-
category: 'Eventos',
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
onItemClick: {
|
|
77
|
-
action: 'itemClicked',
|
|
78
|
-
description: 'Callback cuando se hace click en un item',
|
|
79
|
-
table: {
|
|
80
|
-
category: 'Eventos',
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
onItemHover: {
|
|
84
|
-
action: 'itemHovered',
|
|
85
|
-
description: 'Callback cuando se hace hover en un item',
|
|
86
|
-
table: {
|
|
87
|
-
category: 'Eventos',
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
} satisfies Meta<typeof NavigationRailCommercial>;
|
|
92
|
-
|
|
93
|
-
export default meta;
|
|
94
|
-
type Story = StoryObj<typeof meta>;
|
|
95
|
-
|
|
96
|
-
// ============================================
|
|
97
|
-
// DATOS DE EJEMPLO
|
|
98
|
-
// ============================================
|
|
99
|
-
const exampleItems = [
|
|
100
|
-
{
|
|
101
|
-
id: 'admin',
|
|
102
|
-
label: 'Administración',
|
|
103
|
-
icon: <Cog6ToothIcon className="size-4" />,
|
|
104
|
-
isCollapsible: true,
|
|
105
|
-
children: [
|
|
106
|
-
{
|
|
107
|
-
id: 'users',
|
|
108
|
-
label: 'Usuarios',
|
|
109
|
-
icon: <Cog6ToothIcon className="size-4" />,
|
|
110
|
-
onClick: () => console.log('Usuarios clicked'),
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
id: 'roles',
|
|
114
|
-
label: 'Roles y Permisos',
|
|
115
|
-
icon: <Cog6ToothIcon className="size-4" />,
|
|
116
|
-
onClick: () => console.log('Roles clicked'),
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
id: 'config',
|
|
120
|
-
label: 'Configuración',
|
|
121
|
-
icon: <Cog6ToothIcon className="size-4" />,
|
|
122
|
-
onClick: () => console.log('Config clicked'),
|
|
123
|
-
},
|
|
124
|
-
],
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
id: 'sales',
|
|
128
|
-
label: 'Ventas',
|
|
129
|
-
icon: <ShoppingCartIcon className="size-4" />,
|
|
130
|
-
isCollapsible: true,
|
|
131
|
-
children: [
|
|
132
|
-
{
|
|
133
|
-
id: 'orders',
|
|
134
|
-
label: 'Pedidos',
|
|
135
|
-
icon: <ShoppingCartIcon className="size-4" />,
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
id: 'invoices',
|
|
139
|
-
label: 'Facturas',
|
|
140
|
-
icon: <ShoppingCartIcon className="size-4" />,
|
|
141
|
-
},
|
|
142
|
-
],
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
id: 'inventory',
|
|
146
|
-
label: 'Inventario',
|
|
147
|
-
icon: <CubeIcon className="size-4" />,
|
|
148
|
-
isCollapsible: true,
|
|
149
|
-
children: [
|
|
150
|
-
{
|
|
151
|
-
id: 'products',
|
|
152
|
-
label: 'Productos',
|
|
153
|
-
icon: <CubeIcon className="size-4" />,
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
id: 'categories',
|
|
157
|
-
label: 'Categorías',
|
|
158
|
-
icon: <CubeIcon className="size-4" />,
|
|
159
|
-
},
|
|
160
|
-
],
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
id: 'purchases',
|
|
164
|
-
label: 'Compras',
|
|
165
|
-
icon: <DocumentIcon className="size-4" />,
|
|
166
|
-
isCollapsible: true,
|
|
167
|
-
children: [
|
|
168
|
-
{
|
|
169
|
-
id: 'orders-purchase',
|
|
170
|
-
label: 'Órdenes de Compra',
|
|
171
|
-
icon: <DocumentIcon className="size-4" />,
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
id: 'suppliers',
|
|
175
|
-
label: 'Proveedores',
|
|
176
|
-
icon: <DocumentIcon className="size-4" />,
|
|
177
|
-
},
|
|
178
|
-
],
|
|
179
|
-
},
|
|
180
|
-
];
|
|
181
|
-
|
|
182
|
-
// ============================================
|
|
183
|
-
// 1. INTERACTIVE PLAYGROUND
|
|
184
|
-
// ============================================
|
|
185
|
-
export const Playground: Story = {
|
|
186
|
-
args: {
|
|
187
|
-
state: 'collapsed',
|
|
188
|
-
items: exampleItems,
|
|
189
|
-
showSearchButton: true,
|
|
190
|
-
},
|
|
191
|
-
render: (args) => <NavigationRailCommercialWithState {...args} />,
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
// ============================================
|
|
195
|
-
// 2. ESTADOS DEL COMPONENTE
|
|
196
|
-
// ============================================
|
|
197
|
-
export const EstadoColapsado: Story = {
|
|
198
|
-
args: {
|
|
199
|
-
state: 'collapsed',
|
|
200
|
-
items: exampleItems,
|
|
201
|
-
},
|
|
202
|
-
render: (args) => (
|
|
203
|
-
<div className="flex h-screen bg-white dark:bg-dark-bg-primary">
|
|
204
|
-
<NavigationRailCommercialWithState {...args} />
|
|
205
|
-
<div className="flex-1 p-8">
|
|
206
|
-
<h3 className="text-lg font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
207
|
-
Estado Colapsado
|
|
208
|
-
</h3>
|
|
209
|
-
<p className="text-sm text-content-secondary dark:text-content-secondary">
|
|
210
|
-
Barra de navegación compacta de 80px con solo iconos.
|
|
211
|
-
<br />
|
|
212
|
-
Pasa el mouse sobre un icono para ver el panel lateral con el submenú.
|
|
213
|
-
<br />
|
|
214
|
-
<strong>Prueba el botón de expandir</strong> en el footer.
|
|
215
|
-
</p>
|
|
216
|
-
</div>
|
|
217
|
-
</div>
|
|
218
|
-
),
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
export const EstadoExpandido: Story = {
|
|
222
|
-
args: {
|
|
223
|
-
state: 'expanded',
|
|
224
|
-
items: exampleItems,
|
|
225
|
-
},
|
|
226
|
-
render: (args) => (
|
|
227
|
-
<div className="flex h-screen bg-white dark:bg-dark-bg-primary">
|
|
228
|
-
<NavigationRailCommercialWithState {...args} />
|
|
229
|
-
<div className="flex-1 p-8">
|
|
230
|
-
<h3 className="text-lg font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
231
|
-
Estado Expandido
|
|
232
|
-
</h3>
|
|
233
|
-
<p className="text-sm text-content-secondary dark:text-content-secondary">
|
|
234
|
-
Barra de navegación de 215px con labels visibles.
|
|
235
|
-
<br />
|
|
236
|
-
Los items colapsables se muestran con chevron down y se pueden expandir.
|
|
237
|
-
<br />
|
|
238
|
-
<strong>Prueba el botón "Colapsar"</strong> en el footer.
|
|
239
|
-
</p>
|
|
240
|
-
</div>
|
|
241
|
-
</div>
|
|
242
|
-
),
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
export const EstadoHover: Story = {
|
|
246
|
-
args: {
|
|
247
|
-
state: 'hover',
|
|
248
|
-
items: exampleItems,
|
|
249
|
-
},
|
|
250
|
-
render: (args) => (
|
|
251
|
-
<div className="flex h-screen bg-white dark:bg-dark-bg-primary">
|
|
252
|
-
<div className="relative">
|
|
253
|
-
<NavigationRailCommercial {...args} />
|
|
254
|
-
<div className="absolute left-[80px] top-0 w-[248px] h-full bg-bg-primary dark:bg-dark-bg-primary border-l border-border-primary dark:border-dark-border-primary p-3 shadow-lg">
|
|
255
|
-
<div className="mb-3">
|
|
256
|
-
<h4 className="text-sm font-bold text-content-primary dark:text-dark-content-primary px-4 py-2">
|
|
257
|
-
Administración
|
|
258
|
-
</h4>
|
|
259
|
-
</div>
|
|
260
|
-
<div className="border-t border-border-primary dark:border-dark-border-primary mb-3" />
|
|
261
|
-
<div className="space-y-1">
|
|
262
|
-
<button className="w-full text-left px-4 py-2 text-sm text-content-primary dark:text-dark-content-primary hover:bg-primary-custom-100 dark:hover:bg-dark-bg-custom rounded-lg transition-colors">
|
|
263
|
-
Usuarios
|
|
264
|
-
</button>
|
|
265
|
-
<button className="w-full text-left px-4 py-2 text-sm text-content-primary dark:text-dark-content-primary hover:bg-primary-custom-100 dark:hover:bg-dark-bg-custom rounded-lg transition-colors">
|
|
266
|
-
Roles y Permisos
|
|
267
|
-
</button>
|
|
268
|
-
<button className="w-full text-left px-4 py-2 text-sm text-content-primary dark:text-dark-content-primary hover:bg-primary-custom-100 dark:hover:bg-dark-bg-custom rounded-lg transition-colors">
|
|
269
|
-
Configuración
|
|
270
|
-
</button>
|
|
271
|
-
</div>
|
|
272
|
-
</div>
|
|
273
|
-
</div>
|
|
274
|
-
<div className="flex-1 p-8">
|
|
275
|
-
<h3 className="text-lg font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
276
|
-
Estado Hover
|
|
277
|
-
</h3>
|
|
278
|
-
<p className="text-sm text-content-secondary dark:text-content-secondary">
|
|
279
|
-
Panel lateral se muestra al hacer hover sobre un item con submenú.
|
|
280
|
-
<br />
|
|
281
|
-
El panel desaparece cuando el mouse sale de la zona del rail + panel.
|
|
282
|
-
</p>
|
|
283
|
-
</div>
|
|
284
|
-
</div>
|
|
285
|
-
),
|
|
286
|
-
};
|
|
287
|
-
|
|
288
|
-
export const EstadoBusqueda: Story = {
|
|
289
|
-
args: {
|
|
290
|
-
state: 'searcher',
|
|
291
|
-
items: exampleItems,
|
|
292
|
-
},
|
|
293
|
-
render: (args) => (
|
|
294
|
-
<div className="flex h-screen bg-white dark:bg-dark-bg-primary">
|
|
295
|
-
<div className="relative">
|
|
296
|
-
<NavigationRailCommercial {...args} />
|
|
297
|
-
<div className="absolute left-[80px] top-0 w-[248px] h-full bg-bg-primary dark:bg-dark-bg-primary border-l border-border-primary dark:border-dark-border-primary shadow-lg">
|
|
298
|
-
<div className="p-3">
|
|
299
|
-
<input
|
|
300
|
-
type="text"
|
|
301
|
-
placeholder="Buscar módulo"
|
|
302
|
-
className="w-full px-3 py-2 text-sm border border-border-primary dark:border-dark-border-primary rounded-lg bg-white dark:bg-dark-bg-primary text-content-primary dark:text-dark-content-primary placeholder-content-tertiary dark:placeholder-content-tertiary"
|
|
303
|
-
/>
|
|
304
|
-
</div>
|
|
305
|
-
<div className="border-t border-border-primary dark:border-dark-border-primary mb-3" />
|
|
306
|
-
<div className="px-3 space-y-3">
|
|
307
|
-
<div>
|
|
308
|
-
<p className="text-xs text-content-tertiary dark:text-content-tertiary mb-2">
|
|
309
|
-
Recientes
|
|
310
|
-
</p>
|
|
311
|
-
<button className="w-full text-left px-4 py-2 text-sm text-content-primary dark:text-dark-content-primary hover:bg-primary-custom-100 dark:hover:bg-dark-bg-custom rounded-lg transition-colors">
|
|
312
|
-
Configuración
|
|
313
|
-
</button>
|
|
314
|
-
</div>
|
|
315
|
-
<div>
|
|
316
|
-
<p className="text-xs text-content-tertiary dark:text-content-tertiary mb-2">
|
|
317
|
-
Opciones frecuentes
|
|
318
|
-
</p>
|
|
319
|
-
<button className="w-full text-left px-4 py-2 text-sm text-content-primary dark:text-dark-content-primary hover:bg-primary-custom-100 dark:hover:bg-dark-bg-custom rounded-lg transition-colors">
|
|
320
|
-
Item
|
|
321
|
-
</button>
|
|
322
|
-
</div>
|
|
323
|
-
</div>
|
|
324
|
-
</div>
|
|
325
|
-
</div>
|
|
326
|
-
<div className="flex-1 p-8">
|
|
327
|
-
<h3 className="text-lg font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
328
|
-
Estado Búsqueda
|
|
329
|
-
</h3>
|
|
330
|
-
<p className="text-sm text-content-secondary dark:text-content-secondary">
|
|
331
|
-
Panel lateral se muestra al hacer click en el botón de búsqueda (modo collapsed).
|
|
332
|
-
<br />
|
|
333
|
-
Incluye input de búsqueda, sección de recientes y opciones frecuentes.
|
|
334
|
-
</p>
|
|
335
|
-
</div>
|
|
336
|
-
</div>
|
|
337
|
-
),
|
|
338
|
-
};
|
|
339
|
-
|
|
340
|
-
// ============================================
|
|
341
|
-
// 3. VARIANTES CON ITEMS ACTIVOS
|
|
342
|
-
// ============================================
|
|
343
|
-
export const ConItemActivo: Story = {
|
|
344
|
-
args: {
|
|
345
|
-
state: 'collapsed',
|
|
346
|
-
items: exampleItems.map((item, index) => ({
|
|
347
|
-
...item,
|
|
348
|
-
active: index === 0,
|
|
349
|
-
})),
|
|
350
|
-
},
|
|
351
|
-
render: (args) => (
|
|
352
|
-
<div className="flex h-screen bg-white dark:bg-dark-bg-primary">
|
|
353
|
-
<NavigationRailCommercialWithState {...args} />
|
|
354
|
-
<div className="flex-1 p-8">
|
|
355
|
-
<h3 className="text-lg font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
356
|
-
Con Item Activo
|
|
357
|
-
</h3>
|
|
358
|
-
<p className="text-sm text-content-secondary dark:text-content-secondary">
|
|
359
|
-
El primer item (Administración) está marcado como activo.
|
|
360
|
-
<br />
|
|
361
|
-
Los items activos tienen un fondo de color custom-primary.
|
|
362
|
-
</p>
|
|
363
|
-
</div>
|
|
364
|
-
</div>
|
|
365
|
-
),
|
|
366
|
-
};
|
|
367
|
-
|
|
368
|
-
export const ConBadges: Story = {
|
|
369
|
-
args: {
|
|
370
|
-
state: 'collapsed',
|
|
371
|
-
items: exampleItems.map((item, index) => ({
|
|
372
|
-
...item,
|
|
373
|
-
badge: index === 1 || index === 3,
|
|
374
|
-
badgeCount: index === 1 ? 5 : index === 3 ? 12 : undefined,
|
|
375
|
-
})),
|
|
376
|
-
},
|
|
377
|
-
render: (args) => (
|
|
378
|
-
<div className="flex h-screen bg-white dark:bg-dark-bg-primary">
|
|
379
|
-
<NavigationRailCommercialWithState {...args} />
|
|
380
|
-
<div className="flex-1 p-8">
|
|
381
|
-
<h3 className="text-lg font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
382
|
-
Con Badges de Notificación
|
|
383
|
-
</h3>
|
|
384
|
-
<p className="text-sm text-content-secondary dark:text-content-secondary">
|
|
385
|
-
Algunos items tienen badges de notificación con contador.
|
|
386
|
-
<br />
|
|
387
|
-
Ventas (5) y Compras (12) tienen notificaciones pendientes.
|
|
388
|
-
</p>
|
|
389
|
-
</div>
|
|
390
|
-
</div>
|
|
391
|
-
),
|
|
392
|
-
};
|
|
393
|
-
|
|
394
|
-
// ============================================
|
|
395
|
-
// 4. CASOS DE USO REALES
|
|
396
|
-
// ============================================
|
|
397
|
-
export const AplicacionCompleta: Story = {
|
|
398
|
-
args: {
|
|
399
|
-
state: 'collapsed',
|
|
400
|
-
items: exampleItems,
|
|
401
|
-
},
|
|
402
|
-
render: (args) => (
|
|
403
|
-
<div className="flex h-screen bg-white dark:bg-dark-bg-primary">
|
|
404
|
-
<NavigationRailCommercialWithState {...args} />
|
|
405
|
-
<div className="flex-1 p-8">
|
|
406
|
-
<div className="max-w-4xl">
|
|
407
|
-
<h1 className="text-3xl font-bold mb-2 text-content-primary dark:text-dark-content-primary">
|
|
408
|
-
Panel de Control
|
|
409
|
-
</h1>
|
|
410
|
-
<p className="text-content-secondary dark:text-content-secondary mb-8">
|
|
411
|
-
Bienvenido al sistema comercial de Siesa
|
|
412
|
-
</p>
|
|
413
|
-
|
|
414
|
-
<div className="grid grid-cols-3 gap-6 mb-8">
|
|
415
|
-
<div className="bg-white dark:bg-dark-bg-primary p-6 rounded-lg border border-border-primary dark:border-dark-border-primary">
|
|
416
|
-
<h3 className="text-lg font-bold mb-2 text-content-primary dark:text-dark-content-primary">
|
|
417
|
-
Ventas del Mes
|
|
418
|
-
</h3>
|
|
419
|
-
<p className="text-3xl font-bold text-primary-custom-600">$125,430</p>
|
|
420
|
-
</div>
|
|
421
|
-
<div className="bg-white dark:bg-dark-bg-primary p-6 rounded-lg border border-border-primary dark:border-dark-border-primary">
|
|
422
|
-
<h3 className="text-lg font-bold mb-2 text-content-primary dark:text-dark-content-primary">
|
|
423
|
-
Pedidos Activos
|
|
424
|
-
</h3>
|
|
425
|
-
<p className="text-3xl font-bold text-primary-custom-600">48</p>
|
|
426
|
-
</div>
|
|
427
|
-
<div className="bg-white dark:bg-dark-bg-primary p-6 rounded-lg border border-border-primary dark:border-dark-border-primary">
|
|
428
|
-
<h3 className="text-lg font-bold mb-2 text-content-primary dark:text-dark-content-primary">
|
|
429
|
-
Productos en Stock
|
|
430
|
-
</h3>
|
|
431
|
-
<p className="text-3xl font-bold text-primary-custom-600">1,234</p>
|
|
432
|
-
</div>
|
|
433
|
-
</div>
|
|
434
|
-
|
|
435
|
-
<div className="bg-white dark:bg-dark-bg-primary p-6 rounded-lg border border-border-primary dark:border-dark-border-primary">
|
|
436
|
-
<h3 className="text-lg font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
437
|
-
Actividad Reciente
|
|
438
|
-
</h3>
|
|
439
|
-
<div className="space-y-3">
|
|
440
|
-
{[1, 2, 3, 4].map((i) => (
|
|
441
|
-
<div
|
|
442
|
-
key={i}
|
|
443
|
-
className="flex items-center justify-between py-3 border-b border-border-primary dark:border-dark-border-primary last:border-0"
|
|
444
|
-
>
|
|
445
|
-
<div>
|
|
446
|
-
<p className="font-medium text-content-primary dark:text-dark-content-primary">
|
|
447
|
-
Nueva orden #{1000 + i}
|
|
448
|
-
</p>
|
|
449
|
-
<p className="text-sm text-content-secondary dark:text-content-secondary">
|
|
450
|
-
Cliente: Usuario {i}
|
|
451
|
-
</p>
|
|
452
|
-
</div>
|
|
453
|
-
<span className="text-sm text-content-secondary dark:text-content-secondary">
|
|
454
|
-
Hace {i} hora{i > 1 ? 's' : ''}
|
|
455
|
-
</span>
|
|
456
|
-
</div>
|
|
457
|
-
))}
|
|
458
|
-
</div>
|
|
459
|
-
</div>
|
|
460
|
-
</div>
|
|
461
|
-
</div>
|
|
462
|
-
</div>
|
|
463
|
-
),
|
|
464
|
-
};
|