@saasquatch/mint-components 1.5.0-13 → 1.5.0-17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/CHANGELOG.md +48 -24
  2. package/dist/cjs/{global-89f66e76.js → global-5ca2a131.js} +5 -5
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/mint-components.cjs.js +2 -2
  5. package/dist/cjs/sqm-big-stat.cjs.entry.js +1 -1
  6. package/dist/cjs/sqm-brand_39.cjs.entry.js +422 -238
  7. package/dist/cjs/sqm-card-feed-view-17fd3f0a.js +369 -0
  8. package/dist/cjs/sqm-card-feed.cjs.entry.js +4 -5
  9. package/dist/cjs/{sqm-leaderboard-rank-view-510f16d3.js → sqm-leaderboard-rank-view-dff9de2e.js} +1 -1
  10. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +2 -2
  11. package/dist/cjs/{sqm-portal-email-verification-view-5093ac20.js → sqm-portal-email-verification-view-f0cbd78b.js} +1 -1
  12. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +10 -3
  13. package/dist/cjs/{sqm-portal-footer-view-03408484.js → sqm-portal-footer-view-c714590c.js} +1 -1
  14. package/dist/cjs/sqm-portal-footer.cjs.entry.js +2 -2
  15. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +16 -4
  16. package/dist/cjs/{sqm-portal-profile-view-1a6327e4.js → sqm-portal-profile-view-f0233000.js} +3 -2
  17. package/dist/cjs/sqm-portal-profile.cjs.entry.js +2 -2
  18. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +9 -1
  19. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +10 -2
  20. package/dist/cjs/{sqm-program-explainer-step-view-54424840.js → sqm-program-explainer-step-view-17c5e99d.js} +4 -4
  21. package/dist/cjs/sqm-program-explainer-step.cjs.entry.js +1 -1
  22. package/dist/cjs/{sqm-program-explainer-view-db516613.js → sqm-program-explainer-view-d516c9df.js} +2 -2
  23. package/dist/cjs/sqm-program-explainer.cjs.entry.js +1 -1
  24. package/dist/cjs/{useDemoBigStat-5f770877.js → useDemoBigStat-49cd314a.js} +1 -2
  25. package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +20 -0
  26. package/dist/collection/components/sqm-big-stat/useBigStat.js +1 -2
  27. package/dist/collection/components/sqm-card-feed/CardFeed.stories.js +13 -1
  28. package/dist/collection/components/sqm-card-feed/sqm-card-feed-view.js +7 -10
  29. package/dist/collection/components/sqm-card-feed/sqm-card-feed.js +9 -13
  30. package/dist/collection/components/sqm-portal-container/PortalContainer.stories.js +11 -1
  31. package/dist/collection/components/sqm-portal-container/sqm-portal-container-view.js +2 -1
  32. package/dist/collection/components/sqm-portal-container/sqm-portal-container.js +25 -0
  33. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +27 -0
  34. package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +2 -1
  35. package/dist/collection/components/sqm-portal-forgot-password/PortalForgotPassword.stories.js +4 -0
  36. package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +55 -3
  37. package/dist/collection/components/sqm-portal-forgot-password/usePortalForgotPassword.js +4 -2
  38. package/dist/collection/components/sqm-portal-login/PortalLogin.stories.js +6 -0
  39. package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +59 -4
  40. package/dist/collection/components/sqm-portal-login/usePortalLogin.js +4 -2
  41. package/dist/collection/components/sqm-portal-register/PortalRegister.stories.js +5 -0
  42. package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +55 -2
  43. package/dist/collection/components/sqm-portal-register/usePortalRegister.js +3 -0
  44. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +30 -1
  45. package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +1 -1
  46. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +30 -1
  47. package/dist/collection/components/sqm-portal-verify-email/usePortalVerifyEmail.js +2 -2
  48. package/dist/collection/components/sqm-program-explainer/ProgramExplainer.stories.js +1 -1
  49. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer-view.js +2 -2
  50. package/dist/collection/components/sqm-program-explainer-step/ProgramExplainerStep.stories.js +1 -1
  51. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step-view.js +5 -5
  52. package/dist/collection/components/sqm-referral-table/sqm-referral-table.js +5 -2
  53. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +13 -8
  54. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +91 -114
  55. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +113 -5
  56. package/dist/collection/components/sqm-share-button/ShareButton.stories.js +21 -0
  57. package/dist/collection/components/sqm-share-button/sqm-share-button-view.js +17 -9
  58. package/dist/collection/components/sqm-share-button/sqm-share-button.js +62 -10
  59. package/dist/collection/components/sqm-task-card/TaskCard.stories.js +12 -0
  60. package/dist/collection/components/sqm-task-card/progress-bar/SVGs.js +1 -1
  61. package/dist/collection/components/sqm-task-card/progress-bar/progress-bar-view.js +24 -31
  62. package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +79 -22
  63. package/dist/collection/components/sqm-task-card/sqm-task-card.js +106 -0
  64. package/dist/collection/components/sqm-user-name/sqm-user-name.js +1 -1
  65. package/dist/collection/global/styles.js +5 -5
  66. package/dist/collection/global/styles.ts +5 -5
  67. package/dist/esm/{global-e0e25c22.js → global-1c68ff6e.js} +5 -5
  68. package/dist/esm/loader.js +2 -2
  69. package/dist/esm/mint-components.js +2 -2
  70. package/dist/esm/sqm-big-stat.entry.js +1 -1
  71. package/dist/esm/sqm-brand_39.entry.js +422 -238
  72. package/dist/esm/sqm-card-feed-view-cdd1f818.js +367 -0
  73. package/dist/esm/sqm-card-feed.entry.js +4 -5
  74. package/dist/esm/{sqm-leaderboard-rank-view-cd1e8962.js → sqm-leaderboard-rank-view-95e6fb4f.js} +1 -1
  75. package/dist/esm/sqm-leaderboard-rank.entry.js +2 -2
  76. package/dist/esm/{sqm-portal-email-verification-view-2af31979.js → sqm-portal-email-verification-view-71eb8adb.js} +1 -1
  77. package/dist/esm/sqm-portal-email-verification.entry.js +10 -3
  78. package/dist/esm/{sqm-portal-footer-view-60cd9ae5.js → sqm-portal-footer-view-5cb00c4e.js} +1 -1
  79. package/dist/esm/sqm-portal-footer.entry.js +2 -2
  80. package/dist/esm/sqm-portal-forgot-password.entry.js +16 -4
  81. package/dist/esm/{sqm-portal-profile-view-ba06e776.js → sqm-portal-profile-view-864dd5b5.js} +3 -2
  82. package/dist/esm/sqm-portal-profile.entry.js +2 -2
  83. package/dist/esm/sqm-portal-reset-password.entry.js +9 -1
  84. package/dist/esm/sqm-portal-verify-email.entry.js +10 -2
  85. package/dist/esm/{sqm-program-explainer-step-view-7c0d5f71.js → sqm-program-explainer-step-view-e2b39225.js} +4 -4
  86. package/dist/esm/sqm-program-explainer-step.entry.js +1 -1
  87. package/dist/esm/{sqm-program-explainer-view-ab291eb4.js → sqm-program-explainer-view-f726f5ec.js} +2 -2
  88. package/dist/esm/sqm-program-explainer.entry.js +1 -1
  89. package/dist/esm/{useDemoBigStat-a0dd50ab.js → useDemoBigStat-acd4b73f.js} +1 -2
  90. package/dist/esm-es5/{global-e0e25c22.js → global-1c68ff6e.js} +1 -1
  91. package/dist/esm-es5/loader.js +1 -1
  92. package/dist/esm-es5/mint-components.js +1 -1
  93. package/dist/esm-es5/sqm-big-stat.entry.js +1 -1
  94. package/dist/esm-es5/sqm-brand_39.entry.js +1 -1
  95. package/dist/esm-es5/sqm-card-feed-view-cdd1f818.js +1 -0
  96. package/dist/esm-es5/sqm-card-feed.entry.js +1 -1
  97. package/dist/esm-es5/{sqm-leaderboard-rank-view-cd1e8962.js → sqm-leaderboard-rank-view-95e6fb4f.js} +1 -1
  98. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  99. package/dist/esm-es5/{sqm-portal-email-verification-view-2af31979.js → sqm-portal-email-verification-view-71eb8adb.js} +1 -1
  100. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  101. package/dist/esm-es5/{sqm-portal-footer-view-60cd9ae5.js → sqm-portal-footer-view-5cb00c4e.js} +1 -1
  102. package/dist/esm-es5/sqm-portal-footer.entry.js +1 -1
  103. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  104. package/dist/esm-es5/sqm-portal-profile-view-864dd5b5.js +1 -0
  105. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  106. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  107. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  108. package/dist/esm-es5/{sqm-program-explainer-step-view-7c0d5f71.js → sqm-program-explainer-step-view-e2b39225.js} +1 -1
  109. package/dist/esm-es5/sqm-program-explainer-step.entry.js +1 -1
  110. package/dist/esm-es5/{sqm-program-explainer-view-ab291eb4.js → sqm-program-explainer-view-f726f5ec.js} +1 -1
  111. package/dist/esm-es5/sqm-program-explainer.entry.js +1 -1
  112. package/dist/esm-es5/{useDemoBigStat-a0dd50ab.js → useDemoBigStat-acd4b73f.js} +1 -1
  113. package/dist/mint-components/global/styles.ts +5 -5
  114. package/dist/mint-components/mint-components.esm.js +1 -1
  115. package/dist/mint-components/mint-components.js +1 -1
  116. package/dist/mint-components/{p-bbb06296.entry.js → p-05de158b.entry.js} +1 -1
  117. package/dist/mint-components/p-0b7cc270.system.js +1 -0
  118. package/dist/mint-components/p-172e487a.system.entry.js +1 -0
  119. package/dist/mint-components/{p-759d3800.entry.js → p-26e63ecb.entry.js} +2 -2
  120. package/dist/mint-components/{p-376a0b37.js → p-35ee8cdf.js} +1 -1
  121. package/dist/mint-components/p-3e187434.system.js +1 -0
  122. package/dist/mint-components/{p-5001b2d1.system.js → p-5744f326.system.js} +1 -1
  123. package/dist/mint-components/p-5896caca.system.js +1 -0
  124. package/dist/mint-components/p-59cc7a26.system.entry.js +1 -0
  125. package/dist/mint-components/{p-8b523e73.entry.js → p-5b9a5dfa.entry.js} +1 -1
  126. package/dist/mint-components/{p-f79454fc.entry.js → p-69e273b4.entry.js} +1 -1
  127. package/dist/mint-components/p-6b8d51d6.entry.js +1 -0
  128. package/dist/mint-components/{p-0d0ec6fd.system.entry.js → p-6caa44e1.system.entry.js} +1 -1
  129. package/dist/mint-components/{p-0e95b67b.js → p-700f96f5.js} +1 -1
  130. package/dist/mint-components/{p-a8246a50.system.entry.js → p-71b6d552.system.entry.js} +1 -1
  131. package/dist/mint-components/{p-02dc36a4.system.js → p-7638bf48.system.js} +1 -1
  132. package/dist/mint-components/p-7798ebd4.js +1 -0
  133. package/dist/mint-components/{p-0e8ae7e3.system.js → p-79baab87.system.js} +1 -1
  134. package/dist/mint-components/p-7f6d37d8.entry.js +1 -0
  135. package/dist/mint-components/p-878ff4ca.entry.js +1 -0
  136. package/dist/mint-components/{p-4fc31af7.system.js → p-89d63744.system.js} +1 -1
  137. package/dist/mint-components/p-8c3d0392.system.entry.js +1 -0
  138. package/dist/mint-components/{p-8a261335.system.entry.js → p-8f58ce03.system.entry.js} +1 -1
  139. package/dist/mint-components/p-9a82ec56.entry.js +1 -0
  140. package/dist/mint-components/{p-21b4044a.entry.js → p-9bc12158.entry.js} +1 -1
  141. package/dist/mint-components/p-a3a5c48f.js +1 -0
  142. package/dist/mint-components/{p-2027edc0.system.entry.js → p-a424ac85.system.entry.js} +1 -1
  143. package/dist/mint-components/{p-1f95b411.js → p-a72143af.js} +1 -1
  144. package/dist/mint-components/p-b0d598db.system.entry.js +1 -0
  145. package/dist/mint-components/p-b11625ed.system.entry.js +1 -0
  146. package/dist/mint-components/p-b2cbbcce.system.js +1 -0
  147. package/dist/mint-components/p-ba1f4bf4.system.entry.js +1 -0
  148. package/dist/mint-components/{p-f8f125a7.system.js → p-bb7fd343.system.js} +1 -1
  149. package/dist/mint-components/{p-11cd0656.js → p-bd0887fb.js} +1 -1
  150. package/dist/mint-components/{p-72a5a051.system.entry.js → p-bffad7b3.system.entry.js} +1 -1
  151. package/dist/mint-components/p-c3d0b165.entry.js +1 -0
  152. package/dist/mint-components/p-c4a8c149.system.entry.js +1 -0
  153. package/dist/mint-components/{p-046c45b1.entry.js → p-c61028b0.entry.js} +1 -1
  154. package/dist/mint-components/{p-f7f87338.js → p-cd0ff606.js} +1 -1
  155. package/dist/mint-components/{p-8fd8682c.js → p-d793d269.js} +1 -1
  156. package/dist/mint-components/{p-4b719313.js → p-da46fc91.js} +1 -1
  157. package/dist/mint-components/{p-2e63dcfd.system.js → p-f47bf492.system.js} +1 -1
  158. package/dist/mint-components/p-ff74bee4.entry.js +372 -0
  159. package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +6 -0
  160. package/dist/types/components/sqm-card-feed/sqm-card-feed-view.d.ts +2 -1
  161. package/dist/types/components/sqm-card-feed/sqm-card-feed.d.ts +3 -4
  162. package/dist/types/components/sqm-portal-container/PortalContainer.stories.d.ts +2 -0
  163. package/dist/types/components/sqm-portal-container/sqm-portal-container-view.d.ts +1 -0
  164. package/dist/types/components/sqm-portal-container/sqm-portal-container.d.ts +4 -0
  165. package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +6 -0
  166. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.d.ts +1 -0
  167. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +10 -0
  168. package/dist/types/components/sqm-portal-forgot-password/usePortalForgotPassword.d.ts +3 -1
  169. package/dist/types/components/sqm-portal-login/sqm-portal-login-view.d.ts +2 -0
  170. package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +8 -0
  171. package/dist/types/components/sqm-portal-login/usePortalLogin.d.ts +3 -3
  172. package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +1 -0
  173. package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +10 -0
  174. package/dist/types/components/sqm-portal-register/usePortalRegister.d.ts +1 -0
  175. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +8 -0
  176. package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +8 -0
  177. package/dist/types/components/sqm-portal-verify-email/usePortalVerifyEmail.d.ts +2 -1
  178. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +143 -88
  179. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +21 -0
  180. package/dist/types/components/sqm-share-button/ShareButton.stories.d.ts +2 -0
  181. package/dist/types/components/sqm-share-button/sqm-share-button-view.d.ts +3 -0
  182. package/dist/types/components/sqm-share-button/sqm-share-button.d.ts +12 -0
  183. package/dist/types/components/sqm-task-card/progress-bar/SVGs.d.ts +1 -1
  184. package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +4 -0
  185. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +22 -0
  186. package/dist/types/components/sqm-user-name/sqm-user-name.d.ts +1 -1
  187. package/dist/types/components.d.ts +212 -8
  188. package/dist/types/global/styles.d.ts +1 -1
  189. package/grapesjs/grapesjs.js +1 -1
  190. package/package.json +2 -1
  191. package/dist/cjs/sqm-card-feed-view-ec75fafc.js +0 -36
  192. package/dist/esm/sqm-card-feed-view-81f93bc7.js +0 -34
  193. package/dist/esm-es5/sqm-card-feed-view-81f93bc7.js +0 -1
  194. package/dist/esm-es5/sqm-portal-profile-view-ba06e776.js +0 -1
  195. package/dist/mint-components/p-20c95798.entry.js +0 -1
  196. package/dist/mint-components/p-3f5aa202.system.js +0 -1
  197. package/dist/mint-components/p-4658d225.system.entry.js +0 -1
  198. package/dist/mint-components/p-5939212e.system.entry.js +0 -1
  199. package/dist/mint-components/p-6f498a6b.system.entry.js +0 -1
  200. package/dist/mint-components/p-77b5a0a4.js +0 -1
  201. package/dist/mint-components/p-7cdbe82a.entry.js +0 -1
  202. package/dist/mint-components/p-8a714f3f.js +0 -1
  203. package/dist/mint-components/p-91fde765.system.js +0 -1
  204. package/dist/mint-components/p-9608ce17.system.entry.js +0 -1
  205. package/dist/mint-components/p-9dd76aed.system.entry.js +0 -1
  206. package/dist/mint-components/p-9ef3c3bc.entry.js +0 -372
  207. package/dist/mint-components/p-a88a08bb.system.js +0 -1
  208. package/dist/mint-components/p-a9a6f205.entry.js +0 -1
  209. package/dist/mint-components/p-b86cbac3.system.entry.js +0 -1
  210. package/dist/mint-components/p-c65cfc9d.system.js +0 -1
  211. package/dist/mint-components/p-e36ff7fa.entry.js +0 -1
  212. package/dist/mint-components/p-ed696e43.entry.js +0 -1
  213. package/dist/mint-components/p-ef7f70f2.system.entry.js +0 -1
