// Copyright 2017-2026 @pezkuwi/react-components authors & contributors // SPDX-License-Identifier: Apache-2.0 import React, { useCallback, useMemo } from 'react'; import Button from './Button/index.js'; import { styled } from './styled.js'; interface Option { isDisabled?: boolean; text: string; value: string | number; } interface Props { className?: string; onChange: (index: number, value: string | number) => void; options: (Option | null | undefined | false)[]; value: number; } interface ToggleProps { index: number; isDisabled?: boolean; isSelected: boolean; onChange: (index: number, value: string | number) => void; text: string; value: string | number; } function ToggleIndex ({ index, isDisabled, isSelected, onChange, text, value }: ToggleProps): React.ReactElement { const _onClick = useCallback( (): void => { !isDisabled && onChange(index, value); }, [isDisabled, index, onChange, value] ); return (