@4site/engrid-scripts 0.19.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.
Files changed (189) hide show
  1. package/.prettierrc.js +226 -0
  2. package/LICENSE +24 -0
  3. package/dist/a11y.d.ts +6 -0
  4. package/dist/a11y.js +46 -0
  5. package/dist/add-name-to-message.d.ts +5 -0
  6. package/dist/add-name-to-message.js +49 -0
  7. package/dist/advocacy.d.ts +7 -0
  8. package/dist/advocacy.js +34 -0
  9. package/dist/amount-label.d.ts +6 -0
  10. package/dist/amount-label.js +29 -0
  11. package/dist/app.d.ts +19 -0
  12. package/dist/app.js +340 -0
  13. package/dist/apple-pay.d.ts +13 -0
  14. package/dist/apple-pay.js +169 -0
  15. package/dist/auto-country-select.d.ts +10 -0
  16. package/dist/auto-country-select.js +63 -0
  17. package/dist/auto-year.d.ts +7 -0
  18. package/dist/auto-year.js +35 -0
  19. package/dist/autocomplete.d.ts +5 -0
  20. package/dist/autocomplete.js +38 -0
  21. package/dist/autosubmit.d.ts +5 -0
  22. package/dist/autosubmit.js +14 -0
  23. package/dist/branding-html.d.ts +14 -0
  24. package/dist/branding-html.js +70 -0
  25. package/dist/capitalize-fields.d.ts +7 -0
  26. package/dist/capitalize-fields.js +22 -0
  27. package/dist/click-to-expand.d.ts +4 -0
  28. package/dist/click-to-expand.js +39 -0
  29. package/dist/cookie.d.ts +53 -0
  30. package/dist/cookie.js +76 -0
  31. package/dist/country-disable.d.ts +4 -0
  32. package/dist/country-disable.js +22 -0
  33. package/dist/country-redirect.d.ts +7 -0
  34. package/dist/country-redirect.js +61 -0
  35. package/dist/custom-currency.d.ts +9 -0
  36. package/dist/custom-currency.js +112 -0
  37. package/dist/data-attributes.d.ts +5 -0
  38. package/dist/data-attributes.js +122 -0
  39. package/dist/data-hide.d.ts +15 -0
  40. package/dist/data-hide.js +66 -0
  41. package/dist/data-layer.d.ts +23 -0
  42. package/dist/data-layer.js +312 -0
  43. package/dist/data-replace.d.ts +26 -0
  44. package/dist/data-replace.js +76 -0
  45. package/dist/debug-hidden-fields.d.ts +4 -0
  46. package/dist/debug-hidden-fields.js +42 -0
  47. package/dist/debug-panel.d.ts +27 -0
  48. package/dist/debug-panel.js +508 -0
  49. package/dist/deprecated.d.ts +5 -0
  50. package/dist/deprecated.js +40 -0
  51. package/dist/digital-wallets.d.ts +8 -0
  52. package/dist/digital-wallets.js +143 -0
  53. package/dist/ecard-to-target.d.ts +11 -0
  54. package/dist/ecard-to-target.js +73 -0
  55. package/dist/ecard.d.ts +8 -0
  56. package/dist/ecard.js +61 -0
  57. package/dist/embedded-ecard.d.ts +18 -0
  58. package/dist/embedded-ecard.js +267 -0
  59. package/dist/en-validators.d.ts +10 -0
  60. package/dist/en-validators.js +89 -0
  61. package/dist/engrid.d.ts +49 -0
  62. package/dist/engrid.js +547 -0
  63. package/dist/event-tickets.d.ts +3 -0
  64. package/dist/event-tickets.js +24 -0
  65. package/dist/events/country.d.ts +12 -0
  66. package/dist/events/country.js +42 -0
  67. package/dist/events/donation-amount.d.ts +16 -0
  68. package/dist/events/donation-amount.js +119 -0
  69. package/dist/events/donation-frequency.d.ts +17 -0
  70. package/dist/events/donation-frequency.js +115 -0
  71. package/dist/events/en-form.d.ts +20 -0
  72. package/dist/events/en-form.js +52 -0
  73. package/dist/events/index.d.ts +6 -0
  74. package/dist/events/index.js +6 -0
  75. package/dist/events/processing-fees.d.ts +20 -0
  76. package/dist/events/processing-fees.js +92 -0
  77. package/dist/events/remember-me-events.d.ts +18 -0
  78. package/dist/events/remember-me-events.js +36 -0
  79. package/dist/exit-intent-lightbox.d.ts +14 -0
  80. package/dist/exit-intent-lightbox.js +145 -0
  81. package/dist/expand-region-name.d.ts +7 -0
  82. package/dist/expand-region-name.js +44 -0
  83. package/dist/fast-form-fill.d.ts +8 -0
  84. package/dist/fast-form-fill.js +75 -0
  85. package/dist/freshaddress.d.ts +18 -0
  86. package/dist/freshaddress.js +204 -0
  87. package/dist/give-by-select.d.ts +9 -0
  88. package/dist/give-by-select.js +82 -0
  89. package/dist/iframe.d.ts +16 -0
  90. package/dist/iframe.js +217 -0
  91. package/dist/index.d.ts +82 -0
  92. package/dist/index.js +84 -0
  93. package/dist/input-has-value-and-focus.d.ts +9 -0
  94. package/dist/input-has-value-and-focus.js +50 -0
  95. package/dist/input-placeholders.d.ts +7 -0
  96. package/dist/input-placeholders.js +82 -0
  97. package/dist/interfaces/ecard-to-target-options.d.ts +9 -0
  98. package/dist/interfaces/ecard-to-target-options.js +8 -0
  99. package/dist/interfaces/embedded-ecard-options.d.ts +8 -0
  100. package/dist/interfaces/embedded-ecard-options.js +7 -0
  101. package/dist/interfaces/exit-intent-options.d.ts +13 -0
  102. package/dist/interfaces/exit-intent-options.js +13 -0
  103. package/dist/interfaces/options.d.ts +147 -0
  104. package/dist/interfaces/options.js +50 -0
  105. package/dist/interfaces/translate-options.d.ts +7 -0
  106. package/dist/interfaces/translate-options.js +42 -0
  107. package/dist/interfaces/upsell-options.d.ts +24 -0
  108. package/dist/interfaces/upsell-options.js +33 -0
  109. package/dist/live-currency.d.ts +15 -0
  110. package/dist/live-currency.js +140 -0
  111. package/dist/live-frequency.d.ts +13 -0
  112. package/dist/live-frequency.js +109 -0
  113. package/dist/live-variables.d.ts +21 -0
  114. package/dist/live-variables.js +147 -0
  115. package/dist/loader.d.ts +10 -0
  116. package/dist/loader.js +175 -0
  117. package/dist/logger.d.ts +16 -0
  118. package/dist/logger.js +84 -0
  119. package/dist/media-attribution.d.ts +4 -0
  120. package/dist/media-attribution.js +66 -0
  121. package/dist/menu.d.ts +0 -0
  122. package/dist/menu.js +1 -0
  123. package/dist/min-max-amount.d.ts +13 -0
  124. package/dist/min-max-amount.js +71 -0
  125. package/dist/mobile-cta.d.ts +9 -0
  126. package/dist/mobile-cta.js +71 -0
  127. package/dist/modal.d.ts +19 -0
  128. package/dist/modal.js +129 -0
  129. package/dist/neverbounce.d.ts +23 -0
  130. package/dist/neverbounce.js +244 -0
  131. package/dist/other-amount.d.ts +6 -0
  132. package/dist/other-amount.js +70 -0
  133. package/dist/page-background.d.ts +7 -0
  134. package/dist/page-background.js +55 -0
  135. package/dist/plaid.d.ts +6 -0
  136. package/dist/plaid.js +49 -0
  137. package/dist/postal-code-validator.d.ts +20 -0
  138. package/dist/postal-code-validator.js +118 -0
  139. package/dist/premium-gift.d.ts +10 -0
  140. package/dist/premium-gift.js +115 -0
  141. package/dist/progress-bar.d.ts +3 -0
  142. package/dist/progress-bar.js +40 -0
  143. package/dist/remember-me.d.ts +61 -0
  144. package/dist/remember-me.js +358 -0
  145. package/dist/required-if-visible.d.ts +8 -0
  146. package/dist/required-if-visible.js +60 -0
  147. package/dist/set-attr.d.ts +4 -0
  148. package/dist/set-attr.js +31 -0
  149. package/dist/set-recurr-freq.d.ts +7 -0
  150. package/dist/set-recurr-freq.js +70 -0
  151. package/dist/show-hide-radio-checkboxes.d.ts +13 -0
  152. package/dist/show-hide-radio-checkboxes.js +161 -0
  153. package/dist/show-if-amount.d.ts +15 -0
  154. package/dist/show-if-amount.js +117 -0
  155. package/dist/show-if-present.d.ts +7 -0
  156. package/dist/show-if-present.js +79 -0
  157. package/dist/skip-link.d.ts +4 -0
  158. package/dist/skip-link.js +36 -0
  159. package/dist/src-defer.d.ts +6 -0
  160. package/dist/src-defer.js +70 -0
  161. package/dist/supporter-hub.d.ts +9 -0
  162. package/dist/supporter-hub.js +75 -0
  163. package/dist/swap-amounts.d.ts +45 -0
  164. package/dist/swap-amounts.js +81 -0
  165. package/dist/thank-you-page-conditional-content.d.ts +8 -0
  166. package/dist/thank-you-page-conditional-content.js +46 -0
  167. package/dist/ticker.d.ts +11 -0
  168. package/dist/ticker.js +66 -0
  169. package/dist/tidycontact.d.ts +46 -0
  170. package/dist/tidycontact.js +1202 -0
  171. package/dist/translate-fields.d.ts +12 -0
  172. package/dist/translate-fields.js +548 -0
  173. package/dist/universal-opt-in.d.ts +7 -0
  174. package/dist/universal-opt-in.js +91 -0
  175. package/dist/upsell-lightbox.d.ts +31 -0
  176. package/dist/upsell-lightbox.js +363 -0
  177. package/dist/url-params-to-body-attrs.d.ts +5 -0
  178. package/dist/url-params-to-body-attrs.js +14 -0
  179. package/dist/url-to-form.d.ts +7 -0
  180. package/dist/url-to-form.js +32 -0
  181. package/dist/us-only-form.d.ts +4 -0
  182. package/dist/us-only-form.js +30 -0
  183. package/dist/version.d.ts +1 -0
  184. package/dist/version.js +1 -0
  185. package/dist/vgs.d.ts +16 -0
  186. package/dist/vgs.js +250 -0
  187. package/dist/welcome-back.d.ts +10 -0
  188. package/dist/welcome-back.js +112 -0
  189. package/package.json +32 -0
