import { ConfirmDeleteDialog, ConfirmDeleteDialogNode, } from '@/components/confirm-delete-dialog'; import EditTag from '@/components/edit-tag'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Modal } from '@/components/ui/modal/modal'; import { Switch } from '@/components/ui/switch'; import { Textarea } from '@/components/ui/textarea'; import { Plus, Trash2 } from 'lucide-react'; import { memo, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { MetadataType } from './hook'; import { IManageValuesProps, IMetaDataTableData } from './interface'; // Create a separate input component, wrapped with memo to avoid unnecessary re-renders const ValueInputItem = memo( ({ item, index, onValueChange, onDelete, onBlur, }: { item: string; index: number; onValueChange: (index: number, value: string) => void; onDelete: (index: number) => void; onBlur: (index: number) => void; }) => { return (