@saasquatch/mint-components 2.3.1 → 2.4.1-1

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 (30) hide show
  1. package/dist/cjs/sqm-email-verification_2.cjs.entry.js +40 -15
  2. package/dist/cjs/{sqm-partner-info-modal-view-243aad7b.js → sqm-partner-info-modal-view-431100ad.js} +13 -4
  3. package/dist/cjs/sqm-stencilbook.cjs.entry.js +47 -6
  4. package/dist/collection/components/sqm-partner-info-modal/PartnerInfoModal.stories.js +38 -0
  5. package/dist/collection/components/sqm-partner-info-modal/sqm-partner-info-modal-view.js +14 -5
  6. package/dist/collection/components/sqm-partner-info-modal/sqm-partner-info-modal.js +1 -1
  7. package/dist/collection/components/sqm-partner-info-modal/usePartnerInfoModal.js +38 -13
  8. package/dist/collection/components/sqm-widget-verification/sqm-email-verification/sqm-email-verification.js +1 -1
  9. package/dist/esm/sqm-email-verification_2.entry.js +40 -15
  10. package/dist/esm/{sqm-partner-info-modal-view-8f141a4f.js → sqm-partner-info-modal-view-34d4be5b.js} +14 -5
  11. package/dist/esm/sqm-stencilbook.entry.js +47 -6
  12. package/dist/esm-es5/sqm-email-verification_2.entry.js +1 -1
  13. package/dist/esm-es5/sqm-partner-info-modal-view-34d4be5b.js +1 -0
  14. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  15. package/dist/mint-components/mint-components.esm.js +1 -1
  16. package/dist/mint-components/{p-f77b89cb.entry.js → p-2e33148c.entry.js} +2 -2
  17. package/dist/mint-components/{p-1f68a3e6.system.entry.js → p-3784c92c.system.entry.js} +1 -1
  18. package/dist/mint-components/p-ad90628d.system.js +1 -0
  19. package/dist/mint-components/p-bfb00685.system.js +1 -1
  20. package/dist/mint-components/{p-61f7bf8a.entry.js → p-c3025801.entry.js} +6 -6
  21. package/dist/mint-components/p-c36fedea.js +1 -0
  22. package/dist/mint-components/p-f8ec1f37.system.entry.js +1 -0
  23. package/dist/types/components/sqm-partner-info-modal/PartnerInfoModal.stories.d.ts +3 -0
  24. package/dist/types/components/sqm-partner-info-modal/sqm-partner-info-modal-view.d.ts +5 -0
  25. package/docs/docs.docx +0 -0
  26. package/package.json +1 -1
  27. package/dist/esm-es5/sqm-partner-info-modal-view-8f141a4f.js +0 -1
  28. package/dist/mint-components/p-55847fc2.system.entry.js +0 -1
  29. package/dist/mint-components/p-a094da68.js +0 -1
  30. package/dist/mint-components/p-e7f45f18.system.js +0 -1
@@ -7,7 +7,7 @@ import { g as getProps } from './utils-334c1e34.js';
7
7
  import { c as createStyleSheet } from './JSS-67b5cff8.js';
8
8
  import { T as TextSpanView } from './sqm-text-span-view-72f43dff.js';
9
9
  import { g as GET_FINANCE_NETWORK_SETTINGS } from './data-8698cbc6.js';
10
- import { a as PartnerInfoModalContentView, P as PartnerInfoModalView } from './sqm-partner-info-modal-view-8f141a4f.js';
10
+ import { a as PartnerInfoModalContentView, P as PartnerInfoModalView } from './sqm-partner-info-modal-view-34d4be5b.js';
11
11
  import { S as SHOW_CODE_NAMESPACE, a as VERIFICATION_EMAIL_NAMESPACE, P as PARTNER_CREATED_NAMESPACE } from './keys-1054056a.js';
12
12
  import { T as TAX_FORM_UPDATED_EVENT_KEY } from './eventKeys-f76b6a03.js';
13
13
  import { p as parseStates } from './parseStates-ed75e224.js';
