Files
dify/web/app/components/datasets/metadata/metadata-dataset/create-metadata-modal.tsx
yyh dfcc0f8863 refactor(dify-ui): finish primitive migration from web/base/ui to @langgenius/dify-ui (#35349)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-17 08:46:11 +00:00

46 lines
1.2 KiB
TypeScript

'use client'
import type { FC } from 'react'
import type { Props as CreateContentProps } from './create-content'
import { Popover, PopoverContent, PopoverTrigger } from '@langgenius/dify-ui/popover'
import * as React from 'react'
import CreateContent from './create-content'
type Props = {
open: boolean
setOpen: (open: boolean) => void
onSave: (data: any) => void
trigger: React.ReactNode
popupLeft?: number
} & CreateContentProps
const CreateMetadataModal: FC<Props> = ({
open,
setOpen,
trigger,
popupLeft = 20,
...createContentProps
}) => {
const triggerElement = React.isValidElement(trigger)
? trigger
: <button type="button">{trigger}</button>
return (
<Popover
open={open}
onOpenChange={setOpen}
>
<PopoverTrigger render={triggerElement as React.ReactElement} />
<PopoverContent
placement="left-start"
sideOffset={popupLeft}
alignOffset={-38}
popupClassName="border-none bg-transparent shadow-none"
>
<CreateContent {...createContentProps} onClose={() => setOpen(false)} onBack={() => setOpen(false)} />
</PopoverContent>
</Popover>
)
}
export default React.memo(CreateMetadataModal)