mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 18:27:19 +08:00
fix: native button
This commit is contained in:
parent
ea7b03f28a
commit
4e94683fd4
@ -89,9 +89,13 @@ const DropDown = ({
|
||||
setConfirmMessage(isUsedByApp ? t('datasetUsedByApp', { ns: 'dataset' })! : t('deleteDatasetConfirmContent', { ns: 'dataset' })!)
|
||||
setShowConfirmDelete(true)
|
||||
}
|
||||
catch (e: any) {
|
||||
const res = await e.json()
|
||||
toast(res?.message || 'Unknown error', { type: 'error' })
|
||||
catch (e: unknown) {
|
||||
let message = 'Unknown error'
|
||||
if (e instanceof Response) {
|
||||
const res = await e.json() as { message?: string }
|
||||
message = res?.message || message
|
||||
}
|
||||
toast(message, { type: 'error' })
|
||||
}
|
||||
}, [dataset.id, t])
|
||||
|
||||
@ -112,10 +116,15 @@ const DropDown = ({
|
||||
open={open}
|
||||
onOpenChange={setOpen}
|
||||
>
|
||||
<DropdownMenuTrigger render={<div />}>
|
||||
<ActionButton className={cn(expand ? 'size-8 rounded-lg' : 'size-6 rounded-md', open && 'bg-state-base-hover')}>
|
||||
<span aria-hidden className="i-ri-more-fill size-4" />
|
||||
</ActionButton>
|
||||
<DropdownMenuTrigger
|
||||
render={(
|
||||
<ActionButton
|
||||
aria-label={t('operation.more', { ns: 'common' })}
|
||||
className={cn(expand ? 'size-8 rounded-lg' : 'size-6 rounded-md', open && 'bg-state-base-hover')}
|
||||
/>
|
||||
)}
|
||||
>
|
||||
<span aria-hidden className="i-ri-more-fill size-4" />
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent
|
||||
placement={expand ? 'bottom-end' : 'right-start'}
|
||||
|
||||
@ -65,12 +65,13 @@ export function Infotip({
|
||||
delay={delay}
|
||||
closeDelay={closeDelay}
|
||||
aria-label={ariaLabel}
|
||||
render={(
|
||||
<span className={cn('inline-flex h-4 w-4 shrink-0 items-center justify-center', className)}>
|
||||
<span aria-hidden className={cn('i-ri-question-line h-3.5 w-3.5 text-text-quaternary hover:text-text-tertiary', iconClassName)} />
|
||||
</span>
|
||||
className={cn(
|
||||
'inline-flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center border-0 bg-transparent p-0 focus-visible:ring-1 focus-visible:ring-components-input-border-hover focus-visible:outline-hidden',
|
||||
className,
|
||||
)}
|
||||
/>
|
||||
>
|
||||
<span aria-hidden className={cn('i-ri-question-line h-3.5 w-3.5 text-text-quaternary hover:text-text-tertiary', iconClassName)} />
|
||||
</PopoverTrigger>
|
||||
<PopoverContent
|
||||
placement={placement}
|
||||
popupClassName={cn('max-w-[300px] rounded-md px-3 py-2 system-xs-regular text-text-tertiary', popupClassName)}
|
||||
|
||||
@ -13,6 +13,7 @@ import type {
|
||||
OnSelectBlock,
|
||||
ToolWithProvider,
|
||||
} from '../types'
|
||||
import { cn } from '@langgenius/dify-ui/cn'
|
||||
import {
|
||||
Popover,
|
||||
PopoverContent,
|
||||
@ -177,18 +178,19 @@ const NodeSelector: FC<NodeSelectorProps> = ({
|
||||
}, [activeTab, t])
|
||||
|
||||
const defaultTriggerElement = (
|
||||
<div
|
||||
className={`
|
||||
z-10 flex h-4
|
||||
w-4 cursor-pointer items-center justify-center rounded-full bg-components-button-primary-bg text-text-primary-on-surface hover:bg-components-button-primary-bg-hover
|
||||
${triggerClassName?.(open)}
|
||||
`}
|
||||
<PopoverTrigger
|
||||
aria-label={t('common.addBlock', { ns: 'workflow' })}
|
||||
className={cn(
|
||||
'z-10 flex h-4 w-4 cursor-pointer items-center justify-center rounded-full border-0 bg-components-button-primary-bg p-0 text-text-primary-on-surface hover:bg-components-button-primary-bg-hover focus-visible:ring-1 focus-visible:ring-components-input-border-hover focus-visible:outline-hidden',
|
||||
triggerClassName?.(open),
|
||||
)}
|
||||
style={triggerStyle}
|
||||
onClick={handleTrigger}
|
||||
>
|
||||
<Plus02 className="h-2.5 w-2.5" />
|
||||
</div>
|
||||
<Plus02 aria-hidden className="h-2.5 w-2.5" />
|
||||
</PopoverTrigger>
|
||||
)
|
||||
const triggerElement = trigger ? trigger(open) : defaultTriggerElement
|
||||
const triggerElement = trigger?.(open)
|
||||
const triggerElementProps = React.isValidElement(triggerElement)
|
||||
? (triggerElement.props as {
|
||||
onClick?: MouseEventHandler<HTMLElement>
|
||||
@ -216,15 +218,17 @@ const NodeSelector: FC<NodeSelectorProps> = ({
|
||||
const sideOffset = typeof offset === 'number' ? offset : (resolvedOffset?.mainAxis ?? 0)
|
||||
const alignOffset = typeof offset === 'number' ? 0 : (resolvedOffset?.crossAxis ?? 0)
|
||||
const nativeButton = asChild
|
||||
&& React.isValidElement(triggerElement)
|
||||
&& (typeof triggerElement.type !== 'string' || triggerElement.type === 'button')
|
||||
? React.isValidElement(triggerElement) && (typeof triggerElement.type !== 'string' || triggerElement.type === 'button')
|
||||
: false
|
||||
|
||||
return (
|
||||
<Popover
|
||||
open={open}
|
||||
onOpenChange={handleOpenChange}
|
||||
>
|
||||
<PopoverTrigger nativeButton={nativeButton} render={resolvedTriggerElement as React.ReactElement} />
|
||||
{trigger
|
||||
? <PopoverTrigger nativeButton={nativeButton} render={resolvedTriggerElement as React.ReactElement} />
|
||||
: defaultTriggerElement}
|
||||
<PopoverContent
|
||||
placement={placement}
|
||||
sideOffset={sideOffset}
|
||||
|
||||
@ -230,6 +230,7 @@ const VarReferencePickerTrigger: FC<Props> = ({
|
||||
? variablePicker
|
||||
: (
|
||||
<PopoverTrigger
|
||||
nativeButton={false}
|
||||
render={variablePicker}
|
||||
onClick={handleTriggerReadonlyClick}
|
||||
/>
|
||||
@ -344,6 +345,7 @@ const VarReferencePickerTrigger: FC<Props> = ({
|
||||
|
||||
return (
|
||||
<PopoverTrigger
|
||||
nativeButton={false}
|
||||
render={triggerContent}
|
||||
onClick={handleTriggerReadonlyClick}
|
||||
/>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user