'use strict';

require('./_commonjsHelpers-06173234.js');
require('./_to-object-329a650b.js');
require('./es6.string.iterator-cc0bbaa4.js');
require('./_library-dd23b178.js');
require('./_iter-detect-60b2f026.js');
require('./core.get-iterator-method-f62321d4.js');
require('./_object-pie-68c5bcbc.js');
require('./extends-0a918631.js');
require('./web.dom.iterable-a0e279c1.js');
var React = require('react');
require('./index-e08f00ce.js');
require('prop-types');
require('./isSymbol-04666465.js');
require('./debounce-529c8d06.js');
require('./toNumber-36d1e7e5.js');
require('./main-7b5e57b0.js');
var slicedToArray = require('./slicedToArray-8f385299.js');
require('./stringify-7c5aff47.js');
require('./asyncToGenerator-140e5f89.js');
require('./Segment.js');
require('./Beam.js');
var AdSlot = require('./AdSlot.js');

function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

var React__default = /*#__PURE__*/_interopDefaultLegacy(React);

var ADFloatingFooter = function ADFloatingFooter(_ref) {
  var title = _ref.title,
      floatingAd = _ref.floatingAd,
      minScreenWidth = _ref.minScreenWidth,
      _ref$refreshFlag = _ref.refreshFlag,
      refreshFlag = _ref$refreshFlag === undefined ? true : _ref$refreshFlag;
  var className = floatingAd.className,
      slotId = floatingAd.slotId,
      adUnit = floatingAd.adUnit,
      _floatingAd$targeting = floatingAd.targeting,
      targeting = _floatingAd$targeting === undefined ? {} : _floatingAd$targeting,
      _floatingAd$position = floatingAd.position,
      position = _floatingAd$position === undefined ? 'float' : _floatingAd$position,
      networkID = floatingAd.networkID;

  var adTargeting = {
    content_placement: targeting.content_placement,
    tags: targeting.tags,
    document_group: targeting.document_group,
    rootDocumentGroup: targeting.rootDocumentGroup,
    document_url: targeting.document_url,
    pos: position,
    campaign_id: targeting.campaign_id,
    issue_url: targeting.issue_url,
    publication_url: targeting.publication_url
  };

  var _useState = React.useState(false),
      _useState2 = slicedToArray._slicedToArray(_useState, 2),
      widthFlag = _useState2[0],
      setWidthFlag = _useState2[1];

  var _useState3 = React.useState(true),
      _useState4 = slicedToArray._slicedToArray(_useState3, 2),
      previewAd = _useState4[0],
      setPreviewAd = _useState4[1];

  React.useEffect(function () {
    var path = window && window.location && window.location.search;
    // Setting flag for Ad-preview URLs
    setPreviewAd(path.split('&').some(function (param) {
      return param.includes('creativeId');
    }));
  }, []);

  React.useEffect(function () {
    if (window && window.innerWidth > minScreenWidth) {
      setWidthFlag(true);
    }

    try {
      var _floatingAd = document.getElementById('floating-ad');
      var parent = document.getElementById('floating-ad-wrapper');
      if (_floatingAd.children[0].children.length === 0) {
        parent.classList.remove('display-floating');
        parent.classList.add('hide-floating');
      }
    } catch (e) {}
  }, [minScreenWidth]);

  var collapseAd = function collapseAd() {
    var parent = document.getElementById('floating-ad-wrapper');
    parent.style.height = '0%';
    parent.style.width = '0%';
    parent.classList.remove('display-floating');
    parent.classList.add('hide-floating');
  };

  return React__default['default'].createElement(
    React__default['default'].Fragment,
    null,
    widthFlag && adTargeting.document_url && React__default['default'].createElement(
      'div',
      { id: 'floating-ad-wrapper', className: 'floating-ad-wrapper display-floating ' + title },
      React__default['default'].createElement(AdSlot, {
        className: className,
        slotId: slotId,
        networkID: networkID,
        sizes: [[1025, 100]],
        adUnit: adUnit,
        targeting: adTargeting,
        refreshFlag: refreshFlag
        /* Passing function to check for ad creative only if it is not in preview. */
        // checkIsAdFound={previewAd ? null : checkIsAdFound}
      }),
      React__default['default'].createElement(
        'div',
        { className: 'closeButton', onClick: function onClick() {
            return collapseAd();
          } },
        'x'
      )
    ),
    React__default['default'].createElement(
      'style',
      { jsx: 'true' },
      '\n          .display-floating {\n            display: block;\n          }\n          .hide-floating {\n            display: none;\n          }\n          .floating-ad-wrapper {\n            margin: 0;\n            background-color: #f5f5f5;\n            position: fixed;\n            bottom: 0;\n            left: 50%;\n            transform: translateX(-50%);\n            z-index: 9000;\n          }\n          .closeButton {\n            position: absolute;\n            top: -16px;\n            right: -16px;\n            background: grey;\n            color: white;\n            font-weight: 500;\n            border: 2px solid white;\n            border-radius: 50%;\n            width: 30px;\n            height: 30px;\n            text-align: center;\n            font-size: 15px;\n            cursor: pointer;\n            z-index: 999999;\n          }\n          .floating-ad-wrapper div[id*=\'google_ads_iframe\']:empty {\n            height: 0px !important;\n          }\n        '
    )
  );
};

module.exports = ADFloatingFooter;
