@saasquatch/mint-components 1.3.1-4 → 1.3.2-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/CHANGELOG.md +23 -31
  2. package/dist/cjs/{ShadowViewAddon-616d23ff.js → ShadowViewAddon-75c18b96.js} +1 -1
  3. package/dist/cjs/{global-4a64e4d5.js → global-041b5338.js} +334 -176
  4. package/dist/cjs/{sqm-leaderboard-rank-view-e6aaad22.js → index-19309631.js} +3 -10
  5. package/dist/cjs/{index.module-3a261802.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-c2492742.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} +1094 -63
  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-5455964e.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-790a4411.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-8b82e9df.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-11a0b201.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-cb11e56f.js +472 -0
  39. package/dist/cjs/sqm-task-card.cjs.entry.js +32 -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-7f38c988.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/UseRewardExchangeList.stories.js +143 -0
  84. package/dist/collection/components/sqm-reward-exchange-list/assets/Leftward Arrow.svg +3 -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 +70 -0
  87. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +226 -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 +194 -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 +291 -0
  102. package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +453 -0
  103. package/dist/collection/components/sqm-task-card/sqm-task-card.js +192 -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-90bddd7a.js → ShadowViewAddon-fff5d35d.js} +1 -1
  114. package/dist/esm/{global-2af7c34c.js → global-5ecbf81a.js} +281 -123
  115. package/dist/esm/{sqm-leaderboard-rank-view-8aacf3aa.js → index-2f5dd0a1.js} +3 -9
  116. package/dist/esm/{index.module-96d22fa3.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-712044e1.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} +1090 -60
  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-84d77c9b.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-34bef778.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-82345c97.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-4b9828d9.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-6a082a21.js +469 -0
  150. package/dist/esm/sqm-task-card.entry.js +28 -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-c03e4116.js → useDemoBigStat-b71fe122.js} +3 -2
  154. package/dist/esm-es5/{ShadowViewAddon-90bddd7a.js → ShadowViewAddon-fff5d35d.js} +1 -1
  155. package/dist/esm-es5/{global-2af7c34c.js → global-5ecbf81a.js} +2 -16
  156. package/dist/esm-es5/index-2f5dd0a1.js +1 -0
  157. package/dist/esm-es5/{index.module-96d22fa3.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-712044e1.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-84d77c9b.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-34bef778.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-82345c97.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-4b9828d9.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-6a082a21.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-c03e4116.js → useDemoBigStat-b71fe122.js} +1 -1
  195. package/dist/mint-components/assets/Leftward Arrow.svg +3 -0
  196. package/dist/mint-components/assets/Reward-icon.png +0 -0
  197. package/dist/mint-components/global/styles.ts +278 -69
  198. package/dist/mint-components/mint-components.esm.js +1 -1
  199. package/dist/mint-components/mint-components.js +1 -1
  200. package/dist/mint-components/{p-22a96415.js → p-00190438.js} +1 -1
  201. package/dist/mint-components/{p-dbb59971.system.entry.js → p-04516274.system.entry.js} +1 -1
  202. package/dist/mint-components/{p-28e86ebc.js → p-05cca77b.js} +1 -1
  203. package/dist/mint-components/{p-972267f0.system.entry.js → p-0688c9c2.system.entry.js} +1 -1
  204. package/dist/mint-components/p-11c75956.entry.js +1 -0
  205. package/dist/mint-components/p-12fb9197.entry.js +1 -0
  206. package/dist/mint-components/{p-b967445b.system.entry.js → p-16535642.system.entry.js} +1 -1
  207. package/dist/mint-components/{p-cc7ea657.entry.js → p-16da5146.entry.js} +1 -1
  208. package/dist/mint-components/{p-953259a7.system.js → p-1813b9b9.system.js} +1 -1
  209. package/dist/mint-components/p-189219ee.system.js +1 -0
  210. package/dist/mint-components/{p-c8981921.system.entry.js → p-1ac9c24b.system.entry.js} +1 -1
  211. package/dist/mint-components/{p-d842d3c2.system.entry.js → p-1b414d8f.system.entry.js} +1 -1
  212. package/dist/mint-components/{p-a4bd59d4.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-1604e504.system.entry.js → p-2a025d2a.system.entry.js} +1 -1
  216. package/dist/mint-components/p-2ae9c535.js +1 -0
  217. package/dist/mint-components/{p-ba489b88.js → p-2bce988c.js} +1 -1
  218. package/dist/mint-components/{p-b5afca53.entry.js → p-2f171597.entry.js} +1 -1
  219. package/dist/mint-components/{p-12d2582e.system.js → p-3052c913.system.js} +1 -1
  220. package/dist/mint-components/{p-4a627ee3.entry.js → p-337b49ee.entry.js} +1 -1
  221. package/dist/mint-components/{p-af506742.system.js → p-3b0acfcd.system.js} +1 -1
  222. package/dist/mint-components/{p-559cc6a6.system.entry.js → p-3fd33dee.system.entry.js} +1 -1
  223. package/dist/mint-components/{p-bb817d4a.js → p-405a9253.js} +2 -2
  224. package/dist/mint-components/{p-0ce359a5.js → p-434ee9c1.js} +1 -1
  225. package/dist/mint-components/p-4ba2faf2.system.entry.js +1 -0
  226. package/dist/mint-components/{p-955981cd.system.entry.js → p-505f5c59.system.entry.js} +1 -1
  227. package/dist/mint-components/p-550b4579.system.entry.js +1 -0
  228. package/dist/mint-components/p-55e02769.entry.js +13 -0
  229. package/dist/mint-components/{p-9048f7eb.system.entry.js → p-57a53dbd.system.entry.js} +1 -1
  230. package/dist/mint-components/p-58d9b2f0.js +15 -0
  231. package/dist/mint-components/{p-14880676.system.entry.js → p-5dfc6804.system.entry.js} +1 -1
  232. package/dist/mint-components/{p-597a8eaa.entry.js → p-5f28af29.entry.js} +1 -1
  233. package/dist/mint-components/{p-5ca0f272.entry.js → p-6cdc70f4.entry.js} +1 -1
  234. package/dist/mint-components/p-6d545e13.entry.js +1 -0
  235. package/dist/mint-components/p-70837c1c.entry.js +49 -0
  236. package/dist/mint-components/p-71d942af.entry.js +9 -0
  237. package/dist/mint-components/p-795a7259.system.entry.js +1 -0
  238. package/dist/mint-components/p-7c138c84.entry.js +1 -0
  239. package/dist/mint-components/{p-af702398.system.entry.js → p-7c13e32e.system.entry.js} +1 -1
  240. package/dist/mint-components/p-7c261ea0.system.entry.js +1 -0
  241. package/dist/mint-components/p-8034f81c.system.entry.js +1 -0
  242. package/dist/mint-components/{p-48efaf7e.system.js → p-82ab88fe.system.js} +1 -1
  243. package/dist/mint-components/{p-a8680516.entry.js → p-82d7a2ba.entry.js} +1 -1
  244. package/dist/mint-components/{p-c12b5dee.entry.js → p-844f9bad.entry.js} +1 -1
  245. package/dist/mint-components/{p-c5d4bbbd.js → p-844fd903.js} +1 -1
  246. package/dist/mint-components/p-86cd9f79.entry.js +286 -0
  247. package/dist/mint-components/p-8c16f04e.js +1 -0
  248. package/dist/mint-components/{p-aeb65d2b.js → p-8e37c08d.js} +1 -1
  249. package/dist/mint-components/p-91d39961.system.js +1 -0
  250. package/dist/mint-components/{p-bc84734e.system.entry.js → p-a0045707.system.entry.js} +1 -1
  251. package/dist/mint-components/{p-29c57faa.system.js → p-a0cfd3d9.system.js} +1 -1
  252. package/dist/mint-components/{p-2f23e292.entry.js → p-a4a00461.entry.js} +1 -1
  253. package/dist/mint-components/{p-bc3ec47d.entry.js → p-a7f0b2f6.entry.js} +1 -1
  254. package/dist/mint-components/{p-e3b307a9.entry.js → p-aba21f90.entry.js} +1 -1
  255. package/dist/mint-components/{p-263da1a3.system.entry.js → p-af06ea5b.system.entry.js} +1 -1
  256. package/dist/mint-components/p-b3af1c6f.js +1 -0
  257. package/dist/mint-components/p-bf04a8e1.system.entry.js +1 -0
  258. package/dist/mint-components/p-bf055b6c.system.js +1 -0
  259. package/dist/mint-components/p-c3866bfa.system.entry.js +1 -0
  260. package/dist/mint-components/p-c9c4f31b.system.entry.js +1 -0
  261. package/dist/mint-components/{p-4d97e5d3.js → p-cc3510c8.js} +1 -1
  262. package/dist/mint-components/{p-d3522156.system.js → p-ceeaf074.system.js} +21 -35
  263. package/dist/mint-components/p-d0913f8d.system.js +1 -0
  264. package/dist/mint-components/{p-497beffc.entry.js → p-d3787c3a.entry.js} +1 -1
  265. package/dist/mint-components/{p-2a3e5c1f.entry.js → p-d9cc041f.entry.js} +1 -1
  266. package/dist/mint-components/p-db723323.system.entry.js +1 -0
  267. package/dist/mint-components/p-dd6a666e.system.js +15 -0
  268. package/dist/mint-components/p-dfc3cf82.js +1 -0
  269. package/dist/mint-components/p-e19a57a4.system.entry.js +1 -0
  270. package/dist/mint-components/p-e22eed7b.entry.js +1 -0
  271. package/dist/mint-components/p-e2ebe90c.entry.js +1 -0
  272. package/dist/mint-components/{p-f40db771.system.entry.js → p-e475a5ff.system.entry.js} +1 -1
  273. package/dist/mint-components/{p-d3937919.entry.js → p-e9ab90a1.entry.js} +1 -1
  274. package/dist/mint-components/p-ecbabf6e.system.js +1 -0
  275. package/dist/mint-components/{p-6b508611.js → p-f1e1086e.js} +2 -17
  276. package/dist/mint-components/p-f41ab9e1.system.js +1 -0
  277. package/dist/mint-components/{p-3aedd556.system.js → p-f87d8f53.system.js} +1 -1
  278. package/dist/mint-components/p-fcaa5886.system.entry.js +1 -0
  279. package/dist/types/{stories → components/sqm-asset-card}/AssetCard.stories.d.ts +0 -0
  280. package/dist/types/{stories → components/sqm-big-stat}/BigStat.stories.d.ts +0 -0
  281. package/dist/types/{stories → components/sqm-big-stat}/UseBigStat.stories.d.ts +0 -0
  282. package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +0 -6
  283. package/dist/types/{stories → components/sqm-divided-layout}/DividedLayout.stories.d.ts +0 -0
  284. package/dist/types/{stories → components/sqm-edit-profile}/EditProfileForm.stories.d.ts +0 -0
  285. package/dist/types/{stories → components/sqm-edit-profile}/UseEditProfile.stories.d.ts +0 -0
  286. package/dist/types/{stories → components/sqm-form-message}/FormMessage.stories.d.ts +0 -0
  287. package/dist/types/{stories → components/sqm-hero}/Hero.stories.d.ts +0 -0
  288. package/dist/types/{stories → components/sqm-leaderboard}/Leaderboard.stories.d.ts +0 -0
  289. package/dist/types/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.d.ts +0 -0
  290. package/dist/types/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.d.ts +0 -0
  291. package/dist/types/{stories → components/sqm-name-fields}/NameFields.stories.d.ts +0 -0
  292. package/dist/types/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.d.ts +0 -0
  293. package/dist/types/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.d.ts +0 -0
  294. package/dist/types/{stories → components/sqm-password-field}/PasswordField.stories.d.ts +0 -0
  295. package/dist/types/{stories → components/sqm-portal-change-password}/ChangePassword.stories.d.ts +0 -0
  296. package/dist/types/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.d.ts +0 -0
  297. package/dist/types/{stories → components/sqm-portal-footer}/PortalFooter.stories.d.ts +0 -0
  298. package/dist/types/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.d.ts +0 -0
  299. package/dist/types/{stories → components/sqm-portal-frame}/PortalFrame.stories.d.ts +0 -0
  300. package/dist/types/{stories → components/sqm-portal-login}/PortalLogin.stories.d.ts +0 -0
  301. package/dist/types/{stories → components/sqm-portal-profile}/PortalProfile.stories.d.ts +0 -0
  302. package/dist/types/{stories → components/sqm-portal-register}/PortalRegister.stories.d.ts +0 -0
  303. package/dist/types/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.d.ts +0 -0
  304. package/dist/types/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.d.ts +0 -0
  305. package/dist/types/{stories → components/sqm-program-menu}/ProgramMenu.stories.d.ts +0 -0
  306. package/dist/types/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.d.ts +0 -0
  307. package/dist/types/{stories → components/sqm-referral-table}/ReferralTable.stories.d.ts +0 -0
  308. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableCell.stories.d.ts +0 -0
  309. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.d.ts +0 -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 +23 -0
  313. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +21 -0
  314. package/dist/types/components/sqm-reward-exchange-list/useRewardExchangeList.d.ts +46 -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 +23 -0
  326. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +41 -0
  327. package/dist/types/components/sqm-user-name/UserName.stories.d.ts +6 -0
  328. package/dist/types/components.d.ts +185 -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-8aacf3aa.js +0 -1
  340. package/dist/mint-components/p-094e2a37.entry.js +0 -13
  341. package/dist/mint-components/p-0955e6cb.system.entry.js +0 -1
  342. package/dist/mint-components/p-0ad19e35.system.entry.js +0 -1
  343. package/dist/mint-components/p-18b2407c.system.entry.js +0 -1
  344. package/dist/mint-components/p-5555ba99.system.js +0 -1
  345. package/dist/mint-components/p-5753e72a.entry.js +0 -1
  346. package/dist/mint-components/p-600a7424.entry.js +0 -1
  347. package/dist/mint-components/p-728cdabb.entry.js +0 -1
  348. package/dist/mint-components/p-7ea1d7d6.entry.js +0 -9
  349. package/dist/mint-components/p-893a12d1.system.entry.js +0 -1
  350. package/dist/mint-components/p-9c7dfd92.system.entry.js +0 -1
  351. package/dist/mint-components/p-aeaebccb.entry.js +0 -230
  352. package/dist/mint-components/p-b32a1703.entry.js +0 -1
  353. package/dist/mint-components/p-b431ce31.entry.js +0 -1
  354. package/dist/mint-components/p-b86921f5.entry.js +0 -1
  355. package/dist/mint-components/p-b966c6fc.system.entry.js +0 -1
  356. package/dist/mint-components/p-d2f2c1b9.system.entry.js +0 -1
  357. package/dist/mint-components/p-d9d9954c.js +0 -1
  358. package/dist/mint-components/p-da26f022.system.js +0 -1
  359. package/dist/mint-components/p-e13bff75.system.entry.js +0 -1
  360. package/dist/mint-components/p-e171513a.entry.js +0 -1
  361. package/dist/mint-components/p-e87a5773.system.js +0 -1
  362. package/dist/mint-components/p-e9d4fbb9.system.entry.js +0 -1
  363. package/dist/types/global/android.d.ts +0 -7
  364. package/dist/types/global/demo.d.ts +0 -1
  365. package/dist/types/stories/UserName.stories.d.ts +0 -6
  366. package/dist/types/stories/features.d.ts +0 -4
  367. package/dist/types/stories/templates.d.ts +0 -4
