@saasquatch/mint-components 1.12.0-0 → 1.12.0-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 (158) hide show
  1. package/dist/cjs/{ShadowViewAddon-88821c64.js → ShadowViewAddon-040cffad.js} +6 -3
  2. package/dist/cjs/extractProps-fd93ba62.js +21 -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-banking-info-form_16.cjs.entry.js +91 -72
  6. package/dist/cjs/sqm-big-stat_39.cjs.entry.js +128 -63
  7. package/dist/cjs/sqm-code-verification.cjs.entry.js +67 -77
  8. package/dist/cjs/sqm-email-verification.cjs.entry.js +158 -12
  9. package/dist/cjs/{sqm-invoice-table-view-ce9a34ac.js → sqm-invoice-table-view-c58966f8.js} +79 -0
  10. package/dist/cjs/sqm-stencilbook.cjs.entry.js +56 -14
  11. package/dist/cjs/sqm-widget-verification-internal.cjs.entry.js +81 -11
  12. package/dist/cjs/sqm-widget-verification.cjs.entry.js +102 -19
  13. package/dist/cjs/usePayoutStatus-b9fb7399.js +70 -0
  14. package/dist/cjs/useVerificationEmail-6aacdb71.js +169 -0
  15. package/dist/collection/collection-manifest.json +1 -1
  16. package/dist/collection/components/sqm-big-stat/useBigStat.js +6 -3
  17. package/dist/collection/components/sqm-payout-button-scroll/PayoutButtonScroll.stories.js +1 -2
  18. package/dist/collection/components/sqm-payout-button-scroll/sqm-payout-button-scroll-view.js +1 -0
  19. package/dist/collection/components/sqm-payout-button-scroll/sqm-payout-button-scroll.js +16 -3
  20. package/dist/collection/components/sqm-widget-verification/sqm-code-verification/WidgetCodeVerification.stories.js +9 -2
  21. package/dist/collection/components/sqm-widget-verification/sqm-code-verification/sqm-code-verification-view.js +20 -10
  22. package/dist/collection/components/sqm-widget-verification/sqm-code-verification/sqm-code-verification.js +34 -63
  23. package/dist/collection/components/sqm-widget-verification/sqm-code-verification/useCodeVerification.js +38 -29
  24. package/dist/collection/components/sqm-widget-verification/sqm-email-verification/WidgetEmailVerification.stories.js +23 -3
  25. package/dist/collection/components/sqm-widget-verification/sqm-email-verification/sqm-email-verification-view.js +17 -4
  26. package/dist/collection/components/sqm-widget-verification/sqm-email-verification/sqm-email-verification.js +65 -11
  27. package/dist/collection/components/sqm-widget-verification/sqm-email-verification/useEmailVerification.js +76 -20
  28. package/dist/collection/components/sqm-widget-verification/sqm-widget-verification-internal.js +327 -15
  29. package/dist/collection/components/sqm-widget-verification/sqm-widget-verification.js +447 -22
  30. package/dist/collection/components/sqm-widget-verification/useVerificationEmail.js +165 -0
  31. package/dist/collection/components/tax-and-cash/BankingForm.stories.js +1 -0
  32. package/dist/collection/components/tax-and-cash/TaxForm.stories.js +78 -0
  33. package/dist/collection/components/tax-and-cash/sqm-banking-info-form/sqm-banking-info-form.js +2 -1
  34. package/dist/collection/components/tax-and-cash/sqm-banking-info-form/useBankingInfoForm.js +7 -0
  35. package/dist/collection/components/tax-and-cash/sqm-docusign-form/docusign-iframe/DocusignIframe.js +0 -1
  36. package/dist/collection/components/tax-and-cash/sqm-payout-status-alert/PayoutStatusAlert.stories.js +10 -0
  37. package/dist/collection/components/tax-and-cash/sqm-payout-status-alert/sqm-payout-status-alert-view.js +72 -13
  38. package/dist/collection/components/tax-and-cash/sqm-payout-status-alert/sqm-payout-status-alert.js +146 -9
  39. package/dist/collection/components/tax-and-cash/sqm-payout-status-alert/usePayoutStatus.js +30 -15
  40. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/data.js +6 -0
  41. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.js +8 -8
  42. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/useTaxAndCash.js +2 -2
  43. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard-view.js +22 -16
  44. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard.js +99 -88
  45. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/useTaxAndCashDashboard.js +8 -1
  46. package/dist/collection/components/tax-and-cash/sqm-user-info-form/useUserInfoForm.js +16 -11
  47. package/dist/esm/{ShadowViewAddon-65c8679e.js → ShadowViewAddon-69b61037.js} +6 -3
  48. package/dist/esm/extractProps-ae1afbb3.js +19 -0
  49. package/dist/esm/{keys-a1496e39.js → keys-db1897ae.js} +1 -1
  50. package/dist/esm/loader.js +1 -1
  51. package/dist/esm/mint-components.js +1 -1
  52. package/dist/esm/sqm-banking-info-form_16.entry.js +91 -72
  53. package/dist/esm/sqm-big-stat_39.entry.js +127 -62
  54. package/dist/esm/sqm-code-verification.entry.js +69 -79
  55. package/dist/esm/sqm-email-verification.entry.js +159 -13
  56. package/dist/esm/{sqm-invoice-table-view-08c03ba7.js → sqm-invoice-table-view-d1cfdaf4.js} +79 -0
  57. package/dist/esm/sqm-stencilbook.entry.js +56 -14
  58. package/dist/esm/sqm-widget-verification-internal.entry.js +84 -14
  59. package/dist/esm/sqm-widget-verification.entry.js +104 -21
  60. package/dist/esm/usePayoutStatus-1a635054.js +67 -0
  61. package/dist/esm/useVerificationEmail-c32696ba.js +167 -0
  62. package/dist/esm-es5/ShadowViewAddon-69b61037.js +1 -0
  63. package/dist/esm-es5/extractProps-ae1afbb3.js +1 -0
  64. package/dist/esm-es5/{keys-a1496e39.js → keys-db1897ae.js} +1 -1
  65. package/dist/esm-es5/loader.js +1 -1
  66. package/dist/esm-es5/mint-components.js +1 -1
  67. package/dist/esm-es5/sqm-banking-info-form_16.entry.js +1 -1
  68. package/dist/esm-es5/sqm-big-stat_39.entry.js +1 -1
  69. package/dist/esm-es5/sqm-code-verification.entry.js +1 -1
  70. package/dist/esm-es5/sqm-email-verification.entry.js +1 -1
  71. package/dist/esm-es5/sqm-invoice-table-view-d1cfdaf4.js +1 -0
  72. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  73. package/dist/esm-es5/sqm-widget-verification-internal.entry.js +1 -1
  74. package/dist/esm-es5/sqm-widget-verification.entry.js +1 -1
  75. package/dist/esm-es5/usePayoutStatus-1a635054.js +1 -0
  76. package/dist/esm-es5/useVerificationEmail-c32696ba.js +1 -0
  77. package/dist/mint-components/mint-components.esm.js +1 -1
  78. package/dist/mint-components/p-15c7a1d2.system.entry.js +1 -0
  79. package/dist/mint-components/p-1712a9fd.entry.js +11 -0
  80. package/dist/mint-components/p-1e616d45.system.js +1 -0
  81. package/dist/mint-components/{p-721a89c6.entry.js → p-24092973.entry.js} +2 -2
  82. package/dist/mint-components/p-26468242.js +1 -0
  83. package/dist/mint-components/p-331d060e.entry.js +223 -0
  84. package/dist/mint-components/p-39840341.js +1 -0
  85. package/dist/mint-components/p-4364001c.entry.js +12 -0
  86. package/dist/mint-components/p-4bd7a472.js +1 -0
  87. package/dist/mint-components/p-517224ef.js +19 -0
  88. package/dist/mint-components/p-5a23b560.system.entry.js +1 -0
  89. package/dist/mint-components/p-8300d8c8.system.js +1 -0
  90. package/dist/mint-components/p-8bddb468.system.entry.js +1 -0
  91. package/dist/mint-components/p-9596e97c.system.entry.js +1 -0
  92. package/dist/mint-components/p-974070c4.system.entry.js +1 -0
  93. package/dist/mint-components/{p-b651706a.js → p-9eae245f.js} +6 -3
  94. package/dist/mint-components/p-a8645c1b.system.js +1 -0
  95. package/dist/mint-components/p-b2a99637.system.js +1 -0
  96. package/dist/mint-components/{p-66a04cca.system.entry.js → p-b62faaa5.system.entry.js} +1 -1
  97. package/dist/mint-components/p-c41e1df8.entry.js +195 -0
  98. package/dist/mint-components/p-c510fb88.entry.js +1 -0
  99. package/dist/mint-components/p-ca809fdd.system.js +1 -1
  100. package/dist/mint-components/p-d7806f31.js +48 -0
  101. package/dist/mint-components/p-e01ac27c.system.js +1 -0
  102. package/dist/mint-components/p-e45a8501.system.entry.js +1 -0
  103. package/dist/mint-components/p-e990dc21.system.js +1 -0
  104. package/dist/mint-components/p-f340214f.entry.js +25 -0
  105. package/dist/types/components/sqm-payout-button-scroll/PayoutButtonScroll.stories.d.ts +0 -1
  106. package/dist/types/components/sqm-payout-button-scroll/sqm-payout-button-scroll.d.ts +7 -0
  107. package/dist/types/components/sqm-widget-verification/sqm-code-verification/WidgetCodeVerification.stories.d.ts +1 -0
  108. package/dist/types/components/sqm-widget-verification/sqm-code-verification/sqm-code-verification-view.d.ts +3 -3
  109. package/dist/types/components/sqm-widget-verification/sqm-code-verification/sqm-code-verification.d.ts +4 -10
  110. package/dist/types/components/sqm-widget-verification/sqm-code-verification/useCodeVerification.d.ts +2 -0
  111. package/dist/types/components/sqm-widget-verification/sqm-email-verification/WidgetEmailVerification.stories.d.ts +4 -1
  112. package/dist/types/components/sqm-widget-verification/sqm-email-verification/sqm-email-verification-view.d.ts +6 -1
  113. package/dist/types/components/sqm-widget-verification/sqm-email-verification/sqm-email-verification.d.ts +10 -2
  114. package/dist/types/components/sqm-widget-verification/sqm-email-verification/useEmailVerification.d.ts +3 -2
  115. package/dist/types/components/sqm-widget-verification/sqm-widget-verification-internal.d.ts +15 -0
  116. package/dist/types/components/sqm-widget-verification/sqm-widget-verification.d.ts +79 -0
  117. package/dist/types/components/sqm-widget-verification/useVerificationEmail.d.ts +14 -0
  118. package/dist/types/components/tax-and-cash/TaxForm.stories.d.ts +1 -0
  119. package/dist/types/components/tax-and-cash/sqm-banking-info-form/sqm-banking-info-form-view.d.ts +1 -0
  120. package/dist/types/components/tax-and-cash/sqm-payout-status-alert/PayoutStatusAlert.stories.d.ts +2 -0
  121. package/dist/types/components/tax-and-cash/sqm-payout-status-alert/sqm-payout-status-alert-view.d.ts +12 -0
  122. package/dist/types/components/tax-and-cash/sqm-payout-status-alert/sqm-payout-status-alert.d.ts +41 -0
  123. package/dist/types/components/tax-and-cash/sqm-payout-status-alert/usePayoutStatus.d.ts +12 -0
  124. package/dist/types/components/tax-and-cash/sqm-tax-and-cash/data.d.ts +6 -0
  125. package/dist/types/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.d.ts +2 -2
  126. package/dist/types/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard-view.d.ts +10 -3
  127. package/dist/types/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard.d.ts +19 -18
  128. package/dist/types/components.d.ts +366 -92
  129. package/docs/docs.docx +0 -0
  130. package/docs/raisins.json +1 -1
  131. package/grapesjs/grapesjs.js +1 -1
  132. package/package.json +1 -1
  133. package/dist/cjs/useEmailVerification-30a1c7f6.js +0 -75
  134. package/dist/collection/components/sqm-widget-verification/useWidgetVerification.js +0 -3
  135. package/dist/esm/useEmailVerification-7135732c.js +0 -72
  136. package/dist/esm-es5/ShadowViewAddon-65c8679e.js +0 -1
  137. package/dist/esm-es5/sqm-invoice-table-view-08c03ba7.js +0 -1
  138. package/dist/esm-es5/useEmailVerification-7135732c.js +0 -1
  139. package/dist/mint-components/p-117b4705.system.js +0 -1
  140. package/dist/mint-components/p-1bd0cda8.system.entry.js +0 -1
  141. package/dist/mint-components/p-1ee62d9f.system.entry.js +0 -1
  142. package/dist/mint-components/p-1f9a9b70.system.entry.js +0 -1
  143. package/dist/mint-components/p-23fdd44e.entry.js +0 -1
  144. package/dist/mint-components/p-36f7caec.system.entry.js +0 -1
  145. package/dist/mint-components/p-39397731.entry.js +0 -1
  146. package/dist/mint-components/p-39af4acd.entry.js +0 -240
  147. package/dist/mint-components/p-4c9b6fbe.system.js +0 -1
  148. package/dist/mint-components/p-65e2c043.system.js +0 -1
  149. package/dist/mint-components/p-663303b7.entry.js +0 -8
  150. package/dist/mint-components/p-6cae44d7.js +0 -1
  151. package/dist/mint-components/p-7f5c7bf7.system.entry.js +0 -1
  152. package/dist/mint-components/p-8a337864.js +0 -7
  153. package/dist/mint-components/p-a02afa72.system.js +0 -1
  154. package/dist/mint-components/p-a5a9aa07.entry.js +0 -189
  155. package/dist/mint-components/p-c763c0b2.js +0 -1
  156. package/dist/mint-components/p-e93e5740.entry.js +0 -1
  157. package/dist/mint-components/p-e9ca48fc.system.entry.js +0 -1
  158. package/dist/types/components/sqm-widget-verification/useWidgetVerification.d.ts +0 -1
