"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 GroupByIcon
 * @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 (
 * <GroupByIcon gradient="linear-gradient(135deg, #4da2ed, #f72222)" />
 * )
 *
 * @example
 * return (
 *   <GroupByIcon className="mr-2" />
 * )
 *
 * @see
 * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
 * @see
 * https://design.activecollab.com/docs/foundations/icons
 */
var GroupByIcon = /*#__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": "GroupByIcon",
    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: "M20.598 9a1 1 0 01-1.994-.123V5.392h-3.486a.997.997 0 110-1.995l4.486-.005.118.007a1 1 0 01.883.993v4.49l-.007.12V9zM5.396 15.122v3.487h3.486a.998.998 0 010 1.995l-4.486.005-.118-.007a1 1 0 01-.883-.993v-4.49l.007-.12a.997.997 0 01.993-.877l.12.008a1 1 0 01.881.992zm8.726 4.478a.998.998 0 00.878.998l.12.008h4.489a1 1 0 00.993-.884l.007-.118-.005-4.486a.998.998 0 00-1.995 0v3.486h-3.487a1 1 0 00-1 .996zM5.391 5.396h3.487a1 1 0 00.992-.88l.008-.12A.997.997 0 009 3.401l-.12-.008H4.392a1 1 0 00-.993.884l-.007.118.005 4.486a.998.998 0 001.995 0V5.396h-.001zM8 9a1 1 0 011-1h6a1 1 0 110 2H9a1 1 0 01-1-1zm1 2a1 1 0 100 2h6a1 1 0 000-2H9zm-1 4a1 1 0 011-1h6a1 1 0 110 2H9a1 1 0 01-1-1z"
  }));
});
GroupByIcon.displayName = "GroupByIcon";
var _default = exports.default = GroupByIcon;
//# sourceMappingURL=GroupBy.js.map