"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.LegalDocument = void 0;

var _preact = require("preact");

var _signature = require("./signature");

var _date = require("./utils/date");

var _documentBaseStyles = require("./document-base-styles");

function _extends() { _extends = Object.assign || 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; }

const Empty = (_ref) => {
  let {
    children
  } = _ref,
      rest = _objectWithoutProperties(_ref, ["children"]);

  return (0, _preact.h)("div", _extends({
    style: {
      color: 'lightgray'
    }
  }, rest), children);
}; // very important that these are all inline styles


const LegalDocument = ({
  html,
  data,
  noPadding,
  appendSignature,
  date
}) => {
  const signature = data && data.signature;
  const signerName = data && data.signerName;
  return (0, _preact.h)("div", {
    className: "ld"
  }, (0, _preact.h)("style", null, (0, _documentBaseStyles.getDocumentBaseStyles)({
    noPadding
  })), (0, _preact.h)("div", {
    dangerouslySetInnerHTML: {
      __html: html
    }
  }), appendSignature && (0, _preact.h)("div", null, signature && (0, _preact.h)(_signature.Signature, {
    style: {
      marginBottom: '-26px'
    },
    path: signature
  }), !signature && (0, _preact.h)(Empty, null, "signature will be inserted here"), (0, _preact.h)("div", null, (0, _preact.h)("hr", {
    style: {
      width: '8rem',
      marginLeft: '0',
      color: 'lightgray'
    }
  })), (0, _preact.h)("div", {
    style: {
      display: 'flex',
      alignItems: 'center'
    }
  }, (0, _preact.h)("span", {
    style: {
      marginRight: '2rem'
    }
  }, signerName, !signerName && (0, _preact.h)(Empty, null, "name will be inserted here")), (0, _preact.h)("span", null, (0, _date.toDateString)(date || Date.now())))));
};

exports.LegalDocument = LegalDocument;