import * as React from 'react';
import {
LabelWithOptions as CoreLabelWithOptions,
LabelWithOptionsProps as CoreLabelWithOptionsProps
} from 'wix-ui-core/dist/src/components/label-with-options';
import { withStylable } from 'wix-ui-core/dist/src/utils/withStylable';
import ChevronDown from 'wix-ui-icons-common/ChevronDown';
import style from './LabelWithOptions.st.css';
import { Tooltip } from '../Tooltip';
import { getInputSuffix } from '../Input/InputSuffixes';
import FormFieldError from 'wix-ui-icons-common/system/FormFieldError';
export interface LabelWithOptionsProps {
// The size of the LabelWithOptions
size?: 'large' | 'medium' | 'small';
}
const defaultProps = {
size: 'medium'
};
const StyledLabelWithOptions = withStylable<
CoreLabelWithOptionsProps,
LabelWithOptionsProps
>(CoreLabelWithOptions, style, ({ size }) => ({ size }), defaultProps);
export type LabelWithOptionsType = React.SFC<
CoreLabelWithOptionsProps & LabelWithOptionsProps
> & {
createOption: typeof CoreLabelWithOptions.createOption;
createDivider: typeof CoreLabelWithOptions.createDivider;
};
const defaultSuffix = ;
const renderSuffix = ({ isError, disabled }) =>
getInputSuffix({
error: isError ? 'Selection is required!' : null,
disabled,
suffix: defaultSuffix
});
export const LabelWithOptions: LabelWithOptionsType = ((
props: CoreLabelWithOptionsProps & LabelWithOptionsProps
) => {
const { disabled } = props;
return (
renderSuffix({ isError, disabled })}
{...props}
/>
);
}) as LabelWithOptionsType;
LabelWithOptions.displayName = 'LabelWithOptions';
LabelWithOptions.createOption = CoreLabelWithOptions.createOption;
LabelWithOptions.createDivider = CoreLabelWithOptions.createDivider;