@saasquatch/mint-components 1.12.1-0 → 1.12.1-10

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 (222) hide show
  1. package/dist/cjs/{ShadowViewAddon-c3e91cee.js → ShadowViewAddon-63b78308.js} +48 -118
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/mint-components.cjs.js +1 -1
  4. package/dist/cjs/sqm-big-stat_39.cjs.entry.js +6 -11
  5. package/dist/cjs/sqm-checkbox-field-view-e0a31f2a.js +66 -0
  6. package/dist/cjs/sqm-portal-change-marketing.cjs.entry.js +221 -0
  7. package/dist/cjs/sqm-portal-registration-form.cjs.entry.js +2 -0
  8. package/dist/cjs/sqm-stencilbook.cjs.entry.js +10 -9
  9. package/dist/collection/collection-manifest.json +1 -0
  10. package/dist/collection/components/sqm-checkbox-field/CheckboxField.stories.js +1 -1
  11. package/dist/collection/components/sqm-checkbox-field/sqm-checkbox-field-view.js +6 -15
  12. package/dist/collection/components/sqm-marketing-emails-checkbox/sqm-marketing-emails-checkbox.js +13 -43
  13. package/dist/collection/components/sqm-portal-change-marketing/sqm-portal-change-marketing-view.js +39 -0
  14. package/dist/collection/components/sqm-portal-change-marketing/sqm-portal-change-marketing.js +191 -0
  15. package/dist/collection/components/sqm-portal-change-marketing/usePortalChangeMarketing.js +112 -0
  16. package/dist/collection/components/sqm-portal-registration-form/usePortalRegistrationForm.js +2 -0
  17. package/dist/esm/{ShadowViewAddon-e012b2aa.js → ShadowViewAddon-272f75a5.js} +53 -122
  18. package/dist/esm/{global-04c7d3b5.js → global-62554cef.js} +1 -1
  19. package/dist/esm/{index.module-def4aec5.js → index.module-48f73e70.js} +1 -1
  20. package/dist/esm/loader.js +3 -3
  21. package/dist/esm/mint-components.js +3 -3
  22. package/dist/esm/{re-render-12fd274a.js → re-render-cb4d43dc.js} +1 -1
  23. package/dist/esm/sqm-asset-card.entry.js +1 -1
  24. package/dist/esm/sqm-banking-info-form_16.entry.js +6 -6
  25. package/dist/esm/sqm-big-stat_39.entry.js +10 -15
  26. package/dist/esm/sqm-checkbox-field-view-0ef58cb3.js +64 -0
  27. package/dist/esm/sqm-close-button.entry.js +1 -1
  28. package/dist/esm/sqm-context-router.entry.js +1 -1
  29. package/dist/esm/sqm-empty_4.entry.js +2 -2
  30. package/dist/esm/sqm-graphql-client-provider.entry.js +1 -1
  31. package/dist/esm/sqm-instant-access-registration.entry.js +3 -3
  32. package/dist/esm/{sqm-invoice-table-view-6e13a323.js → sqm-invoice-table-view-41a14ca6.js} +1 -1
  33. package/dist/esm/sqm-leaderboard-rank.entry.js +2 -2
  34. package/dist/esm/sqm-logout-current-user.entry.js +1 -1
  35. package/dist/esm/{sqm-navigation-sidebar-item-view-60ef06cc.js → sqm-navigation-sidebar-item-view-af40eedb.js} +1 -1
  36. package/dist/esm/sqm-navigation-sidebar-item.entry.js +2 -2
  37. package/dist/esm/sqm-navigation-sidebar.entry.js +1 -1
  38. package/dist/esm/sqm-password-field.entry.js +2 -2
  39. package/dist/esm/sqm-popup-container.entry.js +1 -1
  40. package/dist/esm/sqm-portal-change-marketing.entry.js +217 -0
  41. package/dist/esm/{sqm-portal-email-verification-view-4307c992.js → sqm-portal-email-verification-view-460bac1b.js} +1 -1
  42. package/dist/esm/sqm-portal-email-verification.entry.js +3 -3
  43. package/dist/esm/sqm-portal-forgot-password.entry.js +1 -1
  44. package/dist/esm/sqm-portal-logout.entry.js +1 -1
  45. package/dist/esm/{sqm-portal-profile-view-ffe955c8.js → sqm-portal-profile-view-4caa9f28.js} +1 -1
  46. package/dist/esm/sqm-portal-profile.entry.js +4 -4
  47. package/dist/esm/sqm-portal-protected-route.entry.js +1 -1
  48. package/dist/esm/sqm-portal-registration-form.entry.js +4 -2
  49. package/dist/esm/sqm-portal-reset-password.entry.js +1 -1
  50. package/dist/esm/sqm-portal-verify-email.entry.js +1 -1
  51. package/dist/esm/sqm-referral-table_11.entry.js +5 -5
  52. package/dist/esm/sqm-referred-registration.entry.js +3 -3
  53. package/dist/esm/sqm-rewards-table-customer-note-column.entry.js +2 -2
  54. package/dist/esm/sqm-rewards-table_9.entry.js +5 -5
  55. package/dist/esm/sqm-stencilbook.entry.js +13 -12
  56. package/dist/esm/sqm-tab.entry.js +2 -2
  57. package/dist/esm/sqm-tabs.entry.js +3 -3
  58. package/dist/esm/{useChildElements-32e1bda1.js → useChildElements-a6b895dd.js} +1 -1
  59. package/dist/esm/{useInstantAccessRegistration-46b89952.js → useInstantAccessRegistration-46a98499.js} +2 -2
  60. package/dist/esm/{useReferralTable-f4de0650.js → useReferralTable-6e8350db.js} +3 -3
  61. package/dist/esm/{useRegistrationFormState-9fc1ac80.js → useRegistrationFormState-de6b208e.js} +1 -1
  62. package/dist/esm/{utilities-3f5bba22.js → utilities-e8022681.js} +1 -1
  63. package/dist/esm-es5/{ShadowViewAddon-e012b2aa.js → ShadowViewAddon-272f75a5.js} +1 -1
  64. package/dist/esm-es5/{global-04c7d3b5.js → global-62554cef.js} +1 -1
  65. package/dist/esm-es5/{index.module-def4aec5.js → index.module-48f73e70.js} +1 -1
  66. package/dist/esm-es5/loader.js +1 -1
  67. package/dist/esm-es5/mint-components.js +1 -1
  68. package/dist/esm-es5/{re-render-12fd274a.js → re-render-cb4d43dc.js} +1 -1
  69. package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
  70. package/dist/esm-es5/sqm-banking-info-form_16.entry.js +1 -1
  71. package/dist/esm-es5/sqm-big-stat_39.entry.js +1 -1
  72. package/dist/esm-es5/sqm-checkbox-field-view-0ef58cb3.js +1 -0
  73. package/dist/esm-es5/sqm-close-button.entry.js +1 -1
  74. package/dist/esm-es5/sqm-context-router.entry.js +1 -1
  75. package/dist/esm-es5/sqm-empty_4.entry.js +1 -1
  76. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  77. package/dist/esm-es5/sqm-instant-access-registration.entry.js +1 -1
  78. package/dist/esm-es5/{sqm-invoice-table-view-6e13a323.js → sqm-invoice-table-view-41a14ca6.js} +1 -1
  79. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  80. package/dist/esm-es5/sqm-logout-current-user.entry.js +1 -1
  81. package/dist/esm-es5/sqm-navigation-sidebar-item-view-af40eedb.js +1 -0
  82. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  83. package/dist/esm-es5/sqm-navigation-sidebar.entry.js +1 -1
  84. package/dist/esm-es5/sqm-password-field.entry.js +1 -1
  85. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  86. package/dist/esm-es5/sqm-portal-change-marketing.entry.js +1 -0
  87. package/dist/esm-es5/{sqm-portal-email-verification-view-4307c992.js → sqm-portal-email-verification-view-460bac1b.js} +1 -1
  88. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  89. package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
  90. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  91. package/dist/esm-es5/{sqm-portal-profile-view-ffe955c8.js → sqm-portal-profile-view-4caa9f28.js} +1 -1
  92. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  93. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  94. package/dist/esm-es5/sqm-portal-registration-form.entry.js +1 -1
  95. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  96. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  97. package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
  98. package/dist/esm-es5/sqm-referred-registration.entry.js +1 -1
  99. package/dist/esm-es5/sqm-rewards-table-customer-note-column.entry.js +1 -1
  100. package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
  101. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  102. package/dist/esm-es5/sqm-tab.entry.js +1 -1
  103. package/dist/esm-es5/sqm-tabs.entry.js +1 -1
  104. package/dist/esm-es5/{useChildElements-32e1bda1.js → useChildElements-a6b895dd.js} +1 -1
  105. package/dist/esm-es5/{useInstantAccessRegistration-46b89952.js → useInstantAccessRegistration-46a98499.js} +1 -1
  106. package/dist/esm-es5/{useReferralTable-f4de0650.js → useReferralTable-6e8350db.js} +1 -1
  107. package/dist/esm-es5/{useRegistrationFormState-9fc1ac80.js → useRegistrationFormState-de6b208e.js} +1 -1
  108. package/dist/esm-es5/{utilities-3f5bba22.js → utilities-e8022681.js} +1 -1
  109. package/dist/mint-components/mint-components.esm.js +1 -1
  110. package/dist/mint-components/mint-components.js +1 -1
  111. package/dist/mint-components/{p-ce5afa40.entry.js → p-0068067d.entry.js} +1 -1
  112. package/dist/mint-components/p-018088cc.entry.js +13 -0
  113. package/dist/mint-components/{p-7731f793.system.entry.js → p-099c59cc.system.entry.js} +1 -1
  114. package/dist/mint-components/{p-3d4656bb.system.js → p-0f010c01.system.js} +1 -1
  115. package/dist/mint-components/{p-a1dba9a1.system.entry.js → p-0f30148d.system.entry.js} +1 -1
  116. package/dist/mint-components/{p-b5861974.system.entry.js → p-115edc43.system.entry.js} +1 -1
  117. package/dist/mint-components/{p-5f1c4160.system.entry.js → p-13976be9.system.entry.js} +1 -1
  118. package/dist/mint-components/p-175075e7.system.js +1 -0
  119. package/dist/mint-components/{p-b6fc1227.system.entry.js → p-1bb2fd65.system.entry.js} +1 -1
  120. package/dist/mint-components/{p-137ea86e.entry.js → p-1bdacfcb.entry.js} +1 -1
  121. package/dist/mint-components/{p-ce621bcc.js → p-1d803c85.js} +1 -1
  122. package/dist/mint-components/{p-458b2894.entry.js → p-1e0f4667.entry.js} +2 -2
  123. package/dist/mint-components/{p-c84659a3.system.js → p-1eb21821.system.js} +1 -1
  124. package/dist/mint-components/{p-eba44835.system.entry.js → p-215d9dce.system.entry.js} +1 -1
  125. package/dist/mint-components/{p-3223ba7b.entry.js → p-23112de2.entry.js} +1 -1
  126. package/dist/mint-components/{p-a7c2ced2.system.entry.js → p-2364eb2d.system.entry.js} +1 -1
  127. package/dist/mint-components/{p-cf690d55.system.entry.js → p-275b2841.system.entry.js} +1 -1
  128. package/dist/mint-components/{p-5be235f9.entry.js → p-29023a9c.entry.js} +1 -1
  129. package/dist/mint-components/{p-0d8c53ac.system.js → p-2a2d4343.system.js} +1 -1
  130. package/dist/mint-components/{p-5b333fa8.system.entry.js → p-30797093.system.entry.js} +1 -1
  131. package/dist/mint-components/p-30f84f8b.system.js +1 -0
  132. package/dist/mint-components/p-32642d34.js +1 -0
  133. package/dist/mint-components/{p-86990110.entry.js → p-3b08cc52.entry.js} +1 -1
  134. package/dist/mint-components/{p-aee2304a.entry.js → p-3fefb1f4.entry.js} +11 -11
  135. package/dist/mint-components/{p-afd366ae.system.entry.js → p-44c3791a.system.entry.js} +1 -1
  136. package/dist/mint-components/{p-b370fca8.system.js → p-481dedf2.system.js} +1 -1
  137. package/dist/mint-components/p-48b07ec7.system.entry.js +1 -0
  138. package/dist/mint-components/{p-35d84041.system.entry.js → p-498c4ffd.system.entry.js} +1 -1
  139. package/dist/mint-components/{p-51f517a2.js → p-4dcdf9b6.js} +1 -1
  140. package/dist/mint-components/{p-61eab172.js → p-512089bb.js} +1 -1
  141. package/dist/mint-components/{p-3ec16698.entry.js → p-513f79fb.entry.js} +1 -1
  142. package/dist/mint-components/p-52553737.system.entry.js +1 -0
  143. package/dist/mint-components/{p-a9050eb0.entry.js → p-52acd113.entry.js} +1 -1
  144. package/dist/mint-components/{p-ed095674.system.js → p-57ea9c0b.system.js} +1 -1
  145. package/dist/mint-components/{p-4edde470.entry.js → p-59111d6c.entry.js} +1 -1
  146. package/dist/mint-components/p-5ab5131c.entry.js +1 -0
  147. package/dist/mint-components/{p-674a64fe.system.js → p-5da7c982.system.js} +1 -1
  148. package/dist/mint-components/{p-ec41d6a4.entry.js → p-5de3473d.entry.js} +1 -1
  149. package/dist/mint-components/{p-021a735d.entry.js → p-5f20200a.entry.js} +1 -1
  150. package/dist/mint-components/p-60bf4471.system.entry.js +1 -0
  151. package/dist/mint-components/{p-32d1d162.entry.js → p-64b25dd9.entry.js} +1 -1
  152. package/dist/mint-components/{p-dd7ee007.system.js → p-66d09e59.system.js} +1 -1
  153. package/dist/mint-components/{p-1dd69917.system.entry.js → p-670d441e.system.entry.js} +1 -1
  154. package/dist/mint-components/{p-5cac90e8.system.entry.js → p-68160d49.system.entry.js} +1 -1
  155. package/dist/mint-components/{p-eaada4da.js → p-6aed684b.js} +1 -1
  156. package/dist/mint-components/{p-59fe4ad1.system.js → p-6f980faf.system.js} +1 -1
  157. package/dist/mint-components/p-711bb8da.entry.js +1 -0
  158. package/dist/mint-components/{p-4df8f1d2.system.js → p-74609159.system.js} +1 -1
  159. package/dist/mint-components/{p-d8d2de11.entry.js → p-74d012fc.entry.js} +1 -1
  160. package/dist/mint-components/p-7624c91a.entry.js +18 -0
  161. package/dist/mint-components/{p-4502ed11.system.entry.js → p-7726e4ea.system.entry.js} +1 -1
  162. package/dist/mint-components/{p-7049e9b0.entry.js → p-778b55a5.entry.js} +1 -1
  163. package/dist/mint-components/p-7ab32670.entry.js +33 -0
  164. package/dist/mint-components/{p-0b9fa97f.js → p-7eabcffc.js} +1 -1
  165. package/dist/mint-components/p-804de0cf.system.entry.js +1 -0
  166. package/dist/mint-components/{p-9f0629ba.system.entry.js → p-83df7db2.system.entry.js} +1 -1
  167. package/dist/mint-components/{p-7f088154.entry.js → p-8e3390b6.entry.js} +1 -1
  168. package/dist/mint-components/{p-6cef104b.entry.js → p-902770d7.entry.js} +1 -1
  169. package/dist/mint-components/{p-01cfff8a.system.entry.js → p-92b08cb2.system.entry.js} +1 -1
  170. package/dist/mint-components/{p-fb20eb5e.system.entry.js → p-94324315.system.entry.js} +1 -1
  171. package/dist/mint-components/{p-bb00db59.js → p-98602fa9.js} +1 -1
  172. package/dist/mint-components/{p-2dd67762.entry.js → p-9982db11.entry.js} +1 -1
  173. package/dist/mint-components/{p-b4c52c5a.entry.js → p-9a520e94.entry.js} +2 -2
  174. package/dist/mint-components/{p-07f675ab.system.entry.js → p-9aa177d6.system.entry.js} +1 -1
  175. package/dist/mint-components/{p-a8f7cb95.js → p-9b4a99c4.js} +1 -1
  176. package/dist/mint-components/{p-02424350.system.js → p-9bb9a767.system.js} +1 -1
  177. package/dist/mint-components/p-a178a449.system.js +1 -0
  178. package/dist/mint-components/p-a6b36268.system.js +1 -0
  179. package/dist/mint-components/p-b07a88fd.js +1 -0
  180. package/dist/mint-components/{p-56f14840.entry.js → p-b169229a.entry.js} +1 -1
  181. package/dist/mint-components/{p-41a11a7f.js → p-b348d95c.js} +1 -1
  182. package/dist/mint-components/{p-10e89d0a.entry.js → p-b5b9f737.entry.js} +1 -1
  183. package/dist/mint-components/{p-4ea58025.system.entry.js → p-b7324c0e.system.entry.js} +1 -1
  184. package/dist/mint-components/{p-8b5b78ca.entry.js → p-b86003f6.entry.js} +1 -1
  185. package/dist/mint-components/{p-be4b748a.system.entry.js → p-baca1c93.system.entry.js} +1 -1
  186. package/dist/mint-components/{p-711ba77e.system.entry.js → p-bd6d9d54.system.entry.js} +1 -1
  187. package/dist/mint-components/{p-2ee2ebba.js → p-bda832b2.js} +2 -2
  188. package/dist/mint-components/{p-8704937c.js → p-c4719154.js} +1 -1
  189. package/dist/mint-components/{p-e3735866.entry.js → p-c89c890e.entry.js} +1 -1
  190. package/dist/mint-components/p-c98cd85a.system.entry.js +1 -0
  191. package/dist/mint-components/{p-44787d6e.system.js → p-ce5057f7.system.js} +1 -1
  192. package/dist/mint-components/p-cefffd56.system.entry.js +1 -0
  193. package/dist/mint-components/{p-58ef25d3.system.entry.js → p-d71ec46e.system.entry.js} +1 -1
  194. package/dist/mint-components/{p-4d233cd4.js → p-da1e21f2.js} +1 -1
  195. package/dist/mint-components/{p-10685090.js → p-de0a29b2.js} +2 -2
  196. package/dist/mint-components/{p-aad11a68.entry.js → p-df2ada74.entry.js} +1 -1
  197. package/dist/mint-components/{p-03494732.entry.js → p-e169497d.entry.js} +1 -1
  198. package/dist/mint-components/{p-8679ed9f.system.entry.js → p-f99765fe.system.entry.js} +1 -1
  199. package/dist/mint-components/{p-af062c8f.system.entry.js → p-fc58dc2f.system.entry.js} +1 -1
  200. package/dist/types/components/sqm-marketing-emails-checkbox/sqm-marketing-emails-checkbox.d.ts +4 -10
  201. package/dist/types/components/sqm-portal-change-marketing/sqm-portal-change-marketing-view.d.ts +27 -0
  202. package/dist/types/components/sqm-portal-change-marketing/sqm-portal-change-marketing.d.ts +35 -0
  203. package/dist/types/components/sqm-portal-change-marketing/usePortalChangeMarketing.d.ts +3 -0
  204. package/dist/types/components.d.ts +59 -15
  205. package/docs/docs.docx +0 -0
  206. package/docs/raisins.json +1 -1
  207. package/grapesjs/grapesjs.js +1 -1
  208. package/package.json +1 -1
  209. package/dist/esm-es5/sqm-navigation-sidebar-item-view-60ef06cc.js +0 -1
  210. package/dist/mint-components/p-1c857edb.entry.js +0 -33
  211. package/dist/mint-components/p-770368bc.system.js +0 -1
  212. package/dist/mint-components/p-79191f88.entry.js +0 -1
  213. package/dist/mint-components/p-8e907ac7.system.entry.js +0 -1
  214. package/dist/mint-components/p-91669312.entry.js +0 -1
  215. package/dist/mint-components/p-95771f79.system.js +0 -1
  216. package/dist/mint-components/p-96242551.system.entry.js +0 -1
  217. package/dist/mint-components/p-9c310991.system.entry.js +0 -1
  218. package/dist/mint-components/p-a6a7dcaa.js +0 -1
  219. package/dist/mint-components/p-d5de2646.system.entry.js +0 -1
  220. package/dist/mint-components/p-d8e68e16.entry.js +0 -13
  221. package/dist/mint-components/p-e6d74386.system.entry.js +0 -1
  222. package/dist/mint-components/p-ed17e637.system.js +0 -1
