@saasquatch/mint-components 1.6.8 → 1.6.10-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 (677) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/{GenericTableView-9271483b.js → GenericTableView-380b83e2.js} +7 -2
  3. package/dist/cjs/{ShadowViewAddon-952b4df5.js → ShadowViewAddon-8be973fa.js} +742 -434
  4. package/dist/cjs/email-registration-view-f347daa7.js +79 -0
  5. package/dist/cjs/{global-0b8cbb00.js → global-e0036ac2.js} +661 -655
  6. package/dist/cjs/{index.module-c6626247.js → index.module-e67cc994.js} +250 -221
  7. package/dist/cjs/loader.cjs.js +3 -4
  8. package/dist/cjs/mint-components.cjs.js +3 -4
  9. package/dist/cjs/{re-render-fce04f85.js → re-render-86f5c1d6.js} +4 -4
  10. package/dist/cjs/{sqm-asset-card-view-59c39ed2.js → sqm-asset-card-view-a0e33f21.js} +2 -2
  11. package/dist/cjs/sqm-asset-card.cjs.entry.js +2 -3
  12. package/dist/cjs/{sqm-big-stat_35.cjs.entry.js → sqm-big-stat_39.cjs.entry.js} +1034 -483
  13. package/dist/cjs/sqm-close-button-view-fd6e8f60.js +28 -0
  14. package/dist/cjs/sqm-close-button.cjs.entry.js +41 -0
  15. package/dist/cjs/sqm-empty_5.cjs.entry.js +65 -58
  16. package/dist/cjs/sqm-form-message.cjs.entry.js +4 -1
  17. package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +4 -5
  18. package/dist/cjs/sqm-header-logo.cjs.entry.js +3 -3
  19. package/dist/cjs/sqm-instant-access-registration.cjs.entry.js +158 -0
  20. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +17 -18
  21. package/dist/cjs/sqm-logout-current-user-view-555c7729.js +37 -0
  22. package/dist/cjs/sqm-logout-current-user.cjs.entry.js +62 -0
  23. package/dist/cjs/{sqm-navigation-sidebar-item-view-8b4f304f.js → sqm-navigation-sidebar-item-view-d49d0ac0.js} +4 -4
  24. package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +3 -4
  25. package/dist/cjs/{sqm-navigation-sidebar-view-4704aa73.js → sqm-navigation-sidebar-view-dd53f947.js} +143 -143
  26. package/dist/cjs/sqm-navigation-sidebar.cjs.entry.js +3 -4
  27. package/dist/cjs/sqm-password-field.cjs.entry.js +14 -15
  28. package/dist/cjs/sqm-popup-container.cjs.entry.js +6 -7
  29. package/dist/cjs/{sqm-portal-container-view-5beae29c.js → sqm-portal-container-view-5fb2ad49.js} +8 -7
  30. package/dist/cjs/{sqm-portal-email-verification-view-26c166dc.js → sqm-portal-email-verification-view-e550979b.js} +9 -9
  31. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +16 -17
  32. package/dist/cjs/{sqm-portal-forgot-password-view-235733ea.js → sqm-portal-forgot-password-view-0142350f.js} +9 -9
  33. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +12 -13
  34. package/dist/cjs/sqm-portal-logout.cjs.entry.js +3 -4
  35. package/dist/cjs/{sqm-portal-profile-view-14d2f91d.js → sqm-portal-profile-view-2bb25095.js} +3 -3
  36. package/dist/cjs/sqm-portal-profile.cjs.entry.js +47 -48
  37. package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +8 -9
  38. package/dist/cjs/sqm-portal-registration-form.cjs.entry.js +51 -52
  39. package/dist/cjs/{sqm-portal-reset-password-view-803a56be.js → sqm-portal-reset-password-view-d5bc7afc.js} +8 -8
  40. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +17 -18
  41. package/dist/cjs/{sqm-portal-verify-email-view-6741f5bd.js → sqm-portal-verify-email-view-f6c7287e.js} +10 -10
  42. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +10 -11
  43. package/dist/cjs/sqm-referral-table_11.cjs.entry.js +38 -39
  44. package/dist/cjs/sqm-referred-registration.cjs.entry.js +160 -0
  45. package/dist/cjs/sqm-rewards-table-customer-note-cell.cjs.entry.js +1 -1
  46. package/dist/cjs/sqm-rewards-table-customer-note-column.cjs.entry.js +3 -4
  47. package/dist/cjs/sqm-rewards-table_9.cjs.entry.js +138 -139
  48. package/dist/cjs/sqm-stencilbook.cjs.entry.js +6333 -5834
  49. package/dist/cjs/sqm-tab.cjs.entry.js +2 -3
  50. package/dist/cjs/sqm-tabs.cjs.entry.js +8 -9
  51. package/dist/cjs/{sqm-text-span-view-c34577fa.js → sqm-text-span-view-e1cd9bd3.js} +8 -8
  52. package/dist/cjs/sqm-text-span.cjs.entry.js +1 -1
  53. package/dist/cjs/{useChildElements-eaa9e49d.js → useChildElements-8627c9be.js} +2 -2
  54. package/dist/cjs/useInstantAccessRegistration-633575aa.js +87 -0
  55. package/dist/cjs/{useReferralTable-f3e792eb.js → useReferralTable-0383a467.js} +190 -190
  56. package/dist/cjs/{useRegistrationFormState-a1861717.js → useRegistrationFormState-7b8b58e4.js} +2 -2
  57. package/dist/collection/collection-manifest.json +7 -1
  58. package/dist/collection/components/sqm-asset-card/sqm-asset-card-view.js +2 -2
  59. package/dist/collection/components/sqm-asset-card/sqm-asset-card.js +2 -2
  60. package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +3 -3
  61. package/dist/collection/components/sqm-big-stat/useBigStat.js +238 -238
  62. package/dist/collection/components/sqm-brand/sqm-brand.js +24 -24
  63. package/dist/collection/components/sqm-card-feed/sqm-card-feed-view.js +6 -6
  64. package/dist/collection/components/sqm-card-feed/sqm-card-feed.js +4 -4
  65. package/dist/collection/components/sqm-checkbox-field/CheckboxField.stories.js +6 -1
  66. package/dist/collection/components/sqm-checkbox-field/sqm-checkbox-field-view.js +15 -15
  67. package/dist/collection/components/sqm-checkbox-field/sqm-checkbox-field.js +9 -9
  68. package/dist/collection/components/sqm-close-button/CloseButton.stories.js +27 -0
  69. package/dist/collection/components/sqm-close-button/sqm-close-button-view.js +23 -0
  70. package/dist/collection/components/sqm-close-button/sqm-close-button.js +65 -0
  71. package/dist/collection/components/sqm-coupon-code/CouponCode.stories.js +72 -0
  72. package/dist/collection/components/sqm-coupon-code/sqm-coupon-code-view.js +30 -0
  73. package/dist/collection/components/sqm-coupon-code/sqm-coupon-code.js +526 -0
  74. package/dist/collection/components/sqm-coupon-code/useCouponCode.js +126 -0
  75. package/dist/collection/components/sqm-divided-layout/sqm-divided-layout-view.js +16 -16
  76. package/dist/collection/components/sqm-divided-layout/sqm-divided-layout.js +2 -2
  77. package/dist/collection/components/sqm-dropdown-field/sqm-dropdown-field-view.js +11 -11
  78. package/dist/collection/components/sqm-dropdown-field/sqm-dropdown-field.js +5 -5
  79. package/dist/collection/components/sqm-edit-profile/sqm-edit-profile-view.js +4 -4
  80. package/dist/collection/components/sqm-edit-profile/sqm-edit-profile.js +7 -7
  81. package/dist/collection/components/sqm-edit-profile/useEditProfile.js +32 -32
  82. package/dist/collection/components/sqm-empty/sqm-empty-view.js +1 -1
  83. package/dist/collection/components/sqm-form-message/FormMessage.stories.js +4 -0
  84. package/dist/collection/components/sqm-form-message/sqm-form-message.css +5 -0
  85. package/dist/collection/components/sqm-form-message/sqm-form-message.js +8 -3
  86. package/dist/collection/components/sqm-header-logo/sqm-header-logo.js +6 -6
  87. package/dist/collection/components/sqm-hero/Hero.stories.js +30 -0
  88. package/dist/collection/components/sqm-hero/sqm-hero-view.js +20 -19
  89. package/dist/collection/components/sqm-hero/sqm-hero.js +42 -8
  90. package/dist/collection/components/sqm-hero-image/sqm-hero-image-view.js +10 -10
  91. package/dist/collection/components/sqm-hero-image/sqm-hero-image.js +21 -21
  92. package/dist/collection/components/sqm-image/sqm-image-view.js +6 -6
  93. package/dist/collection/components/sqm-image/sqm-image.js +5 -5
  94. package/dist/collection/components/sqm-input-field/InputField.stories.js +6 -1
  95. package/dist/collection/components/sqm-input-field/sqm-input-field-view.js +7 -7
  96. package/dist/collection/components/sqm-input-field/sqm-input-field.js +6 -6
  97. package/dist/collection/components/sqm-instant-access-registration/sqm-instant-access-registration.js +574 -0
  98. package/dist/collection/components/sqm-instant-access-registration/useInstantAccessRegistration.js +82 -0
  99. package/dist/collection/components/sqm-leaderboard/sqm-leaderboard-view.js +6 -6
  100. package/dist/collection/components/sqm-leaderboard/sqm-leaderboard.js +15 -15
  101. package/dist/collection/components/sqm-leaderboard/useLeaderboard.js +40 -40
  102. package/dist/collection/components/sqm-leaderboard-rank/sqm-leaderboard-rank.js +8 -8
  103. package/dist/collection/components/sqm-leaderboard-rank/useLeaderboardRank.js +12 -12
  104. package/dist/collection/components/sqm-link-button/LinkButton.stories.js +19 -0
  105. package/dist/collection/components/sqm-link-button/sqm-link-button-view.js +25 -0
  106. package/dist/collection/components/sqm-link-button/sqm-link-button.js +102 -0
  107. package/dist/collection/components/sqm-logout-current-user/LogoutCurrentUser.stories.js +17 -0
  108. package/dist/collection/components/sqm-logout-current-user/sqm-logout-current-user-view.js +32 -0
  109. package/dist/collection/components/sqm-logout-current-user/sqm-logout-current-user.js +128 -0
  110. package/dist/collection/components/sqm-logout-current-user/useLogoutCurrentUser.js +14 -0
  111. package/dist/collection/components/sqm-name-fields/sqm-name-fields-view.js +11 -11
  112. package/dist/collection/components/sqm-name-fields/sqm-name-fields.js +4 -4
  113. package/dist/collection/components/sqm-navigation-menu/sqm-navigation-menu.js +2 -2
  114. package/dist/collection/components/sqm-navigation-sidebar/sqm-navigation-sidebar-view.js +143 -143
  115. package/dist/collection/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item-view.js +2 -2
  116. package/dist/collection/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item.js +1 -1
  117. package/dist/collection/components/sqm-password-field/sqm-password-field-view.js +10 -10
  118. package/dist/collection/components/sqm-password-field/sqm-password-field.js +4 -4
  119. package/dist/collection/components/sqm-popup-container/sqm-popup-container-view.js +2 -2
  120. package/dist/collection/components/sqm-popup-container/sqm-popup-container.js +5 -5
  121. package/dist/collection/components/sqm-portal-change-password/sqm-portal-change-password.js +16 -16
  122. package/dist/collection/components/sqm-portal-container/PortalContainer.stories.js +12 -0
  123. package/dist/collection/components/sqm-portal-container/sqm-portal-container-view.js +6 -5
  124. package/dist/collection/components/sqm-portal-container/sqm-portal-container.js +41 -4
  125. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification-view.js +7 -7
  126. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +12 -12
  127. package/dist/collection/components/sqm-portal-footer/PortalFooter.stories.js +1 -0
  128. package/dist/collection/components/sqm-portal-footer/sqm-portal-footer-view.js +15 -13
  129. package/dist/collection/components/sqm-portal-footer/sqm-portal-footer.js +63 -22
  130. package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.js +8 -8
  131. package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +12 -12
  132. package/dist/collection/components/sqm-portal-frame/sqm-portal-frame-view.js +3 -3
  133. package/dist/collection/components/sqm-portal-login/sqm-portal-login-view.js +9 -9
  134. package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +18 -18
  135. package/dist/collection/components/sqm-portal-logout/sqm-portal-logout.js +3 -2
  136. package/dist/collection/components/sqm-portal-profile/sqm-portal-profile-view.js +1 -1
  137. package/dist/collection/components/sqm-portal-profile/sqm-portal-profile.js +16 -16
  138. package/dist/collection/components/sqm-portal-profile/usePortalProfile.js +32 -32
  139. package/dist/collection/components/sqm-portal-protected-route/sqm-portal-protected-route.js +6 -6
  140. package/dist/collection/components/sqm-portal-register/PortalRegister.stories.js +16 -2
  141. package/dist/collection/components/sqm-portal-register/sqm-portal-register-view.js +19 -19
  142. package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +151 -25
  143. package/dist/collection/components/sqm-portal-register/usePortalRegister.js +5 -5
  144. package/dist/collection/components/sqm-portal-registration-form/sqm-portal-registration-form-view.js +15 -15
  145. package/dist/collection/components/sqm-portal-registration-form/sqm-portal-registration-form.js +35 -35
  146. package/dist/collection/components/sqm-portal-registration-form/usePortalRegistrationForm.js +12 -12
  147. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password-view.js +7 -7
  148. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +18 -18
  149. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email-view.js +9 -9
  150. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +4 -4
  151. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer-view.js +12 -12
  152. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer.js +3 -3
  153. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step-view.js +13 -13
  154. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step.js +3 -3
  155. package/dist/collection/components/sqm-referral-card/ReferralCard.stories.js +35 -0
  156. package/dist/collection/components/sqm-referral-card/sqm-referral-card-view.js +40 -37
  157. package/dist/collection/components/sqm-referral-card/sqm-referral-card.js +249 -4
  158. package/dist/collection/components/sqm-referral-iframe/sqm-referral-iframe.js +5 -5
  159. package/dist/collection/components/sqm-referral-iframe/useReferralIframe.js +8 -8
  160. package/dist/collection/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.js +7 -7
  161. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-column.js +1 -1
  162. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-date-column.js +6 -6
  163. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.js +14 -14
  164. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-status-column.js +6 -6
  165. package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-user-column.js +6 -6
  166. package/dist/collection/components/sqm-referral-table/sqm-referral-table.js +18 -18
  167. package/dist/collection/components/sqm-referral-table/useReferralTable.js +183 -183
  168. package/dist/collection/components/sqm-referred-registration/sqm-referred-registration.js +576 -0
  169. package/dist/collection/components/sqm-reward-exchange-list/UseRewardExchangeList.stories.js +8 -8
  170. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +8 -8
  171. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +50 -50
  172. package/dist/collection/components/sqm-reward-exchange-list/useRewardExchangeList.js +51 -51
  173. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.js +3 -3
  174. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.js +5 -5
  175. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-note-column.js +2 -2
  176. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.js +9 -9
  177. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.js +12 -12
  178. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.js +12 -12
  179. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +14 -14
  180. package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +103 -103
  181. package/dist/collection/components/sqm-route/sqm-route.js +1 -1
  182. package/dist/collection/components/sqm-router/Router.stories.js +71 -71
  183. package/dist/collection/components/sqm-router/sqm-router.css +7 -7
  184. package/dist/collection/components/sqm-scroll/Scroll.stories.js +50 -50
  185. package/dist/collection/components/sqm-scroll/sqm-scroll.js +22 -22
  186. package/dist/collection/components/sqm-share-button/sqm-share-button-view.js +22 -22
  187. package/dist/collection/components/sqm-share-button/sqm-share-button.js +21 -21
  188. package/dist/collection/components/sqm-share-button/useShareButton.js +17 -17
  189. package/dist/collection/components/sqm-share-code/ShareCode.stories.js +34 -1
  190. package/dist/collection/components/sqm-share-code/sqm-share-code.js +122 -15
  191. package/dist/collection/components/sqm-share-code/useShareCode.js +15 -15
  192. package/dist/collection/components/sqm-share-link/ShareLink.stories.js +39 -7
  193. package/dist/collection/components/sqm-share-link/UseShareLink.stories.js +4 -4
  194. package/dist/collection/components/sqm-share-link/sqm-share-link.js +125 -18
  195. package/dist/collection/components/sqm-share-link/useShareLink.js +15 -15
  196. package/dist/collection/components/sqm-stat-container/sqm-stat-container-view.js +3 -3
  197. package/dist/collection/components/sqm-stat-container/sqm-stat-container.js +2 -2
  198. package/dist/collection/components/sqm-stencilbook/Resizer.js +24 -24
  199. package/dist/collection/components/sqm-stencilbook/Themes.js +25 -25
  200. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +10 -0
  201. package/dist/collection/components/sqm-tab/sqm-tab.js +1 -1
  202. package/dist/collection/components/sqm-table-cell/sqm-table-cell.js +2 -2
  203. package/dist/collection/components/sqm-tabs/Tabs.stories.js +475 -475
  204. package/dist/collection/components/sqm-tabs/sqm-tabs-view.js +4 -4
  205. package/dist/collection/components/sqm-tabs/sqm-tabs.js +1 -1
  206. package/dist/collection/components/sqm-task-card/DetailsView.js +1 -1
  207. package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +14 -13
  208. package/dist/collection/components/sqm-task-card/sqm-task-card.js +36 -36
  209. package/dist/collection/components/sqm-task-card/useTaskCard.js +6 -6
  210. package/dist/collection/components/sqm-text/sqm-text.js +46 -46
  211. package/dist/collection/components/sqm-text-span/sqm-text-span-view.js +8 -8
  212. package/dist/collection/components/sqm-timeline/sqm-timeline-entry-view.js +13 -13
  213. package/dist/collection/components/sqm-timeline/sqm-timeline-entry.js +2 -2
  214. package/dist/collection/components/sqm-timeline/sqm-timeline.js +8 -8
  215. package/dist/collection/components/sqm-titled-section/sqm-portal-section-view.js +2 -2
  216. package/dist/collection/components/sqm-titled-section/sqm-titled-section.js +6 -6
  217. package/dist/collection/components/sqm-user-name/sqm-user-name.js +4 -4
  218. package/dist/collection/components/sqm-user-name/useUserName.js +9 -9
  219. package/dist/collection/components/views/EmailRegistration.stories.js +80 -0
  220. package/dist/collection/components/views/copy-text-view.js +76 -0
  221. package/dist/collection/components/views/email-registration-view.js +74 -0
  222. package/dist/collection/global/styles.js +659 -653
  223. package/dist/collection/global/styles.ts +735 -729
  224. package/dist/collection/stories/NewPortal.stories.js +5 -5
  225. package/dist/collection/stories/PortalTemplates.stories.js +2 -42
  226. package/dist/collection/stories/Widget.stories.js +32 -13
  227. package/dist/collection/tables/GenericTableView.js +7 -2
  228. package/dist/collection/utils/DefaultTemplateView.js +31 -0
  229. package/dist/collection/utils/TemplateView.js +13 -0
  230. package/dist/esm/{GenericTableView-ce26115f.js → GenericTableView-266126f9.js} +7 -2
  231. package/dist/esm/{ShadowViewAddon-40692fc1.js → ShadowViewAddon-5b06502d.js} +740 -436
  232. package/dist/esm/email-registration-view-0a11e959.js +77 -0
  233. package/dist/esm/{global-27ee1626.js → global-9a9bd884.js} +662 -656
  234. package/dist/esm/{index.module-3c720e8f.js → index.module-f6aa21b2.js} +235 -208
  235. package/dist/esm/loader.js +4 -5
  236. package/dist/esm/{luxon-1e38d7f1.js → luxon-f01e85fe.js} +1 -1
  237. package/dist/esm/mint-components.js +4 -5
  238. package/dist/esm/{re-render-695ddbbd.js → re-render-8acb41bc.js} +5 -5
  239. package/dist/esm/{sqm-asset-card-view-b0f8ef8e.js → sqm-asset-card-view-9d93fbdd.js} +2 -2
  240. package/dist/esm/sqm-asset-card.entry.js +3 -4
  241. package/dist/esm/{sqm-big-stat_35.entry.js → sqm-big-stat_39.entry.js} +1034 -487
  242. package/dist/esm/sqm-close-button-view-dc65b4e3.js +26 -0
  243. package/dist/esm/sqm-close-button.entry.js +37 -0
  244. package/dist/esm/sqm-empty_5.entry.js +66 -59
  245. package/dist/esm/sqm-form-message.entry.js +5 -2
  246. package/dist/esm/sqm-graphql-client-provider.entry.js +5 -6
  247. package/dist/esm/sqm-header-logo.entry.js +4 -4
  248. package/dist/esm/sqm-instant-access-registration.entry.js +154 -0
  249. package/dist/esm/sqm-leaderboard-rank.entry.js +18 -19
  250. package/dist/esm/sqm-logout-current-user-view-2d740794.js +35 -0
  251. package/dist/esm/sqm-logout-current-user.entry.js +58 -0
  252. package/dist/esm/{sqm-navigation-sidebar-item-view-6f909ba7.js → sqm-navigation-sidebar-item-view-4b0f2987.js} +4 -4
  253. package/dist/esm/sqm-navigation-sidebar-item.entry.js +4 -5
  254. package/dist/esm/{sqm-navigation-sidebar-view-06a9d083.js → sqm-navigation-sidebar-view-414bcb19.js} +143 -143
  255. package/dist/esm/sqm-navigation-sidebar.entry.js +4 -5
  256. package/dist/esm/sqm-password-field.entry.js +15 -16
  257. package/dist/esm/sqm-popup-container.entry.js +7 -8
  258. package/dist/esm/{sqm-portal-container-view-2307476f.js → sqm-portal-container-view-ab89c6cc.js} +8 -7
  259. package/dist/esm/{sqm-portal-email-verification-view-edb82534.js → sqm-portal-email-verification-view-14670815.js} +9 -9
  260. package/dist/esm/sqm-portal-email-verification.entry.js +16 -17
  261. package/dist/esm/{sqm-portal-forgot-password-view-5bcdabac.js → sqm-portal-forgot-password-view-41afcace.js} +9 -9
  262. package/dist/esm/sqm-portal-forgot-password.entry.js +13 -14
  263. package/dist/esm/sqm-portal-logout.entry.js +4 -5
  264. package/dist/esm/{sqm-portal-profile-view-5e35bbe0.js → sqm-portal-profile-view-b23618f2.js} +3 -3
  265. package/dist/esm/sqm-portal-profile.entry.js +48 -49
  266. package/dist/esm/sqm-portal-protected-route.entry.js +9 -10
  267. package/dist/esm/sqm-portal-registration-form.entry.js +51 -52
  268. package/dist/esm/{sqm-portal-reset-password-view-aebadea5.js → sqm-portal-reset-password-view-0df781f6.js} +8 -8
  269. package/dist/esm/sqm-portal-reset-password.entry.js +18 -19
  270. package/dist/esm/{sqm-portal-verify-email-view-4ba9cbb9.js → sqm-portal-verify-email-view-1db4fae6.js} +10 -10
  271. package/dist/esm/sqm-portal-verify-email.entry.js +11 -12
  272. package/dist/esm/sqm-referral-table_11.entry.js +40 -41
  273. package/dist/esm/sqm-referred-registration.entry.js +156 -0
  274. package/dist/esm/sqm-rewards-table-customer-note-cell.entry.js +2 -2
  275. package/dist/esm/sqm-rewards-table-customer-note-column.entry.js +4 -5
  276. package/dist/esm/sqm-rewards-table_9.entry.js +140 -141
  277. package/dist/esm/sqm-stencilbook.entry.js +6318 -5819
  278. package/dist/esm/sqm-tab.entry.js +3 -4
  279. package/dist/esm/sqm-tabs.entry.js +9 -10
  280. package/dist/esm/{sqm-text-span-view-f1cacc75.js → sqm-text-span-view-8d140661.js} +8 -8
  281. package/dist/esm/sqm-text-span.entry.js +2 -2
  282. package/dist/esm/{stencil-hooks.module-b48b45ec.js → stencil-hooks.module-14b87f98.js} +1 -1
  283. package/dist/esm/{useChildElements-79be4145.js → useChildElements-debfb941.js} +3 -3
  284. package/dist/esm/useInstantAccessRegistration-ba1c6d6f.js +85 -0
  285. package/dist/esm/{useReferralTable-5c18f7c5.js → useReferralTable-c0e50753.js} +192 -192
  286. package/dist/esm/{useRegistrationFormState-6ce2e16f.js → useRegistrationFormState-85cc12ac.js} +3 -3
  287. package/dist/esm-es5/GenericTableView-266126f9.js +1 -0
  288. package/dist/esm-es5/ShadowViewAddon-5b06502d.js +1 -0
  289. package/dist/esm-es5/email-registration-view-0a11e959.js +1 -0
  290. package/dist/esm-es5/{global-27ee1626.js → global-9a9bd884.js} +2 -2
  291. package/dist/esm-es5/index.module-f6aa21b2.js +1 -0
  292. package/dist/esm-es5/loader.js +1 -1
  293. package/dist/esm-es5/{luxon-1e38d7f1.js → luxon-f01e85fe.js} +1 -1
  294. package/dist/esm-es5/mint-components.js +1 -1
  295. package/dist/esm-es5/{re-render-695ddbbd.js → re-render-8acb41bc.js} +1 -1
  296. package/dist/esm-es5/sqm-asset-card-view-9d93fbdd.js +1 -0
  297. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  298. package/dist/esm-es5/sqm-big-stat_39.entry.js +1 -0
  299. package/dist/esm-es5/sqm-close-button-view-dc65b4e3.js +1 -0
  300. package/dist/esm-es5/sqm-close-button.entry.js +1 -0
  301. package/dist/esm-es5/sqm-empty_5.entry.js +1 -1
  302. package/dist/esm-es5/sqm-form-message.entry.js +1 -1
  303. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  304. package/dist/esm-es5/sqm-header-logo.entry.js +1 -1
  305. package/dist/esm-es5/sqm-instant-access-registration.entry.js +1 -0
  306. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  307. package/dist/esm-es5/sqm-logout-current-user-view-2d740794.js +1 -0
  308. package/dist/esm-es5/sqm-logout-current-user.entry.js +1 -0
  309. package/dist/esm-es5/sqm-navigation-sidebar-item-view-4b0f2987.js +1 -0
  310. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  311. package/dist/esm-es5/{sqm-navigation-sidebar-view-06a9d083.js → sqm-navigation-sidebar-view-414bcb19.js} +1 -1
  312. package/dist/esm-es5/sqm-navigation-sidebar.entry.js +1 -1
  313. package/dist/esm-es5/sqm-password-field.entry.js +1 -1
  314. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  315. package/dist/esm-es5/sqm-portal-container-view-ab89c6cc.js +1 -0
  316. package/dist/esm-es5/{sqm-portal-email-verification-view-edb82534.js → sqm-portal-email-verification-view-14670815.js} +1 -1
  317. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  318. package/dist/esm-es5/sqm-portal-forgot-password-view-41afcace.js +1 -0
  319. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  320. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  321. package/dist/esm-es5/sqm-portal-profile-view-b23618f2.js +1 -0
  322. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  323. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  324. package/dist/esm-es5/sqm-portal-registration-form.entry.js +1 -1
  325. package/dist/esm-es5/{sqm-portal-reset-password-view-aebadea5.js → sqm-portal-reset-password-view-0df781f6.js} +1 -1
  326. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  327. package/dist/esm-es5/sqm-portal-verify-email-view-1db4fae6.js +1 -0
  328. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  329. package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
  330. package/dist/esm-es5/sqm-referred-registration.entry.js +1 -0
  331. package/dist/esm-es5/sqm-rewards-table-customer-note-cell.entry.js +1 -1
  332. package/dist/esm-es5/sqm-rewards-table-customer-note-column.entry.js +1 -1
  333. package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
  334. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  335. package/dist/esm-es5/sqm-tab.entry.js +1 -1
  336. package/dist/esm-es5/sqm-tabs.entry.js +1 -1
  337. package/dist/esm-es5/{sqm-text-span-view-f1cacc75.js → sqm-text-span-view-8d140661.js} +1 -1
  338. package/dist/esm-es5/sqm-text-span.entry.js +1 -1
  339. package/dist/esm-es5/{stencil-hooks.module-b48b45ec.js → stencil-hooks.module-14b87f98.js} +1 -1
  340. package/dist/esm-es5/useChildElements-debfb941.js +1 -0
  341. package/dist/esm-es5/useInstantAccessRegistration-ba1c6d6f.js +1 -0
  342. package/dist/esm-es5/{useReferralTable-5c18f7c5.js → useReferralTable-c0e50753.js} +1 -1
  343. package/dist/esm-es5/useRegistrationFormState-85cc12ac.js +1 -0
  344. package/dist/mint-components/global/styles.ts +735 -729
  345. package/dist/mint-components/mint-components.esm.js +1 -1
  346. package/dist/mint-components/mint-components.js +1 -1
  347. package/dist/mint-components/p-0076de9e.js +1 -0
  348. package/dist/mint-components/p-00a2d823.system.entry.js +1 -0
  349. package/dist/mint-components/p-0a4cc64e.system.entry.js +1 -0
  350. package/dist/mint-components/p-0a524b3a.system.entry.js +1 -0
  351. package/dist/mint-components/p-0bac2259.js +1 -0
  352. package/dist/mint-components/p-0bf5a9b8.system.entry.js +1 -0
  353. package/dist/mint-components/p-0c0406de.system.js +1 -0
  354. package/dist/mint-components/p-125cc103.system.js +1 -0
  355. package/dist/mint-components/p-13c5da81.system.entry.js +1 -0
  356. package/dist/mint-components/p-1431d0cc.js +268 -0
  357. package/dist/mint-components/p-1437b793.system.js +1 -0
  358. package/dist/mint-components/p-16394ed3.system.entry.js +1 -0
  359. package/dist/mint-components/p-18061615.system.js +1 -0
  360. package/dist/mint-components/p-1b202e9d.system.entry.js +1 -0
  361. package/dist/mint-components/p-1c9d83b4.entry.js +1 -0
  362. package/dist/mint-components/p-1ed329cf.js +1 -0
  363. package/dist/mint-components/p-21194d7a.entry.js +1 -0
  364. package/dist/mint-components/p-22f2c1a1.system.entry.js +1 -0
  365. package/dist/mint-components/p-28ab0efa.entry.js +1 -0
  366. package/dist/mint-components/p-295c7536.js +1 -0
  367. package/dist/mint-components/p-29edd49c.system.js +1 -0
  368. package/dist/mint-components/{p-3c189cea.system.js → p-2b6c19e0.system.js} +1 -1
  369. package/dist/mint-components/p-2bf86715.js +1 -0
  370. package/dist/mint-components/p-303523a9.system.entry.js +1 -0
  371. package/dist/mint-components/p-3036cf58.system.js +1 -0
  372. package/dist/mint-components/p-36c08962.js +1 -0
  373. package/dist/mint-components/p-372c5ca6.entry.js +1 -0
  374. package/dist/mint-components/p-382d40fd.entry.js +1 -0
  375. package/dist/mint-components/{p-b79c0e38.system.js → p-3cc28285.system.js} +1 -1
  376. package/dist/mint-components/p-3daf7be5.entry.js +1 -0
  377. package/dist/mint-components/p-3f3608fe.entry.js +1 -0
  378. package/dist/mint-components/{p-ba307441.entry.js → p-402fb5b6.entry.js} +1 -1
  379. package/dist/mint-components/p-403d9862.system.entry.js +1 -0
  380. package/dist/mint-components/p-46be1518.system.js +1 -0
  381. package/dist/mint-components/p-4abb0a92.entry.js +1 -0
  382. package/dist/mint-components/p-4d343cd2.system.entry.js +1 -0
  383. package/dist/mint-components/{p-45374f45.system.js → p-4f775e84.system.js} +1 -1
  384. package/dist/mint-components/p-538e9ef9.entry.js +1 -0
  385. package/dist/mint-components/{p-dd23d448.system.js → p-56525896.system.js} +1 -1
  386. package/dist/mint-components/p-56c0e916.system.entry.js +1 -0
  387. package/dist/mint-components/p-5bb4983f.entry.js +1 -0
  388. package/dist/mint-components/p-5cfe6e1a.system.entry.js +1 -0
  389. package/dist/mint-components/{p-5d9244de.js → p-5d0c9424.js} +1 -1
  390. package/dist/mint-components/p-5ffee5a0.system.js +1 -0
  391. package/dist/mint-components/p-63397a65.system.entry.js +1 -0
  392. package/dist/mint-components/p-694f2307.system.entry.js +1 -0
  393. package/dist/mint-components/p-69cb3e55.entry.js +1 -0
  394. package/dist/mint-components/p-6ba4dc68.system.entry.js +1 -0
  395. package/dist/mint-components/p-6d45b2f8.entry.js +1 -0
  396. package/dist/mint-components/p-6de3902b.entry.js +1 -0
  397. package/dist/mint-components/{p-70ccc481.system.js → p-6e4f3741.system.js} +1 -1
  398. package/dist/mint-components/p-75ddf3ca.js +1 -0
  399. package/dist/mint-components/{p-1f8706fb.system.js → p-76b5a1e8.system.js} +1 -1
  400. package/dist/mint-components/{p-0b095d21.js → p-780b5e23.js} +1 -1
  401. package/dist/mint-components/p-79da7f18.js +1 -0
  402. package/dist/mint-components/{p-c9a2502c.system.js → p-7a7b1f09.system.js} +1 -1
  403. package/dist/mint-components/{p-29452204.entry.js → p-806f9b38.entry.js} +2 -2
  404. package/dist/mint-components/p-8428afbd.system.js +1 -0
  405. package/dist/mint-components/{p-b23d673e.js → p-84b6349a.js} +4 -4
  406. package/dist/mint-components/p-87333aca.system.entry.js +1 -0
  407. package/dist/mint-components/p-8f2e8f25.system.entry.js +1 -0
  408. package/dist/mint-components/p-8fac996d.js +1 -0
  409. package/dist/mint-components/{p-ed801cb7.js → p-901f5b80.js} +1 -1
  410. package/dist/mint-components/p-9165844e.system.js +1 -0
  411. package/dist/mint-components/p-922578e4.system.js +1 -0
  412. package/dist/mint-components/p-940dc343.system.js +1 -0
  413. package/dist/mint-components/p-98d239b4.system.entry.js +1 -0
  414. package/dist/mint-components/p-9907bc8a.js +1 -0
  415. package/dist/mint-components/p-9fc8505c.entry.js +1 -0
  416. package/dist/mint-components/p-a217deee.js +1 -0
  417. package/dist/mint-components/p-a5e1df21.js +1 -0
  418. package/dist/mint-components/p-a7f8ee50.system.entry.js +1 -0
  419. package/dist/mint-components/p-a8364b08.entry.js +187 -0
  420. package/dist/mint-components/p-a9898f93.system.entry.js +1 -0
  421. package/dist/mint-components/p-b47a7d5b.system.entry.js +1 -0
  422. package/dist/mint-components/{p-2850c602.system.entry.js → p-b668aa0b.system.entry.js} +1 -1
  423. package/dist/mint-components/{p-14c9767e.system.entry.js → p-bc0ce79f.system.entry.js} +1 -1
  424. package/dist/mint-components/p-bf5b269f.entry.js +1 -0
  425. package/dist/mint-components/{p-7ceff8de.system.js → p-c06048c9.system.js} +1 -1
  426. package/dist/mint-components/p-c29211d1.system.js +1 -0
  427. package/dist/mint-components/{p-47ce2382.js → p-c3f6e35f.js} +2 -2
  428. package/dist/mint-components/p-c5577dd7.system.js +1 -0
  429. package/dist/mint-components/p-c7199d22.system.js +1 -0
  430. package/dist/mint-components/p-c8d74710.entry.js +1 -0
  431. package/dist/mint-components/p-ca39fffb.entry.js +1 -0
  432. package/dist/mint-components/p-cb900cb6.system.js +1 -0
  433. package/dist/mint-components/p-ced2f261.system.entry.js +1 -0
  434. package/dist/mint-components/p-ced36beb.system.entry.js +1 -0
  435. package/dist/mint-components/p-cf893ebe.system.entry.js +1 -0
  436. package/dist/mint-components/p-d1b5d727.js +1 -0
  437. package/dist/mint-components/p-d248e6b6.entry.js +1 -0
  438. package/dist/mint-components/p-d3373b3b.entry.js +1 -0
  439. package/dist/mint-components/{p-d1a74f7e.js → p-d38cbe0d.js} +1 -1
  440. package/dist/mint-components/{p-273bba0e.entry.js → p-d520f9ae.entry.js} +2 -2
  441. package/dist/mint-components/{p-25254dd1.js → p-d576140e.js} +1 -1
  442. package/dist/mint-components/p-de04af3c.entry.js +9 -0
  443. package/dist/mint-components/{p-723f3d4f.entry.js → p-de5f644f.entry.js} +2 -2
  444. package/dist/mint-components/{p-d54de97b.system.entry.js → p-e341e670.system.entry.js} +1 -1
  445. package/dist/mint-components/p-e3cd1721.entry.js +1 -0
  446. package/dist/mint-components/p-e704842c.js +1 -0
  447. package/dist/mint-components/p-e7ede162.system.entry.js +1 -0
  448. package/dist/mint-components/p-e92f548d.entry.js +1 -0
  449. package/dist/mint-components/p-ee469a91.entry.js +1 -0
  450. package/dist/mint-components/{p-2f8e0a8a.js → p-efd129de.js} +1 -1
  451. package/dist/mint-components/p-f1db8d9d.system.entry.js +1 -0
  452. package/dist/mint-components/p-f2cc2d1f.entry.js +1 -0
  453. package/dist/mint-components/{p-ddf15193.entry.js → p-f82bb604.entry.js} +1 -1
  454. package/dist/mint-components/p-fb93c962.js +1 -0
  455. package/dist/mint-components/{p-589ec33b.system.js → p-fef3786f.system.js} +2 -2
  456. package/dist/mint-components/p-ff233315.entry.js +1 -0
  457. package/dist/mint-components/{p-7d964c43.system.entry.js → p-ff3b0ece.system.entry.js} +1 -1
  458. package/dist/types/components/sqm-asset-card/sqm-asset-card.d.ts +2 -2
  459. package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +2 -2
  460. package/dist/types/components/sqm-brand/sqm-brand.d.ts +3 -3
  461. package/dist/types/components/sqm-card-feed/sqm-card-feed.d.ts +2 -2
  462. package/dist/types/components/sqm-checkbox-field/sqm-checkbox-field.d.ts +5 -5
  463. package/dist/types/components/sqm-close-button/CloseButton.stories.d.ts +8 -0
  464. package/dist/types/components/sqm-close-button/sqm-close-button-view.d.ts +5 -0
  465. package/dist/types/components/sqm-close-button/sqm-close-button.d.ts +14 -0
  466. package/dist/types/components/sqm-coupon-code/CouponCode.stories.d.ts +25 -0
  467. package/dist/types/components/sqm-coupon-code/sqm-coupon-code-view.d.ts +6 -0
  468. package/dist/types/components/sqm-coupon-code/sqm-coupon-code.d.ts +116 -0
  469. package/dist/types/components/sqm-coupon-code/useCouponCode.d.ts +15 -0
  470. package/dist/types/components/sqm-divided-layout/sqm-divided-layout.d.ts +1 -1
  471. package/dist/types/components/sqm-dropdown-field/sqm-dropdown-field.d.ts +3 -3
  472. package/dist/types/components/sqm-edit-profile/sqm-edit-profile.d.ts +7 -7
  473. package/dist/types/components/sqm-form-message/FormMessage.stories.d.ts +1 -0
  474. package/dist/types/components/sqm-form-message/sqm-form-message.d.ts +4 -2
  475. package/dist/types/components/sqm-header-logo/sqm-header-logo.d.ts +3 -3
  476. package/dist/types/components/sqm-hero/Hero.stories.d.ts +2 -0
  477. package/dist/types/components/sqm-hero/sqm-hero-view.d.ts +1 -0
  478. package/dist/types/components/sqm-hero/sqm-hero.d.ts +12 -5
  479. package/dist/types/components/sqm-hero-image/sqm-hero-image.d.ts +13 -13
  480. package/dist/types/components/sqm-image/sqm-image.d.ts +4 -4
  481. package/dist/types/components/sqm-input-field/sqm-input-field.d.ts +4 -4
  482. package/dist/types/components/sqm-instant-access-registration/sqm-instant-access-registration.d.ts +111 -0
  483. package/dist/types/components/sqm-instant-access-registration/useInstantAccessRegistration.d.ts +11 -0
  484. package/dist/types/components/sqm-leaderboard/sqm-leaderboard.d.ts +10 -10
  485. package/dist/types/components/sqm-leaderboard-rank/sqm-leaderboard-rank.d.ts +5 -5
  486. package/dist/types/components/sqm-link-button/LinkButton.stories.d.ts +9 -0
  487. package/dist/types/components/sqm-link-button/sqm-link-button-view.d.ts +5 -0
  488. package/dist/types/components/sqm-link-button/sqm-link-button.d.ts +24 -0
  489. package/dist/types/components/sqm-logout-current-user/LogoutCurrentUser.stories.d.ts +8 -0
  490. package/dist/types/components/sqm-logout-current-user/sqm-logout-current-user-view.d.ts +6 -0
  491. package/dist/types/components/sqm-logout-current-user/sqm-logout-current-user.d.ts +28 -0
  492. package/dist/types/components/sqm-logout-current-user/useLogoutCurrentUser.d.ts +3 -0
  493. package/dist/types/components/sqm-name-fields/sqm-name-fields.d.ts +2 -2
  494. package/dist/types/components/sqm-navigation-menu/sqm-navigation-menu.d.ts +2 -2
  495. package/dist/types/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item.d.ts +1 -1
  496. package/dist/types/components/sqm-password-field/sqm-password-field.d.ts +2 -2
  497. package/dist/types/components/sqm-popup-container/sqm-popup-container.d.ts +5 -5
  498. package/dist/types/components/sqm-portal-change-password/sqm-portal-change-password.d.ts +8 -8
  499. package/dist/types/components/sqm-portal-container/PortalContainer.stories.d.ts +1 -0
  500. package/dist/types/components/sqm-portal-container/sqm-portal-container-view.d.ts +1 -0
  501. package/dist/types/components/sqm-portal-container/sqm-portal-container.d.ts +10 -3
  502. package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +6 -6
  503. package/dist/types/components/sqm-portal-footer/PortalFooter.stories.d.ts +1 -0
  504. package/dist/types/components/sqm-portal-footer/sqm-portal-footer-view.d.ts +1 -0
  505. package/dist/types/components/sqm-portal-footer/sqm-portal-footer.d.ts +20 -12
  506. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +6 -6
  507. package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +9 -9
  508. package/dist/types/components/sqm-portal-logout/sqm-portal-logout.d.ts +2 -1
  509. package/dist/types/components/sqm-portal-profile/sqm-portal-profile.d.ts +8 -8
  510. package/dist/types/components/sqm-portal-protected-route/sqm-portal-protected-route.d.ts +3 -3
  511. package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +2 -0
  512. package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +40 -12
  513. package/dist/types/components/sqm-portal-registration-form/sqm-portal-registration-form.d.ts +18 -18
  514. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +9 -9
  515. package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +2 -2
  516. package/dist/types/components/sqm-program-explainer/sqm-program-explainer.d.ts +3 -3
  517. package/dist/types/components/sqm-program-explainer-step/sqm-program-explainer-step.d.ts +3 -3
  518. package/dist/types/components/sqm-referral-card/ReferralCard.stories.d.ts +7 -0
  519. package/dist/types/components/sqm-referral-card/sqm-referral-card-view.d.ts +11 -0
  520. package/dist/types/components/sqm-referral-card/sqm-referral-card.d.ts +46 -2
  521. package/dist/types/components/sqm-referral-iframe/sqm-referral-iframe.d.ts +3 -3
  522. package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-column.d.ts +1 -1
  523. package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-date-column.d.ts +2 -2
  524. package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.d.ts +6 -6
  525. package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-status-column.d.ts +3 -3
  526. package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-user-column.d.ts +3 -3
  527. package/dist/types/components/sqm-referral-table/sqm-referral-table.d.ts +8 -8
  528. package/dist/types/components/sqm-referred-registration/sqm-referred-registration.d.ts +111 -0
  529. package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +25 -25
  530. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.d.ts +2 -2
  531. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-note-column.d.ts +1 -1
  532. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.d.ts +4 -4
  533. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.d.ts +6 -6
  534. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.d.ts +6 -6
  535. package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +6 -6
  536. package/dist/types/components/sqm-route/sqm-route.d.ts +1 -1
  537. package/dist/types/components/sqm-scroll/sqm-scroll.d.ts +7 -7
  538. package/dist/types/components/sqm-share-button/sqm-share-button.d.ts +12 -12
  539. package/dist/types/components/sqm-share-code/ShareCode.stories.d.ts +5 -0
  540. package/dist/types/components/sqm-share-code/sqm-share-code.d.ts +26 -4
  541. package/dist/types/components/sqm-share-code/useShareCode.d.ts +2 -2
  542. package/dist/types/components/sqm-share-link/ShareLink.stories.d.ts +5 -0
  543. package/dist/types/components/sqm-share-link/sqm-share-link.d.ts +27 -5
  544. package/dist/types/components/sqm-share-link/useShareLink.d.ts +2 -2
  545. package/dist/types/components/sqm-stat-container/sqm-stat-container.d.ts +1 -1
  546. package/dist/types/components/sqm-tab/sqm-tab.d.ts +1 -1
  547. package/dist/types/components/sqm-table-cell/sqm-table-cell.d.ts +1 -1
  548. package/dist/types/components/sqm-tabs/sqm-tabs.d.ts +1 -1
  549. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +21 -21
  550. package/dist/types/components/sqm-timeline/sqm-timeline-entry.d.ts +2 -2
  551. package/dist/types/components/sqm-titled-section/sqm-titled-section.d.ts +3 -3
  552. package/dist/types/components/sqm-user-name/sqm-user-name.d.ts +2 -2
  553. package/dist/types/components/views/EmailRegistration.stories.d.ts +13 -0
  554. package/dist/types/components/views/copy-text-view.d.ts +16 -0
  555. package/dist/types/components/views/email-registration-view.d.ts +30 -0
  556. package/dist/types/components.d.ts +1691 -727
  557. package/dist/types/global/android.d.ts +7 -7
  558. package/dist/types/global/styles.d.ts +1 -1
  559. package/dist/types/saasquatch.d.ts +132 -132
  560. package/dist/types/stories/Widget.stories.d.ts +36 -0
  561. package/dist/types/stories/features.d.ts +4 -4
  562. package/dist/types/stories/templates.d.ts +4 -4
  563. package/dist/types/utils/DefaultTemplateView.d.ts +1 -0
  564. package/dist/types/utils/TemplateView.d.ts +1 -0
  565. package/docs/docs.docx +0 -0
  566. package/docs/raisins.json +1 -1
  567. package/grapesjs/grapesjs.js +1 -1
  568. package/package.json +104 -102
  569. package/readme.md +13 -13
  570. package/dist/cjs/sqm-hero-view-55ae68f9.js +0 -149
  571. package/dist/cjs/sqm-hero.cjs.entry.js +0 -58
  572. package/dist/cjs/sqm-portal-footer-view-c249df2d.js +0 -82
  573. package/dist/cjs/sqm-portal-footer.cjs.entry.js +0 -68
  574. package/dist/cjs/use-callback-86e9ac75.js +0 -7
  575. package/dist/collection/components/sqm-share-link/sqm-share-link-view.js +0 -18
  576. package/dist/esm/sqm-hero-view-fa98c30f.js +0 -147
  577. package/dist/esm/sqm-hero.entry.js +0 -54
  578. package/dist/esm/sqm-portal-footer-view-ab195d54.js +0 -79
  579. package/dist/esm/sqm-portal-footer.entry.js +0 -64
  580. package/dist/esm/use-callback-051c06c6.js +0 -5
  581. package/dist/esm-es5/GenericTableView-ce26115f.js +0 -1
  582. package/dist/esm-es5/ShadowViewAddon-40692fc1.js +0 -1
  583. package/dist/esm-es5/index.module-3c720e8f.js +0 -1
  584. package/dist/esm-es5/sqm-asset-card-view-b0f8ef8e.js +0 -1
  585. package/dist/esm-es5/sqm-big-stat_35.entry.js +0 -1
  586. package/dist/esm-es5/sqm-hero-view-fa98c30f.js +0 -1
  587. package/dist/esm-es5/sqm-hero.entry.js +0 -1
  588. package/dist/esm-es5/sqm-navigation-sidebar-item-view-6f909ba7.js +0 -1
  589. package/dist/esm-es5/sqm-portal-container-view-2307476f.js +0 -1
  590. package/dist/esm-es5/sqm-portal-footer-view-ab195d54.js +0 -1
  591. package/dist/esm-es5/sqm-portal-footer.entry.js +0 -1
  592. package/dist/esm-es5/sqm-portal-forgot-password-view-5bcdabac.js +0 -1
  593. package/dist/esm-es5/sqm-portal-profile-view-5e35bbe0.js +0 -1
  594. package/dist/esm-es5/sqm-portal-verify-email-view-4ba9cbb9.js +0 -1
  595. package/dist/esm-es5/use-callback-051c06c6.js +0 -1
  596. package/dist/esm-es5/useChildElements-79be4145.js +0 -1
  597. package/dist/esm-es5/useRegistrationFormState-6ce2e16f.js +0 -1
  598. package/dist/mint-components/p-02356211.system.entry.js +0 -1
  599. package/dist/mint-components/p-03bf73ac.entry.js +0 -1
  600. package/dist/mint-components/p-0d32da24.js +0 -1
  601. package/dist/mint-components/p-1450de85.system.entry.js +0 -1
  602. package/dist/mint-components/p-17c14be1.entry.js +0 -1
  603. package/dist/mint-components/p-1866c07f.entry.js +0 -1
  604. package/dist/mint-components/p-1c2c05ea.system.entry.js +0 -1
  605. package/dist/mint-components/p-1cb208fd.system.js +0 -1
  606. package/dist/mint-components/p-1d1fac2c.js +0 -1
  607. package/dist/mint-components/p-1e346217.system.entry.js +0 -1
  608. package/dist/mint-components/p-1ea19d11.system.entry.js +0 -1
  609. package/dist/mint-components/p-1f54fd38.system.js +0 -1
  610. package/dist/mint-components/p-22e95dff.system.entry.js +0 -1
  611. package/dist/mint-components/p-25482fe1.entry.js +0 -1
  612. package/dist/mint-components/p-3cd32c6e.system.js +0 -1
  613. package/dist/mint-components/p-3e8ba80d.entry.js +0 -1
  614. package/dist/mint-components/p-3f075d21.entry.js +0 -1
  615. package/dist/mint-components/p-4294a89c.entry.js +0 -1
  616. package/dist/mint-components/p-45e212a9.entry.js +0 -1
  617. package/dist/mint-components/p-45ee4fcd.entry.js +0 -1
  618. package/dist/mint-components/p-482fb4ac.entry.js +0 -1
  619. package/dist/mint-components/p-4c86095b.js +0 -1
  620. package/dist/mint-components/p-4d322f3b.system.js +0 -1
  621. package/dist/mint-components/p-51dd43c0.system.js +0 -1
  622. package/dist/mint-components/p-53fd1378.entry.js +0 -1
  623. package/dist/mint-components/p-5a8866c0.system.entry.js +0 -1
  624. package/dist/mint-components/p-5fb4fe4a.js +0 -1
  625. package/dist/mint-components/p-668fb3d2.system.entry.js +0 -1
  626. package/dist/mint-components/p-66a393ef.js +0 -1
  627. package/dist/mint-components/p-68620baa.system.entry.js +0 -1
  628. package/dist/mint-components/p-6b8b7dc0.system.js +0 -1
  629. package/dist/mint-components/p-6db612cd.entry.js +0 -1
  630. package/dist/mint-components/p-6dd27a5e.js +0 -1
  631. package/dist/mint-components/p-6eb41f14.system.entry.js +0 -1
  632. package/dist/mint-components/p-6f9f5609.js +0 -1
  633. package/dist/mint-components/p-707e7a2e.system.entry.js +0 -1
  634. package/dist/mint-components/p-727e4538.system.entry.js +0 -1
  635. package/dist/mint-components/p-72b166c9.system.entry.js +0 -1
  636. package/dist/mint-components/p-75bcbf34.entry.js +0 -1
  637. package/dist/mint-components/p-78651bde.entry.js +0 -1
  638. package/dist/mint-components/p-7a539b20.entry.js +0 -1
  639. package/dist/mint-components/p-80e9d337.entry.js +0 -9
  640. package/dist/mint-components/p-87221acc.system.entry.js +0 -1
  641. package/dist/mint-components/p-8874f2c4.js +0 -268
  642. package/dist/mint-components/p-88bef048.system.js +0 -1
  643. package/dist/mint-components/p-895858d0.entry.js +0 -1
  644. package/dist/mint-components/p-8b422807.entry.js +0 -1
  645. package/dist/mint-components/p-8ffaf231.system.entry.js +0 -1
  646. package/dist/mint-components/p-91dee224.system.js +0 -1
  647. package/dist/mint-components/p-93832713.js +0 -1
  648. package/dist/mint-components/p-9732cfef.system.js +0 -1
  649. package/dist/mint-components/p-98e0ea41.system.entry.js +0 -1
  650. package/dist/mint-components/p-99b74c6a.entry.js +0 -159
  651. package/dist/mint-components/p-99c241ef.js +0 -1
  652. package/dist/mint-components/p-9e16b967.entry.js +0 -1
  653. package/dist/mint-components/p-9e20ddfc.entry.js +0 -1
  654. package/dist/mint-components/p-9fa34993.system.entry.js +0 -1
  655. package/dist/mint-components/p-a421f44e.system.js +0 -1
  656. package/dist/mint-components/p-a46c0d32.js +0 -1
  657. package/dist/mint-components/p-aaa67e65.system.entry.js +0 -1
  658. package/dist/mint-components/p-afe80d73.system.js +0 -1
  659. package/dist/mint-components/p-b3169627.system.js +0 -1
  660. package/dist/mint-components/p-b5a64626.js +0 -1
  661. package/dist/mint-components/p-bef0a1f4.system.js +0 -1
  662. package/dist/mint-components/p-c3d4bd17.entry.js +0 -1
  663. package/dist/mint-components/p-c4fc0601.system.entry.js +0 -1
  664. package/dist/mint-components/p-c7090fd1.system.js +0 -1
  665. package/dist/mint-components/p-cd898a3a.js +0 -1
  666. package/dist/mint-components/p-d027de63.entry.js +0 -1
  667. package/dist/mint-components/p-d1d42507.system.entry.js +0 -1
  668. package/dist/mint-components/p-d3ceb986.js +0 -1
  669. package/dist/mint-components/p-dd7ddc3a.system.entry.js +0 -1
  670. package/dist/mint-components/p-e018edb8.system.js +0 -1
  671. package/dist/mint-components/p-e6f5ccc0.entry.js +0 -1
  672. package/dist/mint-components/p-e7548e13.system.entry.js +0 -1
  673. package/dist/mint-components/p-ec8608b9.system.entry.js +0 -1
  674. package/dist/mint-components/p-f2e8bf4c.system.entry.js +0 -1
  675. package/dist/mint-components/p-f37b3375.system.entry.js +0 -1
  676. package/dist/mint-components/p-f66b4b3a.js +0 -1
  677. package/dist/types/components/sqm-share-link/sqm-share-link-view.d.ts +0 -8
