var _excluded = ["description", "isDanger", "onCancel", "onConfirm", "title"];
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import React from 'react';
import { StyledBody } from './partials/StyledBody';
import { StyledDialog } from './partials/StyledDialog';
import { StyledDescription } from './partials/StyledDescription';
import { StyledTitle } from './partials/StyledTitle';
import { useExternalId } from '../../hooks/useExternalId';
export var Dialog = function Dialog(_ref) {
  var description = _ref.description,
    _ref$isDanger = _ref.isDanger,
    isDanger = _ref$isDanger === void 0 ? false : _ref$isDanger,
    onCancel = _ref.onCancel,
    onConfirm = _ref.onConfirm,
    title = _ref.title,
    rest = _objectWithoutProperties(_ref, _excluded);
  var confirmButton = {
    onClick: onConfirm,
    children: 'Confirm',
    variant: isDanger ? 'danger' : 'primary'
  };
  var cancelButton = {
    onClick: onCancel,
    children: 'Cancel',
    variant: 'secondary'
  };
  var titleId = useExternalId('dialog-title');
  var descriptionId = useExternalId('dialog-description');
  return /*#__PURE__*/React.createElement(StyledDialog, _extends({
    titleId: title ? titleId : undefined,
    descriptionId: descriptionId,
    primaryButton: confirmButton,
    secondaryButton: cancelButton
  }, rest), /*#__PURE__*/React.createElement(StyledBody, null, title && /*#__PURE__*/React.createElement(StyledTitle, {
    id: titleId
  }, title), description && /*#__PURE__*/React.createElement(StyledDescription, null, description)));
};
Dialog.displayName = 'Dialog';