@@ -0,0 +1,70 @@
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
+ } },
17
+ h("div", { style: {
18
+ backgroundColor: completed ? "#9E9E9E" : "#FFF",
19
+ border: active
20
+ ? "2px solid #9E9E9E"
21
+ : incomplete
22
+ ? "2px solid #E5E5E5"
23
+ : "none",
24
+ borderRadius: "50%",
25
+ width: completed ? "12px" : "8px",
26
+ height: completed ? "12px" : "8px",
27
+ margin: "-4px auto 0px",
28
+ zIndex: "1",
29
+ } })));
30
+ }
31
+ function Progress({ active, completed, incomplete }) {
32
+ return [
33
+ h("div", { style: {
34
+ content: "''",
35
+ flex: "0.5 0.5 0",
36
+ height: "4px",
37
+ borderRadius: "4px",
38
+ background: incomplete ? "#E5E5E5" : "#9E9E9E",
39
+ position: "relative",
40
+ bottom: "0",
41
+ left: "0",
42
+ display: "flex",
43
+ justifyContent: "center",
44
+ columnGap: "50px",
45
+ marginRight: "-2px",
46
+ } }),
47
+ h(Dot, { active: active, completed: completed, incomplete: incomplete }),
48
+ h("div", { style: {
49
+ content: "''",
50
+ flex: "0.5 0.5 0",
51
+ height: "4px",
52
+ borderRadius: "4px",
53
+ background: incomplete || active ? "#E5E5E5" : "#9E9E9E",
54
+ position: "relative",
55
+ bottom: "0",
56
+ left: "0",
57
+ display: "flex",
58
+ justifyContent: "center",
59
+ columnGap: "50px",
60
+ marginRight: "-2px",
61
+ } }),
62
+ ];
63
+ }
64
+ export function ProgressBar({ stage }) {
65
+ console.log({ stage });
66
+ return (h("div", { style: { display: "flex", columnGap: "-2px" } },
67
+ h(Progress, { active: stage === 0, completed: stage > 0, incomplete: stage < 0 }),
68
+ h(Progress, { active: stage === 1, completed: stage > 1, incomplete: stage < 1 }),
69
+ h(Progress, { active: stage === 2, completed: stage > 2, incomplete: stage < 2 })));
70
+ }
@@ -0,0 +1,226 @@
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
+ const stageList = ["chooseReward", "chooseAmount", "confirmation", "success"];
6
+ const stageProgressList = {
7
+ chooseReward: "Choose reward",
8
+ chooseAmount: "Amount",
9
+ confirmation: "Confirm",
10
+ };
11
+ export function RewardExchangeView(props) {
12
+ const style = {
13
+ Container: {
14
+ position: "relative",
15
+ display: "flex",
16
+ },
17
+ CardContainer: {
18
+ "&:hover": {
19
+ boxShadow: "0 3px 10px #87ceeb6e!important",
20
+ },
21
+ },
22
+ Base: {
23
+ display: "block",
24
+ cursor: "pointer",
25
+ textAlign: "center",
26
+ "&::part(base)": {
27
+ width: "100%",
28
+ height: "170px",
29
+ display: "flex",
30
+ justifyContent: "space-between",
31
+ alignItems: "center",
32
+ },
33
+ "&::part(body)": {
34
+ padding: "10px 0",
35
+ },
36
+ },
37
+ Drawer: {
38
+ "&::part(base)": {
39
+ minWidth: "400px",
40
+ width: "50%",
41
+ margin: "0 auto",
42
+ right: "0",
43
+ },
44
+ "&::part(panel)": {
45
+ height: "85vh",
46
+ },
47
+ },
48
+ FullImage: {
49
+ objectFit: "contain",
50
+ maxWidth: "100%",
51
+ height: "100px",
52
+ },
53
+ PreviewImage: {
54
+ objectFit: "contain",
55
+ maxWidth: "100%",
56
+ height: "75px",
57
+ },
58
+ InputBox: {
59
+ width: "100%",
60
+ marginBottom: "20px",
61
+ },
62
+ Select: {
63
+ "&::part(base)": {
64
+ flex: "0.75",
65
+ },
66
+ "&::part(menu)": {
67
+ maxHeight: "40vh",
68
+ },
69
+ },
70
+ Buttons: {
71
+ bottom: "0",
72
+ },
73
+ Button: {
74
+ margin: "10px 0",
75
+ display: "block",
76
+ textAlign: "center",
77
+ cursor: "pointer",
78
+ },
79
+ };
80
+ // JSS config
81
+ jss.setup(preset());
82
+ const sheet = jss.createStyleSheet(style);
83
+ const styleString = sheet.toString();
84
+ const { states, data, callbacks, refs } = props;
85
+ const { selectedItem, selectedStep } = states;
86
+ function getInput() {
87
+ var _a;
88
+ const item = states.selectedItem;
89
+ if (!item || (item === null || item === void 0 ? void 0 : item.ruleType) === "FIXED_GLOBAL_REWARD")
90
+ return h("span", null);
91
+ return (h("sl-select", { style: { width: "auto" }, label: "Select amount to receive", class: sheet.classes.Select, value: states.selectedStep, "onSl-select": (e) => {
92
+ var _a, _b, _c, _d, _e;
93
+ return callbacks.setExchangeState({
94
+ 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,
95
+ selectedStep: (_e = (_d = e.detail) === null || _d === void 0 ? void 0 : _d.item) === null || _e === void 0 ? void 0 : _e.value,
96
+ });
97
+ } }, (_a = item === null || item === void 0 ? void 0 : item.steps) === null || _a === void 0 ? void 0 : _a.map((step) => (h("sl-menu-item", { value: step },
98
+ step.prettyDestinationValue,
99
+ h("span", { slot: "suffix", style: { fontSize: "75%" } }, step.prettySourceValue))))));
100
+ }
101
+ function chooseReward() {
102
+ var _a;
103
+ const nextStage = (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD"
104
+ ? "confirmation"
105
+ : "chooseAmount";
106
+ console.log({ nextStage, ruleType: selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType });
107
+ return (h("div", { style: {
108
+ display: "flex",
109
+ justifyContent: "center",
110
+ flexWrap: "wrap",
111
+ alignItems: "center",
112
+ columnGap: "12px",
113
+ rowGap: "12px",
114
+ } }, (_a = data.exchangeList) === null || _a === void 0 ? void 0 :
115
+ _a.map((item) => {
116
+ const style = {
117
+ boxShadow: item.key === (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key) ? "0 1px 8px #87ceeb" : "none",
118
+ marginBottom: "10px 0",
119
+ flex: "1",
120
+ minWidth: "45%",
121
+ };
122
+ return (h("div", { key: item.key, class: sheet.classes.CardContainer, style: style },
123
+ h("sl-card", { class: sheet.classes.Base, onClick: () => callbacks.setExchangeState({ selectedItem: item }), disabled: !item.available },
124
+ h("img", { class: sheet.classes.PreviewImage, src: (item === null || item === void 0 ? void 0 : item.imageUrl) || getAssetPath("./assets/Reward-icon.png") }),
125
+ h("p", null, item.description))));
126
+ }),
127
+ h("div", { class: sheet.classes.Buttons },
128
+ h("sl-button", { onClick: () => callbacks.setStage(nextStage), style: { display: "block" }, class: sheet.classes.Button, disabled: !states.selectedItem }, "Continue"),
129
+ 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"))));
130
+ }
131
+ function chooseAmount() {
132
+ const input = getInput();
133
+ return (h("div", null,
134
+ 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 }))),
135
+ h("div", { class: sheet.classes.InputBox }, input),
136
+ h("div", { class: sheet.classes.Buttons },
137
+ h("sl-button", { onClick: () => callbacks.setStage("confirmation"), disabled: input && !states.amount, style: { display: "block" }, class: sheet.classes.Button }, "Continue"),
138
+ h("a", { onClick: () => callbacks.setStage("chooseReward"), style: { display: "block" }, class: sheet.classes.Button }, "Back"))));
139
+ }
140
+ console.log({ selectedItem, selectedStep });
141
+ function confirmation() {
142
+ console.log("confirmation:", { selectedItem });
143
+ const redemptionAmount = () => {
144
+ var _a;
145
+ if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD") {
146
+ 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}`;
147
+ }
148
+ else {
149
+ const amount = states.amount;
150
+ 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}`;
151
+ return `Redeem ${amount} ${selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.sourceUnit} for ${reward}`;
152
+ }
153
+ };
154
+ const previousStage = (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD"
155
+ ? "chooseReward"
156
+ : "chooseAmount";
157
+ return (h("div", null,
158
+ h("h2", null, "Confirm your redemption:"),
159
+ redemptionAmount(),
160
+ h("div", { class: sheet.classes.Buttons },
161
+ h("sl-button", { onClick: callbacks.exchangeReward, style: { display: "block" }, class: sheet.classes.Button }, "Redeem"),
162
+ h("a", { onClick: () => callbacks.setStage(previousStage), style: { display: "block" }, class: sheet.classes.Button }, "Back"))));
163
+ }
164
+ function success() {
165
+ return (h("div", { style: { textAlign: "center" } },
166
+ h("img", { class: sheet.classes.FullImage, src: getAssetPath("./assets/Reward-icon.png") }),
167
+ h("p", { style: { color: "forestgreen" } }, "Reward Redeemed"),
168
+ (data === null || data === void 0 ? void 0 : data.fuelTankCode) && h("pre", null, data === null || data === void 0 ? void 0 : data.fuelTankCode),
169
+ 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")));
170
+ }
171
+ const stages = {
172
+ chooseReward: () => chooseReward(),
173
+ chooseAmount: () => chooseAmount(),
174
+ confirmation: () => confirmation(),
175
+ success: () => success(),
176
+ };
177
+ const currentStage = stages[states.redeemStage];
178
+ function stageMap() {
179
+ const stageNumber = stageList.indexOf(states.redeemStage);
180
+ return (h("div", { style: { fontSize: "80%" } },
181
+ h(ProgressBar, { stage: stageNumber }),
182
+ h("div", { style: {
183
+ marginTop: "5px",
184
+ display: "flex",
185
+ justifyContent: "center",
186
+ textAlign: "center",
187
+ whiteSpace: "nowrap",
188
+ marginBottom: "10px",
189
+ } }, Object.keys(stageProgressList).map((stage) => {
190
+ if (stage === states.redeemStage)
191
+ return (h("b", { style: { flex: "1 1 0" } },
192
+ " ",
193
+ stageProgressList[stage]));
194
+ return h("i", { style: { flex: "1 1 0" } }, stageProgressList[stage]);
195
+ }))));
196
+ }
197
+ const Label = () => {
198
+ if (states.redeemStage === "success")
199
+ return "";
200
+ let previousStage = "";
201
+ if (states.redeemStage === "confirmation") {
202
+ previousStage =
203
+ (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.ruleType) === "FIXED_GLOBAL_REWARD"
204
+ ? "chooseReward"
205
+ : "chooseAmount";
206
+ }
207
+ else if (states.redeemStage === "chooseAmount") {
208
+ previousStage = "chooseReward";
209
+ }
210
+ 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" } },
211
+ 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" })));
212
+ return (h("div", { slot: "label" },
213
+ h("a", { style: { cursor: "pointer", fontSize: "80%", color: "#858585" }, onClick: () => callbacks.setStage(previousStage) },
214
+ h(LeftArrow, null),
215
+ " Back")));
216
+ };
217
+ return (h("div", { class: sheet.classes.Container },
218
+ h("style", { type: "text/css" }, styleString),
219
+ h("div", null,
220
+ h("sl-drawer", { ref: (ref) => (refs.drawerRef.current = ref), placement: "right", class: sheet.classes.Drawer, open: stageList.indexOf(states.redeemStage) >= 0 },
221
+ h(Label, null),
222
+ stageMap(),
223
+ currentStage && currentStage(),
224
+ states.exchangeError && "Something went wrong. Please contact support or try again."),
225
+ h("sl-button", { onClick: () => callbacks.openDrawer() }, "Redeem Rewards"))));
226
+ }
@@ -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 { getMissingProps, getProps } from "../../utils/utils";
8
+ import { RequiredPropsError } from "../../utils/RequiredPropsError";
9
+ /**
10
+ * @uiName Reward Exchange List
11
+ */
12
+ export class SqmRewardExchangeList {
13
+ constructor() {
14
+ this.ignored = true;
15
+ withHooks(this);
16
+ }
17
+ disconnectedCallback() { }
18
+ render() {
19
+ const missingProps = getMissingProps([
20
+ {
21
+ attribute: "listType",
22
+ value: this.listType,
23
+ },
24
+ ]);
25
+ if (missingProps) {
26
+ return h(RequiredPropsError, { missingProps: missingProps });
27
+ }
28
+ const { states, data, callbacks, refs } = isDemo()
29
+ ? useRewardExchangeListDemo(getProps(this))
30
+ : useRewardExchangeList(getProps(this));
31
+ return (h(Host, { style: { display: "contents" } },
32
+ h(RewardExchangeView, { states: states, data: data, callbacks: callbacks, refs: refs })));
33
+ }
34
+ static get is() { return "sqm-reward-exchange-list"; }
35
+ static get assetsDirs() { return ["assets"]; }
36
+ static get properties() { return {
37
+ "listType": {
38
+ "type": "string",
39
+ "mutable": false,
40
+ "complexType": {
41
+ "original": "string",
42
+ "resolved": "string",
43
+ "references": {}
44
+ },
45
+ "required": false,
46
+ "optional": false,
47
+ "docs": {
48
+ "tags": [{
49
+ "text": "Type of List",
50
+ "name": "uiName"
51
+ }, {
52
+ "text": undefined,
53
+ "name": "uiRequired"
54
+ }],
55
+ "text": ""
56
+ },
57
+ "attribute": "list-type",
58
+ "reflect": false
59
+ },
60
+ "demoData": {
61
+ "type": "unknown",
62
+ "mutable": false,
63
+ "complexType": {
64
+ "original": "DemoData<RewardExchangeViewProps>",
65
+ "resolved": "{ states?: { selectedItem: ExchangeItem; selectedStep: ExchangeStep; redeemStage: string; amount: number; exchangeError?: boolean; }; data?: { exchangeList: any; }; refs?: { drawerRef: any; }; }",
66
+ "references": {
67
+ "DemoData": {
68
+ "location": "import",
69
+ "path": "../../global/demo"
70
+ },
71
+ "RewardExchangeViewProps": {
72
+ "location": "import",
73
+ "path": "./sqm-reward-exchange-list-view"
74
+ }
75
+ }
76
+ },
77
+ "required": false,
78
+ "optional": true,
79
+ "docs": {
80
+ "tags": [{
81
+ "text": undefined,
82
+ "name": "undocumented"
83
+ }, {
84
+ "text": "object",
85
+ "name": "uiType"
86
+ }],
87
+ "text": ""
88
+ }
89
+ }
90
+ }; }
91
+ static get states() { return {
92
+ "ignored": {}
93
+ }; }
94
+ }
95
+ function useRewardExchangeListDemo(props) {
96
+ return deepmerge({
97
+ states: {
98
+ content: {
99
+ listType: "https://example.com",
100
+ ...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,194 @@
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
+ }
37
+ }
38
+ totalCount
39
+ }
40
+ }
41
+ }
42
+ }
43
+ `;
44
+ const EXCHANGE = gql `
45
+ mutation exchange($exchangeRewardInput: ExchangeRewardInput!) {
46
+ exchangeReward(exchangeRewardInput: $exchangeRewardInput) {
47
+ reward {
48
+ id
49
+ fuelTankCode
50
+ }
51
+ }
52
+ }
53
+ `;
54
+ export function useRewardExchangeList(_) {
55
+ var _a, _b, _c, _d;
56
+ const drawerRef = useRef();
57
+ const [exchangeState, setExchangeState] = useReducer((state, next) => ({
58
+ ...state,
59
+ ...next,
60
+ }), {
61
+ selectedItem: undefined,
62
+ selectedStep: undefined,
63
+ redeemStage: "",
64
+ amount: 0,
65
+ exchangeError: false,
66
+ });
67
+ const { selectedItem, selectedStep, redeemStage, amount, exchangeError } = exchangeState;
68
+ const user = useUserIdentity();
69
+ const [exchange, { data: exchangeResponse, errors }] = useMutation(EXCHANGE);
70
+ const { data } = useQuery(GET_EXCHANGE_LIST, !(user === null || user === void 0 ? void 0 : user.jwt));
71
+ useEffect(() => {
72
+ var _a, _b;
73
+ 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) {
74
+ setExchangeState({ redeemStage: "success" });
75
+ }
76
+ if (!!errors) {
77
+ console.log("YEA");
78
+ setExchangeState({ exchangeError: true });
79
+ }
80
+ }, [exchangeResponse, errors]);
81
+ function openDrawer() {
82
+ var _a;
83
+ setExchangeState({ redeemStage: "chooseReward" });
84
+ (_a = drawerRef.current) === null || _a === void 0 ? void 0 : _a.show();
85
+ }
86
+ function exchangeReward() {
87
+ if (!selectedItem)
88
+ return;
89
+ let exchangeVariables = {
90
+ accountId: user === null || user === void 0 ? void 0 : user.accountId,
91
+ userId: user.id,
92
+ };
93
+ switch (selectedItem.ruleType) {
94
+ case "FIXED_GLOBAL_REWARD":
95
+ exchangeVariables = {
96
+ ...exchangeVariables,
97
+ redeemCreditInput: {
98
+ amount: selectedItem.sourceValue,
99
+ unit: selectedItem.sourceUnit,
100
+ },
101
+ globalRewardKey: selectedItem.globalRewardKey,
102
+ };
103
+ break;
104
+ case "VARIABLE_GLOBAL_REWARD":
105
+ exchangeVariables = {
106
+ ...exchangeVariables,
107
+ redeemCreditInput: {
108
+ amount: amount,
109
+ unit: selectedItem.sourceUnit,
110
+ },
111
+ globalRewardKey: selectedItem.globalRewardKey,
112
+ rewardInput: {
113
+ valueInCents: selectedStep.destinationValue,
114
+ },
115
+ };
116
+ break;
117
+ case "VARIABLE_CREDIT_REWARD":
118
+ exchangeVariables = {
119
+ ...exchangeVariables,
120
+ redeemCreditInput: {
121
+ amount: amount,
122
+ unit: selectedItem.sourceUnit,
123
+ },
124
+ rewardInput: {
125
+ type: "CREDIT",
126
+ unit: selectedItem.destinationUnit,
127
+ assignedCredit: selectedStep.destinationValue,
128
+ },
129
+ };
130
+ break;
131
+ default:
132
+ exchangeVariables = {
133
+ ...exchangeVariables,
134
+ redeemCreditInput: {
135
+ amount: selectedItem.sourceValue,
136
+ unit: selectedItem.sourceUnit,
137
+ },
138
+ globalRewardKey: selectedItem.globalRewardKey,
139
+ };
140
+ }
141
+ console.log(exchangeVariables);
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
+ console.log(exchangeResponse, exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.data, errors);
171
+ return {
172
+ states: {
173
+ selectedItem,
174
+ redeemStage,
175
+ amount,
176
+ selectedStep,
177
+ exchangeError,
178
+ },
179
+ data: {
180
+ 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,
181
+ //@ts-ignore
182
+ 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,
183
+ },
184
+ callbacks: {
185
+ exchangeReward,
186
+ openDrawer,
187
+ setExchangeState,
188
+ setStage,
189
+ },
190
+ refs: {
191
+ drawerRef,
192
+ },
193
+ };
194
+ }
@@ -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
  };