@saasquatch/mint-components 1.11.1-63 → 1.11.1-65

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 (427) hide show
  1. package/dist/cjs/{GenericTableView-80d7642e.js → GenericTableView-bb2fcd95.js} +2 -2
  2. package/dist/cjs/{ShadowViewAddon-c3e91cee.js → ShadowViewAddon-d714d857.js} +166 -224
  3. package/dist/cjs/copy-text-view-bb2d108f.js +229 -0
  4. package/dist/cjs/{email-registration-view-248652bb.js → email-registration-view-54cedb43.js} +2 -2
  5. package/dist/cjs/{global-02e50f09.js → global-e067aa06.js} +2 -2
  6. package/dist/cjs/{index-b0129cd6.js → index-ff72278c.js} +2 -0
  7. package/dist/cjs/{index.module-df530553.js → index.module-224d7b8d.js} +1 -1
  8. package/dist/cjs/loader.cjs.js +5 -5
  9. package/dist/cjs/{luxon-05098e19.js → luxon-45228ff5.js} +1 -1
  10. package/dist/cjs/mint-components.cjs.js +5 -5
  11. package/dist/cjs/{mockRewardData-4258e067.js → mockRewardData-d6be2267.js} +1 -1
  12. package/dist/cjs/raisins-plop-target.cjs.entry.js +1 -1
  13. package/dist/cjs/{re-render-1976e05e.js → re-render-cd2f8774.js} +2 -2
  14. package/dist/cjs/{sqm-asset-card-view-a0e33f21.js → sqm-asset-card-view-30ca5188.js} +1 -1
  15. package/dist/cjs/sqm-asset-card.cjs.entry.js +5 -5
  16. package/dist/cjs/sqm-banking-info-form_16.cjs.entry.js +12 -12
  17. package/dist/cjs/sqm-big-stat_38.cjs.entry.js +17 -16
  18. package/dist/cjs/{sqm-close-button-view-fd6e8f60.js → sqm-close-button-view-6a709e00.js} +2 -2
  19. package/dist/cjs/sqm-close-button.cjs.entry.js +5 -5
  20. package/dist/cjs/sqm-context-router.cjs.entry.js +3 -3
  21. package/dist/cjs/sqm-empty_4.cjs.entry.js +11 -7
  22. package/dist/cjs/sqm-form-message.cjs.entry.js +2 -2
  23. package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +3 -3
  24. package/dist/cjs/sqm-header-logo.cjs.entry.js +2 -2
  25. package/dist/cjs/sqm-instant-access-registration.cjs.entry.js +7 -7
  26. package/dist/cjs/{sqm-invoice-table-view-e3b03a00.js → sqm-invoice-table-view-2f4f426b.js} +2 -2
  27. package/dist/cjs/{sqm-leaderboard-rank-view-5a3d4a88.js → sqm-leaderboard-rank-view-317eb84f.js} +1 -1
  28. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +5 -5
  29. package/dist/cjs/{sqm-logout-current-user-view-c9f18d96.js → sqm-logout-current-user-view-1912b773.js} +1 -1
  30. package/dist/cjs/sqm-logout-current-user.cjs.entry.js +6 -6
  31. package/dist/cjs/{sqm-navigation-sidebar-item-view-a125ec5f.js → sqm-navigation-sidebar-item-view-010a81c7.js} +3 -3
  32. package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +6 -6
  33. package/dist/cjs/{sqm-navigation-sidebar-view-921704fb.js → sqm-navigation-sidebar-view-215eba1d.js} +1 -1
  34. package/dist/cjs/sqm-navigation-sidebar.cjs.entry.js +4 -4
  35. package/dist/cjs/sqm-pagination_3.cjs.entry.js +389 -0
  36. package/dist/cjs/sqm-password-field.cjs.entry.js +6 -6
  37. package/dist/cjs/sqm-popup-container.cjs.entry.js +3 -3
  38. package/dist/cjs/{sqm-portal-container-view-990a85a3.js → sqm-portal-container-view-976bf0f5.js} +1 -1
  39. package/dist/cjs/{sqm-portal-email-verification-view-292b5bf4.js → sqm-portal-email-verification-view-f8980d11.js} +4 -4
  40. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +7 -7
  41. package/dist/cjs/{sqm-portal-forgot-password-view-969c49ed.js → sqm-portal-forgot-password-view-24339191.js} +3 -3
  42. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +6 -6
  43. package/dist/cjs/sqm-portal-logout.cjs.entry.js +3 -3
  44. package/dist/cjs/{sqm-portal-profile-view-fde54e35.js → sqm-portal-profile-view-7c70d7f9.js} +3 -3
  45. package/dist/cjs/sqm-portal-profile.cjs.entry.js +9 -9
  46. package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +3 -3
  47. package/dist/cjs/sqm-portal-registration-form.cjs.entry.js +6 -6
  48. package/dist/cjs/{sqm-portal-reset-password-view-96f329ed.js → sqm-portal-reset-password-view-1b85b8cf.js} +3 -3
  49. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +7 -7
  50. package/dist/cjs/{sqm-portal-verify-email-view-7ffcc0d4.js → sqm-portal-verify-email-view-cc3c87c3.js} +3 -3
  51. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +7 -7
  52. package/dist/cjs/sqm-referral-table_11.cjs.entry.js +13 -13
  53. package/dist/cjs/sqm-referred-registration.cjs.entry.js +7 -7
  54. package/dist/cjs/sqm-rewards-table-customer-note-cell.cjs.entry.js +3 -3
  55. package/dist/cjs/sqm-rewards-table-customer-note-column.cjs.entry.js +4 -4
  56. package/dist/cjs/sqm-rewards-table_9.cjs.entry.js +12 -12
  57. package/dist/cjs/sqm-route.cjs.entry.js +1 -1
  58. package/dist/cjs/sqm-stencilbook.cjs.entry.js +296 -99
  59. package/dist/cjs/sqm-tab.cjs.entry.js +4 -4
  60. package/dist/cjs/sqm-tabs.cjs.entry.js +5 -5
  61. package/dist/cjs/{sqm-text-span-view-e1cd9bd3.js → sqm-text-span-view-38222836.js} +1 -1
  62. package/dist/cjs/sqm-text-span.cjs.entry.js +3 -3
  63. package/dist/cjs/{stencil-hooks.module-72742a0b.js → stencil-hooks.module-8f69ed33.js} +1 -1
  64. package/dist/cjs/{useChildElements-e0d44916.js → useChildElements-176ac928.js} +2 -2
  65. package/dist/cjs/{useInstantAccessRegistration-bbe746d1.js → useInstantAccessRegistration-151a3f4a.js} +3 -3
  66. package/dist/cjs/{useReferralTable-a76adb0d.js → useReferralTable-c91d9310.js} +5 -5
  67. package/dist/cjs/{useRegistrationFormState-876ed65d.js → useRegistrationFormState-49dd9295.js} +2 -2
  68. package/dist/cjs/{utilities-cec9dd36.js → utilities-719c980a.js} +2 -2
  69. package/dist/collection/collection-manifest.json +10 -0
  70. package/dist/collection/components/sqm-coupon-code/sqm-coupon-code.js +1 -1
  71. package/dist/collection/components/sqm-empty/sqm-empty.js +10 -2
  72. package/dist/collection/components/sqm-logout-current-user/sqm-logout-current-user.js +1 -1
  73. package/dist/collection/components/sqm-pagination/Pagination.stories.js +12 -0
  74. package/dist/collection/components/sqm-pagination/sqm-pagination-view.js +30 -0
  75. package/dist/collection/components/sqm-pagination/sqm-pagination.js +108 -0
  76. package/dist/collection/components/sqm-pagination/usePagination.js +29 -0
  77. package/dist/collection/components/sqm-portal-container/sqm-portal-container.js +0 -4
  78. package/dist/collection/components/sqm-referral-card/ReferralCard.stories.js +20 -0
  79. package/dist/collection/components/sqm-referral-code/ReferralCode.stories.js +60 -0
  80. package/dist/collection/components/sqm-referral-code/sqm-referral-code.js +317 -0
  81. package/dist/collection/components/sqm-referral-code/useReferralCode.js +62 -0
  82. package/dist/collection/components/sqm-referral-codes/ReferralCodes.stories.js +65 -0
  83. package/dist/collection/components/sqm-referral-codes/sqm-referral-codes-view.js +69 -0
  84. package/dist/collection/components/sqm-referral-codes/sqm-referral-codes.js +219 -0
  85. package/dist/collection/components/sqm-referral-codes/useReferralCodes.js +129 -0
  86. package/dist/collection/components/sqm-share-button/useShareButton.js +29 -18
  87. package/dist/collection/components/sqm-share-code/sqm-share-code.js +1 -1
  88. package/dist/collection/components/sqm-share-link/sqm-share-link.js +1 -1
  89. package/dist/collection/components/sqm-share-link/useShareLink.js +11 -4
  90. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +6 -0
  91. package/dist/collection/components/views/copy-text-view.js +18 -3
  92. package/dist/collection/stories/Widget.stories.js +5 -0
  93. package/dist/esm/{GenericTableView-d59d8ab4.js → GenericTableView-706f5b56.js} +2 -2
  94. package/dist/esm/{ShadowViewAddon-e012b2aa.js → ShadowViewAddon-bc74643a.js} +165 -222
  95. package/dist/esm/copy-text-view-32aad903.js +223 -0
  96. package/dist/esm/{email-registration-view-a89a88bf.js → email-registration-view-5ecee6f8.js} +2 -2
  97. package/dist/esm/{global-04c7d3b5.js → global-701bd5b0.js} +2 -2
  98. package/dist/esm/{index-17b4da69.js → index-014ddfa3.js} +2 -1
  99. package/dist/esm/{index.module-def4aec5.js → index.module-5eb0926c.js} +2 -2
  100. package/dist/esm/loader.js +5 -5
  101. package/dist/esm/{luxon-7600be8d.js → luxon-12195d94.js} +1 -1
  102. package/dist/esm/mint-components.js +5 -5
  103. package/dist/esm/{mockRewardData-0eb6e778.js → mockRewardData-133c20ca.js} +1 -1
  104. package/dist/esm/raisins-plop-target.entry.js +1 -1
  105. package/dist/esm/{re-render-12fd274a.js → re-render-b31d83d7.js} +2 -2
  106. package/dist/esm/{sqm-asset-card-view-9d93fbdd.js → sqm-asset-card-view-da88351a.js} +1 -1
  107. package/dist/esm/sqm-asset-card.entry.js +5 -5
  108. package/dist/esm/sqm-banking-info-form_16.entry.js +12 -12
  109. package/dist/esm/sqm-big-stat_38.entry.js +15 -14
  110. package/dist/esm/{sqm-close-button-view-dc65b4e3.js → sqm-close-button-view-8058642b.js} +2 -2
  111. package/dist/esm/sqm-close-button.entry.js +5 -5
  112. package/dist/esm/sqm-context-router.entry.js +3 -3
  113. package/dist/esm/sqm-empty_4.entry.js +11 -7
  114. package/dist/esm/sqm-form-message.entry.js +2 -2
  115. package/dist/esm/sqm-graphql-client-provider.entry.js +3 -3
  116. package/dist/esm/sqm-header-logo.entry.js +2 -2
  117. package/dist/esm/sqm-instant-access-registration.entry.js +7 -7
  118. package/dist/esm/{sqm-invoice-table-view-6e13a323.js → sqm-invoice-table-view-7d1aa71f.js} +2 -2
  119. package/dist/esm/{sqm-leaderboard-rank-view-10657658.js → sqm-leaderboard-rank-view-773a586f.js} +1 -1
  120. package/dist/esm/sqm-leaderboard-rank.entry.js +5 -5
  121. package/dist/esm/{sqm-logout-current-user-view-2c6122cd.js → sqm-logout-current-user-view-dfcd508a.js} +1 -1
  122. package/dist/esm/sqm-logout-current-user.entry.js +6 -6
  123. package/dist/esm/{sqm-navigation-sidebar-item-view-60ef06cc.js → sqm-navigation-sidebar-item-view-9fa7f5ea.js} +3 -3
  124. package/dist/esm/sqm-navigation-sidebar-item.entry.js +6 -6
  125. package/dist/esm/{sqm-navigation-sidebar-view-0312e073.js → sqm-navigation-sidebar-view-5f332ea1.js} +1 -1
  126. package/dist/esm/sqm-navigation-sidebar.entry.js +4 -4
  127. package/dist/esm/sqm-pagination_3.entry.js +383 -0
  128. package/dist/esm/sqm-password-field.entry.js +6 -6
  129. package/dist/esm/sqm-popup-container.entry.js +3 -3
  130. package/dist/esm/{sqm-portal-container-view-6c582684.js → sqm-portal-container-view-83df005d.js} +1 -1
  131. package/dist/esm/{sqm-portal-email-verification-view-4307c992.js → sqm-portal-email-verification-view-332e1339.js} +4 -4
  132. package/dist/esm/sqm-portal-email-verification.entry.js +7 -7
  133. package/dist/esm/{sqm-portal-forgot-password-view-c2ed8fed.js → sqm-portal-forgot-password-view-8629f753.js} +3 -3
  134. package/dist/esm/sqm-portal-forgot-password.entry.js +6 -6
  135. package/dist/esm/sqm-portal-logout.entry.js +3 -3
  136. package/dist/esm/{sqm-portal-profile-view-ffe955c8.js → sqm-portal-profile-view-847526a2.js} +3 -3
  137. package/dist/esm/sqm-portal-profile.entry.js +9 -9
  138. package/dist/esm/sqm-portal-protected-route.entry.js +3 -3
  139. package/dist/esm/sqm-portal-registration-form.entry.js +6 -6
  140. package/dist/esm/{sqm-portal-reset-password-view-79a85e02.js → sqm-portal-reset-password-view-865655da.js} +3 -3
  141. package/dist/esm/sqm-portal-reset-password.entry.js +7 -7
  142. package/dist/esm/{sqm-portal-verify-email-view-d7ea2c56.js → sqm-portal-verify-email-view-6c60df25.js} +3 -3
  143. package/dist/esm/sqm-portal-verify-email.entry.js +7 -7
  144. package/dist/esm/sqm-referral-table_11.entry.js +13 -13
  145. package/dist/esm/sqm-referred-registration.entry.js +7 -7
  146. package/dist/esm/sqm-rewards-table-customer-note-cell.entry.js +3 -3
  147. package/dist/esm/sqm-rewards-table-customer-note-column.entry.js +4 -4
  148. package/dist/esm/sqm-rewards-table_9.entry.js +12 -12
  149. package/dist/esm/sqm-route.entry.js +1 -1
  150. package/dist/esm/sqm-stencilbook.entry.js +283 -86
  151. package/dist/esm/sqm-tab.entry.js +4 -4
  152. package/dist/esm/sqm-tabs.entry.js +5 -5
  153. package/dist/esm/{sqm-text-span-view-8d140661.js → sqm-text-span-view-d6e03f93.js} +1 -1
  154. package/dist/esm/sqm-text-span.entry.js +3 -3
  155. package/dist/esm/{stencil-hooks.module-ac12ca1c.js → stencil-hooks.module-576d7f01.js} +1 -1
  156. package/dist/esm/{useChildElements-32e1bda1.js → useChildElements-ebcfbc19.js} +2 -2
  157. package/dist/esm/{useInstantAccessRegistration-46b89952.js → useInstantAccessRegistration-7b2ea2bd.js} +3 -3
  158. package/dist/esm/{useReferralTable-f4de0650.js → useReferralTable-df227f15.js} +5 -5
  159. package/dist/esm/{useRegistrationFormState-9fc1ac80.js → useRegistrationFormState-faea9402.js} +2 -2
  160. package/dist/esm/{utilities-3f5bba22.js → utilities-292b61b9.js} +2 -2
  161. package/dist/esm-es5/{GenericTableView-d59d8ab4.js → GenericTableView-706f5b56.js} +1 -1
  162. package/dist/esm-es5/ShadowViewAddon-bc74643a.js +1 -0
  163. package/dist/esm-es5/copy-text-view-32aad903.js +1 -0
  164. package/dist/esm-es5/{email-registration-view-a89a88bf.js → email-registration-view-5ecee6f8.js} +1 -1
  165. package/dist/esm-es5/{global-04c7d3b5.js → global-701bd5b0.js} +1 -1
  166. package/dist/esm-es5/{index-17b4da69.js → index-014ddfa3.js} +1 -1
  167. package/dist/esm-es5/{index.module-def4aec5.js → index.module-5eb0926c.js} +1 -1
  168. package/dist/esm-es5/loader.js +1 -1
  169. package/dist/esm-es5/{luxon-7600be8d.js → luxon-12195d94.js} +1 -1
  170. package/dist/esm-es5/mint-components.js +1 -1
  171. package/dist/esm-es5/{mockRewardData-0eb6e778.js → mockRewardData-133c20ca.js} +1 -1
  172. package/dist/esm-es5/raisins-plop-target.entry.js +1 -1
  173. package/dist/esm-es5/{re-render-12fd274a.js → re-render-b31d83d7.js} +1 -1
  174. package/dist/esm-es5/{sqm-asset-card-view-9d93fbdd.js → sqm-asset-card-view-da88351a.js} +1 -1
  175. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  176. package/dist/esm-es5/sqm-banking-info-form_16.entry.js +1 -1
  177. package/dist/esm-es5/sqm-big-stat_38.entry.js +1 -1
  178. package/dist/esm-es5/{sqm-close-button-view-dc65b4e3.js → sqm-close-button-view-8058642b.js} +1 -1
  179. package/dist/esm-es5/sqm-close-button.entry.js +1 -1
  180. package/dist/esm-es5/sqm-context-router.entry.js +1 -1
  181. package/dist/esm-es5/sqm-empty_4.entry.js +1 -1
  182. package/dist/esm-es5/sqm-form-message.entry.js +1 -1
  183. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  184. package/dist/esm-es5/sqm-header-logo.entry.js +1 -1
  185. package/dist/esm-es5/sqm-instant-access-registration.entry.js +1 -1
  186. package/dist/esm-es5/{sqm-invoice-table-view-6e13a323.js → sqm-invoice-table-view-7d1aa71f.js} +1 -1
  187. package/dist/esm-es5/sqm-leaderboard-rank-view-773a586f.js +1 -0
  188. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  189. package/dist/esm-es5/{sqm-logout-current-user-view-2c6122cd.js → sqm-logout-current-user-view-dfcd508a.js} +1 -1
  190. package/dist/esm-es5/sqm-logout-current-user.entry.js +1 -1
  191. package/dist/esm-es5/sqm-navigation-sidebar-item-view-9fa7f5ea.js +1 -0
  192. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  193. package/dist/esm-es5/{sqm-navigation-sidebar-view-0312e073.js → sqm-navigation-sidebar-view-5f332ea1.js} +1 -1
  194. package/dist/esm-es5/sqm-navigation-sidebar.entry.js +1 -1
  195. package/dist/esm-es5/sqm-pagination_3.entry.js +1 -0
  196. package/dist/esm-es5/sqm-password-field.entry.js +1 -1
  197. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  198. package/dist/esm-es5/{sqm-portal-container-view-6c582684.js → sqm-portal-container-view-83df005d.js} +1 -1
  199. package/dist/esm-es5/{sqm-portal-email-verification-view-4307c992.js → sqm-portal-email-verification-view-332e1339.js} +1 -1
  200. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  201. package/dist/esm-es5/{sqm-portal-forgot-password-view-c2ed8fed.js → sqm-portal-forgot-password-view-8629f753.js} +1 -1
  202. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  203. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  204. package/dist/esm-es5/{sqm-portal-profile-view-ffe955c8.js → sqm-portal-profile-view-847526a2.js} +1 -1
  205. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  206. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  207. package/dist/esm-es5/sqm-portal-registration-form.entry.js +1 -1
  208. package/dist/esm-es5/{sqm-portal-reset-password-view-79a85e02.js → sqm-portal-reset-password-view-865655da.js} +1 -1
  209. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  210. package/dist/esm-es5/{sqm-portal-verify-email-view-d7ea2c56.js → sqm-portal-verify-email-view-6c60df25.js} +1 -1
  211. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  212. package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
  213. package/dist/esm-es5/sqm-referred-registration.entry.js +1 -1
  214. package/dist/esm-es5/sqm-rewards-table-customer-note-cell.entry.js +1 -1
  215. package/dist/esm-es5/sqm-rewards-table-customer-note-column.entry.js +1 -1
  216. package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
  217. package/dist/esm-es5/sqm-route.entry.js +1 -1
  218. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  219. package/dist/esm-es5/sqm-tab.entry.js +1 -1
  220. package/dist/esm-es5/sqm-tabs.entry.js +1 -1
  221. package/dist/esm-es5/{sqm-text-span-view-8d140661.js → sqm-text-span-view-d6e03f93.js} +1 -1
  222. package/dist/esm-es5/sqm-text-span.entry.js +1 -1
  223. package/dist/esm-es5/{stencil-hooks.module-ac12ca1c.js → stencil-hooks.module-576d7f01.js} +1 -1
  224. package/dist/esm-es5/useChildElements-ebcfbc19.js +1 -0
  225. package/dist/esm-es5/useInstantAccessRegistration-7b2ea2bd.js +1 -0
  226. package/dist/esm-es5/{useReferralTable-f4de0650.js → useReferralTable-df227f15.js} +1 -1
  227. package/dist/esm-es5/useRegistrationFormState-faea9402.js +1 -0
  228. package/dist/esm-es5/{utilities-3f5bba22.js → utilities-292b61b9.js} +1 -1
  229. package/dist/mint-components/mint-components.esm.js +1 -1
  230. package/dist/mint-components/mint-components.js +1 -1
  231. package/dist/mint-components/{p-fd2c5407.js → p-019506c4.js} +1 -1
  232. package/dist/mint-components/p-03e2a88c.js +1 -0
  233. package/dist/mint-components/p-062051ad.entry.js +1 -0
  234. package/dist/mint-components/{p-c5577dd7.system.js → p-06b8a582.system.js} +1 -1
  235. package/dist/mint-components/p-099b57de.system.js +1 -0
  236. package/dist/mint-components/p-0a26adee.js +1 -0
  237. package/dist/mint-components/{p-a51533cb.system.js → p-0dc18b5c.system.js} +1 -1
  238. package/dist/mint-components/p-0ebd104c.js +1 -0
  239. package/dist/mint-components/p-119e24fd.system.entry.js +1 -0
  240. package/dist/mint-components/{p-41a11a7f.js → p-134424df.js} +1 -1
  241. package/dist/mint-components/p-146c2a0e.js +1 -0
  242. package/dist/mint-components/p-16b9efe1.system.js +1 -0
  243. package/dist/mint-components/{p-2ee2ebba.js → p-195e306e.js} +1 -1
  244. package/dist/mint-components/{p-251e7567.js → p-1a4e5a3a.js} +1 -1
  245. package/dist/mint-components/p-1a5f4a13.system.entry.js +1 -0
  246. package/dist/mint-components/{p-56f14840.entry.js → p-1c45b7d0.entry.js} +1 -1
  247. package/dist/mint-components/{p-7d5e0645.system.js → p-1e03d640.system.js} +1 -1
  248. package/dist/mint-components/{p-b370fca8.system.js → p-1e68fa26.system.js} +1 -1
  249. package/dist/mint-components/p-20c6c73e.entry.js +1 -0
  250. package/dist/mint-components/{p-ff17b3a4.system.js → p-21d94eab.system.js} +1 -1
  251. package/dist/mint-components/p-2474c5c6.entry.js +1 -0
  252. package/dist/mint-components/p-2478ab2e.js +1 -0
  253. package/dist/mint-components/{p-ce621bcc.js → p-249798d3.js} +1 -1
  254. package/dist/mint-components/p-25ebf256.system.js +1 -0
  255. package/dist/mint-components/{p-a9050eb0.entry.js → p-26383fdd.entry.js} +1 -1
  256. package/dist/mint-components/{p-c1a47137.system.entry.js → p-29952a5b.system.entry.js} +1 -1
  257. package/dist/mint-components/{p-4f775e84.system.js → p-2be11651.system.js} +1 -1
  258. package/dist/mint-components/{p-674a64fe.system.js → p-2cb2401d.system.js} +1 -1
  259. package/dist/mint-components/{p-b4c52c5a.entry.js → p-2d688fe9.entry.js} +2 -2
  260. package/dist/mint-components/{p-22bb14d0.system.entry.js → p-34a6dea7.system.entry.js} +1 -1
  261. package/dist/mint-components/{p-86990110.entry.js → p-391b6274.entry.js} +1 -1
  262. package/dist/mint-components/{p-be4b748a.system.entry.js → p-3973cf23.system.entry.js} +1 -1
  263. package/dist/mint-components/{p-3ed71bef.system.js → p-3c6bc373.system.js} +1 -1
  264. package/dist/mint-components/p-3ee0a8af.entry.js +1 -0
  265. package/dist/mint-components/p-3f03a247.entry.js +13 -0
  266. package/dist/mint-components/{p-fb93c962.js → p-42390bcc.js} +1 -1
  267. package/dist/mint-components/{p-e546347e.system.js → p-4531488f.system.js} +1 -1
  268. package/dist/mint-components/{p-2a414b2e.system.js → p-45d71b2a.system.js} +1 -1
  269. package/dist/mint-components/{p-4edde470.entry.js → p-45f46e4c.entry.js} +1 -1
  270. package/dist/mint-components/{p-4ea58025.system.entry.js → p-48a72a05.system.entry.js} +1 -1
  271. package/dist/mint-components/{p-e5a0c50e.entry.js → p-4be053fb.entry.js} +2 -2
  272. package/dist/mint-components/{p-b6fc1227.system.entry.js → p-4c1b1914.system.entry.js} +1 -1
  273. package/dist/mint-components/{p-eba44835.system.entry.js → p-4ef2f4f6.system.entry.js} +1 -1
  274. package/dist/mint-components/{p-ec41d6a4.entry.js → p-5073b8c9.entry.js} +6 -6
  275. package/dist/mint-components/{p-bb00db59.js → p-517bcc71.js} +1 -1
  276. package/dist/mint-components/{p-a7c2ced2.system.entry.js → p-51dba12d.system.entry.js} +1 -1
  277. package/dist/mint-components/p-53e25b79.entry.js +1 -0
  278. package/dist/mint-components/{p-ce5afa40.entry.js → p-549139be.entry.js} +1 -1
  279. package/dist/mint-components/p-57f92fe0.entry.js +1 -0
  280. package/dist/mint-components/{p-afd366ae.system.entry.js → p-5922cd9e.system.entry.js} +1 -1
  281. package/dist/mint-components/{p-1b9e6fc6.js → p-59e310c8.js} +1 -1
  282. package/dist/mint-components/{p-92110eef.entry.js → p-5c70bc39.entry.js} +1 -1
  283. package/dist/mint-components/p-5dcd7fc9.system.entry.js +1 -0
  284. package/dist/mint-components/p-5fe660bb.system.entry.js +1 -0
  285. package/dist/mint-components/{p-64c3217a.js → p-61d5f26e.js} +1 -1
  286. package/dist/mint-components/p-61e74000.system.entry.js +1 -0
  287. package/dist/mint-components/{p-28ece826.entry.js → p-62cdc746.entry.js} +1 -1
  288. package/dist/mint-components/{p-4d233cd4.js → p-65535cf7.js} +1 -1
  289. package/dist/mint-components/{p-509e29e6.js → p-6568392b.js} +1 -1
  290. package/dist/mint-components/p-66aca488.entry.js +1 -0
  291. package/dist/mint-components/{p-8704937c.js → p-66c7b15c.js} +1 -1
  292. package/dist/mint-components/{p-4df8f1d2.system.js → p-66d9a540.system.js} +1 -1
  293. package/dist/mint-components/{p-79da7f18.js → p-6d164a9e.js} +1 -1
  294. package/dist/mint-components/{p-1c857edb.entry.js → p-6dab9a17.entry.js} +2 -2
  295. package/dist/mint-components/p-6dec87e3.js +52 -0
  296. package/dist/mint-components/{p-3d4656bb.system.js → p-71e0ca2b.system.js} +1 -1
  297. package/dist/mint-components/{p-3036cf58.system.js → p-752650b9.system.js} +1 -1
  298. package/dist/mint-components/{p-32d1d162.entry.js → p-752fd47b.entry.js} +1 -1
  299. package/dist/mint-components/{p-0d8c53ac.system.js → p-778b3774.system.js} +1 -1
  300. package/dist/mint-components/{p-f3053c61.js → p-7ae55645.js} +1 -1
  301. package/dist/mint-components/{p-3f385f47.entry.js → p-7d7084f0.entry.js} +9 -9
  302. package/dist/mint-components/p-7f43c280.system.entry.js +1 -0
  303. package/dist/mint-components/{p-370a1a73.system.js → p-81ed0e97.system.js} +1 -1
  304. package/dist/mint-components/{p-6b5e355c.system.js → p-842cbd05.system.js} +1 -1
  305. package/dist/mint-components/{p-e3735866.entry.js → p-87113437.entry.js} +2 -2
  306. package/dist/mint-components/p-8925f3c5.entry.js +1 -0
  307. package/dist/mint-components/{p-02424350.system.js → p-8b9408e5.system.js} +1 -1
  308. package/dist/mint-components/{p-a8f7cb95.js → p-8c765c81.js} +1 -1
  309. package/dist/mint-components/p-9041bce0.entry.js +13 -0
  310. package/dist/mint-components/{p-a1dba9a1.system.entry.js → p-9a1a4d71.system.entry.js} +1 -1
  311. package/dist/mint-components/p-9ed09b3a.system.js +1 -0
  312. package/dist/mint-components/p-9ee50200.entry.js +1 -0
  313. package/dist/mint-components/{p-6afb4f48.system.entry.js → p-9f9f851d.system.entry.js} +1 -1
  314. package/dist/mint-components/{p-4e48267b.system.js → p-9fc73ff8.system.js} +1 -1
  315. package/dist/mint-components/p-a13c83c5.entry.js +1 -0
  316. package/dist/mint-components/{p-e8dde8f4.system.js → p-a2aed0da.system.js} +1 -1
  317. package/dist/mint-components/{p-178d2d2e.entry.js → p-a3fdbfed.entry.js} +1 -1
  318. package/dist/mint-components/{p-fbdf0738.entry.js → p-a4c1b404.entry.js} +1 -1
  319. package/dist/mint-components/{p-c5d2e4ba.js → p-a9ff5495.js} +1 -1
  320. package/dist/mint-components/{p-9c310991.system.entry.js → p-af4cce6a.system.entry.js} +1 -1
  321. package/dist/mint-components/p-b08e9577.entry.js +1 -0
  322. package/dist/mint-components/{p-ce9e7c98.system.js → p-b210bcc2.system.js} +1 -1
  323. package/dist/mint-components/p-b3aaeb2f.system.entry.js +1 -0
  324. package/dist/mint-components/p-b3d193e3.system.entry.js +1 -0
  325. package/dist/mint-components/{p-770368bc.system.js → p-b3f02315.system.js} +1 -1
  326. package/dist/mint-components/{p-4502ed11.system.entry.js → p-b4448aec.system.entry.js} +1 -1
  327. package/dist/mint-components/{p-c8610d0c.js → p-b7705066.js} +1 -1
  328. package/dist/mint-components/{p-44787d6e.system.js → p-b8230f83.system.js} +1 -1
  329. package/dist/mint-components/p-bab29c11.entry.js +9 -0
  330. package/dist/mint-components/p-bd1975cb.system.entry.js +1 -0
  331. package/dist/mint-components/p-bd5cb4f3.system.js +1 -0
  332. package/dist/mint-components/{p-35d84041.system.entry.js → p-c134af86.system.entry.js} +1 -1
  333. package/dist/mint-components/{p-f0806232.system.entry.js → p-c2281e04.system.entry.js} +1 -1
  334. package/dist/mint-components/{p-5b333fa8.system.entry.js → p-c3188365.system.entry.js} +1 -1
  335. package/dist/mint-components/{p-8679ed9f.system.entry.js → p-c3b8765c.system.entry.js} +1 -1
  336. package/dist/mint-components/{p-10685090.js → p-c65f5d44.js} +23 -23
  337. package/dist/mint-components/{p-733825fa.system.entry.js → p-ca182259.system.entry.js} +1 -1
  338. package/dist/mint-components/{p-2dd67762.entry.js → p-cc1ffc0c.entry.js} +1 -1
  339. package/dist/mint-components/{p-e3e16c36.js → p-d25af377.js} +1 -1
  340. package/dist/mint-components/{p-c84659a3.system.js → p-d2abffc0.system.js} +1 -1
  341. package/dist/mint-components/p-d8d97ff5.js +1 -0
  342. package/dist/mint-components/{p-ac1bf045.js → p-e039ce2f.js} +1 -1
  343. package/dist/mint-components/{p-cf690d55.system.entry.js → p-e1e700b8.system.entry.js} +1 -1
  344. package/dist/mint-components/{p-fb20eb5e.system.entry.js → p-e3411b86.system.entry.js} +1 -1
  345. package/dist/mint-components/{p-88aac6a9.system.entry.js → p-e401cb44.system.entry.js} +1 -1
  346. package/dist/mint-components/{p-ed6ebd60.system.js → p-e479d77e.system.js} +1 -1
  347. package/dist/mint-components/{p-88a2e66e.system.entry.js → p-e53e95ce.system.entry.js} +1 -1
  348. package/dist/mint-components/{p-7f088154.entry.js → p-e909906f.entry.js} +1 -1
  349. package/dist/mint-components/{p-6cef104b.entry.js → p-e92f0fbb.entry.js} +1 -1
  350. package/dist/mint-components/{p-5d0c9424.js → p-ee343d0b.js} +1 -1
  351. package/dist/mint-components/{p-ed095674.system.js → p-ee474d4c.system.js} +1 -1
  352. package/dist/mint-components/{p-7731f793.system.entry.js → p-f246f7dd.system.entry.js} +1 -1
  353. package/dist/mint-components/{p-c7fd9e16.js → p-f29e62e1.js} +1 -1
  354. package/dist/mint-components/{p-5cac90e8.system.entry.js → p-f5c3a8cf.system.entry.js} +1 -1
  355. package/dist/mint-components/{p-b5861974.system.entry.js → p-f6712472.system.entry.js} +1 -1
  356. package/dist/mint-components/{p-59fe4ad1.system.js → p-f6c279d8.system.js} +1 -1
  357. package/dist/mint-components/{p-b3b5b4b7.system.entry.js → p-f9564398.system.entry.js} +1 -1
  358. package/dist/mint-components/{p-1dd69917.system.entry.js → p-f9680769.system.entry.js} +1 -1
  359. package/dist/mint-components/{p-3223ba7b.entry.js → p-f9b9be03.entry.js} +1 -1
  360. package/dist/mint-components/{p-eaada4da.js → p-fd04355d.js} +1 -1
  361. package/dist/mint-components/p-feace4a6.entry.js +1 -0
  362. package/dist/mint-components/{p-af062c8f.system.entry.js → p-fef83f2a.system.entry.js} +1 -1
  363. package/dist/mint-components/{p-aad11a68.entry.js → p-ffdb1310.entry.js} +1 -1
  364. package/dist/types/components/sqm-empty/sqm-empty.d.ts +1 -1
  365. package/dist/types/components/sqm-pagination/Pagination.stories.d.ts +5 -0
  366. package/dist/types/components/sqm-pagination/sqm-pagination-view.d.ts +15 -0
  367. package/dist/types/components/sqm-pagination/sqm-pagination.d.ts +22 -0
  368. package/dist/types/components/sqm-pagination/usePagination.d.ts +15 -0
  369. package/dist/types/components/sqm-portal-container/sqm-portal-container.d.ts +0 -1
  370. package/dist/types/components/sqm-referral-card/ReferralCard.stories.d.ts +1 -0
  371. package/dist/types/components/sqm-referral-code/ReferralCode.stories.d.ts +18 -0
  372. package/dist/types/components/sqm-referral-code/sqm-referral-code.d.ts +70 -0
  373. package/dist/types/components/sqm-referral-code/useReferralCode.d.ts +9 -0
  374. package/dist/types/components/sqm-referral-codes/ReferralCodes.stories.d.ts +12 -0
  375. package/dist/types/components/sqm-referral-codes/sqm-referral-codes-view.d.ts +16 -0
  376. package/dist/types/components/sqm-referral-codes/sqm-referral-codes.d.ts +39 -0
  377. package/dist/types/components/sqm-referral-codes/useReferralCodes.d.ts +51 -0
  378. package/dist/types/components/sqm-share-link/useShareLink.d.ts +1 -0
  379. package/dist/types/components/views/copy-text-view.d.ts +3 -0
  380. package/dist/types/components.d.ts +213 -3
  381. package/dist/types/stories/Widget.stories.d.ts +6 -0
  382. package/docs/docs.docx +0 -0
  383. package/docs/raisins.json +1 -1
  384. package/grapesjs/grapesjs.js +1 -1
  385. package/package.json +1 -1
  386. package/dist/esm-es5/ShadowViewAddon-e012b2aa.js +0 -1
  387. package/dist/esm-es5/sqm-leaderboard-rank-view-10657658.js +0 -1
  388. package/dist/esm-es5/sqm-navigation-sidebar-item-view-60ef06cc.js +0 -1
  389. package/dist/esm-es5/useChildElements-32e1bda1.js +0 -1
  390. package/dist/esm-es5/useInstantAccessRegistration-46b89952.js +0 -1
  391. package/dist/esm-es5/useRegistrationFormState-9fc1ac80.js +0 -1
  392. package/dist/mint-components/p-021a735d.entry.js +0 -1
  393. package/dist/mint-components/p-03494732.entry.js +0 -1
  394. package/dist/mint-components/p-07f675ab.system.entry.js +0 -1
  395. package/dist/mint-components/p-0a898ab1.js +0 -1
  396. package/dist/mint-components/p-0b9fa97f.js +0 -1
  397. package/dist/mint-components/p-10e89d0a.entry.js +0 -1
  398. package/dist/mint-components/p-137ea86e.entry.js +0 -1
  399. package/dist/mint-components/p-3ec16698.entry.js +0 -13
  400. package/dist/mint-components/p-51f517a2.js +0 -1
  401. package/dist/mint-components/p-58ef25d3.system.entry.js +0 -1
  402. package/dist/mint-components/p-5be235f9.entry.js +0 -1
  403. package/dist/mint-components/p-5f1c4160.system.entry.js +0 -1
  404. package/dist/mint-components/p-61eab172.js +0 -1
  405. package/dist/mint-components/p-639d3dd3.entry.js +0 -1
  406. package/dist/mint-components/p-711ba77e.system.entry.js +0 -1
  407. package/dist/mint-components/p-76b2506e.system.entry.js +0 -1
  408. package/dist/mint-components/p-79191f88.entry.js +0 -1
  409. package/dist/mint-components/p-8b5b78ca.entry.js +0 -1
  410. package/dist/mint-components/p-8e907ac7.system.entry.js +0 -1
  411. package/dist/mint-components/p-91669312.entry.js +0 -1
  412. package/dist/mint-components/p-95771f79.system.js +0 -1
  413. package/dist/mint-components/p-9dcfa187.system.js +0 -1
  414. package/dist/mint-components/p-9df2fe24.entry.js +0 -9
  415. package/dist/mint-components/p-9f0629ba.system.entry.js +0 -1
  416. package/dist/mint-components/p-a6a7dcaa.js +0 -1
  417. package/dist/mint-components/p-c8878e79.entry.js +0 -1
  418. package/dist/mint-components/p-d495896f.system.entry.js +0 -1
  419. package/dist/mint-components/p-d49e2f7a.js +0 -1
  420. package/dist/mint-components/p-d8d2de11.entry.js +0 -1
  421. package/dist/mint-components/p-dd0d79bf.entry.js +0 -1
  422. package/dist/mint-components/p-dd7ee007.system.js +0 -1
  423. package/dist/mint-components/p-ed17e637.system.js +0 -1
  424. package/dist/types/global/android.d.ts +0 -7
  425. package/dist/types/global/demo.d.ts +0 -2
  426. package/dist/types/stories/features.d.ts +0 -4
  427. package/dist/types/stories/templates.d.ts +0 -4
