@saasquatch/mint-components 1.3.1-6 → 1.3.2-2

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 (361) hide show
  1. package/CHANGELOG.md +23 -31
  2. package/dist/cjs/{ShadowViewAddon-a33867b9.js → ShadowViewAddon-75c18b96.js} +1 -1
  3. package/dist/cjs/{global-f4f5e602.js → global-041b5338.js} +334 -176
  4. package/dist/cjs/{sqm-leaderboard-rank-view-54299e38.js → index-19309631.js} +3 -10
  5. package/dist/cjs/{index.module-e9dac160.js → index.module-6a7bda18.js} +3 -2
  6. package/dist/cjs/loader.cjs.js +4 -3
  7. package/dist/cjs/mint-components.cjs.js +4 -3
  8. package/dist/cjs/{re-render-3acba68a.js → re-render-7cdb2d81.js} +1 -1
  9. package/dist/cjs/sqm-asset-card.cjs.entry.js +1 -1
  10. package/dist/cjs/sqm-big-stat.cjs.entry.js +2 -2
  11. package/dist/cjs/{sqm-divided-layout_26.cjs.entry.js → sqm-divided-layout_27.cjs.entry.js} +1254 -65
  12. package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +1 -1
  13. package/dist/cjs/sqm-leaderboard-rank-view-35015d30.js +10 -0
  14. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +9 -7
  15. package/dist/cjs/sqm-leaderboard.cjs.entry.js +2 -2
  16. package/dist/cjs/sqm-name-fields.cjs.entry.js +1 -1
  17. package/dist/cjs/{sqm-navigation-sidebar-item-view-daa9c2e1.js → sqm-navigation-sidebar-item-view-e99b4a10.js} +1 -1
  18. package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +2 -2
  19. package/dist/cjs/sqm-popup-container.cjs.entry.js +1 -1
  20. package/dist/cjs/{sqm-portal-email-verification-view-395079fe.js → sqm-portal-email-verification-view-5e955797.js} +1 -1
  21. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +5 -4
  22. package/dist/cjs/{sqm-portal-footer-view-c82aedb5.js → sqm-portal-footer-view-9089feb7.js} +1 -1
  23. package/dist/cjs/sqm-portal-footer.cjs.entry.js +4 -3
  24. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +1 -1
  25. package/dist/cjs/sqm-portal-logout.cjs.entry.js +1 -1
  26. package/dist/cjs/{sqm-portal-profile-view-9fa00ccd.js → sqm-portal-profile-view-a23ea292.js} +1 -1
  27. package/dist/cjs/sqm-portal-profile.cjs.entry.js +4 -3
  28. package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +1 -1
  29. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +1 -1
  30. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +1 -1
  31. package/dist/cjs/sqm-referral-table-column.cjs.entry.js +2 -2
  32. package/dist/cjs/sqm-referral-table-date-column.cjs.entry.js +2 -2
  33. package/dist/cjs/sqm-referral-table-rewards-column.cjs.entry.js +2 -2
  34. package/dist/cjs/sqm-referral-table-status-column.cjs.entry.js +2 -2
  35. package/dist/cjs/sqm-referral-table-user-column.cjs.entry.js +2 -2
  36. package/dist/cjs/sqm-rewards-table.cjs.entry.js +332 -0
  37. package/dist/cjs/sqm-share-code.cjs.entry.js +1 -1
  38. package/dist/cjs/sqm-task-card-view-57066e67.js +476 -0
  39. package/dist/cjs/sqm-task-card.cjs.entry.js +56 -0
  40. package/dist/cjs/tslib.es6-0e81fab1.js +56 -0
  41. package/dist/cjs/useChildElements-428ca5b8.js +21 -0
  42. package/dist/cjs/{useDemoBigStat-e99cc8a2.js → useDemoBigStat-17e61803.js} +3 -2
  43. package/dist/collection/collection-manifest.json +6 -3
  44. package/dist/collection/{stories → components/sqm-asset-card}/AssetCard.stories.js +2 -2
  45. package/dist/collection/{stories → components/sqm-big-stat}/BigStat.stories.js +2 -2
  46. package/dist/collection/{stories → components/sqm-big-stat}/UseBigStat.stories.js +4 -4
  47. package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +0 -20
  48. package/dist/collection/components/sqm-big-stat/useBigStat.js +2 -1
  49. package/dist/collection/{stories → components/sqm-divided-layout}/DividedLayout.stories.js +4 -4
  50. package/dist/collection/{stories → components/sqm-edit-profile}/EditProfileForm.stories.js +2 -2
  51. package/dist/collection/{stories → components/sqm-edit-profile}/UseEditProfile.stories.js +1 -1
  52. package/dist/collection/{stories → components/sqm-form-message}/FormMessage.stories.js +1 -1
  53. package/dist/collection/{stories → components/sqm-hero}/Hero.stories.js +2 -2
  54. package/dist/collection/{stories → components/sqm-leaderboard}/Leaderboard.stories.js +2 -2
  55. package/dist/collection/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.js +3 -3
  56. package/dist/collection/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.js +2 -2
  57. package/dist/collection/{stories → components/sqm-name-fields}/NameFields.stories.js +2 -2
  58. package/dist/collection/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.js +3 -3
  59. package/dist/collection/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.js +2 -2
  60. package/dist/collection/{stories → components/sqm-password-field}/PasswordField.stories.js +1 -1
  61. package/dist/collection/{stories → components/sqm-portal-change-password}/ChangePassword.stories.js +3 -3
  62. package/dist/collection/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.js +3 -3
  63. package/dist/collection/{stories → components/sqm-portal-footer}/PortalFooter.stories.js +2 -2
  64. package/dist/collection/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.js +3 -3
  65. package/dist/collection/{stories → components/sqm-portal-frame}/PortalFrame.stories.js +2 -2
  66. package/dist/collection/{stories → components/sqm-portal-login}/PortalLogin.stories.js +2 -2
  67. package/dist/collection/{stories → components/sqm-portal-profile}/PortalProfile.stories.js +2 -2
  68. package/dist/collection/{stories → components/sqm-portal-register}/PortalRegister.stories.js +2 -2
  69. package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +1 -1
  70. package/dist/collection/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.js +3 -3
  71. package/dist/collection/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.js +3 -3
  72. package/dist/collection/{stories → components/sqm-program-menu}/ProgramMenu.stories.js +2 -2
  73. package/dist/collection/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.js +2 -2
  74. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTable.stories.js +2 -2
  75. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableCell.stories.js +1 -1
  76. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.js +1 -1
  77. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-column.js +1 -1
  78. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-date-column.js +1 -1
  79. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.js +1 -1
  80. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-status-column.js +1 -1
  81. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-user-column.js +1 -1
  82. package/dist/collection/components/sqm-referral-table/useReferralTable.js +2 -2
  83. package/dist/collection/components/sqm-reward-exchange-list/SVGs.js +17 -0
  84. package/dist/collection/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.js +143 -0
  85. package/dist/collection/components/sqm-reward-exchange-list/assets/Reward-icon.png +0 -0
  86. package/dist/collection/components/sqm-reward-exchange-list/progressBar.js +74 -0
  87. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +234 -0
  88. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +120 -0
  89. package/dist/collection/components/sqm-reward-exchange-list/useRewardExchangeList.js +196 -0
  90. package/dist/collection/{stories → components/sqm-rewards-table}/Router.stories.js +1 -1
  91. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +222 -0
  92. package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +195 -0
  93. package/dist/collection/{stories → components/sqm-share-button}/ShareButton.stories.js +2 -2
  94. package/dist/collection/{stories → components/sqm-share-button}/UseShareButton.stories.js +2 -2
  95. package/dist/collection/{stories → components/sqm-share-link}/ShareLink.stories.js +2 -2
  96. package/dist/collection/{stories → components/sqm-share-link}/UseShareLink.stories.js +3 -3
  97. package/dist/collection/components/sqm-share-link/useShareLink.js +1 -2
  98. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +40 -36
  99. package/dist/collection/components/sqm-task-card/Matrix.js +63 -0
  100. package/dist/collection/components/sqm-task-card/SVGs.js +15 -0
  101. package/dist/collection/components/sqm-task-card/TaskCard.stories.js +499 -0
  102. package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +458 -0
  103. package/dist/collection/components/sqm-task-card/sqm-task-card.js +324 -0
  104. package/dist/collection/{stories → components/sqm-user-name}/UserName.stories.js +3 -3
  105. package/dist/collection/global/styles.js +278 -69
  106. package/dist/collection/global/styles.ts +278 -69
  107. package/dist/collection/tables/GenericTableView.js +51 -0
  108. package/dist/collection/tables/TableSlots.js +22 -0
  109. package/dist/collection/{components/sqm-referral-table → tables}/re-render.js +0 -0
  110. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-cell.js +0 -0
  111. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-row.js +0 -0
  112. package/dist/collection/{components/sqm-referral-table → tables}/useChildElements.js +0 -0
  113. package/dist/esm/{ShadowViewAddon-7cbc6390.js → ShadowViewAddon-fff5d35d.js} +1 -1
  114. package/dist/esm/{global-5dfb4fa8.js → global-5ecbf81a.js} +281 -123
  115. package/dist/esm/{sqm-leaderboard-rank-view-04161da4.js → index-2f5dd0a1.js} +3 -9
  116. package/dist/esm/{index.module-07f3fbb0.js → index.module-f80561db.js} +2 -2
  117. package/dist/esm/loader.js +4 -3
  118. package/dist/esm/mint-components.js +4 -3
  119. package/dist/esm/{re-render-0be5746e.js → re-render-9ab5fe0f.js} +1 -1
  120. package/dist/esm/sqm-asset-card.entry.js +1 -1
  121. package/dist/esm/sqm-big-stat.entry.js +2 -2
  122. package/dist/esm/{sqm-divided-layout_26.entry.js → sqm-divided-layout_27.entry.js} +1250 -62
  123. package/dist/esm/sqm-graphql-client-provider.entry.js +1 -1
  124. package/dist/esm/sqm-leaderboard-rank-view-da91f5f3.js +8 -0
  125. package/dist/esm/sqm-leaderboard-rank.entry.js +5 -3
  126. package/dist/esm/sqm-leaderboard.entry.js +2 -2
  127. package/dist/esm/sqm-name-fields.entry.js +1 -1
  128. package/dist/esm/{sqm-navigation-sidebar-item-view-78631800.js → sqm-navigation-sidebar-item-view-8a3f374b.js} +1 -1
  129. package/dist/esm/sqm-navigation-sidebar-item.entry.js +2 -2
  130. package/dist/esm/sqm-popup-container.entry.js +1 -1
  131. package/dist/esm/{sqm-portal-email-verification-view-d6ffe3b8.js → sqm-portal-email-verification-view-90781be2.js} +1 -1
  132. package/dist/esm/sqm-portal-email-verification.entry.js +5 -4
  133. package/dist/esm/{sqm-portal-footer-view-5aa288c9.js → sqm-portal-footer-view-c317518e.js} +1 -1
  134. package/dist/esm/sqm-portal-footer.entry.js +4 -3
  135. package/dist/esm/sqm-portal-forgot-password.entry.js +1 -1
  136. package/dist/esm/sqm-portal-logout.entry.js +1 -1
  137. package/dist/esm/{sqm-portal-profile-view-636a8688.js → sqm-portal-profile-view-824c8242.js} +1 -1
  138. package/dist/esm/sqm-portal-profile.entry.js +4 -3
  139. package/dist/esm/sqm-portal-protected-route.entry.js +1 -1
  140. package/dist/esm/sqm-portal-reset-password.entry.js +1 -1
  141. package/dist/esm/sqm-portal-verify-email.entry.js +1 -1
  142. package/dist/esm/sqm-referral-table-column.entry.js +2 -2
  143. package/dist/esm/sqm-referral-table-date-column.entry.js +2 -2
  144. package/dist/esm/sqm-referral-table-rewards-column.entry.js +2 -2
  145. package/dist/esm/sqm-referral-table-status-column.entry.js +2 -2
  146. package/dist/esm/sqm-referral-table-user-column.entry.js +2 -2
  147. package/dist/esm/sqm-rewards-table.entry.js +328 -0
  148. package/dist/esm/sqm-share-code.entry.js +1 -1
  149. package/dist/esm/sqm-task-card-view-2ee495af.js +474 -0
  150. package/dist/esm/sqm-task-card.entry.js +52 -0
  151. package/dist/esm/tslib.es6-7ac9d7e4.js +53 -0
  152. package/dist/esm/useChildElements-506f00d0.js +19 -0
  153. package/dist/esm/{useDemoBigStat-531a4d2a.js → useDemoBigStat-b71fe122.js} +3 -2
  154. package/dist/esm-es5/{ShadowViewAddon-7cbc6390.js → ShadowViewAddon-fff5d35d.js} +1 -1
  155. package/dist/esm-es5/{global-5dfb4fa8.js → global-5ecbf81a.js} +2 -16
  156. package/dist/esm-es5/index-2f5dd0a1.js +1 -0
  157. package/dist/esm-es5/{index.module-07f3fbb0.js → index.module-f80561db.js} +1 -1
  158. package/dist/esm-es5/loader.js +1 -1
  159. package/dist/esm-es5/mint-components.js +1 -1
  160. package/dist/esm-es5/{re-render-0be5746e.js → re-render-9ab5fe0f.js} +1 -1
  161. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  162. package/dist/esm-es5/sqm-big-stat.entry.js +1 -1
  163. package/dist/esm-es5/sqm-divided-layout_27.entry.js +1 -0
  164. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  165. package/dist/esm-es5/sqm-leaderboard-rank-view-da91f5f3.js +1 -0
  166. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  167. package/dist/esm-es5/sqm-leaderboard.entry.js +1 -1
  168. package/dist/esm-es5/sqm-name-fields.entry.js +1 -1
  169. package/dist/esm-es5/{sqm-navigation-sidebar-item-view-78631800.js → sqm-navigation-sidebar-item-view-8a3f374b.js} +1 -1
  170. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  171. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  172. package/dist/esm-es5/{sqm-portal-email-verification-view-d6ffe3b8.js → sqm-portal-email-verification-view-90781be2.js} +1 -1
  173. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  174. package/dist/esm-es5/{sqm-portal-footer-view-5aa288c9.js → sqm-portal-footer-view-c317518e.js} +1 -1
  175. package/dist/esm-es5/sqm-portal-footer.entry.js +1 -1
  176. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  177. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  178. package/dist/esm-es5/{sqm-portal-profile-view-636a8688.js → sqm-portal-profile-view-824c8242.js} +1 -1
  179. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  180. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  181. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  182. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  183. package/dist/esm-es5/sqm-referral-table-column.entry.js +1 -1
  184. package/dist/esm-es5/sqm-referral-table-date-column.entry.js +1 -1
  185. package/dist/esm-es5/sqm-referral-table-rewards-column.entry.js +1 -1
  186. package/dist/esm-es5/sqm-referral-table-status-column.entry.js +1 -1
  187. package/dist/esm-es5/sqm-referral-table-user-column.entry.js +1 -1
  188. package/dist/esm-es5/sqm-rewards-table.entry.js +1 -0
  189. package/dist/esm-es5/sqm-share-code.entry.js +1 -1
  190. package/dist/esm-es5/sqm-task-card-view-2ee495af.js +1 -0
  191. package/dist/esm-es5/sqm-task-card.entry.js +1 -0
  192. package/dist/esm-es5/tslib.es6-7ac9d7e4.js +15 -0
  193. package/dist/esm-es5/useChildElements-506f00d0.js +1 -0
  194. package/dist/esm-es5/{useDemoBigStat-531a4d2a.js → useDemoBigStat-b71fe122.js} +1 -1
  195. package/dist/mint-components/assets/Reward-icon.png +0 -0
  196. package/dist/mint-components/global/styles.ts +278 -69
  197. package/dist/mint-components/mint-components.esm.js +1 -1
  198. package/dist/mint-components/mint-components.js +1 -1
  199. package/dist/mint-components/{p-f7118fd5.js → p-00190438.js} +1 -1
  200. package/dist/mint-components/{p-40f1482a.system.entry.js → p-04516274.system.entry.js} +1 -1
  201. package/dist/mint-components/{p-99f85aae.js → p-05cca77b.js} +1 -1
  202. package/dist/mint-components/{p-f5333477.system.entry.js → p-0688c9c2.system.entry.js} +1 -1
  203. package/dist/mint-components/p-0ba3c956.system.entry.js +1 -0
  204. package/dist/mint-components/{p-420e50a8.entry.js → p-11c75956.entry.js} +1 -1
  205. package/dist/mint-components/{p-a1029019.system.entry.js → p-16535642.system.entry.js} +1 -1
  206. package/dist/mint-components/{p-d98a6a1c.entry.js → p-16da5146.entry.js} +1 -1
  207. package/dist/mint-components/{p-730785e9.system.js → p-1813b9b9.system.js} +1 -1
  208. package/dist/mint-components/p-189219ee.system.js +1 -0
  209. package/dist/mint-components/{p-84da6c55.system.entry.js → p-1ac9c24b.system.entry.js} +1 -1
  210. package/dist/mint-components/{p-1af6d49d.system.entry.js → p-1b414d8f.system.entry.js} +1 -1
  211. package/dist/mint-components/p-1e248afc.system.entry.js +1 -0
  212. package/dist/mint-components/{p-d32ebb2d.system.js → p-1fb688a9.system.js} +1 -1
  213. package/dist/mint-components/p-21dfdeb8.entry.js +1 -0
  214. package/dist/mint-components/p-23a0bdae.entry.js +1 -0
  215. package/dist/mint-components/{p-f05f6004.system.entry.js → p-2a025d2a.system.entry.js} +1 -1
  216. package/dist/mint-components/{p-91c46672.js → p-2bce988c.js} +1 -1
  217. package/dist/mint-components/{p-aeb995ca.entry.js → p-2f171597.entry.js} +1 -1
  218. package/dist/mint-components/{p-3f3b81de.system.js → p-3052c913.system.js} +1 -1
  219. package/dist/mint-components/{p-a12e34b0.entry.js → p-337b49ee.entry.js} +1 -1
  220. package/dist/mint-components/p-353b4413.system.js +1 -0
  221. package/dist/mint-components/{p-552a99b9.system.js → p-3b0acfcd.system.js} +1 -1
  222. package/dist/mint-components/{p-24cc7ee3.system.entry.js → p-3fd33dee.system.entry.js} +1 -1
  223. package/dist/mint-components/{p-52be0df6.js → p-405a9253.js} +2 -2
  224. package/dist/mint-components/{p-1c69eba7.js → p-434ee9c1.js} +1 -1
  225. package/dist/mint-components/p-4ba2faf2.system.entry.js +1 -0
  226. package/dist/mint-components/{p-e1549548.system.entry.js → p-505f5c59.system.entry.js} +1 -1
  227. package/dist/mint-components/p-55e02769.entry.js +13 -0
  228. package/dist/mint-components/{p-cb8a3610.system.entry.js → p-57a53dbd.system.entry.js} +1 -1
  229. package/dist/mint-components/p-58d9b2f0.js +15 -0
  230. package/dist/mint-components/{p-d9123a4a.system.entry.js → p-5dfc6804.system.entry.js} +1 -1
  231. package/dist/mint-components/{p-94c25cfe.entry.js → p-5f28af29.entry.js} +1 -1
  232. package/dist/mint-components/{p-6a9b7f7c.entry.js → p-6cdc70f4.entry.js} +1 -1
  233. package/dist/mint-components/{p-e3d75555.entry.js → p-6d545e13.entry.js} +1 -1
  234. package/dist/mint-components/p-70837c1c.entry.js +49 -0
  235. package/dist/mint-components/p-71d942af.entry.js +9 -0
  236. package/dist/mint-components/p-7c138c84.entry.js +1 -0
  237. package/dist/mint-components/{p-7e6a38d0.system.entry.js → p-7c13e32e.system.entry.js} +1 -1
  238. package/dist/mint-components/p-7c261ea0.system.entry.js +1 -0
  239. package/dist/mint-components/p-8034f81c.system.entry.js +1 -0
  240. package/dist/mint-components/p-82ab88fe.system.js +1 -0
  241. package/dist/mint-components/{p-453df041.entry.js → p-82d7a2ba.entry.js} +1 -1
  242. package/dist/mint-components/{p-df3a9a38.entry.js → p-844f9bad.entry.js} +1 -1
  243. package/dist/mint-components/{p-8edba448.js → p-844fd903.js} +1 -1
  244. package/dist/mint-components/p-8c16f04e.js +1 -0
  245. package/dist/mint-components/{p-ccddec52.js → p-8e37c08d.js} +1 -1
  246. package/dist/mint-components/p-8f5e2af4.entry.js +1 -0
  247. package/dist/mint-components/p-91d39961.system.js +1 -0
  248. package/dist/mint-components/{p-23f0e229.system.entry.js → p-a0045707.system.entry.js} +1 -1
  249. package/dist/mint-components/{p-6a95537b.system.js → p-a0cfd3d9.system.js} +1 -1
  250. package/dist/mint-components/{p-0d3f2c66.entry.js → p-a4a00461.entry.js} +1 -1
  251. package/dist/mint-components/{p-2818f3a0.entry.js → p-a7f0b2f6.entry.js} +1 -1
  252. package/dist/mint-components/{p-48b04ef0.entry.js → p-aba21f90.entry.js} +1 -1
  253. package/dist/mint-components/{p-92671ed2.system.entry.js → p-af06ea5b.system.entry.js} +1 -1
  254. package/dist/mint-components/p-b3af1c6f.js +1 -0
  255. package/dist/mint-components/p-bca8867d.entry.js +287 -0
  256. package/dist/mint-components/p-bf04a8e1.system.entry.js +1 -0
  257. package/dist/mint-components/p-bf055b6c.system.js +1 -0
  258. package/dist/mint-components/p-c3866bfa.system.entry.js +1 -0
  259. package/dist/mint-components/p-c9c4f31b.system.entry.js +1 -0
  260. package/dist/mint-components/{p-6accffd6.js → p-cc3510c8.js} +1 -1
  261. package/dist/mint-components/{p-77cf28f1.system.js → p-ceeaf074.system.js} +21 -35
  262. package/dist/mint-components/{p-4018d7eb.entry.js → p-d3787c3a.entry.js} +1 -1
  263. package/dist/mint-components/{p-705141c1.entry.js → p-d9cc041f.entry.js} +1 -1
  264. package/dist/mint-components/p-db723323.system.entry.js +1 -0
  265. package/dist/mint-components/p-dd6a666e.system.js +15 -0
  266. package/dist/mint-components/p-dfc3cf82.js +1 -0
  267. package/dist/mint-components/p-e19a57a4.system.entry.js +1 -0
  268. package/dist/mint-components/{p-3e5c8dc2.entry.js → p-e22eed7b.entry.js} +1 -1
  269. package/dist/mint-components/p-e2ebe90c.entry.js +1 -0
  270. package/dist/mint-components/{p-9fb97b00.system.entry.js → p-e475a5ff.system.entry.js} +1 -1
  271. package/dist/mint-components/p-e78a5a91.js +1 -0
  272. package/dist/mint-components/{p-11fe72bd.entry.js → p-e9ab90a1.entry.js} +1 -1
  273. package/dist/mint-components/p-ecbabf6e.system.js +1 -0
  274. package/dist/mint-components/{p-80a40e90.js → p-f1e1086e.js} +2 -17
  275. package/dist/mint-components/p-f41ab9e1.system.js +1 -0
  276. package/dist/mint-components/{p-44a83e6e.system.js → p-f87d8f53.system.js} +1 -1
  277. package/dist/mint-components/p-fcaa5886.system.entry.js +1 -0
  278. package/dist/types/{stories → components/sqm-asset-card}/AssetCard.stories.d.ts +0 -0
  279. package/dist/types/{stories → components/sqm-big-stat}/BigStat.stories.d.ts +0 -0
  280. package/dist/types/{stories → components/sqm-big-stat}/UseBigStat.stories.d.ts +0 -0
  281. package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +0 -6
  282. package/dist/types/{stories → components/sqm-divided-layout}/DividedLayout.stories.d.ts +0 -0
  283. package/dist/types/{stories → components/sqm-edit-profile}/EditProfileForm.stories.d.ts +0 -0
  284. package/dist/types/{stories → components/sqm-edit-profile}/UseEditProfile.stories.d.ts +0 -0
  285. package/dist/types/{stories → components/sqm-form-message}/FormMessage.stories.d.ts +0 -0
  286. package/dist/types/{stories → components/sqm-hero}/Hero.stories.d.ts +0 -0
  287. package/dist/types/{stories → components/sqm-leaderboard}/Leaderboard.stories.d.ts +0 -0
  288. package/dist/types/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.d.ts +0 -0
  289. package/dist/types/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.d.ts +0 -0
  290. package/dist/types/{stories → components/sqm-name-fields}/NameFields.stories.d.ts +0 -0
  291. package/dist/types/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.d.ts +0 -0
  292. package/dist/types/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.d.ts +0 -0
  293. package/dist/types/{stories → components/sqm-password-field}/PasswordField.stories.d.ts +0 -0
  294. package/dist/types/{stories → components/sqm-portal-change-password}/ChangePassword.stories.d.ts +0 -0
  295. package/dist/types/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.d.ts +0 -0
  296. package/dist/types/{stories → components/sqm-portal-footer}/PortalFooter.stories.d.ts +0 -0
  297. package/dist/types/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.d.ts +0 -0
  298. package/dist/types/{stories → components/sqm-portal-frame}/PortalFrame.stories.d.ts +0 -0
  299. package/dist/types/{stories → components/sqm-portal-login}/PortalLogin.stories.d.ts +0 -0
  300. package/dist/types/{stories → components/sqm-portal-profile}/PortalProfile.stories.d.ts +0 -0
  301. package/dist/types/{stories → components/sqm-portal-register}/PortalRegister.stories.d.ts +0 -0
  302. package/dist/types/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.d.ts +0 -0
  303. package/dist/types/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.d.ts +0 -0
  304. package/dist/types/{stories → components/sqm-program-menu}/ProgramMenu.stories.d.ts +0 -0
  305. package/dist/types/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.d.ts +0 -0
  306. package/dist/types/{stories → components/sqm-referral-table}/ReferralTable.stories.d.ts +0 -0
  307. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableCell.stories.d.ts +0 -0
  308. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.d.ts +0 -0
  309. package/dist/types/components/sqm-reward-exchange-list/SVGs.d.ts +2 -0
  310. package/dist/types/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.d.ts +28 -0
  311. package/dist/types/components/sqm-reward-exchange-list/progressBar.d.ts +3 -0
  312. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.d.ts +26 -0
  313. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +20 -0
  314. package/dist/types/components/sqm-reward-exchange-list/useRewardExchangeList.d.ts +43 -0
  315. package/dist/types/{stories → components/sqm-rewards-table}/Router.stories.d.ts +0 -0
  316. package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +32 -0
  317. package/dist/types/components/sqm-rewards-table/useRewardsTable.d.ts +5 -0
  318. package/dist/types/{stories → components/sqm-share-button}/ShareButton.stories.d.ts +0 -0
  319. package/dist/types/{stories → components/sqm-share-button}/UseShareButton.stories.d.ts +0 -0
  320. package/dist/types/{stories → components/sqm-share-link}/ShareLink.stories.d.ts +0 -0
  321. package/dist/types/{stories → components/sqm-share-link}/UseShareLink.stories.d.ts +0 -0
  322. package/dist/types/components/sqm-task-card/Matrix.d.ts +11 -0
  323. package/dist/types/components/sqm-task-card/SVGs.d.ts +3 -0
  324. package/dist/types/components/sqm-task-card/TaskCard.stories.d.ts +9 -0
  325. package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +25 -0
  326. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +61 -0
  327. package/dist/types/components/sqm-user-name/UserName.stories.d.ts +6 -0
  328. package/dist/types/components.d.ts +223 -10
  329. package/dist/types/global/styles.d.ts +1 -1
  330. package/dist/types/tables/GenericTableView.d.ts +29 -0
  331. package/dist/types/tables/TableSlots.d.ts +8 -0
  332. package/dist/types/{components/sqm-referral-table → tables}/re-render.d.ts +0 -0
  333. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-cell.d.ts +0 -0
  334. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-row.d.ts +0 -0
  335. package/dist/types/{components/sqm-referral-table → tables}/useChildElements.d.ts +0 -0
  336. package/grapesjs/grapesjs.js +1 -1
  337. package/package.json +2 -2
  338. package/dist/esm-es5/sqm-divided-layout_26.entry.js +0 -1
  339. package/dist/esm-es5/sqm-leaderboard-rank-view-04161da4.js +0 -1
  340. package/dist/mint-components/p-087571f1.entry.js +0 -13
  341. package/dist/mint-components/p-0996811b.entry.js +0 -1
  342. package/dist/mint-components/p-0ed2de6a.js +0 -1
  343. package/dist/mint-components/p-253d07a3.system.entry.js +0 -1
  344. package/dist/mint-components/p-3ace9bab.entry.js +0 -230
  345. package/dist/mint-components/p-3fc2b5d4.system.js +0 -1
  346. package/dist/mint-components/p-45befbb8.system.entry.js +0 -1
  347. package/dist/mint-components/p-4a9dcc1f.system.js +0 -1
  348. package/dist/mint-components/p-4ca49eb2.system.entry.js +0 -1
  349. package/dist/mint-components/p-54d90d9f.system.entry.js +0 -1
  350. package/dist/mint-components/p-55580223.system.js +0 -1
  351. package/dist/mint-components/p-6bbb9d5a.system.entry.js +0 -1
  352. package/dist/mint-components/p-72420d6b.system.entry.js +0 -1
  353. package/dist/mint-components/p-7f7f60ea.entry.js +0 -1
  354. package/dist/mint-components/p-a60e8e00.system.entry.js +0 -1
  355. package/dist/mint-components/p-ab551be3.system.entry.js +0 -1
  356. package/dist/mint-components/p-ab9ef09d.entry.js +0 -9
  357. package/dist/mint-components/p-b745adaa.system.js +0 -1
  358. package/dist/mint-components/p-b95eaf63.entry.js +0 -1
  359. package/dist/mint-components/p-c6f2d1f4.system.entry.js +0 -1
  360. package/dist/mint-components/p-cac1ffd0.entry.js +0 -1
  361. package/dist/types/stories/UserName.stories.d.ts +0 -6
