| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- import type { CSSProperties, ReactNode } from 'react'
 
- import React from 'react'
 
- import { type VariantProps, cva } from 'class-variance-authority'
 
- import { Highlight } from '@/app/components/base/icons/src/public/common'
 
- import classNames from '@/utils/classnames'
 
- import './index.css'
 
- const PremiumBadgeVariants = cva(
 
-   'premium-badge',
 
-   {
 
-     variants: {
 
-       size: {
 
-         s: 'premium-badge-s',
 
-         m: 'premium-badge-m',
 
-       },
 
-       color: {
 
-         blue: 'premium-badge-blue',
 
-         indigo: 'premium-badge-indigo',
 
-         gray: 'premium-badge-gray',
 
-         orange: 'premium-badge-orange',
 
-       },
 
-       allowHover: {
 
-         true: 'allowHover',
 
-         false: '',
 
-       },
 
-     },
 
-     defaultVariants: {
 
-       size: 'm',
 
-       color: 'blue',
 
-       allowHover: false,
 
-     },
 
-   },
 
- )
 
- type PremiumBadgeProps = {
 
-   size?: 's' | 'm'
 
-   color?: 'blue' | 'indigo' | 'gray' | 'orange'
 
-   allowHover?: boolean
 
-   styleCss?: CSSProperties
 
-   children?: ReactNode
 
- } & React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof PremiumBadgeVariants>
 
- const PremiumBadge: React.FC<PremiumBadgeProps> = ({
 
-   className,
 
-   size,
 
-   color,
 
-   allowHover,
 
-   styleCss,
 
-   children,
 
-   ...props
 
- }) => {
 
-   return (
 
-     <div
 
-       className={classNames(
 
-         PremiumBadgeVariants({ size, color, allowHover, className }),
 
-         'relative text-nowrap',
 
-       )}
 
-       style={styleCss}
 
-       {...props}
 
-     >
 
-       {children}
 
-       <Highlight
 
-         className={classNames(
 
-           'absolute top-0 opacity-50 hover:opacity-80',
 
-           size === 's' ? 'h-[18px] w-12' : 'h-6 w-12',
 
-         )}
 
-         style={{
 
-           right: '50%',
 
-           transform: 'translateX(10%)',
 
-         }}
 
-       />
 
-     </div>
 
-   )
 
- }
 
- PremiumBadge.displayName = 'PremiumBadge'
 
- export default PremiumBadge
 
- export { PremiumBadge, PremiumBadgeVariants }
 
 
  |