UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

72 lines (71 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = MenuButton; var _react = _interopRequireDefault(require("react")); var _Button = _interopRequireDefault(require("../button/Button.js")); var _MenuContext = require("./MenuContext.js"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function MenuButton(props) { const { children, icon = 'more', variant = 'secondary', ...rest } = props; const triggerContext = (0, _MenuContext.useMenuTriggerContext)(); if (!triggerContext) { return (0, _jsxRuntime.jsx)(_Button.default, { 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 (0, _jsxRuntime.jsx)(_Button.default, { variant: variant, icon: icon, selected: active, ref: ref, ...restTriggerProps, ...rest }); } //# sourceMappingURL=MenuButton.js.map