@@ -1,21 +1,20 @@
1
1
  import { r as registerInstance, h as h$1, c as Host } from './index-17b4da69.js';
2
- import { m as h, u as useEffect, i as useState, o as d, j as useRef, b as browser, f as useReducer } from './stencil-hooks.module-b48b45ec.js';
3
- import { i as intl } from './global-27ee1626.js';
4
- import { u as useCallback } from './use-callback-051c06c6.js';
5
- import { i as isDemo, R, d as dist, N, a as dn, P as Pe, O, x, o as on, f as fn, j as Ve, M as Me, k as je, p as Le, l as ln, U } from './index.module-3c720e8f.js';
2
+ import { m as h, f as useEffect, j as useState, o as d, k as useRef, b as browser, i as useReducer } from './stencil-hooks.module-14b87f98.js';
3
+ import { i as intl } from './global-9a9bd884.js';
4
+ import { i as isDemo, V, d as dist, L, O, I as Ie, b as mn, T, W, a as dn, p as pn, k as xe, S as Se, l as ke, f as useCallback, n as _e, v as vn } from './index.module-f6aa21b2.js';
6
5
  import { j as jsonpointer } from './jsonpointer-388a7082.js';
7
6
  import { c as cjs } from './cjs-bdfb4486.js';
8
7
  import './mixins-f60a614c.js';
