UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

51 lines (50 loc) 1.86 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const icons = require("../icons.cjs"); const DropdownButton_styles = require("./DropdownButton.styles.cjs"); const Button = require("../Button/Button.cjs"); const HvDropdownButton = React.forwardRef(function HvDropdownButton2(props, ref) { const { className, classes: classesProp, placement = "bottom", disabled, open, icon, readOnly, children: childrenProp, variant, ...others } = uikitReactUtils.useDefaultProps("HvDropdownButton", props); const { classes, cx } = DropdownButton_styles.useClasses(classesProp, false); const endIcon = !icon && /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "CaretDown", size: "xs", rotate: open }); const children = childrenProp && typeof childrenProp === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.placeholder, children: childrenProp }) : childrenProp; return /* @__PURE__ */ jsxRuntime.jsx( Button.HvButton, { ref, icon, disabled: disabled || readOnly, "data-popper-placement": placement, className: cx( classes.root, { [classes.open]: open, [classes.disabled]: disabled, [classes.readOnly]: readOnly }, className ), classes: { endIcon: classes.arrowContainer }, endIcon, variant: open ? "secondarySubtle" : variant, ...others, children: icon ? children : /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.selection, children }) } ); }); exports.dropdownButtonClasses = DropdownButton_styles.staticClasses; exports.HvDropdownButton = HvDropdownButton;