From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001 From: wwf <yearningwang@iqtogether.com> Date: 星期三, 04 六月 2025 15:17:49 +0800 Subject: [PATCH] 初始化 --- app/components/workflow/nodes/_base/components/collapse/index.tsx | 63 ++++++++++++------------------- 1 files changed, 25 insertions(+), 38 deletions(-) diff --git a/app/components/workflow/nodes/_base/components/collapse/index.tsx b/app/components/workflow/nodes/_base/components/collapse/index.tsx index 16fba88..a798ff0 100644 --- a/app/components/workflow/nodes/_base/components/collapse/index.tsx +++ b/app/components/workflow/nodes/_base/components/collapse/index.tsx @@ -1,18 +1,15 @@ -import type { ReactNode } from 'react' -import { useMemo, useState } from 'react' -import { ArrowDownRoundFill } from '@/app/components/base/icons/src/vender/solid/general' +import { useState } from 'react' +import { RiArrowDropRightLine } from '@remixicon/react' import cn from '@/utils/classnames' export { default as FieldCollapse } from './field-collapse' type CollapseProps = { disabled?: boolean - trigger: React.JSX.Element | ((collapseIcon: React.JSX.Element | null) => React.JSX.Element) - children: React.JSX.Element + trigger: JSX.Element + children: JSX.Element collapsed?: boolean onCollapse?: (collapsed: boolean) => void - operations?: ReactNode - hideCollapseIcon?: boolean } const Collapse = ({ disabled, @@ -20,44 +17,34 @@ children, collapsed, onCollapse, - operations, - hideCollapseIcon, }: CollapseProps) => { const [collapsedLocal, setCollapsedLocal] = useState(true) const collapsedMerged = collapsed !== undefined ? collapsed : collapsedLocal - const collapseIcon = useMemo(() => { - if (disabled) - return null - return ( - <ArrowDownRoundFill - className={cn( - 'h-4 w-4 cursor-pointer text-text-quaternary group-hover/collapse:text-text-secondary', - collapsedMerged && 'rotate-[270deg]', - )} - /> - ) - }, [collapsedMerged, disabled]) return ( <> - <div className='group/collapse flex items-center'> - <div - className='ml-4 flex grow items-center' - onClick={() => { - if (!disabled) { - setCollapsedLocal(!collapsedMerged) - onCollapse?.(!collapsedMerged) - } - }} - > - {typeof trigger === 'function' ? trigger(collapseIcon) : trigger} - {!hideCollapseIcon && ( - <div className='h-4 w-4 shrink-0'> - {collapseIcon} - </div> - )} + <div + className='flex items-center' + onClick={() => { + if (!disabled) { + setCollapsedLocal(!collapsedMerged) + onCollapse?.(!collapsedMerged) + } + }} + > + <div className='shrink-0 w-4 h-4'> + { + !disabled && ( + <RiArrowDropRightLine + className={cn( + 'w-4 h-4 text-text-tertiary', + !collapsedMerged && 'transform rotate-90', + )} + /> + ) + } </div> - {operations} + {trigger} </div> { !collapsedMerged && children -- Gitblit v1.8.0