@saasquatch/squatch-js 2.3.2-8 → 2.4.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +260 -167
- package/LICENSE +20 -20
- package/README.md +144 -144
- package/SECURITY.md +10 -10
- package/babelregister.js +16 -16
- package/cucumber.js +45 -45
- package/demo/generate.tsx +39 -39
- package/demo/index.d.ts +15 -15
- package/demo/sandbox.ts +122 -122
- package/demo/styles.css +24 -24
- package/demo/templates/MintGA.ts +106 -96
- package/demo/templates/MintGAContainer.ts +105 -95
- package/demo/templates/MintGAContainerDisplayBlock.ts +104 -95
- package/demo/templates/QuirksMintGA.ts +104 -95
- package/demo/templates/QuirksMintGAContainer.ts +104 -95
- package/demo/templates/QuirksMintGAContainerDisplayBlock.ts +104 -95
- package/demo/templates/QuirksVanillaGA.ts +308 -308
- package/demo/templates/VanillaGA.ts +308 -308
- package/demo/templates/VanillaGANoContainer.ts +308 -308
- package/demo/templates/classic.ts +1234 -1234
- package/demo/toolbar.tsx +526 -493
- package/demo/tsconfig.json +14 -14
- package/demo/util.ts +21 -21
- package/demo/versions.ts +14 -14
- package/dist/api/EventsApi.d.ts +1 -0
- package/dist/squatch.d.ts +2 -2
- package/dist/squatch.esm.js +92 -23
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +92 -23
- package/dist/squatch.js.map +1 -1
- package/dist/squatch.min.js +2 -2
- package/dist/stats.html +1 -1
- package/dist/types.d.ts +22 -0
- package/dist/widgets/EmbedWidget.d.ts +4 -2
- package/dist/widgets/Widgets.d.ts +3 -2
- package/package.json +104 -103
- package/tsconfig.json +22 -22
- package/dist/squatch.WidgetApi.js +0 -1395
- package/dist/squatch.WidgetApi.min.js +0 -8
package/dist/squatch.js
CHANGED
|
@@ -568,7 +568,7 @@ class Widget {
|
|
|
568
568
|
const {
|
|
569
569
|
contentWindow
|
|
570
570
|
} = this.frame;
|
|
571
|
-
if (!contentWindow) throw new Error("Squatch.
|
|
571
|
+
if (!contentWindow) throw new Error("Squatch.js frame inner frame is empty");
|
|
572
572
|
const frameDoc = contentWindow.document;
|
|
573
573
|
|
|
574
574
|
function search() {
|
|
@@ -715,15 +715,48 @@ const _log$5 = debug__default['default']("squatch-js:EMBEDwidget");
|
|
|
715
715
|
|
|
716
716
|
|
|
717
717
|
class EmbedWidget extends Widget {
|
|
718
|
-
constructor(params,
|
|
718
|
+
constructor(params, container) {
|
|
719
719
|
super(params);
|
|
720
|
-
|
|
721
|
-
|
|
720
|
+
let element;
|
|
721
|
+
|
|
722
|
+
if (typeof container === "string") {
|
|
723
|
+
// selector is a string
|
|
724
|
+
element = document.querySelector(container);
|
|
725
|
+
|
|
726
|
+
_log$5("loading widget with selector", element); // selector is an HTML element
|
|
727
|
+
|
|
728
|
+
} else if (container instanceof HTMLElement) {
|
|
729
|
+
element = container;
|
|
730
|
+
|
|
731
|
+
_log$5("loading widget with container", element); // garbage container found
|
|
732
|
+
|
|
733
|
+
} else if (container) {
|
|
734
|
+
element = null;
|
|
735
|
+
|
|
736
|
+
_log$5("container must be an HTMLElement or string", container); // find element on page
|
|
737
|
+
|
|
738
|
+
} else {
|
|
739
|
+
element = document.querySelector("#squatchembed") || document.querySelector(".squatchembed");
|
|
740
|
+
|
|
741
|
+
_log$5("loading widget with default selector", element);
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
if (!(element instanceof HTMLElement)) throw new Error(`element with selector '${container}' not found.'`);
|
|
722
745
|
this.element = element;
|
|
723
746
|
}
|
|
724
747
|
|
|
725
748
|
async load() {
|
|
726
|
-
if (
|
|
749
|
+
if (this.context.container) {
|
|
750
|
+
this.element.style.visibility = "hidden";
|
|
751
|
+
this.element.style.height = "0";
|
|
752
|
+
this.element.style["overflow-y"] = "hidden"; // Widget reloaded - replace existing element
|
|
753
|
+
|
|
754
|
+
if (this.element.firstChild) {
|
|
755
|
+
this.element.replaceChild(this.frame, this.element.firstChild); // Add iframe for the first time
|
|
756
|
+
} else {
|
|
757
|
+
this.element.appendChild(this.frame);
|
|
758
|
+
}
|
|
759
|
+
} else if (!this.element.firstChild || this.element.firstChild.nodeName === "#text") {
|
|
727
760
|
this.element.appendChild(this.frame);
|
|
728
761
|
}
|
|
729
762
|
|
|
@@ -765,16 +798,41 @@ class EmbedWidget extends Widget {
|
|
|
765
798
|
|
|
766
799
|
this.frame.height = height;
|
|
767
800
|
}
|
|
768
|
-
});
|
|
801
|
+
});
|
|
802
|
+
ro.observe(await this._findInnerContainer()); // Regular load - trigger event
|
|
769
803
|
|
|
770
|
-
|
|
804
|
+
if (!this.context.container) {
|
|
805
|
+
this._loadEvent(_sqh);
|
|
771
806
|
|
|
772
|
-
|
|
807
|
+
_log$5("loaded");
|
|
808
|
+
}
|
|
809
|
+
});
|
|
810
|
+
} // Un-hide if element is available and refresh data
|
|
773
811
|
|
|
774
|
-
this._loadEvent(_sqh);
|
|
775
812
|
|
|
776
|
-
|
|
777
|
-
|
|
813
|
+
open() {
|
|
814
|
+
var _this$frame, _this$frame$contentDo, _this$frame2, _this$frame2$contentW, _this$frame3, _this$frame3$contentW;
|
|
815
|
+
|
|
816
|
+
if (!this.frame) return _log$5("no target element to open");
|
|
817
|
+
this.element.style.visibility = "unset";
|
|
818
|
+
this.element.style.height = "auto";
|
|
819
|
+
this.element.style["overflow-y"] = "auto";
|
|
820
|
+
(_this$frame = this.frame) == null ? void 0 : (_this$frame$contentDo = _this$frame.contentDocument) == null ? void 0 : _this$frame$contentDo.dispatchEvent(new CustomEvent("sq:refresh"));
|
|
821
|
+
|
|
822
|
+
const _sqh = ((_this$frame2 = this.frame) == null ? void 0 : (_this$frame2$contentW = _this$frame2.contentWindow) == null ? void 0 : _this$frame2$contentW.squatch) || ((_this$frame3 = this.frame) == null ? void 0 : (_this$frame3$contentW = _this$frame3.contentWindow) == null ? void 0 : _this$frame3$contentW.widgetIdent);
|
|
823
|
+
|
|
824
|
+
this._loadEvent(_sqh);
|
|
825
|
+
|
|
826
|
+
_log$5("loaded");
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
close() {
|
|
830
|
+
if (!this.frame) return _log$5("no target element to close");
|
|
831
|
+
this.element.style.visibility = "hidden";
|
|
832
|
+
this.element.style.height = "0";
|
|
833
|
+
this.element.style["overflow-y"] = "hidden";
|
|
834
|
+
|
|
835
|
+
_log$5("Embed widget closed");
|
|
778
836
|
}
|
|
779
837
|
|
|
780
838
|
_error(rs, mode = "embed", style = "") {
|
|
@@ -798,12 +856,18 @@ const _log$4 = debug__default['default']("squatch-js:POPUPwidget");
|
|
|
798
856
|
class PopupWidget extends Widget {
|
|
799
857
|
constructor(params, trigger = ".squatchpop") {
|
|
800
858
|
super(params);
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
859
|
+
|
|
860
|
+
try {
|
|
861
|
+
this.triggerElement
|
|
862
|
+
/* HTMLButton */
|
|
863
|
+
= document.querySelector(trigger);
|
|
864
|
+
if (trigger && !this.triggerElement) _log$4("No element found with trigger selector", trigger);
|
|
865
|
+
} catch (_unused) {
|
|
866
|
+
_log$4("Not a valid selector", trigger);
|
|
867
|
+
} // Trigger is optional
|
|
868
|
+
|
|
804
869
|
|
|
805
870
|
if (this.triggerElement) {
|
|
806
|
-
//@ts-ignore -- we assume this is an element that can have click events
|
|
807
871
|
this.triggerElement.onclick = () => {
|
|
808
872
|
this.open();
|
|
809
873
|
};
|
|
@@ -814,7 +878,6 @@ class PopupWidget extends Widget {
|
|
|
814
878
|
this.triggerWhenCTA = document.querySelector(".squatchpop");
|
|
815
879
|
|
|
816
880
|
if (trigger === "#cta" && this.triggerWhenCTA) {
|
|
817
|
-
//@ts-ignore -- we assume this is an element that can have click events
|
|
818
881
|
this.triggerWhenCTA.onclick = () => {
|
|
819
882
|
this.open();
|
|
820
883
|
};
|
|
@@ -898,6 +961,8 @@ class PopupWidget extends Widget {
|
|
|
898
961
|
const frameDoc = contentWindow.document; // Adjust frame height when size of body changes
|
|
899
962
|
|
|
900
963
|
domready(frameDoc, () => {
|
|
964
|
+
var _frame$contentDocumen;
|
|
965
|
+
|
|
901
966
|
const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
902
967
|
|
|
903
968
|
const ctaElement = frameDoc.getElementById("cta");
|
|
@@ -909,6 +974,7 @@ class PopupWidget extends Widget {
|
|
|
909
974
|
|
|
910
975
|
popupdiv.style.visibility = "visible";
|
|
911
976
|
popupdiv.style.top = "0px";
|
|
977
|
+
(_frame$contentDocumen = frame.contentDocument) == null ? void 0 : _frame$contentDocumen.dispatchEvent(new CustomEvent("sq:refresh"));
|
|
912
978
|
|
|
913
979
|
this._loadEvent(_sqh);
|
|
914
980
|
|
|
@@ -1150,8 +1216,9 @@ class Widgets {
|
|
|
1150
1216
|
* @param {string} config.user.accountId The user account id
|
|
1151
1217
|
* @param {WidgetType} config.widgetType The content of the widget.
|
|
1152
1218
|
* @param {EngagementMedium} config.engagementMedium How to display the widget.
|
|
1153
|
-
* @param {string} config.jwt the JSON Web Token (JWT) that is used
|
|
1154
|
-
*
|
|
1219
|
+
* @param {string} config.jwt the JSON Web Token (JWT) that is used to validate the data (can be disabled)
|
|
1220
|
+
* @param {HTMLElement | string | undefined} config.container Element to load the widget into
|
|
1221
|
+
* @param {string | undefined} config.trigger Trigger element for opening the popup widget
|
|
1155
1222
|
*
|
|
1156
1223
|
* @return {Promise<WidgetResult>} json object if true, with a Widget and user details.
|
|
1157
1224
|
*/
|
|
@@ -1167,7 +1234,9 @@ class Widgets {
|
|
|
1167
1234
|
widget: this._renderWidget(response, clean, {
|
|
1168
1235
|
type: "upsert",
|
|
1169
1236
|
user: clean.user,
|
|
1170
|
-
engagementMedium: config.engagementMedium
|
|
1237
|
+
engagementMedium: config.engagementMedium,
|
|
1238
|
+
container: config.container,
|
|
1239
|
+
trigger: config.trigger
|
|
1171
1240
|
}),
|
|
1172
1241
|
user: response.user
|
|
1173
1242
|
};
|
|
@@ -1351,10 +1420,10 @@ class Widgets {
|
|
|
1351
1420
|
}
|
|
1352
1421
|
|
|
1353
1422
|
if (!displayCTA && config.engagementMedium === "EMBED") {
|
|
1354
|
-
widget = new EmbedWidget(params);
|
|
1423
|
+
widget = new EmbedWidget(params, params.context.container);
|
|
1355
1424
|
widget.load();
|
|
1356
1425
|
} else if (!displayCTA && config.engagementMedium === "POPUP") {
|
|
1357
|
-
widget = new PopupWidget(params);
|
|
1426
|
+
widget = new PopupWidget(params, params.context.trigger);
|
|
1358
1427
|
widget.load();
|
|
1359
1428
|
if (displayOnLoad) widget.open();
|
|
1360
1429
|
} else if (displayCTA) {
|
|
@@ -2175,9 +2244,9 @@ function submitEmail(fn) {
|
|
|
2175
2244
|
* Manually set the _saasquatch cookie as a 1st party cookie if available as a URL parameter on the current page.
|
|
2176
2245
|
* This runs automatically immediately when squatch-js is loaded, except when window.SaaSquatchDoNotAutoDrop is true.
|
|
2177
2246
|
* Use this function manually if you have a single page application or custom routing that causes the `_saasquatch` URL parameter to not be set when Squatch.js loads.
|
|
2178
|
-
|
|
2247
|
+
|
|
2179
2248
|
* It is safe to run this function multiple times. If the `_saasquatch` URL parameter is invalid or missing it will not clear the 1st party cookie.
|
|
2180
|
-
|
|
2249
|
+
|
|
2181
2250
|
*
|
|
2182
2251
|
* @returns {void}
|
|
2183
2252
|
*
|
package/dist/squatch.js.map
CHANGED
|
@@ -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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"}
|