@memberstack/dom 1.9.25 → 1.9.27

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.
@@ -40,6 +40,7 @@ var methods_1 = require("./dom/methods");
40
40
  var cookies_1 = require("../utils/cookies");
41
41
  var requests_1 = require("./requests");
42
42
  var auth_1 = require("../auth");
43
+ var endpoints_1 = require("../constants/endpoints");
43
44
  var captchaReadyPromise = new Promise(function (resolve) {
44
45
  if (typeof window !== "undefined") {
45
46
  //@ts-ignore
@@ -57,11 +58,15 @@ var methods = {
57
58
  _captchaReady: captchaReadyPromise,
58
59
  };
59
60
  function init(props) {
60
- var requests = requests_1.initRequest({
61
+ if (props.useCookies)
62
+ (0, cookies_1.setUseCookies)();
63
+ (0, cookies_1.setMemberTokenIfAvailable)();
64
+ var requests = (0, requests_1.initRequest)({
61
65
  publicKey: props.publicKey,
62
66
  appId: props.appId,
63
67
  sessionDurationDays: props.sessionDurationDays,
64
- token: cookies_1.getMemberToken(),
68
+ token: (0, cookies_1.getMemberToken)(),
69
+ domain: props.domain || endpoints_1.endpoints.API,
65
70
  });
66
71
  var allMethods = Object.assign(methods, requests);
67
72
  if (typeof window !== "undefined") {
@@ -8,13 +8,14 @@ export interface GetCurrentMemberParams {
8
8
  }
9
9
  export interface ClientConfig {
10
10
  publicKey: string;
11
+ domain: string;
11
12
  sessionDurationDays?: number;
12
13
  appId?: string;
13
14
  token?: string;
14
- customEndpoint?: string;
15
15
  }
16
16
  declare type BearerToken = string;
17
- export declare const initRequest: ({ publicKey, appId, token, customEndpoint, sessionDurationDays }: ClientConfig) => {
17
+ export declare const initRequest: ({ publicKey, appId, token, domain, sessionDurationDays }: ClientConfig) => {
18
+ getSecureContent(params?: Params.GetSecureContentParams): Promise<Payloads.GetSecureContentPayload>;
18
19
  signupWithProvider(params?: Params.SignupWithProviderParams): Promise<unknown>;
19
20
  loginWithProvider(params?: Params.LoginWithProviderParams): Promise<unknown>;
20
21
  connectProvider(params?: Params.LoginWithProviderParams): Promise<Payloads.ConnectProviderPayload>;
@@ -42,6 +43,7 @@ export declare const initRequest: ({ publicKey, appId, token, customEndpoint, se
42
43
  passwordlessToken: string;
43
44
  }, options?: any): Promise<Payloads.SignupMemberEmailPasswordPayload>;
44
45
  signupMemberEmailPassword(params: Params.SignupMemberEmailPasswordParams, options?: any): Promise<Payloads.SignupMemberEmailPasswordPayload>;
46
+ updateMemberProfileImage(params: Params.UpdateMemberProfileImageParams): Promise<Payloads.UpdateMemberProfileImagePayload>;
45
47
  sendMemberVerificationEmail(): Promise<Payloads.SendMemberVerificationEmailPayload>;
46
48
  sendMemberResetPasswordEmail(params: Params.SendMemberResetPasswordEmailParams): Promise<Payloads.SendMemberResetPasswordEmailPayload>;
47
49
  resetMemberPassword(params: Params.ResetMemberPasswordParams): Promise<Payloads.ResetMemberPassworPayload>;
@@ -55,22 +55,17 @@ var cookies_1 = require("../../utils/cookies");
55
55
  var endpoints_1 = require("../../constants/endpoints");
56
56
  var globalSessionDurationDays;
57
57
  var addHeaders = function (options) { return (__assign({}, ((options === null || options === void 0 ? void 0 : options.token) && {
58
- Authorization: "Bearer " + options.token,
58
+ Authorization: "Bearer ".concat(options.token),
59
59
  }))); };
60
60
  var promiseResolve, promiseReject;
61
61
  var receiveMessage = function (event) {
62
62
  var _a;
63
63
  var data = event.data, origin = event.origin;
64
- var acceptedOrigins = [
65
- "https://client-testing.ngrok.io",
66
- "https://client.memberstack.com",
67
- "https://dev-client.memberstack.com",
68
- ];
69
- if (!acceptedOrigins.includes(origin))
64
+ if (API_ENDPOINT !== origin)
70
65
  return;
71
66
  if ((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.member) {
72
- auth_1.setPersistedMember(data.data.member);
73
- cookies_1.setMemberToken(data.data.tokens.accessToken, globalSessionDurationDays);
67
+ (0, auth_1.setPersistedMember)(data.data.member);
68
+ (0, cookies_1.setMemberToken)(data.data.tokens.accessToken, globalSessionDurationDays);
74
69
  }
75
70
  if (data === null || data === void 0 ? void 0 : data.error) {
76
71
  promiseReject(data.error);
@@ -91,7 +86,7 @@ var openSignInWindow = function (url, name) { return __awaiter(void 0, void 0, v
91
86
  systemZoom = width / window.screen.availWidth;
92
87
  left = (width - 600) / 2 / systemZoom + dualScreenLeft;
93
88
  top = (height - 700) / 2 / systemZoom + dualScreenTop;
94
- strWindowFeatures = "toolbar=no, menubar=no, width=" + 600 / systemZoom + ", height=" + 700 / systemZoom + ", top=" + top + ", left=" + left;
89
+ strWindowFeatures = "toolbar=no, menubar=no, width=".concat(600 / systemZoom, ", height=").concat(700 / systemZoom, ", top=").concat(top, ", left=").concat(left);
95
90
  if (windowObjectReference === null || windowObjectReference.closed) {
96
91
  windowObjectReference = window.open(url, name, strWindowFeatures);
97
92
  }
@@ -114,28 +109,48 @@ var openSignInWindow = function (url, name) { return __awaiter(void 0, void 0, v
114
109
  })];
115
110
  });
116
111
  }); };
117
- exports.initRequest = function (_a) {
118
- var publicKey = _a.publicKey, appId = _a.appId, token = _a.token, customEndpoint = _a.customEndpoint, sessionDurationDays = _a.sessionDurationDays;
119
- var sendRequest = requests_1.createRequestHandler({
112
+ var API_ENDPOINT;
113
+ var initRequest = function (_a) {
114
+ var publicKey = _a.publicKey, appId = _a.appId, token = _a.token, domain = _a.domain, sessionDurationDays = _a.sessionDurationDays;
115
+ var sendRequest = (0, requests_1.createRequestHandler)({
120
116
  publicKey: publicKey,
121
117
  token: token,
122
- customEndpoint: customEndpoint,
118
+ customEndpoint: domain,
123
119
  appId: appId,
124
120
  }).sendRequest;
121
+ // todo: this is a hack to get around the fact that we don't have a way to pass the custom domain to the iframe
122
+ API_ENDPOINT = domain;
125
123
  globalSessionDurationDays = sessionDurationDays;
126
124
  return {
125
+ getSecureContent: function (params) {
126
+ return __awaiter(this, void 0, void 0, function () {
127
+ var data;
128
+ return __generator(this, function (_a) {
129
+ switch (_a.label) {
130
+ case 0: return [4 /*yield*/, sendRequest({
131
+ method: requests_2.HttpMethod.POST,
132
+ url: "/secure-content",
133
+ data: {
134
+ contentId: params.contentId
135
+ },
136
+ })];
137
+ case 1:
138
+ data = _a.sent();
139
+ return [2 /*return*/, data];
140
+ }
141
+ });
142
+ });
143
+ },
127
144
  signupWithProvider: function (params) {
128
145
  return __awaiter(this, void 0, void 0, function () {
129
146
  var customFields, plans, queryParams;
130
147
  return __generator(this, function (_a) {
131
148
  customFields = encodeURIComponent(params.customFields ? JSON.stringify(params.customFields) : "{}");
132
149
  plans = encodeURIComponent(params.plans ? JSON.stringify(params.plans) : "[]");
133
- queryParams = new URLSearchParams(__assign(__assign({ provider: params.provider, customFields: customFields,
134
- plans: plans,
135
- appId: appId }, (publicKey && {
150
+ queryParams = new URLSearchParams(__assign(__assign({ provider: params.provider, customFields: customFields, plans: plans, appId: appId }, (publicKey && {
136
151
  publicKey: publicKey,
137
152
  })), { origin: window.location.hostname }));
138
- return [2 /*return*/, openSignInWindow(endpoints_1.endpoints.API + "/auth-provider/signup?" + queryParams, "signup")];
153
+ return [2 /*return*/, openSignInWindow("".concat(domain, "/auth-provider/signup?").concat(queryParams), "signup")];
139
154
  });
140
155
  });
141
156
  },
@@ -146,7 +161,7 @@ exports.initRequest = function (_a) {
146
161
  queryParams = new URLSearchParams(__assign(__assign({ provider: params.provider, appId: appId }, (publicKey && {
147
162
  publicKey: publicKey,
148
163
  })), { origin: window.location.hostname }));
149
- return [2 /*return*/, openSignInWindow(endpoints_1.endpoints.API + "/auth-provider/login?" + queryParams, "login")];
164
+ return [2 /*return*/, openSignInWindow("".concat(domain, "/auth-provider/login?").concat(queryParams), "login")];
150
165
  });
151
166
  });
152
167
  },
@@ -156,9 +171,9 @@ exports.initRequest = function (_a) {
156
171
  return __generator(this, function (_a) {
157
172
  queryParams = new URLSearchParams(__assign(__assign({ provider: params.provider, appId: appId }, (publicKey && {
158
173
  publicKey: publicKey,
159
- })), { member: cookies_1.getMemberToken(), origin: window.location.hostname }));
174
+ })), { member: (0, cookies_1.getMemberToken)(), origin: window.location.hostname }));
160
175
  //@ts-ignore
161
- return [2 /*return*/, openSignInWindow(endpoints_1.endpoints.API + "/auth-provider/connect?" + queryParams, "connect")];
176
+ return [2 /*return*/, openSignInWindow("".concat(endpoints_1.endpoints.API, "/auth-provider/connect?").concat(queryParams), "connect")];
162
177
  });
163
178
  });
164
179
  },
@@ -185,7 +200,7 @@ exports.initRequest = function (_a) {
185
200
  });
186
201
  return [2 /*return*/, sendRequest({
187
202
  method: requests_2.HttpMethod.GET,
188
- url: "/app-member?" + queryParams,
203
+ url: "/app-member?".concat(queryParams),
189
204
  })];
190
205
  });
191
206
  });
@@ -200,7 +215,7 @@ exports.initRequest = function (_a) {
200
215
  });
201
216
  return [2 /*return*/, sendRequest({
202
217
  method: requests_2.HttpMethod.GET,
203
- url: "/app?" + queryParams,
218
+ url: "/app?".concat(queryParams),
204
219
  })];
205
220
  });
