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,513 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Notification } from './Notification';
|
|
3
|
-
|
|
4
|
-
const meta = {
|
|
5
|
-
title: 'Siesa UI Kit/Notification',
|
|
6
|
-
component: Notification,
|
|
7
|
-
parameters: {
|
|
8
|
-
layout: 'centered',
|
|
9
|
-
docs: {
|
|
10
|
-
description: {
|
|
11
|
-
component:
|
|
12
|
-
'Badge de notificación para mostrar alertas, mensajes o notificaciones pendientes. Puede mostrar un punto simple o un contador numérico con límite automático a 99+. Ideal para usar como overlay en iconos o botones.',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
tags: ['autodocs'],
|
|
17
|
-
argTypes: {
|
|
18
|
-
count: {
|
|
19
|
-
control: 'number',
|
|
20
|
-
description: 'Número de notificaciones (undefined = punto simple, 1-99 = número exacto, 100+ = "99+")',
|
|
21
|
-
},
|
|
22
|
-
color: {
|
|
23
|
-
control: 'select',
|
|
24
|
-
options: ['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'zinc', 'primary'],
|
|
25
|
-
description: 'Color del badge (default: red)',
|
|
26
|
-
},
|
|
27
|
-
className: {
|
|
28
|
-
control: 'text',
|
|
29
|
-
description: 'Clases CSS adicionales para posicionamiento',
|
|
30
|
-
},
|
|
31
|
-
ariaLabel: {
|
|
32
|
-
control: 'text',
|
|
33
|
-
description: 'Label para accesibilidad (se genera automáticamente si no se especifica)',
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
} satisfies Meta<typeof Notification>;
|
|
37
|
-
|
|
38
|
-
export default meta;
|
|
39
|
-
type Story = StoryObj<typeof meta>;
|
|
40
|
-
|
|
41
|
-
// ============================================
|
|
42
|
-
// 1. PLAYGROUND INTERACTIVO
|
|
43
|
-
// ============================================
|
|
44
|
-
export const Playground: Story = {
|
|
45
|
-
name: 'Playground',
|
|
46
|
-
args: {
|
|
47
|
-
count: 5,
|
|
48
|
-
color: 'red',
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
// ============================================
|
|
53
|
-
// 2. VARIANTES BÁSICAS
|
|
54
|
-
// ============================================
|
|
55
|
-
export const VariantesBasicas: Story = {
|
|
56
|
-
name: 'Variantes Básicas',
|
|
57
|
-
render: () => (
|
|
58
|
-
<div className="space-y-8 p-6">
|
|
59
|
-
{/* Badge Simple (Dot) */}
|
|
60
|
-
<div>
|
|
61
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
62
|
-
Badge Simple (Dot)
|
|
63
|
-
</h3>
|
|
64
|
-
<div className="flex items-center gap-6">
|
|
65
|
-
<div className="flex flex-col items-center gap-2">
|
|
66
|
-
<Notification />
|
|
67
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Default (sin count)</span>
|
|
68
|
-
</div>
|
|
69
|
-
<div className="flex flex-col items-center gap-2">
|
|
70
|
-
<Notification count={0} />
|
|
71
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">count={0}</span>
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
74
|
-
<p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
|
|
75
|
-
Punto rojo de 8px × 8px para indicar notificaciones sin especificar cantidad
|
|
76
|
-
</p>
|
|
77
|
-
</div>
|
|
78
|
-
|
|
79
|
-
{/* Badge con Número */}
|
|
80
|
-
<div>
|
|
81
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
82
|
-
Badge con Número
|
|
83
|
-
</h3>
|
|
84
|
-
<div className="flex items-center gap-6">
|
|
85
|
-
<div className="flex flex-col items-center gap-2">
|
|
86
|
-
<Notification count={1} />
|
|
87
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">1</span>
|
|
88
|
-
</div>
|
|
89
|
-
<div className="flex flex-col items-center gap-2">
|
|
90
|
-
<Notification count={5} />
|
|
91
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">5</span>
|
|
92
|
-
</div>
|
|
93
|
-
<div className="flex flex-col items-center gap-2">
|
|
94
|
-
<Notification count={12} />
|
|
95
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">12</span>
|
|
96
|
-
</div>
|
|
97
|
-
<div className="flex flex-col items-center gap-2">
|
|
98
|
-
<Notification count={99} />
|
|
99
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">99</span>
|
|
100
|
-
</div>
|
|
101
|
-
<div className="flex flex-col items-center gap-2">
|
|
102
|
-
<Notification count={150} />
|
|
103
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">99+ (150)</span>
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
<p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
|
|
107
|
-
Badge de 16px altura con número. Límite automático a "99+" para valores ≥ 100
|
|
108
|
-
</p>
|
|
109
|
-
</div>
|
|
110
|
-
|
|
111
|
-
<div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
|
|
112
|
-
<p className="text-xs text-gray-600 dark:text-gray-300">
|
|
113
|
-
<strong>💡 Especificaciones:</strong>
|
|
114
|
-
<br />• Badge simple: 8px × 8px (w-2 h-2), rounded-full
|
|
115
|
-
<br />• Badge con número: 16px altura, 10px Bold, padding horizontal 4px
|
|
116
|
-
<br />• Límite automático: números ≥ 100 muestran "99+"
|
|
117
|
-
<br />• Color default: content-extensions-red (#b91c1c)
|
|
118
|
-
</p>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
),
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
// ============================================
|
|
125
|
-
// 3. RANGOS DE CONTEO
|
|
126
|
-
// ============================================
|
|
127
|
-
export const RangosDeConteo: Story = {
|
|
128
|
-
name: 'Rangos de Conteo',
|
|
129
|
-
render: () => (
|
|
130
|
-
<div className="space-y-8 p-6">
|
|
131
|
-
<div>
|
|
132
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
133
|
-
Pocas Notificaciones (1-9)
|
|
134
|
-
</h3>
|
|
135
|
-
<div className="flex gap-4">
|
|
136
|
-
<Notification count={1} />
|
|
137
|
-
<Notification count={3} />
|
|
138
|
-
<Notification count={5} />
|
|
139
|
-
<Notification count={9} />
|
|
140
|
-
</div>
|
|
141
|
-
<p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
|
|
142
|
-
Badge angosto para números de un dígito
|
|
143
|
-
</p>
|
|
144
|
-
</div>
|
|
145
|
-
|
|
146
|
-
<div>
|
|
147
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
148
|
-
Muchas Notificaciones (10-99)
|
|
149
|
-
</h3>
|
|
150
|
-
<div className="flex gap-4">
|
|
151
|
-
<Notification count={10} />
|
|
152
|
-
<Notification count={25} />
|
|
153
|
-
<Notification count={50} />
|
|
154
|
-
<Notification count={99} />
|
|
155
|
-
</div>
|
|
156
|
-
<p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
|
|
157
|
-
Badge se expande automáticamente para dos dígitos
|
|
158
|
-
</p>
|
|
159
|
-
</div>
|
|
160
|
-
|
|
161
|
-
<div>
|
|
162
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
163
|
-
Demasiadas Notificaciones (100+)
|
|
164
|
-
</h3>
|
|
165
|
-
<div className="flex gap-4">
|
|
166
|
-
<Notification count={100} />
|
|
167
|
-
<Notification count={250} />
|
|
168
|
-
<Notification count={500} />
|
|
169
|
-
<Notification count={999} />
|
|
170
|
-
</div>
|
|
171
|
-
<p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
|
|
172
|
-
Todos muestran "99+" para mantener badge compacto
|
|
173
|
-
</p>
|
|
174
|
-
</div>
|
|
175
|
-
</div>
|
|
176
|
-
),
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
// ============================================
|
|
180
|
-
// 4. COLORES
|
|
181
|
-
// ============================================
|
|
182
|
-
export const Colores: Story = {
|
|
183
|
-
name: 'Colores',
|
|
184
|
-
render: () => (
|
|
185
|
-
<div className="space-y-8 p-6">
|
|
186
|
-
<div>
|
|
187
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
188
|
-
Badge con Número - Colores Disponibles
|
|
189
|
-
</h3>
|
|
190
|
-
<div className="flex flex-wrap items-center gap-6">
|
|
191
|
-
<div className="flex flex-col items-center gap-2">
|
|
192
|
-
<Notification count={5} color="red" />
|
|
193
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Red (default)</span>
|
|
194
|
-
</div>
|
|
195
|
-
<div className="flex flex-col items-center gap-2">
|
|
196
|
-
<Notification count={8} color="orange" />
|
|
197
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Orange</span>
|
|
198
|
-
</div>
|
|
199
|
-
<div className="flex flex-col items-center gap-2">
|
|
200
|
-
<Notification count={3} color="yellow" />
|
|
201
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Yellow</span>
|
|
202
|
-
</div>
|
|
203
|
-
<div className="flex flex-col items-center gap-2">
|
|
204
|
-
<Notification count={12} color="green" />
|
|
205
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Green</span>
|
|
206
|
-
</div>
|
|
207
|
-
<div className="flex flex-col items-center gap-2">
|
|
208
|
-
<Notification count={7} color="blue" />
|
|
209
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Blue</span>
|
|
210
|
-
</div>
|
|
211
|
-
<div className="flex flex-col items-center gap-2">
|
|
212
|
-
<Notification count={15} color="purple" />
|
|
213
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Purple</span>
|
|
214
|
-
</div>
|
|
215
|
-
<div className="flex flex-col items-center gap-2">
|
|
216
|
-
<Notification count={2} color="zinc" />
|
|
217
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Zinc</span>
|
|
218
|
-
</div>
|
|
219
|
-
<div className="flex flex-col items-center gap-2">
|
|
220
|
-
<Notification count={9} color="primary" />
|
|
221
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Primary</span>
|
|
222
|
-
</div>
|
|
223
|
-
</div>
|
|
224
|
-
</div>
|
|
225
|
-
|
|
226
|
-
<div>
|
|
227
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
228
|
-
Badge Simple - Colores Disponibles
|
|
229
|
-
</h3>
|
|
230
|
-
<div className="flex flex-wrap items-center gap-6">
|
|
231
|
-
<div className="flex flex-col items-center gap-2">
|
|
232
|
-
<Notification color="red" />
|
|
233
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Red</span>
|
|
234
|
-
</div>
|
|
235
|
-
<div className="flex flex-col items-center gap-2">
|
|
236
|
-
<Notification color="orange" />
|
|
237
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Orange</span>
|
|
238
|
-
</div>
|
|
239
|
-
<div className="flex flex-col items-center gap-2">
|
|
240
|
-
<Notification color="green" />
|
|
241
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Green</span>
|
|
242
|
-
</div>
|
|
243
|
-
<div className="flex flex-col items-center gap-2">
|
|
244
|
-
<Notification color="blue" />
|
|
245
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Blue</span>
|
|
246
|
-
</div>
|
|
247
|
-
<div className="flex flex-col items-center gap-2">
|
|
248
|
-
<Notification color="purple" />
|
|
249
|
-
<span className="text-xs text-gray-500 dark:text-gray-300">Purple</span>
|
|
250
|
-
</div>
|
|
251
|
-
</div>
|
|
252
|
-
</div>
|
|
253
|
-
|
|
254
|
-
<div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
|
|
255
|
-
<p className="text-xs text-gray-600 dark:text-gray-300">
|
|
256
|
-
<strong>💡 Uso recomendado:</strong>
|
|
257
|
-
<br />• <strong>Red:</strong> Errores, alertas críticas
|
|
258
|
-
<br />• <strong>Orange:</strong> Advertencias importantes
|
|
259
|
-
<br />• <strong>Yellow:</strong> Avisos, atención requerida
|
|
260
|
-
<br />• <strong>Green:</strong> Confirmaciones, éxitos
|
|
261
|
-
<br />• <strong>Blue:</strong> Información general
|
|
262
|
-
<br />• <strong>Purple:</strong> Especiales o premium
|
|
263
|
-
<br />• <strong>Zinc:</strong> Neutras
|
|
264
|
-
</p>
|
|
265
|
-
</div>
|
|
266
|
-
</div>
|
|
267
|
-
),
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
// ============================================
|
|
271
|
-
// 5. DARK MODE
|
|
272
|
-
// ============================================
|
|
273
|
-
export const DarkMode: Story = {
|
|
274
|
-
name: 'Dark Mode',
|
|
275
|
-
parameters: {
|
|
276
|
-
backgrounds: {
|
|
277
|
-
default: 'dark',
|
|
278
|
-
},
|
|
279
|
-
},
|
|
280
|
-
render: () => (
|
|
281
|
-
<div className="dark bg-dark-bg-primary p-8 rounded-lg space-y-8">
|
|
282
|
-
<div>
|
|
283
|
-
<h3 className="text-sm font-bold mb-4 text-dark-content-primary">
|
|
284
|
-
Badge Simple en Dark Mode
|
|
285
|
-
</h3>
|
|
286
|
-
<div className="flex gap-6">
|
|
287
|
-
<Notification />
|
|
288
|
-
<Notification color="orange" />
|
|
289
|
-
<Notification color="green" />
|
|
290
|
-
<Notification color="blue" />
|
|
291
|
-
</div>
|
|
292
|
-
<p className="text-xs text-gray-400 mt-4">
|
|
293
|
-
Punto de 8px mantiene visibilidad en fondos oscuros
|
|
294
|
-
</p>
|
|
295
|
-
</div>
|
|
296
|
-
|
|
297
|
-
<div>
|
|
298
|
-
<h3 className="text-sm font-bold mb-4 text-dark-content-primary">
|
|
299
|
-
Badge con Número en Dark Mode
|
|
300
|
-
</h3>
|
|
301
|
-
<div className="flex gap-6">
|
|
302
|
-
<Notification count={3} />
|
|
303
|
-
<Notification count={12} color="orange" />
|
|
304
|
-
<Notification count={25} color="green" />
|
|
305
|
-
<Notification count={99} color="blue" />
|
|
306
|
-
</div>
|
|
307
|
-
<p className="text-xs text-gray-400 mt-4">
|
|
308
|
-
Badge con contraste óptimo: colores mantienen intensidad en dark mode
|
|
309
|
-
</p>
|
|
310
|
-
</div>
|
|
311
|
-
|
|
312
|
-
<div className="mt-6 p-4 bg-blue-900/20 border border-blue-800 rounded-lg">
|
|
313
|
-
<p className="text-xs text-gray-300">
|
|
314
|
-
<strong>✨ Dark Mode:</strong>
|
|
315
|
-
<br />• Colores mantienen intensidad (ej: content-extensions-red #b91c1c)
|
|
316
|
-
<br />• Texto siempre blanco para máximo contraste
|
|
317
|
-
<br />• Sin bordes en badge simple
|
|
318
|
-
</p>
|
|
319
|
-
</div>
|
|
320
|
-
</div>
|
|
321
|
-
),
|
|
322
|
-
};
|
|
323
|
-
|
|
324
|
-
// ============================================
|
|
325
|
-
// 6. COMO OVERLAY
|
|
326
|
-
// ============================================
|
|
327
|
-
export const ComoOverlay: Story = {
|
|
328
|
-
name: 'Como Overlay',
|
|
329
|
-
render: () => (
|
|
330
|
-
<div className="space-y-8 p-6">
|
|
331
|
-
<div>
|
|
332
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
333
|
-
Overlay en Botón
|
|
334
|
-
</h3>
|
|
335
|
-
<div className="flex gap-6">
|
|
336
|
-
<button className="relative p-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
|
|
337
|
-
<svg className="w-6 h-6 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
338
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
|
|
339
|
-
</svg>
|
|
340
|
-
<Notification count={5} className="absolute -top-1 -right-1" />
|
|
341
|
-
</button>
|
|
342
|
-
|
|
343
|
-
<button className="relative p-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
|
|
344
|
-
<svg className="w-6 h-6 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
345
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
|
|
346
|
-
</svg>
|
|
347
|
-
<Notification className="absolute -top-1 -right-1" />
|
|
348
|
-
</button>
|
|
349
|
-
|
|
350
|
-
<button className="relative p-3 bg-primary-custom-600 text-white rounded-lg hover:bg-primary-custom-500 transition-colors">
|
|
351
|
-
<svg className="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
352
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
|
|
353
|
-
</svg>
|
|
354
|
-
<Notification count={12} className="absolute -top-1 -right-1" />
|
|
355
|
-
</button>
|
|
356
|
-
</div>
|
|
357
|
-
<p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
|
|
358
|
-
Usa <code className="px-1 bg-gray-100 dark:bg-gray-700">className="absolute -top-1 -right-1"</code> para posicionar
|
|
359
|
-
</p>
|
|
360
|
-
</div>
|
|
361
|
-
|
|
362
|
-
<div>
|
|
363
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
364
|
-
Overlay en Avatar
|
|
365
|
-
</h3>
|
|
366
|
-
<div className="flex gap-6">
|
|
367
|
-
<div className="relative">
|
|
368
|
-
<div className="w-12 h-12 bg-gradient-to-br from-purple-400 to-pink-500 rounded-full flex items-center justify-center text-white font-bold">
|
|
369
|
-
JD
|
|
370
|
-
</div>
|
|
371
|
-
<Notification count={3} className="absolute -top-1 -right-1" />
|
|
372
|
-
</div>
|
|
373
|
-
|
|
374
|
-
<div className="relative">
|
|
375
|
-
<div className="w-12 h-12 bg-gradient-to-br from-blue-400 to-cyan-500 rounded-full flex items-center justify-center text-white font-bold">
|
|
376
|
-
AS
|
|
377
|
-
</div>
|
|
378
|
-
<Notification className="absolute -top-1 -right-1" />
|
|
379
|
-
</div>
|
|
380
|
-
</div>
|
|
381
|
-
<p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
|
|
382
|
-
Badge como indicador de estado en avatares
|
|
383
|
-
</p>
|
|
384
|
-
</div>
|
|
385
|
-
|
|
386
|
-
<div>
|
|
387
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
388
|
-
En Barra de Navegación
|
|
389
|
-
</h3>
|
|
390
|
-
<div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4">
|
|
391
|
-
<div className="flex items-center justify-between">
|
|
392
|
-
<span className="text-sm font-medium text-gray-700 dark:text-white">Mi App</span>
|
|
393
|
-
<div className="flex items-center gap-4">
|
|
394
|
-
<button className="relative p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors">
|
|
395
|
-
<svg className="w-5 h-5 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
396
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
|
|
397
|
-
</svg>
|
|
398
|
-
<Notification count={7} className="absolute top-0 right-0" />
|
|
399
|
-
</button>
|
|
400
|
-
<button className="relative p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors">
|
|
401
|
-
<svg className="w-5 h-5 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
402
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
|
|
403
|
-
</svg>
|
|
404
|
-
<Notification count={2} className="absolute top-0 right-0" />
|
|
405
|
-
</button>
|
|
406
|
-
</div>
|
|
407
|
-
</div>
|
|
408
|
-
</div>
|
|
409
|
-
</div>
|
|
410
|
-
|
|
411
|
-
<div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
|
|
412
|
-
<p className="text-xs text-gray-600 dark:text-gray-300">
|
|
413
|
-
<strong>💡 Posicionamiento:</strong>
|
|
414
|
-
<br />• Envuelve el elemento en <code className="px-1 bg-white dark:bg-gray-700">relative</code>
|
|
415
|
-
<br />• Agrega badge con <code className="px-1 bg-white dark:bg-gray-700">absolute -top-1 -right-1</code>
|
|
416
|
-
<br />• Ajusta offset según necesites (top-0, -top-2, etc.)
|
|
417
|
-
</p>
|
|
418
|
-
</div>
|
|
419
|
-
</div>
|
|
420
|
-
),
|
|
421
|
-
};
|
|
422
|
-
|
|
423
|
-
// ============================================
|
|
424
|
-
// 7. CASOS DE USO REALES
|
|
425
|
-
// ============================================
|
|
426
|
-
export const CasosDeUso: Story = {
|
|
427
|
-
name: 'Casos de Uso Reales',
|
|
428
|
-
render: () => (
|
|
429
|
-
<div className="space-y-8 p-6">
|
|
430
|
-
{/* Menú Lateral */}
|
|
431
|
-
<div>
|
|
432
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
433
|
-
Menú Lateral con Notificaciones
|
|
434
|
-
</h3>
|
|
435
|
-
<div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4 w-64">
|
|
436
|
-
<div className="space-y-2">
|
|
437
|
-
<div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
|
|
438
|
-
<span className="text-sm text-gray-700 dark:text-white">Dashboard</span>
|
|
439
|
-
</div>
|
|
440
|
-
<div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
|
|
441
|
-
<span className="text-sm text-gray-700 dark:text-white">Notificaciones</span>
|
|
442
|
-
<Notification count={12} />
|
|
443
|
-
</div>
|
|
444
|
-
<div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
|
|
445
|
-
<span className="text-sm text-gray-700 dark:text-white">Mensajes</span>
|
|
446
|
-
<Notification count={5} />
|
|
447
|
-
</div>
|
|
448
|
-
<div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
|
|
449
|
-
<span className="text-sm text-gray-700 dark:text-white">Configuración</span>
|
|
450
|
-
</div>
|
|
451
|
-
</div>
|
|
452
|
-
</div>
|
|
453
|
-
</div>
|
|
454
|
-
|
|
455
|
-
{/* Lista de Tareas */}
|
|
456
|
-
<div>
|
|
457
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
458
|
-
Lista de Tareas con Prioridades
|
|
459
|
-
</h3>
|
|
460
|
-
<div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4 space-y-3">
|
|
461
|
-
<div className="flex items-center gap-3 p-2 hover:bg-gray-50 dark:hover:bg-gray-700 rounded cursor-pointer">
|
|
462
|
-
<Notification color="red" />
|
|
463
|
-
<div className="flex-1">
|
|
464
|
-
<p className="text-sm font-medium text-gray-700 dark:text-white">Urgente: Revisar servidor</p>
|
|
465
|
-
<p className="text-xs text-gray-500 dark:text-gray-400">Prioridad alta</p>
|
|
466
|
-
</div>
|
|
467
|
-
</div>
|
|
468
|
-
<div className="flex items-center gap-3 p-2 hover:bg-gray-50 dark:hover:bg-gray-700 rounded cursor-pointer">
|
|
469
|
-
<Notification color="orange" />
|
|
470
|
-
<div className="flex-1">
|
|
471
|
-
<p className="text-sm font-medium text-gray-700 dark:text-white">Advertencia: Actualización disponible</p>
|
|
472
|
-
<p className="text-xs text-gray-500 dark:text-gray-400">Prioridad media</p>
|
|
473
|
-
</div>
|
|
474
|
-
</div>
|
|
475
|
-
<div className="flex items-center gap-3 p-2 hover:bg-gray-50 dark:hover:bg-gray-700 rounded cursor-pointer">
|
|
476
|
-
<Notification color="blue" />
|
|
477
|
-
<div className="flex-1">
|
|
478
|
-
<p className="text-sm font-medium text-gray-700 dark:text-white">Info: Nuevo feature disponible</p>
|
|
479
|
-
<p className="text-xs text-gray-500 dark:text-gray-400">Prioridad baja</p>
|
|
480
|
-
</div>
|
|
481
|
-
</div>
|
|
482
|
-
</div>
|
|
483
|
-
</div>
|
|
484
|
-
|
|
485
|
-
{/* Tabs con Contadores */}
|
|
486
|
-
<div>
|
|
487
|
-
<h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
|
|
488
|
-
Tabs con Contadores
|
|
489
|
-
</h3>
|
|
490
|
-
<div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg">
|
|
491
|
-
<div className="flex border-b border-gray-200 dark:border-gray-700">
|
|
492
|
-
<button className="flex items-center gap-2 px-4 py-3 border-b-2 border-primary-custom-600 text-sm font-medium text-primary-custom-600">
|
|
493
|
-
Pendientes
|
|
494
|
-
<Notification count={8} />
|
|
495
|
-
</button>
|
|
496
|
-
<button className="flex items-center gap-2 px-4 py-3 text-sm font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300">
|
|
497
|
-
En Progreso
|
|
498
|
-
<Notification count={3} color="blue" />
|
|
499
|
-
</button>
|
|
500
|
-
<button className="flex items-center gap-2 px-4 py-3 text-sm font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300">
|
|
501
|
-
Completados
|
|
502
|
-
</button>
|
|
503
|
-
</div>
|
|
504
|
-
<div className="p-4">
|
|
505
|
-
<p className="text-sm text-gray-600 dark:text-gray-300">
|
|
506
|
-
Contenido de la pestaña seleccionada
|
|
507
|
-
</p>
|
|
508
|
-
</div>
|
|
509
|
-
</div>
|
|
510
|
-
</div>
|
|
511
|
-
</div>
|
|
512
|
-
),
|
|
513
|
-
};
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { NotificationProps } from './Notification.types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Componente Notification del sistema de diseño Siesa
|
|
6
|
-
*
|
|
7
|
-
* Badge de notificación para indicar alertas, mensajes o notificaciones pendientes.
|
|
8
|
-
* Puede mostrar un punto simple o un contador numérico con límite automático a 99+.
|
|
9
|
-
*
|
|
10
|
-
* **Especificaciones de Figma:**
|
|
11
|
-
* - Badge con número: 27px × 13px (aprox), Label/XXSmall (10px Bold, line-height 12px)
|
|
12
|
-
* - Badge simple (dot): 13px × 13px
|
|
13
|
-
* - Color: `content-extensions-red` (#b91c1c) por defecto
|
|
14
|
-
* - Border radius: Pill (rounded-full)
|
|
15
|
-
* - Padding: 4px horizontal
|
|
16
|
-
*
|
|
17
|
-
* **Variantes:**
|
|
18
|
-
* - Sin count: Muestra punto circular (dot)
|
|
19
|
-
* - Con count: Muestra badge con número (máximo 99+)
|
|
20
|
-
*
|
|
21
|
-
* **Uso típico:**
|
|
22
|
-
* - Como overlay en iconos o botones
|
|
23
|
-
* - En elementos de menú o navegación
|
|
24
|
-
* - Standalone para indicar estado
|
|
25
|
-
*
|
|
26
|
-
* @see docs/colors.md - Sistema de colores (token content-extensions-red)
|
|
27
|
-
* @see docs/typography.md - Sistema tipográfico (Label/XXSmall)
|
|
28
|
-
* @see src/components/Button/Button.tsx - Referencia de badges en botones
|
|
29
|
-
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4310-22651
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```tsx
|
|
33
|
-
* // Badge simple (punto)
|
|
34
|
-
* <Notification />
|
|
35
|
-
*
|
|
36
|
-
* // Badge con número
|
|
37
|
-
* <Notification count={5} />
|
|
38
|
-
*
|
|
39
|
-
* // Badge con muchos (muestra 99+)
|
|
40
|
-
* <Notification count={150} />
|
|
41
|
-
*
|
|
42
|
-
* // Con color personalizado
|
|
43
|
-
* <Notification count={3} color="green" />
|
|
44
|
-
*
|
|
45
|
-
* // Como overlay en botón
|
|
46
|
-
* <button className="relative">
|
|
47
|
-
* <BellIcon />
|
|
48
|
-
* <Notification count={5} className="absolute -top-1 -right-1" />
|
|
49
|
-
* </button>
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export const Notification: React.FC<NotificationProps> = ({
|
|
53
|
-
count,
|
|
54
|
-
color = 'red',
|
|
55
|
-
className = '',
|
|
56
|
-
ariaLabel,
|
|
57
|
-
}) => {
|
|
58
|
-
// ===== MAPA DE COLORES =====
|
|
59
|
-
// Sistema de colores consistente con Button y Badge
|
|
60
|
-
const colorClasses: Record<string, { bg: string; text: string }> = {
|
|
61
|
-
zinc: { bg: 'bg-zinc-600', text: 'text-white' },
|
|
62
|
-
red: { bg: 'bg-content-extensions-red', text: 'text-white' },
|
|
63
|
-
orange: { bg: 'bg-orange-700', text: 'text-white' },
|
|
64
|
-
amber: { bg: 'bg-amber-700', text: 'text-white' },
|
|
65
|
-
yellow: { bg: 'bg-yellow-700', text: 'text-white' },
|
|
66
|
-
lime: { bg: 'bg-lime-700', text: 'text-white' },
|
|
67
|
-
green: { bg: 'bg-green-700', text: 'text-white' },
|
|
68
|
-
emerald: { bg: 'bg-emerald-700', text: 'text-white' },
|
|
69
|
-
teal: { bg: 'bg-teal-700', text: 'text-white' },
|
|
70
|
-
cyan: { bg: 'bg-cyan-700', text: 'text-white' },
|
|
71
|
-
sky: { bg: 'bg-sky-700', text: 'text-white' },
|
|
72
|
-
blue: { bg: 'bg-blue-700', text: 'text-white' },
|
|
73
|
-
indigo: { bg: 'bg-indigo-700', text: 'text-white' },
|
|
74
|
-
violet: { bg: 'bg-violet-700', text: 'text-white' },
|
|
75
|
-
purple: { bg: 'bg-purple-700', text: 'text-white' },
|
|
76
|
-
fuchsia: { bg: 'bg-fuchsia-700', text: 'text-white' },
|
|
77
|
-
pink: { bg: 'bg-pink-700', text: 'text-white' },
|
|
78
|
-
rose: { bg: 'bg-rose-700', text: 'text-white' },
|
|
79
|
-
primary: { bg: 'bg-primary-custom-600', text: 'text-white' },
|
|
80
|
-
secondary: { bg: 'bg-zinc-600', text: 'text-white' },
|
|
81
|
-
tertiary: { bg: 'bg-zinc-600', text: 'text-white' },
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const colors = colorClasses[color] || colorClasses.red;
|
|
85
|
-
|
|
86
|
-
// ===== ARIA LABEL DINÁMICO =====
|
|
87
|
-
const dynamicAriaLabel = ariaLabel ||
|
|
88
|
-
(count !== undefined && count > 0
|
|
89
|
-
? `${count} notificaci${count === 1 ? 'ón' : 'ones'}`
|
|
90
|
-
: 'Notificación pendiente');
|
|
91
|
-
|
|
92
|
-
// ===== BADGE CON NÚMERO =====
|
|
93
|
-
if (count !== undefined && count > 0) {
|
|
94
|
-
const displayCount = count > 99 ? '99+' : count.toString();
|
|
95
|
-
|
|
96
|
-
return (
|
|
97
|
-
<span
|
|
98
|
-
className={`
|
|
99
|
-
inline-flex
|
|
100
|
-
items-center
|
|
101
|
-
justify-center
|
|
102
|
-
min-w-[16px]
|
|
103
|
-
h-4
|
|
104
|
-
px-1
|
|
105
|
-
rounded-full
|
|
106
|
-
text-[10px]
|
|
107
|
-
font-bold
|
|
108
|
-
leading-none
|
|
109
|
-
${colors.bg}
|
|
110
|
-
${colors.text}
|
|
111
|
-
pointer-events-none
|
|
112
|
-
dark:${colors.bg}
|
|
113
|
-
dark:${colors.text}
|
|
114
|
-
${className}
|
|
115
|
-
`
|
|
116
|
-
.trim()
|
|
117
|
-
.replace(/\s+/g, ' ')}
|
|
118
|
-
role="status"
|
|
119
|
-
aria-label={dynamicAriaLabel}
|
|
120
|
-
>
|
|
121
|
-
{displayCount}
|
|
122
|
-
</span>
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
// ===== BADGE SIMPLE (DOT) =====
|
|
127
|
-
return (
|
|
128
|
-
<span
|
|
129
|
-
className={`
|
|
130
|
-
inline-block
|
|
131
|
-
w-2
|
|
132
|
-
h-2
|
|
133
|
-
rounded-full
|
|
134
|
-
${colors.bg}
|
|
135
|
-
pointer-events-none
|
|
136
|
-
dark:${colors.bg}
|
|
137
|
-
${className}
|
|
138
|
-
`
|
|
139
|
-
.trim()
|
|
140
|
-
.replace(/\s+/g, ' ')}
|
|
141
|
-
role="status"
|
|
142
|
-
aria-label={dynamicAriaLabel}
|
|
143
|
-
/>
|
|
144
|
-
);
|
|
145
|
-
};
|