@@ -0,0 +1,74 @@
1
+ import { h } from "@stencil/core";
2
+ function Dot({ active, completed, incomplete, }) {
3
+ return (h("div", { style: {
4
+ flex: "0 0 0",
5
+ content: "''",
6
+ height: "4px",
7
+ borderRadius: "4px",
8
+ background: incomplete ? "#E5E5E5" : "#9E9E9E",
9
+ position: "relative",
10
+ bottom: "0",
11
+ left: "0",
12
+ display: "flex",
13
+ justifyContent: "center",
14
+ columnGap: "50px",
15
+ marginRight: "-2px",
16
+ boxSizing: "content-box",
17
+ } },
18
+ h("div", { style: {
19
+ backgroundColor: completed ? "#9E9E9E" : "#FFF",
20
+ border: active
21
+ ? "2px solid #9E9E9E"
22
+ : incomplete
23
+ ? "2px solid #E5E5E5"
24
+ : "none",
25
+ borderRadius: "50%",
26
+ width: completed ? "12px" : "8px",
27
+ height: completed ? "12px" : "8px",
28
+ margin: "-4px auto 0px",
29
+ zIndex: "1",
30
+ boxSizing: "content-box",
31
+ } })));
32
+ }
33
+ function Progress({ active, completed, incomplete }) {
34
+ return [
35
+ h("div", { style: {
36
+ content: "''",
37
+ flex: "0.5 0.5 0",
38
+ height: "4px",
39
+ borderRadius: "4px",
40
+ background: incomplete ? "#E5E5E5" : "#9E9E9E",
41
+ position: "relative",
42
+ bottom: "0",
43
+ left: "0",
44
+ display: "flex",
45
+ justifyContent: "center",
46
+ columnGap: "50px",
47
+ marginRight: "-2px",
48
+ boxSizing: "content-box",
49
+ } }),
50
+ h(Dot, { active: active, completed: completed, incomplete: incomplete }),
51
+ h("div", { style: {
52
+ content: "''",
53
+ flex: "0.5 0.5 0",
54
+ height: "4px",
55
+ borderRadius: "4px",
56
+ background: incomplete || active ? "#E5E5E5" : "#9E9E9E",
57
+ position: "relative",
58
+ bottom: "0",
59
+ left: "0",
60
+ display: "flex",
61
+ justifyContent: "center",
62
+ columnGap: "50px",
63
+ marginRight: "-2px",
64
+ boxSizing: "content-box",
65
+ } }),
66
+ ];
67
+ }
68
+ export function ProgressBar({ stage }) {
69
+ console.log({ stage });
70
+ return (h("div", { style: { display: "flex", columnGap: "-2px" } },
71
+ h(Progress, { active: stage === 0, completed: stage > 0, incomplete: stage < 0 }),
72
+ h(Progress, { active: stage === 1, completed: stage > 1, incomplete: stage < 1 }),
73
+ h(Progress, { active: stage === 2, completed: stage > 2, incomplete: stage < 2 })));
74
+ }
@@ -0,0 +1,234 @@
1
+ import { getAssetPath, h } from "@stencil/core";
2
+ import jss from "jss";
3
+ import preset from "jss-preset-default";
4
+ import { ProgressBar } from "./progressBar";
5
+ import { LeftArrow } from "./SVGs";
6
+ const stageList = ["chooseReward", "chooseAmount", "confirmation", "success"];
7
+ const stageProgressList = {
8
+ chooseReward: "Choose reward",
9
+ chooseAmount: "Amount",
10
+ confirmation: "Confirm",
11
+ };
12
+ export function RewardExchangeView(props) {
13
+ const style = {
14
+ Container: {
15
+ position: "relative",
16
+ display: "flex",
17
+ },
18
+ CardContainer: {
19
+ "&:hover": {
20
+ boxShadow: "0 3px 10px #87ceeb6e!important",
21
+ },
22
+ },
23
+ Base: {
24
+ display: "block",
25
+ cursor: "pointer",
26
+ textAlign: "center",
27
+ "&::part(base)": {
28
+ width: "100%",
29
+ height: "170px",
30
+ display: "flex",
31
+ justifyContent: "space-between",
32
+ alignItems: "center",
33
+ },
34
+ "&::part(body)": {
35
+ padding: "10px 0",
36
+ },
37
+ },
38
+ Drawer: {
39
+ "&::part(base)": {
40
+ minWidth: "400px",
41
+ width: "50%",
42
+ margin: "0 auto",
43
+ right: "0",
44
+ },
45
+ "&::part(panel)": {
46
+ height: "85vh",
47
+ },
48
+ },
49
+ FullImage: {
50
+ objectFit: "contain",
51
+ maxWidth: "100%",
52
+ height: "100px",
53
+ },
54
+ PreviewImage: {
55
+ objectFit: "contain",
56
+ maxWidth: "100%",
57
+ height: "75px",
58
+ },
59
+ InputBox: {
60
+ width: "100%",
61
+ marginBottom: "20px",
62
+ },
63
+ Select: {
64
+ "&::part(base)": {
65
+ flex: "0.75",
66
+ },
67
+ "&::part(menu)": {
68
+ maxHeight: "40vh",
69
+ },
70
+ },
71
+ Buttons: {
72
+ bottom: "0",
73
+ width: "100%",
74
+ },
75
+ Button: {
76
+ margin: "10px 0",
77
+ display: "block",
78
+ textAlign: "center",
79
+ cursor: "pointer",
80
+ },
81
+ };
82
+ // JSS config
83
+ jss.setup(preset());
84
+ const sheet = jss.createStyleSheet(style);
85
+ const styleString = sheet.toString();
86
+ const { states, data, callbacks, refs } = props;
87
+ const { selectedItem, selectedStep } = states;
88
+ function getInput() {
89
+ var _a, _b;
90
+ const item = states.selectedItem;
91
+ if (!item || (item === null || item === void 0 ? void 0 : item.ruleType) === "FIXED_GLOBAL_REWARD")
92
+ return h("span", null);
93
+ if (!((_a = item.steps) === null || _a === void 0 ? void 0 : _a.length)) {
94
+ return h("p", null,
95
+ "Not enough ",
96
+ item.sourceUnit,
97
+ " to redeem for this reward.");
98
+ }
99
+ return (h("sl-select", { style: { width: "auto" }, label: "Select amount to receive", class: sheet.classes.Select, value: states.selectedStep, "onSl-select": (e) => {
100
+ var _a, _b, _c, _d, _e;
101
+ return callbacks.setExchangeState({
102
+ amount: (_c = (_b = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.item) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.sourceValue,
103
+ selectedStep: (_e = (_d = e.detail) === null || _d === void 0 ? void 0 : _d.item) === null || _e === void 0 ? void 0 : _e.value,
104
+ });
105
+ } }, (_b = item.steps) === null || _b === void 0 ? void 0 : _b.map((step) => (h("sl-menu-item", { value: step, disabled: !step.available },
106
+ step.prettyDestinationValue,
107
+ h("span", { slot: "suffix", style: { fontSize: "75%" } }, step.prettySourceValue))))));
108
+ }
109
+ function chooseReward() {
110
+ var _a;
111
+ const nextStage = (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD"
112
+ ? "confirmation"
113
+ : "chooseAmount";
114
+ console.log({ nextStage, ruleType: selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType });
115
+ return (h("div", { style: {
116
+ display: "flex",
117
+ justifyContent: "center",
118
+ flexWrap: "wrap",
119
+ alignItems: "center",
120
+ columnGap: "12px",
121
+ rowGap: "12px",
122
+ } }, (_a = data.exchangeList) === null || _a === void 0 ? void 0 :
123
+ _a.map((item) => {
124
+ const style = {
125
+ boxShadow: item.key === (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key) ? "0 1px 8px #87ceeb" : "none",
126
+ marginBottom: "10px 0",
127
+ flex: "1",
128
+ minWidth: "45%",
129
+ };
130
+ return (h("div", { key: item.key, class: sheet.classes.CardContainer, style: style },
131
+ h("sl-card", { class: sheet.classes.Base, onClick: () => callbacks.setExchangeState({ selectedItem: item }), disabled: !item.available },
132
+ h("img", { class: sheet.classes.PreviewImage, src: (item === null || item === void 0 ? void 0 : item.imageUrl) || getAssetPath("./assets/Reward-icon.png") }),
133
+ h("p", null, item.description))));
134
+ }),
135
+ h("div", { class: sheet.classes.Buttons },
136
+ h("sl-button", { onClick: () => callbacks.setStage(nextStage), style: { display: "block" }, class: sheet.classes.Button, disabled: !states.selectedItem }, "Continue"),
137
+ h("a", { onClick: () => { var _a; return (_a = refs.drawerRef.current) === null || _a === void 0 ? void 0 : _a.hide(); }, style: { display: "block" }, class: sheet.classes.Button }, "Cancel"))));
138
+ }
139
+ function chooseAmount() {
140
+ const input = getInput();
141
+ return (h("div", null,
142
+ h("div", { style: { width: "50%", margin: "0 auto" } }, (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.imageUrl) && (h("img", { class: sheet.classes.FullImage, src: selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.imageUrl }))),
143
+ h("p", null, selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.description),
144
+ h("div", { class: sheet.classes.InputBox }, input),
145
+ h("div", { class: sheet.classes.Buttons },
146
+ h("sl-button", { onClick: () => callbacks.setStage("confirmation"), disabled: input && !states.amount, style: { display: "block" }, class: sheet.classes.Button }, "Continue"),
147
+ h("a", { onClick: () => callbacks.setStage("chooseReward"), style: { display: "block" }, class: sheet.classes.Button }, "Back"))));
148
+ }
149
+ console.log({ selectedItem, selectedStep });
150
+ function confirmation() {
151
+ console.log("confirmation:", { selectedItem });
152
+ const redemptionAmount = () => {
153
+ var _a;
154
+ if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD") {
155
+ return `Redeem ${selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.sourceValue} ${selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.sourceUnit} for ${selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.globalRewardKey}`;
156
+ }
157
+ else {
158
+ const amount = states.amount;
159
+ const reward = (_a = selectedStep === null || selectedStep === void 0 ? void 0 : selectedStep.prettyDestinationValue) !== null && _a !== void 0 ? _a : `${amount} ${selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.destinationUnit}`;
160
+ return `Redeem ${amount} ${selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.sourceUnit} for ${reward}`;
161
+ }
162
+ };
163
+ const previousStage = (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD"
164
+ ? "chooseReward"
165
+ : "chooseAmount";
166
+ return (h("div", null,
167
+ h("h2", null, "Confirm your redemption:"),
168
+ redemptionAmount(),
169
+ h("div", { class: sheet.classes.Buttons },
170
+ h("sl-button", { onClick: callbacks.exchangeReward, style: { display: "block" }, class: sheet.classes.Button }, "Redeem"),
171
+ h("a", { onClick: () => callbacks.setStage(previousStage), style: { display: "block" }, class: sheet.classes.Button }, "Back"))));
172
+ }
173
+ function success() {
174
+ return (h("div", { style: { textAlign: "center" } },
175
+ h("img", { class: sheet.classes.FullImage, src: getAssetPath("./assets/Reward-icon.png") }),
176
+ h("p", { style: { color: "forestgreen" } }, "Reward Redeemed"),
177
+ (data === null || data === void 0 ? void 0 : data.fuelTankCode) && h("pre", null, data === null || data === void 0 ? void 0 : data.fuelTankCode),
178
+ h("sl-button", { onClick: () => { var _a, _b; return (_b = (_a = refs.drawerRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.hide(); } }, "Done")));
179
+ }
180
+ const stages = {
181
+ chooseReward: () => chooseReward(),
182
+ chooseAmount: () => chooseAmount(),
183
+ confirmation: () => confirmation(),
184
+ success: () => success(),
185
+ };
186
+ const currentStage = stages[states.redeemStage];
187
+ function stageMap() {
188
+ const stageNumber = stageList.indexOf(states.redeemStage);
189
+ return (h("div", { style: { fontSize: "80%" } },
190
+ h(ProgressBar, { stage: stageNumber }),
191
+ h("div", { style: {
192
+ marginTop: "5px",
193
+ display: "flex",
194
+ justifyContent: "center",
195
+ textAlign: "center",
196
+ whiteSpace: "nowrap",
197
+ marginBottom: "10px",
198
+ } }, Object.keys(stageProgressList).map((stage) => {
199
+ if (stage === states.redeemStage)
200
+ return (h("b", { style: { flex: "1 1 0" } },
201
+ " ",
202
+ stageProgressList[stage]));
203
+ return h("i", { style: { flex: "1 1 0" } }, stageProgressList[stage]);
204
+ }))));
205
+ }
206
+ const Label = () => {
207
+ if (states.redeemStage === "success")
208
+ return "";
209
+ let previousStage = "";
210
+ if (states.redeemStage === "confirmation") {
211
+ previousStage =
212
+ (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD"
213
+ ? "chooseReward"
214
+ : "chooseAmount";
215
+ }
216
+ else if (states.redeemStage === "chooseAmount") {
217
+ previousStage = "chooseReward";
218
+ }
219
+ return (h("div", { slot: "label" },
220
+ h("a", { style: { cursor: "pointer", fontSize: "80%", color: "#858585" }, onClick: () => callbacks.setStage(previousStage) },
221
+ h(LeftArrow, null),
222
+ " Back")));
223
+ };
224
+ return (h("div", { class: sheet.classes.Container },
225
+ h("style", { type: "text/css" }, styleString),
226
+ h("div", null,
227
+ h("sl-drawer", { ref: (ref) => (refs.drawerRef.current = ref), placement: "right", class: sheet.classes.Drawer, open: stageList.indexOf(states.redeemStage) >= 0 },
228
+ h(Label, null),
229
+ stageMap(),
230
+ currentStage && currentStage(),
231
+ states.exchangeError &&
232
+ "Something went wrong. Please contact support or try again."),
233
+ h("sl-button", { onClick: () => callbacks.openDrawer() }, "Redeem Rewards"))));
234
+ }
@@ -0,0 +1,120 @@
1
+ import { Component, h, Host, Prop, State } from "@stencil/core";
2
+ import { withHooks } from "@saasquatch/stencil-hooks";
3
+ import { useRewardExchangeList, } from "./useRewardExchangeList";
4
+ import { RewardExchangeView, } from "./sqm-reward-exchange-list-view";
5
+ import { isDemo } from "@saasquatch/component-boilerplate";
6
+ import deepmerge from "deepmerge";
7
+ import { getProps } from "../../utils/utils";
8
+ /**
9
+ * @uiName Reward Exchange List
10
+ */
11
+ export class SqmRewardExchangeList {
12
+ constructor() {
13
+ this.ignored = true;
14
+ /**
15
+ * @uiName Exchange button text
16
+ */
17
+ this.buttonText = "Exchange Rewards";
18
+ withHooks(this);
19
+ }
20
+ disconnectedCallback() { }
21
+ render() {
22
+ // const missingProps = getMissingProps([
23
+ // {
24
+ // attribute: "listType",
25
+ // value: this.listType,
26
+ // },
27
+ // ]);
28
+ // if (missingProps) {
29
+ // return <RequiredPropsError missingProps={missingProps} />;
30
+ // }
31
+ const { states, data, callbacks, refs } = isDemo()
32
+ ? useRewardExchangeListDemo(getProps(this))
33
+ : useRewardExchangeList(getProps(this));
34
+ return (h(Host, { style: { display: "contents" } },
35
+ h(RewardExchangeView, { states: states, data: data, callbacks: callbacks, refs: refs })));
36
+ }
37
+ static get is() { return "sqm-reward-exchange-list"; }
38
+ static get assetsDirs() { return ["assets"]; }
39
+ static get properties() { return {
40
+ "buttonText": {
41
+ "type": "string",
42
+ "mutable": false,
43
+ "complexType": {
44
+ "original": "string",
45
+ "resolved": "string",
46
+ "references": {}
47
+ },
48
+ "required": false,
49
+ "optional": false,
50
+ "docs": {
51
+ "tags": [{
52
+ "text": "Exchange button text",
53
+ "name": "uiName"
54
+ }],
55
+ "text": ""
56
+ },
57
+ "attribute": "button-text",
58
+ "reflect": false,
59
+ "defaultValue": "\"Exchange Rewards\""
60
+ },
61
+ "demoData": {
62
+ "type": "unknown",
63
+ "mutable": false,
64
+ "complexType": {
65
+ "original": "DemoData<RewardExchangeViewProps>",
66
+ "resolved": "{ states?: { selectedItem: ExchangeItem; selectedStep: ExchangeStep; redeemStage: string; amount: number; exchangeError?: boolean; content: { text: any; }; }; data?: { exchangeList: any; }; refs?: { drawerRef: any; }; }",
67
+ "references": {
68
+ "DemoData": {
69
+ "location": "import",
70
+ "path": "../../global/demo"
71
+ },
72
+ "RewardExchangeViewProps": {
73
+ "location": "import",
74
+ "path": "./sqm-reward-exchange-list-view"
75
+ }
76
+ }
77
+ },
78
+ "required": false,
79
+ "optional": true,
80
+ "docs": {
81
+ "tags": [{
82
+ "text": undefined,
83
+ "name": "undocumented"
84
+ }, {
85
+ "text": "object",
86
+ "name": "uiType"
87
+ }],
88
+ "text": ""
89
+ }
90
+ }
91
+ }; }
92
+ static get states() { return {
93
+ "ignored": {}
94
+ }; }
95
+ }
96
+ function useRewardExchangeListDemo(props) {
97
+ return deepmerge({
98
+ states: {
99
+ content: {
100
+ text: props,
101
+ },
102
+ redeemStage: "",
103
+ amount: 0,
104
+ selectedStep: undefined,
105
+ exchangeError: false,
106
+ },
107
+ data: {
108
+ shareCode: "SHARECODE123",
109
+ },
110
+ callbacks: {
111
+ exchangeReward: () => { },
112
+ openDrawer: () => { },
113
+ setExchangeState: (_) => { },
114
+ setStage: (_) => { },
115
+ },
116
+ refs: {
117
+ drawerRef: {},
118
+ },
119
+ }, props.demoData || {}, { arrayMerge: (_, a) => a });
120
+ }
@@ -0,0 +1,196 @@
1
+ import { useUserIdentity, useQuery, useMutation, } from "@saasquatch/component-boilerplate";
2
+ import { gql } from "graphql-request";
3
+ import { useCallback, useEffect, useReducer, useRef, } from "@saasquatch/universal-hooks";
4
+ const GET_EXCHANGE_LIST = gql `
5
+ query getExchangeList {
6
+ viewer {
7
+ ... on User {
8
+ visibleRewardExchangeItems(limit: 20, offset: 0) {
9
+ data {
10
+ key
11
+ name
12
+ description
13
+ imageUrl
14
+ available
15
+ unavailableReason
16
+ unavailableReasonCode
17
+ ruleType
18
+ sourceUnit
19
+ sourceValue
20
+ prettySourceValue
21
+ sourceMinValue
22
+ prettySourceMinValue
23
+ sourceMaxValue
24
+ prettySourceMaxValue
25
+ destinationMinValue
26
+ prettyDestinationMinValue
27
+ destinationMaxValue
28
+ prettyDestinationMaxValue
29
+ globalRewardKey
30
+ destinationUnit
31
+ steps {
32
+ sourceValue
33
+ prettySourceValue
34
+ destinationValue
35
+ prettyDestinationValue
36
+ available
37
+ }
38
+ }
39
+ totalCount
40
+ }
41
+ }
42
+ }
43
+ }
44
+ `;
45
+ const EXCHANGE = gql `
46
+ mutation exchange($exchangeRewardInput: ExchangeRewardInput!) {
47
+ exchangeReward(exchangeRewardInput: $exchangeRewardInput) {
48
+ reward {
49
+ id
50
+ fuelTankCode
51
+ }
52
+ }
53
+ }
54
+ `;
55
+ export function useRewardExchangeList(props) {
56
+ var _a, _b, _c, _d;
57
+ const drawerRef = useRef();
58
+ const [exchangeState, setExchangeState] = useReducer((state, next) => ({
59
+ ...state,
60
+ ...next,
61
+ }), {
62
+ selectedItem: undefined,
63
+ selectedStep: undefined,
64
+ redeemStage: "",
65
+ amount: 0,
66
+ exchangeError: false,
67
+ });
68
+ const { selectedItem, selectedStep, redeemStage, amount, exchangeError } = exchangeState;
69
+ const user = useUserIdentity();
70
+ const [exchange, { data: exchangeResponse, errors }] = useMutation(EXCHANGE);
71
+ const { data } = useQuery(GET_EXCHANGE_LIST, !(user === null || user === void 0 ? void 0 : user.jwt));
72
+ useEffect(() => {
73
+ var _a, _b;
74
+ if ((_b = (_a = exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.exchangeReward) === null || _a === void 0 ? void 0 : _a.reward) === null || _b === void 0 ? void 0 : _b.id) {
75
+ setExchangeState({ redeemStage: "success" });
76
+ }
77
+ if (!!errors) {
78
+ console.log("YEA");
79
+ setExchangeState({ exchangeError: true });
80
+ }
81
+ }, [exchangeResponse, errors]);
82
+ function openDrawer() {
83
+ var _a;
84
+ setExchangeState({ redeemStage: "chooseReward" });
85
+ (_a = drawerRef.current) === null || _a === void 0 ? void 0 : _a.show();
86
+ }
87
+ function exchangeReward() {
88
+ if (!selectedItem)
89
+ return;
90
+ let exchangeVariables = {
91
+ accountId: user === null || user === void 0 ? void 0 : user.accountId,
92
+ userId: user.id,
93
+ };
94
+ switch (selectedItem.ruleType) {
95
+ case "FIXED_GLOBAL_REWARD":
96
+ exchangeVariables = {
97
+ ...exchangeVariables,
98
+ redeemCreditInput: {
99
+ amount: selectedItem.sourceValue,
100
+ unit: selectedItem.sourceUnit,
101
+ },
102
+ globalRewardKey: selectedItem.globalRewardKey,
103
+ };
104
+ break;
105
+ case "VARIABLE_GLOBAL_REWARD":
106
+ exchangeVariables = {
107
+ ...exchangeVariables,
108
+ redeemCreditInput: {
109
+ amount: amount,
110
+ unit: selectedItem.sourceUnit,
111
+ },
112
+ globalRewardKey: selectedItem.globalRewardKey,
113
+ rewardInput: {
114
+ valueInCents: selectedStep.destinationValue,
115
+ },
116
+ };
117
+ break;
118
+ case "VARIABLE_CREDIT_REWARD":
119
+ exchangeVariables = {
120
+ ...exchangeVariables,
121
+ redeemCreditInput: {
122
+ amount: amount,
123
+ unit: selectedItem.sourceUnit,
124
+ },
125
+ rewardInput: {
126
+ type: "CREDIT",
127
+ unit: selectedItem.destinationUnit,
128
+ assignedCredit: selectedStep.destinationValue,
129
+ },
130
+ };
131
+ break;
132
+ default:
133
+ exchangeVariables = {
134
+ ...exchangeVariables,
135
+ redeemCreditInput: {
136
+ amount: selectedItem.sourceValue,
137
+ unit: selectedItem.sourceUnit,
138
+ },
139
+ globalRewardKey: selectedItem.globalRewardKey,
140
+ };
141
+ }
142
+ exchange({ exchangeRewardInput: exchangeVariables });
143
+ }
144
+ const resetState = useCallback((e) => {
145
+ var _a, _b;
146
+ // selects also trigger an sl-hide event :(
147
+ //@ts-ignore - componentId is not private here
148
+ if (((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.componentId) !== ((_b = drawerRef.current) === null || _b === void 0 ? void 0 : _b.componentId))
149
+ return;
150
+ setExchangeState({
151
+ amount: 0,
152
+ selectedStep: undefined,
153
+ selectedItem: undefined,
154
+ exchangeError: false,
155
+ });
156
+ }, []);
157
+ useEffect(() => {
158
+ if (!(drawerRef === null || drawerRef === void 0 ? void 0 : drawerRef.current))
159
+ return;
160
+ const drawer = drawerRef.current;
161
+ // Clear input value when drawer is closed
162
+ drawer.addEventListener("sl-hide", resetState);
163
+ return () => {
164
+ drawer.removeEventListener("sl-hide", resetState);
165
+ };
166
+ }, [drawerRef.current]);
167
+ function setStage(stage) {
168
+ setExchangeState({ redeemStage: stage });
169
+ }
170
+ return {
171
+ states: {
172
+ content: {
173
+ text: props,
174
+ },
175
+ selectedItem,
176
+ redeemStage,
177
+ amount,
178
+ selectedStep,
179
+ exchangeError,
180
+ },
181
+ data: {
182
+ exchangeList: (_b = (_a = data === null || data === void 0 ? void 0 : data.viewer) === null || _a === void 0 ? void 0 : _a.visibleRewardExchangeItems) === null || _b === void 0 ? void 0 : _b.data,
183
+ //@ts-ignore
184
+ fuelTankCode: (_d = (_c = exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.exchangeReward) === null || _c === void 0 ? void 0 : _c.reward) === null || _d === void 0 ? void 0 : _d.fuelTankCode,
185
+ },
186
+ callbacks: {
187
+ exchangeReward,
188
+ openDrawer,
189
+ setExchangeState,
190
+ setStage,
191
+ },
192
+ refs: {
193
+ drawerRef,
194
+ },
195
+ };
196
+ }
@@ -1,7 +1,7 @@
1
1
  import { navigation } from "@saasquatch/component-boilerplate";
2
2
  import { useState } from "@saasquatch/stencil-hooks";
3
3
  import { h } from "@stencil/core";
4
- import { createHookStory } from "../components/sqm-stencilbook/HookStoryAddon";
4
+ import { createHookStory } from "../sqm-stencilbook/HookStoryAddon";
5
5
  export default {
6
6
  title: "Tests/Router",
7
7
  };