@saasquatch/mint-components 1.5.0-13 → 1.5.0-17
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.
- package/CHANGELOG.md +48 -24
- package/dist/cjs/{global-89f66e76.js → global-5ca2a131.js} +5 -5
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mint-components.cjs.js +2 -2
- package/dist/cjs/sqm-big-stat.cjs.entry.js +1 -1
- package/dist/cjs/sqm-brand_39.cjs.entry.js +422 -238
- package/dist/cjs/sqm-card-feed-view-17fd3f0a.js +369 -0
- package/dist/cjs/sqm-card-feed.cjs.entry.js +4 -5
- package/dist/cjs/{sqm-leaderboard-rank-view-510f16d3.js → sqm-leaderboard-rank-view-dff9de2e.js} +1 -1
- package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +2 -2
- package/dist/cjs/{sqm-portal-email-verification-view-5093ac20.js → sqm-portal-email-verification-view-f0cbd78b.js} +1 -1
- package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +10 -3
- package/dist/cjs/{sqm-portal-footer-view-03408484.js → sqm-portal-footer-view-c714590c.js} +1 -1
- package/dist/cjs/sqm-portal-footer.cjs.entry.js +2 -2
- package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +16 -4
- package/dist/cjs/{sqm-portal-profile-view-1a6327e4.js → sqm-portal-profile-view-f0233000.js} +3 -2
- package/dist/cjs/sqm-portal-profile.cjs.entry.js +2 -2
- package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +9 -1
- package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +10 -2
- package/dist/cjs/{sqm-program-explainer-step-view-54424840.js → sqm-program-explainer-step-view-17c5e99d.js} +4 -4
- package/dist/cjs/sqm-program-explainer-step.cjs.entry.js +1 -1
- package/dist/cjs/{sqm-program-explainer-view-db516613.js → sqm-program-explainer-view-d516c9df.js} +2 -2
- package/dist/cjs/sqm-program-explainer.cjs.entry.js +1 -1
- package/dist/cjs/{useDemoBigStat-5f770877.js → useDemoBigStat-49cd314a.js} +1 -2
- package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +20 -0
- package/dist/collection/components/sqm-big-stat/useBigStat.js +1 -2
- package/dist/collection/components/sqm-card-feed/CardFeed.stories.js +13 -1
- package/dist/collection/components/sqm-card-feed/sqm-card-feed-view.js +7 -10
- package/dist/collection/components/sqm-card-feed/sqm-card-feed.js +9 -13
- package/dist/collection/components/sqm-portal-container/PortalContainer.stories.js +11 -1
- package/dist/collection/components/sqm-portal-container/sqm-portal-container-view.js +2 -1
- package/dist/collection/components/sqm-portal-container/sqm-portal-container.js +25 -0
- package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +27 -0
- package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +2 -1
- package/dist/collection/components/sqm-portal-forgot-password/PortalForgotPassword.stories.js +4 -0
- package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +55 -3
- package/dist/collection/components/sqm-portal-forgot-password/usePortalForgotPassword.js +4 -2
- package/dist/collection/components/sqm-portal-login/PortalLogin.stories.js +6 -0
- package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +59 -4
- package/dist/collection/components/sqm-portal-login/usePortalLogin.js +4 -2
- package/dist/collection/components/sqm-portal-register/PortalRegister.stories.js +5 -0
- package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +55 -2
- package/dist/collection/components/sqm-portal-register/usePortalRegister.js +3 -0
- package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +30 -1
- package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +1 -1
- package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +30 -1
- package/dist/collection/components/sqm-portal-verify-email/usePortalVerifyEmail.js +2 -2
- package/dist/collection/components/sqm-program-explainer/ProgramExplainer.stories.js +1 -1
- package/dist/collection/components/sqm-program-explainer/sqm-program-explainer-view.js +2 -2
- package/dist/collection/components/sqm-program-explainer-step/ProgramExplainerStep.stories.js +1 -1
- package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step-view.js +5 -5
- package/dist/collection/components/sqm-referral-table/sqm-referral-table.js +5 -2
- package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +13 -8
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +91 -114
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +113 -5
- package/dist/collection/components/sqm-share-button/ShareButton.stories.js +21 -0
- package/dist/collection/components/sqm-share-button/sqm-share-button-view.js +17 -9
- package/dist/collection/components/sqm-share-button/sqm-share-button.js +62 -10
- package/dist/collection/components/sqm-task-card/TaskCard.stories.js +12 -0
- package/dist/collection/components/sqm-task-card/progress-bar/SVGs.js +1 -1
- package/dist/collection/components/sqm-task-card/progress-bar/progress-bar-view.js +24 -31
- package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +79 -22
- package/dist/collection/components/sqm-task-card/sqm-task-card.js +106 -0
- package/dist/collection/components/sqm-user-name/sqm-user-name.js +1 -1
- package/dist/collection/global/styles.js +5 -5
- package/dist/collection/global/styles.ts +5 -5
- package/dist/esm/{global-e0e25c22.js → global-1c68ff6e.js} +5 -5
- package/dist/esm/loader.js +2 -2
- package/dist/esm/mint-components.js +2 -2
- package/dist/esm/sqm-big-stat.entry.js +1 -1
- package/dist/esm/sqm-brand_39.entry.js +422 -238
- package/dist/esm/sqm-card-feed-view-cdd1f818.js +367 -0
- package/dist/esm/sqm-card-feed.entry.js +4 -5
- package/dist/esm/{sqm-leaderboard-rank-view-cd1e8962.js → sqm-leaderboard-rank-view-95e6fb4f.js} +1 -1
- package/dist/esm/sqm-leaderboard-rank.entry.js +2 -2
- package/dist/esm/{sqm-portal-email-verification-view-2af31979.js → sqm-portal-email-verification-view-71eb8adb.js} +1 -1
- package/dist/esm/sqm-portal-email-verification.entry.js +10 -3
- package/dist/esm/{sqm-portal-footer-view-60cd9ae5.js → sqm-portal-footer-view-5cb00c4e.js} +1 -1
- package/dist/esm/sqm-portal-footer.entry.js +2 -2
- package/dist/esm/sqm-portal-forgot-password.entry.js +16 -4
- package/dist/esm/{sqm-portal-profile-view-ba06e776.js → sqm-portal-profile-view-864dd5b5.js} +3 -2
- package/dist/esm/sqm-portal-profile.entry.js +2 -2
- package/dist/esm/sqm-portal-reset-password.entry.js +9 -1
- package/dist/esm/sqm-portal-verify-email.entry.js +10 -2
- package/dist/esm/{sqm-program-explainer-step-view-7c0d5f71.js → sqm-program-explainer-step-view-e2b39225.js} +4 -4
- package/dist/esm/sqm-program-explainer-step.entry.js +1 -1
- package/dist/esm/{sqm-program-explainer-view-ab291eb4.js → sqm-program-explainer-view-f726f5ec.js} +2 -2
- package/dist/esm/sqm-program-explainer.entry.js +1 -1
- package/dist/esm/{useDemoBigStat-a0dd50ab.js → useDemoBigStat-acd4b73f.js} +1 -2
- package/dist/esm-es5/{global-e0e25c22.js → global-1c68ff6e.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mint-components.js +1 -1
- package/dist/esm-es5/sqm-big-stat.entry.js +1 -1
- package/dist/esm-es5/sqm-brand_39.entry.js +1 -1
- package/dist/esm-es5/sqm-card-feed-view-cdd1f818.js +1 -0
- package/dist/esm-es5/sqm-card-feed.entry.js +1 -1
- package/dist/esm-es5/{sqm-leaderboard-rank-view-cd1e8962.js → sqm-leaderboard-rank-view-95e6fb4f.js} +1 -1
- package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
- package/dist/esm-es5/{sqm-portal-email-verification-view-2af31979.js → sqm-portal-email-verification-view-71eb8adb.js} +1 -1
- package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
- package/dist/esm-es5/{sqm-portal-footer-view-60cd9ae5.js → sqm-portal-footer-view-5cb00c4e.js} +1 -1
- package/dist/esm-es5/sqm-portal-footer.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-profile-view-864dd5b5.js +1 -0
- package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
- package/dist/esm-es5/{sqm-program-explainer-step-view-7c0d5f71.js → sqm-program-explainer-step-view-e2b39225.js} +1 -1
- package/dist/esm-es5/sqm-program-explainer-step.entry.js +1 -1
- package/dist/esm-es5/{sqm-program-explainer-view-ab291eb4.js → sqm-program-explainer-view-f726f5ec.js} +1 -1
- package/dist/esm-es5/sqm-program-explainer.entry.js +1 -1
- package/dist/esm-es5/{useDemoBigStat-a0dd50ab.js → useDemoBigStat-acd4b73f.js} +1 -1
- package/dist/mint-components/global/styles.ts +5 -5
- package/dist/mint-components/mint-components.esm.js +1 -1
- package/dist/mint-components/mint-components.js +1 -1
- package/dist/mint-components/{p-bbb06296.entry.js → p-05de158b.entry.js} +1 -1
- package/dist/mint-components/p-0b7cc270.system.js +1 -0
- package/dist/mint-components/p-172e487a.system.entry.js +1 -0
- package/dist/mint-components/{p-759d3800.entry.js → p-26e63ecb.entry.js} +2 -2
- package/dist/mint-components/{p-376a0b37.js → p-35ee8cdf.js} +1 -1
- package/dist/mint-components/p-3e187434.system.js +1 -0
- package/dist/mint-components/{p-5001b2d1.system.js → p-5744f326.system.js} +1 -1
- package/dist/mint-components/p-5896caca.system.js +1 -0
- package/dist/mint-components/p-59cc7a26.system.entry.js +1 -0
- package/dist/mint-components/{p-8b523e73.entry.js → p-5b9a5dfa.entry.js} +1 -1
- package/dist/mint-components/{p-f79454fc.entry.js → p-69e273b4.entry.js} +1 -1
- package/dist/mint-components/p-6b8d51d6.entry.js +1 -0
- package/dist/mint-components/{p-0d0ec6fd.system.entry.js → p-6caa44e1.system.entry.js} +1 -1
- package/dist/mint-components/{p-0e95b67b.js → p-700f96f5.js} +1 -1
- package/dist/mint-components/{p-a8246a50.system.entry.js → p-71b6d552.system.entry.js} +1 -1
- package/dist/mint-components/{p-02dc36a4.system.js → p-7638bf48.system.js} +1 -1
- package/dist/mint-components/p-7798ebd4.js +1 -0
- package/dist/mint-components/{p-0e8ae7e3.system.js → p-79baab87.system.js} +1 -1
- package/dist/mint-components/p-7f6d37d8.entry.js +1 -0
- package/dist/mint-components/p-878ff4ca.entry.js +1 -0
- package/dist/mint-components/{p-4fc31af7.system.js → p-89d63744.system.js} +1 -1
- package/dist/mint-components/p-8c3d0392.system.entry.js +1 -0
- package/dist/mint-components/{p-8a261335.system.entry.js → p-8f58ce03.system.entry.js} +1 -1
- package/dist/mint-components/p-9a82ec56.entry.js +1 -0
- package/dist/mint-components/{p-21b4044a.entry.js → p-9bc12158.entry.js} +1 -1
- package/dist/mint-components/p-a3a5c48f.js +1 -0
- package/dist/mint-components/{p-2027edc0.system.entry.js → p-a424ac85.system.entry.js} +1 -1
- package/dist/mint-components/{p-1f95b411.js → p-a72143af.js} +1 -1
- package/dist/mint-components/p-b0d598db.system.entry.js +1 -0
- package/dist/mint-components/p-b11625ed.system.entry.js +1 -0
- package/dist/mint-components/p-b2cbbcce.system.js +1 -0
- package/dist/mint-components/p-ba1f4bf4.system.entry.js +1 -0
- package/dist/mint-components/{p-f8f125a7.system.js → p-bb7fd343.system.js} +1 -1
- package/dist/mint-components/{p-11cd0656.js → p-bd0887fb.js} +1 -1
- package/dist/mint-components/{p-72a5a051.system.entry.js → p-bffad7b3.system.entry.js} +1 -1
- package/dist/mint-components/p-c3d0b165.entry.js +1 -0
- package/dist/mint-components/p-c4a8c149.system.entry.js +1 -0
- package/dist/mint-components/{p-046c45b1.entry.js → p-c61028b0.entry.js} +1 -1
- package/dist/mint-components/{p-f7f87338.js → p-cd0ff606.js} +1 -1
- package/dist/mint-components/{p-8fd8682c.js → p-d793d269.js} +1 -1
- package/dist/mint-components/{p-4b719313.js → p-da46fc91.js} +1 -1
- package/dist/mint-components/{p-2e63dcfd.system.js → p-f47bf492.system.js} +1 -1
- package/dist/mint-components/p-ff74bee4.entry.js +372 -0
- package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +6 -0
- package/dist/types/components/sqm-card-feed/sqm-card-feed-view.d.ts +2 -1
- package/dist/types/components/sqm-card-feed/sqm-card-feed.d.ts +3 -4
- package/dist/types/components/sqm-portal-container/PortalContainer.stories.d.ts +2 -0
- package/dist/types/components/sqm-portal-container/sqm-portal-container-view.d.ts +1 -0
- package/dist/types/components/sqm-portal-container/sqm-portal-container.d.ts +4 -0
- package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +6 -0
- package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.d.ts +1 -0
- package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +10 -0
- package/dist/types/components/sqm-portal-forgot-password/usePortalForgotPassword.d.ts +3 -1
- package/dist/types/components/sqm-portal-login/sqm-portal-login-view.d.ts +2 -0
- package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +8 -0
- package/dist/types/components/sqm-portal-login/usePortalLogin.d.ts +3 -3
- package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +1 -0
- package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +10 -0
- package/dist/types/components/sqm-portal-register/usePortalRegister.d.ts +1 -0
- package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +8 -0
- package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +8 -0
- package/dist/types/components/sqm-portal-verify-email/usePortalVerifyEmail.d.ts +2 -1
- package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +143 -88
- package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +21 -0
- package/dist/types/components/sqm-share-button/ShareButton.stories.d.ts +2 -0
- package/dist/types/components/sqm-share-button/sqm-share-button-view.d.ts +3 -0
- package/dist/types/components/sqm-share-button/sqm-share-button.d.ts +12 -0
- package/dist/types/components/sqm-task-card/progress-bar/SVGs.d.ts +1 -1
- package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +4 -0
- package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +22 -0
- package/dist/types/components/sqm-user-name/sqm-user-name.d.ts +1 -1
- package/dist/types/components.d.ts +212 -8
- package/dist/types/global/styles.d.ts +1 -1
- package/grapesjs/grapesjs.js +1 -1
- package/package.json +2 -1
- package/dist/cjs/sqm-card-feed-view-ec75fafc.js +0 -36
- package/dist/esm/sqm-card-feed-view-81f93bc7.js +0 -34
- package/dist/esm-es5/sqm-card-feed-view-81f93bc7.js +0 -1
- package/dist/esm-es5/sqm-portal-profile-view-ba06e776.js +0 -1
- package/dist/mint-components/p-20c95798.entry.js +0 -1
- package/dist/mint-components/p-3f5aa202.system.js +0 -1
- package/dist/mint-components/p-4658d225.system.entry.js +0 -1
- package/dist/mint-components/p-5939212e.system.entry.js +0 -1
- package/dist/mint-components/p-6f498a6b.system.entry.js +0 -1
- package/dist/mint-components/p-77b5a0a4.js +0 -1
- package/dist/mint-components/p-7cdbe82a.entry.js +0 -1
- package/dist/mint-components/p-8a714f3f.js +0 -1
- package/dist/mint-components/p-91fde765.system.js +0 -1
- package/dist/mint-components/p-9608ce17.system.entry.js +0 -1
- package/dist/mint-components/p-9dd76aed.system.entry.js +0 -1
- package/dist/mint-components/p-9ef3c3bc.entry.js +0 -372
- package/dist/mint-components/p-a88a08bb.system.js +0 -1
- package/dist/mint-components/p-a9a6f205.entry.js +0 -1
- package/dist/mint-components/p-b86cbac3.system.entry.js +0 -1
- package/dist/mint-components/p-c65cfc9d.system.js +0 -1
- package/dist/mint-components/p-e36ff7fa.entry.js +0 -1
- package/dist/mint-components/p-ed696e43.entry.js +0 -1
- package/dist/mint-components/p-ef7f70f2.system.entry.js +0 -1
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { h } from './index-17b4da69.js';
|
|
2
|
+
import { j as jss, c as create } from './jss-preset-default.esm-71fae192.js';
|
|
3
|
+
|
|
4
|
+
const DEFAULT_MAX_COL_WIDTH = 500;
|
|
5
|
+
const DEFAULT_COLS = "auto";
|
|
6
|
+
const DEFAULT_DEBOUNCE_MS = 300;
|
|
7
|
+
const DEFAULT_GAP_PX = 24;
|
|
8
|
+
const COL_COUNT_CSS_VAR_NAME = `--_masonry-layout-col-count`;
|
|
9
|
+
const GAP_CSS_VAR_NAME = `--_masonry-layout-gap`;
|
|
10
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
|
|
11
|
+
const ELEMENT_NODE_TYPE = 1;
|
|
12
|
+
const DEBOUNCE_MAP = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Returns a number attribute from an element.
|
|
15
|
+
* @param $elem
|
|
16
|
+
* @param name
|
|
17
|
+
* @param defaultValue
|
|
18
|
+
*/
|
|
19
|
+
function getNumberAttribute($elem, name, defaultValue) {
|
|
20
|
+
const value = parseFloat($elem.getAttribute(name) || "");
|
|
21
|
+
return isNaN(value) ? defaultValue : value;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Returns the amount of cols that the masonry grid should have.
|
|
25
|
+
* @param totalWidth
|
|
26
|
+
* @param cols
|
|
27
|
+
* @param maxColWidth
|
|
28
|
+
*/
|
|
29
|
+
function getColCount(totalWidth, cols, maxColWidth) {
|
|
30
|
+
return isNaN(cols)
|
|
31
|
+
? Math.max(1, Math.ceil(totalWidth / maxColWidth))
|
|
32
|
+
: cols;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Debounces a function.
|
|
36
|
+
* @param cb
|
|
37
|
+
* @param ms
|
|
38
|
+
* @param id
|
|
39
|
+
*/
|
|
40
|
+
function debounce(cb, ms, id) {
|
|
41
|
+
const existingTimeout = DEBOUNCE_MAP.get(id);
|
|
42
|
+
if (existingTimeout != null)
|
|
43
|
+
window.clearTimeout(existingTimeout);
|
|
44
|
+
DEBOUNCE_MAP.set(id, window.setTimeout(cb, ms));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns the index of the column with the smallest height.
|
|
48
|
+
* @param colHeights
|
|
49
|
+
*/
|
|
50
|
+
function findSmallestColIndex(colHeights) {
|
|
51
|
+
let smallestIndex = 0;
|
|
52
|
+
let smallestHeight = Infinity;
|
|
53
|
+
colHeights.forEach((height, i) => {
|
|
54
|
+
if (height < smallestHeight) {
|
|
55
|
+
smallestHeight = height;
|
|
56
|
+
smallestIndex = i;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return smallestIndex;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Template for the masonry layout.
|
|
64
|
+
* Max width of each column is computed as the width in percentage of
|
|
65
|
+
* the column minus the total with of the gaps divided between each column.
|
|
66
|
+
*/
|
|
67
|
+
const $template = document.createElement("template");
|
|
68
|
+
$template.innerHTML = `
|
|
69
|
+
<style>
|
|
70
|
+
:host {
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: flex-start;
|
|
73
|
+
justify-content: stretch;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.column {
|
|
77
|
+
max-width: calc((100% / var(${COL_COUNT_CSS_VAR_NAME}, 1) - ((var(${GAP_CSS_VAR_NAME}, ${DEFAULT_GAP_PX}px) * (var(${COL_COUNT_CSS_VAR_NAME}, 1) - 1) / var(${COL_COUNT_CSS_VAR_NAME}, 1)))));
|
|
78
|
+
width: 100%;
|
|
79
|
+
flex: 1;
|
|
80
|
+
display: flex;
|
|
81
|
+
flex-direction: column;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.column:not(:last-child) {
|
|
85
|
+
margin-right: var(${GAP_CSS_VAR_NAME}, ${DEFAULT_GAP_PX}px);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.column ::slotted(*) {
|
|
89
|
+
margin-bottom: var(${GAP_CSS_VAR_NAME}, ${DEFAULT_GAP_PX}px);
|
|
90
|
+
box-sizing: border-box;
|
|
91
|
+
width: 100%;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Hide the items that has not yet found the correct slot */
|
|
95
|
+
#unset-items {
|
|
96
|
+
opacity: 0;
|
|
97
|
+
position: absolute;
|
|
98
|
+
pointer-events: none;
|
|
99
|
+
}
|
|
100
|
+
</style>
|
|
101
|
+
<div id="unset-items">
|
|
102
|
+
<slot></slot>
|
|
103
|
+
</div>
|
|
104
|
+
`;
|
|
105
|
+
// Use polyfill only in browsers that lack native Shadow DOM.
|
|
106
|
+
window.ShadyCSS && window.ShadyCSS.prepareTemplateStyles($template, "masonry-layout");
|
|
107
|
+
/**
|
|
108
|
+
* Masonry layout web component. It places the slotted elements in the optimal position based
|
|
109
|
+
* on the available vertical space, just like mason fitting stones in a wall.
|
|
110
|
+
* @example <masonry-layout><div class="item"></div><div class="item"></div></masonry-layout>
|
|
111
|
+
* @csspart column - Each column of the masonry layout.
|
|
112
|
+
* @csspart column-index - The specific column at the given index (eg. column-0 would target the first column and so on)
|
|
113
|
+
* @slot - Items that should be distributed in the layout.
|
|
114
|
+
*/
|
|
115
|
+
class MasonryLayout extends HTMLElement {
|
|
116
|
+
/**
|
|
117
|
+
* Attach the shadow DOM.
|
|
118
|
+
*/
|
|
119
|
+
constructor() {
|
|
120
|
+
super();
|
|
121
|
+
// Unique debounce ID so different masonry layouts on one page won't affect eachother
|
|
122
|
+
this.debounceId = `layout_${Math.random()}`;
|
|
123
|
+
// Resize observer that layouts when necessary
|
|
124
|
+
this.ro = undefined;
|
|
125
|
+
// The current request animation frame callback
|
|
126
|
+
this.currentRequestAnimationFrameCallback = undefined;
|
|
127
|
+
const shadow = this.attachShadow({ mode: "open" });
|
|
128
|
+
shadow.appendChild($template.content.cloneNode(true));
|
|
129
|
+
this.onSlotChange = this.onSlotChange.bind(this);
|
|
130
|
+
this.onResize = this.onResize.bind(this);
|
|
131
|
+
this.layout = this.layout.bind(this);
|
|
132
|
+
this.$unsetElementsSlot = this.shadowRoot.querySelector("#unset-items > slot");
|
|
133
|
+
}
|
|
134
|
+
// The observed attributes.
|
|
135
|
+
// Whenever one of these changes we need to update the layout.
|
|
136
|
+
static get observedAttributes() {
|
|
137
|
+
return ["maxcolwidth", "gap", "cols"];
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* The maximum width of each column if cols are set to auto.
|
|
141
|
+
* @attr maxcolwidth
|
|
142
|
+
* @param v
|
|
143
|
+
*/
|
|
144
|
+
set maxColWidth(v) {
|
|
145
|
+
this.setAttribute("maxcolwidth", v.toString());
|
|
146
|
+
}
|
|
147
|
+
get maxColWidth() {
|
|
148
|
+
return getNumberAttribute(this, "maxcolwidth", DEFAULT_MAX_COL_WIDTH);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* The amount of columns.
|
|
152
|
+
* @attr cols
|
|
153
|
+
* @param v
|
|
154
|
+
*/
|
|
155
|
+
set cols(v) {
|
|
156
|
+
this.setAttribute("cols", v.toString());
|
|
157
|
+
}
|
|
158
|
+
get cols() {
|
|
159
|
+
return getNumberAttribute(this, "cols", DEFAULT_COLS);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* The gap in pixels between the columns.
|
|
163
|
+
* @attr gap
|
|
164
|
+
* @param v
|
|
165
|
+
*/
|
|
166
|
+
set gap(v) {
|
|
167
|
+
this.setAttribute("gap", v.toString());
|
|
168
|
+
}
|
|
169
|
+
get gap() {
|
|
170
|
+
return getNumberAttribute(this, "gap", DEFAULT_GAP_PX);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* The ms of debounce when the element resizes.
|
|
174
|
+
* @attr debounce
|
|
175
|
+
* @param v
|
|
176
|
+
*/
|
|
177
|
+
set debounce(v) {
|
|
178
|
+
this.setAttribute("debounce", v.toString());
|
|
179
|
+
}
|
|
180
|
+
get debounce() {
|
|
181
|
+
return getNumberAttribute(this, "debounce", DEFAULT_DEBOUNCE_MS);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The column elements.
|
|
185
|
+
*/
|
|
186
|
+
get $columns() {
|
|
187
|
+
return Array.from(this.shadowRoot.querySelectorAll(`.column`));
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Hook up event listeners when added to the DOM.
|
|
191
|
+
*/
|
|
192
|
+
connectedCallback() {
|
|
193
|
+
this.$unsetElementsSlot.addEventListener("slotchange", this.onSlotChange);
|
|
194
|
+
// Attach resize observer so we can relayout eachtime the size changes
|
|
195
|
+
if ("ResizeObserver" in window) {
|
|
196
|
+
this.ro = new ResizeObserver(this.onResize);
|
|
197
|
+
this.ro.observe(this);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
window.addEventListener("resize", this.onResize);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Remove event listeners when removed from the DOM.
|
|
205
|
+
*/
|
|
206
|
+
disconnectedCallback() {
|
|
207
|
+
this.$unsetElementsSlot.removeEventListener("slotchange", this.onSlotChange);
|
|
208
|
+
window.removeEventListener("resize", this.onResize);
|
|
209
|
+
if (this.ro != null) {
|
|
210
|
+
this.ro.unobserve(this);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Updates the layout when one of the observed attributes changes.
|
|
215
|
+
*/
|
|
216
|
+
attributeChangedCallback(name) {
|
|
217
|
+
switch (name) {
|
|
218
|
+
case "gap":
|
|
219
|
+
this.style.setProperty(GAP_CSS_VAR_NAME, `${this.gap}px`);
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
// Recalculate the layout
|
|
223
|
+
this.scheduleLayout();
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
*
|
|
227
|
+
*/
|
|
228
|
+
onSlotChange() {
|
|
229
|
+
// Grab unset elements
|
|
230
|
+
const $unsetElements = (this.$unsetElementsSlot.assignedNodes() || [])
|
|
231
|
+
.filter(node => node.nodeType === ELEMENT_NODE_TYPE);
|
|
232
|
+
// If there are more items not yet set layout straight awy to avoid the item being delayed in its render.
|
|
233
|
+
if ($unsetElements.length > 0) {
|
|
234
|
+
this.layout();
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Each time the element resizes we need to schedule a layout
|
|
239
|
+
* if the amount available columns has has changed.
|
|
240
|
+
* @param entries
|
|
241
|
+
*/
|
|
242
|
+
onResize(entries) {
|
|
243
|
+
// Grab the width of the element. If it isn't provided by the resize observer entry
|
|
244
|
+
// we compute it ourselves by looking at the offset width of the element.
|
|
245
|
+
const { width } = entries != null && Array.isArray(entries) && entries.length > 0
|
|
246
|
+
? entries[0].contentRect : { width: this.offsetWidth };
|
|
247
|
+
// Get the amount of columns we should have
|
|
248
|
+
const colCount = getColCount(width, this.cols, this.maxColWidth);
|
|
249
|
+
// Compare the amount of columns we should have to the current amount of columns.
|
|
250
|
+
// Schedule a layout if they are no longer the same.
|
|
251
|
+
if (colCount !== this.$columns.length) {
|
|
252
|
+
this.scheduleLayout();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Render X amount of columns.
|
|
257
|
+
* @param colCount
|
|
258
|
+
*/
|
|
259
|
+
renderCols(colCount) {
|
|
260
|
+
// Get the current columns
|
|
261
|
+
const $columns = this.$columns;
|
|
262
|
+
// If the amount of columns is correct we don't have to add new columns.
|
|
263
|
+
if ($columns.length === colCount) {
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
// Remove all of the current columns
|
|
267
|
+
for (const $column of $columns) {
|
|
268
|
+
$column.parentNode && $column.parentNode.removeChild($column);
|
|
269
|
+
}
|
|
270
|
+
// Add some new columns
|
|
271
|
+
for (let i = 0; i < colCount; i++) {
|
|
272
|
+
// Create a column element
|
|
273
|
+
const $column = document.createElement(`div`);
|
|
274
|
+
$column.classList.add(`column`);
|
|
275
|
+
$column.setAttribute(`part`, `column column-${i}`);
|
|
276
|
+
// Add a slot with the name set to the index of the column
|
|
277
|
+
const $slot = document.createElement(`slot`);
|
|
278
|
+
$slot.setAttribute(`name`, i.toString());
|
|
279
|
+
// Append the slot to the column an the column to the shadow root.
|
|
280
|
+
$column.appendChild($slot);
|
|
281
|
+
this.shadowRoot.appendChild($column);
|
|
282
|
+
}
|
|
283
|
+
// Set the column count so we can compute the correct width of the columns
|
|
284
|
+
this.style.setProperty(COL_COUNT_CSS_VAR_NAME, colCount.toString());
|
|
285
|
+
// Commit the changes for ShadyCSS
|
|
286
|
+
window.ShadyCSS && window.ShadyCSS.styleElement(this);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Schedules a layout.
|
|
290
|
+
* @param ms
|
|
291
|
+
*/
|
|
292
|
+
scheduleLayout(ms = this.debounce) {
|
|
293
|
+
debounce(this.layout, ms, this.debounceId);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Layouts the elements.
|
|
297
|
+
*/
|
|
298
|
+
layout() {
|
|
299
|
+
// Cancel the current animation frame callback
|
|
300
|
+
if (this.currentRequestAnimationFrameCallback != null) {
|
|
301
|
+
window.cancelAnimationFrame(this.currentRequestAnimationFrameCallback);
|
|
302
|
+
}
|
|
303
|
+
// Layout in the next animationframe
|
|
304
|
+
this.currentRequestAnimationFrameCallback = requestAnimationFrame(() => {
|
|
305
|
+
// console.time("layout");
|
|
306
|
+
// Compute relevant values we are going to use for layouting the elements.
|
|
307
|
+
const gap = this.gap;
|
|
308
|
+
const $elements = Array.from(this.children)
|
|
309
|
+
.filter(node => node.nodeType === ELEMENT_NODE_TYPE);
|
|
310
|
+
const colCount = getColCount(this.offsetWidth, this.cols, this.maxColWidth);
|
|
311
|
+
// Have an array that keeps track of the highest col height.
|
|
312
|
+
const colHeights = Array(colCount).fill(0);
|
|
313
|
+
// Instead of interleaving reads and writes we create an array for all writes so we can batch them at once.
|
|
314
|
+
const writes = [];
|
|
315
|
+
// Go through all elements and figure out what column (aka slot) they should be put in.
|
|
316
|
+
// We only do reads in this for loop and postpone the writes
|
|
317
|
+
for (const $elem of $elements) {
|
|
318
|
+
// Read the height of the element
|
|
319
|
+
const height = $elem.getBoundingClientRect().height;
|
|
320
|
+
// Find the currently smallest column
|
|
321
|
+
let smallestColIndex = findSmallestColIndex(colHeights);
|
|
322
|
+
// Add the height of the item and the gap to the column heights.
|
|
323
|
+
// It is very important we add the gap since the more elements we have,
|
|
324
|
+
// the bigger the role the margins play when computing the actual height of the columns.
|
|
325
|
+
colHeights[smallestColIndex] += height + gap;
|
|
326
|
+
// Set the slot on the element to get the element to the correct column.
|
|
327
|
+
// Only do it if the slot has actually changed.
|
|
328
|
+
const newSlot = smallestColIndex.toString();
|
|
329
|
+
if ($elem.slot !== newSlot) {
|
|
330
|
+
writes.push(() => ($elem.slot = newSlot));
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
// Batch all the writes at once
|
|
334
|
+
for (const write of writes) {
|
|
335
|
+
write();
|
|
336
|
+
}
|
|
337
|
+
// Render the columns
|
|
338
|
+
this.renderCols(colCount);
|
|
339
|
+
// Commit the changes for ShadyCSS
|
|
340
|
+
window.ShadyCSS && window.ShadyCSS.styleElement(this);
|
|
341
|
+
// console.timeEnd("layout");
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
customElements.define("masonry-layout", MasonryLayout);
|
|
346
|
+
|
|
347
|
+
function CardFeedView(props, children) {
|
|
348
|
+
const style = {
|
|
349
|
+
Container: {
|
|
350
|
+
columnGap: props.gap + "px",
|
|
351
|
+
columnWidth: props.width + "px",
|
|
352
|
+
"& > div": {
|
|
353
|
+
// display: "inline-block!important",
|
|
354
|
+
marginBottom: "24px",
|
|
355
|
+
},
|
|
356
|
+
},
|
|
357
|
+
};
|
|
358
|
+
jss.setup(create());
|
|
359
|
+
const sheet = jss.createStyleSheet(style);
|
|
360
|
+
const styleString = sheet.toString();
|
|
361
|
+
console.log(props);
|
|
362
|
+
return (h("div", null,
|
|
363
|
+
h("style", { type: "text/css" }, styleString),
|
|
364
|
+
h("div", { class: sheet.classes.Container }, children)));
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
export { CardFeedView as C };
|
|
@@ -2,7 +2,7 @@ import { r as registerInstance, h as h$1 } from './index-17b4da69.js';
|
|
|
2
2
|
import { m as h } from './extends-3a3f9fe2.js';
|
|
3
3
|
import './jss-preset-default.esm-71fae192.js';
|
|
4
4
|
import { g as getProps } from './utils-454405f5.js';
|
|
5
|
-
import { C as CardFeedView } from './sqm-card-feed-view-
|
|
5
|
+
import { C as CardFeedView } from './sqm-card-feed-view-cdd1f818.js';
|
|
6
6
|
|
|
7
7
|
const CardFeed = class {
|
|
8
8
|
constructor(hostRef) {
|
|
@@ -13,11 +13,10 @@ const CardFeed = class {
|
|
|
13
13
|
*/
|
|
14
14
|
this.width = 347;
|
|
15
15
|
/**
|
|
16
|
-
* @uiName
|
|
17
|
-
* @uiType
|
|
18
|
-
* @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
|
|
16
|
+
* @uiName Column Gap
|
|
17
|
+
* @uiType number
|
|
19
18
|
*/
|
|
20
|
-
this.gap =
|
|
19
|
+
this.gap = 24;
|
|
21
20
|
h(this);
|
|
22
21
|
}
|
|
23
22
|
disconnectedCallback() { }
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { r as registerInstance, h as h$1 } from './index-17b4da69.js';
|
|
2
2
|
import { m as h } from './extends-3a3f9fe2.js';
|
|
3
|
-
import { i as intl, c as createIntl } from './global-
|
|
3
|
+
import { i as intl, c as createIntl } from './global-1c68ff6e.js';
|
|
4
4
|
import './use-callback-b38a1523.js';
|
|
5
5
|
import { M, n as ne, c as cn, j } from './index.module-eb50a8d2.js';
|
|
6
6
|
import { c as cjs } from './cjs-bdfb4486.js';
|
|
7
|
-
import { g as gql, L as LeaderboardRankView } from './sqm-leaderboard-rank-view-
|
|
7
|
+
import { g as gql, L as LeaderboardRankView } from './sqm-leaderboard-rank-view-95e6fb4f.js';
|
|
8
8
|
|
|
9
9
|
const GET_RANK = gql `
|
|
10
10
|
query ($type: String!, $filter: UserLeaderboardFilterInput) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from './index-17b4da69.js';
|
|
2
|
-
import { i as intl } from './global-
|
|
2
|
+
import { i as intl } from './global-1c68ff6e.js';
|
|
3
3
|
import { j as jss, c as create } from './jss-preset-default.esm-71fae192.js';
|
|
4
4
|
import { A as AuthWrapper, a as AuthColumn } from './mixins-10353a39.js';
|
|
5
5
|
import { T as TextSpanView } from './sqm-text-span-view-1781df94.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { r as registerInstance, h as h$1 } from './index-17b4da69.js';
|
|
2
2
|
import { j as useState, e as useEffect, m as h } from './extends-3a3f9fe2.js';
|
|
3
|
-
import './global-
|
|
3
|
+
import './global-1c68ff6e.js';
|
|
4
4
|
import './use-callback-b38a1523.js';
|
|
5
5
|
import { i as an, n as ne, j } from './index.module-eb50a8d2.js';
|
|
6
6
|
import './jss-preset-default.esm-71fae192.js';
|
|
7
7
|
import { c as cjs } from './cjs-bdfb4486.js';
|
|
8
8
|
import './mixins-10353a39.js';
|
|
9
9
|
import './sqm-text-span-view-1781df94.js';
|
|
10
|
-
import { P as PortalEmailVerificationView } from './sqm-portal-email-verification-view-
|
|
10
|
+
import { P as PortalEmailVerificationView } from './sqm-portal-email-verification-view-71eb8adb.js';
|
|
11
11
|
|
|
12
12
|
function usePortalEmailVerification(props) {
|
|
13
13
|
var _a, _b, _c, _d, _e;
|
|
@@ -23,7 +23,8 @@ function usePortalEmailVerification(props) {
|
|
|
23
23
|
return;
|
|
24
24
|
setError("");
|
|
25
25
|
const urlParams = nextPage ? { nextPage } : null;
|
|
26
|
-
const
|
|
26
|
+
const redirectPath = props.redirectPath;
|
|
27
|
+
const variables = { email, urlParams, redirectPath };
|
|
27
28
|
await request(variables);
|
|
28
29
|
};
|
|
29
30
|
useEffect(() => {
|
|
@@ -59,6 +60,12 @@ const PortalEmailVerification = class {
|
|
|
59
60
|
constructor(hostRef) {
|
|
60
61
|
registerInstance(this, hostRef);
|
|
61
62
|
this.ignored = true;
|
|
63
|
+
/**
|
|
64
|
+
* The page that users are redirected to from the verification email.
|
|
65
|
+
*
|
|
66
|
+
* @uiName Email redirection base path
|
|
67
|
+
*/
|
|
68
|
+
this.redirectPath = "/verifyEmail";
|
|
62
69
|
/**
|
|
63
70
|
* @uiName Email verification header text
|
|
64
71
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from './index-17b4da69.js';
|
|
2
|
-
import { i as intl } from './global-
|
|
2
|
+
import { i as intl } from './global-1c68ff6e.js';
|
|
3
3
|
import { j as jss, c as create } from './jss-preset-default.esm-71fae192.js';
|
|
4
4
|
|
|
5
5
|
function PoweredByImg({ color = "#A6A6A6", width = 190, height = 29, }) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { r as registerInstance, h as h$1 } from './index-17b4da69.js';
|
|
2
2
|
import { m as h } from './extends-3a3f9fe2.js';
|
|
3
|
-
import './global-
|
|
3
|
+
import './global-1c68ff6e.js';
|
|
4
4
|
import './use-callback-b38a1523.js';
|
|
5
5
|
import './index.module-eb50a8d2.js';
|
|
6
6
|
import './jss-preset-default.esm-71fae192.js';
|
|
7
7
|
import { g as getProps } from './utils-454405f5.js';
|
|
8
|
-
import { a as PortalFooterView } from './sqm-portal-footer-view-
|
|
8
|
+
import { a as PortalFooterView } from './sqm-portal-footer-view-5cb00c4e.js';
|
|
9
9
|
|
|
10
10
|
const PortalFooter = class {
|
|
11
11
|
constructor(hostRef) {
|
|
@@ -9,7 +9,7 @@ import './mixins-10353a39.js';
|
|
|
9
9
|
import './sqm-text-span-view-1781df94.js';
|
|
10
10
|
import { P as PortalForgotPasswordView } from './sqm-portal-forgot-password-view-e3a6a716.js';
|
|
11
11
|
|
|
12
|
-
function usePortalForgotPassword() {
|
|
12
|
+
function usePortalForgotPassword(props) {
|
|
13
13
|
var _a, _b, _c, _d;
|
|
14
14
|
const [success, setSuccess] = useState(false);
|
|
15
15
|
const [error, setError] = useState("");
|
|
@@ -23,7 +23,8 @@ function usePortalForgotPassword() {
|
|
|
23
23
|
jsonpointer.set(formData, key, value);
|
|
24
24
|
});
|
|
25
25
|
const urlParams = nextPage ? { nextPage } : null;
|
|
26
|
-
const
|
|
26
|
+
const redirectPath = props.redirectPath;
|
|
27
|
+
const variables = { email: formData.email, urlParams, redirectPath };
|
|
27
28
|
await request(variables);
|
|
28
29
|
};
|
|
29
30
|
useEffect(() => {
|
|
@@ -42,6 +43,7 @@ function usePortalForgotPassword() {
|
|
|
42
43
|
loading,
|
|
43
44
|
error: ((_d = (_c = (_b = errors === null || errors === void 0 ? void 0 : errors.response) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.message) || error,
|
|
44
45
|
success,
|
|
46
|
+
loginPath: props.loginPath,
|
|
45
47
|
},
|
|
46
48
|
callbacks: {
|
|
47
49
|
submit,
|
|
@@ -53,6 +55,12 @@ const PortalForgotPassword = class {
|
|
|
53
55
|
constructor(hostRef) {
|
|
54
56
|
registerInstance(this, hostRef);
|
|
55
57
|
this.ignored = true;
|
|
58
|
+
/**
|
|
59
|
+
* The page that users are redirected to from the password reset email.
|
|
60
|
+
*
|
|
61
|
+
* @uiName Email redirection base path
|
|
62
|
+
*/
|
|
63
|
+
this.redirectPath = "/resetPassword";
|
|
56
64
|
/**
|
|
57
65
|
* @uiName Email label
|
|
58
66
|
*/
|
|
@@ -61,15 +69,19 @@ const PortalForgotPassword = class {
|
|
|
61
69
|
* @uiName Password reset button text
|
|
62
70
|
*/
|
|
63
71
|
this.submitLabel = "Request Password Reset";
|
|
72
|
+
/**
|
|
73
|
+
* @uiName Routing path to login page
|
|
74
|
+
*/
|
|
75
|
+
this.loginPath = "/login";
|
|
64
76
|
h(this);
|
|
65
77
|
}
|
|
66
78
|
disconnectedCallback() { }
|
|
67
79
|
render() {
|
|
68
80
|
const { states, callbacks } = j()
|
|
69
81
|
? usePortalForgotPasswordDemo(this)
|
|
70
|
-
: usePortalForgotPassword();
|
|
82
|
+
: usePortalForgotPassword(this);
|
|
71
83
|
const content = {
|
|
72
|
-
secondaryButton: (h$1("slot", { name: "secondaryButton" }, h$1("sl-button", { type: "text", disabled: states.loading, onClick: () => mn.push(
|
|
84
|
+
secondaryButton: (h$1("slot", { name: "secondaryButton" }, h$1("sl-button", { type: "text", disabled: states.loading, onClick: () => mn.push(states.loginPath) }, "Sign In"))),
|
|
73
85
|
messageSlot: (h$1("slot", { name: "messageSlot" }, "Enter your email below to receive a password reset link.")),
|
|
74
86
|
emailLabel: this.emailLabel,
|
|
75
87
|
submitLabel: this.submitLabel,
|
package/dist/esm/{sqm-portal-profile-view-ba06e776.js → sqm-portal-profile-view-864dd5b5.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from './index-17b4da69.js';
|
|
2
|
-
import { i as intl } from './global-
|
|
2
|
+
import { i as intl } from './global-1c68ff6e.js';
|
|
3
3
|
import { j as jss, c as create } from './jss-preset-default.esm-71fae192.js';
|
|
4
4
|
import { T as TextSpanView } from './sqm-text-span-view-1781df94.js';
|
|
5
5
|
|
|
@@ -12,12 +12,13 @@ function PortalContainerView(props, children) {
|
|
|
12
12
|
: "100%",
|
|
13
13
|
"grid-gap": `var(--sl-spacing-${props.gap})`,
|
|
14
14
|
padding: props.padding === "none" ? "0" : `var(--sl-spacing-${props.padding})`,
|
|
15
|
+
maxWidth: props.maxWidth ? props.maxWidth : "",
|
|
15
16
|
},
|
|
16
17
|
};
|
|
17
18
|
const vanillaStyle = `
|
|
18
19
|
:host{
|
|
19
20
|
width: 100%;
|
|
20
|
-
display:
|
|
21
|
+
display: block;
|
|
21
22
|
}`;
|
|
22
23
|
jss.setup(create());
|
|
23
24
|
const sheet = jss.createStyleSheet(style);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { r as registerInstance, h as h$1 } from './index-17b4da69.js';
|
|
2
2
|
import { j as useState, e as useEffect, m as h } from './extends-3a3f9fe2.js';
|
|
3
|
-
import './global-
|
|
3
|
+
import './global-1c68ff6e.js';
|
|
4
4
|
import './use-callback-b38a1523.js';
|
|
5
5
|
import { d as dist, n as ne, c as cn, D as De, j } from './index.module-eb50a8d2.js';
|
|
6
6
|
import './jss-preset-default.esm-71fae192.js';
|
|
7
7
|
import { g as getProps } from './utils-454405f5.js';
|
|
8
8
|
import { c as cjs } from './cjs-bdfb4486.js';
|
|
9
|
-
import { a as PortalProfileView } from './sqm-portal-profile-view-
|
|
9
|
+
import { a as PortalProfileView } from './sqm-portal-profile-view-864dd5b5.js';
|
|
10
10
|
import './sqm-text-span-view-1781df94.js';
|
|
11
11
|
|
|
12
12
|
const GET_USER = dist.gql `
|
|
@@ -41,7 +41,7 @@ function usePortalResetPassword(props) {
|
|
|
41
41
|
};
|
|
42
42
|
const failed = () => {
|
|
43
43
|
mn.push({
|
|
44
|
-
pathname:
|
|
44
|
+
pathname: props.failedPage,
|
|
45
45
|
search: urlParams.toString() && "?" + urlParams.toString(),
|
|
46
46
|
});
|
|
47
47
|
};
|
|
@@ -89,9 +89,17 @@ const PortalResetPassword = class {
|
|
|
89
89
|
registerInstance(this, hostRef);
|
|
90
90
|
this.ignored = true;
|
|
91
91
|
/**
|
|
92
|
+
* The page that users are redirected to when the password reset succeeds.
|
|
93
|
+
*
|
|
92
94
|
* @uiName Next page path
|
|
93
95
|
*/
|
|
94
96
|
this.nextPage = "/";
|
|
97
|
+
/**
|
|
98
|
+
* The page that users are redirected to if the reset fails due to outdated password reset attempt.
|
|
99
|
+
*
|
|
100
|
+
* @uiName Failed page redirection path
|
|
101
|
+
*/
|
|
102
|
+
this.failedPage = "/";
|
|
95
103
|
/**
|
|
96
104
|
* @uiName Show confirm password
|
|
97
105
|
*/
|
|
@@ -8,7 +8,7 @@ import './mixins-10353a39.js';
|
|
|
8
8
|
import './sqm-text-span-view-1781df94.js';
|
|
9
9
|
import { P as PortalVerifyEmailView } from './sqm-portal-verify-email-view-6f18bac2.js';
|
|
10
10
|
|
|
11
|
-
function usePortalVerifyEmail({ nextPage }) {
|
|
11
|
+
function usePortalVerifyEmail({ nextPage, failedPage }) {
|
|
12
12
|
var _a, _b, _c, _d, _e;
|
|
13
13
|
const [verified, setVerified] = useState(false);
|
|
14
14
|
const [disableContinue, setDisableContinue] = useState(true);
|
|
@@ -21,7 +21,7 @@ function usePortalVerifyEmail({ nextPage }) {
|
|
|
21
21
|
urlParams.delete("oobCode");
|
|
22
22
|
const failed = () => {
|
|
23
23
|
return mn.push({
|
|
24
|
-
pathname:
|
|
24
|
+
pathname: failedPage,
|
|
25
25
|
search: urlParams.toString() && "?" + urlParams.toString(),
|
|
26
26
|
});
|
|
27
27
|
};
|
|
@@ -92,9 +92,17 @@ const PortalVerifyEmail = class {
|
|
|
92
92
|
registerInstance(this, hostRef);
|
|
93
93
|
this.ignored = true;
|
|
94
94
|
/**
|
|
95
|
+
* The page that users are redirected to when the verification succeeds.
|
|
96
|
+
*
|
|
95
97
|
* @uiName Next page path
|
|
96
98
|
*/
|
|
97
99
|
this.nextPage = "/";
|
|
100
|
+
/**
|
|
101
|
+
* The page that users are redirected to if verification fails due to outdated verification attempt.
|
|
102
|
+
*
|
|
103
|
+
* @uiName Failed page redirection path
|
|
104
|
+
*/
|
|
105
|
+
this.failedPage = "/";
|
|
98
106
|
h(this);
|
|
99
107
|
}
|
|
100
108
|
disconnectedCallback() { }
|
|
@@ -11,14 +11,14 @@ function ProgramExplainerStepView(props) {
|
|
|
11
11
|
background: props.background,
|
|
12
12
|
padding: "var(--sl-spacing-large)",
|
|
13
13
|
paddingBottom: "var(--sl-spacing-xxx-large)",
|
|
14
|
-
"@media (max-width:
|
|
14
|
+
"@media (max-width: 499px)": {
|
|
15
15
|
flexDirection: "row",
|
|
16
16
|
width: "auto",
|
|
17
17
|
paddingBottom: "var(--sl-spacing-large)",
|
|
18
18
|
},
|
|
19
19
|
},
|
|
20
20
|
Text: {
|
|
21
|
-
"@media (max-width:
|
|
21
|
+
"@media (max-width: 499px)": {
|
|
22
22
|
marginLeft: "var(--sl-spacing-large)",
|
|
23
23
|
},
|
|
24
24
|
},
|
|
@@ -28,14 +28,14 @@ function ProgramExplainerStepView(props) {
|
|
|
28
28
|
fontWeight: "var(--sl-font-weight-bold)",
|
|
29
29
|
lineHeight: "var(--sl-line-height-dense)",
|
|
30
30
|
marginTop: "var(--sl-spacing-large)",
|
|
31
|
-
"@media (max-width:
|
|
31
|
+
"@media (max-width: 499px)": {
|
|
32
32
|
margin: "0",
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
Description: {
|
|
36
36
|
fontSize: "var(--sl-font-size-medium)",
|
|
37
37
|
marginTop: "var(--sl-spacing-small)",
|
|
38
|
-
"@media (max-width:
|
|
38
|
+
"@media (max-width: 499px)": {
|
|
39
39
|
marginTop: "var(--sl-spacing-x-small)",
|
|
40
40
|
},
|
|
41
41
|
},
|