{"version":3,"file":"index8.mjs","sources":["../src/components/section-message/index.tsx"],"sourcesContent":["import { FunctionComponent, ReactNode } from \"react\";\nimport styles from \"./SectionMessage.module.css\";\nimport { Link, LinkType } from \"../links\";\nimport {\n  LabelPairedXmarkCaptionBoldIcon,\n  StandaloneCircleCheckBoldIcon,\n  StandaloneCircleExclamationBoldIcon,\n  StandaloneCircleInfoBoldIcon,\n  StandalonePlaceholderBoldIcon,\n  StandaloneTriangleExclamationBoldIcon,\n} from \"@deriv/quill-icons\";\nimport IconButton from \"../buttons/icon\";\nimport { BaseButtonType } from \"../buttons/base\";\nimport { BasicButton } from \"../buttons/basic\";\nexport type SectionMessageType = {\n  className?: string;\n  message?: string;\n  title?: string;\n  icon?: string;\n  showIcon?: boolean;\n  showCloseButton?: boolean;\n  buttonPrimary?: BaseButtonType;\n  buttonSecondary?: BaseButtonType;\n  onClickClose?: () => void;\n\n  /** Variant props */\n  indicator?: \"danger\" | \"warning\" | \"success\" | \"information\" | \"default\";\n  size?: \"sm\" | \"md\";\n\n  /** Custom props */\n  customIcon?: ReactNode;\n  link1?: Omit<LinkType, \"color\">;\n  link2?: Omit<LinkType, \"color\">;\n};\n\nexport const SectionMessage: FunctionComponent<SectionMessageType> = ({\n  className = \"\",\n  indicator = \"danger\",\n  size = \"sm\",\n  message = \"\",\n  title = \"\",\n  customIcon,\n  showIcon = true,\n  showCloseButton = false,\n  link1,\n  link2,\n  buttonPrimary,\n  buttonSecondary,\n  onClickClose,\n}) => {\n  const sectionMessageId = `quill-section-message-${indicator}-${size}`;\n\n  const defaultIcons = {\n    danger: StandaloneTriangleExclamationBoldIcon,\n    warning: StandaloneCircleExclamationBoldIcon,\n    success: StandaloneCircleCheckBoldIcon,\n    information: StandaloneCircleInfoBoldIcon,\n    default: StandalonePlaceholderBoldIcon,\n  } as const;\n\n  const IconComponent = defaultIcons[indicator] as React.ComponentType;\n\n  return (\n    <div\n      className={[styles.root, \"quill-ui-next-component\", className].join(\" \")}\n      data-id={sectionMessageId}\n      data-indicator={indicator}\n      data-size={size}\n    >\n      {showIcon && (\n        <div className={styles.fixIcon}>\n          {indicator === \"default\" && customIcon\n            ? customIcon\n            : IconComponent && (\n                // @ts-ignore\n                <IconComponent iconSize={size === \"md\" ? \"md\" : \"sm\"} />\n              )}\n        </div>\n      )}\n      <div className={styles.titleMessageButtons}>\n        <div className={styles.titleMessage}>\n          {title && <b className={styles.title}>{title}</b>}\n          <div className={styles.containerMessage}>\n            <div\n              className={`${styles.message} ${\n                !title ? styles.noTitleMessage : \"\"\n              }`}\n            >\n              {message}\n            </div>\n          </div>\n        </div>\n        {link1 ? (\n          <div className={styles.link1Link2}>\n            <Link {...link1} size={size} color=\"blackWhite\" />\n            {link2 && <Link {...link2} size={size} color=\"blackWhite\" />}\n          </div>\n        ) : (\n          <div className={styles.buttonContainer}>\n            {buttonPrimary && (\n              <BasicButton\n                {...buttonPrimary}\n                style=\"secondary\"\n                color=\"blackWhite\"\n              />\n            )}\n            {buttonSecondary && (\n              <BasicButton\n                {...buttonSecondary}\n                style=\"primary\"\n                color=\"blackWhite\"\n                size={size === \"md\" ? \"md\" : \"sm\"}\n              />\n            )}\n          </div>\n        )}\n      </div>\n      {showCloseButton && (\n        <IconButton\n          color=\"blackWhite\"\n          icon={<LabelPairedXmarkCaptionBoldIcon />}\n          style=\"tertiary\"\n          onClick={onClickClose}\n        />\n      )}\n    </div>\n  );\n};\n\nSectionMessage.displayName = \"SectionMessage\";\n\nexport default SectionMessage;\n"],"names":[],"mappings":";;;;;;AAmCO,MAAM,iBAAwD,CAAC;AAAA,EACpE,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,EACR;AAAA,EACA,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,mBAAmB,yBAAyB,SAAS,IAAI,IAAI;AAEnE,QAAM,eAAe;AAAA,IACnB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,aAAa;AAAA,IACb,SAAS;AAAA,EACX;AAEM,QAAA,gBAAgB,aAAa,SAAS;AAG1C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,CAAC,OAAO,MAAM,2BAA2B,SAAS,EAAE,KAAK,GAAG;AAAA,MACvE,WAAS;AAAA,MACT,kBAAgB;AAAA,MAChB,aAAW;AAAA,MAEV,UAAA;AAAA,QACC,YAAA,oBAAC,SAAI,WAAW,OAAO,SACpB,UAAc,cAAA,aAAa,aACxB,aACA;AAAA,4BAEG,eAAc,EAAA,UAAU,SAAS,OAAO,OAAO,KAAM,CAAA,GAE9D;AAAA,QAED,qBAAA,OAAA,EAAI,WAAW,OAAO,qBACrB,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAW,OAAO,cACpB,UAAA;AAAA,YAAA,SAAU,oBAAA,KAAA,EAAE,WAAW,OAAO,OAAQ,UAAM,OAAA;AAAA,YAC5C,oBAAA,OAAA,EAAI,WAAW,OAAO,kBACrB,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,GAAG,OAAO,OAAO,IAC1B,CAAC,QAAQ,OAAO,iBAAiB,EACnC;AAAA,gBAEC,UAAA;AAAA,cAAA;AAAA,YAAA,EAEL,CAAA;AAAA,UAAA,GACF;AAAA,UACC,QACC,qBAAC,OAAI,EAAA,WAAW,OAAO,YACrB,UAAA;AAAA,YAAA,oBAAC,MAAM,EAAA,GAAG,OAAO,MAAY,OAAM,cAAa;AAAA,YAC/C,SAAU,oBAAA,MAAA,EAAM,GAAG,OAAO,MAAY,OAAM,aAAa,CAAA;AAAA,UAAA,EAC5D,CAAA,IAEA,qBAAC,OAAI,EAAA,WAAW,OAAO,iBACpB,UAAA;AAAA,YACC,iBAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACE,GAAG;AAAA,gBACJ,OAAM;AAAA,gBACN,OAAM;AAAA,cAAA;AAAA,YACR;AAAA,YAED,mBACC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACE,GAAG;AAAA,gBACJ,OAAM;AAAA,gBACN,OAAM;AAAA,gBACN,MAAM,SAAS,OAAO,OAAO;AAAA,cAAA;AAAA,YAAA;AAAA,UAC/B,EAEJ,CAAA;AAAA,QAAA,GAEJ;AAAA,QACC,mBACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,0BAAO,iCAAgC,EAAA;AAAA,YACvC,OAAM;AAAA,YACN,SAAS;AAAA,UAAA;AAAA,QAAA;AAAA,MACX;AAAA,IAAA;AAAA,EAEJ;AAEJ;AAEA,eAAe,cAAc;"}