UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

65 lines (64 loc) 1.87 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); Object.defineProperty(exports, 'DropdownButton', { enumerable: true, get: function () { return DropdownButton; }, }); const _interop_require_default = require('@swc/helpers/_/_interop_require_default'); const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard'); const _react = /*#__PURE__*/ _interop_require_wildcard._(require('react')); const _classnames = /*#__PURE__*/ _interop_require_default._( require('classnames'), ); const _Button = require('./Button.js'); const _DropdownMenu = require('../DropdownMenu/DropdownMenu.js'); const _index = require('../../utils/index.js'); const DropdownButton = _react.forwardRef((props, forwardedRef) => { let { menuItems, className, size, styleType, children, dropdownMenuProps, ...rest } = props; let [isMenuOpen, setIsMenuOpen] = _react.useState(false); return _react.createElement( _DropdownMenu.DropdownMenu, { menuItems: menuItems, matchWidth: true, visible: isMenuOpen, ...dropdownMenuProps, onVisibleChange: (open) => { setIsMenuOpen(open); dropdownMenuProps?.onVisibleChange?.(open); }, }, _react.createElement( _Button.Button, { className: (0, _classnames.default)('iui-button-dropdown', className), size: size, styleType: styleType, endIcon: isMenuOpen ? _react.createElement(_index.SvgCaretUpSmall, { 'aria-hidden': true, }) : _react.createElement(_index.SvgCaretDownSmall, { 'aria-hidden': true, }), ref: forwardedRef, ...rest, }, children, ), ); }); if ('development' === process.env.NODE_ENV) DropdownButton.displayName = 'DropdownButton';