zoid
Version:
Cross domain components.
872 lines • 355 kB
JavaScript
!function(root, factory) {
"object" == typeof exports && "object" == typeof module ? module.exports = factory() : "function" == typeof define && define.amd ? define("zoid", [], factory) : "object" == typeof exports ? exports.zoid = factory() : root.zoid = factory();
}("undefined" != typeof self ? self : this, function() {
return function(modules) {
var installedModules = {};
function __webpack_require__(moduleId) {
if (installedModules[moduleId]) return installedModules[moduleId].exports;
var module = installedModules[moduleId] = {
i: moduleId,
l: !1,
exports: {}
};
modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
module.l = !0;
return module.exports;
}
__webpack_require__.m = modules;
__webpack_require__.c = installedModules;
__webpack_require__.d = function(exports, name, getter) {
__webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {
configurable: !1,
enumerable: !0,
get: getter
});
};
__webpack_require__.n = function(module) {
var getter = module && module.__esModule ? function() {
return module.default;
} : function() {
return module;
};
__webpack_require__.d(getter, "a", getter);
return getter;
};
__webpack_require__.o = function(object, property) {
return Object.prototype.hasOwnProperty.call(object, property);
};
__webpack_require__.p = "";
return __webpack_require__(__webpack_require__.s = "./src/index.js");
}({
"./node_modules/belter/src/css.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = isPerc;
__webpack_exports__.b = isPx;
__webpack_exports__.d = function(val) {
return "number" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);
};
__webpack_exports__.c = function(dim, max) {
if ("number" == typeof dim) return dim;
if (isPerc(dim)) return parseInt(max * toNum(dim) / 100, 10);
if (isPx(dim)) return toNum(dim);
throw new Error("Can not normalize dimension: " + dim);
};
function isPerc(str) {
return "string" == typeof str && /^[0-9]+%$/.test(str);
}
function isPx(str) {
return "string" == typeof str && /^[0-9]+px$/.test(str);
}
function toNum(val) {
if ("number" == typeof val) return val;
var match = val.match(/^([0-9]+)(px|%)$/);
if (!match) throw new Error("Could not match css value from " + val);
return parseInt(match[1], 10);
}
function toPx(val) {
return toNum(val) + "px";
}
},
"./node_modules/belter/src/decorators.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function(target, name, descriptor) {
descriptor.value = Object(__WEBPACK_IMPORTED_MODULE_0__util__.n)(descriptor.value, {
name: name,
thisNamespace: !0
});
};
var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__("./node_modules/belter/src/util.js");
},
"./node_modules/belter/src/device.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function() {
return !!(window.navigator.mockUserAgent || window.navigator.userAgent).match(/Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i);
};
},
"./node_modules/belter/src/dom.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var src = __webpack_require__("./node_modules/zalgo-promise/src/index.js"), cross_domain_utils_src = __webpack_require__("./node_modules/cross-domain-utils/src/index.js"), cross_domain_safe_weakmap_src = __webpack_require__("./node_modules/cross-domain-safe-weakmap/src/index.js"), util = __webpack_require__("./node_modules/belter/src/util.js");
__webpack_require__("./node_modules/belter/src/device.js");
__webpack_exports__.t = function() {
return waitForDocumentReady().then(function() {
if (document.body) return document.body;
throw new Error("Document ready but document.body not present");
});
};
__webpack_exports__.j = function(url) {
var originalHash, options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, query = options.query || {}, hash = options.hash || {}, originalUrl = void 0, _url$split = url.split("#");
originalUrl = _url$split[0];
originalHash = _url$split[1];
var _originalUrl$split = originalUrl.split("?");
originalUrl = _originalUrl$split[0];
var queryString = extendQuery(_originalUrl$split[1], query), hashString = extendQuery(originalHash, hash);
queryString && (originalUrl = originalUrl + "?" + queryString);
hashString && (originalUrl = originalUrl + "#" + hashString);
return originalUrl;
};
__webpack_exports__.n = function isLocalStorageEnabled() {
return Object(util.k)(isLocalStorageEnabled, function() {
try {
if ("undefined" == typeof window) return !1;
if (window.localStorage) {
var value = Math.random().toString();
window.localStorage.setItem("__test__localStorage__", value);
var result = window.localStorage.getItem("__test__localStorage__");
window.localStorage.removeItem("__test__localStorage__");
if (value === result) return !0;
}
} catch (err) {}
return !1;
});
};
__webpack_exports__.e = appendChild;
__webpack_exports__.k = getElement;
__webpack_exports__.i = function(id) {
return new src.a(function(resolve, reject) {
var name = Object(util.u)(id), el = getElementSafe(id);
if (el) return resolve(el);
if (isDocumentReady()) return reject(new Error("Document is ready and element " + name + " does not exist"));
var interval = setInterval(function() {
if (el = getElementSafe(id)) {
clearInterval(interval);
return resolve(el);
}
if (isDocumentReady()) {
clearInterval(interval);
return reject(new Error("Document is ready and element " + name + " does not exist"));
}
}, 10);
});
};
__webpack_exports__.a = PopupOpenError;
__webpack_exports__.p = function(url, options) {
var _options = options = options || {}, width = _options.width, height = _options.height, top = 0, left = 0;
width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));
height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));
var name = (options = _extends({
top: top,
left: left,
width: width,
height: height,
status: 1,
toolbar: 0,
menubar: 0,
resizable: 1,
scrollbars: 1
}, options)).name || "";
delete options.name;
var params = Object.keys(options).map(function(key) {
if (options[key]) return key + "=" + Object(util.u)(options[key]);
}).filter(Boolean).join(","), win = void 0;
try {
win = window.open(url, name, params, !0);
} catch (err) {
throw new PopupOpenError("Can not open popup window - " + (err.stack || err.message));
}
if (Object(cross_domain_utils_src.isWindowClosed)(win)) {
var err;
throw new PopupOpenError("Can not open popup window - blocked");
}
return win;
};
__webpack_exports__.v = function(win, el) {
var tag = el.tagName.toLowerCase();
if ("html" !== tag) throw new Error("Expected element to be html, got " + tag);
for (var documentElement = win.document.documentElement; documentElement.children && documentElement.children.length; ) documentElement.removeChild(documentElement.children[0]);
for (;el.children.length; ) documentElement.appendChild(el.children[0]);
};
__webpack_exports__.f = awaitFrameLoad;
__webpack_exports__.g = function(frame) {
return frame.contentWindow ? src.a.resolve(frame.contentWindow) : awaitFrameLoad(frame).then(function(loadedFrame) {
if (!loadedFrame.contentWindow) throw new Error("Could not find window in iframe");
return loadedFrame.contentWindow;
});
};
__webpack_exports__.m = function iframe() {
var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, container = arguments[1], attempts = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 3, el = getElement(container), attributes = options.attributes || {}, style = options.style || {}, frame = function() {
var tag = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "div", options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, container = arguments[2];
tag = tag.toLowerCase();
var element = document.createElement(tag);
options.style && Object(util.h)(element.style, options.style);
options.class && (element.className = options.class.join(" "));
if (options.attributes) for (var _i6 = 0, _Object$keys2 = Object.keys(options.attributes), _length6 = null == _Object$keys2 ? 0 : _Object$keys2.length; _i6 < _length6; _i6++) {
var key = _Object$keys2[_i6];
element.setAttribute(key, options.attributes[key]);
}
options.styleSheet && function(el, styleText) {
var doc = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : window.document;
el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));
}(element, options.styleSheet);
container && appendChild(container, element);
if (options.html) if ("iframe" === tag) {
if (!container || !element.contentWindow) throw new Error("Iframe html can not be written unless container provided and iframe in DOM");
!function(win, html) {
try {
win.document.open();
win.document.write(html);
win.document.close();
} catch (err) {
try {
win.location = "javascript: document.open(); document.write(" + JSON.stringify(html) + "); document.close();";
} catch (err2) {}
}
}(element.contentWindow, options.html);
} else element.innerHTML = options.html;
return element;
}("iframe", {
attributes: _extends({
frameBorder: "0",
allowTransparency: "true"
}, attributes),
style: _extends({
backgroundColor: "transparent"
}, style),
html: options.html,
class: options.class
});
awaitFrameLoad(frame);
el.appendChild(frame);
var win = frame.contentWindow;
if (win) try {
Object(util.p)(win.name);
} catch (err) {
el.removeChild(frame);
if (!attempts) throw new Error("Frame is cross-domain: " + err.stack);
return iframe(options, container, attempts - 1);
}
(options.url || window.navigator.userAgent.match(/MSIE|Edge/i)) && frame.setAttribute("src", options.url || "about:blank");
return frame;
};
__webpack_exports__.c = function(obj, event, handler) {
obj.addEventListener(event, handler);
return {
cancel: function() {
obj.removeEventListener(event, handler);
}
};
};
__webpack_exports__.s = showElement;
__webpack_exports__.l = hideElement;
__webpack_exports__.h = function(element) {
element.parentNode && element.parentNode.removeChild(element);
};
__webpack_exports__.r = function(element, name, clean) {
var animation = animate(element, name, clean);
showElement(element);
return animation;
};
__webpack_exports__.d = function(element, name, clean) {
return animate(element, name, clean).then(function() {
hideElement(element);
});
};
__webpack_exports__.b = function(element, name) {
element.classList ? element.classList.add(name) : -1 === element.className.split(/\s+/).indexOf(name) && (element.className += " " + name);
};
__webpack_exports__.q = function(element, name) {
element.classList ? element.classList.remove(name) : -1 !== element.className.split(/\s+/).indexOf(name) && (element.className = element.className.replace(name, ""));
};
__webpack_exports__.u = function(element, handler) {
handler = Object(util.q)(handler);
var interval = void 0;
isElementClosed(element) ? handler() : interval = Object(util.t)(function() {
if (isElementClosed(element)) {
interval.cancel();
handler();
}
}, 50);
return {
cancel: function() {
interval && interval.cancel();
}
};
};
__webpack_exports__.o = function(el, handler) {
var _ref6 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, _ref6$width = _ref6.width, width = void 0 === _ref6$width || _ref6$width, _ref6$height = _ref6.height, height = void 0 === _ref6$height || _ref6$height, _ref6$interval = _ref6.interval, interval = void 0 === _ref6$interval ? 100 : _ref6$interval, _ref6$win = _ref6.win, win = void 0 === _ref6$win ? window : _ref6$win, currentWidth = el.offsetWidth, currentHeight = el.offsetHeight;
handler({
width: currentWidth,
height: currentHeight
});
var check = function() {
var newWidth = el.offsetWidth, newHeight = el.offsetHeight;
(width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({
width: newWidth,
height: newHeight
});
currentWidth = newWidth;
currentHeight = newHeight;
}, observer = void 0, timeout = void 0;
if (void 0 !== win.ResizeObserver) (observer = new win.ResizeObserver(check)).observe(el); else if (void 0 !== win.MutationObserver) {
(observer = new win.MutationObserver(check)).observe(el, {
attributes: !0,
childList: !0,
subtree: !0,
characterData: !1
});
win.addEventListener("resize", check);
} else !function loop() {
check();
timeout = setTimeout(loop, interval);
}();
return {
cancel: function() {
observer.disconnect();
window.removeEventListener("resize", check);
clearTimeout(timeout);
}
};
};
var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) {
return typeof obj;
} : function(obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _extends = Object.assign || function(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]);
}
return target;
};
function isDocumentReady() {
return Boolean(document.body) && "complete" === document.readyState;
}
function urlEncode(str) {
return str.replace(/\?/g, "%3F").replace(/&/g, "%26").replace(/#/g, "%23").replace(/\+/g, "%2B");
}
function waitForDocumentReady() {
return Object(util.k)(waitForDocumentReady, function() {
return new src.a(function(resolve) {
if (isDocumentReady()) return resolve();
var interval = setInterval(function() {
if (isDocumentReady()) {
clearInterval(interval);
return resolve();
}
}, 10);
});
});
}
function parseQuery(queryString) {
return Object(util.k)(parseQuery, function() {
var params = {};
if (!queryString) return params;
if (-1 === queryString.indexOf("=")) return params;
for (var _i2 = 0, _queryString$split2 = queryString.split("&"), _length2 = null == _queryString$split2 ? 0 : _queryString$split2.length; _i2 < _length2; _i2++) {
var pair = _queryString$split2[_i2];
(pair = pair.split("="))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));
}
return params;
}, [ queryString ]);
}
function extendQuery(originalQuery) {
var props = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
return props && Object.keys(props).length ? function() {
var obj = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
return Object.keys(obj).filter(function(key) {
return "string" == typeof obj[key];
}).map(function(key) {
return urlEncode(key) + "=" + urlEncode(obj[key]);
}).join("&");
}(_extends({}, parseQuery(originalQuery), props)) : originalQuery;
}
function appendChild(container, child) {
container.appendChild(child);
}
function getElementSafe(id) {
var element, doc = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : document;
return (element = id) instanceof window.Element || null !== element && "object" === (void 0 === element ? "undefined" : _typeof(element)) && 1 === element.nodeType && "object" === _typeof(element.style) && "object" === _typeof(element.ownerDocument) ? id : "string" == typeof id ? doc.querySelector(id) : void 0;
}
function getElement(id) {
var element = getElementSafe(id, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : document);
if (element) return element;
throw new Error("Can not find element: " + Object(util.u)(id));
}
function PopupOpenError(message) {
this.message = message;
}
PopupOpenError.prototype = Object.create(Error.prototype);
var awaitFrameLoadPromises = void 0;
function awaitFrameLoad(frame) {
if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new cross_domain_safe_weakmap_src.a()).has(frame)) {
var _promise = awaitFrameLoadPromises.get(frame);
if (_promise) return _promise;
}
var promise = new src.a(function(resolve, reject) {
frame.addEventListener("load", function() {
Object(cross_domain_utils_src.linkFrameWindow)(frame);
resolve(frame);
});
frame.addEventListener("error", function(err) {
frame.contentWindow ? resolve(frame) : reject(err);
});
});
awaitFrameLoadPromises.set(frame, promise);
return promise;
}
function bindEvents(element, eventNames, handler) {
handler = Object(util.q)(handler);
for (var _i8 = 0, _length8 = null == eventNames ? 0 : eventNames.length; _i8 < _length8; _i8++) {
var eventName = eventNames[_i8];
element.addEventListener(eventName, handler);
}
return {
cancel: Object(util.q)(function() {
for (var _i10 = 0, _length10 = null == eventNames ? 0 : eventNames.length; _i10 < _length10; _i10++) {
var _eventName = eventNames[_i10];
element.removeEventListener(_eventName, handler);
}
})
};
}
var VENDOR_PREFIXES = [ "webkit", "moz", "ms", "o" ];
function setVendorCSS(element, name, value) {
element.style[name] = value;
for (var capitalizedName = Object(util.c)(name), _i12 = 0, _length12 = null == VENDOR_PREFIXES ? 0 : VENDOR_PREFIXES.length; _i12 < _length12; _i12++) {
var prefix = VENDOR_PREFIXES[_i12];
element.style["" + prefix + capitalizedName] = value;
}
}
var ANIMATION_START_EVENTS = [ "animationstart", "webkitAnimationStart", "oAnimationStart", "MSAnimationStart" ], ANIMATION_END_EVENTS = [ "animationend", "webkitAnimationEnd", "oAnimationEnd", "MSAnimationEnd" ];
function animate(element, name, clean) {
var timeout = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1e3;
return new src.a(function(resolve, reject) {
var el = getElement(element);
if (!el || !function(element, name) {
var CSSRule = window.CSSRule, KEYFRAMES_RULE = CSSRule.KEYFRAMES_RULE || CSSRule.WEBKIT_KEYFRAMES_RULE || CSSRule.MOZ_KEYFRAMES_RULE || CSSRule.O_KEYFRAMES_RULE || CSSRule.MS_KEYFRAMES_RULE, stylesheets = element.ownerDocument.styleSheets;
try {
for (var i = 0; i < stylesheets.length; i++) {
var cssRules = stylesheets[i].cssRules;
if (cssRules) for (var j = 0; j < cssRules.length; j++) {
var cssRule = cssRules[j];
if (cssRule && cssRule.type === KEYFRAMES_RULE && cssRule.name === name) return !0;
}
}
} catch (err) {
return !1;
}
return !1;
}(el, name)) return resolve();
var hasStarted = !1, startTimeout = void 0, endTimeout = void 0, startEvent = void 0, endEvent = void 0;
function cleanUp() {
setVendorCSS(el, "animationName", "");
clearTimeout(startTimeout);
clearTimeout(endTimeout);
startEvent.cancel();
endEvent.cancel();
}
startEvent = bindEvents(el, ANIMATION_START_EVENTS, function(event) {
if (event.target === el && event.animationName === name) {
clearTimeout(startTimeout);
event.stopPropagation();
startEvent.cancel();
hasStarted = !0;
endTimeout = setTimeout(function() {
cleanUp();
resolve();
}, timeout);
}
});
endEvent = bindEvents(el, ANIMATION_END_EVENTS, function(event) {
if (event.target === el && event.animationName === name) {
cleanUp();
return "string" == typeof event.animationName && event.animationName !== name ? reject("Expected animation name to be " + name + ", found " + event.animationName) : resolve();
}
});
setVendorCSS(el, "animationName", name);
startTimeout = setTimeout(function() {
if (!hasStarted) {
cleanUp();
return resolve();
}
}, 200);
clean && clean(cleanUp);
});
}
var STYLE = {
DISPLAY: {
NONE: "none",
BLOCK: "block"
},
VISIBILITY: {
VISIBLE: "visible",
HIDDEN: "hidden"
},
IMPORTANT: "important"
};
function showElement(element) {
element.style.setProperty("display", "");
}
function hideElement(element) {
element.style.setProperty("display", STYLE.DISPLAY.NONE, STYLE.IMPORTANT);
}
function isElementClosed(el) {
return !el || !el.parentNode;
}
},
"./node_modules/belter/src/experiment.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__("./node_modules/belter/src/util.js"), __webpack_require__("./node_modules/belter/src/storage.js");
},
"./node_modules/belter/src/global.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__("./node_modules/belter/src/util.js");
},
"./node_modules/belter/src/http.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__("./node_modules/zalgo-promise/src/index.js"), __webpack_require__("./node_modules/cross-domain-utils/src/index.js");
},
"./node_modules/belter/src/index.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__("./node_modules/belter/src/device.js");
var __WEBPACK_IMPORTED_MODULE_1__dom__ = __webpack_require__("./node_modules/belter/src/dom.js");
__webpack_require__.d(__webpack_exports__, "PopupOpenError", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.a;
});
__webpack_require__.d(__webpack_exports__, "addClass", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.b;
});
__webpack_require__.d(__webpack_exports__, "addEventListener", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.c;
});
__webpack_require__.d(__webpack_exports__, "animateAndHide", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.d;
});
__webpack_require__.d(__webpack_exports__, "appendChild", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.e;
});
__webpack_require__.d(__webpack_exports__, "awaitFrameLoad", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.f;
});
__webpack_require__.d(__webpack_exports__, "awaitFrameWindow", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.g;
});
__webpack_require__.d(__webpack_exports__, "destroyElement", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.h;
});
__webpack_require__.d(__webpack_exports__, "elementReady", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.i;
});
__webpack_require__.d(__webpack_exports__, "extendUrl", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.j;
});
__webpack_require__.d(__webpack_exports__, "getElement", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.k;
});
__webpack_require__.d(__webpack_exports__, "hideElement", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.l;
});
__webpack_require__.d(__webpack_exports__, "iframe", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.m;
});
__webpack_require__.d(__webpack_exports__, "onResize", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.o;
});
__webpack_require__.d(__webpack_exports__, "popup", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.p;
});
__webpack_require__.d(__webpack_exports__, "removeClass", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.q;
});
__webpack_require__.d(__webpack_exports__, "showAndAnimate", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.r;
});
__webpack_require__.d(__webpack_exports__, "showElement", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.s;
});
__webpack_require__.d(__webpack_exports__, "waitForDocumentBody", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.t;
});
__webpack_require__.d(__webpack_exports__, "watchElementForClose", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.u;
});
__webpack_require__.d(__webpack_exports__, "writeElementToWindow", function() {
return __WEBPACK_IMPORTED_MODULE_1__dom__.v;
});
__webpack_require__("./node_modules/belter/src/experiment.js"), __webpack_require__("./node_modules/belter/src/global.js"),
__webpack_require__("./node_modules/belter/src/storage.js");
var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__("./node_modules/belter/src/util.js");
__webpack_require__.d(__webpack_exports__, "base64decode", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.a;
});
__webpack_require__.d(__webpack_exports__, "base64encode", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.b;
});
__webpack_require__.d(__webpack_exports__, "dasherizeToCamel", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.d;
});
__webpack_require__.d(__webpack_exports__, "dotify", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.f;
});
__webpack_require__.d(__webpack_exports__, "eventEmitter", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.g;
});
__webpack_require__.d(__webpack_exports__, "extend", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.h;
});
__webpack_require__.d(__webpack_exports__, "getOrSet", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.j;
});
__webpack_require__.d(__webpack_exports__, "isDefined", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.l;
});
__webpack_require__.d(__webpack_exports__, "isRegex", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.m;
});
__webpack_require__.d(__webpack_exports__, "memoize", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.n;
});
__webpack_require__.d(__webpack_exports__, "memoizePromise", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.o;
});
__webpack_require__.d(__webpack_exports__, "noop", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.p;
});
__webpack_require__.d(__webpack_exports__, "once", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.q;
});
__webpack_require__.d(__webpack_exports__, "promisify", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.r;
});
__webpack_require__.d(__webpack_exports__, "replaceObject", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.s;
});
__webpack_require__.d(__webpack_exports__, "safeInterval", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.t;
});
__webpack_require__.d(__webpack_exports__, "stringify", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.u;
});
__webpack_require__.d(__webpack_exports__, "stringifyError", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.v;
});
__webpack_require__.d(__webpack_exports__, "uniqueID", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.w;
});
__webpack_require__.d(__webpack_exports__, "weakMapMemoize", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.x;
});
__webpack_require__.d(__webpack_exports__, "weakMapMemoizePromise", function() {
return __WEBPACK_IMPORTED_MODULE_5__util__.y;
});
__webpack_require__("./node_modules/belter/src/http.js");
var __WEBPACK_IMPORTED_MODULE_7__types__ = __webpack_require__("./node_modules/belter/src/types.js");
__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__types__);
__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_7__types__, "isPerc") && __webpack_require__.d(__webpack_exports__, "isPerc", function() {
return __WEBPACK_IMPORTED_MODULE_7__types__.isPerc;
});
__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_7__types__, "isPx") && __webpack_require__.d(__webpack_exports__, "isPx", function() {
return __WEBPACK_IMPORTED_MODULE_7__types__.isPx;
});
__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_7__types__, "memoized") && __webpack_require__.d(__webpack_exports__, "memoized", function() {
return __WEBPACK_IMPORTED_MODULE_7__types__.memoized;
});
__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_7__types__, "normalizeDimension") && __webpack_require__.d(__webpack_exports__, "normalizeDimension", function() {
return __WEBPACK_IMPORTED_MODULE_7__types__.normalizeDimension;
});
__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_7__types__, "toCSS") && __webpack_require__.d(__webpack_exports__, "toCSS", function() {
return __WEBPACK_IMPORTED_MODULE_7__types__.toCSS;
});
var __WEBPACK_IMPORTED_MODULE_8__decorators__ = __webpack_require__("./node_modules/belter/src/decorators.js");
__webpack_require__.d(__webpack_exports__, "memoized", function() {
return __WEBPACK_IMPORTED_MODULE_8__decorators__.a;
});
var __WEBPACK_IMPORTED_MODULE_9__css__ = __webpack_require__("./node_modules/belter/src/css.js");
__webpack_require__.d(__webpack_exports__, "isPerc", function() {
return __WEBPACK_IMPORTED_MODULE_9__css__.a;
});
__webpack_require__.d(__webpack_exports__, "isPx", function() {
return __WEBPACK_IMPORTED_MODULE_9__css__.b;
});
__webpack_require__.d(__webpack_exports__, "normalizeDimension", function() {
return __WEBPACK_IMPORTED_MODULE_9__css__.c;
});
__webpack_require__.d(__webpack_exports__, "toCSS", function() {
return __WEBPACK_IMPORTED_MODULE_9__css__.d;
});
__webpack_require__("./node_modules/belter/src/test.js");
},
"./node_modules/belter/src/storage.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function getStorage(_ref) {
var name = _ref.name, _ref$version = _ref.version, version = void 0 === _ref$version ? "latest" : _ref$version, _ref$lifetime = _ref.lifetime, lifetime = void 0 === _ref$lifetime ? 3e5 : _ref$lifetime;
return Object(__WEBPACK_IMPORTED_MODULE_0__util__.k)(getStorage, function() {
var STORAGE_KEY = "__" + name + "_" + version + "_storage__", accessedStorage = void 0;
function getState(handler) {
var localStorageEnabled = Object(__WEBPACK_IMPORTED_MODULE_1__dom__.n)(), storage = void 0;
accessedStorage && (storage = accessedStorage);
if (!storage && localStorageEnabled) {
var rawStorage = window.localStorage.getItem(STORAGE_KEY);
rawStorage && (storage = JSON.parse(rawStorage));
}
storage || (storage = Object(__WEBPACK_IMPORTED_MODULE_0__util__.i)()[STORAGE_KEY]);
storage || (storage = {
id: Object(__WEBPACK_IMPORTED_MODULE_0__util__.w)()
});
storage.id || (storage.id = Object(__WEBPACK_IMPORTED_MODULE_0__util__.w)());
accessedStorage = storage;
var result = handler(storage);
localStorageEnabled ? window.localStorage.setItem(STORAGE_KEY, JSON.stringify(storage)) : Object(__WEBPACK_IMPORTED_MODULE_0__util__.i)()[STORAGE_KEY] = storage;
accessedStorage = null;
return result;
}
function getSession(handler) {
return getState(function(storage) {
var session = storage.__session__, now = Date.now();
session && now - session.created > lifetime && (session = null);
session || (session = {
guid: Object(__WEBPACK_IMPORTED_MODULE_0__util__.w)(),
created: now
});
storage.__session__ = session;
return handler(session);
});
}
return {
getState: getState,
getID: function() {
return getState(function(storage) {
return storage.id;
});
},
getSessionState: function(handler) {
return getSession(function(session) {
session.state = session.state || {};
return handler(session.state);
});
},
getSessionID: function() {
return getSession(function(session) {
return session.guid;
});
}
};
}, [ {
name: name,
version: version,
lifetime: lifetime
} ]);
};
var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__("./node_modules/belter/src/util.js"), __WEBPACK_IMPORTED_MODULE_1__dom__ = __webpack_require__("./node_modules/belter/src/dom.js");
},
"./node_modules/belter/src/test.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__("./node_modules/zalgo-promise/src/index.js"), __webpack_require__("./node_modules/belter/src/util.js");
},
"./node_modules/belter/src/types.js": function(module, exports) {},
"./node_modules/belter/src/util.js": function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.b = base64encode;
__webpack_exports__.a = function(str) {
if ("undefined" != typeof window && "function" == typeof window.atob) return window.atob(str);
if ("undefined" != typeof Buffer) return Buffer.from(str, "base64").toString("utf8");
throw new Error("Can not find window.atob or Buffer");
};
__webpack_exports__.w = uniqueID;
__webpack_exports__.i = function() {
if ("undefined" != typeof window) return window;
if ("undefined" != typeof window) return window;
if ("undefined" != typeof global) return global;
throw new Error("No global found");
};
__webpack_exports__.n = function(method) {
var _this = this, options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, cacheMap = new __WEBPACK_IMPORTED_MODULE_1_cross_domain_safe_weakmap_src__.a();
function memoizedFunction() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
var cache = cacheMap.getOrSet(options.thisNamespace ? this : method, function() {
return {};
}), key = serializeArgs(args), cacheTime = options.time;
cache[key] && cacheTime && Date.now() - cache[key].time < cacheTime && delete cache[key];
if (cache[key]) return cache[key].value;
var time = Date.now(), value = method.apply(this, arguments);
cache[key] = {
time: time,
value: value
};
return cache[key].value;
}
memoizedFunction.reset = function() {
cacheMap.delete(options.thisNamespace ? _this : method);
};
options.name && (memoizedFunction.displayName = options.name + ":memoized");
return memoizedFunction;
};
__webpack_exports__.o = function(method) {
var cache = {};
function memoizedPromiseFunction() {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];
var key = serializeArgs(args);
if (cache.hasOwnProperty(key)) return cache[key];
cache[key] = method.apply(this, arguments).finally(function() {
delete cache[key];
});
return cache[key];
}
memoizedPromiseFunction.reset = function() {
cache = {};
};
return memoizedPromiseFunction;
};
__webpack_exports__.r = function(method) {
var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
function promisifiedFunction() {
return __WEBPACK_IMPORTED_MODULE_0_zalgo_promise_src__.a.try(method, this, arguments);
}
options.name && (promisifiedFunction.displayName = options.name + ":promisified");
return promisifiedFunction;
};
__webpack_exports__.k = function(method, logic) {
var args = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {}, key = serializeArgs(args);
return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);
};
__webpack_exports__.p = function() {};
__webpack_exports__.q = function(method) {
var called = !1;
return function() {
if (!called) {
called = !0;
return method.apply(this, arguments);
}
};
};
__webpack_exports__.v = function stringifyError(err) {
var level = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1;
if (level >= 3) return "stringifyError stack overflow";
try {
if (!err) return "<unknown error: " + Object.prototype.toString.call(err) + ">";
if ("string" == typeof err) return err;
if (err instanceof Error) {
var stack = err && err.stack, message = err && err.message;
if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + "\n" + stack;
if (stack) return stack;
if (message) return message;
}
return "function" == typeof err.toString ? err.toString() : Object.prototype.toString.call(err);
} catch (newErr) {
return "Error while stringifying error: " + stringifyError(newErr, level + 1);
}
};
__webpack_exports__.u = function(item) {
return "string" == typeof item ? item : item && "function" == typeof item.toString ? item.toString() : Object.prototype.toString.call(item);
};
__webpack_exports__.h = function(obj, source) {
if (!source) return obj;
if (Object.assign) return Object.assign(obj, source);
for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);
return obj;
};
__webpack_exports__.t = function(method, time) {
var timeout = void 0;
!function loop() {
timeout = setTimeout(function() {
method();
loop();
}, time);
}();
return {
cancel: function() {
clearTimeout(timeout);
}
};
};
__webpack_exports__.f = function dotify(obj) {
var prefix = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", newobj = arguments.leng