UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

54 lines (53 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const generic = require("../types/generic.cjs"); const ButtonBase_styles = require("./ButtonBase.styles.cjs"); const HvButtonBase = generic.fixedForwardRef(function HvButtonBase2(props, ref) { const { className, classes: classesProp, children, selected, disabled, focusableWhenDisabled, component: Component = "button", onClick: onClickProp, onMouseDown: onMouseDownProp, ...others } = uikitReactUtils.useDefaultProps("HvButtonBase", props); const { classes, cx } = ButtonBase_styles.useClasses(classesProp); return /* @__PURE__ */ jsxRuntime.jsx( Component, { ref, className: cx( classes.root, { [classes.disabled]: disabled }, className ), onClick: (e) => { if (disabled) return; onClickProp?.(e); }, onMouseDown: (e) => { if (disabled) return; onMouseDownProp?.(e); }, ...Component === "button" && { type: "button" }, ...disabled && { disabled: !focusableWhenDisabled, tabIndex: focusableWhenDisabled ? 0 : -1, "aria-disabled": true }, ...selected && { "aria-pressed": selected }, ...others, children } ); }); exports.buttonBaseClasses = ButtonBase_styles.staticClasses; exports.HvButtonBase = HvButtonBase;