UNPKG

carbon-react

Version:

A library of reusable React components for easily building user interfaces.

2 lines (1 loc) 4.02 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../typography/typography.component.js"),n=require("./message.style.js"),s=require("../../__internal__/utils/helpers/tags/tags.js"),o=require("../icon/icon.component.js"),i=require("../icon-button/icon-button.component.js"),a=require("../../__internal__/ai-icon/ai-icon.component.js");require("../../style/utils/filter-styled-system-padding-props.js");var l=require("../../style/utils/filter-styled-system-margin-props.js"),c=require("../../hooks/__internal__/useLocale/useLocale.js"),u=require("../../__internal__/utils/logger/index.js");function p(e){return e&&e.__esModule?e:{default:e}}function d(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function f(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){d(e,r,t[r])}))}return e}function y(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}let b=!1,g=!1,j=!1;const h=p(r).default.forwardRef(((p,d)=>{var{open:h=!0,transparent:m=!1,title:O,variant:v="info",children:x,onDismiss:w,id:_,closeButtonAriaLabel:P,showCloseIcon:q=!0,width:M,size:S="medium"}=p,I=function(e,r){if(null==e)return{};var t,n,s=function(e,r){if(null==e)return{};var t,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(s[t]=e[t]);return s}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(s[t]=e[t])}return s}(p,["open","transparent","title","variant","children","onDismiss","id","closeButtonAriaLabel","showCloseIcon","width","size"]);m&&!b&&(u.default.deprecate("The 'transparent' prop in `Message` is deprecated and will soon be removed."),b=!0),"neutral"!==v||g||(u.default.deprecate("The 'neutral' variant in `Message` is deprecated and will soon be removed."),g=!0),!1!==q||j||(u.default.deprecate("The 'showCloseIcon' prop in `Message` is deprecated and will soon be removed. To prevent the close button from being rendered, don't pass the `onDismiss` prop."),j=!0);const D=r.useRef(null),T=d||D,k=c.default(),C=l.default(I),z={neutral:"info",success:"tick_circle",error:"error",warning:"warning",info:"info",callout:"tag"},A=v.endsWith("-subtle"),L=v.replace("-subtle",""),W=()=>{var r,s;return e.jsxs(e.Fragment,{children:[e.jsx(n.TypeIconStyle,{"aria-hidden":"true",variant:L,isSubtle:A,transparent:m,children:"ai"===v?e.jsx(a.AiIcon,{"data-role":"ai-icon"}):"ai-subtle"===v?e.jsx(a.AiIconInverse,{"data-role":"ai-icon-subtle"}):e.jsx(o.default,{type:z[L]})}),e.jsx(t.Typography,{screenReaderOnly:!0,children:null===(r=(s=k.message)[L])||void 0===r?void 0:r.call(s)})]})};return h?e.jsxs(n.MessageStyle,y(f(y(f({},s.default("Message",I)),{transparent:m,variant:L,isSubtle:A,id:_,width:M,ref:T}),C),{tabIndex:-1,children:[!A&&W(),e.jsxs(n.MessageWrapper,{children:[e.jsxs(n.MessageContent,{"data-role":"message-content",size:S,isSubtle:A,children:[A&&W(),e.jsxs(n.MessageContentWrapper,{size:S,children:[O?"string"==typeof O?e.jsx(t.Typography,{m:0,fontWeight:"500",fontSize:"large"===S?"16px":"14px",children:O}):O:null,x]})]}),q&&w&&e.jsx(i.default,{my:"large"===S?2:1,mr:"large"===S?2:1,p:"4px","data-element":"close","aria-label":P||k.message.closeButtonAriaLabel(),onClick:w,children:e.jsx(o.default,{type:"cross"})})]})]})):null}));h.displayName="Message",exports.Message=h,exports.default=h;