← Back

List Bullet

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 list-bullet --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 ListBulletIcon({ disableHover, className }: Props) {
  const classes = [
    "ai-list-bullet-icon",
    disableHover ? "no-hover" : "",
    className ?? "",
  ]
    .filter(Boolean)
    .join(" ");

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

.ai-list-bullet-icon * {
  transform-box: fill-box;
}

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

.ai-list-bullet-icon .row-1,
.ai-list-bullet-icon .row-2,
.ai-list-bullet-icon .row-3 {
  transform-origin: center;
}

.ai-list-bullet-icon:not(.no-hover):hover .row-1 {
  animation: ai-list-bullet-reveal 700ms ease-in-out;
}

.ai-list-bullet-icon:not(.no-hover):hover .row-2 {
  animation: ai-list-bullet-reveal 700ms ease-in-out 120ms;
}

.ai-list-bullet-icon:not(.no-hover):hover .row-3 {
  animation: ai-list-bullet-reveal 700ms ease-in-out 240ms;
}

@keyframes ai-list-bullet-reveal {
  0% { opacity: 0; transform: translateX(-3px); }
  100% { opacity: 1; transform: translateX(0); }
}
`}</style>
      <svg
        xmlns="http://www.w3.org/2000/svg"
        className={classes}
        viewBox="0 0 15 15"
        fill="none"
      >
        <path className="row-1" d="M1.5 3.75002C1.91421 3.75002 2.25 4.0858 2.25 4.50002C2.25 4.91423 1.91421 5.25002 1.5 5.25002C1.08579 5.25002 0.75 4.91423 0.75 4.50002C0.75 4.0858 1.08579 3.75002 1.5 3.75002ZM13.6006 4.00978C13.8286 4.05631 14 4.2583 14 4.50002C14 4.74173 13.8286 4.94372 13.6006 4.99025L13.5 5.00002H4.5C4.22386 5.00002 4 4.77616 4 4.50002C4 4.22387 4.22386 4.00002 4.5 4.00002H13.5L13.6006 4.00978Z" fill="currentColor"/>
        <path className="row-2" d="M1.5 6.75002C1.91421 6.75002 2.25 7.0858 2.25 7.50002C2.25 7.91423 1.91421 8.25002 1.5 8.25002C1.08579 8.25002 0.75 7.91423 0.75 7.50002C0.75 7.0858 1.08579 6.75002 1.5 6.75002ZM13.6006 7.00978C13.8286 7.05631 14 7.2583 14 7.50002C14 7.74173 13.8286 7.94372 13.6006 7.99025L13.5 8.00002H4.5C4.22386 8.00002 4 7.77616 4 7.50002C4 7.22387 4.22386 7.00002 4.5 7.00002H13.5L13.6006 7.00978Z" fill="currentColor"/>
        <path className="row-3" d="M1.5 9.75002C1.91421 9.75002 2.25 10.0858 2.25 10.5C2.25 10.9142 1.91421 11.25 1.5 11.25C1.08579 11.25 0.75 10.9142 0.75 10.5C0.75 10.0858 1.08579 9.75002 1.5 9.75002ZM13.6006 10.0098C13.8286 10.0563 14 10.2583 14 10.5C14 10.7417 13.8286 10.9437 13.6006 10.9902L13.5 11H4.5C4.22386 11 4 10.7762 4 10.5C4 10.2239 4.22386 10 4.5 10H13.5L13.6006 10.0098Z" fill="currentColor"/>
      </svg>
    </>
  );
}