206
221
  });
@@ -221,8 +236,8 @@ exports.initRequest = function (_a) {
221
236
  })];
222
237
  case 1:
223
238
  data = _a.sent();
224
- auth_1.setPersistedMember(data.data.member);
225
- cookies_1.setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
239
+ (0, auth_1.setPersistedMember)(data.data.member);
240
+ (0, cookies_1.setMemberToken)(data.data.tokens.accessToken, sessionDurationDays);
226
241
  return [2 /*return*/, data];
227
242
  }
228
243
  });
@@ -280,8 +295,8 @@ exports.initRequest = function (_a) {
280
295
  })];
281
296
  case 1:
282
297
  data = _a.sent();
283
- auth_1.setPersistedMember(data.data.member);
284
- cookies_1.setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
298
+ (0, auth_1.setPersistedMember)(data.data.member);
299
+ (0, cookies_1.setMemberToken)(data.data.tokens.accessToken, sessionDurationDays);
285
300
  return [2 /*return*/, data];
286
301
  }
287
302
  });
@@ -292,7 +307,7 @@ exports.initRequest = function (_a) {
292
307
  return __generator(this, function (_a) {
293
308
  return [2 /*return*/, sendRequest({
294
309
  method: requests_2.HttpMethod.GET,
295
- url: "/app/plans/" + params.planId,
310
+ url: "/app/plans/".concat(params.planId),
296
311
  })];
297
312
  });
298
313
  });
