@saasquatch/mint-components 1.4.0-0 → 1.5.0-10

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 (446) hide show
  1. package/CHANGELOG.md +24 -48
  2. package/dist/cjs/{ShadowViewAddon-e9bacad0.js → ShadowViewAddon-475e00d3.js} +1 -1
  3. package/dist/cjs/{global-0c01d88f.js → global-89f66e76.js} +282 -70
  4. package/dist/cjs/{index.module-2925fe3b.js → index.module-c0bf9df0.js} +3 -1
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/mint-components.cjs.js +3 -3
  7. package/dist/cjs/{re-render-b1ad512d.js → re-render-124b56ee.js} +1 -1
  8. package/dist/cjs/sqm-asset-card.cjs.entry.js +1 -1
  9. package/dist/cjs/sqm-big-stat.cjs.entry.js +2 -2
  10. package/dist/cjs/{sqm-divided-layout_26.cjs.entry.js → sqm-brand_38.cjs.entry.js} +4430 -740
  11. package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +1 -1
  12. package/dist/cjs/{sqm-leaderboard-rank-view-48245b30.js → sqm-leaderboard-rank-view-510f16d3.js} +2 -2
  13. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +3 -3
  14. package/dist/cjs/sqm-leaderboard.cjs.entry.js +2 -2
  15. package/dist/cjs/sqm-name-fields.cjs.entry.js +1 -1
  16. package/dist/cjs/{sqm-navigation-sidebar-item-view-1bad646a.js → sqm-navigation-sidebar-item-view-a2bdcf05.js} +1 -1
  17. package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +2 -2
  18. package/dist/cjs/sqm-popup-container.cjs.entry.js +1 -1
  19. package/dist/cjs/{sqm-portal-email-verification-view-68b16f27.js → sqm-portal-email-verification-view-5093ac20.js} +1 -1
  20. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +4 -11
  21. package/dist/cjs/{sqm-portal-footer-view-edeeebab.js → sqm-portal-footer-view-03408484.js} +1 -1
  22. package/dist/cjs/sqm-portal-footer.cjs.entry.js +3 -3
  23. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +5 -17
  24. package/dist/cjs/sqm-portal-logout.cjs.entry.js +1 -1
  25. package/dist/cjs/{sqm-portal-profile-view-2b48529e.js → sqm-portal-profile-view-fa2db439.js} +1 -1
  26. package/dist/cjs/sqm-portal-profile.cjs.entry.js +3 -3
  27. package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +1 -1
  28. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +2 -10
  29. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +3 -11
  30. package/dist/cjs/sqm-program-explainer-step-view-f8e1cd12.js +82 -0
  31. package/dist/cjs/sqm-program-explainer-step.cjs.entry.js +22 -0
  32. package/dist/cjs/sqm-program-explainer-view-512737f3.js +51 -0
  33. package/dist/cjs/sqm-program-explainer.cjs.entry.js +23 -0
  34. package/dist/cjs/sqm-referral-table-column.cjs.entry.js +2 -2
  35. package/dist/cjs/sqm-referral-table-date-column.cjs.entry.js +2 -2
  36. package/dist/cjs/sqm-referral-table-rewards-column.cjs.entry.js +2 -2
  37. package/dist/cjs/sqm-referral-table-status-column.cjs.entry.js +2 -2
  38. package/dist/cjs/sqm-referral-table-user-column.cjs.entry.js +2 -2
  39. package/dist/cjs/sqm-share-code.cjs.entry.js +20 -1
  40. package/dist/cjs/{useDemoBigStat-d7a60992.js → useDemoBigStat-5d71bbdf.js} +119 -22
  41. package/dist/collection/collection-manifest.json +17 -3
  42. package/dist/collection/{stories → components/sqm-asset-card}/AssetCard.stories.js +2 -2
  43. package/dist/collection/{stories → components/sqm-big-stat}/BigStat.stories.js +10 -3
  44. package/dist/collection/{stories → components/sqm-big-stat}/UseBigStat.stories.js +7 -4
  45. package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +1 -21
  46. package/dist/collection/components/sqm-big-stat/useBigStat.js +117 -21
  47. package/dist/collection/components/sqm-big-stat/useDemoBigStat.js +1 -0
  48. package/dist/collection/components/sqm-brand/SqmBrand.stories.js +93 -0
  49. package/dist/collection/components/sqm-brand/sqm-brand.js +97 -0
  50. package/dist/collection/{stories → components/sqm-divided-layout}/DividedLayout.stories.js +4 -4
  51. package/dist/collection/{stories → components/sqm-edit-profile}/EditProfileForm.stories.js +2 -2
  52. package/dist/collection/{stories → components/sqm-edit-profile}/UseEditProfile.stories.js +1 -1
  53. package/dist/collection/{stories → components/sqm-form-message}/FormMessage.stories.js +1 -1
  54. package/dist/collection/{stories → components/sqm-hero}/Hero.stories.js +2 -2
  55. package/dist/collection/{stories → components/sqm-leaderboard}/Leaderboard.stories.js +2 -2
  56. package/dist/collection/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.js +3 -3
  57. package/dist/collection/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.js +2 -2
  58. package/dist/collection/{stories → components/sqm-name-fields}/NameFields.stories.js +2 -2
  59. package/dist/collection/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.js +3 -3
  60. package/dist/collection/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.js +2 -2
  61. package/dist/collection/{stories → components/sqm-password-field}/PasswordField.stories.js +1 -1
  62. package/dist/collection/{stories → components/sqm-portal-change-password}/ChangePassword.stories.js +3 -3
  63. package/dist/collection/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.js +3 -3
  64. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +0 -27
  65. package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +1 -2
  66. package/dist/collection/{stories → components/sqm-portal-footer}/PortalFooter.stories.js +2 -2
  67. package/dist/collection/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.js +3 -7
  68. package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +3 -55
  69. package/dist/collection/components/sqm-portal-forgot-password/usePortalForgotPassword.js +2 -4
  70. package/dist/collection/{stories → components/sqm-portal-frame}/PortalFrame.stories.js +2 -2
  71. package/dist/collection/{stories → components/sqm-portal-login}/PortalLogin.stories.js +2 -8
  72. package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +4 -59
  73. package/dist/collection/components/sqm-portal-login/usePortalLogin.js +2 -4
  74. package/dist/collection/{stories → components/sqm-portal-profile}/PortalProfile.stories.js +2 -2
  75. package/dist/collection/{stories → components/sqm-portal-register}/PortalRegister.stories.js +2 -7
  76. package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +2 -55
  77. package/dist/collection/components/sqm-portal-register/usePortalRegister.js +0 -3
  78. package/dist/collection/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.js +3 -3
  79. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +1 -30
  80. package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +1 -1
  81. package/dist/collection/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.js +3 -3
  82. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +1 -30
  83. package/dist/collection/components/sqm-portal-verify-email/usePortalVerifyEmail.js +2 -2
  84. package/dist/collection/components/sqm-program-explainer/ProgramExplainer.stories.js +51 -0
  85. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer-view.js +47 -0
  86. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer.js +177 -0
  87. package/dist/collection/components/sqm-program-explainer-step/ProgramExplainerStep.stories.js +15 -0
  88. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step-view.js +78 -0
  89. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step.js +123 -0
  90. package/dist/collection/{stories → components/sqm-program-menu}/ProgramMenu.stories.js +2 -2
  91. package/dist/collection/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.js +2 -2
  92. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTable.stories.js +3 -2
  93. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableCell.stories.js +2 -1
  94. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.js +2 -1
  95. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-column.js +1 -1
  96. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-date-column.js +1 -1
  97. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.js +1 -1
  98. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-status-column.js +1 -1
  99. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-user-column.js +1 -1
  100. package/dist/collection/components/sqm-referral-table/useReferralTable.js +2 -2
  101. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeList.stories.js +22 -0
  102. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +259 -0
  103. package/dist/collection/components/sqm-reward-exchange-list/SVGs.js +27 -0
  104. package/dist/collection/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.js +143 -0
  105. package/dist/collection/components/sqm-reward-exchange-list/assets/Reward-icon.png +0 -0
  106. package/dist/collection/components/sqm-reward-exchange-list/assets/placeholder.png +0 -0
  107. package/dist/collection/components/sqm-reward-exchange-list/progressBar.js +64 -0
  108. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +509 -0
  109. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +490 -0
  110. package/dist/collection/components/sqm-reward-exchange-list/useRewardExchangeList.js +193 -0
  111. package/dist/collection/components/sqm-rewards-table/UseRewardsTable.stories.js +59 -0
  112. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-date-cell.js +43 -0
  113. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-rewards-cell.js +160 -0
  114. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-source-cell.js +81 -0
  115. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-status-cell.js +84 -0
  116. package/dist/collection/components/sqm-rewards-table/columns/RewardTableColumn.js +1 -0
  117. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.js +130 -0
  118. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.js +118 -0
  119. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.js +145 -0
  120. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.js +117 -0
  121. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +222 -0
  122. package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +215 -0
  123. package/dist/collection/{stories → components/sqm-router}/Router.stories.js +1 -1
  124. package/dist/collection/{stories → components/sqm-share-button}/ShareButton.stories.js +2 -2
  125. package/dist/collection/{stories → components/sqm-share-button}/UseShareButton.stories.js +2 -2
  126. package/dist/collection/components/sqm-share-code/useShareCode.js +20 -1
  127. package/dist/collection/{stories → components/sqm-share-link}/ShareLink.stories.js +2 -2
  128. package/dist/collection/{stories → components/sqm-share-link}/UseShareLink.stories.js +3 -3
  129. package/dist/collection/components/sqm-share-link/useShareLink.js +20 -1
  130. package/dist/collection/components/sqm-stencilbook/AutoColor.js +49 -0
  131. package/dist/collection/components/sqm-stencilbook/CucumberAddon.js +3 -1
  132. package/dist/collection/components/sqm-stencilbook/Matrix.js +66 -0
  133. package/dist/collection/components/sqm-stencilbook/Resizer.js +26 -0
  134. package/dist/collection/components/sqm-stencilbook/Themes.js +45 -0
  135. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +93 -38
  136. package/dist/collection/components/sqm-task-card/SVGs.js +14 -0
  137. package/dist/collection/components/sqm-task-card/TaskCard.stories.js +424 -0
  138. package/dist/collection/components/sqm-task-card/UseTaskCard.stories.js +41 -0
  139. package/dist/collection/components/sqm-task-card/progress-bar/SVGs.js +8 -0
  140. package/dist/collection/components/sqm-task-card/progress-bar/progress-bar-view.js +370 -0
  141. package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +240 -0
  142. package/dist/collection/components/sqm-task-card/sqm-task-card.js +443 -0
  143. package/dist/collection/{stories → components/sqm-user-name}/UserName.stories.js +3 -3
  144. package/dist/collection/components/sqm-user-name/sqm-user-name.js +1 -1
  145. package/dist/collection/fonts/GoogleFonts.js +12 -0
  146. package/dist/collection/global/styles.js +281 -69
  147. package/dist/collection/global/styles.ts +281 -69
  148. package/dist/collection/stories/NewPortal.stories.js +15 -15
  149. package/dist/collection/tables/GenericTableView.js +51 -0
  150. package/dist/collection/tables/TableSlots.js +30 -0
  151. package/dist/collection/{components/sqm-referral-table → tables}/re-render.js +0 -0
  152. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-cell.js +0 -0
  153. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-row.js +0 -0
  154. package/dist/collection/{components/sqm-referral-table → tables}/useChildElements.js +0 -0
  155. package/dist/esm/{ShadowViewAddon-5f66de48.js → ShadowViewAddon-558fabb7.js} +1 -1
  156. package/dist/esm/{global-0fcfbedf.js → global-e0e25c22.js} +282 -70
  157. package/dist/esm/{index.module-1e92a7a3.js → index.module-eb50a8d2.js} +2 -2
  158. package/dist/esm/loader.js +3 -3
  159. package/dist/esm/mint-components.js +3 -3
  160. package/dist/esm/{re-render-b8468637.js → re-render-6d5b856e.js} +1 -1
  161. package/dist/esm/sqm-asset-card.entry.js +1 -1
  162. package/dist/esm/sqm-big-stat.entry.js +2 -2
  163. package/dist/esm/{sqm-divided-layout_26.entry.js → sqm-brand_38.entry.js} +5427 -1749
  164. package/dist/esm/sqm-graphql-client-provider.entry.js +1 -1
  165. package/dist/esm/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-cd1e8962.js} +2 -2
  166. package/dist/esm/sqm-leaderboard-rank.entry.js +3 -3
  167. package/dist/esm/sqm-leaderboard.entry.js +2 -2
  168. package/dist/esm/sqm-name-fields.entry.js +1 -1
  169. package/dist/esm/{sqm-navigation-sidebar-item-view-a48bca9b.js → sqm-navigation-sidebar-item-view-2d8c368c.js} +1 -1
  170. package/dist/esm/sqm-navigation-sidebar-item.entry.js +2 -2
  171. package/dist/esm/sqm-popup-container.entry.js +1 -1
  172. package/dist/esm/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-2af31979.js} +1 -1
  173. package/dist/esm/sqm-portal-email-verification.entry.js +4 -11
  174. package/dist/esm/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-60cd9ae5.js} +1 -1
  175. package/dist/esm/sqm-portal-footer.entry.js +3 -3
  176. package/dist/esm/sqm-portal-forgot-password.entry.js +5 -17
  177. package/dist/esm/sqm-portal-logout.entry.js +1 -1
  178. package/dist/esm/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-f1deea0f.js} +1 -1
  179. package/dist/esm/sqm-portal-profile.entry.js +3 -3
  180. package/dist/esm/sqm-portal-protected-route.entry.js +1 -1
  181. package/dist/esm/sqm-portal-reset-password.entry.js +2 -10
  182. package/dist/esm/sqm-portal-verify-email.entry.js +3 -11
  183. package/dist/esm/sqm-program-explainer-step-view-987e4747.js +80 -0
  184. package/dist/esm/sqm-program-explainer-step.entry.js +18 -0
  185. package/dist/esm/sqm-program-explainer-view-c0cda03a.js +49 -0
  186. package/dist/esm/sqm-program-explainer.entry.js +19 -0
  187. package/dist/esm/sqm-referral-table-column.entry.js +2 -2
  188. package/dist/esm/sqm-referral-table-date-column.entry.js +2 -2
  189. package/dist/esm/sqm-referral-table-rewards-column.entry.js +2 -2
  190. package/dist/esm/sqm-referral-table-status-column.entry.js +2 -2
  191. package/dist/esm/sqm-referral-table-user-column.entry.js +2 -2
  192. package/dist/esm/sqm-share-code.entry.js +20 -1
  193. package/dist/esm/{useDemoBigStat-5557504e.js → useDemoBigStat-d227b2f9.js} +119 -22
  194. package/dist/esm-es5/{ShadowViewAddon-5f66de48.js → ShadowViewAddon-558fabb7.js} +1 -1
  195. package/dist/esm-es5/{global-0fcfbedf.js → global-e0e25c22.js} +2 -2
  196. package/dist/esm-es5/{index.module-1e92a7a3.js → index.module-eb50a8d2.js} +1 -1
  197. package/dist/esm-es5/loader.js +1 -1
  198. package/dist/esm-es5/mint-components.js +1 -1
  199. package/dist/esm-es5/{re-render-b8468637.js → re-render-6d5b856e.js} +1 -1
  200. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  201. package/dist/esm-es5/sqm-big-stat.entry.js +1 -1
  202. package/dist/esm-es5/sqm-brand_38.entry.js +1 -0
  203. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  204. package/dist/esm-es5/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-cd1e8962.js} +1 -1
  205. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  206. package/dist/esm-es5/sqm-leaderboard.entry.js +1 -1
  207. package/dist/esm-es5/sqm-name-fields.entry.js +1 -1
  208. package/dist/esm-es5/{sqm-navigation-sidebar-item-view-a48bca9b.js → sqm-navigation-sidebar-item-view-2d8c368c.js} +1 -1
  209. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  210. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  211. package/dist/esm-es5/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-2af31979.js} +1 -1
  212. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  213. package/dist/esm-es5/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-60cd9ae5.js} +1 -1
  214. package/dist/esm-es5/sqm-portal-footer.entry.js +1 -1
  215. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  216. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  217. package/dist/esm-es5/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-f1deea0f.js} +1 -1
  218. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  219. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  220. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  221. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  222. package/dist/esm-es5/sqm-program-explainer-step-view-987e4747.js +1 -0
  223. package/dist/esm-es5/sqm-program-explainer-step.entry.js +1 -0
  224. package/dist/esm-es5/sqm-program-explainer-view-c0cda03a.js +1 -0
  225. package/dist/esm-es5/sqm-program-explainer.entry.js +1 -0
  226. package/dist/esm-es5/sqm-referral-table-column.entry.js +1 -1
  227. package/dist/esm-es5/sqm-referral-table-date-column.entry.js +1 -1
  228. package/dist/esm-es5/sqm-referral-table-rewards-column.entry.js +1 -1
  229. package/dist/esm-es5/sqm-referral-table-status-column.entry.js +1 -1
  230. package/dist/esm-es5/sqm-referral-table-user-column.entry.js +1 -1
  231. package/dist/esm-es5/sqm-share-code.entry.js +1 -1
  232. package/dist/esm-es5/useDemoBigStat-d227b2f9.js +1 -0
  233. package/dist/mint-components/assets/Reward-icon.png +0 -0
  234. package/dist/mint-components/assets/placeholder.png +0 -0
  235. package/dist/mint-components/global/styles.ts +281 -69
  236. package/dist/mint-components/mint-components.css +1 -0
  237. package/dist/mint-components/mint-components.esm.js +1 -1
  238. package/dist/mint-components/mint-components.js +1 -1
  239. package/dist/mint-components/{p-3452bdae.system.js → p-02dc36a4.system.js} +1 -1
  240. package/dist/mint-components/{p-3e3dad7a.system.js → p-03e93c82.system.js} +1 -1
  241. package/dist/mint-components/p-0d8b2757.system.entry.js +1 -0
  242. package/dist/mint-components/{p-18aa175f.system.js → p-0e8ae7e3.system.js} +2 -2
  243. package/dist/mint-components/{p-965e34ab.entry.js → p-1705e549.entry.js} +1 -1
  244. package/dist/mint-components/{p-51cfdd14.js → p-1f95b411.js} +1 -1
  245. package/dist/mint-components/{p-9ff0425e.system.entry.js → p-2027edc0.system.entry.js} +1 -1
  246. package/dist/mint-components/p-20c95798.entry.js +1 -0
  247. package/dist/mint-components/{p-e50839df.entry.js → p-21b4044a.entry.js} +1 -1
  248. package/dist/mint-components/{p-d513229d.js → p-221bd06e.js} +1 -1
  249. package/dist/mint-components/p-22e6aad3.entry.js +1 -0
  250. package/dist/mint-components/p-2338162a.entry.js +1 -0
  251. package/dist/mint-components/{p-9ff118a2.system.entry.js → p-24fa8920.system.entry.js} +1 -1
  252. package/dist/mint-components/p-29ee7d11.system.entry.js +1 -0
  253. package/dist/mint-components/p-2b2579e3.js +1 -0
  254. package/dist/mint-components/{p-64759dda.system.js → p-2e63dcfd.system.js} +1 -1
  255. package/dist/mint-components/p-2eadaa18.entry.js +1 -0
  256. package/dist/mint-components/p-2f46c8b1.entry.js +372 -0
  257. package/dist/mint-components/{p-743882c6.entry.js → p-3143cce4.entry.js} +1 -1
  258. package/dist/mint-components/{p-4b6c316d.entry.js → p-34112d74.entry.js} +1 -1
  259. package/dist/mint-components/p-40e83a85.system.js +1 -0
  260. package/dist/mint-components/{p-337a3d6b.system.entry.js → p-46493de5.system.entry.js} +1 -1
  261. package/dist/mint-components/p-4658d225.system.entry.js +1 -0
  262. package/dist/mint-components/{p-7d996b49.js → p-4b719313.js} +1 -1
  263. package/dist/mint-components/{p-6cb81b77.entry.js → p-53e51b3f.entry.js} +1 -1
  264. package/dist/mint-components/p-5684a18d.system.entry.js +1 -0
  265. package/dist/mint-components/p-5939212e.system.entry.js +1 -0
  266. package/dist/mint-components/{p-af2d886e.js → p-5d925bb6.js} +1 -1
  267. package/dist/mint-components/{p-27e23808.system.js → p-5e4e7f01.system.js} +1 -1
  268. package/dist/mint-components/{p-af1f8bd3.js → p-61acba7a.js} +1 -1
  269. package/dist/mint-components/{p-13605359.entry.js → p-65c79eec.entry.js} +1 -1
  270. package/dist/mint-components/{p-d55abc13.entry.js → p-759d3800.entry.js} +2 -2
  271. package/dist/mint-components/p-760762d3.entry.js +13 -0
  272. package/dist/mint-components/p-7cdbe82a.entry.js +1 -0
  273. package/dist/mint-components/{p-9a3a0db5.system.entry.js → p-7ff22998.system.entry.js} +1 -1
  274. package/dist/mint-components/p-85efd952.entry.js +1 -0
  275. package/dist/mint-components/p-86255b95.entry.js +1 -0
  276. package/dist/mint-components/{p-b3880833.system.entry.js → p-88fdfd94.system.entry.js} +1 -1
  277. package/dist/mint-components/p-8c77a66a.system.js +1 -0
  278. package/dist/mint-components/{p-d0cad85c.js → p-8fd8682c.js} +2 -2
  279. package/dist/mint-components/p-900d4192.system.js +1 -0
  280. package/dist/mint-components/{p-70ca623f.system.entry.js → p-97b946c2.system.entry.js} +1 -1
  281. package/dist/mint-components/{p-5fcd8687.entry.js → p-9be0cb19.entry.js} +1 -1
  282. package/dist/mint-components/{p-6156a7ac.system.entry.js → p-a0a26fc5.system.entry.js} +1 -1
  283. package/dist/mint-components/{p-8bfebd45.system.entry.js → p-a355eeaf.system.entry.js} +1 -1
  284. package/dist/mint-components/p-a731e752.js +1 -0
  285. package/dist/mint-components/{p-036c5a7e.system.entry.js → p-a8246a50.system.entry.js} +1 -1
  286. package/dist/mint-components/{p-c47b83c3.entry.js → p-a831de18.entry.js} +1 -1
  287. package/dist/mint-components/{p-6ad110d3.js → p-a833dbb3.js} +1 -1
  288. package/dist/mint-components/p-a88a08bb.system.js +1 -0
  289. package/dist/mint-components/p-a9a6f205.entry.js +1 -0
  290. package/dist/mint-components/{p-624c5352.system.entry.js → p-aee83885.system.entry.js} +1 -1
  291. package/dist/mint-components/p-b86cbac3.system.entry.js +1 -0
  292. package/dist/mint-components/{p-602180a2.system.js → p-be3a0cc4.system.js} +1 -1
  293. package/dist/mint-components/{p-05a2640d.entry.js → p-c0f9d0b1.entry.js} +1 -1
  294. package/dist/mint-components/p-c65cfc9d.system.js +1 -0
  295. package/dist/mint-components/p-c6e6c96c.system.entry.js +1 -0
  296. package/dist/mint-components/{p-991bd182.system.entry.js → p-ca40dbaa.system.entry.js} +1 -1
  297. package/dist/mint-components/p-cc189fc4.system.js +1 -0
  298. package/dist/mint-components/{p-cffc23c0.entry.js → p-cc652a53.entry.js} +1 -1
  299. package/dist/mint-components/p-d19d6012.js +235 -0
  300. package/dist/mint-components/p-d3c7dbfc.entry.js +1 -0
  301. package/dist/mint-components/{p-3772bae2.system.entry.js → p-d4a1bce9.system.entry.js} +1 -1
  302. package/dist/mint-components/p-d653e004.system.entry.js +1 -0
  303. package/dist/mint-components/{p-ced568fc.system.entry.js → p-d68f6b64.system.entry.js} +1 -1
  304. package/dist/mint-components/p-e36ff7fa.entry.js +1 -0
  305. package/dist/mint-components/{p-05a86906.entry.js → p-e608f340.entry.js} +1 -1
  306. package/dist/mint-components/{p-4068e47c.system.entry.js → p-e7cb4274.system.entry.js} +1 -1
  307. package/dist/mint-components/p-ef7f70f2.system.entry.js +1 -0
  308. package/dist/mint-components/{p-f16bae7a.system.entry.js → p-f20d9204.system.entry.js} +1 -1
  309. package/dist/mint-components/{p-c84a5b33.js → p-f7f87338.js} +1 -1
  310. package/dist/mint-components/{p-55210498.system.js → p-f9ada3d7.system.js} +1 -1
  311. package/dist/mint-components/{p-eddcf481.js → p-faf66fdb.js} +1 -1
  312. package/dist/mint-components/{p-6305419f.entry.js → p-fcd03042.entry.js} +1 -1
  313. package/dist/mint-components/{p-09afaaac.system.entry.js → p-fd281e6b.system.entry.js} +1 -1
  314. package/dist/types/{stories → components/sqm-asset-card}/AssetCard.stories.d.ts +0 -0
  315. package/dist/types/{stories → components/sqm-big-stat}/BigStat.stories.d.ts +0 -0
  316. package/dist/types/{stories → components/sqm-big-stat}/UseBigStat.stories.d.ts +6 -0
  317. package/dist/types/components/sqm-big-stat/sqm-big-stat-view.d.ts +1 -0
  318. package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +0 -6
  319. package/dist/types/components/sqm-big-stat/useBigStat.d.ts +4 -1
  320. package/dist/types/components/sqm-brand/SqmBrand.stories.d.ts +7 -0
  321. package/dist/types/components/sqm-brand/sqm-brand.d.ts +23 -0
  322. package/dist/types/{stories → components/sqm-divided-layout}/DividedLayout.stories.d.ts +0 -0
  323. package/dist/types/{stories → components/sqm-edit-profile}/EditProfileForm.stories.d.ts +0 -0
  324. package/dist/types/{stories → components/sqm-edit-profile}/UseEditProfile.stories.d.ts +0 -0
  325. package/dist/types/{stories → components/sqm-form-message}/FormMessage.stories.d.ts +0 -0
  326. package/dist/types/{stories → components/sqm-hero}/Hero.stories.d.ts +0 -0
  327. package/dist/types/{stories → components/sqm-leaderboard}/Leaderboard.stories.d.ts +0 -0
  328. package/dist/types/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.d.ts +0 -0
  329. package/dist/types/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.d.ts +0 -0
  330. package/dist/types/{stories → components/sqm-name-fields}/NameFields.stories.d.ts +0 -0
  331. package/dist/types/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.d.ts +0 -0
  332. package/dist/types/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.d.ts +0 -0
  333. package/dist/types/{stories → components/sqm-password-field}/PasswordField.stories.d.ts +0 -0
  334. package/dist/types/{stories → components/sqm-portal-change-password}/ChangePassword.stories.d.ts +0 -0
  335. package/dist/types/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.d.ts +0 -0
  336. package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +0 -6
  337. package/dist/types/{stories → components/sqm-portal-footer}/PortalFooter.stories.d.ts +0 -0
  338. package/dist/types/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.d.ts +0 -0
  339. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.d.ts +0 -1
  340. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +0 -10
  341. package/dist/types/components/sqm-portal-forgot-password/usePortalForgotPassword.d.ts +1 -3
  342. package/dist/types/{stories → components/sqm-portal-frame}/PortalFrame.stories.d.ts +0 -0
  343. package/dist/types/{stories → components/sqm-portal-login}/PortalLogin.stories.d.ts +0 -0
  344. package/dist/types/components/sqm-portal-login/sqm-portal-login-view.d.ts +0 -2
  345. package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +0 -8
  346. package/dist/types/components/sqm-portal-login/usePortalLogin.d.ts +3 -3
  347. package/dist/types/{stories → components/sqm-portal-profile}/PortalProfile.stories.d.ts +0 -0
  348. package/dist/types/{stories → components/sqm-portal-register}/PortalRegister.stories.d.ts +0 -0
  349. package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +0 -1
  350. package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +0 -10
  351. package/dist/types/components/sqm-portal-register/usePortalRegister.d.ts +0 -1
  352. package/dist/types/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.d.ts +0 -0
  353. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +0 -8
  354. package/dist/types/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.d.ts +0 -0
  355. package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +0 -8
  356. package/dist/types/components/sqm-portal-verify-email/usePortalVerifyEmail.d.ts +1 -2
  357. package/dist/types/components/sqm-program-explainer/ProgramExplainer.stories.d.ts +7 -0
  358. package/dist/types/components/sqm-program-explainer/sqm-program-explainer-view.d.ts +11 -0
  359. package/dist/types/components/sqm-program-explainer/sqm-program-explainer.d.ts +41 -0
  360. package/dist/types/components/sqm-program-explainer-step/ProgramExplainerStep.stories.d.ts +5 -0
  361. package/dist/types/components/sqm-program-explainer-step/sqm-program-explainer-step-view.d.ts +8 -0
  362. package/dist/types/components/sqm-program-explainer-step/sqm-program-explainer-step.d.ts +29 -0
  363. package/dist/types/{stories → components/sqm-program-menu}/ProgramMenu.stories.d.ts +0 -0
  364. package/dist/types/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.d.ts +0 -0
  365. package/dist/types/{stories → components/sqm-referral-table}/ReferralTable.stories.d.ts +0 -0
  366. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableCell.stories.d.ts +0 -0
  367. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.d.ts +0 -0
  368. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeList.stories.d.ts +15 -0
  369. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +451 -0
  370. package/dist/types/components/sqm-reward-exchange-list/SVGs.d.ts +5 -0
  371. package/dist/types/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.d.ts +28 -0
  372. package/dist/types/components/sqm-reward-exchange-list/progressBar.d.ts +4 -0
  373. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.d.ts +28 -0
  374. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +77 -0
  375. package/dist/types/components/sqm-reward-exchange-list/useRewardExchangeList.d.ts +60 -0
  376. package/dist/types/components/sqm-rewards-table/UseRewardsTable.stories.d.ts +16 -0
  377. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-date-cell.d.ts +7 -0
  378. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-rewards-cell.d.ts +5 -0
  379. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-source-cell.d.ts +4 -0
  380. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-status-cell.d.ts +6 -0
  381. package/dist/types/components/sqm-rewards-table/columns/RewardTableColumn.d.ts +5 -0
  382. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.d.ts +25 -0
  383. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.d.ts +19 -0
  384. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.d.ts +23 -0
  385. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.d.ts +19 -0
  386. package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +32 -0
  387. package/dist/types/components/sqm-rewards-table/useRewardsTable.d.ts +5 -0
  388. package/dist/types/{stories → components/sqm-router}/Router.stories.d.ts +0 -0
  389. package/dist/types/{stories → components/sqm-share-button}/ShareButton.stories.d.ts +0 -0
  390. package/dist/types/{stories → components/sqm-share-button}/UseShareButton.stories.d.ts +0 -0
  391. package/dist/types/{stories → components/sqm-share-link}/ShareLink.stories.d.ts +0 -0
  392. package/dist/types/{stories → components/sqm-share-link}/UseShareLink.stories.d.ts +0 -0
  393. package/dist/types/components/sqm-stencilbook/AutoColor.d.ts +8 -0
  394. package/dist/types/components/sqm-stencilbook/Matrix.d.ts +11 -0
  395. package/dist/types/components/sqm-stencilbook/Resizer.d.ts +3 -0
  396. package/dist/types/components/sqm-stencilbook/Themes.d.ts +17 -0
  397. package/dist/types/components/sqm-task-card/SVGs.d.ts +3 -0
  398. package/dist/types/components/sqm-task-card/TaskCard.stories.d.ts +20 -0
  399. package/dist/types/components/sqm-task-card/UseTaskCard.stories.d.ts +10 -0
  400. package/dist/types/components/sqm-task-card/progress-bar/SVGs.d.ts +1 -0
  401. package/dist/types/components/sqm-task-card/progress-bar/progress-bar-view.d.ts +12 -0
  402. package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +18 -0
  403. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +80 -0
  404. package/dist/types/components/sqm-user-name/UserName.stories.d.ts +6 -0
  405. package/dist/types/components/sqm-user-name/sqm-user-name.d.ts +1 -1
  406. package/dist/types/components.d.ts +736 -96
  407. package/dist/types/fonts/GoogleFonts.d.ts +9 -0
  408. package/dist/types/global/android.d.ts +7 -0
  409. package/dist/types/global/demo.d.ts +1 -0
  410. package/dist/types/global/styles.d.ts +1 -1
  411. package/dist/types/saasquatch.d.ts +34 -0
  412. package/dist/types/stories/features.d.ts +4 -0
  413. package/dist/types/stories/templates.d.ts +4 -0
  414. package/dist/types/tables/GenericTableView.d.ts +29 -0
  415. package/dist/types/tables/TableSlots.d.ts +9 -0
  416. package/dist/types/{components/sqm-referral-table → tables}/re-render.d.ts +0 -0
  417. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-cell.d.ts +0 -0
  418. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-row.d.ts +0 -0
  419. package/dist/types/{components/sqm-referral-table → tables}/useChildElements.d.ts +0 -0
  420. package/grapesjs/grapesjs.js +1 -1
  421. package/package.json +2 -1
  422. package/dist/esm-es5/sqm-divided-layout_26.entry.js +0 -1
  423. package/dist/esm-es5/useDemoBigStat-5557504e.js +0 -1
  424. package/dist/mint-components/p-10a98629.entry.js +0 -1
  425. package/dist/mint-components/p-112d42ab.system.entry.js +0 -1
  426. package/dist/mint-components/p-192539d2.entry.js +0 -1
  427. package/dist/mint-components/p-2f333f89.system.entry.js +0 -1
  428. package/dist/mint-components/p-528aecd1.entry.js +0 -1
  429. package/dist/mint-components/p-54707082.system.js +0 -1
  430. package/dist/mint-components/p-606506d6.system.entry.js +0 -1
  431. package/dist/mint-components/p-6815e7ba.entry.js +0 -1
  432. package/dist/mint-components/p-756a5e6f.system.js +0 -1
  433. package/dist/mint-components/p-768b9014.system.entry.js +0 -1
  434. package/dist/mint-components/p-7cf335a0.entry.js +0 -1
  435. package/dist/mint-components/p-86b66e5c.entry.js +0 -1
  436. package/dist/mint-components/p-86c02069.system.entry.js +0 -1
  437. package/dist/mint-components/p-942723ad.entry.js +0 -1
  438. package/dist/mint-components/p-a646db48.system.entry.js +0 -1
  439. package/dist/mint-components/p-b3cddcca.entry.js +0 -1
  440. package/dist/mint-components/p-b63744fe.js +0 -227
  441. package/dist/mint-components/p-c5c029b8.system.js +0 -1
  442. package/dist/mint-components/p-d1cea1b1.system.js +0 -1
  443. package/dist/mint-components/p-d3171b36.system.entry.js +0 -1
  444. package/dist/mint-components/p-de3311bf.entry.js +0 -9
  445. package/dist/mint-components/p-ef29e060.entry.js +0 -230
  446. package/dist/types/stories/UserName.stories.d.ts +0 -6
