- "content": "import { avatarAnatomy } from '@ark-ui/react/avatar'\nimport { defineSlotRecipe } from '@pandacss/dev'\n\nexport const avatar = defineSlotRecipe({\n className: 'avatar',\n slots: avatarAnatomy.keys(),\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'medium',\n position: 'relative',\n verticalAlign: 'top',\n flexShrink: '0',\n userSelect: 'none',\n width: 'var(--avatar-size)',\n height: 'var(--avatar-size)',\n fontSize: 'var(--avatar-font-size)',\n borderRadius: 'var(--avatar-radius)',\n '&[data-group-item]': {\n borderWidth: '0.125em',\n borderColor: 'bg.default',\n },\n },\n fallback: {\n lineHeight: '1',\n textTransform: 'uppercase',\n fontWeight: 'medium',\n fontSize: 'var(--avatar-font-size)',\n borderRadius: 'var(--avatar-radius)',\n },\n image: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n borderRadius: 'var(--avatar-radius)',\n },\n },\n defaultVariants: {\n size: 'md',\n shape: 'full',\n variant: 'subtle',\n },\n variants: {\n size: {\n full: {\n root: {\n '--avatar-size': '100%',\n '--avatar-font-size': '100%',\n },\n },\n '2xs': {\n root: {\n '--avatar-font-size': 'fontSizes.2xs',\n '--avatar-size': 'sizes.6',\n },\n },\n xs: {\n root: {\n '--avatar-font-size': 'fontSizes.xs',\n '--avatar-size': 'sizes.8',\n },\n },\n sm: {\n root: {\n '--avatar-font-size': 'fontSizes.sm',\n '--avatar-size': 'sizes.9',\n },\n },\n md: {\n root: {\n '--avatar-font-size': 'fontSizes.md',\n '--avatar-size': 'sizes.10',\n },\n },\n lg: {\n root: {\n '--avatar-font-size': 'fontSizes.md',\n '--avatar-size': 'sizes.11',\n },\n },\n xl: {\n root: {\n '--avatar-font-size': 'fontSizes.lg',\n '--avatar-size': 'sizes.12',\n },\n },\n '2xl': {\n root: {\n '--avatar-font-size': 'fontSizes.xl',\n '--avatar-size': 'sizes.16',\n },\n },\n },\n variant: {\n solid: {\n root: {\n background: 'colorPalette.solid.bg',\n color: 'colorPalette.solid.fg',\n },\n },\n surface: {\n root: {\n background: 'colorPalette.surface.bg',\n color: 'colorPalette.surface.fg',\n shadow: 'inset 0 0 0px 1px var(--shadow-color)',\n shadowColor: 'colorPalette.surface.border',\n },\n },\n subtle: {\n root: {\n background: 'colorPalette.subtle.bg',\n color: 'colorPalette.subtle.fg',\n },\n },\n outline: {\n root: {\n background: 'colorPalette.outline.bg',\n color: 'colorPalette.outline.fg',\n shadow: 'inset 0 0 0px 1px var(--shadow-color)',\n shadowColor: 'colorPalette.outline.border',\n },\n },\n },\n borderless: {\n true: {\n root: {\n '&[data-group-item]': {\n borderWidth: '0px',\n },\n },\n },\n },\n shape: {\n square: {},\n rounded: {\n root: { '--avatar-radius': 'radii.l3' },\n },\n full: {\n root: { '--avatar-radius': 'radii.full' },\n },\n },\n },\n})\n",
0 commit comments