@saasquatch/mint-components 1.13.3-0 → 1.13.3

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 (356) hide show
  1. package/dist/cjs/{ShadowViewAddon-3ddee92b.js → ShadowViewAddon-14a02da4.js} +138 -104
  2. package/dist/cjs/{useReferralCodes-82e8797b.js → copy-text-view-a5524c20.js} +93 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/mint-components.cjs.js +1 -1
  5. package/dist/cjs/{sqm-big-stat_39.cjs.entry.js → sqm-big-stat_41.cjs.entry.js} +221 -4
  6. package/dist/cjs/sqm-pagination_3.cjs.entry.js +5 -6
  7. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +1 -1
  8. package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +1 -1
  9. package/dist/cjs/sqm-portal-google-registration-form.cjs.entry.js +1 -1
  10. package/dist/cjs/{sqm-portal-registration-form-view-ebf355a6.js → sqm-portal-registration-form-view-637a4bf4.js} +1 -0
  11. package/dist/cjs/sqm-portal-registration-form.cjs.entry.js +2 -1
  12. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +1 -1
  13. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +1 -1
  14. package/dist/cjs/sqm-stencilbook.cjs.entry.js +469 -382
  15. package/dist/collection/collection-manifest.json +2 -1
  16. package/dist/collection/components/sqm-checkbox-field/CheckboxField.stories.js +1 -1
  17. package/dist/collection/components/sqm-checkbox-field/sqm-checkbox-field-view.js +6 -15
  18. package/dist/collection/components/sqm-checkbox-field/sqm-checkbox-field.js +5 -5
  19. package/dist/collection/components/sqm-marketing-emails-checkbox/MarketingEmailsCheckbox.stories.js +11 -0
  20. package/dist/collection/components/sqm-marketing-emails-checkbox/sqm-marketing-emails-checkbox.js +129 -0
  21. package/dist/collection/components/sqm-portal-change-marketing/ChangeMarketing.stories.js +54 -0
  22. package/dist/collection/components/sqm-portal-change-marketing/sqm-portal-change-marketing-view.js +47 -0
  23. package/dist/collection/components/sqm-portal-change-marketing/sqm-portal-change-marketing.js +217 -0
  24. package/dist/collection/components/sqm-portal-change-marketing/usePortalChangeMarketing.js +115 -0
  25. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +3 -3
  26. package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +3 -3
  27. package/dist/collection/components/sqm-portal-google-registration-form/sqm-portal-google-registration-form.js +2 -2
  28. package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +3 -3
  29. package/dist/collection/components/sqm-portal-registration-form/PortalRegistrationForm.stories.js +4 -0
  30. package/dist/collection/components/sqm-portal-registration-form/sqm-portal-registration-form-view.js +1 -0
  31. package/dist/collection/components/sqm-portal-registration-form/sqm-portal-registration-form.js +3 -2
  32. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +3 -3
  33. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +3 -3
  34. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +6 -0
  35. package/dist/esm/{ShadowViewAddon-d3c11480.js → ShadowViewAddon-23a6afab.js} +140 -107
  36. package/dist/esm/{useReferralCodes-1fdb0d92.js → copy-text-view-459a2e35.js} +95 -3
  37. package/dist/esm/{global-19d115b9.js → global-be1f9992.js} +2 -2
  38. package/dist/esm/{index.module-8553586f.js → index.module-89a79f66.js} +1 -1
  39. package/dist/esm/loader.js +4 -4
  40. package/dist/esm/{luxon-94dbc741.js → luxon-8d51c92b.js} +1 -1
  41. package/dist/esm/mint-components.js +4 -4
  42. package/dist/esm/{mockRewardData-cc9b3ada.js → mockRewardData-8bd1b356.js} +1 -1
  43. package/dist/esm/{re-render-bc2b60fe.js → re-render-cc945f38.js} +2 -2
  44. package/dist/esm/sqm-asset-card.entry.js +2 -2
  45. package/dist/esm/sqm-banking-info-form_17.entry.js +10 -10
  46. package/dist/esm/{sqm-big-stat_39.entry.js → sqm-big-stat_41.entry.js} +230 -15
  47. package/dist/esm/sqm-close-button.entry.js +2 -2
  48. package/dist/esm/sqm-context-router.entry.js +2 -2
  49. package/dist/esm/sqm-email-verification.entry.js +4 -4
  50. package/dist/esm/sqm-empty_4.entry.js +3 -3
  51. package/dist/esm/sqm-form-message.entry.js +1 -1
  52. package/dist/esm/sqm-google-sign-in.entry.js +2 -2
  53. package/dist/esm/sqm-graphql-client-provider.entry.js +2 -2
  54. package/dist/esm/sqm-header-logo.entry.js +1 -1
  55. package/dist/esm/sqm-instant-access-registration.entry.js +4 -4
  56. package/dist/esm/{sqm-invoice-table-view-eb07d994.js → sqm-invoice-table-view-af69cd33.js} +1 -1
  57. package/dist/esm/sqm-leaderboard-rank.entry.js +3 -3
  58. package/dist/esm/sqm-logout-current-user.entry.js +2 -2
  59. package/dist/esm/{sqm-navigation-sidebar-item-view-70b65660.js → sqm-navigation-sidebar-item-view-8f1c72bc.js} +1 -1
  60. package/dist/esm/sqm-navigation-sidebar-item.entry.js +3 -3
  61. package/dist/esm/sqm-navigation-sidebar.entry.js +2 -2
  62. package/dist/esm/sqm-pagination_3.entry.js +4 -5
  63. package/dist/esm/sqm-password-field.entry.js +3 -3
  64. package/dist/esm/sqm-popup-container.entry.js +2 -2
  65. package/dist/esm/{sqm-portal-email-verification-view-84867a42.js → sqm-portal-email-verification-view-35b4353b.js} +1 -1
  66. package/dist/esm/sqm-portal-email-verification.entry.js +5 -5
  67. package/dist/esm/sqm-portal-forgot-password.entry.js +3 -3
  68. package/dist/esm/sqm-portal-google-login.entry.js +3 -3
  69. package/dist/esm/sqm-portal-google-registration-form.entry.js +5 -5
  70. package/dist/esm/sqm-portal-logout.entry.js +2 -2
  71. package/dist/esm/{sqm-portal-profile-view-32088a59.js → sqm-portal-profile-view-93003974.js} +1 -1
  72. package/dist/esm/sqm-portal-profile.entry.js +5 -5
  73. package/dist/esm/sqm-portal-protected-route.entry.js +2 -2
  74. package/dist/esm/{sqm-portal-registration-form-view-32c4b488.js → sqm-portal-registration-form-view-3c1f6000.js} +1 -0
  75. package/dist/esm/sqm-portal-registration-form.entry.js +6 -5
  76. package/dist/esm/sqm-portal-reset-password.entry.js +3 -3
  77. package/dist/esm/sqm-portal-verify-email.entry.js +3 -3
  78. package/dist/esm/sqm-referral-table_11.entry.js +8 -8
  79. package/dist/esm/sqm-referred-registration.entry.js +4 -4
  80. package/dist/esm/sqm-rewards-table-customer-note-cell.entry.js +1 -1
  81. package/dist/esm/sqm-rewards-table-customer-note-column.entry.js +3 -3
  82. package/dist/esm/sqm-rewards-table_9.entry.js +8 -8
  83. package/dist/esm/sqm-scroll.entry.js +1 -1
  84. package/dist/esm/sqm-stencilbook.entry.js +479 -392
  85. package/dist/esm/sqm-tab.entry.js +3 -3
  86. package/dist/esm/sqm-tabs.entry.js +4 -4
  87. package/dist/esm/sqm-text-span.entry.js +1 -1
  88. package/dist/esm/sqm-widget-verification-controller.entry.js +2 -2
  89. package/dist/esm/sqm-widget-verification.entry.js +2 -2
  90. package/dist/esm/{stencil-hooks.module-c643ef4a.js → stencil-hooks.module-4bc38af4.js} +1 -1
  91. package/dist/esm/{useChildElements-cbd0fedf.js → useChildElements-7945ae56.js} +2 -2
  92. package/dist/esm/{useInstantAccessRegistration-06e94ce3.js → useInstantAccessRegistration-dc4ad9f2.js} +3 -3
  93. package/dist/esm/{usePayoutStatus-6701d491.js → usePayoutStatus-58aa56b4.js} +2 -2
  94. package/dist/esm/{usePortalLogin-e6f1ebd1.js → usePortalLogin-ef647a50.js} +2 -2
  95. package/dist/esm/{usePortalRegistrationForm-6f22d7d7.js → usePortalRegistrationForm-4b35a357.js} +3 -3
  96. package/dist/esm/{useReferralTable-055a8849.js → useReferralTable-b3876ed6.js} +4 -4
  97. package/dist/esm/{useRegistrationFormState-7229b088.js → useRegistrationFormState-d6f33135.js} +2 -2
  98. package/dist/esm/{useVerificationEmail-a142db0c.js → useVerificationEmail-edc318cb.js} +2 -2
  99. package/dist/esm/{utilities-559f8273.js → utilities-5b0ca040.js} +2 -2
  100. package/dist/esm-es5/ShadowViewAddon-23a6afab.js +1 -0
  101. package/dist/esm-es5/copy-text-view-459a2e35.js +1 -0
  102. package/dist/esm-es5/{global-19d115b9.js → global-be1f9992.js} +1 -1
  103. package/dist/esm-es5/{index.module-8553586f.js → index.module-89a79f66.js} +1 -1
  104. package/dist/esm-es5/loader.js +1 -1
  105. package/dist/esm-es5/{luxon-94dbc741.js → luxon-8d51c92b.js} +1 -1
  106. package/dist/esm-es5/mint-components.js +1 -1
  107. package/dist/esm-es5/{mockRewardData-cc9b3ada.js → mockRewardData-8bd1b356.js} +1 -1
  108. package/dist/esm-es5/{re-render-bc2b60fe.js → re-render-cc945f38.js} +1 -1
  109. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  110. package/dist/esm-es5/sqm-banking-info-form_17.entry.js +1 -1
  111. package/dist/esm-es5/sqm-big-stat_41.entry.js +1 -0
  112. package/dist/esm-es5/sqm-close-button.entry.js +1 -1
  113. package/dist/esm-es5/sqm-context-router.entry.js +1 -1
  114. package/dist/esm-es5/sqm-email-verification.entry.js +1 -1
  115. package/dist/esm-es5/sqm-empty_4.entry.js +1 -1
  116. package/dist/esm-es5/sqm-form-message.entry.js +1 -1
  117. package/dist/esm-es5/sqm-google-sign-in.entry.js +1 -1
  118. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  119. package/dist/esm-es5/sqm-header-logo.entry.js +1 -1
  120. package/dist/esm-es5/sqm-instant-access-registration.entry.js +1 -1
  121. package/dist/esm-es5/{sqm-invoice-table-view-eb07d994.js → sqm-invoice-table-view-af69cd33.js} +1 -1
  122. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  123. package/dist/esm-es5/sqm-logout-current-user.entry.js +1 -1
  124. package/dist/esm-es5/{sqm-navigation-sidebar-item-view-70b65660.js → sqm-navigation-sidebar-item-view-8f1c72bc.js} +1 -1
  125. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  126. package/dist/esm-es5/sqm-navigation-sidebar.entry.js +1 -1
  127. package/dist/esm-es5/sqm-pagination_3.entry.js +1 -1
  128. package/dist/esm-es5/sqm-password-field.entry.js +1 -1
  129. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  130. package/dist/esm-es5/{sqm-portal-email-verification-view-84867a42.js → sqm-portal-email-verification-view-35b4353b.js} +1 -1
  131. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  132. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  133. package/dist/esm-es5/sqm-portal-google-login.entry.js +1 -1
  134. package/dist/esm-es5/sqm-portal-google-registration-form.entry.js +1 -1
  135. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  136. package/dist/esm-es5/{sqm-portal-profile-view-32088a59.js → sqm-portal-profile-view-93003974.js} +1 -1
  137. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  138. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  139. package/dist/esm-es5/{sqm-portal-registration-form-view-32c4b488.js → sqm-portal-registration-form-view-3c1f6000.js} +1 -1
  140. package/dist/esm-es5/sqm-portal-registration-form.entry.js +1 -1
  141. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  142. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  143. package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
  144. package/dist/esm-es5/sqm-referred-registration.entry.js +1 -1
  145. package/dist/esm-es5/sqm-rewards-table-customer-note-cell.entry.js +1 -1
  146. package/dist/esm-es5/sqm-rewards-table-customer-note-column.entry.js +1 -1
  147. package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
  148. package/dist/esm-es5/sqm-scroll.entry.js +1 -1
  149. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  150. package/dist/esm-es5/sqm-tab.entry.js +1 -1
  151. package/dist/esm-es5/sqm-tabs.entry.js +1 -1
  152. package/dist/esm-es5/sqm-text-span.entry.js +1 -1
  153. package/dist/esm-es5/sqm-widget-verification-controller.entry.js +1 -1
  154. package/dist/esm-es5/sqm-widget-verification.entry.js +1 -1
  155. package/dist/esm-es5/{stencil-hooks.module-c643ef4a.js → stencil-hooks.module-4bc38af4.js} +1 -1
  156. package/dist/esm-es5/useChildElements-7945ae56.js +1 -0
  157. package/dist/esm-es5/{useInstantAccessRegistration-06e94ce3.js → useInstantAccessRegistration-dc4ad9f2.js} +1 -1
  158. package/dist/esm-es5/{usePayoutStatus-6701d491.js → usePayoutStatus-58aa56b4.js} +1 -1
  159. package/dist/esm-es5/{usePortalLogin-e6f1ebd1.js → usePortalLogin-ef647a50.js} +1 -1
  160. package/dist/esm-es5/{usePortalRegistrationForm-6f22d7d7.js → usePortalRegistrationForm-4b35a357.js} +1 -1
  161. package/dist/esm-es5/{useReferralTable-055a8849.js → useReferralTable-b3876ed6.js} +1 -1
  162. package/dist/esm-es5/{useRegistrationFormState-7229b088.js → useRegistrationFormState-d6f33135.js} +1 -1
  163. package/dist/esm-es5/{useVerificationEmail-a142db0c.js → useVerificationEmail-edc318cb.js} +1 -1
  164. package/dist/esm-es5/{utilities-559f8273.js → utilities-5b0ca040.js} +1 -1
  165. package/dist/mint-components/mint-components.esm.js +1 -1
  166. package/dist/mint-components/mint-components.js +1 -1
  167. package/dist/mint-components/{p-afbe1fab.entry.js → p-00ed4c2e.entry.js} +1 -1
  168. package/dist/mint-components/{p-8052a165.entry.js → p-01010af0.entry.js} +34 -17
  169. package/dist/mint-components/{p-4d4c3fda.entry.js → p-04a6e457.entry.js} +1 -1
  170. package/dist/mint-components/{p-46361336.js → p-05f29f64.js} +1 -1
  171. package/dist/mint-components/{p-b509682c.system.js → p-0d182dc1.system.js} +1 -1
  172. package/dist/mint-components/{p-d270c7a9.entry.js → p-0d2d0b6d.entry.js} +1 -1
  173. package/dist/mint-components/{p-ff45a502.entry.js → p-10d17989.entry.js} +1 -1
  174. package/dist/mint-components/{p-05910568.system.js → p-13ed8586.system.js} +1 -1
  175. package/dist/mint-components/p-141bf5c1.system.entry.js +1 -0
  176. package/dist/mint-components/p-1513309d.entry.js +1 -0
  177. package/dist/mint-components/{p-4a332d4a.system.entry.js → p-164a9103.system.entry.js} +1 -1
  178. package/dist/mint-components/{p-7edd349f.system.entry.js → p-18425f38.system.entry.js} +1 -1
  179. package/dist/mint-components/{p-dd5380e7.system.entry.js → p-19bc3406.system.entry.js} +1 -1
  180. package/dist/mint-components/p-19ccb4ce.js +1 -0
  181. package/dist/mint-components/{p-b8c8a7a2.entry.js → p-1a6b7d2a.entry.js} +1 -1
  182. package/dist/mint-components/{p-019a9a23.system.entry.js → p-1b3ab15a.system.entry.js} +1 -1
  183. package/dist/mint-components/p-1fa9ed0d.system.entry.js +1 -0
  184. package/dist/mint-components/{p-b8c2452e.system.entry.js → p-21620f81.system.entry.js} +1 -1
  185. package/dist/mint-components/p-275b4767.entry.js +1 -0
  186. package/dist/mint-components/{p-f4b9d88e.entry.js → p-284e4ed5.entry.js} +1 -1
  187. package/dist/mint-components/{p-3107ff75.entry.js → p-2ae0e06a.entry.js} +1 -1
  188. package/dist/mint-components/{p-fea93ffb.entry.js → p-2bbff88f.entry.js} +1 -1
  189. package/dist/mint-components/{p-e0b16d7d.system.js → p-2d52e2d7.system.js} +1 -1
  190. package/dist/mint-components/{p-6b2b1f57.entry.js → p-2da21ba4.entry.js} +1 -1
  191. package/dist/mint-components/{p-35a1395e.entry.js → p-2f101bae.entry.js} +1 -1
  192. package/dist/mint-components/p-301ddcaa.system.entry.js +1 -0
  193. package/dist/mint-components/{p-206d5653.entry.js → p-33c96e14.entry.js} +1 -1
  194. package/dist/mint-components/p-33ed6f1c.system.entry.js +1 -0
  195. package/dist/mint-components/{p-793d3aa3.system.entry.js → p-36ffebd8.system.entry.js} +1 -1
  196. package/dist/mint-components/p-37996351.system.js +1 -0
  197. package/dist/mint-components/{p-a8e635c8.entry.js → p-380bfde1.entry.js} +1 -1
  198. package/dist/mint-components/p-38b5f028.system.entry.js +1 -0
  199. package/dist/mint-components/p-38fc919b.entry.js +1 -0
  200. package/dist/mint-components/{p-5b65ad93.js → p-3db34d68.js} +1 -1
  201. package/dist/mint-components/{p-113a3397.system.entry.js → p-3f6e0197.system.entry.js} +1 -1
  202. package/dist/mint-components/{p-24168eeb.system.entry.js → p-420554af.system.entry.js} +1 -1
  203. package/dist/mint-components/{p-76734619.system.entry.js → p-42187319.system.entry.js} +1 -1
  204. package/dist/mint-components/{p-ebdf4e46.entry.js → p-4428294b.entry.js} +1 -1
  205. package/dist/mint-components/{p-568239eb.entry.js → p-44891949.entry.js} +1 -1
  206. package/dist/mint-components/{p-78a1029d.js → p-480e08e9.js} +1 -1
  207. package/dist/mint-components/{p-c9246591.system.js → p-48135f99.system.js} +1 -1
  208. package/dist/mint-components/{p-32e46793.js → p-4e451f75.js} +1 -1
  209. package/dist/mint-components/{p-3197b1e1.js → p-4e526a94.js} +1 -1
  210. package/dist/mint-components/{p-bebdae4a.system.entry.js → p-50c902ca.system.entry.js} +1 -1
  211. package/dist/mint-components/{p-84ebf29b.system.js → p-527216de.system.js} +1 -1
  212. package/dist/mint-components/{p-073cc02e.system.js → p-5488fdd9.system.js} +1 -1
  213. package/dist/mint-components/{p-00af0a40.system.js → p-59274a91.system.js} +1 -1
  214. package/dist/mint-components/{p-8b5a132d.js → p-5bedb58c.js} +1 -1
  215. package/dist/mint-components/{p-b885bf6a.system.entry.js → p-5c28406d.system.entry.js} +1 -1
  216. package/dist/mint-components/{p-c123040c.system.entry.js → p-5d7e308c.system.entry.js} +1 -1
  217. package/dist/mint-components/{p-2147f338.system.js → p-635d5ef2.system.js} +1 -1
  218. package/dist/mint-components/{p-f831af31.js → p-63a75798.js} +1 -1
  219. package/dist/mint-components/{p-2c521ce3.entry.js → p-6427e963.entry.js} +1 -1
  220. package/dist/mint-components/{p-a1ace139.js → p-65069b66.js} +1 -1
  221. package/dist/mint-components/{p-a1d63380.entry.js → p-653f963f.entry.js} +2 -2
  222. package/dist/mint-components/{p-b017802f.entry.js → p-693942df.entry.js} +2 -2
  223. package/dist/mint-components/{p-1d761b72.system.js → p-6b7a595f.system.js} +1 -1
  224. package/dist/mint-components/{p-9b01c219.system.js → p-6cd4f2b1.system.js} +1 -1
  225. package/dist/mint-components/{p-4831eb49.js → p-6d2f5a1d.js} +2 -2
  226. package/dist/mint-components/{p-2bcc52ff.system.js → p-6d9e52c7.system.js} +1 -1
  227. package/dist/mint-components/p-6eaf9c57.entry.js +1 -0
  228. package/dist/mint-components/p-717cc8ac.system.js +1 -0
  229. package/dist/mint-components/p-71bc04d2.system.entry.js +1 -0
  230. package/dist/mint-components/{p-f4125c66.js → p-726a9924.js} +1 -1
  231. package/dist/mint-components/{p-fb1f75dc.entry.js → p-775f3ded.entry.js} +1 -1
  232. package/dist/mint-components/{p-84a0679b.entry.js → p-7ab21e4d.entry.js} +1 -1
  233. package/dist/mint-components/{p-8d60f98e.system.js → p-7c2b9fe4.system.js} +1 -1
  234. package/dist/mint-components/{p-bfe3fc89.system.entry.js → p-7dabdca6.system.entry.js} +1 -1
  235. package/dist/mint-components/p-7e7cbccf.system.js +1 -0
  236. package/dist/mint-components/p-7f2d4212.js +52 -0
  237. package/dist/mint-components/{p-9966e72f.entry.js → p-7f80a9d7.entry.js} +1 -1
  238. package/dist/mint-components/{p-1881b80d.system.js → p-8175e85f.system.js} +1 -1
  239. package/dist/mint-components/{p-f78ecf4d.system.entry.js → p-8362cb4c.system.entry.js} +1 -1
  240. package/dist/mint-components/{p-feaa7733.system.js → p-8413ade9.system.js} +1 -1
  241. package/dist/mint-components/{p-f59a57a9.system.entry.js → p-85671c3d.system.entry.js} +1 -1
  242. package/dist/mint-components/p-8abfeff8.entry.js +1 -0
  243. package/dist/mint-components/p-8c23d1b8.js +1 -0
  244. package/dist/mint-components/{p-0cb94e55.system.entry.js → p-8d9d04b7.system.entry.js} +1 -1
  245. package/dist/mint-components/{p-7875a307.system.entry.js → p-90fc6774.system.entry.js} +1 -1
  246. package/dist/mint-components/{p-793d2130.js → p-91ab3da1.js} +1 -1
  247. package/dist/mint-components/{p-4a9f4710.system.js → p-9320582e.system.js} +1 -1
  248. package/dist/mint-components/{p-1f6203f6.system.entry.js → p-9386ad84.system.entry.js} +1 -1
  249. package/dist/mint-components/{p-134884eb.js → p-94a876b9.js} +1 -1
  250. package/dist/mint-components/{p-8e7dbf3d.js → p-962f3200.js} +1 -1
  251. package/dist/mint-components/p-98698131.js +1 -0
  252. package/dist/mint-components/{p-de97f736.system.entry.js → p-9b6a0152.system.entry.js} +1 -1
  253. package/dist/mint-components/{p-153fe35e.system.entry.js → p-9bfd9bed.system.entry.js} +1 -1
  254. package/dist/mint-components/{p-a4bed343.system.entry.js → p-9cf80e85.system.entry.js} +1 -1
  255. package/dist/mint-components/{p-4d62fce5.entry.js → p-a2fde301.entry.js} +1 -1
  256. package/dist/mint-components/{p-9bbe1a0a.system.js → p-a71b9154.system.js} +1 -1
  257. package/dist/mint-components/p-b207beeb.entry.js +1 -0
  258. package/dist/mint-components/{p-889ac146.system.entry.js → p-b287833c.system.entry.js} +1 -1
  259. package/dist/mint-components/{p-adbde540.entry.js → p-b51e79b3.entry.js} +3 -3
  260. package/dist/mint-components/{p-3af19e46.system.entry.js → p-b7d1469d.system.entry.js} +1 -1
  261. package/dist/mint-components/{p-a0f61b8d.system.entry.js → p-b82e1935.system.entry.js} +1 -1
  262. package/dist/mint-components/{p-9b37f5cb.system.entry.js → p-b93fd99c.system.entry.js} +1 -1
  263. package/dist/mint-components/{p-283588d9.js → p-bbcd824a.js} +1 -1
  264. package/dist/mint-components/{p-4edcc7dd.system.js → p-bdb7d451.system.js} +1 -1
  265. package/dist/mint-components/{p-f33a2774.system.entry.js → p-c060f770.system.entry.js} +1 -1
  266. package/dist/mint-components/{p-bc12e9a4.js → p-c0f19490.js} +2 -2
  267. package/dist/mint-components/{p-949c8454.system.entry.js → p-c2fdd608.system.entry.js} +1 -1
  268. package/dist/mint-components/{p-86685076.system.entry.js → p-c36506f6.system.entry.js} +1 -1
  269. package/dist/mint-components/{p-2858d87a.entry.js → p-cb7bdbe4.entry.js} +1 -1
  270. package/dist/mint-components/{p-03b8a4b6.entry.js → p-cbbfac66.entry.js} +1 -1
  271. package/dist/mint-components/{p-e868baa2.system.js → p-cc7af682.system.js} +1 -1
  272. package/dist/mint-components/{p-033f460e.system.js → p-cd569259.system.js} +1 -1
  273. package/dist/mint-components/{p-f561fbbe.js → p-cd651f81.js} +1 -1
  274. package/dist/mint-components/{p-65ab288b.entry.js → p-d07f3090.entry.js} +1 -1
  275. package/dist/mint-components/p-d3d74266.js +394 -0
  276. package/dist/mint-components/{p-e75be0ce.js → p-d6831af5.js} +2 -2
  277. package/dist/mint-components/{p-c876e133.entry.js → p-da7708a7.entry.js} +1 -1
  278. package/dist/mint-components/{p-1e5685b1.entry.js → p-dcc81e90.entry.js} +1 -1
  279. package/dist/mint-components/{p-45df37c4.system.entry.js → p-de8e9981.system.entry.js} +1 -1
  280. package/dist/mint-components/{p-e1e8ce01.system.entry.js → p-e5a5ae7f.system.entry.js} +1 -1
  281. package/dist/mint-components/{p-bb0f585c.system.js → p-e5d0375e.system.js} +1 -1
  282. package/dist/mint-components/{p-5bd1129c.entry.js → p-e6f50ffd.entry.js} +1 -1
  283. package/dist/mint-components/{p-917daa81.entry.js → p-e8ffcc68.entry.js} +2 -2
  284. package/dist/mint-components/{p-6bc6b98a.system.entry.js → p-f0772618.system.entry.js} +1 -1
  285. package/dist/mint-components/{p-9ba03826.entry.js → p-f29eda2f.entry.js} +1 -1
  286. package/dist/mint-components/p-f2cc6a6f.entry.js +9 -0
  287. package/dist/mint-components/{p-1a9efc82.system.entry.js → p-f2d8d3d3.system.entry.js} +1 -1
  288. package/dist/mint-components/{p-945fc728.system.entry.js → p-f4a72903.system.entry.js} +1 -1
  289. package/dist/mint-components/{p-4d744c56.system.entry.js → p-f4a8ee29.system.entry.js} +1 -1
  290. package/dist/mint-components/{p-46411968.system.entry.js → p-fa37513e.system.entry.js} +1 -1
  291. package/dist/mint-components/{p-6c962bcd.entry.js → p-faba3198.entry.js} +1 -1
  292. package/dist/mint-components/{p-acb16e2d.entry.js → p-fe2e2f4a.entry.js} +1 -1
  293. package/dist/mint-components/p-ff8b8067.entry.js +33 -0
  294. package/dist/types/components/sqm-checkbox-field/sqm-checkbox-field-view.d.ts +1 -1
  295. package/dist/types/components/sqm-checkbox-field/sqm-checkbox-field.d.ts +4 -4
  296. package/dist/types/components/sqm-marketing-emails-checkbox/MarketingEmailsCheckbox.stories.d.ts +8 -0
  297. package/dist/types/components/sqm-marketing-emails-checkbox/sqm-marketing-emails-checkbox.d.ts +27 -0
  298. package/dist/types/components/sqm-portal-change-marketing/ChangeMarketing.stories.d.ts +8 -0
  299. package/dist/types/components/sqm-portal-change-marketing/sqm-portal-change-marketing-view.d.ts +28 -0
  300. package/dist/types/components/sqm-portal-change-marketing/sqm-portal-change-marketing.d.ts +39 -0
  301. package/dist/types/components/sqm-portal-change-marketing/usePortalChangeMarketing.d.ts +3 -0
  302. package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +1 -1
  303. package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +1 -1
  304. package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +1 -1
  305. package/dist/types/components/sqm-portal-registration-form/PortalRegistrationForm.stories.d.ts +1 -0
  306. package/dist/types/components/sqm-portal-registration-form/sqm-portal-registration-form-view.d.ts +1 -0
  307. package/dist/types/components/sqm-portal-registration-form/sqm-portal-registration-form.d.ts +1 -1
  308. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +1 -1
  309. package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +1 -1
  310. package/dist/types/components.d.ts +130 -26
  311. package/docs/docs.docx +0 -0
  312. package/docs/raisins.json +1 -1
  313. package/grapesjs/grapesjs.js +1 -1
  314. package/package.json +1 -1
  315. package/dist/cjs/copy-text-view-c85acaaa.js +0 -96
  316. package/dist/cjs/sqm-qr-code.cjs.entry.js +0 -66
  317. package/dist/collection/components/sqm-qr-code/sqm-qr-code.js +0 -67
  318. package/dist/esm/copy-text-view-782137ba.js +0 -94
  319. package/dist/esm/sqm-qr-code.entry.js +0 -62
  320. package/dist/esm-es5/ShadowViewAddon-d3c11480.js +0 -1
  321. package/dist/esm-es5/copy-text-view-782137ba.js +0 -1
  322. package/dist/esm-es5/sqm-big-stat_39.entry.js +0 -1
  323. package/dist/esm-es5/sqm-qr-code.entry.js +0 -1
  324. package/dist/esm-es5/useChildElements-cbd0fedf.js +0 -1
  325. package/dist/esm-es5/useReferralCodes-1fdb0d92.js +0 -1
  326. package/dist/mint-components/p-04eda48e.entry.js +0 -1
  327. package/dist/mint-components/p-0b00b770.system.entry.js +0 -1
  328. package/dist/mint-components/p-13ed46c5.entry.js +0 -9
  329. package/dist/mint-components/p-2175e4c3.js +0 -1
  330. package/dist/mint-components/p-27f35214.system.entry.js +0 -1
  331. package/dist/mint-components/p-2c16f513.system.js +0 -1
  332. package/dist/mint-components/p-2cae23f1.system.js +0 -1
  333. package/dist/mint-components/p-30efd193.js +0 -52
  334. package/dist/mint-components/p-31015791.js +0 -1
  335. package/dist/mint-components/p-3b0d6e3d.system.js +0 -1
  336. package/dist/mint-components/p-3b90e01b.system.js +0 -1
  337. package/dist/mint-components/p-5800426e.system.entry.js +0 -1
  338. package/dist/mint-components/p-5fc6c6eb.js +0 -394
  339. package/dist/mint-components/p-621092ee.js +0 -1
  340. package/dist/mint-components/p-786d3e9a.entry.js +0 -1
  341. package/dist/mint-components/p-95e8f60d.entry.js +0 -1
  342. package/dist/mint-components/p-9b0c175c.entry.js +0 -1
  343. package/dist/mint-components/p-a18b8466.entry.js +0 -33
  344. package/dist/mint-components/p-a6d84577.system.entry.js +0 -1
  345. package/dist/mint-components/p-b7991001.entry.js +0 -1
  346. package/dist/mint-components/p-bdbf5f74.entry.js +0 -13
  347. package/dist/mint-components/p-d5cceea8.entry.js +0 -1
  348. package/dist/mint-components/p-d9b93305.system.entry.js +0 -1
  349. package/dist/mint-components/p-e847a6f5.system.entry.js +0 -1
  350. package/dist/mint-components/p-e9a14ca4.system.entry.js +0 -1
  351. package/dist/mint-components/p-fe268f9d.js +0 -1
  352. package/dist/types/components/sqm-qr-code/sqm-qr-code.d.ts +0 -5
  353. package/dist/types/global/android.d.ts +0 -7
  354. package/dist/types/global/demo.d.ts +0 -2
  355. package/dist/types/stories/features.d.ts +0 -4
  356. package/dist/types/stories/templates.d.ts +0 -4
