{"version":3,"sources":["../../../../src/components/atoms/Badge/Badge.tsx"],"names":["cva","jsxs","twMerge","jsx"],"mappings":";;;;;;AAIA,MAAM,aAAA,GAAgBA,0BAAA;AAAA,EACpB,0EAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,QAAA,EACE,mIAAA;AAAA,QAKF,QAAA,EACE,yFAAA;AAAA,QAKF,IAAA,EAAM;AAAA,OAER;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,uLAAA;AAAA,QAKN,GAAA,EAAK,mLAAA;AAAA,QAKL,MAAA,EACE,+LAAA;AAAA,QAKF,KAAA,EACE;AAAA,OAIJ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN;AACF;AAEJ,CAAA;AAEA,MAAM,aAAA,GAAgBA,2BAAI,IAAA,EAAM;AAAA,EAC9B,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,UAAA;AAAA,MACJ,EAAA,EAAI,QAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,KAAA,EAAO;AAAA,MACL,GAAA,EAAK,cAAA;AAAA,MACL,IAAA,EAAM,kBAAA;AAAA,MACN,MAAA,EAAQ,iBAAA;AAAA,MACR,KAAA,EAAO;AAAA;AACT;AAEJ,CAAC,CAAA;AAQM,SAAS,KAAA,CAAM;AAAA,EACpB,QAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAkC;AAChC,EAAA,MAAM,YAAA,GAAe,CAAC,CAAC,OAAA;AACvB,EAAA,uBACEC,eAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,SAAA,EAAWC,qBAAA;AAAA,QACT,cAAc,EAAE,KAAA,EAAO,OAAA,EAAS,IAAA,EAAM,SAAS,CAAA;AAAA,QAC/C,WAAA;AAAA,QACA,YAAA,IAAgB;AAAA,OAClB;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,MAAA,oBACCC,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAQ,SAAA;AAAA,YACR,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAW,aAAA,CAAc,EAAE,IAAA,EAAM,OAAO,CAAA;AAAA,YAExC,yCAAC,QAAA,EAAA,EAAO,CAAA,EAAG,GAAG,EAAA,EAAI,CAAA,EAAG,IAAI,CAAA,EAAG;AAAA;AAAA,SAC9B;AAAA,QAED,IAAA,IAAQ;AAAA;AAAA;AAAA,GACX;AAEJ","file":"Badge.cjs","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport type { PropsWithChildren } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nconst badgeVariants = cva(\n  \"inline-flex items-center rounded-md font-medium px-2 py-1 cursor-default\",\n  {\n    variants: {\n      variant: {\n        bordered:\n          \"inset-ring \\\n          inset-ring-[var(--badge-ring)] \\\n          bg-[var(--bg-badge-color)] \\\n          text-[var(--text-badge-color)]\",\n\n        outlined:\n          \"boder \\\n          inset-ring \\\n          inset-ring-neutral-200 \\\n          text-font-primary\",\n\n        flat: \"bg-[var(--bg-badge-color)] \\\n        text-[var(--text-badge-color)]\",\n      },\n      color: {\n        gray: \"[--bg-badge-color:var(--color-gray-50)] \\\n        [--badge-ring:var(--color-gray-200)] \\\n        [--badge-hover:var(--color-gray-400)] \\\n        [--text-badge-color:var(--color-gray-600)]\",\n\n        red: \"[--bg-badge-color:var(--color-red-50)] \\\n        [--badge-hover:var(--color-red-400)] \\\n        [--badge-ring:var(--color-red-600)] \\\n        [--text-badge-color:var(--color-red-700)]\",\n\n        yellow:\n          \"[--bg-badge-color:var(--color-yellow-50)] \\\n        [--badge-hover:var(--color-yellow-400)] \\\n        [--badge-ring:var(--color-yellow-600)] \\\n        [--text-badge-color:var(--color-yellow-700)]\",\n\n        green:\n          \"[--bg-badge-color:var(--color-green-100)] \\\n        [--badge-hover:var(--color-green-700)] \\\n        [--badge-ring:var(--color-green-600)] \\\n        [--text-badge-color:var(--color-green-700)]\",\n      },\n      rounded: {\n        full: \"rounded-full\",\n      },\n      size: {\n        sm: \"text-xs\",\n        md: \"text-sm\",\n        lg: \"text-base\",\n      },\n    },\n  }\n);\n\nconst circleVariant = cva(null, {\n  variants: {\n    size: {\n      sm: \"size-1.5\",\n      md: \"size-2\",\n      lg: \"size-2.5\",\n    },\n    color: {\n      red: \"fill-red-500\",\n      gray: \"fill-neutral-500\",\n      yellow: \"fill-yellow-500\",\n      green: \"fill-green-500\",\n    },\n  },\n});\n\nexport type BadgeProps = {\n  text?: string;\n  hasDot?: boolean;\n  onClick?: () => void;\n} & VariantProps<typeof badgeVariants>;\n\nexport function Badge({\n  children,\n  text,\n  color,\n  variant,\n  hasDot,\n  rounded,\n  size,\n  onClick,\n}: PropsWithChildren<BadgeProps>) {\n  const isClickeable = !!onClick;\n  return (\n    <span\n      onClick={onClick}\n      className={twMerge(\n        badgeVariants({ color, variant, size, rounded }),\n        \"gap-x-1.5\",\n        isClickeable && \"hover:bg-[var(--badge-hover)]/20 cursor-pointer\"\n      )}\n    >\n      {hasDot && (\n        <svg\n          viewBox=\"0 0 6 6\"\n          aria-hidden=\"true\"\n          className={circleVariant({ size, color })}\n        >\n          <circle r={3} cx={3} cy={3} />\n        </svg>\n      )}\n      {text || children}\n    </span>\n  );\n}\n"]}