@saasquatch/mint-components 1.4.0 → 1.5.0-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 (389) hide show
  1. package/CHANGELOG.md +24 -48
  2. package/dist/cjs/{ShadowViewAddon-e9bacad0.js → ShadowViewAddon-a85b8c8d.js} +3 -3
  3. package/dist/cjs/{global-0c01d88f.js → global-6223fe8f.js} +283 -71
  4. package/dist/cjs/{index.module-2925fe3b.js → index.module-7dd4b981.js} +18 -16
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/mint-components.cjs.js +3 -3
  7. package/dist/cjs/{re-render-b1ad512d.js → re-render-6111d4bd.js} +4 -4
  8. package/dist/cjs/sqm-asset-card.cjs.entry.js +1 -1
  9. package/dist/cjs/sqm-big-stat.cjs.entry.js +2 -2
  10. package/dist/cjs/{sqm-divided-layout_26.cjs.entry.js → sqm-divided-layout_30.cjs.entry.js} +9444 -3383
  11. package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +4 -4
  12. package/dist/cjs/{sqm-leaderboard-rank-view-48245b30.js → sqm-leaderboard-rank-view-7dd44d62.js} +2 -2
  13. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +5 -5
  14. package/dist/cjs/sqm-leaderboard.cjs.entry.js +2 -2
  15. package/dist/cjs/sqm-name-fields.cjs.entry.js +1 -1
  16. package/dist/cjs/{sqm-navigation-sidebar-item-view-1bad646a.js → sqm-navigation-sidebar-item-view-6c7f78e6.js} +2 -2
  17. package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +3 -3
  18. package/dist/cjs/sqm-popup-container.cjs.entry.js +1 -1
  19. package/dist/cjs/{sqm-portal-email-verification-view-68b16f27.js → sqm-portal-email-verification-view-08d1848c.js} +1 -1
  20. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +6 -13
  21. package/dist/cjs/{sqm-portal-footer-view-edeeebab.js → sqm-portal-footer-view-69c73802.js} +1 -1
  22. package/dist/cjs/sqm-portal-footer.cjs.entry.js +3 -3
  23. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +6 -18
  24. package/dist/cjs/sqm-portal-logout.cjs.entry.js +3 -3
  25. package/dist/cjs/{sqm-portal-profile-view-2b48529e.js → sqm-portal-profile-view-14b41436.js} +1 -1
  26. package/dist/cjs/sqm-portal-profile.cjs.entry.js +6 -6
  27. package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +5 -5
  28. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +6 -14
  29. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +7 -15
  30. package/dist/cjs/sqm-referral-table-column.cjs.entry.js +2 -2
  31. package/dist/cjs/sqm-referral-table-date-column.cjs.entry.js +2 -2
  32. package/dist/cjs/sqm-referral-table-rewards-column.cjs.entry.js +2 -2
  33. package/dist/cjs/sqm-referral-table-status-column.cjs.entry.js +2 -2
  34. package/dist/cjs/sqm-referral-table-user-column.cjs.entry.js +2 -2
  35. package/dist/cjs/sqm-share-code.cjs.entry.js +3 -3
  36. package/dist/cjs/{useDemoBigStat-d7a60992.js → useDemoBigStat-2786227e.js} +121 -24
  37. package/dist/collection/collection-manifest.json +7 -3
  38. package/dist/collection/{stories → components/sqm-asset-card}/AssetCard.stories.js +2 -2
  39. package/dist/collection/{stories → components/sqm-big-stat}/BigStat.stories.js +10 -3
  40. package/dist/collection/{stories → components/sqm-big-stat}/UseBigStat.stories.js +7 -4
  41. package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +1 -21
  42. package/dist/collection/components/sqm-big-stat/useBigStat.js +117 -21
  43. package/dist/collection/components/sqm-big-stat/useDemoBigStat.js +1 -0
  44. package/dist/collection/{stories → components/sqm-divided-layout}/DividedLayout.stories.js +4 -4
  45. package/dist/collection/{stories → components/sqm-edit-profile}/EditProfileForm.stories.js +2 -2
  46. package/dist/collection/{stories → components/sqm-edit-profile}/UseEditProfile.stories.js +1 -1
  47. package/dist/collection/{stories → components/sqm-form-message}/FormMessage.stories.js +1 -1
  48. package/dist/collection/{stories → components/sqm-hero}/Hero.stories.js +2 -2
  49. package/dist/collection/{stories → components/sqm-leaderboard}/Leaderboard.stories.js +2 -2
  50. package/dist/collection/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.js +3 -3
  51. package/dist/collection/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.js +2 -2
  52. package/dist/collection/{stories → components/sqm-name-fields}/NameFields.stories.js +2 -2
  53. package/dist/collection/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.js +3 -3
  54. package/dist/collection/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.js +2 -2
  55. package/dist/collection/{stories → components/sqm-password-field}/PasswordField.stories.js +1 -1
  56. package/dist/collection/{stories → components/sqm-portal-change-password}/ChangePassword.stories.js +3 -3
  57. package/dist/collection/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.js +3 -3
  58. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +0 -27
  59. package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +1 -2
  60. package/dist/collection/{stories → components/sqm-portal-footer}/PortalFooter.stories.js +2 -2
  61. package/dist/collection/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.js +3 -7
  62. package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +3 -55
  63. package/dist/collection/components/sqm-portal-forgot-password/usePortalForgotPassword.js +2 -4
  64. package/dist/collection/{stories → components/sqm-portal-frame}/PortalFrame.stories.js +2 -2
  65. package/dist/collection/{stories → components/sqm-portal-login}/PortalLogin.stories.js +2 -8
  66. package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +4 -59
  67. package/dist/collection/components/sqm-portal-login/usePortalLogin.js +2 -4
  68. package/dist/collection/{stories → components/sqm-portal-profile}/PortalProfile.stories.js +2 -2
  69. package/dist/collection/{stories → components/sqm-portal-register}/PortalRegister.stories.js +2 -7
  70. package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +2 -55
  71. package/dist/collection/components/sqm-portal-register/usePortalRegister.js +0 -3
  72. package/dist/collection/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.js +3 -3
  73. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +1 -30
  74. package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +1 -1
  75. package/dist/collection/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.js +3 -3
  76. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +1 -30
  77. package/dist/collection/components/sqm-portal-verify-email/usePortalVerifyEmail.js +2 -2
  78. package/dist/collection/{stories → components/sqm-program-menu}/ProgramMenu.stories.js +2 -2
  79. package/dist/collection/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.js +2 -2
  80. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTable.stories.js +2 -2
  81. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableCell.stories.js +1 -1
  82. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.js +1 -1
  83. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-column.js +1 -1
  84. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-date-column.js +1 -1
  85. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.js +1 -1
  86. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-status-column.js +1 -1
  87. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-user-column.js +1 -1
  88. package/dist/collection/components/sqm-referral-table/useReferralTable.js +2 -2
  89. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeList.stories.js +20 -0
  90. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +228 -0
  91. package/dist/collection/components/sqm-reward-exchange-list/SVGs.js +24 -0
  92. package/dist/collection/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.js +143 -0
  93. package/dist/collection/components/sqm-reward-exchange-list/assets/Reward-icon.png +0 -0
  94. package/dist/collection/components/sqm-reward-exchange-list/assets/placeholder.png +0 -0
  95. package/dist/collection/components/sqm-reward-exchange-list/progressBar.js +64 -0
  96. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +467 -0
  97. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +144 -0
  98. package/dist/collection/components/sqm-reward-exchange-list/useRewardExchangeList.js +174 -0
  99. package/dist/collection/components/sqm-rewards-table/UseRewardsTable.stories.js +53 -0
  100. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table-column.js +120 -0
  101. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +222 -0
  102. package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +190 -0
  103. package/dist/collection/{stories → components/sqm-router}/Router.stories.js +1 -1
  104. package/dist/collection/{stories → components/sqm-share-button}/ShareButton.stories.js +2 -2
  105. package/dist/collection/{stories → components/sqm-share-button}/UseShareButton.stories.js +2 -2
  106. package/dist/collection/components/sqm-share-button/sqm-share-button.js +1 -1
  107. package/dist/collection/{stories → components/sqm-share-link}/ShareLink.stories.js +2 -2
  108. package/dist/collection/{stories → components/sqm-share-link}/UseShareLink.stories.js +3 -3
  109. package/dist/collection/components/sqm-stencilbook/AutoColor.js +26 -0
  110. package/dist/collection/components/sqm-stencilbook/CucumberAddon.js +3 -1
  111. package/dist/collection/components/sqm-stencilbook/Matrix.js +66 -0
  112. package/dist/collection/components/sqm-stencilbook/Resizer.js +26 -0
  113. package/dist/collection/components/sqm-stencilbook/Themes.js +38 -0
  114. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +87 -38
  115. package/dist/collection/components/sqm-task-card/SVGs.js +14 -0
  116. package/dist/collection/components/sqm-task-card/TaskCard.stories.js +416 -0
  117. package/dist/collection/components/sqm-task-card/UseTaskCard.stories.js +41 -0
  118. package/dist/collection/components/sqm-task-card/progress-bar/SVGs.js +8 -0
  119. package/dist/collection/components/sqm-task-card/progress-bar/progress-bar-view.js +333 -0
  120. package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +238 -0
  121. package/dist/collection/components/sqm-task-card/sqm-task-card.js +444 -0
  122. package/dist/collection/{stories → components/sqm-user-name}/UserName.stories.js +3 -3
  123. package/dist/collection/components/sqm-user-name/sqm-user-name.js +1 -1
  124. package/dist/collection/global/styles.js +281 -69
  125. package/dist/collection/global/styles.ts +281 -69
  126. package/dist/collection/stories/NewPortal.stories.js +15 -15
  127. package/dist/collection/tables/GenericTableView.js +51 -0
  128. package/dist/collection/tables/TableSlots.js +22 -0
  129. package/dist/collection/{components/sqm-referral-table → tables}/re-render.js +0 -0
  130. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-cell.js +0 -0
  131. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-row.js +0 -0
  132. package/dist/collection/{components/sqm-referral-table → tables}/useChildElements.js +0 -0
  133. package/dist/esm/{ShadowViewAddon-5f66de48.js → ShadowViewAddon-a3f510db.js} +3 -3
  134. package/dist/esm/{global-0fcfbedf.js → global-90da933f.js} +283 -71
  135. package/dist/esm/{index.module-1e92a7a3.js → index.module-90d2c3ad.js} +2 -2
  136. package/dist/esm/loader.js +3 -3
  137. package/dist/esm/mint-components.js +3 -3
  138. package/dist/esm/{re-render-b8468637.js → re-render-e06f2f7f.js} +4 -4
  139. package/dist/esm/sqm-asset-card.entry.js +1 -1
  140. package/dist/esm/sqm-big-stat.entry.js +2 -2
  141. package/dist/esm/{sqm-divided-layout_26.entry.js → sqm-divided-layout_30.entry.js} +9442 -3385
  142. package/dist/esm/sqm-graphql-client-provider.entry.js +4 -4
  143. package/dist/esm/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-47844836.js} +2 -2
  144. package/dist/esm/sqm-leaderboard-rank.entry.js +5 -5
  145. package/dist/esm/sqm-leaderboard.entry.js +2 -2
  146. package/dist/esm/sqm-name-fields.entry.js +1 -1
  147. package/dist/esm/{sqm-navigation-sidebar-item-view-a48bca9b.js → sqm-navigation-sidebar-item-view-f2304ad9.js} +2 -2
  148. package/dist/esm/sqm-navigation-sidebar-item.entry.js +3 -3
  149. package/dist/esm/sqm-popup-container.entry.js +1 -1
  150. package/dist/esm/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-8cefe480.js} +1 -1
  151. package/dist/esm/sqm-portal-email-verification.entry.js +6 -13
  152. package/dist/esm/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-d9fe0bf8.js} +1 -1
  153. package/dist/esm/sqm-portal-footer.entry.js +3 -3
  154. package/dist/esm/sqm-portal-forgot-password.entry.js +6 -18
  155. package/dist/esm/sqm-portal-logout.entry.js +3 -3
  156. package/dist/esm/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-b67467b4.js} +1 -1
  157. package/dist/esm/sqm-portal-profile.entry.js +6 -6
  158. package/dist/esm/sqm-portal-protected-route.entry.js +5 -5
  159. package/dist/esm/sqm-portal-reset-password.entry.js +8 -16
  160. package/dist/esm/sqm-portal-verify-email.entry.js +7 -15
  161. package/dist/esm/sqm-referral-table-column.entry.js +2 -2
  162. package/dist/esm/sqm-referral-table-date-column.entry.js +2 -2
  163. package/dist/esm/sqm-referral-table-rewards-column.entry.js +2 -2
  164. package/dist/esm/sqm-referral-table-status-column.entry.js +2 -2
  165. package/dist/esm/sqm-referral-table-user-column.entry.js +2 -2
  166. package/dist/esm/sqm-share-code.entry.js +3 -3
  167. package/dist/esm/{useDemoBigStat-5557504e.js → useDemoBigStat-c3b955b7.js} +121 -24
  168. package/dist/esm-es5/ShadowViewAddon-a3f510db.js +1 -0
  169. package/dist/esm-es5/{global-0fcfbedf.js → global-90da933f.js} +2 -2
  170. package/dist/esm-es5/{index.module-1e92a7a3.js → index.module-90d2c3ad.js} +1 -1
  171. package/dist/esm-es5/loader.js +1 -1
  172. package/dist/esm-es5/mint-components.js +1 -1
  173. package/dist/esm-es5/{re-render-b8468637.js → re-render-e06f2f7f.js} +1 -1
  174. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  175. package/dist/esm-es5/sqm-big-stat.entry.js +1 -1
  176. package/dist/esm-es5/sqm-divided-layout_30.entry.js +58 -0
  177. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  178. package/dist/esm-es5/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-47844836.js} +1 -1
  179. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  180. package/dist/esm-es5/sqm-leaderboard.entry.js +1 -1
  181. package/dist/esm-es5/sqm-name-fields.entry.js +1 -1
  182. package/dist/esm-es5/sqm-navigation-sidebar-item-view-f2304ad9.js +1 -0
  183. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  184. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  185. package/dist/esm-es5/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-8cefe480.js} +1 -1
  186. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  187. package/dist/esm-es5/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-d9fe0bf8.js} +1 -1
  188. package/dist/esm-es5/sqm-portal-footer.entry.js +1 -1
  189. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  190. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  191. package/dist/esm-es5/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-b67467b4.js} +1 -1
  192. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  193. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  194. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  195. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  196. package/dist/esm-es5/sqm-referral-table-column.entry.js +1 -1
  197. package/dist/esm-es5/sqm-referral-table-date-column.entry.js +1 -1
  198. package/dist/esm-es5/sqm-referral-table-rewards-column.entry.js +1 -1
  199. package/dist/esm-es5/sqm-referral-table-status-column.entry.js +1 -1
  200. package/dist/esm-es5/sqm-referral-table-user-column.entry.js +1 -1
  201. package/dist/esm-es5/sqm-share-code.entry.js +1 -1
  202. package/dist/esm-es5/useDemoBigStat-c3b955b7.js +1 -0
  203. package/dist/mint-components/assets/Reward-icon.png +0 -0
  204. package/dist/mint-components/assets/placeholder.png +0 -0
  205. package/dist/mint-components/global/styles.ts +281 -69
  206. package/dist/mint-components/mint-components.css +1 -0
  207. package/dist/mint-components/mint-components.esm.js +1 -1
  208. package/dist/mint-components/mint-components.js +1 -1
  209. package/dist/mint-components/{p-602180a2.system.js → p-07c924fa.system.js} +1 -1
  210. package/dist/mint-components/{p-51cfdd14.js → p-0eb3e89c.js} +1 -1
  211. package/dist/mint-components/p-160bd62f.entry.js +1 -0
  212. package/dist/mint-components/p-16f5a7cb.system.js +1 -0
  213. package/dist/mint-components/{p-6156a7ac.system.entry.js → p-1a09e4e1.system.entry.js} +1 -1
  214. package/dist/mint-components/p-1c8b0290.entry.js +1 -0
  215. package/dist/mint-components/p-1dcdca58.system.entry.js +1 -0
  216. package/dist/mint-components/p-20d41ab1.entry.js +1 -0
  217. package/dist/mint-components/{p-965e34ab.entry.js → p-221a4097.entry.js} +1 -1
  218. package/dist/mint-components/{p-9a3a0db5.system.entry.js → p-223b42bd.system.entry.js} +1 -1
  219. package/dist/mint-components/{p-af1f8bd3.js → p-224504ad.js} +1 -1
  220. package/dist/mint-components/{p-3772bae2.system.entry.js → p-24b3c6f0.system.entry.js} +1 -1
  221. package/dist/mint-components/{p-b3880833.system.entry.js → p-24c9a599.system.entry.js} +1 -1
  222. package/dist/mint-components/{p-6cb81b77.entry.js → p-29fab29b.entry.js} +1 -1
  223. package/dist/mint-components/{p-8bfebd45.system.entry.js → p-304e6c82.system.entry.js} +1 -1
  224. package/dist/mint-components/{p-05a2640d.entry.js → p-3397167c.entry.js} +1 -1
  225. package/dist/mint-components/p-33c5ffb7.entry.js +1 -0
  226. package/dist/mint-components/{p-f16bae7a.system.entry.js → p-396bf448.system.entry.js} +1 -1
  227. package/dist/mint-components/p-3b97aed8.system.js +1 -0
  228. package/dist/mint-components/{p-3e3dad7a.system.js → p-3ce2fb83.system.js} +1 -1
  229. package/dist/mint-components/{p-10a98629.entry.js → p-3d856985.entry.js} +1 -1
  230. package/dist/mint-components/{p-2f333f89.system.entry.js → p-4052b948.system.entry.js} +1 -1
  231. package/dist/mint-components/{p-70ca623f.system.entry.js → p-412a9226.system.entry.js} +1 -1
  232. package/dist/mint-components/{p-9ff0425e.system.entry.js → p-44d0fc80.system.entry.js} +1 -1
  233. package/dist/mint-components/{p-528aecd1.entry.js → p-45c752a0.entry.js} +1 -1
  234. package/dist/mint-components/{p-d0cad85c.js → p-46a4269a.js} +2 -2
  235. package/dist/mint-components/{p-d55abc13.entry.js → p-52802c88.entry.js} +2 -2
  236. package/dist/mint-components/{p-86b66e5c.entry.js → p-5480e4ee.entry.js} +1 -1
  237. package/dist/mint-components/p-55508395.system.entry.js +1 -0
  238. package/dist/mint-components/{p-eddcf481.js → p-563253e8.js} +1 -1
  239. package/dist/mint-components/p-60855d33.system.js +1 -0
  240. package/dist/mint-components/{p-036c5a7e.system.entry.js → p-67ae18d1.system.entry.js} +1 -1
  241. package/dist/mint-components/{p-7d996b49.js → p-6882070c.js} +1 -1
  242. package/dist/mint-components/{p-09afaaac.system.entry.js → p-69bcf4fa.system.entry.js} +1 -1
  243. package/dist/mint-components/p-6bf0a4d9.system.entry.js +1 -0
  244. package/dist/mint-components/{p-624c5352.system.entry.js → p-6e245fa3.system.entry.js} +1 -1
  245. package/dist/mint-components/{p-05a86906.entry.js → p-723ebe45.entry.js} +2 -2
  246. package/dist/mint-components/{p-9ff118a2.system.entry.js → p-73148868.system.entry.js} +1 -1
  247. package/dist/mint-components/{p-b3cddcca.entry.js → p-8435a22d.entry.js} +1 -1
  248. package/dist/mint-components/p-883a32e7.entry.js +1 -0
  249. package/dist/mint-components/p-925ccb31.system.entry.js +58 -0
  250. package/dist/mint-components/p-9c554ca0.system.js +1 -0
  251. package/dist/mint-components/{p-743882c6.entry.js → p-9d6dbb2d.entry.js} +1 -1
  252. package/dist/mint-components/p-9e4fee30.system.entry.js +1 -0
  253. package/dist/mint-components/p-a2c3cff3.js +1 -0
  254. package/dist/mint-components/p-a4c2c7ed.entry.js +1 -0
  255. package/dist/mint-components/{p-3452bdae.system.js → p-a6094ff9.system.js} +1 -1
  256. package/dist/mint-components/p-ade44a4e.entry.js +1 -0
  257. package/dist/mint-components/{p-e50839df.entry.js → p-b1bb07db.entry.js} +1 -1
  258. package/dist/mint-components/{p-18aa175f.system.js → p-b608f7a4.system.js} +2 -2
  259. package/dist/mint-components/p-b8bd2607.entry.js +1 -0
  260. package/dist/mint-components/{p-337a3d6b.system.entry.js → p-be2738b0.system.entry.js} +1 -1
  261. package/dist/mint-components/{p-27e23808.system.js → p-c6114bfe.system.js} +1 -1
  262. package/dist/mint-components/{p-4068e47c.system.entry.js → p-c79c608d.system.entry.js} +1 -1
  263. package/dist/mint-components/p-cca9026f.system.entry.js +1 -0
  264. package/dist/mint-components/p-cd410a05.entry.js +9 -0
  265. package/dist/mint-components/{p-55210498.system.js → p-cdeae699.system.js} +1 -1
  266. package/dist/mint-components/p-d174d0bc.system.entry.js +1 -0
  267. package/dist/mint-components/{p-c84a5b33.js → p-d21e0dbd.js} +1 -1
  268. package/dist/mint-components/{p-af2d886e.js → p-d35b0366.js} +1 -1
  269. package/dist/mint-components/{p-d513229d.js → p-db2e4c42.js} +1 -1
  270. package/dist/mint-components/{p-991bd182.system.entry.js → p-dc603d08.system.entry.js} +1 -1
  271. package/dist/mint-components/{p-64759dda.system.js → p-e7f633b9.system.js} +1 -1
  272. package/dist/mint-components/{p-13605359.entry.js → p-f17050de.entry.js} +1 -1
  273. package/dist/mint-components/p-f90486ca.js +235 -0
  274. package/dist/mint-components/{p-cffc23c0.entry.js → p-fce1dbf6.entry.js} +1 -1
  275. package/dist/mint-components/p-fdb484a0.entry.js +392 -0
  276. package/dist/types/{stories → components/sqm-asset-card}/AssetCard.stories.d.ts +0 -0
  277. package/dist/types/{stories → components/sqm-big-stat}/BigStat.stories.d.ts +0 -0
  278. package/dist/types/{stories → components/sqm-big-stat}/UseBigStat.stories.d.ts +6 -0
  279. package/dist/types/components/sqm-big-stat/sqm-big-stat-view.d.ts +1 -0
  280. package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +0 -6
  281. package/dist/types/components/sqm-big-stat/useBigStat.d.ts +4 -1
  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/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +0 -6
  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/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.d.ts +0 -1
  300. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +0 -10
  301. package/dist/types/components/sqm-portal-forgot-password/usePortalForgotPassword.d.ts +1 -3
  302. package/dist/types/{stories → components/sqm-portal-frame}/PortalFrame.stories.d.ts +0 -0
  303. package/dist/types/{stories → components/sqm-portal-login}/PortalLogin.stories.d.ts +0 -0
  304. package/dist/types/components/sqm-portal-login/sqm-portal-login-view.d.ts +0 -2
  305. package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +0 -8
  306. package/dist/types/components/sqm-portal-login/usePortalLogin.d.ts +3 -3
  307. package/dist/types/{stories → components/sqm-portal-profile}/PortalProfile.stories.d.ts +0 -0
  308. package/dist/types/{stories → components/sqm-portal-register}/PortalRegister.stories.d.ts +0 -0
  309. package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +0 -1
  310. package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +0 -10
  311. package/dist/types/components/sqm-portal-register/usePortalRegister.d.ts +0 -1
  312. package/dist/types/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.d.ts +0 -0
  313. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +0 -8
  314. package/dist/types/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.d.ts +0 -0
  315. package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +0 -8
  316. package/dist/types/components/sqm-portal-verify-email/usePortalVerifyEmail.d.ts +1 -2
  317. package/dist/types/{stories → components/sqm-program-menu}/ProgramMenu.stories.d.ts +0 -0
  318. package/dist/types/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.d.ts +0 -0
  319. package/dist/types/{stories → components/sqm-referral-table}/ReferralTable.stories.d.ts +0 -0
  320. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableCell.stories.d.ts +0 -0
  321. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.d.ts +0 -0
  322. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeList.stories.d.ts +13 -0
  323. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +234 -0
  324. package/dist/types/components/sqm-reward-exchange-list/SVGs.d.ts +4 -0
  325. package/dist/types/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.d.ts +28 -0
  326. package/dist/types/components/sqm-reward-exchange-list/progressBar.d.ts +4 -0
  327. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.d.ts +25 -0
  328. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +24 -0
  329. package/dist/types/components/sqm-reward-exchange-list/useRewardExchangeList.d.ts +43 -0
  330. package/dist/types/components/sqm-rewards-table/UseRewardsTable.stories.d.ts +16 -0
  331. package/dist/types/components/sqm-rewards-table/sqm-rewards-table-column.d.ts +20 -0
  332. package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +32 -0
  333. package/dist/types/components/sqm-rewards-table/useRewardsTable.d.ts +38 -0
  334. package/dist/types/{stories → components/sqm-router}/Router.stories.d.ts +0 -0
  335. package/dist/types/{stories → components/sqm-share-button}/ShareButton.stories.d.ts +0 -0
  336. package/dist/types/{stories → components/sqm-share-button}/UseShareButton.stories.d.ts +0 -0
  337. package/dist/types/{stories → components/sqm-share-link}/ShareLink.stories.d.ts +0 -0
  338. package/dist/types/{stories → components/sqm-share-link}/UseShareLink.stories.d.ts +0 -0
  339. package/dist/types/components/sqm-stencilbook/AutoColor.d.ts +1 -0
  340. package/dist/types/components/sqm-stencilbook/Matrix.d.ts +11 -0
  341. package/dist/types/components/sqm-stencilbook/Resizer.d.ts +3 -0
  342. package/dist/types/components/sqm-stencilbook/Themes.d.ts +16 -0
  343. package/dist/types/components/sqm-task-card/SVGs.d.ts +3 -0
  344. package/dist/types/components/sqm-task-card/TaskCard.stories.d.ts +19 -0
  345. package/dist/types/components/sqm-task-card/UseTaskCard.stories.d.ts +10 -0
  346. package/dist/types/components/sqm-task-card/progress-bar/SVGs.d.ts +1 -0
  347. package/dist/types/components/sqm-task-card/progress-bar/progress-bar-view.d.ts +12 -0
  348. package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +18 -0
  349. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +80 -0
  350. package/dist/types/components/sqm-user-name/UserName.stories.d.ts +6 -0
  351. package/dist/types/components/sqm-user-name/sqm-user-name.d.ts +1 -1
  352. package/dist/types/components.d.ts +297 -96
  353. package/dist/types/global/styles.d.ts +1 -1
  354. package/dist/types/tables/GenericTableView.d.ts +29 -0
  355. package/dist/types/tables/TableSlots.d.ts +8 -0
  356. package/dist/types/{components/sqm-referral-table → tables}/re-render.d.ts +0 -0
  357. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-cell.d.ts +0 -0
  358. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-row.d.ts +0 -0
  359. package/dist/types/{components/sqm-referral-table → tables}/useChildElements.d.ts +0 -0
  360. package/grapesjs/grapesjs.js +1 -1
  361. package/package.json +4 -2
  362. package/dist/esm-es5/ShadowViewAddon-5f66de48.js +0 -1
  363. package/dist/esm-es5/sqm-divided-layout_26.entry.js +0 -1
  364. package/dist/esm-es5/sqm-navigation-sidebar-item-view-a48bca9b.js +0 -1
  365. package/dist/esm-es5/useDemoBigStat-5557504e.js +0 -1
  366. package/dist/mint-components/p-112d42ab.system.entry.js +0 -1
  367. package/dist/mint-components/p-192539d2.entry.js +0 -1
  368. package/dist/mint-components/p-4b6c316d.entry.js +0 -1
  369. package/dist/mint-components/p-54707082.system.js +0 -1
  370. package/dist/mint-components/p-5c89c2ec.entry.js +0 -230
  371. package/dist/mint-components/p-5fcd8687.entry.js +0 -1
  372. package/dist/mint-components/p-606506d6.system.entry.js +0 -1
  373. package/dist/mint-components/p-6305419f.entry.js +0 -1
  374. package/dist/mint-components/p-6815e7ba.entry.js +0 -1
  375. package/dist/mint-components/p-6ad110d3.js +0 -1
  376. package/dist/mint-components/p-756a5e6f.system.js +0 -1
  377. package/dist/mint-components/p-768b9014.system.entry.js +0 -1
  378. package/dist/mint-components/p-7cf335a0.entry.js +0 -1
  379. package/dist/mint-components/p-942723ad.entry.js +0 -1
  380. package/dist/mint-components/p-a646db48.system.entry.js +0 -1
  381. package/dist/mint-components/p-b63744fe.js +0 -227
  382. package/dist/mint-components/p-c47b83c3.entry.js +0 -1
  383. package/dist/mint-components/p-c5c029b8.system.js +0 -1
  384. package/dist/mint-components/p-c90978f4.system.entry.js +0 -1
  385. package/dist/mint-components/p-ced568fc.system.entry.js +0 -1
  386. package/dist/mint-components/p-d1cea1b1.system.js +0 -1
  387. package/dist/mint-components/p-d3171b36.system.entry.js +0 -1
  388. package/dist/mint-components/p-de3311bf.entry.js +0 -9
  389. package/dist/types/stories/UserName.stories.d.ts +0 -6
