|  | 'use client' | 
					
						
						|  | import { useBoolean } from 'ahooks' | 
					
						
						|  | import type { FC } from 'react' | 
					
						
						|  | import React, { useEffect } from 'react' | 
					
						
						|  | import { useTranslation } from 'react-i18next' | 
					
						
						|  | import cn from '@/utils/classnames' | 
					
						
						|  | import { Settings04 } from '@/app/components/base/icons/src/vender/line/general' | 
					
						
						|  | import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows' | 
					
						
						|  | const I18N_PREFIX = 'datasetCreation.stepOne.website' | 
					
						
						|  |  | 
					
						
						|  | type Props = { | 
					
						
						|  | className?: string | 
					
						
						|  | children: React.ReactNode | 
					
						
						|  | controlFoldOptions?: number | 
					
						
						|  | } | 
					
						
						|  |  | 
					
						
						|  | const OptionsWrap: FC<Props> = ({ | 
					
						
						|  | className = '', | 
					
						
						|  | children, | 
					
						
						|  | controlFoldOptions, | 
					
						
						|  | }) => { | 
					
						
						|  | const { t } = useTranslation() | 
					
						
						|  |  | 
					
						
						|  | const [fold, { | 
					
						
						|  | toggle: foldToggle, | 
					
						
						|  | setTrue: foldHide, | 
					
						
						|  | }] = useBoolean(false) | 
					
						
						|  |  | 
					
						
						|  | useEffect(() => { | 
					
						
						|  | if (controlFoldOptions) | 
					
						
						|  | foldHide() | 
					
						
						|  |  | 
					
						
						|  | }, [controlFoldOptions]) | 
					
						
						|  | return ( | 
					
						
						|  | <div className={cn(className, !fold ? 'mb-0' : 'mb-3')}> | 
					
						
						|  | <div | 
					
						
						|  | className='flex justify-between items-center h-[26px] py-1 cursor-pointer select-none' | 
					
						
						|  | onClick={foldToggle} | 
					
						
						|  | > | 
					
						
						|  | <div className='flex items-center text-gray-700'> | 
					
						
						|  | <Settings04 className='mr-1 w-4 h-4' /> | 
					
						
						|  | <div className='text-[13px] font-semibold text-gray-800 uppercase'>{t(`${I18N_PREFIX}.options`)}</div> | 
					
						
						|  | </div> | 
					
						
						|  | <ChevronRight className={cn(!fold && 'rotate-90', 'w-4 h-4 text-gray-500')} /> | 
					
						
						|  | </div> | 
					
						
						|  | {!fold && ( | 
					
						
						|  | <div className='mb-4'> | 
					
						
						|  | {children} | 
					
						
						|  | </div> | 
					
						
						|  | )} | 
					
						
						|  |  | 
					
						
						|  | </div> | 
					
						
						|  | ) | 
					
						
						|  | } | 
					
						
						|  | export default React.memo(OptionsWrap) | 
					
						
						|  |  |