'use client'; import * as React from 'react'; import { useButton_unstable } from '@fluentui/react-button'; import { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext'; /** * 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 const useBreadcrumbButton_unstable = (props, ref)=>{ const { size } = useBreadcrumbContext_unstable(); const state = useBreadcrumbButtonBase_unstable(props, ref); return { ...state, size }; }; /** * Base hook for BreadcrumbButton component, which manages state related to button behavior, * ARIA attributes (aria-current, aria-disabled), and slot structure without design props. * * @param props - props from this instance of BreadcrumbButton * @param ref - reference to root HTMLElement of BreadcrumbButton */ export const useBreadcrumbButtonBase_unstable = (props, ref)=>{ const { current = false, as, ...rest } = props; const controlType = (as !== null && as !== void 0 ? as : props.href) ? 'a' : 'button'; var _props_ariacurrent, _props_ariadisabled; const { size: _size, ...buttonState } = useButton_unstable({ role: undefined, type: undefined, as: controlType, iconPosition: 'before', 'aria-current': current ? (_props_ariacurrent = props['aria-current']) !== null && _props_ariacurrent !== void 0 ? _props_ariacurrent : 'page' : undefined, 'aria-disabled': current ? (_props_ariadisabled = props['aria-disabled']) !== null && _props_ariadisabled !== void 0 ? _props_ariadisabled : true : undefined, ...rest }, ref); return { ...buttonState, current }; };