{"version":3,"file":"index.cjs","sources":["../../../../src/components/Title/Title.tsx"],"sourcesContent":["import { HTMLAttributes, forwardRef } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './Title.module.css';\n\nexport type TitleAlignment = 'left' | 'center' | 'right';\nexport type TitleColor = 'default' | 'muted';\nexport type TitleSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type TitleFamily = 'product' | 'brand';\nexport type TitleType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface TitleProps extends HTMLAttributes<HTMLHeadingElement> {\n  /** The text alignment of the title */\n  align?: TitleAlignment;\n  /** The color variant of the title */\n  color?: TitleColor;\n  /** The font size of the title */\n  size?: TitleSize;\n  /** The font family to use - product or brand */\n  family?: TitleFamily;\n  /** The heading level (h1-h6) */\n  type: TitleType;\n}\n\nconst titleVariants = cva(styles.title, {\n  variants: {\n    color: {\n      default: styles['title_color_default'],\n      muted: styles['title_color_muted'],\n    },\n    align: {\n      left: styles['title_align_left'],\n      center: styles['title_align_center'],\n      right: styles['title_align_right'],\n    },\n    family: {\n      product: '',\n      brand: '',\n    },\n    size: {\n      xs: '',\n      sm: '',\n      md: '',\n      lg: '',\n      xl: '',\n    },\n  },\n  compoundVariants: [\n    { family: 'product', size: 'xs', class: styles['title_font_product-xs'] },\n    { family: 'product', size: 'sm', class: styles['title_font_product-sm'] },\n    { family: 'product', size: 'md', class: styles['title_font_product-md'] },\n    { family: 'product', size: 'lg', class: styles['title_font_product-lg'] },\n    { family: 'product', size: 'xl', class: styles['title_font_product-xl'] },\n    { family: 'brand', size: 'xs', class: styles['title_font_brand-xs'] },\n    { family: 'brand', size: 'sm', class: styles['title_font_brand-sm'] },\n    { family: 'brand', size: 'md', class: styles['title_font_brand-md'] },\n    { family: 'brand', size: 'lg', class: styles['title_font_brand-lg'] },\n    { family: 'brand', size: 'xl', class: styles['title_font_brand-xl'] },\n  ],\n  defaultVariants: {\n    color: 'default',\n    align: 'left',\n    family: 'product',\n    size: 'md',\n  },\n});\n\n/** The `title` component allows you to easily add headings to your pages. They do not include built in margins. */\nexport const Title = forwardRef<HTMLHeadingElement, TitleProps>(\n  ({ align, size, family, type, color, children, className, ...props }, ref) => {\n    const Component = type;\n    return (\n      <Component\n        ref={ref}\n        {...props}\n        className={cn(titleVariants({ color, align, family, size }), className)}\n      >\n        {children}\n      </Component>\n    );\n  }\n);\n"],"names":["cva","styles","forwardRef","jsx","cn"],"mappings":";;;;;;;;;;AAuBA,MAAM,aAAA,GAAgBA,0BAAA,CAAIC,oBAAA,CAAO,KAAA,EAAO;AAAA,EACtC,QAAA,EAAU;AAAA,IACR,KAAA,EAAO;AAAA,MACL,OAAA,EAASA,qBAAO,qBAAqB,CAAA;AAAA,MACrC,KAAA,EAAOA,qBAAO,mBAAmB;AAAA,KACnC;AAAA,IACA,KAAA,EAAO;AAAA,MACL,IAAA,EAAMA,qBAAO,kBAAkB,CAAA;AAAA,MAC/B,MAAA,EAAQA,qBAAO,oBAAoB,CAAA;AAAA,MACnC,KAAA,EAAOA,qBAAO,mBAAmB;AAAA,KACnC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,EAAA;AAAA,MACT,KAAA,EAAO;AAAA,KACT;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,EAAA;AAAA,MACJ,EAAA,EAAI,EAAA;AAAA,MACJ,EAAA,EAAI,EAAA;AAAA,MACJ,EAAA,EAAI,EAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,EAAE,QAAQ,SAAA,EAAW,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,uBAAuB,CAAA,EAAE;AAAA,IACxE,EAAE,QAAQ,SAAA,EAAW,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,uBAAuB,CAAA,EAAE;AAAA,IACxE,EAAE,QAAQ,SAAA,EAAW,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,uBAAuB,CAAA,EAAE;AAAA,IACxE,EAAE,QAAQ,SAAA,EAAW,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,uBAAuB,CAAA,EAAE;AAAA,IACxE,EAAE,QAAQ,SAAA,EAAW,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,uBAAuB,CAAA,EAAE;AAAA,IACxE,EAAE,QAAQ,OAAA,EAAS,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,qBAAqB,CAAA,EAAE;AAAA,IACpE,EAAE,QAAQ,OAAA,EAAS,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,qBAAqB,CAAA,EAAE;AAAA,IACpE,EAAE,QAAQ,OAAA,EAAS,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,qBAAqB,CAAA,EAAE;AAAA,IACpE,EAAE,QAAQ,OAAA,EAAS,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,qBAAqB,CAAA,EAAE;AAAA,IACpE,EAAE,QAAQ,OAAA,EAAS,IAAA,EAAM,MAAM,KAAA,EAAOA,oBAAA,CAAO,qBAAqB,CAAA;AAAE,GACtE;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAGM,MAAM,KAAA,GAAQC,gBAAA;AAAA,EACnB,CAAC,EAAE,KAAA,EAAO,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,QAAA,EAAU,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC5E,IAAA,MAAM,SAAA,GAAY,IAAA;AAClB,IAAA,uBACEC,cAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACC,GAAG,KAAA;AAAA,QACJ,SAAA,EAAWC,MAAA,CAAG,aAAA,CAAc,EAAE,KAAA,EAAO,OAAO,MAAA,EAAQ,IAAA,EAAM,CAAA,EAAG,SAAS,CAAA;AAAA,QAErE;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;;"}