9
8
  import { c as createStyleSheet } from './JSS-67b5cff8.js';
10
- import { a as useRequestRerender } from './re-render-695ddbbd.js';
11
- import { u as useChildElements } from './useChildElements-79be4145.js';
12
- import './luxon-1e38d7f1.js';
9
+ import { a as useRequestRerender } from './re-render-8acb41bc.js';
10
+ import { u as useChildElements } from './useChildElements-debfb941.js';
11
+ import './luxon-f01e85fe.js';
13
12
  import { g as getProps, a as getMissingProps, s as sanitizeUrlPath } from './utils-334c1e34.js';
14
- import './sqm-text-span-view-f1cacc75.js';
13
+ import './sqm-text-span-view-8d140661.js';
14
+ import { R as REGISTRATION_FORM_STATE_CONTEXT, u as useRegistrationFormState } from './useRegistrationFormState-85cc12ac.js';
15
15
  import { A as AsYouType } from './AsYouType-46f67d0d.js';
16
- import { R as REGISTRATION_FORM_STATE_CONTEXT, u as useRegistrationFormState } from './useRegistrationFormState-6ce2e16f.js';
17
- import { c as useDemoBigStat, K as useBigStat, B as BigStatView, H as autoColorScaleCss, G as CardFeedView, C as CheckboxFieldView, D as DropdownFieldView, E as EditProfileView, I as InputFieldView, M as withShadowView, L as LeaderboardView, N as NameFieldsView, e as PortalChangePasswordView, P as PortalFrameView, f as PortalLoginView, g as PortalRegisterView, R as ReferralIframeView, O as demoRewardExchange, i as RewardExchangeView, Q as pathToRegexp, b as useShareButton, S as ShareButtonView, a as ShareLinkView, u as useShareLink, d as StatContainerView, T as TaskCardView } from './ShadowViewAddon-40692fc1.js';
18
- import './sqm-portal-container-view-2307476f.js';
16
+ import { b as useDemoBigStat, U as useBigStat, B as BigStatView, O as autoColorScaleCss, K as CardFeedView, j as CheckboxFieldView, M as CouponCodeView, D as DropdownFieldView, E as EditProfileView, H as HeroView, I as InputFieldView, V as withShadowView, L as LeaderboardView, N as NameFieldsView, d as PortalChangePasswordView, i as PortalFooterView, P as PortalFrameView, e as PortalLoginView, f as PortalRegisterView, R as ReferralIframeView, W as demoRewardExchange, k as RewardExchangeView, X as pathToRegexp, a as useShareButton, S as ShareButtonView, C as CopyTextView, u as useShareLink, c as StatContainerView, T as TaskCardView } from './ShadowViewAddon-5b06502d.js';
17
+ import './sqm-portal-container-view-ab89c6cc.js';
19
18
 