@@ -410,7 +410,7 @@ function useDemoWidgetEmailVerification(props) {
410
410
  const setShowCode = En(SHOW_CODE_NAMESPACE);
411
411
  return cjs({
412
412
  states: {
413
- error: true,
413
+ error: false,
414
414
  initialLoading: false,
415
415
  loading: false,
416
416
  email: "test@example.com",
@@ -494,17 +494,19 @@ const START_IMPACT_CONNECTION = dist.gql `
494
494
  }
495
495
  `;
496
496
  function usePartnerInfoModal(props) {
497
- var _a, _b, _c, _d, _e;
497
+ var _a, _b, _c, _d, _e, _f, _g;
498
498
  const locale = L();
499
499
  const setPartnerCreated = En(PARTNER_CREATED_NAMESPACE);
500
500
  const { data: userData, loading: userLoading, refetch, } = wn(GET_USER_PARTNER_INFO, {});
501
501
  const user = userData === null || userData === void 0 ? void 0 : userData.user;
502
502
  const { data: currenciesData, loading: currenciesLoading } = wn(GET_CURRENCIES, { variables: { locale } });
503
503
  const { data: countriesData, loading: countriesLoading } = wn(GET_COUNTRIES, {});
504
+ const [shouldDisplayNameFields, setShouldDisplayNameFields] = useState(false);
505
+ const [firstName, setFirstName] = useState((_a = user === null || user === void 0 ? void 0 : user.firstName) !== null && _a !== void 0 ? _a : "");
506
+ const [lastName, setLastName] = useState((_b = user === null || user === void 0 ? void 0 : user.lastName) !== null && _b !== void 0 ? _b : "");
504
507
  // No pre-filled country, use locale to determine countryCode instead
505
- const [countryCode, setCountryCode] = useState(((_b = (_a = user === null || user === void 0 ? void 0 : user.impactConnection) === null || _a === void 0 ? void 0 : _a.publisher) === null || _b === void 0 ? void 0 : _b.countryCode) ||
506
- locale.replace(/^.*_/, ""));
507
- const [currency, setCurrency] = useState(((_d = (_c = user === null || user === void 0 ? void 0 : user.impactConnection) === null || _c === void 0 ? void 0 : _c.publisher) === null || _d === void 0 ? void 0 : _d.currency) || "");
508
+ const [countryCode, setCountryCode] = useState(((_d = (_c = user === null || user === void 0 ? void 0 : user.impactConnection) === null || _c === void 0 ? void 0 : _c.publisher) === null || _d === void 0 ? void 0 : _d.countryCode) || locale.replace(/^.*_/, ""));
509
+ const [currency, setCurrency] = useState(((_f = (_e = user === null || user === void 0 ? void 0 : user.impactConnection) === null || _e === void 0 ? void 0 : _e.publisher) === null || _f === void 0 ? void 0 : _f.currency) || "");
508
510
  const { data: financeNetworkData } = wn(GET_FINANCE_NETWORK_SETTINGS, {
509
511
  variables: { filter: countryCode ? { countryCode_eq: countryCode } : {} },
510
512
  });
@@ -523,7 +525,7 @@ function usePartnerInfoModal(props) {
523
525
  return a.displayName.localeCompare(b.displayName);
524
526
  });
525
527
  }, [countriesData]);
526
- const isExistingPartner = !!((_e = user === null || user === void 0 ? void 0 : user.impactConnection) === null || _e === void 0 ? void 0 : _e.publisher);
528
+ const isExistingPartner = !!((_g = user === null || user === void 0 ? void 0 : user.impactConnection) === null || _g === void 0 ? void 0 : _g.publisher);
527
529
  const _currencies = useMemo(() => {
528
530
  var _a, _b, _c;
529
531
  // if isExistingPartner, grab all currencies since select is disabled anyways
@@ -550,14 +552,21 @@ function usePartnerInfoModal(props) {
550
552
  const [filteredCurrencies, setFilteredCurrencies] = useState(currencies || []);
551
553
  const [error, setError] = useState("");
552
554
  const [success, setSuccess] = useState(false);
555
+ const [initialized, setInitialized] = useState(false);
553
556
  useEffect(() => {
554
557
  var _a;
555
- const publisher = (_a = user === null || user === void 0 ? void 0 : user.impactConnection) === null || _a === void 0 ? void 0 : _a.publisher;
556
- if (!userData || !publisher)
558
+ if (initialized || !user)
557
559
  return;
558
- setCountryCode(publisher.countryCode);
559
- setCurrency(publisher.currency);
560
- }, [userData, user]);
560
+ setShouldDisplayNameFields(!user.firstName || !user.lastName);
561
+ setFirstName(user.firstName || "");
562
+ setLastName(user.lastName || "");
563
+ const publisher = (_a = user.impactConnection) === null || _a === void 0 ? void 0 : _a.publisher;
564
+ if (publisher) {
565
+ setCountryCode(publisher.countryCode);
566
+ setCurrency(publisher.currency);
567
+ }
568
+ setInitialized(true);
569
+ }, [user, initialized]);
561
570
  useEffect(() => {
562
571
  if (!(countries === null || countries === void 0 ? void 0 : countries.length))
563
572
  return;
@@ -579,6 +588,14 @@ function usePartnerInfoModal(props) {
579
588
  }
580
589
  }, [currencySearch, currencies]);
581
590
  const impactConnection = user === null || user === void 0 ? void 0 : user.impactConnection;
591
+ function onFirstNameChange(e) {
592
+ const value = e.target.value;
593
+ setFirstName(value);
594
+ }
595
+ function onLastNameChange(e) {
596
+ const value = e.target.value;
597
+ setLastName(value);
598
+ }
582
599
  function onCountryChange(e) {
583
600
  var _a, _b;
584
601
  const value = (_b = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.item) === null || _b === void 0 ? void 0 : _b.__value;
@@ -602,7 +619,10 @@ function usePartnerInfoModal(props) {
602
619
  }
603
620
  async function onSubmit() {
604
621
  var _a, _b;
605
- if (!allowBankingCollection || !countryCode || !currency) {
622
+ if (!allowBankingCollection ||
623
+ !countryCode ||
624
+ !currency ||
625
+ (shouldDisplayNameFields && (!firstName || !lastName))) {
606
626
  setError(props.missingFieldsErrorText);
607
627
  return;
608
628
  }
@@ -617,8 +637,8 @@ function usePartnerInfoModal(props) {
617
637
  id: user.id,
618
638
  accountId: user.accountId,
619
639
  },
620
- firstName: user.firstName,
621
- lastName: user.lastName,
640
+ firstName,
641
+ lastName,
622
642
  countryCode,
623
643
  currency,
624
644
  };
@@ -653,7 +673,10 @@ function usePartnerInfoModal(props) {
653
673
  open: showModal,
654
674
  loading: userLoading || countriesLoading || currenciesLoading,
655
675
  submitting: connectLoading,
676
+ shouldDisplayNameFields,
656
677
  isExistingPartner,
678
+ firstName,
679
+ lastName,
657
680
  countryCode,
658
681
  currency,
659
682
  error,
@@ -664,6 +687,8 @@ function usePartnerInfoModal(props) {
664
687
  disabled: userLoading || connectLoading,
665
688
  },
666
689
  callbacks: {
690
+ onFirstNameChange,
691
+ onLastNameChange,
667
692
  onCountryChange,
668
693
  onCurrencyChange,
669
694
  onCheckboxChange,
@@ -1,4 +1,4 @@
1
- import { h } from './index-38ad4957.js';
1
+ import { h, F as Fragment } from './index-38ad4957.js';
2
2
  import { i as intl } from './global-32d00a6e.js';
3
3
  import { c as createStyleSheet } from './JSS-67b5cff8.js';
4
4
 
@@ -28,6 +28,12 @@ const style = {
28
28
  gap: "var(--sl-spacing-medium)",
29
29
  marginTop: "var(--sl-spacing-large)",
30
30
  },
31
+ NameInput: {
32
+ "&::part(label)": {
33
+ fontWeight: "var(--sl-font-weight-normal)",
34
+ fontSize: "var(--sl-input-label-font-size-medium)",
35
+ },
36
+ },
31
37
  ErrorMessage: {
32
38
  marginTop: "var(--sl-spacing-x-small)",
33
39
  },
@@ -95,11 +101,12 @@ function PartnerInfoModalContentView(props) {
95
101
  termsAndConditionsLink: (h("a", { href: text.termsAndConditionsLink, target: "_blank" }, text.termsAndConditionsLabel)),
96
102
  });
97
103
  return (h("div", null,
98
- h("style", { type: "text/css" },
99
- " ",
100
- styleString),
104
+ h("style", { type: "text/css" }, styleString),
101
105
  h("div", { class: sheet.classes.FormFields },
102
106
  description,
107
+ states.shouldDisplayNameFields && (h(Fragment, null,
108
+ h("sl-input", { exportparts: "label: input-label, base: input-base", class: sheet.classes.NameInput, label: "First Name", value: states.firstName, "onSl-input": callbacks.onFirstNameChange, disabled: states.submitting, required: true }),
109
+ h("sl-input", { exportparts: "label: input-label, base: input-base", class: sheet.classes.NameInput, label: "Last Name", value: states.lastName, "onSl-input": callbacks.onLastNameChange, disabled: states.submitting, required: true }))),
103
110
  h("sl-select", { exportparts: "label: input-label, base: input-base, menu: select-menu", label: text.countryLabel, value: states.countryCode, disabled: states.submitting ||
104
111
  (!!states.countryCode && states.isExistingPartner), required: true, hoist: true, "onSl-select": callbacks.onCountryChange },
105
112
  h("sl-input", { class: sheet.classes.SearchInput, placeholder: text.searchCountryPlaceholder, onKeyDown: (e) => e.stopPropagation(), "onSl-input": (e) => {
@@ -121,7 +128,9 @@ function PartnerInfoModalContentView(props) {
121
128
  h("sl-button", { slot: "footer", type: "primary", loading: states.submitting, disabled: states.submitting ||
122
129
  !states.countryCode ||
123
130
  !states.currency ||
124
- !states.allowBankingCollection, onClick: callbacks.onSubmit, class: sheet.classes.SubmitButton, exportparts: "base: primarybutton-base" }, buttonLabel)));
131
+ !states.allowBankingCollection ||
132
+ (states.shouldDisplayNameFields &&
133
+ (!states.firstName || !states.lastName)), onClick: callbacks.onSubmit, class: sheet.classes.SubmitButton, exportparts: "base: primarybutton-base" }, buttonLabel)));
125
134
  }
126
135
  function PartnerInfoModalView(props) {
127
136
  const { states, text, callbacks } = props;
@@ -36,7 +36,7 @@ import { P as PortalContainerView, a as PortalSectionView } from './sqm-portal-c
36
36
  import { I as InvoiceTableView, T as TaxAndCashDashboardView$1, O as OtherRegionSlotView, U as UserInfoFormView$1 } from './sqm-user-info-form-view-ceb3917a.js';
37
37
  import { L as LeadInputFieldView } from './sqm-lead-input-field-view-671ff96f.js';
38
38
  import './data-8698cbc6.js';
39
- import { P as PartnerInfoModalView } from './sqm-partner-info-modal-view-8f141a4f.js';
39
+ import { P as PartnerInfoModalView } from './sqm-partner-info-modal-view-34d4be5b.js';
40
40
 
41
41
  /**
42
42
  * lodash (Custom Build) <https://lodash.com/>
@@ -19286,6 +19286,8 @@ const demoCurrencies = [
19286
19286
  { currencyCode: "AUD", displayName: "Australian Dollar" },
19287
19287
  ];
19288
19288
  const noopCallbacks = {
19289
+ onFirstNameChange: (e) => console.log("First name changed:", e),
19290
+ onLastNameChange: (e) => console.log("Last name changed:", e),
19289
19291
  onCountryChange: (e) => console.log("Country changed:", e),
19290
19292
  onCurrencyChange: (e) => console.log("Currency changed:", e),
19291
19293
  onCheckboxChange: (e) => console.log("Checkbox changed:", e),
@@ -19318,6 +19320,9 @@ const defaultProps$y = {
19318
19320
  loading: false,
19319
19321
  submitting: false,
19320
19322
  isExistingPartner: false,
19323
+ shouldDisplayNameFields: false,
19324
+ firstName: "",
19325
+ lastName: "",
19321
19326
  countryCode: "",
19322
19327
  currency: "",
19323
19328
  error: "",
@@ -19435,6 +19440,39 @@ const SQMComponentNewPartner = () => {
19435
19440
  states: { open: true, isExistingPartner: false },
19436
19441
  } }));
19437
19442
  };
19443
+ const PartnerHasFirstAndLastName = () => {
19444
+ const props = {
19445
+ ...defaultProps$y,
19446
+ states: {
19447
+ ...defaultProps$y.states,
19448
+ firstName: "John",
19449
+ lastName: "Doe",
19450
+ },
19451
+ };
19452
+ return h(PartnerInfoModalView, Object.assign({}, props));
19453
+ };
19454
+ const PartnerHasFirstNameOnly = () => {
19455
+ const props = {
19456
+ ...defaultProps$y,
19457
+ states: {
19458
+ ...defaultProps$y.states,
19459
+ firstName: "John",
19460
+ lastName: "",
19461
+ shouldDisplayNameFields: true,
19462
+ },
19463
+ };
19464
+ return h(PartnerInfoModalView, Object.assign({}, props));
19465
+ };
19466
+ const Loading$i = () => {
19467
+ const props = {
19468
+ ...defaultProps$y,
19469
+ states: {
19470
+ ...defaultProps$y.states,
19471
+ loading: true,
19472
+ },
19473
+ };
19474
+ return h(PartnerInfoModalView, Object.assign({}, props));
19475
+ };
19438
19476
 
19439
19477
  const PartnerInfoModal = /*#__PURE__*/Object.freeze({
19440
19478
  __proto__: null,
@@ -19449,7 +19487,10 @@ const PartnerInfoModal = /*#__PURE__*/Object.freeze({
19449
19487
  ValidationError: ValidationError$1,
19450
19488
  Closed: Closed,
19451
19489
  SQMComponentExistingPartner: SQMComponentExistingPartner,
19452
- SQMComponentNewPartner: SQMComponentNewPartner
19490
+ SQMComponentNewPartner: SQMComponentNewPartner,
19491
+ PartnerHasFirstAndLastName: PartnerHasFirstAndLastName,
19492
+ PartnerHasFirstNameOnly: PartnerHasFirstNameOnly,
19493
+ Loading: Loading$i
19453
19494
  });
19454
19495
 
19455
19496
  const WidgetVerification_stories = {
@@ -19464,7 +19505,7 @@ const Step2Code = () => (h("sqm-widget-verification", { stateController: JSON.st
19464
19505
  const Step3PartnerModal = () => (h("sqm-widget-verification", { stateController: JSON.stringify({
19465
19506
  "sqm-widget-verification": { showPartnerModal: true },
19466
19507
  }) }));
19467
- const Loading$i = () => (h("sqm-widget-verification", { stateController: JSON.stringify({
19508
+ const Loading$j = () => (h("sqm-widget-verification", { stateController: JSON.stringify({
19468
19509
  "sqm-widget-verification": { loading: true },
19469
19510
  }) }));
19470
19511
 
@@ -19474,7 +19515,7 @@ const WidgetVerification = /*#__PURE__*/Object.freeze({
19474
19515
  Step1Email: Step1Email,
19475
19516
  Step2Code: Step2Code,
19476
19517
  Step3PartnerModal: Step3PartnerModal,
19477
- Loading: Loading$i
19518
+ Loading: Loading$j
19478
19519
  });
19479
19520
 
19480
19521
  const scenario$G = "@owner:zach @author:zach\nFeature: User Attribute\n Displays a user's custom field value.\n\n Background: A user exists\n Given a user is logged in\n And the user has custom fields\n\n @motivating\n Scenario: A custom field value is displayed\n Given the component has prop \"value\" with value \"firstName\"\n And the user has a custom field \"firstName\" with value \"John\"\n When the component is rendered\n Then the text \"John\" is displayed\n\n @landmine\n Scenario: Nothing is rendered when the custom field does not exist\n Given the component has prop \"value\" with value \"nonExistentField\"\n And the user does not have a custom field \"nonExistentField\"\n Then component is not rendered\n And nothing is displayed\n\n @motivating\n Scenario: Nothing is rendered while user data is loading\n Given the component is loading user data\n When the component is rendered\n Then component is not rendered\n And nothing is displayed\n\n @motivating\n Scenario Outline: Optional styling props can be applied to customize the text appearance\n Given the component has prop <prop> with value <value>\n When the component is rendered\n Then the text is displayed with <cssProperty> set to <value>\n\n Examples:\n | prop | value | cssProperty |\n | fontSize | 24 | font-size |\n | color | #E91E63 | color |\n | fontWeight | 700 | font-weight |\n\n @minutia\n Scenario: Style props are optional and default to no custom styling\n Given the component has no style props set\n When the component is rendered\n Then the text is displayed with default browser styles\n";
@@ -19505,7 +19546,7 @@ const InvalidValue = () => {
19505
19546
  } }),
19506
19547
  h("div", { style: { background: "#e0e0e0", padding: "8px" } }, "Below")));
19507
19548
  };
19508
- const Loading$j = () => {
19549
+ const Loading$k = () => {
19509
19550
  return (h("sqm-user-attribute", { demoData: {
19510
19551
  loading: true,
19511
19552
  value: "impact.com",
@@ -19526,7 +19567,7 @@ const UserAttribute = /*#__PURE__*/Object.freeze({
19526
19567
  'default': UserAttribute_stories,
19527
19568
  Default: Default$x,
19528
19569
  InvalidValue: InvalidValue,
19529
- Loading: Loading$j,
19570
+ Loading: Loading$k,
19530
19571
  WithCustomStyles: WithCustomStyles
19531
19572
  });
19532
19573
 
@@ -1 +1 @@
1
- var __makeTemplateObject=this&&this.__makeTemplateObject||function(e,r){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:r})}else{e.raw=r}return e};var __awaiter=this&&this.__awaiter||function(e,r,t,n){function a(e){return e instanceof t?e:new t((function(r){r(e)}))}return new(t||(t=Promise))((function(t,o){function i(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n["throw"](e))}catch(e){o(e)}}function l(e){e.done?t(e.value):a(e.value).then(i,s)}l((n=n.apply(e,r||[])).next())}))};var __generator=this&&this.__generator||function(e,r){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,a,o,i;return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(e){return function(r){return l([e,r])}}function l(i){if(n)throw new TypeError("Generator is already executing.");while(t)try{if(n=1,a&&(o=i[0]&2?a["return"]:i[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,i[1])).done)return o;if(a=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:t.label++;return{value:i[1],done:false};case 5:t.label++;a=i[1];i=[0];continue;case 7:i=t.ops.pop();t.trys.pop();continue;default:if(!(o=t.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){t=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){t.label=i[1];break}if(i[0]===6&&t.label<o[1]){t.label=o[1];o=i;break}if(o&&t.label<o[2]){t.label=o[2];t.ops.push(i);break}if(o[2])t.ops.pop();t.trys.pop();continue}i=r.call(e,t)}catch(e){i=[6,e];a=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};var __spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,r=0,t=arguments.length;r<t;r++)e+=arguments[r].length;for(var n=Array(e),a=0,r=0;r<t;r++)for(var o=arguments[r],i=0,s=o.length;i<s;i++,a++)n[a]=o[i];return n};import{h,r as registerInstance}from"./index-38ad4957.js";import{i as intl}from"./global-32d00a6e.js";import{k as useState,f as useEffect,n as h$1,u as useMemo}from"./dom-context-hooks.module-50442785.js";import{d as dist,q as Pn,w as wn,J,$ as $e,i as isDemo,p as En,L}from"./index.module-02cb914c.js";import{c as cjs}from"./cjs-bdfb4486.js";import{g as getProps}from"./utils-334c1e34.js";import{c as createStyleSheet}from"./JSS-67b5cff8.js";import{T as TextSpanView}from"./sqm-text-span-view-72f43dff.js";import{g as GET_FINANCE_NETWORK_SETTINGS}from"./data-8698cbc6.js";import{a as PartnerInfoModalContentView,P as PartnerInfoModalView}from"./sqm-partner-info-modal-view-8f141a4f.js";import{S as SHOW_CODE_NAMESPACE,a as VERIFICATION_EMAIL_NAMESPACE,P as PARTNER_CREATED_NAMESPACE}from"./keys-1054056a.js";import{T as TAX_FORM_UPDATED_EVENT_KEY}from"./eventKeys-f76b6a03.js";import{p as parseStates}from"./parseStates-ed75e224.js";import{u as useVerificationEmail}from"./useVerificationEmail-9f2c0bab.js";var UpsertUserEmailMutation=dist.gql(templateObject_1||(templateObject_1=__makeTemplateObject(["\n mutation upsertUser($userInput: UserInput!) {\n upsertUser(userInput: $userInput) {\n id\n accountId\n email\n }\n }\n"],["\n mutation upsertUser($userInput: UserInput!) {\n upsertUser(userInput: $userInput) {\n id\n accountId\n email\n }\n }\n"])));var UserLookupQuery=dist.gql(templateObject_2||(templateObject_2=__makeTemplateObject(["\n query user {\n viewer {\n ... on User {\n id\n accountId\n email\n impactConnection {\n user {\n id\n email\n }\n }\n }\n }\n }\n"],["\n query user {\n viewer {\n ... on User {\n id\n accountId\n email\n impactConnection {\n user {\n id\n email\n }\n }\n }\n }\n }\n"])));function useUpsertUserEmail(){var e=this;var r=J();var t=$e(UpsertUserEmailMutation),n=t[0],a=t[1],o=a.loading,i=a.data,s=a.errors;var l=function(t){return __awaiter(e,void 0,void 0,(function(){var e,a;return __generator(this,(function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n({userInput:{id:r.id,accountId:r.accountId,email:t}})];case 1:e=o.sent();if(e instanceof Error||!e)throw new Error;return[2,e];case 2:a=o.sent();console.error("Could not set email on user",a);return[2,undefined];case 3:return[2]}}))}))};return[l,{loading:o,data:i,errors:s}]}function useWidgetEmailVerification(e){var r=this;var t=Pn(SHOW_CODE_NAMESPACE),n=t[0],a=t[1];var o=Pn(VERIFICATION_EMAIL_NAMESPACE),i=o[0],s=o[1];var l=useState(false),u=l[0],c=l[1];var d=useState(false),p=d[0],m=d[1];var f=useState(false),v=f[0],b=f[1];var h=useVerificationEmail(),y=h.initialized,g=h.send,C=g[0],E=g[1],_=E.loading,w=E.errors;var x=useUpsertUserEmail()[0];var k=useState(true),S=k[0],T=k[1];var q=wn(UserLookupQuery,{}),I=q.data,P=q.loading;var N=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;useEffect((function(){if(!(I===null||I===void 0?void 0:I.viewer))return;c(!!I.viewer.email)}),[I]);useEffect((function(){if(y)T(false)}),[y]);var O=function(e){return __awaiter(r,void 0,void 0,(function(){var r,t,n,o,i,l,u,c,d;return __generator(this,(function(p){switch(p.label){case 0:e.preventDefault();if(!(I===null||I===void 0?void 0:I.viewer))return[2];T(true);b(false);m(false);i=I.viewer.email;if(!!i)return[3,2];l=(r=e.detail)===null||r===void 0?void 0:r.formData;u=(n=(t=l===null||l===void 0?void 0:l.get("email"))===null||t===void 0?void 0:t.toString())!==null&&n!==void 0?n:"";if(!N.test(u)){m(true);T(false);return[2]}return[4,x(u)];case 1:c=p.sent();if(!c||!((o=c.upsertUser)===null||o===void 0?void 0:o.email)){m(true);T(false);return[2]}i=c.upsertUser.email;p.label=2;case 2:if(!y){T(false);return[2]}return[4,C()];case 3:d=p.sent();if(!d||!d.success){b(true)}else{s(i);a(true)}T(false);return[2]}}))}))};return{callbacks:{submitEmail:O},states:{loading:S,initialLoading:P&&!y,error:p,email:I===null||I===void 0?void 0:I.viewer.email,sendCodeError:v},text:e.getTextProps()}}var style={Wrapper:{display:"flex",flexDirection:"column",gap:"var(--sl-spacing-medium)",marginTop:"var(--sl-spacing-medium)"},InputsContainer:{display:"flex",gap:"var(--sl-spacing-medium)",position:"relative",flexDirection:"column"},ContinueButton:{width:"100%"},SkeletonOne:{width:"50%",height:"16px"},SkeletonTwo:{width:"30%",height:"34px"},SkeletonThree:{width:"15%",height:"24px"},ErrorInput:{"&::part(base)":{border:"var(--sqm-border-thickness) solid var(--sqm-danger-color-border)",borderRadius:"var(--sqm-input-border-radius)"},"&::part(help-text)":{color:"var(--sqm-danger-color-text)"}}};var vanillaStyle='\n:host {\n display: block;\n}\n:host([hidden]): {\n display: none;\n}\n\na {\n color: inherit;\n text-decoration: underline;\n cursor: pointer;\n}\n\n*::part(primarybutton-base),\nsl-button[type="primary"]::part(base) {\n font-family: var(--sqm-primary-font);\n width: 100%;\n background-color: var(--sqm-primary-button-background);\n color: var(--sqm-primary-button-color);\n border-color: var(--sqm-primary-button-color-border);\n border-radius: var(--sqm-primary-button-radius);\n}\n\n*::part(primarybutton-base):hover,\nsl-button[type="primary"]::part(base):hover{\n background-color: var(--sqm-primary-button-background-hover);\n border-color: var(--sqm-primary-button-border-color-hover);\n color: var(--sqm-primary-button-color-hover);\n}\n\n\n*::part(primarybutton-base):focus,\nsl-button[type="primary"]::part(base):focus {\n box-shadow: none;\n}\n\n*::part(secondarybutton-base),\nsl-button[type="secondary"]::part(base) {\nfont-family: var(--sqm-primary-font);\n background-color: var(--sqm-secondary-button-background);\n color: var(--sqm-secondary-button-color);\n border-color: var(--sqm-secondary-button-color-border);\n border-radius: var(--sqm-secondary-button-radius);\n}\n\n*::part(secondarybutton-base):hover,\nsl-button[type="secondary"]::part(base):hover {\n background-color: var(--sqm-secondary-button-background-hover);\n color: var(--sqm-secondary-button-color-hover);\n border-color: var(--sqm-secondary-button-border-color-hover);\n}\n\n*::part(input-label), *::part(select-label), *::part(textarea-label){\n font-family: var(--sqm-primary-font);\n font-size: var(--sqm-input-label-font-size, var(--sl-input-font-size-small));\n font-weight: var(--sl-font-weight-bold);\n color: var(--sqm-input-label-color, var(--sqm-text), black);\n}\n\n*::part(input-base), *::part(select-base), *::part(textarea-base){\n font-family: var(--sqm-primary-font);\n background-color: var(--sqm-input-background, #fff);\n border-radius: var(--sqm-input-border-radius, var(--sl-input-border-radius-large), 0.25rem);\n color: var(--sqm-input-color, white);\n border-width: var(--sqm-border-thickness, 1px);\n}\n\n*::part(input-base):hover, *::part(select-base):hover, *::part(textarea-base):hover{\n border-color: var(--sqm-border-color-hover);\n}\n\n*::part(input-base):focus, *::part(select-base):focus, *::part(textarea-base):focus{\n border-color: var(--sqm-border-color-focus);\n}\n\nsqm-name-fields::part(input-base) {\n font-family: var(--sqm-primary-font);\n background-color: var(--sqm-input-background, #fff);\n border-radius: var(--sqm-input-border-radius, var(--sl-input-border-radius-large), 0.25rem);\n color: var(--sqm-input-color, white);\n border-width: var(--sqm-border-thickness, 1px);\n}\n\nsl-input::part(base):focus,\nsl-select::part(form-control-wrapper):focus,\nsl-textarea::part(textarea-label):focus {\n border-color: var(--sqm-border-color-focus);\n}\n\n*::part(input-label):disabled, *::part(select-label):disabled, *::part(textarea-label):disabled{\n background: var(--sqm-input-disabled-background, #f5f5f5);\n color: var(--sqm-input-disabled-color, var(--sl-color-gray-600));\n}\n\n*::part(input):-webkit-autofill {\n box-shadow: 0 0 0 50px var(--sqm-input-background, #fff) inset !important;\n -webkit-text-fill-color: var(--sqm-input-color, white) !important;\n}\n\n*::part(input):-webkit-autofill:hover {\n box-shadow: 0 0 0 50px var(--sqm-input-background, #fff) inset !important;\n -webkit-text-fill-color: var(--sqm-input-color, white) !important;\n}\n\n*::part(input):-webkit-autofill:focus {\n box-shadow: 0 0 0 50px var(--sqm-input-background, #fff) inset !important;\n -webkit-text-fill-color: var(--sqm-input-color, white) !important;\n}\n\n*::part(input)::placeholder,\n*::part(select)::placeholder, \n*::part(textarea)::placeholder {\n font-family: var(--sqm-primary-font);\n color: var(--sqm-text-subdued);\n}\n\n*::part(input)::-webkit-input-placeholder,\n*::part(select)::-webkit-input-placeholder,\n*::part(textarea)::-webkit-input-placeholder {\n font-family: var(--sqm-primary-font);\n color: var(--sqm-text-subdued);\n}\n\n*::part(input)::-moz-placeholder,\n*::part(select)::-moz-placeholder,\n*::part(textarea)::-moz-placeholder {\n font-family: var(--sqm-primary-font);\n opacity: 1; /* Firefox adds an opacity to placeholders by default */\n color: var(--sqm-text-subdued);\n}\n\n*::part(input)::-ms-input-placeholder,\n*::part(select)::-ms-input-placeholder,\n*::part(textarea)::-ms-input-placeholder {\n font-family: var(--sqm-primary-font);\n color: var(--sqm-text-subdued);\n}\n\n\n';var sheet=createStyleSheet(style);var styleString=sheet.toString();function WidgetEmailVerificationView(e){var r=e.states,t=e.callbacks,n=e.text;var a=function(){return h("div",{class:sheet.classes.Wrapper},h("sqm-skeleton",{height:"16px",width:"50%"}),h("sqm-skeleton",{height:"16px",width:"50%"}),h("sqm-skeleton",{height:"16px",width:"50%"}),h("sqm-skeleton",{height:"34px",width:"30%"}),h("sqm-skeleton",{height:"24px",width:"15%"}),h("sl-button",{submit:true,class:sheet.classes.ContinueButton,loading:true,exportparts:"base: primarybutton-base",type:"primary"},n.sendCodeText))};return h("div",{part:"sqm-base"},h("style",{type:"text/css"},vanillaStyle,styleString),r.sendCodeError&&h("sqm-form-message",{type:"error"},h("p",{part:"alert-title"},n.sendCodeErrorHeader),intl.formatMessage({id:"sendCodeErrorDescription",defaultMessage:n.sendCodeErrorDescription},{supportLink:h("a",{target:"_blank",href:"mailto:advocate-support@impact.com"},n.supportLink)})),r.initialLoading?a():h("div",{class:sheet.classes.Wrapper},h(TextSpanView,{type:"p"},n.verifyEmailHeaderText),h("sl-form",{"onSl-submit":t.submitEmail},h("div",{class:sheet.classes.InputsContainer},h("sl-input",Object.assign({exportparts:"label: input-label, base: input-base",label:n.emailLabel,value:r.email||"",type:"email",id:"email",name:"email",disabled:!!r.email||r.loading},r.error?{class:sheet.classes.ErrorInput,helpText:n.emailValidationErrorText}:{})),h("sl-button",{submit:true,class:sheet.classes.ContinueButton,loading:r.loading,exportparts:"base: primarybutton-base",type:"primary"},n.sendCodeText)))))}var WidgetEmailVerification=function(){function e(e){registerInstance(this,e);this.verifyEmailHeaderText="Start by verifying your email. We’ll send you a code through our referral provider, impact.com.";this.sendCodeErrorHeader="There was an error sending your code";this.supportLink="support team";this.sendCodeErrorDescription="Please try again. If this problem continues, contact our program {supportLink}.";this.emailLabel="Email";this.sendCodeText="Send code";this.emailValidationErrorText="Please enter a valid email";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.getTextProps=function(){return getProps(this)};e.prototype.render=function(){var e=isDemo()?useDemoWidgetEmailVerification(this):useWidgetEmailVerification(this);return h(WidgetEmailVerificationView,Object.assign({},e))};return e}();function useDemoWidgetEmailVerification(e){var r=this;var t=En(SHOW_CODE_NAMESPACE);return cjs({states:{error:true,initialLoading:false,loading:false,email:"test@example.com",sendCodeError:true},callbacks:{submitEmail:function(){return __awaiter(r,void 0,void 0,(function(){return __generator(this,(function(e){return[2,t(true)]}))}))}},text:e.getTextProps()},e.demoData||{},{arrayMerge:function(e,r){return r}})}var GET_USER_PARTNER_INFO=dist.gql(templateObject_3||(templateObject_3=__makeTemplateObject(["\n query getUserPartnerInfo {\n user: viewer {\n ... on User {\n id\n accountId\n firstName\n lastName\n email\n countryCode\n customFields\n impactConnection {\n connected\n connectionStatus\n publisher {\n id\n countryCode\n currency\n }\n }\n }\n }\n }\n"],["\n query getUserPartnerInfo {\n user: viewer {\n ... on User {\n id\n accountId\n firstName\n lastName\n email\n countryCode\n customFields\n impactConnection {\n connected\n connectionStatus\n publisher {\n id\n countryCode\n currency\n }\n }\n }\n }\n }\n"])));var GET_COUNTRIES=dist.gql(templateObject_4||(templateObject_4=__makeTemplateObject(["\n query getCountries {\n impactPayoutCountries(limit: 1000) {\n data {\n countryCode\n displayName\n }\n }\n }\n"],["\n query getCountries {\n impactPayoutCountries(limit: 1000) {\n data {\n countryCode\n displayName\n }\n }\n }\n"])));var GET_CURRENCIES=dist.gql(templateObject_5||(templateObject_5=__makeTemplateObject(["\n query currencies($locale: RSLocale) {\n currencies(limit: 300) {\n data {\n displayName(locale: $locale)\n currencyCode\n }\n }\n }\n"],["\n query currencies($locale: RSLocale) {\n currencies(limit: 300) {\n data {\n displayName(locale: $locale)\n currencyCode\n }\n }\n }\n"])));var START_IMPACT_CONNECTION=dist.gql(templateObject_6||(templateObject_6=__makeTemplateObject(["\n mutation startImpactConnection($vars: ImpactConnectionInput!) {\n startImpactConnection(impactConnectionInput: $vars) {\n success\n validationErrors {\n field\n message\n }\n user {\n id\n accountId\n impactConnection {\n connected\n publisher {\n brandedSignup\n requiredTaxDocumentType\n currentTaxDocument {\n type\n status\n }\n }\n }\n }\n }\n }\n"],["\n mutation startImpactConnection($vars: ImpactConnectionInput!) {\n startImpactConnection(impactConnectionInput: $vars) {\n success\n validationErrors {\n field\n message\n }\n user {\n id\n accountId\n impactConnection {\n connected\n publisher {\n brandedSignup\n requiredTaxDocumentType\n currentTaxDocument {\n type\n status\n }\n }\n }\n }\n }\n }\n"])));function usePartnerInfoModal(e){var r,t,n,a,o;var i=L();var s=En(PARTNER_CREATED_NAMESPACE);var l=wn(GET_USER_PARTNER_INFO,{}),u=l.data,c=l.loading,d=l.refetch;var p=u===null||u===void 0?void 0:u.user;var m=wn(GET_CURRENCIES,{variables:{locale:i}}),f=m.data,v=m.loading;var b=wn(GET_COUNTRIES,{}),h=b.data,y=b.loading;var g=useState(((t=(r=p===null||p===void 0?void 0:p.impactConnection)===null||r===void 0?void 0:r.publisher)===null||t===void 0?void 0:t.countryCode)||i.replace(/^.*_/,"")),C=g[0],E=g[1];var _=useState(((a=(n=p===null||p===void 0?void 0:p.impactConnection)===null||n===void 0?void 0:n.publisher)===null||a===void 0?void 0:a.currency)||""),w=_[0],x=_[1];var k=wn(GET_FINANCE_NETWORK_SETTINGS,{variables:{filter:C?{countryCode_eq:C}:{}}}).data;var S=$e(START_IMPACT_CONNECTION),T=S[0],q=S[1].loading;var I=useState(false),P=I[0],N=I[1];var O=useMemo((function(){var e;var r=(e=h===null||h===void 0?void 0:h.impactPayoutCountries)===null||e===void 0?void 0:e.data;if(!r)return[];return __spreadArrays(r).sort((function(e,r){if(e.countryCode==="US")return-1;if(r.countryCode==="US")return 1;return e.displayName.localeCompare(r.displayName)}))}),[h]);var j=!!((o=p===null||p===void 0?void 0:p.impactConnection)===null||o===void 0?void 0:o.publisher);var A=useMemo((function(){var e,r,t;if(j){return((e=f===null||f===void 0?void 0:f.currencies)===null||e===void 0?void 0:e.data)||[]}var n=(t=(r=k===null||k===void 0?void 0:k.impactFinanceNetworkSettings)===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.reduce((function(e,r){var t,n;if(C&&r.countryCode!==C)return e;var a=(n=(t=f===null||f===void 0?void 0:f.currencies)===null||t===void 0?void 0:t.data)===null||n===void 0?void 0:n.find((function(e){return e.currencyCode===r.currency}));if(!a)return e;if(e.find((function(e){return e.currencyCode===r.currency})))return e;return __spreadArrays(e,[a])}),[]);return n||[]}),[k,f,C,j]);var M=useMemo((function(){return __spreadArrays(A).sort((function(e,r){return e.displayName.localeCompare(r.displayName)}))}),[A]);var U=useState(""),D=U[0],R=U[1];var V=useState(""),$=V[0],W=V[1];var F=useState(O||[]),H=F[0],B=F[1];var G=useState(M||[]),z=G[0],K=G[1];var J=useState(""),Q=J[0],X=J[1];var Y=useState(false),Z=Y[0],ee=Y[1];useEffect((function(){var e;var r=(e=p===null||p===void 0?void 0:p.impactConnection)===null||e===void 0?void 0:e.publisher;if(!u||!r)return;E(r.countryCode);x(r.currency)}),[u,p]);useEffect((function(){if(!(O===null||O===void 0?void 0:O.length))return;if(D.trim()===""){B(O||[])}else{B(O.filter((function(e){return e.displayName.toLowerCase().includes(D.toLowerCase())}))||[])}}),[D,O]);useEffect((function(){if(!(M===null||M===void 0?void 0:M.length))return;if($.trim()===""){K(M||[])}else{K(M.filter((function(e){return e.currencyCode.toLowerCase().includes($.toLowerCase())}))||[])}}),[$,M]);var re=p===null||p===void 0?void 0:p.impactConnection;function te(e){var r,t;var n=(t=(r=e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(!n)return;E(n);x("");X("")}function ne(e){var r,t;var n=(t=(r=e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(!n)return;x(n);X("")}function ae(e){var r=e.target.checked;N(r)}function oe(){return __awaiter(this,void 0,void 0,(function(){var r,t,n,a,o,i,l;return __generator(this,(function(u){switch(u.label){case 0:if(!P||!C||!w){X(e.missingFieldsErrorText);return[2]}X("");if(!p){X(e.networkErrorText);return[2]}u.label=1;case 1:u.trys.push([1,4,,5]);n={user:{id:p.id,accountId:p.accountId},firstName:p.firstName,lastName:p.lastName,countryCode:C,currency:w};return[4,T({vars:n})];case 2:a=u.sent();if(!a||((r=a)===null||r===void 0?void 0:r.message)){X(e.networkErrorText);return[2]}o=a.startImpactConnection;if(!(o===null||o===void 0?void 0:o.success)){i=(t=o===null||o===void 0?void 0:o.validationErrors)===null||t===void 0?void 0:t.map((function(e){return e.message})).join(". ");X(i||e.networkErrorText);console.error("Failed to create Impact connection:",o===null||o===void 0?void 0:o.validationErrors);return[2]}window.dispatchEvent(new Event(TAX_FORM_UPDATED_EVENT_KEY));return[4,d()];case 3:u.sent();s===null||s===void 0?void 0:s(true);ee(true);return[3,5];case 4:l=u.sent();console.error("Partner creation error:",l);X(e.networkErrorText);return[3,5];case 5:return[2]}}))}))}var ie=!Z&&!c&&(re===null||re===void 0?void 0:re.connectionStatus)==="NOT_STARTED";return{states:{open:ie,loading:c||y||v,submitting:q,isExistingPartner:j,countryCode:C,currency:w,error:Q,success:Z,filteredCountries:H||[],filteredCurrencies:z||[],allowBankingCollection:P,disabled:c||q},callbacks:{onCountryChange:te,onCurrencyChange:ne,onCheckboxChange:ae,setCurrencySearch:W,setCountrySearch:R,onSubmit:oe,onClose:function(){return ee(true)}},text:e.getTextProps()}}var PartnerInfoModal=function(){function e(e){registerInstance(this,e);this.modalHeader="Let's get you ready for rewards";this.modalHeaderExistingPartner="We found an existing account";this.descriptionNewPartner="Confirm your country and currency now to get your future rewards faster.";this.descriptionExistingPartner="We found an account with this email on our referral program provider, impact.com. Please confirm your country and currency now to get your future rewards faster.";this.supportDescriptionExistingPartner="If this is a mistake, please contact {supportLink} or sign up for this referral program with a different email.";this.supportLink="Support";this.allowBankingCollection="I have read the {termsAndConditionsLink} and allow impact.com to collect my tax and banking information.";this.termsAndConditionsLabel="terms and conditions";this.termsAndConditionsLink="https://terms.advocate.impact.com/PayoutTermsAndConditions.html";this.countryLabel="Country";this.currencyLabel="Currency";this.submitButtonLabel="Submit";this.confirmButtonLabel="Confirm";this.searchCountryPlaceholder="Search for a country";this.searchCurrencyPlaceholder="Search for a currency";this.networkErrorText="An error occurred. Please try again.";this.missingFieldsErrorText="Please fill out all fields.";this.inModal=false;this.stateController='{"sqm-partner-info-modal":{"states":{"open":false}}}';h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.getTextProps=function(){return getProps(this)};e.prototype.render=function(){var e=isDemo()?useDemoPartnerInfoModal(this):usePartnerInfoModal(this);if(this.inModal){return h(PartnerInfoModalContentView,Object.assign({},e))}return h(PartnerInfoModalView,Object.assign({},e))};return e}();function useDemoPartnerInfoModal(e){var r=useState("US"),t=r[0],n=r[1];var a=useState(""),o=a[0],i=a[1];var s=useState(""),l=s[0],u=s[1];var c=useState(false),d=c[0],p=c[1];var m=parseStates(e.stateController);var f=(m===null||m===void 0?void 0:m["sqm-partner-info-modal"])||m||{};return cjs({states:{open:false,loading:false,submitting:false,isExistingPartner:false,countryCode:t,currency:o,error:l,success:false,filteredCountries:[],filteredCurrencies:[],allowBankingCollection:d,disabled:false},callbacks:{onCountryChange:function(e){var r,t;var a=(t=(r=e===null||e===void 0?void 0:e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(a){n(a);i("")}},onCurrencyChange:function(e){var r,t;var n=(t=(r=e===null||e===void 0?void 0:e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(n)i(n)},onCheckboxChange:function(e){p(e.target.checked)},setCountrySearch:function(){},setCurrencySearch:function(){},onSubmit:function(){if(!t||!o){u(e.missingFieldsErrorText);return}u("")},onClose:function(){},onInitialFocus:function(e){return e.preventDefault()}},text:{modalHeader:e.modalHeader,descriptionNewPartner:e.descriptionNewPartner,descriptionExistingPartner:e.descriptionExistingPartner,countryLabel:e.countryLabel,currencyLabel:e.currencyLabel,submitButtonLabel:e.submitButtonLabel,confirmButtonLabel:e.confirmButtonLabel,searchCountryPlaceholder:e.searchCountryPlaceholder,searchCurrencyPlaceholder:e.searchCurrencyPlaceholder,supportDescriptionExistingPartner:e.supportDescriptionExistingPartner,supportLink:e.supportLink,modalHeaderExistingPartner:e.modalHeaderExistingPartner}},e.demoData||f,{arrayMerge:function(e,r){return r}})}export{WidgetEmailVerification as sqm_email_verification,PartnerInfoModal as sqm_partner_info_modal};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6;
1
+ var __makeTemplateObject=this&&this.__makeTemplateObject||function(e,r){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:r})}else{e.raw=r}return e};var __awaiter=this&&this.__awaiter||function(e,r,t,n){function a(e){return e instanceof t?e:new t((function(r){r(e)}))}return new(t||(t=Promise))((function(t,o){function i(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n["throw"](e))}catch(e){o(e)}}function l(e){e.done?t(e.value):a(e.value).then(i,s)}l((n=n.apply(e,r||[])).next())}))};var __generator=this&&this.__generator||function(e,r){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,a,o,i;return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(e){return function(r){return l([e,r])}}function l(i){if(n)throw new TypeError("Generator is already executing.");while(t)try{if(n=1,a&&(o=i[0]&2?a["return"]:i[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,i[1])).done)return o;if(a=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:t.label++;return{value:i[1],done:false};case 5:t.label++;a=i[1];i=[0];continue;case 7:i=t.ops.pop();t.trys.pop();continue;default:if(!(o=t.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){t=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){t.label=i[1];break}if(i[0]===6&&t.label<o[1]){t.label=o[1];o=i;break}if(o&&t.label<o[2]){t.label=o[2];t.ops.push(i);break}if(o[2])t.ops.pop();t.trys.pop();continue}i=r.call(e,t)}catch(e){i=[6,e];a=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};var __spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,r=0,t=arguments.length;r<t;r++)e+=arguments[r].length;for(var n=Array(e),a=0,r=0;r<t;r++)for(var o=arguments[r],i=0,s=o.length;i<s;i++,a++)n[a]=o[i];return n};import{h,r as registerInstance}from"./index-38ad4957.js";import{i as intl}from"./global-32d00a6e.js";import{k as useState,f as useEffect,n as h$1,u as useMemo}from"./dom-context-hooks.module-50442785.js";import{d as dist,q as Pn,w as wn,J,$ as $e,i as isDemo,p as En,L}from"./index.module-02cb914c.js";import{c as cjs}from"./cjs-bdfb4486.js";import{g as getProps}from"./utils-334c1e34.js";import{c as createStyleSheet}from"./JSS-67b5cff8.js";import{T as TextSpanView}from"./sqm-text-span-view-72f43dff.js";import{g as GET_FINANCE_NETWORK_SETTINGS}from"./data-8698cbc6.js";import{a as PartnerInfoModalContentView,P as PartnerInfoModalView}from"./sqm-partner-info-modal-view-34d4be5b.js";import{S as SHOW_CODE_NAMESPACE,a as VERIFICATION_EMAIL_NAMESPACE,P as PARTNER_CREATED_NAMESPACE}from"./keys-1054056a.js";import{T as TAX_FORM_UPDATED_EVENT_KEY}from"./eventKeys-f76b6a03.js";import{p as parseStates}from"./parseStates-ed75e224.js";import{u as useVerificationEmail}from"./useVerificationEmail-9f2c0bab.js";var UpsertUserEmailMutation=dist.gql(templateObject_1||(templateObject_1=__makeTemplateObject(["\n mutation upsertUser($userInput: UserInput!) {\n upsertUser(userInput: $userInput) {\n id\n accountId\n email\n }\n }\n"],["\n mutation upsertUser($userInput: UserInput!) {\n upsertUser(userInput: $userInput) {\n id\n accountId\n email\n }\n }\n"])));var UserLookupQuery=dist.gql(templateObject_2||(templateObject_2=__makeTemplateObject(["\n query user {\n viewer {\n ... on User {\n id\n accountId\n email\n impactConnection {\n user {\n id\n email\n }\n }\n }\n }\n }\n"],["\n query user {\n viewer {\n ... on User {\n id\n accountId\n email\n impactConnection {\n user {\n id\n email\n }\n }\n }\n }\n }\n"])));function useUpsertUserEmail(){var e=this;var r=J();var t=$e(UpsertUserEmailMutation),n=t[0],a=t[1],o=a.loading,i=a.data,s=a.errors;var l=function(t){return __awaiter(e,void 0,void 0,(function(){var e,a;return __generator(this,(function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n({userInput:{id:r.id,accountId:r.accountId,email:t}})];case 1:e=o.sent();if(e instanceof Error||!e)throw new Error;return[2,e];case 2:a=o.sent();console.error("Could not set email on user",a);return[2,undefined];case 3:return[2]}}))}))};return[l,{loading:o,data:i,errors:s}]}function useWidgetEmailVerification(e){var r=this;var t=Pn(SHOW_CODE_NAMESPACE),n=t[0],a=t[1];var o=Pn(VERIFICATION_EMAIL_NAMESPACE),i=o[0],s=o[1];var l=useState(false),u=l[0],c=l[1];var d=useState(false),p=d[0],m=d[1];var f=useState(false),v=f[0],b=f[1];var h=useVerificationEmail(),y=h.initialized,g=h.send,C=g[0],E=g[1],_=E.loading,w=E.errors;var x=useUpsertUserEmail()[0];var S=useState(true),k=S[0],T=S[1];var q=wn(UserLookupQuery,{}),I=q.data,P=q.loading;var N=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;useEffect((function(){if(!(I===null||I===void 0?void 0:I.viewer))return;c(!!I.viewer.email)}),[I]);useEffect((function(){if(y)T(false)}),[y]);var O=function(e){return __awaiter(r,void 0,void 0,(function(){var r,t,n,o,i,l,u,c,d;return __generator(this,(function(p){switch(p.label){case 0:e.preventDefault();if(!(I===null||I===void 0?void 0:I.viewer))return[2];T(true);b(false);m(false);i=I.viewer.email;if(!!i)return[3,2];l=(r=e.detail)===null||r===void 0?void 0:r.formData;u=(n=(t=l===null||l===void 0?void 0:l.get("email"))===null||t===void 0?void 0:t.toString())!==null&&n!==void 0?n:"";if(!N.test(u)){m(true);T(false);return[2]}return[4,x(u)];case 1:c=p.sent();if(!c||!((o=c.upsertUser)===null||o===void 0?void 0:o.email)){m(true);T(false);return[2]}i=c.upsertUser.email;p.label=2;case 2:if(!y){T(false);return[2]}return[4,C()];case 3:d=p.sent();if(!d||!d.success){b(true)}else{s(i);a(true)}T(false);return[2]}}))}))};return{callbacks:{submitEmail:O},states:{loading:k,initialLoading:P&&!y,error:p,email:I===null||I===void 0?void 0:I.viewer.email,sendCodeError:v},text:e.getTextProps()}}var style={Wrapper:{display:"flex",flexDirection:"column",gap:"var(--sl-spacing-medium)",marginTop:"var(--sl-spacing-medium)"},InputsContainer:{display:"flex",gap:"var(--sl-spacing-medium)",position:"relative",flexDirection:"column"},ContinueButton:{width:"100%"},SkeletonOne:{width:"50%",height:"16px"},SkeletonTwo:{width:"30%",height:"34px"},SkeletonThree:{width:"15%",height:"24px"},ErrorInput:{"&::part(base)":{border:"var(--sqm-border-thickness) solid var(--sqm-danger-color-border)",borderRadius:"var(--sqm-input-border-radius)"},"&::part(help-text)":{color:"var(--sqm-danger-color-text)"}}};var vanillaStyle='\n:host {\n display: block;\n}\n:host([hidden]): {\n display: none;\n}\n\na {\n color: inherit;\n text-decoration: underline;\n cursor: pointer;\n}\n\n*::part(primarybutton-base),\nsl-button[type="primary"]::part(base) {\n font-family: var(--sqm-primary-font);\n width: 100%;\n background-color: var(--sqm-primary-button-background);\n color: var(--sqm-primary-button-color);\n border-color: var(--sqm-primary-button-color-border);\n border-radius: var(--sqm-primary-button-radius);\n}\n\n*::part(primarybutton-base):hover,\nsl-button[type="primary"]::part(base):hover{\n background-color: var(--sqm-primary-button-background-hover);\n border-color: var(--sqm-primary-button-border-color-hover);\n color: var(--sqm-primary-button-color-hover);\n}\n\n\n*::part(primarybutton-base):focus,\nsl-button[type="primary"]::part(base):focus {\n box-shadow: none;\n}\n\n*::part(secondarybutton-base),\nsl-button[type="secondary"]::part(base) {\nfont-family: var(--sqm-primary-font);\n background-color: var(--sqm-secondary-button-background);\n color: var(--sqm-secondary-button-color);\n border-color: var(--sqm-secondary-button-color-border);\n border-radius: var(--sqm-secondary-button-radius);\n}\n\n*::part(secondarybutton-base):hover,\nsl-button[type="secondary"]::part(base):hover {\n background-color: var(--sqm-secondary-button-background-hover);\n color: var(--sqm-secondary-button-color-hover);\n border-color: var(--sqm-secondary-button-border-color-hover);\n}\n\n*::part(input-label), *::part(select-label), *::part(textarea-label){\n font-family: var(--sqm-primary-font);\n font-size: var(--sqm-input-label-font-size, var(--sl-input-font-size-small));\n font-weight: var(--sl-font-weight-bold);\n color: var(--sqm-input-label-color, var(--sqm-text), black);\n}\n\n*::part(input-base), *::part(select-base), *::part(textarea-base){\n font-family: var(--sqm-primary-font);\n background-color: var(--sqm-input-background, #fff);\n border-radius: var(--sqm-input-border-radius, var(--sl-input-border-radius-large), 0.25rem);\n color: var(--sqm-input-color, white);\n border-width: var(--sqm-border-thickness, 1px);\n}\n\n*::part(input-base):hover, *::part(select-base):hover, *::part(textarea-base):hover{\n border-color: var(--sqm-border-color-hover);\n}\n\n*::part(input-base):focus, *::part(select-base):focus, *::part(textarea-base):focus{\n border-color: var(--sqm-border-color-focus);\n}\n\nsqm-name-fields::part(input-base) {\n font-family: var(--sqm-primary-font);\n background-color: var(--sqm-input-background, #fff);\n border-radius: var(--sqm-input-border-radius, var(--sl-input-border-radius-large), 0.25rem);\n color: var(--sqm-input-color, white);\n border-width: var(--sqm-border-thickness, 1px);\n}\n\nsl-input::part(base):focus,\nsl-select::part(form-control-wrapper):focus,\nsl-textarea::part(textarea-label):focus {\n border-color: var(--sqm-border-color-focus);\n}\n\n*::part(input-label):disabled, *::part(select-label):disabled, *::part(textarea-label):disabled{\n background: var(--sqm-input-disabled-background, #f5f5f5);\n color: var(--sqm-input-disabled-color, var(--sl-color-gray-600));\n}\n\n*::part(input):-webkit-autofill {\n box-shadow: 0 0 0 50px var(--sqm-input-background, #fff) inset !important;\n -webkit-text-fill-color: var(--sqm-input-color, white) !important;\n}\n\n*::part(input):-webkit-autofill:hover {\n box-shadow: 0 0 0 50px var(--sqm-input-background, #fff) inset !important;\n -webkit-text-fill-color: var(--sqm-input-color, white) !important;\n}\n\n*::part(input):-webkit-autofill:focus {\n box-shadow: 0 0 0 50px var(--sqm-input-background, #fff) inset !important;\n -webkit-text-fill-color: var(--sqm-input-color, white) !important;\n}\n\n*::part(input)::placeholder,\n*::part(select)::placeholder, \n*::part(textarea)::placeholder {\n font-family: var(--sqm-primary-font);\n color: var(--sqm-text-subdued);\n}\n\n*::part(input)::-webkit-input-placeholder,\n*::part(select)::-webkit-input-placeholder,\n*::part(textarea)::-webkit-input-placeholder {\n font-family: var(--sqm-primary-font);\n color: var(--sqm-text-subdued);\n}\n\n*::part(input)::-moz-placeholder,\n*::part(select)::-moz-placeholder,\n*::part(textarea)::-moz-placeholder {\n font-family: var(--sqm-primary-font);\n opacity: 1; /* Firefox adds an opacity to placeholders by default */\n color: var(--sqm-text-subdued);\n}\n\n*::part(input)::-ms-input-placeholder,\n*::part(select)::-ms-input-placeholder,\n*::part(textarea)::-ms-input-placeholder {\n font-family: var(--sqm-primary-font);\n color: var(--sqm-text-subdued);\n}\n\n\n';var sheet=createStyleSheet(style);var styleString=sheet.toString();function WidgetEmailVerificationView(e){var r=e.states,t=e.callbacks,n=e.text;var a=function(){return h("div",{class:sheet.classes.Wrapper},h("sqm-skeleton",{height:"16px",width:"50%"}),h("sqm-skeleton",{height:"16px",width:"50%"}),h("sqm-skeleton",{height:"16px",width:"50%"}),h("sqm-skeleton",{height:"34px",width:"30%"}),h("sqm-skeleton",{height:"24px",width:"15%"}),h("sl-button",{submit:true,class:sheet.classes.ContinueButton,loading:true,exportparts:"base: primarybutton-base",type:"primary"},n.sendCodeText))};return h("div",{part:"sqm-base"},h("style",{type:"text/css"},vanillaStyle,styleString),r.sendCodeError&&h("sqm-form-message",{type:"error"},h("p",{part:"alert-title"},n.sendCodeErrorHeader),intl.formatMessage({id:"sendCodeErrorDescription",defaultMessage:n.sendCodeErrorDescription},{supportLink:h("a",{target:"_blank",href:"mailto:advocate-support@impact.com"},n.supportLink)})),r.initialLoading?a():h("div",{class:sheet.classes.Wrapper},h(TextSpanView,{type:"p"},n.verifyEmailHeaderText),h("sl-form",{"onSl-submit":t.submitEmail},h("div",{class:sheet.classes.InputsContainer},h("sl-input",Object.assign({exportparts:"label: input-label, base: input-base",label:n.emailLabel,value:r.email||"",type:"email",id:"email",name:"email",disabled:!!r.email||r.loading},r.error?{class:sheet.classes.ErrorInput,helpText:n.emailValidationErrorText}:{})),h("sl-button",{submit:true,class:sheet.classes.ContinueButton,loading:r.loading,exportparts:"base: primarybutton-base",type:"primary"},n.sendCodeText)))))}var WidgetEmailVerification=function(){function e(e){registerInstance(this,e);this.verifyEmailHeaderText="Start by verifying your email. We’ll send you a code through our referral provider, impact.com.";this.sendCodeErrorHeader="There was an error sending your code";this.supportLink="support team";this.sendCodeErrorDescription="Please try again. If this problem continues, contact our program {supportLink}.";this.emailLabel="Email";this.sendCodeText="Send code";this.emailValidationErrorText="Please enter a valid email";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.getTextProps=function(){return getProps(this)};e.prototype.render=function(){var e=isDemo()?useDemoWidgetEmailVerification(this):useWidgetEmailVerification(this);return h(WidgetEmailVerificationView,Object.assign({},e))};return e}();function useDemoWidgetEmailVerification(e){var r=this;var t=En(SHOW_CODE_NAMESPACE);return cjs({states:{error:false,initialLoading:false,loading:false,email:"test@example.com",sendCodeError:true},callbacks:{submitEmail:function(){return __awaiter(r,void 0,void 0,(function(){return __generator(this,(function(e){return[2,t(true)]}))}))}},text:e.getTextProps()},e.demoData||{},{arrayMerge:function(e,r){return r}})}var GET_USER_PARTNER_INFO=dist.gql(templateObject_3||(templateObject_3=__makeTemplateObject(["\n query getUserPartnerInfo {\n user: viewer {\n ... on User {\n id\n accountId\n firstName\n lastName\n email\n countryCode\n customFields\n impactConnection {\n connected\n connectionStatus\n publisher {\n id\n countryCode\n currency\n }\n }\n }\n }\n }\n"],["\n query getUserPartnerInfo {\n user: viewer {\n ... on User {\n id\n accountId\n firstName\n lastName\n email\n countryCode\n customFields\n impactConnection {\n connected\n connectionStatus\n publisher {\n id\n countryCode\n currency\n }\n }\n }\n }\n }\n"])));var GET_COUNTRIES=dist.gql(templateObject_4||(templateObject_4=__makeTemplateObject(["\n query getCountries {\n impactPayoutCountries(limit: 1000) {\n data {\n countryCode\n displayName\n }\n }\n }\n"],["\n query getCountries {\n impactPayoutCountries(limit: 1000) {\n data {\n countryCode\n displayName\n }\n }\n }\n"])));var GET_CURRENCIES=dist.gql(templateObject_5||(templateObject_5=__makeTemplateObject(["\n query currencies($locale: RSLocale) {\n currencies(limit: 300) {\n data {\n displayName(locale: $locale)\n currencyCode\n }\n }\n }\n"],["\n query currencies($locale: RSLocale) {\n currencies(limit: 300) {\n data {\n displayName(locale: $locale)\n currencyCode\n }\n }\n }\n"])));var START_IMPACT_CONNECTION=dist.gql(templateObject_6||(templateObject_6=__makeTemplateObject(["\n mutation startImpactConnection($vars: ImpactConnectionInput!) {\n startImpactConnection(impactConnectionInput: $vars) {\n success\n validationErrors {\n field\n message\n }\n user {\n id\n accountId\n impactConnection {\n connected\n publisher {\n brandedSignup\n requiredTaxDocumentType\n currentTaxDocument {\n type\n status\n }\n }\n }\n }\n }\n }\n"],["\n mutation startImpactConnection($vars: ImpactConnectionInput!) {\n startImpactConnection(impactConnectionInput: $vars) {\n success\n validationErrors {\n field\n message\n }\n user {\n id\n accountId\n impactConnection {\n connected\n publisher {\n brandedSignup\n requiredTaxDocumentType\n currentTaxDocument {\n type\n status\n }\n }\n }\n }\n }\n }\n"])));function usePartnerInfoModal(e){var r,t,n,a,o,i,s;var l=L();var u=En(PARTNER_CREATED_NAMESPACE);var c=wn(GET_USER_PARTNER_INFO,{}),d=c.data,p=c.loading,m=c.refetch;var f=d===null||d===void 0?void 0:d.user;var v=wn(GET_CURRENCIES,{variables:{locale:l}}),b=v.data,h=v.loading;var y=wn(GET_COUNTRIES,{}),g=y.data,C=y.loading;var E=useState(false),_=E[0],w=E[1];var x=useState((r=f===null||f===void 0?void 0:f.firstName)!==null&&r!==void 0?r:""),S=x[0],k=x[1];var T=useState((t=f===null||f===void 0?void 0:f.lastName)!==null&&t!==void 0?t:""),q=T[0],I=T[1];var P=useState(((a=(n=f===null||f===void 0?void 0:f.impactConnection)===null||n===void 0?void 0:n.publisher)===null||a===void 0?void 0:a.countryCode)||l.replace(/^.*_/,"")),N=P[0],O=P[1];var j=useState(((i=(o=f===null||f===void 0?void 0:f.impactConnection)===null||o===void 0?void 0:o.publisher)===null||i===void 0?void 0:i.currency)||""),A=j[0],D=j[1];var M=wn(GET_FINANCE_NETWORK_SETTINGS,{variables:{filter:N?{countryCode_eq:N}:{}}}).data;var U=$e(START_IMPACT_CONNECTION),R=U[0],V=U[1].loading;var $=useState(false),F=$[0],W=$[1];var H=useMemo((function(){var e;var r=(e=g===null||g===void 0?void 0:g.impactPayoutCountries)===null||e===void 0?void 0:e.data;if(!r)return[];return __spreadArrays(r).sort((function(e,r){if(e.countryCode==="US")return-1;if(r.countryCode==="US")return 1;return e.displayName.localeCompare(r.displayName)}))}),[g]);var B=!!((s=f===null||f===void 0?void 0:f.impactConnection)===null||s===void 0?void 0:s.publisher);var G=useMemo((function(){var e,r,t;if(B){return((e=b===null||b===void 0?void 0:b.currencies)===null||e===void 0?void 0:e.data)||[]}var n=(t=(r=M===null||M===void 0?void 0:M.impactFinanceNetworkSettings)===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.reduce((function(e,r){var t,n;if(N&&r.countryCode!==N)return e;var a=(n=(t=b===null||b===void 0?void 0:b.currencies)===null||t===void 0?void 0:t.data)===null||n===void 0?void 0:n.find((function(e){return e.currencyCode===r.currency}));if(!a)return e;if(e.find((function(e){return e.currencyCode===r.currency})))return e;return __spreadArrays(e,[a])}),[]);return n||[]}),[M,b,N,B]);var z=useMemo((function(){return __spreadArrays(G).sort((function(e,r){return e.displayName.localeCompare(r.displayName)}))}),[G]);var K=useState(""),J=K[0],Q=K[1];var X=useState(""),Y=X[0],Z=X[1];var ee=useState(H||[]),re=ee[0],te=ee[1];var ne=useState(z||[]),ae=ne[0],oe=ne[1];var ie=useState(""),se=ie[0],le=ie[1];var ue=useState(false),ce=ue[0],de=ue[1];var pe=useState(false),me=pe[0],fe=pe[1];useEffect((function(){var e;if(me||!f)return;w(!f.firstName||!f.lastName);k(f.firstName||"");I(f.lastName||"");var r=(e=f.impactConnection)===null||e===void 0?void 0:e.publisher;if(r){O(r.countryCode);D(r.currency)}fe(true)}),[f,me]);useEffect((function(){if(!(H===null||H===void 0?void 0:H.length))return;if(J.trim()===""){te(H||[])}else{te(H.filter((function(e){return e.displayName.toLowerCase().includes(J.toLowerCase())}))||[])}}),[J,H]);useEffect((function(){if(!(z===null||z===void 0?void 0:z.length))return;if(Y.trim()===""){oe(z||[])}else{oe(z.filter((function(e){return e.currencyCode.toLowerCase().includes(Y.toLowerCase())}))||[])}}),[Y,z]);var ve=f===null||f===void 0?void 0:f.impactConnection;function be(e){var r=e.target.value;k(r)}function he(e){var r=e.target.value;I(r)}function ye(e){var r,t;var n=(t=(r=e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(!n)return;O(n);D("");le("")}function ge(e){var r,t;var n=(t=(r=e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(!n)return;D(n);le("")}function Ce(e){var r=e.target.checked;W(r)}function Ee(){return __awaiter(this,void 0,void 0,(function(){var r,t,n,a,o,i,s;return __generator(this,(function(l){switch(l.label){case 0:if(!F||!N||!A||_&&(!S||!q)){le(e.missingFieldsErrorText);return[2]}le("");if(!f){le(e.networkErrorText);return[2]}l.label=1;case 1:l.trys.push([1,4,,5]);n={user:{id:f.id,accountId:f.accountId},firstName:S,lastName:q,countryCode:N,currency:A};return[4,R({vars:n})];case 2:a=l.sent();if(!a||((r=a)===null||r===void 0?void 0:r.message)){le(e.networkErrorText);return[2]}o=a.startImpactConnection;if(!(o===null||o===void 0?void 0:o.success)){i=(t=o===null||o===void 0?void 0:o.validationErrors)===null||t===void 0?void 0:t.map((function(e){return e.message})).join(". ");le(i||e.networkErrorText);console.error("Failed to create Impact connection:",o===null||o===void 0?void 0:o.validationErrors);return[2]}window.dispatchEvent(new Event(TAX_FORM_UPDATED_EVENT_KEY));return[4,m()];case 3:l.sent();u===null||u===void 0?void 0:u(true);de(true);return[3,5];case 4:s=l.sent();console.error("Partner creation error:",s);le(e.networkErrorText);return[3,5];case 5:return[2]}}))}))}var _e=!ce&&!p&&(ve===null||ve===void 0?void 0:ve.connectionStatus)==="NOT_STARTED";return{states:{open:_e,loading:p||C||h,submitting:V,shouldDisplayNameFields:_,isExistingPartner:B,firstName:S,lastName:q,countryCode:N,currency:A,error:se,success:ce,filteredCountries:re||[],filteredCurrencies:ae||[],allowBankingCollection:F,disabled:p||V},callbacks:{onFirstNameChange:be,onLastNameChange:he,onCountryChange:ye,onCurrencyChange:ge,onCheckboxChange:Ce,setCurrencySearch:Z,setCountrySearch:Q,onSubmit:Ee,onClose:function(){return de(true)}},text:e.getTextProps()}}var PartnerInfoModal=function(){function e(e){registerInstance(this,e);this.modalHeader="Let's get you ready for rewards";this.modalHeaderExistingPartner="We found an existing account";this.descriptionNewPartner="Confirm your country and currency now to get your future rewards faster.";this.descriptionExistingPartner="We found an account with this email on our referral program provider, impact.com. Please confirm your country and currency now to get your future rewards faster.";this.supportDescriptionExistingPartner="If this is a mistake, please contact {supportLink} or sign up for this referral program with a different email.";this.supportLink="Support";this.allowBankingCollection="I have read the {termsAndConditionsLink} and allow impact.com to collect my tax and banking information.";this.termsAndConditionsLabel="terms and conditions";this.termsAndConditionsLink="https://terms.advocate.impact.com/PayoutTermsAndConditions.html";this.countryLabel="Country";this.currencyLabel="Currency";this.submitButtonLabel="Submit";this.confirmButtonLabel="Confirm";this.searchCountryPlaceholder="Search for a country";this.searchCurrencyPlaceholder="Search for a currency";this.networkErrorText="An error occurred. Please try again.";this.missingFieldsErrorText="Please fill out all fields.";this.inModal=false;this.stateController='{"sqm-partner-info-modal":{"states":{"open":false}}}';h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.getTextProps=function(){return getProps(this)};e.prototype.render=function(){var e=isDemo()?useDemoPartnerInfoModal(this):usePartnerInfoModal(this);if(this.inModal){return h(PartnerInfoModalContentView,Object.assign({},e))}return h(PartnerInfoModalView,Object.assign({},e))};return e}();function useDemoPartnerInfoModal(e){var r=useState("US"),t=r[0],n=r[1];var a=useState(""),o=a[0],i=a[1];var s=useState(""),l=s[0],u=s[1];var c=useState(false),d=c[0],p=c[1];var m=parseStates(e.stateController);var f=(m===null||m===void 0?void 0:m["sqm-partner-info-modal"])||m||{};return cjs({states:{open:false,loading:false,submitting:false,isExistingPartner:false,countryCode:t,currency:o,error:l,success:false,filteredCountries:[],filteredCurrencies:[],allowBankingCollection:d,disabled:false},callbacks:{onCountryChange:function(e){var r,t;var a=(t=(r=e===null||e===void 0?void 0:e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(a){n(a);i("")}},onCurrencyChange:function(e){var r,t;var n=(t=(r=e===null||e===void 0?void 0:e.detail)===null||r===void 0?void 0:r.item)===null||t===void 0?void 0:t.__value;if(n)i(n)},onCheckboxChange:function(e){p(e.target.checked)},setCountrySearch:function(){},setCurrencySearch:function(){},onSubmit:function(){if(!t||!o){u(e.missingFieldsErrorText);return}u("")},onClose:function(){},onInitialFocus:function(e){return e.preventDefault()}},text:{modalHeader:e.modalHeader,descriptionNewPartner:e.descriptionNewPartner,descriptionExistingPartner:e.descriptionExistingPartner,countryLabel:e.countryLabel,currencyLabel:e.currencyLabel,submitButtonLabel:e.submitButtonLabel,confirmButtonLabel:e.confirmButtonLabel,searchCountryPlaceholder:e.searchCountryPlaceholder,searchCurrencyPlaceholder:e.searchCurrencyPlaceholder,supportDescriptionExistingPartner:e.supportDescriptionExistingPartner,supportLink:e.supportLink,modalHeaderExistingPartner:e.modalHeaderExistingPartner}},e.demoData||f,{arrayMerge:function(e,r){return r}})}export{WidgetEmailVerification as sqm_email_verification,PartnerInfoModal as sqm_partner_info_modal};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6;
@@ -0,0 +1 @@
1
+ import{h,F as Fragment}from"./index-38ad4957.js";import{i as intl}from"./global-32d00a6e.js";import{c as createStyleSheet}from"./JSS-67b5cff8.js";var style={Dialog:{"&::part(panel)":{maxWidth:"480px"},"&::part(body)":{padding:"0 var(--sl-spacing-x-large)",fontSize:"var(--sl-font-size-small)",overflow:"visible"},"&::part(overlay)":{background:"var(--sl-overlay-background-color)"}},DialogTitle:{fontSize:"var(--sl-font-size-x-large)",fontWeight:"600",padding:"var(--sl-spacing-large) 0 0 0",margin:"0"},FormFields:{display:"flex",flexDirection:"column",gap:"var(--sl-spacing-medium)",marginTop:"var(--sl-spacing-large)"},NameInput:{"&::part(label)":{fontWeight:"var(--sl-font-weight-normal)",fontSize:"var(--sl-input-label-font-size-medium)"}},ErrorMessage:{marginTop:"var(--sl-spacing-x-small)"},SearchInput:{"&::part(base)":{border:"none",borderBottom:"1px solid var(--sl-color-neutral-300)",borderRadius:"0"}},SelectMenu:{maxHeight:"300px"},DescriptionContainer:{display:"flex",flexDirection:"column",gap:"var(--sl-spacing-medium)",margin:"0","& > p":{margin:"0"}},CheckboxWrapper:{display:"flex",justifyContent:"flex-start",flexDirection:"column"},Checkbox:{"&::part(label)":{fontSize:"var(--sl-font-size-small)"}},SubmitButton:{width:"100%",marginTop:"var(--sl-spacing-large)","&::part(base)":{color:"var(--sqm-primary-button-color)",backgroundColor:"var(--sqm-primary-button-background)",border:"var(--sqm-primary-button-color-border)",borderRadius:"var(--sqm-primary-button-radius)"}}};function PartnerInfoModalContentView(e){var a,t;var r=e.states,n=e.callbacks,l=e.text;var s=createStyleSheet(style);var i=s.toString();var o=intl.formatMessage({id:"supportDescriptionExistingPartner",defaultMessage:l.supportDescriptionExistingPartner},{supportLink:h("a",{target:"_blank",href:"mailto:advocate-support@impact.com"},l.supportLink)});var u=r.isExistingPartner?h("span",{class:s.classes.DescriptionContainer},h("p",null,l.descriptionExistingPartner),h("p",null,o)):h("p",{class:s.classes.DescriptionContainer},l.descriptionNewPartner);var c=r.isExistingPartner?l.confirmButtonLabel:l.submitButtonLabel;var p=intl.formatMessage({id:"bankingCollectionText",defaultMessage:l.allowBankingCollection},{termsAndConditionsLink:h("a",{href:l.termsAndConditionsLink,target:"_blank"},l.termsAndConditionsLabel)});return h("div",null,h("style",{type:"text/css"},i),h("div",{class:s.classes.FormFields},u,r.shouldDisplayNameFields&&h(Fragment,null,h("sl-input",{exportparts:"label: input-label, base: input-base",class:s.classes.NameInput,label:"First Name",value:r.firstName,"onSl-input":n.onFirstNameChange,disabled:r.submitting,required:true}),h("sl-input",{exportparts:"label: input-label, base: input-base",class:s.classes.NameInput,label:"Last Name",value:r.lastName,"onSl-input":n.onLastNameChange,disabled:r.submitting,required:true})),h("sl-select",{exportparts:"label: input-label, base: input-base, menu: select-menu",label:l.countryLabel,value:r.countryCode,disabled:r.submitting||!!r.countryCode&&r.isExistingPartner,required:true,hoist:true,"onSl-select":n.onCountryChange},h("sl-input",{class:s.classes.SearchInput,placeholder:l.searchCountryPlaceholder,onKeyDown:function(e){return e.stopPropagation()},"onSl-input":function(e){var a;n.setCountrySearch((a=e.target)===null||a===void 0?void 0:a.value)}}),h("div",{class:s.classes.SelectMenu},(a=r.filteredCountries)===null||a===void 0?void 0:a.map((function(e){return h("sl-menu-item",{value:e.countryCode},e.displayName)})))),h("sl-select",{exportparts:"label: input-label, base: input-base",label:l.currencyLabel,value:r.currency,disabled:r.submitting||!!r.currency&&r.isExistingPartner,required:true,hoist:true,"onSl-select":n.onCurrencyChange},h("sl-input",{class:s.classes.SearchInput,placeholder:l.searchCurrencyPlaceholder,onKeyDown:function(e){return e.stopPropagation()},"onSl-input":function(e){var a;return n.setCurrencySearch((a=e.target)===null||a===void 0?void 0:a.value)}}),h("div",{class:s.classes.SelectMenu},(t=r.filteredCurrencies)===null||t===void 0?void 0:t.map((function(e){return h("sl-menu-item",{value:e.currencyCode},e.currencyCode," - ",e.displayName)})))),h("div",{class:s.classes.CheckboxWrapper},h("sl-checkbox",{class:s.classes.Checkbox,checked:r.allowBankingCollection===true,"onSl-change":n.onCheckboxChange,disabled:r.submitting,required:true,value:r.allowBankingCollection,id:"allowBankingCollection",name:"/allowBankingCollection"},p))),r.error&&h("div",{class:s.classes.ErrorMessage},h("sqm-form-message",{class:s.classes.ErrorMessage,type:"error"},h("p",{part:"alert-description"},r.error))),h("sl-button",{slot:"footer",type:"primary",loading:r.submitting,disabled:r.submitting||!r.countryCode||!r.currency||!r.allowBankingCollection||r.shouldDisplayNameFields&&(!r.firstName||!r.lastName),onClick:n.onSubmit,class:s.classes.SubmitButton,exportparts:"base: primarybutton-base"},c))}function PartnerInfoModalView(e){var a=e.states,t=e.text,r=e.callbacks;var n=createStyleSheet(style);var l=n.toString();if(!a.open)return h("div",null);var s=a.isExistingPartner?t.modalHeaderExistingPartner:t.modalHeader;return h("div",null,h("style",{type:"text/css"}," ",l),h("sl-dialog",{class:n.classes.Dialog,open:a.open,noHeader:true,label:s,"onSl-request-close":function(e){e.preventDefault()},"onSl-hide":function(e){var a;if(((a=e.target)===null||a===void 0?void 0:a.tagName)==="SL-DIALOG"){e.preventDefault()}},"onSl-initial-focus":r.onInitialFocus},h("h2",{class:n.classes.DialogTitle},s),h(PartnerInfoModalContentView,Object.assign({},e))))}export{PartnerInfoModalView as P,PartnerInfoModalContentView as a};