@saasquatch/mint-components 1.4.1-1 → 1.4.3-0

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 (107) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/dist/cjs/{global-0c01d88f.js → global-413d075c.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/mint-components.cjs.js +1 -1
  5. package/dist/cjs/sqm-divided-layout_26.cjs.entry.js +45 -13
  6. package/dist/cjs/{sqm-hero-view-bb3d00a1.js → sqm-hero-view-783ec385.js} +4 -19
  7. package/dist/cjs/sqm-hero.cjs.entry.js +2 -1
  8. package/dist/cjs/{sqm-leaderboard-rank-view-48245b30.js → sqm-leaderboard-rank-view-b1b55673.js} +1 -1
  9. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +2 -2
  10. package/dist/cjs/{sqm-portal-email-verification-view-68b16f27.js → sqm-portal-email-verification-view-eeb4ca62.js} +1 -1
  11. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +2 -2
  12. package/dist/cjs/{sqm-portal-footer-view-edeeebab.js → sqm-portal-footer-view-08a2efd5.js} +1 -1
  13. package/dist/cjs/sqm-portal-footer.cjs.entry.js +2 -2
  14. package/dist/cjs/{sqm-portal-profile-view-2b48529e.js → sqm-portal-profile-view-ce86369e.js} +1 -1
  15. package/dist/cjs/sqm-portal-profile.cjs.entry.js +2 -2
  16. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +3 -1
  17. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +4 -2
  18. package/dist/cjs/utilities-21657336.js +28 -0
  19. package/dist/collection/components/sqm-portal-login/usePortalLogin.js +4 -2
  20. package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +3 -1
  21. package/dist/collection/components/sqm-portal-verify-email/usePortalVerifyEmail.js +4 -2
  22. package/dist/collection/global/global.js +1 -1
  23. package/dist/collection/stories/ShareButton.stories.js +30 -1
  24. package/dist/collection/utilities.js +6 -0
  25. package/dist/esm/{global-0fcfbedf.js → global-2e50d2dc.js} +1 -1
  26. package/dist/esm/loader.js +1 -1
  27. package/dist/esm/mint-components.js +1 -1
  28. package/dist/esm/sqm-divided-layout_26.entry.js +45 -13
  29. package/dist/esm/{sqm-hero-view-bfd8abd1.js → sqm-hero-view-02144ced.js} +1 -16
  30. package/dist/esm/sqm-hero.entry.js +2 -1
  31. package/dist/esm/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-387f0870.js} +1 -1
  32. package/dist/esm/sqm-leaderboard-rank.entry.js +2 -2
  33. package/dist/esm/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-e366e94a.js} +1 -1
  34. package/dist/esm/sqm-portal-email-verification.entry.js +2 -2
  35. package/dist/esm/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-f12d5e5a.js} +1 -1
  36. package/dist/esm/sqm-portal-footer.entry.js +2 -2
  37. package/dist/esm/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-9f3c79c3.js} +1 -1
  38. package/dist/esm/sqm-portal-profile.entry.js +2 -2
  39. package/dist/esm/sqm-portal-reset-password.entry.js +3 -1
  40. package/dist/esm/sqm-portal-verify-email.entry.js +4 -2
  41. package/dist/esm/utilities-63ba88bc.js +24 -0
  42. package/dist/esm-es5/{global-0fcfbedf.js → global-2e50d2dc.js} +1 -1
  43. package/dist/esm-es5/loader.js +1 -1
  44. package/dist/esm-es5/mint-components.js +1 -1
  45. package/dist/esm-es5/sqm-divided-layout_26.entry.js +1 -1
  46. package/dist/esm-es5/sqm-hero-view-02144ced.js +1 -0
  47. package/dist/esm-es5/sqm-hero.entry.js +1 -1
  48. package/dist/esm-es5/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-387f0870.js} +1 -1
  49. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  50. package/dist/esm-es5/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-e366e94a.js} +1 -1
  51. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  52. package/dist/esm-es5/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-f12d5e5a.js} +1 -1
  53. package/dist/esm-es5/sqm-portal-footer.entry.js +1 -1
  54. package/dist/esm-es5/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-9f3c79c3.js} +1 -1
  55. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  56. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  57. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  58. package/dist/esm-es5/utilities-63ba88bc.js +1 -0
  59. package/dist/mint-components/mint-components.esm.js +1 -1
  60. package/dist/mint-components/mint-components.js +1 -1
  61. package/dist/mint-components/{p-d513229d.js → p-2babeba4.js} +1 -1
  62. package/dist/mint-components/p-2bc94910.system.entry.js +1 -0
  63. package/dist/mint-components/{p-05a86906.entry.js → p-2dc28ab0.entry.js} +2 -2
  64. package/dist/mint-components/{p-51cfdd14.js → p-3adf6ff3.js} +1 -1
  65. package/dist/mint-components/{p-18aa175f.system.js → p-48fff767.system.js} +1 -1
  66. package/dist/mint-components/p-49e3f8f1.js +1 -0
  67. package/dist/mint-components/p-4ab42513.js +1 -0
  68. package/dist/mint-components/p-50557966.system.js +1 -0
  69. package/dist/mint-components/{p-6815e7ba.entry.js → p-52b0b65d.entry.js} +1 -1
  70. package/dist/mint-components/p-57fe3fe6.system.entry.js +1 -0
  71. package/dist/mint-components/p-5d613ac4.entry.js +1 -0
  72. package/dist/mint-components/p-66cae6b3.entry.js +230 -0
  73. package/dist/mint-components/{p-602180a2.system.js → p-679a7054.system.js} +1 -1
  74. package/dist/mint-components/p-696e3217.system.entry.js +1 -0
  75. package/dist/mint-components/p-6aa43483.entry.js +1 -0
  76. package/dist/mint-components/{p-7d996b49.js → p-726c9080.js} +1 -1
  77. package/dist/mint-components/p-77d17f35.js +1 -0
  78. package/dist/mint-components/p-89479f63.system.entry.js +1 -0
  79. package/dist/mint-components/{p-9ff0425e.system.entry.js → p-9741333b.system.entry.js} +1 -1
  80. package/dist/mint-components/{p-64759dda.system.js → p-9f9191a4.system.js} +1 -1
  81. package/dist/mint-components/p-b83fa0d3.system.js +1 -0
  82. package/dist/mint-components/{p-54707082.system.js → p-bf26396f.system.js} +1 -1
  83. package/dist/mint-components/{p-d55abc13.entry.js → p-c579f318.entry.js} +2 -2
  84. package/dist/mint-components/p-cd3fa54f.entry.js +1 -0
  85. package/dist/mint-components/{p-e50839df.entry.js → p-d1d45d97.entry.js} +1 -1
  86. package/dist/mint-components/{p-991bd182.system.entry.js → p-d5573e0e.system.entry.js} +1 -1
  87. package/dist/mint-components/p-d9a3caba.system.js +1 -0
  88. package/dist/mint-components/{p-036c5a7e.system.entry.js → p-e1df7914.system.entry.js} +1 -1
  89. package/dist/mint-components/{p-a646db48.system.entry.js → p-f3fbcdb0.system.entry.js} +1 -1
  90. package/dist/mint-components/{p-3452bdae.system.js → p-fd33dd62.system.js} +1 -1
  91. package/dist/mint-components/{p-d0cad85c.js → p-fe4ecc11.js} +1 -1
  92. package/dist/types/stories/ShareButton.stories.d.ts +1 -0
  93. package/dist/types/utilities.d.ts +1 -0
  94. package/package.json +1 -1
  95. package/dist/esm-es5/sqm-hero-view-bfd8abd1.js +0 -1
  96. package/dist/mint-components/p-099e36f5.system.entry.js +0 -1
  97. package/dist/mint-components/p-192539d2.entry.js +0 -1
  98. package/dist/mint-components/p-35476f7e.system.js +0 -1
  99. package/dist/mint-components/p-606506d6.system.entry.js +0 -1
  100. package/dist/mint-components/p-739b3032.js +0 -1
  101. package/dist/mint-components/p-756a5e6f.system.js +0 -1
  102. package/dist/mint-components/p-768b9014.system.entry.js +0 -1
  103. package/dist/mint-components/p-7cf335a0.entry.js +0 -1
  104. package/dist/mint-components/p-975dd0ec.entry.js +0 -230
  105. package/dist/mint-components/p-a565e753.entry.js +0 -1
  106. package/dist/mint-components/p-c84a5b33.js +0 -1
  107. package/dist/mint-components/p-e14c15ca.system.entry.js +0 -1