@@ -1,7 +1,8 @@
1
1
  import { r as registerInstance, h as h$1, c as Host } from './index-17b4da69.js';
2
- import { b as browser, n as h, k as useState, f as useEffect, l } from './stencil-hooks.module-ac12ca1c.js';
2
+ import { b as browser, n as h, k as useState, f as useEffect } from './stencil-hooks.module-ac12ca1c.js';
3
3
  import { F as Fn, b as useCallback } from './index.module-6c840c4e.js';
4
- import { V as VERIFICATION_EVENT_KEY, a as VERIFICATION_PARENT_NAMESPACE } from './keys-a1496e39.js';
4
+ import { g as getProps } from './utils-334c1e34.js';
5
+ import { V as VERIFICATION_PARENT_NAMESPACE } from './keys-db1897ae.js';
5
6
 
6
7
  const debug = browser("sq:widget-verification");
7
8
  function useTemplateChildren({ parent, callback }) {
@@ -31,23 +32,105 @@ function useTemplateChildren({ parent, callback }) {
31
32
  };
32
33
  }
33
34
  const WidgetVerification = class {
35
+ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36
+ CODE STEP PROPS
37
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
34
38
  constructor(hostRef) {
35
39
  registerInstance(this, hostRef);
40
+ // ! Any updated must be reflected in sqm-widget-verification-internal AND sqm-email-verification AND sqm-code-verification
41
+ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42
+ EMAIL STEP PROPS
43
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
44
+ /**
45
+ * @uiName Verify email widget header text
46
+ * @uiGroup Email Verification Step
47
+ */
48
+ this.emailStep_verifyEmailHeaderText = "Start by verifying your email. We’ll send you a code through our referral provider, impact.com.";
49
+ /**
50
+ * @uiName Send code to email alert header
51
+ * @uiGroup Email Verification Step
52
+ */
53
+ this.emailStep_sendCodeErrorHeader = "There was an error sending your code.";
54
+ /**
55
+ * @uiName Send code to email alert description
56
+ * @uiGroup Email Verification Step
57
+ */
58
+ this.emailStep_sendCodeErrorDescription = "Please try again. If this problem continues, contact our program support team.";
59
+ /**
60
+ * @uiName Email input label
61
+ * @uiGroup Email Verification Step
62
+ */
63
+ this.emailStep_emailLabel = "Email";
64
+ /**
65
+ * @uiName Send code button text
66
+ * @uiGroup Email Verification Step
67
+ */
68
+ this.emailStep_sendCodeText = "Send code";
69
+ /**
70
+ * @uiName Send code button text
71
+ * @uiGroup Email Verification Step
72
+ */
73
+ this.emailStep_emailValidationErrorText = "Please enter a valid email";
74
+ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75
+ EMAIL STEP PROPS
76
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
77
+ /**
78
+ * @uiName Verify code widget header text
79
+ * @uiGroup Code Verification Step
80
+ */
81
+ this.codeStep_verifyCodeHeaderText = "Enter the code sent to {email} from our referral provider, impact.com.";
82
+ /**
83
+ * @uiName Reverify code widget header text
84
+ * @uiGroup Code Verification Step
85
+ */
86
+ this.codeStep_reverifyCodeHeaderText = "Enter the code sent to {email} from our referral provider, impact.com.";
87
+ /**
88
+ * Text displayed under verify button
89
+ * @uiName Resend code text
90
+ * @uiGroup Code Verification Step
91
+ */
92
+ this.codeStep_resendCodeText = "Didn't receive your code? {resendCodeLink}";
93
+ /**
94
+ * The link that appears in the resend code link
95
+ * @uiName Resend code label
96
+ * @uiGroup Code Verification Step
97
+ */
98
+ this.codeStep_resendCodeLabel = "Resend code";
99
+ /**
100
+ * Link text displayed under verify button
101
+ * @uiName Resend code text
102
+ * @uiGroup Code Verification Step
103
+ */
104
+ this.codeStep_codeResentSuccessfullyText = "Another code has been sent to {email}";
105
+ /**
106
+ * Error text displayed under verification input
107
+ * @uiName Invalid code text
108
+ * @uiGroup Code Verification Step
109
+ */
110
+ this.codeStep_invalidCodeText = "Please check your code and try again. If you’re still having trouble, try resending your code.";
111
+ /**
112
+ * @uiName Verify code button text
113
+ * @uiGroup Code Verification Step
114
+ */
115
+ this.codeStep_verifyText = "Verify";
116
+ /**
117
+ * Displayed when the email verification fails due to a network error. The participant can try refreshing the page.
118
+ * @uiName Network error message
119
+ * @uiGroup Code Verification Step
120
+ */
121
+ this.codeStep_networkErrorMessage = "An error occurred while verifying your email. Please refresh the page and try again.";
36
122
  h(this);
37
123
  }
38
124
  disconnectedCallback() { }
39
125
  render() {
40
126
  const [context, setContext] = Fn({
41
127
  namespace: VERIFICATION_PARENT_NAMESPACE,
42
- initialValue: undefined,
128
+ initialValue: false,
43
129
  });
44
- const authToken = context === null || context === void 0 ? void 0 : context.token;
45
130
  const [container, setContainer] = useState(undefined);
46
131
  const [slot, setSlot] = useState(undefined);
47
- if (!authToken)
48
- debug("No user identity available");
49
132
  const updateTemplates = useCallback(() => {
50
- const isAuth = !!authToken;
133
+ const isAuth = context;
51
134
  const templates = slot.querySelectorAll(`template`);
52
135
  const template = Array.from(templates).find((t) => t.slot === (isAuth ? "verified" : "not-verified"));
53
136
  if (template) {
@@ -95,7 +178,7 @@ const WidgetVerification = class {
95
178
  target.style.height = "25px";
96
179
  });
97
180
  }
98
- }, [container, slot, authToken]);
181
+ }, [container, slot, context]);
99
182
  useEffect(() => {
100
183
  if (!container || !slot) {
101
184
  debug("DOM not ready:");
@@ -104,19 +187,19 @@ const WidgetVerification = class {
104
187
  // Run on first render
105
188
  updateTemplates();
106
189
  return useTemplateChildren({ parent: slot, callback: updateTemplates });
107
- }, [slot, container, authToken]);
108
- useEffect(() => {
109
- const host = l();
110
- const callback = (e) => {
111
- e.stopPropagation();
112
- setContext({ token: e.detail.token });
113
- };
114
- host.addEventListener(VERIFICATION_EVENT_KEY, callback);
115
- return () => {
116
- host.removeEventListener(VERIFICATION_EVENT_KEY, callback);
117
- };
118
- }, []);
119
- return (h$1(Host, null, h$1("div", { ref: setSlot, style: { display: "contents" } }, h$1("template", { slot: "not-verified" }, h$1("sqm-widget-verification-internal", null)), h$1("slot", { name: "not-verified" }), h$1("slot", { name: "verified" })), h$1("div", { ref: setContainer }, h$1("slot", { name: "shown" }))));
190
+ }, [slot, container, context]);
191
+ // useEffect(() => {
192
+ // const host = useHost();
193
+ // const callback = (e: CustomEvent) => {
194
+ // e.stopPropagation();
195
+ // setContext({ token: e.detail.token });
196
+ // };
197
+ // host.addEventListener(VERIFICATION_EVENT_KEY, callback);
198
+ // return () => {
199
+ // host.removeEventListener(VERIFICATION_EVENT_KEY, callback);
200
+ // };
201
+ // }, []);
202
+ return (h$1(Host, null, h$1("div", { ref: setSlot, style: { display: "contents" } }, h$1("template", { slot: "not-verified" }, h$1("sqm-widget-verification-internal", Object.assign({}, getProps(this)))), h$1("slot", { name: "not-verified" }), h$1("slot", { name: "verified" })), h$1("div", { ref: setContainer }, h$1("slot", { name: "shown" }))));
120
203
  }
