{"version":3,"file":"index10.mjs","sources":["../src/components/links/index.tsx"],"sourcesContent":["import { FunctionComponent, ReactNode } from \"react\";\nimport BlackWhiteStyles from \"./styles/LinkBlackWhite.module.css\";\nimport BlackStyles from \"./styles/LinkBlack.module.css\";\nimport WhiteBlackStyles from \"./styles/LinkWhiteBlack.module.css\";\nimport WhiteStyles from \"./styles/LinkWhite.module.css\";\nimport {\n  LabelPairedChevronRightCaptionRegularIcon,\n  LabelPairedChevronRightLgRegularIcon,\n  LabelPairedChevronRightMdRegularIcon,\n  LabelPairedChevronRightSmRegularIcon,\n  LabelPairedChevronRightXlRegularIcon,\n} from \"@deriv/quill-icons/LabelPaired\";\n\nexport type LinkType = {\n  className?: string;\n  label?: string;\n  showChevron?: boolean;\n\n  /** Variant props */\n  size?: \"caption\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n  state?: \"default\" | \"disabled\";\n\n  /** Custom Props  */\n  color?: \"blackWhite\" | \"black\" | \"whiteBlack\" | \"white\";\n  icon?: ReactNode;\n  href?: string;\n  openNewTab?: boolean;\n};\n\nconst linkStyles = {\n  blackWhite: BlackWhiteStyles,\n  black: BlackStyles,\n  whiteBlack: WhiteBlackStyles,\n  white: WhiteStyles,\n} as const;\n\nexport const Link: FunctionComponent<LinkType> = ({\n  className = \"\",\n  label = \"\",\n  showChevron = false,\n  size = \"caption\",\n  state = \"default\",\n  color = \"blackWhite\",\n  icon,\n  href = \"#\",\n  openNewTab = false,\n}) => {\n  const styles = linkStyles[color];\n  const linkId = `quill-link-${color}-${size}-${state}`;\n\n  const chevronIcon = {\n    caption: LabelPairedChevronRightCaptionRegularIcon,\n    sm: LabelPairedChevronRightSmRegularIcon,\n    md: LabelPairedChevronRightMdRegularIcon,\n    lg: LabelPairedChevronRightLgRegularIcon,\n    xl: LabelPairedChevronRightXlRegularIcon,\n  };\n\n  const ChevronIcon = chevronIcon[size];\n\n  return (\n    <a\n      href={href}\n      target={openNewTab ? \"_blank\" : undefined}\n      className={[\n        styles.root,\n        className,\n        \"quill-ui-next-component\",\n        state !== \"disabled\"\n          ? \"quill-ui-next-pointer\"\n          : \"quill-ui-next-pointer-disabled\",\n      ].join(\" \")}\n      data-id={linkId}\n      data-size={size}\n      data-state={state}\n      onClick={(e) => {\n        if (state === \"disabled\") {\n          e.preventDefault();\n          e.stopPropagation();\n          return;\n        }\n      }}\n      tabIndex={state === \"disabled\" ? -1 : 0}\n      aria-disabled={state === \"disabled\"}\n    >\n      {icon && <div className={styles.icon1}>{icon}</div>}\n      <div className={styles.label}>{label}</div>\n      {showChevron && (\n        <div className={styles.iconChevron}>\n          {ChevronIcon && <ChevronIcon />}\n        </div>\n      )}\n    </a>\n  );\n};\n\nLink.displayName = \"Link\";\n\nexport default Link;\n"],"names":["LabelPairedChevronRightCaptionRegularIcon","LabelPairedChevronRightSmRegularIcon","LabelPairedChevronRightMdRegularIcon","LabelPairedChevronRightLgRegularIcon","LabelPairedChevronRightXlRegularIcon"],"mappings":";;;;;;;;;;AA6BA,MAAM,aAAa;AAAA,EACjB,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,OAAO;AACT;AAEO,MAAM,OAAoC,CAAC;AAAA,EAChD,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR;AAAA,EACA,OAAO;AAAA,EACP,aAAa;AACf,MAAM;AACE,QAAA,SAAS,WAAW,KAAK;AAC/B,QAAM,SAAS,cAAc,KAAK,IAAI,IAAI,IAAI,KAAK;AAEnD,QAAM,cAAc;AAAA,IAClB,SAASA;AAAAA,IACT,IAAIC;AAAAA,IACJ,IAAIC;AAAAA,IACJ,IAAIC;AAAAA,IACJ,IAAIC;AAAAA,EACN;AAEM,QAAA,cAAc,YAAY,IAAI;AAGlC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,QAAQ,aAAa,WAAW;AAAA,MAChC,WAAW;AAAA,QACT,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA,UAAU,aACN,0BACA;AAAA,MAAA,EACJ,KAAK,GAAG;AAAA,MACV,WAAS;AAAA,MACT,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,SAAS,CAAC,MAAM;AACd,YAAI,UAAU,YAAY;AACxB,YAAE,eAAe;AACjB,YAAE,gBAAgB;AAClB;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,UAAU,UAAU,aAAa,KAAK;AAAA,MACtC,iBAAe,UAAU;AAAA,MAExB,UAAA;AAAA,QAAA,QAAS,oBAAA,OAAA,EAAI,WAAW,OAAO,OAAQ,UAAK,MAAA;AAAA,QAC5C,oBAAA,OAAA,EAAI,WAAW,OAAO,OAAQ,UAAM,OAAA;AAAA,QACpC,mCACE,OAAI,EAAA,WAAW,OAAO,aACpB,UAAA,eAAgB,oBAAA,aAAA,CAAY,CAAA,EAC/B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;AAEA,KAAK,cAAc;"}