@@ -46,12 +46,14 @@
46
46
  "./components/sqm-leaderboard-rank/sqm-leaderboard-rank.js",
47
47
  "./components/sqm-link-button/sqm-link-button.js",
48
48
  "./components/sqm-logout-current-user/sqm-logout-current-user.js",
49
+ "./components/sqm-marketing-emails-checkbox/sqm-marketing-emails-checkbox.js",
49
50
  "./components/sqm-name-fields/sqm-name-fields.js",
50
51
  "./components/sqm-navigation-menu/sqm-navigation-menu.js",
51
52
  "./components/sqm-navigation-sidebar/sqm-navigation-sidebar.js",
52
53
  "./components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item.js",
53
54
  "./components/sqm-payout-button-scroll/sqm-payout-button-scroll.js",
54
55
  "./components/sqm-popup-container/sqm-popup-container.js",
56
+ "./components/sqm-portal-change-marketing/sqm-portal-change-marketing.js",
55
57
  "./components/sqm-portal-change-password/sqm-portal-change-password.js",
56
58
  "./components/sqm-portal-container/sqm-portal-container.js",
57
59
  "./components/sqm-portal-email-verification/sqm-portal-email-verification.js",
@@ -70,7 +72,6 @@
70
72
  "./components/sqm-program-explainer/sqm-program-explainer.js",