@@ -0,0 +1,190 @@
1
+ import { usePaginatedQuery, useProgramId, useUserIdentity, } from "@saasquatch/component-boilerplate";
2
+ import { useEffect, useReducer } from "@saasquatch/universal-hooks";
3
+ import { h } from "@stencil/core";
4
+ import gql from "graphql-tag";
5
+ import { useRerenderListener } from "../../tables/re-render";
6
+ import { useChildElements } from "../../tables/useChildElements";
7
+ export const CSS_NAMESPACE = "sqm-rewards-table";
8
+ const GET_REWARDS = gql `
9
+ query getRewards(
10
+ $limit: Int!
11
+ $offset: Int!
12
+ $rewardFilter: RewardFilterInput
13
+ ) {
14
+ viewer {
15
+ ... on User {
16
+ id
17
+ rewards(limit: $limit, offset: $offset, filter: $rewardFilter) {
18
+ totalCount
19
+ count
20
+ data {
21
+ id
22
+ type
23
+ value
24
+ unit
25
+ name
26
+ dateGiven
27
+ dateExpires
28
+ dateCancelled
29
+ dateRedeemed
30
+ dateScheduledFor
31
+ fuelTankCode
32
+ fuelTankType
33
+ currency
34
+ prettyValue
35
+ statuses
36
+ globalRewardKey
37
+ programRewardKey
38
+ rewardRedemptionTransactions {
39
+ data {
40
+ exchangedRewards {
41
+ data {
42
+ prettyValue
43
+ type
44
+ fuelTankCode
45
+ globalRewardKey
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ `;
56
+ export function useRewardsTable(props, emptyElement, loadingElement) {
57
+ var _a, _b;
58
+ const user = useUserIdentity();
59
+ const programIdContext = useProgramId();
60
+ // Default to context, overriden by props
61
+ const programId = (_a = props.programId) !== null && _a !== void 0 ? _a : programIdContext;
62
+ const rewardFilter = {
63
+ userId_eq: user === null || user === void 0 ? void 0 : user.id,
64
+ accountId_eq: user === null || user === void 0 ? void 0 : user.accountId,
65
+ // If no program ID, shows all programs
66
+ ...(programId
67
+ ? programId === "classic"
68
+ ? { programId_exists: false }
69
+ : { programId_eq: programId }
70
+ : {}),
71
+ };
72
+ const [content, setContent] = useReducer((state, next) => ({
73
+ ...state,
74
+ ...next,
75
+ }), {
76
+ columns: [],
77
+ rows: [],
78
+ loading: false,
79
+ page: 0,
80
+ });
81
+ const { envelope: rewardsData, states, callbacks, } = usePaginatedQuery(GET_REWARDS, (data) => { var _a; return (_a = data === null || data === void 0 ? void 0 : data.viewer) === null || _a === void 0 ? void 0 : _a.rewards; }, {
82
+ limit: props.perPage,
83
+ offset: 0,
84
+ }, {
85
+ rewardFilter,
86
+ }, !(user === null || user === void 0 ? void 0 : user.jwt));
87
+ const tick = useRerenderListener();
88
+ const components = useChildElements();
89
+ const data = rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.data;
90
+ async function getComponentData(components) {
91
+ // filter out loading and empty states from columns array
92
+ const columnComponents = components.filter((component) => component.slot !== "loading" && component.slot !== "empty");
93
+ // get the column titles (renderLabel is asynchronous)
94
+ const columnsPromise = columnComponents === null || columnComponents === void 0 ? void 0 : columnComponents.map(async (c) => tryMethod(c, () => c.renderLabel()));
95
+ // get the column cells (renderCell is asynchronous)
96
+ const cellsPromise = data === null || data === void 0 ? void 0 : data.map(async (r) => {
97
+ const cellPromise = columnComponents === null || columnComponents === void 0 ? void 0 : columnComponents.map(async (c) => tryMethod(c, () => c.renderCell([r], c)));
98
+ const cells = await Promise.all(cellPromise);
99
+ return cells;
100
+ });
101
+ const rows = cellsPromise && (await Promise.all(cellsPromise)).filter((i) => i);
102
+ setContent({ rows });
103
+ const columns = columnsPromise && (await Promise.all(columnsPromise));
104
+ // Set the content to render and finish loading components
105
+ setContent({ columns, loading: false, page: states.currentPage });
106
+ }
107
+ useEffect(() => {
108
+ setContent({ loading: true });
109
+ rewardsData && getComponentData(components);
110
+ }, [rewardsData, components, tick]);
111
+ const isEmpty = !((_b = content === null || content === void 0 ? void 0 : content.rows) === null || _b === void 0 ? void 0 : _b.length) && !(data === null || data === void 0 ? void 0 : data.length);
112
+ console.log(states.loading, content.loading, rewardsData);
113
+ const show =
114
+ // 1 - Loading if loading
115
+ states.loading || content.loading
116
+ ? "loading"
117
+ : // 2 - Empty if empty
118
+ isEmpty
119
+ ? "empty"
120
+ : // 3 - Then show rows
121
+ "rows";
122
+ return {
123
+ states: {
124
+ hasNext: states.currentPage < states.pageCount - 1,
125
+ hasPrev: states.currentPage > 0,
126
+ show,
127
+ namespace: CSS_NAMESPACE,
128
+ },
129
+ data: {
130
+ textOverrides: {
131
+ showLabels: props.showLabels,
132
+ prevLabel: props.prevLabel,
133
+ moreLabel: props.moreLabel,
134
+ },
135
+ },
136
+ elements: {
137
+ columns: content.columns,
138
+ rows: content.rows,
139
+ emptyElement,
140
+ loadingElement,
141
+ },
142
+ callbacks: {
143
+ nextPage: () => {
144
+ callbacks.setCurrentPage(states.currentPage + 1);
145
+ },
146
+ prevPage: () => {
147
+ callbacks.setCurrentPage(states.currentPage - 1);
148
+ },
149
+ },
150
+ };
151
+ }
152
+ function generateUserError(e) {
153
+ try {
154
+ return JSON.stringify(e);
155
+ }
156
+ catch (e) {
157
+ return "An unknown error";
158
+ }
159
+ }
160
+ async function tryMethod(c, callback) {
161
+ const tag = c.tagName.toLowerCase();
162
+ await customElements.whenDefined(tag);
163
+ let labelPromise;
164
+ try {
165
+ labelPromise = callback();
166
+ }
167
+ catch (e) {
168
+ // renderLabel did not return a promise, so this method probably doesn't exist
169
+ // therefore, we IGNORE the label
170
+ if (callback.name === "renderReferrerCell") {
171
+ console.error("column does not have a renderReferrerCell method.");
172
+ }
173
+ else {
174
+ console.error("label promise failed", e);
175
+ }
176
+ return h("span", null);
177
+ }
178
+ try {
179
+ return await labelPromise;
180
+ }
181
+ catch (e) {
182
+ // The column returned a promise, and that promise failed.
183
+ // This should not happen so we fail fast
184
+ console.error("Error rendering label", e);
185
+ const userError = generateUserError(e);
186
+ return (h("details", null,
187
+ h("summary", null, "Error"),
188
+ userError));
189
+ }
190
+ }
@@ -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
  };
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
- import { ShareButtonView } from "../components/sqm-share-button/sqm-share-button-view";
2
+ import { ShareButtonView } from "./sqm-share-button-view";
3
3
  export default {
4
- title: "Share Button",
4
+ title: "Components/Share Button",
5
5
  };