@@ -1,32 +1,33 @@
1
- import { h, r as registerInstance, c as Host } from './index-17b4da69.js';
2
- import { a as commonjsGlobal, u as useMemo, k as useState, f as useEffect, c as createCommonjsModule, n as h$1 } from './stencil-hooks.module-ac12ca1c.js';
3
- import './global-04c7d3b5.js';
4
- import { $ as $n, S as Sn, b as setUserIdentity, d as dist, X as Xe, o as setProgramId } from './index.module-def4aec5.js';
1
+ import { h, r as registerInstance, c as Host } from './index-014ddfa3.js';
2
+ import { a as commonjsGlobal, u as useMemo, k as useState, f as useEffect, c as createCommonjsModule, n as h$1 } from './stencil-hooks.module-576d7f01.js';
3
+ import './global-701bd5b0.js';
4
+ import { f as $n, S as Sn, c as setUserIdentity, d as dist, X as Xe, p as setProgramId } from './index.module-5eb0926c.js';
5
+ import './utils-334c1e34.js';
6
+ import { c as createStyleSheet } from './JSS-67b5cff8.js';
7
+ import { C as CopyTextView } from './copy-text-view-32aad903.js';
5
8
  import './cjs-bdfb4486.js';
6
9
  import './mixins-f60a614c.js';
