mirror of
https://github.com/langgenius/dify.git
synced 2026-05-31 14:16:23 +08:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
'use client'
|
|
import type { FC } from 'react'
|
|
import { cn } from '@langgenius/dify-ui/cn'
|
|
import { Tooltip, TooltipContent, TooltipTrigger } from '@langgenius/dify-ui/tooltip'
|
|
import * as React from 'react'
|
|
|
|
type Props = {
|
|
label: string
|
|
description?: string
|
|
tooltip?: string
|
|
}
|
|
|
|
const Label: FC<Props> = ({
|
|
label,
|
|
description,
|
|
tooltip,
|
|
}) => {
|
|
const tooltipIcon = (
|
|
<span
|
|
aria-label={tooltip}
|
|
className="ml-1 flex size-4 shrink-0 cursor-pointer items-center justify-center"
|
|
>
|
|
<span aria-hidden className="i-ri-question-line size-3.5 text-text-quaternary" />
|
|
</span>
|
|
)
|
|
|
|
return (
|
|
<div>
|
|
<div className={cn('flex h-6 items-center', description && 'h-4')}>
|
|
<span className="system-sm-semibold text-text-secondary">{label}</span>
|
|
{tooltip && (
|
|
<Tooltip>
|
|
<TooltipTrigger render={tooltipIcon} />
|
|
<TooltipContent>
|
|
{tooltip}
|
|
</TooltipContent>
|
|
</Tooltip>
|
|
)}
|
|
</div>
|
|
{description && (
|
|
<div className="mt-1 body-xs-regular text-text-tertiary">
|
|
{description}
|
|
</div>
|
|
)}
|
|
</div>
|
|
)
|
|
}
|
|
export default React.memo(Label)
|