@atlaskit/section-message
Version:
A section message is used to alert users to a particular section of the screen.
48 lines • 1.64 kB
JavaScript
import React from 'react';
import StatusDiscoveryIcon from '@atlaskit/icon/core/status-discovery';
import ErrorIcon from '@atlaskit/icon/core/status-error';
import InfoIcon from '@atlaskit/icon/core/status-information';
import SuccessIcon from '@atlaskit/icon/core/status-success';
import WarningIcon from '@atlaskit/icon/core/status-warning';
const appearanceIconSchema = {
information: {
backgroundColor: "var(--ds-background-information, #E9F2FE)",
Icon: InfoIcon,
primaryIconColor: "var(--ds-icon-information, #357DE8)"
},
warning: {
backgroundColor: "var(--ds-background-warning, #FFF5DB)",
Icon: WarningIcon,
primaryIconColor: "var(--ds-icon-warning, #E06C00)"
},
error: {
backgroundColor: "var(--ds-background-danger, #FFECEB)",
Icon: ErrorIcon,
primaryIconColor: "var(--ds-icon-danger, #C9372C)"
},
success: {
backgroundColor: "var(--ds-background-success, #EFFFD6)",
Icon: SuccessIcon,
primaryIconColor: "var(--ds-icon-success, #6A9A23)"
},
discovery: {
backgroundColor: "var(--ds-background-discovery, #F8EEFE)",
Icon: StatusDiscoveryIcon,
primaryIconColor: "var(--ds-icon-discovery, #AF59E1)"
}
};
export function getAppearanceIconStyles(appearance, icon) {
const appearanceIconStyles = appearanceIconSchema[appearance] || appearanceIconSchema.information;
const AppearanceIcon = ({
primaryColor
}) => /*#__PURE__*/React.createElement(appearanceIconStyles.Icon, {
color: primaryColor,
spacing: "spacious",
label: appearance
});
const Icon = icon || AppearanceIcon;
return {
...appearanceIconStyles,
Icon
};
}