'use strict';

var widgetClass = 'odynn-widget';
var tokenId = 'odynnToken';
var eventType = 'odynn-token';
var readyNotification = 'odynn-widget-ready';
const getCookie = (name) => {
  const value = `; ${document.cookie}`;
  const parts = value.split(`; ${name}=`);
  if (parts.length === 2) return parts.pop().split(';').shift();
};
const listenForMessage = function (event) {
  var _event$data, _event$data2;
  if (
    (event === null || event === void 0
      ? void 0
      : (_event$data = event.data) === null || _event$data === void 0
      ? void 0
      : _event$data.type) === eventType
  ) {
    document.cookie = tokenId + '=' + event.data.value;
    sendToken();
  } else if (
    (event === null || event === void 0
      ? void 0
      : (_event$data2 = event.data) === null || _event$data2 === void 0
      ? void 0
      : _event$data2.type) === readyNotification
  ) {
    // if the widget has indicated that it's ready,
    // we want to send the token
    sendToken();
  }
};
const sendToken = function () {
  var widgets = document.getElementsByClassName(widgetClass);
  if (widgets)
    Array.prototype.forEach.call(widgets, function (widget) {
      var _widget$contentWindow;
      (_widget$contentWindow = widget.contentWindow) === null ||
      _widget$contentWindow === void 0
        ? void 0
        : _widget$contentWindow.postMessage(
            {
              type: eventType,
              value: getCookie(tokenId)
            },
            '*'
          );
    });
};
window.addEventListener('message', listenForMessage);
