brand-aws-icon
itshover/brand-aws-iconFreeComponent
itshover publishes no description for this item.
Install it
npx shadcn@latest add https://itshover.com/r/brand-aws-icon.jsonSource
1import { forwardRef, useImperativeHandle } from "react";2import type { AnimatedIconHandle, AnimatedIconProps } from "./types";3import { motion, useAnimate } from "motion/react";45const BrandAwsIcon = forwardRef<AnimatedIconHandle, AnimatedIconProps>(6 (7 { size = 24, color = "currentColor", strokeWidth = 2, className = "" },8 ref,9 ) => {10 const [scope, animate] = useAnimate();1112 const start = async () => {13 await animate(14 ".smile",15 {16 pathOffset: 1,17 opacity: [0, 1],18 pathLength: 1,19 },20 {21 duration: 0.1,22 ease: "easeInOut",23 },24 );2526 await animate(27 ".smile",28 { pathOffset: 0 },29 { duration: 0.45, ease: "easeInOut" },30 );3132 await animate(33 ".arrowhead",34 { scale: [0.8, 1.15, 1], opacity: [0, 1] },35 { duration: 0.4, ease: "easeOut" },36 );37 };3839 const stop = () => {};4041 useImperativeHandle(ref, () => ({42 startAnimation: start,43 stopAnimation: stop,44 }));4546 return (47 <motion.svg48 ref={scope}49 onHoverStart={start}50 onHoverEnd={stop}51 xmlns="http://www.w3.org/2000/svg"52 width={size}53 height={size}54 viewBox="0 0 24 24"55 fill="none"56 stroke={color}57 strokeWidth={strokeWidth}58 strokeLinecap="round"59 strokeLinejoin="round"60 className={`cursor-pointer select-none ${className}`}61 >62 <path stroke="none" d="M0 0h24v24H0z" fill="none" />6364 {/* Smile + Arrow */}65 <motion.g className="smile-group">66 <motion.path67 className="smile"68 d="M17 18.5a15.198 15.198 0 0 1 -7.37 1.44a14.62 14.62 0 0 1 -6.63 -2.94"69 />70 <motion.path71 className="arrowhead"72 d="M19.5 21c.907 -1.411 1.451 -3.323 1.5 -5c-1.197 -.773 -2.577 -.935 -4 -1"73 />74 </motion.g>7576 <motion.g className="text">77 <path d="M3 11v-4.5a1.5 1.5 0 0 1 3 0v4.5" />78 <path d="M3 9h3" />79 <path d="M9 5l1.2 6l1.8 -4l1.8 4l1.2 -6" />80 <path d="M18 10.25c0 .414 .336 .75 .75 .75h1.25a1 1 0 0 0 1 -1v-1a1 1 0 0 0 -1 -1h-1a1 1 0 0 1 -1 -1v-1a1 1 0 0 1 1 -1h1.25a.75 .75 0 0 1 .75 .75" />81 </motion.g>82 </motion.svg>83 );84 },85);8687BrandAwsIcon.displayName = "BrandAwsIcon";88export default BrandAwsIcon;
What it pulls in
npm packages
Files it writes
More from itshover
All 263 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accessibility-iconaccessibility-icon | itshover | Components | Free | 1 dep · 2 files | |
| airplane-iconairplane-icon | itshover | Components | Free | 1 dep · 2 files | |
| alarm-clock-plus-iconalarm-clock-plus-icon | itshover | Components | Free | 1 dep · 2 files | |
| align-center-iconalign-center-icon | itshover | Components | Free | 1 dep · 2 files | |
| align-vertical-space-around-iconalign-vertical-space-around-icon | itshover | Components | Free | 1 dep · 2 files | |
| ambulance-iconambulance-icon | itshover | Components | Free | 1 dep · 2 files | |
| ampersand-iconampersand-icon | itshover | Components | Free | 1 dep · 2 files | |
| angry-iconangry-icon | itshover | Components | Free | 1 dep · 2 files |
