retro-react
Version:
A React component library for building retro-style websites
2 lines (1 loc) • 1.34 kB
JavaScript
import{__rest as o}from"../../_virtual/_tslib.js";import{forwardRef as t}from"react";import{jsxs as s,jsx as e}from"../../node_modules/@theme-ui/core/jsx-runtime/dist/theme-ui-core-jsx-runtime.esm.js";import{classNames as l}from"../../utils/classNames.js";import r from"../../constants/commonClassNames.js";import i from"../../assets/svg/close_icon.svg.js";import{Portal as m}from"../portal/Portal.js";import{Title as a,Alert as n,CloseButton as c}from"./Alert.styled.js";const p={"bottom-left":{bottom:10,left:10},"bottom-right":{bottom:10,right:10},"top-left":{top:10,left:10},"top-right":{top:10,right:10}},d=t(((t,d)=>{var{id:f,className:b,open:h,color:j="primary",position:u="bottom-left",title:v="",showCloseButton:g=!1,onClose:N,children:C,sx:x}=t,A=o(t,["id","className","open","color","position","title","showCloseButton","onClose","children","sx"]);const O=void 0!==h,$=s(n,Object.assign({id:f,$color:j,$isOpenProp:O,sx:x,ref:d,className:l("alert-root",b,r)},A,{children:[g&&e(c,{className:"alert-close-button",onClick:N,$icon:i,"aria-label":"Close alert",$color:j},void 0),e(a,Object.assign({className:"alert-title","aria-label":"Alert title"},{children:v}),void 0),C]}),void 0);return void 0!==h?h?e(m,Object.assign({position:p[u]?p[u]:p["bottom-left"]},{children:$}),void 0):null:$}));d.displayName="Alert";export{d as Alert};