Do not edit this file. It is a report generated by API Extractor.
import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
import type { ComponentProps } from '@fluentui/react-utilities';
import type { ComponentState } from '@fluentui/react-utilities';
import type { DistributiveOmit } from '@fluentui/react-utilities';
import { ForwardRefComponent } from '@fluentui/react-utilities';
import type { JSXElement } from '@fluentui/react-utilities';
import * as React_2 from 'react';
import type { Slot } from '@fluentui/react-utilities';
import type { SlotClassNames } from '@fluentui/react-utilities';
// @public
export const Button: ForwardRefComponent<ButtonProps>;
// @public (undocumented)
export type ButtonBaseProps = DistributiveOmit<ButtonProps, 'appearance' | 'size' | 'shape'>;
// @public (undocumented)
export type ButtonBaseState = DistributiveOmit<ButtonState, 'appearance' | 'size' | 'shape'>;
// @public (undocumented)
export const buttonClassNames: SlotClassNames<ButtonSlots>;
// @internal
export const ButtonContextProvider: React_2.Provider<ButtonContextValue | undefined>;
// @internal
export interface ButtonContextValue {
// (undocumented)
size?: ButtonSize;
}
// @public (undocumented)
export type ButtonProps = ComponentProps<ButtonSlots> & {
appearance?: 'secondary' | 'primary' | 'outline' | 'subtle' | 'transparent';
disabledFocusable?: boolean;
disabled?: boolean;
iconPosition?: 'before' | 'after';
shape?: 'rounded' | 'circular' | 'square';
size?: ButtonSize;
};
// @public (undocumented)
export type ButtonSlots = {
root: NonNullable<Slot<ARIAButtonSlotProps<'a'>>>;
icon?: Slot<'span'>;
};
// @public (undocumented)
export type ButtonState = ComponentState<ButtonSlots> & Required<Pick<ButtonProps, 'appearance' | 'disabledFocusable' | 'disabled' | 'iconPosition' | 'shape' | 'size'>> & {
iconOnly: boolean;
};
// @public
export const CompoundButton: ForwardRefComponent<CompoundButtonProps>;
// @public (undocumented)
export const compoundButtonClassNames: SlotClassNames<CompoundButtonSlots>;
// @public (undocumented)
export type CompoundButtonProps = ComponentProps<Partial<CompoundButtonSlots>> & Pick<ButtonProps, 'appearance' | 'disabledFocusable' | 'disabled' | 'iconPosition' | 'shape' | 'size'>;
// @public (undocumented)
export type CompoundButtonSlots = ButtonSlots & {
secondaryContent?: Slot<'span'>;
contentContainer: NonNullable<Slot<'span'>>;
};
// @public (undocumented)
export type CompoundButtonState = ComponentState<CompoundButtonSlots> & Omit<ButtonState, keyof ButtonSlots | 'components'>;
// @public
export const MenuButton: ForwardRefComponent<MenuButtonProps>;
// @public (undocumented)
export const menuButtonClassNames: SlotClassNames<MenuButtonSlots>;
// @public (undocumented)
export type MenuButtonProps = ComponentProps<MenuButtonSlots> & Pick<ButtonProps, 'appearance' | 'disabledFocusable' | 'disabled' | 'shape' | 'size'>;
// @public (undocumented)
export type MenuButtonSlots = ButtonSlots & {
menuIcon?: Slot<'span'>;
};
// @public (undocumented)
export type MenuButtonState = ComponentState<MenuButtonSlots> & Omit<ButtonState, keyof ButtonSlots | 'components' | 'iconPosition'>;
// @public
const renderButton_unstable: (state: ButtonBaseState) => JSXElement;
export { renderButton_unstable }
export { renderButton_unstable as renderToggleButton_unstable }
// @public
export const renderCompoundButton_unstable: (state: CompoundButtonState) => JSXElement;
// @public
export const renderMenuButton_unstable: (state: MenuButtonState) => JSXElement;
// @public
export const renderSplitButton_unstable: (state: SplitButtonState) => JSXElement;
// @public
export const SplitButton: ForwardRefComponent<SplitButtonProps>;
// @public (undocumented)
export const splitButtonClassNames: SlotClassNames<SplitButtonSlots>;
// @public (undocumented)
export type SplitButtonProps = ComponentProps<SplitButtonSlots> & Omit<ButtonProps, 'root' | 'as'> & Omit<MenuButtonProps, 'root' | 'as'>;
// @public (undocumented)
export type SplitButtonSlots = {
root: NonNullable<Slot<'div'>>;
menuButton?: Slot<typeof MenuButton>;
primaryActionButton?: Slot<typeof Button>;
};
// @public (undocumented)
export type SplitButtonState = ComponentState<SplitButtonSlots> & Omit<ButtonState, 'components' | 'iconOnly' | 'root'> & Omit<MenuButtonState, 'components' | 'iconOnly' | 'root'>;
// @public
export const ToggleButton: ForwardRefComponent<ToggleButtonProps>;
// @public (undocumented)
export type ToggleButtonBaseProps = ButtonBaseProps & Pick<ToggleButtonProps, 'defaultChecked' | 'checked' | 'isAccessible'>;
// @public (undocumented)
export type ToggleButtonBaseState = ButtonBaseState & Required<Pick<ToggleButtonProps, 'checked' | 'isAccessible'>>;
// @public (undocumented)
export const toggleButtonClassNames: SlotClassNames<ButtonSlots>;
// @public (undocumented)
export type ToggleButtonProps = ButtonProps & {
defaultChecked?: boolean;
checked?: boolean;
isAccessible?: boolean;
};
// @public (undocumented)
export type ToggleButtonState = ButtonState & Required<Pick<ToggleButtonProps, 'checked' | 'isAccessible'>>;
// @public
export const useButton_unstable: (props: ButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => ButtonState;
// @public
export const useButtonBase_unstable: (props: ButtonBaseProps, ref?: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => ButtonBaseState;
// @internal
export const useButtonContext: () => ButtonContextValue;
// @public (undocumented)
export const useButtonStyles_unstable: (state: ButtonState) => ButtonState;
// @public
export const useCompoundButton_unstable: (props: CompoundButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => CompoundButtonState;
// @public (undocumented)
export const useCompoundButtonStyles_unstable: (state: CompoundButtonState) => CompoundButtonState;
// @public
export const useMenuButton_unstable: (props: MenuButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => MenuButtonState;
// @public (undocumented)
export const useMenuButtonStyles_unstable: (state: MenuButtonState) => MenuButtonState;
// @public
export const useSplitButton_unstable: (props: SplitButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => SplitButtonState;
// @public (undocumented)
export const useSplitButtonStyles_unstable: (state: SplitButtonState) => SplitButtonState;
// @public
export const useToggleButton_unstable: (props: ToggleButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => ToggleButtonState;
// @public
export const useToggleButtonBase_unstable: (props: ToggleButtonProps, ref?: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => ToggleButtonBaseState;
// @public (undocumented)
export const useToggleButtonStyles_unstable: (state: ToggleButtonState) => ToggleButtonState;
// @public (undocumented)
export function useToggleState<TToggleButtonProps extends Pick<ToggleButtonProps, 'checked' | 'defaultChecked' | 'disabled' | 'disabledFocusable' | 'isAccessible'>, TButtonState extends Pick<ButtonState, 'root'>, TToggleButtonState extends Pick<ToggleButtonState, 'checked' | 'root' | 'isAccessible'>>(props: TToggleButtonProps, state: TButtonState): TToggleButtonState;
// (No @packageDocumentation comment for this package)