@feathery/react 2.21.0 → 2.22.0

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 (106) hide show
  1. package/cjs/Form/index.d.ts.map +1 -1
  2. package/cjs/elements/components/FormOff.d.ts +5 -4
  3. package/cjs/elements/components/FormOff.d.ts.map +1 -1
  4. package/cjs/{fthry_FormControl.DFkoNS7m.js → fthry_FormControl.C6RfrG4j.js} +1 -1
  5. package/cjs/{fthry_InlineTooltip.BqrUvYsf.js → fthry_InlineTooltip.DXjYqPtD.js} +2 -2
  6. package/cjs/{fthry_Overlay.BogxM8_x.js → fthry_Overlay.C4w6Cb6j.js} +1 -1
  7. package/cjs/{fthry_PaymentMethodField.O7j1bFxf.js → fthry_PaymentMethodField.D05feokK.js} +4 -4
  8. package/cjs/{fthry_Placeholder.CeDmXoEH.js → fthry_Placeholder.D7Yh7mU2.js} +1 -1
  9. package/cjs/{fthry_ShowEyeIcon.DB6Y0oJU.js → fthry_ShowEyeIcon.CiLTfgAK.js} +1 -1
  10. package/cjs/{fthry_index.Br3HlsO5.js → fthry_index.2sunYeoj.js} +1 -1
  11. package/cjs/{fthry_index.DpdkY1k7.js → fthry_index.6gJGxnEh.js} +1 -1
  12. package/cjs/{fthry_index.DhqYB5dK.js → fthry_index.B7fwm2Qq.js} +1 -1
  13. package/cjs/{fthry_index.v9OD_-hq.js → fthry_index.BJT2EG9q.js} +3 -3
  14. package/cjs/{fthry_index.DzXZ-Rb_.js → fthry_index.BNdR1Zvy.js} +3 -3
  15. package/cjs/{fthry_index.BA-WFjGc.js → fthry_index.BO3AY9qR.js} +6 -6
  16. package/cjs/{fthry_index.BVa6RVKk.js → fthry_index.BoacvsbM.js} +6 -6
  17. package/cjs/{fthry_index.CkiBXgLp.js → fthry_index.BqZlc7T3.js} +5 -5
  18. package/cjs/{fthry_index.Cy-T4HCz.js → fthry_index.C-ANSPxY.js} +8 -8
  19. package/cjs/{fthry_index.C3o0YyvM.js → fthry_index.C7ja1s3P.js} +1 -1
  20. package/cjs/{fthry_index.C5Pj-Zfh.js → fthry_index.CIxKm2W7.js} +6 -6
  21. package/cjs/{fthry_index.DUau2wvs.js → fthry_index.CRdtsgYY.js} +4 -4
  22. package/cjs/{fthry_index.GU6DtzCY.js → fthry_index.CofrHdeg.js} +2 -2
  23. package/cjs/{fthry_index.CrI80enn.js → fthry_index.CvLykMCw.js} +5 -5
  24. package/cjs/{fthry_index.D2zIjosg.js → fthry_index.Cy80QFQZ.js} +2 -2
  25. package/cjs/{fthry_index.BnndrG3W.js → fthry_index.D3t9MrC8.js} +1 -1
  26. package/cjs/{fthry_index.DRNB-tCT.js → fthry_index.D9UgyAK0.js} +5 -5
  27. package/cjs/{fthry_index.DRz5hODR.js → fthry_index.DBJtTx9s.js} +5 -5
  28. package/cjs/{fthry_index.-2aBRBrW.js → fthry_index.DiSY7Ac7.js} +1 -1
  29. package/cjs/{fthry_index.WqEOU2O1.js → fthry_index.DjWVnEr6.js} +4 -4
  30. package/cjs/{fthry_index.DMEipzfW.js → fthry_index.Dl8zGsAp.js} +1 -1
  31. package/cjs/{fthry_index.J8P_vp8o.js → fthry_index.avrbgACA.js} +1 -1
  32. package/cjs/{fthry_index.CiPmoBTf.js → fthry_index.dpVLfqGZ.js} +4 -4
  33. package/cjs/{fthry_index.B6dz6_D2.js → fthry_index.lrVIrRLc.js} +201 -66
  34. package/cjs/{fthry_input.CAh1dh3q.js → fthry_input.CHp_Jap5.js} +1 -1
  35. package/cjs/{fthry_script.BTrurqF7.js → fthry_script.C2pt_bUm.js} +1 -1
  36. package/cjs/{fthry_styles.BPdPCGs1.js → fthry_styles.DFm8HxDr.js} +1 -1
  37. package/cjs/{fthry_useElementSize.8u2TF8ax.js → fthry_useElementSize.BroSkGyG.js} +1 -1
  38. package/cjs/{fthry_useSalesforceSync.DViFa05Y.js → fthry_useSalesforceSync.DiWBOGl_.js} +1 -1
  39. package/cjs/{fthry_webfontloader.BUWRlWxA.js → fthry_webfontloader.Du37duiu.js} +1 -1
  40. package/cjs/index.d.ts +6 -0
  41. package/cjs/index.d.ts.map +1 -1
  42. package/cjs/index.js +1 -1
  43. package/cjs/utils/featheryClient/index.d.ts +6 -0
  44. package/cjs/utils/featheryClient/index.d.ts.map +1 -1
  45. package/cjs/utils/featheryClient/integrationClient.d.ts.map +1 -1
  46. package/cjs/utils/featheryClient/utils.d.ts +1 -0
  47. package/cjs/utils/featheryClient/utils.d.ts.map +1 -1
  48. package/cjs/utils/formContext.d.ts +6 -0
  49. package/cjs/utils/formContext.d.ts.map +1 -1
  50. package/cjs/utils/init.d.ts +1 -0
  51. package/cjs/utils/init.d.ts.map +1 -1
  52. package/cjs/utils/offlineRequestHandler.d.ts.map +1 -1
  53. package/dist/Form/index.d.ts.map +1 -1
  54. package/dist/elements/components/FormOff.d.ts +5 -4
  55. package/dist/elements/components/FormOff.d.ts.map +1 -1
  56. package/dist/{fthry_FormControl.DqD-t0-5.js → fthry_FormControl.BR7z833q.js} +1 -1
  57. package/dist/{fthry_InlineTooltip.CiQE9axD.js → fthry_InlineTooltip.D5rXgJxn.js} +2 -2
  58. package/dist/{fthry_Overlay.DJD2-5uG.js → fthry_Overlay.C0T4Ihiz.js} +1 -1
  59. package/dist/{fthry_PaymentMethodField.DA4PTzPY.js → fthry_PaymentMethodField.BnHykb0-.js} +4 -4
  60. package/dist/{fthry_Placeholder.CpBJo_eu.js → fthry_Placeholder.OebdDszh.js} +1 -1
  61. package/dist/{fthry_ShowEyeIcon.Czn5uNUy.js → fthry_ShowEyeIcon.5ZGg8TFI.js} +1 -1
  62. package/dist/{fthry_index.BWMAYNPO.js → fthry_index.B-HK4FAf.js} +5 -5
  63. package/dist/{fthry_index.BYgv3YMr.js → fthry_index.BVBupEyX.js} +4 -4
  64. package/dist/{fthry_index.BLZHG42F.js → fthry_index.Bg6jDqRN.js} +1 -1
  65. package/dist/{fthry_index.CXHlEhQc.js → fthry_index.BkvB1fWy.js} +1 -1
  66. package/dist/{fthry_index.Z1du2f7I.js → fthry_index.Bsx6VyJi.js} +2 -2
  67. package/dist/{fthry_index.DYcFA0C9.js → fthry_index.CAO_boB_.js} +6 -6
  68. package/dist/{fthry_index.DmQO11yP.js → fthry_index.CDRQrd84.js} +201 -66
  69. package/dist/{fthry_index.CIQ5zg4E.js → fthry_index.CLjO1Hq8.js} +1 -1
  70. package/dist/{fthry_index.eRbqPcOr.js → fthry_index.CQIPge2V.js} +2 -2
  71. package/dist/{fthry_index.DTuI9CtE.js → fthry_index.CZr2zxPE.js} +1 -1
  72. package/dist/{fthry_index.BrMeQ_Gw.js → fthry_index.Ca6YzvQ4.js} +3 -3
  73. package/dist/{fthry_index.rW2ARWsn.js → fthry_index.CbNESu0U.js} +5 -5
  74. package/dist/{fthry_index.D7Bb8rb7.js → fthry_index.CbxKTwce.js} +3 -3
  75. package/dist/{fthry_index.B2MXQT_J.js → fthry_index.CenbmeTZ.js} +4 -4
  76. package/dist/{fthry_index.D_6kZUzg.js → fthry_index.Cjz0TFbJ.js} +8 -8
  77. package/dist/{fthry_index.VO6RxzHm.js → fthry_index.Cog2BDNb.js} +1 -1
  78. package/dist/{fthry_index.BJvOP75r.js → fthry_index.D33p0Cu9.js} +5 -5
  79. package/dist/{fthry_index.BoctyUX4.js → fthry_index.D91kaNEu.js} +1 -1
  80. package/dist/{fthry_index.BVcwTwxi.js → fthry_index.DSXLISe1.js} +1 -1
  81. package/dist/{fthry_index.CyYMckiX.js → fthry_index.DSpMogdQ.js} +6 -6
  82. package/dist/{fthry_index.BUaA4R_x.js → fthry_index.DgH--mO0.js} +1 -1
  83. package/dist/{fthry_index.BSvRoTKl.js → fthry_index.DomytyFl.js} +4 -4
  84. package/dist/{fthry_index.B2IqSOfR.js → fthry_index.NZiAUoKR.js} +5 -5
  85. package/dist/{fthry_index.BmyvNxXV.js → fthry_index.VasUvj87.js} +6 -6
  86. package/dist/{fthry_input.nuQO1Hyv.js → fthry_input.mf5Eisx1.js} +1 -1
  87. package/dist/{fthry_script.C5Ls40h5.js → fthry_script.DYkmIi0j.js} +1 -1
  88. package/dist/{fthry_styles.BrNC9imC.js → fthry_styles.DctHU6BX.js} +1 -1
  89. package/dist/{fthry_useElementSize.CSBdwiEQ.js → fthry_useElementSize.B_En_KWY.js} +1 -1
  90. package/dist/{fthry_useSalesforceSync.02x1VaLB.js → fthry_useSalesforceSync.wfhYAUgy.js} +1 -1
  91. package/dist/{fthry_webfontloader.DuXmFIW7.js → fthry_webfontloader.sudLWRnv.js} +1 -1
  92. package/dist/index.d.ts +6 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +1 -1
  95. package/dist/utils/featheryClient/index.d.ts +6 -0
  96. package/dist/utils/featheryClient/index.d.ts.map +1 -1
  97. package/dist/utils/featheryClient/integrationClient.d.ts.map +1 -1
  98. package/dist/utils/featheryClient/utils.d.ts +1 -0
  99. package/dist/utils/featheryClient/utils.d.ts.map +1 -1
  100. package/dist/utils/formContext.d.ts +6 -0
  101. package/dist/utils/formContext.d.ts.map +1 -1
  102. package/dist/utils/init.d.ts +1 -0
  103. package/dist/utils/init.d.ts.map +1 -1
  104. package/dist/utils/offlineRequestHandler.d.ts.map +1 -1
  105. package/package.json +2 -2
  106. package/umd/index.js +1 -1
