"use strict";

exports.__esModule = true;
exports.iconPropTypes = exports.default = void 0;
var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _buttonIcons = require("../../util/button-icons");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const faIconPropTypes = {
  name: _propTypes.default.string.isRequired,
  color: _propTypes.default.string,
  backgroundColor: _propTypes.default.string,
  size: _propTypes.default.number,
  customStyle: _propTypes.default.objectOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))
};
const iconPropTypes = exports.iconPropTypes = {
  position: _propTypes.default.oneOf(['right', 'left']),
  type: _propTypes.default.oneOf((0, _keys2.default)(_buttonIcons.ICONS)),
  faIcon: _propTypes.default.shape(faIconPropTypes)
};
const propTypes = {
  type: _propTypes.default.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),
  usage: _propTypes.default.oneOf(['button', 'submit', 'reset']),
  label: _propTypes.default.string,
  content: _propTypes.default.node,
  'aria-label': _propTypes.default.string,
  tooltipText: _propTypes.default.string,
  tooltipPlacement: _propTypes.default.oneOf(['left', 'right', 'top', 'bottom']),
  'data-name': _propTypes.default.string,
  'data-testid': _propTypes.default.string,
  icon: _propTypes.default.shape(iconPropTypes),
  onClick: _propTypes.default.func,
  link: _propTypes.default.shape({
    href: _propTypes.default.string,
    download: _propTypes.default.bool,
    target: _propTypes.default.oneOf(['_self', '_blank', '_parent', '_top'])
  }),
  hoverBackgroundColor: _propTypes.default.string,
  hoverColor: _propTypes.default.string,
  disabled: _propTypes.default.bool,
  className: _propTypes.default.string,
  customStyle: _propTypes.default.objectOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))
};
var _default = exports.default = propTypes;
//# sourceMappingURL=types.js.map