@feathery/react 2.41.0 → 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 (100) 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.ZStzPnR-.js → fthry_AssistantChat.AuMTE5ni.js} +4 -4
  6. package/cjs/{fthry_FormControl.DyIaD_oy.js → fthry_FormControl.D82S9LtT.js} +1 -1
  7. package/cjs/{fthry_InlineTooltip.uDegsH9E.js → fthry_InlineTooltip.kdzoP2rc.js} +2 -2
  8. package/cjs/{fthry_Overlay.CUcDMC-q.js → fthry_Overlay.CbC1FjTZ.js} +1 -1
  9. package/cjs/{fthry_PaymentMethodField.sRwR5_61.js → fthry_PaymentMethodField.BxzrLkB0.js} +4 -4
  10. package/cjs/{fthry_Placeholder.BMypFtTl.js → fthry_Placeholder.Di6onpMl.js} +1 -1
  11. package/cjs/{fthry_ShowEyeIcon.BkGAa4Ku.js → fthry_ShowEyeIcon.B5w5N8jm.js} +1 -1
  12. package/cjs/{fthry_highlighted-body-TPN3WLV5.BoFXEr9N.js → fthry_highlighted-body-TPN3WLV5.CB6IWsjv.js} +3 -3
  13. package/cjs/{fthry_index.BfKMhDL9.js → fthry_index.9lXPMg87.js} +1 -1
  14. package/cjs/{fthry_index.y4tmJzGh.js → fthry_index.BM9fkWLL.js} +1 -1
  15. package/cjs/{fthry_index.DeDGU7A8.js → fthry_index.BZUdAFdY.js} +5 -5
  16. package/cjs/{fthry_index.1oEFyAGP.js → fthry_index.BgbTmgMy.js} +5 -5
  17. package/cjs/{fthry_index.BZsqfLAY.js → fthry_index.BoWkmyhH.js} +6 -6
  18. package/cjs/{fthry_index.Di7Giv3P.js → fthry_index.BvLzo0YW.js} +1 -1
  19. package/cjs/{fthry_index.BOC9Xno9.js → fthry_index.BvqRq5KX.js} +4 -4
  20. package/cjs/{fthry_index.CmrAr3T2.js → fthry_index.BvupjK8i.js} +1 -1
  21. package/cjs/{fthry_index.CErEr18j.js → fthry_index.Bz-JA0yl.js} +6 -6
  22. package/cjs/{fthry_index.BKVCeI8M.js → fthry_index.C7-q3RPG.js} +1 -1
  23. package/cjs/{fthry_index.x3euiywy.js → fthry_index.COVcTBk0.js} +2 -2
  24. package/cjs/{fthry_index.BZV0QImG.js → fthry_index.COz6kiMq.js} +5 -5
  25. package/cjs/{fthry_index.ClmLN_OD.js → fthry_index.CfCS_H4E.js} +3 -3
  26. package/cjs/{fthry_index.OWnm3N9F.js → fthry_index.D1jW5KD5.js} +1 -1
  27. package/cjs/{fthry_index.C-vFVU2N.js → fthry_index.D2MsWDhX.js} +2 -2
  28. package/cjs/{fthry_index.CewNeOjM.js → fthry_index.DH8lgbPx.js} +1 -1
  29. package/cjs/{fthry_index.Jpj4Glh5.js → fthry_index.DIK6ws4x.js} +6 -6
  30. package/cjs/{fthry_index.B-UU8i3N.js → fthry_index.DKEljSgi.js} +4 -4
  31. package/cjs/{fthry_index.C4KmumGc.js → fthry_index.DLYQKv1h.js} +8 -8
  32. package/cjs/{fthry_index.C5nqE8kC.js → fthry_index.Dx6_vLXH.js} +151 -51
  33. package/cjs/{fthry_index.B9l-Z_I7.js → fthry_index.DyfArFz1.js} +1 -1
  34. package/cjs/{fthry_index.CuRipLlH.js → fthry_index.J2MkUMO_.js} +1 -1
  35. package/cjs/{fthry_index.792DnHfR.js → fthry_index.YiQCJ_8p.js} +6 -6
  36. package/cjs/{fthry_index.BrR9-bMa.js → fthry_index.uAmtxDHN.js} +5 -5
  37. package/cjs/{fthry_index.ZMlNlPA3.js → fthry_index.wT0xFcFi.js} +3 -3
  38. package/cjs/{fthry_input.CaZ_ApZk.js → fthry_input.Dqe4AZPw.js} +1 -1
  39. package/cjs/{fthry_mermaid-O7DHMXV3.mRK63yr_.js → fthry_mermaid-O7DHMXV3.Hr0ROL9a.js} +3 -3
  40. package/cjs/{fthry_script.hfuKeX0M.js → fthry_script.5FcM2fg9.js} +1 -1
  41. package/cjs/{fthry_styles.Cwk2sjQL.js → fthry_styles.CxfiChN9.js} +1 -1
  42. package/cjs/{fthry_useElementSize.C3TLx2VP.js → fthry_useElementSize.DjNvJMZW.js} +1 -1
  43. package/cjs/{fthry_useSalesforceSync.CnbWPLV2.js → fthry_useSalesforceSync.D_GLzNtJ.js} +1 -1
  44. package/cjs/{fthry_webfontloader.BLyUiSYA.js → fthry_webfontloader.rkfqw_Az.js} +1 -1
  45. package/cjs/index.js +1 -1
  46. package/cjs/utils/featheryClient/index.d.ts +1 -0
  47. package/cjs/utils/featheryClient/index.d.ts.map +1 -1
  48. package/cjs/utils/init.d.ts +6 -1
  49. package/cjs/utils/init.d.ts.map +1 -1
  50. package/dist/Form/index.d.ts.map +1 -1
  51. package/dist/elements/basic/ProgressBarElement/components/StepperBar.d.ts.map +1 -1
  52. package/dist/elements/basic/ProgressBarElement/index.d.ts +1 -1
  53. package/dist/elements/basic/ProgressBarElement/index.d.ts.map +1 -1
  54. package/dist/{fthry_AssistantChat.BuRxZIgB.js → fthry_AssistantChat.9iZnqQQt.js} +4 -4
  55. package/dist/{fthry_FormControl.BHer-tLb.js → fthry_FormControl.aWX059qS.js} +1 -1
  56. package/dist/{fthry_InlineTooltip.f3x8nQox.js → fthry_InlineTooltip.159qVlX7.js} +2 -2
  57. package/dist/{fthry_Overlay.CRG8vJk1.js → fthry_Overlay.Di0mol1Z.js} +1 -1
  58. package/dist/{fthry_PaymentMethodField.PwUhO-uR.js → fthry_PaymentMethodField.C_6Pu8x2.js} +4 -4
  59. package/dist/{fthry_Placeholder.C9-QE3Fn.js → fthry_Placeholder.Dsx8_ezr.js} +1 -1
  60. package/dist/{fthry_ShowEyeIcon.iJEStsbc.js → fthry_ShowEyeIcon.nRVpMPPa.js} +1 -1
  61. package/dist/{fthry_highlighted-body-TPN3WLV5.DjJlbwHG.js → fthry_highlighted-body-TPN3WLV5.x-GmTT4p.js} +3 -3
  62. package/dist/{fthry_index.CWHjYPzF.js → fthry_index.BAs20rGv.js} +2 -2
  63. package/dist/{fthry_index.GsLrKjfr.js → fthry_index.BD4Gxt6n.js} +152 -52
  64. package/dist/{fthry_index.D97WdEJD.js → fthry_index.BKKIUHxP.js} +6 -6
  65. package/dist/{fthry_index.m2htvwhf.js → fthry_index.BOH7m5kT.js} +3 -3
  66. package/dist/{fthry_index.Din0z99q.js → fthry_index.BROaFD02.js} +5 -5
  67. package/dist/{fthry_index.C1zVJ3Wf.js → fthry_index.BZ22DoJF.js} +6 -6
  68. package/dist/{fthry_index.C7BrODdJ.js → fthry_index.BfOeedPy.js} +1 -1
  69. package/dist/{fthry_index.C506fLTN.js → fthry_index.C9wizXBA.js} +4 -4
  70. package/dist/{fthry_index.c25IqSX6.js → fthry_index.CBIXVWL-.js} +1 -1
  71. package/dist/{fthry_index.CJFSHzAe.js → fthry_index.CBiQrmKH.js} +1 -1
  72. package/dist/{fthry_index.DRf21FOT.js → fthry_index.CPAAIiq3.js} +5 -5
  73. package/dist/{fthry_index.DNZw4sNY.js → fthry_index.CPLtkSYO.js} +5 -5
  74. package/dist/{fthry_index.CqLl_Dj_.js → fthry_index.CUWsRf0D.js} +2 -2
  75. package/dist/{fthry_index.kMe5pAne.js → fthry_index.CYYRO1p6.js} +1 -1
  76. package/dist/{fthry_index.zI-Q4p5L.js → fthry_index.CyDzbx5S.js} +1 -1
  77. package/dist/{fthry_index.CKvp6HuY.js → fthry_index.D0eO_jrF.js} +1 -1
  78. package/dist/{fthry_index.PyoWaCZ6.js → fthry_index.D5rdhFrZ.js} +1 -1
  79. package/dist/{fthry_index.BrUrpkIy.js → fthry_index.D8wf4Och.js} +1 -1
  80. package/dist/{fthry_index.HeX_lYBZ.js → fthry_index.DfusnmMH.js} +5 -5
  81. package/dist/{fthry_index.pHCTO9d-.js → fthry_index.DieTiO1R.js} +4 -4
  82. package/dist/{fthry_index.D88l_RDZ.js → fthry_index.Dm5kGSKR.js} +6 -6
  83. package/dist/{fthry_index.Cxgu56Xt.js → fthry_index.Drx2ZVkE.js} +5 -5
  84. package/dist/{fthry_index.DyPvHHnZ.js → fthry_index.Fq2JKey_.js} +1 -1
  85. package/dist/{fthry_index.xs4pBnbE.js → fthry_index.Pp6zhlf_.js} +8 -8
  86. package/dist/{fthry_index.CpkJbhj2.js → fthry_index.Se5JLYs9.js} +3 -3
  87. package/dist/{fthry_input.DVSbIwMV.js → fthry_input.p12lRSx4.js} +1 -1
  88. package/dist/{fthry_mermaid-O7DHMXV3.fc5fAcxr.js → fthry_mermaid-O7DHMXV3.CWWC47_a.js} +3 -3
  89. package/dist/{fthry_script.CK8ajvJd.js → fthry_script.GZmaXrTw.js} +1 -1
  90. package/dist/{fthry_styles.9Pz3F8Ry.js → fthry_styles.p1MsrWgL.js} +1 -1
  91. package/dist/{fthry_useElementSize.DUGbDlSz.js → fthry_useElementSize.cLenWN5F.js} +1 -1
  92. package/dist/{fthry_useSalesforceSync.73AbGgFc.js → fthry_useSalesforceSync.0EbTmWOM.js} +1 -1
  93. package/dist/{fthry_webfontloader.DESOOCJe.js → fthry_webfontloader.DvZgpMoe.js} +1 -1
  94. package/dist/index.js +1 -1
  95. package/dist/utils/featheryClient/index.d.ts +1 -0
  96. package/dist/utils/featheryClient/index.d.ts.map +1 -1
  97. package/dist/utils/init.d.ts +6 -1
  98. package/dist/utils/init.d.ts.map +1 -1
  99. package/package.json +1 -1
  100. package/umd/index.js +1 -1
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
- var FormControl = require('./fthry_FormControl.DyIaD_oy.js');
6
- var index$1 = require('./fthry_index.y4tmJzGh.js');
7
- var InlineTooltip = require('./fthry_InlineTooltip.uDegsH9E.js');
8
- var useSalesforceSync = require('./fthry_useSalesforceSync.CnbWPLV2.js');
5
+ var FormControl = require('./fthry_FormControl.D82S9LtT.js');
6
+ var index$1 = require('./fthry_index.BM9fkWLL.js');
7
+ var InlineTooltip = require('./fthry_InlineTooltip.kdzoP2rc.js');
8
+ var useSalesforceSync = require('./fthry_useSalesforceSync.D_GLzNtJ.js');
9
9
  require('react/jsx-runtime');