@@ -0,0 +1,81 @@
1
+ // This script allows you to override the default donation amounts in Engaging Networks
2
+ // with a custom list of amounts.
3
+ /**
4
+ * Example:
5
+ * window.EngridAmounts = {
6
+ * "onetime": {
7
+ * amounts: {
8
+ * "10": 10,
9
+ * "30": 30,
10
+ * "50": 50,
11
+ * "100": 100,
12
+ * "Other": "other",
13
+ * },
14
+ * default: 30,
15
+ * },
16
+ * "monthly": {
17
+ * amounts: {
18
+ * "5": 5,
19
+ * "15": 15,
20
+ * "25": 25,
21
+ * "30": 30,
22
+ * "Other": "other",
23
+ * },
24
+ * default: 15,
25
+ * },
26
+ * };
27
+ */
28
+ import { DonationAmount, DonationFrequency, ENGrid, EngridLogger } from ".";
29
+ export class SwapAmounts {
30
+ constructor() {
31
+ this.logger = new EngridLogger("SwapAmounts", "purple", "white", "💰");
32
+ this._amount = DonationAmount.getInstance();
33
+ this._frequency = DonationFrequency.getInstance();
34
+ this.defaultChange = false;
35
+ this.swapped = false;
36
+ if (!this.shouldRun())
37
+ return;
38
+ this._frequency.onFrequencyChange.subscribe(() => this.swapAmounts());
39
+ this._amount.onAmountChange.subscribe(() => {
40
+ if (this._frequency.frequency in window.EngridAmounts === false)
41
+ return;
42
+ this.defaultChange = false;
43
+ if (!this.swapped)
44
+ return;
45
+ // Check if the amount is not default amount for the frequency
46
+ if (this._amount.amount !=
47
+ window.EngridAmounts[this._frequency.frequency].default) {
48
+ this.defaultChange = true;
49
+ }
50
+ });
51
+ }
52
+ swapAmounts() {
53
+ if (this._frequency.frequency in window.EngridAmounts) {
54
+ window.EngagingNetworks.require._defined.enjs.swapList("donationAmt", this.loadEnAmounts(window.EngridAmounts[this._frequency.frequency]), {
55
+ ignoreCurrentValue: this.ignoreCurrentValue(),
56
+ });
57
+ this._amount.load();
58
+ this.logger.log("Amounts Swapped To", window.EngridAmounts[this._frequency.frequency]);
59
+ this.swapped = true;
60
+ }
61
+ }
62
+ loadEnAmounts(amountArray) {
63
+ let ret = [];
64
+ for (let amount in amountArray.amounts) {
65
+ ret.push({
66
+ selected: amountArray.amounts[amount] === amountArray.default,
67
+ label: amount,
68
+ value: amountArray.amounts[amount].toString(),
69
+ });
70
+ }
71
+ return ret;
72
+ }
73
+ shouldRun() {
74
+ return "EngridAmounts" in window;
75
+ }
76
+ ignoreCurrentValue() {
77
+ return !(window.EngagingNetworks.require._defined.enjs.checkSubmissionFailed() ||
78
+ ENGrid.getUrlParameter("transaction.donationAmt") !== null ||
79
+ this.defaultChange);
80
+ }
81
+ }
@@ -0,0 +1,8 @@
1
+ export declare class ThankYouPageConditionalContent {
2
+ private logger;
3
+ constructor();
4
+ getShowHideRadioCheckboxesState(): any;
5
+ applyShowHideRadioCheckboxesState(): void;
6
+ deleteShowHideRadioCheckboxesState(): void;
7
+ private shouldRun;
8
+ }
@@ -0,0 +1,46 @@
1
+ import { ENGrid, EngridLogger } from ".";
2
+ export class ThankYouPageConditionalContent {
3
+ constructor() {
4
+ this.logger = new EngridLogger("ThankYouPageConditionalContent");
5
+ if (!this.shouldRun())
6
+ return;
7
+ this.applyShowHideRadioCheckboxesState();
8
+ }
9
+ getShowHideRadioCheckboxesState() {
10
+ var _a;
11
+ try {
12
+ const plainState = (_a = window.sessionStorage.getItem(`engrid_ShowHideRadioCheckboxesState`)) !== null && _a !== void 0 ? _a : "";
13
+ return JSON.parse(plainState);
14
+ }
15
+ catch (err) {
16
+ return [];
17
+ }
18
+ }
19
+ applyShowHideRadioCheckboxesState() {
20
+ const state = this.getShowHideRadioCheckboxesState();
21
+ if (state) {
22
+ state.forEach((item) => {
23
+ this.logger.log("Processing TY page conditional content item:", item);
24
+ if (ENGrid.getPageID() === item.page) {
25
+ document
26
+ .querySelectorAll(`[class*="${item.class}"]`)
27
+ .forEach((el) => {
28
+ el.classList.add("hide");
29
+ });
30
+ document
31
+ .querySelectorAll(`.${item.class}${item.value}`)
32
+ .forEach((el) => {
33
+ el.classList.remove("hide");
34
+ });
35
+ }
36
+ });
37
+ }
38
+ this.deleteShowHideRadioCheckboxesState();
39
+ }
40
+ deleteShowHideRadioCheckboxesState() {
41
+ window.sessionStorage.removeItem(`engrid_ShowHideRadioCheckboxesState`);
42
+ }
43
+ shouldRun() {
44
+ return ENGrid.getGiftProcess();
45
+ }
46
+ }
@@ -0,0 +1,11 @@
1
+ export declare class Ticker {
2
+ private shuffleSeed;
3
+ private items;
4
+ private tickerElement;
5
+ private logger;
6
+ constructor();
7
+ shouldRun(): boolean;
8
+ getSeed(): any;
9
+ getItems(): any;
10
+ render(): void;
11
+ }
package/dist/ticker.js ADDED
@@ -0,0 +1,66 @@
1
+ import { ENGrid, EngridLogger } from ".";
2
+ export class Ticker {
3
+ constructor() {
4
+ this.shuffleSeed = require("shuffle-seed");
5
+ this.items = [];
6
+ this.tickerElement = document.querySelector(".engrid-ticker");
7
+ this.logger = new EngridLogger("Ticker", "black", "beige", "🔁");
8
+ if (!this.shouldRun()) {
9
+ this.logger.log("Not running");
10
+ // If we don't find a ticker, get out
11
+ return;
12
+ }
13
+ const tickerList = document.querySelectorAll(".engrid-ticker li");
14
+ if (tickerList.length > 0) {
15
+ for (let i = 0; i < tickerList.length; i++) {
16
+ this.items.push(tickerList[i].innerText);
17
+ }
18
+ }
19
+ this.render();
20
+ return;
21
+ }
22
+ // Should we run the script?
23
+ shouldRun() {
24
+ return this.tickerElement !== null;
25
+ }
26
+ getSeed() {
27
+ return new Date().getDate() + ENGrid.getPageID();
28
+ }
29
+ // Get Items
30
+ getItems() {
31
+ const total = this.tickerElement.getAttribute("data-total") || "50";
32
+ this.logger.log("Getting " + total + " items");
33
+ const seed = this.getSeed();
34
+ const items = this.shuffleSeed.shuffle(this.items, seed);
35
+ const now = new Date();
36
+ const hour = now.getHours();
37
+ const minute = now.getMinutes();
38
+ let pointer = Math.round((hour * 60 + minute) / 5);
39
+ if (pointer >= items.length) {
40
+ pointer = 0;
41
+ }
42
+ const ret = items.slice(pointer, pointer + total).reverse();
43
+ return ret;
44
+ }
45
+ // Render
46
+ render() {
47
+ var _a, _b, _c;
48
+ this.logger.log("Rendering");
49
+ const items = this.getItems();
50
+ let ticker = document.createElement("div");
51
+ ticker.classList.add("en__component");
52
+ ticker.classList.add("en__component--ticker");
53
+ let str = `<div class="ticker">`;
54
+ for (let i = 0; i < items.length; i++) {
55
+ str += '<div class="ticker__item">' + items[i] + "</div>";
56
+ }
57
+ str = '<div id="engrid-ticker">' + str + "</div></div>";
58
+ ticker.innerHTML = str;
59
+ (_b = (_a = this.tickerElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.insertBefore(ticker, this.tickerElement);
60
+ (_c = this.tickerElement) === null || _c === void 0 ? void 0 : _c.remove();
61
+ const tickerWidth = document.querySelector(".ticker").offsetWidth.toString();
62
+ ticker.style.setProperty("--ticker-size", tickerWidth);
63
+ this.logger.log("Ticker Size: " + ticker.style.getPropertyValue("--ticker-size"));
64
+ this.logger.log("Ticker Width: " + tickerWidth);
65
+ }
66
+ }
@@ -0,0 +1,46 @@
1
+ export declare class TidyContact {
2
+ private logger;
3
+ private endpoint;
4
+ private wasCalled;
5
+ private httpStatus;
6
+ private timeout;
7
+ private isDirty;
8
+ private options;
9
+ private _form;
10
+ private countries_list;
11
+ private countries_dropdown;
12
+ private country_ip;
13
+ constructor();
14
+ private loadOptions;
15
+ private createFields;
16
+ private createPhoneFields;
17
+ private createPhoneMarginVariable;
18
+ private addEventListeners;
19
+ private checkSum;
20
+ private todaysDate;
21
+ private countryAllowed;
22
+ private fetchTimeOut;
23
+ private writeError;
24
+ private setFields;
25
+ private hasAddressFields;
26
+ private canUseAPI;
27
+ private canUsePhoneAPI;
28
+ private getCountry;
29
+ private getCountryByCode;
30
+ private phoneEnabled;
31
+ private countryDropDownEnabled;
32
+ private getCountryFromIP;
33
+ private renderFlagsDropDown;
34
+ private handleUpDownKey;
35
+ private handleEnterKey;
36
+ private handlePhoneInputKeydown;
37
+ private openCountryDropDown;
38
+ private closeCountryDropDown;
39
+ private getFlagImage;
40
+ private appendCountryItems;
41
+ private setDefaultPhoneCountry;
42
+ private setPhoneCountry;
43
+ private highlightCountry;
44
+ private setPhoneDataFromAPI;
45
+ private callAPI;
46
+ }