@saasquatch/mint-components 1.16.0-17 → 1.16.0-18

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 (25) hide show
  1. package/dist/cjs/sqm-banking-info-form_17.cjs.entry.js +49 -22
  2. package/dist/cjs/sqm-qr-code.cjs.entry.js +1 -13
  3. package/dist/collection/components/sqm-name-fields/sqm-name-fields.js +1 -1
  4. package/dist/collection/components/sqm-qr-code/useQRCode.js +1 -13
  5. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard-view.js +30 -13
  6. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard.js +1 -1
  7. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/useTaxAndCashDashboard.js +22 -11
  8. package/dist/esm/sqm-banking-info-form_17.entry.js +50 -23
  9. package/dist/esm/sqm-qr-code.entry.js +1 -13
  10. package/dist/esm-es5/sqm-banking-info-form_17.entry.js +1 -1
  11. package/dist/esm-es5/sqm-qr-code.entry.js +1 -1
  12. package/dist/mint-components/mint-components.esm.js +1 -1
  13. package/dist/mint-components/p-0caa2afe.system.entry.js +1 -0
  14. package/dist/mint-components/p-37996351.system.js +1 -1
  15. package/dist/mint-components/p-8b584c46.system.entry.js +1 -0
  16. package/dist/mint-components/{p-c10835fa.entry.js → p-ae600499.entry.js} +18 -12
  17. package/dist/mint-components/p-c9b08184.entry.js +17 -0
  18. package/dist/types/components/sqm-name-fields/sqm-name-fields.d.ts +1 -1
  19. package/dist/types/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard-view.d.ts +1 -0
  20. package/docs/docs.docx +0 -0
  21. package/docs/raisins.json +1 -1
  22. package/package.json +1 -1
  23. package/dist/mint-components/p-0c78815e.system.entry.js +0 -1
  24. package/dist/mint-components/p-53730ffe.entry.js +0 -17
  25. package/dist/mint-components/p-cafb67b7.system.entry.js +0 -1
@@ -5806,19 +5806,36 @@ const TaxAndCashDashboardView = (props) => {
5806
5806
  function getAlert(status) {
5807
5807
  switch (status) {
5808
5808
  case "OVER_W9_THRESHOLD":
5809
- return {
5810
- header: text.w9RequiredHeader,
5811
- description: global.intl.formatMessage({
5812
- id: "w9RequiredDescription",
5813
- defaultMessage: text.w9RequiredDescription,
5814
- }, {
5815
- termsAndConditions: (index.h("a", { target: "_blank", href: `https://terms.advocate.impact.com/PayoutTermsAndConditions.html` }, text.termsAndConditions)),
5816
- }),
5817
- button: (index.h("sl-button", { style: { marginTop: "var(--sl-spacing-x-small)" }, type: "default", onClick: callbacks.onNewFormClick }, text.w9RequiredButtonText)),
5818
- alertType: "info",
5819
- icon: "info-circle",
5820
- class: sheet$5.classes.WarningHoldAlertContainer,
5821
- };
5809
+ if (states.enforceUsTaxComplianceOption === "CASH_ONLY_DEFER_W9") {
5810
+ return {
5811
+ header: text.w9RequiredHeader,
5812
+ description: global.intl.formatMessage({
5813
+ id: "w9RequiredDescription",
5814
+ defaultMessage: text.w9RequiredDescription,
5815
+ }, {
5816
+ termsAndConditions: (index.h("a", { target: "_blank", href: `https://terms.advocate.impact.com/PayoutTermsAndConditions.html` }, text.termsAndConditions)),
5817
+ }),
5818
+ button: (index.h("sl-button", { style: { marginTop: "var(--sl-spacing-x-small)" }, type: "default", onClick: callbacks.onNewFormClick }, text.w9RequiredButtonText)),
5819
+ alertType: "info",
5820
+ icon: "info-circle",
5821
+ class: sheet$5.classes.WarningHoldAlertContainer,
5822
+ };
5823
+ }
5824
+ else {
5825
+ return {
5826
+ header: text.payoutHoldAlertHeader,
5827
+ description: global.intl.formatMessage({
5828
+ id: "payoutHoldAlertDescription",
5829
+ defaultMessage: text.payoutHoldAlertDescription,
5830
+ }, {
5831
+ supportLink: (index.h("a", { target: "_blank", href: `mailto:advocate-support@impact.com` }, text.supportLink)),
5832
+ }),
5833
+ buttonText: null,
5834
+ alertType: "warning",
5835
+ icon: "exclamation-triangle",
5836
+ class: sheet$5.classes.WarningHoldAlertContainer,
5837
+ };
5838
+ }
5822
5839
  case "VERIFICATION:REQUIRED":
5823
5840
  return {
5824
5841
  header: text.verificationRequiredHeader,
@@ -6089,6 +6106,13 @@ const TaxAndCashDashboardView = (props) => {
6089
6106
  index.h("sqm-invoice-table-data-column", { "column-title": text.earningsAfterTaxColumnTitle, property: "netEarnings" })))))))))));