@@ -5849,6 +5849,35 @@ var api$1 = {};
5849
5849
 
5850
5850
  var utils = {};
5851
5851
 
5852
+ var cookies = {};
5853
+
5854
+ var hasRequiredCookies;
5855
+
5856
+ function requireCookies () {
5857
+ if (hasRequiredCookies) return cookies;
5858
+ hasRequiredCookies = 1;
5859
+ Object.defineProperty(cookies, "__esModule", { value: true });
5860
+ cookies.getCookie = getCookie;
5861
+ /**
5862
+ * Get a cookie value
5863
+ *
5864
+ * @param name - The name of the cookie to retrieve
5865
+ * @returns The cookie value or null if not found or no browser
5866
+ */
5867
+ function getCookie(name) {
5868
+ if (typeof document === 'undefined')
5869
+ return null;
5870
+ const value = `; ${document.cookie}`;
5871
+ const parts = value.split(`; ${name}=`);
5872
+ if (parts.length === 2) {
5873
+ const cookieValue = parts.pop()?.split(';').shift();
5874
+ return cookieValue || null;
5875
+ }
5876
+ return null;
5877
+ }
5878
+ return cookies;
5879
+ }
5880
+
5852
5881
  var error = {};
5853
5882
 
5854
5883
  var hasRequiredError;