20
19
  const BigStat = class {
21
20
  constructor(hostRef) {
@@ -23,7 +22,7 @@ const BigStat = class {
23
22
  /**
24
23
  * Controls the order of the stat value & description column
25
24
  *
26
- * @uiName Flex Reverse
25
+ * @uiName Flex reverse
27
26
  * @default
28
27
  */
29
28
  this.flexReverse = false;
@@ -34,7 +33,7 @@ const BigStat = class {
34
33
  render() {
35
34
  var _a;
36
35
  const { props, label } = isDemo() ? useDemoBigStat(this) : useBigStat(this);
37
- const host = R();
36
+ const host = V();
38
37
  const hasLabel = !!((_a = host.innerHTML) === null || _a === void 0 ? void 0 : _a.trim());
39
38
  const labelSlot = h$1("slot", { name: "label" }, hasLabel ? h$1("slot", null) : label);
40
39
  return h$1(BigStatView, Object.assign({}, props, { labelSlot: labelSlot }));
@@ -85,27 +84,27 @@ const BrandComponent = class {
85
84
  return () => document.head.removeChild(sheet);
86
85
  }, [sanitizedFont]);
87
86
  const font = sanitizedFont !== null && sanitizedFont !== void 0 ? sanitizedFont : "";
88
- return (h$1(Host, null, h$1("style", null, `
89
-
90
- :host{
91
- display: contents;
92
- }
93
- /*
94
- Selects any element placed inside a slot
95
- - resets css variable inheritence for fonts
96
-
97
- */
98
- ::slotted(*) {
99
- --sl-font-sans: "${font}", arial;
100
- --sl-input-font-family: "${font}", arial;
101
- --sl-tooltip-font-family: "${font}", arial;
102
- font-family: "${font}", arial;
103
-
104
- ${css}
105
-
106
- --sl-focus-ring-color-primary: var(--sl-color-primary-100);
107
- --sl-input-border-color-focus: var(--sl-color-primary-500);
108
- --sl-color-primary-hue: var(--sl-color-primary-500);
87
+ return (h$1(Host, null, h$1("style", null, `
88
+
89
+ :host{
90
+ display: contents;
91
+ }
92
+ /*
93
+ Selects any element placed inside a slot
94
+ - resets css variable inheritence for fonts
95
+
96
+ */
97
+ ::slotted(*) {
98
+ --sl-font-sans: "${font}", arial;
99
+ --sl-input-font-family: "${font}", arial;
100
+ --sl-tooltip-font-family: "${font}", arial;
101
+ font-family: "${font}", arial;
102
+
103
+ ${css}
104
+
105
+ --sl-focus-ring-color-primary: var(--sl-color-primary-100);
106
+ --sl-input-border-color-focus: var(--sl-color-primary-500);
107
+ --sl-color-primary-hue: var(--sl-color-primary-500);
109
108
  }`), h$1("slot", null)));
110
109
  }
111
110
  };
@@ -115,11 +114,11 @@ const CardFeed = class {
115
114
  registerInstance(this, hostRef);
116
115
  this.ignored = true;
117
116
  /**
118
- * @uiName Card Width
117
+ * @uiName Card width
119
118
  */
120
119
  this.width = 347;
121
120
  /**
122
- * @uiName Column Gap
121
+ * @uiName Column gap
123
122
  * @uiType number
124
123
  */
125
124
  this.gap = 24;
@@ -155,7 +154,7 @@ const styleString = sheet.toString();
155
154
  function RequiredPropsError({ missingProps, heading = "There was a problem loading this section", subheading = "There was a technical problem that prevented this section from loading. Please contact us with the link to this page.", description = "Error occured while loading <{tagName}>. Values for the following attributes are missing:", }, children) {
156
155
  if (!missingProps)
157
156
  return false;
158
- const host = R();
157
+ const host = V();
159
158
  const [detailsOpen, setDetailsOpen] = useState(false);
160
159
  return (h$1("sl-alert", { type: "danger", open: true },
161
160
  h$1("style", { type: "text/css" }, styleString),
@@ -209,22 +208,22 @@ const CheckboxField = class {
209
208
  registerInstance(this, hostRef);
210
209
  this.ignored = true;
211
210
  /**
212
- * @uiName Checkbox Label
211
+ * @uiName Checkbox label
213
212
  * @uiWidget textArea
214
213
  */
215
214
  this.checkboxLabel = "By signing up you agree to the {labelLink}";
216
215
  /**
217
216
  * Used with link text if the checkbox label contains {labelLink}
218
217
  *
219
- * @uiName Checkbox Label Link
218
+ * @uiName Checkbox label link
220
219
  */
221
220
  this.checkboxLabelLink = "https://example.com";
222
221
  /**
223
- * @uiName Checkbox Label Link Text
222
+ * @uiName Checkbox label link lext
224
223
  */
225
224
  this.checkboxLabelLinkText = "Terms and Conditions";
226
225
  /**
227
- * @uiName Unchecked Error Message
226
+ * @uiName Unchecked error message
228
227
  */
229
228
  this.errorMessage = "Must be checked";
230
229
  /**
@@ -265,6 +264,258 @@ function useCheckboxFieldDemo(props) {
265
264
  }, props.demoData || {}, { arrayMerge: (_, a) => a });
266
265
  }
267
266
 
267
+ const FuelTankRewardsQuery = dist.gql `
268
+ query fuelTankRewardsQuery($programId: ID!) {
269
+ user: viewer {
270
+ ... on User {
271
+ instantAccessRewards(
272
+ filter: { type_eq: FUELTANK, programId_eq: $programId }
273
+ ) {
274
+ data {
275
+ fuelTankCode
276
+ fuelTankType
277
+ statuses
278
+ dateGiven
279
+ dateExpires
280
+ dateRedeemed
281
+ dateCancelled
282
+ dateScheduledFor
283
+ datePendingForUnhandledError
284
+ }
285
+ count
286
+ totalCount
287
+ }
288
+ }
289
+ }
290
+ }
291
+ `;
292
+ const WIDGET_ENGAGEMENT_EVENT = dist.gql `
293
+ mutation loadEvent($eventMeta: UserAnalyticsEvent!) {
294
+ createUserAnalyticsEvent(eventMeta: $eventMeta)
295
+ }
296
+ `;
297
+ function useCouponCode(props) {
298
+ var _a, _b, _c;
299
+ const user = L();
300
+ const programId = O();
301
+ const engagementMedium = T();
302
+ const [sendLoadEvent] = Ie(WIDGET_ENGAGEMENT_EVENT);
303
+ const { data, loading, refetch, errors } = mn(FuelTankRewardsQuery, { programId }, !(user === null || user === void 0 ? void 0 : user.jwt));
304
+ const getStatus = (reward) => {
305
+ if (!reward || !reward.statuses)
306
+ return "ERROR";
307
+ const state = reward.statuses[reward.statuses.length - 1];
308
+ if (state === "PENDING" && reward.dateScheduledFor === null)
309
+ return "EMPTY_TANK";
310
+ return state;
311
+ };
312
+ const reward = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.instantAccessRewards) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c[0];
313
+ const rewardStatus = getStatus(reward);
314
+ const dateAvailable = rewardStatus === "PENDING" && reward.dateScheduledFor
315
+ ? new Date(reward.dateScheduledFor).toLocaleDateString("default", {
316
+ day: "numeric",
317
+ month: "long",
318
+ year: "numeric",
319
+ })
320
+ : undefined;
321
+ const copyString = (reward === null || reward === void 0 ? void 0 : reward.fuelTankCode) || "...";
322
+ const [open, setOpen] = useState(false);
323
+ function onClick() {
324
+ // Should well supported: https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility
325
+ // Only if called from a user-initiated event
326
+ navigator.clipboard.writeText(copyString);
327
+ setOpen(true);
328
+ setTimeout(() => setOpen(false), props.tooltiplifespan);
329
+ sendLoadEvent({
330
+ eventMeta: {
331
+ programId,
332
+ id: user === null || user === void 0 ? void 0 : user.id,
333
+ accountId: user === null || user === void 0 ? void 0 : user.accountId,
334
+ type: "USER_REFERRAL_PROGRAM_ENGAGEMENT_EVENT",
335
+ meta: {
336
+ engagementMedium,
337
+ shareMedium: "DIRECT",
338
+ },
339
+ },
340
+ });
341
+ }
342
+ const getRewardStatusText = (status) => {
343
+ switch (status) {
344
+ case "CANCELLED":
345
+ return props.cancelledErrorText;
346
+ case "EXPIRED":
347
+ return props.expiredErrorText;
348
+ case "EMPTY_TANK":
349
+ return props.fullfillmentErrorText;
350
+ case "PENDING":
351
+ return props.pendingErrorText.replace("{unpendDate}", dateAvailable);
352
+ case "REDEEMED":
353
+ return props.redeemedErrorText;
354
+ case "AVAILABLE":
355
+ return "";
356
+ default:
357
+ return props.genericErrorText;
358
+ }
359
+ };
360
+ const getRewardStatusErrorType = (status) => {
361
+ switch (status) {
362
+ case "EXPIRED":
363
+ case "EMPTY_TANK":
364
+ case "CANCELLED":
365
+ case "ERROR":
366
+ return "warning";
367
+ case "PENDING":
368
+ return "info";
369
+ case "REDEEMED":
370
+ return "success";
371
+ default:
372
+ return;
373
+ }
374
+ };
375
+ const errorText = getRewardStatusText(rewardStatus);
376
+ const errorType = getRewardStatusErrorType(rewardStatus);
377
+ const error = rewardStatus !== "AVAILABLE";
378
+ return {
379
+ ...props,
380
+ onClick,
381
+ open,
382
+ copyString,
383
+ error,
384
+ errorText,
385
+ dateAvailable,
386
+ loading,
387
+ errorType,
388
+ };
389
+ }
390
+
391
+ const CouponCode = class {
392
+ constructor(hostRef) {
393
+ registerInstance(this, hostRef);
394
+ /**
395
+ * Shown inside a tooltip after someone has successfully copied the link to their clipboard.
396
+ *
397
+ * @uiName Tooltip text
398
+ */
399
+ this.tooltiptext = "Copied to Clipboard";
400
+ /**
401
+ * The number of milliseconds that the tooltip appears for
402
+ *
403
+ * @uiName Tooltip lifespan
404
+ */
405
+ this.tooltiplifespan = 1000;
406
+ /**
407
+ * @uiName Coupon code alignment
408
+ * @uiType string
409
+ * @uiEnum ["left", "center", "right"]
410
+ * @uiEnumNames ["Left", "Center", "Right"]
411
+ */
412
+ this.textAlign = "left";
413
+ /**
414
+ * @uiName Copy button label
415
+ */
416
+ this.copyButtonLabel = "Copy Coupon";
417
+ /**
418
+ * Set the copy button style and placement.
419
+ *
420
+ * @uiName Style
421
+ * @uiType string
422
+ * @uiEnum ["icon", "button-outside", "button-below"]
423
+ * @uiEnumNames ["Icon", "Button outside", "Button below"]
424
+ */
425
+ this.buttonStyle = "icon";
426
+ /**
427
+ * @uiName Coupon code label
428
+ */
429
+ this.couponCodeLabel = "Your coupon code:";
430
+ /**
431
+ * Display this message when the coupon code has been cancelled.
432
+ *
433
+ * @uiWidget textArea
434
+ * @uiName Cancelled code error message
435
+ * @uiGroup Coupon code error
436
+ */
437
+ this.cancelledErrorText = "This code has been cancelled. Please reach out to the Support team for help resolving this issue.";
438
+ /**
439
+ * Display this message when the coupon code has already been redeemed.
440
+ *
441
+ * @uiWidget textArea
442
+ * @uiName Redeemed code error message
443
+ * @uiGroup Coupon code error
444
+ */
445
+ this.redeemedErrorText = "Looks like you’ve already redeemed this code.";
446
+ /**
447
+ * Display this message when the coupon code has expired.
448
+ *
449
+ * @uiWidget textArea
450
+ * @uiName Expired code error message
451
+ * @uiGroup Coupon code error
452
+ */
453
+ this.expiredErrorText = "Looks like this code has expired. Please reach out to the Support team for help resolving this issue.";
454
+ /**
455
+ * Display this message when the code fails to load due to a fulfillment error.
456
+ *
457
+ * @uiWidget textArea
458
+ * @uiName Code fulfillment error message
459
+ * @uiGroup Coupon code error
460
+ */
461
+ this.fullfillmentErrorText = "We couldn't fetch your code. Please try again later or reach out to the Support team for help resolving this issue.";
462
+ /**
463
+ * Display this message when the coupon code not available yet. Use the ICU message, {unpendDate}, to show the date the code will be available.
464
+ *
465
+ * @uiWidget textArea
466
+ * @uiName Code pending error message
467
+ * @uiGroup Coupon code error
468
+ */
469
+ this.pendingErrorText = "Your code will be available on {unpendDate}. Mark your calendar and come back then to redeem your reward!";
470
+ /**
471
+ * Display this message when the code fails to load due to an unspecified error.
472
+ *
473
+ * @uiWidget textArea
474
+ * @uiName Code retrieval error message
475
+ * @uiGroup Coupon code error
476
+ */
477
+ this.genericErrorText = "We couldn't fetch your code. Please try again later or reach out to the Support team for help resolving this issue.";
478
+ /**
479
+ * Display this text when the coupon code can’t be retrieved.
480
+ *
481
+ * @uiName Coupon code placeholder
482
+ * @uiGroup Coupon code error
483
+ */
484
+ this.couponCodePlaceholder = "...";
485
+ h(this);
486
+ }
487
+ disconnectedCallback() { }
488
+ render() {
489
+ const thisProps = getProps(this);
490
+ const props = isDemo()
491
+ ? useDemoCouponCode(thisProps)
492
+ : useCouponCode(thisProps);
493
+ return h$1(CouponCodeView, Object.assign({}, props));
494
+ }
495
+ };
496
+ function useDemoCouponCode(props) {
497
+ const [open, setOpen] = useState(false);
498
+ const copyString = "THANKSJANE125uv125";
499
+ return cjs({
500
+ copyString,
501
+ tooltiptext: props.tooltiptext,
502
+ textAlign: props.textAlign,
503
+ buttonStyle: props.buttonStyle,
504
+ copyButtonLabel: props.copyButtonLabel,
505
+ error: false,
506
+ couponCodePlaceholder: props.couponCodePlaceholder,
507
+ couponCodeLabel: props.couponCodeLabel,
508
+ open,
509
+ onClick: () => {
510
+ // Should well supported: https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility
511
+ // Only if called from a user-initiated event
512
+ navigator.clipboard.writeText(copyString);
513
+ setOpen(true);
514
+ setTimeout(() => setOpen(false), props.tooltiplifespan);
515
+ },
516
+ }, props.demoData || {}, { arrayMerge: (_, a) => a });
517
+ }
518
+
268
519
  function DividedLayoutView(props, children) {
269
520
  const getBorder = () => {
270
521
  if (props.direction === "row") {
@@ -286,28 +537,28 @@ function DividedLayoutView(props, children) {
286
537
  },
287
538
  },
288
539
  };
289
- const hostStyle = `
290
- display: flex;
291
- flex: 1;
292
- box-sizing: border-box;
293
- flex-direction: ${props.direction};
294
- background-color: var(--sqm-content-background);
295
- overflow-x: clip;
540
+ const hostStyle = `
541
+ display: flex;
542
+ flex: 1;
543
+ box-sizing: border-box;
544
+ flex-direction: ${props.direction};
545
+ background-color: var(--sqm-content-background);
546
+ overflow-x: clip;
296
547
  ${props.direction === "column"
297
548
  ? "width: 100%; max-width: var(--sqm-portal-main-width);"
298
- : ""}
549
+ : ""}
299
550
  `;
300
- const vanillaStyle = `
301
- :host{
302
- ${hostStyle}
303
- }
304
- sqm-divided-layout {
305
- ${hostStyle}
306
- }
551
+ const vanillaStyle = `
552
+ :host{
553
+ ${hostStyle}
554
+ }
555
+ sqm-divided-layout {
556
+ ${hostStyle}
557
+ }
307
558
  `;
308
559
  const sheet = createStyleSheet(style);
309
560
  const styleString = sheet.toString();
310
- return (h$1("div", { class: sheet.classes.LayoutContainer },
561
+ return (h$1("div", { class: sheet.classes.LayoutContainer, part: "sqm-base" },
311
562
  h$1("style", { type: "text/css" },
312
563
  vanillaStyle,
313
564
  styleString),
@@ -319,7 +570,7 @@ const DividedLayout = class {
319
570
  registerInstance(this, hostRef);
320
571
  /**
321
572
  * Uses Shorthand CSS border syntax allowing specification of thickness, fill style and color.
322
- * @uiName Border Style
573
+ * @uiName Border style
323
574
  */
324
575
  this.dividerStyle = "1px solid #EAEAEA";
325
576
  h(this);
@@ -344,11 +595,11 @@ const DropdownField = class {
344
595
  registerInstance(this, hostRef);
345
596
  this.ignored = true;
346
597
  /**
347
- * @uiName Dropdown Label
598
+ * @uiName Dropdown label
348
599
  */
349
600
  this.dropdownLabel = "Select an option";
350
601
  /**
351
- * @uiName Unselected Error Message
602
+ * @uiName Unselected error message
352
603
  */
353
604
  this.errorMessage = "Select an option";
354
605
  /**
@@ -387,39 +638,39 @@ function useDropdownFieldDemo(props) {
387
638
  }, props.demoData || {}, { arrayMerge: (_, a) => a });
388
639
  }
389
640
 
390
- const GET_USER = dist.gql `
391
- query {
392
- viewer {
393
- ... on User {
394
- id
395
- accountId
396
- firstName
397
- lastName
398
- email
399
- countryCode
400
- }
401
- }
402
- }
641
+ const GET_USER = dist.gql `
642
+ query {
643
+ viewer {
644
+ ... on User {
645
+ id
646
+ accountId
647
+ firstName
648
+ lastName
649
+ email
650
+ countryCode
651
+ }
652
+ }
653
+ }
403
654
  `;
404
- const UPSERT_USER = dist.gql `
405
- mutation (
406
- $id: String!
407
- $accountId: String!
408
- $firstName: String!
409
- $lastName: String!
410
- ) {
411
- upsertUser(
412
- userInput: {
413
- id: $id
414
- accountId: $accountId
415
- firstName: $firstName
416
- lastName: $lastName
417
- }
418
- ) {
419
- firstName
420
- lastName
421
- }
422
- }
655
+ const UPSERT_USER = dist.gql `
656
+ mutation (
657
+ $id: String!
658
+ $accountId: String!
659
+ $firstName: String!
660
+ $lastName: String!
661
+ ) {
662
+ upsertUser(
663
+ userInput: {
664
+ id: $id
665
+ accountId: $accountId
666
+ firstName: $firstName
667
+ lastName: $lastName
668
+ }
669
+ ) {
670
+ firstName
671
+ lastName
672
+ }
673
+ }
423
674
  `;
424
675
  // view doesn't tolerate undefined, even when we're loading
425
676
  const defaultFormState = {
@@ -430,13 +681,13 @@ const defaultFormState = {
430
681
  error: "",
431
682
  };
432
683
  function useEditProfile(props) {
433
- const userIdent = N();
684
+ const userIdent = L();
434
685
  const [showEdit, setShowEdit] = useState(false);
435
686
  const [error, setError] = useState("");
436
687
  const [userData, setUserData] = useState(undefined);
437
688
  const [formState, setFormState] = useState(defaultFormState);
438
- const userDataResponse = dn(GET_USER, {}, !(userIdent === null || userIdent === void 0 ? void 0 : userIdent.jwt));
439
- const [upsertUser, upsertUserResponse] = Pe(UPSERT_USER);
689
+ const userDataResponse = mn(GET_USER, {}, !(userIdent === null || userIdent === void 0 ? void 0 : userIdent.jwt));
690
+ const [upsertUser, upsertUserResponse] = Ie(UPSERT_USER);
440
691
  useEffect(() => {
441
692
  if ((upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.loading) || !showEdit)
442
693
  return;
@@ -611,6 +862,59 @@ function useEditProfileDemo(props) {
611
862
  }
612
863
  EditProfile.style = sqmEditProfileCss;
613
864
 
865
+ const Hero = class {
866
+ constructor(hostRef) {
867
+ registerInstance(this, hostRef);
868
+ /**
869
+ *
870
+ * @uiName Columns
871
+ * @uiEnum [1, 2]
872
+ * @uiEnumNames ["One", "Two"]
873
+ */
874
+ this.columns = 1;
875
+ /**
876
+ * Minimum height of each column including when they are stacked on mobile
877
+ *
878
+ * @uiName Minimum height (in px)
879
+ */
880
+ this.minHeight = 200;
881
+ /**
882
+ * Can be an image url, colour or Shoelace variable.
883
+ *
884
+ * @uiName Background
885
+ * @uiWidget Background
886
+ */
887
+ this.background = "var(--sl-color-gray-50)";
888
+ /**
889
+ * @uiName Padding size
890
+ * @uiEnum ["none", "small", "medium","large"]
891
+ * @uiEnumNames ["None", "Small", "Medium", "Large"]
892
+ */
893
+ this.paddingSize = "large";
894
+ /**
895
+ * Flexbox wrap direction, accepts wrap or wrap-reverse
896
+ *
897
+ * @uiName Wrap direction
898
+ * @uiEnum ["wrap", "wrap-reverse"]
899
+ * @uiEnumNames ["Wrap", "Wrap Reverse"]
900
+ */
901
+ this.wrapDirection = "wrap";
902
+ h(this);
903
+ }
904
+ disconnectedCallback() { }
905
+ // TODO: Improve empty slot behavior with useChildElements to check for empty slot
906
+ render() {
907
+ const props = {
908
+ states: { ...getProps(this) },
909
+ content: {
910
+ primaryColumn: h$1("slot", null),
911
+ secondaryColumn: h$1("slot", { name: "secondary-column" }),
912
+ },
913
+ };
914
+ return h$1(HeroView, Object.assign({}, props));
915
+ }
916
+ };
917
+
614
918
  function HeroImageView(props, children) {
615
919
  const overlay = Boolean((props.header || props.description || props.buttonText) &&
616
920
  props.layout === "overlay");
@@ -715,11 +1019,11 @@ function HeroImageView(props, children) {
715
1019
  };
716
1020
  const sheet = createStyleSheet(style);
717
1021
  const styleString = sheet.toString();
718
- const vanillaStyle = `
719
- :host{
720
- display: block;
1022
+ const vanillaStyle = `
1023
+ :host{
1024
+ display: block;
721
1025
  }`;
722
- return (h$1("div", { class: sheet.classes.Container },
1026
+ return (h$1("div", { class: sheet.classes.Container, part: "sqm-base" },
723
1027
  h$1("style", { type: "text/css" },
724
1028
  vanillaStyle,
725
1029
  styleString),
@@ -727,7 +1031,7 @@ function HeroImageView(props, children) {
727
1031
  props.layout === "columns" && ColumnView()));
728
1032
  function OverlayView() {
729
1033
  return (h$1("div", { class: sheet.classes.Background },
730
- h$1("div", { class: sheet.classes.Overlay },
1034
+ h$1("div", { class: sheet.classes.Overlay, part: "sqm-overlay" },
731
1035
  props.header && (h$1("div", { class: sheet.classes.Header }, props.header)),
732
1036
  props.description && (h$1("div", { class: sheet.classes.Description }, props.description)),
733
1037
  props.buttonText && (h$1("sl-button", { class: sheet.classes.Button, type: "primary", onClick: () => props.buttonNewTab
@@ -739,11 +1043,11 @@ function HeroImageView(props, children) {
739
1043
  return (h$1("div", null,
740
1044
  h$1("div", { class: sheet.classes.Column },
741
1045
  h$1("div", { class: "image-area" },
742
- h$1("img", { class: sheet.classes.Image, src: props.imageUrl })),
743
- h$1("div", { class: "text-area" },
744
- props.header && (h$1("div", { class: sheet.classes.Header }, props.header)),
745
- props.description && (h$1("div", { class: sheet.classes.Description }, props.description)),
746
- props.buttonText && (h$1("sl-button", { class: sheet.classes.Button, type: "primary", onClick: () => props.buttonNewTab
1046
+ h$1("img", { class: sheet.classes.Image, src: props.imageUrl, part: "sqm-columns-image" })),
1047
+ h$1("div", { class: "text-area", part: "sqm-columns-text-area" },
1048
+ props.header && (h$1("div", { class: sheet.classes.Header, part: "sqm-columns-header" }, props.header)),
1049
+ props.description && (h$1("div", { class: sheet.classes.Description, part: "sqm-columns-description" }, props.description)),
1050
+ props.buttonText && (h$1("sl-button", { exportparts: "base: sqm-hero-image-button", class: sheet.classes.Button, type: "primary", onClick: () => props.buttonNewTab
747
1051
  ? window.open(props.buttonLink)
748
1052
  : window.open(props.buttonLink, "_parent") }, props.buttonText))))));
749
1053
  }
@@ -753,49 +1057,49 @@ const HeroImage = class {
753
1057
  constructor(hostRef) {
754
1058
  registerInstance(this, hostRef);
755
1059
  /**
756
- * @uiName Overlay Opacity
1060
+ * @uiName Overlay opacity
757
1061
  */
758
1062
  this.overlayOpacity = "0.75";
759
1063
  /**
760
- * @uiName Image Layout
1064
+ * @uiName Image layout
761
1065
  * @uiType string
762
1066
  * @uiEnum ["overlay", "columns"]
763
1067
  * @uiEnumNames ["Overlay", "Two-column"]
764
1068
  */
765
1069
  this.layout = "overlay";
766
1070
  /**
767
- * @uiName Image Percentage
1071
+ * @uiName Image percentage
768
1072
  * @uiType number
769
1073
  */
770
1074
  this.imagePercentage = 50;
771
1075
  /**
772
- * @uiName Image Position
1076
+ * @uiName Image position
773
1077
  * @uiType string
774
1078
  * @uiEnum ["left", "center", "right"]
775
1079
  * @uiEnumNames ["Left", "Center", "Right"]
776
1080
  */
777
1081
  this.imagePos = "center";
778
1082
  /**
779
- * @uiName Image Mobile Position
1083
+ * @uiName Image mobile position
780
1084
  * @uiType string
781
1085
  * @uiEnum ["top", "bottom"]
782
1086
  * @uiEnumNames ["Top", "Bottom"]
783
1087
  */
784
1088
  this.imageMobilePos = "top";
785
1089
  /**
786
- * @uiName Open Link in New Tab
1090
+ * @uiName Open link in new tab
787
1091
  * @default
788
1092
  */
789
1093
  this.buttonNewTab = false;
790
1094
  /**
791
- * @uiName Text Padding
1095
+ * @uiName Text padding
792
1096
  * @uiType string
793
1097
  * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
794
1098
  * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
795
1099
  */
796
1100
  this.paddingText = "xxxx-large";
797
1101
  /**
798
- * @uiName Image Padding
1102
+ * @uiName Image padding
799
1103
  * @uiType string
800
1104
  * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
801
1105
  * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
@@ -836,14 +1140,14 @@ const InputField = class {
836
1140
  registerInstance(this, hostRef);
837
1141
  this.ignored = true;
838
1142
  /**
839
- * @uiName Input Type
1143
+ * @uiName Input type
840
1144
  * @uiType string
841
1145
  * @uiEnum ["text", "date", "tel"]
842
1146
  * @uiEnumNames ["Text", "Date", "Phone Number"]
843
1147
  */
844
1148
  this.fieldType = "text";
845
1149
  /**
846
- * @uiName Required Error Message
1150
+ * @uiName Required error message
847
1151
  */
848
1152
  this.errorMessage = "Cannot be empty";
849
1153
  /**
@@ -879,55 +1183,55 @@ function useInputFieldDemo(props) {
879
1183
  }, props.demoData || {}, { arrayMerge: (_, a) => a });
880
1184
  }
881
1185
 
882
- const GET_LEADERBOARD = dist.gql `
883
- query (
884
- $type: String!
885
- $filter: UserLeaderboardFilterInput
886
- $locale: RSLocale
887
- $limit: Int!
888
- ) {
889
- userLeaderboard(type: $type, filter: $filter) {
890
- dateModified
891
- rows(limit: $limit) {
892
- textValue(locale: $locale)
893
- firstName
894
- lastInitial
895
- rank {
896
- rank
897
- denseRank
898
- rowNumber
899
- }
900
- }
901
- }
902
- }
1186
+ const GET_LEADERBOARD = dist.gql `
1187
+ query (
1188
+ $type: String!
1189
+ $filter: UserLeaderboardFilterInput
1190
+ $locale: RSLocale
1191
+ $limit: Int!
1192
+ ) {
1193
+ userLeaderboard(type: $type, filter: $filter) {
1194
+ dateModified
1195
+ rows(limit: $limit) {
1196
+ textValue(locale: $locale)
1197
+ firstName
1198
+ lastInitial
1199
+ rank {
1200
+ rank
1201
+ denseRank
1202
+ rowNumber
1203
+ }
1204
+ }
1205
+ }
1206
+ }
903
1207
  `;
904
- const GET_RANK = dist.gql `
905
- query (
906
- $type: String!
907
- $filter: UserLeaderboardFilterInput
908
- $locale: RSLocale
909
- ) {
910
- viewer {
911
- ... on User {
912
- firstName
913
- lastInitial
914
- leaderboardRank(type: $type, filter: $filter) {
915
- textValue(locale: $locale)
916
- rank
917
- denseRank
918
- rowNumber
919
- }
920
- }
921
- }
922
- }
1208
+ const GET_RANK = dist.gql `
1209
+ query (
1210
+ $type: String!
1211
+ $filter: UserLeaderboardFilterInput
1212
+ $locale: RSLocale
1213
+ ) {
1214
+ viewer {
1215
+ ... on User {
1216
+ firstName
1217
+ lastInitial
1218
+ leaderboardRank(type: $type, filter: $filter) {
1219
+ textValue(locale: $locale)
1220
+ rank
1221
+ denseRank
1222
+ rowNumber
1223
+ }
1224
+ }
1225
+ }
1226
+ }
923
1227
  `;
924
1228
  function useLeaderboard(props) {
925
1229
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
926
1230
  const programIdContext = O();
927
1231
  // Default to context, overriden by props
928
1232
  const programId = (_a = props.programId) !== null && _a !== void 0 ? _a : programIdContext;
929
- const user = N();
930
- const locale = x();
1233
+ const user = L();
1234
+ const locale = W();
931
1235
  const variables = programId
932
1236
  ? {
933
1237
  type: props.leaderboardType,
@@ -946,8 +1250,8 @@ function useLeaderboard(props) {
946
1250
  if (props.maxRows > 0) {
947
1251
  variables["limit"] = props.maxRows;
948
1252
  }
949
- const { data: leaderboardData, loading: loadingLeaderboard } = dn(GET_LEADERBOARD, variables, !(user === null || user === void 0 ? void 0 : user.jwt));
950
- const { data: rankData } = dn(GET_RANK, variables, !(user === null || user === void 0 ? void 0 : user.jwt));
1253
+ const { data: leaderboardData, loading: loadingLeaderboard } = mn(GET_LEADERBOARD, variables, !(user === null || user === void 0 ? void 0 : user.jwt));
1254
+ const { data: rankData } = mn(GET_RANK, variables, !(user === null || user === void 0 ? void 0 : user.jwt));
951
1255
  const leaderboardRows = (_b = leaderboardData === null || leaderboardData === void 0 ? void 0 : leaderboardData.userLeaderboard) === null || _b === void 0 ? void 0 : _b.rows;
952
1256
  const flattenedLeaderboard = getFlattenedLeaderboard(leaderboardRows);
953
1257
  const sortedLeaderboard = flattenedLeaderboard === null || flattenedLeaderboard === void 0 ? void 0 : flattenedLeaderboard.sort(function (a, b) {
@@ -996,19 +1300,19 @@ const Leaderboard = class {
996
1300
  /**
997
1301
  * Hide the viewer's leaderboard row if not in the top results.
998
1302
  *
999
- * @uiName Hide Viewing User
1303
+ * @uiName Hide viewing user
1000
1304
  * @default
1001
1305
  */
1002
1306
  this.hideViewer = false;
1003
1307
  /**
1004
1308
  * Title displayed for users without names
1005
- * @uiName Unknown User Text
1309
+ * @uiName Unknown user text
1006
1310
  */
1007
1311
  this.anonymousUser = "Anonymous User";
1008
1312
  /**
1009
1313
  * Control the maximum amount of rows displayed on the leaderboard.
1010
1314
  *
1011
- * @uiName Maximum Rows Number
1315
+ * @uiName Maximum rows number
1012
1316
  */
1013
1317
  this.maxRows = 10;
1014
1318
  this.ignored = true;
@@ -1114,6 +1418,53 @@ function useLeaderboardDemo(props) {
1114
1418
  }, props.demoData || {}, { arrayMerge: (_, a) => a });
1115
1419
  }
1116
1420
 
1421
+ const style$1 = {
1422
+ Container: { display: "contents" },
1423
+ Link: {
1424
+ textDecoration: "none",
1425
+ color: "inherit",
1426
+ },
1427
+ };
1428
+ const vanillaStyle = `
1429
+ :host{
1430
+ display: inline;
1431
+ }
1432
+ `;
1433
+ const sheet$1 = createStyleSheet(style$1);
1434
+ const styleString$1 = sheet$1.toString();
1435
+ function LinkButtonView(props) {
1436
+ const { onClick, buttonText } = props;
1437
+ return (h$1("span", { class: sheet$1.classes.Container, part: "sqm-base" },
1438
+ h$1("style", { type: "text/css" },
1439
+ styleString$1,
1440
+ vanillaStyle),
1441
+ h$1("sl-button", { type: "primary", exportparts: "base: primarybutton-base" },
1442
+ h$1("a", { onClick: onClick, class: sheet$1.classes.Link, part: "sqm-link" }, buttonText))));
1443
+ }
1444
+
1445
+ const LinkButton = class {
1446
+ constructor(hostRef) {
1447
+ registerInstance(this, hostRef);
1448
+ /**
1449
+ * @uiName Open link in new tab
1450
+ */
1451
+ this.openInNewTab = false;
1452
+ /**
1453
+ * @uiName Button text
1454
+ * @uiType string
1455
+ */
1456
+ this.buttonText = "Click here";
1457
+ }
1458
+ render() {
1459
+ const onClick = () => {
1460
+ const url = this.link;
1461
+ const target = this.openInNewTab ? "_blank" : "_parent";
1462
+ window.open(url, target);
1463
+ };
1464
+ return (h$1(LinkButtonView, Object.assign({}, { ...getProps(this), onClick })));
1465
+ }
1466
+ };
1467
+
1117
1468
  function useNameFields(props) {
1118
1469
  const registrationFormState = d(REGISTRATION_FORM_STATE_CONTEXT);
1119
1470
  return {
@@ -1132,11 +1483,11 @@ const NameFields = class {
1132
1483
  registerInstance(this, hostRef);
1133
1484
  this.ignored = true;
1134
1485
  /**
1135
- * @uiName First Name label
1486
+ * @uiName First name label
1136
1487
  */
1137
1488
  this.firstNameLabel = "First Name";
1138
1489
  /**
1139
- * @uiName Last Name label
1490
+ * @uiName Last name label
1140
1491
  */
1141
1492
  this.lastNameLabel = "Last Name";
1142
1493
  h(this);
@@ -1174,12 +1525,12 @@ function NavigationMenuView(props) {
1174
1525
  }
1175
1526
 
1176
1527
  function handleMenu(e) {
1177
- fn.push(e.detail.item.value);
1528
+ pn.push(e.detail.item.value);
1178
1529
  }
1179
1530
  function useNavigationMenu(props) {
1180
1531
  const ref = useRef();
1181
- const [, rerender] = on();
1182
- const user = N();
1532
+ const [, rerender] = dn();
1533
+ const user = L();
1183
1534
  useEffect(() => {
1184
1535
  var _a;
1185
1536
  (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener("sl-select", (e) => handleMenu(e));
@@ -1233,11 +1584,11 @@ NavigationMenu.style = sqmNavigationMenuCss;
1233
1584
 
1234
1585
  function usePortalChangePassword(props) {
1235
1586
  var _a, _b, _c, _d, _e, _f, _g;
1236
- const [request, { loading, errors, data }] = Ve();
1587
+ const [request, { loading, errors, data }] = xe();
1237
1588
  const [open, setOpen] = useState(false);
1238
1589
  const [error, setError] = useState("");
1239
1590
  const [success, setSuccess] = useState(false);
1240
- const user = N();
1591
+ const user = L();
1241
1592
  const submit = async (event) => {
1242
1593
  var _a, _b;
1243
1594
  setSuccess(false);
@@ -1292,48 +1643,48 @@ const PortalChangePassword = class {
1292
1643
  registerInstance(this, hostRef);
1293
1644
  this.ignored = true;
1294
1645
  /**
1295
- * @uiName Change Password Modal Header
1646
+ * @uiName Change password modal header
1296
1647
  */
1297
1648
  this.modalChangePasswordHeader = "Change Password";
1298
1649
  /**
1299
1650
  * Found in modal
1300
1651
  *
1301
- * @uiName Cancel Button Text
1652
+ * @uiName Cancel button text
1302
1653
  */
1303
1654
  this.cancelText = "Cancel";
1304
1655
  /**
1305
1656
  * Found in modal
1306
1657
  *
1307
- * @uiName Change Password Button Text
1658
+ * @uiName Change password button text
1308
1659
  */
1309
1660
  this.changePasswordButtonText = "Change Password";
1310
1661
  /**
1311
1662
  * Found in modal
1312
1663
  *
1313
- * @uiName New Password Field Label
1664
+ * @uiName New password field label
1314
1665
  */
1315
1666
  this.passwordFieldLabel = "New Password";
1316
1667
  /**
1317
1668
  * Found in modal
1318
1669
  *
1319
- * @uiName Confirm Password Label
1670
+ * @uiName Confirm password Label
1320
1671
  */
1321
1672
  this.confirmPasswordFieldLabel = "Confirm New Password";
1322
1673
  /**
1323
1674
  * Successful password change message
1324
1675
  *
1325
- * @uiName Successful Password Change Message
1676
+ * @uiName Successful password change message
1326
1677
  * @uiWidget textArea
1327
1678
  */
1328
1679
  this.successMessage = "Your password has been updated.";
1329
1680
  /**
1330
1681
  * Portal change password section header
1331
1682
  *
1332
- * @uiName Change Password Header
1683
+ * @uiName Change password header
1333
1684
  */
1334
1685
  this.portalChangePasswordHeader = "Password";
1335
1686
  /**
1336
- * @uiName Change Password Button Text
1687
+ * @uiName Change password button text
1337
1688
  */
1338
1689
  this.portalChangePasswordButtonText = "Change your password...";
1339
1690
  h(this);
@@ -1370,8 +1721,70 @@ function usePortalChangePasswordDemo(props) {
1370
1721
  }, props.demoData || {}, { arrayMerge: (_, a) => a });
1371
1722
  }
1372
1723
 
1724
+ const PortalFooter = class {
1725
+ constructor(hostRef) {
1726
+ registerInstance(this, hostRef);
1727
+ this.ignored = true;
1728
+ /**
1729
+ * @uiName Hide support message
1730
+ */
1731
+ this.hideSupportText = false;
1732
+ /**
1733
+ * @uiName Support email
1734
+ */
1735
+ this.supportEmail = "support@example.com";
1736
+ /**
1737
+ * @uiName Support message
1738
+ * @uiWidget textArea
1739
+ */
1740
+ this.supportText = "For program support, contact {email}";
1741
+ /**
1742
+ * @uiName Hide powered by SaaSquatch
1743
+ */
1744
+ this.hidePoweredBy = false;
1745
+ /**
1746
+ * @uiName Powered By link
1747
+ */
1748
+ this.poweredByLink = "https://www.saasquatch.com/?utm_source=app&utm_medium=user-widget&utm_campaign=referral-widget";
1749
+ /**
1750
+ * @uiName Top padding
1751
+ * @uiGroup Padding
1752
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
1753
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
1754
+ */
1755
+ this.paddingTop = "large";
1756
+ /**
1757
+ * @uiName Right padding
1758
+ * @uiGroup Padding
1759
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
1760
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
1761
+ */
1762
+ this.paddingRight = "large";
1763
+ /**
1764
+ * @uiName Bottom padding
1765
+ * @uiGroup Padding
1766
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
1767
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
1768
+ */
1769
+ this.paddingBottom = "large";
1770
+ /**
1771
+ * @uiName Left padding
1772
+ * @uiGroup Padding
1773
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
1774
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
1775
+ */
1776
+ this.paddingLeft = "large";
1777
+ h(this);
1778
+ }
1779
+ disconnectedCallback() { }
1780
+ render() {
1781
+ return h$1(PortalFooterView, Object.assign({}, getProps(this)));
1782
+ }
1783
+ static get assetsDirs() { return ["../../assets"]; }
1784
+ };
1785
+
1373
1786
  function usePortalFrame(footerContent, headerContent) {
1374
- const [, rerender] = on();
1787
+ const [, rerender] = dn();
1375
1788
  return {
1376
1789
  data: {
1377
1790
  footer: footerContent,
@@ -1421,9 +1834,9 @@ function usePortalFrameDemo(footerContent, headerContent, props) {
1421
1834
 
1422
1835
  function usePortalLogin(props) {
1423
1836
  var _a, _b, _c, _d, _e, _f, _g;
1424
- const [request, { loading, errors, data }] = Me();
1837
+ const [request, { loading, errors, data }] = Se();
1425
1838
  const [error, setError] = useState("");
1426
- const urlParams = new URLSearchParams(fn.location.search);
1839
+ const urlParams = new URLSearchParams(pn.location.search);
1427
1840
  const nextPageOverride = urlParams.get("nextPage");
1428
1841
  const submit = async (event) => {
1429
1842
  var _a, _b;
@@ -1442,7 +1855,7 @@ function usePortalLogin(props) {
1442
1855
  if ((_b = result.authenticateManagedIdentityWithEmailAndPassword) === null || _b === void 0 ? void 0 : _b.token) {
1443
1856
  urlParams.delete("nextPage");
1444
1857
  const url = sanitizeUrlPath(nextPageOverride || props.nextPage);
1445
- fn.push(url.href);
1858
+ pn.push(url.href);
1446
1859
  }
1447
1860
  };
1448
1861
  const errorMessage = ((_d = (_c = (_b = (_a = errors === null || errors === void 0 ? void 0 : errors.response) === null || _a === void 0 ? void 0 : _a.errors) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.extensions) === null || _d === void 0 ? void 0 : _d.message) || ((_g = (_f = (_e = errors === null || errors === void 0 ? void 0 : errors.response) === null || _e === void 0 ? void 0 : _e.errors) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.message) ||
@@ -1467,44 +1880,44 @@ const PortalLogin = class {
1467
1880
  /**
1468
1881
  * Redirect participants to this page after they successfully login.
1469
1882
  *
1470
- * @uiName Login Redirect
1883
+ * @uiName Login redirect
1471
1884
  * @uiWidget pageSelect
1472
1885
  */
1473
1886
  this.nextPage = "/";
1474
1887
  /**
1475
- * @uiName Email Field Label
1888
+ * @uiName Email field label
1476
1889
  */
1477
1890
  this.emailLabel = "Email";
1478
1891
  /**
1479
- * @uiName Password Field Label
1892
+ * @uiName Password field label
1480
1893
  */
1481
1894
  this.passwordLabel = "Password";
1482
1895
  /**
1483
- * @uiName Submit Button Text
1896
+ * @uiName Submit button text
1484
1897
  */
1485
1898
  this.submitLabel = "Sign In";
1486
1899
  /**
1487
1900
  * Redirect participants to this page to reset their password
1488
- * @uiName Forgot Password Redirect
1901
+ * @uiName Forgot password redirect
1489
1902
  * @uiWidget pageSelect
1490
1903
  */
1491
1904
  this.forgotPasswordPath = "/forgotPassword";
1492
1905
  /**
1493
- * @uiName Forgot Password Text
1906
+ * @uiName Forgot password text
1494
1907
  */
1495
1908
  this.forgotPasswordLabel = "Forgot Password?";
1496
1909
  /**
1497
- * @uiName Register Button Text
1910
+ * @uiName Register button text
1498
1911
  */
1499
1912
  this.registerLabel = "Register";
1500
1913
  /**
1501
1914
  * Redirect participants to this page to start registration.
1502
- * @uiName Register Button Redirect
1915
+ * @uiName Register button redirect
1503
1916
  * @uiWidget pageSelect
1504
1917
  */
1505
1918
  this.registerPath = "/register";
1506
1919
  /**
1507
- * @uiName Heading Label
1920
+ * @uiName Heading label
1508
1921
  * @uiWidget textArea
1509
1922
  */
1510
1923
  this.pageLabel = "Sign in to your account";
@@ -1516,8 +1929,8 @@ const PortalLogin = class {
1516
1929
  ? useLoginDemo(this)
1517
1930
  : usePortalLogin(this);
1518
1931
  const content = {
1519
- forgotPasswordButton: (h$1("slot", { name: "forgotPassword" }, h$1("a", { onClick: () => fn.push(states.forgotPasswordPath) }, this.forgotPasswordLabel))),
1520
- secondaryButton: (h$1("slot", { name: "secondaryButton" }, h$1("sl-button", { type: "text", disabled: states.loading, onClick: () => fn.push(states.registerPath) }, this.registerLabel))),
1932
+ forgotPasswordButton: (h$1("slot", { name: "forgotPassword" }, h$1("a", { onClick: () => pn.push(states.forgotPasswordPath) }, this.forgotPasswordLabel))),
1933
+ secondaryButton: (h$1("slot", { name: "secondaryButton" }, h$1("sl-button", { type: "text", disabled: states.loading, onClick: () => pn.push(states.registerPath) }, this.registerLabel))),
1521
1934
  emailLabel: this.emailLabel,
1522
1935
  passwordLabel: this.passwordLabel,
1523
1936
  submitLabel: this.submitLabel,
@@ -1546,7 +1959,7 @@ function usePortalRegister(props) {
1546
1959
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1547
1960
  const formRef = useRef(null);
1548
1961
  const { registrationFormState, setRegistrationFormState } = useRegistrationFormState({});
1549
- const [request, { loading, errors, data }] = je();
1962
+ const [request, { loading, errors, data }] = ke();
1550
1963
  useEffect(() => {
1551
1964
  if (!formRef.current)
1552
1965
  return;
@@ -1569,7 +1982,7 @@ function usePortalRegister(props) {
1569
1982
  jsonpointer.set(formData, key, value);
1570
1983
  // required validation
1571
1984
  if (control.required && !value) {
1572
- jsonpointer.set(validationErrors, key, "Cannot be empty");
1985
+ jsonpointer.set(validationErrors, key, props.requiredFieldErrorMessage);
1573
1986
  }
1574
1987
  // custom validation
1575
1988
  if (typeof control.validationError === "function") {
@@ -1583,7 +1996,7 @@ function usePortalRegister(props) {
1583
1996
  formData.password !== formData.confirmPassword) {
1584
1997
  validationErrors = {
1585
1998
  ...validationErrors,
1586
- confirmPassword: "Passwords do not match.",
1999
+ confirmPassword: props.passwordMismatchErrorMessage,
1587
2000
  };
1588
2001
  }
1589
2002
  if (Object.keys(validationErrors).length) {
@@ -1619,13 +2032,13 @@ function usePortalRegister(props) {
1619
2032
  validationErrors: {},
1620
2033
  });
1621
2034
  if ((_a = result.registerManagedIdentityWithEmailAndPassword) === null || _a === void 0 ? void 0 : _a.token) {
1622
- fn.push(props.nextPage);
2035
+ pn.push(props.nextPage);
1623
2036
  }
1624
2037
  }
1625
2038
  catch (error) {
1626
2039
  setRegistrationFormState({
1627
2040
  loading: false,
1628
- error: "Network request failed.",
2041
+ error: props.networkErrorMessage,
1629
2042
  validationErrors: {},
1630
2043
  });
1631
2044
  }
@@ -1640,10 +2053,10 @@ function usePortalRegister(props) {
1640
2053
  }, []);
1641
2054
  let errorMessage = "";
1642
2055
  if ((_a = errors === null || errors === void 0 ? void 0 : errors.response) === null || _a === void 0 ? void 0 : _a["error"]) {
1643
- errorMessage = "Network request failed";
2056
+ errorMessage = props.networkErrorMessage;
1644
2057
  }
1645
2058
  else if ((errors === null || errors === void 0 ? void 0 : errors.message) && !((_b = errors === null || errors === void 0 ? void 0 : errors.response) === null || _b === void 0 ? void 0 : _b.errors.length)) {
1646
- errorMessage = "Network request failed";
2059
+ errorMessage = props.networkErrorMessage;
1647
2060
  }
1648
2061
  else {
1649
2062
  errorMessage =
@@ -1676,62 +2089,90 @@ const PortalRegister = class {
1676
2089
  /**
1677
2090
  * Redirect participants to this page from their verification email
1678
2091
  *
1679
- * @uiName Registration Redirect
2092
+ * @uiName Registration redirect
1680
2093
  * @uiWidget pageSelect
1681
2094
  */
1682
2095
  this.nextPage = "/";
1683
2096
  /**
1684
2097
  * The page that participants are redirected to from the verification email.
1685
2098
  *
1686
- * @uiName Email Verification Redirect
2099
+ * @uiName Email verification redirect
1687
2100
  * @uiWidget pageSelect
1688
2101
  */
1689
2102
  this.redirectPath = "/verifyEmail";
1690
2103
  /**
1691
- * @uiName Email Field Label
2104
+ * @uiName Email field label
1692
2105
  */
1693
2106
  this.emailLabel = "Email";
1694
2107
  /**
1695
- * @uiName Password Field Label
2108
+ * @uiName Password field label
1696
2109
  */
1697
2110
  this.passwordLabel = "Password";
1698
2111
  /**
1699
- * @uiName Submit Button Text
2112
+ * @uiName Submit button text
1700
2113
  */
1701
2114
  this.submitLabel = "Register";
1702
2115
  /**
1703
- * @uiName Login Button Text
2116
+ * @uiName Login button text
1704
2117
  */
1705
2118
  this.loginLabel = "Sign in";
1706
2119
  /**
1707
- * @uiName Confirm Password Field Label
2120
+ * @uiName Confirm password field label
1708
2121
  */
1709
2122
  this.confirmPasswordLabel = "Confirm Password";
1710
2123
  /**
1711
- * @uiName Show Confirm Password Field
2124
+ * @uiName Show confirm password field
1712
2125
  */
1713
2126
  this.confirmPassword = false;
1714
2127
  /**
1715
- * @uiName Disable Password Validation
2128
+ * @uiName Disable password validation
1716
2129
  */
1717
2130
  this.disablePasswordValidation = false;
1718
2131
  /**
1719
2132
  * Hides the email and password fields. Note: If you hide default inputs, you must add additional input fields. They must have the input name attributes "email" and "password" for this form to succeed.
1720
2133
  *
1721
- * @uiName Hide Default Fields
2134
+ * @uiName Hide default fields
1722
2135
  */
1723
2136
  this.hideInputs = false;
1724
2137
  /**
1725
- * @uiName Header Text
2138
+ * @uiName Header text
1726
2139
  */
1727
2140
  this.pageLabel = "Register";
1728
2141
  /**
1729
2142
  * Redirect participants to this page after clicking the login button.
1730
2143
  *
1731
- * @uiName Login Redirect
2144
+ * @uiName Login redirect
1732
2145
  * @uiWidget pageSelect
1733
2146
  */
1734
2147
  this.loginPath = "/login";
2148
+ /**
2149
+ * The message to be displayed when a required field is not filled.
2150
+ *
2151
+ * @uiName Required field message
2152
+ * @uiWidget textArea
2153
+ */
2154
+ this.requiredFieldErrorMessage = "Cannot be empty";
2155
+ /**
2156
+ * The message to be displayed when a the form submission fails unexpectedly.
2157
+ *
2158
+ * @uiName Network error message
2159
+ * @uiWidget textArea
2160
+ */
2161
+ this.networkErrorMessage = "Network request failed.";
2162
+ /**
2163
+ * The message to be displayed when password inputs do not match.
2164
+ *
2165
+ * @uiName Password mismatch message
2166
+ * @uiWidget textArea
2167
+ */
2168
+ this.passwordMismatchErrorMessage = "Passwords do not match.";
2169
+ /**
2170
+ * The message to be displayed when the email used is invalid or blocked.
2171
+ *
2172
+ * @uiName Invalid email message
2173
+ * @uiWidget textArea
2174
+ */
2175
+ this.invalidEmailErrorMessage = "Must be a valid email address";
1735
2176
  h(this);
1736
2177
  }
1737
2178
  disconnectedCallback() { }
@@ -1741,13 +2182,15 @@ const PortalRegister = class {
1741
2182
  : usePortalRegister(this);
1742
2183
  const content = {
1743
2184
  formData: h$1("slot", { name: "formData" }),
1744
- secondaryButton: (h$1("slot", { name: "secondaryButton" }, h$1("sl-button", { type: "text", disabled: states.loading, onClick: () => fn.push(states.loginPath) }, this.loginLabel))),
2185
+ secondaryButton: (h$1("slot", { name: "secondaryButton" }, h$1("sl-button", { type: "text", disabled: states.loading, onClick: () => pn.push(states.loginPath) }, this.loginLabel))),
1745
2186
  terms: h$1("slot", { name: "terms" }),
1746
2187
  emailLabel: this.emailLabel,
1747
2188
  passwordLabel: this.passwordLabel,
1748
2189
  submitLabel: this.submitLabel,
1749
2190
  pageLabel: this.pageLabel,
1750
2191
  confirmPasswordLabel: this.confirmPasswordLabel,
2192
+ invalidEmailErrorMessage: this.invalidEmailErrorMessage,
2193
+ requiredFieldErrorMessage: this.requiredFieldErrorMessage,
1751
2194
  };
1752
2195
  return (h$1(PortalRegisterView, { states: states, callbacks: callbacks, content: content, refs: refs }));
1753
2196
  }
@@ -1799,23 +2242,23 @@ function ProgramExplainerView(props, children) {
1799
2242
  };
1800
2243
  const sheet = createStyleSheet(style);
1801
2244
  const styleString = sheet.toString();
1802
- const vanillaStyle = `
1803
- ::slotted(*){
1804
- display: flex;
1805
- width: 100%;
1806
- }
1807
- @media (max-width: 499px) {
1808
- ::slotted(*){
1809
- display: block;
1810
- }
2245
+ const vanillaStyle = `
2246
+ ::slotted(*){
2247
+ display: flex;
2248
+ width: 100%;
2249
+ }
2250
+ @media (max-width: 499px) {
2251
+ ::slotted(*){
2252
+ display: block;
2253
+ }
1811
2254
  }`;
1812
- return (h$1("div", { class: sheet.classes.Container },
2255
+ return (h$1("div", { class: sheet.classes.Container, part: "sqm-base" },
1813
2256
  h$1("style", { type: "text/css" },
1814
2257
  styleString,
1815
2258
  vanillaStyle),
1816
2259
  h$1("div", { class: sheet.classes.Header },
1817
- h$1("div", { class: sheet.classes.Header }, props.header)),
1818
- h$1("div", { class: sheet.classes.Grid }, children)));
2260
+ h$1("div", { class: sheet.classes.Header, part: "sqm-header" }, props.header)),
2261
+ h$1("div", { class: sheet.classes.Grid, part: "sqm-grid-container" }, children)));
1819
2262
  }
1820
2263
 
1821
2264
  const ProgramExplainer = class {
@@ -1881,13 +2324,13 @@ function ProgramExplainerStepView(props) {
1881
2324
  };
1882
2325
  const sheet = createStyleSheet(style);
1883
2326
  const styleString = sheet.toString();
1884
- return (h$1("div", { class: sheet.classes.Container },
2327
+ return (h$1("div", { class: sheet.classes.Container, part: "sqm-base" },
1885
2328
  h$1("style", { type: "text/css" }, styleString),
1886
- h$1("div", null, props.imageUrl ? (h$1("img", { class: sheet.classes.Media, src: props.imageUrl })) : (h$1("div", { class: sheet.classes.Media },
2329
+ h$1("div", null, props.imageUrl ? (h$1("img", { class: sheet.classes.Media, src: props.imageUrl, part: "sqm-media" })) : (h$1("div", { class: sheet.classes.Media, part: "sqm-media" },
1887
2330
  h$1("sl-icon", { name: props.icon })))),
1888
2331
  h$1("div", { class: sheet.classes.Text },
1889
- h$1("div", { class: sheet.classes.Header }, props.header),
1890
- h$1("div", { class: sheet.classes.Description }, props.description))));
2332
+ h$1("div", { class: sheet.classes.Header, part: "sqm-header" }, props.header),
2333
+ h$1("div", { class: sheet.classes.Description, part: "sqm-description" }, props.description))));
1891
2334
  }
1892
2335
 
1893
2336
  const ProgramExplainerStep = class {
@@ -1905,10 +2348,10 @@ const debug = browser('sq:useProgramMenu');
1905
2348
  const UPDATE_PROGRAM_EVENT = 'sq:update-program-id';
1906
2349
  function useProgramMenu(props) {
1907
2350
  const programId = O();
1908
- const host = R();
2351
+ const host = V();
1909
2352
  debug({ programId, props });
1910
2353
  const ref = useRef();
1911
- const [, rerender] = on();
2354
+ const [, rerender] = dn();
1912
2355
  useEffect(() => {
1913
2356
  var _a;
1914
2357
  (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener('sl-select', (e) => {
@@ -1945,59 +2388,62 @@ const ProgramMenu = class {
1945
2388
  }
1946
2389
  };
1947
2390
 
1948
- const style$1 = {
2391
+ const style$2 = {
1949
2392
  Container: {
1950
- display: "flex",
2393
+ borderRadius: "var(--sl-border-radius-large)",
1951
2394
  color: "var(--sl-color-neutral-900)",
1952
2395
  background: "var(--sl-color-neutral-0)",
1953
- "& .left": {
1954
- boxSizing: "border-box",
1955
- width: "50%",
1956
- padding: "var(--sl-spacing-large)",
1957
- paddingRight: "var(--sl-spacing-medium)",
1958
- "@media (max-width: 499px)": {
1959
- width: "100%",
1960
- padding: "0",
1961
- marginBottom: "var(--sl-spacing-xx-large)",
1962
- },
1963
- },
1964
- "& .right": {
1965
- boxSizing: "border-box",
1966
- width: "50%",
1967
- padding: "var(--sl-spacing-large)",
1968
- paddingLeft: "var(--sl-spacing-medium)",
1969
- "@media (max-width: 499px)": {
1970
- width: "100%",
1971
- padding: "0",
1972
- },
1973
- },
1974
- border: "1px solid var(--sl-color-neutral-300)",
1975
- borderRadius: "var(--sl-border-radius-large)",
2396
+ display: "flex",
2397
+ flexDirection: "column",
2398
+ rowGap: "var(--sl-spacing-large)",
2399
+ },
2400
+ EndContainer: {
2401
+ display: "flex",
2402
+ flexDirection: "column",
2403
+ alignItems: "center",
2404
+ },
2405
+ ColumnContainer: {
2406
+ "& p": { margin: "0" },
2407
+ display: "grid",
2408
+ gridAutoColumns: "minmax(0, 1fr)",
2409
+ gridAutoFlow: "column",
2410
+ gap: "calc(2 * var(--sl-spacing-medium))",
1976
2411
  "@media (max-width: 499px)": {
1977
- flexDirection: "column",
2412
+ gridAutoFlow: "unset",
2413
+ gridAutoColumns: "unset",
2414
+ gridTemplateColumns: "1fr",
1978
2415
  border: "none",
1979
2416
  },
1980
2417
  },
1981
2418
  };
1982
- const sheet$1 = createStyleSheet(style$1);
1983
- const styleString$1 = sheet$1.toString();
1984
- const vanillaStyle = `
1985
- :host{
1986
- display: block;
1987
- }
2419
+ const sheet$2 = createStyleSheet(style$2);
2420
+ const styleString$2 = sheet$2.toString();
2421
+ const vanillaStyle$1 = `
2422
+ :host{
2423
+ display: block;
2424
+ }
1988
2425
  `;
1989
2426
  function ReferralCardView(props) {
1990
- return (h$1("div", null,
2427
+ return (h$1("div", { part: "sqm-base", class: sheet$2.classes.Container, style: {
2428
+ border: `${props.hideBorder ? "none" : "1px solid var(--sl-color-neutral-300)"}`,
2429
+ "padding-top": `var(--sl-spacing-${props.paddingTop})`,
2430
+ "padding-right": `var(--sl-spacing-${props.paddingRight})`,
2431
+ "padding-bottom": `var(--sl-spacing-${props.paddingBottom})`,
2432
+ "padding-left": `var(--sl-spacing-${props.paddingLeft})`,
2433
+ backgroundColor: props.backgroundColor,
2434
+ maxWidth: `${props.limitWidth ? "600px" : "none"}`,
2435
+ margin: `${props.limitWidth ? "auto" : "none"}`,
2436
+ } },
1991
2437
  h$1("style", { type: "text/css" },
1992
- styleString$1,
1993
- vanillaStyle),
1994
- h$1("div", { class: sheet$1.classes.Container },
1995
- h$1("div", { class: "left", style: {
1996
- alignSelf: props.verticalAlignment,
1997
- } }, props.slots.left),
1998
- h$1("div", { class: "right", style: {
1999
- alignSelf: props.verticalAlignment,
2000
- } }, props.slots.right))));
2438
+ styleString$2,
2439
+ vanillaStyle$1),
2440
+ props.hasHeader && (h$1("div", { class: sheet$2.classes.EndContainer }, props.slots.header)),
2441
+ h$1("div", { part: "sqm-column-container", class: sheet$2.classes.ColumnContainer, style: {
2442
+ alignItems: props.verticalAlignment,
2443
+ } },
2444
+ props.slots.left,
2445
+ props.slots.right),
2446
+ props.hasFooter && (h$1("div", { class: sheet$2.classes.EndContainer }, props.slots.footer))));
2001
2447
  }
2002
2448
 
2003
2449
  const ReferralCard = class {
@@ -2005,12 +2451,56 @@ const ReferralCard = class {
2005
2451
  registerInstance(this, hostRef);
2006
2452
  this.ignored = true;
2007
2453
  /**
2008
- * @uiName Vertical Aligment
2454
+ * @uiName Vertical alignment
2009
2455
  * @uiType string
2010
2456
  * @uiEnum ["start", "center", "end"]
2011
2457
  * @uiEnumNames ["Top", "Center", "Bottom"]
2012
2458
  */
2013
2459
  this.verticalAlignment = "start";
2460
+ /**
2461
+ * @uiName Hide border
2462
+ * @uiType boolean
2463
+ */
2464
+ this.hideBorder = false;
2465
+ /**
2466
+ * @uiName Top padding
2467
+ * @uiGroup Padding
2468
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
2469
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
2470
+ */
2471
+ this.paddingTop = "large";
2472
+ /**
2473
+ * @uiName Right padding
2474
+ * @uiGroup Padding
2475
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
2476
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
2477
+ */
2478
+ this.paddingRight = "large";
2479
+ /**
2480
+ * @uiName Bottom padding
2481
+ * @uiGroup Padding
2482
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
2483
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
2484
+ */
2485
+ this.paddingBottom = "large";
2486
+ /**
2487
+ * @uiName Left padding
2488
+ * @uiGroup Padding
2489
+ * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
2490
+ * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
2491
+ */
2492
+ this.paddingLeft = "large";
2493
+ /**
2494
+ * @uiName Background color
2495
+ * @uiWidget color
2496
+ * @uiType string
2497
+ */
2498
+ this.backgroundColor = "#ffffff";
2499
+ /**
2500
+ * @uiName Limit width
2501
+ * @uiType boolean
2502
+ */
2503
+ this.limitWidth = false;
2014
2504
  h(this);
2015
2505
  }
2016
2506
  disconnectedCallback() { }
@@ -2018,25 +2508,30 @@ const ReferralCard = class {
2018
2508
  const slots = {
2019
2509
  left: h$1("slot", { name: "left" }),
2020
2510
  right: h$1("slot", { name: "right" }),
2511
+ header: h$1("slot", { name: "header" }),
2512
+ footer: h$1("slot", { name: "footer" }),
2021
2513
  };
2022
- return (h$1(ReferralCardView, Object.assign({}, getProps(this), { slots: slots }), h$1("slot", null)));
2514
+ const children = useChildElements();
2515
+ const hasHeader = children.findIndex((child) => child.slot === "header") > -1;
2516
+ const hasFooter = children.findIndex((child) => child.slot === "footer") > -1;
2517
+ return (h$1(ReferralCardView, Object.assign({}, getProps(this), { slots: slots, hasHeader: hasHeader, hasFooter: hasFooter }), h$1("slot", null)));
2023
2518
  }
2024
2519
  };
2025
2520
 
2026
- const GET_USER_DETAILS = dist.gql `
2027
- query getUser($programId: ID) {
2028
- viewer {
2029
- ... on User {
2030
- referralCode(programId: $programId)
2031
- }
2032
- }
2033
- }
2521
+ const GET_USER_DETAILS = dist.gql `
2522
+ query getUser($programId: ID) {
2523
+ viewer {
2524
+ ... on User {
2525
+ referralCode(programId: $programId)
2526
+ }
2527
+ }
2528
+ }
2034
2529
  `;
2035
2530
  function useReferralIframe(props) {
2036
2531
  var _a;
2037
2532
  const programId = O();
2038
- const user = N();
2039
- const { data } = dn(GET_USER_DETAILS, { programId }, !(user === null || user === void 0 ? void 0 : user.jwt) || !programId);
2533
+ const user = L();
2534
+ const { data } = mn(GET_USER_DETAILS, { programId }, !(user === null || user === void 0 ? void 0 : user.jwt) || !programId);
2040
2535
  return {
2041
2536
  states: {
2042
2537
  content: props,
@@ -2053,12 +2548,12 @@ const SqmReferralIframe = class {
2053
2548
  this.ignored = true;
2054
2549
  /**
2055
2550
  * Define the height of the iframe with any valid CSS height value. Example: 100px, 5rem, or auto.
2056
- * @uiName Iframe Height
2551
+ * @uiName IFrame height
2057
2552
  */
2058
2553
  this.iframeHeight = "100%";
2059
2554
  /**
2060
2555
  * Define the width of the iframe with any valid CSS width value. Example: 100px, 5rem, or auto.
2061
- * @uiName Iframe Width
2556
+ * @uiName IFrame width
2062
2557
  */
2063
2558
  this.iframeWidth = "100%";
2064
2559
  h(this);
@@ -2694,61 +3189,61 @@ var module = {};
2694
3189
 
2695
3190
  const confetti = module.exports;
2696
3191
 
2697
- const GET_EXCHANGE_LIST = dist.gql `
2698
- query getExchangeList {
2699
- viewer {
2700
- ... on User {
2701
- visibleRewardExchangeItems(limit: 20, offset: 0) {
2702
- data {
2703
- key
2704
- name
2705
- description
2706
- imageUrl
2707
- available
2708
- unavailableReasonCode
2709
- ruleType
2710
- sourceUnit
2711
- sourceValue
2712
- prettySourceValue
2713
- sourceMinValue
2714
- prettySourceMinValue
2715
- sourceMaxValue
2716
- prettySourceMaxValue
2717
- destinationMinValue
2718
- prettyDestinationMinValue
2719
- destinationMaxValue
2720
- prettyDestinationMaxValue
2721
- globalRewardKey
2722
- destinationUnit
2723
- steps {
2724
- sourceValue
2725
- prettySourceValue
2726
- destinationValue
2727
- prettyDestinationValue
2728
- available
2729
- globalRewardKey
2730
- unavailableReasonCode
2731
- rewardInput
2732
- }
2733
- }
2734
- totalCount
2735
- }
2736
- }
2737
- }
2738
- }
3192
+ const GET_EXCHANGE_LIST = dist.gql `
3193
+ query getExchangeList {
3194
+ viewer {
3195
+ ... on User {
3196
+ visibleRewardExchangeItems(limit: 20, offset: 0) {
3197
+ data {
3198
+ key
3199
+ name
3200
+ description
3201
+ imageUrl
3202
+ available
3203
+ unavailableReasonCode
3204
+ ruleType
3205
+ sourceUnit
3206
+ sourceValue
3207
+ prettySourceValue
3208
+ sourceMinValue
3209
+ prettySourceMinValue
3210
+ sourceMaxValue
3211
+ prettySourceMaxValue
3212
+ destinationMinValue
3213
+ prettyDestinationMinValue
3214
+ destinationMaxValue
3215
+ prettyDestinationMaxValue
3216
+ globalRewardKey
3217
+ destinationUnit
3218
+ steps {
3219
+ sourceValue
3220
+ prettySourceValue
3221
+ destinationValue
3222
+ prettyDestinationValue
3223
+ available
3224
+ globalRewardKey
3225
+ unavailableReasonCode
3226
+ rewardInput
3227
+ }
3228
+ }
3229
+ totalCount
3230
+ }
3231
+ }
3232
+ }
3233
+ }
2739
3234
  `;
2740
- const EXCHANGE = dist.gql `
2741
- mutation exchange($exchangeRewardInput: ExchangeRewardInput!) {
2742
- exchangeReward(exchangeRewardInput: $exchangeRewardInput) {
2743
- reward {
2744
- id
2745
- fuelTankCode
2746
- }
2747
- }
2748
- }
3235
+ const EXCHANGE = dist.gql `
3236
+ mutation exchange($exchangeRewardInput: ExchangeRewardInput!) {
3237
+ exchangeReward(exchangeRewardInput: $exchangeRewardInput) {
3238
+ reward {
3239
+ id
3240
+ fuelTankCode
3241
+ }
3242
+ }
3243
+ }
2749
3244
  `;
2750
3245
  function useRewardExchangeList(props) {
2751
- var _a, _b, _c, _d, _e;
3246
+ var _a, _b, _c, _d, _e$1;
2752
3247
  const [exchangeState, setExchangeState] = useReducer((state, next) => ({
2753
3248
  ...state,
2754
3249
  ...next,
@@ -2761,9 +3256,9 @@ function useRewardExchangeList(props) {
2761
3256
  });
2762
3257
  const [open, setOpen] = useState(false);
2763
3258
  const { selectedItem, selectedStep, redeemStage, amount, exchangeError } = exchangeState;
2764
- const user = N();
2765
- const [exchange, { data: exchangeResponse, loading: exchangeLoading, errors },] = Pe(EXCHANGE);
2766
- const { data, loading, refetch, errors: queryError, } = dn(GET_EXCHANGE_LIST, {}, !(user === null || user === void 0 ? void 0 : user.jwt));
3259
+ const user = L();
3260
+ const [exchange, { data: exchangeResponse, loading: exchangeLoading, errors },] = Ie(EXCHANGE);
3261
+ const { data, loading, refetch, errors: queryError, } = mn(GET_EXCHANGE_LIST, {}, !(user === null || user === void 0 ? void 0 : user.jwt));
2767
3262
  useEffect(() => {
2768
3263
  var _a, _b;
2769
3264
  if ((_b = (_a = exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.exchangeReward) === null || _a === void 0 ? void 0 : _a.reward) === null || _b === void 0 ? void 0 : _b.id) {
@@ -2782,7 +3277,7 @@ function useRewardExchangeList(props) {
2782
3277
  canvas.confetti || confetti.create(canvas, { resize: true });
2783
3278
  canvas.confetti();
2784
3279
  }, [canvasRef.current]);
2785
- const { refresh } = Le();
3280
+ const { refresh } = _e();
2786
3281
  async function exchangeReward() {
2787
3282
  if (!selectedItem)
2788
3283
  return;
@@ -2881,7 +3376,7 @@ function useRewardExchangeList(props) {
2881
3376
  },
2882
3377
  data: {
2883
3378
  exchangeList: (_c = (_b = data === null || data === void 0 ? void 0 : data.viewer) === null || _b === void 0 ? void 0 : _b.visibleRewardExchangeItems) === null || _c === void 0 ? void 0 : _c.data,
2884
- fuelTankCode: (_e = (_d = exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.exchangeReward) === null || _d === void 0 ? void 0 : _d.reward) === null || _e === void 0 ? void 0 : _e.fuelTankCode,
3379
+ fuelTankCode: (_e$1 = (_d = exchangeResponse === null || exchangeResponse === void 0 ? void 0 : exchangeResponse.exchangeReward) === null || _d === void 0 ? void 0 : _d.reward) === null || _e$1 === void 0 ? void 0 : _e$1.fuelTankCode,
2885
3380
  },
2886
3381
  callbacks: {
2887
3382
  exchangeReward,
@@ -2903,131 +3398,131 @@ const SqmRewardExchangeList = class {
2903
3398
  /**
2904
3399
  * Error message shown when reward is not available
2905
3400
  *
2906
- * @uiName Not Available Error
3401
+ * @uiName Not available error
2907
3402
  * @uiWidget textArea
2908
3403
  */
2909
3404
  this.notAvailableError = "{unavailableReasonCode, select, US_TAX {US Tax limit} INSUFFICIENT_REDEEMABLE_CREDIT {{sourceValue} required} AVAILABILITY_PREDICATE {Not available} other {{unavailableReasonCode}} }";
2910
3405
  /**
2911
- * @uiName Choose Reward Progress Title
3406
+ * @uiName Choose reward progress title
2912
3407
  */
2913
3408
  this.chooseRewardTitle = "Rewards";
2914
3409
  /**
2915
- * @uiName Choose Amount Progress Title
3410
+ * @uiName Choose amount progress title
2916
3411
  */
2917
3412
  this.chooseAmountTitle = "Select";
2918
3413
  /**
2919
- * @uiName Confirmation Progress Title
3414
+ * @uiName Confirmation progress title
2920
3415
  */
2921
3416
  this.confirmationTitle = "Confirm";
2922
3417
  /**
2923
- * @uiName Reward Title Text
3418
+ * @uiName Reward title text
2924
3419
  */
2925
3420
  this.rewardTitle = "Choose a reward";
2926
3421
  /**
2927
- * @uiName Cancel Button Text
3422
+ * @uiName Cancel button text
2928
3423
  */
2929
3424
  this.cancelText = "Cancel";
2930
3425
  /**
2931
- * @uiName Back Button Text
3426
+ * @uiName Back button text
2932
3427
  */
2933
3428
  this.backText = "Back";
2934
3429
  /**
2935
- * @uiName Continue Button Text
3430
+ * @uiName Continue button text
2936
3431
  */
2937
3432
  this.continueText = "Continue";
2938
3433
  /**
2939
3434
  * Displayed on the reward selection page.
2940
- * @uiName Continue to Confirmation Button Text
3435
+ * @uiName Continue to confirmation button text
2941
3436
  */
2942
3437
  this.continueToConfirmationText = "Continue to confirmation";
2943
3438
  /**
2944
- * @uiName Redeem Button Text
3439
+ * @uiName Redeem button text
2945
3440
  */
2946
3441
  this.redeemText = "Redeem";
2947
3442
  /**
2948
3443
  * Displayed as the header for the confirmation page.
2949
3444
  *
2950
- * @uiName Confirmation Title Text
3445
+ * @uiName Confirmation title text
2951
3446
  */
2952
3447
  this.redeemTitle = "Confirm and redeem";
2953
3448
  /**
2954
3449
  * Displayed on the success screen when a user successfully exchanges for a reward.
2955
3450
  *
2956
- * @uiName Redemption Success Message
3451
+ * @uiName Redemption success message
2957
3452
  * @uiWidget textArea
2958
3453
  */
2959
3454
  this.redemptionSuccessText = "Redeemed {sourceValue} for {destinationValue}";
2960
3455
  /**
2961
3456
  * Displayed on the reward exchange cards.
2962
3457
  *
2963
- * @uiName Reward Exchange Amount Text
3458
+ * @uiName Reward exchange amount text
2964
3459
  * @uiWidget textArea
2965
3460
  */
2966
3461
  this.sourceAmountMessage = "{ruleType, select, FIXED_GLOBAL_REWARD {{sourceValue}} other {{sourceMinValue} to {sourceMaxValue}}}";
2967
3462
  /**
2968
3463
  * Shown when a user copies a fuel tank code
2969
3464
  *
2970
- * @uiName Tooltip Text
3465
+ * @uiName Tooltip text
2971
3466
  */
2972
3467
  this.tooltipText = "Copied";
2973
3468
  /**
2974
- * @uiName Done Text
3469
+ * @uiName Done text
2975
3470
  */
2976
3471
  this.doneText = "Done";
2977
3472
  /**
2978
- * @uiName Select Amount Text
3473
+ * @uiName Select amount text
2979
3474
  * @uiWidget textArea
2980
3475
  */
2981
3476
  this.selectText = "Select amount to receive";
2982
3477
  /**
2983
3478
  * Shown if an error occurs when loading the reward exchange.
2984
3479
  *
2985
- * @uiName Reward List Error Message
3480
+ * @uiName Reward list error message
2986
3481
  * @uiWidget textArea
2987
3482
  */
2988
3483
  this.queryError = "Unable to load reward exchange list. Please try again";
2989
3484
  /**
2990
3485
  * Shown if an error occurs during the reward exchange.
2991
3486
  *
2992
- * @uiName Redemption Error Message
3487
+ * @uiName Redemption error message
2993
3488
  * @uiWidget textArea
2994
3489
  */
2995
3490
  this.redemptionError = "An error occured trying to redeem this reward. Please try again";
2996
3491
  /**
2997
- * @uiName Not Enough Error Message
3492
+ * @uiName Not enough error message
2998
3493
  * @uiWidget textArea
2999
3494
  */
3000
3495
  this.notEnoughError = "Not enough {sourceUnit} to redeem for this reward";
3001
3496
  /**
3002
- * @uiName Reward Redeemed Text
3497
+ * @uiName Reward redeemed text
3003
3498
  */
3004
3499
  this.rewardRedeemedText = "Reward redeemed";
3005
3500
  /**
3006
- * @uiName Promo Code Text
3501
+ * @uiName Promo code text
3007
3502
  */
3008
3503
  this.promoCode = "Promo Code";
3009
3504
  /**
3010
3505
  * Set the number of placeholder cards to be shown in loading state.
3011
3506
  *
3012
- * @uiName Loading Cards
3507
+ * @uiName Loading cards
3013
3508
  */
3014
3509
  this.skeletonCardNum = 8;
3015
3510
  /**
3016
3511
  * Shown in the confirmation state.
3017
3512
  *
3018
- * @uiName Reward Row Title
3513
+ * @uiName Reward row title
3019
3514
  */
3020
3515
  this.rewardNameTitle = "Reward";
3021
3516
  /**
3022
3517
  * Shown in the confirmation state.
3023
3518
  *
3024
- * @uiName Reward Amount Row Title
3519
+ * @uiName Reward amount row title
3025
3520
  */
3026
3521
  this.rewardAmountTitle = "Reward Amount";
3027
3522
  /**
3028
3523
  * Shown in the confirmation state.
3029
3524
  *
3030
- * @uiName Cost Row Title
3525
+ * @uiName Cost row title
3031
3526
  */
3032
3527
  this.costTitle = "Cost to Redeem";
3033
3528
  h(this);
@@ -3090,8 +3585,8 @@ function matchPath(pattern, page) {
3090
3585
  return regexp.exec(page);
3091
3586
  }
3092
3587
  function useRouter() {
3093
- const location = ln();
3094
- const host = R();
3588
+ const location = vn();
3589
+ const host = V();
3095
3590
  const [slot, setSlot] = useState(undefined);
3096
3591
  const [container, setContainer] = useState(undefined);
3097
3592
  const page = location.pathname;
@@ -3197,7 +3692,7 @@ const Scroll = class {
3197
3692
  registerInstance(this, hostRef);
3198
3693
  this.ignored = true;
3199
3694
  /**
3200
- * @uiName Button Type
3695
+ * @uiName Button type
3201
3696
  * @uiType string
3202
3697
  * @uiEnum ["default", "primary", "success", "neutral", "warning", "danger", "text"]
3203
3698
  * @uiEnumNames ["Default", "Primary", "Success", "Neutral", "Warning", "Danger", "Text"]
@@ -3205,7 +3700,7 @@ const Scroll = class {
3205
3700
  */
3206
3701
  this.buttonType = "default";
3207
3702
  /**
3208
- * @uiName Scroll Animation Style
3703
+ * @uiName Scroll animation style
3209
3704
  * @uiType string
3210
3705
  * @uiEnum ["smooth", "auto"]
3211
3706
  * @uiEnumNames ["Smooth", "Auto"]
@@ -3249,19 +3744,19 @@ const Scroll = class {
3249
3744
  };
3250
3745
  const sheet = createStyleSheet(style);
3251
3746
  const styleString = sheet.toString();
3252
- const vanillaStyle = `
3253
- :host{
3254
- display: contents;
3255
- }
3747
+ const vanillaStyle = `
3748
+ :host{
3749
+ display: contents;
3750
+ }
3256
3751
  ${this.mobile &&
3257
- `
3258
- @media only screen and (max-width: 499px) {
3259
- :host {
3260
- display: block;
3261
- width: 100%;
3262
- }
3263
- }
3264
- `}
3752
+ `
3753
+ @media only screen and (max-width: 499px) {
3754
+ :host {
3755
+ display: block;
3756
+ width: 100%;
3757
+ }
3758
+ }
3759
+ `}
3265
3760
  `;
3266
3761
  let classStack = "";
3267
3762
  if (this.outline && this.buttonType != "default")
@@ -3281,25 +3776,25 @@ const ShareButton = class {
3281
3776
  registerInstance(this, hostRef);
3282
3777
  /**
3283
3778
  * @uiType string
3284
- * @uiName Button Style
3779
+ * @uiName Button style
3285
3780
  * @uiEnum ["primary" , "success", "info", "warning", "danger", "default", "text" ]
3286
3781
  * @uiEnumNames ["Primary", "Success", "Info", "Warning", "Danger", "Default", "Text"]
3287
3782
  */
3288
3783
  this.type = "default";
3289
3784
  /**
3290
- * @uiName Icon Location
3785
+ * @uiName Icon location
3291
3786
  * @uiType string
3292
3787
  * @uiEnum ["prefix", "suffix" ]
3293
3788
  * @uiEnumNames ["Prefix", "Suffix"]
3294
3789
  */
3295
3790
  this.iconslot = "prefix";
3296
3791
  /**
3297
- * @uiName Hide Icon
3792
+ * @uiName Hide icon
3298
3793
  * @default
3299
3794
  */
3300
3795
  this.hideicon = false;
3301
3796
  /**
3302
- * @uiName Hide Text
3797
+ * @uiName Hide text
3303
3798
  * @default
3304
3799
  */
3305
3800
  this.hidetext = false;
@@ -3326,35 +3821,35 @@ function useDemoShareButton(props) {
3326
3821
  }
3327
3822
  ShareButton.style = sqmShareButtonCss;
3328
3823
 
3329
- const MessageLinkQuery = dist.gql `
3330
- query ($programId: ID) {
3331
- user: viewer {
3332
- ... on User {
3333
- referralCode(programId: $programId)
3334
- }
3335
- }
3336
- }
3824
+ const MessageLinkQuery = dist.gql `
3825
+ query ($programId: ID) {
3826
+ user: viewer {
3827
+ ... on User {
3828
+ referralCode(programId: $programId)
3829
+ }
3830
+ }
3831
+ }
3337
3832
  `;
3338
- const WIDGET_ENGAGEMENT_EVENT = dist.gql `
3339
- mutation loadEvent($eventMeta: UserAnalyticsEvent!) {
3340
- createUserAnalyticsEvent(eventMeta: $eventMeta)
3341
- }
3833
+ const WIDGET_ENGAGEMENT_EVENT$1 = dist.gql `
3834
+ mutation loadEvent($eventMeta: UserAnalyticsEvent!) {
3835
+ createUserAnalyticsEvent(eventMeta: $eventMeta)
3836
+ }
3342
3837
  `;
3343
3838
  function useShareCode(props) {
3344
3839
  var _a, _b;
3345
3840
  const { programId = O() } = props;
3346
- const user = N();
3347
- const engagementMedium = U();
3348
- const { data } = dn(MessageLinkQuery, { programId }, !(user === null || user === void 0 ? void 0 : user.jwt));
3349
- const [sendLoadEvent] = Pe(WIDGET_ENGAGEMENT_EVENT);
3350
- const shareString = (_b = (_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.referralCode) !== null && _b !== void 0 ? _b :
3841
+ const user = L();
3842
+ const engagementMedium = T();
3843
+ const { data } = mn(MessageLinkQuery, { programId }, !(user === null || user === void 0 ? void 0 : user.jwt));
3844
+ const [sendLoadEvent] = Ie(WIDGET_ENGAGEMENT_EVENT$1);
3845
+ const copyString = (_b = (_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.referralCode) !== null && _b !== void 0 ? _b :
3351
3846
  // Shown during loading
3352
3847
  "...";
3353
3848
  const [open, setOpen] = useState(false);
3354
3849
  function onClick() {
3355
3850
  // Should well supported: https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility
3356
3851
  // Only if called from a user-initiated event
3357
- navigator.clipboard.writeText(shareString);
3852
+ navigator.clipboard.writeText(copyString);
3358
3853
  setOpen(true);
3359
3854
  setTimeout(() => setOpen(false), props.tooltiplifespan);
3360
3855
  sendLoadEvent({
@@ -3370,16 +3865,16 @@ function useShareCode(props) {
3370
3865
  },
3371
3866
  });
3372
3867
  }
3373
- return { ...props, onClick, open, shareString };
3868
+ return { ...props, onClick, open, copyString: copyString };
3374
3869
  }
3375
3870
 
3376
3871
  const ShareCode = class {
3377
3872
  constructor(hostRef) {
3378
3873
  registerInstance(this, hostRef);
3379
3874
  /**
3380
- * Shown inside a tooltip after someone has successfully copied the link to their clipboard.
3875
+ * Shown inside a tooltip after someone has successfully copied the link to their clipboard
3381
3876
  *
3382
- * @uiName Tooltip Text
3877
+ * @uiName Tooltip text
3383
3878
  */
3384
3879
  this.tooltiptext = "Copied to Clipboard";
3385
3880
  /**
@@ -3388,6 +3883,28 @@ const ShareCode = class {
3388
3883
  * @uiName Tooltip lifespan
3389
3884
  */
3390
3885
  this.tooltiplifespan = 1000;
3886
+ /**
3887
+ * Change the text alignment
3888
+ *
3889
+ * @uiName Share code alignment
3890
+ * @uiType string
3891
+ * @uiEnum ["left", "center", "right"]
3892
+ * @uiEnumNames ["Left", "Center", "Right"]
3893
+ */
3894
+ this.textAlign = "left";
3895
+ /**
3896
+ * @uiName Copy button label
3897
+ */
3898
+ this.copyButtonLabel = "Copy Code";
3899
+ /**
3900
+ * Set the copy button style and placement
3901
+ *
3902
+ * @uiName Style
3903
+ * @uiType string
3904
+ * @uiEnum ["icon", "button-outside", "button-below"]
3905
+ * @uiEnumNames ["Icon", "Button outside", "Button below"]
3906
+ */
3907
+ this.buttonStyle = "icon";
3391
3908
  h(this);
3392
3909
  }
3393
3910
  disconnectedCallback() { }
@@ -3396,20 +3913,24 @@ const ShareCode = class {
3396
3913
  const props = isDemo()
3397
3914
  ? useDemoShareCode(thisProps)
3398
3915
  : useShareCode(thisProps);
3399
- return h$1(ShareLinkView, Object.assign({}, props));
3916
+ return h$1(CopyTextView, Object.assign({}, props));
3400
3917
  }
3401
3918
  };
3402
3919
  function useDemoShareCode(props) {
3403
3920
  const [open, setOpen] = useState(false);
3404
- const shareString = "SHARECODE001";
3921
+ const copyString = "SHARECODE001";
3405
3922
  return cjs({
3406
- shareString,
3923
+ copyString: copyString,
3407
3924
  tooltiptext: props.tooltiptext,
3925
+ textAlign: props.textAlign,
3926
+ copyButtonLabel: props.copyButtonLabel,
3927
+ buttonStyle: props.buttonStyle,
3928
+ rewardStatus: "AVAILABLE",
3408
3929
  open,
3409
3930
  onClick: () => {
3410
3931
  // Should well supported: https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility
3411
3932
  // Only if called from a user-initiated event
3412
- navigator.clipboard.writeText(shareString);
3933
+ navigator.clipboard.writeText(copyString);
3413
3934
  setOpen(true);
3414
3935
  setTimeout(() => setOpen(false), props.tooltiplifespan);
3415
3936
  },
@@ -3420,17 +3941,39 @@ const ShareLink = class {
3420
3941
  constructor(hostRef) {
3421
3942
  registerInstance(this, hostRef);
3422
3943
  /**
3423
- * Shown inside a tooltip after someone has successfully copied the link to their clipboard.
3944
+ * Shown inside a tooltip after someone has successfully copied the link to their clipboard
3424
3945
  *
3425
- * @uiName Tooltip Text
3946
+ * @uiName Tooltip text
3426
3947
  */
3427
3948
  this.tooltiptext = "Copied to Clipboard";
3428
3949
  /**
3429
3950
  * The number of milliseconds that the tooltip appears for
3430
3951
  *
3431
- * @uiName Tooltip Lifespan
3952
+ * @uiName Tooltip lifespan
3432
3953
  */
3433
3954
  this.tooltiplifespan = 1000;
3955
+ /**
3956
+ * Change the text alignment
3957
+ *
3958
+ * @uiName Share link alignment
3959
+ * @uiType string
3960
+ * @uiEnum ["left", "center", "right"]
3961
+ * @uiEnumNames ["Left", "Center", "Right"]
3962
+ */
3963
+ this.textAlign = "left";
3964
+ /**
3965
+ * @uiName Copy button label
3966
+ */
3967
+ this.copyButtonLabel = "Copy Link";
3968
+ /**
3969
+ * Set the copy button style and placement
3970
+ *
3971
+ * @uiName Style
3972
+ * @uiType string
3973
+ * @uiEnum ["icon", "button-outside", "button-below"]
3974
+ * @uiEnumNames ["Icon", "Button outside", "Button below"]
3975
+ */
3976
+ this.buttonStyle = "icon";
3434
3977
  h(this);
3435
3978
  }
3436
3979
  disconnectedCallback() { }
@@ -3439,20 +3982,24 @@ const ShareLink = class {
3439
3982
  const props = isDemo()
3440
3983
  ? useDemoShareLink(thisProps)
3441
3984
  : useShareLink(thisProps);
3442
- return h$1(ShareLinkView, Object.assign({}, props));
3985
+ return h$1(CopyTextView, Object.assign({}, props));
3443
3986
  }
3444
3987
  };
3445
3988
  function useDemoShareLink(props) {
3446
3989
  const [open, setOpen] = useState(false);
3447
- const shareString = "https://www.example.com/sharelink/abc";
3990
+ const copyString = "https://www.example.com/sharelink/abc";
3448
3991
  return cjs({
3449
- shareString,
3992
+ copyString: copyString,
3450
3993
  tooltiptext: props.tooltiptext,
3994
+ textAlign: props.textAlign,
3995
+ buttonStyle: props.buttonStyle,
3996
+ copyButtonLabel: props.copyButtonLabel,
3997
+ rewardStatus: "AVAILABLE",
3451
3998
  open,
3452
3999
  onClick: () => {
3453
4000
  // Should well supported: https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility
3454
4001
  // Only if called from a user-initiated event
3455
- navigator.clipboard.writeText(shareString);
4002
+ navigator.clipboard.writeText(copyString);
3456
4003
  setOpen(true);
3457
4004
  setTimeout(() => setOpen(false), props.tooltiplifespan);
3458
4005
  },
@@ -3464,7 +4011,7 @@ const StatContainer = class {
3464
4011
  registerInstance(this, hostRef);
3465
4012
  this.ignored = true;
3466
4013
  /**
3467
- * @uiName Space Between Stats
4014
+ * @uiName Space between stats
3468
4015
  * @uiType string
3469
4016
  * @uiEnum ["none", "xxx-small", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "xxxx-large"]
3470
4017
  * @uiEnumNames ["None", "XXX-Small", "XX-Small", "X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large", "XXX-Large", "XXXX-Large"]
@@ -3488,7 +4035,7 @@ const StatContainer = class {
3488
4035
  const TableCell = class {
3489
4036
  constructor(hostRef) {
3490
4037
  registerInstance(this, hostRef);
3491
- /** @uiName Column Span */
4038
+ /** @uiName Column span */
3492
4039
  this.colspan = 1;
3493
4040
  /** @uiName Padding */
3494
4041
  this.padding = "15px 10px";
@@ -3511,18 +4058,18 @@ const TableRow = class {
3511
4058
  }
3512
4059
  };
3513
4060
 
3514
- const SEND_EVENT = dist.gql `
3515
- mutation taskCardEvent($userEventInput: UserEventInput!) {
3516
- logUserEvent(userEventInput: $userEventInput) {
3517
- userId
3518
- }
3519
- }
4061
+ const SEND_EVENT = dist.gql `
4062
+ mutation taskCardEvent($userEventInput: UserEventInput!) {
4063
+ logUserEvent(userEventInput: $userEventInput) {
4064
+ userId
4065
+ }
4066
+ }
3520
4067
  `;
3521
4068
  function useTaskCard(props) {
3522
- const user = N();
3523
- const locale = x();
3524
- const [sendUserEvent, { data, loading: loadingEvent }] = Pe(SEND_EVENT);
3525
- const { refresh } = Le();
4069
+ const user = L();
4070
+ const locale = W();
4071
+ const [sendUserEvent, { data, loading: loadingEvent }] = Ie(SEND_EVENT);
4072
+ const { refresh } = _e();
3526
4073
  useEffect(() => {
3527
4074
  if (data) {
3528
4075
  refresh();
@@ -3557,12 +4104,12 @@ const TaskCard = class {
3557
4104
  registerInstance(this, hostRef);
3558
4105
  this.ignored = true;
3559
4106
  /**
3560
- * @uiName Reward Amount
4107
+ * @uiName Reward amount
3561
4108
  * @uiGroup Reward
3562
4109
  */
3563
4110
  this.rewardAmount = "0";
3564
4111
  /**
3565
- * @uiName Reward Unit
4112
+ * @uiName Reward unit
3566
4113
  * @uiGroup Reward
3567
4114
  */
3568
4115
  this.rewardUnit = "Points";
@@ -3577,7 +4124,7 @@ const TaskCard = class {
3577
4124
  */
3578
4125
  this.description = "";
3579
4126
  /**
3580
- * @uiName Goal Repeatable
4127
+ * @uiName Goal repeatable
3581
4128
  * @uiGroup Goal
3582
4129
  * @default
3583
4130
  */
@@ -3585,12 +4132,12 @@ const TaskCard = class {
3585
4132
  /**
3586
4133
  * The number of times a task can be completed when repeatable. Use zero for no limit (the default).
3587
4134
  *
3588
- * @uiName Repeat Amount
4135
+ * @uiName Repeat amount
3589
4136
  * @uiGroup Reward
3590
4137
  */
3591
4138
  this.finite = 0;
3592
4139
  /**
3593
- * @uiName Show Progress Bar
4140
+ * @uiName Show progress bar
3594
4141
  * @uiGroup Goal
3595
4142
  * @default
3596
4143
  */
@@ -3598,12 +4145,12 @@ const TaskCard = class {
3598
4145
  /**
3599
4146
  * Sets the goal for users progress to know when a task has been completed. If repeatable is checked, repeatable goals is an increment of this.
3600
4147
  *
3601
- * @uiName Goal Completion Number
4148
+ * @uiName Goal completion number
3602
4149
  * @uiGroup Goal
3603
4150
  */
3604
4151
  this.goal = 1;
3605
4152
  /**
3606
- * @uiName Progress Bar Steps
4153
+ * @uiName Progress bar steps
3607
4154
  * @uiGroup Goal
3608
4155
  * @default
3609
4156
  */
@@ -3611,47 +4158,47 @@ const TaskCard = class {
3611
4158
  /**
3612
4159
  * The unit displayed to the right of steps and progress numbers on the progress bar. Ex: $ for dollars
3613
4160
  *
3614
- * @uiName Progress Bar Unit
4161
+ * @uiName Progress bar unit
3615
4162
  * @uiGroup Goal
3616
4163
  */
3617
4164
  this.progressBarUnit = "";
3618
4165
  /**
3619
4166
  * Displayed when a user views a task card after the reward duration interval.
3620
4167
  *
3621
- * @uiName Expiry Date Message
4168
+ * @uiName Expiry date message
3622
4169
  * @uiGroup Task
3623
4170
  */
3624
4171
  this.expiryMessage = "Ends {endDate}";
3625
4172
  /**
3626
4173
  * Shown to users before the start of the task duration.
3627
4174
  *
3628
- * @uiName Start Date Message
4175
+ * @uiName Start date message
3629
4176
  * @uiGroup Task
3630
4177
  */
3631
4178
  this.startsOnMessage = "Starts {startDate}";
3632
4179
  /**
3633
4180
  * Shown to users after the end of the task duration.
3634
4181
  *
3635
- * @uiName Ended Date Message
4182
+ * @uiName Ended date message
3636
4183
  * @uiGroup Task
3637
4184
  */
3638
4185
  this.endedMessage = "Ended {endDate}";
3639
4186
  /**
3640
4187
  * Displays the amount of times that a user has completed a repeatable task.
3641
4188
  *
3642
- * @uiName Completed Count Text
4189
+ * @uiName Completed count text
3643
4190
  * @uiGroup Task
3644
4191
  * @uiWidget textArea
3645
4192
  */
3646
4193
  this.completedText = "Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}";
3647
4194
  /**
3648
- * @uiName Button Text
4195
+ * @uiName Button text
3649
4196
  * @uiGroup Button
3650
4197
  */
3651
4198
  this.buttonText = "Complete Action";
3652
4199
  /**
3653
- * Button Link Opens in New Tab
3654
- * @uiName Open In New Tab
4200
+ * Button link opens in new tab
4201
+ * @uiName Open in new tab
3655
4202
  * @uiGroup Button
3656
4203
  * @default
3657
4204
  */
@@ -3709,14 +4256,14 @@ const Timeline = class {
3709
4256
  // incase child is not sqm-timeline-entry
3710
4257
  }
3711
4258
  });
3712
- const vanillaStyle = `
3713
- :host{
3714
- display: block;
3715
- }
3716
-
3717
- ::slotted(*:not(:only-child):not(:last-child)) {
3718
- margin-bottom: var(--sl-spacing-xx-large);
3719
- }
4259
+ const vanillaStyle = `
4260
+ :host{
4261
+ display: block;
4262
+ }
4263
+
4264
+ ::slotted(*:not(:only-child):not(:last-child)) {
4265
+ margin-bottom: var(--sl-spacing-xx-large);
4266
+ }
3720
4267
  `;
3721
4268
  return (h$1("div", null, h$1("style", { type: "text/css" }, vanillaStyle), h$1("slot", null)));
3722
4269
  }
@@ -3730,7 +4277,7 @@ const Gift = () => (h$1("svg", { width: "24", height: "24", viewBox: "0 0 24 24"
3730
4277
  const Circle = () => (h$1("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
3731
4278
  h$1("circle", { cx: "12", cy: "12", r: "9", fill: "currentColor", stroke: "currentColor", "stroke-width": "2" })));
3732
4279
 
3733
- const style$2 = {
4280
+ const style$3 = {
3734
4281
  TimelineReward: {
3735
4282
  color: "var(--sl-color-neutral-900)",
3736
4283
  lineHeight: "var(--sl-line-height-dense)",
@@ -3773,25 +4320,25 @@ const style$2 = {
3773
4320
  },
3774
4321
  },
3775
4322
  };
3776
- const sheet$2 = createStyleSheet(style$2);
3777
- const styleString$2 = sheet$2.toString();
3778
- const vanillaStyle$1 = `
3779
- :host{
3780
- display: block;
3781
- }
3782
-
3783
- :host(:not(:last-of-type)) .line {
3784
- display: block;
3785
- }
4323
+ const sheet$3 = createStyleSheet(style$3);
4324
+ const styleString$3 = sheet$3.toString();
4325
+ const vanillaStyle$2 = `
4326
+ :host{
4327
+ display: block;
4328
+ }
4329
+
4330
+ :host(:not(:last-of-type)) .line {
4331
+ display: block;
4332
+ }
3786
4333
  `;
3787
4334
  function TimelineEntryView(props) {
3788
4335
  var _a;
3789
4336
  const timeline_icon = (_a = props.icon) !== null && _a !== void 0 ? _a : props.iconState;
3790
- return (h$1("div", { class: sheet$2.classes.TimelineReward },
4337
+ return (h$1("div", { class: sheet$3.classes.TimelineReward, part: "sqm-base" },
3791
4338
  h$1("style", { type: "text/css" },
3792
- styleString$2,
3793
- vanillaStyle$1),
3794
- h$1("div", { class: "container" },
4339
+ styleString$3,
4340
+ vanillaStyle$2),
4341
+ h$1("div", { class: "container", part: "sqm-entry-container" },
3795
4342
  h$1("div", { class: "line" }, "/"),
3796
4343
  h$1("div", { class: "step" },
3797
4344
  timeline_icon === "gift" && (h$1("div", { class: "icon" },
@@ -3800,9 +4347,9 @@ function TimelineEntryView(props) {
3800
4347
  h$1(Circle, null))),
3801
4348
  h$1("div", null,
3802
4349
  h$1("div", null,
3803
- h$1("span", { class: "reward" }, props.reward),
3804
- h$1("span", { class: "unit" }, props.unit)),
3805
- h$1("div", { class: "description" }, props.desc))))));
4350
+ h$1("span", { class: "reward", part: "sqm-reward" }, props.reward),
4351
+ h$1("span", { class: "unit", part: "sqm-unit" }, props.unit)),
4352
+ h$1("div", { class: "description", part: "sqm-description" }, props.desc))))));
3806
4353
  }
3807
4354
 
3808
4355
  const TimelineReward = class {
@@ -3826,20 +4373,20 @@ function UserNameView(props) {
3826
4373
  return h$1(Host, null, props.loading ? props.loadingText : props.username);
3827
4374
  }
3828
4375
 
3829
- const GET_USER_NAME = dist.gql `
3830
- query getUserName {
3831
- viewer {
3832
- ... on User {
3833
- firstName
3834
- lastName
3835
- }
3836
- }
3837
- }
4376
+ const GET_USER_NAME = dist.gql `
4377
+ query getUserName {
4378
+ viewer {
4379
+ ... on User {
4380
+ firstName
4381
+ lastName
4382
+ }
4383
+ }
4384
+ }
3838
4385
  `;
3839
4386
  function useUserName(props) {
3840
4387
  var _a, _b, _c, _d, _e, _f, _g, _h;
3841
- const user = N();
3842
- const res = dn(GET_USER_NAME, {}, !(user === null || user === void 0 ? void 0 : user.jwt));
4388
+ const user = L();
4389
+ const res = mn(GET_USER_NAME, {}, !(user === null || user === void 0 ? void 0 : user.jwt));
3843
4390
  const loading = res.loading;
3844
4391
  const username = ((_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.viewer) === null || _b === void 0 ? void 0 : _b.firstName) || ((_d = (_c = res.data) === null || _c === void 0 ? void 0 : _c.viewer) === null || _d === void 0 ? void 0 : _d.lastName)
3845
4392
  ? `${(_f = (_e = res.data) === null || _e === void 0 ? void 0 : _e.viewer) === null || _f === void 0 ? void 0 : _f.firstName} ${(_h = (_g = res.data) === null || _g === void 0 ? void 0 : _g.viewer) === null || _h === void 0 ? void 0 : _h.lastName}`
@@ -3856,12 +4403,12 @@ const UserName = class {
3856
4403
  registerInstance(this, hostRef);
3857
4404
  this.ignored = true;
3858
4405
  /**
3859
- * @uiName Unknown User Name
4406
+ * @uiName Unknown user name
3860
4407
  */
3861
4408
  this.fallback = "Anonymous User";
3862
4409
  /**
3863
4410
  * Text displayed while the participant’s name is loading.
3864
- * @uiName Loading Text
4411
+ * @uiName Loading text
3865
4412
  */
3866
4413
  this.loadingText = "...";
3867
4414
  h(this);
@@ -3880,4 +4427,4 @@ function useUserNameDemo(props) {
3880
4427
  }, props.demoData || {}, { arrayMerge: (_, a) => a });
3881
4428
  }
3882
4429
 
3883
- export { BigStat as sqm_big_stat, BrandComponent as sqm_brand, CardFeed as sqm_card_feed, CheckboxField as sqm_checkbox_field, DividedLayout as sqm_divided_layout, DropdownField as sqm_dropdown_field, EditProfile as sqm_edit_profile, HeroImage as sqm_hero_image, SqmHookStoryContainer as sqm_hook_story_container, InputField as sqm_input_field, Leaderboard as sqm_leaderboard, NameFields as sqm_name_fields, NavigationMenu as sqm_navigation_menu, PortalChangePassword as sqm_portal_change_password, PortalFrame as sqm_portal_frame, PortalLogin as sqm_portal_login, PortalRegister as sqm_portal_register, ProgramExplainer as sqm_program_explainer, ProgramExplainerStep as sqm_program_explainer_step, ProgramMenu as sqm_program_menu, ReferralCard as sqm_referral_card, SqmReferralIframe as sqm_referral_iframe, SqmRewardExchangeList as sqm_reward_exchange_list, SqmRouter as sqm_router, Scroll as sqm_scroll, ShareButton as sqm_share_button, ShareCode as sqm_share_code, ShareLink as sqm_share_link, StatContainer as sqm_stat_container, TableCell as sqm_table_cell, TableRow as sqm_table_row, TaskCard as sqm_task_card, Timeline as sqm_timeline, TimelineReward as sqm_timeline_entry, UserName as sqm_user_name };
4430
+ export { BigStat as sqm_big_stat, BrandComponent as sqm_brand, CardFeed as sqm_card_feed, CheckboxField as sqm_checkbox_field, CouponCode as sqm_coupon_code, DividedLayout as sqm_divided_layout, DropdownField as sqm_dropdown_field, EditProfile as sqm_edit_profile, Hero as sqm_hero, HeroImage as sqm_hero_image, SqmHookStoryContainer as sqm_hook_story_container, InputField as sqm_input_field, Leaderboard as sqm_leaderboard, LinkButton as sqm_link_button, NameFields as sqm_name_fields, NavigationMenu as sqm_navigation_menu, PortalChangePassword as sqm_portal_change_password, PortalFooter as sqm_portal_footer, PortalFrame as sqm_portal_frame, PortalLogin as sqm_portal_login, PortalRegister as sqm_portal_register, ProgramExplainer as sqm_program_explainer, ProgramExplainerStep as sqm_program_explainer_step, ProgramMenu as sqm_program_menu, ReferralCard as sqm_referral_card, SqmReferralIframe as sqm_referral_iframe, SqmRewardExchangeList as sqm_reward_exchange_list, SqmRouter as sqm_router, Scroll as sqm_scroll, ShareButton as sqm_share_button, ShareCode as sqm_share_code, ShareLink as sqm_share_link, StatContainer as sqm_stat_container, TableCell as sqm_table_cell, TableRow as sqm_table_row, TaskCard as sqm_task_card, Timeline as sqm_timeline, TimelineReward as sqm_timeline_entry, UserName as sqm_user_name };