@memberstack/dom 1.9.28 → 1.9.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/lib/auth/index.d.mts +9 -0
  2. package/lib/auth/index.d.ts +9 -0
  3. package/lib/auth/index.js +141 -0
  4. package/lib/auth/index.mjs +104 -0
  5. package/lib/constants/endpoints.d.mts +5 -0
  6. package/lib/constants/endpoints.d.ts +5 -0
  7. package/lib/constants/endpoints.js +31 -0
  8. package/lib/constants/endpoints.mjs +7 -0
  9. package/lib/index.d.mts +8 -578
  10. package/lib/index.d.ts +8 -578
  11. package/lib/methods/dom/index.d.mts +2 -0
  12. package/lib/methods/dom/index.d.ts +2 -0
  13. package/lib/methods/dom/index.js +0 -0
  14. package/lib/methods/dom/index.mjs +0 -0
  15. package/lib/methods/dom/main-dom.d.mts +14 -0
  16. package/lib/methods/dom/main-dom.d.ts +14 -0
  17. package/lib/methods/dom/main-dom.js +13766 -0
  18. package/lib/methods/dom/main-dom.mjs +13749 -0
  19. package/lib/methods/dom/methods.d.mts +12 -0
  20. package/lib/methods/dom/methods.d.ts +12 -0
  21. package/lib/methods/dom/methods.js +13972 -0
  22. package/lib/methods/dom/methods.mjs +13943 -0
  23. package/lib/methods/index.d.mts +79 -0
  24. package/lib/methods/index.d.ts +79 -0
  25. package/lib/methods/index.js +14861 -0
  26. package/lib/methods/index.mjs +14832 -0
  27. package/lib/methods/requests/index.d.mts +72 -0
  28. package/lib/methods/requests/index.d.ts +72 -0
  29. package/lib/methods/requests/index.js +912 -0
  30. package/lib/methods/requests/index.mjs +878 -0
  31. package/lib/methods/requests/requests.d.mts +31 -0
  32. package/lib/methods/requests/requests.d.ts +31 -0
  33. package/lib/methods/requests/requests.js +173 -0
  34. package/lib/methods/requests/requests.mjs +140 -0
  35. package/lib/types/index.d.mts +3 -0
  36. package/lib/types/index.d.ts +3 -0
  37. package/lib/types/index.js +17 -0
  38. package/lib/types/index.mjs +0 -0
  39. package/lib/types/params.d.mts +206 -0
  40. package/lib/types/params.d.ts +206 -0
  41. package/lib/types/params.js +17 -0
  42. package/lib/types/params.mjs +0 -0
  43. package/lib/types/payloads.d.mts +64 -0
  44. package/lib/types/payloads.d.ts +64 -0
  45. package/lib/types/payloads.js +17 -0
  46. package/lib/types/payloads.mjs +0 -0
  47. package/lib/types/utils/payloads.d.mts +296 -0
  48. package/lib/types/utils/payloads.d.ts +296 -0
  49. package/lib/types/utils/payloads.js +17 -0
  50. package/lib/types/utils/payloads.mjs +0 -0
  51. package/lib/utils/cookies.d.mts +7 -0
  52. package/lib/utils/cookies.d.ts +7 -0
  53. package/lib/utils/cookies.js +120 -0
  54. package/lib/utils/cookies.mjs +85 -0
  55. package/lib/utils/defaultMessageBox.d.mts +5 -0
  56. package/lib/utils/defaultMessageBox.d.ts +5 -0
  57. package/lib/utils/defaultMessageBox.js +119 -0
  58. package/lib/utils/defaultMessageBox.mjs +93 -0
  59. package/package.json +1 -1
