@activecollab/components
Version:
ActiveCollab Components
54 lines (53 loc) • 2.34 kB
JavaScript
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 PersonIcon
* @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 (
* <PersonIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" />
* )
*
* @example
* return (
* <PersonIcon className="mr-2" />
* )
*
* @see
* https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
* @see
* https://design.activecollab.com/docs/foundations/icons
*/
const PersonIcon = /*#__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": "PersonIcon",
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: "M12 13q2.073 0 4.145.357c1.687.29 3.06 1.306 3.598 2.665l1.135 2.862c.417 1.05-.27 2.18-1.534 2.526q-.16.044-.329.069A48 48 0 0 1 12 22q-3.508 0-7.015-.521c-1.31-.195-2.181-1.234-1.947-2.321a2 2 0 0 1 .083-.274l1.136-2.862c.539-1.359 1.91-2.375 3.597-2.665A24.4 24.4 0 0 1 12 13m0 2q-1.937 0-3.884.315c-.896.145-1.624.653-1.91 1.333L5 19.51q3.502.49 7 .49a50.5 50.5 0 0 0 7-.49l-1.206-2.862c-.286-.68-1.014-1.188-1.91-1.333A24 24 0 0 0 12 15m0-13a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6"
}));
});
PersonIcon.displayName = "PersonIcon";
export default PersonIcon;
//# sourceMappingURL=Person.js.map