| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- import type { FC } from 'react'
 
- import cn from '@/utils/classnames'
 
- type Option = {
 
-   value: string
 
-   text: string
 
- }
 
- type TabSliderProps = {
 
-   className?: string
 
-   itemWidth?: number
 
-   value: string
 
-   onChange: (v: string) => void
 
-   options: Option[]
 
- }
 
- const TabSlider: FC<TabSliderProps> = ({
 
-   className,
 
-   itemWidth = 118,
 
-   value,
 
-   onChange,
 
-   options,
 
- }) => {
 
-   const currentIndex = options.findIndex(option => option.value === value)
 
-   const current = options[currentIndex]
 
-   return (
 
-     <div className={cn(className, 'relative flex p-0.5 rounded-lg bg-gray-200')}>
 
-       {
 
-         options.map((option, index) => (
 
-           <div
 
-             key={option.value}
 
-             className={`
 
-               flex justify-center items-center h-7 text-[13px] 
 
-               font-semibold text-gray-600 rounded-[7px] cursor-pointer
 
-               hover:bg-gray-50
 
-               ${index !== options.length - 1 && 'mr-[1px]'}
 
-             `}
 
-             style={{
 
-               width: itemWidth,
 
-             }}
 
-             onClick={() => onChange(option.value)}
 
-           >
 
-             {option.text}
 
-           </div>
 
-         ))
 
-       }
 
-       {
 
-         current && (
 
-           <div
 
-             className={`
 
-               absolute flex justify-center items-center h-7 bg-white text-[13px] font-semibold text-primary-600 
 
-               border-[0.5px] border-gray-200 rounded-[7px] shadow-xs transition-transform
 
-             `}
 
-             style={{
 
-               width: itemWidth,
 
-               transform: `translateX(${currentIndex * itemWidth + 1}px)`,
 
-             }}
 
-           >
 
-             {current.text}
 
-           </div>
 
-         )
 
-       }
 
-     </div>
 
-   )
 
- }
 
- export default TabSlider
 
 
  |