@@ -343,7 +358,7 @@ exports.initRequest = function (_a) {
343
358
  case 0: return [4 /*yield*/, getMemberRequest];
344
359
  case 1:
345
360
  data = _a.sent();
346
- auth_1.updatePersistedMember(data.data);
361
+ (0, auth_1.updatePersistedMember)(data.data);
347
362
  return [2 /*return*/];
348
363
  }
349
364
  });
@@ -353,13 +368,13 @@ exports.initRequest = function (_a) {
353
368
  return __generator(this, function (_a) {
354
369
  getMemberRequest = sendRequest({
355
370
  method: requests_2.HttpMethod.GET,
356
- url: "/member?" + Math.floor(1000 + Math.random() * 9000),
371
+ url: "/member?".concat(Math.floor(1000 + Math.random() * 9000)),
357
372
  headers: addHeaders(options),
358
373
  });
359
374
  // temp hacky solution
360
375
  setMember();
361
376
  if ((options === null || options === void 0 ? void 0 : options.useCache) === true) {
362
- member = auth_1.getPersistedMember();
377
+ member = (0, auth_1.getPersistedMember)();
363
378
  return [2 /*return*/, { data: member }];
364
379
  }
365
380
  else {
@@ -573,8 +588,8 @@ exports.initRequest = function (_a) {
573
588
  })];
574
589
  case 1:
575
590
  data = _c.sent();
576
- auth_1.setPersistedMember(data.data.member);
577
- cookies_1.setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
591
+ (0, auth_1.setPersistedMember)(data.data.member);
592
+ (0, cookies_1.setMemberToken)(data.data.tokens.accessToken, sessionDurationDays);
578
593
  return [2 /*return*/, data];
579
594
  }
580
595
  });
