@feathery/react 2.40.2 → 2.41.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 (102) hide show
  1. package/cjs/Form/index.d.ts.map +1 -1
  2. package/cjs/elements/basic/ProgressBarElement/components/StepperBar.d.ts.map +1 -1
  3. package/cjs/elements/basic/ProgressBarElement/index.d.ts +1 -1
  4. package/cjs/elements/basic/ProgressBarElement/index.d.ts.map +1 -1
  5. package/cjs/{fthry_AssistantChat.CPRDvm7C.js → fthry_AssistantChat.AuMTE5ni.js} +4 -4
  6. package/cjs/{fthry_FormControl.7DCqUUo7.js → fthry_FormControl.D82S9LtT.js} +1 -1
  7. package/cjs/{fthry_InlineTooltip.BG9boW4z.js → fthry_InlineTooltip.kdzoP2rc.js} +2 -2
  8. package/cjs/{fthry_Overlay.BFSQMSHa.js → fthry_Overlay.CbC1FjTZ.js} +1 -1
  9. package/cjs/{fthry_PaymentMethodField.VlifcGeg.js → fthry_PaymentMethodField.BxzrLkB0.js} +4 -4
  10. package/cjs/{fthry_Placeholder.D7Clc9Vp.js → fthry_Placeholder.Di6onpMl.js} +1 -1
  11. package/cjs/{fthry_ShowEyeIcon.CTXawOIk.js → fthry_ShowEyeIcon.B5w5N8jm.js} +1 -1
  12. package/cjs/{fthry_highlighted-body-TPN3WLV5.TTZBCbiO.js → fthry_highlighted-body-TPN3WLV5.CB6IWsjv.js} +3 -3
  13. package/cjs/{fthry_index.ByAS65f7.js → fthry_index.9lXPMg87.js} +1 -1
  14. package/cjs/{fthry_index.CCQgF2ig.js → fthry_index.BM9fkWLL.js} +1 -1
  15. package/cjs/{fthry_index.DoNKXNA1.js → fthry_index.BZUdAFdY.js} +5 -5
  16. package/cjs/{fthry_index.B3c8eR_j.js → fthry_index.BgbTmgMy.js} +5 -5
  17. package/cjs/{fthry_index.CS6LnEXj.js → fthry_index.BoWkmyhH.js} +6 -6
  18. package/cjs/{fthry_index.elnm8AkD.js → fthry_index.BvLzo0YW.js} +1 -1
  19. package/cjs/{fthry_index.F_bTWLvi.js → fthry_index.BvqRq5KX.js} +4 -4
  20. package/cjs/{fthry_index.BHo6BYLQ.js → fthry_index.BvupjK8i.js} +1 -1
  21. package/cjs/{fthry_index.BNImcOyo.js → fthry_index.Bz-JA0yl.js} +6 -6
  22. package/cjs/{fthry_index.rLTpXJXU.js → fthry_index.C7-q3RPG.js} +1 -1
  23. package/cjs/{fthry_index.BdfNqUk_.js → fthry_index.COVcTBk0.js} +2 -2
  24. package/cjs/{fthry_index.BhIXhtJS.js → fthry_index.COz6kiMq.js} +5 -5
  25. package/cjs/{fthry_index.CaucTK2I.js → fthry_index.CfCS_H4E.js} +3 -3
  26. package/cjs/{fthry_index.Bk60H0MA.js → fthry_index.D1jW5KD5.js} +1 -1
  27. package/cjs/{fthry_index.D4iE0DoV.js → fthry_index.D2MsWDhX.js} +2 -2
  28. package/cjs/{fthry_index.C4Kb8rrv.js → fthry_index.DH8lgbPx.js} +1 -1
  29. package/cjs/{fthry_index.BP_ur0tw.js → fthry_index.DIK6ws4x.js} +6 -6
  30. package/cjs/{fthry_index.ByaO-IPE.js → fthry_index.DKEljSgi.js} +4 -4
  31. package/cjs/{fthry_index.CkMkIkz9.js → fthry_index.DLYQKv1h.js} +8 -8
  32. package/cjs/{fthry_index.B0judNH0.js → fthry_index.Dx6_vLXH.js} +155 -52
  33. package/cjs/{fthry_index.C9ChU3He.js → fthry_index.DyfArFz1.js} +1 -1
  34. package/cjs/{fthry_index.BKd83jL3.js → fthry_index.J2MkUMO_.js} +1 -1
  35. package/cjs/{fthry_index.CQ3GXQ7u.js → fthry_index.YiQCJ_8p.js} +6 -6
  36. package/cjs/{fthry_index.BvUjf1dI.js → fthry_index.uAmtxDHN.js} +5 -5
  37. package/cjs/{fthry_index.DaXnEWdf.js → fthry_index.wT0xFcFi.js} +3 -3
  38. package/cjs/{fthry_input.BUCZQonv.js → fthry_input.Dqe4AZPw.js} +1 -1
  39. package/cjs/{fthry_mermaid-O7DHMXV3.sUIzCYWD.js → fthry_mermaid-O7DHMXV3.Hr0ROL9a.js} +3 -3
  40. package/cjs/{fthry_script.C6N3WHcg.js → fthry_script.5FcM2fg9.js} +1 -1
  41. package/cjs/{fthry_styles.tZs0nn5_.js → fthry_styles.CxfiChN9.js} +1 -1
  42. package/cjs/{fthry_useElementSize.rPRNtudj.js → fthry_useElementSize.DjNvJMZW.js} +1 -1
  43. package/cjs/{fthry_useSalesforceSync.DOGh-0MW.js → fthry_useSalesforceSync.D_GLzNtJ.js} +1 -1
  44. package/cjs/{fthry_webfontloader.D2ik3zfZ.js → fthry_webfontloader.rkfqw_Az.js} +1 -1
  45. package/cjs/index.js +1 -1
  46. package/cjs/integrations/mixpanel.d.ts.map +1 -1
  47. package/cjs/utils/featheryClient/index.d.ts +1 -0
  48. package/cjs/utils/featheryClient/index.d.ts.map +1 -1
  49. package/cjs/utils/init.d.ts +6 -1
  50. package/cjs/utils/init.d.ts.map +1 -1
  51. package/dist/Form/index.d.ts.map +1 -1
  52. package/dist/elements/basic/ProgressBarElement/components/StepperBar.d.ts.map +1 -1
  53. package/dist/elements/basic/ProgressBarElement/index.d.ts +1 -1
  54. package/dist/elements/basic/ProgressBarElement/index.d.ts.map +1 -1
  55. package/dist/{fthry_AssistantChat.B0qoAe0o.js → fthry_AssistantChat.9iZnqQQt.js} +4 -4
  56. package/dist/{fthry_FormControl.Br62kgoO.js → fthry_FormControl.aWX059qS.js} +1 -1
  57. package/dist/{fthry_InlineTooltip.BY88rigX.js → fthry_InlineTooltip.159qVlX7.js} +2 -2
  58. package/dist/{fthry_Overlay.xNw0skTQ.js → fthry_Overlay.Di0mol1Z.js} +1 -1
  59. package/dist/{fthry_PaymentMethodField.DP35cLIu.js → fthry_PaymentMethodField.C_6Pu8x2.js} +4 -4
  60. package/dist/{fthry_Placeholder.WANv8Cql.js → fthry_Placeholder.Dsx8_ezr.js} +1 -1
  61. package/dist/{fthry_ShowEyeIcon.RBwGNDz-.js → fthry_ShowEyeIcon.nRVpMPPa.js} +1 -1
  62. package/dist/{fthry_highlighted-body-TPN3WLV5.Do_mAkki.js → fthry_highlighted-body-TPN3WLV5.x-GmTT4p.js} +3 -3
  63. package/dist/{fthry_index.CVwNI0wC.js → fthry_index.BAs20rGv.js} +2 -2
  64. package/dist/{fthry_index.Bad-C-ct.js → fthry_index.BD4Gxt6n.js} +156 -53
  65. package/dist/{fthry_index.Bkl9afRX.js → fthry_index.BKKIUHxP.js} +6 -6
  66. package/dist/{fthry_index.RvUXHiP5.js → fthry_index.BOH7m5kT.js} +3 -3
  67. package/dist/{fthry_index.CwYvWzeF.js → fthry_index.BROaFD02.js} +5 -5
  68. package/dist/{fthry_index.C6Zf374X.js → fthry_index.BZ22DoJF.js} +6 -6
  69. package/dist/{fthry_index.B-fyO7L2.js → fthry_index.BfOeedPy.js} +1 -1
  70. package/dist/{fthry_index.Bvz8ZQ_Z.js → fthry_index.C9wizXBA.js} +4 -4
  71. package/dist/{fthry_index.CU6RNwxL.js → fthry_index.CBIXVWL-.js} +1 -1
  72. package/dist/{fthry_index.CCGFfkuV.js → fthry_index.CBiQrmKH.js} +1 -1
  73. package/dist/{fthry_index.DF4CthNf.js → fthry_index.CPAAIiq3.js} +5 -5
  74. package/dist/{fthry_index.C09Dn5fj.js → fthry_index.CPLtkSYO.js} +5 -5
  75. package/dist/{fthry_index.CZA7_DUX.js → fthry_index.CUWsRf0D.js} +2 -2
  76. package/dist/{fthry_index.Csjg1CSZ.js → fthry_index.CYYRO1p6.js} +1 -1
  77. package/dist/{fthry_index.TjfK_3U5.js → fthry_index.CyDzbx5S.js} +1 -1
  78. package/dist/{fthry_index.nHK_t_V2.js → fthry_index.D0eO_jrF.js} +1 -1
  79. package/dist/{fthry_index.CkDrn4f4.js → fthry_index.D5rdhFrZ.js} +1 -1
  80. package/dist/{fthry_index.dQbLEVhn.js → fthry_index.D8wf4Och.js} +1 -1
  81. package/dist/{fthry_index.DoDazXc-.js → fthry_index.DfusnmMH.js} +5 -5
  82. package/dist/{fthry_index.8WY_GNU7.js → fthry_index.DieTiO1R.js} +4 -4
  83. package/dist/{fthry_index.DE6Joa-a.js → fthry_index.Dm5kGSKR.js} +6 -6
  84. package/dist/{fthry_index.B-XAg0bM.js → fthry_index.Drx2ZVkE.js} +5 -5
  85. package/dist/{fthry_index.Y8vzMhtR.js → fthry_index.Fq2JKey_.js} +1 -1
  86. package/dist/{fthry_index.BT380FA_.js → fthry_index.Pp6zhlf_.js} +8 -8
  87. package/dist/{fthry_index.C2ZVKn5H.js → fthry_index.Se5JLYs9.js} +3 -3
  88. package/dist/{fthry_input.CMO0dJz7.js → fthry_input.p12lRSx4.js} +1 -1
  89. package/dist/{fthry_mermaid-O7DHMXV3.DxUqTn1L.js → fthry_mermaid-O7DHMXV3.CWWC47_a.js} +3 -3
  90. package/dist/{fthry_script.Y8MMexuK.js → fthry_script.GZmaXrTw.js} +1 -1
  91. package/dist/{fthry_styles.C0bXoMuz.js → fthry_styles.p1MsrWgL.js} +1 -1
  92. package/dist/{fthry_useElementSize.MuVHHknL.js → fthry_useElementSize.cLenWN5F.js} +1 -1
  93. package/dist/{fthry_useSalesforceSync.DGIYazp_.js → fthry_useSalesforceSync.0EbTmWOM.js} +1 -1
  94. package/dist/{fthry_webfontloader.BiP89hlr.js → fthry_webfontloader.DvZgpMoe.js} +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/integrations/mixpanel.d.ts.map +1 -1
  97. package/dist/utils/featheryClient/index.d.ts +1 -0
  98. package/dist/utils/featheryClient/index.d.ts.map +1 -1
  99. package/dist/utils/init.d.ts +6 -1
  100. package/dist/utils/init.d.ts.map +1 -1
  101. package/package.json +1 -1
  102. package/umd/index.js +1 -1