71
73
  "./components/sqm-program-explainer-step/sqm-program-explainer-step.js",
72
74
  "./components/sqm-program-menu/sqm-program-menu.js",
73
- "./components/sqm-qr-code/sqm-qr-code.js",
74
75
  "./components/sqm-referral-card/sqm-referral-card.js",
75
76
  "./components/sqm-referral-code/sqm-referral-code.js",
76
77
  "./components/sqm-referral-iframe/sqm-referral-iframe.js",
@@ -17,7 +17,7 @@ const defaultProps = {
17
17
  checked: false,
18
18
  },
19
19
  content: {
20
- checkboxName: "agree",
20
+ checkboxName: "terms",
21
21
  checkboxLabel: "By signing up you agree to the {labelLink}",
22
22
  checkboxLabelLink: "https://example.com",
23
23
  checkboxLabelLinkText: "Terms and Conditions",
@@ -54,19 +54,10 @@ export function CheckboxFieldView(props) {
54
54
  h("sl-checkbox", Object.assign({ exportparts: "label: input-label, base: input-base", name: `/${content.checkboxName}`, checked: states.checked, "onSl-change": (e) => {
55
55
  e.target.value = e.target.checked;
56
56
  callbacks.setChecked(e.target.value);
57
- } }, (!content.checkboxOptional ? { required: true } : []), { disabled: ((_b = states.registrationFormState) === null || _b === void 0 ? void 0 : _b.loading) || ((_c = states.registrationFormState) === null || _c === void 0 ? void 0 : _c.disabled) }, (!states.checked && (validationErrors === null || validationErrors === void 0 ? void 0 : validationErrors[content.checkboxName])
58
- ? {
59
- class: sheet.classes.ErrorStyle,
60
- }
61
- : [])),
62
- intl.formatMessage({
63
- id: content.checkboxName + "-message",
64
- defaultMessage: content.checkboxLabel,
65
- }, {
66
- labelLink: (h("a", { href: content.checkboxLabelLink, target: "_blank" }, content.checkboxLabelLinkText || content.checkboxLabelLink)),
67
- }),
68
- !states.checked && (validationErrors === null || validationErrors === void 0 ? void 0 : validationErrors[content.checkboxName]) && (h("p", { class: sheet.classes.ErrorMessageStyle }, intl.formatMessage({
69
- id: `errorMessage-${content.checkboxName}`,
70
- defaultMessage: content.errorMessage,
71
- }))))));
57
+ } }, (!content.checkboxOptional ? { required: false } : []), { disabled: ((_b = states.registrationFormState) === null || _b === void 0 ? void 0 : _b.loading) || ((_c = states.registrationFormState) === null || _c === void 0 ? void 0 : _c.disabled), required: false }), intl.formatMessage({
58
+ id: content.checkboxName + "-message",
59
+ defaultMessage: content.checkboxLabel,
60
+ }, {
61
+ labelLink: (h("a", { href: content.checkboxLabelLink, target: "_blank" }, content.checkboxLabelLinkText || content.checkboxLabelLink)),
62
+ }))));
72
63
  }