@@ -602,13 +617,31 @@ exports.initRequest = function (_a) {
602
617
  })];
603
618
  case 1:
604
619
  data = _c.sent();
605
- auth_1.setPersistedMember(data.data.member);
606
- cookies_1.setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
620
+ (0, auth_1.setPersistedMember)(data.data.member);
621
+ (0, cookies_1.setMemberToken)(data.data.tokens.accessToken, sessionDurationDays);
607
622
  return [2 /*return*/, data];
608
623
  }
609
624
  });
610
625
  });
611
626
  },
627
+ updateMemberProfileImage: function (params) {
628
+ return __awaiter(this, void 0, void 0, function () {
629
+ var formData;
630
+ return __generator(this, function (_a) {
631
+ if (params.profileImage) {
632
+ formData = new FormData();
633
+ formData.append('profileImage', params.profileImage);
634
+ return [2 /*return*/, sendRequest({
635
+ method: requests_2.HttpMethod.POST,
636
+ url: "/member/profile-image",
637
+ data: formData,
638
+ contentType: 'multipart/form-data',
639
+ })];
640
+ }
641
+ return [2 /*return*/];
642
+ });
643
+ });
644
+ },
612
645
  sendMemberVerificationEmail: function () {
613
646
  return __awaiter(this, void 0, void 0, function () {
614
647
  return __generator(this, function (_a) {
@@ -662,7 +695,7 @@ exports.initRequest = function (_a) {
662
695
  })];
663
696
  case 1:
664
697
  data = _a.sent();
665
- auth_1.unsetPersistedMember();
698
+ (0, auth_1.unsetPersistedMember)();
666
699
  return [2 /*return*/, data];
667
700
  }
668
701
  });
@@ -670,3 +703,4 @@ exports.initRequest = function (_a) {
670
703
  },
671
704
  };
672
705
  };