@@ -0,0 +1,912 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
37
+ // If the importer is in node compatibility mode or this is not an ESM
38
+ // file that has been converted to a CommonJS file using a Babel-
39
+ // compatible transform (i.e. "__esModule" has not been set), then set
40
+ // "default" to the CommonJS "module.exports" for node compatibility.
41
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
42
+ mod
43
+ ));
44
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
45
+ var __async = (__this, __arguments, generator) => {
46
+ return new Promise((resolve, reject) => {
47
+ var fulfilled = (value) => {
48
+ try {
49
+ step(generator.next(value));
50
+ } catch (e) {
51
+ reject(e);
52
+ }
53
+ };
54
+ var rejected = (value) => {
55
+ try {
56
+ step(generator.throw(value));
57
+ } catch (e) {
58
+ reject(e);
59
+ }
60
+ };
61
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
62
+ step((generator = generator.apply(__this, __arguments)).next());
63
+ });
64
+ };
65
+
66
+ // src/methods/requests/index.ts
67
+ var requests_exports = {};
68
+ __export(requests_exports, {
69
+ getSessionDurationDays: () => getSessionDurationDays,
70
+ initRequest: () => initRequest
71
+ });
72
+ module.exports = __toCommonJS(requests_exports);
73
+
74
+ // src/methods/requests/requests.ts
75
+ var import_axios = __toESM(require("axios"));
76
+
77
+ // src/constants/endpoints.ts
78
+ var endpoints = {
79
+ API: process.env.API_ENDPOINT
80
+ };
81
+
82
+ // src/utils/cookies.ts
83
+ var import_js_cookie = __toESM(require("js-cookie"));
84
+ var memberAuthTokenName = "_ms-mid";
85
+ function isLocalStorageAvailable() {
86
+ try {
87
+ localStorage.setItem("test", "test");
88
+ localStorage.removeItem("test");
89
+ return true;
90
+ } catch (e) {
91
+ return false;
92
+ }
93
+ }
94
+ var localStorageAvailable = isLocalStorageAvailable();
95
+ var useCookies = false;
96
+ var setCookieOnRootDomain = false;
97
+ var setMemberToken = (token, expires) => {
98
+ if (localStorageAvailable && !useCookies) {
99
+ localStorage.setItem(memberAuthTokenName, token);
100
+ } else {
101
+ const domain = window.location.hostname.split(".").slice(-2).join(".");
102
+ import_js_cookie.default.set(memberAuthTokenName, token, __spreadValues({
103
+ expires: expires && Number(expires) || 14,
104
+ sameSite: "strict"
105
+ }, setCookieOnRootDomain && { domain }));
106
+ }
107
+ };
108
+ var removeMemberToken = () => {
109
+ if (localStorageAvailable) {
110
+ localStorage.removeItem(memberAuthTokenName);
111
+ }
112
+ const domain = window.location.hostname.split(".").slice(-2).join(".");
113
+ import_js_cookie.default.set(memberAuthTokenName, "", __spreadValues({
114
+ expires: -1,
115
+ sameSite: "strict"
116
+ }, setCookieOnRootDomain && { domain }));
117
+ import_js_cookie.default.set(memberAuthTokenName, "", {
118
+ expires: -1,
119
+ sameSite: "strict"
120
+ });
121
+ };
122
+ var getMemberToken = () => {
123
+ if (localStorageAvailable && !useCookies) {
124
+ const memAuthToken = localStorage.getItem(memberAuthTokenName);
125
+ if (memAuthToken)
126
+ return memAuthToken;
127
+ }
128
+ return import_js_cookie.default.get(memberAuthTokenName);
129
+ };
130
+
131
+ // src/methods/requests/requests.ts
132
+ var createRequestHandler = ({
133
+ publicKey,
134
+ appId,
135
+ token,
136
+ customEndpoint
137
+ }) => {
138
+ return {
139
+ sendRequest: (data, options) => __async(void 0, null, function* () {
140
+ var _a, _b, _c, _d, _e, _f, _g, _h;
141
+ try {
142
+ const { url } = data;
143
+ const memberToken = getMemberToken();
144
+ const authHeader = [
145
+ (_b = (_a = data.headers) == null ? void 0 : _a["Authorization"]) == null ? void 0 : _b.replace("Bearer ", ""),
146
+ memberToken,
147
+ options == null ? void 0 : options.token
148
+ ].find((x) => x);
149
+ const formattedUrl = `${customEndpoint || endpoints.API}${url}`;
150
+ const res = yield (0, import_axios.default)({
151
+ method: data.method,
152
+ data: data.data,
153
+ url: formattedUrl,
154
+ headers: __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, authHeader && { authorization: `Bearer ${authHeader}` }), publicKey && { ["X-API-Key" /* API_KEY */]: publicKey }), appId && { ["X-APP-ID" /* APP_ID */]: appId }), {
155
+ ["X-User-Agent" /* USER_AGENT */]: "@memberstack/client@1.2.0"
156
+ }), data.contentType && { "Content-Type": data.contentType }),
157
+ withCredentials: true
158
+ });
159
+ if ((_c = res == null ? void 0 : res.headers) == null ? void 0 : _c["ms-mid"]) {
160
+ token = res.headers["ms-mid"];
161
+ }
162
+ if ((_d = res == null ? void 0 : res.data) == null ? void 0 : _d.error) {
163
+ if (res.data.error.name === "JsonWebTokenError") {
164
+ throw {
165
+ code: "client/invalid-token",
166
+ message: "An invalid token has been provided. Please make sure the token is valid."
167
+ };
168
+ }
169
+ throw (_e = res.data) == null ? void 0 : _e.error;
170
+ }
171
+ return res == null ? void 0 : res.data;
172
+ } catch (e) {
173
+ if (!e.response)
174
+ throw e;
175
+ throw ((_g = (_f = e.response) == null ? void 0 : _f.data) == null ? void 0 : _g.error) || ((_h = e.response) == null ? void 0 : _h.data);
176
+ }
177
+ })
178
+ };
179
+ };
180
+
181
+ // src/auth/index.ts
182
+ var createObservable = () => {
183
+ const observer = /* @__PURE__ */ new Map();
184
+ return {
185
+ subscribe: (key, fn) => {
186
+ if (typeof fn !== "function")
187
+ return;
188
+ return observer.set(key, fn);
189
+ },
190
+ unsubscribe: (key) => {
191
+ return observer.delete(key);
192
+ },
193
+ notify: (data) => {
194
+ return [...observer.values()].forEach((fn) => fn(data));
195
+ }
196
+ };
197
+ };
198
+ var observable = createObservable();
199
+ var getPersistedMember = () => {
200
+ return JSON.parse(localStorage == null ? void 0 : localStorage.getItem("_ms-mem"));
201
+ };
202
+ var setPersistedMember = (member) => {
203
+ if (member) {
204
+ const data = JSON.stringify(member);
205
+ if (data)
206
+ localStorage == null ? void 0 : localStorage.setItem("_ms-mem", data);
207
+ observable.notify(member);
208
+ }
209
+ };
210
+ var updatePersistedMember = (member) => {
211
+ if (member) {
212
+ const data = JSON.stringify(member);
213
+ if (data)
214
+ localStorage == null ? void 0 : localStorage.setItem("_ms-mem", data);
215
+ } else {
216
+ localStorage == null ? void 0 : localStorage.removeItem("_ms-mem");
217
+ removeMemberToken();
218
+ }
219
+ };
220
+ var unsetPersistedMember = () => {
221
+ localStorage == null ? void 0 : localStorage.removeItem("_ms-mem");
222
+ removeMemberToken();
223
+ observable.notify(null);
224
+ };
225
+
226
+ // src/methods/requests/index.ts
227
+ function getSessionDurationDays(unixTimestampMillis) {
228
+ const now = Date.now();
229
+ const differenceMillis = unixTimestampMillis - now;
230
+ return Math.ceil(differenceMillis / (24 * 60 * 60 * 1e3));
231
+ }
232
+ var addHeaders = (options) => __spreadValues({}, (options == null ? void 0 : options.token) && {
233
+ Authorization: `Bearer ${options.token}`
234
+ });
235
+ var promiseResolve;
236
+ var promiseReject;
237
+ var receiveMessage = (event) => {
238
+ var _a;
239
+ const { data, origin } = event;
240
+ if (API_ENDPOINT !== origin)
241
+ return;
242
+ if ((_a = data == null ? void 0 : data.data) == null ? void 0 : _a.member) {
243
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
244
+ setPersistedMember(data.data.member);
245
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
246
+ }
247
+ if (data == null ? void 0 : data.error) {
248
+ promiseReject(data.error);
249
+ }
250
+ promiseResolve(data);
251
+ };
252
+ var windowObjectReference = null;
253
+ var previousUrl = null;
254
+ var openSignInWindow = (url, name) => __async(void 0, null, function* () {
255
+ window.removeEventListener("message", receiveMessage);
256
+ const dualScreenLeft = window.screenLeft !== void 0 ? window.screenLeft : window.screenX;
257
+ const dualScreenTop = window.screenTop !== void 0 ? window.screenTop : window.screenY;
258
+ const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
259
+ const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
260
+ const systemZoom = width / window.screen.availWidth;
261
+ const left = (width - 600) / 2 / systemZoom + dualScreenLeft;
262
+ const top = (height - 700) / 2 / systemZoom + dualScreenTop;
263
+ const strWindowFeatures = `toolbar=no, menubar=no, width=${600 / systemZoom}, height=${700 / systemZoom}, top=${top}, left=${left}`;
264
+ if (windowObjectReference === null || windowObjectReference.closed) {
265
+ windowObjectReference = window.open(url, name, strWindowFeatures);
266
+ } else if (previousUrl !== url) {
267
+ windowObjectReference = window.open(url, name, strWindowFeatures);
268
+ windowObjectReference.focus();
269
+ } else {
270
+ windowObjectReference.focus();
271
+ }
272
+ window.addEventListener("message", (event) => receiveMessage(event), false);
273
+ previousUrl = url;
274
+ window.addEventListener("beforeunload", () => {
275
+ windowObjectReference == null ? void 0 : windowObjectReference.close();
276
+ });
277
+ return new Promise((resolve, reject) => {
278
+ promiseResolve = resolve;
279
+ promiseReject = reject;
280
+ });
281
+ });
282
+ var API_ENDPOINT;
283
+ var initRequest = ({
284
+ publicKey,
285
+ appId,
286
+ token,
287
+ domain
288
+ //sessionDurationDays
289
+ }) => {
290
+ const { sendRequest } = createRequestHandler({
291
+ publicKey,
292
+ token,
293
+ customEndpoint: domain,
294
+ appId
295
+ });
296
+ API_ENDPOINT = domain;
297
+ return {
298
+ postIsTyping(params) {
299
+ return __async(this, null, function* () {
300
+ return sendRequest({
301
+ method: "POST" /* POST */,
302
+ url: `/comments/posts/typing`,
303
+ data: {
304
+ channelKey: params.channelKey
305
+ }
306
+ });
307
+ });
308
+ },
309
+ getChannelInfo(params) {
310
+ return __async(this, null, function* () {
311
+ const queryParams = new URLSearchParams({
312
+ channelKey: params.channelKey
313
+ });
314
+ return sendRequest({
315
+ method: "GET" /* GET */,
316
+ url: `/comments/channels/info?${queryParams}`
317
+ });
318
+ });
319
+ },
320
+ getPosts(params) {
321
+ return __async(this, null, function* () {
322
+ const queryParams = new URLSearchParams(__spreadValues(__spreadValues(__spreadValues({
323
+ channelKey: params.channelKey
324
+ }, params.after && {
325
+ after: params.after
326
+ }), params.order && {
327
+ order: params.order
328
+ }), params.limit && {
329
+ limit: params.limit.toString()
330
+ }));
331
+ return sendRequest({
332
+ method: "GET" /* GET */,
333
+ url: `/comments/posts?${queryParams}`
334
+ });
335
+ });
336
+ },
337
+ getThreads(params) {
338
+ return __async(this, null, function* () {
339
+ const queryParams = new URLSearchParams(__spreadValues(__spreadValues(__spreadValues({
340
+ postId: params.postId
341
+ }, params.after && {
342
+ after: params.after
343
+ }), params.order && {
344
+ order: params.order
345
+ }), params.limit && {
346
+ limit: params.limit.toString()
347
+ }));
348
+ return sendRequest({
349
+ method: "GET" /* GET */,
350
+ url: `/comments/threads?${queryParams}`
351
+ });
352
+ });
353
+ },
354
+ createPost(params) {
355
+ return __async(this, null, function* () {
356
+ return sendRequest({
357
+ method: "POST" /* POST */,
358
+ url: `/comments/posts`,
359
+ data: {
360
+ channelKey: params.channelKey,
361
+ content: params.content
362
+ }
363
+ });
364
+ });
365
+ },
366
+ updatePost(params) {
367
+ return __async(this, null, function* () {
368
+ return sendRequest({
369
+ method: "PATCH" /* PATCH */,
370
+ url: `/comments/posts/${params.postId}/update`,
371
+ data: {
372
+ content: params.content
373
+ }
374
+ });
375
+ });
376
+ },
377
+ postVote(params) {
378
+ return __async(this, null, function* () {
379
+ return sendRequest({
380
+ method: "POST" /* POST */,
381
+ url: `/comments/posts/${params.postId}/vote`,
382
+ data: {
383
+ vote: params.vote
384
+ }
385
+ });
386
+ });
387
+ },
388
+ deletePost(params) {
389
+ return __async(this, null, function* () {
390
+ return sendRequest({
391
+ method: "DELETE" /* DELETE */,
392
+ url: `/comments/posts/${params.postId}`
393
+ });
394
+ });
395
+ },
396
+ createThread(params) {
397
+ return __async(this, null, function* () {
398
+ return sendRequest({
399
+ method: "POST" /* POST */,
400
+ url: `/comments/threads`,
401
+ data: {
402
+ postId: params.postId,
403
+ content: params.content
404
+ }
405
+ });
406
+ });
407
+ },
408
+ updateThread(params) {
409
+ return __async(this, null, function* () {
410
+ return sendRequest({
411
+ method: "PATCH" /* PATCH */,
412
+ url: `/comments/threads/${params.threadId}/update`,
413
+ data: {
414
+ content: params.content
415
+ }
416
+ });
417
+ });
418
+ },
419
+ // vote thread
420
+ threadVote(params) {
421
+ return __async(this, null, function* () {
422
+ return sendRequest({
423
+ method: "POST" /* POST */,
424
+ url: `/comments/threads/${params.threadId}/vote`,
425
+ data: {
426
+ vote: params.vote
427
+ }
428
+ });
429
+ });
430
+ },
431
+ deleteThread(params) {
432
+ return __async(this, null, function* () {
433
+ return sendRequest({
434
+ method: "DELETE" /* DELETE */,
435
+ url: `/comments/threads/${params.threadId}`
436
+ });
437
+ });
438
+ },
439
+ getSecureContent(params) {
440
+ return __async(this, null, function* () {
441
+ const data = yield sendRequest({
442
+ method: "POST" /* POST */,
443
+ url: "/secure-content",
444
+ data: {
445
+ contentId: params.contentId
446
+ }
447
+ });
448
+ return data;
449
+ });
450
+ },
451
+ signupWithProvider(params) {
452
+ return __async(this, null, function* () {
453
+ const customFields = encodeURIComponent(params.customFields ? JSON.stringify(params.customFields) : "{}");
454
+ const plans = encodeURIComponent(params.plans ? JSON.stringify(params.plans) : "[]");
455
+ const queryParams = new URLSearchParams(__spreadProps(__spreadValues({
456
+ provider: params.provider,
457
+ customFields,
458
+ plans,
459
+ appId
460
+ }, publicKey && {
461
+ publicKey
462
+ }), {
463
+ origin: window.location.hostname
464
+ }));
465
+ return openSignInWindow(`${domain}/auth-provider/signup?${queryParams}`, "signup");
466
+ });
467
+ },
468
+ loginWithProvider(params) {
469
+ return __async(this, null, function* () {
470
+ const queryParams = new URLSearchParams(__spreadProps(__spreadValues({
471
+ provider: params.provider,
472
+ appId
473
+ }, publicKey && {
474
+ publicKey
475
+ }), {
476
+ origin: window.location.hostname
477
+ }));
478
+ return openSignInWindow(`${domain}/auth-provider/login?${queryParams}`, "login");
479
+ });
480
+ },
481
+ connectProvider(params) {
482
+ return __async(this, null, function* () {
483
+ const queryParams = new URLSearchParams(__spreadProps(__spreadValues({
484
+ provider: params.provider,
485
+ appId
486
+ }, publicKey && {
487
+ publicKey
488
+ }), {
489
+ member: getMemberToken(),
490
+ origin: window.location.hostname
491
+ }));
492
+ return openSignInWindow(`${domain}/auth-provider/connect?${queryParams}`, "connect");
493
+ });
494
+ },
495
+ disconnectProvider(params) {
496
+ return __async(this, null, function* () {
497
+ return sendRequest({
498
+ method: "POST" /* POST */,
499
+ url: "/member/disconnect-provider",
500
+ data: {
501
+ provider: params.provider
502
+ }
503
+ });
504
+ });
505
+ },
506
+ getAppAndMember(params) {
507
+ return __async(this, null, function* () {
508
+ const queryParams = new URLSearchParams({
509
+ // @ts-ignore
510
+ includeSSOText: window == null ? void 0 : window.ssoUI
511
+ });
512
+ return sendRequest({
513
+ method: "GET" /* GET */,
514
+ url: `/app-member?${queryParams}`
515
+ });
516
+ });
517
+ },
518
+ getApp() {
519
+ return __async(this, null, function* () {
520
+ const queryParams = new URLSearchParams({
521
+ // @ts-ignore
522
+ includeSSOText: window == null ? void 0 : window.ssoUI
523
+ });
524
+ return sendRequest({
525
+ method: "GET" /* GET */,
526
+ url: `/app?${queryParams}`
527
+ });
528
+ });
529
+ },
530
+ loginMemberEmailPassword(params, options) {
531
+ return __async(this, null, function* () {
532
+ const data = yield sendRequest({
533
+ method: "POST" /* POST */,
534
+ url: `/auth/login`,
535
+ data: {
536
+ email: params.email,
537
+ password: params.password,
538
+ options
539
+ }
540
+ });
541
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
542
+ setPersistedMember(data.data.member);
543
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
544
+ return data;
545
+ });
546
+ },
547
+ sendMemberLoginPasswordlessEmail(params, options) {
548
+ return __async(this, null, function* () {
549
+ return yield sendRequest({
550
+ method: "POST" /* POST */,
551
+ url: `/auth/passwordless/login/send`,
552
+ data: {
553
+ email: params.email
554
+ }
555
+ });
556
+ });
557
+ },
558
+ sendMemberSignupPasswordlessEmail(params, options) {
559
+ return __async(this, null, function* () {
560
+ return yield sendRequest({
561
+ method: "POST" /* POST */,
562
+ url: `/auth/passwordless/signup/send`,
563
+ data: {
564
+ email: params.email
565
+ }
566
+ });
567
+ });
568
+ },
569
+ loginMemberPasswordless(params, options) {
570
+ return __async(this, null, function* () {
571
+ const data = yield sendRequest({
572
+ method: "POST" /* POST */,
573
+ url: `/auth/passwordless/login`,
574
+ data: {
575
+ passwordlessToken: params.passwordlessToken,
576
+ email: params.email,
577
+ options
578
+ }
579
+ });
580
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
581
+ setPersistedMember(data.data.member);
582
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
583
+ return data;
584
+ });
585
+ },
586
+ getPlan(params) {
587
+ return __async(this, null, function* () {
588
+ return sendRequest({
589
+ method: "GET" /* GET */,
590
+ url: `/app/plans/${params.planId}`
591
+ });
592
+ });
593
+ },
594
+ getPlans() {
595
+ return __async(this, null, function* () {
596
+ const { data } = yield sendRequest({
597
+ method: "GET" /* GET */,
598
+ url: `/app`
599
+ });
600
+ return {
601
+ data: data.plans
602
+ };
603
+ });
604
+ },
605
+ getRestrictedUrlGroups() {
606
+ return __async(this, null, function* () {
607
+ const { data } = yield sendRequest({
608
+ method: "GET" /* GET */,
609
+ url: `/app`
610
+ });
611
+ return {
612
+ data: data.contentGroups
613
+ };
614
+ });
615
+ },
616
+ getCurrentMember(options) {
617
+ return __async(this, null, function* () {
618
+ const getMemberRequest = sendRequest({
619
+ method: "GET" /* GET */,
620
+ url: `/member?${Math.floor(1e3 + Math.random() * 9e3)}`,
621
+ headers: addHeaders(options)
622
+ });
623
+ function setMember() {
624
+ return __async(this, null, function* () {
625
+ const data = yield getMemberRequest;
626
+ updatePersistedMember(data.data);
627
+ });
628
+ }
629
+ setMember();
630
+ if ((options == null ? void 0 : options.useCache) === true) {
631
+ const member = getPersistedMember();
632
+ return { data: member };
633
+ } else {
634
+ return getMemberRequest;
635
+ }
636
+ });
637
+ },
638
+ getMemberJSON(options) {
639
+ return __async(this, null, function* () {
640
+ return sendRequest({
641
+ method: "GET" /* GET */,
642
+ url: `/member/json`,
643
+ headers: addHeaders(options)
644
+ });
645
+ });
646
+ },
647
+ updateMemberJSON(params, options) {
648
+ return __async(this, null, function* () {
649
+ return sendRequest({
650
+ method: "POST" /* POST */,
651
+ url: `/member/json`,
652
+ data: {
653
+ json: params.json
654
+ },
655
+ headers: addHeaders(options)
656
+ });
657
+ });
658
+ },
659
+ addPlan(params, options) {
660
+ return __async(this, null, function* () {
661
+ return sendRequest({
662
+ method: "POST" /* POST */,
663
+ url: `/member/plans/add`,
664
+ data: {
665
+ planId: params.planId
666
+ },
667
+ headers: addHeaders(options)
668
+ });
669
+ });
670
+ },
671
+ purchasePlansWithCheckout(params, options) {
672
+ return __async(this, null, function* () {
673
+ function getRedirectURL(URL) {
674
+ let redirectUrl = window.location.href;
675
+ const urlParam = URL;
676
+ if (urlParam) {
677
+ if (urlParam.indexOf("http://") === 0 || urlParam.indexOf("https://") === 0) {
678
+ redirectUrl = urlParam;
679
+ } else {
680
+ redirectUrl = window.location.origin + urlParam;
681
+ }
682
+ }
683
+ return redirectUrl;
684
+ }
685
+ const success_url = params.successUrl ? getRedirectURL(params.successUrl) : void 0;
686
+ const cancel_url = getRedirectURL(params.cancelUrl);
687
+ const request = yield sendRequest({
688
+ method: "POST" /* POST */,
689
+ url: `/member/plans/create-checkout-session`,
690
+ data: {
691
+ priceId: params.priceId,
692
+ couponId: params.couponId,
693
+ //window.location requires dom
694
+ success_url,
695
+ cancel_url,
696
+ origin_url: window.location.href
697
+ },
698
+ headers: addHeaders(options)
699
+ });
700
+ if (params.autoRedirect === false) {
701
+ return request;
702
+ }
703
+ window.location.href = request.data.url;
704
+ });
705
+ },
706
+ // used for plan updates
707
+ launchStripeCustomerPortal(params, options) {
708
+ return __async(this, null, function* () {
709
+ function getRedirectURL(URL) {
710
+ let redirectUrl = window.location.href;
711
+ const urlParam = URL;
712
+ if (urlParam) {
713
+ if (urlParam.indexOf("http://") === 0 || urlParam.indexOf("https://") === 0) {
714
+ redirectUrl = urlParam;
715
+ } else {
716
+ redirectUrl = window.location.origin + urlParam;
717
+ }
718
+ }
719
+ return redirectUrl;
720
+ }
721
+ const returnUrl = (params == null ? void 0 : params.returnUrl) ? getRedirectURL(params.returnUrl) : void 0;
722
+ const request = yield sendRequest({
723
+ method: "POST" /* POST */,
724
+ url: `/member/create-billing-portal-session`,
725
+ data: __spreadValues({
726
+ //window.location requires dom
727
+ return_url: returnUrl,
728
+ origin_url: window.location.href
729
+ }, params && {
730
+ priceIds: params.priceIds,
731
+ configuration: params.configuration
732
+ }),
733
+ headers: addHeaders(options)
734
+ });
735
+ if ((params == null ? void 0 : params.autoRedirect) === false) {
736
+ return request;
737
+ }
738
+ window.location.href = request.data.url;
739
+ });
740
+ },
741
+ removePlan(params, options) {
742
+ return __async(this, null, function* () {
743
+ return sendRequest({
744
+ method: "POST" /* POST */,
745
+ url: `/member/plans/remove`,
746
+ data: {
747
+ planId: params.planId
748
+ },
749
+ headers: addHeaders(options)
750
+ });
751
+ });
752
+ },
753
+ updateMember(params, options) {
754
+ return __async(this, null, function* () {
755
+ return sendRequest({
756
+ method: "POST" /* POST */,
757
+ url: `/member`,
758
+ data: __spreadValues({}, params.customFields && { customFields: params.customFields }),
759
+ headers: addHeaders(options)
760
+ });
761
+ });
762
+ },
763
+ updateMemberAuth(params, options) {
764
+ return __async(this, null, function* () {
765
+ return sendRequest({
766
+ method: "POST" /* POST */,
767
+ url: `/member-auth`,
768
+ data: __spreadValues(__spreadValues(__spreadValues({}, params.email && { email: params.email }), params.oldPassword && { oldPassword: params.oldPassword }), params.newPassword && { newPassword: params.newPassword }),
769
+ headers: addHeaders(options)
770
+ });
771
+ });
772
+ },
773
+ setPassword(params, options) {
774
+ return __async(this, null, function* () {
775
+ return sendRequest({
776
+ method: "POST" /* POST */,
777
+ url: `/member/set-password`,
778
+ data: {
779
+ password: params.password
780
+ },
781
+ headers: addHeaders(options)
782
+ });
783
+ });
784
+ },
785
+ signupMemberPasswordless(params, options) {
786
+ return __async(this, null, function* () {
787
+ var _a2, _b;
788
+ const data = yield sendRequest({
789
+ method: "POST" /* POST */,
790
+ url: `/auth/signup?isPasswordless=true`,
791
+ data: __spreadValues(__spreadProps(__spreadValues({
792
+ email: params.email,
793
+ customFields: params.customFields,
794
+ passwordlessToken: params.passwordlessToken,
795
+ metaData: params.metaData
796
+ }, params.plans && { plans: params.plans }), {
797
+ //internal use only
798
+ origin_domain: window.location.origin,
799
+ options
800
+ }), ((_a2 = window.Rewardful) == null ? void 0 : _a2.referral) && {
801
+ rewardfulData: {
802
+ // @ts-ignore
803
+ referral: window.Rewardful.referral,
804
+ // @ts-ignore
805
+ coupon: (_b = window.Rewardful.coupon) == null ? void 0 : _b.id
806
+ }
807
+ })
808
+ });
809
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
810
+ setPersistedMember(data.data.member);
811
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
812
+ return data;
813
+ });
814
+ },
815
+ signupMemberEmailPassword(params, options) {
816
+ return __async(this, null, function* () {
817
+ var _a2, _b;
818
+ const data = yield sendRequest({
819
+ method: "POST" /* POST */,
820
+ url: `/auth/signup`,
821
+ data: __spreadValues(__spreadProps(__spreadValues({
822
+ email: params.email,
823
+ password: params.password,
824
+ customFields: params.customFields,
825
+ metaData: params.metaData,
826
+ captchaToken: params.captchaToken
827
+ }, params.plans && { plans: params.plans }), {
828
+ //internal use only
829
+ origin_domain: window.location.origin,
830
+ options
831
+ }), ((_a2 = window.Rewardful) == null ? void 0 : _a2.referral) && {
832
+ rewardfulData: {
833
+ // @ts-ignore
834
+ referral: window.Rewardful.referral,
835
+ // @ts-ignore
836
+ coupon: (_b = window.Rewardful.coupon) == null ? void 0 : _b.id
837
+ }
838
+ })
839
+ });
840
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
841
+ setPersistedMember(data.data.member);
842
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
843
+ return data;
844
+ });
845
+ },
846
+ updateMemberProfileImage(params) {
847
+ return __async(this, null, function* () {
848
+ if (params.profileImage) {
849
+ const formData = new FormData();
850
+ formData.append("profileImage", params.profileImage);
851
+ return sendRequest({
852
+ method: "POST" /* POST */,
853
+ url: `/member/profile-image`,
854
+ data: formData,
855
+ contentType: "multipart/form-data"
856
+ });
857
+ }
858
+ });
859
+ },
860
+ sendMemberVerificationEmail() {
861
+ return __async(this, null, function* () {
862
+ return sendRequest({
863
+ method: "POST" /* POST */,
864
+ url: `/auth/send-email-verification`,
865
+ data: {
866
+ //internal use only
867
+ origin_domain: window.location.origin
868
+ }
869
+ });
870
+ });
871
+ },
872
+ sendMemberResetPasswordEmail(params) {
873
+ return __async(this, null, function* () {
874
+ return sendRequest({
875
+ method: "POST" /* POST */,
876
+ url: `/auth/send-reset-password-email`,
877
+ data: {
878
+ email: params.email
879
+ }
880
+ });
881
+ });
882
+ },
883
+ resetMemberPassword(params) {
884
+ return __async(this, null, function* () {
885
+ return sendRequest({
886
+ method: "POST" /* POST */,
887
+ url: `/auth/reset-password`,
888
+ data: {
889
+ token: params.token,
890
+ newPassword: params.newPassword
891
+ }
892
+ });
893
+ });
894
+ },
895
+ logout(options) {
896
+ return __async(this, null, function* () {
897
+ const data = yield sendRequest({
898
+ method: "POST" /* POST */,
899
+ url: `/member/logout`,
900
+ headers: addHeaders(options)
901
+ });
902
+ unsetPersistedMember();
903
+ return data;
904
+ });
905
+ }
906
+ };
907
+ };
908
+ // Annotate the CommonJS export names for ESM import in node:
909
+ 0 && (module.exports = {
910
+ getSessionDurationDays,
911
+ initRequest
912
+ });