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,415 +1,415 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { POSNumberButton } from './POSNumberButton';
|
|
3
|
-
|
|
4
|
-
const meta = {
|
|
5
|
-
title: 'Siesa UI Kit/POSNumberButton',
|
|
6
|
-
component: POSNumberButton,
|
|
7
|
-
parameters: {
|
|
8
|
-
layout: 'centered',
|
|
9
|
-
docs: {
|
|
10
|
-
description: {
|
|
11
|
-
component: 'Botón numérico especializado para sistemas POS (Point of Sale) con tipografía grande y estados touch-friendly.',
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
tags: ['autodocs'],
|
|
16
|
-
argTypes: {
|
|
17
|
-
size: {
|
|
18
|
-
control: 'select',
|
|
19
|
-
options: ['s', 'm', 'l'],
|
|
20
|
-
description: 'Tamaño del botón (s=40x40, m=65x65, l=80x80)',
|
|
21
|
-
table: {
|
|
22
|
-
type: { summary: 'string' },
|
|
23
|
-
category: 'Apariencia',
|
|
24
|
-
defaultValue: { summary: 'l' },
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
border: {
|
|
28
|
-
control: 'boolean',
|
|
29
|
-
description: 'Si el botón tiene borde visible',
|
|
30
|
-
table: {
|
|
31
|
-
type: { summary: 'boolean' },
|
|
32
|
-
category: 'Apariencia',
|
|
33
|
-
defaultValue: { summary: 'false' },
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
children: {
|
|
37
|
-
control: 'text',
|
|
38
|
-
description: 'Contenido del botón (número o texto)',
|
|
39
|
-
table: {
|
|
40
|
-
type: { summary: 'ReactNode' },
|
|
41
|
-
category: 'Contenido',
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
disabled: {
|
|
45
|
-
control: 'boolean',
|
|
46
|
-
description: 'Si el botón está deshabilitado',
|
|
47
|
-
table: {
|
|
48
|
-
type: { summary: 'boolean' },
|
|
49
|
-
category: 'Estado',
|
|
50
|
-
defaultValue: { summary: 'false' },
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
onClick: {
|
|
54
|
-
action: 'clicked',
|
|
55
|
-
description: 'Handler para evento click',
|
|
56
|
-
table: {
|
|
57
|
-
type: { summary: 'function' },
|
|
58
|
-
category: 'Eventos',
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
} satisfies Meta<typeof POSNumberButton>;
|
|
63
|
-
|
|
64
|
-
export default meta;
|
|
65
|
-
type Story = StoryObj<typeof meta>;
|
|
66
|
-
|
|
67
|
-
// ============================================
|
|
68
|
-
// 1. PLAYGROUND INTERACTIVO
|
|
69
|
-
// ============================================
|
|
70
|
-
export const Playground: Story = {
|
|
71
|
-
args: {
|
|
72
|
-
size: 'l',
|
|
73
|
-
border: false,
|
|
74
|
-
children: '1',
|
|
75
|
-
disabled: false,
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
// ============================================
|
|
80
|
-
// 2. TODAS LAS VARIANTES
|
|
81
|
-
// ============================================
|
|
82
|
-
export const TodasLasVariantes: Story = {
|
|
83
|
-
args: { children: '1' },
|
|
84
|
-
render: () => (
|
|
85
|
-
<div className="space-y-8 p-6">
|
|
86
|
-
{/* Tamaño Large */}
|
|
87
|
-
<div>
|
|
88
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
89
|
-
Tamaño Large (80x80px)
|
|
90
|
-
</h3>
|
|
91
|
-
<div className="flex flex-wrap gap-3">
|
|
92
|
-
<div className="space-y-2">
|
|
93
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Sin Borde</p>
|
|
94
|
-
<POSNumberButton size="l" border={false}>1</POSNumberButton>
|
|
95
|
-
</div>
|
|
96
|
-
<div className="space-y-2">
|
|
97
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Con Borde</p>
|
|
98
|
-
<POSNumberButton size="l" border={true}>2</POSNumberButton>
|
|
99
|
-
</div>
|
|
100
|
-
</div>
|
|
101
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary mt-2">
|
|
102
|
-
Tamaño por defecto para sistemas POS
|
|
103
|
-
</p>
|
|
104
|
-
</div>
|
|
105
|
-
|
|
106
|
-
{/* Tamaño Medium */}
|
|
107
|
-
<div>
|
|
108
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
109
|
-
Tamaño Medium (65x65px)
|
|
110
|
-
</h3>
|
|
111
|
-
<div className="flex flex-wrap gap-3">
|
|
112
|
-
<div className="space-y-2">
|
|
113
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Sin Borde</p>
|
|
114
|
-
<POSNumberButton size="m" border={false}>3</POSNumberButton>
|
|
115
|
-
</div>
|
|
116
|
-
<div className="space-y-2">
|
|
117
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Con Borde</p>
|
|
118
|
-
<POSNumberButton size="m" border={true}>4</POSNumberButton>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary mt-2">
|
|
122
|
-
Tamaño intermedio para interfaces más compactas
|
|
123
|
-
</p>
|
|
124
|
-
</div>
|
|
125
|
-
|
|
126
|
-
{/* Tamaño Small */}
|
|
127
|
-
<div>
|
|
128
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
129
|
-
Tamaño Small (40x40px)
|
|
130
|
-
</h3>
|
|
131
|
-
<div className="flex flex-wrap gap-3">
|
|
132
|
-
<div className="space-y-2">
|
|
133
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Sin Borde</p>
|
|
134
|
-
<POSNumberButton size="s" border={false}>5</POSNumberButton>
|
|
135
|
-
</div>
|
|
136
|
-
<div className="space-y-2">
|
|
137
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Con Borde</p>
|
|
138
|
-
<POSNumberButton size="s" border={true}>6</POSNumberButton>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary mt-2">
|
|
142
|
-
Tamaño compacto para teclados numéricos pequeños
|
|
143
|
-
</p>
|
|
144
|
-
</div>
|
|
145
|
-
|
|
146
|
-
{/* Tips */}
|
|
147
|
-
<div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
|
|
148
|
-
<p className="text-xs text-content-primary dark:text-dark-content-primary">
|
|
149
|
-
<strong>💡 Consejos:</strong>
|
|
150
|
-
<br />• Usa <code className="px-1 bg-white dark:bg-gray-700">size="l"</code> para pantallas táctiles POS
|
|
151
|
-
<br />• Usa <code className="px-1 bg-white dark:bg-gray-700">border=true</code> para mejor separación visual
|
|
152
|
-
<br />• Los botones tienen feedback táctil con <code className="px-1 bg-white dark:bg-gray-700">active:scale-95</code>
|
|
153
|
-
<br />• Tipografía Display Tiny (48px Bold) optimizada para legibilidad
|
|
154
|
-
</p>
|
|
155
|
-
</div>
|
|
156
|
-
</div>
|
|
157
|
-
),
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
// ============================================
|
|
161
|
-
// 3. TECLADO NUMÉRICO COMPLETO
|
|
162
|
-
// ============================================
|
|
163
|
-
export const TecladoNumerico: Story = {
|
|
164
|
-
args: { children: '1' },
|
|
165
|
-
render: () => (
|
|
166
|
-
<div className="space-y-6 p-6">
|
|
167
|
-
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
168
|
-
Teclado Numérico POS
|
|
169
|
-
</h3>
|
|
170
|
-
<div className="grid grid-cols-3 gap-2 max-w-[260px]">
|
|
171
|
-
{[1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => (
|
|
172
|
-
<POSNumberButton
|
|
173
|
-
key={num}
|
|
174
|
-
size="l"
|
|
175
|
-
border={true}
|
|
176
|
-
onClick={() => console.log(`Número ${num} presionado`)}
|
|
177
|
-
>
|
|
178
|
-
{num}
|
|
179
|
-
</POSNumberButton>
|
|
180
|
-
))}
|
|
181
|
-
<POSNumberButton size="l" border={true}>
|
|
182
|
-
.
|
|
183
|
-
</POSNumberButton>
|
|
184
|
-
<POSNumberButton size="l" border={true}>
|
|
185
|
-
0
|
|
186
|
-
</POSNumberButton>
|
|
187
|
-
<POSNumberButton size="l" border={true}>
|
|
188
|
-
←
|
|
189
|
-
</POSNumberButton>
|
|
190
|
-
</div>
|
|
191
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
192
|
-
Ejemplo de teclado numérico completo para sistema POS
|
|
193
|
-
</p>
|
|
194
|
-
</div>
|
|
195
|
-
),
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
// ============================================
|
|
199
|
-
// 4. ESTADOS
|
|
200
|
-
// ============================================
|
|
201
|
-
export const Estados: Story = {
|
|
202
|
-
args: { children: '1' },
|
|
203
|
-
render: () => (
|
|
204
|
-
<div className="space-y-8 p-6">
|
|
205
|
-
<div>
|
|
206
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
207
|
-
Normal
|
|
208
|
-
</h3>
|
|
209
|
-
<div className="flex gap-3">
|
|
210
|
-
<POSNumberButton size="l">1</POSNumberButton>
|
|
211
|
-
<POSNumberButton size="l" border>2</POSNumberButton>
|
|
212
|
-
</div>
|
|
213
|
-
</div>
|
|
214
|
-
|
|
215
|
-
<div>
|
|
216
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
217
|
-
Hover
|
|
218
|
-
</h3>
|
|
219
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary mb-2">
|
|
220
|
-
Pasa el mouse sobre los botones para ver el efecto hover
|
|
221
|
-
</p>
|
|
222
|
-
<div className="flex gap-3">
|
|
223
|
-
<POSNumberButton size="l">3</POSNumberButton>
|
|
224
|
-
<POSNumberButton size="l" border>4</POSNumberButton>
|
|
225
|
-
</div>
|
|
226
|
-
</div>
|
|
227
|
-
|
|
228
|
-
<div>
|
|
229
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
230
|
-
Active (Presionado)
|
|
231
|
-
</h3>
|
|
232
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary mb-2">
|
|
233
|
-
Presiona los botones para ver el efecto active con scale-95
|
|
234
|
-
</p>
|
|
235
|
-
<div className="flex gap-3">
|
|
236
|
-
<POSNumberButton size="l">5</POSNumberButton>
|
|
237
|
-
<POSNumberButton size="l" border>6</POSNumberButton>
|
|
238
|
-
</div>
|
|
239
|
-
</div>
|
|
240
|
-
|
|
241
|
-
<div>
|
|
242
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
243
|
-
Deshabilitado
|
|
244
|
-
</h3>
|
|
245
|
-
<div className="flex gap-3">
|
|
246
|
-
<POSNumberButton size="l" disabled>7</POSNumberButton>
|
|
247
|
-
<POSNumberButton size="l" border disabled>8</POSNumberButton>
|
|
248
|
-
</div>
|
|
249
|
-
</div>
|
|
250
|
-
|
|
251
|
-
<div>
|
|
252
|
-
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
253
|
-
Focus
|
|
254
|
-
</h3>
|
|
255
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary mb-2">
|
|
256
|
-
Usa Tab para navegar y ver el focus ring
|
|
257
|
-
</p>
|
|
258
|
-
<div className="flex gap-3">
|
|
259
|
-
<POSNumberButton size="l">9</POSNumberButton>
|
|
260
|
-
<POSNumberButton size="l" border>0</POSNumberButton>
|
|
261
|
-
</div>
|
|
262
|
-
</div>
|
|
263
|
-
</div>
|
|
264
|
-
),
|
|
265
|
-
};
|
|
266
|
-
|
|
267
|
-
// ============================================
|
|
268
|
-
// 5. COMPARACIÓN DE TAMAÑOS
|
|
269
|
-
// ============================================
|
|
270
|
-
export const ComparacionDeTamanos: Story = {
|
|
271
|
-
args: { children: '1' },
|
|
272
|
-
render: () => (
|
|
273
|
-
<div className="space-y-6 p-6">
|
|
274
|
-
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
275
|
-
Todos los Tamaños - Sin Borde
|
|
276
|
-
</h3>
|
|
277
|
-
<div className="flex items-end gap-4">
|
|
278
|
-
<div className="space-y-2 text-center">
|
|
279
|
-
<POSNumberButton size="s" border={false}>1</POSNumberButton>
|
|
280
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Small<br />40x40px</p>
|
|
281
|
-
</div>
|
|
282
|
-
<div className="space-y-2 text-center">
|
|
283
|
-
<POSNumberButton size="m" border={false}>2</POSNumberButton>
|
|
284
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Medium<br />65x65px</p>
|
|
285
|
-
</div>
|
|
286
|
-
<div className="space-y-2 text-center">
|
|
287
|
-
<POSNumberButton size="l" border={false}>3</POSNumberButton>
|
|
288
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Large<br />80x80px</p>
|
|
289
|
-
</div>
|
|
290
|
-
</div>
|
|
291
|
-
|
|
292
|
-
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary mt-8">
|
|
293
|
-
Todos los Tamaños - Con Borde
|
|
294
|
-
</h3>
|
|
295
|
-
<div className="flex items-end gap-4">
|
|
296
|
-
<div className="space-y-2 text-center">
|
|
297
|
-
<POSNumberButton size="s" border={true}>4</POSNumberButton>
|
|
298
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Small<br />40x40px</p>
|
|
299
|
-
</div>
|
|
300
|
-
<div className="space-y-2 text-center">
|
|
301
|
-
<POSNumberButton size="m" border={true}>5</POSNumberButton>
|
|
302
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Medium<br />65x65px</p>
|
|
303
|
-
</div>
|
|
304
|
-
<div className="space-y-2 text-center">
|
|
305
|
-
<POSNumberButton size="l" border={true}>6</POSNumberButton>
|
|
306
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">Large<br />80x80px</p>
|
|
307
|
-
</div>
|
|
308
|
-
</div>
|
|
309
|
-
</div>
|
|
310
|
-
),
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
// ============================================
|
|
314
|
-
// 6. TECLADO COMPACTO
|
|
315
|
-
// ============================================
|
|
316
|
-
export const TecladoCompacto: Story = {
|
|
317
|
-
args: { children: '1' },
|
|
318
|
-
render: () => (
|
|
319
|
-
<div className="space-y-6 p-6">
|
|
320
|
-
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
321
|
-
Teclado Numérico Compacto (Medium)
|
|
322
|
-
</h3>
|
|
323
|
-
<div className="grid grid-cols-3 gap-2 max-w-[211px]">
|
|
324
|
-
{[1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 0, '←'].map((num, idx) => (
|
|
325
|
-
<POSNumberButton
|
|
326
|
-
key={idx}
|
|
327
|
-
size="m"
|
|
328
|
-
border={false}
|
|
329
|
-
onClick={() => console.log(`Tecla ${num} presionada`)}
|
|
330
|
-
>
|
|
331
|
-
{num}
|
|
332
|
-
</POSNumberButton>
|
|
333
|
-
))}
|
|
334
|
-
</div>
|
|
335
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
336
|
-
Versión compacta ideal para tablets y pantallas medianas
|
|
337
|
-
</p>
|
|
338
|
-
</div>
|
|
339
|
-
),
|
|
340
|
-
};
|
|
341
|
-
|
|
342
|
-
// ============================================
|
|
343
|
-
// 7. TECLADO MINI
|
|
344
|
-
// ============================================
|
|
345
|
-
export const TecladoMini: Story = {
|
|
346
|
-
args: { children: '1' },
|
|
347
|
-
render: () => (
|
|
348
|
-
<div className="space-y-6 p-6">
|
|
349
|
-
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
350
|
-
Teclado Numérico Mini (Small)
|
|
351
|
-
</h3>
|
|
352
|
-
<div className="grid grid-cols-3 gap-2 max-w-[136px]">
|
|
353
|
-
{[1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 0, '←'].map((num, idx) => (
|
|
354
|
-
<POSNumberButton
|
|
355
|
-
key={idx}
|
|
356
|
-
size="s"
|
|
357
|
-
border={true}
|
|
358
|
-
onClick={() => console.log(`Tecla ${num} presionada`)}
|
|
359
|
-
>
|
|
360
|
-
{num}
|
|
361
|
-
</POSNumberButton>
|
|
362
|
-
))}
|
|
363
|
-
</div>
|
|
364
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
365
|
-
Versión mini ideal para espacios reducidos o calculadoras
|
|
366
|
-
</p>
|
|
367
|
-
</div>
|
|
368
|
-
),
|
|
369
|
-
};
|
|
370
|
-
|
|
371
|
-
// ============================================
|
|
372
|
-
// 8. OPERACIONES MATEMÁTICAS
|
|
373
|
-
// ============================================
|
|
374
|
-
export const OperacionesMatematicas: Story = {
|
|
375
|
-
args: { children: '1' },
|
|
376
|
-
render: () => (
|
|
377
|
-
<div className="space-y-6 p-6">
|
|
378
|
-
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
379
|
-
Calculadora POS
|
|
380
|
-
</h3>
|
|
381
|
-
<div className="flex gap-4">
|
|
382
|
-
{/* Números */}
|
|
383
|
-
<div className="grid grid-cols-3 gap-2">
|
|
384
|
-
{[7, 8, 9, 4, 5, 6, 1, 2, 3, 0].map((num) => (
|
|
385
|
-
<POSNumberButton
|
|
386
|
-
key={num}
|
|
387
|
-
size="m"
|
|
388
|
-
border={true}
|
|
389
|
-
onClick={() => console.log(`Número ${num}`)}
|
|
390
|
-
>
|
|
391
|
-
{num}
|
|
392
|
-
</POSNumberButton>
|
|
393
|
-
))}
|
|
394
|
-
</div>
|
|
395
|
-
|
|
396
|
-
{/* Operadores */}
|
|
397
|
-
<div className="grid grid-cols-1 gap-2">
|
|
398
|
-
{['+', '-', '×', '÷', '='].map((op) => (
|
|
399
|
-
<POSNumberButton
|
|
400
|
-
key={op}
|
|
401
|
-
size="m"
|
|
402
|
-
border={true}
|
|
403
|
-
onClick={() => console.log(`Operador ${op}`)}
|
|
404
|
-
>
|
|
405
|
-
{op}
|
|
406
|
-
</POSNumberButton>
|
|
407
|
-
))}
|
|
408
|
-
</div>
|
|
409
|
-
</div>
|
|
410
|
-
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
411
|
-
Ejemplo de calculadora POS con números y operadores
|
|
412
|
-
</p>
|
|
413
|
-
</div>
|
|
414
|
-
),
|
|
415
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { POSNumberButton } from './POSNumberButton';
|
|
3
|
+
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'Siesa UI Kit/POSNumberButton',
|
|
6
|
+
component: POSNumberButton,
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: 'centered',
|
|
9
|
+
docs: {
|
|
10
|
+
description: {
|
|
11
|
+
component: 'Botón numérico especializado para sistemas POS (Point of Sale) con tipografía grande y estados touch-friendly.',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
tags: ['autodocs'],
|
|
16
|
+
argTypes: {
|
|
17
|
+
size: {
|
|
18
|
+
control: 'select',
|
|
19
|
+
options: ['s', 'm', 'l'],
|
|
20
|
+
description: 'Tamaño del botón (s=40x40, m=65x65, l=80x80)',
|
|
21
|
+
table: {
|
|
22
|
+
type: { summary: 'string' },
|
|
23
|
+
category: 'Apariencia',
|
|
24
|
+
defaultValue: { summary: 'l' },
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
border: {
|
|
28
|
+
control: 'boolean',
|
|
29
|
+
description: 'Si el botón tiene borde visible',
|
|
30
|
+
table: {
|
|
31
|
+
type: { summary: 'boolean' },
|
|
32
|
+
category: 'Apariencia',
|
|
33
|
+
defaultValue: { summary: 'false' },
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
children: {
|
|
37
|
+
control: 'text',
|
|
38
|
+
description: 'Contenido del botón (número o texto)',
|
|
39
|
+
table: {
|
|
40
|
+
type: { summary: 'ReactNode' },
|
|
41
|
+
category: 'Contenido',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
disabled: {
|
|
45
|
+
control: 'boolean',
|
|
46
|
+
description: 'Si el botón está deshabilitado',
|
|
47
|
+
table: {
|
|
48
|
+
type: { summary: 'boolean' },
|
|
49
|
+
category: 'Estado',
|
|
50
|
+
defaultValue: { summary: 'false' },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
onClick: {
|
|
54
|
+
action: 'clicked',
|
|
55
|
+
description: 'Handler para evento click',
|
|
56
|
+
table: {
|
|
57
|
+
type: { summary: 'function' },
|
|
58
|
+
category: 'Eventos',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
} satisfies Meta<typeof POSNumberButton>;
|
|
63
|
+
|
|
64
|
+
export default meta;
|
|
65
|
+
type Story = StoryObj<typeof meta>;
|
|
66
|
+
|
|
67
|
+
// ============================================
|
|
68
|
+
// 1. PLAYGROUND INTERACTIVO
|
|
69
|
+
// ============================================
|
|
70
|
+
export const Playground: Story = {
|
|
71
|
+
args: {
|
|
72
|
+
size: 'l',
|
|
73
|
+
border: false,
|
|
74
|
+
children: '1',
|
|
75
|
+
disabled: false,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
// ============================================
|
|
80
|
+
// 2. TODAS LAS VARIANTES
|
|
81
|
+
// ============================================
|
|
82
|
+
export const TodasLasVariantes: Story = {
|
|
83
|
+
args: { children: '1' },
|
|
84
|
+
render: () => (
|
|
85
|
+
<div className="space-y-8 p-6">
|
|
86
|
+
{/* Tamaño Large */}
|
|
87
|
+
<div>
|
|
88
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
89
|
+
Tamaño Large (80x80px)
|
|
90
|
+
</h3>
|
|
91
|
+
<div className="flex flex-wrap gap-3">
|
|
92
|
+
<div className="space-y-2">
|
|
93
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Sin Borde</p>
|
|
94
|
+
<POSNumberButton size="l" border={false}>1</POSNumberButton>
|
|
95
|
+
</div>
|
|
96
|
+
<div className="space-y-2">
|
|
97
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Con Borde</p>
|
|
98
|
+
<POSNumberButton size="l" border={true}>2</POSNumberButton>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary mt-2">
|
|
102
|
+
Tamaño por defecto para sistemas POS
|
|
103
|
+
</p>
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
{/* Tamaño Medium */}
|
|
107
|
+
<div>
|
|
108
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
109
|
+
Tamaño Medium (65x65px)
|
|
110
|
+
</h3>
|
|
111
|
+
<div className="flex flex-wrap gap-3">
|
|
112
|
+
<div className="space-y-2">
|
|
113
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Sin Borde</p>
|
|
114
|
+
<POSNumberButton size="m" border={false}>3</POSNumberButton>
|
|
115
|
+
</div>
|
|
116
|
+
<div className="space-y-2">
|
|
117
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Con Borde</p>
|
|
118
|
+
<POSNumberButton size="m" border={true}>4</POSNumberButton>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary mt-2">
|
|
122
|
+
Tamaño intermedio para interfaces más compactas
|
|
123
|
+
</p>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
{/* Tamaño Small */}
|
|
127
|
+
<div>
|
|
128
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
129
|
+
Tamaño Small (40x40px)
|
|
130
|
+
</h3>
|
|
131
|
+
<div className="flex flex-wrap gap-3">
|
|
132
|
+
<div className="space-y-2">
|
|
133
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Sin Borde</p>
|
|
134
|
+
<POSNumberButton size="s" border={false}>5</POSNumberButton>
|
|
135
|
+
</div>
|
|
136
|
+
<div className="space-y-2">
|
|
137
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Con Borde</p>
|
|
138
|
+
<POSNumberButton size="s" border={true}>6</POSNumberButton>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary mt-2">
|
|
142
|
+
Tamaño compacto para teclados numéricos pequeños
|
|
143
|
+
</p>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
{/* Tips */}
|
|
147
|
+
<div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
|
|
148
|
+
<p className="text-xs text-content-primary dark:text-dark-content-primary">
|
|
149
|
+
<strong>💡 Consejos:</strong>
|
|
150
|
+
<br />• Usa <code className="px-1 bg-white dark:bg-gray-700">size="l"</code> para pantallas táctiles POS
|
|
151
|
+
<br />• Usa <code className="px-1 bg-white dark:bg-gray-700">border=true</code> para mejor separación visual
|
|
152
|
+
<br />• Los botones tienen feedback táctil con <code className="px-1 bg-white dark:bg-gray-700">active:scale-95</code>
|
|
153
|
+
<br />• Tipografía Display Tiny (48px Bold) optimizada para legibilidad
|
|
154
|
+
</p>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
),
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
// ============================================
|
|
161
|
+
// 3. TECLADO NUMÉRICO COMPLETO
|
|
162
|
+
// ============================================
|
|
163
|
+
export const TecladoNumerico: Story = {
|
|
164
|
+
args: { children: '1' },
|
|
165
|
+
render: () => (
|
|
166
|
+
<div className="space-y-6 p-6">
|
|
167
|
+
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
168
|
+
Teclado Numérico POS
|
|
169
|
+
</h3>
|
|
170
|
+
<div className="grid grid-cols-3 gap-2 max-w-[260px]">
|
|
171
|
+
{[1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => (
|
|
172
|
+
<POSNumberButton
|
|
173
|
+
key={num}
|
|
174
|
+
size="l"
|
|
175
|
+
border={true}
|
|
176
|
+
onClick={() => console.log(`Número ${num} presionado`)}
|
|
177
|
+
>
|
|
178
|
+
{num}
|
|
179
|
+
</POSNumberButton>
|
|
180
|
+
))}
|
|
181
|
+
<POSNumberButton size="l" border={true}>
|
|
182
|
+
.
|
|
183
|
+
</POSNumberButton>
|
|
184
|
+
<POSNumberButton size="l" border={true}>
|
|
185
|
+
0
|
|
186
|
+
</POSNumberButton>
|
|
187
|
+
<POSNumberButton size="l" border={true}>
|
|
188
|
+
←
|
|
189
|
+
</POSNumberButton>
|
|
190
|
+
</div>
|
|
191
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
192
|
+
Ejemplo de teclado numérico completo para sistema POS
|
|
193
|
+
</p>
|
|
194
|
+
</div>
|
|
195
|
+
),
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
// ============================================
|
|
199
|
+
// 4. ESTADOS
|
|
200
|
+
// ============================================
|
|
201
|
+
export const Estados: Story = {
|
|
202
|
+
args: { children: '1' },
|
|
203
|
+
render: () => (
|
|
204
|
+
<div className="space-y-8 p-6">
|
|
205
|
+
<div>
|
|
206
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
207
|
+
Normal
|
|
208
|
+
</h3>
|
|
209
|
+
<div className="flex gap-3">
|
|
210
|
+
<POSNumberButton size="l">1</POSNumberButton>
|
|
211
|
+
<POSNumberButton size="l" border>2</POSNumberButton>
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
214
|
+
|
|
215
|
+
<div>
|
|
216
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
217
|
+
Hover
|
|
218
|
+
</h3>
|
|
219
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary mb-2">
|
|
220
|
+
Pasa el mouse sobre los botones para ver el efecto hover
|
|
221
|
+
</p>
|
|
222
|
+
<div className="flex gap-3">
|
|
223
|
+
<POSNumberButton size="l">3</POSNumberButton>
|
|
224
|
+
<POSNumberButton size="l" border>4</POSNumberButton>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
|
|
228
|
+
<div>
|
|
229
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
230
|
+
Active (Presionado)
|
|
231
|
+
</h3>
|
|
232
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary mb-2">
|
|
233
|
+
Presiona los botones para ver el efecto active con scale-95
|
|
234
|
+
</p>
|
|
235
|
+
<div className="flex gap-3">
|
|
236
|
+
<POSNumberButton size="l">5</POSNumberButton>
|
|
237
|
+
<POSNumberButton size="l" border>6</POSNumberButton>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<div>
|
|
242
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
243
|
+
Deshabilitado
|
|
244
|
+
</h3>
|
|
245
|
+
<div className="flex gap-3">
|
|
246
|
+
<POSNumberButton size="l" disabled>7</POSNumberButton>
|
|
247
|
+
<POSNumberButton size="l" border disabled>8</POSNumberButton>
|
|
248
|
+
</div>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
<div>
|
|
252
|
+
<h3 className="text-sm font-bold mb-4 text-content-primary dark:text-dark-content-primary">
|
|
253
|
+
Focus
|
|
254
|
+
</h3>
|
|
255
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary mb-2">
|
|
256
|
+
Usa Tab para navegar y ver el focus ring
|
|
257
|
+
</p>
|
|
258
|
+
<div className="flex gap-3">
|
|
259
|
+
<POSNumberButton size="l">9</POSNumberButton>
|
|
260
|
+
<POSNumberButton size="l" border>0</POSNumberButton>
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
),
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
// ============================================
|
|
268
|
+
// 5. COMPARACIÓN DE TAMAÑOS
|
|
269
|
+
// ============================================
|
|
270
|
+
export const ComparacionDeTamanos: Story = {
|
|
271
|
+
args: { children: '1' },
|
|
272
|
+
render: () => (
|
|
273
|
+
<div className="space-y-6 p-6">
|
|
274
|
+
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
275
|
+
Todos los Tamaños - Sin Borde
|
|
276
|
+
</h3>
|
|
277
|
+
<div className="flex items-end gap-4">
|
|
278
|
+
<div className="space-y-2 text-center">
|
|
279
|
+
<POSNumberButton size="s" border={false}>1</POSNumberButton>
|
|
280
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Small<br />40x40px</p>
|
|
281
|
+
</div>
|
|
282
|
+
<div className="space-y-2 text-center">
|
|
283
|
+
<POSNumberButton size="m" border={false}>2</POSNumberButton>
|
|
284
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Medium<br />65x65px</p>
|
|
285
|
+
</div>
|
|
286
|
+
<div className="space-y-2 text-center">
|
|
287
|
+
<POSNumberButton size="l" border={false}>3</POSNumberButton>
|
|
288
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Large<br />80x80px</p>
|
|
289
|
+
</div>
|
|
290
|
+
</div>
|
|
291
|
+
|
|
292
|
+
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary mt-8">
|
|
293
|
+
Todos los Tamaños - Con Borde
|
|
294
|
+
</h3>
|
|
295
|
+
<div className="flex items-end gap-4">
|
|
296
|
+
<div className="space-y-2 text-center">
|
|
297
|
+
<POSNumberButton size="s" border={true}>4</POSNumberButton>
|
|
298
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Small<br />40x40px</p>
|
|
299
|
+
</div>
|
|
300
|
+
<div className="space-y-2 text-center">
|
|
301
|
+
<POSNumberButton size="m" border={true}>5</POSNumberButton>
|
|
302
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Medium<br />65x65px</p>
|
|
303
|
+
</div>
|
|
304
|
+
<div className="space-y-2 text-center">
|
|
305
|
+
<POSNumberButton size="l" border={true}>6</POSNumberButton>
|
|
306
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">Large<br />80x80px</p>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
),
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
// ============================================
|
|
314
|
+
// 6. TECLADO COMPACTO
|
|
315
|
+
// ============================================
|
|
316
|
+
export const TecladoCompacto: Story = {
|
|
317
|
+
args: { children: '1' },
|
|
318
|
+
render: () => (
|
|
319
|
+
<div className="space-y-6 p-6">
|
|
320
|
+
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
321
|
+
Teclado Numérico Compacto (Medium)
|
|
322
|
+
</h3>
|
|
323
|
+
<div className="grid grid-cols-3 gap-2 max-w-[211px]">
|
|
324
|
+
{[1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 0, '←'].map((num, idx) => (
|
|
325
|
+
<POSNumberButton
|
|
326
|
+
key={idx}
|
|
327
|
+
size="m"
|
|
328
|
+
border={false}
|
|
329
|
+
onClick={() => console.log(`Tecla ${num} presionada`)}
|
|
330
|
+
>
|
|
331
|
+
{num}
|
|
332
|
+
</POSNumberButton>
|
|
333
|
+
))}
|
|
334
|
+
</div>
|
|
335
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
336
|
+
Versión compacta ideal para tablets y pantallas medianas
|
|
337
|
+
</p>
|
|
338
|
+
</div>
|
|
339
|
+
),
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
// ============================================
|
|
343
|
+
// 7. TECLADO MINI
|
|
344
|
+
// ============================================
|
|
345
|
+
export const TecladoMini: Story = {
|
|
346
|
+
args: { children: '1' },
|
|
347
|
+
render: () => (
|
|
348
|
+
<div className="space-y-6 p-6">
|
|
349
|
+
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
350
|
+
Teclado Numérico Mini (Small)
|
|
351
|
+
</h3>
|
|
352
|
+
<div className="grid grid-cols-3 gap-2 max-w-[136px]">
|
|
353
|
+
{[1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 0, '←'].map((num, idx) => (
|
|
354
|
+
<POSNumberButton
|
|
355
|
+
key={idx}
|
|
356
|
+
size="s"
|
|
357
|
+
border={true}
|
|
358
|
+
onClick={() => console.log(`Tecla ${num} presionada`)}
|
|
359
|
+
>
|
|
360
|
+
{num}
|
|
361
|
+
</POSNumberButton>
|
|
362
|
+
))}
|
|
363
|
+
</div>
|
|
364
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
365
|
+
Versión mini ideal para espacios reducidos o calculadoras
|
|
366
|
+
</p>
|
|
367
|
+
</div>
|
|
368
|
+
),
|
|
369
|
+
};
|
|
370
|
+
|
|
371
|
+
// ============================================
|
|
372
|
+
// 8. OPERACIONES MATEMÁTICAS
|
|
373
|
+
// ============================================
|
|
374
|
+
export const OperacionesMatematicas: Story = {
|
|
375
|
+
args: { children: '1' },
|
|
376
|
+
render: () => (
|
|
377
|
+
<div className="space-y-6 p-6">
|
|
378
|
+
<h3 className="text-sm font-bold text-content-primary dark:text-dark-content-primary">
|
|
379
|
+
Calculadora POS
|
|
380
|
+
</h3>
|
|
381
|
+
<div className="flex gap-4">
|
|
382
|
+
{/* Números */}
|
|
383
|
+
<div className="grid grid-cols-3 gap-2">
|
|
384
|
+
{[7, 8, 9, 4, 5, 6, 1, 2, 3, 0].map((num) => (
|
|
385
|
+
<POSNumberButton
|
|
386
|
+
key={num}
|
|
387
|
+
size="m"
|
|
388
|
+
border={true}
|
|
389
|
+
onClick={() => console.log(`Número ${num}`)}
|
|
390
|
+
>
|
|
391
|
+
{num}
|
|
392
|
+
</POSNumberButton>
|
|
393
|
+
))}
|
|
394
|
+
</div>
|
|
395
|
+
|
|
396
|
+
{/* Operadores */}
|
|
397
|
+
<div className="grid grid-cols-1 gap-2">
|
|
398
|
+
{['+', '-', '×', '÷', '='].map((op) => (
|
|
399
|
+
<POSNumberButton
|
|
400
|
+
key={op}
|
|
401
|
+
size="m"
|
|
402
|
+
border={true}
|
|
403
|
+
onClick={() => console.log(`Operador ${op}`)}
|
|
404
|
+
>
|
|
405
|
+
{op}
|
|
406
|
+
</POSNumberButton>
|
|
407
|
+
))}
|
|
408
|
+
</div>
|
|
409
|
+
</div>
|
|
410
|
+
<p className="text-xs text-content-secondary dark:text-content-secondary">
|
|
411
|
+
Ejemplo de calculadora POS con números y operadores
|
|
412
|
+
</p>
|
|
413
|
+
</div>
|
|
414
|
+
),
|
|
415
|
+
};
|