import * as React from 'react'; import { OverridableStringUnion } from '@material-ui/types'; import { OverridableComponent, OverrideProps } from '../OverridableComponent'; export interface ButtonGroupPropsVariantOverrides {} export type ButtonGroupVariantDefaults = Record<'text' | 'outlined' | 'contained', true>; export interface ButtonGroupTypeMap
{
props: P & {
/**
* The content of the button group.
*/
children?: React.ReactNode;
/**
* Override or extend the styles applied to the component.
*/
classes?: {
/** Styles applied to the root element. */
root?: string;
/** Styles applied to the root element if `variant="contained"`. */
contained?: string;
/** Styles applied to the root element if `variant="outlined"`. */
outlined?: string;
/** Styles applied to the root element if `variant="text"`. */
text?: string;
/** Styles applied to the root element if `disableElevation={true}`. */
disableElevation?: string;
/** Pseudo-class applied to child elements if `disabled={true}`. */
disabled?: string;
/** Styles applied to the root element if `fullWidth={true}`. */
fullWidth?: string;
/** Styles applied to the root element if `orientation="vertical"`. */
vertical?: string;
/** Styles applied to the children. */
grouped?: string;
/** Styles applied to the children if `orientation="horizontal"`. */
groupedHorizontal?: string;
/** Styles applied to the children if `orientation="vertical"`. */
groupedVertical?: string;
/** Styles applied to the children if `variant="text"`. */
groupedText?: string;
/** Styles applied to the children if `variant="text"` and `orientation="horizontal"`. */
groupedTextHorizontal?: string;
/** Styles applied to the children if `variant="text"` and `orientation="vertical"`. */
groupedTextVertical?: string;
/** Styles applied to the children if `variant="text"` and `color="primary"`. */
groupedTextPrimary?: string;
/** Styles applied to the children if `variant="text"` and `color="secondary"`. */
groupedTextSecondary?: string;
/** Styles applied to the children if `variant="outlined"`. */
groupedOutlined?: string;
/** Styles applied to the children if `variant="outlined"` and `orientation="horizontal"`. */
groupedOutlinedHorizontal?: string;
/** Styles applied to the children if `variant="outlined"` and `orientation="vertical"`. */
groupedOutlinedVertical?: string;
/** Styles applied to the children if `variant="outlined"` and `color="primary"`. */
groupedOutlinedPrimary?: string;
/** Styles applied to the children if `variant="outlined"` and `color="secondary"`. */
groupedOutlinedSecondary?: string;
/** Styles applied to the children if `variant="contained"`. */
groupedContained?: string;
/** Styles applied to the children if `variant="contained"` and `orientation="horizontal"`. */
groupedContainedHorizontal?: string;
/** Styles applied to the children if `variant="contained"` and `orientation="vertical"`. */
groupedContainedVertical?: string;
/** Styles applied to the children if `variant="contained"` and `color="primary"`. */
groupedContainedPrimary?: string;
/** Styles applied to the children if `variant="contained"` and `color="secondary"`. */
groupedContainedSecondary?: string;
};
/**
* The color of the component. It supports those theme colors that make sense for this component.
* @default 'primary'
*/
color?: 'inherit' | 'primary' | 'secondary';
/**
* If `true`, the buttons will be disabled.
* @default false
*/
disabled?: boolean;
/**
* If `true`, no elevation is used.
* @default false
*/
disableElevation?: boolean;
/**
* If `true`, the button keyboard focus ripple will be disabled.
* @default false
*/
disableFocusRipple?: boolean;
/**
* If `true`, the button ripple effect will be disabled.
* @default false
*/
disableRipple?: boolean;
/**
* If `true`, the buttons will take up the full width of its container.
* @default false
*/
fullWidth?: boolean;
/**
* The group orientation (layout flow direction).
* @default 'horizontal'
*/
orientation?: 'vertical' | 'horizontal';
/**
* The size of the button.
* `small` is equivalent to the dense button styling.
* @default 'medium'
*/
size?: 'small' | 'medium' | 'large';
/**
* The variant to use.
* @default 'outlined'
*/
variant?: OverridableStringUnion