UNPKG

retro-react

Version:

A React component library for building retro-style websites

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