import { _ as _slicedToArray } from './slicedToArray-6ebcbfea.js';
import React__default, { useState, useEffect } from 'react';
import DFPAdSlot from './AdSlot.js';
import './_commonjsHelpers-0c4b6f40.js';
import './web.dom.iterable-ab4dea5c.js';
import './core.get-iterator-method-ea258bb1.js';
import './extends-6d8e3924.js';
import './_object-pie-133f504a.js';
import 'prop-types';
import './index-f0fc23eb.js';
import './events-6c3a7a63.js';
import './debounce-533d9748.js';
import './isSymbol-a7e9aafe.js';
import './toNumber-5aeba6e7.js';
import './Beam.js';
import './stringify-2b084bee.js';
import './asyncToGenerator-5ef104a7.js';
import './_library-528f1934.js';
import './_iter-detect-98db3b07.js';
import './Segment.js';
import './main-1894c974.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 = useState(false),
      _useState2 = _slicedToArray(_useState, 2),
      widthFlag = _useState2[0],
      setWidthFlag = _useState2[1];

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

  var _useState5 = useState(false),
      _useState6 = _slicedToArray(_useState5, 2),
      showAd = _useState6[0],
      setShowAd = _useState6[1];

  useEffect(function () {
    // Checking data in session storage to show AD
    if (!sessionStorage.getItem('mjh-floating-footer-ad')) setShowAd(true);
  }, []);

  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');
    }));
  }, []);

  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');
    // Saving data in session storage on close AD
    sessionStorage.setItem('mjh-floating-footer-ad', Math.floor(Date.now() / 1000));
  };

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

export default ADFloatingFooter;
