@memberstack/dom 1.9.8 → 1.9.9

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.
@@ -61,18 +61,21 @@ var addHeaders = function (options) { return (__assign({}, ((options === null ||
61
61
  var promiseResolve, promiseReject;
62
62
  var receiveMessage = function (event) {
63
63
  var _a;
64
- // Do we trust the sender of this message? (might be
65
- // different from what we originally opened, for example).
66
- // if (event.origin !== BASE_URL) {
67
- // return;
68
- // }
69
64
  var data = event.data, origin = event.origin;
70
- console.log("origin", origin);
65
+ console.log({ origin: origin });
66
+ console.log({ data: data });
67
+ var acceptedOrigins = [
68
+ "https://client-testing.ngrok.io",
69
+ "https://client.memberstack.com",
70
+ "https://dev-client.memberstack.com",
71
+ ];
72
+ if (!acceptedOrigins.includes(origin))
73
+ return;
71
74
  if ((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.member) {
72
75
  auth_1.setPersistedMember(data.data.member);
73
76
  cookies_1.setMemberCookie(data.data.tokens.accessToken, globalSessionDurationDays);
74
77
  }
75
- if (data.error) {
78
+ if (data === null || data === void 0 ? void 0 : data.error) {
76
79
  promiseReject(data.error);
77
80
  }
78
81
  promiseResolve(data);
@@ -104,6 +107,10 @@ var openSignInWindow = function (url, name) { return __awaiter(void 0, void 0, v
104
107
  }
105
108
  window.addEventListener('message', function (event) { return receiveMessage(event); }, false);
106
109
  previousUrl = url;
110
+ // close window if user navigates away
111
+ window.addEventListener('beforeunload', function () {
112
+ windowObjectReference === null || windowObjectReference === void 0 ? void 0 : windowObjectReference.close();
113
+ });
107
114
  return [2 /*return*/, new Promise(function (resolve, reject) {
108
115
  promiseResolve = resolve;
109
116
  promiseReject = reject;
@@ -131,6 +138,7 @@ exports.initRequest = function (_a) {
131
138
  customFields: customFields,
132
139
  plans: plans,
133
140
  appId: appId,
141
+ origin: window.location.hostname,
134
142
  });
135
143
  return [2 /*return*/, openSignInWindow(endpoints_1.endpoints.API + "/auth-provider/signup?" + queryParams, "signup")];
136
144
  });
@@ -143,37 +151,66 @@ exports.initRequest = function (_a) {
143
151
  queryParams = new URLSearchParams({
144
152
  provider: params.provider,
145
153
  appId: appId,
154
+ origin: window.location.hostname,
146
155
  });
147
156
  return [2 /*return*/, openSignInWindow(endpoints_1.endpoints.API + "/auth-provider/login?" + queryParams, "login")];
148
157
  });
149
158
  });
150
159
  },
151
- getAppAndMember: function () {
160
+ connectProvider: function (params) {
161
+ return __awaiter(this, void 0, void 0, function () {
162
+ var queryParams;
163
+ return __generator(this, function (_a) {
164
+ queryParams = new URLSearchParams({
165
+ provider: params.provider,
166
+ appId: appId,
167
+ member: cookies_1.getMemberCookie(),
168
+ origin: window.location.hostname,
169
+ });
170
+ //@ts-ignore
171
+ return [2 /*return*/, openSignInWindow(endpoints_1.endpoints.API + "/auth-provider/connect?" + queryParams, "connect")];
172
+ });
173
+ });
174
+ },
175
+ disconnectProvider: function (params) {
152
176
  return __awaiter(this, void 0, void 0, function () {
153
177
  return __generator(this, function (_a) {
154
178
  return [2 /*return*/, sendRequest({
155
- method: requests_2.HttpMethod.GET,
156
- url: "/app-member",
179
+ method: requests_2.HttpMethod.POST,
180
+ url: "/member/disconnect-provider",
181
+ data: {
182
+ provider: params.provider,
183
+ }
157
184
  })];
158
185
  });
159
186
  });
160
187
  },
161
- getApp: function () {
188
+ getAppAndMember: function (params) {
162
189
  return __awaiter(this, void 0, void 0, function () {
190
+ var queryParams;
163
191
  return __generator(this, function (_a) {
192
+ queryParams = new URLSearchParams({
193
+ // @ts-ignore
194
+ includeSSOText: window === null || window === void 0 ? void 0 : window.ssoUI,
195
+ });
164
196
  return [2 /*return*/, sendRequest({
165
197
  method: requests_2.HttpMethod.GET,
166
- url: "/app",
198
+ url: "/app-member?" + queryParams,
167
199
  })];
168
200
  });
169
201
  });
170
202
  },
171
- getAuthProviders: function () {
203
+ getApp: function () {
172
204
  return __awaiter(this, void 0, void 0, function () {
205
+ var queryParams;
173
206
  return __generator(this, function (_a) {
207
+ queryParams = new URLSearchParams({
208
+ // @ts-ignore
209
+ includeSSOText: window === null || window === void 0 ? void 0 : window.ssoUI,
210
+ });
174
211
  return [2 /*return*/, sendRequest({
175
212
  method: requests_2.HttpMethod.GET,
176
- url: "/auth/providers",
213
+ url: "/app?" + queryParams,
177
214
  })];
178
215
  });
179
216
  });
@@ -322,92 +359,6 @@ exports.initRequest = function (_a) {
322
359
  });
323
360
  });
324
361
  },
325
- getMemberCards: function (options) {
326
- return __awaiter(this, void 0, void 0, function () {
327
- return __generator(this, function (_a) {
328
- return [2 /*return*/, sendRequest({
329
- method: requests_2.HttpMethod.GET,
330
- url: "/member/cards",
331
- headers: addHeaders(options),
332
- })];
333
- });
334
- });
335
- },
336
- getMemberInvoices: function (params, options) {
337
- return __awaiter(this, void 0, void 0, function () {
338
- var queryParams;
339
- return __generator(this, function (_a) {
340
- queryParams = params &&
341
- new URLSearchParams(__assign(__assign(__assign({}, (params.first && { first: "" + params.first })), (params.after && { after: params.after })), (params.order && { order: params.order })));
342
- return [2 /*return*/, sendRequest({
343
- method: requests_2.HttpMethod.GET,
344
- url: "/member/invoices" + ((queryParams === null || queryParams === void 0 ? void 0 : queryParams.toString().length) ? "?" + queryParams : ""),
345
- headers: addHeaders(options),
346
- })];
347
- });
348
- });
349
- },
350
- getMemberReceipts: function (params, options) {
351
- return __awaiter(this, void 0, void 0, function () {
352
- var queryParams;
353
- return __generator(this, function (_a) {
354
- queryParams = params &&
355
- new URLSearchParams(__assign(__assign(__assign({}, (params.first && { first: "" + params.first })), (params.after && { after: params.after })), (params.order && { order: params.order })));
356
- return [2 /*return*/, sendRequest({
357
- method: requests_2.HttpMethod.GET,
358
- url: "/member/receipts" + ((queryParams === null || queryParams === void 0 ? void 0 : queryParams.toString().length) ? "?" + queryParams : ""),
359
- headers: addHeaders(options),
360
- })];
361
- });
362
- });
363
- },
364
- getAuthenticationClientSecret: function (params, options) {
365
- return __awaiter(this, void 0, void 0, function () {
366
- return __generator(this, function (_a) {
367
- return [2 /*return*/, sendRequest({
368
- method: requests_2.HttpMethod.GET,
369
- url: "/member/planConnections/" + params.planConnectionId + "/authentication-client-secret",
370
- headers: addHeaders(options),
371
- })];
372
- });
373
- });
374
- },
375
- getTotalCheckoutAmount: function (params, options) {
376
- return __awaiter(this, void 0, void 0, function () {
377
- return __generator(this, function (_a) {
378
- return [2 /*return*/, sendRequest({
379
- method: requests_2.HttpMethod.POST,
380
- url: "/payment/get-total-amount",
381
- data: {
382
- priceIds: params.priceIds,
383
- },
384
- headers: addHeaders(options),
385
- })];
386
- });
387
- });
388
- },
389
- purchasePlans: function (params, options) {
390
- var _a, _b, _c;
391
- return __awaiter(this, void 0, void 0, function () {
392
- return __generator(this, function (_d) {
393
- return [2 /*return*/, sendRequest({
394
- method: requests_2.HttpMethod.POST,
395
- url: "/member/plans/purchase",
396
- data: {
397
- plans: params.plans,
398
- payment: __assign(__assign({}, (((_a = params.payment) === null || _a === void 0 ? void 0 : _a.stripe) && {
399
- stripe: {
400
- paymentMethodId: (_b = params.payment.stripe) === null || _b === void 0 ? void 0 : _b.paymentMethodId,
401
- },
402
- })), (((_c = params.payment) === null || _c === void 0 ? void 0 : _c.cardId) && {
403
- cardId: params.payment.cardId,
404
- })),
405
- },
406
- headers: addHeaders(options),
407
- })];
408
- });
409
- });
410
- },
411
362
  addPlan: function (params, options) {
412
363
  return __awaiter(this, void 0, void 0, function () {
413
364
  return __generator(this, function (_a) {
@@ -528,20 +479,6 @@ exports.initRequest = function (_a) {
528
479
  });
529
480
  });
530
481
  },
531
- cancelPlan: function (params, options) {
532
- return __awaiter(this, void 0, void 0, function () {
533
- return __generator(this, function (_a) {
534
- return [2 /*return*/, sendRequest({
535
- method: requests_2.HttpMethod.POST,
536
- url: "/member/plans/cancel",
537
- data: {
538
- planConnectionId: params.planConnectionId,
539
- },
540
- headers: addHeaders(options),
541
- })];
542
- });
543
- });
544
- },
545
482
  updateMember: function (params, options) {
546
483
  return __awaiter(this, void 0, void 0, function () {
547
484
  return __generator(this, function (_a) {
@@ -566,46 +503,14 @@ exports.initRequest = function (_a) {
566
503
  });
567
504
  });
568
505
  },
569
- addCard: function (params, options) {
506
+ setPassword: function (params, options) {
570
507
  return __awaiter(this, void 0, void 0, function () {
571
508
  return __generator(this, function (_a) {
572
509
  return [2 /*return*/, sendRequest({
573
510
  method: requests_2.HttpMethod.POST,
574
- url: "/member/cards",
511
+ url: "/member/set-password",
575
512
  data: {
576
- stripe: {
577
- paymentMethodId: params.stripePaymentMethodId,
578
- },
579
- default: !!params.default,
580
- },
581
- headers: addHeaders(options),
582
- })];
583
- });
584
- });
585
- },
586
- updateDefaultCard: function (params, options) {
587
- return __awaiter(this, void 0, void 0, function () {
588
- return __generator(this, function (_a) {
589
- return [2 /*return*/, sendRequest({
590
- method: requests_2.HttpMethod.POST,
591
- url: "/member/cards/update-default",
592
- data: {
593
- cardId: params.cardId,
594
- },
595
- headers: addHeaders(options),
596
- })];
597
- });
598
- });
599
- },
600
- updatePlanPayment: function (params, options) {
601
- return __awaiter(this, void 0, void 0, function () {
602
- return __generator(this, function (_a) {
603
- return [2 /*return*/, sendRequest({
604
- method: requests_2.HttpMethod.POST,
605
- url: "/member/update-payment",
606
- data: {
607
- planConnectionId: params.planConnectionId,
608
- cardId: params.cardId,
513
+ password: params.password,
609
514
  },
610
515
  headers: addHeaders(options),
611
516
  })];
@@ -639,36 +544,6 @@ exports.initRequest = function (_a) {
639
544
  });
640
545
  });
641
546
  },
642
- signupMemberAuthProvider: function (params) {
643
- return __awaiter(this, void 0, void 0, function () {
644
- return __generator(this, function (_a) {
645
- return [2 /*return*/, sendRequest({
646
- method: requests_2.HttpMethod.POST,
647
- url: "/auth/signup-provider",
648
- data: __assign({ code: params.code, provider: params.provider, customFields: params.customFields, metaData: params.metaData, plans: params.plans }, (params.payment && {
649
- payment: {
650
- stripe: {
651
- paymentMethodId: params.payment.stripe.paymentMethodId,
652
- },
653
- },
654
- })),
655
- })];
656
- });
657
- });
658
- },
659
- // async refreshMemberTokens(
660
- // params: Params.RefreshMemberTokensParams,
661
- // options?: MemberstackOptions
662
- // ): Promise<Payloads.RefreshMemberTokensPayload> {
663
- // return sendRequest({
664
- // method: HttpMethod.POST,
665
- // url: `/member/refresh-tokens`,
666
- // data: {
667
- // refreshToken: params.refreshToken,
668
- // },
669
- // headers: addHeaders(options),
670
- // });
671
- // },
672
547
  sendMemberVerificationEmail: function () {
673
548
  return __awaiter(this, void 0, void 0, function () {
674
549
  return __generator(this, function (_a) {
@@ -712,32 +587,19 @@ exports.initRequest = function (_a) {
712
587
  },
713
588
  logout: function (options) {
714
589
  return __awaiter(this, void 0, void 0, function () {
590
+ var data;
715
591
  return __generator(this, function (_a) {
716
- auth_1.unsetPersistedMember();
717
- return [2 /*return*/, sendRequest({
718
- method: requests_2.HttpMethod.POST,
719
- url: "/member/logout",
720
- headers: addHeaders(options),
721
- })];
722
- });
723
- });
724
- },
725
- replacePlan: function (params, options) {
726
- var _a;
727
- return __awaiter(this, void 0, void 0, function () {
728
- return __generator(this, function (_b) {
729
- return [2 /*return*/, sendRequest({
730
- method: requests_2.HttpMethod.POST,
731
- url: "/member/plans/replace",
732
- data: __assign({ newPlanId: params.newPlanId, priceId: params.priceId, planConnectionId: params.planConnectionId }, (params.payment && {
733
- payment: __assign(__assign({}, (params.payment.cardId && { cardId: params.payment.cardId })), (params.payment.stripe && {
734
- stripe: {
735
- paymentMethodId: (_a = params.payment.stripe) === null || _a === void 0 ? void 0 : _a.paymentMethodId,
736
- },
737
- })),
738
- })),
739
- headers: addHeaders(options),
740
- })];
592
+ switch (_a.label) {
593
+ case 0: return [4 /*yield*/, sendRequest({
594
+ method: requests_2.HttpMethod.POST,
595
+ url: "/member/logout",
596
+ headers: addHeaders(options),
597
+ })];
598
+ case 1:
599
+ data = _a.sent();
600
+ auth_1.unsetPersistedMember();
601
+ return [2 /*return*/, data];
602
+ }
741
603
  });
742
604
  });
743
605
  },
@@ -13,6 +13,9 @@ export declare type SignupMemberEmailPasswordParams = {
13
13
  };
14
14
  };
15
15
  };
16
+ export declare type SetPasswordParams = {
17
+ password: string;
18
+ };
16
19
  export declare type SignupWithProviderParams = {
17
20
  provider: string;
18
21
  customFields?: Record<string, any>;
@@ -7,8 +7,10 @@ export declare type RemovePlanPayload = Response<Payload.Transforms["Member"]>;
7
7
  export declare type GetCurrentMemberPayload = Response<Payload.Transforms["Member"]>;
8
8
  export declare type GetMemberJSONPayload = Response<Payload.Transforms["MemberJSON"]>;
9
9
  export declare type GetMemberCardsPayload = Response<Payload.Transforms["MemberCard"][]>;
10
+ export declare type ConnectProviderPayload = Response<Payload.Transforms["AuthProviders"]>;
10
11
  export declare type GetMemberInvoicesPayload = PaginatedResponse<Payload.Transforms["MemberInvoice"]>;
11
12
  export declare type GetMemberReceiptsPayload = PaginatedResponse<Payload.Transforms["MemberReceipt"]>;
13
+ export declare type SetPasswordPayload = Response<Payload.Transforms["Member"]>;
12
14
  export declare type GetRestrictedUrlGroupsPayload = Response<Payload.Transforms["RestrictedUrlGroup"][]>;
13
15
  export declare type GetPlansPayload = Response<Payload.Transforms["Plan"][]>;
14
16
  export declare type GetPlanPayload = Response<Payload.Transforms["Plan"]>;
@@ -30,7 +32,6 @@ export declare type UpdateMemberPayload = Response<Payload.Transforms["Member"]>
30
32
  export declare type UpdatePlanPaymentPayload = Response<Payload.Transforms["Member"]>;
31
33
  export declare type RefreshMemberTokensPayload = Response<Payload.Transforms["MemberAuth"]["tokens"]>;
32
34
  export declare type SendMemberResetPasswordEmailPayload = Response<string>;
33
- export declare type ResetMemberPasswordPayload = Response<Payload.Transforms["Member"]>;
34
35
  export declare type ReplacePlanPayload = Response<Payload.Transforms["Purchase"]>;
35
36
  export declare type GetAuthProvidersPayload = Response<Payload.Transforms["AuthProvider"][]>;
36
37
  export declare type GetTotalCheckoutAmountPayload = Response<Payload.Transforms["TotalCheckoutAmount"]>;
@@ -58,20 +58,25 @@ export declare namespace Payload {
58
58
  };
59
59
  member: Transforms["Member"];
60
60
  redirect: string;
61
- payment: {
62
- requirePayment: string[];
63
- requireAuthentication: string[];
64
- };
65
61
  contentGroups?: Transforms["RestrictedUrlGroup"][];
66
62
  };
67
63
  MemberJSON: {
68
64
  json: object;
69
65
  };
66
+ AuthProviders: {
67
+ providers: {
68
+ provider: string;
69
+ }[];
70
+ };
70
71
  Member: {
71
72
  id: string;
72
73
  verified: boolean;
73
74
  auth: {
74
75
  email: string;
76
+ hasPassword: boolean;
77
+ providers: {
78
+ provider: string;
79
+ }[];
75
80
  };
76
81
  loginRedirect: string;
77
82
  stripeCustomerId: string;
@@ -0,0 +1,3 @@
1
+ export declare const addSuccessBox: () => void;
2
+ export declare const addErrorBox: () => void;
3
+ export declare const initCSS: () => void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initCSS = exports.addErrorBox = exports.addSuccessBox = void 0;
4
+ var closeIcon;
5
+ if (typeof window !== "undefined") {
6
+ closeIcon = document.createElement("div");
7
+ closeIcon.setAttribute("id", "ms-status-close");
8
+ closeIcon.setAttribute("data-ms-message-close", "");
9
+ closeIcon.innerHTML = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\" fill=\"white\"/></svg>";
10
+ }
11
+ exports.addSuccessBox = function () {
12
+ var successStatusIcon = document.createElement("div");
13
+ successStatusIcon.setAttribute("id", "ms-status-icon");
14
+ successStatusIcon.innerHTML = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#62d37f\"/><path d=\"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0Zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8Zm4.59-12.42L8 12.17 5.41 9.59 4 11l4 4 8-8-1.41-1.42Z\" fill=\"#fff\"/></svg>";
15
+ var successHTML = "<div data-ms-message class=\"ms-error-message\">\n\t\t" + successStatusIcon.outerHTML + "\n\t\t<div id=\"ms-message\" data-ms-message-text></div>\n\t\t" + closeIcon.outerHTML + "\n\t\t</div>";
16
+ var successdiv = document.createElement("div");
17
+ successdiv.setAttribute("data-ms-message", "success");
18
+ successdiv.innerHTML = successHTML;
19
+ successdiv.style.display = "none";
20
+ document.body.appendChild(successdiv);
21
+ };
22
+ exports.addErrorBox = function () {
23
+ var errorStatusIcon = document.createElement("div");
24
+ errorStatusIcon.setAttribute("id", "ms-status-icon");
25
+ errorStatusIcon.innerHTML = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM11 15H9V13H11V15ZM11 11H9V5H11V11Z\" fill=\"#E40023\"/></svg>";
26
+ var errorHTML = "<div data-ms-message class=\"ms-error-message\">\n\t\t" + errorStatusIcon.outerHTML + "\n\t\t<div id=\"ms-message\" data-ms-message-text></div>\n\t\t" + closeIcon.outerHTML + "\n\t\t</div>";
27
+ var errordiv = document.createElement("div");
28
+ errordiv.setAttribute("data-ms-message", "error");
29
+ errordiv.innerHTML = errorHTML;
30
+ errordiv.style.display = "none";
31
+ document.body.appendChild(errordiv);
32
+ };
33
+ exports.initCSS = function () {
34
+ var cssEl = document.createElement("style");
35
+ var css = "\n\t\t@keyframes fadeIn {\n\t\t\t0% {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\t100% {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t\t.ms-error-message { \n\t\t\t\tposition: fixed;\n\t\t\t\tleft: 50%;\n\t\t\t\tbottom: 3%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\tmargin: 0 auto;\n\t\t\t\tz-index: 10000000; \n\t\t\t\tdisplay: flex; \n\t\t\t\talign-items: center;\n\t\t\t\tpadding: 12px 16px;\n\t\t\t\tborder-radius: 8px; \n\t\t\t\tbackground-color: #0A0A0A; \n\t\t\t\tcolor: #fff; \n\t\t\t\tfont-size: 16.8px; \n\t\t\t\tline-height: 28px; \n\t\t\t\tfont-weight: 500; \n\t\t\t\ttransform-origin: center;\n\t\t\t\tanimation: fadeIn 0.2s ease-in;\n\t\t\t\t-webkit-animation: fadeIn 0.2s ease-in;\n\t\t\t\t-moz-animation: fadeIn 0.2s ease-in;\n\t\t\t\t-o-animation: fadeIn 0.2s ease-in;\n\t\t\t\t-ms-animation: fadeIn 0.2s ease-in;\n\t\t\t}\n\t\t\t#ms-status-icon {\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tmargin-right: 12px;\n\t\t\t\t}\n\t\t\t\t#ms-status-close {\n\t\t\t\t\tmargin-left: 20px;\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t}\n\t\t\t\t\t#ms-status-close svg {\n\t\t\t\t\t\theight: 12px;\n\t\t\t\t\t}";
36
+ cssEl.setAttribute("data-ms-style", "");
37
+ cssEl.appendChild(document.createTextNode(css));
38
+ document.head.appendChild(cssEl);
39
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberstack/dom",
3
- "version": "1.9.8",
3
+ "version": "1.9.9",
4
4
  "main": "./lib/index.js",
5
5
  "files": [
6
6
  "lib/**/*"