@@ -13,14 +13,14 @@ function ProgramExplainerStepView(props) {
13
13
  background: props.background,
14
14
  padding: "var(--sl-spacing-large)",
15
15
  paddingBottom: "var(--sl-spacing-xxx-large)",
16
- "@media (max-width: 768px)": {
16
+ "@media (max-width: 499px)": {
17
17
  flexDirection: "row",
18
18
  width: "auto",
19
19
  paddingBottom: "var(--sl-spacing-large)",
20
20
  },
21
21
  },
22
22
  Text: {
23
- "@media (max-width: 768px)": {
23
+ "@media (max-width: 499px)": {
24
24
  marginLeft: "var(--sl-spacing-large)",
25
25
  },
26
26
  },
@@ -30,14 +30,14 @@ function ProgramExplainerStepView(props) {
30
30
  fontWeight: "var(--sl-font-weight-bold)",
31
31
  lineHeight: "var(--sl-line-height-dense)",
32
32
  marginTop: "var(--sl-spacing-large)",
33
- "@media (max-width: 768px)": {
33
+ "@media (max-width: 499px)": {
34
34
  margin: "0",
35
35
  },
36
36
  },
37
37
  Description: {
38
38
  fontSize: "var(--sl-font-size-medium)",
39
39
  marginTop: "var(--sl-spacing-small)",
40
- "@media (max-width: 768px)": {
40
+ "@media (max-width: 499px)": {
41
41
  marginTop: "var(--sl-spacing-x-small)",
42
42
  },
43
43
  },
@@ -6,7 +6,7 @@ const index = require('./index-b0129cd6.js');
6
6
  const _extends = require('./extends-0302d27d.js');
7
7
  require('./jss-preset-default.esm-6304d24f.js');
8
8
  const utils = require('./utils-95e5317c.js');
9
- const sqmProgramExplainerStepView = require('./sqm-program-explainer-step-view-54424840.js');
9
+ const sqmProgramExplainerStepView = require('./sqm-program-explainer-step-view-17c5e99d.js');
10
10
 
11
11
  const ProgramExplainerStep = class {
12
12
  constructor(hostRef) {
@@ -8,7 +8,7 @@ function ProgramExplainerView(props, children) {
8
8
  Container: {
9
9
  display: "flex",
10
10
  flexDirection: "row",
11
- "@media (max-width: 768px)": {
11
+ "@media (max-width: 499px)": {
12
12
  flexDirection: "column",
13
13
  },
14
14
  },
@@ -40,7 +40,7 @@ function ProgramExplainerView(props, children) {
40
40
  display: flex;
41
41
  width: 100%;
42
42
  }
43
- @media (max-width: 768px) {
43
+ @media (max-width: 499px) {
44
44
  ::slotted(*){
45
45
  display: block;
46
46
  }
@@ -6,7 +6,7 @@ const index = require('./index-b0129cd6.js');
6
6
  const _extends = require('./extends-0302d27d.js');
7
7
  require('./jss-preset-default.esm-6304d24f.js');
8
8
  const utils = require('./utils-95e5317c.js');
9
- const sqmProgramExplainerView = require('./sqm-program-explainer-view-db516613.js');
9
+ const sqmProgramExplainerView = require('./sqm-program-explainer-view-d516c9df.js');
10
10
 
11
11
  const ProgramExplainer = class {
12
12
  constructor(hostRef) {
@@ -895,8 +895,7 @@ const StatPaths = [
895
895
  const StatPatterns = StatPaths.map((pattern) => pathToRegexp(pattern.route));
896
896
  function useBigStat(props) {
897
897
  var _a;
898
- const { statType, flexReverse, alignment } = props;
899
- const programId = index_module.M();
898
+ const { statType, flexReverse, alignment, programId = index_module.M(), } = props;
900
899
  const locale = index_module.R();
901
900
  const userIdent = index_module.ne();
902
901
  const re = _extends.useMemo(() => StatPatterns.find((re) => re.exec(statType)), [statType]);
@@ -100,6 +100,26 @@ export class BigStat {
100
100
  "attribute": "alignment",
101
101
  "reflect": false
102
102
  },
103
+ "programId": {
104
+ "type": "string",
105
+ "mutable": false,
106
+ "complexType": {
107
+ "original": "string",
108
+ "resolved": "string",
109
+ "references": {}
110
+ },
111
+ "required": false,
112
+ "optional": true,
113
+ "docs": {
114
+ "tags": [{
115
+ "text": "Program ID",
116
+ "name": "uiName"
117
+ }],
118
+ "text": "The ID of the program that is used to scope stats. Defaults to the program context when no ID is specified."
119
+ },
120
+ "attribute": "program-id",
121
+ "reflect": false
122
+ },
103
123
  "demoData": {
104
124
  "type": "unknown",
105
125
  "mutable": false,
@@ -563,8 +563,7 @@ export const StatPaths = [
563
563
  export const StatPatterns = StatPaths.map((pattern) => pathToRegexp(pattern.route));
564
564
  export function useBigStat(props) {
565
565
  var _a;
566
- const { statType, flexReverse, alignment } = props;
567
- const programId = useProgramId();
566
+ const { statType, flexReverse, alignment, programId = useProgramId(), } = props;
568
567
  const locale = useLocale();
569
568
  const userIdent = useUserIdentity();
570
569
  const re = useMemo(() => StatPatterns.find((re) => re.exec(statType)), [statType]);
@@ -6,7 +6,7 @@ export default {
6
6
  };
7
7
  const props = {
8
8
  width: 347,
9
- gap: "xx-large",
9
+ gap: 24,
10
10
  };
11
11
  const taskCardProps = {
12
12
  rewardAmount: "20",
@@ -16,6 +16,7 @@ const taskCardProps = {
16
16
  repeatable: false,
17
17
  showProgressBar: false,
18
18
  progress: 0,
19
+ completedText: "Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}",
19
20
  goal: 1,
20
21
  buttonText: "Take survey",
21
22
  buttonLink: "https://example.com/",
@@ -23,6 +24,9 @@ const taskCardProps = {
23
24
  showExpiry: false,
24
25
  rewardDuration: null,
25
26
  loading: false,
27
+ expiryMessage: "Ends {endDate}",
28
+ startsOnMessage: "Starts {startDate}",
29
+ endedMessage: "Ended {endDate}",
26
30
  finite: 0,
27
31
  };
28
32
  const coupleActions = {
@@ -32,6 +36,7 @@ const coupleActions = {
32
36
  description: "Description of action and reward. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eget quisque commodo leo.",
33
37
  repeatable: false,
34
38
  showProgressBar: true,
39
+ completedText: "Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}",
35
40
  steps: true,
36
41
  progress: 1,
37
42
  goal: 5,
@@ -41,6 +46,9 @@ const coupleActions = {
41
46
  showExpiry: false,
42
47
  rewardDuration: null,
43
48
  loading: false,
49
+ expiryMessage: "Ends {endDate}",
50
+ startsOnMessage: "Starts {startDate}",
51
+ endedMessage: "Ended {endDate}",
44
52
  finite: 0,
45
53
  };
46
54
  const manyActions = {
@@ -51,6 +59,7 @@ const manyActions = {
51
59
  repeatable: false,
52
60
  showProgressBar: true,
53
61
  progress: 100,
62
+ completedText: "Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}",
54
63
  goal: 500,
55
64
  progressBarUnit: "$",
56
65
  buttonText: "Take survey",
@@ -59,6 +68,9 @@ const manyActions = {
59
68
  showExpiry: false,
60
69
  rewardDuration: null,
61
70
  loading: false,
71
+ expiryMessage: "Ends {endDate}",
72
+ startsOnMessage: "Starts {startDate}",
73
+ endedMessage: "Ended {endDate}",
62
74
  finite: 0,
63
75
  };
64
76
  export const TaskCardGrid = () => {
@@ -1,14 +1,15 @@
1
1
  import { h } from "@stencil/core";
2
+ import "@appnest/masonry-layout";
2
3
  import jss from "jss";
3
4
  import preset from "jss-preset-default";
4
5
  export function CardFeedView(props, children) {
5
6
  const style = {
6
7
  Container: {
7
- columnGap: "var(--sl-spacing-" + props.gap + ")",
8
+ columnGap: props.gap + "px",
8
9
  columnWidth: props.width + "px",
9
10
  "& > div": {
10
- display: "inline-block!important",
11
- marginBottom: "var(--sl-spacing-" + props.gap + ")",
11
+ // display: "inline-block!important",
12
+ marginBottom: "24px",
12
13
  },
13
14
  },
14
15
  };
@@ -18,15 +19,11 @@ export function CardFeedView(props, children) {
18
19
  console.log(props);
19
20
  const vanillaStyle = `
20
21
  ::slotted(*){
21
- display: block!important;
22
- margin-bottom: var(--sl-spacing-` +
23
- props.gap +
24
- `);
22
+ // display: block!important;
23
+ margin-bottom: ${props.gap}px;
25
24
  }
26
25
  `;
27
26
  return (h("div", null,
28
- h("style", { type: "text/css" },
29
- styleString,
30
- vanillaStyle),
27
+ h("style", { type: "text/css" }, styleString),
31
28
  h("div", { class: sheet.classes.Container }, children)));
32
29
  }
@@ -13,11 +13,10 @@ export class CardFeed {
13
13
  */
14
14
  this.width = 347;
15
15
  /**
16
- * @uiName Horizontal Gap
17
- * @uiType string
18
- * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
16
+ * @uiName Column Gap
17
+ * @uiType number
19
18
  */
20
- this.gap = "xx-large";
19
+ this.gap = 24;
21
20
  withHooks(this);
22
21
  }
23
22
  disconnectedCallback() { }
@@ -50,31 +49,28 @@ export class CardFeed {
50
49
  "defaultValue": "347"
51
50
  },
52
51
  "gap": {
53
- "type": "string",
52
+ "type": "number",
54
53
  "mutable": false,
55
54
  "complexType": {
56
- "original": "string",
57
- "resolved": "string",
55
+ "original": "number",
56
+ "resolved": "number",
58
57
  "references": {}
59
58
  },
60
59
  "required": false,
61
60
  "optional": false,
62
61
  "docs": {
63
62
  "tags": [{
64
- "text": "Horizontal Gap",
63
+ "text": "Column Gap",
65
64
  "name": "uiName"
66
65
  }, {
67
- "text": "string",
66
+ "text": "number",
68
67
  "name": "uiType"
69
- }, {
70
- "text": "[\"none\", \"xxx-small\", \"xx-small\", \"x-small\", \"small\", \"medium\", \"large\", \"x-large\", \"xx-large\", \"xxx-large\", \"xxxx-large\"]",
71
- "name": "uiEnum"
72
68
  }],
73
69
  "text": ""
74
70
  },
75
71
  "attribute": "gap",
76
72
  "reflect": false,
77
- "defaultValue": "\"xx-large\""
73
+ "defaultValue": "24"
78
74
  }
79
75
  }; }
80
76
  static get states() { return {
@@ -9,9 +9,19 @@ export default {
9
9
  export const TooWideColumn = () => (h("div", { style: { width: "200px", border: "1px dashed grey" } },
10
10
  h("sqm-portal-container", null,
11
11
  h("div", { style: { background: "grey", border: "1px solid red" } }, "Small"),
12
- h("div", { style: { background: "blue", width: "1000px" } }, "Too wide, content goes off the side of the page for ever and is hidden."))));
12
+ h("div", { style: { background: "lightblue", width: "1000px" } }, "Too wide, content goes off the side of the page for ever and is hidden."))));
13
13
  export const TooWideRow = () => (h("div", { style: { width: "500px", border: "1px dashed grey" } },
14
14
  h("sqm-portal-container", { direction: "row", "min-width": "160px" },
15
15
  h("sqm-share-button", { icon: "envelope", medium: "email", size: "medium", class: "hydrated" }, "Email a friend"),
16
16
  h("sqm-share-button", { medium: "twitter", size: "medium", class: "hydrated" }, "Tweet about us"),
17
17
  h("sqm-share-button", { medium: "facebook", size: "medium", class: "hydrated" }, "Share on Facebook"))));
18
+ export const HalfWidth = () => (h("div", { style: { width: "1000px", border: "1px dashed grey" } },
19
+ h("sqm-portal-container", { direction: "row", minWidth: "160px", maxWidth: "50%" },
20
+ h("sqm-share-button", { icon: "envelope", medium: "email", size: "medium", class: "hydrated" }, "Email a friend"),
21
+ h("sqm-share-button", { medium: "twitter", size: "medium", class: "hydrated" }, "Tweet about us"),
22
+ h("sqm-share-button", { medium: "facebook", size: "medium", class: "hydrated" }, "Share on Facebook"))));
23
+ export const FullWidth = () => (h("div", { style: { width: "1000px", border: "1px dashed grey" } },
24
+ h("sqm-portal-container", { direction: "row", maxWidth: "100%" },
25
+ h("sqm-share-button", { icon: "envelope", medium: "email", size: "medium", class: "hydrated" }, "Email a friend"),
26
+ h("sqm-share-button", { medium: "twitter", size: "medium", class: "hydrated" }, "Tweet about us"),
27
+ h("sqm-share-button", { medium: "facebook", size: "medium", class: "hydrated" }, "Share on Facebook"))));
@@ -10,12 +10,13 @@ export function PortalContainerView(props, children) {
10
10
  : "100%",
11
11
  "grid-gap": `var(--sl-spacing-${props.gap})`,
12
12
  padding: props.padding === "none" ? "0" : `var(--sl-spacing-${props.padding})`,
13
+ maxWidth: props.maxWidth ? props.maxWidth : "",
13
14
  },
14
15
  };
15
16
  const vanillaStyle = `
16
17
  :host{
17
18
  width: 100%;
18
- display: "block";
19
+ display: block;
19
20
  }`;
20
21
  jss.setup(preset());
21
22
  const sheet = jss.createStyleSheet(style);
@@ -20,6 +20,10 @@ export class PortalContainer {
20
20
  * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
21
21
  */
22
22
  this.gap = "xxx-large";
23
+ /**
24
+ * @uiName Maximum width
25
+ */
26
+ this.maxWidth = "100%";
23
27
  withHooks(this);
24
28
  }
25
29
  disconnectedCallback() { }
@@ -139,6 +143,27 @@ export class PortalContainer {
139
143
  },
140
144
  "attribute": "min-width",
141
145
  "reflect": false
146
+ },
147
+ "maxWidth": {
148
+ "type": "string",
149
+ "mutable": false,
150
+ "complexType": {
151
+ "original": "string",
152
+ "resolved": "string",
153
+ "references": {}
154
+ },
155
+ "required": false,
156
+ "optional": true,
157
+ "docs": {
158
+ "tags": [{
159
+ "text": "Maximum width",
160
+ "name": "uiName"
161
+ }],
162
+ "text": ""
163
+ },
164
+ "attribute": "max-width",
165
+ "reflect": false,
166
+ "defaultValue": "\"100%\""
142
167
  }
143
168
  }; }
144
169
  static get states() { return {
@@ -10,6 +10,12 @@ import { usePortalEmailVerification } from "./usePortalEmailVerification";
10
10
  export class PortalEmailVerification {
11
11
  constructor() {
12
12
  this.ignored = true;
13
+ /**
14
+ * The page that users are redirected to from the verification email.
15
+ *
16
+ * @uiName Email redirection base path
17
+ */
18
+ this.redirectPath = "/verifyEmail";
13
19
  /**
14
20
  * @uiName Email verification header text
15
21
  */
@@ -34,6 +40,27 @@ export class PortalEmailVerification {
34
40
  static get is() { return "sqm-portal-email-verification"; }
35
41
  static get encapsulation() { return "shadow"; }
36
42
  static get properties() { return {
43
+ "redirectPath": {
44
+ "type": "string",
45
+ "mutable": false,
46
+ "complexType": {
47
+ "original": "string",
48
+ "resolved": "string",
49
+ "references": {}
50
+ },
51
+ "required": false,
52
+ "optional": false,
53
+ "docs": {
54
+ "tags": [{
55
+ "text": "Email redirection base path",
56
+ "name": "uiName"
57
+ }],
58
+ "text": "The page that users are redirected to from the verification email."
59
+ },
60
+ "attribute": "redirect-path",
61
+ "reflect": false,
62
+ "defaultValue": "\"/verifyEmail\""
63
+ },
37
64
  "emailVerificationHeader": {
38
65
  "type": "string",
39
66
  "mutable": false,
@@ -14,7 +14,8 @@ export function usePortalEmailVerification(props) {
14
14
  return;
15
15
  setError("");
16
16
  const urlParams = nextPage ? { nextPage } : null;
17
- const variables = { email, urlParams };
17
+ const redirectPath = props.redirectPath;
18
+ const variables = { email, urlParams, redirectPath };
18
19
  await request(variables);
19
20
  };
20
21
  useEffect(() => {
@@ -12,6 +12,7 @@ const defaultProps = {
12
12
  error: "",
13
13
  loading: false,
14
14
  success: false,
15
+ loginPath: "/login",
15
16
  },
16
17
  callbacks: {
17
18
  submit: async (e) => await e,
@@ -26,6 +27,7 @@ const errorProps = {
26
27
  error: "Something went wrong. Please try again.",
27
28
  loading: false,
28
29
  success: false,
30
+ loginPath: "/login",
29
31
  },
30
32
  callbacks: {
31
33
  submit: async (e) => await e,
@@ -40,6 +42,7 @@ const loadingProps = {
40
42
  error: "",
41
43
  loading: true,
42
44
  success: false,
45
+ loginPath: "/login",
43
46
  },
44
47
  callbacks: {
45
48
  submit: async (e) => await e,
@@ -54,6 +57,7 @@ const successProps = {
54
57
  error: "",
55
58
  loading: false,
56
59
  success: true,
60
+ loginPath: "/login",
57
61
  },
58
62
  callbacks: {
59
63
  submit: async (e) => await e,
@@ -10,6 +10,12 @@ import { usePortalForgotPassword } from "./usePortalForgotPassword";
10
10
  export class PortalForgotPassword {
11
11
  constructor() {
12
12
  this.ignored = true;
13
+ /**
14
+ * The page that users are redirected to from the password reset email.
15
+ *
16
+ * @uiName Email redirection base path
17
+ */
18
+ this.redirectPath = "/resetPassword";
13
19
  /**
14
20
  * @uiName Email label
15
21
  */
@@ -18,16 +24,20 @@ export class PortalForgotPassword {
18
24
  * @uiName Password reset button text
19
25
  */
20
26
  this.submitLabel = "Request Password Reset";
27
+ /**
28
+ * @uiName Routing path to login page
29
+ */
30
+ this.loginPath = "/login";
21
31
  withHooks(this);
22
32
  }
23
33
  disconnectedCallback() { }
24
34
  render() {
25
35
  const { states, callbacks } = isDemo()
26
36
  ? usePortalForgotPasswordDemo(this)
27
- : usePortalForgotPassword();
37
+ : usePortalForgotPassword(this);
28
38
  const content = {
29
39
  secondaryButton: (h("slot", { name: "secondaryButton" },
30
- h("sl-button", { type: "text", disabled: states.loading, onClick: () => navigation.push("/login") }, "Sign In"))),
40
+ h("sl-button", { type: "text", disabled: states.loading, onClick: () => navigation.push(states.loginPath) }, "Sign In"))),
31
41
  messageSlot: (h("slot", { name: "messageSlot" }, "Enter your email below to receive a password reset link.")),
32
42
  emailLabel: this.emailLabel,
33
43
  submitLabel: this.submitLabel,
@@ -37,6 +47,27 @@ export class PortalForgotPassword {
37
47
  static get is() { return "sqm-portal-forgot-password"; }
38
48
  static get encapsulation() { return "shadow"; }
39
49
  static get properties() { return {
50
+ "redirectPath": {
51
+ "type": "string",
52
+ "mutable": false,
53
+ "complexType": {
54
+ "original": "string",
55
+ "resolved": "string",
56
+ "references": {}
57
+ },
58
+ "required": false,
59
+ "optional": false,
60
+ "docs": {
61
+ "tags": [{
62
+ "text": "Email redirection base path",
63
+ "name": "uiName"
64
+ }],
65
+ "text": "The page that users are redirected to from the password reset email."
66
+ },
67
+ "attribute": "redirect-path",
68
+ "reflect": false,
69
+ "defaultValue": "\"/resetPassword\""
70
+ },
40
71
  "emailLabel": {
41
72
  "type": "string",
42
73
  "mutable": false,
@@ -79,12 +110,33 @@ export class PortalForgotPassword {
79
110
  "reflect": false,
80
111
  "defaultValue": "\"Request Password Reset\""
81
112
  },
113
+ "loginPath": {
114
+ "type": "string",
115
+ "mutable": false,
116
+ "complexType": {
117
+ "original": "string",
118
+ "resolved": "string",
119
+ "references": {}
120
+ },
121
+ "required": false,
122
+ "optional": false,
123
+ "docs": {
124
+ "tags": [{
125
+ "text": "Routing path to login page",
126
+ "name": "uiName"
127
+ }],
128
+ "text": ""
129
+ },
130
+ "attribute": "login-path",
131
+ "reflect": false,
132
+ "defaultValue": "\"/login\""
133
+ },
82
134
  "demoData": {
83
135
  "type": "unknown",
84
136
  "mutable": false,
85
137
  "complexType": {
86
138
  "original": "DemoData<PortalForgotPasswordViewProps>",
87
- "resolved": "{ states?: { error: string; loading: boolean; success: boolean; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }",
139
+ "resolved": "{ states?: { error: string; loading: boolean; success: boolean; loginPath: string; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }",
88
140
  "references": {
89
141
  "DemoData": {
90
142
  "location": "import",
@@ -1,7 +1,7 @@
1
1
  import jsonpointer from "jsonpointer";
2
2
  import { useEffect, useState } from "@saasquatch/universal-hooks";
3
3
  import { useRequestPasswordResetEmailMutation } from "@saasquatch/component-boilerplate";
4
- export function usePortalForgotPassword() {
4
+ export function usePortalForgotPassword(props) {
5
5
  var _a, _b, _c, _d;
6
6
  const [success, setSuccess] = useState(false);
7
7
  const [error, setError] = useState("");
@@ -15,7 +15,8 @@ export function usePortalForgotPassword() {
15
15
  jsonpointer.set(formData, key, value);
16
16
  });
17
17
  const urlParams = nextPage ? { nextPage } : null;
18
- const variables = { email: formData.email, urlParams };
18
+ const redirectPath = props.redirectPath;
19
+ const variables = { email: formData.email, urlParams, redirectPath };
19
20
  await request(variables);
20
21
  };
21
22
  useEffect(() => {
@@ -34,6 +35,7 @@ export function usePortalForgotPassword() {
34
35
  loading,
35
36
  error: ((_d = (_c = (_b = errors === null || errors === void 0 ? void 0 : errors.response) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.message) || error,
36
37
  success,
38
+ loginPath: props.loginPath,
37
39
  },
38
40
  callbacks: {
39
41
  submit,
@@ -7,6 +7,8 @@ const defaultProps = {
7
7
  states: {
8
8
  error: "",
9
9
  loading: false,
10
+ forgotPasswordPath: "/forgotPassword",
11
+ registerPath: "/register",
10
12
  },
11
13
  callbacks: {
12
14
  submit: async (e) => await e,
@@ -17,6 +19,8 @@ const errorProps = {
17
19
  states: {
18
20
  error: "Something went wrong. Please try again.",
19
21
  loading: false,
22
+ forgotPasswordPath: "/forgotPassword",
23
+ registerPath: "/register",
20
24
  },
21
25
  callbacks: {
22
26
  submit: async (e) => await e,
@@ -27,6 +31,8 @@ const loadingProps = {
27
31
  states: {
28
32
  error: "",
29
33
  loading: true,
34
+ forgotPasswordPath: "/forgotPassword",
35
+ registerPath: "/register",
30
36
  },
31
37
  callbacks: {
32
38
  submit: async (e) => await e,