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,337 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { ButtonProps } from './Button.types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Componente Button del sistema de diseño Siesa
|
|
6
|
-
*
|
|
7
|
-
* Implementación pixel-perfect basada en Figma (node 4001-17240)
|
|
8
|
-
* con soporte completo para todos los estados, tamaños y variantes.
|
|
9
|
-
*
|
|
10
|
-
* **Variantes (type):**
|
|
11
|
-
* - `default`: Botón primario con fondo sólido (#0e79fd) y borde (#3c9bf6)
|
|
12
|
-
* - Sombra interna para efecto de profundidad
|
|
13
|
-
* - Usar para acciones principales (Guardar, Enviar, Confirmar)
|
|
14
|
-
* - `outline`: Botón secundario con borde (#93d1fd) y shadow-sm
|
|
15
|
-
* - Usar para acciones secundarias (Cancelar, Volver)
|
|
16
|
-
* - `plain`: Botón terciario sin borde visible
|
|
17
|
-
* - Hover overlay sutil
|
|
18
|
-
* - Usar para acciones sutiles (Cerrar, Ver más, Links)
|
|
19
|
-
*
|
|
20
|
-
* **Tamaños (size):**
|
|
21
|
-
* - `xs` (24px): Espacios muy compactos, inline actions. Padding: 8px h, 4px v
|
|
22
|
-
* - `sm` (28px): Barras de herramientas, acciones secundarias. Padding: 8px h, 4px v
|
|
23
|
-
* - `base` (32px): Tamaño estándar para la mayoría de casos. Padding: 10px h, 6px v
|
|
24
|
-
* - `l` (36px): Botones destacados, CTAs. Padding: 12px h, 8px v
|
|
25
|
-
* - `xl` (40px): Heroes, landing pages. Padding: 16px h, 8px v
|
|
26
|
-
*
|
|
27
|
-
* **Estados:**
|
|
28
|
-
* - `default`: Estado normal con colores base
|
|
29
|
-
* - `hover`: Overlay visual sutil (bg-primary-custom-500 para default)
|
|
30
|
-
* - `focus`: Focus ring de 4px (#60b6fa) con offset de 2px (#dbeefe)
|
|
31
|
-
* - `active`: Scale animation (scale-95) para feedback táctil
|
|
32
|
-
* - `disabled`: Opacity 50% con pointer-events-none
|
|
33
|
-
*
|
|
34
|
-
* **Badges de notificación:**
|
|
35
|
-
* - `badge`: Muestra un dot de notificación en la esquina superior derecha
|
|
36
|
-
* - `badgeCount`: Muestra un badge con número (99+ para >99)
|
|
37
|
-
* - `badgeColor`: Color del badge (por defecto: red - #b91c1c)
|
|
38
|
-
*
|
|
39
|
-
* **Especificaciones de Figma:**
|
|
40
|
-
* - Border radius: 6px (rounded-md)
|
|
41
|
-
* - Tipografía: Label Small (14px Bold) para sm/base/l/xl, Label Tiny (12px Bold) para xs
|
|
42
|
-
* - Iconos: 16x16px en todos los tamaños
|
|
43
|
-
* - Gap entre elementos: 8px (xs/sm/base), 12px (l/xl)
|
|
44
|
-
*
|
|
45
|
-
* **Dark Mode:**
|
|
46
|
-
* Los botones invierten colores en dark mode:
|
|
47
|
-
* - Default: fondo celeste claro (#bfe2fe), texto azul (#0e79fd), borde celeste (#93d1fd)
|
|
48
|
-
* - Outline: texto celeste (#93d1fd), borde azul (#0f6ae3)
|
|
49
|
-
* - Plain: texto celeste (#93d1fd), hover overlay blanco 20%
|
|
50
|
-
* - Focus ring adaptativo con offset oscuro
|
|
51
|
-
*
|
|
52
|
-
* @see docs/colors.md - Sistema de colores
|
|
53
|
-
* @see docs/shadows.md - Sistema de sombras (shadow-button-inset, shadow-sm)
|
|
54
|
-
* @see docs/typography.md - Sistema tipográfico (Label Small/Tiny)
|
|
55
|
-
* @see docs/spacing.md - Sistema de espaciado
|
|
56
|
-
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4001-17240 - Diseño Figma
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* ```tsx
|
|
60
|
-
* // Botón primario con icono
|
|
61
|
-
* <Button type="default" size="base" leftIcon={<SaveIcon />}>
|
|
62
|
-
* Guardar
|
|
63
|
-
* </Button>
|
|
64
|
-
*
|
|
65
|
-
* // Botón secundario
|
|
66
|
-
* <Button type="outline" size="base">
|
|
67
|
-
* Cancelar
|
|
68
|
-
* </Button>
|
|
69
|
-
*
|
|
70
|
-
* // Botón solo icono para barra de herramientas
|
|
71
|
-
* <Button type="plain" size="sm" iconOnly leftIcon={<CloseIcon />} ariaLabel="Cerrar" />
|
|
72
|
-
*
|
|
73
|
-
* // Botón con badge de notificación (dot)
|
|
74
|
-
* <Button type="default" size="base" badge>
|
|
75
|
-
* Notificaciones
|
|
76
|
-
* </Button>
|
|
77
|
-
*
|
|
78
|
-
* // Botón con badge contador
|
|
79
|
-
* <Button type="default" size="base" badgeCount={5} badgeColor="red">
|
|
80
|
-
* Mensajes
|
|
81
|
-
* </Button>
|
|
82
|
-
* ```
|
|
83
|
-
*/
|
|
84
|
-
export const Button: React.FC<ButtonProps> = ({
|
|
85
|
-
type = 'default',
|
|
86
|
-
size = 'base',
|
|
87
|
-
iconOnly = false,
|
|
88
|
-
leftIcon,
|
|
89
|
-
rightIcon,
|
|
90
|
-
children,
|
|
91
|
-
disabled = false,
|
|
92
|
-
className = '',
|
|
93
|
-
onClick,
|
|
94
|
-
htmlType = 'button',
|
|
95
|
-
fullWidth = false,
|
|
96
|
-
ariaLabel,
|
|
97
|
-
badge = false,
|
|
98
|
-
badgeCount,
|
|
99
|
-
badgeColor = 'red',
|
|
100
|
-
...rest
|
|
101
|
-
}) => {
|
|
102
|
-
// ===== CLASES DE TAMAÑO =====
|
|
103
|
-
const sizeClasses = {
|
|
104
|
-
xs: iconOnly ? 'h-6 w-6 p-1' : 'h-6 py-1 px-2 gap-2',
|
|
105
|
-
sm: iconOnly ? 'h-7 w-7 p-1.5' : 'h-7 py-1 px-2 gap-2',
|
|
106
|
-
base: iconOnly ? 'h-8 w-8 p-2' : 'h-8 py-1.5 px-2.5 gap-2',
|
|
107
|
-
l: iconOnly ? 'h-9 w-9 p-2.5' : 'h-9 py-2 px-3 gap-3',
|
|
108
|
-
xl: iconOnly ? 'h-10 w-10 p-3' : 'h-10 py-2 px-4 gap-3',
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
// ===== CLASES DE TAMAÑO DE ICONO =====
|
|
112
|
-
const iconSizeClasses = {
|
|
113
|
-
xs: 'w-4 h-4',
|
|
114
|
-
sm: 'w-4 h-4',
|
|
115
|
-
base: 'w-4 h-4',
|
|
116
|
-
l: 'w-4 h-4',
|
|
117
|
-
xl: 'w-4 h-4',
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
// ===== CLASES DE TAMAÑO DE TEXTO =====
|
|
121
|
-
// Usando el sistema de tipografía Label del design system (typography.md)
|
|
122
|
-
const textSizeClasses = {
|
|
123
|
-
xs: 'text-xs', // Label Tiny - 12px
|
|
124
|
-
sm: 'text-sm', // Label Small - 14px
|
|
125
|
-
base: 'text-sm', // Label Small - 14px (default para base)
|
|
126
|
-
l: 'text-sm', // Label Small - 14px (corregido según Figma)
|
|
127
|
-
xl: 'text-sm', // Label Small - 14px (corregido según Figma)
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
// ===== CLASES DE TIPO (Default, Outline, Plain) =====
|
|
131
|
-
// Especificaciones de Figma node 4001-17240
|
|
132
|
-
// Orden de modificadores: {responsive}:{dark}:{state}:{utility}
|
|
133
|
-
// Dark mode: Los botones invierten colores (fondo claro, texto oscuro)
|
|
134
|
-
// - Light: fondo #0e79fd (azul), texto #eff8ff (blanco)
|
|
135
|
-
// - Dark: fondo #bfe2fe (celeste claro), texto #0e79fd (azul)
|
|
136
|
-
const typeClasses = {
|
|
137
|
-
default: `
|
|
138
|
-
bg-primary-custom-600
|
|
139
|
-
text-primary-inverse-content
|
|
140
|
-
border
|
|
141
|
-
border-primary-inverse-border
|
|
142
|
-
shadow-button-inset
|
|
143
|
-
hover:bg-primary-custom-500
|
|
144
|
-
active:scale-95
|
|
145
|
-
transition-all
|
|
146
|
-
duration-150
|
|
147
|
-
dark:bg-dark-bg-inverse
|
|
148
|
-
dark:text-dark-content-inverse
|
|
149
|
-
dark:border-dark-border-inverse
|
|
150
|
-
dark:hover:bg-dark-bg-inverse/90
|
|
151
|
-
`,
|
|
152
|
-
outline: `
|
|
153
|
-
bg-transparent
|
|
154
|
-
text-primary-custom-600
|
|
155
|
-
border
|
|
156
|
-
border-primary-custom-300
|
|
157
|
-
shadow-sm
|
|
158
|
-
hover:bg-primary-custom-100
|
|
159
|
-
active:scale-95
|
|
160
|
-
transition-all
|
|
161
|
-
duration-150
|
|
162
|
-
dark:text-dark-content-custom
|
|
163
|
-
dark:border-dark-border-custom
|
|
164
|
-
dark:hover:bg-dark-bg-custom/20
|
|
165
|
-
`,
|
|
166
|
-
plain: `
|
|
167
|
-
bg-transparent
|
|
168
|
-
text-primary-custom-600
|
|
169
|
-
border
|
|
170
|
-
border-transparent
|
|
171
|
-
hover:bg-hover-overlay
|
|
172
|
-
active:scale-95
|
|
173
|
-
transition-all
|
|
174
|
-
duration-150
|
|
175
|
-
dark:text-dark-content-custom
|
|
176
|
-
dark:hover:bg-hover-overlay-dark
|
|
177
|
-
`,
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
// ===== CLASES BASE =====
|
|
181
|
-
// Especificaciones de Figma: Focus ring = 4px spread primary-custom-400 + 2px offset primary-custom-100
|
|
182
|
-
// Dark mode: Focus ring adaptativo con offset oscuro
|
|
183
|
-
const baseClasses = `
|
|
184
|
-
inline-flex
|
|
185
|
-
items-center
|
|
186
|
-
justify-center
|
|
187
|
-
rounded-md
|
|
188
|
-
font-bold
|
|
189
|
-
whitespace-nowrap
|
|
190
|
-
focus:outline-none
|
|
191
|
-
focus:ring-4
|
|
192
|
-
focus:ring-primary-custom-400
|
|
193
|
-
focus:ring-offset-2
|
|
194
|
-
focus:ring-offset-primary-custom-100
|
|
195
|
-
dark:focus:ring-dark-border-custom
|
|
196
|
-
dark:focus:ring-offset-dark-bg-primary
|
|
197
|
-
disabled:opacity-50
|
|
198
|
-
disabled:cursor-not-allowed
|
|
199
|
-
disabled:pointer-events-none
|
|
200
|
-
`;
|
|
201
|
-
|
|
202
|
-
// ===== CLASE FULL WIDTH =====
|
|
203
|
-
const widthClass = fullWidth ? 'w-full' : '';
|
|
204
|
-
|
|
205
|
-
// ===== COMBINAR TODAS LAS CLASES =====
|
|
206
|
-
const buttonClasses = [
|
|
207
|
-
baseClasses,
|
|
208
|
-
sizeClasses[size],
|
|
209
|
-
typeClasses[type],
|
|
210
|
-
widthClass,
|
|
211
|
-
className,
|
|
212
|
-
]
|
|
213
|
-
.join(' ')
|
|
214
|
-
.replace(/\s+/g, ' ')
|
|
215
|
-
.trim();
|
|
216
|
-
|
|
217
|
-
// ===== RENDERIZAR ICONO =====
|
|
218
|
-
const renderIcon = (icon: React.ReactNode) => {
|
|
219
|
-
if (!icon) return null;
|
|
220
|
-
return (
|
|
221
|
-
<span className={`inline-flex items-center justify-center ${iconSizeClasses[size]}`}>
|
|
222
|
-
{icon}
|
|
223
|
-
</span>
|
|
224
|
-
);
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
// ===== RENDERIZAR CONTENIDO =====
|
|
228
|
-
const renderContent = () => {
|
|
229
|
-
// Si es iconOnly, solo mostrar leftIcon
|
|
230
|
-
if (iconOnly) {
|
|
231
|
-
return renderIcon(leftIcon);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
// Si tiene texto y/o iconos
|
|
235
|
-
return (
|
|
236
|
-
<>
|
|
237
|
-
{leftIcon && renderIcon(leftIcon)}
|
|
238
|
-
{children && <span className={textSizeClasses[size]}>{children}</span>}
|
|
239
|
-
{rightIcon && renderIcon(rightIcon)}
|
|
240
|
-
</>
|
|
241
|
-
);
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
// ===== MAPA DE COLORES DE BADGE =====
|
|
245
|
-
// Basado en el componente Badge existente
|
|
246
|
-
const badgeColorClasses: Record<string, { bg: string; text: string }> = {
|
|
247
|
-
zinc: { bg: 'bg-zinc-600', text: 'text-white' },
|
|
248
|
-
red: { bg: 'bg-red-700', text: 'text-white' },
|
|
249
|
-
orange: { bg: 'bg-orange-700', text: 'text-white' },
|
|
250
|
-
amber: { bg: 'bg-amber-700', text: 'text-white' },
|
|
251
|
-
yellow: { bg: 'bg-yellow-700', text: 'text-white' },
|
|
252
|
-
lime: { bg: 'bg-lime-700', text: 'text-white' },
|
|
253
|
-
green: { bg: 'bg-green-700', text: 'text-white' },
|
|
254
|
-
emerald: { bg: 'bg-emerald-700', text: 'text-white' },
|
|
255
|
-
teal: { bg: 'bg-teal-700', text: 'text-white' },
|
|
256
|
-
cyan: { bg: 'bg-cyan-700', text: 'text-white' },
|
|
257
|
-
sky: { bg: 'bg-sky-700', text: 'text-white' },
|
|
258
|
-
blue: { bg: 'bg-blue-700', text: 'text-white' },
|
|
259
|
-
indigo: { bg: 'bg-indigo-700', text: 'text-white' },
|
|
260
|
-
violet: { bg: 'bg-violet-700', text: 'text-white' },
|
|
261
|
-
purple: { bg: 'bg-purple-700', text: 'text-white' },
|
|
262
|
-
fuchsia: { bg: 'bg-fuchsia-700', text: 'text-white' },
|
|
263
|
-
pink: { bg: 'bg-pink-700', text: 'text-white' },
|
|
264
|
-
rose: { bg: 'bg-rose-700', text: 'text-white' },
|
|
265
|
-
primary: { bg: 'bg-primary-custom-600', text: 'text-white' },
|
|
266
|
-
secondary: { bg: 'bg-zinc-600', text: 'text-white' },
|
|
267
|
-
tertiary: { bg: 'bg-zinc-600', text: 'text-white' },
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
const badgeColors = badgeColorClasses[badgeColor] || badgeColorClasses.red;
|
|
271
|
-
|
|
272
|
-
// ===== RENDERIZAR BADGE =====
|
|
273
|
-
const renderBadge = () => {
|
|
274
|
-
// Si no hay badge ni badgeCount, no renderizar nada
|
|
275
|
-
if (!badge && badgeCount === undefined) return null;
|
|
276
|
-
|
|
277
|
-
// Si hay badgeCount, renderizar badge con número
|
|
278
|
-
if (badgeCount !== undefined) {
|
|
279
|
-
return (
|
|
280
|
-
<span
|
|
281
|
-
className={`
|
|
282
|
-
absolute
|
|
283
|
-
-top-1
|
|
284
|
-
-right-1
|
|
285
|
-
flex
|
|
286
|
-
items-center
|
|
287
|
-
justify-center
|
|
288
|
-
min-w-[16px]
|
|
289
|
-
h-4
|
|
290
|
-
px-1
|
|
291
|
-
rounded-full
|
|
292
|
-
text-[10px]
|
|
293
|
-
font-bold
|
|
294
|
-
leading-none
|
|
295
|
-
${badgeColors.bg}
|
|
296
|
-
${badgeColors.text}
|
|
297
|
-
pointer-events-none
|
|
298
|
-
`.trim().replace(/\s+/g, ' ')}
|
|
299
|
-
aria-label={`${badgeCount} notificaciones`}
|
|
300
|
-
>
|
|
301
|
-
{badgeCount > 99 ? '99+' : badgeCount}
|
|
302
|
-
</span>
|
|
303
|
-
);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
// Si solo hay badge (sin número), renderizar dot
|
|
307
|
-
return (
|
|
308
|
-
<span
|
|
309
|
-
className={`
|
|
310
|
-
absolute
|
|
311
|
-
-top-1
|
|
312
|
-
-right-1
|
|
313
|
-
w-2
|
|
314
|
-
h-2
|
|
315
|
-
rounded-full
|
|
316
|
-
${badgeColors.bg}
|
|
317
|
-
pointer-events-none
|
|
318
|
-
`.trim().replace(/\s+/g, ' ')}
|
|
319
|
-
aria-label="Notificación"
|
|
320
|
-
/>
|
|
321
|
-
);
|
|
322
|
-
};
|
|
323
|
-
|
|
324
|
-
return (
|
|
325
|
-
<button
|
|
326
|
-
type={htmlType}
|
|
327
|
-
className={`${buttonClasses} ${(badge || badgeCount !== undefined) ? 'relative' : ''}`}
|
|
328
|
-
disabled={disabled}
|
|
329
|
-
onClick={onClick}
|
|
330
|
-
aria-label={ariaLabel}
|
|
331
|
-
{...rest}
|
|
332
|
-
>
|
|
333
|
-
{renderContent()}
|
|
334
|
-
{renderBadge()}
|
|
335
|
-
</button>
|
|
336
|
-
);
|
|
337
|
-
};
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { BadgeColor } from '../Badge/Badge.types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Tipo de botón según el sistema de diseño Siesa (Figma node 4001-17240)
|
|
6
|
-
*
|
|
7
|
-
* - `default`: Botón primario con fondo sólido (#0e79fd) y borde (#3c9bf6)
|
|
8
|
-
* - Background: primary-custom-600 (#0e79fd)
|
|
9
|
-
* - Border: primary-inverse-border (#3c9bf6)
|
|
10
|
-
* - Text: primary-inverse-content (#eff8ff)
|
|
11
|
-
* - Sombra interna: shadow-button-inset
|
|
12
|
-
*
|
|
13
|
-
* - `outline`: Botón secundario con borde, sin fondo
|
|
14
|
-
* - Background: transparent
|
|
15
|
-
* - Border: primary-custom-300 (#93d1fd)
|
|
16
|
-
* - Text: primary-custom-600 (#0e79fd)
|
|
17
|
-
* - Sombra: shadow-sm
|
|
18
|
-
*
|
|
19
|
-
* - `plain`: Botón terciario sin borde visible (hover overlay)
|
|
20
|
-
* - Background: transparent
|
|
21
|
-
* - Border: transparent
|
|
22
|
-
* - Text: primary-custom-600 (#0e79fd)
|
|
23
|
-
*
|
|
24
|
-
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4001-17240
|
|
25
|
-
*/
|
|
26
|
-
export type ButtonType = 'default' | 'outline' | 'plain';
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Tamaños de botón según especificaciones de Figma (node 4001-17240)
|
|
30
|
-
*
|
|
31
|
-
* | Size | Height | Padding H | Padding V | Gap | Font Size |
|
|
32
|
-
* |------|--------|-----------|-----------|------|------------|
|
|
33
|
-
* | xs | 24px | 8px | 4px | 8px | 12px (xs) |
|
|
34
|
-
* | sm | 28px | 8px | 4px | 8px | 14px (sm) |
|
|
35
|
-
* | base | 32px | 10px | 6px | 8px | 14px (sm) |
|
|
36
|
-
* | l | 36px | 12px | 8px | 12px | 14px (sm) |
|
|
37
|
-
* | xl | 40px | 16px | 8px | 12px | 14px (sm) |
|
|
38
|
-
*
|
|
39
|
-
* Icon-only buttons son cuadrados perfectos con el mismo width y height.
|
|
40
|
-
*
|
|
41
|
-
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4001-17240
|
|
42
|
-
*/
|
|
43
|
-
export type ButtonSize = 'xs' | 'sm' | 'base' | 'l' | 'xl';
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Estados del botón según especificaciones de Figma
|
|
47
|
-
*
|
|
48
|
-
* - `default`: Estado normal con colores base
|
|
49
|
-
* - `hover`: Overlay visual (bg-primary-custom-500 para default, bg-hover-overlay para plain)
|
|
50
|
-
* - `focus`: Focus ring de 4px (#60b6fa) con offset de 2px (#dbeefe)
|
|
51
|
-
* - `disabled`: Opacity 50% con pointer-events-none
|
|
52
|
-
*
|
|
53
|
-
* @note Los estados hover y focus son manejados automáticamente por CSS.
|
|
54
|
-
*/
|
|
55
|
-
export type ButtonState = 'default' | 'hover' | 'focus' | 'disabled';
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Props del componente Button
|
|
59
|
-
*
|
|
60
|
-
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4001-17240
|
|
61
|
-
*/
|
|
62
|
-
export interface ButtonProps {
|
|
63
|
-
/**
|
|
64
|
-
* Tipo de botón (visual) - determina la jerarquía y estilo del botón
|
|
65
|
-
*
|
|
66
|
-
* - `default`: Acción principal (Guardar, Enviar, Confirmar)
|
|
67
|
-
* - `outline`: Acción secundaria (Cancelar, Volver)
|
|
68
|
-
* - `plain`: Acción terciaria (Cerrar, Ver más, Links)
|
|
69
|
-
*
|
|
70
|
-
* @default 'default'
|
|
71
|
-
*/
|
|
72
|
-
type?: ButtonType;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Tamaño del botón - determina altura, padding y tipografía
|
|
76
|
-
*
|
|
77
|
-
* - `xs`: 24px - Espacios muy compactos, inline actions
|
|
78
|
-
* - `sm`: 28px - Barras de herramientas, acciones secundarias
|
|
79
|
-
* - `base`: 32px - Tamaño estándar para la mayoría de casos
|
|
80
|
-
* - `l`: 36px - Botones destacados, CTAs
|
|
81
|
-
* - `xl`: 40px - Heroes, landing pages
|
|
82
|
-
*
|
|
83
|
-
* @default 'base'
|
|
84
|
-
*/
|
|
85
|
-
size?: ButtonSize;
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Si true, el botón solo muestra iconos (sin texto)
|
|
89
|
-
* El botón se vuelve cuadrado perfecto (width = height)
|
|
90
|
-
*
|
|
91
|
-
* @default false
|
|
92
|
-
*/
|
|
93
|
-
iconOnly?: boolean;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Icono a mostrar antes del texto (izquierda)
|
|
97
|
-
* Todos los iconos son 16x16px según especificaciones de Figma
|
|
98
|
-
*/
|
|
99
|
-
leftIcon?: ReactNode;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Icono a mostrar después del texto (derecha)
|
|
103
|
-
* Todos los iconos son 16x16px según especificaciones de Figma
|
|
104
|
-
*/
|
|
105
|
-
rightIcon?: ReactNode;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Contenido del botón (texto o elementos React)
|
|
109
|
-
*/
|
|
110
|
-
children?: ReactNode;
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Si el botón está deshabilitado
|
|
114
|
-
* Aplica opacity: 50% y pointer-events: none
|
|
115
|
-
*
|
|
116
|
-
* @default false
|
|
117
|
-
*/
|
|
118
|
-
disabled?: boolean;
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Clases CSS adicionales para personalización
|
|
122
|
-
*/
|
|
123
|
-
className?: string;
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Función callback ejecutada al hacer click
|
|
127
|
-
*/
|
|
128
|
-
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Tipo de botón HTML (comportamiento de formulario)
|
|
132
|
-
*
|
|
133
|
-
* - `button`: Botón normal (no envía formularios)
|
|
134
|
-
* - `submit`: Envía el formulario al hacer click
|
|
135
|
-
* - `reset`: Resetea el formulario al hacer click
|
|
136
|
-
*
|
|
137
|
-
* @default 'button'
|
|
138
|
-
*/
|
|
139
|
-
htmlType?: 'button' | 'submit' | 'reset';
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Si el botón ocupa todo el ancho disponible de su contenedor
|
|
143
|
-
*
|
|
144
|
-
* @default false
|
|
145
|
-
*/
|
|
146
|
-
fullWidth?: boolean;
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Etiqueta accesible para lectores de pantalla
|
|
150
|
-
* **Requerido** para botones iconOnly para accesibilidad
|
|
151
|
-
*/
|
|
152
|
-
ariaLabel?: string;
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Si true, muestra un badge de notificación (dot) en la esquina superior derecha
|
|
156
|
-
*
|
|
157
|
-
* @default false
|
|
158
|
-
*/
|
|
159
|
-
badge?: boolean;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Número a mostrar en el badge de notificación
|
|
163
|
-
* Si se proporciona, muestra un badge con contador en lugar de un dot
|
|
164
|
-
* Números mayores a 99 se muestran como "99+"
|
|
165
|
-
*/
|
|
166
|
-
badgeCount?: number;
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Color del badge de notificación
|
|
170
|
-
* Usa los colores del sistema de diseño
|
|
171
|
-
*
|
|
172
|
-
* @default 'red' (content-extensions-red: #b91c1c)
|
|
173
|
-
*/
|
|
174
|
-
badgeColor?: BadgeColor;
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Atributos HTML adicionales para el elemento button
|
|
178
|
-
*/
|
|
179
|
-
[key: string]: unknown;
|
|
180
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
PlusIcon as HeroPlus,
|
|
4
|
-
ChevronDownIcon as HeroChevronDown,
|
|
5
|
-
ArrowRightIcon as HeroArrowRight,
|
|
6
|
-
CheckIcon as HeroCheck,
|
|
7
|
-
XMarkIcon as HeroXMark,
|
|
8
|
-
} from '@heroicons/react/24/outline';
|
|
9
|
-
|
|
10
|
-
interface IconProps {
|
|
11
|
-
className?: string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Icono Plus (heroicons/plus)
|
|
16
|
-
*/
|
|
17
|
-
export const PlusIcon: React.FC<IconProps> = ({ className = 'size-5' }) => (
|
|
18
|
-
<HeroPlus className={className} aria-hidden="true" />
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Icono ChevronDown (heroicons/chevron-down)
|
|
23
|
-
*/
|
|
24
|
-
export const ChevronDownIcon: React.FC<IconProps> = ({ className = 'size-5' }) => (
|
|
25
|
-
<HeroChevronDown className={className} aria-hidden="true" />
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Icono ArrowRight (heroicons/arrow-right)
|
|
30
|
-
* @param {string} className Clases de Tailwind
|
|
31
|
-
*/
|
|
32
|
-
export const ArrowRightIcon: React.FC<IconProps> = ({ className = 'size-5' }) => (
|
|
33
|
-
<HeroArrowRight className={className} aria-hidden="true" />
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Icono Check (heroicons/check)
|
|
38
|
-
*/
|
|
39
|
-
export const CheckIcon: React.FC<IconProps> = ({ className = 'size-5' }) => (
|
|
40
|
-
<HeroCheck className={className} aria-hidden="true" />
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Icono X (heroicons/x-mark)
|
|
45
|
-
*/
|
|
46
|
-
export const XIcon: React.FC<IconProps> = ({ className = 'size-5' }) => (
|
|
47
|
-
<HeroXMark className={className} aria-hidden="true" />
|
|
48
|
-
);
|