/// import { ButtonProps } from '@fluentui/react-button'; import { ButtonSlots } from '@fluentui/react-button'; import { ButtonState } from '@fluentui/react-button'; import type { ComponentProps } from '@fluentui/react-utilities'; import type { ComponentState } from '@fluentui/react-utilities'; import type { ForwardRefComponent } from '@fluentui/react-utilities'; import * as React_2 from 'react'; import type { Slot } from '@fluentui/react-utilities'; import type { SlotClassNames } from '@fluentui/react-utilities'; /** * Breadcrumb component - TODO: add more docs */ export declare const Breadcrumb: ForwardRefComponent; /** * A button component which is used inside the Breadcrumb. */ export declare const BreadcrumbButton: ForwardRefComponent; /** * Static CSS class names used internally for the component slots. */ export declare const breadcrumbButtonClassNames: SlotClassNames; /** * BreadcrumbButton Props */ export declare type BreadcrumbButtonProps = ComponentProps & Pick & Pick & { /** * Defines current sate of BreadcrumbButton. * * @default false */ current?: boolean; }; export declare type BreadcrumbButtonSlots = ButtonSlots; /** * State used in rendering BreadcrumbButton */ export declare type BreadcrumbButtonState = ComponentState & Omit & Required>; export declare const breadcrumbClassNames: SlotClassNames; /** * Data shared between breadcrumb components */ export declare type BreadcrumbContextValues = Required>; /** * A divider component which is used inside the Breadcrumb */ export declare const BreadcrumbDivider: ForwardRefComponent; export declare const breadcrumbDividerClassNames: SlotClassNames; /** * BreadcrumbDivider Props */ export declare type BreadcrumbDividerProps = ComponentProps & {}; export declare type BreadcrumbDividerSlots = { root: Slot<'li'>; }; /** * State used in rendering BreadcrumbDivider */ export declare type BreadcrumbDividerState = ComponentState & Pick; /** * BreadcrumbItem component is a wrapper for BreadcrumbLink and BreadcrumbButton. * It can be used as a non-interactive item. */ export declare const BreadcrumbItem: ForwardRefComponent; export declare const breadcrumbItemClassNames: SlotClassNames; /** * BreadcrumbItem Props */ export declare type BreadcrumbItemProps = ComponentProps & Pick; export declare type BreadcrumbItemSlots = { root: Slot<'li'>; }; /** * State used in rendering BreadcrumbItem */ export declare type BreadcrumbItemState = ComponentState & Required>; /** * Breadcrumb Props */ export declare type BreadcrumbProps = ComponentProps & { /** * Sets the focus behavior for the Breadcrumb. * * `tab` * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Tab key and then release focus * after the last inner element. * * `arrow` * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Arrow key. * * @default 'tab' */ focusMode?: 'arrow' | 'tab'; /** * Controls size of Breadcrumb items and dividers. * * @default 'medium' */ size?: 'small' | 'medium' | 'large'; }; /** * @internal */ export declare const BreadcrumbProvider: React_2.Provider> | undefined>; export declare type BreadcrumbSlots = { /** * Root element of the component. */ root: Slot<'nav'>; /** * Ordered list which contains items. */ list?: Slot<'ol'>; }; /** * State used in rendering Breadcrumb */ export declare type BreadcrumbState = ComponentState & Required>; export declare const isTruncatableBreadcrumbContent: (content: string, maxLength: number) => boolean; export declare type PartitionBreadcrumbItems = { startDisplayedItems: readonly T[]; overflowItems?: readonly T[]; endDisplayedItems?: readonly T[]; }; /** * Get the displayed items and overflowing items based on the array of BreadcrumbItems needed for Breadcrumb. * * @param options - Configure the partition options * * @returns Three arrays split into displayed items and overflow items based on maxDisplayedItems. */ export declare const partitionBreadcrumbItems: (options: PartitionBreadcrumbItemsOptions) => PartitionBreadcrumbItems; export declare type PartitionBreadcrumbItemsOptions = { items: readonly T[]; maxDisplayedItems?: number; overflowIndex?: number; }; /** * Render the final JSX of Breadcrumb */ export declare const renderBreadcrumb_unstable: (state: BreadcrumbState, contextValues: BreadcrumbContextValues) => JSX.Element; /** * Render the final JSX of BreadcrumbButton */ export declare const renderBreadcrumbButton_unstable: (state: BreadcrumbButtonState) => JSX.Element; /** * Render the final JSX of BreadcrumbDivider */ export declare const renderBreadcrumbDivider_unstable: (state: BreadcrumbDividerState) => JSX.Element; /** * Render the final JSX of BreadcrumbItem */ export declare const renderBreadcrumbItem_unstable: (state: BreadcrumbItemState) => JSX.Element; export declare const truncateBreadcrumbLongName: (content: string, maxLength?: number) => string; export declare const truncateBreadcrumLongTooltip: (content: string, maxLength?: number) => string; /** * Create the state required to render Breadcrumb. * * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable, * before being passed to renderBreadcrumb_unstable. * * @param props - props from this instance of Breadcrumb * @param ref - reference to root HTMLElement of Breadcrumb */ export declare const useBreadcrumb_unstable: (props: BreadcrumbProps, ref: React_2.Ref) => BreadcrumbState; /** * Create the state required to render BreadcrumbButton. * * The returned state can be modified with hooks such as useBreadcrumbButtonStyles_unstable, * before being passed to renderBreadcrumbButton_unstable. * * @param props - props from this instance of BreadcrumbButton * @param ref - reference to root HTMLElement of BreadcrumbButton */ export declare const useBreadcrumbButton_unstable: (props: BreadcrumbButtonProps, ref: React_2.Ref) => BreadcrumbButtonState; /** * Apply styling to the BreadcrumbButton slots based on the state */ export declare const useBreadcrumbButtonStyles_unstable: (state: BreadcrumbButtonState) => BreadcrumbButtonState; /** * @internal */ export declare const useBreadcrumbContext_unstable: () => Required>; /** * Create the state required to render BreadcrumbDivider. * * The returned state can be modified with hooks such as useBreadcrumbDividerStyles_unstable, * before being passed to renderBreadcrumbDivider_unstable. * * @param props - props from this instance of BreadcrumbDivider * @param ref - reference to root HTMLElement of BreadcrumbDivider */ export declare const useBreadcrumbDivider_unstable: (props: BreadcrumbDividerProps, ref: React_2.Ref) => BreadcrumbDividerState; /** * Apply styling to the BreadcrumbDivider slots based on the state */ export declare const useBreadcrumbDividerStyles_unstable: (state: BreadcrumbDividerState) => BreadcrumbDividerState; /** * Create the state required to render BreadcrumbItem. * * The returned state can be modified with hooks such as useBreadcrumbItemStyles_unstable, * before being passed to renderBreadcrumbItem_unstable. * * @param props - props from this instance of BreadcrumbItem * @param ref - reference to root HTMLElement of BreadcrumbItem */ export declare const useBreadcrumbItem_unstable: (props: BreadcrumbItemProps, ref: React_2.Ref) => BreadcrumbItemState; /** * Apply styling to the BreadcrumbItem slots based on the state */ export declare const useBreadcrumbItemStyles_unstable: (state: BreadcrumbItemState) => BreadcrumbItemState; /** * Apply styling to the Breadcrumb slots based on the state */ export declare const useBreadcrumbStyles_unstable: (state: BreadcrumbState) => BreadcrumbState; export { }