"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _GradientDefs = require("../../GradientDefs");
var _excluded = ["gradient"];
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
/**
 * @component NotificationBellIcon
 * @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 (
 * <NotificationBellIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" />
 * )
 *
 * @example
 * return (
 *   <NotificationBellIcon className="mr-2" />
 * )
 *
 * @see
 * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
 * @see
 * https://design.activecollab.com/docs/foundations/icons
 */
var NotificationBellIcon = /*#__PURE__*/_react.default.forwardRef(function (_ref, svgRef) {
  var gradient = _ref.gradient,
    props = _objectWithoutProperties(_ref, _excluded);
  return /*#__PURE__*/_react.default.createElement("svg", _extends({
    width: 24,
    height: 24,
    viewBox: "0 0 24 24",
    xmlns: "http://www.w3.org/2000/svg",
    "data-testid": "NotificationBellIcon",
    fill: gradient ? "url(#icon-gradient)" : props !== null && props !== void 0 && props.fill ? props.fill : "var(--color-theme-600)",
    focusable: false,
    ref: svgRef
  }, props), /*#__PURE__*/_react.default.createElement(_GradientDefs.GradientDefs, {
    gradient: gradient
  }), /*#__PURE__*/_react.default.createElement("path", {
    d: "M21 19H3v-3.9l.7-.2C4.5 14.6 5 13.8 5 13v-2c0-2.7 1.6-5.2 4-6.3.2-1.6 1.5-2.7 3-2.7s2.8 1.1 3 2.7c2.4 1.2 4 3.6 4 6.3v2c0 .8.5 1.6 1.3 1.9l.7.2V19zM5 17h14v-.5c-1.2-.7-2-2-2-3.5v-2c0-1.9-1.1-3.7-2.9-4.5l-1-.5-.1-1.1c-.1-.5-.5-.9-1-.9s-.9.4-1 .9L10.9 6l-1 .5C8.1 7.3 7 9.1 7 11v2c0 1.4-.8 2.8-2 3.5v.5zm8 3h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2c0 .6.4 1 1 1s1-.4 1-1zm0 0h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2c0 .6.4 1 1 1s1-.4 1-1z"
  }));
});
NotificationBellIcon.displayName = "NotificationBellIcon";
var _default = exports.default = NotificationBellIcon;
//# sourceMappingURL=NotificationBell.js.map