UNPKG

@atlaskit/icon

Version:

An icon is a symbol representing a command, device, directory, or common action.

46 lines (44 loc) 1.8 kB
/** * @jsxRuntime classic * @jsx jsx */ import { memo } from 'react'; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766 import { css, jsx } from '@emotion/react'; import { getBackground } from './utils'; import { commonSVGStyles, sizeStyleMap } from './styles'; // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766 var svgStyles = css(commonSVGStyles); /** * __SVG__ * * An icon is used as a visual representation of common actions and commands to provide context. * * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon) * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-svgs) */ var SVG = /*#__PURE__*/memo(function SVG(_ref) { var _ref$size = _ref.size, size = _ref$size === void 0 ? 'medium' : _ref$size, label = _ref.label, _ref$primaryColor = _ref.primaryColor, primaryColor = _ref$primaryColor === void 0 ? 'currentColor' : _ref$primaryColor, secondaryColor = _ref.secondaryColor, testId = _ref.testId, children = _ref.children; return jsx("svg", { viewBox: "0 0 24 24", style: { color: primaryColor, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 fill: secondaryColor || getBackground() } // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 , css: [svgStyles, sizeStyleMap[size]], "data-testid": testId, "aria-label": label || undefined, role: label ? 'img' : 'presentation' }, children); }); export default SVG;