@mxenabled/connect-widget 2.15.4 → 2.16.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.
package/dist/index.es.js CHANGED
@@ -9367,6 +9367,7 @@ const loadConnectSuccess = (state, action) => {
9367
9367
  microdeposit,
9368
9368
  config = {},
9369
9369
  institution = {},
9370
+ experimentalFeatures = {},
9370
9371
  widgetProfile
9371
9372
  } = action.payload;
9372
9373
  return {
@@ -9376,7 +9377,15 @@ const loadConnectSuccess = (state, action) => {
9376
9377
  isComponentLoading: false,
9377
9378
  location: pushLocation(
9378
9379
  state.location,
9379
- getStartingStep(members, member, microdeposit, config, institution, widgetProfile)
9380
+ getStartingStep(
9381
+ members,
9382
+ member,
9383
+ microdeposit,
9384
+ config,
9385
+ institution,
9386
+ widgetProfile,
9387
+ experimentalFeatures
9388
+ )
9380
9389
  ),
9381
9390
  selectedInstitution: institution,
9382
9391
  updateCredentials: member?.connection_status === ReadableStatuses$1.DENIED || state.updateCredentials,
@@ -9728,13 +9737,17 @@ const upsertMember = (state, action) => {
9728
9737
  }
9729
9738
  return [...state.members, loadedMember];
9730
9739
  };
9731
- function getStartingStep(members, member, microdeposit, config, institution, widgetProfile) {
9740
+ function getStartingStep(members, member, microdeposit, config, institution, widgetProfile, experimentalFeatures = {}) {
9741
+ const unavailableInstitutions = experimentalFeatures?.unavailableInstitutions || [];
9742
+ const institutionIsAvailable = institution && unavailableInstitutions.find(
9743
+ (ins) => ins.guid === institution?.guid || ins.name === institution?.name
9744
+ ) === void 0;
9732
9745
  const shouldStepToMFA = member && config.update_credentials && member.connection_status === ReadableStatuses$1.CHALLENGED;
9733
9746
  const shouldUpdateCredentials = member && (config.update_credentials || member.connection_status === ReadableStatuses$1.DENIED);
9734
9747
  const shouldStepToMicrodeposits = config.current_microdeposit_guid && config.mode === VERIFY_MODE && microdeposit.status !== MicrodepositsStatuses.PREINITIATED;
9735
- const shouldLoadWithInstitution = institution && (config.current_institution_guid || config.current_institution_code);
9748
+ const shouldLoadWithInstitution = institution && (config.current_institution_guid || config.current_institution_code) && institutionIsAvailable;
9736
9749
  const shouldStepToConnecting = member?.connection_status === ReadableStatuses$1.REJECTED || member?.connection_status === ReadableStatuses$1.EXPIRED;
9737
- const shouldStepToInstitutionStatusDetails = institution && institutionIsBlockedForCostReasons(institution) || member && memberIsBlockedForCostReasons(member);
9750
+ const shouldStepToInstitutionStatusDetails = institution && institutionIsBlockedForCostReasons(institution) || member && memberIsBlockedForCostReasons(member) || !institutionIsAvailable;
9738
9751
  if (shouldStepToInstitutionStatusDetails) {
9739
9752
  return STEPS.INSTITUTION_STATUS_DETAILS;
9740
9753
  } else if (shouldStepToMFA)
@@ -14472,7 +14485,7 @@ const Spinner = ({ bgColor, fgColor, size = 64 }) => {
14472
14485
  const tokens = useTokens();
14473
14486
  const bg = bgColor || "transparent";
14474
14487
  const fg = fgColor || tokens.TextColor.Default;
14475
- const styles = getStyles$1L(bg, fg, size);
14488
+ const styles = getStyles$1K(bg, fg, size);
14476
14489
  const RANDOM_NUMBER = Math.random();
14477
14490
  const idCutOff = `cut-off-${RANDOM_NUMBER}`;
14478
14491
  const idSpinGradient = `spin-gradient-${RANDOM_NUMBER}`;
@@ -14519,7 +14532,7 @@ const animationModulate = dist.keyframes("modulate", {
14519
14532
  "30%": { strokeDashoffset: 160 },
14520
14533
  "100%": { strokeDashoffset: 270 }
14521
14534
  });
14522
- const getStyles$1L = (bgColor, fgColor, size) => ({
14535
+ const getStyles$1K = (bgColor, fgColor, size) => ({
14523
14536
  ring: {
14524
14537
  animation: `1.6s linear infinite ${animationRotate}`,
14525
14538
  width: size,
@@ -14577,7 +14590,7 @@ dist.keyframes("pulse", {
14577
14590
 
14578
14591
  const LoadingSpinner = ({ showText = false, size = 48 }) => {
14579
14592
  const tokens = useTokens();
14580
- const styles = getStyles$1K(tokens);
14593
+ const styles = getStyles$1J(tokens);
14581
14594
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.container, children: [
14582
14595
  /* @__PURE__ */ jsxRuntimeExports.jsx(
14583
14596
  Spinner,
@@ -14590,7 +14603,7 @@ const LoadingSpinner = ({ showText = false, size = 48 }) => {
14590
14603
  showText && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: styles.text, children: __("Loading ...") })
14591
14604
  ] });
14592
14605
  };
14593
- const getStyles$1K = (tokens) => {
14606
+ const getStyles$1J = (tokens) => {
14594
14607
  return {
14595
14608
  container: {
14596
14609
  backgroundColor: tokens.BackgroundColor.Container,
@@ -54659,7 +54672,7 @@ const AuthenticationMethods = {
54659
54672
 
54660
54673
  const GenericError = ({ loadError, onAnalyticPageview, subtitle, title }) => {
54661
54674
  const tokens = useTokens();
54662
- const styles = getStyles$1J(tokens);
54675
+ const styles = getStyles$1I(tokens);
54663
54676
  useEffect(() => {
54664
54677
  if (!isRunningE2ETests())
54665
54678
  onAnalyticPageview(
@@ -54685,7 +54698,7 @@ const GenericError = ({ loadError, onAnalyticPageview, subtitle, title }) => {
54685
54698
  subtitle && /* @__PURE__ */ jsxRuntimeExports.jsx(D, { component: "h2", truncate: false, variant: "Paragraph", children: subtitle })
54686
54699
  ] });
54687
54700
  };
54688
- function getStyles$1J(tokens) {
54701
+ function getStyles$1I(tokens) {
54689
54702
  return {
54690
54703
  container: {
54691
54704
  backgroundColor: tokens.BackgroundColor.Container,
@@ -60853,10 +60866,10 @@ const fadeOut = (el, direction = "up", duration = 500) => {
60853
60866
  };
60854
60867
 
60855
60868
  const SlideDown = ({ delay = 0, duration = 300, children }) => {
60856
- const styles = getStyles$1I(delay, duration);
60869
+ const styles = getStyles$1H(delay, duration);
60857
60870
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles, children });
60858
60871
  };
60859
- const getStyles$1I = (delay, duration) => {
60872
+ const getStyles$1H = (delay, duration) => {
60860
60873
  const slideAnimation = dist.keyframes({
60861
60874
  from: {
60862
60875
  opacity: 0,
@@ -60943,14 +60956,14 @@ const propTypes$2 = {
60943
60956
  const ConnectInstitutionHeader = (props) => {
60944
60957
  const colorScheme = useSelector(selectColorScheme);
60945
60958
  useTokens();
60946
- const styles = getStyles$1H();
60959
+ const styles = getStyles$1G();
60947
60960
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "data-test": "disclosure-svg-header", style: styles.container, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.backdropImage, children: [
60948
60961
  colorScheme === COLOR_SCHEME.LIGHT ? /* @__PURE__ */ jsxRuntimeExports.jsx(SvgHeaderBackdropLight, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(SvgHeaderBackdropDark, {}),
60949
60962
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: styles.device, children: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgHeaderDevice, {}) }),
60950
60963
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: styles.institutionLogo, children: props.institutionGuid ? /* @__PURE__ */ jsxRuntimeExports.jsx(InstitutionLogo, { alt: "", institutionGuid: props.institutionGuid, size: 64 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(SvgHeaderDefaultInstitution, {}) })
60951
60964
  ] }) });
60952
60965
  };
60953
- function getStyles$1H() {
60966
+ function getStyles$1G() {
60954
60967
  const maxHeight = "64px";
60955
60968
  const maxWidth = "240px";
60956
60969
  return {
@@ -60997,7 +61010,7 @@ const GoBackButton = forwardRef((props, ref) => {
60997
61010
  const defaultRef = useRef(null);
60998
61011
  const { handleGoBack } = props;
60999
61012
  const tokens = useTokens();
61000
- const styles = getStyles$1G(tokens);
61013
+ const styles = getStyles$1F(tokens);
61001
61014
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
61002
61015
  IconButton$1,
61003
61016
  {
@@ -61017,7 +61030,7 @@ const GoBackButton = forwardRef((props, ref) => {
61017
61030
  }
61018
61031
  );
61019
61032
  });
61020
- const getStyles$1G = (tokens) => ({
61033
+ const getStyles$1F = (tokens) => ({
61021
61034
  height: "44px",
61022
61035
  margin: `0px ${tokens.Spacing.XSmall}px ${tokens.Spacing.XSmall}px -${tokens.Spacing.Medium}px`,
61023
61036
  padding: `0px 8px`,
@@ -61030,7 +61043,7 @@ GoBackButton.displayName = "GoBackButton";
61030
61043
 
61031
61044
  const LeavingNoticeFlat = ({ onContinue, onCancel, portalTo = "connect-wrapper" }) => {
61032
61045
  const tokens = useTokens();
61033
- const styles = getStyles$1F(tokens);
61046
+ const styles = getStyles$1E(tokens);
61034
61047
  const getNextDelay = getDelay();
61035
61048
  return createPortal(
61036
61049
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { role: "alert", style: styles.container, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.content, children: [
@@ -61092,7 +61105,7 @@ const LeavingNoticeFlat = ({ onContinue, onCancel, portalTo = "connect-wrapper"
61092
61105
  document.getElementById(portalTo)
61093
61106
  );
61094
61107
  };
61095
- const getStyles$1F = (tokens) => {
61108
+ const getStyles$1E = (tokens) => {
61096
61109
  return {
61097
61110
  container: {
61098
61111
  top: 0,
@@ -61156,7 +61169,6 @@ const urlWithHttps = (url) => {
61156
61169
  return `https://${url}`;
61157
61170
  }
61158
61171
  };
61159
- const isScrollableUrl = (url) => /^#/.test(url);
61160
61172
  const getEnvironment = () => {
61161
61173
  if (/\bsand\b/.test(window.location.host) || /\blocalhost\b/.test(window.location.host))
61162
61174
  return Environments.SANDBOX;
@@ -61171,1847 +61183,30 @@ const Environments = Object.freeze({
61171
61183
  PRODUCTION: "production"
61172
61184
  });
61173
61185
 
61174
- const title = "MX Privacy Statement";
61175
- const updatedOn = "Last Updated: April 3, 2024";
61176
- const body = [
61177
- {
61178
- tag: "p",
61179
- style: "paragraph",
61180
- text: [
61181
- "This Privacy Statement is provided by MX Technologies, Inc., and our controlled affiliates and subsidiaries (“MX”, “we”, “us”, and/or “our”)."
61182
- ]
61183
- },
61184
- {
61185
- tag: "p",
61186
- style: "paragraph",
61187
- text: [
61188
- "This Privacy Statement is divided into the following sections:"
61189
- ]
61190
- },
61191
- {
61192
- tag: "ol",
61193
- style: "list",
61194
- text: [
61195
- {
61196
- tag: "li",
61197
- style: "listItem",
61198
- text: [
61199
- {
61200
- tag: "a",
61201
- href: "#scope",
61202
- style: "link",
61203
- text: [
61204
- "Scope"
61205
- ]
61206
- }
61207
- ]
61208
- },
61209
- {
61210
- tag: "li",
61211
- style: "listItem",
61212
- text: [
61213
- {
61214
- tag: "a",
61215
- href: "#data-collect",
61216
- style: "link",
61217
- text: [
61218
- "Personal Data We May Collect and Its Sources"
61219
- ]
61220
- }
61221
- ]
61222
- },
61223
- {
61224
- tag: "li",
61225
- style: "listItem",
61226
- text: [
61227
- {
61228
- tag: "a",
61229
- href: "#personal-data",
61230
- style: "link",
61231
- text: [
61232
- "How We Use Your Personal Data"
61233
- ]
61234
- }
61235
- ]
61236
- },
61237
- {
61238
- tag: "li",
61239
- style: "listItem",
61240
- text: [
61241
- {
61242
- tag: "a",
61243
- href: "#disclose",
61244
- style: "link",
61245
- text: [
61246
- "How We Disclose Your Personal Data"
61247
- ]
61248
- }
61249
- ]
61250
- },
61251
- {
61252
- tag: "li",
61253
- style: "listItem",
61254
- text: [
61255
- {
61256
- tag: "a",
61257
- href: "#rights",
61258
- style: "link",
61259
- text: [
61260
- "Your Rights and Choices with Your Personal Data"
61261
- ]
61262
- }
61263
- ]
61264
- },
61265
- {
61266
- tag: "li",
61267
- style: "listItem",
61268
- text: [
61269
- {
61270
- tag: "a",
61271
- href: "#location",
61272
- style: "link",
61273
- text: [
61274
- "Location of Personal Data"
61275
- ]
61276
- }
61277
- ]
61278
- },
61279
- {
61280
- tag: "li",
61281
- style: "listItem",
61282
- text: [
61283
- {
61284
- tag: "a",
61285
- href: "#security",
61286
- style: "link",
61287
- text: [
61288
- "Security of Personal Data"
61289
- ]
61290
- }
61291
- ]
61292
- },
61293
- {
61294
- tag: "li",
61295
- style: "listItem",
61296
- text: [
61297
- {
61298
- tag: "a",
61299
- href: "#retention",
61300
- style: "link",
61301
- text: [
61302
- "Retention of Personal Data"
61303
- ]
61304
- }
61305
- ]
61306
- },
61307
- {
61308
- tag: "li",
61309
- style: "listItem",
61310
- text: [
61311
- {
61312
- tag: "a",
61313
- href: "#gdpr",
61314
- style: "link",
61315
- text: [
61316
- "European Data Protection Rights"
61317
- ]
61318
- }
61319
- ]
61320
- },
61321
- {
61322
- tag: "li",
61323
- style: "listItem",
61324
- text: [
61325
- {
61326
- tag: "a",
61327
- href: "#ccpa",
61328
- style: "link",
61329
- text: [
61330
- "California Privacy Rights"
61331
- ]
61332
- }
61333
- ]
61334
- },
61335
- {
61336
- tag: "li",
61337
- style: "listItem",
61338
- text: [
61339
- {
61340
- tag: "a",
61341
- href: "#changes",
61342
- style: "link",
61343
- text: [
61344
- "Changes to This Privacy Statement"
61345
- ]
61346
- }
61347
- ]
61348
- },
61349
- {
61350
- tag: "li",
61351
- style: "listItem",
61352
- text: [
61353
- {
61354
- tag: "a",
61355
- href: "#contact",
61356
- style: "link",
61357
- text: [
61358
- "How to Contact Us"
61359
- ]
61360
- }
61361
- ]
61362
- }
61363
- ]
61364
- },
61365
- {
61366
- tag: "p",
61367
- style: "paragraph",
61368
- text: [
61369
- {
61370
- tag: "a",
61371
- href: "https://www.mx.com/cookie-policy/",
61372
- style: "link",
61373
- text: [
61374
- "Click here"
61375
- ]
61376
- },
61377
- " to view our Cookie Policy."
61378
- ]
61379
- },
61380
- {
61381
- tag: "h2",
61382
- id: "scope",
61383
- style: "title",
61384
- text: [
61385
- "A. Scope"
61386
- ]
61387
- },
61388
- {
61389
- tag: "h3",
61390
- style: "subTitle",
61391
- text: [
61392
- "When does this Privacy Statement apply?"
61393
- ]
61394
- },
61395
- {
61396
- tag: "p",
61397
- style: "paragraph",
61398
- text: [
61399
- "This Privacy Statement applies to our collection, use, and disclosure of personal data where such activities display or reference this Privacy Statement, such as when (i) accessing or using our website(s); (ii) entering information into an online form which contains a link to this Privacy Statement; (iii) providing your personal data to an MX representative, such as when you request support or visit us at an event or tradeshow; or (iv) personal data you otherwise provide or disclose to us in a manner described in this Privacy Statement."
61400
- ]
61401
- },
61402
- {
61403
- tag: "p",
61404
- style: "paragraph",
61405
- text: [
61406
- "California consumers can find specific disclosures regarding how we collect, use, retain, disclose, and sell or share personal information In the ",
61407
- {
61408
- tag: "a",
61409
- href: "#ccpa",
61410
- style: "link",
61411
- text: [
61412
- "California Privacy Rights"
61413
- ]
61414
- },
61415
- " section of this Privacy Statement."
61416
- ]
61417
- },
61418
- {
61419
- tag: "h3",
61420
- style: "subTitle",
61421
- text: [
61422
- "When does this Privacy Statement ",
61423
- {
61424
- tag: "u",
61425
- text: [
61426
- "not"
61427
- ]
61428
- },
61429
- " apply?"
61430
- ]
61431
- },
61432
- {
61433
- tag: "p",
61434
- style: "paragraph",
61435
- text: [
61436
- "Most MX Services are intended for and provided to businesses and other organizations, and not individual consumers or end-users. In some cases, in providing those services, we process personal data of consumers or end-users at the direction of our customers. When we do, we do so as a service provider or a “data processor” to those organizations. We do not control and are not responsible for the privacy practices of our customers",
61437
- "’",
61438
- " organizations. This privacy statement does not apply to personal data we process as a service provider or data processor on behalf of our customers. If you are an end-user of one of those organizations, please review that organization",
61439
- "’",
61440
- "s privacy statement and direct any privacy inquiries to that organization."
61441
- ]
61442
- },
61443
- {
61444
- tag: "p",
61445
- style: "paragraph",
61446
- text: [
61447
- "This Privacy Statement does not apply to any job applicants. When you submit an application for a job with us, we collect, use, and otherwise process your personal data in accordance with our",
61448
- " ",
61449
- {
61450
- tag: "a",
61451
- href: "/recruitment-privacy/",
61452
- style: "link",
61453
- text: [
61454
- "Applicant Privacy Notice."
61455
- ]
61456
- }
61457
- ]
61458
- },
61459
- {
61460
- tag: "p",
61461
- style: "paragraph",
61462
- text: [
61463
- "Finally, this Privacy Statement does not apply to any activities that display or reference a different privacy statement or notice."
61464
- ]
61465
- },
61466
- {
61467
- tag: "h2",
61468
- id: "data-collect",
61469
- style: "title",
61470
- text: [
61471
- "B. Personal Data We May Collect and Its Sources"
61472
- ]
61473
- },
61474
- {
61475
- tag: "p",
61476
- style: "paragraph",
61477
- text: [
61478
- "The personal data we collect depends on how you interact with us, the sites and forms you access and use, and the",
61479
- " ",
61480
- {
61481
- tag: "a",
61482
- href: "#rights",
61483
- style: "link",
61484
- text: [
61485
- "choices"
61486
- ]
61487
- },
61488
- " you make."
61489
- ]
61490
- },
61491
- {
61492
- tag: "p",
61493
- style: "paragraph",
61494
- text: [
61495
- "We collect information about you from difference sources and in various ways when you access our sites or otherwise provide or disclose personal data to us, including information you provide directly, information collected automatically, information from third-party data sources, and data we infer or generate from other data."
61496
- ]
61497
- },
61498
- {
61499
- tag: "ol",
61500
- style: "list",
61501
- text: [
61502
- {
61503
- tag: "li",
61504
- style: "listItem",
61505
- text: [
61506
- {
61507
- tag: "p",
61508
- style: "paragraph",
61509
- text: [
61510
- {
61511
- tag: "u",
61512
- text: [
61513
- "Information you provide directly."
61514
- ]
61515
- },
61516
- " We collect personal data you provide to us. For example:"
61517
- ]
61518
- },
61519
- {
61520
- tag: "ul",
61521
- style: "list",
61522
- text: [
61523
- {
61524
- tag: "li",
61525
- style: "listItem",
61526
- text: [
61527
- {
61528
- tag: "p",
61529
- style: "paragraph",
61530
- text: [
61531
- {
61532
- tag: "b",
61533
- text: [
61534
- "Name and contact information."
61535
- ]
61536
- },
61537
- " When you request information using our chat feature or online forms, request support, sign up for or attend events, download content, or otherwise engage with us, we collect name, username or alias, and contact details such as email address, postal address, and phone number."
61538
- ]
61539
- }
61540
- ]
61541
- },
61542
- {
61543
- tag: "li",
61544
- style: "listItem",
61545
- text: [
61546
- {
61547
- tag: "p",
61548
- style: "paragraph",
61549
- text: [
61550
- {
61551
- tag: "b",
61552
- text: [
61553
- "Demographic data."
61554
- ]
61555
- },
61556
- " In some cases, such as when you register or participate in surveys, we request that you provide certain information such as your occupation, industry, education, and similar demographic details."
61557
- ]
61558
- }
61559
- ]
61560
- },
61561
- {
61562
- tag: "li",
61563
- style: "listItem",
61564
- text: [
61565
- {
61566
- tag: "p",
61567
- style: "paragraph",
61568
- text: [
61569
- {
61570
- tag: "b",
61571
- text: [
61572
- "Financial information."
61573
- ]
61574
- },
61575
- " If you make a purchase or other financial transaction for an MX related event or webinar, we collect credit card numbers, financial account information, and other payment details through a third party."
61576
- ]
61577
- }
61578
- ]
61579
- },
61580
- {
61581
- tag: "li",
61582
- style: "listItem",
61583
- text: [
61584
- {
61585
- tag: "p",
61586
- style: "paragraph",
61587
- text: [
61588
- {
61589
- tag: "b",
61590
- text: [
61591
- "Content and files."
61592
- ]
61593
- },
61594
- " Where applicable, we may collect screenshots, documents, or other files you upload to our sites or otherwise provide to us. If you send us email messages or other communications, we collect and retain those communications (or records relating to those communications, including voice or video recordings and chat transcripts). If you submit information via webform or participate in a survey, we will collect and retain information you submit to us."
61595
- ]
61596
- }
61597
- ]
61598
- },
61599
- {
61600
- tag: "li",
61601
- style: "listItem",
61602
- text: [
61603
- {
61604
- tag: "p",
61605
- style: "paragraph",
61606
- text: [
61607
- {
61608
- tag: "b",
61609
- text: [
61610
- "Account access information."
61611
- ]
61612
- },
61613
- " If you have a web-based account with us (i.e. for access to our client dashboard, etc.), we collect information such as a username or account number in combination with a password, security or access code, or other credential to allow access to your account. This data may be considered “sensitive personal data” in certain states or countries."
61614
- ]
61615
- }
61616
- ]
61617
- }
61618
- ]
61619
- }
61620
- ]
61621
- },
61622
- {
61623
- tag: "li",
61624
- style: "listItem",
61625
- text: [
61626
- {
61627
- tag: "p",
61628
- style: "paragraph",
61629
- text: [
61630
- {
61631
- tag: "u",
61632
- text: [
61633
- "Information we collect automatically."
61634
- ]
61635
- },
61636
- " When you access or use our websites, we collect some information automatically. For example:"
61637
- ]
61638
- },
61639
- {
61640
- tag: "ul",
61641
- style: "list",
61642
- text: [
61643
- {
61644
- tag: "li",
61645
- style: "listItem",
61646
- text: [
61647
- {
61648
- tag: "p",
61649
- style: "paragraph",
61650
- text: [
61651
- {
61652
- tag: "b",
61653
- text: [
61654
- "Identifiers and device information."
61655
- ]
61656
- },
61657
- " When you visit our websites, our web servers automatically log your Internet Protocol (IP) address and information about your device, including device identifiers (such as MAC address); device type; and your device",
61658
- "’",
61659
- "s operating system, browser, and other software including type, version, language, settings, and configuration. As further described in our",
61660
- " ",
61661
- {
61662
- tag: "a",
61663
- href: "https://www.mx.com/cookie-policy/",
61664
- style: "link",
61665
- text: [
61666
- "Cookie Policy"
61667
- ]
61668
- },
61669
- ", our websites store and retrieve cookie identifiers, mobile IDs, and other data."
61670
- ]
61671
- }
61672
- ]
61673
- },
61674
- {
61675
- tag: "li",
61676
- style: "listItem",
61677
- text: [
61678
- {
61679
- tag: "p",
61680
- style: "paragraph",
61681
- text: [
61682
- {
61683
- tag: "b",
61684
- text: [
61685
- "Geolocation data."
61686
- ]
61687
- },
61688
- " Depending on your device and app settings, we collect geolocation data when you use our websites."
61689
- ]
61690
- }
61691
- ]
61692
- },
61693
- {
61694
- tag: "li",
61695
- style: "listItem",
61696
- text: [
61697
- {
61698
- tag: "p",
61699
- style: "paragraph",
61700
- text: [
61701
- {
61702
- tag: "b",
61703
- text: [
61704
- "Usage data."
61705
- ]
61706
- },
61707
- " We automatically log your activity on our websites, including the URL of the website from which you came to our sites, pages you viewed, how long you spent on a page, access times, and other details about your use of and actions on our website."
61708
- ]
61709
- }
61710
- ]
61711
- }
61712
- ]
61713
- }
61714
- ]
61715
- },
61716
- {
61717
- tag: "li",
61718
- style: "listItem",
61719
- text: [
61720
- {
61721
- tag: "p",
61722
- style: "paragraph",
61723
- text: [
61724
- {
61725
- tag: "u",
61726
- text: [
61727
- "Information we create or generate."
61728
- ]
61729
- },
61730
- " We infer new information from other data we collect, including using automated means to generate information about your likely preferences or other characteristics (“",
61731
- {
61732
- tag: "b",
61733
- text: [
61734
- "inferences”"
61735
- ]
61736
- },
61737
- "). For example, we infer your general geographic location (such as city, state, and country) based on your IP address or your likely preferences or interests related to our products and services based on your browsing activities on our website or information you provide to us in a survey or form."
61738
- ]
61739
- }
61740
- ]
61741
- },
61742
- {
61743
- tag: "li",
61744
- style: "listItem",
61745
- text: [
61746
- {
61747
- tag: "p",
61748
- style: "paragraph",
61749
- text: [
61750
- {
61751
- tag: "u",
61752
- text: [
61753
- "Information we obtain from other sources."
61754
- ]
61755
- },
61756
- " In addition to the personal data that you provide directly or that we generate automatically or infer, we may also collect personal data (such as the categories described above) from other sources. These sources include, for example:"
61757
- ]
61758
- },
61759
- {
61760
- tag: "ul",
61761
- style: "list",
61762
- text: [
61763
- {
61764
- tag: "li",
61765
- style: "listItem",
61766
- text: [
61767
- {
61768
- tag: "p",
61769
- style: "paragraph",
61770
- text: [
61771
- {
61772
- tag: "b",
61773
- text: [
61774
- "Third-party partners."
61775
- ]
61776
- },
61777
- " Third-party applications and services, including social networks you choose to connect with or interact with through our sites."
61778
- ]
61779
- }
61780
- ]
61781
- },
61782
- {
61783
- tag: "li",
61784
- style: "listItem",
61785
- text: [
61786
- {
61787
- tag: "p",
61788
- style: "paragraph",
61789
- text: [
61790
- {
61791
- tag: "b",
61792
- text: [
61793
- "Co-branding/marketing partners."
61794
- ]
61795
- },
61796
- " Partners with which we offer co-branded services or engage in joint marketing activities."
61797
- ]
61798
- }
61799
- ]
61800
- },
61801
- {
61802
- tag: "li",
61803
- style: "listItem",
61804
- text: [
61805
- {
61806
- tag: "p",
61807
- style: "paragraph",
61808
- text: [
61809
- {
61810
- tag: "b",
61811
- text: [
61812
- "Service providers."
61813
- ]
61814
- },
61815
- " Third parties that collect or provide data in connection with work they do on our behalf, for example companies that determine your device",
61816
- "’",
61817
- "s location based on its IP address."
61818
- ]
61819
- }
61820
- ]
61821
- },
61822
- {
61823
- tag: "li",
61824
- style: "listItem",
61825
- text: [
61826
- {
61827
- tag: "p",
61828
- style: "paragraph",
61829
- text: [
61830
- {
61831
- tag: "b",
61832
- text: [
61833
- "Publicly available sources."
61834
- ]
61835
- },
61836
- " Public sources of information such as open government databases."
61837
- ]
61838
- }
61839
- ]
61840
- }
61841
- ]
61842
- }
61843
- ]
61844
- }
61845
- ]
61846
- },
61847
- {
61848
- tag: "p",
61849
- style: "paragraph",
61850
- text: [
61851
- "When you are asked to provide personal data, you may decline. And you may use web browser or operating system controls to prevent certain types of automatic data collection. But if you choose not to provide or allow information that is necessary for certain services or features to operate on our sites or to provide our forms, those services or features may not be available or fully functional."
61852
- ]
61853
- },
61854
- {
61855
- tag: "h2",
61856
- id: "personal-data",
61857
- style: "title",
61858
- text: [
61859
- "C. How We Use Your Personal Data"
61860
- ]
61861
- },
61862
- {
61863
- tag: "p",
61864
- style: "paragraph",
61865
- text: [
61866
- "We may use the personal data we collect for the following purposes:"
61867
- ]
61868
- },
61869
- {
61870
- tag: "ul",
61871
- style: "list",
61872
- text: [
61873
- {
61874
- tag: "li",
61875
- style: "listItem",
61876
- text: [
61877
- {
61878
- tag: "p",
61879
- style: "paragraph",
61880
- text: [
61881
- "To improve and develop our products;"
61882
- ]
61883
- }
61884
- ]
61885
- },
61886
- {
61887
- tag: "li",
61888
- style: "listItem",
61889
- text: [
61890
- {
61891
- tag: "p",
61892
- style: "paragraph",
61893
- text: [
61894
- "To conduct research;"
61895
- ]
61896
- }
61897
- ]
61898
- },
61899
- {
61900
- tag: "li",
61901
- style: "listItem",
61902
- text: [
61903
- {
61904
- tag: "p",
61905
- style: "paragraph",
61906
- text: [
61907
- "To develop new sites or features;"
61908
- ]
61909
- }
61910
- ]
61911
- },
61912
- {
61913
- tag: "li",
61914
- style: "listItem",
61915
- text: [
61916
- {
61917
- tag: "p",
61918
- style: "paragraph",
61919
- text: [
61920
- "To understand you and your preferences to enhance your experience and enjoyment using our website;"
61921
- ]
61922
- }
61923
- ]
61924
- },
61925
- {
61926
- tag: "li",
61927
- style: "listItem",
61928
- text: [
61929
- {
61930
- tag: "p",
61931
- style: "paragraph",
61932
- text: [
61933
- "To communicate with you about new sites, offers, promotions, rewards, contests, upcoming events, and other information about our sites and those of our selected partners (see the “",
61934
- {
61935
- tag: "a",
61936
- href: "#rights",
61937
- style: "link",
61938
- text: [
61939
- "Your Rights and Choices with Your Personal Data"
61940
- ]
61941
- },
61942
- "” section of this statement for information about how to change your preferences for promotional communications);"
61943
- ]
61944
- }
61945
- ]
61946
- },
61947
- {
61948
- tag: "li",
61949
- style: "listItem",
61950
- text: [
61951
- {
61952
- tag: "p",
61953
- style: "paragraph",
61954
- text: [
61955
- "To plan and host events, conferences, or webinars, including related communications with you;"
61956
- ]
61957
- }
61958
- ]
61959
- },
61960
- {
61961
- tag: "li",
61962
- style: "listItem",
61963
- text: [
61964
- {
61965
- tag: "p",
61966
- style: "paragraph",
61967
- text: [
61968
- "To detect fraudulent or illegal activity and manage the security of our websites and offices;"
61969
- ]
61970
- }
61971
- ]
61972
- },
61973
- {
61974
- tag: "li",
61975
- style: "listItem",
61976
- text: [
61977
- {
61978
- tag: "p",
61979
- style: "paragraph",
61980
- text: [
61981
- "To maintain our list of prospective and actual clients, partners, and service providers;"
61982
- ]
61983
- }
61984
- ]
61985
- },
61986
- {
61987
- tag: "li",
61988
- style: "listItem",
61989
- text: [
61990
- {
61991
- tag: "p",
61992
- style: "paragraph",
61993
- text: [
61994
- "To respond to inquiries made subject to this Privacy Statement; and"
61995
- ]
61996
- }
61997
- ]
61998
- },
61999
- {
62000
- tag: "li",
62001
- style: "listItem",
62002
- text: [
62003
- {
62004
- tag: "p",
62005
- style: "paragraph",
62006
- text: [
62007
- "To enable us to comply with applicable laws."
62008
- ]
62009
- }
62010
- ]
62011
- }
62012
- ]
62013
- },
62014
- {
62015
- tag: "h2",
62016
- id: "disclose",
62017
- style: "title",
62018
- text: [
62019
- "D. How We Disclose Your Personal Data"
62020
- ]
62021
- },
62022
- {
62023
- tag: "p",
62024
- style: "paragraph",
62025
- text: [
62026
- "We disclose personal data with your consent or as we determine necessary to complete your transactions or provide the sites you have requested or authorized. In addition, we disclose each of the categories of personal data described above, to the types of third parties described below, for the following business purposes:"
62027
- ]
62028
- },
62029
- {
62030
- tag: "ul",
62031
- style: "list",
62032
- text: [
62033
- {
62034
- tag: "li",
62035
- style: "listItem",
62036
- text: [
62037
- {
62038
- tag: "p",
62039
- style: "paragraph",
62040
- text: [
62041
- {
62042
- tag: "b",
62043
- text: [
62044
- "Public information."
62045
- ]
62046
- },
62047
- " You may select options available through our sites to publicly display and disclose your name and/or username and certain other information, such as your profile, demographic data, content and files, or geolocation data."
62048
- ]
62049
- }
62050
- ]
62051
- },
62052
- {
62053
- tag: "li",
62054
- style: "listItem",
62055
- text: [
62056
- {
62057
- tag: "p",
62058
- style: "paragraph",
62059
- text: [
62060
- {
62061
- tag: "b",
62062
- text: [
62063
- "Service providers."
62064
- ]
62065
- },
62066
- " We provide personal data to vendors or agents working on our behalf for the purposes described in this Privacy Statement. For example, companies we",
62067
- "’",
62068
- "ve hired to provide customer service support or assist in protecting and securing our systems and sites and companies we",
62069
- "’",
62070
- "ve hired to provide electronic communications systems and support, including those that record or store communications, may need access to personal data to provide those functions."
62071
- ]
62072
- }
62073
- ]
62074
- },
62075
- {
62076
- tag: "li",
62077
- style: "listItem",
62078
- text: [
62079
- {
62080
- tag: "p",
62081
- style: "paragraph",
62082
- text: [
62083
- {
62084
- tag: "b",
62085
- text: [
62086
- "Financial services and payment processing."
62087
- ]
62088
- },
62089
- " When you provide payment data, for example to register for an event, we will disclose payment and transactional data to banks and other entities as necessary for payment processing, fraud prevention, credit risk reduction, analytics, or other related financial services."
62090
- ]
62091
- }
62092
- ]
62093
- },
62094
- {
62095
- tag: "li",
62096
- style: "listItem",
62097
- text: [
62098
- {
62099
- tag: "p",
62100
- style: "paragraph",
62101
- text: [
62102
- {
62103
- tag: "b",
62104
- text: [
62105
- "Affiliates."
62106
- ]
62107
- },
62108
- " We enable access to personal data across our subsidiaries, affiliates, and related companies. For example, where we share common data systems or where access helps us to provide our sites and operate our business."
62109
- ]
62110
- }
62111
- ]
62112
- },
62113
- {
62114
- tag: "li",
62115
- style: "listItem",
62116
- text: [
62117
- {
62118
- tag: "p",
62119
- style: "paragraph",
62120
- text: [
62121
- {
62122
- tag: "b",
62123
- text: [
62124
- "Corporate transactions."
62125
- ]
62126
- },
62127
- " We may disclose personal data as part of a corporate transaction or proceeding such as a merger, financing, acquisition, bankruptcy, dissolution, or a transfer, divestiture, or sale of all or a portion of our business or assets."
62128
- ]
62129
- }
62130
- ]
62131
- },
62132
- {
62133
- tag: "li",
62134
- style: "listItem",
62135
- text: [
62136
- {
62137
- tag: "p",
62138
- style: "paragraph",
62139
- text: [
62140
- {
62141
- tag: "b",
62142
- text: [
62143
- "Legal and law enforcement."
62144
- ]
62145
- },
62146
- " We will access, disclose, and preserve personal data when we believe doing so is necessary to comply with applicable law or respond to valid legal process, including from regulatory or other public authorities, law enforcement, national security, or other government agencies."
62147
- ]
62148
- }
62149
- ]
62150
- },
62151
- {
62152
- tag: "li",
62153
- style: "listItem",
62154
- text: [
62155
- {
62156
- tag: "p",
62157
- style: "paragraph",
62158
- text: [
62159
- {
62160
- tag: "b",
62161
- text: [
62162
- "Security, safety, and protecting rights."
62163
- ]
62164
- },
62165
- " We will disclose personal data if we believe it is necessary to:"
62166
- ]
62167
- },
62168
- {
62169
- tag: "ul",
62170
- style: "list",
62171
- text: [
62172
- {
62173
- tag: "li",
62174
- style: "listItem",
62175
- text: [
62176
- {
62177
- tag: "p",
62178
- style: "paragraph",
62179
- text: [
62180
- "protect our customers and others, for example to prevent spam or attempts to commit fraud, or to help prevent loss of life or serious injury;"
62181
- ]
62182
- }
62183
- ]
62184
- },
62185
- {
62186
- tag: "li",
62187
- style: "listItem",
62188
- text: [
62189
- {
62190
- tag: "p",
62191
- style: "paragraph",
62192
- text: [
62193
- "operate and maintain the security of our sites, including to prevent or stop an attack on our computer systems or networks; or"
62194
- ]
62195
- }
62196
- ]
62197
- },
62198
- {
62199
- tag: "li",
62200
- style: "listItem",
62201
- text: [
62202
- {
62203
- tag: "p",
62204
- style: "paragraph",
62205
- text: [
62206
- "protect the rights or property of ourselves or others, including enforcing our agreements, terms, and policies."
62207
- ]
62208
- }
62209
- ]
62210
- }
62211
- ]
62212
- }
62213
- ]
62214
- }
62215
- ]
62216
- },
62217
- {
62218
- tag: "p",
62219
- style: "paragraph",
62220
- text: [
62221
- "Analytics and advertising companies also collect personal data through our website and apps, including identifiers and device information (such as cookie IDs, device IDs, and IP address), geolocation data, usage data, and inferences based on and associated with that data, as described in our ",
62222
- {
62223
- tag: "a",
62224
- href: "https://www.mx.com/cookie-policy/",
62225
- style: "link",
62226
- text: [
62227
- "Cookie Policy"
62228
- ]
62229
- },
62230
- ". These vendors may combine this data across multiple sites to improve analytics for their own purpose and others. For example, we use Google Analytics on our website to help us understand how users interact with our website. You can learn how Google collects and uses information at",
62231
- " ",
62232
- {
62233
- tag: "a",
62234
- href: "https://www.google.com/policies/privacy/partners",
62235
- style: "link",
62236
- text: [
62237
- "www.google.com/policies/privacy/partners"
62238
- ]
62239
- },
62240
- "."
62241
- ]
62242
- },
62243
- {
62244
- tag: "p",
62245
- style: "paragraph",
62246
- text: [
62247
- "Some of the data disclosures to these vendors may be considered a “sale” or “sharing” of personal data as defined under the laws of California and other U.S. states. Please see the “California Privacy Rights” sections below for more details. "
62248
- ]
62249
- },
62250
- {
62251
- tag: "p",
62252
- style: "paragraph",
62253
- text: [
62254
- "Please note that some of our sites also include integrations, references, or links to services provided by third parties whose privacy practices differ from ours. If you provide personal data to any of those third parties, or if you allow us to share personal data with them, the relevant third parties",
62255
- "’",
62256
- " privacy statements apply to that shared personal data."
62257
- ]
62258
- },
62259
- {
62260
- tag: "p",
62261
- style: "paragraph",
62262
- text: [
62263
- "Finally, we may disclose de-identified information, from which a person",
62264
- "’",
62265
- "s identity is no longer apparent or readily ascertainable, in accordance with applicable law."
62266
- ]
62267
- },
62268
- {
62269
- tag: "h2",
62270
- id: "rights",
62271
- style: "title",
62272
- text: [
62273
- "E. Your Rights and Choices with Your Personal Data"
62274
- ]
62275
- },
62276
- {
62277
- tag: "p",
62278
- style: "paragraph",
62279
- text: [
62280
- "We provide a variety of ways for you to control the personal data we hold about you, including choices about how we use that data. In some jurisdictions, these choices may be enforceable as rights under applicable law. Options we offer include:"
62281
- ]
62282
- },
62283
- {
62284
- tag: "ul",
62285
- style: "list",
62286
- text: [
62287
- {
62288
- tag: "li",
62289
- style: "listItem",
62290
- text: [
62291
- {
62292
- tag: "p",
62293
- style: "paragraph",
62294
- text: [
62295
- {
62296
- tag: "b",
62297
- text: [
62298
- "Modification, removal, and access."
62299
- ]
62300
- },
62301
- " If you would like to modify or remove personal data we have about you or request a copy of your personal data (to the extent these rights are provided by law), you may contact us directly via the contact information provided in the ",
62302
- {
62303
- tag: "a",
62304
- href: "#contact",
62305
- style: "link",
62306
- text: [
62307
- "“How to Contact Us”"
62308
- ]
62309
- },
62310
- " section of this Privacy Statement. For your protection, we may need to verify your identity before fulfilling your request. We will respond as soon as reasonably practical and within the time frame specified by applicable law. We reserve the right to deny your request based on applicable law and will inform you if we do so."
62311
- ]
62312
- }
62313
- ]
62314
- },
62315
- {
62316
- tag: "li",
62317
- style: "listItem",
62318
- text: [
62319
- {
62320
- tag: "p",
62321
- style: "paragraph",
62322
- text: [
62323
- {
62324
- tag: "b",
62325
- text: [
62326
- "Communications preferences."
62327
- ]
62328
- },
62329
- " You can choose whether to receive promotional communications from us by email and direct mail. If you receive promotional email from us and would like to stop, you can do so by following the directions in that message or by contacting us as described in the",
62330
- " ",
62331
- {
62332
- tag: "a",
62333
- href: "#contact",
62334
- style: "link",
62335
- text: [
62336
- "“How to Contact Us”"
62337
- ]
62338
- },
62339
- " section below. If you would like to stop receiving direct mail from us, contact us as described in the ",
62340
- {
62341
- tag: "a",
62342
- href: "#contact",
62343
- style: "link",
62344
- text: [
62345
- "“How to Contact Us”"
62346
- ]
62347
- },
62348
- " ",
62349
- "section below. These choices do not apply to certain informational communications including surveys and mandatory service communications."
62350
- ]
62351
- }
62352
- ]
62353
- },
62354
- {
62355
- tag: "li",
62356
- style: "listItem",
62357
- text: [
62358
- {
62359
- tag: "p",
62360
- style: "paragraph",
62361
- text: [
62362
- {
62363
- tag: "b",
62364
- text: [
62365
- "Global Privacy Control."
62366
- ]
62367
- },
62368
- " Some browsers and browser extensions support the “Global Privacy Control” (GPC) or similar controls that can send a signal to the websites you visit indicating your choice to opt-out from certain types of data processing, including data sales and/or targeted advertising, as specified by applicable law. When we detect such a signal, we will make reasonable efforts to respect your choices indicated by a GPC setting or similar control that is recognized by regulation or otherwise widely acknowledged as a valid opt-out preference signal."
62369
- ]
62370
- }
62371
- ]
62372
- }
62373
- ]
62374
- },
62375
- {
62376
- tag: "p",
62377
- style: "paragraph",
62378
- text: [
62379
- "Your browser or device may have additional options that you can use, as described below. These options are specific to the device or browser you are using. If you access our sites from other devices or browsers, you should use these options from those devices or browsers as well."
62380
- ]
62381
- },
62382
- {
62383
- tag: "ul",
62384
- style: "list",
62385
- text: [
62386
- {
62387
- tag: "li",
62388
- style: "listItem",
62389
- text: [
62390
- {
62391
- tag: "p",
62392
- style: "paragraph",
62393
- text: [
62394
- {
62395
- tag: "b",
62396
- text: [
62397
- "Cookie controls."
62398
- ]
62399
- },
62400
- " Most web browsers are set to accept cookies by default. If you prefer, you can go to your browser settings to learn how to delete or reject cookies. If you choose to delete or reject cookies, this could affect certain features or services of our website. If you choose to delete cookies, settings and preferences controlled by those cookies, including advertising preferences, may be deleted and may need to be recreated."
62401
- ]
62402
- }
62403
- ]
62404
- },
62405
- {
62406
- tag: "li",
62407
- style: "listItem",
62408
- text: [
62409
- {
62410
- tag: "b",
62411
- text: [
62412
- "Do Not Track."
62413
- ]
62414
- },
62415
- " Some browsers include a \"Do Not Track\" (DNT) setting that can send a signal to the websites you visit indicating you do not wish to be tracked. Unlike the GPC described above, there is not a common understanding of how to interpret the DNT signal; therefore, our websites do not respond to browser DNT signals. Instead, you can use the range of other tools to control data collection and use, including the GPC, cookie controls, and advertising controls described above."
62416
- ]
62417
- },
62418
- {
62419
- tag: "li",
62420
- style: "listItem",
62421
- text: [
62422
- {
62423
- tag: "b",
62424
- text: [
62425
- "Email web beacons."
62426
- ]
62427
- },
62428
- " Most email clients have settings that allow you to prevent the automatic downloading of images, including web beacons, and the automatic connection to the web servers that host those images."
62429
- ]
62430
- }
62431
- ]
62432
- },
62433
- {
62434
- tag: "h2",
62435
- id: "location",
62436
- style: "title",
62437
- text: [
62438
- "F. Location of Personal Data"
62439
- ]
62440
- },
62441
- {
62442
- tag: "p",
62443
- style: "paragraph",
62444
- text: [
62445
- "The personal data we collect may be stored and processed in your country or region, or in any other country where we or our affiliates, subsidiaries, or service providers process data, in accordance with applicable law. Currently, we primarily use data centers in the United States of America. The storage location(s) are chosen to operate efficiently and improve performance. We take steps to process and protect personal data as described in this Privacy Statement wherever the data is located, however, some countries where we store data may have laws that offer a different level of data protection than the country in which you reside."
62446
- ]
62447
- },
62448
- {
62449
- tag: "p",
62450
- style: "paragraph",
62451
- text: [
62452
- {
62453
- tag: "b",
62454
- text: [
62455
- "Location of Processing European Personal Data."
62456
- ]
62457
- },
62458
- " We transfer personal data from the European Economic Area (EEA), United Kingdom (UK), and Switzerland to other countries, some of which have not been determined by the European Commission to have an adequate level of data protection. When we do so, we use legal mechanisms, including contracts, to help ensure your rights and protections. To learn more about the European Commission",
62459
- "’",
62460
- "s decisions on the adequacy of personal data protections, please visit:",
62461
- " ",
62462
- {
62463
- tag: "a",
62464
- href: "https://commission.europa.eu/law/law-topic/data-protection/international-dimension-data-protection/adequacy-decisions_en",
62465
- style: "link",
62466
- text: [
62467
- "https://commission.europa.eu/law/law-topic/data-protection/international-dimension-data-protection/adequacy-decisions_en"
62468
- ]
62469
- },
62470
- "."
62471
- ]
62472
- },
62473
- {
62474
- tag: "p",
62475
- style: "paragraph",
62476
- text: [
62477
- {
62478
- tag: "b",
62479
- text: [
62480
- "EU-U.S. Privacy Shield Framework."
62481
- ]
62482
- }
62483
- ]
62484
- },
62485
- {
62486
- tag: "p",
62487
- style: "paragraph",
62488
- text: [
62489
- "Based on subsequent court and regulator decisions, MX no longer relies on the EU-U.S. and Swiss-U.S. Privacy Shield Frameworks as a legal basis for transfers of personal data from the European Union and Switzerland, and instead relies on Standard Contractual Clauses (SCC). For more information on Standard Contractual Clauses, please visit",
62490
- " ",
62491
- {
62492
- tag: "a",
62493
- href: "https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc_en",
62494
- style: "link",
62495
- text: [
62496
- "https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc_en"
62497
- ]
62498
- },
62499
- ". However, because MX remains committed to the underlying privacy principles, MX continues to comply with the EU-U.S. Privacy Shield Framework and Swiss-U.S. Privacy Shield Framework as set forth by the U.S. Department of Commerce. If there is any conflict between the terms in this Privacy Policy and the Privacy Shield Principles, the Privacy Shield Principles shall govern."
62500
- ]
62501
- },
62502
- {
62503
- tag: "h2",
62504
- id: "security",
62505
- style: "title",
62506
- text: [
62507
- "G. Security of Personal Data"
62508
- ]
62509
- },
62510
- {
62511
- tag: "p",
62512
- style: "paragraph",
62513
- text: [
62514
- "We take reasonable and appropriate steps to help protect personal data from unauthorized access, use, disclosure, alteration, and destruction."
62515
- ]
62516
- },
62517
- {
62518
- tag: "p",
62519
- style: "paragraph",
62520
- text: [
62521
- "To help us protect your personal data, we request that you use a strong password and never share your password with anyone or use the same password with other sites or accounts."
62522
- ]
62523
- },
62524
- {
62525
- tag: "h2",
62526
- id: "retention",
62527
- style: "title",
62528
- text: [
62529
- "H. Retention of Personal Data"
62530
- ]
62531
- },
62532
- {
62533
- tag: "p",
62534
- style: "paragraph",
62535
- text: [
62536
- "We retain personal data for as long as reasonably necessary to provide the features and functionality of our sites, communicate with you, fulfill the transactions you have requested, comply with our legal obligations, resolve disputes, enforce our agreements, and for other legitimate and lawful business purposes. Because these needs can vary for different data types in the context of different services, actual retention periods can vary significantly based on criteria such as user expectations or consent, the sensitivity of the data, the availability of automated controls that enable users to delete data, and our legal and contractual obligations."
62537
- ]
62538
- },
62539
- {
62540
- tag: "h2",
62541
- id: "gdpr",
62542
- style: "title",
62543
- text: [
62544
- "I. European Data Protection Rights"
62545
- ]
62546
- },
62547
- {
62548
- tag: "p",
62549
- style: "paragraph",
62550
- text: [
62551
- "We retain personal data for as long as reasonably necessary to provide the features and functionality of our sites, communicate with you, fulfill the transactions you have requested, comply with our legal obligations, resolve disputes, enforce our agreements, and for other legitimate and lawful business purposes. Because these needs can vary for different data types in the context of different services, actual retention periods can vary significantly based on criteria such as user expectations or consent, the sensitivity of the data, the availability of automated controls that enable users to delete data, and our legal and contractual obligations."
62552
- ]
62553
- },
62554
- {
62555
- tag: "h2",
62556
- id: "ccpa",
62557
- style: "title",
62558
- text: [
62559
- "J. California Privacy Rights"
62560
- ]
62561
- },
62562
- {
62563
- tag: "p",
62564
- style: "paragraph",
62565
- text: [
62566
- "If you are a California resident and the processing of personal data (also referred to in this section as “personal information”) about you is subject to the California Consumer Privacy Act (CCPA), you have certain rights with respect to that information."
62567
- ]
62568
- },
62569
- {
62570
- tag: "p",
62571
- style: "paragraph",
62572
- text: [
62573
- {
62574
- tag: "b",
62575
- text: [
62576
- "Notice at Collection."
62577
- ]
62578
- },
62579
- " At or before the time of collection, you have a right to receive notice of our practices, including the",
62580
- " ",
62581
- {
62582
- tag: "a",
62583
- href: "#data-collect",
62584
- style: "link",
62585
- text: [
62586
- "categories"
62587
- ]
62588
- },
62589
- " of personal data and sensitive personal data to be collected, the",
62590
- " ",
62591
- {
62592
- tag: "a",
62593
- href: "#personal-data",
62594
- style: "link",
62595
- text: [
62596
- "purposes"
62597
- ]
62598
- },
62599
- " for which such information is collected or used, whether such information is",
62600
- {
62601
- tag: "a",
62602
- href: "#disclose",
62603
- style: "link",
62604
- text: [
62605
- " sold or shared"
62606
- ]
62607
- },
62608
- ", and how long such information is ",
62609
- {
62610
- tag: "a",
62611
- href: "#retention",
62612
- style: "link",
62613
- text: [
62614
- "retained"
62615
- ]
62616
- },
62617
- ". You can find those details within this Privacy Statement."
62618
- ]
62619
- },
62620
- {
62621
- tag: "p",
62622
- style: "paragraph",
62623
- text: [
62624
- {
62625
- tag: "b",
62626
- text: [
62627
- "Right to Know."
62628
- ]
62629
- },
62630
- " You have the right to request that we disclose to you the personal data we have collected about you. You also have a right to request additional information about our collection, use, disclosure, or sale of such personal data. Note that we have provided much of this information in this Privacy Statement. Please review the section below titled ",
62631
- {
62632
- tag: "a",
62633
- href: "#contact",
62634
- style: "link",
62635
- text: [
62636
- "“How to Contact Us”"
62637
- ]
62638
- },
62639
- " to submit a “request to know.”"
62640
- ]
62641
- },
62642
- {
62643
- tag: "p",
62644
- style: "paragraph",
62645
- text: [
62646
- {
62647
- tag: "b",
62648
- text: [
62649
- "Rights to Request Correction or Deletion."
62650
- ]
62651
- },
62652
- " You also have the right to request that we correct inaccurate personal data and that we delete personal data under certain circumstances, subject to a number of exceptions. Please review the section below titled",
62653
- " ",
62654
- {
62655
- tag: "a",
62656
- href: "#contact",
62657
- style: "link",
62658
- text: [
62659
- "“How to Contact Us”"
62660
- ]
62661
- },
62662
- " to make a request to correct or delete."
62663
- ]
62664
- },
62665
- {
62666
- tag: "p",
62667
- style: "paragraph",
62668
- text: [
62669
- {
62670
- tag: "b",
62671
- text: [
62672
- "Right to Opt-Out / “Do Not Sell or Share My Personal Information”."
62673
- ]
62674
- },
62675
- " ",
62676
- "You have a right to opt-out from future “sales” or “sharing” of personal data as those terms are defined by the CCPA."
62677
- ]
62678
- },
62679
- {
62680
- tag: "p",
62681
- style: "paragraph",
62682
- text: [
62683
- "Note that the CCPA defines “sell,” “share,” and “personal information” very broadly, and some of our data sharing described in this Privacy Statement may be considered a “sale” or “sharing” under those definitions. In particular, we let advertising and analytics providers collect identifiers (IP addresses, cookie IDs, and mobile IDs), activity data (browsing, clicks, and app usage), device data, and geolocation data on our websites, but do not “sell” or “share” any other types of personal information . If you do not wish for us to “sell” or “share” (for certain advertising purposes) personal information relating to your visits to our sites, you should make your request to opt-out by: (1) using the Global Privacy Control (as described above) or by",
62684
- " ",
62685
- {
62686
- tag: "span",
62687
- text: [
62688
- "clicking here"
62689
- ]
62690
- },
62691
- "; and (2) emailing us through the contact information at the bottom of this Privacy Statement. Note that you must do both (1) and (2) for us to be able to honor your request, and for (1) you must take that step for each device and browser you use to access our site. Note, if you choose to delete cookies on your computer, and you do not use the Global Privacy Control, you will also need to make your request by",
62692
- " ",
62693
- {
62694
- tag: "span",
62695
- text: [
62696
- "clicking here"
62697
- ]
62698
- },
62699
- " ",
62700
- "again, as this approach requires an opt-out cookie to be maintained on your computer. If you opt-out using these choices, we will not share or make available such personal information in ways that are considered a “sale” or “sharing” under the CCPA. However, we will continue to make available to our partners (acting as our service providers) some personal information to help us perform advertising-related functions. Further, using these choices will not opt you out of the use of previously “sold” or “shared” personal information or stop all interest-based advertising."
62701
- ]
62702
- },
62703
- {
62704
- tag: "p",
62705
- style: "paragraph",
62706
- text: [
62707
- "We do not knowingly sell or share the personal information of minors under 16 years of age."
62708
- ]
62709
- },
62710
- {
62711
- tag: "p",
62712
- style: "paragraph",
62713
- text: [
62714
- {
62715
- tag: "b",
62716
- text: [
62717
- "Right to Limit Use and Disclosure of Sensitive Personal Data."
62718
- ]
62719
- },
62720
- " ",
62721
- "You have a right to limit our use of sensitive personal information for any purposes other than to provide the services or goods you request or as otherwise permitted by law."
62722
- ]
62723
- },
62724
- {
62725
- tag: "p",
62726
- style: "paragraph",
62727
- text: [
62728
- "Note that we do not use or disclose sensitive personal information for any such additional purposes."
62729
- ]
62730
- },
62731
- {
62732
- tag: "p",
62733
- style: "paragraph",
62734
- text: [
62735
- {
62736
- tag: "b",
62737
- text: [
62738
- "Non-discrimination."
62739
- ]
62740
- },
62741
- " Finally, you have a right to not be discriminated against for exercising these rights set out in the CCPA."
62742
- ]
62743
- },
62744
- {
62745
- tag: "p",
62746
- style: "paragraph",
62747
- text: [
62748
- {
62749
- tag: "b",
62750
- text: [
62751
- "Exercising Your Rights."
62752
- ]
62753
- },
62754
- " You may designate, in writing or through a power of attorney, an authorized agent to make requests on your behalf to exercise your rights under the CCPA. Before accepting such a request from an agent, we will require the agent to provide proof you have authorized it to act on your behalf, and we may need you to verify your identity directly with us."
62755
- ]
62756
- },
62757
- {
62758
- tag: "p",
62759
- style: "paragraph",
62760
- text: [
62761
- "Further, to provide, correct, or delete specific pieces of personal information we will need to verify your identity to the degree of certainty required by law. We will verify your request by asking you to send it from the email address associated with your account or interactions with us, or by requiring you to provide information necessary to verify your identity."
62762
- ]
62763
- },
62764
- {
62765
- tag: "p",
62766
- style: "paragraph",
62767
- text: [
62768
- "Except for the automated controls described above, if you send us a request to exercise your rights or these choices, to the extent permitted by applicable law, we may decline requests in certain cases. For example, we may decline requests where granting the request would be prohibited by law, could adversely affect the privacy or other rights of another person, would reveal a trade secret or other confidential information, or would interfere with a legal or business obligation that requires retention or use of the data. Further, we may decline a request where we are unable to authenticate you as the person to whom the data relates, the request is unreasonable or excessive, or where otherwise permitted by applicable law."
62769
- ]
62770
- },
62771
- {
62772
- tag: "h2",
62773
- id: "changes",
62774
- style: "title",
62775
- text: [
62776
- "K. Changes to this Privacy Statement"
62777
- ]
62778
- },
62779
- {
62780
- tag: "p",
62781
- style: "paragraph",
62782
- text: [
62783
- "We will update this Privacy Statement when necessary to reflect changes in how we use personal data or in the applicable law. When we post changes to the Privacy Statement, we will revise the \"Last Updated\" date at the top of the Privacy Statement. If we make material changes to the Privacy Statement, we will provide notice or obtain consent regarding such changes as may be required by law."
62784
- ]
62785
- },
62786
- {
62787
- tag: "h2",
62788
- id: "contact",
62789
- style: "title",
62790
- text: [
62791
- "L. How to Contact Us"
62792
- ]
62793
- },
62794
- {
62795
- tag: "p",
62796
- style: "paragraph",
62797
- text: [
62798
- "If you have a privacy concern, complaint, or question, please send your inquiries to:"
62799
- ]
62800
- },
62801
- {
62802
- tag: "p",
62803
- style: "paragraph",
62804
- text: [
62805
- {
62806
- tag: "b",
62807
- text: [
62808
- "Organization:"
62809
- ]
62810
- },
62811
- " MX Technologies, Inc."
62812
- ]
62813
- },
62814
- {
62815
- tag: "p",
62816
- style: "paragraph",
62817
- text: [
62818
- {
62819
- tag: "b",
62820
- text: [
62821
- "Contact:"
62822
- ]
62823
- },
62824
- " Data Privacy Team"
62825
- ]
62826
- },
62827
- {
62828
- tag: "p",
62829
- style: "paragraph",
62830
- text: [
62831
- {
62832
- tag: "b",
62833
- text: [
62834
- "Address:"
62835
- ]
62836
- },
62837
- " 3401 North Thanksgiving Way Suite 500 Lehi, UT 84043"
62838
- ]
62839
- },
62840
- {
62841
- tag: "p",
62842
- style: "paragraph",
62843
- text: [
62844
- {
62845
- tag: "b",
62846
- text: [
62847
- "E-mail:"
62848
- ]
62849
- },
62850
- " ",
62851
- {
62852
- tag: "a",
62853
- href: "mailto:termsofuse@mx.com",
62854
- style: "link",
62855
- text: [
62856
- "termsofuse@mx.com"
62857
- ]
62858
- }
62859
- ]
62860
- }
62861
- ];
62862
- const privacyData = {
62863
- title: title,
62864
- updatedOn: updatedOn,
62865
- body: body
62866
- };
62867
-
62868
- const BOLD_TAG = "b";
62869
- const H2_TAG = "h2";
62870
- const A_TAG = "a";
62871
- const LI_TAG = "li";
62872
- const NON_KYPER_TAGS = ["ul", "ol", LI_TAG, "u"];
62873
- const TEXT_TAGS$1 = ["h1", "h2", "h3", "h4", "h5", "h6", "p", "span", BOLD_TAG];
62874
- const PrivacyPolicy = () => {
61186
+ const PRIVACY_POLICY_URL = "https://www.mx.com/privacy/";
61187
+ const PrivacyPolicy = ({ onCancel } = {}) => {
62875
61188
  useAnalyticsPath(...PageviewInfo.CONNECT_DISCLOSURE_PRIVACY_POLICY);
62876
- const [showLeavingNotice, setShowLeavingNotice] = useState(false);
62877
- const showExternalLinkPopup = useSelector(
62878
- (state) => state.profiles.clientProfile.show_external_link_popup
62879
- );
62880
- const [currentUrl, setCurrentUrl] = useState(null);
61189
+ const [isLeavingUrl, setIsLeavingUrl] = useState(null);
62881
61190
  const getNextDelay = getDelay();
62882
- const tokens = useTokens();
62883
- const styles = getStyles$1E(tokens);
62884
- const handleLinkClick = (url, isExternalUrl = true) => {
62885
- const newUrl = { url, isExternalUrl };
62886
- if (showExternalLinkPopup) {
62887
- setShowLeavingNotice(true);
62888
- setCurrentUrl(newUrl);
62889
- } else {
62890
- goToUrlLink(url, isExternalUrl);
62891
- }
62892
- };
62893
- const buildElementJSX = (el, i) => {
62894
- const tag = el.tag;
62895
- const style = el.style;
62896
- const children = el.text;
62897
- const buildChildrenJSX = (children2) => {
62898
- return children2.map((child, i2) => {
62899
- if (typeof child === "string") {
62900
- return child;
62901
- }
62902
- return buildElementJSX(child, i2);
62903
- });
62904
- };
62905
- if (typeof el === "string") {
62906
- return el;
62907
- } else if (tag === A_TAG) {
62908
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
62909
- Link$1,
62910
- {
62911
- onClick: () => {
62912
- if (isScrollableUrl(el.href)) {
62913
- document.getElementById(el.href.split("#")[1]).scrollIntoView(true);
62914
- } else {
62915
- handleLinkClick(el.href);
62916
- }
62917
- },
62918
- role: "link",
62919
- style: styles.link,
62920
- children: buildChildrenJSX(children)
62921
- },
62922
- i
62923
- );
62924
- } else if (NON_KYPER_TAGS.includes(tag)) {
62925
- const NonKyperTag = tag;
62926
- if (tag === LI_TAG) {
62927
- return /* @__PURE__ */ jsxRuntimeExports.jsx(NonKyperTag, { className: dist.css(styles[style]), children: buildChildrenJSX(children) }, i);
62928
- }
62929
- return /* @__PURE__ */ jsxRuntimeExports.jsx(NonKyperTag, { style: style ? styles[style] : void 0, children: buildChildrenJSX(children) }, i);
62930
- } else if (TEXT_TAGS$1.includes(tag)) {
62931
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
62932
- D,
62933
- {
62934
- bold: tag === BOLD_TAG ? true : void 0,
62935
- component: tag === BOLD_TAG ? void 0 : tag,
62936
- id: tag === H2_TAG ? el.id : void 0,
62937
- style: style ? styles[style] : void 0,
62938
- truncate: false,
62939
- variant: tag === BOLD_TAG ? "Paragraph" : void 0,
62940
- children: buildChildrenJSX(children)
61191
+ useEffect(() => {
61192
+ setIsLeavingUrl(PRIVACY_POLICY_URL);
61193
+ }, []);
61194
+ if (isLeavingUrl) {
61195
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
61196
+ LeavingNoticeFlat,
61197
+ {
61198
+ onCancel: () => {
61199
+ setIsLeavingUrl(null);
61200
+ onCancel?.();
62941
61201
  },
62942
- i
62943
- );
62944
- }
62945
- return null;
62946
- };
62947
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: showLeavingNotice ? /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
62948
- LeavingNoticeFlat,
62949
- {
62950
- onCancel: () => {
62951
- setShowLeavingNotice(false);
62952
- setCurrentUrl(null);
62953
- },
62954
- onContinue: () => {
62955
- goToUrlLink(currentUrl.url, currentUrl.isExternalUrl);
62956
- setCurrentUrl(null);
62957
- setShowLeavingNotice(false);
61202
+ onContinue: () => {
61203
+ goToUrlLink(isLeavingUrl, true);
61204
+ }
62958
61205
  }
62959
- }
62960
- ) }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(React__default.Fragment, { children: [
62961
- /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.header, children: [
62962
- /* @__PURE__ */ jsxRuntimeExports.jsx(D, { component: "h2", "data-test": "privacy-policy-header", truncate: false, variant: "H2", children: privacyData.title }),
62963
- /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.lastUpdatedDate, truncate: false, children: privacyData.updatedOn })
62964
- ] }) }),
62965
- /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: privacyData.body.map((el, i) => buildElementJSX(el, i)) })
62966
- ] }) });
62967
- };
62968
- const getStyles$1E = (tokens) => ({
62969
- header: {
62970
- display: "flex",
62971
- flexDirection: "column"
62972
- },
62973
- lastUpdatedDate: {
62974
- color: tokens.TextColor.Secondary,
62975
- fontWeight: tokens.FontWeight.Normal,
62976
- fontSize: tokens.FontSize.XSmall,
62977
- lineHeight: tokens.LineHeight.Small,
62978
- marginTop: tokens.Spacing.XSmall,
62979
- marginBottom: tokens.Spacing.Medium
62980
- },
62981
- title: {
62982
- marginBottom: tokens.Spacing.XSmall
62983
- },
62984
- subTitle: {
62985
- marginBottom: tokens.Spacing.Medium,
62986
- fontSize: tokens.FontSize.Body,
62987
- lineHeight: tokens.LineHeight.Body
62988
- },
62989
- paragraph: {
62990
- marginBottom: tokens.Spacing.XSmall,
62991
- fontSize: tokens.FontSize.ParagraphSmall,
62992
- lineHeight: tokens.LineHeight.ParagraphSmall
62993
- },
62994
- link: {
62995
- display: "inline",
62996
- whiteSpace: "normal",
62997
- height: "auto",
62998
- fontSize: tokens.FontSize.Small,
62999
- textAlign: "left"
63000
- },
63001
- list: {
63002
- listStylePosition: "outside",
63003
- marginTop: tokens.Spacing.Small
63004
- },
63005
- listItem: {
63006
- color: tokens.TextColor.Default,
63007
- marginLeft: tokens.Spacing.XLarge,
63008
- marginBottom: tokens.Spacing.XSmall,
63009
- "& span": {
63010
- fontSize: tokens.FontSize.ParagraphSmall,
63011
- lineHeight: tokens.LineHeight.ParagraphSmall
63012
- }
61206
+ ) });
63013
61207
  }
63014
- });
61208
+ return null;
61209
+ };
63015
61210
 
63016
61211
  const MXLogo = createSvgIcon$2(({ color }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(React__default.Fragment, { children: [
63017
61212
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -63093,6 +61288,9 @@ const Disclosure = React__default.forwardRef((_, disclosureRef) => {
63093
61288
  const { isInAggMode, isInTaxMode, isInVerifyMode } = useSelector(selectCurrentMode);
63094
61289
  const connectConfig = useSelector(selectConnectConfig);
63095
61290
  const size = useSelector(getSize);
61291
+ const showExternalLinkPopup = useSelector(
61292
+ (state) => state.profiles.clientProfile.show_external_link_popup
61293
+ );
63096
61294
  const dispatch = useDispatch();
63097
61295
  useImperativeHandle(disclosureRef, () => {
63098
61296
  return {
@@ -63109,7 +61307,7 @@ const Disclosure = React__default.forwardRef((_, disclosureRef) => {
63109
61307
  {
63110
61308
  id: "mx-connect-disclosure",
63111
61309
  ref: containerRef,
63112
- children: showPrivacyPolicy ? /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(PrivacyPolicy, {}) }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(Fragment, { children: [
61310
+ children: showPrivacyPolicy ? /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(PrivacyPolicy, { onCancel: () => setShowPrivacyPolicy(false) }) }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(Fragment, { children: [
63113
61311
  /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(ConnectInstitutionHeader, {}) }),
63114
61312
  /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.flexGroup, children: [
63115
61313
  /* @__PURE__ */ jsxRuntimeExports.jsx(D, { "data-test": "disclosure-title", style: styles.title, truncate: false, variant: "H2", children: _p("connect/disclosure/title", "Connect your account") }),
@@ -63166,8 +61364,12 @@ const Disclosure = React__default.forwardRef((_, disclosureRef) => {
63166
61364
  {
63167
61365
  "data-test": "disclosure-privacy-policy-link",
63168
61366
  onClick: () => {
63169
- scrollToTop(containerRef);
63170
- setShowPrivacyPolicy(true);
61367
+ if (showExternalLinkPopup) {
61368
+ scrollToTop(containerRef);
61369
+ setShowPrivacyPolicy(true);
61370
+ } else {
61371
+ goToUrlLink("https://www.mx.com/privacy/", true);
61372
+ }
63171
61373
  },
63172
61374
  style: styles.link,
63173
61375
  children: _p("connect/disclosure/policy/link", "MX Privacy Policy.")
@@ -72643,7 +70845,10 @@ const useForm = (submitCallback, formSchema, initialValues) => {
72643
70845
  if (event.persist) {
72644
70846
  event.persist();
72645
70847
  }
72646
- setValues((values2) => ({ ...values2, [event.target.name]: event.target.value }));
70848
+ setValues((values2) => ({
70849
+ ...values2,
70850
+ [event.target.name || event.target.id]: event.target.value
70851
+ }));
72647
70852
  };
72648
70853
  return {
72649
70854
  // Function to handle your form input onChange event
@@ -77535,6 +75740,9 @@ const DisclosureInterstitial = React__default.forwardRef((props, interstitialNav
77535
75740
  const getNextDelay = getDelay();
77536
75741
  const institution = useSelector(getSelectedInstitution);
77537
75742
  const appName = useSelector((state) => state.profiles.client.oauth_app_name || null);
75743
+ const showExternalLinkPopup = useSelector(
75744
+ (state) => state.profiles.clientProfile.show_external_link_popup
75745
+ );
77538
75746
  const [currentView, setCurrentView] = useState(VIEWS$1.INTERSTITIAL_DISCLOSURE);
77539
75747
  useImperativeHandle(interstitialNavRef, () => {
77540
75748
  return {
@@ -77553,7 +75761,7 @@ const DisclosureInterstitial = React__default.forwardRef((props, interstitialNav
77553
75761
  }
77554
75762
  };
77555
75763
  if (currentView === VIEWS$1.PRIVACY_POLICY) {
77556
- return /* @__PURE__ */ jsxRuntimeExports.jsx(PrivacyPolicy, {});
75764
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(PrivacyPolicy, { onCancel: () => setCurrentView(VIEWS$1.INTERSTITIAL_DISCLOSURE) });
77557
75765
  } else if (currentView === VIEWS$1.DATA_REQUESTED) {
77558
75766
  return /* @__PURE__ */ jsxRuntimeExports.jsx(DataRequested, { setCurrentView });
77559
75767
  } else if (currentView === VIEWS$1.AVAILABLE_DATA) {
@@ -77672,8 +75880,12 @@ const DisclosureInterstitial = React__default.forwardRef((props, interstitialNav
77672
75880
  {
77673
75881
  "data-test": "privacy-policy-button",
77674
75882
  onClick: () => {
77675
- scrollToTop();
77676
- setCurrentView(VIEWS$1.PRIVACY_POLICY);
75883
+ if (showExternalLinkPopup) {
75884
+ scrollToTop();
75885
+ setCurrentView(VIEWS$1.PRIVACY_POLICY);
75886
+ } else {
75887
+ goToUrlLink("https://www.mx.com/privacy/", true);
75888
+ }
77677
75889
  },
77678
75890
  style: styles.link,
77679
75891
  variant: "ParagraphSmall",
@@ -78524,7 +76736,7 @@ const Credentials = React__default.forwardRef(
78524
76736
  {
78525
76737
  InputProps: { endAdornment: /* @__PURE__ */ jsxRuntimeExports.jsx(PasswordShowButton, {}) },
78526
76738
  autoCapitalize: "none",
78527
- autoComplete: "new-password",
76739
+ autoComplete: "off",
78528
76740
  disabled: isProcessingMember,
78529
76741
  error: validations.isError || !!errors[field.field_name],
78530
76742
  fullWidth: true,
@@ -78536,7 +76748,6 @@ const Credentials = React__default.forwardRef(
78536
76748
  },
78537
76749
  inputRef: (el) => inputRefs.current[field.field_name] = el,
78538
76750
  label: field.label,
78539
- name: field.field_name,
78540
76751
  onBlur: handleBlur,
78541
76752
  onChange: (e) => {
78542
76753
  handleSpaceValidation(e);
@@ -78549,11 +76760,11 @@ const Credentials = React__default.forwardRef(
78549
76760
  type: validations.showPassword ? "text" : "password",
78550
76761
  value: values[field.field_name] || ""
78551
76762
  }
78552
- ) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: errors[field.field_name] ? styles.inputError : styles.input, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
76763
+ ) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: errors[field.field_name] && styles.inputError, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
78553
76764
  ProtectedTextField,
78554
76765
  {
78555
76766
  autoCapitalize: "none",
78556
- autoComplete: "new-password",
76767
+ autoComplete: "off",
78557
76768
  disabled: isProcessingMember,
78558
76769
  error: !!errors[field.field_name],
78559
76770
  fullWidth: true,
@@ -78565,14 +76776,13 @@ const Credentials = React__default.forwardRef(
78565
76776
  },
78566
76777
  inputRef: (el) => inputRefs.current[field.field_name] = el,
78567
76778
  label: field.label,
78568
- name: field.field_name,
78569
76779
  onChange: handleUserNameTextChange,
78570
76780
  required: true,
78571
76781
  spellCheck: "false",
78572
76782
  value: values[field.field_name] || ""
78573
76783
  }
78574
76784
  ) }) }, field.guid)),
78575
- /* @__PURE__ */ jsxRuntimeExports.jsx(RequiredFieldNote, {}),
76785
+ /* @__PURE__ */ jsxRuntimeExports.jsx(RequiredFieldNote, { styles: { marginTop: "0px", marginBottom: "12px" } }),
78576
76786
  /* @__PURE__ */ jsxRuntimeExports.jsx(SlideDown, { delay: getNextDelay(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
78577
76787
  Button$2,
78578
76788
  {
@@ -78636,10 +76846,10 @@ const getStyles$L = (tokens) => {
78636
76846
  paddingBottom: tokens.Spacing.XSmall
78637
76847
  },
78638
76848
  form: {
78639
- paddingTop: tokens.Spacing.Medium
78640
- },
78641
- input: {
78642
- marginBottom: tokens.Spacing.Large
76849
+ paddingTop: tokens.Spacing.Large,
76850
+ flexDirection: "column",
76851
+ gap: tokens.Spacing.Large,
76852
+ display: "flex"
78643
76853
  },
78644
76854
  inputError: {
78645
76855
  marginBottom: tokens.Spacing.Large,
@@ -82348,7 +80558,7 @@ AccountInfo.propTypes = {
82348
80558
  onContinue: PropTypes$1.func.isRequired
82349
80559
  };
82350
80560
 
82351
- const ProtectedText = withProtection(Text);
80561
+ const ProtectedText = withProtection(D);
82352
80562
 
82353
80563
  const Edit = createSvgIcon$2(({ color }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
82354
80564
  "path",
@@ -82370,17 +80580,18 @@ const DetailReviewItem = (props) => {
82370
80580
  "data-test": `${props.label.replace(/\s+/g, "-")}-row`,
82371
80581
  style: styles.rowHeader,
82372
80582
  truncate: false,
82373
- variant: "Small",
80583
+ variant: "body2",
82374
80584
  children: props.label
82375
80585
  }
82376
80586
  ),
82377
80587
  /* @__PURE__ */ jsxRuntimeExports.jsx(
82378
80588
  ProtectedText,
82379
80589
  {
80590
+ bold: true,
82380
80591
  "data-test": `${props.value.replace(/\s+/g, "-")}-row`,
82381
- style: styles.bold,
80592
+ style: styles.rowValue,
82382
80593
  truncate: false,
82383
- variant: "Body",
80594
+ variant: "body1",
82384
80595
  children: props.value
82385
80596
  }
82386
80597
  )
@@ -82421,8 +80632,7 @@ const getStyles$n = (tokens) => ({
82421
80632
  rowHeader: {
82422
80633
  color: tokens.TextColor.InputLabel
82423
80634
  },
82424
- bold: {
82425
- fontWeight: tokens.FontWeight.Bold,
80635
+ rowValue: {
82426
80636
  overflowWrap: "anywhere"
82427
80637
  },
82428
80638
  editIcon: {
@@ -82675,17 +80885,18 @@ const ComeBack = ({ microdeposit, onDone }) => {
82675
80885
  "data-test": "title-header",
82676
80886
  style: styles.title,
82677
80887
  truncate: false,
82678
- variant: "H2",
80888
+ variant: "h2",
82679
80889
  children: __("Check back soon")
82680
80890
  }
82681
80891
  ),
82682
80892
  /* @__PURE__ */ jsxRuntimeExports.jsx(
82683
80893
  ProtectedText,
82684
80894
  {
80895
+ component: "p",
82685
80896
  "data-test": "thanks-paragraph",
82686
80897
  role: "text",
82687
80898
  truncate: false,
82688
- variant: "Paragraph",
80899
+ variant: "subtitle1",
82689
80900
  /* --TR: Full string "Thanks for submitting your account info. Check back soon! In the next few days you should find two small deposits less than a dollar each in your {accountName} account. When you see them, come back here and enter the amounts." */
82690
80901
  children: __(
82691
80902
  "Thanks for submitting your account info. Check back soon! In the next few days you should find two small deposits less than a dollar each in your %1 account. When you see them, come back here and enter the amounts.",
@@ -82811,7 +81022,7 @@ const VerifyDeposits = ({ microdeposit, onSuccess }) => {
82811
81022
  "data-test": "title-header",
82812
81023
  style: styles.title,
82813
81024
  truncate: false,
82814
- variant: "H2",
81025
+ variant: "h2",
82815
81026
  children: __("Enter deposit amounts")
82816
81027
  }
82817
81028
  ),
@@ -82822,7 +81033,7 @@ const VerifyDeposits = ({ microdeposit, onSuccess }) => {
82822
81033
  "data-test": "deposit-paragraph",
82823
81034
  style: styles.subtitle,
82824
81035
  truncate: false,
82825
- variant: "Paragraph",
81036
+ variant: "subtitle1",
82826
81037
  /* --TR: Full string "Please find the two small deposits less than a dollar each in your {accountName} account, and enter the amounts here." */
82827
81038
  children: __(
82828
81039
  "Please find the two small deposits less than a dollar each in your %1 account, and enter the amounts here.",
@@ -82838,7 +81049,7 @@ const VerifyDeposits = ({ microdeposit, onSuccess }) => {
82838
81049
  role: "alert",
82839
81050
  style: styles.messageBox,
82840
81051
  variant: "error",
82841
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(D, { "data-test": "input-error-text", truncate: false, variant: "ParagraphSmall", children: state.submittingError ? __("We're unable to submit your deposit amounts. Please try again.") : __("One or more of the amounts was incorrect. Please try again.") })
81052
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(D, { "data-test": "input-error-text", truncate: false, variant: "subtitle1", children: state.submittingError ? __("We're unable to submit your deposit amounts. Please try again.") : __("One or more of the amounts was incorrect. Please try again.") })
82842
81053
  }
82843
81054
  ) }),
82844
81055
  /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: (e) => e.preventDefault(), children: [
@@ -82994,21 +81205,21 @@ const MicrodepositErrors = ({
82994
81205
  };
82995
81206
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: containerRef, children: [
82996
81207
  /* @__PURE__ */ jsxRuntimeExports.jsxs(SlideDown, { children: [
82997
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: styles.header, children: /* @__PURE__ */ jsxRuntimeExports.jsx(D, { component: "h2", style: styles.title, truncate: false, variant: "H2", children: getTitle() }) }),
82998
- /* @__PURE__ */ jsxRuntimeExports.jsx(MessageBox, { style: styles.messageBox, variant: "error", children: /* @__PURE__ */ jsxRuntimeExports.jsx(D, { component: "p", role: "alert", truncate: false, variant: "ParagraphSmall", children: getMessage() }) })
81208
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: styles.header, children: /* @__PURE__ */ jsxRuntimeExports.jsx(D, { component: "h2", style: styles.title, truncate: false, variant: "h2", children: getTitle() }) }),
81209
+ /* @__PURE__ */ jsxRuntimeExports.jsx(MessageBox, { style: styles.messageBox, variant: "error", children: /* @__PURE__ */ jsxRuntimeExports.jsx(D, { component: "p", role: "alert", truncate: false, variant: "subtitle1", children: getMessage() }) })
82999
81210
  ] }),
83000
81211
  /* @__PURE__ */ jsxRuntimeExports.jsxs(SlideDown, { delay: 100, children: [
83001
81212
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: dist.css(styles.infoRow), children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.textGroup, children: [
83002
- /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.rowHeader, truncate: false, variant: "Small", children: __("Account type") }),
83003
- /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.bold, truncate: false, variant: "Body", children: accountType ? AccountTypeLabels[accountType] : "-" })
81213
+ /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.rowHeader, truncate: false, variant: "body2", children: __("Account type") }),
81214
+ /* @__PURE__ */ jsxRuntimeExports.jsx(D, { bold: true, style: styles.rowValue, truncate: false, variant: "body1", children: accountType ? AccountTypeLabels[accountType] : "-" })
83004
81215
  ] }) }),
83005
81216
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: dist.css(styles.infoRow), children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.textGroup, children: [
83006
- /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.rowHeader, truncate: false, variant: "Small", children: __("Routing number") }),
83007
- /* @__PURE__ */ jsxRuntimeExports.jsx(ProtectedText, { style: styles.bold, truncate: false, variant: "Body", children: routingNumber || "-" })
81217
+ /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.rowHeader, truncate: false, variant: "body2", children: __("Routing number") }),
81218
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ProtectedText, { bold: true, style: styles.rowValue, truncate: false, variant: "body1", children: routingNumber || "-" })
83008
81219
  ] }) }),
83009
81220
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: dist.css(styles.infoRow), children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: styles.textGroup, children: [
83010
- /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.rowHeader, truncate: false, variant: "Small", children: __("Account number") }),
83011
- /* @__PURE__ */ jsxRuntimeExports.jsx(ProtectedText, { style: styles.bold, truncate: false, variant: "Body", children: accountNumber ? `•••• ${accountNumber.substr(-4)}` : "-" })
81221
+ /* @__PURE__ */ jsxRuntimeExports.jsx(D, { style: styles.rowHeader, truncate: false, variant: "body2", children: __("Account number") }),
81222
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ProtectedText, { bold: true, style: styles.rowValue, truncate: false, variant: "body1", children: accountNumber ? `•••• ${accountNumber.substr(-4)}` : "-" })
83012
81223
  ] }) })
83013
81224
  ] }),
83014
81225
  /* @__PURE__ */ jsxRuntimeExports.jsxs(SlideDown, { delay: 200, children: [
@@ -83055,8 +81266,7 @@ const getStyles$j = (tokens) => ({
83055
81266
  rowHeader: {
83056
81267
  color: tokens.TextColor.InputLabel
83057
81268
  },
83058
- bold: {
83059
- fontWeight: tokens.FontWeight.Bold,
81269
+ rowValue: {
83060
81270
  overflowWrap: "anywhere"
83061
81271
  },
83062
81272
  button: {
@@ -87531,6 +85741,7 @@ const getErrorResource = (err) => {
87531
85741
  const useLoadConnect = () => {
87532
85742
  const { api } = useApi();
87533
85743
  const profiles = useSelector((state) => state.profiles);
85744
+ const experimentalFeatures = useSelector(getExperimentalFeatures);
87534
85745
  const clientLocale = useMemo(() => {
87535
85746
  return document.querySelector("html")?.getAttribute("lang") || "en";
87536
85747
  }, [document.querySelector("html")?.getAttribute("lang")]);
@@ -87557,6 +85768,7 @@ const useLoadConnect = () => {
87557
85768
  return from(api.loadMembers(clientLocale)).pipe(
87558
85769
  map(
87559
85770
  (members = []) => loadConnectSuccess$1({
85771
+ experimentalFeatures,
87560
85772
  members,
87561
85773
  widgetProfile: profiles.widgetProfile,
87562
85774
  ...dependencies