"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.LinkToolbarButtonGroup = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _react2 = require("@emotion/react");
var _button = require("@atlaskit/button");
var _ui = require("../ui");
var _excluded = ["disabled"];
/** @jsx jsx */
/**
 * Applying `pointer-events: none;` when disabled allows the Tooltip to be displayed
 */
var buttonStyle = (0, _react2.css)({
  pointerEvents: 'auto'
});
var buttonStyleNoneEvent = (0, _react2.css)({
  pointerEvents: 'none'
});
var DisallowedWrapper = function DisallowedWrapper(_ref) {
  var disabled = _ref.disabled,
    props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
  return (0, _react2.jsx)("div", props);
};

/**
 * The button requires `pointer-events: none;` in order to fix the tooltip, hence
 * leaving us without a disabled cursor, the following fixes this:
 */
var defaultWrapperStyle = (0, _react2.css)({
  cursor: 'pointer'
});
var disallowedWrapperStyle = (0, _react2.css)({
  cursor: 'not-allowed'
});
var LinkToolbarButtonGroup = exports.LinkToolbarButtonGroup = function LinkToolbarButtonGroup(_ref2) {
  var options = _ref2.options;
  return (0, _react2.jsx)(_button.ButtonGroup, null, options.map(function (_ref3) {
    var onClick = _ref3.onClick,
      selected = _ref3.selected,
      disabled = _ref3.disabled,
      testId = _ref3.testId,
      tooltipContent = _ref3.tooltipContent,
      title = _ref3.title,
      Icon = _ref3.icon;
    return (0, _react2.jsx)(DisallowedWrapper, {
      css: disabled ? disallowedWrapperStyle : defaultWrapperStyle,
      key: testId,
      disabled: disabled
    }, (0, _react2.jsx)(_ui.FloatingToolbarButton, {
      css: disabled ? buttonStyleNoneEvent : buttonStyle,
      title: title,
      icon: (0, _react2.jsx)(Icon, {
        size: "medium",
        label: title
      }),
      selected: selected,
      onClick: onClick,
      testId: testId,
      disabled: disabled,
      tooltipContent: tooltipContent
    }));
  }));
};