@saasquatch/mint-components 1.4.0 → 1.5.0-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.
- package/CHANGELOG.md +24 -48
- package/dist/cjs/{ShadowViewAddon-e9bacad0.js → ShadowViewAddon-a85b8c8d.js} +3 -3
- package/dist/cjs/{global-0c01d88f.js → global-6223fe8f.js} +283 -71
- package/dist/cjs/{index.module-2925fe3b.js → index.module-7dd4b981.js} +18 -16
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/mint-components.cjs.js +3 -3
- package/dist/cjs/{re-render-b1ad512d.js → re-render-6111d4bd.js} +4 -4
- package/dist/cjs/sqm-asset-card.cjs.entry.js +1 -1
- package/dist/cjs/sqm-big-stat.cjs.entry.js +2 -2
- package/dist/cjs/{sqm-divided-layout_26.cjs.entry.js → sqm-divided-layout_30.cjs.entry.js} +9444 -3383
- package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +4 -4
- package/dist/cjs/{sqm-leaderboard-rank-view-48245b30.js → sqm-leaderboard-rank-view-7dd44d62.js} +2 -2
- package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +5 -5
- package/dist/cjs/sqm-leaderboard.cjs.entry.js +2 -2
- package/dist/cjs/sqm-name-fields.cjs.entry.js +1 -1
- package/dist/cjs/{sqm-navigation-sidebar-item-view-1bad646a.js → sqm-navigation-sidebar-item-view-6c7f78e6.js} +2 -2
- package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +3 -3
- package/dist/cjs/sqm-popup-container.cjs.entry.js +1 -1
- package/dist/cjs/{sqm-portal-email-verification-view-68b16f27.js → sqm-portal-email-verification-view-08d1848c.js} +1 -1
- package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +6 -13
- package/dist/cjs/{sqm-portal-footer-view-edeeebab.js → sqm-portal-footer-view-69c73802.js} +1 -1
- package/dist/cjs/sqm-portal-footer.cjs.entry.js +3 -3
- package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +6 -18
- package/dist/cjs/sqm-portal-logout.cjs.entry.js +3 -3
- package/dist/cjs/{sqm-portal-profile-view-2b48529e.js → sqm-portal-profile-view-14b41436.js} +1 -1
- package/dist/cjs/sqm-portal-profile.cjs.entry.js +6 -6
- package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +5 -5
- package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +6 -14
- package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +7 -15
- package/dist/cjs/sqm-referral-table-column.cjs.entry.js +2 -2
- package/dist/cjs/sqm-referral-table-date-column.cjs.entry.js +2 -2
- package/dist/cjs/sqm-referral-table-rewards-column.cjs.entry.js +2 -2
- package/dist/cjs/sqm-referral-table-status-column.cjs.entry.js +2 -2
- package/dist/cjs/sqm-referral-table-user-column.cjs.entry.js +2 -2
- package/dist/cjs/sqm-share-code.cjs.entry.js +3 -3
- package/dist/cjs/{useDemoBigStat-d7a60992.js → useDemoBigStat-2786227e.js} +121 -24
- package/dist/collection/collection-manifest.json +7 -3
- package/dist/collection/{stories → components/sqm-asset-card}/AssetCard.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-big-stat}/BigStat.stories.js +10 -3
- package/dist/collection/{stories → components/sqm-big-stat}/UseBigStat.stories.js +7 -4
- package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +1 -21
- package/dist/collection/components/sqm-big-stat/useBigStat.js +117 -21
- package/dist/collection/components/sqm-big-stat/useDemoBigStat.js +1 -0
- package/dist/collection/{stories → components/sqm-divided-layout}/DividedLayout.stories.js +4 -4
- package/dist/collection/{stories → components/sqm-edit-profile}/EditProfileForm.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-edit-profile}/UseEditProfile.stories.js +1 -1
- package/dist/collection/{stories → components/sqm-form-message}/FormMessage.stories.js +1 -1
- package/dist/collection/{stories → components/sqm-hero}/Hero.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-leaderboard}/Leaderboard.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.js +3 -3
- package/dist/collection/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-name-fields}/NameFields.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.js +3 -3
- package/dist/collection/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-password-field}/PasswordField.stories.js +1 -1
- package/dist/collection/{stories → components/sqm-portal-change-password}/ChangePassword.stories.js +3 -3
- package/dist/collection/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.js +3 -3
- package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +0 -27
- package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +1 -2
- package/dist/collection/{stories → components/sqm-portal-footer}/PortalFooter.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.js +3 -7
- package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +3 -55
- package/dist/collection/components/sqm-portal-forgot-password/usePortalForgotPassword.js +2 -4
- package/dist/collection/{stories → components/sqm-portal-frame}/PortalFrame.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-portal-login}/PortalLogin.stories.js +2 -8
- package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +4 -59
- package/dist/collection/components/sqm-portal-login/usePortalLogin.js +2 -4
- package/dist/collection/{stories → components/sqm-portal-profile}/PortalProfile.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-portal-register}/PortalRegister.stories.js +2 -7
- package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +2 -55
- package/dist/collection/components/sqm-portal-register/usePortalRegister.js +0 -3
- package/dist/collection/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.js +3 -3
- package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +1 -30
- package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +1 -1
- package/dist/collection/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.js +3 -3
- package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +1 -30
- package/dist/collection/components/sqm-portal-verify-email/usePortalVerifyEmail.js +2 -2
- package/dist/collection/{stories → components/sqm-program-menu}/ProgramMenu.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-referral-table}/ReferralTable.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableCell.stories.js +1 -1
- package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.js +1 -1
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-column.js +1 -1
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-date-column.js +1 -1
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.js +1 -1
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-status-column.js +1 -1
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-user-column.js +1 -1
- package/dist/collection/components/sqm-referral-table/useReferralTable.js +2 -2
- package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeList.stories.js +20 -0
- package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +228 -0
- package/dist/collection/components/sqm-reward-exchange-list/SVGs.js +24 -0
- package/dist/collection/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.js +143 -0
- package/dist/collection/components/sqm-reward-exchange-list/assets/Reward-icon.png +0 -0
- package/dist/collection/components/sqm-reward-exchange-list/assets/placeholder.png +0 -0
- package/dist/collection/components/sqm-reward-exchange-list/progressBar.js +64 -0
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +467 -0
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +144 -0
- package/dist/collection/components/sqm-reward-exchange-list/useRewardExchangeList.js +174 -0
- package/dist/collection/components/sqm-rewards-table/UseRewardsTable.stories.js +53 -0
- package/dist/collection/components/sqm-rewards-table/sqm-rewards-table-column.js +120 -0
- package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +222 -0
- package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +190 -0
- package/dist/collection/{stories → components/sqm-router}/Router.stories.js +1 -1
- package/dist/collection/{stories → components/sqm-share-button}/ShareButton.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-share-button}/UseShareButton.stories.js +2 -2
- package/dist/collection/components/sqm-share-button/sqm-share-button.js +1 -1
- package/dist/collection/{stories → components/sqm-share-link}/ShareLink.stories.js +2 -2
- package/dist/collection/{stories → components/sqm-share-link}/UseShareLink.stories.js +3 -3
- package/dist/collection/components/sqm-stencilbook/AutoColor.js +26 -0
- package/dist/collection/components/sqm-stencilbook/CucumberAddon.js +3 -1
- package/dist/collection/components/sqm-stencilbook/Matrix.js +66 -0
- package/dist/collection/components/sqm-stencilbook/Resizer.js +26 -0
- package/dist/collection/components/sqm-stencilbook/Themes.js +38 -0
- package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +87 -38
- package/dist/collection/components/sqm-task-card/SVGs.js +14 -0
- package/dist/collection/components/sqm-task-card/TaskCard.stories.js +416 -0
- package/dist/collection/components/sqm-task-card/UseTaskCard.stories.js +41 -0
- package/dist/collection/components/sqm-task-card/progress-bar/SVGs.js +8 -0
- package/dist/collection/components/sqm-task-card/progress-bar/progress-bar-view.js +333 -0
- package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +238 -0
- package/dist/collection/components/sqm-task-card/sqm-task-card.js +444 -0
- package/dist/collection/{stories → components/sqm-user-name}/UserName.stories.js +3 -3
- package/dist/collection/components/sqm-user-name/sqm-user-name.js +1 -1
- package/dist/collection/global/styles.js +281 -69
- package/dist/collection/global/styles.ts +281 -69
- package/dist/collection/stories/NewPortal.stories.js +15 -15
- package/dist/collection/tables/GenericTableView.js +51 -0
- package/dist/collection/tables/TableSlots.js +22 -0
- package/dist/collection/{components/sqm-referral-table → tables}/re-render.js +0 -0
- package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-cell.js +0 -0
- package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-row.js +0 -0
- package/dist/collection/{components/sqm-referral-table → tables}/useChildElements.js +0 -0
- package/dist/esm/{ShadowViewAddon-5f66de48.js → ShadowViewAddon-a3f510db.js} +3 -3
- package/dist/esm/{global-0fcfbedf.js → global-90da933f.js} +283 -71
- package/dist/esm/{index.module-1e92a7a3.js → index.module-90d2c3ad.js} +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mint-components.js +3 -3
- package/dist/esm/{re-render-b8468637.js → re-render-e06f2f7f.js} +4 -4
- package/dist/esm/sqm-asset-card.entry.js +1 -1
- package/dist/esm/sqm-big-stat.entry.js +2 -2
- package/dist/esm/{sqm-divided-layout_26.entry.js → sqm-divided-layout_30.entry.js} +9442 -3385
- package/dist/esm/sqm-graphql-client-provider.entry.js +4 -4
- package/dist/esm/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-47844836.js} +2 -2
- package/dist/esm/sqm-leaderboard-rank.entry.js +5 -5
- package/dist/esm/sqm-leaderboard.entry.js +2 -2
- package/dist/esm/sqm-name-fields.entry.js +1 -1
- package/dist/esm/{sqm-navigation-sidebar-item-view-a48bca9b.js → sqm-navigation-sidebar-item-view-f2304ad9.js} +2 -2
- package/dist/esm/sqm-navigation-sidebar-item.entry.js +3 -3
- package/dist/esm/sqm-popup-container.entry.js +1 -1
- package/dist/esm/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-8cefe480.js} +1 -1
- package/dist/esm/sqm-portal-email-verification.entry.js +6 -13
- package/dist/esm/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-d9fe0bf8.js} +1 -1
- package/dist/esm/sqm-portal-footer.entry.js +3 -3
- package/dist/esm/sqm-portal-forgot-password.entry.js +6 -18
- package/dist/esm/sqm-portal-logout.entry.js +3 -3
- package/dist/esm/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-b67467b4.js} +1 -1
- package/dist/esm/sqm-portal-profile.entry.js +6 -6
- package/dist/esm/sqm-portal-protected-route.entry.js +5 -5
- package/dist/esm/sqm-portal-reset-password.entry.js +8 -16
- package/dist/esm/sqm-portal-verify-email.entry.js +7 -15
- package/dist/esm/sqm-referral-table-column.entry.js +2 -2
- package/dist/esm/sqm-referral-table-date-column.entry.js +2 -2
- package/dist/esm/sqm-referral-table-rewards-column.entry.js +2 -2
- package/dist/esm/sqm-referral-table-status-column.entry.js +2 -2
- package/dist/esm/sqm-referral-table-user-column.entry.js +2 -2
- package/dist/esm/sqm-share-code.entry.js +3 -3
- package/dist/esm/{useDemoBigStat-5557504e.js → useDemoBigStat-c3b955b7.js} +121 -24
- package/dist/esm-es5/ShadowViewAddon-a3f510db.js +1 -0
- package/dist/esm-es5/{global-0fcfbedf.js → global-90da933f.js} +2 -2
- package/dist/esm-es5/{index.module-1e92a7a3.js → index.module-90d2c3ad.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mint-components.js +1 -1
- package/dist/esm-es5/{re-render-b8468637.js → re-render-e06f2f7f.js} +1 -1
- package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
- package/dist/esm-es5/sqm-big-stat.entry.js +1 -1
- package/dist/esm-es5/sqm-divided-layout_30.entry.js +58 -0
- package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
- package/dist/esm-es5/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-47844836.js} +1 -1
- package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
- package/dist/esm-es5/sqm-leaderboard.entry.js +1 -1
- package/dist/esm-es5/sqm-name-fields.entry.js +1 -1
- package/dist/esm-es5/sqm-navigation-sidebar-item-view-f2304ad9.js +1 -0
- package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
- package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
- package/dist/esm-es5/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-8cefe480.js} +1 -1
- package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
- package/dist/esm-es5/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-d9fe0bf8.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-logout.entry.js +1 -1
- package/dist/esm-es5/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-b67467b4.js} +1 -1
- package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-protected-route.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-referral-table-column.entry.js +1 -1
- package/dist/esm-es5/sqm-referral-table-date-column.entry.js +1 -1
- package/dist/esm-es5/sqm-referral-table-rewards-column.entry.js +1 -1
- package/dist/esm-es5/sqm-referral-table-status-column.entry.js +1 -1
- package/dist/esm-es5/sqm-referral-table-user-column.entry.js +1 -1
- package/dist/esm-es5/sqm-share-code.entry.js +1 -1
- package/dist/esm-es5/useDemoBigStat-c3b955b7.js +1 -0
- package/dist/mint-components/assets/Reward-icon.png +0 -0
- package/dist/mint-components/assets/placeholder.png +0 -0
- package/dist/mint-components/global/styles.ts +281 -69
- package/dist/mint-components/mint-components.css +1 -0
- package/dist/mint-components/mint-components.esm.js +1 -1
- package/dist/mint-components/mint-components.js +1 -1
- package/dist/mint-components/{p-602180a2.system.js → p-07c924fa.system.js} +1 -1
- package/dist/mint-components/{p-51cfdd14.js → p-0eb3e89c.js} +1 -1
- package/dist/mint-components/p-160bd62f.entry.js +1 -0
- package/dist/mint-components/p-16f5a7cb.system.js +1 -0
- package/dist/mint-components/{p-6156a7ac.system.entry.js → p-1a09e4e1.system.entry.js} +1 -1
- package/dist/mint-components/p-1c8b0290.entry.js +1 -0
- package/dist/mint-components/p-1dcdca58.system.entry.js +1 -0
- package/dist/mint-components/p-20d41ab1.entry.js +1 -0
- package/dist/mint-components/{p-965e34ab.entry.js → p-221a4097.entry.js} +1 -1
- package/dist/mint-components/{p-9a3a0db5.system.entry.js → p-223b42bd.system.entry.js} +1 -1
- package/dist/mint-components/{p-af1f8bd3.js → p-224504ad.js} +1 -1
- package/dist/mint-components/{p-3772bae2.system.entry.js → p-24b3c6f0.system.entry.js} +1 -1
- package/dist/mint-components/{p-b3880833.system.entry.js → p-24c9a599.system.entry.js} +1 -1
- package/dist/mint-components/{p-6cb81b77.entry.js → p-29fab29b.entry.js} +1 -1
- package/dist/mint-components/{p-8bfebd45.system.entry.js → p-304e6c82.system.entry.js} +1 -1
- package/dist/mint-components/{p-05a2640d.entry.js → p-3397167c.entry.js} +1 -1
- package/dist/mint-components/p-33c5ffb7.entry.js +1 -0
- package/dist/mint-components/{p-f16bae7a.system.entry.js → p-396bf448.system.entry.js} +1 -1
- package/dist/mint-components/p-3b97aed8.system.js +1 -0
- package/dist/mint-components/{p-3e3dad7a.system.js → p-3ce2fb83.system.js} +1 -1
- package/dist/mint-components/{p-10a98629.entry.js → p-3d856985.entry.js} +1 -1
- package/dist/mint-components/{p-2f333f89.system.entry.js → p-4052b948.system.entry.js} +1 -1
- package/dist/mint-components/{p-70ca623f.system.entry.js → p-412a9226.system.entry.js} +1 -1
- package/dist/mint-components/{p-9ff0425e.system.entry.js → p-44d0fc80.system.entry.js} +1 -1
- package/dist/mint-components/{p-528aecd1.entry.js → p-45c752a0.entry.js} +1 -1
- package/dist/mint-components/{p-d0cad85c.js → p-46a4269a.js} +2 -2
- package/dist/mint-components/{p-d55abc13.entry.js → p-52802c88.entry.js} +2 -2
- package/dist/mint-components/{p-86b66e5c.entry.js → p-5480e4ee.entry.js} +1 -1
- package/dist/mint-components/p-55508395.system.entry.js +1 -0
- package/dist/mint-components/{p-eddcf481.js → p-563253e8.js} +1 -1
- package/dist/mint-components/p-60855d33.system.js +1 -0
- package/dist/mint-components/{p-036c5a7e.system.entry.js → p-67ae18d1.system.entry.js} +1 -1
- package/dist/mint-components/{p-7d996b49.js → p-6882070c.js} +1 -1
- package/dist/mint-components/{p-09afaaac.system.entry.js → p-69bcf4fa.system.entry.js} +1 -1
- package/dist/mint-components/p-6bf0a4d9.system.entry.js +1 -0
- package/dist/mint-components/{p-624c5352.system.entry.js → p-6e245fa3.system.entry.js} +1 -1
- package/dist/mint-components/{p-05a86906.entry.js → p-723ebe45.entry.js} +2 -2
- package/dist/mint-components/{p-9ff118a2.system.entry.js → p-73148868.system.entry.js} +1 -1
- package/dist/mint-components/{p-b3cddcca.entry.js → p-8435a22d.entry.js} +1 -1
- package/dist/mint-components/p-883a32e7.entry.js +1 -0
- package/dist/mint-components/p-925ccb31.system.entry.js +58 -0
- package/dist/mint-components/p-9c554ca0.system.js +1 -0
- package/dist/mint-components/{p-743882c6.entry.js → p-9d6dbb2d.entry.js} +1 -1
- package/dist/mint-components/p-9e4fee30.system.entry.js +1 -0
- package/dist/mint-components/p-a2c3cff3.js +1 -0
- package/dist/mint-components/p-a4c2c7ed.entry.js +1 -0
- package/dist/mint-components/{p-3452bdae.system.js → p-a6094ff9.system.js} +1 -1
- package/dist/mint-components/p-ade44a4e.entry.js +1 -0
- package/dist/mint-components/{p-e50839df.entry.js → p-b1bb07db.entry.js} +1 -1
- package/dist/mint-components/{p-18aa175f.system.js → p-b608f7a4.system.js} +2 -2
- package/dist/mint-components/p-b8bd2607.entry.js +1 -0
- package/dist/mint-components/{p-337a3d6b.system.entry.js → p-be2738b0.system.entry.js} +1 -1
- package/dist/mint-components/{p-27e23808.system.js → p-c6114bfe.system.js} +1 -1
- package/dist/mint-components/{p-4068e47c.system.entry.js → p-c79c608d.system.entry.js} +1 -1
- package/dist/mint-components/p-cca9026f.system.entry.js +1 -0
- package/dist/mint-components/p-cd410a05.entry.js +9 -0
- package/dist/mint-components/{p-55210498.system.js → p-cdeae699.system.js} +1 -1
- package/dist/mint-components/p-d174d0bc.system.entry.js +1 -0
- package/dist/mint-components/{p-c84a5b33.js → p-d21e0dbd.js} +1 -1
- package/dist/mint-components/{p-af2d886e.js → p-d35b0366.js} +1 -1
- package/dist/mint-components/{p-d513229d.js → p-db2e4c42.js} +1 -1
- package/dist/mint-components/{p-991bd182.system.entry.js → p-dc603d08.system.entry.js} +1 -1
- package/dist/mint-components/{p-64759dda.system.js → p-e7f633b9.system.js} +1 -1
- package/dist/mint-components/{p-13605359.entry.js → p-f17050de.entry.js} +1 -1
- package/dist/mint-components/p-f90486ca.js +235 -0
- package/dist/mint-components/{p-cffc23c0.entry.js → p-fce1dbf6.entry.js} +1 -1
- package/dist/mint-components/p-fdb484a0.entry.js +392 -0
- package/dist/types/{stories → components/sqm-asset-card}/AssetCard.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-big-stat}/BigStat.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-big-stat}/UseBigStat.stories.d.ts +6 -0
- package/dist/types/components/sqm-big-stat/sqm-big-stat-view.d.ts +1 -0
- package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +0 -6
- package/dist/types/components/sqm-big-stat/useBigStat.d.ts +4 -1
- package/dist/types/{stories → components/sqm-divided-layout}/DividedLayout.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-edit-profile}/EditProfileForm.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-edit-profile}/UseEditProfile.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-form-message}/FormMessage.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-hero}/Hero.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-leaderboard}/Leaderboard.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-name-fields}/NameFields.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-password-field}/PasswordField.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-portal-change-password}/ChangePassword.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.d.ts +0 -0
- package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +0 -6
- package/dist/types/{stories → components/sqm-portal-footer}/PortalFooter.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.d.ts +0 -0
- package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.d.ts +0 -1
- package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +0 -10
- package/dist/types/components/sqm-portal-forgot-password/usePortalForgotPassword.d.ts +1 -3
- package/dist/types/{stories → components/sqm-portal-frame}/PortalFrame.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-portal-login}/PortalLogin.stories.d.ts +0 -0
- package/dist/types/components/sqm-portal-login/sqm-portal-login-view.d.ts +0 -2
- package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +0 -8
- package/dist/types/components/sqm-portal-login/usePortalLogin.d.ts +3 -3
- package/dist/types/{stories → components/sqm-portal-profile}/PortalProfile.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-portal-register}/PortalRegister.stories.d.ts +0 -0
- package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +0 -1
- package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +0 -10
- package/dist/types/components/sqm-portal-register/usePortalRegister.d.ts +0 -1
- package/dist/types/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.d.ts +0 -0
- package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +0 -8
- package/dist/types/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.d.ts +0 -0
- package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +0 -8
- package/dist/types/components/sqm-portal-verify-email/usePortalVerifyEmail.d.ts +1 -2
- package/dist/types/{stories → components/sqm-program-menu}/ProgramMenu.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-referral-table}/ReferralTable.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-referral-table}/ReferralTableCell.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.d.ts +0 -0
- package/dist/types/components/sqm-reward-exchange-list/RewardExchangeList.stories.d.ts +13 -0
- package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +234 -0
- package/dist/types/components/sqm-reward-exchange-list/SVGs.d.ts +4 -0
- package/dist/types/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.d.ts +28 -0
- package/dist/types/components/sqm-reward-exchange-list/progressBar.d.ts +4 -0
- package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.d.ts +25 -0
- package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +24 -0
- package/dist/types/components/sqm-reward-exchange-list/useRewardExchangeList.d.ts +43 -0
- package/dist/types/components/sqm-rewards-table/UseRewardsTable.stories.d.ts +16 -0
- package/dist/types/components/sqm-rewards-table/sqm-rewards-table-column.d.ts +20 -0
- package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +32 -0
- package/dist/types/components/sqm-rewards-table/useRewardsTable.d.ts +38 -0
- package/dist/types/{stories → components/sqm-router}/Router.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-share-button}/ShareButton.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-share-button}/UseShareButton.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-share-link}/ShareLink.stories.d.ts +0 -0
- package/dist/types/{stories → components/sqm-share-link}/UseShareLink.stories.d.ts +0 -0
- package/dist/types/components/sqm-stencilbook/AutoColor.d.ts +1 -0
- package/dist/types/components/sqm-stencilbook/Matrix.d.ts +11 -0
- package/dist/types/components/sqm-stencilbook/Resizer.d.ts +3 -0
- package/dist/types/components/sqm-stencilbook/Themes.d.ts +16 -0
- package/dist/types/components/sqm-task-card/SVGs.d.ts +3 -0
- package/dist/types/components/sqm-task-card/TaskCard.stories.d.ts +19 -0
- package/dist/types/components/sqm-task-card/UseTaskCard.stories.d.ts +10 -0
- package/dist/types/components/sqm-task-card/progress-bar/SVGs.d.ts +1 -0
- package/dist/types/components/sqm-task-card/progress-bar/progress-bar-view.d.ts +12 -0
- package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +18 -0
- package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +80 -0
- package/dist/types/components/sqm-user-name/UserName.stories.d.ts +6 -0
- package/dist/types/components/sqm-user-name/sqm-user-name.d.ts +1 -1
- package/dist/types/components.d.ts +297 -96
- package/dist/types/global/styles.d.ts +1 -1
- package/dist/types/tables/GenericTableView.d.ts +29 -0
- package/dist/types/tables/TableSlots.d.ts +8 -0
- package/dist/types/{components/sqm-referral-table → tables}/re-render.d.ts +0 -0
- package/dist/types/{components/sqm-referral-table → tables}/sqm-table-cell.d.ts +0 -0
- package/dist/types/{components/sqm-referral-table → tables}/sqm-table-row.d.ts +0 -0
- package/dist/types/{components/sqm-referral-table → tables}/useChildElements.d.ts +0 -0
- package/grapesjs/grapesjs.js +1 -1
- package/package.json +4 -2
- package/dist/esm-es5/ShadowViewAddon-5f66de48.js +0 -1
- package/dist/esm-es5/sqm-divided-layout_26.entry.js +0 -1
- package/dist/esm-es5/sqm-navigation-sidebar-item-view-a48bca9b.js +0 -1
- package/dist/esm-es5/useDemoBigStat-5557504e.js +0 -1
- package/dist/mint-components/p-112d42ab.system.entry.js +0 -1
- package/dist/mint-components/p-192539d2.entry.js +0 -1
- package/dist/mint-components/p-4b6c316d.entry.js +0 -1
- package/dist/mint-components/p-54707082.system.js +0 -1
- package/dist/mint-components/p-5c89c2ec.entry.js +0 -230
- package/dist/mint-components/p-5fcd8687.entry.js +0 -1
- package/dist/mint-components/p-606506d6.system.entry.js +0 -1
- package/dist/mint-components/p-6305419f.entry.js +0 -1
- package/dist/mint-components/p-6815e7ba.entry.js +0 -1
- package/dist/mint-components/p-6ad110d3.js +0 -1
- package/dist/mint-components/p-756a5e6f.system.js +0 -1
- package/dist/mint-components/p-768b9014.system.entry.js +0 -1
- package/dist/mint-components/p-7cf335a0.entry.js +0 -1
- package/dist/mint-components/p-942723ad.entry.js +0 -1
- package/dist/mint-components/p-a646db48.system.entry.js +0 -1
- package/dist/mint-components/p-b63744fe.js +0 -227
- package/dist/mint-components/p-c47b83c3.entry.js +0 -1
- package/dist/mint-components/p-c5c029b8.system.js +0 -1
- package/dist/mint-components/p-c90978f4.system.entry.js +0 -1
- package/dist/mint-components/p-ced568fc.system.entry.js +0 -1
- package/dist/mint-components/p-d1cea1b1.system.js +0 -1
- package/dist/mint-components/p-d3171b36.system.entry.js +0 -1
- package/dist/mint-components/p-de3311bf.entry.js +0 -9
- package/dist/types/stories/UserName.stories.d.ts +0 -6
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { usePaginatedQuery, useProgramId, useUserIdentity, } from "@saasquatch/component-boilerplate";
|
|
2
|
+
import { useEffect, useReducer } from "@saasquatch/universal-hooks";
|
|
3
|
+
import { h } from "@stencil/core";
|
|
4
|
+
import gql from "graphql-tag";
|
|
5
|
+
import { useRerenderListener } from "../../tables/re-render";
|
|
6
|
+
import { useChildElements } from "../../tables/useChildElements";
|
|
7
|
+
export const CSS_NAMESPACE = "sqm-rewards-table";
|
|
8
|
+
const GET_REWARDS = gql `
|
|
9
|
+
query getRewards(
|
|
10
|
+
$limit: Int!
|
|
11
|
+
$offset: Int!
|
|
12
|
+
$rewardFilter: RewardFilterInput
|
|
13
|
+
) {
|
|
14
|
+
viewer {
|
|
15
|
+
... on User {
|
|
16
|
+
id
|
|
17
|
+
rewards(limit: $limit, offset: $offset, filter: $rewardFilter) {
|
|
18
|
+
totalCount
|
|
19
|
+
count
|
|
20
|
+
data {
|
|
21
|
+
id
|
|
22
|
+
type
|
|
23
|
+
value
|
|
24
|
+
unit
|
|
25
|
+
name
|
|
26
|
+
dateGiven
|
|
27
|
+
dateExpires
|
|
28
|
+
dateCancelled
|
|
29
|
+
dateRedeemed
|
|
30
|
+
dateScheduledFor
|
|
31
|
+
fuelTankCode
|
|
32
|
+
fuelTankType
|
|
33
|
+
currency
|
|
34
|
+
prettyValue
|
|
35
|
+
statuses
|
|
36
|
+
globalRewardKey
|
|
37
|
+
programRewardKey
|
|
38
|
+
rewardRedemptionTransactions {
|
|
39
|
+
data {
|
|
40
|
+
exchangedRewards {
|
|
41
|
+
data {
|
|
42
|
+
prettyValue
|
|
43
|
+
type
|
|
44
|
+
fuelTankCode
|
|
45
|
+
globalRewardKey
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
`;
|
|
56
|
+
export function useRewardsTable(props, emptyElement, loadingElement) {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
const user = useUserIdentity();
|
|
59
|
+
const programIdContext = useProgramId();
|
|
60
|
+
// Default to context, overriden by props
|
|
61
|
+
const programId = (_a = props.programId) !== null && _a !== void 0 ? _a : programIdContext;
|
|
62
|
+
const rewardFilter = {
|
|
63
|
+
userId_eq: user === null || user === void 0 ? void 0 : user.id,
|
|
64
|
+
accountId_eq: user === null || user === void 0 ? void 0 : user.accountId,
|
|
65
|
+
// If no program ID, shows all programs
|
|
66
|
+
...(programId
|
|
67
|
+
? programId === "classic"
|
|
68
|
+
? { programId_exists: false }
|
|
69
|
+
: { programId_eq: programId }
|
|
70
|
+
: {}),
|
|
71
|
+
};
|
|
72
|
+
const [content, setContent] = useReducer((state, next) => ({
|
|
73
|
+
...state,
|
|
74
|
+
...next,
|
|
75
|
+
}), {
|
|
76
|
+
columns: [],
|
|
77
|
+
rows: [],
|
|
78
|
+
loading: false,
|
|
79
|
+
page: 0,
|
|
80
|
+
});
|
|
81
|
+
const { envelope: rewardsData, states, callbacks, } = usePaginatedQuery(GET_REWARDS, (data) => { var _a; return (_a = data === null || data === void 0 ? void 0 : data.viewer) === null || _a === void 0 ? void 0 : _a.rewards; }, {
|
|
82
|
+
limit: props.perPage,
|
|
83
|
+
offset: 0,
|
|
84
|
+
}, {
|
|
85
|
+
rewardFilter,
|
|
86
|
+
}, !(user === null || user === void 0 ? void 0 : user.jwt));
|
|
87
|
+
const tick = useRerenderListener();
|
|
88
|
+
const components = useChildElements();
|
|
89
|
+
const data = rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.data;
|
|
90
|
+
async function getComponentData(components) {
|
|
91
|
+
// filter out loading and empty states from columns array
|
|
92
|
+
const columnComponents = components.filter((component) => component.slot !== "loading" && component.slot !== "empty");
|
|
93
|
+
// get the column titles (renderLabel is asynchronous)
|
|
94
|
+
const columnsPromise = columnComponents === null || columnComponents === void 0 ? void 0 : columnComponents.map(async (c) => tryMethod(c, () => c.renderLabel()));
|
|
95
|
+
// get the column cells (renderCell is asynchronous)
|
|
96
|
+
const cellsPromise = data === null || data === void 0 ? void 0 : data.map(async (r) => {
|
|
97
|
+
const cellPromise = columnComponents === null || columnComponents === void 0 ? void 0 : columnComponents.map(async (c) => tryMethod(c, () => c.renderCell([r], c)));
|
|
98
|
+
const cells = await Promise.all(cellPromise);
|
|
99
|
+
return cells;
|
|
100
|
+
});
|
|
101
|
+
const rows = cellsPromise && (await Promise.all(cellsPromise)).filter((i) => i);
|
|
102
|
+
setContent({ rows });
|
|
103
|
+
const columns = columnsPromise && (await Promise.all(columnsPromise));
|
|
104
|
+
// Set the content to render and finish loading components
|
|
105
|
+
setContent({ columns, loading: false, page: states.currentPage });
|
|
106
|
+
}
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
setContent({ loading: true });
|
|
109
|
+
rewardsData && getComponentData(components);
|
|
110
|
+
}, [rewardsData, components, tick]);
|
|
111
|
+
const isEmpty = !((_b = content === null || content === void 0 ? void 0 : content.rows) === null || _b === void 0 ? void 0 : _b.length) && !(data === null || data === void 0 ? void 0 : data.length);
|
|
112
|
+
console.log(states.loading, content.loading, rewardsData);
|
|
113
|
+
const show =
|
|
114
|
+
// 1 - Loading if loading
|
|
115
|
+
states.loading || content.loading
|
|
116
|
+
? "loading"
|
|
117
|
+
: // 2 - Empty if empty
|
|
118
|
+
isEmpty
|
|
119
|
+
? "empty"
|
|
120
|
+
: // 3 - Then show rows
|
|
121
|
+
"rows";
|
|
122
|
+
return {
|
|
123
|
+
states: {
|
|
124
|
+
hasNext: states.currentPage < states.pageCount - 1,
|
|
125
|
+
hasPrev: states.currentPage > 0,
|
|
126
|
+
show,
|
|
127
|
+
namespace: CSS_NAMESPACE,
|
|
128
|
+
},
|
|
129
|
+
data: {
|
|
130
|
+
textOverrides: {
|
|
131
|
+
showLabels: props.showLabels,
|
|
132
|
+
prevLabel: props.prevLabel,
|
|
133
|
+
moreLabel: props.moreLabel,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
elements: {
|
|
137
|
+
columns: content.columns,
|
|
138
|
+
rows: content.rows,
|
|
139
|
+
emptyElement,
|
|
140
|
+
loadingElement,
|
|
141
|
+
},
|
|
142
|
+
callbacks: {
|
|
143
|
+
nextPage: () => {
|
|
144
|
+
callbacks.setCurrentPage(states.currentPage + 1);
|
|
145
|
+
},
|
|
146
|
+
prevPage: () => {
|
|
147
|
+
callbacks.setCurrentPage(states.currentPage - 1);
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
function generateUserError(e) {
|
|
153
|
+
try {
|
|
154
|
+
return JSON.stringify(e);
|
|
155
|
+
}
|
|
156
|
+
catch (e) {
|
|
157
|
+
return "An unknown error";
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
async function tryMethod(c, callback) {
|
|
161
|
+
const tag = c.tagName.toLowerCase();
|
|
162
|
+
await customElements.whenDefined(tag);
|
|
163
|
+
let labelPromise;
|
|
164
|
+
try {
|
|
165
|
+
labelPromise = callback();
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
// renderLabel did not return a promise, so this method probably doesn't exist
|
|
169
|
+
// therefore, we IGNORE the label
|
|
170
|
+
if (callback.name === "renderReferrerCell") {
|
|
171
|
+
console.error("column does not have a renderReferrerCell method.");
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
console.error("label promise failed", e);
|
|
175
|
+
}
|
|
176
|
+
return h("span", null);
|
|
177
|
+
}
|
|
178
|
+
try {
|
|
179
|
+
return await labelPromise;
|
|
180
|
+
}
|
|
181
|
+
catch (e) {
|
|
182
|
+
// The column returned a promise, and that promise failed.
|
|
183
|
+
// This should not happen so we fail fast
|
|
184
|
+
console.error("Error rendering label", e);
|
|
185
|
+
const userError = generateUserError(e);
|
|
186
|
+
return (h("details", null,
|
|
187
|
+
h("summary", null, "Error"),
|
|
188
|
+
userError));
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { navigation } from "@saasquatch/component-boilerplate";
|
|
2
2
|
import { useState } from "@saasquatch/stencil-hooks";
|
|
3
3
|
import { h } from "@stencil/core";
|
|
4
|
-
import { createHookStory } from "../
|
|
4
|
+
import { createHookStory } from "../sqm-stencilbook/HookStoryAddon";
|
|
5
5
|
export default {
|
|
6
6
|
title: "Tests/Router",
|
|
7
7
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { ShareButtonView } from "
|
|
2
|
+
import { ShareButtonView } from "./sqm-share-button-view";
|
|
3
3
|
export default {
|
|
4
|
-
title: "Share Button",
|
|
4
|
+
title: "Components/Share Button",
|
|
5
5
|
};
|
|
6
6
|
export const WithIcon = () => {
|
|
7
7
|
const props = { medium: "facebook", iconslot: "suffix" };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { setUserIdentity } from "@saasquatch/component-boilerplate";
|
|
2
2
|
import { useEffect } from "@saasquatch/universal-hooks";
|
|
3
3
|
import { h } from "@stencil/core";
|
|
4
|
-
import { useShareButton } from "
|
|
5
|
-
import { createHookStory } from "../
|
|
4
|
+
import { useShareButton } from "./useShareButton";
|
|
5
|
+
import { createHookStory } from "../sqm-stencilbook/HookStoryAddon";
|
|
6
6
|
export default {
|
|
7
7
|
title: "Hooks / useShareButton",
|
|
8
8
|
};
|
|
@@ -334,7 +334,7 @@ export class ShareButton {
|
|
|
334
334
|
"mutable": false,
|
|
335
335
|
"complexType": {
|
|
336
336
|
"original": "DemoData<ShareButtonViewProps>",
|
|
337
|
-
"resolved": "{ medium?: \"facebook\" | \"twitter\" | \"email\" | \"direct\" | \"linkedin\" | \"sms\" | \"fbmessenger\" | \"whatsapp\" | \"linemessenger\" | \"pinterest\" | \"reminder\" | \"unknown\";
|
|
337
|
+
"resolved": "{ loading?: boolean; medium?: \"facebook\" | \"twitter\" | \"email\" | \"direct\" | \"linkedin\" | \"sms\" | \"fbmessenger\" | \"whatsapp\" | \"linemessenger\" | \"pinterest\" | \"reminder\" | \"unknown\"; disabled?: boolean; pill?: boolean; type?: \"text\" | \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"default\"; size?: \"small\" | \"medium\" | \"large\"; icon?: string; hideicon?: boolean; hidetext?: boolean; iconslot?: \"prefix\" | \"suffix\"; onClick?: () => void; hide?: boolean; }",
|
|
338
338
|
"references": {
|
|
339
339
|
"DemoData": {
|
|
340
340
|
"location": "import",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { ShareLinkView } from "
|
|
2
|
+
import { ShareLinkView } from "./sqm-share-link-view";
|
|
3
3
|
export default {
|
|
4
|
-
title: "Share Link",
|
|
4
|
+
title: "Components/Share Link",
|
|
5
5
|
};
|
|
6
6
|
export const Default = () => {
|
|
7
7
|
const props = {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { setUserIdentity } from "@saasquatch/component-boilerplate";
|
|
2
2
|
import { useEffect } from "@saasquatch/universal-hooks";
|
|
3
3
|
import { h } from "@stencil/core";
|
|
4
|
-
import { ShareLinkView } from "
|
|
5
|
-
import { useShareLink } from "
|
|
6
|
-
import { createHookStory } from "../
|
|
4
|
+
import { ShareLinkView } from "./sqm-share-link-view";
|
|
5
|
+
import { useShareLink } from "./useShareLink";
|
|
6
|
+
import { createHookStory } from "../sqm-stencilbook/HookStoryAddon";
|
|
7
7
|
export default {
|
|
8
8
|
title: "Hooks / useShareLink",
|
|
9
9
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import chroma from "chroma-js";
|
|
2
|
+
export function autoColorScaleCss(color, name = "primary") {
|
|
3
|
+
if (!chroma.valid(color)) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const colorScale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
7
|
+
const hex = chroma(color).hex();
|
|
8
|
+
const scale = chroma
|
|
9
|
+
.scale([
|
|
10
|
+
chroma(hex).luminance(0.95),
|
|
11
|
+
chroma(hex).luminance(0.84),
|
|
12
|
+
chroma(hex).luminance(0.73),
|
|
13
|
+
chroma(hex).luminance(0.62),
|
|
14
|
+
chroma(hex).luminance(0.49),
|
|
15
|
+
chroma(hex).luminance(0.35),
|
|
16
|
+
chroma(hex).luminance(0.23),
|
|
17
|
+
chroma(hex).luminance(0.15),
|
|
18
|
+
chroma(hex).luminance(0.1),
|
|
19
|
+
chroma(hex).luminance(0.05),
|
|
20
|
+
chroma(hex).luminance(0.02),
|
|
21
|
+
])
|
|
22
|
+
.colors(colorScale.length);
|
|
23
|
+
return scale
|
|
24
|
+
.map((color, index) => `--sl-color-${name}-${colorScale[index]}: ${chroma(color).hex()};`)
|
|
25
|
+
.join("\n");
|
|
26
|
+
}
|
|
@@ -13,6 +13,8 @@ export const CucumberAddon = ({ story }, children) => {
|
|
|
13
13
|
// No scenario or invalid. Ignoring.
|
|
14
14
|
}
|
|
15
15
|
return (h("div", null,
|
|
16
|
-
|
|
16
|
+
h("details", null,
|
|
17
|
+
h("summary", null, "Specs"),
|
|
18
|
+
result && h("pre", { innerHTML: result.value })),
|
|
17
19
|
children));
|
|
18
20
|
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* Displays a cartesian product of the input props
|
|
4
|
+
*
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export function MatrixStory({ matrix, props, Component, }) {
|
|
8
|
+
const propMatrix = Object.keys(matrix).map((propKey) => {
|
|
9
|
+
const propValues = matrix[propKey];
|
|
10
|
+
return propValues.map((val) => {
|
|
11
|
+
return {
|
|
12
|
+
[propKey]: val,
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
const combinations = cartesian(...propMatrix);
|
|
17
|
+
const propsCombinations = combinations.map((combo) => {
|
|
18
|
+
return combo.reduce((props, prop) => {
|
|
19
|
+
return {
|
|
20
|
+
...props,
|
|
21
|
+
...prop,
|
|
22
|
+
};
|
|
23
|
+
}, {});
|
|
24
|
+
});
|
|
25
|
+
return propsCombinations.map((combo) => {
|
|
26
|
+
const example = { ...props, ...combo };
|
|
27
|
+
return (h("div", null,
|
|
28
|
+
h(PropsTable, { values: example }),
|
|
29
|
+
h("hr", null),
|
|
30
|
+
" ",
|
|
31
|
+
h("br", null),
|
|
32
|
+
h(Component, Object.assign({}, example)),
|
|
33
|
+
h("br", null)));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function PropsTable({ values }) {
|
|
37
|
+
return (h("table", null,
|
|
38
|
+
h("tbody", null, Object.keys(values).map((key) => {
|
|
39
|
+
return (h("tr", null,
|
|
40
|
+
h("th", null, key),
|
|
41
|
+
h("td", null, JSON.stringify(values[key]))));
|
|
42
|
+
}))));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Source: https://stackoverflow.com/questions/15298912/javascript-generating-combinations-from-n-arrays-with-m-elements
|
|
46
|
+
*
|
|
47
|
+
* TODO: Could replace with a fork of https://www.npmjs.com/package/cartesian
|
|
48
|
+
*
|
|
49
|
+
* @param args - an array of arrays
|
|
50
|
+
* @returns combinations of the elements in those array
|
|
51
|
+
*/
|
|
52
|
+
function cartesian(...args) {
|
|
53
|
+
var r = [], max = args.length - 1;
|
|
54
|
+
function helper(arr, i) {
|
|
55
|
+
for (var j = 0, l = args[i].length; j < l; j++) {
|
|
56
|
+
var a = arr.slice(0); // clone arr
|
|
57
|
+
a.push(args[i][j]);
|
|
58
|
+
if (i == max)
|
|
59
|
+
r.push(a);
|
|
60
|
+
else
|
|
61
|
+
helper(a, i + 1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
helper([], 0);
|
|
65
|
+
return r;
|
|
66
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
export const ResizerStylesheet = `
|
|
3
|
+
|
|
4
|
+
:root{
|
|
5
|
+
--checker-color-1: #ffffff00;
|
|
6
|
+
--checker-color-2: #ffffff00;
|
|
7
|
+
--checker-size: 7px;
|
|
8
|
+
--checker-gradient: linear-gradient(45deg, var(--checker-color-1) 25%, transparent 25%, transparent 75%, var(--checker-color-1) 75%);
|
|
9
|
+
}
|
|
10
|
+
.resizer{
|
|
11
|
+
resize: horizontal;
|
|
12
|
+
border: 2px dashed gray;
|
|
13
|
+
margin: -2px;
|
|
14
|
+
padding: 12px;
|
|
15
|
+
height: fit-content;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.resizer{
|
|
20
|
+
background-color: var(--checker-color-2);
|
|
21
|
+
background-image: var(--checker-gradient), var(--checker-gradient);
|
|
22
|
+
background-position: 0 0, var(--checker-size) var(--checker-size);
|
|
23
|
+
background-size: calc(var(--checker-size) * 2) calc(var(--checker-size) * 2);
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
26
|
+
export const Resizer = (_, children) => (h("div", { class: "resizer" }, children));
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Themes
|
|
4
|
+
*
|
|
5
|
+
* Export only valid CSS. Those will be injected into style tags.
|
|
6
|
+
*
|
|
7
|
+
* Useful links:
|
|
8
|
+
* - https://brandcolors.net/
|
|
9
|
+
* - Shoelace color generator: https://codepen.io/claviska/full/QWveRgL
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
import { autoColorScaleCss } from "./AutoColor";
|
|
13
|
+
//
|
|
14
|
+
export const Default = `
|
|
15
|
+
// No CSS
|
|
16
|
+
`;
|
|
17
|
+
export const Orangey = `
|
|
18
|
+
:root{
|
|
19
|
+
${autoColorScaleCss("orange")}
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
export const Netflix = `
|
|
23
|
+
:root{
|
|
24
|
+
${autoColorScaleCss("#e50914")}
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
export const SaaSquatchCorporate = `
|
|
28
|
+
:root{
|
|
29
|
+
${autoColorScaleCss("green")}
|
|
30
|
+
--sl-font-sans: Arial;
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
export const NYTimes = `
|
|
34
|
+
:root{
|
|
35
|
+
${autoColorScaleCss("black")}
|
|
36
|
+
--sl-font-sans: Georgia, 'Times New Roman', serif;
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
@@ -1,48 +1,55 @@
|
|
|
1
1
|
import { h, Component, Host, State } from "@stencil/core";
|
|
2
2
|
import { useStencilbook } from "@saasquatch/stencilbook";
|
|
3
|
-
import { withHooks } from "@saasquatch/stencil-hooks";
|
|
4
|
-
import * as ShareButton from "
|
|
5
|
-
import * as ShareLink from "
|
|
6
|
-
import * as BigStat from "
|
|
7
|
-
import * as Leaderboard from "
|
|
8
|
-
import * as Router from "
|
|
9
|
-
import * as LeaderboardRank from "
|
|
10
|
-
import * as PortalFrame from "
|
|
11
|
-
import * as EditProfile from "
|
|
12
|
-
import * as UseShareLink from "
|
|
13
|
-
import * as UseShareButton from "
|
|
14
|
-
import * as UseBigStat from "
|
|
15
|
-
import * as UseEditProfile from "
|
|
16
|
-
import * as UseLeaderboard from "
|
|
17
|
-
import * as FormMessage from "
|
|
3
|
+
import { useState, withHooks } from "@saasquatch/stencil-hooks";
|
|
4
|
+
import * as ShareButton from "../sqm-share-button/ShareButton.stories";
|
|
5
|
+
import * as ShareLink from "../sqm-share-link/ShareLink.stories";
|
|
6
|
+
import * as BigStat from "../sqm-big-stat/BigStat.stories";
|
|
7
|
+
import * as Leaderboard from "../sqm-leaderboard/Leaderboard.stories";
|
|
8
|
+
import * as Router from "../sqm-router/Router.stories";
|
|
9
|
+
import * as LeaderboardRank from "../sqm-leaderboard-rank/LeaderboardRank.stories";
|
|
10
|
+
import * as PortalFrame from "../sqm-portal-frame/PortalFrame.stories";
|
|
11
|
+
import * as EditProfile from "../sqm-edit-profile/EditProfileForm.stories";
|
|
12
|
+
import * as UseShareLink from "../sqm-share-link/UseShareLink.stories";
|
|
13
|
+
import * as UseShareButton from "../sqm-share-button/UseShareButton.stories";
|
|
14
|
+
import * as UseBigStat from "../sqm-big-stat/UseBigStat.stories";
|
|
15
|
+
import * as UseEditProfile from "../sqm-edit-profile/UseEditProfile.stories";
|
|
16
|
+
import * as UseLeaderboard from "../sqm-leaderboard/UseLeaderboard.stories";
|
|
17
|
+
import * as FormMessage from "../sqm-form-message/FormMessage.stories";
|
|
18
|
+
import * as UseRewardExchangeList from "../sqm-reward-exchange-list/UseRewardExchangeList.stories";
|
|
19
|
+
import * as UseRewardsTable from "../sqm-rewards-table/UseRewardsTable.stories";
|
|
20
|
+
import * as UseTaskCard from "../sqm-task-card/UseTaskCard.stories";
|
|
18
21
|
import * as NewPortal from "../../stories/NewPortal.stories";
|
|
19
|
-
import * as SidebarItem from "
|
|
20
|
-
import * as NavigationSidebar from "
|
|
21
|
-
import * as PortalLogin from "
|
|
22
|
-
import * as PortalRegister from "
|
|
23
|
-
import * as PortalForgotPassword from "
|
|
24
|
-
import * as PortalEmailVerification from "
|
|
25
|
-
import * as PortalResetPassword from "
|
|
26
|
-
import * as PortalVerifyEmail from "
|
|
27
|
-
import * as AssetCard from "
|
|
28
|
-
import * as DividedLayout from "
|
|
29
|
-
import * as ChangePassword from "
|
|
30
|
-
import * as PortalProfile from "
|
|
31
|
-
import * as ReferralTable from "
|
|
32
|
-
import * as ReferralTableCell from "
|
|
33
|
-
import * as ReferralTableRewardsCell from "
|
|
34
|
-
import * as UserName from "
|
|
35
|
-
import * as PasswordField from "
|
|
22
|
+
import * as SidebarItem from "../sqm-navigation-sidebar-item/SidebarItem.stories";
|
|
23
|
+
import * as NavigationSidebar from "../sqm-navigation-sidebar/NavigationSidebar.stories";
|
|
24
|
+
import * as PortalLogin from "../sqm-portal-login/PortalLogin.stories";
|
|
25
|
+
import * as PortalRegister from "../sqm-portal-register/PortalRegister.stories";
|
|
26
|
+
import * as PortalForgotPassword from "../sqm-portal-forgot-password/PortalForgotPassword.stories";
|
|
27
|
+
import * as PortalEmailVerification from "../sqm-portal-email-verification/PortalEmailVerification.stories";
|
|
28
|
+
import * as PortalResetPassword from "../sqm-portal-reset-password/PortalResetPassword.stories";
|
|
29
|
+
import * as PortalVerifyEmail from "../sqm-portal-verify-email/PortalVerifyEmail.stories";
|
|
30
|
+
import * as AssetCard from "../sqm-asset-card/AssetCard.stories";
|
|
31
|
+
import * as DividedLayout from "../sqm-divided-layout/DividedLayout.stories";
|
|
32
|
+
import * as ChangePassword from "../sqm-portal-change-password/ChangePassword.stories";
|
|
33
|
+
import * as PortalProfile from "../sqm-portal-profile/PortalProfile.stories";
|
|
34
|
+
import * as ReferralTable from "../sqm-referral-table/ReferralTable.stories";
|
|
35
|
+
import * as ReferralTableCell from "../sqm-referral-table/ReferralTableCell.stories";
|
|
36
|
+
import * as ReferralTableRewardsCell from "../sqm-referral-table/ReferralTableRewardsCell.stories";
|
|
37
|
+
import * as UserName from "../sqm-user-name/UserName.stories";
|
|
38
|
+
import * as PasswordField from "../sqm-password-field/PasswordField.stories";
|
|
39
|
+
import * as TaskCard from "../sqm-task-card/TaskCard.stories";
|
|
36
40
|
import * as PortalTemplates from "../../stories/PortalTemplates.stories";
|
|
37
|
-
import * as ProgramMenu from "
|
|
41
|
+
import * as ProgramMenu from "../sqm-program-menu/ProgramMenu.stories";
|
|
38
42
|
import * as PoweredByImg from "../../stories/PoweredByImg.stories";
|
|
39
|
-
import * as PortalFooter from "
|
|
40
|
-
import * as Hero from "
|
|
41
|
-
import * as ReferralIframe from "
|
|
42
|
-
import * as NameFields from "
|
|
43
|
+
import * as PortalFooter from "../sqm-portal-footer/PortalFooter.stories";
|
|
44
|
+
import * as Hero from "../sqm-hero/Hero.stories";
|
|
45
|
+
import * as ReferralIframe from "../sqm-referral-iframe/ReferralIframe.stories";
|
|
46
|
+
import * as NameFields from "../sqm-name-fields/NameFields.stories";
|
|
47
|
+
import * as RewardExchangeList from "../sqm-reward-exchange-list/RewardExchangeList.stories";
|
|
48
|
+
import * as Themes from "./Themes";
|
|
43
49
|
import { CucumberAddon } from "./CucumberAddon";
|
|
44
50
|
import { HookStoryAddon } from "./HookStoryAddon";
|
|
45
51
|
import { ShadowViewAddon } from "../../ShadowViewAddon";
|
|
52
|
+
import { ResizerStylesheet } from "./Resizer";
|
|
46
53
|
const stories = [
|
|
47
54
|
ShareButton,
|
|
48
55
|
ShareLink,
|
|
@@ -76,6 +83,7 @@ const stories = [
|
|
|
76
83
|
ReferralTableRewardsCell,
|
|
77
84
|
UserName,
|
|
78
85
|
PasswordField,
|
|
86
|
+
TaskCard,
|
|
79
87
|
PortalTemplates,
|
|
80
88
|
ProgramMenu,
|
|
81
89
|
PoweredByImg,
|
|
@@ -83,6 +91,10 @@ const stories = [
|
|
|
83
91
|
Hero,
|
|
84
92
|
ReferralIframe,
|
|
85
93
|
NameFields,
|
|
94
|
+
RewardExchangeList,
|
|
95
|
+
UseRewardExchangeList,
|
|
96
|
+
UseTaskCard,
|
|
97
|
+
UseRewardsTable,
|
|
86
98
|
];
|
|
87
99
|
/**
|
|
88
100
|
* For internal documentation
|
|
@@ -101,10 +113,47 @@ export class StencilStorybook {
|
|
|
101
113
|
title: "Mint Components",
|
|
102
114
|
addons: [CucumberAddon, ShadowViewAddon, HookStoryAddon],
|
|
103
115
|
});
|
|
104
|
-
|
|
116
|
+
const [selectedTheme, setSelected] = useState("Default");
|
|
117
|
+
const [checkerboard, setCheckerboard] = useState(true);
|
|
118
|
+
const themes = Object.keys(Themes);
|
|
119
|
+
const theme = Themes[selectedTheme];
|
|
120
|
+
return (h(Host, { class: Style, onClick: {} },
|
|
121
|
+
h("div", { style: {
|
|
122
|
+
position: "absolute",
|
|
123
|
+
top: "0",
|
|
124
|
+
right: "0",
|
|
125
|
+
zIndex: "999999",
|
|
126
|
+
} },
|
|
127
|
+
"Branding:",
|
|
128
|
+
h("select", { onChange: (e) => setSelected(e.target.value) }, themes.map((t) => (h("option", { selected: t === selectedTheme }, t)))),
|
|
129
|
+
h("div", null,
|
|
130
|
+
h("div", null)),
|
|
131
|
+
h(ColorScale, null),
|
|
132
|
+
h("br", null),
|
|
133
|
+
h("input", { type: "checkbox", id: "checkerboard", onClick: () => setCheckerboard(!checkerboard), onChange: () => document.documentElement.style.setProperty("--checker-color-1", checkerboard ? "#ebebeb" : "#ffffff00") }),
|
|
134
|
+
h("label", { htmlFor: "checkerboard" }, "Checkerboard?")),
|
|
135
|
+
h("style", null, theme),
|
|
136
|
+
h("style", null, ResizerStylesheet),
|
|
137
|
+
children));
|
|
105
138
|
}
|
|
106
139
|
static get is() { return "sqm-stencilbook"; }
|
|
107
140
|
static get states() { return {
|
|
108
141
|
"ignored": {}
|
|
109
142
|
}; }
|
|
110
143
|
}
|
|
144
|
+
function ColorScale() {
|
|
145
|
+
return (h("span", null,
|
|
146
|
+
h(ColorToken, null),
|
|
147
|
+
h(ColorToken, { type: "success" }),
|
|
148
|
+
h(ColorToken, { type: "warning" }),
|
|
149
|
+
h(ColorToken, { type: "danger" }),
|
|
150
|
+
h(ColorToken, { type: "neutral" })));
|
|
151
|
+
}
|
|
152
|
+
function ColorToken({ type = "primary" }) {
|
|
153
|
+
return (h("span", { style: {
|
|
154
|
+
background: `var(--sl-color-${type}-500)`,
|
|
155
|
+
width: "1em",
|
|
156
|
+
marginRight: "2px",
|
|
157
|
+
padding: "0 4px",
|
|
158
|
+
}, title: type }, type.charAt(0)));
|
|
159
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
export const checkmark_circle = () => {
|
|
3
|
+
return (h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
4
|
+
h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M1.81818 10C1.81818 5.48131 5.48131 1.81818 10 1.81818C14.5187 1.81818 18.1818 5.48131 18.1818 10C18.1818 14.5187 14.5187 18.1818 10 18.1818C5.48131 18.1818 1.81818 14.5187 1.81818 10ZM10 0C4.47715 0 0 4.47715 0 10C0 15.5228 4.47715 20 10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0ZM15.7692 6.96189C16.1398 6.48683 16.0551 5.80132 15.58 5.43077C15.1049 5.06022 14.4194 5.14495 14.0489 5.62001L8.72994 12.4391L5.86229 9.5715C5.43627 9.14548 4.74554 9.14548 4.31952 9.5715C3.89349 9.99752 3.89349 10.6882 4.31952 11.1143L8.05976 14.8545C8.28083 15.0756 8.58613 15.1912 8.89818 15.172C9.21023 15.1528 9.49905 15.0006 9.69133 14.7541L15.7692 6.96189Z", fill: "currentColor" })));
|
|
5
|
+
};
|
|
6
|
+
export const checkmark_filled = () => {
|
|
7
|
+
return (h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
8
|
+
h("circle", { cx: "10", cy: "10", r: "10", fill: "currentColor" }),
|
|
9
|
+
h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M14.65 6.19231C15.0459 6.5011 15.1165 7.07236 14.8077 7.46825L9.74277 13.9617C9.58254 14.1672 9.34186 14.294 9.08182 14.31C8.82178 14.326 8.56736 14.2297 8.38314 14.0454L5.26627 10.9286C4.91124 10.5735 4.91124 9.99794 5.26627 9.64292C5.62129 9.2879 6.19689 9.2879 6.55191 9.64292L8.94162 12.0326L13.3741 6.35001C13.6828 5.95412 14.2541 5.88352 14.65 6.19231Z", fill: "white" })));
|
|
10
|
+
};
|
|
11
|
+
export const arrow_left_right = () => {
|
|
12
|
+
return (h("svg", { width: 11, height: 12, fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
13
|
+
h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M10.265 2.789a.346.346 0 000-.489L8.066.101a.346.346 0 10-.489.489l1.61 1.609H2.073a.691.691 0 00-.69.691v1.728a.346.346 0 00.69 0V2.89h7.114L7.577 4.5a.346.346 0 10.49.488l2.198-2.2zM.101 9.21a.346.346 0 000 .489l2.2 2.199a.346.346 0 00.488-.489l-1.61-1.609h7.114c.382 0 .691-.31.691-.691V7.382a.346.346 0 00-.691 0V9.11H1.18L2.789 7.5a.346.346 0 10-.489-.488l-2.199 2.2z", fill: "currentColor" })));
|
|
14
|
+
};
|