UNPKG

@chief-editor/ui

Version:

UI Component for chief editor

1 lines 1.68 kB
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var s,n=1,t=arguments.length;n<t;n++)for(var o in s=arguments[n])Object.prototype.hasOwnProperty.call(s,o)&&(e[o]=s[o]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,s){var n={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&s.indexOf(t)<0&&(n[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)s.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(n[t[o]]=e[t[o]])}return n};import{classnames}from"@co-hooks/util";import React from"react";import{Attention,CheckOne,CloseOne,CloseSmall,Info,Loading}from"@byte-design/icons";import{usePrefixCls}from"../../hooks";var IconMap={info:Info,error:CloseOne,warning:Attention,success:CheckOne,loading:Loading};export function Message(e){var s=e.type,n=e.className,t=e.shadow,o=e.content,a=e.icon,r=e.showIcon,l=void 0===r||r,c=e.hasClose,i=e.onClose,m=__rest(e,["type","className","shadow","content","icon","showIcon","hasClose","onClose"]),p=usePrefixCls("message-content"),f=usePrefixCls("message-close"),h=usePrefixCls("message-icon"),u=null;if(l)if(a)u=React.createElement("span",{className:h},a);else if(s&&IconMap[s]){var g=IconMap[s];u=React.createElement("span",{className:h},React.createElement(g,{theme:"filled"}))}else u=null;var y=c?React.createElement(CloseSmall,{className:f,onClick:i}):null,C=o?React.createElement("span",{className:p},o):null,O=classnames(usePrefixCls("message",{type:s,shadow:t,"no-icon":!u,"has-close":!!y}),n);return React.createElement("span",__assign({},m,{className:O}),u,y,C)}