@@ -1,6 +1,6 @@
1
1
  import * as ReactJSXRuntime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import React__default, { forwardRef, useContext, useEffect, useRef, useState, useMemo, createContext, useCallback, memo, useLayoutEffect, lazy, Suspense } from 'react';
3
+ import React__default, { forwardRef, useContext, useEffect, useRef, useState, useMemo, createContext, useCallback, memo, useLayoutEffect, lazy, Suspense, useReducer } from 'react';
4
4
  import { createRoot } from 'react-dom/client';
5
5
  import JSZip from 'jszip';
6
6
  import { createPortal } from 'react-dom';
@@ -22334,7 +22334,7 @@ var Element$1 = function (_a) {
22334
22334
  if (elementOnView && onViewElements.includes(fieldId))
22335
22335
  basicProps.onView = function (inView) { return elementOnView(fieldId, inView); };
22336
22336
  if (type === 'progress_bar')
22337
- return (jsx$1(Elements.ProgressBarElement, __assign({}, basicProps, { progress: userProgress, curDepth: curDepth, maxDepth: maxDepth, stepKey: activeStep === null || activeStep === void 0 ? void 0 : activeStep.key, changeStep: form.changeStep, runElementActions: runElementActions })));
22337
+ return (jsx$1(Elements.ProgressBarElement, __assign({}, basicProps, { progress: userProgress, curDepth: curDepth, maxDepth: maxDepth, stepKey: activeStep === null || activeStep === void 0 ? void 0 : activeStep.key, runElementActions: runElementActions, client: form.client })));
22338
22338
  else if (type === 'image')
22339
22339
  return jsx$1(Elements.ImageElement, __assign({}, basicProps));
22340
22340
  else if (type === 'video')
@@ -40981,7 +40981,7 @@ function useTrackUserInteraction(formRef, activeStep, stepKey, formName) {
40981
40981
  }, [activeStep, stepKey, formName]);
40982
40982
  }
40983
40983
 
