@bacon-pos/ui 0.1.0
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/LICENSE +21 -0
- package/README.md +236 -0
- package/lib/commonjs/components/Avatar/Avatar.js +96 -0
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -0
- package/lib/commonjs/components/Avatar/Avatar.stories.js +87 -0
- package/lib/commonjs/components/Avatar/Avatar.stories.js.map +1 -0
- package/lib/commonjs/components/Avatar/Avatar.test.js +63 -0
- package/lib/commonjs/components/Avatar/Avatar.test.js.map +1 -0
- package/lib/commonjs/components/Avatar/index.js +13 -0
- package/lib/commonjs/components/Avatar/index.js.map +1 -0
- package/lib/commonjs/components/Button/Button.js +201 -0
- package/lib/commonjs/components/Button/Button.js.map +1 -0
- package/lib/commonjs/components/Button/Button.stories.js +139 -0
- package/lib/commonjs/components/Button/Button.stories.js.map +1 -0
- package/lib/commonjs/components/Button/Button.test.js +64 -0
- package/lib/commonjs/components/Button/Button.test.js.map +1 -0
- package/lib/commonjs/components/Button/index.js +13 -0
- package/lib/commonjs/components/Button/index.js.map +1 -0
- package/lib/commonjs/components/Card/Card.js +129 -0
- package/lib/commonjs/components/Card/Card.js.map +1 -0
- package/lib/commonjs/components/Card/Card.stories.js +87 -0
- package/lib/commonjs/components/Card/Card.stories.js.map +1 -0
- package/lib/commonjs/components/Card/Card.test.js +51 -0
- package/lib/commonjs/components/Card/Card.test.js.map +1 -0
- package/lib/commonjs/components/Card/index.js +13 -0
- package/lib/commonjs/components/Card/index.js.map +1 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js +75 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js.map +1 -0
- package/lib/commonjs/components/Checkbox/Checkbox.stories.js +69 -0
- package/lib/commonjs/components/Checkbox/Checkbox.stories.js.map +1 -0
- package/lib/commonjs/components/Checkbox/Checkbox.test.js +62 -0
- package/lib/commonjs/components/Checkbox/Checkbox.test.js.map +1 -0
- package/lib/commonjs/components/Checkbox/index.js +13 -0
- package/lib/commonjs/components/Checkbox/index.js.map +1 -0
- package/lib/commonjs/components/Chip/Chip.js +119 -0
- package/lib/commonjs/components/Chip/Chip.js.map +1 -0
- package/lib/commonjs/components/Chip/Chip.stories.js +112 -0
- package/lib/commonjs/components/Chip/Chip.stories.js.map +1 -0
- package/lib/commonjs/components/Chip/Chip.test.js +63 -0
- package/lib/commonjs/components/Chip/Chip.test.js.map +1 -0
- package/lib/commonjs/components/Chip/ChipGroup.js +54 -0
- package/lib/commonjs/components/Chip/ChipGroup.js.map +1 -0
- package/lib/commonjs/components/Chip/ChipGroup.stories.js +78 -0
- package/lib/commonjs/components/Chip/ChipGroup.stories.js.map +1 -0
- package/lib/commonjs/components/Chip/ChipGroup.test.js +70 -0
- package/lib/commonjs/components/Chip/ChipGroup.test.js.map +1 -0
- package/lib/commonjs/components/Chip/index.js +20 -0
- package/lib/commonjs/components/Chip/index.js.map +1 -0
- package/lib/commonjs/components/CodeInput/CodeInput.js +163 -0
- package/lib/commonjs/components/CodeInput/CodeInput.js.map +1 -0
- package/lib/commonjs/components/CodeInput/CodeInput.stories.js +98 -0
- package/lib/commonjs/components/CodeInput/CodeInput.stories.js.map +1 -0
- package/lib/commonjs/components/CodeInput/CodeInput.test.js +74 -0
- package/lib/commonjs/components/CodeInput/CodeInput.test.js.map +1 -0
- package/lib/commonjs/components/CodeInput/index.js +13 -0
- package/lib/commonjs/components/CodeInput/index.js.map +1 -0
- package/lib/commonjs/components/Icon/Icon.js +32 -0
- package/lib/commonjs/components/Icon/Icon.js.map +1 -0
- package/lib/commonjs/components/Icon/Icon.stories.js +94 -0
- package/lib/commonjs/components/Icon/Icon.stories.js.map +1 -0
- package/lib/commonjs/components/Icon/Icon.test.js +38 -0
- package/lib/commonjs/components/Icon/Icon.test.js.map +1 -0
- package/lib/commonjs/components/Icon/icons.generated.js +179 -0
- package/lib/commonjs/components/Icon/icons.generated.js.map +1 -0
- package/lib/commonjs/components/Icon/index.js +20 -0
- package/lib/commonjs/components/Icon/index.js.map +1 -0
- package/lib/commonjs/components/IconButton/IconButton.js +139 -0
- package/lib/commonjs/components/IconButton/IconButton.js.map +1 -0
- package/lib/commonjs/components/IconButton/IconButton.stories.js +119 -0
- package/lib/commonjs/components/IconButton/IconButton.stories.js.map +1 -0
- package/lib/commonjs/components/IconButton/IconButton.test.js +55 -0
- package/lib/commonjs/components/IconButton/IconButton.test.js.map +1 -0
- package/lib/commonjs/components/IconButton/index.js +13 -0
- package/lib/commonjs/components/IconButton/index.js.map +1 -0
- package/lib/commonjs/components/Input/Input.js +176 -0
- package/lib/commonjs/components/Input/Input.js.map +1 -0
- package/lib/commonjs/components/Input/Input.stories.js +116 -0
- package/lib/commonjs/components/Input/Input.stories.js.map +1 -0
- package/lib/commonjs/components/Input/Input.test.js +103 -0
- package/lib/commonjs/components/Input/Input.test.js.map +1 -0
- package/lib/commonjs/components/Input/index.js +13 -0
- package/lib/commonjs/components/Input/index.js.map +1 -0
- package/lib/commonjs/components/LinkButton/LinkButton.js +95 -0
- package/lib/commonjs/components/LinkButton/LinkButton.js.map +1 -0
- package/lib/commonjs/components/LinkButton/LinkButton.stories.js +91 -0
- package/lib/commonjs/components/LinkButton/LinkButton.stories.js.map +1 -0
- package/lib/commonjs/components/LinkButton/LinkButton.test.js +61 -0
- package/lib/commonjs/components/LinkButton/LinkButton.test.js.map +1 -0
- package/lib/commonjs/components/LinkButton/index.js +13 -0
- package/lib/commonjs/components/LinkButton/index.js.map +1 -0
- package/lib/commonjs/components/ProductCard/ProductCard.js +167 -0
- package/lib/commonjs/components/ProductCard/ProductCard.js.map +1 -0
- package/lib/commonjs/components/ProductCard/ProductCard.stories.js +118 -0
- package/lib/commonjs/components/ProductCard/ProductCard.stories.js.map +1 -0
- package/lib/commonjs/components/ProductCard/ProductCard.test.js +69 -0
- package/lib/commonjs/components/ProductCard/ProductCard.test.js.map +1 -0
- package/lib/commonjs/components/ProductCard/index.js +13 -0
- package/lib/commonjs/components/ProductCard/index.js.map +1 -0
- package/lib/commonjs/components/QuantityStepper/QuantityStepper.js +135 -0
- package/lib/commonjs/components/QuantityStepper/QuantityStepper.js.map +1 -0
- package/lib/commonjs/components/QuantityStepper/QuantityStepper.stories.js +90 -0
- package/lib/commonjs/components/QuantityStepper/QuantityStepper.stories.js.map +1 -0
- package/lib/commonjs/components/QuantityStepper/QuantityStepper.test.js +100 -0
- package/lib/commonjs/components/QuantityStepper/QuantityStepper.test.js.map +1 -0
- package/lib/commonjs/components/QuantityStepper/index.js +13 -0
- package/lib/commonjs/components/QuantityStepper/index.js.map +1 -0
- package/lib/commonjs/components/Radio/Radio.js +59 -0
- package/lib/commonjs/components/Radio/Radio.js.map +1 -0
- package/lib/commonjs/components/Radio/Radio.stories.js +60 -0
- package/lib/commonjs/components/Radio/Radio.stories.js.map +1 -0
- package/lib/commonjs/components/Radio/Radio.test.js +46 -0
- package/lib/commonjs/components/Radio/Radio.test.js.map +1 -0
- package/lib/commonjs/components/Radio/index.js +13 -0
- package/lib/commonjs/components/Radio/index.js.map +1 -0
- package/lib/commonjs/components/Surface/Surface.js +84 -0
- package/lib/commonjs/components/Surface/Surface.js.map +1 -0
- package/lib/commonjs/components/Surface/Surface.stories.js +97 -0
- package/lib/commonjs/components/Surface/Surface.stories.js.map +1 -0
- package/lib/commonjs/components/Surface/Surface.test.js +58 -0
- package/lib/commonjs/components/Surface/Surface.test.js.map +1 -0
- package/lib/commonjs/components/Surface/index.js +13 -0
- package/lib/commonjs/components/Surface/index.js.map +1 -0
- package/lib/commonjs/components/Switch/Switch.js +109 -0
- package/lib/commonjs/components/Switch/Switch.js.map +1 -0
- package/lib/commonjs/components/Switch/Switch.stories.js +89 -0
- package/lib/commonjs/components/Switch/Switch.stories.js.map +1 -0
- package/lib/commonjs/components/Switch/Switch.test.js +46 -0
- package/lib/commonjs/components/Switch/Switch.test.js.map +1 -0
- package/lib/commonjs/components/Switch/index.js +13 -0
- package/lib/commonjs/components/Switch/index.js.map +1 -0
- package/lib/commonjs/components/Text/Text.js +39 -0
- package/lib/commonjs/components/Text/Text.js.map +1 -0
- package/lib/commonjs/components/Text/Text.stories.js +47 -0
- package/lib/commonjs/components/Text/Text.stories.js.map +1 -0
- package/lib/commonjs/components/Text/index.js +13 -0
- package/lib/commonjs/components/Text/index.js.map +1 -0
- package/lib/commonjs/components/_internal/Labeled.js +50 -0
- package/lib/commonjs/components/_internal/Labeled.js.map +1 -0
- package/lib/commonjs/components/brand/Flag.js +45 -0
- package/lib/commonjs/components/brand/Flag.js.map +1 -0
- package/lib/commonjs/components/brand/Flag.stories.js +59 -0
- package/lib/commonjs/components/brand/Flag.stories.js.map +1 -0
- package/lib/commonjs/components/brand/Logo.js +30 -0
- package/lib/commonjs/components/brand/Logo.js.map +1 -0
- package/lib/commonjs/components/brand/Logo.stories.js +59 -0
- package/lib/commonjs/components/brand/Logo.stories.js.map +1 -0
- package/lib/commonjs/components/brand/brand.test.js +39 -0
- package/lib/commonjs/components/brand/brand.test.js.map +1 -0
- package/lib/commonjs/components/brand/generated/FlagBr.js +95 -0
- package/lib/commonjs/components/brand/generated/FlagBr.js.map +1 -0
- package/lib/commonjs/components/brand/generated/FlagUs.js +82 -0
- package/lib/commonjs/components/brand/generated/FlagUs.js.map +1 -0
- package/lib/commonjs/components/brand/generated/Mastercard.js +42 -0
- package/lib/commonjs/components/brand/generated/Mastercard.js.map +1 -0
- package/lib/commonjs/components/brand/generated/Visa.js +99 -0
- package/lib/commonjs/components/brand/generated/Visa.js.map +1 -0
- package/lib/commonjs/components/brand/index.js +27 -0
- package/lib/commonjs/components/brand/index.js.map +1 -0
- package/lib/commonjs/components/brand/registry.js +36 -0
- package/lib/commonjs/components/brand/registry.js.map +1 -0
- package/lib/commonjs/components/index.js +193 -0
- package/lib/commonjs/components/index.js.map +1 -0
- package/lib/commonjs/index.js +28 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/theme/ThemeProvider.js +52 -0
- package/lib/commonjs/theme/ThemeProvider.js.map +1 -0
- package/lib/commonjs/theme/ThemeProvider.test.js +65 -0
- package/lib/commonjs/theme/ThemeProvider.test.js.map +1 -0
- package/lib/commonjs/theme/index.js +101 -0
- package/lib/commonjs/theme/index.js.map +1 -0
- package/lib/commonjs/theme/palette.js +94 -0
- package/lib/commonjs/theme/palette.js.map +1 -0
- package/lib/commonjs/theme/spacing.js +39 -0
- package/lib/commonjs/theme/spacing.js.map +1 -0
- package/lib/commonjs/theme/themes.js +171 -0
- package/lib/commonjs/theme/themes.js.map +1 -0
- package/lib/commonjs/theme/typography.js +65 -0
- package/lib/commonjs/theme/typography.js.map +1 -0
- package/lib/module/components/Avatar/Avatar.js +92 -0
- package/lib/module/components/Avatar/Avatar.js.map +1 -0
- package/lib/module/components/Avatar/Avatar.stories.js +83 -0
- package/lib/module/components/Avatar/Avatar.stories.js.map +1 -0
- package/lib/module/components/Avatar/Avatar.test.js +62 -0
- package/lib/module/components/Avatar/Avatar.test.js.map +1 -0
- package/lib/module/components/Avatar/index.js +4 -0
- package/lib/module/components/Avatar/index.js.map +1 -0
- package/lib/module/components/Button/Button.js +197 -0
- package/lib/module/components/Button/Button.js.map +1 -0
- package/lib/module/components/Button/Button.stories.js +135 -0
- package/lib/module/components/Button/Button.stories.js.map +1 -0
- package/lib/module/components/Button/Button.test.js +63 -0
- package/lib/module/components/Button/Button.test.js.map +1 -0
- package/lib/module/components/Button/index.js +4 -0
- package/lib/module/components/Button/index.js.map +1 -0
- package/lib/module/components/Card/Card.js +125 -0
- package/lib/module/components/Card/Card.js.map +1 -0
- package/lib/module/components/Card/Card.stories.js +83 -0
- package/lib/module/components/Card/Card.stories.js.map +1 -0
- package/lib/module/components/Card/Card.test.js +50 -0
- package/lib/module/components/Card/Card.test.js.map +1 -0
- package/lib/module/components/Card/index.js +4 -0
- package/lib/module/components/Card/index.js.map +1 -0
- package/lib/module/components/Checkbox/Checkbox.js +71 -0
- package/lib/module/components/Checkbox/Checkbox.js.map +1 -0
- package/lib/module/components/Checkbox/Checkbox.stories.js +65 -0
- package/lib/module/components/Checkbox/Checkbox.stories.js.map +1 -0
- package/lib/module/components/Checkbox/Checkbox.test.js +61 -0
- package/lib/module/components/Checkbox/Checkbox.test.js.map +1 -0
- package/lib/module/components/Checkbox/index.js +4 -0
- package/lib/module/components/Checkbox/index.js.map +1 -0
- package/lib/module/components/Chip/Chip.js +115 -0
- package/lib/module/components/Chip/Chip.js.map +1 -0
- package/lib/module/components/Chip/Chip.stories.js +108 -0
- package/lib/module/components/Chip/Chip.stories.js.map +1 -0
- package/lib/module/components/Chip/Chip.test.js +62 -0
- package/lib/module/components/Chip/Chip.test.js.map +1 -0
- package/lib/module/components/Chip/ChipGroup.js +50 -0
- package/lib/module/components/Chip/ChipGroup.js.map +1 -0
- package/lib/module/components/Chip/ChipGroup.stories.js +74 -0
- package/lib/module/components/Chip/ChipGroup.stories.js.map +1 -0
- package/lib/module/components/Chip/ChipGroup.test.js +69 -0
- package/lib/module/components/Chip/ChipGroup.test.js.map +1 -0
- package/lib/module/components/Chip/index.js +5 -0
- package/lib/module/components/Chip/index.js.map +1 -0
- package/lib/module/components/CodeInput/CodeInput.js +161 -0
- package/lib/module/components/CodeInput/CodeInput.js.map +1 -0
- package/lib/module/components/CodeInput/CodeInput.stories.js +94 -0
- package/lib/module/components/CodeInput/CodeInput.stories.js.map +1 -0
- package/lib/module/components/CodeInput/CodeInput.test.js +73 -0
- package/lib/module/components/CodeInput/CodeInput.test.js.map +1 -0
- package/lib/module/components/CodeInput/index.js +4 -0
- package/lib/module/components/CodeInput/index.js.map +1 -0
- package/lib/module/components/Icon/Icon.js +28 -0
- package/lib/module/components/Icon/Icon.js.map +1 -0
- package/lib/module/components/Icon/Icon.stories.js +90 -0
- package/lib/module/components/Icon/Icon.stories.js.map +1 -0
- package/lib/module/components/Icon/Icon.test.js +37 -0
- package/lib/module/components/Icon/Icon.test.js.map +1 -0
- package/lib/module/components/Icon/icons.generated.js +175 -0
- package/lib/module/components/Icon/icons.generated.js.map +1 -0
- package/lib/module/components/Icon/index.js +5 -0
- package/lib/module/components/Icon/index.js.map +1 -0
- package/lib/module/components/IconButton/IconButton.js +135 -0
- package/lib/module/components/IconButton/IconButton.js.map +1 -0
- package/lib/module/components/IconButton/IconButton.stories.js +115 -0
- package/lib/module/components/IconButton/IconButton.stories.js.map +1 -0
- package/lib/module/components/IconButton/IconButton.test.js +54 -0
- package/lib/module/components/IconButton/IconButton.test.js.map +1 -0
- package/lib/module/components/IconButton/index.js +4 -0
- package/lib/module/components/IconButton/index.js.map +1 -0
- package/lib/module/components/Input/Input.js +174 -0
- package/lib/module/components/Input/Input.js.map +1 -0
- package/lib/module/components/Input/Input.stories.js +112 -0
- package/lib/module/components/Input/Input.stories.js.map +1 -0
- package/lib/module/components/Input/Input.test.js +103 -0
- package/lib/module/components/Input/Input.test.js.map +1 -0
- package/lib/module/components/Input/index.js +4 -0
- package/lib/module/components/Input/index.js.map +1 -0
- package/lib/module/components/LinkButton/LinkButton.js +91 -0
- package/lib/module/components/LinkButton/LinkButton.js.map +1 -0
- package/lib/module/components/LinkButton/LinkButton.stories.js +87 -0
- package/lib/module/components/LinkButton/LinkButton.stories.js.map +1 -0
- package/lib/module/components/LinkButton/LinkButton.test.js +60 -0
- package/lib/module/components/LinkButton/LinkButton.test.js.map +1 -0
- package/lib/module/components/LinkButton/index.js +4 -0
- package/lib/module/components/LinkButton/index.js.map +1 -0
- package/lib/module/components/ProductCard/ProductCard.js +163 -0
- package/lib/module/components/ProductCard/ProductCard.js.map +1 -0
- package/lib/module/components/ProductCard/ProductCard.stories.js +114 -0
- package/lib/module/components/ProductCard/ProductCard.stories.js.map +1 -0
- package/lib/module/components/ProductCard/ProductCard.test.js +68 -0
- package/lib/module/components/ProductCard/ProductCard.test.js.map +1 -0
- package/lib/module/components/ProductCard/index.js +4 -0
- package/lib/module/components/ProductCard/index.js.map +1 -0
- package/lib/module/components/QuantityStepper/QuantityStepper.js +131 -0
- package/lib/module/components/QuantityStepper/QuantityStepper.js.map +1 -0
- package/lib/module/components/QuantityStepper/QuantityStepper.stories.js +86 -0
- package/lib/module/components/QuantityStepper/QuantityStepper.stories.js.map +1 -0
- package/lib/module/components/QuantityStepper/QuantityStepper.test.js +99 -0
- package/lib/module/components/QuantityStepper/QuantityStepper.test.js.map +1 -0
- package/lib/module/components/QuantityStepper/index.js +4 -0
- package/lib/module/components/QuantityStepper/index.js.map +1 -0
- package/lib/module/components/Radio/Radio.js +55 -0
- package/lib/module/components/Radio/Radio.js.map +1 -0
- package/lib/module/components/Radio/Radio.stories.js +56 -0
- package/lib/module/components/Radio/Radio.stories.js.map +1 -0
- package/lib/module/components/Radio/Radio.test.js +45 -0
- package/lib/module/components/Radio/Radio.test.js.map +1 -0
- package/lib/module/components/Radio/index.js +4 -0
- package/lib/module/components/Radio/index.js.map +1 -0
- package/lib/module/components/Surface/Surface.js +80 -0
- package/lib/module/components/Surface/Surface.js.map +1 -0
- package/lib/module/components/Surface/Surface.stories.js +93 -0
- package/lib/module/components/Surface/Surface.stories.js.map +1 -0
- package/lib/module/components/Surface/Surface.test.js +57 -0
- package/lib/module/components/Surface/Surface.test.js.map +1 -0
- package/lib/module/components/Surface/index.js +4 -0
- package/lib/module/components/Surface/index.js.map +1 -0
- package/lib/module/components/Switch/Switch.js +105 -0
- package/lib/module/components/Switch/Switch.js.map +1 -0
- package/lib/module/components/Switch/Switch.stories.js +85 -0
- package/lib/module/components/Switch/Switch.stories.js.map +1 -0
- package/lib/module/components/Switch/Switch.test.js +45 -0
- package/lib/module/components/Switch/Switch.test.js.map +1 -0
- package/lib/module/components/Switch/index.js +4 -0
- package/lib/module/components/Switch/index.js.map +1 -0
- package/lib/module/components/Text/Text.js +35 -0
- package/lib/module/components/Text/Text.js.map +1 -0
- package/lib/module/components/Text/Text.stories.js +43 -0
- package/lib/module/components/Text/Text.stories.js.map +1 -0
- package/lib/module/components/Text/index.js +4 -0
- package/lib/module/components/Text/index.js.map +1 -0
- package/lib/module/components/_internal/Labeled.js +46 -0
- package/lib/module/components/_internal/Labeled.js.map +1 -0
- package/lib/module/components/brand/Flag.js +41 -0
- package/lib/module/components/brand/Flag.js.map +1 -0
- package/lib/module/components/brand/Flag.stories.js +55 -0
- package/lib/module/components/brand/Flag.stories.js.map +1 -0
- package/lib/module/components/brand/Logo.js +26 -0
- package/lib/module/components/brand/Logo.js.map +1 -0
- package/lib/module/components/brand/Logo.stories.js +55 -0
- package/lib/module/components/brand/Logo.stories.js.map +1 -0
- package/lib/module/components/brand/brand.test.js +38 -0
- package/lib/module/components/brand/brand.test.js.map +1 -0
- package/lib/module/components/brand/generated/FlagBr.js +90 -0
- package/lib/module/components/brand/generated/FlagBr.js.map +1 -0
- package/lib/module/components/brand/generated/FlagUs.js +76 -0
- package/lib/module/components/brand/generated/FlagUs.js.map +1 -0
- package/lib/module/components/brand/generated/Mastercard.js +37 -0
- package/lib/module/components/brand/generated/Mastercard.js.map +1 -0
- package/lib/module/components/brand/generated/Visa.js +94 -0
- package/lib/module/components/brand/generated/Visa.js.map +1 -0
- package/lib/module/components/brand/index.js +6 -0
- package/lib/module/components/brand/index.js.map +1 -0
- package/lib/module/components/brand/registry.js +31 -0
- package/lib/module/components/brand/registry.js.map +1 -0
- package/lib/module/components/index.js +20 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/index.js +10 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/theme/ThemeProvider.js +46 -0
- package/lib/module/theme/ThemeProvider.js.map +1 -0
- package/lib/module/theme/ThemeProvider.test.js +64 -0
- package/lib/module/theme/ThemeProvider.test.js.map +1 -0
- package/lib/module/theme/index.js +8 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/palette.js +90 -0
- package/lib/module/theme/palette.js.map +1 -0
- package/lib/module/theme/spacing.js +34 -0
- package/lib/module/theme/spacing.js.map +1 -0
- package/lib/module/theme/themes.js +166 -0
- package/lib/module/theme/themes.js.map +1 -0
- package/lib/module/theme/typography.js +61 -0
- package/lib/module/theme/typography.js.map +1 -0
- package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +31 -0
- package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Avatar/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Avatar/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Button/Button.d.ts +40 -0
- package/lib/typescript/commonjs/components/Button/Button.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Button/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Button/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Card/Card.d.ts +32 -0
- package/lib/typescript/commonjs/components/Card/Card.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Card/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Card/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +25 -0
- package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Checkbox/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Checkbox/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Chip/Chip.d.ts +40 -0
- package/lib/typescript/commonjs/components/Chip/Chip.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Chip/ChipGroup.d.ts +49 -0
- package/lib/typescript/commonjs/components/Chip/ChipGroup.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Chip/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/Chip/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/CodeInput/CodeInput.d.ts +41 -0
- package/lib/typescript/commonjs/components/CodeInput/CodeInput.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/CodeInput/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/CodeInput/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Icon/Icon.d.ts +19 -0
- package/lib/typescript/commonjs/components/Icon/Icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Icon/icons.generated.d.ts +171 -0
- package/lib/typescript/commonjs/components/Icon/icons.generated.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Icon/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/Icon/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts +34 -0
- package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/IconButton/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/IconButton/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Input/Input.d.ts +38 -0
- package/lib/typescript/commonjs/components/Input/Input.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Input/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Input/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/LinkButton/LinkButton.d.ts +31 -0
- package/lib/typescript/commonjs/components/LinkButton/LinkButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/LinkButton/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/LinkButton/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/ProductCard/ProductCard.d.ts +31 -0
- package/lib/typescript/commonjs/components/ProductCard/ProductCard.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/ProductCard/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/ProductCard/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/QuantityStepper/QuantityStepper.d.ts +36 -0
- package/lib/typescript/commonjs/components/QuantityStepper/QuantityStepper.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/QuantityStepper/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/QuantityStepper/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Radio/Radio.d.ts +23 -0
- package/lib/typescript/commonjs/components/Radio/Radio.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Radio/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Radio/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Surface/Surface.d.ts +31 -0
- package/lib/typescript/commonjs/components/Surface/Surface.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Surface/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Surface/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Switch/Switch.d.ts +26 -0
- package/lib/typescript/commonjs/components/Switch/Switch.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Switch/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Switch/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Text/Text.d.ts +21 -0
- package/lib/typescript/commonjs/components/Text/Text.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Text/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Text/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/_internal/Labeled.d.ts +27 -0
- package/lib/typescript/commonjs/components/_internal/Labeled.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/Flag.d.ts +14 -0
- package/lib/typescript/commonjs/components/brand/Flag.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/Logo.d.ts +15 -0
- package/lib/typescript/commonjs/components/brand/Logo.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/generated/FlagBr.d.ts +4 -0
- package/lib/typescript/commonjs/components/brand/generated/FlagBr.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/generated/FlagUs.d.ts +4 -0
- package/lib/typescript/commonjs/components/brand/generated/FlagUs.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/generated/Mastercard.d.ts +4 -0
- package/lib/typescript/commonjs/components/brand/generated/Mastercard.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/generated/Visa.d.ts +4 -0
- package/lib/typescript/commonjs/components/brand/generated/Visa.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/index.d.ts +4 -0
- package/lib/typescript/commonjs/components/brand/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/brand/registry.d.ts +33 -0
- package/lib/typescript/commonjs/components/brand/registry.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/index.d.ts +19 -0
- package/lib/typescript/commonjs/components/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +8 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/theme/ThemeProvider.d.ts +29 -0
- package/lib/typescript/commonjs/theme/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/index.d.ts +6 -0
- package/lib/typescript/commonjs/theme/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/palette.d.ts +89 -0
- package/lib/typescript/commonjs/theme/palette.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/spacing.d.ts +34 -0
- package/lib/typescript/commonjs/theme/spacing.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/themes.d.ts +93 -0
- package/lib/typescript/commonjs/theme/themes.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/typography.d.ts +60 -0
- package/lib/typescript/commonjs/theme/typography.d.ts.map +1 -0
- package/lib/typescript/module/components/Avatar/Avatar.d.ts +31 -0
- package/lib/typescript/module/components/Avatar/Avatar.d.ts.map +1 -0
- package/lib/typescript/module/components/Avatar/index.d.ts +2 -0
- package/lib/typescript/module/components/Avatar/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Button/Button.d.ts +40 -0
- package/lib/typescript/module/components/Button/Button.d.ts.map +1 -0
- package/lib/typescript/module/components/Button/index.d.ts +2 -0
- package/lib/typescript/module/components/Button/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Card/Card.d.ts +32 -0
- package/lib/typescript/module/components/Card/Card.d.ts.map +1 -0
- package/lib/typescript/module/components/Card/index.d.ts +2 -0
- package/lib/typescript/module/components/Card/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +25 -0
- package/lib/typescript/module/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/lib/typescript/module/components/Checkbox/index.d.ts +2 -0
- package/lib/typescript/module/components/Checkbox/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Chip/Chip.d.ts +40 -0
- package/lib/typescript/module/components/Chip/Chip.d.ts.map +1 -0
- package/lib/typescript/module/components/Chip/ChipGroup.d.ts +49 -0
- package/lib/typescript/module/components/Chip/ChipGroup.d.ts.map +1 -0
- package/lib/typescript/module/components/Chip/index.d.ts +3 -0
- package/lib/typescript/module/components/Chip/index.d.ts.map +1 -0
- package/lib/typescript/module/components/CodeInput/CodeInput.d.ts +41 -0
- package/lib/typescript/module/components/CodeInput/CodeInput.d.ts.map +1 -0
- package/lib/typescript/module/components/CodeInput/index.d.ts +2 -0
- package/lib/typescript/module/components/CodeInput/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Icon/Icon.d.ts +19 -0
- package/lib/typescript/module/components/Icon/Icon.d.ts.map +1 -0
- package/lib/typescript/module/components/Icon/icons.generated.d.ts +171 -0
- package/lib/typescript/module/components/Icon/icons.generated.d.ts.map +1 -0
- package/lib/typescript/module/components/Icon/index.d.ts +3 -0
- package/lib/typescript/module/components/Icon/index.d.ts.map +1 -0
- package/lib/typescript/module/components/IconButton/IconButton.d.ts +34 -0
- package/lib/typescript/module/components/IconButton/IconButton.d.ts.map +1 -0
- package/lib/typescript/module/components/IconButton/index.d.ts +2 -0
- package/lib/typescript/module/components/IconButton/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Input/Input.d.ts +38 -0
- package/lib/typescript/module/components/Input/Input.d.ts.map +1 -0
- package/lib/typescript/module/components/Input/index.d.ts +2 -0
- package/lib/typescript/module/components/Input/index.d.ts.map +1 -0
- package/lib/typescript/module/components/LinkButton/LinkButton.d.ts +31 -0
- package/lib/typescript/module/components/LinkButton/LinkButton.d.ts.map +1 -0
- package/lib/typescript/module/components/LinkButton/index.d.ts +2 -0
- package/lib/typescript/module/components/LinkButton/index.d.ts.map +1 -0
- package/lib/typescript/module/components/ProductCard/ProductCard.d.ts +31 -0
- package/lib/typescript/module/components/ProductCard/ProductCard.d.ts.map +1 -0
- package/lib/typescript/module/components/ProductCard/index.d.ts +2 -0
- package/lib/typescript/module/components/ProductCard/index.d.ts.map +1 -0
- package/lib/typescript/module/components/QuantityStepper/QuantityStepper.d.ts +36 -0
- package/lib/typescript/module/components/QuantityStepper/QuantityStepper.d.ts.map +1 -0
- package/lib/typescript/module/components/QuantityStepper/index.d.ts +2 -0
- package/lib/typescript/module/components/QuantityStepper/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Radio/Radio.d.ts +23 -0
- package/lib/typescript/module/components/Radio/Radio.d.ts.map +1 -0
- package/lib/typescript/module/components/Radio/index.d.ts +2 -0
- package/lib/typescript/module/components/Radio/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Surface/Surface.d.ts +31 -0
- package/lib/typescript/module/components/Surface/Surface.d.ts.map +1 -0
- package/lib/typescript/module/components/Surface/index.d.ts +2 -0
- package/lib/typescript/module/components/Surface/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Switch/Switch.d.ts +26 -0
- package/lib/typescript/module/components/Switch/Switch.d.ts.map +1 -0
- package/lib/typescript/module/components/Switch/index.d.ts +2 -0
- package/lib/typescript/module/components/Switch/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Text/Text.d.ts +21 -0
- package/lib/typescript/module/components/Text/Text.d.ts.map +1 -0
- package/lib/typescript/module/components/Text/index.d.ts +2 -0
- package/lib/typescript/module/components/Text/index.d.ts.map +1 -0
- package/lib/typescript/module/components/_internal/Labeled.d.ts +27 -0
- package/lib/typescript/module/components/_internal/Labeled.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/Flag.d.ts +14 -0
- package/lib/typescript/module/components/brand/Flag.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/Logo.d.ts +15 -0
- package/lib/typescript/module/components/brand/Logo.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/generated/FlagBr.d.ts +4 -0
- package/lib/typescript/module/components/brand/generated/FlagBr.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/generated/FlagUs.d.ts +4 -0
- package/lib/typescript/module/components/brand/generated/FlagUs.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/generated/Mastercard.d.ts +4 -0
- package/lib/typescript/module/components/brand/generated/Mastercard.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/generated/Visa.d.ts +4 -0
- package/lib/typescript/module/components/brand/generated/Visa.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/index.d.ts +4 -0
- package/lib/typescript/module/components/brand/index.d.ts.map +1 -0
- package/lib/typescript/module/components/brand/registry.d.ts +33 -0
- package/lib/typescript/module/components/brand/registry.d.ts.map +1 -0
- package/lib/typescript/module/components/index.d.ts +19 -0
- package/lib/typescript/module/components/index.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +8 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/theme/ThemeProvider.d.ts +29 -0
- package/lib/typescript/module/theme/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/module/theme/index.d.ts +6 -0
- package/lib/typescript/module/theme/index.d.ts.map +1 -0
- package/lib/typescript/module/theme/palette.d.ts +89 -0
- package/lib/typescript/module/theme/palette.d.ts.map +1 -0
- package/lib/typescript/module/theme/spacing.d.ts +34 -0
- package/lib/typescript/module/theme/spacing.d.ts.map +1 -0
- package/lib/typescript/module/theme/themes.d.ts +93 -0
- package/lib/typescript/module/theme/themes.d.ts.map +1 -0
- package/lib/typescript/module/theme/typography.d.ts +60 -0
- package/lib/typescript/module/theme/typography.d.ts.map +1 -0
- package/package.json +116 -0
- package/src/components/Avatar/Avatar.tsx +111 -0
- package/src/components/Avatar/index.ts +1 -0
- package/src/components/Button/Button.tsx +216 -0
- package/src/components/Button/index.ts +6 -0
- package/src/components/Card/Card.tsx +145 -0
- package/src/components/Card/index.ts +1 -0
- package/src/components/Checkbox/Checkbox.tsx +86 -0
- package/src/components/Checkbox/index.ts +1 -0
- package/src/components/Chip/Chip.tsx +126 -0
- package/src/components/Chip/ChipGroup.tsx +88 -0
- package/src/components/Chip/index.ts +2 -0
- package/src/components/CodeInput/CodeInput.tsx +200 -0
- package/src/components/CodeInput/index.ts +1 -0
- package/src/components/Icon/Icon.tsx +32 -0
- package/src/components/Icon/icons.generated.ts +174 -0
- package/src/components/Icon/index.ts +2 -0
- package/src/components/IconButton/IconButton.tsx +156 -0
- package/src/components/IconButton/index.ts +7 -0
- package/src/components/Input/Input.tsx +230 -0
- package/src/components/Input/index.ts +1 -0
- package/src/components/LinkButton/LinkButton.tsx +118 -0
- package/src/components/LinkButton/index.ts +6 -0
- package/src/components/ProductCard/ProductCard.tsx +176 -0
- package/src/components/ProductCard/index.ts +1 -0
- package/src/components/QuantityStepper/QuantityStepper.tsx +162 -0
- package/src/components/QuantityStepper/index.ts +5 -0
- package/src/components/Radio/Radio.tsx +76 -0
- package/src/components/Radio/index.ts +1 -0
- package/src/components/Surface/Surface.tsx +99 -0
- package/src/components/Surface/index.ts +6 -0
- package/src/components/Switch/Switch.tsx +110 -0
- package/src/components/Switch/index.ts +1 -0
- package/src/components/Text/Text.tsx +51 -0
- package/src/components/Text/index.ts +1 -0
- package/src/components/_internal/Labeled.tsx +72 -0
- package/src/components/brand/Flag.tsx +41 -0
- package/src/components/brand/Logo.tsx +23 -0
- package/src/components/brand/generated/FlagBr.tsx +8 -0
- package/src/components/brand/generated/FlagUs.tsx +7 -0
- package/src/components/brand/generated/Mastercard.tsx +4 -0
- package/src/components/brand/generated/Visa.tsx +4 -0
- package/src/components/brand/index.ts +3 -0
- package/src/components/brand/registry.ts +27 -0
- package/src/components/index.ts +19 -0
- package/src/index.tsx +7 -0
- package/src/theme/ThemeProvider.tsx +66 -0
- package/src/theme/index.ts +31 -0
- package/src/theme/palette.ts +89 -0
- package/src/theme/spacing.ts +37 -0
- package/src/theme/themes.ts +248 -0
- package/src/theme/typography.ts +37 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Bacon POS
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# @bacon-pos/ui
|
|
2
|
+
|
|
3
|
+
Bacon POS design system — a scalable **React Native** component library, built
|
|
4
|
+
from the Figma design system and published to npm. Works with Expo (SDK 53+)
|
|
5
|
+
and bare React Native.
|
|
6
|
+
|
|
7
|
+
- **Zero-config for consumers** — ships compiled JS + type definitions. No babel
|
|
8
|
+
or metro changes required in the app.
|
|
9
|
+
- **Token-driven** — colors, typography, spacing and radii come straight from
|
|
10
|
+
Figma. Components read semantic tokens, so light/dark and custom brand themes
|
|
11
|
+
just work.
|
|
12
|
+
- **Versioned with [changesets](https://github.com/changesets/changesets)** —
|
|
13
|
+
every added component ships as a new semver release.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Installation (in the app)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx expo install @bacon-pos/ui react-native-svg
|
|
21
|
+
# peer deps react + react-native are already in an Expo app
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
> **Requires the New Architecture** (default in Expo SDK 53). The `Input` focus
|
|
25
|
+
> ring uses RN's `boxShadow` (colored spread), which renders on iOS, Android and
|
|
26
|
+
> web only under the New Architecture. Border colors still work everywhere.
|
|
27
|
+
|
|
28
|
+
Wrap your app in the `ThemeProvider` once:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { ThemeProvider } from '@bacon-pos/ui';
|
|
32
|
+
|
|
33
|
+
export default function App() {
|
|
34
|
+
return (
|
|
35
|
+
<ThemeProvider mode="light">
|
|
36
|
+
{/* ...your navigation / screens */}
|
|
37
|
+
</ThemeProvider>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Use components anywhere below it:
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { Button, Text, Icon } from '@bacon-pos/ui';
|
|
46
|
+
|
|
47
|
+
<Text variant="h2" weight="semibold">Checkout</Text>
|
|
48
|
+
<Button label="Place order" variant="default" onPress={pay} />
|
|
49
|
+
<Button
|
|
50
|
+
label="Search"
|
|
51
|
+
variant="secondary"
|
|
52
|
+
leftIcon={<Icon name="search" size={20} />}
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
// Icon on top — only for shape="square"
|
|
56
|
+
<Button
|
|
57
|
+
label="Make a sale"
|
|
58
|
+
shape="square"
|
|
59
|
+
topIcon={<Icon name="plus" size={24} color="#121416" />}
|
|
60
|
+
/>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`Button` and `LinkButton` accept `leftIcon` / `rightIcon`. The square `Button`
|
|
64
|
+
additionally accepts `topIcon` (vertical stack). `IconButton` is icon-only.
|
|
65
|
+
|
|
66
|
+
### Icons
|
|
67
|
+
|
|
68
|
+
Icons are themeable SVGs (`react-native-svg`). Tint with `color` (a text token
|
|
69
|
+
or any color string) and size with `size`:
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
<Icon name="check" size={24} color="#008C57" />
|
|
73
|
+
<Icon name="trash" color="secondary" />
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Adding icons** — export the SVG from Figma, drop it into `assets/icons/<kebab-name>.svg`,
|
|
77
|
+
then run:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
pnpm gen:icons
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
This regenerates `src/components/Icon/icons.generated.ts` and the `IconName`
|
|
84
|
+
union (autocomplete). Each icon is stored as a normalized SVG string and rendered
|
|
85
|
+
via `react-native-svg`'s `SvgXml`, so stroke icons, compound fills and circles
|
|
86
|
+
all render faithfully; colors are rewritten to `currentColor` so `color` tints them.
|
|
87
|
+
|
|
88
|
+
**Multicolor brand assets** (card logos, flags) live separately as `Logo` and
|
|
89
|
+
`Flag`. They are pre-compiled to real `react-native-svg` components with SVGR
|
|
90
|
+
(`assets/graphics/` → `pnpm gen:graphics`), because gradients / clip-paths /
|
|
91
|
+
masks don't render reliably through runtime `SvgXml`. Their brand colors are
|
|
92
|
+
preserved (not tinted).
|
|
93
|
+
|
|
94
|
+
### Fonts (Inter)
|
|
95
|
+
|
|
96
|
+
The type scale uses **Inter**. Load it in the app (fonts can't be bundled from a
|
|
97
|
+
library reliably); if not loaded, RN falls back to the system font.
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
npx expo install @expo-google-fonts/inter expo-font
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
import {
|
|
105
|
+
useFonts,
|
|
106
|
+
Inter_400Regular,
|
|
107
|
+
Inter_500Medium,
|
|
108
|
+
Inter_600SemiBold,
|
|
109
|
+
} from '@expo-google-fonts/inter';
|
|
110
|
+
|
|
111
|
+
const [loaded] = useFonts({
|
|
112
|
+
'Inter-Regular': Inter_400Regular,
|
|
113
|
+
'Inter-Medium': Inter_500Medium,
|
|
114
|
+
'Inter-SemiBold': Inter_600SemiBold,
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Theming
|
|
121
|
+
|
|
122
|
+
Access the active theme anywhere with `useTheme()`:
|
|
123
|
+
|
|
124
|
+
```tsx
|
|
125
|
+
import { useTheme } from '@bacon-pos/ui';
|
|
126
|
+
|
|
127
|
+
const theme = useTheme();
|
|
128
|
+
// theme.colors.brand.primary, theme.spacing.lg, theme.radii.md, ...
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Custom brand theme:
|
|
132
|
+
|
|
133
|
+
```tsx
|
|
134
|
+
import { ThemeProvider, lightTheme, type Theme } from '@bacon-pos/ui';
|
|
135
|
+
|
|
136
|
+
const brand: Theme = {
|
|
137
|
+
...lightTheme,
|
|
138
|
+
colors: { ...lightTheme.colors, brand: { ...lightTheme.colors.brand, primary: '#123456' } },
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
<ThemeProvider theme={brand}>{children}</ThemeProvider>;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Exposed tokens: `palette`, `typography`, `fontFamily`, `fontWeight`, `spacing`,
|
|
145
|
+
`radii`, `space(n)`, `lightTheme`, `darkTheme`, `textStyle(theme, variant, weight)`.
|
|
146
|
+
|
|
147
|
+
### Typography (global by default, overridable)
|
|
148
|
+
|
|
149
|
+
The Figma type scale (Inter — Display / H1–H3 / Body / Caption) ships in the
|
|
150
|
+
theme, so **every component uses it automatically**. You don't wire anything up.
|
|
151
|
+
|
|
152
|
+
Override it in one place with `overrides` (deep-merged onto the base theme,
|
|
153
|
+
applies to every current and future component):
|
|
154
|
+
|
|
155
|
+
```tsx
|
|
156
|
+
<ThemeProvider
|
|
157
|
+
overrides={{
|
|
158
|
+
fontFamily: { regular: 'Poppins-Regular', medium: 'Poppins-Medium' },
|
|
159
|
+
typography: { h1: { fontSize: 30, lineHeight: 38 } },
|
|
160
|
+
}}
|
|
161
|
+
>
|
|
162
|
+
{children}
|
|
163
|
+
</ThemeProvider>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Override for a single instance with the `style` prop:
|
|
167
|
+
|
|
168
|
+
```tsx
|
|
169
|
+
<Text variant="h1" style={{ fontSize: 28, letterSpacing: 0.5 }}>Title</Text>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Building a component that renders text without `<Text>`? Use the helper so it
|
|
173
|
+
honors global overrides too:
|
|
174
|
+
|
|
175
|
+
```tsx
|
|
176
|
+
import { useTheme, textStyle } from '@bacon-pos/ui';
|
|
177
|
+
|
|
178
|
+
const theme = useTheme();
|
|
179
|
+
const style = textStyle(theme, 'bodyMedium', 'medium'); // full TextStyle
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Local development
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
pnpm install
|
|
188
|
+
pnpm storybook # component explorer at http://localhost:6006
|
|
189
|
+
pnpm test # unit tests (Jest + RN Testing Library)
|
|
190
|
+
pnpm typecheck # tsc --noEmit
|
|
191
|
+
pnpm build # compile to lib/ via react-native-builder-bob
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Adding a component
|
|
195
|
+
|
|
196
|
+
1. Create `src/components/<Name>/` with `<Name>.tsx`, `<Name>.stories.tsx`,
|
|
197
|
+
`<Name>.test.tsx`, and `index.ts`.
|
|
198
|
+
2. Read tokens from `useTheme()` — never hardcode colors or spacing.
|
|
199
|
+
3. Re-export it from `src/components/index.ts`.
|
|
200
|
+
4. Add a changeset (see below).
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Releasing a new version
|
|
205
|
+
|
|
206
|
+
1. Record what changed:
|
|
207
|
+
```bash
|
|
208
|
+
pnpm changeset
|
|
209
|
+
```
|
|
210
|
+
Choose **patch** (fixes), **minor** (new components / props) or **major**
|
|
211
|
+
(breaking changes) and write a summary.
|
|
212
|
+
2. Apply the version bump + changelog:
|
|
213
|
+
```bash
|
|
214
|
+
pnpm version
|
|
215
|
+
```
|
|
216
|
+
3. Publish to npm (requires `npm login` or an `NPM_TOKEN`):
|
|
217
|
+
```bash
|
|
218
|
+
pnpm release
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
> **Never commit npm tokens.** Use `npm login`, or set `NPM_TOKEN` as an
|
|
222
|
+
> environment variable / CI secret. `.npmrc` is gitignored.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Roadmap
|
|
227
|
+
|
|
228
|
+
Built from the Figma design system (colors, typography, ~150 icons, inputs,
|
|
229
|
+
etc.). Current components: `Button`, `IconButton`, `LinkButton`, `Input`, `Card`,
|
|
230
|
+
`ProductCard`, `Surface`, `Text`, `Icon` (167 icons — 24px outline + fill + 20px
|
|
231
|
+
optical set), plus multicolor `Logo` (Visa/Mastercard) and `Flag` (US/BR) brand
|
|
232
|
+
assets, `QuantityStepper`, `CodeInput` (PIN), `Chip` + `ChipGroup` (single/multi
|
|
233
|
+
select), `Avatar` (photo or initials), and form controls `Checkbox`, `Radio`,
|
|
234
|
+
`Switch` (each standalone or with a positionable `label`). The Figma
|
|
235
|
+
"loader" is an animated ring, not an icon — use RN's `ActivityIndicator`
|
|
236
|
+
(Button/LinkButton already do).
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Avatar = Avatar;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _index = require("../../theme/index.js");
|
|
10
|
+
var _Text = require("../Text/Text.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
const SIZES = {
|
|
13
|
+
sm: {
|
|
14
|
+
diameter: 32,
|
|
15
|
+
text: 'bodySmall'
|
|
16
|
+
},
|
|
17
|
+
md: {
|
|
18
|
+
diameter: 40,
|
|
19
|
+
text: 'bodyMedium'
|
|
20
|
+
},
|
|
21
|
+
lg: {
|
|
22
|
+
diameter: 56,
|
|
23
|
+
text: 'h3'
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
function getInitials(name, explicit, count) {
|
|
27
|
+
if (explicit) return explicit.slice(0, count).toUpperCase();
|
|
28
|
+
if (!name) return '';
|
|
29
|
+
const words = name.trim().split(/\s+/).filter(Boolean);
|
|
30
|
+
const first = words[0];
|
|
31
|
+
if (!first) return '';
|
|
32
|
+
if (count === 1) return first.charAt(0).toUpperCase();
|
|
33
|
+
const second = words[1];
|
|
34
|
+
if (second) return (first.charAt(0) + second.charAt(0)).toUpperCase();
|
|
35
|
+
return first.slice(0, 2).toUpperCase();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Avatar — circular user image with an initials fallback. Shows the photo when
|
|
40
|
+
* `source` loads; otherwise shows 1–2 uppercase initials on a lighter background.
|
|
41
|
+
* Sizes: sm / md / lg.
|
|
42
|
+
*/
|
|
43
|
+
function Avatar({
|
|
44
|
+
source,
|
|
45
|
+
name,
|
|
46
|
+
initials,
|
|
47
|
+
initialsCount = 2,
|
|
48
|
+
size = 'md',
|
|
49
|
+
diameter,
|
|
50
|
+
color,
|
|
51
|
+
backgroundColor,
|
|
52
|
+
style,
|
|
53
|
+
accessibilityLabel
|
|
54
|
+
}) {
|
|
55
|
+
const theme = (0, _index.useTheme)();
|
|
56
|
+
const cfg = SIZES[size];
|
|
57
|
+
const [errored, setErrored] = (0, _react.useState)(false);
|
|
58
|
+
const showImage = source != null && !errored;
|
|
59
|
+
const d = diameter ?? cfg.diameter;
|
|
60
|
+
const bg = backgroundColor ?? theme.colors.background.muted;
|
|
61
|
+
const fg = color ?? theme.colors.text.secondary;
|
|
62
|
+
// With a custom diameter, scale the initials to fit; otherwise use the preset.
|
|
63
|
+
const initialsStyle = diameter ? {
|
|
64
|
+
fontSize: Math.round(d * 0.4),
|
|
65
|
+
lineHeight: Math.round(d * 0.5)
|
|
66
|
+
} : undefined;
|
|
67
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
68
|
+
accessibilityRole: "image",
|
|
69
|
+
accessibilityLabel: accessibilityLabel ?? name,
|
|
70
|
+
style: [{
|
|
71
|
+
width: d,
|
|
72
|
+
height: d,
|
|
73
|
+
borderRadius: d / 2,
|
|
74
|
+
overflow: 'hidden',
|
|
75
|
+
alignItems: 'center',
|
|
76
|
+
justifyContent: 'center',
|
|
77
|
+
backgroundColor: showImage ? theme.colors.background.default : bg
|
|
78
|
+
}, style],
|
|
79
|
+
children: showImage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
80
|
+
source: source,
|
|
81
|
+
resizeMode: "cover",
|
|
82
|
+
onError: () => setErrored(true),
|
|
83
|
+
style: {
|
|
84
|
+
width: '100%',
|
|
85
|
+
height: '100%'
|
|
86
|
+
}
|
|
87
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
88
|
+
variant: cfg.text,
|
|
89
|
+
weight: "semibold",
|
|
90
|
+
color: fg,
|
|
91
|
+
style: initialsStyle,
|
|
92
|
+
children: getInitials(name, initials, initialsCount)
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_index","_Text","_jsxRuntime","SIZES","sm","diameter","text","md","lg","getInitials","name","explicit","count","slice","toUpperCase","words","trim","split","filter","Boolean","first","charAt","second","Avatar","source","initials","initialsCount","size","color","backgroundColor","style","accessibilityLabel","theme","useTheme","cfg","errored","setErrored","useState","showImage","d","bg","colors","background","muted","fg","secondary","initialsStyle","fontSize","Math","round","lineHeight","undefined","jsx","View","accessibilityRole","width","height","borderRadius","overflow","alignItems","justifyContent","default","children","Image","resizeMode","onError","Text","variant","weight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.WithPhoto = exports.Sizes = exports.InitialsTwo = exports.InitialsOne = exports.CustomDiameter = exports.CustomColor = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _Avatar = require("./Avatar.js");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
const PHOTO = {
|
|
11
|
+
uri: 'https://i.pravatar.cc/150?img=5'
|
|
12
|
+
};
|
|
13
|
+
const meta = {
|
|
14
|
+
title: 'Components/Avatar',
|
|
15
|
+
component: _Avatar.Avatar,
|
|
16
|
+
args: {
|
|
17
|
+
name: 'Ada Lovelace',
|
|
18
|
+
size: 'md'
|
|
19
|
+
},
|
|
20
|
+
argTypes: {
|
|
21
|
+
size: {
|
|
22
|
+
control: 'inline-radio',
|
|
23
|
+
options: ['sm', 'md', 'lg']
|
|
24
|
+
},
|
|
25
|
+
initialsCount: {
|
|
26
|
+
control: 'inline-radio',
|
|
27
|
+
options: [1, 2]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
var _default = exports.default = meta;
|
|
32
|
+
const WithPhoto = exports.WithPhoto = {
|
|
33
|
+
args: {
|
|
34
|
+
source: PHOTO
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const InitialsTwo = exports.InitialsTwo = {
|
|
38
|
+
args: {
|
|
39
|
+
initialsCount: 2
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const InitialsOne = exports.InitialsOne = {
|
|
43
|
+
args: {
|
|
44
|
+
initialsCount: 1
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const CustomColor = exports.CustomColor = {
|
|
48
|
+
args: {
|
|
49
|
+
color: '#7D0013',
|
|
50
|
+
backgroundColor: '#FAE6E9'
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const CustomDiameter = exports.CustomDiameter = {
|
|
54
|
+
args: {
|
|
55
|
+
diameter: 80,
|
|
56
|
+
size: 'sm'
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const Sizes = exports.Sizes = {
|
|
60
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
61
|
+
style: {
|
|
62
|
+
flexDirection: 'row',
|
|
63
|
+
alignItems: 'center',
|
|
64
|
+
gap: 16
|
|
65
|
+
},
|
|
66
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
67
|
+
name: "Ada Lovelace",
|
|
68
|
+
size: "sm"
|
|
69
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
70
|
+
name: "Ada Lovelace",
|
|
71
|
+
size: "md"
|
|
72
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
73
|
+
name: "Ada Lovelace",
|
|
74
|
+
size: "lg"
|
|
75
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
76
|
+
source: PHOTO,
|
|
77
|
+
size: "sm"
|
|
78
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
79
|
+
source: PHOTO,
|
|
80
|
+
size: "md"
|
|
81
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
82
|
+
source: PHOTO,
|
|
83
|
+
size: "lg"
|
|
84
|
+
})]
|
|
85
|
+
})
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=Avatar.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_Avatar","_jsxRuntime","PHOTO","uri","meta","title","component","Avatar","args","name","size","argTypes","control","options","initialsCount","_default","exports","default","WithPhoto","source","InitialsTwo","InitialsOne","CustomColor","color","backgroundColor","CustomDiameter","diameter","Sizes","render","jsxs","View","style","flexDirection","alignItems","gap","children","jsx"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/Avatar.stories.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAAkC,IAAAE,WAAA,GAAAF,OAAA;AAElC,MAAMG,KAAK,GAAG;EAAEC,GAAG,EAAE;AAAkC,CAAC;AAExD,MAAMC,IAAI,GAAG;EACXC,KAAK,EAAE,mBAAmB;EAC1BC,SAAS,EAAEC,cAAM;EACjBC,IAAI,EAAE;IAAEC,IAAI,EAAE,cAAc;IAAEC,IAAI,EAAE;EAAK,CAAC;EAC1CC,QAAQ,EAAE;IACRD,IAAI,EAAE;MAAEE,OAAO,EAAE,cAAc;MAAEC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI;IAAE,CAAC;IAC9DC,aAAa,EAAE;MAAEF,OAAO,EAAE,cAAc;MAAEC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;IAAE;EAC5D;AACF,CAA+B;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEjBb,IAAI;AAGZ,MAAMc,SAAgB,GAAAF,OAAA,CAAAE,SAAA,GAAG;EAAEV,IAAI,EAAE;IAAEW,MAAM,EAAEjB;EAAM;AAAE,CAAC;AACpD,MAAMkB,WAAkB,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEZ,IAAI,EAAE;IAAEM,aAAa,EAAE;EAAE;AAAE,CAAC;AACzD,MAAMO,WAAkB,GAAAL,OAAA,CAAAK,WAAA,GAAG;EAAEb,IAAI,EAAE;IAAEM,aAAa,EAAE;EAAE;AAAE,CAAC;AACzD,MAAMQ,WAAkB,GAAAN,OAAA,CAAAM,WAAA,GAAG;EAChCd,IAAI,EAAE;IAAEe,KAAK,EAAE,SAAS;IAAEC,eAAe,EAAE;EAAU;AACvD,CAAC;AACM,MAAMC,cAAqB,GAAAT,OAAA,CAAAS,cAAA,GAAG;EACnCjB,IAAI,EAAE;IAAEkB,QAAQ,EAAE,EAAE;IAAEhB,IAAI,EAAE;EAAK;AACnC,CAAC;AAEM,MAAMiB,KAAY,GAAAX,OAAA,CAAAW,KAAA,GAAG;EAC1BC,MAAM,EAAEA,CAAA,kBACN,IAAA3B,WAAA,CAAA4B,IAAA,EAAC/B,YAAA,CAAAgC,IAAI;IAACC,KAAK,EAAE;MAAEC,aAAa,EAAE,KAAK;MAAEC,UAAU,EAAE,QAAQ;MAAEC,GAAG,EAAE;IAAG,CAAE;IAAAC,QAAA,gBACnE,IAAAlC,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACE,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC;IAAI,CAAE,CAAC,eACxC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACE,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC;IAAI,CAAE,CAAC,eACxC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACE,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC;IAAI,CAAE,CAAC,eACxC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACY,MAAM,EAAEjB,KAAM;MAACQ,IAAI,EAAC;IAAI,CAAE,CAAC,eACnC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACY,MAAM,EAAEjB,KAAM;MAACQ,IAAI,EAAC;IAAI,CAAE,CAAC,eACnC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACY,MAAM,EAAEjB,KAAM;MAACQ,IAAI,EAAC;IAAI,CAAE,CAAC;EAAA,CAC/B;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _reactNative = require("react-native");
|
|
5
|
+
var _reactNative2 = require("@testing-library/react-native");
|
|
6
|
+
var _Avatar = require("./Avatar.js");
|
|
7
|
+
var _index = require("../../theme/index.js");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function renderWithTheme(ui) {
|
|
11
|
+
return (0, _reactNative2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ThemeProvider, {
|
|
12
|
+
children: ui
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
describe('Avatar', () => {
|
|
16
|
+
it('derives two uppercase initials from a full name', () => {
|
|
17
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
18
|
+
name: "ada lovelace"
|
|
19
|
+
}));
|
|
20
|
+
expect(_reactNative2.screen.getByText('AL')).toBeTruthy();
|
|
21
|
+
});
|
|
22
|
+
it('shows a single initial when initialsCount is 1', () => {
|
|
23
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
24
|
+
name: "Ada Lovelace",
|
|
25
|
+
initialsCount: 1
|
|
26
|
+
}));
|
|
27
|
+
expect(_reactNative2.screen.getByText('A')).toBeTruthy();
|
|
28
|
+
});
|
|
29
|
+
it('uses the first two letters for a single-word name', () => {
|
|
30
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
31
|
+
name: "Ada",
|
|
32
|
+
initialsCount: 2
|
|
33
|
+
}));
|
|
34
|
+
expect(_reactNative2.screen.getByText('AD')).toBeTruthy();
|
|
35
|
+
});
|
|
36
|
+
it('respects explicit initials', () => {
|
|
37
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
38
|
+
initials: "xy"
|
|
39
|
+
}));
|
|
40
|
+
expect(_reactNative2.screen.getByText('XY')).toBeTruthy();
|
|
41
|
+
});
|
|
42
|
+
it('renders the image (no initials) when a source is given', () => {
|
|
43
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
44
|
+
name: "Ada Lovelace",
|
|
45
|
+
source: {
|
|
46
|
+
uri: 'x'
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
expect(_reactNative2.screen.queryByText('AL')).toBeNull();
|
|
50
|
+
});
|
|
51
|
+
it('uses a custom diameter over the size preset', () => {
|
|
52
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
53
|
+
name: "Ada Lovelace",
|
|
54
|
+
size: "sm",
|
|
55
|
+
diameter: 72
|
|
56
|
+
}));
|
|
57
|
+
const flat = _reactNative.StyleSheet.flatten(_reactNative2.screen.getByLabelText('Ada Lovelace').props.style);
|
|
58
|
+
expect(flat.width).toBe(72);
|
|
59
|
+
expect(flat.height).toBe(72);
|
|
60
|
+
expect(flat.borderRadius).toBe(36);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=Avatar.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_Avatar","_index","_jsxRuntime","e","__esModule","default","renderWithTheme","ui","render","jsx","ThemeProvider","children","describe","it","Avatar","name","expect","screen","getByText","toBeTruthy","initialsCount","initials","source","uri","queryByText","toBeNull","size","diameter","flat","StyleSheet","flatten","getByLabelText","props","style","width","toBe","height","borderRadius"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/Avatar.test.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Avatar", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Avatar.Avatar;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _Avatar = require("./Avatar.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Avatar","require"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA","ignoreList":[]}
|