@monei-js/components 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -997,22 +997,22 @@ var globalConfig = {
997
997
  var stageConfig = {
998
998
  local: {
999
999
  paymentPageUrl: "http://localhost:8080/",
1000
- posPaymentPageUrl: "http://192.168.18.3:8080/",
1001
- cardInputUrl: "http://192.168.18.3:3001/" + version + "/inner-card-input/",
1002
- paymentModalUrl: "http://192.168.18.3:3002/" + version + "/inner-payment-modal/",
1003
- paypalUrl: "http://192.168.18.3:3003/" + version + "/inner-paypal/",
1004
- bizumUrl: "http://192.168.18.3:3004/" + version + "/inner-bizum/",
1005
- bizumButtonUrl: "http://192.168.18.3:3005/" + version + "/inner-bizum-button/",
1006
- googlePayUrl: "http://192.168.18.3:3006/" + version + "/inner-google-pay/",
1000
+ posPaymentPageUrl: "http://192.168.18.52:8080/",
1001
+ cardInputUrl: "http://192.168.18.52:3001/" + version + "/inner-card-input/",
1002
+ paymentModalUrl: "http://192.168.18.52:3002/" + version + "/inner-payment-modal/",
1003
+ paypalUrl: "http://192.168.18.52:3003/" + version + "/inner-paypal/",
1004
+ bizumUrl: "http://192.168.18.52:3004/" + version + "/inner-bizum/",
1005
+ bizumButtonUrl: "http://192.168.18.52:3005/" + version + "/inner-bizum-button/",
1006
+ googlePayUrl: "http://192.168.18.52:3006/" + version + "/inner-google-pay/",
1007
1007
  paymentRequestUrl: "https://monei-local.ngrok.io/" + version + "/inner-payment-request/",
1008
- click2PayUrl: "http://192.168.18.3:3008/inner-click2pay/",
1009
- click2PayButtonUrl: "http://192.168.18.3:3009/inner-click2pay-button/",
1010
- cofidisUrl: "http://192.168.18.3:3010/" + version + "/inner-cofidis/",
1011
- cofidisButtonUrl: "http://192.168.18.3:3011/" + version + "/inner-cofidis-button/",
1012
- cofidisWidgetUrl: "http://192.168.18.3:3012/" + version + "/inner-cofidis-widget/",
1013
- cofidisLoanUrl: "http://192.168.18.3:3013/" + version + "/inner-cofidis-loan/",
1014
- cofidisLoanButtonUrl: "http://192.168.18.3:3014/" + version + "/inner-cofidis-loan-button/",
1015
- cofidisLoanWidgetUrl: "http://192.168.18.3:3015/" + version + "/inner-cofidis-loan-widget/",
1008
+ click2PayUrl: "http://192.168.18.52:3008/inner-click2pay/",
1009
+ click2PayButtonUrl: "http://192.168.18.52:3009/inner-click2pay-button/",
1010
+ cofidisUrl: "http://192.168.18.52:3010/" + version + "/inner-cofidis/",
1011
+ cofidisButtonUrl: "http://192.168.18.52:3011/" + version + "/inner-cofidis-button/",
1012
+ cofidisWidgetUrl: "http://192.168.18.52:3012/" + version + "/inner-cofidis-widget/",
1013
+ cofidisLoanUrl: "http://192.168.18.52:3013/" + version + "/inner-cofidis-loan/",
1014
+ cofidisLoanButtonUrl: "http://192.168.18.52:3014/" + version + "/inner-cofidis-loan-button/",
1015
+ cofidisLoanWidgetUrl: "http://192.168.18.52:3015/" + version + "/inner-cofidis-loan-widget/",
1016
1016
  apiUrl: 'https://api.monei.com/v1',
1017
1017
  secureDomain: 'https://secure.monei.com'
1018
1018
  },
@@ -4157,7 +4157,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4157
4157
  });
4158
4158
 
4159
4159
  __webpack_require__.d(__webpack_exports__, "create", function () {
4160
- return create;
4160
+ return component_create;
4161
4161
  });
4162
4162
 
4163
4163
  __webpack_require__.d(__webpack_exports__, "destroy", function () {
@@ -4188,10 +4188,18 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4188
4188
  return EVENT;
4189
4189
  });
4190
4190
 
4191
+ function _setPrototypeOf(o, p) {
4192
+ return (_setPrototypeOf = Object.setPrototypeOf || function (o, p) {
4193
+ o.__proto__ = p;
4194
+ return o;
4195
+ })(o, p);
4196
+ }
4197
+
4191
4198
  function _inheritsLoose(subClass, superClass) {
4192
4199
  subClass.prototype = Object.create(superClass.prototype);
4193
4200
  subClass.prototype.constructor = subClass;
4194
- subClass.__proto__ = superClass;
4201
+
4202
+ _setPrototypeOf(subClass, superClass);
4195
4203
  }
4196
4204
 
4197
4205
  function _extends() {
@@ -4397,8 +4405,9 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4397
4405
  }
4398
4406
 
4399
4407
  if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {
4400
- _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);
4401
- _result2.errorHandled = !0;
4408
+ var promiseResult = _result2;
4409
+ promiseResult.resolved ? promise.resolve(promiseResult.value) : promise.reject(promiseResult.error);
4410
+ promiseResult.errorHandled = !0;
4402
4411
  } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);
4403
4412
  }
4404
4413
 
@@ -4457,6 +4466,11 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4457
4466
  return Promise.resolve(this);
4458
4467
  };
4459
4468
 
4469
+ _proto.lazy = function () {
4470
+ this.errorHandled = !0;
4471
+ return this;
4472
+ };
4473
+
4460
4474
  ZalgoPromise.resolve = function (value) {
4461
4475
  return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise(function (resolve, reject) {
4462
4476
  return value.then(resolve, reject);
@@ -4474,7 +4488,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4474
4488
  ZalgoPromise.all = function (promises) {
4475
4489
  var promise = new ZalgoPromise();
4476
4490
  var count = promises.length;
4477
- var results = [];
4491
+ var results = [].slice();
4478
4492
 
4479
4493
  if (!count) {
4480
4494
  promise.resolve(results);
@@ -4596,9 +4610,25 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4596
4610
  };
4597
4611
  var IE_WIN_ACCESS_ERROR = "Call was rejected by callee.\r\n";
4598
4612
 
4613
+ function getActualProtocol(win) {
4614
+ void 0 === win && (win = window);
4615
+ return win.location.protocol;
4616
+ }
4617
+
4618
+ function getProtocol(win) {
4619
+ void 0 === win && (win = window);
4620
+
4621
+ if (win.mockDomain) {
4622
+ var protocol = win.mockDomain.split("//")[0];
4623
+ if (protocol) return protocol;
4624
+ }
4625
+
4626
+ return getActualProtocol(win);
4627
+ }
4628
+
4599
4629
  function isAboutProtocol(win) {
4600
4630
  void 0 === win && (win = window);
4601
- return "about:" === win.location.protocol;
4631
+ return "about:" === getProtocol(win);
4602
4632
  }
4603
4633
 
4604
4634
  function utils_getParent(win) {
@@ -4627,7 +4657,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4627
4657
  void 0 === win && (win = window);
4628
4658
  var location = win.location;
4629
4659
  if (!location) throw new Error("Can not read window location");
4630
- var protocol = location.protocol;
4660
+ var protocol = getActualProtocol(win);
4631
4661
  if (!protocol) throw new Error("Can not read window protocol");
4632
4662
  if ("file:" === protocol) return "file://";
4633
4663
 
@@ -4662,6 +4692,13 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
4662
4692
  if (isAboutProtocol(win) && canReadFromWindow()) return !0;
4663
4693
  } catch (err) {}
4664
4694
 
4695
+ try {
4696
+ if (function (win) {
4697
+ void 0 === win && (win = window);
4698
+ return "mock:" === getProtocol(win);
4699
+ }(win) && canReadFromWindow()) return !0;
4700
+ } catch (err) {}
4701
+
4665
4702
  try {
4666
4703
  if (getActualDomain(win) === getActualDomain(window)) return !0;
4667
4704
  } catch (err) {}
@@ -5034,7 +5071,28 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5034
5071
  throw new Error("Mock urls not supported out of test mode");
5035
5072
  }
5036
5073
 
5074
+ function getFrameForWindow(win) {
5075
+ if (isSameDomain(win)) return assertSameDomain(win).frameElement;
5076
+
5077
+ for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll("iframe"); _i21 < _document$querySelect2.length; _i21++) {
5078
+ var frame = _document$querySelect2[_i21];
5079
+ if (frame && frame.contentWindow && frame.contentWindow === win) return frame;
5080
+ }
5081
+ }
5082
+
5037
5083
  function closeWindow(win) {
5084
+ if (function (win) {
5085
+ void 0 === win && (win = window);
5086
+ return Boolean(utils_getParent(win));
5087
+ }(win)) {
5088
+ var frame = getFrameForWindow(win);
5089
+
5090
+ if (frame && frame.parentElement) {
5091
+ frame.parentElement.removeChild(frame);
5092
+ return;
5093
+ }
5094
+ }
5095
+
5038
5096
  try {
5039
5097
  win.close();
5040
5098
  } catch (err) {}
@@ -5208,13 +5266,6 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5208
5266
  })(o);
5209
5267
  }
5210
5268
 
5211
- function _setPrototypeOf(o, p) {
5212
- return (_setPrototypeOf = Object.setPrototypeOf || function (o, p) {
5213
- o.__proto__ = p;
5214
- return o;
5215
- })(o, p);
5216
- }
5217
-
5218
5269
  function _isNativeReflectConstruct() {
5219
5270
  if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
5220
5271
  if (Reflect.construct.sham) return !1;
@@ -5268,6 +5319,16 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5268
5319
  })(Class);
5269
5320
  }
5270
5321
 
5322
+ function isElement(element) {
5323
+ var passed = !1;
5324
+
5325
+ try {
5326
+ (element instanceof window.Element || null !== element && "object" == typeof element && 1 === element.nodeType && "object" == typeof element.style && "object" == typeof element.ownerDocument) && (passed = !0);
5327
+ } catch (_) {}
5328
+
5329
+ return passed;
5330
+ }
5331
+
5271
5332
  function getFunctionName(fn) {
5272
5333
  return fn.name || fn.__name__ || fn.displayName || "anonymous";
5273
5334
  }
@@ -5285,14 +5346,14 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5285
5346
  function base64encode(str) {
5286
5347
  if ("function" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (m, p1) {
5287
5348
  return String.fromCharCode(parseInt(p1, 16));
5288
- }));
5289
- if ("undefined" != typeof Buffer) return Buffer.from(str, "utf8").toString("base64");
5349
+ })).replace(/[=]/g, "");
5350
+ if ("undefined" != typeof Buffer) return Buffer.from(str, "utf8").toString("base64").replace(/[=]/g, "");
5290
5351
  throw new Error("Can not find window.btoa or Buffer");
5291
5352
  }
5292
5353
 
5293
5354
  function uniqueID() {
5294
5355
  var chars = "0123456789abcdef";
5295
- return "xxxxxxxxxx".replace(/./g, function () {
5356
+ return "uid_" + "xxxxxxxxxx".replace(/./g, function () {
5296
5357
  return chars.charAt(Math.floor(Math.random() * chars.length));
5297
5358
  }) + "_" + base64encode(new Date().toISOString().slice(11, 19).replace("T", ".")).replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
5298
5359
  }
@@ -5313,7 +5374,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5313
5374
  }
5314
5375
 
5315
5376
  return uid;
5316
- }(val) + "]" : val;
5377
+ }(val) + "]" : isElement(val) ? {} : val;
5317
5378
  });
5318
5379
  } catch (err) {
5319
5380
  throw new Error("Arguments not serializable -- can not be used to memoize");
@@ -5351,7 +5412,14 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5351
5412
 
5352
5413
  var cache;
5353
5414
  cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap()).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};
5354
- var cacheKey = serializeArgs(args);
5415
+ var cacheKey;
5416
+
5417
+ try {
5418
+ cacheKey = serializeArgs(args);
5419
+ } catch (_unused) {
5420
+ return method.apply(this, arguments);
5421
+ }
5422
+
5355
5423
  var cacheResult = cache[cacheKey];
5356
5424
 
5357
5425
  if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {
@@ -5409,13 +5477,6 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5409
5477
  return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + "::promiseMemoized");
5410
5478
  }
5411
5479
 
5412
- function inlineMemoize(method, logic, args) {
5413
- void 0 === args && (args = []);
5414
- var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};
5415
- var key = serializeArgs(args);
5416
- return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);
5417
- }
5418
-
5419
5480
  function src_util_noop() {}
5420
5481
 
5421
5482
  function once(method) {
@@ -5495,6 +5556,12 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5495
5556
  };
5496
5557
  }
5497
5558
 
5559
+ function dasherizeToCamel(string) {
5560
+ return string.replace(/-([a-z])/g, function (g) {
5561
+ return g[1].toUpperCase();
5562
+ });
5563
+ }
5564
+
5498
5565
  function defineLazyProp(obj, key, getter) {
5499
5566
  if (Array.isArray(obj)) {
5500
5567
  if ("number" != typeof key) throw new TypeError("Array key must be number");
@@ -5598,11 +5665,11 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5598
5665
  var tasks = [];
5599
5666
  var cleaned = !1;
5600
5667
  var cleanErr;
5601
- return {
5668
+ var cleaner = {
5602
5669
  set: function set(name, item) {
5603
5670
  if (!cleaned) {
5604
5671
  obj[name] = item;
5605
- this.register(function () {
5672
+ cleaner.register(function () {
5606
5673
  delete obj[name];
5607
5674
  });
5608
5675
  }
@@ -5610,9 +5677,16 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5610
5677
  return item;
5611
5678
  },
5612
5679
  register: function register(method) {
5613
- cleaned ? method(cleanErr) : tasks.push(once(function () {
5680
+ var task = once(function () {
5614
5681
  return method(cleanErr);
5615
- }));
5682
+ });
5683
+ cleaned ? method(cleanErr) : tasks.push(task);
5684
+ return {
5685
+ cancel: function cancel() {
5686
+ var index = tasks.indexOf(task);
5687
+ -1 !== index && tasks.splice(index, 1);
5688
+ }
5689
+ };
5616
5690
  },
5617
5691
  all: function all(err) {
5618
5692
  cleanErr = err;
@@ -5627,6 +5701,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5627
5701
  return promise_ZalgoPromise.all(results).then(src_util_noop);
5628
5702
  }
5629
5703
  };
5704
+ return cleaner;
5630
5705
  }
5631
5706
 
5632
5707
  function assertExists(name, thing) {
@@ -5651,6 +5726,12 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5651
5726
  return ExtendableError;
5652
5727
  }(wrapNativeSuper_wrapNativeSuper(Error));
5653
5728
 
5729
+ function getBody() {
5730
+ var body = document.body;
5731
+ if (!body) throw new Error("Body element not found");
5732
+ return body;
5733
+ }
5734
+
5654
5735
  function isDocumentReady() {
5655
5736
  return Boolean(document.body) && "complete" === document.readyState;
5656
5737
  }
@@ -5660,7 +5741,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5660
5741
  }
5661
5742
 
5662
5743
  function urlEncode(str) {
5663
- return str.replace(/\?/g, "%3F").replace(/&/g, "%26").replace(/#/g, "%23").replace(/\+/g, "%2B");
5744
+ return encodeURIComponent(str);
5664
5745
  }
5665
5746
 
5666
5747
  memoize(function () {
@@ -5676,18 +5757,23 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5676
5757
  });
5677
5758
 
5678
5759
  function parseQuery(queryString) {
5679
- return inlineMemoize(parseQuery, function () {
5680
- var params = {};
5681
- if (!queryString) return params;
5682
- if (-1 === queryString.indexOf("=")) return params;
5683
-
5684
- for (var _i2 = 0, _queryString$split2 = queryString.split("&"); _i2 < _queryString$split2.length; _i2++) {
5685
- var pair = _queryString$split2[_i2];
5686
- (pair = pair.split("="))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));
5687
- }
5760
+ return function (method, logic, args) {
5761
+ void 0 === args && (args = []);
5762
+ var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};
5763
+ var key = serializeArgs(args);
5764
+ return cache.hasOwnProperty(key) ? cache[key] : cache[key] = function () {
5765
+ var params = {};
5766
+ if (!queryString) return params;
5767
+ if (-1 === queryString.indexOf("=")) return params;
5768
+
5769
+ for (var _i2 = 0, _queryString$split2 = queryString.split("&"); _i2 < _queryString$split2.length; _i2++) {
5770
+ var pair = _queryString$split2[_i2];
5771
+ (pair = pair.split("="))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));
5772
+ }
5688
5773
 
5689
- return params;
5690
- }, [queryString]);
5774
+ return params;
5775
+ }.apply(void 0, args);
5776
+ }(parseQuery, 0, [queryString]);
5691
5777
  }
5692
5778
 
5693
5779
  function extendQuery(originalQuery, props) {
@@ -5695,9 +5781,11 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5695
5781
  return props && Object.keys(props).length ? function (obj) {
5696
5782
  void 0 === obj && (obj = {});
5697
5783
  return Object.keys(obj).filter(function (key) {
5698
- return "string" == typeof obj[key];
5784
+ return "string" == typeof obj[key] || "boolean" == typeof obj[key];
5699
5785
  }).map(function (key) {
5700
- return urlEncode(key) + "=" + urlEncode(obj[key]);
5786
+ var val = obj[key];
5787
+ if ("string" != typeof val && "boolean" != typeof val) throw new TypeError("Invalid type for query");
5788
+ return urlEncode(key) + "=" + urlEncode(val.toString());
5701
5789
  }).join("&");
5702
5790
  }(_extends({}, parseQuery(originalQuery), props)) : originalQuery;
5703
5791
  }
@@ -5706,10 +5794,6 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5706
5794
  container.appendChild(child);
5707
5795
  }
5708
5796
 
5709
- function isElement(element) {
5710
- return element instanceof window.Element || null !== element && "object" == typeof element && 1 === element.nodeType && "object" == typeof element.style && "object" == typeof element.ownerDocument;
5711
- }
5712
-
5713
5797
  function getElementSafe(id, doc) {
5714
5798
  void 0 === doc && (doc = document);
5715
5799
  return isElement(id) ? id : "string" == typeof id ? doc.querySelector(id) : void 0;
@@ -5723,11 +5807,9 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5723
5807
  if (isDocumentReady()) return reject(new Error("Document is ready and element " + name + " does not exist"));
5724
5808
  var interval = setInterval(function () {
5725
5809
  if (el = getElementSafe(id)) {
5810
+ resolve(el);
5726
5811
  clearInterval(interval);
5727
- return resolve(el);
5728
- }
5729
-
5730
- if (isDocumentReady()) {
5812
+ } else if (isDocumentReady()) {
5731
5813
  clearInterval(interval);
5732
5814
  return reject(new Error("Document is ready and element " + name + " does not exist"));
5733
5815
  }
@@ -5977,7 +6059,26 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
5977
6059
  var uid = script.getAttribute("data-uid");
5978
6060
  if (uid && "string" == typeof uid) return uid;
5979
6061
  if ((uid = script.getAttribute("data-uid-auto")) && "string" == typeof uid) return uid;
5980
- uid = uniqueID();
6062
+
6063
+ if (script.src) {
6064
+ var hashedString = function (str) {
6065
+ var hash = "";
6066
+
6067
+ for (var i = 0; i < str.length; i++) {
6068
+ var total = str[i].charCodeAt(0) * i;
6069
+ str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));
6070
+ hash += String.fromCharCode(97 + Math.abs(total) % 26);
6071
+ }
6072
+
6073
+ return hash;
6074
+ }(JSON.stringify({
6075
+ src: script.src,
6076
+ dataset: script.dataset
6077
+ }));
6078
+
6079
+ uid = "uid_" + hashedString.slice(hashedString.length - 30);
6080
+ } else uid = uniqueID();
6081
+
5981
6082
  script.setAttribute("data-uid-auto", uid);
5982
6083
  return uid;
5983
6084
  });
@@ -6011,7 +6112,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6011
6112
 
6012
6113
  function global_getGlobal(win) {
6013
6114
  void 0 === win && (win = window);
6014
- var globalKey = "__post_robot_10_0_42__";
6115
+ var globalKey = "__post_robot_11_0_0__";
6015
6116
  return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};
6016
6117
  }
6017
6118
 
@@ -6198,6 +6299,8 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6198
6299
  return val;
6199
6300
  }, _SERIALIZER["null"] = function (val) {
6200
6301
  return val;
6302
+ }, _SERIALIZER[void 0] = function (val) {
6303
+ return serializeType("undefined", val);
6201
6304
  }, _SERIALIZER);
6202
6305
  var defaultSerializers = {};
6203
6306
 
@@ -6232,7 +6335,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6232
6335
  return val;
6233
6336
  }, _DESERIALIZER["null"] = function (val) {
6234
6337
  return val;
6235
- }, _DESERIALIZER);
6338
+ }, _DESERIALIZER[void 0] = function () {}, _DESERIALIZER);
6236
6339
  var defaultDeserializers = {};
