@saasquatch/mint-components 1.3.3-7 → 1.5.0-1

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 (381) hide show
  1. package/dist/cjs/{ShadowViewAddon-e9bacad0.js → ShadowViewAddon-475e00d3.js} +1 -1
  2. package/dist/cjs/{global-0c01d88f.js → global-89f66e76.js} +282 -70
  3. package/dist/cjs/{index.module-2925fe3b.js → index.module-c0bf9df0.js} +3 -1
  4. package/dist/cjs/loader.cjs.js +3 -3
  5. package/dist/cjs/mint-components.cjs.js +3 -3
  6. package/dist/cjs/{re-render-b1ad512d.js → re-render-124b56ee.js} +1 -1
  7. package/dist/cjs/sqm-asset-card.cjs.entry.js +1 -1
  8. package/dist/cjs/sqm-big-stat.cjs.entry.js +2 -2
  9. package/dist/cjs/{sqm-divided-layout_26.cjs.entry.js → sqm-divided-layout_30.cjs.entry.js} +6661 -534
  10. package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +1 -1
  11. package/dist/cjs/{sqm-leaderboard-rank-view-48245b30.js → sqm-leaderboard-rank-view-510f16d3.js} +2 -2
  12. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +3 -3
  13. package/dist/cjs/sqm-leaderboard.cjs.entry.js +2 -2
  14. package/dist/cjs/sqm-name-fields.cjs.entry.js +1 -1
  15. package/dist/cjs/{sqm-navigation-sidebar-item-view-1bad646a.js → sqm-navigation-sidebar-item-view-a2bdcf05.js} +1 -1
  16. package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +2 -2
  17. package/dist/cjs/sqm-popup-container.cjs.entry.js +1 -1
  18. package/dist/cjs/{sqm-portal-email-verification-view-68b16f27.js → sqm-portal-email-verification-view-5093ac20.js} +1 -1
  19. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +4 -9
  20. package/dist/cjs/{sqm-portal-footer-view-edeeebab.js → sqm-portal-footer-view-03408484.js} +1 -1
  21. package/dist/cjs/sqm-portal-footer.cjs.entry.js +3 -3
  22. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +5 -15
  23. package/dist/cjs/sqm-portal-logout.cjs.entry.js +1 -1
  24. package/dist/cjs/{sqm-portal-profile-view-2b48529e.js → sqm-portal-profile-view-fa2db439.js} +1 -1
  25. package/dist/cjs/sqm-portal-profile.cjs.entry.js +3 -3
  26. package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +1 -1
  27. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +2 -6
  28. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +3 -7
  29. package/dist/cjs/sqm-referral-table-column.cjs.entry.js +2 -2
  30. package/dist/cjs/sqm-referral-table-date-column.cjs.entry.js +2 -2
  31. package/dist/cjs/sqm-referral-table-rewards-column.cjs.entry.js +2 -2
  32. package/dist/cjs/sqm-referral-table-status-column.cjs.entry.js +2 -2
  33. package/dist/cjs/sqm-referral-table-user-column.cjs.entry.js +2 -2
  34. package/dist/cjs/sqm-share-code.cjs.entry.js +1 -1
  35. package/dist/cjs/{useDemoBigStat-ee71b587.js → useDemoBigStat-5d71bbdf.js} +117 -21
  36. package/dist/collection/collection-manifest.json +7 -3
  37. package/dist/collection/{stories → components/sqm-asset-card}/AssetCard.stories.js +2 -2
  38. package/dist/collection/{stories → components/sqm-big-stat}/BigStat.stories.js +10 -3
  39. package/dist/collection/{stories → components/sqm-big-stat}/UseBigStat.stories.js +7 -4
  40. package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +1 -1
  41. package/dist/collection/components/sqm-big-stat/useBigStat.js +115 -20
  42. package/dist/collection/components/sqm-big-stat/useDemoBigStat.js +1 -0
  43. package/dist/collection/{stories → components/sqm-divided-layout}/DividedLayout.stories.js +4 -4
  44. package/dist/collection/{stories → components/sqm-edit-profile}/EditProfileForm.stories.js +2 -2
  45. package/dist/collection/{stories → components/sqm-edit-profile}/UseEditProfile.stories.js +1 -1
  46. package/dist/collection/{stories → components/sqm-form-message}/FormMessage.stories.js +1 -1
  47. package/dist/collection/{stories → components/sqm-hero}/Hero.stories.js +2 -2
  48. package/dist/collection/{stories → components/sqm-leaderboard}/Leaderboard.stories.js +2 -2
  49. package/dist/collection/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.js +3 -3
  50. package/dist/collection/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.js +2 -2
  51. package/dist/collection/{stories → components/sqm-name-fields}/NameFields.stories.js +2 -2
  52. package/dist/collection/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.js +3 -3
  53. package/dist/collection/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.js +2 -2
  54. package/dist/collection/{stories → components/sqm-password-field}/PasswordField.stories.js +1 -1
  55. package/dist/collection/{stories → components/sqm-portal-change-password}/ChangePassword.stories.js +3 -3
  56. package/dist/collection/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.js +3 -3
  57. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +0 -25
  58. package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +1 -2
  59. package/dist/collection/{stories → components/sqm-portal-footer}/PortalFooter.stories.js +2 -2
  60. package/dist/collection/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.js +3 -7
  61. package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +3 -53
  62. package/dist/collection/components/sqm-portal-forgot-password/usePortalForgotPassword.js +2 -4
  63. package/dist/collection/{stories → components/sqm-portal-frame}/PortalFrame.stories.js +2 -2
  64. package/dist/collection/{stories → components/sqm-portal-login}/PortalLogin.stories.js +2 -8
  65. package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +4 -59
  66. package/dist/collection/components/sqm-portal-login/usePortalLogin.js +2 -4
  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 -7
  69. package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +2 -53
  70. package/dist/collection/components/sqm-portal-register/usePortalRegister.js +0 -3
  71. package/dist/collection/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.js +3 -3
  72. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +0 -25
  73. package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +1 -1
  74. package/dist/collection/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.js +3 -3
  75. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +0 -25
  76. package/dist/collection/components/sqm-portal-verify-email/usePortalVerifyEmail.js +2 -2
  77. package/dist/collection/{stories → components/sqm-program-menu}/ProgramMenu.stories.js +2 -2
  78. package/dist/collection/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.js +2 -2
  79. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTable.stories.js +2 -2
  80. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableCell.stories.js +1 -1
  81. package/dist/collection/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.js +1 -1
  82. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-column.js +1 -1
  83. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-date-column.js +1 -1
  84. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.js +1 -1
  85. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-status-column.js +1 -1
  86. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-user-column.js +1 -1
  87. package/dist/collection/components/sqm-referral-table/useReferralTable.js +2 -2
  88. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeList.stories.js +20 -0
  89. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +228 -0
  90. package/dist/collection/components/sqm-reward-exchange-list/SVGs.js +24 -0
  91. package/dist/collection/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.js +143 -0
  92. package/dist/collection/components/sqm-reward-exchange-list/assets/Reward-icon.png +0 -0
  93. package/dist/collection/components/sqm-reward-exchange-list/assets/placeholder.png +0 -0
  94. package/dist/collection/components/sqm-reward-exchange-list/progressBar.js +64 -0
  95. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +469 -0
  96. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +144 -0
  97. package/dist/collection/components/sqm-reward-exchange-list/useRewardExchangeList.js +186 -0
  98. package/dist/collection/components/sqm-rewards-table/UseRewardsTable.stories.js +53 -0
  99. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table-column.js +120 -0
  100. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +222 -0
  101. package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +190 -0
  102. package/dist/collection/{stories → components/sqm-router}/Router.stories.js +1 -1
  103. package/dist/collection/{stories → components/sqm-share-button}/ShareButton.stories.js +2 -2
  104. package/dist/collection/{stories → components/sqm-share-button}/UseShareButton.stories.js +2 -2
  105. package/dist/collection/components/sqm-share-button/sqm-share-button.js +1 -1
  106. package/dist/collection/{stories → components/sqm-share-link}/ShareLink.stories.js +2 -2
  107. package/dist/collection/{stories → components/sqm-share-link}/UseShareLink.stories.js +3 -3
  108. package/dist/collection/components/sqm-stencilbook/AutoColor.js +26 -0
  109. package/dist/collection/components/sqm-stencilbook/CucumberAddon.js +3 -1
  110. package/dist/collection/components/sqm-stencilbook/Matrix.js +66 -0
  111. package/dist/collection/components/sqm-stencilbook/Resizer.js +26 -0
  112. package/dist/collection/components/sqm-stencilbook/Themes.js +52 -0
  113. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +87 -38
  114. package/dist/collection/components/sqm-task-card/SVGs.js +14 -0
  115. package/dist/collection/components/sqm-task-card/TaskCard.stories.js +412 -0
  116. package/dist/collection/components/sqm-task-card/UseTaskCard.stories.js +41 -0
  117. package/dist/collection/components/sqm-task-card/progress-bar/SVGs.js +8 -0
  118. package/dist/collection/components/sqm-task-card/progress-bar/progress-bar-view.js +370 -0
  119. package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +240 -0
  120. package/dist/collection/components/sqm-task-card/sqm-task-card.js +444 -0
  121. package/dist/collection/{stories → components/sqm-user-name}/UserName.stories.js +3 -3
  122. package/dist/collection/global/styles.js +281 -69
  123. package/dist/collection/global/styles.ts +281 -69
  124. package/dist/collection/stories/NewPortal.stories.js +15 -15
  125. package/dist/collection/tables/GenericTableView.js +51 -0
  126. package/dist/collection/tables/TableSlots.js +22 -0
  127. package/dist/collection/{components/sqm-referral-table → tables}/re-render.js +0 -0
  128. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-cell.js +0 -0
  129. package/dist/collection/{components/sqm-referral-table → tables}/sqm-table-row.js +0 -0
  130. package/dist/collection/{components/sqm-referral-table → tables}/useChildElements.js +0 -0
  131. package/dist/esm/{ShadowViewAddon-5f66de48.js → ShadowViewAddon-558fabb7.js} +1 -1
  132. package/dist/esm/{global-0fcfbedf.js → global-e0e25c22.js} +282 -70
  133. package/dist/esm/{index.module-1e92a7a3.js → index.module-eb50a8d2.js} +2 -2
  134. package/dist/esm/loader.js +3 -3
  135. package/dist/esm/mint-components.js +3 -3
  136. package/dist/esm/{re-render-b8468637.js → re-render-6d5b856e.js} +1 -1
  137. package/dist/esm/sqm-asset-card.entry.js +1 -1
  138. package/dist/esm/sqm-big-stat.entry.js +2 -2
  139. package/dist/esm/{sqm-divided-layout_26.entry.js → sqm-divided-layout_30.entry.js} +6659 -536
  140. package/dist/esm/sqm-graphql-client-provider.entry.js +1 -1
  141. package/dist/esm/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-cd1e8962.js} +2 -2
  142. package/dist/esm/sqm-leaderboard-rank.entry.js +3 -3
  143. package/dist/esm/sqm-leaderboard.entry.js +2 -2
  144. package/dist/esm/sqm-name-fields.entry.js +1 -1
  145. package/dist/esm/{sqm-navigation-sidebar-item-view-a48bca9b.js → sqm-navigation-sidebar-item-view-2d8c368c.js} +1 -1
  146. package/dist/esm/sqm-navigation-sidebar-item.entry.js +2 -2
  147. package/dist/esm/sqm-popup-container.entry.js +1 -1
  148. package/dist/esm/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-2af31979.js} +1 -1
  149. package/dist/esm/sqm-portal-email-verification.entry.js +4 -9
  150. package/dist/esm/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-60cd9ae5.js} +1 -1
  151. package/dist/esm/sqm-portal-footer.entry.js +3 -3
  152. package/dist/esm/sqm-portal-forgot-password.entry.js +5 -15
  153. package/dist/esm/sqm-portal-logout.entry.js +1 -1
  154. package/dist/esm/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-f1deea0f.js} +1 -1
  155. package/dist/esm/sqm-portal-profile.entry.js +3 -3
  156. package/dist/esm/sqm-portal-protected-route.entry.js +1 -1
  157. package/dist/esm/sqm-portal-reset-password.entry.js +2 -6
  158. package/dist/esm/sqm-portal-verify-email.entry.js +3 -7
  159. package/dist/esm/sqm-referral-table-column.entry.js +2 -2
  160. package/dist/esm/sqm-referral-table-date-column.entry.js +2 -2
  161. package/dist/esm/sqm-referral-table-rewards-column.entry.js +2 -2
  162. package/dist/esm/sqm-referral-table-status-column.entry.js +2 -2
  163. package/dist/esm/sqm-referral-table-user-column.entry.js +2 -2
  164. package/dist/esm/sqm-share-code.entry.js +1 -1
  165. package/dist/esm/{useDemoBigStat-8865b9fa.js → useDemoBigStat-d227b2f9.js} +117 -21
  166. package/dist/esm-es5/{ShadowViewAddon-5f66de48.js → ShadowViewAddon-558fabb7.js} +1 -1
  167. package/dist/esm-es5/{global-0fcfbedf.js → global-e0e25c22.js} +2 -2
  168. package/dist/esm-es5/{index.module-1e92a7a3.js → index.module-eb50a8d2.js} +1 -1
  169. package/dist/esm-es5/loader.js +1 -1
  170. package/dist/esm-es5/mint-components.js +1 -1
  171. package/dist/esm-es5/{re-render-b8468637.js → re-render-6d5b856e.js} +1 -1
  172. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  173. package/dist/esm-es5/sqm-big-stat.entry.js +1 -1
  174. package/dist/esm-es5/sqm-divided-layout_30.entry.js +58 -0
  175. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  176. package/dist/esm-es5/{sqm-leaderboard-rank-view-fd7d7f42.js → sqm-leaderboard-rank-view-cd1e8962.js} +1 -1
  177. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  178. package/dist/esm-es5/sqm-leaderboard.entry.js +1 -1
  179. package/dist/esm-es5/sqm-name-fields.entry.js +1 -1
  180. package/dist/esm-es5/{sqm-navigation-sidebar-item-view-a48bca9b.js → sqm-navigation-sidebar-item-view-2d8c368c.js} +1 -1
  181. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  182. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  183. package/dist/esm-es5/{sqm-portal-email-verification-view-6cc56c87.js → sqm-portal-email-verification-view-2af31979.js} +1 -1
  184. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  185. package/dist/esm-es5/{sqm-portal-footer-view-8a1128d5.js → sqm-portal-footer-view-60cd9ae5.js} +1 -1
  186. package/dist/esm-es5/sqm-portal-footer.entry.js +1 -1
  187. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  188. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  189. package/dist/esm-es5/{sqm-portal-profile-view-4acf74a5.js → sqm-portal-profile-view-f1deea0f.js} +1 -1
  190. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  191. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  192. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  193. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  194. package/dist/esm-es5/sqm-referral-table-column.entry.js +1 -1
  195. package/dist/esm-es5/sqm-referral-table-date-column.entry.js +1 -1
  196. package/dist/esm-es5/sqm-referral-table-rewards-column.entry.js +1 -1
  197. package/dist/esm-es5/sqm-referral-table-status-column.entry.js +1 -1
  198. package/dist/esm-es5/sqm-referral-table-user-column.entry.js +1 -1
  199. package/dist/esm-es5/sqm-share-code.entry.js +1 -1
  200. package/dist/esm-es5/useDemoBigStat-d227b2f9.js +1 -0
  201. package/dist/mint-components/assets/Reward-icon.png +0 -0
  202. package/dist/mint-components/assets/placeholder.png +0 -0
  203. package/dist/mint-components/global/styles.ts +281 -69
  204. package/dist/mint-components/mint-components.css +1 -0
  205. package/dist/mint-components/mint-components.esm.js +1 -1
  206. package/dist/mint-components/mint-components.js +1 -1
  207. package/dist/mint-components/{p-d3171b36.system.entry.js → p-0029a386.system.entry.js} +1 -1
  208. package/dist/mint-components/{p-3452bdae.system.js → p-02dc36a4.system.js} +1 -1
  209. package/dist/mint-components/{p-de3311bf.entry.js → p-03a6becf.entry.js} +1 -1
  210. package/dist/mint-components/{p-3e3dad7a.system.js → p-03e93c82.system.js} +1 -1
  211. package/dist/mint-components/p-0d8b2757.system.entry.js +1 -0
  212. package/dist/mint-components/{p-18aa175f.system.js → p-0e8ae7e3.system.js} +2 -2
  213. package/dist/mint-components/{p-965e34ab.entry.js → p-1705e549.entry.js} +1 -1
  214. package/dist/mint-components/{p-51cfdd14.js → p-1f95b411.js} +1 -1
  215. package/dist/mint-components/{p-9ff0425e.system.entry.js → p-2027edc0.system.entry.js} +1 -1
  216. package/dist/mint-components/p-20c95798.entry.js +1 -0
  217. package/dist/mint-components/{p-e50839df.entry.js → p-21b4044a.entry.js} +1 -1
  218. package/dist/mint-components/{p-d513229d.js → p-221bd06e.js} +1 -1
  219. package/dist/mint-components/p-2338162a.entry.js +1 -0
  220. package/dist/mint-components/{p-9ff118a2.system.entry.js → p-24fa8920.system.entry.js} +1 -1
  221. package/dist/mint-components/{p-64759dda.system.js → p-2e63dcfd.system.js} +1 -1
  222. package/dist/mint-components/{p-743882c6.entry.js → p-3143cce4.entry.js} +1 -1
  223. package/dist/mint-components/{p-4b6c316d.entry.js → p-34112d74.entry.js} +1 -1
  224. package/dist/mint-components/p-40e83a85.system.js +1 -0
  225. package/dist/mint-components/{p-337a3d6b.system.entry.js → p-46493de5.system.entry.js} +1 -1
  226. package/dist/mint-components/p-4658d225.system.entry.js +1 -0
  227. package/dist/mint-components/{p-7d996b49.js → p-4b719313.js} +1 -1
  228. package/dist/mint-components/{p-6cb81b77.entry.js → p-53e51b3f.entry.js} +1 -1
  229. package/dist/mint-components/p-58ffe936.system.entry.js +58 -0
  230. package/dist/mint-components/p-5939212e.system.entry.js +1 -0
  231. package/dist/mint-components/{p-af2d886e.js → p-5d925bb6.js} +1 -1
  232. package/dist/mint-components/{p-27e23808.system.js → p-5e4e7f01.system.js} +1 -1
  233. package/dist/mint-components/{p-af1f8bd3.js → p-61acba7a.js} +1 -1
  234. package/dist/mint-components/{p-13605359.entry.js → p-65c79eec.entry.js} +1 -1
  235. package/dist/mint-components/{p-d55abc13.entry.js → p-759d3800.entry.js} +2 -2
  236. package/dist/mint-components/p-7cdbe82a.entry.js +1 -0
  237. package/dist/mint-components/{p-9a3a0db5.system.entry.js → p-7ff22998.system.entry.js} +1 -1
  238. package/dist/mint-components/p-85efd952.entry.js +1 -0
  239. package/dist/mint-components/p-86255b95.entry.js +1 -0
  240. package/dist/mint-components/p-88d9bd59.entry.js +393 -0
  241. package/dist/mint-components/{p-b3880833.system.entry.js → p-88fdfd94.system.entry.js} +1 -1
  242. package/dist/mint-components/{p-d0cad85c.js → p-8fd8682c.js} +2 -2
  243. package/dist/mint-components/{p-70ca623f.system.entry.js → p-97b946c2.system.entry.js} +1 -1
  244. package/dist/mint-components/{p-1e47e0a6.entry.js → p-9be0cb19.entry.js} +1 -1
  245. package/dist/mint-components/{p-6156a7ac.system.entry.js → p-a0a26fc5.system.entry.js} +1 -1
  246. package/dist/mint-components/{p-8bfebd45.system.entry.js → p-a355eeaf.system.entry.js} +1 -1
  247. package/dist/mint-components/{p-036c5a7e.system.entry.js → p-a8246a50.system.entry.js} +1 -1
  248. package/dist/mint-components/{p-c47b83c3.entry.js → p-a831de18.entry.js} +1 -1
  249. package/dist/mint-components/{p-6ad110d3.js → p-a833dbb3.js} +1 -1
  250. package/dist/mint-components/p-a88a08bb.system.js +1 -0
  251. package/dist/mint-components/p-a9a6f205.entry.js +1 -0
  252. package/dist/mint-components/{p-624c5352.system.entry.js → p-aee83885.system.entry.js} +1 -1
  253. package/dist/mint-components/p-b86cbac3.system.entry.js +1 -0
  254. package/dist/mint-components/{p-602180a2.system.js → p-be3a0cc4.system.js} +1 -1
  255. package/dist/mint-components/{p-05a2640d.entry.js → p-c0f9d0b1.entry.js} +1 -1
  256. package/dist/mint-components/p-c65cfc9d.system.js +1 -0
  257. package/dist/mint-components/{p-991bd182.system.entry.js → p-ca40dbaa.system.entry.js} +1 -1
  258. package/dist/mint-components/p-cc189fc4.system.js +1 -0
  259. package/dist/mint-components/{p-cffc23c0.entry.js → p-cc652a53.entry.js} +1 -1
  260. package/dist/mint-components/p-d19d6012.js +235 -0
  261. package/dist/mint-components/p-d3c7dbfc.entry.js +1 -0
  262. package/dist/mint-components/{p-3772bae2.system.entry.js → p-d4a1bce9.system.entry.js} +1 -1
  263. package/dist/mint-components/p-d68f6b64.system.entry.js +1 -0
  264. package/dist/mint-components/p-e36ff7fa.entry.js +1 -0
  265. package/dist/mint-components/{p-05a86906.entry.js → p-e608f340.entry.js} +1 -1
  266. package/dist/mint-components/{p-4068e47c.system.entry.js → p-e7cb4274.system.entry.js} +1 -1
  267. package/dist/mint-components/p-ef7f70f2.system.entry.js +1 -0
  268. package/dist/mint-components/{p-f16bae7a.system.entry.js → p-f20d9204.system.entry.js} +1 -1
  269. package/dist/mint-components/{p-c84a5b33.js → p-f7f87338.js} +1 -1
  270. package/dist/mint-components/{p-55210498.system.js → p-f9ada3d7.system.js} +1 -1
  271. package/dist/mint-components/{p-eddcf481.js → p-faf66fdb.js} +1 -1
  272. package/dist/mint-components/{p-6305419f.entry.js → p-fcd03042.entry.js} +1 -1
  273. package/dist/mint-components/{p-09afaaac.system.entry.js → p-fd281e6b.system.entry.js} +1 -1
  274. package/dist/types/{stories → components/sqm-asset-card}/AssetCard.stories.d.ts +0 -0
  275. package/dist/types/{stories → components/sqm-big-stat}/BigStat.stories.d.ts +0 -0
  276. package/dist/types/{stories → components/sqm-big-stat}/UseBigStat.stories.d.ts +6 -0
  277. package/dist/types/components/sqm-big-stat/sqm-big-stat-view.d.ts +1 -0
  278. package/dist/types/components/sqm-big-stat/useBigStat.d.ts +4 -1
  279. package/dist/types/{stories → components/sqm-divided-layout}/DividedLayout.stories.d.ts +0 -0
  280. package/dist/types/{stories → components/sqm-edit-profile}/EditProfileForm.stories.d.ts +0 -0
  281. package/dist/types/{stories → components/sqm-edit-profile}/UseEditProfile.stories.d.ts +0 -0
  282. package/dist/types/{stories → components/sqm-form-message}/FormMessage.stories.d.ts +0 -0
  283. package/dist/types/{stories → components/sqm-hero}/Hero.stories.d.ts +0 -0
  284. package/dist/types/{stories → components/sqm-leaderboard}/Leaderboard.stories.d.ts +0 -0
  285. package/dist/types/{stories → components/sqm-leaderboard}/UseLeaderboard.stories.d.ts +0 -0
  286. package/dist/types/{stories → components/sqm-leaderboard-rank}/LeaderboardRank.stories.d.ts +0 -0
  287. package/dist/types/{stories → components/sqm-name-fields}/NameFields.stories.d.ts +0 -0
  288. package/dist/types/{stories → components/sqm-navigation-sidebar}/NavigationSidebar.stories.d.ts +0 -0
  289. package/dist/types/{stories → components/sqm-navigation-sidebar-item}/SidebarItem.stories.d.ts +0 -0
  290. package/dist/types/{stories → components/sqm-password-field}/PasswordField.stories.d.ts +0 -0
  291. package/dist/types/{stories → components/sqm-portal-change-password}/ChangePassword.stories.d.ts +0 -0
  292. package/dist/types/{stories → components/sqm-portal-email-verification}/PortalEmailVerification.stories.d.ts +0 -0
  293. package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +0 -4
  294. package/dist/types/{stories → components/sqm-portal-footer}/PortalFooter.stories.d.ts +0 -0
  295. package/dist/types/{stories → components/sqm-portal-forgot-password}/PortalForgotPassword.stories.d.ts +0 -0
  296. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.d.ts +0 -1
  297. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +0 -8
  298. package/dist/types/components/sqm-portal-forgot-password/usePortalForgotPassword.d.ts +1 -3
  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/components/sqm-portal-login/sqm-portal-login-view.d.ts +0 -2
  302. package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +0 -8
  303. package/dist/types/components/sqm-portal-login/usePortalLogin.d.ts +3 -3
  304. package/dist/types/{stories → components/sqm-portal-profile}/PortalProfile.stories.d.ts +0 -0
  305. package/dist/types/{stories → components/sqm-portal-register}/PortalRegister.stories.d.ts +0 -0
  306. package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +0 -1
  307. package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +0 -8
  308. package/dist/types/components/sqm-portal-register/usePortalRegister.d.ts +0 -1
  309. package/dist/types/{stories → components/sqm-portal-reset-password}/PortalResetPassword.stories.d.ts +0 -0
  310. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +0 -4
  311. package/dist/types/{stories → components/sqm-portal-verify-email}/PortalVerifyEmail.stories.d.ts +0 -0
  312. package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +0 -4
  313. package/dist/types/components/sqm-portal-verify-email/usePortalVerifyEmail.d.ts +1 -2
  314. package/dist/types/{stories → components/sqm-program-menu}/ProgramMenu.stories.d.ts +0 -0
  315. package/dist/types/{stories → components/sqm-referral-iframe}/ReferralIframe.stories.d.ts +0 -0
  316. package/dist/types/{stories → components/sqm-referral-table}/ReferralTable.stories.d.ts +0 -0
  317. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableCell.stories.d.ts +0 -0
  318. package/dist/types/{stories → components/sqm-referral-table}/ReferralTableRewardsCell.stories.d.ts +0 -0
  319. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeList.stories.d.ts +13 -0
  320. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +234 -0
  321. package/dist/types/components/sqm-reward-exchange-list/SVGs.d.ts +4 -0
  322. package/dist/types/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.d.ts +28 -0
  323. package/dist/types/components/sqm-reward-exchange-list/progressBar.d.ts +4 -0
  324. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.d.ts +25 -0
  325. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +24 -0
  326. package/dist/types/components/sqm-reward-exchange-list/useRewardExchangeList.d.ts +44 -0
  327. package/dist/types/components/sqm-rewards-table/UseRewardsTable.stories.d.ts +16 -0
  328. package/dist/types/components/sqm-rewards-table/sqm-rewards-table-column.d.ts +20 -0
  329. package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +32 -0
  330. package/dist/types/components/sqm-rewards-table/useRewardsTable.d.ts +38 -0
  331. package/dist/types/{stories → components/sqm-router}/Router.stories.d.ts +0 -0
  332. package/dist/types/{stories → components/sqm-share-button}/ShareButton.stories.d.ts +0 -0
  333. package/dist/types/{stories → components/sqm-share-button}/UseShareButton.stories.d.ts +0 -0
  334. package/dist/types/{stories → components/sqm-share-link}/ShareLink.stories.d.ts +0 -0
  335. package/dist/types/{stories → components/sqm-share-link}/UseShareLink.stories.d.ts +0 -0
  336. package/dist/types/components/sqm-stencilbook/AutoColor.d.ts +1 -0
  337. package/dist/types/components/sqm-stencilbook/Matrix.d.ts +11 -0
  338. package/dist/types/components/sqm-stencilbook/Resizer.d.ts +3 -0
  339. package/dist/types/components/sqm-stencilbook/Themes.d.ts +17 -0
  340. package/dist/types/components/sqm-task-card/SVGs.d.ts +3 -0
  341. package/dist/types/components/sqm-task-card/TaskCard.stories.d.ts +19 -0
  342. package/dist/types/components/sqm-task-card/UseTaskCard.stories.d.ts +10 -0
  343. package/dist/types/components/sqm-task-card/progress-bar/SVGs.d.ts +1 -0
  344. package/dist/types/components/sqm-task-card/progress-bar/progress-bar-view.d.ts +12 -0
  345. package/dist/types/components/sqm-task-card/sqm-task-card-view.d.ts +18 -0
  346. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +80 -0
  347. package/dist/types/components/sqm-user-name/UserName.stories.d.ts +6 -0
  348. package/dist/types/components.d.ts +297 -72
  349. package/dist/types/global/styles.d.ts +1 -1
  350. package/dist/types/tables/GenericTableView.d.ts +29 -0
  351. package/dist/types/tables/TableSlots.d.ts +8 -0
  352. package/dist/types/{components/sqm-referral-table → tables}/re-render.d.ts +0 -0
  353. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-cell.d.ts +0 -0
  354. package/dist/types/{components/sqm-referral-table → tables}/sqm-table-row.d.ts +0 -0
  355. package/dist/types/{components/sqm-referral-table → tables}/useChildElements.d.ts +0 -0
  356. package/grapesjs/grapesjs.js +1 -1
  357. package/package.json +4 -2
  358. package/dist/esm-es5/sqm-divided-layout_26.entry.js +0 -1
  359. package/dist/esm-es5/useDemoBigStat-8865b9fa.js +0 -1
  360. package/dist/mint-components/p-06d79243.system.entry.js +0 -1
  361. package/dist/mint-components/p-10a98629.entry.js +0 -1
  362. package/dist/mint-components/p-112d42ab.system.entry.js +0 -1
  363. package/dist/mint-components/p-192539d2.entry.js +0 -1
  364. package/dist/mint-components/p-2f333f89.system.entry.js +0 -1
  365. package/dist/mint-components/p-32573409.js +0 -227
  366. package/dist/mint-components/p-528aecd1.entry.js +0 -1
  367. package/dist/mint-components/p-54707082.system.js +0 -1
  368. package/dist/mint-components/p-606506d6.system.entry.js +0 -1
  369. package/dist/mint-components/p-6815e7ba.entry.js +0 -1
  370. package/dist/mint-components/p-756a5e6f.system.js +0 -1
  371. package/dist/mint-components/p-768b9014.system.entry.js +0 -1
  372. package/dist/mint-components/p-7cf335a0.entry.js +0 -1
  373. package/dist/mint-components/p-86b66e5c.entry.js +0 -1
  374. package/dist/mint-components/p-942723ad.entry.js +0 -1
  375. package/dist/mint-components/p-9f2a08a9.entry.js +0 -230
  376. package/dist/mint-components/p-a359f652.system.js +0 -1
  377. package/dist/mint-components/p-a646db48.system.entry.js +0 -1
  378. package/dist/mint-components/p-b3cddcca.entry.js +0 -1
  379. package/dist/mint-components/p-ba09d673.system.entry.js +0 -1
  380. package/dist/mint-components/p-d1cea1b1.system.js +0 -1
  381. package/dist/types/stories/UserName.stories.d.ts +0 -6