7
- import { c as createStyleSheet } from './JSS-67b5cff8.js';
8
- import { G as GenericTableView } from './GenericTableView-d59d8ab4.js';
9
- import './useChildElements-32e1bda1.js';
10
- import { l as luxon } from './luxon-7600be8d.js';
11
- import './utils-334c1e34.js';
12
- import './sqm-text-span-view-8d140661.js';
13
- import { A as AssetCardView } from './sqm-asset-card-view-9d93fbdd.js';
14
- import { C as CloseButtonView } from './sqm-close-button-view-dc65b4e3.js';
10
+ import { G as GenericTableView } from './GenericTableView-706f5b56.js';
11
+ import './useChildElements-ebcfbc19.js';
12
+ import { l as luxon } from './luxon-12195d94.js';
13
+ import './sqm-text-span-view-d6e03f93.js';
14
+ import { A as AssetCardView } from './sqm-asset-card-view-da88351a.js';
15
+ import { C as CloseButtonView } from './sqm-close-button-view-8058642b.js';
15
16
  import './index-ffa26b43.js';
16
- import { E as EmailRegistrationView } from './email-registration-view-a89a88bf.js';
17
- import { L as LeaderboardRankView } from './sqm-leaderboard-rank-view-10657658.js';
18
- import { L as LogoutCurrentUserView } from './sqm-logout-current-user-view-2c6122cd.js';
19
- import { N as NavigationSidebarView } from './sqm-navigation-sidebar-view-0312e073.js';
20
- import { N as NavigationSidebarItemView } from './sqm-navigation-sidebar-item-view-60ef06cc.js';
21
- import { P as PortalEmailVerificationView } from './sqm-portal-email-verification-view-4307c992.js';
22
- import { P as PortalForgotPasswordView } from './sqm-portal-forgot-password-view-c2ed8fed.js';
23
- import { P as PortalProfileView } from './sqm-portal-profile-view-ffe955c8.js';
24
- import './utilities-3f5bba22.js';
25
- import { P as PortalResetPasswordView } from './sqm-portal-reset-password-view-79a85e02.js';
26
- import { P as PortalVerifyEmailView } from './sqm-portal-verify-email-view-d7ea2c56.js';
27
- import { S as ShareButtonView, L as LeaderboardView, C as CopyTextView, B as BigStatView, P as PortalFrameView, E as EditProfileView, u as useShareLink, a as useShareButton, b as useDemoBigStat, c as StatContainerView, d as PortalChangePasswordView, e as PortalLoginView, f as PortalRegisterView, T as TaskCardView, g as ProgressBarView, h as PoweredByImg$1, i as PortalFooterView, H as HeroView, R as ReferralIframeView, N as NameFieldsView, j as CheckboxFieldView, D as DropdownFieldView, I as InputFieldView, k as RewardExchangeView, r as rewardExchangeCustomErrorMsg, l as rewardExchangeLongText, m as rewardExchangeSelected, n as chooseAmountFixed, o as chooseAmountFixedNoDescription, p as chooseAmountVariable, q as chooseAmountVariableNoDescription, s as chooseAmountVariableDisabled, t as chooseAmountVariableUnavailable, v as confirmFixed, w as confirmVariable, x as redemptionError, y as queryError, z as success, A as successVariable, F as loading, G as empty$1, J as rewardExchange, K as CardFeedView, M as CouponCodeView, O as ProgressBar$2, Q as autoColorScaleCss, U as ShadowViewAddon } from './ShadowViewAddon-e012b2aa.js';
28
- import { P as PortalContainerView, a as PortalSectionView } from './sqm-portal-container-view-6c582684.js';
29
- import { O as OtherRegionSlotView, I as InvoiceTableView, T as TaxForm } from './sqm-invoice-table-view-6e13a323.js';
17
+ import { E as EmailRegistrationView } from './email-registration-view-5ecee6f8.js';
18
+ import { L as LeaderboardRankView } from './sqm-leaderboard-rank-view-773a586f.js';
19
+ import { L as LogoutCurrentUserView } from './sqm-logout-current-user-view-dfcd508a.js';
20
+ import { N as NavigationSidebarView } from './sqm-navigation-sidebar-view-5f332ea1.js';
21
+ import { N as NavigationSidebarItemView } from './sqm-navigation-sidebar-item-view-9fa7f5ea.js';
22
+ import { P as PortalEmailVerificationView } from './sqm-portal-email-verification-view-332e1339.js';
23
+ import { P as PortalForgotPasswordView } from './sqm-portal-forgot-password-view-8629f753.js';
24
+ import { P as PortalProfileView } from './sqm-portal-profile-view-847526a2.js';
25
+ import './utilities-292b61b9.js';
26
+ import { P as PortalResetPasswordView } from './sqm-portal-reset-password-view-865655da.js';
27
+ import { P as PortalVerifyEmailView } from './sqm-portal-verify-email-view-6c60df25.js';
28
+ import { S as ShareButtonView, L as LeaderboardView, B as BigStatView, P as PortalFrameView, E as EditProfileView, u as useShareLink, a as useShareButton, b as useDemoBigStat, c as StatContainerView, d as PortalChangePasswordView, e as PortalLoginView, f as PortalRegisterView, T as TaskCardView, g as ProgressBarView, h as PoweredByImg$1, i as PortalFooterView, H as HeroView, R as ReferralIframeView, N as NameFieldsView, C as CheckboxFieldView, D as DropdownFieldView, I as InputFieldView, j as RewardExchangeView, r as rewardExchangeCustomErrorMsg, k as rewardExchangeLongText, l as rewardExchangeSelected, m as chooseAmountFixed, n as chooseAmountFixedNoDescription, o as chooseAmountVariable, p as chooseAmountVariableNoDescription, q as chooseAmountVariableDisabled, s as chooseAmountVariableUnavailable, t as confirmFixed, v as confirmVariable, w as redemptionError, x as queryError, y as success, z as successVariable, A as loading, F as empty$1, G as rewardExchange, J as CardFeedView, K as CouponCodeView, M as ProgressBar$2, O as autoColorScaleCss, Q as ShadowViewAddon } from './ShadowViewAddon-bc74643a.js';
29
+ import { P as PortalContainerView, a as PortalSectionView } from './sqm-portal-container-view-83df005d.js';
30
+ import { O as OtherRegionSlotView, I as InvoiceTableView, T as TaxForm } from './sqm-invoice-table-view-7d1aa71f.js';
30
31
 
