"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 = _interopRequireWildcard(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 _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
const _ResponsiveButton = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
  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 {
    responsiveDisabled
  } = responsive;
  const shouldShrink = responsiveDisabled ? shouldShrinkProp : state._shouldShrink;
  return shouldShrink ? /*#__PURE__*/_react.default.createElement(_designSystem.Tooltip, {
    content: children,
    dataHook: dataHook ? `${dataHook}-tooltip` : undefined,
    __self: void 0,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 50,
      columnNumber: 7
    }
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
    direction: "vertical",
    minWidth: "30px",
    __self: void 0,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 54,
      columnNumber: 9
    }
  }, /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, (0, _extends2.default)({
    ref: ref
  }, rest, {
    dataHook: dataHook,
    size: sizes.small,
    priority: "secondary",
    __self: void 0,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 55,
      columnNumber: 11
    }
  }), icon))) : /*#__PURE__*/_react.default.createElement("div", {
    style: {
      display: 'contents'
    },
    __self: void 0,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 67,
      columnNumber: 7
    }
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Button, (0, _extends2.default)({
    ref: ref,
    as: as
  }, rest, {
    dataHook: dataHook,
    size: sizes.small,
    priority: "secondary",
    prefixIcon: icon,
    suffixIcon: button.suffix,
    __self: void 0,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 68,
      columnNumber: 9
    }
  }), children));
});
const ResponsiveButton = exports.ResponsiveButton = (0, _mobxReactLite.observer)(_ResponsiveButton);
//# sourceMappingURL=ResponsiveButton.js.map