6090
6107
  };
6091
6108
 
6109
+ const GET_TAX_SETTING = index_module.dist.gql `
6110
+ query getTenantSettings {
6111
+ tenantSettings {
6112
+ enforceUsTaxCompliance
6113
+ }
6114
+ }
6115
+ `;
6092
6116
  function getCountryName(countryCode, locale) {
6093
6117
  if (!countryCode)
6094
6118
  return undefined;
@@ -6124,11 +6148,12 @@ function getIndirectTaxType(taxInformation) {
6124
6148
  return "Indirect Tax";
6125
6149
  }
6126
6150
  const useTaxAndCashDashboard = (props) => {
6127
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
6151
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
6128
6152
  const setStep = index_module.En(TAX_CONTEXT_NAMESPACE);
6129
6153
  const setContext = index_module.En(TAX_FORM_CONTEXT_NAMESPACE);
6130
6154
  const [showDialog, setShowDialog] = stencilHooks_module.useState(false);
6131
6155
  const { render, loading: veriffLoading, errors: veriffErrors, } = usePayoutStatus.useVeriffApp();
6156
+ const { data: taxSettingRes } = index_module.wn(GET_TAX_SETTING, {});
6132
6157
  const locale = index_module.L();
6133
6158
  stencilHooks_module.useEffect(() => {
6134
6159
  // Clear override context once on submitted
@@ -6169,30 +6194,32 @@ const useTaxAndCashDashboard = (props) => {
6169
6194
  window.removeEventListener(usePayoutStatus.VERIFF_COMPLETE_EVENT_KEY, cb);
6170
6195
  };
6171
6196
  }, []);
6197
+ const enforceUsTaxComplianceOption = (_e = taxSettingRes === null || taxSettingRes === void 0 ? void 0 : taxSettingRes.tenantSettings) === null || _e === void 0 ? void 0 : _e.enforceUsTaxCompliance;
6172
6198
  return {
6173
6199
  states: {
6174
6200
  dateSubmitted,
6175
6201
  documentType,
6176
6202
  canEditPayoutInfo: publisher === null || publisher === void 0 ? void 0 : publisher.brandedSignup,
6177
6203
  documentTypeString: sqmInvoiceTableView.taxTypeToName(documentType),
6178
- status: (_e = publisher === null || publisher === void 0 ? void 0 : publisher.currentTaxDocument) === null || _e === void 0 ? void 0 : _e.status,
6179
- subRegion: getSubRegionName((_f = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _f === void 0 ? void 0 : _f.indirectTaxRegion),
6180
- subRegionTaxNumber: (_g = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _g === void 0 ? void 0 : _g.withholdingTaxId,
6181
- qstNumber: (_h = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _h === void 0 ? void 0 : _h.additionalTaxId,
6204
+ status: (_f = publisher === null || publisher === void 0 ? void 0 : publisher.currentTaxDocument) === null || _f === void 0 ? void 0 : _f.status,
6205
+ subRegion: getSubRegionName((_g = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _g === void 0 ? void 0 : _g.indirectTaxRegion),
6206
+ subRegionTaxNumber: (_h = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _h === void 0 ? void 0 : _h.withholdingTaxId,
6207
+ qstNumber: (_j = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _j === void 0 ? void 0 : _j.additionalTaxId,
6182
6208
  indirectTaxType: getIndirectTaxType(publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation),
6183
- indirectTaxNumber: (_j = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _j === void 0 ? void 0 : _j.indirectTaxId,
6209
+ indirectTaxNumber: (_k = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _k === void 0 ? void 0 : _k.indirectTaxId,
6184
6210
  isBusinessEntity: (publisher === null || publisher === void 0 ? void 0 : publisher.requiredTaxDocumentType) === "W8BENE",
6185
6211
  province: provinceName,
6186
- country: getCountryName((_k = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _k === void 0 ? void 0 : _k.indirectTaxCountryCode, locale),
6187
- notRegistered: !((_l = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _l === void 0 ? void 0 : _l.indirectTaxId),
6212
+ country: getCountryName((_l = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _l === void 0 ? void 0 : _l.indirectTaxCountryCode, locale),
6213
+ notRegistered: !((_m = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _m === void 0 ? void 0 : _m.indirectTaxId),
6188
6214
  noFormNeeded: !documentType,
6189
6215
  disabled: loading,
6190
6216
  loading,
6191
6217
  loadingError: !!(userError === null || userError === void 0 ? void 0 : userError.message),
6192
6218
  showNewFormDialog: showDialog,
6193
- hasHold: !!((_m = publisher === null || publisher === void 0 ? void 0 : publisher.payoutsAccount) === null || _m === void 0 ? void 0 : _m.hold),
6219
+ hasHold: !!((_o = publisher === null || publisher === void 0 ? void 0 : publisher.payoutsAccount) === null || _o === void 0 ? void 0 : _o.hold),
6194
6220
  payoutStatus,
6195
6221
  veriffLoading,
6222
+ enforceUsTaxComplianceOption,
6196
6223
  },
6197
6224
  callbacks: {
6198
6225
  onClick: () => setShowDialog(true),
@@ -48,19 +48,7 @@ function useQRCode(props) {
48
48
  if (!shareLink)
49
49
  return;
50
50
  const getQrCode = async () => {
51
- setLoading(true);
52
- try {
53
- const res = await fetch(`${shareLink}?qrCode&qrCodeImageFormat=svg&qrCodeQuietZoneSize=0`);
54
- const blob = await res.blob();
55
- const url = URL.createObjectURL(blob);
56
- setQrUrl(url);
57
- }
58
- catch (e) {
59
- setError(true);
60
- }
61
- finally {
62
- setLoading(false);
63
- }
51
+ setQrUrl(`${shareLink}?qrCode&qrCodeImageFormat=svg&qrCodeQuietZoneSize=0`);
64
52
  };
65
53
  getQrCode();
66
54
  }, [shareLink]);
@@ -6,7 +6,7 @@ import { NameFieldsView } from "./sqm-name-fields-view";
6
6
  import { useNameFields } from "./useNameFields";
7
7
  /**
8
8
  * @uiName Form Name Fields
9
- * @validParents ["sqm-portal-register","sqm-portal-registration-form"]
9
+ * @validParents ["sqm-portal-register","sqm-portal-registration-form", "sqm-portal-google-registration-form"]
10
10
  * @exampleGroup Microsite Components
11
11
  * @example Form Name Fields - <sqm-name-fields first-name-label="First Name" last-name-label="Last Name"></sqm-name-fields>
12
12
  */
@@ -39,19 +39,7 @@ export function useQRCode(props) {
39
39
  if (!shareLink)
40
40
  return;
41
41
  const getQrCode = async () => {
42
- setLoading(true);
43
- try {
44
- const res = await fetch(`${shareLink}?qrCode&qrCodeImageFormat=svg&qrCodeQuietZoneSize=0`);
45
- const blob = await res.blob();
46
- const url = URL.createObjectURL(blob);
47
- setQrUrl(url);
48
- }
49
- catch (e) {
50
- setError(true);
51
- }
52
- finally {
53
- setLoading(false);
54
- }
42
+ setQrUrl(`${shareLink}?qrCode&qrCodeImageFormat=svg&qrCodeQuietZoneSize=0`);
55
43
  };
56
44
  getQrCode();
57
45
  }, [shareLink]);
@@ -200,19 +200,36 @@ export const TaxAndCashDashboardView = (props) => {
200
200
  function getAlert(status) {
201
201
  switch (status) {
202
202
  case "OVER_W9_THRESHOLD":
203
- return {
204
- header: text.w9RequiredHeader,
205
- description: intl.formatMessage({
206
- id: "w9RequiredDescription",
207
- defaultMessage: text.w9RequiredDescription,
208
- }, {
209
- termsAndConditions: (h("a", { target: "_blank", href: `https://terms.advocate.impact.com/PayoutTermsAndConditions.html` }, text.termsAndConditions)),
210
- }),
211
- button: (h("sl-button", { style: { marginTop: "var(--sl-spacing-x-small)" }, type: "default", onClick: callbacks.onNewFormClick }, text.w9RequiredButtonText)),
212
- alertType: "info",
213
- icon: "info-circle",
214
- class: sheet.classes.WarningHoldAlertContainer,
215
- };
203
+ if (states.enforceUsTaxComplianceOption === "CASH_ONLY_DEFER_W9") {
204
+ return {
205
+ header: text.w9RequiredHeader,
206
+ description: intl.formatMessage({
207
+ id: "w9RequiredDescription",
208
+ defaultMessage: text.w9RequiredDescription,
209
+ }, {
210
+ termsAndConditions: (h("a", { target: "_blank", href: `https://terms.advocate.impact.com/PayoutTermsAndConditions.html` }, text.termsAndConditions)),
211
+ }),
212
+ button: (h("sl-button", { style: { marginTop: "var(--sl-spacing-x-small)" }, type: "default", onClick: callbacks.onNewFormClick }, text.w9RequiredButtonText)),
213
+ alertType: "info",
214
+ icon: "info-circle",
215
+ class: sheet.classes.WarningHoldAlertContainer,
216
+ };
217
+ }
218
+ else {
219
+ return {
220
+ header: text.payoutHoldAlertHeader,
221
+ description: intl.formatMessage({
222
+ id: "payoutHoldAlertDescription",
223
+ defaultMessage: text.payoutHoldAlertDescription,
224
+ }, {
225
+ supportLink: (h("a", { target: "_blank", href: `mailto:advocate-support@impact.com` }, text.supportLink)),
226
+ }),
227
+ buttonText: null,
228
+ alertType: "warning",
229
+ icon: "exclamation-triangle",
230
+ class: sheet.classes.WarningHoldAlertContainer,
231
+ };
232
+ }
216
233
  case "VERIFICATION:REQUIRED":
217
234
  return {
218
235
  header: text.verificationRequiredHeader,
@@ -1869,7 +1869,7 @@ export class TaxAndCashDashboard {
1869
1869
  "mutable": false,
1870
1870
  "complexType": {
1871
1871
  "original": "DemoData<UseTaxAndCashDashboardResult>",
1872
- "resolved": "{ states?: { status?: string; documentType: TaxDocumentType; documentTypeString: string; canEditPayoutInfo: boolean; disabled?: boolean; dateSubmitted?: string; noFormNeeded?: boolean; indirectTaxType?: string; qstNumber?: string; subRegionTaxNumber?: string; subRegion?: string; indirectTaxNumber?: string; province?: string; country?: string; notRegistered?: boolean; isBusinessEntity?: boolean; loading?: boolean; loadingError?: boolean; showNewFormDialog: boolean; hasHold: boolean; payoutStatus: PayoutStatus; veriffLoading: boolean; errors?: { general?: boolean; }; }; }",
1872
+ "resolved": "{ states?: { status?: string; documentType: TaxDocumentType; documentTypeString: string; canEditPayoutInfo: boolean; disabled?: boolean; dateSubmitted?: string; noFormNeeded?: boolean; indirectTaxType?: string; qstNumber?: string; subRegionTaxNumber?: string; subRegion?: string; indirectTaxNumber?: string; province?: string; country?: string; notRegistered?: boolean; isBusinessEntity?: boolean; loading?: boolean; loadingError?: boolean; showNewFormDialog: boolean; hasHold: boolean; payoutStatus: PayoutStatus; veriffLoading: boolean; errors?: { general?: boolean; }; enforceUsTaxComplianceOption?: string; }; }",
1873
1873
  "references": {
1874
1874
  "DemoData": {
1875
1875
  "location": "import",
@@ -1,12 +1,20 @@
1
- import { useLocale, useParentQueryValue, useSetParent, } from "@saasquatch/component-boilerplate";
1
+ import { useLocale, useParentQueryValue, useQuery, useSetParent, } from "@saasquatch/component-boilerplate";
2
2
  import { useEffect, useState } from "@saasquatch/universal-hooks";
3
3
  import { DateTime } from "luxon";
4
4
  import { vatLabels } from "../countries";
5
- import { getStatus } from "../sqm-payout-status-alert/usePayoutStatus";
5
+ import { getStatus, } from "../sqm-payout-status-alert/usePayoutStatus";
6
6
  import { TAX_CONTEXT_NAMESPACE, TAX_FORM_CONTEXT_NAMESPACE, USER_QUERY_NAMESPACE, } from "../sqm-tax-and-cash/data";
7
7
  import { INDIRECT_TAX_PROVINCES, INDIRECT_TAX_SPAIN_REGIONS, } from "../subregions";
8
8
  import { useVeriffApp, VERIFF_COMPLETE_EVENT_KEY } from "../useVeriffApp";
9
9
  import { taxTypeToName } from "../utils";
10
+ import { gql } from "graphql-request";
11
+ const GET_TAX_SETTING = gql `
12
+ query getTenantSettings {
13
+ tenantSettings {
14
+ enforceUsTaxCompliance
15
+ }
16
+ }
17
+ `;
10
18
  function getCountryName(countryCode, locale) {
11
19
  if (!countryCode)
12
20
  return undefined;
@@ -42,11 +50,12 @@ function getIndirectTaxType(taxInformation) {
42
50
  return "Indirect Tax";
43
51
  }
44
52
  export const useTaxAndCashDashboard = (props) => {
45
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
46
54
  const setStep = useSetParent(TAX_CONTEXT_NAMESPACE);
47
55
  const setContext = useSetParent(TAX_FORM_CONTEXT_NAMESPACE);
48
56
  const [showDialog, setShowDialog] = useState(false);
49
57
  const { render, loading: veriffLoading, errors: veriffErrors, } = useVeriffApp();
58
+ const { data: taxSettingRes } = useQuery(GET_TAX_SETTING, {});
50
59
  const locale = useLocale();
51
60
  useEffect(() => {
52
61
  // Clear override context once on submitted
@@ -87,30 +96,32 @@ export const useTaxAndCashDashboard = (props) => {
87
96
  window.removeEventListener(VERIFF_COMPLETE_EVENT_KEY, cb);
88
97
  };
89
98
  }, []);
99
+ const enforceUsTaxComplianceOption = (_e = taxSettingRes === null || taxSettingRes === void 0 ? void 0 : taxSettingRes.tenantSettings) === null || _e === void 0 ? void 0 : _e.enforceUsTaxCompliance;
90
100
  return {
91
101
  states: {
92
102
  dateSubmitted,
93
103
  documentType,
94
104
  canEditPayoutInfo: publisher === null || publisher === void 0 ? void 0 : publisher.brandedSignup,
95
105
  documentTypeString: taxTypeToName(documentType),
96
- status: (_e = publisher === null || publisher === void 0 ? void 0 : publisher.currentTaxDocument) === null || _e === void 0 ? void 0 : _e.status,
97
- subRegion: getSubRegionName((_f = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _f === void 0 ? void 0 : _f.indirectTaxRegion),
98
- subRegionTaxNumber: (_g = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _g === void 0 ? void 0 : _g.withholdingTaxId,
99
- qstNumber: (_h = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _h === void 0 ? void 0 : _h.additionalTaxId,
106
+ status: (_f = publisher === null || publisher === void 0 ? void 0 : publisher.currentTaxDocument) === null || _f === void 0 ? void 0 : _f.status,
107
+ subRegion: getSubRegionName((_g = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _g === void 0 ? void 0 : _g.indirectTaxRegion),
108
+ subRegionTaxNumber: (_h = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _h === void 0 ? void 0 : _h.withholdingTaxId,
109
+ qstNumber: (_j = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _j === void 0 ? void 0 : _j.additionalTaxId,
100
110
  indirectTaxType: getIndirectTaxType(publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation),
101
- indirectTaxNumber: (_j = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _j === void 0 ? void 0 : _j.indirectTaxId,
111
+ indirectTaxNumber: (_k = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _k === void 0 ? void 0 : _k.indirectTaxId,
102
112
  isBusinessEntity: (publisher === null || publisher === void 0 ? void 0 : publisher.requiredTaxDocumentType) === "W8BENE",
103
113
  province: provinceName,
104
- country: getCountryName((_k = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _k === void 0 ? void 0 : _k.indirectTaxCountryCode, locale),
105
- notRegistered: !((_l = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _l === void 0 ? void 0 : _l.indirectTaxId),
114
+ country: getCountryName((_l = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _l === void 0 ? void 0 : _l.indirectTaxCountryCode, locale),
115
+ notRegistered: !((_m = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _m === void 0 ? void 0 : _m.indirectTaxId),
106
116
  noFormNeeded: !documentType,
107
117
  disabled: loading,
108
118
  loading,
109
119
  loadingError: !!(userError === null || userError === void 0 ? void 0 : userError.message),
110
120
  showNewFormDialog: showDialog,
111
- hasHold: !!((_m = publisher === null || publisher === void 0 ? void 0 : publisher.payoutsAccount) === null || _m === void 0 ? void 0 : _m.hold),
121
+ hasHold: !!((_o = publisher === null || publisher === void 0 ? void 0 : publisher.payoutsAccount) === null || _o === void 0 ? void 0 : _o.hold),
112
122
  payoutStatus,
113
123
  veriffLoading,
124
+ enforceUsTaxComplianceOption,
114
125
  },
115
126
  callbacks: {
116
127
  onClick: () => setShowDialog(true),
@@ -1,7 +1,7 @@
1
1
  import { h, r as registerInstance, c as Host, g as getElement } from './index-91e7729f.js';
2
2
  import { m as useRef, k as useState, f as useEffect, n as h$1, l, u as useMemo, b as browser, j as useReducer } from './stencil-hooks.module-4bc38af4.js';
3
3
  import { i as intl } from './global-be1f9992.js';
4
- import { d as dist, _, L, J, t as Pn, F as Fn, x as $n, $ as $e, i as isDemo, q as En, u as useCallback, R as Rn, M as Mn, I as In, S as Sn } from './index.module-89a79f66.js';
4
+ import { d as dist, _, L, J, t as Pn, F as Fn, x as $n, $ as $e, i as isDemo, q as En, u as useCallback, R as Rn, M as Mn, I as In, S as Sn, w as wn } from './index.module-89a79f66.js';
5
5
  import { j as jsonpointer } from './jsonpointer-388a7082.js';
6
6
  import { c as cjs } from './cjs-bdfb4486.js';
7
7
  import { g as getProps, l as luxonLocale } from './utils-334c1e34.js';
@@ -5802,19 +5802,36 @@ const TaxAndCashDashboardView = (props) => {
5802
5802
  function getAlert(status) {
5803
5803
  switch (status) {
5804
5804
  case "OVER_W9_THRESHOLD":
5805
- return {
5806
- header: text.w9RequiredHeader,
5807
- description: intl.formatMessage({
5808
- id: "w9RequiredDescription",
5809
- defaultMessage: text.w9RequiredDescription,
5810
- }, {
5811
- termsAndConditions: (h("a", { target: "_blank", href: `https://terms.advocate.impact.com/PayoutTermsAndConditions.html` }, text.termsAndConditions)),
5812
- }),
5813
- button: (h("sl-button", { style: { marginTop: "var(--sl-spacing-x-small)" }, type: "default", onClick: callbacks.onNewFormClick }, text.w9RequiredButtonText)),
5814
- alertType: "info",
5815
- icon: "info-circle",
5816
- class: sheet$5.classes.WarningHoldAlertContainer,
5817
- };
5805
+ if (states.enforceUsTaxComplianceOption === "CASH_ONLY_DEFER_W9") {
5806
+ return {
5807
+ header: text.w9RequiredHeader,
5808
+ description: intl.formatMessage({
5809
+ id: "w9RequiredDescription",
5810
+ defaultMessage: text.w9RequiredDescription,
5811
+ }, {
5812
+ termsAndConditions: (h("a", { target: "_blank", href: `https://terms.advocate.impact.com/PayoutTermsAndConditions.html` }, text.termsAndConditions)),
5813
+ }),
5814
+ button: (h("sl-button", { style: { marginTop: "var(--sl-spacing-x-small)" }, type: "default", onClick: callbacks.onNewFormClick }, text.w9RequiredButtonText)),
5815
+ alertType: "info",
5816
+ icon: "info-circle",
5817
+ class: sheet$5.classes.WarningHoldAlertContainer,
5818
+ };
5819
+ }
5820
+ else {
5821
+ return {
5822
+ header: text.payoutHoldAlertHeader,
5823
+ description: intl.formatMessage({
5824
+ id: "payoutHoldAlertDescription",
5825
+ defaultMessage: text.payoutHoldAlertDescription,
5826
+ }, {
5827
+ supportLink: (h("a", { target: "_blank", href: `mailto:advocate-support@impact.com` }, text.supportLink)),
5828
+ }),
5829
+ buttonText: null,
5830
+ alertType: "warning",
5831
+ icon: "exclamation-triangle",
5832
+ class: sheet$5.classes.WarningHoldAlertContainer,
5833
+ };
5834
+ }
5818
5835
  case "VERIFICATION:REQUIRED":
5819
5836
  return {
5820
5837
  header: text.verificationRequiredHeader,
@@ -6085,6 +6102,13 @@ const TaxAndCashDashboardView = (props) => {
6085
6102
  h("sqm-invoice-table-data-column", { "column-title": text.earningsAfterTaxColumnTitle, property: "netEarnings" })))))))))));
6086
6103
  };
6087
6104
 
6105
+ const GET_TAX_SETTING = dist.gql `
6106
+ query getTenantSettings {
6107
+ tenantSettings {
6108
+ enforceUsTaxCompliance
6109
+ }
6110
+ }
6111
+ `;
6088
6112
  function getCountryName(countryCode, locale) {
6089
6113
  if (!countryCode)
6090
6114
  return undefined;
@@ -6120,11 +6144,12 @@ function getIndirectTaxType(taxInformation) {
6120
6144
  return "Indirect Tax";
6121
6145
  }
6122
6146
  const useTaxAndCashDashboard = (props) => {
6123
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
6147
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
6124
6148
  const setStep = En(TAX_CONTEXT_NAMESPACE);
6125
6149
  const setContext = En(TAX_FORM_CONTEXT_NAMESPACE);
6126
6150
  const [showDialog, setShowDialog] = useState(false);
6127
6151
  const { render, loading: veriffLoading, errors: veriffErrors, } = useVeriffApp();
6152
+ const { data: taxSettingRes } = wn(GET_TAX_SETTING, {});
6128
6153
  const locale = L();
6129
6154
  useEffect(() => {
6130
6155
  // Clear override context once on submitted
@@ -6165,30 +6190,32 @@ const useTaxAndCashDashboard = (props) => {
6165
6190
  window.removeEventListener(VERIFF_COMPLETE_EVENT_KEY, cb);
6166
6191
  };
6167
6192
  }, []);
6193
+ const enforceUsTaxComplianceOption = (_e = taxSettingRes === null || taxSettingRes === void 0 ? void 0 : taxSettingRes.tenantSettings) === null || _e === void 0 ? void 0 : _e.enforceUsTaxCompliance;
6168
6194
  return {
6169
6195
  states: {
6170
6196
  dateSubmitted,
6171
6197
  documentType,
6172
6198
  canEditPayoutInfo: publisher === null || publisher === void 0 ? void 0 : publisher.brandedSignup,
6173
6199
  documentTypeString: taxTypeToName(documentType),
6174
- status: (_e = publisher === null || publisher === void 0 ? void 0 : publisher.currentTaxDocument) === null || _e === void 0 ? void 0 : _e.status,
6175
- subRegion: getSubRegionName((_f = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _f === void 0 ? void 0 : _f.indirectTaxRegion),
6176
- subRegionTaxNumber: (_g = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _g === void 0 ? void 0 : _g.withholdingTaxId,
6177
- qstNumber: (_h = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _h === void 0 ? void 0 : _h.additionalTaxId,
6200
+ status: (_f = publisher === null || publisher === void 0 ? void 0 : publisher.currentTaxDocument) === null || _f === void 0 ? void 0 : _f.status,
6201
+ subRegion: getSubRegionName((_g = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _g === void 0 ? void 0 : _g.indirectTaxRegion),
6202
+ subRegionTaxNumber: (_h = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _h === void 0 ? void 0 : _h.withholdingTaxId,
6203
+ qstNumber: (_j = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _j === void 0 ? void 0 : _j.additionalTaxId,
6178
6204
  indirectTaxType: getIndirectTaxType(publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation),
6179
- indirectTaxNumber: (_j = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _j === void 0 ? void 0 : _j.indirectTaxId,
6205
+ indirectTaxNumber: (_k = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _k === void 0 ? void 0 : _k.indirectTaxId,
6180
6206
  isBusinessEntity: (publisher === null || publisher === void 0 ? void 0 : publisher.requiredTaxDocumentType) === "W8BENE",
6181
6207
  province: provinceName,
6182
- country: getCountryName((_k = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _k === void 0 ? void 0 : _k.indirectTaxCountryCode, locale),
6183
- notRegistered: !((_l = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _l === void 0 ? void 0 : _l.indirectTaxId),
6208
+ country: getCountryName((_l = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _l === void 0 ? void 0 : _l.indirectTaxCountryCode, locale),
6209
+ notRegistered: !((_m = publisher === null || publisher === void 0 ? void 0 : publisher.taxInformation) === null || _m === void 0 ? void 0 : _m.indirectTaxId),
6184
6210
  noFormNeeded: !documentType,
6185
6211
  disabled: loading,
6186
6212
  loading,
6187
6213
  loadingError: !!(userError === null || userError === void 0 ? void 0 : userError.message),
6188
6214
  showNewFormDialog: showDialog,
6189
- hasHold: !!((_m = publisher === null || publisher === void 0 ? void 0 : publisher.payoutsAccount) === null || _m === void 0 ? void 0 : _m.hold),
6215
+ hasHold: !!((_o = publisher === null || publisher === void 0 ? void 0 : publisher.payoutsAccount) === null || _o === void 0 ? void 0 : _o.hold),
6190
6216
  payoutStatus,
6191
6217
  veriffLoading,
6218
+ enforceUsTaxComplianceOption,
6192
6219
  },
6193
6220
  callbacks: {
6194
6221
  onClick: () => setShowDialog(true),
@@ -44,19 +44,7 @@ function useQRCode(props) {
44
44
  if (!shareLink)
45
45
  return;
46
46
  const getQrCode = async () => {
47
- setLoading(true);
48
- try {
49
- const res = await fetch(`${shareLink}?qrCode&qrCodeImageFormat=svg&qrCodeQuietZoneSize=0`);
50
- const blob = await res.blob();
51
- const url = URL.createObjectURL(blob);
52
- setQrUrl(url);
53
- }
54
- catch (e) {
55
- setError(true);
56
- }
57
- finally {
58
- setLoading(false);
59
- }
47
+ setQrUrl(`${shareLink}?qrCode&qrCodeImageFormat=svg&qrCodeQuietZoneSize=0`);
60
48
  };
61
49
  getQrCode();
62
50
  }, [shareLink]);