{"version":3,"file":"announcement-bar.cjs","sources":["../../../components/announcement-bar/announcement-bar.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ReactNode } from 'react';\n\nimport { Flex } from '../flex';\nimport { Text } from '../text';\nimport styles from './announcement-bar.module.css';\n\nconst announcementBar = cva(styles['announcement-bar'], {\n  variants: {\n    variant: {\n      gradient: styles['announcement-bar-gradient'],\n      normal: styles['announcement-bar-normal'],\n      error: styles['announcement-bar-error']\n    }\n  },\n  defaultVariants: {\n    variant: 'normal'\n  }\n});\n\ntype AnnouncementBarProps = VariantProps<typeof announcementBar> & {\n  leadingIcon?: ReactNode;\n  className?: string;\n  text: string;\n  actionLabel?: string;\n  actionIcon?: ReactNode;\n  onActionClick?: () => void;\n};\n\nexport const AnnouncementBar = ({\n  className,\n  variant,\n  text,\n  leadingIcon,\n  actionLabel,\n  actionIcon,\n  onActionClick = () => {},\n  ...props\n}: AnnouncementBarProps) => {\n  return (\n    <Flex\n      className={announcementBar({ className, variant })}\n      justify='center'\n      align='center'\n      gap={3}\n      data-slot='announcement-bar'\n      {...props}\n    >\n      {leadingIcon && (\n        <span\n          className={styles['icon']}\n          aria-hidden='true'\n          data-slot='announcement-bar-icon'\n        >\n          {leadingIcon}\n        </span>\n      )}\n      <Text\n        className={styles.text}\n        size='small'\n        weight='medium'\n        data-slot='announcement-bar-text'\n      >\n        {text}\n      </Text>\n      {actionLabel || actionIcon ? (\n        <button\n          type='button'\n          className={styles['action-btn']}\n          onClick={onActionClick}\n          data-slot='announcement-bar-action'\n        >\n          <Text\n            size='small'\n            weight='medium'\n            data-slot='announcement-bar-action-label'\n          >\n            {actionLabel}\n          </Text>\n          {actionIcon && (\n            <span aria-hidden='true' data-slot='announcement-bar-action-icon'>\n              {actionIcon}\n            </span>\n          )}\n        </button>\n      ) : null}\n    </Flex>\n  );\n};\n\nAnnouncementBar.displayName = 'AnnouncementBar';\n"],"names":[],"mappings":";;;;;;;;;AASA;AACE;AACE;AACE;AACA;AACA;AACD;AACF;AACD;AACE;AACD;AACF;AAWM;AAUL;AAiDF;AAEA;;"}