6
6
  export const WithIcon = () => {
7
7
  const props = { medium: "facebook", iconslot: "suffix" };
@@ -1,8 +1,8 @@
1
1
  import { setUserIdentity } from "@saasquatch/component-boilerplate";
2
2
  import { useEffect } from "@saasquatch/universal-hooks";
3
3
  import { h } from "@stencil/core";
4
- import { useShareButton } from "../components/sqm-share-button/useShareButton";
5
- import { createHookStory } from "../components/sqm-stencilbook/HookStoryAddon";
4
+ import { useShareButton } from "./useShareButton";
5
+ import { createHookStory } from "../sqm-stencilbook/HookStoryAddon";
6
6
  export default {
7
7
  title: "Hooks / useShareButton",
8
8
  };
@@ -334,7 +334,7 @@ export class ShareButton {
334
334
  "mutable": false,
335
335
  "complexType": {
336
336
  "original": "DemoData<ShareButtonViewProps>",
337
- "resolved": "{ medium?: \"facebook\" | \"twitter\" | \"email\" | \"direct\" | \"linkedin\" | \"sms\" | \"fbmessenger\" | \"whatsapp\" | \"linemessenger\" | \"pinterest\" | \"reminder\" | \"unknown\"; loading?: boolean; disabled?: boolean; pill?: boolean; type?: \"text\" | \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"default\"; size?: \"small\" | \"medium\" | \"large\"; icon?: string; hideicon?: boolean; hidetext?: boolean; iconslot?: \"prefix\" | \"suffix\"; onClick?: () => void; hide?: boolean; }",
337
+ "resolved": "{ loading?: boolean; medium?: \"facebook\" | \"twitter\" | \"email\" | \"direct\" | \"linkedin\" | \"sms\" | \"fbmessenger\" | \"whatsapp\" | \"linemessenger\" | \"pinterest\" | \"reminder\" | \"unknown\"; disabled?: boolean; pill?: boolean; type?: \"text\" | \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"default\"; size?: \"small\" | \"medium\" | \"large\"; icon?: string; hideicon?: boolean; hidetext?: boolean; iconslot?: \"prefix\" | \"suffix\"; onClick?: () => void; hide?: boolean; }",
338
338
  "references": {
339
339
  "DemoData": {
340
340
  "location": "import",
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
- import { ShareLinkView } from "../components/sqm-share-link/sqm-share-link-view";
2
+ import { ShareLinkView } from "./sqm-share-link-view";
3
3
  export default {
4
- title: "Share Link",
4
+ title: "Components/Share Link",
5
5
  };
6
6
  export const Default = () => {
7
7
  const props = {
@@ -1,9 +1,9 @@
1
1
  import { setUserIdentity } from "@saasquatch/component-boilerplate";
2
2
  import { useEffect } from "@saasquatch/universal-hooks";
3
3
  import { h } from "@stencil/core";
4
- import { ShareLinkView } from "../components/sqm-share-link/sqm-share-link-view";
5
- import { useShareLink } from "../components/sqm-share-link/useShareLink";
6
- import { createHookStory } from "../components/sqm-stencilbook/HookStoryAddon";
4
+ import { ShareLinkView } from "./sqm-share-link-view";
5
+ import { useShareLink } from "./useShareLink";
6
+ import { createHookStory } from "../sqm-stencilbook/HookStoryAddon";
7
7
  export default {
8
8
  title: "Hooks / useShareLink",
9
9
  };
@@ -0,0 +1,26 @@
1
+ import chroma from "chroma-js";
2
+ export function autoColorScaleCss(color, name = "primary") {
3
+ if (!chroma.valid(color)) {
4
+ return;
5
+ }
6
+ const colorScale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
7
+ const hex = chroma(color).hex();
8
+ const scale = chroma
9
+ .scale([
10
+ chroma(hex).luminance(0.95),
11
+ chroma(hex).luminance(0.84),
12
+ chroma(hex).luminance(0.73),
13
+ chroma(hex).luminance(0.62),
14
+ chroma(hex).luminance(0.49),
15
+ chroma(hex).luminance(0.35),
16
+ chroma(hex).luminance(0.23),
17
+ chroma(hex).luminance(0.15),
18
+ chroma(hex).luminance(0.1),
19
+ chroma(hex).luminance(0.05),
20
+ chroma(hex).luminance(0.02),
21
+ ])
22
+ .colors(colorScale.length);
23
+ return scale
24
+ .map((color, index) => `--sl-color-${name}-${colorScale[index]}: ${chroma(color).hex()};`)
25
+ .join("\n");
26
+ }
@@ -13,6 +13,8 @@ export const CucumberAddon = ({ story }, children) => {
13
13
  // No scenario or invalid. Ignoring.
14
14
  }
15
15
  return (h("div", null,
16
- result && h("pre", { innerHTML: result.value }),
16
+ h("details", null,
17
+ h("summary", null, "Specs"),
18
+ result && h("pre", { innerHTML: result.value })),
17
19
  children));
18
20
  };
@@ -0,0 +1,66 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * Displays a cartesian product of the input props
4
+ *
5
+ * @returns
6
+ */
7
+ export function MatrixStory({ matrix, props, Component, }) {
8
+ const propMatrix = Object.keys(matrix).map((propKey) => {
9
+ const propValues = matrix[propKey];
10
+ return propValues.map((val) => {
11
+ return {
12
+ [propKey]: val,
13
+ };
14
+ });
15
+ });
16
+ const combinations = cartesian(...propMatrix);
17
+ const propsCombinations = combinations.map((combo) => {
18
+ return combo.reduce((props, prop) => {
19
+ return {
20
+ ...props,
21
+ ...prop,
22
+ };
23
+ }, {});
24
+ });
25
+ return propsCombinations.map((combo) => {
26
+ const example = { ...props, ...combo };
27
+ return (h("div", null,
28
+ h(PropsTable, { values: example }),
29
+ h("hr", null),
30
+ " ",
31
+ h("br", null),
32
+ h(Component, Object.assign({}, example)),
33
+ h("br", null)));
34
+ });
35
+ }
36
+ function PropsTable({ values }) {
37
+ return (h("table", null,
38
+ h("tbody", null, Object.keys(values).map((key) => {
39
+ return (h("tr", null,
40
+ h("th", null, key),
41
+ h("td", null, JSON.stringify(values[key]))));
42
+ }))));
43
+ }
44
+ /**
45
+ * Source: https://stackoverflow.com/questions/15298912/javascript-generating-combinations-from-n-arrays-with-m-elements
46
+ *
47
+ * TODO: Could replace with a fork of https://www.npmjs.com/package/cartesian
48
+ *
49
+ * @param args - an array of arrays
50
+ * @returns combinations of the elements in those array
51
+ */
52
+ function cartesian(...args) {
53
+ var r = [], max = args.length - 1;
54
+ function helper(arr, i) {
55
+ for (var j = 0, l = args[i].length; j < l; j++) {
56
+ var a = arr.slice(0); // clone arr
57
+ a.push(args[i][j]);
58
+ if (i == max)
59
+ r.push(a);
60
+ else
61
+ helper(a, i + 1);
62
+ }
63
+ }
64
+ helper([], 0);
65
+ return r;
66
+ }
@@ -0,0 +1,26 @@
1
+ import { h } from "@stencil/core";
2
+ export const ResizerStylesheet = `
3
+
4
+ :root{
5
+ --checker-color-1: #ffffff00;
6
+ --checker-color-2: #ffffff00;
7
+ --checker-size: 7px;
8
+ --checker-gradient: linear-gradient(45deg, var(--checker-color-1) 25%, transparent 25%, transparent 75%, var(--checker-color-1) 75%);
9
+ }
10
+ .resizer{
11
+ resize: horizontal;
12
+ border: 2px dashed gray;
13
+ margin: -2px;
14
+ padding: 12px;
15
+ height: fit-content;
16
+ overflow: hidden;
17
+ }
18
+
19
+ .resizer{
20
+ background-color: var(--checker-color-2);
21
+ background-image: var(--checker-gradient), var(--checker-gradient);
22
+ background-position: 0 0, var(--checker-size) var(--checker-size);
23
+ background-size: calc(var(--checker-size) * 2) calc(var(--checker-size) * 2);
24
+ }
25
+ `;
26
+ export const Resizer = (_, children) => (h("div", { class: "resizer" }, children));
@@ -0,0 +1,38 @@
1
+ /**
2
+ *
3
+ * Themes
4
+ *
5
+ * Export only valid CSS. Those will be injected into style tags.
6
+ *
7
+ * Useful links:
8
+ * - https://brandcolors.net/
9
+ * - Shoelace color generator: https://codepen.io/claviska/full/QWveRgL
10
+ *
11
+ */
12
+ import { autoColorScaleCss } from "./AutoColor";
13
+ //
14
+ export const Default = `
15
+ // No CSS
16
+ `;
17
+ export const Orangey = `
18
+ :root{
19
+ ${autoColorScaleCss("orange")}
20
+ }
21
+ `;
22
+ export const Netflix = `
23
+ :root{
24
+ ${autoColorScaleCss("#e50914")}
25
+ }
26
+ `;
27
+ export const SaaSquatchCorporate = `
28
+ :root{
29
+ ${autoColorScaleCss("green")}
30
+ --sl-font-sans: Arial;
31
+ }
32
+ `;
33
+ export const NYTimes = `
34
+ :root{
35
+ ${autoColorScaleCss("black")}
36
+ --sl-font-sans: Georgia, 'Times New Roman', serif;
37
+ }
38
+ `;
@@ -1,48 +1,55 @@
1
1
  import { h, Component, Host, State } from "@stencil/core";
2
2
  import { useStencilbook } from "@saasquatch/stencilbook";
3
- import { withHooks } from "@saasquatch/stencil-hooks";
4
- import * as ShareButton from "../../stories/ShareButton.stories";
5
- import * as ShareLink from "../../stories/ShareLink.stories";
6
- import * as BigStat from "../../stories/BigStat.stories";
7
- import * as Leaderboard from "../../stories/Leaderboard.stories";
8
- import * as Router from "../../stories/Router.stories";
9
- import * as LeaderboardRank from "../../stories/LeaderboardRank.stories";
10
- import * as PortalFrame from "../../stories/PortalFrame.stories";
11
- import * as EditProfile from "../../stories/EditProfileForm.stories";
12
- import * as UseShareLink from "../../stories/UseShareLink.stories";
13
- import * as UseShareButton from "../../stories/UseShareButton.stories";
14
- import * as UseBigStat from "../../stories/UseBigStat.stories";
15
- import * as UseEditProfile from "../../stories/UseEditProfile.stories";
16
- import * as UseLeaderboard from "../../stories/UseLeaderboard.stories";
17
- import * as FormMessage from "../../stories/FormMessage.stories";
3
+ import { useState, withHooks } from "@saasquatch/stencil-hooks";
4
+ import * as ShareButton from "../sqm-share-button/ShareButton.stories";
5
+ import * as ShareLink from "../sqm-share-link/ShareLink.stories";
6
+ import * as BigStat from "../sqm-big-stat/BigStat.stories";
7
+ import * as Leaderboard from "../sqm-leaderboard/Leaderboard.stories";
8
+ import * as Router from "../sqm-router/Router.stories";
9
+ import * as LeaderboardRank from "../sqm-leaderboard-rank/LeaderboardRank.stories";
10
+ import * as PortalFrame from "../sqm-portal-frame/PortalFrame.stories";
11
+ import * as EditProfile from "../sqm-edit-profile/EditProfileForm.stories";
12
+ import * as UseShareLink from "../sqm-share-link/UseShareLink.stories";
13
+ import * as UseShareButton from "../sqm-share-button/UseShareButton.stories";
14
+ import * as UseBigStat from "../sqm-big-stat/UseBigStat.stories";
15
+ import * as UseEditProfile from "../sqm-edit-profile/UseEditProfile.stories";
16
+ import * as UseLeaderboard from "../sqm-leaderboard/UseLeaderboard.stories";
17
+ import * as FormMessage from "../sqm-form-message/FormMessage.stories";
18
+ import * as UseRewardExchangeList from "../sqm-reward-exchange-list/UseRewardExchangeList.stories";
19
+ import * as UseRewardsTable from "../sqm-rewards-table/UseRewardsTable.stories";
20
+ import * as UseTaskCard from "../sqm-task-card/UseTaskCard.stories";
18
21
  import * as NewPortal from "../../stories/NewPortal.stories";
19
- import * as SidebarItem from "../../stories/SidebarItem.stories";
20
- import * as NavigationSidebar from "../../stories/NavigationSidebar.stories";
21
- import * as PortalLogin from "../../stories/PortalLogin.stories";
22
- import * as PortalRegister from "../../stories/PortalRegister.stories";
23
- import * as PortalForgotPassword from "../../stories/PortalForgotPassword.stories";
24
- import * as PortalEmailVerification from "../../stories/PortalEmailVerification.stories";
25
- import * as PortalResetPassword from "../../stories/PortalResetPassword.stories";
26
- import * as PortalVerifyEmail from "../../stories/PortalVerifyEmail.stories";
27
- import * as AssetCard from "../../stories/AssetCard.stories";
28
- import * as DividedLayout from "../../stories/DividedLayout.stories";
29
- import * as ChangePassword from "../../stories/ChangePassword.stories";
30
- import * as PortalProfile from "../../stories/PortalProfile.stories";
31
- import * as ReferralTable from "../../stories/ReferralTable.stories";
32
- import * as ReferralTableCell from "../../stories/ReferralTableCell.stories";
33
- import * as ReferralTableRewardsCell from "../../stories/ReferralTableRewardsCell.stories";
34
- import * as UserName from "../../stories/UserName.stories";
35
- import * as PasswordField from "../../stories/PasswordField.stories";
22
+ import * as SidebarItem from "../sqm-navigation-sidebar-item/SidebarItem.stories";
23
+ import * as NavigationSidebar from "../sqm-navigation-sidebar/NavigationSidebar.stories";
24
+ import * as PortalLogin from "../sqm-portal-login/PortalLogin.stories";
25
+ import * as PortalRegister from "../sqm-portal-register/PortalRegister.stories";
26
+ import * as PortalForgotPassword from "../sqm-portal-forgot-password/PortalForgotPassword.stories";
27
+ import * as PortalEmailVerification from "../sqm-portal-email-verification/PortalEmailVerification.stories";
28
+ import * as PortalResetPassword from "../sqm-portal-reset-password/PortalResetPassword.stories";
29
+ import * as PortalVerifyEmail from "../sqm-portal-verify-email/PortalVerifyEmail.stories";
30
+ import * as AssetCard from "../sqm-asset-card/AssetCard.stories";
31
+ import * as DividedLayout from "../sqm-divided-layout/DividedLayout.stories";
32
+ import * as ChangePassword from "../sqm-portal-change-password/ChangePassword.stories";
33
+ import * as PortalProfile from "../sqm-portal-profile/PortalProfile.stories";
34
+ import * as ReferralTable from "../sqm-referral-table/ReferralTable.stories";
35
+ import * as ReferralTableCell from "../sqm-referral-table/ReferralTableCell.stories";
36
+ import * as ReferralTableRewardsCell from "../sqm-referral-table/ReferralTableRewardsCell.stories";
37
+ import * as UserName from "../sqm-user-name/UserName.stories";
38
+ import * as PasswordField from "../sqm-password-field/PasswordField.stories";
39
+ import * as TaskCard from "../sqm-task-card/TaskCard.stories";
36
40
  import * as PortalTemplates from "../../stories/PortalTemplates.stories";
37
- import * as ProgramMenu from "../../stories/ProgramMenu.stories";
41
+ import * as ProgramMenu from "../sqm-program-menu/ProgramMenu.stories";
38
42
  import * as PoweredByImg from "../../stories/PoweredByImg.stories";
39
- import * as PortalFooter from "../../stories/PortalFooter.stories";
40
- import * as Hero from "../../stories/Hero.stories";
41
- import * as ReferralIframe from "../../stories/ReferralIframe.stories";
42
- import * as NameFields from "../../stories/NameFields.stories";
43
+ import * as PortalFooter from "../sqm-portal-footer/PortalFooter.stories";
44
+ import * as Hero from "../sqm-hero/Hero.stories";
45
+ import * as ReferralIframe from "../sqm-referral-iframe/ReferralIframe.stories";
46
+ import * as NameFields from "../sqm-name-fields/NameFields.stories";
47
+ import * as RewardExchangeList from "../sqm-reward-exchange-list/RewardExchangeList.stories";
48
+ import * as Themes from "./Themes";
43
49
  import { CucumberAddon } from "./CucumberAddon";
44
50
  import { HookStoryAddon } from "./HookStoryAddon";
45
51
  import { ShadowViewAddon } from "../../ShadowViewAddon";
52
+ import { ResizerStylesheet } from "./Resizer";
46
53
  const stories = [
47
54
  ShareButton,
48
55
  ShareLink,
@@ -76,6 +83,7 @@ const stories = [
76
83
  ReferralTableRewardsCell,
77
84
  UserName,
78
85
  PasswordField,
86
+ TaskCard,
79
87
  PortalTemplates,
80
88
  ProgramMenu,
81
89
  PoweredByImg,
@@ -83,6 +91,10 @@ const stories = [
83
91
  Hero,
84
92
  ReferralIframe,
85
93
  NameFields,
94
+ RewardExchangeList,
95
+ UseRewardExchangeList,
96
+ UseTaskCard,
97
+ UseRewardsTable,
86
98
  ];
87
99
  /**
88
100
  * For internal documentation
@@ -101,10 +113,47 @@ export class StencilStorybook {
101
113
  title: "Mint Components",
102
114
  addons: [CucumberAddon, ShadowViewAddon, HookStoryAddon],
103
115
  });
104
- return (h(Host, { class: Style, onClick: {} }, children));
116
+ const [selectedTheme, setSelected] = useState("Default");
117
+ const [checkerboard, setCheckerboard] = useState(true);
118
+ const themes = Object.keys(Themes);
119
+ const theme = Themes[selectedTheme];
120
+ return (h(Host, { class: Style, onClick: {} },
121
+ h("div", { style: {
122
+ position: "absolute",
123
+ top: "0",
124
+ right: "0",
125
+ zIndex: "999999",
126
+ } },
127
+ "Branding:",
128
+ h("select", { onChange: (e) => setSelected(e.target.value) }, themes.map((t) => (h("option", { selected: t === selectedTheme }, t)))),
129
+ h("div", null,
130
+ h("div", null)),
131
+ h(ColorScale, null),
132
+ h("br", null),
133
+ h("input", { type: "checkbox", id: "checkerboard", onClick: () => setCheckerboard(!checkerboard), onChange: () => document.documentElement.style.setProperty("--checker-color-1", checkerboard ? "#ebebeb" : "#ffffff00") }),
134
+ h("label", { htmlFor: "checkerboard" }, "Checkerboard?")),
135
+ h("style", null, theme),
136
+ h("style", null, ResizerStylesheet),
137
+ children));
105
138
  }
106
139
  static get is() { return "sqm-stencilbook"; }
107
140
  static get states() { return {
108
141
  "ignored": {}
109
142
  }; }
110
143
  }
144
+ function ColorScale() {
145
+ return (h("span", null,
146
+ h(ColorToken, null),
147
+ h(ColorToken, { type: "success" }),
148
+ h(ColorToken, { type: "warning" }),
149
+ h(ColorToken, { type: "danger" }),
150
+ h(ColorToken, { type: "neutral" })));
151
+ }
152
+ function ColorToken({ type = "primary" }) {
153
+ return (h("span", { style: {
154
+ background: `var(--sl-color-${type}-500)`,
155
+ width: "1em",
156
+ marginRight: "2px",
157
+ padding: "0 4px",
158
+ }, title: type }, type.charAt(0)));
159
+ }
@@ -0,0 +1,14 @@
1
+ import { h } from "@stencil/core";
2
+ export const checkmark_circle = () => {
3
+ return (h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
4
+ h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M1.81818 10C1.81818 5.48131 5.48131 1.81818 10 1.81818C14.5187 1.81818 18.1818 5.48131 18.1818 10C18.1818 14.5187 14.5187 18.1818 10 18.1818C5.48131 18.1818 1.81818 14.5187 1.81818 10ZM10 0C4.47715 0 0 4.47715 0 10C0 15.5228 4.47715 20 10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0ZM15.7692 6.96189C16.1398 6.48683 16.0551 5.80132 15.58 5.43077C15.1049 5.06022 14.4194 5.14495 14.0489 5.62001L8.72994 12.4391L5.86229 9.5715C5.43627 9.14548 4.74554 9.14548 4.31952 9.5715C3.89349 9.99752 3.89349 10.6882 4.31952 11.1143L8.05976 14.8545C8.28083 15.0756 8.58613 15.1912 8.89818 15.172C9.21023 15.1528 9.49905 15.0006 9.69133 14.7541L15.7692 6.96189Z", fill: "currentColor" })));
5
+ };
6
+ export const checkmark_filled = () => {
7
+ return (h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
8
+ h("circle", { cx: "10", cy: "10", r: "10", fill: "currentColor" }),
9
+ h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M14.65 6.19231C15.0459 6.5011 15.1165 7.07236 14.8077 7.46825L9.74277 13.9617C9.58254 14.1672 9.34186 14.294 9.08182 14.31C8.82178 14.326 8.56736 14.2297 8.38314 14.0454L5.26627 10.9286C4.91124 10.5735 4.91124 9.99794 5.26627 9.64292C5.62129 9.2879 6.19689 9.2879 6.55191 9.64292L8.94162 12.0326L13.3741 6.35001C13.6828 5.95412 14.2541 5.88352 14.65 6.19231Z", fill: "white" })));
10
+ };
11
+ export const arrow_left_right = () => {
12
+ return (h("svg", { width: 11, height: 12, fill: "none", xmlns: "http://www.w3.org/2000/svg" },
13
+ h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M10.265 2.789a.346.346 0 000-.489L8.066.101a.346.346 0 10-.489.489l1.61 1.609H2.073a.691.691 0 00-.69.691v1.728a.346.346 0 00.69 0V2.89h7.114L7.577 4.5a.346.346 0 10.49.488l2.198-2.2zM.101 9.21a.346.346 0 000 .489l2.2 2.199a.346.346 0 00.488-.489l-1.61-1.609h7.114c.382 0 .691-.31.691-.691V7.382a.346.346 0 00-.691 0V9.11H1.18L2.789 7.5a.346.346 0 10-.489-.488l-2.199 2.2z", fill: "currentColor" })));
14
+ };