FollowerPointer is a component that allows you to create a pointer that follows the user's mouse. The pointer is totally customizable and will affect the children components.
import { FollowerPointer } from "pol-ui";
Default FollowerPointer
FollowerPointer
import { FollowerPointer, HelperText, Card } from "pol-ui";
import React from "react";
const blogContent = {
author: "Pol Gubau",
date: "19th March, 2024",
title: "Mastering UI Design in React: A Comprehensive Guide",
description:
"Explore the intricate world of User Interface (UI) design in React with our insightful blog. From essential principles to advanced techniques, discover how to create stunning, responsive, and user-friendly interfaces that elevate your React applications to the next level. ",
authorAvatar:
"https://polgubau.com/_next/image?url=%2Fimages%2Fme.png&w=256&q=75",
};
const TitleComponent = ({
content,
avatar,
}: {
content: string,
avatar: string,
}) => (
<div className="flex space-x-2 items-center text-primary-50 bg-primary p-1 rounded-full pr-3">
<img
src={avatar}
height="30"
width="30"
alt="thumbnail"
className="rounded-full"
/>
<p>{content}</p>
</div>
);
const CompleteCard = () => {
return (
<Card className="max-w-xl">
<HelperText>{blogContent.date}</HelperText>
<h2 className="font-bold my-4 -mt-1 text-lg text-zinc-700">
{blogContent.title}
</h2>
<p className="font-normal text-sm text-zinc-500">
{blogContent.description}
</p>
</Card>
);
};
const FollowerPointerComponent = () => {
return (
<FollowerPointer
content={
<TitleComponent
content={blogContent.author}
avatar={blogContent.authorAvatar}
children={<CompleteCard />}
/>
}
/>
);
};
export default FollowerPointerComponent;
Props
Prop name | Type | Default | Description |
---|---|---|---|
className | string | undefined | Custom class name for the component |
content | string or React.ReactNode | undefined | Content of the popup |
icon | React.ReactNode | undefined | Icon of the component |
theme | FollowerPointerTheme | undefined | Theme of the component |
children | React.ReactNode | undefined | Children of the component |
Examples
FollowerPointer with custom icon
To modify the icon of the FollowerPointer component, you can use the icon prop and pass any React component.
With custom icon
import { FileInput } from "pol-ui";
import React from "react";
const FileInputComponent = () => {
return <FileInput helperText="This file accepts only .pdf files" />;
};
export default FileInputComponent;
Custom content
You can change as well the content prop to pass any string or React component.
Custom content
import { FileInput, Colors, ColorsEnum } from "pol-ui";
import React from "react";
const FileInputComponent = () => {
return(
<div className="flex flex-wrap items-center gap-3 ">
{Object.keys(ColorsEnum).map(color => (
<FileInput color={color as Colors} key={color} />
))}
</div>
)
};
export default FileInputComponent;
Theme
To learn more about how to customize the appearance of components, please see the Theme docs.
interface FollowerPointerTheme {
base: string;
icon: string;
pointerWrapper: string;
pointer: string;
}