Skip to content

Latest commit

 

History

History
193 lines (140 loc) · 7.31 KB

File metadata and controls

193 lines (140 loc) · 7.31 KB

API Report File for "@fluentui/react-button"

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)