/*
* Copyright (c) 2015 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
*/
import React from 'react';
import classNames from '../utils/classNames';
interface ComplexItem {
key: string;
renderItem: React.ReactNode;
title?: string;
}
type SelectItem = string | ComplexItem;
const convertToComplex = (item: SelectItem): ComplexItem => {
if (typeof item === 'string') {
return {
key: item,
renderItem: item,
title: undefined,
} as ComplexItem;
}
return item as ComplexItem;
};
const SwitchButton: React.FC<{
variant: string;
onClick: () => void;
disabled: boolean;
children: React.ReactNode;
size?: 'sm' | 'md';
title?: string;
active?: boolean;
}> = ({ variant, onClick, disabled, children, size = 'md', title, active }) => (
);
export interface Props {
items: SelectItem[];
onSelect: (index: number) => void;
disabled?: boolean;
selectedItem: SelectItem;
size?: 'sm' | 'md';
}
export default ({
items,
onSelect,
disabled = false,
selectedItem,
size = 'md',
}: Props) => {
const selectionButton = (item: SelectItem, index: number) => {
const complexItem = convertToComplex(item);
const complexSelectedItem = convertToComplex(selectedItem);
return (