706
+ exports.initRequest = initRequest;
@@ -20,6 +20,7 @@ export declare const createRequestHandler: ({ publicKey, appId, token, customEnd
20
20
  url: string;
21
21
  data?: object;
22
22
  headers?: object;
23
+ contentType?: string;
23
24
  }, options?: {
24
25
  token?: string;
25
26
  }) => Promise<any>;
@@ -67,7 +67,7 @@ var HttpHeaders;
67
67
  HttpHeaders["API_VERSION"] = "X-API-Version";
68
68
  HttpHeaders["USER_AGENT"] = "X-User-Agent";
69
69
  })(HttpHeaders = exports.HttpHeaders || (exports.HttpHeaders = {}));
70
- exports.createRequestHandler = function (_a) {
70
+ var createRequestHandler = function (_a) {
71
71
  var publicKey = _a.publicKey, appId = _a.appId, token = _a.token, customEndpoint = _a.customEndpoint;
72
72
  return {
73
73
  sendRequest: function (data, options) { return __awaiter(void 0, void 0, void 0, function () {
@@ -79,14 +79,20 @@ exports.createRequestHandler = function (_a) {
79
79
  case 0:
80
80
  _m.trys.push([0, 2, , 3]);
81
81
  url = data.url;
82
- memberToken = cookies_1.getMemberToken();
82
+ memberToken = (0, cookies_1.getMemberToken)();
83
83
  authHeader = [
84
84
  (_e = (_d = data.headers) === null || _d === void 0 ? void 0 : _d["Authorization"]) === null || _e === void 0 ? void 0 : _e.replace("Bearer ", ""),
85
85
  memberToken,
86
86
  options === null || options === void 0 ? void 0 : options.token,
87
87
  ].find(function (x) { return x; });
88
- formattedUrl = "" + (customEndpoint || endpoints_1.endpoints.API) + url;
89
- return [4 /*yield*/, axios_1.default(__assign(__assign({}, data), { url: formattedUrl, headers: __assign(__assign(__assign(__assign({}, (authHeader && { authorization: "Bearer " + authHeader })), (publicKey && (_a = {}, _a[HttpHeaders.API_KEY] = publicKey, _a))), (appId && (_b = {}, _b[HttpHeaders.APP_ID] = appId, _b))), (_c = {}, _c[HttpHeaders.USER_AGENT] = "@memberstack/client@1.2.0", _c)), withCredentials: true }))];
88
+ formattedUrl = "".concat(customEndpoint || endpoints_1.endpoints.API).concat(url);
89
+ return [4 /*yield*/, (0, axios_1.default)({
90
+ method: data.method,
91
+ data: data.data,
92
+ url: formattedUrl,
93
+ headers: __assign(__assign(__assign(__assign(__assign({}, (authHeader && { authorization: "Bearer ".concat(authHeader) })), (publicKey && (_a = {}, _a[HttpHeaders.API_KEY] = publicKey, _a))), (appId && (_b = {}, _b[HttpHeaders.APP_ID] = appId, _b))), (_c = {}, _c[HttpHeaders.USER_AGENT] = "@memberstack/client@1.2.0", _c)), (data.contentType && { "Content-Type": data.contentType })),
94
+ withCredentials: true,
95
+ })];
90
96
  case 1:
91
97
  res = _m.sent();
92
98
  if ((_f = res === null || res === void 0 ? void 0 : res.headers) === null || _f === void 0 ? void 0 : _f["ms-mid"]) {
@@ -113,3 +119,4 @@ exports.createRequestHandler = function (_a) {
113
119
  }); },
114
120
  };
115
121
  };
122
+ exports.createRequestHandler = createRequestHandler;
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./params"), exports);
@@ -8,6 +8,12 @@ export declare type SignupMemberEmailPasswordParams = {
8
8
  }[];
9
9
  captchaToken?: string;
10
10
  };
11
+ export declare type UpdateMemberProfileImageParams = {
12
+ profileImage: File;
13
+ };
14
+ export declare type GetSecureContentParams = {
15
+ contentId: string;
16
+ };
11
17
  export declare type SetPasswordParams = {
12
18
  password: string;
13
19
  };
@@ -10,6 +10,10 @@ export declare type GetMemberCardsPayload = Response<Payload.Transforms["MemberC
10
10
  export declare type ConnectProviderPayload = Response<Payload.Transforms["AuthProviders"]>;
11
11
  export declare type GetMemberInvoicesPayload = PaginatedResponse<Payload.Transforms["MemberInvoice"]>;
12
12
  export declare type GetMemberReceiptsPayload = PaginatedResponse<Payload.Transforms["MemberReceipt"]>;
13
+ export declare type UpdateMemberProfileImagePayload = Response<{
14
+ profileImage: string;
15
+ }>;
16
+ export declare type GetSecureContentPayload = Response<Payload.Transforms["SecureContent"]>;
13
17
  export declare type SetPasswordPayload = Response<Payload.Transforms["Member"]>;
14
18
  export declare type GetRestrictedUrlGroupsPayload = Response<Payload.Transforms["RestrictedUrlGroup"][]>;
15
19
  export declare type GetPlansPayload = Response<Payload.Transforms["Plan"][]>;
@@ -24,6 +24,10 @@ export declare namespace Payload {
24
24
  app: Transforms["App"];
25
25
  member: Transforms["Member"] | null;
26
26
  };
27
+ SecureContent: {
28
+ content: string;
29
+ type: "HTML" | "CSS" | "LINK" | "JS" | "JSON" | "TEXT" | "IMAGE" | "FILE";
30
+ };
27
31
  App: {
28
32
  id: string;
29
33
  name: string;
@@ -81,6 +85,7 @@ export declare namespace Payload {
81
85
  Member: {
82
86
  id: string;
83
87
  verified: boolean;
88
+ profileImage: string;
84
89
  auth: {
85
90
  email: string;
86
91
  hasPassword: boolean;
@@ -1,3 +1,5 @@
1
+ export declare const setUseCookies: () => void;
1
2
  export declare const setMemberToken: (token: any, expires?: number) => void;
2
3
  export declare const removeMemberToken: () => void;
3
4
  export declare const getMemberToken: () => any;
5
+ export declare const setMemberTokenIfAvailable: () => void;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getMemberToken = exports.removeMemberToken = exports.setMemberToken = void 0;
6
+ exports.setMemberTokenIfAvailable = exports.getMemberToken = exports.removeMemberToken = exports.setMemberToken = exports.setUseCookies = void 0;
7
7
  var js_cookie_1 = __importDefault(require("js-cookie"));
8
8
  var memberAuthTokenName = "_ms-mid";
9
9
  function isLocalStorageAvailable() {
@@ -17,8 +17,13 @@ function isLocalStorageAvailable() {
17
17
  }
18
18
  }
19
19
  var localStorageAvailable = isLocalStorageAvailable();
20
- exports.setMemberToken = function (token, expires) {
21
- if (localStorageAvailable) {
20
+ var useCookies = false;
21
+ var setUseCookies = function () {
22
+ useCookies = true;
23
+ };
24
+ exports.setUseCookies = setUseCookies;
25
+ var setMemberToken = function (token, expires) {
26
+ if (localStorageAvailable && !useCookies) {
22
27
  localStorage.setItem(memberAuthTokenName, token);
23
28
  }
24
29
  else {
@@ -28,7 +33,8 @@ exports.setMemberToken = function (token, expires) {
28
33
  });
29
34
  }
30
35
  };
31
- exports.removeMemberToken = function () {
36
+ exports.setMemberToken = setMemberToken;
37
+ var removeMemberToken = function () {
32
38
  if (localStorageAvailable) {
33
39
  localStorage.removeItem(memberAuthTokenName);
34
40
  }
@@ -37,8 +43,9 @@ exports.removeMemberToken = function () {
37
43
  sameSite: "strict",
38
44
  });
39
45
  };
40
- exports.getMemberToken = function () {
41
- if (localStorageAvailable) {
46
+ exports.removeMemberToken = removeMemberToken;
47
+ var getMemberToken = function () {
48
+ if (localStorageAvailable && !useCookies) {
42
49
  var memAuthToken = localStorage.getItem(memberAuthTokenName);
43
50
  if (memAuthToken)
44
51
  return memAuthToken;
@@ -47,3 +54,13 @@ exports.getMemberToken = function () {
47
54
  // fallback to cookie -> this is to prevent folks from having to log in again
48
55
  return js_cookie_1.default.get(memberAuthTokenName);
49
56
  };
57
+ exports.getMemberToken = getMemberToken;
58
+ var setMemberTokenIfAvailable = function () {
59
+ if (typeof window !== "undefined") {
60
+ var urlParams = new URLSearchParams(window.location.search);
61
+ var memberToken = urlParams.get("memberToken");
62
+ if (memberToken)
63
+ (0, exports.setMemberToken)(memberToken);
64
+ }
65
+ };
66
+ exports.setMemberTokenIfAvailable = setMemberTokenIfAvailable;
@@ -8,32 +8,35 @@ if (typeof window !== "undefined") {
8
8
  closeIcon.setAttribute("data-ms-message-close", "");
9
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
10
  }
11
- exports.addSuccessBox = function () {
11
+ var addSuccessBox = function () {
12
12
  var successStatusIcon = document.createElement("div");
13
13
  successStatusIcon.setAttribute("id", "ms-status-icon");
14
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>";
15
+ var successHTML = "<div data-ms-message class=\"ms-error-message\">\n\t\t".concat(successStatusIcon.outerHTML, "\n\t\t<div id=\"ms-message\" data-ms-message-text></div>\n\t\t").concat(closeIcon.outerHTML, "\n\t\t</div>");
16
16
  var successdiv = document.createElement("div");
17
17
  successdiv.setAttribute("data-ms-message", "success");
18
18
  successdiv.innerHTML = successHTML;
19
19
  successdiv.style.display = "none";
20
20
  document.body.appendChild(successdiv);
21
21
  };
22
- exports.addErrorBox = function () {
22
+ exports.addSuccessBox = addSuccessBox;
23
+ var addErrorBox = function () {
23
24
  var errorStatusIcon = document.createElement("div");
24
25
  errorStatusIcon.setAttribute("id", "ms-status-icon");
25
26
  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 errorHTML = "<div data-ms-message class=\"ms-error-message\">\n\t\t".concat(errorStatusIcon.outerHTML, "\n\t\t<div id=\"ms-message\" data-ms-message-text></div>\n\t\t").concat(closeIcon.outerHTML, "\n\t\t</div>");
27
28
  var errordiv = document.createElement("div");
28
29
  errordiv.setAttribute("data-ms-message", "error");
29
30
  errordiv.innerHTML = errorHTML;
30
31
  errordiv.style.display = "none";
31
32
  document.body.appendChild(errordiv);
32
33
  };
33
- exports.initCSS = function () {
34
+ exports.addErrorBox = addErrorBox;
35
+ var initCSS = function () {
34
36
  var cssEl = document.createElement("style");
35
37
  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
38
  cssEl.setAttribute("data-ms-style", "");
37
39
  cssEl.appendChild(document.createTextNode(css));
38
40
  document.head.appendChild(cssEl);
39
41
  };
42
+ exports.initCSS = initCSS;
@@ -0,0 +1 @@
1
+ export declare const createFileInputElement: () => HTMLInputElement;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFileInputElement = void 0;
4
+ var createFileInputElement = function () {
5
+ var fileInputField = document.createElement("input");
6
+ fileInputField.setAttribute("required", "");
7
+ fileInputField.setAttribute("type", "file");
8
+ fileInputField.setAttribute("accept", "image/*");
9
+ fileInputField.setAttribute("profile-image", "true");
10
+ fileInputField.setAttribute("name", "profile-image");
11
+ fileInputField.setAttribute("data-name", "File");
12
+ fileInputField.setAttribute("hidden", "");
13
+ fileInputField.setAttribute("tabindex", "-1");
14
+ return fileInputField;
15
+ };
16
+ exports.createFileInputElement = createFileInputElement;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberstack/dom",
3
- "version": "1.9.25",
3
+ "version": "1.9.27",
4
4
  "main": "./lib/index.js",
5
5
  "files": [
6
6
  "lib/**/*"