mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 02:18:08 +08:00
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts: # api/controllers/console/app/app.py # web/eslint-suppressions.json # web/eslint.config.mjs
This commit is contained in:
@ -281,7 +281,7 @@ function FeaturedToolUninstalledItem({
|
||||
<div className="ml-auto flex h-full items-center gap-1 pl-1">
|
||||
<span className={`system-xs-regular text-text-tertiary ${actionOpen ? 'hidden' : 'group-hover:hidden'}`}>{installCountLabel}</span>
|
||||
<div
|
||||
className={`system-xs-medium flex h-full items-center gap-1 text-components-button-secondary-accent-text [&_.action-btn]:h-6 [&_.action-btn]:min-h-0 [&_.action-btn]:w-6 [&_.action-btn]:rounded-lg [&_.action-btn]:p-0 ${actionOpen ? 'flex' : 'hidden group-hover:flex'}`}
|
||||
className={`system-xs-medium flex h-full items-center gap-1 text-components-button-secondary-accent-text [&_.action-btn]:h-6 [&_.action-btn]:min-h-0 [&_.action-btn]:w-6 [&_.action-btn]:rounded-lg [&_.action-btn]:p-0 ${actionOpen ? '' : 'hidden group-hover:flex'}`}
|
||||
onMouseEnter={() => setIsActionHovered(true)}
|
||||
onMouseLeave={() => {
|
||||
if (!actionOpen)
|
||||
|
||||
@ -276,7 +276,7 @@ function FeaturedTriggerUninstalledItem({
|
||||
<div className="ml-auto flex h-full items-center gap-1 pl-1">
|
||||
<span className={`system-xs-regular text-text-tertiary ${actionOpen ? 'hidden' : 'group-hover:hidden'}`}>{installCountLabel}</span>
|
||||
<div
|
||||
className={`system-xs-medium flex h-full items-center gap-1 text-components-button-secondary-accent-text [&_.action-btn]:h-6 [&_.action-btn]:min-h-0 [&_.action-btn]:w-6 [&_.action-btn]:rounded-lg [&_.action-btn]:p-0 ${actionOpen ? 'flex' : 'hidden group-hover:flex'}`}
|
||||
className={`system-xs-medium flex h-full items-center gap-1 text-components-button-secondary-accent-text [&_.action-btn]:h-6 [&_.action-btn]:min-h-0 [&_.action-btn]:w-6 [&_.action-btn]:rounded-lg [&_.action-btn]:p-0 ${actionOpen ? '' : 'hidden group-hover:flex'}`}
|
||||
onMouseEnter={() => setIsActionHovered(true)}
|
||||
onMouseLeave={() => {
|
||||
if (!actionOpen)
|
||||
|
||||
@ -42,7 +42,7 @@ const Item: FC<Props> = ({
|
||||
/>
|
||||
<div className="ml-2 flex w-0 grow">
|
||||
<div className="w-0 grow">
|
||||
<div className="system-sm-medium h-4 truncate leading-4 text-text-primary ">{getLocalizedText(payload.label)}</div>
|
||||
<div className="system-sm-medium h-4 truncate leading-4 text-text-primary">{getLocalizedText(payload.label)}</div>
|
||||
<div className="system-xs-regular h-5 truncate leading-5 text-text-tertiary">{getLocalizedText(payload.brief)}</div>
|
||||
<div className="system-xs-regular flex space-x-1 text-text-tertiary">
|
||||
<div>{payload.org}</div>
|
||||
|
||||
@ -47,7 +47,7 @@ const ViewTypeSelect: FC<Props> = ({
|
||||
}
|
||||
onClick={handleChange(ViewType.tree)}
|
||||
>
|
||||
<RiNodeTree className="h-4 w-4 " />
|
||||
<RiNodeTree className="h-4 w-4" />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
@ -106,7 +106,7 @@ const HeaderInRestoring = ({
|
||||
<div>
|
||||
<RestoringTitle />
|
||||
</div>
|
||||
<div className=" flex items-center justify-end gap-x-2">
|
||||
<div className="flex items-center justify-end gap-x-2">
|
||||
<Button
|
||||
onClick={handleRestore}
|
||||
disabled={!currentVersion || currentVersion.version === WorkflowVersion.Draft}
|
||||
|
||||
@ -35,7 +35,7 @@ const PanelWrap: FC<Props> = ({
|
||||
onHide()
|
||||
}}
|
||||
>
|
||||
<RiCloseLine className="h-4 w-4 text-text-tertiary " />
|
||||
<RiCloseLine className="h-4 w-4 text-text-tertiary" />
|
||||
</div>
|
||||
</div>
|
||||
{children}
|
||||
|
||||
@ -118,7 +118,7 @@ const Editor: FC<Props> = ({
|
||||
{/* to patch Editor not support dynamic change editable status */}
|
||||
{readOnly && <div className="absolute inset-0 z-10"></div>}
|
||||
{isFocus && (
|
||||
<div className={cn('absolute z-10', insertVarTipToLeft ? 'left-[-12px] top-1.5' : ' right-1 top-[-9px]')}>
|
||||
<div className={cn('absolute z-10', insertVarTipToLeft ? 'left-[-12px] top-1.5' : 'right-1 top-[-9px]')}>
|
||||
<Tooltip
|
||||
popupContent={`${t('common.insertVarTip', { ns: 'workflow' })}`}
|
||||
>
|
||||
|
||||
@ -209,7 +209,7 @@ export const NodeSourceHandle = memo(({
|
||||
>
|
||||
<div className="absolute -top-1 left-1/2 hidden -translate-x-1/2 -translate-y-full rounded-lg border-[0.5px] border-components-panel-border bg-components-tooltip-bg p-1.5 shadow-lg group-hover/handle:block">
|
||||
<div className="system-xs-regular text-text-tertiary">
|
||||
<div className=" whitespace-nowrap">
|
||||
<div className="whitespace-nowrap">
|
||||
<span className="system-xs-medium text-text-secondary">{t('common.parallelTip.click.title', { ns: 'workflow' })}</span>
|
||||
{t('common.parallelTip.click.desc', { ns: 'workflow' })}
|
||||
</div>
|
||||
|
||||
@ -261,7 +261,7 @@ const Editor: FC<Props> = ({
|
||||
<div className={cn('pb-2', isExpand && 'flex grow flex-col')}>
|
||||
{!(isSupportJinja && editionType === EditionType.jinja2)
|
||||
? (
|
||||
<div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative min-h-[56px] overflow-y-auto px-3', editorContainerClassName)}>
|
||||
<div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative min-h-[56px] overflow-y-auto px-3', editorContainerClassName)}>
|
||||
<PromptEditor
|
||||
key={controlPromptEditorRerenderKey}
|
||||
placeholder={placeholder}
|
||||
@ -332,7 +332,7 @@ const Editor: FC<Props> = ({
|
||||
</div>
|
||||
)
|
||||
: (
|
||||
<div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative min-h-[56px] overflow-y-auto px-3', editorContainerClassName)}>
|
||||
<div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative min-h-[56px] overflow-y-auto px-3', editorContainerClassName)}>
|
||||
<CodeEditor
|
||||
availableVars={nodesOutputVars || []}
|
||||
varList={varList}
|
||||
|
||||
@ -69,12 +69,12 @@ const TypeSelector: FC<Props> = ({
|
||||
className={cn(showOption && 'bg-state-base-hover', 'flex h-5 cursor-pointer items-center rounded-md pl-1 pr-0.5 text-xs font-semibold text-text-secondary hover:bg-state-base-hover')}
|
||||
>
|
||||
<div className={cn('text-sm font-semibold', uppercase && 'uppercase', noValue && 'text-text-tertiary', triggerClassName)}>{!noValue ? item?.label : placeholder}</div>
|
||||
{!readonly && <DropDownIcon className="h-3 w-3 " />}
|
||||
{!readonly && <DropDownIcon className="h-3 w-3" />}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{(showOption && !readonly) && (
|
||||
<div className={cn('absolute top-[24px] z-10 w-[120px] select-none rounded-lg border border-components-panel-border bg-components-panel-bg p-1 shadow-lg', popupClassName)}>
|
||||
<div className={cn('absolute top-[24px] z-10 w-[120px] select-none rounded-lg border border-components-panel-border bg-components-panel-bg p-1 shadow-lg', popupClassName)}>
|
||||
{list.map(item => (
|
||||
<div
|
||||
key={item.value}
|
||||
|
||||
@ -43,7 +43,7 @@ const VarFullPathPanel: FC<Props> = ({
|
||||
})()
|
||||
return (
|
||||
<div className="w-[280px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur pb-0 shadow-lg backdrop-blur-[5px]">
|
||||
<div className="flex space-x-1 border-b-[0.5px] border-divider-subtle p-3 pb-2 ">
|
||||
<div className="flex space-x-1 border-b-[0.5px] border-divider-subtle p-3 pb-2">
|
||||
<BlockIcon size="xs" type={nodeType} />
|
||||
<div className="system-xs-medium w-0 grow truncate text-text-secondary">{nodeName}</div>
|
||||
</div>
|
||||
|
||||
@ -603,7 +603,7 @@ const VarReferencePicker: FC<Props> = ({
|
||||
)}
|
||||
{!hasValue && valueTypePlaceHolder && (
|
||||
<Badge
|
||||
className=" absolute right-1 top-[50%] translate-y-[-50%] capitalize"
|
||||
className="absolute right-1 top-[50%] translate-y-[-50%] capitalize"
|
||||
text={valueTypePlaceHolder}
|
||||
uppercase={false}
|
||||
/>
|
||||
|
||||
@ -212,7 +212,7 @@ const Item: FC<ItemProps> = ({
|
||||
<div
|
||||
ref={setItemRef}
|
||||
className={cn(
|
||||
(isObj || isStructureOutput) ? ' pr-1' : 'pr-[18px]',
|
||||
(isObj || isStructureOutput) ? 'pr-1' : 'pr-[18px]',
|
||||
(isHovering || isHighlighted) && ((isObj || isStructureOutput) ? 'bg-components-panel-on-panel-item-bg-hover' : 'bg-state-base-hover'),
|
||||
'relative flex h-6 w-full cursor-pointer items-center rounded-md pl-3',
|
||||
className,
|
||||
@ -565,10 +565,10 @@ const VarReferenceVars: FC<Props> = ({
|
||||
)
|
||||
})}
|
||||
{item.isFlat && !filteredVars[i + 1]?.isFlat && !!filteredVars.find(item => !item.isFlat) && (
|
||||
<div className="relative mt-[14px] flex items-center space-x-1">
|
||||
<div className="relative mt-[14px] flex items-center space-x-1">
|
||||
<div className="h-0 w-3 shrink-0 border border-divider-subtle"></div>
|
||||
<div className="system-2xs-semibold-uppercase text-text-tertiary">{t('debug.lastOutput', { ns: 'workflow' })}</div>
|
||||
<div className="h-0 shrink-0 grow border border-divider-subtle"></div>
|
||||
<div className="h-0 shrink-0 grow border border-divider-subtle"></div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -427,7 +427,7 @@ const BasePanel: FC<BasePanelProps> = ({
|
||||
if (logParams.showSpecialResultPanel) {
|
||||
return (
|
||||
<div className={cn(
|
||||
'relative mr-1 h-full',
|
||||
'relative mr-1 h-full',
|
||||
)}
|
||||
>
|
||||
<div
|
||||
@ -467,7 +467,7 @@ const BasePanel: FC<BasePanelProps> = ({
|
||||
|
||||
return (
|
||||
<div className={cn(
|
||||
'relative mr-1 h-full',
|
||||
'relative mr-1 h-full',
|
||||
)}
|
||||
>
|
||||
<div
|
||||
|
||||
@ -356,7 +356,7 @@ const BaseNode: FC<BaseNodeProps> = ({
|
||||
</div>
|
||||
)}
|
||||
>
|
||||
<div className="system-2xs-medium-uppercase ml-1 flex items-center justify-center rounded-[5px] border-[1px] border-text-warning px-[5px] py-[3px] text-text-warning ">
|
||||
<div className="system-2xs-medium-uppercase ml-1 flex items-center justify-center rounded-[5px] border-[1px] border-text-warning px-[5px] py-[3px] text-text-warning">
|
||||
{t('nodes.iteration.parallelModeUpper', { ns: 'workflow' })}
|
||||
</div>
|
||||
</Tooltip>
|
||||
|
||||
@ -48,7 +48,7 @@ const ApiInput: FC<Props> = ({
|
||||
})
|
||||
|
||||
return (
|
||||
<div className="flex items-start space-x-1">
|
||||
<div className="flex items-start space-x-1">
|
||||
<Selector
|
||||
value={method}
|
||||
onChange={onMethodChange}
|
||||
|
||||
@ -64,7 +64,7 @@ const Panel: FC<NodePanelProps<HttpNodeType>> = ({
|
||||
<div className="flex">
|
||||
<div
|
||||
onClick={showAuthorization}
|
||||
className={cn(!readOnly && 'cursor-pointer hover:bg-state-base-hover', 'flex h-6 items-center space-x-1 rounded-md px-2 ')}
|
||||
className={cn(!readOnly && 'cursor-pointer hover:bg-state-base-hover', 'flex h-6 items-center space-x-1 rounded-md px-2')}
|
||||
>
|
||||
{!readOnly && <Settings01 className="h-3 w-3 text-text-tertiary" />}
|
||||
<div className="text-xs font-medium text-text-tertiary">
|
||||
@ -74,7 +74,7 @@ const Panel: FC<NodePanelProps<HttpNodeType>> = ({
|
||||
</div>
|
||||
<div
|
||||
onClick={showCurlPanel}
|
||||
className={cn(!readOnly && 'cursor-pointer hover:bg-state-base-hover', 'flex h-6 items-center space-x-1 rounded-md px-2 ')}
|
||||
className={cn(!readOnly && 'cursor-pointer hover:bg-state-base-hover', 'flex h-6 items-center space-x-1 rounded-md px-2')}
|
||||
>
|
||||
{!readOnly && <FileArrow01 className="h-3 w-3 text-text-tertiary" />}
|
||||
<div className="text-xs font-medium text-text-tertiary">
|
||||
|
||||
@ -71,7 +71,7 @@ const ConditionValue = ({
|
||||
|
||||
return (
|
||||
<div className="rounded-md bg-workflow-block-parma-bg">
|
||||
<div className="flex h-6 items-center px-1 ">
|
||||
<div className="flex h-6 items-center px-1">
|
||||
<VariableLabelInNode
|
||||
className="w-0 grow"
|
||||
variables={variableSelector}
|
||||
|
||||
@ -147,7 +147,7 @@ const ConditionNumberInput = ({
|
||||
}
|
||||
{
|
||||
numberVarType === NumberVarType.constant && (
|
||||
<div className=" relative">
|
||||
<div className="relative">
|
||||
<input
|
||||
className={cn('block w-full appearance-none bg-transparent px-2 text-[13px] text-components-input-text-filled outline-none placeholder:text-components-input-text-placeholder', unit && 'pr-6')}
|
||||
type="number"
|
||||
|
||||
@ -99,7 +99,7 @@ const ConditionWrap: FC<Props> = ({
|
||||
className={cn(
|
||||
'group relative rounded-[10px] bg-components-panel-bg',
|
||||
willDeleteCaseId === item.case_id && 'bg-state-destructive-hover',
|
||||
!isSubVariable && 'min-h-[40px] px-3 py-1 ',
|
||||
!isSubVariable && 'min-h-[40px] px-3 py-1',
|
||||
isSubVariable && 'px-1 py-2',
|
||||
)}
|
||||
>
|
||||
@ -161,7 +161,7 @@ const ConditionWrap: FC<Props> = ({
|
||||
'flex items-center justify-between pr-[30px]',
|
||||
!item.conditions.length && !isSubVariable && 'mt-1',
|
||||
!item.conditions.length && isSubVariable && 'mt-2',
|
||||
!isSubVariable && ' pl-[60px]',
|
||||
!isSubVariable && 'pl-[60px]',
|
||||
)}
|
||||
>
|
||||
{isSubVariable
|
||||
|
||||
@ -106,7 +106,7 @@ const Panel: FC<NodePanelProps<IterationNodeType>> = ({
|
||||
onChange={changeParallelNums}
|
||||
max={MAX_PARALLEL_LIMIT}
|
||||
min={MIN_ITERATION_PARALLEL_NUM}
|
||||
className=" mt-4 flex-1 shrink-0"
|
||||
className="mt-4 flex-1 shrink-0"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@ -81,7 +81,7 @@ const DatasetItem: FC<Props> = ({
|
||||
<div className="system-sm-medium w-0 grow truncate text-text-secondary">{payload.name}</div>
|
||||
</div>
|
||||
{!readonly && (
|
||||
<div className="ml-2 hidden shrink-0 items-center space-x-1 group-hover/dataset-item:flex">
|
||||
<div className="ml-2 hidden shrink-0 items-center space-x-1 group-hover/dataset-item:flex">
|
||||
{
|
||||
editable && (
|
||||
<ActionButton
|
||||
|
||||
@ -140,7 +140,7 @@ const RetrievalConfig: FC<Props> = ({
|
||||
</Button>
|
||||
</PortalToFollowElemTrigger>
|
||||
<PortalToFollowElemContent style={{ zIndex: 1001 }}>
|
||||
<div className="w-[404px] rounded-2xl border border-components-panel-border bg-components-panel-bg px-4 pb-4 pt-3 shadow-xl">
|
||||
<div className="w-[404px] rounded-2xl border border-components-panel-border bg-components-panel-bg px-4 pb-4 pt-3 shadow-xl">
|
||||
<ConfigRetrievalContent
|
||||
datasetConfigs={datasetConfigs}
|
||||
onChange={handleChange}
|
||||
|
||||
@ -33,7 +33,7 @@ const ExtractInput: FC<Props> = ({
|
||||
})
|
||||
|
||||
return (
|
||||
<div className="flex items-start space-x-1">
|
||||
<div className="flex items-start space-x-1">
|
||||
<Input
|
||||
instanceId="http-extract-number"
|
||||
className={cn(isFocus ? 'border-components-input-border-active bg-components-input-bg-active shadow-xs' : 'border-components-input-border-hover bg-components-input-bg-normal', 'w-0 grow rounded-lg border px-3 py-[6px]')}
|
||||
|
||||
@ -64,7 +64,7 @@ const SubVariablePicker: FC<Props> = ({
|
||||
</div>
|
||||
)
|
||||
: (
|
||||
<div className="system-sm-regular flex pl-1 text-components-input-text-placeholder group-hover/sub-variable-picker:text-text-tertiary">
|
||||
<div className="system-sm-regular flex pl-1 text-components-input-text-placeholder group-hover/sub-variable-picker:text-text-tertiary">
|
||||
<Variable02 className="mr-1 h-4 w-4 shrink-0" />
|
||||
<span>{t('placeholder.select', { ns: 'common' })}</span>
|
||||
</div>
|
||||
|
||||
@ -73,7 +73,7 @@ const ConditionValue = ({
|
||||
|
||||
return (
|
||||
<div className="rounded-md bg-workflow-block-parma-bg">
|
||||
<div className="flex h-6 items-center px-1 ">
|
||||
<div className="flex h-6 items-center px-1">
|
||||
<VariableLabelInNode
|
||||
className="w-0 grow"
|
||||
variables={variableSelector}
|
||||
|
||||
@ -147,7 +147,7 @@ const ConditionNumberInput = ({
|
||||
}
|
||||
{
|
||||
numberVarType === NumberVarType.constant && (
|
||||
<div className=" relative">
|
||||
<div className="relative">
|
||||
<input
|
||||
className={cn('block w-full appearance-none bg-transparent px-2 text-[13px] text-components-input-text-filled outline-none placeholder:text-components-input-text-placeholder', unit && 'pr-6')}
|
||||
type="number"
|
||||
|
||||
@ -76,7 +76,7 @@ const ConditionWrap: FC<Props> = ({
|
||||
<div
|
||||
className={cn(
|
||||
'group relative rounded-[10px] bg-components-panel-bg',
|
||||
!isSubVariable && 'min-h-[40px] px-3 py-1 ',
|
||||
!isSubVariable && 'min-h-[40px] px-3 py-1',
|
||||
isSubVariable && 'px-1 py-2',
|
||||
)}
|
||||
>
|
||||
|
||||
@ -21,7 +21,7 @@ const Node: FC<NodeProps<StartNodeType>> = ({
|
||||
<div className="mb-1 px-3 py-1">
|
||||
<div className="space-y-0.5">
|
||||
{variables.map(variable => (
|
||||
<div key={variable.variable} className="flex h-6 items-center justify-between space-x-1 rounded-md bg-workflow-block-parma-bg px-1">
|
||||
<div key={variable.variable} className="flex h-6 items-center justify-between space-x-1 rounded-md bg-workflow-block-parma-bg px-1">
|
||||
<div className="flex w-0 grow items-center space-x-1">
|
||||
<Variable02 className="h-3.5 w-3.5 shrink-0 text-text-accent" />
|
||||
<span className="system-xs-regular w-0 grow truncate text-text-secondary">{variable.variable}</span>
|
||||
|
||||
@ -36,7 +36,7 @@ const CopyFeedbackNew = ({ content }: Props) => {
|
||||
}
|
||||
>
|
||||
<div
|
||||
className="group/copy flex w-full items-center gap-0.5 "
|
||||
className="group/copy flex w-full items-center gap-0.5"
|
||||
onClick={onClickCopy}
|
||||
>
|
||||
<div
|
||||
|
||||
@ -153,7 +153,7 @@ const Node: FC<NodeProps<ToolNodeType>> = ({
|
||||
{hasConfigs && (
|
||||
<div className="space-y-0.5" aria-disabled={shouldDim}>
|
||||
{toolConfigs.map((key, index) => (
|
||||
<div key={index} className="flex h-6 items-center justify-between space-x-1 rounded-md bg-workflow-block-parma-bg px-1 text-xs font-normal text-text-secondary">
|
||||
<div key={index} className="flex h-6 items-center justify-between space-x-1 rounded-md bg-workflow-block-parma-bg px-1 text-xs font-normal text-text-secondary">
|
||||
<div title={key} className="max-w-[100px] shrink-0 truncate text-xs font-medium uppercase text-text-tertiary">
|
||||
{key}
|
||||
</div>
|
||||
|
||||
@ -148,7 +148,7 @@ const VarGroupItem: FC<Props> = ({
|
||||
)
|
||||
: t(`${i18nPrefix}.title`, { ns: 'workflow' })!}
|
||||
operations={(
|
||||
<div className="flex h-6 items-center space-x-2">
|
||||
<div className="flex h-6 items-center space-x-2">
|
||||
{payload.variables.length > 0 && (
|
||||
<div className="system-2xs-medium-uppercase flex h-[18px] items-center rounded-[5px] border border-divider-deep px-1 text-text-tertiary">{payload.output_type}</div>
|
||||
)}
|
||||
|
||||
@ -96,7 +96,7 @@ const ObjectValueItem: FC<Props> = ({
|
||||
{/* Key */}
|
||||
<div className="w-[120px] border-r border-gray-200">
|
||||
<input
|
||||
className="system-xs-regular placeholder:system-xs-regular block h-7 w-full appearance-none px-2 text-text-secondary caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:bg-state-base-hover focus:bg-components-input-bg-active"
|
||||
className="system-xs-regular placeholder:system-xs-regular block h-7 w-full appearance-none px-2 text-text-secondary caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:bg-state-base-hover focus:bg-components-input-bg-active"
|
||||
placeholder={t('chatVariable.modal.objectKey', { ns: 'workflow' }) || ''}
|
||||
value={list[index].key}
|
||||
onChange={handleKeyChange(index)}
|
||||
@ -115,7 +115,7 @@ const ObjectValueItem: FC<Props> = ({
|
||||
{/* Value */}
|
||||
<div className="relative w-[230px]">
|
||||
<input
|
||||
className="system-xs-regular placeholder:system-xs-regular block h-7 w-full appearance-none px-2 text-text-secondary caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:bg-state-base-hover focus:bg-components-input-bg-active"
|
||||
className="system-xs-regular placeholder:system-xs-regular block h-7 w-full appearance-none px-2 text-text-secondary caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:bg-state-base-hover focus:bg-components-input-bg-active"
|
||||
placeholder={t('chatVariable.modal.objectValue', { ns: 'workflow' }) || ''}
|
||||
value={list[index].value}
|
||||
onChange={handleValueChange(index)}
|
||||
|
||||
@ -20,7 +20,7 @@ const MenuItem: FC<MenuItemProps> = ({
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
'flex cursor-pointer items-center justify-between rounded-lg px-2 py-1.5 ',
|
||||
'flex cursor-pointer items-center justify-between rounded-lg px-2 py-1.5',
|
||||
isDestructive ? 'hover:bg-state-destructive-hover' : 'hover:bg-state-base-hover',
|
||||
)}
|
||||
onClick={() => {
|
||||
|
||||
@ -22,7 +22,7 @@ const DeleteConfirmModal: FC<DeleteConfirmModalProps> = ({
|
||||
|
||||
return (
|
||||
<Modal className="p-0" isShow={isOpen} onClose={onClose}>
|
||||
<div className="flex flex-col gap-y-2 p-6 pb-4 ">
|
||||
<div className="flex flex-col gap-y-2 p-6 pb-4">
|
||||
<div className="title-2xl-semi-bold text-text-primary">
|
||||
{`${t('operation.delete', { ns: 'common' })} ${versionInfo.marked_name || t('versionHistory.defaultName', { ns: 'workflow' })}`}
|
||||
</div>
|
||||
|
||||
@ -53,7 +53,7 @@ const Filter: FC<FilterProps> = ({
|
||||
isFiltering ? 'bg-state-accent-active-alt' : 'hover:bg-state-base-hover',
|
||||
)}
|
||||
>
|
||||
<RiFilter3Line className={cn('h-4 w-4', isFiltering ? 'text-text-accent' : ' text-text-tertiary')} />
|
||||
<RiFilter3Line className={cn('h-4 w-4', isFiltering ? 'text-text-accent' : 'text-text-tertiary')} />
|
||||
</div>
|
||||
</PortalToFollowElemTrigger>
|
||||
<PortalToFollowElemContent className="z-[12]">
|
||||
|
||||
@ -18,7 +18,7 @@ const Item: FC<ItemProps> = ({
|
||||
return (
|
||||
<div className="relative flex gap-x-1 p-2">
|
||||
{!isLast && <div className="absolute left-4 top-6 h-[calc(100%-0.75rem)] w-0.5 bg-divider-subtle" />}
|
||||
<div className=" flex h-5 w-[18px] shrink-0 items-center justify-center">
|
||||
<div className="flex h-5 w-[18px] shrink-0 items-center justify-center">
|
||||
<div className="h-2 w-2 rounded-lg border-[2px] border-text-quaternary" />
|
||||
</div>
|
||||
<div className="flex grow flex-col gap-y-0.5">
|
||||
|
||||
@ -22,7 +22,7 @@ const RestoreConfirmModal: FC<RestoreConfirmModalProps> = ({
|
||||
|
||||
return (
|
||||
<Modal className="p-0" isShow={isOpen} onClose={onClose}>
|
||||
<div className="flex flex-col gap-y-2 p-6 pb-4 ">
|
||||
<div className="flex flex-col gap-y-2 p-6 pb-4">
|
||||
<div className="title-2xl-semi-bold text-text-primary">
|
||||
{`${t('common.restore', { ns: 'workflow' })} ${versionInfo.marked_name || t('versionHistory.defaultName', { ns: 'workflow' })}`}
|
||||
</div>
|
||||
|
||||
@ -83,7 +83,7 @@ const VersionHistoryItem: React.FC<VersionHistoryItemProps> = ({
|
||||
}}
|
||||
>
|
||||
{!isLast && <div className="absolute left-4 top-6 h-[calc(100%-0.75rem)] w-0.5 bg-divider-subtle" />}
|
||||
<div className=" flex h-5 w-[18px] shrink-0 items-center justify-center">
|
||||
<div className="flex h-5 w-[18px] shrink-0 items-center justify-center">
|
||||
<div className={cn(
|
||||
'h-2 w-2 rounded-lg border-[2px]',
|
||||
isSelected ? 'border-text-accent' : 'border-text-quaternary',
|
||||
|
||||
@ -40,7 +40,7 @@ const LoopResultPanel: FC<Props> = ({
|
||||
|
||||
const main = (
|
||||
<>
|
||||
<div className={cn(!noWrap && 'shrink-0 ', 'px-4 pt-3')}>
|
||||
<div className={cn(!noWrap && 'shrink-0', 'px-4 pt-3')}>
|
||||
<div className="flex h-8 shrink-0 items-center justify-between">
|
||||
<div className="system-xl-semibold truncate text-text-primary">
|
||||
{t(`${i18nPrefix}.testRunLoop`, { ns: 'workflow' }) }
|
||||
|
||||
@ -72,7 +72,7 @@ const ResultText: FC<ResultTextProps> = ({
|
||||
}
|
||||
{!!allFiles?.length && allFiles.map(item => (
|
||||
<div key={item.varName} className="system-xs-regular flex flex-col gap-1 px-4 py-2">
|
||||
<div className="py-1 text-text-tertiary ">{item.varName}</div>
|
||||
<div className="py-1 text-text-tertiary">{item.varName}</div>
|
||||
<FileList
|
||||
files={item.list}
|
||||
showDeleteAction={false}
|
||||
|
||||
@ -8,7 +8,6 @@ const FilePreviewContext = React.createContext<FilePreviewContextValue>({ enable
|
||||
|
||||
export const FilePreviewContextProvider = FilePreviewContext.Provider
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
export const useFilePreviewContext = () => {
|
||||
return React.useContext(FilePreviewContext)
|
||||
}
|
||||
|
||||
@ -744,7 +744,7 @@ const ToolGroupBlockComponent = ({
|
||||
<RiEqualizer2Line className="size-3.5" />
|
||||
<span className="system-xs-medium">{t('operation.settings', { ns: 'common' })}</span>
|
||||
</button>
|
||||
<div className="mx-1 h-3 w-px bg-divider-regular "></div>
|
||||
<div className="mx-1 h-3 w-px bg-divider-regular"></div>
|
||||
</div>
|
||||
)
|
||||
: null}
|
||||
|
||||
@ -100,7 +100,7 @@ const BaseCard = ({
|
||||
</div>
|
||||
)}
|
||||
>
|
||||
<div className="system-2xs-medium-uppercase ml-1 flex items-center justify-center rounded-[5px] border-[1px] border-text-warning px-[5px] py-[3px] text-text-warning ">
|
||||
<div className="system-2xs-medium-uppercase ml-1 flex items-center justify-center rounded-[5px] border-[1px] border-text-warning px-[5px] py-[3px] text-text-warning">
|
||||
{t('nodes.iteration.parallelModeUpper', { ns: 'workflow' })}
|
||||
</div>
|
||||
</Tooltip>
|
||||
|
||||
Reference in New Issue
Block a user