121
204
  };
122
205
 
@@ -0,0 +1,67 @@
1
+ import { k as useState, f as useEffect } from './stencil-hooks.module-ac12ca1c.js';
2
+ import { d as dist, g as getEnvironmentSDK, E as En } from './index.module-6c840c4e.js';
3
+
4
+ const GET_USER_STATUS = dist.gql `
5
+ query getUserStatus {
6
+ user: viewer {
7
+ ... on User {
8
+ id
9
+ impactConnection {
10
+ connected
11
+ publisher {
12
+ id
13
+ payoutsAccount {
14
+ hold
15
+ holdReasons
16
+ }
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
22
+ `;
23
+ function getStatus(data) {
24
+ var _a, _b, _c, _d, _e;
25
+ const account = (_b = (_a = data.user.impactConnection) === null || _a === void 0 ? void 0 : _a.publisher) === null || _b === void 0 ? void 0 : _b.payoutsAccount;
26
+ if (!((_d = (_c = data.user) === null || _c === void 0 ? void 0 : _c.impactConnection) === null || _d === void 0 ? void 0 : _d.connected) || !account)
27
+ return "INFORMATION_REQUIRED";
28
+ if ((_e = account.holdReasons) === null || _e === void 0 ? void 0 : _e.includes("IDV_CHECK_REQUIRED"))
29
+ return "VERIFICATION_NEEDED";
30
+ if (account.hold)
31
+ return "HOLD";
32
+ return "DONE";
33
+ }
34
+ function usePayoutStatus(props) {
35
+ const { type } = getEnvironmentSDK();
36
+ const { loading, data, errors, refetch } = En(GET_USER_STATUS, {});
37
+ const [status, setStatus] = useState(undefined);
38
+ const [showDialog, setShowDialog] = useState(false);
39
+ useEffect(() => {
40
+ if (!data)
41
+ return;
42
+ const s = getStatus(data);
43
+ setStatus(s);
44
+ }, [data]);
45
+ useEffect(() => {
46
+ const cb = () => refetch();
47
+ window.addEventListener("sqm:tax-form-updated", cb);
48
+ return () => window.removeEventListener("sqm:tax-form-updated", cb);
49
+ }, []);
50
+ return {
51
+ states: {
52
+ loading,
53
+ status,
54
+ showVerifyIdentity: showDialog,
55
+ error: !!errors,
56
+ },
57
+ data: { type },
58
+ text: props.getTextProps(),
59
+ callbacks: {
60
+ onTermsClick: () => window.open(props.termsUrl, "_blank").focus(),
61
+ onClick: () => setShowDialog(true),
62
+ onCancel: () => setShowDialog(false),
63
+ },
64
+ };
65
+ }
66
+
67
+ export { getStatus as g, usePayoutStatus as u };
@@ -0,0 +1,167 @@
1
+ import { k as useState, f as useEffect } from './stencil-hooks.module-ac12ca1c.js';
2
+ import { d as dist, K, o as an, c as xe } from './index.module-6c840c4e.js';
3
+
4
+ const UserLookupQuery = dist.gql `
5
+ query userLookup {
6
+ viewer {
7
+ ... on User {
8
+ id
9
+ accountId
10
+ email
11
+ impactConnection {
12
+ user {
13
+ id
14
+ email
15
+ }
16
+ }
17
+ }
18
+ }
19
+ }
20
+ `;
21
+ const ParticipantVerificationEmailMutation = dist.gql `
22
+ mutation requestUserEmailVerification($user: UserIdInput!) {
23
+ requestUserEmailVerification(user: $user) {
24
+ success
25
+ }
26
+ }
27
+ `;
28
+ const ImpactVerificationEmailMutation = dist.gql `
29
+ mutation requestImpactPublisherEmail2FA($user: UserIdInput!) {
30
+ requestImpactPublisherEmail2FA(user: $user) {
31
+ success
32
+ }
33
+ }
34
+ `;
35
+ const VerifyUserEmailMutation = dist.gql `
36
+ mutation verifyUserEmail($user: UserIdInput!, $code: String!) {
37
+ verifyUserEmail(user: $user, code: $code) {
38
+ id
39
+ accountId
40
+ email
41
+ emailVerified
42
+ }
43
+ }
44
+ `;
45
+ const SubmitImpactCodeMutation = dist.gql `
46
+ mutation submitImpactPublisherEmail2FACode(
47
+ $user: UserIdInput!
48
+ $code: String!
49
+ ) {
50
+ submitImpactPublisherEmail2FACode(user: $user, code: $code) {
51
+ verifiedEmail
52
+ accessKey
53
+ }
54
+ }
55
+ `;
56
+ // ! It's important when using this hook to ensure initialisation
57
+ // ! is done before calling any mutations
58
+ function useVerificationEmail() {
59
+ const userIdentity = K();
60
+ const [hasEmails, setHasEmails] = useState({
61
+ participant: false,
62
+ impact: false,
63
+ });
64
+ const [fetch] = an(UserLookupQuery);
65
+ // Send mutations
66
+ const [sendParticipantEmail, { loading: participantEmailLoading, errors: participantEmailErrors },] = xe(ParticipantVerificationEmailMutation);
67
+ const [sendImpactEmail, { loading: impactEmailLoading, errors: impactEmailErrors },] = xe(ImpactVerificationEmailMutation);
68
+ const sendLoading = participantEmailLoading || impactEmailLoading;
69
+ const sendErrors = participantEmailErrors || impactEmailErrors;
70
+ // Verification mutations
71
+ const [verifyUserEmail, { loading: verifyMutationLoading, errors: verifyMutationErrors },] = xe(VerifyUserEmailMutation);
72
+ const [submitImpactCode, { loading: submitImpactCodeLoading, errors: submitImpactCodeErrors },] = xe(SubmitImpactCodeMutation);
73
+ const verifyLoading = verifyMutationLoading || submitImpactCodeLoading;
74
+ const verifyErrors = verifyMutationErrors || submitImpactCodeErrors;
75
+ const [initialized, setInitialized] = useState(false);
76
+ const initialise = async () => {
77
+ var _a, _b, _c, _d;
78
+ try {
79
+ const lookup = await fetch({});
80
+ if (!lookup || lookup instanceof Error)
81
+ throw new Error();
82
+ setHasEmails({
83
+ participant: !!((_a = lookup === null || lookup === void 0 ? void 0 : lookup.viewer) === null || _a === void 0 ? void 0 : _a.email),
84
+ impact: !!((_d = (_c = (_b = lookup === null || lookup === void 0 ? void 0 : lookup.viewer) === null || _b === void 0 ? void 0 : _b.impactConnection) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.email),
85
+ });
86
+ setInitialized(true);
87
+ }
88
+ catch (e) {
89
+ console.error("Could not initialise verification", e);
90
+ }
91
+ };
92
+ const sendVerificationEmail = async () => {
93
+ let result = null;
94
+ if (!initialized)
95
+ return result;
96
+ if (!hasEmails.participant && !hasEmails.impact)
97
+ return result;
98
+ try {
99
+ const request = hasEmails.impact ? sendImpactEmail : sendParticipantEmail;
100
+ const res = await request({
101
+ user: {
102
+ id: userIdentity.id,
103
+ accountId: userIdentity.accountId,
104
+ },
105
+ });
106
+ if (res instanceof Error || !res)
107
+ throw new Error();
108
+ result = hasEmails.impact
109
+ ? res.requestImpactPublisherEmail2FA
110
+ : res.requestUserEmailVerification;
111
+ }
112
+ catch (e) {
113
+ console.error("Could not send verification email", e);
114
+ }
115
+ finally {
116
+ return result;
117
+ }
118
+ };
119
+ const verifyVerificationEmail = async (code) => {
120
+ var _a;
121
+ let result = null;
122
+ if (!initialized)
123
+ return result;
124
+ if (!hasEmails.participant && !hasEmails.impact)
125
+ return result;
126
+ try {
127
+ const request = hasEmails.impact ? submitImpactCode : verifyUserEmail;
128
+ const res = await request({
129
+ user: {
130
+ id: userIdentity.id,
131
+ accountId: userIdentity.accountId,
132
+ },
133
+ code,
134
+ });
135
+ if (res instanceof Error || !res)
136
+ throw new Error();
137
+ result = {
138
+ success: true,
139
+ accessKey: hasEmails.impact
140
+ ? (_a = res.submitImpactPublisherEmail2FACode) === null || _a === void 0 ? void 0 : _a.accessKey : undefined,
141
+ };
142
+ }
143
+ catch (e) {
144
+ console.error("Could not verify email", e);
145
+ }
146
+ finally {
147
+ return result;
148
+ }
149
+ };
150
+ useEffect(() => {
151
+ if (!initialized)
152
+ initialise();
153
+ }, []);
154
+ return {
155
+ initialized,
156
+ send: [
157
+ sendVerificationEmail,
158
+ { loading: sendLoading, errors: sendErrors },
159
+ ],
160
+ verify: [
161
+ verifyVerificationEmail,
162
+ { loading: verifyLoading, errors: verifyErrors },
163
+ ],
164
+ };
165
+ }
166
+
167
+ export { useVerificationEmail as u };