31
32
  /**
32
33
  * lodash (Custom Build) <https://lodash.com/>
@@ -1624,6 +1625,19 @@ const EmptyState = /*#__PURE__*/Object.freeze({
1624
1625
  SlottedIntoComponent: SlottedIntoComponent
1625
1626
  });
1626
1627
 
1628
+ const Pagination_stories = {
1629
+ title: "Components/Link Button",
1630
+ };
1631
+ const Default = () => {
1632
+ return h("sqm-pagination", null);
1633
+ };
1634
+
1635
+ const Pagination = /*#__PURE__*/Object.freeze({
1636
+ __proto__: null,
1637
+ 'default': Pagination_stories,
1638
+ Default: Default
1639
+ });
1640
+
1627
1641
  const scenario$2 = "@author:johan\n@owner:johan\nFeature: Share Link\n\n The share link component is a box that allows users to see and copy their share link for a given program\n\n Background: Environment\n Given there is a valid program ID in the environment\n And there is a valid user ID and account ID in the environment\n\n @motivating\n Scenario: A Users sharelink can be copied to their clipboard\n Given tooltipText is \"hello tooltip\"\n When the component renders\n Then there is a textbox with the user's share link\n When the clipboard icon is clicked\n Then the link is copied to clipboard\n And a tooltip appears for ~1 second\n\n @minutia\n Scenario: Tooltip lifespan defaults to 2000\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip appears for ~2 seconds\n\n @minutia\n Scenario: Demo\n Given isDemo() returns true\n Then the share link is \"https://www.example.com/sharelink/abc\"\n And the component won't be interactive\n And the tooltip is hidden\n\n @minutia\n Scenario: Program ID can be sourced from prop\n Given the programId prop is set to \"program-a\"\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share link is for \"program-a\"\n\n @minutia\n Scenario: Program ID can be sourced from window\n Given the programId prop is unset\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share link is for \"program-b\"\n\n @minutia\n Scenario: An analytic event is fired when a user copies their sharelink\n Given a user viewing the share link component\n And the component is rendered for \"program-a\"\n When they click to copy their link\n Then an \"USER_REFERRAL_PROGRAM_ENGAGEMENT_EVENT\" analytic event is fired\n And it is for \"program-a\"\n And it has share medium \"DIRECT\"\n\n\n @ui\n Scenario Outline: user can edit the alignment of the share link text\n Given a user is editing the share link component\n Then they see \"Align text\" props\n And the default value is \"left\"\n When they change the option to <option>\n Then they see the text in <position>\n Examples:\n | option | position |\n | left | left |\n | center | center |\n | right | right |\n\n @ui\n Scenario Outline: The position of the copy button can be changed\n Given a user is editing the share link component\n Then they see \"Style\" props\n And the default value is \"icon\"\n When they change the option to <option>\n Then they see the copy button in <position>\n Examples:\n | option | position |\n | button outside | outside the input, on the right |\n | button below | outside the input, below |\n | icon | inside the input as an icon |\n";
1628
1642
 
1629
1643
  const ShareLink_stories = {
@@ -1632,7 +1646,7 @@ const ShareLink_stories = {
1632
1646
  scenario: scenario$2,
1633
1647
  },
1634
1648
  };