40984
- var LazyAssistantChat = lazy(function () { return import(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.B0qoAe0o.js').then(function (n) { return n.A; }); });
40984
+ var LazyAssistantChat = lazy(function () { return import(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.9iZnqQQt.js').then(function (n) { return n.A; }); });
40985
40985
  var AssistantChat = function (props) { return (jsx$1(Suspense, __assign({ fallback: null }, { children: jsx$1(LazyAssistantChat, __assign({}, props)) }))); };
40986
40986
 
40987
40987
  var AssistantClient = /** @class */ (function () {
@@ -43711,6 +43711,7 @@ function Form(_a) {
43711
43711
  changeStep: function (nextStepKey) {
43712
43712
  return changeFormStep(nextStepKey, activeStep.key, false);
43713
43713
  },
43714
+ client: client,
43714
43715
  updateFieldValues: updateFieldValues,
43715
43716
  submitCustom: function (values) { return client === null || client === void 0 ? void 0 : client.submitCustom(values); },
43716
43717
  elementOnView: elementOnView,
@@ -43755,8 +43756,7 @@ function Form(_a) {
43755
43756
  else if ([COLLAB_COMPLETED, COLLAB_DIRECT_DISABLED, NO_BUSINESS_EMAIL].includes(formOffReason.current))
43756
43757
  return jsx$1(FormOff, { reason: formOffReason.current, showCTA: false });
43757
43758
  else if (anyFinished) {
43758
- var completeState = formSettings.completionBehavior === 'show_completed_screen' ? (jsx$1(FormOff, { reason: FILLED_OUT, showCTA: formSettings.showBrand })) : null;
43759
- return completeState;
43759
+ return formSettings.completionBehavior === 'show_completed_screen' ? (jsx$1(FormOff, { reason: FILLED_OUT, showCTA: formSettings.showBrand })) : null;
43760
43760
  }
43761
43761
  else if (!activeStep)
43762
43762
  return stepLoader;
@@ -46037,7 +46037,10 @@ function installMixpanel(mixpanelConfig) {
46037
46037
  }
46038
46038
  })(featheryDoc(), featheryWindow().mixpanel || []);
46039
46039
  var meta = mixpanelConfig.metadata;
46040
- featheryWindow().mixpanel.init(meta.api_key);
46040
+ var options = meta.eu_server
46041
+ ? { api_host: 'https://api-eu.mixpanel.com' }
46042
+ : {};
46043
+ featheryWindow().mixpanel.init(meta.api_key, options);
46041
46044
  if (meta.identify_user)
46042
46045
  featheryWindow().mixpanel.identify(initInfo().userId);
46043
46046
  }
@@ -46847,6 +46850,42 @@ var FeatheryClient = /** @class */ (function (_super) {
46847
46850
  });
46848
46851
  });
46849
46852
  };
46853
+ // Lazily fetch the step keys the user has already completed. Queried only
46854
+ // when a stepper element renders, so it stays out of the session payload.
46855
+ FeatheryClient.prototype.fetchCompletedSteps = function () {
46856
+ var _a;
46857
+ return __awaiter$2(this, void 0, void 0, function () {
46858
+ var _b, userId, collaboratorId, overrideUserId, params, url, response, data;
46859
+ return __generator(this, function (_c) {
46860
+ switch (_c.label) {
46861
+ case 0: return [4 /*yield*/, initFormsPromise];
46862
+ case 1:
46863
+ _c.sent();
46864
+ _b = initInfo(), userId = _b.userId, collaboratorId = _b.collaboratorId, overrideUserId = _b.overrideUserId;
46865
+ params = {
46866
+ form_key: this.formKey,
46867
+ override: overrideUserId
46868
+ };
46869
+ if (userId)
46870
+ params.fuser_key = userId;
46871
+ if (collaboratorId)
46872
+ params.collaborator_user = collaboratorId;
46873
+ // @ts-expect-error encodeGetParams returns the encoded query string
46874
+ params = encodeGetParams(params);
46875
+ url = "".concat(API_URL, "panel/step/completion/?").concat(params);
46876
+ return [4 /*yield*/, this._fetch(url, {})];
46877
+ case 2:
46878
+ response = _c.sent();
46879
+ if (!response)
46880
+ return [2 /*return*/, []];
46881
+ return [4 /*yield*/, response.json().catch(function () { return ({}); })];
46882
+ case 3:
46883
+ data = _c.sent();
46884
+ return [2 /*return*/, (_a = data.completed_steps) !== null && _a !== void 0 ? _a : []];
46885
+ }
46886
+ });
46887
+ });
46888
+ };
46850
46889
  FeatheryClient.prototype.fetchSession = function (formPromise, block) {
46851
46890
  var _a, _b;
46852
46891
  if (formPromise === void 0) { formPromise = null; }
@@ -47177,6 +47216,10 @@ var FeatheryClient = /** @class */ (function (_super) {
47177
47216
  return __generator(this, function (_a) {
47178
47217
  if (this.draft)
47179
47218
  return [2 /*return*/];
47219
+ // A 'complete' event means the step was submitted — record it so the
47220
+ // stepper reflects which steps are completed vs merely skipped over.
47221
+ if (eventData.event === 'complete')
47222
+ markStepCompleted(eventData.step_key);
47180
47223
  if (!isInteractionDetected() || this.userEventQueue.isReplayingEvents()) {
47181
47224
  return [2 /*return*/, this.userEventQueue.enqueue(eventData)];
47182
47225
  }
@@ -47530,7 +47573,9 @@ var initState = {
47530
47573
  isTestEnv: false,
47531
47574
  initNoSave: false,
47532
47575
  theme: '',
47533
- region: ''
47576
+ region: '',
47577
+ completedSteps: new Set(),
47578
+ completedStepsLoaded: new Set()
47534
47579
  };
47535
47580
  var fieldValues = {};
47536
47581
  var filePathMap = {};
@@ -47582,9 +47627,9 @@ function init(sdkKey, options) {
47582
47627
  if (runningInClient()) {
47583
47628
  // Dynamically load libraries that must be client side
47584
47629
  global.scriptjsLoadPromise = import(
47585
- /* webpackChunkName: "scriptjs" */ './fthry_script.Y8MMexuK.js').then(function (n) { return n.s; });
47630
+ /* webpackChunkName: "scriptjs" */ './fthry_script.GZmaXrTw.js').then(function (n) { return n.s; });
47586
47631
  global.webfontloaderPromise = import(
47587
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.BiP89hlr.js').then(function (n) { return n.w; });
47632
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DvZgpMoe.js').then(function (n) { return n.w; });
47588
47633
  // Client-side tracking logic
47589
47634
  if (initState.userTracking === 'cookie') {
47590
47635
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -47729,8 +47774,49 @@ function getFieldValues() {
47729
47774
  // Make a copy so users can't set fieldValues directly
47730
47775
  return __assign({}, fieldValues);
47731
47776
  }
47777
+ function getCompletedStepKeys() {
47778
+ // Make a copy so callers can't mutate the set directly
47779
+ return new Set(initState.completedSteps);
47780
+ }
47781
+ // Record a step as completed once it has been submitted
47782
+ function markStepCompleted(stepKey) {
47783
+ if (stepKey)
47784
+ initState.completedSteps.add(stepKey);
47785
+ }
47786
+ // Fetch the user's completed steps for a form once (deduped per form key) and
47787
+ // seed them into init state. Triggered lazily by the stepper element when it
47788
+ // renders; the stepper re-renders itself once this resolves.
47789
+ function loadCompletedSteps(client) {
47790
+ return __awaiter$2(this, void 0, void 0, function () {
47791
+ var formKey;
47792
+ return __generator(this, function (_a) {
47793
+ switch (_a.label) {
47794
+ case 0:
47795
+ formKey = client === null || client === void 0 ? void 0 : client.formKey;
47796
+ if (!formKey || initState.completedStepsLoaded.has(formKey))
47797
+ return [2 /*return*/];
47798
+ initState.completedStepsLoaded.add(formKey);
47799
+ _a.label = 1;
47800
+ case 1:
47801
+ _a.trys.push([1, 3, , 4]);
47802
+ return [4 /*yield*/, client.fetchCompletedSteps()];
47803
+ case 2:
47804
+ // Merge rather than replace so steps already completed locally aren't
47805
+ // dropped (completion is monotonic — a step never becomes uncompleted)
47806
+ (_a.sent()).forEach(markStepCompleted);
47807
+ return [3 /*break*/, 4];
47808
+ case 3:
47809
+ _a.sent();
47810
+ // Allow a retry on the next render if the request failed
47811
+ initState.completedStepsLoaded.delete(formKey);
47812
+ return [3 /*break*/, 4];
47813
+ case 4: return [2 /*return*/];
47814
+ }
47815
+ });
47816
+ });
47817
+ }
47732
47818
  function logFeatheryBadge() {
47733
- console.log('%c Feathery %c v' + "2.40.2" + ' ', // replaced with real version during build
47819
+ console.log('%c Feathery %c v' + "2.41.1" + ' ', // replaced with real version during build
47734
47820
  'background: #e2626e; color: white; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;', 'background: #fce7e9; color: #c5495a; padding: 2px 6px; border-radius: 0 3px 3px 0;');
47735
47821
  }
47736
47822
 
@@ -49245,64 +49331,64 @@ breakpoint) {
49245
49331
 
49246
49332
  var fieldLoaders = {
49247
49333
  AddressLine1: function () {
49248
- return import(/* webpackChunkName: "AddressField" */ './fthry_index.DoDazXc-.js');
49334
+ return import(/* webpackChunkName: "AddressField" */ './fthry_index.DfusnmMH.js');
49249
49335
  },
49250
49336
  ButtonGroupField: function () {
49251
- return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.8WY_GNU7.js');
49337
+ return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.DieTiO1R.js');
49252
49338
  },
49253
49339
  CheckboxField: function () {
49254
- return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.CU6RNwxL.js');
49340
+ return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.CBIXVWL-.js');
49255
49341
  },
49256
49342
  CheckboxGroupField: function () {
49257
- return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.C6Zf374X.js');
49343
+ return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.BZ22DoJF.js');
49258
49344
  },
49259
49345
  ColorPickerField: function () {
49260
- return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.dQbLEVhn.js');
49346
+ return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.D8wf4Och.js');
49261
49347
  },
49262
49348
  CustomField: function () {
49263
- return import(/* webpackChunkName: "CustomField" */ './fthry_index.CkDrn4f4.js');
49349
+ return import(/* webpackChunkName: "CustomField" */ './fthry_index.D5rdhFrZ.js');
49264
49350
  },
49265
49351
  DateSelectorField: function () {
49266
- return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.Bkl9afRX.js');
49352
+ return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.BKKIUHxP.js');
49267
49353
  },
49268
49354
  DropdownField: function () {
49269
- return import(/* webpackChunkName: "DropdownField" */ './fthry_index.CwYvWzeF.js');
49355
+ return import(/* webpackChunkName: "DropdownField" */ './fthry_index.BROaFD02.js');
49270
49356
  },
49271
49357
  DropdownMultiField: function () {
49272
- return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.DF4CthNf.js');
49358
+ return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.CPAAIiq3.js');
49273
49359
  },
49274
49360
  FileUploadField: function () {
49275
- return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.Csjg1CSZ.js');
49361
+ return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.CYYRO1p6.js');
49276
49362
  },
49277
49363
  MatrixField: function () {
49278
- return import(/* webpackChunkName: "MatrixField" */ './fthry_index.C2ZVKn5H.js');
49364
+ return import(/* webpackChunkName: "MatrixField" */ './fthry_index.Se5JLYs9.js');
49279
49365
  },
49280
49366
  PasswordField: function () {
49281
- return import(/* webpackChunkName: "PasswordField" */ './fthry_index.B-XAg0bM.js');
49367
+ return import(/* webpackChunkName: "PasswordField" */ './fthry_index.Drx2ZVkE.js');
49282
49368
  },
49283
49369
  PaymentMethodField: function () {
49284
- return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DP35cLIu.js');
49370
+ return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.C_6Pu8x2.js');
49285
49371
  },
49286
- PhoneField: function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.C09Dn5fj.js'); },
49372
+ PhoneField: function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.CPLtkSYO.js'); },
49287
49373
  PinInputField: function () {
49288
- return import(/* webpackChunkName: "PinInputField" */ './fthry_index.B-fyO7L2.js');
49374
+ return import(/* webpackChunkName: "PinInputField" */ './fthry_index.BfOeedPy.js');
49289
49375
  },
49290
- QRScanner: function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.CZA7_DUX.js'); },
49376
+ QRScanner: function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.CUWsRf0D.js'); },
49291
49377
  RadioButtonGroupField: function () {
49292
49378
  return import(
49293
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.DE6Joa-a.js');
49379
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.Dm5kGSKR.js');
49294
49380
  },
49295
49381
  RatingField: function () {
49296
- return import(/* webpackChunkName: "RatingField" */ './fthry_index.CCGFfkuV.js');
49382
+ return import(/* webpackChunkName: "RatingField" */ './fthry_index.CBiQrmKH.js');
49297
49383
  },
49298
49384
  SignatureField: function () {
49299
- return import(/* webpackChunkName: "SignatureField" */ './fthry_index.RvUXHiP5.js');
49385
+ return import(/* webpackChunkName: "SignatureField" */ './fthry_index.BOH7m5kT.js');
49300
49386
  },
49301
49387
  SliderField: function () {
49302
- return import(/* webpackChunkName: "SliderField" */ './fthry_index.CVwNI0wC.js');
49388
+ return import(/* webpackChunkName: "SliderField" */ './fthry_index.BAs20rGv.js');
49303
49389
  },
49304
- TextField: function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.BT380FA_.js'); },
49305
- TextArea: function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.Bvz8ZQ_Z.js'); }
49390
+ TextField: function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.Pp6zhlf_.js'); },
49391
+ TextArea: function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.C9wizXBA.js'); }
49306
49392
  };
49307
49393
  var getPositionKey = function (element) { var _a; return ((_a = element.position) === null || _a === void 0 ? void 0 : _a.join(',')) || 'root'; };
49308
49394
  // Share the resolved component between preload and render. A separate
@@ -50215,7 +50301,7 @@ function SegmentBar(_a) {
50215
50301
  }
50216
50302
 
50217
50303
  var CIRCLE_SIZE = 28;
50218
- var CONNECTOR_GAP = 6;
50304
+ var CONNECTOR_GAP = 4;
50219
50305
  function isFieldTruthy(fieldKey) {
50220
50306
  var val = getFieldValues()[fieldKey];
50221
50307
  if (Array.isArray(val))
@@ -50231,7 +50317,8 @@ function isStepVisible(step) {
50231
50317
  }
50232
50318
  function StepperBar(_a) {
50233
50319
  var _b, _c;
50234
- var styles = _a.styles, stepConfigs = _a.stepConfigs, stepKey = _a.stepKey, _d = _a.textPlacement, textPlacement = _d === void 0 ? 'bottom' : _d, onStepClick = _a.onStepClick, _e = _a.allowAllNavigation, allowAllNavigation = _e === void 0 ? false : _e, _f = _a.vertical, vertical = _f === void 0 ? false : _f, style = _a.style;
50320
+ var _d;
50321
+ var styles = _a.styles, stepConfigs = _a.stepConfigs, stepKey = _a.stepKey, _e = _a.textPlacement, textPlacement = _e === void 0 ? 'bottom' : _e, onStepClick = _a.onStepClick, _f = _a.allowAllNavigation, allowAllNavigation = _f === void 0 ? false : _f, _g = _a.vertical, vertical = _g === void 0 ? false : _g, style = _a.style;
50235
50322
  var barStyles = styles.getTarget('bar');
50236
50323
  var showLabels = textPlacement !== 'none';
50237
50324
  var visibleStepConfigs = stepConfigs.filter(isStepVisible);
@@ -50239,10 +50326,16 @@ function StepperBar(_a) {
50239
50326
  var activeStep = stepKey
50240
50327
  ? Math.max(0, visibleStepConfigs.findIndex(function (s) { return s.step_key === stepKey; }))
50241
50328
  : 0;
50329
+ var completedStepKeys = getCompletedStepKeys();
50242
50330
  var mainDim = vertical ? 'height' : 'width';
50243
50331
  var crossAlign = vertical ? 'alignItems' : 'justifyContent';
50332
+ // Halo around the active step's circle so it reads as the current step even
50333
+ // though it shares the filled bar color with completed steps.
50334
+ var activeRingColor = (_d = barStyles.backgroundColor) !== null && _d !== void 0 ? _d : '#888';
50244
50335
  var circleStyleFor = function (isCompleted, isActive) {
50245
- if (isActive || isCompleted)
50336
+ if (isActive)
50337
+ return __assign(__assign({}, barStyles), { color: '#fff', boxShadow: "0 0 0 2px #fff, 0 0 0 4px ".concat(activeRingColor) });
50338
+ if (isCompleted)
50246
50339
  return __assign(__assign({}, barStyles), { color: '#fff' });
50247
50340
  return { backgroundColor: '#e9ecef', color: '#888' };
50248
50341
  };
@@ -50252,10 +50345,13 @@ function StepperBar(_a) {
50252
50345
  var renderNodes = function () {
50253
50346
  return steps.map(function (_, index) {
50254
50347
  var _a;
50255
- var isCompleted = index < activeStep;
50256
50348
  var isActive = index === activeStep;
50257
50349
  var isLast = index === steps.length - 1;
50258
50350
  var sKey = (_a = visibleStepConfigs === null || visibleStepConfigs === void 0 ? void 0 : visibleStepConfigs[index]) === null || _a === void 0 ? void 0 : _a.step_key;
50351
+ // A step is completed only if it was actually submitted. Steps skipped
50352
+ // over (navigated past without submitting) stay uncompleted even when
50353
+ // they sit behind the current step.
50354
+ var isCompleted = !!sKey && completedStepKeys.has(sKey);
50259
50355
  // With all-step navigation on, any step other than the current one is
50260
50356
  // clickable; otherwise only completed (already-visited) steps are.
50261
50357
  var isClickable = !!onStepClick &&
@@ -50275,7 +50371,9 @@ function StepperBar(_a) {
50275
50371
  marginLeft: "".concat(CONNECTOR_GAP, "px"),
50276
50372
  marginRight: "".concat(CONNECTOR_GAP, "px")
50277
50373
  };
50278
- return (jsxs(React__default.Fragment, { children: [jsx$1("div", __assign({ css: __assign({ width: "".concat(CIRCLE_SIZE, "px"), height: "".concat(CIRCLE_SIZE, "px"), borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: '13px', fontWeight: 600, flexShrink: 0, cursor: isClickable ? 'pointer' : 'default', transition: 'opacity 0.15s ease', '&:hover': isClickable ? { opacity: 0.7 } : {} }, circleStyleFor(isCompleted, isActive)), onClick: isClickable ? function () { return onStepClick(sKey); } : undefined }, { children: circleContent(isCompleted, index) })), !isLast && (jsx$1("div", { css: __assign(__assign({}, connectorStyle), (isCompleted ? barStyles : { backgroundColor: '#e9ecef' })) }))] }, index));
50374
+ return (jsxs(React__default.Fragment, { children: [jsx$1("div", __assign({ css: __assign({ width: "".concat(CIRCLE_SIZE, "px"), height: "".concat(CIRCLE_SIZE, "px"), borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: '13px', fontWeight: 600, flexShrink: 0, cursor: isClickable ? 'pointer' : 'default', transition: 'opacity 0.15s ease', '&:hover': isClickable ? { opacity: 0.7 } : {} }, circleStyleFor(isCompleted, isActive)), onClick: isClickable ? function () { return onStepClick(sKey); } : undefined }, { children: circleContent(isCompleted && !isActive, index) })), !isLast && (jsx$1("div", { css: __assign(__assign({}, connectorStyle), (index < activeStep
50375
+ ? barStyles
50376
+ : { backgroundColor: '#e9ecef' })) }))] }, index));
50279
50377
  });
50280
50378
  };
50281
50379
  var renderLabelItems = function () {
@@ -50331,25 +50429,30 @@ function applyProgressBarStyles(responsiveStyles) {
50331
50429
  }
50332
50430
  function ProgressBarElement(_a) {
50333
50431
  var _b, _c, _d, _e, _f, _g;
50334
- var element = _a.element, responsiveStyles = _a.responsiveStyles, progress = _a.progress, _h = _a.curDepth, curDepth = _h === void 0 ? 1 : _h, _j = _a.maxDepth, maxDepth = _j === void 0 ? 1 : _j, stepKey = _a.stepKey, changeStep = _a.changeStep, runElementActions = _a.runElementActions, _k = _a.elementProps, elementProps = _k === void 0 ? {} : _k, children = _a.children;
50432
+ var element = _a.element, responsiveStyles = _a.responsiveStyles, progress = _a.progress, _h = _a.curDepth, curDepth = _h === void 0 ? 1 : _h, _j = _a.maxDepth, maxDepth = _j === void 0 ? 1 : _j, stepKey = _a.stepKey, runElementActions = _a.runElementActions, client = _a.client, _k = _a.elementProps, elementProps = _k === void 0 ? {} : _k, children = _a.children;
50335
50433
  var styles = useMemo(function () { return applyProgressBarStyles(responsiveStyles); }, [responsiveStyles]);
50434
+ var _l = __read(useReducer(function (x) { return x + 1; }, 0), 2), rerender = _l[1];
50435
+ var isStepper = !!((_b = element.properties) === null || _b === void 0 ? void 0 : _b.stepper);
50436
+ // Fetch prior step completion the first time a stepper renders (deduped per
50437
+ // form inside loadCompletedSteps), then re-render this stepper to show it
50438
+ useEffect(function () {
50439
+ if (isStepper)
50440
+ loadCompletedSteps(client).then(function () { return rerender(); });
50441
+ }, [isStepper]);
50336
50442
  var vertical = element.styles.bar_direction === 'vertical';
50337
50443
  var containerProps = __assign({ css: __assign(__assign({ display: 'flex', flexDirection: 'column', position: 'relative', width: '100%' }, (vertical && { height: '100%' })), styles.getTarget('barContainer')) }, elementProps);
50338
- if ((_b = element.properties) === null || _b === void 0 ? void 0 : _b.stepper) {
50339
- // When navigation to all steps is enabled, clicking a step validates and
50340
- // submits the current step before navigating to the clicked step; otherwise
50341
- // only already-visited steps are clickable and navigation happens directly.
50444
+ if (isStepper) {
50445
+ // Clicking a step navigates to it via a NEXT action. When navigation to all
50446
+ // steps is enabled, the current step is validated & submitted first;
50447
+ // otherwise only already-visited steps are clickable
50342
50448
  var allowAllNavigation = !!((_c = element.properties) === null || _c === void 0 ? void 0 : _c.navigate_to_all_steps);
50343
- var onStepClick = allowAllNavigation
50344
- ? function (targetStepKey) {
50345
- return runElementActions({
50346
- element: element,
50347
- elementType: 'progress_bar',
50348
- actions: [{ type: ACTION_NEXT, next_step_key: targetStepKey }],
50349
- submit: true
50350
- });
50351
- }
50352
- : changeStep;
50449
+ var onStepClick = function (targetStepKey) {
50450
+ return runElementActions({
50451
+ element: element,
50452
+ elementType: 'progress_bar',
50453
+ actions: [{ type: ACTION_NEXT, next_step_key: targetStepKey }]
50454
+ });
50455
+ };
50353
50456
  return (jsxs("div", __assign({}, containerProps, { children: [children, jsx$1(StepperBar, { styles: styles, stepConfigs: (_e = (_d = element.properties) === null || _d === void 0 ? void 0 : _d.stepper_steps) !== null && _e !== void 0 ? _e : [], stepKey: stepKey, textPlacement: element.styles.percent_text_layout, onStepClick: onStepClick, allowAllNavigation: allowAllNavigation, vertical: vertical, style: vertical ? { flex: 1 } : undefined })] })));
50354
50457
  }
50355
50458
  var userProgress, userSegments;
@@ -50533,7 +50636,7 @@ function ElementSkeleton(_a) {
50533
50636
  }
50534
50637
  var templateObject_1;
50535
50638
 
50536
- var TableElement = lazy(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.Y8vzMhtR.js'); });
50639
+ var TableElement = lazy(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.Fq2JKey_.js'); });
50537
50640
  var Basic = {
50538
50641
  ImageElement: ImageElement,
50539
50642
  VideoElement: VideoElement,
@@ -1,17 +1,17 @@
1
- import { a as jsx, G as Global, e as css, g as __makeTemplateObject, _ as __assign, c as __read, s as isMobile, p as featheryWindow, t as featheryDoc, u as useBorder, j as jsxs$1, h as hoverStylesGuard, r as resetStyles, k as __rest, au as formatDateString } from './fthry_index.Bad-C-ct.js';
1
+ import { a as jsx, G as Global, e as css, g as __makeTemplateObject, _ as __assign, c as __read, s as isMobile, p as featheryWindow, t as featheryDoc, u as useBorder, j as jsxs$1, h as hoverStylesGuard, r as resetStyles, k as __rest, au as formatDateString } from './fthry_index.BD4Gxt6n.js';
2
2
  import * as React from 'react';
3
3
  import React__default, { useMemo, useLayoutEffect, cloneElement, createRef, Component, useRef, useCallback, useEffect, createElement, memo, useState } from 'react';
4
- import { P as Placeholder } from './fthry_Placeholder.WANv8Cql.js';
5
- import { I as InlineTooltip } from './fthry_InlineTooltip.BY88rigX.js';
4
+ import { P as Placeholder } from './fthry_Placeholder.Dsx8_ezr.js';
5
+ import { I as InlineTooltip } from './fthry_InlineTooltip.159qVlX7.js';
6
6
  import { c as clsx } from './fthry_clsx.ChV9xqsO.js';
7
7
  import { jsxs, jsx as jsx$1 } from 'react/jsx-runtime';
8
8
  import * as ReactDOM from 'react-dom';
9
9
  import ReactDOM__default from 'react-dom';
10
- import { a as IMask, I as IMaskInput } from './fthry_input.CMO0dJz7.js';
10
+ import { a as IMask, I as IMaskInput } from './fthry_input.p12lRSx4.js';
11
11
  import 'react-dom/client';
12
12
  import 'jszip';
13
- import './fthry_Overlay.xNw0skTQ.js';
14
- import './fthry_index.nHK_t_V2.js';
13
+ import './fthry_Overlay.Di0mol1Z.js';
14
+ import './fthry_index.D0eO_jrF.js';
15
15
 
16
16
  var PORTAL_CONTAINER_CLASS = '.react-datepicker__portal';
17
17
  var DATEPICKER_PADDING_TOP_VALUE = '--datepicker-pad-top';
@@ -1,6 +1,6 @@
1
- import { t as featheryDoc, Y as devicePixelRatio, C as getDefaultExportFromCjs, c as __read, j as jsxs, a as jsx, _ as __assign, q as Fragment, l as __awaiter, m as __generator, Z as toBase64, H as debounce, $ as MODAL_Z_INDEX, N as CloseIcon, a0 as dataURLToFile, F as FORM_Z_INDEX, E as ErrorInput } from './fthry_index.Bad-C-ct.js';
1
+ import { t as featheryDoc, Y as devicePixelRatio, C as getDefaultExportFromCjs, c as __read, j as jsxs, a as jsx, _ as __assign, q as Fragment, l as __awaiter, m as __generator, Z as toBase64, H as debounce, $ as MODAL_Z_INDEX, N as CloseIcon, a0 as dataURLToFile, F as FORM_Z_INDEX, E as ErrorInput } from './fthry_index.BD4Gxt6n.js';
2
2
  import React__default, { Component, forwardRef, useState, useRef, useImperativeHandle, useEffect, useCallback, Suspense } from 'react';
3
- import { P as PropTypes } from './fthry_index.nHK_t_V2.js';
3
+ import { P as PropTypes } from './fthry_index.D0eO_jrF.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react-dom/client';
6
6
  import 'jszip';
@@ -1477,7 +1477,7 @@ function SignatureField(_a) {
1477
1477
  useEffect(function () {
1478
1478
  if (!global.webfontloaderPromise)
1479
1479
  global.webfontloaderPromise = import(
1480
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.BiP89hlr.js').then(function (n) { return n.w; });
1480
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DvZgpMoe.js').then(function (n) { return n.w; });
1481
1481
  global.webfontloaderPromise.then(function (WebFont) {
1482
1482
  WebFont.load({ google: { families: ['La Belle Aurore'] } });
1483
1483
  });
@@ -1,13 +1,13 @@
1
- import { u as useBorder, c as __read, a as jsx, _ as __assign, d as countryData, f as fieldValues, j as jsxs, h as hoverStylesGuard, e as css, g as __makeTemplateObject, G as Global, b as iosScrollOnFocus, r as resetStyles } from './fthry_index.Bad-C-ct.js';
1
+ import { u as useBorder, c as __read, a as jsx, _ as __assign, d as countryData, f as fieldValues, j as jsxs, h as hoverStylesGuard, e as css, g as __makeTemplateObject, G as Global, b as iosScrollOnFocus, r as resetStyles } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useState, useRef, useEffect } from 'react';
3
- import { I as InlineTooltip } from './fthry_InlineTooltip.BY88rigX.js';
4
- import { h as hasState, g as getStateOptions } from './fthry_index.TjfK_3U5.js';
5
- import { u as useSalesforceSync } from './fthry_useSalesforceSync.DGIYazp_.js';
3
+ import { I as InlineTooltip } from './fthry_InlineTooltip.159qVlX7.js';
4
+ import { h as hasState, g as getStateOptions } from './fthry_index.CyDzbx5S.js';
5
+ import { u as useSalesforceSync } from './fthry_useSalesforceSync.0EbTmWOM.js';
6
6
  import 'react/jsx-runtime';
7
7
  import 'react-dom/client';
8
8
  import 'jszip';
9
9
  import 'react-dom';
10
- import './fthry_Overlay.xNw0skTQ.js';
10
+ import './fthry_Overlay.Di0mol1Z.js';
11
11
 
12
12
  function DropdownField(_a) {
13
13
  var _b, _c, _d;
@@ -1,14 +1,14 @@
1
- import { j as jsxs, _ as __assign, a as jsx, b as iosScrollOnFocus, r as resetStyles } from './fthry_index.Bad-C-ct.js';
1
+ import { j as jsxs, _ as __assign, a as jsx, b as iosScrollOnFocus, r as resetStyles } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useRef, useMemo, useEffect } from 'react';
3
- import { F as FormControl } from './fthry_FormControl.Br62kgoO.js';
4
- import { applyCheckableInputStyles, composeCheckableInputStyle, applyHeightWidthMarginByFontSize } from './fthry_index.CU6RNwxL.js';
5
- import { I as InlineTooltip } from './fthry_InlineTooltip.BY88rigX.js';
6
- import { u as useSalesforceSync } from './fthry_useSalesforceSync.DGIYazp_.js';
3
+ import { F as FormControl } from './fthry_FormControl.aWX059qS.js';
4
+ import { applyCheckableInputStyles, composeCheckableInputStyle, applyHeightWidthMarginByFontSize } from './fthry_index.CBIXVWL-.js';
5
+ import { I as InlineTooltip } from './fthry_InlineTooltip.159qVlX7.js';
6
+ import { u as useSalesforceSync } from './fthry_useSalesforceSync.0EbTmWOM.js';
7
7
  import 'react/jsx-runtime';
8
8
  import 'react-dom/client';
9
9
  import 'jszip';
10
10
  import 'react-dom';
11
- import './fthry_Overlay.xNw0skTQ.js';
11
+ import './fthry_Overlay.Di0mol1Z.js';
12
12
 
13
13
  var applyCheckboxGroupStyles = function (element, responsiveStyles) {
14
14
  responsiveStyles.addTargets('checkboxGroup');
@@ -1,4 +1,4 @@
1
- import { p as featheryWindow, j as jsxs, _ as __assign, a as jsx, c as __read, u as useBorder, h as hoverStylesGuard, P as isNum } from './fthry_index.Bad-C-ct.js';
1
+ import { p as featheryWindow, j as jsxs, _ as __assign, a as jsx, c as __read, u as useBorder, h as hoverStylesGuard, P as isNum } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useRef, useCallback, useEffect, useState } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,12 +1,12 @@
1
- import { c as __read, u as useBorder, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, r as resetStyles } from './fthry_index.Bad-C-ct.js';
1
+ import { c as __read, u as useBorder, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, r as resetStyles } from './fthry_index.BD4Gxt6n.js';
2
2
  import { memo, useState, useRef } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.WANv8Cql.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.BY88rigX.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.Dsx8_ezr.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.159qVlX7.js';
5
5
  import 'react/jsx-runtime';
6
6
  import 'react-dom/client';
7
7
  import 'jszip';
8
8
  import 'react-dom';
9
- import './fthry_Overlay.xNw0skTQ.js';
9
+ import './fthry_Overlay.Di0mol1Z.js';
10
10
 
11
11
  function TextArea(_a) {
12
12
  var element = _a.element, responsiveStyles = _a.responsiveStyles, fieldLabel = _a.fieldLabel, _b = _a.elementProps, elementProps = _b === void 0 ? {} : _b, _c = _a.required, required = _c === void 0 ? false : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, editMode = _a.editMode, _e = _a.onChange, onChange = _e === void 0 ? function () { } : _e, _f = _a.setRef, setRef = _f === void 0 ? function () { } : _f, _g = _a.rawValue, rawValue = _g === void 0 ? '' : _g, inlineError = _a.inlineError, _h = _a.repeatIndex, repeatIndex = _h === void 0 ? null : _h, children = _a.children;
@@ -1,4 +1,4 @@
1
- import { _ as __assign, h as hoverStylesGuard, j as jsxs, a as jsx, b as iosScrollOnFocus } from './fthry_index.Bad-C-ct.js';
1
+ import { _ as __assign, h as hoverStylesGuard, j as jsxs, a as jsx, b as iosScrollOnFocus } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useMemo } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,4 +1,4 @@
1
- import { a as jsx, _ as __assign, c as __read, j as jsxs, E as ErrorInput } from './fthry_index.Bad-C-ct.js';
1
+ import { a as jsx, _ as __assign, c as __read, j as jsxs, E as ErrorInput } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useState } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,10 +1,10 @@
1
- import { a1 as stringify, a2 as rulesheet, a3 as COMMENT, a4 as middleware, a5 as RULESET, a6 as combine, a7 as match, a8 as serialize, a9 as copy, aa as replace, ab as WEBKIT, ac as MOZ, ad as MS, ae as KEYFRAMES, af as DECLARATION, ag as dealloc, ah as alloc, ai as hash, aj as charat, ak as strlen, al as indexof, am as next, an as token, ao as from, ap as peek, aq as delimit, ar as slice, as as position, at as compile, a as jsx$1, _ as __assign, j as jsxs, q as Fragment$1, k as __rest, c as __read, F as FORM_Z_INDEX, p as featheryWindow, t as featheryDoc, L as __spreadArray, U as __values, u as useBorder, D as DROPDOWN_Z_INDEX } from './fthry_index.Bad-C-ct.js';
1
+ import { a1 as stringify, a2 as rulesheet, a3 as COMMENT, a4 as middleware, a5 as RULESET, a6 as combine, a7 as match, a8 as serialize, a9 as copy, aa as replace, ab as WEBKIT, ac as MOZ, ad as MS, ae as KEYFRAMES, af as DECLARATION, ag as dealloc, ah as alloc, ai as hash, aj as charat, ak as strlen, al as indexof, am as next, an as token, ao as from, ap as peek, aq as delimit, ar as slice, as as position, at as compile, a as jsx$1, _ as __assign, j as jsxs, q as Fragment$1, k as __rest, c as __read, F as FORM_Z_INDEX, p as featheryWindow, t as featheryDoc, L as __spreadArray, U as __values, u as useBorder, D as DROPDOWN_Z_INDEX } from './fthry_index.BD4Gxt6n.js';
2
2
  import * as React from 'react';
3
3
  import { useState, useCallback, forwardRef, useContext, useLayoutEffect, useEffect, createContext, useRef, useMemo, Component, Fragment } from 'react';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.BY88rigX.js';
5
- import { P as Placeholder$2 } from './fthry_Placeholder.WANv8Cql.js';
6
- import { u as useSalesforceSync } from './fthry_useSalesforceSync.DGIYazp_.js';
7
- import { T as Tooltip, O as Overlay } from './fthry_Overlay.xNw0skTQ.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.159qVlX7.js';
5
+ import { P as Placeholder$2 } from './fthry_Placeholder.Dsx8_ezr.js';
6
+ import { u as useSalesforceSync } from './fthry_useSalesforceSync.0EbTmWOM.js';
7
+ import { T as Tooltip, O as Overlay } from './fthry_Overlay.Di0mol1Z.js';
8
8
  import { createPortal } from 'react-dom';
9
9
  import 'react/jsx-runtime';
10
10
  import 'react-dom/client';
@@ -1,9 +1,9 @@
1
- import { k as __rest, c as __read, d as countryData, Q as phoneLib, R as authState, S as firebaseSMSCountries, j as jsxs, a as jsx, _ as __assign, q as Fragment, D as DROPDOWN_Z_INDEX, u as useBorder, T as phoneLibPromise, h as hoverStylesGuard, P as isNum, b as iosScrollOnFocus, r as resetStyles } from './fthry_index.Bad-C-ct.js';
1
+ import { k as __rest, c as __read, d as countryData, Q as phoneLib, R as authState, S as firebaseSMSCountries, j as jsxs, a as jsx, _ as __assign, q as Fragment, D as DROPDOWN_Z_INDEX, u as useBorder, T as phoneLibPromise, h as hoverStylesGuard, P as isNum, b as iosScrollOnFocus, r as resetStyles } from './fthry_index.BD4Gxt6n.js';
2
2
  import { forwardRef, useRef, useState, useEffect, useMemo, memo } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.WANv8Cql.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.BY88rigX.js';
5
- import { O as Overlay } from './fthry_Overlay.xNw0skTQ.js';
6
- import { u as useElementSize } from './fthry_useElementSize.MuVHHknL.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.Dsx8_ezr.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.159qVlX7.js';
5
+ import { O as Overlay } from './fthry_Overlay.Di0mol1Z.js';
6
+ import { u as useElementSize } from './fthry_useElementSize.cLenWN5F.js';
7
7
  import 'react/jsx-runtime';
8
8
  import 'react-dom/client';
9
9
  import 'jszip';
@@ -1,6 +1,6 @@
1
- import { l as __awaiter, m as __generator, L as __spreadArray, c as __read, U as __values, p as featheryWindow, V as loadQRScanner, W as throttle, a as jsx, j as jsxs, _ as __assign, q as Fragment, E as ErrorInput, X as qrPromise } from './fthry_index.Bad-C-ct.js';
1
+ import { l as __awaiter, m as __generator, L as __spreadArray, c as __read, U as __values, p as featheryWindow, V as loadQRScanner, W as throttle, a as jsx, j as jsxs, _ as __assign, q as Fragment, E as ErrorInput, X as qrPromise } from './fthry_index.BD4Gxt6n.js';
2
2
  import React__default, { useEffect, useCallback } from 'react';
3
- import { S as SliderStyles, a as Slider } from './fthry_styles.C0bXoMuz.js';
3
+ import { S as SliderStyles, a as Slider } from './fthry_styles.p1MsrWgL.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react-dom/client';
6
6
  import 'jszip';
@@ -1,4 +1,4 @@
1
- import { j as jsxs, _ as __assign, a as jsx, c as __read, I as isEmptyArray, J as toList, K as useThumbnailData, L as __spreadArray, i as imgMaxSizeStyles, l as __awaiter, m as __generator, M as downloadFile, N as CloseIcon, b as iosScrollOnFocus, F as FORM_Z_INDEX, O as justRemove } from './fthry_index.Bad-C-ct.js';
1
+ import { j as jsxs, _ as __assign, a as jsx, c as __read, I as isEmptyArray, J as toList, K as useThumbnailData, L as __spreadArray, i as imgMaxSizeStyles, l as __awaiter, m as __generator, M as downloadFile, N as CloseIcon, b as iosScrollOnFocus, F as FORM_Z_INDEX, O as justRemove } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useRef, useState, useEffect } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,4 +1,4 @@
1
- import { a as jsx, _ as __assign } from './fthry_index.Bad-C-ct.js';
1
+ import { a as jsx, _ as __assign } from './fthry_index.BD4Gxt6n.js';
2
2
 
3
3
  var ae = [
4
4
  { name: 'Abu Dhabi', code: 'AZ' },
@@ -1,4 +1,4 @@
1
- import { C as getDefaultExportFromCjs } from './fthry_index.Bad-C-ct.js';
1
+ import { C as getDefaultExportFromCjs } from './fthry_index.BD4Gxt6n.js';
2
2
 
3
3
  var propTypes = {exports: {}};
4
4
 
@@ -1,4 +1,4 @@
1
- import { a as jsx, _ as __assign, j as jsxs, c as __read, l as __awaiter, m as __generator, p as featheryWindow, q as Fragment, E as ErrorInput } from './fthry_index.Bad-C-ct.js';
1
+ import { a as jsx, _ as __assign, j as jsxs, c as __read, l as __awaiter, m as __generator, p as featheryWindow, q as Fragment, E as ErrorInput } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useRef, useState, useEffect, memo, useMemo } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,4 +1,4 @@
1
- import { c as __read, j as jsxs$1, _ as __assign, a as jsx$1, F as FORM_Z_INDEX } from './fthry_index.Bad-C-ct.js';
1
+ import { c as __read, j as jsxs$1, _ as __assign, a as jsx$1, F as FORM_Z_INDEX } from './fthry_index.BD4Gxt6n.js';
2
2
  import React__default, { useRef, useEffect, useCallback, useState, useMemo, Fragment } from 'react';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,9 +1,9 @@
1
- import { c as __read, u as useBorder, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, b as iosScrollOnFocus, r as resetStyles, D as DROPDOWN_Z_INDEX, l as __awaiter, m as __generator, o as FeatheryClient, H as debounce } from './fthry_index.Bad-C-ct.js';
1
+ import { c as __read, u as useBorder, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, b as iosScrollOnFocus, r as resetStyles, D as DROPDOWN_Z_INDEX, l as __awaiter, m as __generator, o as FeatheryClient, H as debounce } from './fthry_index.BD4Gxt6n.js';
2
2
  import { useRef, useEffect, memo, useState, useCallback } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.WANv8Cql.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.BY88rigX.js';
5
- import { O as Overlay } from './fthry_Overlay.xNw0skTQ.js';
6
- import { u as useElementSize } from './fthry_useElementSize.MuVHHknL.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.Dsx8_ezr.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.159qVlX7.js';
5
+ import { O as Overlay } from './fthry_Overlay.Di0mol1Z.js';
6
+ import { u as useElementSize } from './fthry_useElementSize.cLenWN5F.js';
7
7
  import 'react/jsx-runtime';
8
8
  import 'react-dom/client';
9
9
  import 'jszip';