@@ -5857,7 +5886,7 @@ function requireError () {
5857
5886
  if (hasRequiredError) return error;
5858
5887
  hasRequiredError = 1;
5859
5888
  Object.defineProperty(error, "__esModule", { value: true });
5860
- error.ValidationError = error.SDKKeyError = error.FormConflictError = error.FetchError = void 0;
5889
+ error.ValidationError = error.FormAuthenticationError = error.SDKKeyError = error.FormConflictError = error.FetchError = void 0;
5861
5890
  error.parseAPIError = parseAPIError;
5862
5891
  class FetchError extends Error {
5863
5892
  constructor(message, payload = null) {
@@ -5881,6 +5910,13 @@ function requireError () {
5881
5910
  }
5882
5911
  }
5883
5912
  error.SDKKeyError = SDKKeyError;
5913
+ class FormAuthenticationError extends Error {
5914
+ constructor(message = 'User does not have access to this form') {
5915
+ super(message);
5916
+ this.name = 'FormAuthenticationError';
5917
+ }
5918
+ }
5919
+ error.FormAuthenticationError = FormAuthenticationError;
5884
5920
  class ValidationError extends Error {
5885
5921
  constructor(message) {
5886
5922
  super(message);
@@ -5988,6 +6024,7 @@ function requireUtils () {
5988
6024
  utils.apiFetch = apiFetch;
5989
6025
  utils.createHttpHelpers = createHttpHelpers;
5990
6026
  const api_1 = requireApi();
6027
+ const cookies_1 = requireCookies();
5991
6028
  const error_1 = requireError();
5992
6029
  const setup_1 = requireSetup();
5993
6030
  function getApiUrl() {
@@ -6026,6 +6063,10 @@ function requireUtils () {
6026
6063
  throw new error_1.FetchError(payload.toString());
6027
6064
  case 401:
6028
6065
  throw new error_1.SDKKeyError();
6066
+ case 403:
6067
+ payload = await response.clone().json();
6068
+ const message = (0, error_1.parseAPIError)(payload);
6069
+ throw new error_1.FormAuthenticationError(message);
6029
6070
  case 404:
6030
6071
  throw new error_1.FetchError("Can't find object");
6031
6072
  case 409:
@@ -6039,14 +6080,21 @@ function requireUtils () {
6039
6080
  async function apiFetch(sdkKey, url, options, parseResponse = true) {
6040
6081
  options = options ?? {};
6041
6082
  const { headers, ...otherOptions } = options;
6083
+ // Read JWT from cookie
6084
+ const sessionJwt = (0, cookies_1.getCookie)('feathery_session_token');
6085
+ const requestHeaders = {
6086
+ Authorization: 'Token ' + sdkKey,
6087
+ ...headers,
6088
+ };
6089
+ // Add session JWT if available
6090
+ if (sessionJwt) {
6091
+ requestHeaders['X-Feathery-Session'] = sessionJwt;
6092
+ }
6042
6093
  options = {
6043
6094
  cache: 'no-store',
6044
6095
  // write requests must succeed so data is tracked
6045
6096
  keepalive: ['POST', 'PATCH', 'PUT'].includes(options.method),
6046
- headers: {
6047
- Authorization: 'Token ' + sdkKey,
6048
- ...headers,
6049
- },
6097
+ headers: requestHeaders,
6050
6098
  ...otherOptions,
6051
6099
  };
6052
6100
  const { internalSecretKey } = (0, setup_1.getEnvironment)();
@@ -6389,7 +6437,7 @@ function requireDist$2 () {
6389
6437
  hasRequiredDist$2 = 1;
6390
6438
  (function (exports$1) {
6391
6439
  Object.defineProperty(exports$1, "__esModule", { value: true });
6392
- exports$1.setEnvironment = exports$1.parseAPIError = exports$1.FormConflictError = exports$1.SDKKeyError = exports$1.FetchError = exports$1.getS3Url = exports$1.getCdnUrl = exports$1.getStaticUrl = exports$1.getApiUrl = exports$1.createHttpHelpers = exports$1.checkResponseSuccess = exports$1.apiFetch = exports$1.sendEmail = exports$1.pollForCompletion = exports$1.inviteFormCollaborator = exports$1.getQuikAccountForms = exports$1.getQuikForms = exports$1.getQuikFormRoles = exports$1.generateQuikEnvelopes = exports$1.generateFormDocuments = exports$1.forwardInboxEmail = exports$1.extractAIDocument = exports$1.customRolloutAction = void 0;
6440
+ exports$1.setEnvironment = exports$1.parseAPIError = exports$1.FormConflictError = exports$1.FormAuthenticationError = exports$1.SDKKeyError = exports$1.FetchError = exports$1.getS3Url = exports$1.getCdnUrl = exports$1.getStaticUrl = exports$1.getApiUrl = exports$1.createHttpHelpers = exports$1.checkResponseSuccess = exports$1.apiFetch = exports$1.sendEmail = exports$1.pollForCompletion = exports$1.inviteFormCollaborator = exports$1.getQuikAccountForms = exports$1.getQuikForms = exports$1.getQuikFormRoles = exports$1.generateQuikEnvelopes = exports$1.generateFormDocuments = exports$1.forwardInboxEmail = exports$1.extractAIDocument = exports$1.customRolloutAction = void 0;
6393
6441
  var api_1 = requireApi();
6394
6442
  Object.defineProperty(exports$1, "customRolloutAction", { enumerable: true, get: function () { return api_1.customRolloutAction; } });
6395
6443
  Object.defineProperty(exports$1, "extractAIDocument", { enumerable: true, get: function () { return api_1.extractAIDocument; } });
@@ -6413,6 +6461,7 @@ function requireDist$2 () {
6413
6461
  var error_1 = requireError();
6414
6462
  Object.defineProperty(exports$1, "FetchError", { enumerable: true, get: function () { return error_1.FetchError; } });
6415
6463
  Object.defineProperty(exports$1, "SDKKeyError", { enumerable: true, get: function () { return error_1.SDKKeyError; } });
6464
+ Object.defineProperty(exports$1, "FormAuthenticationError", { enumerable: true, get: function () { return error_1.FormAuthenticationError; } });
6416
6465
  Object.defineProperty(exports$1, "FormConflictError", { enumerable: true, get: function () { return error_1.FormConflictError; } });
6417
6466
  Object.defineProperty(exports$1, "parseAPIError", { enumerable: true, get: function () { return error_1.parseAPIError; } });
6418
6467
  var setup_1 = requireSetup();
@@ -6432,6 +6481,16 @@ function handleFormConflict() {
6432
6481
  untrackUnload(true);
6433
6482
  featheryWindow().alert('This form has been updated. Please fill it out again.');
6434
6483
  location.reload();
6484
+ }
6485
+ function handleFormAuthenticationError(errorMessage) {
6486
+ untrackUnload(true);
6487
+ // Store the authentication error in initState so Form component can show FormOff
6488
+ initState.authenticationError =
6489
+ errorMessage || 'Access to this form is restricted';
6490
+ // Trigger a re-render by updating remount callbacks
6491
+ Object.values(initState.remountCallbacks).forEach(function (callback) {
6492
+ callback === null || callback === void 0 ? void 0 : callback();
6493
+ });
6435
6494
  }
6436
6495
 
6437
6496
  // Constants for the IndexedDB database
@@ -6931,9 +6990,9 @@ var OfflineRequestHandler = /** @class */ (function () {
6931
6990
  };
6932
6991
  var attemptRequest = function () { return __awaiter$2(_this, void 0, void 0, function () {
6933
6992
  var attempts, response, error_2, nextDelay;
6934
- var _a, _b, _c, _d, _e;
6935
- return __generator(this, function (_f) {
6936
- switch (_f.label) {
6993
+ var _a, _b, _c, _d, _e, _f;
6994
+ return __generator(this, function (_g) {
6995
+ switch (_g.label) {
6937
6996
  case 0:
6938
6997
  attempts = (_a = request.retryAttempts) !== null && _a !== void 0 ? _a : 0;
6939
6998
  // Ensure exhausted retries are marked as failed before being skipped
@@ -6941,54 +7000,58 @@ var OfflineRequestHandler = /** @class */ (function () {
6941
7000
  markFileUploadRetryFailure((_b = request.metadata) === null || _b === void 0 ? void 0 : _b.fieldKey);
6942
7001
  return [2 /*return*/];
6943
7002
  }
6944
- _f.label = 1;
7003
+ _g.label = 1;
6945
7004
  case 1:
6946
- if (!(attempts < this.maxRetryAttempts)) return [3 /*break*/, 13];
6947
- _f.label = 2;
7005
+ if (!(attempts < this.maxRetryAttempts)) return [3 /*break*/, 15];
7006
+ _g.label = 2;
6948
7007
  case 2:
6949
- _f.trys.push([2, 6, , 12]);
7008
+ _g.trys.push([2, 6, , 14]);
6950
7009
  return [4 /*yield*/, fetch(url, fetchOptions)];
6951
7010
  case 3:
6952
- response = _f.sent();
7011
+ response = _g.sent();
6953
7012
  return [4 /*yield*/, distExports$2.checkResponseSuccess(response)];
6954
7013
  case 4:
6955
- _f.sent();
7014
+ _g.sent();
6956
7015
  markFileUploadRetrySuccess((_c = request.metadata) === null || _c === void 0 ? void 0 : _c.fieldKey);
6957
7016
  return [4 /*yield*/, this.removeRequest(key)];
6958
7017
  case 5:
6959
- _f.sent();
7018
+ _g.sent();
6960
7019
  return [2 /*return*/];
6961
7020
  case 6:
6962
- error_2 = _f.sent();
6963
- if (error_2 instanceof distExports$2.FormConflictError) {
6964
- handleFormConflict();
6965
- return [2 /*return*/];
6966
- }
7021
+ error_2 = _g.sent();
7022
+ if (!(error_2 instanceof distExports$2.FormConflictError)) return [3 /*break*/, 8];
7023
+ handleFormConflict();
7024
+ markFileUploadRetrySuccess((_d = request.metadata) === null || _d === void 0 ? void 0 : _d.fieldKey);
7025
+ return [4 /*yield*/, this.removeRequest(key)];
7026
+ case 7:
7027
+ _g.sent();
7028
+ return [2 /*return*/];
7029
+ case 8:
6967
7030
  attempts++;
6968
7031
  return [4 /*yield*/, this.updateRetryAttempts(key, attempts)];
6969
- case 7:
6970
- _f.sent();
6971
- if (!navigator.onLine) return [3 /*break*/, 9];
7032
+ case 9:
7033
+ _g.sent();
7034
+ if (!navigator.onLine) return [3 /*break*/, 11];
6972
7035
  nextDelay = this.getExponentialDelay(attempts);
6973
7036
  if (attempts >= this.maxRetryAttempts) {
6974
7037
  // Skip alerting when a specific field upload already surfaces its own retry error
6975
- if (this.errorCallback && !((_d = request.metadata) === null || _d === void 0 ? void 0 : _d.fieldKey)) {
7038
+ if (this.errorCallback && !((_e = request.metadata) === null || _e === void 0 ? void 0 : _e.fieldKey)) {
6976
7039
  this.errorCallback("Failed to submit after ".concat(this.maxRetryAttempts, " attempts. Please check your connection and try again."));
6977
7040
  }
6978
- markFileUploadRetryFailure((_e = request.metadata) === null || _e === void 0 ? void 0 : _e.fieldKey);
7041
+ markFileUploadRetryFailure((_f = request.metadata) === null || _f === void 0 ? void 0 : _f.fieldKey);
6979
7042
  return [2 /*return*/];
6980
7043
  }
6981
7044
  return [4 /*yield*/, this.delay(nextDelay)];
6982
- case 8:
6983
- _f.sent();
6984
- return [3 /*break*/, 11];
6985
- case 9: return [4 /*yield*/, this.onlineAndReplayed()];
6986
7045
  case 10:
6987
- _f.sent();
7046
+ _g.sent();
7047
+ return [3 /*break*/, 13];
7048
+ case 11: return [4 /*yield*/, this.onlineAndReplayed()];
7049
+ case 12:
7050
+ _g.sent();
6988
7051
  return [2 /*return*/];
6989
- case 11: return [3 /*break*/, 12];
6990
- case 12: return [3 /*break*/, 1];
6991
- case 13: return [2 /*return*/];
7052
+ case 13: return [3 /*break*/, 14];
7053
+ case 14: return [3 /*break*/, 1];
7054
+ case 15: return [2 /*return*/];
6992
7055
  }
6993
7056
  });
6994
7057
  }); };
@@ -7359,12 +7422,20 @@ var IntegrationClient = /** @class */ (function () {
7359
7422
  if (parseResponse === void 0) { parseResponse = true; }
7360
7423
  if (propagateNetworkErrors === void 0) { propagateNetworkErrors = false; }
7361
7424
  var sdkKey = initInfo().sdkKey;
7425
+ // Stop making requests if authentication error has occurred
7426
+ if (initState.authenticationError) {
7427
+ return Promise.resolve(undefined);
7428
+ }
7362
7429
  return distExports$2.apiFetch(sdkKey, url, options, parseResponse).catch(function (e) {
7363
7430
  var _a;
7364
7431
  if (e instanceof distExports$2.FormConflictError) {
7365
7432
  handleFormConflict();
7366
7433
  return;
7367
7434
  }
7435
+ if (e instanceof distExports$2.FormAuthenticationError) {
7436
+ handleFormAuthenticationError(e.message);
7437
+ return;
7438
+ }
7368
7439
  // Ignore TypeErrors if form has redirected because `fetch` in
7369
7440
  // Safari will error after redirect
7370
7441
  var ignore = ((_a = _this.ignoreNetworkErrors) === null || _a === void 0 ? void 0 : _a.current) ||
@@ -20201,7 +20272,7 @@ var messages = (_a = {},
20201
20272
  _a[NO_BUSINESS_EMAIL] = 'Activate forms by adding an email from a company domain to your Feathery account',
20202
20273
  _a);
20203
20274
  function FormOff(_a) {
20204
- var _b = _a.width, width = _b === void 0 ? 400 : _b, _c = _a.reason, reason = _c === void 0 ? CLOSED : _c, _d = _a.showCTA, showCTA = _d === void 0 ? true : _d;
20275
+ var _b = _a.width, width = _b === void 0 ? 400 : _b, _c = _a.reason, reason = _c === void 0 ? CLOSED : _c, _d = _a.showCTA, showCTA = _d === void 0 ? true : _d, message = _a.message;
20205
20276
  return (jsxs("div", __assign({ css: {
20206
20277
  width: '100%',
20207
20278
  height: '100%',
@@ -20218,7 +20289,7 @@ function FormOff(_a) {
20218
20289
  lineHeight: '32px',
20219
20290
  textAlign: 'center',
20220
20291
  margin: '50px 0'
20221
- } }, { children: messages[reason] })), showCTA && (jsx$1("button", __assign({ css: {
20292
+ } }, { children: message || messages[reason] })), showCTA && (jsx$1("button", __assign({ css: {
20222
20293
  border: '1px solid #e2626e',
20223
20294
  color: '#e2626e',
20224
20295
  outline: 'none',
@@ -22697,6 +22768,10 @@ var getFormContext = function (formUuid) {
22697
22768
  setCollaboratorAsCompleted: function (templateId) {
22698
22769
  return formState.client.setCollaboratorAsCompleted(templateId);
22699
22770
  },
22771
+ dataHubAction: function (_a) {
22772
+ var hubId = _a.hubId, operation = _a.operation, entryId = _a.entryId, data = _a.data;
22773
+ return formState.client.dataHubAction({ hubId: hubId, operation: operation, entryId: entryId, data: data });
22774
+ },
22700
22775
  generateDocuments: function (_a) {
22701
22776
  var documentIds = _a.documentIds, download = _a.download, merge = _a.merge;
22702
22777
  return formState.client.generateDocuments({ documentIds: documentIds, download: download, merge: merge });
@@ -40655,7 +40730,7 @@ function Form(_a) {
40655
40730
  var runElementActions = function (_a) {
40656
40731
  var actions = _a.actions, element = _a.element, elementType = _a.elementType, _b = _a.submit, submit = _b === void 0 ? false : _b, _c = _a.setElementError, setElementError = _c === void 0 ? function () { } : _c, _d = _a.onAsyncEnd, onAsyncEnd = _d === void 0 ? function () { } : _d, textSpanStart = _a.textSpanStart, textSpanEnd = _a.textSpanEnd, triggerPayload = _a.triggerPayload;
40657
40732
  return __awaiter$2(_this, void 0, void 0, function () {
40658
- var id, metadata, trigger, submitPromise, pendingFileKeys, invalid, hasNext, submissionResult, error_3, _e, stepPromise, flowOnSuccess, actionTypes, runAction, i, hasExtractions, hasEnvelopeGeneration, _loop_1, state_1;
40733
+ var id, metadata, trigger, submitPromise, pendingFileKeys, invalid, hasNext, submissionResult, error_3, _e, stepPromise, preOpenedWindows, flowOnSuccess, actionTypes, runAction, i, hasExtractions, hasEnvelopeGeneration, _loop_1, state_1;
40659
40734
  var _this = this;
40660
40735
  var _f, _g, _h, _j, _k;
40661
40736
  return __generator(this, function (_l) {
@@ -40762,6 +40837,18 @@ function Form(_a) {
40762
40837
  // Adjust action order to prioritize certain actions and
40763
40838
  // to ensure all actions are run as expected
40764
40839
  actions = prioritizeActions(actions);
40840
+ preOpenedWindows = new Map();
40841
+ if (isIOS()) {
40842
+ actions.forEach(function (action, idx) {
40843
+ if (action.type === ACTION_URL && action.open_tab) {
40844
+ var win = featheryWindow().open('about:blank', '_blank');
40845
+ if (win) {
40846
+ win.opener = null; // Prevent reverse tabnabbing
40847
+ preOpenedWindows.set(idx, win);
40848
+ }
40849
+ }
40850
+ });
40851
+ }
40765
40852
  flowOnSuccess = function (index) { return function () { return __awaiter$2(_this, void 0, void 0, function () {
40766
40853
  var running;
40767
40854
  return __generator(this, function (_a) {
@@ -40813,7 +40900,7 @@ function Form(_a) {
40813
40900
  initializeEnvelopeGeneration(actions);
40814
40901
  }
40815
40902
  _loop_1 = function () {
40816
- var action, type, container, container, personaMeta, url, eventData, phoneNum, e_6, phoneNum, e_7, emailAddress, e_8, pinKey, pin, params, hasErr_1, prom, email, e_9, auth, loginStep, actionSuccess, val, valid, val, invitees, res, collabKey, newVals, e_10, e_11, extractions, _loop_2, state_2, data, errorEntry, e_12, envelopeId, data, envAction, url, eventData, files, newValues, e_13, payload, e_14, key_1, val, servar_1, hiddenFieldType, destVal, setToDefaultValue, curIndex, defaultVal, i_1, newValues, phoneNum, silentVeriResult, key, newValues, e_15, phoneNum, phoneType, key, newValues, e_16, phoneNum, e_17, pinKey, pin, pinMatch, e_18;
40903
+ var action, type, container, container, personaMeta, url, preOpened, eventData, phoneNum, e_6, phoneNum, e_7, emailAddress, e_8, pinKey, pin, params, hasErr_1, prom, email, e_9, auth, loginStep, actionSuccess, val, valid, val, invitees, res, collabKey, newVals, e_10, e_11, extractions, _loop_2, state_2, data, errorEntry, e_12, envelopeId, data, envAction, url, eventData, files, newValues, e_13, payload, e_14, key_1, val, servar_1, hiddenFieldType, destVal, setToDefaultValue, curIndex, defaultVal, i_1, newValues, phoneNum, silentVeriResult, key, newValues, e_15, phoneNum, phoneType, key, newValues, e_16, phoneNum, e_17, pinKey, pin, pinMatch, e_18;
40817
40904
  var _m, _o, _p, _q, _r, _s, _t;
40818
40905
  return __generator(this, function (_u) {
40819
40906
  switch (_u.label) {
@@ -40890,8 +40977,16 @@ function Form(_a) {
40890
40977
  if (url) {
40891
40978
  if (!url.includes(':'))
40892
40979
  url = 'https://' + url;
40893
- if (action.open_tab)
40894
- openTab(url);
40980
+ if (action.open_tab) {
40981
+ preOpened = preOpenedWindows.get(i);
40982
+ if (preOpened) {
40983
+ preOpened.location.href = url;
40984
+ preOpenedWindows.delete(i);
40985
+ }
40986
+ else {
40987
+ openTab(url);
40988
+ }
40989
+ }
40895
40990
  }
40896
40991
  if (!!action.open_tab) return [3 /*break*/, 21];
40897
40992
  eventData = {
@@ -41469,6 +41564,8 @@ function Form(_a) {
41469
41564
  i++;
41470
41565
  return [3 /*break*/, 9];
41471
41566
  case 12:
41567
+ // Close any pre-opened windows that weren't used (e.g., validation failed)
41568
+ preOpenedWindows.forEach(function (win) { return win === null || win === void 0 ? void 0 : win.close(); });
41472
41569
  if (i < actions.length) {
41473
41570
  elementClicks[id] = false;
41474
41571
  clearButtonActionState();
@@ -41590,6 +41687,10 @@ function Form(_a) {
41590
41687
  };
41591
41688
  handleFormComplete().then(redirectForm);
41592
41689
  }, [anyFinished]);
41690
+ // Form authentication error (403)
41691
+ if (initState.authenticationError) {
41692
+ return (jsx$1(FormOff, { reason: CLOSED, message: initState.authenticationError, showCTA: false }));
41693
+ }
41593
41694
  // Form is turned off
41594
41695
  if (formOffReason.current === CLOSED)
41595
41696
  return jsx$1(FormOff, { showCTA: formSettings.showBrand });
@@ -45670,6 +45771,38 @@ var FeatheryClient = /** @class */ (function (_super) {
45670
45771
  });
45671
45772
  });
45672
45773
  };
45774
+ FeatheryClient.prototype.dataHubAction = function (_a) {
45775
+ var hubId = _a.hubId, operation = _a.operation, entryId = _a.entryId, data = _a.data;
45776
+ return __awaiter$2(this, void 0, void 0, function () {
45777
+ var baseUrl, url, response, _b, _c;
45778
+ return __generator(this, function (_d) {
45779
+ switch (_d.label) {
45780
+ case 0:
45781
+ baseUrl = new URL(distExports$2.getApiUrl()).origin;
45782
+ url = "".concat(baseUrl, "/api/hub/").concat(hubId, "/action/");
45783
+ return [4 /*yield*/, this._fetch(url, {
45784
+ headers: { 'Content-Type': 'application/json' },
45785
+ method: 'POST',
45786
+ body: JSON.stringify({ operation: operation, entry_id: entryId, data: data })
45787
+ }, false)];
45788
+ case 1:
45789
+ response = _d.sent();
45790
+ if (!response) return [3 /*break*/, 5];
45791
+ if (response.status === 204)
45792
+ return [2 /*return*/, null];
45793
+ if (!response.ok) return [3 /*break*/, 3];
45794
+ return [4 /*yield*/, response.json()];
45795
+ case 2: return [2 /*return*/, _d.sent()];
45796
+ case 3:
45797
+ _b = Error;
45798
+ _c = distExports$2.parseAPIError;
45799
+ return [4 /*yield*/, response.json()];
45800
+ case 4: throw _b.apply(void 0, [_c.apply(void 0, [_d.sent()])]);
45801
+ case 5: return [2 /*return*/];
45802
+ }
45803
+ });
45804
+ });
45805
+ };
45673
45806
  return FeatheryClient;
45674
45807
  }(IntegrationClient));
45675
45808
 
@@ -45721,6 +45854,8 @@ function init(sdkKey, options) {
45721
45854
  return Promise.resolve((_a = initState.userId) !== null && _a !== void 0 ? _a : ''); // can only be initialized one time per load
45722
45855
  logFeatheryBadge();
45723
45856
  initState.initialized = true;
45857
+ // Clear any previous authentication errors on new initialization
45858
+ initState.authenticationError = undefined;
45724
45859
  initState.sdkKey = sdkKey;
45725
45860
  if (options._enterpriseRegion)
45726
45861
  initState.region = options._enterpriseRegion.toLowerCase();
@@ -45747,9 +45882,9 @@ function init(sdkKey, options) {
45747
45882
  if (runningInClient()) {
45748
45883
  // Dynamically load libraries that must be client side
45749
45884
  global.scriptjsLoadPromise = import(
45750
- /* webpackChunkName: "scriptjs" */ './fthry_script.C5Ls40h5.js').then(function (n) { return n.s; });
45885
+ /* webpackChunkName: "scriptjs" */ './fthry_script.DYkmIi0j.js').then(function (n) { return n.s; });
45751
45886
  global.webfontloaderPromise = import(
45752
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DuXmFIW7.js').then(function (n) { return n.w; });
45887
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.sudLWRnv.js').then(function (n) { return n.w; });
45753
45888
  // Client-side tracking logic
45754
45889
  if (initState.userTracking === 'cookie') {
45755
45890
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -45895,7 +46030,7 @@ function getFieldValues() {
45895
46030
  return __assign({}, fieldValues);
45896
46031
  }
45897
46032
  function logFeatheryBadge() {
45898
- console.log('%c Feathery %c v' + "2.21.0" + ' ', // replaced with real version during build
46033
+ console.log('%c Feathery %c v' + "2.22.0" + ' ', // replaced with real version during build
45899
46034
  '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;');
45900
46035
  }
45901
46036
 
@@ -47323,39 +47458,39 @@ breakpoint) {
47323
47458
  return styles.getTarget('inner-container', undefined, viewport === 'mobile');
47324
47459
  };
47325
47460
 
47326
- var AddressLine1 = lazy(function () { return import(/* webpackChunkName: "AddressField" */ './fthry_index.BJvOP75r.js'); });
47327
- var ButtonGroupField = lazy(function () { return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.BSvRoTKl.js'); });
47328
- var CheckboxField = lazy(function () { return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.BLZHG42F.js'); });
47461
+ var AddressLine1 = lazy(function () { return import(/* webpackChunkName: "AddressField" */ './fthry_index.D33p0Cu9.js'); });
47462
+ var ButtonGroupField = lazy(function () { return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.DomytyFl.js'); });
47463
+ var CheckboxField = lazy(function () { return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.Bg6jDqRN.js'); });
47329
47464
  var CheckboxGroupField = lazy(function () {
47330
- return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.CyYMckiX.js');
47465
+ return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.DSpMogdQ.js');
47331
47466
  });
47332
- var ColorPickerField = lazy(function () { return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.BoctyUX4.js'); });
47333
- var CustomField = lazy(function () { return import(/* webpackChunkName: "CustomField" */ './fthry_index.BUaA4R_x.js'); });
47467
+ var ColorPickerField = lazy(function () { return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.D91kaNEu.js'); });
47468
+ var CustomField = lazy(function () { return import(/* webpackChunkName: "CustomField" */ './fthry_index.DgH--mO0.js'); });
47334
47469
  var DateSelectorField = lazy(function () {
47335
- return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.DYcFA0C9.js');
47470
+ return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CAO_boB_.js');
47336
47471
  });
47337
- var DropdownField = lazy(function () { return import(/* webpackChunkName: "DropdownField" */ './fthry_index.BYgv3YMr.js'); });
47472
+ var DropdownField = lazy(function () { return import(/* webpackChunkName: "DropdownField" */ './fthry_index.BVBupEyX.js'); });
47338
47473
  var DropdownMultiField = lazy(function () {
47339
- return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BWMAYNPO.js');
47474
+ return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.B-HK4FAf.js');
47340
47475
  });
47341
- var FileUploadField = lazy(function () { return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.VO6RxzHm.js'); });
47342
- var MatrixField = lazy(function () { return import(/* webpackChunkName: "MatrixField" */ './fthry_index.BrMeQ_Gw.js'); });
47343
- var PasswordField = lazy(function () { return import(/* webpackChunkName: "PasswordField" */ './fthry_index.rW2ARWsn.js'); });
47476
+ var FileUploadField = lazy(function () { return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.Cog2BDNb.js'); });
47477
+ var MatrixField = lazy(function () { return import(/* webpackChunkName: "MatrixField" */ './fthry_index.Ca6YzvQ4.js'); });
47478
+ var PasswordField = lazy(function () { return import(/* webpackChunkName: "PasswordField" */ './fthry_index.CbNESu0U.js'); });
47344
47479
  var PaymentMethodField = lazy(function () {
47345
- return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DA4PTzPY.js');
47480
+ return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.BnHykb0-.js');
47346
47481
  });
47347
- var PhoneField = lazy(function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.B2IqSOfR.js'); });
47348
- var PinInputField = lazy(function () { return import(/* webpackChunkName: "PinInputField" */ './fthry_index.DTuI9CtE.js'); });
47349
- var QRScanner = lazy(function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.Z1du2f7I.js'); });
47482
+ var PhoneField = lazy(function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.NZiAUoKR.js'); });
47483
+ var PinInputField = lazy(function () { return import(/* webpackChunkName: "PinInputField" */ './fthry_index.CZr2zxPE.js'); });
47484
+ var QRScanner = lazy(function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.Bsx6VyJi.js'); });
47350
47485
  var RadioButtonGroupField = lazy(function () {
47351
47486
  return import(
47352
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.BmyvNxXV.js');
47487
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.VasUvj87.js');
47353
47488
  });
47354
- var RatingField = lazy(function () { return import(/* webpackChunkName: "RatingField" */ './fthry_index.BVcwTwxi.js'); });
47355
- var SignatureField = lazy(function () { return import(/* webpackChunkName: "SignatureField" */ './fthry_index.D7Bb8rb7.js'); });
47356
- var SliderField = lazy(function () { return import(/* webpackChunkName: "SliderField" */ './fthry_index.eRbqPcOr.js'); });
47357
- var TextField = lazy(function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.D_6kZUzg.js'); });
47358
- var TextArea = lazy(function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.B2MXQT_J.js'); });
47489
+ var RatingField = lazy(function () { return import(/* webpackChunkName: "RatingField" */ './fthry_index.DSXLISe1.js'); });
47490
+ var SignatureField = lazy(function () { return import(/* webpackChunkName: "SignatureField" */ './fthry_index.CbxKTwce.js'); });
47491
+ var SliderField = lazy(function () { return import(/* webpackChunkName: "SliderField" */ './fthry_index.CQIPge2V.js'); });
47492
+ var TextField = lazy(function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.Cjz0TFbJ.js'); });
47493
+ var TextArea = lazy(function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.CenbmeTZ.js'); });
47359
47494
  var Fields = {
47360
47495
  AddressLine1: AddressLine1,
47361
47496
  ButtonGroupField: ButtonGroupField,
@@ -48295,7 +48430,7 @@ function ElementSkeleton(_a) {
48295
48430
  }
48296
48431
  var templateObject_1;
48297
48432
 
48298
- var TableElement = lazy(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.CXHlEhQc.js'); });
48433
+ var TableElement = lazy(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.BkvB1fWy.js'); });
48299
48434
  var Basic = {
48300
48435
  ImageElement: ImageElement,
48301
48436
  VideoElement: VideoElement,
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs } from './fthry_index.DmQO11yP.js';
1
+ import { g as getDefaultExportFromCjs } from './fthry_index.CDRQrd84.js';
2
2
 
3
3
  var propTypes = {exports: {}};
4
4
 
@@ -1,6 +1,6 @@
1
- import { b as __read, a as jsxs, _ as __assign, j as jsx, h as hoverStylesGuard } from './fthry_index.DmQO11yP.js';
1
+ import { b as __read, a as jsxs, _ as __assign, j as jsx, h as hoverStylesGuard } from './fthry_index.CDRQrd84.js';
2
2
  import { useState, useEffect } from 'react';
3
- import { S as SliderStyles, a as Slider } from './fthry_styles.BrNC9imC.js';
3
+ import { S as SliderStyles, a as Slider } from './fthry_styles.DctHU6BX.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react-dom/client';
6
6
  import 'jszip';
@@ -1,4 +1,4 @@
1
- import { t as featheryWindow, a as jsxs, _ as __assign, j as jsx, b as __read, u as useBorder, h as hoverStylesGuard, aj as isNum } from './fthry_index.DmQO11yP.js';
1
+ import { t as featheryWindow, a as jsxs, _ as __assign, j as jsx, b as __read, u as useBorder, h as hoverStylesGuard, aj as isNum } from './fthry_index.CDRQrd84.js';
2
2
  import { useRef, useCallback, useEffect, useState } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,7 +1,7 @@
1
- import { b as __read, j as jsx, F as Fragment, x as isMobile, a as jsxs, _ as __assign, q as FORM_Z_INDEX, i as iosScrollOnFocus } from './fthry_index.DmQO11yP.js';
1
+ import { b as __read, j as jsx, F as Fragment, x as isMobile, a as jsxs, _ as __assign, q as FORM_Z_INDEX, i as iosScrollOnFocus } from './fthry_index.CDRQrd84.js';
2
2
  import { useState, useRef, useMemo } from 'react';
3
- import { O as Overlay, T as Tooltip } from './fthry_Overlay.DJD2-5uG.js';
4
- import { applyCheckableInputStyles, composeCheckableInputStyle } from './fthry_index.BLZHG42F.js';
3
+ import { O as Overlay, T as Tooltip } from './fthry_Overlay.C0T4Ihiz.js';
4
+ import { applyCheckableInputStyles, composeCheckableInputStyle } from './fthry_index.Bg6jDqRN.js';
5
5
  import 'react/jsx-runtime';
6
6
  import 'react-dom/client';
7
7
  import 'jszip';
@@ -1,13 +1,13 @@
1
- import { u as useBorder, b as __read, a as jsxs, _ as __assign, h as hoverStylesGuard, j as jsx, i as iosScrollOnFocus, q as FORM_Z_INDEX, r as resetStyles } from './fthry_index.DmQO11yP.js';
1
+ import { u as useBorder, b as __read, a as jsxs, _ as __assign, h as hoverStylesGuard, j as jsx, i as iosScrollOnFocus, q as FORM_Z_INDEX, r as resetStyles } from './fthry_index.CDRQrd84.js';
2
2
  import { memo, useState, useRef } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.CpBJo_eu.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.CiQE9axD.js';
5
- import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.Czn5uNUy.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.OebdDszh.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.D5rXgJxn.js';
5
+ import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.5ZGg8TFI.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.DJD2-5uG.js';
10
+ import './fthry_Overlay.C0T4Ihiz.js';
11
11
 
12
12
  function PasswordField(_a) {
13
13
  var _b;
@@ -1,6 +1,6 @@
1
- import { f as featheryDoc, an as devicePixelRatio, g as getDefaultExportFromCjs, b as __read, a as jsxs, j as jsx, _ as __assign, F as Fragment, k as __awaiter, l as __generator, ao as toBase64, n as debounce, ap as MODAL_Z_INDEX, ab as CloseIcon, aq as dataURLToFile, q as FORM_Z_INDEX, E as ErrorInput } from './fthry_index.DmQO11yP.js';
1
+ import { f as featheryDoc, an as devicePixelRatio, g as getDefaultExportFromCjs, b as __read, a as jsxs, j as jsx, _ as __assign, F as Fragment, k as __awaiter, l as __generator, ao as toBase64, n as debounce, ap as MODAL_Z_INDEX, ab as CloseIcon, aq as dataURLToFile, q as FORM_Z_INDEX, E as ErrorInput } from './fthry_index.CDRQrd84.js';
2
2
  import React__default, { Component, forwardRef, useState, useRef, useImperativeHandle, useEffect, useCallback, Suspense } from 'react';
3
- import { P as PropTypes } from './fthry_index.CIQ5zg4E.js';
3
+ import { P as PropTypes } from './fthry_index.CLjO1Hq8.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react-dom/client';
6
6
  import 'jszip';
@@ -1433,7 +1433,7 @@ function SignatureField(_a) {
1433
1433
  useEffect(function () {
1434
1434
  if (!global.webfontloaderPromise)
1435
1435
  global.webfontloaderPromise = import(
1436
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DuXmFIW7.js').then(function (n) { return n.w; });
1436
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.sudLWRnv.js').then(function (n) { return n.w; });
1437
1437
  global.webfontloaderPromise.then(function (WebFont) {
1438
1438
  WebFont.load({ google: { families: ['La Belle Aurore'] } });
1439
1439
  });
@@ -1,12 +1,12 @@
1
- import { b as __read, u as useBorder, a as jsxs, _ as __assign, h as hoverStylesGuard, j as jsx, r as resetStyles } from './fthry_index.DmQO11yP.js';
1
+ import { b as __read, u as useBorder, a as jsxs, _ as __assign, h as hoverStylesGuard, j as jsx, r as resetStyles } from './fthry_index.CDRQrd84.js';
2
2
  import { memo, useState, useRef } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.CpBJo_eu.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.CiQE9axD.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.OebdDszh.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.D5rXgJxn.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.DJD2-5uG.js';
9
+ import './fthry_Overlay.C0T4Ihiz.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,16 +1,16 @@
1
- import { a as jsxs, _ as __assign, j as jsx, D as DROPDOWN_Z_INDEX, b as __read, u as useBorder, as as getFieldValue, s as stringifyWithNull, h as hoverStylesGuard, i as iosScrollOnFocus, q as FORM_Z_INDEX, r as resetStyles, at as emailPatternStr } from './fthry_index.DmQO11yP.js';
1
+ import { a as jsxs, _ as __assign, j as jsx, D as DROPDOWN_Z_INDEX, b as __read, u as useBorder, as as getFieldValue, s as stringifyWithNull, h as hoverStylesGuard, i as iosScrollOnFocus, q as FORM_Z_INDEX, r as resetStyles, at as emailPatternStr } from './fthry_index.CDRQrd84.js';
2
2
  import { memo, useRef, useState } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.CpBJo_eu.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.CiQE9axD.js';
5
- import { O as Overlay } from './fthry_Overlay.DJD2-5uG.js';
6
- import { u as useElementSize } from './fthry_useElementSize.CSBdwiEQ.js';
7
- import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.Czn5uNUy.js';
8
- import { a as IMaskInput } from './fthry_input.nuQO1Hyv.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.OebdDszh.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.D5rXgJxn.js';
5
+ import { O as Overlay } from './fthry_Overlay.C0T4Ihiz.js';
6
+ import { u as useElementSize } from './fthry_useElementSize.B_En_KWY.js';
7
+ import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.5ZGg8TFI.js';
8
+ import { a as IMaskInput } from './fthry_input.mf5Eisx1.js';
9
9
  import 'react/jsx-runtime';
10
10
  import 'react-dom/client';
11
11
  import 'jszip';
12
12
  import 'react-dom';
13
- import './fthry_index.CIQ5zg4E.js';
13
+ import './fthry_index.CLjO1Hq8.js';
14
14
 
15
15
  function TextAutocomplete(_a) {
16
16
  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;
@@ -1,4 +1,4 @@
1
- import { a as jsxs, _ as __assign, j as jsx, b as __read, a7 as isEmptyArray, a8 as toList, a9 as useThumbnailData, e as __spreadArray, o as imgMaxSizeStyles, k as __awaiter, l as __generator, aa as downloadFile, ab as CloseIcon, i as iosScrollOnFocus, q as FORM_Z_INDEX, ac as justRemove } from './fthry_index.DmQO11yP.js';
1
+ import { a as jsxs, _ as __assign, j as jsx, b as __read, a7 as isEmptyArray, a8 as toList, a9 as useThumbnailData, e as __spreadArray, o as imgMaxSizeStyles, k as __awaiter, l as __generator, aa as downloadFile, ab as CloseIcon, i as iosScrollOnFocus, q as FORM_Z_INDEX, ac as justRemove } from './fthry_index.CDRQrd84.js';
2
2
  import { useRef, useState, useEffect } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';