10
10
  require('react-dom/client');
11
11
  require('jszip');
12
12
  require('react-dom');
13
- require('./fthry_Overlay.CUcDMC-q.js');
13
+ require('./fthry_Overlay.CbC1FjTZ.js');
14
14
 
15
15
  var applyRadioGroupStyles = function (element, responsiveStyles) {
16
16
  responsiveStyles.addTargets('radioGroup');
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
- var InlineTooltip = require('./fthry_InlineTooltip.uDegsH9E.js');
6
- var useSalesforceSync = require('./fthry_useSalesforceSync.CnbWPLV2.js');
5
+ var InlineTooltip = require('./fthry_InlineTooltip.kdzoP2rc.js');
6
+ var useSalesforceSync = require('./fthry_useSalesforceSync.D_GLzNtJ.js');
7
7
  require('react/jsx-runtime');
8
8
  require('react-dom/client');
9
9
  require('jszip');
10
10
  require('react-dom');
11
- require('./fthry_Overlay.CUcDMC-q.js');
11
+ require('./fthry_Overlay.CbC1FjTZ.js');
12
12
 
13
13
  function ButtonGroupField(_a) {
14
14
  var element = _a.element, responsiveStyles = _a.responsiveStyles, fieldLabel = _a.fieldLabel, inlineError = _a.inlineError, _b = _a.fieldVal, fieldVal = _b === void 0 ? null : _b, _c = _a.repeatIndex, repeatIndex = _c === void 0 ? null : _c, editMode = _a.editMode, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d, _e = _a.elementProps, elementProps = _e === void 0 ? {} : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, children = _a.children;
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.C5nqE8kC.js');
3
+ var index$1 = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.BMypFtTl.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.uDegsH9E.js');
7
- var Overlay = require('./fthry_Overlay.CUcDMC-q.js');
8
- var useElementSize = require('./fthry_useElementSize.C3TLx2VP.js');
9
- var ShowEyeIcon = require('./fthry_ShowEyeIcon.BkGAa4Ku.js');
10
- var input = require('./fthry_input.CaZ_ApZk.js');
5
+ var Placeholder = require('./fthry_Placeholder.Di6onpMl.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.kdzoP2rc.js');
7
+ var Overlay = require('./fthry_Overlay.CbC1FjTZ.js');
8
+ var useElementSize = require('./fthry_useElementSize.DjNvJMZW.js');
9
+ var ShowEyeIcon = require('./fthry_ShowEyeIcon.B5w5N8jm.js');
10
+ var input = require('./fthry_input.Dqe4AZPw.js');
11
11
  require('react/jsx-runtime');
12
12
  require('react-dom/client');
13
13
  require('jszip');
14
14
  require('react-dom');
15
- require('./fthry_index.CmrAr3T2.js');
15
+ require('./fthry_index.BvupjK8i.js');
16
16
 
17
17
  function TextAutocomplete$1(_a) {
18
18
  var _b = _a.allOptions, allOptions = _b === void 0 ? [] : _b, showOptions = _a.showOptions, _c = _a.onSelect, onSelect = _c === void 0 ? function () { } : _c, _d = _a.onHide, onHide = _d === void 0 ? function () { } : _d, _e = _a.onInputFocus, onInputFocus = _e === void 0 ? function () { } : _e, _f = _a.value, value = _f === void 0 ? '' : _f, containerRef = _a.containerRef, responsiveStyles = _a.responsiveStyles, listItemRef = _a.listItemRef, children = _a.children;
@@ -22355,7 +22355,7 @@ var Element$1 = function (_a) {
22355
22355
  if (elementOnView && onViewElements.includes(fieldId))
22356
22356
  basicProps.onView = function (inView) { return elementOnView(fieldId, inView); };
22357
22357
  if (type === 'progress_bar')
22358
- return (jsx$1(Elements.ProgressBarElement, exports.__assign({}, basicProps, { progress: userProgress, curDepth: curDepth, maxDepth: maxDepth, stepKey: activeStep === null || activeStep === void 0 ? void 0 : activeStep.key, changeStep: form.changeStep, runElementActions: runElementActions })));
22358
+ return (jsx$1(Elements.ProgressBarElement, exports.__assign({}, basicProps, { progress: userProgress, curDepth: curDepth, maxDepth: maxDepth, stepKey: activeStep === null || activeStep === void 0 ? void 0 : activeStep.key, runElementActions: runElementActions, client: form.client })));
22359
22359
  else if (type === 'image')
22360
22360
  return jsx$1(Elements.ImageElement, exports.__assign({}, basicProps));
22361
22361
  else if (type === 'video')
@@ -41002,7 +41002,7 @@ function useTrackUserInteraction(formRef, activeStep, stepKey, formName) {
41002
41002
  }, [activeStep, stepKey, formName]);
41003
41003
  }
41004
41004
 
41005
- var LazyAssistantChat = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.ZStzPnR-.js'); }).then(function (n) { return n.AssistantChat; }); });
41005
+ var LazyAssistantChat = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.AuMTE5ni.js'); }).then(function (n) { return n.AssistantChat; }); });
41006
41006
  var AssistantChat = function (props) { return (jsx$1(React.Suspense, exports.__assign({ fallback: null }, { children: jsx$1(LazyAssistantChat, exports.__assign({}, props)) }))); };
41007
41007
 
41008
41008
  var AssistantClient = /** @class */ (function () {
@@ -43732,6 +43732,7 @@ function Form(_a) {
43732
43732
  changeStep: function (nextStepKey) {
43733
43733
  return changeFormStep(nextStepKey, activeStep.key, false);
43734
43734
  },
43735
+ client: client,
43735
43736
  updateFieldValues: updateFieldValues,
43736
43737
  submitCustom: function (values) { return client === null || client === void 0 ? void 0 : client.submitCustom(values); },
43737
43738
  elementOnView: elementOnView,
@@ -43776,8 +43777,7 @@ function Form(_a) {
43776
43777
  else if ([COLLAB_COMPLETED, COLLAB_DIRECT_DISABLED, NO_BUSINESS_EMAIL].includes(formOffReason.current))
43777
43778
  return jsx$1(FormOff, { reason: formOffReason.current, showCTA: false });
43778
43779
  else if (anyFinished) {
43779
- var completeState = formSettings.completionBehavior === 'show_completed_screen' ? (jsx$1(FormOff, { reason: FILLED_OUT, showCTA: formSettings.showBrand })) : null;
43780
- return completeState;
43780
+ return formSettings.completionBehavior === 'show_completed_screen' ? (jsx$1(FormOff, { reason: FILLED_OUT, showCTA: formSettings.showBrand })) : null;
43781
43781
  }
43782
43782
  else if (!activeStep)
43783
43783
  return stepLoader;
@@ -46871,6 +46871,42 @@ var FeatheryClient = /** @class */ (function (_super) {
46871
46871
  });
46872
46872
  });
46873
46873
  };
46874
+ // Lazily fetch the step keys the user has already completed. Queried only
46875
+ // when a stepper element renders, so it stays out of the session payload.
46876
+ FeatheryClient.prototype.fetchCompletedSteps = function () {
46877
+ var _a;
46878
+ return __awaiter$2(this, void 0, void 0, function () {
46879
+ var _b, userId, collaboratorId, overrideUserId, params, url, response, data;
46880
+ return __generator(this, function (_c) {
46881
+ switch (_c.label) {
46882
+ case 0: return [4 /*yield*/, initFormsPromise];
46883
+ case 1:
46884
+ _c.sent();
46885
+ _b = initInfo(), userId = _b.userId, collaboratorId = _b.collaboratorId, overrideUserId = _b.overrideUserId;
46886
+ params = {
46887
+ form_key: this.formKey,
46888
+ override: overrideUserId
46889
+ };
46890
+ if (userId)
46891
+ params.fuser_key = userId;
46892
+ if (collaboratorId)
46893
+ params.collaborator_user = collaboratorId;
46894
+ // @ts-expect-error encodeGetParams returns the encoded query string
46895
+ params = encodeGetParams(params);
46896
+ url = "".concat(API_URL, "panel/step/completion/?").concat(params);
46897
+ return [4 /*yield*/, this._fetch(url, {})];
46898
+ case 2:
46899
+ response = _c.sent();
46900
+ if (!response)
46901
+ return [2 /*return*/, []];
46902
+ return [4 /*yield*/, response.json().catch(function () { return ({}); })];
46903
+ case 3:
46904
+ data = _c.sent();
46905
+ return [2 /*return*/, (_a = data.completed_steps) !== null && _a !== void 0 ? _a : []];
46906
+ }
46907
+ });
46908
+ });
46909
+ };
46874
46910
  FeatheryClient.prototype.fetchSession = function (formPromise, block) {
46875
46911
  var _a, _b;
46876
46912
  if (formPromise === void 0) { formPromise = null; }
@@ -47201,6 +47237,10 @@ var FeatheryClient = /** @class */ (function (_super) {
47201
47237
  return __generator(this, function (_a) {
47202
47238
  if (this.draft)
47203
47239
  return [2 /*return*/];
47240
+ // A 'complete' event means the step was submitted — record it so the
47241
+ // stepper reflects which steps are completed vs merely skipped over.
47242
+ if (eventData.event === 'complete')
47243
+ markStepCompleted(eventData.step_key);
47204
47244
  if (!isInteractionDetected() || this.userEventQueue.isReplayingEvents()) {
47205
47245
  return [2 /*return*/, this.userEventQueue.enqueue(eventData)];
47206
47246
  }
@@ -47554,7 +47594,9 @@ var initState = {
47554
47594
  isTestEnv: false,
47555
47595
  initNoSave: false,
47556
47596
  theme: '',
47557
- region: ''
47597
+ region: '',
47598
+ completedSteps: new Set(),
47599
+ completedStepsLoaded: new Set()
47558
47600
  };
47559
47601
  exports.fieldValues = {};
47560
47602
  var filePathMap = {};
@@ -47606,9 +47648,9 @@ function init(sdkKey, options) {
47606
47648
  if (runningInClient()) {
47607
47649
  // Dynamically load libraries that must be client side
47608
47650
  global.scriptjsLoadPromise = Promise.resolve().then(function () { return require(
47609
- /* webpackChunkName: "scriptjs" */ './fthry_script.hfuKeX0M.js'); }).then(function (n) { return n.script; });
47651
+ /* webpackChunkName: "scriptjs" */ './fthry_script.5FcM2fg9.js'); }).then(function (n) { return n.script; });
47610
47652
  global.webfontloaderPromise = Promise.resolve().then(function () { return require(
47611
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.BLyUiSYA.js'); }).then(function (n) { return n.webfontloader; });
47653
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.rkfqw_Az.js'); }).then(function (n) { return n.webfontloader; });
47612
47654
  // Client-side tracking logic
47613
47655
  if (initState.userTracking === 'cookie') {
47614
47656
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -47753,8 +47795,49 @@ function getFieldValues() {
47753
47795
  // Make a copy so users can't set fieldValues directly
47754
47796
  return exports.__assign({}, exports.fieldValues);
47755
47797
  }
47798
+ function getCompletedStepKeys() {
47799
+ // Make a copy so callers can't mutate the set directly
47800
+ return new Set(initState.completedSteps);
47801
+ }
47802
+ // Record a step as completed once it has been submitted
47803
+ function markStepCompleted(stepKey) {
47804
+ if (stepKey)
47805
+ initState.completedSteps.add(stepKey);
47806
+ }
47807
+ // Fetch the user's completed steps for a form once (deduped per form key) and
47808
+ // seed them into init state. Triggered lazily by the stepper element when it
47809
+ // renders; the stepper re-renders itself once this resolves.
47810
+ function loadCompletedSteps(client) {
47811
+ return __awaiter$2(this, void 0, void 0, function () {
47812
+ var formKey;
47813
+ return __generator(this, function (_a) {
47814
+ switch (_a.label) {
47815
+ case 0:
47816
+ formKey = client === null || client === void 0 ? void 0 : client.formKey;
47817
+ if (!formKey || initState.completedStepsLoaded.has(formKey))
47818
+ return [2 /*return*/];
47819
+ initState.completedStepsLoaded.add(formKey);
47820
+ _a.label = 1;
47821
+ case 1:
47822
+ _a.trys.push([1, 3, , 4]);
47823
+ return [4 /*yield*/, client.fetchCompletedSteps()];
47824
+ case 2:
47825
+ // Merge rather than replace so steps already completed locally aren't
47826
+ // dropped (completion is monotonic — a step never becomes uncompleted)
47827
+ (_a.sent()).forEach(markStepCompleted);
47828
+ return [3 /*break*/, 4];
47829
+ case 3:
47830
+ _a.sent();
47831
+ // Allow a retry on the next render if the request failed
47832
+ initState.completedStepsLoaded.delete(formKey);
47833
+ return [3 /*break*/, 4];
47834
+ case 4: return [2 /*return*/];
47835
+ }
47836
+ });
47837
+ });
47838
+ }
47756
47839
  function logFeatheryBadge() {
47757
- console.log('%c Feathery %c v' + "2.41.0" + ' ', // replaced with real version during build
47840
+ console.log('%c Feathery %c v' + "2.41.1" + ' ', // replaced with real version during build
47758
47841
  '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;');
47759
47842
  }
47760
47843
 
@@ -49269,64 +49352,64 @@ breakpoint) {
49269
49352
 
49270
49353
  var fieldLoaders = {
49271
49354
  AddressLine1: function () {
49272
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.1oEFyAGP.js'); });
49355
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.BgbTmgMy.js'); });
49273
49356
  },
49274
49357
  ButtonGroupField: function () {
49275
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.B-UU8i3N.js'); });
49358
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.DKEljSgi.js'); });
49276
49359
  },
49277
49360
  CheckboxField: function () {
49278
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.y4tmJzGh.js'); });
49361
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.BM9fkWLL.js'); });
49279
49362
  },
49280
49363
  CheckboxGroupField: function () {
49281
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.792DnHfR.js'); });
49364
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.YiQCJ_8p.js'); });
49282
49365
  },
49283
49366
  ColorPickerField: function () {
49284
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.BKVCeI8M.js'); });
49367
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.C7-q3RPG.js'); });
49285
49368
  },
49286
49369
  CustomField: function () {
49287
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.CewNeOjM.js'); });
49370
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.DH8lgbPx.js'); });
49288
49371
  },
49289
49372
  DateSelectorField: function () {
49290
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CErEr18j.js'); });
49373
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.Bz-JA0yl.js'); });
49291
49374
  },
49292
49375
  DropdownField: function () {
49293
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.BZV0QImG.js'); });
49376
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.COz6kiMq.js'); });
49294
49377
  },
49295
49378
  DropdownMultiField: function () {
49296
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.DeDGU7A8.js'); });
49379
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BZUdAFdY.js'); });
49297
49380
  },
49298
49381
  FileUploadField: function () {
49299
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.Di7Giv3P.js'); });
49382
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.BvLzo0YW.js'); });
49300
49383
  },
49301
49384
  MatrixField: function () {
49302
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.ClmLN_OD.js'); });
49385
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.CfCS_H4E.js'); });
49303
49386
  },
49304
49387
  PasswordField: function () {
49305
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.BrR9-bMa.js'); });
49388
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.uAmtxDHN.js'); });
49306
49389
  },
49307
49390
  PaymentMethodField: function () {
49308
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.sRwR5_61.js'); });
49391
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.BxzrLkB0.js'); });
49309
49392
  },
49310
- PhoneField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.BZsqfLAY.js'); }); },
49393
+ PhoneField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.BoWkmyhH.js'); }); },
49311
49394
  PinInputField: function () {
49312
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.BfKMhDL9.js'); });
49395
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.9lXPMg87.js'); });
49313
49396
  },
49314
- QRScanner: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.x3euiywy.js'); }); },
49397
+ QRScanner: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.COVcTBk0.js'); }); },
49315
49398
  RadioButtonGroupField: function () {
49316
49399
  return Promise.resolve().then(function () { return require(
49317
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.Jpj4Glh5.js'); });
49400
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.DIK6ws4x.js'); });
49318
49401
  },
49319
49402
  RatingField: function () {
49320
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.CuRipLlH.js'); });
49403
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.J2MkUMO_.js'); });
49321
49404
  },
49322
49405
  SignatureField: function () {
49323
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.ZMlNlPA3.js'); });
49406
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.wT0xFcFi.js'); });
49324
49407
  },
49325
49408
  SliderField: function () {
49326
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.C-vFVU2N.js'); });
49409
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.D2MsWDhX.js'); });
49327
49410
  },
49328
- TextField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.C4KmumGc.js'); }); },
49329
- TextArea: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.BOC9Xno9.js'); }); }
49411
+ TextField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.DLYQKv1h.js'); }); },
49412
+ TextArea: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.BvqRq5KX.js'); }); }
49330
49413
  };
49331
49414
  var getPositionKey = function (element) { var _a; return ((_a = element.position) === null || _a === void 0 ? void 0 : _a.join(',')) || 'root'; };
49332
49415
  // Share the resolved component between preload and render. A separate
@@ -50239,7 +50322,7 @@ function SegmentBar(_a) {
50239
50322
  }
50240
50323
 
50241
50324
  var CIRCLE_SIZE = 28;
50242
- var CONNECTOR_GAP = 6;
50325
+ var CONNECTOR_GAP = 4;
50243
50326
  function isFieldTruthy(fieldKey) {
50244
50327
  var val = getFieldValues()[fieldKey];
50245
50328
  if (Array.isArray(val))
@@ -50255,7 +50338,8 @@ function isStepVisible(step) {
50255
50338
  }
50256
50339
  function StepperBar(_a) {
50257
50340
  var _b, _c;
50258
- 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;
50341
+ var _d;
50342
+ 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;
50259
50343
  var barStyles = styles.getTarget('bar');
50260
50344
  var showLabels = textPlacement !== 'none';
50261
50345
  var visibleStepConfigs = stepConfigs.filter(isStepVisible);
@@ -50263,10 +50347,16 @@ function StepperBar(_a) {
50263
50347
  var activeStep = stepKey
50264
50348
  ? Math.max(0, visibleStepConfigs.findIndex(function (s) { return s.step_key === stepKey; }))
50265
50349
  : 0;
50350
+ var completedStepKeys = getCompletedStepKeys();
50266
50351
  var mainDim = vertical ? 'height' : 'width';
50267
50352
  var crossAlign = vertical ? 'alignItems' : 'justifyContent';
50353
+ // Halo around the active step's circle so it reads as the current step even
50354
+ // though it shares the filled bar color with completed steps.
50355
+ var activeRingColor = (_d = barStyles.backgroundColor) !== null && _d !== void 0 ? _d : '#888';
50268
50356
  var circleStyleFor = function (isCompleted, isActive) {
50269
- if (isActive || isCompleted)
50357
+ if (isActive)
50358
+ return exports.__assign(exports.__assign({}, barStyles), { color: '#fff', boxShadow: "0 0 0 2px #fff, 0 0 0 4px ".concat(activeRingColor) });
50359
+ if (isCompleted)
50270
50360
  return exports.__assign(exports.__assign({}, barStyles), { color: '#fff' });
50271
50361
  return { backgroundColor: '#e9ecef', color: '#888' };
50272
50362
  };
@@ -50276,10 +50366,13 @@ function StepperBar(_a) {
50276
50366
  var renderNodes = function () {
50277
50367
  return steps.map(function (_, index) {
50278
50368
  var _a;
50279
- var isCompleted = index < activeStep;
50280
50369
  var isActive = index === activeStep;
50281
50370
  var isLast = index === steps.length - 1;
50282
50371
  var sKey = (_a = visibleStepConfigs === null || visibleStepConfigs === void 0 ? void 0 : visibleStepConfigs[index]) === null || _a === void 0 ? void 0 : _a.step_key;
50372
+ // A step is completed only if it was actually submitted. Steps skipped
50373
+ // over (navigated past without submitting) stay uncompleted even when
50374
+ // they sit behind the current step.
50375
+ var isCompleted = !!sKey && completedStepKeys.has(sKey);
50283
50376
  // With all-step navigation on, any step other than the current one is
50284
50377
  // clickable; otherwise only completed (already-visited) steps are.
50285
50378
  var isClickable = !!onStepClick &&
@@ -50299,7 +50392,9 @@ function StepperBar(_a) {
50299
50392
  marginLeft: "".concat(CONNECTOR_GAP, "px"),
50300
50393
  marginRight: "".concat(CONNECTOR_GAP, "px")
50301
50394
  };
50302
- return (jsxs(React.Fragment, { children: [jsx$1("div", exports.__assign({ css: exports.__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: exports.__assign(exports.__assign({}, connectorStyle), (isCompleted ? barStyles : { backgroundColor: '#e9ecef' })) }))] }, index));
50395
+ return (jsxs(React.Fragment, { children: [jsx$1("div", exports.__assign({ css: exports.__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: exports.__assign(exports.__assign({}, connectorStyle), (index < activeStep
50396
+ ? barStyles
50397
+ : { backgroundColor: '#e9ecef' })) }))] }, index));
50303
50398
  });
50304
50399
  };
50305
50400
  var renderLabelItems = function () {
@@ -50355,25 +50450,30 @@ function applyProgressBarStyles(responsiveStyles) {
50355
50450
  }
50356
50451
  function ProgressBarElement(_a) {
50357
50452
  var _b, _c, _d, _e, _f, _g;
50358
- 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;
50453
+ 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;
50359
50454
  var styles = React.useMemo(function () { return applyProgressBarStyles(responsiveStyles); }, [responsiveStyles]);
50455
+ var _l = __read(React.useReducer(function (x) { return x + 1; }, 0), 2), rerender = _l[1];
50456
+ var isStepper = !!((_b = element.properties) === null || _b === void 0 ? void 0 : _b.stepper);
50457
+ // Fetch prior step completion the first time a stepper renders (deduped per
50458
+ // form inside loadCompletedSteps), then re-render this stepper to show it
50459
+ React.useEffect(function () {
50460
+ if (isStepper)
50461
+ loadCompletedSteps(client).then(function () { return rerender(); });
50462
+ }, [isStepper]);
50360
50463
  var vertical = element.styles.bar_direction === 'vertical';
50361
50464
  var containerProps = exports.__assign({ css: exports.__assign(exports.__assign({ display: 'flex', flexDirection: 'column', position: 'relative', width: '100%' }, (vertical && { height: '100%' })), styles.getTarget('barContainer')) }, elementProps);
50362
- if ((_b = element.properties) === null || _b === void 0 ? void 0 : _b.stepper) {
50363
- // When navigation to all steps is enabled, clicking a step validates and
50364
- // submits the current step before navigating to the clicked step; otherwise
50365
- // only already-visited steps are clickable and navigation happens directly.
50465
+ if (isStepper) {
50466
+ // Clicking a step navigates to it via a NEXT action. When navigation to all
50467
+ // steps is enabled, the current step is validated & submitted first;
50468
+ // otherwise only already-visited steps are clickable
50366
50469
  var allowAllNavigation = !!((_c = element.properties) === null || _c === void 0 ? void 0 : _c.navigate_to_all_steps);
50367
- var onStepClick = allowAllNavigation
50368
- ? function (targetStepKey) {
50369
- return runElementActions({
50370
- element: element,
50371
- elementType: 'progress_bar',
50372
- actions: [{ type: ACTION_NEXT, next_step_key: targetStepKey }],
50373
- submit: true
50374
- });
50375
- }
50376
- : changeStep;
50470
+ var onStepClick = function (targetStepKey) {
50471
+ return runElementActions({
50472
+ element: element,
50473
+ elementType: 'progress_bar',
50474
+ actions: [{ type: ACTION_NEXT, next_step_key: targetStepKey }]
50475
+ });
50476
+ };
50377
50477
  return (jsxs("div", exports.__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 })] })));
50378
50478
  }
50379
50479
  var userProgress, userSegments;
@@ -50557,7 +50657,7 @@ function ElementSkeleton(_a) {
50557
50657
  }
50558
50658
  var templateObject_1;
50559
50659
 
50560
- var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.OWnm3N9F.js'); }); });
50660
+ var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.D1jW5KD5.js'); }); });
50561
50661
  var Basic = {
50562
50662
  ImageElement: ImageElement,
50563
50663
  VideoElement: VideoElement,
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
 
5
5
  var ae = [
6
6
  { name: 'Abu Dhabi', code: 'AZ' },
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
5
  require('react/jsx-runtime');
6
6
  require('react-dom/client');
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.C5nqE8kC.js');
3
+ var index$1 = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
- var FormControl = require('./fthry_FormControl.DyIaD_oy.js');
6
- var index = require('./fthry_index.y4tmJzGh.js');
7
- var InlineTooltip = require('./fthry_InlineTooltip.uDegsH9E.js');
8
- var useSalesforceSync = require('./fthry_useSalesforceSync.CnbWPLV2.js');
5
+ var FormControl = require('./fthry_FormControl.D82S9LtT.js');
6
+ var index = require('./fthry_index.BM9fkWLL.js');
7
+ var InlineTooltip = require('./fthry_InlineTooltip.kdzoP2rc.js');
8
+ var useSalesforceSync = require('./fthry_useSalesforceSync.D_GLzNtJ.js');
9
9
  require('react/jsx-runtime');
10
10
  require('react-dom/client');
11
11
  require('jszip');
12
12
  require('react-dom');
13
- require('./fthry_Overlay.CUcDMC-q.js');
13
+ require('./fthry_Overlay.CbC1FjTZ.js');
14
14
 
15
15
  var applyCheckboxGroupStyles = function (element, responsiveStyles) {
16
16
  responsiveStyles.addTargets('checkboxGroup');
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.C5nqE8kC.js');
3
+ var index$1 = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.BMypFtTl.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.uDegsH9E.js');
7
- var ShowEyeIcon = require('./fthry_ShowEyeIcon.BkGAa4Ku.js');
5
+ var Placeholder = require('./fthry_Placeholder.Di6onpMl.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.kdzoP2rc.js');
7
+ var ShowEyeIcon = require('./fthry_ShowEyeIcon.B5w5N8jm.js');
8
8
  require('react/jsx-runtime');
9
9
  require('react-dom/client');
10
10
  require('jszip');
11
11
  require('react-dom');
12
- require('./fthry_Overlay.CUcDMC-q.js');
12
+ require('./fthry_Overlay.CbC1FjTZ.js');
13
13
 
14
14
  function PasswordField(_a) {
15
15
  var _b;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
- var index$1 = require('./fthry_index.CmrAr3T2.js');
5
+ var index$1 = require('./fthry_index.BvupjK8i.js');
6
6
  require('react/jsx-runtime');
7
7
  require('react-dom/client');
8
8
  require('jszip');
@@ -1479,7 +1479,7 @@ function SignatureField(_a) {
1479
1479
  React.useEffect(function () {
1480
1480
  if (!global.webfontloaderPromise)
1481
1481
  global.webfontloaderPromise = Promise.resolve().then(function () { return require(
1482
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.BLyUiSYA.js'); }).then(function (n) { return n.webfontloader; });
1482
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.rkfqw_Az.js'); }).then(function (n) { return n.webfontloader; });
1483
1483
  global.webfontloaderPromise.then(function (WebFont) {
1484
1484
  WebFont.load({ google: { families: ['La Belle Aurore'] } });
1485
1485
  });
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('./fthry_index.CmrAr3T2.js');
4
+ var index = require('./fthry_index.BvupjK8i.js');
5
5
 
6
6
  /** Checks if value is string */
7
7
  function isString(str) {
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var AssistantChat = require('./fthry_AssistantChat.ZStzPnR-.js');
4
- require('./fthry_index.C5nqE8kC.js');
3
+ var AssistantChat = require('./fthry_AssistantChat.AuMTE5ni.js');
4
+ require('./fthry_index.Dx6_vLXH.js');
5
5
  require('react/jsx-runtime');
6
6
  require('react');
7
7
  require('react-dom/client');
8
8
  require('jszip');
9
9
  require('react-dom');
10
10
  require('./fthry_clsx.BtxeOLZW.js');
11
- require('./fthry_index.B9l-Z_I7.js');
11
+ require('./fthry_index.DyfArFz1.js');
12
12
 
13
13
 
14
14
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
 
5
5
  function _mergeNamespaces(n, m) {
6
6
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('./fthry_index.C5nqE8kC.js');
4
+ var index = require('./fthry_index.Dx6_vLXH.js');
5
5
  var ReactDOM = require('react-dom');
6
6
 
7
7
  function _interopNamespaceDefault(e) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
5
 
6
6
  function useElementSize(anchorRef) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
  var React = require('react');
5
5
 
6
6
  function useSalesforceSync(salesforceSync, editMode) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
 
5
5
  function _mergeNamespaces(n, m) {
6
6
  m.forEach(function (e) {
package/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.C5nqE8kC.js');
3
+ var index = require('./fthry_index.Dx6_vLXH.js');
4
4
  require('react-dom/client');
5
5
  require('react/jsx-runtime');
6
6
  require('react');
@@ -37,6 +37,7 @@ export default class FeatheryClient extends IntegrationClient {
37
37
  _loadFormPackages(res: any): void;
38
38
  fetchCacheForm(formLanguage?: string): Promise<any>;
39
39
  fetchForm(initVals: any, language?: string): Promise<any>;
40
+ fetchCompletedSteps(): Promise<string[]>;
40
41
  fetchSession(formPromise?: null, block?: boolean): Promise<any[]>;
41
42
  submitAuthInfo({ authId, authData, isStytchTemplateKey }: any): Promise<any>;
42
43
  /**