UNPKG

@payfit/unity-components

Version:

33 lines (32 loc) 1.02 kB
import { isMobileBreakpoint as e, useBreakpointListener as t } from "../../../hooks/use-breakpoint-listener.js"; import { extractMobileActionsFromArray as n, extractMobileActionsFromChildren as r } from "../utils/action-bar-helpers.js"; import i, { isValidElement as a, useCallback as o, useMemo as s } from "react"; //#region src/components/action-bar/hooks/use-action-bar-state.ts var c = ({ actions: c, children: l, forceExpandMobile: u = !1 }) => { let d = e(t()), f = c !== void 0 && typeof l == "function"; return { isDynamicApi: f, hasActions: f ? c.length > 0 : !!l, renderActions: o(() => { if (f) { let e = l; return (d && !u ? c.filter((e) => e.variant === "primary") : c).map((t, n) => e(t, n)); } return d && !u ? i.Children.toArray(l).filter((e) => a(e) && e.props.variant === "primary") : l; }, [ f, d, u, l, c ]), mobileOverflowActions: s(() => u ? [] : f ? n(c) : r(l), [ f, u, c, l ]) }; }; //#endregion export { c as useActionBarState };