@memberstack/dom 1.0.0-alpha.3.4.2 → 1.0.0-beta.10

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 (54) hide show
  1. package/README.md +1 -0
  2. package/lib/auth/persistence/index.d.ts +1 -0
  3. package/lib/auth/persistence/index.js +13 -0
  4. package/lib/auth/persistence/local.d.ts +5 -0
  5. package/lib/auth/persistence/local.js +20 -0
  6. package/lib/auth/persistence/methods.d.ts +11 -0
  7. package/lib/auth/persistence/methods.js +57 -0
  8. package/lib/auth/persistence/session.d.ts +5 -0
  9. package/lib/auth/persistence/session.js +20 -0
  10. package/lib/constants/cookies.d.ts +3 -0
  11. package/lib/constants/cookies.js +7 -0
  12. package/lib/constants/endpoint.d.ts +4 -0
  13. package/lib/constants/endpoint.js +7 -0
  14. package/lib/constants/storage.d.ts +1 -0
  15. package/lib/constants/storage.js +4 -0
  16. package/lib/constants/window.d.ts +4 -0
  17. package/lib/constants/window.js +7 -0
  18. package/lib/index.d.ts +3 -0
  19. package/lib/index.js +7 -0
  20. package/lib/methods/client.d.ts +644 -0
  21. package/lib/methods/client.js +12 -0
  22. package/lib/methods/dom/index.d.ts +2 -0
  23. package/lib/methods/dom/index.js +9 -0
  24. package/lib/methods/dom/methods.d.ts +17 -0
  25. package/lib/methods/dom/methods.js +64 -0
  26. package/lib/methods/dom/script.d.ts +3 -0
  27. package/lib/methods/dom/script.js +80 -0
  28. package/lib/methods/index.d.ts +23 -0
  29. package/lib/methods/index.js +77 -0
  30. package/lib/utils/cookies.d.ts +1 -0
  31. package/lib/utils/cookies.js +11 -0
  32. package/lib/utils/interceptor.d.ts +1 -0
  33. package/lib/utils/interceptor.js +21 -0
  34. package/lib/utils/localStorage.d.ts +6 -0
  35. package/lib/utils/localStorage.js +21 -0
  36. package/lib/utils/proxy.d.ts +2 -0
  37. package/lib/utils/proxy.js +96 -0
  38. package/package.json +9 -18
  39. package/dist/constants/elements.d.ts +0 -61
  40. package/dist/constants/utils.d.ts +0 -26
  41. package/dist/dist/modal.css +0 -1
  42. package/dist/index.d.ts +0 -8
  43. package/dist/index.js +0 -8
  44. package/dist/methods/index.d.ts +0 -3
  45. package/dist/methods/modal/fetchModal.d.ts +0 -4
  46. package/dist/methods/modal/loadModal.d.ts +0 -8
  47. package/dist/ms-dom.cjs.development.js +0 -729
  48. package/dist/ms-dom.cjs.development.js.map +0 -1
  49. package/dist/ms-dom.cjs.production.min.js +0 -2
  50. package/dist/ms-dom.cjs.production.min.js.map +0 -1
  51. package/dist/ms-dom.esm.js +0 -722
  52. package/dist/ms-dom.esm.js.map +0 -1
  53. package/dist/scripts/listeners.d.ts +0 -6
  54. package/dist/scripts/personalize.d.ts +0 -2
