UNPKG

@activecollab/components

Version:

ActiveCollab Components

55 lines (54 loc) 2.05 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; const _excluded = ["gradient"]; import React from "react"; import { GradientDefs } from "../../GradientDefs"; /** * @component ImageIcon * @description * * The React Icon component is a visual element that displays an icon to represent a concept, object, or action. * The Icon component is * customizable, allowing for variations in size, color, and style to fit the needs of the application. * * @prop {string} [gradient] - Optional CSS linear-gradient string to apply a custom fill. * Format: "linear-gradient(<angle>deg, <color1>, <color2>, ...)" * * @example * return ( * <ImageIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" /> * ) * * @example * return ( * <ImageIcon className="mr-2" /> * ) * * @see * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons * @see * https://design.activecollab.com/docs/foundations/icons */ const ImageIcon = /*#__PURE__*/React.forwardRef((_ref, ref) => { let gradient = _ref.gradient, props = _objectWithoutPropertiesLoose(_ref, _excluded); return /*#__PURE__*/React.createElement("svg", _extends({ xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", "data-testid": "ImageIcon", fill: gradient ? "url(#icon-gradient)" : props != null && props.fill ? props.fill : "var(--color-theme-600)", focusable: false, ref: ref }, props), /*#__PURE__*/React.createElement(GradientDefs, { gradient: gradient }), /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", d: "M20 4a2 2 0 0 1 1.994 1.85L22 6v12a2 2 0 0 1-1.85 1.994L20 20H4a2 2 0 0 1-1.995-1.85L2 18V6a2 2 0 0 1 1.85-1.995L4 4zm0 2H4v12h16zm-5.5 4 4.5 6H5l3.5-4.5 2.5 3zm-8-3a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3", clipRule: "evenodd" })); }); ImageIcon.displayName = "ImageIcon"; export default ImageIcon; //# sourceMappingURL=Image.js.map