package/CHANGELOG.md CHANGED
@@ -7,8 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+
11
+ ## [1.4.2] - 2022-01-14
12
+
13
+ ### Changed
14
+
15
+ - Added ability to include slotted content on \<sqm-portal-register> using `slot="terms"`
16
+ - Slotted content is displayed above the registration button
17
+
18
+ ## [1.4.1] - 2021-01-17
19
+
20
+ ### Fixed
21
+
22
+ - Fixed broken WhatsApp icon by updating the version of bootstrap icons from 1.2.0 to 1.7.2
23
+
10
24
  ## [1.4.0] - 2021-12-09
11
25
 
26
+ ### Changed
27
+
12
28
  - Updated version of component-boilerplate to prevent rare case of user context being deleted during register
13
29
  - Updated version of component-boilerplate to support new registration, password reset, and verify requests
14
30
  - Changed components:
@@ -182,7 +198,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
182
198
  - \<sqm-popup-container>
183
199
  - \<sqm-stencilbook>
184
200
 
185
- [unreleased]: https://github.com/saasquatch/program-tools/compare/mint-components@1.4.0...HEAD
201
+
202
+ [unreleased]: https://github.com/saasquatch/program-tools/compare/mint-components@1.4.2...HEAD
203
+ [1.4.2]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.4.2
204
+ [1.4.1]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.4.1
186
205
  [1.4.0]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.4.0
187
206
  [1.3.0]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.3.0
188
207
  [1.2.0]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.2.0