6237
6340
 
6238
6341
  function needsBridgeForBrowser() {
@@ -6570,6 +6673,13 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6570
6673
  });
6571
6674
  windowNamePromise["catch"](src_util_noop);
6572
6675
  windowTypePromise["catch"](src_util_noop);
6676
+
6677
+ var getName = function getName() {
6678
+ return winPromise.then(function (win) {
6679
+ if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;
6680
+ });
6681
+ };
6682
+
6573
6683
  return {
6574
6684
  id: id,
6575
6685
  getType: function getType() {
@@ -6585,11 +6695,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6585
6695
  close: function close() {
6586
6696
  return winPromise.then(closeWindow);
6587
6697
  },
6588
- getName: function getName() {
6589
- return winPromise.then(function (win) {
6590
- if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;
6591
- });
6592
- },
6698
+ getName: getName,
6593
6699
  focus: function focus() {
6594
6700
  return winPromise.then(function (win) {
6595
6701
  win.focus();
@@ -6600,10 +6706,47 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6600
6706
  return isWindowClosed(win);
6601
6707
  });
6602
6708
  },
6603
- setLocation: function setLocation(href) {
6709
+ setLocation: function setLocation(href, opts) {
6710
+ void 0 === opts && (opts = {});
6604
6711
  return winPromise.then(function (win) {
6605
6712
  var domain = window.location.protocol + "//" + window.location.host;
6713
+ var _opts$method = opts.method,
6714
+ method = void 0 === _opts$method ? "get" : _opts$method,
6715
+ body = opts.body;
6606
6716
  if (0 === href.indexOf("/")) href = "" + domain + href;else if (!href.match(/^https?:\/\//) && 0 !== href.indexOf(domain)) throw new Error("Expected url to be http or https url, or absolute path, got " + JSON.stringify(href));
6717
+ if ("post" === method) return getName().then(function (name) {
6718
+ if (!name) throw new Error("Can not post to window without target name");
6719
+ !function (_ref3) {
6720
+ var url = _ref3.url,
6721
+ target = _ref3.target,
6722
+ body = _ref3.body,
6723
+ _ref3$method = _ref3.method,
6724
+ method = void 0 === _ref3$method ? "post" : _ref3$method;
6725
+ var form = document.createElement("form");
6726
+ form.setAttribute("target", target);
6727
+ form.setAttribute("method", method);
6728
+ form.setAttribute("action", url);
6729
+ form.style.display = "none";
6730
+ if (body) for (var _i24 = 0, _Object$keys4 = Object.keys(body); _i24 < _Object$keys4.length; _i24++) {
6731
+ var _body$key;
6732
+
6733
+ var key = _Object$keys4[_i24];
6734
+ var input = document.createElement("input");
6735
+ input.setAttribute("name", key);
6736
+ input.setAttribute("value", null == (_body$key = body[key]) ? void 0 : _body$key.toString());
6737
+ form.appendChild(input);
6738
+ }
6739
+ getBody().appendChild(form);
6740
+ form.submit();
6741
+ getBody().removeChild(form);
6742
+ }({
6743
+ url: href,
6744
+ target: name,
6745
+ method: method,
6746
+ body: body
6747
+ });
6748
+ });
6749
+ if ("get" !== method) throw new Error("Unsupported method: " + method);
6607
6750
  if (isSameDomain(win)) try {
6608
6751
  if (win.location && "function" == typeof win.location.replace) {
6609
6752
  win.location.replace(href);
@@ -6620,16 +6763,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6620
6763
  name: name
6621
6764
  });
6622
6765
  var sameDomain = isSameDomain(win);
6623
-
6624
- var frame = function (win) {
6625
- if (isSameDomain(win)) return assertSameDomain(win).frameElement;
6626
-
6627
- for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll("iframe"); _i21 < _document$querySelect2.length; _i21++) {
6628
- var frame = _document$querySelect2[_i21];
6629
- if (frame && frame.contentWindow && frame.contentWindow === win) return frame;
6630
- }
6631
- }(win);
6632
-
6766
+ var frame = getFrameForWindow(win);
6633
6767
  if (!sameDomain) throw new Error("Can not set name for cross-domain window: " + name);
6634
6768
  assertSameDomain(win).name = name;
6635
6769
  frame && frame.setAttribute("name", name);
@@ -6677,10 +6811,10 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6677
6811
  });
6678
6812
  };
6679
6813
 
6680
- _proto.setLocation = function (href) {
6814
+ _proto.setLocation = function (href, opts) {
6681
6815
  var _this = this;
6682
6816
 
6683
- return this.serializedWindow.setLocation(href).then(function () {
6817
+ return this.serializedWindow.setLocation(href, opts).then(function () {
6684
6818
  return _this;
6685
6819
  });
6686
6820
  };
@@ -6715,7 +6849,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
6715
6849
  name: getNamePromise
6716
6850
  }).then(function (_ref3) {
6717
6851
  var name = _ref3.name;
6718
- _ref3.isPopup && name && window.open("", name);
6852
+ _ref3.isPopup && name && window.open("", name, "noopener");
6719
6853
  });
6720
6854
  var focusPromise = this.serializedWindow.focus();
6721
6855
  return promise_ZalgoPromise.all([reopenPromise, focusPromise]).then(function () {
@@ -7103,7 +7237,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7103
7237
  domainBuffer.buffer.push(message);
7104
7238
  domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then(function () {
7105
7239
  if (isWindowClosed(win)) throw new Error("Window is closed");
7106
- var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_42__ = domainBuffer.buffer || [], _ref), {
7240
+ var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_11_0_0__ = domainBuffer.buffer || [], _ref), {
7107
7241
  on: on,
7108
7242
  send: send
7109
7243
  });
@@ -7181,103 +7315,6 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7181
7315
  }
7182
7316
  }
7183
7317
 
7184
- function handleRequest(source, origin, message, _ref) {
7185
- var on = _ref.on,
7186
- send = _ref.send;
7187
- var options = getRequestListener({
7188
- name: message.name,
7189
- win: source,
7190
- domain: origin
7191
- });
7192
- var logName = "postrobot_method" === message.name && message.data && "string" == typeof message.data.name ? message.data.name + "()" : message.name;
7193
-
7194
- function sendResponse(ack, data, error) {
7195
- return promise_ZalgoPromise.flush().then(function () {
7196
- if (!message.fireAndForget && !isWindowClosed(source)) try {
7197
- return send_sendMessage(source, origin, {
7198
- id: uniqueID(),
7199
- origin: getDomain(window),
7200
- type: "postrobot_message_response",
7201
- hash: message.hash,
7202
- name: message.name,
7203
- ack: ack,
7204
- data: data,
7205
- error: error
7206
- }, {
7207
- on: on,
7208
- send: send
7209
- });
7210
- } catch (err) {
7211
- throw new Error("Send response message failed for " + logName + " in " + getDomain() + "\n\n" + stringifyError(err));
7212
- }
7213
- });
7214
- }
7215
-
7216
- return promise_ZalgoPromise.all([promise_ZalgoPromise.flush().then(function () {
7217
- if (!message.fireAndForget && !isWindowClosed(source)) try {
7218
- return send_sendMessage(source, origin, {
7219
- id: uniqueID(),
7220
- origin: getDomain(window),
7221
- type: "postrobot_message_ack",
7222
- hash: message.hash,
7223
- name: message.name
7224
- }, {
7225
- on: on,
7226
- send: send
7227
- });
7228
- } catch (err) {
7229
- throw new Error("Send ack message failed for " + logName + " in " + getDomain() + "\n\n" + stringifyError(err));
7230
- }
7231
- }), promise_ZalgoPromise["try"](function () {
7232
- if (!options) throw new Error("No handler found for post message: " + message.name + " from " + origin + " in " + window.location.protocol + "//" + window.location.host + window.location.pathname);
7233
- if (!matchDomain(options.domain, origin)) throw new Error("Request origin " + origin + " does not match domain " + options.domain.toString());
7234
- return options.handler({
7235
- source: source,
7236
- origin: origin,
7237
- data: message.data
7238
- });
7239
- }).then(function (data) {
7240
- return sendResponse("success", data);
7241
- }, function (error) {
7242
- return sendResponse("error", null, error);
7243
- })]).then(src_util_noop)["catch"](function (err) {
7244
- if (options && options.handleError) return options.handleError(err);
7245
- throw err;
7246
- });
7247
- }
7248
-
7249
- function handleAck(source, origin, message) {
7250
- if (!isResponseListenerErrored(message.hash)) {
7251
- var options = getResponseListener(message.hash);
7252
- if (!options) throw new Error("No handler found for post message ack for message: " + message.name + " from " + origin + " in " + window.location.protocol + "//" + window.location.host + window.location.pathname);
7253
-
7254
- try {
7255
- if (!matchDomain(options.domain, origin)) throw new Error("Ack origin " + origin + " does not match domain " + options.domain.toString());
7256
- if (source !== options.win) throw new Error("Ack source does not match registered window");
7257
- } catch (err) {
7258
- options.promise.reject(err);
7259
- }
7260
-
7261
- options.ack = !0;
7262
- }
7263
- }
7264
-
7265
- function handleResponse(source, origin, message) {
7266
- if (!isResponseListenerErrored(message.hash)) {
7267
- var options = getResponseListener(message.hash);
7268
- if (!options) throw new Error("No handler found for post message response for message: " + message.name + " from " + origin + " in " + window.location.protocol + "//" + window.location.host + window.location.pathname);
7269
- if (!matchDomain(options.domain, origin)) throw new Error("Response origin " + origin + " does not match domain " + (pattern = options.domain, Array.isArray(pattern) ? "(" + pattern.join(" | ") + ")" : isRegex(pattern) ? "RegExp(" + pattern.toString() : pattern.toString()));
7270
- var pattern;
7271
- if (source !== options.win) throw new Error("Response source does not match registered window");
7272
- deleteResponseListener(message.hash);
7273
- "error" === message.ack ? options.promise.reject(message.error) : "success" === message.ack && options.promise.resolve({
7274
- source: source,
7275
- origin: origin,
7276
- data: message.data
7277
- });
7278
- }
7279
- }
7280
-
7281
7318
  function receive_receiveMessage(event, _ref2) {
7282
7319
  var on = _ref2.on,
7283
7320
  send = _ref2.send;
@@ -7307,7 +7344,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7307
7344
  }
7308
7345
 
7309
7346
  if (parsedMessage && "object" == typeof parsedMessage && null !== parsedMessage) {
7310
- var parseMessages = parsedMessage.__post_robot_10_0_42__;
7347
+ var parseMessages = parsedMessage.__post_robot_11_0_0__;
7311
7348
  if (Array.isArray(parseMessages)) return parseMessages;
7312
7349
  }
7313
7350
  }(event.data, source, origin, {
@@ -7318,23 +7355,123 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7318
7355
  if (messages) {
7319
7356
  markWindowKnown(source);
7320
7357
 
7321
- for (var _i2 = 0; _i2 < messages.length; _i2++) {
7358
+ var _loop = function _loop() {
7322
7359
  var message = messages[_i2];
7323
- if (receivedMessages.has(message.id)) return;
7360
+ if (receivedMessages.has(message.id)) return {
7361
+ v: void 0
7362
+ };
7324
7363
  receivedMessages.set(message.id, !0);
7325
- if (isWindowClosed(source) && !message.fireAndForget) return;
7364
+ if (isWindowClosed(source) && !message.fireAndForget) return {
7365
+ v: void 0
7366
+ };
7326
7367
  0 === message.origin.indexOf("file:") && (origin = "file://");
7327
7368
 
7328
7369
  try {
7329
- "postrobot_message_request" === message.type ? handleRequest(source, origin, message, {
7330
- on: on,
7331
- send: send
7332
- }) : "postrobot_message_response" === message.type ? handleResponse(source, origin, message) : "postrobot_message_ack" === message.type && handleAck(source, origin, message);
7333
- } catch (err) {
7334
- setTimeout(function () {
7370
+ "postrobot_message_request" === message.type ? function (source, origin, message, _ref) {
7371
+ var on = _ref.on,
7372
+ send = _ref.send;
7373
+ var options = getRequestListener({
7374
+ name: message.name,
7375
+ win: source,
7376
+ domain: origin
7377
+ });
7378
+ var logName = "postrobot_method" === message.name && message.data && "string" == typeof message.data.name ? message.data.name + "()" : message.name;
7379
+
7380
+ function sendResponse(ack, data, error) {
7381
+ return promise_ZalgoPromise.flush().then(function () {
7382
+ if (!message.fireAndForget && !isWindowClosed(source)) try {
7383
+ return send_sendMessage(source, origin, {
7384
+ id: uniqueID(),
7385
+ origin: getDomain(window),
7386
+ type: "postrobot_message_response",
7387
+ hash: message.hash,
7388
+ name: message.name,
7389
+ ack: ack,
7390
+ data: data,
7391
+ error: error
7392
+ }, {
7393
+ on: on,
7394
+ send: send
7395
+ });
7396
+ } catch (err) {
7397
+ throw new Error("Send response message failed for " + logName + " in " + getDomain() + "\n\n" + stringifyError(err));
7398
+ }
7399
+ });
7400
+ }
7401
+
7402
+ promise_ZalgoPromise.all([promise_ZalgoPromise.flush().then(function () {
7403
+ if (!message.fireAndForget && !isWindowClosed(source)) try {
7404
+ return send_sendMessage(source, origin, {
7405
+ id: uniqueID(),
7406
+ origin: getDomain(window),
7407
+ type: "postrobot_message_ack",
7408
+ hash: message.hash,
7409
+ name: message.name
7410
+ }, {
7411
+ on: on,
7412
+ send: send
7413
+ });
7414
+ } catch (err) {
7415
+ throw new Error("Send ack message failed for " + logName + " in " + getDomain() + "\n\n" + stringifyError(err));
7416
+ }
7417
+ }), promise_ZalgoPromise["try"](function () {
7418
+ if (!options) throw new Error("No handler found for post message: " + message.name + " from " + origin + " in " + window.location.protocol + "//" + window.location.host + window.location.pathname);
7419
+ return options.handler({
7420
+ source: source,
7421
+ origin: origin,
7422
+ data: message.data
7423
+ });
7424
+ }).then(function (data) {
7425
+ return sendResponse("success", data);
7426
+ }, function (error) {
7427
+ return sendResponse("error", null, error);
7428
+ })]).then(src_util_noop)["catch"](function (err) {
7429
+ if (options && options.handleError) return options.handleError(err);
7430
+ throw err;
7431
+ });
7432
+ }(source, origin, message, {
7433
+ on: on,
7434
+ send: send
7435
+ }) : "postrobot_message_response" === message.type ? function (source, origin, message) {
7436
+ if (!isResponseListenerErrored(message.hash)) {
7437
+ var options = getResponseListener(message.hash);
7438
+ if (!options) throw new Error("No handler found for post message response for message: " + message.name + " from " + origin + " in " + window.location.protocol + "//" + window.location.host + window.location.pathname);
7439
+ if (!matchDomain(options.domain, origin)) throw new Error("Response origin " + origin + " does not match domain " + (pattern = options.domain, Array.isArray(pattern) ? "(" + pattern.join(" | ") + ")" : isRegex(pattern) ? "RegExp(" + pattern.toString() + ")" : pattern.toString()));
7440
+ var pattern;
7441
+ if (source !== options.win) throw new Error("Response source does not match registered window");
7442
+ deleteResponseListener(message.hash);
7443
+ "error" === message.ack ? options.promise.reject(message.error) : "success" === message.ack && options.promise.resolve({
7444
+ source: source,
7445
+ origin: origin,
7446
+ data: message.data
7447
+ });
7448
+ }
7449
+ }(source, origin, message) : "postrobot_message_ack" === message.type && function (source, origin, message) {
7450
+ if (!isResponseListenerErrored(message.hash)) {
7451
+ var options = getResponseListener(message.hash);
7452
+ if (!options) throw new Error("No handler found for post message ack for message: " + message.name + " from " + origin + " in " + window.location.protocol + "//" + window.location.host + window.location.pathname);
7453
+
7454
+ try {
7455
+ if (!matchDomain(options.domain, origin)) throw new Error("Ack origin " + origin + " does not match domain " + options.domain.toString());
7456
+ if (source !== options.win) throw new Error("Ack source does not match registered window");
7457
+ } catch (err) {
7458
+ options.promise.reject(err);
7459
+ }
7460
+
7461
+ options.ack = !0;
7462
+ }
7463
+ }(source, origin, message);
7464
+ } catch (err) {
7465
+ setTimeout(function () {
7335
7466
  throw err;
7336
7467
  }, 0);
7337
7468
  }
7469
+ };
7470
+
7471
+ for (var _i2 = 0; _i2 < messages.length; _i2++) {
7472
+ var _ret = _loop();
7473
+
7474
+ if ("object" == typeof _ret) return _ret.v;
7338
7475
  }
7339
7476
  }
7340
7477
  }
@@ -7348,18 +7485,33 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7348
7485
  }
7349
7486
 
7350
7487
  if (!handler) throw new Error("Expected handler");
7351
- (options = options || {}).name = name;
7352
- options.handler = handler || options.handler;
7353
- var win = options.window;
7354
- var domain = options.domain;
7355
7488
 
7356
7489
  var requestListener = function addRequestListener(_ref4, listener) {
7357
7490
  var name = _ref4.name,
7358
- win = _ref4.win,
7491
+ winCandidate = _ref4.win,
7359
7492
  domain = _ref4.domain;
7360
7493
  var requestListeners = windowStore("requestListeners");
7361
7494
  if (!name || "string" != typeof name) throw new Error("Name required to add request listener");
7362
7495
 
7496
+ if (winCandidate && "*" !== winCandidate && window_ProxyWindow.isProxyWindow(winCandidate)) {
7497
+ var requestListenerPromise = winCandidate.awaitWindow().then(function (actualWin) {
7498
+ return addRequestListener({
7499
+ name: name,
7500
+ win: actualWin,
7501
+ domain: domain
7502
+ }, listener);
7503
+ });
7504
+ return {
7505
+ cancel: function cancel() {
7506
+ requestListenerPromise.then(function (requestListener) {
7507
+ return requestListener.cancel();
7508
+ }, src_util_noop);
7509
+ }
7510
+ };
7511
+ }
7512
+
7513
+ var win = winCandidate;
7514
+
7363
7515
  if (Array.isArray(win)) {
7364
7516
  var listenersCollection = [];
7365
7517
 
@@ -7406,48 +7558,44 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7406
7558
  domain: domain
7407
7559
  });
7408
7560
  win && "*" !== win || (win = getWildcard());
7409
- domain = domain || "*";
7561
+ var strDomain = (domain = domain || "*").toString();
7410
7562
  if (existingListener) throw win && domain ? new Error("Request listener already exists for " + name + " on domain " + domain.toString() + " for " + (win === getWildcard() ? "wildcard" : "specified") + " window") : win ? new Error("Request listener already exists for " + name + " for " + (win === getWildcard() ? "wildcard" : "specified") + " window") : domain ? new Error("Request listener already exists for " + name + " on domain " + domain.toString()) : new Error("Request listener already exists for " + name);
7411
- var nameListeners = requestListeners.getOrSet(win, function () {
7563
+ var winNameListeners = requestListeners.getOrSet(win, function () {
7412
7564
  return {};
7413
7565
  });
7414
- var domainListeners = util_getOrSet(nameListeners, name, function () {
7566
+ var winNameDomainListeners = util_getOrSet(winNameListeners, name, function () {
7415
7567
  return {};
7416
7568
  });
7417
- var strDomain = domain.toString();
7418
- var regexListeners;
7419
- var regexListener;
7420
- util_isRegex(domain) ? (regexListeners = util_getOrSet(domainListeners, "__domain_regex__", function () {
7569
+ var winNameDomainRegexListeners;
7570
+ var winNameDomainRegexListener;
7571
+ util_isRegex(domain) ? (winNameDomainRegexListeners = util_getOrSet(winNameDomainListeners, "__domain_regex__", function () {
7421
7572
  return [];
7422
- })).push(regexListener = {
7573
+ })).push(winNameDomainRegexListener = {
7423
7574
  regex: domain,
7424
7575
  listener: listener
7425
- }) : domainListeners[strDomain] = listener;
7576
+ }) : winNameDomainListeners[strDomain] = listener;
7426
7577
  return {
7427
7578
  cancel: function cancel() {
7428
- delete domainListeners[strDomain];
7579
+ delete winNameDomainListeners[strDomain];
7429
7580
 
7430
- if (regexListener) {
7431
- regexListeners.splice(regexListeners.indexOf(regexListener, 1));
7432
- regexListeners.length || delete domainListeners.__domain_regex__;
7581
+ if (winNameDomainRegexListener) {
7582
+ winNameDomainRegexListeners.splice(winNameDomainRegexListeners.indexOf(winNameDomainRegexListener, 1));
7583
+ winNameDomainRegexListeners.length || delete winNameDomainListeners.__domain_regex__;
7433
7584
  }
7434
7585
 
7435
- Object.keys(domainListeners).length || delete nameListeners[name];
7436
- win && !Object.keys(nameListeners).length && requestListeners.del(win);
7586
+ Object.keys(winNameDomainListeners).length || delete winNameListeners[name];
7587
+ win && !Object.keys(winNameListeners).length && requestListeners.del(win);
7437
7588
  }
7438
7589
  };
7439
7590
  }({
7440
7591
  name: name,
7441
- win: win,
7442
- domain: domain
7592
+ win: options.window,
7593
+ domain: options.domain || "*"
7443
7594
  }, {
7444
- handler: options.handler,
7595
+ handler: handler || options.handler,
7445
7596
  handleError: options.errorHandler || function (err) {
7446
7597
  throw err;
7447
- },
7448
- window: win,
7449
- domain: domain || "*",
7450
- name: name
7598
+ }
7451
7599
  });
7452
7600
 
7453
7601
  return {
@@ -7457,125 +7605,115 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7457
7605
  };
7458
7606
  }
7459
7607
 
7460
- var send_send = function send(win, name, data, options) {
7608
+ var send_send = function send(winOrProxyWin, name, data, options) {
7461
7609
  var domainMatcher = (options = options || {}).domain || "*";
7462
7610
  var responseTimeout = options.timeout || -1;
7463
7611
  var childTimeout = options.timeout || 5e3;
7464
7612
  var fireAndForget = options.fireAndForget || !1;
7465
- return promise_ZalgoPromise["try"](function () {
7466
- !function (name, win, domain) {
7467
- if (!name) throw new Error("Expected name");
7468
- if (domain && "string" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError("Can not send " + name + ". Expected domain " + JSON.stringify(domain) + " to be a string, array, or regex");
7469
- if (isWindowClosed(win)) throw new Error("Can not send " + name + ". Target window is closed");
7470
- }(name, win, domainMatcher);
7471
- if (function (parent, child) {
7472
- var actualParent = getAncestor(child);
7473
- if (actualParent) return actualParent === parent;
7474
- if (child === parent) return !1;
7475
- if (getTop(child) === child) return !1;
7476
-
7477
- for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) {
7478
- if (_getFrames8[_i15] === child) return !0;
7479
- }
7613
+ return window_ProxyWindow.toProxyWindow(winOrProxyWin, {
7614
+ send: send
7615
+ }).awaitWindow().then(function (win) {
7616
+ return promise_ZalgoPromise["try"](function () {
7617
+ !function (name, win, domain) {
7618
+ if (!name) throw new Error("Expected name");
7619
+ if (domain && "string" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError("Can not send " + name + ". Expected domain " + JSON.stringify(domain) + " to be a string, array, or regex");
7620
+ if (isWindowClosed(win)) throw new Error("Can not send " + name + ". Target window is closed");
7621
+ }(name, win, domainMatcher);
7622
+ if (function (parent, child) {
7623
+ var actualParent = getAncestor(child);
7624
+ if (actualParent) return actualParent === parent;
7625
+ if (child === parent) return !1;
7626
+ if (getTop(child) === child) return !1;
7627
+
7628
+ for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) {
7629
+ if (_getFrames8[_i15] === child) return !0;
7630
+ }
7480
7631
 
7481
- return !1;
7482
- }(window, win)) return awaitWindowHello(win, childTimeout);
7483
- }).then(function (_temp) {
7484
- return function (win, targetDomain, actualDomain, _ref) {
7485
- var send = _ref.send;
7486
- return promise_ZalgoPromise["try"](function () {
7487
- return "string" == typeof targetDomain ? targetDomain : promise_ZalgoPromise["try"](function () {
7488
- return actualDomain || sayHello(win, {
7489
- send: send
7490
- }).then(function (_ref2) {
7491
- return _ref2.domain;
7632
+ return !1;
7633
+ }(window, win)) return awaitWindowHello(win, childTimeout);
7634
+ }).then(function (_temp) {
7635
+ return function (win, targetDomain, actualDomain, _ref) {
7636
+ var send = _ref.send;
7637
+ return promise_ZalgoPromise["try"](function () {
7638
+ return "string" == typeof targetDomain ? targetDomain : promise_ZalgoPromise["try"](function () {
7639
+ return actualDomain || sayHello(win, {
7640
+ send: send
7641
+ }).then(function (_ref2) {
7642
+ return _ref2.domain;
7643
+ });
7644
+ }).then(function (normalizedDomain) {
7645
+ if (!matchDomain(targetDomain, targetDomain)) throw new Error("Domain " + stringify(targetDomain) + " does not match " + stringify(targetDomain));
7646
+ return normalizedDomain;
7492
7647
  });
7493
- }).then(function (normalizedDomain) {
7494
- if (!matchDomain(targetDomain, targetDomain)) throw new Error("Domain " + stringify(targetDomain) + " does not match " + stringify(targetDomain));
7495
- return normalizedDomain;
7496
7648
  });
7649
+ }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {
7650
+ send: send
7497
7651
  });
7498
- }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {
7499
- send: send
7500
- });
7501
- }).then(function (targetDomain) {
7502
- var domain = targetDomain;
7503
- var logName = "postrobot_method" === name && data && "string" == typeof data.name ? data.name + "()" : name;
7504
- var promise = new promise_ZalgoPromise();
7505
- var hash = name + "_" + uniqueID();
7652
+ }).then(function (targetDomain) {
7653
+ var domain = targetDomain;
7654
+ var logName = "postrobot_method" === name && data && "string" == typeof data.name ? data.name + "()" : name;
7655
+ var promise = new promise_ZalgoPromise();
7656
+ var hash = name + "_" + uniqueID();
7657
+
7658
+ if (!fireAndForget) {
7659
+ var responseListener = {
7660
+ name: name,
7661
+ win: win,
7662
+ domain: domain,
7663
+ promise: promise
7664
+ };
7665
+ !function (hash, listener) {
7666
+ globalStore("responseListeners").set(hash, listener);
7667
+ }(hash, responseListener);
7668
+ var reqPromises = windowStore("requestPromises").getOrSet(win, function () {
7669
+ return [];
7670
+ });
7671
+ reqPromises.push(promise);
7672
+ promise["catch"](function () {
7673
+ !function (hash) {
7674
+ globalStore("erroredResponseListeners").set(hash, !0);
7675
+ }(hash);
7676
+ deleteResponseListener(hash);
7677
+ });
7678
+ var totalAckTimeout = function (win) {
7679
+ return windowStore("knownWindows").get(win, !1);
7680
+ }(win) ? 1e4 : 2e3;
7681
+ var totalResTimeout = responseTimeout;
7682
+ var ackTimeout = totalAckTimeout;
7683
+ var resTimeout = totalResTimeout;
7684
+ var interval = safeInterval(function () {
7685
+ if (isWindowClosed(win)) return promise.reject(new Error("Window closed for " + name + " before " + (responseListener.ack ? "response" : "ack")));
7686
+ if (responseListener.cancelled) return promise.reject(new Error("Response listener was cancelled for " + name));
7687
+ ackTimeout = Math.max(ackTimeout - 500, 0);
7688
+ -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));
7689
+ return responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout ? promise.reject(new Error("No response for postMessage " + logName + " in " + getDomain() + " in " + totalResTimeout + "ms")) : void 0 : promise.reject(new Error("No ack for postMessage " + logName + " in " + getDomain() + " in " + totalAckTimeout + "ms"));
7690
+ }, 500);
7691
+ promise["finally"](function () {
7692
+ interval.cancel();
7693
+ reqPromises.splice(reqPromises.indexOf(promise, 1));
7694
+ })["catch"](src_util_noop);
7695
+ }
7506
7696
 
7507
- if (!fireAndForget) {
7508
- var responseListener = {
7697
+ return send_sendMessage(win, domain, {
7698
+ id: uniqueID(),
7699
+ origin: getDomain(window),
7700
+ type: "postrobot_message_request",
7701
+ hash: hash,
7509
7702
  name: name,
7510
- win: win,
7511
- domain: domain,
7512
- promise: promise
7513
- };
7514
- !function (hash, listener) {
7515
- globalStore("responseListeners").set(hash, listener);
7516
- }(hash, responseListener);
7517
- var reqPromises = windowStore("requestPromises").getOrSet(win, function () {
7518
- return [];
7519
- });
7520
- reqPromises.push(promise);
7521
- promise["catch"](function () {
7522
- !function (hash) {
7523
- globalStore("erroredResponseListeners").set(hash, !0);
7524
- }(hash);
7525
- deleteResponseListener(hash);
7703
+ data: data,
7704
+ fireAndForget: fireAndForget
7705
+ }, {
7706
+ on: on_on,
7707
+ send: send
7708
+ }).then(function () {
7709
+ return fireAndForget ? promise.resolve() : promise;
7710
+ }, function (err) {
7711
+ throw new Error("Send request message failed for " + logName + " in " + getDomain() + "\n\n" + stringifyError(err));
7526
7712
  });
7527
- var totalAckTimeout = function (win) {
7528
- return windowStore("knownWindows").get(win, !1);
7529
- }(win) ? 1e4 : 2e3;
7530
- var totalResTimeout = responseTimeout;
7531
- var ackTimeout = totalAckTimeout;
7532
- var resTimeout = totalResTimeout;
7533
- var interval = safeInterval(function () {
7534
- if (isWindowClosed(win)) return promise.reject(new Error("Window closed for " + name + " before " + (responseListener.ack ? "response" : "ack")));
7535
- if (responseListener.cancelled) return promise.reject(new Error("Response listener was cancelled for " + name));
7536
- ackTimeout = Math.max(ackTimeout - 500, 0);
7537
- -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));
7538
- return responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout ? promise.reject(new Error("No response for postMessage " + logName + " in " + getDomain() + " in " + totalResTimeout + "ms")) : void 0 : promise.reject(new Error("No ack for postMessage " + logName + " in " + getDomain() + " in " + totalAckTimeout + "ms"));
7539
- }, 500);
7540
- promise["finally"](function () {
7541
- interval.cancel();
7542
- reqPromises.splice(reqPromises.indexOf(promise, 1));
7543
- })["catch"](src_util_noop);
7544
- }
7545
-
7546
- return send_sendMessage(win, domain, {
7547
- id: uniqueID(),
7548
- origin: getDomain(window),
7549
- type: "postrobot_message_request",
7550
- hash: hash,
7551
- name: name,
7552
- data: data,
7553
- fireAndForget: fireAndForget
7554
- }, {
7555
- on: on_on,
7556
- send: send
7557
- }).then(function () {
7558
- return fireAndForget ? promise.resolve() : promise;
7559
- }, function (err) {
7560
- throw new Error("Send request message failed for " + logName + " in " + getDomain() + "\n\n" + stringifyError(err));
7561
7713
  });
7562
7714
  });
7563
7715
  };
7564
7716
 
7565
- function setup_serializeMessage(destination, domain, obj) {
7566
- return serializeMessage(destination, domain, obj, {
7567
- on: on_on,
7568
- send: send_send
7569
- });
7570
- }
7571
-
7572
- function setup_deserializeMessage(source, origin, message) {
7573
- return deserializeMessage(source, origin, message, {
7574
- on: on_on,
7575
- send: send_send
7576
- });
7577
- }
7578
-
7579
7717
  function setup_toProxyWindow(win) {
7580
7718
  return window_ProxyWindow.toProxyWindow(win, {
7581
7719
  send: send_send
@@ -7664,10 +7802,15 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7664
7802
  };
7665
7803
 
7666
7804
  function lib_global_getGlobal(win) {
7667
- void 0 === win && (win = window);
7668
7805
  if (!isSameDomain(win)) throw new Error("Can not get global for window on different domain");
7669
- win.__zoid_9_0_63__ || (win.__zoid_9_0_63__ = {});
7670
- return win.__zoid_9_0_63__;
7806
+ win.__zoid_10_3_1__ || (win.__zoid_10_3_1__ = {});
7807
+ return win.__zoid_10_3_1__;
7808
+ }
7809
+
7810
+ function tryGlobal(win, handler) {
7811
+ try {
7812
+ return handler(lib_global_getGlobal(win));
7813
+ } catch (err) {}
7671
7814
  }
7672
7815
 
7673
7816
  function getProxyObject(obj) {
@@ -7683,6 +7826,104 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7683
7826
  };
7684
7827
  }
7685
7828
 
7829
+ function basicSerialize(data) {
7830
+ return base64encode(JSON.stringify(data));
7831
+ }
7832
+
7833
+ function getUIDRefStore(win) {
7834
+ var global = lib_global_getGlobal(win);
7835
+ global.references = global.references || {};
7836
+ return global.references;
7837
+ }
7838
+
7839
+ function crossDomainSerialize(_ref) {
7840
+ var data = _ref.data,
7841
+ metaData = _ref.metaData,
7842
+ sender = _ref.sender,
7843
+ receiver = _ref.receiver,
7844
+ _ref$passByReference = _ref.passByReference,
7845
+ passByReference = void 0 !== _ref$passByReference && _ref$passByReference,
7846
+ _ref$basic = _ref.basic,
7847
+ basic = void 0 !== _ref$basic && _ref$basic;
7848
+ var proxyWin = setup_toProxyWindow(receiver.win);
7849
+ var serializedMessage = basic ? JSON.stringify(data) : serializeMessage(proxyWin, receiver.domain, data, {
7850
+ on: on_on,
7851
+ send: send_send
7852
+ });
7853
+ var reference = passByReference ? function (val) {
7854
+ var uid = uniqueID();
7855
+ getUIDRefStore(window)[uid] = val;
7856
+ return {
7857
+ type: "uid",
7858
+ uid: uid
7859
+ };
7860
+ }(serializedMessage) : {
7861
+ type: "raw",
7862
+ val: serializedMessage
7863
+ };
7864
+ return {
7865
+ serializedData: basicSerialize({
7866
+ sender: {
7867
+ domain: sender.domain
7868
+ },
7869
+ metaData: metaData,
7870
+ reference: reference
7871
+ }),
7872
+ cleanReference: function cleanReference() {
7873
+ win = window, "uid" === (ref = reference).type && delete getUIDRefStore(win)[ref.uid];
7874
+ var win, ref;
7875
+ }
7876
+ };
7877
+ }
7878
+
7879
+ function crossDomainDeserialize(_ref2) {
7880
+ var sender = _ref2.sender,
7881
+ _ref2$basic = _ref2.basic,
7882
+ basic = void 0 !== _ref2$basic && _ref2$basic;
7883
+
7884
+ var message = function (serializedData) {
7885
+ return JSON.parse(function (str) {
7886
+ if ("function" == typeof atob) return decodeURIComponent([].map.call(atob(str), function (c) {
7887
+ return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2);
7888
+ }).join(""));
7889
+ if ("undefined" != typeof Buffer) return Buffer.from(str, "base64").toString("utf8");
7890
+ throw new Error("Can not find window.atob or Buffer");
7891
+ }(serializedData));
7892
+ }(_ref2.data);
7893
+
7894
+ var reference = message.reference,
7895
+ metaData = message.metaData;
7896
+ var win;
7897
+ win = "function" == typeof sender.win ? sender.win({
7898
+ metaData: metaData
7899
+ }) : sender.win;
7900
+ var domain;
7901
+ domain = "function" == typeof sender.domain ? sender.domain({
7902
+ metaData: metaData
7903
+ }) : "string" == typeof sender.domain ? sender.domain : message.sender.domain;
7904
+
7905
+ var serializedData = function (win, ref) {
7906
+ if ("raw" === ref.type) return ref.val;
7907
+ if ("uid" === ref.type) return getUIDRefStore(win)[ref.uid];
7908
+ throw new Error("Unsupported ref type: " + ref.type);
7909
+ }(win, reference);
7910
+
7911
+ return {
7912
+ data: basic ? JSON.parse(serializedData) : function (source, origin, message) {
7913
+ return deserializeMessage(source, origin, message, {
7914
+ on: on_on,
7915
+ send: send_send
7916
+ });
7917
+ }(win, domain, serializedData),
7918
+ metaData: metaData,
7919
+ sender: {
7920
+ win: win,
7921
+ domain: domain
7922
+ },
7923
+ reference: reference
7924
+ };
7925
+ }
7926
+
7686
7927
  var PROP_TYPE = {
7687
7928
  STRING: "string",
7688
7929
  OBJECT: "object",
@@ -7700,6 +7941,8 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7700
7941
  var EVENT = {
7701
7942
  RENDER: "zoid-render",
7702
7943
  RENDERED: "zoid-rendered",
7944
+ PRERENDER: "zoid-prerender",
7945
+ PRERENDERED: "zoid-prerendered",
7703
7946
  DISPLAY: "zoid-display",
7704
7947
  ERROR: "zoid-error",
7705
7948
  CLOSE: "zoid-close",
@@ -7709,55 +7952,136 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7709
7952
  FOCUS: "zoid-focus"
7710
7953
  };
7711
7954
 
7955
+ function buildChildWindowName(_ref) {
7956
+ return "__zoid__" + _ref.name + "__" + _ref.serializedPayload + "__";
7957
+ }
7958
+
7959
+ function parseWindowName(windowName) {
7960
+ if (!windowName) throw new Error("No window name");
7961
+
7962
+ var _windowName$split = windowName.split("__"),
7963
+ zoidcomp = _windowName$split[1],
7964
+ name = _windowName$split[2],
7965
+ serializedInitialPayload = _windowName$split[3];
7966
+
7967
+ if ("zoid" !== zoidcomp) throw new Error("Window not rendered by zoid - got " + zoidcomp);
7968
+ if (!name) throw new Error("Expected component name");
7969
+ if (!serializedInitialPayload) throw new Error("Expected serialized payload ref");
7970
+ return {
7971
+ name: name,
7972
+ serializedInitialPayload: serializedInitialPayload
7973
+ };
7974
+ }
7975
+
7976
+ var parseInitialParentPayload = memoize(function (windowName) {
7977
+ var _crossDomainDeseriali = crossDomainDeserialize({
7978
+ data: parseWindowName(windowName).serializedInitialPayload,
7979
+ sender: {
7980
+ win: function win(_ref2) {
7981
+ return function (windowRef) {
7982
+ if ("opener" === windowRef.type) return assertExists("opener", getOpener(window));
7983
+ if ("parent" === windowRef.type && "number" == typeof windowRef.distance) return assertExists("parent", function (win, n) {
7984
+ void 0 === n && (n = 1);
7985
+ return function (win, n) {
7986
+ void 0 === n && (n = 1);
7987
+ var parent = win;
7988
+
7989
+ for (var i = 0; i < n; i++) {
7990
+ if (!parent) return;
7991
+ parent = utils_getParent(parent);
7992
+ }
7993
+
7994
+ return parent;
7995
+ }(win, getDistanceFromTop(win) - n);
7996
+ }(window, windowRef.distance));
7997
+
7998
+ if ("global" === windowRef.type && windowRef.uid && "string" == typeof windowRef.uid) {
7999
+ var uid = windowRef.uid;
8000
+ var ancestor = getAncestor(window);
8001
+ if (!ancestor) throw new Error("Can not find ancestor window");
8002
+
8003
+ for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(ancestor); _i2 < _getAllFramesInWindow2.length; _i2++) {
8004
+ var frame = _getAllFramesInWindow2[_i2];
8005
+
8006
+ if (isSameDomain(frame)) {
8007
+ var win = tryGlobal(frame, function (global) {
8008
+ return global.windows && global.windows[uid];
8009
+ });
8010
+ if (win) return win;
8011
+ }
8012
+ }
8013
+ } else if ("name" === windowRef.type) {
8014
+ var name = windowRef.name;
8015
+ return assertExists("namedWindow", function (win, name) {
8016
+ return getFrameByName(win, name) || function findChildFrameByName(win, name) {
8017
+ var frame = getFrameByName(win, name);
8018
+ if (frame) return frame;
8019
+
8020
+ for (var _i11 = 0, _getFrames4 = getFrames(win); _i11 < _getFrames4.length; _i11++) {
8021
+ var namedFrame = findChildFrameByName(_getFrames4[_i11], name);
8022
+ if (namedFrame) return namedFrame;
8023
+ }
8024
+ }(getTop(win) || win, name);
8025
+ }(assertExists("ancestor", getAncestor(window)), name));
8026
+ }
8027
+
8028
+ throw new Error("Unable to find " + windowRef.type + " parent component window");
8029
+ }(_ref2.metaData.windowRef);
8030
+ }
8031
+ }
8032
+ });
8033
+
8034
+ return {
8035
+ parent: _crossDomainDeseriali.sender,
8036
+ payload: _crossDomainDeseriali.data,
8037
+ reference: _crossDomainDeseriali.reference
8038
+ };
8039
+ });
8040
+
8041
+ function getInitialParentPayload() {
8042
+ return parseInitialParentPayload(window.name);
8043
+ }
8044
+
8045
+ function window_getWindowRef(targetWindow, currentWindow) {
8046
+ void 0 === currentWindow && (currentWindow = window);
8047
+ if (targetWindow === utils_getParent(currentWindow)) return {
8048
+ type: "parent",
8049
+ distance: getDistanceFromTop(targetWindow)
8050
+ };
8051
+ if (targetWindow === getOpener(currentWindow)) return {
8052
+ type: "opener"
8053
+ };
8054
+
8055
+ if (isSameDomain(targetWindow) && !(win = targetWindow, win === getTop(win))) {
8056
+ var windowName = assertSameDomain(targetWindow).name;
8057
+ if (windowName) return {
8058
+ type: "name",
8059
+ name: windowName
8060
+ };
8061
+ }
8062
+
8063
+ var win;
8064
+ }
8065
+
7712
8066
  function normalizeChildProp(propsDef, props, key, value, helpers) {
7713
8067
  if (!propsDef.hasOwnProperty(key)) return value;
7714
8068
  var prop = propsDef[key];
7715
8069
  return "function" == typeof prop.childDecorate ? prop.childDecorate({
7716
8070
  value: value,
7717
8071
  uid: helpers.uid,
8072
+ tag: helpers.tag,
7718
8073
  close: helpers.close,
7719
8074
  focus: helpers.focus,
7720
8075
  onError: helpers.onError,
7721
- onProps: helpers.onProps,
7722
- resize: helpers.resize,
7723
- getParent: helpers.getParent,
7724
- getParentDomain: helpers.getParentDomain,
7725
- show: helpers.show,
7726
- hide: helpers.hide
7727
- }) : value;
7728
- }
7729
-
7730
- function parseChildWindowName(windowName) {
7731
- return inlineMemoize(parseChildWindowName, function () {
7732
- if (!windowName) throw new Error("No window name");
7733
-
7734
- var _windowName$split = windowName.split("__"),
7735
- zoidcomp = _windowName$split[1],
7736
- name = _windowName$split[2],
7737
- encodedPayload = _windowName$split[3];
7738
-
7739
- if ("zoid" !== zoidcomp) throw new Error("Window not rendered by zoid - got " + zoidcomp);
7740
- if (!name) throw new Error("Expected component name");
7741
- if (!encodedPayload) throw new Error("Expected encoded payload");
7742
-
7743
- try {
7744
- return JSON.parse(function (str) {
7745
- if ("function" == typeof atob) return decodeURIComponent([].map.call(atob(str), function (c) {
7746
- return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2);
7747
- }).join(""));
7748
- if ("undefined" != typeof Buffer) return Buffer.from(str, "base64").toString("utf8");
7749
- throw new Error("Can not find window.atob or Buffer");
7750
- }(encodedPayload));
7751
- } catch (err) {
7752
- throw new Error("Can not decode window name payload: " + encodedPayload + ": " + stringifyError(err));
7753
- }
7754
- }, [windowName]);
7755
- }
7756
-
7757
- function getChildPayload() {
7758
- try {
7759
- return parseChildWindowName(window.name);
7760
- } catch (err) {}
8076
+ onProps: helpers.onProps,
8077
+ resize: helpers.resize,
8078
+ getParent: helpers.getParent,
8079
+ getParentDomain: helpers.getParentDomain,
8080
+ show: helpers.show,
8081
+ hide: helpers.hide,
8082
+ "export": helpers["export"],
8083
+ getSiblings: helpers.getSiblings
8084
+ }) : value;
7761
8085
  }
7762
8086
 
7763
8087
  function child_focus() {
@@ -7772,25 +8096,93 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7772
8096
  });
7773
8097
  }
7774
8098
 
7775
- function props_getQueryParam(prop, key, value) {
7776
- return promise_ZalgoPromise["try"](function () {
7777
- return "function" == typeof prop.queryParam ? prop.queryParam({
7778
- value: value
7779
- }) : "string" == typeof prop.queryParam ? prop.queryParam : key;
7780
- });
8099
+ var props_defaultNoop = function props_defaultNoop() {
8100
+ return src_util_noop;
8101
+ };
8102
+
8103
+ var props_decorateOnce = function props_decorateOnce(_ref) {
8104
+ return once(_ref.value);
8105
+ };
8106
+
8107
+ function eachProp(props, propsDef, handler) {
8108
+ for (var _i2 = 0, _Object$keys2 = Object.keys(_extends({}, props, propsDef)); _i2 < _Object$keys2.length; _i2++) {
8109
+ var key = _Object$keys2[_i2];
8110
+ handler(key, propsDef[key], props[key]);
8111
+ }
7781
8112
  }
7782
8113
 
7783
- function getQueryValue(prop, key, value) {
7784
- return promise_ZalgoPromise["try"](function () {
7785
- return "function" == typeof prop.queryValue && isDefined(value) ? prop.queryValue({
7786
- value: value
7787
- }) : value;
8114
+ function serializeProps(propsDef, props, method) {
8115
+ var params = {};
8116
+ return promise_ZalgoPromise.all(function (props, propsDef, handler) {
8117
+ var results = [];
8118
+ eachProp(props, propsDef, function (key, propDef, value) {
8119
+ var result = function (key, propDef, value) {
8120
+ return promise_ZalgoPromise.resolve().then(function () {
8121
+ var _METHOD$GET$METHOD$PO, _METHOD$GET$METHOD$PO2;
8122
+
8123
+ if (null != value && propDef) {
8124
+ var getParam = (_METHOD$GET$METHOD$PO = {}, _METHOD$GET$METHOD$PO.get = propDef.queryParam, _METHOD$GET$METHOD$PO.post = propDef.bodyParam, _METHOD$GET$METHOD$PO)[method];
8125
+ var getValue = (_METHOD$GET$METHOD$PO2 = {}, _METHOD$GET$METHOD$PO2.get = propDef.queryValue, _METHOD$GET$METHOD$PO2.post = propDef.bodyValue, _METHOD$GET$METHOD$PO2)[method];
8126
+ if (getParam) return promise_ZalgoPromise.hash({
8127
+ finalParam: promise_ZalgoPromise["try"](function () {
8128
+ return "function" == typeof getParam ? getParam({
8129
+ value: value
8130
+ }) : "string" == typeof getParam ? getParam : key;
8131
+ }),
8132
+ finalValue: promise_ZalgoPromise["try"](function () {
8133
+ return "function" == typeof getValue && isDefined(value) ? getValue({
8134
+ value: value
8135
+ }) : value;
8136
+ })
8137
+ }).then(function (_ref) {
8138
+ var finalParam = _ref.finalParam,
8139
+ finalValue = _ref.finalValue;
8140
+ var result;
8141
+ if ("boolean" == typeof finalValue) result = finalValue.toString();else if ("string" == typeof finalValue) result = finalValue.toString();else if ("object" == typeof finalValue && null !== finalValue) {
8142
+ if (propDef.serialization === PROP_SERIALIZATION.JSON) result = JSON.stringify(finalValue);else if (propDef.serialization === PROP_SERIALIZATION.BASE64) result = base64encode(JSON.stringify(finalValue));else if (propDef.serialization === PROP_SERIALIZATION.DOTIFY || !propDef.serialization) {
8143
+ result = function dotify(obj, prefix, newobj) {
8144
+ void 0 === prefix && (prefix = "");
8145
+ void 0 === newobj && (newobj = {});
8146
+ prefix = prefix ? prefix + "." : prefix;
8147
+
8148
+ for (var key in obj) {
8149
+ obj.hasOwnProperty(key) && null != obj[key] && "function" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every(function (val) {
8150
+ return "object" != typeof val;
8151
+ }) ? newobj["" + prefix + key + "[]"] = obj[key].join(",") : obj[key] && "object" == typeof obj[key] ? newobj = dotify(obj[key], "" + prefix + key, newobj) : newobj["" + prefix + key] = obj[key].toString());
8152
+ }
8153
+
8154
+ return newobj;
8155
+ }(finalValue, key);
8156
+
8157
+ for (var _i2 = 0, _Object$keys2 = Object.keys(result); _i2 < _Object$keys2.length; _i2++) {
8158
+ var dotkey = _Object$keys2[_i2];
8159
+ params[dotkey] = result[dotkey];
8160
+ }
8161
+
8162
+ return;
8163
+ }
8164
+ } else "number" == typeof finalValue && (result = finalValue.toString());
8165
+ params[finalParam] = result;
8166
+ });
8167
+ }
8168
+ });
8169
+ }(key, propDef, value);
8170
+
8171
+ results.push(result);
8172
+ });
8173
+ return results;
8174
+ }(props, propsDef)).then(function () {
8175
+ return params;
7788
8176
  });
7789
8177
  }
7790
8178
 
7791
- function parentComponent(options, overrides, parentWin) {
7792
- void 0 === overrides && (overrides = {});
7793
- void 0 === parentWin && (parentWin = window);
8179
+ function parentComponent(_ref) {
8180
+ var uid = _ref.uid,
8181
+ options = _ref.options,
8182
+ _ref$overrides = _ref.overrides,
8183
+ overrides = void 0 === _ref$overrides ? {} : _ref$overrides,
8184
+ _ref$parentWin = _ref.parentWin,
8185
+ parentWin = void 0 === _ref$parentWin ? window : _ref$parentWin;
7794
8186
  var propsDef = options.propsDef,
7795
8187
  containerTemplate = options.containerTemplate,
7796
8188
  prerenderTemplate = options.prerenderTemplate,
@@ -7800,15 +8192,17 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7800
8192
  dimensions = options.dimensions,
7801
8193
  autoResize = options.autoResize,
7802
8194
  url = options.url,
7803
- domainMatch = options.domain;
8195
+ domainMatch = options.domain,
8196
+ xports = options.exports;
7804
8197
  var initPromise = new promise_ZalgoPromise();
7805
8198
  var handledErrors = [];
7806
8199
  var clean = cleanup();
7807
8200
  var state = {};
8201
+ var inputProps = {};
7808
8202
  var internalState = {
7809
8203
  visible: !0
7810
8204
  };
7811
- var event = overrides.event ? overrides.event : (triggered = {}, handlers = {}, {
8205
+ var event = overrides.event ? overrides.event : (triggered = {}, handlers = {}, emitter = {
7812
8206
  on: function on(eventName, handler) {
7813
8207
  var handlerList = handlers[eventName] = handlers[eventName] || [];
7814
8208
  handlerList.push(handler);
@@ -7823,7 +8217,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7823
8217
  };
7824
8218
  },
7825
8219
  once: function once(eventName, handler) {
7826
- var listener = this.on(eventName, function () {
8220
+ var listener = emitter.on(eventName, function () {
7827
8221
  listener.cancel();
7828
8222
  handler();
7829
8223
  });
@@ -7838,7 +8232,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7838
8232
  var promises = [];
7839
8233
 
7840
8234
  if (handlerList) {
7841
- var _loop = function _loop(_i2) {
8235
+ var _loop = function _loop() {
7842
8236
  var handler = handlerList[_i2];
7843
8237
  promises.push(promise_ZalgoPromise["try"](function () {
7844
8238
  return handler.apply(void 0, args);
@@ -7846,7 +8240,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7846
8240
  };
7847
8241
 
7848
8242
  for (var _i2 = 0; _i2 < handlerList.length; _i2++) {
7849
- _loop(_i2);
8243
+ _loop();
7850
8244
  }
7851
8245
  }
7852
8246
 
@@ -7860,17 +8254,19 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7860
8254
  args[_key4 - 1] = arguments[_key4];
7861
8255
  }
7862
8256
 
7863
- return this.trigger.apply(this, [eventName].concat(args));
8257
+ return emitter.trigger.apply(emitter, [eventName].concat(args));
7864
8258
  },
7865
8259
  reset: function reset() {
7866
8260
  handlers = {};
7867
8261
  }
7868
8262
  });
7869
- var triggered, handlers;
8263
+ var triggered, handlers, emitter;
7870
8264
  var props = overrides.props ? overrides.props : {};
7871
8265
  var currentProxyWin;
7872
8266
  var currentProxyContainer;
7873
8267
  var childComponent;
8268
+ var currentChildDomain;
8269
+ var currentContainer;
7874
8270
  var onErrorOverride = overrides.onError;
7875
8271
  var getProxyContainerOverride = overrides.getProxyContainer;
7876
8272
  var showOverride = overrides.show;
@@ -7888,13 +8284,37 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7888
8284
  var getInternalStateOverride = overrides.getInternalState;
7889
8285
  var setInternalStateOverride = overrides.setInternalState;
7890
8286
 
7891
- var getPropsForChild = function getPropsForChild(domain) {
8287
+ var getDimensions = function getDimensions() {
8288
+ return "function" == typeof dimensions ? dimensions({
8289
+ props: props
8290
+ }) : dimensions;
8291
+ };
8292
+
8293
+ var resolveInitPromise = function resolveInitPromise() {
8294
+ return promise_ZalgoPromise["try"](function () {
8295
+ return overrides.resolveInitPromise ? overrides.resolveInitPromise() : initPromise.resolve();
8296
+ });
8297
+ };
8298
+
8299
+ var rejectInitPromise = function rejectInitPromise(err) {
8300
+ return promise_ZalgoPromise["try"](function () {
8301
+ return overrides.rejectInitPromise ? overrides.rejectInitPromise(err) : initPromise.reject(err);
8302
+ });
8303
+ };
8304
+
8305
+ var getPropsForChild = function getPropsForChild(initialChildDomain) {
7892
8306
  var result = {};
7893
8307
 
7894
8308
  for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {
7895
8309
  var key = _Object$keys2[_i2];
7896
8310
  var prop = propsDef[key];
7897
- prop && !1 === prop.sendToChild || prop && prop.sameDomain && !matchDomain(domain, getDomain(window)) || (result[key] = props[key]);
8311
+
8312
+ if (!prop || !1 !== prop.sendToChild) {
8313
+ var trustedChild = prop && prop.trustedDomains && prop.trustedDomains.length > 0 ? prop.trustedDomains.reduce(function (acc, val) {
8314
+ return acc || matchDomain(val, initialChildDomain);
8315
+ }, !1) : matchDomain(initialChildDomain, getDomain(window));
8316
+ prop && prop.sameDomain && !trustedChild || prop && prop.trustedDomains && !trustedChild || (result[key] = props[key]);
8317
+ }
7898
8318
  }
7899
8319
 
7900
8320
  return promise_ZalgoPromise.hash(result);
@@ -7931,38 +8351,6 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7931
8351
  });
7932
8352
  };
7933
8353
 
7934
- var getProxyContainer = function getProxyContainer(container) {
7935
- return getProxyContainerOverride ? getProxyContainerOverride(container) : promise_ZalgoPromise["try"](function () {
7936
- return elementReady(container);
7937
- }).then(function (containerElement) {
7938
- isShadowElement(containerElement) && (containerElement = function (element) {
7939
- var shadowHost = function (element) {
7940
- var shadowRoot = function (element) {
7941
- for (; element.parentNode;) {
7942
- element = element.parentNode;
7943
- }
7944
-
7945
- if (isShadowElement(element)) return element;
7946
- }(element);
7947
-
7948
- if (shadowRoot.host) return shadowRoot.host;
7949
- }(element);
7950
-
7951
- if (!shadowHost) throw new Error("Element is not in shadow dom");
7952
- if (isShadowElement(shadowHost)) throw new Error("Host element is also in shadow dom");
7953
- var slotName = "shadow-slot-" + uniqueID();
7954
- var slot = document.createElement("slot");
7955
- slot.setAttribute("name", slotName);
7956
- element.appendChild(slot);
7957
- var slotProvider = document.createElement("div");
7958
- slotProvider.setAttribute("slot", slotName);
7959
- shadowHost.appendChild(slotProvider);
7960
- return slotProvider;
7961
- }(containerElement));
7962
- return getProxyObject(containerElement);
7963
- });
7964
- };
7965
-
7966
8354
  var setProxyWin = function setProxyWin(proxyWin) {
7967
8355
  return setProxyWinOverride ? setProxyWinOverride(proxyWin) : promise_ZalgoPromise["try"](function () {
7968
8356
  currentProxyWin = proxyWin;
@@ -7999,16 +8387,12 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
7999
8387
  }) : attributes;
8000
8388
  };
8001
8389
 
8002
- var getChildDomain = function getChildDomain() {
8003
- return domainMatch && "string" == typeof domainMatch ? domainMatch : getDomainFromUrl(getUrl());
8004
- };
8005
-
8006
- var getDomainMatcher = function getDomainMatcher() {
8007
- return domainMatch && util_isRegex(domainMatch) ? domainMatch : getChildDomain();
8390
+ var getInitialChildDomain = function getInitialChildDomain() {
8391
+ return getDomainFromUrl(getUrl());
8008
8392
  };
8009
8393
 
8010
- var openFrame = function openFrame(context, _ref) {
8011
- var windowName = _ref.windowName;
8394
+ var openFrame = function openFrame(context, _ref2) {
8395
+ var windowName = _ref2.windowName;
8012
8396
  return openFrameOverride ? openFrameOverride(context, {
8013
8397
  windowName: windowName
8014
8398
  }) : promise_ZalgoPromise["try"](function () {
@@ -8059,41 +8443,53 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8059
8443
  });
8060
8444
  };
8061
8445
 
8062
- var getWindowRef = function getWindowRef(target, domain, uid, context) {
8063
- if (domain === getDomain(window)) {
8064
- var global = lib_global_getGlobal(window);
8065
- global.windows = global.windows || {};
8066
- global.windows[uid] = window;
8067
- clean.register(function () {
8068
- delete global.windows[uid];
8069
- });
8070
- return {
8071
- type: "global",
8072
- uid: uid
8073
- };
8446
+ var getCurrentWindowReferenceUID = function getCurrentWindowReferenceUID() {
8447
+ var global = lib_global_getGlobal(window);
8448
+ global.windows = global.windows || {};
8449
+ global.windows[uid] = window;
8450
+ clean.register(function () {
8451
+ delete global.windows[uid];
8452
+ });
8453
+ return uid;
8454
+ };
8455
+
8456
+ var getWindowRef = function getWindowRef(target, initialChildDomain, context, proxyWin) {
8457
+ if (initialChildDomain === getDomain(window)) return {
8458
+ type: "global",
8459
+ uid: getCurrentWindowReferenceUID()
8460
+ };
8461
+ if (target !== window) throw new Error("Can not construct cross-domain window reference for different target window");
8462
+
8463
+ if (props.window) {
8464
+ var actualComponentWindow = proxyWin.getWindow();
8465
+ if (!actualComponentWindow) throw new Error("Can not construct cross-domain window reference for lazy window prop");
8466
+ if (getAncestor(actualComponentWindow) !== window) throw new Error("Can not construct cross-domain window reference for window prop with different ancestor");
8074
8467
  }
8075
8468
 
8076
- return context === CONTEXT.POPUP ? {
8469
+ if (context === CONTEXT.POPUP) return {
8077
8470
  type: "opener"
8078
- } : {
8471
+ };
8472
+ if (context === CONTEXT.IFRAME) return {
8079
8473
  type: "parent",
8080
8474
  distance: getDistanceFromTop(window)
8081
8475
  };
8476
+ throw new Error("Can not construct window reference for child");
8082
8477
  };
8083
8478
 
8084
- var initChild = function initChild(childExports) {
8479
+ var initChild = function initChild(childDomain, childExports) {
8085
8480
  return promise_ZalgoPromise["try"](function () {
8481
+ currentChildDomain = childDomain;
8086
8482
  childComponent = childExports;
8087
- initPromise.resolve();
8483
+ resolveInitPromise();
8088
8484
  clean.register(function () {
8089
8485
  return childExports.close.fireAndForget()["catch"](src_util_noop);
8090
8486
  });
8091
8487
  });
8092
8488
  };
8093
8489
 
8094
- var resize = function resize(_ref2) {
8095
- var width = _ref2.width,
8096
- height = _ref2.height;
8490
+ var resize = function resize(_ref3) {
8491
+ var width = _ref3.width,
8492
+ height = _ref3.height;
8097
8493
  return promise_ZalgoPromise["try"](function () {
8098
8494
  event.trigger(EVENT.RESIZE, {
8099
8495
  width: width,
@@ -8108,7 +8504,8 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8108
8504
  })["catch"](src_util_noop).then(function () {
8109
8505
  return clean.all(err);
8110
8506
  }).then(function () {
8111
- initPromise.asyncReject(err || new Error("Component destroyed"));
8507
+ var error = err || new Error("Component destroyed");
8508
+ currentContainer && isElementClosed(currentContainer) || "Window navigated away" === error.message ? initPromise.resolve() : initPromise.asyncReject(error);
8112
8509
  });
8113
8510
  };
8114
8511
 
@@ -8127,10 +8524,10 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8127
8524
  });
8128
8525
  });
8129
8526
 
8130
- var open = function open(context, _ref3) {
8131
- var proxyWin = _ref3.proxyWin,
8132
- proxyFrame = _ref3.proxyFrame,
8133
- windowName = _ref3.windowName;
8527
+ var open = function open(context, _ref4) {
8528
+ var proxyWin = _ref4.proxyWin,
8529
+ proxyFrame = _ref4.proxyFrame,
8530
+ windowName = _ref4.windowName;
8134
8531
  return openOverride ? openOverride(context, {
8135
8532
  proxyWin: proxyWin,
8136
8533
  proxyFrame: proxyFrame,
@@ -8152,18 +8549,28 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8152
8549
  }
8153
8550
 
8154
8551
  if (context === CONTEXT.POPUP) {
8155
- var width = dimensions.width,
8156
- height = dimensions.height;
8552
+ var _getDimensions = getDimensions(),
8553
+ _getDimensions$width = _getDimensions.width,
8554
+ width = void 0 === _getDimensions$width ? "300px" : _getDimensions$width,
8555
+ _getDimensions$height = _getDimensions.height,
8556
+ height = void 0 === _getDimensions$height ? "150px" : _getDimensions$height;
8557
+
8157
8558
  width = normalizeDimension(width, window.outerWidth);
8158
8559
  height = normalizeDimension(height, window.outerWidth);
8159
8560
 
8160
8561
  var win = function (url, options) {
8161
- var width = (options = options || {}).width,
8562
+ var _options$closeOnUnloa = (options = options || {}).closeOnUnload,
8563
+ closeOnUnload = void 0 === _options$closeOnUnloa ? 1 : _options$closeOnUnloa,
8564
+ _options$name = options.name,
8565
+ name = void 0 === _options$name ? "" : _options$name,
8566
+ width = options.width,
8162
8567
  height = options.height;
8163
8568
  var top = 0;
8164
8569
  var left = 0;
8165
8570
  width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));
8166
8571
  height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));
8572
+ delete options.closeOnUnload;
8573
+ delete options.name;
8167
8574
  width && height && (options = _extends({
8168
8575
  top: top,
8169
8576
  left: left,
@@ -8175,15 +8582,13 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8175
8582
  resizable: 1,
8176
8583
  scrollbars: 1
8177
8584
  }, options));
8178
- var name = options.name || "";
8179
- delete options.name;
8180
8585
  var params = Object.keys(options).map(function (key) {
8181
8586
  if (null != options[key]) return key + "=" + stringify(options[key]);
8182
8587
  }).filter(Boolean).join(",");
8183
8588
  var win;
8184
8589
 
8185
8590
  try {
8186
- win = window.open("", name, params, !0);
8591
+ win = window.open("", name, params);
8187
8592
  } catch (err) {
8188
8593
  throw new dom_PopupOpenError("Can not open popup window - " + (err.stack || err.message));
8189
8594
  }
@@ -8192,7 +8597,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8192
8597
  throw new dom_PopupOpenError("Can not open popup window - blocked");
8193
8598
  }
8194
8599
 
8195
- window.addEventListener("unload", function () {
8600
+ closeOnUnload && window.addEventListener("unload", function () {
8196
8601
  return win.close();
8197
8602
  });
8198
8603
  return win;
@@ -8216,7 +8621,9 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8216
8621
  proxyWin.setWindow(win, {
8217
8622
  send: send_send
8218
8623
  });
8219
- return proxyWin;
8624
+ return proxyWin.setName(windowName).then(function () {
8625
+ return proxyWin;
8626
+ });
8220
8627
  });
8221
8628
  };
8222
8629
 
@@ -8263,34 +8670,41 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8263
8670
  });
8264
8671
  };
8265
8672
 
8673
+ var exportsPromise = new promise_ZalgoPromise();
8674
+
8675
+ var xport = function xport(actualExports) {
8676
+ return promise_ZalgoPromise["try"](function () {
8677
+ exportsPromise.resolve(actualExports);
8678
+ });
8679
+ };
8680
+
8266
8681
  initChild.onError = onError;
8267
8682
 
8268
- var renderTemplate = function renderTemplate(renderer, _ref6) {
8683
+ var renderTemplate = function renderTemplate(renderer, _ref8) {
8269
8684
  return renderer({
8270
- container: _ref6.container,
8271
- context: _ref6.context,
8272
- uid: _ref6.uid,
8273
- doc: _ref6.doc,
8274
- frame: _ref6.frame,
8275
- prerenderFrame: _ref6.prerenderFrame,
8685
+ uid: uid,
8686
+ container: _ref8.container,
8687
+ context: _ref8.context,
8688
+ doc: _ref8.doc,
8689
+ frame: _ref8.frame,
8690
+ prerenderFrame: _ref8.prerenderFrame,
8276
8691
  focus: focus,
8277
8692
  close: close,
8278
8693
  state: state,
8279
8694
  props: props,
8280
8695
  tag: tag,
8281
- dimensions: dimensions,
8696
+ dimensions: getDimensions(),
8282
8697
  event: event
8283
8698
  });
8284
8699
  };
8285
8700
 
8286
- var prerender = function prerender(proxyPrerenderWin, _ref7) {
8287
- var context = _ref7.context,
8288
- uid = _ref7.uid;
8701
+ var prerender = function prerender(proxyPrerenderWin, _ref9) {
8702
+ var context = _ref9.context;
8289
8703
  return prerenderOverride ? prerenderOverride(proxyPrerenderWin, {
8290
- context: context,
8291
- uid: uid
8704
+ context: context
8292
8705
  }) : promise_ZalgoPromise["try"](function () {
8293
8706
  if (prerenderTemplate) {
8707
+ event.trigger(EVENT.PRERENDER);
8294
8708
  var prerenderWindow = proxyPrerenderWin.getWindow();
8295
8709
 
8296
8710
  if (prerenderWindow && isSameDomain(prerenderWindow) && function (win) {
@@ -8304,7 +8718,6 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8304
8718
  var doc = (prerenderWindow = assertSameDomain(prerenderWindow)).document;
8305
8719
  var el = renderTemplate(prerenderTemplate, {
8306
8720
  context: context,
8307
- uid: uid,
8308
8721
  doc: doc
8309
8722
  });
8310
8723
 
@@ -8331,10 +8744,10 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8331
8744
  element = void 0 === _autoResize$element ? "body" : _autoResize$element;
8332
8745
 
8333
8746
  if ((element = getElementSafe(element, doc)) && (width || height)) {
8334
- var prerenderResizeListener = onResize(element, function (_ref8) {
8747
+ var prerenderResizeListener = onResize(element, function (_ref10) {
8335
8748
  resize({
8336
- width: width ? _ref8.width : void 0,
8337
- height: height ? _ref8.height : void 0
8749
+ width: width ? _ref10.width : void 0,
8750
+ height: height ? _ref10.height : void 0
8338
8751
  });
8339
8752
  }, {
8340
8753
  width: width,
@@ -8343,36 +8756,37 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8343
8756
  });
8344
8757
  event.on(EVENT.RENDERED, prerenderResizeListener.cancel);
8345
8758
  }
8759
+
8760
+ event.trigger(EVENT.PRERENDERED);
8346
8761
  }
8347
8762
  }
8348
8763
  }
8349
8764
  });
8350
8765
  };
8351
8766
 
8352
- var renderContainer = function renderContainer(proxyContainer, _ref9) {
8353
- var proxyFrame = _ref9.proxyFrame,
8354
- proxyPrerenderFrame = _ref9.proxyPrerenderFrame,
8355
- context = _ref9.context,
8356
- uid = _ref9.uid;
8767
+ var renderContainer = function renderContainer(proxyContainer, _ref11) {
8768
+ var proxyFrame = _ref11.proxyFrame,
8769
+ proxyPrerenderFrame = _ref11.proxyPrerenderFrame,
8770
+ context = _ref11.context,
8771
+ rerender = _ref11.rerender;
8357
8772
  return renderContainerOverride ? renderContainerOverride(proxyContainer, {
8358
8773
  proxyFrame: proxyFrame,
8359
8774
  proxyPrerenderFrame: proxyPrerenderFrame,
8360
8775
  context: context,
8361
- uid: uid
8776
+ rerender: rerender
8362
8777
  }) : promise_ZalgoPromise.hash({
8363
8778
  container: proxyContainer.get(),
8364
8779
  frame: proxyFrame ? proxyFrame.get() : null,
8365
8780
  prerenderFrame: proxyPrerenderFrame ? proxyPrerenderFrame.get() : null,
8366
8781
  internalState: getInternalState()
8367
- }).then(function (_ref10) {
8368
- var container = _ref10.container,
8369
- visible = _ref10.internalState.visible;
8782
+ }).then(function (_ref12) {
8783
+ var container = _ref12.container,
8784
+ visible = _ref12.internalState.visible;
8370
8785
  var innerContainer = renderTemplate(containerTemplate, {
8371
8786
  context: context,
8372
- uid: uid,
8373
8787
  container: container,
8374
- frame: _ref10.frame,
8375
- prerenderFrame: _ref10.prerenderFrame,
8788
+ frame: _ref12.frame,
8789
+ prerenderFrame: _ref12.prerenderFrame,
8376
8790
  doc: document
8377
8791
  });
8378
8792
 
@@ -8442,7 +8856,15 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8442
8856
  cancel: cancel
8443
8857
  };
8444
8858
  }(innerContainer, function () {
8445
- return close(new Error("Detected container element removed from DOM"));
8859
+ var removeError = new Error("Detected container element removed from DOM");
8860
+ return promise_ZalgoPromise.delay(1).then(function () {
8861
+ if (!isElementClosed(innerContainer)) {
8862
+ clean.all(removeError);
8863
+ return rerender().then(resolveInitPromise, rejectInitPromise);
8864
+ }
8865
+
8866
+ close(removeError);
8867
+ });
8446
8868
  });
8447
8869
 
8448
8870
  clean.register(function () {
@@ -8470,92 +8892,78 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8470
8892
  };
8471
8893
  };
8472
8894
 
8473
- var setProps = function setProps(newProps, isUpdate) {
8474
- void 0 === isUpdate && (isUpdate = !1);
8895
+ var setProps = function setProps(newInputProps) {
8896
+ void 0 === newInputProps && (newInputProps = {});
8897
+ var container = currentContainer;
8475
8898
  var helpers = getHelpers();
8476
- !function (propsDef, props, inputProps, helpers, isUpdate) {
8477
- void 0 === isUpdate && (isUpdate = !1);
8478
- extend(props, inputProps = inputProps || {});
8479
- var propNames = isUpdate ? [] : [].concat(Object.keys(propsDef));
8480
-
8481
- for (var _i2 = 0, _Object$keys2 = Object.keys(inputProps); _i2 < _Object$keys2.length; _i2++) {
8482
- var key = _Object$keys2[_i2];
8483
- -1 === propNames.indexOf(key) && propNames.push(key);
8484
- }
8485
-
8486
- var aliases = [];
8899
+ extend(inputProps, newInputProps);
8900
+ !function (propsDef, existingProps, inputProps, helpers, container) {
8487
8901
  var state = helpers.state,
8488
8902
  close = helpers.close,
8489
8903
  focus = helpers.focus,
8490
8904
  event = helpers.event,
8491
8905
  onError = helpers.onError;
8906
+ eachProp(inputProps, propsDef, function (key, propDef, val) {
8907
+ var valueDetermined = !1;
8908
+ var value = val;
8909
+ Object.defineProperty(existingProps, key, {
8910
+ configurable: !0,
8911
+ enumerable: !0,
8912
+ get: function get() {
8913
+ if (valueDetermined) return value;
8914
+ valueDetermined = !0;
8915
+ return function () {
8916
+ if (!propDef) return value;
8917
+ var alias = propDef.alias;
8918
+ alias && !isDefined(val) && isDefined(inputProps[alias]) && (value = inputProps[alias]);
8919
+ propDef.value && (value = propDef.value({
8920
+ props: existingProps,
8921
+ state: state,
8922
+ close: close,
8923
+ focus: focus,
8924
+ event: event,
8925
+ onError: onError,
8926
+ container: container
8927
+ }));
8928
+ !propDef["default"] || isDefined(value) || isDefined(inputProps[key]) || (value = propDef["default"]({
8929
+ props: existingProps,
8930
+ state: state,
8931
+ close: close,
8932
+ focus: focus,
8933
+ event: event,
8934
+ onError: onError,
8935
+ container: container
8936
+ }));
8492
8937
 
8493
- for (var _i4 = 0; _i4 < propNames.length; _i4++) {
8494
- var _key = propNames[_i4];
8495
- var propDef = propsDef[_key];
8496
- var value = inputProps[_key];
8497
-
8498
- if (propDef) {
8499
- var alias = propDef.alias;
8938
+ if (isDefined(value)) {
8939
+ if (propDef.type === PROP_TYPE.ARRAY ? !Array.isArray(value) : typeof value !== propDef.type) throw new TypeError("Prop is not of type " + propDef.type + ": " + key);
8940
+ } else if (!1 !== propDef.required && !isDefined(inputProps[key])) throw new Error('Expected prop "' + key + '" to be defined');
8500
8941
 
8501
- if (alias) {
8502
- !isDefined(value) && isDefined(inputProps[alias]) && (value = inputProps[alias]);
8503
- aliases.push(alias);
8942
+ isDefined(value) && propDef.decorate && (value = propDef.decorate({
8943
+ value: value,
8944
+ props: existingProps,
8945
+ state: state,
8946
+ close: close,
8947
+ focus: focus,
8948
+ event: event,
8949
+ onError: onError,
8950
+ container: container
8951
+ }));
8952
+ return value;
8953
+ }();
8504
8954
  }
8505
-
8506
- propDef.value && (value = propDef.value({
8507
- props: props,
8508
- state: state,
8509
- close: close,
8510
- focus: focus,
8511
- event: event,
8512
- onError: onError
8513
- }));
8514
- !isDefined(value) && propDef["default"] && (value = propDef["default"]({
8515
- props: props,
8516
- state: state,
8517
- close: close,
8518
- focus: focus,
8519
- event: event,
8520
- onError: onError
8521
- }));
8522
- if (isDefined(value) && ("array" === propDef.type ? !Array.isArray(value) : typeof value !== propDef.type)) throw new TypeError("Prop is not of type " + propDef.type + ": " + _key);
8523
- props[_key] = value;
8524
- }
8525
- }
8526
-
8527
- for (var _i6 = 0; _i6 < aliases.length; _i6++) {
8528
- delete props[aliases[_i6]];
8529
- }
8530
-
8531
- for (var _i8 = 0, _Object$keys4 = Object.keys(props); _i8 < _Object$keys4.length; _i8++) {
8532
- var _key2 = _Object$keys4[_i8];
8533
- var _propDef = propsDef[_key2];
8534
- var _value = props[_key2];
8535
- _propDef && isDefined(_value) && _propDef.decorate && (props[_key2] = _propDef.decorate({
8536
- value: _value,
8537
- props: props,
8538
- state: state,
8539
- close: close,
8540
- focus: focus,
8541
- event: event,
8542
- onError: onError
8543
- }));
8544
- }
8545
-
8546
- for (var _i10 = 0, _Object$keys6 = Object.keys(propsDef); _i10 < _Object$keys6.length; _i10++) {
8547
- var _key3 = _Object$keys6[_i10];
8548
- if (!1 !== propsDef[_key3].required && !isDefined(props[_key3])) throw new Error('Expected prop "' + _key3 + '" to be defined');
8549
- }
8550
- }(propsDef, props, newProps, helpers, isUpdate);
8955
+ });
8956
+ });
8957
+ eachProp(existingProps, propsDef, src_util_noop);
8958
+ }(propsDef, props, inputProps, helpers, container);
8551
8959
  };
8552
8960
 
8553
8961
  var updateProps = function updateProps(newProps) {
8554
- setProps(newProps, !0);
8962
+ setProps(newProps);
8555
8963
  return initPromise.then(function () {
8556
8964
  var child = childComponent;
8557
8965
  var proxyWin = currentProxyWin;
8558
- if (child && proxyWin) return getPropsForChild(getDomainMatcher()).then(function (childProps) {
8966
+ if (child && proxyWin && currentChildDomain) return getPropsForChild(currentChildDomain).then(function (childProps) {
8559
8967
  return child.updateProps(childProps)["catch"](function (err) {
8560
8968
  return checkWindowClose(proxyWin).then(function (closed) {
8561
8969
  if (!closed) throw err;
@@ -8565,18 +8973,56 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8565
8973
  });
8566
8974
  };
8567
8975
 
8976
+ var getProxyContainer = function getProxyContainer(container) {
8977
+ return getProxyContainerOverride ? getProxyContainerOverride(container) : promise_ZalgoPromise["try"](function () {
8978
+ return elementReady(container);
8979
+ }).then(function (containerElement) {
8980
+ isShadowElement(containerElement) && (containerElement = function insertShadowSlot(element) {
8981
+ var shadowHost = function (element) {
8982
+ var shadowRoot = function (element) {
8983
+ for (; element.parentNode;) {
8984
+ element = element.parentNode;
8985
+ }
8986
+
8987
+ if (isShadowElement(element)) return element;
8988
+ }(element);
8989
+
8990
+ if (shadowRoot && shadowRoot.host) return shadowRoot.host;
8991
+ }(element);
8992
+
8993
+ if (!shadowHost) throw new Error("Element is not in shadow dom");
8994
+ var slotName = "shadow-slot-" + uniqueID();
8995
+ var slot = document.createElement("slot");
8996
+ slot.setAttribute("name", slotName);
8997
+ element.appendChild(slot);
8998
+ var slotProvider = document.createElement("div");
8999
+ slotProvider.setAttribute("slot", slotName);
9000
+ shadowHost.appendChild(slotProvider);
9001
+ return isShadowElement(shadowHost) ? insertShadowSlot(slotProvider) : slotProvider;
9002
+ }(containerElement));
9003
+ currentContainer = containerElement;
9004
+ return getProxyObject(containerElement);
9005
+ });
9006
+ };
9007
+
8568
9008
  return {
8569
9009
  init: function init() {
8570
9010
  !function () {
8571
9011
  event.on(EVENT.RENDER, function () {
8572
9012
  return props.onRender();
8573
9013
  });
9014
+ event.on(EVENT.PRERENDER, function () {
9015
+ return props.onPrerender();
9016
+ });
8574
9017
  event.on(EVENT.DISPLAY, function () {
8575
9018
  return props.onDisplay();
8576
9019
  });
8577
9020
  event.on(EVENT.RENDERED, function () {
8578
9021
  return props.onRendered();
8579
9022
  });
9023
+ event.on(EVENT.PRERENDERED, function () {
9024
+ return props.onPrerendered();
9025
+ });
8580
9026
  event.on(EVENT.CLOSE, function () {
8581
9027
  return props.onClose();
8582
9028
  });
@@ -8593,7 +9039,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8593
9039
  return props.onProps(newProps);
8594
9040
  });
8595
9041
  event.on(EVENT.ERROR, function (err) {
8596
- return props && props.onError ? props.onError(err) : initPromise.reject(err).then(function () {
9042
+ return props && props.onError ? props.onError(err) : rejectInitPromise(err).then(function () {
8597
9043
  setTimeout(function () {
8598
9044
  throw err;
8599
9045
  }, 1);
@@ -8602,19 +9048,22 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8602
9048
  clean.register(event.reset);
8603
9049
  }();
8604
9050
  },
8605
- render: function render(target, container, context) {
9051
+ render: function render(_ref14) {
9052
+ var target = _ref14.target,
9053
+ container = _ref14.container,
9054
+ context = _ref14.context,
9055
+ rerender = _ref14.rerender;
8606
9056
  return promise_ZalgoPromise["try"](function () {
8607
- var uid = "zoid-" + tag + "-" + uniqueID();
8608
- var domain = getDomainMatcher();
8609
- var childDomain = getChildDomain();
8610
- !function (target, domain, container) {
9057
+ var initialChildDomain = getInitialChildDomain();
9058
+ var childDomainMatch = domainMatch || getInitialChildDomain();
9059
+ !function (target, childDomainMatch, container) {
8611
9060
  if (target !== window) {
8612
9061
  if (!isSameTopWindow(window, target)) throw new Error("Can only renderTo an adjacent frame");
8613
9062
  var origin = getDomain();
8614
- if (!matchDomain(domain, origin) && !isSameDomain(target)) throw new Error("Can not render remotely to " + domain.toString() + " - can only render to " + origin);
9063
+ if (!matchDomain(childDomainMatch, origin) && !isSameDomain(target)) throw new Error("Can not render remotely to " + childDomainMatch.toString() + " - can only render to " + origin);
8615
9064
  if (container && "string" != typeof container) throw new Error("Container passed to renderTo must be a string selector, got " + typeof container + " }");
8616
9065
  }
8617
- }(target, domain, container);
9066
+ }(target, childDomainMatch, container);
8618
9067
  var delegatePromise = promise_ZalgoPromise["try"](function () {
8619
9068
  if (target !== window) return function (context, target) {
8620
9069
  var delegateProps = {};
@@ -8626,16 +9075,19 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8626
9075
  }
8627
9076
 
8628
9077
  var childOverridesPromise = send_send(target, "zoid_delegate_" + name, {
9078
+ uid: uid,
8629
9079
  overrides: {
8630
9080
  props: delegateProps,
8631
9081
  event: event,
8632
9082
  close: close,
8633
9083
  onError: onError,
8634
9084
  getInternalState: getInternalState,
8635
- setInternalState: setInternalState
9085
+ setInternalState: setInternalState,
9086
+ resolveInitPromise: resolveInitPromise,
9087
+ rejectInitPromise: rejectInitPromise
8636
9088
  }
8637
- }).then(function (_ref11) {
8638
- var parentComp = _ref11.data.parent;
9089
+ }).then(function (_ref13) {
9090
+ var parentComp = _ref13.data.parent;
8639
9091
  clean.register(function (err) {
8640
9092
  if (!isWindowClosed(target)) return parentComp.destroy(err);
8641
9093
  });
@@ -8769,151 +9221,124 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8769
9221
  });
8770
9222
  var windowProp = props.window;
8771
9223
  var watchForUnloadPromise = watchForUnload();
8772
-
8773
- var buildUrlPromise = function (propsDef, props) {
8774
- var params = {};
8775
- var keys = Object.keys(props);
8776
- return promise_ZalgoPromise.all(keys.map(function (key) {
8777
- var prop = propsDef[key];
8778
- if (prop) return promise_ZalgoPromise.resolve().then(function () {
8779
- var value = props[key];
8780
- if (value && prop.queryParam) return value;
8781
- }).then(function (value) {
8782
- if (null != value) return promise_ZalgoPromise.all([props_getQueryParam(prop, key, value), getQueryValue(prop, 0, value)]).then(function (_ref) {
8783
- var queryParam = _ref[0],
8784
- queryValue = _ref[1];
8785
- var result;
8786
- if ("boolean" == typeof queryValue) result = queryValue.toString();else if ("string" == typeof queryValue) result = queryValue.toString();else if ("object" == typeof queryValue && null !== queryValue) {
8787
- if (prop.serialization === PROP_SERIALIZATION.JSON) result = JSON.stringify(queryValue);else if (prop.serialization === PROP_SERIALIZATION.BASE64) result = btoa(JSON.stringify(queryValue));else if (prop.serialization === PROP_SERIALIZATION.DOTIFY || !prop.serialization) {
8788
- result = function dotify(obj, prefix, newobj) {
8789
- void 0 === prefix && (prefix = "");
8790
- void 0 === newobj && (newobj = {});
8791
- prefix = prefix ? prefix + "." : prefix;
8792
-
8793
- for (var key in obj) {
8794
- obj.hasOwnProperty(key) && null != obj[key] && "function" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every(function (val) {
8795
- return "object" != typeof val;
8796
- }) ? newobj["" + prefix + key + "[]"] = obj[key].join(",") : obj[key] && "object" == typeof obj[key] ? newobj = dotify(obj[key], "" + prefix + key, newobj) : newobj["" + prefix + key] = obj[key].toString());
8797
- }
8798
-
8799
- return newobj;
8800
- }(queryValue, key);
8801
-
8802
- for (var _i12 = 0, _Object$keys8 = Object.keys(result); _i12 < _Object$keys8.length; _i12++) {
8803
- var dotkey = _Object$keys8[_i12];
8804
- params[dotkey] = result[dotkey];
8805
- }
8806
-
8807
- return;
8808
- }
8809
- } else "number" == typeof queryValue && (result = queryValue.toString());
8810
- params[queryParam] = result;
8811
- });
8812
- });
8813
- })).then(function () {
8814
- return params;
8815
- });
8816
- }(propsDef, props).then(function (query) {
8817
- return function (url, options) {
8818
- var query = options.query || {};
8819
- var hash = options.hash || {};
8820
- var originalUrl;
8821
- var originalHash;
8822
-
8823
- var _url$split = url.split("#");
8824
-
8825
- originalHash = _url$split[1];
8826
-
8827
- var _originalUrl$split = (originalUrl = _url$split[0]).split("?");
8828
-
8829
- originalUrl = _originalUrl$split[0];
8830
- var queryString = extendQuery(_originalUrl$split[1], query);
8831
- var hashString = extendQuery(originalHash, hash);
8832
- queryString && (originalUrl = originalUrl + "?" + queryString);
8833
- hashString && (originalUrl = originalUrl + "#" + hashString);
8834
- return originalUrl;
8835
- }(normalizeMockUrl(getUrl()), {
8836
- query: query
8837
- });
8838
- });
8839
-
9224
+ var buildBodyPromise = serializeProps(propsDef, props, "post");
8840
9225
  var onRenderPromise = event.trigger(EVENT.RENDER);
8841
9226
  var getProxyContainerPromise = getProxyContainer(container);
8842
9227
  var getProxyWindowPromise = getProxyWindow();
9228
+ var finalSetPropsPromise = getProxyContainerPromise.then(function () {
9229
+ return setProps();
9230
+ });
9231
+ var buildUrlPromise = finalSetPropsPromise.then(function () {
9232
+ return serializeProps(propsDef, props, "get").then(function (query) {
9233
+ return function (url, options) {
9234
+ var query = options.query || {};
9235
+ var hash = options.hash || {};
9236
+ var originalUrl;
9237
+ var originalHash;
9238
+
9239
+ var _url$split = url.split("#");
9240
+
9241
+ originalHash = _url$split[1];
9242
+
9243
+ var _originalUrl$split = (originalUrl = _url$split[0]).split("?");
9244
+
9245
+ originalUrl = _originalUrl$split[0];
9246
+ var queryString = extendQuery(_originalUrl$split[1], query);
9247
+ var hashString = extendQuery(originalHash, hash);
9248
+ queryString && (originalUrl = originalUrl + "?" + queryString);
9249
+ hashString && (originalUrl = originalUrl + "#" + hashString);
9250
+ return originalUrl;
9251
+ }(normalizeMockUrl(getUrl()), {
9252
+ query: query
9253
+ });
9254
+ });
9255
+ });
8843
9256
  var buildWindowNamePromise = getProxyWindowPromise.then(function (proxyWin) {
8844
- return function (_temp) {
8845
- var _ref4 = void 0 === _temp ? {} : _temp,
8846
- proxyWin = _ref4.proxyWin,
8847
- childDomain = _ref4.childDomain,
8848
- domain = _ref4.domain,
8849
- context = (_ref4.context),
8850
- uid = _ref4.uid;
8851
-
8852
- return function (proxyWin, childDomain, domain, uid) {
8853
- return getPropsForChild(domain).then(function (childProps) {
8854
- var value = setup_serializeMessage(proxyWin, domain, childProps);
8855
- var propRef = childDomain === getDomain() ? {
8856
- type: "uid",
8857
- uid: uid
8858
- } : {
8859
- type: "raw",
8860
- value: value
9257
+ return function (_temp2) {
9258
+ var _ref6 = void 0 === _temp2 ? {} : _temp2,
9259
+ proxyWin = _ref6.proxyWin,
9260
+ initialChildDomain = _ref6.initialChildDomain,
9261
+ childDomainMatch = _ref6.childDomainMatch,
9262
+ _ref6$target = _ref6.target,
9263
+ target = void 0 === _ref6$target ? window : _ref6$target,
9264
+ context = _ref6.context;
9265
+
9266
+ return function (_temp) {
9267
+ var _ref5 = void 0 === _temp ? {} : _temp,
9268
+ proxyWin = _ref5.proxyWin,
9269
+ childDomainMatch = _ref5.childDomainMatch,
9270
+ context = _ref5.context;
9271
+
9272
+ return getPropsForChild(_ref5.initialChildDomain).then(function (childProps) {
9273
+ return {
9274
+ uid: uid,
9275
+ context: context,
9276
+ tag: tag,
9277
+ childDomainMatch: childDomainMatch,
9278
+ version: "10_3_1",
9279
+ props: childProps,
9280
+ exports: (win = proxyWin, {
9281
+ init: function init(childExports) {
9282
+ return initChild(this.origin, childExports);
9283
+ },
9284
+ close: close,
9285
+ checkClose: function checkClose() {
9286
+ return checkWindowClose(win);
9287
+ },
9288
+ resize: resize,
9289
+ onError: onError,
9290
+ show: show,
9291
+ hide: hide,
9292
+ "export": xport
9293
+ })
8861
9294
  };
8862
-
8863
- if ("uid" === propRef.type) {
8864
- var global = lib_global_getGlobal(window);
8865
- global.props = global.props || {};
8866
- global.props[uid] = value;
8867
- clean.register(function () {
8868
- delete global.props[uid];
8869
- });
8870
- }
8871
-
8872
- return propRef;
9295
+ var win;
8873
9296
  });
8874
- }(proxyWin, childDomain, domain, uid).then(function (propsRef) {
8875
- return {
8876
- uid: uid,
8877
- context: context,
8878
- tag: tag,
8879
- version: "9_0_63",
8880
- childDomain: childDomain,
8881
- parentDomain: getDomain(window),
8882
- parent: getWindowRef(0, childDomain, uid, context),
8883
- props: propsRef,
8884
- exports: setup_serializeMessage(proxyWin, domain, (win = proxyWin, {
8885
- init: initChild,
8886
- close: close,
8887
- checkClose: function checkClose() {
8888
- return checkWindowClose(win);
8889
- },
8890
- resize: resize,
8891
- onError: onError,
8892
- show: show,
8893
- hide: hide
8894
- }))
8895
- };
8896
- var win;
9297
+ }({
9298
+ proxyWin: proxyWin,
9299
+ initialChildDomain: initialChildDomain,
9300
+ childDomainMatch: childDomainMatch,
9301
+ context: context
9302
+ }).then(function (childPayload) {
9303
+ var _crossDomainSerialize = crossDomainSerialize({
9304
+ data: childPayload,
9305
+ metaData: {
9306
+ windowRef: getWindowRef(target, initialChildDomain, context, proxyWin)
9307
+ },
9308
+ sender: {
9309
+ domain: getDomain(window)
9310
+ },
9311
+ receiver: {
9312
+ win: proxyWin,
9313
+ domain: childDomainMatch
9314
+ },
9315
+ passByReference: initialChildDomain === getDomain()
9316
+ }),
9317
+ serializedData = _crossDomainSerialize.serializedData;
9318
+
9319
+ clean.register(_crossDomainSerialize.cleanReference);
9320
+ return serializedData;
8897
9321
  });
8898
9322
  }({
8899
- proxyWin: (_ref5 = {
9323
+ proxyWin: (_ref7 = {
8900
9324
  proxyWin: proxyWin,
8901
- childDomain: childDomain,
8902
- domain: domain,
9325
+ initialChildDomain: initialChildDomain,
9326
+ childDomainMatch: childDomainMatch,
8903
9327
  target: target,
8904
- context: context,
8905
- uid: uid
9328
+ context: context
8906
9329
  }).proxyWin,
8907
- childDomain: _ref5.childDomain,
8908
- domain: _ref5.domain,
8909
- target: _ref5.target,
8910
- context: _ref5.context,
8911
- uid: _ref5.uid
8912
- }).then(function (childPayload) {
8913
- return "__zoid__" + name + "__" + base64encode(JSON.stringify(childPayload)) + "__";
9330
+ initialChildDomain: _ref7.initialChildDomain,
9331
+ childDomainMatch: _ref7.childDomainMatch,
9332
+ target: _ref7.target,
9333
+ context: _ref7.context
9334
+ }).then(function (serializedPayload) {
9335
+ return buildChildWindowName({
9336
+ name: name,
9337
+ serializedPayload: serializedPayload
9338
+ });
8914
9339
  });
8915
9340
 
8916
- var _ref5;
9341
+ var _ref7;
8917
9342
  });
8918
9343
  var openFramePromise = buildWindowNamePromise.then(function (windowName) {
8919
9344
  return openFrame(context, {
@@ -8925,12 +9350,12 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8925
9350
  proxyContainer: getProxyContainerPromise,
8926
9351
  proxyFrame: openFramePromise,
8927
9352
  proxyPrerenderFrame: openPrerenderFramePromise
8928
- }).then(function (_ref12) {
8929
- return renderContainer(_ref12.proxyContainer, {
9353
+ }).then(function (_ref15) {
9354
+ return renderContainer(_ref15.proxyContainer, {
8930
9355
  context: context,
8931
- uid: uid,
8932
- proxyFrame: _ref12.proxyFrame,
8933
- proxyPrerenderFrame: _ref12.proxyPrerenderFrame
9356
+ proxyFrame: _ref15.proxyFrame,
9357
+ proxyPrerenderFrame: _ref15.proxyPrerenderFrame,
9358
+ rerender: rerender
8934
9359
  });
8935
9360
  }).then(function (proxyContainer) {
8936
9361
  return proxyContainer;
@@ -8939,19 +9364,19 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8939
9364
  windowName: buildWindowNamePromise,
8940
9365
  proxyFrame: openFramePromise,
8941
9366
  proxyWin: getProxyWindowPromise
8942
- }).then(function (_ref13) {
8943
- var proxyWin = _ref13.proxyWin;
9367
+ }).then(function (_ref16) {
9368
+ var proxyWin = _ref16.proxyWin;
8944
9369
  return windowProp ? proxyWin : open(context, {
8945
- windowName: _ref13.windowName,
9370
+ windowName: _ref16.windowName,
8946
9371
  proxyWin: proxyWin,
8947
- proxyFrame: _ref13.proxyFrame
9372
+ proxyFrame: _ref16.proxyFrame
8948
9373
  });
8949
9374
  });
8950
9375
  var openPrerenderPromise = promise_ZalgoPromise.hash({
8951
9376
  proxyWin: openPromise,
8952
9377
  proxyPrerenderFrame: openPrerenderFramePromise
8953
- }).then(function (_ref14) {
8954
- return openPrerender(context, _ref14.proxyWin, _ref14.proxyPrerenderFrame);
9378
+ }).then(function (_ref17) {
9379
+ return openPrerender(context, _ref17.proxyWin, _ref17.proxyPrerenderFrame);
8955
9380
  });
8956
9381
  var setStatePromise = openPromise.then(function (proxyWin) {
8957
9382
  currentProxyWin = proxyWin;
@@ -8960,25 +9385,34 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8960
9385
  var prerenderPromise = promise_ZalgoPromise.hash({
8961
9386
  proxyPrerenderWin: openPrerenderPromise,
8962
9387
  state: setStatePromise
8963
- }).then(function (_ref15) {
8964
- return prerender(_ref15.proxyPrerenderWin, {
8965
- context: context,
8966
- uid: uid
9388
+ }).then(function (_ref18) {
9389
+ return prerender(_ref18.proxyPrerenderWin, {
9390
+ context: context
8967
9391
  });
8968
9392
  });
8969
9393
  var setWindowNamePromise = promise_ZalgoPromise.hash({
8970
9394
  proxyWin: openPromise,
8971
9395
  windowName: buildWindowNamePromise
8972
- }).then(function (_ref16) {
8973
- if (windowProp) return _ref16.proxyWin.setName(_ref16.windowName);
9396
+ }).then(function (_ref19) {
9397
+ if (windowProp) return _ref19.proxyWin.setName(_ref19.windowName);
9398
+ });
9399
+ var getMethodPromise = promise_ZalgoPromise.hash({
9400
+ body: buildBodyPromise
9401
+ }).then(function (_ref20) {
9402
+ return options.method ? options.method : Object.keys(_ref20.body).length ? "post" : "get";
8974
9403
  });
8975
9404
  var loadUrlPromise = promise_ZalgoPromise.hash({
8976
9405
  proxyWin: openPromise,
8977
- builtUrl: buildUrlPromise,
9406
+ windowUrl: buildUrlPromise,
9407
+ body: buildBodyPromise,
9408
+ method: getMethodPromise,
8978
9409
  windowName: setWindowNamePromise,
8979
9410
  prerender: prerenderPromise
8980
- }).then(function (_ref17) {
8981
- return _ref17.proxyWin.setLocation(_ref17.builtUrl);
9411
+ }).then(function (_ref21) {
9412
+ return _ref21.proxyWin.setLocation(_ref21.windowUrl, {
9413
+ method: _ref21.method,
9414
+ body: _ref21.body
9415
+ });
8982
9416
  });
8983
9417
  var watchForClosePromise = openPromise.then(function (proxyWin) {
8984
9418
  !function watchForClose(proxyWin, context) {
@@ -8989,7 +9423,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
8989
9423
  return promise_ZalgoPromise.delay(2e3).then(function () {
8990
9424
  return proxyWin.isClosed();
8991
9425
  }).then(function (isClosed) {
8992
- return isClosed ? close(new Error("Detected " + context + " close")) : cancelled ? void 0 : watchForClose(proxyWin, context);
9426
+ if (!cancelled) return isClosed ? close(new Error("Detected " + context + " close")) : watchForClose(proxyWin, context);
8993
9427
  });
8994
9428
  }(proxyWin, context);
8995
9429
  });
@@ -9000,24 +9434,24 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9000
9434
  return event.trigger(EVENT.DISPLAY);
9001
9435
  });
9002
9436
  var openBridgePromise = openPromise.then(function (proxyWin) {
9003
- return function (proxyWin, domain, context) {
9437
+ return function (proxyWin, initialChildDomain, context) {
9004
9438
  return promise_ZalgoPromise["try"](function () {
9005
9439
  return proxyWin.awaitWindow();
9006
9440
  }).then(function (win) {
9007
9441
  if (src_bridge && src_bridge.needsBridge({
9008
9442
  win: win,
9009
- domain: domain
9010
- }) && !src_bridge.hasBridge(domain, domain)) {
9443
+ domain: initialChildDomain
9444
+ }) && !src_bridge.hasBridge(initialChildDomain, initialChildDomain)) {
9011
9445
  var bridgeUrl = "function" == typeof options.bridgeUrl ? options.bridgeUrl({
9012
9446
  props: props
9013
9447
  }) : options.bridgeUrl;
9014
9448
  if (!bridgeUrl) throw new Error("Bridge needed to render " + context);
9015
9449
  var bridgeDomain = getDomainFromUrl(bridgeUrl);
9016
- src_bridge.linkUrl(win, domain);
9450
+ src_bridge.linkUrl(win, initialChildDomain);
9017
9451
  return src_bridge.openBridge(normalizeMockUrl(bridgeUrl), bridgeDomain);
9018
9452
  }
9019
9453
  });
9020
- }(proxyWin, childDomain, context);
9454
+ }(proxyWin, initialChildDomain, context);
9021
9455
  });
9022
9456
  var runTimeoutPromise = loadUrlPromise.then(function () {
9023
9457
  return promise_ZalgoPromise["try"](function () {
@@ -9049,7 +9483,8 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9049
9483
  runTimeoutPromise: runTimeoutPromise,
9050
9484
  onRenderedPromise: onRenderedPromise,
9051
9485
  delegatePromise: delegatePromise,
9052
- watchForUnloadPromise: watchForUnloadPromise
9486
+ watchForUnloadPromise: watchForUnloadPromise,
9487
+ finalSetPropsPromise: finalSetPropsPromise
9053
9488
  });
9054
9489
  })["catch"](function (err) {
9055
9490
  return promise_ZalgoPromise.all([onError(err), destroy(err)]).then(function () {
@@ -9060,7 +9495,11 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9060
9495
  }).then(src_util_noop);
9061
9496
  },
9062
9497
  destroy: destroy,
9498
+ getProps: function getProps() {
9499
+ return props;
9500
+ },
9063
9501
  setProps: setProps,
9502
+ "export": xport,
9064
9503
  getHelpers: getHelpers,
9065
9504
  getDelegateOverrides: function getDelegateOverrides() {
9066
9505
  return promise_ZalgoPromise["try"](function () {
@@ -9079,6 +9518,13 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9079
9518
  setProxyWin: setProxyWin
9080
9519
  };
9081
9520
  });
9521
+ },
9522
+ getExports: function getExports() {
9523
+ return xports({
9524
+ getExports: function getExports() {
9525
+ return exportsPromise;
9526
+ }
9527
+ });
9082
9528
  }
9083
9529
  };
9084
9530
  }
@@ -9126,7 +9572,17 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9126
9572
  inheritAttrs: !1,
9127
9573
  mounted: function mounted() {
9128
9574
  var el = this.$el;
9129
- this.parent = init(_extends({}, this.$attrs));
9575
+ this.parent = init(_extends({}, (props = this.$attrs, Object.keys(props).reduce(function (acc, key) {
9576
+ var value = props[key];
9577
+
9578
+ if ("style-object" === key || "styleObject" === key) {
9579
+ acc.style = value;
9580
+ acc.styleObject = value;
9581
+ } else key.includes("-") ? acc[dasherizeToCamel(key)] = value : acc[key] = value;
9582
+
9583
+ return acc;
9584
+ }, {}))));
9585
+ var props;
9130
9586
  this.parent.render(el, CONTEXT.IFRAME);
9131
9587
  },
9132
9588
  watch: {
@@ -9140,11 +9596,40 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9140
9596
  });
9141
9597
  }
9142
9598
  };
9599
+ var vue3 = {
9600
+ register: function register(tag, propsDef, init) {
9601
+ return {
9602
+ template: "<div></div>",
9603
+ inheritAttrs: !1,
9604
+ mounted: function mounted() {
9605
+ var el = this.$el;
9606
+ this.parent = init(_extends({}, (props = this.$attrs, Object.keys(props).reduce(function (acc, key) {
9607
+ var value = props[key];
9608
+
9609
+ if ("style-object" === key || "styleObject" === key) {
9610
+ acc.style = value;
9611
+ acc.styleObject = value;
9612
+ } else key.includes("-") ? acc[dasherizeToCamel(key)] = value : acc[key] = value;
9613
+
9614
+ return acc;
9615
+ }, {}))));
9616
+ var props;
9617
+ this.parent.render(el, CONTEXT.IFRAME);
9618
+ },
9619
+ watch: {
9620
+ $attrs: {
9621
+ handler: function handler() {
9622
+ this.parent && this.$attrs && this.parent.updateProps(_extends({}, this.$attrs))["catch"](src_util_noop);
9623
+ },
9624
+ deep: !0
9625
+ }
9626
+ }
9627
+ };
9628
+ }
9629
+ };
9143
9630
  var angular = {
9144
9631
  register: function register(tag, propsDef, init, ng) {
9145
- return ng.module(tag, []).directive(tag.replace(/-([a-z])/g, function (g) {
9146
- return g[1].toUpperCase();
9147
- }), function () {
9632
+ return ng.module(tag, []).directive(dasherizeToCamel(tag), function () {
9148
9633
  var scope = {};
9149
9634
 
9150
9635
  for (var _i2 = 0, _Object$keys2 = Object.keys(propsDef); _i2 < _Object$keys2.length; _i2++) {
@@ -9184,39 +9669,54 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9184
9669
  };
9185
9670
  var angular2 = {
9186
9671
  register: function register(tag, propsDef, init, _ref) {
9187
- var NgModule = _ref.NgModule,
9672
+ var AngularComponent = _ref.Component,
9673
+ NgModule = _ref.NgModule,
9188
9674
  ElementRef = _ref.ElementRef,
9189
- NgZone = _ref.NgZone;
9190
-
9191
- var getProps = function getProps(component) {
9192
- return replaceObject(_extends({}, component.internalProps, component.props), function (item) {
9193
- return "function" == typeof item ? function () {
9194
- var _arguments = arguments,
9195
- _this = this;
9196
-
9197
- return component.zone.run(function () {
9198
- return item.apply(_this, _arguments);
9199
- });
9200
- } : item;
9201
- });
9202
- };
9203
-
9204
- var ComponentInstance = (0, _ref.Component)({
9205
- selector: tag,
9206
- template: "<div></div>",
9207
- inputs: ["props"]
9208
- }).Class({
9209
- constructor: [ElementRef, NgZone, function (elementRef, zone) {
9675
+ NgZone = _ref.NgZone,
9676
+ Inject = _ref.Inject;
9677
+
9678
+ var ComponentInstance = function () {
9679
+ function ComponentInstance(elementRef, zone) {
9680
+ this.elementRef = void 0;
9681
+ this.internalProps = void 0;
9682
+ this.parent = void 0;
9683
+ this.props = void 0;
9684
+ this.zone = void 0;
9685
+ this._props = void 0;
9210
9686
  this._props = {};
9211
9687
  this.elementRef = elementRef;
9212
9688
  this.zone = zone;
9213
- }],
9214
- ngOnInit: function ngOnInit() {
9689
+ }
9690
+
9691
+ var _proto = ComponentInstance.prototype;
9692
+
9693
+ _proto.getProps = function () {
9694
+ var _this = this;
9695
+
9696
+ return replaceObject(_extends({}, this.internalProps, this.props), function (item) {
9697
+ if ("function" == typeof item) {
9698
+ var zone = _this.zone;
9699
+ return function () {
9700
+ var _arguments = arguments,
9701
+ _this2 = this;
9702
+
9703
+ return zone.run(function () {
9704
+ return item.apply(_this2, _arguments);
9705
+ });
9706
+ };
9707
+ }
9708
+
9709
+ return item;
9710
+ });
9711
+ };
9712
+
9713
+ _proto.ngOnInit = function () {
9215
9714
  var targetElement = this.elementRef.nativeElement;
9216
- this.parent = init(getProps(this));
9715
+ this.parent = init(this.getProps());
9217
9716
  this.parent.render(targetElement, CONTEXT.IFRAME);
9218
- },
9219
- ngDoCheck: function ngDoCheck() {
9717
+ };
9718
+
9719
+ _proto.ngDoCheck = function () {
9220
9720
  if (this.parent && !function (obj1, obj2) {
9221
9721
  var checked = {};
9222
9722
 
@@ -9234,16 +9734,30 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9234
9734
  return !0;
9235
9735
  }(this._props, this.props)) {
9236
9736
  this._props = _extends({}, this.props);
9237
- this.parent.updateProps(getProps(this));
9737
+ this.parent.updateProps(this.getProps());
9238
9738
  }
9239
- }
9240
- });
9241
- return NgModule({
9739
+ };
9740
+
9741
+ return ComponentInstance;
9742
+ }();
9743
+
9744
+ ComponentInstance.annotations = void 0;
9745
+ ComponentInstance.parameters = void 0;
9746
+ ComponentInstance.parameters = [[new Inject(ElementRef)], [new Inject(NgZone)]];
9747
+ ComponentInstance.annotations = [new AngularComponent({
9748
+ selector: tag,
9749
+ template: "<div></div>",
9750
+ inputs: ["props"]
9751
+ })];
9752
+
9753
+ var ModuleInstance = function ModuleInstance() {};
9754
+
9755
+ ModuleInstance.annotations = void 0;
9756
+ ModuleInstance.annotations = [new NgModule({
9242
9757
  declarations: [ComponentInstance],
9243
9758
  exports: [ComponentInstance]
9244
- }).Class({
9245
- constructor: function constructor() {}
9246
- });
9759
+ })];
9760
+ return ModuleInstance;
9247
9761
  }
9248
9762
  };
9249
9763
 
@@ -9254,9 +9768,9 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9254
9768
  doc = _ref.doc,
9255
9769
  props = _ref.props,
9256
9770
  event = _ref.event,
9257
- _ref$dimensions = _ref.dimensions,
9258
- width = _ref$dimensions.width,
9259
- height = _ref$dimensions.height;
9771
+ dimensions = _ref.dimensions;
9772
+ var width = dimensions.width,
9773
+ height = dimensions.height;
9260
9774
 
9261
9775
  if (frame && prerenderFrame) {
9262
9776
  var div = doc.createElement("div");
@@ -9304,25 +9818,17 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9304
9818
  return html;
9305
9819
  }
9306
9820
 
9307
- var props_defaultNoop = function props_defaultNoop() {
9308
- return src_util_noop;
9309
- };
9310
-
9311
- var props_decorateOnce = function props_decorateOnce(_ref) {
9312
- return once(_ref.value);
9313
- };
9314
-
9315
9821
  var cleanInstances = cleanup();
9316
9822
  var cleanZoid = cleanup();
9317
9823
 
9318
- function component_component(opts) {
9824
+ function component(opts) {
9319
9825
  var options = function (options) {
9320
9826
  var tag = options.tag,
9321
9827
  url = options.url,
9322
9828
  domain = options.domain,
9323
9829
  bridgeUrl = options.bridgeUrl,
9324
9830
  _options$props = options.props,
9325
- propsDef = void 0 === _options$props ? {} : _options$props,
9831
+ props = void 0 === _options$props ? {} : _options$props,
9326
9832
  _options$dimensions = options.dimensions,
9327
9833
  dimensions = void 0 === _options$dimensions ? {} : _options$dimensions,
9328
9834
  _options$autoResize = options.autoResize,
@@ -9347,15 +9853,19 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9347
9853
  _options$logger = options.logger,
9348
9854
  logger = void 0 === _options$logger ? {
9349
9855
  info: src_util_noop
9350
- } : _options$logger;
9856
+ } : _options$logger,
9857
+ _options$exports = options.exports,
9858
+ xportsDefinition = void 0 === _options$exports ? src_util_noop : _options$exports,
9859
+ method = options.method,
9860
+ _options$children = options.children,
9861
+ children = void 0 === _options$children ? function () {
9862
+ return {};
9863
+ } : _options$children;
9351
9864
  var name = tag.replace(/-/g, "_");
9352
- var _dimensions$width = dimensions.width,
9353
- width = void 0 === _dimensions$width ? "300px" : _dimensions$width,
9354
- _dimensions$height = dimensions.height,
9355
- height = void 0 === _dimensions$height ? "150px" : _dimensions$height;
9356
- propsDef = _extends({}, {
9865
+
9866
+ var propsDef = _extends({}, {
9357
9867
  window: {
9358
- type: "object",
9868
+ type: PROP_TYPE.OBJECT,
9359
9869
  sendToChild: !1,
9360
9870
  required: !1,
9361
9871
  allowDelegate: !0,
@@ -9373,12 +9883,82 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9373
9883
  }
9374
9884
  },
9375
9885
  timeout: {
9376
- type: "number",
9886
+ type: PROP_TYPE.NUMBER,
9377
9887
  required: !1,
9378
9888
  sendToChild: !1
9379
9889
  },
9890
+ cspNonce: {
9891
+ type: PROP_TYPE.STRING,
9892
+ required: !1
9893
+ },
9894
+ onDisplay: {
9895
+ type: PROP_TYPE.FUNCTION,
9896
+ required: !1,
9897
+ sendToChild: !1,
9898
+ allowDelegate: !0,
9899
+ "default": props_defaultNoop,
9900
+ decorate: props_decorateOnce
9901
+ },
9902
+ onRendered: {
9903
+ type: PROP_TYPE.FUNCTION,
9904
+ required: !1,
9905
+ sendToChild: !1,
9906
+ "default": props_defaultNoop,
9907
+ decorate: props_decorateOnce
9908
+ },
9909
+ onRender: {
9910
+ type: PROP_TYPE.FUNCTION,
9911
+ required: !1,
9912
+ sendToChild: !1,
9913
+ "default": props_defaultNoop,
9914
+ decorate: props_decorateOnce
9915
+ },
9916
+ onPrerendered: {
9917
+ type: PROP_TYPE.FUNCTION,
9918
+ required: !1,
9919
+ sendToChild: !1,
9920
+ "default": props_defaultNoop,
9921
+ decorate: props_decorateOnce
9922
+ },
9923
+ onPrerender: {
9924
+ type: PROP_TYPE.FUNCTION,
9925
+ required: !1,
9926
+ sendToChild: !1,
9927
+ "default": props_defaultNoop,
9928
+ decorate: props_decorateOnce
9929
+ },
9930
+ onClose: {
9931
+ type: PROP_TYPE.FUNCTION,
9932
+ required: !1,
9933
+ sendToChild: !1,
9934
+ allowDelegate: !0,
9935
+ "default": props_defaultNoop,
9936
+ decorate: props_decorateOnce
9937
+ },
9938
+ onDestroy: {
9939
+ type: PROP_TYPE.FUNCTION,
9940
+ required: !1,
9941
+ sendToChild: !1,
9942
+ allowDelegate: !0,
9943
+ "default": props_defaultNoop,
9944
+ decorate: props_decorateOnce
9945
+ },
9946
+ onResize: {
9947
+ type: PROP_TYPE.FUNCTION,
9948
+ required: !1,
9949
+ sendToChild: !1,
9950
+ allowDelegate: !0,
9951
+ "default": props_defaultNoop
9952
+ },
9953
+ onFocus: {
9954
+ type: PROP_TYPE.FUNCTION,
9955
+ required: !1,
9956
+ sendToChild: !1,
9957
+ allowDelegate: !0,
9958
+ "default": props_defaultNoop
9959
+ },
9380
9960
  close: {
9381
- type: "function",
9961
+ type: PROP_TYPE.FUNCTION,
9382
9962
  required: !1,
9383
9963
  sendToChild: !1,
9384
9964
  childDecorate: function childDecorate(_ref4) {
@@ -9386,7 +9966,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9386
9966
  }
9387
9967
  },
9388
9968
  focus: {
9389
- type: "function",
9969
+ type: PROP_TYPE.FUNCTION,
9390
9970
  required: !1,
9391
9971
  sendToChild: !1,
9392
9972
  childDecorate: function childDecorate(_ref5) {
@@ -9394,7 +9974,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9394
9974
  }
9395
9975
  },
9396
9976
  resize: {
9397
- type: "function",
9977
+ type: PROP_TYPE.FUNCTION,
9398
9978
  required: !1,
9399
9979
  sendToChild: !1,
9400
9980
  childDecorate: function childDecorate(_ref6) {
@@ -9402,119 +9982,87 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9402
9982
  }
9403
9983
  },
9404
9984
  uid: {
9405
- type: "string",
9985
+ type: PROP_TYPE.STRING,
9406
9986
  required: !1,
9407
9987
  sendToChild: !1,
9408
9988
  childDecorate: function childDecorate(_ref7) {
9409
9989
  return _ref7.uid;
9410
9990
  }
9411
9991
  },
9412
- cspNonce: {
9413
- type: "string",
9414
- required: !1
9415
- },
9416
- getParent: {
9417
- type: "function",
9992
+ tag: {
9993
+ type: PROP_TYPE.STRING,
9418
9994
  required: !1,
9419
9995
  sendToChild: !1,
9420
9996
  childDecorate: function childDecorate(_ref8) {
9421
- return _ref8.getParent;
9997
+ return _ref8.tag;
9422
9998
  }
9423
9999
  },
9424
- getParentDomain: {
9425
- type: "function",
10000
+ getParent: {
10001
+ type: PROP_TYPE.FUNCTION,
9426
10002
  required: !1,
9427
10003
  sendToChild: !1,
9428
10004
  childDecorate: function childDecorate(_ref9) {
9429
- return _ref9.getParentDomain;
10005
+ return _ref9.getParent;
9430
10006
  }
9431
10007
  },
9432
- show: {
9433
- type: "function",
10008
+ getParentDomain: {
10009
+ type: PROP_TYPE.FUNCTION,
9434
10010
  required: !1,
9435
10011
  sendToChild: !1,
9436
10012
  childDecorate: function childDecorate(_ref10) {
9437
- return _ref10.show;
10013
+ return _ref10.getParentDomain;
9438
10014
  }
9439
10015
  },
9440
- hide: {
9441
- type: "function",
10016
+ show: {
10017
+ type: PROP_TYPE.FUNCTION,
9442
10018
  required: !1,
9443
10019
  sendToChild: !1,
9444
10020
  childDecorate: function childDecorate(_ref11) {
9445
- return _ref11.hide;
10021
+ return _ref11.show;
9446
10022
  }
9447
10023
  },
9448
- onDisplay: {
9449
- type: "function",
9450
- required: !1,
9451
- sendToChild: !1,
9452
- allowDelegate: !0,
9453
- "default": props_defaultNoop,
9454
- decorate: props_decorateOnce
9455
- },
9456
- onRendered: {
9457
- type: "function",
9458
- required: !1,
9459
- sendToChild: !1,
9460
- "default": props_defaultNoop,
9461
- decorate: props_decorateOnce
9462
- },
9463
- onRender: {
9464
- type: "function",
9465
- required: !1,
9466
- sendToChild: !1,
9467
- "default": props_defaultNoop,
9468
- decorate: props_decorateOnce
9469
- },
9470
- onClose: {
9471
- type: "function",
9472
- required: !1,
9473
- sendToChild: !1,
9474
- allowDelegate: !0,
9475
- "default": props_defaultNoop,
9476
- decorate: props_decorateOnce
9477
- },
9478
- onDestroy: {
9479
- type: "function",
10024
+ hide: {
10025
+ type: PROP_TYPE.FUNCTION,
9480
10026
  required: !1,
9481
10027
  sendToChild: !1,
9482
- allowDelegate: !0,
9483
- "default": props_defaultNoop,
9484
- decorate: props_decorateOnce
10028
+ childDecorate: function childDecorate(_ref12) {
10029
+ return _ref12.hide;
10030
+ }
9485
10031
  },
9486
- onResize: {
9487
- type: "function",
10032
+ "export": {
10033
+ type: PROP_TYPE.FUNCTION,
9488
10034
  required: !1,
9489
10035
  sendToChild: !1,
9490
- allowDelegate: !0,
9491
- "default": props_defaultNoop
10036
+ childDecorate: function childDecorate(_ref13) {
10037
+ return _ref13["export"];
10038
+ }
9492
10039
  },
9493
- onFocus: {
9494
- type: "function",
10040
+ onError: {
10041
+ type: PROP_TYPE.FUNCTION,
9495
10042
  required: !1,
9496
10043
  sendToChild: !1,
9497
- allowDelegate: !0,
9498
- "default": props_defaultNoop
10044
+ childDecorate: function childDecorate(_ref14) {
10045
+ return _ref14.onError;
10046
+ }
9499
10047
  },
9500
- onError: {
9501
- type: "function",
10048
+ onProps: {
10049
+ type: PROP_TYPE.FUNCTION,
9502
10050
  required: !1,
9503
10051
  sendToChild: !1,
9504
- childDecorate: function childDecorate(_ref12) {
9505
- return _ref12.onError;
10052
+ childDecorate: function childDecorate(_ref15) {
10053
+ return _ref15.onProps;
9506
10054
  }
9507
10055
  },
9508
- onProps: {
9509
- type: "function",
10056
+ getSiblings: {
10057
+ type: PROP_TYPE.FUNCTION,
9510
10058
  required: !1,
9511
10059
  sendToChild: !1,
9512
- "default": props_defaultNoop,
9513
- childDecorate: function childDecorate(_ref13) {
9514
- return _ref13.onProps;
10060
+ childDecorate: function childDecorate(_ref16) {
10061
+ return _ref16.getSiblings;
9515
10062
  }
9516
10063
  }
9517
- }, propsDef);
10064
+ }, props);
10065
+
9518
10066
  if (!containerTemplate) throw new Error("Container template required");
9519
10067
  return {
9520
10068
  name: name,
@@ -9522,11 +10070,9 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9522
10070
  url: url,
9523
10071
  domain: domain,
9524
10072
  bridgeUrl: bridgeUrl,
10073
+ method: method,
9525
10074
  propsDef: propsDef,
9526
- dimensions: {
9527
- width: width,
9528
- height: height
9529
- },
10075
+ dimensions: dimensions,
9530
10076
  autoResize: autoResize,
9531
10077
  allowedParentDomains: allowedParentDomains,
9532
10078
  attributes: attributes,
@@ -9535,7 +10081,35 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9535
10081
  prerenderTemplate: prerenderTemplate,
9536
10082
  validate: validate,
9537
10083
  logger: logger,
9538
- eligible: eligible
10084
+ eligible: eligible,
10085
+ children: children,
10086
+ exports: "function" == typeof xportsDefinition ? xportsDefinition : function (_ref) {
10087
+ var getExports = _ref.getExports;
10088
+ var result = {};
10089
+
10090
+ var _loop = function _loop() {
10091
+ var key = _Object$keys2[_i2];
10092
+ var type = xportsDefinition[key].type;
10093
+ var valuePromise = getExports().then(function (res) {
10094
+ return res[key];
10095
+ });
10096
+ result[key] = type === PROP_TYPE.FUNCTION ? function () {
10097
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10098
+ args[_key] = arguments[_key];
10099
+ }
10100
+
10101
+ return valuePromise.then(function (value) {
10102
+ return value.apply(void 0, args);
10103
+ });
10104
+ } : valuePromise;
10105
+ };
10106
+
10107
+ for (var _i2 = 0, _Object$keys2 = Object.keys(xportsDefinition); _i2 < _Object$keys2.length; _i2++) {
10108
+ _loop();
10109
+ }
10110
+
10111
+ return result;
10112
+ }
9539
10113
  };
9540
10114
  }(opts);
9541
10115
 
@@ -9543,14 +10117,25 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9543
10117
  tag = options.tag,
9544
10118
  defaultContext = options.defaultContext,
9545
10119
  propsDef = options.propsDef,
9546
- eligible = options.eligible;
9547
- var global = lib_global_getGlobal();
10120
+ eligible = options.eligible,
10121
+ children = options.children;
10122
+ var global = lib_global_getGlobal(window);
9548
10123
  var driverCache = {};
9549
10124
  var instances = [];
9550
10125
 
9551
10126
  var isChild = function isChild() {
9552
- var payload = getChildPayload();
9553
- return Boolean(payload && payload.tag === tag && payload.childDomain === getDomain());
10127
+ if (function (name) {
10128
+ try {
10129
+ return parseWindowName(window.name).name === name;
10130
+ } catch (err) {}
10131
+
10132
+ return !1;
10133
+ }(name)) {
10134
+ var _payload = getInitialParentPayload().payload;
10135
+ if (_payload.tag === tag && matchDomain(_payload.childDomainMatch, getDomain())) return !0;
10136
+ }
10137
+
10138
+ return !1;
9554
10139
  };
9555
10140
 
9556
10141
  var registerChild = memoize(function () {
@@ -9561,60 +10146,37 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9561
10146
  }
9562
10147
 
9563
10148
  var child = function (options) {
9564
- var propsDef = options.propsDef,
10149
+ var tag = options.tag,
10150
+ propsDef = options.propsDef,
9565
10151
  autoResize = options.autoResize,
9566
10152
  allowedParentDomains = options.allowedParentDomains;
9567
10153
  var onPropHandlers = [];
9568
- var childPayload = getChildPayload();
9569
- var props;
9570
- if (!childPayload) throw new Error("No child payload found");
9571
- if ("9_0_63" !== childPayload.version) throw new Error("Parent window has zoid version " + childPayload.version + ", child window has version 9_0_63");
9572
- var uid = childPayload.uid,
9573
- parentDomain = childPayload.parentDomain,
9574
- exports = childPayload.exports,
9575
- context = childPayload.context,
9576
- propsRef = childPayload.props;
9577
-
9578
- var parentComponentWindow = function (ref) {
9579
- var type = ref.type;
9580
- if ("opener" === type) return assertExists("opener", getOpener(window));
9581
- if ("parent" === type && "number" == typeof ref.distance) return assertExists("parent", function (win, n) {
9582
- void 0 === n && (n = 1);
9583
- return function (win, n) {
9584
- void 0 === n && (n = 1);
9585
- var parent = win;
9586
-
9587
- for (var i = 0; i < n; i++) {
9588
- if (!parent) return;
9589
- parent = utils_getParent(parent);
9590
- }
9591
-
9592
- return parent;
9593
- }(win, getDistanceFromTop(win) - n);
9594
- }(window, ref.distance));
9595
-
9596
- if ("global" === type && ref.uid && "string" == typeof ref.uid) {
9597
- var uid = ref.uid;
9598
- var ancestor = getAncestor(window);
9599
- if (!ancestor) throw new Error("Can not find ancestor window");
9600
-
9601
- for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(ancestor); _i2 < _getAllFramesInWindow2.length; _i2++) {
9602
- var frame = _getAllFramesInWindow2[_i2];
9603
-
9604
- if (isSameDomain(frame)) {
9605
- var global = lib_global_getGlobal(frame);
9606
- if (global && global.windows && global.windows[uid]) return global.windows[uid];
9607
- }
9608
- }
9609
- }
9610
10154
 
9611
- throw new Error("Unable to find " + type + " parent component window");
9612
- }(childPayload.parent);
10155
+ var _getInitialParentPayl = getInitialParentPayload(),
10156
+ parent = _getInitialParentPayl.parent,
10157
+ payload = _getInitialParentPayl.payload;
9613
10158
 
9614
- var parent = setup_deserializeMessage(parentComponentWindow, parentDomain, exports);
9615
- var show = parent.show,
9616
- hide = parent.hide,
9617
- close = parent.close;
10159
+ var parentComponentWindow = parent.win,
10160
+ parentDomain = parent.domain;
10161
+ var props;
10162
+ var exportsPromise = new promise_ZalgoPromise();
10163
+ var version = payload.version,
10164
+ uid = payload.uid,
10165
+ parentExports = payload.exports,
10166
+ context = payload.context,
10167
+ initialProps = payload.props;
10168
+ if (!function (version1, version2) {
10169
+ if (!/_/.test(version1) || !/_/.test("10_3_1")) throw new Error("Versions are in an invalid format (" + version1 + ", 10_3_1)");
10170
+ return version1.split("_")[0] === "10_3_1".split("_")[0];
10171
+ }(version)) throw new Error("Parent window has zoid version " + version + ", child window has version 10_3_1");
10172
+ var show = parentExports.show,
10173
+ hide = parentExports.hide,
10174
+ close = parentExports.close,
10175
+ onError = parentExports.onError,
10176
+ checkClose = parentExports.checkClose,
10177
+ parentExport = parentExports["export"],
10178
+ parentResize = parentExports.resize,
10179
+ parentInit = parentExports.init;
9618
10180
 
9619
10181
  var getParent = function getParent() {
9620
10182
  return parentComponentWindow;
@@ -9626,20 +10188,55 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9626
10188
 
9627
10189
  var onProps = function onProps(handler) {
9628
10190
  onPropHandlers.push(handler);
10191
+ return {
10192
+ cancel: function cancel() {
10193
+ onPropHandlers.splice(onPropHandlers.indexOf(handler), 1);
10194
+ }
10195
+ };
9629
10196
  };
9630
10197
 
9631
- var onError = function onError(err) {
9632
- return promise_ZalgoPromise["try"](function () {
9633
- if (parent && parent.onError) return parent.onError(err);
9634
- throw err;
10198
+ var resize = function resize(_ref) {
10199
+ return parentResize.fireAndForget({
10200
+ width: _ref.width,
10201
+ height: _ref.height
9635
10202
  });
9636
10203
  };
9637
10204
 
9638
- var resize = function resize(_ref2) {
9639
- return parent.resize.fireAndForget({
9640
- width: _ref2.width,
9641
- height: _ref2.height
9642
- });
10205
+ var xport = function xport(xports) {
10206
+ exportsPromise.resolve(xports);
10207
+ return parentExport(xports);
10208
+ };
10209
+
10210
+ var getSiblings = function getSiblings(_temp) {
10211
+ var anyParent = (void 0 === _temp ? {} : _temp).anyParent;
10212
+ var result = [];
10213
+ var currentParent = props.parent;
10214
+ void 0 === anyParent && (anyParent = !currentParent);
10215
+ if (!anyParent && !currentParent) throw new Error("No parent found for " + tag + " child");
10216
+
10217
+ for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(window); _i2 < _getAllFramesInWindow2.length; _i2++) {
10218
+ var win = _getAllFramesInWindow2[_i2];
10219
+
10220
+ if (isSameDomain(win)) {
10221
+ var xprops = assertSameDomain(win).xprops;
10222
+
10223
+ if (xprops && getParent() === xprops.getParent()) {
10224
+ var winParent = xprops.parent;
10225
+
10226
+ if (anyParent || !currentParent || winParent && winParent.uid === currentParent.uid) {
10227
+ var xports = tryGlobal(win, function (global) {
10228
+ return global.exports;
10229
+ });
10230
+ result.push({
10231
+ props: xprops,
10232
+ exports: xports
10233
+ });
10234
+ }
10235
+ }
10236
+ }
10237
+ }
10238
+
10239
+ return result;
9643
10240
  };
9644
10241
 
9645
10242
  var setProps = function setProps(newProps, origin, isUpdate) {
@@ -9652,8 +10249,11 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9652
10249
  for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {
9653
10250
  var key = _Object$keys2[_i2];
9654
10251
  var prop = propsDef[key];
10252
+ var trustedChild = prop && prop.trustedDomains && prop.trustedDomains.length > 0 ? prop.trustedDomains.reduce(function (acc, val) {
10253
+ return acc || matchDomain(val, getDomain(window));
10254
+ }, !1) : origin === getDomain(window) || isSameDomain(parentComponentWindow);
9655
10255
 
9656
- if (!prop || !prop.sameDomain || origin === getDomain(window) && isSameDomain(parentComponentWindow)) {
10256
+ if ((!prop || !prop.sameDomain || trustedChild) && (!prop || !prop.trustedDomains || trustedChild)) {
9657
10257
  var value = normalizeChildProp(propsDef, 0, key, props[key], helpers);
9658
10258
  result[key] = value;
9659
10259
  prop && prop.alias && !result[prop.alias] && (result[prop.alias] = value);
@@ -9666,16 +10266,19 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9666
10266
  }
9667
10267
  return result;
9668
10268
  }(parentComponentWindow, propsDef, newProps, origin, {
10269
+ tag: tag,
9669
10270
  show: show,
9670
10271
  hide: hide,
9671
10272
  close: close,
9672
10273
  focus: child_focus,
9673
10274
  onError: onError,
9674
10275
  resize: resize,
10276
+ getSiblings: getSiblings,
9675
10277
  onProps: onProps,
9676
10278
  getParent: getParent,
9677
10279
  getParentDomain: getParentDomain,
9678
- uid: uid
10280
+ uid: uid,
10281
+ "export": xport
9679
10282
  }, isUpdate);
9680
10283
 
9681
10284
  props ? extend(props, normalizedProps) : props = normalizedProps;
@@ -9694,22 +10297,65 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9694
10297
  return {
9695
10298
  init: function init() {
9696
10299
  return promise_ZalgoPromise["try"](function () {
10300
+ isSameDomain(parentComponentWindow) && function (_ref3) {
10301
+ var componentName = _ref3.componentName,
10302
+ parentComponentWindow = _ref3.parentComponentWindow;
10303
+
10304
+ var _crossDomainDeseriali2 = crossDomainDeserialize({
10305
+ data: parseWindowName(window.name).serializedInitialPayload,
10306
+ sender: {
10307
+ win: parentComponentWindow
10308
+ },
10309
+ basic: !0
10310
+ }),
10311
+ sender = _crossDomainDeseriali2.sender;
10312
+
10313
+ if ("uid" === _crossDomainDeseriali2.reference.type || "global" === _crossDomainDeseriali2.metaData.windowRef.type) {
10314
+ var _crossDomainSerialize = crossDomainSerialize({
10315
+ data: _crossDomainDeseriali2.data,
10316
+ metaData: {
10317
+ windowRef: window_getWindowRef(parentComponentWindow)
10318
+ },
10319
+ sender: {
10320
+ domain: sender.domain
10321
+ },
10322
+ receiver: {
10323
+ win: window,
10324
+ domain: getDomain()
10325
+ },
10326
+ basic: !0
10327
+ });
10328
+
10329
+ window.name = buildChildWindowName({
10330
+ name: componentName,
10331
+ serializedPayload: _crossDomainSerialize.serializedData
10332
+ });
10333
+ }
10334
+ }({
10335
+ componentName: options.name,
10336
+ parentComponentWindow: parentComponentWindow
10337
+ });
10338
+ lib_global_getGlobal(window).exports = options.exports({
10339
+ getExports: function getExports() {
10340
+ return exportsPromise;
10341
+ }
10342
+ });
9697
10343
  !function (allowedParentDomains, domain) {
9698
10344
  if (!matchDomain(allowedParentDomains, domain)) throw new Error("Can not be rendered by domain: " + domain);
9699
10345
  }(allowedParentDomains, parentDomain);
9700
10346
  markWindowKnown(parentComponentWindow);
9701
10347
  !function () {
9702
10348
  window.addEventListener("beforeunload", function () {
9703
- parent.checkClose.fireAndForget();
10349
+ checkClose.fireAndForget();
9704
10350
  });
9705
10351
  window.addEventListener("unload", function () {
9706
- parent.checkClose.fireAndForget();
10352
+ checkClose.fireAndForget();
9707
10353
  });
9708
10354
  onCloseWindow(parentComponentWindow, function () {
9709
10355
  child_destroy();
9710
10356
  });
9711
10357
  }();
9712
- return parent.init({
10358
+ return parentInit({
9713
10359
  updateProps: updateProps,
9714
10360
  close: child_destroy
9715
10361
  });
@@ -9742,18 +10388,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9742
10388
  },
9743
10389
  getProps: function getProps() {
9744
10390
  if (props) return props;
9745
- setProps(function (parentComponentWindow, domain, _ref) {
9746
- var type = _ref.type,
9747
- uid = _ref.uid;
9748
- var props;
9749
- if ("raw" === type) props = _ref.value;else if ("uid" === type) {
9750
- if (!isSameDomain(parentComponentWindow)) throw new Error("Parent component window is on a different domain - expected " + getDomain() + " - can not retrieve props");
9751
- var global = lib_global_getGlobal(parentComponentWindow);
9752
- props = assertExists("props", global && global.props[uid]);
9753
- }
9754
- if (!props) throw new Error("Could not find props");
9755
- return setup_deserializeMessage(parentComponentWindow, domain, props);
9756
- }(parentComponentWindow, parentDomain, propsRef), parentDomain);
10391
+ setProps(initialProps, parentDomain);
9757
10392
  return props;
9758
10393
  }
9759
10394
  };
@@ -9764,11 +10399,13 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9764
10399
  }
9765
10400
  });
9766
10401
 
9767
- var init = function init(props) {
10402
+ var init = function init(inputProps) {
9768
10403
  var instance;
10404
+ var uid = "zoid-" + tag + "-" + uniqueID();
10405
+ var props = inputProps || {};
9769
10406
 
9770
10407
  var _eligible = eligible({
9771
- props: props = props || {}
10408
+ props: props
9772
10409
  }),
9773
10410
  eligibility = _eligible.eligible,
9774
10411
  reason = _eligible.reason;
@@ -9780,13 +10417,21 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9780
10417
  if (onDestroy) return onDestroy.apply(void 0, arguments);
9781
10418
  };
9782
10419
 
9783
- var parent = parentComponent(options);
10420
+ var parent = parentComponent({
10421
+ uid: uid,
10422
+ options: options
10423
+ });
9784
10424
  parent.init();
9785
10425
  eligibility ? parent.setProps(props) : props.onDestroy && props.onDestroy();
9786
10426
  cleanInstances.register(function (err) {
9787
- parent.destroy(err || new Error("zoid destroyed all components"));
10427
+ return parent.destroy(err || new Error("zoid destroyed all components"));
9788
10428
  });
9789
10429
 
10430
+ var clone = function clone(_temp) {
10431
+ var _ref4$decorate = (void 0 === _temp ? {} : _temp).decorate;
10432
+ return init((void 0 === _ref4$decorate ? identity : _ref4$decorate)(props));
10433
+ };
10434
+
9790
10435
  var _render = function _render(target, container, context) {
9791
10436
  return promise_ZalgoPromise["try"](function () {
9792
10437
  if (!eligibility) {
@@ -9820,7 +10465,17 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9820
10465
  throw new Error("Expected element to be passed to render iframe");
9821
10466
  }(finalContext, container);
9822
10467
 
9823
- return parent.render(target, container, finalContext);
10468
+ if (target !== window && "string" != typeof container) throw new Error("Must pass string element when rendering to another window");
10469
+ return parent.render({
10470
+ target: target,
10471
+ container: container,
10472
+ context: finalContext,
10473
+ rerender: function rerender() {
10474
+ var newInstance = clone();
10475
+ extend(instance, newInstance);
10476
+ return newInstance.renderTo(target, container, context);
10477
+ }
10478
+ });
9824
10479
  })["catch"](function (err) {
9825
10480
  return parent.destroy(err).then(function () {
9826
10481
  throw err;
@@ -9828,14 +10483,39 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9828
10483
  });
9829
10484
  };
9830
10485
 
9831
- instance = _extends({}, parent.getHelpers(), {
10486
+ instance = _extends({}, parent.getExports(), parent.getHelpers(), function () {
10487
+ var childComponents = children();
10488
+ var result = {};
10489
+
10490
+ var _loop2 = function _loop2() {
10491
+ var childName = _Object$keys4[_i4];
10492
+ var Child = childComponents[childName];
10493
+
10494
+ result[childName] = function (childInputProps) {
10495
+ var parentProps = parent.getProps();
10496
+
10497
+ var childProps = _extends({}, childInputProps, {
10498
+ parent: {
10499
+ uid: uid,
10500
+ props: parentProps,
10501
+ "export": parent["export"]
10502
+ }
10503
+ });
10504
+
10505
+ return Child(childProps);
10506
+ };
10507
+ };
10508
+
10509
+ for (var _i4 = 0, _Object$keys4 = Object.keys(childComponents); _i4 < _Object$keys4.length; _i4++) {
10510
+ _loop2();
10511
+ }
10512
+
10513
+ return result;
10514
+ }(), {
9832
10515
  isEligible: function isEligible() {
9833
10516
  return eligibility;
9834
10517
  },
9835
- clone: function clone(_temp) {
9836
- var _ref3$decorate = (void 0 === _temp ? {} : _temp).decorate;
9837
- return init((void 0 === _ref3$decorate ? identity : _ref3$decorate)(props));
9838
- },
10518
+ clone: clone,
9839
10519
  render: function render(container, context) {
9840
10520
  return _render(window, container, context);
9841
10521
  },
@@ -9852,9 +10532,15 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9852
10532
  var allowDelegateListener = on_on("zoid_allow_delegate_" + name, function () {
9853
10533
  return !0;
9854
10534
  });
9855
- var delegateListener = on_on("zoid_delegate_" + name, function (_ref) {
10535
+ var delegateListener = on_on("zoid_delegate_" + name, function (_ref2) {
10536
+ var _ref2$data = _ref2.data;
9856
10537
  return {
9857
- parent: parentComponent(options, _ref.data.overrides, _ref.source)
10538
+ parent: parentComponent({
10539
+ uid: _ref2$data.uid,
10540
+ options: options,
10541
+ overrides: _ref2$data.overrides,
10542
+ parentWin: _ref2.source
10543
+ })
9858
10544
  };
9859
10545
  });
9860
10546
  cleanZoid.register(allowDelegateListener.cancel);
@@ -9871,6 +10557,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9871
10557
  react: react,
9872
10558
  angular: angular,
9873
10559
  vue: vue,
10560
+ vue3: vue3,
9874
10561
  angular2: angular2
9875
10562
  };
9876
10563
  if (!drivers[driverName]) throw new Error("Could not find driver for framework: " + driverName);
@@ -9879,8 +10566,8 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9879
10566
  },
9880
10567
  isChild: isChild,
9881
10568
  canRenderTo: function canRenderTo(win) {
9882
- return send_send(win, "zoid_allow_delegate_" + name).then(function (_ref2) {
9883
- return _ref2.data;
10569
+ return send_send(win, "zoid_allow_delegate_" + name).then(function (_ref3) {
10570
+ return _ref3.data;
9884
10571
  })["catch"](function () {
9885
10572
  return !1;
9886
10573
  });
@@ -9889,7 +10576,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9889
10576
  };
9890
10577
  }
9891
10578
 
9892
- function create(options) {
10579
+ var component_create = function component_create(options) {
9893
10580
  !function () {
9894
10581
  if (!global_getGlobal().initialized) {
9895
10582
  global_getGlobal().initialized = !0;
@@ -9971,7 +10658,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9971
10658
 
9972
10659
  var _ref3, on, send, global;
9973
10660
  }();
9974
- var comp = component_component(options);
10661
+ var comp = component(options);
9975
10662
 
9976
10663
  var init = function init(props) {
9977
10664
  return comp.init(props);
@@ -9993,7 +10680,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
9993
10680
  var child = comp.registerChild();
9994
10681
  child && (window.xprops = init.xprops = child.getProps());
9995
10682
  return init;
9996
- }
10683
+ };
9997
10684
 
9998
10685
  function destroyComponents(err) {
9999
10686
  src_bridge && src_bridge.destroyBridges();
@@ -10006,7 +10693,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
10006
10693
 
10007
10694
  function component_destroy(err) {
10008
10695
  destroyAll();
10009
- delete window.__zoid_9_0_63__;
10696
+ delete window.__zoid_10_3_1__;
10010
10697
  !function () {
10011
10698
  !function () {
10012
10699
  var responseListeners = globalStore("responseListeners");
@@ -10020,7 +10707,7 @@ var zoid_frameworks = createCommonjsModule(function (module, exports) {
10020
10707
  }();
10021
10708
  (listener = globalStore().get("postMessageListener")) && listener.cancel();
10022
10709
  var listener;
10023
- delete window.__post_robot_10_0_42__;
10710
+ delete window.__post_robot_11_0_0__;
10024
10711
  }();
10025
10712
  return cleanZoid.all(err);
10026
10713
  }
@@ -14740,6 +15427,10 @@ var options$3 = {
14740
15427
  type: zoid.PROP_TYPE.STRING,
14741
15428
  required: false
14742
15429
  },
15430
+ transactionType: {
15431
+ type: zoid.PROP_TYPE.STRING,
15432
+ required: false
15433
+ },
14743
15434
  language: {
14744
15435
  type: zoid.PROP_TYPE.STRING,
14745
15436
  required: false
@@ -14815,6 +15506,10 @@ var options$4 = {
14815
15506
  type: zoid.PROP_TYPE.STRING,
14816
15507
  required: false
14817
15508
  },
15509
+ transactionType: {
15510
+ type: zoid.PROP_TYPE.STRING,
15511
+ required: false
15512
+ },
14818
15513
  language: {
14819
15514
  type: zoid.PROP_TYPE.STRING,
14820
15515
  required: false
@@ -15805,6 +16500,13 @@ var PaymentRequest = /*#__PURE__*/zoid.create(options$c);
15805
16500
  CardBrand["Hipercard"] = "hipercard";
15806
16501
  })(exports.CardBrand || (exports.CardBrand = {}));
15807
16502
 
16503
+ (function (TransactionType) {
16504
+ TransactionType["AUTH"] = "AUTH";
16505
+ TransactionType["SALE"] = "SALE";
16506
+ TransactionType["PAYOUT"] = "PAYOUT";
16507
+ TransactionType["VERIF"] = "VERIF";
16508
+ })(exports.TransactionType || (exports.TransactionType = {}));
16509
+
15808
16510
  var api = _api;
15809
16511
  var utils = _utils;
15810
16512