UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

65 lines 1.31 kB
import React from 'react'; import Button from "../button/Button.js"; import { useMenuTriggerContext } from "./MenuContext.js"; import { jsx as _jsx } from "react/jsx-runtime"; export default function MenuButton(props) { const { children, icon = 'more', variant = 'secondary', ...rest } = props; const triggerContext = useMenuTriggerContext(); if (!triggerContext) { return _jsx(Button, { variant: variant, icon: icon, ...rest }); } const { active, triggerProps, open, close, toggle } = triggerContext; const { ref, ...restTriggerProps } = triggerProps; if (typeof children === 'function') { const renderProps = { ref, ...restTriggerProps }; Object.defineProperties(renderProps, { active: { value: active, enumerable: false }, open: { value: open, enumerable: false }, close: { value: close, enumerable: false }, toggle: { value: toggle, enumerable: false } }); return children(renderProps); } return _jsx(Button, { variant: variant, icon: icon, selected: active, ref: ref, ...restTriggerProps, ...rest }); } //# sourceMappingURL=MenuButton.js.map