Calamansi mascot
A tiny citrus fruit that blinks, follows your cursor, blushes when you pet it, and goes tart if you poke it too much.
Move cursor to track eyes. Pet back and forth to blush. Poke five times for tart mode. Press and hold to squish.
Installation
npx shadcn@latest add fujiDevv/calamansi-ui/calamansiHow to use
import { Calamansi } from "@/components/ui/calamansi"export function Demo() {return <Calamansi variant="primary" size={200} />}
Props
Options you can pass to customize this component.
sizeoptionalnumberWidth and height of the fruit in pixels.
textureoptionaltexturedplainSet to "textured" for a lit rind — pore relief and waxy undulation over the palette colour, with a tight specular core, a bevel and a grounding shadow — or "plain" for a smooth, minimal flat look.
variantoptionaldefaultprimarycitrusslateColor scheme for the fruit body and foliage. "primary" applies the brand lime, "citrus" applies warm amber, and "slate" applies cool frosted slate.
moodoptionalhappylovesleepytartThe resting expression, applied when the component is not interactive.
interactiveoptionalbooleanEnables blinking, cursor tracking, petting and poking. Turn it off for a still, decorative fruit.
followCursoroptionalbooleanWhether the eyes track the pointer around the page.
pressableoptionalbooleanWhether pointer presses squish the fruit.
classNameoptionalstringExtra classes merged onto the outer element.
titleoptionalReactNodeOptional title rendered in a vertical stack above the mascot.
descriptionoptionalReactNodeOptional description rendered below the title.
Dependencies
License & Usage
- •Free to use and modify in personal and commercial projects.
- •Attribution to Calamansi UI is appreciated when using a component.
- •Please do not resell the components as your own kit.