'use client' import type { ComponentProps, FC } from 'react' import type { TriggerDefaultValue, TriggerWithProvider } from '../types' import type { Event } from '@/app/components/tools/types' import { cn } from '@langgenius/dify-ui/cn' import { PreviewCardContent, PreviewCardTrigger } from '@langgenius/dify-ui/preview-card' import * as React from 'react' import { useTranslation } from 'react-i18next' import { useGetLanguage } from '@/context/i18n' import BlockIcon from '../../block-icon' import { BlockEnum } from '../../types' type Props = Readonly<{ provider: TriggerWithProvider payload: Event previewCardHandle: TriggerPluginActionPreviewCardHandle disabled?: boolean isAdded?: boolean onSelect: (type: BlockEnum, trigger?: TriggerDefaultValue) => void }> export type TriggerPluginActionPreviewPayload = { provider: TriggerWithProvider payload: Event language: ReturnType } type PreviewCardHandle = NonNullable['handle']> export type TriggerPluginActionPreviewCardHandle = PreviewCardHandle const TriggerPluginActionItem: FC = ({ provider, payload, previewCardHandle, onSelect, disabled, isAdded, }) => { const { t } = useTranslation() const language = useGetLanguage() const row = ( ) return ( // Preview is supplementary: provider icon, event label and description are all // reachable from the node inspector after the row is clicked to add the trigger, // so hover/focus-only activation is a11y-safe. See // packages/dify-ui/AGENTS.md → Overlay Primitive Selection. ) } type TriggerPluginActionPreviewCardProps = { payload?: TriggerPluginActionPreviewPayload } export function TriggerPluginActionPreviewCard({ payload }: TriggerPluginActionPreviewCardProps) { if (!payload) return null return (
{payload.payload.label[payload.language]}
{payload.payload.description[payload.language]}
) } export default React.memo(TriggerPluginActionItem)