@@ -1,6 +1,6 @@
1
1
  import { withHooks } from "@saasquatch/stencil-hooks";
2
2
  import { Component, h, Host, Method, Prop } from "@stencil/core";
3
- import { useRequestRerender } from "../re-render";
3
+ import { useRequestRerender } from "../../../tables/re-render";
4
4
  /**
5
5
  * @uiName Referral Table Status Column
6
6
  */
@@ -1,6 +1,6 @@
1
1
  import { withHooks } from "@saasquatch/stencil-hooks";
2
2
  import { Component, h, Host, Method, Prop } from "@stencil/core";
3
- import { useRequestRerender } from "../re-render";
3
+ import { useRequestRerender } from "../../../tables/re-render";
4
4
  /**
5
5
  * @uiName Referral Table User Column
6
6
  */
@@ -2,8 +2,8 @@ import { usePaginatedQuery, useProgramId, useQuery, useUserIdentity, } from "@sa
2
2
  import { useEffect, useReducer } from "@saasquatch/universal-hooks";
3
3
  import { h } from "@stencil/core";
4
4
  import gql from "graphql-tag";
5
- import { useRerenderListener } from "./re-render";
6
- import { useChildElements } from "./useChildElements";
5
+ import { useRerenderListener } from "../../tables/re-render";
6
+ import { useChildElements } from "../../tables/useChildElements";
7
7
  const GET_REFERRER_DATA = gql `
8
8
  query getReferrals($programId: ID, $rewardFilter: RewardFilterInput) {
9
9
  viewer {
@@ -0,0 +1,22 @@
1
+ import { h } from "@stencil/core";
2
+ import { RewardExchangeView, } from "./sqm-reward-exchange-list-view";
3
+ import * as Data from "./RewardExchangeListData";
4
+ import { Resizer } from "../sqm-stencilbook/Resizer";
5
+ export default {
6
+ title: "Components/Reward Exchange List",
7
+ };
8
+ const StoryBase = (props) => () => {
9
+ return (h(Resizer, null,
10
+ h(RewardExchangeView, Object.assign({}, props))));
11
+ };
12
+ export const ChooseReward = StoryBase(Data.rewardExchange);
13
+ export const ChooseRewardSelected = StoryBase(Data.rewardExchangeSelected);
14
+ export const ChooseAmount = StoryBase(Data.chooseAmountFixed);
15
+ export const ChooseAmountVariable = StoryBase(Data.chooseAmountVariable);
16
+ export const Confirm = StoryBase(Data.confirmFixed);
17
+ export const ConfirmVariable = StoryBase(Data.confirmVariable);
18
+ export const Error = StoryBase(Data.error);
19
+ export const Success = StoryBase(Data.success);
20
+ export const SuccessVariable = StoryBase(Data.success2);
21
+ export const SuccessPromo = StoryBase(Data.success3);
22
+ export const Loading = StoryBase(Data.loading);
@@ -0,0 +1,259 @@
1
+ const baseResponse = (data, stage = "chooseReward", selectedItem = null, selectedStep = null, error = false, loading = false, fueltank = null) => ({
2
+ states: {
3
+ content: {
4
+ text: {
5
+ continueText: "Continue",
6
+ cancelText: "Cancel",
7
+ continueToConfirmationText: "Continue to confirmation",
8
+ backText: "Back",
9
+ redeemText: "Redeem",
10
+ doneText: "Done",
11
+ chooseRewardTitle: "Choose reward",
12
+ chooseAmountTitle: "Amount",
13
+ confirmationTitle: "Confirm",
14
+ redeemTitle: "Confirm and redeem",
15
+ rewardRedeemedText: "Reward redeemed",
16
+ queryError: "An error occured trying to redeem this reward. Please try again.",
17
+ notAvailableError: "{unavailableReason, select, US_TAX {US Tax limit} INSUFFICIENT_REDEEMABLE_CREDIT {Not enough points} other {Not available} }",
18
+ },
19
+ },
20
+ redeemStage: stage,
21
+ amount: 0,
22
+ exchangeError: error,
23
+ loading: loading,
24
+ selectedItem: selectedItem,
25
+ selectedStep: selectedStep,
26
+ open: false,
27
+ },
28
+ data: {
29
+ exchangeList: data,
30
+ fuelTankCode: fueltank,
31
+ },
32
+ callbacks: {
33
+ exchangeReward: null,
34
+ resetState: null,
35
+ setStage: null,
36
+ setExchangeState: null,
37
+ copyFuelTankCode: null,
38
+ refs: null,
39
+ },
40
+ refs: null,
41
+ });
42
+ const baseReward = {
43
+ key: "",
44
+ name: "",
45
+ description: "Description of reward. Lorem ipsum dolor sit amet, consectetur adipiscing. Id nec semper sapien dignissim rhoncus nunc.",
46
+ imageUrl: "",
47
+ available: true,
48
+ unavailableReason: null,
49
+ unavailableReasonCode: null,
50
+ ruleType: "FIXED_GLOBAL_REWARD",
51
+ sourceUnit: "POINT",
52
+ sourceValue: 10,
53
+ prettySourceValue: "10 SaaSquatch Points",
54
+ sourceMinValue: null,
55
+ prettySourceMinValue: null,
56
+ sourceMaxValue: null,
57
+ prettySourceMaxValue: null,
58
+ destinationMinValue: null,
59
+ prettyDestinationMinValue: null,
60
+ destinationMaxValue: null,
61
+ prettyDestinationMaxValue: null,
62
+ globalRewardKey: "",
63
+ destinationUnit: null,
64
+ steps: [],
65
+ };
66
+ const notEnoughPoints = {
67
+ available: false,
68
+ unavailableReasonCode: "INSUFFICIENT_REDEEMABLE_CREDIT",
69
+ };
70
+ const usTax = {
71
+ available: false,
72
+ unavailableReasonCode: "US_TAX",
73
+ };
74
+ const selected = {
75
+ key: "r1",
76
+ };
77
+ const imageUrl = (props) => ({
78
+ imageUrl: props,
79
+ });
80
+ const name = (props) => ({
81
+ name: props,
82
+ });
83
+ const description = (props) => ({
84
+ description: props,
85
+ });
86
+ const fixedValue = (props) => ({
87
+ prettySourceValue: props,
88
+ });
89
+ const variableValue = (min, max, unit) => ({
90
+ ruleType: "VARIABLE_CREDIT_REWARD",
91
+ sourceMinValue: min,
92
+ prettySourceMinValue: min + " " + unit,
93
+ sourceMaxValue: max,
94
+ prettySourceMaxValue: max + " " + unit,
95
+ });
96
+ const data = [
97
+ {
98
+ ...baseReward,
99
+ ...name("Free swag with a promo code"),
100
+ ...imageUrl("https://i.imgur.com/n7vC4BR.png"),
101
+ ...fixedValue("40 SaaSquatch Points"),
102
+ },
103
+ {
104
+ ...baseReward,
105
+ ...selected,
106
+ ...name("Visa® Prepaid Card USD"),
107
+ ...imageUrl("https://i.imgur.com/veHErQX.png"),
108
+ ...variableValue(20, 80, "Points"),
109
+ },
110
+ {
111
+ ...baseReward,
112
+ ...name("A very exclusive gift box"),
113
+ ...imageUrl("https://i.imgur.com/93BvEgH.png"),
114
+ ...fixedValue("30 SaaSquatch Points"),
115
+ },
116
+ {
117
+ ...baseReward,
118
+ ...name("$50 Store credit"),
119
+ ...imageUrl("https://i.imgur.com/WkCMVSE.png"),
120
+ ...fixedValue("100 SaaSquatch Points"),
121
+ },
122
+ {
123
+ ...baseReward,
124
+ ...name("Variable amount of store credit"),
125
+ ...imageUrl("https://i.imgur.com/Jn2fE0s.png"),
126
+ ...variableValue(20, 100, "Points"),
127
+ },
128
+ {
129
+ ...baseReward,
130
+ ...notEnoughPoints,
131
+ ...name("A very rare cactus"),
132
+ ...imageUrl("https://i.imgur.com/hhlF2Ey.png"),
133
+ ...fixedValue("2000 SaaSquatch Points"),
134
+ },
135
+ {
136
+ ...baseReward,
137
+ ...usTax,
138
+ ...name("$1000 Store credit with a really super long name in the front page"),
139
+ ...imageUrl("https://i.imgur.com/y9HSls1.png"),
140
+ ...fixedValue("2000 SaaSquatch Long Points"),
141
+ },
142
+ {
143
+ ...baseReward,
144
+ ...notEnoughPoints,
145
+ ...name("A holiday gift box"),
146
+ ...imageUrl("https://i.imgur.com/dWEdB3p.png"),
147
+ ...fixedValue("100 SaaSquatch Points"),
148
+ },
149
+ ];
150
+ export const rewardExchange = {
151
+ ...baseResponse(data),
152
+ };
153
+ export const rewardExchangeSelected = {
154
+ ...baseResponse(data, "chooseReward", {
155
+ ...baseReward,
156
+ ...selected,
157
+ ...name("Visa® Prepaid Card USD"),
158
+ ...imageUrl("https://i.imgur.com/veHErQX.png"),
159
+ ...variableValue(20, 80, "Points"),
160
+ }),
161
+ };
162
+ const stepsData = (start, end, inc) => {
163
+ const steps = [];
164
+ for (let i = start; i <= end; i += inc) {
165
+ steps.push({
166
+ sourceValue: i,
167
+ prettySourceValue: i + " SaaSquatch Points",
168
+ destinationValue: i,
169
+ prettyDestinationValue: "$" + i,
170
+ available: true,
171
+ unavailableReasonCode: null,
172
+ unavailableReason: "",
173
+ });
174
+ }
175
+ return steps;
176
+ };
177
+ const baseStep = (dst, dstUnit, src, srcUnit, available = true) => ({
178
+ destinationValue: dst,
179
+ prettyDestinationValue: dstUnit + dst,
180
+ sourceValue: src,
181
+ prettySourceValue: src + " " + srcUnit,
182
+ available: available,
183
+ unavailableReasonCode: null,
184
+ unavailableReason: "",
185
+ });
186
+ export const chooseAmountVariable = {
187
+ ...baseResponse(data, "chooseAmount", {
188
+ ...baseReward,
189
+ ...name("Visa® Prepaid Card USD"),
190
+ ...imageUrl("https://i.imgur.com/veHErQX.png"),
191
+ ...variableValue(20, 80, "Points"),
192
+ steps: [
193
+ baseStep(20, "$", 40, "Points"),
194
+ baseStep(30, "$", 60, "Points"),
195
+ baseStep(40, "$", 80, "Points"),
196
+ baseStep(50, "$", 100, "Points"),
197
+ baseStep(60, "$", 120, "Points"),
198
+ ],
199
+ }),
200
+ };
201
+ export const chooseAmountFixed = {
202
+ ...baseResponse(data, "chooseAmount", {
203
+ ...baseReward,
204
+ ...name("Free swag with a promo code"),
205
+ ...imageUrl("https://i.imgur.com/n7vC4BR.png"),
206
+ ...fixedValue("40 SaaSquatch Points"),
207
+ }),
208
+ };
209
+ export const confirmFixed = {
210
+ ...baseResponse(data, "confirmation", {
211
+ ...baseReward,
212
+ ...name("A very exclusive gift box"),
213
+ ...imageUrl("https://i.imgur.com/93BvEgH.png"),
214
+ ...fixedValue("30 SaaSquatch Points"),
215
+ }),
216
+ };
217
+ export const confirmVariable = {
218
+ ...baseResponse(data, "confirmation", {
219
+ ...baseReward,
220
+ ...name("Visa® Prepaid Card USD"),
221
+ ...imageUrl("https://i.imgur.com/veHErQX.png"),
222
+ ...variableValue(20, 80, "Points"),
223
+ }, baseStep(20, "$", 40, "Points")),
224
+ };
225
+ export const error = {
226
+ ...baseResponse(data, "confirmation", {
227
+ ...baseReward,
228
+ ...name("Visa® Prepaid Card USD"),
229
+ ...imageUrl("https://i.imgur.com/veHErQX.png"),
230
+ ...variableValue(20, 80, "Points"),
231
+ }, baseStep(20, "$", 40, "Points"), true),
232
+ };
233
+ export const success = {
234
+ ...baseResponse(data, "success", {
235
+ ...baseReward,
236
+ ...name("A very exclusive gift box"),
237
+ ...imageUrl("https://i.imgur.com/93BvEgH.png"),
238
+ ...fixedValue("30 SaaSquatch Points"),
239
+ }),
240
+ };
241
+ export const success2 = {
242
+ ...baseResponse(data, "success", {
243
+ ...baseReward,
244
+ ...name("Visa® Prepaid Card USD"),
245
+ ...imageUrl("https://i.imgur.com/93BvEgH.png"),
246
+ ...variableValue(20, 80, "Points"),
247
+ }, baseStep(20, "$", 40, "Points")),
248
+ };
249
+ export const success3 = {
250
+ ...baseResponse(data, "success", {
251
+ ...baseReward,
252
+ ...name("A very exclusive gift box"),
253
+ ...imageUrl("https://i.imgur.com/93BvEgH.png"),
254
+ ...fixedValue("30 SaaSquatch Points"),
255
+ }, undefined, undefined, undefined, "4ah2-hh46-gk7r"),
256
+ };
257
+ export const loading = {
258
+ ...baseResponse(null, "chooseReward", null, null, false, true),
259
+ };
@@ -0,0 +1,27 @@
1
+ import { h } from "@stencil/core";
2
+ export const LeftArrow = () => (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" } },
3
+ 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" })));
4
+ export const ExchangeArrows = () => (h("svg", { width: 19, height: 15, fill: "none", xmlns: "http://www.w3.org/2000/svg" },
5
+ h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M5.125 14.783a.6.6 0 0 1-.851 0l-3.9-3.923a.6.6 0 1 1 .85-.846L4.1 12.905V1.52a.6.6 0 0 1 1.2 0v11.385l2.875-2.891a.6.6 0 1 1 .85.846l-3.9 3.923Zm9.6-13.686a.6.6 0 0 0-.851 0l-3.9 3.923a.6.6 0 0 0 .85.846L13.7 2.975V14.36a.6.6 0 1 0 1.2 0V2.975l2.875 2.891a.6.6 0 1 0 .85-.846l-3.9-3.923Z", fill: "#333" })));
6
+ export const CheckMark = () => (h("svg", { width: 12, height: 10, fill: "none", xmlns: "http://www.w3.org/2000/svg" },
7
+ h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M11.58.23c.475.371.56 1.057.19 1.532L5.69 9.554a1.091 1.091 0 0 1-1.631.1L.32 5.915a1.09 1.09 0 1 1 1.542-1.542L4.73 7.239 10.049.42A1.09 1.09 0 0 1 11.58.23Z", fill: "#fff" })));
8
+ export const CheckmarkFilled = () => (h("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
9
+ h("path", { d: "M0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9Z", fill: "currentColor" }),
10
+ h("path", { d: "M5.68394 8.77046C5.28103 8.39273 4.64819 8.41315 4.27046 8.81606C3.89273 9.21897 3.91315 9.85181 4.31606 10.2295L5.68394 8.77046ZM7.66667 12L6.98273 12.7295C7.36738 13.0902 7.96595 13.0902 8.35061 12.7295L7.66667 12ZM13.6839 7.72954C14.0869 7.35181 14.1073 6.71897 13.7295 6.31606C13.3518 5.91315 12.719 5.89273 12.3161 6.27046L13.6839 7.72954ZM4.31606 10.2295L6.98273 12.7295L8.35061 11.2705L5.68394 8.77046L4.31606 10.2295ZM8.35061 12.7295L13.6839 7.72954L12.3161 6.27046L6.98273 11.2705L8.35061 12.7295Z", fill: "white" })));
11
+ export const Gift = () => (h("svg", { width: 156, height: 157, fill: "none", xmlns: "http://www.w3.org/2000/svg" },
12
+ h("path", { d: "M40.18 126h83.663a3 3 0 0 0 3-3V73.966a3 3 0 0 0-3-3H40.18a3 3 0 0 0-3 3V123a3 3 0 0 0 3 3Z", fill: "#FFD34F" }),
13
+ h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M37.18 73.862v7.966h89.663v-7.966H37.18Z", fill: "#E9BB30" }),
14
+ h("path", { d: "M133.039 74.224a2.18 2.18 0 0 0 2.187-2.172v-19.19c0-1.2-.98-2.172-2.187-2.172H31.347a2.18 2.18 0 0 0-2.187 2.172v19.19c0 1.2.98 2.172 2.187 2.172H133.04Z", fill: "#FFC000" }),
15
+ h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M123.287 35.172c0 6.056-9.155 15.226-13.76 15.654H88.888V126H75.141V50.826H58.534c-9.462-2.038-17.803-9.258-17.803-16.944 0-7.49 3.274-13.422 9.23-15.983 5.693-2.446 12.265-1.105 17.46 2.479 6.378 4.398 9.956 12.654 13.202 20.144.284.657.567 1.308.848 1.95.274-.608.55-1.228.83-1.856 3.216-7.22 6.887-15.464 13.057-19.89 5.454-3.913 12.387-5.39 18.38-2.711 6.197 2.77 9.549 9.127 9.549 17.157Zm-23.306-8.266c3.305-2.37 7.262-2.8 10.645 0 2.946 2.44 3.103 3.588 3.482 6.351l.067.483c0 4.09-3.549 10.252-7.097 10.252-2.515 0-4.489-.022-6.34-.041-3.375-.036-6.337-.068-11.403.04.966-1.86 1.737-3.644 2.473-5.346 1.967-4.553 3.678-8.515 8.173-11.739Zm-39.034 0c-1.6-1.103-5.268-.61-6.79.043-1.257.54-3.134 2.19-3.134 6.933 0 4.61 7.511 8.59 7.511 8.59s5.962 1.52 16.607 1.52c-3.624-8.922-8.757-13.336-14.194-17.086Z", fill: "#EB5757" }),
16
+ h("path", { d: "M75.086 74.224h13.85v7.604h-13.85v-7.604Z", fill: "#DD4747" }),
17
+ h("g", { filter: "url(#a)" },
18
+ h("ellipse", { cx: 82.008, cy: 141.207, rx: 36.813, ry: 5.793, fill: "#E0DDDD", "fill-opacity": 0.8 })),
19
+ h("path", { d: "M150.446 79.134a.5.5 0 0 1 .9 0l1.133 2.336c.05.102.132.184.234.233l2.344 1.122a.5.5 0 0 1 0 .902l-2.344 1.122a.503.503 0 0 0-.234.233l-1.133 2.336a.5.5 0 0 1-.9 0l-1.134-2.336a.499.499 0 0 0-.234-.233l-2.343-1.122a.5.5 0 0 1 0-.902l2.343-1.122a.499.499 0 0 0 .234-.233l1.134-2.336Z", fill: "#FAB6B6" }),
20
+ h("path", { d: "M14.86 29.168a.5.5 0 0 1 .9 0l1.133 2.336a.5.5 0 0 0 .234.233l2.344 1.122a.5.5 0 0 1 0 .902l-2.344 1.122a.5.5 0 0 0-.234.233l-1.133 2.336a.5.5 0 0 1-.9 0l-1.134-2.336a.5.5 0 0 0-.234-.233l-2.343-1.122a.5.5 0 0 1 0-.902l2.344-1.122a.5.5 0 0 0 .233-.233l1.134-2.336Z", fill: "#F4EFBC" }),
21
+ h("path", { d: "m125.382 0 .712 1.466 1.475.706-1.475.707-.712 1.466-.711-1.466-1.476-.707 1.476-.706.711-1.466Z", fill: "#FDA802" }),
22
+ h("path", { d: "m2.187 103.552.711 1.466 1.476.706-1.476.707-.711 1.466-.711-1.466L0 105.724l1.476-.706.71-1.466Z", fill: "#E4599C" }),
23
+ h("defs", null,
24
+ h("filter", { id: "a", x: 35.195, y: 125.414, width: 93.625, height: 31.586, filterUnits: "userSpaceOnUse", "color-interpolation-filters": "s-rGB" },
25
+ h("feFlood", { "flood-opacity": 0, result: "BackgroundImageFix" }),
26
+ h("feBlend", { in: "SourceGraphic", in2: "BackgroundImageFix", result: "shape" }),
27
+ h("feGaussianBlur", { stdDeviation: 5, result: "effect1_foregroundBlur_653_17907" })))));
@@ -0,0 +1,143 @@
1
+ import { setUserIdentity, useLazyQuery, } from "@saasquatch/component-boilerplate";
2
+ import { useEffect, useState } from "@saasquatch/universal-hooks";
3
+ import { h } from "@stencil/core";
4
+ import { gql } from "graphql-request";
5
+ import { createHookStory } from "../sqm-stencilbook/HookStoryAddon";
6
+ const EXCHANGE = gql `
7
+ mutation exchange($exchangeRewardInput: ExchangeRewardInput!) {
8
+ exchangeReward(exchangeRewardInput: $exchangeRewardInput) {
9
+ reward {
10
+ id
11
+ }
12
+ }
13
+ }
14
+ `;
15
+ export default {
16
+ title: "Hooks / useRewardExchange",
17
+ };
18
+ function setupGraphQL() {
19
+ const id = "testestest";
20
+ const accountId = id;
21
+ const programId = "sam-partner-test-2";
22
+ //@ts-ignore
23
+ window.widgetIdent = {
24
+ tenantAlias: "test_a8b41jotf8a1v",
25
+ appDomain: "https://staging.referralsaasquatch.com",
26
+ programId,
27
+ };
28
+ useEffect(() => {
29
+ setUserIdentity({
30
+ accountId,
31
+ id,
32
+ jwt: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImFjY291bnRJZCI6InRlc3Rlc3Rlc3QiLCJpZCI6InRlc3Rlc3Rlc3QifX0.qYnU5hNeIj9C_G3NogfG7btgCPGZC7JRXY0MG6a63zs",
33
+ });
34
+ return () => {
35
+ window.widgetIdent = undefined;
36
+ setUserIdentity(undefined);
37
+ };
38
+ }, []);
39
+ return { id, accountId };
40
+ }
41
+ function useExchangeButton() {
42
+ const { id, accountId } = setupGraphQL();
43
+ const [points, setPoints] = useState(10);
44
+ const [rate, setRate] = useState(100);
45
+ const [exchange, { data, errors }] = useLazyQuery(EXCHANGE);
46
+ return {
47
+ states: {
48
+ points,
49
+ rate,
50
+ },
51
+ data: {
52
+ id,
53
+ accountId,
54
+ data,
55
+ errors,
56
+ },
57
+ callbacks: {
58
+ exchange,
59
+ setPoints,
60
+ setRate,
61
+ },
62
+ };
63
+ }
64
+ const DefaultView = (props) => {
65
+ const { states, data, callbacks } = props;
66
+ return (h("div", null,
67
+ h("div", null,
68
+ h("label", null, "Rate:"),
69
+ h("input", { value: states.rate, onInput: (e) =>
70
+ // @ts-ignore
71
+ callbacks.setRate(e.target.value) })),
72
+ h("input", { value: states.points, onInput: (e) =>
73
+ // @ts-ignore
74
+ callbacks.setPoints(e.target.value) }),
75
+ h("button", { onClick: () => callbacks.exchange(props.input) }, "Exchange"),
76
+ h("details", null,
77
+ h("summary", null, "response"),
78
+ h("h4", null, "data"),
79
+ h("div", { style: { maxWidth: "500px" } },
80
+ h("pre", { style: { width: "500px", whiteSpace: "pre-wrap" } }, JSON.stringify(data.data))),
81
+ h("h4", null, "errors"),
82
+ h("div", { style: { maxWidth: "500px" } },
83
+ h("pre", { style: { maxWidth: "500px", whiteSpace: "pre-wrap" } }, JSON.stringify(data.errors))))));
84
+ };
85
+ export const RewardList = createHookStory(() => {
86
+ setupGraphQL();
87
+ const props = {
88
+ listType: "",
89
+ render: () => { },
90
+ disconnectedCallback: () => { },
91
+ ignored: true,
92
+ };
93
+ return (h("sqm-reward-exchange-list", { "list-type": "something" }));
94
+ });
95
+ export const FixedGlobalReward = createHookStory(() => {
96
+ const { states, data, callbacks } = useExchangeButton();
97
+ return (h(DefaultView, { states: states, data: data, callbacks: callbacks, input: {
98
+ exchangeRewardInput: {
99
+ userId: data.id,
100
+ accountId: data.accountId,
101
+ redeemCreditInput: {
102
+ amount: states.points,
103
+ unit: "POINT",
104
+ },
105
+ globalRewardKey: "gc1",
106
+ },
107
+ } }));
108
+ });
109
+ export const VariableGlobalReward = createHookStory(() => {
110
+ const { states, data, callbacks } = useExchangeButton();
111
+ return (h(DefaultView, { states: states, data: data, callbacks: callbacks, input: {
112
+ exchangeRewardInput: {
113
+ userId: data.id,
114
+ accountId: data.accountId,
115
+ redeemCreditInput: {
116
+ amount: states.points,
117
+ unit: "POINT",
118
+ },
119
+ globalRewardKey: "gc1",
120
+ rewardInput: {
121
+ valueInCents: Math.ceil(states.points * states.rate),
122
+ },
123
+ },
124
+ } }));
125
+ });
126
+ export const VariableCreditReward = createHookStory(() => {
127
+ const { states, data, callbacks } = useExchangeButton();
128
+ return (h(DefaultView, { states: states, data: data, callbacks: callbacks, input: {
129
+ exchangeRewardInput: {
130
+ userId: data.id,
131
+ accountId: data.accountId,
132
+ redeemCreditInput: {
133
+ amount: states.points,
134
+ unit: "POINT",
135
+ },
136
+ rewardInput: {
137
+ type: "CREDIT",
138
+ unit: "foo",
139
+ assignedCredit: Math.ceil(states.points * states.rate),
140
+ },
141
+ },
142
+ } }));
143
+ });
@@ -0,0 +1,64 @@
1
+ import { h } from "@stencil/core";
2
+ import { CheckMark } from "./SVGs";
3
+ function Dot({ active, completed, incomplete, stage, }) {
4
+ return (h("div", { style: {
5
+ display: "flex",
6
+ } },
7
+ h("div", { style: {
8
+ backgroundColor: completed
9
+ ? "var(--sl-color-success-500)"
10
+ : incomplete
11
+ ? "var(--sl-color-neutral-200)"
12
+ : "var(--sl-color-neutral-0)",
13
+ border: active
14
+ ? "1px solid var(--sl-color-success-500)"
15
+ : incomplete
16
+ ? "1px solid var(--sl-color-neutral-200)"
17
+ : "1px solid var(--sl-color-success-500)",
18
+ borderRadius: "50%",
19
+ width: "23px",
20
+ height: "23px",
21
+ margin: "-11px",
22
+ zIndex: "1",
23
+ boxSizing: "content-box",
24
+ } }, completed ? (h("div", { style: { top: "-10.5%", left: "23.5%", position: "relative" } },
25
+ h(CheckMark, null))) : (h("div", { style: {
26
+ color: active
27
+ ? "var(--sl-color-success-500)"
28
+ : "var(--sl-color-neutral-50)",
29
+ width: "23px",
30
+ lineHeight: "24px",
31
+ textAlign: "center",
32
+ position: "relative",
33
+ } }, stage + 1)))));
34
+ }
35
+ function ProgressLine({ incomplete = false, active = false, invisible = false, }) {
36
+ return (h("div", { style: {
37
+ content: "''",
38
+ flex: "0.5 0.5 0",
39
+ height: "4px",
40
+ borderRadius: "4px",
41
+ background: incomplete || active
42
+ ? "var(--sl-color-neutral-200)"
43
+ : "var(--sl-color-success-500)",
44
+ position: "relative",
45
+ bottom: "0",
46
+ left: "0",
47
+ display: "flex",
48
+ justifyContent: "center",
49
+ columnGap: "50px",
50
+ marginRight: "-2px",
51
+ boxSizing: "content-box",
52
+ opacity: invisible ? "0" : "1",
53
+ } }));
54
+ }
55
+ function Progress({ active, completed, incomplete, stage }) {
56
+ return [
57
+ h(ProgressLine, { incomplete: incomplete, invisible: stage === 0 }),
58
+ h(Dot, { active: active, completed: completed, incomplete: incomplete, stage: stage }),
59
+ h(ProgressLine, { incomplete: incomplete, active: active, invisible: stage === 2 }),
60
+ ];
61
+ }
62
+ export function ProgressBar({ stageCount, currentStage, }) {
63
+ return (h("div", { style: { display: "flex", columnGap: "-2px" } }, Array.from(Array(stageCount).keys()).map((stage) => (h(Progress, { active: currentStage === stage, completed: currentStage > stage, incomplete: currentStage < stage, stage: stage })))));
64
+ }