UNPKG

@atlaskit/inline-message

Version:

An inline message lets users know when important information is available or when an action is required.

61 lines (59 loc) 1.92 kB
/** * @jsxRuntime classic * @jsx jsx */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766 import { css, jsx } from '@emotion/react'; import { B400, G300, P300, R400, Y300 } from '@atlaskit/theme/colors'; import { typesMapping } from '../../constants'; var iconColor = function iconColor(appearance) { switch (appearance) { case 'connectivity': return "var(--ds-icon-brand, ".concat(B400, ")"); case 'confirmation': return "var(--ds-icon-success, ".concat(G300, ")"); case 'info': return "var(--ds-icon-discovery, ".concat(P300, ")"); case 'warning': return "var(--ds-icon-warning, ".concat(Y300, ")"); case 'error': return "var(--ds-icon-danger, ".concat(R400, ")"); } }; var iconWrapperStyles = css({ display: 'flex', alignItems: 'center', flex: '0 0 auto', color: 'var(--icon-color)' }); var iconColorStyles = css({ color: 'var(--icon-accent-color)' }); /** * __Selected icon__ * * The selected icon is used as the primary interactive element for the dialog. * Can be used with or without supporting text. */ var SelectedIcon = function SelectedIcon(_ref) { var appearance = _ref.appearance, isOpen = _ref.isOpen, label = _ref.label; var _typesMapping$appeara = typesMapping[appearance], Icon = _typesMapping$appeara.icon, defaultLabel = _typesMapping$appeara.defaultLabel; return jsx("span", { "data-ds--inline-message--icon": true // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 , style: { '--icon-color': iconColor(appearance) }, css: [iconWrapperStyles, isOpen && iconColorStyles] }, jsx(Icon, { testId: "inline-message-icon", label: label || defaultLabel, size: "medium" })); }; export default SelectedIcon;