@postenbring/hedwig-react
Version:
React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).
1 lines • 3.03 kB
Source Map (JSON)
{"version":3,"sources":["../src/badge/badge.tsx"],"sourcesContent":["import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n children: React.ReactNode;\n\n /**\n * Color of the badge\n *\n * @deprecated\n * @default \"lighter\"\n * \"lighter\", \"darker\", and \"white\" are deprecated and will be removed in a future release.\n * Use data-color \"neutral\", \"info\", \"success\", \"warning\", or \"error\" instead.\n */\n variant?: /** @deprecated */\n | \"lighter\"\n /** @deprecated */\n | \"darker\"\n /** @deprecated */\n | \"white\"\n /** @deprecated */\n | \"warning\";\n\n \"data-color\"?: \"neutral\" | \"info\" | \"success\" | \"warning\" | \"error\";\n\n /**\n * Font size of the badge\n *\n * @default \"small\"\n */\n size?: \"small\" | \"smaller\";\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * Badges are used to label, categorize or organize items using keywords to describe them.\n *\n * @example\n *\n * ```tsx\n * <Badge variant=\"info\">Info</Badge>\n * ```\n *\n */\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n (\n {\n \"data-color\": color = \"\",\n children,\n asChild,\n variant = \"\",\n size = \"small\",\n className,\n ...rest\n },\n ref,\n ) => {\n const Component = asChild ? Slot : \"span\";\n return (\n <Component\n {...(variant === \"warning\" || variant === \"lighter\" || variant === \"darker\"\n ? { \"data-color-scheme\": \"light\" }\n : {})}\n data-color={color}\n ref={ref}\n className={clsx(\n \"hds-badge\",\n `hds-badge--${size}`,\n { \"hds-badge--lighter\": variant === \"lighter\" },\n { \"hds-badge--darker\": variant === \"darker\" },\n { \"hds-badge--white\": variant === \"white\" },\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nBadge.displayName = \"Badge\";\n"],"mappings":";;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAiErB;AAfC,IAAM,QAAQ;AAAA,EACnB,CACE,IASA,QACG;AAVH,iBACE;AAAA,oBAAc,QAAQ;AAAA,MACtB;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP;AAAA,IA5DN,IAsDI,IAOK,iBAPL,IAOK;AAAA,MANH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA,oEACM,YAAY,aAAa,YAAY,aAAa,YAAY,WAC/D,EAAE,qBAAqB,QAAQ,IAC/B,CAAC,IAHN;AAAA,QAIC,cAAY;AAAA,QACZ;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,cAAc,IAAI;AAAA,UAClB,EAAE,sBAAsB,YAAY,UAAU;AAAA,UAC9C,EAAE,qBAAqB,YAAY,SAAS;AAAA,UAC5C,EAAE,oBAAoB,YAAY,QAAQ;AAAA,UAC1C;AAAA,QACF;AAAA,UACI,OAdL;AAAA,QAgBE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,MAAM,cAAc;","names":[]}