1635
- const Default = () => {
1649
+ const Default$1 = () => {
1636
1650
  const props = {
1637
1651
  copyString: "https://noah.example.com",
1638
1652
  open: false,
@@ -1696,7 +1710,7 @@ const FullStack = () => {
1696
1710
  const ShareLink = /*#__PURE__*/Object.freeze({
1697
1711
  __proto__: null,
1698
1712
  'default': ShareLink_stories,
1699
- Default: Default,
1713
+ Default: Default$1,
1700
1714
  Tooltip: Tooltip,
1701
1715
  Disabled: Disabled,
1702
1716
  Error: Error$1,
@@ -1715,7 +1729,7 @@ const BigStat_stories = {
1715
1729
  scenario: scenario$3,
1716
1730
  },
1717
1731
  };
1718
- const Default$1 = () => {
1732
+ const Default$2 = () => {
1719
1733
  const props = { value: 990000, statvalue: "9.900,00", loading: false };
1720
1734
  return h(BigStatView, Object.assign({}, props), "Big stat");
1721
1735
  };
@@ -1798,7 +1812,7 @@ const MultipleStats = () => {
1798
1812
  const BigStat = /*#__PURE__*/Object.freeze({
1799
1813
  __proto__: null,
1800
1814
  'default': BigStat_stories,
1801
- Default: Default$1,
1815
+ Default: Default$2,
1802
1816
  LeftAlign: LeftAlign,
1803
1817
  RightAlign: RightAlign,
1804
1818
  FlexReverse: FlexReverse,
@@ -4066,6 +4080,8 @@ const referralWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito S
4066
4080
 
4067
4081
  const monoWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer friends and complete tasks to earn rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n image-mobile-pos=\"top\"\n image-percentage=\"50\"\n padding-image=\"none\"\n padding-text=\"xxxx-large\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards Earned</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/POINT/value/global\"\n >\n <p>Points Balance</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Share $50 with friends</h3>\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and you’ll get up to\n $1200\n </p>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>\n They’ll get a $50 credit towards a new account and you’ll get:\n </p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n slot=\"right\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>Choose how you want to share:</p>\n <p><sub>Your unique referral link:</sub></p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-portal-container\n gap=\"x-small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Post about us on X\n </sqm-share-button>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-referral-card>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n min-width=\"\"\n padding=\"none\"\n >\n <sqm-titled-section text-align=\"center\" label-margin=\"xxx-small\">\n <h3 slot=\"label\">Earn more rewards</h3>\n <p slot=\"content\">\n Get points while using our product. Use those points to redeem\n rewards like one free month of Enterprise or two plane tickets to\n anywhere in North America\n </p>\n </sqm-titled-section>\n <sqm-card-feed gap=\"24\" width=\"347\">\n <sqm-task-card\n reward-amount=\"20\"\n goal=\"1\"\n card-title=\"Complete a Survey\"\n description=\"Fill out our NPS survey and get 20 points for giving us honest feedback.\"\n button-text=\"Take survey\"\n reward-unit=\"Points\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"250\"\n goal=\"500\"\n show-progress-bar\n card-title=\"Spend $500\"\n description=\"Earn 250 points when you spend $500 or more.\"\n button-text=\"See plans\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n progress-bar-unit=\"$\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n goal=\"1\"\n reward-amount=\"50\"\n card-title=\"Follow Us on X\"\n description=\"Earn 50 points when you Follow Us on X!\"\n button-text=\"Follow\"\n button-link=\"https://twitter.com/\"\n open-new-tab=\"true\"\n event-key=\"socialFollow\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"1\"\n reward-unit=\"Free Month\"\n goal=\"1\"\n card-title=\"Upgrade Your Plan\"\n description=\"Receive one free month for being a committed customer when you upgrade your plan.\"\n button-text=\"Upgrade\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n open-new-tab=\"false\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n </sqm-card-feed>\n </sqm-portal-container>\n <sqm-tabs>\n <sqm-tab header=\"Referral history\">\n <sqm-referral-table\n per-page=\"4\"\n hidden-columns=\"2\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-referral-table-user-column\n column-title=\"User\"\n anonymous-user=\"Anonymous User\"\n deleted-user=\"Deleted User\"\n >\n </sqm-referral-table-user-column>\n <sqm-referral-table-status-column\n column-title=\"Referral status\"\n converted-status-text=\"Converted\"\n in-progress-status-text=\"In Progress\"\n >\n </sqm-referral-table-status-column>\n <sqm-referral-table-rewards-column\n column-title=\"Rewards\"\n expiring-text=\"Expiring in\"\n fuel-tank-text=\"Your code is\"\n pending-for-text=\"{status} for {date}\"\n reward-received-text=\"Reward received on\"\n status-long-text=\"{status, select, AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} PENDING {Available on} EXPIRED {Reward expired on} other {Not available} }\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-referral-table-rewards-column>\n <sqm-referral-table-date-column\n column-title=\"Date referred\"\n date-shown=\"dateReferralStarted\"\n >\n </sqm-referral-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000223/squatch-assets/empty_referral2.png\"\n empty-state-header=\"View your referral details\"\n empty-state-text=\"Refer a friend to view the status of your referrals and rewards earned\"\n >\n </sqm-empty>\n </sqm-referral-table>\n </sqm-tab>\n <sqm-tab header=\"Reward history\">\n <sqm-rewards-table\n per-page=\"4\"\n program-id=\"\"\n hidden-columns=\"0\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-rewards-table-reward-column\n available-text=\"{availableAmount} remaining\"\n column-title=\"Reward\"\n copy-text=\"Copied!\"\n redeemed-text=\"{redeemedAmount} redeemed\"\n >\n </sqm-rewards-table-reward-column>\n <sqm-rewards-table-source-column\n anonymous-user=\"Anonymous User\"\n column-title=\"Source\"\n deleted-user=\"Deleted User\"\n referral-text=\"{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}\"\n reward-exchange-text=\"Reward Exchange\"\n reward-source-text=\"{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}\"\n >\n </sqm-rewards-table-source-column>\n <sqm-rewards-table-status-column\n column-title=\"Status\"\n expiry-text=\"Expires on \"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-rewards-table-status-column>\n <sqm-rewards-table-date-column\n column-title=\"Date received\"\n date-shown=\"dateGiven\"\n >\n </sqm-rewards-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png\"\n empty-state-header=\"View your rewards\"\n empty-state-text=\"Refer friends and complete tasks to view the details of your rewards\"\n >\n </sqm-empty>\n </sqm-rewards-table>\n </sqm-tab>\n </sqm-tabs>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https:\\/\\/example.com\"\n faq-link=\"https:\\/\\/example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
4068
4082
 
4083
+ const promoCodeReferralWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer a friend and earn up to $1200 in rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Get rewarded when your friend uses our product</h3>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>\n They’ll get a $50 credit towards a new account and you’ll get:\n </p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-referral-codes slot=\"right\">\n <sqm-pagination slot=\"pagination\"></sqm-pagination>\n <sqm-referral-code\n slot=\"shareCodes\"\n show-notification-text=\"true\"\n ></sqm-referral-code>\n <sqm-portal-container gap=\"small\" slot=\"shareButtons\">\n <sqm-share-button medium=\"email\"\n >Share via email</sqm-share-button\n >\n <sqm-share-button medium=\"fbmessenger\"\n >Share on Facebook</sqm-share-button\n >\n <sqm-share-button medium=\"whatsapp\"\n >Share on WhatsApp</sqm-share-button\n >\n </sqm-portal-container>\n </sqm-referral-codes>\n </sqm-referral-card>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n padding=\"none\"\n text-align=\"center\"\n label-margin=\"xx-small\"\n >\n <h3 slot=\"label\">Referral History</h3>\n </sqm-titled-section>\n <sqm-referral-table\n per-page=\"4\"\n hidden-columns=\"2\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-referral-table-user-column\n column-title=\"User\"\n anonymous-user=\"Anonymous User\"\n deleted-user=\"Deleted User\"\n >\n </sqm-referral-table-user-column>\n <sqm-referral-table-status-column\n column-title=\"Referral status\"\n converted-status-text=\"Converted\"\n in-progress-status-text=\"In Progress\"\n >\n </sqm-referral-table-status-column>\n <sqm-referral-table-rewards-column\n column-title=\"Rewards\"\n expiring-text=\"Expiring in\"\n fuel-tank-text=\"Your code is\"\n pending-for-text=\"{status} for {date}\"\n reward-received-text=\"Reward received on\"\n status-long-text=\"{status, select, AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} PENDING {Available on} EXPIRED {Reward expired on} other {Not available} }\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-referral-table-rewards-column>\n <sqm-referral-table-date-column\n column-title=\"Date referred\"\n date-shown=\"dateReferralStarted\"\n >\n </sqm-referral-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000223/squatch-assets/empty_referral2.png\"\n empty-state-header=\"View your referral details\"\n empty-state-text=\"Refer a friend to view the status of your referrals and rewards earned\"\n ></sqm-empty>\n </sqm-referral-table>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https:\\/\\/example.com\"\n faq-link=\"https:\\/\\/example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
4084
+
4069
4085
  const loyaltyWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Complete tasks to earn rewards\"\n layout=\"overlay\"\n padding-image=\"xxxx-large\"\n padding-text=\"xxx-large\"\n image-pos=\"center\"\n overlay-color=\"#5e5669\"\n overlay-opacity=\"0.9\"\n >\n </sqm-hero-image>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-program-explainer header=\"How it works\">\n <sqm-program-explainer-step\n description=\"Complete tasks like uploading your first video or sharing videos with friends\"\n header=\"Earn points for using our product\"\n icon=\"cash-stack\"\n text-color=\"#000000\"\n >\n </sqm-program-explainer-step>\n <sqm-program-explainer-step\n description=\"Redeem rewards like one free month of Enterprise or two plane tickets to anywhere in North America\"\n header=\"Redeem rewards with your points\"\n icon=\"people\"\n text-color=\"#000000\"\n >\n </sqm-program-explainer-step>\n </sqm-program-explainer>\n <sqm-portal-container\n center\n direction=\"row\"\n display=\"flex\"\n justify-content=\"space-between\"\n gap=\"xxx-large\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsRedeemed/CREDIT/POINTS\"\n >\n <p>Points Redeemed</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/POINT/value/global\"\n >\n <p>Points Balance</p>\n </sqm-big-stat>\n </sqm-stat-container>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-titled-section\n label-margin=\"small\"\n padding=\"none\"\n text-align=\"center\"\n >\n <h3 slot=\"label\">Earn points</h3>\n </sqm-titled-section>\n <sqm-card-feed gap=\"24\" width=\"347\">\n <sqm-task-card\n reward-amount=\"20\"\n goal=\"1\"\n card-title=\"Complete a Survey\"\n description=\"Fill out our NPS survey and get 20 points for giving us honest feedback.\"\n button-text=\"Take survey\"\n reward-unit=\"Points\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"250\"\n goal=\"500\"\n show-progress-bar\n card-title=\"Spend $500\"\n description=\"Earn 250 points when you spend $500 or more.\"\n button-text=\"See plans\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n progress-bar-unit=\"$\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n goal=\"1\"\n reward-amount=\"50\"\n card-title=\"Follow Us on X\"\n description=\"Earn 50 points when you Follow Us on X!\"\n button-text=\"Follow\"\n button-link=\"https://twitter.com/\"\n open-new-tab=\"true\"\n event-key=\"socialFollow\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"1\"\n reward-unit=\"Free Month\"\n goal=\"1\"\n card-title=\"Upgrade Your Plan\"\n description=\"Receive one free month for being a committed customer when you upgrade your plan.\"\n button-text=\"Upgrade\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n open-new-tab=\"false\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n </sqm-card-feed>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n padding=\"none\"\n text-align=\"center\"\n label-margin=\"xx-small\"\n >\n <h3 slot=\"label\">Reward History</h3>\n </sqm-titled-section>\n <sqm-rewards-table\n per-page=\"4\"\n hidden-columns=\"0\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-rewards-table-reward-column\n available-text=\"{availableAmount} remaining\"\n column-title=\"Reward\"\n copy-text=\"Copied!\"\n redeemed-text=\"{redeemedAmount} redeemed\"\n >\n </sqm-rewards-table-reward-column>\n <sqm-rewards-table-source-column\n anonymous-user=\"Anonymous User\"\n column-title=\"Source\"\n deleted-user=\"Deleted User\"\n referral-text=\"{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}\"\n reward-exchange-text=\"Reward Exchange\"\n reward-source-text=\"{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}\"\n >\n </sqm-rewards-table-source-column>\n <sqm-rewards-table-status-column\n column-title=\"Status\"\n expiry-text=\"Expires on \"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-rewards-table-status-column>\n <sqm-rewards-table-date-column\n column-title=\"Date received\"\n date-shown=\"dateGiven\"\n >\n </sqm-rewards-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png\"\n empty-state-header=\"View your rewards\"\n empty-state-text=\"Refer friends and complete tasks to view the details of your rewards\"\n >\n </sqm-empty>\n </sqm-rewards-table>\n </sqm-portal-container>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https:\\/\\/example.com\"\n faq-link=\"https:\\/\\/example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
4070
4086
 
4071
4087
  const instantAccessReferrerShareWidget = "<sqm-hero\n background=\"https://res.cloudinary.com/saasquatch/image/upload/v1683589933/Portal%20Assets/Screen-Shot-2022-01-06-at-3.23.58-AM.png\"\n columns=\"2\"\n padding-size=\"medium\"\n wrap-direction=\"wrap\"\n secondary-background=\"#FFFFFF\"\n min-height=\"200\"\n ><sqm-referral-card\n vertical-alignment=\"start\"\n slot=\"secondary-column\"\n padding-bottom=\"small\"\n padding-left=\"x-large\"\n padding-right=\"x-large\"\n padding-top=\"small\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"none\"\n padding=\"none\"\n slot=\"header\"\n ><h1 slot=\"label\">Invite your friends to unlock rewards!</h1>\n <p slot=\"content\">\n They&#x2019;ll get a &#x24;50 credit towards a new account and\n you&#x2019;ll get a &#x24;50 in credit for each friend you refer.\n </p></sqm-titled-section\n >\n <sqm-portal-container\n gap=\"small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n slot=\"left\"\n >\n <p style=\"margin: 0\">Choose how you want to share:</p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Post about us on X\n </sqm-share-button> </sqm-portal-container\n ><sqm-portal-container\n display=\"flex\"\n slot=\"footer\"\n gap=\"small\"\n justify-content=\"center\"\n >\n <sqm-logout-current-user\n user-identification-text=\"{email}\"\n switch-user-link=\"#\"\n switch-user-text=\"not you?\"\n ></sqm-logout-current-user>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n show-powered-by=\"true\"\n padding-bottom=\"x-small\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n hide-support-text\n terms-text=\"Terms And Conditions\"\n terms-link=\"https://example.com\"\n ></sqm-portal-footer></sqm-portal-container\n ></sqm-referral-card>\n</sqm-hero>\n";
@@ -7122,6 +7138,10 @@ const Loyalty = createHookStory(() => {
7122
7138
  const { states, callbacks } = useTemplate$1(loyaltyWidget);
7123
7139
  return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: loyaltyWidget }));
7124
7140
  });
7141
+ const PromoCodeReferralWidget = createHookStory(() => {
7142
+ const { states, callbacks } = useTemplate$1(promoCodeReferralWidget);
7143
+ return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: referralWidget }));
7144
+ });
7125
7145
  const InstantAccessReferrerShareWidget = createHookStory(() => {
7126
7146
  const { states, callbacks } = useTemplate$1(instantAccessReferrerShareWidget);
7127
7147
  return h(TemplateView$1, { states: states, callbacks: callbacks });
@@ -7153,6 +7173,7 @@ const Widget = /*#__PURE__*/Object.freeze({
7153
7173
  ReferralWidget: ReferralWidget,
7154
7174
  MonoWidget: MonoWidget,
7155
7175
  Loyalty: Loyalty,
7176
+ PromoCodeReferralWidget: PromoCodeReferralWidget,
7156
7177
  InstantAccessReferrerShareWidget: InstantAccessReferrerShareWidget,
7157
7178
  PaypalMonoWidget: PaypalMonoWidget,
7158
7179
  PaypalReferralWidget: PaypalReferralWidget,
@@ -7272,14 +7293,14 @@ const loadingProps = {
7272
7293
  },
7273
7294
  content: { pageLabel: "Sign in to your account" },
7274
7295
  };
7275
- const Default$2 = () => h(PortalLoginView, Object.assign({}, defaultProps$2));
7296
+ const Default$3 = () => h(PortalLoginView, Object.assign({}, defaultProps$2));
7276
7297
  const LoginWithError = () => h(PortalLoginView, Object.assign({}, errorProps));
7277
7298
  const LoginLoading = () => h(PortalLoginView, Object.assign({}, loadingProps));
7278
7299
 
7279
7300
  const PortalLogin = /*#__PURE__*/Object.freeze({
7280
7301
  __proto__: null,
7281
7302
  'default': PortalLogin_stories,
7282
- Default: Default$2,
7303
+ Default: Default$3,
7283
7304
  LoginWithError: LoginWithError,
7284
7305
  LoginLoading: LoginLoading
7285
7306
  });
@@ -7382,7 +7403,7 @@ const slottedProps = {
7382
7403
  h("sl-input", { exportparts: "label: input-label, base: input-base", label: "Slotted Input 2", required: true }))),
7383
7404
  },
7384
7405
  };
7385
- const Default$3 = () => h(PortalRegisterView, Object.assign({}, defaultProps$3));
7406
+ const Default$4 = () => h(PortalRegisterView, Object.assign({}, defaultProps$3));
7386
7407
  const RegisterWithError = () => h(PortalRegisterView, Object.assign({}, errorProps$1));
7387
7408
  const RegisterLoading = () => h(PortalRegisterView, Object.assign({}, loadingProps$1));
7388
7409
  const FieldsHidden = () => {
@@ -7409,7 +7430,7 @@ const TermsAndConditions = () => (h(PortalRegisterView, Object.assign({}, defaul
7409
7430
  const PortalRegister = /*#__PURE__*/Object.freeze({
7410
7431
  __proto__: null,
7411
7432
  'default': PortalRegister_stories,
7412
- Default: Default$3,
7433
+ Default: Default$4,
7413
7434
  RegisterWithError: RegisterWithError,
7414
7435
  RegisterLoading: RegisterLoading,
7415
7436
  FieldsHidden: FieldsHidden,
@@ -7485,7 +7506,7 @@ const successProps = {
7485
7506
  messageSlot: "Enter your email below to receive a password reset link.",
7486
7507
  },
7487
7508
  };
7488
- const Default$4 = () => h(PortalForgotPasswordView, Object.assign({}, defaultProps$4));
7509
+ const Default$5 = () => h(PortalForgotPasswordView, Object.assign({}, defaultProps$4));
7489
7510
  const ForgotPasswordWithError = () => (h(PortalForgotPasswordView, Object.assign({}, errorProps$2)));
7490
7511
  const ForgotPasswordLoading = () => (h(PortalForgotPasswordView, Object.assign({}, loadingProps$2)));
7491
7512
  const ForgotPasswordSuccess = () => (h(PortalForgotPasswordView, Object.assign({}, successProps)));
@@ -7493,7 +7514,7 @@ const ForgotPasswordSuccess = () => (h(PortalForgotPasswordView, Object.assign({
7493
7514
  const PortalForgotPassword = /*#__PURE__*/Object.freeze({
7494
7515
  __proto__: null,
7495
7516
  'default': PortalForgotPassword_stories,
7496
- Default: Default$4,
7517
+ Default: Default$5,
7497
7518
  ForgotPasswordWithError: ForgotPasswordWithError,
7498
7519
  ForgotPasswordLoading: ForgotPasswordLoading,
7499
7520
  ForgotPasswordSuccess: ForgotPasswordSuccess
@@ -7564,7 +7585,7 @@ const loadingVerificationProps = {
7564
7585
  callbacks: defaultCallbacks,
7565
7586
  content: defaultContent,
7566
7587
  };
7567
- const Default$5 = () => h(PortalEmailVerificationView, Object.assign({}, defaultProps$5));
7588
+ const Default$6 = () => h(PortalEmailVerificationView, Object.assign({}, defaultProps$5));
7568
7589
  const EmailVerificationWithError = () => (h(PortalEmailVerificationView, Object.assign({}, errorProps$3)));
7569
7590
  const EmailVerificationLoading = () => (h(PortalEmailVerificationView, Object.assign({}, loadingProps$3)));
7570
7591
  const EmailVerificationCheckingVerification = () => (h(PortalEmailVerificationView, Object.assign({}, loadingVerificationProps)));
@@ -7573,7 +7594,7 @@ const EmailVerificationSuccess = () => (h(PortalEmailVerificationView, Object.as
7573
7594
  const PortalEmailVerification = /*#__PURE__*/Object.freeze({
7574
7595
  __proto__: null,
7575
7596
  'default': PortalEmailVerification_stories,
7576
- Default: Default$5,
7597
+ Default: Default$6,
7577
7598
  EmailVerificationWithError: EmailVerificationWithError,
7578
7599
  EmailVerificationLoading: EmailVerificationLoading,
7579
7600
  EmailVerificationCheckingVerification: EmailVerificationCheckingVerification,
@@ -7726,7 +7747,7 @@ const validatingCodeProps = {
7726
7747
  failed: () => console.log("failed"),
7727
7748
  },
7728
7749
  };
7729
- const Default$6 = () => h(PortalResetPasswordView, Object.assign({}, defaultProps$6));
7750
+ const Default$7 = () => h(PortalResetPasswordView, Object.assign({}, defaultProps$6));
7730
7751
  const DefaultWithoutConfirmField = () => (h(PortalResetPasswordView, Object.assign({}, defaultPropsNoConfirm)));
7731
7752
  const ResetPasswordWithError = () => (h(PortalResetPasswordView, Object.assign({}, errorProps$4)));
7732
7753
  const ResetPasswordLoading = () => (h(PortalResetPasswordView, Object.assign({}, loadingProps$4)));
@@ -7736,7 +7757,7 @@ const CodeValidating = () => (h(PortalResetPasswordView, Object.assign({}, valid
7736
7757
  const PortalResetPassword = /*#__PURE__*/Object.freeze({
7737
7758
  __proto__: null,
7738
7759
  'default': PortalResetPassword_stories,
7739
- Default: Default$6,
7760
+ Default: Default$7,
7740
7761
  DefaultWithoutConfirmField: DefaultWithoutConfirmField,
7741
7762
  ResetPasswordWithError: ResetPasswordWithError,
7742
7763
  ResetPasswordLoading: ResetPasswordLoading,
@@ -7799,7 +7820,7 @@ const PortalVerifyEmail = /*#__PURE__*/Object.freeze({
7799
7820
  const AssetCard_stories = {
7800
7821
  title: "Components/Asset Card",
7801
7822
  };
7802
- const Default$7 = () => {
7823
+ const Default$8 = () => {
7803
7824
  const props = {
7804
7825
  text: { titleText: "Marketing Banner" },
7805
7826
  imgUrl: "https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png",
@@ -7827,7 +7848,7 @@ const CardWithNoImg = () => {
7827
7848
  const AssetCard = /*#__PURE__*/Object.freeze({
7828
7849
  __proto__: null,
7829
7850
  'default': AssetCard_stories,
7830
- Default: Default$7,
7851
+ Default: Default$8,
7831
7852
  CardWithLongText: CardWithLongText,
7832
7853
  CardWithNoImg: CardWithNoImg
7833
7854
  });
@@ -8048,7 +8069,7 @@ const successProps$3 = {
8048
8069
  submit: (e) => console.log("Submit", e),
8049
8070
  },
8050
8071
  };
8051
- const Default$8 = () => h(PortalChangePasswordView, Object.assign({}, defaultProps$7));
8072
+ const Default$9 = () => h(PortalChangePasswordView, Object.assign({}, defaultProps$7));
8052
8073
  const Open = () => h(PortalChangePasswordView, Object.assign({}, openProps));
8053
8074
  const Error$2 = () => h(PortalChangePasswordView, Object.assign({}, errorProps$6));
8054
8075
  const PaswordError = () => (h(PortalChangePasswordView, Object.assign({}, passwordErrorProps)));
@@ -8058,7 +8079,7 @@ const Success = () => h(PortalChangePasswordView, Object.assign({}, successProps
8058
8079
  const ChangePassword = /*#__PURE__*/Object.freeze({
8059
8080
  __proto__: null,
8060
8081
  'default': ChangePassword_stories,
8061
- Default: Default$8,
8082
+ Default: Default$9,
8062
8083
  Open: Open,
8063
8084
  Error: Error$2,
8064
8085
  PaswordError: PaswordError,
@@ -8285,7 +8306,7 @@ const successProps$4 = {
8285
8306
  onChange: (e) => console.log(e),
8286
8307
  },
8287
8308
  };
8288
- const Default$9 = () => h(PortalProfileView, Object.assign({}, defaultProps$8));
8309
+ const Default$a = () => h(PortalProfileView, Object.assign({}, defaultProps$8));
8289
8310
  const DefaultNoCountry = () => h(PortalProfileView, Object.assign({}, noCountry));
8290
8311
  const Loading$2 = () => h(PortalProfileView, Object.assign({}, loadingProps$6));
8291
8312
  const Disabled$1 = () => h(PortalProfileView, Object.assign({}, disabledProps));
@@ -8295,7 +8316,7 @@ const Success$1 = () => h(PortalProfileView, Object.assign({}, successProps$4));
8295
8316
  const PortalProfile = /*#__PURE__*/Object.freeze({
8296
8317
  __proto__: null,
8297
8318
  'default': PortalProfile_stories,
8298
- Default: Default$9,
8319
+ Default: Default$a,
8299
8320
  DefaultNoCountry: DefaultNoCountry,
8300
8321
  Loading: Loading$2,
8301
8322
  Disabled: Disabled$1,
@@ -10255,7 +10276,7 @@ const ProgramMenu = /*#__PURE__*/Object.freeze({
10255
10276
  const PoweredByImg_stories = {
10256
10277
  title: "Powered By",
10257
10278
  };
10258
- const Default$a = () => {
10279
+ const Default$b = () => {
10259
10280
  return h(PoweredByImg$1, null);
10260
10281
  };
10261
10282
  const CustomColor = () => {
@@ -10268,7 +10289,7 @@ const CustomWidthAndHeight = () => {
10268
10289
  const PoweredByImg = /*#__PURE__*/Object.freeze({
10269
10290
  __proto__: null,
10270
10291
  'default': PoweredByImg_stories,
10271
- Default: Default$a,
10292
+ Default: Default$b,
10272
10293
  CustomColor: CustomColor,
10273
10294
  CustomWidthAndHeight: CustomWidthAndHeight
10274
10295
  });
@@ -10655,7 +10676,7 @@ const defaultRegisterProps = {
10655
10676
  invalidEmailErrorMessage: "Must be a valid email address",
10656
10677
  },
10657
10678
  };
10658
- const Default$b = createHookStory(() => (h(CheckboxFieldView, Object.assign({}, defaultProps$a))));
10679
+ const Default$c = createHookStory(() => (h(CheckboxFieldView, Object.assign({}, defaultProps$a))));
10659
10680
  const DefaultChecked = createHookStory(() => (h(CheckboxFieldView, Object.assign({}, defaultProps$a, { states: {
10660
10681
  ...defaultProps$a.states,
10661
10682
  checked: true,
@@ -10710,7 +10731,7 @@ const TermsAndConditionsLongCustomLabel = createHookStory(() => (h(PortalRegiste
10710
10731
  const CheckboxField = /*#__PURE__*/Object.freeze({
10711
10732
  __proto__: null,
10712
10733
  'default': CheckboxField_stories,
10713
- Default: Default$b,
10734
+ Default: Default$c,
10714
10735
  DefaultChecked: DefaultChecked,
10715
10736
  CustomLabel: CustomLabel,
10716
10737
  Error: Error$4,
@@ -10812,7 +10833,7 @@ const defaultProps$b = {
10812
10833
  ],
10813
10834
  },
10814
10835
  };
10815
- const Default$c = createHookStory(() => (h(DropdownFieldView, Object.assign({}, defaultProps$b))));
10836
+ const Default$d = createHookStory(() => (h(DropdownFieldView, Object.assign({}, defaultProps$b))));
10816
10837
  const CustomLabel$1 = createHookStory(() => (h(DropdownFieldView, Object.assign({}, defaultProps$b, { content: {
10817
10838
  ...defaultProps$b.content,
10818
10839
  dropdownLabel: "Pick your favorite",
@@ -10840,7 +10861,7 @@ const CustomError$1 = createHookStory(() => (h(DropdownFieldView, Object.assign(
10840
10861
  const DropdownField = /*#__PURE__*/Object.freeze({
10841
10862
  __proto__: null,
10842
10863
  'default': DropdownField_stories,
10843
- Default: Default$c,
10864
+ Default: Default$d,
10844
10865
  CustomLabel: CustomLabel$1,
10845
10866
  Error: Error$5,
10846
10867
  CustomError: CustomError$1
@@ -10950,7 +10971,7 @@ const defaultRegisterProps$1 = {
10950
10971
  invalidEmailErrorMessage: "Must be a valid email address",
10951
10972
  },
10952
10973
  };
10953
- const Default$d = () => h(InputFieldView, Object.assign({}, defaultProps$c));
10974
+ const Default$e = () => h(InputFieldView, Object.assign({}, defaultProps$c));
10954
10975
  const CustomLabel$2 = () => (h(InputFieldView, Object.assign({}, defaultProps$c, { content: { ...defaultProps$c.content, fieldLabel: "My Label" } })));
10955
10976
  const Error$6 = () => (h(InputFieldView, Object.assign({}, defaultProps$c, { states: {
10956
10977
  ...defaultProps$c.states,
@@ -11000,7 +11021,7 @@ const RegistrationFieldCustomLabel = () => (h(PortalRegisterView, Object.assign(
11000
11021
  const InputField = /*#__PURE__*/Object.freeze({
11001
11022
  __proto__: null,
11002
11023
  'default': InputField_stories,
11003
- Default: Default$d,
11024
+ Default: Default$e,
11004
11025
  CustomLabel: CustomLabel$2,
11005
11026
  Error: Error$6,
11006
11027
  CustomError: CustomError$2,
@@ -12623,6 +12644,21 @@ const sharebutton = (slot) => {
12623
12644
  h("sqm-share-button", { medium: "facebook" }, "Share on Facebook"),
12624
12645
  h("sqm-share-button", { medium: "twitter" }, "Post about us on X"))));
12625
12646
  };
12647
+ const shareButtonsWithPromoCodes = (slot) => {
12648
+ return (h("sqm-portal-container", { gap: "large", slot: slot },
12649
+ h("sqm-text", null, "Choose how you want to share:"),
12650
+ h("sqm-text", null,
12651
+ h("sub", null, "Share with your friends:"),
12652
+ h("sqm-share-code", null),
12653
+ h("sqm-share-link", null)),
12654
+ h("sqm-portal-container", { gap: "x-small" },
12655
+ h("sqm-share-button", { medium: "email" }, "Share via email"),
12656
+ h("sqm-share-button", { medium: "facebook" }, "Share on Facebook"),
12657
+ h("sqm-share-button", { medium: "twitter" }, "Post about us on X"),
12658
+ h("sqm-portal-container", { gap: "x-small" },
12659
+ h("span", { style: { textAlign: "center", color: "var(--sl-color-gray-500)" } }, "You have copied this code before"),
12660
+ h("sqm-pagination", null)))));
12661
+ };
12626
12662
  const timeline = (slot, count) => {
12627
12663
  return (h("sqm-timeline", { slot: slot, icon: "circle" },
12628
12664
  count > 0 && (h("sqm-timeline-entry", { reward: "75", unit: "points", desc: "Your friends signs up for a free trial" })),
@@ -12645,6 +12681,11 @@ const TimelineAndShareButtons = () => {
12645
12681
  timeline("left", 3),
12646
12682
  sharebutton("right")));
12647
12683
  };
12684
+ const OneTimeUsePromoCodes = () => {
12685
+ return (h("sqm-referral-card", null,
12686
+ timeline("left", 4),
12687
+ shareButtonsWithPromoCodes("right")));
12688
+ };
12648
12689
  const StartAlignment = () => {
12649
12690
  return (h("sqm-referral-card", { "vertical-alignment": "start" },
12650
12691
  timeline("left", 4),
@@ -12721,6 +12762,7 @@ const ReferralCard = /*#__PURE__*/Object.freeze({
12721
12762
  ImageAndShareButtons: ImageAndShareButtons,
12722
12763
  LimitWidth: LimitWidth,
12723
12764
  TimelineAndShareButtons: TimelineAndShareButtons,
12765
+ OneTimeUsePromoCodes: OneTimeUsePromoCodes,
12724
12766
  StartAlignment: StartAlignment,
12725
12767
  CenterAlignment: CenterAlignment,
12726
12768
  EndAlignment: EndAlignment,
@@ -13822,6 +13864,82 @@ const ShareCode$1 = /*#__PURE__*/Object.freeze({
13822
13864
  Error: Error$7
13823
13865
  });
13824
13866
 
13867
+ const scenario$A = "@author:sam\n@owner:sam\nFeature: Referral Code\n\n The referral code component is a box that allows users to see and copy their referral promo code for a given program\n\n Background: Environment\n Given there is a valid program ID in the environment\n And there is a valid user ID and account ID in the environment\n\n @motivating\n Scenario: A Users referral code can be copied to their clipboard\n Given tooltiptext is \"hello tooltip\"\n When the component renders\n Then there is a textbox with the user's referral code\n When the clipboard icon is clicked\n Then the code is copied to clipboard\n And a tooltip will appear for ~1 second\n\n @minutia\n Scenario: Tooltip lifespan can be customized\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip will appear for ~2 seconds\n\n @minutia\n Scenario: Demo\n Given isDemo() returns true\n Then the share code is \"SHARECODE001\"\n And the component won't be interactive\n And the tooltip is hidden\n\n @minutia\n Scenario: Program ID can be sourced from prop\n Given the programId prop is set to \"program-a\"\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share code is for \"program-a\"\n\n @minutia\n Scenario: Program ID can be sourced from window\n Given the programId prop is unset\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share code is for \"program-b\"\n\n @minutia\n Scenario: An analytic event is fired when a user copies their code\n Given a user viewing the referral code component\n And the component is rendered for \"program-a\"\n When they click to copy their code\n Then an \"USER_REFERRAL_PROGRAM_ENGAGEMENT_EVENT\" analytic event is fired\n And it is for \"program-a\"\n And it has share medium \"DIRECT\"\n\n @ui\n Scenario Outline: user can edit the alignment of the share code text\n Given a user is editing the referral code component\n Then they see \"Align text\" props\n And the default value is \"left\"\n When they change the option to <option>\n Then they see the text in <position>\n Examples:\n | option | position |\n | left | left |\n | center | center |\n | right | right |\n\n @ui\n Scenario Outline: The position of the copy button can be changed\n Given a user is editing the referral code component\n Then they see \"Style\" props\n And the default value is \"icon\"\n When they change the option to <option>\n Then they see the copy button in <position>\n Examples:\n | option | position |\n | button outside | outside the input, on the right |\n | button below | outside the input, below |\n | icon | inside the input as an icon |\n";
13868
+
13869
+ const ReferralCode_stories = {
13870
+ title: "Components/Referral Code",
13871
+ parameters: {
13872
+ scenario: scenario$A,
13873
+ },
13874
+ };
13875
+ const ReferralCode = () => {
13876
+ return (h("sqm-referral-code", { tooltiptext: "Copied to Clipboard" }));
13877
+ };
13878
+ const ShowNotificationText = () => {
13879
+ return (h("sqm-referral-code", { showNotificationText: true, notificationText: "You've copied this code before" }));
13880
+ };
13881
+ const ShowNotificationTextWithButton = () => {
13882
+ return (h("sqm-referral-code", { showNotificationText: true, notificationText: "You've copied this code before", buttonStyle: "button-outside" }));
13883
+ };
13884
+ const ShowNotificationTextWithButtonBelow = () => {
13885
+ return (h("sqm-referral-code", { showNotificationText: true, notificationText: "You've copied this code before", buttonStyle: "button-below" }));
13886
+ };
13887
+ const CustomTooltipText$1 = () => {
13888
+ return (h("sqm-referral-code", { tooltiptext: "CUSTOM TOOLTIP TEXT" }));
13889
+ };
13890
+ const TextAlignCenter$2 = () => {
13891
+ return h("sqm-referral-code", { textAlign: "center" });
13892
+ };
13893
+ const TextAlignRight$2 = () => {
13894
+ return h("sqm-referral-code", { textAlign: "right" });
13895
+ };
13896
+ const CustomTooltipDuration$1 = () => {
13897
+ return (h("sqm-referral-code", { tooltiplifespan: 5000, tooltiptext: "CUSTOM TOOLTIP TEXT" }));
13898
+ };
13899
+ const CopyButton$2 = () => {
13900
+ return (h(CopyTextView, Object.assign({}, {
13901
+ copyString: "https://noah.example.com",
13902
+ open: false,
13903
+ tooltiptext: "Copied!",
13904
+ isCopyIcon: false,
13905
+ buttonStyle: "button-outside",
13906
+ })));
13907
+ };
13908
+ const CopyButtonBelow$2 = () => {
13909
+ return (h(CopyTextView, Object.assign({}, {
13910
+ copyString: "https://noah.example.com",
13911
+ open: false,
13912
+ tooltiptext: "Copied!",
13913
+ buttonStyle: "button-below",
13914
+ })));
13915
+ };
13916
+ const Error$8 = () => {
13917
+ const props = {
13918
+ copyString: "https://noah.example.com",
13919
+ disabled: true,
13920
+ open: true,
13921
+ tooltiptext: "Copied!",
13922
+ error: true,
13923
+ };
13924
+ return h(CopyTextView, Object.assign({}, props));
13925
+ };
13926
+
13927
+ const ReferralCode$1 = /*#__PURE__*/Object.freeze({
13928
+ __proto__: null,
13929
+ 'default': ReferralCode_stories,
13930
+ ReferralCode: ReferralCode,
13931
+ ShowNotificationText: ShowNotificationText,
13932
+ ShowNotificationTextWithButton: ShowNotificationTextWithButton,
13933
+ ShowNotificationTextWithButtonBelow: ShowNotificationTextWithButtonBelow,
13934
+ CustomTooltipText: CustomTooltipText$1,
13935
+ TextAlignCenter: TextAlignCenter$2,
13936
+ TextAlignRight: TextAlignRight$2,
13937
+ CustomTooltipDuration: CustomTooltipDuration$1,
13938
+ CopyButton: CopyButton$2,
13939
+ CopyButtonBelow: CopyButtonBelow$2,
13940
+ Error: Error$8
13941
+ });
13942
+
13825
13943
  // import scenario from "./ShareCode.feature";
13826
13944
  const EmailRegistration_stories = {
13827
13945
  title: "Components/Email Registration",
@@ -13848,7 +13966,7 @@ const defaultProps$d = {
13848
13966
  fraudErrorMessageTitle: "Looks like you tried referring yourself",
13849
13967
  },
13850
13968
  };
13851
- const Default$e = () => h(EmailRegistrationView, Object.assign({}, defaultProps$d));
13969
+ const Default$f = () => h(EmailRegistrationView, Object.assign({}, defaultProps$d));
13852
13970
  const HasFirstNameLastName = () => (h(EmailRegistrationView, Object.assign({}, {
13853
13971
  ...defaultProps$d,
13854
13972
  content: {
@@ -13885,7 +14003,7 @@ const Loading$4 = () => (h(EmailRegistrationView, Object.assign({}, {
13885
14003
  loading: true,
13886
14004
  },
13887
14005
  })));
13888
- const Error$8 = () => (h(EmailRegistrationView, Object.assign({}, {
14006
+ const Error$9 = () => (h(EmailRegistrationView, Object.assign({}, {
13889
14007
  ...defaultProps$d,
13890
14008
  states: {
13891
14009
  error: "Something went wrong. Please try again.",
@@ -13913,23 +14031,23 @@ const EmptyEmailError = () => (h(EmailRegistrationView, Object.assign({}, {
13913
14031
  const EmailRegistration = /*#__PURE__*/Object.freeze({
13914
14032
  __proto__: null,
13915
14033
  'default': EmailRegistration_stories,
13916
- Default: Default$e,
14034
+ Default: Default$f,
13917
14035
  HasFirstNameLastName: HasFirstNameLastName,
13918
14036
  WithSlots: WithSlots,
13919
14037
  NoBorder: NoBorder$1,
13920
14038
  BackgroundColor: BackgroundColor$2,
13921
14039
  Loading: Loading$4,
13922
- Error: Error$8,
14040
+ Error: Error$9,
13923
14041
  FraudError: FraudError,
13924
14042
  EmptyEmailError: EmptyEmailError
13925
14043
  });
13926
14044
 
13927
- const scenario$A = "@author:truman\n@owner:truman\nFeature: Coupon Code\n\n The coupon code component is a box that allows users to see and copy their coupon code for a given program\n\n @motivating\n Scenario: Component only fetches codes from current program\n Given a user has multiple rewards from various programs\n When the component is loaded\n Then it fetches the user's rewards from only the program associated with the widget\n\n @motivating\n Scenario: Component only looks at fueltank rewards\n Given a user has multiple rewards of different types\n When the component is loaded\n Then it filters the user's reward to only return FUELTANK rewards\n\n\n @motivating\n Scenario: The first (i.e. most recently received) reward is the reward that is displayed\n Given a user has at least one fueltank reward\n And the fueltank reward is available\n Then the coupon code component shows the first reward returned\n And this reward is the most recently received reward by the user\n\n @motivating\n Scenario Outline: Coupon code has multiple states depending on reward status\n Given a user has at least one fueltank reward\n And the reward has most recent status <status>\n And the dateScheduledFor field is <dateScheduledFor>\n Then the component's status is set to <componentStatus>\n And the <errorMessageTextProp> is displayed under the input field\n\n Examples:\n | status | dateScheduledFor | componentStatus | errorMessageTextProp |\n | AVAILABLE | null | AVAILABLE | N/A |\n | EXPIRED | null | EXPIRED | expiredErrorMessage |\n | REDEEMED | null | REDEEMED | redeemedMessage |\n | CANCELLED | null | CANCELLED | cancelledErrorMessage |\n | PENDING | null | EMPTY_TANK | fullfillmentErrorMessage |\n | PENDING | 123412341234 | PENDING | pendingErrorMessage |\n | null | null | ERROR | genericErrorMessage |\n\n Scenario Outline: Coupon code's error message text props are grouped\n Given an end user is viewing the coupon code component in the widget editor\n And they are looking at the component's properties\n Then they see <prop>\n And <prop> is grouped under \"Coupon code error\"\n Examples:\n | prop |\n | N/A |\n | expiredErrorMessage |\n | redeemedMessage |\n | cancelledErrorMessage |\n | fullfillmentErrorMessage |\n | pendingErrorMessage |\n | genericErrorMessage |\n\n @minutia\n Scenario: Tooltip lifespan defaults to 2000\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip appears for ~2 seconds\n\n @ui\n Scenario: Component shows an error state when there is an error\n Given a user is viewing the coupon code component\n When there is an error in the coupon code\n Then in place of the coupon code is an alert banner\n And the alert banner gives information about the error to the user\n\n @ui\n Scenario: Component shows an loading state\n Given a user is viewing the coupon code component\n When the coupon code is loading in\n Then the text inside the input is \"Loading...\"\n And the coupon code input box has a gray background\n And the cursor is set to \"default\"\n And the user cannot copy the text\n\n @ui\n Scenario Outline: User can edit the alignment of the coupon code text\n Given a user is editing the coupon code component\n Then they see \"Align text\" props\n And the default value is \"left\"\n When they change the option to <option>\n Then they see the text in <position>\n Examples:\n | option | position |\n | left | left |\n | center | center |\n | right | right |\n\n @ui\n Scenario Outline: The position of the copy button can be changed\n Given a user is editing the coupon code component\n Then they see \"Style\" props\n And the default value is \"icon\"\n When they change the option to <option>\n Then they see the copy button in <position>\n Examples:\n | option | position |\n | button outside | outside the input, on the right |\n | button below | outside the input, below |\n | icon | inside the input as an icon |\n\n @minutia\n Scenario: ICU string converts to a date\n Given a user is viewing a live coupon code code component\n And the \"pendingErrorText\" has the \"{unpendDate}\" ICU string\n And the program is configured for rewards to be pending\n Then the user will see an info alert banner\n And the ICU string is converted to the unpend date\n";
14045
+ const scenario$B = "@author:truman\n@owner:truman\nFeature: Coupon Code\n\n The coupon code component is a box that allows users to see and copy their coupon code for a given program\n\n @motivating\n Scenario: Component only fetches codes from current program\n Given a user has multiple rewards from various programs\n When the component is loaded\n Then it fetches the user's rewards from only the program associated with the widget\n\n @motivating\n Scenario: Component only looks at fueltank rewards\n Given a user has multiple rewards of different types\n When the component is loaded\n Then it filters the user's reward to only return FUELTANK rewards\n\n\n @motivating\n Scenario: The first (i.e. most recently received) reward is the reward that is displayed\n Given a user has at least one fueltank reward\n And the fueltank reward is available\n Then the coupon code component shows the first reward returned\n And this reward is the most recently received reward by the user\n\n @motivating\n Scenario Outline: Coupon code has multiple states depending on reward status\n Given a user has at least one fueltank reward\n And the reward has most recent status <status>\n And the dateScheduledFor field is <dateScheduledFor>\n Then the component's status is set to <componentStatus>\n And the <errorMessageTextProp> is displayed under the input field\n\n Examples:\n | status | dateScheduledFor | componentStatus | errorMessageTextProp |\n | AVAILABLE | null | AVAILABLE | N/A |\n | EXPIRED | null | EXPIRED | expiredErrorMessage |\n | REDEEMED | null | REDEEMED | redeemedMessage |\n | CANCELLED | null | CANCELLED | cancelledErrorMessage |\n | PENDING | null | EMPTY_TANK | fullfillmentErrorMessage |\n | PENDING | 123412341234 | PENDING | pendingErrorMessage |\n | null | null | ERROR | genericErrorMessage |\n\n Scenario Outline: Coupon code's error message text props are grouped\n Given an end user is viewing the coupon code component in the widget editor\n And they are looking at the component's properties\n Then they see <prop>\n And <prop> is grouped under \"Coupon code error\"\n Examples:\n | prop |\n | N/A |\n | expiredErrorMessage |\n | redeemedMessage |\n | cancelledErrorMessage |\n | fullfillmentErrorMessage |\n | pendingErrorMessage |\n | genericErrorMessage |\n\n @minutia\n Scenario: Tooltip lifespan defaults to 2000\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip appears for ~2 seconds\n\n @ui\n Scenario: Component shows an error state when there is an error\n Given a user is viewing the coupon code component\n When there is an error in the coupon code\n Then in place of the coupon code is an alert banner\n And the alert banner gives information about the error to the user\n\n @ui\n Scenario: Component shows an loading state\n Given a user is viewing the coupon code component\n When the coupon code is loading in\n Then the text inside the input is \"Loading...\"\n And the coupon code input box has a gray background\n And the cursor is set to \"default\"\n And the user cannot copy the text\n\n @ui\n Scenario Outline: User can edit the alignment of the coupon code text\n Given a user is editing the coupon code component\n Then they see \"Align text\" props\n And the default value is \"left\"\n When they change the option to <option>\n Then they see the text in <position>\n Examples:\n | option | position |\n | left | left |\n | center | center |\n | right | right |\n\n @ui\n Scenario Outline: The position of the copy button can be changed\n Given a user is editing the coupon code component\n Then they see \"Style\" props\n And the default value is \"icon\"\n When they change the option to <option>\n Then they see the copy button in <position>\n Examples:\n | option | position |\n | button outside | outside the input, on the right |\n | button below | outside the input, below |\n | icon | inside the input as an icon |\n\n @minutia\n Scenario: ICU string converts to a date\n Given a user is viewing a live coupon code code component\n And the \"pendingErrorText\" has the \"{unpendDate}\" ICU string\n And the program is configured for rewards to be pending\n Then the user will see an info alert banner\n And the ICU string is converted to the unpend date\n";
13928
14046
 
13929
14047
  const CouponCode_stories = {
13930
14048
  title: "Components/Coupon Code",
13931
14049
  parameters: {
13932
- scenario: scenario$A,
14050
+ scenario: scenario$B,
13933
14051
  },
13934
14052
  };
13935
14053
  const defaultProps$e = {
@@ -13944,25 +14062,25 @@ const defaultProps$e = {
13944
14062
  const CouponCode = () => {
13945
14063
  return h("sqm-coupon-code", { tooltiptext: "Copied to Clipboard" });
13946
14064
  };
13947
- const CustomTooltipText$1 = () => {
14065
+ const CustomTooltipText$2 = () => {
13948
14066
  return h("sqm-coupon-code", { tooltiptext: "CUSTOM TOOLTIP TEXT" });
13949
14067
  };
13950
- const CustomTooltipDuration$1 = () => {
14068
+ const CustomTooltipDuration$2 = () => {
13951
14069
  return (h("sqm-coupon-code", { tooltiplifespan: 5000, tooltiptext: "CUSTOM TOOLTIP TEXT" }));
13952
14070
  };
13953
- const TextAlignCenter$2 = () => {
14071
+ const TextAlignCenter$3 = () => {
13954
14072
  return h("sqm-coupon-code", { textAlign: "center" });
13955
14073
  };
13956
- const TextAlignRight$2 = () => {
14074
+ const TextAlignRight$3 = () => {
13957
14075
  return h("sqm-coupon-code", { textAlign: "right" });
13958
14076
  };
13959
- const CopyButton$2 = () => {
14077
+ const CopyButton$3 = () => {
13960
14078
  return (h("sqm-coupon-code", Object.assign({}, defaultProps$e, { buttonStyle: "button-outside" })));
13961
14079
  };
13962
14080
  const CopyButtonCustomLabel = () => {
13963
14081
  return (h("sqm-coupon-code", Object.assign({}, defaultProps$e, { buttonStyle: "button-outside", "copy-button-label": "test long custom label" })));
13964
14082
  };
13965
- const CopyButtonBelow$2 = () => {
14083
+ const CopyButtonBelow$3 = () => {
13966
14084
  return (h("sqm-coupon-code", Object.assign({}, defaultProps$e, { buttonStyle: "button-below" })));
13967
14085
  };
13968
14086
  const CopyButtonBelowCustomLabel = () => {
@@ -14000,13 +14118,13 @@ const CouponCode$1 = /*#__PURE__*/Object.freeze({
14000
14118
  __proto__: null,
14001
14119
  'default': CouponCode_stories,
14002
14120
  CouponCode: CouponCode,
14003
- CustomTooltipText: CustomTooltipText$1,
14004
- CustomTooltipDuration: CustomTooltipDuration$1,
14005
- TextAlignCenter: TextAlignCenter$2,
14006
- TextAlignRight: TextAlignRight$2,
14007
- CopyButton: CopyButton$2,
14121
+ CustomTooltipText: CustomTooltipText$2,
14122
+ CustomTooltipDuration: CustomTooltipDuration$2,
14123
+ TextAlignCenter: TextAlignCenter$3,
14124
+ TextAlignRight: TextAlignRight$3,
14125
+ CopyButton: CopyButton$3,
14008
14126
  CopyButtonCustomLabel: CopyButtonCustomLabel,
14009
- CopyButtonBelow: CopyButtonBelow$2,
14127
+ CopyButtonBelow: CopyButtonBelow$3,
14010
14128
  CopyButtonBelowCustomLabel: CopyButtonBelowCustomLabel,
14011
14129
  Loading: Loading$5,
14012
14130
  CopyButtonLoading: CopyButtonLoading,
@@ -14019,12 +14137,12 @@ const CouponCode$1 = /*#__PURE__*/Object.freeze({
14019
14137
  ErrorRedeemed: ErrorRedeemed
14020
14138
  });
14021
14139
 
14022
- const scenario$B = "@author:noah\n@owner:noah\n\nFeature: Logout Current User\n\n Background:\n Given a user viewing an instant access widget\n\n @motivating\n @ui\n Scenario: A user on an instant access widget\n Given the user is identified\n And the user is logged in\n Then the component identifies the user by displaying their email in an ICU string\n And the users email displayed in the ICU string using hte \"{email}\" variable\n\n @motivating\n @ui\n Scenario: Users can switch who they are identified as through a link\n Given the user is identified\n And the user is logged in\n When the user clicks the link in the component\n Then the saved user identity is emptied\n And they are sent back to the registration form to re-identify themselves\n\n @minutia\n Scenario: Logout link empties the saved User Identity\n Given a valid user identity\n And the user is viewing the \"logged-in\" template\n When they click the logout link\n Then the user identity is set to \"undefined\"\n And the user is returned to the \"logged-out\" template";
14140
+ const scenario$C = "@author:noah\n@owner:noah\n\nFeature: Logout Current User\n\n Background:\n Given a user viewing an instant access widget\n\n @motivating\n @ui\n Scenario: A user on an instant access widget\n Given the user is identified\n And the user is logged in\n Then the component identifies the user by displaying their email in an ICU string\n And the users email displayed in the ICU string using hte \"{email}\" variable\n\n @motivating\n @ui\n Scenario: Users can switch who they are identified as through a link\n Given the user is identified\n And the user is logged in\n When the user clicks the link in the component\n Then the saved user identity is emptied\n And they are sent back to the registration form to re-identify themselves\n\n @minutia\n Scenario: Logout link empties the saved User Identity\n Given a valid user identity\n And the user is viewing the \"logged-in\" template\n When they click the logout link\n Then the user identity is set to \"undefined\"\n And the user is returned to the \"logged-out\" template";
14023
14141
 
14024
14142
  const LogoutCurrentUser_stories = {
14025
14143
  title: "Components/Logout Current User",
14026
14144
  parameters: {
14027
- scenario: scenario$B,
14145
+ scenario: scenario$C,
14028
14146
  },
14029
14147
  };
14030
14148
  const defaultProps$f = {
@@ -14034,22 +14152,22 @@ const defaultProps$f = {
14034
14152
  loading: false,
14035
14153
  emailErrorText: "Error fetching email",
14036
14154
  };
14037
- const Default$f = () => {
14155
+ const Default$g = () => {
14038
14156
  return h(LogoutCurrentUserView, Object.assign({}, defaultProps$f));
14039
14157
  };
14040
14158
 
14041
14159
  const LogoutCurrentUser = /*#__PURE__*/Object.freeze({
14042
14160
  __proto__: null,
14043
14161
  'default': LogoutCurrentUser_stories,
14044
- Default: Default$f
14162
+ Default: Default$g
14045
14163
  });
14046
14164
 
14047
- const scenario$C = "@author:noah\n@owner:noah\n\nFeature: Link Button\n\n\t@ui\n\tScenario: Links can be opened in the same tab\n\t\tWhen a user clicks the button\n\t\tThen a link opens in the same tab\n\t\tAnd if the component is in an iFrame then the link is opened in the parent window not the iFrame\n\n\t@ui\n\tScenario: Links can be opened in a new tab\n\t\tWhen a user clicks the button\n\t\tThen a link opens in a new tab\n\t\tAnd if the component is in an iFrame then the link is still opened in a new tab\n\n\n\t@ui\n\tScenario: Props control the link and button text\n\t\tGiven the \"link\" prop is set to \"https://www.example.com\"\n\t\tAnd the \"buttonText\" prop is set to \"Click me!\"\n\t\tThen a button is shown with the text \"Click me!\"\n\t\tAnd when clicked the button opens https://www.example.com\n\n\t@ui\n\tScenario Outline: The button type can be set\n\t\tGiven the button type is set to <value>\n\t\tThen a <buttonType> is shown\n\t\tExamples:\n\t\t\t| value | buttonType |\n\t\t\t| <null> | primary |\n\t\t\t| default | default |\n\t\t\t| primary | primary |\n\t\t\t| success | success |\n\t\t\t| neutral | neutral |\n\t\t\t| warning | warning |\n\t\t\t| danger | danger |";
14165
+ const scenario$D = "@author:noah\n@owner:noah\n\nFeature: Link Button\n\n\t@ui\n\tScenario: Links can be opened in the same tab\n\t\tWhen a user clicks the button\n\t\tThen a link opens in the same tab\n\t\tAnd if the component is in an iFrame then the link is opened in the parent window not the iFrame\n\n\t@ui\n\tScenario: Links can be opened in a new tab\n\t\tWhen a user clicks the button\n\t\tThen a link opens in a new tab\n\t\tAnd if the component is in an iFrame then the link is still opened in a new tab\n\n\n\t@ui\n\tScenario: Props control the link and button text\n\t\tGiven the \"link\" prop is set to \"https://www.example.com\"\n\t\tAnd the \"buttonText\" prop is set to \"Click me!\"\n\t\tThen a button is shown with the text \"Click me!\"\n\t\tAnd when clicked the button opens https://www.example.com\n\n\t@ui\n\tScenario Outline: The button type can be set\n\t\tGiven the button type is set to <value>\n\t\tThen a <buttonType> is shown\n\t\tExamples:\n\t\t\t| value | buttonType |\n\t\t\t| <null> | primary |\n\t\t\t| default | default |\n\t\t\t| primary | primary |\n\t\t\t| success | success |\n\t\t\t| neutral | neutral |\n\t\t\t| warning | warning |\n\t\t\t| danger | danger |";
14048
14166
 
14049
14167
  const LinkButton_stories = {
14050
14168
  title: "Components/Link Button",
14051
14169
  parameters: {
14052
- scenario: scenario$C,
14170
+ scenario: scenario$D,
14053
14171
  },
14054
14172
  };
14055
14173
  const defaultProps$g = {
@@ -14057,7 +14175,7 @@ const defaultProps$g = {
14057
14175
  openInNewTab: false,
14058
14176
  buttonText: "Button Text",
14059
14177
  };
14060
- const Default$g = () => {
14178
+ const Default$h = () => {
14061
14179
  return h("sqm-link-button", Object.assign({}, defaultProps$g));
14062
14180
  };
14063
14181
  const OpenInNewTab = () => {
@@ -14067,7 +14185,7 @@ const OpenInNewTab = () => {
14067
14185
  const LinkButton = /*#__PURE__*/Object.freeze({
14068
14186
  __proto__: null,
14069
14187
  'default': LinkButton_stories,
14070
- Default: Default$g,
14188
+ Default: Default$h,
14071
14189
  OpenInNewTab: OpenInNewTab
14072
14190
  });
14073
14191
 
@@ -14085,7 +14203,7 @@ const containerStyles = {
14085
14203
  border: "1px solid black",
14086
14204
  padding: "25px",
14087
14205
  };
14088
- const Default$h = () => {
14206
+ const Default$i = () => {
14089
14207
  return h(CloseButtonView, Object.assign({}, defaultProps$h));
14090
14208
  };
14091
14209
  const InAContainer = () => {
@@ -14100,7 +14218,7 @@ const CustomColor$1 = () => {
14100
14218
  const CloseButton = /*#__PURE__*/Object.freeze({
14101
14219
  __proto__: null,
14102
14220
  'default': CloseButton_stories,
14103
- Default: Default$h,
14221
+ Default: Default$i,
14104
14222
  InAContainer: InAContainer,
14105
14223
  CustomColor: CustomColor$1
14106
14224
  });
@@ -14338,7 +14456,7 @@ const Loading$6 = () => {
14338
14456
  },
14339
14457
  } }));
14340
14458
  };
14341
- const Error$9 = () => {
14459
+ const Error$a = () => {
14342
14460
  return (h("sqm-payout-details-card", { demoData: {
14343
14461
  states: {
14344
14462
  error: true,
@@ -14379,7 +14497,7 @@ const PayoutDetailsCard = /*#__PURE__*/Object.freeze({
14379
14497
  __proto__: null,
14380
14498
  'default': PayoutDetailsCard_stories,
14381
14499
  Loading: Loading$6,
14382
- Error: Error$9,
14500
+ Error: Error$a,
14383
14501
  NextPayout: NextPayout,
14384
14502
  PayoutToday: PayoutToday,
14385
14503
  ThresholdPayout: ThresholdPayout,
@@ -14989,6 +15107,82 @@ const UseInvoiceTableCells = /*#__PURE__*/Object.freeze({
14989
15107
  InvoiceTableDemoHook: InvoiceTableDemoHook
14990
15108
  });
14991
15109
 
15110
+ const scenario$E = "@author:sam\n@owner:sam\n\nFeature: Referral Codes Component\n\n A paginated display of available and used promo codes for the user to share with others\n\n @motivating\n Scenario: Promo code can be shared using various share mediums\n Given an authenticated user\n And the program has promo codes configured\n When the promo code section is loaded\n Then the promo code can be copied directly\n And the promo code can be shared using <shareMedium>\n Examples:\n | shareMedium |\n | DIRECT |\n | EMAIL |\n | FBMESSENGER |\n | WHATSAPP |\n\n @minutia\n Scenario: Clicking any of the share mediums sets the code as copied\n Given an authenticated user\n And the program has promo codes configured\n When the promo code section is loaded\n When clicking <shareMedium> button\n Then the code is marked as copied\n And the copied notification text is shown\n Examples:\n | shareMedium |\n | DIRECT |\n | EMAIL |\n | FBMESSENGER |\n | WHATSAPP |\n\n @minutia\n Scenario Outline: User is notified if the currently viewed promo code has been copied already\n Given an authenticated user\n And the program has promo codes configured\n When the promo code section is loaded\n And the code has not been copied already\n Then no notification text is displayed\n When the code is changed to one that has been copied\n Then the <notificationText> is displayed\n Examples:\n | notificationText |\n | You've copied this code before |\n | Previously Copied |\n | foo |\n\n @minutia\n Scenario Outline: Share buttons slots use the link from referral codes instead of the default query\n Given an authenticated user\n And the program has promo codes configured\n And a <shareMedium> button is a child of `<sqm-referral-codes>`\n Then the <shareMedium> button is shown\n And the link uses <promoCode>\n Examples:\n | propName | shareMedium | promoCode |\n | hideSharelink | DIRECT | PROMOCODE1 |\n | hideEmail | EMAIL | PROMOCODE1 |\n | hideFbMessenger | FBMESSENGER | PROMOCODE1 |\n | hideWhatsApp | WHATSAPP | PROMOCODE1 |\n\n @minutia\n Scenario Outline: Number of codes is displayed in the pagination component\n Given an authenticated user\n And the program has promo codes configured\n When the promo code section is loaded\n And the user has <numCodes> available\n And the user is on <currentPage>\n Then the pagination text is <paginationText>\n Examples:\n | numCodes | currentPage | paginationText |\n | 5 | 1 | 1 of 5 |\n | 5 | 2 | 2 of 5 |\n | 5 | 3 | 3 of 5 |\n | 5 | 4 | 4 of 5 |\n | 5 | 5 | 5 of 5 |\n | 1 | 1 | 1 of 1 |\n | 0 | 0 | 0 of 0 |\n\n @minutia\n Scenario: Loading state is shown when changing code page\n Given an authenticated user\n And the program has promo codes configured\n When the promo code section is loaded\n And the user has more than 1 available\n When the next button is clicked\n Then a loading state is shown\n\n\n";
15111
+
15112
+ const ReferralCodes_stories = {
15113
+ title: "Components/Referral Codes",
15114
+ parameters: {
15115
+ scenario: scenario$E,
15116
+ },
15117
+ };
15118
+ const demoData = {
15119
+ titleText: "Start sharing",
15120
+ emptyStateHeaderText: "Your new codes and links aren’t ready yet",
15121
+ emptyStateDescriptionText: "Please contact our program support team to let them know you’re out of codes.",
15122
+ emptyStateImageUrl: "https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_leaderboard2.png",
15123
+ states: {
15124
+ noCodes: false,
15125
+ loading: false,
15126
+ },
15127
+ };
15128
+ const pagination = (slot) => {
15129
+ return h("sqm-pagination", { slot: slot });
15130
+ };
15131
+ const shareButtons = (slot) => {
15132
+ return (h("sqm-portal-container", { gap: "small", slot: slot },
15133
+ h("sqm-share-button", { medium: "email" }, "Share via email"),
15134
+ h("sqm-share-button", { medium: "facebook" }, "Share on Facebook"),
15135
+ h("sqm-share-button", { medium: "whatsapp" }, "Share on WhatsApp")));
15136
+ };
15137
+ const shareCodes = (slot) => {
15138
+ return h("sqm-referral-code", { slot: slot });
15139
+ };
15140
+ const shareCodeWithPreviouslyCopied = (slot) => {
15141
+ return (h("sqm-referral-code", { slot: slot, showNotificationText: true, notificationText: "You\u2019ve copied this before." }));
15142
+ };
15143
+ const ReferralCodes = () => {
15144
+ return (h("sqm-referral-codes", null,
15145
+ pagination("pagination"),
15146
+ shareCodes("shareCodes"),
15147
+ shareButtons("shareButtons")));
15148
+ };
15149
+ const WithPreviouslyCopiedCode = () => {
15150
+ return (h("sqm-referral-codes", null,
15151
+ pagination("pagination"),
15152
+ shareCodeWithPreviouslyCopied("shareCodes"),
15153
+ shareButtons("shareButtons")));
15154
+ };
15155
+ const Empty$3 = () => {
15156
+ return (h("sqm-referral-codes", { demoData: { states: { ...demoData.states, noCodes: true } } },
15157
+ pagination("pagination"),
15158
+ shareCodes("shareCodes"),
15159
+ shareButtons("shareButtons")));
15160
+ };
15161
+ const EmptyWithCustomTextAndImage = () => {
15162
+ return (h("sqm-referral-codes", { emptyStateHeaderText: "Tus nuevos c\u00F3digos y enlaces a\u00FAn no est\u00E1n listos", emptyStateDescriptionText: "Comun\u00EDquese con nuestro equipo de soporte del programa para informarles que no tiene c\u00F3digos.", emptyStateImageUrl: "https://img.freepik.com/free-vector/hand-drawn-no-data-concept_52683-127829.jpg?t=st=1738890457~exp=1738894057~hmac=2f0f32c1f0fc051f47d772a4517e2e4c4f38af5069fb855edc96d8331d9d1329&w=826", demoData: {
15163
+ states: { ...demoData.states, noCodes: true },
15164
+ } },
15165
+ pagination("pagination"),
15166
+ shareCodes("shareCodes"),
15167
+ shareButtons("shareButtons")));
15168
+ };
15169
+ const Loading$7 = () => {
15170
+ return (h("sqm-referral-codes", { demoData: { states: { ...demoData.states, loading: true } } },
15171
+ pagination("pagination"),
15172
+ shareCodes("shareCodes"),
15173
+ shareButtons("shareButtons")));
15174
+ };
15175
+
15176
+ const ReferralCodes$1 = /*#__PURE__*/Object.freeze({
15177
+ __proto__: null,
15178
+ 'default': ReferralCodes_stories,
15179
+ ReferralCodes: ReferralCodes,
15180
+ WithPreviouslyCopiedCode: WithPreviouslyCopiedCode,
15181
+ Empty: Empty$3,
15182
+ EmptyWithCustomTextAndImage: EmptyWithCustomTextAndImage,
15183
+ Loading: Loading$7
15184
+ });
15185
+
14992
15186
  /**
14993
15187
  *
14994
15188
  * Themes
@@ -15001,7 +15195,7 @@ const UseInvoiceTableCells = /*#__PURE__*/Object.freeze({
15001
15195
  *
15002
15196
  */
15003
15197
  //
15004
- const Default$i = `
15198
+ const Default$j = `
15005
15199
  // No CSS
15006
15200
  `;
15007
15201
  const Orangey = `
@@ -15035,7 +15229,7 @@ const Klip = `
15035
15229
 
15036
15230
  const Themes = /*#__PURE__*/Object.freeze({
15037
15231
  __proto__: null,
15038
- Default: Default$i,
15232
+ Default: Default$j,
15039
15233
  Orangey: Orangey,
15040
15234
  Netflix: Netflix,
15041
15235
  SaaSquatchCorporate: SaaSquatchCorporate,
@@ -17634,6 +17828,7 @@ const stories = [
17634
17828
  InvoiceTableCells,
17635
17829
  UseInvoiceTableCells,
17636
17830
  ShareButton,
17831
+ Pagination,
17637
17832
  ShareLink,
17638
17833
  BigStat,
17639
17834
  Leaderboard,
@@ -17702,6 +17897,8 @@ const stories = [
17702
17897
  Tabs,
17703
17898
  ShareCode$1,
17704
17899
  CouponCode$1,
17900
+ ReferralCode$1,
17901
+ ReferralCodes$1,
17705
17902
  LogoutCurrentUser,
17706
17903
  LinkButton,
17707
17904
  EmailRegistration,