UNPKG

@activecollab/components

Version:

ActiveCollab Components

56 lines 2.3 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; const _excluded = ["label", "icon", "active", "counter", "tooltipText", "onClearAll", "className", "labelClassName", "disabled"]; import React, { forwardRef } from "react"; import classNames from "classnames"; import { StyledBadge, StyledCounterButton, StyledCounterButtonLabel, StyledCounterButtonReset, StyledCounterButtonWrapper } from "./Styles"; import CloseSmallIcon from "../Icons/collection/CloseSmall"; import { Tooltip } from "../Tooltip/Tooltip"; export const CounterButton = /*#__PURE__*/forwardRef((_ref, ref) => { let { label, icon, active, counter = 0, tooltipText, onClearAll, className, labelClassName, disabled = false } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded); return /*#__PURE__*/React.createElement(StyledCounterButtonWrapper, { ref: ref, className: className }, /*#__PURE__*/React.createElement(StyledCounterButton, _extends({ disabled: disabled, "aria-disabled": disabled, className: classNames("c-counter-button", { "c-counter-button__selected": counter }) }, args, { variant: "text gray", $active: counter > 0 || active, $selected: counter > 0 }), icon && /*#__PURE__*/React.cloneElement(icon, { className: classNames("c-counter-button__icon") }), label && /*#__PURE__*/React.createElement(StyledCounterButtonLabel, { color: "secondary", weight: "medium", className: classNames("c-counter-button__label", labelClassName), $active: counter > 0 || active }, label), counter > 0 ? /*#__PURE__*/React.createElement(StyledBadge, { isStandalone: true, dimension: 16, value: counter }) : null), counter > 0 ? /*#__PURE__*/React.createElement(Tooltip, { title: "" + tooltipText, popperTooltipClassName: "z-index-1300" }, /*#__PURE__*/React.createElement(StyledCounterButtonReset, { variant: "text colored", className: "c-counter-button__reset", onClick: onClearAll }, /*#__PURE__*/React.createElement(CloseSmallIcon, null))) : null); }); CounterButton.displayName = "CounterButton"; //# sourceMappingURL=CounterButton.js.map