{"version":3,"file":"Badge.cjs","sources":["../../../../src/components/data-display/badge/Badge.tsx"],"sourcesContent":["import { BADGE_STYLES } from '@components/data-display/badge/styles/Badge.css.ts'\r\nimport { BADGE_SIZE_TO_FONT_SIZE, BADGE_SIZE_TO_ICON_SIZE } from '@components/data-display/badge/constants'\r\nimport type { BadgeProps } from '@components/data-display/badge/types/Badge.props.ts'\r\nimport { Icon } from '@components/foundation/icon'\r\nimport { Typography } from '@components/foundation/typography'\r\nimport { Box } from '@components/layout/box'\r\nimport { cn } from '@utils/cn.ts'\r\nimport { memo, type FC } from 'react'\r\n\r\n/**\r\n * Inline label chip with variant, color, size, and optional leading/trailing\r\n * icons. Renders as a `<span>` with a Typography label and decorative Icons.\r\n */\r\nconst Badge: FC<BadgeProps> = memo(({\r\n    label,\r\n    variant,\r\n    color,\r\n    size = 'md',\r\n    startIcon,\r\n    endIcon,\r\n    className,\r\n    ref,\r\n    display = 'inline-flex',\r\n    borderRadius = 'xs',\r\n    ...props\r\n}) => (\r\n    <Box\r\n        as={'span'}\r\n        ref={ref}\r\n        display={display}\r\n        borderRadius={borderRadius}\r\n        className={cn(BADGE_STYLES.recipe({ variant, color, size }), className)}\r\n        {...props}\r\n    >\r\n        {startIcon && (\r\n            <Icon\r\n                icon={startIcon}\r\n                size={BADGE_SIZE_TO_ICON_SIZE[size]}\r\n            />\r\n        )}\r\n        <Typography\r\n            as={'span'}\r\n            variant={'span'}\r\n            fontSize={BADGE_SIZE_TO_FONT_SIZE[size]}\r\n            fontWeight={'medium'}\r\n        >\r\n            {label}\r\n        </Typography>\r\n        {endIcon && (\r\n            <Icon\r\n                icon={endIcon}\r\n                size={BADGE_SIZE_TO_ICON_SIZE[size]}\r\n            />\r\n        )}\r\n    </Box>\r\n))\r\n\r\nBadge.displayName = 'Badge'\r\n\r\nexport default Badge\r\n"],"names":["Badge","memo","label","variant","color","size","startIcon","endIcon","className","ref","display","borderRadius","props","jsxs","Box","cn","BADGE_STYLES","jsx","Icon","BADGE_SIZE_TO_ICON_SIZE","Typography","BADGE_SIZE_TO_FONT_SIZE"],"mappings":"2fAaMA,EAAwBC,EAAAA,KAAK,CAAC,CAChC,MAAAC,EACA,QAAAC,EACA,MAAAC,EACA,KAAAC,EAAO,KACP,UAAAC,EACA,QAAAC,EACA,UAAAC,EACA,IAAAC,EACA,QAAAC,EAAU,cACV,aAAAC,EAAe,KACf,GAAGC,CACP,IACIC,EAAAA,KAACC,EAAA,CACG,GAAI,OACJ,IAAAL,EACA,QAAAC,EACA,aAAAC,EACA,UAAWI,EAAAA,GAAGC,EAAAA,aAAa,OAAO,CAAE,QAAAb,EAAS,MAAAC,EAAO,KAAAC,EAAM,EAAGG,CAAS,EACrE,GAAGI,EAEH,SAAA,CAAAN,GACGW,EAAAA,IAACC,EAAA,CACG,KAAMZ,EACN,KAAMa,EAAAA,wBAAwBd,CAAI,CAAA,CAAA,EAG1CY,EAAAA,IAACG,EAAA,CACG,GAAI,OACJ,QAAS,OACT,SAAUC,EAAAA,wBAAwBhB,CAAI,EACtC,WAAY,SAEX,SAAAH,CAAA,CAAA,EAEJK,GACGU,EAAAA,IAACC,EAAA,CACG,KAAMX,EACN,KAAMY,EAAAA,wBAAwBd,CAAI,CAAA,CAAA,CACtC,CAAA,CAER,CACH,EAEDL,EAAM,YAAc"}