UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

38 lines (37 loc) 1.12 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 useControlled = require("../hooks/useControlled.cjs"); const Button = require("../Button/Button.cjs"); const HvToggleButton = React.forwardRef(function HvToggleButton2(props, ref) { const { defaultSelected, selected, notSelectedIcon, selectedIcon = null, onClick, children, ...others } = uikitReactUtils.useDefaultProps("HvToggleButton", props); const [isSelected, setIsSelected] = useControlled.useControlled( selected, Boolean(defaultSelected) ); return /* @__PURE__ */ jsxRuntime.jsx( Button.HvButton, { ref, icon: true, selected: isSelected, onClick: (event) => { setIsSelected(!isSelected); onClick?.(event, !isSelected); }, ...others, children: children || (!isSelected ? notSelectedIcon : selectedIcon) } ); }); exports.HvToggleButton = HvToggleButton;