@saasquatch/mint-components 1.3.2-10 → 1.3.2-14
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/dist/cjs/{ShadowViewAddon-d2fde0a2.js → ShadowViewAddon-a85b8c8d.js} +1 -1
- package/dist/cjs/{global-e04d7cde.js → global-6223fe8f.js} +4 -1
- package/dist/cjs/{index.module-07ed6ad2.js → index.module-7dd4b981.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/mint-components.cjs.js +3 -3
- package/dist/cjs/{re-render-81649c33.js → re-render-6111d4bd.js} +1 -1
- 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_30.cjs.entry.js +428 -479
- package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +1 -1
- package/dist/cjs/{sqm-leaderboard-rank-view-0ba128e2.js → sqm-leaderboard-rank-view-7dd44d62.js} +2 -2
- package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +3 -3
- 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-0bad789c.js → sqm-navigation-sidebar-item-view-6c7f78e6.js} +1 -1
- package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +2 -2
- package/dist/cjs/sqm-popup-container.cjs.entry.js +1 -1
- package/dist/cjs/{sqm-portal-email-verification-view-3c7d8701.js → sqm-portal-email-verification-view-08d1848c.js} +1 -1
- package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +3 -3
- package/dist/cjs/{sqm-portal-footer-view-8f5d682e.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 +1 -1
- package/dist/cjs/sqm-portal-logout.cjs.entry.js +1 -1
- package/dist/cjs/{sqm-portal-profile-view-14866b58.js → sqm-portal-profile-view-14b41436.js} +1 -1
- package/dist/cjs/sqm-portal-profile.cjs.entry.js +3 -3
- package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +1 -1
- package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +1 -1
- package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/{useDemoBigStat-1692a6a1.js → useDemoBigStat-2786227e.js} +1 -1
- package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +1 -1
- package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +2 -2
- package/dist/collection/components/sqm-reward-exchange-list/SVGs.js +1 -1
- package/dist/collection/components/sqm-reward-exchange-list/progressBar.js +8 -7
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +87 -43
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +29 -7
- package/dist/collection/components/sqm-reward-exchange-list/useRewardExchangeList.js +7 -31
- package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +0 -2
- package/dist/collection/components/sqm-task-card/TaskCard.stories.js +167 -222
- package/dist/collection/components/sqm-task-card/progress-bar/progress-bar-view.js +12 -5
- package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +82 -50
- package/dist/collection/components/sqm-task-card/sqm-task-card.js +16 -2
- package/dist/collection/global/styles.js +3 -0
- package/dist/collection/global/styles.ts +3 -0
- package/dist/esm/{ShadowViewAddon-aa087ef2.js → ShadowViewAddon-a3f510db.js} +1 -1
- package/dist/esm/{global-107bb084.js → global-90da933f.js} +4 -1
- package/dist/esm/{index.module-1f571929.js → index.module-90d2c3ad.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mint-components.js +3 -3
- package/dist/esm/{re-render-76c9129f.js → re-render-e06f2f7f.js} +1 -1
- 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_30.entry.js +428 -479
- package/dist/esm/sqm-graphql-client-provider.entry.js +1 -1
- package/dist/esm/{sqm-leaderboard-rank-view-c1aefdd5.js → sqm-leaderboard-rank-view-47844836.js} +2 -2
- package/dist/esm/sqm-leaderboard-rank.entry.js +3 -3
- 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-b3618185.js → sqm-navigation-sidebar-item-view-f2304ad9.js} +1 -1
- package/dist/esm/sqm-navigation-sidebar-item.entry.js +2 -2
- package/dist/esm/sqm-popup-container.entry.js +1 -1
- package/dist/esm/{sqm-portal-email-verification-view-df0559b0.js → sqm-portal-email-verification-view-8cefe480.js} +1 -1
- package/dist/esm/sqm-portal-email-verification.entry.js +3 -3
- package/dist/esm/{sqm-portal-footer-view-2b2bfc9e.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 +1 -1
- package/dist/esm/sqm-portal-logout.entry.js +1 -1
- package/dist/esm/{sqm-portal-profile-view-2fbb0845.js → sqm-portal-profile-view-b67467b4.js} +1 -1
- package/dist/esm/sqm-portal-profile.entry.js +3 -3
- package/dist/esm/sqm-portal-protected-route.entry.js +1 -1
- package/dist/esm/sqm-portal-reset-password.entry.js +1 -1
- package/dist/esm/sqm-portal-verify-email.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/{useDemoBigStat-49cdfe32.js → useDemoBigStat-c3b955b7.js} +1 -1
- package/dist/esm-es5/{ShadowViewAddon-aa087ef2.js → ShadowViewAddon-a3f510db.js} +1 -1
- package/dist/esm-es5/{global-107bb084.js → global-90da933f.js} +2 -2
- package/dist/esm-es5/{index.module-1f571929.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-76c9129f.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 +1 -1
- package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
- package/dist/esm-es5/{sqm-leaderboard-rank-view-c1aefdd5.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-b3618185.js → sqm-navigation-sidebar-item-view-f2304ad9.js} +1 -1
- 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-df0559b0.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-2b2bfc9e.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-2fbb0845.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-49cdfe32.js → useDemoBigStat-c3b955b7.js} +1 -1
- package/dist/mint-components/global/styles.ts +3 -0
- 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-22ee65c4.system.js → p-07c924fa.system.js} +1 -1
- package/dist/mint-components/{p-3fd9db63.js → p-0eb3e89c.js} +1 -1
- package/dist/mint-components/{p-0f19ab40.entry.js → p-160bd62f.entry.js} +1 -1
- package/dist/mint-components/{p-bf10c781.system.js → p-16f5a7cb.system.js} +1 -1
- package/dist/mint-components/{p-62b134cb.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-57568b23.system.entry.js → p-1dcdca58.system.entry.js} +1 -1
- package/dist/mint-components/p-20d41ab1.entry.js +1 -0
- package/dist/mint-components/{p-3bbc61af.entry.js → p-221a4097.entry.js} +1 -1
- package/dist/mint-components/{p-f0cbf76e.system.entry.js → p-223b42bd.system.entry.js} +1 -1
- package/dist/mint-components/{p-ab378185.js → p-224504ad.js} +1 -1
- package/dist/mint-components/{p-2b9a01ce.system.entry.js → p-24b3c6f0.system.entry.js} +1 -1
- package/dist/mint-components/{p-dbc04567.system.entry.js → p-24c9a599.system.entry.js} +1 -1
- package/dist/mint-components/{p-c61c61e7.entry.js → p-29fab29b.entry.js} +1 -1
- package/dist/mint-components/{p-64299f78.system.entry.js → p-304e6c82.system.entry.js} +1 -1
- package/dist/mint-components/{p-c974b7d4.entry.js → p-3397167c.entry.js} +1 -1
- package/dist/mint-components/{p-beb02af2.entry.js → p-33c5ffb7.entry.js} +1 -1
- package/dist/mint-components/{p-bcb30771.system.entry.js → p-396bf448.system.entry.js} +1 -1
- package/dist/mint-components/{p-a48fc54e.system.js → p-3b97aed8.system.js} +1 -1
- package/dist/mint-components/{p-5e681b4b.system.js → p-3ce2fb83.system.js} +1 -1
- package/dist/mint-components/{p-57aa7493.entry.js → p-3d856985.entry.js} +1 -1
- package/dist/mint-components/{p-fc90a3fe.system.entry.js → p-4052b948.system.entry.js} +1 -1
- package/dist/mint-components/{p-03b7444e.system.entry.js → p-412a9226.system.entry.js} +1 -1
- package/dist/mint-components/{p-9ca6142b.system.entry.js → p-44d0fc80.system.entry.js} +1 -1
- package/dist/mint-components/{p-b0e9c89c.entry.js → p-45c752a0.entry.js} +1 -1
- package/dist/mint-components/{p-d73d26ec.js → p-46a4269a.js} +2 -2
- package/dist/mint-components/{p-874e7da3.entry.js → p-52802c88.entry.js} +1 -1
- package/dist/mint-components/{p-f0ad9b15.entry.js → p-5480e4ee.entry.js} +1 -1
- package/dist/mint-components/{p-75924795.system.entry.js → p-55508395.system.entry.js} +1 -1
- package/dist/mint-components/{p-f7e2418a.js → p-563253e8.js} +1 -1
- package/dist/mint-components/{p-8155cd07.system.js → p-60855d33.system.js} +1 -1
- package/dist/mint-components/{p-0ca63e9e.system.entry.js → p-67ae18d1.system.entry.js} +1 -1
- package/dist/mint-components/{p-4ae9f594.js → p-6882070c.js} +1 -1
- package/dist/mint-components/{p-123930ab.system.entry.js → p-69bcf4fa.system.entry.js} +1 -1
- package/dist/mint-components/{p-e01213a2.system.entry.js → p-6bf0a4d9.system.entry.js} +1 -1
- package/dist/mint-components/{p-59fa991d.entry.js → p-6d0cfe2b.entry.js} +10 -10
- package/dist/mint-components/{p-0ddd6063.system.entry.js → p-6e245fa3.system.entry.js} +1 -1
- package/dist/mint-components/{p-d1e28563.entry.js → p-723ebe45.entry.js} +1 -1
- package/dist/mint-components/{p-8ac0ec83.system.entry.js → p-73148868.system.entry.js} +1 -1
- package/dist/mint-components/{p-b0c6f82b.entry.js → p-8435a22d.entry.js} +1 -1
- package/dist/mint-components/p-86988aa2.system.entry.js +1 -0
- package/dist/mint-components/p-883a32e7.entry.js +1 -0
- package/dist/mint-components/{p-719c2664.system.js → p-9c554ca0.system.js} +1 -1
- package/dist/mint-components/{p-de0efef2.entry.js → p-9d6dbb2d.entry.js} +1 -1
- package/dist/mint-components/{p-c0e8aaa7.system.entry.js → p-9e4fee30.system.entry.js} +1 -1
- package/dist/mint-components/{p-70008004.js → p-a2c3cff3.js} +1 -1
- package/dist/mint-components/{p-3b9492a8.entry.js → p-a4c2c7ed.entry.js} +1 -1
- package/dist/mint-components/{p-d44e98b8.system.js → p-a6094ff9.system.js} +1 -1
- package/dist/mint-components/{p-f2db1c3b.entry.js → p-ade44a4e.entry.js} +1 -1
- package/dist/mint-components/{p-d37f227e.entry.js → p-b1bb07db.entry.js} +1 -1
- package/dist/mint-components/{p-beeeda0c.system.js → p-b608f7a4.system.js} +2 -2
- package/dist/mint-components/{p-cbf1db2b.entry.js → p-b8bd2607.entry.js} +1 -1
- package/dist/mint-components/{p-86a55c58.system.entry.js → p-be2738b0.system.entry.js} +1 -1
- package/dist/mint-components/{p-0470556b.system.js → p-c6114bfe.system.js} +1 -1
- package/dist/mint-components/{p-70a6f9d9.system.entry.js → p-c79c608d.system.entry.js} +1 -1
- package/dist/mint-components/{p-f538a675.system.entry.js → p-cca9026f.system.entry.js} +1 -1
- package/dist/mint-components/p-cd410a05.entry.js +9 -0
- package/dist/mint-components/{p-bdfdb088.system.js → p-cdeae699.system.js} +1 -1
- package/dist/mint-components/{p-c35b54e4.system.entry.js → p-d174d0bc.system.entry.js} +1 -1
- package/dist/mint-components/p-d21e0dbd.js +1 -0
- package/dist/mint-components/{p-f8abbd79.js → p-d35b0366.js} +1 -1
- package/dist/mint-components/{p-a37fc3cb.js → p-db2e4c42.js} +1 -1
- package/dist/mint-components/p-dc603d08.system.entry.js +1 -0
- package/dist/mint-components/{p-91b0d151.system.js → p-e7f633b9.system.js} +1 -1
- package/dist/mint-components/{p-b3bac2c6.entry.js → p-f17050de.entry.js} +1 -1
- package/dist/mint-components/{p-ac92b5ea.js → p-f90486ca.js} +1 -1
- package/dist/mint-components/p-fce1dbf6.entry.js +1 -0
- package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +2 -2
- package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.d.ts +2 -2
- package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +4 -0
- package/dist/types/components/sqm-task-card/TaskCard.stories.d.ts +9 -4
- package/dist/types/components/sqm-task-card/progress-bar/progress-bar-view.d.ts +1 -0
- package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +1 -1
- package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +4 -1
- package/dist/types/components.d.ts +13 -1
- package/dist/types/global/styles.d.ts +1 -1
- package/grapesjs/grapesjs.js +1 -1
- package/package.json +1 -1
- package/dist/collection/components/sqm-task-card/progress-bar/progress-bar.stories.js +0 -53
- package/dist/mint-components/p-20991bdd.system.entry.js +0 -1
- package/dist/mint-components/p-458070cf.js +0 -1
- package/dist/mint-components/p-5986de11.entry.js +0 -1
- package/dist/mint-components/p-5a1a2b2c.entry.js +0 -1
- package/dist/mint-components/p-6466d643.entry.js +0 -1
- package/dist/mint-components/p-a26457cd.entry.js +0 -1
- package/dist/mint-components/p-dacbf435.entry.js +0 -9
- package/dist/mint-components/p-e2a855b8.system.entry.js +0 -1
- package/dist/types/components/sqm-task-card/progress-bar/progress-bar.stories.d.ts +0 -12
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-b0129cd6.js');
|
|
6
6
|
const _extends = require('./extends-0302d27d.js');
|
|
7
|
-
const global = require('./global-
|
|
7
|
+
const global = require('./global-6223fe8f.js');
|
|
8
8
|
const useCallback = require('./use-callback-fadb2643.js');
|
|
9
|
-
const index_module = require('./index.module-
|
|
9
|
+
const index_module = require('./index.module-7dd4b981.js');
|
|
10
10
|
const jsonpointer = require('./jsonpointer-11327262.js');
|
|
11
11
|
const jssPresetDefault_esm = require('./jss-preset-default.esm-6304d24f.js');
|
|
12
12
|
const utils = require('./utils-95e5317c.js');
|
|
@@ -15,21 +15,21 @@ const mixins = require('./mixins-7b7c59fe.js');
|
|
|
15
15
|
const sqmPortalContainerView = require('./sqm-portal-container-view-d144735a.js');
|
|
16
16
|
const sqmPortalSectionView = require('./sqm-portal-section-view-3b008930.js');
|
|
17
17
|
const sqmTextSpanView = require('./sqm-text-span-view-b5ae787b.js');
|
|
18
|
-
const sqmLeaderboardRankView = require('./sqm-leaderboard-rank-view-
|
|
19
|
-
const reRender = require('./re-render-
|
|
20
|
-
const useDemoBigStat = require('./useDemoBigStat-
|
|
18
|
+
const sqmLeaderboardRankView = require('./sqm-leaderboard-rank-view-7dd44d62.js');
|
|
19
|
+
const reRender = require('./re-render-6111d4bd.js');
|
|
20
|
+
const useDemoBigStat = require('./useDemoBigStat-2786227e.js');
|
|
21
21
|
const sqmShareLinkView = require('./sqm-share-link-view-a935d07e.js');
|
|
22
|
-
const ShadowViewAddon = require('./ShadowViewAddon-
|
|
22
|
+
const ShadowViewAddon = require('./ShadowViewAddon-a85b8c8d.js');
|
|
23
23
|
const sqmNavigationSidebarView = require('./sqm-navigation-sidebar-view-d06e1885.js');
|
|
24
|
-
const sqmNavigationSidebarItemView = require('./sqm-navigation-sidebar-item-view-
|
|
24
|
+
const sqmNavigationSidebarItemView = require('./sqm-navigation-sidebar-item-view-6c7f78e6.js');
|
|
25
25
|
const sqmStatContainerView = require('./sqm-stat-container-view-ee7b00ff.js');
|
|
26
|
-
const sqmPortalProfileView = require('./sqm-portal-profile-view-
|
|
26
|
+
const sqmPortalProfileView = require('./sqm-portal-profile-view-14b41436.js');
|
|
27
27
|
const sqmPortalForgotPasswordView = require('./sqm-portal-forgot-password-view-1704d285.js');
|
|
28
|
-
const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-
|
|
28
|
+
const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-08d1848c.js');
|
|
29
29
|
const sqmPortalResetPasswordView = require('./sqm-portal-reset-password-view-4d78fd6d.js');
|
|
30
30
|
const sqmPortalVerifyEmailView = require('./sqm-portal-verify-email-view-b595e302.js');
|
|
31
31
|
const sqmAssetCardView = require('./sqm-asset-card-view-07f86880.js');
|
|
32
|
-
const sqmPortalFooterView = require('./sqm-portal-footer-view-
|
|
32
|
+
const sqmPortalFooterView = require('./sqm-portal-footer-view-69c73802.js');
|
|
33
33
|
const sqmHeroView = require('./sqm-hero-view-bb3d00a1.js');
|
|
34
34
|
const sqmNameFieldsView = require('./sqm-name-fields-view-24614ac7.js');
|
|
35
35
|
|
|
@@ -14803,7 +14803,6 @@ const EXCHANGE = index_module.dist.gql `
|
|
|
14803
14803
|
`;
|
|
14804
14804
|
function useRewardExchangeList(props) {
|
|
14805
14805
|
var _a, _b, _c, _d;
|
|
14806
|
-
const drawerRef = _extends.useRef();
|
|
14807
14806
|
const [exchangeState, setExchangeState] = _extends.useReducer((state, next) => ({
|
|
14808
14807
|
...state,
|
|
14809
14808
|
...next,
|
|
@@ -14817,22 +14816,16 @@ function useRewardExchangeList(props) {
|
|
|
14817
14816
|
const { selectedItem, selectedStep, redeemStage, amount, exchangeError } = exchangeState;
|
|
14818
14817
|
const user = index_module.T();
|
|
14819
14818
|
const [exchange, { data: exchangeResponse, errors }] = index_module.be(EXCHANGE);
|
|
14820
|
-
const { data, loading } = index_module.en(GET_EXCHANGE_LIST, !(user === null || user === void 0 ? void 0 : user.jwt));
|
|
14819
|
+
const { data, loading, refetch } = index_module.en(GET_EXCHANGE_LIST, !(user === null || user === void 0 ? void 0 : user.jwt));
|
|
14821
14820
|
_extends.useEffect(() => {
|
|
14822
14821
|
var _a, _b;
|
|
14823
14822
|
if ((_b = (_a = exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.exchangeReward) === null || _a === void 0 ? void 0 : _a.reward) === null || _b === void 0 ? void 0 : _b.id) {
|
|
14824
14823
|
setExchangeState({ redeemStage: "success" });
|
|
14825
14824
|
}
|
|
14826
14825
|
if (!!errors) {
|
|
14827
|
-
console.log("YEA");
|
|
14828
14826
|
setExchangeState({ exchangeError: true });
|
|
14829
14827
|
}
|
|
14830
14828
|
}, [exchangeResponse, errors]);
|
|
14831
|
-
function openDrawer() {
|
|
14832
|
-
var _a;
|
|
14833
|
-
setExchangeState({ redeemStage: "chooseReward" });
|
|
14834
|
-
(_a = drawerRef.current) === null || _a === void 0 ? void 0 : _a.show();
|
|
14835
|
-
}
|
|
14836
14829
|
function exchangeReward() {
|
|
14837
14830
|
if (!selectedItem)
|
|
14838
14831
|
return;
|
|
@@ -14890,29 +14883,16 @@ function useRewardExchangeList(props) {
|
|
|
14890
14883
|
}
|
|
14891
14884
|
exchange({ exchangeRewardInput: exchangeVariables });
|
|
14892
14885
|
}
|
|
14893
|
-
const resetState =
|
|
14894
|
-
|
|
14895
|
-
// selects also trigger an sl-hide event :(
|
|
14896
|
-
//@ts-ignore - componentId is not private here
|
|
14897
|
-
if (((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.componentId) !== ((_b = drawerRef.current) === null || _b === void 0 ? void 0 : _b.componentId))
|
|
14898
|
-
return;
|
|
14886
|
+
const resetState = (refresh) => {
|
|
14887
|
+
refresh && refetch();
|
|
14899
14888
|
setExchangeState({
|
|
14900
14889
|
amount: 0,
|
|
14901
14890
|
selectedStep: undefined,
|
|
14902
14891
|
selectedItem: undefined,
|
|
14903
14892
|
exchangeError: false,
|
|
14893
|
+
redeemStage: "chooseReward",
|
|
14904
14894
|
});
|
|
14905
|
-
}
|
|
14906
|
-
_extends.useEffect(() => {
|
|
14907
|
-
if (!(drawerRef === null || drawerRef === void 0 ? void 0 : drawerRef.current))
|
|
14908
|
-
return;
|
|
14909
|
-
const drawer = drawerRef.current;
|
|
14910
|
-
// Clear input value when drawer is closed
|
|
14911
|
-
drawer.addEventListener("sl-hide", resetState);
|
|
14912
|
-
return () => {
|
|
14913
|
-
drawer.removeEventListener("sl-hide", resetState);
|
|
14914
|
-
};
|
|
14915
|
-
}, [drawerRef.current]);
|
|
14895
|
+
};
|
|
14916
14896
|
function setStage(stage) {
|
|
14917
14897
|
setExchangeState({ redeemStage: stage });
|
|
14918
14898
|
}
|
|
@@ -14930,27 +14910,21 @@ function useRewardExchangeList(props) {
|
|
|
14930
14910
|
},
|
|
14931
14911
|
data: {
|
|
14932
14912
|
exchangeList: (_b = (_a = data === null || data === void 0 ? void 0 : data.viewer) === null || _a === void 0 ? void 0 : _a.visibleRewardExchangeItems) === null || _b === void 0 ? void 0 : _b.data,
|
|
14933
|
-
//@ts-ignore
|
|
14934
14913
|
fuelTankCode: (_d = (_c = exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.exchangeReward) === null || _c === void 0 ? void 0 : _c.reward) === null || _d === void 0 ? void 0 : _d.fuelTankCode,
|
|
14935
14914
|
},
|
|
14936
14915
|
callbacks: {
|
|
14937
14916
|
exchangeReward,
|
|
14938
|
-
openDrawer,
|
|
14939
14917
|
setExchangeState,
|
|
14940
14918
|
setStage,
|
|
14941
|
-
|
|
14942
|
-
refs: {
|
|
14943
|
-
drawerRef,
|
|
14919
|
+
resetState,
|
|
14944
14920
|
},
|
|
14945
14921
|
};
|
|
14946
14922
|
}
|
|
14947
14923
|
|
|
14948
|
-
const LeftArrow = () => (index.h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: { marginBottom: "-2px", marginRight: "5px" } },
|
|
14949
|
-
index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M7.34655 1.90573C7.75405 2.31323 7.75405 2.97392 7.34655 3.38143L3.56266 7.16531H14.9565C15.5328 7.16531 16 7.6325 16 8.20879C16 8.78509 15.5328 9.25227 14.9565 9.25227H3.56266L7.69437 13.384C8.10188 13.7915 8.10188 14.4522 7.69437 14.8597C7.28687 15.2672 6.62617 15.2672 6.21867 14.8597L0.305628 8.94664C-0.101876 8.53914 -0.101876 7.87845 0.305628 7.47094L5.87084 1.90573C6.27835 1.49822 6.93904 1.49822 7.34655 1.90573Z", fill: "#858585" })));
|
|
14950
14924
|
const ExchangeArrows = () => (index.h("svg", { width: "30", height: "30", viewBox: "0 0 30 30", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
14951
14925
|
index.h("circle", { cx: "15", cy: "15", r: "15", fill: "white" }),
|
|
14952
14926
|
index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M10.6255 21.783C10.5129 21.8963 10.3597 21.96 10.2 21.96C10.0402 21.96 9.88705 21.8963 9.77442 21.783L5.87442 17.8597C5.64081 17.6247 5.64194 17.2448 5.87695 17.0112C6.11197 16.7775 6.49186 16.7787 6.72548 17.0137L9.59995 19.9054V8.52001C9.59995 8.18864 9.86858 7.92001 10.2 7.92001C10.5313 7.92001 10.8 8.18864 10.8 8.52001V19.9054L13.6744 17.0137C13.908 16.7787 14.2879 16.7775 14.5229 17.0112C14.758 17.2448 14.7591 17.6247 14.5255 17.8597L10.6255 21.783ZM20.2255 8.09707C20.1129 7.98378 19.9597 7.92007 19.8 7.92007C19.6402 7.92007 19.487 7.98378 19.3744 8.09707L15.4744 12.0204C15.2408 12.2554 15.2419 12.6353 15.477 12.8689C15.712 13.1025 16.0919 13.1014 16.3255 12.8664L19.2 9.97473V21.3601C19.2 21.6914 19.4686 21.9601 19.8 21.9601C20.1313 21.9601 20.4 21.6914 20.4 21.3601V9.97473L23.2744 12.8664C23.508 13.1014 23.8879 13.1025 24.1229 12.8689C24.358 12.6353 24.3591 12.2554 24.1255 12.0204L20.2255 8.09707Z", fill: "#333333" })));
|
|
14953
|
-
const CheckMark = () => (index.h("svg", {
|
|
14927
|
+
const CheckMark = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "10", height: "7", viewBox: "0 0 10 7", fill: "none" },
|
|
14954
14928
|
index.h("path", { d: "M2.12828 2.71485C1.72536 2.33712 1.09253 2.35754 0.714799 2.76045C0.337068 3.16336 0.357483 3.7962 0.760395 4.17393L2.12828 2.71485ZM3.81471 5.66661L3.13076 6.39615C3.51542 6.75677 4.11399 6.75677 4.49865 6.39615L3.81471 5.66661ZM9.23939 1.95171C9.6423 1.57397 9.66271 0.941139 9.28498 0.538227C8.90725 0.135315 8.27442 0.114901 7.87151 0.492631L9.23939 1.95171ZM0.760395 4.17393L3.13076 6.39615L4.49865 4.93708L2.12828 2.71485L0.760395 4.17393ZM4.49865 6.39615L9.23939 1.95171L7.87151 0.492631L3.13076 4.93708L4.49865 6.39615Z", fill: "white" })));
|
|
14955
14929
|
|
|
14956
14930
|
function Dot({ active, completed, incomplete, }) {
|
|
@@ -14972,17 +14946,18 @@ function Dot({ active, completed, incomplete, }) {
|
|
|
14972
14946
|
index.h("div", { style: {
|
|
14973
14947
|
backgroundColor: completed ? "#9E9E9E" : "#FFF",
|
|
14974
14948
|
border: active
|
|
14975
|
-
? "
|
|
14949
|
+
? "3px solid #9E9E9E"
|
|
14976
14950
|
: incomplete
|
|
14977
|
-
? "
|
|
14978
|
-
: "
|
|
14951
|
+
? "3px solid #E5E5E5"
|
|
14952
|
+
: "3px solid #9E9E9E",
|
|
14979
14953
|
borderRadius: "50%",
|
|
14980
|
-
width:
|
|
14981
|
-
height:
|
|
14982
|
-
margin: "-
|
|
14954
|
+
width: "10px",
|
|
14955
|
+
height: "10px",
|
|
14956
|
+
margin: "-6px auto 0px",
|
|
14983
14957
|
zIndex: "1",
|
|
14984
14958
|
boxSizing: "content-box",
|
|
14985
|
-
} }, completed && index.h(
|
|
14959
|
+
} }, completed && (index.h("div", { style: { top: "-6px", position: "relative" } },
|
|
14960
|
+
index.h(CheckMark, null))))));
|
|
14986
14961
|
}
|
|
14987
14962
|
function ProgressLine({ incomplete = false, active = false }) {
|
|
14988
14963
|
return (index.h("div", { style: {
|
|
@@ -15021,11 +14996,12 @@ const stageProgressList = {
|
|
|
15021
14996
|
function RewardExchangeView(props) {
|
|
15022
14997
|
const style = {
|
|
15023
14998
|
Container: {
|
|
14999
|
+
padding: "var(--sl-spacing-medium)",
|
|
15024
15000
|
position: "relative",
|
|
15025
15001
|
},
|
|
15026
15002
|
CardContainer: {
|
|
15027
|
-
"&:
|
|
15028
|
-
|
|
15003
|
+
"&:active": {
|
|
15004
|
+
//boxShadow: "0 3px 10px #87ceeb6e!important",
|
|
15029
15005
|
},
|
|
15030
15006
|
},
|
|
15031
15007
|
Base: {
|
|
@@ -15034,8 +15010,9 @@ function RewardExchangeView(props) {
|
|
|
15034
15010
|
textAlign: "center",
|
|
15035
15011
|
height: "120px",
|
|
15036
15012
|
"&::part(base)": {
|
|
15013
|
+
boxShadow: "none",
|
|
15037
15014
|
width: "100%",
|
|
15038
|
-
maxWidth: "350px",
|
|
15015
|
+
// maxWidth: "350px",
|
|
15039
15016
|
display: "flex",
|
|
15040
15017
|
margin: "0 auto",
|
|
15041
15018
|
},
|
|
@@ -15110,12 +15087,39 @@ function RewardExchangeView(props) {
|
|
|
15110
15087
|
},
|
|
15111
15088
|
},
|
|
15112
15089
|
},
|
|
15090
|
+
KutayCard: {
|
|
15091
|
+
"&::part(base)": {
|
|
15092
|
+
boxShadow: "none",
|
|
15093
|
+
},
|
|
15094
|
+
},
|
|
15095
|
+
KutayButton: {
|
|
15096
|
+
display: "flex",
|
|
15097
|
+
flexWrap: "wrap",
|
|
15098
|
+
margin: "var(--sl-spacing-medium) 0",
|
|
15099
|
+
"& .cancel": {
|
|
15100
|
+
width: "20%",
|
|
15101
|
+
marginLeft: "auto",
|
|
15102
|
+
marginRight: "var(--sl-spacing-medium)",
|
|
15103
|
+
"&::part(base)": {
|
|
15104
|
+
fontWeight: "var(--sl-font-weight-normal)",
|
|
15105
|
+
color: "var(--sl-color-neutral-1000)",
|
|
15106
|
+
},
|
|
15107
|
+
},
|
|
15108
|
+
"& .continue": {
|
|
15109
|
+
width: "20%",
|
|
15110
|
+
"&::part(base)": {
|
|
15111
|
+
background: "var(--sl-color-neutral-500)",
|
|
15112
|
+
fontWeight: "var(--sl-font-weight-normal)",
|
|
15113
|
+
color: "var(--sl-color-neutral-0)",
|
|
15114
|
+
},
|
|
15115
|
+
},
|
|
15116
|
+
},
|
|
15113
15117
|
};
|
|
15114
15118
|
// JSS config
|
|
15115
15119
|
jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
|
|
15116
15120
|
const sheet = jssPresetDefault_esm.jss.createStyleSheet(style);
|
|
15117
15121
|
const styleString = sheet.toString();
|
|
15118
|
-
const { states, data, callbacks
|
|
15122
|
+
const { states, data, callbacks } = props;
|
|
15119
15123
|
const { selectedItem, selectedStep } = states;
|
|
15120
15124
|
function getInput() {
|
|
15121
15125
|
var _a, _b;
|
|
@@ -15138,12 +15142,13 @@ function RewardExchangeView(props) {
|
|
|
15138
15142
|
step.prettyDestinationValue,
|
|
15139
15143
|
index.h("div", { slot: "suffix", style: { fontSize: "75%", float: "right" } },
|
|
15140
15144
|
step.prettySourceValue,
|
|
15141
|
-
step.unavailableReasonCode && (index.h("p", { style: { fontSize: "70%", color: "#F2994A" } },
|
|
15145
|
+
step.unavailableReasonCode && (index.h("p", { style: { fontSize: "70%", color: "#F2994A" } }, global.intl.formatMessage({
|
|
15146
|
+
id: "unavailableCode",
|
|
15147
|
+
defaultMessage: states.content.text.notAvailableError,
|
|
15148
|
+
}, { unavailableReasonCode: step.unavailableReasonCode })))))))));
|
|
15142
15149
|
}
|
|
15143
15150
|
function chooseReward() {
|
|
15144
15151
|
var _a;
|
|
15145
|
-
const nextStage = "chooseAmount";
|
|
15146
|
-
// console.log({ nextStage, ruleType: selectedItem?.ruleType });
|
|
15147
15152
|
return [
|
|
15148
15153
|
index.h("div", { style: {
|
|
15149
15154
|
display: "grid",
|
|
@@ -15152,8 +15157,11 @@ function RewardExchangeView(props) {
|
|
|
15152
15157
|
gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
|
|
15153
15158
|
} }, (_a = data.exchangeList) === null || _a === void 0 ? void 0 : _a.map((item) => {
|
|
15154
15159
|
const style = {
|
|
15155
|
-
boxShadow: item.key === (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key)
|
|
15160
|
+
boxShadow: item.key === (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key)
|
|
15161
|
+
? "0 0 0 2px var(--sl-color-primary-500)"
|
|
15162
|
+
: "none",
|
|
15156
15163
|
marginBottom: "10px 0",
|
|
15164
|
+
borderRadius: "var(--sl-border-radius-medium)",
|
|
15157
15165
|
flex: "1",
|
|
15158
15166
|
minWidth: "100%",
|
|
15159
15167
|
color: !item.available && "#eee",
|
|
@@ -15164,6 +15172,17 @@ function RewardExchangeView(props) {
|
|
|
15164
15172
|
return (index.h("div", { key: item.key, class: item.available ? sheet.classes.CardContainer : "", style: style },
|
|
15165
15173
|
index.h("sl-card", { class: sheet.classes.Base, onClick: () => item.available &&
|
|
15166
15174
|
callbacks.setExchangeState({ selectedItem: item }) },
|
|
15175
|
+
item.key === (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key) && (index.h("div", { style: {
|
|
15176
|
+
width: "18px",
|
|
15177
|
+
height: "18px",
|
|
15178
|
+
borderRadius: "50%",
|
|
15179
|
+
background: "var(--sl-color-primary-500)",
|
|
15180
|
+
position: "relative",
|
|
15181
|
+
margin: "-9px",
|
|
15182
|
+
left: "350px",
|
|
15183
|
+
} },
|
|
15184
|
+
index.h("div", { style: { position: "relative", top: "-6px" } },
|
|
15185
|
+
index.h(CheckMark, null)))),
|
|
15167
15186
|
// item?.imageUrl &&
|
|
15168
15187
|
index.h("img", { class: sheet.classes.PreviewImage, src: (item === null || item === void 0 ? void 0 : item.imageUrl) || index.getAssetPath("./assets/Reward-icon.png") }),
|
|
15169
15188
|
index.h("p", { style: {
|
|
@@ -15171,7 +15190,7 @@ function RewardExchangeView(props) {
|
|
|
15171
15190
|
margin: "0",
|
|
15172
15191
|
flex: "1",
|
|
15173
15192
|
fontSize: "90%",
|
|
15174
|
-
padding: "8px"
|
|
15193
|
+
padding: "8px",
|
|
15175
15194
|
} },
|
|
15176
15195
|
index.h("b", null, item.description),
|
|
15177
15196
|
index.h("p", { style: { margin: "0" } }, amount),
|
|
@@ -15179,16 +15198,14 @@ function RewardExchangeView(props) {
|
|
|
15179
15198
|
fontSize: "70%",
|
|
15180
15199
|
color: "#F2994A",
|
|
15181
15200
|
marginTop: "0",
|
|
15182
|
-
} },
|
|
15183
|
-
"
|
|
15184
|
-
|
|
15185
|
-
|
|
15201
|
+
} }, global.intl.formatMessage({
|
|
15202
|
+
id: "unavailableCode",
|
|
15203
|
+
defaultMessage: states.content.text.notAvailableError,
|
|
15204
|
+
}, { unavailableReasonCode: item.unavailableReasonCode })))))));
|
|
15186
15205
|
})),
|
|
15187
|
-
index.h("div", { class: sheet.classes.
|
|
15188
|
-
index.h("sl-button", {
|
|
15189
|
-
index.h("
|
|
15190
|
-
// onClick={() => refs.drawerRef.current?.hide()}
|
|
15191
|
-
style: { display: "block" }, class: sheet.classes.Button }, "Cancel")),
|
|
15206
|
+
index.h("div", { class: sheet.classes.KutayButton },
|
|
15207
|
+
index.h("sl-button", { class: "cancel", size: "large", type: "text" }, "Cancel"),
|
|
15208
|
+
index.h("sl-button", { class: "continue", size: "large", onClick: () => callbacks.setStage("chooseAmount"), disabled: !states.selectedItem }, "Continue")),
|
|
15192
15209
|
];
|
|
15193
15210
|
}
|
|
15194
15211
|
function chooseAmount() {
|
|
@@ -15197,13 +15214,11 @@ function RewardExchangeView(props) {
|
|
|
15197
15214
|
index.h("div", { style: { width: "50%", margin: "0 auto" } }, (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.imageUrl) && (index.h("img", { class: sheet.classes.FullImage, src: selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.imageUrl }))),
|
|
15198
15215
|
index.h("p", null, selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.description),
|
|
15199
15216
|
index.h("div", { class: sheet.classes.InputBox }, input),
|
|
15200
|
-
index.h("div", { class: sheet.classes.
|
|
15201
|
-
index.h("sl-button", {
|
|
15202
|
-
index.h("
|
|
15217
|
+
index.h("div", { class: sheet.classes.KutayButton },
|
|
15218
|
+
index.h("sl-button", { class: "cancel", size: "large", type: "text", onClick: () => callbacks.resetState() }, "Cancel"),
|
|
15219
|
+
index.h("sl-button", { class: "continue", size: "large", onClick: () => callbacks.setStage("confirmation"), disabled: input && !states.amount }, "Continue to confirmation"))));
|
|
15203
15220
|
}
|
|
15204
|
-
// console.log({ selectedItem, selectedStep });
|
|
15205
15221
|
function confirmation() {
|
|
15206
|
-
const previousStage = "chooseAmount";
|
|
15207
15222
|
return (index.h("div", null,
|
|
15208
15223
|
index.h("h2", null, "Confirm and redeem"),
|
|
15209
15224
|
index.h("div", { style: { textAlign: "center" } },
|
|
@@ -15223,13 +15238,14 @@ function RewardExchangeView(props) {
|
|
|
15223
15238
|
index.h("p", { style: { marginBottom: "0", flex: "1" } }, selectedStep === null || selectedStep === void 0 ? void 0 : selectedStep.prettyDestinationValue)))),
|
|
15224
15239
|
index.h("div", { class: sheet.classes.Buttons },
|
|
15225
15240
|
index.h("sl-button", { onClick: callbacks.exchangeReward, style: { display: "block" }, class: sheet.classes.Button }, "Redeem"),
|
|
15226
|
-
index.h("a", { onClick: () => callbacks.setStage(
|
|
15241
|
+
index.h("a", { onClick: () => callbacks.setStage("chooseAmount"), style: { display: "block" }, class: sheet.classes.Button }, "Back"))));
|
|
15227
15242
|
}
|
|
15228
15243
|
function success() {
|
|
15229
15244
|
return (index.h("div", { style: { textAlign: "center" } },
|
|
15230
15245
|
index.h("img", { class: sheet.classes.FullImage, src: index.getAssetPath("./assets/Reward-icon.png") }),
|
|
15231
15246
|
index.h("p", { style: { color: "forestgreen" } }, "Reward Redeemed"),
|
|
15232
|
-
(data === null || data === void 0 ? void 0 : data.fuelTankCode) && index.h("pre", null, data === null || data === void 0 ? void 0 : data.fuelTankCode)
|
|
15247
|
+
(data === null || data === void 0 ? void 0 : data.fuelTankCode) && index.h("pre", null, data === null || data === void 0 ? void 0 : data.fuelTankCode),
|
|
15248
|
+
index.h("sl-button", { onClick: () => callbacks.resetState(true) }, "Done")));
|
|
15233
15249
|
}
|
|
15234
15250
|
const stages = {
|
|
15235
15251
|
chooseReward: () => chooseReward(),
|
|
@@ -15251,26 +15267,28 @@ function RewardExchangeView(props) {
|
|
|
15251
15267
|
})),
|
|
15252
15268
|
index.h(ProgressBar, { stageCount: 3, currentStage: stageNumber })));
|
|
15253
15269
|
}
|
|
15254
|
-
const BackButton = () => {
|
|
15255
|
-
|
|
15256
|
-
|
|
15257
|
-
|
|
15258
|
-
|
|
15259
|
-
|
|
15260
|
-
|
|
15261
|
-
|
|
15262
|
-
|
|
15263
|
-
|
|
15264
|
-
|
|
15265
|
-
|
|
15266
|
-
|
|
15267
|
-
|
|
15268
|
-
|
|
15269
|
-
|
|
15270
|
+
// const BackButton = () => {
|
|
15271
|
+
// if (states.redeemStage === "success") return "";
|
|
15272
|
+
// let previousStage: Stages = "";
|
|
15273
|
+
// if (states.redeemStage === "confirmation") {
|
|
15274
|
+
// previousStage = "chooseAmount";
|
|
15275
|
+
// } else if (states.redeemStage === "chooseAmount") {
|
|
15276
|
+
// previousStage = "chooseReward";
|
|
15277
|
+
// }
|
|
15278
|
+
// return (
|
|
15279
|
+
// <div slot="label">
|
|
15280
|
+
// <a
|
|
15281
|
+
// style={{ cursor: "pointer", fontSize: "80%", color: "#858585" }}
|
|
15282
|
+
// onClick={() => callbacks.setStage(previousStage)}
|
|
15283
|
+
// >
|
|
15284
|
+
// <LeftArrow /> Back
|
|
15285
|
+
// </a>
|
|
15286
|
+
// </div>
|
|
15287
|
+
// );
|
|
15288
|
+
// };
|
|
15270
15289
|
return (index.h("div", { class: sheet.classes.Container },
|
|
15271
15290
|
index.h("style", { type: "text/css" }, styleString),
|
|
15272
15291
|
index.h("div", null,
|
|
15273
|
-
index.h(BackButton, null),
|
|
15274
15292
|
stageMap(),
|
|
15275
15293
|
currentStage && currentStage(),
|
|
15276
15294
|
states.exchangeError &&
|
|
@@ -15285,6 +15303,10 @@ const SqmRewardExchangeList = class {
|
|
|
15285
15303
|
* @uiName Exchange button text
|
|
15286
15304
|
*/
|
|
15287
15305
|
this.buttonText = "Exchange Rewards";
|
|
15306
|
+
/**
|
|
15307
|
+
* @uiName Exchange button text
|
|
15308
|
+
*/
|
|
15309
|
+
this.notAvailableError = "{unavailableReasonCode, select, US_TAX {US Tax limit} INSUFFICIENT_REDEEMABLE_CREDIT {Not enough points} other {Not available} }";
|
|
15288
15310
|
_extends.h$1(this);
|
|
15289
15311
|
}
|
|
15290
15312
|
disconnectedCallback() { }
|
|
@@ -15298,10 +15320,10 @@ const SqmRewardExchangeList = class {
|
|
|
15298
15320
|
// if (missingProps) {
|
|
15299
15321
|
// return <RequiredPropsError missingProps={missingProps} />;
|
|
15300
15322
|
// }
|
|
15301
|
-
const { states, data, callbacks
|
|
15323
|
+
const { states, data, callbacks } = index_module.j()
|
|
15302
15324
|
? useRewardExchangeListDemo(utils.getProps(this))
|
|
15303
15325
|
: useRewardExchangeList(utils.getProps(this));
|
|
15304
|
-
return (index.h(index.Host, { style: { display: "contents" } }, index.h(RewardExchangeView, { states: states, data: data, callbacks: callbacks
|
|
15326
|
+
return (index.h(index.Host, { style: { display: "contents" } }, index.h(RewardExchangeView, { states: states, data: data, callbacks: callbacks })));
|
|
15305
15327
|
}
|
|
15306
15328
|
static get assetsDirs() { return ["assets"]; }
|
|
15307
15329
|
};
|
|
@@ -15322,12 +15344,9 @@ function useRewardExchangeListDemo(props) {
|
|
|
15322
15344
|
},
|
|
15323
15345
|
callbacks: {
|
|
15324
15346
|
exchangeReward: () => { },
|
|
15325
|
-
openDrawer: () => { },
|
|
15326
15347
|
setExchangeState: (_) => { },
|
|
15327
15348
|
setStage: (_) => { },
|
|
15328
|
-
|
|
15329
|
-
refs: {
|
|
15330
|
-
drawerRef: {},
|
|
15349
|
+
resetState: () => { },
|
|
15331
15350
|
},
|
|
15332
15351
|
}, props.demoData || {}, { arrayMerge: (_, a) => a });
|
|
15333
15352
|
}
|
|
@@ -21010,6 +21029,69 @@ const PasswordField = /*#__PURE__*/Object.freeze({
|
|
|
21010
21029
|
ValidationError: ValidationError
|
|
21011
21030
|
});
|
|
21012
21031
|
|
|
21032
|
+
/**
|
|
21033
|
+
* Displays a cartesian product of the input props
|
|
21034
|
+
*
|
|
21035
|
+
* @returns
|
|
21036
|
+
*/
|
|
21037
|
+
function MatrixStory({ matrix, props, Component, }) {
|
|
21038
|
+
const propMatrix = Object.keys(matrix).map((propKey) => {
|
|
21039
|
+
const propValues = matrix[propKey];
|
|
21040
|
+
return propValues.map((val) => {
|
|
21041
|
+
return {
|
|
21042
|
+
[propKey]: val,
|
|
21043
|
+
};
|
|
21044
|
+
});
|
|
21045
|
+
});
|
|
21046
|
+
const combinations = cartesian(...propMatrix);
|
|
21047
|
+
const propsCombinations = combinations.map((combo) => {
|
|
21048
|
+
return combo.reduce((props, prop) => {
|
|
21049
|
+
return {
|
|
21050
|
+
...props,
|
|
21051
|
+
...prop,
|
|
21052
|
+
};
|
|
21053
|
+
}, {});
|
|
21054
|
+
});
|
|
21055
|
+
return propsCombinations.map((combo) => {
|
|
21056
|
+
const example = { ...props, ...combo };
|
|
21057
|
+
return (index.h("div", null,
|
|
21058
|
+
index.h(PropsTable, { values: example }),
|
|
21059
|
+
index.h("hr", null),
|
|
21060
|
+
index.h(Component, Object.assign({}, example))));
|
|
21061
|
+
});
|
|
21062
|
+
}
|
|
21063
|
+
function PropsTable({ values }) {
|
|
21064
|
+
return (index.h("table", null,
|
|
21065
|
+
index.h("tbody", null, Object.keys(values).map((key) => {
|
|
21066
|
+
return (index.h("tr", null,
|
|
21067
|
+
index.h("th", null, key),
|
|
21068
|
+
index.h("td", null, JSON.stringify(values[key]))));
|
|
21069
|
+
}))));
|
|
21070
|
+
}
|
|
21071
|
+
/**
|
|
21072
|
+
* Source: https://stackoverflow.com/questions/15298912/javascript-generating-combinations-from-n-arrays-with-m-elements
|
|
21073
|
+
*
|
|
21074
|
+
* TODO: Could replace with a fork of https://www.npmjs.com/package/cartesian
|
|
21075
|
+
*
|
|
21076
|
+
* @param args - an array of arrays
|
|
21077
|
+
* @returns combinations of the elements in those array
|
|
21078
|
+
*/
|
|
21079
|
+
function cartesian(...args) {
|
|
21080
|
+
var r = [], max = args.length - 1;
|
|
21081
|
+
function helper(arr, i) {
|
|
21082
|
+
for (var j = 0, l = args[i].length; j < l; j++) {
|
|
21083
|
+
var a = arr.slice(0); // clone arr
|
|
21084
|
+
a.push(args[i][j]);
|
|
21085
|
+
if (i == max)
|
|
21086
|
+
r.push(a);
|
|
21087
|
+
else
|
|
21088
|
+
helper(a, i + 1);
|
|
21089
|
+
}
|
|
21090
|
+
}
|
|
21091
|
+
helper([], 0);
|
|
21092
|
+
return r;
|
|
21093
|
+
}
|
|
21094
|
+
|
|
21013
21095
|
const checkmark_circle = () => {
|
|
21014
21096
|
return (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 18 18" },
|
|
21015
21097
|
index.h("path", { fill: "currentColor", "fill-rule": "evenodd", d: "M1.636 9a7.364 7.364 0 1114.728 0A7.364 7.364 0 011.636 9zM9 0a9 9 0 100 18A9 9 0 009 0zm5.192 6.266a.982.982 0 00-1.548-1.208l-4.787 6.137-2.58-2.58a.982.982 0 00-1.39 1.388l3.367 3.366a.982.982 0 001.468-.09l5.47-7.013z", "clip-rule": "evenodd" })));
|
|
@@ -21027,7 +21109,7 @@ const gift = () => {
|
|
|
21027
21109
|
};
|
|
21028
21110
|
|
|
21029
21111
|
function ProgressBarView(props) {
|
|
21030
|
-
const { progress = 0, goal = 1, steps = false, progressBarUnit = "", repeatable = false, complete = false, } = props;
|
|
21112
|
+
const { progress = 0, goal = 1, steps = false, progressBarUnit = "", repeatable = false, complete = false, expired = false, } = props;
|
|
21031
21113
|
console.log("progress bar props", props);
|
|
21032
21114
|
const gift1 = gift();
|
|
21033
21115
|
const gift2 = gift();
|
|
@@ -21056,7 +21138,10 @@ function ProgressBarView(props) {
|
|
|
21056
21138
|
ProgressBar: {
|
|
21057
21139
|
"& .progress-bar": {
|
|
21058
21140
|
height: "15px",
|
|
21059
|
-
marginTop: steps
|
|
21141
|
+
marginTop: steps
|
|
21142
|
+
? "var(--sl-spacing-medium)"
|
|
21143
|
+
: "var(--sl-spacing-large)",
|
|
21144
|
+
filter: expired ? "grayscale(1)" : "",
|
|
21060
21145
|
marginBottom: "var(--sl-spacing-xx-large)",
|
|
21061
21146
|
marginRight: "var(--sl-spacing-x-small)",
|
|
21062
21147
|
fontSize: "var(--sl-font-size-x-small)",
|
|
@@ -21074,7 +21159,9 @@ function ProgressBarView(props) {
|
|
|
21074
21159
|
width: "100%",
|
|
21075
21160
|
height: "4px",
|
|
21076
21161
|
borderRadius: "4px",
|
|
21077
|
-
backgroundColor: complete
|
|
21162
|
+
backgroundColor: complete
|
|
21163
|
+
? "var(--sl-color-success-500)"
|
|
21164
|
+
: "var(--sl-color-primary-500)",
|
|
21078
21165
|
},
|
|
21079
21166
|
"& .progress": {
|
|
21080
21167
|
display: "block",
|
|
@@ -21087,7 +21174,9 @@ function ProgressBarView(props) {
|
|
|
21087
21174
|
width: "12px",
|
|
21088
21175
|
height: "12px",
|
|
21089
21176
|
display: "flex",
|
|
21090
|
-
backgroundColor: complete
|
|
21177
|
+
backgroundColor: complete
|
|
21178
|
+
? "var(--sl-color-success-500)"
|
|
21179
|
+
: "var(--sl-color-primary-500)",
|
|
21091
21180
|
borderRadius: "50%",
|
|
21092
21181
|
position: "relative",
|
|
21093
21182
|
left: "47%",
|
|
@@ -21277,7 +21366,7 @@ function ProgressBarView(props) {
|
|
|
21277
21366
|
}
|
|
21278
21367
|
else {
|
|
21279
21368
|
items.push(index.h("div", { class: "remain" }));
|
|
21280
|
-
items.push(index.h("div", { class: "empty" },
|
|
21369
|
+
items.push(index.h("div", { class: "empty" }, i));
|
|
21281
21370
|
}
|
|
21282
21371
|
}
|
|
21283
21372
|
else if (i == goal) {
|
|
@@ -21335,7 +21424,6 @@ function ProgressBarView(props) {
|
|
|
21335
21424
|
}
|
|
21336
21425
|
|
|
21337
21426
|
function TaskCardView(props) {
|
|
21338
|
-
const { rewardAmount, cardTitle, description, showProgressBar, progress = 0, goal, rewardUnit, repeatable, showExpiry, dateExpires, buttonText, buttonLink, loading, } = props;
|
|
21339
21427
|
console.log({ props });
|
|
21340
21428
|
const checkmark_circle$1 = checkmark_circle();
|
|
21341
21429
|
const arrow_left_right$1 = arrow_left_right();
|
|
@@ -21349,16 +21437,28 @@ function TaskCardView(props) {
|
|
|
21349
21437
|
position: "relative",
|
|
21350
21438
|
boxSizing: "border-box",
|
|
21351
21439
|
minWidth: "347px",
|
|
21352
|
-
background: "var(--sl-color-
|
|
21353
|
-
border: "1px solid var(--sl-color-
|
|
21440
|
+
background: "var(--sl-color-neutral-0)",
|
|
21441
|
+
border: "1px solid var(--sl-color-neutral-300)",
|
|
21354
21442
|
borderRadius: "var(--sl-border-radius-medium)",
|
|
21355
21443
|
fontSize: "var(--sl-font-size-small)",
|
|
21356
21444
|
lineHeight: "var(--sl-line-height-dense)",
|
|
21445
|
+
color: "var(--sl-color-neutral-600)",
|
|
21357
21446
|
},
|
|
21358
21447
|
"& .main.complete": {
|
|
21359
21448
|
background: "var(--sl-color-success-50)",
|
|
21360
21449
|
borderColor: "var(--sl-color-success-700)",
|
|
21361
21450
|
},
|
|
21451
|
+
"& .main.expired": {
|
|
21452
|
+
color: "var(--sl-color-neutral-400)",
|
|
21453
|
+
background: "var(--sl-color-neutral-100)",
|
|
21454
|
+
},
|
|
21455
|
+
"& .title": {
|
|
21456
|
+
fontSize: "var(--sl-font-size-small)",
|
|
21457
|
+
fontWeight: "var(--sl-font-weight-semibold)",
|
|
21458
|
+
},
|
|
21459
|
+
"& .black": {
|
|
21460
|
+
color: "var(--sl-color-neutral-1000)",
|
|
21461
|
+
},
|
|
21362
21462
|
},
|
|
21363
21463
|
Header: {
|
|
21364
21464
|
display: "flex",
|
|
@@ -21371,7 +21471,6 @@ function TaskCardView(props) {
|
|
|
21371
21471
|
},
|
|
21372
21472
|
"& .value": {
|
|
21373
21473
|
alignSelf: "center",
|
|
21374
|
-
color: "var(--sl-color-black)",
|
|
21375
21474
|
fontSize: "var(--sl-font-size-x-large)",
|
|
21376
21475
|
fontWeight: "var(--sl-font-weight-semibold)",
|
|
21377
21476
|
lineHeight: "100%",
|
|
@@ -21380,16 +21479,21 @@ function TaskCardView(props) {
|
|
|
21380
21479
|
"& .text": {
|
|
21381
21480
|
alignSelf: "end",
|
|
21382
21481
|
textTransform: "uppercase",
|
|
21383
|
-
color: "var(--sl-color-gray-600)",
|
|
21384
21482
|
fontSize: "var(--sl-font-size-x-small)",
|
|
21385
21483
|
lineHeight: "var(--sl-font-size-medium)",
|
|
21386
21484
|
marginRight: "var(--sl-spacing-xx-small)",
|
|
21387
21485
|
},
|
|
21388
|
-
|
|
21389
|
-
|
|
21390
|
-
|
|
21391
|
-
|
|
21392
|
-
|
|
21486
|
+
"& .end": {
|
|
21487
|
+
color: "var(--sl-color-warning-600)",
|
|
21488
|
+
fontWeight: "var(--sl-font-weight-semibold)",
|
|
21489
|
+
marginBottom: "var(--sl-spacing-xx-small)",
|
|
21490
|
+
},
|
|
21491
|
+
"& .black": {
|
|
21492
|
+
color: "var(--sl-color-neutral-1000)",
|
|
21493
|
+
},
|
|
21494
|
+
"& .neutral": {
|
|
21495
|
+
color: "var(--sl-color-neutral-400)",
|
|
21496
|
+
},
|
|
21393
21497
|
},
|
|
21394
21498
|
Footer: {
|
|
21395
21499
|
display: "flex",
|
|
@@ -21401,58 +21505,69 @@ function TaskCardView(props) {
|
|
|
21401
21505
|
marginTop: "auto",
|
|
21402
21506
|
verticalAlign: "text-bottom",
|
|
21403
21507
|
fontSize: "var(--sl-font-size-x-small)",
|
|
21404
|
-
color: "var(--sl-color-gray-600)",
|
|
21405
21508
|
},
|
|
21406
21509
|
"& .success": {
|
|
21407
|
-
color: "var(--sl-color-success-600)
|
|
21510
|
+
color: "var(--sl-color-success-600)",
|
|
21408
21511
|
fontWeight: "var(--sl-font-weight-semibold)",
|
|
21409
21512
|
},
|
|
21410
21513
|
"& .action": {
|
|
21411
21514
|
marginTop: "auto",
|
|
21412
21515
|
marginLeft: "auto",
|
|
21516
|
+
"&::part(base)": {
|
|
21517
|
+
color: "var(--sl-color-neutral-0)",
|
|
21518
|
+
borderRadius: "var(--sl-border-radius-medium)",
|
|
21519
|
+
},
|
|
21520
|
+
"&.disabled::part(base)": {
|
|
21521
|
+
border: "1px solid var(--sl-color-neutral-400)",
|
|
21522
|
+
background: "var(--sl-color-neutral-400)",
|
|
21523
|
+
},
|
|
21413
21524
|
},
|
|
21414
|
-
"&
|
|
21415
|
-
color: "var(--sl-color-
|
|
21416
|
-
background: "var(--sl-color-primary-500)",
|
|
21417
|
-
border: "1px solid var(--sl-color-primary-500)",
|
|
21418
|
-
borderRadius: "var(--sl-border-radius-medium)",
|
|
21419
|
-
},
|
|
21420
|
-
"& sl-button.action.completed::part(base) ": {
|
|
21421
|
-
border: "1px solid var(--sl-color-gray-300)!important",
|
|
21422
|
-
background: "var(--sl-color-gray-300)!important",
|
|
21525
|
+
"& .neutral": {
|
|
21526
|
+
color: "var(--sl-color-neutral-400)",
|
|
21423
21527
|
},
|
|
21424
21528
|
},
|
|
21425
21529
|
};
|
|
21426
21530
|
jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
|
|
21427
21531
|
const sheet = jssPresetDefault_esm.jss.createStyleSheet(style);
|
|
21428
21532
|
const styleString = sheet.toString();
|
|
21429
|
-
const showComplete = progress >= goal;
|
|
21430
|
-
const repetitions = showProgressBar
|
|
21431
|
-
|
|
21432
|
-
|
|
21533
|
+
const showComplete = props.progress >= props.goal;
|
|
21534
|
+
const repetitions = props.showProgressBar
|
|
21535
|
+
? Math.floor(props.progress / props.goal)
|
|
21536
|
+
: props.progress;
|
|
21537
|
+
const taskComplete = showComplete && props.repeatable === false;
|
|
21538
|
+
const dateExpire = props.showExpiry && luxon.DateTime.fromISO(props.dateExpires.split("/").pop());
|
|
21539
|
+
const taskExpired = props.showExpiry && luxon.DateTime.now() > dateExpire;
|
|
21540
|
+
const dateExpireText = dateExpire.toLocaleString(luxon.DateTime.DATE_FULL);
|
|
21541
|
+
console.log(taskExpired);
|
|
21433
21542
|
return (index.h("div", { class: sheet.classes.TaskCard },
|
|
21434
|
-
index.h("div", { class:
|
|
21543
|
+
index.h("div", { class: taskExpired ? "main expired" : taskComplete ? "main complete" : "main" },
|
|
21435
21544
|
index.h("style", { type: "text/css" }, styleString),
|
|
21436
|
-
index.h("div", { class: sheet.classes.Header },
|
|
21437
|
-
|
|
21438
|
-
|
|
21439
|
-
|
|
21440
|
-
|
|
21441
|
-
|
|
21442
|
-
|
|
21443
|
-
|
|
21545
|
+
index.h("div", { class: sheet.classes.Header }, props.loading ? (index.h("sl-skeleton", { style: { width: "22%", margin: "0" } })) : (index.h("div", null,
|
|
21546
|
+
taskExpired && (index.h("div", { class: "end" },
|
|
21547
|
+
" ",
|
|
21548
|
+
"Ended " + dateExpireText,
|
|
21549
|
+
" ")),
|
|
21550
|
+
showComplete && (index.h("span", { class: taskExpired ? "icon neutral" : "icon" }, checkmark_circle$1)),
|
|
21551
|
+
index.h("span", { class: taskExpired ? "value" : "value black" }, props.rewardAmount),
|
|
21552
|
+
index.h("span", { class: "text" }, props.rewardUnit)))),
|
|
21553
|
+
props.loading ? (index.h("sl-skeleton", { style: { width: "42%", margin: "0 16px" } })) : (index.h("div", { class: taskExpired ? "title" : "title black" }, props.cardTitle)),
|
|
21554
|
+
props.loading ? (index.h("sl-skeleton", { style: { width: "91%", margin: "12px 16px" } })) : (index.h(Details, Object.assign({}, props))),
|
|
21555
|
+
props.showProgressBar && props.loading ? (index.h("sl-skeleton", { style: { width: "91%", margin: "0 auto" } })) : (props.showProgressBar && (index.h(ProgressBarView, Object.assign({}, props, { complete: taskComplete, expired: taskExpired })))),
|
|
21556
|
+
index.h("div", { class: sheet.classes.Footer }, props.loading ? (index.h("sl-skeleton", { style: { width: "25%", marginLeft: "auto" } })) : (index.h("div", { style: { display: "contents" } },
|
|
21444
21557
|
index.h("span", { class: "text" },
|
|
21445
|
-
repeatable && (index.h("div", null,
|
|
21446
|
-
index.h("span", { class: repetitions > 0
|
|
21447
|
-
|
|
21448
|
-
|
|
21449
|
-
|
|
21450
|
-
|
|
21451
|
-
|
|
21452
|
-
|
|
21453
|
-
|
|
21454
|
-
|
|
21455
|
-
|
|
21558
|
+
props.repeatable && (index.h("div", null,
|
|
21559
|
+
index.h("span", { class: repetitions > 0
|
|
21560
|
+
? taskExpired
|
|
21561
|
+
? "icon neutral"
|
|
21562
|
+
: "icon success"
|
|
21563
|
+
: "icon" }, arrow_left_right$1),
|
|
21564
|
+
index.h("span", { class: repetitions > 0
|
|
21565
|
+
? taskExpired
|
|
21566
|
+
? "neutral"
|
|
21567
|
+
: "success"
|
|
21568
|
+
: "" }, "Completed " + repetitions + " times"))),
|
|
21569
|
+
props.showExpiry && !taskExpired && (index.h("span", null, "Ends " + dateExpireText))),
|
|
21570
|
+
index.h("sl-button", { class: taskComplete || taskExpired ? "action disabled" : "action", type: "primary", size: "small", onClick: () => window.open(props.buttonLink), disabled: taskComplete || taskExpired }, props.buttonText)))))));
|
|
21456
21571
|
}
|
|
21457
21572
|
function Details(props) {
|
|
21458
21573
|
const style = {
|
|
@@ -21467,7 +21582,7 @@ function Details(props) {
|
|
|
21467
21582
|
position: "absolute",
|
|
21468
21583
|
top: "var(--sl-spacing-medium)",
|
|
21469
21584
|
right: "var(--sl-spacing-medium)",
|
|
21470
|
-
color: "var(--sl-color-
|
|
21585
|
+
color: "var(--sl-color-neutral-700)",
|
|
21471
21586
|
fontSize: "var(--sl-font-size-large)",
|
|
21472
21587
|
"& :hover": {
|
|
21473
21588
|
color: "var(--sl-color-primary-700)",
|
|
@@ -21476,16 +21591,21 @@ function Details(props) {
|
|
|
21476
21591
|
transition: "transform var(--sl-transition-medium) ease",
|
|
21477
21592
|
},
|
|
21478
21593
|
"& input:checked ~ .summary": {
|
|
21479
|
-
transition: "
|
|
21594
|
+
transition: "all var(--sl-transition-medium) ease",
|
|
21480
21595
|
maxHeight: "300px",
|
|
21596
|
+
marginBottom: props.steps
|
|
21597
|
+
? "var(--sl-spacing-large)"
|
|
21598
|
+
: props.showProgressBar
|
|
21599
|
+
? "var(--sl-spacing-xx-large)"
|
|
21600
|
+
: "var(--sl-spacing-large)",
|
|
21481
21601
|
},
|
|
21482
21602
|
"& .summary": {
|
|
21483
21603
|
display: "block",
|
|
21484
21604
|
overflow: "hidden",
|
|
21485
|
-
|
|
21486
|
-
fontSize: "var(--sl-font-size-x-small)",
|
|
21605
|
+
fontSize: "var(--sl-font-size-small)",
|
|
21487
21606
|
maxHeight: "0px",
|
|
21488
|
-
transition: "
|
|
21607
|
+
transition: "all var(--sl-transition-fast) ease-out",
|
|
21608
|
+
marginBottom: "var(--sl-spacing-medium)",
|
|
21489
21609
|
},
|
|
21490
21610
|
},
|
|
21491
21611
|
};
|
|
@@ -21502,14 +21622,21 @@ function Details(props) {
|
|
|
21502
21622
|
index.h("span", { class: "summary" }, props.description))));
|
|
21503
21623
|
}
|
|
21504
21624
|
|
|
21505
|
-
const
|
|
21625
|
+
const scenarioTaskCard = "@author:derek\r\n@owner:\r\nFeature: Task Card\r\n\r\n\tScenario: A header, body title, description and a CTA button are always displayed\r\n\t\tGiven the Task Card is configured with the following props\r\n\t\t\t| prop | value |\r\n\t\t\t| rewardAmount | \"40\" |\r\n\t\t\t| rewardUnit | \"Points\" |\r\n\t\t\t| cardTitle | Complete a survey |\r\n\t\t\t| description | Fill out our survey form and receive points! |\r\n\t\t\t| buttonText | Take Survey |\r\n\t\t\t| buttonLink | https://example.com/ |\r\n\t\tWhen a user views the Task Card\r\n\t\tThen they see \"40 Points\" as the heading\r\n\t\tAnd the \"40\" is bolded\r\n\t\tAnd they see \"Complete a survey\" bolded in the body\r\n\t\tAnd a details icon in the top right hand corner\r\n\t\tAnd a button with text \"Take Survey\" in the bottom right hand corner\r\n\t\tWhen they click the button\r\n\t\tThen they are redirected to \"example.com\" in a new window\r\n\t\tWhen they click the details icon\r\n\t\tThen \"Fill out our survey form and receive points!\" is shown as the card description\r\n\r\n\tScenario: A loading state is displayed while the Task Card is loading\r\n\t\tGiven a Task Card component\r\n\t\tWhen a user views the Task Card\r\n\t\tThen a loading state is displayed\r\n\t\tWhen the Task Card has loaded\r\n\t\tThen the loading state disapears\r\n\r\n\tScenario Outline: The Progress Bar can be shown or hidden but is hidden by default\r\n\t\tGiven a Task Card component\r\n\t\tAnd it <mayHave> \"showProgressBar\" <value>\r\n\t\tWhen a user views the Task Card\r\n\t\tThen the progress bar <mayBe> displayed\r\n\t\tExamples:\r\n\t\t\t| mayHave | value | mayBe |\r\n\t\t\t| has | true | is |\r\n\t\t\t| has | false | isn't |\r\n\t\t\t| doesn't have | | isn't |\r\n\r\n\tScenario Outline: Tasks can be repeatable or one-time only but are one-time only be default\r\n\t\tGiven a Task Card component\r\n\t\tAnd it <mayHave> \"repeatable\" <value>\r\n\t\tAnd a user who has already completed the task\r\n\t\tWhen they views the Task Card\r\n\t\tThen they see a green checkmark icon beside the card heading\r\n\t\tAnd the card <mayBe> green\r\n\t\tAnd the card's border <mayBe> green\r\n\t\tAnd the CTA button <mayBe> disabled\r\n\t\tAnd the CTA button <mayBe> grey\r\n\t\tExamples:\r\n\t\t\t| mayHave | value | mayBe |\r\n\t\t\t| has | true | isn't |\r\n\t\t\t| has | false | is |\r\n\t\t\t| doesn't have | | is |\r\n\r\n\tScenario: Task Expiries can be configured and disable the CTA after the expiry\r\n\t\tGiven a Task Card component\r\n\t\tAnd it is configured for <expiry>\r\n\t\tWhen a user views the Card on <day>\r\n\t\tThen they the expiry on <cardLocation>\r\n\t\tAnd the text <mayBe> orange\r\n\t\tAnd the card <mayBe> disabled\r\n\t\tAnd the card <mayBe> grey\r\n\t\tAnd the user <mayBe> unable to complete the loyalty task\r\n\t\tExamples:\r\n\t\t\t| expiry | day | cardLocation | mayBe |\r\n\t\t\t| Dec 31 2021 11:59:59 | Dec 1st 2021 12:00:00 | bottom left | isn't |\r\n\t\t\t| Dec 31 2021 11:59:59 | Dec 31 2021 11:00:00 | top right | isn't |\r\n\t\t\t| Dec 31 2021 11:59:59 | Jan 15th 2022 10:00:00 | top right | is |\r\n\r\n\tScenario Outline: Task expiry can be hidden or shown but is hidden by default\r\n\t\tGiven a Task Card\r\n\t\tAnd it is configured with an expiry\r\n\t\tAnd it <mayHave> \"showExpiry\" <value>\r\n\t\tWhen a user views the Task card\r\n\t\tThen the expiry <mayBe> shown in the bottom left hand corner\r\n\t\tExamples:\r\n\t\t\t| mayHave | value | mayBe |\r\n\t\t\t| has | true | is |\r\n\t\t\t| has | false | isn't |\r\n\t\t\t| doesn't have | | isn't |\r\n\r\n\t#DS: Currently this text is non configurable and isnt set up for proper pluralization\r\n\tScenario Outline: A task completion count is displayed for repeatable tasks\r\n\t\tGiven a Task Card is configured for a repeatable task\r\n\t\tAnd has \"goalCompletionNumber\" <goalCompletionNumberValue>\r\n\t\tAnd a user with <userGoalProgress>\r\n\t\tWhen the user views the task card\r\n\t\tThen they see a repeat icon\r\n\t\tAnd the <text> in the bottom left hand corner\r\n\t\tAnd the <text> is green\r\n\t\tExamples:\r\n\t\t\t| goalCompletionNumber | userGoalProgress | text |\r\n\t\t\t| 1 | 0 | Completed 0 times |\r\n\t\t\t| 1 | 1 | Completed 1 times |\r\n\t\t\t| 1 | 2 | Completed 2 times |\r\n\t\t\t| 10 | 5 | Completed 0 times |\r\n\t\t\t| 10 | 12 | Completed 1 times |\r\n\t\t\t| 10 | 29 | Completed 2 times |\r\n\r\n\tScenario Outline: The source of a user's progress can be a custom field or a program goal\r\n\t\tGiven a Task Card is configured to have <progressSourcePath> progress source\r\n\t\tAnd a user\r\n\t\tWhen they view the Task card\r\n\t\tThen the value at <progressSourcePath> is used to benchmark their progress against the Goal Completion Count\r\n\t\tExamples:\r\n\t\t\t| value |\r\n\t\t\t| /customFields/activityCount |\r\n\t\t\t| /customFields/purchaseTotal |\r\n\t\t\t| /programGoals/count%2FComment-on-Article |\r\n\t\t\t| /programGoals/count/Referral-Started%2Freferrals |\r\n\r\n\tScenario Outline: The users completion of a goal is calculated by the Goal Completion Number\r\n\t\tGiven a Task Card is configured to have <goalValue>\r\n\t\tAnd a user who has <progressValue>\r\n\t\tWhen they view the Task Card\r\n\t\tThen they are shown to have <progressValue> towards <goalValue>\r\n\t\tWhen their progress grows larger than <goalValue>\r\n\t\tThen the task is marked as completed\r\n\t\tExamples:\r\n\t\t\t| goalValue | progressValue |\r\n\t\t\t| 1 | 0 |\r\n\t\t\t| 10 | 9 |\r\n\t\t\t| 5 | 2 |\r\n\r\n\tScenario: The Goal Completion Number defaults to 1\r\n\t\tGiven a Task Card without a configured \"goalCompletionNumber\"\r\n\t\tAnd a user who has <progressValue>\r\n\t\tWhen they view the Task Card\r\n\t\tThen it <mayBe> marked as completed\r\n\t\tExamples:\r\n\t\t\t| progressValue | mayBe |\r\n\t\t\t| 0 | isn't |\r\n\t\t\t| 1 | is |\r\n\t\t\t| 2 | is |";
|
|
21626
|
+
|
|
21627
|
+
const scenarioProgressBar = "@author:\r\n@owner:\r\nFeature: Task Card Progress Bar\r\n\r\n\tScenario Outline: Progress Bar\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> shows <progress> with <unit> above\r\n\t\tAnd gift icon has <color>\r\n\t\tAnd gift icon shows <goal> with <unit> below\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar | unit | color |\r\n\t\t\t| -100 | 500 | ●――――――――――――――――――🎁 | $ | no |\r\n\t\t\t| 0 | 500 | ●――――――――――――――――――🎁 | $ | no |\r\n\t\t\t| 250 | 500 | ―――――――――●―――――――――🎁 | $ | no |\r\n\t\t\t| 500 | 500 | ―――――――――――――――――――🎁 | $ | yes |\r\n\t\t\t| 1000 | 500 | ―――――――――――――――――――🎁 | $ | yes |\r\n\r\n\tScenario Outline: Progress Bar Steps\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tAnd steps is enabled\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> has incrementing steps from 1 to <goal>\r\n\t\tAnd gift icon has <color>\r\n\t\tAnd gift icon shows <goal> below\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar | color |\r\n\t\t\t| -1 | 5 | ―――○―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 0 | 5 | ―――○―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 1 | 5 | ―――●―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 5 | 5 | ―――○―――○―――○―――●―――🎁 | yes |\r\n\t\t\t| 7 | 5 | ―――○―――○―――○―――●―――🎁 | yes |\r\n\r\n\r\n\tScenario Outline: Progress Bar Repeatable\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> shows <progress> with <unit> above\r\n\t\tAnd <icon1> has <color1>\r\n\t\tAnd <icon2> has <color2>\r\n\t\tAnd <icon3> has <color3>\r\n\t\tAnd <icon1> shows <text1> below\r\n\t\tAnd <icon2> shows <text2> below\r\n\t\tAnd <icon3> shows <text3> below\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar | unit | icon1 | icon2 | icon3 | color1 | color2 | color3 | text 1 | text 2 | text 3 |\r\n\t\t\t| 250 | 500 | ――――●――――🎁―――――――🎁 | $ | NA | gift | gift | NA | no | no | NA | 500 | 1000 |\r\n\t\t\t| 500 | 500 | ―――――――――🎁―――――――🎁 | $ | NA | gift | gift | NA | yes | no | NA | 500 | 1000 |\r\n\t\t\t| 750 | 500 | ―――――――――🎁―――●―――🎁 | $ | NA | gift | gift | NA | yes | no | NA | 500 | 1000 |\r\n\t\t\t| 1000 | 500 | 🎁―――――――🎁―――――――🎁 | $ | gift | gift | gift | yes | yes | no | 500 | 1000 | 1500 |\r\n\t\t\t| 1250 | 500 | 🎁―――――――🎁―――●―――🎁 | $ | gift | gift | gift | yes | yes | no | 500 | 1000 | 1500 |\r\n\r\n\t# \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t math logic inside text ?\r\n\t# | 1250 | 500 | 🎁―――――――🎁―――●―――🎁 | gift | gift | gift | yes | yes | no | goal * (⌊ progress / goal ⌋ - 1) | goal * ⌊ progress / goal ⌋ | goal * (⌊ progress / goal ⌋ +1) |\r\n\r\n\r\n\tScenario Outline: Progress Bar Steps Repeatable\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tAnd steps is enabled\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> has incrementing steps\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar |";
|
|
21506
21628
|
|
|
21629
|
+
const scenario$5 = scenarioTaskCard + scenarioProgressBar;
|
|
21507
21630
|
const TaskCard_stories = {
|
|
21508
21631
|
title: "Components/Task Card/",
|
|
21509
21632
|
parameters: {
|
|
21510
21633
|
scenario: scenario$5,
|
|
21511
21634
|
},
|
|
21512
21635
|
};
|
|
21636
|
+
const storyFrame = {
|
|
21637
|
+
display: "inline-flex",
|
|
21638
|
+
gap: "32px",
|
|
21639
|
+
};
|
|
21513
21640
|
const resizable = {
|
|
21514
21641
|
width: "347px",
|
|
21515
21642
|
minWidth: "347px",
|
|
@@ -21517,49 +21644,55 @@ const resizable = {
|
|
|
21517
21644
|
height: "fit-content",
|
|
21518
21645
|
overflow: "hidden",
|
|
21519
21646
|
};
|
|
21520
|
-
const
|
|
21521
|
-
|
|
21522
|
-
|
|
21523
|
-
|
|
21524
|
-
|
|
21525
|
-
|
|
21526
|
-
|
|
21527
|
-
|
|
21528
|
-
|
|
21529
|
-
|
|
21530
|
-
|
|
21531
|
-
|
|
21532
|
-
|
|
21533
|
-
|
|
21534
|
-
|
|
21535
|
-
|
|
21536
|
-
|
|
21537
|
-
|
|
21538
|
-
|
|
21539
|
-
|
|
21540
|
-
|
|
21541
|
-
|
|
21542
|
-
|
|
21543
|
-
|
|
21544
|
-
|
|
21545
|
-
|
|
21546
|
-
|
|
21547
|
-
|
|
21548
|
-
|
|
21549
|
-
|
|
21550
|
-
|
|
21551
|
-
|
|
21552
|
-
|
|
21553
|
-
|
|
21554
|
-
|
|
21555
|
-
|
|
21556
|
-
|
|
21557
|
-
|
|
21558
|
-
|
|
21559
|
-
|
|
21560
|
-
|
|
21561
|
-
|
|
21562
|
-
|
|
21647
|
+
const oneAction = {
|
|
21648
|
+
rewardAmount: 20,
|
|
21649
|
+
rewardUnit: "Points",
|
|
21650
|
+
cardTitle: "Complete a survey",
|
|
21651
|
+
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21652
|
+
repeatable: false,
|
|
21653
|
+
showProgressBar: false,
|
|
21654
|
+
progress: 0,
|
|
21655
|
+
goal: 1,
|
|
21656
|
+
buttonText: "Take survey",
|
|
21657
|
+
buttonLink: "https://example.com/",
|
|
21658
|
+
showExpiry: false,
|
|
21659
|
+
dateExpires: null,
|
|
21660
|
+
loading: false,
|
|
21661
|
+
};
|
|
21662
|
+
const coupleActions = {
|
|
21663
|
+
rewardAmount: 40,
|
|
21664
|
+
rewardUnit: "Points",
|
|
21665
|
+
cardTitle: "Comment on 5 articles",
|
|
21666
|
+
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21667
|
+
repeatable: false,
|
|
21668
|
+
showProgressBar: true,
|
|
21669
|
+
steps: true,
|
|
21670
|
+
progress: 1,
|
|
21671
|
+
goal: 5,
|
|
21672
|
+
buttonText: "Take survey",
|
|
21673
|
+
buttonLink: "https://example.com/",
|
|
21674
|
+
showExpiry: false,
|
|
21675
|
+
dateExpires: null,
|
|
21676
|
+
loading: false,
|
|
21677
|
+
};
|
|
21678
|
+
const manyActions = {
|
|
21679
|
+
rewardAmount: 150,
|
|
21680
|
+
rewardUnit: "Points",
|
|
21681
|
+
cardTitle: "Spend $500 at our Store",
|
|
21682
|
+
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21683
|
+
repeatable: false,
|
|
21684
|
+
showProgressBar: true,
|
|
21685
|
+
progress: 100,
|
|
21686
|
+
goal: 500,
|
|
21687
|
+
progressBarUnit: "$",
|
|
21688
|
+
buttonText: "Take survey",
|
|
21689
|
+
buttonLink: "https://example.com/",
|
|
21690
|
+
showExpiry: false,
|
|
21691
|
+
dateExpires: null,
|
|
21692
|
+
loading: false,
|
|
21693
|
+
};
|
|
21694
|
+
const TaskCardNotRepeatable = () => {
|
|
21695
|
+
return (index.h("div", { style: storyFrame },
|
|
21563
21696
|
index.h("div", { style: resizable },
|
|
21564
21697
|
index.h("h4", null, "One Action"),
|
|
21565
21698
|
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 0 })),
|
|
@@ -21570,9 +21703,6 @@ const NotRepeatable = () => {
|
|
|
21570
21703
|
index.h("h5", null)),
|
|
21571
21704
|
index.h("div", { style: resizable },
|
|
21572
21705
|
index.h("h4", null, "A Couple Actions"),
|
|
21573
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 0 })),
|
|
21574
|
-
" ",
|
|
21575
|
-
index.h("h5", null),
|
|
21576
21706
|
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 1 })),
|
|
21577
21707
|
" ",
|
|
21578
21708
|
index.h("h5", null),
|
|
@@ -21581,9 +21711,6 @@ const NotRepeatable = () => {
|
|
|
21581
21711
|
index.h("h5", null)),
|
|
21582
21712
|
index.h("div", { style: resizable },
|
|
21583
21713
|
index.h("h4", null, "Many Actions"),
|
|
21584
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 0 })),
|
|
21585
|
-
" ",
|
|
21586
|
-
index.h("h5", null),
|
|
21587
21714
|
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 230 })),
|
|
21588
21715
|
" ",
|
|
21589
21716
|
index.h("h5", null),
|
|
@@ -21591,329 +21718,142 @@ const NotRepeatable = () => {
|
|
|
21591
21718
|
" ",
|
|
21592
21719
|
index.h("h5", null))));
|
|
21593
21720
|
};
|
|
21594
|
-
const
|
|
21595
|
-
|
|
21596
|
-
rewardAmount: 20,
|
|
21597
|
-
rewardUnit: "Points",
|
|
21598
|
-
cardTitle: "Complete a survey",
|
|
21599
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21600
|
-
buttonText: "Take survey",
|
|
21601
|
-
goal: 1,
|
|
21602
|
-
showExpiry: true,
|
|
21603
|
-
repeatable: false,
|
|
21604
|
-
dateExpires: "Nov 1, 2021",
|
|
21605
|
-
buttonLink: "https://example.com/",
|
|
21606
|
-
showProgressBar: false,
|
|
21607
|
-
loading: false,
|
|
21608
|
-
};
|
|
21609
|
-
const coupleActions = {
|
|
21610
|
-
rewardAmount: 40,
|
|
21611
|
-
rewardUnit: "Points",
|
|
21612
|
-
cardTitle: "Comment on 5 articles",
|
|
21613
|
-
showProgressBar: true,
|
|
21614
|
-
goal: 5,
|
|
21615
|
-
steps: true,
|
|
21616
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21617
|
-
buttonText: "Start reading",
|
|
21618
|
-
showExpiry: true,
|
|
21619
|
-
repeatable: false,
|
|
21620
|
-
dateExpires: "Nov 1, 2021",
|
|
21621
|
-
buttonLink: "https://example.com/",
|
|
21622
|
-
loading: false,
|
|
21623
|
-
};
|
|
21624
|
-
const manyActions = {
|
|
21625
|
-
rewardAmount: 150,
|
|
21626
|
-
rewardUnit: "Points",
|
|
21627
|
-
repeatable: false,
|
|
21628
|
-
cardTitle: "Spend $500 at our Store",
|
|
21629
|
-
showProgressBar: true,
|
|
21630
|
-
goal: 500,
|
|
21631
|
-
progressBarUnit: "$",
|
|
21632
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21633
|
-
buttonText: "Visit our Store",
|
|
21634
|
-
showExpiry: true,
|
|
21635
|
-
dateExpires: "Nov 1, 2021",
|
|
21636
|
-
buttonLink: "https://example.com/",
|
|
21637
|
-
loading: false,
|
|
21638
|
-
};
|
|
21639
|
-
return (index.h("div", { style: { display: "inline-flex", gap: "32px" } },
|
|
21721
|
+
const TaskCardRepeatable = () => {
|
|
21722
|
+
return (index.h("div", { style: storyFrame },
|
|
21640
21723
|
index.h("div", { style: resizable },
|
|
21641
21724
|
index.h("h4", null, "One Action"),
|
|
21642
|
-
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 0 })),
|
|
21725
|
+
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 0, repeatable: true })),
|
|
21643
21726
|
" ",
|
|
21644
21727
|
index.h("h5", null),
|
|
21645
|
-
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 1 })),
|
|
21728
|
+
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 1, repeatable: true })),
|
|
21646
21729
|
" ",
|
|
21647
21730
|
index.h("h5", null)),
|
|
21648
21731
|
index.h("div", { style: resizable },
|
|
21649
21732
|
index.h("h4", null, "A Couple Actions"),
|
|
21650
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress:
|
|
21651
|
-
" ",
|
|
21733
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 1, repeatable: true })),
|
|
21652
21734
|
index.h("h5", null),
|
|
21653
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress:
|
|
21654
|
-
" ",
|
|
21735
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 5, repeatable: true })),
|
|
21655
21736
|
index.h("h5", null),
|
|
21656
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress:
|
|
21657
|
-
"
|
|
21737
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 7, repeatable: true })),
|
|
21738
|
+
index.h("h5", null),
|
|
21739
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 10, repeatable: true })),
|
|
21658
21740
|
index.h("h5", null)),
|
|
21659
21741
|
index.h("div", { style: resizable },
|
|
21660
21742
|
index.h("h4", null, "Many Actions"),
|
|
21661
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress:
|
|
21662
|
-
" ",
|
|
21743
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 100, repeatable: true })),
|
|
21663
21744
|
index.h("h5", null),
|
|
21664
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress:
|
|
21665
|
-
" ",
|
|
21745
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 500, repeatable: true })),
|
|
21666
21746
|
index.h("h5", null),
|
|
21667
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress:
|
|
21668
|
-
"
|
|
21747
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 650, repeatable: true })),
|
|
21748
|
+
index.h("h5", null),
|
|
21749
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 1000, repeatable: true })),
|
|
21669
21750
|
index.h("h5", null))));
|
|
21670
21751
|
};
|
|
21671
|
-
const
|
|
21672
|
-
const
|
|
21673
|
-
|
|
21674
|
-
|
|
21675
|
-
showExpiry: false,
|
|
21676
|
-
cardTitle: "Complete a survey",
|
|
21677
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21678
|
-
buttonText: "Take survey",
|
|
21679
|
-
goal: 1,
|
|
21680
|
-
repeatable: true,
|
|
21681
|
-
buttonLink: "https://example.com/",
|
|
21682
|
-
showProgressBar: false,
|
|
21683
|
-
loading: false,
|
|
21684
|
-
};
|
|
21685
|
-
const coupleActions = {
|
|
21686
|
-
rewardAmount: 40,
|
|
21687
|
-
rewardUnit: "Points",
|
|
21688
|
-
showExpiry: false,
|
|
21689
|
-
cardTitle: "Comment on 5 articles",
|
|
21690
|
-
showProgressBar: true,
|
|
21691
|
-
repeatable: true,
|
|
21692
|
-
goal: 5,
|
|
21693
|
-
steps: true,
|
|
21694
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21695
|
-
buttonText: "Start reading",
|
|
21696
|
-
buttonLink: "https://example.com/",
|
|
21697
|
-
loading: false,
|
|
21698
|
-
};
|
|
21699
|
-
const manyActions = {
|
|
21700
|
-
rewardAmount: 150,
|
|
21701
|
-
rewardUnit: "Points",
|
|
21702
|
-
showExpiry: false,
|
|
21703
|
-
cardTitle: "Spend $500 at our Store",
|
|
21704
|
-
showProgressBar: true,
|
|
21705
|
-
repeatable: true,
|
|
21706
|
-
goal: 500,
|
|
21707
|
-
progressBarUnit: "$",
|
|
21708
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21709
|
-
buttonText: "Visit our Store",
|
|
21710
|
-
buttonLink: "https://example.com/",
|
|
21711
|
-
loading: false,
|
|
21752
|
+
const TaskCardDateExpires = () => {
|
|
21753
|
+
const expire = {
|
|
21754
|
+
showExpiry: true,
|
|
21755
|
+
dateExpires: "2021-12-01T08:00:00.000Z/2077-12-01T08:00:00.000Z",
|
|
21712
21756
|
};
|
|
21713
|
-
|
|
21757
|
+
const expireRepeat = { ...expire, repeatable: true };
|
|
21758
|
+
return (index.h("div", { style: storyFrame },
|
|
21714
21759
|
index.h("div", { style: resizable },
|
|
21715
21760
|
index.h("h4", null, "One Action"),
|
|
21716
|
-
index.h(TaskCardView, Object.assign({}, oneAction,
|
|
21761
|
+
index.h(TaskCardView, Object.assign({}, oneAction, expire)),
|
|
21717
21762
|
" ",
|
|
21718
21763
|
index.h("h5", null),
|
|
21719
|
-
index.h(TaskCardView, Object.assign({}, oneAction,
|
|
21764
|
+
index.h(TaskCardView, Object.assign({}, oneAction, expireRepeat)),
|
|
21720
21765
|
" ",
|
|
21721
21766
|
index.h("h5", null)),
|
|
21722
21767
|
index.h("div", { style: resizable },
|
|
21723
21768
|
index.h("h4", null, "A Couple Actions"),
|
|
21724
|
-
index.h(TaskCardView, Object.assign({}, coupleActions,
|
|
21769
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, expire)),
|
|
21725
21770
|
" ",
|
|
21726
21771
|
index.h("h5", null),
|
|
21727
|
-
index.h(TaskCardView, Object.assign({}, coupleActions,
|
|
21772
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, expireRepeat)),
|
|
21773
|
+
" ",
|
|
21774
|
+
index.h("h5", null)),
|
|
21775
|
+
index.h("div", { style: resizable },
|
|
21776
|
+
index.h("h4", null, "Many Actions"),
|
|
21777
|
+
index.h(TaskCardView, Object.assign({}, manyActions, expire)),
|
|
21728
21778
|
" ",
|
|
21729
21779
|
index.h("h5", null),
|
|
21730
|
-
index.h(TaskCardView, Object.assign({},
|
|
21780
|
+
index.h(TaskCardView, Object.assign({}, manyActions, expireRepeat)),
|
|
21781
|
+
" ",
|
|
21782
|
+
index.h("h5", null))));
|
|
21783
|
+
};
|
|
21784
|
+
const TaskCardLoading = () => {
|
|
21785
|
+
const loading = { loading: true };
|
|
21786
|
+
return (index.h("div", { style: storyFrame },
|
|
21787
|
+
index.h("div", { style: resizable },
|
|
21788
|
+
index.h("h4", null, "One Action"),
|
|
21789
|
+
index.h(TaskCardView, Object.assign({}, oneAction, loading)),
|
|
21731
21790
|
" ",
|
|
21732
21791
|
index.h("h5", null),
|
|
21733
|
-
index.h(TaskCardView, Object.assign({},
|
|
21792
|
+
index.h(TaskCardView, Object.assign({}, oneAction, loading)),
|
|
21734
21793
|
" ",
|
|
21735
21794
|
index.h("h5", null)),
|
|
21736
21795
|
index.h("div", { style: resizable },
|
|
21737
|
-
index.h("h4", null, "
|
|
21738
|
-
index.h(TaskCardView, Object.assign({},
|
|
21796
|
+
index.h("h4", null, "A Couple Actions"),
|
|
21797
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, loading)),
|
|
21739
21798
|
" ",
|
|
21740
21799
|
index.h("h5", null),
|
|
21741
|
-
index.h(TaskCardView, Object.assign({},
|
|
21800
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, loading)),
|
|
21742
21801
|
" ",
|
|
21743
|
-
index.h("h5", null),
|
|
21744
|
-
|
|
21802
|
+
index.h("h5", null)),
|
|
21803
|
+
index.h("div", { style: resizable },
|
|
21804
|
+
index.h("h4", null, "Many Actions"),
|
|
21805
|
+
index.h(TaskCardView, Object.assign({}, manyActions, loading)),
|
|
21745
21806
|
" ",
|
|
21746
21807
|
index.h("h5", null),
|
|
21747
|
-
index.h(TaskCardView, Object.assign({}, manyActions,
|
|
21808
|
+
index.h(TaskCardView, Object.assign({}, manyActions, loading)),
|
|
21748
21809
|
" ",
|
|
21749
21810
|
index.h("h5", null))));
|
|
21750
21811
|
};
|
|
21751
|
-
const
|
|
21752
|
-
const
|
|
21753
|
-
rewardAmount: 20,
|
|
21754
|
-
rewardUnit: "Points",
|
|
21755
|
-
cardTitle: "Complete a survey",
|
|
21756
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21757
|
-
buttonText: "Take survey",
|
|
21758
|
-
goal: 1,
|
|
21759
|
-
repeatable: true,
|
|
21760
|
-
showExpiry: true,
|
|
21761
|
-
dateExpires: "Nov 1, 2021",
|
|
21762
|
-
buttonLink: "https://example.com/",
|
|
21763
|
-
showProgressBar: false,
|
|
21764
|
-
loading: false,
|
|
21765
|
-
};
|
|
21766
|
-
const coupleActions = {
|
|
21767
|
-
rewardAmount: 40,
|
|
21768
|
-
rewardUnit: "Points",
|
|
21769
|
-
cardTitle: "Comment on 5 articles",
|
|
21770
|
-
showProgressBar: true,
|
|
21771
|
-
repeatable: true,
|
|
21772
|
-
goal: 5,
|
|
21773
|
-
steps: true,
|
|
21774
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21775
|
-
buttonText: "Start reading",
|
|
21776
|
-
showExpiry: true,
|
|
21777
|
-
dateExpires: "Nov 1, 2021",
|
|
21778
|
-
buttonLink: "https://example.com/",
|
|
21779
|
-
loading: false,
|
|
21780
|
-
};
|
|
21781
|
-
const manyActions = {
|
|
21782
|
-
rewardAmount: 150,
|
|
21783
|
-
rewardUnit: "Points",
|
|
21784
|
-
cardTitle: "Spend $500 at our Store",
|
|
21785
|
-
showProgressBar: true,
|
|
21786
|
-
repeatable: true,
|
|
21787
|
-
goal: 500,
|
|
21788
|
-
progressBarUnit: "$",
|
|
21789
|
-
description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
|
|
21790
|
-
buttonText: "Visit our Store",
|
|
21812
|
+
const TaskCardExpired = () => {
|
|
21813
|
+
const expire = {
|
|
21791
21814
|
showExpiry: true,
|
|
21792
|
-
dateExpires: "
|
|
21793
|
-
buttonLink: "https://example.com/",
|
|
21794
|
-
loading: false,
|
|
21815
|
+
dateExpires: "2021-12-01T08:00:00.000Z/2021-12-01T08:00:00.000Z",
|
|
21795
21816
|
};
|
|
21796
|
-
|
|
21817
|
+
const expireRepeat = { ...expire, repeatable: true };
|
|
21818
|
+
return (index.h("div", { style: storyFrame },
|
|
21797
21819
|
index.h("div", { style: resizable },
|
|
21798
21820
|
index.h("h4", null, "One Action"),
|
|
21799
|
-
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 0 })),
|
|
21821
|
+
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 0 }, expire)),
|
|
21800
21822
|
" ",
|
|
21801
21823
|
index.h("h5", null),
|
|
21802
|
-
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 1 })),
|
|
21824
|
+
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 1 }, expire)),
|
|
21825
|
+
" ",
|
|
21826
|
+
index.h("h5", null),
|
|
21827
|
+
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 0 }, expireRepeat)),
|
|
21828
|
+
" ",
|
|
21829
|
+
index.h("h5", null),
|
|
21830
|
+
index.h(TaskCardView, Object.assign({}, oneAction, { progress: 1 }, expireRepeat)),
|
|
21803
21831
|
" ",
|
|
21804
21832
|
index.h("h5", null)),
|
|
21805
21833
|
index.h("div", { style: resizable },
|
|
21806
21834
|
index.h("h4", null, "A Couple Actions"),
|
|
21807
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 1 })),
|
|
21835
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 1 }, expire)),
|
|
21808
21836
|
" ",
|
|
21809
21837
|
index.h("h5", null),
|
|
21810
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 5 })),
|
|
21838
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 5 }, expire)),
|
|
21811
21839
|
" ",
|
|
21812
21840
|
index.h("h5", null),
|
|
21813
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress:
|
|
21814
|
-
" ",
|
|
21841
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 1 }, expireRepeat)),
|
|
21815
21842
|
index.h("h5", null),
|
|
21816
|
-
index.h(TaskCardView, Object.assign({}, coupleActions, { progress:
|
|
21817
|
-
" ",
|
|
21843
|
+
index.h(TaskCardView, Object.assign({}, coupleActions, { progress: 5 }, expireRepeat)),
|
|
21818
21844
|
index.h("h5", null)),
|
|
21819
21845
|
index.h("div", { style: resizable },
|
|
21820
21846
|
index.h("h4", null, "Many Actions"),
|
|
21821
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 100 })),
|
|
21847
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 100 }, expire)),
|
|
21822
21848
|
" ",
|
|
21823
21849
|
index.h("h5", null),
|
|
21824
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 500 })),
|
|
21850
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 500 }, expire)),
|
|
21825
21851
|
" ",
|
|
21826
21852
|
index.h("h5", null),
|
|
21827
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress:
|
|
21828
|
-
" ",
|
|
21853
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 100 }, expireRepeat)),
|
|
21829
21854
|
index.h("h5", null),
|
|
21830
|
-
index.h(TaskCardView, Object.assign({}, manyActions, { progress:
|
|
21831
|
-
" ",
|
|
21855
|
+
index.h(TaskCardView, Object.assign({}, manyActions, { progress: 500 }, expireRepeat)),
|
|
21832
21856
|
index.h("h5", null))));
|
|
21833
|
-
};
|
|
21834
|
-
|
|
21835
|
-
const TaskCard$1 = /*#__PURE__*/Object.freeze({
|
|
21836
|
-
__proto__: null,
|
|
21837
|
-
'default': TaskCard_stories,
|
|
21838
|
-
NotRepeatable: NotRepeatable,
|
|
21839
|
-
NotRepeatableWithExpiry: NotRepeatableWithExpiry,
|
|
21840
|
-
Repeatable: Repeatable,
|
|
21841
|
-
RepeatableWithExpiry: RepeatableWithExpiry
|
|
21842
|
-
});
|
|
21843
|
-
|
|
21844
|
-
/**
|
|
21845
|
-
* Displays a cartesian product of the input props
|
|
21846
|
-
*
|
|
21847
|
-
* @returns
|
|
21848
|
-
*/
|
|
21849
|
-
function MatrixStory({ matrix, props, Component, }) {
|
|
21850
|
-
const propMatrix = Object.keys(matrix).map((propKey) => {
|
|
21851
|
-
const propValues = matrix[propKey];
|
|
21852
|
-
return propValues.map((val) => {
|
|
21853
|
-
return {
|
|
21854
|
-
[propKey]: val,
|
|
21855
|
-
};
|
|
21856
|
-
});
|
|
21857
|
-
});
|
|
21858
|
-
const combinations = cartesian(...propMatrix);
|
|
21859
|
-
const propsCombinations = combinations.map((combo) => {
|
|
21860
|
-
return combo.reduce((props, prop) => {
|
|
21861
|
-
return {
|
|
21862
|
-
...props,
|
|
21863
|
-
...prop,
|
|
21864
|
-
};
|
|
21865
|
-
}, {});
|
|
21866
|
-
});
|
|
21867
|
-
return propsCombinations.map((combo) => {
|
|
21868
|
-
const example = { ...props, ...combo };
|
|
21869
|
-
return (index.h("div", null,
|
|
21870
|
-
index.h(PropsTable, { values: example }),
|
|
21871
|
-
index.h("hr", null),
|
|
21872
|
-
index.h(Component, Object.assign({}, example))));
|
|
21873
|
-
});
|
|
21874
|
-
}
|
|
21875
|
-
function PropsTable({ values }) {
|
|
21876
|
-
return (index.h("table", null,
|
|
21877
|
-
index.h("tbody", null, Object.keys(values).map((key) => {
|
|
21878
|
-
return (index.h("tr", null,
|
|
21879
|
-
index.h("th", null, key),
|
|
21880
|
-
index.h("td", null, JSON.stringify(values[key]))));
|
|
21881
|
-
}))));
|
|
21882
|
-
}
|
|
21883
|
-
/**
|
|
21884
|
-
* Source: https://stackoverflow.com/questions/15298912/javascript-generating-combinations-from-n-arrays-with-m-elements
|
|
21885
|
-
*
|
|
21886
|
-
* TODO: Could replace with a fork of https://www.npmjs.com/package/cartesian
|
|
21887
|
-
*
|
|
21888
|
-
* @param args - an array of arrays
|
|
21889
|
-
* @returns combinations of the elements in those array
|
|
21890
|
-
*/
|
|
21891
|
-
function cartesian(...args) {
|
|
21892
|
-
var r = [], max = args.length - 1;
|
|
21893
|
-
function helper(arr, i) {
|
|
21894
|
-
for (var j = 0, l = args[i].length; j < l; j++) {
|
|
21895
|
-
var a = arr.slice(0); // clone arr
|
|
21896
|
-
a.push(args[i][j]);
|
|
21897
|
-
if (i == max)
|
|
21898
|
-
r.push(a);
|
|
21899
|
-
else
|
|
21900
|
-
helper(a, i + 1);
|
|
21901
|
-
}
|
|
21902
|
-
}
|
|
21903
|
-
helper([], 0);
|
|
21904
|
-
return r;
|
|
21905
|
-
}
|
|
21906
|
-
|
|
21907
|
-
const scenario$6 = "@author:\r\n@owner:\r\nFeature: Task Card Progress Bar\r\n\r\n\tScenario Outline: Progress Bar\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> shows <progress> with <unit> above\r\n\t\tAnd gift icon has <color>\r\n\t\tAnd gift icon shows <goal> with <unit> below\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar | unit | color |\r\n\t\t\t| -100 | 500 | ●――――――――――――――――――🎁 | $ | no |\r\n\t\t\t| 0 | 500 | ●――――――――――――――――――🎁 | $ | no |\r\n\t\t\t| 250 | 500 | ―――――――――●―――――――――🎁 | $ | no |\r\n\t\t\t| 500 | 500 | ―――――――――――――――――――🎁 | $ | yes |\r\n\t\t\t| 1000 | 500 | ―――――――――――――――――――🎁 | $ | yes |\r\n\r\n\tScenario Outline: Progress Bar Steps\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tAnd steps is enabled\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> has incrementing steps from 1 to <goal>\r\n\t\tAnd gift icon has <color>\r\n\t\tAnd gift icon shows <goal> below\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar | color |\r\n\t\t\t| -1 | 5 | ―――○―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 0 | 5 | ―――○―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 1 | 5 | ―――●―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 5 | 5 | ―――○―――○―――○―――●―――🎁 | yes |\r\n\t\t\t| 7 | 5 | ―――○―――○―――○―――●―――🎁 | yes |\r\n\r\n\r\n\tScenario Outline: Progress Bar Repeatable\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> shows <progress> with <unit> above\r\n\t\tAnd <icon1> has <color1>\r\n\t\tAnd <icon2> has <color2>\r\n\t\tAnd <icon3> has <color3>\r\n\t\tAnd <icon1> shows <text1> below\r\n\t\tAnd <icon2> shows <text2> below\r\n\t\tAnd <icon3> shows <text3> below\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar | unit | icon1 | icon2 | icon3 | color1 | color2 | color3 | text 1 | text 2 | text 3 |\r\n\t\t\t| 250 | 500 | ――――●――――🎁―――――――🎁 | $ | NA | gift | gift | NA | no | no | NA | 500 | 1000 |\r\n\t\t\t| 500 | 500 | ―――――――――🎁―――――――🎁 | $ | NA | gift | gift | NA | yes | no | NA | 500 | 1000 |\r\n\t\t\t| 750 | 500 | ―――――――――🎁―――●―――🎁 | $ | NA | gift | gift | NA | yes | no | NA | 500 | 1000 |\r\n\t\t\t| 1000 | 500 | 🎁―――――――🎁―――――――🎁 | $ | gift | gift | gift | yes | yes | no | 500 | 1000 | 1500 |\r\n\t\t\t| 1250 | 500 | 🎁―――――――🎁―――●―――🎁 | $ | gift | gift | gift | yes | yes | no | 500 | 1000 | 1500 |\r\n\r\n\t# \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t math logic inside text ?\r\n\t# | 1250 | 500 | 🎁―――――――🎁―――●―――🎁 | gift | gift | gift | yes | yes | no | goal * (⌊ progress / goal ⌋ - 1) | goal * ⌊ progress / goal ⌋ | goal * (⌊ progress / goal ⌋ +1) |\r\n\r\n\r\n\tScenario Outline: Progress Bar Steps Repeatable\r\n\r\n\t\tGiven <progress> and <goal>\r\n\t\tAnd steps is enabled\r\n\t\tThen I have <progressBar>\r\n\t\tAnd <progressBar> has incrementing steps\r\n\r\n\t\tExamples:\r\n\t\t\t| progress | goal | progressBar |";
|
|
21908
|
-
|
|
21909
|
-
const progressBar_stories = {
|
|
21910
|
-
title: "Components/Task Card Progress Bar",
|
|
21911
|
-
parameters: {
|
|
21912
|
-
scenario: scenario$6,
|
|
21913
|
-
},
|
|
21914
|
-
};
|
|
21915
|
-
const Default$a = () => {
|
|
21916
|
-
return index.h(ProgressBarView, null);
|
|
21917
21857
|
};
|
|
21918
21858
|
const ProgressBar$1 = () => {
|
|
21919
21859
|
const props = {
|
|
@@ -21956,10 +21896,14 @@ const ProgressBarStepsRepeatable = () => {
|
|
|
21956
21896
|
index.h(MatrixStory, { matrix: { progress: [1, 5, 7, 12] }, props: props, Component: ProgressBarView })));
|
|
21957
21897
|
};
|
|
21958
21898
|
|
|
21959
|
-
const
|
|
21899
|
+
const TaskCard$1 = /*#__PURE__*/Object.freeze({
|
|
21960
21900
|
__proto__: null,
|
|
21961
|
-
'default':
|
|
21962
|
-
|
|
21901
|
+
'default': TaskCard_stories,
|
|
21902
|
+
TaskCardNotRepeatable: TaskCardNotRepeatable,
|
|
21903
|
+
TaskCardRepeatable: TaskCardRepeatable,
|
|
21904
|
+
TaskCardDateExpires: TaskCardDateExpires,
|
|
21905
|
+
TaskCardLoading: TaskCardLoading,
|
|
21906
|
+
TaskCardExpired: TaskCardExpired,
|
|
21963
21907
|
ProgressBar: ProgressBar$1,
|
|
21964
21908
|
ProgressBarSteps: ProgressBarSteps,
|
|
21965
21909
|
ProgressBarRepeatable: ProgressBarRepeatable,
|
|
@@ -24978,7 +24922,7 @@ const ReferralIframeReadme = "# sqm-referral-iframe\r\n\r\n\r\n\r\n<!-- Auto Gen
|
|
|
24978
24922
|
|
|
24979
24923
|
const ForgotPasswordReadme = "# sqm-portal-forgot-password\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------- | -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Request Password Reset\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-forgot-password --> sqm-form-message\r\n style sqm-portal-forgot-password fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
24980
24924
|
|
|
24981
|
-
const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\
|
|
24925
|
+
const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| -------------------------- | ---------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; }; content?: { formData?: any; passwordField?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; refs?: { formRef: any; }; }` | `undefined` |\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\n| `enablePasswordValidation` | `enable-password-validation` | | `boolean` | `true` |\n| `hideInputs` | `hide-inputs` | | `boolean` | `false` |\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\n\n\n## Dependencies\n\n### Used by\n\n - [sqm-stencilbook](../sqm-stencilbook)\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n- [sqm-password-field](../sqm-password-field)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-register --> sqm-form-message\n sqm-portal-register --> sqm-password-field\n sqm-stencilbook --> sqm-portal-register\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
24982
24926
|
|
|
24983
24927
|
const EditProfileReadme = "# sqm-portal-profile\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------------------ | --------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\r\n| `countrytext` | `countrytext` | | `string` | `\"Country\"` |\r\n| `demoData` | -- | | `{ states?: { success: boolean; loading: boolean; submitDisabled: boolean; showCountry: boolean; formState: { country: string; firstName: string; lastName: string; errors: any; error: string; }; user: { id: string; accountId: string; firstName: string; lastName: string; email: string; countryCode: string; }; text: { firstnametext: string; lastnametext: string; emailtext: string; countrytext: string; editProfileHeader: string; editProfileSubHeader: string; submitChangeButtonText: string; }; }; }` | `undefined` |\r\n| `editProfileHeader` | `edit-profile-header` | | `string` | `\"Edit your profile\"` |\r\n| `editProfileSubHeader` | `edit-profile-sub-header` | | `string` | `\"Personal Information\"` |\r\n| `emailtext` | `emailtext` | | `string` | `\"Email\"` |\r\n| `firstnametext` | `firstnametext` | | `string` | `\"First Name\"` |\r\n| `lastnametext` | `lastnametext` | | `string` | `\"Last Name\"` |\r\n| `showCountry` | `show-country` | | `boolean` | `true` |\r\n| `submitChangeButtonText` | `submit-change-button-text` | | `string` | `\"Submit Changes\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-profile --> sqm-form-message\r\n style sqm-portal-profile fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
24984
24928
|
|
|
@@ -24986,7 +24930,7 @@ const ResetPasswordReadme = "# sqm-portal-reset-password\r\n\r\n\r\n\r\n<!-- Aut
|
|
|
24986
24930
|
|
|
24987
24931
|
const EmailVerificationReadme = "# sqm-portal-email-verification\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------------------- | --------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; }; content?: { email: string; verifyMessage: string; emailVerificationHeader: string; resendEmailButtonText: string; }; }` | `undefined` |\r\n| `emailVerificationHeader` | `email-verification-header` | | `string` | `\"Verify your email\"` |\r\n| `resendEmailButtonText` | `resend-email-button-text` | | `string` | `\"Re-send Email\"` |\r\n| `verifyMessage` | `verify-message` | | `string` | `\"A verification email was sent to {email}. Please verify your email to continue to the portal.\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-email-verification --> sqm-form-message\r\n style sqm-portal-email-verification fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
24988
24932
|
|
|
24989
|
-
const EmailVerifiedReadme = "# sqm-portal-verify-email\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\
|
|
24933
|
+
const EmailVerifiedReadme = "# sqm-portal-verify-email\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ---------- | ----------- | ----------- | ---------------------------------------------------------------------------------------------------- | ----------- |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; verified: boolean; }; data?: { oobCode: string; }; }` | `undefined` |\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-verify-email --> sqm-form-message\n style sqm-portal-verify-email fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
24990
24934
|
|
|
24991
24935
|
const PortalTemplates_stories = {
|
|
24992
24936
|
title: "Templates / Portal",
|
|
@@ -25184,7 +25128,7 @@ const ProgramMenu$1 = /*#__PURE__*/Object.freeze({
|
|
|
25184
25128
|
const PoweredByImg_stories = {
|
|
25185
25129
|
title: "Powered By",
|
|
25186
25130
|
};
|
|
25187
|
-
const Default$
|
|
25131
|
+
const Default$a = () => {
|
|
25188
25132
|
return index.h(sqmPortalFooterView.PoweredByImg, null);
|
|
25189
25133
|
};
|
|
25190
25134
|
const CustomColor = () => {
|
|
@@ -25197,17 +25141,17 @@ const CustomWidthAndHeight = () => {
|
|
|
25197
25141
|
const PoweredByImg = /*#__PURE__*/Object.freeze({
|
|
25198
25142
|
__proto__: null,
|
|
25199
25143
|
'default': PoweredByImg_stories,
|
|
25200
|
-
Default: Default$
|
|
25144
|
+
Default: Default$a,
|
|
25201
25145
|
CustomColor: CustomColor,
|
|
25202
25146
|
CustomWidthAndHeight: CustomWidthAndHeight
|
|
25203
25147
|
});
|
|
25204
25148
|
|
|
25205
|
-
const scenario$
|
|
25149
|
+
const scenario$6 = "Feature: Portal Footer\r\n\r\n Background: A user is viewing the portal\r\n Given a hosted portal\r\n And a user is viewing the portal\r\n And the portal has a footer\r\n\r\n Scenario Outline: FAQ and T&C links/text are configurable and open in a new page when clicked\r\n Given the footer has prop \"terms-link\" with value \"https://example.com/terms\"\r\n And prop \"terms-text\" with value \"Terms and Conditions\"\r\n And prop \"faq-link\" with value \"https://example.com/FAQ\"\r\n And prop \"faq-text\" with value \"Visit FAQ\"\r\n When a user clicks on the \"Visit FAQ\" link\r\n Then they will be redirected to \"https://example.com/FAQ\" in a new page\r\n When they go back to the portal\r\n And click on the \"Terms and Conditions\" link\r\n Then they will be redirected to \"https://example.com/terms\" in a new page\r\n\r\n Scenario Outline: FAQ/T&C Links are not shown if a link is not provided\r\n Given the footer does not have <linkProp>\r\n But it <mayHave> <textProp> with <value>\r\n Then the <link> will not be shown in the footer\r\n Examples:\r\n | linkProp | mayHave | textProp | value | link |\r\n | terms-link | has | termsText | Terms and Conditions | T&C Link |\r\n | faq-link | has | faqText | Visit FAQ | FAQ Link |\r\n | terms-link | doesn't have | | | T&C Link |\r\n | faq-link | doesn't have | | | FAQ Link |\r\n\r\n Scenario Outline: The support email and text is configurable but has a default\r\n Given the footer <mayHave> <emailPropWithValue>\r\n And the footer <mayAlsoHave> <textPropWithValue>\r\n Then the footer's support email text is <renderedEmailText>\r\n And the email address will be a mailto link with <mailtoEmail>\r\n When the user clicks on the email address mailto Link\r\n Then the users preferred email client will open with a draft email to <mailtoEmail>\r\n Examples:\r\n | mayHave | emailPropWithValue | mayAlsoHave | textPropWithValue | mailtoEmail | renderedEmailText |\r\n | has | support@saasquatch.com | has | For support please contact {email} | support@saasquatch.com | For support please contact support@saasquatch.com |\r\n | doesn't have | N/A | doesn't have | N/A | support@example.com | For program support, contact support@example.com |\r\n\r\n Scenario Outline: Powered by SaaSquatch is shown by default\r\n Given the footer <mayHaveProp> \"show-powered-by\" with <value>\r\n Then the powered by SaaSquatch image <mayBeShown>\r\n Examples:\r\n | mayHaveProp | value | mayBeShown |\r\n | has prop | true | is shown |\r\n | has prop | false | isn't shown |\r\n | has prop | test | is shown |\r\n | has prop | | is shown |\r\n | doesn't have prop | | is shown |\r\n\r\n Scenario: Powered By Saasquatch links out to \"https://saasquatch.com\"\r\n Given the footer has the powered by SaaSquatch image\r\n When a user clicks on it\r\n Then they will be redirected to \"https://saasquatch.com\" in a new page";
|
|
25206
25150
|
|
|
25207
25151
|
const PortalFooter_stories = {
|
|
25208
25152
|
title: "Portal Footer",
|
|
25209
25153
|
parameters: {
|
|
25210
|
-
scenario: scenario$
|
|
25154
|
+
scenario: scenario$6,
|
|
25211
25155
|
},
|
|
25212
25156
|
};
|
|
25213
25157
|
const defaultProps$9 = {
|
|
@@ -25236,12 +25180,12 @@ const PortalFooter = /*#__PURE__*/Object.freeze({
|
|
|
25236
25180
|
FooterNoPoweredBy: FooterNoPoweredBy
|
|
25237
25181
|
});
|
|
25238
25182
|
|
|
25239
|
-
const scenario$
|
|
25183
|
+
const scenario$7 = "Feature: Hero Unit\r\n\r\n Background: A portal with a hero unit exists\r\n Given a hosted portal\r\n And the portal has hero unit on the login page\r\n And a user is viewing the login page\r\n\r\n Scenario: The hero unit defaults to a single column layout\r\n Given a hero unit does not have a \"columns\" prop\r\n But the following html is wrapped by the hero unit\r\n \"\"\"\r\n <sqm-portal-login></sqm-portal-login>\r\n <div slot=\"secondary-column\">\r\n <h1 style=\"text-align:center\">Get Referring!</h1>\r\n <p style=\"text-align:center\">\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim\r\n ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut\r\n aliquip ex ea commodo consequat. Duis aute irure dolor in\r\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\r\n pariatur.\r\n </p>\r\n </div>\r\n \"\"\"\r\n Then only a single column will be displayed\r\n And within it will be the login component\r\n\r\n Scenario Outline: The hero unit supports single or dual column layouts\r\n Given a hero unit with prop \"columns\" having <columnValue>\r\n And it wraps <html>\r\n Then the hero unit displays <columnValue> columns\r\n Examples:\r\n | columnValue | html |\r\n | 1 | <h1>Column 1!</h1> |\r\n | 2 | <h1>Column 1!</h1><div slot=\"secondary-column\"><h1 style=\"text-align:center\">Column 2!</h1></div> |\r\n\r\n Scenario: HTML to be displayed in the second column comes from the \"secondary-column\" slot\r\n Given a hero unit with \"columns\" \"2\"\r\n And the following html\r\n \"\"\"\r\n <h1>Column 1!</h1>\r\n <div>\r\n <h1 style=\"text-align:center\">Column 2!</h1>\r\n </div>\r\n \"\"\"\r\n When the hero unit is rendered\r\n Then only one column is displayed with content\r\n And column 1 will contain the \"Column 1!\" text\r\n And column 1 will contain the \"Column 2!\" text\r\n When the div for column two is updated to have 'slot=\"secondary-column\"'\r\n Then the two columns are displayed with content\r\n And column 1 will contain the \"Column 1!\" text\r\n And column 2 will contain the \"Column 2!\" text\r\n\r\n Scenario Outline: A background for the hero unit can be set as an image or colour\r\n Given a hero unit with <backgroundPropValue>\r\n Then the background will be <background>\r\n Examples:\r\n | background | background |\r\n | https://images.unsplash.com/photo-1599676821464-3555954838d | image of misty mountains |\r\n | LightSlateGrey | light slate grey |\r\n | #00FF00 | green |\r\n | rgb(128,0,128) | purple |\r\n\r\n Scenario Outline: Wrap Direction can be configured for mobile experiences\r\n Given a hero unit with the following HTML\r\n \"\"\"\r\n <h1>Column 1!</h1>\r\n <div slot=\"secondary-column\">\r\n <h1 style=\"text-align:center\">Column 2!</h1>\r\n </div>\r\n \"\"\"\r\n And prop \"wrap-direction\" has <value>\r\n When the window width is less than 600px\r\n Then the two columns will stack\r\n And <column> will be on top\r\n Examples:\r\n | value | column |\r\n | wrap | 1 |\r\n | wrap-reverse | 2 |\r\n | | 1 |";
|
|
25240
25184
|
|
|
25241
25185
|
const Hero_stories = {
|
|
25242
25186
|
title: "Hero Layout",
|
|
25243
25187
|
parameters: {
|
|
25244
|
-
scenario: scenario$
|
|
25188
|
+
scenario: scenario$7,
|
|
25245
25189
|
},
|
|
25246
25190
|
};
|
|
25247
25191
|
const LoginOneColumn = () => {
|
|
@@ -25418,12 +25362,12 @@ const Hero = /*#__PURE__*/Object.freeze({
|
|
|
25418
25362
|
TwoColumnLoginWithImgElement: TwoColumnLoginWithImgElement
|
|
25419
25363
|
});
|
|
25420
25364
|
|
|
25421
|
-
const scenario$
|
|
25365
|
+
const scenario$8 = "@owner:sam\r\n@author:sam\r\n\r\nFeature: Referral Iframe\r\n\r\n Used to provide an external form for submitting referral leads using the current user's referral code\r\n\r\n Background: A user is logged in\r\n Given there is a logged in user\r\n\r\n @motivating\r\n Scenario: Referral code is passed to the iframe as a query parameter\r\n Given the \"iframe-src\" is \"https://example.com\"\r\n And the user has navigated to \"/refer\"\r\n And the user's referral code is \"BOBBYREFER\"\r\n When the iframe content is loaded\r\n Then the iframe url will be \"https://example.com?rsCode=BOBBYREFER\"\r\n\r\n @ui\r\n Scenario Outline: The height and width of the iFrame can be controlled via props\r\n Given the \"iframe-src\" is \"https://example.com\"\r\n And the iframe content is 1000x1000\r\n And the \"iframe-height\" is set to <heightValue>\r\n And the \"iframe-width\" is set to <widthValue>\r\n Then the content of the iframe will be displayed with scrollbars\r\n And the dimension of the iFrame displayed will be 500x500\r\n When the \"iframe-height\" is set to <heightValue>\r\n And the \"iframe-width\" is set to <widthValue>\r\n Then the full content of the iframe will be displayed on the page\r\n And the dimension of the iFrame displayed will be 1000x1000\r\n Examples:\r\n | heightValue | widthValue |\r\n | 500px | 500px |\r\n | 50% | 50% |\r\n\r\n @minutae\r\n Scenario Outline: The iFrame will fail fast if a iFrame source isn't provided\r\n Given \"iframe-src\" <mayBeAnAttribute>\r\n And it <mayHaveValue>\r\n When a user views the referral iFrame component\r\n Then an alert with an error message is displayed in place of the iFrame\r\n And it has a details section\r\n When \"More details\" is clicked\r\n Then the following information will be displayed\r\n | component being used |\r\n | missing attribute(s) |\r\n\r\n Examples:\r\n | mayBeAnAttribute | mayHaveValue |\r\n | is not an attribute | N/A |\r\n | is an attribute | \"\" |\r\n | is an attribute | |";
|
|
25422
25366
|
|
|
25423
25367
|
const ReferralIframe_stories = {
|
|
25424
25368
|
title: "Referral Iframe",
|
|
25425
25369
|
parameters: {
|
|
25426
|
-
scenario: scenario$
|
|
25370
|
+
scenario: scenario$8,
|
|
25427
25371
|
},
|
|
25428
25372
|
};
|
|
25429
25373
|
const props = {
|
|
@@ -25454,12 +25398,12 @@ const ReferralIframe$1 = /*#__PURE__*/Object.freeze({
|
|
|
25454
25398
|
ReferralIframeError: ReferralIframeError
|
|
25455
25399
|
});
|
|
25456
25400
|
|
|
25457
|
-
const scenario$
|
|
25401
|
+
const scenario$9 = "@owner:sam\r\n@author:sam\r\n\r\nFeature: Name Fields\r\n\r\n Fields to be used to fill the first and last name of a user during registration\r\n\r\n Background:\r\n Given the current page is \"/register\"\r\n\r\n @motivating\r\n Scenario: Both first name and last name are required\r\n Given the email field has valid input\r\n And the password field has valid input\r\n And first name field is empty\r\n And last name field is empty\r\n When register is clicked\r\n Then the name fields will be highlighted in red\r\n And the error messages will say \"Cannot be empty\"\r\n\r\n @motivating\r\n Scenario: First and last name are upserted with the SaaSquatch user\r\n Given all fields have been filled with data\r\n | firstName | lastName | email | password |\r\n | Bob | Testerson | bob@example.com | SecurePassword1 |\r\n When register is clicked\r\n Then the email verification page will be loaded\r\n And the user will be upserted\r\n And the SaaSquatch user will contain data\r\n | firstName | lastName | email |\r\n | Bob | Testerson | bob@example.com |\r\n\r\n";
|
|
25458
25402
|
|
|
25459
25403
|
const NameFields_stories = {
|
|
25460
25404
|
title: "Name Fields",
|
|
25461
25405
|
parameters: {
|
|
25462
|
-
scenario: scenario$
|
|
25406
|
+
scenario: scenario$9,
|
|
25463
25407
|
},
|
|
25464
25408
|
};
|
|
25465
25409
|
const props$1 = {
|
|
@@ -25512,7 +25456,7 @@ const baseResponse = (data) => ({
|
|
|
25512
25456
|
},
|
|
25513
25457
|
callbacks: {
|
|
25514
25458
|
exchangeReward: null,
|
|
25515
|
-
|
|
25459
|
+
resetState: null,
|
|
25516
25460
|
setStage: null,
|
|
25517
25461
|
setExchangeState: null,
|
|
25518
25462
|
refs: null,
|
|
@@ -25706,7 +25650,7 @@ const test2 = {
|
|
|
25706
25650
|
},
|
|
25707
25651
|
callbacks: {
|
|
25708
25652
|
exchangeReward: null,
|
|
25709
|
-
|
|
25653
|
+
resetState: null,
|
|
25710
25654
|
setStage: null,
|
|
25711
25655
|
setExchangeState: null,
|
|
25712
25656
|
refs: {
|
|
@@ -25726,7 +25670,7 @@ const resizable$1 = {
|
|
|
25726
25670
|
height: "fit-content",
|
|
25727
25671
|
overflow: "hidden",
|
|
25728
25672
|
};
|
|
25729
|
-
const Default$
|
|
25673
|
+
const Default$b = () => {
|
|
25730
25674
|
return (index.h("div", { style: resizable$1 },
|
|
25731
25675
|
index.h(RewardExchangeView, Object.assign({}, test))));
|
|
25732
25676
|
};
|
|
@@ -25738,7 +25682,7 @@ const Default2 = () => {
|
|
|
25738
25682
|
const RewardExchangeList = /*#__PURE__*/Object.freeze({
|
|
25739
25683
|
__proto__: null,
|
|
25740
25684
|
'default': RewardExchangeList_stories,
|
|
25741
|
-
Default: Default$
|
|
25685
|
+
Default: Default$b,
|
|
25742
25686
|
Default2: Default2
|
|
25743
25687
|
});
|
|
25744
25688
|
|
|
@@ -28362,7 +28306,6 @@ const stories = [
|
|
|
28362
28306
|
UserName,
|
|
28363
28307
|
PasswordField,
|
|
28364
28308
|
TaskCard$1,
|
|
28365
|
-
TaskCardProgressBar,
|
|
28366
28309
|
PortalTemplates,
|
|
28367
28310
|
ProgramMenu$1,
|
|
28368
28311
|
PoweredByImg,
|
|
@@ -28457,6 +28400,12 @@ const TaskCard$2 = class {
|
|
|
28457
28400
|
* @uiName Show Goal Expiry
|
|
28458
28401
|
*/
|
|
28459
28402
|
this.showExpiry = false;
|
|
28403
|
+
/**
|
|
28404
|
+
* @uiName Date Goal Expires
|
|
28405
|
+
* @uiWidget DateRange
|
|
28406
|
+
* @uiOptions {"allowPastDates":true, "months": 1}
|
|
28407
|
+
*/
|
|
28408
|
+
this.dateExpires = "/";
|
|
28460
28409
|
/**
|
|
28461
28410
|
* @uiName CTA Button Text
|
|
28462
28411
|
*/
|