@saasquatch/squatch-js 2.3.2-26 → 2.3.2-29

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.
package/demo/toolbar.tsx CHANGED
@@ -329,9 +329,13 @@ function MockedWidgets(props) {
329
329
  const [usePreload, setUsePreload] = useState(false);
330
330
  const [showWidget, setShowWidget] = useState(false);
331
331
  const [widget, setWidget] = useState(undefined);
332
- const element = usePreload && document.getElementById("squatchembed");
332
+ const container = usePreload && document.getElementById("squatchembed");
333
+ const [popupTrigger, setPopupTrigger] = useState(".squatchpop");
333
334
 
334
- async function getMockWidget(widget) {
335
+ async function getMockWidget(
336
+ widget,
337
+ containerOverride: string | undefined = undefined
338
+ ) {
335
339
  window["mockWidget"] = widget;
336
340
  window["sandbox"].initObj = {
337
341
  ...window["sandbox"].initObj,
@@ -350,13 +354,19 @@ function MockedWidgets(props) {
350
354
  }
351
355
  )
352
356
  );
353
- document.getElementById("squatchembed").innerHTML = "";
357
+ const defaultElement = document.getElementById(
358
+ "squatchembed"
359
+ ) as HTMLElement;
360
+ defaultElement.innerHTML = "";
361
+ document.getElementById("test-selector").innerHTML = "";
354
362
 
363
+ if (!usePreload) defaultElement.setAttribute("style", "");
355
364
  const { widget: embedWidget } = await window["squatch"]
356
365
  .widgets()
357
366
  .upsertUser({
358
367
  ...window["sandbox"].initObj,
359
- element,
368
+ container: (usePreload && containerOverride) || container,
369
+ trigger: popupTrigger,
360
370
  });
361
371
 
362
372
  if (showWidget) embedWidget.open();
@@ -405,6 +415,12 @@ function MockedWidgets(props) {
405
415
  checked={usePreload === false}
406
416
  onClick={() => setUsePreload(false)}
407
417
  ></input>
418
+ <br />
419
+ <label>squatch popup trigger</label>
420
+ <input
421
+ value={popupTrigger}
422
+ onChange={(e) => setPopupTrigger(e.target.value)}
423
+ ></input>
408
424
  </form>
409
425
  <br />
410
426
  <button
@@ -420,7 +436,17 @@ function MockedWidgets(props) {
420
436
  >
421
437
  {showWidget ? "hide widget" : "show widget"}
422
438
  </button>
423
- <br />
439
+ {engagementMedium === "POPUP" ? (
440
+ <button
441
+ id={popupTrigger.substring(1)}
442
+ className={popupTrigger.substring(1)}
443
+ >
444
+ Open popup
445
+ </button>
446
+ ) : (
447
+ ""
448
+ )}
449
+ <hr />
424
450
  <button onClick={() => getMockWidget("QuirksVanillaGA")}>
425
451
  Quirks mode - Vanilla
426
452
  </button>
@@ -447,6 +473,10 @@ function MockedWidgets(props) {
447
473
  <button onClick={() => getMockWidget("VanillaGANoContainer")}>
448
474
  Vanilla - No Container
449
475
  </button>
476
+ <button onClick={() => getMockWidget("MintGA", "#test-selector")}>
477
+ Mint - Selector
478
+ </button>
479
+ <hr />
450
480
  </details>
451
481
  );
452
482
  }
@@ -688,20 +688,33 @@ const _log$5 = debug__default("squatch-js:EMBEDwidget");
688
688
 
689
689
 
690
690
  class EmbedWidget extends Widget {
691
- constructor(params, selector = "#squatchembed") {
691
+ constructor(params, container) {
692
692
  super(params);
693
+ let element;
694
+ const selector = typeof container === "string" ? container : false; // selector is a string
693
695
 
694
- if (params.context.container) {
695
- this.hasContainer = true;
696
+ if (selector) {
697
+ element = document.querySelector(selector);
698
+
699
+ _log$5("loading widget with selector", element); // selector is an HTML element
700
+
701
+ } else if (container) {
702
+ element = container;
703
+
704
+ _log$5("loading widget with container", container); // find element on page
705
+
706
+ } else {
707
+ element = document.querySelector("#squatchembed") || document.querySelector(".squatchembed");
708
+
709
+ _log$5("loading widget with default selector", element);
696
710
  }
697
711
 
698
- const element = document.querySelector(selector) || document.querySelector(".squatchembed") || params.context.container;
699
- if (!element) throw new Error(`element with selector '${selector}' not found.'`);
712
+ if (!element) throw new Error(`element with selector '${container}' not found.'`);
700
713
  this.element = element;
701
714
  }
702
715
 
703
716
  async load() {
704
- if (this.hasContainer) {
717
+ if (this.context.container) {
705
718
  this.element.style.visibility = "hidden";
706
719
  this.element.style.height = "0";
707
720
  this.element.style["overflow-y"] = "hidden"; // Widget reloaded - replace existing element
@@ -756,7 +769,7 @@ class EmbedWidget extends Widget {
756
769
  });
757
770
  ro.observe(await this._findInnerContainer()); // Regular load - trigger event
758
771
 
759
- if (!this.hasContainer) {
772
+ if (!this.context.container) {
760
773
  this._loadEvent(_sqh);
761
774
 
762
775
  _log$5("loaded");
@@ -768,7 +781,6 @@ class EmbedWidget extends Widget {
768
781
  open() {
769
782
  var _this$frame, _this$frame$contentDo, _this$frame2, _this$frame2$contentW, _this$frame3, _this$frame3$contentW;
770
783
 
771
- //@ts-ignore type is set in constructor
772
784
  if (!this.frame) return _log$5("no target element to open");
773
785
  this.element.style.visibility = "unset";
774
786
  this.element.style.height = "auto";
@@ -821,6 +833,8 @@ class PopupWidget extends Widget {
821
833
  this.triggerElement.onclick = () => {
822
834
  this.open();
823
835
  };
836
+ } else {
837
+ _log$4("No element found with trigger selector", trigger);
824
838
  } // If widget is loaded with CTA, look for a 'squatchpop' element to use
825
839
  // that element as a trigger as well.
826
840
 
@@ -912,6 +926,8 @@ class PopupWidget extends Widget {
912
926
  const frameDoc = contentWindow.document; // Adjust frame height when size of body changes
913
927
 
914
928
  domready(frameDoc, () => {
929
+ var _frame$contentDocumen;
930
+
915
931
  const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
916
932
 
917
933
  const ctaElement = frameDoc.getElementById("cta");
@@ -923,6 +939,7 @@ class PopupWidget extends Widget {
923
939
 
924
940
  popupdiv.style.visibility = "visible";
925
941
  popupdiv.style.top = "0px";
942
+ (_frame$contentDocumen = frame.contentDocument) == null ? void 0 : _frame$contentDocumen.dispatchEvent(new CustomEvent("sq:refresh"));
926
943
 
927
944
  this._loadEvent(_sqh);
928
945
 
@@ -1164,9 +1181,9 @@ class Widgets {
1164
1181
  * @param {string} config.user.accountId The user account id
1165
1182
  * @param {WidgetType} config.widgetType The content of the widget.
1166
1183
  * @param {EngagementMedium} config.engagementMedium How to display the widget.
1167
- * @param {string} config.jwt the JSON Web Token (JWT) that is used
1168
- * to validate the data (can be disabled)
1169
- @param {HTMLElement} config.container Element to load the widget into
1184
+ * @param {string} config.jwt the JSON Web Token (JWT) that is used to validate the data (can be disabled)
1185
+ * @param {HTMLElement | string | undefined} config.container Element to load the widget into
1186
+ * @param {string | undefined} config.trigger Trigger element for opening the popup widget
1170
1187
  *
1171
1188
  * @return {Promise<WidgetResult>} json object if true, with a Widget and user details.
1172
1189
  */
@@ -1183,7 +1200,8 @@ class Widgets {
1183
1200
  type: "upsert",
1184
1201
  user: clean.user,
1185
1202
  engagementMedium: config.engagementMedium,
1186
- container: config.container
1203
+ container: config.container,
1204
+ trigger: config.trigger
1187
1205
  }),
1188
1206
  user: response.user
1189
1207
  };
@@ -1367,10 +1385,10 @@ class Widgets {
1367
1385
  }
1368
1386
 
1369
1387
  if (!displayCTA && config.engagementMedium === "EMBED") {
1370
- widget = new EmbedWidget(params);
1388
+ widget = new EmbedWidget(params, params.context.container);
1371
1389
  widget.load();
1372
1390
  } else if (!displayCTA && config.engagementMedium === "POPUP") {
1373
- widget = new PopupWidget(params);
1391
+ widget = new PopupWidget(params, params.context.trigger);
1374
1392
  widget.load();
1375
1393
  if (displayOnLoad) widget.open();
1376
1394
  } else if (displayCTA) {
@@ -1425,10 +1443,10 @@ class Widgets {
1425
1443
  let widget;
1426
1444
 
1427
1445
  if (em === "EMBED") {
1428
- widget = new EmbedWidget(params);
1446
+ widget = new EmbedWidget(params, undefined);
1429
1447
  widget.load();
1430
1448
  } else if (em === "POPUP") {
1431
- widget = new PopupWidget(params);
1449
+ widget = new PopupWidget(params, undefined);
1432
1450
  widget.load();
1433
1451
  }
1434
1452
  }
@@ -1 +1 @@
1
- {"version":3,"file":"squatch.esm.js","sources":["../node_modules/@ungap/url-search-params/esm/index.js"],"sourcesContent":["/*! (c) Andrea Giammarchi - ISC */\nvar self = this || /* istanbul ignore next */ {};\ntry {\n (function (URLSearchParams, plus) {\n if (\n new URLSearchParams('q=%2B').get('q') !== plus ||\n new URLSearchParams({q: plus}).get('q') !== plus ||\n new URLSearchParams([['q', plus]]).get('q') !== plus ||\n new URLSearchParams('q=\\n').toString() !== 'q=%0A' ||\n new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||\n new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'\n )\n throw URLSearchParams;\n self.URLSearchParams = URLSearchParams;\n }(URLSearchParams, '+'));\n} catch(URLSearchParams) {\n (function (Object, String, isArray) {'use strict';\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var find = /[!'\\(\\)~]|%20|%00/g;\n var findPercentSign = /%(?![0-9a-fA-F]{2})/g;\n var plus = /\\+/g;\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n var proto = {\n append: function (key, value) {\n appendTo(this._ungap, key, value);\n },\n delete: function (key) {\n delete this._ungap[key];\n },\n get: function (key) {\n return this.has(key) ? this._ungap[key][0] : null;\n },\n getAll: function (key) {\n return this.has(key) ? this._ungap[key].slice(0) : [];\n },\n has: function (key) {\n return key in this._ungap;\n },\n set: function (key, value) {\n this._ungap[key] = [String(value)];\n },\n forEach: function (callback, thisArg) {\n var self = this;\n for (var key in self._ungap)\n self._ungap[key].forEach(invoke, key);\n function invoke(value) {\n callback.call(thisArg, value, String(key), self);\n }\n },\n toJSON: function () {\n return {};\n },\n toString: function () {\n var query = [];\n for (var key in this._ungap) {\n var encoded = encode(key);\n for (var\n i = 0,\n value = this._ungap[key];\n i < value.length; i++\n ) {\n query.push(encoded + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n }\n };\n for (var key in proto)\n defineProperty(URLSearchParams.prototype, key, {\n configurable: true,\n writable: true,\n value: proto[key]\n });\n self.URLSearchParams = URLSearchParams;\n function URLSearchParams(query) {\n var dict = create(null);\n defineProperty(this, '_ungap', {value: dict});\n switch (true) {\n case !query:\n break;\n case typeof query === 'string':\n if (query.charAt(0) === '?') {\n query = query.slice(1);\n }\n for (var\n pairs = query.split('&'),\n i = 0,\n length = pairs.length; i < length; i++\n ) {\n var value = pairs[i];\n var index = value.indexOf('=');\n if (-1 < index) {\n appendTo(\n dict,\n decode(value.slice(0, index)),\n decode(value.slice(index + 1))\n );\n } else if (value.length){\n appendTo(\n dict,\n decode(value),\n ''\n );\n }\n }\n break;\n case isArray(query):\n for (var\n i = 0,\n length = query.length; i < length; i++\n ) {\n var value = query[i];\n appendTo(dict, value[0], value[1]);\n }\n break;\n case 'forEach' in query:\n query.forEach(addEach, dict);\n break;\n default:\n for (var key in query)\n appendTo(dict, key, query[key]);\n }\n }\n\n function addEach(value, key) {\n appendTo(this, key, value);\n }\n\n function appendTo(dict, key, value) {\n var res = isArray(value) ? value.join(',') : value;\n if (key in dict)\n dict[key].push(res);\n else\n dict[key] = [res];\n }\n\n function decode(str) {\n return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));\n }\n\n function encode(str) {\n return encodeURIComponent(str).replace(find, replacer);\n }\n\n function replacer(match) {\n return replace[match];\n }\n\n }(Object, String, Array.isArray));\n}\n\n(function (URLSearchParamsProto) {\n\n var iterable = false;\n try { iterable = !!Symbol.iterator; } catch (o_O) {}\n\n /* istanbul ignore else */\n if (!('forEach' in URLSearchParamsProto)) {\n URLSearchParamsProto.forEach = function forEach(callback, thisArg) {\n var self = this;\n var names = Object.create(null);\n this.toString()\n .replace(/=[\\s\\S]*?(?:&|$)/g, '=')\n .split('=')\n .forEach(function (name) {\n if (!name.length || name in names)\n return;\n (names[name] = self.getAll(name)).forEach(function(value) {\n callback.call(thisArg, value, name, self);\n });\n });\n };\n }\n\n /* istanbul ignore else */\n if (!('keys' in URLSearchParamsProto)) {\n URLSearchParamsProto.keys = function keys() {\n return iterator(this, function(value, key) { this.push(key); });\n };\n }\n\n /* istanbul ignore else */\n if (!('values' in URLSearchParamsProto)) {\n URLSearchParamsProto.values = function values() {\n return iterator(this, function(value, key) { this.push(value); });\n };\n }\n\n /* istanbul ignore else */\n if (!('entries' in URLSearchParamsProto)) {\n URLSearchParamsProto.entries = function entries() {\n return iterator(this, function(value, key) { this.push([key, value]); });\n };\n }\n\n /* istanbul ignore else */\n if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {\n URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;\n }\n\n /* istanbul ignore else */\n if (!('sort' in URLSearchParamsProto)) {\n URLSearchParamsProto.sort = function sort() {\n var\n entries = this.entries(),\n entry = entries.next(),\n done = entry.done,\n keys = [],\n values = Object.create(null),\n i, key, value\n ;\n while (!done) {\n value = entry.value;\n key = value[0];\n keys.push(key);\n if (!(key in values)) {\n values[key] = [];\n }\n values[key].push(value[1]);\n entry = entries.next();\n done = entry.done;\n }\n // not the champion in efficiency\n // but these two bits just do the job\n keys.sort();\n for (i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this.append(key, values[key].shift());\n }\n };\n }\n\n function iterator(self, callback) {\n var items = [];\n self.forEach(callback, items);\n /* istanbul ignore next */\n return iterable ?\n items[Symbol.iterator]() :\n {\n next: function() {\n var value = items.shift();\n return {done: value === void 0, value: value};\n }\n };\n }\n\n /* istanbul ignore next */\n (function (Object) {\n var\n dP = Object.defineProperty,\n gOPD = Object.getOwnPropertyDescriptor,\n createSearchParamsPollute = function (search) {\n function append(name, value) {\n URLSearchParamsProto.append.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function del(name) {\n URLSearchParamsProto.delete.call(this, name);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function set(name, value) {\n URLSearchParamsProto.set.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n return function (sp, value) {\n sp.append = append;\n sp.delete = del;\n sp.set = set;\n return dP(sp, '_usp', {\n configurable: true,\n writable: true,\n value: value\n });\n };\n },\n createSearchParamsCreate = function (polluteSearchParams) {\n return function (obj, sp) {\n dP(\n obj, '_searchParams', {\n configurable: true,\n writable: true,\n value: polluteSearchParams(sp, obj)\n }\n );\n return sp;\n };\n },\n updateSearchParams = function (sp) {\n var append = sp.append;\n sp.append = URLSearchParamsProto.append;\n URLSearchParams.call(sp, sp._usp.search.slice(1));\n sp.append = append;\n },\n verifySearchParams = function (obj, Class) {\n if (!(obj instanceof Class)) throw new TypeError(\n \"'searchParams' accessed on an object that \" +\n \"does not implement interface \" + Class.name\n );\n },\n upgradeClass = function (Class) {\n var\n ClassProto = Class.prototype,\n searchParams = gOPD(ClassProto, 'searchParams'),\n href = gOPD(ClassProto, 'href'),\n search = gOPD(ClassProto, 'search'),\n createSearchParams\n ;\n if (!searchParams && search && search.set) {\n createSearchParams = createSearchParamsCreate(\n createSearchParamsPollute(search)\n );\n Object.defineProperties(\n ClassProto,\n {\n href: {\n get: function () {\n return href.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n href.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n search: {\n get: function () {\n return search.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n search.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n searchParams: {\n get: function () {\n verifySearchParams(this, Class);\n return this._searchParams || createSearchParams(\n this,\n new URLSearchParams(this.search.slice(1))\n );\n },\n set: function (sp) {\n verifySearchParams(this, Class);\n createSearchParams(this, sp);\n }\n }\n }\n );\n }\n }\n ;\n try {\n upgradeClass(HTMLAnchorElement);\n if (/^function|object$/.test(typeof URL) && URL.prototype)\n upgradeClass(URL);\n } catch (meh) {}\n }(Object));\n\n}(self.URLSearchParams.prototype, Object));\nexport default self.URLSearchParams;\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"squatch.esm.js","sources":["../node_modules/@ungap/url-search-params/esm/index.js"],"sourcesContent":["/*! (c) Andrea Giammarchi - ISC */\nvar self = this || /* istanbul ignore next */ {};\ntry {\n (function (URLSearchParams, plus) {\n if (\n new URLSearchParams('q=%2B').get('q') !== plus ||\n new URLSearchParams({q: plus}).get('q') !== plus ||\n new URLSearchParams([['q', plus]]).get('q') !== plus ||\n new URLSearchParams('q=\\n').toString() !== 'q=%0A' ||\n new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||\n new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'\n )\n throw URLSearchParams;\n self.URLSearchParams = URLSearchParams;\n }(URLSearchParams, '+'));\n} catch(URLSearchParams) {\n (function (Object, String, isArray) {'use strict';\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var find = /[!'\\(\\)~]|%20|%00/g;\n var findPercentSign = /%(?![0-9a-fA-F]{2})/g;\n var plus = /\\+/g;\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n var proto = {\n append: function (key, value) {\n appendTo(this._ungap, key, value);\n },\n delete: function (key) {\n delete this._ungap[key];\n },\n get: function (key) {\n return this.has(key) ? this._ungap[key][0] : null;\n },\n getAll: function (key) {\n return this.has(key) ? this._ungap[key].slice(0) : [];\n },\n has: function (key) {\n return key in this._ungap;\n },\n set: function (key, value) {\n this._ungap[key] = [String(value)];\n },\n forEach: function (callback, thisArg) {\n var self = this;\n for (var key in self._ungap)\n self._ungap[key].forEach(invoke, key);\n function invoke(value) {\n callback.call(thisArg, value, String(key), self);\n }\n },\n toJSON: function () {\n return {};\n },\n toString: function () {\n var query = [];\n for (var key in this._ungap) {\n var encoded = encode(key);\n for (var\n i = 0,\n value = this._ungap[key];\n i < value.length; i++\n ) {\n query.push(encoded + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n }\n };\n for (var key in proto)\n defineProperty(URLSearchParams.prototype, key, {\n configurable: true,\n writable: true,\n value: proto[key]\n });\n self.URLSearchParams = URLSearchParams;\n function URLSearchParams(query) {\n var dict = create(null);\n defineProperty(this, '_ungap', {value: dict});\n switch (true) {\n case !query:\n break;\n case typeof query === 'string':\n if (query.charAt(0) === '?') {\n query = query.slice(1);\n }\n for (var\n pairs = query.split('&'),\n i = 0,\n length = pairs.length; i < length; i++\n ) {\n var value = pairs[i];\n var index = value.indexOf('=');\n if (-1 < index) {\n appendTo(\n dict,\n decode(value.slice(0, index)),\n decode(value.slice(index + 1))\n );\n } else if (value.length){\n appendTo(\n dict,\n decode(value),\n ''\n );\n }\n }\n break;\n case isArray(query):\n for (var\n i = 0,\n length = query.length; i < length; i++\n ) {\n var value = query[i];\n appendTo(dict, value[0], value[1]);\n }\n break;\n case 'forEach' in query:\n query.forEach(addEach, dict);\n break;\n default:\n for (var key in query)\n appendTo(dict, key, query[key]);\n }\n }\n\n function addEach(value, key) {\n appendTo(this, key, value);\n }\n\n function appendTo(dict, key, value) {\n var res = isArray(value) ? value.join(',') : value;\n if (key in dict)\n dict[key].push(res);\n else\n dict[key] = [res];\n }\n\n function decode(str) {\n return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));\n }\n\n function encode(str) {\n return encodeURIComponent(str).replace(find, replacer);\n }\n\n function replacer(match) {\n return replace[match];\n }\n\n }(Object, String, Array.isArray));\n}\n\n(function (URLSearchParamsProto) {\n\n var iterable = false;\n try { iterable = !!Symbol.iterator; } catch (o_O) {}\n\n /* istanbul ignore else */\n if (!('forEach' in URLSearchParamsProto)) {\n URLSearchParamsProto.forEach = function forEach(callback, thisArg) {\n var self = this;\n var names = Object.create(null);\n this.toString()\n .replace(/=[\\s\\S]*?(?:&|$)/g, '=')\n .split('=')\n .forEach(function (name) {\n if (!name.length || name in names)\n return;\n (names[name] = self.getAll(name)).forEach(function(value) {\n callback.call(thisArg, value, name, self);\n });\n });\n };\n }\n\n /* istanbul ignore else */\n if (!('keys' in URLSearchParamsProto)) {\n URLSearchParamsProto.keys = function keys() {\n return iterator(this, function(value, key) { this.push(key); });\n };\n }\n\n /* istanbul ignore else */\n if (!('values' in URLSearchParamsProto)) {\n URLSearchParamsProto.values = function values() {\n return iterator(this, function(value, key) { this.push(value); });\n };\n }\n\n /* istanbul ignore else */\n if (!('entries' in URLSearchParamsProto)) {\n URLSearchParamsProto.entries = function entries() {\n return iterator(this, function(value, key) { this.push([key, value]); });\n };\n }\n\n /* istanbul ignore else */\n if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {\n URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;\n }\n\n /* istanbul ignore else */\n if (!('sort' in URLSearchParamsProto)) {\n URLSearchParamsProto.sort = function sort() {\n var\n entries = this.entries(),\n entry = entries.next(),\n done = entry.done,\n keys = [],\n values = Object.create(null),\n i, key, value\n ;\n while (!done) {\n value = entry.value;\n key = value[0];\n keys.push(key);\n if (!(key in values)) {\n values[key] = [];\n }\n values[key].push(value[1]);\n entry = entries.next();\n done = entry.done;\n }\n // not the champion in efficiency\n // but these two bits just do the job\n keys.sort();\n for (i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this.append(key, values[key].shift());\n }\n };\n }\n\n function iterator(self, callback) {\n var items = [];\n self.forEach(callback, items);\n /* istanbul ignore next */\n return iterable ?\n items[Symbol.iterator]() :\n {\n next: function() {\n var value = items.shift();\n return {done: value === void 0, value: value};\n }\n };\n }\n\n /* istanbul ignore next */\n (function (Object) {\n var\n dP = Object.defineProperty,\n gOPD = Object.getOwnPropertyDescriptor,\n createSearchParamsPollute = function (search) {\n function append(name, value) {\n URLSearchParamsProto.append.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function del(name) {\n URLSearchParamsProto.delete.call(this, name);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function set(name, value) {\n URLSearchParamsProto.set.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n return function (sp, value) {\n sp.append = append;\n sp.delete = del;\n sp.set = set;\n return dP(sp, '_usp', {\n configurable: true,\n writable: true,\n value: value\n });\n };\n },\n createSearchParamsCreate = function (polluteSearchParams) {\n return function (obj, sp) {\n dP(\n obj, '_searchParams', {\n configurable: true,\n writable: true,\n value: polluteSearchParams(sp, obj)\n }\n );\n return sp;\n };\n },\n updateSearchParams = function (sp) {\n var append = sp.append;\n sp.append = URLSearchParamsProto.append;\n URLSearchParams.call(sp, sp._usp.search.slice(1));\n sp.append = append;\n },\n verifySearchParams = function (obj, Class) {\n if (!(obj instanceof Class)) throw new TypeError(\n \"'searchParams' accessed on an object that \" +\n \"does not implement interface \" + Class.name\n );\n },\n upgradeClass = function (Class) {\n var\n ClassProto = Class.prototype,\n searchParams = gOPD(ClassProto, 'searchParams'),\n href = gOPD(ClassProto, 'href'),\n search = gOPD(ClassProto, 'search'),\n createSearchParams\n ;\n if (!searchParams && search && search.set) {\n createSearchParams = createSearchParamsCreate(\n createSearchParamsPollute(search)\n );\n Object.defineProperties(\n ClassProto,\n {\n href: {\n get: function () {\n return href.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n href.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n search: {\n get: function () {\n return search.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n search.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n searchParams: {\n get: function () {\n verifySearchParams(this, Class);\n return this._searchParams || createSearchParams(\n this,\n new URLSearchParams(this.search.slice(1))\n );\n },\n set: function (sp) {\n verifySearchParams(this, Class);\n createSearchParams(this, sp);\n }\n }\n }\n );\n }\n }\n ;\n try {\n upgradeClass(HTMLAnchorElement);\n if (/^function|object$/.test(typeof URL) && URL.prototype)\n upgradeClass(URL);\n } catch (meh) {}\n }(Object));\n\n}(self.URLSearchParams.prototype, Object));\nexport default self.URLSearchParams;\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/dist/squatch.js CHANGED
@@ -715,20 +715,33 @@ const _log$5 = debug__default['default']("squatch-js:EMBEDwidget");
715
715
 
716
716
 
717
717
  class EmbedWidget extends Widget {
718
- constructor(params, selector = "#squatchembed") {
718
+ constructor(params, container) {
719
719
  super(params);
720
+ let element;
721
+ const selector = typeof container === "string" ? container : false; // selector is a string
720
722
 
721
- if (params.context.container) {
722
- this.hasContainer = true;
723
+ if (selector) {
724
+ element = document.querySelector(selector);
725
+
726
+ _log$5("loading widget with selector", element); // selector is an HTML element
727
+
728
+ } else if (container) {
729
+ element = container;
730
+
731
+ _log$5("loading widget with container", container); // find element on page
732
+
733
+ } else {
734
+ element = document.querySelector("#squatchembed") || document.querySelector(".squatchembed");
735
+
736
+ _log$5("loading widget with default selector", element);
723
737
  }
724
738
 
725
- const element = document.querySelector(selector) || document.querySelector(".squatchembed") || params.context.container;
726
- if (!element) throw new Error(`element with selector '${selector}' not found.'`);
739
+ if (!element) throw new Error(`element with selector '${container}' not found.'`);
727
740
  this.element = element;
728
741
  }
729
742
 
730
743
  async load() {
731
- if (this.hasContainer) {
744
+ if (this.context.container) {
732
745
  this.element.style.visibility = "hidden";
733
746
  this.element.style.height = "0";
734
747
  this.element.style["overflow-y"] = "hidden"; // Widget reloaded - replace existing element
@@ -783,7 +796,7 @@ class EmbedWidget extends Widget {
783
796
  });
784
797
  ro.observe(await this._findInnerContainer()); // Regular load - trigger event
785
798
 
786
- if (!this.hasContainer) {
799
+ if (!this.context.container) {
787
800
  this._loadEvent(_sqh);
788
801
 
789
802
  _log$5("loaded");
@@ -795,7 +808,6 @@ class EmbedWidget extends Widget {
795
808
  open() {
796
809
  var _this$frame, _this$frame$contentDo, _this$frame2, _this$frame2$contentW, _this$frame3, _this$frame3$contentW;
797
810
 
798
- //@ts-ignore type is set in constructor
799
811
  if (!this.frame) return _log$5("no target element to open");
800
812
  this.element.style.visibility = "unset";
801
813
  this.element.style.height = "auto";
@@ -848,6 +860,8 @@ class PopupWidget extends Widget {
848
860
  this.triggerElement.onclick = () => {
849
861
  this.open();
850
862
  };
863
+ } else {
864
+ _log$4("No element found with trigger selector", trigger);
851
865
  } // If widget is loaded with CTA, look for a 'squatchpop' element to use
852
866
  // that element as a trigger as well.
853
867
 
@@ -939,6 +953,8 @@ class PopupWidget extends Widget {
939
953
  const frameDoc = contentWindow.document; // Adjust frame height when size of body changes
940
954
 
941
955
  domready(frameDoc, () => {
956
+ var _frame$contentDocumen;
957
+
942
958
  const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
943
959
 
944
960
  const ctaElement = frameDoc.getElementById("cta");
@@ -950,6 +966,7 @@ class PopupWidget extends Widget {
950
966
 
951
967
  popupdiv.style.visibility = "visible";
952
968
  popupdiv.style.top = "0px";
969
+ (_frame$contentDocumen = frame.contentDocument) == null ? void 0 : _frame$contentDocumen.dispatchEvent(new CustomEvent("sq:refresh"));
953
970
 
954
971
  this._loadEvent(_sqh);
955
972
 
@@ -1191,9 +1208,9 @@ class Widgets {
1191
1208
  * @param {string} config.user.accountId The user account id
1192
1209
  * @param {WidgetType} config.widgetType The content of the widget.
1193
1210
  * @param {EngagementMedium} config.engagementMedium How to display the widget.
1194
- * @param {string} config.jwt the JSON Web Token (JWT) that is used
1195
- * to validate the data (can be disabled)
1196
- @param {HTMLElement} config.container Element to load the widget into
1211
+ * @param {string} config.jwt the JSON Web Token (JWT) that is used to validate the data (can be disabled)
1212
+ * @param {HTMLElement | string | undefined} config.container Element to load the widget into
1213
+ * @param {string | undefined} config.trigger Trigger element for opening the popup widget
1197
1214
  *
1198
1215
  * @return {Promise<WidgetResult>} json object if true, with a Widget and user details.
1199
1216
  */
@@ -1210,7 +1227,8 @@ class Widgets {
1210
1227
  type: "upsert",
1211
1228
  user: clean.user,
1212
1229
  engagementMedium: config.engagementMedium,
1213
- container: config.container
1230
+ container: config.container,
1231
+ trigger: config.trigger
1214
1232
  }),
1215
1233
  user: response.user
1216
1234
  };
@@ -1394,10 +1412,10 @@ class Widgets {
1394
1412
  }
1395
1413
 
1396
1414
  if (!displayCTA && config.engagementMedium === "EMBED") {
1397
- widget = new EmbedWidget(params);
1415
+ widget = new EmbedWidget(params, params.context.container);
1398
1416
  widget.load();
1399
1417
  } else if (!displayCTA && config.engagementMedium === "POPUP") {
1400
- widget = new PopupWidget(params);
1418
+ widget = new PopupWidget(params, params.context.trigger);
1401
1419
  widget.load();
1402
1420
  if (displayOnLoad) widget.open();
1403
1421
  } else if (displayCTA) {
@@ -1452,10 +1470,10 @@ class Widgets {
1452
1470
  let widget;
1453
1471
 
1454
1472
  if (em === "EMBED") {
1455
- widget = new EmbedWidget(params);
1473
+ widget = new EmbedWidget(params, undefined);
1456
1474
  widget.load();
1457
1475
  } else if (em === "POPUP") {
1458
- widget = new PopupWidget(params);
1476
+ widget = new PopupWidget(params, undefined);
1459
1477
  widget.load();
1460
1478
  }
1461
1479
  }
@@ -1 +1 @@
1
- {"version":3,"file":"squatch.js","sources":["../node_modules/@ungap/url-search-params/esm/index.js"],"sourcesContent":["/*! (c) Andrea Giammarchi - ISC */\nvar self = this || /* istanbul ignore next */ {};\ntry {\n (function (URLSearchParams, plus) {\n if (\n new URLSearchParams('q=%2B').get('q') !== plus ||\n new URLSearchParams({q: plus}).get('q') !== plus ||\n new URLSearchParams([['q', plus]]).get('q') !== plus ||\n new URLSearchParams('q=\\n').toString() !== 'q=%0A' ||\n new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||\n new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'\n )\n throw URLSearchParams;\n self.URLSearchParams = URLSearchParams;\n }(URLSearchParams, '+'));\n} catch(URLSearchParams) {\n (function (Object, String, isArray) {'use strict';\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var find = /[!'\\(\\)~]|%20|%00/g;\n var findPercentSign = /%(?![0-9a-fA-F]{2})/g;\n var plus = /\\+/g;\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n var proto = {\n append: function (key, value) {\n appendTo(this._ungap, key, value);\n },\n delete: function (key) {\n delete this._ungap[key];\n },\n get: function (key) {\n return this.has(key) ? this._ungap[key][0] : null;\n },\n getAll: function (key) {\n return this.has(key) ? this._ungap[key].slice(0) : [];\n },\n has: function (key) {\n return key in this._ungap;\n },\n set: function (key, value) {\n this._ungap[key] = [String(value)];\n },\n forEach: function (callback, thisArg) {\n var self = this;\n for (var key in self._ungap)\n self._ungap[key].forEach(invoke, key);\n function invoke(value) {\n callback.call(thisArg, value, String(key), self);\n }\n },\n toJSON: function () {\n return {};\n },\n toString: function () {\n var query = [];\n for (var key in this._ungap) {\n var encoded = encode(key);\n for (var\n i = 0,\n value = this._ungap[key];\n i < value.length; i++\n ) {\n query.push(encoded + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n }\n };\n for (var key in proto)\n defineProperty(URLSearchParams.prototype, key, {\n configurable: true,\n writable: true,\n value: proto[key]\n });\n self.URLSearchParams = URLSearchParams;\n function URLSearchParams(query) {\n var dict = create(null);\n defineProperty(this, '_ungap', {value: dict});\n switch (true) {\n case !query:\n break;\n case typeof query === 'string':\n if (query.charAt(0) === '?') {\n query = query.slice(1);\n }\n for (var\n pairs = query.split('&'),\n i = 0,\n length = pairs.length; i < length; i++\n ) {\n var value = pairs[i];\n var index = value.indexOf('=');\n if (-1 < index) {\n appendTo(\n dict,\n decode(value.slice(0, index)),\n decode(value.slice(index + 1))\n );\n } else if (value.length){\n appendTo(\n dict,\n decode(value),\n ''\n );\n }\n }\n break;\n case isArray(query):\n for (var\n i = 0,\n length = query.length; i < length; i++\n ) {\n var value = query[i];\n appendTo(dict, value[0], value[1]);\n }\n break;\n case 'forEach' in query:\n query.forEach(addEach, dict);\n break;\n default:\n for (var key in query)\n appendTo(dict, key, query[key]);\n }\n }\n\n function addEach(value, key) {\n appendTo(this, key, value);\n }\n\n function appendTo(dict, key, value) {\n var res = isArray(value) ? value.join(',') : value;\n if (key in dict)\n dict[key].push(res);\n else\n dict[key] = [res];\n }\n\n function decode(str) {\n return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));\n }\n\n function encode(str) {\n return encodeURIComponent(str).replace(find, replacer);\n }\n\n function replacer(match) {\n return replace[match];\n }\n\n }(Object, String, Array.isArray));\n}\n\n(function (URLSearchParamsProto) {\n\n var iterable = false;\n try { iterable = !!Symbol.iterator; } catch (o_O) {}\n\n /* istanbul ignore else */\n if (!('forEach' in URLSearchParamsProto)) {\n URLSearchParamsProto.forEach = function forEach(callback, thisArg) {\n var self = this;\n var names = Object.create(null);\n this.toString()\n .replace(/=[\\s\\S]*?(?:&|$)/g, '=')\n .split('=')\n .forEach(function (name) {\n if (!name.length || name in names)\n return;\n (names[name] = self.getAll(name)).forEach(function(value) {\n callback.call(thisArg, value, name, self);\n });\n });\n };\n }\n\n /* istanbul ignore else */\n if (!('keys' in URLSearchParamsProto)) {\n URLSearchParamsProto.keys = function keys() {\n return iterator(this, function(value, key) { this.push(key); });\n };\n }\n\n /* istanbul ignore else */\n if (!('values' in URLSearchParamsProto)) {\n URLSearchParamsProto.values = function values() {\n return iterator(this, function(value, key) { this.push(value); });\n };\n }\n\n /* istanbul ignore else */\n if (!('entries' in URLSearchParamsProto)) {\n URLSearchParamsProto.entries = function entries() {\n return iterator(this, function(value, key) { this.push([key, value]); });\n };\n }\n\n /* istanbul ignore else */\n if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {\n URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;\n }\n\n /* istanbul ignore else */\n if (!('sort' in URLSearchParamsProto)) {\n URLSearchParamsProto.sort = function sort() {\n var\n entries = this.entries(),\n entry = entries.next(),\n done = entry.done,\n keys = [],\n values = Object.create(null),\n i, key, value\n ;\n while (!done) {\n value = entry.value;\n key = value[0];\n keys.push(key);\n if (!(key in values)) {\n values[key] = [];\n }\n values[key].push(value[1]);\n entry = entries.next();\n done = entry.done;\n }\n // not the champion in efficiency\n // but these two bits just do the job\n keys.sort();\n for (i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this.append(key, values[key].shift());\n }\n };\n }\n\n function iterator(self, callback) {\n var items = [];\n self.forEach(callback, items);\n /* istanbul ignore next */\n return iterable ?\n items[Symbol.iterator]() :\n {\n next: function() {\n var value = items.shift();\n return {done: value === void 0, value: value};\n }\n };\n }\n\n /* istanbul ignore next */\n (function (Object) {\n var\n dP = Object.defineProperty,\n gOPD = Object.getOwnPropertyDescriptor,\n createSearchParamsPollute = function (search) {\n function append(name, value) {\n URLSearchParamsProto.append.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function del(name) {\n URLSearchParamsProto.delete.call(this, name);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function set(name, value) {\n URLSearchParamsProto.set.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n return function (sp, value) {\n sp.append = append;\n sp.delete = del;\n sp.set = set;\n return dP(sp, '_usp', {\n configurable: true,\n writable: true,\n value: value\n });\n };\n },\n createSearchParamsCreate = function (polluteSearchParams) {\n return function (obj, sp) {\n dP(\n obj, '_searchParams', {\n configurable: true,\n writable: true,\n value: polluteSearchParams(sp, obj)\n }\n );\n return sp;\n };\n },\n updateSearchParams = function (sp) {\n var append = sp.append;\n sp.append = URLSearchParamsProto.append;\n URLSearchParams.call(sp, sp._usp.search.slice(1));\n sp.append = append;\n },\n verifySearchParams = function (obj, Class) {\n if (!(obj instanceof Class)) throw new TypeError(\n \"'searchParams' accessed on an object that \" +\n \"does not implement interface \" + Class.name\n );\n },\n upgradeClass = function (Class) {\n var\n ClassProto = Class.prototype,\n searchParams = gOPD(ClassProto, 'searchParams'),\n href = gOPD(ClassProto, 'href'),\n search = gOPD(ClassProto, 'search'),\n createSearchParams\n ;\n if (!searchParams && search && search.set) {\n createSearchParams = createSearchParamsCreate(\n createSearchParamsPollute(search)\n );\n Object.defineProperties(\n ClassProto,\n {\n href: {\n get: function () {\n return href.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n href.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n search: {\n get: function () {\n return search.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n search.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n searchParams: {\n get: function () {\n verifySearchParams(this, Class);\n return this._searchParams || createSearchParams(\n this,\n new URLSearchParams(this.search.slice(1))\n );\n },\n set: function (sp) {\n verifySearchParams(this, Class);\n createSearchParams(this, sp);\n }\n }\n }\n );\n }\n }\n ;\n try {\n upgradeClass(HTMLAnchorElement);\n if (/^function|object$/.test(typeof URL) && URL.prototype)\n upgradeClass(URL);\n } catch (meh) {}\n }(Object));\n\n}(self.URLSearchParams.prototype, Object));\nexport default self.URLSearchParams;\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"squatch.js","sources":["../node_modules/@ungap/url-search-params/esm/index.js"],"sourcesContent":["/*! (c) Andrea Giammarchi - ISC */\nvar self = this || /* istanbul ignore next */ {};\ntry {\n (function (URLSearchParams, plus) {\n if (\n new URLSearchParams('q=%2B').get('q') !== plus ||\n new URLSearchParams({q: plus}).get('q') !== plus ||\n new URLSearchParams([['q', plus]]).get('q') !== plus ||\n new URLSearchParams('q=\\n').toString() !== 'q=%0A' ||\n new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||\n new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'\n )\n throw URLSearchParams;\n self.URLSearchParams = URLSearchParams;\n }(URLSearchParams, '+'));\n} catch(URLSearchParams) {\n (function (Object, String, isArray) {'use strict';\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var find = /[!'\\(\\)~]|%20|%00/g;\n var findPercentSign = /%(?![0-9a-fA-F]{2})/g;\n var plus = /\\+/g;\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n var proto = {\n append: function (key, value) {\n appendTo(this._ungap, key, value);\n },\n delete: function (key) {\n delete this._ungap[key];\n },\n get: function (key) {\n return this.has(key) ? this._ungap[key][0] : null;\n },\n getAll: function (key) {\n return this.has(key) ? this._ungap[key].slice(0) : [];\n },\n has: function (key) {\n return key in this._ungap;\n },\n set: function (key, value) {\n this._ungap[key] = [String(value)];\n },\n forEach: function (callback, thisArg) {\n var self = this;\n for (var key in self._ungap)\n self._ungap[key].forEach(invoke, key);\n function invoke(value) {\n callback.call(thisArg, value, String(key), self);\n }\n },\n toJSON: function () {\n return {};\n },\n toString: function () {\n var query = [];\n for (var key in this._ungap) {\n var encoded = encode(key);\n for (var\n i = 0,\n value = this._ungap[key];\n i < value.length; i++\n ) {\n query.push(encoded + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n }\n };\n for (var key in proto)\n defineProperty(URLSearchParams.prototype, key, {\n configurable: true,\n writable: true,\n value: proto[key]\n });\n self.URLSearchParams = URLSearchParams;\n function URLSearchParams(query) {\n var dict = create(null);\n defineProperty(this, '_ungap', {value: dict});\n switch (true) {\n case !query:\n break;\n case typeof query === 'string':\n if (query.charAt(0) === '?') {\n query = query.slice(1);\n }\n for (var\n pairs = query.split('&'),\n i = 0,\n length = pairs.length; i < length; i++\n ) {\n var value = pairs[i];\n var index = value.indexOf('=');\n if (-1 < index) {\n appendTo(\n dict,\n decode(value.slice(0, index)),\n decode(value.slice(index + 1))\n );\n } else if (value.length){\n appendTo(\n dict,\n decode(value),\n ''\n );\n }\n }\n break;\n case isArray(query):\n for (var\n i = 0,\n length = query.length; i < length; i++\n ) {\n var value = query[i];\n appendTo(dict, value[0], value[1]);\n }\n break;\n case 'forEach' in query:\n query.forEach(addEach, dict);\n break;\n default:\n for (var key in query)\n appendTo(dict, key, query[key]);\n }\n }\n\n function addEach(value, key) {\n appendTo(this, key, value);\n }\n\n function appendTo(dict, key, value) {\n var res = isArray(value) ? value.join(',') : value;\n if (key in dict)\n dict[key].push(res);\n else\n dict[key] = [res];\n }\n\n function decode(str) {\n return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));\n }\n\n function encode(str) {\n return encodeURIComponent(str).replace(find, replacer);\n }\n\n function replacer(match) {\n return replace[match];\n }\n\n }(Object, String, Array.isArray));\n}\n\n(function (URLSearchParamsProto) {\n\n var iterable = false;\n try { iterable = !!Symbol.iterator; } catch (o_O) {}\n\n /* istanbul ignore else */\n if (!('forEach' in URLSearchParamsProto)) {\n URLSearchParamsProto.forEach = function forEach(callback, thisArg) {\n var self = this;\n var names = Object.create(null);\n this.toString()\n .replace(/=[\\s\\S]*?(?:&|$)/g, '=')\n .split('=')\n .forEach(function (name) {\n if (!name.length || name in names)\n return;\n (names[name] = self.getAll(name)).forEach(function(value) {\n callback.call(thisArg, value, name, self);\n });\n });\n };\n }\n\n /* istanbul ignore else */\n if (!('keys' in URLSearchParamsProto)) {\n URLSearchParamsProto.keys = function keys() {\n return iterator(this, function(value, key) { this.push(key); });\n };\n }\n\n /* istanbul ignore else */\n if (!('values' in URLSearchParamsProto)) {\n URLSearchParamsProto.values = function values() {\n return iterator(this, function(value, key) { this.push(value); });\n };\n }\n\n /* istanbul ignore else */\n if (!('entries' in URLSearchParamsProto)) {\n URLSearchParamsProto.entries = function entries() {\n return iterator(this, function(value, key) { this.push([key, value]); });\n };\n }\n\n /* istanbul ignore else */\n if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {\n URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;\n }\n\n /* istanbul ignore else */\n if (!('sort' in URLSearchParamsProto)) {\n URLSearchParamsProto.sort = function sort() {\n var\n entries = this.entries(),\n entry = entries.next(),\n done = entry.done,\n keys = [],\n values = Object.create(null),\n i, key, value\n ;\n while (!done) {\n value = entry.value;\n key = value[0];\n keys.push(key);\n if (!(key in values)) {\n values[key] = [];\n }\n values[key].push(value[1]);\n entry = entries.next();\n done = entry.done;\n }\n // not the champion in efficiency\n // but these two bits just do the job\n keys.sort();\n for (i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this.append(key, values[key].shift());\n }\n };\n }\n\n function iterator(self, callback) {\n var items = [];\n self.forEach(callback, items);\n /* istanbul ignore next */\n return iterable ?\n items[Symbol.iterator]() :\n {\n next: function() {\n var value = items.shift();\n return {done: value === void 0, value: value};\n }\n };\n }\n\n /* istanbul ignore next */\n (function (Object) {\n var\n dP = Object.defineProperty,\n gOPD = Object.getOwnPropertyDescriptor,\n createSearchParamsPollute = function (search) {\n function append(name, value) {\n URLSearchParamsProto.append.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function del(name) {\n URLSearchParamsProto.delete.call(this, name);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function set(name, value) {\n URLSearchParamsProto.set.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n return function (sp, value) {\n sp.append = append;\n sp.delete = del;\n sp.set = set;\n return dP(sp, '_usp', {\n configurable: true,\n writable: true,\n value: value\n });\n };\n },\n createSearchParamsCreate = function (polluteSearchParams) {\n return function (obj, sp) {\n dP(\n obj, '_searchParams', {\n configurable: true,\n writable: true,\n value: polluteSearchParams(sp, obj)\n }\n );\n return sp;\n };\n },\n updateSearchParams = function (sp) {\n var append = sp.append;\n sp.append = URLSearchParamsProto.append;\n URLSearchParams.call(sp, sp._usp.search.slice(1));\n sp.append = append;\n },\n verifySearchParams = function (obj, Class) {\n if (!(obj instanceof Class)) throw new TypeError(\n \"'searchParams' accessed on an object that \" +\n \"does not implement interface \" + Class.name\n );\n },\n upgradeClass = function (Class) {\n var\n ClassProto = Class.prototype,\n searchParams = gOPD(ClassProto, 'searchParams'),\n href = gOPD(ClassProto, 'href'),\n search = gOPD(ClassProto, 'search'),\n createSearchParams\n ;\n if (!searchParams && search && search.set) {\n createSearchParams = createSearchParamsCreate(\n createSearchParamsPollute(search)\n );\n Object.defineProperties(\n ClassProto,\n {\n href: {\n get: function () {\n return href.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n href.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n search: {\n get: function () {\n return search.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n search.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n searchParams: {\n get: function () {\n verifySearchParams(this, Class);\n return this._searchParams || createSearchParams(\n this,\n new URLSearchParams(this.search.slice(1))\n );\n },\n set: function (sp) {\n verifySearchParams(this, Class);\n createSearchParams(this, sp);\n }\n }\n }\n );\n }\n }\n ;\n try {\n upgradeClass(HTMLAnchorElement);\n if (/^function|object$/.test(typeof URL) && URL.prototype)\n upgradeClass(URL);\n } catch (meh) {}\n }(Object));\n\n}(self.URLSearchParams.prototype, Object));\nexport default self.URLSearchParams;\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}