@@ -0,0 +1,191 @@
1
+ import { Component, h, Prop, State } from "@stencil/core";
2
+ import { withHooks } from "@saasquatch/stencil-hooks";
3
+ import { PortalProfileView, } 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
+ * @exampleGroup Microsite Components
11
+ * @example Change Marketing Opt-in Status - <sqm-portal-container direction="column" gap="xxx-large"><sqm-portal-change-marketing></sqm-portal-change-marketing></sqm-portal-container>
12
+ */
13
+ export class PortalChangeMarketing {
14
+ constructor() {
15
+ this.ignored = true;
16
+ /**
17
+ * @uiName Email preferences header
18
+ */
19
+ this.emailPreferencesHeader = "Email preferences";
20
+ /**
21
+ * @uiName Marketing checkbox label
22
+ */
23
+ this.marketingCheckboxLabel = "I want to receive marketing emails and promotions for this referral program from impact.com";
24
+ /**
25
+ * @uiName Submit changes button text
26
+ */
27
+ this.submitChangeButtonText = "Save";
28
+ /**
29
+ * @uiName Network request error message
30
+ * Displayed when the page fails to load due to a network error. The participant can try refreshing the page.
31
+ */
32
+ this.networkRequestMessage = "An error occurred while loading this page. Please refresh the page.";
33
+ withHooks(this);
34
+ }
35
+ disconnectedCallback() { }
36
+ render() {
37
+ const props = isDemo()
38
+ ? usePortalProfileDemo(getProps(this))
39
+ : usePortalProfile(getProps(this));
40
+ return h(PortalProfileView, Object.assign({}, props));
41
+ }
42
+ static get is() { return "sqm-portal-change-marketing"; }
43
+ static get encapsulation() { return "shadow"; }
44
+ static get properties() { return {
45
+ "emailPreferencesHeader": {
46
+ "type": "string",
47
+ "mutable": false,
48
+ "complexType": {
49
+ "original": "string",
50
+ "resolved": "string",
51
+ "references": {}
52
+ },
53
+ "required": false,
54
+ "optional": false,
55
+ "docs": {
56
+ "tags": [{
57
+ "text": "Email preferences header",
58
+ "name": "uiName"
59
+ }],
60
+ "text": ""
61
+ },
62
+ "attribute": "email-preferences-header",
63
+ "reflect": false,
64
+ "defaultValue": "\"Email preferences\""
65
+ },
66
+ "marketingCheckboxLabel": {
67
+ "type": "string",
68
+ "mutable": false,
69
+ "complexType": {
70
+ "original": "string",
71
+ "resolved": "string",
72
+ "references": {}
73
+ },
74
+ "required": false,
75
+ "optional": false,
76
+ "docs": {
77
+ "tags": [{
78
+ "text": "Marketing checkbox label",
79
+ "name": "uiName"
80
+ }],
81
+ "text": ""
82
+ },
83
+ "attribute": "marketing-checkbox-label",
84
+ "reflect": false,
85
+ "defaultValue": "\"I want to receive marketing emails and promotions for this referral program from impact.com\""
86
+ },
87
+ "submitChangeButtonText": {
88
+ "type": "string",
89
+ "mutable": false,
90
+ "complexType": {
91
+ "original": "string",
92
+ "resolved": "string",
93
+ "references": {}
94
+ },
95
+ "required": false,
96
+ "optional": false,
97
+ "docs": {
98
+ "tags": [{
99
+ "text": "Submit changes button text",
100
+ "name": "uiName"
101
+ }],
102
+ "text": ""
103
+ },
104
+ "attribute": "submit-change-button-text",
105
+ "reflect": false,
106
+ "defaultValue": "\"Save\""
107
+ },
108
+ "networkRequestMessage": {
109
+ "type": "string",
110
+ "mutable": false,
111
+ "complexType": {
112
+ "original": "string",
113
+ "resolved": "string",
114
+ "references": {}
115
+ },
116
+ "required": false,
117
+ "optional": false,
118
+ "docs": {
119
+ "tags": [{
120
+ "text": "Network request error message\nDisplayed when the page fails to load due to a network error. The participant can try refreshing the page.",
121
+ "name": "uiName"
122
+ }],
123
+ "text": ""
124
+ },
125
+ "attribute": "network-request-message",
126
+ "reflect": false,
127
+ "defaultValue": "\"An error occurred while loading this page. Please refresh the page.\""
128
+ },
129
+ "demoData": {
130
+ "type": "unknown",
131
+ "mutable": false,
132
+ "complexType": {
133
+ "original": "DemoData<PortalProfileViewProps>",
134
+ "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; }; }; }",
135
+ "references": {
136
+ "DemoData": {
137
+ "location": "import",
138
+ "path": "../../global/demo"
139
+ },
140
+ "PortalProfileViewProps": {
141
+ "location": "import",
142
+ "path": "./sqm-portal-change-marketing-view"
143
+ }
144
+ }
145
+ },
146
+ "required": false,
147
+ "optional": true,
148
+ "docs": {
149
+ "tags": [{
150
+ "text": undefined,
151
+ "name": "undocumented"
152
+ }, {
153
+ "text": "object",
154
+ "name": "uiType"
155
+ }],
156
+ "text": ""
157
+ }
158
+ }
159
+ }; }
160
+ static get states() { return {
161
+ "ignored": {}
162
+ }; }
163
+ }
164
+ function usePortalProfileDemo(props) {
165
+ return deepmerge({
166
+ states: {
167
+ success: false,
168
+ loading: false,
169
+ submitDisabled: false,
170
+ user: {
171
+ id: "01",
172
+ accountId: "111100000",
173
+ marketingEmailOptIn: false,
174
+ },
175
+ text: {
176
+ emailPreferencesHeader: props.emailPreferencesHeader,
177
+ marketingCheckboxLabel: props.marketingCheckboxLabel,
178
+ submitChangeButtonText: props.submitChangeButtonText,
179
+ },
180
+ formState: {
181
+ marketingEmailOptIn: false,
182
+ errors: null,
183
+ error: "",
184
+ },
185
+ },
186
+ callbacks: {
187
+ onSubmit: (e) => console.log(e),
188
+ setChecked: () => { },
189
+ },
190
+ }, props.demoData || {}, { arrayMerge: (_, a) => a });
191
+ }
@@ -0,0 +1,112 @@
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
+ id: userIdent === null || userIdent === void 0 ? void 0 : userIdent.id,
88
+ accountId: userIdent === null || userIdent === void 0 ? void 0 : userIdent.accountId,
89
+ marketingEmailOptIn: formData.marketingEmailOptIn,
90
+ });
91
+ setFormState((s) => ({ ...s, errors: {}, error: "" }));
92
+ return;
93
+ };
94
+ return {
95
+ states: {
96
+ success,
97
+ loading: (userDataResponse === null || userDataResponse === void 0 ? void 0 : userDataResponse.loading) || upsertUserResponse.loading,
98
+ submitDisabled: false,
99
+ formState,
100
+ user: userData,
101
+ text: {
102
+ emailPreferencesHeader: props.emailPreferencesHeader,
103
+ marketingCheckboxLabel: props.marketingCheckboxLabel,
104
+ submitChangeButtonText: props.submitChangeButtonText,
105
+ },
106
+ },
107
+ callbacks: {
108
+ onSubmit,
109
+ setChecked: (value) => setFormState({ ...formState, marketingEmailOptIn: value }),
110
+ },
111
+ };
112
+ }
@@ -51,6 +51,7 @@ export function usePortalRegistrationForm(props) {
51
51
  const submit = async (event) => {
52
52
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
53
53
  let formControls = event.target.getFormControls();
54
+ console.log("Test 123");
54
55
  let formData = {};
55
56
  let validationErrors = {};
56
57
  formControls === null || formControls === void 0 ? void 0 : formControls.forEach((control) => {
@@ -96,6 +97,7 @@ export function usePortalRegistrationForm(props) {
96
97
  validationErrors: {},
97
98
  });
98
99
  const { email, password } = formData;
100
+ console.log("form data is ", formData);
99
101
  delete formData.email;
100
102
  delete formData.password;
101
103
  delete formData.confirmPassword;