'use strict';

function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }

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-60837c34.js');
require('./web.dom.iterable-a0e279c1.js');
var React = require('react');
var React__default = _interopDefault(React);
require('./index-8bf6c863.js');
require('prop-types');
require('./isSymbol-04666465.js');
require('./debounce-eb287781.js');
require('./main-02daeefe.js');
var slicedToArray = require('./slicedToArray-8f385299.js');
require('./stringify-7c5aff47.js');
require('./asyncToGenerator-533d476a.js');
require('./_set-species-f92c67c5.js');
require('./Segment.js');
require('./Beam.js');
var AdSlot = require('./AdSlot.js');

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.createElement(
    React__default.Fragment,
    null,
    widthFlag && adTargeting.document_url && React__default.createElement(
      'div',
      { id: 'floating-ad-wrapper', className: 'floating-ad-wrapper display-floating ' + title },
      React__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.createElement(
        'div',
        { className: 'closeButton', onClick: function onClick() {
            return collapseAd();
          } },
        'x'
      )
    ),
    React__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;