@@ -1,722 +0,0 @@
1
- import memberstack from '@memberstack/core';
2
-
3
- function _extends() {
4
- _extends = Object.assign || function (target) {
5
- for (var i = 1; i < arguments.length; i++) {
6
- var source = arguments[i];
7
-
8
- for (var key in source) {
9
- if (Object.prototype.hasOwnProperty.call(source, key)) {
10
- target[key] = source[key];
11
- }
12
- }
13
- }
14
-
15
- return target;
16
- };
17
-
18
- return _extends.apply(this, arguments);
19
- }
20
-
21
- function _unsupportedIterableToArray(o, minLen) {
22
- if (!o) return;
23
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
24
- var n = Object.prototype.toString.call(o).slice(8, -1);
25
- if (n === "Object" && o.constructor) n = o.constructor.name;
26
- if (n === "Map" || n === "Set") return Array.from(o);
27
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
28
- }
29
-
30
- function _arrayLikeToArray(arr, len) {
31
- if (len == null || len > arr.length) len = arr.length;
32
-
33
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
34
-
35
- return arr2;
36
- }
37
-
38
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
39
- var it;
40
-
41
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
42
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
43
- if (it) o = it;
44
- var i = 0;
45
- return function () {
46
- if (i >= o.length) return {
47
- done: true
48
- };
49
- return {
50
- done: false,
51
- value: o[i++]
52
- };
53
- };
54
- }
55
-
56
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
- }
58
-
59
- it = o[Symbol.iterator]();
60
- return it.next.bind(it);
61
- }
62
-
63
- var _modalAttributes, _siteAttributes;
64
-
65
- var SUBMIT_BUTTON = "button";
66
- var MODAL_TYPE_TOGGLE = "modalTypeToggle";
67
- var LOGO = "logo";
68
- var TITLE = "title";
69
- var LINK = "link";
70
- var RESET_PASSWORD_ANCHOR = "resetPasswordAnchor";
71
- var INPUT_FIELD_LABEL = "inputFieldLabel";
72
- var INPUT_FIELD_INPUT = "inputFieldInput";
73
- var DEFAULT_EMAIL_INPUT_FIELD = "emailInputField";
74
- var DEFAULT_PASSWORD_INPUT_FIELD = "passwordInputField";
75
- var CLOSE_MODAL = "closeModal";
76
- var MEMBERSHIP_ID = "membershipId";
77
- var modalAttributes = (_modalAttributes = {}, _modalAttributes[SUBMIT_BUTTON] = ['[ms-editable="button"]'], _modalAttributes[MODAL_TYPE_TOGGLE] = [".ms-login-or-signup"], _modalAttributes[LOGO] = ['[ms-editable="logo"]'], _modalAttributes[TITLE] = ['[ms-editable="title"]'], _modalAttributes[RESET_PASSWORD_ANCHOR] = ['[ms-editable="resetPassword"]'], _modalAttributes[INPUT_FIELD_LABEL] = ['[ms-editable*="label"]'], _modalAttributes[INPUT_FIELD_INPUT] = ['[ms-editable*="field"]'], _modalAttributes[DEFAULT_EMAIL_INPUT_FIELD] = ['[ms-editable="field email"]'], _modalAttributes[DEFAULT_PASSWORD_INPUT_FIELD] = ['[ms-editable="field password"]'], _modalAttributes[CLOSE_MODAL] = ["#ms-close-signup"], _modalAttributes[MEMBERSHIP_ID] = ["ms-membership-id"], _modalAttributes[LINK] = ['[ms-editable*="link"]'], _modalAttributes);
78
- var SITE_IDENTIFIER = "siteIdentifier";
79
- var MODAL_ROOT = "modalRoot";
80
- var MODAL_ROOT_EMBED = "modalRootEmbed";
81
- var MODAL_MODAL = "modalModal";
82
- var MODAL_EMBED = "modalEmbed";
83
- var MODAL_CONTAINER = "modalContainer";
84
- var siteAttributes = (_siteAttributes = {}, _siteAttributes[MODAL_CONTAINER] = ['[ms-editable="container"]'], _siteAttributes[SITE_IDENTIFIER] = ["data-memberstack-id"], _siteAttributes[MODAL_ROOT] = ["#ms-root"], _siteAttributes[MODAL_ROOT_EMBED] = ["ms-embed"], _siteAttributes[MODAL_MODAL] = ["#ms-modal"], _siteAttributes[MODAL_EMBED] = ["#ms-modal-embed"], _siteAttributes);
85
- var attributes = /*#__PURE__*/_extends({}, modalAttributes, siteAttributes);
86
- var MSDOMElements = function MSDOMElements(el) {
87
- return new Map(Object.entries(attributes).map(function (_ref) {
88
- var key = _ref[0],
89
- value = _ref[1];
90
- return [key, (el || document).querySelectorAll(value.join(", "))];
91
- }));
92
- };
93
-
94
- var fetchModal = function fetchModal(_ref) {
95
- var id = _ref.id,
96
- embed = _ref.embed;
97
-
98
- try {
99
- var identifier = attributes[SITE_IDENTIFIER][0];
100
- var site = document.querySelector("[" + identifier + "]").getAttribute(identifier);
101
- var queryParams = "?msid=" + site + (embed ? "&embed=true" : "");
102
- return Promise.resolve(fetch("https://p37k1liko6.execute-api.us-east-1.amazonaws.com/dev/modal/" + id + queryParams)).then(function (res) {
103
- return Promise.resolve(res.text());
104
- });
105
- } catch (e) {
106
- return Promise.reject(e);
107
- }
108
- };
109
-
110
- var addClickEvent = function addClickEvent(targets, callback) {
111
- if (targets === void 0) {
112
- targets = [];
113
- }
114
-
115
- for (var _iterator = _createForOfIteratorHelperLoose(targets), _step; !(_step = _iterator()).done;) {
116
- var target = _step.value;
117
- if (!target) continue;
118
- target.addEventListener("click", callback);
119
- }
120
- };
121
- function generateStyles(styles) {
122
- var _styles$input, _styles$input2;
123
-
124
- if (!styles) return {};
125
-
126
- var str = function str(x) {
127
- if (x === void 0) {
128
- x = {};
129
- }
130
-
131
- return Object.keys(x).reduce(function (prev, curr) {
132
- return (prev += curr.split(/(?=[A-Z])/).join("-").toLowerCase()) + ":" + x[curr] + ";";
133
- }, "");
134
- };
135
-
136
- return {
137
- title: str(styles === null || styles === void 0 ? void 0 : styles.title),
138
- button: str(styles === null || styles === void 0 ? void 0 : styles.button),
139
- container: str(styles === null || styles === void 0 ? void 0 : styles.container),
140
- link: str(styles === null || styles === void 0 ? void 0 : styles.link),
141
- resetPassword: str(styles === null || styles === void 0 ? void 0 : styles.resetPassword),
142
- input: {
143
- label: str(styles === null || styles === void 0 ? void 0 : (_styles$input = styles.input) === null || _styles$input === void 0 ? void 0 : _styles$input.label),
144
- field: str(styles === null || styles === void 0 ? void 0 : (_styles$input2 = styles.input) === null || _styles$input2 === void 0 ? void 0 : _styles$input2.field)
145
- }
146
- };
147
- }
148
- var addInputEvent = function addInputEvent(targets, callback) {
149
- if (targets === void 0) {
150
- targets = [];
151
- }
152
-
153
- for (var _iterator2 = _createForOfIteratorHelperLoose(targets), _step2; !(_step2 = _iterator2()).done;) {
154
- var target = _step2.value;
155
- if (!target) continue;
156
- target.addEventListener("input", callback);
157
- }
158
- };
159
- var setAttr = function setAttr(els, attr, value) {
160
- if (els === void 0) {
161
- els = [];
162
- }
163
-
164
- for (var _iterator3 = _createForOfIteratorHelperLoose(els), _step3; !(_step3 = _iterator3()).done;) {
165
- var el = _step3.value;
166
-
167
- if (value && el[attr] !== value) {
168
- el[attr] = value;
169
- }
170
- }
171
- };
172
- var createLogo = function createLogo(logos, src) {
173
- if (!src || !logos.length) return;
174
-
175
- var _loop = function _loop() {
176
- var logo = _step4.value;
177
- var img = document.createElement("img");
178
- logo === null || logo === void 0 ? void 0 : logo.getAttributeNames().map(function (attr) {
179
- return [attr, logo.getAttribute(attr)];
180
- }).forEach(function (attr) {
181
- return img.setAttribute(attr[0], attr[1]);
182
- });
183
- img.src = src;
184
- logo.replaceWith(img);
185
- };
186
-
187
- for (var _iterator4 = _createForOfIteratorHelperLoose(logos), _step4; !(_step4 = _iterator4()).done;) {
188
- _loop();
189
- }
190
- };
191
- var prefetchLogo = function prefetchLogo(href) {
192
- if (!href) return;
193
- var hasDuplicate = !![].concat(document.querySelectorAll("[href=\"" + href + "\"]")).find(function (x) {
194
- return x.tagName === "LINK";
195
- });
196
- if (hasDuplicate) return;
197
- var link = document.createElement("link");
198
- var hint = {
199
- rel: "prefetch",
200
- href: href,
201
- as: "image"
202
- };
203
- ["rel", "href", "as"].map(function (attr) {
204
- link.setAttribute(attr, hint[attr]);
205
- });
206
- document.head.appendChild(link);
207
- };
208
- var getFieldValues = function getFieldValues(fields) {
209
- if (fields === void 0) {
210
- fields = [];
211
- }
212
-
213
- return Array.from(fields).map(function (field) {
214
- var _ref;
215
-
216
- var _field$getAttribute$s = field.getAttribute("ms-editable").split(" "),
217
- type = _field$getAttribute$s[1];
218
-
219
- return _ref = {}, _ref[type] = field.value, _ref;
220
- }).reduce(function (acc, cur) {
221
- return _extends({}, acc, cur);
222
- }, {});
223
- };
224
-
225
- var MSDOMElements$1 = MSDOMElements;
226
- var personalizeModal = function personalizeModal(modal, settings) {
227
- var _settings$text, _settings$text2, _settings$text3;
228
-
229
- var modalElements = MSDOMElements$1(modal);
230
- var title = modalElements.get(TITLE);
231
- var logo = modalElements.get(LOGO);
232
- var resetPassword = modalElements.get(RESET_PASSWORD_ANCHOR);
233
- var button = modalElements.get(SUBMIT_BUTTON);
234
- var inputLabels = modalElements.get(INPUT_FIELD_LABEL);
235
- var inputFields = modalElements.get(INPUT_FIELD_INPUT);
236
- setAttr(title, "innerHTML", settings === null || settings === void 0 ? void 0 : (_settings$text = settings.text) === null || _settings$text === void 0 ? void 0 : _settings$text.title);
237
- setAttr(button, "value", settings === null || settings === void 0 ? void 0 : (_settings$text2 = settings.text) === null || _settings$text2 === void 0 ? void 0 : _settings$text2.button);
238
- setAttr(resetPassword, "innerHTML", settings === null || settings === void 0 ? void 0 : (_settings$text3 = settings.text) === null || _settings$text3 === void 0 ? void 0 : _settings$text3.resetPassword);
239
- createLogo(logo, settings === null || settings === void 0 ? void 0 : settings.logo);
240
- inputLabels.forEach(function (label) {
241
- var _settings$text4, _settings$text4$input, _settings$text4$input2;
242
-
243
- var _label$getAttribute$s = label.getAttribute("ms-editable").split(" "),
244
- type = _label$getAttribute$s[1];
245
-
246
- label.innerHTML = (settings === null || settings === void 0 ? void 0 : (_settings$text4 = settings.text) === null || _settings$text4 === void 0 ? void 0 : (_settings$text4$input = _settings$text4.input) === null || _settings$text4$input === void 0 ? void 0 : (_settings$text4$input2 = _settings$text4$input[type]) === null || _settings$text4$input2 === void 0 ? void 0 : _settings$text4$input2.label) || label.innerHTML;
247
- });
248
- inputFields.forEach(function (field) {
249
- var _settings$text5, _settings$text5$input, _settings$text5$input2, _settings$text6, _settings$text6$input, _settings$text6$input2;
250
-
251
- var _field$getAttribute$s = field.getAttribute("ms-editable").split(" "),
252
- type = _field$getAttribute$s[1];
253
-
254
- field.placeholder = (settings === null || settings === void 0 ? void 0 : (_settings$text5 = settings.text) === null || _settings$text5 === void 0 ? void 0 : (_settings$text5$input = _settings$text5.input) === null || _settings$text5$input === void 0 ? void 0 : (_settings$text5$input2 = _settings$text5$input[type]) === null || _settings$text5$input2 === void 0 ? void 0 : _settings$text5$input2.placeholder) || field.placeholder;
255
- field.type = (settings === null || settings === void 0 ? void 0 : (_settings$text6 = settings.text) === null || _settings$text6 === void 0 ? void 0 : (_settings$text6$input = _settings$text6.input) === null || _settings$text6$input === void 0 ? void 0 : (_settings$text6$input2 = _settings$text6$input[type]) === null || _settings$text6$input2 === void 0 ? void 0 : _settings$text6$input2.type) || field.type;
256
- });
257
- applyStyles(modal, settings === null || settings === void 0 ? void 0 : settings.styles);
258
- };
259
- var applyStyles = function applyStyles(modal, styles) {
260
- var elements = modal.querySelectorAll("[ms-editable]");
261
- var inlineStyles = generateStyles(styles);
262
- return elements.forEach(function (element) {
263
- var el = element.getAttribute("ms-editable").split(" ");
264
- var inputEl = el.find(function (x) {
265
- return ["field", "label"].includes(x);
266
- });
267
- var linkEl = el.find(function (x) {
268
- return ["link"].includes(x);
269
- });
270
-
271
- if (inputEl) {
272
- var _inlineStyles$input;
273
-
274
- setAttr([element], "style", inlineStyles === null || inlineStyles === void 0 ? void 0 : (_inlineStyles$input = inlineStyles.input) === null || _inlineStyles$input === void 0 ? void 0 : _inlineStyles$input[inputEl]);
275
- } else {
276
- setAttr([element], "style", inlineStyles === null || inlineStyles === void 0 ? void 0 : inlineStyles[linkEl || el[0]]);
277
- }
278
- });
279
- };
280
-
281
- // A type of promise-like that resolves synchronously and supports only one observer
282
- const _Pact = /*#__PURE__*/(function() {
283
- function _Pact() {}
284
- _Pact.prototype.then = function(onFulfilled, onRejected) {
285
- const result = new _Pact();
286
- const state = this.s;
287
- if (state) {
288
- const callback = state & 1 ? onFulfilled : onRejected;
289
- if (callback) {
290
- try {
291
- _settle(result, 1, callback(this.v));
292
- } catch (e) {
293
- _settle(result, 2, e);
294
- }
295
- return result;
296
- } else {
297
- return this;
298
- }
299
- }
300
- this.o = function(_this) {
301
- try {
302
- const value = _this.v;
303
- if (_this.s & 1) {
304
- _settle(result, 1, onFulfilled ? onFulfilled(value) : value);
305
- } else if (onRejected) {
306
- _settle(result, 1, onRejected(value));
307
- } else {
308
- _settle(result, 2, value);
309
- }
310
- } catch (e) {
311
- _settle(result, 2, e);
312
- }
313
- };
314
- return result;
315
- };
316
- return _Pact;
317
- })();
318
-
319
- // Settles a pact synchronously
320
- function _settle(pact, state, value) {
321
- if (!pact.s) {
322
- if (value instanceof _Pact) {
323
- if (value.s) {
324
- if (state & 1) {
325
- state = value.s;
326
- }
327
- value = value.v;
328
- } else {
329
- value.o = _settle.bind(null, pact, state);
330
- return;
331
- }
332
- }
333
- if (value && value.then) {
334
- value.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));
335
- return;
336
- }
337
- pact.s = state;
338
- pact.v = value;
339
- const observer = pact.o;
340
- if (observer) {
341
- observer(pact);
342
- }
343
- }
344
- }
345
-
346
- const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
347
-
348
- const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
349
-
350
- // Asynchronously implement a switch statement
351
- function _switch(discriminant, cases) {
352
- var dispatchIndex = -1;
353
- var awaitBody;
354
- outer: {
355
- for (var i = 0; i < cases.length; i++) {
356
- var test = cases[i][0];
357
- if (test) {
358
- var testValue = test();
359
- if (testValue && testValue.then) {
360
- break outer;
361
- }
362
- if (testValue === discriminant) {
363
- dispatchIndex = i;
364
- break;
365
- }
366
- } else {
367
- // Found the default case, set it as the pending dispatch case
368
- dispatchIndex = i;
369
- }
370
- }
371
- if (dispatchIndex !== -1) {
372
- do {
373
- var body = cases[dispatchIndex][1];
374
- while (!body) {
375
- dispatchIndex++;
376
- body = cases[dispatchIndex][1];
377
- }
378
- var result = body();
379
- if (result && result.then) {
380
- awaitBody = true;
381
- break outer;
382
- }
383
- var fallthroughCheck = cases[dispatchIndex][2];
384
- dispatchIndex++;
385
- } while (fallthroughCheck && !fallthroughCheck());
386
- return result;
387
- }
388
- }
389
- const pact = new _Pact();
390
- const reject = _settle.bind(null, pact, 2);
391
- (awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);
392
- return pact;
393
- function _resumeAfterTest(value) {
394
- for (;;) {
395
- if (value === discriminant) {
396
- dispatchIndex = i;
397
- break;
398
- }
399
- if (++i === cases.length) {
400
- if (dispatchIndex !== -1) {
401
- break;
402
- } else {
403
- _settle(pact, 1, result);
404
- return;
405
- }
406
- }
407
- test = cases[i][0];
408
- if (test) {
409
- value = test();
410
- if (value && value.then) {
411
- value.then(_resumeAfterTest).then(void 0, reject);
412
- return;
413
- }
414
- } else {
415
- dispatchIndex = i;
416
- }
417
- }
418
- do {
419
- var body = cases[dispatchIndex][1];
420
- while (!body) {
421
- dispatchIndex++;
422
- body = cases[dispatchIndex][1];
423
- }
424
- var result = body();
425
- if (result && result.then) {
426
- result.then(_resumeAfterBody).then(void 0, reject);
427
- return;
428
- }
429
- var fallthroughCheck = cases[dispatchIndex][2];
430
- dispatchIndex++;
431
- } while (fallthroughCheck && !fallthroughCheck());
432
- _settle(pact, 1, result);
433
- }
434
- function _resumeAfterBody(result) {
435
- for (;;) {
436
- var fallthroughCheck = cases[dispatchIndex][2];
437
- if (!fallthroughCheck || fallthroughCheck()) {
438
- break;
439
- }
440
- dispatchIndex++;
441
- var body = cases[dispatchIndex][1];
442
- while (!body) {
443
- dispatchIndex++;
444
- body = cases[dispatchIndex][1];
445
- }
446
- result = body();
447
- if (result && result.then) {
448
- result.then(_resumeAfterBody).then(void 0, reject);
449
- return;
450
- }
451
- }
452
- _settle(pact, 1, result);
453
- }
454
- }
455
-
456
- // Asynchronously call a function and send errors to recovery continuation
457
- function _catch(body, recover) {
458
- try {
459
- var result = body();
460
- } catch(e) {
461
- return recover(e);
462
- }
463
- if (result && result.then) {
464
- return result.then(void 0, recover);
465
- }
466
- return result;
467
- }
468
-
469
- var MSDOMElements$2 = MSDOMElements;
470
- var defaultListeners = function defaultListeners(modal, listeners) {
471
- var modalElements = MSDOMElements$2(modal);
472
- var portal = modalElements.get(CLOSE_MODAL);
473
- var fields = modalElements.get(INPUT_FIELD_INPUT);
474
- if (!portal) return;
475
- addClickEvent(portal, function () {
476
- return modal.style.display = "none";
477
- });
478
- new MutationObserver(function (mutations) {
479
- try {
480
- var mutation = mutations[0];
481
-
482
- var _temp2 = _switch(mutation.attributeName, [[function () {
483
- return "style";
484
- }, function () {
485
- var _listeners$method;
486
-
487
- var display = modal.style.display;
488
- var method = display === "none" ? "onClose" : "onOpen";
489
- return Promise.resolve(listeners === null || listeners === void 0 ? void 0 : (_listeners$method = listeners[method]) === null || _listeners$method === void 0 ? void 0 : _listeners$method.call(listeners)).then(function () {});
490
- }, function () {}]]);
491
-
492
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
493
- } catch (e) {
494
- return Promise.reject(e);
495
- }
496
- }).observe(modal, {
497
- attributes: true,
498
- attributeFilter: ["style"]
499
- });
500
- addInputEvent(fields, function () {
501
- var _listeners$onInputCha;
502
-
503
- return listeners === null || listeners === void 0 ? void 0 : (_listeners$onInputCha = listeners.onInputChange) === null || _listeners$onInputCha === void 0 ? void 0 : _listeners$onInputCha.call(listeners, getFieldValues(fields));
504
- });
505
- };
506
- var addLoginListeners = function addLoginListeners(modal, opts, listeners) {
507
- defaultListeners(modal, listeners);
508
- var modalElements = MSDOMElements$2(modal);
509
- var buttons = modalElements.get(SUBMIT_BUTTON);
510
- var modalToggle = modalElements.get(MODAL_TYPE_TOGGLE);
511
- addClickEvent(buttons, function (e) {
512
- return loginListener(e, modal, listeners);
513
- });
514
- addClickEvent(modalToggle, function () {
515
- return loadModal({
516
- id: "signup_1",
517
- options: opts
518
- });
519
- });
520
- };
521
- var addSignupListeners = function addSignupListeners(modal, opts, listeners) {
522
- defaultListeners(modal, listeners);
523
- var modalElements = MSDOMElements$2(modal);
524
- var buttons = modalElements.get(SUBMIT_BUTTON);
525
- var modalToggle = modalElements.get(MODAL_TYPE_TOGGLE);
526
- addClickEvent(buttons, function (e) {
527
- return signupListener(e, modal, listeners);
528
- });
529
- addClickEvent(modalToggle, function () {
530
- return loadModal({
531
- id: "login_1",
532
- options: opts
533
- });
534
- });
535
- };
536
- var loginListener = function loginListener(e, modal, listeners) {
537
- try {
538
- e.preventDefault();
539
- var modalElements = MSDOMElements$2(modal);
540
- var email = modalElements.get(DEFAULT_EMAIL_INPUT_FIELD)[0];
541
- var password = modalElements.get(DEFAULT_PASSWORD_INPUT_FIELD)[0];
542
- return Promise.resolve(_catch(function () {
543
- var _listeners$beforeSubm;
544
-
545
- return Promise.resolve(listeners === null || listeners === void 0 ? void 0 : (_listeners$beforeSubm = listeners.beforeSubmit) === null || _listeners$beforeSubm === void 0 ? void 0 : _listeners$beforeSubm.call(listeners)).then(function () {
546
- return Promise.resolve(memberstack.login({
547
- email: email.value,
548
- password: password.value
549
- })).then(function (loginRes) {
550
- var _listeners$onSuccess;
551
-
552
- return Promise.resolve(listeners === null || listeners === void 0 ? void 0 : (_listeners$onSuccess = listeners.onSuccess) === null || _listeners$onSuccess === void 0 ? void 0 : _listeners$onSuccess.call(listeners, loginRes)).then(function () {
553
- return loginRes;
554
- });
555
- });
556
- });
557
- }, function (err) {
558
- var _listeners$onError;
559
-
560
- listeners === null || listeners === void 0 ? void 0 : (_listeners$onError = listeners.onError) === null || _listeners$onError === void 0 ? void 0 : _listeners$onError.call(listeners, err);
561
- }));
562
- } catch (e) {
563
- return Promise.reject(e);
564
- }
565
- };
566
- var signupListener = function signupListener(e, modal, listeners) {
567
- try {
568
- e.preventDefault();
569
- var modalElements = MSDOMElements$2(modal);
570
- var fields = modalElements.get(INPUT_FIELD_INPUT);
571
- var email = modalElements.get(DEFAULT_EMAIL_INPUT_FIELD)[0];
572
- var password = modalElements.get(DEFAULT_PASSWORD_INPUT_FIELD)[0];
573
- var customFields = Array.from(fields).map(function (field) {
574
- if (![email, password].includes(field)) {
575
- var _ref;
576
-
577
- var _field$getAttribute$s = field.getAttribute("ms-editable").split(" "),
578
- _ = _field$getAttribute$s[0],
579
- type = _field$getAttribute$s[1];
580
-
581
- return _ref = {}, _ref[type] = field.value, _ref;
582
- }
583
- }).reduce(function (acc, cur) {
584
- return _extends({}, acc, cur);
585
- }, {});
586
- var membership = modal.getAttribute(attributes[MEMBERSHIP_ID][0]);
587
- return Promise.resolve(_catch(function () {
588
- var _listeners$beforeSubm2;
589
-
590
- return Promise.resolve(listeners === null || listeners === void 0 ? void 0 : (_listeners$beforeSubm2 = listeners.beforeSubmit) === null || _listeners$beforeSubm2 === void 0 ? void 0 : _listeners$beforeSubm2.call(listeners)).then(function () {
591
- return Promise.resolve(memberstack.signup({
592
- email: email.value,
593
- password: password.value,
594
- customFields: customFields,
595
- membership: membership
596
- }, ["redirect"])).then(function (signupRes) {
597
- var _listeners$onSuccess2;
598
-
599
- return Promise.resolve(listeners === null || listeners === void 0 ? void 0 : (_listeners$onSuccess2 = listeners.onSuccess) === null || _listeners$onSuccess2 === void 0 ? void 0 : _listeners$onSuccess2.call(listeners, signupRes)).then(function () {
600
- return signupRes;
601
- });
602
- });
603
- });
604
- }, function (err) {
605
- var _listeners$onError2;
606
-
607
- listeners === null || listeners === void 0 ? void 0 : (_listeners$onError2 = listeners.onError) === null || _listeners$onError2 === void 0 ? void 0 : _listeners$onError2.call(listeners, err);
608
- }));
609
- } catch (e) {
610
- return Promise.reject(e);
611
- }
612
- };
613
-
614
- var MSDOMElements$3 = MSDOMElements;
615
-
616
- function appendModal(_ref) {
617
- var el = _ref.el,
618
- data = _ref.data,
619
- membership = _ref.membership;
620
- var attr = attributes,
621
- MODAL_MODAL$1 = MODAL_MODAL,
622
- MEMBERSHIP_ID$1 = MEMBERSHIP_ID,
623
- MODAL_ROOT$1 = MODAL_ROOT;
624
- var elements = MSDOMElements$3(document);
625
-
626
- var _elements$get = elements.get(MODAL_ROOT$1),
627
- msRoot = _elements$get[0];
628
-
629
- el.innerHTML = data;
630
- el.setAttribute("id", attr[MODAL_MODAL$1][0].replace("#", ""));
631
- membership && el.setAttribute(attr[MEMBERSHIP_ID$1][0], membership);
632
- msRoot.appendChild(el);
633
- }
634
-
635
- function appendEmbed(_ref2) {
636
- var el = _ref2.el,
637
- data = _ref2.data,
638
- rootEls = _ref2.rootEls,
639
- membership = _ref2.membership;
640
- var attr = attributes,
641
- MODAL_EMBED$1 = MODAL_EMBED,
642
- MEMBERSHIP_ID$1 = MEMBERSHIP_ID;
643
-
644
- for (var _iterator = _createForOfIteratorHelperLoose(rootEls), _step; !(_step = _iterator()).done;) {
645
- var root = _step.value;
646
- el.innerHTML = data;
647
- el.setAttribute("id", attr[MODAL_EMBED$1][0].replace("#", ""));
648
- membership && el.setAttribute(attr[MEMBERSHIP_ID$1][0], membership);
649
-
650
- if (root.hasChildNodes()) {
651
- var child = root.children[0];
652
- child.replaceWith(el);
653
- } else {
654
- root.appendChild(el);
655
- }
656
- }
657
- }
658
-
659
- var loadModal = function loadModal(props) {
660
- try {
661
- var _props$options;
662
-
663
- prefetchLogo((_props$options = props.options) === null || _props$options === void 0 ? void 0 : _props$options.logo);
664
- return Promise.resolve(fetchModal({
665
- id: props.id,
666
- embed: !!props.root
667
- })).then(function (data) {
668
- var _window$MemberStack;
669
-
670
- var modal = document.createElement("div");
671
- var modalStyle = modal.style;
672
- var elements = MSDOMElements$3(document);
673
- var currentModal = elements.get(MODAL_MODAL)[0];
674
- var rootEls = document.querySelectorAll("[" + attributes[MODAL_ROOT_EMBED][0] + "=\"" + props.root + "\"]");
675
- modalStyle.visibility = props.options ? "hidden" : "visible";
676
- currentModal && currentModal.remove();
677
- var addToDOM = props.root ? appendEmbed : appendModal;
678
- addToDOM({
679
- el: modal,
680
- data: data,
681
- rootEls: rootEls,
682
- membership: props.membership
683
- });
684
- var type = props.id.includes("signup") ? "signup" : "login";
685
- var onOpen = props.onOpen,
686
- onClose = props.onClose,
687
- onSuccess = props.onSuccess,
688
- onError = props.onError,
689
- onInputChange = props.onInputChange;
690
- var addListeners = type === "login" ? addLoginListeners : addSignupListeners;
691
- (_window$MemberStack = window.MemberStack) === null || _window$MemberStack === void 0 ? void 0 : _window$MemberStack.reload();
692
- personalizeModal(modal, props.options);
693
- addListeners(modal, props.optons, {
694
- onOpen: onOpen,
695
- onClose: onClose,
696
- onSuccess: onSuccess,
697
- onError: onError,
698
- onInputChange: onInputChange
699
- });
700
- modalStyle.visibility = "visible";
701
- });
702
- } catch (e) {
703
- return Promise.reject(e);
704
- }
705
- };
706
-
707
- var launchTemplate = function launchTemplate(props) {
708
- return loadModal(props);
709
- };
710
-
711
- var embedTemplate = function embedTemplate(props) {
712
- return loadModal(props);
713
- };
714
-
715
- var index = {
716
- launchTemplate: launchTemplate,
717
- embedTemplate: embedTemplate
718
- };
719
-
720
- export default index;
721
- export { embedTemplate, launchTemplate };
722
- //# sourceMappingURL=ms-dom.esm.js.map