@@ -26497,7 +26497,7 @@ try {
26497
26497
  // SlAlert.register();
26498
26498
  registerIconLibrary("default", {
26499
26499
  // same link that shoelace uses internally
26500
- resolver: (name) => `https://fast.ssqt.io/npm/bootstrap-icons@1.2.0/icons/${name}.svg`,
26500
+ resolver: (name) => `https://fast.ssqt.io/npm/bootstrap-icons@1.7.2/icons/${name}.svg`,
26501
26501
  });
26502
26502
  // SlAlert.register();
26503
26503
  customElements.define("sl-alert", alert_default2);
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b0129cd6.js');
6
6
  require('./extends-0302d27d.js');
7
- require('./global-0c01d88f.js');
7
+ require('./global-413d075c.js');
8
8
  require('./use-callback-fadb2643.js');
9
9
  require('./index.module-2925fe3b.js');
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  const index = require('./index-b0129cd6.js');
4
4
  require('./extends-0302d27d.js');
5
- require('./global-0c01d88f.js');
5
+ require('./global-413d075c.js');
6
6
  require('./use-callback-fadb2643.js');
7
7
  require('./index.module-2925fe3b.js');
8
8
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b0129cd6.js');
6
6
  const _extends = require('./extends-0302d27d.js');
7
- const global = require('./global-0c01d88f.js');
7
+ const global = require('./global-413d075c.js');
8
8
  const useCallback = require('./use-callback-fadb2643.js');
9
9
  const index_module = require('./index.module-2925fe3b.js');
10
10
  const jsonpointer = require('./jsonpointer-11327262.js');
@@ -15,7 +15,8 @@ const mixins = require('./mixins-7b7c59fe.js');
15
15
  const sqmPortalContainerView = require('./sqm-portal-container-view-d144735a.js');
16
16
  const sqmPortalSectionView = require('./sqm-portal-section-view-3b008930.js');
17
17
  const sqmTextSpanView = require('./sqm-text-span-view-b5ae787b.js');
18
- const sqmLeaderboardRankView = require('./sqm-leaderboard-rank-view-48245b30.js');
18
+ const utilities = require('./utilities-21657336.js');
19
+ const sqmLeaderboardRankView = require('./sqm-leaderboard-rank-view-b1b55673.js');
19
20
  const reRender = require('./re-render-b1ad512d.js');
20
21
  const useDemoBigStat = require('./useDemoBigStat-d7a60992.js');
21
22
  const sqmShareLinkView = require('./sqm-share-link-view-a935d07e.js');
@@ -23,14 +24,14 @@ const ShadowViewAddon = require('./ShadowViewAddon-e9bacad0.js');
23
24
  const sqmNavigationSidebarView = require('./sqm-navigation-sidebar-view-d06e1885.js');
24
25
  const sqmNavigationSidebarItemView = require('./sqm-navigation-sidebar-item-view-1bad646a.js');
25
26
  const sqmStatContainerView = require('./sqm-stat-container-view-ee7b00ff.js');
26
- const sqmPortalProfileView = require('./sqm-portal-profile-view-2b48529e.js');
27
+ const sqmPortalProfileView = require('./sqm-portal-profile-view-ce86369e.js');
27
28
  const sqmPortalForgotPasswordView = require('./sqm-portal-forgot-password-view-1704d285.js');
28
- const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-68b16f27.js');
29
+ const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-eeb4ca62.js');
29
30
  const sqmPortalResetPasswordView = require('./sqm-portal-reset-password-view-4d78fd6d.js');
30
31
  const sqmPortalVerifyEmailView = require('./sqm-portal-verify-email-view-b595e302.js');
31
32
  const sqmAssetCardView = require('./sqm-asset-card-view-07f86880.js');
32
- const sqmPortalFooterView = require('./sqm-portal-footer-view-edeeebab.js');
33
- const sqmHeroView = require('./sqm-hero-view-bb3d00a1.js');
33
+ const sqmPortalFooterView = require('./sqm-portal-footer-view-08a2efd5.js');
34
+ const sqmHeroView = require('./sqm-hero-view-783ec385.js');
34
35
  const sqmNameFieldsView = require('./sqm-name-fields-view-24614ac7.js');
35
36
 
36
37
  function DividedLayoutView(props, children) {
@@ -1413,8 +1414,9 @@ function usePortalLogin(props) {
1413
1414
  var _a;
1414
1415
  if ((_a = data === null || data === void 0 ? void 0 : data.authenticateManagedIdentityWithEmailAndPassword) === null || _a === void 0 ? void 0 : _a.token) {
1415
1416
  urlParams.delete("nextPage");
1417
+ const path = utilities.sanitizeUrlPath(nextPageOverride || props.nextPage);
1416
1418
  index_module.mn.push({
1417
- pathname: nextPageOverride || props.nextPage,
1419
+ pathname: path,
1418
1420
  search: urlParams.toString() && "?" + urlParams.toString(),
1419
1421
  });
1420
1422
  }
@@ -1431,7 +1433,7 @@ function usePortalLogin(props) {
1431
1433
  loading,
1432
1434
  error: errorMessage,
1433
1435
  registerPath: props.registerPath,
1434
- forgotPasswordPath: props.forgotPasswordPath
1436
+ forgotPasswordPath: props.forgotPasswordPath,
1435
1437
  },
1436
1438
  callbacks: {
1437
1439
  submit,
@@ -16525,7 +16527,7 @@ const ShareButton_stories = {
16525
16527
  title: "Share Button",
16526
16528
  };
16527
16529
  const WithIcon = () => {
16528
- const props = { medium: "facebook", iconslot: "suffix" };
16530
+ const props = { medium: "whatsapp", iconslot: "suffix" };
16529
16531
  return index.h(ShareButtonView, Object.assign({}, props), "Share");
16530
16532
  };
16531
16533
  const WithIconOverride = () => {
@@ -16563,6 +16565,35 @@ const FullStackIcon = () => {
16563
16565
  index.h("br", null),
16564
16566
  index.h("sqm-share-button", { medium: "email", icon: "envelope", iconslot: "prefix" },
16565
16567
  index.h("span", null, "Email"))));
16568
+ };
16569
+ const AllMediums = () => {
16570
+ return (index.h("div", null,
16571
+ index.h("sqm-share-button", { medium: "facebook", iconslot: "prefix" },
16572
+ index.h("span", null, "Facebook")),
16573
+ index.h("br", null),
16574
+ index.h("sqm-share-button", { medium: "email", icon: "envelope", iconslot: "prefix" },
16575
+ index.h("span", null, "Email")),
16576
+ index.h("br", null),
16577
+ index.h("sqm-share-button", { medium: "whatsapp", icon: "whatsapp", iconslot: "prefix" },
16578
+ index.h("span", null, "WhatsApp")),
16579
+ index.h("br", null),
16580
+ index.h("sqm-share-button", { medium: "linkedin", iconslot: "prefix" },
16581
+ index.h("span", null, "Linkedin")),
16582
+ index.h("br", null),
16583
+ index.h("sqm-share-button", { medium: "twitter", iconslot: "prefix" },
16584
+ index.h("span", null, "Twitter")),
16585
+ index.h("br", null),
16586
+ index.h("sqm-share-button", { medium: "pinterest", iconslot: "prefix" },
16587
+ index.h("span", null, "Pinterest")),
16588
+ index.h("br", null),
16589
+ index.h("sqm-share-button", { medium: "fbmessenger", icon: "messenger", iconslot: "prefix" },
16590
+ index.h("span", null, "Messenger")),
16591
+ index.h("br", null),
16592
+ index.h("sqm-share-button", { medium: "sms", icon: "chat", iconslot: "prefix" },
16593
+ index.h("span", null, "SMS")),
16594
+ index.h("br", null),
16595
+ index.h("sqm-share-button", { medium: "linemessenger", icon: "line", iconslot: "prefix" },
16596
+ index.h("span", null, "Line Messenger"))));
16566
16597
  };
16567
16598
 
16568
16599
  const ShareButton$1 = /*#__PURE__*/Object.freeze({
@@ -16574,7 +16605,8 @@ const ShareButton$1 = /*#__PURE__*/Object.freeze({
16574
16605
  WithoutIcon: WithoutIcon,
16575
16606
  WithoutText: WithoutText,
16576
16607
  TextStyleWithoutIcon: TextStyleWithoutIcon,
16577
- FullStackIcon: FullStackIcon
16608
+ FullStackIcon: FullStackIcon,
16609
+ AllMediums: AllMediums
16578
16610
  });
16579
16611
 
16580
16612
  const ShareLink_stories = {
@@ -18312,7 +18344,7 @@ const PortalEmailVerification = /*#__PURE__*/Object.freeze({
18312
18344
  EmailVerificationSuccess: EmailVerificationSuccess
18313
18345
  });
18314
18346
 
18315
- const scenario$2 = "@author:derek\r\n@owner:ian\r\nFeature: Reset Password\r\n\r\n Background: A user in on the password reset page\r\n Given a user who has been redirected to the password reset page\r\n\r\n @motivating\r\n Scenario: Users can reset their password\r\n Given a user has a valid oob code as a url query parameter\r\n When they enter their password twice\r\n And they click \"Update\"\r\n Then their password is updated\r\n And a banner with a success message is displayed\r\n And they can log in with their new password\r\n\r\n @motivating\r\n Scenario Outline: Users cannot reset their password with an invalid or missing oob code\r\n Given a user has a <oobCode> as a url query parameter\r\n And the component <mayHave> \"failed-page\" with <value>\r\n Then they see an error message saying that their password reset code is invalid/expired\r\n When they click \"Continue\"\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | oobCode | mayHave | value | redirectPath |\r\n | invalid oob code | doesn't have | N/A | / |\r\n | non existant oob code | doesn't have | N/A | / |\r\n | invalid oob code | has | /login | /login |\r\n | non existant oob code | has | /login | /login |\r\n\r\n @motivating\r\n Scenario: Users must enter the same password twice to successfully reset their password\r\n Given a user has been redirected to the password reset page\r\n And they have a valid oob code as a url query parameter\r\n When they enter two different passwords into the password reset form\r\n And they click \"Update\"\r\n Then their password is not be reset\r\n And an error banner stating the input passwords must match appears\r\n And their password is not be reset\r\n When they enter the same password twice\r\n And they click \"Update\"\r\n Then a banner appears with a success message\r\n And they can log in with their new password\r\n\r\n @motivating\r\n Scenario: Users are redirected to \"/\" by default\r\n Given the component does not have prop \"nextPage\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has entered their password twice\r\n When they click \"Update\"\r\n Then their password is updated\r\n And they are redirected to \"/\"\r\n\r\n @motivating\r\n Scenario: Custom redirection can be configured\r\n Given the component has prop \"nextPage\" with value \"/activity\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has entered their password twice\r\n When they click \"Update\"\r\n Then their password is updated\r\n And they are redirected to \"/activity\"";
18347
+ const scenario$2 = "@author:derek\r\n@owner:ian\r\nFeature: Reset Password\r\n\r\n Background: A user in on the password reset page\r\n Given a user who has been redirected to the password reset page\r\n\r\n @motivating\r\n Scenario: Users can reset their password\r\n Given a user has a valid oob code as a url query parameter\r\n When they enter their password twice\r\n And they click \"Update\"\r\n Then their password is updated\r\n And a banner with a success message is displayed\r\n And they can log in with their new password\r\n\r\n @motivating\r\n Scenario Outline: Users cannot reset their password with an invalid or missing oob code\r\n Given a user has a <oobCode> as a url query parameter\r\n And the component <mayHave> \"failed-page\" with <value>\r\n Then they see an error message saying that their password reset code is invalid/expired\r\n When they click \"Continue\"\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | oobCode | mayHave | value | redirectPath |\r\n | invalid oob code | doesn't have | N/A | / |\r\n | non existant oob code | doesn't have | N/A | / |\r\n | invalid oob code | has | /login | /login |\r\n | non existant oob code | has | /login | /login |\r\n\r\n @motivating\r\n Scenario: Users must enter the same password twice to successfully reset their password\r\n Given a user has been redirected to the password reset page\r\n And they have a valid oob code as a url query parameter\r\n When they enter two different passwords into the password reset form\r\n And they click \"Update\"\r\n Then their password is not be reset\r\n And an error banner stating the input passwords must match appears\r\n And their password is not be reset\r\n When they enter the same password twice\r\n And they click \"Update\"\r\n Then a banner appears with a success message\r\n And they can log in with their new password\r\n\r\n @motivating\r\n Scenario: Users are redirected to \"/\" by default\r\n Given the component does not have prop \"nextPage\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has entered their password twice\r\n When they click \"Update\"\r\n Then their password is updated\r\n And they are redirected to \"/\"\r\n\r\n @motivating\r\n Scenario: Custom redirection can be configured\r\n Given the component has prop \"nextPage\" with value \"/activity\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has entered their password twice\r\n When they click \"Update\"\r\n Then their password is updated\r\n And they are redirected to \"/activity\"\r\n\r\n @motivating\r\n Scenario Outline: Users are redirected to the value of the nextPage url parameter as if it were a relative path\r\n Given the component is loaded at <domain>\r\n And the component does not have prop \"nextPage\"\r\n And the users url contains a \"nextPage\" query paramater with <nextPageParamValue>\r\n When they click \"Update\"\r\n Then their password is updated\r\n And they are redirected to <url>\r\n Examples:\r\n | domain | nextPageParamValue | url |\r\n | www.example.com | /activity | https://www.example.com/activity |\r\n | www.example.com | activity | https://www.example.com/activity |\r\n | www.example.com | www.google.com | https://www.example.com/www.google.com |\r\n | www.example.com | //foo.com | https://www.example.com/ |\r\n | www.example.com | activity?foo=bar | https://www.example.com/activity |\r\n | www.example.com | /activity?foo=bar | https://www.example.com/activity |";
18316
18348
 
18317
18349
  const PortalResetPassword_stories = {
18318
18350
  title: "Portal Reset Password",
@@ -18476,7 +18508,7 @@ const PortalResetPassword = /*#__PURE__*/Object.freeze({
18476
18508
  CodeValidating: CodeValidating
18477
18509
  });
18478
18510
 
18479
- const scenario$3 = "@author:derek\r\n@owner:ian\r\nFeature: Verify Email\r\n\r\n Background: A user is on the email verification page\r\n Given a user who has been redirected to the email verification page\r\n\r\n @motivating\r\n Scenario: Verifying your email takes you to the portal login page\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button enters a loading state\r\n When their email is validated\r\n Then a button that says \"Continue\" appears\r\n When they click \"Continue\"\r\n Then they are redirected to login\r\n\r\n @motivating\r\n Scenario: Users are automatically redirected if they dont click \"Continue\"\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button enters a loading state\r\n When their email is validated\r\n Then a button that says \"Continue\" appears\r\n When they wait 5 seconds\r\n Then they are redirected to login\r\n\r\n @motivating\r\n Scenario: Users are notified if verifying their email has failed\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button enters a loading state\r\n When their email fails to be validated\r\n Then an banner is shown stating that an error occured\r\n\r\n @motivating\r\n Scenario Outline: Users cannot verify their email with an invalid or missing oob code\r\n Given a user has a <oobCode> as a url query parameter\r\n And the component <mayHave> \"failed-page\" with <value>\r\n Then they see an error message saying that their verification code is invalid/expired\r\n When they click \"Continue\"\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | oobCode | mayHave | value | redirectPath |\r\n | invalid oob code | doesn't have | N/A | / |\r\n | non existant oob code | doesn't have | N/A | / |\r\n | invalid oob code | has | /login | /login |\r\n | non existant oob code | has | /login | /login |\r\n\r\n @motivating\r\n Scenario: Users are redirected to \"/\" by default\r\n Given the component does not have prop \"nextPage\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has verified their email\r\n When they click \"Continue\"\r\n Then they are redirected to \"/\"\r\n\r\n @motivating\r\n Scenario: Custom redirection can be configured\r\n Given the component has prop \"nextPage\" with value \"/activity\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has verified their email\r\n When they click \"Continue\"\r\n Then they are redirected to \"/activity\"\r\n\r\n @motivating\r\n Scenario Outline: Users are redirected to the value of the nextPage url parameter if it exists\r\n Given the component <mayHave> prop \"nextPage\" with <nextPageValue>\r\n And the users url contains a \"nextPage\" query paramater with <nextPageParamValue>\r\n And the user has verified their email\r\n When they click \"Continue\"\r\n Then they are redirected to <nextPageParamValue>\r\n Examples:\r\n | mayHave | nextPageValue | nextPageParamValue |\r\n | has | /dashboard | /activity |\r\n | does not have | N/A | /activity |";
18511
+ const scenario$3 = "@author:derek\r\n@owner:ian\r\nFeature: Verify Email\r\n\r\n Background: A user is on the email verification page\r\n Given a user who has been redirected to the email verification page\r\n\r\n @motivating\r\n Scenario: Verifying your email takes you to the portal login page\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button enters a loading state\r\n When their email is validated\r\n Then a button that says \"Continue\" appears\r\n When they click \"Continue\"\r\n Then they are redirected to login\r\n\r\n @motivating\r\n Scenario: Users are automatically redirected if they dont click \"Continue\"\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button enters a loading state\r\n When their email is validated\r\n Then a button that says \"Continue\" appears\r\n When they wait 5 seconds\r\n Then they are redirected to login\r\n\r\n @motivating\r\n Scenario: Users are notified if verifying their email has failed\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button enters a loading state\r\n When their email fails to be validated\r\n Then an banner is shown stating that an error occured\r\n\r\n @motivating\r\n Scenario Outline: Users cannot verify their email with an invalid or missing oob code\r\n Given a user has a <oobCode> as a url query parameter\r\n And the component <mayHave> \"failed-page\" with <value>\r\n Then they see an error message saying that their verification code is invalid/expired\r\n When they click \"Continue\"\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | oobCode | mayHave | value | redirectPath |\r\n | invalid oob code | doesn't have | N/A | / |\r\n | non existant oob code | doesn't have | N/A | / |\r\n | invalid oob code | has | /login | /login |\r\n | non existant oob code | has | /login | /login |\r\n\r\n @motivating\r\n Scenario: Users are redirected to \"/\" by default\r\n Given the component does not have prop \"nextPage\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has verified their email\r\n When they click \"Continue\"\r\n Then they are redirected to \"/\"\r\n\r\n @motivating\r\n Scenario: Custom redirection can be configured\r\n Given the component has prop \"nextPage\" with value \"/activity\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has verified their email\r\n When they click \"Continue\"\r\n Then they are redirected to \"/activity\"\r\n\r\n @motivating\r\n Scenario Outline: Users are redirected to the value of the nextPage url parameter if it exists\r\n Given the component <mayHave> prop \"nextPage\" with <nextPageValue>\r\n And the users url contains a \"nextPage\" query paramater with <nextPageParamValue>\r\n And the user has verified their email\r\n When they click \"Continue\"\r\n Then they are redirected to <nextPageParamValue>\r\n Examples:\r\n | mayHave | nextPageValue | nextPageParamValue |\r\n | has | /dashboard | /activity |\r\n | does not have | N/A | /activity |\r\n\r\n @motivating\r\n Scenario Outline: Users are redirected to the value of the nextPage url parameter as if it were a relative path\r\n Given the component is loaded at <domain>\r\n And the component does not have prop \"nextPage\"\r\n And the users url contains a \"nextPage\" query paramater with <nextPageParamValue>\r\n And the user has verified their email\r\n When they click \"Continue\"\r\n And they are redirected to <url>\r\n Examples:\r\n | domain | nextPageParamValue | url |\r\n | www.example.com | /activity | https://www.example.com/activity |\r\n | www.example.com | activity | https://www.example.com/activity |\r\n | www.example.com | www.google.com | https://www.example.com/www.google.com |\r\n | www.example.com | //foo.com | https://www.example.com/ |\r\n | www.example.com | activity?foo=bar | https://www.example.com/activity |\r\n | www.example.com | /activity?foo=bar | https://www.example.com/activity |";
18480
18512
 
18481
18513
  const PortalVerifyEmail_stories = {
18482
18514
  title: "Portal Verify Email",
@@ -22920,7 +22952,7 @@ const ReferralIframeReadme = "# sqm-referral-iframe\r\n\r\n\r\n\r\n<!-- Auto Gen
22920
22952
 
22921
22953
  const ForgotPasswordReadme = "# sqm-portal-forgot-password\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------- | --------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; loginPath: string; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\r\n| `redirectPath` | `redirect-path` | The page that users are redirected to from the password reset email. | `string` | `\"/resetPassword\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Request Password Reset\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-forgot-password --> sqm-form-message\r\n style sqm-portal-forgot-password fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
22922
22954
 
22923
- const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------------------- | ---------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\r\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\r\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; loginPath: string; }; content?: { formData?: any; passwordField?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; refs?: { formRef: any; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `enablePasswordValidation` | `enable-password-validation` | | `boolean` | `true` |\r\n| `hideInputs` | `hide-inputs` | | `boolean` | `false` |\r\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\r\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\r\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\r\n| `redirectPath` | `redirect-path` | The page that users are redirected to from the verification email. | `string` | `\"/verifyEmail\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Used by\r\n\r\n - [sqm-stencilbook](../sqm-stencilbook)\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n- [sqm-password-field](../sqm-password-field)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-register --> sqm-form-message\r\n sqm-portal-register --> sqm-password-field\r\n sqm-stencilbook --> sqm-portal-register\r\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
22955
+ const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------------------- | ---------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\r\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\r\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; loginPath: string; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; refs?: { formRef: any; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `enablePasswordValidation` | `enable-password-validation` | | `boolean` | `true` |\r\n| `hideInputs` | `hide-inputs` | | `boolean` | `false` |\r\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\r\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\r\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\r\n| `redirectPath` | `redirect-path` | The page that users are redirected to from the verification email. | `string` | `\"/verifyEmail\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Used by\r\n\r\n - [sqm-stencilbook](../sqm-stencilbook)\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n- [sqm-password-field](../sqm-password-field)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-register --> sqm-form-message\r\n sqm-portal-register --> sqm-password-field\r\n sqm-stencilbook --> sqm-portal-register\r\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
22924
22956
 
22925
22957
  const EditProfileReadme = "# sqm-portal-profile\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------------------ | --------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\r\n| `countrytext` | `countrytext` | | `string` | `\"Country\"` |\r\n| `demoData` | -- | | `{ states?: { success: boolean; loading: boolean; submitDisabled: boolean; showCountry: boolean; formState: { country: string; firstName: string; lastName: string; errors: any; error: string; }; user: { id: string; accountId: string; firstName: string; lastName: string; email: string; countryCode: string; }; text: { firstnametext: string; lastnametext: string; emailtext: string; countrytext: string; editProfileHeader: string; editProfileSubHeader: string; submitChangeButtonText: string; }; }; }` | `undefined` |\r\n| `editProfileHeader` | `edit-profile-header` | | `string` | `\"Edit your profile\"` |\r\n| `editProfileSubHeader` | `edit-profile-sub-header` | | `string` | `\"Personal Information\"` |\r\n| `emailtext` | `emailtext` | | `string` | `\"Email\"` |\r\n| `firstnametext` | `firstnametext` | | `string` | `\"First Name\"` |\r\n| `lastnametext` | `lastnametext` | | `string` | `\"Last Name\"` |\r\n| `showCountry` | `show-country` | | `boolean` | `true` |\r\n| `submitChangeButtonText` | `submit-change-button-text` | | `string` | `\"Submit Changes\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-profile --> sqm-form-message\r\n style sqm-portal-profile fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
22926
22958
 
@@ -1,23 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index-b0129cd6.js');
4
- const _extends = require('./extends-0302d27d.js');
5
- const useCallback = require('./use-callback-fadb2643.js');
6
4
  const jssPresetDefault_esm = require('./jss-preset-default.esm-6304d24f.js');
7
-
8
- // import { IntlMessageFormat } from 'intl-messageformat';
9
- function isMobile(breakPoint) {
10
- const [width, setWidth] = _extends.useState(window.innerWidth);
11
- const handleWindowResize = useCallback.useCallback(() => setWidth(window.innerWidth), []);
12
- _extends.useEffect(() => {
13
- window.addEventListener("resize", handleWindowResize);
14
- return () => window.removeEventListener("resize", handleWindowResize);
15
- }, []);
16
- return width > breakPoint ? false : true;
17
- }
18
- function isValidColor(teststr) {
19
- return CSS.supports(`(color: ${teststr})`);
20
- }
5
+ const utilities = require('./utilities-21657336.js');
21
6
 
22
7
  const paddingList = [
23
8
  "var(--sl-spacing-xxx-small)",
@@ -33,7 +18,7 @@ const paddingList = [
33
18
  ];
34
19
  const parseBackground = (provided_bg) => {
35
20
  if (provided_bg) {
36
- if (isValidColor(provided_bg)) {
21
+ if (utilities.isValidColor(provided_bg)) {
37
22
  return provided_bg;
38
23
  }
39
24
  else {
@@ -53,10 +38,10 @@ function HeroView(props) {
53
38
  large: 9,
54
39
  };
55
40
  var index = sizes[size];
56
- if (isMobile(767)) {
41
+ if (utilities.isMobile(767)) {
57
42
  index = index - 2;
58
43
  }
59
- else if (isMobile(1023)) {
44
+ else if (utilities.isMobile(1023)) {
60
45
  index = index - 1;
61
46
  }
62
47
  return half ? paddingList[index - 2] : paddingList[index];
@@ -7,7 +7,8 @@ const _extends = require('./extends-0302d27d.js');
7
7
  require('./use-callback-fadb2643.js');
8
8
  require('./jss-preset-default.esm-6304d24f.js');
9
9
  const utils = require('./utils-95e5317c.js');
10
- const sqmHeroView = require('./sqm-hero-view-bb3d00a1.js');
10
+ require('./utilities-21657336.js');
11
+ const sqmHeroView = require('./sqm-hero-view-783ec385.js');
11
12
 
12
13
  const Hero = class {
13
14
  constructor(hostRef) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index-b0129cd6.js');
4
- const global = require('./global-0c01d88f.js');
4
+ const global = require('./global-413d075c.js');
5
5
  const index_module = require('./index.module-2925fe3b.js');
6
6
 
7
7
  var docCache = new Map();
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b0129cd6.js');
6
6
  const _extends = require('./extends-0302d27d.js');
7
- const global = require('./global-0c01d88f.js');
7
+ const global = require('./global-413d075c.js');
8
8
  require('./use-callback-fadb2643.js');
9
9
  const index_module = require('./index.module-2925fe3b.js');
10
10
  const cjs = require('./cjs-1066ec21.js');
11
- const sqmLeaderboardRankView = require('./sqm-leaderboard-rank-view-48245b30.js');
11
+ const sqmLeaderboardRankView = require('./sqm-leaderboard-rank-view-b1b55673.js');
12
12
 
13
13
  const GET_RANK = sqmLeaderboardRankView.gql `
14
14
  query ($type: String!, $filter: UserLeaderboardFilterInput) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index-b0129cd6.js');
4
- const global = require('./global-0c01d88f.js');
4
+ const global = require('./global-413d075c.js');
5
5
  const jssPresetDefault_esm = require('./jss-preset-default.esm-6304d24f.js');
6
6
  const mixins = require('./mixins-7b7c59fe.js');
7
7
  const sqmTextSpanView = require('./sqm-text-span-view-b5ae787b.js');
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b0129cd6.js');
6
6
  const _extends = require('./extends-0302d27d.js');
7
- require('./global-0c01d88f.js');
7
+ require('./global-413d075c.js');
8
8
  require('./use-callback-fadb2643.js');
9
9
  const index_module = require('./index.module-2925fe3b.js');
10
10
  require('./jss-preset-default.esm-6304d24f.js');
11
11
  const cjs = require('./cjs-1066ec21.js');
12
12
  require('./mixins-7b7c59fe.js');
13
13
  require('./sqm-text-span-view-b5ae787b.js');
14
- const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-68b16f27.js');
14
+ const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-eeb4ca62.js');
15
15
 
16
16
  function usePortalEmailVerification(props) {
17
17
  var _a, _b, _c, _d, _e;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index-b0129cd6.js');
4
- const global = require('./global-0c01d88f.js');
4
+ const global = require('./global-413d075c.js');
5
5
  const jssPresetDefault_esm = require('./jss-preset-default.esm-6304d24f.js');
6
6
 
7
7
  function PoweredByImg({ color = "#A6A6A6", width = 190, height = 29, }) {
@@ -4,12 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b0129cd6.js');
6
6
  const _extends = require('./extends-0302d27d.js');
7
- require('./global-0c01d88f.js');
7
+ require('./global-413d075c.js');
8
8
  require('./use-callback-fadb2643.js');
9
9
  require('./index.module-2925fe3b.js');
10
10
  require('./jss-preset-default.esm-6304d24f.js');
11
11
  const utils = require('./utils-95e5317c.js');
12
- const sqmPortalFooterView = require('./sqm-portal-footer-view-edeeebab.js');
12
+ const sqmPortalFooterView = require('./sqm-portal-footer-view-08a2efd5.js');
13
13
 
14
14
  const PortalFooter = class {
15
15
  constructor(hostRef) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index-b0129cd6.js');
4
- const global = require('./global-0c01d88f.js');
4
+ const global = require('./global-413d075c.js');
5
5
  const jssPresetDefault_esm = require('./jss-preset-default.esm-6304d24f.js');
6
6
  const sqmPortalContainerView = require('./sqm-portal-container-view-d144735a.js');
7
7
  const sqmTextSpanView = require('./sqm-text-span-view-b5ae787b.js');
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b0129cd6.js');
6
6
  const _extends = require('./extends-0302d27d.js');
7
- require('./global-0c01d88f.js');
7
+ require('./global-413d075c.js');
8
8
  require('./use-callback-fadb2643.js');
9
9
  const index_module = require('./index.module-2925fe3b.js');
10
10
  require('./jss-preset-default.esm-6304d24f.js');
@@ -12,7 +12,7 @@ const utils = require('./utils-95e5317c.js');
12
12
  const cjs = require('./cjs-1066ec21.js');
13
13
  require('./sqm-portal-container-view-d144735a.js');
14
14
  require('./sqm-text-span-view-b5ae787b.js');
15
- const sqmPortalProfileView = require('./sqm-portal-profile-view-2b48529e.js');
15
+ const sqmPortalProfileView = require('./sqm-portal-profile-view-ce86369e.js');
16
16
 
17
17
  const GET_USER = index_module.dist.gql `
18
18
  query {
@@ -11,6 +11,7 @@ require('./jss-preset-default.esm-6304d24f.js');
11
11
  const cjs = require('./cjs-1066ec21.js');
12
12
  require('./mixins-7b7c59fe.js');
13
13
  require('./sqm-text-span-view-b5ae787b.js');
14
+ const utilities = require('./utilities-21657336.js');
14
15
  const sqmPortalResetPasswordView = require('./sqm-portal-reset-password-view-4d78fd6d.js');
15
16
 
16
17
  function usePortalResetPassword(props) {
@@ -38,8 +39,9 @@ function usePortalResetPassword(props) {
38
39
  };
39
40
  const gotoNextPage = () => {
40
41
  urlParams.delete("nextPage");
42
+ const path = utilities.sanitizeUrlPath(nextPageOverride || props.nextPage);
41
43
  index_module.mn.push({
42
- pathname: nextPageOverride || props.nextPage,
44
+ pathname: path,
43
45
  search: urlParams.toString() && "?" + urlParams.toString(),
44
46
  });
45
47
  };
@@ -10,6 +10,7 @@ require('./jss-preset-default.esm-6304d24f.js');
10
10
  const cjs = require('./cjs-1066ec21.js');
11
11
  require('./mixins-7b7c59fe.js');
12
12
  require('./sqm-text-span-view-b5ae787b.js');
13
+ const utilities = require('./utilities-21657336.js');
13
14
  const sqmPortalVerifyEmailView = require('./sqm-portal-verify-email-view-b595e302.js');
14
15
 
15
16
  function usePortalVerifyEmail({ nextPage, failedPage }) {
@@ -31,8 +32,9 @@ function usePortalVerifyEmail({ nextPage, failedPage }) {
31
32
  };
32
33
  const gotoNextPage = () => {
33
34
  urlParams.delete("nextPage");
34
- return index_module.mn.push({
35
- pathname: nextPageOverride || nextPage,
35
+ const path = utilities.sanitizeUrlPath(nextPageOverride || nextPage);
36
+ index_module.mn.push({
37
+ pathname: path,
36
38
  search: urlParams.toString() && "?" + urlParams.toString(),
37
39
  });
38
40
  };
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ const _extends = require('./extends-0302d27d.js');
4
+ const useCallback = require('./use-callback-fadb2643.js');
5
+
6
+ // import { IntlMessageFormat } from 'intl-messageformat';
7
+ function isMobile(breakPoint) {
8
+ const [width, setWidth] = _extends.useState(window.innerWidth);
9
+ const handleWindowResize = useCallback.useCallback(() => setWidth(window.innerWidth), []);
10
+ _extends.useEffect(() => {
11
+ window.addEventListener("resize", handleWindowResize);
12
+ return () => window.removeEventListener("resize", handleWindowResize);
13
+ }, []);
14
+ return width > breakPoint ? false : true;
15
+ }
16
+ function isValidColor(teststr) {
17
+ return CSS.supports(`(color: ${teststr})`);
18
+ }
19
+ function sanitizeUrlPath(path) {
20
+ const url = new URL(path, window.location.href);
21
+ const cleanUrl = new URL(window.location.href);
22
+ cleanUrl.pathname = url.pathname;
23
+ return cleanUrl.pathname;
24
+ }
25
+
26
+ exports.isMobile = isMobile;
27
+ exports.isValidColor = isValidColor;
28
+ exports.sanitizeUrlPath = sanitizeUrlPath;
@@ -1,6 +1,7 @@
1
1
  import jsonpointer from "jsonpointer";
2
2
  import { useEffect, useState } from "@saasquatch/universal-hooks";
3
3
  import { navigation, useAuthenticateWithEmailAndPasswordMutation, } from "@saasquatch/component-boilerplate";
4
+ import { sanitizeUrlPath } from "../../utilities";
4
5
  export function usePortalLogin(props) {
5
6
  var _a, _b, _c, _d;
6
7
  const [request, { loading, errors, data }] = useAuthenticateWithEmailAndPasswordMutation();
@@ -20,8 +21,9 @@ export function usePortalLogin(props) {
20
21
  var _a;
21
22
  if ((_a = data === null || data === void 0 ? void 0 : data.authenticateManagedIdentityWithEmailAndPassword) === null || _a === void 0 ? void 0 : _a.token) {
22
23
  urlParams.delete("nextPage");
24
+ const path = sanitizeUrlPath(nextPageOverride || props.nextPage);
23
25
  navigation.push({
24
- pathname: nextPageOverride || props.nextPage,
26
+ pathname: path,
25
27
  search: urlParams.toString() && "?" + urlParams.toString(),
26
28
  });
27
29
  }
@@ -38,7 +40,7 @@ export function usePortalLogin(props) {
38
40
  loading,
39
41
  error: errorMessage,
40
42
  registerPath: props.registerPath,
41
- forgotPasswordPath: props.forgotPasswordPath
43
+ forgotPasswordPath: props.forgotPasswordPath,
42
44
  },
43
45
  callbacks: {
44
46
  submit,
@@ -1,6 +1,7 @@
1
1
  import jsonpointer from "jsonpointer";
2
2
  import { useEffect, useState } from "@saasquatch/universal-hooks";
3
3
  import { navigation, useVerifyPasswordResetCodeMutation, useResetPasswordMutation, } from "@saasquatch/component-boilerplate";
4
+ import { sanitizeUrlPath } from "../../utilities";
4
5
  export function usePortalResetPassword(props) {
5
6
  var _a, _b, _c, _d, _e, _f;
6
7
  const [reset, setReset] = useState(false);
@@ -26,8 +27,9 @@ export function usePortalResetPassword(props) {
26
27
  };
27
28
  const gotoNextPage = () => {
28
29
  urlParams.delete("nextPage");
30
+ const path = sanitizeUrlPath(nextPageOverride || props.nextPage);
29
31
  navigation.push({
30
- pathname: nextPageOverride || props.nextPage,
32
+ pathname: path,
31
33
  search: urlParams.toString() && "?" + urlParams.toString(),
32
34
  });
33
35
  };
@@ -1,5 +1,6 @@
1
1
  import { useEffect, useState } from "@saasquatch/universal-hooks";
2
2
  import { navigation, useUserIdentity, useVerifyEmailMutation, } from "@saasquatch/component-boilerplate";
3
+ import { sanitizeUrlPath } from "../../utilities";
3
4
  export function usePortalVerifyEmail({ nextPage, failedPage }) {
4
5
  var _a, _b, _c, _d, _e;
5
6
  const [verified, setVerified] = useState(false);
@@ -19,8 +20,9 @@ export function usePortalVerifyEmail({ nextPage, failedPage }) {
19
20
  };
20
21
  const gotoNextPage = () => {
21
22
  urlParams.delete("nextPage");
22
- return navigation.push({
23
- pathname: nextPageOverride || nextPage,
23
+ const path = sanitizeUrlPath(nextPageOverride || nextPage);
24
+ navigation.push({
25
+ pathname: path,
24
26
  search: urlParams.toString() && "?" + urlParams.toString(),
25
27
  });
26
28
  };
@@ -19,7 +19,7 @@ try {
19
19
  // SlAlert.register();
20
20
  registerIconLibrary("default", {
21
21
  // same link that shoelace uses internally
22
- resolver: (name) => `https://fast.ssqt.io/npm/bootstrap-icons@1.2.0/icons/${name}.svg`,
22
+ resolver: (name) => `https://fast.ssqt.io/npm/bootstrap-icons@1.7.2/icons/${name}.svg`,
23
23
  });
24
24
  // SlAlert.register();
25
25
  customElements.define("sl-alert", SlAlert);