{"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":[]}