siesa-ui-kit 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -115
- package/bin/install.cjs +502 -502
- package/bin/prepare-publish.cjs +28 -28
- package/bin/restore-folders.cjs +28 -28
- package/claude/agents/siesa-ui-kit-specialist.md +2401 -2445
- package/claude/prompts/component-template.md +121 -121
- package/claude/settings.local.json +61 -72
- package/docs/border-radius.md +1261 -1261
- package/docs/colors.md +832 -832
- package/docs/dark-mode-guide.md +1426 -1426
- package/docs/filters.md +1243 -1243
- package/docs/icons.md +1283 -1264
- package/docs/shadows.md +1377 -1377
- package/docs/spacing.md +1684 -1684
- package/docs/typography.md +1268 -1268
- package/package.json +83 -111
- package/postcss.config.cjs +6 -6
- package/src/App.css +42 -42
- package/src/App.tsx +8 -8
- package/src/ButtonTest.tsx +147 -147
- package/src/assets/fonts/README.md +261 -261
- package/src/components/Alert/Alert.stories.tsx +332 -332
- package/src/components/Alert/Alert.tsx +106 -106
- package/src/components/Alert/Alert.types.ts +54 -54
- package/src/components/Avatar/Avatar.stories.tsx +494 -494
- package/src/components/Avatar/Avatar.tsx +143 -143
- package/src/components/Avatar/Avatar.types.ts +53 -53
- package/src/components/Badge/Badge.stories.tsx +339 -339
- package/src/components/Badge/Badge.tsx +278 -278
- package/src/components/Badge/Badge.types.ts +58 -58
- package/src/components/Button/Button.stories.tsx +950 -950
- package/src/components/Button/Button.tsx +337 -337
- package/src/components/Button/Button.types.ts +180 -180
- package/src/components/Button/icons.tsx +87 -48
- package/src/components/Button/index.ts +3 -3
- package/src/components/Checkbox/Checkbox.stories.tsx +453 -453
- package/src/components/Checkbox/Checkbox.tsx +208 -208
- package/src/components/Checkbox/Checkbox.types.ts +61 -61
- package/src/components/DescriptionList/DescriptionList.stories.tsx +250 -250
- package/src/components/DescriptionList/DescriptionList.tsx +96 -96
- package/src/components/DescriptionList/DescriptionList.types.ts +29 -29
- package/src/components/Divider/Divider.stories.tsx +263 -263
- package/src/components/Divider/Divider.tsx +80 -80
- package/src/components/Divider/Divider.types.ts +24 -24
- package/src/components/Dropdown/Dropdown.stories.tsx +552 -552
- package/src/components/Dropdown/Dropdown.tsx +422 -422
- package/src/components/Dropdown/Dropdown.types.ts +146 -146
- package/src/components/Dropdown/README.md +266 -266
- package/src/components/Dropdown/icons.tsx +72 -72
- package/src/components/Dropdown/index.ts +8 -8
- package/src/components/Input/Input.stories.tsx +583 -583
- package/src/components/Input/Input.tsx +204 -204
- package/src/components/Input/Input.types.ts +80 -80
- package/src/components/Input/icons.tsx +145 -145
- package/src/components/Input/index.ts +2 -2
- package/src/components/LoginView/LoginView.stories.tsx +148 -148
- package/src/components/LoginView/LoginView.tsx +426 -426
- package/src/components/LoginView/LoginView.types.ts +52 -52
- package/src/components/LoginView/README.md +396 -396
- package/src/components/LoginView/icons.tsx +85 -85
- package/src/components/LoginView/index.ts +3 -3
- package/src/components/Navbar/Navbar.stories.tsx +810 -810
- package/src/components/Navbar/Navbar.tsx +755 -755
- package/src/components/Navbar/Navbar.types.ts +219 -219
- package/src/components/Navbar/README.md +279 -279
- package/src/components/Navbar/icons.tsx +102 -102
- package/src/components/Navbar/index.ts +8 -8
- package/src/components/NavigationBar/NavigationBar.stories.tsx +406 -406
- package/src/components/NavigationBar/NavigationBar.tsx +246 -246
- package/src/components/NavigationBar/NavigationBar.types.ts +74 -74
- package/src/components/NavigationBar/README.md +469 -469
- package/src/components/NavigationBar/index.ts +2 -2
- package/src/components/NavigationRail/NavigationRail.stories.tsx +417 -417
- package/src/components/NavigationRail/NavigationRail.tsx +418 -418
- package/src/components/NavigationRail/NavigationRail.types.ts +109 -109
- package/src/components/NavigationRail/README.md +224 -224
- package/src/components/NavigationRail/index.ts +2 -2
- package/src/components/Notification/Notification.stories.tsx +513 -513
- package/src/components/Notification/Notification.tsx +145 -145
- package/src/components/Notification/Notification.types.ts +142 -142
- package/src/components/Notification/README.md +409 -409
- package/src/components/Notification/index.ts +3 -3
- package/src/components/POSConvention/POSConvention.stories.tsx +235 -235
- package/src/components/POSConvention/POSConvention.tsx +129 -129
- package/src/components/POSConvention/POSConvention.types.ts +38 -38
- package/src/components/POSConvention/README.md +123 -123
- package/src/components/POSConvention/icons.tsx +45 -45
- package/src/components/POSConvention/index.ts +3 -3
- package/src/components/POSLocationButton/POSLocationButton.stories.tsx +531 -531
- package/src/components/POSLocationButton/POSLocationButton.tsx +247 -247
- package/src/components/POSLocationButton/POSLocationButton.types.ts +87 -87
- package/src/components/POSLocationButton/README.md +253 -253
- package/src/components/POSLocationButton/icons.tsx +120 -120
- package/src/components/POSLocationButton/index.ts +14 -14
- package/src/components/POSNumberButton/POSNumberButton.stories.tsx +415 -415
- package/src/components/POSNumberButton/POSNumberButton.tsx +179 -179
- package/src/components/POSNumberButton/POSNumberButton.types.ts +51 -51
- package/src/components/POSNumberButton/README.md +321 -321
- package/src/components/POSNumberButton/index.ts +3 -3
- package/src/components/POSProductButton/POSProductButton.stories.tsx +318 -318
- package/src/components/POSProductButton/POSProductButton.tsx +152 -152
- package/src/components/POSProductButton/POSProductButton.types.ts +46 -46
- package/src/components/POSProductButton/README.md +269 -269
- package/src/components/POSProductButton/index.ts +2 -2
- package/src/components/POSProductCard/POSProductCard.stories.tsx +642 -642
- package/src/components/POSProductCard/POSProductCard.tsx +208 -208
- package/src/components/POSProductCard/POSProductCard.types.ts +76 -76
- package/src/components/POSProductCard/README.md +179 -179
- package/src/components/POSProductCard/icons.tsx +26 -26
- package/src/components/POSProductCard/index.ts +2 -2
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +753 -753
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +332 -332
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +119 -119
- package/src/components/POSProductSidebarItems/README.md +198 -198
- package/src/components/POSProductSidebarItems/icons.tsx +21 -21
- package/src/components/POSProductSidebarItems/index.ts +3 -3
- package/src/components/POSTable/POSTable.stories.tsx +737 -737
- package/src/components/POSTable/POSTable.tsx +401 -401
- package/src/components/POSTable/POSTable.types.ts +83 -83
- package/src/components/POSTable/README.md +286 -286
- package/src/components/POSTable/index.ts +7 -7
- package/src/components/Pagination/Pagination.stories.tsx +555 -555
- package/src/components/Pagination/Pagination.tsx +286 -286
- package/src/components/Pagination/Pagination.types.ts +93 -93
- package/src/components/Pagination/README.md +298 -298
- package/src/components/Pagination/icons.tsx +47 -47
- package/src/components/Pagination/index.ts +3 -3
- package/src/components/Quantity/Quantity.stories.tsx +457 -457
- package/src/components/Quantity/Quantity.tsx +289 -289
- package/src/components/Quantity/Quantity.types.ts +70 -70
- package/src/components/Radio/Radio.stories.tsx +523 -523
- package/src/components/Radio/Radio.tsx +170 -170
- package/src/components/Radio/Radio.types.ts +122 -122
- package/src/components/Select/README.md +299 -299
- package/src/components/Select/Select.stories.tsx +673 -705
- package/src/components/Select/Select.tsx +454 -457
- package/src/components/Select/Select.types.ts +148 -148
- package/src/components/Select/icons.tsx +50 -25
- package/src/components/Select/index.ts +3 -3
- package/src/components/SignUpView/SignUpView.stories.tsx +129 -129
- package/src/components/SignUpView/SignUpView.tsx +503 -503
- package/src/components/SignUpView/SignUpView.types.ts +58 -58
- package/src/components/SignUpView/icons.tsx +71 -71
- package/src/components/SignUpView/index.ts +3 -3
- package/src/components/Switch/README.md +112 -112
- package/src/components/Switch/Switch.stories.tsx +550 -550
- package/src/components/Switch/Switch.tsx +246 -246
- package/src/components/Switch/Switch.types.ts +67 -67
- package/src/components/Table/README.md +369 -369
- package/src/components/Table/Table.stories.tsx +805 -805
- package/src/components/Table/Table.tsx +688 -688
- package/src/components/Table/Table.types.ts +204 -204
- package/src/components/Table/index.ts +9 -9
- package/src/components/Tabs/README.md +201 -201
- package/src/components/Tabs/Tabs.stories.tsx +580 -580
- package/src/components/Tabs/Tabs.tsx +356 -356
- package/src/components/Tabs/Tabs.types.ts +127 -127
- package/src/components/Tabs/icons.tsx +129 -129
- package/src/components/Tabs/index.ts +11 -11
- package/src/components/Textarea/Textarea.stories.tsx +535 -535
- package/src/components/Textarea/Textarea.tsx +188 -188
- package/src/components/Textarea/Textarea.types.ts +54 -54
- package/src/context/ThemeContext.tsx +99 -99
- package/src/context/index.ts +1 -1
- package/src/index.css +29 -29
- package/src/index.ts +39 -133
- package/src/main.tsx +10 -10
- package/src/views/ProductsView/ProductsView.stories.tsx +344 -344
- package/src/views/ProductsView/ProductsView.tsx +480 -480
- package/src/views/ProductsView/ProductsView.types.ts +238 -238
- package/src/views/ProductsView/README.md +312 -312
- package/src/views/ProductsView/icons.tsx +38 -38
- package/src/views/ProductsView/index.ts +8 -8
- package/src/views/RecoverPasswordView/README.md +269 -269
- package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +131 -131
- package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +376 -376
- package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +56 -56
- package/src/views/RecoverPasswordView/icons.tsx +17 -17
- package/src/views/RecoverPasswordView/index.ts +2 -2
- package/src/views/TableLayoutView/README.md +268 -268
- package/src/views/TableLayoutView/TableLayoutView.stories.tsx +235 -235
- package/src/views/TableLayoutView/TableLayoutView.tsx +461 -461
- package/src/views/TableLayoutView/TableLayoutView.types.ts +209 -209
- package/src/views/TableLayoutView/icons.tsx +113 -113
- package/src/views/TableLayoutView/index.ts +6 -6
- package/storybook/main.ts +19 -19
- package/storybook/preview.tsx +84 -84
- package/storybook/vitest.setup.ts +6 -6
- package/tailwind.config.js +128 -128
- package/claude/prompts/siesa-ui-kit.md +0 -28
- 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/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/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/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/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
|
@@ -1,321 +1,321 @@
|
|
|
1
|
-
# POSNumberButton
|
|
2
|
-
|
|
3
|
-
Botón numérico especializado para sistemas POS (Point of Sale) con tipografía grande y estados touch-friendly.
|
|
4
|
-
|
|
5
|
-
## 📋 Características
|
|
6
|
-
|
|
7
|
-
- ✅ Diseñado específicamente para pantallas táctiles y sistemas POS
|
|
8
|
-
- ✅ Tipografía Display Tiny (48px Bold) para excelente legibilidad
|
|
9
|
-
- ✅ Tres tamaños: Small (40x40), Medium (65x65), Large (80x80)
|
|
10
|
-
- ✅ Opción de borde visible o sin borde
|
|
11
|
-
- ✅ Feedback táctil inmediato con `active:scale-95`
|
|
12
|
-
- ✅ Dark mode completo con todos los estados
|
|
13
|
-
- ✅ Focus rings adaptativos para accesibilidad
|
|
14
|
-
- ✅ TypeScript estricto con props validadas
|
|
15
|
-
- ✅ Tokens del sistema de diseño Siesa
|
|
16
|
-
|
|
17
|
-
## 🎨 Especificaciones de Figma
|
|
18
|
-
|
|
19
|
-
Basado en el diseño de Figma:
|
|
20
|
-
- **Node ID**: 4348-23818
|
|
21
|
-
- **Estados**: Default, Touched (Hover/Active)
|
|
22
|
-
- **Tamaños**: L (80x80px), M (65x65px), S (40x40px)
|
|
23
|
-
- **Variantes**: Con borde y sin borde
|
|
24
|
-
- **Tipografía**: Display Tiny (48px Bold / text-5xl)
|
|
25
|
-
- **Border Radius**: 8px (rounded-lg)
|
|
26
|
-
|
|
27
|
-
## 📦 Instalación
|
|
28
|
-
|
|
29
|
-
```tsx
|
|
30
|
-
import { POSNumberButton } from '@/components/POSNumberButton';
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 🚀 Uso Básico
|
|
34
|
-
|
|
35
|
-
### Botón Numérico Simple
|
|
36
|
-
|
|
37
|
-
```tsx
|
|
38
|
-
<POSNumberButton size="l">
|
|
39
|
-
1
|
|
40
|
-
</POSNumberButton>
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Botón con Borde
|
|
44
|
-
|
|
45
|
-
```tsx
|
|
46
|
-
<POSNumberButton size="l" border>
|
|
47
|
-
2
|
|
48
|
-
</POSNumberButton>
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Teclado Numérico Completo
|
|
52
|
-
|
|
53
|
-
```tsx
|
|
54
|
-
<div className="grid grid-cols-3 gap-2 max-w-[260px]">
|
|
55
|
-
{[1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => (
|
|
56
|
-
<POSNumberButton
|
|
57
|
-
key={num}
|
|
58
|
-
size="l"
|
|
59
|
-
border
|
|
60
|
-
onClick={() => handleInput(num)}
|
|
61
|
-
>
|
|
62
|
-
{num}
|
|
63
|
-
</POSNumberButton>
|
|
64
|
-
))}
|
|
65
|
-
<POSNumberButton size="l" border>.</POSNumberButton>
|
|
66
|
-
<POSNumberButton size="l" border>0</POSNumberButton>
|
|
67
|
-
<POSNumberButton size="l" border>←</POSNumberButton>
|
|
68
|
-
</div>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## 🎛️ Props
|
|
72
|
-
|
|
73
|
-
| Prop | Tipo | Default | Descripción |
|
|
74
|
-
|------|------|---------|-------------|
|
|
75
|
-
| `size` | `'s' \| 'm' \| 'l'` | `'l'` | Tamaño del botón |
|
|
76
|
-
| `border` | `boolean` | `false` | Si el botón tiene borde visible |
|
|
77
|
-
| `children` | `ReactNode` | - | Contenido del botón (número o texto) |
|
|
78
|
-
| `disabled` | `boolean` | `false` | Si el botón está deshabilitado |
|
|
79
|
-
| `className` | `string` | `''` | Clases CSS adicionales |
|
|
80
|
-
| `onClick` | `(event) => void` | - | Handler para evento click |
|
|
81
|
-
| `ariaLabel` | `string` | - | Label para accesibilidad (ARIA) |
|
|
82
|
-
| `htmlType` | `'button' \| 'submit' \| 'reset'` | `'button'` | Tipo del botón HTML |
|
|
83
|
-
|
|
84
|
-
## 📐 Tamaños
|
|
85
|
-
|
|
86
|
-
### Small (40x40px)
|
|
87
|
-
```tsx
|
|
88
|
-
<POSNumberButton size="s">1</POSNumberButton>
|
|
89
|
-
```
|
|
90
|
-
- **Uso**: Calculadoras compactas, espacios reducidos
|
|
91
|
-
- **Tipografía**: text-2xl (24px)
|
|
92
|
-
|
|
93
|
-
### Medium (65x65px)
|
|
94
|
-
```tsx
|
|
95
|
-
<POSNumberButton size="m">2</POSNumberButton>
|
|
96
|
-
```
|
|
97
|
-
- **Uso**: Tablets, interfaces intermedias
|
|
98
|
-
- **Tipografía**: text-5xl (48px)
|
|
99
|
-
|
|
100
|
-
### Large (80x80px) - Default
|
|
101
|
-
```tsx
|
|
102
|
-
<POSNumberButton size="l">3</POSNumberButton>
|
|
103
|
-
```
|
|
104
|
-
- **Uso**: POS touch screens, pantallas grandes
|
|
105
|
-
- **Tipografía**: text-5xl (48px)
|
|
106
|
-
|
|
107
|
-
## 🎨 Variantes
|
|
108
|
-
|
|
109
|
-
### Sin Borde (Default)
|
|
110
|
-
```tsx
|
|
111
|
-
<POSNumberButton size="l">1</POSNumberButton>
|
|
112
|
-
```
|
|
113
|
-
- Fondo blanco en estado default
|
|
114
|
-
- Cambia a primary-custom-600 en hover/active
|
|
115
|
-
- Texto cambia a primary-inverse-content
|
|
116
|
-
|
|
117
|
-
### Con Borde
|
|
118
|
-
```tsx
|
|
119
|
-
<POSNumberButton size="l" border>2</POSNumberButton>
|
|
120
|
-
```
|
|
121
|
-
- Borde border-primary visible
|
|
122
|
-
- Cambia a primary-inverse-border en hover/active
|
|
123
|
-
- Mejor separación visual entre botones
|
|
124
|
-
|
|
125
|
-
## 🌓 Dark Mode
|
|
126
|
-
|
|
127
|
-
Todos los estados se adaptan automáticamente:
|
|
128
|
-
|
|
129
|
-
```tsx
|
|
130
|
-
// Light Mode:
|
|
131
|
-
// - Fondo: white (#ffffff)
|
|
132
|
-
// - Texto: content-primary (#18181b)
|
|
133
|
-
// - Hover: bg primary-custom-600, texto primary-inverse-content
|
|
134
|
-
|
|
135
|
-
// Dark Mode:
|
|
136
|
-
// - Fondo: dark-bg-primary (#18181b)
|
|
137
|
-
// - Texto: dark-content-primary (#ffffff)
|
|
138
|
-
// - Hover: bg dark-bg-inverse, texto dark-content-inverse
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
## 🎯 Estados
|
|
142
|
-
|
|
143
|
-
### Default
|
|
144
|
-
```tsx
|
|
145
|
-
<POSNumberButton>1</POSNumberButton>
|
|
146
|
-
```
|
|
147
|
-
- Fondo blanco, texto oscuro
|
|
148
|
-
- Cursor pointer
|
|
149
|
-
|
|
150
|
-
### Hover
|
|
151
|
-
```tsx
|
|
152
|
-
<POSNumberButton>2</POSNumberButton>
|
|
153
|
-
```
|
|
154
|
-
- Fondo cambia a primary-custom-600
|
|
155
|
-
- Texto cambia a primary-inverse-content
|
|
156
|
-
- Transición suave de 150ms
|
|
157
|
-
|
|
158
|
-
### Active (Presionado)
|
|
159
|
-
```tsx
|
|
160
|
-
<POSNumberButton>3</POSNumberButton>
|
|
161
|
-
```
|
|
162
|
-
- Mismo estilo que hover
|
|
163
|
-
- Efecto scale-95 para feedback táctil
|
|
164
|
-
- Ideal para pantallas touch
|
|
165
|
-
|
|
166
|
-
### Focus
|
|
167
|
-
```tsx
|
|
168
|
-
<POSNumberButton>4</POSNumberButton>
|
|
169
|
-
```
|
|
170
|
-
- Focus ring primary-custom-400 (light)
|
|
171
|
-
- Focus ring dark-border-custom (dark)
|
|
172
|
-
- Navegable con teclado (Tab)
|
|
173
|
-
|
|
174
|
-
### Disabled
|
|
175
|
-
```tsx
|
|
176
|
-
<POSNumberButton disabled>5</POSNumberButton>
|
|
177
|
-
```
|
|
178
|
-
- Opacity 50%
|
|
179
|
-
- Cursor not-allowed
|
|
180
|
-
- Pointer events deshabilitados
|
|
181
|
-
|
|
182
|
-
## 💡 Casos de Uso
|
|
183
|
-
|
|
184
|
-
### Sistema POS Completo
|
|
185
|
-
```tsx
|
|
186
|
-
function POSKeypad({ onInput }) {
|
|
187
|
-
return (
|
|
188
|
-
<div className="grid grid-cols-3 gap-2 max-w-[260px]">
|
|
189
|
-
{[1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => (
|
|
190
|
-
<POSNumberButton
|
|
191
|
-
key={num}
|
|
192
|
-
size="l"
|
|
193
|
-
border
|
|
194
|
-
onClick={() => onInput(num)}
|
|
195
|
-
>
|
|
196
|
-
{num}
|
|
197
|
-
</POSNumberButton>
|
|
198
|
-
))}
|
|
199
|
-
<POSNumberButton size="l" border onClick={() => onInput('.')}>
|
|
200
|
-
.
|
|
201
|
-
</POSNumberButton>
|
|
202
|
-
<POSNumberButton size="l" border onClick={() => onInput(0)}>
|
|
203
|
-
0
|
|
204
|
-
</POSNumberButton>
|
|
205
|
-
<POSNumberButton size="l" border onClick={() => onInput('backspace')}>
|
|
206
|
-
←
|
|
207
|
-
</POSNumberButton>
|
|
208
|
-
</div>
|
|
209
|
-
);
|
|
210
|
-
}
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
### Calculadora
|
|
214
|
-
```tsx
|
|
215
|
-
function Calculator() {
|
|
216
|
-
return (
|
|
217
|
-
<div className="flex gap-4">
|
|
218
|
-
{/* Números */}
|
|
219
|
-
<div className="grid grid-cols-3 gap-2">
|
|
220
|
-
{[7, 8, 9, 4, 5, 6, 1, 2, 3, 0].map((num) => (
|
|
221
|
-
<POSNumberButton key={num} size="m" border>
|
|
222
|
-
{num}
|
|
223
|
-
</POSNumberButton>
|
|
224
|
-
))}
|
|
225
|
-
</div>
|
|
226
|
-
|
|
227
|
-
{/* Operadores */}
|
|
228
|
-
<div className="grid grid-cols-1 gap-2">
|
|
229
|
-
{['+', '-', '×', '÷', '='].map((op) => (
|
|
230
|
-
<POSNumberButton key={op} size="m" border>
|
|
231
|
-
{op}
|
|
232
|
-
</POSNumberButton>
|
|
233
|
-
))}
|
|
234
|
-
</div>
|
|
235
|
-
</div>
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Teclado Compacto (Tablet)
|
|
241
|
-
```tsx
|
|
242
|
-
function CompactKeypad() {
|
|
243
|
-
return (
|
|
244
|
-
<div className="grid grid-cols-3 gap-2 max-w-[211px]">
|
|
245
|
-
{[1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 0, '←'].map((key, idx) => (
|
|
246
|
-
<POSNumberButton key={idx} size="m">
|
|
247
|
-
{key}
|
|
248
|
-
</POSNumberButton>
|
|
249
|
-
))}
|
|
250
|
-
</div>
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
## 🎨 Tokens Utilizados
|
|
256
|
-
|
|
257
|
-
### Colores (Light Mode)
|
|
258
|
-
- `bg-white` - Fondo default
|
|
259
|
-
- `text-content-primary` (#18181b) - Texto default
|
|
260
|
-
- `bg-primary-custom-600` (#0e79fd) - Fondo hover/active
|
|
261
|
-
- `text-primary-inverse-content` (#eff8ff) - Texto hover/active
|
|
262
|
-
- `border-border-primary` (#e4e4e7) - Borde default
|
|
263
|
-
- `border-primary-inverse-border` (#3c9bf6) - Borde hover/active
|
|
264
|
-
|
|
265
|
-
### Colores (Dark Mode)
|
|
266
|
-
- `dark:bg-dark-bg-primary` (#18181b) - Fondo default
|
|
267
|
-
- `dark:text-dark-content-primary` (#ffffff) - Texto default
|
|
268
|
-
- `dark:bg-dark-bg-inverse` (#bfe2fe) - Fondo hover/active
|
|
269
|
-
- `dark:text-dark-content-inverse` (#0e79fd) - Texto hover/active
|
|
270
|
-
- `dark:border-dark-border-primary` (#71717a) - Borde default
|
|
271
|
-
|
|
272
|
-
### Tipografía
|
|
273
|
-
- `text-5xl` (48px) - Display Tiny para tamaños M y L
|
|
274
|
-
- `text-2xl` (24px) - Heading Small para tamaño S
|
|
275
|
-
- `font-bold` (700) - Peso Bold
|
|
276
|
-
- `tracking-tighter` (-2.5%) - Letter spacing para Display
|
|
277
|
-
|
|
278
|
-
### Espaciado
|
|
279
|
-
- `rounded-lg` (8px) - Border radius según Figma
|
|
280
|
-
- `gap-2` (8px) - Espaciado entre botones en grids
|
|
281
|
-
|
|
282
|
-
## ✅ Mejores Prácticas
|
|
283
|
-
|
|
284
|
-
### ✓ Hacer
|
|
285
|
-
- Usa `size="l"` para pantallas táctiles POS
|
|
286
|
-
- Usa `border={true}` para mejor separación visual en grids
|
|
287
|
-
- Implementa feedback visual inmediato (scale-95 está incluido)
|
|
288
|
-
- Usa aria-label para accesibilidad cuando el contenido no es obvio
|
|
289
|
-
- Combina con grids de 3 columnas para teclados numéricos
|
|
290
|
-
|
|
291
|
-
### ✗ Evitar
|
|
292
|
-
- No uses tamaños muy pequeños para pantallas touch (mínimo size="m")
|
|
293
|
-
- No omitas el handler onClick en contextos interactivos
|
|
294
|
-
- No uses para botones que no sean numéricos u operadores
|
|
295
|
-
- No sobrescribas las transiciones (son optimizadas para touch)
|
|
296
|
-
|
|
297
|
-
## 🔗 Referencias
|
|
298
|
-
|
|
299
|
-
- **Diseño Figma**: [POS Number Button](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4348-23818)
|
|
300
|
-
- **Sistema de Colores**: `docs/colors.md`
|
|
301
|
-
- **Sistema Tipográfico**: `docs/typography.md` (Display Tiny)
|
|
302
|
-
- **Componente Base**: `src/components/Button/Button.tsx`
|
|
303
|
-
|
|
304
|
-
## 📝 Notas de Implementación
|
|
305
|
-
|
|
306
|
-
1. **Tipografía Display Tiny**: Según `typography.md`, Display Tiny es 48px (text-5xl) con font-bold y tracking-tighter
|
|
307
|
-
2. **Tamaños Exactos**: Los tamaños están basados en las especificaciones exactas de Figma (80x80, 65x65, 40x40)
|
|
308
|
-
3. **Estados Touch**: El efecto `active:scale-95` proporciona feedback táctil inmediato
|
|
309
|
-
4. **Dark Mode**: Todos los colores usan tokens del sistema que se adaptan automáticamente
|
|
310
|
-
5. **Accesibilidad**: Focus rings optimizados y aria-labels por defecto
|
|
311
|
-
|
|
312
|
-
## 📅 Historial
|
|
313
|
-
|
|
314
|
-
| Versión | Fecha | Cambios |
|
|
315
|
-
|---------|-------|---------|
|
|
316
|
-
| 1.0.0 | 2025-11-24 | Implementación inicial del componente |
|
|
317
|
-
|
|
318
|
-
---
|
|
319
|
-
|
|
320
|
-
**Autor**: Siesa UI Kit Team
|
|
321
|
-
**Última actualización**: 2025-11-24
|
|
1
|
+
# POSNumberButton
|
|
2
|
+
|
|
3
|
+
Botón numérico especializado para sistemas POS (Point of Sale) con tipografía grande y estados touch-friendly.
|
|
4
|
+
|
|
5
|
+
## 📋 Características
|
|
6
|
+
|
|
7
|
+
- ✅ Diseñado específicamente para pantallas táctiles y sistemas POS
|
|
8
|
+
- ✅ Tipografía Display Tiny (48px Bold) para excelente legibilidad
|
|
9
|
+
- ✅ Tres tamaños: Small (40x40), Medium (65x65), Large (80x80)
|
|
10
|
+
- ✅ Opción de borde visible o sin borde
|
|
11
|
+
- ✅ Feedback táctil inmediato con `active:scale-95`
|
|
12
|
+
- ✅ Dark mode completo con todos los estados
|
|
13
|
+
- ✅ Focus rings adaptativos para accesibilidad
|
|
14
|
+
- ✅ TypeScript estricto con props validadas
|
|
15
|
+
- ✅ Tokens del sistema de diseño Siesa
|
|
16
|
+
|
|
17
|
+
## 🎨 Especificaciones de Figma
|
|
18
|
+
|
|
19
|
+
Basado en el diseño de Figma:
|
|
20
|
+
- **Node ID**: 4348-23818
|
|
21
|
+
- **Estados**: Default, Touched (Hover/Active)
|
|
22
|
+
- **Tamaños**: L (80x80px), M (65x65px), S (40x40px)
|
|
23
|
+
- **Variantes**: Con borde y sin borde
|
|
24
|
+
- **Tipografía**: Display Tiny (48px Bold / text-5xl)
|
|
25
|
+
- **Border Radius**: 8px (rounded-lg)
|
|
26
|
+
|
|
27
|
+
## 📦 Instalación
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { POSNumberButton } from '@/components/POSNumberButton';
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 🚀 Uso Básico
|
|
34
|
+
|
|
35
|
+
### Botón Numérico Simple
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
<POSNumberButton size="l">
|
|
39
|
+
1
|
|
40
|
+
</POSNumberButton>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Botón con Borde
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
<POSNumberButton size="l" border>
|
|
47
|
+
2
|
|
48
|
+
</POSNumberButton>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Teclado Numérico Completo
|
|
52
|
+
|
|
53
|
+
```tsx
|
|
54
|
+
<div className="grid grid-cols-3 gap-2 max-w-[260px]">
|
|
55
|
+
{[1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => (
|
|
56
|
+
<POSNumberButton
|
|
57
|
+
key={num}
|
|
58
|
+
size="l"
|
|
59
|
+
border
|
|
60
|
+
onClick={() => handleInput(num)}
|
|
61
|
+
>
|
|
62
|
+
{num}
|
|
63
|
+
</POSNumberButton>
|
|
64
|
+
))}
|
|
65
|
+
<POSNumberButton size="l" border>.</POSNumberButton>
|
|
66
|
+
<POSNumberButton size="l" border>0</POSNumberButton>
|
|
67
|
+
<POSNumberButton size="l" border>←</POSNumberButton>
|
|
68
|
+
</div>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 🎛️ Props
|
|
72
|
+
|
|
73
|
+
| Prop | Tipo | Default | Descripción |
|
|
74
|
+
|------|------|---------|-------------|
|
|
75
|
+
| `size` | `'s' \| 'm' \| 'l'` | `'l'` | Tamaño del botón |
|
|
76
|
+
| `border` | `boolean` | `false` | Si el botón tiene borde visible |
|
|
77
|
+
| `children` | `ReactNode` | - | Contenido del botón (número o texto) |
|
|
78
|
+
| `disabled` | `boolean` | `false` | Si el botón está deshabilitado |
|
|
79
|
+
| `className` | `string` | `''` | Clases CSS adicionales |
|
|
80
|
+
| `onClick` | `(event) => void` | - | Handler para evento click |
|
|
81
|
+
| `ariaLabel` | `string` | - | Label para accesibilidad (ARIA) |
|
|
82
|
+
| `htmlType` | `'button' \| 'submit' \| 'reset'` | `'button'` | Tipo del botón HTML |
|
|
83
|
+
|
|
84
|
+
## 📐 Tamaños
|
|
85
|
+
|
|
86
|
+
### Small (40x40px)
|
|
87
|
+
```tsx
|
|
88
|
+
<POSNumberButton size="s">1</POSNumberButton>
|
|
89
|
+
```
|
|
90
|
+
- **Uso**: Calculadoras compactas, espacios reducidos
|
|
91
|
+
- **Tipografía**: text-2xl (24px)
|
|
92
|
+
|
|
93
|
+
### Medium (65x65px)
|
|
94
|
+
```tsx
|
|
95
|
+
<POSNumberButton size="m">2</POSNumberButton>
|
|
96
|
+
```
|
|
97
|
+
- **Uso**: Tablets, interfaces intermedias
|
|
98
|
+
- **Tipografía**: text-5xl (48px)
|
|
99
|
+
|
|
100
|
+
### Large (80x80px) - Default
|
|
101
|
+
```tsx
|
|
102
|
+
<POSNumberButton size="l">3</POSNumberButton>
|
|
103
|
+
```
|
|
104
|
+
- **Uso**: POS touch screens, pantallas grandes
|
|
105
|
+
- **Tipografía**: text-5xl (48px)
|
|
106
|
+
|
|
107
|
+
## 🎨 Variantes
|
|
108
|
+
|
|
109
|
+
### Sin Borde (Default)
|
|
110
|
+
```tsx
|
|
111
|
+
<POSNumberButton size="l">1</POSNumberButton>
|
|
112
|
+
```
|
|
113
|
+
- Fondo blanco en estado default
|
|
114
|
+
- Cambia a primary-custom-600 en hover/active
|
|
115
|
+
- Texto cambia a primary-inverse-content
|
|
116
|
+
|
|
117
|
+
### Con Borde
|
|
118
|
+
```tsx
|
|
119
|
+
<POSNumberButton size="l" border>2</POSNumberButton>
|
|
120
|
+
```
|
|
121
|
+
- Borde border-primary visible
|
|
122
|
+
- Cambia a primary-inverse-border en hover/active
|
|
123
|
+
- Mejor separación visual entre botones
|
|
124
|
+
|
|
125
|
+
## 🌓 Dark Mode
|
|
126
|
+
|
|
127
|
+
Todos los estados se adaptan automáticamente:
|
|
128
|
+
|
|
129
|
+
```tsx
|
|
130
|
+
// Light Mode:
|
|
131
|
+
// - Fondo: white (#ffffff)
|
|
132
|
+
// - Texto: content-primary (#18181b)
|
|
133
|
+
// - Hover: bg primary-custom-600, texto primary-inverse-content
|
|
134
|
+
|
|
135
|
+
// Dark Mode:
|
|
136
|
+
// - Fondo: dark-bg-primary (#18181b)
|
|
137
|
+
// - Texto: dark-content-primary (#ffffff)
|
|
138
|
+
// - Hover: bg dark-bg-inverse, texto dark-content-inverse
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## 🎯 Estados
|
|
142
|
+
|
|
143
|
+
### Default
|
|
144
|
+
```tsx
|
|
145
|
+
<POSNumberButton>1</POSNumberButton>
|
|
146
|
+
```
|
|
147
|
+
- Fondo blanco, texto oscuro
|
|
148
|
+
- Cursor pointer
|
|
149
|
+
|
|
150
|
+
### Hover
|
|
151
|
+
```tsx
|
|
152
|
+
<POSNumberButton>2</POSNumberButton>
|
|
153
|
+
```
|
|
154
|
+
- Fondo cambia a primary-custom-600
|
|
155
|
+
- Texto cambia a primary-inverse-content
|
|
156
|
+
- Transición suave de 150ms
|
|
157
|
+
|
|
158
|
+
### Active (Presionado)
|
|
159
|
+
```tsx
|
|
160
|
+
<POSNumberButton>3</POSNumberButton>
|
|
161
|
+
```
|
|
162
|
+
- Mismo estilo que hover
|
|
163
|
+
- Efecto scale-95 para feedback táctil
|
|
164
|
+
- Ideal para pantallas touch
|
|
165
|
+
|
|
166
|
+
### Focus
|
|
167
|
+
```tsx
|
|
168
|
+
<POSNumberButton>4</POSNumberButton>
|
|
169
|
+
```
|
|
170
|
+
- Focus ring primary-custom-400 (light)
|
|
171
|
+
- Focus ring dark-border-custom (dark)
|
|
172
|
+
- Navegable con teclado (Tab)
|
|
173
|
+
|
|
174
|
+
### Disabled
|
|
175
|
+
```tsx
|
|
176
|
+
<POSNumberButton disabled>5</POSNumberButton>
|
|
177
|
+
```
|
|
178
|
+
- Opacity 50%
|
|
179
|
+
- Cursor not-allowed
|
|
180
|
+
- Pointer events deshabilitados
|
|
181
|
+
|
|
182
|
+
## 💡 Casos de Uso
|
|
183
|
+
|
|
184
|
+
### Sistema POS Completo
|
|
185
|
+
```tsx
|
|
186
|
+
function POSKeypad({ onInput }) {
|
|
187
|
+
return (
|
|
188
|
+
<div className="grid grid-cols-3 gap-2 max-w-[260px]">
|
|
189
|
+
{[1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => (
|
|
190
|
+
<POSNumberButton
|
|
191
|
+
key={num}
|
|
192
|
+
size="l"
|
|
193
|
+
border
|
|
194
|
+
onClick={() => onInput(num)}
|
|
195
|
+
>
|
|
196
|
+
{num}
|
|
197
|
+
</POSNumberButton>
|
|
198
|
+
))}
|
|
199
|
+
<POSNumberButton size="l" border onClick={() => onInput('.')}>
|
|
200
|
+
.
|
|
201
|
+
</POSNumberButton>
|
|
202
|
+
<POSNumberButton size="l" border onClick={() => onInput(0)}>
|
|
203
|
+
0
|
|
204
|
+
</POSNumberButton>
|
|
205
|
+
<POSNumberButton size="l" border onClick={() => onInput('backspace')}>
|
|
206
|
+
←
|
|
207
|
+
</POSNumberButton>
|
|
208
|
+
</div>
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Calculadora
|
|
214
|
+
```tsx
|
|
215
|
+
function Calculator() {
|
|
216
|
+
return (
|
|
217
|
+
<div className="flex gap-4">
|
|
218
|
+
{/* Números */}
|
|
219
|
+
<div className="grid grid-cols-3 gap-2">
|
|
220
|
+
{[7, 8, 9, 4, 5, 6, 1, 2, 3, 0].map((num) => (
|
|
221
|
+
<POSNumberButton key={num} size="m" border>
|
|
222
|
+
{num}
|
|
223
|
+
</POSNumberButton>
|
|
224
|
+
))}
|
|
225
|
+
</div>
|
|
226
|
+
|
|
227
|
+
{/* Operadores */}
|
|
228
|
+
<div className="grid grid-cols-1 gap-2">
|
|
229
|
+
{['+', '-', '×', '÷', '='].map((op) => (
|
|
230
|
+
<POSNumberButton key={op} size="m" border>
|
|
231
|
+
{op}
|
|
232
|
+
</POSNumberButton>
|
|
233
|
+
))}
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Teclado Compacto (Tablet)
|
|
241
|
+
```tsx
|
|
242
|
+
function CompactKeypad() {
|
|
243
|
+
return (
|
|
244
|
+
<div className="grid grid-cols-3 gap-2 max-w-[211px]">
|
|
245
|
+
{[1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 0, '←'].map((key, idx) => (
|
|
246
|
+
<POSNumberButton key={idx} size="m">
|
|
247
|
+
{key}
|
|
248
|
+
</POSNumberButton>
|
|
249
|
+
))}
|
|
250
|
+
</div>
|
|
251
|
+
);
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## 🎨 Tokens Utilizados
|
|
256
|
+
|
|
257
|
+
### Colores (Light Mode)
|
|
258
|
+
- `bg-white` - Fondo default
|
|
259
|
+
- `text-content-primary` (#18181b) - Texto default
|
|
260
|
+
- `bg-primary-custom-600` (#0e79fd) - Fondo hover/active
|
|
261
|
+
- `text-primary-inverse-content` (#eff8ff) - Texto hover/active
|
|
262
|
+
- `border-border-primary` (#e4e4e7) - Borde default
|
|
263
|
+
- `border-primary-inverse-border` (#3c9bf6) - Borde hover/active
|
|
264
|
+
|
|
265
|
+
### Colores (Dark Mode)
|
|
266
|
+
- `dark:bg-dark-bg-primary` (#18181b) - Fondo default
|
|
267
|
+
- `dark:text-dark-content-primary` (#ffffff) - Texto default
|
|
268
|
+
- `dark:bg-dark-bg-inverse` (#bfe2fe) - Fondo hover/active
|
|
269
|
+
- `dark:text-dark-content-inverse` (#0e79fd) - Texto hover/active
|
|
270
|
+
- `dark:border-dark-border-primary` (#71717a) - Borde default
|
|
271
|
+
|
|
272
|
+
### Tipografía
|
|
273
|
+
- `text-5xl` (48px) - Display Tiny para tamaños M y L
|
|
274
|
+
- `text-2xl` (24px) - Heading Small para tamaño S
|
|
275
|
+
- `font-bold` (700) - Peso Bold
|
|
276
|
+
- `tracking-tighter` (-2.5%) - Letter spacing para Display
|
|
277
|
+
|
|
278
|
+
### Espaciado
|
|
279
|
+
- `rounded-lg` (8px) - Border radius según Figma
|
|
280
|
+
- `gap-2` (8px) - Espaciado entre botones en grids
|
|
281
|
+
|
|
282
|
+
## ✅ Mejores Prácticas
|
|
283
|
+
|
|
284
|
+
### ✓ Hacer
|
|
285
|
+
- Usa `size="l"` para pantallas táctiles POS
|
|
286
|
+
- Usa `border={true}` para mejor separación visual en grids
|
|
287
|
+
- Implementa feedback visual inmediato (scale-95 está incluido)
|
|
288
|
+
- Usa aria-label para accesibilidad cuando el contenido no es obvio
|
|
289
|
+
- Combina con grids de 3 columnas para teclados numéricos
|
|
290
|
+
|
|
291
|
+
### ✗ Evitar
|
|
292
|
+
- No uses tamaños muy pequeños para pantallas touch (mínimo size="m")
|
|
293
|
+
- No omitas el handler onClick en contextos interactivos
|
|
294
|
+
- No uses para botones que no sean numéricos u operadores
|
|
295
|
+
- No sobrescribas las transiciones (son optimizadas para touch)
|
|
296
|
+
|
|
297
|
+
## 🔗 Referencias
|
|
298
|
+
|
|
299
|
+
- **Diseño Figma**: [POS Number Button](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4348-23818)
|
|
300
|
+
- **Sistema de Colores**: `docs/colors.md`
|
|
301
|
+
- **Sistema Tipográfico**: `docs/typography.md` (Display Tiny)
|
|
302
|
+
- **Componente Base**: `src/components/Button/Button.tsx`
|
|
303
|
+
|
|
304
|
+
## 📝 Notas de Implementación
|
|
305
|
+
|
|
306
|
+
1. **Tipografía Display Tiny**: Según `typography.md`, Display Tiny es 48px (text-5xl) con font-bold y tracking-tighter
|
|
307
|
+
2. **Tamaños Exactos**: Los tamaños están basados en las especificaciones exactas de Figma (80x80, 65x65, 40x40)
|
|
308
|
+
3. **Estados Touch**: El efecto `active:scale-95` proporciona feedback táctil inmediato
|
|
309
|
+
4. **Dark Mode**: Todos los colores usan tokens del sistema que se adaptan automáticamente
|
|
310
|
+
5. **Accesibilidad**: Focus rings optimizados y aria-labels por defecto
|
|
311
|
+
|
|
312
|
+
## 📅 Historial
|
|
313
|
+
|
|
314
|
+
| Versión | Fecha | Cambios |
|
|
315
|
+
|---------|-------|---------|
|
|
316
|
+
| 1.0.0 | 2025-11-24 | Implementación inicial del componente |
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
**Autor**: Siesa UI Kit Team
|
|
321
|
+
**Última actualización**: 2025-11-24
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
// index.ts
|
|
2
|
-
export { POSNumberButton } from './POSNumberButton';
|
|
3
|
-
export type { POSNumberButtonProps } from './POSNumberButton.types';
|
|
1
|
+
// index.ts
|
|
2
|
+
export { POSNumberButton } from './POSNumberButton';
|
|
3
|
+
export type { POSNumberButtonProps } from './POSNumberButton.types';
|