@monei-js/components 1.6.2 → 1.7.1

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