diff --git a/web/src/components/ui/transfer-list.tsx b/web/src/components/ui/transfer-list.tsx index 5a6e6ce57..af8934263 100644 --- a/web/src/components/ui/transfer-list.tsx +++ b/web/src/components/ui/transfer-list.tsx @@ -8,12 +8,13 @@ import { SquareCheckIcon, SquareIcon, } from 'lucide-react'; -import React, { memo, useCallback, useEffect } from 'react'; +import React, { ReactNode, memo, useCallback, useEffect } from 'react'; export type TransferListItemType = { key: string; label: string; selected?: boolean; + disabled?: boolean; }; export enum TransferListMoveDirection { @@ -29,12 +30,15 @@ export type TransferListProps = { direction: TransferListMoveDirection, moveKeys: string[], ): void; +} & { + children?(item: TransferListItemType): ReactNode; }; export const TransferList = memo(function ({ items, onChange, targetKeys, + children, }: TransferListProps) { const [leftList, setLeftList] = React.useState([]); const [rightList, setRightList] = React.useState([]); @@ -166,23 +170,26 @@ export const TransferList = memo(function ({ ) .map((item) => (
  • + {children?.(item)}
  • ))}