← Back

Plus Circled

Install

npm install @svg-animated-icons/react

CLI

Copy an icon component straight into your project — shadcn-style. Replace {icon} with an icon name like arrow-left.

terminal
npx @svg-animated-icons/cli add {icon} --react
FlagDescription
--dest <dir>Destination directory (default: components/animated-icons)

Or copy the component with the CLI

CLI
npx @svg-animated-icons/cli add plus-circled --react

Code

React
// Generated by @svg-animated-icons/cli
// You own this file — edit it freely.

import React from "react";

type Props = {
  disableHover?: boolean;
  className?: string;
};

export function PlusCircledIcon({ disableHover, className }: Props) {
  const classes = [
    "ai-plus-circled-icon",
    disableHover ? "no-hover" : "",
    className ?? "",
  ]
    .filter(Boolean)
    .join(" ");

  return (
    <>
      <style>{`
.ai-plus-circled-icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  cursor: pointer;
  overflow: visible;
}

.ai-plus-circled-icon * {
  transform-box: fill-box;
}

.ai-plus-circled-icon.no-hover * {
  transform: none;
  opacity: 1;
  animation: none;
}

.ai-plus-circled-icon .plus {
  transform-box: view-box;
  transform-origin: 7.5px 7.5px;
}

.ai-plus-circled-icon:not(.no-hover):hover .plus {
  animation: ai-plus-circled-spin 700ms ease-in-out;
}

@keyframes ai-plus-circled-spin {
  from { transform: rotate(0); }
  to { transform: rotate(90deg); }
}
`}</style>
      <svg
        xmlns="http://www.w3.org/2000/svg"
        className={classes}
        viewBox="0 0 15 15"
        fill="none"
      >
        <path className="ring" fillRule="evenodd" d="M7.49915 0.876907C11.1566 0.876907 14.1218 3.84164 14.1222 7.49898C14.1222 11.1566 11.1568 14.122 7.49915 14.122C3.84181 14.1216 0.877075 11.1564 0.877075 7.49898C0.877487 3.8419 3.84206 0.877318 7.49915 0.876907ZM7.49915 1.82613C4.36673 1.82654 1.82671 4.36657 1.82629 7.49898C1.82629 10.6317 4.36648 13.1714 7.49915 13.1718C10.6321 13.1718 13.172 10.632 13.172 7.49898C13.1716 4.36631 10.6319 1.82613 7.49915 1.82613Z" fill="currentColor"/>
        <path className="plus" d="M7.50012 3.99995C7.7762 4 8.00009 4.22387 8.00012 4.49995V6.99995H10.5001C10.7762 7 11.0001 7.22387 11.0001 7.49995C11.0001 7.77607 10.7762 7.9999 10.5001 7.99995H8.00012V10.5C8.00012 10.7761 7.77622 10.9999 7.50012 11C7.22398 11 7.00012 10.7761 7.00012 10.5V7.99995H4.50012C4.22398 7.99995 4.00012 7.7761 4.00012 7.49995C4.00015 7.22384 4.224 6.99995 4.50012 6.99995H7.00012V4.49995C7.00015 4.22384 7.224 3.99995 7.50012 3.99995Z" fill="currentColor"/>
      </svg>
    </>
  );
}