feat: add side prop to TooltipBetter component for customizable tooltip positioning
This commit is contained in:
parent
ad668ca5eb
commit
79b6081bb4
|
|
@ -10,12 +10,14 @@ import { getNumber } from "@/lib/utils/getNumber";
|
||||||
import { useLocal } from "@/lib/utils/use-local";
|
import { useLocal } from "@/lib/utils/use-local";
|
||||||
import { FieldRadio } from "./field/TypeRadio";
|
import { FieldRadio } from "./field/TypeRadio";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
|
import { TooltipBetter } from "../ui/tooltip-better";
|
||||||
|
|
||||||
export const Field: React.FC<{
|
export const Field: React.FC<{
|
||||||
fm: any;
|
fm: any;
|
||||||
label?: string;
|
label?: string;
|
||||||
name: string;
|
name: string;
|
||||||
isBetter?: boolean;
|
isBetter?: boolean;
|
||||||
|
tooltip?: string;
|
||||||
onLoad?: () => Promise<any> | any;
|
onLoad?: () => Promise<any> | any;
|
||||||
type?:
|
type?:
|
||||||
| "rating"
|
| "rating"
|
||||||
|
|
@ -70,6 +72,7 @@ export const Field: React.FC<{
|
||||||
suffix,
|
suffix,
|
||||||
allowNew,
|
allowNew,
|
||||||
unique = true,
|
unique = true,
|
||||||
|
tooltip,
|
||||||
}) => {
|
}) => {
|
||||||
let result = null;
|
let result = null;
|
||||||
const field = useLocal({
|
const field = useLocal({
|
||||||
|
|
@ -155,6 +158,7 @@ export const Field: React.FC<{
|
||||||
) : (
|
) : (
|
||||||
<></>
|
<></>
|
||||||
)}
|
)}
|
||||||
|
<TooltipBetter content={tooltip} side="bottom">
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
error
|
error
|
||||||
|
|
@ -207,6 +211,7 @@ export const Field: React.FC<{
|
||||||
{before}
|
{before}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{["upload"].includes(type) ? (
|
{["upload"].includes(type) ? (
|
||||||
<>
|
<>
|
||||||
<TypeUpload
|
<TypeUpload
|
||||||
|
|
@ -360,6 +365,8 @@ export const Field: React.FC<{
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
</TooltipBetter>
|
||||||
|
|
||||||
{error ? (
|
{error ? (
|
||||||
<div className="text-sm text-red-500 py-1">{error}</div>
|
<div className="text-sm text-red-500 py-1">{error}</div>
|
||||||
) : (
|
) : (
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import {
|
||||||
TooltipTrigger,
|
TooltipTrigger,
|
||||||
} from "./tooltip";
|
} from "./tooltip";
|
||||||
|
|
||||||
export const TooltipBetter: FC<any> = ({ content, children }) => {
|
export const TooltipBetter: FC<any> = ({ content, children, side = "top" }) => {
|
||||||
if (content) {
|
if (content) {
|
||||||
return (
|
return (
|
||||||
<TooltipProvider>
|
<TooltipProvider>
|
||||||
|
|
@ -14,7 +14,10 @@ export const TooltipBetter: FC<any> = ({ content, children }) => {
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<div className="w-full flex flex-grow flex-row">{children}</div>
|
<div className="w-full flex flex-grow flex-row">{children}</div>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent className="bg-linear-sidebar-active text-white border border-primary shadow-md transition-all ">
|
<TooltipContent
|
||||||
|
side={side}
|
||||||
|
className="bg-linear-sidebar-active text-white border border-primary shadow-md transition-all "
|
||||||
|
>
|
||||||
<p>{content}</p>
|
<p>{content}</p>
|
||||||
</TooltipContent>
|
</TooltipContent>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue