@social-mail/social-mail-client 1.2.316 → 1.2.317

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 (74) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +216 -84
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +13 -10
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/controls/buttons/IconButton.d.ts +20 -19
  6. package/dist/common/controls/buttons/IconButton.d.ts.map +1 -1
  7. package/dist/common/controls/buttons/IconButton.js +27 -2
  8. package/dist/common/controls/buttons/IconButton.js.map +1 -1
  9. package/dist/common/controls/countries/CountrySelect.d.ts +1 -1
  10. package/dist/common/controls/countries/CountrySelect.d.ts.map +1 -1
  11. package/dist/common/controls/countries/CountrySelect.js +8 -2
  12. package/dist/common/controls/countries/CountrySelect.js.map +1 -1
  13. package/dist/common/controls/qrcode/QRCode.d.ts +17 -1
  14. package/dist/common/controls/qrcode/QRCode.d.ts.map +1 -1
  15. package/dist/common/controls/qrcode/QRCode.js +60 -13
  16. package/dist/common/controls/qrcode/QRCode.js.map +1 -1
  17. package/dist/common/pages/user/login/LoginPage.d.ts +0 -15
  18. package/dist/common/pages/user/login/LoginPage.d.ts.map +1 -1
  19. package/dist/common/pages/user/login/LoginPage.js +6 -48
  20. package/dist/common/pages/user/login/LoginPage.js.map +1 -1
  21. package/dist/common/pages/user/multi-factor/SetupMultiFactorPage.d.ts +7 -0
  22. package/dist/common/pages/user/multi-factor/SetupMultiFactorPage.d.ts.map +1 -1
  23. package/dist/common/pages/user/multi-factor/SetupMultiFactorPage.js +106 -9
  24. package/dist/common/pages/user/multi-factor/SetupMultiFactorPage.js.map +1 -1
  25. package/dist/common/pages/user/services/UserService.js +1 -1
  26. package/dist/common/pages/user/services/UserService.js.map +1 -1
  27. package/dist/model/model.d.ts +29 -3
  28. package/dist/model/model.d.ts.map +1 -1
  29. package/dist/model/model.js +106 -5
  30. package/dist/model/model.js.map +1 -1
  31. package/dist/public/channel/ChannelView.pack.js +112 -7
  32. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  33. package/dist/public/channel/ChannelView.pack.min.js +4 -4
  34. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  35. package/dist/public/store/Store.pack.js +112 -7
  36. package/dist/public/store/Store.pack.js.map +1 -1
  37. package/dist/public/store/Store.pack.min.js +4 -4
  38. package/dist/public/store/Store.pack.min.js.map +1 -1
  39. package/dist/public/store/StoreApp.pack.js +2 -2
  40. package/dist/public/store/StoreApp.pack.min.js +2 -2
  41. package/dist/services/LoginService.js +1 -1
  42. package/dist/services/LoginService.js.map +1 -1
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/dist/web/AppIndex.pack.js +322 -93
  45. package/dist/web/AppIndex.pack.js.map +1 -1
  46. package/dist/web/AppIndex.pack.min.js +15 -12
  47. package/dist/web/AppIndex.pack.min.js.map +1 -1
  48. package/dist/web/page/users/SignupPage.d.ts +2 -0
  49. package/dist/web/page/users/SignupPage.d.ts.map +1 -1
  50. package/dist/web/page/users/SignupPage.js +1 -10
  51. package/dist/web/page/users/SignupPage.js.map +1 -1
  52. package/node_modules/@web-atoms/core/dist/tsconfig.tsbuildinfo +1 -1
  53. package/node_modules/@web-atoms/core/dist/web/services/PopupWindow.js +2 -2
  54. package/node_modules/@web-atoms/core/package.json +1 -1
  55. package/node_modules/@web-atoms/core/src/web/services/PopupWindow.tsx +2 -2
  56. package/node_modules/@web-atoms/entity/dist/services/MockBaseEntityService.js +1 -1
  57. package/node_modules/@web-atoms/entity/dist/services/MockBaseEntityService.js.map +1 -1
  58. package/node_modules/@web-atoms/entity/dist/services/mergeProperties.d.ts.map +1 -1
  59. package/node_modules/@web-atoms/entity/dist/services/mergeProperties.js +4 -0
  60. package/node_modules/@web-atoms/entity/dist/services/mergeProperties.js.map +1 -1
  61. package/node_modules/@web-atoms/entity/dist/tsconfig.tsbuildinfo +1 -1
  62. package/node_modules/@web-atoms/entity/package.json +1 -1
  63. package/node_modules/@web-atoms/entity/src/services/MockBaseEntityService.ts +1 -1
  64. package/node_modules/@web-atoms/entity/src/services/mergeProperties.ts +4 -0
  65. package/package.json +3 -3
  66. package/src/common/controls/buttons/IconButton.tsx +17 -0
  67. package/src/common/controls/countries/CountrySelect.tsx +7 -2
  68. package/src/common/controls/qrcode/QRCode.tsx +92 -10
  69. package/src/common/pages/user/login/LoginPage.tsx +3 -67
  70. package/src/common/pages/user/multi-factor/SetupMultiFactorPage.tsx +114 -6
  71. package/src/common/pages/user/services/UserService.ts +1 -1
  72. package/src/model/model.ts +49 -8
  73. package/src/services/LoginService.ts +1 -1
  74. package/src/web/page/users/SignupPage.tsx +2 -19
@@ -9196,7 +9196,7 @@ System.register(["tslib", "../../core/Bind", "../../core/BindableProperty", "../
9196
9196
  grid-template-columns: auto 1fr auto;
9197
9197
  opacity: 0;
9198
9198
  transition: opacity 0.3s cubic-bezier(0.55, 0.09, 0.97, 0.32) ;
9199
- overflow: hidden;
9199
+ overflow: visible;
9200
9200
 
9201
9201
  [data-window-modal-background=background] {
9202
9202
  position: absolute;
@@ -9235,7 +9235,7 @@ System.register(["tslib", "../../core/Bind", "../../core/BindableProperty", "../
9235
9235
  grid-row: 1;
9236
9236
  grid-column: 2;
9237
9237
  font-size: medium;
9238
- overflow: hidden;
9238
+ overflow: visible;
9239
9239
  white-space: nowrap;
9240
9240
  text-overflow: ellipsis;
9241
9241
  cursor: move;
@@ -12340,6 +12340,10 @@ System.register(["../models/cloneSource"], function (_export, _context) {
12340
12340
  mergeProperties(srcElement, targetElement, path + "." + key, visited, merged);
12341
12341
  continue;
12342
12342
  }
12343
+ if (targetElement === void 0 && srcElement) {
12344
+ target[key] = srcElement;
12345
+ continue;
12346
+ }
12343
12347
  target[key] = targetElement;
12344
12348
  if (cloneTarget && targetElement !== void 0) {
12345
12349
  cloneTarget[key] = targetElement;
@@ -13301,7 +13305,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
13301
13305
  System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/services/BaseEntityService"], function (_export, _context) {
13302
13306
  "use strict";
13303
13307
 
13304
- var DateTime, Model, DefaultFactory, modelEntitySchemas, AppRole, AppFileContentDispositionArray, AppFile, AccessToken, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, ContactAddress, CachedItem, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailEngagement, EmailLog, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxContactStatusArray, MailboxContact, MailboxContactEmail, MailboxContactTag, MailboxSyncTargetDirectionArray, MailboxSyncTargetProtocolArray, MailboxSyncTargetLastSyncStatusArray, MailboxSyncTarget, ChannelConfig, SubscriberActivity, SearchWordStatusArray, SearchWord, SearchWordIndex, ServerActivityActivityArray, ServerActivity, Store, StoreUser, StoreConfig, StoreItemItemTypeArray, StoreItem, StoreItemFolder, StoreItemPrice, StoreMediaFile, StoreInsight, StoreLedger, StoreJournalJournalTypeArray, StoreJournal, StoreJournalEntry, StoreJournalLineItemItemTypeArray, StoreJournalLineItem, StoreItemTax, StoreItemTag, UserStatusArray, User, UserPin, UserPushSubscription, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, WebSiteFolder, WebSiteFolderHost, WebSiteFolderVersion, WebSiteChannel, WebSiteStore, LoginSession, TextDocument, IncomingSmsSource, Tag, VirtualServer, DnsZone, DnsZoneRecordTypeArray, DnsZoneRecord, DnsSigningKey, fixRelatedSchemas;
13308
+ var DateTime, Model, DefaultFactory, modelEntitySchemas, AppRole, AppFileContentDispositionArray, AppFile, AccessToken, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, ContactAddress, CachedItem, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailEngagement, EmailLog, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxContactStatusArray, MailboxContact, MailboxContactEmail, MailboxContactTag, MailboxSyncTargetDirectionArray, MailboxSyncTargetProtocolArray, MailboxSyncTargetLastSyncStatusArray, MailboxSyncTarget, ChannelConfig, SubscriberActivity, SearchWordStatusArray, SearchWord, SearchWordIndex, ServerActivityActivityArray, ServerActivity, Store, StoreUser, StoreConfig, StoreItemItemTypeArray, StoreItem, StoreItemFolder, StoreItemPrice, StoreMediaFile, StoreInsight, StoreLedger, StoreJournalJournalTypeArray, StoreJournal, StoreJournalEntry, StoreJournalLineItemItemTypeArray, StoreJournalLineItem, StoreItemTax, StoreItemTag, UserStatusArray, User, UserPin, UserPushSubscription, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, WebSiteFolder, WebSiteFolderHost, WebSiteFolderVersion, WebSiteChannel, WebSiteStore, LoginSession, TextDocument, IncomingSmsSource, VerificationToken, VerificationTokenAddress, Tag, VirtualServer, DnsZone, DnsZoneRecordTypeArray, DnsZoneRecord, DnsSigningKey, fixRelatedSchemas;
13305
13309
  return {
13306
13310
  setters: [function (_webAtomsDateTimeDistDateTime) {
13307
13311
  DateTime = _webAtomsDateTimeDistDateTime.default;
@@ -17295,6 +17299,9 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
17295
17299
  "name": "isdCode",
17296
17300
  "type": "string",
17297
17301
  "default": ["isdCode", "\"\""]
17302
+ }, {
17303
+ "name": "verificationID",
17304
+ "type": "number"
17298
17305
  }, {
17299
17306
  "name": "verified",
17300
17307
  "type": "boolean",
@@ -17311,6 +17318,13 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
17311
17318
  "relatedKey": "userID"
17312
17319
  }],
17313
17320
  "relatedName": "User"
17321
+ }, {
17322
+ "name": "verificationToken",
17323
+ "fkMap": [{
17324
+ "fk": "verificationID",
17325
+ "relatedKey": "verificationID"
17326
+ }],
17327
+ "relatedName": "VerificationToken"
17314
17328
  }]
17315
17329
  }));
17316
17330
  modelEntitySchemas["UserAuthFactor"] = UserAuthFactor;
@@ -17555,9 +17569,8 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
17555
17569
  "type": "string",
17556
17570
  "default": ["deviceTokenType", "\"\""]
17557
17571
  }, {
17558
- "name": "smsToken",
17559
- "type": "string",
17560
- "default": ["smsToken", "\"\""]
17572
+ "name": "verificationID",
17573
+ "type": "number"
17561
17574
  }],
17562
17575
  "relations": [{
17563
17576
  "name": "user",
@@ -17566,6 +17579,13 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
17566
17579
  "relatedKey": "userID"
17567
17580
  }],
17568
17581
  "relatedName": "User"
17582
+ }, {
17583
+ "name": "verificationToken",
17584
+ "fkMap": [{
17585
+ "fk": "verificationID",
17586
+ "relatedKey": "verificationID"
17587
+ }],
17588
+ "relatedName": "VerificationToken"
17569
17589
  }, {
17570
17590
  "name": "versions",
17571
17591
  "isCollection": true,
@@ -17599,7 +17619,8 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
17599
17619
  name: "",
17600
17620
  isdPrefix: "",
17601
17621
  phoneNumber: "",
17602
- dateUpdated: new DefaultFactory(() => new DateTime())
17622
+ dateUpdated: new DefaultFactory(() => new DateTime()),
17623
+ countryCode: ""
17603
17624
  }, {
17604
17625
  "name": "incoming_sms_source",
17605
17626
  "keys": [{
@@ -17635,10 +17656,94 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
17635
17656
  "name": "dateUpdated",
17636
17657
  "type": "DateTime",
17637
17658
  "default": ["dateUpdated", "new DefaultFactory(() => new DateTime())"]
17659
+ }, {
17660
+ "name": "countryCode",
17661
+ "type": "string",
17662
+ "default": ["countryCode", "\"\""]
17638
17663
  }],
17639
17664
  "relations": []
17640
17665
  }));
17641
17666
  modelEntitySchemas["IncomingSmsSource"] = IncomingSmsSource;
17667
+ _export("VerificationToken", VerificationToken = new Model("VerificationToken", ["verificationID"], {
17668
+ dateCreated: new DefaultFactory(() => new DateTime()),
17669
+ expiry: new DefaultFactory(() => new DateTime()),
17670
+ verified: false,
17671
+ code: "",
17672
+ accessCode: ""
17673
+ }, {
17674
+ "name": "verification_tokens",
17675
+ "keys": [{
17676
+ "name": "verificationID",
17677
+ "type": "number",
17678
+ "generated": "identity"
17679
+ }],
17680
+ "properties": [{
17681
+ "name": "externalID",
17682
+ "type": "string",
17683
+ "default": ["externalID", "\"\""]
17684
+ }, {
17685
+ "name": "dateCreated",
17686
+ "type": "DateTime",
17687
+ "default": ["dateCreated", "new DefaultFactory(() => new DateTime())"]
17688
+ }, {
17689
+ "name": "expiry",
17690
+ "type": "DateTime",
17691
+ "default": ["expiry", "new DefaultFactory(() => new DateTime())"]
17692
+ }, {
17693
+ "name": "verified",
17694
+ "type": "boolean",
17695
+ "default": ["verified", "false"]
17696
+ }, {
17697
+ "name": "code",
17698
+ "type": "string",
17699
+ "default": ["code", "\"\""]
17700
+ }, {
17701
+ "name": "accessCode",
17702
+ "type": "string",
17703
+ "default": ["accessCode", "\"\""]
17704
+ }, {
17705
+ "name": "ipAddress",
17706
+ "type": "string",
17707
+ "default": ["ipAddress", "\"\""]
17708
+ }],
17709
+ "relations": [{
17710
+ "name": "loginSessions",
17711
+ "isCollection": true,
17712
+ "isInverse": true,
17713
+ "relatedName": "LoginSession"
17714
+ }, {
17715
+ "name": "authFactors",
17716
+ "isCollection": true,
17717
+ "isInverse": true,
17718
+ "relatedName": "UserAuthFactor"
17719
+ }, {
17720
+ "name": "addresses",
17721
+ "isCollection": true,
17722
+ "isInverse": true,
17723
+ "relatedName": "VerificationTokenAddress"
17724
+ }]
17725
+ }));
17726
+ modelEntitySchemas["VerificationToken"] = VerificationToken;
17727
+ _export("VerificationTokenAddress", VerificationTokenAddress = new Model("VerificationTokenAddress", ["verificationID", "address"], {}, {
17728
+ "name": "verification_token_addresses",
17729
+ "keys": [{
17730
+ "name": "verificationID",
17731
+ "type": "number"
17732
+ }, {
17733
+ "name": "address",
17734
+ "type": "string"
17735
+ }],
17736
+ "properties": [],
17737
+ "relations": [{
17738
+ "name": "verificationToken",
17739
+ "fkMap": [{
17740
+ "fk": "verificationID",
17741
+ "relatedKey": "verificationID"
17742
+ }],
17743
+ "relatedName": "VerificationToken"
17744
+ }]
17745
+ }));
17746
+ modelEntitySchemas["VerificationTokenAddress"] = VerificationTokenAddress;
17642
17747
  _export("Tag", Tag = new Model("Tag", ["tagID"], {
17643
17748
  name: "",
17644
17749
  isSystemTag: false
@@ -18119,7 +18224,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18119
18224
  return __awaiter(this, void 0, void 0, function* () {
18120
18225
  const result = yield this.entityService.save(session);
18121
18226
  if (session.invalid) {
18122
- if (session.smsConfig) {
18227
+ if (session.verificationToken) {
18123
18228
  this.checkSession(session).catch(console.error);
18124
18229
  }
18125
18230
  return session.status;
@@ -21853,10 +21958,35 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
21853
21958
  var {
21854
21959
  text = defaultText,
21855
21960
  icon = defaultIcon,
21856
- layout = defaultLayout || (icon ? "icon-button" : "button")
21961
+ layout = defaultLayout || (icon ? "icon-button" : "button"),
21962
+ href = void 0,
21963
+ target = void 0
21857
21964
  } = _a,
21858
- a = __rest(_a, ["text", "icon", "layout"]);
21965
+ a = __rest(_a, ["text", "icon", "layout", "href", "target"]);
21859
21966
  a["data-layout"] = layout;
21967
+ if (href) {
21968
+ if (text && icon) {
21969
+ return XNode.create("a", Object.assign({
21970
+ href: href
21971
+ }, a), XNode.create("i", {
21972
+ class: icon
21973
+ }), XNode.create("span", {
21974
+ text: text
21975
+ }));
21976
+ }
21977
+ if (icon) {
21978
+ return XNode.create("a", Object.assign({
21979
+ href: href
21980
+ }, a, {
21981
+ class: icon
21982
+ }));
21983
+ }
21984
+ return XNode.create("a", Object.assign({
21985
+ href: href
21986
+ }, a, {
21987
+ text: text
21988
+ }));
21989
+ }
21860
21990
  if (text && icon) {
21861
21991
  return XNode.create("button", Object.assign({}, a), XNode.create("i", {
21862
21992
  class: icon
@@ -25786,8 +25916,14 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
25786
25916
  valuePath: item => item.currency,
25787
25917
  items: Bind.oneTimeAsync(() => loadCountries())
25788
25918
  }, a)));
25789
- _export("isdForCountry", isdForCountry = countryCode => __awaiter(void 0, void 0, void 0, function* () {
25790
- return (yield loadCountries()).find(x => x.value === countryCode).isdCode;
25919
+ _export("isdForCountry", isdForCountry = (countryCode, prefix = "") => __awaiter(void 0, void 0, void 0, function* () {
25920
+ const {
25921
+ isdCode
25922
+ } = (yield loadCountries()).find(x => x.value === countryCode);
25923
+ if (prefix) {
25924
+ return isdCode.startsWith(prefix) ? isdCode : prefix + isdCode;
25925
+ }
25926
+ return isdCode;
25791
25927
  }));
25792
25928
  _export("formatForCountry", formatForCountry = countryCode => __awaiter(void 0, void 0, void 0, function* () {
25793
25929
  const countries = yield loadCountries();
@@ -37358,16 +37494,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
37358
37494
  return __awaiter(this, void 0, void 0, function* () {
37359
37495
  this.renderer = XNode.create("div", null, XNode.create("div", null, XNode.create("div", {
37360
37496
  "data-max-width": "size-large"
37361
- }, XNode.create("h3", null, "Phone Verification Code"), XNode.create("p", null, "We have send text verification code on your phone number, please enter the code below to verify."), XNode.create(Form, null, XNode.create(FormField, {
37362
- label: ""
37363
- }, XNode.create("input", {
37364
- type: "tel",
37365
- autofocus: true,
37366
- value: Bind.twoWaysImmediate(() => this.model.phone.code)
37367
- })), XNode.create("div", null, XNode.create("button", {
37368
- "data-layout": "go-button",
37369
- "data-submit-event": "signup"
37370
- }, "Complete Signup"))))));
37497
+ })));
37371
37498
  });
37372
37499
  }
37373
37500
  });
@@ -52377,7 +52504,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/cor
52377
52504
  } = SocialMailApp.user;
52378
52505
  return this.entityService.query(User).where({
52379
52506
  userID
52380
- }, p => x => x.userID === p.userID).include(x => x.authFactors).firstOrDefault();
52507
+ }, p => x => x.userID === p.userID).include(x => x.authFactors.forEach(t => t.verificationToken)).firstOrDefault();
52381
52508
  });
52382
52509
  }
52383
52510
  save(user) {
@@ -57849,47 +57976,94 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
57849
57976
 
57850
57977
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/forgot/ForgotPassword");
57851
57978
 
57852
- System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/controls/AtomControl"], function (_export, _context) {
57979
+ System.register(["tslib", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/controls/AtomControl", "../buttons/IconButton", "../../form/AppForm", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/DropDown", "@web-atoms/web-controls/dist/basic/FormField"], function (_export, _context) {
57853
57980
  "use strict";
57854
57981
 
57855
- var __awaiter, __decorate, __metadata, App, BindableProperty, styled, AtomControl, QRCodeControl, nextId;
57982
+ var __awaiter, __decorate, __metadata, BindableProperty, XNode, styled, AtomControl, EmailIconTextButton, AppForm, Bind, DropDown, FormField, QRCodeControl, generateUrl;
57856
57983
  _export("default", void 0);
57857
57984
  return {
57858
57985
  setters: [function (_tslib) {
57859
57986
  __awaiter = _tslib.__awaiter;
57860
57987
  __decorate = _tslib.__decorate;
57861
57988
  __metadata = _tslib.__metadata;
57862
- }, function (_webAtomsCoreDistApp) {
57863
- App = _webAtomsCoreDistApp.App;
57864
57989
  }, function (_webAtomsCoreDistCoreBindableProperty) {
57865
57990
  BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
57991
+ }, function (_webAtomsCoreDistCoreXNode) {
57992
+ XNode = _webAtomsCoreDistCoreXNode.default;
57866
57993
  }, function (_webAtomsCoreDistStyleStyled) {
57867
57994
  styled = _webAtomsCoreDistStyleStyled.default;
57868
57995
  }, function (_webAtomsCoreDistWebControlsAtomControl) {
57869
57996
  AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
57997
+ }, function (_buttonsIconButton) {
57998
+ EmailIconTextButton = _buttonsIconButton.EmailIconTextButton;
57999
+ }, function (_formAppForm) {
58000
+ AppForm = _formAppForm.default;
58001
+ }, function (_webAtomsCoreDistCoreBind) {
58002
+ Bind = _webAtomsCoreDistCoreBind.default;
58003
+ }, function (_webAtomsWebControlsDistBasicDropDown) {
58004
+ DropDown = _webAtomsWebControlsDistBasicDropDown.default;
58005
+ }, function (_webAtomsWebControlsDistBasicFormField) {
58006
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
57870
58007
  }],
57871
58008
  execute: function () {
57872
58009
  styled.css`
58010
+ & img.qr-code {
58011
+ width: 256px;
58012
+ }
57873
58013
  `.installGlobal("qr-code");
57874
- nextId = 1;
58014
+ generateUrl = item => {
58015
+ const body = item.keyword ? `${item.keyword} ${item.code}` : item.code;
58016
+ return `SMSTO:${item.phoneNumber}:${body}`;
58017
+ };
57875
58018
  _export("default", QRCodeControl = class QRCodeControl extends AtomControl {
57876
58019
  constructor(app, e = document.createElement("qr-code")) {
57877
58020
  super(app, e);
58021
+ this.smsConfig = null;
58022
+ this.selectedConfig = null;
57878
58023
  this.runAfterInit(() => this.app.runAsync(() => this.init()));
57879
58024
  }
57880
58025
  init() {
57881
58026
  return __awaiter(this, void 0, void 0, function* () {
57882
- yield App.installScript("https://cdn.jsdelivr.net/npm/qrcodejs@1.0.0/qrcode.js");
57883
- this.element.id = `qr-code-${nextId++}`;
57884
- new QRCode(this.element.id, {
57885
- text: this.url,
57886
- width: 256,
57887
- height: 256
57888
- });
58027
+ if (!this.smsConfig) {
58028
+ return;
58029
+ }
58030
+ if (typeof this.smsConfig === "string") {
58031
+ this.smsConfig = JSON.parse(this.smsConfig);
58032
+ }
58033
+ this.selectedConfig = this.smsConfig.config[0];
58034
+ const isMobile = /ios|iphone|android/i.test(navigator.userAgent);
58035
+ if (isMobile) {
58036
+ this.renderer = XNode.create("div", null, XNode.create(AppForm, null, XNode.create("h4", null, "Please verify your phone number"), XNode.create("div", null, "Click on following button, that will open your Messages(SMS/Text) screen with your verification code, please click send on your Messages screen."), XNode.create(FormField, {
58037
+ label: "Country"
58038
+ }, XNode.create(DropDown, {
58039
+ itemRenderer: x => XNode.create("label", {
58040
+ text: x.countryCode
58041
+ }),
58042
+ items: this.smsConfig.config,
58043
+ selectedItem: Bind.twoWaysImmediate(() => this.selectedConfig)
58044
+ })), XNode.create("div", null, XNode.create(EmailIconTextButton, {
58045
+ href: Bind.oneWay(() => generateUrl(this.selectedConfig)),
58046
+ target: "_blank",
58047
+ text: "Open Messages"
58048
+ }))));
58049
+ return;
58050
+ }
58051
+ this.renderer = XNode.create("div", null, XNode.create(AppForm, null, XNode.create("h4", null, "Please verify your phone number"), XNode.create("div", null, "Scan following QR Code with your phone to open the Messages(SMS/Text) with generated code. And hit the send button."), XNode.create(FormField, {
58052
+ label: "Country"
58053
+ }, XNode.create(DropDown, {
58054
+ itemRenderer: x => XNode.create("label", {
58055
+ text: x.countryCode
58056
+ }),
58057
+ items: this.smsConfig.config,
58058
+ selectedItem: Bind.twoWaysImmediate(() => this.selectedConfig)
58059
+ })), XNode.create("div", null, XNode.create("img", {
58060
+ class: "qr-code",
58061
+ src: Bind.oneWay(() => `data:image/svg+xml;base64,${btoa(this.selectedConfig.qrCodeUrl)}`)
58062
+ }))));
57889
58063
  });
57890
58064
  }
57891
58065
  });
57892
- __decorate([BindableProperty, __metadata("design:type", String)], QRCodeControl.prototype, "url", void 0);
58066
+ __decorate([BindableProperty, __metadata("design:type", Object)], QRCodeControl.prototype, "smsConfig", void 0);
57893
58067
  }
57894
58068
  };
57895
58069
  });
@@ -57897,10 +58071,10 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
57897
58071
 
57898
58072
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/qrcode/QRCode");
57899
58073
 
57900
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/web-controls/dist/basic/FormField", "../../../../model/model", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/PasswordBox", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/core/InjectProperty", "../../../../services/LoginService", "../../../controls/password/PasswordStrength", "../../../validators/Validators", "../../../controls/buttons/IconButton", "@web-atoms/web-controls/dist/PageNavigator", "../forgot/ForgotPassword", "@web-atoms/core/dist/web/services/PopupService", "../../../form/AppForm", "../../../../web/commands/AppCommands", "@web-atoms/date-time/dist/DateTime", "@web-atoms/web-controls/dist/basic/DropDown", "../../../controls/qrcode/QRCode"], function (_export, _context) {
58074
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/web-controls/dist/basic/FormField", "../../../../model/model", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/PasswordBox", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/core/InjectProperty", "../../../../services/LoginService", "../../../controls/password/PasswordStrength", "../../../validators/Validators", "../../../controls/buttons/IconButton", "@web-atoms/web-controls/dist/PageNavigator", "../forgot/ForgotPassword", "@web-atoms/core/dist/web/services/PopupService", "../../../form/AppForm", "../../../../web/commands/AppCommands", "@web-atoms/date-time/dist/DateTime", "../../../controls/qrcode/QRCode"], function (_export, _context) {
57901
58075
  "use strict";
57902
58076
 
57903
- var __awaiter, __decorate, __metadata, XNode, ContentPage, FormField, LoginSession, Bind, PasswordBox, Action, InjectProperty, LoginService, PasswordStrength, Validators, SaveIconTextButton, PageNavigator, ForgotPassword, PopupService, AppForm, AppCommands, DateTime, DropDown, QRCode, LoginPage, isSocialMail;
58077
+ var __awaiter, __decorate, __metadata, XNode, ContentPage, FormField, LoginSession, Bind, PasswordBox, Action, InjectProperty, LoginService, PasswordStrength, Validators, SaveIconTextButton, PageNavigator, ForgotPassword, PopupService, AppForm, AppCommands, DateTime, QRCode, LoginPage, isSocialMail;
57904
58078
  _export("default", void 0);
57905
58079
  return {
57906
58080
  setters: [function (_tslib) {
@@ -57943,8 +58117,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
57943
58117
  AppCommands = _webCommandsAppCommands.default;
57944
58118
  }, function (_webAtomsDateTimeDistDateTime) {
57945
58119
  DateTime = _webAtomsDateTimeDistDateTime.default;
57946
- }, function (_webAtomsWebControlsDistBasicDropDown) {
57947
- DropDown = _webAtomsWebControlsDistBasicDropDown.default;
57948
58120
  }, function (_controlsQrcodeQRCode) {
57949
58121
  QRCode = _controlsQrcodeQRCode.default;
57950
58122
  }],
@@ -57954,7 +58126,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
57954
58126
  constructor() {
57955
58127
  super(...arguments);
57956
58128
  this.password = "";
57957
- this.selectedPhone = null;
57958
58129
  }
57959
58130
  init() {
57960
58131
  return __awaiter(this, void 0, void 0, function* () {
@@ -58016,51 +58187,12 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
58016
58187
  });
58017
58188
  }
58018
58189
  showOtherFactors() {
58019
- var _a, _b, _c;
58020
- const smsConfig = JSON.parse((_a = this.model.smsConfig) !== null && _a !== void 0 ? _a : "null");
58021
- const phoneNumber = (_c = (_b = smsConfig === null || smsConfig === void 0 ? void 0 : smsConfig.config) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : null;
58022
- if (!phoneNumber) {
58023
- this.renderer = XNode.create("div", {
58024
- "data-layout": "center-all"
58025
- }, XNode.create(AppForm, null, XNode.create("h4", null, "Enter Authenticator Code"), XNode.create(FormField, {
58026
- label: "Code"
58027
- }, XNode.create("input", {
58028
- autofocus: true,
58029
- type: "tel",
58030
- value: Bind.twoWaysImmediate(() => this.model.timeToken)
58031
- })), XNode.create("div", {
58032
- "data-layout": "row"
58033
- }, XNode.create("button", {
58034
- "event-click": () => this.showOTP(),
58035
- "data-layout": "link"
58036
- }, "Enter One Time Password instead.")), XNode.create("div", {
58037
- "data-layout": "command-row"
58038
- }, XNode.create(SaveIconTextButton, {
58039
- "event-click": () => this.login(),
58040
- text: "Go"
58041
- }))));
58042
- return;
58043
- }
58044
- this.selectedPhone = phoneNumber;
58045
- const generateUrl = item => {
58046
- const body = item.keyword ? `${item.keyword} ${item.code}` : item.code;
58047
- return `SMSTO:${item.phoneNumber}:${body}`;
58048
- };
58190
+ const smsConfig = this.model.verificationToken;
58049
58191
  this.renderer = XNode.create("div", {
58050
58192
  "data-layout": "center-all"
58051
- }, XNode.create(AppForm, null, XNode.create("h4", null, "Send Text Message"), XNode.create(FormField, {
58052
- label: "Country"
58053
- }, XNode.create(DropDown, {
58054
- itemRenderer: x => XNode.create("label", {
58055
- text: x.countryCode
58056
- }),
58057
- items: smsConfig.config,
58058
- selectedItem: Bind.twoWaysImmediate(() => this.selectedPhone)
58059
- })), XNode.create(FormField, {
58060
- label: ""
58061
- }, XNode.create(QRCode, {
58062
- url: Bind.oneWay(() => generateUrl(this.selectedPhone))
58063
- })), XNode.create("h4", null, "OR"), XNode.create("h4", null, "Enter Authenticator Code"), XNode.create(FormField, {
58193
+ }, XNode.create(AppForm, null, (smsConfig === null || smsConfig === void 0 ? void 0 : smsConfig.smsConfig) && XNode.create(QRCode, {
58194
+ smsConfig: smsConfig.smsConfig
58195
+ }), XNode.create("h4", null, "OR"), XNode.create("h4", null, "Enter Authenticator Code"), XNode.create(FormField, {
58064
58196
  label: "Code"
58065
58197
  }, XNode.create("input", {
58066
58198
  autofocus: true,