"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.ResponsiveButton = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _designSystem = require("@wix/design-system");
var _react = _interopRequireDefault(require("react"));
var _mobxReactLite = require("mobx-react-lite");
var _ToolbarCollectionContext = require("../ToolbarCollectionContext");
var _PatternsThemeProvider = require("../../themes/PatternsThemeProvider");
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/components/ResponsiveButton/ResponsiveButton.tsx";
function _ResponsiveButton(props) {
  const {
    dataHook,
    as,
    icon,
    children,
    state,
    shouldShrink: shouldShrinkProp = true,
    ...rest
  } = props;
  const {
    sizes,
    toolbar: {
      button
    }
  } = (0, _PatternsThemeProvider.usePatternsTheme)();
  const {
    toolbar: {
      responsive
    }
  } = (0, _ToolbarCollectionContext.useToolbarCollectionContext)();
  const {
    _nextToShrink,
    responsiveDisabled
  } = responsive;
  const shouldShrink = responsiveDisabled ? shouldShrinkProp : _nextToShrink._count >= state._count && state._shouldShrink;
  return shouldShrink ? /*#__PURE__*/_react.default.createElement(_designSystem.Tooltip, {
    content: children,
    dataHook: dataHook ? `${dataHook}-tooltip` : undefined,
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 49,
      columnNumber: 5
    }
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
    direction: "vertical",
    minWidth: "30px",
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 53,
      columnNumber: 7
    }
  }, /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, (0, _extends2.default)({}, rest, {
    dataHook: dataHook,
    size: sizes.small,
    priority: "secondary",
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 54,
      columnNumber: 9
    }
  }), icon))) : /*#__PURE__*/_react.default.createElement(_designSystem.Button, (0, _extends2.default)({
    as: as
  }, rest, {
    dataHook: dataHook,
    size: sizes.small,
    priority: "secondary",
    prefixIcon: icon,
    suffixIcon: button.suffix,
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 65,
      columnNumber: 5
    }
  }), children);
}
const ResponsiveButton = exports.ResponsiveButton = (0, _mobxReactLite.observer)(_ResponsiveButton);
//# sourceMappingURL=ResponsiveButton.js.map