@@ -10,7 +10,7 @@ import { useCheckboxField } from "./useCheckboxField";
10
10
  * @uiName Form Checkbox Field
11
11
  * @validParents ["sqm-portal-register","sqm-portal-registration-form"]
12
12
  * @exampleGroup Microsite Components
13
- * @example Form Checkbox Field - <sqm-checkbox-field checkbox-label="By signing up you agree to the {labelLink}" checkbox-label-link="https://example.com" checkbox-label-link-text="Terms and Conditions" error-message="Must be checked" ></sqm-checkbox-field>
13
+ * @example Form Checkbox Field - <sqm-checkbox-field checkbox-name="terms" checkbox-label="By signing up you agree to the {labelLink}" checkbox-label-link="https://example.com" checkbox-label-link-text="Terms and Conditions" error-message="Must be checked" ></sqm-checkbox-field>
14
14
  */
15
15
  export class CheckboxField {
16
16
  constructor() {
@@ -117,7 +117,7 @@ export class CheckboxField {
117
117
  "references": {}
118
118
  },
119
119
  "required": false,
120
- "optional": false,
120
+ "optional": true,
121
121
  "docs": {
122
122
  "tags": [{
123
123
  "text": "Checkbox label link",
@@ -138,7 +138,7 @@ export class CheckboxField {
138
138
  "references": {}
139
139
  },
140
140
  "required": false,
141
- "optional": false,
141
+ "optional": true,
142
142
  "docs": {
143
143
  "tags": [{
144
144
  "text": "Checkbox label link lext",
@@ -159,7 +159,7 @@ export class CheckboxField {
159
159
  "references": {}
160
160
  },
161
161
  "required": false,
162
- "optional": false,
162
+ "optional": true,
163
163
  "docs": {
164
164
  "tags": [{
165
165
  "text": "Unchecked error message",
@@ -197,7 +197,7 @@ export class CheckboxField {
197
197
  "mutable": false,
198
198
  "complexType": {
199
199
  "original": "DemoData<CheckboxFieldViewProps>",
200
- "resolved": "{ states?: { registrationFormState?: RegistrationFormState; checked: boolean; }; content?: { checkboxName: string; checkboxLabel: string; checkboxLabelLink?: string; checkboxLabelLinkText?: string; checkboxOptional?: boolean; errorMessage: string; }; }",
200
+ "resolved": "{ states?: { registrationFormState?: RegistrationFormState; checked: boolean; }; content?: { checkboxName: string; checkboxLabel: string; checkboxLabelLink?: string; checkboxLabelLinkText?: string; checkboxOptional?: boolean; errorMessage?: string; }; }",
201
201
  "references": {
202
202
  "DemoData": {
203
203
  "location": "import",
@@ -0,0 +1,11 @@
1
+ import { h } from "@stencil/core";
2
+ import scenario from "./sqm-marketing-emails-checkbox.feature";
3
+ export default {
4
+ title: "Components/Marketing Emails Checkbox",
5
+ parameters: {
6
+ scenario,
7
+ },
8
+ };
9
+ export const Default = () => {
10
+ return h("sqm-marketing-emails-checkbox", null);
11
+ };
@@ -0,0 +1,129 @@
1
+ import { isDemo } from "@saasquatch/component-boilerplate";
2
+ import { withHooks } from "@saasquatch/stencil-hooks";
3
+ import { Component, h, Prop, State } from "@stencil/core";
4
+ import deepmerge from "deepmerge";
5
+ import { getProps } from "../../utils/utils";
6
+ import { CheckboxFieldView, } from "../sqm-checkbox-field/sqm-checkbox-field-view";
7
+ import { useCheckboxField } from "../sqm-checkbox-field/useCheckboxField";
8
+ /**
9
+ * @uiName Marketing Emails Checkbox Field
10
+ * @validParents ["sqm-portal-register","sqm-portal-registration-form"]
11
+ * @requiredFeatures ["MARKETING_EMAILS"]
12
+ */
13
+ export class MarketingEmailsCheckbox {
14
+ constructor() {
15
+ this.ignored = true;
16
+ /**
17
+ * @uiName Checkbox label
18
+ * @uiWidget textArea
19
+ */
20
+ this.checkboxLabel = "I would like to receive marketing and promotional emails for this referral program";
21
+ /**
22
+ * @undocumented
23
+ */
24
+ this.checkboxName = "marketingEmailOptIn";
25
+ withHooks(this);
26
+ }
27
+ disconnectedCallback() { }
28
+ render() {
29
+ const content = {
30
+ ...getProps(this),
31
+ };
32
+ const { states, callbacks } = isDemo()
33
+ ? useCheckboxFieldDemo(this)
34
+ : useCheckboxField(this);
35
+ return (h(CheckboxFieldView, { states: states, content: content, callbacks: callbacks }));
36
+ }
37
+ static get is() { return "sqm-marketing-emails-checkbox"; }
38
+ static get properties() { return {
39
+ "checkboxLabel": {
40
+ "type": "string",
41
+ "mutable": false,
42
+ "complexType": {
43
+ "original": "string",
44
+ "resolved": "string",
45
+ "references": {}
46
+ },
47
+ "required": false,
48
+ "optional": false,
49
+ "docs": {
50
+ "tags": [{
51
+ "text": "Checkbox label",
52
+ "name": "uiName"
53
+ }, {
54
+ "text": "textArea",
55
+ "name": "uiWidget"
56
+ }],
57
+ "text": ""
58
+ },
59
+ "attribute": "checkbox-label",
60
+ "reflect": false,
61
+ "defaultValue": "\"I would like to receive marketing and promotional emails for this referral program\""
62
+ },
63
+ "checkboxName": {
64
+ "type": "string",
65
+ "mutable": false,
66
+ "complexType": {
67
+ "original": "string",
68
+ "resolved": "string",
69
+ "references": {}
70
+ },
71
+ "required": false,
72
+ "optional": false,
73
+ "docs": {
74
+ "tags": [{
75
+ "text": undefined,
76
+ "name": "undocumented"
77
+ }],
78
+ "text": ""
79
+ },
80
+ "attribute": "checkbox-name",
81
+ "reflect": false,
82
+ "defaultValue": "\"marketingEmailOptIn\""
83
+ },
84
+ "demoData": {
85
+ "type": "unknown",
86
+ "mutable": false,
87
+ "complexType": {
88
+ "original": "DemoData<CheckboxFieldViewProps>",
89
+ "resolved": "{ states?: { registrationFormState?: RegistrationFormState; checked: boolean; }; content?: { checkboxName: string; checkboxLabel: string; checkboxLabelLink?: string; checkboxLabelLinkText?: string; checkboxOptional?: boolean; errorMessage?: string; }; }",
90
+ "references": {
91
+ "DemoData": {
92
+ "location": "import",
93
+ "path": "../../global/demo"
94
+ },
95
+ "CheckboxFieldViewProps": {
96
+ "location": "import",
97
+ "path": "../sqm-checkbox-field/sqm-checkbox-field-view"
98
+ }
99
+ }
100
+ },
101
+ "required": false,
102
+ "optional": true,
103
+ "docs": {
104
+ "tags": [{
105
+ "text": undefined,
106
+ "name": "undocumented"
107
+ }, {
108
+ "text": "object",
109
+ "name": "uiType"
110
+ }],
111
+ "text": ""
112
+ }
113
+ }
114
+ }; }
115
+ static get states() { return {
116
+ "ignored": {}
117
+ }; }
118
+ }
119
+ function useCheckboxFieldDemo(props) {
120
+ return deepmerge({
121
+ states: {
122
+ registrationFormState: {},
123
+ checked: false,
124
+ },
125
+ callbacks: {
126
+ setChecked: () => { },
127
+ },
128
+ }, props.demoData || {}, { arrayMerge: (_, a) => a });
129
+ }
@@ -0,0 +1,54 @@
1
+ import { h } from "@stencil/core";
2
+ import { ChangeMarktingView } from "./sqm-portal-change-marketing-view";
3
+ export default {
4
+ title: "Components/Change Marketing Emails Status",
5
+ };
6
+ const defaultProps = {
7
+ states: {
8
+ success: false,
9
+ loading: false,
10
+ submitDisabled: false,
11
+ formState: {
12
+ marketingEmailOptIn: false,
13
+ errors: null,
14
+ error: "",
15
+ },
16
+ user: {
17
+ id: "zach",
18
+ accountId: "zach",
19
+ marketingEmailOptIn: false,
20
+ },
21
+ text: {
22
+ emailPreferencesHeader: "Email preferences",
23
+ marketingCheckboxLabel: "I want to receive marketing emails and promotions for this referral program from impact.com",
24
+ submitChangeButtonText: "Save",
25
+ successMessage: "Opt-in preference has been changed.",
26
+ },
27
+ },
28
+ callbacks: {
29
+ onSubmit: (props) => console.log(props),
30
+ setChecked: (value) => console.log(value),
31
+ },
32
+ };
33
+ export const Default = () => {
34
+ return h("sqm-portal-change-marketing", null);
35
+ };
36
+ export const Loading = () => {
37
+ return (h(ChangeMarktingView, Object.assign({}, defaultProps, { states: { ...defaultProps.states, loading: true } })));
38
+ };
39
+ export const Error = () => {
40
+ return (h(ChangeMarktingView, Object.assign({}, defaultProps, { states: {
41
+ ...defaultProps.states,
42
+ formState: {
43
+ ...defaultProps.states.formState,
44
+ errors: { error: true },
45
+ error: "An error string",
46
+ },
47
+ } })));
48
+ };
49
+ export const Success = () => {
50
+ return (h(ChangeMarktingView, Object.assign({}, defaultProps, { states: {
51
+ ...defaultProps.states,
52
+ success: true,
53
+ } })));
54
+ };
@@ -0,0 +1,47 @@
1
+ import { h } from "@stencil/core";
2
+ import { createStyleSheet } from "../../styling/JSS";
3
+ import { CheckboxFieldView } from "../sqm-checkbox-field/sqm-checkbox-field-view";
4
+ import { TextSpanView } from "../sqm-text-span/sqm-text-span-view";
5
+ export function ChangeMarktingView(props) {
6
+ const { states, callbacks } = props;
7
+ const { text, formState } = states;
8
+ const { error } = formState;
9
+ const style = {
10
+ Container: {
11
+ display: "flex",
12
+ flexDirection: "column",
13
+ gap: "var(--sl-spacing-x-small)",
14
+ padding: "0 var(--sl-spacing-xxx-large) var(--sl-spacing-xxx-large)",
15
+ },
16
+ SubmitButton: { marginBottom: "var(--sl-spacing-medium)" },
17
+ Error: {
18
+ "&::part(erroralert-base)": {
19
+ "margin-bottom": "15px",
20
+ },
21
+ },
22
+ Success: {
23
+ "&::part(successalert-base)": {
24
+ "margin-bottom": "15px",
25
+ },
26
+ },
27
+ };
28
+ const sheet = createStyleSheet(style);
29
+ const styleString = sheet.toString();
30
+ return (h("div", { class: sheet.classes.Container, part: "sqm-base" },
31
+ h("style", { type: "text/css" }, styleString),
32
+ h(TextSpanView, Object.assign({}, { type: "h2" }), text.emailPreferencesHeader),
33
+ h("sl-form", { "onSl-submit": callbacks.onSubmit },
34
+ h(CheckboxFieldView, { states: {
35
+ checked: states.formState.marketingEmailOptIn,
36
+ }, content: {
37
+ checkboxLabel: text.marketingCheckboxLabel,
38
+ checkboxName: "marketingEmailOptIn",
39
+ }, callbacks: {
40
+ setChecked: callbacks.setChecked,
41
+ } }),
42
+ h("sl-button", { class: sheet.classes.SubmitButton, type: "primary", submit: true, loading: states.loading, disabled: states.submitDisabled }, text.submitChangeButtonText),
43
+ error && (h("sqm-form-message", { class: sheet.classes.Error, type: "error", exportparts: "erroralert-icon" },
44
+ h("div", { part: "erroralert-text" }, error))),
45
+ states.success && (h("sqm-form-message", { class: sheet.classes.Success, type: "success", exportparts: "successalert-icon" },
46
+ h("div", { part: "successalert-text" }, states.text.successMessage))))));
47
+ }
@@ -0,0 +1,217 @@
1
+ import { Component, h, Prop, State } from "@stencil/core";
2
+ import { withHooks } from "@saasquatch/stencil-hooks";
3
+ import { ChangeMarktingView, } from "./sqm-portal-change-marketing-view";
4
+ import { usePortalProfile } from "./usePortalChangeMarketing";
5
+ import { getProps } from "../../utils/utils";
6
+ import { isDemo } from "@saasquatch/component-boilerplate";
7
+ import deepmerge from "deepmerge";
8
+ /**
9
+ * @uiName Change Marketing Opt in Status
10
+ * @requiredFeatures ["MARKETING_EMAILS"]
11
+ */
12
+ export class PortalChangeMarketing {
13
+ constructor() {
14
+ this.ignored = true;
15
+ /**
16
+ * @uiName Email preferences header
17
+ */
18
+ this.emailPreferencesHeader = "Email preferences";
19
+ /**
20
+ * @uiName Marketing checkbox label
21
+ */
22
+ this.marketingCheckboxLabel = "I want to receive marketing emails and promotions for this referral program from impact.com";
23
+ /**
24
+ * @uiName Submit changes button text
25
+ */
26
+ this.submitChangeButtonText = "Save";
27
+ /**
28
+ * Displayed when the page fails to load due to a network error. The participant can try refreshing the page.
29
+ *
30
+ * @uiName Network request error message
31
+ */
32
+ this.networkRequestMessage = "An error occurred while loading this page. Please refresh the page.";
33
+ /**
34
+ * @uiName Successful update message
35
+ */
36
+ this.successMessage = "Opt-in preference has been changed.";
37
+ withHooks(this);
38
+ }
39
+ disconnectedCallback() { }
40
+ render() {
41
+ const props = isDemo()
42
+ ? usePortalProfileDemo(getProps(this))
43
+ : usePortalProfile(getProps(this));
44
+ return h(ChangeMarktingView, Object.assign({}, props));
45
+ }
46
+ static get is() { return "sqm-portal-change-marketing"; }
47
+ static get encapsulation() { return "shadow"; }
48
+ static get properties() { return {
49
+ "emailPreferencesHeader": {
50
+ "type": "string",
51
+ "mutable": false,
52
+ "complexType": {
53
+ "original": "string",
54
+ "resolved": "string",
55
+ "references": {}
56
+ },
57
+ "required": false,
58
+ "optional": false,
59
+ "docs": {
60
+ "tags": [{
61
+ "text": "Email preferences header",
62
+ "name": "uiName"
63
+ }],
64
+ "text": ""
65
+ },
66
+ "attribute": "email-preferences-header",
67
+ "reflect": false,
68
+ "defaultValue": "\"Email preferences\""
69
+ },
70
+ "marketingCheckboxLabel": {
71
+ "type": "string",
72
+ "mutable": false,
73
+ "complexType": {
74
+ "original": "string",
75
+ "resolved": "string",
76
+ "references": {}
77
+ },
78
+ "required": false,
79
+ "optional": false,
80
+ "docs": {
81
+ "tags": [{
82
+ "text": "Marketing checkbox label",
83
+ "name": "uiName"
84
+ }],
85
+ "text": ""
86
+ },
87
+ "attribute": "marketing-checkbox-label",
88
+ "reflect": false,
89
+ "defaultValue": "\"I want to receive marketing emails and promotions for this referral program from impact.com\""
90
+ },
91
+ "submitChangeButtonText": {
92
+ "type": "string",
93
+ "mutable": false,
94
+ "complexType": {
95
+ "original": "string",
96
+ "resolved": "string",
97
+ "references": {}
98
+ },
99
+ "required": false,
100
+ "optional": false,
101
+ "docs": {
102
+ "tags": [{
103
+ "text": "Submit changes button text",
104
+ "name": "uiName"
105
+ }],
106
+ "text": ""
107
+ },
108
+ "attribute": "submit-change-button-text",
109
+ "reflect": false,
110
+ "defaultValue": "\"Save\""
111
+ },
112
+ "networkRequestMessage": {
113
+ "type": "string",
114
+ "mutable": false,
115
+ "complexType": {
116
+ "original": "string",
117
+ "resolved": "string",
118
+ "references": {}
119
+ },
120
+ "required": false,
121
+ "optional": false,
122
+ "docs": {
123
+ "tags": [{
124
+ "text": "Network request error message",
125
+ "name": "uiName"
126
+ }],
127
+ "text": "Displayed when the page fails to load due to a network error. The participant can try refreshing the page."
128
+ },
129
+ "attribute": "network-request-message",
130
+ "reflect": false,
131
+ "defaultValue": "\"An error occurred while loading this page. Please refresh the page.\""
132
+ },
133
+ "successMessage": {
134
+ "type": "string",
135
+ "mutable": false,
136
+ "complexType": {
137
+ "original": "string",
138
+ "resolved": "string",
139
+ "references": {}
140
+ },
141
+ "required": false,
142
+ "optional": false,
143
+ "docs": {
144
+ "tags": [{
145
+ "text": "Successful update message",
146
+ "name": "uiName"
147
+ }],
148
+ "text": ""
149
+ },
150
+ "attribute": "success-message",
151
+ "reflect": false,
152
+ "defaultValue": "\"Opt-in preference has been changed.\""
153
+ },
154
+ "demoData": {
155
+ "type": "unknown",
156
+ "mutable": false,
157
+ "complexType": {
158
+ "original": "DemoData<ChangeMarketingViewProps>",
159
+ "resolved": "{ states?: { success: boolean; loading: boolean; submitDisabled: boolean; formState: { marketingEmailOptIn: boolean; errors: any; error: string; }; user: { id: string; accountId: string; marketingEmailOptIn: boolean; }; text: { emailPreferencesHeader: string; marketingCheckboxLabel: string; submitChangeButtonText: string; successMessage: string; }; }; }",
160
+ "references": {
161
+ "DemoData": {
162
+ "location": "import",
163
+ "path": "../../global/demo"
164
+ },
165
+ "ChangeMarketingViewProps": {
166
+ "location": "import",
167
+ "path": "./sqm-portal-change-marketing-view"
168
+ }
169
+ }
170
+ },
171
+ "required": false,
172
+ "optional": true,
173
+ "docs": {
174
+ "tags": [{
175
+ "text": undefined,
176
+ "name": "undocumented"
177
+ }, {
178
+ "text": "object",
179
+ "name": "uiType"
180
+ }],
181
+ "text": ""
182
+ }
183
+ }
184
+ }; }
185
+ static get states() { return {
186
+ "ignored": {}
187
+ }; }
188
+ }
189
+ function usePortalProfileDemo(props) {
190
+ return deepmerge({
191
+ states: {
192
+ success: false,
193
+ loading: false,
194
+ submitDisabled: false,
195
+ user: {
196
+ id: "01",
197
+ accountId: "111100000",
198
+ marketingEmailOptIn: false,
199
+ },
200
+ text: {
201
+ emailPreferencesHeader: props.emailPreferencesHeader,
202
+ marketingCheckboxLabel: props.marketingCheckboxLabel,
203
+ submitChangeButtonText: props.submitChangeButtonText,
204
+ successMessage: props.successMessage,
205
+ },
206
+ formState: {
207
+ marketingEmailOptIn: false,
208
+ errors: null,
209
+ error: "",
210
+ },
211
+ },
212
+ callbacks: {
213
+ onSubmit: (e) => console.log(e),
214
+ setChecked: () => { },
215
+ },
216
+ }, props.demoData || {}, { arrayMerge: (_, a) => a });
217
+ }
@@ -0,0 +1,115 @@
1
+ import { useMutation, useQuery, useUserIdentity, } from "@saasquatch/component-boilerplate";
2
+ import { useEffect, useState } from "@saasquatch/universal-hooks";
3
+ import { gql } from "graphql-request";
4
+ import jsonpointer from "jsonpointer";
5
+ const GET_USER = gql `
6
+ query {
7
+ viewer {
8
+ ... on User {
9
+ id
10
+ accountId
11
+ marketingEmailOptIn
12
+ }
13
+ }
14
+ }
15
+ `;
16
+ const UPSERT_USER = gql `
17
+ mutation ($userInput: UserInput!) {
18
+ upsertUser(userInput: $userInput) {
19
+ id
20
+ marketingEmailOptIn
21
+ }
22
+ }
23
+ `;
24
+ // view doesn't tolerate undefined, even when we're loading
25
+ const defaultFormState = {
26
+ marketingEmailOptIn: false,
27
+ errors: {},
28
+ error: "",
29
+ };
30
+ export function usePortalProfile(props) {
31
+ const userIdent = useUserIdentity();
32
+ const [success, setSuccess] = useState(false);
33
+ const [userData, setUserData] = useState(undefined);
34
+ const [formState, setFormState] = useState(defaultFormState);
35
+ const userDataResponse = useQuery(GET_USER, {}, !(userIdent === null || userIdent === void 0 ? void 0 : userIdent.jwt));
36
+ const [upsertUser, upsertUserResponse] = useMutation(UPSERT_USER);
37
+ useEffect(() => {
38
+ if (upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.loading)
39
+ return;
40
+ if (upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.errors) {
41
+ setFormState((state) => {
42
+ var _a, _b, _c;
43
+ return ({
44
+ ...state,
45
+ error: (_c = (_b = (_a = upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.errors) === null || _a === void 0 ? void 0 : _a.response) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c[0].message,
46
+ });
47
+ });
48
+ }
49
+ else {
50
+ setUserData((state) => {
51
+ var _a;
52
+ return ({
53
+ ...state,
54
+ ...(_a = upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.data) === null || _a === void 0 ? void 0 : _a.upsertUser,
55
+ });
56
+ });
57
+ if (upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.data)
58
+ setSuccess(true);
59
+ }
60
+ }, [upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.loading]);
61
+ useEffect(() => {
62
+ var _a, _b;
63
+ setUserData((data) => { var _a; return ({ ...data, ...(_a = userDataResponse === null || userDataResponse === void 0 ? void 0 : userDataResponse.data) === null || _a === void 0 ? void 0 : _a.viewer }); });
64
+ setFormState({
65
+ ...defaultFormState,
66
+ ...(_a = userDataResponse.data) === null || _a === void 0 ? void 0 : _a.viewer,
67
+ ...(_b = upsertUserResponse.data) === null || _b === void 0 ? void 0 : _b.upsertUser,
68
+ });
69
+ }, [userDataResponse === null || userDataResponse === void 0 ? void 0 : userDataResponse.data]);
70
+ useEffect(() => {
71
+ var _a, _b;
72
+ if ((_a = upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.errors) === null || _a === void 0 ? void 0 : _a.message) {
73
+ setFormState({
74
+ ...(_b = userDataResponse.data) === null || _b === void 0 ? void 0 : _b.viewer,
75
+ error: props.networkRequestMessage,
76
+ });
77
+ }
78
+ }, [upsertUserResponse === null || upsertUserResponse === void 0 ? void 0 : upsertUserResponse.errors]);
79
+ const onSubmit = (event) => {
80
+ var _a;
81
+ setSuccess(false);
82
+ const formData = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.formData;
83
+ formData === null || formData === void 0 ? void 0 : formData.forEach((value, key) => {
84
+ jsonpointer.set(formData, key, value);
85
+ });
86
+ upsertUser({
87
+ userInput: {
88
+ id: userIdent === null || userIdent === void 0 ? void 0 : userIdent.id,
89
+ accountId: userIdent === null || userIdent === void 0 ? void 0 : userIdent.accountId,
90
+ marketingEmailOptIn: Boolean(formData.marketingEmailOptIn),
91
+ },
92
+ });
93
+ setFormState((s) => ({ ...s, errors: {}, error: "" }));
94
+ return;
95
+ };
96
+ return {
97
+ states: {
98
+ success,
99
+ loading: (userDataResponse === null || userDataResponse === void 0 ? void 0 : userDataResponse.loading) || upsertUserResponse.loading,
100
+ submitDisabled: false,
101
+ formState,
102
+ user: userData,
103
+ text: {
104
+ emailPreferencesHeader: props.emailPreferencesHeader,
105
+ marketingCheckboxLabel: props.marketingCheckboxLabel,
106
+ submitChangeButtonText: props.submitChangeButtonText,
107
+ successMessage: props.successMessage,
108
+ },
109
+ },
110
+ callbacks: {
111
+ onSubmit,
112
+ setChecked: (value) => setFormState({ ...formState, marketingEmailOptIn: value }),
113
+ },
114
+ };
115
+ }