@@ -0,0 +1,370 @@
1
+ import { h } from "@stencil/core";
2
+ import jss from "jss";
3
+ import preset from "jss-preset-default";
4
+ import * as SVGs from "./SVGs";
5
+ export function ProgressBarView(props) {
6
+ const { progress = 0, goal = 1, steps = false, progressBarUnit = "", repeatable = false, expired = false, finite = 0, } = props;
7
+ // console.log("progress bar props", props);
8
+ const gift1 = SVGs.gift();
9
+ const gift2 = SVGs.gift();
10
+ const gift3 = SVGs.gift();
11
+ var items = [];
12
+ var columns = "";
13
+ if (repeatable) {
14
+ if (steps) {
15
+ addStepsRepeatable();
16
+ }
17
+ else {
18
+ addLinearRepeatable();
19
+ }
20
+ }
21
+ // non repeatable
22
+ else {
23
+ if (steps) {
24
+ addSteps();
25
+ }
26
+ else {
27
+ addLinear();
28
+ }
29
+ }
30
+ const style = {
31
+ ProgressBar: {
32
+ marginTop: steps ? "calc(-1*var(--sl-spacing-x-small))" : "",
33
+ "& .progress-bar": {
34
+ height: "0",
35
+ marginTop: steps
36
+ ? "var(--sl-spacing-medium)"
37
+ : "var(--sl-spacing-large)",
38
+ filter: expired ? "grayscale(1)" : "",
39
+ marginBottom: "var(--sl-spacing-xxx-large)",
40
+ marginRight: "var(--sl-spacing-x-small)",
41
+ fontSize: "var(--sl-font-size-x-small)",
42
+ display: "grid",
43
+ gridTemplateColumns: columns,
44
+ lineHeight: "45px",
45
+ userSelect: "none",
46
+ },
47
+ "& .progress-bar.repeatable-steps": {
48
+ marginLeft: "var(--sl-spacing-x-small)",
49
+ },
50
+ "& .filled:after": {
51
+ content: '""',
52
+ display: "flex",
53
+ width: "100%",
54
+ height: "4px",
55
+ borderRadius: "4px",
56
+ backgroundColor: "var(--sl-color-primary-300)",
57
+ },
58
+ "& .progress": {
59
+ display: "block",
60
+ textAlign: "center",
61
+ marginLeft: "-100px",
62
+ marginRight: "-100px",
63
+ },
64
+ "& .progress::after": {
65
+ content: '""',
66
+ width: "12px",
67
+ height: "12px",
68
+ display: "flex",
69
+ backgroundColor: "var(--sl-color-primary-300)",
70
+ borderRadius: "50%",
71
+ position: "relative",
72
+ left: "47%",
73
+ top: "-85%",
74
+ },
75
+ "& .progress.bg:after": {
76
+ width: "0",
77
+ height: "0",
78
+ border: "none",
79
+ },
80
+ "& .progress.top": {
81
+ position: "relative",
82
+ top: "-40px",
83
+ },
84
+ "& .progress.top:after": {
85
+ top: "-16%",
86
+ },
87
+ "& .empty": {
88
+ display: "block",
89
+ textAlign: "center",
90
+ marginLeft: "-100px",
91
+ marginRight: "-100px",
92
+ },
93
+ "& .empty::after": {
94
+ content: '""',
95
+ width: "12px",
96
+ height: "12px",
97
+ border: "2px solid #E0E0E0",
98
+ margin: "-2px",
99
+ display: "flex",
100
+ backgroundColor: "white",
101
+ borderRadius: "50%",
102
+ position: "relative",
103
+ left: "47%",
104
+ top: "-85%",
105
+ },
106
+ "& .empty.bg:after": {
107
+ width: "0",
108
+ height: "0",
109
+ border: "none",
110
+ },
111
+ "& .remain:after": {
112
+ content: '""',
113
+ display: "flex",
114
+ width: "100%",
115
+ height: "4px",
116
+ borderRadius: "4px",
117
+ backgroundColor: "#E0E0E0",
118
+ },
119
+ "& .gift.bw": {
120
+ filter: "grayscale(100%)",
121
+ },
122
+ "& .gift.start": {
123
+ transform: "scale(80%)",
124
+ top: "-20px",
125
+ },
126
+ "& .gift": {
127
+ textAlign: "center",
128
+ marginLeft: "-100px",
129
+ marginRight: "-100px",
130
+ position: "relative",
131
+ display: "list-item",
132
+ listStyleType: "none",
133
+ top: "-18px",
134
+ filter: goal <= progress ? "" : "grayscale(100%)",
135
+ zIndex: "1",
136
+ },
137
+ },
138
+ };
139
+ jss.setup(preset());
140
+ const sheet = jss.createStyleSheet(style);
141
+ const styleString = sheet.toString();
142
+ return (h("div", { class: sheet.classes.ProgressBar },
143
+ h("style", { type: "text/css" }, styleString),
144
+ h("div", { class: (!Boolean(finite) && progress >= 2 * goal) ||
145
+ (Boolean(finite) && progress > 2 * goal)
146
+ ? "progress-bar repeatable-steps"
147
+ : "progress-bar" }, items)));
148
+ function clamp(x, min, max) {
149
+ return Math.min(Math.max(x, min), max);
150
+ }
151
+ function addLinear() {
152
+ const ratio = progress / goal;
153
+ columns =
154
+ clamp(ratio, 0, 1) + "fr 0fr " + clamp(1 - ratio, 0, 1) + "fr 0fr 0fr";
155
+ items.push(h("div", { class: "filled" }));
156
+ items.push(h("div", { class: clamp(progress, 0, goal) == goal ? "progress top bg" : "progress top" }, clamp(progress, 0, goal) == goal
157
+ ? ""
158
+ : progressBarUnit + clamp(progress, 0, goal)));
159
+ items.push(h("div", { class: "remain" }));
160
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal));
161
+ items.push(h("div", { class: "gift" }, gift1));
162
+ }
163
+ function addSteps() {
164
+ let ratio = 1 / goal;
165
+ for (let i = 1; i < goal; i++) {
166
+ columns += ratio + "fr 0fr ";
167
+ if (i > progress) {
168
+ items.push(h("div", { class: "remain" }));
169
+ items.push(h("div", { class: "empty" }, i));
170
+ }
171
+ else {
172
+ items.push(h("div", { class: "filled" }));
173
+ items.push(h("div", { class: "progress" }, i));
174
+ }
175
+ }
176
+ columns += ratio + "fr 0fr ";
177
+ // reward success
178
+ if (goal <= progress) {
179
+ columns += "0fr ";
180
+ items.push(h("div", { class: "filled" }));
181
+ items.push(h("div", { class: "progress bg" }, goal));
182
+ items.push(h("div", { class: "gift" }, gift1));
183
+ }
184
+ // reward fail
185
+ else {
186
+ columns += "0fr ";
187
+ items.push(h("div", { class: "remain" }));
188
+ items.push(h("div", { class: "empty bg" }, goal));
189
+ items.push(h("div", { class: "gift" }, gift1));
190
+ }
191
+ }
192
+ function addLinearRepeatable() {
193
+ let repetitions = Math.floor(progress / goal);
194
+ let ratio = ((progress % goal) / goal) * 0.5;
195
+ // 0 repetition
196
+ if (repetitions == 0) {
197
+ columns = ratio + "fr 0fr " + (0.5 - ratio) + "fr 0fr 0fr 0.5fr 0fr 0fr";
198
+ items.push(h("div", { class: "filled" }));
199
+ items.push(h("div", { class: progress == goal ? "progress top bg" : "progress top" }, progressBarUnit + progress));
200
+ items.push(h("div", { class: "remain" }));
201
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal));
202
+ items.push(h("div", { class: "gift" }, gift1));
203
+ items.push(h("div", { class: "remain" }));
204
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * 2));
205
+ items.push(h("div", { class: "gift bw" }, gift2));
206
+ }
207
+ // single repetition
208
+ else if (repetitions == 1) {
209
+ columns =
210
+ "0.5fr 0fr 0fr " + ratio + "fr 0fr " + (0.5 - ratio) + "fr 0fr 0fr";
211
+ items.push(h("div", { class: "filled" }));
212
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal));
213
+ items.push(h("div", { class: "gift" }, gift1));
214
+ items.push(h("div", { class: "filled" }));
215
+ items.push(h("div", { class: progress == goal ? "progress top bg" : "progress top" }, progress == goal ? "" : progressBarUnit + progress));
216
+ items.push(h("div", { class: "remain" }));
217
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * 2));
218
+ items.push(h("div", { class: "gift bw" }, gift2));
219
+ }
220
+ // finite repetition hit
221
+ else if (finite && repetitions >= finite) {
222
+ if (repetitions > 2) {
223
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * (finite - 2)));
224
+ items.push(h("div", { class: "gift start" }, gift1));
225
+ columns = "0fr 0fr 0.5fr 0fr 0fr 0.5fr 0fr 0fr";
226
+ }
227
+ else {
228
+ columns = "0.5fr 0fr 0fr 0.5fr 0fr 0fr";
229
+ }
230
+ items.push(h("div", { class: "filled" }));
231
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * (finite - 1)));
232
+ items.push(h("div", { class: "gift" }, gift2));
233
+ items.push(h("div", { class: "filled" }));
234
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * finite));
235
+ items.push(h("div", { class: "gift" }, gift3));
236
+ }
237
+ // multiple repetitions
238
+ else {
239
+ columns =
240
+ "0fr 0fr 0.5fr 0fr 0fr " +
241
+ ratio +
242
+ "fr 0fr " +
243
+ (0.5 - ratio) +
244
+ "fr 0fr 0fr";
245
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * (repetitions - 1)));
246
+ items.push(h("div", { class: "gift start" }, gift1));
247
+ items.push(h("div", { class: "filled" }));
248
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * repetitions));
249
+ items.push(h("div", { class: "gift" }, gift2));
250
+ items.push(h("div", { class: "filled" }));
251
+ items.push(h("div", { class: progress == goal * repetitions ? "progress top bg" : "progress top" }, progress == goal * repetitions ? "" : progressBarUnit + progress));
252
+ items.push(h("div", { class: "remain" }));
253
+ items.push(h("div", { class: "progress bg" }, progressBarUnit + goal * (repetitions + 1)));
254
+ items.push(h("div", { class: "gift bw" }, gift3));
255
+ }
256
+ }
257
+ function addStepsRepeatable() {
258
+ let repetitions = Math.floor(progress / goal);
259
+ // no or single repetition
260
+ if (repetitions < 2) {
261
+ let ratio = 1 / goal;
262
+ for (let i = 1; i < goal * 2 + 1; i++) {
263
+ columns += ratio + "fr 0fr ";
264
+ if (i > progress) {
265
+ if (i == goal) {
266
+ columns += "0fr ";
267
+ items.push(h("div", { class: "remain" }));
268
+ items.push(h("div", { class: "empty bg" }, goal));
269
+ items.push(h("div", { class: "gift bw" }, gift1));
270
+ }
271
+ else if (i == goal * 2) {
272
+ columns += "0fr 0fr";
273
+ items.push(h("div", { class: "remain" }));
274
+ items.push(h("div", { class: "empty bg" }, goal * 2));
275
+ items.push(h("div", { class: "gift bw" }, gift2));
276
+ }
277
+ else {
278
+ items.push(h("div", { class: "remain" }));
279
+ items.push(h("div", { class: "empty" }, i));
280
+ }
281
+ }
282
+ else if (i == goal) {
283
+ columns += "0fr ";
284
+ items.push(h("div", { class: "filled" }));
285
+ items.push(h("div", { class: "progress bg" }, i));
286
+ items.push(h("div", { class: "gift" }, gift3));
287
+ }
288
+ else {
289
+ items.push(h("div", { class: "filled" }));
290
+ items.push(h("div", { class: "progress" }, i));
291
+ }
292
+ }
293
+ }
294
+ // finite repetition hit
295
+ else if (finite && repetitions >= finite) {
296
+ let ratio = 1 / goal;
297
+ if (repetitions > 2) {
298
+ columns += "0fr 0fr ";
299
+ items.push(h("div", { class: "progress bg" }, goal * (finite - 2)));
300
+ items.push(h("div", { class: "gift start" }, gift1));
301
+ }
302
+ for (let i = 1; i < goal * 2 + 1; i++) {
303
+ columns += ratio + "fr 0fr ";
304
+ if (i > progress) {
305
+ if (i == goal) {
306
+ columns += "0fr ";
307
+ items.push(h("div", { class: "remain" }));
308
+ items.push(h("div", { class: "progress bg" }, goal * (finite - 1)));
309
+ items.push(h("div", { class: "gift bw" }, gift1));
310
+ }
311
+ }
312
+ else if (i == goal) {
313
+ columns += "0fr ";
314
+ items.push(h("div", { class: "filled" }));
315
+ items.push(h("div", { class: "progress bg" }, goal * (finite - 1)));
316
+ items.push(h("div", { class: "gift" }, gift2));
317
+ }
318
+ else if (i == goal * 2) {
319
+ columns += "0fr 0fr";
320
+ items.push(h("div", { class: "filled" }));
321
+ items.push(h("div", { class: "progress bg" }, goal * finite));
322
+ items.push(h("div", { class: "gift" }, gift3));
323
+ }
324
+ else {
325
+ items.push(h("div", { class: "filled" }));
326
+ items.push(h("div", { class: "progress" }, i + goal * (finite - 2)));
327
+ }
328
+ }
329
+ }
330
+ // case repetition many
331
+ else {
332
+ let position = (progress % goal) + goal;
333
+ let ratio = 1 / goal;
334
+ columns += "0fr 0fr ";
335
+ items.push(h("div", { class: "progress bg" }, goal * (repetitions - 1)));
336
+ items.push(h("div", { class: "gift start" }, gift1));
337
+ for (let i = 1; i < goal * 2 + 1; i++) {
338
+ columns += ratio + "fr 0fr ";
339
+ if (i <= goal) {
340
+ if (i == goal) {
341
+ columns += "0fr ";
342
+ items.push(h("div", { class: "filled" }));
343
+ items.push(h("div", { class: "progress bg" }, i + goal * (repetitions - 1)));
344
+ items.push(h("div", { class: "gift" }, gift2));
345
+ }
346
+ else {
347
+ items.push(h("div", { class: "filled" }));
348
+ items.push(h("div", { class: "progress" }, i + goal * (repetitions - 1)));
349
+ }
350
+ }
351
+ else if (i > position) {
352
+ if (i == goal * 2) {
353
+ columns += "0fr 0fr";
354
+ items.push(h("div", { class: "remain" }));
355
+ items.push(h("div", { class: "empty bg" }, i + goal * (repetitions - 1)));
356
+ items.push(h("div", { class: "gift bw" }, gift3));
357
+ }
358
+ else {
359
+ items.push(h("div", { class: "remain" }));
360
+ items.push(h("div", { class: "empty" }, i + goal * (repetitions - 1)));
361
+ }
362
+ }
363
+ else {
364
+ items.push(h("div", { class: "filled" }));
365
+ items.push(h("div", { class: "progress" }, i + goal * (repetitions - 1)));
366
+ }
367
+ }
368
+ }
369
+ }
370
+ }
@@ -0,0 +1,240 @@
1
+ import { h } from "@stencil/core";
2
+ import jss from "jss";
3
+ import preset from "jss-preset-default";
4
+ import { HostBlock } from "../../global/mixins";
5
+ import * as SVGs from "./SVGs";
6
+ import { ProgressBarView, } from "./progress-bar/progress-bar-view";
7
+ import { DateTime } from "luxon";
8
+ export function TaskCardView(props) {
9
+ // console.log({ props });
10
+ const checkmark_circle = SVGs.checkmark_circle();
11
+ const checkmark_filled = SVGs.checkmark_filled();
12
+ const arrow_left_right = SVGs.arrow_left_right();
13
+ const style = {
14
+ HostBlock: HostBlock,
15
+ TaskCard: {
16
+ "& .main": {
17
+ position: "relative",
18
+ boxSizing: "border-box",
19
+ minWidth: "347px",
20
+ background: "var(--sl-color-neutral-0)",
21
+ border: "1px solid var(--sl-color-neutral-200)",
22
+ borderRadius: "var(--sl-border-radius-medium)",
23
+ fontSize: "var(--sl-font-size-small)",
24
+ lineHeight: "var(--sl-line-height-dense)",
25
+ color: "var(--sl-color-neutral-600)",
26
+ },
27
+ "& .main.complete": {
28
+ background: "var(--sl-color-primary-50)",
29
+ borderColor: "var(--sl-color-primary-500)",
30
+ },
31
+ "& .main.expired": {
32
+ color: "var(--sl-color-neutral-400)",
33
+ background: "var(--sl-color-neutral-50)",
34
+ },
35
+ "& .title": {
36
+ fontSize: "var(--sl-font-size-medium)",
37
+ fontWeight: "var(--sl-font-weight-semibold)",
38
+ color: "var(--sl-color-neutral-950)",
39
+ },
40
+ "& .container": {
41
+ margin: "var(--sl-spacing-medium)",
42
+ },
43
+ "& .container.subdued": {
44
+ opacity: "0.66",
45
+ },
46
+ "& .container > div": {
47
+ margin: "var(--sl-spacing-medium) 0",
48
+ },
49
+ },
50
+ Expired: {
51
+ margin: "var(--sl-spacing-medium)",
52
+ marginBottom: "calc(var(--sl-spacing-x-small)*-1)",
53
+ color: "var(--sl-color-warning-600)",
54
+ fontWeight: "var(--sl-font-weight-semibold)",
55
+ },
56
+ Header: {
57
+ display: "flex",
58
+ "& .icon": {
59
+ position: "relative",
60
+ top: "5%",
61
+ alignSelf: "center",
62
+ lineHeight: "0",
63
+ color: "var(--sl-color-primary-400)",
64
+ fontSize: "var(--sl-font-size-large)",
65
+ marginRight: "var(--sl-spacing-x-small)",
66
+ },
67
+ "& .value": {
68
+ alignSelf: "center",
69
+ fontSize: "var(--sl-font-size-x-large)",
70
+ fontWeight: "var(--sl-font-weight-semibold)",
71
+ color: "var(--sl-color-neutral-950)",
72
+ lineHeight: "100%",
73
+ marginRight: "var(--sl-spacing-xx-small)",
74
+ },
75
+ "& .text": {
76
+ alignSelf: "end",
77
+ textTransform: "uppercase",
78
+ fontSize: "var(--sl-font-size-x-small)",
79
+ color: "var(--sl-color-neutral-950)",
80
+ lineHeight: "var(--sl-font-size-medium)",
81
+ marginRight: "var(--sl-spacing-xx-small)",
82
+ },
83
+ "& .end": {
84
+ color: "var(--sl-color-warning-500)",
85
+ fontWeight: "var(--sl-font-weight-semibold)",
86
+ marginBottom: "var(--sl-spacing-xx-small)",
87
+ },
88
+ "& .neutral": {
89
+ color: "var(--sl-color-neutral-400)",
90
+ },
91
+ },
92
+ Footer: {
93
+ display: "flex",
94
+ "& .icon": {
95
+ fontSize: "var(--sl-font-size-xx-small)",
96
+ marginRight: "var(--sl-spacing-xx-small)",
97
+ verticalAlign: "middle",
98
+ },
99
+ "& .text": {
100
+ marginTop: "auto",
101
+ verticalAlign: "text-bottom",
102
+ fontSize: "var(--sl-font-size-x-small)",
103
+ },
104
+ "& .success": {
105
+ color: "var(--sl-color-primary-500)",
106
+ fontWeight: "var(--sl-font-weight-semibold)",
107
+ },
108
+ "& .action": {
109
+ marginTop: "auto",
110
+ marginLeft: "auto",
111
+ "&::part(base)": {
112
+ color: "var(--sl-color-neutral-0)",
113
+ borderRadius: "var(--sl-border-radius-medium)",
114
+ },
115
+ "&.disabled::part(base)": {
116
+ border: "1px solid var(--sl-color-primary-400)",
117
+ background: "var(--sl-color-primary-400)",
118
+ },
119
+ "&.neutral::part(base)": {
120
+ border: "1px solid var(--sl-color-neutral-400)",
121
+ background: "var(--sl-color-neutral-400)",
122
+ },
123
+ },
124
+ "& .neutral": {
125
+ color: "var(--sl-color-neutral-400)",
126
+ },
127
+ },
128
+ };
129
+ jss.setup(preset());
130
+ const sheet = jss.createStyleSheet(style);
131
+ const styleString = sheet.toString();
132
+ const showComplete = props.progress >= props.goal;
133
+ const repetitions = props.showProgressBar
134
+ ? Math.floor(props.progress / props.goal)
135
+ : props.progress;
136
+ const dateStart = props.showExpiry && DateTime.fromISO(props.rewardDuration.split("/")[0]);
137
+ const dateEnd = props.showExpiry && DateTime.fromISO(props.rewardDuration.split("/")[1]);
138
+ const dateToday = DateTime.now();
139
+ const taskComplete = (showComplete && props.repeatable === false) ||
140
+ (props.finite && props.progress >= props.finite * props.goal);
141
+ const taskEnded = props.showExpiry && dateEnd <= dateToday;
142
+ const taskNotStarted = props.showExpiry && dateToday <= dateStart;
143
+ const taskUnavailable = taskEnded || taskNotStarted;
144
+ return (h("div", { class: sheet.classes.TaskCard },
145
+ h("div", { class: taskUnavailable
146
+ ? "main expired"
147
+ : taskComplete
148
+ ? "main complete"
149
+ : "main" },
150
+ h("style", { type: "text/css" }, styleString),
151
+ taskUnavailable && (h("div", { class: sheet.classes.Expired }, taskEnded
152
+ ? "Ended " + dateEnd.toLocaleString(DateTime.DATE_MED)
153
+ : "Starts " + dateStart.toLocaleString(DateTime.DATE_MED))),
154
+ h("div", { class: taskComplete || taskUnavailable ? "container subdued" : "container" },
155
+ h("div", { class: sheet.classes.Header }, props.loading ? (h("sl-skeleton", { style: { width: "22%", margin: "0" } })) : (h("div", null,
156
+ showComplete && (h("span", { class: taskUnavailable ? "icon neutral" : "icon" }, taskComplete ? checkmark_filled : checkmark_circle)),
157
+ h("span", { class: "value" }, props.rewardAmount),
158
+ h("span", { class: "text" }, props.rewardUnit)))),
159
+ props.loading ? (h("sl-skeleton", { style: { width: "42%", margin: "var(--sl-spacing-medium) 0" } })) : (h("div", { class: "title" }, props.cardTitle)),
160
+ props.loading ? (h("sl-skeleton", { style: { margin: "var(--sl-spacing-medium) 0" } })) : (h(Details, Object.assign({}, props))),
161
+ props.showProgressBar && props.loading ? (h("sl-skeleton", { style: { margin: "var(--sl-spacing-medium) 0" } })) : (props.showProgressBar && (h(ProgressBarView, Object.assign({}, props, { complete: taskComplete, expired: taskUnavailable })))),
162
+ h("div", { class: sheet.classes.Footer }, props.loading ? (h("sl-skeleton", { style: { width: "25%", marginLeft: "auto" } })) : (h("div", { style: { display: "contents" } },
163
+ h("span", { class: "text" },
164
+ props.repeatable && (h("div", null,
165
+ h("span", { class: repetitions > 0
166
+ ? taskUnavailable
167
+ ? "icon neutral"
168
+ : "icon success"
169
+ : "icon" }, arrow_left_right),
170
+ h("span", { class: repetitions > 0
171
+ ? taskUnavailable
172
+ ? "neutral"
173
+ : "success"
174
+ : "" }, "Completed " +
175
+ (props.finite
176
+ ? Math.min(repetitions, props.finite)
177
+ : repetitions) +
178
+ (props.finite ? "/" + props.finite : "") +
179
+ " times"))),
180
+ props.showExpiry && !taskUnavailable && (h("span", null, "Ends " + dateEnd.toLocaleString(DateTime.DATE_FULL)))),
181
+ h("sl-button", { class: taskUnavailable
182
+ ? "action neutral"
183
+ : taskComplete
184
+ ? "action disabled"
185
+ : "action", type: "primary", size: "small", onClick: () => props.openNewTab
186
+ ? window.open(props.buttonLink)
187
+ : window.open(props.buttonLink, "_parent"), disabled: taskComplete || taskUnavailable }, props.buttonText))))))));
188
+ }
189
+ function Details(props) {
190
+ const style = {
191
+ Description: {
192
+ "& input[type=checkbox]": {
193
+ display: "none",
194
+ },
195
+ "& input:checked ~ .details": {
196
+ transform: "rotate(-180deg)",
197
+ },
198
+ "& .details": {
199
+ position: "absolute",
200
+ top: "var(--sl-spacing-medium)",
201
+ right: "var(--sl-spacing-medium)",
202
+ color: "var(--sl-color-neutral-700)",
203
+ fontSize: "var(--sl-font-size-large)",
204
+ "& :hover": {
205
+ color: "var(--sl-color-primary-700)",
206
+ },
207
+ transformOrigin: "50% 37%",
208
+ transition: "transform var(--sl-transition-medium) ease",
209
+ },
210
+ "& input:checked ~ .summary": {
211
+ transition: "all var(--sl-transition-medium) ease",
212
+ maxHeight: "300px",
213
+ marginBottom: props.steps
214
+ ? "var(--sl-spacing-x-large)"
215
+ : props.showProgressBar
216
+ ? "var(--sl-spacing-xx-large)"
217
+ : "var(--sl-spacing-x-large)",
218
+ },
219
+ "& .summary": {
220
+ display: "block",
221
+ overflow: "hidden",
222
+ fontSize: "var(--sl-font-size-small)",
223
+ maxHeight: "0px",
224
+ transition: "all var(--sl-transition-fast) ease-out",
225
+ marginBottom: "var(--sl-spacing-medium)",
226
+ },
227
+ },
228
+ };
229
+ jss.setup(preset());
230
+ const sheet = jss.createStyleSheet(style);
231
+ const styleString = sheet.toString();
232
+ const rid = Math.random().toString(36).slice(2);
233
+ return (h("div", null,
234
+ h("style", { type: "text/css" }, styleString),
235
+ h("span", { class: sheet.classes.Description },
236
+ h("input", { type: "checkbox", id: "details-" + rid }),
237
+ h("label", { class: "details", htmlFor: "details-" + rid },
238
+ h("sl-icon", { name: "chevron-down" })),
239
+ h("span", { class: "summary" }, props.description))));
240
+ }